From 739c65c54cb0e957df5e9b76f93fb02554e5cac3 Mon Sep 17 00:00:00 2001 From: davidovski Date: Wed, 4 May 2022 23:52:30 +0100 Subject: moved everything to new file formatting --- repo/media/alsa-firmware.xibuild | 25 - repo/media/alsa-firmware/alsa-firmware.xibuild | 25 + .../use-uint32_t-instead-u_int32_t.patch | 52 + repo/media/alsa-lib.xibuild | 18 - repo/media/alsa-lib/alsa-lib.xibuild | 18 + repo/media/alsa-plugins.xibuild | 18 - repo/media/alsa-plugins/alsa-plugins.xibuild | 18 + repo/media/alsa-tools.xibuild | 36 - repo/media/alsa-tools/alsa-tools.xibuild | 36 + repo/media/alsa-utils.xibuild | 21 - repo/media/alsa-utils/alsa-utils.xibuild | 21 + repo/media/aom.xibuild | 24 - repo/media/aom/aom.xibuild | 24 + repo/media/aom/fix-stack-size-e53da0b.patch | 78 + repo/media/audiofile.xibuild | 29 - repo/media/audiofile/audiofile.xibuild | 29 + repo/media/babl.xibuild | 26 - repo/media/babl/babl.xibuild | 26 + repo/media/babl/meson-0.60.patch | 12 + repo/media/dav1d.xibuild | 30 - repo/media/dav1d/dav1d.xibuild | 30 + repo/media/dav1d/fix-asmcheck.patch | 63 + repo/media/exiv2.xibuild | 23 - repo/media/exiv2/exiv2.xibuild | 23 + repo/media/faac.xibuild | 19 - repo/media/faac/faac.xibuild | 19 + repo/media/faad2.xibuild | 19 - repo/media/faad2/faad2.xibuild | 19 + repo/media/fdk-aac.xibuild | 18 - repo/media/fdk-aac/fdk-aac.xibuild | 18 + repo/media/ffmpeg.xibuild | 63 - .../0001-ffbuild-libversion.sh-add-shebang.patch | 24 + ...libavutil-clean-up-unused-FF_SYMVER-macro.patch | 55 + .../add-av_stream_get_first_dts-for-chromium.patch | 45 + repo/media/ffmpeg/ffmpeg.xibuild | 63 + repo/media/ffmpeg4.xibuild | 64 - .../0001-ffbuild-libversion.sh-add-shebang.patch | 24 + ...libavutil-clean-up-unused-FF_SYMVER-macro.patch | 55 + repo/media/ffmpeg4/ffmpeg4.xibuild | 64 + repo/media/flac.xibuild | 20 - repo/media/flac/flac.xibuild | 20 + repo/media/gexiv2.xibuild | 25 - repo/media/gexiv2/gexiv2.xibuild | 25 + repo/media/lame.xibuild | 36 - repo/media/lame/lame.xibuild | 36 + repo/media/libass.xibuild | 23 - repo/media/libass/libass.xibuild | 23 + repo/media/libjpeg-turbo.xibuild | 25 - repo/media/libjpeg-turbo/libjpeg-turbo.xibuild | 25 + repo/media/libmpdclient.xibuild | 20 - repo/media/libmpdclient/libmpdclient.xibuild | 20 + repo/media/libmypaint.xibuild | 23 - repo/media/libmypaint/libmypaint.xibuild | 23 + repo/media/libogg.xibuild | 21 - repo/media/libogg/libogg.xibuild | 21 + repo/media/libraw.xibuild | 27 - repo/media/libraw/libraw.xibuild | 27 + repo/media/librist.xibuild | 22 - repo/media/librist/librist.xibuild | 22 + repo/media/libsamplerate.xibuild | 20 - repo/media/libsamplerate/libsamplerate.xibuild | 20 + repo/media/libsndfile.xibuild | 20 - repo/media/libsndfile/libsndfile.xibuild | 20 + repo/media/libsrt.xibuild | 28 - repo/media/libsrt/fix-cmake.patch | 39 + repo/media/libsrt/libsrt.xibuild | 28 + repo/media/libtheora.xibuild | 22 - repo/media/libtheora/libtheora.xibuild | 22 + repo/media/libvorbis.xibuild | 19 - repo/media/libvorbis/libvorbis.xibuild | 19 + repo/media/libvpx.xibuild | 28 - repo/media/libvpx/libvpx.xibuild | 28 + repo/media/libwebp.xibuild | 33 - repo/media/libwebp/libwebp.xibuild | 33 + repo/media/mpc-mpd.xibuild | 21 - repo/media/mpc-mpd/mpc-mpd.xibuild | 21 + repo/media/mpd.xibuild | 48 - repo/media/mpd/libcdio-paa-version.patch | 266 ++ repo/media/mpd/libcdio-paranoia-version.patch | 13 + repo/media/mpd/mpd.confd | 7 + repo/media/mpd/mpd.initd | 25 + repo/media/mpd/mpd.xibuild | 48 + repo/media/openjpeg.xibuild | 28 - .../b4700bc09d55ac17ff6bef9b0a867f6de527be17.patch | 77 + repo/media/openjpeg/fix-cmakelists.patch | 11 + repo/media/openjpeg/openjpeg.xibuild | 28 + repo/media/opus.xibuild | 25 - repo/media/opus/opus.xibuild | 25 + repo/media/pipewire.xibuild | 21 - repo/media/pipewire/pipewire.xibuild | 21 + repo/media/poppler.xibuild | 29 - repo/media/poppler/dont-enforce-build-type.patch | 26 + repo/media/poppler/poppler.xibuild | 29 + repo/media/pulseaudio.xibuild | 26 - repo/media/pulseaudio/pulseaudio.xibuild | 26 + repo/media/pulsemixer.xibuild | 18 - repo/media/pulsemixer/pulsemixer.xibuild | 18 + repo/media/soxr.xibuild | 23 - repo/media/soxr/soxr.xibuild | 23 + repo/media/tiff.xibuild | 32 - repo/media/tiff/CVE-2018-12900.patch | 29 + repo/media/tiff/tiff.xibuild | 32 + repo/media/v4l-utils.xibuild | 29 - repo/media/v4l-utils/fix_parse_next_subopt.patch | 36 + repo/media/v4l-utils/types.patch | 26 + repo/media/v4l-utils/v4l-utils.xibuild | 29 + repo/media/vidstab.xibuild | 23 - repo/media/vidstab/vidstab.xibuild | 23 + repo/media/wavpack.xibuild | 25 - repo/media/wavpack/wavpack.xibuild | 25 + repo/media/x264.xibuild | 35 - repo/media/x264/oclobj.h | 4684 ++++++++++++++++++++ repo/media/x264/x264.xibuild | 35 + repo/media/x265.xibuild | 53 - repo/media/x265/x265.xibuild | 53 + repo/media/xvidcore.xibuild | 24 - repo/media/xvidcore/xvidcore.xibuild | 24 + 117 files changed, 6952 insertions(+), 1305 deletions(-) delete mode 100644 repo/media/alsa-firmware.xibuild create mode 100644 repo/media/alsa-firmware/alsa-firmware.xibuild create mode 100644 repo/media/alsa-firmware/use-uint32_t-instead-u_int32_t.patch delete mode 100644 repo/media/alsa-lib.xibuild create mode 100644 repo/media/alsa-lib/alsa-lib.xibuild delete mode 100644 repo/media/alsa-plugins.xibuild create mode 100644 repo/media/alsa-plugins/alsa-plugins.xibuild delete mode 100644 repo/media/alsa-tools.xibuild create mode 100644 repo/media/alsa-tools/alsa-tools.xibuild delete mode 100644 repo/media/alsa-utils.xibuild create mode 100644 repo/media/alsa-utils/alsa-utils.xibuild delete mode 100644 repo/media/aom.xibuild create mode 100644 repo/media/aom/aom.xibuild create mode 100644 repo/media/aom/fix-stack-size-e53da0b.patch delete mode 100644 repo/media/audiofile.xibuild create mode 100644 repo/media/audiofile/audiofile.xibuild delete mode 100644 repo/media/babl.xibuild create mode 100644 repo/media/babl/babl.xibuild create mode 100644 repo/media/babl/meson-0.60.patch delete mode 100644 repo/media/dav1d.xibuild create mode 100644 repo/media/dav1d/dav1d.xibuild create mode 100644 repo/media/dav1d/fix-asmcheck.patch delete mode 100644 repo/media/exiv2.xibuild create mode 100644 repo/media/exiv2/exiv2.xibuild delete mode 100644 repo/media/faac.xibuild create mode 100644 repo/media/faac/faac.xibuild delete mode 100644 repo/media/faad2.xibuild create mode 100644 repo/media/faad2/faad2.xibuild delete mode 100644 repo/media/fdk-aac.xibuild create mode 100644 repo/media/fdk-aac/fdk-aac.xibuild delete mode 100644 repo/media/ffmpeg.xibuild create mode 100644 repo/media/ffmpeg/0001-ffbuild-libversion.sh-add-shebang.patch create mode 100644 repo/media/ffmpeg/0001-libavutil-clean-up-unused-FF_SYMVER-macro.patch create mode 100644 repo/media/ffmpeg/add-av_stream_get_first_dts-for-chromium.patch create mode 100644 repo/media/ffmpeg/ffmpeg.xibuild delete mode 100644 repo/media/ffmpeg4.xibuild create mode 100644 repo/media/ffmpeg4/0001-ffbuild-libversion.sh-add-shebang.patch create mode 100644 repo/media/ffmpeg4/0001-libavutil-clean-up-unused-FF_SYMVER-macro.patch create mode 100644 repo/media/ffmpeg4/ffmpeg4.xibuild delete mode 100644 repo/media/flac.xibuild create mode 100644 repo/media/flac/flac.xibuild delete mode 100644 repo/media/gexiv2.xibuild create mode 100644 repo/media/gexiv2/gexiv2.xibuild delete mode 100644 repo/media/lame.xibuild create mode 100644 repo/media/lame/lame.xibuild delete mode 100644 repo/media/libass.xibuild create mode 100644 repo/media/libass/libass.xibuild delete mode 100644 repo/media/libjpeg-turbo.xibuild create mode 100644 repo/media/libjpeg-turbo/libjpeg-turbo.xibuild delete mode 100644 repo/media/libmpdclient.xibuild create mode 100644 repo/media/libmpdclient/libmpdclient.xibuild delete mode 100644 repo/media/libmypaint.xibuild create mode 100644 repo/media/libmypaint/libmypaint.xibuild delete mode 100644 repo/media/libogg.xibuild create mode 100644 repo/media/libogg/libogg.xibuild delete mode 100644 repo/media/libraw.xibuild create mode 100644 repo/media/libraw/libraw.xibuild delete mode 100644 repo/media/librist.xibuild create mode 100644 repo/media/librist/librist.xibuild delete mode 100644 repo/media/libsamplerate.xibuild create mode 100644 repo/media/libsamplerate/libsamplerate.xibuild delete mode 100644 repo/media/libsndfile.xibuild create mode 100644 repo/media/libsndfile/libsndfile.xibuild delete mode 100644 repo/media/libsrt.xibuild create mode 100644 repo/media/libsrt/fix-cmake.patch create mode 100644 repo/media/libsrt/libsrt.xibuild delete mode 100644 repo/media/libtheora.xibuild create mode 100644 repo/media/libtheora/libtheora.xibuild delete mode 100644 repo/media/libvorbis.xibuild create mode 100644 repo/media/libvorbis/libvorbis.xibuild delete mode 100644 repo/media/libvpx.xibuild create mode 100644 repo/media/libvpx/libvpx.xibuild delete mode 100644 repo/media/libwebp.xibuild create mode 100644 repo/media/libwebp/libwebp.xibuild delete mode 100644 repo/media/mpc-mpd.xibuild create mode 100644 repo/media/mpc-mpd/mpc-mpd.xibuild delete mode 100644 repo/media/mpd.xibuild create mode 100644 repo/media/mpd/libcdio-paa-version.patch create mode 100644 repo/media/mpd/libcdio-paranoia-version.patch create mode 100644 repo/media/mpd/mpd.confd create mode 100644 repo/media/mpd/mpd.initd create mode 100644 repo/media/mpd/mpd.xibuild delete mode 100644 repo/media/openjpeg.xibuild create mode 100644 repo/media/openjpeg/b4700bc09d55ac17ff6bef9b0a867f6de527be17.patch create mode 100644 repo/media/openjpeg/fix-cmakelists.patch create mode 100644 repo/media/openjpeg/openjpeg.xibuild delete mode 100644 repo/media/opus.xibuild create mode 100644 repo/media/opus/opus.xibuild delete mode 100644 repo/media/pipewire.xibuild create mode 100644 repo/media/pipewire/pipewire.xibuild delete mode 100644 repo/media/poppler.xibuild create mode 100644 repo/media/poppler/dont-enforce-build-type.patch create mode 100644 repo/media/poppler/poppler.xibuild delete mode 100644 repo/media/pulseaudio.xibuild create mode 100644 repo/media/pulseaudio/pulseaudio.xibuild delete mode 100644 repo/media/pulsemixer.xibuild create mode 100644 repo/media/pulsemixer/pulsemixer.xibuild delete mode 100644 repo/media/soxr.xibuild create mode 100644 repo/media/soxr/soxr.xibuild delete mode 100644 repo/media/tiff.xibuild create mode 100644 repo/media/tiff/CVE-2018-12900.patch create mode 100644 repo/media/tiff/tiff.xibuild delete mode 100644 repo/media/v4l-utils.xibuild create mode 100644 repo/media/v4l-utils/fix_parse_next_subopt.patch create mode 100644 repo/media/v4l-utils/types.patch create mode 100644 repo/media/v4l-utils/v4l-utils.xibuild delete mode 100644 repo/media/vidstab.xibuild create mode 100644 repo/media/vidstab/vidstab.xibuild delete mode 100644 repo/media/wavpack.xibuild create mode 100644 repo/media/wavpack/wavpack.xibuild delete mode 100644 repo/media/x264.xibuild create mode 100644 repo/media/x264/oclobj.h create mode 100644 repo/media/x264/x264.xibuild delete mode 100644 repo/media/x265.xibuild create mode 100644 repo/media/x265/x265.xibuild delete mode 100644 repo/media/xvidcore.xibuild create mode 100644 repo/media/xvidcore/xvidcore.xibuild (limited to 'repo/media') diff --git a/repo/media/alsa-firmware.xibuild b/repo/media/alsa-firmware.xibuild deleted file mode 100644 index d6311a9..0000000 --- a/repo/media/alsa-firmware.xibuild +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh - -MAKEDEPS="make xmlto" -DEPS="alsa-tools" - -DESC="Firmware binaries for loader programs in alsa-tools and hotplug firmware loader" - -PKG_VER=1.2.4 -SOURCE=https://www.alsa-project.org/files/pub/firmware/alsa-firmware-$PKG_VER.tar.bz2 -ADDITIONAL=" - use-uint32_t-instead-u_int32_t.patch -" - -prepare () { - apply_patches -} - -build () { - ./configure --prefix=/usr && - make -} - -package () { - make DESTDIR=$PKG_DEST install -} diff --git a/repo/media/alsa-firmware/alsa-firmware.xibuild b/repo/media/alsa-firmware/alsa-firmware.xibuild new file mode 100644 index 0000000..d6311a9 --- /dev/null +++ b/repo/media/alsa-firmware/alsa-firmware.xibuild @@ -0,0 +1,25 @@ +#!/bin/sh + +MAKEDEPS="make xmlto" +DEPS="alsa-tools" + +DESC="Firmware binaries for loader programs in alsa-tools and hotplug firmware loader" + +PKG_VER=1.2.4 +SOURCE=https://www.alsa-project.org/files/pub/firmware/alsa-firmware-$PKG_VER.tar.bz2 +ADDITIONAL=" + use-uint32_t-instead-u_int32_t.patch +" + +prepare () { + apply_patches +} + +build () { + ./configure --prefix=/usr && + make +} + +package () { + make DESTDIR=$PKG_DEST install +} diff --git a/repo/media/alsa-firmware/use-uint32_t-instead-u_int32_t.patch b/repo/media/alsa-firmware/use-uint32_t-instead-u_int32_t.patch new file mode 100644 index 0000000..70112fd --- /dev/null +++ b/repo/media/alsa-firmware/use-uint32_t-instead-u_int32_t.patch @@ -0,0 +1,52 @@ +diff -rNu a/hdsploader/digiface_firmware.dat b/hdsploader/digiface_firmware.dat +--- a/hdsploader/digiface_firmware.dat 2020-10-20 12:28:42.000000000 +0100 ++++ b/hdsploader/digiface_firmware.dat 2022-03-09 18:13:56.491133428 +0000 +@@ -1,5 +1,5 @@ + /* stored in little-endian */ +-static u_int32_t digiface_firmware[24413] = { ++static uint32_t digiface_firmware[24413] = { + 0xffffffff, 0x66aa9955, 0x8001000c, 0xe0000000, 0x8006800c, 0xb0000000, + 0x8004800c, 0xb4fc0100, 0x8003000c, 0x00000000, 0x8001000c, 0x90000000, + 0x8004000c, 0x00000000, 0x8001000c, 0x80000000, 0x0002000c, 0x581a000a, +diff -rNu a/hdsploader/digiface_firmware_rev11.dat b/hdsploader/digiface_firmware_rev11.dat +--- a/hdsploader/digiface_firmware_rev11.dat 2020-10-20 12:28:42.000000000 +0100 ++++ b/hdsploader/digiface_firmware_rev11.dat 2022-03-09 18:13:56.491133428 +0000 +@@ -1,5 +1,5 @@ + /* stored in little-endian */ +-static u_int32_t digiface_firmware_rev11[24413] = { ++static uint32_t digiface_firmware_rev11[24413] = { + 0xffffffff, 0x66aa9955, 0x8001000c, 0xe0000000, 0x8006800c, 0xb0000000, + 0x8004800c, 0xb4fc0100, 0x8003000c, 0x00000000, 0x8001000c, 0x90000000, + 0x8004000c, 0x00000000, 0x8001000c, 0x80000000, 0x0002000c, 0x581a000a, +diff -rNu a/hdsploader/multiface_firmware.dat b/hdsploader/multiface_firmware.dat +--- a/hdsploader/multiface_firmware.dat 2020-10-20 12:28:42.000000000 +0100 ++++ b/hdsploader/multiface_firmware.dat 2022-03-09 18:13:56.491133428 +0000 +@@ -1,5 +1,5 @@ + /* stored in little-endian */ +-static u_int32_t multiface_firmware[24413] = { ++static uint32_t multiface_firmware[24413] = { + 0xffffffff, 0x66aa9955, 0x8001000c, 0xe0000000, 0x8006800c, 0xb0000000, + 0x8004800c, 0xb4fc0100, 0x8003000c, 0x00000000, 0x8001000c, 0x90000000, + 0x8004000c, 0x00000000, 0x8001000c, 0x80000000, 0x0002000c, 0x581a000a, +diff -rNu a/hdsploader/multiface_firmware_rev11.dat b/hdsploader/multiface_firmware_rev11.dat +--- a/hdsploader/multiface_firmware_rev11.dat 2020-10-20 12:28:42.000000000 +0100 ++++ b/hdsploader/multiface_firmware_rev11.dat 2022-03-09 18:13:56.491133428 +0000 +@@ -1,5 +1,5 @@ + /* stored in little-endian */ +-static u_int32_t multiface_firmware_rev11[24413] = { ++static uint32_t multiface_firmware_rev11[24413] = { + 0xffffffff, 0x66aa9955, 0x8001000c, 0xe0000000, 0x8006800c, 0xb0000000, + 0x8004800c, 0xb4fc0100, 0x8003000c, 0x00000000, 0x8001000c, 0x90000000, + 0x8004000c, 0x00000000, 0x8001000c, 0x80000000, 0x0002000c, 0x581a000a, +diff -rNu a/hdsploader/tobin.c b/hdsploader/tobin.c +--- a/hdsploader/tobin.c 2020-10-20 12:28:42.000000000 +0100 ++++ b/hdsploader/tobin.c 2022-03-09 18:13:56.491133428 +0000 +@@ -8,7 +8,7 @@ + #include "multiface_firmware.dat" + #include "multiface_firmware_rev11.dat" + +-int write_bin_file(u_int32_t *array, const char *filename) ++int write_bin_file(uint32_t *array, const char *filename) + { + FILE *out; + diff --git a/repo/media/alsa-lib.xibuild b/repo/media/alsa-lib.xibuild deleted file mode 100644 index f6e9d1b..0000000 --- a/repo/media/alsa-lib.xibuild +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh - -MAKEDEPS="make" -DEPS="musl python alsa-topology-conf alsa-ucm-conf" - -DESC="An alternative implementation of Linux sound support" - -PKG_VER=1.2.6.1 -SOURCE=https://www.alsa-project.org/files/pub/lib/alsa-lib-$PKG_VER.tar.bz2 - -build () { - ./configure - make -} - -package () { - make DESTDIR=$PKG_DEST install -} diff --git a/repo/media/alsa-lib/alsa-lib.xibuild b/repo/media/alsa-lib/alsa-lib.xibuild new file mode 100644 index 0000000..f6e9d1b --- /dev/null +++ b/repo/media/alsa-lib/alsa-lib.xibuild @@ -0,0 +1,18 @@ +#!/bin/sh + +MAKEDEPS="make" +DEPS="musl python alsa-topology-conf alsa-ucm-conf" + +DESC="An alternative implementation of Linux sound support" + +PKG_VER=1.2.6.1 +SOURCE=https://www.alsa-project.org/files/pub/lib/alsa-lib-$PKG_VER.tar.bz2 + +build () { + ./configure + make +} + +package () { + make DESTDIR=$PKG_DEST install +} diff --git a/repo/media/alsa-plugins.xibuild b/repo/media/alsa-plugins.xibuild deleted file mode 100644 index f7aac13..0000000 --- a/repo/media/alsa-plugins.xibuild +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh - -MAKEDEPS="make" -DEPS="musl alsa-lib" - -DESC="Additional ALSA plugins" - -PKG_VER=1.2.6 -SOURCE=https://www.alsa-project.org/files/pub/plugins/alsa-plugins-$PKG_VER.tar.bz2 - -build () { - ./configure --sysconfdir=/etc && - make -} - -package () { - make DESTDIR=$PKG_DEST install -} diff --git a/repo/media/alsa-plugins/alsa-plugins.xibuild b/repo/media/alsa-plugins/alsa-plugins.xibuild new file mode 100644 index 0000000..f7aac13 --- /dev/null +++ b/repo/media/alsa-plugins/alsa-plugins.xibuild @@ -0,0 +1,18 @@ +#!/bin/sh + +MAKEDEPS="make" +DEPS="musl alsa-lib" + +DESC="Additional ALSA plugins" + +PKG_VER=1.2.6 +SOURCE=https://www.alsa-project.org/files/pub/plugins/alsa-plugins-$PKG_VER.tar.bz2 + +build () { + ./configure --sysconfdir=/etc && + make +} + +package () { + make DESTDIR=$PKG_DEST install +} diff --git a/repo/media/alsa-tools.xibuild b/repo/media/alsa-tools.xibuild deleted file mode 100644 index 5901538..0000000 --- a/repo/media/alsa-tools.xibuild +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/sh - -MAKEDEPS="make" -DEPS="alsa-lib" - -DESC="Advanced tools for certain sound cards" - -PKG_VER=1.2.5 -SOURCE=https://www.alsa-project.org/files/pub/tools/alsa-tools-$PKG_VER.tar.bz2 - -prepare () { - rm -rf qlo10k1 Makefile gitcompile -} - -build () { - buildroot=$(pwd) - for tool in *; do - case $tool in - seq ) - tool_dir=seq/sbiload - ;; - * ) - tool_dir=$tool - ;; - esac - - cd $tool_dir - ./configure --prefix=/usr - make - make DESTDIR=$PKG_DEST install - cd $buildroot - - done -unset tool tool_dir - -} diff --git a/repo/media/alsa-tools/alsa-tools.xibuild b/repo/media/alsa-tools/alsa-tools.xibuild new file mode 100644 index 0000000..5901538 --- /dev/null +++ b/repo/media/alsa-tools/alsa-tools.xibuild @@ -0,0 +1,36 @@ +#!/bin/sh + +MAKEDEPS="make" +DEPS="alsa-lib" + +DESC="Advanced tools for certain sound cards" + +PKG_VER=1.2.5 +SOURCE=https://www.alsa-project.org/files/pub/tools/alsa-tools-$PKG_VER.tar.bz2 + +prepare () { + rm -rf qlo10k1 Makefile gitcompile +} + +build () { + buildroot=$(pwd) + for tool in *; do + case $tool in + seq ) + tool_dir=seq/sbiload + ;; + * ) + tool_dir=$tool + ;; + esac + + cd $tool_dir + ./configure --prefix=/usr + make + make DESTDIR=$PKG_DEST install + cd $buildroot + + done +unset tool tool_dir + +} diff --git a/repo/media/alsa-utils.xibuild b/repo/media/alsa-utils.xibuild deleted file mode 100644 index cd8c644..0000000 --- a/repo/media/alsa-utils.xibuild +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/sh - -MAKEDEPS="make xmlto" -DEPS="alsa-lib fftw libsamplerate" - -DESC="Advanced Linux Sound Architecture - Utilities" - -PKG_VER=1.2.6 -SOURCE=https://www.alsa-project.org/files/pub/utils/alsa-utils-$PKG_VER.tar.bz2 - -build () { - ./configure --disable-alsaconf \ - --disable-bat \ - --disable-xmlto \ - --with-curses=ncursesw && - make -} - -package () { - make DESTDIR=$PKG_DEST install -} diff --git a/repo/media/alsa-utils/alsa-utils.xibuild b/repo/media/alsa-utils/alsa-utils.xibuild new file mode 100644 index 0000000..cd8c644 --- /dev/null +++ b/repo/media/alsa-utils/alsa-utils.xibuild @@ -0,0 +1,21 @@ +#!/bin/sh + +MAKEDEPS="make xmlto" +DEPS="alsa-lib fftw libsamplerate" + +DESC="Advanced Linux Sound Architecture - Utilities" + +PKG_VER=1.2.6 +SOURCE=https://www.alsa-project.org/files/pub/utils/alsa-utils-$PKG_VER.tar.bz2 + +build () { + ./configure --disable-alsaconf \ + --disable-bat \ + --disable-xmlto \ + --with-curses=ncursesw && + make +} + +package () { + make DESTDIR=$PKG_DEST install +} diff --git a/repo/media/aom.xibuild b/repo/media/aom.xibuild deleted file mode 100644 index 66aaa4b..0000000 --- a/repo/media/aom.xibuild +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh - -NAME="aom" -DESC="Alliance for Open Media (AOM) AV1 codec SDK" - -MAKEDEPS="cmake " -DEPS="musl " - -PKG_VER=3.3.0 -SOURCE="https://aomedia.googlesource.com/aom/+archive/v$PKG_VER.tar.gz" -ADDITIONAL="fix-stack-size-e53da0b.patch " - -build () { - cmake -B build -G Ninja \ - -DCMAKE_INSTALL_PREFIX=/usr \ - -DCMAKE_INSTALL_LIBDIR=/usr/lib \ - -DBUILD_SHARED_LIBS=True \ - -DBUILD_STATIC_LIBS=OFF - cmake --build build -} - -package () { - DESTDIR="$PKG_DEST" cmake --install build -} diff --git a/repo/media/aom/aom.xibuild b/repo/media/aom/aom.xibuild new file mode 100644 index 0000000..66aaa4b --- /dev/null +++ b/repo/media/aom/aom.xibuild @@ -0,0 +1,24 @@ +#!/bin/sh + +NAME="aom" +DESC="Alliance for Open Media (AOM) AV1 codec SDK" + +MAKEDEPS="cmake " +DEPS="musl " + +PKG_VER=3.3.0 +SOURCE="https://aomedia.googlesource.com/aom/+archive/v$PKG_VER.tar.gz" +ADDITIONAL="fix-stack-size-e53da0b.patch " + +build () { + cmake -B build -G Ninja \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=/usr/lib \ + -DBUILD_SHARED_LIBS=True \ + -DBUILD_STATIC_LIBS=OFF + cmake --build build +} + +package () { + DESTDIR="$PKG_DEST" cmake --install build +} diff --git a/repo/media/aom/fix-stack-size-e53da0b.patch b/repo/media/aom/fix-stack-size-e53da0b.patch new file mode 100644 index 0000000..d8206e8 --- /dev/null +++ b/repo/media/aom/fix-stack-size-e53da0b.patch @@ -0,0 +1,78 @@ +From e53da0b1bf2652896bed7b65929a1d8d0729d922 Mon Sep 17 00:00:00 2001 +From: Wan-Teh Chang +Date: Thu, 27 Aug 2020 20:49:03 -0700 +Subject: [PATCH] Ensure thread stack size is at least 256 KB + +BUG=aomedia:2754 + +Change-Id: Ia6e211f9b87bc2efe376e7b9f4adb11741850b18 +--- + +diff --git a/aom_util/aom_thread.c b/aom_util/aom_thread.c +index a749a22..8411569 100644 +--- a/aom_util/aom_thread.c ++++ b/aom_util/aom_thread.c +@@ -133,16 +133,39 @@ + goto Error; + } + if (pthread_cond_init(&worker->impl_->condition_, NULL)) { +- pthread_mutex_destroy(&worker->impl_->mutex_); +- goto Error; ++ goto Error1; + } ++ pthread_attr_t *attr = NULL; ++#if HAVE_PTHREAD_H ++ pthread_attr_t thread_attributes; ++ attr = &thread_attributes; ++ if (pthread_attr_init(attr)) { ++ goto Error2; ++ } ++ size_t stack_size; ++ if (pthread_attr_getstacksize(attr, &stack_size)) { ++ pthread_attr_destroy(attr); ++ goto Error2; ++ } ++ const size_t kMinStackSize = 256 * 1024; ++ if (stack_size < kMinStackSize && ++ pthread_attr_setstacksize(attr, kMinStackSize)) { ++ pthread_attr_destroy(attr); ++ goto Error2; ++ } ++#endif // HAVE_PTHREAD_H + pthread_mutex_lock(&worker->impl_->mutex_); +- ok = !pthread_create(&worker->impl_->thread_, NULL, thread_loop, worker); ++ ok = !pthread_create(&worker->impl_->thread_, attr, thread_loop, worker); + if (ok) worker->status_ = OK; + pthread_mutex_unlock(&worker->impl_->mutex_); ++#if HAVE_PTHREAD_H ++ pthread_attr_destroy(attr); ++#endif + if (!ok) { +- pthread_mutex_destroy(&worker->impl_->mutex_); ++ Error2: + pthread_cond_destroy(&worker->impl_->condition_); ++ Error1: ++ pthread_mutex_destroy(&worker->impl_->mutex_); + Error: + aom_free(worker->impl_); + worker->impl_ = NULL; +diff --git a/aom_util/aom_thread.h b/aom_util/aom_thread.h +index 8d04312..efbed78 100644 +--- a/aom_util/aom_thread.h ++++ b/aom_util/aom_thread.h +@@ -32,6 +32,7 @@ + #include // NOLINT + #include // NOLINT + typedef HANDLE pthread_t; ++typedef int pthread_attr_t; + typedef CRITICAL_SECTION pthread_mutex_t; + + #if _WIN32_WINNT < 0x0600 +@@ -147,6 +148,7 @@ + #include // NOLINT + + #define pthread_t TID ++#define pthread_attr_t int + #define pthread_mutex_t HMTX + + typedef struct { diff --git a/repo/media/audiofile.xibuild b/repo/media/audiofile.xibuild deleted file mode 100644 index 3a7de56..0000000 --- a/repo/media/audiofile.xibuild +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/sh - -MAKEDEPS="make asciidoc" -DEPS="alsa-lib flac" - -DESC="Libraries to support basic sound file formats" - -PKG_VER=0.3.6 -SOURCE=https://download.gnome.org/sources/audiofile/${PKG_VER%.*}/audiofile-$PKG_VER.tar.xz - -ADDITIONAL=" - https://www.linuxfromscratch.org/patches/blfs/svn/audiofile-$PKG_VER-consolidated_patches-1.patch - " - -prepare () { - patch -Np1 -i audiofile-$PKG_VER-consolidated_patches-1.patch -} - -build () { - autoreconf -fiv && - - ./configure --prefix=/usr --disable-static && - - make -} - -package () { - make DESTDIR=$PKG_DEST install -} diff --git a/repo/media/audiofile/audiofile.xibuild b/repo/media/audiofile/audiofile.xibuild new file mode 100644 index 0000000..3a7de56 --- /dev/null +++ b/repo/media/audiofile/audiofile.xibuild @@ -0,0 +1,29 @@ +#!/bin/sh + +MAKEDEPS="make asciidoc" +DEPS="alsa-lib flac" + +DESC="Libraries to support basic sound file formats" + +PKG_VER=0.3.6 +SOURCE=https://download.gnome.org/sources/audiofile/${PKG_VER%.*}/audiofile-$PKG_VER.tar.xz + +ADDITIONAL=" + https://www.linuxfromscratch.org/patches/blfs/svn/audiofile-$PKG_VER-consolidated_patches-1.patch + " + +prepare () { + patch -Np1 -i audiofile-$PKG_VER-consolidated_patches-1.patch +} + +build () { + autoreconf -fiv && + + ./configure --prefix=/usr --disable-static && + + make +} + +package () { + make DESTDIR=$PKG_DEST install +} diff --git a/repo/media/babl.xibuild b/repo/media/babl.xibuild deleted file mode 100644 index f786806..0000000 --- a/repo/media/babl.xibuild +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/sh - -NAME="babl" -DESC="Dynamic, any to any, pixel format conversion library" - -MAKEDEPS="meson ninja " -DEPS="lcms2 " - -PKG_VER=0.1.92 -SOURCE="https://ftp.gimp.org/pub/babl/${PKG_VER%.*}/babl-$PKG_VER.tar.xz" -ADDITIONAL="meson-0.60.patch " - -prepare () { - apply_patches -} - -build () { - cd build && - meson --prefix=/usr \ - .. && - ninja -} - -package () { - DESTDIR=$PKG_DEST ninja install -} diff --git a/repo/media/babl/babl.xibuild b/repo/media/babl/babl.xibuild new file mode 100644 index 0000000..f786806 --- /dev/null +++ b/repo/media/babl/babl.xibuild @@ -0,0 +1,26 @@ +#!/bin/sh + +NAME="babl" +DESC="Dynamic, any to any, pixel format conversion library" + +MAKEDEPS="meson ninja " +DEPS="lcms2 " + +PKG_VER=0.1.92 +SOURCE="https://ftp.gimp.org/pub/babl/${PKG_VER%.*}/babl-$PKG_VER.tar.xz" +ADDITIONAL="meson-0.60.patch " + +prepare () { + apply_patches +} + +build () { + cd build && + meson --prefix=/usr \ + .. && + ninja +} + +package () { + DESTDIR=$PKG_DEST ninja install +} diff --git a/repo/media/babl/meson-0.60.patch b/repo/media/babl/meson-0.60.patch new file mode 100644 index 0000000..5ac3862 --- /dev/null +++ b/repo/media/babl/meson-0.60.patch @@ -0,0 +1,12 @@ +--- a/meson.build ++++ b/meson.build +@@ -55,8 +55,7 @@ + stability_version_number = (major_version != 0 ? minor_version : micro_version) + stable = (stability_version_number % 2 == 0) + +-conf.set10('BABL_UNSTABLE', not stable, Description: +- 'Define to 1 if this is an unstable version of BABL.') ++conf.set10('BABL_UNSTABLE', not stable) + + conf.set ('BABL_MAJOR_VERSION', '@0@'.format(major_version)) + conf.set ('BABL_MINOR_VERSION', '@0@'.format(minor_version)) diff --git a/repo/media/dav1d.xibuild b/repo/media/dav1d.xibuild deleted file mode 100644 index a25471b..0000000 --- a/repo/media/dav1d.xibuild +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh - -NAME="dav1d" -DESC="small and fast AV1 Decoder" - -MAKEDEPS="meson ninja nasm" -DEPS="musl " - -PKG_VER=1.0.0 -SOURCE="https://code.videolan.org/videolan/dav1d/-/archive/$PKG_VER/dav1d-$PKG_VER.tar.bz2" -ADDITIONAL="fix-asmcheck.patch " - -prepare () { - apply_patches -} - -build () { - mkdir build && - cd build && - meson --prefix=/usr \ - -Denable_asm=true \ - -Dfuzzing_engine=none \ - .. && - ninja -} - -package () { - DESTDIR=$PKG_DEST ninja install - mv $PKG_DEST/usr/lib64 $PKG_DEST/usr/lib -} diff --git a/repo/media/dav1d/dav1d.xibuild b/repo/media/dav1d/dav1d.xibuild new file mode 100644 index 0000000..a25471b --- /dev/null +++ b/repo/media/dav1d/dav1d.xibuild @@ -0,0 +1,30 @@ +#!/bin/sh + +NAME="dav1d" +DESC="small and fast AV1 Decoder" + +MAKEDEPS="meson ninja nasm" +DEPS="musl " + +PKG_VER=1.0.0 +SOURCE="https://code.videolan.org/videolan/dav1d/-/archive/$PKG_VER/dav1d-$PKG_VER.tar.bz2" +ADDITIONAL="fix-asmcheck.patch " + +prepare () { + apply_patches +} + +build () { + mkdir build && + cd build && + meson --prefix=/usr \ + -Denable_asm=true \ + -Dfuzzing_engine=none \ + .. && + ninja +} + +package () { + DESTDIR=$PKG_DEST ninja install + mv $PKG_DEST/usr/lib64 $PKG_DEST/usr/lib +} diff --git a/repo/media/dav1d/fix-asmcheck.patch b/repo/media/dav1d/fix-asmcheck.patch new file mode 100644 index 0000000..922db6e --- /dev/null +++ b/repo/media/dav1d/fix-asmcheck.patch @@ -0,0 +1,63 @@ +Patch-Source: https://code.videolan.org/videolan/dav1d/-/merge_requests/1406 +From 87f9a81cd770e49394a45deca7a3df41243de00b Mon Sep 17 00:00:00 2001 +From: Henrik Gramner +Date: Sat, 19 Mar 2022 03:09:31 +0100 +Subject: [PATCH] checkasm: Fix alignment of stack buffers in the film grain + tests + +--- + tests/checkasm/filmgrain.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/tests/checkasm/filmgrain.c b/tests/checkasm/filmgrain.c +index ff7ffc36..9aa4f269 100644 +--- a/tests/checkasm/filmgrain.c ++++ b/tests/checkasm/filmgrain.c +@@ -83,9 +83,9 @@ static void check_gen_grny(const Dav1dFilmGrainDSPContext *const dsp) { + } + + static void check_gen_grnuv(const Dav1dFilmGrainDSPContext *const dsp) { +- entry grain_lut_y[GRAIN_HEIGHT + 1][GRAIN_WIDTH]; +- entry grain_lut_c[GRAIN_HEIGHT][GRAIN_WIDTH]; +- entry grain_lut_a[GRAIN_HEIGHT + 1][GRAIN_WIDTH]; ++ ALIGN_STK_16(entry, grain_lut_y, GRAIN_HEIGHT + 1,[GRAIN_WIDTH]); ++ ALIGN_STK_16(entry, grain_lut_c, GRAIN_HEIGHT, [GRAIN_WIDTH]); ++ ALIGN_STK_16(entry, grain_lut_a, GRAIN_HEIGHT + 1,[GRAIN_WIDTH]); + + declare_func(void, entry grain_lut[][GRAIN_WIDTH], + const entry grain_lut_y[][GRAIN_WIDTH], +@@ -155,6 +155,7 @@ static void check_fgy_sbrow(const Dav1dFilmGrainDSPContext *const dsp) { + + if (check_func(dsp->fgy_32x32xn, "fgy_32x32xn_%dbpc", BITDEPTH)) { + ALIGN_STK_16(Dav1dFilmGrainData, fg_data, 16,); ++ ALIGN_STK_16(entry, grain_lut, GRAIN_HEIGHT + 1,[GRAIN_WIDTH]); + ALIGN_STK_64(uint8_t, scaling, SCALING_SIZE,); + fg_data[0].seed = rnd() & 0xFFFF; + +@@ -164,7 +165,6 @@ static void check_fgy_sbrow(const Dav1dFilmGrainDSPContext *const dsp) { + const int bitdepth_max = 0xff; + #endif + +- entry grain_lut[GRAIN_HEIGHT + 1][GRAIN_WIDTH]; + fg_data[0].grain_scale_shift = rnd() & 3; + fg_data[0].ar_coeff_shift = (rnd() & 3) + 6; + fg_data[0].ar_coeff_lag = rnd() & 3; +@@ -267,6 +267,7 @@ static void check_fguv_sbrow(const Dav1dFilmGrainDSPContext *const dsp) { + BITDEPTH, ss_name[layout_idx], csfl)) + { + ALIGN_STK_16(Dav1dFilmGrainData, fg_data, 1,); ++ ALIGN_STK_16(entry, grain_lut, 2,[GRAIN_HEIGHT + 1][GRAIN_WIDTH]); + ALIGN_STK_64(uint8_t, scaling, SCALING_SIZE,); + + fg_data[0].seed = rnd() & 0xFFFF; +@@ -279,7 +280,6 @@ static void check_fguv_sbrow(const Dav1dFilmGrainDSPContext *const dsp) { + const int uv_pl = rnd() & 1; + const int is_identity = rnd() & 1; + +- entry grain_lut[2][GRAIN_HEIGHT + 1][GRAIN_WIDTH]; + fg_data[0].grain_scale_shift = rnd() & 3; + fg_data[0].ar_coeff_shift = (rnd() & 3) + 6; + fg_data[0].ar_coeff_lag = rnd() & 3; +-- +GitLab + diff --git a/repo/media/exiv2.xibuild b/repo/media/exiv2.xibuild deleted file mode 100644 index 9a640bc..0000000 --- a/repo/media/exiv2.xibuild +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/sh - -NAME="exiv2" -DESC="Exif and Iptc metadata manipulation library and tools." - -MAKEDEPS="cmake " -DEPS="expat musl zlib " - -PKG_VER=0.27.5 -SOURCE="https://github.com/Exiv2/exiv2/releases/download/v$PKG_VER/exiv2-$PKG_VER-Source.tar.gz" - -build () { - cmake -B build \ - -DCMAKE_INSTALL_PREFIX=/usr \ - -DCMAKE_INSTALL_LIBDIR=/usr/lib \ - -DBUILD_SHARED_LIBS=True \ - -DBUILD_STATIC_LIBS=OFF - cmake --build build -} - -package () { - DESTDIR="$PKG_DEST" cmake --install build -} diff --git a/repo/media/exiv2/exiv2.xibuild b/repo/media/exiv2/exiv2.xibuild new file mode 100644 index 0000000..9a640bc --- /dev/null +++ b/repo/media/exiv2/exiv2.xibuild @@ -0,0 +1,23 @@ +#!/bin/sh + +NAME="exiv2" +DESC="Exif and Iptc metadata manipulation library and tools." + +MAKEDEPS="cmake " +DEPS="expat musl zlib " + +PKG_VER=0.27.5 +SOURCE="https://github.com/Exiv2/exiv2/releases/download/v$PKG_VER/exiv2-$PKG_VER-Source.tar.gz" + +build () { + cmake -B build \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=/usr/lib \ + -DBUILD_SHARED_LIBS=True \ + -DBUILD_STATIC_LIBS=OFF + cmake --build build +} + +package () { + DESTDIR="$PKG_DEST" cmake --install build +} diff --git a/repo/media/faac.xibuild b/repo/media/faac.xibuild deleted file mode 100644 index 07b66fd..0000000 --- a/repo/media/faac.xibuild +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh - -MAKEDEPS="make xmlto" -DEPS="musl" - -DESC="Freeware Advanced Audio Coder" - -PKG_VER=1_30 -SOURCE=https://github.com/knik0/faac/archive/$PKG_VER/faac-$PKG_VER.tar.gz - -build () { - ./bootstrap && - ./configure --prefix=/usr --disable-static && - make -} - -package () { - make DESTDIR=$PKG_DEST install -} diff --git a/repo/media/faac/faac.xibuild b/repo/media/faac/faac.xibuild new file mode 100644 index 0000000..07b66fd --- /dev/null +++ b/repo/media/faac/faac.xibuild @@ -0,0 +1,19 @@ +#!/bin/sh + +MAKEDEPS="make xmlto" +DEPS="musl" + +DESC="Freeware Advanced Audio Coder" + +PKG_VER=1_30 +SOURCE=https://github.com/knik0/faac/archive/$PKG_VER/faac-$PKG_VER.tar.gz + +build () { + ./bootstrap && + ./configure --prefix=/usr --disable-static && + make +} + +package () { + make DESTDIR=$PKG_DEST install +} diff --git a/repo/media/faad2.xibuild b/repo/media/faad2.xibuild deleted file mode 100644 index e1c158d..0000000 --- a/repo/media/faad2.xibuild +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh - -MAKEDEPS="make xmlto" -DEPS="alsa-lib fftw libsamplerate" - -DESC="ISO AAC audio decoder" - -PKG_VER=2_10_0 -SOURCE=https://github.com/knik0/faad2/archive/$PKG_VER/faad2-$PKG_VER.tar.gz - -build () { - ./bootstrap && - ./configure --prefix=/usr --disable-static && - make -} - -package () { - make DESTDIR=$PKG_DEST install -} diff --git a/repo/media/faad2/faad2.xibuild b/repo/media/faad2/faad2.xibuild new file mode 100644 index 0000000..e1c158d --- /dev/null +++ b/repo/media/faad2/faad2.xibuild @@ -0,0 +1,19 @@ +#!/bin/sh + +MAKEDEPS="make xmlto" +DEPS="alsa-lib fftw libsamplerate" + +DESC="ISO AAC audio decoder" + +PKG_VER=2_10_0 +SOURCE=https://github.com/knik0/faad2/archive/$PKG_VER/faad2-$PKG_VER.tar.gz + +build () { + ./bootstrap && + ./configure --prefix=/usr --disable-static && + make +} + +package () { + make DESTDIR=$PKG_DEST install +} diff --git a/repo/media/fdk-aac.xibuild b/repo/media/fdk-aac.xibuild deleted file mode 100644 index c4aee9b..0000000 --- a/repo/media/fdk-aac.xibuild +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh - -MAKEDEPS="make xmlto" -DEPS="alsa-lib" - -DESC="Fraunhofer FDK AAC library" - -PKG_VER=2.0.2 -SOURCE=https://downloads.sourceforge.net/opencore-amr/fdk-aac-$PKG_VER.tar.gz - -build () { - ./configure --prefix=/usr --disable-static && - make -} - -package () { - make DESTDIR=$PKG_DEST install -} diff --git a/repo/media/fdk-aac/fdk-aac.xibuild b/repo/media/fdk-aac/fdk-aac.xibuild new file mode 100644 index 0000000..c4aee9b --- /dev/null +++ b/repo/media/fdk-aac/fdk-aac.xibuild @@ -0,0 +1,18 @@ +#!/bin/sh + +MAKEDEPS="make xmlto" +DEPS="alsa-lib" + +DESC="Fraunhofer FDK AAC library" + +PKG_VER=2.0.2 +SOURCE=https://downloads.sourceforge.net/opencore-amr/fdk-aac-$PKG_VER.tar.gz + +build () { + ./configure --prefix=/usr --disable-static && + make +} + +package () { + make DESTDIR=$PKG_DEST install +} diff --git a/repo/media/ffmpeg.xibuild b/repo/media/ffmpeg.xibuild deleted file mode 100644 index 6d7f960..0000000 --- a/repo/media/ffmpeg.xibuild +++ /dev/null @@ -1,63 +0,0 @@ -#!/bin/sh - -NAME="ffmpeg" -DESC="Complete and free Internet live audio and video broadcasting solution for Linux/Unix" - -MAKEDEPS="make " -DEPS="alsa-lib aom gnutls libass bzip2 dav1d libdrm pulseaudio librist libsrt libtheora libva libvorbis libvpx libwebp libx11 libxcb musl opus sdl2 v4l-utils vidstab x264 x265 xvidcore zlib lame soxr" - -PKG_VER=5.0.1 -SOURCE="https://ffmpeg.org/releases/ffmpeg-$PKG_VER.tar.xz" -ADDITIONAL=" -0001-ffbuild-libversion.sh-add-shebang.patch -0001-libavutil-clean-up-unused-FF_SYMVER-macro.patch -" - -prepare () { - apply_patches -} - -build () { - ./configure \ - --prefix=/usr \ - --enable-avfilter \ - --enable-gnutls \ - --enable-gpl \ - --enable-libass \ - --enable-libmp3lame \ - --enable-libpulse \ - --enable-libvorbis \ - --enable-libvpx \ - --enable-libxvid \ - --enable-libx264 \ - --enable-libx265 \ - --enable-libtheora \ - --enable-libv4l2 \ - --enable-libdav1d \ - --enable-lto \ - --enable-postproc \ - --enable-pic \ - --enable-pthreads \ - --enable-shared \ - --enable-libxcb \ - --enable-librist \ - --enable-libsrt \ - --enable-libvidstab \ - --disable-stripping \ - --disable-static \ - --disable-librtmp \ - --enable-libaom \ - --enable-libopus \ - --enable-libsoxr \ - --enable-libwebp \ - --enable-vaapi \ - --enable-vdpau \ - --enable-libdrm - - - make -} - -package () { - make DESTDIR=$PKG_DEST install -} diff --git a/repo/media/ffmpeg/0001-ffbuild-libversion.sh-add-shebang.patch b/repo/media/ffmpeg/0001-ffbuild-libversion.sh-add-shebang.patch new file mode 100644 index 0000000..1df1691 --- /dev/null +++ b/repo/media/ffmpeg/0001-ffbuild-libversion.sh-add-shebang.patch @@ -0,0 +1,24 @@ +From 3eb43e2e9df80baad20722b3698e6995a546853a Mon Sep 17 00:00:00 2001 +From: Carlo Landmeter +Date: Tue, 29 Jun 2021 11:56:32 +0000 +Subject: [PATCH] ffbuild/libversion.sh: add shebang + +when using something like qemu-user where argv[0] is qemu the script +will not be exexuted by the shell. +--- + ffbuild/libversion.sh | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/ffbuild/libversion.sh b/ffbuild/libversion.sh +index 990ce9f640..30046b1d25 100755 +--- a/ffbuild/libversion.sh ++++ b/ffbuild/libversion.sh +@@ -1,3 +1,5 @@ ++#!/bin/sh ++ + toupper(){ + echo "$@" | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ + } +-- +2.32.0 + diff --git a/repo/media/ffmpeg/0001-libavutil-clean-up-unused-FF_SYMVER-macro.patch b/repo/media/ffmpeg/0001-libavutil-clean-up-unused-FF_SYMVER-macro.patch new file mode 100644 index 0000000..9cc6fdf --- /dev/null +++ b/repo/media/ffmpeg/0001-libavutil-clean-up-unused-FF_SYMVER-macro.patch @@ -0,0 +1,55 @@ +From ab11be0becb90542f10d5713659b559842c53af2 Mon Sep 17 00:00:00 2001 +From: Natanael Copa +Date: Tue, 29 Mar 2016 15:15:17 +0200 +Subject: [PATCH] libavutil: clean up unused FF_SYMVER macro + +There is nothing using it since commit d63443b9 (lavc: drop the +av_fast_{re,m}alloc compatibility wrappers). + +Signed-off-by: Natanael Copa +--- + libavutil/internal.h | 28 ---------------------------- + 1 file changed, 28 deletions(-) + +diff --git a/libavutil/internal.h b/libavutil/internal.h +index 61784b5..69d63d5 100644 +--- a/libavutil/internal.h ++++ b/libavutil/internal.h +@@ -187,34 +187,6 @@ + #endif + + /** +- * Define a function with only the non-default version specified. +- * +- * On systems with ELF shared libraries, all symbols exported from +- * FFmpeg libraries are tagged with the name and major version of the +- * library to which they belong. If a function is moved from one +- * library to another, a wrapper must be retained in the original +- * location to preserve binary compatibility. +- * +- * Functions defined with this macro will never be used to resolve +- * symbols by the build-time linker. +- * +- * @param type return type of function +- * @param name name of function +- * @param args argument list of function +- * @param ver version tag to assign function +- */ +-#if HAVE_SYMVER_ASM_LABEL +-# define FF_SYMVER(type, name, args, ver) \ +- type ff_##name args __asm__ (EXTERN_PREFIX #name "@" ver); \ +- type ff_##name args +-#elif HAVE_SYMVER_GNU_ASM +-# define FF_SYMVER(type, name, args, ver) \ +- __asm__ (".symver ff_" #name "," EXTERN_PREFIX #name "@" ver); \ +- type ff_##name args; \ +- type ff_##name args +-#endif +- +-/** + * Return NULL if a threading library has not been enabled. + * Used to disable threading functions in AVCodec definitions + * when not needed. +-- +2.7.4 + diff --git a/repo/media/ffmpeg/add-av_stream_get_first_dts-for-chromium.patch b/repo/media/ffmpeg/add-av_stream_get_first_dts-for-chromium.patch new file mode 100644 index 0000000..1ba7b76 --- /dev/null +++ b/repo/media/ffmpeg/add-av_stream_get_first_dts-for-chromium.patch @@ -0,0 +1,45 @@ +Patch-Source: https://github.com/archlinux/svntogit-packages/blob/afdf00ac125851675c1599ab46545f6c58cfb655/trunk/add-av_stream_get_first_dts-for-chromium.patch +From 95aab0fd83619408995720ce53d7a74790580220 Mon Sep 17 00:00:00 2001 +From: "liberato@chromium.org" +Date: Wed, 7 Jul 2021 19:01:22 -0700 +Subject: [PATCH] Add av_stream_get_first_dts for Chromium + +[foutrelis: adjust for new FFStream struct replacing AVStreamInternal] +--- + libavformat/avformat.h | 4 ++++ + libavformat/utils.c | 7 +++++++ + 2 files changed, 11 insertions(+) + +diff --git a/libavformat/avformat.h b/libavformat/avformat.h +index cd7b0d941c..b4a6dce885 100644 +--- a/libavformat/avformat.h ++++ b/libavformat/avformat.h +@@ -1010,6 +1010,10 @@ struct AVCodecParserContext *av_stream_get_parser(const AVStream *s); + */ + int64_t av_stream_get_end_pts(const AVStream *st); + ++// Chromium: We use the internal field first_dts vvv ++int64_t av_stream_get_first_dts(const AVStream *st); ++// Chromium: We use the internal field first_dts ^^^ ++ + #define AV_PROGRAM_RUNNING 1 + + /** +diff --git a/libavformat/utils.c b/libavformat/utils.c +index de7580c32d..0ef0fe530e 100644 +--- a/libavformat/utils.c ++++ b/libavformat/utils.c +@@ -121,6 +121,13 @@ int64_t av_stream_get_end_pts(const AVStream *st) + return AV_NOPTS_VALUE; + } + ++// Chromium: We use the internal field first_dts vvv ++int64_t av_stream_get_first_dts(const AVStream *st) ++{ ++ return cffstream(st)->first_dts; ++} ++// Chromium: We use the internal field first_dts ^^^ ++ + struct AVCodecParserContext *av_stream_get_parser(const AVStream *st) + { + return st->internal->parser; diff --git a/repo/media/ffmpeg/ffmpeg.xibuild b/repo/media/ffmpeg/ffmpeg.xibuild new file mode 100644 index 0000000..6d7f960 --- /dev/null +++ b/repo/media/ffmpeg/ffmpeg.xibuild @@ -0,0 +1,63 @@ +#!/bin/sh + +NAME="ffmpeg" +DESC="Complete and free Internet live audio and video broadcasting solution for Linux/Unix" + +MAKEDEPS="make " +DEPS="alsa-lib aom gnutls libass bzip2 dav1d libdrm pulseaudio librist libsrt libtheora libva libvorbis libvpx libwebp libx11 libxcb musl opus sdl2 v4l-utils vidstab x264 x265 xvidcore zlib lame soxr" + +PKG_VER=5.0.1 +SOURCE="https://ffmpeg.org/releases/ffmpeg-$PKG_VER.tar.xz" +ADDITIONAL=" +0001-ffbuild-libversion.sh-add-shebang.patch +0001-libavutil-clean-up-unused-FF_SYMVER-macro.patch +" + +prepare () { + apply_patches +} + +build () { + ./configure \ + --prefix=/usr \ + --enable-avfilter \ + --enable-gnutls \ + --enable-gpl \ + --enable-libass \ + --enable-libmp3lame \ + --enable-libpulse \ + --enable-libvorbis \ + --enable-libvpx \ + --enable-libxvid \ + --enable-libx264 \ + --enable-libx265 \ + --enable-libtheora \ + --enable-libv4l2 \ + --enable-libdav1d \ + --enable-lto \ + --enable-postproc \ + --enable-pic \ + --enable-pthreads \ + --enable-shared \ + --enable-libxcb \ + --enable-librist \ + --enable-libsrt \ + --enable-libvidstab \ + --disable-stripping \ + --disable-static \ + --disable-librtmp \ + --enable-libaom \ + --enable-libopus \ + --enable-libsoxr \ + --enable-libwebp \ + --enable-vaapi \ + --enable-vdpau \ + --enable-libdrm + + + make +} + +package () { + make DESTDIR=$PKG_DEST install +} diff --git a/repo/media/ffmpeg4.xibuild b/repo/media/ffmpeg4.xibuild deleted file mode 100644 index f17b0ef..0000000 --- a/repo/media/ffmpeg4.xibuild +++ /dev/null @@ -1,64 +0,0 @@ -#!/bin/sh - -NAME="ffmpeg4" -DESC="Complete and free Internet live audio and video broadcasting solution for Linux/Unix" - -MAKEDEPS="make " -DEPS="alsa-lib aom gnutls libass bzip2 dav1d libdrm pulseaudio librist libsrt libtheora libva libvorbis libvpx libwebp libx11 libxcb musl opus sdl2 v4l-utils vidstab x264 x265 xvidcore zlib lame soxr" - -PKG_VER=4.4.1 -SOURCE="https://ffmpeg.org/releases/ffmpeg-$PKG_VER.tar.xz" -ADDITIONAL=" -0001-ffbuild-libversion.sh-add-shebang.patch -0001-libavutil-clean-up-unused-FF_SYMVER-macro.patch -" - -prepare () { - apply_patches -} - -build () { - ./configure \ - --prefix=/usr \ - --enable-avresample \ - --enable-avfilter \ - --enable-gnutls \ - --enable-gpl \ - --enable-libass \ - --enable-libmp3lame \ - --enable-libpulse \ - --enable-libvorbis \ - --enable-libvpx \ - --enable-libxvid \ - --enable-libx264 \ - --enable-libx265 \ - --enable-libtheora \ - --enable-libv4l2 \ - --enable-libdav1d \ - --enable-lto \ - --enable-postproc \ - --enable-pic \ - --enable-pthreads \ - --enable-shared \ - --enable-libxcb \ - --enable-libsrt \ - --enable-libvidstab \ - --disable-stripping \ - --disable-static \ - --disable-librtmp \ - --enable-libaom \ - --enable-libopus \ - --enable-libsoxr \ - --enable-libwebp \ - --enable-vaapi \ - --enable-vdpau \ - --enable-libdrm - - make -} - -package () { - make DESTDIR=$PKG_DEST install - rm -rf $PKG_DEST/usr/bin - rm -rf $PKG_DEST/usr/share -} diff --git a/repo/media/ffmpeg4/0001-ffbuild-libversion.sh-add-shebang.patch b/repo/media/ffmpeg4/0001-ffbuild-libversion.sh-add-shebang.patch new file mode 100644 index 0000000..1df1691 --- /dev/null +++ b/repo/media/ffmpeg4/0001-ffbuild-libversion.sh-add-shebang.patch @@ -0,0 +1,24 @@ +From 3eb43e2e9df80baad20722b3698e6995a546853a Mon Sep 17 00:00:00 2001 +From: Carlo Landmeter +Date: Tue, 29 Jun 2021 11:56:32 +0000 +Subject: [PATCH] ffbuild/libversion.sh: add shebang + +when using something like qemu-user where argv[0] is qemu the script +will not be exexuted by the shell. +--- + ffbuild/libversion.sh | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/ffbuild/libversion.sh b/ffbuild/libversion.sh +index 990ce9f640..30046b1d25 100755 +--- a/ffbuild/libversion.sh ++++ b/ffbuild/libversion.sh +@@ -1,3 +1,5 @@ ++#!/bin/sh ++ + toupper(){ + echo "$@" | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ + } +-- +2.32.0 + diff --git a/repo/media/ffmpeg4/0001-libavutil-clean-up-unused-FF_SYMVER-macro.patch b/repo/media/ffmpeg4/0001-libavutil-clean-up-unused-FF_SYMVER-macro.patch new file mode 100644 index 0000000..9cc6fdf --- /dev/null +++ b/repo/media/ffmpeg4/0001-libavutil-clean-up-unused-FF_SYMVER-macro.patch @@ -0,0 +1,55 @@ +From ab11be0becb90542f10d5713659b559842c53af2 Mon Sep 17 00:00:00 2001 +From: Natanael Copa +Date: Tue, 29 Mar 2016 15:15:17 +0200 +Subject: [PATCH] libavutil: clean up unused FF_SYMVER macro + +There is nothing using it since commit d63443b9 (lavc: drop the +av_fast_{re,m}alloc compatibility wrappers). + +Signed-off-by: Natanael Copa +--- + libavutil/internal.h | 28 ---------------------------- + 1 file changed, 28 deletions(-) + +diff --git a/libavutil/internal.h b/libavutil/internal.h +index 61784b5..69d63d5 100644 +--- a/libavutil/internal.h ++++ b/libavutil/internal.h +@@ -187,34 +187,6 @@ + #endif + + /** +- * Define a function with only the non-default version specified. +- * +- * On systems with ELF shared libraries, all symbols exported from +- * FFmpeg libraries are tagged with the name and major version of the +- * library to which they belong. If a function is moved from one +- * library to another, a wrapper must be retained in the original +- * location to preserve binary compatibility. +- * +- * Functions defined with this macro will never be used to resolve +- * symbols by the build-time linker. +- * +- * @param type return type of function +- * @param name name of function +- * @param args argument list of function +- * @param ver version tag to assign function +- */ +-#if HAVE_SYMVER_ASM_LABEL +-# define FF_SYMVER(type, name, args, ver) \ +- type ff_##name args __asm__ (EXTERN_PREFIX #name "@" ver); \ +- type ff_##name args +-#elif HAVE_SYMVER_GNU_ASM +-# define FF_SYMVER(type, name, args, ver) \ +- __asm__ (".symver ff_" #name "," EXTERN_PREFIX #name "@" ver); \ +- type ff_##name args; \ +- type ff_##name args +-#endif +- +-/** + * Return NULL if a threading library has not been enabled. + * Used to disable threading functions in AVCodec definitions + * when not needed. +-- +2.7.4 + diff --git a/repo/media/ffmpeg4/ffmpeg4.xibuild b/repo/media/ffmpeg4/ffmpeg4.xibuild new file mode 100644 index 0000000..f17b0ef --- /dev/null +++ b/repo/media/ffmpeg4/ffmpeg4.xibuild @@ -0,0 +1,64 @@ +#!/bin/sh + +NAME="ffmpeg4" +DESC="Complete and free Internet live audio and video broadcasting solution for Linux/Unix" + +MAKEDEPS="make " +DEPS="alsa-lib aom gnutls libass bzip2 dav1d libdrm pulseaudio librist libsrt libtheora libva libvorbis libvpx libwebp libx11 libxcb musl opus sdl2 v4l-utils vidstab x264 x265 xvidcore zlib lame soxr" + +PKG_VER=4.4.1 +SOURCE="https://ffmpeg.org/releases/ffmpeg-$PKG_VER.tar.xz" +ADDITIONAL=" +0001-ffbuild-libversion.sh-add-shebang.patch +0001-libavutil-clean-up-unused-FF_SYMVER-macro.patch +" + +prepare () { + apply_patches +} + +build () { + ./configure \ + --prefix=/usr \ + --enable-avresample \ + --enable-avfilter \ + --enable-gnutls \ + --enable-gpl \ + --enable-libass \ + --enable-libmp3lame \ + --enable-libpulse \ + --enable-libvorbis \ + --enable-libvpx \ + --enable-libxvid \ + --enable-libx264 \ + --enable-libx265 \ + --enable-libtheora \ + --enable-libv4l2 \ + --enable-libdav1d \ + --enable-lto \ + --enable-postproc \ + --enable-pic \ + --enable-pthreads \ + --enable-shared \ + --enable-libxcb \ + --enable-libsrt \ + --enable-libvidstab \ + --disable-stripping \ + --disable-static \ + --disable-librtmp \ + --enable-libaom \ + --enable-libopus \ + --enable-libsoxr \ + --enable-libwebp \ + --enable-vaapi \ + --enable-vdpau \ + --enable-libdrm + + make +} + +package () { + make DESTDIR=$PKG_DEST install + rm -rf $PKG_DEST/usr/bin + rm -rf $PKG_DEST/usr/share +} diff --git a/repo/media/flac.xibuild b/repo/media/flac.xibuild deleted file mode 100644 index b72f3a5..0000000 --- a/repo/media/flac.xibuild +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh - -MAKEDEPS="make xmlto" -DEPS="libogg nasm" - -DESC="Free Lossless Audio Codec" - -PKG_VER=1.3.3 -SOURCE=https://downloads.xiph.org/releases/flac/flac-$PKG_VER.tar.xz - -build () { - ./configure --prefix=/usr \ - --disable-thorough-tests \ - --docdir=/usr/share/doc/flac-$PKG_VER && - make -} - -package () { - make DESTDIR=$PKG_DEST install -} diff --git a/repo/media/flac/flac.xibuild b/repo/media/flac/flac.xibuild new file mode 100644 index 0000000..b72f3a5 --- /dev/null +++ b/repo/media/flac/flac.xibuild @@ -0,0 +1,20 @@ +#!/bin/sh + +MAKEDEPS="make xmlto" +DEPS="libogg nasm" + +DESC="Free Lossless Audio Codec" + +PKG_VER=1.3.3 +SOURCE=https://downloads.xiph.org/releases/flac/flac-$PKG_VER.tar.xz + +build () { + ./configure --prefix=/usr \ + --disable-thorough-tests \ + --docdir=/usr/share/doc/flac-$PKG_VER && + make +} + +package () { + make DESTDIR=$PKG_DEST install +} diff --git a/repo/media/gexiv2.xibuild b/repo/media/gexiv2.xibuild deleted file mode 100644 index 1aacbd4..0000000 --- a/repo/media/gexiv2.xibuild +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh - -NAME="gexiv2" -DESC="GObject-based wrapper around the Exiv2 library" - -MAKEDEPS="meson ninja " -DEPS="exiv2 glib " - -PKG_VER=0.14.0 -SOURCE="https://download.gnome.org/sources/gexiv2/${PKG_VER%.*}/gexiv2-$PKG_VER.tar.xz" - -build () { - mkdir build && - cd build && - meson --prefix=/usr \ - -Dgtk_doc=true \ - -Dintrospection=true \ - -Dvapi=true \ - .. && - ninja -} - -package () { - DESTDIR=$PKG_DEST ninja install -} diff --git a/repo/media/gexiv2/gexiv2.xibuild b/repo/media/gexiv2/gexiv2.xibuild new file mode 100644 index 0000000..1aacbd4 --- /dev/null +++ b/repo/media/gexiv2/gexiv2.xibuild @@ -0,0 +1,25 @@ +#!/bin/sh + +NAME="gexiv2" +DESC="GObject-based wrapper around the Exiv2 library" + +MAKEDEPS="meson ninja " +DEPS="exiv2 glib " + +PKG_VER=0.14.0 +SOURCE="https://download.gnome.org/sources/gexiv2/${PKG_VER%.*}/gexiv2-$PKG_VER.tar.xz" + +build () { + mkdir build && + cd build && + meson --prefix=/usr \ + -Dgtk_doc=true \ + -Dintrospection=true \ + -Dvapi=true \ + .. && + ninja +} + +package () { + DESTDIR=$PKG_DEST ninja install +} diff --git a/repo/media/lame.xibuild b/repo/media/lame.xibuild deleted file mode 100644 index 311292b..0000000 --- a/repo/media/lame.xibuild +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/sh - -NAME="lame" -DESC="An MP3 encoder and graphical frame analyzer" - -MAKEDEPS="make nasm" -DEPS="musl " - -PKG_VER=3.100 -SOURCE="https://downloads.sourceforge.net/project/lame/lame/$PKG_VER/lame-$PKG_VER.tar.gz" - -prepare () { - # fix for parallel builds - mkdir -p libmp3lame/i386/.libs - - # fix for pic build with new nasm - sed -i -e '/define sp/s/+/ + /g' libmp3lame/i386/nasm.h - - aclocal && automake --force --add-missing -} - -build () { - ./configure \ - --prefix=/usr - --bindir=/usr/bin \ - --sysconfdir=/etc \ - --disable-static \ - --disable-mp3x \ - --enable-nasm \ - --with-pic - make -} - -package () { - make DESTDIR=$PKG_DEST install -} diff --git a/repo/media/lame/lame.xibuild b/repo/media/lame/lame.xibuild new file mode 100644 index 0000000..311292b --- /dev/null +++ b/repo/media/lame/lame.xibuild @@ -0,0 +1,36 @@ +#!/bin/sh + +NAME="lame" +DESC="An MP3 encoder and graphical frame analyzer" + +MAKEDEPS="make nasm" +DEPS="musl " + +PKG_VER=3.100 +SOURCE="https://downloads.sourceforge.net/project/lame/lame/$PKG_VER/lame-$PKG_VER.tar.gz" + +prepare () { + # fix for parallel builds + mkdir -p libmp3lame/i386/.libs + + # fix for pic build with new nasm + sed -i -e '/define sp/s/+/ + /g' libmp3lame/i386/nasm.h + + aclocal && automake --force --add-missing +} + +build () { + ./configure \ + --prefix=/usr + --bindir=/usr/bin \ + --sysconfdir=/etc \ + --disable-static \ + --disable-mp3x \ + --enable-nasm \ + --with-pic + make +} + +package () { + make DESTDIR=$PKG_DEST install +} diff --git a/repo/media/libass.xibuild b/repo/media/libass.xibuild deleted file mode 100644 index 60e3e04..0000000 --- a/repo/media/libass.xibuild +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/sh - -NAME="libass" -DESC="Portable library for SSA/ASS subtitle rendering" - -MAKEDEPS="make " -DEPS="fontconfig fribidi freetype2 harfbuzz " - -PKG_VER=0.15.2 -SOURCE="https://github.com/libass/libass/releases/download/$PKG_VER/libass-$PKG_VER.tar.xz" - -build () { - ./configure \ - --prefix=/usr - --bindir=/usr/bin \ - --sysconfdir=/etc \ - --disable-static - make -} - -package () { - make DESTDIR=$PKG_DEST install -} diff --git a/repo/media/libass/libass.xibuild b/repo/media/libass/libass.xibuild new file mode 100644 index 0000000..60e3e04 --- /dev/null +++ b/repo/media/libass/libass.xibuild @@ -0,0 +1,23 @@ +#!/bin/sh + +NAME="libass" +DESC="Portable library for SSA/ASS subtitle rendering" + +MAKEDEPS="make " +DEPS="fontconfig fribidi freetype2 harfbuzz " + +PKG_VER=0.15.2 +SOURCE="https://github.com/libass/libass/releases/download/$PKG_VER/libass-$PKG_VER.tar.xz" + +build () { + ./configure \ + --prefix=/usr + --bindir=/usr/bin \ + --sysconfdir=/etc \ + --disable-static + make +} + +package () { + make DESTDIR=$PKG_DEST install +} diff --git a/repo/media/libjpeg-turbo.xibuild b/repo/media/libjpeg-turbo.xibuild deleted file mode 100644 index 5840097..0000000 --- a/repo/media/libjpeg-turbo.xibuild +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh - -NAME="libjpeg-turbo" -DESC="Accelerated baseline JPEG compression and decompression library" - -MAKEDEPS="" -DEPS="musl " - -PKG_VER=2.1.3 -SOURCE="https://downloads.sourceforge.net/libjpeg-turbo/libjpeg-turbo-$PKG_VER.tar.gz" - -build () { - cmake -B build -G Ninja \ - -DCMAKE_INSTALL_PREFIX=/usr \ - -DCMAKE_INSTALL_LIBDIR=/usr/lib \ - -DBUILD_SHARED_LIBS=True \ - -DWITH_JPEG8=1 \ - -DBUILD_STATIC_LIBS=OFF - cmake --build build -} - -package () { - DESTDIR="$PKG_DEST" cmake --install build -} - diff --git a/repo/media/libjpeg-turbo/libjpeg-turbo.xibuild b/repo/media/libjpeg-turbo/libjpeg-turbo.xibuild new file mode 100644 index 0000000..5840097 --- /dev/null +++ b/repo/media/libjpeg-turbo/libjpeg-turbo.xibuild @@ -0,0 +1,25 @@ +#!/bin/sh + +NAME="libjpeg-turbo" +DESC="Accelerated baseline JPEG compression and decompression library" + +MAKEDEPS="" +DEPS="musl " + +PKG_VER=2.1.3 +SOURCE="https://downloads.sourceforge.net/libjpeg-turbo/libjpeg-turbo-$PKG_VER.tar.gz" + +build () { + cmake -B build -G Ninja \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=/usr/lib \ + -DBUILD_SHARED_LIBS=True \ + -DWITH_JPEG8=1 \ + -DBUILD_STATIC_LIBS=OFF + cmake --build build +} + +package () { + DESTDIR="$PKG_DEST" cmake --install build +} + diff --git a/repo/media/libmpdclient.xibuild b/repo/media/libmpdclient.xibuild deleted file mode 100644 index a80ad57..0000000 --- a/repo/media/libmpdclient.xibuild +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh - -NAME="libmpdclient" -DESC="An asynchronous API library for interfacing MPD in the C, C++ & Objective C languages" - -MAKEDEPS="meson ninja " -DEPS="musl" - -PKG_VER=2.19 -SOURCE="https://www.musicpd.org/download/libmpdclient/${PKG_VER%.*}/libmpdclient-$PKG_VER.tar.xz" - -build () { - cd build && - meson --prefix=/usr .. && - ninja -} - -package () { - DESTDIR=$PKG_DEST ninja install -} diff --git a/repo/media/libmpdclient/libmpdclient.xibuild b/repo/media/libmpdclient/libmpdclient.xibuild new file mode 100644 index 0000000..a80ad57 --- /dev/null +++ b/repo/media/libmpdclient/libmpdclient.xibuild @@ -0,0 +1,20 @@ +#!/bin/sh + +NAME="libmpdclient" +DESC="An asynchronous API library for interfacing MPD in the C, C++ & Objective C languages" + +MAKEDEPS="meson ninja " +DEPS="musl" + +PKG_VER=2.19 +SOURCE="https://www.musicpd.org/download/libmpdclient/${PKG_VER%.*}/libmpdclient-$PKG_VER.tar.xz" + +build () { + cd build && + meson --prefix=/usr .. && + ninja +} + +package () { + DESTDIR=$PKG_DEST ninja install +} diff --git a/repo/media/libmypaint.xibuild b/repo/media/libmypaint.xibuild deleted file mode 100644 index 87df793..0000000 --- a/repo/media/libmypaint.xibuild +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/sh - -NAME="libmypaint" -DESC="library for making brushstrokes" - -MAKEDEPS="make " -DEPS="glib json-c intltool " - -PKG_VER=1.6.1 -SOURCE="https://github.com/mypaint/libmypaint/releases/download/v$PKG_VER/libmypaint-$PKG_VER.tar.xz" - -build () { - ./configure \ - --prefix=/usr \ - --bindir=/usr/bin \ - --sysconfdir=/etc \ - --disable-static - make -} - -package () { - make DESTDIR=$PKG_DEST install -} diff --git a/repo/media/libmypaint/libmypaint.xibuild b/repo/media/libmypaint/libmypaint.xibuild new file mode 100644 index 0000000..87df793 --- /dev/null +++ b/repo/media/libmypaint/libmypaint.xibuild @@ -0,0 +1,23 @@ +#!/bin/sh + +NAME="libmypaint" +DESC="library for making brushstrokes" + +MAKEDEPS="make " +DEPS="glib json-c intltool " + +PKG_VER=1.6.1 +SOURCE="https://github.com/mypaint/libmypaint/releases/download/v$PKG_VER/libmypaint-$PKG_VER.tar.xz" + +build () { + ./configure \ + --prefix=/usr \ + --bindir=/usr/bin \ + --sysconfdir=/etc \ + --disable-static + make +} + +package () { + make DESTDIR=$PKG_DEST install +} diff --git a/repo/media/libogg.xibuild b/repo/media/libogg.xibuild deleted file mode 100644 index 51a6b9b..0000000 --- a/repo/media/libogg.xibuild +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/sh - -MAKEDEPS="make" -DEPS="" - -DESC="Ogg bitstream and framing library" - -PKG_VER=1.3.5 -SOURCE=https://downloads.xiph.org/releases/ogg/libogg-$PKG_VER.tar.xz - -build () { - ./configure --prefix=/usr \ - --disable-static \ - --docdir=/usr/share/doc/libogg-$PKG_VER && - make - -} - -package () { - make DESTDIR=$PKG_DEST install -} diff --git a/repo/media/libogg/libogg.xibuild b/repo/media/libogg/libogg.xibuild new file mode 100644 index 0000000..51a6b9b --- /dev/null +++ b/repo/media/libogg/libogg.xibuild @@ -0,0 +1,21 @@ +#!/bin/sh + +MAKEDEPS="make" +DEPS="" + +DESC="Ogg bitstream and framing library" + +PKG_VER=1.3.5 +SOURCE=https://downloads.xiph.org/releases/ogg/libogg-$PKG_VER.tar.xz + +build () { + ./configure --prefix=/usr \ + --disable-static \ + --docdir=/usr/share/doc/libogg-$PKG_VER && + make + +} + +package () { + make DESTDIR=$PKG_DEST install +} diff --git a/repo/media/libraw.xibuild b/repo/media/libraw.xibuild deleted file mode 100644 index 5a06397..0000000 --- a/repo/media/libraw.xibuild +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/sh - -NAME="libraw" -DESC="Library for reading RAW files obtained from digital photo cameras" - -MAKEDEPS="make " -DEPS="musl " - -PKG_VER=0.20.2 -SOURCE="https://www.libraw.org/data/LibRaw-$PKG_VER.tar.gz" - -prepare () { - autoreconf -fi -} - -build () { - ./configure \ - --prefix=/usr \ - --bindir=/usr/bin \ - --sysconfdir=/etc \ - --disable-static - make -} - -package () { - make DESTDIR=$PKG_DEST install -} diff --git a/repo/media/libraw/libraw.xibuild b/repo/media/libraw/libraw.xibuild new file mode 100644 index 0000000..5a06397 --- /dev/null +++ b/repo/media/libraw/libraw.xibuild @@ -0,0 +1,27 @@ +#!/bin/sh + +NAME="libraw" +DESC="Library for reading RAW files obtained from digital photo cameras" + +MAKEDEPS="make " +DEPS="musl " + +PKG_VER=0.20.2 +SOURCE="https://www.libraw.org/data/LibRaw-$PKG_VER.tar.gz" + +prepare () { + autoreconf -fi +} + +build () { + ./configure \ + --prefix=/usr \ + --bindir=/usr/bin \ + --sysconfdir=/etc \ + --disable-static + make +} + +package () { + make DESTDIR=$PKG_DEST install +} diff --git a/repo/media/librist.xibuild b/repo/media/librist.xibuild deleted file mode 100644 index a51c3fa..0000000 --- a/repo/media/librist.xibuild +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh - -NAME="librist" -DESC="Reliable Internet Stream Transport (RIST)" - -MAKEDEPS="meson ninja " -DEPS="linux-headers jsoncpp musl " - -PKG_VER=0.2.6 -SOURCE="https://code.videolan.org/rist/librist/-/archive/v$PKG_VER/librist-v$PKG_VER.tar.gz" - -build () { - mkdir build && - cd build && - meson --prefix=/usr \ - .. && - ninja -} - -package () { - DESTDIR=$PKG_DEST ninja install -} diff --git a/repo/media/librist/librist.xibuild b/repo/media/librist/librist.xibuild new file mode 100644 index 0000000..a51c3fa --- /dev/null +++ b/repo/media/librist/librist.xibuild @@ -0,0 +1,22 @@ +#!/bin/sh + +NAME="librist" +DESC="Reliable Internet Stream Transport (RIST)" + +MAKEDEPS="meson ninja " +DEPS="linux-headers jsoncpp musl " + +PKG_VER=0.2.6 +SOURCE="https://code.videolan.org/rist/librist/-/archive/v$PKG_VER/librist-v$PKG_VER.tar.gz" + +build () { + mkdir build && + cd build && + meson --prefix=/usr \ + .. && + ninja +} + +package () { + DESTDIR=$PKG_DEST ninja install +} diff --git a/repo/media/libsamplerate.xibuild b/repo/media/libsamplerate.xibuild deleted file mode 100644 index 1c3dd07..0000000 --- a/repo/media/libsamplerate.xibuild +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh - -MAKEDEPS="make xmlto" -DEPS="libogg nasm" - -DESC="An audio sample rate conversion library" - -PKG_VER=0.2.2 -SOURCE=https://github.com/libsndfile/libsamplerate/releases/download/$PKG_VER/libsamplerate-$PKG_VER.tar.xz - -build () { - ./configure --prefix=/usr \ - --disable-static \ - --docdir=/usr/share/doc/libsamplerate-$PKG_VER && - make -} - -package () { - make DESTDIR=$PKG_DEST install -} diff --git a/repo/media/libsamplerate/libsamplerate.xibuild b/repo/media/libsamplerate/libsamplerate.xibuild new file mode 100644 index 0000000..1c3dd07 --- /dev/null +++ b/repo/media/libsamplerate/libsamplerate.xibuild @@ -0,0 +1,20 @@ +#!/bin/sh + +MAKEDEPS="make xmlto" +DEPS="libogg nasm" + +DESC="An audio sample rate conversion library" + +PKG_VER=0.2.2 +SOURCE=https://github.com/libsndfile/libsamplerate/releases/download/$PKG_VER/libsamplerate-$PKG_VER.tar.xz + +build () { + ./configure --prefix=/usr \ + --disable-static \ + --docdir=/usr/share/doc/libsamplerate-$PKG_VER && + make +} + +package () { + make DESTDIR=$PKG_DEST install +} diff --git a/repo/media/libsndfile.xibuild b/repo/media/libsndfile.xibuild deleted file mode 100644 index 78ae0f1..0000000 --- a/repo/media/libsndfile.xibuild +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh - -MAKEDEPS="make " -DEPS="alsa-lib flac opus libvorbis" - -DESC="A C library for reading and writing files containing sampled audio data" - -PKG_VER=1.0.31 -SOURCE=https://github.com/libsndfile/libsndfile/releases/download/$PKG_VER/libsndfile-$PKG_VER.tar.bz2 - -build () { - ./configure --prefix=/usr \ - --disable-static \ - --docdir=/usr/share/doc/libsndfile-$PKG_VER && - make -} - -package () { - make DESTDIR=$PKG_DEST install -} diff --git a/repo/media/libsndfile/libsndfile.xibuild b/repo/media/libsndfile/libsndfile.xibuild new file mode 100644 index 0000000..78ae0f1 --- /dev/null +++ b/repo/media/libsndfile/libsndfile.xibuild @@ -0,0 +1,20 @@ +#!/bin/sh + +MAKEDEPS="make " +DEPS="alsa-lib flac opus libvorbis" + +DESC="A C library for reading and writing files containing sampled audio data" + +PKG_VER=1.0.31 +SOURCE=https://github.com/libsndfile/libsndfile/releases/download/$PKG_VER/libsndfile-$PKG_VER.tar.bz2 + +build () { + ./configure --prefix=/usr \ + --disable-static \ + --docdir=/usr/share/doc/libsndfile-$PKG_VER && + make +} + +package () { + make DESTDIR=$PKG_DEST install +} diff --git a/repo/media/libsrt.xibuild b/repo/media/libsrt.xibuild deleted file mode 100644 index 3d79326..0000000 --- a/repo/media/libsrt.xibuild +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/sh - -NAME="libsrt" -DESC="Secure Reliable Transport (SRT)" - -MAKEDEPS="cmake " -DEPS="openssl musl" - -PKG_VER=1.4.4 -SOURCE="https://github.com/Haivision/srt/archive/v$PKG_VER.tar.gz" -ADDITIONAL="fix-cmake.patch " - -prepare () { - apply_patches -} - -build () { - cmake -B build \ - -DCMAKE_INSTALL_PREFIX=/usr \ - -DCMAKE_INSTALL_LIBDIR=/usr/lib \ - -DBUILD_SHARED_LIBS=True \ - -DBUILD_STATIC_LIBS=OFF - cmake --build build -} - -package () { - DESTDIR="$PKG_DEST" cmake --install build -} diff --git a/repo/media/libsrt/fix-cmake.patch b/repo/media/libsrt/fix-cmake.patch new file mode 100644 index 0000000..6193da2 --- /dev/null +++ b/repo/media/libsrt/fix-cmake.patch @@ -0,0 +1,39 @@ +Upstream: Should be, and they should fix it +Reason: Fixes a few issues + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ed6e603..5f899c1 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -34,14 +34,8 @@ set_if(GNU ${CMAKE_SYSTEM_NAME} MATCHES "GNU") + set_if(POSIX LINUX OR DARWIN OR BSD OR (CYGWIN AND CYGWIN_USE_POSIX)) + set_if(SYMLINKABLE LINUX OR DARWIN OR BSD OR CYGWIN OR GNU) + +-# Not sure what to do in case of compiling by MSVC. +-# This will make installdir in C:\Program Files\SRT then +-# inside "bin" and "lib64" directories. At least this maintains +-# the current status. Shall this be not desired, override values +-# of CMAKE_INSTALL_BINDIR, CMAKE_INSTALL_LIBDIR and CMAKE_INSTALL_INCLUDEDIR. +-if (NOT DEFINED CMAKE_INSTALL_LIBDIR) +- include(GNUInstallDirs) +-endif() ++ ++include(GNUInstallDirs) + + set (SRT_VERSION 1.4.2) + set_version_variables(SRT_VERSION ${SRT_VERSION}) +@@ -59,14 +53,6 @@ endif() + # Set CMAKE_BUILD_TYPE properly, now that you know + # that ENABLE_DEBUG is set as it should. + +-if (ENABLE_DEBUG EQUAL 2) +- set (CMAKE_BUILD_TYPE "RelWithDebInfo") +-elseif (ENABLE_DEBUG) # 1, ON, YES, TRUE, Y, or any other non-zero number +- set (CMAKE_BUILD_TYPE "Debug") +-else() +- set (CMAKE_BUILD_TYPE "Release") +-endif() +- + message(STATUS "BUILD TYPE: ${CMAKE_BUILD_TYPE}") + + getVarsWith(ENFORCE_ enforcers) diff --git a/repo/media/libsrt/libsrt.xibuild b/repo/media/libsrt/libsrt.xibuild new file mode 100644 index 0000000..3d79326 --- /dev/null +++ b/repo/media/libsrt/libsrt.xibuild @@ -0,0 +1,28 @@ +#!/bin/sh + +NAME="libsrt" +DESC="Secure Reliable Transport (SRT)" + +MAKEDEPS="cmake " +DEPS="openssl musl" + +PKG_VER=1.4.4 +SOURCE="https://github.com/Haivision/srt/archive/v$PKG_VER.tar.gz" +ADDITIONAL="fix-cmake.patch " + +prepare () { + apply_patches +} + +build () { + cmake -B build \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=/usr/lib \ + -DBUILD_SHARED_LIBS=True \ + -DBUILD_STATIC_LIBS=OFF + cmake --build build +} + +package () { + DESTDIR="$PKG_DEST" cmake --install build +} diff --git a/repo/media/libtheora.xibuild b/repo/media/libtheora.xibuild deleted file mode 100644 index 64bfcc0..0000000 --- a/repo/media/libtheora.xibuild +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh - -MAKEDEPS="make" -DEPS="libogg libvorbis" - -DESC="An open video codec developed by the Xiph.org" - -PKG_VER=1.1.1 -SOURCE=https://downloads.xiph.org/releases/theora/libtheora-$PKG_VER.tar.xz - -prepare () { - sed -i 's/png_\(sizeof\)/\1/g' examples/png2theora.c -} - -build () { - ./configure --prefix=/usr --disable-static && - make -} - -package () { - make DESTDIR=$PKG_DEST install -} diff --git a/repo/media/libtheora/libtheora.xibuild b/repo/media/libtheora/libtheora.xibuild new file mode 100644 index 0000000..64bfcc0 --- /dev/null +++ b/repo/media/libtheora/libtheora.xibuild @@ -0,0 +1,22 @@ +#!/bin/sh + +MAKEDEPS="make" +DEPS="libogg libvorbis" + +DESC="An open video codec developed by the Xiph.org" + +PKG_VER=1.1.1 +SOURCE=https://downloads.xiph.org/releases/theora/libtheora-$PKG_VER.tar.xz + +prepare () { + sed -i 's/png_\(sizeof\)/\1/g' examples/png2theora.c +} + +build () { + ./configure --prefix=/usr --disable-static && + make +} + +package () { + make DESTDIR=$PKG_DEST install +} diff --git a/repo/media/libvorbis.xibuild b/repo/media/libvorbis.xibuild deleted file mode 100644 index 5952715..0000000 --- a/repo/media/libvorbis.xibuild +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh - -MAKEDEPS="make" -DEPS="libogg" - -DESC="Reference implementation of the Ogg Vorbis audio format" - -PKG_VER=1.3.7 -SOURCE=https://downloads.xiph.org/releases/vorbis/libvorbis-$PKG_VER.tar.xz - -build () { - ./configure --prefix=/usr --disable-static && - make -} - -package () { - make DESTDIR=$PKG_DEST install - install -m644 doc/Vorbis* $PKG_DEST/usr/share/doc/libvorbis-$PKG_VER -} diff --git a/repo/media/libvorbis/libvorbis.xibuild b/repo/media/libvorbis/libvorbis.xibuild new file mode 100644 index 0000000..5952715 --- /dev/null +++ b/repo/media/libvorbis/libvorbis.xibuild @@ -0,0 +1,19 @@ +#!/bin/sh + +MAKEDEPS="make" +DEPS="libogg" + +DESC="Reference implementation of the Ogg Vorbis audio format" + +PKG_VER=1.3.7 +SOURCE=https://downloads.xiph.org/releases/vorbis/libvorbis-$PKG_VER.tar.xz + +build () { + ./configure --prefix=/usr --disable-static && + make +} + +package () { + make DESTDIR=$PKG_DEST install + install -m644 doc/Vorbis* $PKG_DEST/usr/share/doc/libvorbis-$PKG_VER +} diff --git a/repo/media/libvpx.xibuild b/repo/media/libvpx.xibuild deleted file mode 100644 index 7614473..0000000 --- a/repo/media/libvpx.xibuild +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/sh - -MAKEDEPS="make" -DEPS="nasm which" - -DESC="VP8 and VP9 codec" - -PKG_VER=1.11.0 -SOURCE=https://github.com/webmproject/libvpx/archive/v$PKG_VER/libvpx-$PKG_VER.tar.gz - -prepare () { - sed -i 's/cp -p/cp/' build/make/Makefile - sed -i 's/diff --version/command -v diff/' configure -} - -build () { - mkdir libvpx-build && - cd libvpx-build && - - ../configure --prefix=/usr \ - --enable-shared \ - --disable-static && - make -} - -package () { - make DESTDIR=$PKG_DEST install -} diff --git a/repo/media/libvpx/libvpx.xibuild b/repo/media/libvpx/libvpx.xibuild new file mode 100644 index 0000000..7614473 --- /dev/null +++ b/repo/media/libvpx/libvpx.xibuild @@ -0,0 +1,28 @@ +#!/bin/sh + +MAKEDEPS="make" +DEPS="nasm which" + +DESC="VP8 and VP9 codec" + +PKG_VER=1.11.0 +SOURCE=https://github.com/webmproject/libvpx/archive/v$PKG_VER/libvpx-$PKG_VER.tar.gz + +prepare () { + sed -i 's/cp -p/cp/' build/make/Makefile + sed -i 's/diff --version/command -v diff/' configure +} + +build () { + mkdir libvpx-build && + cd libvpx-build && + + ../configure --prefix=/usr \ + --enable-shared \ + --disable-static && + make +} + +package () { + make DESTDIR=$PKG_DEST install +} diff --git a/repo/media/libwebp.xibuild b/repo/media/libwebp.xibuild deleted file mode 100644 index ff84576..0000000 --- a/repo/media/libwebp.xibuild +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/sh - -NAME="libwebp" -DESC="Libraries for working with WebP images" - -MAKEDEPS="make " -DEPS="musl " - -PKG_VER=1.2.2 -SOURCE="https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-$PKG_VER.tar.gz" - -prepare() { - ./autogen.sh -} - -build () { - ./configure \ - --prefix=/usr - --bindir=/usr/bin \ - --sysconfdir=/etc \ - --disable-static \ - --enable-libwebpmux \ - --enable-libwebpdemux \ - --enable-libwebpdecoder \ - --disable-tiff - make -} - -package () { - make DESTDIR=$PKG_DEST install - mkdir -p $PKG_DEST/usr/share/doc/libwebp - install -Dm644 PATENTS README $PKG_DEST/usr/share/doc/libwebp -} diff --git a/repo/media/libwebp/libwebp.xibuild b/repo/media/libwebp/libwebp.xibuild new file mode 100644 index 0000000..ff84576 --- /dev/null +++ b/repo/media/libwebp/libwebp.xibuild @@ -0,0 +1,33 @@ +#!/bin/sh + +NAME="libwebp" +DESC="Libraries for working with WebP images" + +MAKEDEPS="make " +DEPS="musl " + +PKG_VER=1.2.2 +SOURCE="https://storage.googleapis.com/downloads.webmproject.org/releases/webp/libwebp-$PKG_VER.tar.gz" + +prepare() { + ./autogen.sh +} + +build () { + ./configure \ + --prefix=/usr + --bindir=/usr/bin \ + --sysconfdir=/etc \ + --disable-static \ + --enable-libwebpmux \ + --enable-libwebpdemux \ + --enable-libwebpdecoder \ + --disable-tiff + make +} + +package () { + make DESTDIR=$PKG_DEST install + mkdir -p $PKG_DEST/usr/share/doc/libwebp + install -Dm644 PATENTS README $PKG_DEST/usr/share/doc/libwebp +} diff --git a/repo/media/mpc-mpd.xibuild b/repo/media/mpc-mpd.xibuild deleted file mode 100644 index 2d6d5f3..0000000 --- a/repo/media/mpc-mpd.xibuild +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/sh - -NAME="mpc-mpd" -DESC="Minimalist command line interface to MPD" - -MAKEDEPS="meson ninja rsync" -DEPS="musl libmpdclient mpd" - -PKG_VER=0.34 -SOURCE="https://www.musicpd.org/download/mpc/${PKG_VER%.*}/mpc-$PKG_VER.tar.xz" - -build () { - cd build - meson --prefix=/usr \ - .. && - ninja -} - -package () { - DESTDIR=$PKG_DEST ninja install -} diff --git a/repo/media/mpc-mpd/mpc-mpd.xibuild b/repo/media/mpc-mpd/mpc-mpd.xibuild new file mode 100644 index 0000000..2d6d5f3 --- /dev/null +++ b/repo/media/mpc-mpd/mpc-mpd.xibuild @@ -0,0 +1,21 @@ +#!/bin/sh + +NAME="mpc-mpd" +DESC="Minimalist command line interface to MPD" + +MAKEDEPS="meson ninja rsync" +DEPS="musl libmpdclient mpd" + +PKG_VER=0.34 +SOURCE="https://www.musicpd.org/download/mpc/${PKG_VER%.*}/mpc-$PKG_VER.tar.xz" + +build () { + cd build + meson --prefix=/usr \ + .. && + ninja +} + +package () { + DESTDIR=$PKG_DEST ninja install +} diff --git a/repo/media/mpd.xibuild b/repo/media/mpd.xibuild deleted file mode 100644 index afedb54..0000000 --- a/repo/media/mpd.xibuild +++ /dev/null @@ -1,48 +0,0 @@ -#!/bin/sh - -NAME="mpd" -DESC="Music daemon that plays MP3, FLAC, Ogg Vorbis files and Audio CDs" - -MAKEDEPS="meson ninja boost" -DEPS="alsa-lib sbase expat faad2 flac fmt icu lame libao bzip2 libid3tag libmad libogg pulseaudio libsamplerate libmpdclient libvorbis musl opus pipewire soxr wavpack zlib sqlite3 ffmpeg4" - -PKG_VER=0.23.6 -SOURCE="https://www.musicpd.org/download/mpd/${PKG_VER%.*}/mpd-$PKG_VER.tar.xz" -ADDITIONAL="libcdio-paa-version.patch libcdio-paranoia-version.patch mpd.confd mpd.initd" - -prepare () { - apply_patches -} - -build () { - cd build - meson --prefix=/usr \ - -Dopus=enabled \ - -Ddocumentation=enabled \ - -Dlibmpdclient=enabled \ - -Dpipewire=enabled \ - -Dwavpack=enabled \ - -Dffmpeg=enabled \ - .. && - - ninja -} - -package () { - DESTDIR=$PKG_DEST ninja install - cd .. - install -d $PKG_DEST/etc - sed -e 's:\#user.*:user\t\t"mpd":' \ - -e 's:\#log_file.*:log_file\t\t"syslog":' \ - doc/mpdconf.example > $PKG_DEST/etc/mpd.conf - install -m755 -D mpd.initd \ - "$PKG_DEST"/etc/init.d/mpd - install -m644 -D mpd.confd \ - "$PKG_DEST"/etc/conf.d/mpd - install -d -m775 \ - "$PKG_DEST"/var/run/mpd \ - "$PKG_DEST"/var/log/mpd \ - "$PKG_DEST"/var/lib/mpd \ - "$PKG_DEST"/var/lib/mpd/playlists \ - "$PKG_DEST"/var/lib/mpd/music -} diff --git a/repo/media/mpd/libcdio-paa-version.patch b/repo/media/mpd/libcdio-paa-version.patch new file mode 100644 index 0000000..82612b1 --- /dev/null +++ b/repo/media/mpd/libcdio-paa-version.patch @@ -0,0 +1,266 @@ + + + +aports - Alpine packages build scripts + + + + + + + + + +
+ + + + +
+aboutsummaryrefslogtreecommitdiffstats
+ + + +
+
+
Not found
+
+ +
+ + diff --git a/repo/media/mpd/libcdio-paranoia-version.patch b/repo/media/mpd/libcdio-paranoia-version.patch new file mode 100644 index 0000000..44810b3 --- /dev/null +++ b/repo/media/mpd/libcdio-paranoia-version.patch @@ -0,0 +1,13 @@ +diff --git a/src/input/plugins/meson.build b/src/input/plugins/meson.build +index 7322365..65ff564 100644 +--- a/src/input/plugins/meson.build ++++ b/src/input/plugins/meson.build +@@ -10,7 +10,7 @@ if alsa_dep.found() + input_plugins_sources += 'AlsaInputPlugin.cxx' + endif + +-libcdio_paranoia_dep = dependency('libcdio_paranoia', version: '>= 10.2+0.93+1', required: get_option('cdio_paranoia')) ++libcdio_paranoia_dep = dependency('libcdio_paranoia', required: get_option('cdio_paranoia')) + input_features.set('ENABLE_CDIO_PARANOIA', libcdio_paranoia_dep.found()) + if libcdio_paranoia_dep.found() + input_plugins_sources += 'CdioParanoiaInputPlugin.cxx' diff --git a/repo/media/mpd/mpd.confd b/repo/media/mpd/mpd.confd new file mode 100644 index 0000000..720306e --- /dev/null +++ b/repo/media/mpd/mpd.confd @@ -0,0 +1,7 @@ +# conf.d file for music player daemon + +# +# Specify daemon $OPTS here. +# + +OPTS="" diff --git a/repo/media/mpd/mpd.initd b/repo/media/mpd/mpd.initd new file mode 100644 index 0000000..817583c --- /dev/null +++ b/repo/media/mpd/mpd.initd @@ -0,0 +1,25 @@ +#!/sbin/openrc-run + +# init.d file for music player daemon + +supervisor=supervise-daemon + +name="Music Player Daemon" +description="A daemon for playing music" + +command=/usr/bin/mpd +command_args="$MPD_OPTS" +command_args_foreground="--no-daemon" + +command_user="${M_USER:-mpd}:${M_GROUP:-audio}" + +depend() { + need localmount + use net netmount nfsmount esound pulseaudio + after firewall +} + +start_pre() { + checkpath --directory --quiet \ + --owner "${M_USER:-mpd}" --mode 0775 /var/run/mpd +} diff --git a/repo/media/mpd/mpd.xibuild b/repo/media/mpd/mpd.xibuild new file mode 100644 index 0000000..afedb54 --- /dev/null +++ b/repo/media/mpd/mpd.xibuild @@ -0,0 +1,48 @@ +#!/bin/sh + +NAME="mpd" +DESC="Music daemon that plays MP3, FLAC, Ogg Vorbis files and Audio CDs" + +MAKEDEPS="meson ninja boost" +DEPS="alsa-lib sbase expat faad2 flac fmt icu lame libao bzip2 libid3tag libmad libogg pulseaudio libsamplerate libmpdclient libvorbis musl opus pipewire soxr wavpack zlib sqlite3 ffmpeg4" + +PKG_VER=0.23.6 +SOURCE="https://www.musicpd.org/download/mpd/${PKG_VER%.*}/mpd-$PKG_VER.tar.xz" +ADDITIONAL="libcdio-paa-version.patch libcdio-paranoia-version.patch mpd.confd mpd.initd" + +prepare () { + apply_patches +} + +build () { + cd build + meson --prefix=/usr \ + -Dopus=enabled \ + -Ddocumentation=enabled \ + -Dlibmpdclient=enabled \ + -Dpipewire=enabled \ + -Dwavpack=enabled \ + -Dffmpeg=enabled \ + .. && + + ninja +} + +package () { + DESTDIR=$PKG_DEST ninja install + cd .. + install -d $PKG_DEST/etc + sed -e 's:\#user.*:user\t\t"mpd":' \ + -e 's:\#log_file.*:log_file\t\t"syslog":' \ + doc/mpdconf.example > $PKG_DEST/etc/mpd.conf + install -m755 -D mpd.initd \ + "$PKG_DEST"/etc/init.d/mpd + install -m644 -D mpd.confd \ + "$PKG_DEST"/etc/conf.d/mpd + install -d -m775 \ + "$PKG_DEST"/var/run/mpd \ + "$PKG_DEST"/var/log/mpd \ + "$PKG_DEST"/var/lib/mpd \ + "$PKG_DEST"/var/lib/mpd/playlists \ + "$PKG_DEST"/var/lib/mpd/music +} diff --git a/repo/media/openjpeg.xibuild b/repo/media/openjpeg.xibuild deleted file mode 100644 index 9a20ff7..0000000 --- a/repo/media/openjpeg.xibuild +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/sh - -NAME="openjpeg" -DESC="Open-source implementation of JPEG2000 image codec" - -MAKEDEPS="cmake " -DEPS="musl " - -PKG_VER=2.4.0 -SOURCE="https://github.com/uclouvain/openjpeg/archive/v$PKG_VER/openjpeg-v$PKG_VER.tar.gz" -ADDITIONAL="b4700bc09d55ac17ff6bef9b0a867f6de527be17.patch fix-cmakelists.patch " - -prepare () { - apply_patches -} - -build () { - cmake -B build \ - -DCMAKE_INSTALL_PREFIX=/usr \ - -DCMAKE_INSTALL_LIBDIR=/usr/lib \ - -DBUILD_SHARED_LIBS=True \ - -DBUILD_STATIC_LIBS=OFF - cmake --build build -} - -package () { - DESTDIR="$PKG_DEST" cmake --install build -} diff --git a/repo/media/openjpeg/b4700bc09d55ac17ff6bef9b0a867f6de527be17.patch b/repo/media/openjpeg/b4700bc09d55ac17ff6bef9b0a867f6de527be17.patch new file mode 100644 index 0000000..169e4ad --- /dev/null +++ b/repo/media/openjpeg/b4700bc09d55ac17ff6bef9b0a867f6de527be17.patch @@ -0,0 +1,77 @@ +From b4700bc09d55ac17ff6bef9b0a867f6de527be17 Mon Sep 17 00:00:00 2001 +From: Ariadne Conill +Date: Tue, 27 Apr 2021 09:37:40 -0600 +Subject: [PATCH] use calloc instead of malloc to allocate arrays + +--- + src/bin/jp2/opj_compress.c | 4 ++-- + src/bin/jp2/opj_decompress.c | 5 ++--- + src/bin/jp2/opj_dump.c | 6 +++--- + 3 files changed, 7 insertions(+), 8 deletions(-) + +diff --git a/src/bin/jp2/opj_compress.c b/src/bin/jp2/opj_compress.c +index 4cc513452..d8f894cb1 100644 +--- a/src/bin/jp2/opj_compress.c ++++ b/src/bin/jp2/opj_compress.c +@@ -1910,9 +1910,9 @@ int main(int argc, char **argv) + num_images = get_num_images(img_fol.imgdirpath); + dirptr = (dircnt_t*)malloc(sizeof(dircnt_t)); + if (dirptr) { +- dirptr->filename_buf = (char*)malloc(num_images * OPJ_PATH_LEN * sizeof( ++ dirptr->filename_buf = (char*)calloc(num_images, OPJ_PATH_LEN * sizeof( + char)); /* Stores at max 10 image file names*/ +- dirptr->filename = (char**) malloc(num_images * sizeof(char*)); ++ dirptr->filename = (char**) calloc(num_images, sizeof(char*)); + if (!dirptr->filename_buf) { + ret = 0; + goto fin; +diff --git a/src/bin/jp2/opj_decompress.c b/src/bin/jp2/opj_decompress.c +index 487e3fa18..e54e54fce 100644 +--- a/src/bin/jp2/opj_decompress.c ++++ b/src/bin/jp2/opj_decompress.c +@@ -1357,14 +1357,13 @@ int main(int argc, char **argv) + return EXIT_FAILURE; + } + /* Stores at max 10 image file names */ +- dirptr->filename_buf = (char*)malloc(sizeof(char) * +- (size_t)num_images * OPJ_PATH_LEN); ++ dirptr->filename_buf = calloc((size_t) num_images, sizeof(char) * OPJ_PATH_LEN); + if (!dirptr->filename_buf) { + failed = 1; + goto fin; + } + +- dirptr->filename = (char**) malloc((size_t)num_images * sizeof(char*)); ++ dirptr->filename = (char**) calloc((size_t) num_images, sizeof(char*)); + + if (!dirptr->filename) { + failed = 1; +diff --git a/src/bin/jp2/opj_dump.c b/src/bin/jp2/opj_dump.c +index 754a39dd0..4e19c6177 100644 +--- a/src/bin/jp2/opj_dump.c ++++ b/src/bin/jp2/opj_dump.c +@@ -457,7 +457,7 @@ int main(int argc, char *argv[]) + opj_codestream_info_v2_t* cstr_info = NULL; + opj_codestream_index_t* cstr_index = NULL; + +- OPJ_INT32 num_images, imageno; ++ int num_images, imageno; + img_fol_t img_fol; + dircnt_t *dirptr = NULL; + +@@ -486,13 +486,13 @@ int main(int argc, char *argv[]) + if (!dirptr) { + return EXIT_FAILURE; + } +- dirptr->filename_buf = (char*)malloc((size_t)num_images * OPJ_PATH_LEN * sizeof( ++ dirptr->filename_buf = (char*) calloc((size_t) num_images, OPJ_PATH_LEN * sizeof( + char)); /* Stores at max 10 image file names*/ + if (!dirptr->filename_buf) { + free(dirptr); + return EXIT_FAILURE; + } +- dirptr->filename = (char**) malloc((size_t)num_images * sizeof(char*)); ++ dirptr->filename = (char**) calloc((size_t) num_images, sizeof(char*)); + + if (!dirptr->filename) { + goto fails; diff --git a/repo/media/openjpeg/fix-cmakelists.patch b/repo/media/openjpeg/fix-cmakelists.patch new file mode 100644 index 0000000..ee5fb01 --- /dev/null +++ b/repo/media/openjpeg/fix-cmakelists.patch @@ -0,0 +1,11 @@ +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -148,7 +148,7 @@ + # We could install *.cmake files in share/ however those files contains + # hardcoded path to libraries on a multi-arch system (fedora/debian) those + # path will be different (lib/i386-linux-gnu vs lib/x86_64-linux-gnu) +- set(OPENJPEG_INSTALL_PACKAGE_DIR "${OPENJPEG_INSTALL_LIB_DIR}/${OPENJPEG_INSTALL_SUBDIR}") ++ set(OPENJPEG_INSTALL_PACKAGE_DIR "${OPENJPEG_INSTALL_LIB_DIR}/cmake/${OPENJPEG_INSTALL_SUBDIR}") + endif() + + if (APPLE) diff --git a/repo/media/openjpeg/openjpeg.xibuild b/repo/media/openjpeg/openjpeg.xibuild new file mode 100644 index 0000000..9a20ff7 --- /dev/null +++ b/repo/media/openjpeg/openjpeg.xibuild @@ -0,0 +1,28 @@ +#!/bin/sh + +NAME="openjpeg" +DESC="Open-source implementation of JPEG2000 image codec" + +MAKEDEPS="cmake " +DEPS="musl " + +PKG_VER=2.4.0 +SOURCE="https://github.com/uclouvain/openjpeg/archive/v$PKG_VER/openjpeg-v$PKG_VER.tar.gz" +ADDITIONAL="b4700bc09d55ac17ff6bef9b0a867f6de527be17.patch fix-cmakelists.patch " + +prepare () { + apply_patches +} + +build () { + cmake -B build \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=/usr/lib \ + -DBUILD_SHARED_LIBS=True \ + -DBUILD_STATIC_LIBS=OFF + cmake --build build +} + +package () { + DESTDIR="$PKG_DEST" cmake --install build +} diff --git a/repo/media/opus.xibuild b/repo/media/opus.xibuild deleted file mode 100644 index bb254e2..0000000 --- a/repo/media/opus.xibuild +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh - -MAKEDEPS="make" -DEPS="musl" - -DESC="Totally open, royalty-free, highly versatile audio codec" - -PKG_VER=1.3.1 -SOURCE=https://archive.mozilla.org/pub/opus/opus-$PKG_VER.tar.gz - -build () { - ./configure --prefix=/usr \ - --prefix=/usr \ - --sysconfdir=/etc \ - --mandir=/usr/share/man \ - --infodir=/usr/share/info \ - --localstatedir=/var \ - --enable-custom-modes - - make -} - -package () { - make DESTDIR=$PKG_DEST install -} diff --git a/repo/media/opus/opus.xibuild b/repo/media/opus/opus.xibuild new file mode 100644 index 0000000..bb254e2 --- /dev/null +++ b/repo/media/opus/opus.xibuild @@ -0,0 +1,25 @@ +#!/bin/sh + +MAKEDEPS="make" +DEPS="musl" + +DESC="Totally open, royalty-free, highly versatile audio codec" + +PKG_VER=1.3.1 +SOURCE=https://archive.mozilla.org/pub/opus/opus-$PKG_VER.tar.gz + +build () { + ./configure --prefix=/usr \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --localstatedir=/var \ + --enable-custom-modes + + make +} + +package () { + make DESTDIR=$PKG_DEST install +} diff --git a/repo/media/pipewire.xibuild b/repo/media/pipewire.xibuild deleted file mode 100644 index c663d25..0000000 --- a/repo/media/pipewire.xibuild +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/sh - -MAKEDEPS="make" -DEPS="bluez ffmpeg gstreamer gst-plugins-base libva pulseaudio sbc sdl2 v4l-utils" - -DESC="Low-latency audio/video router and processor" - -PKG_VER=0.3.47 -SOURCE=https://github.com/PipeWire/pipewire/archive/$PKG_VER/pipewire-$PKG_VER.tar.gz - -build () { - mkdir build && - cd build && - - meson --prefix=/usr --buildtype=release -Dsession-managers= .. && - ninja -} - -package () { - DESTDIR=$PKG_DEST ninja install -} diff --git a/repo/media/pipewire/pipewire.xibuild b/repo/media/pipewire/pipewire.xibuild new file mode 100644 index 0000000..c663d25 --- /dev/null +++ b/repo/media/pipewire/pipewire.xibuild @@ -0,0 +1,21 @@ +#!/bin/sh + +MAKEDEPS="make" +DEPS="bluez ffmpeg gstreamer gst-plugins-base libva pulseaudio sbc sdl2 v4l-utils" + +DESC="Low-latency audio/video router and processor" + +PKG_VER=0.3.47 +SOURCE=https://github.com/PipeWire/pipewire/archive/$PKG_VER/pipewire-$PKG_VER.tar.gz + +build () { + mkdir build && + cd build && + + meson --prefix=/usr --buildtype=release -Dsession-managers= .. && + ninja +} + +package () { + DESTDIR=$PKG_DEST ninja install +} diff --git a/repo/media/poppler.xibuild b/repo/media/poppler.xibuild deleted file mode 100644 index 181fc75..0000000 --- a/repo/media/poppler.xibuild +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/sh - -NAME="poppler" -DESC="PDF rendering library based on xpdf 3.0" - -MAKEDEPS="cmake " -DEPS="fontconfig freetype2 lcms2 libjpeg-turbo libpng musl openjpeg tiff " - -PKG_VER=22.03.0 -SOURCE="https://poppler.freedesktop.org/poppler-$PKG_VER.tar.xz" -ADDITIONAL="dont-enforce-build-type.patch " - -build () { - cmake -B build \ - -DCMAKE_INSTALL_PREFIX=/usr \ - -DCMAKE_INSTALL_LIBDIR=lib \ - -DENABLE_UNSTABLE_API_ABI_HEADERS=ON \ - -DBUILD_QT5_TESTS=OFF \ - -DENABLE_QT5=OFF \ - -DCMAKE_CXX_FLAGS="$CXXFLAGS" \ - -DCMAKE_C_FLAGS="$CFLAGS" \ - -DENABLE_BOOST=OFF \ - - cmake --build build -} - -package () { - DESTDIR="$PKG_DEST" cmake --install build -} diff --git a/repo/media/poppler/dont-enforce-build-type.patch b/repo/media/poppler/dont-enforce-build-type.patch new file mode 100644 index 0000000..5296880 --- /dev/null +++ b/repo/media/poppler/dont-enforce-build-type.patch @@ -0,0 +1,26 @@ +diff --git a/cmake/modules/PopplerMacros.cmake b/cmake/modules/PopplerMacros.cmake +index 2aed028..fdbe318 100644 +--- a/cmake/modules/PopplerMacros.cmake ++++ b/cmake/modules/PopplerMacros.cmake +@@ -75,21 +75,6 @@ if(WIN32) + "${CMAKE_INSTALL_PREFIX}/bin" ) + endif(WIN32) + +-if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) +- set(CMAKE_BUILD_TYPE RelWithDebInfo) +-endif(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES) +- +-string(TOUPPER "${CMAKE_BUILD_TYPE}" _CMAKE_BUILD_TYPE_UPPER) +-set(_known_build_types RELWITHDEBINFO;RELEASE;DEBUG;DEBUGFULL;PROFILE) +-# We override CMAKE_CXX_FLAGS_${_CMAKE_BUILD_TYPE_UPPER} below. If the user +-# selects a CMAKE_BUILD_TYPE that is not handled by the logic below, we will +-# end up dropping the previous flags (e.g. those set in a cross-compilation +-# CMake toolchain file). To avoid surprising compilation errors, we emit an +-# error in that case, so that the user can handle the passed CMAKE_BUILD_TYPE +-# in the compiler flags logic below. +-if (NOT "${_CMAKE_BUILD_TYPE_UPPER}" IN_LIST _known_build_types) +- message(FATAL_ERROR "Unsupported CMAKE_BUILD_TYPE: ${CMAKE_BUILD_TYPE}") +-endif() + set(_save_cflags "${CMAKE_C_FLAGS}") + set(_save_cxxflags "${CMAKE_CXX_FLAGS}") + diff --git a/repo/media/poppler/poppler.xibuild b/repo/media/poppler/poppler.xibuild new file mode 100644 index 0000000..181fc75 --- /dev/null +++ b/repo/media/poppler/poppler.xibuild @@ -0,0 +1,29 @@ +#!/bin/sh + +NAME="poppler" +DESC="PDF rendering library based on xpdf 3.0" + +MAKEDEPS="cmake " +DEPS="fontconfig freetype2 lcms2 libjpeg-turbo libpng musl openjpeg tiff " + +PKG_VER=22.03.0 +SOURCE="https://poppler.freedesktop.org/poppler-$PKG_VER.tar.xz" +ADDITIONAL="dont-enforce-build-type.patch " + +build () { + cmake -B build \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=lib \ + -DENABLE_UNSTABLE_API_ABI_HEADERS=ON \ + -DBUILD_QT5_TESTS=OFF \ + -DENABLE_QT5=OFF \ + -DCMAKE_CXX_FLAGS="$CXXFLAGS" \ + -DCMAKE_C_FLAGS="$CFLAGS" \ + -DENABLE_BOOST=OFF \ + + cmake --build build +} + +package () { + DESTDIR="$PKG_DEST" cmake --install build +} diff --git a/repo/media/pulseaudio.xibuild b/repo/media/pulseaudio.xibuild deleted file mode 100644 index 9554c72..0000000 --- a/repo/media/pulseaudio.xibuild +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/sh - -MAKEDEPS="make check" -DEPS="libsndfile alsa-lib dbus elogind glib libcap speex libxtst gdbm" - -DESC="A featureful, general-purpose sound server" - -PKG_VER=15.0 -SOURCE=https://www.freedesktop.org/software/pulseaudio/releases/pulseaudio-$PKG_VER.tar.xz - -build () { - mkdir build && - cd build && - - meson --prefix=/usr \ - --buildtype=release \ - -Ddatabase=gdbm \ - -Ddoxygen=false \ - -Dbluez5=disabled && - ninja -} - -package () { - DESTDIR=$PKG_DEST ninja install - rm -f $PKG_DEST/etc/dbus-1/system.d/pulseaudio-system.conf -} diff --git a/repo/media/pulseaudio/pulseaudio.xibuild b/repo/media/pulseaudio/pulseaudio.xibuild new file mode 100644 index 0000000..9554c72 --- /dev/null +++ b/repo/media/pulseaudio/pulseaudio.xibuild @@ -0,0 +1,26 @@ +#!/bin/sh + +MAKEDEPS="make check" +DEPS="libsndfile alsa-lib dbus elogind glib libcap speex libxtst gdbm" + +DESC="A featureful, general-purpose sound server" + +PKG_VER=15.0 +SOURCE=https://www.freedesktop.org/software/pulseaudio/releases/pulseaudio-$PKG_VER.tar.xz + +build () { + mkdir build && + cd build && + + meson --prefix=/usr \ + --buildtype=release \ + -Ddatabase=gdbm \ + -Ddoxygen=false \ + -Dbluez5=disabled && + ninja +} + +package () { + DESTDIR=$PKG_DEST ninja install + rm -f $PKG_DEST/etc/dbus-1/system.d/pulseaudio-system.conf +} diff --git a/repo/media/pulsemixer.xibuild b/repo/media/pulsemixer.xibuild deleted file mode 100644 index 4bf0850..0000000 --- a/repo/media/pulsemixer.xibuild +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh - -NAME="pulsemixer" -DESC="CLI and curses mixer for PulseAudio" - -MAKEDEPS="" -DEPS="pulseaudio python libtool" - -PKG_VER=1.5.1 -SOURCE="https://github.com/GeorgeFilipkin/pulsemixer/archive/$PKG_VER.tar.gz" - -build () { - python3 setup.py build -} - -package () { - python3 setup.py install --prefix=/usr --root=$PKG_DEST -} diff --git a/repo/media/pulsemixer/pulsemixer.xibuild b/repo/media/pulsemixer/pulsemixer.xibuild new file mode 100644 index 0000000..4bf0850 --- /dev/null +++ b/repo/media/pulsemixer/pulsemixer.xibuild @@ -0,0 +1,18 @@ +#!/bin/sh + +NAME="pulsemixer" +DESC="CLI and curses mixer for PulseAudio" + +MAKEDEPS="" +DEPS="pulseaudio python libtool" + +PKG_VER=1.5.1 +SOURCE="https://github.com/GeorgeFilipkin/pulsemixer/archive/$PKG_VER.tar.gz" + +build () { + python3 setup.py build +} + +package () { + python3 setup.py install --prefix=/usr --root=$PKG_DEST +} diff --git a/repo/media/soxr.xibuild b/repo/media/soxr.xibuild deleted file mode 100644 index 48b1e3b..0000000 --- a/repo/media/soxr.xibuild +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/sh - -NAME="soxr" -DESC="High quality, one-dimensional sample-rate conversion library" - -MAKEDEPS="cmake " -DEPS="musl " - -PKG_VER=0.1.3 -SOURCE="https://sourceforge.net/projects/soxr/files/soxr-$PKG_VER-Source.tar.xz/download" - -build () { - cmake -B build -G Ninja \ - -DCMAKE_INSTALL_PREFIX=/usr \ - -DCMAKE_INSTALL_LIBDIR=/usr/lib \ - -DBUILD_SHARED_LIBS=True \ - -DBUILD_STATIC_LIBS=OFF - cmake --build build -} - -package () { - DESTDIR="$PKG_DEST" cmake --install build -} diff --git a/repo/media/soxr/soxr.xibuild b/repo/media/soxr/soxr.xibuild new file mode 100644 index 0000000..48b1e3b --- /dev/null +++ b/repo/media/soxr/soxr.xibuild @@ -0,0 +1,23 @@ +#!/bin/sh + +NAME="soxr" +DESC="High quality, one-dimensional sample-rate conversion library" + +MAKEDEPS="cmake " +DEPS="musl " + +PKG_VER=0.1.3 +SOURCE="https://sourceforge.net/projects/soxr/files/soxr-$PKG_VER-Source.tar.xz/download" + +build () { + cmake -B build -G Ninja \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=/usr/lib \ + -DBUILD_SHARED_LIBS=True \ + -DBUILD_STATIC_LIBS=OFF + cmake --build build +} + +package () { + DESTDIR="$PKG_DEST" cmake --install build +} diff --git a/repo/media/tiff.xibuild b/repo/media/tiff.xibuild deleted file mode 100644 index 544116b..0000000 --- a/repo/media/tiff.xibuild +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/sh - -NAME="tiff" -DESC="Provides support for the Tag Image File Format or TIFF" - -MAKEDEPS="" -DEPS="musl xz zlib zstd " - -PKG_VER=4.3.0 -SOURCE="https://gitlab.com/libtiff/libtiff/-/archive/v$PKG_VER/libtiff-v$PKG_VER.tar.gz" -ADDITIONAL="CVE-2018-12900.patch " - -prepare () { - apply_patches - autoreconf -fi -} - -build () { - ./configure \ - --prefix=/usr - --bindir=/usr/bin \ - --sysconfdir=/etc \ - --disable-static \ - --enable-cxx - - make -} - -package () { - make DESTDIR=$PKG_DEST install -} - diff --git a/repo/media/tiff/CVE-2018-12900.patch b/repo/media/tiff/CVE-2018-12900.patch new file mode 100644 index 0000000..f95cd06 --- /dev/null +++ b/repo/media/tiff/CVE-2018-12900.patch @@ -0,0 +1,29 @@ +From 86861b86f26be5301ccfa96f9bf765051f4e644a Mon Sep 17 00:00:00 2001 +From: pgajdos +Date: Tue, 13 Nov 2018 09:03:31 +0100 +Subject: [PATCH] prevent integer overflow + +--- + tools/tiffcp.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/tools/tiffcp.c b/tools/tiffcp.c +index 2f406e2d..ece7ba13 100644 +--- a/tools/tiffcp.c ++++ b/tools/tiffcp.c +@@ -1435,6 +1435,12 @@ DECLAREreadFunc(readSeparateTilesIntoBuffer) + status = 0; + goto done; + } ++ if (0xFFFFFFFF / tilew < spp) ++ { ++ TIFFError(TIFFFileName(in), "Error, either TileWidth (%u) or BitsPerSample (%u) is too large", tilew, bps); ++ status = 0; ++ goto done; ++ } + bytes_per_sample = bps/8; + + for (row = 0; row < imagelength; row += tl) { +-- +2.18.1 + diff --git a/repo/media/tiff/tiff.xibuild b/repo/media/tiff/tiff.xibuild new file mode 100644 index 0000000..544116b --- /dev/null +++ b/repo/media/tiff/tiff.xibuild @@ -0,0 +1,32 @@ +#!/bin/sh + +NAME="tiff" +DESC="Provides support for the Tag Image File Format or TIFF" + +MAKEDEPS="" +DEPS="musl xz zlib zstd " + +PKG_VER=4.3.0 +SOURCE="https://gitlab.com/libtiff/libtiff/-/archive/v$PKG_VER/libtiff-v$PKG_VER.tar.gz" +ADDITIONAL="CVE-2018-12900.patch " + +prepare () { + apply_patches + autoreconf -fi +} + +build () { + ./configure \ + --prefix=/usr + --bindir=/usr/bin \ + --sysconfdir=/etc \ + --disable-static \ + --enable-cxx + + make +} + +package () { + make DESTDIR=$PKG_DEST install +} + diff --git a/repo/media/v4l-utils.xibuild b/repo/media/v4l-utils.xibuild deleted file mode 100644 index bd40b23..0000000 --- a/repo/media/v4l-utils.xibuild +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/sh - -NAME="v4l-utils" -DESC="Userspace tools and conversion library for Video 4 Linux" - -MAKEDEPS="make " -DEPS="alsa-lib libjpeg-turbo argp-standalone eudev " - -PKG_VER=1.22.1 -SOURCE="https://linuxtv.org/downloads/v4l-utils/v4l-utils-$PKG_VER.tar.bz2" -ADDITIONAL="fix_parse_next_subopt.patch types.patch " - -prepare () { - apply_patches -} - -build () { - ./configure \ - --prefix=/usr - --bindir=/usr/bin \ - --sysconfdir=/etc \ - --disable-static \ - --enable-libdvbv5 - make -} - -package () { - make DESTDIR=$PKG_DEST install -} diff --git a/repo/media/v4l-utils/fix_parse_next_subopt.patch b/repo/media/v4l-utils/fix_parse_next_subopt.patch new file mode 100644 index 0000000..d4df9d4 --- /dev/null +++ b/repo/media/v4l-utils/fix_parse_next_subopt.patch @@ -0,0 +1,36 @@ +parse_next_subopt() relies on undefined behavior and only works with glibc's +implementation of getsubopt(). This fixes the issue. +--- a/utils/v4l2-ctl/v4l2-ctl-common.cpp 2021-11-08 11:23:39.079748359 +0100 ++++ b/utils/v4l2-ctl/v4l2-ctl-common.cpp 2021-11-08 11:39:49.328576794 +0100 +@@ -956,15 +956,23 @@ static bool parse_subset(char *optarg) + + static bool parse_next_subopt(char **subs, char **value) + { +- static char *const subopts[] = { +- nullptr +- }; +- int opt = getsubopt(subs, subopts, value); ++ char *start = *subs; ++ if (!start || (start[0] == '\0')) { ++ fprintf(stderr, "Missing suboption value\n"); ++ return true; ++ } ++ *value = start; + +- if (opt < 0 || *value) +- return false; +- fprintf(stderr, "Missing suboption value\n"); +- return true; ++ char *sep = std::strchr(start, ','); ++ if (sep != nullptr) { ++ *sep = '\0'; ++ *subs = sep + 1; ++ } ++ else { ++ *subs = std::strchr(start, '\0'); ++ } ++ ++ return false; + } + + void common_cmd(const std::string &media_bus_info, int ch, char *optarg) diff --git a/repo/media/v4l-utils/types.patch b/repo/media/v4l-utils/types.patch new file mode 100644 index 0000000..340bb81 --- /dev/null +++ b/repo/media/v4l-utils/types.patch @@ -0,0 +1,26 @@ +--- a/utils/keytable/keymap.h ++++ b/utils/keytable/keymap.h +@@ -2,6 +2,10 @@ + #ifndef __KEYMAP_H + #define __KEYMAP_H + ++#include ++typedef uint32_t u_int32_t; ++typedef int error_t; ++ + struct keymap { + struct keymap *next; + char *name; +--- a/utils/ir-ctl/keymap.h ++++ b/utils/ir-ctl/keymap.h +@@ -2,6 +2,10 @@ + #ifndef __KEYMAP_H + #define __KEYMAP_H + ++#include ++typedef uint32_t u_int32_t; ++typedef int error_t; ++ + struct keymap { + struct keymap *next; + char *name; diff --git a/repo/media/v4l-utils/v4l-utils.xibuild b/repo/media/v4l-utils/v4l-utils.xibuild new file mode 100644 index 0000000..bd40b23 --- /dev/null +++ b/repo/media/v4l-utils/v4l-utils.xibuild @@ -0,0 +1,29 @@ +#!/bin/sh + +NAME="v4l-utils" +DESC="Userspace tools and conversion library for Video 4 Linux" + +MAKEDEPS="make " +DEPS="alsa-lib libjpeg-turbo argp-standalone eudev " + +PKG_VER=1.22.1 +SOURCE="https://linuxtv.org/downloads/v4l-utils/v4l-utils-$PKG_VER.tar.bz2" +ADDITIONAL="fix_parse_next_subopt.patch types.patch " + +prepare () { + apply_patches +} + +build () { + ./configure \ + --prefix=/usr + --bindir=/usr/bin \ + --sysconfdir=/etc \ + --disable-static \ + --enable-libdvbv5 + make +} + +package () { + make DESTDIR=$PKG_DEST install +} diff --git a/repo/media/vidstab.xibuild b/repo/media/vidstab.xibuild deleted file mode 100644 index cd0e5cf..0000000 --- a/repo/media/vidstab.xibuild +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/sh - -NAME="vidstab" -DESC="Video stabilization library" - -MAKEDEPS="cmake " -DEPS="musl " - -PKG_VER=1.1.0 -SOURCE="https://github.com/georgmartius/vid.stab/archive/v$PKG_VER/vid.stab-v$PKG_VER.tar.gz" - -build () { - cmake -B build \ - -DCMAKE_INSTALL_PREFIX=/usr \ - -DCMAKE_INSTALL_LIBDIR=/usr/lib \ - -DBUILD_SHARED_LIBS=True \ - -DBUILD_STATIC_LIBS=OFF - cmake --build build -} - -package () { - DESTDIR="$PKG_DEST" cmake --install build -} diff --git a/repo/media/vidstab/vidstab.xibuild b/repo/media/vidstab/vidstab.xibuild new file mode 100644 index 0000000..cd0e5cf --- /dev/null +++ b/repo/media/vidstab/vidstab.xibuild @@ -0,0 +1,23 @@ +#!/bin/sh + +NAME="vidstab" +DESC="Video stabilization library" + +MAKEDEPS="cmake " +DEPS="musl " + +PKG_VER=1.1.0 +SOURCE="https://github.com/georgmartius/vid.stab/archive/v$PKG_VER/vid.stab-v$PKG_VER.tar.gz" + +build () { + cmake -B build \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=/usr/lib \ + -DBUILD_SHARED_LIBS=True \ + -DBUILD_STATIC_LIBS=OFF + cmake --build build +} + +package () { + DESTDIR="$PKG_DEST" cmake --install build +} diff --git a/repo/media/wavpack.xibuild b/repo/media/wavpack.xibuild deleted file mode 100644 index eb9ccfc..0000000 --- a/repo/media/wavpack.xibuild +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh - -NAME="wavpack" -DESC="Audio compression format with lossless, lossy, and hybrid compression modes" - -MAKEDEPS="make " -DEPS="musl" - -PKG_VER=5.4.0 -SOURCE="http://www.wavpack.com/wavpack-$PKG_VER.tar.xz" - -build () { - ./configure \ - --prefix=/usr - --bindir=/usr/bin \ - --sysconfdir=/etc \ - --mandir=/usr/share/man \ - --infodir=/usr/share/info \ - --disable-static - make -} - -package () { - make DESTDIR=$PKG_DEST install -} diff --git a/repo/media/wavpack/wavpack.xibuild b/repo/media/wavpack/wavpack.xibuild new file mode 100644 index 0000000..eb9ccfc --- /dev/null +++ b/repo/media/wavpack/wavpack.xibuild @@ -0,0 +1,25 @@ +#!/bin/sh + +NAME="wavpack" +DESC="Audio compression format with lossless, lossy, and hybrid compression modes" + +MAKEDEPS="make " +DEPS="musl" + +PKG_VER=5.4.0 +SOURCE="http://www.wavpack.com/wavpack-$PKG_VER.tar.xz" + +build () { + ./configure \ + --prefix=/usr + --bindir=/usr/bin \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --disable-static + make +} + +package () { + make DESTDIR=$PKG_DEST install +} diff --git a/repo/media/x264.xibuild b/repo/media/x264.xibuild deleted file mode 100644 index 5c1d375..0000000 --- a/repo/media/x264.xibuild +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/sh - -NAME="x264" -DESC="Free library for encoding H264/AVC video streams" - -MAKEDEPS="make libx11 perl nasm sbase bash" -DEPS="musl " - -PKG_VER=0.164.r3081.19856cc -gitrev=master -SOURCE="https://code.videolan.org/videolan/x264.git" -BRANCH=19856cc41ad11e434549fb3cc6a019e645ce1efe - -ADDITIONAL=" - oclobj.h -" - -prepare () { - echo '' > ./tools/cltostr.sh - mv oclobj.h common/oclobj.h -} - -build () { - ./configure \ - --prefix=/usr \ - --enable-shared \ - --enable-pic \ - --enable-lto \ - --disable-avs - make -} - -package () { - make DESTDIR=$PKG_DEST bindir=/usr/bin libdir=/usr/lib includedir=/usr/include install-lib-shared install-cli -} diff --git a/repo/media/x264/oclobj.h b/repo/media/x264/oclobj.h new file mode 100644 index 0000000..8ec2e5a --- /dev/null +++ b/repo/media/x264/oclobj.h @@ -0,0 +1,4684 @@ +static const char x264_opencl_source[] = { +0x23, 0x70, 0x72, 0x61, 0x67, 0x6d, 0x61, 0x20, 0x4f, 0x50, 0x45, 0x4e, 0x43, 0x4c, 0x20, 0x45, +0x58, 0x54, 0x45, 0x4e, 0x53, 0x49, 0x4f, 0x4e, 0x20, 0x63, 0x6c, 0x5f, 0x6b, 0x68, 0x72, 0x5f, +0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x65, 0x78, 0x74, 0x65, +0x6e, 0x64, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x73, 0x20, 0x3a, 0x20, 0x65, +0x6e, 0x61, 0x62, 0x6c, 0x65, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x20, 0x73, +0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x5f, 0x74, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, +0x20, 0x3d, 0x20, 0x43, 0x4c, 0x4b, 0x5f, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x49, 0x5a, 0x45, +0x44, 0x5f, 0x43, 0x4f, 0x4f, 0x52, 0x44, 0x53, 0x5f, 0x46, 0x41, 0x4c, 0x53, 0x45, 0x20, 0x7c, +0x20, 0x43, 0x4c, 0x4b, 0x5f, 0x41, 0x44, 0x44, 0x52, 0x45, 0x53, 0x53, 0x5f, 0x43, 0x4c, 0x41, +0x4d, 0x50, 0x5f, 0x54, 0x4f, 0x5f, 0x45, 0x44, 0x47, 0x45, 0x20, 0x7c, 0x20, 0x43, 0x4c, 0x4b, +0x5f, 0x46, 0x49, 0x4c, 0x54, 0x45, 0x52, 0x5f, 0x4e, 0x45, 0x41, 0x52, 0x45, 0x53, 0x54, 0x3b, +0x0a, 0x2f, 0x2a, 0x20, 0x37, 0x2e, 0x31, 0x38, 0x2e, 0x31, 0x2e, 0x31, 0x20, 0x20, 0x45, 0x78, +0x61, 0x63, 0x74, 0x2d, 0x77, 0x69, 0x64, 0x74, 0x68, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, +0x72, 0x20, 0x74, 0x79, 0x70, 0x65, 0x73, 0x20, 0x2a, 0x2f, 0x0a, 0x74, 0x79, 0x70, 0x65, 0x64, +0x65, 0x66, 0x20, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x72, 0x20, 0x69, +0x6e, 0x74, 0x38, 0x5f, 0x74, 0x3b, 0x0a, 0x74, 0x79, 0x70, 0x65, 0x64, 0x65, 0x66, 0x20, 0x75, +0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x72, 0x20, 0x20, 0x20, 0x75, +0x69, 0x6e, 0x74, 0x38, 0x5f, 0x74, 0x3b, 0x0a, 0x74, 0x79, 0x70, 0x65, 0x64, 0x65, 0x66, 0x20, +0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x31, 0x36, 0x5f, 0x74, 0x3b, 0x0a, +0x74, 0x79, 0x70, 0x65, 0x64, 0x65, 0x66, 0x20, 0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, +0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x20, 0x75, 0x69, 0x6e, 0x74, 0x31, 0x36, 0x5f, 0x74, +0x3b, 0x0a, 0x74, 0x79, 0x70, 0x65, 0x64, 0x65, 0x66, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x20, 0x69, +0x6e, 0x74, 0x33, 0x32, 0x5f, 0x74, 0x3b, 0x0a, 0x74, 0x79, 0x70, 0x65, 0x64, 0x65, 0x66, 0x20, +0x75, 0x6e, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x20, 0x20, 0x75, 0x69, 0x6e, 0x74, 0x33, +0x32, 0x5f, 0x74, 0x3b, 0x0a, 0x74, 0x79, 0x70, 0x65, 0x64, 0x65, 0x66, 0x20, 0x75, 0x69, 0x6e, +0x74, 0x38, 0x5f, 0x74, 0x20, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x3b, 0x0a, 0x74, 0x79, 0x70, +0x65, 0x64, 0x65, 0x66, 0x20, 0x75, 0x69, 0x6e, 0x74, 0x31, 0x36, 0x5f, 0x74, 0x20, 0x73, 0x75, +0x6d, 0x5f, 0x74, 0x3b, 0x0a, 0x74, 0x79, 0x70, 0x65, 0x64, 0x65, 0x66, 0x20, 0x75, 0x69, 0x6e, +0x74, 0x33, 0x32, 0x5f, 0x74, 0x20, 0x73, 0x75, 0x6d, 0x32, 0x5f, 0x74, 0x3b, 0x0a, 0x23, 0x64, +0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x4f, 0x57, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x53, +0x54, 0x5f, 0x4d, 0x41, 0x53, 0x4b, 0x20, 0x28, 0x28, 0x31, 0x3c, 0x3c, 0x31, 0x34, 0x29, 0x2d, +0x31, 0x29, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4c, 0x4f, 0x57, 0x52, 0x45, +0x53, 0x5f, 0x43, 0x4f, 0x53, 0x54, 0x5f, 0x53, 0x48, 0x49, 0x46, 0x54, 0x20, 0x31, 0x34, 0x0a, +0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x43, 0x4f, 0x53, 0x54, 0x5f, 0x4d, 0x41, 0x58, +0x20, 0x28, 0x31, 0x3c, 0x3c, 0x32, 0x38, 0x29, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, +0x20, 0x50, 0x49, 0x58, 0x45, 0x4c, 0x5f, 0x4d, 0x41, 0x58, 0x20, 0x32, 0x35, 0x35, 0x0a, 0x23, +0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x42, 0x49, 0x54, 0x53, 0x5f, 0x50, 0x45, 0x52, 0x5f, +0x53, 0x55, 0x4d, 0x20, 0x28, 0x38, 0x20, 0x2a, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x6f, 0x66, 0x28, +0x73, 0x75, 0x6d, 0x5f, 0x74, 0x29, 0x29, 0x0a, 0x2f, 0x2a, 0x20, 0x43, 0x6f, 0x6e, 0x73, 0x74, +0x61, 0x6e, 0x74, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x73, +0x20, 0x69, 0x6e, 0x74, 0x6f, 0x20, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x20, 0x73, 0x74, 0x61, 0x74, +0x69, 0x73, 0x74, 0x69, 0x63, 0x73, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x20, 0x2a, 0x2f, +0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x43, 0x4f, 0x53, 0x54, 0x5f, 0x45, 0x53, +0x54, 0x20, 0x20, 0x20, 0x20, 0x30, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x43, +0x4f, 0x53, 0x54, 0x5f, 0x45, 0x53, 0x54, 0x5f, 0x41, 0x51, 0x20, 0x31, 0x0a, 0x23, 0x64, 0x65, +0x66, 0x69, 0x6e, 0x65, 0x20, 0x49, 0x4e, 0x54, 0x52, 0x41, 0x5f, 0x4d, 0x42, 0x53, 0x20, 0x20, +0x20, 0x32, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x43, 0x4f, 0x50, 0x59, 0x32, +0x5f, 0x49, 0x46, 0x5f, 0x4c, 0x54, 0x28, 0x20, 0x78, 0x2c, 0x20, 0x79, 0x2c, 0x20, 0x61, 0x2c, +0x20, 0x62, 0x20, 0x29, 0x5c, 0x0a, 0x69, 0x66, 0x28, 0x20, 0x28, 0x79, 0x29, 0x20, 0x3c, 0x20, +0x28, 0x78, 0x29, 0x20, 0x29, 0x5c, 0x0a, 0x7b, 0x5c, 0x0a, 0x28, 0x78, 0x29, 0x20, 0x3d, 0x20, +0x28, 0x79, 0x29, 0x3b, 0x5c, 0x0a, 0x28, 0x61, 0x29, 0x20, 0x3d, 0x20, 0x28, 0x62, 0x29, 0x3b, +0x5c, 0x0a, 0x7d, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x74, +0x32, 0x20, 0x64, 0x69, 0x61, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x5b, 0x34, 0x5d, 0x20, 0x3d, 0x0a, +0x7b, 0x0a, 0x7b, 0x30, 0x2c, 0x20, 0x2d, 0x31, 0x7d, 0x2c, 0x20, 0x7b, 0x2d, 0x31, 0x2c, 0x20, +0x30, 0x7d, 0x2c, 0x20, 0x7b, 0x31, 0x2c, 0x20, 0x30, 0x7d, 0x2c, 0x20, 0x7b, 0x30, 0x2c, 0x20, +0x31, 0x7d, 0x2c, 0x0a, 0x7d, 0x3b, 0x0a, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x70, 0x69, +0x78, 0x65, 0x6c, 0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, 0x63, 0x6c, 0x69, 0x70, 0x5f, 0x70, 0x69, +0x78, 0x65, 0x6c, 0x28, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x72, +0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x28, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x29, 0x20, 0x63, 0x6c, +0x61, 0x6d, 0x70, 0x28, 0x20, 0x78, 0x2c, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x20, 0x30, 0x2c, +0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x20, 0x50, 0x49, 0x58, 0x45, 0x4c, 0x5f, 0x4d, 0x41, 0x58, +0x20, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x69, 0x6e, 0x74, +0x32, 0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x5f, 0x6d, 0x76, +0x28, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x32, 0x20, 0x61, 0x2c, 0x20, 0x73, 0x68, 0x6f, 0x72, +0x74, 0x32, 0x20, 0x62, 0x2c, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x32, 0x20, 0x63, 0x20, 0x29, +0x0a, 0x7b, 0x0a, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x32, 0x20, 0x74, 0x31, 0x20, 0x3d, 0x20, 0x6d, +0x69, 0x6e, 0x28, 0x61, 0x2c, 0x20, 0x62, 0x29, 0x3b, 0x0a, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x32, +0x20, 0x74, 0x32, 0x20, 0x3d, 0x20, 0x6d, 0x69, 0x6e, 0x28, 0x6d, 0x61, 0x78, 0x28, 0x61, 0x2c, +0x20, 0x62, 0x29, 0x2c, 0x20, 0x63, 0x29, 0x3b, 0x0a, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, +0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x32, 0x28, 0x6d, 0x61, 0x78, +0x28, 0x74, 0x31, 0x2c, 0x20, 0x74, 0x32, 0x29, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x69, 0x6e, 0x6c, +0x69, 0x6e, 0x65, 0x20, 0x73, 0x75, 0x6d, 0x32, 0x5f, 0x74, 0x20, 0x61, 0x62, 0x73, 0x32, 0x28, +0x20, 0x73, 0x75, 0x6d, 0x32, 0x5f, 0x74, 0x20, 0x61, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x73, 0x75, +0x6d, 0x32, 0x5f, 0x74, 0x20, 0x73, 0x20, 0x3d, 0x20, 0x28, 0x28, 0x61, 0x20, 0x3e, 0x3e, 0x20, +0x28, 0x42, 0x49, 0x54, 0x53, 0x5f, 0x50, 0x45, 0x52, 0x5f, 0x53, 0x55, 0x4d, 0x20, 0x2d, 0x20, +0x31, 0x29, 0x29, 0x20, 0x26, 0x20, 0x28, 0x28, 0x28, 0x73, 0x75, 0x6d, 0x32, 0x5f, 0x74, 0x29, +0x31, 0x20, 0x3c, 0x3c, 0x20, 0x42, 0x49, 0x54, 0x53, 0x5f, 0x50, 0x45, 0x52, 0x5f, 0x53, 0x55, +0x4d, 0x29, 0x20, 0x2b, 0x20, 0x31, 0x29, 0x29, 0x20, 0x2a, 0x20, 0x28, 0x28, 0x73, 0x75, 0x6d, +0x5f, 0x74, 0x29, 0x2d, 0x31, 0x29, 0x3b, 0x0a, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x28, +0x61, 0x20, 0x2b, 0x20, 0x73, 0x29, 0x20, 0x5e, 0x20, 0x73, 0x3b, 0x0a, 0x7d, 0x0a, 0x23, 0x64, +0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x48, 0x41, 0x44, 0x41, 0x4d, 0x41, 0x52, 0x44, 0x34, 0x28, +0x20, 0x64, 0x30, 0x2c, 0x20, 0x64, 0x31, 0x2c, 0x20, 0x64, 0x32, 0x2c, 0x20, 0x64, 0x33, 0x2c, +0x20, 0x73, 0x30, 0x2c, 0x20, 0x73, 0x31, 0x2c, 0x20, 0x73, 0x32, 0x2c, 0x20, 0x73, 0x33, 0x20, +0x29, 0x20, 0x7b, 0x5c, 0x0a, 0x73, 0x75, 0x6d, 0x32, 0x5f, 0x74, 0x20, 0x74, 0x30, 0x20, 0x3d, +0x20, 0x73, 0x30, 0x20, 0x2b, 0x20, 0x73, 0x31, 0x3b, 0x5c, 0x0a, 0x73, 0x75, 0x6d, 0x32, 0x5f, +0x74, 0x20, 0x74, 0x31, 0x20, 0x3d, 0x20, 0x73, 0x30, 0x20, 0x2d, 0x20, 0x73, 0x31, 0x3b, 0x5c, +0x0a, 0x73, 0x75, 0x6d, 0x32, 0x5f, 0x74, 0x20, 0x74, 0x32, 0x20, 0x3d, 0x20, 0x73, 0x32, 0x20, +0x2b, 0x20, 0x73, 0x33, 0x3b, 0x5c, 0x0a, 0x73, 0x75, 0x6d, 0x32, 0x5f, 0x74, 0x20, 0x74, 0x33, +0x20, 0x3d, 0x20, 0x73, 0x32, 0x20, 0x2d, 0x20, 0x73, 0x33, 0x3b, 0x5c, 0x0a, 0x64, 0x30, 0x20, +0x3d, 0x20, 0x74, 0x30, 0x20, 0x2b, 0x20, 0x74, 0x32, 0x3b, 0x5c, 0x0a, 0x64, 0x32, 0x20, 0x3d, +0x20, 0x74, 0x30, 0x20, 0x2d, 0x20, 0x74, 0x32, 0x3b, 0x5c, 0x0a, 0x64, 0x31, 0x20, 0x3d, 0x20, +0x74, 0x31, 0x20, 0x2b, 0x20, 0x74, 0x33, 0x3b, 0x5c, 0x0a, 0x64, 0x33, 0x20, 0x3d, 0x20, 0x74, +0x31, 0x20, 0x2d, 0x20, 0x74, 0x33, 0x3b, 0x5c, 0x0a, 0x7d, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, +0x6e, 0x65, 0x20, 0x48, 0x41, 0x44, 0x41, 0x4d, 0x41, 0x52, 0x44, 0x34, 0x56, 0x28, 0x20, 0x64, +0x30, 0x2c, 0x20, 0x64, 0x31, 0x2c, 0x20, 0x64, 0x32, 0x2c, 0x20, 0x64, 0x33, 0x2c, 0x20, 0x73, +0x30, 0x2c, 0x20, 0x73, 0x31, 0x2c, 0x20, 0x73, 0x32, 0x2c, 0x20, 0x73, 0x33, 0x20, 0x29, 0x20, +0x7b, 0x5c, 0x0a, 0x69, 0x6e, 0x74, 0x32, 0x20, 0x74, 0x30, 0x20, 0x3d, 0x20, 0x73, 0x30, 0x20, +0x2b, 0x20, 0x73, 0x31, 0x3b, 0x5c, 0x0a, 0x69, 0x6e, 0x74, 0x32, 0x20, 0x74, 0x31, 0x20, 0x3d, +0x20, 0x73, 0x30, 0x20, 0x2d, 0x20, 0x73, 0x31, 0x3b, 0x5c, 0x0a, 0x69, 0x6e, 0x74, 0x32, 0x20, +0x74, 0x32, 0x20, 0x3d, 0x20, 0x73, 0x32, 0x20, 0x2b, 0x20, 0x73, 0x33, 0x3b, 0x5c, 0x0a, 0x69, +0x6e, 0x74, 0x32, 0x20, 0x74, 0x33, 0x20, 0x3d, 0x20, 0x73, 0x32, 0x20, 0x2d, 0x20, 0x73, 0x33, +0x3b, 0x5c, 0x0a, 0x64, 0x30, 0x20, 0x3d, 0x20, 0x74, 0x30, 0x20, 0x2b, 0x20, 0x74, 0x32, 0x3b, +0x5c, 0x0a, 0x64, 0x32, 0x20, 0x3d, 0x20, 0x74, 0x30, 0x20, 0x2d, 0x20, 0x74, 0x32, 0x3b, 0x5c, +0x0a, 0x64, 0x31, 0x20, 0x3d, 0x20, 0x74, 0x31, 0x20, 0x2b, 0x20, 0x74, 0x33, 0x3b, 0x5c, 0x0a, +0x64, 0x33, 0x20, 0x3d, 0x20, 0x74, 0x31, 0x20, 0x2d, 0x20, 0x74, 0x33, 0x3b, 0x5c, 0x0a, 0x7d, +0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x53, 0x41, 0x54, 0x44, 0x5f, 0x43, 0x5f, +0x38, 0x78, 0x34, 0x5f, 0x51, 0x28, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x20, 0x71, 0x31, 0x2c, +0x20, 0x71, 0x32, 0x20, 0x29, 0x5c, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x28, +0x20, 0x71, 0x31, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x2a, 0x70, 0x69, 0x78, 0x31, 0x2c, +0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x5f, 0x70, 0x69, 0x78, 0x31, 0x2c, 0x20, 0x71, 0x32, 0x20, +0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x2a, 0x70, 0x69, 0x78, 0x32, 0x2c, 0x20, 0x69, 0x6e, 0x74, +0x20, 0x69, 0x5f, 0x70, 0x69, 0x78, 0x32, 0x20, 0x29, 0x5c, 0x0a, 0x7b, 0x5c, 0x0a, 0x73, 0x75, +0x6d, 0x32, 0x5f, 0x74, 0x20, 0x74, 0x6d, 0x70, 0x5b, 0x34, 0x5d, 0x5b, 0x34, 0x5d, 0x3b, 0x5c, +0x0a, 0x73, 0x75, 0x6d, 0x32, 0x5f, 0x74, 0x20, 0x61, 0x30, 0x2c, 0x20, 0x61, 0x31, 0x2c, 0x20, +0x61, 0x32, 0x2c, 0x20, 0x61, 0x33, 0x3b, 0x5c, 0x0a, 0x73, 0x75, 0x6d, 0x32, 0x5f, 0x74, 0x20, +0x73, 0x75, 0x6d, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x5c, 0x0a, 0x66, 0x6f, 0x72, 0x28, 0x20, 0x69, +0x6e, 0x74, 0x20, 0x69, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x20, 0x69, 0x20, 0x3c, 0x20, 0x34, 0x3b, +0x20, 0x69, 0x2b, 0x2b, 0x2c, 0x20, 0x70, 0x69, 0x78, 0x31, 0x20, 0x2b, 0x3d, 0x20, 0x69, 0x5f, +0x70, 0x69, 0x78, 0x31, 0x2c, 0x20, 0x70, 0x69, 0x78, 0x32, 0x20, 0x2b, 0x3d, 0x20, 0x69, 0x5f, +0x70, 0x69, 0x78, 0x32, 0x20, 0x29, 0x5c, 0x0a, 0x7b, 0x5c, 0x0a, 0x61, 0x30, 0x20, 0x3d, 0x20, +0x28, 0x70, 0x69, 0x78, 0x31, 0x5b, 0x30, 0x5d, 0x20, 0x2d, 0x20, 0x70, 0x69, 0x78, 0x32, 0x5b, +0x30, 0x5d, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x28, 0x73, 0x75, 0x6d, 0x32, 0x5f, 0x74, 0x29, 0x28, +0x70, 0x69, 0x78, 0x31, 0x5b, 0x34, 0x5d, 0x20, 0x2d, 0x20, 0x70, 0x69, 0x78, 0x32, 0x5b, 0x34, +0x5d, 0x29, 0x20, 0x3c, 0x3c, 0x20, 0x42, 0x49, 0x54, 0x53, 0x5f, 0x50, 0x45, 0x52, 0x5f, 0x53, +0x55, 0x4d, 0x29, 0x3b, 0x5c, 0x0a, 0x61, 0x31, 0x20, 0x3d, 0x20, 0x28, 0x70, 0x69, 0x78, 0x31, +0x5b, 0x31, 0x5d, 0x20, 0x2d, 0x20, 0x70, 0x69, 0x78, 0x32, 0x5b, 0x31, 0x5d, 0x29, 0x20, 0x2b, +0x20, 0x28, 0x28, 0x73, 0x75, 0x6d, 0x32, 0x5f, 0x74, 0x29, 0x28, 0x70, 0x69, 0x78, 0x31, 0x5b, +0x35, 0x5d, 0x20, 0x2d, 0x20, 0x70, 0x69, 0x78, 0x32, 0x5b, 0x35, 0x5d, 0x29, 0x20, 0x3c, 0x3c, +0x20, 0x42, 0x49, 0x54, 0x53, 0x5f, 0x50, 0x45, 0x52, 0x5f, 0x53, 0x55, 0x4d, 0x29, 0x3b, 0x5c, +0x0a, 0x61, 0x32, 0x20, 0x3d, 0x20, 0x28, 0x70, 0x69, 0x78, 0x31, 0x5b, 0x32, 0x5d, 0x20, 0x2d, +0x20, 0x70, 0x69, 0x78, 0x32, 0x5b, 0x32, 0x5d, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x28, 0x73, 0x75, +0x6d, 0x32, 0x5f, 0x74, 0x29, 0x28, 0x70, 0x69, 0x78, 0x31, 0x5b, 0x36, 0x5d, 0x20, 0x2d, 0x20, +0x70, 0x69, 0x78, 0x32, 0x5b, 0x36, 0x5d, 0x29, 0x20, 0x3c, 0x3c, 0x20, 0x42, 0x49, 0x54, 0x53, +0x5f, 0x50, 0x45, 0x52, 0x5f, 0x53, 0x55, 0x4d, 0x29, 0x3b, 0x5c, 0x0a, 0x61, 0x33, 0x20, 0x3d, +0x20, 0x28, 0x70, 0x69, 0x78, 0x31, 0x5b, 0x33, 0x5d, 0x20, 0x2d, 0x20, 0x70, 0x69, 0x78, 0x32, +0x5b, 0x33, 0x5d, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x28, 0x73, 0x75, 0x6d, 0x32, 0x5f, 0x74, 0x29, +0x28, 0x70, 0x69, 0x78, 0x31, 0x5b, 0x37, 0x5d, 0x20, 0x2d, 0x20, 0x70, 0x69, 0x78, 0x32, 0x5b, +0x37, 0x5d, 0x29, 0x20, 0x3c, 0x3c, 0x20, 0x42, 0x49, 0x54, 0x53, 0x5f, 0x50, 0x45, 0x52, 0x5f, +0x53, 0x55, 0x4d, 0x29, 0x3b, 0x5c, 0x0a, 0x48, 0x41, 0x44, 0x41, 0x4d, 0x41, 0x52, 0x44, 0x34, +0x28, 0x20, 0x74, 0x6d, 0x70, 0x5b, 0x69, 0x5d, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x74, 0x6d, 0x70, +0x5b, 0x69, 0x5d, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x74, 0x6d, 0x70, 0x5b, 0x69, 0x5d, 0x5b, 0x32, +0x5d, 0x2c, 0x20, 0x74, 0x6d, 0x70, 0x5b, 0x69, 0x5d, 0x5b, 0x33, 0x5d, 0x2c, 0x20, 0x61, 0x30, +0x2c, 0x20, 0x61, 0x31, 0x2c, 0x20, 0x61, 0x32, 0x2c, 0x20, 0x61, 0x33, 0x20, 0x29, 0x3b, 0x5c, +0x0a, 0x7d, 0x5c, 0x0a, 0x66, 0x6f, 0x72, 0x28, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x20, 0x3d, +0x20, 0x30, 0x3b, 0x20, 0x69, 0x20, 0x3c, 0x20, 0x34, 0x3b, 0x20, 0x69, 0x2b, 0x2b, 0x20, 0x29, +0x5c, 0x0a, 0x7b, 0x5c, 0x0a, 0x48, 0x41, 0x44, 0x41, 0x4d, 0x41, 0x52, 0x44, 0x34, 0x28, 0x20, +0x61, 0x30, 0x2c, 0x20, 0x61, 0x31, 0x2c, 0x20, 0x61, 0x32, 0x2c, 0x20, 0x61, 0x33, 0x2c, 0x20, +0x74, 0x6d, 0x70, 0x5b, 0x30, 0x5d, 0x5b, 0x69, 0x5d, 0x2c, 0x20, 0x74, 0x6d, 0x70, 0x5b, 0x31, +0x5d, 0x5b, 0x69, 0x5d, 0x2c, 0x20, 0x74, 0x6d, 0x70, 0x5b, 0x32, 0x5d, 0x5b, 0x69, 0x5d, 0x2c, +0x20, 0x74, 0x6d, 0x70, 0x5b, 0x33, 0x5d, 0x5b, 0x69, 0x5d, 0x20, 0x29, 0x3b, 0x5c, 0x0a, 0x73, +0x75, 0x6d, 0x20, 0x2b, 0x3d, 0x20, 0x61, 0x62, 0x73, 0x32, 0x28, 0x20, 0x61, 0x30, 0x20, 0x29, +0x20, 0x2b, 0x20, 0x61, 0x62, 0x73, 0x32, 0x28, 0x20, 0x61, 0x31, 0x20, 0x29, 0x20, 0x2b, 0x20, +0x61, 0x62, 0x73, 0x32, 0x28, 0x20, 0x61, 0x32, 0x20, 0x29, 0x20, 0x2b, 0x20, 0x61, 0x62, 0x73, +0x32, 0x28, 0x20, 0x61, 0x33, 0x20, 0x29, 0x3b, 0x5c, 0x0a, 0x7d, 0x5c, 0x0a, 0x72, 0x65, 0x74, +0x75, 0x72, 0x6e, 0x20, 0x28, 0x28, 0x28, 0x73, 0x75, 0x6d, 0x5f, 0x74, 0x29, 0x73, 0x75, 0x6d, +0x29, 0x20, 0x2b, 0x20, 0x28, 0x73, 0x75, 0x6d, 0x3e, 0x3e, 0x42, 0x49, 0x54, 0x53, 0x5f, 0x50, +0x45, 0x52, 0x5f, 0x53, 0x55, 0x4d, 0x29, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x31, 0x3b, 0x5c, 0x0a, +0x7d, 0x0a, 0x2f, 0x2a, 0x0a, 0x2a, 0x20, 0x55, 0x74, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x20, 0x66, +0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x65, 0x72, 0x66, 0x6f, +0x72, 0x6d, 0x20, 0x61, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x20, 0x73, 0x75, +0x6d, 0x20, 0x72, 0x65, 0x64, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x61, +0x6e, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x67, +0x65, 0x72, 0x73, 0x0a, 0x2a, 0x2f, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6c, +0x6c, 0x65, 0x6c, 0x5f, 0x73, 0x75, 0x6d, 0x28, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x61, 0x6c, +0x75, 0x65, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x2c, 0x20, 0x76, 0x6f, 0x6c, 0x61, 0x74, +0x69, 0x6c, 0x65, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x2a, 0x61, +0x72, 0x72, 0x61, 0x79, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x61, 0x72, 0x72, 0x61, 0x79, 0x5b, 0x78, +0x5d, 0x20, 0x3d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3b, 0x0a, 0x62, 0x61, 0x72, 0x72, 0x69, +0x65, 0x72, 0x28, 0x20, 0x43, 0x4c, 0x4b, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x5f, 0x4d, 0x45, +0x4d, 0x5f, 0x46, 0x45, 0x4e, 0x43, 0x45, 0x20, 0x29, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x64, +0x69, 0x6d, 0x20, 0x3d, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x73, +0x69, 0x7a, 0x65, 0x28, 0x20, 0x30, 0x20, 0x29, 0x3b, 0x0a, 0x77, 0x68, 0x69, 0x6c, 0x65, 0x28, +0x20, 0x64, 0x69, 0x6d, 0x20, 0x3e, 0x20, 0x31, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x64, 0x69, 0x6d, +0x20, 0x3e, 0x3e, 0x3d, 0x20, 0x31, 0x3b, 0x0a, 0x69, 0x66, 0x28, 0x20, 0x78, 0x20, 0x3c, 0x20, +0x64, 0x69, 0x6d, 0x20, 0x29, 0x0a, 0x61, 0x72, 0x72, 0x61, 0x79, 0x5b, 0x78, 0x5d, 0x20, 0x2b, +0x3d, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x5b, 0x78, 0x20, 0x2b, 0x20, 0x64, 0x69, 0x6d, 0x5d, +0x3b, 0x0a, 0x69, 0x66, 0x28, 0x20, 0x64, 0x69, 0x6d, 0x20, 0x3e, 0x20, 0x33, 0x32, 0x20, 0x29, +0x0a, 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x28, 0x20, 0x43, 0x4c, 0x4b, 0x5f, 0x4c, 0x4f, +0x43, 0x41, 0x4c, 0x5f, 0x4d, 0x45, 0x4d, 0x5f, 0x46, 0x45, 0x4e, 0x43, 0x45, 0x20, 0x29, 0x3b, +0x0a, 0x7d, 0x0a, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x5b, +0x30, 0x5d, 0x3b, 0x0a, 0x7d, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x6d, 0x76, 0x5f, 0x63, 0x6f, 0x73, +0x74, 0x28, 0x20, 0x75, 0x69, 0x6e, 0x74, 0x32, 0x20, 0x6d, 0x76, 0x64, 0x20, 0x29, 0x0a, 0x7b, +0x0a, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x20, 0x6d, 0x76, 0x64, 0x66, 0x20, 0x3d, 0x20, 0x28, +0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x29, 0x28, 0x6d, 0x76, 0x64, 0x2e, 0x78, 0x2c, 0x20, 0x6d, +0x76, 0x64, 0x2e, 0x79, 0x29, 0x20, 0x2b, 0x20, 0x31, 0x2e, 0x30, 0x66, 0x3b, 0x0a, 0x66, 0x6c, +0x6f, 0x61, 0x74, 0x32, 0x20, 0x63, 0x6f, 0x73, 0x74, 0x20, 0x3d, 0x20, 0x72, 0x6f, 0x75, 0x6e, +0x64, 0x28, 0x20, 0x6c, 0x6f, 0x67, 0x32, 0x28, 0x6d, 0x76, 0x64, 0x66, 0x29, 0x20, 0x2a, 0x20, +0x32, 0x2e, 0x30, 0x66, 0x20, 0x2b, 0x20, 0x30, 0x2e, 0x37, 0x31, 0x38, 0x66, 0x20, 0x2b, 0x20, +0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x32, 0x29, 0x28, 0x21, 0x21, 0x6d, 0x76, 0x64, 0x2e, 0x78, +0x2c, 0x20, 0x21, 0x21, 0x6d, 0x76, 0x64, 0x2e, 0x79, 0x29, 0x20, 0x29, 0x3b, 0x0a, 0x72, 0x65, +0x74, 0x75, 0x72, 0x6e, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x20, 0x28, 0x63, 0x6f, 0x73, 0x74, +0x2e, 0x78, 0x20, 0x2b, 0x20, 0x63, 0x6f, 0x73, 0x74, 0x2e, 0x79, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, +0x2f, 0x2a, 0x20, 0x4d, 0x6f, 0x64, 0x65, 0x20, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, +0x6e, 0x20, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x65, 0x73, 0x2c, 0x20, 0x73, 0x65, 0x6c, 0x65, +0x63, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x65, 0x61, 0x73, 0x74, 0x20, 0x53, 0x41, 0x54, +0x44, 0x20, 0x63, 0x6f, 0x73, 0x74, 0x20, 0x6d, 0x6f, 0x64, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, +0x65, 0x61, 0x63, 0x68, 0x20, 0x6c, 0x6f, 0x77, 0x72, 0x65, 0x73, 0x0a, 0x2a, 0x20, 0x6d, 0x61, +0x63, 0x72, 0x6f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x20, 0x20, 0x57, 0x68, 0x65, 0x6e, 0x20, +0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x42, 0x20, 0x73, 0x6c, 0x69, 0x63, +0x65, 0x73, 0x2c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, +0x73, 0x20, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, +0x63, 0x6f, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x0a, 0x2a, 0x20, 0x74, 0x68, 0x72, 0x65, 0x65, 0x20, +0x62, 0x69, 0x64, 0x69, 0x72, 0x20, 0x6d, 0x6f, 0x64, 0x65, 0x73, 0x2e, 0x20, 0x20, 0x2a, 0x2f, +0x0a, 0x2f, 0x2a, 0x20, 0x46, 0x6f, 0x75, 0x72, 0x20, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, +0x20, 0x63, 0x6f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x79, 0x20, 0x6d, +0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x20, 0x38, 0x78, 0x38, 0x20, 0x42, 0x49, 0x44, 0x49, 0x52, +0x20, 0x63, 0x6f, 0x73, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x53, 0x41, 0x54, 0x44, 0x20, +0x2a, 0x2f, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x62, 0x69, 0x64, 0x69, 0x72, 0x5f, 0x73, 0x61, 0x74, +0x64, 0x5f, 0x38, 0x78, 0x38, 0x5f, 0x69, 0x69, 0x5f, 0x63, 0x6f, 0x6f, 0x70, 0x34, 0x28, 0x20, +0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x32, +0x64, 0x5f, 0x74, 0x20, 0x66, 0x65, 0x6e, 0x63, 0x5f, 0x6c, 0x6f, 0x77, 0x72, 0x65, 0x73, 0x2c, +0x0a, 0x69, 0x6e, 0x74, 0x32, 0x20, 0x66, 0x65, 0x6e, 0x63, 0x70, 0x6f, 0x73, 0x2c, 0x0a, 0x72, +0x65, 0x61, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x32, 0x64, +0x5f, 0x74, 0x20, 0x66, 0x72, 0x65, 0x66, 0x30, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x73, 0x2c, +0x0a, 0x69, 0x6e, 0x74, 0x32, 0x20, 0x71, 0x70, 0x6f, 0x73, 0x30, 0x2c, 0x0a, 0x72, 0x65, 0x61, +0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x32, 0x64, 0x5f, 0x74, +0x20, 0x66, 0x72, 0x65, 0x66, 0x31, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x73, 0x2c, 0x0a, 0x69, +0x6e, 0x74, 0x32, 0x20, 0x71, 0x70, 0x6f, 0x73, 0x31, 0x2c, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x77, +0x65, 0x69, 0x67, 0x68, 0x74, 0x2c, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x73, 0x75, 0x6d, +0x32, 0x5f, 0x74, 0x20, 0x2a, 0x74, 0x6d, 0x70, 0x70, 0x2c, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x69, +0x64, 0x78, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x20, +0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x73, 0x75, 0x6d, 0x32, 0x5f, 0x74, 0x28, 0x20, 0x2a, 0x74, +0x6d, 0x70, 0x20, 0x29, 0x5b, 0x34, 0x5d, 0x20, 0x3d, 0x20, 0x28, 0x76, 0x6f, 0x6c, 0x61, 0x74, +0x69, 0x6c, 0x65, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x73, 0x75, 0x6d, 0x32, 0x5f, 0x74, +0x28, 0x20, 0x2a, 0x20, 0x29, 0x5b, 0x34, 0x5d, 0x29, 0x74, 0x6d, 0x70, 0x70, 0x3b, 0x0a, 0x73, +0x75, 0x6d, 0x32, 0x5f, 0x74, 0x20, 0x62, 0x30, 0x2c, 0x20, 0x62, 0x31, 0x2c, 0x20, 0x62, 0x32, +0x2c, 0x20, 0x62, 0x33, 0x3b, 0x0a, 0x73, 0x75, 0x6d, 0x32, 0x5f, 0x74, 0x20, 0x73, 0x75, 0x6d, +0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x32, 0x20, 0x66, 0x72, 0x65, 0x66, 0x30, +0x41, 0x70, 0x6f, 0x73, 0x20, 0x3d, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x32, 0x29, 0x28, 0x71, 0x70, +0x6f, 0x73, 0x30, 0x2e, 0x78, 0x3e, 0x3e, 0x32, 0x2c, 0x20, 0x71, 0x70, 0x6f, 0x73, 0x30, 0x2e, +0x79, 0x3e, 0x3e, 0x32, 0x29, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x68, 0x70, 0x65, 0x6c, 0x30, +0x41, 0x20, 0x3d, 0x20, 0x28, 0x28, 0x71, 0x70, 0x6f, 0x73, 0x30, 0x2e, 0x78, 0x26, 0x32, 0x29, +0x3e, 0x3e, 0x31, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x71, 0x70, 0x6f, 0x73, 0x30, 0x2e, 0x79, 0x26, +0x32, 0x29, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x32, 0x20, 0x71, 0x70, 0x6f, 0x73, 0x30, 0x42, 0x20, +0x3d, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x32, 0x29, 0x71, 0x70, 0x6f, 0x73, 0x30, 0x20, 0x2b, 0x20, +0x28, 0x69, 0x6e, 0x74, 0x32, 0x29, 0x28, 0x28, 0x28, 0x71, 0x70, 0x6f, 0x73, 0x30, 0x2e, 0x78, +0x26, 0x31, 0x29, 0x3c, 0x3c, 0x31, 0x29, 0x2c, 0x20, 0x28, 0x28, 0x71, 0x70, 0x6f, 0x73, 0x30, +0x2e, 0x79, 0x26, 0x31, 0x29, 0x3c, 0x3c, 0x31, 0x29, 0x29, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x32, +0x20, 0x66, 0x72, 0x65, 0x66, 0x30, 0x42, 0x70, 0x6f, 0x73, 0x20, 0x3d, 0x20, 0x28, 0x69, 0x6e, +0x74, 0x32, 0x29, 0x28, 0x71, 0x70, 0x6f, 0x73, 0x30, 0x42, 0x2e, 0x78, 0x3e, 0x3e, 0x32, 0x2c, +0x20, 0x71, 0x70, 0x6f, 0x73, 0x30, 0x42, 0x2e, 0x79, 0x3e, 0x3e, 0x32, 0x29, 0x3b, 0x0a, 0x69, +0x6e, 0x74, 0x20, 0x68, 0x70, 0x65, 0x6c, 0x30, 0x42, 0x20, 0x3d, 0x20, 0x28, 0x28, 0x71, 0x70, +0x6f, 0x73, 0x30, 0x42, 0x2e, 0x78, 0x26, 0x32, 0x29, 0x3e, 0x3e, 0x31, 0x29, 0x20, 0x2b, 0x20, +0x28, 0x71, 0x70, 0x6f, 0x73, 0x30, 0x42, 0x2e, 0x79, 0x26, 0x32, 0x29, 0x3b, 0x0a, 0x69, 0x6e, +0x74, 0x32, 0x20, 0x66, 0x72, 0x65, 0x66, 0x31, 0x41, 0x70, 0x6f, 0x73, 0x20, 0x3d, 0x20, 0x28, +0x69, 0x6e, 0x74, 0x32, 0x29, 0x28, 0x71, 0x70, 0x6f, 0x73, 0x31, 0x2e, 0x78, 0x3e, 0x3e, 0x32, +0x2c, 0x20, 0x71, 0x70, 0x6f, 0x73, 0x31, 0x2e, 0x79, 0x3e, 0x3e, 0x32, 0x29, 0x3b, 0x0a, 0x69, +0x6e, 0x74, 0x20, 0x68, 0x70, 0x65, 0x6c, 0x31, 0x41, 0x20, 0x3d, 0x20, 0x28, 0x28, 0x71, 0x70, +0x6f, 0x73, 0x31, 0x2e, 0x78, 0x26, 0x32, 0x29, 0x3e, 0x3e, 0x31, 0x29, 0x20, 0x2b, 0x20, 0x28, +0x71, 0x70, 0x6f, 0x73, 0x31, 0x2e, 0x79, 0x26, 0x32, 0x29, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x32, +0x20, 0x71, 0x70, 0x6f, 0x73, 0x31, 0x42, 0x20, 0x3d, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x32, 0x29, +0x71, 0x70, 0x6f, 0x73, 0x31, 0x20, 0x2b, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x32, 0x29, 0x28, 0x28, +0x28, 0x71, 0x70, 0x6f, 0x73, 0x31, 0x2e, 0x78, 0x26, 0x31, 0x29, 0x3c, 0x3c, 0x31, 0x29, 0x2c, +0x20, 0x28, 0x28, 0x71, 0x70, 0x6f, 0x73, 0x31, 0x2e, 0x79, 0x26, 0x31, 0x29, 0x3c, 0x3c, 0x31, +0x29, 0x29, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x32, 0x20, 0x66, 0x72, 0x65, 0x66, 0x31, 0x42, 0x70, +0x6f, 0x73, 0x20, 0x3d, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x32, 0x29, 0x28, 0x71, 0x70, 0x6f, 0x73, +0x31, 0x42, 0x2e, 0x78, 0x3e, 0x3e, 0x32, 0x2c, 0x20, 0x71, 0x70, 0x6f, 0x73, 0x31, 0x42, 0x2e, +0x79, 0x3e, 0x3e, 0x32, 0x29, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x68, 0x70, 0x65, 0x6c, 0x31, +0x42, 0x20, 0x3d, 0x20, 0x28, 0x28, 0x71, 0x70, 0x6f, 0x73, 0x31, 0x42, 0x2e, 0x78, 0x26, 0x32, +0x29, 0x3e, 0x3e, 0x31, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x71, 0x70, 0x6f, 0x73, 0x31, 0x42, 0x2e, +0x79, 0x26, 0x32, 0x29, 0x3b, 0x0a, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x5f, +0x73, 0x68, 0x69, 0x66, 0x74, 0x30, 0x41, 0x20, 0x3d, 0x20, 0x38, 0x20, 0x2a, 0x20, 0x68, 0x70, +0x65, 0x6c, 0x30, 0x41, 0x2c, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x68, 0x69, 0x66, 0x74, +0x30, 0x42, 0x20, 0x3d, 0x20, 0x38, 0x20, 0x2a, 0x20, 0x68, 0x70, 0x65, 0x6c, 0x30, 0x42, 0x3b, +0x0a, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x68, 0x69, 0x66, 0x74, +0x31, 0x41, 0x20, 0x3d, 0x20, 0x38, 0x20, 0x2a, 0x20, 0x68, 0x70, 0x65, 0x6c, 0x31, 0x41, 0x2c, +0x20, 0x6d, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x68, 0x69, 0x66, 0x74, 0x31, 0x42, 0x20, 0x3d, 0x20, +0x38, 0x20, 0x2a, 0x20, 0x68, 0x70, 0x65, 0x6c, 0x31, 0x42, 0x3b, 0x0a, 0x75, 0x69, 0x6e, 0x74, +0x20, 0x76, 0x41, 0x2c, 0x20, 0x76, 0x42, 0x3b, 0x0a, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x65, 0x6e, +0x63, 0x2c, 0x20, 0x72, 0x65, 0x66, 0x30, 0x2c, 0x20, 0x72, 0x65, 0x66, 0x31, 0x3b, 0x0a, 0x75, +0x69, 0x6e, 0x74, 0x20, 0x61, 0x30, 0x2c, 0x20, 0x61, 0x31, 0x3b, 0x0a, 0x63, 0x6f, 0x6e, 0x73, +0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x32, 0x20, 0x3d, 0x20, +0x36, 0x34, 0x20, 0x2d, 0x20, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3b, 0x0a, 0x23, 0x64, 0x65, +0x66, 0x69, 0x6e, 0x65, 0x20, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x42, 0x49, 0x44, 0x49, 0x52, 0x5f, +0x44, 0x49, 0x46, 0x46, 0x28, 0x20, 0x4f, 0x55, 0x54, 0x2c, 0x20, 0x58, 0x20, 0x29, 0x5c, 0x0a, +0x65, 0x6e, 0x63, 0x20, 0x3d, 0x20, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, +0x75, 0x69, 0x28, 0x20, 0x66, 0x65, 0x6e, 0x63, 0x5f, 0x6c, 0x6f, 0x77, 0x72, 0x65, 0x73, 0x2c, +0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x66, 0x65, 0x6e, 0x63, 0x70, 0x6f, +0x73, 0x20, 0x2b, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x32, 0x29, 0x28, 0x58, 0x2c, 0x20, 0x69, 0x64, +0x78, 0x29, 0x20, 0x29, 0x2e, 0x73, 0x30, 0x3b, 0x5c, 0x0a, 0x76, 0x41, 0x20, 0x3d, 0x20, 0x28, +0x72, 0x65, 0x61, 0x64, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x75, 0x69, 0x28, 0x20, 0x66, 0x72, +0x65, 0x66, 0x30, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x73, 0x2c, 0x20, 0x73, 0x61, 0x6d, 0x70, +0x6c, 0x65, 0x72, 0x2c, 0x20, 0x66, 0x72, 0x65, 0x66, 0x30, 0x41, 0x70, 0x6f, 0x73, 0x20, 0x2b, +0x20, 0x28, 0x69, 0x6e, 0x74, 0x32, 0x29, 0x28, 0x58, 0x2c, 0x20, 0x69, 0x64, 0x78, 0x29, 0x20, +0x29, 0x2e, 0x73, 0x30, 0x20, 0x3e, 0x3e, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x68, 0x69, +0x66, 0x74, 0x30, 0x41, 0x29, 0x20, 0x26, 0x20, 0x30, 0x78, 0x46, 0x46, 0x3b, 0x5c, 0x0a, 0x76, +0x42, 0x20, 0x3d, 0x20, 0x28, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x75, +0x69, 0x28, 0x20, 0x66, 0x72, 0x65, 0x66, 0x30, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x73, 0x2c, +0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x66, 0x72, 0x65, 0x66, 0x30, 0x42, +0x70, 0x6f, 0x73, 0x20, 0x2b, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x32, 0x29, 0x28, 0x58, 0x2c, 0x20, +0x69, 0x64, 0x78, 0x29, 0x20, 0x29, 0x2e, 0x73, 0x30, 0x20, 0x3e, 0x3e, 0x20, 0x6d, 0x61, 0x73, +0x6b, 0x5f, 0x73, 0x68, 0x69, 0x66, 0x74, 0x30, 0x42, 0x29, 0x20, 0x26, 0x20, 0x30, 0x78, 0x46, +0x46, 0x3b, 0x5c, 0x0a, 0x72, 0x65, 0x66, 0x30, 0x20, 0x3d, 0x20, 0x72, 0x68, 0x61, 0x64, 0x64, +0x28, 0x20, 0x76, 0x41, 0x2c, 0x20, 0x76, 0x42, 0x20, 0x29, 0x3b, 0x5c, 0x0a, 0x76, 0x41, 0x20, +0x3d, 0x20, 0x28, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x75, 0x69, 0x28, +0x20, 0x66, 0x72, 0x65, 0x66, 0x31, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x73, 0x2c, 0x20, 0x73, +0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x66, 0x72, 0x65, 0x66, 0x31, 0x41, 0x70, 0x6f, +0x73, 0x20, 0x2b, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x32, 0x29, 0x28, 0x58, 0x2c, 0x20, 0x69, 0x64, +0x78, 0x29, 0x20, 0x29, 0x2e, 0x73, 0x30, 0x20, 0x3e, 0x3e, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x5f, +0x73, 0x68, 0x69, 0x66, 0x74, 0x31, 0x41, 0x29, 0x20, 0x26, 0x20, 0x30, 0x78, 0x46, 0x46, 0x3b, +0x5c, 0x0a, 0x76, 0x42, 0x20, 0x3d, 0x20, 0x28, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x69, 0x6d, 0x61, +0x67, 0x65, 0x75, 0x69, 0x28, 0x20, 0x66, 0x72, 0x65, 0x66, 0x31, 0x5f, 0x70, 0x6c, 0x61, 0x6e, +0x65, 0x73, 0x2c, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x66, 0x72, 0x65, +0x66, 0x31, 0x42, 0x70, 0x6f, 0x73, 0x20, 0x2b, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x32, 0x29, 0x28, +0x58, 0x2c, 0x20, 0x69, 0x64, 0x78, 0x29, 0x20, 0x29, 0x2e, 0x73, 0x30, 0x20, 0x3e, 0x3e, 0x20, +0x6d, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x68, 0x69, 0x66, 0x74, 0x31, 0x42, 0x29, 0x20, 0x26, 0x20, +0x30, 0x78, 0x46, 0x46, 0x3b, 0x5c, 0x0a, 0x72, 0x65, 0x66, 0x31, 0x20, 0x3d, 0x20, 0x72, 0x68, +0x61, 0x64, 0x64, 0x28, 0x20, 0x76, 0x41, 0x2c, 0x20, 0x76, 0x42, 0x20, 0x29, 0x3b, 0x5c, 0x0a, +0x4f, 0x55, 0x54, 0x20, 0x3d, 0x20, 0x65, 0x6e, 0x63, 0x20, 0x2d, 0x20, 0x28, 0x28, 0x72, 0x65, +0x66, 0x30, 0x20, 0x2a, 0x20, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x20, 0x2b, 0x20, 0x72, 0x65, +0x66, 0x31, 0x20, 0x2a, 0x20, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x32, 0x20, 0x2b, 0x20, 0x28, +0x31, 0x20, 0x3c, 0x3c, 0x20, 0x35, 0x29, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x36, 0x29, 0x3b, 0x0a, +0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x44, 0x49, 0x46, +0x46, 0x5f, 0x45, 0x58, 0x28, 0x20, 0x4f, 0x55, 0x54, 0x2c, 0x20, 0x61, 0x2c, 0x20, 0x62, 0x20, +0x29, 0x5c, 0x0a, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x42, 0x49, 0x44, 0x49, 0x52, 0x5f, 0x44, 0x49, +0x46, 0x46, 0x28, 0x20, 0x61, 0x30, 0x2c, 0x20, 0x61, 0x20, 0x29, 0x3b, 0x5c, 0x0a, 0x52, 0x45, +0x41, 0x44, 0x5f, 0x42, 0x49, 0x44, 0x49, 0x52, 0x5f, 0x44, 0x49, 0x46, 0x46, 0x28, 0x20, 0x61, +0x31, 0x2c, 0x20, 0x62, 0x20, 0x29, 0x3b, 0x5c, 0x0a, 0x4f, 0x55, 0x54, 0x20, 0x3d, 0x20, 0x61, +0x30, 0x20, 0x2b, 0x20, 0x28, 0x61, 0x31, 0x3c, 0x3c, 0x42, 0x49, 0x54, 0x53, 0x5f, 0x50, 0x45, +0x52, 0x5f, 0x53, 0x55, 0x4d, 0x29, 0x3b, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, +0x52, 0x4f, 0x57, 0x5f, 0x38, 0x78, 0x34, 0x5f, 0x53, 0x41, 0x54, 0x44, 0x28, 0x20, 0x61, 0x2c, +0x20, 0x62, 0x2c, 0x20, 0x63, 0x20, 0x29, 0x5c, 0x0a, 0x66, 0x65, 0x6e, 0x63, 0x70, 0x6f, 0x73, +0x2e, 0x79, 0x20, 0x2b, 0x3d, 0x20, 0x61, 0x3b, 0x5c, 0x0a, 0x66, 0x72, 0x65, 0x66, 0x30, 0x41, +0x70, 0x6f, 0x73, 0x2e, 0x79, 0x20, 0x2b, 0x3d, 0x20, 0x62, 0x3b, 0x5c, 0x0a, 0x66, 0x72, 0x65, +0x66, 0x30, 0x42, 0x70, 0x6f, 0x73, 0x2e, 0x79, 0x20, 0x2b, 0x3d, 0x20, 0x62, 0x3b, 0x5c, 0x0a, +0x66, 0x72, 0x65, 0x66, 0x31, 0x41, 0x70, 0x6f, 0x73, 0x2e, 0x79, 0x20, 0x2b, 0x3d, 0x20, 0x63, +0x3b, 0x5c, 0x0a, 0x66, 0x72, 0x65, 0x66, 0x31, 0x42, 0x70, 0x6f, 0x73, 0x2e, 0x79, 0x20, 0x2b, +0x3d, 0x20, 0x63, 0x3b, 0x5c, 0x0a, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x44, 0x49, 0x46, 0x46, 0x5f, +0x45, 0x58, 0x28, 0x20, 0x62, 0x30, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x34, 0x20, 0x29, 0x3b, 0x5c, +0x0a, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x44, 0x49, 0x46, 0x46, 0x5f, 0x45, 0x58, 0x28, 0x20, 0x62, +0x31, 0x2c, 0x20, 0x31, 0x2c, 0x20, 0x35, 0x20, 0x29, 0x3b, 0x5c, 0x0a, 0x52, 0x45, 0x41, 0x44, +0x5f, 0x44, 0x49, 0x46, 0x46, 0x5f, 0x45, 0x58, 0x28, 0x20, 0x62, 0x32, 0x2c, 0x20, 0x32, 0x2c, +0x20, 0x36, 0x20, 0x29, 0x3b, 0x5c, 0x0a, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x44, 0x49, 0x46, 0x46, +0x5f, 0x45, 0x58, 0x28, 0x20, 0x62, 0x33, 0x2c, 0x20, 0x33, 0x2c, 0x20, 0x37, 0x20, 0x29, 0x3b, +0x5c, 0x0a, 0x48, 0x41, 0x44, 0x41, 0x4d, 0x41, 0x52, 0x44, 0x34, 0x28, 0x20, 0x74, 0x6d, 0x70, +0x5b, 0x69, 0x64, 0x78, 0x5d, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x74, 0x6d, 0x70, 0x5b, 0x69, 0x64, +0x78, 0x5d, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x74, 0x6d, 0x70, 0x5b, 0x69, 0x64, 0x78, 0x5d, 0x5b, +0x32, 0x5d, 0x2c, 0x20, 0x74, 0x6d, 0x70, 0x5b, 0x69, 0x64, 0x78, 0x5d, 0x5b, 0x33, 0x5d, 0x2c, +0x20, 0x62, 0x30, 0x2c, 0x20, 0x62, 0x31, 0x2c, 0x20, 0x62, 0x32, 0x2c, 0x20, 0x62, 0x33, 0x20, +0x29, 0x3b, 0x5c, 0x0a, 0x48, 0x41, 0x44, 0x41, 0x4d, 0x41, 0x52, 0x44, 0x34, 0x28, 0x20, 0x62, +0x30, 0x2c, 0x20, 0x62, 0x31, 0x2c, 0x20, 0x62, 0x32, 0x2c, 0x20, 0x62, 0x33, 0x2c, 0x20, 0x74, +0x6d, 0x70, 0x5b, 0x30, 0x5d, 0x5b, 0x69, 0x64, 0x78, 0x5d, 0x2c, 0x20, 0x74, 0x6d, 0x70, 0x5b, +0x31, 0x5d, 0x5b, 0x69, 0x64, 0x78, 0x5d, 0x2c, 0x20, 0x74, 0x6d, 0x70, 0x5b, 0x32, 0x5d, 0x5b, +0x69, 0x64, 0x78, 0x5d, 0x2c, 0x20, 0x74, 0x6d, 0x70, 0x5b, 0x33, 0x5d, 0x5b, 0x69, 0x64, 0x78, +0x5d, 0x20, 0x29, 0x3b, 0x5c, 0x0a, 0x73, 0x75, 0x6d, 0x20, 0x2b, 0x3d, 0x20, 0x61, 0x62, 0x73, +0x32, 0x28, 0x20, 0x62, 0x30, 0x20, 0x29, 0x20, 0x2b, 0x20, 0x61, 0x62, 0x73, 0x32, 0x28, 0x20, +0x62, 0x31, 0x20, 0x29, 0x20, 0x2b, 0x20, 0x61, 0x62, 0x73, 0x32, 0x28, 0x20, 0x62, 0x32, 0x20, +0x29, 0x20, 0x2b, 0x20, 0x61, 0x62, 0x73, 0x32, 0x28, 0x20, 0x62, 0x33, 0x20, 0x29, 0x3b, 0x0a, +0x52, 0x4f, 0x57, 0x5f, 0x38, 0x78, 0x34, 0x5f, 0x53, 0x41, 0x54, 0x44, 0x28, 0x20, 0x30, 0x2c, +0x20, 0x30, 0x2c, 0x20, 0x30, 0x20, 0x29, 0x3b, 0x0a, 0x52, 0x4f, 0x57, 0x5f, 0x38, 0x78, 0x34, +0x5f, 0x53, 0x41, 0x54, 0x44, 0x28, 0x20, 0x34, 0x2c, 0x20, 0x34, 0x2c, 0x20, 0x34, 0x20, 0x29, +0x3b, 0x0a, 0x23, 0x75, 0x6e, 0x64, 0x65, 0x66, 0x20, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x42, 0x49, +0x44, 0x49, 0x52, 0x5f, 0x44, 0x49, 0x46, 0x46, 0x0a, 0x23, 0x75, 0x6e, 0x64, 0x65, 0x66, 0x20, +0x52, 0x45, 0x41, 0x44, 0x5f, 0x44, 0x49, 0x46, 0x46, 0x5f, 0x45, 0x58, 0x0a, 0x23, 0x75, 0x6e, +0x64, 0x65, 0x66, 0x20, 0x52, 0x4f, 0x57, 0x5f, 0x38, 0x78, 0x34, 0x5f, 0x53, 0x41, 0x54, 0x44, +0x0a, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x28, 0x28, 0x28, 0x73, 0x75, 0x6d, 0x5f, 0x74, +0x29, 0x73, 0x75, 0x6d, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x73, 0x75, 0x6d, 0x3e, 0x3e, 0x42, 0x49, +0x54, 0x53, 0x5f, 0x50, 0x45, 0x52, 0x5f, 0x53, 0x55, 0x4d, 0x29, 0x29, 0x20, 0x3e, 0x3e, 0x20, +0x31, 0x3b, 0x0a, 0x7d, 0x0a, 0x2f, 0x2a, 0x0a, 0x2a, 0x20, 0x6d, 0x6f, 0x64, 0x65, 0x20, 0x73, +0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x2d, 0x20, 0x70, 0x69, 0x63, 0x6b, 0x20, +0x74, 0x68, 0x65, 0x20, 0x6c, 0x65, 0x61, 0x73, 0x74, 0x20, 0x63, 0x6f, 0x73, 0x74, 0x20, 0x70, +0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x66, 0x6f, +0x72, 0x20, 0x65, 0x61, 0x63, 0x68, 0x20, 0x38, 0x78, 0x38, 0x20, 0x6d, 0x61, 0x63, 0x72, 0x6f, +0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x0a, 0x2a, 0x20, 0x49, 0x6e, 0x74, 0x72, 0x61, 0x2c, 0x20, +0x6c, 0x69, 0x73, 0x74, 0x30, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x31, 0x2e, 0x20, +0x20, 0x57, 0x68, 0x65, 0x6e, 0x20, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x20, +0x61, 0x20, 0x42, 0x20, 0x73, 0x6c, 0x69, 0x63, 0x65, 0x2c, 0x20, 0x61, 0x6c, 0x73, 0x6f, 0x20, +0x74, 0x65, 0x73, 0x74, 0x20, 0x74, 0x68, 0x72, 0x65, 0x65, 0x20, 0x62, 0x69, 0x64, 0x69, 0x72, +0x0a, 0x2a, 0x20, 0x70, 0x6f, 0x73, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, +0x2e, 0x0a, 0x2a, 0x0a, 0x2a, 0x20, 0x66, 0x65, 0x6e, 0x63, 0x5f, 0x6c, 0x6f, 0x77, 0x72, 0x65, +0x73, 0x5f, 0x6d, 0x76, 0x73, 0x5b, 0x30, 0x7c, 0x31, 0x5d, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x66, +0x65, 0x6e, 0x63, 0x5f, 0x6c, 0x6f, 0x77, 0x72, 0x65, 0x73, 0x5f, 0x6d, 0x76, 0x5f, 0x63, 0x6f, +0x73, 0x74, 0x73, 0x5b, 0x30, 0x7c, 0x31, 0x5d, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6c, 0x61, 0x72, +0x67, 0x65, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x0a, +0x2a, 0x20, 0x68, 0x6f, 0x6c, 0x64, 0x20, 0x6d, 0x61, 0x6e, 0x79, 0x20, 0x66, 0x72, 0x61, 0x6d, +0x65, 0x73, 0x20, 0x77, 0x6f, 0x72, 0x74, 0x68, 0x20, 0x6f, 0x66, 0x20, 0x6d, 0x6f, 0x74, 0x69, +0x6f, 0x6e, 0x20, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x20, 0x20, 0x57, 0x65, 0x20, +0x6d, 0x75, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x6f, +0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x0a, 0x2a, 0x20, 0x6c, +0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, +0x20, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x27, 0x73, 0x20, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, +0x3a, 0x0a, 0x2a, 0x0a, 0x2a, 0x20, 0x20, 0x20, 0x43, 0x50, 0x55, 0x20, 0x65, 0x71, 0x75, 0x69, +0x76, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x3a, 0x20, 0x66, 0x65, 0x6e, 0x63, 0x2d, 0x3e, 0x6c, 0x6f, +0x77, 0x72, 0x65, 0x73, 0x5f, 0x6d, 0x76, 0x73, 0x5b, 0x30, 0x5d, 0x5b, 0x62, 0x20, 0x2d, 0x20, +0x70, 0x30, 0x20, 0x2d, 0x20, 0x31, 0x5d, 0x0a, 0x2a, 0x20, 0x20, 0x20, 0x47, 0x50, 0x55, 0x20, +0x65, 0x71, 0x75, 0x69, 0x76, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x3a, 0x20, 0x66, 0x65, 0x6e, 0x63, +0x5f, 0x6c, 0x6f, 0x77, 0x72, 0x65, 0x73, 0x5f, 0x6d, 0x76, 0x73, 0x30, 0x5b, 0x28, 0x62, 0x20, +0x2d, 0x20, 0x70, 0x30, 0x20, 0x2d, 0x20, 0x31, 0x29, 0x20, 0x2a, 0x20, 0x6d, 0x62, 0x5f, 0x63, +0x6f, 0x75, 0x6e, 0x74, 0x5d, 0x0a, 0x2a, 0x0a, 0x2a, 0x20, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, +0x20, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x20, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, +0x6e, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x50, 0x20, 0x73, 0x6c, 0x69, 0x63, 0x65, 0x20, 0x65, +0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x3a, 0x20, 0x20, 0x5b, 0x6d, 0x62, 0x5f, 0x77, 0x69, +0x64, 0x74, 0x68, 0x2c, 0x20, 0x6d, 0x62, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x5d, 0x0a, +0x2a, 0x20, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x20, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x20, +0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x42, +0x20, 0x73, 0x6c, 0x69, 0x63, 0x65, 0x20, 0x65, 0x73, 0x74, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x3a, +0x20, 0x20, 0x5b, 0x6d, 0x62, 0x5f, 0x77, 0x69, 0x64, 0x74, 0x68, 0x20, 0x2a, 0x20, 0x34, 0x2c, +0x20, 0x6d, 0x62, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x5d, 0x0a, 0x2a, 0x2f, 0x0a, 0x6b, +0x65, 0x72, 0x6e, 0x65, 0x6c, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x6d, 0x6f, 0x64, 0x65, 0x5f, +0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x20, 0x72, 0x65, 0x61, 0x64, 0x5f, +0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x32, 0x64, 0x5f, 0x74, 0x20, 0x20, +0x20, 0x66, 0x65, 0x6e, 0x63, 0x5f, 0x6c, 0x6f, 0x77, 0x72, 0x65, 0x73, 0x2c, 0x0a, 0x72, 0x65, +0x61, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x32, 0x64, 0x5f, +0x74, 0x20, 0x20, 0x20, 0x66, 0x72, 0x65, 0x66, 0x30, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x73, +0x2c, 0x0a, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x69, 0x6d, 0x61, 0x67, +0x65, 0x32, 0x64, 0x5f, 0x74, 0x20, 0x20, 0x20, 0x66, 0x72, 0x65, 0x66, 0x31, 0x5f, 0x70, 0x6c, +0x61, 0x6e, 0x65, 0x73, 0x2c, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x67, 0x6c, 0x6f, 0x62, +0x61, 0x6c, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x32, 0x20, 0x20, 0x2a, 0x66, 0x65, 0x6e, 0x63, +0x5f, 0x6c, 0x6f, 0x77, 0x72, 0x65, 0x73, 0x5f, 0x6d, 0x76, 0x73, 0x30, 0x2c, 0x0a, 0x63, 0x6f, +0x6e, 0x73, 0x74, 0x20, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, +0x32, 0x20, 0x20, 0x2a, 0x66, 0x65, 0x6e, 0x63, 0x5f, 0x6c, 0x6f, 0x77, 0x72, 0x65, 0x73, 0x5f, +0x6d, 0x76, 0x73, 0x31, 0x2c, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x67, 0x6c, 0x6f, 0x62, +0x61, 0x6c, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x32, 0x20, 0x20, 0x2a, 0x66, 0x72, 0x65, 0x66, +0x31, 0x5f, 0x6c, 0x6f, 0x77, 0x72, 0x65, 0x73, 0x5f, 0x6d, 0x76, 0x73, 0x30, 0x2c, 0x0a, 0x63, +0x6f, 0x6e, 0x73, 0x74, 0x20, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x20, 0x69, 0x6e, 0x74, 0x31, +0x36, 0x5f, 0x74, 0x20, 0x2a, 0x66, 0x65, 0x6e, 0x63, 0x5f, 0x6c, 0x6f, 0x77, 0x72, 0x65, 0x73, +0x5f, 0x6d, 0x76, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x73, 0x30, 0x2c, 0x0a, 0x63, 0x6f, 0x6e, 0x73, +0x74, 0x20, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x20, 0x69, 0x6e, 0x74, 0x31, 0x36, 0x5f, 0x74, +0x20, 0x2a, 0x66, 0x65, 0x6e, 0x63, 0x5f, 0x6c, 0x6f, 0x77, 0x72, 0x65, 0x73, 0x5f, 0x6d, 0x76, +0x5f, 0x63, 0x6f, 0x73, 0x74, 0x73, 0x31, 0x2c, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x67, +0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x20, 0x75, 0x69, 0x6e, 0x74, 0x31, 0x36, 0x5f, 0x74, 0x20, 0x2a, +0x66, 0x65, 0x6e, 0x63, 0x5f, 0x69, 0x6e, 0x74, 0x72, 0x61, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x2c, +0x0a, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x20, 0x75, 0x69, 0x6e, 0x74, 0x31, 0x36, 0x5f, 0x74, +0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2a, 0x6c, 0x6f, 0x77, 0x72, 0x65, 0x73, 0x5f, 0x63, 0x6f, +0x73, 0x74, 0x73, 0x2c, 0x0a, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x20, 0x69, 0x6e, 0x74, 0x20, +0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2a, 0x66, 0x72, 0x61, 0x6d, 0x65, +0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2c, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x69, 0x6e, +0x74, 0x31, 0x36, 0x5f, 0x74, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2a, 0x63, 0x6f, +0x73, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x2c, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, +0x73, 0x75, 0x6d, 0x32, 0x5f, 0x74, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2a, +0x73, 0x61, 0x74, 0x64, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x2c, 0x0a, 0x69, 0x6e, 0x74, 0x20, +0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, +0x20, 0x20, 0x6d, 0x62, 0x5f, 0x77, 0x69, 0x64, 0x74, 0x68, 0x2c, 0x0a, 0x69, 0x6e, 0x74, 0x20, +0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, +0x20, 0x20, 0x62, 0x69, 0x70, 0x72, 0x65, 0x64, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x2c, +0x0a, 0x69, 0x6e, 0x74, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, +0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x64, 0x69, 0x73, 0x74, 0x5f, 0x73, 0x63, 0x61, 0x6c, +0x65, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x2c, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x20, 0x20, +0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, +0x62, 0x2c, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, +0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x70, 0x30, 0x2c, 0x0a, 0x69, 0x6e, 0x74, +0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, +0x20, 0x20, 0x20, 0x70, 0x31, 0x2c, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, +0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x61, 0x6d, +0x62, 0x64, 0x61, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x6d, 0x62, 0x5f, 0x78, +0x20, 0x3d, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x69, 0x64, +0x28, 0x20, 0x30, 0x20, 0x29, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x62, 0x5f, 0x62, 0x69, 0x64, +0x69, 0x72, 0x20, 0x3d, 0x20, 0x62, 0x20, 0x3c, 0x20, 0x70, 0x31, 0x3b, 0x0a, 0x69, 0x66, 0x28, +0x20, 0x62, 0x5f, 0x62, 0x69, 0x64, 0x69, 0x72, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x2f, 0x2a, 0x20, +0x77, 0x68, 0x65, 0x6e, 0x20, 0x6d, 0x6f, 0x64, 0x65, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, +0x69, 0x6f, 0x6e, 0x20, 0x69, 0x73, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x42, +0x20, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x2c, 0x20, 0x69, 0x74, 0x20, 0x6d, 0x75, 0x73, 0x74, +0x20, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x42, 0x49, 0x44, 0x49, 0x52, 0x20, 0x53, +0x41, 0x54, 0x44, 0x0a, 0x2a, 0x20, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, +0x74, 0x73, 0x2c, 0x20, 0x73, 0x6f, 0x20, 0x69, 0x74, 0x20, 0x69, 0x73, 0x20, 0x6c, 0x61, 0x75, +0x6e, 0x63, 0x68, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x66, 0x6f, 0x75, 0x72, 0x20, +0x74, 0x69, 0x6d, 0x65, 0x73, 0x20, 0x61, 0x73, 0x20, 0x6d, 0x61, 0x6e, 0x79, 0x20, 0x74, 0x68, +0x72, 0x65, 0x61, 0x64, 0x73, 0x20, 0x69, 0x6e, 0x0a, 0x2a, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, +0x20, 0x74, 0x6f, 0x20, 0x73, 0x70, 0x72, 0x65, 0x61, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x77, +0x6f, 0x72, 0x6b, 0x20, 0x61, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, +0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x47, 0x50, 0x55, 0x2e, 0x20, 0x20, 0x41, 0x6e, 0x64, +0x20, 0x69, 0x74, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x61, 0x64, 0x64, 0x0a, 0x2a, 0x20, 0x70, 0x61, +0x64, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x20, 0x69, 0x6e, +0x20, 0x74, 0x68, 0x65, 0x20, 0x58, 0x20, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, +0x2e, 0x20, 0x2a, 0x2f, 0x0a, 0x6d, 0x62, 0x5f, 0x78, 0x20, 0x3e, 0x3e, 0x3d, 0x20, 0x32, 0x3b, +0x0a, 0x69, 0x66, 0x28, 0x20, 0x6d, 0x62, 0x5f, 0x78, 0x20, 0x3e, 0x3d, 0x20, 0x6d, 0x62, 0x5f, +0x77, 0x69, 0x64, 0x74, 0x68, 0x20, 0x29, 0x0a, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x3b, 0x0a, +0x7d, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x6d, 0x62, 0x5f, 0x79, 0x20, 0x3d, 0x20, 0x67, 0x65, 0x74, +0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x28, 0x20, 0x31, 0x20, 0x29, 0x3b, +0x0a, 0x69, 0x6e, 0x74, 0x20, 0x6d, 0x62, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x20, 0x3d, +0x20, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, +0x28, 0x20, 0x31, 0x20, 0x29, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x6d, 0x62, 0x5f, 0x63, 0x6f, +0x75, 0x6e, 0x74, 0x20, 0x3d, 0x20, 0x6d, 0x62, 0x5f, 0x77, 0x69, 0x64, 0x74, 0x68, 0x20, 0x2a, +0x20, 0x6d, 0x62, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, +0x6d, 0x62, 0x5f, 0x78, 0x79, 0x20, 0x3d, 0x20, 0x6d, 0x62, 0x5f, 0x78, 0x20, 0x2b, 0x20, 0x6d, +0x62, 0x5f, 0x79, 0x20, 0x2a, 0x20, 0x6d, 0x62, 0x5f, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3b, 0x0a, +0x2f, 0x2a, 0x20, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x20, 0x69, 0x6e, +0x74, 0x20, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5b, 0x34, 0x5d, +0x20, 0x66, 0x6f, 0x72, 0x20, 0x6e, 0x65, 0x78, 0x74, 0x20, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, +0x20, 0x28, 0x73, 0x75, 0x6d, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x73, 0x74, +0x29, 0x20, 0x2a, 0x2f, 0x0a, 0x69, 0x66, 0x28, 0x20, 0x6d, 0x62, 0x5f, 0x78, 0x20, 0x3c, 0x20, +0x34, 0x20, 0x26, 0x26, 0x20, 0x6d, 0x62, 0x5f, 0x79, 0x20, 0x3d, 0x3d, 0x20, 0x30, 0x20, 0x29, +0x0a, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x5b, 0x6d, 0x62, 0x5f, +0x78, 0x5d, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x62, 0x63, 0x6f, 0x73, +0x74, 0x20, 0x3d, 0x20, 0x43, 0x4f, 0x53, 0x54, 0x5f, 0x4d, 0x41, 0x58, 0x3b, 0x0a, 0x69, 0x6e, +0x74, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x20, 0x3d, 0x20, 0x30, 0x3b, +0x0a, 0x69, 0x66, 0x28, 0x20, 0x21, 0x62, 0x5f, 0x62, 0x69, 0x64, 0x69, 0x72, 0x20, 0x29, 0x0a, +0x7b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x63, 0x6f, 0x73, 0x74, 0x20, 0x3d, 0x20, 0x66, 0x65, +0x6e, 0x63, 0x5f, 0x69, 0x6e, 0x74, 0x72, 0x61, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x5b, 0x6d, 0x62, +0x5f, 0x78, 0x79, 0x5d, 0x3b, 0x0a, 0x43, 0x4f, 0x50, 0x59, 0x32, 0x5f, 0x49, 0x46, 0x5f, 0x4c, +0x54, 0x28, 0x20, 0x62, 0x63, 0x6f, 0x73, 0x74, 0x2c, 0x20, 0x69, 0x63, 0x6f, 0x73, 0x74, 0x2c, +0x20, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x2c, 0x20, 0x30, 0x20, 0x29, 0x3b, +0x0a, 0x7d, 0x0a, 0x69, 0x66, 0x28, 0x20, 0x62, 0x20, 0x21, 0x3d, 0x20, 0x70, 0x30, 0x20, 0x29, +0x0a, 0x7b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x6d, 0x76, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x30, 0x20, +0x3d, 0x20, 0x66, 0x65, 0x6e, 0x63, 0x5f, 0x6c, 0x6f, 0x77, 0x72, 0x65, 0x73, 0x5f, 0x6d, 0x76, +0x5f, 0x63, 0x6f, 0x73, 0x74, 0x73, 0x30, 0x5b, 0x28, 0x62, 0x20, 0x2d, 0x20, 0x70, 0x30, 0x20, +0x2d, 0x20, 0x31, 0x29, 0x20, 0x2a, 0x20, 0x6d, 0x62, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x20, +0x2b, 0x20, 0x6d, 0x62, 0x5f, 0x78, 0x79, 0x5d, 0x3b, 0x0a, 0x43, 0x4f, 0x50, 0x59, 0x32, 0x5f, +0x49, 0x46, 0x5f, 0x4c, 0x54, 0x28, 0x20, 0x62, 0x63, 0x6f, 0x73, 0x74, 0x2c, 0x20, 0x6d, 0x76, +0x5f, 0x63, 0x6f, 0x73, 0x74, 0x30, 0x2c, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x75, 0x73, 0x65, +0x64, 0x2c, 0x20, 0x31, 0x20, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x69, 0x66, 0x28, 0x20, 0x62, 0x20, +0x21, 0x3d, 0x20, 0x70, 0x31, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x6d, 0x76, +0x5f, 0x63, 0x6f, 0x73, 0x74, 0x31, 0x20, 0x3d, 0x20, 0x66, 0x65, 0x6e, 0x63, 0x5f, 0x6c, 0x6f, +0x77, 0x72, 0x65, 0x73, 0x5f, 0x6d, 0x76, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x73, 0x31, 0x5b, 0x28, +0x70, 0x31, 0x20, 0x2d, 0x20, 0x62, 0x20, 0x2d, 0x20, 0x31, 0x29, 0x20, 0x2a, 0x20, 0x6d, 0x62, +0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x2b, 0x20, 0x6d, 0x62, 0x5f, 0x78, 0x79, 0x5d, 0x3b, +0x0a, 0x43, 0x4f, 0x50, 0x59, 0x32, 0x5f, 0x49, 0x46, 0x5f, 0x4c, 0x54, 0x28, 0x20, 0x62, 0x63, +0x6f, 0x73, 0x74, 0x2c, 0x20, 0x6d, 0x76, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x31, 0x2c, 0x20, 0x6c, +0x69, 0x73, 0x74, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x2c, 0x20, 0x32, 0x20, 0x29, 0x3b, 0x0a, 0x7d, +0x0a, 0x69, 0x66, 0x28, 0x20, 0x62, 0x5f, 0x62, 0x69, 0x64, 0x69, 0x72, 0x20, 0x29, 0x0a, 0x7b, +0x0a, 0x69, 0x6e, 0x74, 0x32, 0x20, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x20, 0x3d, 0x20, 0x28, 0x69, +0x6e, 0x74, 0x32, 0x29, 0x28, 0x6d, 0x62, 0x5f, 0x78, 0x2c, 0x20, 0x6d, 0x62, 0x5f, 0x79, 0x29, +0x20, 0x3c, 0x3c, 0x20, 0x33, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x6d, 0x62, 0x5f, 0x69, 0x20, +0x3d, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x28, +0x20, 0x30, 0x20, 0x29, 0x20, 0x26, 0x20, 0x33, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x6d, 0x62, +0x5f, 0x69, 0x6e, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x20, 0x3d, 0x20, 0x67, 0x65, 0x74, 0x5f, +0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x28, 0x20, 0x31, 0x20, 0x29, 0x20, 0x2a, 0x20, +0x28, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x28, +0x20, 0x30, 0x20, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x67, 0x65, +0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x28, 0x20, 0x30, 0x20, 0x29, 0x20, +0x3e, 0x3e, 0x20, 0x32, 0x29, 0x3b, 0x0a, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, +0x6c, 0x20, 0x2b, 0x3d, 0x20, 0x6d, 0x62, 0x5f, 0x69, 0x6e, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, +0x20, 0x2a, 0x20, 0x34, 0x3b, 0x0a, 0x73, 0x61, 0x74, 0x64, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, +0x20, 0x2b, 0x3d, 0x20, 0x6d, 0x62, 0x5f, 0x69, 0x6e, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x20, +0x2a, 0x20, 0x31, 0x36, 0x3b, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x54, 0x52, +0x59, 0x5f, 0x42, 0x49, 0x44, 0x49, 0x52, 0x28, 0x20, 0x6d, 0x76, 0x30, 0x2c, 0x20, 0x6d, 0x76, +0x31, 0x2c, 0x20, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x20, 0x29, 0x5c, 0x0a, 0x7b, 0x5c, +0x0a, 0x69, 0x6e, 0x74, 0x32, 0x20, 0x71, 0x70, 0x6f, 0x73, 0x30, 0x20, 0x3d, 0x20, 0x28, 0x69, +0x6e, 0x74, 0x32, 0x29, 0x28, 0x28, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x2e, 0x78, 0x3c, 0x3c, 0x32, +0x29, 0x20, 0x2b, 0x20, 0x6d, 0x76, 0x30, 0x2e, 0x78, 0x2c, 0x20, 0x28, 0x63, 0x6f, 0x6f, 0x72, +0x64, 0x2e, 0x79, 0x3c, 0x3c, 0x32, 0x29, 0x20, 0x2b, 0x20, 0x6d, 0x76, 0x30, 0x2e, 0x79, 0x29, +0x3b, 0x5c, 0x0a, 0x69, 0x6e, 0x74, 0x32, 0x20, 0x71, 0x70, 0x6f, 0x73, 0x31, 0x20, 0x3d, 0x20, +0x28, 0x69, 0x6e, 0x74, 0x32, 0x29, 0x28, 0x28, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x2e, 0x78, 0x3c, +0x3c, 0x32, 0x29, 0x20, 0x2b, 0x20, 0x6d, 0x76, 0x31, 0x2e, 0x78, 0x2c, 0x20, 0x28, 0x63, 0x6f, +0x6f, 0x72, 0x64, 0x2e, 0x79, 0x3c, 0x3c, 0x32, 0x29, 0x20, 0x2b, 0x20, 0x6d, 0x76, 0x31, 0x2e, +0x79, 0x29, 0x3b, 0x5c, 0x0a, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5b, +0x6d, 0x62, 0x5f, 0x69, 0x5d, 0x20, 0x3d, 0x20, 0x62, 0x69, 0x64, 0x69, 0x72, 0x5f, 0x73, 0x61, +0x74, 0x64, 0x5f, 0x38, 0x78, 0x38, 0x5f, 0x69, 0x69, 0x5f, 0x63, 0x6f, 0x6f, 0x70, 0x34, 0x28, +0x20, 0x66, 0x65, 0x6e, 0x63, 0x5f, 0x6c, 0x6f, 0x77, 0x72, 0x65, 0x73, 0x2c, 0x20, 0x63, 0x6f, +0x6f, 0x72, 0x64, 0x2c, 0x20, 0x66, 0x72, 0x65, 0x66, 0x30, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x65, +0x73, 0x2c, 0x20, 0x71, 0x70, 0x6f, 0x73, 0x30, 0x2c, 0x20, 0x66, 0x72, 0x65, 0x66, 0x31, 0x5f, +0x70, 0x6c, 0x61, 0x6e, 0x65, 0x73, 0x2c, 0x20, 0x71, 0x70, 0x6f, 0x73, 0x31, 0x2c, 0x20, 0x62, +0x69, 0x70, 0x72, 0x65, 0x64, 0x5f, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x2c, 0x20, 0x73, 0x61, +0x74, 0x64, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x2c, 0x20, 0x6d, 0x62, 0x5f, 0x69, 0x20, 0x29, +0x3b, 0x5c, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x63, 0x6f, 0x73, 0x74, 0x20, 0x3d, 0x20, 0x63, 0x6f, +0x73, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5b, 0x30, 0x5d, 0x20, 0x2b, 0x20, 0x63, 0x6f, +0x73, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5b, 0x31, 0x5d, 0x20, 0x2b, 0x20, 0x63, 0x6f, +0x73, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5b, 0x32, 0x5d, 0x20, 0x2b, 0x20, 0x63, 0x6f, +0x73, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5b, 0x33, 0x5d, 0x3b, 0x5c, 0x0a, 0x43, 0x4f, +0x50, 0x59, 0x32, 0x5f, 0x49, 0x46, 0x5f, 0x4c, 0x54, 0x28, 0x20, 0x62, 0x63, 0x6f, 0x73, 0x74, +0x2c, 0x20, 0x70, 0x65, 0x6e, 0x61, 0x6c, 0x74, 0x79, 0x20, 0x2a, 0x20, 0x6c, 0x61, 0x6d, 0x62, +0x64, 0x61, 0x20, 0x2b, 0x20, 0x63, 0x6f, 0x73, 0x74, 0x2c, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x5f, +0x75, 0x73, 0x65, 0x64, 0x2c, 0x20, 0x33, 0x20, 0x29, 0x3b, 0x5c, 0x0a, 0x7d, 0x0a, 0x2f, 0x2a, +0x20, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x20, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, +0x74, 0x69, 0x6f, 0x6e, 0x20, 0x2a, 0x2f, 0x0a, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x32, 0x20, 0x64, +0x6d, 0x76, 0x30, 0x2c, 0x20, 0x64, 0x6d, 0x76, 0x31, 0x3b, 0x0a, 0x73, 0x68, 0x6f, 0x72, 0x74, +0x32, 0x20, 0x6d, 0x76, 0x72, 0x20, 0x3d, 0x20, 0x66, 0x72, 0x65, 0x66, 0x31, 0x5f, 0x6c, 0x6f, +0x77, 0x72, 0x65, 0x73, 0x5f, 0x6d, 0x76, 0x73, 0x30, 0x5b, 0x6d, 0x62, 0x5f, 0x78, 0x79, 0x5d, +0x3b, 0x0a, 0x64, 0x6d, 0x76, 0x30, 0x20, 0x3d, 0x20, 0x28, 0x6d, 0x76, 0x72, 0x20, 0x2a, 0x20, +0x28, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x20, 0x64, 0x69, 0x73, 0x74, 0x5f, 0x73, 0x63, 0x61, +0x6c, 0x65, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x20, 0x2b, 0x20, 0x28, 0x73, 0x68, 0x6f, +0x72, 0x74, 0x29, 0x20, 0x31, 0x32, 0x38, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x28, 0x73, 0x68, 0x6f, +0x72, 0x74, 0x29, 0x20, 0x38, 0x3b, 0x0a, 0x64, 0x6d, 0x76, 0x31, 0x20, 0x3d, 0x20, 0x64, 0x6d, +0x76, 0x30, 0x20, 0x2d, 0x20, 0x6d, 0x76, 0x72, 0x3b, 0x0a, 0x54, 0x52, 0x59, 0x5f, 0x42, 0x49, +0x44, 0x49, 0x52, 0x28, 0x20, 0x64, 0x6d, 0x76, 0x30, 0x2c, 0x20, 0x64, 0x6d, 0x76, 0x31, 0x2c, +0x20, 0x30, 0x20, 0x29, 0x0a, 0x69, 0x66, 0x28, 0x20, 0x61, 0x73, 0x5f, 0x75, 0x69, 0x6e, 0x74, +0x28, 0x20, 0x64, 0x6d, 0x76, 0x30, 0x20, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x61, 0x73, 0x5f, 0x75, +0x69, 0x6e, 0x74, 0x28, 0x20, 0x64, 0x6d, 0x76, 0x31, 0x20, 0x29, 0x20, 0x29, 0x0a, 0x7b, 0x0a, +0x2f, 0x2a, 0x20, 0x42, 0x2d, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x20, 0x70, 0x72, 0x65, 0x64, +0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x2a, 0x2f, 0x0a, 0x64, 0x6d, 0x76, 0x30, 0x20, 0x3d, +0x20, 0x30, 0x3b, 0x20, 0x64, 0x6d, 0x76, 0x31, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x54, 0x52, +0x59, 0x5f, 0x42, 0x49, 0x44, 0x49, 0x52, 0x28, 0x20, 0x64, 0x6d, 0x76, 0x30, 0x2c, 0x20, 0x64, +0x6d, 0x76, 0x31, 0x2c, 0x20, 0x30, 0x20, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x2f, 0x2a, 0x20, 0x4c, +0x30, 0x2b, 0x4c, 0x31, 0x20, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, +0x2a, 0x2f, 0x0a, 0x64, 0x6d, 0x76, 0x30, 0x20, 0x3d, 0x20, 0x66, 0x65, 0x6e, 0x63, 0x5f, 0x6c, +0x6f, 0x77, 0x72, 0x65, 0x73, 0x5f, 0x6d, 0x76, 0x73, 0x30, 0x5b, 0x28, 0x62, 0x20, 0x2d, 0x20, +0x70, 0x30, 0x20, 0x2d, 0x20, 0x31, 0x29, 0x20, 0x2a, 0x20, 0x6d, 0x62, 0x5f, 0x63, 0x6f, 0x75, +0x6e, 0x74, 0x20, 0x2b, 0x20, 0x6d, 0x62, 0x5f, 0x78, 0x79, 0x5d, 0x3b, 0x0a, 0x64, 0x6d, 0x76, +0x31, 0x20, 0x3d, 0x20, 0x66, 0x65, 0x6e, 0x63, 0x5f, 0x6c, 0x6f, 0x77, 0x72, 0x65, 0x73, 0x5f, +0x6d, 0x76, 0x73, 0x31, 0x5b, 0x28, 0x70, 0x31, 0x20, 0x2d, 0x20, 0x62, 0x20, 0x2d, 0x20, 0x31, +0x29, 0x20, 0x2a, 0x20, 0x6d, 0x62, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x2b, 0x20, 0x6d, +0x62, 0x5f, 0x78, 0x79, 0x5d, 0x3b, 0x0a, 0x54, 0x52, 0x59, 0x5f, 0x42, 0x49, 0x44, 0x49, 0x52, +0x28, 0x20, 0x64, 0x6d, 0x76, 0x30, 0x2c, 0x20, 0x64, 0x6d, 0x76, 0x31, 0x2c, 0x20, 0x35, 0x20, +0x29, 0x3b, 0x0a, 0x23, 0x75, 0x6e, 0x64, 0x65, 0x66, 0x20, 0x54, 0x52, 0x59, 0x5f, 0x42, 0x49, +0x44, 0x49, 0x52, 0x0a, 0x7d, 0x0a, 0x6c, 0x6f, 0x77, 0x72, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x73, +0x74, 0x73, 0x5b, 0x6d, 0x62, 0x5f, 0x78, 0x79, 0x5d, 0x20, 0x3d, 0x20, 0x6d, 0x69, 0x6e, 0x28, +0x20, 0x62, 0x63, 0x6f, 0x73, 0x74, 0x2c, 0x20, 0x4c, 0x4f, 0x57, 0x52, 0x45, 0x53, 0x5f, 0x43, +0x4f, 0x53, 0x54, 0x5f, 0x4d, 0x41, 0x53, 0x4b, 0x20, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x6c, 0x69, +0x73, 0x74, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x20, 0x3c, 0x3c, 0x20, 0x4c, 0x4f, 0x57, 0x52, 0x45, +0x53, 0x5f, 0x43, 0x4f, 0x53, 0x54, 0x5f, 0x53, 0x48, 0x49, 0x46, 0x54, 0x29, 0x3b, 0x0a, 0x7d, +0x0a, 0x2f, 0x2a, 0x0a, 0x2a, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x20, 0x73, +0x75, 0x6d, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x20, 0x63, 0x6f, 0x73, 0x74, 0x73, 0x0a, 0x2a, +0x0a, 0x2a, 0x20, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x20, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, +0x20, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x20, 0x5b, 0x32, 0x35, +0x36, 0x2c, 0x20, 0x6d, 0x62, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x5d, 0x0a, 0x2a, 0x2f, +0x0a, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x73, 0x75, 0x6d, +0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x28, 0x20, 0x63, 0x6f, 0x6e, +0x73, 0x74, 0x20, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x20, 0x75, 0x69, 0x6e, 0x74, 0x31, 0x36, +0x5f, 0x74, 0x20, 0x2a, 0x66, 0x65, 0x6e, 0x63, 0x5f, 0x6c, 0x6f, 0x77, 0x72, 0x65, 0x73, 0x5f, +0x63, 0x6f, 0x73, 0x74, 0x73, 0x2c, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x67, 0x6c, 0x6f, +0x62, 0x61, 0x6c, 0x20, 0x75, 0x69, 0x6e, 0x74, 0x31, 0x36, 0x5f, 0x74, 0x20, 0x2a, 0x69, 0x6e, +0x76, 0x5f, 0x71, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x2c, +0x0a, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x20, 0x20, 0x20, 0x20, +0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2a, 0x66, 0x65, 0x6e, 0x63, 0x5f, 0x72, 0x6f, 0x77, 0x5f, +0x73, 0x61, 0x74, 0x64, 0x73, 0x2c, 0x0a, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x20, 0x69, 0x6e, +0x74, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2a, 0x66, 0x72, 0x61, +0x6d, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2c, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x20, 0x20, +0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, +0x6d, 0x62, 0x5f, 0x77, 0x69, 0x64, 0x74, 0x68, 0x2c, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x20, 0x20, +0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, +0x62, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x62, 0x69, 0x61, 0x73, 0x2c, 0x0a, 0x69, 0x6e, 0x74, +0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, +0x20, 0x20, 0x20, 0x62, 0x2c, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, +0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x70, 0x30, 0x2c, 0x0a, +0x69, 0x6e, 0x74, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, +0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x70, 0x31, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x69, 0x6e, 0x74, +0x20, 0x79, 0x20, 0x3d, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, +0x69, 0x64, 0x28, 0x20, 0x31, 0x20, 0x29, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x6d, 0x62, 0x5f, +0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x20, 0x3d, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x6c, 0x6f, +0x62, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x20, 0x31, 0x20, 0x29, 0x3b, 0x0a, 0x69, +0x6e, 0x74, 0x20, 0x72, 0x6f, 0x77, 0x5f, 0x73, 0x61, 0x74, 0x64, 0x73, 0x20, 0x3d, 0x20, 0x30, +0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x65, 0x73, 0x74, 0x20, 0x3d, +0x20, 0x30, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x65, 0x73, 0x74, +0x5f, 0x61, 0x71, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x74, +0x72, 0x61, 0x5f, 0x6d, 0x62, 0x73, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x66, 0x6f, 0x72, 0x28, +0x20, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x20, 0x3d, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x6c, 0x6f, +0x62, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x28, 0x20, 0x30, 0x20, 0x29, 0x3b, 0x20, 0x78, 0x20, 0x3c, +0x20, 0x6d, 0x62, 0x5f, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3b, 0x20, 0x78, 0x20, 0x2b, 0x3d, 0x20, +0x67, 0x65, 0x74, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x28, +0x20, 0x30, 0x20, 0x29, 0x29, 0x0a, 0x7b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x6d, 0x62, 0x5f, 0x78, +0x79, 0x20, 0x3d, 0x20, 0x78, 0x20, 0x2b, 0x20, 0x79, 0x20, 0x2a, 0x20, 0x6d, 0x62, 0x5f, 0x77, +0x69, 0x64, 0x74, 0x68, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x63, 0x6f, 0x73, 0x74, 0x20, 0x3d, +0x20, 0x66, 0x65, 0x6e, 0x63, 0x5f, 0x6c, 0x6f, 0x77, 0x72, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x73, +0x74, 0x73, 0x5b, 0x6d, 0x62, 0x5f, 0x78, 0x79, 0x5d, 0x20, 0x26, 0x20, 0x4c, 0x4f, 0x57, 0x52, +0x45, 0x53, 0x5f, 0x43, 0x4f, 0x53, 0x54, 0x5f, 0x4d, 0x41, 0x53, 0x4b, 0x3b, 0x0a, 0x69, 0x6e, +0x74, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x3d, 0x20, 0x66, 0x65, 0x6e, 0x63, 0x5f, 0x6c, 0x6f, +0x77, 0x72, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x73, 0x5b, 0x6d, 0x62, 0x5f, 0x78, 0x79, +0x5d, 0x20, 0x3e, 0x3e, 0x20, 0x4c, 0x4f, 0x57, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x53, 0x54, +0x5f, 0x53, 0x48, 0x49, 0x46, 0x54, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x62, 0x5f, 0x66, 0x72, +0x61, 0x6d, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x6d, 0x62, 0x20, 0x3d, 0x20, 0x28, +0x78, 0x20, 0x3e, 0x20, 0x30, 0x20, 0x26, 0x26, 0x20, 0x78, 0x20, 0x3c, 0x20, 0x6d, 0x62, 0x5f, +0x77, 0x69, 0x64, 0x74, 0x68, 0x20, 0x2d, 0x20, 0x31, 0x20, 0x26, 0x26, 0x20, 0x79, 0x20, 0x3e, +0x20, 0x30, 0x20, 0x26, 0x26, 0x20, 0x79, 0x20, 0x3c, 0x20, 0x6d, 0x62, 0x5f, 0x68, 0x65, 0x69, +0x67, 0x68, 0x74, 0x20, 0x2d, 0x20, 0x31, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x6d, 0x62, 0x5f, 0x77, +0x69, 0x64, 0x74, 0x68, 0x20, 0x3c, 0x3d, 0x20, 0x32, 0x20, 0x7c, 0x7c, 0x20, 0x6d, 0x62, 0x5f, +0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x20, 0x3c, 0x3d, 0x20, 0x32, 0x3b, 0x0a, 0x69, 0x66, 0x28, +0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x3d, 0x3d, 0x20, 0x30, 0x20, 0x26, 0x26, 0x20, 0x62, 0x5f, +0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x6d, 0x62, 0x20, 0x29, +0x0a, 0x69, 0x6e, 0x74, 0x72, 0x61, 0x5f, 0x6d, 0x62, 0x73, 0x2b, 0x2b, 0x3b, 0x0a, 0x69, 0x6e, +0x74, 0x20, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x61, 0x71, 0x20, 0x3d, 0x20, 0x28, 0x63, 0x6f, 0x73, +0x74, 0x20, 0x2a, 0x20, 0x69, 0x6e, 0x76, 0x5f, 0x71, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x5f, 0x66, +0x61, 0x63, 0x74, 0x6f, 0x72, 0x5b, 0x6d, 0x62, 0x5f, 0x78, 0x79, 0x5d, 0x20, 0x2b, 0x20, 0x31, +0x32, 0x38, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x38, 0x3b, 0x0a, 0x72, 0x6f, 0x77, 0x5f, 0x73, 0x61, +0x74, 0x64, 0x73, 0x20, 0x2b, 0x3d, 0x20, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x61, 0x71, 0x3b, 0x0a, +0x69, 0x66, 0x28, 0x20, 0x62, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, +0x65, 0x5f, 0x6d, 0x62, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x65, 0x73, +0x74, 0x20, 0x2b, 0x3d, 0x20, 0x63, 0x6f, 0x73, 0x74, 0x3b, 0x0a, 0x63, 0x6f, 0x73, 0x74, 0x5f, +0x65, 0x73, 0x74, 0x5f, 0x61, 0x71, 0x20, 0x2b, 0x3d, 0x20, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x61, +0x71, 0x3b, 0x0a, 0x7d, 0x0a, 0x7d, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x69, 0x6e, 0x74, +0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5b, 0x32, 0x35, 0x36, 0x5d, 0x3b, 0x0a, 0x69, 0x6e, +0x74, 0x20, 0x78, 0x20, 0x3d, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, +0x5f, 0x69, 0x64, 0x28, 0x20, 0x30, 0x20, 0x29, 0x3b, 0x0a, 0x72, 0x6f, 0x77, 0x5f, 0x73, 0x61, +0x74, 0x64, 0x73, 0x20, 0x20, 0x20, 0x3d, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, +0x5f, 0x73, 0x75, 0x6d, 0x28, 0x20, 0x72, 0x6f, 0x77, 0x5f, 0x73, 0x61, 0x74, 0x64, 0x73, 0x2c, +0x20, 0x78, 0x2c, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x20, 0x29, 0x3b, 0x0a, 0x63, 0x6f, +0x73, 0x74, 0x5f, 0x65, 0x73, 0x74, 0x20, 0x20, 0x20, 0x20, 0x3d, 0x20, 0x70, 0x61, 0x72, 0x61, +0x6c, 0x6c, 0x65, 0x6c, 0x5f, 0x73, 0x75, 0x6d, 0x28, 0x20, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x65, +0x73, 0x74, 0x2c, 0x20, 0x78, 0x2c, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x20, 0x29, 0x3b, +0x0a, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x65, 0x73, 0x74, 0x5f, 0x61, 0x71, 0x20, 0x3d, 0x20, 0x70, +0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x5f, 0x73, 0x75, 0x6d, 0x28, 0x20, 0x63, 0x6f, 0x73, +0x74, 0x5f, 0x65, 0x73, 0x74, 0x5f, 0x61, 0x71, 0x2c, 0x20, 0x78, 0x2c, 0x20, 0x62, 0x75, 0x66, +0x66, 0x65, 0x72, 0x20, 0x29, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x72, 0x61, 0x5f, 0x6d, 0x62, 0x73, +0x20, 0x20, 0x20, 0x3d, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x5f, 0x73, 0x75, +0x6d, 0x28, 0x20, 0x69, 0x6e, 0x74, 0x72, 0x61, 0x5f, 0x6d, 0x62, 0x73, 0x2c, 0x20, 0x78, 0x2c, +0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x20, 0x29, 0x3b, 0x0a, 0x69, 0x66, 0x28, 0x20, 0x62, +0x20, 0x21, 0x3d, 0x20, 0x70, 0x31, 0x20, 0x29, 0x0a, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x65, 0x73, +0x74, 0x20, 0x3d, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x28, 0x28, 0x66, 0x6c, 0x6f, 0x61, 0x74, +0x29, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x65, 0x73, 0x74, 0x20, 0x2a, 0x20, 0x31, 0x30, 0x30, 0x2e, +0x30, 0x66, 0x20, 0x2f, 0x20, 0x28, 0x31, 0x32, 0x30, 0x2e, 0x30, 0x66, 0x20, 0x2b, 0x20, 0x28, +0x66, 0x6c, 0x6f, 0x61, 0x74, 0x29, 0x62, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x62, 0x69, 0x61, +0x73, 0x29, 0x29, 0x3b, 0x0a, 0x69, 0x66, 0x28, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x6c, 0x6f, +0x62, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x28, 0x20, 0x30, 0x20, 0x29, 0x20, 0x3d, 0x3d, 0x20, 0x30, +0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x66, 0x65, 0x6e, 0x63, 0x5f, 0x72, 0x6f, 0x77, 0x5f, 0x73, 0x61, +0x74, 0x64, 0x73, 0x5b, 0x79, 0x5d, 0x20, 0x3d, 0x20, 0x72, 0x6f, 0x77, 0x5f, 0x73, 0x61, 0x74, +0x64, 0x73, 0x3b, 0x0a, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x5f, 0x61, 0x64, 0x64, 0x28, 0x20, +0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x20, 0x2b, 0x20, 0x43, 0x4f, +0x53, 0x54, 0x5f, 0x45, 0x53, 0x54, 0x2c, 0x20, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x65, 0x73, 0x74, +0x20, 0x29, 0x3b, 0x0a, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x5f, 0x61, 0x64, 0x64, 0x28, 0x20, +0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x20, 0x2b, 0x20, 0x43, 0x4f, +0x53, 0x54, 0x5f, 0x45, 0x53, 0x54, 0x5f, 0x41, 0x51, 0x2c, 0x20, 0x63, 0x6f, 0x73, 0x74, 0x5f, +0x65, 0x73, 0x74, 0x5f, 0x61, 0x71, 0x20, 0x29, 0x3b, 0x0a, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, +0x5f, 0x61, 0x64, 0x64, 0x28, 0x20, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, +0x73, 0x20, 0x2b, 0x20, 0x49, 0x4e, 0x54, 0x52, 0x41, 0x5f, 0x4d, 0x42, 0x53, 0x2c, 0x20, 0x69, +0x6e, 0x74, 0x72, 0x61, 0x5f, 0x6d, 0x62, 0x73, 0x20, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x7d, 0x0a, +0x2f, 0x2a, 0x0a, 0x2a, 0x20, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x20, 0x6c, +0x6f, 0x77, 0x72, 0x65, 0x73, 0x20, 0x6c, 0x75, 0x6d, 0x61, 0x3a, 0x20, 0x66, 0x75, 0x6c, 0x6c, +0x2d, 0x72, 0x65, 0x73, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x64, +0x6f, 0x77, 0x6e, 0x20, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x20, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2c, +0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x20, 0x68, +0x70, 0x65, 0x6c, 0x20, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x0a, 0x2a, 0x0a, 0x2a, 0x20, 0x2d, 0x2d, +0x0a, 0x2a, 0x0a, 0x2a, 0x20, 0x66, 0x65, 0x6e, 0x63, 0x5f, 0x69, 0x6d, 0x67, 0x20, 0x69, 0x73, +0x20, 0x61, 0x6e, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x69, 0x6d, 0x61, 0x67, 0x65, +0x20, 0x28, 0x61, 0x72, 0x65, 0x61, 0x20, 0x6f, 0x66, 0x20, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, +0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x64, 0x20, 0x74, 0x68, 0x72, 0x6f, +0x75, 0x67, 0x68, 0x20, 0x61, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x0a, 0x2a, 0x20, +0x63, 0x61, 0x63, 0x68, 0x65, 0x29, 0x2e, 0x20, 0x41, 0x20, 0x72, 0x65, 0x61, 0x64, 0x20, 0x6f, +0x66, 0x20, 0x61, 0x6e, 0x79, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x6c, 0x6f, 0x63, 0x61, +0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x78, 0x2c, 0x79, 0x29, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, +0x6e, 0x73, 0x20, 0x66, 0x6f, 0x75, 0x72, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x76, 0x61, +0x6c, 0x75, 0x65, 0x73, 0x3a, 0x0a, 0x2a, 0x0a, 0x2a, 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x73, 0x30, +0x20, 0x3d, 0x20, 0x50, 0x28, 0x78, 0x2c, 0x79, 0x29, 0x0a, 0x2a, 0x20, 0x76, 0x61, 0x6c, 0x2e, +0x73, 0x31, 0x20, 0x3d, 0x20, 0x50, 0x28, 0x78, 0x2b, 0x31, 0x2c, 0x79, 0x29, 0x0a, 0x2a, 0x20, +0x76, 0x61, 0x6c, 0x2e, 0x73, 0x32, 0x20, 0x3d, 0x20, 0x50, 0x28, 0x78, 0x2b, 0x32, 0x2c, 0x79, +0x29, 0x0a, 0x2a, 0x20, 0x76, 0x61, 0x6c, 0x2e, 0x73, 0x33, 0x20, 0x3d, 0x20, 0x50, 0x28, 0x78, +0x2b, 0x33, 0x2c, 0x79, 0x29, 0x0a, 0x2a, 0x0a, 0x2a, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, +0x73, 0x20, 0x61, 0x20, 0x34, 0x78, 0x20, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, +0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x6f, 0x77, 0x72, 0x65, 0x73, +0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x73, 0x2c, 0x20, 0x61, 0x20, 0x74, 0x72, 0x61, 0x64, 0x65, +0x2d, 0x6f, 0x66, 0x66, 0x20, 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x20, 0x6d, 0x65, 0x6d, +0x6f, 0x72, 0x79, 0x0a, 0x2a, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x72, +0x65, 0x61, 0x64, 0x20, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x2e, 0x0a, 0x2a, 0x0a, 0x2a, +0x20, 0x2d, 0x2d, 0x0a, 0x2a, 0x0a, 0x2a, 0x20, 0x68, 0x70, 0x65, 0x6c, 0x5f, 0x70, 0x6c, 0x61, +0x6e, 0x65, 0x73, 0x20, 0x69, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, +0x20, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x63, 0x6f, 0x6e, 0x74, +0x61, 0x69, 0x6e, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x6f, 0x75, 0x72, 0x20, 0x48, 0x50, +0x45, 0x4c, 0x20, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x66, +0x6f, 0x72, 0x0a, 0x2a, 0x20, 0x73, 0x75, 0x62, 0x70, 0x65, 0x6c, 0x20, 0x72, 0x65, 0x66, 0x69, +0x6e, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x20, 0x41, 0x20, 0x72, 0x65, 0x61, 0x64, 0x20, 0x6f, +0x66, 0x20, 0x61, 0x6e, 0x79, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x6c, 0x6f, 0x63, 0x61, +0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x78, 0x2c, 0x79, 0x29, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, +0x6e, 0x73, 0x20, 0x61, 0x20, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x77, 0x69, 0x74, 0x68, +0x0a, 0x2a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x6f, 0x75, 0x72, 0x20, 0x70, 0x6c, 0x61, 0x6e, +0x61, 0x72, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x43, 0x20, 0x7c, 0x20, 0x56, 0x20, +0x7c, 0x20, 0x48, 0x20, 0x7c, 0x20, 0x46, 0x0a, 0x2a, 0x0a, 0x2a, 0x20, 0x6c, 0x61, 0x75, 0x6e, +0x63, 0x68, 0x20, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x20, 0x20, +0x5b, 0x6c, 0x6f, 0x77, 0x72, 0x65, 0x73, 0x2d, 0x77, 0x69, 0x64, 0x74, 0x68, 0x2c, 0x20, 0x6c, +0x6f, 0x77, 0x72, 0x65, 0x73, 0x2d, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x5d, 0x0a, 0x2a, 0x2f, +0x0a, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x64, 0x6f, 0x77, +0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x5f, 0x68, 0x70, 0x65, 0x6c, 0x28, 0x20, 0x63, 0x6f, 0x6e, +0x73, 0x74, 0x20, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, +0x2a, 0x66, 0x65, 0x6e, 0x63, 0x2c, 0x0a, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, +0x79, 0x20, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x32, 0x64, 0x5f, 0x74, 0x20, 0x66, 0x65, 0x6e, 0x63, +0x5f, 0x69, 0x6d, 0x67, 0x2c, 0x0a, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, +0x20, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x32, 0x64, 0x5f, 0x74, 0x20, 0x68, 0x70, 0x65, 0x6c, 0x5f, +0x70, 0x6c, 0x61, 0x6e, 0x65, 0x73, 0x2c, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x73, 0x74, 0x72, 0x69, +0x64, 0x65, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x20, 0x3d, 0x20, 0x67, +0x65, 0x74, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x28, 0x20, 0x30, 0x20, +0x29, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x79, 0x20, 0x3d, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x67, +0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x28, 0x20, 0x31, 0x20, 0x29, 0x3b, 0x0a, 0x75, +0x69, 0x6e, 0x74, 0x34, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x3b, 0x0a, 0x66, 0x65, 0x6e, +0x63, 0x20, 0x2b, 0x3d, 0x20, 0x79, 0x20, 0x2a, 0x20, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x20, +0x2a, 0x20, 0x32, 0x3b, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x67, 0x6c, 0x6f, 0x62, 0x61, +0x6c, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x2a, 0x73, 0x72, 0x63, 0x31, 0x20, 0x3d, 0x20, +0x66, 0x65, 0x6e, 0x63, 0x20, 0x2b, 0x20, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x3b, 0x0a, 0x63, +0x6f, 0x6e, 0x73, 0x74, 0x20, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x20, 0x70, 0x69, 0x78, 0x65, +0x6c, 0x20, 0x2a, 0x73, 0x72, 0x63, 0x32, 0x20, 0x3d, 0x20, 0x28, 0x79, 0x20, 0x3d, 0x3d, 0x20, +0x67, 0x65, 0x74, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x28, +0x20, 0x31, 0x20, 0x29, 0x2d, 0x31, 0x29, 0x20, 0x3f, 0x20, 0x73, 0x72, 0x63, 0x31, 0x20, 0x3a, +0x20, 0x73, 0x72, 0x63, 0x31, 0x20, 0x2b, 0x20, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x3b, 0x0a, +0x69, 0x6e, 0x74, 0x32, 0x20, 0x70, 0x6f, 0x73, 0x20, 0x3d, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x32, +0x29, 0x28, 0x78, 0x2c, 0x20, 0x79, 0x29, 0x3b, 0x0a, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x72, +0x69, 0x67, 0x68, 0x74, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x3b, 0x0a, 0x72, 0x69, 0x67, 0x68, +0x74, 0x20, 0x3d, 0x20, 0x72, 0x68, 0x61, 0x64, 0x64, 0x28, 0x20, 0x66, 0x65, 0x6e, 0x63, 0x5b, +0x78, 0x2a, 0x32, 0x5d, 0x2c, 0x20, 0x73, 0x72, 0x63, 0x31, 0x5b, 0x78, 0x2a, 0x32, 0x5d, 0x20, +0x29, 0x3b, 0x0a, 0x6c, 0x65, 0x66, 0x74, 0x20, 0x20, 0x3d, 0x20, 0x72, 0x68, 0x61, 0x64, 0x64, +0x28, 0x20, 0x66, 0x65, 0x6e, 0x63, 0x5b, 0x78, 0x2a, 0x32, 0x2b, 0x31, 0x5d, 0x2c, 0x20, 0x73, +0x72, 0x63, 0x31, 0x5b, 0x78, 0x2a, 0x32, 0x2b, 0x31, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x76, 0x61, +0x6c, 0x75, 0x65, 0x73, 0x2e, 0x73, 0x30, 0x20, 0x3d, 0x20, 0x72, 0x68, 0x61, 0x64, 0x64, 0x28, +0x20, 0x72, 0x69, 0x67, 0x68, 0x74, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x20, 0x29, 0x3b, 0x20, +0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x46, 0x0a, 0x72, +0x69, 0x67, 0x68, 0x74, 0x20, 0x3d, 0x20, 0x72, 0x68, 0x61, 0x64, 0x64, 0x28, 0x20, 0x66, 0x65, +0x6e, 0x63, 0x5b, 0x32, 0x2a, 0x78, 0x2b, 0x31, 0x5d, 0x2c, 0x20, 0x73, 0x72, 0x63, 0x31, 0x5b, +0x32, 0x2a, 0x78, 0x2b, 0x31, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x6c, 0x65, 0x66, 0x74, 0x20, 0x20, +0x3d, 0x20, 0x72, 0x68, 0x61, 0x64, 0x64, 0x28, 0x20, 0x66, 0x65, 0x6e, 0x63, 0x5b, 0x32, 0x2a, +0x78, 0x2b, 0x32, 0x5d, 0x2c, 0x20, 0x73, 0x72, 0x63, 0x31, 0x5b, 0x32, 0x2a, 0x78, 0x2b, 0x32, +0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x73, 0x31, 0x20, 0x3d, +0x20, 0x72, 0x68, 0x61, 0x64, 0x64, 0x28, 0x20, 0x72, 0x69, 0x67, 0x68, 0x74, 0x2c, 0x20, 0x6c, +0x65, 0x66, 0x74, 0x20, 0x29, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, +0x20, 0x2f, 0x2f, 0x20, 0x48, 0x0a, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x3d, 0x20, 0x72, 0x68, +0x61, 0x64, 0x64, 0x28, 0x20, 0x73, 0x72, 0x63, 0x31, 0x5b, 0x32, 0x2a, 0x78, 0x5d, 0x2c, 0x20, +0x73, 0x72, 0x63, 0x32, 0x5b, 0x32, 0x2a, 0x78, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x6c, 0x65, 0x66, +0x74, 0x20, 0x20, 0x3d, 0x20, 0x72, 0x68, 0x61, 0x64, 0x64, 0x28, 0x20, 0x73, 0x72, 0x63, 0x31, +0x5b, 0x32, 0x2a, 0x78, 0x2b, 0x31, 0x5d, 0x2c, 0x20, 0x73, 0x72, 0x63, 0x32, 0x5b, 0x32, 0x2a, +0x78, 0x2b, 0x31, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x73, +0x32, 0x20, 0x3d, 0x20, 0x72, 0x68, 0x61, 0x64, 0x64, 0x28, 0x20, 0x72, 0x69, 0x67, 0x68, 0x74, +0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x20, 0x29, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, +0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x56, 0x0a, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x3d, +0x20, 0x72, 0x68, 0x61, 0x64, 0x64, 0x28, 0x20, 0x73, 0x72, 0x63, 0x31, 0x5b, 0x32, 0x2a, 0x78, +0x2b, 0x31, 0x5d, 0x2c, 0x20, 0x73, 0x72, 0x63, 0x32, 0x5b, 0x32, 0x2a, 0x78, 0x2b, 0x31, 0x5d, +0x20, 0x29, 0x3b, 0x0a, 0x6c, 0x65, 0x66, 0x74, 0x20, 0x20, 0x3d, 0x20, 0x72, 0x68, 0x61, 0x64, +0x64, 0x28, 0x20, 0x73, 0x72, 0x63, 0x31, 0x5b, 0x32, 0x2a, 0x78, 0x2b, 0x32, 0x5d, 0x2c, 0x20, +0x73, 0x72, 0x63, 0x32, 0x5b, 0x32, 0x2a, 0x78, 0x2b, 0x32, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x76, +0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x73, 0x33, 0x20, 0x3d, 0x20, 0x72, 0x68, 0x61, 0x64, 0x64, +0x28, 0x20, 0x72, 0x69, 0x67, 0x68, 0x74, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x20, 0x29, 0x3b, +0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x43, 0x0a, +0x75, 0x69, 0x6e, 0x74, 0x34, 0x20, 0x76, 0x61, 0x6c, 0x20, 0x3d, 0x20, 0x28, 0x75, 0x69, 0x6e, +0x74, 0x34, 0x29, 0x20, 0x28, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x73, 0x33, 0x20, +0x26, 0x20, 0x30, 0x78, 0x66, 0x66, 0x29, 0x20, 0x3c, 0x3c, 0x20, 0x32, 0x34, 0x29, 0x20, 0x7c, +0x20, 0x28, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x73, 0x32, 0x20, 0x26, 0x20, 0x30, +0x78, 0x66, 0x66, 0x29, 0x20, 0x3c, 0x3c, 0x20, 0x31, 0x36, 0x29, 0x20, 0x7c, 0x20, 0x28, 0x28, +0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x73, 0x31, 0x20, 0x26, 0x20, 0x30, 0x78, 0x66, 0x66, +0x29, 0x20, 0x3c, 0x3c, 0x20, 0x38, 0x29, 0x20, 0x7c, 0x20, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, +0x73, 0x2e, 0x73, 0x30, 0x20, 0x26, 0x20, 0x30, 0x78, 0x66, 0x66, 0x29, 0x3b, 0x0a, 0x77, 0x72, +0x69, 0x74, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x75, 0x69, 0x28, 0x20, 0x68, 0x70, 0x65, +0x6c, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x73, 0x2c, 0x20, 0x70, 0x6f, 0x73, 0x2c, 0x20, 0x76, +0x61, 0x6c, 0x20, 0x29, 0x3b, 0x0a, 0x78, 0x20, 0x3d, 0x20, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, +0x28, 0x20, 0x78, 0x2c, 0x20, 0x78, 0x2b, 0x31, 0x2c, 0x20, 0x78, 0x2b, 0x31, 0x20, 0x3c, 0x20, +0x67, 0x65, 0x74, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x28, +0x20, 0x30, 0x20, 0x29, 0x20, 0x29, 0x3b, 0x0a, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x3d, 0x20, +0x72, 0x68, 0x61, 0x64, 0x64, 0x28, 0x20, 0x66, 0x65, 0x6e, 0x63, 0x5b, 0x78, 0x2a, 0x32, 0x5d, +0x2c, 0x20, 0x73, 0x72, 0x63, 0x31, 0x5b, 0x78, 0x2a, 0x32, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x6c, +0x65, 0x66, 0x74, 0x20, 0x20, 0x3d, 0x20, 0x72, 0x68, 0x61, 0x64, 0x64, 0x28, 0x20, 0x66, 0x65, +0x6e, 0x63, 0x5b, 0x78, 0x2a, 0x32, 0x2b, 0x31, 0x5d, 0x2c, 0x20, 0x73, 0x72, 0x63, 0x31, 0x5b, +0x78, 0x2a, 0x32, 0x2b, 0x31, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, +0x2e, 0x73, 0x31, 0x20, 0x3d, 0x20, 0x72, 0x68, 0x61, 0x64, 0x64, 0x28, 0x20, 0x72, 0x69, 0x67, +0x68, 0x74, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x20, 0x29, 0x3b, 0x0a, 0x78, 0x20, 0x3d, 0x20, +0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x28, 0x20, 0x78, 0x2c, 0x20, 0x78, 0x2b, 0x31, 0x2c, 0x20, +0x78, 0x2b, 0x31, 0x20, 0x3c, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, +0x5f, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x20, 0x30, 0x20, 0x29, 0x20, 0x29, 0x3b, 0x0a, 0x72, 0x69, +0x67, 0x68, 0x74, 0x20, 0x3d, 0x20, 0x72, 0x68, 0x61, 0x64, 0x64, 0x28, 0x20, 0x66, 0x65, 0x6e, +0x63, 0x5b, 0x78, 0x2a, 0x32, 0x5d, 0x2c, 0x20, 0x73, 0x72, 0x63, 0x31, 0x5b, 0x78, 0x2a, 0x32, +0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x6c, 0x65, 0x66, 0x74, 0x20, 0x20, 0x3d, 0x20, 0x72, 0x68, 0x61, +0x64, 0x64, 0x28, 0x20, 0x66, 0x65, 0x6e, 0x63, 0x5b, 0x78, 0x2a, 0x32, 0x2b, 0x31, 0x5d, 0x2c, +0x20, 0x73, 0x72, 0x63, 0x31, 0x5b, 0x78, 0x2a, 0x32, 0x2b, 0x31, 0x5d, 0x20, 0x29, 0x3b, 0x0a, +0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x73, 0x32, 0x20, 0x3d, 0x20, 0x72, 0x68, 0x61, 0x64, +0x64, 0x28, 0x20, 0x72, 0x69, 0x67, 0x68, 0x74, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x20, 0x29, +0x3b, 0x0a, 0x78, 0x20, 0x3d, 0x20, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x28, 0x20, 0x78, 0x2c, +0x20, 0x78, 0x2b, 0x31, 0x2c, 0x20, 0x78, 0x2b, 0x31, 0x20, 0x3c, 0x20, 0x67, 0x65, 0x74, 0x5f, +0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x20, 0x30, 0x20, 0x29, +0x20, 0x29, 0x3b, 0x0a, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x3d, 0x20, 0x72, 0x68, 0x61, 0x64, +0x64, 0x28, 0x20, 0x66, 0x65, 0x6e, 0x63, 0x5b, 0x78, 0x2a, 0x32, 0x5d, 0x2c, 0x20, 0x73, 0x72, +0x63, 0x31, 0x5b, 0x78, 0x2a, 0x32, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x6c, 0x65, 0x66, 0x74, 0x20, +0x20, 0x3d, 0x20, 0x72, 0x68, 0x61, 0x64, 0x64, 0x28, 0x20, 0x66, 0x65, 0x6e, 0x63, 0x5b, 0x78, +0x2a, 0x32, 0x2b, 0x31, 0x5d, 0x2c, 0x20, 0x73, 0x72, 0x63, 0x31, 0x5b, 0x78, 0x2a, 0x32, 0x2b, +0x31, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x73, 0x33, 0x20, +0x3d, 0x20, 0x72, 0x68, 0x61, 0x64, 0x64, 0x28, 0x20, 0x72, 0x69, 0x67, 0x68, 0x74, 0x2c, 0x20, +0x6c, 0x65, 0x66, 0x74, 0x20, 0x29, 0x3b, 0x0a, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x69, 0x6d, +0x61, 0x67, 0x65, 0x75, 0x69, 0x28, 0x20, 0x66, 0x65, 0x6e, 0x63, 0x5f, 0x69, 0x6d, 0x67, 0x2c, +0x20, 0x70, 0x6f, 0x73, 0x2c, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x29, 0x3b, 0x0a, +0x7d, 0x0a, 0x2f, 0x2a, 0x0a, 0x2a, 0x20, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, +0x20, 0x6c, 0x6f, 0x77, 0x72, 0x65, 0x73, 0x20, 0x68, 0x69, 0x65, 0x72, 0x61, 0x72, 0x63, 0x68, +0x69, 0x63, 0x61, 0x6c, 0x20, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x73, 0x65, 0x61, 0x72, +0x63, 0x68, 0x20, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2c, 0x20, 0x63, 0x6f, 0x70, 0x79, 0x20, 0x66, +0x72, 0x6f, 0x6d, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x20, 0x74, 0x6f, +0x0a, 0x2a, 0x20, 0x61, 0x6e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x64, 0x65, 0x63, 0x69, 0x6d, +0x61, 0x74, 0x65, 0x64, 0x20, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2e, 0x20, 0x20, 0x54, 0x68, 0x69, +0x73, 0x20, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x20, 0x69, 0x73, 0x20, 0x63, 0x61, 0x6c, 0x6c, +0x65, 0x64, 0x20, 0x69, 0x74, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x79, 0x20, 0x74, +0x6f, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x20, 0x61, 0x6c, 0x6c, 0x0a, 0x2a, +0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x63, 0x61, 0x6c, +0x65, 0x73, 0x2e, 0x0a, 0x2a, 0x0a, 0x2a, 0x20, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x20, 0x64, +0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x20, 0x20, 0x5b, 0x6c, 0x6f, 0x77, +0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x2c, 0x20, 0x6c, 0x6f, +0x77, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x20, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x5d, 0x0a, +0x2a, 0x2f, 0x0a, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x64, +0x6f, 0x77, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x31, 0x28, 0x20, 0x72, 0x65, 0x61, 0x64, 0x5f, +0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x32, 0x64, 0x5f, 0x74, 0x20, 0x68, +0x69, 0x67, 0x68, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x2c, 0x20, 0x77, 0x72, 0x69, 0x74, 0x65, +0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x32, 0x64, 0x5f, 0x74, 0x20, +0x6c, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x69, 0x6e, +0x74, 0x20, 0x78, 0x20, 0x3d, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, +0x5f, 0x69, 0x64, 0x28, 0x20, 0x30, 0x20, 0x29, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x79, 0x20, +0x3d, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x28, +0x20, 0x31, 0x20, 0x29, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x32, 0x20, 0x70, 0x6f, 0x73, 0x20, 0x3d, +0x20, 0x28, 0x69, 0x6e, 0x74, 0x32, 0x29, 0x28, 0x78, 0x2c, 0x20, 0x79, 0x29, 0x3b, 0x0a, 0x69, +0x6e, 0x74, 0x20, 0x67, 0x73, 0x20, 0x3d, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x6c, 0x6f, 0x62, +0x61, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x20, 0x30, 0x20, 0x29, 0x3b, 0x0a, 0x75, 0x69, +0x6e, 0x74, 0x34, 0x20, 0x74, 0x6f, 0x70, 0x2c, 0x20, 0x62, 0x6f, 0x74, 0x2c, 0x20, 0x76, 0x61, +0x6c, 0x75, 0x65, 0x73, 0x3b, 0x0a, 0x74, 0x6f, 0x70, 0x20, 0x3d, 0x20, 0x72, 0x65, 0x61, 0x64, +0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x75, 0x69, 0x28, 0x20, 0x68, 0x69, 0x67, 0x68, 0x65, 0x72, +0x5f, 0x72, 0x65, 0x73, 0x2c, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x28, +0x69, 0x6e, 0x74, 0x32, 0x29, 0x28, 0x78, 0x2a, 0x32, 0x2c, 0x20, 0x32, 0x2a, 0x79, 0x29, 0x20, +0x29, 0x3b, 0x0a, 0x62, 0x6f, 0x74, 0x20, 0x3d, 0x20, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x69, 0x6d, +0x61, 0x67, 0x65, 0x75, 0x69, 0x28, 0x20, 0x68, 0x69, 0x67, 0x68, 0x65, 0x72, 0x5f, 0x72, 0x65, +0x73, 0x2c, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x28, 0x69, 0x6e, 0x74, +0x32, 0x29, 0x28, 0x78, 0x2a, 0x32, 0x2c, 0x20, 0x32, 0x2a, 0x79, 0x2b, 0x31, 0x29, 0x20, 0x29, +0x3b, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x73, 0x30, 0x20, 0x3d, 0x20, 0x72, 0x68, +0x61, 0x64, 0x64, 0x28, 0x20, 0x72, 0x68, 0x61, 0x64, 0x64, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x2e, +0x73, 0x30, 0x2c, 0x20, 0x62, 0x6f, 0x74, 0x2e, 0x73, 0x30, 0x20, 0x29, 0x2c, 0x20, 0x72, 0x68, +0x61, 0x64, 0x64, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x2e, 0x73, 0x31, 0x2c, 0x20, 0x62, 0x6f, 0x74, +0x2e, 0x73, 0x31, 0x20, 0x29, 0x20, 0x29, 0x3b, 0x0a, 0x2f, 0x2a, 0x20, 0x74, 0x68, 0x65, 0x73, +0x65, 0x20, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, 0x6d, 0x65, +0x6e, 0x74, 0x73, 0x20, 0x61, 0x70, 0x70, 0x65, 0x61, 0x72, 0x20, 0x72, 0x65, 0x64, 0x75, 0x6e, +0x64, 0x61, 0x6e, 0x74, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x79, 0x20, 0x73, +0x68, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x62, 0x65, 0x2c, 0x20, 0x62, 0x75, 0x74, 0x20, 0x74, 0x65, +0x73, 0x74, 0x73, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x0a, 0x2a, +0x20, 0x74, 0x68, 0x65, 0x79, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x68, 0x65, +0x72, 0x65, 0x2e, 0x20, 0x20, 0x49, 0x20, 0x62, 0x65, 0x6c, 0x69, 0x65, 0x76, 0x65, 0x20, 0x74, +0x68, 0x69, 0x73, 0x20, 0x77, 0x61, 0x73, 0x20, 0x63, 0x61, 0x75, 0x73, 0x65, 0x64, 0x20, 0x62, +0x79, 0x20, 0x61, 0x20, 0x64, 0x72, 0x69, 0x76, 0x65, 0x72, 0x20, 0x62, 0x75, 0x67, 0x0a, 0x2a, +0x2f, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x73, 0x31, 0x20, 0x3d, 0x20, 0x73, 0x65, +0x6c, 0x65, 0x63, 0x74, 0x28, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x73, 0x30, 0x2c, +0x20, 0x72, 0x68, 0x61, 0x64, 0x64, 0x28, 0x20, 0x72, 0x68, 0x61, 0x64, 0x64, 0x28, 0x20, 0x74, +0x6f, 0x70, 0x2e, 0x73, 0x32, 0x2c, 0x20, 0x62, 0x6f, 0x74, 0x2e, 0x73, 0x32, 0x20, 0x29, 0x2c, +0x20, 0x72, 0x68, 0x61, 0x64, 0x64, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x2e, 0x73, 0x33, 0x2c, 0x20, +0x62, 0x6f, 0x74, 0x2e, 0x73, 0x33, 0x20, 0x29, 0x20, 0x29, 0x2c, 0x20, 0x28, 0x20, 0x78, 0x20, +0x2b, 0x20, 0x31, 0x20, 0x3c, 0x20, 0x67, 0x73, 0x29, 0x20, 0x29, 0x3b, 0x0a, 0x74, 0x6f, 0x70, +0x20, 0x3d, 0x20, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x75, 0x69, 0x28, +0x20, 0x68, 0x69, 0x67, 0x68, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x2c, 0x20, 0x73, 0x61, 0x6d, +0x70, 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x32, 0x29, 0x28, 0x78, 0x2a, 0x32, +0x2b, 0x34, 0x2c, 0x20, 0x32, 0x2a, 0x79, 0x29, 0x20, 0x29, 0x3b, 0x0a, 0x62, 0x6f, 0x74, 0x20, +0x3d, 0x20, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x75, 0x69, 0x28, 0x20, +0x68, 0x69, 0x67, 0x68, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x2c, 0x20, 0x73, 0x61, 0x6d, 0x70, +0x6c, 0x65, 0x72, 0x2c, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x32, 0x29, 0x28, 0x78, 0x2a, 0x32, 0x2b, +0x34, 0x2c, 0x20, 0x32, 0x2a, 0x79, 0x2b, 0x31, 0x29, 0x20, 0x29, 0x3b, 0x0a, 0x76, 0x61, 0x6c, +0x75, 0x65, 0x73, 0x2e, 0x73, 0x32, 0x20, 0x3d, 0x20, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x28, +0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x73, 0x31, 0x2c, 0x20, 0x72, 0x68, 0x61, 0x64, +0x64, 0x28, 0x20, 0x72, 0x68, 0x61, 0x64, 0x64, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x2e, 0x73, 0x30, +0x2c, 0x20, 0x62, 0x6f, 0x74, 0x2e, 0x73, 0x30, 0x20, 0x29, 0x2c, 0x20, 0x72, 0x68, 0x61, 0x64, +0x64, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x2e, 0x73, 0x31, 0x2c, 0x20, 0x62, 0x6f, 0x74, 0x2e, 0x73, +0x31, 0x20, 0x29, 0x20, 0x29, 0x2c, 0x20, 0x28, 0x20, 0x78, 0x20, 0x2b, 0x20, 0x32, 0x20, 0x3c, +0x20, 0x67, 0x73, 0x20, 0x29, 0x20, 0x29, 0x3b, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, +0x73, 0x33, 0x20, 0x3d, 0x20, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x28, 0x20, 0x76, 0x61, 0x6c, +0x75, 0x65, 0x73, 0x2e, 0x73, 0x32, 0x2c, 0x20, 0x72, 0x68, 0x61, 0x64, 0x64, 0x28, 0x20, 0x72, +0x68, 0x61, 0x64, 0x64, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x2e, 0x73, 0x32, 0x2c, 0x20, 0x62, 0x6f, +0x74, 0x2e, 0x73, 0x32, 0x20, 0x29, 0x2c, 0x20, 0x72, 0x68, 0x61, 0x64, 0x64, 0x28, 0x20, 0x74, +0x6f, 0x70, 0x2e, 0x73, 0x33, 0x2c, 0x20, 0x62, 0x6f, 0x74, 0x2e, 0x73, 0x33, 0x20, 0x29, 0x20, +0x29, 0x2c, 0x20, 0x28, 0x20, 0x78, 0x20, 0x2b, 0x20, 0x33, 0x20, 0x3c, 0x20, 0x67, 0x73, 0x20, +0x29, 0x20, 0x29, 0x3b, 0x0a, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, +0x75, 0x69, 0x28, 0x20, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x2c, 0x20, 0x70, +0x6f, 0x73, 0x2c, 0x20, 0x28, 0x75, 0x69, 0x6e, 0x74, 0x34, 0x29, 0x28, 0x76, 0x61, 0x6c, 0x75, +0x65, 0x73, 0x29, 0x20, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x2f, 0x2a, 0x0a, 0x2a, 0x20, 0x53, 0x65, +0x63, 0x6f, 0x6e, 0x64, 0x20, 0x63, 0x6f, 0x70, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x64, 0x6f, 0x77, +0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x20, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x2c, 0x20, 0x6e, +0x6f, 0x20, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x20, 0x54, +0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x28, 0x6e, 0x6f, 0x20, 0x70, 0x65, 0x72, +0x66, 0x20, 0x6c, 0x6f, 0x73, 0x73, 0x29, 0x0a, 0x2a, 0x20, 0x77, 0x6f, 0x72, 0x6b, 0x61, 0x72, +0x6f, 0x75, 0x6e, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x73, 0x63, 0x68, 0x65, 0x64, +0x75, 0x6c, 0x69, 0x6e, 0x67, 0x20, 0x62, 0x75, 0x67, 0x20, 0x69, 0x6e, 0x20, 0x63, 0x75, 0x72, +0x72, 0x65, 0x6e, 0x74, 0x20, 0x54, 0x61, 0x68, 0x69, 0x74, 0x69, 0x20, 0x64, 0x72, 0x69, 0x76, +0x65, 0x72, 0x73, 0x2e, 0x20, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x62, 0x75, 0x67, 0x20, 0x68, +0x61, 0x73, 0x0a, 0x2a, 0x20, 0x74, 0x68, 0x65, 0x6f, 0x72, 0x65, 0x74, 0x69, 0x63, 0x61, 0x6c, +0x6c, 0x79, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x20, 0x66, 0x69, 0x78, 0x65, 0x64, 0x20, 0x69, 0x6e, +0x20, 0x74, 0x68, 0x65, 0x20, 0x4a, 0x75, 0x6c, 0x79, 0x20, 0x32, 0x30, 0x31, 0x32, 0x20, 0x64, +0x72, 0x69, 0x76, 0x65, 0x72, 0x20, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x20, 0x66, 0x72, +0x6f, 0x6d, 0x20, 0x41, 0x4d, 0x44, 0x2e, 0x0a, 0x2a, 0x2f, 0x0a, 0x6b, 0x65, 0x72, 0x6e, 0x65, +0x6c, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, +0x32, 0x28, 0x20, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x69, 0x6d, 0x61, +0x67, 0x65, 0x32, 0x64, 0x5f, 0x74, 0x20, 0x68, 0x69, 0x67, 0x68, 0x65, 0x72, 0x5f, 0x72, 0x65, +0x73, 0x2c, 0x20, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x69, 0x6d, +0x61, 0x67, 0x65, 0x32, 0x64, 0x5f, 0x74, 0x20, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x72, 0x65, +0x73, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x20, 0x3d, 0x20, 0x67, 0x65, +0x74, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x28, 0x20, 0x30, 0x20, 0x29, +0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x79, 0x20, 0x3d, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x6c, +0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x28, 0x20, 0x31, 0x20, 0x29, 0x3b, 0x0a, 0x69, 0x6e, +0x74, 0x32, 0x20, 0x70, 0x6f, 0x73, 0x20, 0x3d, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x32, 0x29, 0x28, +0x78, 0x2c, 0x20, 0x79, 0x29, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x67, 0x73, 0x20, 0x3d, 0x20, +0x67, 0x65, 0x74, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x28, +0x20, 0x30, 0x20, 0x29, 0x3b, 0x0a, 0x75, 0x69, 0x6e, 0x74, 0x34, 0x20, 0x74, 0x6f, 0x70, 0x2c, +0x20, 0x62, 0x6f, 0x74, 0x2c, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x3b, 0x0a, 0x74, 0x6f, +0x70, 0x20, 0x3d, 0x20, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x75, 0x69, +0x28, 0x20, 0x68, 0x69, 0x67, 0x68, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x2c, 0x20, 0x73, 0x61, +0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x32, 0x29, 0x28, 0x78, 0x2a, +0x32, 0x2c, 0x20, 0x32, 0x2a, 0x79, 0x29, 0x20, 0x29, 0x3b, 0x0a, 0x62, 0x6f, 0x74, 0x20, 0x3d, +0x20, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x75, 0x69, 0x28, 0x20, 0x68, +0x69, 0x67, 0x68, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x2c, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, +0x65, 0x72, 0x2c, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x32, 0x29, 0x28, 0x78, 0x2a, 0x32, 0x2c, 0x20, +0x32, 0x2a, 0x79, 0x2b, 0x31, 0x29, 0x20, 0x29, 0x3b, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, +0x2e, 0x73, 0x30, 0x20, 0x3d, 0x20, 0x72, 0x68, 0x61, 0x64, 0x64, 0x28, 0x20, 0x72, 0x68, 0x61, +0x64, 0x64, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x2e, 0x73, 0x30, 0x2c, 0x20, 0x62, 0x6f, 0x74, 0x2e, +0x73, 0x30, 0x20, 0x29, 0x2c, 0x20, 0x72, 0x68, 0x61, 0x64, 0x64, 0x28, 0x20, 0x74, 0x6f, 0x70, +0x2e, 0x73, 0x31, 0x2c, 0x20, 0x62, 0x6f, 0x74, 0x2e, 0x73, 0x31, 0x20, 0x29, 0x20, 0x29, 0x3b, +0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x73, 0x31, 0x20, 0x3d, 0x20, 0x73, 0x65, 0x6c, +0x65, 0x63, 0x74, 0x28, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x73, 0x30, 0x2c, 0x20, +0x72, 0x68, 0x61, 0x64, 0x64, 0x28, 0x20, 0x72, 0x68, 0x61, 0x64, 0x64, 0x28, 0x20, 0x74, 0x6f, +0x70, 0x2e, 0x73, 0x32, 0x2c, 0x20, 0x62, 0x6f, 0x74, 0x2e, 0x73, 0x32, 0x20, 0x29, 0x2c, 0x20, +0x72, 0x68, 0x61, 0x64, 0x64, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x2e, 0x73, 0x33, 0x2c, 0x20, 0x62, +0x6f, 0x74, 0x2e, 0x73, 0x33, 0x20, 0x29, 0x20, 0x29, 0x2c, 0x20, 0x28, 0x20, 0x78, 0x20, 0x2b, +0x20, 0x31, 0x20, 0x3c, 0x20, 0x67, 0x73, 0x29, 0x20, 0x29, 0x3b, 0x0a, 0x74, 0x6f, 0x70, 0x20, +0x3d, 0x20, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x75, 0x69, 0x28, 0x20, +0x68, 0x69, 0x67, 0x68, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x2c, 0x20, 0x73, 0x61, 0x6d, 0x70, +0x6c, 0x65, 0x72, 0x2c, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x32, 0x29, 0x28, 0x78, 0x2a, 0x32, 0x2b, +0x34, 0x2c, 0x20, 0x32, 0x2a, 0x79, 0x29, 0x20, 0x29, 0x3b, 0x0a, 0x62, 0x6f, 0x74, 0x20, 0x3d, +0x20, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x75, 0x69, 0x28, 0x20, 0x68, +0x69, 0x67, 0x68, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x2c, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, +0x65, 0x72, 0x2c, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x32, 0x29, 0x28, 0x78, 0x2a, 0x32, 0x2b, 0x34, +0x2c, 0x20, 0x32, 0x2a, 0x79, 0x2b, 0x31, 0x29, 0x20, 0x29, 0x3b, 0x0a, 0x76, 0x61, 0x6c, 0x75, +0x65, 0x73, 0x2e, 0x73, 0x32, 0x20, 0x3d, 0x20, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x28, 0x20, +0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x73, 0x31, 0x2c, 0x20, 0x72, 0x68, 0x61, 0x64, 0x64, +0x28, 0x20, 0x72, 0x68, 0x61, 0x64, 0x64, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x2e, 0x73, 0x30, 0x2c, +0x20, 0x62, 0x6f, 0x74, 0x2e, 0x73, 0x30, 0x20, 0x29, 0x2c, 0x20, 0x72, 0x68, 0x61, 0x64, 0x64, +0x28, 0x20, 0x74, 0x6f, 0x70, 0x2e, 0x73, 0x31, 0x2c, 0x20, 0x62, 0x6f, 0x74, 0x2e, 0x73, 0x31, +0x20, 0x29, 0x20, 0x29, 0x2c, 0x20, 0x28, 0x20, 0x78, 0x20, 0x2b, 0x20, 0x32, 0x20, 0x3c, 0x20, +0x67, 0x73, 0x20, 0x29, 0x20, 0x29, 0x3b, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x73, +0x33, 0x20, 0x3d, 0x20, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x28, 0x20, 0x76, 0x61, 0x6c, 0x75, +0x65, 0x73, 0x2e, 0x73, 0x32, 0x2c, 0x20, 0x72, 0x68, 0x61, 0x64, 0x64, 0x28, 0x20, 0x72, 0x68, +0x61, 0x64, 0x64, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x2e, 0x73, 0x32, 0x2c, 0x20, 0x62, 0x6f, 0x74, +0x2e, 0x73, 0x32, 0x20, 0x29, 0x2c, 0x20, 0x72, 0x68, 0x61, 0x64, 0x64, 0x28, 0x20, 0x74, 0x6f, +0x70, 0x2e, 0x73, 0x33, 0x2c, 0x20, 0x62, 0x6f, 0x74, 0x2e, 0x73, 0x33, 0x20, 0x29, 0x20, 0x29, +0x2c, 0x20, 0x28, 0x20, 0x78, 0x20, 0x2b, 0x20, 0x33, 0x20, 0x3c, 0x20, 0x67, 0x73, 0x20, 0x29, +0x20, 0x29, 0x3b, 0x0a, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x75, +0x69, 0x28, 0x20, 0x6c, 0x6f, 0x77, 0x65, 0x72, 0x5f, 0x72, 0x65, 0x73, 0x2c, 0x20, 0x70, 0x6f, +0x73, 0x2c, 0x20, 0x28, 0x75, 0x69, 0x6e, 0x74, 0x34, 0x29, 0x28, 0x76, 0x61, 0x6c, 0x75, 0x65, +0x73, 0x29, 0x20, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x2f, 0x2a, 0x20, 0x4f, 0x70, 0x65, 0x6e, 0x43, +0x4c, 0x20, 0x31, 0x2e, 0x32, 0x20, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x61, 0x64, +0x64, 0x65, 0x64, 0x20, 0x61, 0x20, 0x6d, 0x65, 0x6d, 0x73, 0x65, 0x74, 0x20, 0x63, 0x6f, 0x6d, +0x6d, 0x61, 0x6e, 0x64, 0x2c, 0x20, 0x62, 0x75, 0x74, 0x20, 0x77, 0x65, 0x27, 0x72, 0x65, 0x20, +0x6e, 0x6f, 0x74, 0x20, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x31, 0x2e, +0x32, 0x20, 0x2a, 0x2f, 0x0a, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x20, 0x76, 0x6f, 0x69, 0x64, +0x20, 0x6d, 0x65, 0x6d, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x31, 0x36, 0x28, 0x20, 0x67, +0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x20, 0x69, 0x6e, 0x74, 0x31, 0x36, 0x5f, 0x74, 0x20, 0x2a, 0x62, +0x75, 0x66, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x31, 0x36, 0x5f, 0x74, 0x20, 0x76, 0x61, 0x6c, 0x75, +0x65, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x62, 0x75, 0x66, 0x5b, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x6c, +0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x28, 0x20, 0x30, 0x20, 0x29, 0x5d, 0x20, 0x3d, 0x20, +0x76, 0x61, 0x6c, 0x75, 0x65, 0x3b, 0x0a, 0x7d, 0x0a, 0x2f, 0x2a, 0x20, 0x4c, 0x6f, 0x6f, 0x6b, +0x61, 0x68, 0x65, 0x61, 0x64, 0x20, 0x6c, 0x6f, 0x77, 0x72, 0x65, 0x73, 0x20, 0x69, 0x6e, 0x74, +0x72, 0x61, 0x20, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x0a, 0x2a, 0x0a, 0x2a, 0x20, +0x45, 0x61, 0x63, 0x68, 0x20, 0x69, 0x6e, 0x74, 0x72, 0x61, 0x20, 0x61, 0x6e, 0x61, 0x6c, 0x79, +0x73, 0x69, 0x73, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x68, 0x61, 0x73, +0x20, 0x62, 0x65, 0x65, 0x6e, 0x20, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x65, +0x64, 0x20, 0x74, 0x77, 0x69, 0x63, 0x65, 0x2c, 0x20, 0x6f, 0x6e, 0x63, 0x65, 0x20, 0x66, 0x6f, +0x72, 0x20, 0x73, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x20, 0x47, 0x50, 0x55, 0x73, 0x0a, 0x2a, 0x20, +0x28, 0x4e, 0x56, 0x29, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6f, 0x6e, 0x63, 0x65, 0x20, 0x66, 0x6f, +0x72, 0x20, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x20, 0x47, 0x50, 0x55, +0x73, 0x20, 0x28, 0x41, 0x4d, 0x44, 0x20, 0x70, 0x72, 0x65, 0x2d, 0x53, 0x6f, 0x75, 0x74, 0x68, +0x65, 0x72, 0x6e, 0x20, 0x49, 0x73, 0x6c, 0x61, 0x6e, 0x64, 0x73, 0x29, 0x2e, 0x20, 0x20, 0x78, +0x32, 0x36, 0x34, 0x20, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x73, 0x0a, 0x2a, 0x20, 0x74, 0x68, +0x65, 0x20, 0x47, 0x50, 0x55, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x73, +0x65, 0x74, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x2d, 0x44, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, +0x49, 0x5a, 0x45, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x69, 0x6c, 0x65, 0x20, 0x66, 0x6c, 0x61, 0x67, +0x20, 0x61, 0x63, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x6c, 0x79, 0x2e, 0x0a, 0x2a, 0x0a, +0x2a, 0x20, 0x41, 0x6c, 0x6c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x69, 0x6e, 0x74, 0x72, 0x61, 0x20, +0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, +0x6e, 0x73, 0x20, 0x77, 0x65, 0x72, 0x65, 0x20, 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x6e, +0x20, 0x74, 0x68, 0x65, 0x69, 0x72, 0x20, 0x43, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, +0x73, 0x20, 0x69, 0x6e, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x2e, 0x63, 0x0a, 0x2a, 0x20, 0x61, +0x6e, 0x64, 0x20, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, +0x78, 0x61, 0x63, 0x74, 0x20, 0x73, 0x61, 0x6d, 0x65, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, +0x73, 0x2e, 0x0a, 0x2a, 0x2f, 0x0a, 0x2f, 0x2a, 0x20, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x20, 0x61, +0x6c, 0x6c, 0x20, 0x63, 0x6c, 0x61, 0x6d, 0x70, 0x20, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, +0x74, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x76, 0x61, +0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x69, 0x6e, 0x74, 0x2c, 0x20, 0x70, 0x72, 0x65, 0x76, +0x65, 0x6e, 0x74, 0x20, 0x61, 0x6d, 0x62, 0x69, 0x67, 0x75, 0x6f, 0x75, 0x73, 0x20, 0x74, 0x79, +0x70, 0x65, 0x73, 0x20, 0x2a, 0x2f, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x63, +0x6c, 0x61, 0x6d, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x28, 0x20, 0x58, 0x2c, 0x20, 0x4d, 0x49, 0x4e, +0x2c, 0x20, 0x4d, 0x41, 0x58, 0x20, 0x29, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x20, 0x63, 0x6c, +0x61, 0x6d, 0x70, 0x28, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, 0x28, 0x58, 0x29, 0x2c, 0x20, 0x28, +0x69, 0x6e, 0x74, 0x29, 0x28, 0x4d, 0x49, 0x4e, 0x29, 0x2c, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x29, +0x28, 0x4d, 0x41, 0x58, 0x29, 0x20, 0x29, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x56, 0x45, 0x43, 0x54, +0x4f, 0x52, 0x49, 0x5a, 0x45, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x73, 0x61, 0x74, 0x64, 0x5f, 0x38, +0x78, 0x34, 0x5f, 0x69, 0x6e, 0x74, 0x72, 0x61, 0x5f, 0x6c, 0x72, 0x28, 0x20, 0x63, 0x6f, 0x6e, +0x73, 0x74, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x2a, +0x64, 0x61, 0x74, 0x61, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, +0x74, 0x72, 0x69, 0x64, 0x65, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x38, 0x20, 0x70, 0x72, 0x30, 0x2c, +0x20, 0x69, 0x6e, 0x74, 0x38, 0x20, 0x70, 0x72, 0x31, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x38, 0x20, +0x70, 0x72, 0x32, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x38, 0x20, 0x70, 0x72, 0x33, 0x20, 0x29, 0x0a, +0x7b, 0x0a, 0x69, 0x6e, 0x74, 0x38, 0x20, 0x61, 0x5f, 0x76, 0x2c, 0x20, 0x64, 0x5f, 0x76, 0x3b, +0x0a, 0x69, 0x6e, 0x74, 0x32, 0x20, 0x74, 0x6d, 0x70, 0x30, 0x30, 0x2c, 0x20, 0x74, 0x6d, 0x70, +0x30, 0x31, 0x2c, 0x20, 0x74, 0x6d, 0x70, 0x30, 0x32, 0x2c, 0x20, 0x74, 0x6d, 0x70, 0x30, 0x33, +0x2c, 0x20, 0x74, 0x6d, 0x70, 0x31, 0x30, 0x2c, 0x20, 0x74, 0x6d, 0x70, 0x31, 0x31, 0x2c, 0x20, +0x74, 0x6d, 0x70, 0x31, 0x32, 0x2c, 0x20, 0x74, 0x6d, 0x70, 0x31, 0x33, 0x3b, 0x0a, 0x69, 0x6e, +0x74, 0x32, 0x20, 0x74, 0x6d, 0x70, 0x32, 0x30, 0x2c, 0x20, 0x74, 0x6d, 0x70, 0x32, 0x31, 0x2c, +0x20, 0x74, 0x6d, 0x70, 0x32, 0x32, 0x2c, 0x20, 0x74, 0x6d, 0x70, 0x32, 0x33, 0x2c, 0x20, 0x74, +0x6d, 0x70, 0x33, 0x30, 0x2c, 0x20, 0x74, 0x6d, 0x70, 0x33, 0x31, 0x2c, 0x20, 0x74, 0x6d, 0x70, +0x33, 0x32, 0x2c, 0x20, 0x74, 0x6d, 0x70, 0x33, 0x33, 0x3b, 0x0a, 0x64, 0x5f, 0x76, 0x20, 0x3d, +0x20, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x38, 0x28, 0x20, 0x76, +0x6c, 0x6f, 0x61, 0x64, 0x38, 0x28, 0x20, 0x30, 0x2c, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x29, +0x20, 0x29, 0x3b, 0x0a, 0x61, 0x5f, 0x76, 0x2e, 0x73, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, +0x37, 0x20, 0x3d, 0x20, 0x28, 0x64, 0x5f, 0x76, 0x20, 0x2d, 0x20, 0x70, 0x72, 0x30, 0x29, 0x2e, +0x73, 0x30, 0x34, 0x31, 0x35, 0x32, 0x36, 0x33, 0x37, 0x3b, 0x0a, 0x48, 0x41, 0x44, 0x41, 0x4d, +0x41, 0x52, 0x44, 0x34, 0x56, 0x28, 0x20, 0x74, 0x6d, 0x70, 0x30, 0x30, 0x2c, 0x20, 0x74, 0x6d, +0x70, 0x30, 0x31, 0x2c, 0x20, 0x74, 0x6d, 0x70, 0x30, 0x32, 0x2c, 0x20, 0x74, 0x6d, 0x70, 0x30, +0x33, 0x2c, 0x20, 0x61, 0x5f, 0x76, 0x2e, 0x6c, 0x6f, 0x2e, 0x6c, 0x6f, 0x2c, 0x20, 0x61, 0x5f, +0x76, 0x2e, 0x6c, 0x6f, 0x2e, 0x68, 0x69, 0x2c, 0x20, 0x61, 0x5f, 0x76, 0x2e, 0x68, 0x69, 0x2e, +0x6c, 0x6f, 0x2c, 0x20, 0x61, 0x5f, 0x76, 0x2e, 0x68, 0x69, 0x2e, 0x68, 0x69, 0x20, 0x29, 0x3b, +0x0a, 0x64, 0x61, 0x74, 0x61, 0x20, 0x2b, 0x3d, 0x20, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x74, +0x72, 0x69, 0x64, 0x65, 0x3b, 0x0a, 0x64, 0x5f, 0x76, 0x20, 0x3d, 0x20, 0x63, 0x6f, 0x6e, 0x76, +0x65, 0x72, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x38, 0x28, 0x20, 0x76, 0x6c, 0x6f, 0x61, 0x64, 0x38, +0x28, 0x20, 0x30, 0x2c, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x29, 0x20, 0x29, 0x3b, 0x0a, 0x61, +0x5f, 0x76, 0x2e, 0x73, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x20, 0x3d, 0x20, 0x28, +0x64, 0x5f, 0x76, 0x20, 0x2d, 0x20, 0x70, 0x72, 0x31, 0x29, 0x2e, 0x73, 0x30, 0x34, 0x31, 0x35, +0x32, 0x36, 0x33, 0x37, 0x3b, 0x0a, 0x48, 0x41, 0x44, 0x41, 0x4d, 0x41, 0x52, 0x44, 0x34, 0x56, +0x28, 0x20, 0x74, 0x6d, 0x70, 0x31, 0x30, 0x2c, 0x20, 0x74, 0x6d, 0x70, 0x31, 0x31, 0x2c, 0x20, +0x74, 0x6d, 0x70, 0x31, 0x32, 0x2c, 0x20, 0x74, 0x6d, 0x70, 0x31, 0x33, 0x2c, 0x20, 0x61, 0x5f, +0x76, 0x2e, 0x6c, 0x6f, 0x2e, 0x6c, 0x6f, 0x2c, 0x20, 0x61, 0x5f, 0x76, 0x2e, 0x6c, 0x6f, 0x2e, +0x68, 0x69, 0x2c, 0x20, 0x61, 0x5f, 0x76, 0x2e, 0x68, 0x69, 0x2e, 0x6c, 0x6f, 0x2c, 0x20, 0x61, +0x5f, 0x76, 0x2e, 0x68, 0x69, 0x2e, 0x68, 0x69, 0x20, 0x29, 0x3b, 0x0a, 0x64, 0x61, 0x74, 0x61, +0x20, 0x2b, 0x3d, 0x20, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x3b, +0x0a, 0x64, 0x5f, 0x76, 0x20, 0x3d, 0x20, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x5f, 0x69, +0x6e, 0x74, 0x38, 0x28, 0x20, 0x76, 0x6c, 0x6f, 0x61, 0x64, 0x38, 0x28, 0x20, 0x30, 0x2c, 0x20, +0x64, 0x61, 0x74, 0x61, 0x20, 0x29, 0x20, 0x29, 0x3b, 0x0a, 0x61, 0x5f, 0x76, 0x2e, 0x73, 0x30, +0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x20, 0x3d, 0x20, 0x28, 0x64, 0x5f, 0x76, 0x20, 0x2d, +0x20, 0x70, 0x72, 0x32, 0x29, 0x2e, 0x73, 0x30, 0x34, 0x31, 0x35, 0x32, 0x36, 0x33, 0x37, 0x3b, +0x0a, 0x48, 0x41, 0x44, 0x41, 0x4d, 0x41, 0x52, 0x44, 0x34, 0x56, 0x28, 0x20, 0x74, 0x6d, 0x70, +0x32, 0x30, 0x2c, 0x20, 0x74, 0x6d, 0x70, 0x32, 0x31, 0x2c, 0x20, 0x74, 0x6d, 0x70, 0x32, 0x32, +0x2c, 0x20, 0x74, 0x6d, 0x70, 0x32, 0x33, 0x2c, 0x20, 0x61, 0x5f, 0x76, 0x2e, 0x6c, 0x6f, 0x2e, +0x6c, 0x6f, 0x2c, 0x20, 0x61, 0x5f, 0x76, 0x2e, 0x6c, 0x6f, 0x2e, 0x68, 0x69, 0x2c, 0x20, 0x61, +0x5f, 0x76, 0x2e, 0x68, 0x69, 0x2e, 0x6c, 0x6f, 0x2c, 0x20, 0x61, 0x5f, 0x76, 0x2e, 0x68, 0x69, +0x2e, 0x68, 0x69, 0x20, 0x29, 0x3b, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x20, 0x2b, 0x3d, 0x20, 0x64, +0x61, 0x74, 0x61, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x3b, 0x0a, 0x64, 0x5f, 0x76, 0x20, +0x3d, 0x20, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x38, 0x28, 0x20, +0x76, 0x6c, 0x6f, 0x61, 0x64, 0x38, 0x28, 0x20, 0x30, 0x2c, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, +0x29, 0x20, 0x29, 0x3b, 0x0a, 0x61, 0x5f, 0x76, 0x2e, 0x73, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, +0x36, 0x37, 0x20, 0x3d, 0x20, 0x28, 0x64, 0x5f, 0x76, 0x20, 0x2d, 0x20, 0x70, 0x72, 0x33, 0x29, +0x2e, 0x73, 0x30, 0x34, 0x31, 0x35, 0x32, 0x36, 0x33, 0x37, 0x3b, 0x0a, 0x48, 0x41, 0x44, 0x41, +0x4d, 0x41, 0x52, 0x44, 0x34, 0x56, 0x28, 0x20, 0x74, 0x6d, 0x70, 0x33, 0x30, 0x2c, 0x20, 0x74, +0x6d, 0x70, 0x33, 0x31, 0x2c, 0x20, 0x74, 0x6d, 0x70, 0x33, 0x32, 0x2c, 0x20, 0x74, 0x6d, 0x70, +0x33, 0x33, 0x2c, 0x20, 0x61, 0x5f, 0x76, 0x2e, 0x6c, 0x6f, 0x2e, 0x6c, 0x6f, 0x2c, 0x20, 0x61, +0x5f, 0x76, 0x2e, 0x6c, 0x6f, 0x2e, 0x68, 0x69, 0x2c, 0x20, 0x61, 0x5f, 0x76, 0x2e, 0x68, 0x69, +0x2e, 0x6c, 0x6f, 0x2c, 0x20, 0x61, 0x5f, 0x76, 0x2e, 0x68, 0x69, 0x2e, 0x68, 0x69, 0x20, 0x29, +0x3b, 0x0a, 0x75, 0x69, 0x6e, 0x74, 0x38, 0x20, 0x73, 0x75, 0x6d, 0x5f, 0x76, 0x3b, 0x0a, 0x48, +0x41, 0x44, 0x41, 0x4d, 0x41, 0x52, 0x44, 0x34, 0x56, 0x28, 0x20, 0x61, 0x5f, 0x76, 0x2e, 0x6c, +0x6f, 0x2e, 0x6c, 0x6f, 0x2c, 0x20, 0x61, 0x5f, 0x76, 0x2e, 0x6c, 0x6f, 0x2e, 0x68, 0x69, 0x2c, +0x20, 0x61, 0x5f, 0x76, 0x2e, 0x68, 0x69, 0x2e, 0x6c, 0x6f, 0x2c, 0x20, 0x61, 0x5f, 0x76, 0x2e, +0x68, 0x69, 0x2e, 0x68, 0x69, 0x2c, 0x20, 0x74, 0x6d, 0x70, 0x30, 0x30, 0x2c, 0x20, 0x74, 0x6d, +0x70, 0x31, 0x30, 0x2c, 0x20, 0x74, 0x6d, 0x70, 0x32, 0x30, 0x2c, 0x20, 0x74, 0x6d, 0x70, 0x33, +0x30, 0x20, 0x29, 0x3b, 0x0a, 0x73, 0x75, 0x6d, 0x5f, 0x76, 0x20, 0x3d, 0x20, 0x61, 0x62, 0x73, +0x28, 0x20, 0x61, 0x5f, 0x76, 0x20, 0x29, 0x3b, 0x0a, 0x48, 0x41, 0x44, 0x41, 0x4d, 0x41, 0x52, +0x44, 0x34, 0x56, 0x28, 0x20, 0x61, 0x5f, 0x76, 0x2e, 0x6c, 0x6f, 0x2e, 0x6c, 0x6f, 0x2c, 0x20, +0x61, 0x5f, 0x76, 0x2e, 0x6c, 0x6f, 0x2e, 0x68, 0x69, 0x2c, 0x20, 0x61, 0x5f, 0x76, 0x2e, 0x68, +0x69, 0x2e, 0x6c, 0x6f, 0x2c, 0x20, 0x61, 0x5f, 0x76, 0x2e, 0x68, 0x69, 0x2e, 0x68, 0x69, 0x2c, +0x20, 0x74, 0x6d, 0x70, 0x30, 0x31, 0x2c, 0x20, 0x74, 0x6d, 0x70, 0x31, 0x31, 0x2c, 0x20, 0x74, +0x6d, 0x70, 0x32, 0x31, 0x2c, 0x20, 0x74, 0x6d, 0x70, 0x33, 0x31, 0x20, 0x29, 0x3b, 0x0a, 0x73, +0x75, 0x6d, 0x5f, 0x76, 0x20, 0x2b, 0x3d, 0x20, 0x61, 0x62, 0x73, 0x28, 0x20, 0x61, 0x5f, 0x76, +0x20, 0x29, 0x3b, 0x0a, 0x48, 0x41, 0x44, 0x41, 0x4d, 0x41, 0x52, 0x44, 0x34, 0x56, 0x28, 0x20, +0x61, 0x5f, 0x76, 0x2e, 0x6c, 0x6f, 0x2e, 0x6c, 0x6f, 0x2c, 0x20, 0x61, 0x5f, 0x76, 0x2e, 0x6c, +0x6f, 0x2e, 0x68, 0x69, 0x2c, 0x20, 0x61, 0x5f, 0x76, 0x2e, 0x68, 0x69, 0x2e, 0x6c, 0x6f, 0x2c, +0x20, 0x61, 0x5f, 0x76, 0x2e, 0x68, 0x69, 0x2e, 0x68, 0x69, 0x2c, 0x20, 0x74, 0x6d, 0x70, 0x30, +0x32, 0x2c, 0x20, 0x74, 0x6d, 0x70, 0x31, 0x32, 0x2c, 0x20, 0x74, 0x6d, 0x70, 0x32, 0x32, 0x2c, +0x20, 0x74, 0x6d, 0x70, 0x33, 0x32, 0x20, 0x29, 0x3b, 0x0a, 0x73, 0x75, 0x6d, 0x5f, 0x76, 0x20, +0x2b, 0x3d, 0x20, 0x61, 0x62, 0x73, 0x28, 0x20, 0x61, 0x5f, 0x76, 0x20, 0x29, 0x3b, 0x0a, 0x48, +0x41, 0x44, 0x41, 0x4d, 0x41, 0x52, 0x44, 0x34, 0x56, 0x28, 0x20, 0x61, 0x5f, 0x76, 0x2e, 0x6c, +0x6f, 0x2e, 0x6c, 0x6f, 0x2c, 0x20, 0x61, 0x5f, 0x76, 0x2e, 0x6c, 0x6f, 0x2e, 0x68, 0x69, 0x2c, +0x20, 0x61, 0x5f, 0x76, 0x2e, 0x68, 0x69, 0x2e, 0x6c, 0x6f, 0x2c, 0x20, 0x61, 0x5f, 0x76, 0x2e, +0x68, 0x69, 0x2e, 0x68, 0x69, 0x2c, 0x20, 0x74, 0x6d, 0x70, 0x30, 0x33, 0x2c, 0x20, 0x74, 0x6d, +0x70, 0x31, 0x33, 0x2c, 0x20, 0x74, 0x6d, 0x70, 0x32, 0x33, 0x2c, 0x20, 0x74, 0x6d, 0x70, 0x33, +0x33, 0x20, 0x29, 0x3b, 0x0a, 0x73, 0x75, 0x6d, 0x5f, 0x76, 0x20, 0x2b, 0x3d, 0x20, 0x61, 0x62, +0x73, 0x28, 0x20, 0x61, 0x5f, 0x76, 0x20, 0x29, 0x3b, 0x0a, 0x75, 0x69, 0x6e, 0x74, 0x34, 0x20, +0x73, 0x75, 0x6d, 0x32, 0x20, 0x3d, 0x20, 0x73, 0x75, 0x6d, 0x5f, 0x76, 0x2e, 0x68, 0x69, 0x20, +0x2b, 0x20, 0x73, 0x75, 0x6d, 0x5f, 0x76, 0x2e, 0x6c, 0x6f, 0x3b, 0x0a, 0x75, 0x69, 0x6e, 0x74, +0x32, 0x20, 0x73, 0x75, 0x6d, 0x33, 0x20, 0x3d, 0x20, 0x73, 0x75, 0x6d, 0x32, 0x2e, 0x68, 0x69, +0x20, 0x2b, 0x20, 0x73, 0x75, 0x6d, 0x32, 0x2e, 0x6c, 0x6f, 0x3b, 0x0a, 0x72, 0x65, 0x74, 0x75, +0x72, 0x6e, 0x20, 0x28, 0x20, 0x73, 0x75, 0x6d, 0x33, 0x2e, 0x68, 0x69, 0x20, 0x2b, 0x20, 0x73, +0x75, 0x6d, 0x33, 0x2e, 0x6c, 0x6f, 0x20, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x31, 0x3b, 0x0a, 0x7d, +0x0a, 0x23, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x53, 0x41, 0x54, 0x44, 0x5f, 0x43, 0x5f, 0x38, 0x78, +0x34, 0x5f, 0x51, 0x28, 0x20, 0x73, 0x61, 0x74, 0x64, 0x5f, 0x38, 0x78, 0x34, 0x5f, 0x6c, 0x70, +0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x2c, 0x20, 0x70, +0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x20, 0x29, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, +0x2f, 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, 0x0a, 0x2a, 0x20, +0x38, 0x78, 0x38, 0x20, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, +0x6f, 0x72, 0x20, 0x69, 0x6e, 0x74, 0x72, 0x61, 0x20, 0x6c, 0x75, 0x6d, 0x61, 0x20, 0x62, 0x6c, +0x6f, 0x63, 0x6b, 0x0a, 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, +0x2f, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x46, 0x31, 0x20, 0x20, 0x20, 0x20, +0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x68, 0x61, 0x64, 0x64, 0x0a, 0x23, 0x64, +0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x46, 0x32, 0x28, 0x20, 0x61, 0x2c, 0x20, 0x62, 0x2c, 0x20, +0x63, 0x20, 0x29, 0x20, 0x28, 0x20, 0x61, 0x2b, 0x32, 0x2a, 0x62, 0x2b, 0x63, 0x2b, 0x32, 0x20, +0x29, 0x3e, 0x3e, 0x32, 0x0a, 0x23, 0x69, 0x66, 0x20, 0x56, 0x45, 0x43, 0x54, 0x4f, 0x52, 0x49, +0x5a, 0x45, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, 0x70, 0x72, 0x65, 0x64, +0x69, 0x63, 0x74, 0x5f, 0x38, 0x78, 0x38, 0x5f, 0x64, 0x64, 0x6c, 0x28, 0x20, 0x63, 0x6f, 0x6e, +0x73, 0x74, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x2a, +0x73, 0x72, 0x63, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, +0x69, 0x64, 0x65, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, +0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x2a, 0x74, 0x6f, 0x70, 0x20, 0x29, 0x0a, 0x7b, 0x0a, +0x69, 0x6e, 0x74, 0x38, 0x20, 0x70, 0x72, 0x30, 0x2c, 0x20, 0x70, 0x72, 0x31, 0x2c, 0x20, 0x70, +0x72, 0x32, 0x2c, 0x20, 0x70, 0x72, 0x33, 0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x30, 0x20, +0x3d, 0x20, 0x28, 0x20, 0x32, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x30, 0x5d, 0x20, 0x2b, +0x20, 0x32, 0x2a, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x5d, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, +0x32, 0x5d, 0x20, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, 0x73, +0x31, 0x20, 0x3d, 0x20, 0x28, 0x20, 0x32, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x5d, +0x20, 0x2b, 0x20, 0x32, 0x2a, 0x74, 0x6f, 0x70, 0x5b, 0x32, 0x5d, 0x20, 0x2b, 0x20, 0x74, 0x6f, +0x70, 0x5b, 0x33, 0x5d, 0x20, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x30, +0x2e, 0x73, 0x32, 0x20, 0x3d, 0x20, 0x28, 0x20, 0x32, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, +0x32, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x2a, 0x74, 0x6f, 0x70, 0x5b, 0x33, 0x5d, 0x20, 0x2b, 0x20, +0x74, 0x6f, 0x70, 0x5b, 0x34, 0x5d, 0x20, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, +0x72, 0x30, 0x2e, 0x73, 0x33, 0x20, 0x3d, 0x20, 0x28, 0x20, 0x32, 0x20, 0x2b, 0x20, 0x74, 0x6f, +0x70, 0x5b, 0x33, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x2a, 0x74, 0x6f, 0x70, 0x5b, 0x34, 0x5d, 0x20, +0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x35, 0x5d, 0x20, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, +0x0a, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x34, 0x20, 0x3d, 0x20, 0x28, 0x20, 0x32, 0x20, 0x2b, 0x20, +0x74, 0x6f, 0x70, 0x5b, 0x34, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x2a, 0x74, 0x6f, 0x70, 0x5b, 0x35, +0x5d, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x36, 0x5d, 0x20, 0x29, 0x20, 0x3e, 0x3e, 0x20, +0x32, 0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x35, 0x20, 0x3d, 0x20, 0x28, 0x20, 0x32, 0x20, +0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x35, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x2a, 0x74, 0x6f, 0x70, +0x5b, 0x36, 0x5d, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x37, 0x5d, 0x20, 0x29, 0x20, 0x3e, +0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x36, 0x20, 0x3d, 0x20, 0x28, 0x20, +0x32, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x36, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x2a, 0x74, +0x6f, 0x70, 0x5b, 0x37, 0x5d, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x38, 0x5d, 0x20, 0x29, +0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x37, 0x20, 0x3d, 0x20, +0x28, 0x20, 0x32, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x37, 0x5d, 0x20, 0x2b, 0x20, 0x32, +0x2a, 0x74, 0x6f, 0x70, 0x5b, 0x38, 0x5d, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x39, 0x5d, +0x20, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x31, 0x2e, 0x73, 0x30, 0x20, +0x3d, 0x20, 0x28, 0x20, 0x32, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x5d, 0x20, 0x2b, +0x20, 0x32, 0x2a, 0x74, 0x6f, 0x70, 0x5b, 0x32, 0x5d, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, +0x33, 0x5d, 0x20, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x31, 0x2e, 0x73, +0x31, 0x20, 0x3d, 0x20, 0x28, 0x20, 0x32, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x32, 0x5d, +0x20, 0x2b, 0x20, 0x32, 0x2a, 0x74, 0x6f, 0x70, 0x5b, 0x33, 0x5d, 0x20, 0x2b, 0x20, 0x74, 0x6f, +0x70, 0x5b, 0x34, 0x5d, 0x20, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x31, +0x2e, 0x73, 0x32, 0x20, 0x3d, 0x20, 0x28, 0x20, 0x32, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, +0x33, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x2a, 0x74, 0x6f, 0x70, 0x5b, 0x34, 0x5d, 0x20, 0x2b, 0x20, +0x74, 0x6f, 0x70, 0x5b, 0x35, 0x5d, 0x20, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, +0x72, 0x31, 0x2e, 0x73, 0x33, 0x20, 0x3d, 0x20, 0x28, 0x20, 0x32, 0x20, 0x2b, 0x20, 0x74, 0x6f, +0x70, 0x5b, 0x34, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x2a, 0x74, 0x6f, 0x70, 0x5b, 0x35, 0x5d, 0x20, +0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x36, 0x5d, 0x20, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, +0x0a, 0x70, 0x72, 0x31, 0x2e, 0x73, 0x34, 0x20, 0x3d, 0x20, 0x28, 0x20, 0x32, 0x20, 0x2b, 0x20, +0x74, 0x6f, 0x70, 0x5b, 0x35, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x2a, 0x74, 0x6f, 0x70, 0x5b, 0x36, +0x5d, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x37, 0x5d, 0x20, 0x29, 0x20, 0x3e, 0x3e, 0x20, +0x32, 0x3b, 0x0a, 0x70, 0x72, 0x31, 0x2e, 0x73, 0x35, 0x20, 0x3d, 0x20, 0x28, 0x20, 0x32, 0x20, +0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x36, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x2a, 0x74, 0x6f, 0x70, +0x5b, 0x37, 0x5d, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x38, 0x5d, 0x20, 0x29, 0x20, 0x3e, +0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x31, 0x2e, 0x73, 0x36, 0x20, 0x3d, 0x20, 0x28, 0x20, +0x32, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x37, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x2a, 0x74, +0x6f, 0x70, 0x5b, 0x38, 0x5d, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x39, 0x5d, 0x20, 0x29, +0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x31, 0x2e, 0x73, 0x37, 0x20, 0x3d, 0x20, +0x28, 0x20, 0x32, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x38, 0x5d, 0x20, 0x2b, 0x20, 0x32, +0x2a, 0x74, 0x6f, 0x70, 0x5b, 0x39, 0x5d, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x30, +0x5d, 0x20, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x30, +0x20, 0x3d, 0x20, 0x28, 0x20, 0x32, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x32, 0x5d, 0x20, +0x2b, 0x20, 0x32, 0x2a, 0x74, 0x6f, 0x70, 0x5b, 0x33, 0x5d, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, +0x5b, 0x34, 0x5d, 0x20, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x32, 0x2e, +0x73, 0x31, 0x20, 0x3d, 0x20, 0x28, 0x20, 0x32, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x33, +0x5d, 0x20, 0x2b, 0x20, 0x32, 0x2a, 0x74, 0x6f, 0x70, 0x5b, 0x34, 0x5d, 0x20, 0x2b, 0x20, 0x74, +0x6f, 0x70, 0x5b, 0x35, 0x5d, 0x20, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, +0x32, 0x2e, 0x73, 0x32, 0x20, 0x3d, 0x20, 0x28, 0x20, 0x32, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, +0x5b, 0x34, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x2a, 0x74, 0x6f, 0x70, 0x5b, 0x35, 0x5d, 0x20, 0x2b, +0x20, 0x74, 0x6f, 0x70, 0x5b, 0x36, 0x5d, 0x20, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, +0x70, 0x72, 0x32, 0x2e, 0x73, 0x33, 0x20, 0x3d, 0x20, 0x28, 0x20, 0x32, 0x20, 0x2b, 0x20, 0x74, +0x6f, 0x70, 0x5b, 0x35, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x2a, 0x74, 0x6f, 0x70, 0x5b, 0x36, 0x5d, +0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x37, 0x5d, 0x20, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, +0x3b, 0x0a, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x34, 0x20, 0x3d, 0x20, 0x28, 0x20, 0x32, 0x20, 0x2b, +0x20, 0x74, 0x6f, 0x70, 0x5b, 0x36, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x2a, 0x74, 0x6f, 0x70, 0x5b, +0x37, 0x5d, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x38, 0x5d, 0x20, 0x29, 0x20, 0x3e, 0x3e, +0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x35, 0x20, 0x3d, 0x20, 0x28, 0x20, 0x32, +0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x37, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x2a, 0x74, 0x6f, +0x70, 0x5b, 0x38, 0x5d, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x39, 0x5d, 0x20, 0x29, 0x20, +0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x36, 0x20, 0x3d, 0x20, 0x28, +0x20, 0x32, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x38, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x2a, +0x74, 0x6f, 0x70, 0x5b, 0x39, 0x5d, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x30, 0x5d, +0x20, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x37, 0x20, +0x3d, 0x20, 0x28, 0x20, 0x32, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x39, 0x5d, 0x20, 0x2b, +0x20, 0x32, 0x2a, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x30, 0x5d, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, +0x5b, 0x31, 0x31, 0x5d, 0x20, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x33, +0x2e, 0x73, 0x30, 0x20, 0x3d, 0x20, 0x28, 0x20, 0x32, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, +0x33, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x2a, 0x74, 0x6f, 0x70, 0x5b, 0x34, 0x5d, 0x20, 0x2b, 0x20, +0x74, 0x6f, 0x70, 0x5b, 0x35, 0x5d, 0x20, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, +0x72, 0x33, 0x2e, 0x73, 0x31, 0x20, 0x3d, 0x20, 0x28, 0x20, 0x32, 0x20, 0x2b, 0x20, 0x74, 0x6f, +0x70, 0x5b, 0x34, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x2a, 0x74, 0x6f, 0x70, 0x5b, 0x35, 0x5d, 0x20, +0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x36, 0x5d, 0x20, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, +0x0a, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x32, 0x20, 0x3d, 0x20, 0x28, 0x20, 0x32, 0x20, 0x2b, 0x20, +0x74, 0x6f, 0x70, 0x5b, 0x35, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x2a, 0x74, 0x6f, 0x70, 0x5b, 0x36, +0x5d, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x37, 0x5d, 0x20, 0x29, 0x20, 0x3e, 0x3e, 0x20, +0x32, 0x3b, 0x0a, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x33, 0x20, 0x3d, 0x20, 0x28, 0x20, 0x32, 0x20, +0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x36, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x2a, 0x74, 0x6f, 0x70, +0x5b, 0x37, 0x5d, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x38, 0x5d, 0x20, 0x29, 0x20, 0x3e, +0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x34, 0x20, 0x3d, 0x20, 0x28, 0x20, +0x32, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x37, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x2a, 0x74, +0x6f, 0x70, 0x5b, 0x38, 0x5d, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x39, 0x5d, 0x20, 0x29, +0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x35, 0x20, 0x3d, 0x20, +0x28, 0x20, 0x32, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x38, 0x5d, 0x20, 0x2b, 0x20, 0x32, +0x2a, 0x74, 0x6f, 0x70, 0x5b, 0x39, 0x5d, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x30, +0x5d, 0x20, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x36, +0x20, 0x3d, 0x20, 0x28, 0x20, 0x32, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x39, 0x5d, 0x20, +0x2b, 0x20, 0x32, 0x2a, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x30, 0x5d, 0x20, 0x2b, 0x20, 0x74, 0x6f, +0x70, 0x5b, 0x31, 0x31, 0x5d, 0x20, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, +0x33, 0x2e, 0x73, 0x37, 0x20, 0x3d, 0x20, 0x28, 0x20, 0x32, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, +0x5b, 0x31, 0x30, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x2a, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x31, 0x5d, +0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x32, 0x5d, 0x20, 0x29, 0x20, 0x3e, 0x3e, 0x20, +0x32, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x73, 0x61, 0x74, 0x64, 0x20, 0x3d, 0x20, 0x73, 0x61, +0x74, 0x64, 0x5f, 0x38, 0x78, 0x34, 0x5f, 0x69, 0x6e, 0x74, 0x72, 0x61, 0x5f, 0x6c, 0x72, 0x28, +0x20, 0x73, 0x72, 0x63, 0x2c, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, +0x2c, 0x20, 0x70, 0x72, 0x30, 0x2c, 0x20, 0x70, 0x72, 0x31, 0x2c, 0x20, 0x70, 0x72, 0x32, 0x2c, +0x20, 0x70, 0x72, 0x33, 0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x30, 0x20, 0x3d, +0x20, 0x28, 0x20, 0x32, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x34, 0x5d, 0x20, 0x2b, 0x20, +0x32, 0x2a, 0x74, 0x6f, 0x70, 0x5b, 0x35, 0x5d, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x36, +0x5d, 0x20, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x31, +0x20, 0x3d, 0x20, 0x28, 0x20, 0x32, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x35, 0x5d, 0x20, +0x2b, 0x20, 0x32, 0x2a, 0x74, 0x6f, 0x70, 0x5b, 0x36, 0x5d, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, +0x5b, 0x37, 0x5d, 0x20, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, +0x73, 0x32, 0x20, 0x3d, 0x20, 0x28, 0x20, 0x32, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x36, +0x5d, 0x20, 0x2b, 0x20, 0x32, 0x2a, 0x74, 0x6f, 0x70, 0x5b, 0x37, 0x5d, 0x20, 0x2b, 0x20, 0x74, +0x6f, 0x70, 0x5b, 0x38, 0x5d, 0x20, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, +0x30, 0x2e, 0x73, 0x33, 0x20, 0x3d, 0x20, 0x28, 0x20, 0x32, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, +0x5b, 0x37, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x2a, 0x74, 0x6f, 0x70, 0x5b, 0x38, 0x5d, 0x20, 0x2b, +0x20, 0x74, 0x6f, 0x70, 0x5b, 0x39, 0x5d, 0x20, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, +0x70, 0x72, 0x30, 0x2e, 0x73, 0x34, 0x20, 0x3d, 0x20, 0x28, 0x20, 0x32, 0x20, 0x2b, 0x20, 0x74, +0x6f, 0x70, 0x5b, 0x38, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x2a, 0x74, 0x6f, 0x70, 0x5b, 0x39, 0x5d, +0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x30, 0x5d, 0x20, 0x29, 0x20, 0x3e, 0x3e, 0x20, +0x32, 0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x35, 0x20, 0x3d, 0x20, 0x28, 0x20, 0x32, 0x20, +0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x39, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x2a, 0x74, 0x6f, 0x70, +0x5b, 0x31, 0x30, 0x5d, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x31, 0x5d, 0x20, 0x29, +0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x36, 0x20, 0x3d, 0x20, +0x28, 0x20, 0x32, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x30, 0x5d, 0x20, 0x2b, 0x20, +0x32, 0x2a, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x31, 0x5d, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, +0x31, 0x32, 0x5d, 0x20, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, +0x73, 0x37, 0x20, 0x3d, 0x20, 0x28, 0x20, 0x32, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, +0x31, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x2a, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x32, 0x5d, 0x20, 0x2b, +0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x33, 0x5d, 0x20, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, +0x0a, 0x70, 0x72, 0x31, 0x2e, 0x73, 0x30, 0x20, 0x3d, 0x20, 0x28, 0x20, 0x32, 0x20, 0x2b, 0x20, +0x74, 0x6f, 0x70, 0x5b, 0x35, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x2a, 0x74, 0x6f, 0x70, 0x5b, 0x36, +0x5d, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x37, 0x5d, 0x20, 0x29, 0x20, 0x3e, 0x3e, 0x20, +0x32, 0x3b, 0x0a, 0x70, 0x72, 0x31, 0x2e, 0x73, 0x31, 0x20, 0x3d, 0x20, 0x28, 0x20, 0x32, 0x20, +0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x36, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x2a, 0x74, 0x6f, 0x70, +0x5b, 0x37, 0x5d, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x38, 0x5d, 0x20, 0x29, 0x20, 0x3e, +0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x31, 0x2e, 0x73, 0x32, 0x20, 0x3d, 0x20, 0x28, 0x20, +0x32, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x37, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x2a, 0x74, +0x6f, 0x70, 0x5b, 0x38, 0x5d, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x39, 0x5d, 0x20, 0x29, +0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x31, 0x2e, 0x73, 0x33, 0x20, 0x3d, 0x20, +0x28, 0x20, 0x32, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x38, 0x5d, 0x20, 0x2b, 0x20, 0x32, +0x2a, 0x74, 0x6f, 0x70, 0x5b, 0x39, 0x5d, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x30, +0x5d, 0x20, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x31, 0x2e, 0x73, 0x34, +0x20, 0x3d, 0x20, 0x28, 0x20, 0x32, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x39, 0x5d, 0x20, +0x2b, 0x20, 0x32, 0x2a, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x30, 0x5d, 0x20, 0x2b, 0x20, 0x74, 0x6f, +0x70, 0x5b, 0x31, 0x31, 0x5d, 0x20, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, +0x31, 0x2e, 0x73, 0x35, 0x20, 0x3d, 0x20, 0x28, 0x20, 0x32, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, +0x5b, 0x31, 0x30, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x2a, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x31, 0x5d, +0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x32, 0x5d, 0x20, 0x29, 0x20, 0x3e, 0x3e, 0x20, +0x32, 0x3b, 0x0a, 0x70, 0x72, 0x31, 0x2e, 0x73, 0x36, 0x20, 0x3d, 0x20, 0x28, 0x20, 0x32, 0x20, +0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x31, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x2a, 0x74, 0x6f, +0x70, 0x5b, 0x31, 0x32, 0x5d, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x33, 0x5d, 0x20, +0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x31, 0x2e, 0x73, 0x37, 0x20, 0x3d, +0x20, 0x28, 0x20, 0x32, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x32, 0x5d, 0x20, 0x2b, +0x20, 0x32, 0x2a, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x33, 0x5d, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, +0x5b, 0x31, 0x34, 0x5d, 0x20, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x32, +0x2e, 0x73, 0x30, 0x20, 0x3d, 0x20, 0x28, 0x20, 0x32, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, +0x36, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x2a, 0x74, 0x6f, 0x70, 0x5b, 0x37, 0x5d, 0x20, 0x2b, 0x20, +0x74, 0x6f, 0x70, 0x5b, 0x38, 0x5d, 0x20, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, +0x72, 0x32, 0x2e, 0x73, 0x31, 0x20, 0x3d, 0x20, 0x28, 0x20, 0x32, 0x20, 0x2b, 0x20, 0x74, 0x6f, +0x70, 0x5b, 0x37, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x2a, 0x74, 0x6f, 0x70, 0x5b, 0x38, 0x5d, 0x20, +0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x39, 0x5d, 0x20, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, +0x0a, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x32, 0x20, 0x3d, 0x20, 0x28, 0x20, 0x32, 0x20, 0x2b, 0x20, +0x74, 0x6f, 0x70, 0x5b, 0x38, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x2a, 0x74, 0x6f, 0x70, 0x5b, 0x39, +0x5d, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x30, 0x5d, 0x20, 0x29, 0x20, 0x3e, 0x3e, +0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x33, 0x20, 0x3d, 0x20, 0x28, 0x20, 0x32, +0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x39, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x2a, 0x74, 0x6f, +0x70, 0x5b, 0x31, 0x30, 0x5d, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x31, 0x5d, 0x20, +0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x34, 0x20, 0x3d, +0x20, 0x28, 0x20, 0x32, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x30, 0x5d, 0x20, 0x2b, +0x20, 0x32, 0x2a, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x31, 0x5d, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, +0x5b, 0x31, 0x32, 0x5d, 0x20, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x32, +0x2e, 0x73, 0x35, 0x20, 0x3d, 0x20, 0x28, 0x20, 0x32, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, +0x31, 0x31, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x2a, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x32, 0x5d, 0x20, +0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x33, 0x5d, 0x20, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, +0x3b, 0x0a, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x36, 0x20, 0x3d, 0x20, 0x28, 0x20, 0x32, 0x20, 0x2b, +0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x32, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x2a, 0x74, 0x6f, 0x70, +0x5b, 0x31, 0x33, 0x5d, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x34, 0x5d, 0x20, 0x29, +0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x37, 0x20, 0x3d, 0x20, +0x28, 0x20, 0x32, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x33, 0x5d, 0x20, 0x2b, 0x20, +0x32, 0x2a, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x34, 0x5d, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, +0x31, 0x35, 0x5d, 0x20, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x33, 0x2e, +0x73, 0x30, 0x20, 0x3d, 0x20, 0x28, 0x20, 0x32, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x37, +0x5d, 0x20, 0x2b, 0x20, 0x32, 0x2a, 0x74, 0x6f, 0x70, 0x5b, 0x38, 0x5d, 0x20, 0x2b, 0x20, 0x74, +0x6f, 0x70, 0x5b, 0x39, 0x5d, 0x20, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, +0x33, 0x2e, 0x73, 0x31, 0x20, 0x3d, 0x20, 0x28, 0x20, 0x32, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, +0x5b, 0x38, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x2a, 0x74, 0x6f, 0x70, 0x5b, 0x39, 0x5d, 0x20, 0x2b, +0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x30, 0x5d, 0x20, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, +0x0a, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x32, 0x20, 0x3d, 0x20, 0x28, 0x20, 0x32, 0x20, 0x2b, 0x20, +0x74, 0x6f, 0x70, 0x5b, 0x39, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x2a, 0x74, 0x6f, 0x70, 0x5b, 0x31, +0x30, 0x5d, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x31, 0x5d, 0x20, 0x29, 0x20, 0x3e, +0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x33, 0x20, 0x3d, 0x20, 0x28, 0x20, +0x32, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x30, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x2a, +0x74, 0x6f, 0x70, 0x5b, 0x31, 0x31, 0x5d, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x32, +0x5d, 0x20, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x34, +0x20, 0x3d, 0x20, 0x28, 0x20, 0x32, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x31, 0x5d, +0x20, 0x2b, 0x20, 0x32, 0x2a, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x32, 0x5d, 0x20, 0x2b, 0x20, 0x74, +0x6f, 0x70, 0x5b, 0x31, 0x33, 0x5d, 0x20, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, +0x72, 0x33, 0x2e, 0x73, 0x35, 0x20, 0x3d, 0x20, 0x28, 0x20, 0x32, 0x20, 0x2b, 0x20, 0x74, 0x6f, +0x70, 0x5b, 0x31, 0x32, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x2a, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x33, +0x5d, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x34, 0x5d, 0x20, 0x29, 0x20, 0x3e, 0x3e, +0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x36, 0x20, 0x3d, 0x20, 0x28, 0x20, 0x32, +0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x33, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x2a, 0x74, +0x6f, 0x70, 0x5b, 0x31, 0x34, 0x5d, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x35, 0x5d, +0x20, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x37, 0x20, +0x3d, 0x20, 0x28, 0x20, 0x32, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x34, 0x5d, 0x20, +0x2b, 0x20, 0x33, 0x2a, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x35, 0x5d, 0x20, 0x29, 0x20, 0x3e, 0x3e, +0x20, 0x32, 0x3b, 0x0a, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x61, 0x74, 0x64, 0x20, +0x2b, 0x20, 0x73, 0x61, 0x74, 0x64, 0x5f, 0x38, 0x78, 0x34, 0x5f, 0x69, 0x6e, 0x74, 0x72, 0x61, +0x5f, 0x6c, 0x72, 0x28, 0x20, 0x73, 0x72, 0x63, 0x20, 0x2b, 0x20, 0x28, 0x73, 0x72, 0x63, 0x5f, +0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x20, 0x3c, 0x3c, 0x20, 0x32, 0x29, 0x2c, 0x20, 0x73, 0x72, +0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x2c, 0x20, 0x70, 0x72, 0x30, 0x2c, 0x20, 0x70, +0x72, 0x31, 0x2c, 0x20, 0x70, 0x72, 0x32, 0x2c, 0x20, 0x70, 0x72, 0x33, 0x20, 0x29, 0x3b, 0x0a, +0x7d, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, +0x63, 0x74, 0x5f, 0x38, 0x78, 0x38, 0x5f, 0x64, 0x64, 0x72, 0x28, 0x20, 0x63, 0x6f, 0x6e, 0x73, +0x74, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x2a, 0x73, +0x72, 0x63, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, +0x64, 0x65, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, +0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x2a, 0x74, 0x6f, 0x70, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, +0x74, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x2a, 0x6c, +0x65, 0x66, 0x74, 0x2c, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5f, +0x74, 0x6f, 0x70, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x69, 0x6e, 0x74, 0x38, 0x20, 0x70, 0x72, 0x30, +0x2c, 0x20, 0x70, 0x72, 0x31, 0x2c, 0x20, 0x70, 0x72, 0x32, 0x2c, 0x20, 0x70, 0x72, 0x33, 0x3b, +0x0a, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x30, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x6c, 0x65, +0x66, 0x74, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x32, 0x5d, 0x2c, 0x20, +0x6c, 0x65, 0x66, 0x74, 0x5b, 0x33, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x32, 0x2e, 0x73, +0x30, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x31, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, +0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x31, +0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x32, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, +0x31, 0x2e, 0x73, 0x30, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x31, 0x20, 0x3d, 0x20, +0x70, 0x72, 0x33, 0x2e, 0x73, 0x32, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x6c, 0x65, 0x66, +0x74, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x6c, +0x65, 0x66, 0x74, 0x5f, 0x74, 0x6f, 0x70, 0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, 0x73, +0x30, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x31, 0x2e, 0x73, 0x31, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x32, +0x2e, 0x73, 0x32, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x33, 0x20, 0x3d, 0x20, 0x46, +0x32, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, +0x5f, 0x74, 0x6f, 0x70, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x30, 0x5d, 0x20, 0x29, 0x3b, 0x0a, +0x70, 0x72, 0x30, 0x2e, 0x73, 0x31, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x31, 0x2e, 0x73, 0x32, 0x20, +0x3d, 0x20, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x33, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x33, 0x2e, 0x73, +0x34, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x74, 0x6f, 0x70, +0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x5d, +0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x32, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x31, +0x2e, 0x73, 0x33, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x34, 0x20, 0x3d, 0x20, 0x70, +0x72, 0x33, 0x2e, 0x73, 0x35, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, +0x30, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, +0x32, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x33, 0x20, 0x3d, 0x20, 0x70, +0x72, 0x31, 0x2e, 0x73, 0x34, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x35, 0x20, 0x3d, +0x20, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x36, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, +0x70, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x74, 0x6f, +0x70, 0x5b, 0x33, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x34, 0x20, 0x3d, +0x20, 0x70, 0x72, 0x31, 0x2e, 0x73, 0x35, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x36, +0x20, 0x3d, 0x20, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x37, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, +0x74, 0x6f, 0x70, 0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x33, 0x5d, 0x2c, 0x20, +0x74, 0x6f, 0x70, 0x5b, 0x34, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x35, +0x20, 0x3d, 0x20, 0x70, 0x72, 0x31, 0x2e, 0x73, 0x36, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x32, 0x2e, +0x73, 0x37, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x33, 0x5d, 0x2c, +0x20, 0x74, 0x6f, 0x70, 0x5b, 0x34, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x35, 0x5d, 0x20, +0x29, 0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x36, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x31, 0x2e, +0x73, 0x37, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x34, 0x5d, 0x2c, +0x20, 0x74, 0x6f, 0x70, 0x5b, 0x35, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x36, 0x5d, 0x20, +0x29, 0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x37, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, +0x74, 0x6f, 0x70, 0x5b, 0x35, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x36, 0x5d, 0x2c, 0x20, +0x74, 0x6f, 0x70, 0x5b, 0x37, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x73, 0x61, +0x74, 0x64, 0x20, 0x3d, 0x20, 0x73, 0x61, 0x74, 0x64, 0x5f, 0x38, 0x78, 0x34, 0x5f, 0x69, 0x6e, +0x74, 0x72, 0x61, 0x5f, 0x6c, 0x72, 0x28, 0x20, 0x73, 0x72, 0x63, 0x2c, 0x20, 0x73, 0x72, 0x63, +0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x2c, 0x20, 0x70, 0x72, 0x30, 0x2c, 0x20, 0x70, 0x72, +0x31, 0x2c, 0x20, 0x70, 0x72, 0x32, 0x2c, 0x20, 0x70, 0x72, 0x33, 0x20, 0x29, 0x3b, 0x0a, 0x70, +0x72, 0x33, 0x2e, 0x73, 0x30, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, +0x5b, 0x35, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x36, 0x5d, 0x2c, 0x20, 0x6c, 0x65, +0x66, 0x74, 0x5b, 0x37, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x30, 0x20, +0x3d, 0x20, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x31, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x6c, +0x65, 0x66, 0x74, 0x5b, 0x34, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x35, 0x5d, 0x2c, +0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x36, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x31, 0x2e, +0x73, 0x30, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x31, 0x20, 0x3d, 0x20, 0x70, 0x72, +0x33, 0x2e, 0x73, 0x32, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, +0x33, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x34, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, +0x74, 0x5b, 0x35, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x30, 0x20, 0x3d, +0x20, 0x70, 0x72, 0x31, 0x2e, 0x73, 0x31, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x32, +0x20, 0x3d, 0x20, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x33, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, +0x6c, 0x65, 0x66, 0x74, 0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x33, 0x5d, +0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x34, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x30, +0x2e, 0x73, 0x31, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x31, 0x2e, 0x73, 0x32, 0x20, 0x3d, 0x20, 0x70, +0x72, 0x32, 0x2e, 0x73, 0x33, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x34, 0x20, 0x3d, +0x20, 0x46, 0x32, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x6c, 0x65, +0x66, 0x74, 0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x33, 0x5d, 0x20, 0x29, +0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x32, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x31, 0x2e, 0x73, +0x33, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x34, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x33, +0x2e, 0x73, 0x35, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x30, +0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, +0x5b, 0x32, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x33, 0x20, 0x3d, 0x20, +0x70, 0x72, 0x31, 0x2e, 0x73, 0x34, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x35, 0x20, +0x3d, 0x20, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x36, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x6c, +0x65, 0x66, 0x74, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x30, 0x5d, 0x2c, +0x20, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x74, 0x6f, 0x70, 0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x30, +0x2e, 0x73, 0x34, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x31, 0x2e, 0x73, 0x35, 0x20, 0x3d, 0x20, 0x70, +0x72, 0x32, 0x2e, 0x73, 0x36, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x37, 0x20, 0x3d, +0x20, 0x46, 0x32, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x6c, 0x65, +0x66, 0x74, 0x5f, 0x74, 0x6f, 0x70, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x30, 0x5d, 0x20, 0x29, +0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x35, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x31, 0x2e, 0x73, +0x36, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x37, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, +0x20, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x74, 0x6f, 0x70, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x30, +0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x30, +0x2e, 0x73, 0x36, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x31, 0x2e, 0x73, 0x37, 0x20, 0x3d, 0x20, 0x46, +0x32, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, +0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x32, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x30, +0x2e, 0x73, 0x37, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x5d, +0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x33, 0x5d, +0x20, 0x29, 0x3b, 0x0a, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x61, 0x74, 0x64, 0x20, +0x2b, 0x20, 0x73, 0x61, 0x74, 0x64, 0x5f, 0x38, 0x78, 0x34, 0x5f, 0x69, 0x6e, 0x74, 0x72, 0x61, +0x5f, 0x6c, 0x72, 0x28, 0x20, 0x73, 0x72, 0x63, 0x20, 0x2b, 0x20, 0x28, 0x73, 0x72, 0x63, 0x5f, +0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x20, 0x3c, 0x3c, 0x20, 0x32, 0x29, 0x2c, 0x20, 0x73, 0x72, +0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x2c, 0x20, 0x70, 0x72, 0x30, 0x2c, 0x20, 0x70, +0x72, 0x31, 0x2c, 0x20, 0x70, 0x72, 0x32, 0x2c, 0x20, 0x70, 0x72, 0x33, 0x20, 0x29, 0x3b, 0x0a, +0x7d, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, +0x63, 0x74, 0x5f, 0x38, 0x78, 0x38, 0x5f, 0x76, 0x72, 0x28, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, +0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x2a, 0x73, 0x72, +0x63, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, +0x65, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x70, +0x69, 0x78, 0x65, 0x6c, 0x20, 0x2a, 0x74, 0x6f, 0x70, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, +0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x2a, 0x6c, 0x65, +0x66, 0x74, 0x2c, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x74, +0x6f, 0x70, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x69, 0x6e, 0x74, 0x38, 0x20, 0x70, 0x72, 0x30, 0x2c, +0x20, 0x70, 0x72, 0x31, 0x2c, 0x20, 0x70, 0x72, 0x32, 0x2c, 0x20, 0x70, 0x72, 0x33, 0x3b, 0x0a, +0x70, 0x72, 0x32, 0x2e, 0x73, 0x30, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x6c, 0x65, 0x66, +0x74, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x6c, +0x65, 0x66, 0x74, 0x5f, 0x74, 0x6f, 0x70, 0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x33, 0x2e, 0x73, +0x30, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x32, 0x5d, 0x2c, +0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x30, +0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x31, 0x2e, 0x73, 0x30, 0x20, 0x3d, 0x20, 0x70, 0x72, +0x33, 0x2e, 0x73, 0x31, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, +0x30, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x74, 0x6f, 0x70, 0x2c, 0x20, 0x74, 0x6f, +0x70, 0x5b, 0x30, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x30, 0x20, 0x3d, +0x20, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x31, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x6c, 0x65, +0x66, 0x74, 0x5f, 0x74, 0x6f, 0x70, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x30, 0x5d, 0x20, 0x29, +0x3b, 0x0a, 0x70, 0x72, 0x31, 0x2e, 0x73, 0x31, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x33, 0x2e, 0x73, +0x32, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x74, 0x6f, 0x70, +0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x5d, +0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x31, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x32, +0x2e, 0x73, 0x32, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x30, 0x5d, +0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x31, 0x2e, +0x73, 0x32, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x33, 0x20, 0x3d, 0x20, 0x46, 0x32, +0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x5d, +0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x32, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, +0x73, 0x32, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x33, 0x20, 0x3d, 0x20, 0x46, 0x31, +0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x32, 0x5d, +0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x31, 0x2e, 0x73, 0x33, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x33, +0x2e, 0x73, 0x34, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x5d, +0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x33, 0x5d, +0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x33, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x32, +0x2e, 0x73, 0x34, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x32, 0x5d, +0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x33, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x31, 0x2e, +0x73, 0x34, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x35, 0x20, 0x3d, 0x20, 0x46, 0x32, +0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x33, 0x5d, +0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x34, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, +0x73, 0x34, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x35, 0x20, 0x3d, 0x20, 0x46, 0x31, +0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x33, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x34, 0x5d, +0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x31, 0x2e, 0x73, 0x35, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x33, +0x2e, 0x73, 0x36, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x33, 0x5d, +0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x34, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x35, 0x5d, +0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x35, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x32, +0x2e, 0x73, 0x36, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x34, 0x5d, +0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x35, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x31, 0x2e, +0x73, 0x36, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x37, 0x20, 0x3d, 0x20, 0x46, 0x32, +0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x34, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x35, 0x5d, +0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x36, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, +0x73, 0x36, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x37, 0x20, 0x3d, 0x20, 0x46, 0x31, +0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x35, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x36, 0x5d, +0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x31, 0x2e, 0x73, 0x37, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, +0x20, 0x74, 0x6f, 0x70, 0x5b, 0x35, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x36, 0x5d, 0x2c, +0x20, 0x74, 0x6f, 0x70, 0x5b, 0x37, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, 0x73, +0x37, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x36, 0x5d, 0x2c, 0x20, +0x74, 0x6f, 0x70, 0x5b, 0x37, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x73, 0x61, +0x74, 0x64, 0x20, 0x3d, 0x20, 0x73, 0x61, 0x74, 0x64, 0x5f, 0x38, 0x78, 0x34, 0x5f, 0x69, 0x6e, +0x74, 0x72, 0x61, 0x5f, 0x6c, 0x72, 0x28, 0x20, 0x73, 0x72, 0x63, 0x2c, 0x20, 0x73, 0x72, 0x63, +0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x2c, 0x20, 0x70, 0x72, 0x30, 0x2c, 0x20, 0x70, 0x72, +0x31, 0x2c, 0x20, 0x70, 0x72, 0x32, 0x2c, 0x20, 0x70, 0x72, 0x33, 0x20, 0x29, 0x3b, 0x0a, 0x70, +0x72, 0x32, 0x2e, 0x73, 0x30, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, +0x5b, 0x35, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x34, 0x5d, 0x2c, 0x20, 0x6c, 0x65, +0x66, 0x74, 0x5b, 0x33, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x30, 0x20, +0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x36, 0x5d, 0x2c, 0x20, 0x6c, +0x65, 0x66, 0x74, 0x5b, 0x35, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x34, 0x5d, 0x20, +0x29, 0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x30, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x32, 0x2e, +0x73, 0x31, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x33, 0x5d, +0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, +0x31, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x31, 0x2e, 0x73, 0x30, 0x20, 0x3d, 0x20, 0x70, +0x72, 0x33, 0x2e, 0x73, 0x31, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, +0x5b, 0x34, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x33, 0x5d, 0x2c, 0x20, 0x6c, 0x65, +0x66, 0x74, 0x5b, 0x32, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x31, 0x20, +0x3d, 0x20, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x32, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x6c, +0x65, 0x66, 0x74, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x30, 0x5d, 0x2c, +0x20, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x74, 0x6f, 0x70, 0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x31, +0x2e, 0x73, 0x31, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x32, 0x20, 0x3d, 0x20, 0x46, +0x32, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, +0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x30, 0x5d, 0x20, 0x29, 0x3b, 0x0a, +0x70, 0x72, 0x31, 0x2e, 0x73, 0x32, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x33, 0x20, +0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x6c, +0x65, 0x66, 0x74, 0x5f, 0x74, 0x6f, 0x70, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x30, 0x5d, 0x20, +0x29, 0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x32, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x32, 0x2e, +0x73, 0x33, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x74, 0x6f, +0x70, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x30, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x31, +0x2e, 0x73, 0x33, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x34, 0x20, 0x3d, 0x20, 0x46, +0x32, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x74, 0x6f, 0x70, 0x2c, 0x20, 0x74, 0x6f, 0x70, +0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x70, +0x72, 0x30, 0x2e, 0x73, 0x33, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x34, 0x20, 0x3d, +0x20, 0x46, 0x31, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, +0x5b, 0x31, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x31, 0x2e, 0x73, 0x34, 0x20, 0x3d, 0x20, +0x70, 0x72, 0x33, 0x2e, 0x73, 0x35, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, 0x70, +0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, +0x5b, 0x32, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x34, 0x20, 0x3d, 0x20, +0x70, 0x72, 0x32, 0x2e, 0x73, 0x35, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x74, 0x6f, 0x70, +0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x32, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x70, +0x72, 0x31, 0x2e, 0x73, 0x35, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x36, 0x20, 0x3d, +0x20, 0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, +0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x33, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x70, +0x72, 0x30, 0x2e, 0x73, 0x35, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x36, 0x20, 0x3d, +0x20, 0x46, 0x31, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, +0x5b, 0x33, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x31, 0x2e, 0x73, 0x36, 0x20, 0x3d, 0x20, +0x70, 0x72, 0x33, 0x2e, 0x73, 0x37, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, 0x70, +0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x33, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, +0x5b, 0x34, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x36, 0x20, 0x3d, 0x20, +0x70, 0x72, 0x32, 0x2e, 0x73, 0x37, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x74, 0x6f, 0x70, +0x5b, 0x33, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x34, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x70, +0x72, 0x31, 0x2e, 0x73, 0x37, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, +0x33, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x34, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, +0x35, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x37, 0x20, 0x3d, 0x20, 0x46, +0x31, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x34, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x35, +0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x61, 0x74, 0x64, +0x20, 0x2b, 0x20, 0x73, 0x61, 0x74, 0x64, 0x5f, 0x38, 0x78, 0x34, 0x5f, 0x69, 0x6e, 0x74, 0x72, +0x61, 0x5f, 0x6c, 0x72, 0x28, 0x20, 0x73, 0x72, 0x63, 0x20, 0x2b, 0x20, 0x28, 0x73, 0x72, 0x63, +0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x20, 0x3c, 0x3c, 0x20, 0x32, 0x29, 0x2c, 0x20, 0x73, +0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x2c, 0x20, 0x70, 0x72, 0x30, 0x2c, 0x20, +0x70, 0x72, 0x31, 0x2c, 0x20, 0x70, 0x72, 0x32, 0x2c, 0x20, 0x70, 0x72, 0x33, 0x20, 0x29, 0x3b, +0x0a, 0x23, 0x75, 0x6e, 0x64, 0x65, 0x66, 0x20, 0x50, 0x52, 0x45, 0x44, 0x0a, 0x7d, 0x0a, 0x69, +0x6e, 0x74, 0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x5f, +0x38, 0x78, 0x38, 0x5f, 0x68, 0x64, 0x28, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x6c, 0x6f, +0x63, 0x61, 0x6c, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x2a, 0x73, 0x72, 0x63, 0x2c, 0x20, +0x69, 0x6e, 0x74, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x2c, 0x20, +0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x70, 0x69, 0x78, 0x65, +0x6c, 0x20, 0x2a, 0x74, 0x6f, 0x70, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x6c, 0x6f, +0x63, 0x61, 0x6c, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x2a, 0x6c, 0x65, 0x66, 0x74, 0x2c, +0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x74, 0x6f, 0x70, 0x20, +0x29, 0x0a, 0x7b, 0x0a, 0x69, 0x6e, 0x74, 0x38, 0x20, 0x70, 0x72, 0x30, 0x2c, 0x20, 0x70, 0x72, +0x31, 0x2c, 0x20, 0x70, 0x72, 0x32, 0x2c, 0x20, 0x70, 0x72, 0x33, 0x3b, 0x0a, 0x70, 0x72, 0x30, +0x2e, 0x73, 0x30, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x74, +0x6f, 0x70, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x30, 0x5d, 0x20, 0x29, 0x3b, 0x20, 0x70, +0x72, 0x30, 0x2e, 0x73, 0x31, 0x20, 0x3d, 0x20, 0x28, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x30, 0x5d, +0x20, 0x2b, 0x20, 0x32, 0x20, 0x2a, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x74, 0x6f, 0x70, 0x20, +0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x30, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x29, 0x20, 0x3e, 0x3e, +0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x32, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, +0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x30, 0x5d, 0x2c, +0x20, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x74, 0x6f, 0x70, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x72, 0x30, +0x2e, 0x73, 0x33, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x32, 0x5d, +0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x30, 0x5d, +0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x34, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, +0x20, 0x74, 0x6f, 0x70, 0x5b, 0x33, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x32, 0x5d, 0x2c, +0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x5d, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x72, 0x30, 0x2e, 0x73, +0x35, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x34, 0x5d, 0x2c, 0x20, +0x74, 0x6f, 0x70, 0x5b, 0x33, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x32, 0x5d, 0x20, 0x29, +0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x36, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x74, +0x6f, 0x70, 0x5b, 0x35, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x34, 0x5d, 0x2c, 0x20, 0x74, +0x6f, 0x70, 0x5b, 0x33, 0x5d, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x37, 0x20, +0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x36, 0x5d, 0x2c, 0x20, 0x74, 0x6f, +0x70, 0x5b, 0x35, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x34, 0x5d, 0x20, 0x29, 0x3b, 0x0a, +0x70, 0x72, 0x31, 0x2e, 0x73, 0x30, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x6c, 0x65, 0x66, +0x74, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x31, 0x5d, 0x20, 0x29, 0x3b, +0x20, 0x70, 0x72, 0x31, 0x2e, 0x73, 0x31, 0x20, 0x3d, 0x20, 0x28, 0x6c, 0x65, 0x66, 0x74, 0x5f, +0x74, 0x6f, 0x70, 0x20, 0x2b, 0x20, 0x32, 0x20, 0x2a, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x30, +0x5d, 0x20, 0x2b, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x31, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x29, +0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x31, 0x2e, 0x73, 0x32, 0x20, 0x3d, 0x20, +0x46, 0x31, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x74, 0x6f, 0x70, 0x2c, 0x20, 0x6c, 0x65, +0x66, 0x74, 0x5b, 0x30, 0x5d, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x72, 0x31, 0x2e, 0x73, 0x33, 0x20, +0x3d, 0x20, 0x28, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x30, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x20, 0x2a, +0x20, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x74, 0x6f, 0x70, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, +0x30, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, +0x31, 0x2e, 0x73, 0x34, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, +0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5f, +0x74, 0x6f, 0x70, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x72, 0x31, 0x2e, 0x73, 0x35, 0x20, 0x3d, 0x20, +0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, +0x31, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x30, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, +0x31, 0x2e, 0x73, 0x36, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x33, +0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, +0x5d, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x72, 0x31, 0x2e, 0x73, 0x37, 0x20, 0x3d, 0x20, 0x46, 0x32, +0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x34, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x33, 0x5d, +0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x32, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x32, 0x2e, +0x73, 0x30, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x31, 0x5d, +0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x32, 0x5d, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x72, 0x32, +0x2e, 0x73, 0x31, 0x20, 0x3d, 0x20, 0x28, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x30, 0x5d, 0x20, 0x2b, +0x20, 0x32, 0x20, 0x2a, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x31, 0x5d, 0x20, 0x2b, 0x20, 0x6c, +0x65, 0x66, 0x74, 0x5b, 0x32, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, +0x3b, 0x0a, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x32, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x6c, +0x65, 0x66, 0x74, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x31, 0x5d, 0x20, +0x29, 0x3b, 0x20, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x33, 0x20, 0x3d, 0x20, 0x28, 0x6c, 0x65, 0x66, +0x74, 0x5f, 0x74, 0x6f, 0x70, 0x20, 0x2b, 0x20, 0x32, 0x20, 0x2a, 0x20, 0x6c, 0x65, 0x66, 0x74, +0x5b, 0x30, 0x5d, 0x20, 0x2b, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x31, 0x5d, 0x20, 0x2b, 0x20, +0x32, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x34, 0x20, +0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x74, 0x6f, 0x70, 0x2c, 0x20, +0x6c, 0x65, 0x66, 0x74, 0x5b, 0x30, 0x5d, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x72, 0x32, 0x2e, 0x73, +0x35, 0x20, 0x3d, 0x20, 0x28, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x30, 0x5d, 0x20, 0x2b, 0x20, 0x32, +0x20, 0x2a, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x74, 0x6f, 0x70, 0x20, 0x2b, 0x20, 0x74, 0x6f, +0x70, 0x5b, 0x30, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, +0x70, 0x72, 0x32, 0x2e, 0x73, 0x36, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, 0x70, +0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, +0x74, 0x5f, 0x74, 0x6f, 0x70, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x37, 0x20, +0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x74, 0x6f, +0x70, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x30, 0x5d, 0x20, 0x29, 0x3b, 0x0a, +0x70, 0x72, 0x33, 0x2e, 0x73, 0x30, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x6c, 0x65, 0x66, +0x74, 0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x33, 0x5d, 0x20, 0x29, 0x3b, +0x20, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x31, 0x20, 0x3d, 0x20, 0x28, 0x6c, 0x65, 0x66, 0x74, 0x5b, +0x31, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x20, 0x2a, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x32, 0x5d, +0x20, 0x2b, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x33, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x29, 0x20, +0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x32, 0x20, 0x3d, 0x20, 0x46, +0x31, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, +0x5b, 0x32, 0x5d, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x33, 0x20, 0x3d, 0x20, +0x28, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x30, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x20, 0x2a, 0x20, 0x6c, +0x65, 0x66, 0x74, 0x5b, 0x31, 0x5d, 0x20, 0x2b, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x32, 0x5d, +0x20, 0x2b, 0x20, 0x32, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x33, 0x2e, +0x73, 0x34, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x30, 0x5d, +0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x31, 0x5d, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x72, 0x33, +0x2e, 0x73, 0x35, 0x20, 0x3d, 0x20, 0x28, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x74, 0x6f, 0x70, 0x20, +0x2b, 0x20, 0x32, 0x20, 0x2a, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x30, 0x5d, 0x20, 0x2b, 0x20, +0x6c, 0x65, 0x66, 0x74, 0x5b, 0x31, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x29, 0x20, 0x3e, 0x3e, 0x20, +0x32, 0x3b, 0x0a, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x36, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, +0x6c, 0x65, 0x66, 0x74, 0x5f, 0x74, 0x6f, 0x70, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x30, +0x5d, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x37, 0x20, 0x3d, 0x20, 0x28, 0x6c, +0x65, 0x66, 0x74, 0x5b, 0x30, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x20, 0x2a, 0x20, 0x6c, 0x65, 0x66, +0x74, 0x5f, 0x74, 0x6f, 0x70, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x30, 0x5d, 0x20, 0x2b, +0x20, 0x32, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x73, 0x61, +0x74, 0x64, 0x20, 0x3d, 0x20, 0x73, 0x61, 0x74, 0x64, 0x5f, 0x38, 0x78, 0x34, 0x5f, 0x69, 0x6e, +0x74, 0x72, 0x61, 0x5f, 0x6c, 0x72, 0x28, 0x20, 0x73, 0x72, 0x63, 0x2c, 0x20, 0x73, 0x72, 0x63, +0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x2c, 0x20, 0x70, 0x72, 0x30, 0x2c, 0x20, 0x70, 0x72, +0x31, 0x2c, 0x20, 0x70, 0x72, 0x32, 0x2c, 0x20, 0x70, 0x72, 0x33, 0x20, 0x29, 0x3b, 0x0a, 0x70, +0x72, 0x30, 0x2e, 0x73, 0x30, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, +0x5b, 0x33, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x34, 0x5d, 0x20, 0x29, 0x3b, 0x20, +0x70, 0x72, 0x30, 0x2e, 0x73, 0x31, 0x20, 0x3d, 0x20, 0x28, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x32, +0x5d, 0x20, 0x2b, 0x20, 0x32, 0x20, 0x2a, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x33, 0x5d, 0x20, +0x2b, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x34, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x29, 0x20, 0x3e, +0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x32, 0x20, 0x3d, 0x20, 0x46, 0x31, +0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, +0x33, 0x5d, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x33, 0x20, 0x3d, 0x20, 0x28, +0x6c, 0x65, 0x66, 0x74, 0x5b, 0x31, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x20, 0x2a, 0x20, 0x6c, 0x65, +0x66, 0x74, 0x5b, 0x32, 0x5d, 0x20, 0x2b, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x33, 0x5d, 0x20, +0x2b, 0x20, 0x32, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, 0x73, +0x34, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x31, 0x5d, 0x2c, +0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x32, 0x5d, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x72, 0x30, 0x2e, +0x73, 0x35, 0x20, 0x3d, 0x20, 0x28, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x30, 0x5d, 0x20, 0x2b, 0x20, +0x32, 0x20, 0x2a, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x31, 0x5d, 0x20, 0x2b, 0x20, 0x6c, 0x65, +0x66, 0x74, 0x5b, 0x32, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, +0x0a, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x36, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x6c, 0x65, +0x66, 0x74, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x31, 0x5d, 0x20, 0x29, +0x3b, 0x20, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x37, 0x20, 0x3d, 0x20, 0x28, 0x6c, 0x65, 0x66, 0x74, +0x5f, 0x74, 0x6f, 0x70, 0x20, 0x2b, 0x20, 0x32, 0x20, 0x2a, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, +0x30, 0x5d, 0x20, 0x2b, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x31, 0x5d, 0x20, 0x2b, 0x20, 0x32, +0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x31, 0x2e, 0x73, 0x30, 0x20, 0x3d, +0x20, 0x46, 0x31, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x34, 0x5d, 0x2c, 0x20, 0x6c, 0x65, +0x66, 0x74, 0x5b, 0x35, 0x5d, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x72, 0x31, 0x2e, 0x73, 0x31, 0x20, +0x3d, 0x20, 0x28, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x33, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x20, 0x2a, +0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x34, 0x5d, 0x20, 0x2b, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, +0x35, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, +0x31, 0x2e, 0x73, 0x32, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, +0x33, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x34, 0x5d, 0x20, 0x29, 0x3b, 0x20, 0x70, +0x72, 0x31, 0x2e, 0x73, 0x33, 0x20, 0x3d, 0x20, 0x28, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x32, 0x5d, +0x20, 0x2b, 0x20, 0x32, 0x20, 0x2a, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x33, 0x5d, 0x20, 0x2b, +0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x34, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x29, 0x20, 0x3e, 0x3e, +0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x31, 0x2e, 0x73, 0x34, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, +0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x33, +0x5d, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x72, 0x31, 0x2e, 0x73, 0x35, 0x20, 0x3d, 0x20, 0x28, 0x6c, +0x65, 0x66, 0x74, 0x5b, 0x31, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x20, 0x2a, 0x20, 0x6c, 0x65, 0x66, +0x74, 0x5b, 0x32, 0x5d, 0x20, 0x2b, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x33, 0x5d, 0x20, 0x2b, +0x20, 0x32, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x31, 0x2e, 0x73, 0x36, +0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x31, 0x5d, 0x2c, 0x20, +0x6c, 0x65, 0x66, 0x74, 0x5b, 0x32, 0x5d, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x72, 0x31, 0x2e, 0x73, +0x37, 0x20, 0x3d, 0x20, 0x28, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x30, 0x5d, 0x20, 0x2b, 0x20, 0x32, +0x20, 0x2a, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x31, 0x5d, 0x20, 0x2b, 0x20, 0x6c, 0x65, 0x66, +0x74, 0x5b, 0x32, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, +0x70, 0x72, 0x32, 0x2e, 0x73, 0x30, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x6c, 0x65, 0x66, +0x74, 0x5b, 0x35, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x36, 0x5d, 0x20, 0x29, 0x3b, +0x20, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x31, 0x20, 0x3d, 0x20, 0x28, 0x6c, 0x65, 0x66, 0x74, 0x5b, +0x34, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x20, 0x2a, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x35, 0x5d, +0x20, 0x2b, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x36, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x29, 0x20, +0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x32, 0x20, 0x3d, 0x20, 0x46, +0x31, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x34, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, +0x5b, 0x35, 0x5d, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x33, 0x20, 0x3d, 0x20, +0x28, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x33, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x20, 0x2a, 0x20, 0x6c, +0x65, 0x66, 0x74, 0x5b, 0x34, 0x5d, 0x20, 0x2b, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x35, 0x5d, +0x20, 0x2b, 0x20, 0x32, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x32, 0x2e, +0x73, 0x34, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x33, 0x5d, +0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x34, 0x5d, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x72, 0x32, +0x2e, 0x73, 0x35, 0x20, 0x3d, 0x20, 0x28, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x32, 0x5d, 0x20, 0x2b, +0x20, 0x32, 0x20, 0x2a, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x33, 0x5d, 0x20, 0x2b, 0x20, 0x6c, +0x65, 0x66, 0x74, 0x5b, 0x34, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, +0x3b, 0x0a, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x36, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x6c, +0x65, 0x66, 0x74, 0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x33, 0x5d, 0x20, +0x29, 0x3b, 0x20, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x37, 0x20, 0x3d, 0x20, 0x28, 0x6c, 0x65, 0x66, +0x74, 0x5b, 0x31, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x20, 0x2a, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, +0x32, 0x5d, 0x20, 0x2b, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x33, 0x5d, 0x20, 0x2b, 0x20, 0x32, +0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x30, 0x20, 0x3d, +0x20, 0x46, 0x31, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x36, 0x5d, 0x2c, 0x20, 0x6c, 0x65, +0x66, 0x74, 0x5b, 0x37, 0x5d, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x31, 0x20, +0x3d, 0x20, 0x28, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x35, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x20, 0x2a, +0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x36, 0x5d, 0x20, 0x2b, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, +0x37, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, +0x33, 0x2e, 0x73, 0x32, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, +0x35, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x36, 0x5d, 0x20, 0x29, 0x3b, 0x20, 0x70, +0x72, 0x33, 0x2e, 0x73, 0x33, 0x20, 0x3d, 0x20, 0x28, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x34, 0x5d, +0x20, 0x2b, 0x20, 0x32, 0x20, 0x2a, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x35, 0x5d, 0x20, 0x2b, +0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x36, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x29, 0x20, 0x3e, 0x3e, +0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x34, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, +0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x34, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x35, +0x5d, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x35, 0x20, 0x3d, 0x20, 0x28, 0x6c, +0x65, 0x66, 0x74, 0x5b, 0x33, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x20, 0x2a, 0x20, 0x6c, 0x65, 0x66, +0x74, 0x5b, 0x34, 0x5d, 0x20, 0x2b, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x35, 0x5d, 0x20, 0x2b, +0x20, 0x32, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x36, +0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x33, 0x5d, 0x2c, 0x20, +0x6c, 0x65, 0x66, 0x74, 0x5b, 0x34, 0x5d, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x72, 0x33, 0x2e, 0x73, +0x37, 0x20, 0x3d, 0x20, 0x28, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x32, 0x5d, 0x20, 0x2b, 0x20, 0x32, +0x20, 0x2a, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x33, 0x5d, 0x20, 0x2b, 0x20, 0x6c, 0x65, 0x66, +0x74, 0x5b, 0x34, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, +0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x61, 0x74, 0x64, 0x20, 0x2b, 0x20, 0x73, 0x61, +0x74, 0x64, 0x5f, 0x38, 0x78, 0x34, 0x5f, 0x69, 0x6e, 0x74, 0x72, 0x61, 0x5f, 0x6c, 0x72, 0x28, +0x20, 0x73, 0x72, 0x63, 0x20, 0x2b, 0x20, 0x28, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, +0x64, 0x65, 0x20, 0x3c, 0x3c, 0x20, 0x32, 0x29, 0x2c, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, +0x72, 0x69, 0x64, 0x65, 0x2c, 0x20, 0x70, 0x72, 0x30, 0x2c, 0x20, 0x70, 0x72, 0x31, 0x2c, 0x20, +0x70, 0x72, 0x32, 0x2c, 0x20, 0x70, 0x72, 0x33, 0x20, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x69, 0x6e, +0x74, 0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x5f, 0x38, +0x78, 0x38, 0x5f, 0x76, 0x6c, 0x28, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x6c, 0x6f, 0x63, +0x61, 0x6c, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x2a, 0x73, 0x72, 0x63, 0x2c, 0x20, 0x69, +0x6e, 0x74, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x2c, 0x20, 0x63, +0x6f, 0x6e, 0x73, 0x74, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, +0x20, 0x2a, 0x74, 0x6f, 0x70, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x69, 0x6e, 0x74, 0x38, 0x20, 0x70, +0x72, 0x30, 0x2c, 0x20, 0x70, 0x72, 0x31, 0x2c, 0x20, 0x70, 0x72, 0x32, 0x2c, 0x20, 0x70, 0x72, +0x33, 0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x30, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, +0x74, 0x6f, 0x70, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x5d, 0x20, 0x29, +0x3b, 0x0a, 0x70, 0x72, 0x31, 0x2e, 0x73, 0x30, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x74, +0x6f, 0x70, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x74, +0x6f, 0x70, 0x5b, 0x32, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x30, 0x20, +0x3d, 0x20, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x31, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x74, +0x6f, 0x70, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x32, 0x5d, 0x20, 0x29, 0x3b, +0x0a, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x30, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x31, 0x2e, 0x73, 0x31, +0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x74, +0x6f, 0x70, 0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x33, 0x5d, 0x20, 0x29, 0x3b, +0x0a, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x31, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x32, +0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x74, +0x6f, 0x70, 0x5b, 0x33, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x31, 0x20, +0x3d, 0x20, 0x70, 0x72, 0x31, 0x2e, 0x73, 0x32, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x74, +0x6f, 0x70, 0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x33, 0x5d, 0x2c, 0x20, 0x74, +0x6f, 0x70, 0x5b, 0x34, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x32, 0x20, +0x3d, 0x20, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x33, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x74, +0x6f, 0x70, 0x5b, 0x33, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x34, 0x5d, 0x20, 0x29, 0x3b, +0x0a, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x32, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x31, 0x2e, 0x73, 0x33, +0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x33, 0x5d, 0x2c, 0x20, 0x74, +0x6f, 0x70, 0x5b, 0x34, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x35, 0x5d, 0x20, 0x29, 0x3b, +0x0a, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x33, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x34, +0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x34, 0x5d, 0x2c, 0x20, 0x74, +0x6f, 0x70, 0x5b, 0x35, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x33, 0x20, +0x3d, 0x20, 0x70, 0x72, 0x31, 0x2e, 0x73, 0x34, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x74, +0x6f, 0x70, 0x5b, 0x34, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x35, 0x5d, 0x2c, 0x20, 0x74, +0x6f, 0x70, 0x5b, 0x36, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x34, 0x20, +0x3d, 0x20, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x35, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x74, +0x6f, 0x70, 0x5b, 0x35, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x36, 0x5d, 0x20, 0x29, 0x3b, +0x0a, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x34, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x31, 0x2e, 0x73, 0x35, +0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x35, 0x5d, 0x2c, 0x20, 0x74, +0x6f, 0x70, 0x5b, 0x36, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x37, 0x5d, 0x20, 0x29, 0x3b, +0x0a, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x35, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x36, +0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x36, 0x5d, 0x2c, 0x20, 0x74, +0x6f, 0x70, 0x5b, 0x37, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x35, 0x20, +0x3d, 0x20, 0x70, 0x72, 0x31, 0x2e, 0x73, 0x36, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x74, +0x6f, 0x70, 0x5b, 0x36, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x37, 0x5d, 0x2c, 0x20, 0x74, +0x6f, 0x70, 0x5b, 0x38, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x36, 0x20, +0x3d, 0x20, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x37, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x74, +0x6f, 0x70, 0x5b, 0x37, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x38, 0x5d, 0x20, 0x29, 0x3b, +0x0a, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x36, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x31, 0x2e, 0x73, 0x37, +0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x37, 0x5d, 0x2c, 0x20, 0x74, +0x6f, 0x70, 0x5b, 0x38, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x39, 0x5d, 0x20, 0x29, 0x3b, +0x0a, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x37, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x74, 0x6f, +0x70, 0x5b, 0x38, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x39, 0x5d, 0x20, 0x29, 0x3b, 0x0a, +0x70, 0x72, 0x33, 0x2e, 0x73, 0x37, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, 0x70, +0x5b, 0x38, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x39, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, +0x5b, 0x31, 0x30, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x73, 0x61, 0x74, 0x64, +0x20, 0x3d, 0x20, 0x73, 0x61, 0x74, 0x64, 0x5f, 0x38, 0x78, 0x34, 0x5f, 0x69, 0x6e, 0x74, 0x72, +0x61, 0x5f, 0x6c, 0x72, 0x28, 0x20, 0x73, 0x72, 0x63, 0x2c, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, +0x74, 0x72, 0x69, 0x64, 0x65, 0x2c, 0x20, 0x70, 0x72, 0x30, 0x2c, 0x20, 0x70, 0x72, 0x31, 0x2c, +0x20, 0x70, 0x72, 0x32, 0x2c, 0x20, 0x70, 0x72, 0x33, 0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x30, +0x2e, 0x73, 0x30, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x32, 0x5d, +0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x33, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x31, 0x2e, +0x73, 0x30, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x32, 0x5d, 0x2c, +0x20, 0x74, 0x6f, 0x70, 0x5b, 0x33, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x34, 0x5d, 0x20, +0x29, 0x3b, 0x0a, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x30, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x30, 0x2e, +0x73, 0x31, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x33, 0x5d, 0x2c, +0x20, 0x74, 0x6f, 0x70, 0x5b, 0x34, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x33, 0x2e, 0x73, +0x30, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x31, 0x2e, 0x73, 0x31, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, +0x20, 0x74, 0x6f, 0x70, 0x5b, 0x33, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x34, 0x5d, 0x2c, +0x20, 0x74, 0x6f, 0x70, 0x5b, 0x35, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x32, 0x2e, 0x73, +0x31, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x32, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, +0x20, 0x74, 0x6f, 0x70, 0x5b, 0x34, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x35, 0x5d, 0x20, +0x29, 0x3b, 0x0a, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x31, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x31, 0x2e, +0x73, 0x32, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x34, 0x5d, 0x2c, +0x20, 0x74, 0x6f, 0x70, 0x5b, 0x35, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x36, 0x5d, 0x20, +0x29, 0x3b, 0x0a, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x32, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x30, 0x2e, +0x73, 0x33, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x35, 0x5d, 0x2c, +0x20, 0x74, 0x6f, 0x70, 0x5b, 0x36, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x33, 0x2e, 0x73, +0x32, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x31, 0x2e, 0x73, 0x33, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, +0x20, 0x74, 0x6f, 0x70, 0x5b, 0x35, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x36, 0x5d, 0x2c, +0x20, 0x74, 0x6f, 0x70, 0x5b, 0x37, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x32, 0x2e, 0x73, +0x33, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x34, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, +0x20, 0x74, 0x6f, 0x70, 0x5b, 0x36, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x37, 0x5d, 0x20, +0x29, 0x3b, 0x0a, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x33, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x31, 0x2e, +0x73, 0x34, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x36, 0x5d, 0x2c, +0x20, 0x74, 0x6f, 0x70, 0x5b, 0x37, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x38, 0x5d, 0x20, +0x29, 0x3b, 0x0a, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x34, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x30, 0x2e, +0x73, 0x35, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x37, 0x5d, 0x2c, +0x20, 0x74, 0x6f, 0x70, 0x5b, 0x38, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x33, 0x2e, 0x73, +0x34, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x31, 0x2e, 0x73, 0x35, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, +0x20, 0x74, 0x6f, 0x70, 0x5b, 0x37, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x38, 0x5d, 0x2c, +0x20, 0x74, 0x6f, 0x70, 0x5b, 0x39, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x32, 0x2e, 0x73, +0x35, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x36, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, +0x20, 0x74, 0x6f, 0x70, 0x5b, 0x38, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x39, 0x5d, 0x20, +0x29, 0x3b, 0x0a, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x35, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x31, 0x2e, +0x73, 0x36, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x38, 0x5d, 0x2c, +0x20, 0x74, 0x6f, 0x70, 0x5b, 0x39, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x30, 0x5d, +0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x36, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x30, +0x2e, 0x73, 0x37, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x39, 0x5d, +0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x30, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x33, +0x2e, 0x73, 0x36, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x31, 0x2e, 0x73, 0x37, 0x20, 0x3d, 0x20, 0x46, +0x32, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x39, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, +0x30, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x31, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x70, +0x72, 0x32, 0x2e, 0x73, 0x37, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, +0x31, 0x30, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x31, 0x5d, 0x20, 0x29, 0x3b, 0x0a, +0x70, 0x72, 0x33, 0x2e, 0x73, 0x37, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, 0x70, +0x5b, 0x31, 0x30, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x31, 0x5d, 0x2c, 0x20, 0x74, +0x6f, 0x70, 0x5b, 0x31, 0x32, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, +0x20, 0x73, 0x61, 0x74, 0x64, 0x20, 0x2b, 0x20, 0x73, 0x61, 0x74, 0x64, 0x5f, 0x38, 0x78, 0x34, +0x5f, 0x69, 0x6e, 0x74, 0x72, 0x61, 0x5f, 0x6c, 0x72, 0x28, 0x20, 0x73, 0x72, 0x63, 0x20, 0x2b, +0x20, 0x28, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x20, 0x3c, 0x3c, +0x20, 0x32, 0x20, 0x29, 0x2c, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, +0x2c, 0x20, 0x70, 0x72, 0x30, 0x2c, 0x20, 0x70, 0x72, 0x31, 0x2c, 0x20, 0x70, 0x72, 0x32, 0x2c, +0x20, 0x70, 0x72, 0x33, 0x20, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x32, +0x36, 0x34, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x5f, 0x38, 0x78, 0x38, 0x5f, 0x68, +0x75, 0x28, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x70, +0x69, 0x78, 0x65, 0x6c, 0x20, 0x2a, 0x73, 0x72, 0x63, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x73, +0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, +0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x2a, 0x6c, 0x65, +0x66, 0x74, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x69, 0x6e, 0x74, 0x38, 0x20, 0x70, 0x72, 0x30, 0x2c, +0x20, 0x70, 0x72, 0x31, 0x2c, 0x20, 0x70, 0x72, 0x32, 0x2c, 0x20, 0x70, 0x72, 0x33, 0x3b, 0x0a, +0x70, 0x72, 0x30, 0x2e, 0x73, 0x30, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x6c, 0x65, 0x66, +0x74, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x31, 0x5d, 0x20, 0x29, 0x3b, +0x20, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x31, 0x20, 0x3d, 0x20, 0x28, 0x6c, 0x65, 0x66, 0x74, 0x5b, +0x30, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x20, 0x2a, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x31, 0x5d, +0x20, 0x2b, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x32, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x29, 0x20, +0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x32, 0x20, 0x3d, 0x20, 0x46, +0x31, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, +0x5b, 0x32, 0x5d, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x33, 0x20, 0x3d, 0x20, +0x28, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x31, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x20, 0x2a, 0x20, 0x6c, +0x65, 0x66, 0x74, 0x5b, 0x32, 0x5d, 0x20, 0x2b, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x33, 0x5d, +0x20, 0x2b, 0x20, 0x32, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, +0x73, 0x34, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x32, 0x5d, +0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x33, 0x5d, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x72, 0x30, +0x2e, 0x73, 0x35, 0x20, 0x3d, 0x20, 0x28, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x32, 0x5d, 0x20, 0x2b, +0x20, 0x32, 0x20, 0x2a, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x33, 0x5d, 0x20, 0x2b, 0x20, 0x6c, +0x65, 0x66, 0x74, 0x5b, 0x34, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, +0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x36, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x6c, +0x65, 0x66, 0x74, 0x5b, 0x33, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x34, 0x5d, 0x20, +0x29, 0x3b, 0x20, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x37, 0x20, 0x3d, 0x20, 0x28, 0x6c, 0x65, 0x66, +0x74, 0x5b, 0x33, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x20, 0x2a, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, +0x34, 0x5d, 0x20, 0x2b, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x35, 0x5d, 0x20, 0x2b, 0x20, 0x32, +0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x31, 0x2e, 0x73, 0x30, 0x20, 0x3d, +0x20, 0x46, 0x31, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x6c, 0x65, +0x66, 0x74, 0x5b, 0x32, 0x5d, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x72, 0x31, 0x2e, 0x73, 0x31, 0x20, +0x3d, 0x20, 0x28, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x31, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x20, 0x2a, +0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x32, 0x5d, 0x20, 0x2b, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, +0x33, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, +0x31, 0x2e, 0x73, 0x32, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, +0x32, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x33, 0x5d, 0x20, 0x29, 0x3b, 0x20, 0x70, +0x72, 0x31, 0x2e, 0x73, 0x33, 0x20, 0x3d, 0x20, 0x28, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x32, 0x5d, +0x20, 0x2b, 0x20, 0x32, 0x20, 0x2a, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x33, 0x5d, 0x20, 0x2b, +0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x34, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x29, 0x20, 0x3e, 0x3e, +0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x31, 0x2e, 0x73, 0x34, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, +0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x33, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x34, +0x5d, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x72, 0x31, 0x2e, 0x73, 0x35, 0x20, 0x3d, 0x20, 0x28, 0x6c, +0x65, 0x66, 0x74, 0x5b, 0x33, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x20, 0x2a, 0x20, 0x6c, 0x65, 0x66, +0x74, 0x5b, 0x34, 0x5d, 0x20, 0x2b, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x35, 0x5d, 0x20, 0x2b, +0x20, 0x32, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x31, 0x2e, 0x73, 0x36, +0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x34, 0x5d, 0x2c, 0x20, +0x6c, 0x65, 0x66, 0x74, 0x5b, 0x35, 0x5d, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x72, 0x31, 0x2e, 0x73, +0x37, 0x20, 0x3d, 0x20, 0x28, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x34, 0x5d, 0x20, 0x2b, 0x20, 0x32, +0x20, 0x2a, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x35, 0x5d, 0x20, 0x2b, 0x20, 0x6c, 0x65, 0x66, +0x74, 0x5b, 0x36, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, +0x70, 0x72, 0x32, 0x2e, 0x73, 0x30, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x6c, 0x65, 0x66, +0x74, 0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x33, 0x5d, 0x20, 0x29, 0x3b, +0x20, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x31, 0x20, 0x3d, 0x20, 0x28, 0x6c, 0x65, 0x66, 0x74, 0x5b, +0x32, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x20, 0x2a, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x33, 0x5d, +0x20, 0x2b, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x34, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x29, 0x20, +0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x32, 0x20, 0x3d, 0x20, 0x46, +0x31, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x33, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, +0x5b, 0x34, 0x5d, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x33, 0x20, 0x3d, 0x20, +0x28, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x33, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x20, 0x2a, 0x20, 0x6c, +0x65, 0x66, 0x74, 0x5b, 0x34, 0x5d, 0x20, 0x2b, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x35, 0x5d, +0x20, 0x2b, 0x20, 0x32, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x32, 0x2e, +0x73, 0x34, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x34, 0x5d, +0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x35, 0x5d, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x72, 0x32, +0x2e, 0x73, 0x35, 0x20, 0x3d, 0x20, 0x28, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x34, 0x5d, 0x20, 0x2b, +0x20, 0x32, 0x20, 0x2a, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x35, 0x5d, 0x20, 0x2b, 0x20, 0x6c, +0x65, 0x66, 0x74, 0x5b, 0x36, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, +0x3b, 0x0a, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x36, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x6c, +0x65, 0x66, 0x74, 0x5b, 0x35, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x36, 0x5d, 0x20, +0x29, 0x3b, 0x20, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x37, 0x20, 0x3d, 0x20, 0x28, 0x6c, 0x65, 0x66, +0x74, 0x5b, 0x35, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x20, 0x2a, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, +0x36, 0x5d, 0x20, 0x2b, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x37, 0x5d, 0x20, 0x2b, 0x20, 0x32, +0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x30, 0x20, 0x3d, +0x20, 0x46, 0x31, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x33, 0x5d, 0x2c, 0x20, 0x6c, 0x65, +0x66, 0x74, 0x5b, 0x34, 0x5d, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x31, 0x20, +0x3d, 0x20, 0x28, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x33, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x20, 0x2a, +0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x34, 0x5d, 0x20, 0x2b, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, +0x35, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, +0x33, 0x2e, 0x73, 0x32, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, +0x34, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x35, 0x5d, 0x20, 0x29, 0x3b, 0x20, 0x70, +0x72, 0x33, 0x2e, 0x73, 0x33, 0x20, 0x3d, 0x20, 0x28, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x34, 0x5d, +0x20, 0x2b, 0x20, 0x32, 0x20, 0x2a, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x35, 0x5d, 0x20, 0x2b, +0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x36, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x29, 0x20, 0x3e, 0x3e, +0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x34, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, +0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x35, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x36, +0x5d, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x35, 0x20, 0x3d, 0x20, 0x28, 0x6c, +0x65, 0x66, 0x74, 0x5b, 0x35, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x20, 0x2a, 0x20, 0x6c, 0x65, 0x66, +0x74, 0x5b, 0x36, 0x5d, 0x20, 0x2b, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x37, 0x5d, 0x20, 0x2b, +0x20, 0x32, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x36, +0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x36, 0x5d, 0x2c, 0x20, +0x6c, 0x65, 0x66, 0x74, 0x5b, 0x37, 0x5d, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x72, 0x33, 0x2e, 0x73, +0x37, 0x20, 0x3d, 0x20, 0x28, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x36, 0x5d, 0x20, 0x2b, 0x20, 0x32, +0x20, 0x2a, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x37, 0x5d, 0x20, 0x2b, 0x20, 0x6c, 0x65, 0x66, +0x74, 0x5b, 0x37, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, +0x69, 0x6e, 0x74, 0x20, 0x73, 0x61, 0x74, 0x64, 0x20, 0x3d, 0x20, 0x73, 0x61, 0x74, 0x64, 0x5f, +0x38, 0x78, 0x34, 0x5f, 0x69, 0x6e, 0x74, 0x72, 0x61, 0x5f, 0x6c, 0x72, 0x28, 0x20, 0x73, 0x72, +0x63, 0x2c, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x2c, 0x20, 0x70, +0x72, 0x30, 0x2c, 0x20, 0x70, 0x72, 0x31, 0x2c, 0x20, 0x70, 0x72, 0x32, 0x2c, 0x20, 0x70, 0x72, +0x33, 0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x30, 0x20, 0x3d, 0x20, 0x46, 0x31, +0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x34, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, +0x35, 0x5d, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x31, 0x20, 0x3d, 0x20, 0x28, +0x6c, 0x65, 0x66, 0x74, 0x5b, 0x34, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x20, 0x2a, 0x20, 0x6c, 0x65, +0x66, 0x74, 0x5b, 0x35, 0x5d, 0x20, 0x2b, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x36, 0x5d, 0x20, +0x2b, 0x20, 0x32, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, 0x73, +0x32, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x35, 0x5d, 0x2c, +0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x36, 0x5d, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x72, 0x30, 0x2e, +0x73, 0x33, 0x20, 0x3d, 0x20, 0x28, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x35, 0x5d, 0x20, 0x2b, 0x20, +0x32, 0x20, 0x2a, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x36, 0x5d, 0x20, 0x2b, 0x20, 0x6c, 0x65, +0x66, 0x74, 0x5b, 0x37, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, +0x0a, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x34, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x6c, 0x65, +0x66, 0x74, 0x5b, 0x36, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x37, 0x5d, 0x20, 0x29, +0x3b, 0x20, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x35, 0x20, 0x3d, 0x20, 0x28, 0x6c, 0x65, 0x66, 0x74, +0x5b, 0x36, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x20, 0x2a, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x37, +0x5d, 0x20, 0x2b, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x37, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x29, +0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x36, 0x20, 0x3d, 0x20, +0x6c, 0x65, 0x66, 0x74, 0x5b, 0x37, 0x5d, 0x3b, 0x20, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x37, 0x20, +0x3d, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x37, 0x5d, 0x3b, 0x0a, 0x70, 0x72, 0x31, 0x2e, 0x73, +0x30, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x35, 0x5d, 0x2c, +0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x36, 0x5d, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x72, 0x31, 0x2e, +0x73, 0x31, 0x20, 0x3d, 0x20, 0x28, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x35, 0x5d, 0x20, 0x2b, 0x20, +0x32, 0x20, 0x2a, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x36, 0x5d, 0x20, 0x2b, 0x20, 0x6c, 0x65, +0x66, 0x74, 0x5b, 0x37, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, +0x0a, 0x70, 0x72, 0x31, 0x2e, 0x73, 0x32, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x6c, 0x65, +0x66, 0x74, 0x5b, 0x36, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x37, 0x5d, 0x20, 0x29, +0x3b, 0x20, 0x70, 0x72, 0x31, 0x2e, 0x73, 0x33, 0x20, 0x3d, 0x20, 0x28, 0x6c, 0x65, 0x66, 0x74, +0x5b, 0x36, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x20, 0x2a, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x37, +0x5d, 0x20, 0x2b, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x37, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x29, +0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x31, 0x2e, 0x73, 0x34, 0x20, 0x3d, 0x20, +0x6c, 0x65, 0x66, 0x74, 0x5b, 0x37, 0x5d, 0x3b, 0x20, 0x70, 0x72, 0x31, 0x2e, 0x73, 0x35, 0x20, +0x3d, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x37, 0x5d, 0x3b, 0x0a, 0x70, 0x72, 0x31, 0x2e, 0x73, +0x36, 0x20, 0x3d, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x37, 0x5d, 0x3b, 0x20, 0x70, 0x72, 0x31, +0x2e, 0x73, 0x37, 0x20, 0x3d, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x37, 0x5d, 0x3b, 0x0a, 0x70, +0x72, 0x32, 0x2e, 0x73, 0x30, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, +0x5b, 0x36, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x37, 0x5d, 0x20, 0x29, 0x3b, 0x20, +0x70, 0x72, 0x32, 0x2e, 0x73, 0x31, 0x20, 0x3d, 0x20, 0x28, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x36, +0x5d, 0x20, 0x2b, 0x20, 0x32, 0x20, 0x2a, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x37, 0x5d, 0x20, +0x2b, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x37, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x29, 0x20, 0x3e, +0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x32, 0x20, 0x3d, 0x20, 0x6c, 0x65, +0x66, 0x74, 0x5b, 0x37, 0x5d, 0x3b, 0x20, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x33, 0x20, 0x3d, 0x20, +0x6c, 0x65, 0x66, 0x74, 0x5b, 0x37, 0x5d, 0x3b, 0x0a, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x34, 0x20, +0x3d, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x37, 0x5d, 0x3b, 0x20, 0x70, 0x72, 0x32, 0x2e, 0x73, +0x35, 0x20, 0x3d, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x37, 0x5d, 0x3b, 0x0a, 0x70, 0x72, 0x32, +0x2e, 0x73, 0x36, 0x20, 0x3d, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x37, 0x5d, 0x3b, 0x20, 0x70, +0x72, 0x32, 0x2e, 0x73, 0x37, 0x20, 0x3d, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x37, 0x5d, 0x3b, +0x0a, 0x70, 0x72, 0x33, 0x20, 0x3d, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x38, 0x29, 0x6c, 0x65, 0x66, +0x74, 0x5b, 0x37, 0x5d, 0x3b, 0x0a, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x61, 0x74, +0x64, 0x20, 0x2b, 0x20, 0x73, 0x61, 0x74, 0x64, 0x5f, 0x38, 0x78, 0x34, 0x5f, 0x69, 0x6e, 0x74, +0x72, 0x61, 0x5f, 0x6c, 0x72, 0x28, 0x20, 0x73, 0x72, 0x63, 0x20, 0x2b, 0x20, 0x28, 0x20, 0x73, +0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x20, 0x3c, 0x3c, 0x20, 0x32, 0x20, 0x29, +0x2c, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x2c, 0x20, 0x70, 0x72, +0x30, 0x2c, 0x20, 0x70, 0x72, 0x31, 0x2c, 0x20, 0x70, 0x72, 0x32, 0x2c, 0x20, 0x70, 0x72, 0x33, +0x20, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, 0x70, +0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x5f, 0x38, 0x78, 0x38, 0x63, 0x5f, 0x68, 0x28, 0x20, 0x63, +0x6f, 0x6e, 0x73, 0x74, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, +0x20, 0x2a, 0x73, 0x72, 0x63, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, +0x74, 0x72, 0x69, 0x64, 0x65, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, +0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x2a, 0x73, 0x72, 0x63, +0x5f, 0x6c, 0x20, 0x3d, 0x20, 0x73, 0x72, 0x63, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x38, 0x20, 0x70, +0x72, 0x30, 0x2c, 0x20, 0x70, 0x72, 0x31, 0x2c, 0x20, 0x70, 0x72, 0x32, 0x2c, 0x20, 0x70, 0x72, +0x33, 0x3b, 0x0a, 0x70, 0x72, 0x30, 0x20, 0x3d, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x38, 0x29, 0x73, +0x72, 0x63, 0x5b, 0x2d, 0x31, 0x5d, 0x3b, 0x20, 0x73, 0x72, 0x63, 0x20, 0x2b, 0x3d, 0x20, 0x73, +0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x3b, 0x0a, 0x70, 0x72, 0x31, 0x20, 0x3d, +0x20, 0x28, 0x69, 0x6e, 0x74, 0x38, 0x29, 0x73, 0x72, 0x63, 0x5b, 0x2d, 0x31, 0x5d, 0x3b, 0x20, +0x73, 0x72, 0x63, 0x20, 0x2b, 0x3d, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, +0x65, 0x3b, 0x0a, 0x70, 0x72, 0x32, 0x20, 0x3d, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x38, 0x29, 0x73, +0x72, 0x63, 0x5b, 0x2d, 0x31, 0x5d, 0x3b, 0x20, 0x73, 0x72, 0x63, 0x20, 0x2b, 0x3d, 0x20, 0x73, +0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x3b, 0x0a, 0x70, 0x72, 0x33, 0x20, 0x3d, +0x20, 0x28, 0x69, 0x6e, 0x74, 0x38, 0x29, 0x73, 0x72, 0x63, 0x5b, 0x2d, 0x31, 0x5d, 0x3b, 0x20, +0x73, 0x72, 0x63, 0x20, 0x2b, 0x3d, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, +0x65, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x73, 0x61, 0x74, 0x64, 0x20, 0x3d, 0x20, 0x73, 0x61, +0x74, 0x64, 0x5f, 0x38, 0x78, 0x34, 0x5f, 0x69, 0x6e, 0x74, 0x72, 0x61, 0x5f, 0x6c, 0x72, 0x28, +0x20, 0x73, 0x72, 0x63, 0x5f, 0x6c, 0x2c, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, +0x64, 0x65, 0x2c, 0x20, 0x70, 0x72, 0x30, 0x2c, 0x20, 0x70, 0x72, 0x31, 0x2c, 0x20, 0x70, 0x72, +0x32, 0x2c, 0x20, 0x70, 0x72, 0x33, 0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x30, 0x20, 0x3d, 0x20, +0x28, 0x69, 0x6e, 0x74, 0x38, 0x29, 0x73, 0x72, 0x63, 0x5b, 0x2d, 0x31, 0x5d, 0x3b, 0x20, 0x73, +0x72, 0x63, 0x20, 0x2b, 0x3d, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, +0x3b, 0x0a, 0x70, 0x72, 0x31, 0x20, 0x3d, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x38, 0x29, 0x73, 0x72, +0x63, 0x5b, 0x2d, 0x31, 0x5d, 0x3b, 0x20, 0x73, 0x72, 0x63, 0x20, 0x2b, 0x3d, 0x20, 0x73, 0x72, +0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x3b, 0x0a, 0x70, 0x72, 0x32, 0x20, 0x3d, 0x20, +0x28, 0x69, 0x6e, 0x74, 0x38, 0x29, 0x73, 0x72, 0x63, 0x5b, 0x2d, 0x31, 0x5d, 0x3b, 0x20, 0x73, +0x72, 0x63, 0x20, 0x2b, 0x3d, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, +0x3b, 0x0a, 0x70, 0x72, 0x33, 0x20, 0x3d, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x38, 0x29, 0x73, 0x72, +0x63, 0x5b, 0x2d, 0x31, 0x5d, 0x3b, 0x0a, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x61, +0x74, 0x64, 0x20, 0x2b, 0x20, 0x73, 0x61, 0x74, 0x64, 0x5f, 0x38, 0x78, 0x34, 0x5f, 0x69, 0x6e, +0x74, 0x72, 0x61, 0x5f, 0x6c, 0x72, 0x28, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x6c, 0x20, 0x2b, 0x20, +0x28, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x20, 0x3c, 0x3c, 0x20, +0x32, 0x20, 0x29, 0x2c, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x2c, +0x20, 0x70, 0x72, 0x30, 0x2c, 0x20, 0x70, 0x72, 0x31, 0x2c, 0x20, 0x70, 0x72, 0x32, 0x2c, 0x20, +0x70, 0x72, 0x33, 0x20, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x32, 0x36, +0x34, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x5f, 0x38, 0x78, 0x38, 0x63, 0x5f, 0x76, +0x28, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x70, 0x69, +0x78, 0x65, 0x6c, 0x20, 0x2a, 0x73, 0x72, 0x63, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x73, 0x72, +0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x69, 0x6e, 0x74, +0x38, 0x20, 0x70, 0x72, 0x65, 0x64, 0x20, 0x3d, 0x20, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, +0x5f, 0x69, 0x6e, 0x74, 0x38, 0x28, 0x20, 0x76, 0x6c, 0x6f, 0x61, 0x64, 0x38, 0x28, 0x20, 0x30, +0x2c, 0x20, 0x26, 0x73, 0x72, 0x63, 0x5b, 0x2d, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, +0x64, 0x65, 0x5d, 0x20, 0x29, 0x29, 0x3b, 0x0a, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, +0x61, 0x74, 0x64, 0x5f, 0x38, 0x78, 0x34, 0x5f, 0x69, 0x6e, 0x74, 0x72, 0x61, 0x5f, 0x6c, 0x72, +0x28, 0x20, 0x73, 0x72, 0x63, 0x2c, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, +0x65, 0x2c, 0x20, 0x70, 0x72, 0x65, 0x64, 0x2c, 0x20, 0x70, 0x72, 0x65, 0x64, 0x2c, 0x20, 0x70, +0x72, 0x65, 0x64, 0x2c, 0x20, 0x70, 0x72, 0x65, 0x64, 0x20, 0x29, 0x20, 0x2b, 0x0a, 0x73, 0x61, +0x74, 0x64, 0x5f, 0x38, 0x78, 0x34, 0x5f, 0x69, 0x6e, 0x74, 0x72, 0x61, 0x5f, 0x6c, 0x72, 0x28, +0x20, 0x73, 0x72, 0x63, 0x20, 0x2b, 0x20, 0x28, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, +0x69, 0x64, 0x65, 0x20, 0x3c, 0x3c, 0x20, 0x32, 0x20, 0x29, 0x2c, 0x20, 0x73, 0x72, 0x63, 0x5f, +0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x2c, 0x20, 0x70, 0x72, 0x65, 0x64, 0x2c, 0x20, 0x70, 0x72, +0x65, 0x64, 0x2c, 0x20, 0x70, 0x72, 0x65, 0x64, 0x2c, 0x20, 0x70, 0x72, 0x65, 0x64, 0x20, 0x29, +0x3b, 0x0a, 0x7d, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, 0x70, 0x72, 0x65, +0x64, 0x69, 0x63, 0x74, 0x5f, 0x38, 0x78, 0x38, 0x63, 0x5f, 0x70, 0x28, 0x20, 0x63, 0x6f, 0x6e, +0x73, 0x74, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x2a, +0x73, 0x72, 0x63, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, +0x69, 0x64, 0x65, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x48, 0x20, 0x3d, 0x20, +0x30, 0x2c, 0x20, 0x56, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x66, 0x6f, 0x72, 0x28, 0x20, 0x69, +0x6e, 0x74, 0x20, 0x69, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x20, 0x69, 0x20, 0x3c, 0x20, 0x34, 0x3b, +0x20, 0x69, 0x2b, 0x2b, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x48, 0x20, 0x2b, 0x3d, 0x20, 0x28, 0x69, +0x20, 0x2b, 0x20, 0x31, 0x29, 0x20, 0x2a, 0x20, 0x28, 0x73, 0x72, 0x63, 0x5b, 0x34, 0x20, 0x2b, +0x20, 0x69, 0x20, 0x2d, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x5d, +0x20, 0x2d, 0x20, 0x73, 0x72, 0x63, 0x5b, 0x32, 0x20, 0x2d, 0x20, 0x69, 0x20, 0x2d, 0x20, 0x73, +0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x5d, 0x29, 0x3b, 0x0a, 0x56, 0x20, 0x2b, +0x3d, 0x20, 0x28, 0x69, 0x20, 0x2b, 0x20, 0x31, 0x29, 0x20, 0x2a, 0x20, 0x28, 0x73, 0x72, 0x63, +0x5b, 0x2d, 0x31, 0x20, 0x2b, 0x20, 0x28, 0x69, 0x20, 0x2b, 0x20, 0x34, 0x29, 0x20, 0x2a, 0x20, +0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x5d, 0x20, 0x2d, 0x20, 0x73, 0x72, +0x63, 0x5b, 0x2d, 0x31, 0x20, 0x2b, 0x20, 0x28, 0x32, 0x20, 0x2d, 0x20, 0x69, 0x29, 0x20, 0x2a, +0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x5d, 0x29, 0x3b, 0x0a, 0x7d, +0x0a, 0x69, 0x6e, 0x74, 0x20, 0x61, 0x20, 0x3d, 0x20, 0x31, 0x36, 0x20, 0x2a, 0x20, 0x28, 0x73, +0x72, 0x63, 0x5b, 0x2d, 0x31, 0x20, 0x2b, 0x20, 0x37, 0x20, 0x2a, 0x20, 0x73, 0x72, 0x63, 0x5f, +0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x5d, 0x20, 0x2b, 0x20, 0x73, 0x72, 0x63, 0x5b, 0x37, 0x20, +0x2d, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x5d, 0x29, 0x3b, 0x0a, +0x69, 0x6e, 0x74, 0x20, 0x62, 0x20, 0x3d, 0x20, 0x28, 0x31, 0x37, 0x20, 0x2a, 0x20, 0x48, 0x20, +0x2b, 0x20, 0x31, 0x36, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x35, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, +0x63, 0x20, 0x3d, 0x20, 0x28, 0x31, 0x37, 0x20, 0x2a, 0x20, 0x56, 0x20, 0x2b, 0x20, 0x31, 0x36, +0x29, 0x20, 0x3e, 0x3e, 0x20, 0x35, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x30, 0x30, 0x20, +0x3d, 0x20, 0x61, 0x20, 0x2d, 0x20, 0x33, 0x20, 0x2a, 0x20, 0x62, 0x20, 0x2d, 0x20, 0x33, 0x20, +0x2a, 0x20, 0x63, 0x20, 0x2b, 0x20, 0x31, 0x36, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x70, 0x69, +0x78, 0x20, 0x3d, 0x20, 0x69, 0x30, 0x30, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x38, 0x20, 0x70, 0x72, +0x30, 0x2c, 0x20, 0x70, 0x72, 0x31, 0x2c, 0x20, 0x70, 0x72, 0x32, 0x2c, 0x20, 0x70, 0x72, 0x33, +0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x30, 0x20, 0x3d, 0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, +0x63, 0x6c, 0x69, 0x70, 0x5f, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x28, 0x20, 0x70, 0x69, 0x78, 0x20, +0x3e, 0x3e, 0x20, 0x35, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x69, 0x78, 0x20, 0x2b, 0x3d, 0x20, 0x62, +0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x31, 0x20, 0x3d, 0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, +0x63, 0x6c, 0x69, 0x70, 0x5f, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x28, 0x20, 0x70, 0x69, 0x78, 0x20, +0x3e, 0x3e, 0x20, 0x35, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x69, 0x78, 0x20, 0x2b, 0x3d, 0x20, 0x62, +0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x32, 0x20, 0x3d, 0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, +0x63, 0x6c, 0x69, 0x70, 0x5f, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x28, 0x20, 0x70, 0x69, 0x78, 0x20, +0x3e, 0x3e, 0x20, 0x35, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x69, 0x78, 0x20, 0x2b, 0x3d, 0x20, 0x62, +0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x33, 0x20, 0x3d, 0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, +0x63, 0x6c, 0x69, 0x70, 0x5f, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x28, 0x20, 0x70, 0x69, 0x78, 0x20, +0x3e, 0x3e, 0x20, 0x35, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x69, 0x78, 0x20, 0x2b, 0x3d, 0x20, 0x62, +0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x34, 0x20, 0x3d, 0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, +0x63, 0x6c, 0x69, 0x70, 0x5f, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x28, 0x20, 0x70, 0x69, 0x78, 0x20, +0x3e, 0x3e, 0x20, 0x35, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x69, 0x78, 0x20, 0x2b, 0x3d, 0x20, 0x62, +0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x35, 0x20, 0x3d, 0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, +0x63, 0x6c, 0x69, 0x70, 0x5f, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x28, 0x20, 0x70, 0x69, 0x78, 0x20, +0x3e, 0x3e, 0x20, 0x35, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x69, 0x78, 0x20, 0x2b, 0x3d, 0x20, 0x62, +0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x36, 0x20, 0x3d, 0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, +0x63, 0x6c, 0x69, 0x70, 0x5f, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x28, 0x20, 0x70, 0x69, 0x78, 0x20, +0x3e, 0x3e, 0x20, 0x35, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x69, 0x78, 0x20, 0x2b, 0x3d, 0x20, 0x62, +0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x37, 0x20, 0x3d, 0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, +0x63, 0x6c, 0x69, 0x70, 0x5f, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x28, 0x20, 0x70, 0x69, 0x78, 0x20, +0x3e, 0x3e, 0x20, 0x35, 0x20, 0x29, 0x3b, 0x20, 0x69, 0x30, 0x30, 0x20, 0x2b, 0x3d, 0x20, 0x63, +0x3b, 0x0a, 0x70, 0x69, 0x78, 0x20, 0x3d, 0x20, 0x69, 0x30, 0x30, 0x3b, 0x0a, 0x70, 0x72, 0x31, +0x2e, 0x73, 0x30, 0x20, 0x3d, 0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, 0x63, 0x6c, 0x69, 0x70, 0x5f, +0x70, 0x69, 0x78, 0x65, 0x6c, 0x28, 0x20, 0x70, 0x69, 0x78, 0x20, 0x3e, 0x3e, 0x20, 0x35, 0x20, +0x29, 0x3b, 0x20, 0x70, 0x69, 0x78, 0x20, 0x2b, 0x3d, 0x20, 0x62, 0x3b, 0x0a, 0x70, 0x72, 0x31, +0x2e, 0x73, 0x31, 0x20, 0x3d, 0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, 0x63, 0x6c, 0x69, 0x70, 0x5f, +0x70, 0x69, 0x78, 0x65, 0x6c, 0x28, 0x20, 0x70, 0x69, 0x78, 0x20, 0x3e, 0x3e, 0x20, 0x35, 0x20, +0x29, 0x3b, 0x20, 0x70, 0x69, 0x78, 0x20, 0x2b, 0x3d, 0x20, 0x62, 0x3b, 0x0a, 0x70, 0x72, 0x31, +0x2e, 0x73, 0x32, 0x20, 0x3d, 0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, 0x63, 0x6c, 0x69, 0x70, 0x5f, +0x70, 0x69, 0x78, 0x65, 0x6c, 0x28, 0x20, 0x70, 0x69, 0x78, 0x20, 0x3e, 0x3e, 0x20, 0x35, 0x20, +0x29, 0x3b, 0x20, 0x70, 0x69, 0x78, 0x20, 0x2b, 0x3d, 0x20, 0x62, 0x3b, 0x0a, 0x70, 0x72, 0x31, +0x2e, 0x73, 0x33, 0x20, 0x3d, 0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, 0x63, 0x6c, 0x69, 0x70, 0x5f, +0x70, 0x69, 0x78, 0x65, 0x6c, 0x28, 0x20, 0x70, 0x69, 0x78, 0x20, 0x3e, 0x3e, 0x20, 0x35, 0x20, +0x29, 0x3b, 0x20, 0x70, 0x69, 0x78, 0x20, 0x2b, 0x3d, 0x20, 0x62, 0x3b, 0x0a, 0x70, 0x72, 0x31, +0x2e, 0x73, 0x34, 0x20, 0x3d, 0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, 0x63, 0x6c, 0x69, 0x70, 0x5f, +0x70, 0x69, 0x78, 0x65, 0x6c, 0x28, 0x20, 0x70, 0x69, 0x78, 0x20, 0x3e, 0x3e, 0x20, 0x35, 0x20, +0x29, 0x3b, 0x20, 0x70, 0x69, 0x78, 0x20, 0x2b, 0x3d, 0x20, 0x62, 0x3b, 0x0a, 0x70, 0x72, 0x31, +0x2e, 0x73, 0x35, 0x20, 0x3d, 0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, 0x63, 0x6c, 0x69, 0x70, 0x5f, +0x70, 0x69, 0x78, 0x65, 0x6c, 0x28, 0x20, 0x70, 0x69, 0x78, 0x20, 0x3e, 0x3e, 0x20, 0x35, 0x20, +0x29, 0x3b, 0x20, 0x70, 0x69, 0x78, 0x20, 0x2b, 0x3d, 0x20, 0x62, 0x3b, 0x0a, 0x70, 0x72, 0x31, +0x2e, 0x73, 0x36, 0x20, 0x3d, 0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, 0x63, 0x6c, 0x69, 0x70, 0x5f, +0x70, 0x69, 0x78, 0x65, 0x6c, 0x28, 0x20, 0x70, 0x69, 0x78, 0x20, 0x3e, 0x3e, 0x20, 0x35, 0x20, +0x29, 0x3b, 0x20, 0x70, 0x69, 0x78, 0x20, 0x2b, 0x3d, 0x20, 0x62, 0x3b, 0x0a, 0x70, 0x72, 0x31, +0x2e, 0x73, 0x37, 0x20, 0x3d, 0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, 0x63, 0x6c, 0x69, 0x70, 0x5f, +0x70, 0x69, 0x78, 0x65, 0x6c, 0x28, 0x20, 0x70, 0x69, 0x78, 0x20, 0x3e, 0x3e, 0x20, 0x35, 0x20, +0x29, 0x3b, 0x20, 0x69, 0x30, 0x30, 0x20, 0x2b, 0x3d, 0x20, 0x63, 0x3b, 0x0a, 0x70, 0x69, 0x78, +0x20, 0x3d, 0x20, 0x69, 0x30, 0x30, 0x3b, 0x0a, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x30, 0x20, 0x3d, +0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, 0x63, 0x6c, 0x69, 0x70, 0x5f, 0x70, 0x69, 0x78, 0x65, 0x6c, +0x28, 0x20, 0x70, 0x69, 0x78, 0x20, 0x3e, 0x3e, 0x20, 0x35, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x69, +0x78, 0x20, 0x2b, 0x3d, 0x20, 0x62, 0x3b, 0x0a, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x31, 0x20, 0x3d, +0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, 0x63, 0x6c, 0x69, 0x70, 0x5f, 0x70, 0x69, 0x78, 0x65, 0x6c, +0x28, 0x20, 0x70, 0x69, 0x78, 0x20, 0x3e, 0x3e, 0x20, 0x35, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x69, +0x78, 0x20, 0x2b, 0x3d, 0x20, 0x62, 0x3b, 0x0a, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x32, 0x20, 0x3d, +0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, 0x63, 0x6c, 0x69, 0x70, 0x5f, 0x70, 0x69, 0x78, 0x65, 0x6c, +0x28, 0x20, 0x70, 0x69, 0x78, 0x20, 0x3e, 0x3e, 0x20, 0x35, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x69, +0x78, 0x20, 0x2b, 0x3d, 0x20, 0x62, 0x3b, 0x0a, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x33, 0x20, 0x3d, +0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, 0x63, 0x6c, 0x69, 0x70, 0x5f, 0x70, 0x69, 0x78, 0x65, 0x6c, +0x28, 0x20, 0x70, 0x69, 0x78, 0x20, 0x3e, 0x3e, 0x20, 0x35, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x69, +0x78, 0x20, 0x2b, 0x3d, 0x20, 0x62, 0x3b, 0x0a, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x34, 0x20, 0x3d, +0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, 0x63, 0x6c, 0x69, 0x70, 0x5f, 0x70, 0x69, 0x78, 0x65, 0x6c, +0x28, 0x20, 0x70, 0x69, 0x78, 0x20, 0x3e, 0x3e, 0x20, 0x35, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x69, +0x78, 0x20, 0x2b, 0x3d, 0x20, 0x62, 0x3b, 0x0a, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x35, 0x20, 0x3d, +0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, 0x63, 0x6c, 0x69, 0x70, 0x5f, 0x70, 0x69, 0x78, 0x65, 0x6c, +0x28, 0x20, 0x70, 0x69, 0x78, 0x20, 0x3e, 0x3e, 0x20, 0x35, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x69, +0x78, 0x20, 0x2b, 0x3d, 0x20, 0x62, 0x3b, 0x0a, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x36, 0x20, 0x3d, +0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, 0x63, 0x6c, 0x69, 0x70, 0x5f, 0x70, 0x69, 0x78, 0x65, 0x6c, +0x28, 0x20, 0x70, 0x69, 0x78, 0x20, 0x3e, 0x3e, 0x20, 0x35, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x69, +0x78, 0x20, 0x2b, 0x3d, 0x20, 0x62, 0x3b, 0x0a, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x37, 0x20, 0x3d, +0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, 0x63, 0x6c, 0x69, 0x70, 0x5f, 0x70, 0x69, 0x78, 0x65, 0x6c, +0x28, 0x20, 0x70, 0x69, 0x78, 0x20, 0x3e, 0x3e, 0x20, 0x35, 0x20, 0x29, 0x3b, 0x20, 0x69, 0x30, +0x30, 0x20, 0x2b, 0x3d, 0x20, 0x63, 0x3b, 0x0a, 0x70, 0x69, 0x78, 0x20, 0x3d, 0x20, 0x69, 0x30, +0x30, 0x3b, 0x0a, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x30, 0x20, 0x3d, 0x20, 0x78, 0x32, 0x36, 0x34, +0x5f, 0x63, 0x6c, 0x69, 0x70, 0x5f, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x28, 0x20, 0x70, 0x69, 0x78, +0x20, 0x3e, 0x3e, 0x20, 0x35, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x69, 0x78, 0x20, 0x2b, 0x3d, 0x20, +0x62, 0x3b, 0x0a, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x31, 0x20, 0x3d, 0x20, 0x78, 0x32, 0x36, 0x34, +0x5f, 0x63, 0x6c, 0x69, 0x70, 0x5f, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x28, 0x20, 0x70, 0x69, 0x78, +0x20, 0x3e, 0x3e, 0x20, 0x35, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x69, 0x78, 0x20, 0x2b, 0x3d, 0x20, +0x62, 0x3b, 0x0a, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x32, 0x20, 0x3d, 0x20, 0x78, 0x32, 0x36, 0x34, +0x5f, 0x63, 0x6c, 0x69, 0x70, 0x5f, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x28, 0x20, 0x70, 0x69, 0x78, +0x20, 0x3e, 0x3e, 0x20, 0x35, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x69, 0x78, 0x20, 0x2b, 0x3d, 0x20, +0x62, 0x3b, 0x0a, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x33, 0x20, 0x3d, 0x20, 0x78, 0x32, 0x36, 0x34, +0x5f, 0x63, 0x6c, 0x69, 0x70, 0x5f, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x28, 0x20, 0x70, 0x69, 0x78, +0x20, 0x3e, 0x3e, 0x20, 0x35, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x69, 0x78, 0x20, 0x2b, 0x3d, 0x20, +0x62, 0x3b, 0x0a, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x34, 0x20, 0x3d, 0x20, 0x78, 0x32, 0x36, 0x34, +0x5f, 0x63, 0x6c, 0x69, 0x70, 0x5f, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x28, 0x20, 0x70, 0x69, 0x78, +0x20, 0x3e, 0x3e, 0x20, 0x35, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x69, 0x78, 0x20, 0x2b, 0x3d, 0x20, +0x62, 0x3b, 0x0a, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x35, 0x20, 0x3d, 0x20, 0x78, 0x32, 0x36, 0x34, +0x5f, 0x63, 0x6c, 0x69, 0x70, 0x5f, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x28, 0x20, 0x70, 0x69, 0x78, +0x20, 0x3e, 0x3e, 0x20, 0x35, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x69, 0x78, 0x20, 0x2b, 0x3d, 0x20, +0x62, 0x3b, 0x0a, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x36, 0x20, 0x3d, 0x20, 0x78, 0x32, 0x36, 0x34, +0x5f, 0x63, 0x6c, 0x69, 0x70, 0x5f, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x28, 0x20, 0x70, 0x69, 0x78, +0x20, 0x3e, 0x3e, 0x20, 0x35, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x69, 0x78, 0x20, 0x2b, 0x3d, 0x20, +0x62, 0x3b, 0x0a, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x37, 0x20, 0x3d, 0x20, 0x78, 0x32, 0x36, 0x34, +0x5f, 0x63, 0x6c, 0x69, 0x70, 0x5f, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x28, 0x20, 0x70, 0x69, 0x78, +0x20, 0x3e, 0x3e, 0x20, 0x35, 0x20, 0x29, 0x3b, 0x20, 0x69, 0x30, 0x30, 0x20, 0x2b, 0x3d, 0x20, +0x63, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x73, 0x61, 0x74, 0x64, 0x20, 0x3d, 0x20, 0x73, 0x61, +0x74, 0x64, 0x5f, 0x38, 0x78, 0x34, 0x5f, 0x69, 0x6e, 0x74, 0x72, 0x61, 0x5f, 0x6c, 0x72, 0x28, +0x20, 0x73, 0x72, 0x63, 0x2c, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, +0x2c, 0x20, 0x70, 0x72, 0x30, 0x2c, 0x20, 0x70, 0x72, 0x31, 0x2c, 0x20, 0x70, 0x72, 0x32, 0x2c, +0x20, 0x70, 0x72, 0x33, 0x20, 0x29, 0x3b, 0x0a, 0x70, 0x69, 0x78, 0x20, 0x3d, 0x20, 0x69, 0x30, +0x30, 0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x30, 0x20, 0x3d, 0x20, 0x78, 0x32, 0x36, 0x34, +0x5f, 0x63, 0x6c, 0x69, 0x70, 0x5f, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x28, 0x20, 0x70, 0x69, 0x78, +0x20, 0x3e, 0x3e, 0x20, 0x35, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x69, 0x78, 0x20, 0x2b, 0x3d, 0x20, +0x62, 0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x31, 0x20, 0x3d, 0x20, 0x78, 0x32, 0x36, 0x34, +0x5f, 0x63, 0x6c, 0x69, 0x70, 0x5f, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x28, 0x20, 0x70, 0x69, 0x78, +0x20, 0x3e, 0x3e, 0x20, 0x35, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x69, 0x78, 0x20, 0x2b, 0x3d, 0x20, +0x62, 0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x32, 0x20, 0x3d, 0x20, 0x78, 0x32, 0x36, 0x34, +0x5f, 0x63, 0x6c, 0x69, 0x70, 0x5f, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x28, 0x20, 0x70, 0x69, 0x78, +0x20, 0x3e, 0x3e, 0x20, 0x35, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x69, 0x78, 0x20, 0x2b, 0x3d, 0x20, +0x62, 0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x33, 0x20, 0x3d, 0x20, 0x78, 0x32, 0x36, 0x34, +0x5f, 0x63, 0x6c, 0x69, 0x70, 0x5f, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x28, 0x20, 0x70, 0x69, 0x78, +0x20, 0x3e, 0x3e, 0x20, 0x35, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x69, 0x78, 0x20, 0x2b, 0x3d, 0x20, +0x62, 0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x34, 0x20, 0x3d, 0x20, 0x78, 0x32, 0x36, 0x34, +0x5f, 0x63, 0x6c, 0x69, 0x70, 0x5f, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x28, 0x20, 0x70, 0x69, 0x78, +0x20, 0x3e, 0x3e, 0x20, 0x35, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x69, 0x78, 0x20, 0x2b, 0x3d, 0x20, +0x62, 0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x35, 0x20, 0x3d, 0x20, 0x78, 0x32, 0x36, 0x34, +0x5f, 0x63, 0x6c, 0x69, 0x70, 0x5f, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x28, 0x20, 0x70, 0x69, 0x78, +0x20, 0x3e, 0x3e, 0x20, 0x35, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x69, 0x78, 0x20, 0x2b, 0x3d, 0x20, +0x62, 0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x36, 0x20, 0x3d, 0x20, 0x78, 0x32, 0x36, 0x34, +0x5f, 0x63, 0x6c, 0x69, 0x70, 0x5f, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x28, 0x20, 0x70, 0x69, 0x78, +0x20, 0x3e, 0x3e, 0x20, 0x35, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x69, 0x78, 0x20, 0x2b, 0x3d, 0x20, +0x62, 0x3b, 0x0a, 0x70, 0x72, 0x30, 0x2e, 0x73, 0x37, 0x20, 0x3d, 0x20, 0x78, 0x32, 0x36, 0x34, +0x5f, 0x63, 0x6c, 0x69, 0x70, 0x5f, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x28, 0x20, 0x70, 0x69, 0x78, +0x20, 0x3e, 0x3e, 0x20, 0x35, 0x20, 0x29, 0x3b, 0x20, 0x69, 0x30, 0x30, 0x20, 0x2b, 0x3d, 0x20, +0x63, 0x3b, 0x0a, 0x70, 0x69, 0x78, 0x20, 0x3d, 0x20, 0x69, 0x30, 0x30, 0x3b, 0x0a, 0x70, 0x72, +0x31, 0x2e, 0x73, 0x30, 0x20, 0x3d, 0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, 0x63, 0x6c, 0x69, 0x70, +0x5f, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x28, 0x20, 0x70, 0x69, 0x78, 0x20, 0x3e, 0x3e, 0x20, 0x35, +0x20, 0x29, 0x3b, 0x20, 0x70, 0x69, 0x78, 0x20, 0x2b, 0x3d, 0x20, 0x62, 0x3b, 0x0a, 0x70, 0x72, +0x31, 0x2e, 0x73, 0x31, 0x20, 0x3d, 0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, 0x63, 0x6c, 0x69, 0x70, +0x5f, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x28, 0x20, 0x70, 0x69, 0x78, 0x20, 0x3e, 0x3e, 0x20, 0x35, +0x20, 0x29, 0x3b, 0x20, 0x70, 0x69, 0x78, 0x20, 0x2b, 0x3d, 0x20, 0x62, 0x3b, 0x0a, 0x70, 0x72, +0x31, 0x2e, 0x73, 0x32, 0x20, 0x3d, 0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, 0x63, 0x6c, 0x69, 0x70, +0x5f, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x28, 0x20, 0x70, 0x69, 0x78, 0x20, 0x3e, 0x3e, 0x20, 0x35, +0x20, 0x29, 0x3b, 0x20, 0x70, 0x69, 0x78, 0x20, 0x2b, 0x3d, 0x20, 0x62, 0x3b, 0x0a, 0x70, 0x72, +0x31, 0x2e, 0x73, 0x33, 0x20, 0x3d, 0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, 0x63, 0x6c, 0x69, 0x70, +0x5f, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x28, 0x20, 0x70, 0x69, 0x78, 0x20, 0x3e, 0x3e, 0x20, 0x35, +0x20, 0x29, 0x3b, 0x20, 0x70, 0x69, 0x78, 0x20, 0x2b, 0x3d, 0x20, 0x62, 0x3b, 0x0a, 0x70, 0x72, +0x31, 0x2e, 0x73, 0x34, 0x20, 0x3d, 0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, 0x63, 0x6c, 0x69, 0x70, +0x5f, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x28, 0x20, 0x70, 0x69, 0x78, 0x20, 0x3e, 0x3e, 0x20, 0x35, +0x20, 0x29, 0x3b, 0x20, 0x70, 0x69, 0x78, 0x20, 0x2b, 0x3d, 0x20, 0x62, 0x3b, 0x0a, 0x70, 0x72, +0x31, 0x2e, 0x73, 0x35, 0x20, 0x3d, 0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, 0x63, 0x6c, 0x69, 0x70, +0x5f, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x28, 0x20, 0x70, 0x69, 0x78, 0x20, 0x3e, 0x3e, 0x20, 0x35, +0x20, 0x29, 0x3b, 0x20, 0x70, 0x69, 0x78, 0x20, 0x2b, 0x3d, 0x20, 0x62, 0x3b, 0x0a, 0x70, 0x72, +0x31, 0x2e, 0x73, 0x36, 0x20, 0x3d, 0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, 0x63, 0x6c, 0x69, 0x70, +0x5f, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x28, 0x20, 0x70, 0x69, 0x78, 0x20, 0x3e, 0x3e, 0x20, 0x35, +0x20, 0x29, 0x3b, 0x20, 0x70, 0x69, 0x78, 0x20, 0x2b, 0x3d, 0x20, 0x62, 0x3b, 0x0a, 0x70, 0x72, +0x31, 0x2e, 0x73, 0x37, 0x20, 0x3d, 0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, 0x63, 0x6c, 0x69, 0x70, +0x5f, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x28, 0x20, 0x70, 0x69, 0x78, 0x20, 0x3e, 0x3e, 0x20, 0x35, +0x20, 0x29, 0x3b, 0x20, 0x69, 0x30, 0x30, 0x20, 0x2b, 0x3d, 0x20, 0x63, 0x3b, 0x0a, 0x70, 0x69, +0x78, 0x20, 0x3d, 0x20, 0x69, 0x30, 0x30, 0x3b, 0x0a, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x30, 0x20, +0x3d, 0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, 0x63, 0x6c, 0x69, 0x70, 0x5f, 0x70, 0x69, 0x78, 0x65, +0x6c, 0x28, 0x20, 0x70, 0x69, 0x78, 0x20, 0x3e, 0x3e, 0x20, 0x35, 0x20, 0x29, 0x3b, 0x20, 0x70, +0x69, 0x78, 0x20, 0x2b, 0x3d, 0x20, 0x62, 0x3b, 0x0a, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x31, 0x20, +0x3d, 0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, 0x63, 0x6c, 0x69, 0x70, 0x5f, 0x70, 0x69, 0x78, 0x65, +0x6c, 0x28, 0x20, 0x70, 0x69, 0x78, 0x20, 0x3e, 0x3e, 0x20, 0x35, 0x20, 0x29, 0x3b, 0x20, 0x70, +0x69, 0x78, 0x20, 0x2b, 0x3d, 0x20, 0x62, 0x3b, 0x0a, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x32, 0x20, +0x3d, 0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, 0x63, 0x6c, 0x69, 0x70, 0x5f, 0x70, 0x69, 0x78, 0x65, +0x6c, 0x28, 0x20, 0x70, 0x69, 0x78, 0x20, 0x3e, 0x3e, 0x20, 0x35, 0x20, 0x29, 0x3b, 0x20, 0x70, +0x69, 0x78, 0x20, 0x2b, 0x3d, 0x20, 0x62, 0x3b, 0x0a, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x33, 0x20, +0x3d, 0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, 0x63, 0x6c, 0x69, 0x70, 0x5f, 0x70, 0x69, 0x78, 0x65, +0x6c, 0x28, 0x20, 0x70, 0x69, 0x78, 0x20, 0x3e, 0x3e, 0x20, 0x35, 0x20, 0x29, 0x3b, 0x20, 0x70, +0x69, 0x78, 0x20, 0x2b, 0x3d, 0x20, 0x62, 0x3b, 0x0a, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x34, 0x20, +0x3d, 0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, 0x63, 0x6c, 0x69, 0x70, 0x5f, 0x70, 0x69, 0x78, 0x65, +0x6c, 0x28, 0x20, 0x70, 0x69, 0x78, 0x20, 0x3e, 0x3e, 0x20, 0x35, 0x20, 0x29, 0x3b, 0x20, 0x70, +0x69, 0x78, 0x20, 0x2b, 0x3d, 0x20, 0x62, 0x3b, 0x0a, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x35, 0x20, +0x3d, 0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, 0x63, 0x6c, 0x69, 0x70, 0x5f, 0x70, 0x69, 0x78, 0x65, +0x6c, 0x28, 0x20, 0x70, 0x69, 0x78, 0x20, 0x3e, 0x3e, 0x20, 0x35, 0x20, 0x29, 0x3b, 0x20, 0x70, +0x69, 0x78, 0x20, 0x2b, 0x3d, 0x20, 0x62, 0x3b, 0x0a, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x36, 0x20, +0x3d, 0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, 0x63, 0x6c, 0x69, 0x70, 0x5f, 0x70, 0x69, 0x78, 0x65, +0x6c, 0x28, 0x20, 0x70, 0x69, 0x78, 0x20, 0x3e, 0x3e, 0x20, 0x35, 0x20, 0x29, 0x3b, 0x20, 0x70, +0x69, 0x78, 0x20, 0x2b, 0x3d, 0x20, 0x62, 0x3b, 0x0a, 0x70, 0x72, 0x32, 0x2e, 0x73, 0x37, 0x20, +0x3d, 0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, 0x63, 0x6c, 0x69, 0x70, 0x5f, 0x70, 0x69, 0x78, 0x65, +0x6c, 0x28, 0x20, 0x70, 0x69, 0x78, 0x20, 0x3e, 0x3e, 0x20, 0x35, 0x20, 0x29, 0x3b, 0x20, 0x69, +0x30, 0x30, 0x20, 0x2b, 0x3d, 0x20, 0x63, 0x3b, 0x0a, 0x70, 0x69, 0x78, 0x20, 0x3d, 0x20, 0x69, +0x30, 0x30, 0x3b, 0x0a, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x30, 0x20, 0x3d, 0x20, 0x78, 0x32, 0x36, +0x34, 0x5f, 0x63, 0x6c, 0x69, 0x70, 0x5f, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x28, 0x20, 0x70, 0x69, +0x78, 0x20, 0x3e, 0x3e, 0x20, 0x35, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x69, 0x78, 0x20, 0x2b, 0x3d, +0x20, 0x62, 0x3b, 0x0a, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x31, 0x20, 0x3d, 0x20, 0x78, 0x32, 0x36, +0x34, 0x5f, 0x63, 0x6c, 0x69, 0x70, 0x5f, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x28, 0x20, 0x70, 0x69, +0x78, 0x20, 0x3e, 0x3e, 0x20, 0x35, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x69, 0x78, 0x20, 0x2b, 0x3d, +0x20, 0x62, 0x3b, 0x0a, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x32, 0x20, 0x3d, 0x20, 0x78, 0x32, 0x36, +0x34, 0x5f, 0x63, 0x6c, 0x69, 0x70, 0x5f, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x28, 0x20, 0x70, 0x69, +0x78, 0x20, 0x3e, 0x3e, 0x20, 0x35, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x69, 0x78, 0x20, 0x2b, 0x3d, +0x20, 0x62, 0x3b, 0x0a, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x33, 0x20, 0x3d, 0x20, 0x78, 0x32, 0x36, +0x34, 0x5f, 0x63, 0x6c, 0x69, 0x70, 0x5f, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x28, 0x20, 0x70, 0x69, +0x78, 0x20, 0x3e, 0x3e, 0x20, 0x35, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x69, 0x78, 0x20, 0x2b, 0x3d, +0x20, 0x62, 0x3b, 0x0a, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x34, 0x20, 0x3d, 0x20, 0x78, 0x32, 0x36, +0x34, 0x5f, 0x63, 0x6c, 0x69, 0x70, 0x5f, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x28, 0x20, 0x70, 0x69, +0x78, 0x20, 0x3e, 0x3e, 0x20, 0x35, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x69, 0x78, 0x20, 0x2b, 0x3d, +0x20, 0x62, 0x3b, 0x0a, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x35, 0x20, 0x3d, 0x20, 0x78, 0x32, 0x36, +0x34, 0x5f, 0x63, 0x6c, 0x69, 0x70, 0x5f, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x28, 0x20, 0x70, 0x69, +0x78, 0x20, 0x3e, 0x3e, 0x20, 0x35, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x69, 0x78, 0x20, 0x2b, 0x3d, +0x20, 0x62, 0x3b, 0x0a, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x36, 0x20, 0x3d, 0x20, 0x78, 0x32, 0x36, +0x34, 0x5f, 0x63, 0x6c, 0x69, 0x70, 0x5f, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x28, 0x20, 0x70, 0x69, +0x78, 0x20, 0x3e, 0x3e, 0x20, 0x35, 0x20, 0x29, 0x3b, 0x20, 0x70, 0x69, 0x78, 0x20, 0x2b, 0x3d, +0x20, 0x62, 0x3b, 0x0a, 0x70, 0x72, 0x33, 0x2e, 0x73, 0x37, 0x20, 0x3d, 0x20, 0x78, 0x32, 0x36, +0x34, 0x5f, 0x63, 0x6c, 0x69, 0x70, 0x5f, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x28, 0x20, 0x70, 0x69, +0x78, 0x20, 0x3e, 0x3e, 0x20, 0x35, 0x20, 0x29, 0x3b, 0x20, 0x69, 0x30, 0x30, 0x20, 0x2b, 0x3d, +0x20, 0x63, 0x3b, 0x0a, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x61, 0x74, 0x64, 0x20, +0x2b, 0x20, 0x73, 0x61, 0x74, 0x64, 0x5f, 0x38, 0x78, 0x34, 0x5f, 0x69, 0x6e, 0x74, 0x72, 0x61, +0x5f, 0x6c, 0x72, 0x28, 0x20, 0x73, 0x72, 0x63, 0x20, 0x2b, 0x20, 0x28, 0x20, 0x73, 0x72, 0x63, +0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x20, 0x3c, 0x3c, 0x20, 0x32, 0x20, 0x29, 0x2c, 0x20, +0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x2c, 0x20, 0x70, 0x72, 0x30, 0x2c, +0x20, 0x70, 0x72, 0x31, 0x2c, 0x20, 0x70, 0x72, 0x32, 0x2c, 0x20, 0x70, 0x72, 0x33, 0x20, 0x29, +0x3b, 0x0a, 0x7d, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, 0x70, 0x72, 0x65, +0x64, 0x69, 0x63, 0x74, 0x5f, 0x38, 0x78, 0x38, 0x63, 0x5f, 0x64, 0x63, 0x28, 0x20, 0x63, 0x6f, +0x6e, 0x73, 0x74, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, +0x2a, 0x73, 0x72, 0x63, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, +0x72, 0x69, 0x64, 0x65, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x73, 0x30, 0x20, +0x3d, 0x20, 0x30, 0x2c, 0x20, 0x73, 0x31, 0x20, 0x3d, 0x20, 0x30, 0x2c, 0x20, 0x73, 0x32, 0x20, +0x3d, 0x20, 0x30, 0x2c, 0x20, 0x73, 0x33, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x66, 0x6f, 0x72, +0x28, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x20, 0x69, 0x20, 0x3c, +0x20, 0x34, 0x3b, 0x20, 0x69, 0x2b, 0x2b, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x73, 0x30, 0x20, 0x2b, +0x3d, 0x20, 0x73, 0x72, 0x63, 0x5b, 0x69, 0x20, 0x2d, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, +0x72, 0x69, 0x64, 0x65, 0x5d, 0x3b, 0x0a, 0x73, 0x31, 0x20, 0x2b, 0x3d, 0x20, 0x73, 0x72, 0x63, +0x5b, 0x69, 0x20, 0x2b, 0x20, 0x34, 0x20, 0x2d, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, +0x69, 0x64, 0x65, 0x5d, 0x3b, 0x0a, 0x73, 0x32, 0x20, 0x2b, 0x3d, 0x20, 0x73, 0x72, 0x63, 0x5b, +0x2d, 0x31, 0x20, 0x2b, 0x20, 0x69, 0x20, 0x2a, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, +0x69, 0x64, 0x65, 0x5d, 0x3b, 0x0a, 0x73, 0x33, 0x20, 0x2b, 0x3d, 0x20, 0x73, 0x72, 0x63, 0x5b, +0x2d, 0x31, 0x20, 0x2b, 0x20, 0x28, 0x69, 0x2b, 0x34, 0x29, 0x2a, 0x73, 0x72, 0x63, 0x5f, 0x73, +0x74, 0x72, 0x69, 0x64, 0x65, 0x5d, 0x3b, 0x0a, 0x7d, 0x0a, 0x69, 0x6e, 0x74, 0x38, 0x20, 0x64, +0x63, 0x30, 0x3b, 0x0a, 0x64, 0x63, 0x30, 0x2e, 0x6c, 0x6f, 0x20, 0x3d, 0x20, 0x28, 0x69, 0x6e, +0x74, 0x34, 0x29, 0x28, 0x20, 0x28, 0x73, 0x30, 0x20, 0x2b, 0x20, 0x73, 0x32, 0x20, 0x2b, 0x20, +0x34, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x33, 0x20, 0x29, 0x3b, 0x0a, 0x64, 0x63, 0x30, 0x2e, 0x68, +0x69, 0x20, 0x3d, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x34, 0x29, 0x28, 0x20, 0x28, 0x73, 0x31, 0x20, +0x2b, 0x20, 0x32, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x20, 0x29, 0x3b, 0x0a, 0x69, 0x6e, 0x74, +0x20, 0x73, 0x61, 0x74, 0x64, 0x20, 0x3d, 0x20, 0x73, 0x61, 0x74, 0x64, 0x5f, 0x38, 0x78, 0x34, +0x5f, 0x69, 0x6e, 0x74, 0x72, 0x61, 0x5f, 0x6c, 0x72, 0x28, 0x20, 0x73, 0x72, 0x63, 0x2c, 0x20, +0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x2c, 0x20, 0x64, 0x63, 0x30, 0x2c, +0x20, 0x64, 0x63, 0x30, 0x2c, 0x20, 0x64, 0x63, 0x30, 0x2c, 0x20, 0x64, 0x63, 0x30, 0x20, 0x29, +0x3b, 0x0a, 0x64, 0x63, 0x30, 0x2e, 0x6c, 0x6f, 0x20, 0x3d, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x34, +0x29, 0x28, 0x20, 0x28, 0x73, 0x33, 0x20, 0x2b, 0x20, 0x32, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, +0x20, 0x29, 0x3b, 0x0a, 0x64, 0x63, 0x30, 0x2e, 0x68, 0x69, 0x20, 0x3d, 0x20, 0x28, 0x69, 0x6e, +0x74, 0x34, 0x29, 0x28, 0x20, 0x28, 0x73, 0x31, 0x20, 0x2b, 0x20, 0x73, 0x33, 0x20, 0x2b, 0x20, +0x34, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x33, 0x20, 0x29, 0x3b, 0x0a, 0x72, 0x65, 0x74, 0x75, 0x72, +0x6e, 0x20, 0x73, 0x61, 0x74, 0x64, 0x20, 0x2b, 0x20, 0x73, 0x61, 0x74, 0x64, 0x5f, 0x38, 0x78, +0x34, 0x5f, 0x69, 0x6e, 0x74, 0x72, 0x61, 0x5f, 0x6c, 0x72, 0x28, 0x20, 0x73, 0x72, 0x63, 0x20, +0x2b, 0x20, 0x28, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x20, 0x3c, +0x3c, 0x20, 0x32, 0x20, 0x29, 0x2c, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, +0x65, 0x2c, 0x20, 0x64, 0x63, 0x30, 0x2c, 0x20, 0x64, 0x63, 0x30, 0x2c, 0x20, 0x64, 0x63, 0x30, +0x2c, 0x20, 0x64, 0x63, 0x30, 0x20, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x23, 0x65, 0x6c, 0x73, 0x65, +0x20, 0x20, 0x2f, 0x2a, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x69, +0x7a, 0x65, 0x64, 0x3a, 0x20, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x20, 0x69, 0x73, 0x20, +0x63, 0x68, 0x65, 0x61, 0x70, 0x20, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x73, 0x20, +0x61, 0x72, 0x65, 0x20, 0x73, 0x63, 0x61, 0x72, 0x63, 0x65, 0x20, 0x2a, 0x2f, 0x0a, 0x69, 0x6e, +0x74, 0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x5f, 0x38, +0x78, 0x38, 0x5f, 0x64, 0x64, 0x6c, 0x28, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x6c, 0x6f, +0x63, 0x61, 0x6c, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x2a, 0x73, 0x72, 0x63, 0x2c, 0x20, +0x69, 0x6e, 0x74, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x2c, 0x20, +0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x70, 0x69, 0x78, 0x65, +0x6c, 0x20, 0x2a, 0x74, 0x6f, 0x70, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x61, +0x74, 0x65, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x70, 0x72, 0x65, 0x64, 0x5b, 0x33, 0x32, +0x5d, 0x3b, 0x0a, 0x66, 0x6f, 0x72, 0x28, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x79, 0x20, 0x3d, 0x20, +0x30, 0x3b, 0x20, 0x79, 0x20, 0x3c, 0x20, 0x34, 0x3b, 0x20, 0x79, 0x2b, 0x2b, 0x20, 0x29, 0x0a, +0x7b, 0x0a, 0x66, 0x6f, 0x72, 0x28, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x20, 0x3d, 0x20, 0x30, +0x3b, 0x20, 0x78, 0x20, 0x3c, 0x20, 0x38, 0x3b, 0x20, 0x78, 0x2b, 0x2b, 0x20, 0x29, 0x0a, 0x7b, +0x0a, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x78, 0x5f, 0x70, 0x6c, 0x75, 0x73, 0x5f, 0x79, 0x20, +0x3d, 0x20, 0x28, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x29, 0x20, 0x63, 0x6c, 0x61, 0x6d, 0x70, 0x5f, +0x69, 0x6e, 0x74, 0x28, 0x20, 0x78, 0x20, 0x2b, 0x20, 0x79, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x31, +0x33, 0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x5b, 0x78, 0x20, 0x2b, 0x20, 0x79, 0x2a, +0x38, 0x5d, 0x20, 0x3d, 0x20, 0x28, 0x20, 0x32, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x78, +0x5f, 0x70, 0x6c, 0x75, 0x73, 0x5f, 0x79, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x2a, 0x74, 0x6f, 0x70, +0x5b, 0x78, 0x5f, 0x70, 0x6c, 0x75, 0x73, 0x5f, 0x79, 0x20, 0x2b, 0x20, 0x31, 0x5d, 0x20, 0x2b, +0x20, 0x74, 0x6f, 0x70, 0x5b, 0x78, 0x5f, 0x70, 0x6c, 0x75, 0x73, 0x5f, 0x79, 0x20, 0x2b, 0x20, +0x32, 0x5d, 0x20, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x7d, 0x0a, 0x7d, 0x0a, 0x69, +0x6e, 0x74, 0x20, 0x73, 0x61, 0x74, 0x64, 0x20, 0x3d, 0x20, 0x73, 0x61, 0x74, 0x64, 0x5f, 0x38, +0x78, 0x34, 0x5f, 0x6c, 0x70, 0x28, 0x20, 0x73, 0x72, 0x63, 0x2c, 0x20, 0x73, 0x72, 0x63, 0x5f, +0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x2c, 0x20, 0x70, 0x72, 0x65, 0x64, 0x2c, 0x20, 0x38, 0x20, +0x29, 0x3b, 0x0a, 0x66, 0x6f, 0x72, 0x28, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x79, 0x20, 0x3d, 0x20, +0x34, 0x3b, 0x20, 0x79, 0x20, 0x3c, 0x20, 0x38, 0x3b, 0x20, 0x79, 0x2b, 0x2b, 0x20, 0x29, 0x0a, +0x7b, 0x0a, 0x66, 0x6f, 0x72, 0x28, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x20, 0x3d, 0x20, 0x30, +0x3b, 0x20, 0x78, 0x20, 0x3c, 0x20, 0x38, 0x3b, 0x20, 0x78, 0x2b, 0x2b, 0x20, 0x29, 0x0a, 0x7b, +0x0a, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x78, 0x5f, 0x70, 0x6c, 0x75, 0x73, 0x5f, 0x79, 0x20, +0x3d, 0x20, 0x28, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x29, 0x20, 0x63, 0x6c, 0x61, 0x6d, 0x70, 0x5f, +0x69, 0x6e, 0x74, 0x28, 0x20, 0x78, 0x20, 0x2b, 0x20, 0x79, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x31, +0x33, 0x20, 0x29, 0x3b, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x5b, 0x78, 0x20, 0x2b, 0x20, 0x28, 0x20, +0x79, 0x20, 0x2d, 0x20, 0x34, 0x20, 0x29, 0x2a, 0x38, 0x5d, 0x20, 0x3d, 0x20, 0x28, 0x20, 0x32, +0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x78, 0x5f, 0x70, 0x6c, 0x75, 0x73, 0x5f, 0x79, 0x5d, +0x20, 0x2b, 0x20, 0x32, 0x2a, 0x74, 0x6f, 0x70, 0x5b, 0x78, 0x5f, 0x70, 0x6c, 0x75, 0x73, 0x5f, +0x79, 0x20, 0x2b, 0x20, 0x31, 0x5d, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x78, 0x5f, 0x70, +0x6c, 0x75, 0x73, 0x5f, 0x79, 0x20, 0x2b, 0x20, 0x32, 0x5d, 0x20, 0x29, 0x20, 0x3e, 0x3e, 0x20, +0x32, 0x3b, 0x0a, 0x7d, 0x0a, 0x7d, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x5b, 0x33, 0x31, 0x5d, 0x20, +0x3d, 0x20, 0x28, 0x20, 0x32, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x34, 0x5d, 0x20, +0x2b, 0x20, 0x33, 0x2a, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x35, 0x5d, 0x20, 0x29, 0x20, 0x3e, 0x3e, +0x20, 0x32, 0x3b, 0x0a, 0x73, 0x61, 0x74, 0x64, 0x20, 0x2b, 0x3d, 0x20, 0x73, 0x61, 0x74, 0x64, +0x5f, 0x38, 0x78, 0x34, 0x5f, 0x6c, 0x70, 0x28, 0x20, 0x73, 0x72, 0x63, 0x20, 0x2b, 0x20, 0x28, +0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x20, 0x3c, 0x3c, 0x20, 0x32, +0x20, 0x29, 0x2c, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x2c, 0x20, +0x70, 0x72, 0x65, 0x64, 0x2c, 0x20, 0x38, 0x20, 0x29, 0x3b, 0x0a, 0x72, 0x65, 0x74, 0x75, 0x72, +0x6e, 0x20, 0x73, 0x61, 0x74, 0x64, 0x3b, 0x0a, 0x7d, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x32, +0x36, 0x34, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x5f, 0x38, 0x78, 0x38, 0x5f, 0x64, +0x64, 0x72, 0x28, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, +0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x2a, 0x73, 0x72, 0x63, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x20, +0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, +0x74, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x2a, 0x74, +0x6f, 0x70, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, +0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x2a, 0x6c, 0x65, 0x66, 0x74, 0x2c, 0x20, 0x70, 0x69, 0x78, +0x65, 0x6c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x74, 0x6f, 0x70, 0x20, 0x29, 0x0a, 0x7b, 0x0a, +0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x70, 0x72, +0x65, 0x64, 0x5b, 0x33, 0x32, 0x5d, 0x3b, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, +0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x78, 0x2c, 0x20, 0x79, 0x20, 0x29, 0x20, 0x70, 0x72, 0x65, +0x64, 0x5b, 0x28, 0x78, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x79, 0x29, 0x2a, 0x38, 0x5d, 0x0a, 0x50, +0x52, 0x45, 0x44, 0x28, 0x20, 0x30, 0x2c, 0x20, 0x33, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x32, +0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, +0x32, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x33, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, +0x52, 0x45, 0x44, 0x28, 0x20, 0x30, 0x2c, 0x20, 0x32, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, +0x45, 0x44, 0x28, 0x20, 0x31, 0x2c, 0x20, 0x33, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, +0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x31, +0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x32, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, +0x45, 0x44, 0x28, 0x20, 0x30, 0x2c, 0x20, 0x31, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, +0x44, 0x28, 0x20, 0x31, 0x2c, 0x20, 0x32, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, +0x28, 0x20, 0x32, 0x2c, 0x20, 0x33, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x6c, +0x65, 0x66, 0x74, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x30, 0x5d, 0x2c, +0x20, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x74, 0x6f, 0x70, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, +0x44, 0x28, 0x20, 0x30, 0x2c, 0x20, 0x30, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, +0x28, 0x20, 0x31, 0x2c, 0x20, 0x31, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, +0x20, 0x32, 0x2c, 0x20, 0x32, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, +0x33, 0x2c, 0x20, 0x33, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x6c, 0x65, 0x66, +0x74, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x74, 0x6f, 0x70, 0x2c, 0x20, +0x74, 0x6f, 0x70, 0x5b, 0x30, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, +0x31, 0x2c, 0x20, 0x30, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x32, +0x2c, 0x20, 0x31, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x33, 0x2c, +0x20, 0x32, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x34, 0x2c, 0x20, +0x33, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x74, +0x6f, 0x70, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, +0x31, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x32, 0x2c, 0x20, 0x30, +0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x33, 0x2c, 0x20, 0x31, 0x20, +0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x34, 0x2c, 0x20, 0x32, 0x20, 0x29, +0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x35, 0x2c, 0x20, 0x33, 0x20, 0x29, 0x20, +0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x74, 0x6f, +0x70, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x32, 0x5d, 0x20, 0x29, 0x3b, 0x0a, +0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x33, 0x2c, 0x20, 0x30, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, +0x52, 0x45, 0x44, 0x28, 0x20, 0x34, 0x2c, 0x20, 0x31, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, +0x45, 0x44, 0x28, 0x20, 0x35, 0x2c, 0x20, 0x32, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, +0x44, 0x28, 0x20, 0x36, 0x2c, 0x20, 0x33, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, +0x74, 0x6f, 0x70, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x32, 0x5d, 0x2c, 0x20, +0x74, 0x6f, 0x70, 0x5b, 0x33, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, +0x34, 0x2c, 0x20, 0x30, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x35, +0x2c, 0x20, 0x31, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x36, 0x2c, +0x20, 0x32, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x37, 0x2c, 0x20, +0x33, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x32, 0x5d, +0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x33, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x34, 0x5d, +0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x35, 0x2c, 0x20, 0x30, 0x20, 0x29, +0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x36, 0x2c, 0x20, 0x31, 0x20, 0x29, 0x20, +0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x37, 0x2c, 0x20, 0x32, 0x20, 0x29, 0x20, 0x3d, +0x20, 0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x33, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, +0x5b, 0x34, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x35, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, +0x52, 0x45, 0x44, 0x28, 0x20, 0x36, 0x2c, 0x20, 0x30, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, +0x45, 0x44, 0x28, 0x20, 0x37, 0x2c, 0x20, 0x31, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, +0x20, 0x74, 0x6f, 0x70, 0x5b, 0x34, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x35, 0x5d, 0x2c, +0x20, 0x74, 0x6f, 0x70, 0x5b, 0x36, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, +0x20, 0x37, 0x2c, 0x20, 0x30, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, +0x70, 0x5b, 0x35, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x36, 0x5d, 0x2c, 0x20, 0x74, 0x6f, +0x70, 0x5b, 0x37, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x73, 0x61, 0x74, 0x64, +0x20, 0x3d, 0x20, 0x73, 0x61, 0x74, 0x64, 0x5f, 0x38, 0x78, 0x34, 0x5f, 0x6c, 0x70, 0x28, 0x20, +0x73, 0x72, 0x63, 0x2c, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x2c, +0x20, 0x70, 0x72, 0x65, 0x64, 0x2c, 0x20, 0x38, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, +0x28, 0x20, 0x30, 0x2c, 0x20, 0x33, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x6c, +0x65, 0x66, 0x74, 0x5b, 0x35, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x36, 0x5d, 0x2c, +0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x37, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, +0x28, 0x20, 0x30, 0x2c, 0x20, 0x32, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, +0x20, 0x31, 0x2c, 0x20, 0x33, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x6c, 0x65, +0x66, 0x74, 0x5b, 0x34, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x35, 0x5d, 0x2c, 0x20, +0x6c, 0x65, 0x66, 0x74, 0x5b, 0x36, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, +0x20, 0x30, 0x2c, 0x20, 0x31, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, +0x31, 0x2c, 0x20, 0x32, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x32, +0x2c, 0x20, 0x33, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, +0x5b, 0x33, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x34, 0x5d, 0x2c, 0x20, 0x6c, 0x65, +0x66, 0x74, 0x5b, 0x35, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x30, +0x2c, 0x20, 0x30, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x31, 0x2c, +0x20, 0x31, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x32, 0x2c, 0x20, +0x32, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x33, 0x2c, 0x20, 0x33, +0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x32, 0x5d, +0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x33, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, +0x34, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x31, 0x2c, 0x20, 0x30, +0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x32, 0x2c, 0x20, 0x31, 0x20, +0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x33, 0x2c, 0x20, 0x32, 0x20, 0x29, +0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x34, 0x2c, 0x20, 0x33, 0x20, 0x29, 0x20, +0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x6c, +0x65, 0x66, 0x74, 0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x33, 0x5d, 0x20, +0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x32, 0x2c, 0x20, 0x30, 0x20, 0x29, 0x20, +0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x33, 0x2c, 0x20, 0x31, 0x20, 0x29, 0x20, 0x3d, +0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x34, 0x2c, 0x20, 0x32, 0x20, 0x29, 0x20, 0x3d, 0x20, +0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x35, 0x2c, 0x20, 0x33, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, +0x32, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, +0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x32, 0x5d, 0x20, 0x29, 0x3b, 0x0a, +0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x33, 0x2c, 0x20, 0x30, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, +0x52, 0x45, 0x44, 0x28, 0x20, 0x34, 0x2c, 0x20, 0x31, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, +0x45, 0x44, 0x28, 0x20, 0x35, 0x2c, 0x20, 0x32, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, +0x44, 0x28, 0x20, 0x36, 0x2c, 0x20, 0x33, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, +0x6c, 0x65, 0x66, 0x74, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x30, 0x5d, +0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x74, 0x6f, 0x70, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, +0x45, 0x44, 0x28, 0x20, 0x34, 0x2c, 0x20, 0x30, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, +0x44, 0x28, 0x20, 0x35, 0x2c, 0x20, 0x31, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, +0x28, 0x20, 0x36, 0x2c, 0x20, 0x32, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, +0x20, 0x37, 0x2c, 0x20, 0x33, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x6c, 0x65, +0x66, 0x74, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x74, 0x6f, 0x70, 0x2c, +0x20, 0x74, 0x6f, 0x70, 0x5b, 0x30, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, +0x20, 0x35, 0x2c, 0x20, 0x30, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, +0x36, 0x2c, 0x20, 0x31, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x37, +0x2c, 0x20, 0x32, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, +0x5f, 0x74, 0x6f, 0x70, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x74, 0x6f, +0x70, 0x5b, 0x31, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x36, 0x2c, +0x20, 0x30, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x37, 0x2c, 0x20, +0x31, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x30, 0x5d, +0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x32, 0x5d, +0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x37, 0x2c, 0x20, 0x30, 0x20, 0x29, +0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x74, +0x6f, 0x70, 0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x33, 0x5d, 0x20, 0x29, 0x3b, +0x0a, 0x73, 0x61, 0x74, 0x64, 0x20, 0x2b, 0x3d, 0x20, 0x73, 0x61, 0x74, 0x64, 0x5f, 0x38, 0x78, +0x34, 0x5f, 0x6c, 0x70, 0x28, 0x20, 0x73, 0x72, 0x63, 0x20, 0x2b, 0x20, 0x28, 0x20, 0x73, 0x72, +0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x20, 0x3c, 0x3c, 0x20, 0x32, 0x20, 0x29, 0x2c, +0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x2c, 0x20, 0x70, 0x72, 0x65, +0x64, 0x2c, 0x20, 0x38, 0x20, 0x29, 0x3b, 0x0a, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, +0x61, 0x74, 0x64, 0x3b, 0x0a, 0x23, 0x75, 0x6e, 0x64, 0x65, 0x66, 0x20, 0x50, 0x52, 0x45, 0x44, +0x0a, 0x7d, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, 0x70, 0x72, 0x65, 0x64, +0x69, 0x63, 0x74, 0x5f, 0x38, 0x78, 0x38, 0x5f, 0x76, 0x72, 0x28, 0x20, 0x63, 0x6f, 0x6e, 0x73, +0x74, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x2a, 0x73, +0x72, 0x63, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, +0x64, 0x65, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, +0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x2a, 0x74, 0x6f, 0x70, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, +0x74, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x2a, 0x6c, +0x65, 0x66, 0x74, 0x2c, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5f, +0x74, 0x6f, 0x70, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x20, +0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x70, 0x72, 0x65, 0x64, 0x5b, 0x33, 0x32, 0x5d, 0x3b, 0x0a, +0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x78, 0x2c, +0x20, 0x79, 0x20, 0x29, 0x20, 0x70, 0x72, 0x65, 0x64, 0x5b, 0x28, 0x78, 0x29, 0x20, 0x2b, 0x20, +0x28, 0x79, 0x29, 0x2a, 0x38, 0x5d, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x30, 0x2c, 0x20, +0x32, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x31, +0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, +0x5f, 0x74, 0x6f, 0x70, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x30, 0x2c, +0x20, 0x33, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, +0x32, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, +0x74, 0x5b, 0x30, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x30, 0x2c, +0x20, 0x31, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x31, 0x2c, 0x20, +0x33, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x30, +0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x74, 0x6f, 0x70, 0x2c, 0x20, 0x74, 0x6f, 0x70, +0x5b, 0x30, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x30, 0x2c, 0x20, +0x30, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x31, 0x2c, 0x20, 0x32, +0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x74, 0x6f, +0x70, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x30, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, +0x44, 0x28, 0x20, 0x31, 0x2c, 0x20, 0x31, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, +0x28, 0x20, 0x32, 0x2c, 0x20, 0x33, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x6c, +0x65, 0x66, 0x74, 0x5f, 0x74, 0x6f, 0x70, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x30, 0x5d, 0x2c, +0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, +0x20, 0x31, 0x2c, 0x20, 0x30, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, +0x32, 0x2c, 0x20, 0x32, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x74, 0x6f, 0x70, +0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, +0x52, 0x45, 0x44, 0x28, 0x20, 0x32, 0x2c, 0x20, 0x31, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, +0x45, 0x44, 0x28, 0x20, 0x33, 0x2c, 0x20, 0x33, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, +0x20, 0x74, 0x6f, 0x70, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x5d, 0x2c, +0x20, 0x74, 0x6f, 0x70, 0x5b, 0x32, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, +0x20, 0x32, 0x2c, 0x20, 0x30, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, +0x33, 0x2c, 0x20, 0x32, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x74, 0x6f, 0x70, +0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x32, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, +0x52, 0x45, 0x44, 0x28, 0x20, 0x33, 0x2c, 0x20, 0x31, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, +0x45, 0x44, 0x28, 0x20, 0x34, 0x2c, 0x20, 0x33, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, +0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x32, 0x5d, 0x2c, +0x20, 0x74, 0x6f, 0x70, 0x5b, 0x33, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, +0x20, 0x33, 0x2c, 0x20, 0x30, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, +0x34, 0x2c, 0x20, 0x32, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x74, 0x6f, 0x70, +0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x33, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, +0x52, 0x45, 0x44, 0x28, 0x20, 0x34, 0x2c, 0x20, 0x31, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, +0x45, 0x44, 0x28, 0x20, 0x35, 0x2c, 0x20, 0x33, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, +0x20, 0x74, 0x6f, 0x70, 0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x33, 0x5d, 0x2c, +0x20, 0x74, 0x6f, 0x70, 0x5b, 0x34, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, +0x20, 0x34, 0x2c, 0x20, 0x30, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, +0x35, 0x2c, 0x20, 0x32, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x74, 0x6f, 0x70, +0x5b, 0x33, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x34, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, +0x52, 0x45, 0x44, 0x28, 0x20, 0x35, 0x2c, 0x20, 0x31, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, +0x45, 0x44, 0x28, 0x20, 0x36, 0x2c, 0x20, 0x33, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, +0x20, 0x74, 0x6f, 0x70, 0x5b, 0x33, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x34, 0x5d, 0x2c, +0x20, 0x74, 0x6f, 0x70, 0x5b, 0x35, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, +0x20, 0x35, 0x2c, 0x20, 0x30, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, +0x36, 0x2c, 0x20, 0x32, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x74, 0x6f, 0x70, +0x5b, 0x34, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x35, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, +0x52, 0x45, 0x44, 0x28, 0x20, 0x36, 0x2c, 0x20, 0x31, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, +0x45, 0x44, 0x28, 0x20, 0x37, 0x2c, 0x20, 0x33, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, +0x20, 0x74, 0x6f, 0x70, 0x5b, 0x34, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x35, 0x5d, 0x2c, +0x20, 0x74, 0x6f, 0x70, 0x5b, 0x36, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, +0x20, 0x36, 0x2c, 0x20, 0x30, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, +0x37, 0x2c, 0x20, 0x32, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x74, 0x6f, 0x70, +0x5b, 0x35, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x36, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, +0x52, 0x45, 0x44, 0x28, 0x20, 0x37, 0x2c, 0x20, 0x31, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x32, +0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x35, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x36, 0x5d, +0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x37, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, +0x28, 0x20, 0x37, 0x2c, 0x20, 0x30, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x74, +0x6f, 0x70, 0x5b, 0x36, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x37, 0x5d, 0x20, 0x29, 0x3b, +0x0a, 0x69, 0x6e, 0x74, 0x20, 0x73, 0x61, 0x74, 0x64, 0x20, 0x3d, 0x20, 0x73, 0x61, 0x74, 0x64, +0x5f, 0x38, 0x78, 0x34, 0x5f, 0x6c, 0x70, 0x28, 0x20, 0x73, 0x72, 0x63, 0x2c, 0x20, 0x73, 0x72, +0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x2c, 0x20, 0x70, 0x72, 0x65, 0x64, 0x2c, 0x20, +0x38, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x30, 0x2c, 0x20, 0x32, 0x20, +0x29, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x35, 0x5d, 0x2c, +0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x34, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x33, +0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x30, 0x2c, 0x20, 0x33, 0x20, +0x29, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x36, 0x5d, 0x2c, +0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x35, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x34, +0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x30, 0x2c, 0x20, 0x30, 0x20, +0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x31, 0x2c, 0x20, 0x32, 0x20, 0x29, +0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x33, 0x5d, 0x2c, 0x20, +0x6c, 0x65, 0x66, 0x74, 0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x31, 0x5d, +0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x30, 0x2c, 0x20, 0x31, 0x20, 0x29, +0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x31, 0x2c, 0x20, 0x33, 0x20, 0x29, 0x20, +0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x34, 0x5d, 0x2c, 0x20, 0x6c, +0x65, 0x66, 0x74, 0x5b, 0x33, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x32, 0x5d, 0x20, +0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x31, 0x2c, 0x20, 0x30, 0x20, 0x29, 0x20, +0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x32, 0x2c, 0x20, 0x32, 0x20, 0x29, 0x20, 0x3d, +0x20, 0x46, 0x32, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x6c, 0x65, +0x66, 0x74, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x74, 0x6f, 0x70, 0x20, +0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x31, 0x2c, 0x20, 0x31, 0x20, 0x29, 0x20, +0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x32, 0x2c, 0x20, 0x33, 0x20, 0x29, 0x20, 0x3d, +0x20, 0x46, 0x32, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x6c, 0x65, +0x66, 0x74, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x30, 0x5d, 0x20, 0x29, +0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x32, 0x2c, 0x20, 0x31, 0x20, 0x29, 0x20, 0x3d, +0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x33, 0x2c, 0x20, 0x33, 0x20, 0x29, 0x20, 0x3d, 0x20, +0x46, 0x32, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, +0x74, 0x5f, 0x74, 0x6f, 0x70, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x30, 0x5d, 0x20, 0x29, 0x3b, +0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x32, 0x2c, 0x20, 0x30, 0x20, 0x29, 0x20, 0x3d, 0x20, +0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x33, 0x2c, 0x20, 0x32, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, +0x31, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x74, 0x6f, 0x70, 0x2c, 0x20, 0x74, 0x6f, 0x70, +0x5b, 0x30, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x33, 0x2c, 0x20, +0x31, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x34, 0x2c, 0x20, 0x33, +0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x74, 0x6f, +0x70, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, +0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x33, 0x2c, 0x20, 0x30, 0x20, +0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x34, 0x2c, 0x20, 0x32, 0x20, 0x29, +0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x74, +0x6f, 0x70, 0x5b, 0x31, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x34, +0x2c, 0x20, 0x31, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x35, 0x2c, +0x20, 0x33, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x30, +0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x32, +0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x34, 0x2c, 0x20, 0x30, 0x20, +0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x35, 0x2c, 0x20, 0x32, 0x20, 0x29, +0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x74, +0x6f, 0x70, 0x5b, 0x32, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x35, +0x2c, 0x20, 0x31, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x36, 0x2c, +0x20, 0x33, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, +0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x33, +0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x35, 0x2c, 0x20, 0x30, 0x20, +0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x36, 0x2c, 0x20, 0x32, 0x20, 0x29, +0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x74, +0x6f, 0x70, 0x5b, 0x33, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x36, +0x2c, 0x20, 0x31, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x37, 0x2c, +0x20, 0x33, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x32, +0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x33, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x34, +0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x36, 0x2c, 0x20, 0x30, 0x20, +0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x37, 0x2c, 0x20, 0x32, 0x20, 0x29, +0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x33, 0x5d, 0x2c, 0x20, 0x74, +0x6f, 0x70, 0x5b, 0x34, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x37, +0x2c, 0x20, 0x31, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, +0x33, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x34, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, +0x35, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x37, 0x2c, 0x20, 0x30, +0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x34, 0x5d, 0x2c, +0x20, 0x74, 0x6f, 0x70, 0x5b, 0x35, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x73, 0x61, 0x74, 0x64, 0x20, +0x2b, 0x3d, 0x20, 0x73, 0x61, 0x74, 0x64, 0x5f, 0x38, 0x78, 0x34, 0x5f, 0x6c, 0x70, 0x28, 0x20, +0x73, 0x72, 0x63, 0x20, 0x2b, 0x20, 0x28, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, +0x64, 0x65, 0x20, 0x3c, 0x3c, 0x20, 0x32, 0x20, 0x29, 0x2c, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, +0x74, 0x72, 0x69, 0x64, 0x65, 0x2c, 0x20, 0x70, 0x72, 0x65, 0x64, 0x2c, 0x20, 0x38, 0x20, 0x29, +0x3b, 0x0a, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x61, 0x74, 0x64, 0x3b, 0x0a, 0x23, +0x75, 0x6e, 0x64, 0x65, 0x66, 0x20, 0x50, 0x52, 0x45, 0x44, 0x0a, 0x7d, 0x0a, 0x69, 0x6e, 0x6c, +0x69, 0x6e, 0x65, 0x20, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x74, 0x20, 0x70, 0x61, 0x63, +0x6b, 0x31, 0x36, 0x74, 0x6f, 0x33, 0x32, 0x28, 0x20, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, +0x74, 0x20, 0x61, 0x2c, 0x20, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x74, 0x20, 0x62, 0x20, +0x29, 0x0a, 0x7b, 0x0a, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x61, 0x20, 0x2b, 0x20, 0x28, +0x62, 0x20, 0x3c, 0x3c, 0x20, 0x31, 0x36, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x69, 0x6e, 0x6c, 0x69, +0x6e, 0x65, 0x20, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x74, 0x20, 0x70, 0x61, 0x63, 0x6b, +0x38, 0x74, 0x6f, 0x31, 0x36, 0x28, 0x20, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x74, 0x20, +0x61, 0x2c, 0x20, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x74, 0x20, 0x62, 0x20, 0x29, 0x0a, +0x7b, 0x0a, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x61, 0x20, 0x2b, 0x20, 0x28, 0x62, 0x20, +0x3c, 0x3c, 0x20, 0x38, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x32, 0x36, +0x34, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x5f, 0x38, 0x78, 0x38, 0x5f, 0x68, 0x64, +0x28, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x70, 0x69, +0x78, 0x65, 0x6c, 0x20, 0x2a, 0x73, 0x72, 0x63, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x73, 0x72, +0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, +0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x2a, 0x74, 0x6f, 0x70, +0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x70, 0x69, +0x78, 0x65, 0x6c, 0x20, 0x2a, 0x6c, 0x65, 0x66, 0x74, 0x2c, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, +0x20, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x74, 0x6f, 0x70, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x70, 0x72, +0x69, 0x76, 0x61, 0x74, 0x65, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x70, 0x72, 0x65, 0x64, +0x5b, 0x33, 0x32, 0x5d, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x73, 0x61, 0x74, 0x64, 0x3b, 0x0a, +0x69, 0x6e, 0x74, 0x20, 0x70, 0x31, 0x20, 0x3d, 0x20, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x38, 0x74, +0x6f, 0x31, 0x36, 0x28, 0x20, 0x28, 0x46, 0x31, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x36, +0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x37, 0x5d, 0x20, 0x29, 0x29, 0x2c, 0x20, 0x28, +0x28, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x35, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x20, 0x2a, 0x20, 0x6c, +0x65, 0x66, 0x74, 0x5b, 0x36, 0x5d, 0x20, 0x2b, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x37, 0x5d, +0x20, 0x2b, 0x20, 0x32, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x29, 0x20, 0x29, 0x3b, 0x0a, 0x69, +0x6e, 0x74, 0x20, 0x70, 0x32, 0x20, 0x3d, 0x20, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x38, 0x74, 0x6f, +0x31, 0x36, 0x28, 0x20, 0x28, 0x46, 0x31, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x35, 0x5d, +0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x36, 0x5d, 0x20, 0x29, 0x29, 0x2c, 0x20, 0x28, 0x28, +0x6c, 0x65, 0x66, 0x74, 0x5b, 0x34, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x20, 0x2a, 0x20, 0x6c, 0x65, +0x66, 0x74, 0x5b, 0x35, 0x5d, 0x20, 0x2b, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x36, 0x5d, 0x20, +0x2b, 0x20, 0x32, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x29, 0x20, 0x29, 0x3b, 0x0a, 0x69, 0x6e, +0x74, 0x20, 0x70, 0x33, 0x20, 0x3d, 0x20, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x38, 0x74, 0x6f, 0x31, +0x36, 0x28, 0x20, 0x28, 0x46, 0x31, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x34, 0x5d, 0x2c, +0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x35, 0x5d, 0x20, 0x29, 0x29, 0x2c, 0x20, 0x28, 0x28, 0x6c, +0x65, 0x66, 0x74, 0x5b, 0x33, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x20, 0x2a, 0x20, 0x6c, 0x65, 0x66, +0x74, 0x5b, 0x34, 0x5d, 0x20, 0x2b, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x35, 0x5d, 0x20, 0x2b, +0x20, 0x32, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x29, 0x20, 0x29, 0x3b, 0x0a, 0x69, 0x6e, 0x74, +0x20, 0x70, 0x34, 0x20, 0x3d, 0x20, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x38, 0x74, 0x6f, 0x31, 0x36, +0x28, 0x20, 0x28, 0x46, 0x31, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x33, 0x5d, 0x2c, 0x20, +0x6c, 0x65, 0x66, 0x74, 0x5b, 0x34, 0x5d, 0x20, 0x29, 0x29, 0x2c, 0x20, 0x28, 0x28, 0x6c, 0x65, +0x66, 0x74, 0x5b, 0x32, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x20, 0x2a, 0x20, 0x6c, 0x65, 0x66, 0x74, +0x5b, 0x33, 0x5d, 0x20, 0x2b, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x34, 0x5d, 0x20, 0x2b, 0x20, +0x32, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x29, 0x20, 0x29, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, +0x70, 0x35, 0x20, 0x3d, 0x20, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x38, 0x74, 0x6f, 0x31, 0x36, 0x28, +0x20, 0x28, 0x46, 0x31, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x6c, +0x65, 0x66, 0x74, 0x5b, 0x33, 0x5d, 0x20, 0x29, 0x29, 0x2c, 0x20, 0x28, 0x28, 0x6c, 0x65, 0x66, +0x74, 0x5b, 0x31, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x20, 0x2a, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, +0x32, 0x5d, 0x20, 0x2b, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x33, 0x5d, 0x20, 0x2b, 0x20, 0x32, +0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x29, 0x20, 0x29, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x70, +0x36, 0x20, 0x3d, 0x20, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x38, 0x74, 0x6f, 0x31, 0x36, 0x28, 0x20, +0x28, 0x46, 0x31, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x6c, 0x65, +0x66, 0x74, 0x5b, 0x32, 0x5d, 0x20, 0x29, 0x29, 0x2c, 0x20, 0x28, 0x28, 0x6c, 0x65, 0x66, 0x74, +0x5b, 0x30, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x20, 0x2a, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x31, +0x5d, 0x20, 0x2b, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x32, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x29, +0x20, 0x3e, 0x3e, 0x20, 0x32, 0x29, 0x20, 0x29, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x70, 0x37, +0x20, 0x3d, 0x20, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x38, 0x74, 0x6f, 0x31, 0x36, 0x28, 0x20, 0x28, +0x46, 0x31, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, +0x74, 0x5b, 0x31, 0x5d, 0x20, 0x29, 0x29, 0x2c, 0x20, 0x28, 0x28, 0x6c, 0x65, 0x66, 0x74, 0x5f, +0x74, 0x6f, 0x70, 0x20, 0x2b, 0x20, 0x32, 0x20, 0x2a, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x30, +0x5d, 0x20, 0x2b, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x31, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x29, +0x20, 0x3e, 0x3e, 0x20, 0x32, 0x29, 0x20, 0x29, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x70, 0x38, +0x20, 0x3d, 0x20, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x38, 0x74, 0x6f, 0x31, 0x36, 0x28, 0x20, 0x28, +0x46, 0x31, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x74, 0x6f, 0x70, 0x2c, 0x20, 0x6c, 0x65, +0x66, 0x74, 0x5b, 0x30, 0x5d, 0x20, 0x29, 0x29, 0x2c, 0x20, 0x28, 0x28, 0x6c, 0x65, 0x66, 0x74, +0x5b, 0x30, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x20, 0x2a, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x74, +0x6f, 0x70, 0x20, 0x2b, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x30, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x29, +0x20, 0x3e, 0x3e, 0x20, 0x32, 0x29, 0x20, 0x29, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x70, 0x39, +0x20, 0x3d, 0x20, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x38, 0x74, 0x6f, 0x31, 0x36, 0x28, 0x20, 0x28, +0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, +0x30, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x74, 0x6f, 0x70, 0x20, 0x29, 0x29, 0x2c, +0x20, 0x28, 0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x74, 0x6f, +0x70, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x30, 0x5d, 0x20, 0x29, 0x29, 0x20, +0x29, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x70, 0x31, 0x30, 0x20, 0x3d, 0x20, 0x20, 0x70, 0x61, +0x63, 0x6b, 0x38, 0x74, 0x6f, 0x31, 0x36, 0x28, 0x20, 0x28, 0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, +0x70, 0x5b, 0x33, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x74, 0x6f, +0x70, 0x5b, 0x31, 0x5d, 0x20, 0x29, 0x29, 0x2c, 0x20, 0x28, 0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, +0x70, 0x5b, 0x34, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x33, 0x5d, 0x2c, 0x20, 0x74, 0x6f, +0x70, 0x5b, 0x32, 0x5d, 0x20, 0x29, 0x29, 0x20, 0x29, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x70, +0x31, 0x31, 0x20, 0x3d, 0x20, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x38, 0x74, 0x6f, 0x31, 0x36, 0x28, +0x20, 0x28, 0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x35, 0x5d, 0x2c, 0x20, 0x74, 0x6f, +0x70, 0x5b, 0x34, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x33, 0x5d, 0x20, 0x29, 0x29, 0x2c, +0x20, 0x28, 0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x36, 0x5d, 0x2c, 0x20, 0x74, 0x6f, +0x70, 0x5b, 0x35, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x34, 0x5d, 0x20, 0x29, 0x29, 0x20, +0x29, 0x3b, 0x0a, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x34, 0x28, 0x20, 0x61, 0x73, 0x5f, 0x75, +0x63, 0x68, 0x61, 0x72, 0x34, 0x28, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x31, 0x36, 0x74, 0x6f, 0x33, +0x32, 0x28, 0x20, 0x70, 0x38, 0x2c, 0x20, 0x70, 0x39, 0x20, 0x29, 0x20, 0x29, 0x2c, 0x20, 0x30, +0x2c, 0x20, 0x26, 0x70, 0x72, 0x65, 0x64, 0x5b, 0x30, 0x20, 0x2b, 0x20, 0x30, 0x20, 0x2a, 0x20, +0x38, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x34, 0x28, 0x20, 0x61, +0x73, 0x5f, 0x75, 0x63, 0x68, 0x61, 0x72, 0x34, 0x28, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x31, 0x36, +0x74, 0x6f, 0x33, 0x32, 0x28, 0x20, 0x70, 0x31, 0x30, 0x2c, 0x20, 0x70, 0x31, 0x31, 0x20, 0x29, +0x20, 0x29, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x26, 0x70, 0x72, 0x65, 0x64, 0x5b, 0x34, 0x20, 0x2b, +0x20, 0x30, 0x20, 0x2a, 0x20, 0x38, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x76, 0x73, 0x74, 0x6f, 0x72, +0x65, 0x34, 0x28, 0x20, 0x61, 0x73, 0x5f, 0x75, 0x63, 0x68, 0x61, 0x72, 0x34, 0x28, 0x20, 0x70, +0x61, 0x63, 0x6b, 0x31, 0x36, 0x74, 0x6f, 0x33, 0x32, 0x28, 0x20, 0x70, 0x37, 0x2c, 0x20, 0x70, +0x38, 0x20, 0x29, 0x20, 0x29, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x26, 0x70, 0x72, 0x65, 0x64, 0x5b, +0x30, 0x20, 0x2b, 0x20, 0x31, 0x20, 0x2a, 0x20, 0x38, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x76, 0x73, +0x74, 0x6f, 0x72, 0x65, 0x34, 0x28, 0x20, 0x61, 0x73, 0x5f, 0x75, 0x63, 0x68, 0x61, 0x72, 0x34, +0x28, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x31, 0x36, 0x74, 0x6f, 0x33, 0x32, 0x28, 0x20, 0x70, 0x39, +0x2c, 0x20, 0x70, 0x31, 0x30, 0x20, 0x29, 0x20, 0x29, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x26, 0x70, +0x72, 0x65, 0x64, 0x5b, 0x34, 0x20, 0x2b, 0x20, 0x31, 0x20, 0x2a, 0x20, 0x38, 0x5d, 0x20, 0x29, +0x3b, 0x0a, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x34, 0x28, 0x20, 0x61, 0x73, 0x5f, 0x75, 0x63, +0x68, 0x61, 0x72, 0x34, 0x28, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x31, 0x36, 0x74, 0x6f, 0x33, 0x32, +0x28, 0x20, 0x70, 0x36, 0x2c, 0x20, 0x70, 0x37, 0x20, 0x29, 0x20, 0x29, 0x2c, 0x20, 0x30, 0x2c, +0x20, 0x26, 0x70, 0x72, 0x65, 0x64, 0x5b, 0x30, 0x20, 0x2b, 0x20, 0x32, 0x20, 0x2a, 0x20, 0x38, +0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x34, 0x28, 0x20, 0x61, 0x73, +0x5f, 0x75, 0x63, 0x68, 0x61, 0x72, 0x34, 0x28, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x31, 0x36, 0x74, +0x6f, 0x33, 0x32, 0x28, 0x20, 0x70, 0x38, 0x2c, 0x20, 0x70, 0x39, 0x20, 0x29, 0x20, 0x29, 0x2c, +0x20, 0x30, 0x2c, 0x20, 0x26, 0x70, 0x72, 0x65, 0x64, 0x5b, 0x34, 0x20, 0x2b, 0x20, 0x32, 0x20, +0x2a, 0x20, 0x38, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x34, 0x28, +0x20, 0x61, 0x73, 0x5f, 0x75, 0x63, 0x68, 0x61, 0x72, 0x34, 0x28, 0x20, 0x70, 0x61, 0x63, 0x6b, +0x31, 0x36, 0x74, 0x6f, 0x33, 0x32, 0x28, 0x20, 0x70, 0x35, 0x2c, 0x20, 0x70, 0x36, 0x20, 0x29, +0x20, 0x29, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x26, 0x70, 0x72, 0x65, 0x64, 0x5b, 0x30, 0x20, 0x2b, +0x20, 0x33, 0x20, 0x2a, 0x20, 0x38, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x76, 0x73, 0x74, 0x6f, 0x72, +0x65, 0x34, 0x28, 0x20, 0x61, 0x73, 0x5f, 0x75, 0x63, 0x68, 0x61, 0x72, 0x34, 0x28, 0x20, 0x70, +0x61, 0x63, 0x6b, 0x31, 0x36, 0x74, 0x6f, 0x33, 0x32, 0x28, 0x20, 0x70, 0x37, 0x2c, 0x20, 0x70, +0x38, 0x20, 0x29, 0x20, 0x29, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x26, 0x70, 0x72, 0x65, 0x64, 0x5b, +0x34, 0x20, 0x2b, 0x20, 0x33, 0x20, 0x2a, 0x20, 0x38, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x73, 0x61, +0x74, 0x64, 0x20, 0x3d, 0x20, 0x73, 0x61, 0x74, 0x64, 0x5f, 0x38, 0x78, 0x34, 0x5f, 0x6c, 0x70, +0x28, 0x20, 0x73, 0x72, 0x63, 0x2c, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, +0x65, 0x2c, 0x20, 0x70, 0x72, 0x65, 0x64, 0x2c, 0x20, 0x38, 0x20, 0x29, 0x3b, 0x0a, 0x76, 0x73, +0x74, 0x6f, 0x72, 0x65, 0x34, 0x28, 0x20, 0x61, 0x73, 0x5f, 0x75, 0x63, 0x68, 0x61, 0x72, 0x34, +0x28, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x31, 0x36, 0x74, 0x6f, 0x33, 0x32, 0x28, 0x20, 0x70, 0x34, +0x2c, 0x20, 0x70, 0x35, 0x20, 0x29, 0x20, 0x29, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x26, 0x70, 0x72, +0x65, 0x64, 0x5b, 0x30, 0x20, 0x2b, 0x20, 0x30, 0x20, 0x2a, 0x20, 0x38, 0x5d, 0x20, 0x29, 0x3b, +0x0a, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x34, 0x28, 0x20, 0x61, 0x73, 0x5f, 0x75, 0x63, 0x68, +0x61, 0x72, 0x34, 0x28, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x31, 0x36, 0x74, 0x6f, 0x33, 0x32, 0x28, +0x20, 0x70, 0x36, 0x2c, 0x20, 0x70, 0x37, 0x20, 0x29, 0x20, 0x29, 0x2c, 0x20, 0x30, 0x2c, 0x20, +0x26, 0x70, 0x72, 0x65, 0x64, 0x5b, 0x34, 0x20, 0x2b, 0x20, 0x30, 0x20, 0x2a, 0x20, 0x38, 0x5d, +0x20, 0x29, 0x3b, 0x0a, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x34, 0x28, 0x20, 0x61, 0x73, 0x5f, +0x75, 0x63, 0x68, 0x61, 0x72, 0x34, 0x28, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x31, 0x36, 0x74, 0x6f, +0x33, 0x32, 0x28, 0x20, 0x70, 0x33, 0x2c, 0x20, 0x70, 0x34, 0x20, 0x29, 0x20, 0x29, 0x2c, 0x20, +0x30, 0x2c, 0x20, 0x26, 0x70, 0x72, 0x65, 0x64, 0x5b, 0x30, 0x20, 0x2b, 0x20, 0x31, 0x20, 0x2a, +0x20, 0x38, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x34, 0x28, 0x20, +0x61, 0x73, 0x5f, 0x75, 0x63, 0x68, 0x61, 0x72, 0x34, 0x28, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x31, +0x36, 0x74, 0x6f, 0x33, 0x32, 0x28, 0x20, 0x70, 0x35, 0x2c, 0x20, 0x70, 0x36, 0x20, 0x29, 0x20, +0x29, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x26, 0x70, 0x72, 0x65, 0x64, 0x5b, 0x34, 0x20, 0x2b, 0x20, +0x31, 0x20, 0x2a, 0x20, 0x38, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, +0x34, 0x28, 0x20, 0x61, 0x73, 0x5f, 0x75, 0x63, 0x68, 0x61, 0x72, 0x34, 0x28, 0x20, 0x70, 0x61, +0x63, 0x6b, 0x31, 0x36, 0x74, 0x6f, 0x33, 0x32, 0x28, 0x20, 0x70, 0x32, 0x2c, 0x20, 0x70, 0x33, +0x20, 0x29, 0x20, 0x29, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x26, 0x70, 0x72, 0x65, 0x64, 0x5b, 0x30, +0x20, 0x2b, 0x20, 0x32, 0x20, 0x2a, 0x20, 0x38, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x76, 0x73, 0x74, +0x6f, 0x72, 0x65, 0x34, 0x28, 0x20, 0x61, 0x73, 0x5f, 0x75, 0x63, 0x68, 0x61, 0x72, 0x34, 0x28, +0x20, 0x70, 0x61, 0x63, 0x6b, 0x31, 0x36, 0x74, 0x6f, 0x33, 0x32, 0x28, 0x20, 0x70, 0x34, 0x2c, +0x20, 0x70, 0x35, 0x20, 0x29, 0x20, 0x29, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x26, 0x70, 0x72, 0x65, +0x64, 0x5b, 0x34, 0x20, 0x2b, 0x20, 0x32, 0x20, 0x2a, 0x20, 0x38, 0x5d, 0x20, 0x29, 0x3b, 0x0a, +0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x34, 0x28, 0x20, 0x61, 0x73, 0x5f, 0x75, 0x63, 0x68, 0x61, +0x72, 0x34, 0x28, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x31, 0x36, 0x74, 0x6f, 0x33, 0x32, 0x28, 0x20, +0x70, 0x31, 0x2c, 0x20, 0x70, 0x32, 0x20, 0x29, 0x20, 0x29, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x26, +0x70, 0x72, 0x65, 0x64, 0x5b, 0x30, 0x20, 0x2b, 0x20, 0x33, 0x20, 0x2a, 0x20, 0x38, 0x5d, 0x20, +0x29, 0x3b, 0x0a, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x34, 0x28, 0x20, 0x61, 0x73, 0x5f, 0x75, +0x63, 0x68, 0x61, 0x72, 0x34, 0x28, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x31, 0x36, 0x74, 0x6f, 0x33, +0x32, 0x28, 0x20, 0x70, 0x33, 0x2c, 0x20, 0x70, 0x34, 0x20, 0x29, 0x20, 0x29, 0x2c, 0x20, 0x30, +0x2c, 0x20, 0x26, 0x70, 0x72, 0x65, 0x64, 0x5b, 0x34, 0x20, 0x2b, 0x20, 0x33, 0x20, 0x2a, 0x20, +0x38, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x73, 0x61, 0x74, 0x64, 0x20, 0x2b, 0x3d, 0x20, 0x73, 0x61, +0x74, 0x64, 0x5f, 0x38, 0x78, 0x34, 0x5f, 0x6c, 0x70, 0x28, 0x20, 0x73, 0x72, 0x63, 0x20, 0x2b, +0x20, 0x28, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x20, 0x3c, 0x3c, +0x20, 0x32, 0x20, 0x29, 0x2c, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, +0x2c, 0x20, 0x70, 0x72, 0x65, 0x64, 0x2c, 0x20, 0x38, 0x20, 0x29, 0x3b, 0x0a, 0x72, 0x65, 0x74, +0x75, 0x72, 0x6e, 0x20, 0x73, 0x61, 0x74, 0x64, 0x3b, 0x0a, 0x7d, 0x0a, 0x69, 0x6e, 0x74, 0x20, +0x78, 0x32, 0x36, 0x34, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x5f, 0x38, 0x78, 0x38, +0x5f, 0x76, 0x6c, 0x28, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, +0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x2a, 0x73, 0x72, 0x63, 0x2c, 0x20, 0x69, 0x6e, 0x74, +0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x2c, 0x20, 0x63, 0x6f, 0x6e, +0x73, 0x74, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x2a, +0x74, 0x6f, 0x70, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x20, +0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x70, 0x72, 0x65, 0x64, 0x5b, 0x33, 0x32, 0x5d, 0x3b, 0x0a, +0x69, 0x6e, 0x74, 0x20, 0x73, 0x61, 0x74, 0x64, 0x3b, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, +0x65, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x78, 0x2c, 0x20, 0x79, 0x20, 0x29, 0x20, 0x70, +0x72, 0x65, 0x64, 0x5b, 0x28, 0x78, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x79, 0x29, 0x2a, 0x38, 0x5d, +0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x30, 0x2c, 0x20, 0x30, 0x20, 0x29, 0x20, 0x3d, 0x20, +0x46, 0x31, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, +0x31, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x30, 0x2c, 0x20, 0x31, +0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x30, 0x5d, 0x2c, +0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x32, 0x5d, 0x20, +0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x30, 0x2c, 0x20, 0x32, 0x20, 0x29, 0x20, +0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x31, 0x2c, 0x20, 0x30, 0x20, 0x29, 0x20, 0x3d, +0x20, 0x46, 0x31, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, +0x5b, 0x32, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x30, 0x2c, 0x20, +0x33, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x31, 0x2c, 0x20, 0x31, +0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x5d, 0x2c, +0x20, 0x74, 0x6f, 0x70, 0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x33, 0x5d, 0x20, +0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x31, 0x2c, 0x20, 0x32, 0x20, 0x29, 0x20, +0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x32, 0x2c, 0x20, 0x30, 0x20, 0x29, 0x20, 0x3d, +0x20, 0x46, 0x31, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, +0x5b, 0x33, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x31, 0x2c, 0x20, +0x33, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x32, 0x2c, 0x20, 0x31, +0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x32, 0x5d, 0x2c, +0x20, 0x74, 0x6f, 0x70, 0x5b, 0x33, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x34, 0x5d, 0x20, +0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x32, 0x2c, 0x20, 0x32, 0x20, 0x29, 0x20, +0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x33, 0x2c, 0x20, 0x30, 0x20, 0x29, 0x20, 0x3d, +0x20, 0x46, 0x31, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x33, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, +0x5b, 0x34, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x32, 0x2c, 0x20, +0x33, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x33, 0x2c, 0x20, 0x31, +0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x33, 0x5d, 0x2c, +0x20, 0x74, 0x6f, 0x70, 0x5b, 0x34, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x35, 0x5d, 0x20, +0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x33, 0x2c, 0x20, 0x32, 0x20, 0x29, 0x20, +0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x34, 0x2c, 0x20, 0x30, 0x20, 0x29, 0x20, 0x3d, +0x20, 0x46, 0x31, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x34, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, +0x5b, 0x35, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x33, 0x2c, 0x20, +0x33, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x34, 0x2c, 0x20, 0x31, +0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x34, 0x5d, 0x2c, +0x20, 0x74, 0x6f, 0x70, 0x5b, 0x35, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x36, 0x5d, 0x20, +0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x34, 0x2c, 0x20, 0x32, 0x20, 0x29, 0x20, +0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x35, 0x2c, 0x20, 0x30, 0x20, 0x29, 0x20, 0x3d, +0x20, 0x46, 0x31, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x35, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, +0x5b, 0x36, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x34, 0x2c, 0x20, +0x33, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x35, 0x2c, 0x20, 0x31, +0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x35, 0x5d, 0x2c, +0x20, 0x74, 0x6f, 0x70, 0x5b, 0x36, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x37, 0x5d, 0x20, +0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x35, 0x2c, 0x20, 0x32, 0x20, 0x29, 0x20, +0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x36, 0x2c, 0x20, 0x30, 0x20, 0x29, 0x20, 0x3d, +0x20, 0x46, 0x31, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x36, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, +0x5b, 0x37, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x35, 0x2c, 0x20, +0x33, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x36, 0x2c, 0x20, 0x31, +0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x36, 0x5d, 0x2c, +0x20, 0x74, 0x6f, 0x70, 0x5b, 0x37, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x38, 0x5d, 0x20, +0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x36, 0x2c, 0x20, 0x32, 0x20, 0x29, 0x20, +0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x37, 0x2c, 0x20, 0x30, 0x20, 0x29, 0x20, 0x3d, +0x20, 0x46, 0x31, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x37, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, +0x5b, 0x38, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x36, 0x2c, 0x20, +0x33, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x37, 0x2c, 0x20, 0x31, +0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x37, 0x5d, 0x2c, +0x20, 0x74, 0x6f, 0x70, 0x5b, 0x38, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x39, 0x5d, 0x20, +0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x37, 0x2c, 0x20, 0x32, 0x20, 0x29, 0x20, +0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x38, 0x5d, 0x2c, 0x20, 0x74, 0x6f, +0x70, 0x5b, 0x39, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x37, 0x2c, +0x20, 0x33, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x38, +0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x39, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, +0x30, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x73, 0x61, 0x74, 0x64, 0x20, 0x3d, 0x20, 0x73, 0x61, 0x74, +0x64, 0x5f, 0x38, 0x78, 0x34, 0x5f, 0x6c, 0x70, 0x28, 0x20, 0x73, 0x72, 0x63, 0x2c, 0x20, 0x73, +0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x2c, 0x20, 0x70, 0x72, 0x65, 0x64, 0x2c, +0x20, 0x38, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x30, 0x2c, 0x20, 0x30, +0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x32, 0x5d, 0x2c, +0x20, 0x74, 0x6f, 0x70, 0x5b, 0x33, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, +0x20, 0x30, 0x2c, 0x20, 0x31, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, +0x70, 0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x33, 0x5d, 0x2c, 0x20, 0x74, 0x6f, +0x70, 0x5b, 0x34, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x30, 0x2c, +0x20, 0x32, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x31, 0x2c, 0x20, +0x30, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x33, 0x5d, +0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x34, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, +0x28, 0x20, 0x30, 0x2c, 0x20, 0x33, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, +0x20, 0x31, 0x2c, 0x20, 0x31, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, +0x70, 0x5b, 0x33, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x34, 0x5d, 0x2c, 0x20, 0x74, 0x6f, +0x70, 0x5b, 0x35, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x31, 0x2c, +0x20, 0x32, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x32, 0x2c, 0x20, +0x30, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x34, 0x5d, +0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x35, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, +0x28, 0x20, 0x31, 0x2c, 0x20, 0x33, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, +0x20, 0x32, 0x2c, 0x20, 0x31, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, +0x70, 0x5b, 0x34, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x35, 0x5d, 0x2c, 0x20, 0x74, 0x6f, +0x70, 0x5b, 0x36, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x32, 0x2c, +0x20, 0x32, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x33, 0x2c, 0x20, +0x30, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x35, 0x5d, +0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x36, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, +0x28, 0x20, 0x32, 0x2c, 0x20, 0x33, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, +0x20, 0x33, 0x2c, 0x20, 0x31, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, +0x70, 0x5b, 0x35, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x36, 0x5d, 0x2c, 0x20, 0x74, 0x6f, +0x70, 0x5b, 0x37, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x33, 0x2c, +0x20, 0x32, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x34, 0x2c, 0x20, +0x30, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x36, 0x5d, +0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x37, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, +0x28, 0x20, 0x33, 0x2c, 0x20, 0x33, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, +0x20, 0x34, 0x2c, 0x20, 0x31, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, +0x70, 0x5b, 0x36, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x37, 0x5d, 0x2c, 0x20, 0x74, 0x6f, +0x70, 0x5b, 0x38, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x34, 0x2c, +0x20, 0x32, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x35, 0x2c, 0x20, +0x30, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x37, 0x5d, +0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x38, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, +0x28, 0x20, 0x34, 0x2c, 0x20, 0x33, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, +0x20, 0x35, 0x2c, 0x20, 0x31, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, +0x70, 0x5b, 0x37, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x38, 0x5d, 0x2c, 0x20, 0x74, 0x6f, +0x70, 0x5b, 0x39, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x35, 0x2c, +0x20, 0x32, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x36, 0x2c, 0x20, +0x30, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x38, 0x5d, +0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x39, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, +0x28, 0x20, 0x35, 0x2c, 0x20, 0x33, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, +0x20, 0x36, 0x2c, 0x20, 0x31, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, +0x70, 0x5b, 0x38, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x39, 0x5d, 0x2c, 0x20, 0x74, 0x6f, +0x70, 0x5b, 0x31, 0x30, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x36, +0x2c, 0x20, 0x32, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x37, 0x2c, +0x20, 0x30, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x39, +0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x30, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, +0x45, 0x44, 0x28, 0x20, 0x36, 0x2c, 0x20, 0x33, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x50, 0x52, 0x45, +0x44, 0x28, 0x20, 0x37, 0x2c, 0x20, 0x31, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, +0x74, 0x6f, 0x70, 0x5b, 0x39, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x30, 0x5d, 0x2c, +0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x31, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, +0x28, 0x20, 0x37, 0x2c, 0x20, 0x32, 0x20, 0x29, 0x20, 0x3d, 0x20, 0x46, 0x31, 0x28, 0x20, 0x74, +0x6f, 0x70, 0x5b, 0x31, 0x30, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x31, 0x5d, 0x20, +0x29, 0x3b, 0x0a, 0x50, 0x52, 0x45, 0x44, 0x28, 0x20, 0x37, 0x2c, 0x20, 0x33, 0x20, 0x29, 0x20, +0x3d, 0x20, 0x46, 0x32, 0x28, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x30, 0x5d, 0x2c, 0x20, 0x74, +0x6f, 0x70, 0x5b, 0x31, 0x31, 0x5d, 0x2c, 0x20, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x32, 0x5d, 0x20, +0x29, 0x3b, 0x0a, 0x73, 0x61, 0x74, 0x64, 0x20, 0x2b, 0x3d, 0x20, 0x73, 0x61, 0x74, 0x64, 0x5f, +0x38, 0x78, 0x34, 0x5f, 0x6c, 0x70, 0x28, 0x20, 0x73, 0x72, 0x63, 0x20, 0x2b, 0x20, 0x28, 0x20, +0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x20, 0x3c, 0x3c, 0x20, 0x32, 0x20, +0x29, 0x2c, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x2c, 0x20, 0x70, +0x72, 0x65, 0x64, 0x2c, 0x20, 0x38, 0x20, 0x29, 0x3b, 0x0a, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, +0x20, 0x73, 0x61, 0x74, 0x64, 0x3b, 0x0a, 0x23, 0x75, 0x6e, 0x64, 0x65, 0x66, 0x20, 0x50, 0x52, +0x45, 0x44, 0x0a, 0x7d, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, 0x70, 0x72, +0x65, 0x64, 0x69, 0x63, 0x74, 0x5f, 0x38, 0x78, 0x38, 0x5f, 0x68, 0x75, 0x28, 0x20, 0x63, 0x6f, +0x6e, 0x73, 0x74, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, +0x2a, 0x73, 0x72, 0x63, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, +0x72, 0x69, 0x64, 0x65, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x6c, 0x6f, 0x63, 0x61, +0x6c, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x2a, 0x6c, 0x65, 0x66, 0x74, 0x20, 0x29, 0x0a, +0x7b, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, +0x70, 0x72, 0x65, 0x64, 0x5b, 0x33, 0x32, 0x5d, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x73, 0x61, +0x74, 0x64, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x70, 0x31, 0x20, 0x3d, 0x20, 0x70, 0x61, 0x63, +0x6b, 0x38, 0x74, 0x6f, 0x31, 0x36, 0x28, 0x20, 0x28, 0x46, 0x31, 0x28, 0x20, 0x6c, 0x65, 0x66, +0x74, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x31, 0x5d, 0x20, 0x29, 0x29, +0x2c, 0x20, 0x28, 0x28, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x30, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x20, +0x2a, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x31, 0x5d, 0x20, 0x2b, 0x20, 0x6c, 0x65, 0x66, 0x74, +0x5b, 0x32, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x29, 0x20, 0x29, +0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x70, 0x32, 0x20, 0x3d, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x38, +0x74, 0x6f, 0x31, 0x36, 0x28, 0x20, 0x28, 0x46, 0x31, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, +0x31, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x32, 0x5d, 0x20, 0x29, 0x29, 0x2c, 0x20, +0x28, 0x28, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x31, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x20, 0x2a, 0x20, +0x6c, 0x65, 0x66, 0x74, 0x5b, 0x32, 0x5d, 0x20, 0x2b, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x33, +0x5d, 0x20, 0x2b, 0x20, 0x32, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x29, 0x20, 0x29, 0x3b, 0x0a, +0x69, 0x6e, 0x74, 0x20, 0x70, 0x33, 0x20, 0x3d, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x38, 0x74, 0x6f, +0x31, 0x36, 0x28, 0x20, 0x28, 0x46, 0x31, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x32, 0x5d, +0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x33, 0x5d, 0x20, 0x29, 0x29, 0x2c, 0x20, 0x28, 0x28, +0x6c, 0x65, 0x66, 0x74, 0x5b, 0x32, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x20, 0x2a, 0x20, 0x6c, 0x65, +0x66, 0x74, 0x5b, 0x33, 0x5d, 0x20, 0x2b, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x34, 0x5d, 0x20, +0x2b, 0x20, 0x32, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x29, 0x20, 0x29, 0x3b, 0x0a, 0x69, 0x6e, +0x74, 0x20, 0x70, 0x34, 0x20, 0x3d, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x38, 0x74, 0x6f, 0x31, 0x36, +0x28, 0x20, 0x28, 0x46, 0x31, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x33, 0x5d, 0x2c, 0x20, +0x6c, 0x65, 0x66, 0x74, 0x5b, 0x34, 0x5d, 0x20, 0x29, 0x29, 0x2c, 0x20, 0x28, 0x28, 0x6c, 0x65, +0x66, 0x74, 0x5b, 0x33, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x20, 0x2a, 0x20, 0x6c, 0x65, 0x66, 0x74, +0x5b, 0x34, 0x5d, 0x20, 0x2b, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x35, 0x5d, 0x20, 0x2b, 0x20, +0x32, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x29, 0x20, 0x29, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, +0x70, 0x35, 0x20, 0x3d, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x38, 0x74, 0x6f, 0x31, 0x36, 0x28, 0x20, +0x28, 0x46, 0x31, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x34, 0x5d, 0x2c, 0x20, 0x6c, 0x65, +0x66, 0x74, 0x5b, 0x35, 0x5d, 0x20, 0x29, 0x29, 0x2c, 0x20, 0x28, 0x28, 0x6c, 0x65, 0x66, 0x74, +0x5b, 0x34, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x20, 0x2a, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x35, +0x5d, 0x20, 0x2b, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x36, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x29, +0x20, 0x3e, 0x3e, 0x20, 0x32, 0x29, 0x20, 0x29, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x70, 0x36, +0x20, 0x3d, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x38, 0x74, 0x6f, 0x31, 0x36, 0x28, 0x20, 0x28, 0x46, +0x31, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x35, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, +0x5b, 0x36, 0x5d, 0x20, 0x29, 0x29, 0x2c, 0x20, 0x28, 0x28, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x35, +0x5d, 0x20, 0x2b, 0x20, 0x32, 0x20, 0x2a, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x36, 0x5d, 0x20, +0x2b, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x37, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x29, 0x20, 0x3e, +0x3e, 0x20, 0x32, 0x29, 0x20, 0x29, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x70, 0x37, 0x20, 0x3d, +0x20, 0x70, 0x61, 0x63, 0x6b, 0x38, 0x74, 0x6f, 0x31, 0x36, 0x28, 0x20, 0x28, 0x46, 0x31, 0x28, +0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x36, 0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x37, +0x5d, 0x20, 0x29, 0x29, 0x2c, 0x20, 0x28, 0x28, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x36, 0x5d, 0x20, +0x2b, 0x20, 0x32, 0x20, 0x2a, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x37, 0x5d, 0x20, 0x2b, 0x20, +0x6c, 0x65, 0x66, 0x74, 0x5b, 0x37, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x29, 0x20, 0x3e, 0x3e, 0x20, +0x32, 0x29, 0x20, 0x29, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x70, 0x38, 0x20, 0x3d, 0x20, 0x70, +0x61, 0x63, 0x6b, 0x38, 0x74, 0x6f, 0x31, 0x36, 0x28, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x37, +0x5d, 0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x37, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x76, 0x73, +0x74, 0x6f, 0x72, 0x65, 0x34, 0x28, 0x20, 0x61, 0x73, 0x5f, 0x75, 0x63, 0x68, 0x61, 0x72, 0x34, +0x28, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x31, 0x36, 0x74, 0x6f, 0x33, 0x32, 0x28, 0x20, 0x70, 0x31, +0x2c, 0x20, 0x70, 0x32, 0x20, 0x29, 0x20, 0x29, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x26, 0x70, 0x72, +0x65, 0x64, 0x5b, 0x28, 0x20, 0x30, 0x20, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x20, 0x30, 0x20, 0x29, +0x20, 0x2a, 0x20, 0x38, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x34, +0x28, 0x20, 0x61, 0x73, 0x5f, 0x75, 0x63, 0x68, 0x61, 0x72, 0x34, 0x28, 0x20, 0x70, 0x61, 0x63, +0x6b, 0x31, 0x36, 0x74, 0x6f, 0x33, 0x32, 0x28, 0x20, 0x70, 0x33, 0x2c, 0x20, 0x70, 0x34, 0x20, +0x29, 0x20, 0x29, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x26, 0x70, 0x72, 0x65, 0x64, 0x5b, 0x28, 0x20, +0x34, 0x20, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x20, 0x30, 0x20, 0x29, 0x20, 0x2a, 0x20, 0x38, 0x5d, +0x20, 0x29, 0x3b, 0x0a, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x34, 0x28, 0x20, 0x61, 0x73, 0x5f, +0x75, 0x63, 0x68, 0x61, 0x72, 0x34, 0x28, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x31, 0x36, 0x74, 0x6f, +0x33, 0x32, 0x28, 0x20, 0x70, 0x32, 0x2c, 0x20, 0x70, 0x33, 0x20, 0x29, 0x20, 0x29, 0x2c, 0x20, +0x30, 0x2c, 0x20, 0x26, 0x70, 0x72, 0x65, 0x64, 0x5b, 0x28, 0x20, 0x30, 0x20, 0x29, 0x20, 0x2b, +0x20, 0x28, 0x20, 0x31, 0x20, 0x29, 0x20, 0x2a, 0x20, 0x38, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x76, +0x73, 0x74, 0x6f, 0x72, 0x65, 0x34, 0x28, 0x20, 0x61, 0x73, 0x5f, 0x75, 0x63, 0x68, 0x61, 0x72, +0x34, 0x28, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x31, 0x36, 0x74, 0x6f, 0x33, 0x32, 0x28, 0x20, 0x70, +0x34, 0x2c, 0x20, 0x70, 0x35, 0x20, 0x29, 0x20, 0x29, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x26, 0x70, +0x72, 0x65, 0x64, 0x5b, 0x28, 0x20, 0x34, 0x20, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x20, 0x31, 0x20, +0x29, 0x20, 0x2a, 0x20, 0x38, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, +0x34, 0x28, 0x20, 0x61, 0x73, 0x5f, 0x75, 0x63, 0x68, 0x61, 0x72, 0x34, 0x28, 0x20, 0x70, 0x61, +0x63, 0x6b, 0x31, 0x36, 0x74, 0x6f, 0x33, 0x32, 0x28, 0x20, 0x70, 0x33, 0x2c, 0x20, 0x70, 0x34, +0x20, 0x29, 0x20, 0x29, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x26, 0x70, 0x72, 0x65, 0x64, 0x5b, 0x28, +0x20, 0x30, 0x20, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x20, 0x32, 0x20, 0x29, 0x20, 0x2a, 0x20, 0x38, +0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x34, 0x28, 0x20, 0x61, 0x73, +0x5f, 0x75, 0x63, 0x68, 0x61, 0x72, 0x34, 0x28, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x31, 0x36, 0x74, +0x6f, 0x33, 0x32, 0x28, 0x20, 0x70, 0x35, 0x2c, 0x20, 0x70, 0x36, 0x20, 0x29, 0x20, 0x29, 0x2c, +0x20, 0x30, 0x2c, 0x20, 0x26, 0x70, 0x72, 0x65, 0x64, 0x5b, 0x28, 0x20, 0x34, 0x20, 0x29, 0x20, +0x2b, 0x20, 0x28, 0x20, 0x32, 0x20, 0x29, 0x20, 0x2a, 0x20, 0x38, 0x5d, 0x20, 0x29, 0x3b, 0x0a, +0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x34, 0x28, 0x20, 0x61, 0x73, 0x5f, 0x75, 0x63, 0x68, 0x61, +0x72, 0x34, 0x28, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x31, 0x36, 0x74, 0x6f, 0x33, 0x32, 0x28, 0x20, +0x70, 0x34, 0x2c, 0x20, 0x70, 0x35, 0x20, 0x29, 0x20, 0x29, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x26, +0x70, 0x72, 0x65, 0x64, 0x5b, 0x28, 0x20, 0x30, 0x20, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x20, 0x33, +0x20, 0x29, 0x20, 0x2a, 0x20, 0x38, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x76, 0x73, 0x74, 0x6f, 0x72, +0x65, 0x34, 0x28, 0x20, 0x61, 0x73, 0x5f, 0x75, 0x63, 0x68, 0x61, 0x72, 0x34, 0x28, 0x20, 0x70, +0x61, 0x63, 0x6b, 0x31, 0x36, 0x74, 0x6f, 0x33, 0x32, 0x28, 0x20, 0x70, 0x36, 0x2c, 0x20, 0x70, +0x37, 0x20, 0x29, 0x20, 0x29, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x26, 0x70, 0x72, 0x65, 0x64, 0x5b, +0x28, 0x20, 0x34, 0x20, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x20, 0x33, 0x20, 0x29, 0x20, 0x2a, 0x20, +0x38, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x73, 0x61, 0x74, 0x64, 0x20, 0x3d, 0x20, 0x73, 0x61, 0x74, +0x64, 0x5f, 0x38, 0x78, 0x34, 0x5f, 0x6c, 0x70, 0x28, 0x20, 0x73, 0x72, 0x63, 0x2c, 0x20, 0x73, +0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x2c, 0x20, 0x70, 0x72, 0x65, 0x64, 0x2c, +0x20, 0x38, 0x20, 0x29, 0x3b, 0x0a, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x34, 0x28, 0x20, 0x61, +0x73, 0x5f, 0x75, 0x63, 0x68, 0x61, 0x72, 0x34, 0x28, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x31, 0x36, +0x74, 0x6f, 0x33, 0x32, 0x28, 0x20, 0x70, 0x35, 0x2c, 0x20, 0x70, 0x36, 0x20, 0x29, 0x20, 0x29, +0x2c, 0x20, 0x30, 0x2c, 0x20, 0x26, 0x70, 0x72, 0x65, 0x64, 0x5b, 0x28, 0x20, 0x30, 0x20, 0x29, +0x20, 0x2b, 0x20, 0x28, 0x20, 0x30, 0x20, 0x29, 0x20, 0x2a, 0x20, 0x38, 0x5d, 0x20, 0x29, 0x3b, +0x0a, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x34, 0x28, 0x20, 0x61, 0x73, 0x5f, 0x75, 0x63, 0x68, +0x61, 0x72, 0x34, 0x28, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x31, 0x36, 0x74, 0x6f, 0x33, 0x32, 0x28, +0x20, 0x70, 0x37, 0x2c, 0x20, 0x70, 0x38, 0x20, 0x29, 0x20, 0x29, 0x2c, 0x20, 0x30, 0x2c, 0x20, +0x26, 0x70, 0x72, 0x65, 0x64, 0x5b, 0x28, 0x20, 0x34, 0x20, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x20, +0x30, 0x20, 0x29, 0x20, 0x2a, 0x20, 0x38, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x76, 0x73, 0x74, 0x6f, +0x72, 0x65, 0x34, 0x28, 0x20, 0x61, 0x73, 0x5f, 0x75, 0x63, 0x68, 0x61, 0x72, 0x34, 0x28, 0x20, +0x70, 0x61, 0x63, 0x6b, 0x31, 0x36, 0x74, 0x6f, 0x33, 0x32, 0x28, 0x20, 0x70, 0x36, 0x2c, 0x20, +0x70, 0x37, 0x20, 0x29, 0x20, 0x29, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x26, 0x70, 0x72, 0x65, 0x64, +0x5b, 0x28, 0x20, 0x30, 0x20, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x20, 0x31, 0x20, 0x29, 0x20, 0x2a, +0x20, 0x38, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x34, 0x28, 0x20, +0x61, 0x73, 0x5f, 0x75, 0x63, 0x68, 0x61, 0x72, 0x34, 0x28, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x31, +0x36, 0x74, 0x6f, 0x33, 0x32, 0x28, 0x20, 0x70, 0x38, 0x2c, 0x20, 0x70, 0x38, 0x20, 0x29, 0x20, +0x29, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x26, 0x70, 0x72, 0x65, 0x64, 0x5b, 0x28, 0x20, 0x34, 0x20, +0x29, 0x20, 0x2b, 0x20, 0x28, 0x20, 0x31, 0x20, 0x29, 0x20, 0x2a, 0x20, 0x38, 0x5d, 0x20, 0x29, +0x3b, 0x0a, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x34, 0x28, 0x20, 0x61, 0x73, 0x5f, 0x75, 0x63, +0x68, 0x61, 0x72, 0x34, 0x28, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x31, 0x36, 0x74, 0x6f, 0x33, 0x32, +0x28, 0x20, 0x70, 0x37, 0x2c, 0x20, 0x70, 0x38, 0x20, 0x29, 0x20, 0x29, 0x2c, 0x20, 0x30, 0x2c, +0x20, 0x26, 0x70, 0x72, 0x65, 0x64, 0x5b, 0x28, 0x20, 0x30, 0x20, 0x29, 0x20, 0x2b, 0x20, 0x28, +0x20, 0x32, 0x20, 0x29, 0x20, 0x2a, 0x20, 0x38, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x76, 0x73, 0x74, +0x6f, 0x72, 0x65, 0x34, 0x28, 0x20, 0x61, 0x73, 0x5f, 0x75, 0x63, 0x68, 0x61, 0x72, 0x34, 0x28, +0x20, 0x70, 0x61, 0x63, 0x6b, 0x31, 0x36, 0x74, 0x6f, 0x33, 0x32, 0x28, 0x20, 0x70, 0x38, 0x2c, +0x20, 0x70, 0x38, 0x20, 0x29, 0x20, 0x29, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x26, 0x70, 0x72, 0x65, +0x64, 0x5b, 0x28, 0x20, 0x34, 0x20, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x20, 0x32, 0x20, 0x29, 0x20, +0x2a, 0x20, 0x38, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x34, 0x28, +0x20, 0x61, 0x73, 0x5f, 0x75, 0x63, 0x68, 0x61, 0x72, 0x34, 0x28, 0x20, 0x70, 0x61, 0x63, 0x6b, +0x31, 0x36, 0x74, 0x6f, 0x33, 0x32, 0x28, 0x20, 0x70, 0x38, 0x2c, 0x20, 0x70, 0x38, 0x20, 0x29, +0x20, 0x29, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x26, 0x70, 0x72, 0x65, 0x64, 0x5b, 0x28, 0x20, 0x30, +0x20, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x20, 0x33, 0x20, 0x29, 0x20, 0x2a, 0x20, 0x38, 0x5d, 0x20, +0x29, 0x3b, 0x0a, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x34, 0x28, 0x20, 0x61, 0x73, 0x5f, 0x75, +0x63, 0x68, 0x61, 0x72, 0x34, 0x28, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x31, 0x36, 0x74, 0x6f, 0x33, +0x32, 0x28, 0x20, 0x70, 0x38, 0x2c, 0x20, 0x70, 0x38, 0x20, 0x29, 0x20, 0x29, 0x2c, 0x20, 0x30, +0x2c, 0x20, 0x26, 0x70, 0x72, 0x65, 0x64, 0x5b, 0x28, 0x20, 0x34, 0x20, 0x29, 0x20, 0x2b, 0x20, +0x28, 0x20, 0x33, 0x20, 0x29, 0x20, 0x2a, 0x20, 0x38, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x73, 0x61, +0x74, 0x64, 0x20, 0x2b, 0x3d, 0x20, 0x73, 0x61, 0x74, 0x64, 0x5f, 0x38, 0x78, 0x34, 0x5f, 0x6c, +0x70, 0x28, 0x20, 0x73, 0x72, 0x63, 0x20, 0x2b, 0x20, 0x28, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, +0x74, 0x72, 0x69, 0x64, 0x65, 0x20, 0x3c, 0x3c, 0x20, 0x32, 0x20, 0x29, 0x2c, 0x20, 0x73, 0x72, +0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x2c, 0x20, 0x70, 0x72, 0x65, 0x64, 0x2c, 0x20, +0x38, 0x20, 0x29, 0x3b, 0x0a, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x61, 0x74, 0x64, +0x3b, 0x0a, 0x7d, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, 0x70, 0x72, 0x65, +0x64, 0x69, 0x63, 0x74, 0x5f, 0x38, 0x78, 0x38, 0x63, 0x5f, 0x68, 0x28, 0x20, 0x63, 0x6f, 0x6e, +0x73, 0x74, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x2a, +0x73, 0x72, 0x63, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, +0x69, 0x64, 0x65, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x20, +0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x70, 0x72, 0x65, 0x64, 0x5b, 0x33, 0x32, 0x5d, 0x3b, 0x0a, +0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x70, 0x69, 0x78, 0x65, +0x6c, 0x20, 0x2a, 0x73, 0x72, 0x63, 0x5f, 0x6c, 0x20, 0x3d, 0x20, 0x73, 0x72, 0x63, 0x3b, 0x0a, +0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x38, 0x28, 0x20, 0x28, 0x75, 0x63, 0x68, 0x61, 0x72, 0x38, +0x29, 0x28, 0x73, 0x72, 0x63, 0x5b, 0x2d, 0x31, 0x5d, 0x29, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x70, +0x72, 0x65, 0x64, 0x20, 0x29, 0x3b, 0x20, 0x73, 0x72, 0x63, 0x20, 0x2b, 0x3d, 0x20, 0x73, 0x72, +0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x3b, 0x0a, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, +0x38, 0x28, 0x20, 0x28, 0x75, 0x63, 0x68, 0x61, 0x72, 0x38, 0x29, 0x28, 0x73, 0x72, 0x63, 0x5b, +0x2d, 0x31, 0x5d, 0x29, 0x2c, 0x20, 0x31, 0x2c, 0x20, 0x70, 0x72, 0x65, 0x64, 0x20, 0x29, 0x3b, +0x20, 0x73, 0x72, 0x63, 0x20, 0x2b, 0x3d, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, +0x64, 0x65, 0x3b, 0x0a, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x38, 0x28, 0x20, 0x28, 0x75, 0x63, +0x68, 0x61, 0x72, 0x38, 0x29, 0x28, 0x73, 0x72, 0x63, 0x5b, 0x2d, 0x31, 0x5d, 0x29, 0x2c, 0x20, +0x32, 0x2c, 0x20, 0x70, 0x72, 0x65, 0x64, 0x20, 0x29, 0x3b, 0x20, 0x73, 0x72, 0x63, 0x20, 0x2b, +0x3d, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x3b, 0x0a, 0x76, 0x73, +0x74, 0x6f, 0x72, 0x65, 0x38, 0x28, 0x20, 0x28, 0x75, 0x63, 0x68, 0x61, 0x72, 0x38, 0x29, 0x28, +0x73, 0x72, 0x63, 0x5b, 0x2d, 0x31, 0x5d, 0x29, 0x2c, 0x20, 0x33, 0x2c, 0x20, 0x70, 0x72, 0x65, +0x64, 0x20, 0x29, 0x3b, 0x20, 0x73, 0x72, 0x63, 0x20, 0x2b, 0x3d, 0x20, 0x73, 0x72, 0x63, 0x5f, +0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x73, 0x61, 0x74, 0x64, +0x20, 0x3d, 0x20, 0x73, 0x61, 0x74, 0x64, 0x5f, 0x38, 0x78, 0x34, 0x5f, 0x6c, 0x70, 0x28, 0x20, +0x73, 0x72, 0x63, 0x5f, 0x6c, 0x2c, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, +0x65, 0x2c, 0x20, 0x70, 0x72, 0x65, 0x64, 0x2c, 0x20, 0x38, 0x20, 0x29, 0x3b, 0x0a, 0x76, 0x73, +0x74, 0x6f, 0x72, 0x65, 0x38, 0x28, 0x20, 0x28, 0x75, 0x63, 0x68, 0x61, 0x72, 0x38, 0x29, 0x28, +0x73, 0x72, 0x63, 0x5b, 0x2d, 0x31, 0x5d, 0x29, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x70, 0x72, 0x65, +0x64, 0x20, 0x29, 0x3b, 0x20, 0x73, 0x72, 0x63, 0x20, 0x2b, 0x3d, 0x20, 0x73, 0x72, 0x63, 0x5f, +0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x3b, 0x0a, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x38, 0x28, +0x20, 0x28, 0x75, 0x63, 0x68, 0x61, 0x72, 0x38, 0x29, 0x28, 0x73, 0x72, 0x63, 0x5b, 0x2d, 0x31, +0x5d, 0x29, 0x2c, 0x20, 0x31, 0x2c, 0x20, 0x70, 0x72, 0x65, 0x64, 0x20, 0x29, 0x3b, 0x20, 0x73, +0x72, 0x63, 0x20, 0x2b, 0x3d, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, +0x3b, 0x0a, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x38, 0x28, 0x20, 0x28, 0x75, 0x63, 0x68, 0x61, +0x72, 0x38, 0x29, 0x28, 0x73, 0x72, 0x63, 0x5b, 0x2d, 0x31, 0x5d, 0x29, 0x2c, 0x20, 0x32, 0x2c, +0x20, 0x70, 0x72, 0x65, 0x64, 0x20, 0x29, 0x3b, 0x20, 0x73, 0x72, 0x63, 0x20, 0x2b, 0x3d, 0x20, +0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x3b, 0x0a, 0x76, 0x73, 0x74, 0x6f, +0x72, 0x65, 0x38, 0x28, 0x20, 0x28, 0x75, 0x63, 0x68, 0x61, 0x72, 0x38, 0x29, 0x28, 0x73, 0x72, +0x63, 0x5b, 0x2d, 0x31, 0x5d, 0x29, 0x2c, 0x20, 0x33, 0x2c, 0x20, 0x70, 0x72, 0x65, 0x64, 0x20, +0x29, 0x3b, 0x0a, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x61, 0x74, 0x64, 0x20, 0x2b, +0x20, 0x73, 0x61, 0x74, 0x64, 0x5f, 0x38, 0x78, 0x34, 0x5f, 0x6c, 0x70, 0x28, 0x20, 0x73, 0x72, +0x63, 0x5f, 0x6c, 0x20, 0x2b, 0x20, 0x28, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, +0x64, 0x65, 0x20, 0x3c, 0x3c, 0x20, 0x32, 0x20, 0x29, 0x2c, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, +0x74, 0x72, 0x69, 0x64, 0x65, 0x2c, 0x20, 0x70, 0x72, 0x65, 0x64, 0x2c, 0x20, 0x38, 0x20, 0x29, +0x3b, 0x0a, 0x7d, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, 0x70, 0x72, 0x65, +0x64, 0x69, 0x63, 0x74, 0x5f, 0x38, 0x78, 0x38, 0x63, 0x5f, 0x76, 0x28, 0x20, 0x63, 0x6f, 0x6e, +0x73, 0x74, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x2a, +0x73, 0x72, 0x63, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, +0x69, 0x64, 0x65, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x20, +0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x70, 0x72, 0x65, 0x64, 0x5b, 0x33, 0x32, 0x5d, 0x3b, 0x0a, +0x75, 0x63, 0x68, 0x61, 0x72, 0x31, 0x36, 0x20, 0x76, 0x31, 0x36, 0x3b, 0x0a, 0x76, 0x31, 0x36, +0x2e, 0x6c, 0x6f, 0x20, 0x3d, 0x20, 0x76, 0x6c, 0x6f, 0x61, 0x64, 0x38, 0x28, 0x20, 0x30, 0x2c, +0x20, 0x26, 0x73, 0x72, 0x63, 0x5b, 0x2d, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, +0x65, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x76, 0x31, 0x36, 0x2e, 0x68, 0x69, 0x20, 0x3d, 0x20, 0x76, +0x6c, 0x6f, 0x61, 0x64, 0x38, 0x28, 0x20, 0x30, 0x2c, 0x20, 0x26, 0x73, 0x72, 0x63, 0x5b, 0x2d, +0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x76, +0x73, 0x74, 0x6f, 0x72, 0x65, 0x31, 0x36, 0x28, 0x20, 0x76, 0x31, 0x36, 0x2c, 0x20, 0x30, 0x2c, +0x20, 0x70, 0x72, 0x65, 0x64, 0x20, 0x29, 0x3b, 0x0a, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x31, +0x36, 0x28, 0x20, 0x76, 0x31, 0x36, 0x2c, 0x20, 0x31, 0x2c, 0x20, 0x70, 0x72, 0x65, 0x64, 0x20, +0x29, 0x3b, 0x0a, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x61, 0x74, 0x64, 0x5f, 0x38, +0x78, 0x34, 0x5f, 0x6c, 0x70, 0x28, 0x20, 0x73, 0x72, 0x63, 0x2c, 0x20, 0x73, 0x72, 0x63, 0x5f, +0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x2c, 0x20, 0x70, 0x72, 0x65, 0x64, 0x2c, 0x20, 0x38, 0x20, +0x29, 0x20, 0x2b, 0x0a, 0x73, 0x61, 0x74, 0x64, 0x5f, 0x38, 0x78, 0x34, 0x5f, 0x6c, 0x70, 0x28, +0x20, 0x73, 0x72, 0x63, 0x20, 0x2b, 0x20, 0x28, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, +0x64, 0x65, 0x20, 0x3c, 0x3c, 0x20, 0x32, 0x29, 0x2c, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, +0x72, 0x69, 0x64, 0x65, 0x2c, 0x20, 0x70, 0x72, 0x65, 0x64, 0x2c, 0x20, 0x38, 0x20, 0x29, 0x3b, +0x0a, 0x7d, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, 0x70, 0x72, 0x65, 0x64, +0x69, 0x63, 0x74, 0x5f, 0x38, 0x78, 0x38, 0x63, 0x5f, 0x70, 0x28, 0x20, 0x63, 0x6f, 0x6e, 0x73, +0x74, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x2a, 0x73, +0x72, 0x63, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, +0x64, 0x65, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x48, 0x20, 0x3d, 0x20, 0x30, +0x2c, 0x20, 0x56, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, +0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x70, 0x72, 0x65, 0x64, 0x5b, 0x33, 0x32, 0x5d, 0x3b, +0x0a, 0x69, 0x6e, 0x74, 0x20, 0x73, 0x61, 0x74, 0x64, 0x3b, 0x0a, 0x66, 0x6f, 0x72, 0x28, 0x20, +0x69, 0x6e, 0x74, 0x20, 0x69, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x20, 0x69, 0x20, 0x3c, 0x20, 0x34, +0x3b, 0x20, 0x69, 0x2b, 0x2b, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x48, 0x20, 0x2b, 0x3d, 0x20, 0x28, +0x69, 0x20, 0x2b, 0x20, 0x31, 0x29, 0x20, 0x2a, 0x20, 0x28, 0x73, 0x72, 0x63, 0x5b, 0x34, 0x20, +0x2b, 0x20, 0x69, 0x20, 0x2d, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, +0x5d, 0x20, 0x2d, 0x20, 0x73, 0x72, 0x63, 0x5b, 0x32, 0x20, 0x2d, 0x20, 0x69, 0x20, 0x2d, 0x20, +0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x5d, 0x29, 0x3b, 0x0a, 0x56, 0x20, +0x2b, 0x3d, 0x20, 0x28, 0x69, 0x20, 0x2b, 0x20, 0x31, 0x29, 0x20, 0x2a, 0x20, 0x28, 0x73, 0x72, +0x63, 0x5b, 0x2d, 0x31, 0x20, 0x2b, 0x20, 0x28, 0x69, 0x20, 0x2b, 0x20, 0x34, 0x29, 0x20, 0x2a, +0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x5d, 0x20, 0x2d, 0x20, 0x73, +0x72, 0x63, 0x5b, 0x2d, 0x31, 0x20, 0x2b, 0x20, 0x28, 0x32, 0x20, 0x2d, 0x20, 0x69, 0x29, 0x20, +0x2a, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x5d, 0x29, 0x3b, 0x0a, +0x7d, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x61, 0x20, 0x3d, 0x20, 0x31, 0x36, 0x20, 0x2a, 0x20, 0x28, +0x73, 0x72, 0x63, 0x5b, 0x2d, 0x31, 0x20, 0x2b, 0x20, 0x37, 0x20, 0x2a, 0x20, 0x73, 0x72, 0x63, +0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x5d, 0x20, 0x2b, 0x20, 0x73, 0x72, 0x63, 0x5b, 0x37, +0x20, 0x2d, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x5d, 0x29, 0x3b, +0x0a, 0x69, 0x6e, 0x74, 0x20, 0x62, 0x20, 0x3d, 0x20, 0x28, 0x31, 0x37, 0x20, 0x2a, 0x20, 0x48, +0x20, 0x2b, 0x20, 0x31, 0x36, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x35, 0x3b, 0x0a, 0x69, 0x6e, 0x74, +0x20, 0x63, 0x20, 0x3d, 0x20, 0x28, 0x31, 0x37, 0x20, 0x2a, 0x20, 0x56, 0x20, 0x2b, 0x20, 0x31, +0x36, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x35, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x30, 0x30, +0x20, 0x3d, 0x20, 0x61, 0x20, 0x2d, 0x20, 0x33, 0x20, 0x2a, 0x20, 0x62, 0x20, 0x2d, 0x20, 0x33, +0x20, 0x2a, 0x20, 0x63, 0x20, 0x2b, 0x20, 0x31, 0x36, 0x3b, 0x0a, 0x66, 0x6f, 0x72, 0x28, 0x20, +0x69, 0x6e, 0x74, 0x20, 0x79, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x20, 0x79, 0x20, 0x3c, 0x20, 0x34, +0x3b, 0x20, 0x79, 0x2b, 0x2b, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x70, 0x69, +0x78, 0x20, 0x3d, 0x20, 0x69, 0x30, 0x30, 0x3b, 0x0a, 0x66, 0x6f, 0x72, 0x28, 0x20, 0x69, 0x6e, +0x74, 0x20, 0x78, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x20, 0x78, 0x20, 0x3c, 0x20, 0x38, 0x3b, 0x20, +0x78, 0x2b, 0x2b, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x5b, 0x78, 0x20, 0x2b, +0x20, 0x79, 0x2a, 0x38, 0x5d, 0x20, 0x3d, 0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, 0x63, 0x6c, 0x69, +0x70, 0x5f, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x28, 0x20, 0x70, 0x69, 0x78, 0x20, 0x3e, 0x3e, 0x20, +0x35, 0x20, 0x29, 0x3b, 0x0a, 0x70, 0x69, 0x78, 0x20, 0x2b, 0x3d, 0x20, 0x62, 0x3b, 0x0a, 0x7d, +0x0a, 0x69, 0x30, 0x30, 0x20, 0x2b, 0x3d, 0x20, 0x63, 0x3b, 0x0a, 0x7d, 0x0a, 0x73, 0x61, 0x74, +0x64, 0x20, 0x3d, 0x20, 0x73, 0x61, 0x74, 0x64, 0x5f, 0x38, 0x78, 0x34, 0x5f, 0x6c, 0x70, 0x28, +0x20, 0x73, 0x72, 0x63, 0x2c, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, +0x2c, 0x20, 0x70, 0x72, 0x65, 0x64, 0x2c, 0x20, 0x38, 0x20, 0x29, 0x3b, 0x0a, 0x66, 0x6f, 0x72, +0x28, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x79, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x20, 0x79, 0x20, 0x3c, +0x20, 0x34, 0x3b, 0x20, 0x79, 0x2b, 0x2b, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x69, 0x6e, 0x74, 0x20, +0x70, 0x69, 0x78, 0x20, 0x3d, 0x20, 0x69, 0x30, 0x30, 0x3b, 0x0a, 0x66, 0x6f, 0x72, 0x28, 0x20, +0x69, 0x6e, 0x74, 0x20, 0x78, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x20, 0x78, 0x20, 0x3c, 0x20, 0x38, +0x3b, 0x20, 0x78, 0x2b, 0x2b, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x70, 0x72, 0x65, 0x64, 0x5b, 0x78, +0x20, 0x2b, 0x20, 0x79, 0x2a, 0x38, 0x5d, 0x20, 0x3d, 0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, 0x63, +0x6c, 0x69, 0x70, 0x5f, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x28, 0x20, 0x70, 0x69, 0x78, 0x20, 0x3e, +0x3e, 0x20, 0x35, 0x20, 0x29, 0x3b, 0x0a, 0x70, 0x69, 0x78, 0x20, 0x2b, 0x3d, 0x20, 0x62, 0x3b, +0x0a, 0x7d, 0x0a, 0x69, 0x30, 0x30, 0x20, 0x2b, 0x3d, 0x20, 0x63, 0x3b, 0x0a, 0x7d, 0x0a, 0x73, +0x61, 0x74, 0x64, 0x20, 0x2b, 0x3d, 0x20, 0x73, 0x61, 0x74, 0x64, 0x5f, 0x38, 0x78, 0x34, 0x5f, +0x6c, 0x70, 0x28, 0x20, 0x73, 0x72, 0x63, 0x20, 0x2b, 0x20, 0x28, 0x20, 0x73, 0x72, 0x63, 0x5f, +0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x20, 0x3c, 0x3c, 0x20, 0x32, 0x20, 0x29, 0x2c, 0x20, 0x73, +0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x2c, 0x20, 0x70, 0x72, 0x65, 0x64, 0x2c, +0x20, 0x38, 0x20, 0x29, 0x3b, 0x0a, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x61, 0x74, +0x64, 0x3b, 0x0a, 0x7d, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, 0x70, 0x72, +0x65, 0x64, 0x69, 0x63, 0x74, 0x5f, 0x38, 0x78, 0x38, 0x63, 0x5f, 0x64, 0x63, 0x28, 0x20, 0x63, +0x6f, 0x6e, 0x73, 0x74, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, +0x20, 0x2a, 0x73, 0x72, 0x63, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, +0x74, 0x72, 0x69, 0x64, 0x65, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, +0x65, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x70, 0x72, 0x65, 0x64, 0x5b, 0x33, 0x32, 0x5d, +0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x73, 0x30, 0x20, 0x3d, 0x20, 0x30, 0x2c, 0x20, 0x73, 0x31, +0x20, 0x3d, 0x20, 0x30, 0x2c, 0x20, 0x73, 0x32, 0x20, 0x3d, 0x20, 0x30, 0x2c, 0x20, 0x73, 0x33, +0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x66, 0x6f, 0x72, 0x28, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, +0x20, 0x3d, 0x20, 0x30, 0x3b, 0x20, 0x69, 0x20, 0x3c, 0x20, 0x34, 0x3b, 0x20, 0x69, 0x2b, 0x2b, +0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x73, 0x30, 0x20, 0x2b, 0x3d, 0x20, 0x73, 0x72, 0x63, 0x5b, 0x69, +0x20, 0x2d, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x5d, 0x3b, 0x0a, +0x73, 0x31, 0x20, 0x2b, 0x3d, 0x20, 0x73, 0x72, 0x63, 0x5b, 0x69, 0x20, 0x2b, 0x20, 0x34, 0x20, +0x2d, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x5d, 0x3b, 0x0a, 0x73, +0x32, 0x20, 0x2b, 0x3d, 0x20, 0x73, 0x72, 0x63, 0x5b, 0x2d, 0x31, 0x20, 0x2b, 0x20, 0x69, 0x20, +0x2a, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x5d, 0x3b, 0x0a, 0x73, +0x33, 0x20, 0x2b, 0x3d, 0x20, 0x73, 0x72, 0x63, 0x5b, 0x2d, 0x31, 0x20, 0x2b, 0x20, 0x28, 0x69, +0x2b, 0x34, 0x29, 0x2a, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x5d, 0x3b, +0x0a, 0x7d, 0x0a, 0x75, 0x63, 0x68, 0x61, 0x72, 0x38, 0x20, 0x64, 0x63, 0x30, 0x3b, 0x0a, 0x64, +0x63, 0x30, 0x2e, 0x6c, 0x6f, 0x20, 0x3d, 0x20, 0x28, 0x75, 0x63, 0x68, 0x61, 0x72, 0x34, 0x29, +0x28, 0x20, 0x28, 0x73, 0x30, 0x20, 0x2b, 0x20, 0x73, 0x32, 0x20, 0x2b, 0x20, 0x34, 0x29, 0x20, +0x3e, 0x3e, 0x20, 0x33, 0x20, 0x29, 0x3b, 0x0a, 0x64, 0x63, 0x30, 0x2e, 0x68, 0x69, 0x20, 0x3d, +0x20, 0x28, 0x75, 0x63, 0x68, 0x61, 0x72, 0x34, 0x29, 0x28, 0x20, 0x28, 0x73, 0x31, 0x20, 0x2b, +0x20, 0x32, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x20, 0x29, 0x3b, 0x0a, 0x76, 0x73, 0x74, 0x6f, +0x72, 0x65, 0x38, 0x28, 0x20, 0x64, 0x63, 0x30, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x70, 0x72, 0x65, +0x64, 0x20, 0x29, 0x3b, 0x0a, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x38, 0x28, 0x20, 0x64, 0x63, +0x30, 0x2c, 0x20, 0x31, 0x2c, 0x20, 0x70, 0x72, 0x65, 0x64, 0x20, 0x29, 0x3b, 0x0a, 0x76, 0x73, +0x74, 0x6f, 0x72, 0x65, 0x38, 0x28, 0x20, 0x64, 0x63, 0x30, 0x2c, 0x20, 0x32, 0x2c, 0x20, 0x70, +0x72, 0x65, 0x64, 0x20, 0x29, 0x3b, 0x0a, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x38, 0x28, 0x20, +0x64, 0x63, 0x30, 0x2c, 0x20, 0x33, 0x2c, 0x20, 0x70, 0x72, 0x65, 0x64, 0x20, 0x29, 0x3b, 0x0a, +0x69, 0x6e, 0x74, 0x20, 0x73, 0x61, 0x74, 0x64, 0x20, 0x3d, 0x20, 0x73, 0x61, 0x74, 0x64, 0x5f, +0x38, 0x78, 0x34, 0x5f, 0x6c, 0x70, 0x28, 0x20, 0x73, 0x72, 0x63, 0x2c, 0x20, 0x73, 0x72, 0x63, +0x5f, 0x73, 0x74, 0x72, 0x69, 0x64, 0x65, 0x2c, 0x20, 0x70, 0x72, 0x65, 0x64, 0x2c, 0x20, 0x38, +0x20, 0x29, 0x3b, 0x0a, 0x64, 0x63, 0x30, 0x2e, 0x6c, 0x6f, 0x20, 0x3d, 0x20, 0x28, 0x75, 0x63, +0x68, 0x61, 0x72, 0x34, 0x29, 0x28, 0x20, 0x28, 0x73, 0x33, 0x20, 0x2b, 0x20, 0x32, 0x29, 0x20, +0x3e, 0x3e, 0x20, 0x32, 0x20, 0x29, 0x3b, 0x0a, 0x64, 0x63, 0x30, 0x2e, 0x68, 0x69, 0x20, 0x3d, +0x20, 0x28, 0x75, 0x63, 0x68, 0x61, 0x72, 0x34, 0x29, 0x28, 0x20, 0x28, 0x73, 0x31, 0x20, 0x2b, +0x20, 0x73, 0x33, 0x20, 0x2b, 0x20, 0x34, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x33, 0x20, 0x29, 0x3b, +0x0a, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x38, 0x28, 0x20, 0x64, 0x63, 0x30, 0x2c, 0x20, 0x30, +0x2c, 0x20, 0x70, 0x72, 0x65, 0x64, 0x20, 0x29, 0x3b, 0x0a, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, +0x38, 0x28, 0x20, 0x64, 0x63, 0x30, 0x2c, 0x20, 0x31, 0x2c, 0x20, 0x70, 0x72, 0x65, 0x64, 0x20, +0x29, 0x3b, 0x0a, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x38, 0x28, 0x20, 0x64, 0x63, 0x30, 0x2c, +0x20, 0x32, 0x2c, 0x20, 0x70, 0x72, 0x65, 0x64, 0x20, 0x29, 0x3b, 0x0a, 0x76, 0x73, 0x74, 0x6f, +0x72, 0x65, 0x38, 0x28, 0x20, 0x64, 0x63, 0x30, 0x2c, 0x20, 0x33, 0x2c, 0x20, 0x70, 0x72, 0x65, +0x64, 0x20, 0x29, 0x3b, 0x0a, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x73, 0x61, 0x74, 0x64, +0x20, 0x2b, 0x20, 0x73, 0x61, 0x74, 0x64, 0x5f, 0x38, 0x78, 0x34, 0x5f, 0x6c, 0x70, 0x28, 0x20, +0x73, 0x72, 0x63, 0x20, 0x2b, 0x20, 0x28, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, 0x74, 0x72, 0x69, +0x64, 0x65, 0x20, 0x3c, 0x3c, 0x20, 0x32, 0x20, 0x29, 0x2c, 0x20, 0x73, 0x72, 0x63, 0x5f, 0x73, +0x74, 0x72, 0x69, 0x64, 0x65, 0x2c, 0x20, 0x70, 0x72, 0x65, 0x64, 0x2c, 0x20, 0x38, 0x20, 0x29, +0x3b, 0x0a, 0x7d, 0x0a, 0x23, 0x65, 0x6e, 0x64, 0x69, 0x66, 0x0a, 0x2f, 0x2a, 0x20, 0x46, 0x69, +0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x65, 0x61, 0x73, 0x74, 0x20, 0x63, 0x6f, 0x73, +0x74, 0x20, 0x69, 0x6e, 0x74, 0x72, 0x61, 0x20, 0x6d, 0x6f, 0x64, 0x65, 0x20, 0x66, 0x6f, 0x72, +0x20, 0x33, 0x32, 0x20, 0x38, 0x78, 0x38, 0x20, 0x6d, 0x61, 0x63, 0x72, 0x6f, 0x62, 0x6c, 0x6f, +0x63, 0x6b, 0x73, 0x20, 0x70, 0x65, 0x72, 0x20, 0x77, 0x6f, 0x72, 0x6b, 0x67, 0x72, 0x6f, 0x75, +0x70, 0x0a, 0x2a, 0x0a, 0x2a, 0x20, 0x4c, 0x6f, 0x61, 0x64, 0x73, 0x20, 0x33, 0x33, 0x20, 0x6d, +0x61, 0x63, 0x72, 0x6f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x20, 0x70, 0x6c, 0x75, 0x73, 0x20, +0x74, 0x68, 0x65, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x73, 0x20, 0x64, 0x69, 0x72, 0x65, 0x63, +0x74, 0x6c, 0x79, 0x20, 0x61, 0x62, 0x6f, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x6d, 0x20, 0x69, +0x6e, 0x74, 0x6f, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, +0x2c, 0x0a, 0x2a, 0x20, 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x77, 0x68, 0x65, 0x72, +0x65, 0x20, 0x6e, 0x65, 0x63, 0x65, 0x73, 0x73, 0x61, 0x72, 0x79, 0x20, 0x77, 0x69, 0x74, 0x68, +0x20, 0x65, 0x64, 0x67, 0x65, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x73, 0x2e, 0x20, 0x20, 0x49, +0x74, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x20, 0x63, 0x6f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, +0x76, 0x65, 0x6c, 0x79, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x0a, +0x2a, 0x20, 0x73, 0x6d, 0x6f, 0x6f, 0x74, 0x68, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x70, 0x20, 0x61, +0x6e, 0x64, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x73, 0x20, 0x66, +0x6f, 0x72, 0x20, 0x75, 0x73, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x73, 0x6f, 0x6d, 0x65, 0x20, 0x6f, +0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x2e, 0x0a, +0x2a, 0x0a, 0x2a, 0x20, 0x54, 0x68, 0x65, 0x6e, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x20, +0x6f, 0x66, 0x20, 0x33, 0x32, 0x20, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x20, 0x65, 0x61, +0x63, 0x68, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x73, +0x69, 0x6e, 0x67, 0x6c, 0x65, 0x20, 0x69, 0x6e, 0x74, 0x72, 0x61, 0x20, 0x6d, 0x6f, 0x64, 0x65, +0x20, 0x66, 0x6f, 0x72, 0x20, 0x65, 0x61, 0x63, 0x68, 0x20, 0x38, 0x78, 0x38, 0x0a, 0x2a, 0x20, +0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x20, 0x20, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x20, 0x63, 0x6f, +0x6e, 0x73, 0x65, 0x63, 0x75, 0x74, 0x69, 0x76, 0x65, 0x20, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, +0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x69, 0x6e, +0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x61, 0x6d, 0x65, 0x20, 0x69, 0x6e, 0x74, 0x72, 0x61, +0x20, 0x6d, 0x6f, 0x64, 0x65, 0x20, 0x74, 0x68, 0x65, 0x72, 0x65, 0x0a, 0x2a, 0x20, 0x69, 0x73, +0x20, 0x6e, 0x6f, 0x20, 0x63, 0x6f, 0x64, 0x65, 0x2d, 0x70, 0x61, 0x74, 0x68, 0x20, 0x64, 0x69, +0x76, 0x65, 0x72, 0x67, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x20, 0x20, 0x38, 0x20, 0x69, 0x6e, 0x74, +0x72, 0x61, 0x20, 0x63, 0x6f, 0x73, 0x74, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x63, 0x61, 0x6c, +0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x74, 0x61, 0x6e, +0x65, 0x6f, 0x75, 0x73, 0x6c, 0x79, 0x2e, 0x20, 0x20, 0x49, 0x66, 0x0a, 0x2a, 0x20, 0x74, 0x68, +0x65, 0x20, 0x22, 0x73, 0x6c, 0x6f, 0x77, 0x22, 0x20, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, +0x74, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x7a, 0x65, 0x72, 0x6f, 0x2c, 0x20, 0x74, +0x68, 0x65, 0x20, 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x20, 0x74, 0x77, 0x6f, 0x20, 0x28, 0x6c, 0x65, +0x61, 0x73, 0x74, 0x20, 0x6c, 0x69, 0x6b, 0x65, 0x6c, 0x79, 0x29, 0x20, 0x69, 0x6e, 0x74, 0x72, +0x61, 0x20, 0x6d, 0x6f, 0x64, 0x65, 0x73, 0x20, 0x61, 0x72, 0x65, 0x0a, 0x2a, 0x20, 0x74, 0x65, +0x73, 0x74, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x61, 0x20, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, +0x20, 0x70, 0x61, 0x73, 0x73, 0x2e, 0x20, 0x20, 0x54, 0x68, 0x65, 0x20, 0x73, 0x6c, 0x6f, 0x77, +0x20, 0x6d, 0x6f, 0x64, 0x65, 0x20, 0x69, 0x73, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x65, 0x6e, +0x61, 0x62, 0x6c, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x70, 0x72, 0x65, 0x73, 0x65, 0x74, +0x73, 0x20, 0x73, 0x6c, 0x6f, 0x77, 0x2c, 0x0a, 0x2a, 0x20, 0x73, 0x6c, 0x6f, 0x77, 0x65, 0x72, +0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x62, 0x6f, 0x2e, 0x0a, 0x2a, +0x0a, 0x2a, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x73, 0x20, 0x61, +0x6c, 0x6c, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x73, +0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, +0x61, 0x64, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x73, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x6c, +0x6f, 0x63, 0x61, 0x6c, 0x20, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x2c, 0x20, 0x61, 0x6e, 0x64, +0x0a, 0x2a, 0x20, 0x61, 0x76, 0x6f, 0x69, 0x64, 0x73, 0x20, 0x72, 0x65, 0x2d, 0x66, 0x65, 0x74, +0x63, 0x68, 0x69, 0x6e, 0x67, 0x20, 0x65, 0x64, 0x67, 0x65, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, +0x73, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x20, 0x6d, 0x65, +0x6d, 0x6f, 0x72, 0x79, 0x2e, 0x20, 0x20, 0x41, 0x6e, 0x64, 0x20, 0x69, 0x74, 0x20, 0x61, 0x6c, +0x6c, 0x6f, 0x77, 0x73, 0x20, 0x75, 0x73, 0x20, 0x74, 0x6f, 0x0a, 0x2a, 0x20, 0x63, 0x61, 0x6c, +0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, +0x65, 0x20, 0x69, 0x6e, 0x74, 0x72, 0x61, 0x20, 0x6d, 0x6f, 0x64, 0x65, 0x20, 0x63, 0x6f, 0x73, +0x74, 0x73, 0x20, 0x73, 0x69, 0x6d, 0x75, 0x6c, 0x74, 0x61, 0x6e, 0x65, 0x6f, 0x75, 0x73, 0x6c, +0x79, 0x20, 0x77, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x20, 0x62, 0x72, 0x61, 0x6e, 0x63, 0x68, +0x20, 0x64, 0x69, 0x76, 0x65, 0x72, 0x67, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x0a, 0x2a, 0x0a, 0x2a, +0x20, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, +0x3a, 0x20, 0x20, 0x20, 0x20, 0x5b, 0x20, 0x33, 0x32, 0x2c, 0x20, 0x38, 0x20, 0x5d, 0x0a, 0x2a, +0x20, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x20, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, +0x6e, 0x73, 0x3a, 0x20, 0x20, 0x5b, 0x20, 0x70, 0x61, 0x64, 0x64, 0x65, 0x64, 0x57, 0x69, 0x64, +0x74, 0x68, 0x2c, 0x20, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x20, 0x5d, 0x20, 0x2a, 0x2f, 0x0a, +0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x6d, 0x62, 0x5f, 0x69, +0x6e, 0x74, 0x72, 0x61, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x73, 0x61, 0x74, 0x64, 0x5f, 0x38, +0x78, 0x38, 0x28, 0x20, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x69, 0x6d, +0x61, 0x67, 0x65, 0x32, 0x64, 0x5f, 0x74, 0x20, 0x20, 0x66, 0x65, 0x6e, 0x63, 0x2c, 0x0a, 0x67, +0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x20, 0x75, 0x69, 0x6e, 0x74, 0x31, 0x36, 0x5f, 0x74, 0x20, 0x20, +0x20, 0x20, 0x20, 0x2a, 0x66, 0x65, 0x6e, 0x63, 0x5f, 0x69, 0x6e, 0x74, 0x72, 0x61, 0x5f, 0x63, +0x6f, 0x73, 0x74, 0x2c, 0x0a, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x20, 0x69, 0x6e, 0x74, 0x20, +0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2a, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, +0x73, 0x74, 0x61, 0x74, 0x73, 0x2c, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, +0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x61, 0x6d, 0x62, +0x64, 0x61, 0x2c, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, +0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x62, 0x5f, 0x77, 0x69, 0x64, 0x74, +0x68, 0x2c, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, +0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x6c, 0x6f, 0x77, 0x20, 0x29, 0x0a, 0x7b, +0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x43, 0x41, 0x43, 0x48, 0x45, 0x5f, 0x53, +0x54, 0x52, 0x49, 0x44, 0x45, 0x20, 0x32, 0x36, 0x35, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, +0x65, 0x20, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x20, 0x32, +0x36, 0x36, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x63, +0x61, 0x63, 0x68, 0x65, 0x5b, 0x32, 0x33, 0x38, 0x35, 0x5d, 0x3b, 0x0a, 0x6c, 0x6f, 0x63, 0x61, +0x6c, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x62, 0x75, 0x66, 0x5b, 0x33, +0x32, 0x5d, 0x3b, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, +0x74, 0x6f, 0x70, 0x5b, 0x33, 0x32, 0x20, 0x2a, 0x20, 0x31, 0x36, 0x5d, 0x3b, 0x0a, 0x6c, 0x6f, +0x63, 0x61, 0x6c, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x33, +0x32, 0x20, 0x2a, 0x20, 0x38, 0x5d, 0x3b, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x70, 0x69, +0x78, 0x65, 0x6c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x74, 0x6f, 0x70, 0x5b, 0x33, 0x32, 0x5d, +0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x6c, 0x78, 0x20, 0x3d, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x6c, +0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x28, 0x20, 0x30, 0x20, 0x29, 0x3b, 0x0a, 0x69, 0x6e, +0x74, 0x20, 0x6c, 0x79, 0x20, 0x3d, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, +0x5f, 0x69, 0x64, 0x28, 0x20, 0x31, 0x20, 0x29, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x67, 0x78, +0x20, 0x3d, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x69, 0x64, +0x28, 0x20, 0x30, 0x20, 0x29, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x67, 0x79, 0x20, 0x3d, 0x20, +0x67, 0x65, 0x74, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x28, 0x20, 0x31, +0x20, 0x29, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x67, 0x69, 0x64, 0x78, 0x20, 0x3d, 0x20, 0x67, +0x65, 0x74, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x28, 0x20, 0x30, 0x20, 0x29, +0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x67, 0x69, 0x64, 0x79, 0x20, 0x3d, 0x20, 0x67, 0x65, 0x74, +0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x28, 0x20, 0x31, 0x20, 0x29, 0x3b, 0x0a, +0x69, 0x6e, 0x74, 0x20, 0x6c, 0x69, 0x6e, 0x65, 0x61, 0x72, 0x5f, 0x69, 0x64, 0x20, 0x3d, 0x20, +0x6c, 0x79, 0x20, 0x2a, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x73, +0x69, 0x7a, 0x65, 0x28, 0x20, 0x30, 0x20, 0x29, 0x20, 0x2b, 0x20, 0x6c, 0x78, 0x3b, 0x0a, 0x69, +0x6e, 0x74, 0x20, 0x73, 0x61, 0x74, 0x64, 0x20, 0x3d, 0x20, 0x43, 0x4f, 0x53, 0x54, 0x5f, 0x4d, +0x41, 0x58, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x62, 0x61, 0x73, 0x65, 0x78, 0x20, 0x3d, 0x20, +0x67, 0x69, 0x64, 0x78, 0x20, 0x3c, 0x3c, 0x20, 0x38, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x62, +0x61, 0x73, 0x65, 0x79, 0x20, 0x3d, 0x20, 0x28, 0x67, 0x69, 0x64, 0x79, 0x20, 0x3c, 0x3c, 0x20, +0x33, 0x29, 0x20, 0x2d, 0x20, 0x31, 0x3b, 0x0a, 0x2f, 0x2a, 0x20, 0x4c, 0x6f, 0x61, 0x64, 0x20, +0x33, 0x33, 0x20, 0x38, 0x78, 0x38, 0x20, 0x6d, 0x61, 0x63, 0x72, 0x6f, 0x62, 0x6c, 0x6f, 0x63, +0x6b, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, +0x73, 0x20, 0x61, 0x62, 0x6f, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x6d, 0x20, 0x69, 0x6e, 0x74, +0x6f, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x63, 0x61, 0x63, 0x68, 0x65, 0x20, 0x2a, 0x2f, +0x0a, 0x66, 0x6f, 0x72, 0x28, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x79, 0x20, 0x3d, 0x20, 0x30, 0x3b, +0x20, 0x79, 0x20, 0x3c, 0x20, 0x39, 0x20, 0x26, 0x26, 0x20, 0x6c, 0x69, 0x6e, 0x65, 0x61, 0x72, +0x5f, 0x69, 0x64, 0x20, 0x3c, 0x20, 0x28, 0x33, 0x33, 0x3c, 0x3c, 0x33, 0x29, 0x3e, 0x3e, 0x32, +0x3b, 0x20, 0x79, 0x2b, 0x2b, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x20, +0x3d, 0x20, 0x6c, 0x69, 0x6e, 0x65, 0x61, 0x72, 0x5f, 0x69, 0x64, 0x20, 0x3c, 0x3c, 0x20, 0x32, +0x3b, 0x0a, 0x75, 0x69, 0x6e, 0x74, 0x34, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x3d, 0x20, 0x72, +0x65, 0x61, 0x64, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x75, 0x69, 0x28, 0x20, 0x66, 0x65, 0x6e, +0x63, 0x2c, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x28, 0x69, 0x6e, 0x74, +0x32, 0x29, 0x28, 0x78, 0x20, 0x2b, 0x20, 0x62, 0x61, 0x73, 0x65, 0x78, 0x2c, 0x20, 0x79, 0x20, +0x2b, 0x20, 0x62, 0x61, 0x73, 0x65, 0x79, 0x29, 0x20, 0x29, 0x3b, 0x0a, 0x63, 0x61, 0x63, 0x68, +0x65, 0x5b, 0x79, 0x20, 0x2a, 0x20, 0x43, 0x41, 0x43, 0x48, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x49, +0x44, 0x45, 0x20, 0x2b, 0x20, 0x31, 0x20, 0x2b, 0x20, 0x78, 0x5d, 0x20, 0x3d, 0x20, 0x64, 0x61, +0x74, 0x61, 0x2e, 0x73, 0x30, 0x3b, 0x0a, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5b, 0x79, 0x20, 0x2a, +0x20, 0x43, 0x41, 0x43, 0x48, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x44, 0x45, 0x20, 0x2b, 0x20, +0x31, 0x20, 0x2b, 0x20, 0x78, 0x20, 0x2b, 0x20, 0x31, 0x5d, 0x20, 0x3d, 0x20, 0x64, 0x61, 0x74, +0x61, 0x2e, 0x73, 0x31, 0x3b, 0x0a, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5b, 0x79, 0x20, 0x2a, 0x20, +0x43, 0x41, 0x43, 0x48, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x44, 0x45, 0x20, 0x2b, 0x20, 0x31, +0x20, 0x2b, 0x20, 0x78, 0x20, 0x2b, 0x20, 0x32, 0x5d, 0x20, 0x3d, 0x20, 0x64, 0x61, 0x74, 0x61, +0x2e, 0x73, 0x32, 0x3b, 0x0a, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5b, 0x79, 0x20, 0x2a, 0x20, 0x43, +0x41, 0x43, 0x48, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x44, 0x45, 0x20, 0x2b, 0x20, 0x31, 0x20, +0x2b, 0x20, 0x78, 0x20, 0x2b, 0x20, 0x33, 0x5d, 0x20, 0x3d, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, +0x73, 0x33, 0x3b, 0x0a, 0x7d, 0x0a, 0x2f, 0x2a, 0x20, 0x6c, 0x6f, 0x61, 0x64, 0x20, 0x70, 0x69, +0x78, 0x65, 0x6c, 0x73, 0x20, 0x6f, 0x6e, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x20, 0x65, 0x64, 0x67, +0x65, 0x20, 0x2a, 0x2f, 0x0a, 0x69, 0x66, 0x28, 0x20, 0x6c, 0x69, 0x6e, 0x65, 0x61, 0x72, 0x5f, +0x69, 0x64, 0x20, 0x3c, 0x20, 0x39, 0x20, 0x29, 0x0a, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5b, 0x6c, +0x69, 0x6e, 0x65, 0x61, 0x72, 0x5f, 0x69, 0x64, 0x20, 0x2a, 0x20, 0x43, 0x41, 0x43, 0x48, 0x45, +0x5f, 0x53, 0x54, 0x52, 0x49, 0x44, 0x45, 0x5d, 0x20, 0x3d, 0x20, 0x72, 0x65, 0x61, 0x64, 0x5f, +0x69, 0x6d, 0x61, 0x67, 0x65, 0x75, 0x69, 0x28, 0x20, 0x66, 0x65, 0x6e, 0x63, 0x2c, 0x20, 0x73, +0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x32, 0x29, 0x28, 0x20, +0x62, 0x61, 0x73, 0x65, 0x78, 0x20, 0x2d, 0x20, 0x31, 0x2c, 0x20, 0x6c, 0x69, 0x6e, 0x65, 0x61, +0x72, 0x5f, 0x69, 0x64, 0x20, 0x2b, 0x20, 0x62, 0x61, 0x73, 0x65, 0x79, 0x29, 0x20, 0x29, 0x2e, +0x73, 0x30, 0x3b, 0x0a, 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x28, 0x20, 0x43, 0x4c, 0x4b, +0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x5f, 0x4d, 0x45, 0x4d, 0x5f, 0x46, 0x45, 0x4e, 0x43, 0x45, +0x20, 0x29, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x6a, 0x20, 0x3d, 0x20, 0x6c, 0x79, 0x3b, 0x0a, +0x74, 0x6f, 0x70, 0x5b, 0x6c, 0x78, 0x2a, 0x31, 0x36, 0x20, 0x2b, 0x20, 0x6a, 0x5d, 0x20, 0x3d, +0x20, 0x28, 0x20, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5b, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x4f, +0x46, 0x46, 0x53, 0x45, 0x54, 0x20, 0x2b, 0x20, 0x38, 0x2a, 0x6c, 0x78, 0x20, 0x2d, 0x20, 0x43, +0x41, 0x43, 0x48, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x44, 0x45, 0x20, 0x2b, 0x20, 0x63, 0x6c, +0x61, 0x6d, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x28, 0x20, 0x6a, 0x20, 0x2d, 0x20, 0x31, 0x2c, 0x20, +0x2d, 0x31, 0x2c, 0x20, 0x31, 0x35, 0x20, 0x29, 0x5d, 0x20, 0x2b, 0x0a, 0x32, 0x2a, 0x63, 0x61, +0x63, 0x68, 0x65, 0x5b, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, +0x20, 0x2b, 0x20, 0x38, 0x2a, 0x6c, 0x78, 0x20, 0x2d, 0x20, 0x43, 0x41, 0x43, 0x48, 0x45, 0x5f, +0x53, 0x54, 0x52, 0x49, 0x44, 0x45, 0x20, 0x2b, 0x20, 0x63, 0x6c, 0x61, 0x6d, 0x70, 0x5f, 0x69, +0x6e, 0x74, 0x28, 0x20, 0x6a, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x31, 0x35, 0x20, 0x29, 0x5d, 0x20, +0x2b, 0x0a, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5b, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x4f, 0x46, +0x46, 0x53, 0x45, 0x54, 0x20, 0x2b, 0x20, 0x38, 0x2a, 0x6c, 0x78, 0x20, 0x2d, 0x20, 0x43, 0x41, +0x43, 0x48, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x44, 0x45, 0x20, 0x2b, 0x20, 0x63, 0x6c, 0x61, +0x6d, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x28, 0x20, 0x6a, 0x20, 0x2b, 0x20, 0x31, 0x2c, 0x20, 0x30, +0x2c, 0x20, 0x31, 0x35, 0x20, 0x29, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x20, 0x29, 0x20, 0x3e, 0x3e, +0x20, 0x32, 0x3b, 0x0a, 0x6a, 0x20, 0x2b, 0x3d, 0x20, 0x38, 0x3b, 0x0a, 0x74, 0x6f, 0x70, 0x5b, +0x6c, 0x78, 0x2a, 0x31, 0x36, 0x20, 0x2b, 0x20, 0x6a, 0x5d, 0x20, 0x3d, 0x20, 0x28, 0x20, 0x63, +0x61, 0x63, 0x68, 0x65, 0x5b, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, +0x54, 0x20, 0x2b, 0x20, 0x38, 0x2a, 0x6c, 0x78, 0x20, 0x2d, 0x20, 0x43, 0x41, 0x43, 0x48, 0x45, +0x5f, 0x53, 0x54, 0x52, 0x49, 0x44, 0x45, 0x20, 0x2b, 0x20, 0x63, 0x6c, 0x61, 0x6d, 0x70, 0x5f, +0x69, 0x6e, 0x74, 0x28, 0x20, 0x6a, 0x20, 0x2d, 0x20, 0x31, 0x2c, 0x20, 0x2d, 0x31, 0x2c, 0x20, +0x31, 0x35, 0x20, 0x29, 0x5d, 0x20, 0x2b, 0x0a, 0x32, 0x2a, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5b, +0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x20, 0x2b, 0x20, 0x38, +0x2a, 0x6c, 0x78, 0x20, 0x2d, 0x20, 0x43, 0x41, 0x43, 0x48, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x49, +0x44, 0x45, 0x20, 0x2b, 0x20, 0x63, 0x6c, 0x61, 0x6d, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x28, 0x20, +0x6a, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x31, 0x35, 0x20, 0x29, 0x5d, 0x20, 0x2b, 0x0a, 0x63, 0x61, +0x63, 0x68, 0x65, 0x5b, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, +0x20, 0x2b, 0x20, 0x38, 0x2a, 0x6c, 0x78, 0x20, 0x2d, 0x20, 0x43, 0x41, 0x43, 0x48, 0x45, 0x5f, +0x53, 0x54, 0x52, 0x49, 0x44, 0x45, 0x20, 0x2b, 0x20, 0x63, 0x6c, 0x61, 0x6d, 0x70, 0x5f, 0x69, +0x6e, 0x74, 0x28, 0x20, 0x6a, 0x20, 0x2b, 0x20, 0x31, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x31, 0x35, +0x20, 0x29, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x20, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, +0x6c, 0x65, 0x66, 0x74, 0x5b, 0x6c, 0x78, 0x2a, 0x38, 0x20, 0x2b, 0x20, 0x6c, 0x79, 0x5d, 0x20, +0x3d, 0x20, 0x28, 0x20, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5b, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, +0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x20, 0x2b, 0x20, 0x38, 0x2a, 0x6c, 0x78, 0x20, 0x2d, 0x20, +0x31, 0x20, 0x2b, 0x20, 0x43, 0x41, 0x43, 0x48, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x44, 0x45, +0x2a, 0x28, 0x6c, 0x79, 0x20, 0x2d, 0x20, 0x31, 0x29, 0x5d, 0x20, 0x2b, 0x0a, 0x32, 0x2a, 0x63, +0x61, 0x63, 0x68, 0x65, 0x5b, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, +0x54, 0x20, 0x2b, 0x20, 0x38, 0x2a, 0x6c, 0x78, 0x20, 0x2d, 0x20, 0x31, 0x20, 0x2b, 0x20, 0x43, +0x41, 0x43, 0x48, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x44, 0x45, 0x2a, 0x6c, 0x79, 0x5d, 0x20, +0x2b, 0x0a, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5b, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x4f, 0x46, +0x46, 0x53, 0x45, 0x54, 0x20, 0x2b, 0x20, 0x38, 0x2a, 0x6c, 0x78, 0x20, 0x2d, 0x20, 0x31, 0x20, +0x2b, 0x20, 0x43, 0x41, 0x43, 0x48, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x44, 0x45, 0x2a, 0x63, +0x6c, 0x61, 0x6d, 0x70, 0x28, 0x28, 0x6c, 0x79, 0x20, 0x2b, 0x20, 0x31, 0x29, 0x2c, 0x20, 0x30, +0x2c, 0x20, 0x37, 0x20, 0x29, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x20, 0x29, 0x20, 0x3e, 0x3e, 0x20, +0x32, 0x3b, 0x0a, 0x69, 0x66, 0x28, 0x20, 0x30, 0x20, 0x3d, 0x3d, 0x20, 0x6c, 0x79, 0x20, 0x29, +0x0a, 0x7b, 0x0a, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x74, 0x6f, 0x70, 0x5b, 0x6c, 0x78, 0x5d, 0x20, +0x3d, 0x20, 0x28, 0x20, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5b, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, +0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x20, 0x2b, 0x20, 0x38, 0x2a, 0x6c, 0x78, 0x20, 0x2d, 0x20, +0x31, 0x5d, 0x20, 0x2b, 0x20, 0x32, 0x2a, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5b, 0x42, 0x4c, 0x4f, +0x43, 0x4b, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x20, 0x2b, 0x20, 0x38, 0x2a, 0x6c, 0x78, +0x20, 0x2d, 0x20, 0x31, 0x20, 0x2d, 0x20, 0x43, 0x41, 0x43, 0x48, 0x45, 0x5f, 0x53, 0x54, 0x52, +0x49, 0x44, 0x45, 0x5d, 0x20, 0x2b, 0x0a, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5b, 0x42, 0x4c, 0x4f, +0x43, 0x4b, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x20, 0x2b, 0x20, 0x38, 0x2a, 0x6c, 0x78, +0x20, 0x2d, 0x20, 0x43, 0x41, 0x43, 0x48, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x44, 0x45, 0x5d, +0x20, 0x2b, 0x20, 0x32, 0x20, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x63, 0x6f, 0x73, +0x74, 0x5f, 0x62, 0x75, 0x66, 0x5b, 0x6c, 0x78, 0x5d, 0x20, 0x3d, 0x20, 0x43, 0x4f, 0x53, 0x54, +0x5f, 0x4d, 0x41, 0x58, 0x3b, 0x0a, 0x7d, 0x0a, 0x62, 0x61, 0x72, 0x72, 0x69, 0x65, 0x72, 0x28, +0x20, 0x43, 0x4c, 0x4b, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x5f, 0x4d, 0x45, 0x4d, 0x5f, 0x46, +0x45, 0x4e, 0x43, 0x45, 0x20, 0x29, 0x3b, 0x0a, 0x73, 0x77, 0x69, 0x74, 0x63, 0x68, 0x28, 0x20, +0x6c, 0x79, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x63, 0x61, 0x73, 0x65, 0x20, 0x30, 0x3a, 0x0a, 0x73, +0x61, 0x74, 0x64, 0x20, 0x3d, 0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, +0x63, 0x74, 0x5f, 0x38, 0x78, 0x38, 0x63, 0x5f, 0x68, 0x28, 0x20, 0x26, 0x63, 0x61, 0x63, 0x68, +0x65, 0x5b, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x20, 0x2b, +0x20, 0x38, 0x2a, 0x6c, 0x78, 0x5d, 0x2c, 0x20, 0x43, 0x41, 0x43, 0x48, 0x45, 0x5f, 0x53, 0x54, +0x52, 0x49, 0x44, 0x45, 0x20, 0x29, 0x3b, 0x0a, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x63, +0x61, 0x73, 0x65, 0x20, 0x31, 0x3a, 0x0a, 0x73, 0x61, 0x74, 0x64, 0x20, 0x3d, 0x20, 0x78, 0x32, +0x36, 0x34, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x5f, 0x38, 0x78, 0x38, 0x63, 0x5f, +0x76, 0x28, 0x20, 0x26, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5b, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, +0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x20, 0x2b, 0x20, 0x38, 0x2a, 0x6c, 0x78, 0x5d, 0x2c, 0x20, +0x43, 0x41, 0x43, 0x48, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x44, 0x45, 0x20, 0x29, 0x3b, 0x0a, +0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x63, 0x61, 0x73, 0x65, 0x20, 0x32, 0x3a, 0x0a, 0x73, +0x61, 0x74, 0x64, 0x20, 0x3d, 0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, +0x63, 0x74, 0x5f, 0x38, 0x78, 0x38, 0x63, 0x5f, 0x64, 0x63, 0x28, 0x20, 0x26, 0x63, 0x61, 0x63, +0x68, 0x65, 0x5b, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x20, +0x2b, 0x20, 0x38, 0x2a, 0x6c, 0x78, 0x5d, 0x2c, 0x20, 0x43, 0x41, 0x43, 0x48, 0x45, 0x5f, 0x53, +0x54, 0x52, 0x49, 0x44, 0x45, 0x20, 0x29, 0x3b, 0x0a, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, +0x63, 0x61, 0x73, 0x65, 0x20, 0x33, 0x3a, 0x0a, 0x73, 0x61, 0x74, 0x64, 0x20, 0x3d, 0x20, 0x78, +0x32, 0x36, 0x34, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x5f, 0x38, 0x78, 0x38, 0x63, +0x5f, 0x70, 0x28, 0x20, 0x26, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5b, 0x42, 0x4c, 0x4f, 0x43, 0x4b, +0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x20, 0x2b, 0x20, 0x38, 0x2a, 0x6c, 0x78, 0x5d, 0x2c, +0x20, 0x43, 0x41, 0x43, 0x48, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x44, 0x45, 0x20, 0x29, 0x3b, +0x0a, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x63, 0x61, 0x73, 0x65, 0x20, 0x34, 0x3a, 0x0a, +0x73, 0x61, 0x74, 0x64, 0x20, 0x3d, 0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, 0x70, 0x72, 0x65, 0x64, +0x69, 0x63, 0x74, 0x5f, 0x38, 0x78, 0x38, 0x5f, 0x64, 0x64, 0x72, 0x28, 0x20, 0x26, 0x63, 0x61, +0x63, 0x68, 0x65, 0x5b, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, +0x20, 0x2b, 0x20, 0x38, 0x2a, 0x6c, 0x78, 0x5d, 0x2c, 0x20, 0x43, 0x41, 0x43, 0x48, 0x45, 0x5f, +0x53, 0x54, 0x52, 0x49, 0x44, 0x45, 0x2c, 0x20, 0x26, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x36, 0x2a, +0x6c, 0x78, 0x5d, 0x2c, 0x20, 0x26, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x38, 0x2a, 0x6c, 0x78, 0x5d, +0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x74, 0x6f, 0x70, 0x5b, 0x6c, 0x78, 0x5d, 0x20, 0x29, +0x3b, 0x0a, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x63, 0x61, 0x73, 0x65, 0x20, 0x35, 0x3a, +0x0a, 0x73, 0x61, 0x74, 0x64, 0x20, 0x3d, 0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, 0x70, 0x72, 0x65, +0x64, 0x69, 0x63, 0x74, 0x5f, 0x38, 0x78, 0x38, 0x5f, 0x76, 0x72, 0x28, 0x20, 0x26, 0x63, 0x61, +0x63, 0x68, 0x65, 0x5b, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, +0x20, 0x2b, 0x20, 0x38, 0x2a, 0x6c, 0x78, 0x5d, 0x2c, 0x20, 0x43, 0x41, 0x43, 0x48, 0x45, 0x5f, +0x53, 0x54, 0x52, 0x49, 0x44, 0x45, 0x2c, 0x20, 0x26, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x36, 0x2a, +0x6c, 0x78, 0x5d, 0x2c, 0x20, 0x26, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x38, 0x2a, 0x6c, 0x78, 0x5d, +0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x74, 0x6f, 0x70, 0x5b, 0x6c, 0x78, 0x5d, 0x20, 0x29, +0x3b, 0x0a, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x63, 0x61, 0x73, 0x65, 0x20, 0x36, 0x3a, +0x0a, 0x73, 0x61, 0x74, 0x64, 0x20, 0x3d, 0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, 0x70, 0x72, 0x65, +0x64, 0x69, 0x63, 0x74, 0x5f, 0x38, 0x78, 0x38, 0x5f, 0x68, 0x64, 0x28, 0x20, 0x26, 0x63, 0x61, +0x63, 0x68, 0x65, 0x5b, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, +0x20, 0x2b, 0x20, 0x38, 0x2a, 0x6c, 0x78, 0x5d, 0x2c, 0x20, 0x43, 0x41, 0x43, 0x48, 0x45, 0x5f, +0x53, 0x54, 0x52, 0x49, 0x44, 0x45, 0x2c, 0x20, 0x26, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x36, 0x2a, +0x6c, 0x78, 0x5d, 0x2c, 0x20, 0x26, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x38, 0x2a, 0x6c, 0x78, 0x5d, +0x2c, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x74, 0x6f, 0x70, 0x5b, 0x6c, 0x78, 0x5d, 0x20, 0x29, +0x3b, 0x0a, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x63, 0x61, 0x73, 0x65, 0x20, 0x37, 0x3a, +0x0a, 0x73, 0x61, 0x74, 0x64, 0x20, 0x3d, 0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, 0x70, 0x72, 0x65, +0x64, 0x69, 0x63, 0x74, 0x5f, 0x38, 0x78, 0x38, 0x5f, 0x68, 0x75, 0x28, 0x20, 0x26, 0x63, 0x61, +0x63, 0x68, 0x65, 0x5b, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, +0x20, 0x2b, 0x20, 0x38, 0x2a, 0x6c, 0x78, 0x5d, 0x2c, 0x20, 0x43, 0x41, 0x43, 0x48, 0x45, 0x5f, +0x53, 0x54, 0x52, 0x49, 0x44, 0x45, 0x2c, 0x20, 0x26, 0x6c, 0x65, 0x66, 0x74, 0x5b, 0x38, 0x2a, +0x6c, 0x78, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x64, 0x65, +0x66, 0x61, 0x75, 0x6c, 0x74, 0x3a, 0x0a, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x7d, 0x0a, +0x61, 0x74, 0x6f, 0x6d, 0x5f, 0x6d, 0x69, 0x6e, 0x28, 0x20, 0x26, 0x63, 0x6f, 0x73, 0x74, 0x5f, +0x62, 0x75, 0x66, 0x5b, 0x6c, 0x78, 0x5d, 0x2c, 0x20, 0x73, 0x61, 0x74, 0x64, 0x20, 0x29, 0x3b, +0x0a, 0x69, 0x66, 0x28, 0x20, 0x73, 0x6c, 0x6f, 0x77, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x73, 0x77, +0x69, 0x74, 0x63, 0x68, 0x28, 0x20, 0x6c, 0x79, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x63, 0x61, 0x73, +0x65, 0x20, 0x30, 0x3a, 0x20, 0x2f, 0x2f, 0x20, 0x44, 0x44, 0x4c, 0x0a, 0x73, 0x61, 0x74, 0x64, +0x20, 0x3d, 0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x5f, +0x38, 0x78, 0x38, 0x5f, 0x64, 0x64, 0x6c, 0x28, 0x20, 0x26, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5b, +0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x20, 0x2b, 0x20, 0x38, +0x2a, 0x6c, 0x78, 0x5d, 0x2c, 0x20, 0x43, 0x41, 0x43, 0x48, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x49, +0x44, 0x45, 0x2c, 0x20, 0x26, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x36, 0x2a, 0x6c, 0x78, 0x5d, 0x20, +0x29, 0x3b, 0x0a, 0x61, 0x74, 0x6f, 0x6d, 0x5f, 0x6d, 0x69, 0x6e, 0x28, 0x20, 0x26, 0x63, 0x6f, +0x73, 0x74, 0x5f, 0x62, 0x75, 0x66, 0x5b, 0x6c, 0x78, 0x5d, 0x2c, 0x20, 0x73, 0x61, 0x74, 0x64, +0x20, 0x29, 0x3b, 0x0a, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x63, 0x61, 0x73, 0x65, 0x20, +0x31, 0x3a, 0x20, 0x2f, 0x2f, 0x20, 0x56, 0x4c, 0x0a, 0x73, 0x61, 0x74, 0x64, 0x20, 0x3d, 0x20, +0x78, 0x32, 0x36, 0x34, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x69, 0x63, 0x74, 0x5f, 0x38, 0x78, 0x38, +0x5f, 0x76, 0x6c, 0x28, 0x20, 0x26, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5b, 0x42, 0x4c, 0x4f, 0x43, +0x4b, 0x5f, 0x4f, 0x46, 0x46, 0x53, 0x45, 0x54, 0x20, 0x2b, 0x20, 0x38, 0x2a, 0x6c, 0x78, 0x5d, +0x2c, 0x20, 0x43, 0x41, 0x43, 0x48, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x44, 0x45, 0x2c, 0x20, +0x26, 0x74, 0x6f, 0x70, 0x5b, 0x31, 0x36, 0x2a, 0x6c, 0x78, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x61, +0x74, 0x6f, 0x6d, 0x5f, 0x6d, 0x69, 0x6e, 0x28, 0x20, 0x26, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x62, +0x75, 0x66, 0x5b, 0x6c, 0x78, 0x5d, 0x2c, 0x20, 0x73, 0x61, 0x74, 0x64, 0x20, 0x29, 0x3b, 0x0a, +0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x3a, 0x0a, +0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x7d, 0x0a, 0x7d, 0x0a, 0x62, 0x61, 0x72, 0x72, 0x69, +0x65, 0x72, 0x28, 0x20, 0x43, 0x4c, 0x4b, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x5f, 0x4d, 0x45, +0x4d, 0x5f, 0x46, 0x45, 0x4e, 0x43, 0x45, 0x20, 0x29, 0x3b, 0x0a, 0x69, 0x66, 0x28, 0x20, 0x28, +0x30, 0x20, 0x3d, 0x3d, 0x20, 0x6c, 0x79, 0x29, 0x20, 0x26, 0x26, 0x20, 0x28, 0x67, 0x78, 0x20, +0x3c, 0x20, 0x6d, 0x62, 0x5f, 0x77, 0x69, 0x64, 0x74, 0x68, 0x29, 0x20, 0x29, 0x0a, 0x66, 0x65, +0x6e, 0x63, 0x5f, 0x69, 0x6e, 0x74, 0x72, 0x61, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x5b, 0x67, 0x69, +0x64, 0x79, 0x20, 0x2a, 0x20, 0x6d, 0x62, 0x5f, 0x77, 0x69, 0x64, 0x74, 0x68, 0x20, 0x2b, 0x20, +0x67, 0x78, 0x5d, 0x20, 0x3d, 0x20, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x62, 0x75, 0x66, 0x5b, 0x6c, +0x78, 0x5d, 0x2b, 0x20, 0x35, 0x2a, 0x6c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x3b, 0x0a, 0x69, 0x66, +0x28, 0x20, 0x67, 0x78, 0x20, 0x3c, 0x20, 0x32, 0x20, 0x26, 0x26, 0x20, 0x67, 0x79, 0x20, 0x3d, +0x3d, 0x20, 0x30, 0x20, 0x29, 0x0a, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, +0x73, 0x5b, 0x67, 0x78, 0x5d, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x23, 0x75, 0x6e, 0x64, 0x65, +0x66, 0x20, 0x43, 0x41, 0x43, 0x48, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x44, 0x45, 0x0a, 0x23, +0x75, 0x6e, 0x64, 0x65, 0x66, 0x20, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x5f, 0x4f, 0x46, 0x46, 0x53, +0x45, 0x54, 0x0a, 0x7d, 0x0a, 0x2f, 0x2a, 0x0a, 0x2a, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6c, 0x6c, +0x65, 0x6c, 0x20, 0x73, 0x75, 0x6d, 0x20, 0x69, 0x6e, 0x74, 0x72, 0x61, 0x20, 0x63, 0x6f, 0x73, +0x74, 0x73, 0x0a, 0x2a, 0x0a, 0x2a, 0x20, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x20, 0x6c, 0x61, +0x75, 0x6e, 0x63, 0x68, 0x20, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, +0x20, 0x5b, 0x32, 0x35, 0x36, 0x2c, 0x20, 0x6d, 0x62, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, +0x5d, 0x0a, 0x2a, 0x2f, 0x0a, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x20, 0x76, 0x6f, 0x69, 0x64, +0x20, 0x73, 0x75, 0x6d, 0x5f, 0x69, 0x6e, 0x74, 0x72, 0x61, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x28, +0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x20, 0x75, 0x69, +0x6e, 0x74, 0x31, 0x36, 0x5f, 0x74, 0x20, 0x2a, 0x66, 0x65, 0x6e, 0x63, 0x5f, 0x69, 0x6e, 0x74, +0x72, 0x61, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x2c, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x67, +0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x20, 0x75, 0x69, 0x6e, 0x74, 0x31, 0x36, 0x5f, 0x74, 0x20, 0x2a, +0x69, 0x6e, 0x76, 0x5f, 0x71, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, +0x72, 0x2c, 0x0a, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x20, 0x20, +0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2a, 0x66, 0x65, 0x6e, 0x63, 0x5f, 0x72, 0x6f, +0x77, 0x5f, 0x73, 0x61, 0x74, 0x64, 0x73, 0x2c, 0x0a, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x20, +0x69, 0x6e, 0x74, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2a, 0x66, +0x72, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x2c, 0x0a, 0x69, 0x6e, 0x74, 0x20, +0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, +0x20, 0x20, 0x6d, 0x62, 0x5f, 0x77, 0x69, 0x64, 0x74, 0x68, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x69, +0x6e, 0x74, 0x20, 0x79, 0x20, 0x3d, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, +0x6c, 0x5f, 0x69, 0x64, 0x28, 0x20, 0x31, 0x20, 0x29, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x6d, +0x62, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x20, 0x3d, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x67, +0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x20, 0x31, 0x20, 0x29, 0x3b, +0x0a, 0x69, 0x6e, 0x74, 0x20, 0x72, 0x6f, 0x77, 0x5f, 0x73, 0x61, 0x74, 0x64, 0x73, 0x20, 0x3d, +0x20, 0x30, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x65, 0x73, 0x74, +0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x65, +0x73, 0x74, 0x5f, 0x61, 0x71, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x66, 0x6f, 0x72, 0x28, 0x20, +0x69, 0x6e, 0x74, 0x20, 0x78, 0x20, 0x3d, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x6c, 0x6f, 0x62, +0x61, 0x6c, 0x5f, 0x69, 0x64, 0x28, 0x20, 0x30, 0x20, 0x29, 0x3b, 0x20, 0x78, 0x20, 0x3c, 0x20, +0x6d, 0x62, 0x5f, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3b, 0x20, 0x78, 0x20, 0x2b, 0x3d, 0x20, 0x67, +0x65, 0x74, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x20, +0x30, 0x20, 0x29, 0x29, 0x0a, 0x7b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x6d, 0x62, 0x5f, 0x78, 0x79, +0x20, 0x3d, 0x20, 0x78, 0x20, 0x2b, 0x20, 0x79, 0x20, 0x2a, 0x20, 0x6d, 0x62, 0x5f, 0x77, 0x69, +0x64, 0x74, 0x68, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x63, 0x6f, 0x73, 0x74, 0x20, 0x3d, 0x20, +0x66, 0x65, 0x6e, 0x63, 0x5f, 0x69, 0x6e, 0x74, 0x72, 0x61, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x5b, +0x6d, 0x62, 0x5f, 0x78, 0x79, 0x5d, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x63, 0x6f, 0x73, 0x74, +0x5f, 0x61, 0x71, 0x20, 0x3d, 0x20, 0x28, 0x63, 0x6f, 0x73, 0x74, 0x20, 0x2a, 0x20, 0x69, 0x6e, +0x76, 0x5f, 0x71, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x5b, +0x6d, 0x62, 0x5f, 0x78, 0x79, 0x5d, 0x20, 0x2b, 0x20, 0x31, 0x32, 0x38, 0x29, 0x20, 0x3e, 0x3e, +0x20, 0x38, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x62, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, +0x73, 0x63, 0x6f, 0x72, 0x65, 0x5f, 0x6d, 0x62, 0x20, 0x3d, 0x20, 0x28, 0x78, 0x20, 0x3e, 0x20, +0x30, 0x20, 0x26, 0x26, 0x20, 0x78, 0x20, 0x3c, 0x20, 0x6d, 0x62, 0x5f, 0x77, 0x69, 0x64, 0x74, +0x68, 0x20, 0x2d, 0x20, 0x31, 0x20, 0x26, 0x26, 0x20, 0x79, 0x20, 0x3e, 0x20, 0x30, 0x20, 0x26, +0x26, 0x20, 0x79, 0x20, 0x3c, 0x20, 0x6d, 0x62, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x20, +0x2d, 0x20, 0x31, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x6d, 0x62, 0x5f, 0x77, 0x69, 0x64, 0x74, 0x68, +0x20, 0x3c, 0x3d, 0x20, 0x32, 0x20, 0x7c, 0x7c, 0x20, 0x6d, 0x62, 0x5f, 0x68, 0x65, 0x69, 0x67, +0x68, 0x74, 0x20, 0x3c, 0x3d, 0x20, 0x32, 0x3b, 0x0a, 0x72, 0x6f, 0x77, 0x5f, 0x73, 0x61, 0x74, +0x64, 0x73, 0x20, 0x2b, 0x3d, 0x20, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x61, 0x71, 0x3b, 0x0a, 0x69, +0x66, 0x28, 0x20, 0x62, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, +0x5f, 0x6d, 0x62, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x65, 0x73, 0x74, +0x20, 0x2b, 0x3d, 0x20, 0x63, 0x6f, 0x73, 0x74, 0x3b, 0x0a, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x65, +0x73, 0x74, 0x5f, 0x61, 0x71, 0x20, 0x2b, 0x3d, 0x20, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x61, 0x71, +0x3b, 0x0a, 0x7d, 0x0a, 0x7d, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x69, 0x6e, 0x74, 0x20, +0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x5b, 0x32, 0x35, 0x36, 0x5d, 0x3b, 0x0a, 0x69, 0x6e, 0x74, +0x20, 0x78, 0x20, 0x3d, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, +0x69, 0x64, 0x28, 0x20, 0x30, 0x20, 0x29, 0x3b, 0x0a, 0x72, 0x6f, 0x77, 0x5f, 0x73, 0x61, 0x74, +0x64, 0x73, 0x20, 0x20, 0x20, 0x3d, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x5f, +0x73, 0x75, 0x6d, 0x28, 0x20, 0x72, 0x6f, 0x77, 0x5f, 0x73, 0x61, 0x74, 0x64, 0x73, 0x2c, 0x20, +0x78, 0x2c, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x20, 0x29, 0x3b, 0x0a, 0x63, 0x6f, 0x73, +0x74, 0x5f, 0x65, 0x73, 0x74, 0x20, 0x20, 0x20, 0x20, 0x3d, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6c, +0x6c, 0x65, 0x6c, 0x5f, 0x73, 0x75, 0x6d, 0x28, 0x20, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x65, 0x73, +0x74, 0x2c, 0x20, 0x78, 0x2c, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x20, 0x29, 0x3b, 0x0a, +0x63, 0x6f, 0x73, 0x74, 0x5f, 0x65, 0x73, 0x74, 0x5f, 0x61, 0x71, 0x20, 0x3d, 0x20, 0x70, 0x61, +0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x5f, 0x73, 0x75, 0x6d, 0x28, 0x20, 0x63, 0x6f, 0x73, 0x74, +0x5f, 0x65, 0x73, 0x74, 0x5f, 0x61, 0x71, 0x2c, 0x20, 0x78, 0x2c, 0x20, 0x62, 0x75, 0x66, 0x66, +0x65, 0x72, 0x20, 0x29, 0x3b, 0x0a, 0x69, 0x66, 0x28, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x6c, +0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x28, 0x20, 0x30, 0x20, 0x29, 0x20, 0x3d, 0x3d, 0x20, +0x30, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x66, 0x65, 0x6e, 0x63, 0x5f, 0x72, 0x6f, 0x77, 0x5f, 0x73, +0x61, 0x74, 0x64, 0x73, 0x5b, 0x79, 0x5d, 0x20, 0x3d, 0x20, 0x72, 0x6f, 0x77, 0x5f, 0x73, 0x61, +0x74, 0x64, 0x73, 0x3b, 0x0a, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x5f, 0x61, 0x64, 0x64, 0x28, +0x20, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x20, 0x2b, 0x20, 0x43, +0x4f, 0x53, 0x54, 0x5f, 0x45, 0x53, 0x54, 0x2c, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x73, 0x74, +0x5f, 0x65, 0x73, 0x74, 0x20, 0x29, 0x3b, 0x0a, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x5f, 0x61, +0x64, 0x64, 0x28, 0x20, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x73, 0x20, +0x2b, 0x20, 0x43, 0x4f, 0x53, 0x54, 0x5f, 0x45, 0x53, 0x54, 0x5f, 0x41, 0x51, 0x2c, 0x20, 0x63, +0x6f, 0x73, 0x74, 0x5f, 0x65, 0x73, 0x74, 0x5f, 0x61, 0x71, 0x20, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, +0x7d, 0x0a, 0x2f, 0x2a, 0x20, 0x48, 0x69, 0x65, 0x72, 0x61, 0x72, 0x63, 0x68, 0x69, 0x63, 0x61, +0x6c, 0x20, 0x28, 0x69, 0x74, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x29, 0x20, 0x4f, 0x70, +0x65, 0x6e, 0x43, 0x4c, 0x20, 0x6c, 0x6f, 0x77, 0x72, 0x65, 0x73, 0x20, 0x6d, 0x6f, 0x74, 0x69, +0x6f, 0x6e, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x20, 0x2a, 0x2f, 0x0a, 0x69, 0x6e, 0x6c, +0x69, 0x6e, 0x65, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x66, 0x69, 0x6e, 0x64, 0x5f, 0x64, 0x6f, 0x77, +0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x5f, 0x6d, 0x62, 0x5f, 0x78, 0x79, 0x28, 0x20, 0x69, 0x6e, +0x74, 0x20, 0x78, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x79, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x20, +0x6d, 0x62, 0x5f, 0x77, 0x69, 0x64, 0x74, 0x68, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x6d, 0x62, +0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x2f, 0x2a, 0x20, 0x65, +0x64, 0x67, 0x65, 0x20, 0x6d, 0x61, 0x63, 0x72, 0x6f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x20, +0x6d, 0x69, 0x67, 0x68, 0x74, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x61, +0x20, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x20, 0x64, 0x65, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x61, +0x6e, 0x74, 0x2c, 0x20, 0x75, 0x73, 0x65, 0x20, 0x6e, 0x65, 0x61, 0x72, 0x65, 0x73, 0x74, 0x20, +0x2a, 0x2f, 0x0a, 0x78, 0x20, 0x3d, 0x20, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x28, 0x20, 0x78, +0x20, 0x3e, 0x3e, 0x20, 0x31, 0x2c, 0x20, 0x28, 0x78, 0x20, 0x2d, 0x20, 0x28, 0x6d, 0x62, 0x5f, +0x77, 0x69, 0x64, 0x74, 0x68, 0x26, 0x31, 0x29, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x31, 0x2c, 0x20, +0x78, 0x20, 0x3d, 0x3d, 0x20, 0x6d, 0x62, 0x5f, 0x77, 0x69, 0x64, 0x74, 0x68, 0x2d, 0x31, 0x20, +0x29, 0x3b, 0x0a, 0x79, 0x20, 0x3d, 0x20, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x28, 0x20, 0x79, +0x20, 0x3e, 0x3e, 0x20, 0x31, 0x2c, 0x20, 0x28, 0x79, 0x20, 0x2d, 0x20, 0x28, 0x6d, 0x62, 0x5f, +0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x26, 0x31, 0x29, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x31, 0x2c, +0x20, 0x79, 0x20, 0x3d, 0x3d, 0x20, 0x6d, 0x62, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x2d, +0x31, 0x20, 0x29, 0x3b, 0x0a, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x28, 0x6d, 0x62, 0x5f, +0x77, 0x69, 0x64, 0x74, 0x68, 0x3e, 0x3e, 0x31, 0x29, 0x20, 0x2a, 0x20, 0x79, 0x20, 0x2b, 0x20, +0x78, 0x3b, 0x0a, 0x7d, 0x0a, 0x2f, 0x2a, 0x20, 0x46, 0x6f, 0x75, 0x72, 0x20, 0x74, 0x68, 0x72, +0x65, 0x61, 0x64, 0x73, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x20, 0x61, +0x6e, 0x20, 0x38, 0x78, 0x38, 0x20, 0x53, 0x41, 0x44, 0x2e, 0x20, 0x20, 0x45, 0x61, 0x63, 0x68, +0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x74, 0x77, 0x6f, 0x20, 0x72, 0x6f, 0x77, 0x73, 0x20, 0x2a, +0x2f, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x73, 0x61, 0x64, 0x5f, 0x38, 0x78, 0x38, 0x5f, 0x69, 0x69, +0x5f, 0x63, 0x6f, 0x6f, 0x70, 0x34, 0x28, 0x20, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, +0x79, 0x20, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x32, 0x64, 0x5f, 0x74, 0x20, 0x66, 0x65, 0x6e, 0x63, +0x2c, 0x20, 0x69, 0x6e, 0x74, 0x32, 0x20, 0x66, 0x65, 0x6e, 0x63, 0x70, 0x6f, 0x73, 0x2c, 0x20, +0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x32, +0x64, 0x5f, 0x74, 0x20, 0x66, 0x72, 0x65, 0x66, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x32, 0x20, 0x66, +0x72, 0x65, 0x66, 0x70, 0x6f, 0x73, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x64, 0x78, 0x2c, +0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x69, 0x6e, 0x74, 0x31, 0x36, 0x5f, 0x74, 0x20, 0x2a, +0x63, 0x6f, 0x73, 0x74, 0x73, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x66, 0x72, 0x65, 0x66, 0x70, 0x6f, +0x73, 0x2e, 0x79, 0x20, 0x2b, 0x3d, 0x20, 0x69, 0x64, 0x78, 0x20, 0x3c, 0x3c, 0x20, 0x31, 0x3b, +0x0a, 0x66, 0x65, 0x6e, 0x63, 0x70, 0x6f, 0x73, 0x2e, 0x79, 0x20, 0x2b, 0x3d, 0x20, 0x69, 0x64, +0x78, 0x20, 0x3c, 0x3c, 0x20, 0x31, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x63, 0x6f, 0x73, 0x74, +0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x69, 0x66, 0x28, 0x20, 0x66, 0x72, 0x65, 0x66, 0x70, 0x6f, +0x73, 0x2e, 0x78, 0x20, 0x3c, 0x20, 0x30, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x2f, 0x2a, 0x20, 0x73, +0x6c, 0x6f, 0x77, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x4d, 0x56, +0x20, 0x67, 0x6f, 0x65, 0x73, 0x20, 0x70, 0x61, 0x73, 0x74, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x20, +0x65, 0x64, 0x67, 0x65, 0x2e, 0x20, 0x20, 0x54, 0x68, 0x65, 0x20, 0x47, 0x50, 0x55, 0x20, 0x63, +0x6c, 0x61, 0x6d, 0x70, 0x73, 0x20, 0x72, 0x65, 0x61, 0x64, 0x73, 0x20, 0x66, 0x72, 0x6f, 0x6d, +0x0a, 0x2a, 0x20, 0x28, 0x2d, 0x31, 0x2c, 0x20, 0x30, 0x29, 0x20, 0x74, 0x6f, 0x20, 0x28, 0x30, +0x2c, 0x30, 0x29, 0x2c, 0x20, 0x73, 0x6f, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x67, 0x65, 0x74, 0x20, +0x70, 0x69, 0x78, 0x65, 0x6c, 0x73, 0x20, 0x5b, 0x30, 0x2c, 0x20, 0x31, 0x2c, 0x20, 0x32, 0x2c, +0x20, 0x33, 0x5d, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x77, 0x68, 0x61, 0x74, 0x20, 0x79, 0x6f, +0x75, 0x20, 0x72, 0x65, 0x61, 0x6c, 0x6c, 0x79, 0x0a, 0x2a, 0x20, 0x77, 0x61, 0x6e, 0x74, 0x20, +0x61, 0x72, 0x65, 0x20, 0x5b, 0x30, 0x2c, 0x20, 0x30, 0x2c, 0x20, 0x31, 0x2c, 0x20, 0x32, 0x5d, +0x0a, 0x2a, 0x2f, 0x0a, 0x66, 0x6f, 0x72, 0x28, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x79, 0x20, 0x3d, +0x20, 0x30, 0x3b, 0x20, 0x79, 0x20, 0x3c, 0x20, 0x32, 0x3b, 0x20, 0x79, 0x2b, 0x2b, 0x20, 0x29, +0x0a, 0x7b, 0x0a, 0x66, 0x6f, 0x72, 0x28, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x20, 0x3d, 0x20, +0x30, 0x3b, 0x20, 0x78, 0x20, 0x3c, 0x20, 0x38, 0x3b, 0x20, 0x78, 0x2b, 0x2b, 0x20, 0x29, 0x0a, +0x7b, 0x0a, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x65, 0x6e, 0x63, 0x20, 0x3d, 0x20, 0x72, 0x65, +0x61, 0x64, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x75, 0x69, 0x28, 0x20, 0x66, 0x65, 0x6e, 0x63, +0x2c, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x66, 0x65, 0x6e, 0x63, 0x70, +0x6f, 0x73, 0x20, 0x2b, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x32, 0x29, 0x28, 0x78, 0x2c, 0x20, 0x79, +0x29, 0x20, 0x29, 0x2e, 0x73, 0x30, 0x3b, 0x0a, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x72, 0x65, +0x66, 0x20, 0x3d, 0x20, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x75, 0x69, +0x28, 0x20, 0x66, 0x72, 0x65, 0x66, 0x2c, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, +0x20, 0x66, 0x72, 0x65, 0x66, 0x70, 0x6f, 0x73, 0x20, 0x2b, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x32, +0x29, 0x28, 0x78, 0x2c, 0x20, 0x79, 0x29, 0x20, 0x29, 0x2e, 0x73, 0x30, 0x3b, 0x0a, 0x63, 0x6f, +0x73, 0x74, 0x20, 0x2b, 0x3d, 0x20, 0x61, 0x62, 0x73, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x28, 0x20, +0x65, 0x6e, 0x63, 0x2c, 0x20, 0x72, 0x65, 0x66, 0x20, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x7d, 0x0a, +0x7d, 0x0a, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x7b, 0x0a, 0x75, 0x69, 0x6e, 0x74, 0x34, 0x20, 0x65, +0x6e, 0x63, 0x2c, 0x20, 0x72, 0x65, 0x66, 0x2c, 0x20, 0x63, 0x6f, 0x73, 0x74, 0x73, 0x20, 0x3d, +0x20, 0x30, 0x3b, 0x0a, 0x65, 0x6e, 0x63, 0x20, 0x3d, 0x20, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x69, +0x6d, 0x61, 0x67, 0x65, 0x75, 0x69, 0x28, 0x20, 0x66, 0x65, 0x6e, 0x63, 0x2c, 0x20, 0x73, 0x61, +0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x66, 0x65, 0x6e, 0x63, 0x70, 0x6f, 0x73, 0x20, 0x29, +0x3b, 0x0a, 0x72, 0x65, 0x66, 0x20, 0x3d, 0x20, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x69, 0x6d, 0x61, +0x67, 0x65, 0x75, 0x69, 0x28, 0x20, 0x66, 0x72, 0x65, 0x66, 0x2c, 0x20, 0x73, 0x61, 0x6d, 0x70, +0x6c, 0x65, 0x72, 0x2c, 0x20, 0x66, 0x72, 0x65, 0x66, 0x70, 0x6f, 0x73, 0x20, 0x29, 0x3b, 0x0a, +0x63, 0x6f, 0x73, 0x74, 0x73, 0x20, 0x2b, 0x3d, 0x20, 0x61, 0x62, 0x73, 0x5f, 0x64, 0x69, 0x66, +0x66, 0x28, 0x20, 0x65, 0x6e, 0x63, 0x2c, 0x20, 0x72, 0x65, 0x66, 0x20, 0x29, 0x3b, 0x0a, 0x65, +0x6e, 0x63, 0x20, 0x3d, 0x20, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x75, +0x69, 0x28, 0x20, 0x66, 0x65, 0x6e, 0x63, 0x2c, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, +0x2c, 0x20, 0x66, 0x65, 0x6e, 0x63, 0x70, 0x6f, 0x73, 0x20, 0x2b, 0x20, 0x28, 0x69, 0x6e, 0x74, +0x32, 0x29, 0x28, 0x34, 0x2c, 0x20, 0x30, 0x29, 0x20, 0x29, 0x3b, 0x0a, 0x72, 0x65, 0x66, 0x20, +0x3d, 0x20, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x75, 0x69, 0x28, 0x20, +0x66, 0x72, 0x65, 0x66, 0x2c, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x66, +0x72, 0x65, 0x66, 0x70, 0x6f, 0x73, 0x20, 0x2b, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x32, 0x29, 0x28, +0x34, 0x2c, 0x20, 0x30, 0x29, 0x20, 0x29, 0x3b, 0x0a, 0x63, 0x6f, 0x73, 0x74, 0x73, 0x20, 0x2b, +0x3d, 0x20, 0x61, 0x62, 0x73, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x28, 0x20, 0x65, 0x6e, 0x63, 0x2c, +0x20, 0x72, 0x65, 0x66, 0x20, 0x29, 0x3b, 0x0a, 0x65, 0x6e, 0x63, 0x20, 0x3d, 0x20, 0x72, 0x65, +0x61, 0x64, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x75, 0x69, 0x28, 0x20, 0x66, 0x65, 0x6e, 0x63, +0x2c, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x66, 0x65, 0x6e, 0x63, 0x70, +0x6f, 0x73, 0x20, 0x2b, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x32, 0x29, 0x28, 0x30, 0x2c, 0x20, 0x31, +0x29, 0x20, 0x29, 0x3b, 0x0a, 0x72, 0x65, 0x66, 0x20, 0x3d, 0x20, 0x72, 0x65, 0x61, 0x64, 0x5f, +0x69, 0x6d, 0x61, 0x67, 0x65, 0x75, 0x69, 0x28, 0x20, 0x66, 0x72, 0x65, 0x66, 0x2c, 0x20, 0x73, +0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x66, 0x72, 0x65, 0x66, 0x70, 0x6f, 0x73, 0x20, +0x2b, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x32, 0x29, 0x28, 0x30, 0x2c, 0x20, 0x31, 0x29, 0x20, 0x29, +0x3b, 0x0a, 0x63, 0x6f, 0x73, 0x74, 0x73, 0x20, 0x2b, 0x3d, 0x20, 0x61, 0x62, 0x73, 0x5f, 0x64, +0x69, 0x66, 0x66, 0x28, 0x20, 0x65, 0x6e, 0x63, 0x2c, 0x20, 0x72, 0x65, 0x66, 0x20, 0x29, 0x3b, +0x0a, 0x65, 0x6e, 0x63, 0x20, 0x3d, 0x20, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x69, 0x6d, 0x61, 0x67, +0x65, 0x75, 0x69, 0x28, 0x20, 0x66, 0x65, 0x6e, 0x63, 0x2c, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, +0x65, 0x72, 0x2c, 0x20, 0x66, 0x65, 0x6e, 0x63, 0x70, 0x6f, 0x73, 0x20, 0x2b, 0x20, 0x28, 0x69, +0x6e, 0x74, 0x32, 0x29, 0x28, 0x34, 0x2c, 0x20, 0x31, 0x29, 0x20, 0x29, 0x3b, 0x0a, 0x72, 0x65, +0x66, 0x20, 0x3d, 0x20, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x75, 0x69, +0x28, 0x20, 0x66, 0x72, 0x65, 0x66, 0x2c, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, +0x20, 0x66, 0x72, 0x65, 0x66, 0x70, 0x6f, 0x73, 0x20, 0x2b, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x32, +0x29, 0x28, 0x34, 0x2c, 0x20, 0x31, 0x29, 0x20, 0x29, 0x3b, 0x0a, 0x63, 0x6f, 0x73, 0x74, 0x73, +0x20, 0x2b, 0x3d, 0x20, 0x61, 0x62, 0x73, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x28, 0x20, 0x65, 0x6e, +0x63, 0x2c, 0x20, 0x72, 0x65, 0x66, 0x20, 0x29, 0x3b, 0x0a, 0x63, 0x6f, 0x73, 0x74, 0x20, 0x3d, +0x20, 0x63, 0x6f, 0x73, 0x74, 0x73, 0x2e, 0x73, 0x30, 0x20, 0x2b, 0x20, 0x63, 0x6f, 0x73, 0x74, +0x73, 0x2e, 0x73, 0x31, 0x20, 0x2b, 0x20, 0x63, 0x6f, 0x73, 0x74, 0x73, 0x2e, 0x73, 0x32, 0x20, +0x2b, 0x20, 0x63, 0x6f, 0x73, 0x74, 0x73, 0x2e, 0x73, 0x33, 0x3b, 0x0a, 0x7d, 0x0a, 0x63, 0x6f, +0x73, 0x74, 0x73, 0x5b, 0x69, 0x64, 0x78, 0x5d, 0x20, 0x3d, 0x20, 0x63, 0x6f, 0x73, 0x74, 0x3b, +0x0a, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x63, 0x6f, 0x73, 0x74, 0x73, 0x5b, 0x30, 0x5d, +0x20, 0x2b, 0x20, 0x63, 0x6f, 0x73, 0x74, 0x73, 0x5b, 0x31, 0x5d, 0x20, 0x2b, 0x20, 0x63, 0x6f, +0x73, 0x74, 0x73, 0x5b, 0x32, 0x5d, 0x20, 0x2b, 0x20, 0x63, 0x6f, 0x73, 0x74, 0x73, 0x5b, 0x33, +0x5d, 0x3b, 0x0a, 0x7d, 0x0a, 0x2f, 0x2a, 0x20, 0x4f, 0x6e, 0x65, 0x20, 0x74, 0x68, 0x72, 0x65, +0x61, 0x64, 0x20, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x20, 0x38, 0x78, 0x38, 0x20, +0x53, 0x41, 0x44, 0x20, 0x2a, 0x2f, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x73, 0x61, 0x64, 0x5f, 0x38, +0x78, 0x38, 0x5f, 0x69, 0x69, 0x28, 0x20, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, +0x20, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x32, 0x64, 0x5f, 0x74, 0x20, 0x66, 0x65, 0x6e, 0x63, 0x2c, +0x20, 0x69, 0x6e, 0x74, 0x32, 0x20, 0x66, 0x65, 0x6e, 0x63, 0x70, 0x6f, 0x73, 0x2c, 0x20, 0x72, +0x65, 0x61, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x32, 0x64, +0x5f, 0x74, 0x20, 0x66, 0x72, 0x65, 0x66, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x32, 0x20, 0x66, 0x72, +0x65, 0x66, 0x70, 0x6f, 0x73, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x69, 0x66, 0x28, 0x20, 0x66, 0x72, +0x65, 0x66, 0x70, 0x6f, 0x73, 0x2e, 0x78, 0x20, 0x3c, 0x20, 0x30, 0x20, 0x29, 0x0a, 0x7b, 0x0a, +0x2f, 0x2a, 0x20, 0x73, 0x6c, 0x6f, 0x77, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, 0x77, 0x68, 0x65, +0x6e, 0x20, 0x4d, 0x56, 0x20, 0x67, 0x6f, 0x65, 0x73, 0x20, 0x70, 0x61, 0x73, 0x74, 0x20, 0x6c, +0x65, 0x66, 0x74, 0x20, 0x65, 0x64, 0x67, 0x65, 0x20, 0x2a, 0x2f, 0x0a, 0x69, 0x6e, 0x74, 0x20, +0x63, 0x6f, 0x73, 0x74, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x66, 0x6f, 0x72, 0x28, 0x20, 0x69, +0x6e, 0x74, 0x20, 0x79, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x20, 0x79, 0x20, 0x3c, 0x20, 0x38, 0x3b, +0x20, 0x79, 0x2b, 0x2b, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x66, 0x6f, 0x72, 0x28, 0x20, 0x69, 0x6e, +0x74, 0x20, 0x78, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x20, 0x78, 0x20, 0x3c, 0x20, 0x38, 0x3b, 0x20, +0x78, 0x2b, 0x2b, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x65, 0x6e, 0x63, +0x20, 0x3d, 0x20, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x75, 0x69, 0x28, +0x20, 0x66, 0x65, 0x6e, 0x63, 0x2c, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, 0x20, +0x66, 0x65, 0x6e, 0x63, 0x70, 0x6f, 0x73, 0x20, 0x2b, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x32, 0x29, +0x28, 0x78, 0x2c, 0x20, 0x79, 0x29, 0x20, 0x29, 0x2e, 0x73, 0x30, 0x3b, 0x0a, 0x75, 0x69, 0x6e, +0x74, 0x20, 0x72, 0x65, 0x66, 0x20, 0x3d, 0x20, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x69, 0x6d, 0x61, +0x67, 0x65, 0x75, 0x69, 0x28, 0x20, 0x66, 0x72, 0x65, 0x66, 0x2c, 0x20, 0x73, 0x61, 0x6d, 0x70, +0x6c, 0x65, 0x72, 0x2c, 0x20, 0x66, 0x72, 0x65, 0x66, 0x70, 0x6f, 0x73, 0x20, 0x2b, 0x20, 0x28, +0x69, 0x6e, 0x74, 0x32, 0x29, 0x28, 0x78, 0x2c, 0x20, 0x79, 0x29, 0x20, 0x29, 0x2e, 0x73, 0x30, +0x3b, 0x0a, 0x63, 0x6f, 0x73, 0x74, 0x20, 0x2b, 0x3d, 0x20, 0x61, 0x62, 0x73, 0x5f, 0x64, 0x69, +0x66, 0x66, 0x28, 0x20, 0x65, 0x6e, 0x63, 0x2c, 0x20, 0x72, 0x65, 0x66, 0x20, 0x29, 0x3b, 0x0a, +0x7d, 0x0a, 0x7d, 0x0a, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x63, 0x6f, 0x73, 0x74, 0x3b, +0x0a, 0x7d, 0x0a, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x7b, 0x0a, 0x75, 0x69, 0x6e, 0x74, 0x34, 0x20, +0x65, 0x6e, 0x63, 0x2c, 0x20, 0x72, 0x65, 0x66, 0x2c, 0x20, 0x63, 0x6f, 0x73, 0x74, 0x20, 0x3d, +0x20, 0x30, 0x3b, 0x0a, 0x66, 0x6f, 0x72, 0x28, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x79, 0x20, 0x3d, +0x20, 0x30, 0x3b, 0x20, 0x79, 0x20, 0x3c, 0x20, 0x38, 0x3b, 0x20, 0x79, 0x2b, 0x2b, 0x20, 0x29, +0x0a, 0x7b, 0x0a, 0x66, 0x6f, 0x72, 0x28, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x20, 0x3d, 0x20, +0x30, 0x3b, 0x20, 0x78, 0x20, 0x3c, 0x20, 0x38, 0x3b, 0x20, 0x78, 0x20, 0x2b, 0x3d, 0x20, 0x34, +0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x65, 0x6e, 0x63, 0x20, 0x3d, 0x20, 0x72, 0x65, 0x61, 0x64, 0x5f, +0x69, 0x6d, 0x61, 0x67, 0x65, 0x75, 0x69, 0x28, 0x20, 0x66, 0x65, 0x6e, 0x63, 0x2c, 0x20, 0x73, +0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x66, 0x65, 0x6e, 0x63, 0x70, 0x6f, 0x73, 0x20, +0x2b, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x32, 0x29, 0x28, 0x78, 0x2c, 0x20, 0x79, 0x29, 0x20, 0x29, +0x3b, 0x0a, 0x72, 0x65, 0x66, 0x20, 0x3d, 0x20, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x69, 0x6d, 0x61, +0x67, 0x65, 0x75, 0x69, 0x28, 0x20, 0x66, 0x72, 0x65, 0x66, 0x2c, 0x20, 0x73, 0x61, 0x6d, 0x70, +0x6c, 0x65, 0x72, 0x2c, 0x20, 0x66, 0x72, 0x65, 0x66, 0x70, 0x6f, 0x73, 0x20, 0x2b, 0x20, 0x28, +0x69, 0x6e, 0x74, 0x32, 0x29, 0x28, 0x78, 0x2c, 0x20, 0x79, 0x29, 0x20, 0x29, 0x3b, 0x0a, 0x63, +0x6f, 0x73, 0x74, 0x20, 0x2b, 0x3d, 0x20, 0x61, 0x62, 0x73, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x28, +0x20, 0x65, 0x6e, 0x63, 0x2c, 0x20, 0x72, 0x65, 0x66, 0x20, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x7d, +0x0a, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x63, 0x6f, 0x73, 0x74, 0x2e, 0x73, 0x30, 0x20, +0x2b, 0x20, 0x63, 0x6f, 0x73, 0x74, 0x2e, 0x73, 0x31, 0x20, 0x2b, 0x20, 0x63, 0x6f, 0x73, 0x74, +0x2e, 0x73, 0x32, 0x20, 0x2b, 0x20, 0x63, 0x6f, 0x73, 0x74, 0x2e, 0x73, 0x33, 0x3b, 0x0a, 0x7d, +0x0a, 0x7d, 0x0a, 0x2f, 0x2a, 0x0a, 0x2a, 0x20, 0x68, 0x69, 0x65, 0x72, 0x61, 0x72, 0x63, 0x68, +0x69, 0x63, 0x61, 0x6c, 0x20, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x65, 0x73, 0x74, 0x69, +0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x2a, 0x0a, 0x2a, 0x20, 0x45, 0x61, 0x63, 0x68, 0x20, +0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x20, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x20, 0x69, 0x73, +0x20, 0x61, 0x20, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x20, 0x69, 0x74, 0x65, 0x72, 0x61, 0x74, +0x69, 0x6f, 0x6e, 0x0a, 0x2a, 0x0a, 0x2a, 0x20, 0x4d, 0x42, 0x20, 0x70, 0x65, 0x72, 0x20, 0x77, +0x6f, 0x72, 0x6b, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x20, 0x69, 0x73, 0x20, 0x64, 0x65, 0x74, +0x65, 0x72, 0x6d, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x6c, 0x63, 0x6c, 0x78, 0x20, +0x2f, 0x20, 0x34, 0x20, 0x2a, 0x20, 0x6c, 0x63, 0x6c, 0x79, 0x0a, 0x2a, 0x0a, 0x2a, 0x20, 0x67, +0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x20, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x20, 0x64, 0x69, 0x6d, +0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x20, 0x20, 0x5b, 0x6d, 0x62, 0x5f, 0x77, 0x69, +0x64, 0x74, 0x68, 0x20, 0x2a, 0x20, 0x34, 0x2c, 0x20, 0x6d, 0x62, 0x5f, 0x68, 0x65, 0x69, 0x67, +0x68, 0x74, 0x5d, 0x0a, 0x2a, 0x2f, 0x0a, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x20, 0x76, 0x6f, +0x69, 0x64, 0x20, 0x68, 0x69, 0x65, 0x72, 0x61, 0x72, 0x63, 0x68, 0x69, 0x63, 0x61, 0x6c, 0x5f, +0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x20, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, +0x79, 0x20, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x32, 0x64, 0x5f, 0x74, 0x20, 0x20, 0x66, 0x65, 0x6e, +0x63, 0x2c, 0x0a, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x69, 0x6d, 0x61, +0x67, 0x65, 0x32, 0x64, 0x5f, 0x74, 0x20, 0x20, 0x66, 0x72, 0x65, 0x66, 0x2c, 0x0a, 0x63, 0x6f, +0x6e, 0x73, 0x74, 0x20, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, +0x32, 0x20, 0x2a, 0x69, 0x6e, 0x5f, 0x6d, 0x76, 0x73, 0x2c, 0x0a, 0x67, 0x6c, 0x6f, 0x62, 0x61, +0x6c, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x32, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2a, +0x6f, 0x75, 0x74, 0x5f, 0x6d, 0x76, 0x73, 0x2c, 0x0a, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x20, +0x69, 0x6e, 0x74, 0x31, 0x36, 0x5f, 0x74, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2a, 0x6f, 0x75, +0x74, 0x5f, 0x6d, 0x76, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x73, 0x2c, 0x0a, 0x67, 0x6c, 0x6f, 0x62, +0x61, 0x6c, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x32, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, +0x2a, 0x6d, 0x76, 0x70, 0x5f, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2c, 0x0a, 0x6c, 0x6f, 0x63, +0x61, 0x6c, 0x20, 0x69, 0x6e, 0x74, 0x31, 0x36, 0x5f, 0x74, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, +0x20, 0x2a, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x2c, 0x0a, 0x6c, 0x6f, +0x63, 0x61, 0x6c, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x32, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, +0x20, 0x20, 0x2a, 0x6d, 0x76, 0x63, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x2c, 0x0a, 0x69, 0x6e, +0x74, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, +0x20, 0x20, 0x20, 0x6d, 0x62, 0x5f, 0x77, 0x69, 0x64, 0x74, 0x68, 0x2c, 0x0a, 0x69, 0x6e, 0x74, +0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, +0x20, 0x20, 0x6c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x2c, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x20, 0x20, +0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6d, +0x65, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x2c, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x20, 0x20, 0x20, +0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x63, +0x61, 0x6c, 0x65, 0x2c, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, +0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x5f, 0x73, 0x68, 0x69, 0x66, +0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x20, 0x20, 0x20, +0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x5f, +0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x69, 0x74, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2c, +0x0a, 0x69, 0x6e, 0x74, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, +0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x5f, +0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x69, +0x6e, 0x74, 0x20, 0x6d, 0x62, 0x5f, 0x78, 0x20, 0x3d, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x6c, +0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x28, 0x20, 0x30, 0x20, 0x29, 0x20, 0x3e, 0x3e, 0x20, +0x32, 0x3b, 0x0a, 0x69, 0x66, 0x28, 0x20, 0x6d, 0x62, 0x5f, 0x78, 0x20, 0x3e, 0x3d, 0x20, 0x6d, +0x62, 0x5f, 0x77, 0x69, 0x64, 0x74, 0x68, 0x20, 0x29, 0x0a, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, +0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x6d, 0x62, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x20, +0x3d, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x7a, +0x65, 0x28, 0x20, 0x31, 0x20, 0x29, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x6d, 0x62, 0x5f, 0x69, +0x20, 0x3d, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x69, 0x64, +0x28, 0x20, 0x30, 0x20, 0x29, 0x20, 0x26, 0x20, 0x33, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x6d, +0x62, 0x5f, 0x79, 0x20, 0x3d, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, +0x5f, 0x69, 0x64, 0x28, 0x20, 0x31, 0x20, 0x29, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x6d, 0x62, +0x5f, 0x78, 0x79, 0x20, 0x3d, 0x20, 0x6d, 0x62, 0x5f, 0x79, 0x20, 0x2a, 0x20, 0x6d, 0x62, 0x5f, +0x77, 0x69, 0x64, 0x74, 0x68, 0x20, 0x2b, 0x20, 0x6d, 0x62, 0x5f, 0x78, 0x3b, 0x0a, 0x63, 0x6f, +0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x6d, 0x62, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x20, +0x3d, 0x20, 0x38, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x32, 0x20, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x20, +0x3d, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x32, 0x29, 0x28, 0x6d, 0x62, 0x5f, 0x78, 0x2c, 0x20, 0x6d, +0x62, 0x5f, 0x79, 0x29, 0x20, 0x2a, 0x20, 0x6d, 0x62, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x3b, 0x0a, +0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x6d, 0x62, 0x5f, 0x69, 0x6e, 0x5f, +0x67, 0x72, 0x6f, 0x75, 0x70, 0x20, 0x3d, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, +0x6c, 0x5f, 0x69, 0x64, 0x28, 0x20, 0x31, 0x20, 0x29, 0x20, 0x2a, 0x20, 0x28, 0x67, 0x65, 0x74, +0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x20, 0x30, 0x20, 0x29, +0x20, 0x3e, 0x3e, 0x20, 0x32, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x6f, +0x63, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x28, 0x20, 0x30, 0x20, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, +0x29, 0x3b, 0x0a, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x2b, 0x3d, +0x20, 0x34, 0x20, 0x2a, 0x20, 0x6d, 0x62, 0x5f, 0x69, 0x6e, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, +0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x5f, 0x6d, 0x76, 0x63, 0x20, 0x3d, 0x20, 0x30, 0x3b, +0x0a, 0x6d, 0x76, 0x63, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x2b, 0x3d, 0x20, 0x34, 0x20, +0x2a, 0x20, 0x6d, 0x62, 0x5f, 0x69, 0x6e, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x3b, 0x0a, 0x6d, +0x76, 0x63, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5b, 0x6d, 0x62, 0x5f, 0x69, 0x5d, 0x20, 0x3d, +0x20, 0x30, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x32, 0x20, 0x6d, 0x76, 0x70, 0x20, 0x3d, 0x30, 0x3b, +0x0a, 0x69, 0x66, 0x28, 0x20, 0x21, 0x62, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x69, 0x74, +0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x23, 0x64, 0x65, 0x66, +0x69, 0x6e, 0x65, 0x20, 0x4d, 0x56, 0x43, 0x28, 0x20, 0x44, 0x58, 0x2c, 0x20, 0x44, 0x59, 0x20, +0x29, 0x5c, 0x0a, 0x7b, 0x5c, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x70, 0x78, 0x20, 0x3d, 0x20, 0x6d, +0x62, 0x5f, 0x78, 0x20, 0x2b, 0x20, 0x44, 0x58, 0x3b, 0x5c, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x70, +0x79, 0x20, 0x3d, 0x20, 0x6d, 0x62, 0x5f, 0x79, 0x20, 0x2b, 0x20, 0x44, 0x59, 0x3b, 0x5c, 0x0a, +0x6d, 0x76, 0x63, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5b, 0x69, 0x5f, 0x6d, 0x76, 0x63, 0x5d, +0x20, 0x3d, 0x20, 0x62, 0x5f, 0x73, 0x68, 0x69, 0x66, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, +0x20, 0x3f, 0x20, 0x69, 0x6e, 0x5f, 0x6d, 0x76, 0x73, 0x5b, 0x66, 0x69, 0x6e, 0x64, 0x5f, 0x64, +0x6f, 0x77, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x5f, 0x6d, 0x62, 0x5f, 0x78, 0x79, 0x28, 0x20, +0x70, 0x78, 0x2c, 0x20, 0x70, 0x79, 0x2c, 0x20, 0x6d, 0x62, 0x5f, 0x77, 0x69, 0x64, 0x74, 0x68, +0x2c, 0x20, 0x6d, 0x62, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x20, 0x29, 0x5d, 0x20, 0x3a, +0x20, 0x5c, 0x0a, 0x69, 0x6e, 0x5f, 0x6d, 0x76, 0x73, 0x5b, 0x6d, 0x62, 0x5f, 0x77, 0x69, 0x64, +0x74, 0x68, 0x20, 0x2a, 0x20, 0x70, 0x79, 0x20, 0x2b, 0x20, 0x70, 0x78, 0x5d, 0x3b, 0x5c, 0x0a, +0x6d, 0x76, 0x63, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5b, 0x69, 0x5f, 0x6d, 0x76, 0x63, 0x5d, +0x20, 0x3e, 0x3e, 0x3d, 0x20, 0x28, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x29, 0x20, 0x73, 0x63, 0x61, +0x6c, 0x65, 0x3b, 0x5c, 0x0a, 0x69, 0x5f, 0x6d, 0x76, 0x63, 0x2b, 0x2b, 0x3b, 0x5c, 0x0a, 0x7d, +0x0a, 0x2f, 0x2a, 0x20, 0x46, 0x69, 0x6e, 0x64, 0x20, 0x4d, 0x56, 0x50, 0x20, 0x66, 0x72, 0x6f, +0x6d, 0x20, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x4d, 0x56, 0x43, 0x73, +0x20, 0x2a, 0x2f, 0x0a, 0x69, 0x66, 0x28, 0x20, 0x62, 0x5f, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, +0x65, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x20, 0x29, 0x0a, 0x7b, +0x0a, 0x2f, 0x2a, 0x20, 0x6f, 0x64, 0x64, 0x20, 0x69, 0x74, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, +0x6e, 0x73, 0x3a, 0x20, 0x64, 0x65, 0x72, 0x69, 0x76, 0x65, 0x20, 0x4d, 0x56, 0x50, 0x20, 0x66, +0x72, 0x6f, 0x6d, 0x20, 0x64, 0x6f, 0x77, 0x6e, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x72, 0x69, 0x67, +0x68, 0x74, 0x20, 0x2a, 0x2f, 0x0a, 0x69, 0x66, 0x28, 0x20, 0x6d, 0x62, 0x5f, 0x78, 0x20, 0x3c, +0x20, 0x6d, 0x62, 0x5f, 0x77, 0x69, 0x64, 0x74, 0x68, 0x20, 0x2d, 0x20, 0x31, 0x20, 0x29, 0x0a, +0x4d, 0x56, 0x43, 0x28, 0x20, 0x31, 0x2c, 0x20, 0x30, 0x20, 0x29, 0x3b, 0x0a, 0x69, 0x66, 0x28, +0x20, 0x6d, 0x62, 0x5f, 0x79, 0x20, 0x3c, 0x20, 0x6d, 0x62, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, +0x74, 0x20, 0x2d, 0x20, 0x31, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x4d, 0x56, 0x43, 0x28, 0x20, 0x30, +0x2c, 0x20, 0x31, 0x20, 0x29, 0x3b, 0x0a, 0x69, 0x66, 0x28, 0x20, 0x6d, 0x62, 0x5f, 0x78, 0x20, +0x3e, 0x20, 0x62, 0x5f, 0x73, 0x68, 0x69, 0x66, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, +0x29, 0x0a, 0x4d, 0x56, 0x43, 0x28, 0x20, 0x2d, 0x31, 0x2c, 0x20, 0x31, 0x20, 0x29, 0x3b, 0x0a, +0x69, 0x66, 0x28, 0x20, 0x6d, 0x62, 0x5f, 0x78, 0x20, 0x3c, 0x20, 0x6d, 0x62, 0x5f, 0x77, 0x69, +0x64, 0x74, 0x68, 0x20, 0x2d, 0x20, 0x31, 0x20, 0x29, 0x0a, 0x4d, 0x56, 0x43, 0x28, 0x20, 0x31, +0x2c, 0x20, 0x31, 0x20, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x7d, 0x0a, 0x65, 0x6c, 0x73, 0x65, 0x0a, +0x7b, 0x0a, 0x2f, 0x2a, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x20, 0x69, 0x74, 0x65, 0x72, 0x61, 0x74, +0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x20, 0x64, 0x65, 0x72, 0x69, 0x76, 0x65, 0x20, 0x4d, 0x56, 0x50, +0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x75, 0x70, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x66, +0x74, 0x20, 0x2a, 0x2f, 0x0a, 0x69, 0x66, 0x28, 0x20, 0x6d, 0x62, 0x5f, 0x78, 0x20, 0x3e, 0x20, +0x30, 0x20, 0x29, 0x0a, 0x4d, 0x56, 0x43, 0x28, 0x20, 0x2d, 0x31, 0x2c, 0x20, 0x30, 0x20, 0x29, +0x3b, 0x0a, 0x69, 0x66, 0x28, 0x20, 0x6d, 0x62, 0x5f, 0x79, 0x20, 0x3e, 0x20, 0x30, 0x20, 0x29, +0x0a, 0x7b, 0x0a, 0x4d, 0x56, 0x43, 0x28, 0x20, 0x30, 0x2c, 0x20, 0x2d, 0x31, 0x20, 0x29, 0x3b, +0x0a, 0x69, 0x66, 0x28, 0x20, 0x6d, 0x62, 0x5f, 0x78, 0x20, 0x3c, 0x20, 0x6d, 0x62, 0x5f, 0x77, +0x69, 0x64, 0x74, 0x68, 0x20, 0x2d, 0x20, 0x31, 0x20, 0x29, 0x0a, 0x4d, 0x56, 0x43, 0x28, 0x20, +0x31, 0x2c, 0x20, 0x2d, 0x31, 0x20, 0x29, 0x3b, 0x0a, 0x69, 0x66, 0x28, 0x20, 0x6d, 0x62, 0x5f, +0x78, 0x20, 0x3e, 0x20, 0x62, 0x5f, 0x73, 0x68, 0x69, 0x66, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, +0x78, 0x20, 0x29, 0x0a, 0x4d, 0x56, 0x43, 0x28, 0x20, 0x2d, 0x31, 0x2c, 0x20, 0x2d, 0x31, 0x20, +0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x7d, 0x0a, 0x23, 0x75, 0x6e, 0x64, 0x65, 0x66, 0x20, 0x4d, 0x56, +0x43, 0x0a, 0x6d, 0x76, 0x70, 0x20, 0x3d, 0x20, 0x28, 0x69, 0x5f, 0x6d, 0x76, 0x63, 0x20, 0x3c, +0x3d, 0x20, 0x31, 0x29, 0x20, 0x3f, 0x20, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x5f, 0x69, +0x6e, 0x74, 0x32, 0x5f, 0x73, 0x61, 0x74, 0x28, 0x6d, 0x76, 0x63, 0x5f, 0x6c, 0x6f, 0x63, 0x61, +0x6c, 0x5b, 0x30, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, 0x6d, 0x65, 0x64, +0x69, 0x61, 0x6e, 0x5f, 0x6d, 0x76, 0x28, 0x20, 0x6d, 0x76, 0x63, 0x5f, 0x6c, 0x6f, 0x63, 0x61, +0x6c, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x6d, 0x76, 0x63, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5b, +0x31, 0x5d, 0x2c, 0x20, 0x6d, 0x76, 0x63, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5b, 0x32, 0x5d, +0x20, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x2f, 0x2a, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, +0x20, 0x6d, 0x76, 0x70, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, +0x20, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x20, 0x6d, 0x76, 0x70, 0x20, 0x61, 0x6e, +0x64, 0x20, 0x77, 0x65, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x63, 0x68, +0x61, 0x6e, 0x67, 0x65, 0x64, 0x20, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2e, 0x20, 0x20, 0x57, 0x65, +0x20, 0x6b, 0x6e, 0x6f, 0x77, 0x0a, 0x2a, 0x20, 0x77, 0x65, 0x27, 0x72, 0x65, 0x20, 0x67, 0x6f, +0x69, 0x6e, 0x67, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x72, 0x72, 0x69, 0x76, 0x65, 0x20, 0x61, 0x74, +0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x61, 0x6d, 0x65, 0x20, 0x4d, 0x56, 0x20, 0x61, 0x67, 0x61, +0x69, 0x6e, 0x2c, 0x20, 0x73, 0x6f, 0x20, 0x6a, 0x75, 0x73, 0x74, 0x20, 0x63, 0x6f, 0x70, 0x79, +0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x0a, 0x2a, 0x20, +0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x75, 0x72, 0x20, 0x6f, 0x75, +0x74, 0x70, 0x75, 0x74, 0x2e, 0x20, 0x2a, 0x2f, 0x0a, 0x69, 0x66, 0x28, 0x20, 0x21, 0x62, 0x5f, +0x73, 0x68, 0x69, 0x66, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x26, 0x26, 0x20, 0x6d, +0x76, 0x70, 0x2e, 0x78, 0x20, 0x3d, 0x3d, 0x20, 0x6d, 0x76, 0x70, 0x5f, 0x62, 0x75, 0x66, 0x66, +0x65, 0x72, 0x5b, 0x6d, 0x62, 0x5f, 0x78, 0x79, 0x5d, 0x2e, 0x78, 0x20, 0x26, 0x26, 0x20, 0x6d, +0x76, 0x70, 0x2e, 0x79, 0x20, 0x3d, 0x3d, 0x20, 0x6d, 0x76, 0x70, 0x5f, 0x62, 0x75, 0x66, 0x66, +0x65, 0x72, 0x5b, 0x6d, 0x62, 0x5f, 0x78, 0x79, 0x5d, 0x2e, 0x79, 0x20, 0x29, 0x0a, 0x7b, 0x0a, +0x6f, 0x75, 0x74, 0x5f, 0x6d, 0x76, 0x73, 0x5b, 0x6d, 0x62, 0x5f, 0x78, 0x79, 0x5d, 0x20, 0x3d, +0x20, 0x69, 0x6e, 0x5f, 0x6d, 0x76, 0x73, 0x5b, 0x6d, 0x62, 0x5f, 0x78, 0x79, 0x5d, 0x3b, 0x0a, +0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x3b, 0x0a, 0x7d, 0x0a, 0x6d, 0x76, 0x70, 0x5f, 0x62, 0x75, +0x66, 0x66, 0x65, 0x72, 0x5b, 0x6d, 0x62, 0x5f, 0x78, 0x79, 0x5d, 0x20, 0x3d, 0x20, 0x63, 0x6f, +0x6e, 0x76, 0x65, 0x72, 0x74, 0x5f, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x32, 0x5f, 0x73, 0x61, 0x74, +0x28, 0x6d, 0x76, 0x70, 0x29, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x32, 0x20, 0x6d, 0x76, 0x5f, 0x6d, +0x69, 0x6e, 0x20, 0x3d, 0x20, 0x2d, 0x6d, 0x62, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x20, 0x2a, 0x20, +0x28, 0x69, 0x6e, 0x74, 0x32, 0x29, 0x28, 0x6d, 0x62, 0x5f, 0x78, 0x2c, 0x20, 0x6d, 0x62, 0x5f, +0x79, 0x29, 0x20, 0x2d, 0x20, 0x34, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x32, 0x20, 0x6d, 0x76, 0x5f, +0x6d, 0x61, 0x78, 0x20, 0x3d, 0x20, 0x6d, 0x62, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x20, 0x2a, 0x20, +0x28, 0x28, 0x69, 0x6e, 0x74, 0x32, 0x29, 0x28, 0x6d, 0x62, 0x5f, 0x77, 0x69, 0x64, 0x74, 0x68, +0x2c, 0x20, 0x6d, 0x62, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x29, 0x20, 0x2d, 0x20, 0x28, +0x69, 0x6e, 0x74, 0x32, 0x29, 0x28, 0x6d, 0x62, 0x5f, 0x78, 0x2c, 0x20, 0x6d, 0x62, 0x5f, 0x79, +0x29, 0x20, 0x2d, 0x20, 0x31, 0x29, 0x20, 0x2b, 0x20, 0x34, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x32, +0x20, 0x62, 0x65, 0x73, 0x74, 0x6d, 0x76, 0x20, 0x3d, 0x20, 0x63, 0x6c, 0x61, 0x6d, 0x70, 0x28, +0x6d, 0x76, 0x70, 0x2c, 0x20, 0x6d, 0x76, 0x5f, 0x6d, 0x69, 0x6e, 0x2c, 0x20, 0x6d, 0x76, 0x5f, +0x6d, 0x61, 0x78, 0x29, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x32, 0x20, 0x72, 0x65, 0x66, 0x63, 0x72, +0x64, 0x20, 0x3d, 0x20, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x20, 0x2b, 0x20, 0x62, 0x65, 0x73, 0x74, +0x6d, 0x76, 0x3b, 0x0a, 0x2f, 0x2a, 0x20, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x20, 0x63, +0x6f, 0x73, 0x74, 0x20, 0x61, 0x74, 0x20, 0x62, 0x65, 0x73, 0x74, 0x6d, 0x76, 0x20, 0x2a, 0x2f, +0x0a, 0x69, 0x6e, 0x74, 0x20, 0x62, 0x63, 0x6f, 0x73, 0x74, 0x20, 0x3d, 0x20, 0x73, 0x61, 0x64, +0x5f, 0x38, 0x78, 0x38, 0x5f, 0x69, 0x69, 0x5f, 0x63, 0x6f, 0x6f, 0x70, 0x34, 0x28, 0x20, 0x66, +0x65, 0x6e, 0x63, 0x2c, 0x20, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x2c, 0x20, 0x66, 0x72, 0x65, 0x66, +0x2c, 0x20, 0x72, 0x65, 0x66, 0x63, 0x72, 0x64, 0x2c, 0x20, 0x6d, 0x62, 0x5f, 0x69, 0x2c, 0x20, +0x63, 0x6f, 0x73, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x29, 0x20, 0x2b, 0x0a, 0x6c, +0x61, 0x6d, 0x62, 0x64, 0x61, 0x20, 0x2a, 0x20, 0x6d, 0x76, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x28, +0x20, 0x61, 0x62, 0x73, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x28, 0x20, 0x62, 0x65, 0x73, 0x74, 0x6d, +0x76, 0x2c, 0x20, 0x6d, 0x76, 0x70, 0x20, 0x29, 0x20, 0x3c, 0x3c, 0x20, 0x28, 0x32, 0x20, 0x2b, +0x20, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x29, 0x20, 0x29, 0x3b, 0x0a, 0x64, 0x6f, 0x0a, 0x7b, 0x0a, +0x2f, 0x2a, 0x20, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x20, 0x63, 0x6f, 0x73, 0x74, 0x73, +0x20, 0x61, 0x74, 0x20, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x73, 0x20, 0x66, 0x72, 0x6f, 0x6d, +0x20, 0x62, 0x65, 0x73, 0x74, 0x6d, 0x76, 0x20, 0x2a, 0x2f, 0x0a, 0x72, 0x65, 0x66, 0x63, 0x72, +0x64, 0x20, 0x3d, 0x20, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x20, 0x2b, 0x20, 0x62, 0x65, 0x73, 0x74, +0x6d, 0x76, 0x20, 0x2b, 0x20, 0x64, 0x69, 0x61, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x5b, 0x6d, 0x62, +0x5f, 0x69, 0x5d, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x32, 0x20, 0x74, 0x72, 0x79, 0x6d, 0x76, 0x20, +0x3d, 0x20, 0x62, 0x65, 0x73, 0x74, 0x6d, 0x76, 0x20, 0x2b, 0x20, 0x64, 0x69, 0x61, 0x5f, 0x6f, +0x66, 0x66, 0x73, 0x5b, 0x6d, 0x62, 0x5f, 0x69, 0x5d, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x63, +0x6f, 0x73, 0x74, 0x20, 0x3d, 0x20, 0x73, 0x61, 0x64, 0x5f, 0x38, 0x78, 0x38, 0x5f, 0x69, 0x69, +0x28, 0x20, 0x66, 0x65, 0x6e, 0x63, 0x2c, 0x20, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x2c, 0x20, 0x66, +0x72, 0x65, 0x66, 0x2c, 0x20, 0x72, 0x65, 0x66, 0x63, 0x72, 0x64, 0x20, 0x29, 0x20, 0x2b, 0x0a, +0x6c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x20, 0x2a, 0x20, 0x6d, 0x76, 0x5f, 0x63, 0x6f, 0x73, 0x74, +0x28, 0x20, 0x61, 0x62, 0x73, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x28, 0x20, 0x74, 0x72, 0x79, 0x6d, +0x76, 0x2c, 0x20, 0x6d, 0x76, 0x70, 0x20, 0x29, 0x20, 0x3c, 0x3c, 0x20, 0x28, 0x32, 0x20, 0x2b, +0x20, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x29, 0x20, 0x29, 0x3b, 0x0a, 0x63, 0x6f, 0x73, 0x74, 0x5f, +0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5b, 0x6d, 0x62, 0x5f, 0x69, 0x5d, 0x20, 0x3d, 0x20, 0x28, 0x63, +0x6f, 0x73, 0x74, 0x3c, 0x3c, 0x32, 0x29, 0x20, 0x7c, 0x20, 0x6d, 0x62, 0x5f, 0x69, 0x3b, 0x0a, +0x63, 0x6f, 0x73, 0x74, 0x20, 0x3d, 0x20, 0x6d, 0x69, 0x6e, 0x28, 0x20, 0x63, 0x6f, 0x73, 0x74, +0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x6d, 0x69, 0x6e, 0x28, 0x20, +0x63, 0x6f, 0x73, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x6d, +0x69, 0x6e, 0x28, 0x20, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5b, 0x32, +0x5d, 0x2c, 0x20, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5b, 0x33, 0x5d, +0x20, 0x29, 0x20, 0x29, 0x20, 0x29, 0x3b, 0x0a, 0x69, 0x66, 0x28, 0x20, 0x28, 0x63, 0x6f, 0x73, +0x74, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x29, 0x20, 0x3e, 0x3d, 0x20, 0x62, 0x63, 0x6f, 0x73, 0x74, +0x20, 0x29, 0x0a, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, 0x0a, 0x62, 0x65, 0x73, 0x74, 0x6d, 0x76, +0x20, 0x2b, 0x3d, 0x20, 0x64, 0x69, 0x61, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x5b, 0x63, 0x6f, 0x73, +0x74, 0x26, 0x33, 0x5d, 0x3b, 0x0a, 0x62, 0x63, 0x6f, 0x73, 0x74, 0x20, 0x3d, 0x20, 0x63, 0x6f, +0x73, 0x74, 0x3e, 0x3e, 0x32, 0x3b, 0x0a, 0x69, 0x66, 0x28, 0x20, 0x62, 0x65, 0x73, 0x74, 0x6d, +0x76, 0x2e, 0x78, 0x20, 0x3e, 0x3d, 0x20, 0x6d, 0x76, 0x5f, 0x6d, 0x61, 0x78, 0x2e, 0x78, 0x20, +0x7c, 0x7c, 0x20, 0x62, 0x65, 0x73, 0x74, 0x6d, 0x76, 0x2e, 0x78, 0x20, 0x3c, 0x3d, 0x20, 0x6d, +0x76, 0x5f, 0x6d, 0x69, 0x6e, 0x2e, 0x78, 0x20, 0x7c, 0x7c, 0x20, 0x62, 0x65, 0x73, 0x74, 0x6d, +0x76, 0x2e, 0x79, 0x20, 0x3e, 0x3d, 0x20, 0x6d, 0x76, 0x5f, 0x6d, 0x61, 0x78, 0x2e, 0x79, 0x20, +0x7c, 0x7c, 0x20, 0x62, 0x65, 0x73, 0x74, 0x6d, 0x76, 0x2e, 0x79, 0x20, 0x3c, 0x3d, 0x20, 0x6d, +0x76, 0x5f, 0x6d, 0x69, 0x6e, 0x2e, 0x79, 0x20, 0x29, 0x0a, 0x62, 0x72, 0x65, 0x61, 0x6b, 0x3b, +0x0a, 0x7d, 0x0a, 0x77, 0x68, 0x69, 0x6c, 0x65, 0x28, 0x20, 0x2d, 0x2d, 0x6d, 0x65, 0x5f, 0x72, +0x61, 0x6e, 0x67, 0x65, 0x20, 0x3e, 0x20, 0x30, 0x20, 0x29, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x32, +0x20, 0x74, 0x72, 0x79, 0x6d, 0x76, 0x20, 0x3d, 0x20, 0x30, 0x2c, 0x20, 0x64, 0x69, 0x66, 0x66, +0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x43, 0x4f, +0x53, 0x54, 0x5f, 0x4d, 0x56, 0x5f, 0x4e, 0x4f, 0x5f, 0x50, 0x41, 0x44, 0x28, 0x20, 0x4c, 0x20, +0x29, 0x5c, 0x0a, 0x74, 0x72, 0x79, 0x6d, 0x76, 0x20, 0x3d, 0x20, 0x63, 0x6c, 0x61, 0x6d, 0x70, +0x28, 0x20, 0x74, 0x72, 0x79, 0x6d, 0x76, 0x2c, 0x20, 0x6d, 0x76, 0x5f, 0x6d, 0x69, 0x6e, 0x2c, +0x20, 0x6d, 0x76, 0x5f, 0x6d, 0x61, 0x78, 0x20, 0x29, 0x3b, 0x5c, 0x0a, 0x64, 0x69, 0x66, 0x66, +0x20, 0x3d, 0x20, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x32, 0x5f, +0x73, 0x61, 0x74, 0x28, 0x61, 0x62, 0x73, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x28, 0x20, 0x6d, 0x76, +0x70, 0x2c, 0x20, 0x74, 0x72, 0x79, 0x6d, 0x76, 0x20, 0x29, 0x29, 0x3b, 0x5c, 0x0a, 0x69, 0x66, +0x28, 0x20, 0x64, 0x69, 0x66, 0x66, 0x2e, 0x78, 0x20, 0x3e, 0x20, 0x31, 0x20, 0x7c, 0x7c, 0x20, +0x64, 0x69, 0x66, 0x66, 0x2e, 0x79, 0x20, 0x3e, 0x20, 0x31, 0x20, 0x29, 0x20, 0x7b, 0x5c, 0x0a, +0x69, 0x6e, 0x74, 0x32, 0x20, 0x72, 0x65, 0x66, 0x63, 0x72, 0x64, 0x20, 0x3d, 0x20, 0x63, 0x6f, +0x6f, 0x72, 0x64, 0x20, 0x2b, 0x20, 0x74, 0x72, 0x79, 0x6d, 0x76, 0x3b, 0x5c, 0x0a, 0x69, 0x6e, +0x74, 0x20, 0x63, 0x6f, 0x73, 0x74, 0x20, 0x3d, 0x20, 0x73, 0x61, 0x64, 0x5f, 0x38, 0x78, 0x38, +0x5f, 0x69, 0x69, 0x5f, 0x63, 0x6f, 0x6f, 0x70, 0x34, 0x28, 0x20, 0x66, 0x65, 0x6e, 0x63, 0x2c, +0x20, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x2c, 0x20, 0x66, 0x72, 0x65, 0x66, 0x2c, 0x20, 0x72, 0x65, +0x66, 0x63, 0x72, 0x64, 0x2c, 0x20, 0x6d, 0x62, 0x5f, 0x69, 0x2c, 0x20, 0x63, 0x6f, 0x73, 0x74, +0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x29, 0x20, 0x2b, 0x5c, 0x0a, 0x4c, 0x20, 0x2a, 0x20, +0x6d, 0x76, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x28, 0x20, 0x61, 0x62, 0x73, 0x5f, 0x64, 0x69, 0x66, +0x66, 0x28, 0x20, 0x74, 0x72, 0x79, 0x6d, 0x76, 0x2c, 0x20, 0x6d, 0x76, 0x70, 0x20, 0x29, 0x20, +0x3c, 0x3c, 0x20, 0x28, 0x32, 0x20, 0x2b, 0x20, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x29, 0x20, 0x29, +0x3b, 0x5c, 0x0a, 0x69, 0x66, 0x28, 0x20, 0x63, 0x6f, 0x73, 0x74, 0x20, 0x3c, 0x20, 0x62, 0x63, +0x6f, 0x73, 0x74, 0x20, 0x29, 0x20, 0x7b, 0x20, 0x62, 0x63, 0x6f, 0x73, 0x74, 0x20, 0x3d, 0x20, +0x63, 0x6f, 0x73, 0x74, 0x3b, 0x20, 0x62, 0x65, 0x73, 0x74, 0x6d, 0x76, 0x20, 0x3d, 0x20, 0x74, +0x72, 0x79, 0x6d, 0x76, 0x3b, 0x20, 0x7d, 0x20, 0x7d, 0x0a, 0x43, 0x4f, 0x53, 0x54, 0x5f, 0x4d, +0x56, 0x5f, 0x4e, 0x4f, 0x5f, 0x50, 0x41, 0x44, 0x28, 0x20, 0x30, 0x20, 0x29, 0x3b, 0x0a, 0x69, +0x66, 0x28, 0x20, 0x21, 0x62, 0x5f, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x69, 0x74, 0x65, 0x72, +0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x2f, 0x2a, 0x20, 0x74, 0x72, 0x79, +0x20, 0x63, 0x6f, 0x73, 0x74, 0x20, 0x61, 0x74, 0x20, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, +0x73, 0x20, 0x69, 0x74, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x27, 0x73, 0x20, 0x4d, 0x56, +0x2c, 0x20, 0x69, 0x66, 0x20, 0x4d, 0x56, 0x50, 0x20, 0x77, 0x61, 0x73, 0x20, 0x74, 0x6f, 0x6f, +0x20, 0x66, 0x61, 0x72, 0x20, 0x61, 0x77, 0x61, 0x79, 0x20, 0x2a, 0x2f, 0x0a, 0x69, 0x6e, 0x74, +0x32, 0x20, 0x70, 0x72, 0x65, 0x76, 0x6d, 0x76, 0x20, 0x3d, 0x20, 0x62, 0x5f, 0x73, 0x68, 0x69, +0x66, 0x74, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x3f, 0x20, 0x63, 0x6f, 0x6e, 0x76, 0x65, +0x72, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x32, 0x5f, 0x73, 0x61, 0x74, 0x28, 0x69, 0x6e, 0x5f, 0x6d, +0x76, 0x73, 0x5b, 0x66, 0x69, 0x6e, 0x64, 0x5f, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x63, 0x61, 0x6c, +0x65, 0x5f, 0x6d, 0x62, 0x5f, 0x78, 0x79, 0x28, 0x20, 0x6d, 0x62, 0x5f, 0x78, 0x2c, 0x20, 0x6d, +0x62, 0x5f, 0x79, 0x2c, 0x20, 0x6d, 0x62, 0x5f, 0x77, 0x69, 0x64, 0x74, 0x68, 0x2c, 0x20, 0x6d, +0x62, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x20, 0x29, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x63, +0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x32, 0x5f, 0x73, 0x61, 0x74, 0x28, +0x69, 0x6e, 0x5f, 0x6d, 0x76, 0x73, 0x5b, 0x6d, 0x62, 0x5f, 0x78, 0x79, 0x5d, 0x29, 0x3b, 0x0a, +0x70, 0x72, 0x65, 0x76, 0x6d, 0x76, 0x20, 0x3e, 0x3e, 0x3d, 0x20, 0x73, 0x63, 0x61, 0x6c, 0x65, +0x3b, 0x0a, 0x74, 0x72, 0x79, 0x6d, 0x76, 0x20, 0x3d, 0x20, 0x70, 0x72, 0x65, 0x76, 0x6d, 0x76, +0x3b, 0x0a, 0x43, 0x4f, 0x53, 0x54, 0x5f, 0x4d, 0x56, 0x5f, 0x4e, 0x4f, 0x5f, 0x50, 0x41, 0x44, +0x28, 0x20, 0x6c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x20, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x66, 0x6f, +0x72, 0x28, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x20, 0x69, 0x20, +0x3c, 0x20, 0x69, 0x5f, 0x6d, 0x76, 0x63, 0x3b, 0x20, 0x69, 0x2b, 0x2b, 0x20, 0x29, 0x0a, 0x7b, +0x0a, 0x2f, 0x2a, 0x20, 0x74, 0x72, 0x79, 0x20, 0x63, 0x6f, 0x73, 0x74, 0x20, 0x61, 0x74, 0x20, +0x65, 0x61, 0x63, 0x68, 0x20, 0x63, 0x61, 0x6e, 0x64, 0x69, 0x64, 0x61, 0x74, 0x65, 0x20, 0x4d, +0x56, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x4d, 0x56, 0x50, 0x20, 0x77, 0x61, 0x73, 0x20, 0x74, 0x6f, +0x6f, 0x20, 0x66, 0x61, 0x72, 0x20, 0x61, 0x77, 0x61, 0x79, 0x20, 0x2a, 0x2f, 0x0a, 0x74, 0x72, +0x79, 0x6d, 0x76, 0x20, 0x3d, 0x20, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x5f, 0x69, 0x6e, +0x74, 0x32, 0x5f, 0x73, 0x61, 0x74, 0x28, 0x20, 0x6d, 0x76, 0x63, 0x5f, 0x6c, 0x6f, 0x63, 0x61, +0x6c, 0x5b, 0x69, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x43, 0x4f, 0x53, 0x54, 0x5f, 0x4d, 0x56, 0x5f, +0x4e, 0x4f, 0x5f, 0x50, 0x41, 0x44, 0x28, 0x20, 0x6c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x20, 0x29, +0x3b, 0x0a, 0x7d, 0x0a, 0x69, 0x66, 0x28, 0x20, 0x6d, 0x62, 0x5f, 0x69, 0x20, 0x3d, 0x3d, 0x20, +0x30, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x62, 0x65, 0x73, 0x74, 0x6d, 0x76, 0x20, 0x3c, 0x3c, 0x3d, +0x20, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x3b, 0x0a, 0x6f, 0x75, 0x74, 0x5f, 0x6d, 0x76, 0x73, 0x5b, +0x6d, 0x62, 0x5f, 0x78, 0x79, 0x5d, 0x20, 0x3d, 0x20, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, +0x5f, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x32, 0x5f, 0x73, 0x61, 0x74, 0x28, 0x62, 0x65, 0x73, 0x74, +0x6d, 0x76, 0x29, 0x3b, 0x0a, 0x6f, 0x75, 0x74, 0x5f, 0x6d, 0x76, 0x5f, 0x63, 0x6f, 0x73, 0x74, +0x73, 0x5b, 0x6d, 0x62, 0x5f, 0x78, 0x79, 0x5d, 0x20, 0x3d, 0x20, 0x6d, 0x69, 0x6e, 0x28, 0x20, +0x62, 0x63, 0x6f, 0x73, 0x74, 0x2c, 0x20, 0x4c, 0x4f, 0x57, 0x52, 0x45, 0x53, 0x5f, 0x43, 0x4f, +0x53, 0x54, 0x5f, 0x4d, 0x41, 0x53, 0x4b, 0x20, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x7d, 0x0a, 0x2f, +0x2a, 0x20, 0x4f, 0x70, 0x65, 0x6e, 0x43, 0x4c, 0x20, 0x6c, 0x6f, 0x77, 0x72, 0x65, 0x73, 0x20, +0x73, 0x75, 0x62, 0x70, 0x65, 0x6c, 0x20, 0x52, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x2a, 0x2f, +0x0a, 0x2f, 0x2a, 0x20, 0x45, 0x61, 0x63, 0x68, 0x20, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x20, +0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x20, 0x38, 0x78, 0x38, 0x20, 0x53, 0x41, 0x44, +0x2e, 0x20, 0x20, 0x34, 0x20, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x73, 0x20, 0x70, 0x65, 0x72, +0x20, 0x4d, 0x42, 0x2c, 0x20, 0x73, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x34, 0x20, 0x44, 0x49, +0x41, 0x20, 0x48, 0x50, 0x45, 0x4c, 0x20, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x73, 0x20, 0x61, +0x72, 0x65, 0x0a, 0x2a, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, +0x73, 0x69, 0x6d, 0x75, 0x6c, 0x74, 0x61, 0x6e, 0x65, 0x6f, 0x75, 0x73, 0x6c, 0x79, 0x20, 0x2a, +0x2f, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x73, 0x61, 0x64, 0x5f, 0x38, 0x78, 0x38, 0x5f, 0x69, 0x69, +0x5f, 0x68, 0x70, 0x65, 0x6c, 0x28, 0x20, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, +0x20, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x32, 0x64, 0x5f, 0x74, 0x20, 0x66, 0x65, 0x6e, 0x63, 0x2c, +0x20, 0x69, 0x6e, 0x74, 0x32, 0x20, 0x66, 0x65, 0x6e, 0x63, 0x70, 0x6f, 0x73, 0x2c, 0x20, 0x72, +0x65, 0x61, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x32, 0x64, +0x5f, 0x74, 0x20, 0x66, 0x72, 0x65, 0x66, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x73, 0x2c, 0x20, +0x69, 0x6e, 0x74, 0x32, 0x20, 0x71, 0x70, 0x6f, 0x73, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x69, 0x6e, +0x74, 0x32, 0x20, 0x66, 0x72, 0x65, 0x66, 0x70, 0x6f, 0x73, 0x20, 0x3d, 0x20, 0x71, 0x70, 0x6f, +0x73, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x68, 0x70, 0x65, 0x6c, +0x5f, 0x69, 0x64, 0x78, 0x20, 0x3d, 0x20, 0x28, 0x28, 0x71, 0x70, 0x6f, 0x73, 0x2e, 0x78, 0x20, +0x26, 0x20, 0x32, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x31, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x71, 0x70, +0x6f, 0x73, 0x2e, 0x79, 0x20, 0x26, 0x20, 0x32, 0x29, 0x3b, 0x0a, 0x75, 0x69, 0x6e, 0x74, 0x20, +0x6d, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x68, 0x69, 0x66, 0x74, 0x20, 0x3d, 0x20, 0x38, 0x20, 0x2a, +0x20, 0x68, 0x70, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x78, 0x3b, 0x0a, 0x75, 0x69, 0x6e, 0x74, 0x34, +0x20, 0x63, 0x6f, 0x73, 0x74, 0x34, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x66, 0x6f, 0x72, 0x28, +0x20, 0x69, 0x6e, 0x74, 0x20, 0x79, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x20, 0x79, 0x20, 0x3c, 0x20, +0x38, 0x3b, 0x20, 0x79, 0x2b, 0x2b, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x75, 0x69, 0x6e, 0x74, 0x34, +0x20, 0x65, 0x6e, 0x63, 0x2c, 0x20, 0x76, 0x61, 0x6c, 0x34, 0x3b, 0x0a, 0x65, 0x6e, 0x63, 0x20, +0x3d, 0x20, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x75, 0x69, 0x28, 0x20, +0x66, 0x65, 0x6e, 0x63, 0x2c, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x66, +0x65, 0x6e, 0x63, 0x70, 0x6f, 0x73, 0x20, 0x2b, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x32, 0x29, 0x28, +0x30, 0x2c, 0x20, 0x79, 0x29, 0x29, 0x3b, 0x0a, 0x76, 0x61, 0x6c, 0x34, 0x2e, 0x73, 0x30, 0x20, +0x3d, 0x20, 0x28, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x75, 0x69, 0x28, +0x20, 0x66, 0x72, 0x65, 0x66, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x73, 0x2c, 0x20, 0x73, 0x61, +0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x66, 0x72, 0x65, 0x66, 0x70, 0x6f, 0x73, 0x20, 0x2b, +0x20, 0x28, 0x69, 0x6e, 0x74, 0x32, 0x29, 0x28, 0x30, 0x2c, 0x20, 0x79, 0x29, 0x29, 0x2e, 0x73, +0x30, 0x20, 0x3e, 0x3e, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x68, 0x69, 0x66, 0x74, 0x29, +0x20, 0x26, 0x20, 0x30, 0x78, 0x46, 0x46, 0x3b, 0x0a, 0x76, 0x61, 0x6c, 0x34, 0x2e, 0x73, 0x31, +0x20, 0x3d, 0x20, 0x28, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x75, 0x69, +0x28, 0x20, 0x66, 0x72, 0x65, 0x66, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x73, 0x2c, 0x20, 0x73, +0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x66, 0x72, 0x65, 0x66, 0x70, 0x6f, 0x73, 0x20, +0x2b, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x32, 0x29, 0x28, 0x31, 0x2c, 0x20, 0x79, 0x29, 0x29, 0x2e, +0x73, 0x30, 0x20, 0x3e, 0x3e, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x68, 0x69, 0x66, 0x74, +0x29, 0x20, 0x26, 0x20, 0x30, 0x78, 0x46, 0x46, 0x3b, 0x0a, 0x76, 0x61, 0x6c, 0x34, 0x2e, 0x73, +0x32, 0x20, 0x3d, 0x20, 0x28, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x75, +0x69, 0x28, 0x20, 0x66, 0x72, 0x65, 0x66, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x73, 0x2c, 0x20, +0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x66, 0x72, 0x65, 0x66, 0x70, 0x6f, 0x73, +0x20, 0x2b, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x32, 0x29, 0x28, 0x32, 0x2c, 0x20, 0x79, 0x29, 0x29, +0x2e, 0x73, 0x30, 0x20, 0x3e, 0x3e, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x68, 0x69, 0x66, +0x74, 0x29, 0x20, 0x26, 0x20, 0x30, 0x78, 0x46, 0x46, 0x3b, 0x0a, 0x76, 0x61, 0x6c, 0x34, 0x2e, +0x73, 0x33, 0x20, 0x3d, 0x20, 0x28, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, +0x75, 0x69, 0x28, 0x20, 0x66, 0x72, 0x65, 0x66, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x73, 0x2c, +0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x66, 0x72, 0x65, 0x66, 0x70, 0x6f, +0x73, 0x20, 0x2b, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x32, 0x29, 0x28, 0x33, 0x2c, 0x20, 0x79, 0x29, +0x29, 0x2e, 0x73, 0x30, 0x20, 0x3e, 0x3e, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x68, 0x69, +0x66, 0x74, 0x29, 0x20, 0x26, 0x20, 0x30, 0x78, 0x46, 0x46, 0x3b, 0x0a, 0x63, 0x6f, 0x73, 0x74, +0x34, 0x20, 0x2b, 0x3d, 0x20, 0x61, 0x62, 0x73, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x28, 0x20, 0x65, +0x6e, 0x63, 0x2c, 0x20, 0x76, 0x61, 0x6c, 0x34, 0x20, 0x29, 0x3b, 0x0a, 0x65, 0x6e, 0x63, 0x20, +0x3d, 0x20, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x75, 0x69, 0x28, 0x20, +0x66, 0x65, 0x6e, 0x63, 0x2c, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x66, +0x65, 0x6e, 0x63, 0x70, 0x6f, 0x73, 0x20, 0x2b, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x32, 0x29, 0x28, +0x34, 0x2c, 0x20, 0x79, 0x29, 0x29, 0x3b, 0x0a, 0x76, 0x61, 0x6c, 0x34, 0x2e, 0x73, 0x30, 0x20, +0x3d, 0x20, 0x28, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x75, 0x69, 0x28, +0x20, 0x66, 0x72, 0x65, 0x66, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x73, 0x2c, 0x20, 0x73, 0x61, +0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x66, 0x72, 0x65, 0x66, 0x70, 0x6f, 0x73, 0x20, 0x2b, +0x20, 0x28, 0x69, 0x6e, 0x74, 0x32, 0x29, 0x28, 0x34, 0x2c, 0x20, 0x79, 0x29, 0x29, 0x2e, 0x73, +0x30, 0x20, 0x3e, 0x3e, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x68, 0x69, 0x66, 0x74, 0x29, +0x20, 0x26, 0x20, 0x30, 0x78, 0x46, 0x46, 0x3b, 0x0a, 0x76, 0x61, 0x6c, 0x34, 0x2e, 0x73, 0x31, +0x20, 0x3d, 0x20, 0x28, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x75, 0x69, +0x28, 0x20, 0x66, 0x72, 0x65, 0x66, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x73, 0x2c, 0x20, 0x73, +0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x66, 0x72, 0x65, 0x66, 0x70, 0x6f, 0x73, 0x20, +0x2b, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x32, 0x29, 0x28, 0x35, 0x2c, 0x20, 0x79, 0x29, 0x29, 0x2e, +0x73, 0x30, 0x20, 0x3e, 0x3e, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x68, 0x69, 0x66, 0x74, +0x29, 0x20, 0x26, 0x20, 0x30, 0x78, 0x46, 0x46, 0x3b, 0x0a, 0x76, 0x61, 0x6c, 0x34, 0x2e, 0x73, +0x32, 0x20, 0x3d, 0x20, 0x28, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x75, +0x69, 0x28, 0x20, 0x66, 0x72, 0x65, 0x66, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x73, 0x2c, 0x20, +0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x66, 0x72, 0x65, 0x66, 0x70, 0x6f, 0x73, +0x20, 0x2b, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x32, 0x29, 0x28, 0x36, 0x2c, 0x20, 0x79, 0x29, 0x29, +0x2e, 0x73, 0x30, 0x20, 0x3e, 0x3e, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x68, 0x69, 0x66, +0x74, 0x29, 0x20, 0x26, 0x20, 0x30, 0x78, 0x46, 0x46, 0x3b, 0x0a, 0x76, 0x61, 0x6c, 0x34, 0x2e, +0x73, 0x33, 0x20, 0x3d, 0x20, 0x28, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, +0x75, 0x69, 0x28, 0x20, 0x66, 0x72, 0x65, 0x66, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x73, 0x2c, +0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x66, 0x72, 0x65, 0x66, 0x70, 0x6f, +0x73, 0x20, 0x2b, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x32, 0x29, 0x28, 0x37, 0x2c, 0x20, 0x79, 0x29, +0x29, 0x2e, 0x73, 0x30, 0x20, 0x3e, 0x3e, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x68, 0x69, +0x66, 0x74, 0x29, 0x20, 0x26, 0x20, 0x30, 0x78, 0x46, 0x46, 0x3b, 0x0a, 0x63, 0x6f, 0x73, 0x74, +0x34, 0x20, 0x2b, 0x3d, 0x20, 0x61, 0x62, 0x73, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x28, 0x20, 0x65, +0x6e, 0x63, 0x2c, 0x20, 0x76, 0x61, 0x6c, 0x34, 0x20, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x72, 0x65, +0x74, 0x75, 0x72, 0x6e, 0x20, 0x63, 0x6f, 0x73, 0x74, 0x34, 0x2e, 0x73, 0x30, 0x20, 0x2b, 0x20, +0x63, 0x6f, 0x73, 0x74, 0x34, 0x2e, 0x73, 0x31, 0x20, 0x2b, 0x20, 0x63, 0x6f, 0x73, 0x74, 0x34, +0x2e, 0x73, 0x32, 0x20, 0x2b, 0x20, 0x63, 0x6f, 0x73, 0x74, 0x34, 0x2e, 0x73, 0x33, 0x3b, 0x0a, +0x7d, 0x0a, 0x2f, 0x2a, 0x20, 0x4f, 0x6e, 0x65, 0x20, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x20, +0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x73, 0x20, 0x38, 0x78, 0x38, 0x20, 0x53, 0x41, 0x44, +0x20, 0x63, 0x6f, 0x73, 0x74, 0x20, 0x61, 0x74, 0x20, 0x61, 0x20, 0x51, 0x50, 0x45, 0x4c, 0x20, +0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x20, 0x61, 0x6e, 0x20, 0x48, +0x50, 0x45, 0x4c, 0x20, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x20, 0x2a, 0x2f, 0x0a, 0x69, 0x6e, 0x74, +0x20, 0x73, 0x61, 0x64, 0x5f, 0x38, 0x78, 0x38, 0x5f, 0x69, 0x69, 0x5f, 0x71, 0x70, 0x65, 0x6c, +0x28, 0x20, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x69, 0x6d, 0x61, 0x67, +0x65, 0x32, 0x64, 0x5f, 0x74, 0x20, 0x66, 0x65, 0x6e, 0x63, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x32, +0x20, 0x66, 0x65, 0x6e, 0x63, 0x70, 0x6f, 0x73, 0x2c, 0x20, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, +0x6e, 0x6c, 0x79, 0x20, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x32, 0x64, 0x5f, 0x74, 0x20, 0x66, 0x72, +0x65, 0x66, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x73, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x32, 0x20, +0x71, 0x70, 0x6f, 0x73, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x69, 0x6e, 0x74, 0x32, 0x20, 0x66, 0x72, +0x65, 0x66, 0x41, 0x70, 0x6f, 0x73, 0x20, 0x3d, 0x20, 0x71, 0x70, 0x6f, 0x73, 0x20, 0x3e, 0x3e, +0x20, 0x32, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x68, 0x70, 0x65, 0x6c, 0x41, 0x20, 0x3d, 0x20, +0x28, 0x28, 0x71, 0x70, 0x6f, 0x73, 0x2e, 0x78, 0x20, 0x26, 0x20, 0x32, 0x29, 0x20, 0x3e, 0x3e, +0x20, 0x31, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x71, 0x70, 0x6f, 0x73, 0x2e, 0x79, 0x20, 0x26, 0x20, +0x32, 0x29, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x32, 0x20, 0x71, 0x70, 0x6f, 0x73, 0x42, 0x20, 0x3d, +0x20, 0x71, 0x70, 0x6f, 0x73, 0x20, 0x2b, 0x20, 0x28, 0x28, 0x71, 0x70, 0x6f, 0x73, 0x20, 0x26, +0x20, 0x31, 0x29, 0x20, 0x3c, 0x3c, 0x20, 0x31, 0x29, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x32, 0x20, +0x66, 0x72, 0x65, 0x66, 0x42, 0x70, 0x6f, 0x73, 0x20, 0x3d, 0x20, 0x71, 0x70, 0x6f, 0x73, 0x42, +0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x68, 0x70, 0x65, 0x6c, 0x42, +0x20, 0x3d, 0x20, 0x28, 0x28, 0x71, 0x70, 0x6f, 0x73, 0x42, 0x2e, 0x78, 0x20, 0x26, 0x20, 0x32, +0x29, 0x20, 0x3e, 0x3e, 0x20, 0x31, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x71, 0x70, 0x6f, 0x73, 0x42, +0x2e, 0x79, 0x20, 0x26, 0x20, 0x32, 0x29, 0x3b, 0x0a, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x6d, 0x61, +0x73, 0x6b, 0x5f, 0x73, 0x68, 0x69, 0x66, 0x74, 0x30, 0x20, 0x3d, 0x20, 0x38, 0x20, 0x2a, 0x20, +0x68, 0x70, 0x65, 0x6c, 0x41, 0x2c, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x68, 0x69, 0x66, +0x74, 0x31, 0x20, 0x3d, 0x20, 0x38, 0x20, 0x2a, 0x20, 0x68, 0x70, 0x65, 0x6c, 0x42, 0x3b, 0x0a, +0x69, 0x6e, 0x74, 0x20, 0x63, 0x6f, 0x73, 0x74, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x66, 0x6f, +0x72, 0x28, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x79, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x20, 0x79, 0x20, +0x3c, 0x20, 0x38, 0x3b, 0x20, 0x79, 0x2b, 0x2b, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x66, 0x6f, 0x72, +0x28, 0x20, 0x69, 0x6e, 0x74, 0x20, 0x78, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x20, 0x78, 0x20, 0x3c, +0x20, 0x38, 0x3b, 0x20, 0x78, 0x2b, 0x2b, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x75, 0x69, 0x6e, 0x74, +0x20, 0x65, 0x6e, 0x63, 0x20, 0x3d, 0x20, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x69, 0x6d, 0x61, 0x67, +0x65, 0x75, 0x69, 0x28, 0x20, 0x66, 0x65, 0x6e, 0x63, 0x2c, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, +0x65, 0x72, 0x2c, 0x20, 0x66, 0x65, 0x6e, 0x63, 0x70, 0x6f, 0x73, 0x20, 0x2b, 0x20, 0x28, 0x69, +0x6e, 0x74, 0x32, 0x29, 0x28, 0x78, 0x2c, 0x20, 0x79, 0x29, 0x29, 0x2e, 0x73, 0x30, 0x3b, 0x0a, +0x75, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x41, 0x20, 0x3d, 0x20, 0x28, 0x72, 0x65, 0x61, 0x64, 0x5f, +0x69, 0x6d, 0x61, 0x67, 0x65, 0x75, 0x69, 0x28, 0x20, 0x66, 0x72, 0x65, 0x66, 0x5f, 0x70, 0x6c, +0x61, 0x6e, 0x65, 0x73, 0x2c, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x66, +0x72, 0x65, 0x66, 0x41, 0x70, 0x6f, 0x73, 0x20, 0x2b, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x32, 0x29, +0x28, 0x78, 0x2c, 0x20, 0x79, 0x29, 0x29, 0x2e, 0x73, 0x30, 0x20, 0x3e, 0x3e, 0x20, 0x6d, 0x61, +0x73, 0x6b, 0x5f, 0x73, 0x68, 0x69, 0x66, 0x74, 0x30, 0x29, 0x20, 0x26, 0x20, 0x30, 0x78, 0x46, +0x46, 0x3b, 0x0a, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x42, 0x20, 0x3d, 0x20, 0x28, 0x72, 0x65, +0x61, 0x64, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x75, 0x69, 0x28, 0x20, 0x66, 0x72, 0x65, 0x66, +0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x73, 0x2c, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, +0x2c, 0x20, 0x66, 0x72, 0x65, 0x66, 0x42, 0x70, 0x6f, 0x73, 0x20, 0x2b, 0x20, 0x28, 0x69, 0x6e, +0x74, 0x32, 0x29, 0x28, 0x78, 0x2c, 0x20, 0x79, 0x29, 0x29, 0x2e, 0x73, 0x30, 0x20, 0x3e, 0x3e, +0x20, 0x6d, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x68, 0x69, 0x66, 0x74, 0x31, 0x29, 0x20, 0x26, 0x20, +0x30, 0x78, 0x46, 0x46, 0x3b, 0x0a, 0x63, 0x6f, 0x73, 0x74, 0x20, 0x2b, 0x3d, 0x20, 0x61, 0x62, +0x73, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x28, 0x20, 0x65, 0x6e, 0x63, 0x2c, 0x20, 0x72, 0x68, 0x61, +0x64, 0x64, 0x28, 0x20, 0x76, 0x41, 0x2c, 0x20, 0x76, 0x42, 0x20, 0x29, 0x20, 0x29, 0x3b, 0x0a, +0x7d, 0x0a, 0x7d, 0x0a, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x63, 0x6f, 0x73, 0x74, 0x3b, +0x0a, 0x7d, 0x0a, 0x2f, 0x2a, 0x20, 0x46, 0x6f, 0x75, 0x72, 0x20, 0x74, 0x68, 0x72, 0x65, 0x61, +0x64, 0x73, 0x20, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x20, 0x38, 0x78, 0x38, 0x20, 0x53, +0x41, 0x54, 0x44, 0x20, 0x63, 0x6f, 0x73, 0x74, 0x20, 0x61, 0x74, 0x20, 0x61, 0x20, 0x51, 0x50, +0x45, 0x4c, 0x20, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x20, 0x61, +0x6e, 0x20, 0x48, 0x50, 0x45, 0x4c, 0x20, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x0a, 0x2a, 0x0a, 0x2a, +0x20, 0x45, 0x61, 0x63, 0x68, 0x20, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, 0x20, 0x63, 0x6f, 0x6c, +0x6c, 0x65, 0x63, 0x74, 0x73, 0x20, 0x31, 0x2f, 0x34, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, +0x20, 0x72, 0x6f, 0x77, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x64, 0x69, 0x66, 0x66, 0x73, 0x20, 0x61, +0x6e, 0x64, 0x20, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x73, 0x20, 0x6f, 0x6e, 0x65, +0x20, 0x71, 0x75, 0x61, 0x72, 0x74, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x0a, 0x2a, 0x20, 0x74, 0x68, +0x65, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x0a, 0x2a, 0x2f, 0x0a, +0x69, 0x6e, 0x74, 0x20, 0x73, 0x61, 0x74, 0x64, 0x5f, 0x38, 0x78, 0x38, 0x5f, 0x69, 0x69, 0x5f, +0x71, 0x70, 0x65, 0x6c, 0x5f, 0x63, 0x6f, 0x6f, 0x70, 0x34, 0x28, 0x20, 0x72, 0x65, 0x61, 0x64, +0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x32, 0x64, 0x5f, 0x74, 0x20, +0x66, 0x65, 0x6e, 0x63, 0x2c, 0x0a, 0x69, 0x6e, 0x74, 0x32, 0x20, 0x66, 0x65, 0x6e, 0x63, 0x70, +0x6f, 0x73, 0x2c, 0x0a, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x69, 0x6d, +0x61, 0x67, 0x65, 0x32, 0x64, 0x5f, 0x74, 0x20, 0x66, 0x72, 0x65, 0x66, 0x5f, 0x70, 0x6c, 0x61, +0x6e, 0x65, 0x73, 0x2c, 0x0a, 0x69, 0x6e, 0x74, 0x32, 0x20, 0x71, 0x70, 0x6f, 0x73, 0x2c, 0x0a, +0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x73, 0x75, 0x6d, 0x32, 0x5f, 0x74, 0x20, 0x2a, 0x74, 0x6d, +0x70, 0x70, 0x2c, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x64, 0x78, 0x20, 0x29, 0x0a, 0x7b, 0x0a, +0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, 0x73, +0x75, 0x6d, 0x32, 0x5f, 0x74, 0x28, 0x20, 0x2a, 0x74, 0x6d, 0x70, 0x20, 0x29, 0x5b, 0x34, 0x5d, +0x20, 0x3d, 0x20, 0x28, 0x76, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6c, 0x65, 0x20, 0x6c, 0x6f, 0x63, +0x61, 0x6c, 0x20, 0x73, 0x75, 0x6d, 0x32, 0x5f, 0x74, 0x28, 0x20, 0x2a, 0x20, 0x29, 0x5b, 0x34, +0x5d, 0x29, 0x74, 0x6d, 0x70, 0x70, 0x3b, 0x0a, 0x73, 0x75, 0x6d, 0x32, 0x5f, 0x74, 0x20, 0x62, +0x30, 0x2c, 0x20, 0x62, 0x31, 0x2c, 0x20, 0x62, 0x32, 0x2c, 0x20, 0x62, 0x33, 0x3b, 0x0a, 0x69, +0x6e, 0x74, 0x32, 0x20, 0x66, 0x72, 0x65, 0x66, 0x41, 0x70, 0x6f, 0x73, 0x20, 0x3d, 0x20, 0x71, +0x70, 0x6f, 0x73, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x68, 0x70, +0x65, 0x6c, 0x41, 0x20, 0x3d, 0x20, 0x28, 0x28, 0x71, 0x70, 0x6f, 0x73, 0x2e, 0x78, 0x26, 0x32, +0x29, 0x3e, 0x3e, 0x31, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x71, 0x70, 0x6f, 0x73, 0x2e, 0x79, 0x26, +0x32, 0x29, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x32, 0x20, 0x71, 0x70, 0x6f, 0x73, 0x42, 0x20, 0x3d, +0x20, 0x71, 0x70, 0x6f, 0x73, 0x20, 0x2b, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x32, 0x29, 0x28, 0x28, +0x28, 0x71, 0x70, 0x6f, 0x73, 0x2e, 0x78, 0x26, 0x31, 0x29, 0x3c, 0x3c, 0x31, 0x29, 0x2c, 0x20, +0x28, 0x28, 0x71, 0x70, 0x6f, 0x73, 0x2e, 0x79, 0x26, 0x31, 0x29, 0x3c, 0x3c, 0x31, 0x29, 0x29, +0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x32, 0x20, 0x66, 0x72, 0x65, 0x66, 0x42, 0x70, 0x6f, 0x73, 0x20, +0x3d, 0x20, 0x71, 0x70, 0x6f, 0x73, 0x42, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x69, 0x6e, +0x74, 0x20, 0x68, 0x70, 0x65, 0x6c, 0x42, 0x20, 0x3d, 0x20, 0x28, 0x28, 0x71, 0x70, 0x6f, 0x73, +0x42, 0x2e, 0x78, 0x26, 0x32, 0x29, 0x3e, 0x3e, 0x31, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x71, 0x70, +0x6f, 0x73, 0x42, 0x2e, 0x79, 0x26, 0x32, 0x29, 0x3b, 0x0a, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x6d, +0x61, 0x73, 0x6b, 0x5f, 0x73, 0x68, 0x69, 0x66, 0x74, 0x30, 0x20, 0x3d, 0x20, 0x38, 0x20, 0x2a, +0x20, 0x68, 0x70, 0x65, 0x6c, 0x41, 0x2c, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x68, 0x69, +0x66, 0x74, 0x31, 0x20, 0x3d, 0x20, 0x38, 0x20, 0x2a, 0x20, 0x68, 0x70, 0x65, 0x6c, 0x42, 0x3b, +0x0a, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x76, 0x41, 0x2c, 0x20, 0x76, 0x42, 0x3b, 0x0a, 0x75, 0x69, +0x6e, 0x74, 0x20, 0x61, 0x30, 0x2c, 0x20, 0x61, 0x31, 0x3b, 0x0a, 0x75, 0x69, 0x6e, 0x74, 0x20, +0x65, 0x6e, 0x63, 0x3b, 0x0a, 0x73, 0x75, 0x6d, 0x32, 0x5f, 0x74, 0x20, 0x73, 0x75, 0x6d, 0x20, +0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x52, 0x45, 0x41, +0x44, 0x5f, 0x44, 0x49, 0x46, 0x46, 0x28, 0x20, 0x4f, 0x55, 0x54, 0x2c, 0x20, 0x58, 0x20, 0x29, +0x5c, 0x0a, 0x65, 0x6e, 0x63, 0x20, 0x3d, 0x20, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x69, 0x6d, 0x61, +0x67, 0x65, 0x75, 0x69, 0x28, 0x20, 0x66, 0x65, 0x6e, 0x63, 0x2c, 0x20, 0x73, 0x61, 0x6d, 0x70, +0x6c, 0x65, 0x72, 0x2c, 0x20, 0x66, 0x65, 0x6e, 0x63, 0x70, 0x6f, 0x73, 0x20, 0x2b, 0x20, 0x28, +0x69, 0x6e, 0x74, 0x32, 0x29, 0x28, 0x58, 0x2c, 0x20, 0x69, 0x64, 0x78, 0x29, 0x20, 0x29, 0x2e, +0x73, 0x30, 0x3b, 0x5c, 0x0a, 0x76, 0x41, 0x20, 0x3d, 0x20, 0x28, 0x72, 0x65, 0x61, 0x64, 0x5f, +0x69, 0x6d, 0x61, 0x67, 0x65, 0x75, 0x69, 0x28, 0x20, 0x66, 0x72, 0x65, 0x66, 0x5f, 0x70, 0x6c, +0x61, 0x6e, 0x65, 0x73, 0x2c, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x66, +0x72, 0x65, 0x66, 0x41, 0x70, 0x6f, 0x73, 0x20, 0x2b, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x32, 0x29, +0x28, 0x58, 0x2c, 0x20, 0x69, 0x64, 0x78, 0x29, 0x20, 0x29, 0x2e, 0x73, 0x30, 0x20, 0x3e, 0x3e, +0x20, 0x6d, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x68, 0x69, 0x66, 0x74, 0x30, 0x29, 0x20, 0x26, 0x20, +0x30, 0x78, 0x46, 0x46, 0x3b, 0x5c, 0x0a, 0x76, 0x42, 0x20, 0x3d, 0x20, 0x28, 0x72, 0x65, 0x61, +0x64, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x75, 0x69, 0x28, 0x20, 0x66, 0x72, 0x65, 0x66, 0x5f, +0x70, 0x6c, 0x61, 0x6e, 0x65, 0x73, 0x2c, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, +0x20, 0x66, 0x72, 0x65, 0x66, 0x42, 0x70, 0x6f, 0x73, 0x20, 0x2b, 0x20, 0x28, 0x69, 0x6e, 0x74, +0x32, 0x29, 0x28, 0x58, 0x2c, 0x20, 0x69, 0x64, 0x78, 0x29, 0x20, 0x29, 0x2e, 0x73, 0x30, 0x20, +0x3e, 0x3e, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x5f, 0x73, 0x68, 0x69, 0x66, 0x74, 0x31, 0x29, 0x20, +0x26, 0x20, 0x30, 0x78, 0x46, 0x46, 0x3b, 0x5c, 0x0a, 0x4f, 0x55, 0x54, 0x20, 0x3d, 0x20, 0x65, +0x6e, 0x63, 0x20, 0x2d, 0x20, 0x72, 0x68, 0x61, 0x64, 0x64, 0x28, 0x20, 0x76, 0x41, 0x2c, 0x20, +0x76, 0x42, 0x20, 0x29, 0x3b, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x52, 0x45, +0x41, 0x44, 0x5f, 0x44, 0x49, 0x46, 0x46, 0x5f, 0x45, 0x58, 0x28, 0x20, 0x4f, 0x55, 0x54, 0x2c, +0x20, 0x61, 0x2c, 0x20, 0x62, 0x20, 0x29, 0x5c, 0x0a, 0x7b, 0x5c, 0x0a, 0x52, 0x45, 0x41, 0x44, +0x5f, 0x44, 0x49, 0x46, 0x46, 0x28, 0x20, 0x61, 0x30, 0x2c, 0x20, 0x61, 0x20, 0x29, 0x3b, 0x5c, +0x0a, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x44, 0x49, 0x46, 0x46, 0x28, 0x20, 0x61, 0x31, 0x2c, 0x20, +0x62, 0x20, 0x29, 0x3b, 0x5c, 0x0a, 0x4f, 0x55, 0x54, 0x20, 0x3d, 0x20, 0x61, 0x30, 0x20, 0x2b, +0x20, 0x28, 0x61, 0x31, 0x3c, 0x3c, 0x42, 0x49, 0x54, 0x53, 0x5f, 0x50, 0x45, 0x52, 0x5f, 0x53, +0x55, 0x4d, 0x29, 0x3b, 0x5c, 0x0a, 0x7d, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, +0x52, 0x4f, 0x57, 0x5f, 0x38, 0x78, 0x34, 0x5f, 0x53, 0x41, 0x54, 0x44, 0x28, 0x20, 0x61, 0x2c, +0x20, 0x62, 0x20, 0x29, 0x5c, 0x0a, 0x7b, 0x5c, 0x0a, 0x66, 0x65, 0x6e, 0x63, 0x70, 0x6f, 0x73, +0x2e, 0x79, 0x20, 0x2b, 0x3d, 0x20, 0x61, 0x3b, 0x5c, 0x0a, 0x66, 0x72, 0x65, 0x66, 0x41, 0x70, +0x6f, 0x73, 0x2e, 0x79, 0x20, 0x2b, 0x3d, 0x20, 0x62, 0x3b, 0x5c, 0x0a, 0x66, 0x72, 0x65, 0x66, +0x42, 0x70, 0x6f, 0x73, 0x2e, 0x79, 0x20, 0x2b, 0x3d, 0x20, 0x62, 0x3b, 0x5c, 0x0a, 0x52, 0x45, +0x41, 0x44, 0x5f, 0x44, 0x49, 0x46, 0x46, 0x5f, 0x45, 0x58, 0x28, 0x20, 0x62, 0x30, 0x2c, 0x20, +0x30, 0x2c, 0x20, 0x34, 0x20, 0x29, 0x3b, 0x5c, 0x0a, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x44, 0x49, +0x46, 0x46, 0x5f, 0x45, 0x58, 0x28, 0x20, 0x62, 0x31, 0x2c, 0x20, 0x31, 0x2c, 0x20, 0x35, 0x20, +0x29, 0x3b, 0x5c, 0x0a, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x44, 0x49, 0x46, 0x46, 0x5f, 0x45, 0x58, +0x28, 0x20, 0x62, 0x32, 0x2c, 0x20, 0x32, 0x2c, 0x20, 0x36, 0x20, 0x29, 0x3b, 0x5c, 0x0a, 0x52, +0x45, 0x41, 0x44, 0x5f, 0x44, 0x49, 0x46, 0x46, 0x5f, 0x45, 0x58, 0x28, 0x20, 0x62, 0x33, 0x2c, +0x20, 0x33, 0x2c, 0x20, 0x37, 0x20, 0x29, 0x3b, 0x5c, 0x0a, 0x48, 0x41, 0x44, 0x41, 0x4d, 0x41, +0x52, 0x44, 0x34, 0x28, 0x20, 0x74, 0x6d, 0x70, 0x5b, 0x69, 0x64, 0x78, 0x5d, 0x5b, 0x30, 0x5d, +0x2c, 0x20, 0x74, 0x6d, 0x70, 0x5b, 0x69, 0x64, 0x78, 0x5d, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x74, +0x6d, 0x70, 0x5b, 0x69, 0x64, 0x78, 0x5d, 0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x74, 0x6d, 0x70, 0x5b, +0x69, 0x64, 0x78, 0x5d, 0x5b, 0x33, 0x5d, 0x2c, 0x20, 0x62, 0x30, 0x2c, 0x20, 0x62, 0x31, 0x2c, +0x20, 0x62, 0x32, 0x2c, 0x20, 0x62, 0x33, 0x20, 0x29, 0x3b, 0x5c, 0x0a, 0x48, 0x41, 0x44, 0x41, +0x4d, 0x41, 0x52, 0x44, 0x34, 0x28, 0x20, 0x62, 0x30, 0x2c, 0x20, 0x62, 0x31, 0x2c, 0x20, 0x62, +0x32, 0x2c, 0x20, 0x62, 0x33, 0x2c, 0x20, 0x74, 0x6d, 0x70, 0x5b, 0x30, 0x5d, 0x5b, 0x69, 0x64, +0x78, 0x5d, 0x2c, 0x20, 0x74, 0x6d, 0x70, 0x5b, 0x31, 0x5d, 0x5b, 0x69, 0x64, 0x78, 0x5d, 0x2c, +0x20, 0x74, 0x6d, 0x70, 0x5b, 0x32, 0x5d, 0x5b, 0x69, 0x64, 0x78, 0x5d, 0x2c, 0x20, 0x74, 0x6d, +0x70, 0x5b, 0x33, 0x5d, 0x5b, 0x69, 0x64, 0x78, 0x5d, 0x20, 0x29, 0x3b, 0x5c, 0x0a, 0x73, 0x75, +0x6d, 0x20, 0x2b, 0x3d, 0x20, 0x61, 0x62, 0x73, 0x32, 0x28, 0x20, 0x62, 0x30, 0x20, 0x29, 0x20, +0x2b, 0x20, 0x61, 0x62, 0x73, 0x32, 0x28, 0x20, 0x62, 0x31, 0x20, 0x29, 0x20, 0x2b, 0x20, 0x61, +0x62, 0x73, 0x32, 0x28, 0x20, 0x62, 0x32, 0x20, 0x29, 0x20, 0x2b, 0x20, 0x61, 0x62, 0x73, 0x32, +0x28, 0x20, 0x62, 0x33, 0x20, 0x29, 0x3b, 0x5c, 0x0a, 0x7d, 0x0a, 0x52, 0x4f, 0x57, 0x5f, 0x38, +0x78, 0x34, 0x5f, 0x53, 0x41, 0x54, 0x44, 0x28, 0x20, 0x30, 0x2c, 0x20, 0x30, 0x20, 0x29, 0x3b, +0x0a, 0x52, 0x4f, 0x57, 0x5f, 0x38, 0x78, 0x34, 0x5f, 0x53, 0x41, 0x54, 0x44, 0x28, 0x20, 0x34, +0x2c, 0x20, 0x34, 0x20, 0x29, 0x3b, 0x0a, 0x23, 0x75, 0x6e, 0x64, 0x65, 0x66, 0x20, 0x52, 0x45, +0x41, 0x44, 0x5f, 0x44, 0x49, 0x46, 0x46, 0x0a, 0x23, 0x75, 0x6e, 0x64, 0x65, 0x66, 0x20, 0x52, +0x45, 0x41, 0x44, 0x5f, 0x44, 0x49, 0x46, 0x46, 0x5f, 0x45, 0x58, 0x0a, 0x23, 0x75, 0x6e, 0x64, +0x65, 0x66, 0x20, 0x52, 0x4f, 0x57, 0x5f, 0x38, 0x78, 0x34, 0x5f, 0x53, 0x41, 0x54, 0x44, 0x0a, +0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x28, 0x28, 0x28, 0x73, 0x75, 0x6d, 0x5f, 0x74, 0x29, +0x73, 0x75, 0x6d, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x73, 0x75, 0x6d, 0x3e, 0x3e, 0x42, 0x49, 0x54, +0x53, 0x5f, 0x50, 0x45, 0x52, 0x5f, 0x53, 0x55, 0x4d, 0x29, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x31, +0x3b, 0x0a, 0x7d, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x74, +0x32, 0x20, 0x68, 0x70, 0x6f, 0x66, 0x66, 0x73, 0x5b, 0x34, 0x5d, 0x20, 0x3d, 0x0a, 0x7b, 0x0a, +0x7b, 0x30, 0x2c, 0x20, 0x2d, 0x32, 0x7d, 0x2c, 0x20, 0x7b, 0x2d, 0x32, 0x2c, 0x20, 0x30, 0x7d, +0x2c, 0x20, 0x7b, 0x32, 0x2c, 0x20, 0x30, 0x7d, 0x2c, 0x20, 0x7b, 0x30, 0x2c, 0x20, 0x32, 0x7d, +0x0a, 0x7d, 0x3b, 0x0a, 0x2f, 0x2a, 0x20, 0x73, 0x75, 0x62, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, +0x20, 0x72, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x6d, +0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x2c, 0x20, 0x6f, +0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x4d, 0x56, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x63, 0x6f, +0x73, 0x74, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x20, 0x66, 0x72, +0x6f, 0x6d, 0x0a, 0x2a, 0x20, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x72, 0x79, 0x20, 0x62, +0x75, 0x66, 0x66, 0x65, 0x72, 0x73, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x20, 0x66, 0x69, 0x6e, 0x61, +0x6c, 0x20, 0x70, 0x65, 0x72, 0x2d, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x20, 0x62, 0x75, 0x66, 0x66, +0x65, 0x72, 0x0a, 0x2a, 0x0a, 0x2a, 0x20, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x20, 0x6c, 0x61, +0x75, 0x6e, 0x63, 0x68, 0x20, 0x64, 0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, +0x20, 0x20, 0x5b, 0x6d, 0x62, 0x5f, 0x77, 0x69, 0x64, 0x74, 0x68, 0x20, 0x2a, 0x20, 0x34, 0x2c, +0x20, 0x6d, 0x62, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x5d, 0x0a, 0x2a, 0x0a, 0x2a, 0x20, +0x57, 0x69, 0x74, 0x68, 0x20, 0x58, 0x20, 0x62, 0x65, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, +0x20, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x31, 0x36, 0x78, 0x31, 0x36, 0x20, 0x70, 0x69, +0x78, 0x65, 0x6c, 0x73, 0x2c, 0x20, 0x46, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, +0x6f, 0x77, 0x72, 0x65, 0x73, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x75, 0x73, 0x65, 0x64, +0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x2a, 0x20, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, +0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2e, 0x20, 0x20, 0x57, 0x65, 0x20, 0x77, 0x69, 0x6c, +0x6c, 0x20, 0x6e, 0x6f, 0x77, 0x20, 0x75, 0x74, 0x69, 0x6c, 0x69, 0x7a, 0x65, 0x20, 0x74, 0x68, +0x65, 0x20, 0x48, 0x20, 0x56, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x43, 0x20, 0x70, 0x69, 0x78, 0x65, +0x6c, 0x73, 0x20, 0x28, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x73, 0x65, +0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x0a, 0x2a, 0x20, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x73, 0x29, +0x20, 0x74, 0x6f, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x20, 0x61, 0x74, 0x20, 0x68, 0x61, +0x6c, 0x66, 0x2d, 0x70, 0x65, 0x6c, 0x20, 0x69, 0x6e, 0x63, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, +0x73, 0x2e, 0x0a, 0x2a, 0x0a, 0x2a, 0x20, 0x58, 0x20, 0x58, 0x20, 0x58, 0x20, 0x58, 0x20, 0x58, +0x20, 0x58, 0x0a, 0x2a, 0x20, 0x20, 0x46, 0x20, 0x48, 0x20, 0x46, 0x20, 0x48, 0x20, 0x46, 0x0a, +0x2a, 0x20, 0x58, 0x20, 0x58, 0x20, 0x58, 0x20, 0x58, 0x20, 0x58, 0x20, 0x58, 0x0a, 0x2a, 0x20, +0x20, 0x56, 0x20, 0x43, 0x20, 0x56, 0x20, 0x43, 0x20, 0x56, 0x0a, 0x2a, 0x20, 0x58, 0x20, 0x58, +0x20, 0x58, 0x20, 0x58, 0x20, 0x58, 0x20, 0x58, 0x0a, 0x2a, 0x20, 0x20, 0x46, 0x20, 0x48, 0x20, +0x46, 0x20, 0x48, 0x20, 0x46, 0x0a, 0x2a, 0x20, 0x58, 0x20, 0x58, 0x20, 0x58, 0x20, 0x58, 0x20, +0x58, 0x20, 0x58, 0x0a, 0x2a, 0x0a, 0x2a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x59, 0x58, 0x20, 0x48, +0x50, 0x45, 0x4c, 0x20, 0x62, 0x69, 0x74, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, +0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x20, 0x73, 0x65, +0x6c, 0x65, 0x63, 0x74, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x20, +0x77, 0x65, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x20, 0x69, 0x6e, 0x2e, 0x20, 0x20, 0x54, +0x68, 0x65, 0x0a, 0x2a, 0x20, 0x66, 0x6f, 0x75, 0x72, 0x20, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x73, +0x20, 0x61, 0x72, 0x65, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, +0x68, 0x65, 0x20, 0x66, 0x72, 0x65, 0x66, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x73, 0x20, 0x32, +0x44, 0x20, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x2e, 0x20, +0x20, 0x45, 0x61, 0x63, 0x68, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x0a, 0x2a, 0x20, 0x72, +0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x3a, 0x20, 0x20, 0x73, 0x30, 0x20, 0x3d, 0x20, 0x46, 0x2c, +0x20, 0x73, 0x31, 0x20, 0x3d, 0x20, 0x48, 0x2c, 0x20, 0x73, 0x32, 0x20, 0x3d, 0x20, 0x56, 0x2c, +0x20, 0x73, 0x33, 0x20, 0x3d, 0x20, 0x43, 0x20, 0x2a, 0x2f, 0x0a, 0x6b, 0x65, 0x72, 0x6e, 0x65, +0x6c, 0x20, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x73, 0x75, 0x62, 0x70, 0x65, 0x6c, 0x5f, 0x72, 0x65, +0x66, 0x69, 0x6e, 0x65, 0x28, 0x20, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x20, +0x69, 0x6d, 0x61, 0x67, 0x65, 0x32, 0x64, 0x5f, 0x74, 0x20, 0x20, 0x20, 0x66, 0x65, 0x6e, 0x63, +0x2c, 0x0a, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x69, 0x6d, 0x61, 0x67, +0x65, 0x32, 0x64, 0x5f, 0x74, 0x20, 0x20, 0x20, 0x66, 0x72, 0x65, 0x66, 0x5f, 0x70, 0x6c, 0x61, +0x6e, 0x65, 0x73, 0x2c, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x67, 0x6c, 0x6f, 0x62, 0x61, +0x6c, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x32, 0x20, 0x20, 0x2a, 0x69, 0x6e, 0x5f, 0x6d, 0x76, +0x73, 0x2c, 0x0a, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x20, +0x69, 0x6e, 0x74, 0x31, 0x36, 0x5f, 0x74, 0x20, 0x2a, 0x69, 0x6e, 0x5f, 0x73, 0x61, 0x64, 0x5f, +0x6d, 0x76, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x73, 0x2c, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x20, +0x69, 0x6e, 0x74, 0x31, 0x36, 0x5f, 0x74, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2a, +0x63, 0x6f, 0x73, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x2c, 0x0a, 0x6c, 0x6f, 0x63, 0x61, +0x6c, 0x20, 0x73, 0x75, 0x6d, 0x32, 0x5f, 0x74, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, +0x20, 0x2a, 0x73, 0x61, 0x74, 0x64, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x2c, 0x0a, 0x6c, 0x6f, +0x63, 0x61, 0x6c, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x32, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, +0x20, 0x20, 0x20, 0x2a, 0x6d, 0x76, 0x63, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x2c, 0x0a, 0x67, +0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x32, 0x20, 0x20, 0x20, 0x20, +0x20, 0x20, 0x20, 0x20, 0x2a, 0x66, 0x65, 0x6e, 0x63, 0x5f, 0x6c, 0x6f, 0x77, 0x72, 0x65, 0x73, +0x5f, 0x6d, 0x76, 0x2c, 0x0a, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x20, 0x69, 0x6e, 0x74, 0x31, +0x36, 0x5f, 0x74, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2a, 0x66, 0x65, 0x6e, 0x63, 0x5f, +0x6c, 0x6f, 0x77, 0x72, 0x65, 0x73, 0x5f, 0x6d, 0x76, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x73, 0x2c, +0x0a, 0x69, 0x6e, 0x74, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, +0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x62, 0x5f, 0x77, 0x69, 0x64, 0x74, 0x68, 0x2c, +0x0a, 0x69, 0x6e, 0x74, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, +0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x2c, 0x0a, 0x69, +0x6e, 0x74, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, +0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x2c, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x20, 0x20, 0x20, 0x20, +0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, +0x66, 0x2c, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, +0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x5f, 0x69, 0x73, 0x6c, 0x69, 0x73, +0x74, 0x31, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x6d, 0x62, 0x5f, 0x78, 0x20, +0x3d, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x28, +0x20, 0x30, 0x20, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x3b, 0x0a, 0x69, 0x66, 0x28, 0x20, 0x6d, +0x62, 0x5f, 0x78, 0x20, 0x3e, 0x3d, 0x20, 0x6d, 0x62, 0x5f, 0x77, 0x69, 0x64, 0x74, 0x68, 0x20, +0x29, 0x0a, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x6d, 0x62, +0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x20, 0x3d, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x6c, +0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x20, 0x31, 0x20, 0x29, 0x3b, 0x0a, +0x69, 0x6e, 0x74, 0x20, 0x6d, 0x62, 0x5f, 0x69, 0x20, 0x3d, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x67, +0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x28, 0x20, 0x30, 0x20, 0x29, 0x20, 0x26, 0x20, +0x33, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x6d, 0x62, 0x5f, 0x79, 0x20, 0x3d, 0x20, 0x67, 0x65, +0x74, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x28, 0x20, 0x31, 0x20, 0x29, +0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x6d, 0x62, 0x5f, 0x78, 0x79, 0x20, 0x3d, 0x20, 0x6d, 0x62, +0x5f, 0x79, 0x20, 0x2a, 0x20, 0x6d, 0x62, 0x5f, 0x77, 0x69, 0x64, 0x74, 0x68, 0x20, 0x2b, 0x20, +0x6d, 0x62, 0x5f, 0x78, 0x3b, 0x0a, 0x2f, 0x2a, 0x20, 0x66, 0x65, 0x6e, 0x63, 0x5f, 0x6c, 0x6f, +0x77, 0x72, 0x65, 0x73, 0x5f, 0x6d, 0x76, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x66, 0x65, 0x6e, 0x63, +0x5f, 0x6c, 0x6f, 0x77, 0x72, 0x65, 0x73, 0x5f, 0x6d, 0x76, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x73, +0x20, 0x61, 0x72, 0x65, 0x20, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, +0x72, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x0a, 0x2a, 0x20, 0x68, 0x6f, 0x6c, 0x64, 0x20, 0x6d, +0x61, 0x6e, 0x79, 0x20, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x20, 0x77, 0x6f, 0x72, 0x74, 0x68, +0x20, 0x6f, 0x66, 0x20, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x76, 0x65, 0x63, 0x74, 0x6f, +0x72, 0x73, 0x2e, 0x20, 0x20, 0x57, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x66, +0x73, 0x65, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x72, +0x72, 0x65, 0x63, 0x74, 0x0a, 0x2a, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, +0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x27, 0x73, +0x20, 0x76, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x20, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6b, +0x65, 0x72, 0x6e, 0x65, 0x6c, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x70, 0x61, +0x73, 0x73, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, +0x0a, 0x2a, 0x20, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x62, +0x75, 0x66, 0x66, 0x65, 0x72, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x69, +0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, +0x65, 0x61, 0x72, 0x63, 0x68, 0x3a, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x31, 0x20, 0x6f, 0x72, 0x20, +0x6c, 0x69, 0x73, 0x74, 0x30, 0x0a, 0x2a, 0x0a, 0x2a, 0x20, 0x20, 0x20, 0x43, 0x50, 0x55, 0x20, +0x65, 0x71, 0x75, 0x69, 0x76, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x3a, 0x20, 0x66, 0x65, 0x6e, 0x63, +0x2d, 0x3e, 0x6c, 0x6f, 0x77, 0x72, 0x65, 0x73, 0x5f, 0x6d, 0x76, 0x73, 0x5b, 0x30, 0x5d, 0x5b, +0x62, 0x20, 0x2d, 0x20, 0x70, 0x30, 0x20, 0x2d, 0x20, 0x31, 0x5d, 0x0a, 0x2a, 0x20, 0x20, 0x20, +0x47, 0x50, 0x55, 0x20, 0x65, 0x71, 0x75, 0x69, 0x76, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x3a, 0x20, +0x66, 0x65, 0x6e, 0x63, 0x5f, 0x6c, 0x6f, 0x77, 0x72, 0x65, 0x73, 0x5f, 0x6d, 0x76, 0x73, 0x5b, +0x28, 0x62, 0x20, 0x2d, 0x20, 0x70, 0x30, 0x20, 0x2d, 0x20, 0x31, 0x29, 0x20, 0x2a, 0x20, 0x6d, +0x62, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5d, 0x20, 0x2a, 0x2f, 0x0a, 0x66, 0x65, 0x6e, 0x63, +0x5f, 0x6c, 0x6f, 0x77, 0x72, 0x65, 0x73, 0x5f, 0x6d, 0x76, 0x20, 0x2b, 0x3d, 0x20, 0x20, 0x20, +0x20, 0x20, 0x20, 0x20, 0x28, 0x62, 0x5f, 0x69, 0x73, 0x6c, 0x69, 0x73, 0x74, 0x31, 0x20, 0x3f, +0x20, 0x28, 0x72, 0x65, 0x66, 0x2d, 0x62, 0x2d, 0x31, 0x29, 0x20, 0x3a, 0x20, 0x28, 0x62, 0x2d, +0x72, 0x65, 0x66, 0x2d, 0x31, 0x29, 0x29, 0x20, 0x2a, 0x20, 0x6d, 0x62, 0x5f, 0x77, 0x69, 0x64, +0x74, 0x68, 0x20, 0x2a, 0x20, 0x6d, 0x62, 0x5f, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3b, 0x0a, +0x66, 0x65, 0x6e, 0x63, 0x5f, 0x6c, 0x6f, 0x77, 0x72, 0x65, 0x73, 0x5f, 0x6d, 0x76, 0x5f, 0x63, +0x6f, 0x73, 0x74, 0x73, 0x20, 0x2b, 0x3d, 0x20, 0x28, 0x62, 0x5f, 0x69, 0x73, 0x6c, 0x69, 0x73, +0x74, 0x31, 0x20, 0x3f, 0x20, 0x28, 0x72, 0x65, 0x66, 0x2d, 0x62, 0x2d, 0x31, 0x29, 0x20, 0x3a, +0x20, 0x28, 0x62, 0x2d, 0x72, 0x65, 0x66, 0x2d, 0x31, 0x29, 0x29, 0x20, 0x2a, 0x20, 0x6d, 0x62, +0x5f, 0x77, 0x69, 0x64, 0x74, 0x68, 0x20, 0x2a, 0x20, 0x6d, 0x62, 0x5f, 0x68, 0x65, 0x69, 0x67, +0x68, 0x74, 0x3b, 0x0a, 0x2f, 0x2a, 0x20, 0x41, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x20, 0x70, 0x6f, +0x69, 0x6e, 0x74, 0x65, 0x72, 0x73, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x20, 0x6c, 0x6f, 0x63, 0x61, +0x6c, 0x20, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x73, +0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64, +0x27, 0x73, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x2a, 0x2f, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x6d, +0x62, 0x5f, 0x69, 0x6e, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x20, 0x3d, 0x20, 0x67, 0x65, 0x74, +0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x28, 0x20, 0x31, 0x20, 0x29, 0x20, 0x2a, +0x20, 0x28, 0x67, 0x65, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, +0x28, 0x20, 0x30, 0x20, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x32, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x67, +0x65, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x28, 0x20, 0x30, 0x20, 0x29, +0x20, 0x3e, 0x3e, 0x20, 0x32, 0x29, 0x3b, 0x0a, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x6c, 0x6f, 0x63, +0x61, 0x6c, 0x20, 0x2b, 0x3d, 0x20, 0x6d, 0x62, 0x5f, 0x69, 0x6e, 0x5f, 0x67, 0x72, 0x6f, 0x75, +0x70, 0x20, 0x2a, 0x20, 0x34, 0x3b, 0x0a, 0x73, 0x61, 0x74, 0x64, 0x5f, 0x6c, 0x6f, 0x63, 0x61, +0x6c, 0x20, 0x2b, 0x3d, 0x20, 0x6d, 0x62, 0x5f, 0x69, 0x6e, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, +0x20, 0x2a, 0x20, 0x31, 0x36, 0x3b, 0x0a, 0x6d, 0x76, 0x63, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, +0x20, 0x2b, 0x3d, 0x20, 0x6d, 0x62, 0x5f, 0x69, 0x6e, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x20, +0x2a, 0x20, 0x34, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x5f, 0x6d, 0x76, 0x63, 0x20, 0x3d, +0x20, 0x30, 0x3b, 0x0a, 0x6d, 0x76, 0x63, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5b, 0x30, 0x5d, +0x20, 0x3d, 0x20, 0x6d, 0x76, 0x63, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5b, 0x31, 0x5d, 0x20, +0x3d, 0x20, 0x6d, 0x76, 0x63, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5b, 0x32, 0x5d, 0x20, 0x3d, +0x20, 0x6d, 0x76, 0x63, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5b, 0x33, 0x5d, 0x20, 0x3d, 0x20, +0x30, 0x3b, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x4d, 0x56, 0x43, 0x28, 0x20, +0x44, 0x58, 0x2c, 0x20, 0x44, 0x59, 0x20, 0x29, 0x20, 0x6d, 0x76, 0x63, 0x5f, 0x6c, 0x6f, 0x63, +0x61, 0x6c, 0x5b, 0x69, 0x5f, 0x6d, 0x76, 0x63, 0x2b, 0x2b, 0x5d, 0x20, 0x3d, 0x20, 0x69, 0x6e, +0x5f, 0x6d, 0x76, 0x73, 0x5b, 0x6d, 0x62, 0x5f, 0x77, 0x69, 0x64, 0x74, 0x68, 0x20, 0x2a, 0x20, +0x28, 0x6d, 0x62, 0x5f, 0x79, 0x20, 0x2b, 0x20, 0x44, 0x59, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x6d, +0x62, 0x5f, 0x78, 0x20, 0x2b, 0x20, 0x44, 0x58, 0x29, 0x5d, 0x3b, 0x0a, 0x69, 0x66, 0x28, 0x20, +0x6d, 0x62, 0x5f, 0x78, 0x20, 0x3e, 0x20, 0x30, 0x20, 0x29, 0x0a, 0x4d, 0x56, 0x43, 0x28, 0x20, +0x2d, 0x31, 0x2c, 0x20, 0x30, 0x20, 0x29, 0x3b, 0x0a, 0x69, 0x66, 0x28, 0x20, 0x6d, 0x62, 0x5f, +0x79, 0x20, 0x3e, 0x20, 0x30, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x4d, 0x56, 0x43, 0x28, 0x20, 0x30, +0x2c, 0x20, 0x2d, 0x31, 0x20, 0x29, 0x3b, 0x0a, 0x69, 0x66, 0x28, 0x20, 0x6d, 0x62, 0x5f, 0x78, +0x20, 0x3c, 0x20, 0x6d, 0x62, 0x5f, 0x77, 0x69, 0x64, 0x74, 0x68, 0x20, 0x2d, 0x20, 0x31, 0x20, +0x29, 0x0a, 0x4d, 0x56, 0x43, 0x28, 0x20, 0x31, 0x2c, 0x20, 0x2d, 0x31, 0x20, 0x29, 0x3b, 0x0a, +0x69, 0x66, 0x28, 0x20, 0x6d, 0x62, 0x5f, 0x78, 0x20, 0x3e, 0x20, 0x30, 0x20, 0x29, 0x0a, 0x4d, +0x56, 0x43, 0x28, 0x20, 0x2d, 0x31, 0x2c, 0x20, 0x2d, 0x31, 0x20, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, +0x23, 0x75, 0x6e, 0x64, 0x65, 0x66, 0x20, 0x4d, 0x56, 0x43, 0x0a, 0x69, 0x6e, 0x74, 0x32, 0x20, +0x6d, 0x76, 0x70, 0x20, 0x3d, 0x20, 0x28, 0x69, 0x5f, 0x6d, 0x76, 0x63, 0x20, 0x3c, 0x3d, 0x20, +0x31, 0x29, 0x20, 0x3f, 0x20, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x5f, 0x69, 0x6e, 0x74, +0x32, 0x5f, 0x73, 0x61, 0x74, 0x28, 0x6d, 0x76, 0x63, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5b, +0x30, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x78, 0x32, 0x36, 0x34, 0x5f, 0x6d, 0x65, 0x64, 0x69, 0x61, +0x6e, 0x5f, 0x6d, 0x76, 0x28, 0x20, 0x6d, 0x76, 0x63, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5b, +0x30, 0x5d, 0x2c, 0x20, 0x6d, 0x76, 0x63, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5b, 0x31, 0x5d, +0x2c, 0x20, 0x6d, 0x76, 0x63, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5b, 0x32, 0x5d, 0x20, 0x29, +0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x62, 0x63, 0x6f, 0x73, 0x74, 0x20, 0x3d, 0x20, 0x20, 0x69, +0x6e, 0x5f, 0x73, 0x61, 0x64, 0x5f, 0x6d, 0x76, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x73, 0x5b, 0x6d, +0x62, 0x5f, 0x78, 0x79, 0x5d, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x32, 0x20, 0x63, 0x6f, 0x6f, 0x72, +0x64, 0x20, 0x3d, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x32, 0x29, 0x28, 0x6d, 0x62, 0x5f, 0x78, 0x2c, +0x20, 0x6d, 0x62, 0x5f, 0x79, 0x29, 0x20, 0x3c, 0x3c, 0x20, 0x33, 0x3b, 0x0a, 0x69, 0x6e, 0x74, +0x32, 0x20, 0x62, 0x6d, 0x76, 0x20, 0x3d, 0x20, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x5f, +0x69, 0x6e, 0x74, 0x32, 0x5f, 0x73, 0x61, 0x74, 0x28, 0x20, 0x69, 0x6e, 0x5f, 0x6d, 0x76, 0x73, +0x5b, 0x6d, 0x62, 0x5f, 0x78, 0x79, 0x5d, 0x20, 0x29, 0x3b, 0x0a, 0x2f, 0x2a, 0x20, 0x4d, 0x61, +0x6b, 0x65, 0x20, 0x6d, 0x76, 0x70, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x62, 0x6d, 0x76, 0x20, 0x51, +0x50, 0x45, 0x4c, 0x20, 0x4d, 0x56, 0x20, 0x2a, 0x2f, 0x0a, 0x6d, 0x76, 0x70, 0x20, 0x3c, 0x3c, +0x3d, 0x20, 0x32, 0x3b, 0x20, 0x62, 0x6d, 0x76, 0x20, 0x3c, 0x3c, 0x3d, 0x20, 0x32, 0x3b, 0x0a, +0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x48, 0x50, 0x45, 0x4c, 0x5f, 0x51, 0x50, 0x45, +0x4c, 0x28, 0x20, 0x41, 0x52, 0x52, 0x2c, 0x20, 0x46, 0x55, 0x4e, 0x43, 0x20, 0x29, 0x5c, 0x0a, +0x7b, 0x5c, 0x0a, 0x69, 0x6e, 0x74, 0x32, 0x20, 0x74, 0x72, 0x79, 0x6d, 0x76, 0x20, 0x3d, 0x20, +0x62, 0x6d, 0x76, 0x20, 0x2b, 0x20, 0x41, 0x52, 0x52, 0x5b, 0x6d, 0x62, 0x5f, 0x69, 0x5d, 0x3b, +0x5c, 0x0a, 0x69, 0x6e, 0x74, 0x32, 0x20, 0x71, 0x70, 0x6f, 0x73, 0x20, 0x3d, 0x20, 0x28, 0x63, +0x6f, 0x6f, 0x72, 0x64, 0x20, 0x3c, 0x3c, 0x20, 0x32, 0x29, 0x20, 0x2b, 0x20, 0x74, 0x72, 0x79, +0x6d, 0x76, 0x3b, 0x5c, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x63, 0x6f, 0x73, 0x74, 0x20, 0x3d, 0x20, +0x46, 0x55, 0x4e, 0x43, 0x28, 0x20, 0x66, 0x65, 0x6e, 0x63, 0x2c, 0x20, 0x63, 0x6f, 0x6f, 0x72, +0x64, 0x2c, 0x20, 0x66, 0x72, 0x65, 0x66, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x73, 0x2c, 0x20, +0x71, 0x70, 0x6f, 0x73, 0x20, 0x29, 0x20, 0x2b, 0x20, 0x6c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x20, +0x2a, 0x20, 0x6d, 0x76, 0x5f, 0x63, 0x6f, 0x73, 0x74, 0x28, 0x20, 0x61, 0x62, 0x73, 0x5f, 0x64, +0x69, 0x66, 0x66, 0x28, 0x20, 0x74, 0x72, 0x79, 0x6d, 0x76, 0x2c, 0x20, 0x6d, 0x76, 0x70, 0x20, +0x29, 0x20, 0x29, 0x3b, 0x5c, 0x0a, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, +0x5b, 0x6d, 0x62, 0x5f, 0x69, 0x5d, 0x20, 0x3d, 0x20, 0x28, 0x63, 0x6f, 0x73, 0x74, 0x3c, 0x3c, +0x32, 0x29, 0x20, 0x2b, 0x20, 0x6d, 0x62, 0x5f, 0x69, 0x3b, 0x5c, 0x0a, 0x63, 0x6f, 0x73, 0x74, +0x20, 0x3d, 0x20, 0x6d, 0x69, 0x6e, 0x28, 0x20, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x6c, 0x6f, 0x63, +0x61, 0x6c, 0x5b, 0x30, 0x5d, 0x2c, 0x20, 0x6d, 0x69, 0x6e, 0x28, 0x20, 0x63, 0x6f, 0x73, 0x74, +0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5b, 0x31, 0x5d, 0x2c, 0x20, 0x6d, 0x69, 0x6e, 0x28, 0x20, +0x63, 0x6f, 0x73, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5b, 0x32, 0x5d, 0x2c, 0x20, 0x63, +0x6f, 0x73, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5b, 0x33, 0x5d, 0x20, 0x29, 0x20, 0x29, +0x20, 0x29, 0x3b, 0x5c, 0x0a, 0x69, 0x66, 0x28, 0x20, 0x28, 0x63, 0x6f, 0x73, 0x74, 0x3e, 0x3e, +0x32, 0x29, 0x20, 0x3c, 0x20, 0x62, 0x63, 0x6f, 0x73, 0x74, 0x20, 0x29, 0x5c, 0x0a, 0x7b, 0x5c, +0x0a, 0x62, 0x6d, 0x76, 0x20, 0x2b, 0x3d, 0x20, 0x41, 0x52, 0x52, 0x5b, 0x63, 0x6f, 0x73, 0x74, +0x26, 0x33, 0x5d, 0x3b, 0x5c, 0x0a, 0x62, 0x63, 0x6f, 0x73, 0x74, 0x20, 0x3d, 0x20, 0x63, 0x6f, +0x73, 0x74, 0x3e, 0x3e, 0x32, 0x3b, 0x5c, 0x0a, 0x7d, 0x5c, 0x0a, 0x7d, 0x0a, 0x48, 0x50, 0x45, +0x4c, 0x5f, 0x51, 0x50, 0x45, 0x4c, 0x28, 0x20, 0x68, 0x70, 0x6f, 0x66, 0x66, 0x73, 0x2c, 0x20, +0x73, 0x61, 0x64, 0x5f, 0x38, 0x78, 0x38, 0x5f, 0x69, 0x69, 0x5f, 0x68, 0x70, 0x65, 0x6c, 0x20, +0x29, 0x3b, 0x0a, 0x48, 0x50, 0x45, 0x4c, 0x5f, 0x51, 0x50, 0x45, 0x4c, 0x28, 0x20, 0x64, 0x69, +0x61, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x2c, 0x20, 0x73, 0x61, 0x64, 0x5f, 0x38, 0x78, 0x38, 0x5f, +0x69, 0x69, 0x5f, 0x71, 0x70, 0x65, 0x6c, 0x20, 0x29, 0x3b, 0x0a, 0x66, 0x65, 0x6e, 0x63, 0x5f, +0x6c, 0x6f, 0x77, 0x72, 0x65, 0x73, 0x5f, 0x6d, 0x76, 0x5b, 0x6d, 0x62, 0x5f, 0x78, 0x79, 0x5d, +0x20, 0x3d, 0x20, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x5f, 0x73, 0x68, 0x6f, 0x72, 0x74, +0x32, 0x5f, 0x73, 0x61, 0x74, 0x28, 0x20, 0x62, 0x6d, 0x76, 0x20, 0x29, 0x3b, 0x0a, 0x2f, 0x2a, +0x20, 0x72, 0x65, 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x20, 0x63, 0x6f, 0x73, 0x74, 0x20, +0x6f, 0x66, 0x20, 0x62, 0x6d, 0x76, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x53, 0x41, 0x54, +0x44, 0x20, 0x2a, 0x2f, 0x0a, 0x69, 0x6e, 0x74, 0x32, 0x20, 0x71, 0x70, 0x6f, 0x73, 0x20, 0x3d, +0x20, 0x28, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x20, 0x3c, 0x3c, 0x20, 0x32, 0x29, 0x20, 0x2b, 0x20, +0x62, 0x6d, 0x76, 0x3b, 0x0a, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5b, +0x6d, 0x62, 0x5f, 0x69, 0x5d, 0x20, 0x3d, 0x20, 0x73, 0x61, 0x74, 0x64, 0x5f, 0x38, 0x78, 0x38, +0x5f, 0x69, 0x69, 0x5f, 0x71, 0x70, 0x65, 0x6c, 0x5f, 0x63, 0x6f, 0x6f, 0x70, 0x34, 0x28, 0x20, +0x66, 0x65, 0x6e, 0x63, 0x2c, 0x20, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x2c, 0x20, 0x66, 0x72, 0x65, +0x66, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x73, 0x2c, 0x20, 0x71, 0x70, 0x6f, 0x73, 0x2c, 0x20, +0x73, 0x61, 0x74, 0x64, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x2c, 0x20, 0x6d, 0x62, 0x5f, 0x69, +0x20, 0x29, 0x3b, 0x0a, 0x62, 0x63, 0x6f, 0x73, 0x74, 0x20, 0x3d, 0x20, 0x63, 0x6f, 0x73, 0x74, +0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5b, 0x30, 0x5d, 0x20, 0x2b, 0x20, 0x63, 0x6f, 0x73, 0x74, +0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5b, 0x31, 0x5d, 0x20, 0x2b, 0x20, 0x63, 0x6f, 0x73, 0x74, +0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5b, 0x32, 0x5d, 0x20, 0x2b, 0x20, 0x63, 0x6f, 0x73, 0x74, +0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x5b, 0x33, 0x5d, 0x3b, 0x0a, 0x62, 0x63, 0x6f, 0x73, 0x74, +0x20, 0x2b, 0x3d, 0x20, 0x6c, 0x61, 0x6d, 0x62, 0x64, 0x61, 0x20, 0x2a, 0x20, 0x6d, 0x76, 0x5f, +0x63, 0x6f, 0x73, 0x74, 0x28, 0x20, 0x61, 0x62, 0x73, 0x5f, 0x64, 0x69, 0x66, 0x66, 0x28, 0x20, +0x62, 0x6d, 0x76, 0x2c, 0x20, 0x6d, 0x76, 0x70, 0x20, 0x29, 0x20, 0x29, 0x3b, 0x0a, 0x66, 0x65, +0x6e, 0x63, 0x5f, 0x6c, 0x6f, 0x77, 0x72, 0x65, 0x73, 0x5f, 0x6d, 0x76, 0x5f, 0x63, 0x6f, 0x73, +0x74, 0x73, 0x5b, 0x6d, 0x62, 0x5f, 0x78, 0x79, 0x5d, 0x20, 0x3d, 0x20, 0x6d, 0x69, 0x6e, 0x28, +0x20, 0x62, 0x63, 0x6f, 0x73, 0x74, 0x2c, 0x20, 0x4c, 0x4f, 0x57, 0x52, 0x45, 0x53, 0x5f, 0x43, +0x4f, 0x53, 0x54, 0x5f, 0x4d, 0x41, 0x53, 0x4b, 0x20, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x2f, 0x2a, +0x20, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x70, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, +0x61, 0x20, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x64, 0x20, 0x69, 0x6d, 0x61, +0x67, 0x65, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x20, 0x61, 0x20, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, +0x61, 0x72, 0x79, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, +0x72, 0x2e, 0x0a, 0x2a, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, +0x20, 0x69, 0x73, 0x20, 0x6c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x63, +0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x65, 0x61, 0x63, 0x68, 0x20, 0x73, 0x63, 0x61, 0x6c, 0x65, +0x2e, 0x0a, 0x2a, 0x0a, 0x2a, 0x20, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x20, 0x64, 0x69, 0x6d, +0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x20, 0x78, +0x20, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x20, 0x28, 0x69, 0x6e, 0x20, 0x70, 0x69, 0x78, 0x65, +0x6c, 0x73, 0x29, 0x0a, 0x2a, 0x2f, 0x0a, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x20, 0x76, 0x6f, +0x69, 0x64, 0x20, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x70, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65, +0x64, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x28, 0x20, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, +0x6e, 0x6c, 0x79, 0x20, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x32, 0x64, 0x5f, 0x74, 0x20, 0x69, 0x6e, +0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2c, 0x0a, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6f, 0x6e, +0x6c, 0x79, 0x20, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x32, 0x64, 0x5f, 0x74, 0x20, 0x6f, 0x75, 0x74, +0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2c, 0x0a, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x6f, 0x66, 0x66, +0x73, 0x65, 0x74, 0x2c, 0x0a, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2c, +0x0a, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x20, 0x29, 0x0a, 0x7b, 0x0a, +0x69, 0x6e, 0x74, 0x20, 0x67, 0x78, 0x20, 0x3d, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x6c, 0x6f, +0x62, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x28, 0x20, 0x30, 0x20, 0x29, 0x3b, 0x0a, 0x69, 0x6e, 0x74, +0x20, 0x67, 0x79, 0x20, 0x3d, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, +0x5f, 0x69, 0x64, 0x28, 0x20, 0x31, 0x20, 0x29, 0x3b, 0x0a, 0x75, 0x69, 0x6e, 0x74, 0x34, 0x20, +0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x75, 0x69, 0x6e, 0x74, 0x34, +0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x3b, 0x0a, 0x69, 0x6e, 0x70, +0x75, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x20, 0x3d, 0x20, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x69, 0x6d, +0x61, 0x67, 0x65, 0x75, 0x69, 0x28, 0x20, 0x69, 0x6e, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2c, +0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x32, 0x29, +0x28, 0x67, 0x78, 0x2c, 0x20, 0x67, 0x79, 0x29, 0x29, 0x3b, 0x0a, 0x6f, 0x75, 0x74, 0x70, 0x75, +0x74, 0x5f, 0x76, 0x61, 0x6c, 0x20, 0x3d, 0x20, 0x28, 0x75, 0x69, 0x6e, 0x74, 0x34, 0x29, 0x28, +0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x20, 0x28, 0x20, 0x28, 0x28, +0x75, 0x69, 0x6e, 0x74, 0x34, 0x29, 0x28, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x29, 0x29, 0x20, 0x2a, +0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x20, 0x29, 0x20, 0x3e, 0x3e, 0x20, +0x28, 0x28, 0x75, 0x69, 0x6e, 0x74, 0x34, 0x29, 0x28, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x29, 0x29, +0x20, 0x29, 0x3b, 0x0a, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x75, +0x69, 0x28, 0x20, 0x6f, 0x75, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2c, 0x20, 0x28, 0x69, +0x6e, 0x74, 0x32, 0x29, 0x28, 0x67, 0x78, 0x2c, 0x20, 0x67, 0x79, 0x29, 0x2c, 0x20, 0x6f, 0x75, +0x74, 0x70, 0x75, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x20, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x2f, 0x2a, +0x20, 0x57, 0x65, 0x69, 0x67, 0x68, 0x74, 0x70, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, +0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x68, 0x61, 0x6c, 0x66, 0x2d, 0x70, 0x65, 0x6c, +0x20, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x6f, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x69, 0x6d, +0x61, 0x67, 0x65, 0x0a, 0x2a, 0x0a, 0x2a, 0x20, 0x4c, 0x61, 0x75, 0x6e, 0x63, 0x68, 0x20, 0x64, +0x69, 0x6d, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, +0x20, 0x78, 0x20, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x20, 0x28, 0x69, 0x6e, 0x20, 0x70, 0x69, +0x78, 0x65, 0x6c, 0x73, 0x29, 0x0a, 0x2a, 0x2f, 0x0a, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x20, +0x76, 0x6f, 0x69, 0x64, 0x20, 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x70, 0x5f, 0x68, 0x70, 0x65, +0x6c, 0x28, 0x20, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x69, 0x6d, 0x61, +0x67, 0x65, 0x32, 0x64, 0x5f, 0x74, 0x20, 0x69, 0x6e, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2c, +0x0a, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x69, 0x6d, 0x61, 0x67, +0x65, 0x32, 0x64, 0x5f, 0x74, 0x20, 0x6f, 0x75, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2c, +0x0a, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x2c, 0x0a, 0x75, 0x69, +0x6e, 0x74, 0x20, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x2c, 0x0a, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x64, +0x65, 0x6e, 0x6f, 0x6d, 0x20, 0x29, 0x0a, 0x7b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x67, 0x78, 0x20, +0x3d, 0x20, 0x67, 0x65, 0x74, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x28, +0x20, 0x30, 0x20, 0x29, 0x3b, 0x0a, 0x69, 0x6e, 0x74, 0x20, 0x67, 0x79, 0x20, 0x3d, 0x20, 0x67, +0x65, 0x74, 0x5f, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x28, 0x20, 0x31, 0x20, +0x29, 0x3b, 0x0a, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x76, 0x61, +0x6c, 0x3b, 0x0a, 0x75, 0x69, 0x6e, 0x74, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x76, +0x61, 0x6c, 0x3b, 0x0a, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x20, 0x3d, 0x20, +0x72, 0x65, 0x61, 0x64, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x75, 0x69, 0x28, 0x20, 0x69, 0x6e, +0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x65, 0x2c, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x2c, +0x20, 0x28, 0x69, 0x6e, 0x74, 0x32, 0x29, 0x28, 0x67, 0x78, 0x2c, 0x20, 0x67, 0x79, 0x29, 0x29, +0x2e, 0x73, 0x30, 0x3b, 0x0a, 0x75, 0x69, 0x6e, 0x74, 0x34, 0x20, 0x74, 0x65, 0x6d, 0x70, 0x3b, +0x0a, 0x74, 0x65, 0x6d, 0x70, 0x2e, 0x73, 0x30, 0x20, 0x3d, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, +0x5f, 0x76, 0x61, 0x6c, 0x20, 0x26, 0x20, 0x30, 0x78, 0x30, 0x30, 0x66, 0x66, 0x3b, 0x20, 0x74, +0x65, 0x6d, 0x70, 0x2e, 0x73, 0x31, 0x20, 0x3d, 0x20, 0x28, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, +0x76, 0x61, 0x6c, 0x20, 0x3e, 0x3e, 0x20, 0x38, 0x29, 0x20, 0x26, 0x20, 0x30, 0x78, 0x30, 0x30, +0x66, 0x66, 0x3b, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x2e, 0x73, 0x32, 0x20, 0x3d, 0x20, 0x28, 0x69, +0x6e, 0x70, 0x75, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x20, 0x3e, 0x3e, 0x20, 0x31, 0x36, 0x29, 0x20, +0x26, 0x20, 0x30, 0x78, 0x30, 0x30, 0x66, 0x66, 0x3b, 0x20, 0x74, 0x65, 0x6d, 0x70, 0x2e, 0x73, +0x33, 0x20, 0x3d, 0x20, 0x28, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x20, 0x3e, +0x3e, 0x20, 0x32, 0x34, 0x29, 0x20, 0x26, 0x20, 0x30, 0x78, 0x30, 0x30, 0x66, 0x66, 0x3b, 0x0a, +0x74, 0x65, 0x6d, 0x70, 0x20, 0x3d, 0x20, 0x28, 0x75, 0x69, 0x6e, 0x74, 0x34, 0x29, 0x28, 0x6f, +0x66, 0x66, 0x73, 0x65, 0x74, 0x29, 0x20, 0x2b, 0x20, 0x28, 0x20, 0x28, 0x20, 0x28, 0x28, 0x75, +0x69, 0x6e, 0x74, 0x34, 0x29, 0x28, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x29, 0x29, 0x20, 0x2a, 0x20, +0x74, 0x65, 0x6d, 0x70, 0x20, 0x29, 0x20, 0x3e, 0x3e, 0x20, 0x28, 0x28, 0x75, 0x69, 0x6e, 0x74, +0x34, 0x29, 0x28, 0x64, 0x65, 0x6e, 0x6f, 0x6d, 0x29, 0x29, 0x20, 0x29, 0x3b, 0x0a, 0x6f, 0x75, +0x74, 0x70, 0x75, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x20, 0x3d, 0x20, 0x74, 0x65, 0x6d, 0x70, 0x2e, +0x73, 0x30, 0x20, 0x7c, 0x20, 0x28, 0x74, 0x65, 0x6d, 0x70, 0x2e, 0x73, 0x31, 0x20, 0x3c, 0x3c, +0x20, 0x38, 0x29, 0x20, 0x7c, 0x20, 0x28, 0x74, 0x65, 0x6d, 0x70, 0x2e, 0x73, 0x32, 0x20, 0x3c, +0x3c, 0x20, 0x31, 0x36, 0x29, 0x20, 0x7c, 0x20, 0x28, 0x74, 0x65, 0x6d, 0x70, 0x2e, 0x73, 0x33, +0x20, 0x3c, 0x3c, 0x20, 0x32, 0x34, 0x29, 0x3b, 0x0a, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x69, +0x6d, 0x61, 0x67, 0x65, 0x75, 0x69, 0x28, 0x20, 0x6f, 0x75, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x6e, +0x65, 0x2c, 0x20, 0x28, 0x69, 0x6e, 0x74, 0x32, 0x29, 0x28, 0x67, 0x78, 0x2c, 0x20, 0x67, 0x79, +0x29, 0x2c, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x20, 0x29, 0x3b, +0x0a, 0x7d, 0x0a, +0x00 }; +static const char x264_opencl_source_hash[] = { +0x66, 0x34, 0x62, 0x36, 0x63, 0x32, 0x39, 0x63, 0x61, 0x32, 0x34, 0x38, 0x38, 0x35, 0x38, 0x62, +0x62, 0x37, 0x31, 0x37, 0x37, 0x65, 0x36, 0x34, 0x36, 0x39, 0x34, 0x65, 0x34, 0x32, 0x61, 0x38, +0x00 }; diff --git a/repo/media/x264/x264.xibuild b/repo/media/x264/x264.xibuild new file mode 100644 index 0000000..5c1d375 --- /dev/null +++ b/repo/media/x264/x264.xibuild @@ -0,0 +1,35 @@ +#!/bin/sh + +NAME="x264" +DESC="Free library for encoding H264/AVC video streams" + +MAKEDEPS="make libx11 perl nasm sbase bash" +DEPS="musl " + +PKG_VER=0.164.r3081.19856cc +gitrev=master +SOURCE="https://code.videolan.org/videolan/x264.git" +BRANCH=19856cc41ad11e434549fb3cc6a019e645ce1efe + +ADDITIONAL=" + oclobj.h +" + +prepare () { + echo '' > ./tools/cltostr.sh + mv oclobj.h common/oclobj.h +} + +build () { + ./configure \ + --prefix=/usr \ + --enable-shared \ + --enable-pic \ + --enable-lto \ + --disable-avs + make +} + +package () { + make DESTDIR=$PKG_DEST bindir=/usr/bin libdir=/usr/lib includedir=/usr/include install-lib-shared install-cli +} diff --git a/repo/media/x265.xibuild b/repo/media/x265.xibuild deleted file mode 100644 index 69bd3e2..0000000 --- a/repo/media/x265.xibuild +++ /dev/null @@ -1,53 +0,0 @@ -#!/bin/sh - -NAME="x265" -DESC="Open Source H265/HEVC video encoder" - -MAKEDEPS="cmake " -DEPS="musl " - -PKG_VER=3.5 -SOURCE="https://bitbucket.org/multicoreware/x265_git/downloads/x265_$PKG_VER.tar.gz" - -build () { - # CMAKE_BUILD_TYPE - Don't change to None! This is a video encoder, - # performance is the most important. - cmake -B build-12 -S source -G Ninja \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=/usr \ - -DCMAKE_VERBOSE_MAKEFILE=ON \ - -DHIGH_BIT_DEPTH=TRUE \ - -DMAIN12=TRUE \ - -DEXPORT_C_API=FALSE \ - -DENABLE_CLI=FALSE \ - -DENABLE_SHARED=FALSE - cmake --build build-12 - - cmake -B build-10 -S source -G Ninja \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=/usr \ - -DCMAKE_VERBOSE_MAKEFILE=ON \ - -DHIGH_BIT_DEPTH=TRUE \ - -DEXPORT_C_API=FALSE \ - -DENABLE_CLI=FALSE \ - -DENABLE_SHARED=FALSE - cmake --build build-10 - - cmake -B build -S source -G Ninja \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_INSTALL_PREFIX=/usr \ - -DCMAKE_VERBOSE_MAKEFILE=ON \ - -DEXTRA_LIB='x265_main10.a;x265_main12.a' \ - -DEXTRA_LINK_FLAGS='-L.' \ - -DLINKED_10BIT=TRUE \ - -DLINKED_12BIT=TRUE - ln -s ../build-10/libx265.a build/libx265_main10.a - ln -s ../build-12/libx265.a build/libx265_main12.a - cmake --build build - -} - -package () { - DESTDIR="$PKG_DEST" cmake --install build -} - diff --git a/repo/media/x265/x265.xibuild b/repo/media/x265/x265.xibuild new file mode 100644 index 0000000..69bd3e2 --- /dev/null +++ b/repo/media/x265/x265.xibuild @@ -0,0 +1,53 @@ +#!/bin/sh + +NAME="x265" +DESC="Open Source H265/HEVC video encoder" + +MAKEDEPS="cmake " +DEPS="musl " + +PKG_VER=3.5 +SOURCE="https://bitbucket.org/multicoreware/x265_git/downloads/x265_$PKG_VER.tar.gz" + +build () { + # CMAKE_BUILD_TYPE - Don't change to None! This is a video encoder, + # performance is the most important. + cmake -B build-12 -S source -G Ninja \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_VERBOSE_MAKEFILE=ON \ + -DHIGH_BIT_DEPTH=TRUE \ + -DMAIN12=TRUE \ + -DEXPORT_C_API=FALSE \ + -DENABLE_CLI=FALSE \ + -DENABLE_SHARED=FALSE + cmake --build build-12 + + cmake -B build-10 -S source -G Ninja \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_VERBOSE_MAKEFILE=ON \ + -DHIGH_BIT_DEPTH=TRUE \ + -DEXPORT_C_API=FALSE \ + -DENABLE_CLI=FALSE \ + -DENABLE_SHARED=FALSE + cmake --build build-10 + + cmake -B build -S source -G Ninja \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_VERBOSE_MAKEFILE=ON \ + -DEXTRA_LIB='x265_main10.a;x265_main12.a' \ + -DEXTRA_LINK_FLAGS='-L.' \ + -DLINKED_10BIT=TRUE \ + -DLINKED_12BIT=TRUE + ln -s ../build-10/libx265.a build/libx265_main10.a + ln -s ../build-12/libx265.a build/libx265_main12.a + cmake --build build + +} + +package () { + DESTDIR="$PKG_DEST" cmake --install build +} + diff --git a/repo/media/xvidcore.xibuild b/repo/media/xvidcore.xibuild deleted file mode 100644 index 6ffce5a..0000000 --- a/repo/media/xvidcore.xibuild +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh - -NAME="xvidcore" -DESC="XviD is an open source MPEG-4 video codec" - -MAKEDEPS="make " -DEPS="musl " - -PKG_VER=1.3.7 -SOURCE="https://downloads.xvid.com/downloads/xvidcore-$PKG_VER.tar.bz2" - -build () { - cd build/generic - ./configure \ - --prefix=/usr \ - --bindir=/usr/bin \ - --sysconfdir=/etc \ - --disable-assembly - make -} - -package () { - make DESTDIR=$PKG_DEST install -} diff --git a/repo/media/xvidcore/xvidcore.xibuild b/repo/media/xvidcore/xvidcore.xibuild new file mode 100644 index 0000000..6ffce5a --- /dev/null +++ b/repo/media/xvidcore/xvidcore.xibuild @@ -0,0 +1,24 @@ +#!/bin/sh + +NAME="xvidcore" +DESC="XviD is an open source MPEG-4 video codec" + +MAKEDEPS="make " +DEPS="musl " + +PKG_VER=1.3.7 +SOURCE="https://downloads.xvid.com/downloads/xvidcore-$PKG_VER.tar.bz2" + +build () { + cd build/generic + ./configure \ + --prefix=/usr \ + --bindir=/usr/bin \ + --sysconfdir=/etc \ + --disable-assembly + make +} + +package () { + make DESTDIR=$PKG_DEST install +} -- cgit v1.2.1