aboutsummaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authorMikhail Teterin <mi@FreeBSD.org>2012-05-08 02:09:19 +0000
committerMikhail Teterin <mi@FreeBSD.org>2012-05-08 02:09:19 +0000
commit4126e43dd3b830ccee3735479a151f7e739bac50 (patch)
treebb1598af81d4e4ecdd6c71d492fd3eb8092cd32f /net
parenta198a4a5bd1b044837e5a8e7c2e58f3bf78be0a7 (diff)
downloadports-4126e43dd3b830ccee3735479a151f7e739bac50.tar.gz
ports-4126e43dd3b830ccee3735479a151f7e739bac50.zip
Update to 1.0.24. Remove some of the patches already incorporated by
the author. Add some new ones. Add "rescan" subcommand to the startup script: Obtained from: Rafal Szkodzinski Replace the pinguin icon with Beastie: Obtained from: Vladimir B. Grebenschikov Thanks to: above contributors and other testers.
Notes
Notes: svn path=/head/; revision=296184
Diffstat (limited to 'net')
-rw-r--r--net/minidlna/Makefile3
-rw-r--r--net/minidlna/distinfo4
-rw-r--r--net/minidlna/files/BSDmakefile2
-rw-r--r--net/minidlna/files/getifaddr.c1
-rw-r--r--net/minidlna/files/minidlna.sh.in4
-rw-r--r--net/minidlna/files/patch-aa128
-rw-r--r--net/minidlna/files/patch-bravia-dlnapn15
-rw-r--r--net/minidlna/files/patch-coverpic16
-rw-r--r--net/minidlna/files/patch-icons1033
-rw-r--r--net/minidlna/files/patch-minidlna.c48
-rw-r--r--net/minidlna/files/patch-other-subnets25
-rw-r--r--net/minidlna/files/patch-replace-glob316
-rw-r--r--net/minidlna/files/patch-samsung-subtitle-menu-3136
-rw-r--r--net/minidlna/files/patch-utils-mpo15
-rw-r--r--net/minidlna/files/patch-warnings787
-rw-r--r--net/minidlna/files/scandir-patch8
16 files changed, 1915 insertions, 326 deletions
diff --git a/net/minidlna/Makefile b/net/minidlna/Makefile
index 66baf5fa89f6..a7ddfe1fa39b 100644
--- a/net/minidlna/Makefile
+++ b/net/minidlna/Makefile
@@ -6,8 +6,7 @@
#
PORTNAME= minidlna
-PORTVERSION= 1.0.22
-PORTREVISION= 3
+PORTVERSION= 1.0.24
PORTEPOCH= 1
CATEGORIES= net multimedia www
MASTER_SITES= SF
diff --git a/net/minidlna/distinfo b/net/minidlna/distinfo
index 442f8e6ace68..882132c55ef0 100644
--- a/net/minidlna/distinfo
+++ b/net/minidlna/distinfo
@@ -1,2 +1,2 @@
-SHA256 (minidlna_1.0.22_src.tar.gz) = 688919b23d5891d77045cd772e373314a83f002f79c9e754bcb7e521f3ba4349
-SIZE (minidlna_1.0.22_src.tar.gz) = 212980
+SHA256 (minidlna_1.0.24_src.tar.gz) = 840ac2303c23d63066912750391d1ebef7761b5b23493e590624a17670ceb942
+SIZE (minidlna_1.0.24_src.tar.gz) = 210775
diff --git a/net/minidlna/files/BSDmakefile b/net/minidlna/files/BSDmakefile
index 7bc7b9510f49..cbe8e6e97cf3 100644
--- a/net/minidlna/files/BSDmakefile
+++ b/net/minidlna/files/BSDmakefile
@@ -25,7 +25,7 @@ SRCS= albumart.c daemonize.c getifaddr.c image_utils.c log.c \
SRCS+= misc.c tagutils.c textutils.c
-WARNS= 2
+WARNS= 3
BINDIR= ${PREFIX}/sbin
diff --git a/net/minidlna/files/getifaddr.c b/net/minidlna/files/getifaddr.c
index d27272864be6..ef54cf957f8a 100644
--- a/net/minidlna/files/getifaddr.c
+++ b/net/minidlna/files/getifaddr.c
@@ -210,7 +210,6 @@ get_remote_mac(struct in_addr ip_addr, unsigned char *mac)
struct rt_msghdr *rtm;
struct sockaddr_inarp *sin;
struct sockaddr_dl *sdl;
- extern int h_errno;
mib[0] = CTL_NET;
mib[1] = PF_ROUTE;
diff --git a/net/minidlna/files/minidlna.sh.in b/net/minidlna/files/minidlna.sh.in
index 4b2ed5e40303..b19a94be5fec 100644
--- a/net/minidlna/files/minidlna.sh.in
+++ b/net/minidlna/files/minidlna.sh.in
@@ -21,12 +21,14 @@ load_rc_config $name
minidlna_enable=${minidlna_enable-"NO"}
minidlna_uid=${minidlna_uid-"%%USER%%"}
-pidfile="/var/run/minidlna.pid"
+pidfile="/var/db/minidlna/minidlna.pid"
start_precmd="rm -f $pidfile"
stop_postcmd=$start_precmd
command_args="-P $pidfile -u $minidlna_uid"
+extra_commands=rescan
+rescan_cmd="$command -R"
required_dirs="/var/db/minidlna"
run_rc_command $1
diff --git a/net/minidlna/files/patch-aa b/net/minidlna/files/patch-aa
index a2a85989eba2..37c2ab4bd711 100644
--- a/net/minidlna/files/patch-aa
+++ b/net/minidlna/files/patch-aa
@@ -18,108 +18,6 @@
+#include <sys/endian.h>
#include "upnpreplyparse.h"
---- albumart.c 2011-05-03 18:07:47.000000000 -0400
-+++ albumart.c 2011-08-24 01:10:29.000000000 -0400
-@@ -25,4 +25,5 @@
- #include <setjmp.h>
- #include <errno.h>
-+#include <limits.h>
-
- #include <jpeglib.h>
---- scanner.c 2011-05-03 18:07:47.000000000 -0400
-+++ scanner.c 2011-08-24 01:31:10.000000000 -0400
-@@ -24,4 +24,5 @@
- #include <libgen.h>
- #include <inttypes.h>
-+#include <limits.h>
- #include <sys/stat.h>
- #include <sys/time.h>
-@@ -138,5 +139,6 @@
- static sqlite_int64 last_all_objectID = 0;
-
-- asprintf(&sql, "SELECT DATE, CREATOR from DETAILS where ID = %"PRId64, detailID);
-+ asprintf(&sql, "SELECT DATE, CREATOR from DETAILS where ID = %"PRId64,
-+ (int64_t)detailID);
- ret = sql_get_table(db, sql, &result, &row, &cols);
- free(sql);
-@@ -164,5 +166,6 @@
- {
- insert_container(date_taken, IMAGE_DATE_ID, NULL, "album.photoAlbum", NULL, NULL, NULL, &objectID, &parentID);
-- sprintf(last_date.parentID, IMAGE_DATE_ID"$%"PRIX64, parentID);
-+ sprintf(last_date.parentID, IMAGE_DATE_ID"$%"PRIX64,
-+ (int64_t)parentID);
- last_date.objectID = objectID;
- strcpy(last_date.name, date_taken);
-@@ -187,5 +190,6 @@
- {
- insert_container(camera, IMAGE_CAMERA_ID, NULL, "storageFolder", NULL, NULL, NULL, &objectID, &parentID);
-- sprintf(last_cam.parentID, IMAGE_CAMERA_ID"$%"PRIX64, parentID);
-+ sprintf(last_cam.parentID, IMAGE_CAMERA_ID"$%"PRIX64,
-+ (int64_t)parentID);
- strncpy(last_cam.name, camera, 255);
- last_camdate.name[0] = '\0';
-@@ -199,5 +203,6 @@
- {
- insert_container(date_taken, last_cam.parentID, NULL, "album.photoAlbum", NULL, NULL, NULL, &objectID, &parentID);
-- sprintf(last_camdate.parentID, "%s$%"PRIX64, last_cam.parentID, parentID);
-+ sprintf(last_camdate.parentID, "%s$%"PRIX64, last_cam.parentID,
-+ (int64_t)parentID);
- last_camdate.objectID = objectID;
- strcpy(last_camdate.name, date_taken);
-@@ -222,5 +227,6 @@
- else if( strstr(class, "audioItem") )
- {
-- asprintf(&sql, "SELECT ALBUM, ARTIST, GENRE, ALBUM_ART from DETAILS where ID = %"PRId64, detailID);
-+ asprintf(&sql, "SELECT ALBUM, ARTIST, GENRE, ALBUM_ART from DETAILS where ID = %"PRId64,
-+ (int64_t)detailID);
- ret = sql_get_table(db, sql, &result, &row, &cols);
- free(sql);
-@@ -269,10 +275,12 @@
- {
- insert_container(artist, MUSIC_ARTIST_ID, NULL, "person.musicArtist", NULL, genre, NULL, &objectID, &parentID);
-- sprintf(last_artist.parentID, MUSIC_ARTIST_ID"$%"PRIX64, parentID);
-+ sprintf(last_artist.parentID, MUSIC_ARTIST_ID"$%"PRIX64,
-+ (int64_t)parentID);
- strcpy(last_artist.name, artist);
- last_artistAlbum.name[0] = '\0';
- /* Add this file to the "- All Albums -" container as well */
- insert_container(_("- All Albums -"), last_artist.parentID, NULL, "album", artist, genre, NULL, &objectID, &parentID);
-- sprintf(last_artistAlbumAll.parentID, "%s$%"PRIX64, last_artist.parentID, parentID);
-+ sprintf(last_artistAlbumAll.parentID, "%s$%"PRIX64, last_artist.parentID,
-+ (int64_t)parentID);
- last_artistAlbumAll.objectID = objectID;
- }
-@@ -290,5 +298,6 @@
- insert_container(album?album:_("Unknown Album"), last_artist.parentID, album?last_album.parentID:NULL,
- "album.musicAlbum", artist, genre, album_art, &objectID, &parentID);
-- sprintf(last_artistAlbum.parentID, "%s$%"PRIX64, last_artist.parentID, parentID);
-+ sprintf(last_artistAlbum.parentID, "%s$%"PRIX64, last_artist.parentID,
-+ (int64_t)parentID);
- last_artistAlbum.objectID = objectID;
- strcpy(last_artistAlbum.name, album?album:_("Unknown Album"));
-@@ -311,10 +320,12 @@
- {
- insert_container(genre, MUSIC_GENRE_ID, NULL, "genre.musicGenre", NULL, NULL, NULL, &objectID, &parentID);
-- sprintf(last_genre.parentID, MUSIC_GENRE_ID"$%"PRIX64, parentID);
-+ sprintf(last_genre.parentID, MUSIC_GENRE_ID"$%"PRIX64,
-+ (int64_t)parentID);
- strcpy(last_genre.name, genre);
- last_genreArtist.name[0] = '\0';
- /* Add this file to the "- All Artists -" container as well */
- insert_container(_("- All Artists -"), last_genre.parentID, NULL, "person", NULL, genre, NULL, &objectID, &parentID);
-- sprintf(last_genreArtistAll.parentID, "%s$%"PRIX64, last_genre.parentID, parentID);
-+ sprintf(last_genreArtistAll.parentID, "%s$%"PRIX64, last_genre.parentID,
-+ (int64_t)parentID);
- last_genreArtistAll.objectID = objectID;
- }
-@@ -331,5 +342,6 @@
- insert_container(artist?artist:_("Unknown Artist"), last_genre.parentID, artist?last_artist.parentID:NULL,
- "person.musicArtist", NULL, genre, NULL, &objectID, &parentID);
-- sprintf(last_genreArtist.parentID, "%s$%"PRIX64, last_genre.parentID, parentID);
-+ sprintf(last_genreArtist.parentID, "%s$%"PRIX64, last_genre.parentID,
-+ (int64_t)parentID);
- last_genreArtist.objectID = objectID;
- strcpy(last_genreArtist.name, artist?artist:_("Unknown Artist"));
--- upnpdescgen.c 2011-05-03 18:07:47.000000000 -0400
+++ upnpdescgen.c 2011-08-24 01:32:48.000000000 -0400
@@ -585,5 +585,5 @@
@@ -167,7 +65,8 @@
- return ts.tv_sec * 1000000ULL + ts.tv_nsec / 1000;
-}
-
- int
+-int
++static int
read_bootid_node(unsigned char *buf, size_t size)
@@ -82,26 +74,13 @@
read_random_bytes(unsigned char *buf, size_t size)
@@ -222,20 +121,6 @@
typedef struct _GUID {
--- utils.c 2011-07-18 14:13:25.000000000 -0400
+++ utils.c 2011-09-21 00:58:47.000000000 -0400
-@@ -20,5 +20,5 @@
- #include <string.h>
- #include <stdlib.h>
--#include <linux/limits.h>
-+#include <limits.h>
- #include <sys/stat.h>
- #include <unistd.h>
-@@ -32,5 +32,5 @@
- #include "log.h"
-
--inline int
-+int
- strcatf(struct string_s *str, const char *fmt, ...)
- {
@@ -207,11 +207,15 @@
}
@@ -254,12 +139,3 @@
+ "%s\n", s - path, path, path, strerror(e));
return -1;
}
---- metadata.c 2011-07-18 18:18:10.000000000 -0400
-+++ metadata.c 2011-08-24 02:01:32.000000000 -0400
-@@ -21,5 +21,5 @@
- #include <stdlib.h>
- #include <sys/stat.h>
--
-+#include <libgen.h>
- #include <unistd.h>
- #include <sys/types.h>
diff --git a/net/minidlna/files/patch-bravia-dlnapn b/net/minidlna/files/patch-bravia-dlnapn
deleted file mode 100644
index 09be9c2d705b..000000000000
--- a/net/minidlna/files/patch-bravia-dlnapn
+++ /dev/null
@@ -1,15 +0,0 @@
-From:
-
-http://sourceforge.net/tracker/?func=detail&aid=3413830&group_id=243163&atid=1121518
-
---- upnpsoap.c 2011-08-19 01:24:17.000000000 +0200
-+++ upnpsoap.c 2011-09-25 14:54:00.000000000 +0200
-@@ -915,7 +915,7 @@
- strncmp(dlna_pn, "AVC_TS_MP_HD_AC3", 16) == 0 ||
- strncmp(dlna_pn, "AVC_TS_HP_HD_AC3", 16) == 0))
- {
-- sprintf(dlna_buf, "DLNA.ORG_PN=AVC_TS_HD_50_AC3;DLNA.ORG_OP=01;DLNA.ORG_CI=0");
-+ sprintf(dlna_buf, "DLNA.ORG_PN=AVC_TS_HD_50_AC3%s", dlna_pn + 16);
- add_res(size, duration, bitrate, sampleFrequency, nrAudioChannels,
- resolution, dlna_buf, mime, detailID, ext, passed_args);
- }
diff --git a/net/minidlna/files/patch-coverpic b/net/minidlna/files/patch-coverpic
deleted file mode 100644
index 70174b3c5321..000000000000
--- a/net/minidlna/files/patch-coverpic
+++ /dev/null
@@ -1,16 +0,0 @@
-From:
-
-http://sourceforge.net/tracker/?func=detail&aid=3425414&group_id=243163&atid=1121518
-
-*** tagutils/tagutils-mp3.c 2010-11-12 00:48:14.000000000 +0100
---- tagutils/tagutils-mp3.c 2011-10-18 22:36:22.000000000 +0200
-*************** _get_mp3tags(char *file, struct song_met
-*** 78,83 ****
---- 78,84 ----
- else if(!strcmp(pid3frame->id, "APIC") && !image_size)
- {
- if( (strcmp((char*)id3_field_getlatin1(&pid3frame->fields[1]), "image/jpeg") == 0) ||
-+ (strcmp((char*)id3_field_getlatin1(&pid3frame->fields[1]), "image/jpg") == 0) ||
- (strcmp((char*)id3_field_getlatin1(&pid3frame->fields[1]), "jpeg") == 0) )
- {
- image = id3_field_getbinarydata(&pid3frame->fields[4], &image_size);
diff --git a/net/minidlna/files/patch-icons b/net/minidlna/files/patch-icons
new file mode 100644
index 000000000000..40381f626083
--- /dev/null
+++ b/net/minidlna/files/patch-icons
@@ -0,0 +1,1033 @@
+Use FreeBSD daemon for icon. Contributed by Vladimir B. Grebenschikov.
+
++++ icons.c 2012-03-25 17:17:40.000000000 +0000
+@@ -496,6 +496,1029 @@
+ "\xd2\x7b\x07\x63\xe5\x2d\x67\xf3\x91\xbe\xa5\x30\x8d\x5f\xaa\xcc\x31\x61\xc6\x9b\x8a\xe6\x2e\xd4"
+ "\x57\x29\xc1\x06\x3a\x63\xfc\x03\x8d\xf8\xae\xd0\x35\x03\x20\x00\x00\x24\x20\x00\x10\x81\x00\x00"
+ "\x12\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x90\x00\x07\xff\xd9";
++#elif __FreeBSD__
++/* Small Daemon PNG image */
++unsigned char
++png_sm[] = "\x89\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\x00\x00\x29\x00\x00\x00\x30"
++ "\x08\x06\x00\x00\x00\x8c\xb9\x53\xa5\x00\x00\x00\x01\x73\x52\x47\x42\x00\xae\xce\x1c\xe9\x00\x00"
++ "\x00\x06\x62\x4b\x47\x44\x00\xff\x00\xff\x00\xff\xa0\xbd\xa7\x93\x00\x00\x00\x09\x70\x48\x59\x73"
++ "\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\x00\x9a\x9c\x18\x00\x00\x00\x07\x74\x49\x4d\x45\x07\xdc\x03"
++ "\x19\x10\x09\x24\x32\x7e\xe8\xd9\x00\x00\x0e\x30\x49\x44\x41\x54\x58\xc3\xed\x98\x59\x90\x5c\x57"
++ "\x79\xc7\x7f\xdf\xbd\xb7\xb7\xd9\xf7\xb1\x5a\xcb\xc8\x9a\x19\x2d\xa3\xcd\x72\xb9\x64\x8d\x64\x59"
++ "\x06\x5b\x72\xbc\xe0\x80\x03\x24\x24\x24\x71\x55\xaa\x42\x20\x54\x25\x14\x05\xa4\x8a\x17\x1e\xf2"
++ "\x42\x12\x2a\x81\xc4\x10\x1b\xc7\x01\x63\x3b\x21\x0e\x8e\xd9\x24\x90\x8d\x25\x63\x5b\xf2\x2a\x79"
++ "\xc6\x1a\x69\xb4\x8e\x34\x8b\x66\x34\x5b\xf7\x68\x7a\x7a\xb9\xf7\x9e\xf3\xe5\xa1\xef\x58\x8d\x30"
++ "\x06\x27\x6f\x94\xbf\xaa\x53\xdd\xd5\xdd\xe7\x9e\xdf\xf9\xb6\xf3\xef\x03\xef\xd9\x7b\xf6\x9e\xfd"
++ "\x76\x9a\xbb\xf8\xe6\xfa\x54\xd2\x19\x0f\xc3\x18\x50\x0d\x54\x45\xdf\x29\x60\x7f\xcd\x33\x1c\x20"
++ "\x06\x24\x80\x14\x90\x04\xbc\xe8\x73\xf9\x0d\xe6\x4b\x34\xb7\xa6\xbc\xae\xe3\xe0\x08\xa8\xda\xca"
++ "\x1f\xb0\x1c\x64\x04\x1a\x62\xc8\x86\xbb\x6b\x52\x3b\x5d\xcf\x73\x5f\xce\x5e\x3e\x37\x02\xe7\x81"
++ "\x73\xc0\x0c\xac\x0c\xe0\xbc\x46\x73\x52\xd1\x66\x1a\x36\x6c\xdc\x78\x4d\x5b\x6b\x6b\x73\x22\x91"
++ "\xa8\x4d\xa5\x52\x35\xae\xeb\x3a\x41\x10\x14\x16\xf2\xf9\xf9\x52\xb1\x38\xd7\xdf\xdf\x3f\x99\xcd"
++ "\x66\x27\x80\x39\xa0\x54\x01\x1d\x8b\x9c\x91\x4e\xc0\xaa\xed\x0e\x5d\x4b\x12\xf1\xe6\xbe\xa2\x7f"
++ "\x7a\x40\xf9\x39\x30\x0e\xf8\x6f\x41\x46\x3b\x59\xfb\x57\xf0\xd0\x0d\xd7\xae\xb8\x61\xd3\xae\x9b"
++ "\x69\x59\xb9\xc2\x9e\x7f\xb3\xef\xc4\xde\xfe\xa3\x3f\x7d\xe4\xf4\xc5\x17\x47\xe0\x4d\x5a\xd7\x15"
++ "\xdc\xe9\x13\x4d\xeb\x7a\xd6\xaf\xde\x75\xcb\xae\x0d\xeb\xd7\x6f\xe8\xde\xb8\x71\xe3\xda\xf6\xf6"
++ "\xf6\x6b\x1a\x1b\x1a\x9a\xbc\x58\x2c\x8e\x08\x88\x98\x7c\x3e\xbf\x30\x3d\x33\x33\x79\xfe\xfc\xf9"
++ "\xf3\x6f\x1e\x3d\xda\x77\xac\xaf\x6f\x60\xff\xbe\x1f\x1d\x4b\xb4\x2c\x99\x1a\xbf\x30\x24\x40\xc7"
++ "\xc7\xba\xae\xd9\xfa\xe1\xae\x35\xb7\x5c\x77\x6d\xd7\x4d\xe2\xba\xf5\x7d\x7b\xf7\xd1\x7f\x6e\x44"
++ "\xf7\xc1\x5f\xbc\x04\xff\x01\xcc\x03\xc8\x3f\x81\xfc\x35\x24\x57\xc1\x1d\x9f\x80\x87\xeb\x12\x5e"
++ "\xfd\xda\x9e\x35\x5c\xff\xf9\x2f\x50\xd7\x7b\x13\xbc\xf1\x02\x27\x8e\xbe\x30\xf2\x74\xff\xeb\x07"
++ "\xbe\x73\xe4\xdc\xc9\xdb\x3e\xfe\x97\x9d\x7b\x6e\xbd\x75\xdb\xc6\x0d\x1b\xd6\xb4\xb4\xb6\xb8\x6f"
++ "\x1b\xc0\xfc\x02\x1a\x86\x88\xeb\x42\x3c\x41\x18\xf3\x18\x1e\x9f\x18\x7f\xe5\xd5\xa3\xaf\x3c\xfa"
++ "\xe0\xd7\x8f\xa4\x33\xc7\x6b\x3f\x7a\xf7\x87\x77\x6e\xdf\x78\xdd\x8d\x55\xeb\x6f\x40\x8b\x01\x43"
++ "\x0f\x7c\x9d\xc3\xff\xfe\x2d\x46\x2f\xe7\x19\x83\x87\xfe\x19\xbe\x08\x4c\x56\x7a\x32\x05\xec\xfa"
++ "\x06\x3c\x9c\x87\x25\x6d\x2e\xba\x61\xed\x2a\xe9\xfc\xb3\x4f\x68\x6d\xef\x36\x48\x22\x26\x3f\xcd"
++ "\x40\x29\x96\x49\x6f\xd9\x59\xdb\xd2\xd0\xe0\x95\xa7\x29\x0a\x88\xaa\xea\x62\xf6\x28\xe2\x4f\x4d"
++ "\xaa\x3f\x79\x09\x37\x16\x13\x27\x19\xe7\xf2\xb1\xe3\x78\x89\x6a\x52\x2b\xeb\x19\x1e\x3e\x91\x6d"
++ "\x69\x4a\xd7\x34\xaf\xd9\xe2\x91\xa8\x83\xc9\x09\x9d\x7e\xec\xdb\x32\xf0\xd0\x43\xda\x77\x72\x48"
++ "\x00\x4e\x8b\x7c\xe5\x5f\x54\xbf\x0c\x4c\x55\x16\x8e\x03\x24\xef\x4e\x24\xde\x17\x1a\x93\x36\x82"
++ "\x24\x33\x19\x92\x6f\xbc\x4c\xed\xb9\x93\xe8\x8a\x6b\x55\x77\xff\x3e\x4b\x56\xad\x49\x55\x25\x93"
++ "\x8e\x31\x81\x41\x54\x10\x44\xad\x01\xb5\xa0\x8a\x2a\x08\x2a\x6e\x75\x0d\xa4\x52\x18\xb5\x72\xfe"
++ "\xbb\x4f\xe8\x4b\x7f\xfe\x09\x0a\xe7\x8e\xd8\xe5\x77\xdc\x4a\xfb\x8d\xb7\xa7\xaa\x96\x74\x3b\x26"
++ "\x5f\x34\xce\x99\x41\xfc\x83\x3f\x93\xd1\xef\xfd\xb7\x9c\x7b\x73\x80\x49\xa3\xb2\xa4\xa5\x85\x27"
++ "\x55\x1f\x1a\x0b\xc3\xfe\xc5\x9c\x74\x22\xc8\x00\x98\x3a\xd9\xd0\xf0\x5c\x73\x7d\x3d\x39\x0b\x59"
++ "\x81\xd9\xd9\x79\xf2\x2b\xbb\x91\xdd\xbf\xeb\xb8\x8e\x88\x0d\x7c\xb5\xa5\x82\x75\x54\x1d\x51\x84"
++ "\xa0\x08\x61\x5e\x6d\xe8\x63\x03\xa3\x1a\x04\xd8\x20\x50\x1b\xf8\xc4\x6a\xeb\x48\xb6\xa7\x99\xe9"
++ "\x3f\x41\xcd\xb2\x5a\xed\xfd\xce\x83\x92\x58\xbf\x4b\x94\x04\x3a\x37\x8b\x7b\x69\xcc\xd1\x73\x67"
++ "\x98\x7d\xe6\x69\x46\x0f\x1d\x66\xd2\xb7\x52\xdf\xd6\x4a\xd0\xde\x7e\xfc\x15\xdf\x1f\x04\x0a\x95"
++ "\xed\x83\xa8\xd5\x64\x1f\x0d\x82\x83\x0d\x9d\x9d\x19\x2f\xe6\x31\xed\x03\x77\x7d\x40\xaa\xbe\xfc"
++ "\x55\x71\xea\xea\xd5\x16\x16\xd0\x52\x11\x35\x46\x34\x0c\xc4\xe6\x8b\x68\x29\xa7\x04\x39\xc1\x2f"
++ "\xa2\x25\x5f\xb4\xe4\x8b\x2d\xf9\xa2\xa5\xbc\xd8\x7c\x46\x3c\xd7\xa7\xeb\xe3\xf7\xd2\xf5\xc7\x7f"
++ "\x24\xb1\x8e\x4d\xa2\x20\x6a\x02\x45\x50\x66\x67\xe5\xf2\x77\xff\x53\xc6\x9e\x7c\x8a\x19\x1f\x72"
++ "\xc0\xca\xcd\x5b\x18\x70\xdd\x67\x30\xe6\x3c\x10\xfe\x52\x9f\x04\x4c\xbe\x50\x30\xd7\x77\x76\x76"
++ "\x74\x26\x93\x1b\x8a\x6d\x2d\xec\x78\xe8\x5b\x5a\xdd\xde\x8e\xcd\xcd\x09\x41\x09\x1c\x07\x71\x0c"
++ "\x1a\x28\x5a\x0c\xc0\x64\x05\x53\x50\x5b\x8a\x43\x60\xc1\xe4\xc0\xce\x23\x76\x1e\xc2\x79\x6c\x50"
++ "\x92\x78\xfb\x0a\x92\x31\x8f\x54\x22\x44\xea\x97\x40\x66\x0a\x79\xfe\x59\x29\x7e\xed\x1f\x75\xec"
++ "\xfb\x7b\x19\x37\x70\x4e\xd1\x6b\x7a\xb7\x4b\xf5\x35\xed\xa3\x7f\xff\xec\xb3\x0f\x64\xe1\x0d\xc0"
++ "\x2c\x82\x79\x15\x90\x16\x98\xf8\xaf\xb3\x67\x9f\xf9\xe2\xd6\xad\xef\xbf\xed\xbe\xfb\x5a\x1b\xbb"
++ "\xbb\x55\x73\x59\x6c\x21\x87\x24\x6b\x44\x62\x31\xd0\xa2\x12\x94\x84\x62\x80\x9a\x50\x45\x16\xc0"
++ "\xa0\xe2\x2c\x00\x81\x20\x21\x2a\x31\x35\xb6\x0e\x63\x15\xa7\xca\x65\x3e\x88\xe9\xcc\xd7\xbf\x49"
++ "\xd7\xed\xef\x13\x39\x71\x86\xf0\x89\x27\x75\xea\xd0\xeb\xcc\xb8\xe8\x78\x88\x98\xe6\x16\x59\xb5"
++ "\xe5\x3a\xf6\x1f\x3b\xb6\x7f\x08\xde\xc4\xf3\x02\xc2\xb7\x1c\xf9\x0b\x90\x00\xc1\x6b\xe3\xe3\x63"
++ "\x43\xd7\x5d\x77\xf6\x83\x77\xdd\xdd\x1a\xe6\x32\xaa\xb3\x13\x8e\x53\xd3\x28\x4e\xaa\x1a\xbc\x18"
++ "\xe4\x8b\x68\x61\x1e\xb2\x25\xd1\x62\x1e\x9c\x69\x15\x67\x04\x5c\x17\x54\x31\x3e\x52\xf2\xeb\xd4"
++ "\xa8\x15\x15\x44\xaa\x52\x9a\x5c\xd6\x21\x17\xa5\x4e\x63\xf7\x3f\x40\x47\x68\x64\xea\xd8\x00\x63"
++ "\x06\x1d\x0d\x61\x02\xb8\xfe\xde\x7b\x25\xbe\x72\x65\x71\xef\x4f\xf6\x8d\x03\x05\xc2\x50\x2b\xa1"
++ "\xae\x86\xf4\x6e\xd8\xb1\xa3\xe3\x7d\xbb\xf7\xac\xa5\x98\xc7\x4e\x8f\x88\x58\xab\x4e\x22\x85\x78"
++ "\x31\x01\xc5\x16\x32\x68\x36\x0b\xd3\x73\x38\x32\xa1\x50\xc0\x4e\x4f\x8b\x9d\xb8\xa8\xc1\xcc\x65"
++ "\xe6\xb2\xd5\x5a\x28\x42\x60\x43\x8c\xeb\xa8\xad\xa9\xc1\x6d\x6f\xd7\xf8\xea\x1e\x4e\x65\xe7\xc9"
++ "\x3e\xfd\x03\xcc\x54\x51\xc7\x80\x0b\x40\x4b\x6f\x2f\x6b\x6e\xb8\xde\x16\x57\xac\x48\xee\xf9\xe4"
++ "\xa7\x7a\x5e\xfb\xdc\xe7\x9a\x81\x91\x77\x82\x6c\xb9\xa3\x77\xdb\xf6\x35\x9d\x5d\x0d\xa5\x89\x21"
++ "\xec\xd4\xb0\x78\xe9\x4e\x55\x35\x60\xf2\x68\x6e\x02\x3b\x31\x84\x8e\x66\x70\x2e\x0f\xab\x8c\x9e"
++ "\xc0\xf4\x1d\x27\x1c\xbe\xa8\xe6\xe2\x38\x99\xac\xcb\x6c\x50\x45\x09\xa5\x28\x50\x52\xa5\x28\x42"
++ "\x58\x57\x87\xa4\xd3\xf8\x2b\x3a\x18\x5d\xbd\x59\x1d\x5f\xc8\x0c\x8f\x92\x68\x6f\xe7\xc6\x1d\x3b"
++ "\xf5\xd4\x6b\x2f\x91\x68\xaa\x66\xfb\xfa\x4d\x37\x76\xac\x58\xbe\xf6\xc2\xf0\xc8\x40\xd4\x71\x7e"
++ "\x09\xd2\x05\x96\xef\xdc\x71\xd3\x36\x33\x33\x09\x33\x43\x98\x85\x1c\xb1\x55\x71\xc1\xb5\x42\x7e"
++ "\x02\x3b\x7e\x02\x7b\x72\x40\xf4\xc4\x49\x78\xfd\x45\x38\x39\x2c\xe1\x68\x01\x5b\x84\xa2\x40\x41"
++ "\x52\x58\xcd\x89\xb1\x16\x03\x84\x22\x12\x8a\x68\xa1\x50\x90\xd2\xe4\x24\xfe\xf1\xe3\x04\x4b\x97"
++ "\x4a\x7e\xd9\x0a\xf2\x2d\x6d\xa4\x7c\x9f\xe7\x5e\x78\x9e\x8b\x31\x65\xcb\x8a\x36\xba\x7f\xe7\x23"
++ "\xe9\xad\x37\xed\xdc\x70\xe1\xf1\xc7\xf7\x03\xb3\x6f\x07\x59\xb5\xb2\xbb\xbb\x6b\xdd\xba\xf5\xdd"
++ "\xfe\xf0\x29\x38\x75\x98\xe4\x86\xd5\xb8\x4d\x4d\x48\xbc\x11\x7b\x71\x90\xe0\x95\x9f\x11\xfe\xe8"
++ "\xa7\x70\xf4\x38\xce\x25\x84\x3c\xaa\x16\x31\x0a\x79\xa0\x48\x41\xc2\xa8\x77\x84\x91\x2b\xa2\xa1"
++ "\x01\x88\x5f\x2a\x49\xe9\xcc\x19\x4a\x75\x75\x1a\xb4\xb6\x4a\xb1\xa5\x85\x61\x20\x91\xaa\x96\xd9"
++ "\x53\x83\xb8\xbd\x63\x6c\xdd\xba\x7d\xeb\x13\x8f\x3f\xde\xfe\xab\x20\x53\xb7\xdd\x72\xcb\xba\xb8"
++ "\x31\x04\x23\xa7\x91\xe9\x97\xf1\x6a\x97\x03\x1e\x76\xfe\x12\x66\xe0\x27\x94\xfe\xe7\x31\xc2\x67"
++ "\x27\xd5\x2d\x22\x12\x80\x28\xa2\x65\x00\x2d\x46\x3d\xc3\x80\x18\x50\x03\x62\xa3\x96\x61\xcb\x9f"
++ "\x6b\x68\x0c\xa1\x31\x62\xb2\x59\x09\xf3\x79\xcd\xcd\xcc\x28\xe9\xb4\x38\x6e\x92\xcb\xa3\x63\x5a"
++ "\x1c\x39\x27\x1d\x4b\x3b\xaf\x05\x9a\xa3\x1e\x6e\x2b\x21\x05\xa8\xea\xd9\x74\xdd\xd2\xd2\xf8\x38"
++ "\x76\xf0\x10\x55\xee\x24\x66\x7a\x06\x39\xf9\x1c\x76\xe8\x0d\xcc\x81\x6f\x13\x1c\x9f\x24\x9c\x07"
++ "\xab\x57\x0e\x7d\x89\xf4\x57\xa1\xc2\x73\xe6\xaa\x71\x15\x2c\x41\x10\x10\x5a\x4b\xcc\x04\xe4\x72"
++ "\xf3\x84\x0d\x33\x24\xc2\x69\xc2\xa9\x09\x96\xae\xdd\xd6\xee\xd6\x34\xd4\x98\x5c\xd6\x5b\x3c\x16"
++ "\xbd\x8a\x93\x27\xde\xdc\xd6\xd6\x58\x9c\x99\xc6\x0c\x0e\x90\xf4\xce\x53\xf4\x0e\xe2\x7a\x87\xd1"
++ "\x33\xc7\x90\xc9\x31\x6c\x28\x84\xaa\x62\xaf\x1c\x55\x2a\x20\x25\xca\xe1\x36\x20\x7e\xf9\xc9\x12"
++ "\x44\x21\x5f\xf4\x6e\x10\x6d\x26\x88\x54\x71\x87\x31\x32\x81\x25\x1f\x5a\x64\x72\x1c\x3f\x08\x88"
++ "\xbb\x79\xaa\xdb\xaa\xaa\x13\x5e\x55\x4d\x9e\xac\xfb\x76\xe1\x76\x12\xa9\x54\x22\x98\x99\xa4\x78"
++ "\x7e\x82\x5a\x5b\x20\x1c\x39\x58\x96\xd8\x06\xf5\xe2\x22\x12\x2f\x2f\xe2\x54\xc8\x27\x27\x0a\x75"
++ "\xa1\xec\x29\x8d\x20\xf1\x23\xa0\x10\x28\x46\x5e\xac\x05\x1a\xa2\x31\x05\x3a\x63\x94\x2a\x42\x12"
++ "\xae\x4b\x0a\xa8\xaf\xae\xc6\xad\x4a\x3a\xc9\x98\x57\x9b\xaf\x60\xab\x84\x54\x6b\xad\x1a\x11\xf2"
++ "\xf3\xe5\x86\x2f\xc5\x72\xcd\xbb\x31\x11\x41\x70\xaa\xc0\x78\x5a\x96\x8a\x15\xca\xbe\x18\x81\xea"
++ "\x15\x2f\xea\xa2\xe7\x8a\x65\x09\xaf\x0d\x20\xd5\xd1\x42\x0b\xc0\x50\xb4\x91\x26\x20\x69\x0c\x2d"
++ "\x40\xd3\x35\x6d\x64\x11\xf5\x4b\x25\x13\x3d\xee\x17\x20\x15\x30\xf3\xb9\xf9\x9c\x24\x92\xcc\x19"
++ "\x8f\x56\x1f\x4d\x3a\x0e\x16\x10\x54\x43\xc0\x4d\x08\x6e\x03\x52\x98\x2e\x17\x82\x44\x94\x7e\x04"
++ "\xc3\x95\x4a\xa6\x10\xa9\xcb\x34\x50\x0f\xa2\x57\x64\x8d\xce\x44\x42\xb1\x26\xfa\x4b\xe0\x81\x76"
++ "\xac\x6b\xa3\x71\x43\x9a\x91\xa9\xac\xc9\x2d\x14\xe7\x2a\x05\x46\xa5\x0a\x2a\x8d\x4d\x4c\x4c\xa7"
++ "\xd2\xcb\x98\xb3\x2e\x99\x00\xc2\x10\x6c\x08\x61\x28\x84\x81\x62\x02\x4b\xa2\xd9\xc1\xc8\x95\x70"
++ "\x06\x15\x90\xa5\x68\x2c\x00\x71\x60\x45\x54\xa6\x26\x02\x8c\x3c\xcd\x64\xb4\xb9\x64\x04\x50\x0b"
++ "\xac\xf9\xd8\x16\xb8\x36\xcd\xf8\x85\x89\x0c\x66\x2e\xf7\xab\x20\x73\x87\x5e\x7e\x69\xd0\x6b\x6d"
++ "\xc6\x5d\xbe\x92\xe1\x05\x64\x32\x44\x7c\x1f\x09\x03\x95\x30\x44\x82\x12\x48\x1c\x52\x69\xc1\x2f"
++ "\x17\x89\xf8\x51\x56\x14\xca\x43\x16\x40\x92\x20\xcb\x41\x12\x20\x85\x08\x6c\xb1\xb2\x8b\x20\x99"
++ "\x72\xe8\x25\xf2\x22\x1b\xef\xe9\x94\xce\xcf\xee\x11\xc2\x46\xce\x9e\xbb\x70\x1e\xc8\x54\xaa\x20"
++ "\xa7\x22\x27\x0b\xcf\xfc\xf8\xc7\x83\xb3\xbe\x9f\x6b\xda\xb1\x8b\x29\x1f\x66\xd5\x61\x3e\x54\x4c"
++ "\x28\x1a\x06\x42\x18\x08\x61\x49\x49\x36\x40\xa2\x09\x4a\x51\x68\xfd\x08\x32\x5f\x4e\x61\x5d\x12"
++ "\x3d\xb8\xa2\x77\xbe\x55\x44\x41\x54\x60\xa9\x08\x70\x6d\x67\x23\xbd\xff\xb0\x07\xaa\x96\x32\x77"
++ "\x39\xc6\xb1\xc1\x81\xe3\x51\x36\xe8\xdb\x41\x96\xc8\xe7\x47\xfb\x4e\x9e\xec\x5f\x7e\xeb\x6d\x64"
++ "\x81\x85\x7c\x88\x0d\x21\x08\x94\x30\x54\x82\x00\x7c\x5f\x30\xa1\x48\x5d\xbb\xa3\xc9\x86\x72\xfb"
++ "\x59\xec\x93\x45\xa0\x35\x5a\xbc\x70\xd5\xc9\x13\x96\x9b\xbc\x00\xba\x18\xe6\xce\x64\x8c\xed\xf7"
++ "\x74\x42\x21\xa6\xb0\x8a\xd3\x43\x63\x7a\xe0\xc0\xe1\x23\x95\xa7\xcd\xd5\x90\x0a\x5c\xfc\xde\xe3"
++ "\x8f\x1f\x4c\x74\x75\xd2\x7e\xfb\xed\x0c\x2d\xa0\x36\x44\xc3\x50\x25\x08\x95\xc0\x28\xa1\x01\xdf"
++ "\x47\x8d\x45\x1a\xd2\x0e\x8d\xed\xe5\x02\xba\x1c\x79\x31\x51\xee\x9b\xba\x58\x40\xc1\x15\x48\x95"
++ "\xa8\xaf\x56\x81\x74\x34\x27\xb5\xab\xa7\x49\x8b\x27\xa6\xc8\xf7\xc5\xad\x9d\xaf\xe3\xe5\x57\xfb"
++ "\x8f\x0c\x0e\xf6\xf7\x57\xd4\xe1\x2f\x41\x02\x64\x7f\xf4\xfd\xef\x1f\x78\xf5\xd4\xa9\xbe\x1d\x9f"
++ "\xf9\x0c\xd3\x60\x2f\xce\x2b\x26\x14\x7c\x1f\x02\x5f\xf1\x83\xc8\xa3\x45\x25\x0c\xa1\xa6\xd5\x61"
++ "\x55\xb7\xd0\xde\x00\xcd\xb1\x72\xee\xe5\xa2\xd0\xe7\xa3\x22\x2a\x45\xea\xa5\xd6\x83\x74\x83\xc3"
++ "\xb6\xcd\xd5\xdc\x70\x7d\x1d\x6e\xac\x24\xf3\xa5\x04\xa9\xf6\x6d\x6e\xff\x6b\xe7\x78\xec\x89\xbd"
++ "\x3f\x06\x8e\x57\xe6\xe3\xd5\x7f\x1f\x16\xd5\x79\xe1\xcc\xc9\x53\xa9\x3f\xf8\xd4\x27\x6f\x71\x32"
++ "\x19\xe7\x58\x5f\x9f\x2e\x07\x41\x04\x5b\xce\x12\x55\x41\x14\x11\xa3\x8a\x45\x70\x63\x42\x43\xb3"
++ "\x90\x6e\x14\xaa\x52\x88\x97\x10\x62\x49\x48\xa4\x90\xea\x6a\x68\x6d\x12\x5d\x9a\x16\x59\xbe\xda"
++ "\x63\xe9\xea\xb8\xa4\xea\x3c\x5c\x3f\xc0\x13\x47\x97\xdc\xf3\x71\xc7\x5f\xb9\x9e\x47\x9e\x3d\x7c"
++ "\xe8\xd1\x6f\x3f\x7c\x7f\x4f\xd7\xaa\xd1\xa9\xd9\x4c\xf0\x4e\x90\xdc\xbc\x6b\x97\xbe\x7c\xf8\x70"
++ "\x26\xd5\xd4\xb4\xe2\xde\xfb\xee\xeb\x1e\xde\xbb\x57\x26\x33\x97\xb5\xcd\x43\x54\x05\x13\x01\xda"
++ "\xa8\x97\x1b\x54\xac\x15\x16\x54\x49\xc6\x90\xc6\x7a\x87\x86\x56\x91\xa6\x56\x91\xd6\x36\x58\x92"
++ "\x76\x48\x2f\x77\xa5\xa9\xcd\x21\x55\xad\xe2\x88\x6a\x18\x18\x71\x4b\x45\x69\xbe\xf9\x03\xd4\xef"
++ "\xbc\x4b\xf6\x9d\x19\xcb\x7e\xfa\x4b\x7f\xfb\x77\x5a\x2a\x1e\xda\x72\x63\x6f\xee\xec\x99\xd3\xfa"
++ "\x8e\x90\xb9\xf9\x79\x53\x28\x14\x0a\x2f\x1e\x3c\x38\xd1\xd5\xdb\xbb\x79\xf7\x1d\x77\xb4\x9d\xfb"
++ "\xc1\x0f\x64\xae\x64\xb5\xde\x73\x70\x15\x0c\x8a\x55\xb0\x82\xa8\x88\x4a\x94\x44\x8e\x42\xcc\x28"
++ "\xc6\x80\xab\xe0\x22\xe2\x2a\xd8\x40\xd1\xb0\x2c\x8b\xdc\x20\x44\x31\x52\x7b\xe3\x1e\xdb\xf8\xfe"
++ "\x8f\x3a\x87\x26\x73\x7c\xe1\xfe\x87\xbf\x3a\x71\xf6\xf4\x13\x4b\x96\x2e\x9d\xe9\x3b\x72\x24\x78"
++ "\xbb\x1b\xb1\x5f\xb0\x99\xd9\x59\xfb\xc1\x0f\x7d\x68\x0e\x38\xf4\xe9\xfb\xee\xfb\xd2\xcf\x7d\xff"
++ "\xc2\xae\xaf\x7d\x15\x37\x11\x67\xa8\x60\xb5\x64\x45\x63\xa1\xe0\x85\x88\x04\xaa\xf8\x8a\x1b\xa0"
++ "\xb1\x40\xd4\x0b\x04\x2f\x84\x58\x88\xba\x01\xea\x04\xa8\x13\x08\xae\x15\x75\x8d\xaa\x33\x67\x50"
++ "\xd7\xa1\xf6\xa6\x7b\x4c\xc3\xee\x3f\x74\x5e\x98\xcc\xf3\xf9\x6f\x3c\xf2\x40\xdf\x4b\x87\xfe\x0d"
++ "\x18\x1b\x1f\x1b\x2b\xbd\xe3\xd5\x5f\xa5\x0d\x0e\x0e\x6a\xf7\xaa\x55\xc1\x6c\x26\x73\xe9\x87\x4f"
++ "\x3d\x35\x92\xde\xb5\x6b\xcd\xf6\xbb\xee\x68\x8b\x9f\x1e\x94\xd9\xc9\x8c\x4a\x80\xc4\x41\x92\x0e"
++ "\x12\x93\xf2\xf5\x98\x41\x70\x51\xa9\x42\xc4\x11\x55\x57\x11\x0f\x47\x1c\x51\x9c\x82\x15\x37\x50"
++ "\x62\x3d\x55\x52\x7f\xe7\x4e\x61\xcd\xef\x39\xfb\xce\x64\xc2\xbf\xf9\xe6\x77\xef\x7f\xe5\x85\xe7"
++ "\x1f\x04\xce\x2e\xca\xb2\xdf\x18\x12\x60\x36\x93\xd1\xcd\x1b\x37\xfa\x97\x26\x27\x27\x0e\x3c\xfd"
++ "\xf4\x89\x5c\xc7\xca\xfa\xae\xdd\xbb\xbb\x57\xd7\x55\x89\x1d\x1d\x16\xcd\x87\xd8\x12\x2a\x06\x62"
++ "\x8a\x84\x65\xa7\x4a\xad\x2a\xb1\xb2\x36\x13\x29\x2a\x6e\xa8\xa4\x7a\xea\xa8\xbe\x73\xa9\x93\xba"
++ "\xab\x47\x86\xa5\x97\x07\x0f\x8c\x5f\xf8\xec\xbf\x3e\xf6\x95\xa1\xe3\x7d\x8f\xb6\x34\xd6\x5f\xc8"
++ "\x17\x4b\xf9\x5f\x77\x81\xf9\x8e\xd6\xb3\x71\x63\xec\xcc\xc0\x40\x8d\x6f\xed\xb5\xe9\x4d\x9b\xef"
++ "\xfc\xc8\xb6\xad\x7f\x7a\x5b\x75\xaa\x2b\x7d\x72\x00\x19\x1e\xa6\x2a\x97\x87\x85\x39\x7c\x1b\xa0"
++ "\x0e\xda\x90\x14\xa9\x6d\x32\x1a\x5f\x1a\x93\x44\x77\x35\xba\xba\x01\xbf\xbd\x86\x6c\x75\x0b\xfb"
++ "\x8f\x36\x17\x9e\xf8\xe9\xcc\xbe\x7d\xcf\x3d\xfd\x1d\xe0\xb5\xcd\x1b\xd6\x67\xfa\x8e\x0d\xe4\x2b"
++ "\x4f\x97\xff\x13\x64\x85\xc5\x22\x29\xb8\xa9\x71\xed\xba\x9d\xb7\xf4\xac\xd9\x7d\x73\x5d\x6d\x57"
++ "\xd7\xfc\x7c\x63\xaa\x90\x8f\xc5\xc5\x12\xf7\x3c\xbc\xea\x38\xf1\xf4\x3c\x4e\xfb\x2c\x5a\x67\x75"
++ "\xc6\x4d\xe4\x5f\x3c\xed\x8e\x3d\xf5\xec\xc2\xa1\x57\x5f\x1d\xd9\x0f\x73\x47\x80\xe1\x3f\xf9\xc0"
++ "\x9e\xe2\x23\x3f\xdc\xaf\xbf\xc9\xc2\xef\x06\x92\x9d\xeb\x7b\xe4\xf9\x81\xe3\xc9\xb2\xfa\xa2\x05"
++ "\xe8\xa4\xb5\x75\xcb\xda\x65\xcb\x3b\x96\xd9\xb0\xad\x1a\xaa\x62\x9e\xe7\x04\x4e\xcc\xbf\x54\xd2"
++ "\xec\x99\xb9\x85\xb1\xe9\x0b\x23\x83\x70\xf9\x28\xe5\x7b\x80\xd9\xa8\xbf\xdb\x77\xb3\xee\xbb\x82"
++ "\xbc\x6a\xde\xe2\x3d\x79\x3c\x7a\x5d\x1c\x4e\x74\x12\x2e\xaa\xb7\x45\x25\xe7\xbf\x5b\xb8\xff\x2f"
++ "\xe4\x5b\xd6\xbd\x69\x93\xb3\x2c\x55\xe5\x24\xe6\xb3\x22\x41\xe8\x38\xae\x43\x3c\x99\x52\xdf\x8b"
++ "\xab\x36\x37\x9b\x37\x87\xa6\x74\xe4\xd4\xeb\xca\x7b\xf6\x9e\xfd\x16\xd9\xff\x02\x9e\x16\x3a\x21"
++ "\xff\xa5\x20\xfd\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82";
++
++/* Large Daemon PNG image */
++unsigned char
++png_lrg[] = "\x89\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\x00\x00\x66\x00\x00\x00\x78"
++ "\x08\x06\x00\x00\x00\x00\x03\x87\x89\x00\x00\x00\x01\x73\x52\x47\x42\x00\xae\xce\x1c\xe9\x00\x00"
++ "\x00\x06\x62\x4b\x47\x44\x00\xff\x00\xff\x00\xff\xa0\xbd\xa7\x93\x00\x00\x00\x09\x70\x48\x59\x73"
++ "\x00\x00\x0b\x13\x00\x00\x0b\x13\x01\x00\x9a\x9c\x18\x00\x00\x00\x07\x74\x49\x4d\x45\x07\xdc\x03"
++ "\x19\x10\x07\x35\xc6\x4d\xe5\xa5\x00\x00\x20\x00\x49\x44\x41\x54\x78\xda\xec\xbd\x79\x9c\x25\x57"
++ "\x75\x26\xf8\x7d\x37\x22\xde\x96\xef\xe5\x5a\x59\x5b\xd6\xa2\x5a\x55\x2a\xa9\x24\xa1\x12\x12\x58"
++ "\x42\x20\x09\x61\x61\x10\xa6\x85\x97\x36\xb8\xc1\x36\x6e\xc6\x9e\xee\xb1\xa7\xb7\xb1\xdd\xe3\x1e"
++ "\x8f\xed\xa6\xdd\xe3\xee\x76\x1b\xbb\x91\xdd\x06\x84\x01\x63\xb0\xe5\xa1\x41\x06\x04\x16\x02\x63"
++ "\x2d\x68\x17\x52\x55\x49\xb5\xa8\x54\x55\x99\x55\x59\xb9\x6f\x6f\x8b\xe5\xde\x7b\xe6\x8f\x1b\xf1"
++ "\x32\xf2\x55\xd6\x22\x96\x99\xf9\x43\xa1\xdf\xd5\x8b\x88\x7a\xef\xc5\xcb\x7b\xee\x39\xe7\x3b\xeb"
++ "\x05\x5e\x3b\x5e\x3b\x5e\x3b\x5e\x3b\x5e\x3b\x5e\x3b\x5e\x3b\x5e\x3b\x5e\x3b\x5e\x3b\x5e\x3b\x5e"
++ "\x3b\x5e\x3b\x5e\x3b\x5e\x3b\x5e\x3b\x5e\x3b\x5e\x3b\x5e\x3b\x5e\x3b\xfe\x7f\x7c\xf0\x07\xf0\x5e"
++ "\x79\x6d\x1a\x7f\xf0\x73\xc5\x4b\x7c\x4f\x7e\x74\x3f\x48\xba\x1e\x2a\x3f\xc4\x3f\x56\xae\xbc\xf2"
++ "\x4a\x26\x49\x82\xa5\xa5\x25\x36\x9b\x4d\x28\xa5\x40\x2e\xff\x2c\x11\x81\x31\x06\x43\x43\x43\xa8"
++ "\xd5\x6a\x02\x00\x07\x0f\x1e\x94\xec\xf3\x3f\x64\x42\xb0\xeb\x7c\xb5\xb9\xba\xa4\x79\xe2\x45\xfe"
++ "\x4d\xa5\xc3\x4b\x5f\xf3\x0f\x16\x00\x36\x1d\xf9\xf3\x6e\x82\x7d\x5f\x7f\xf0\x9a\x35\x6b\xb8\x67"
++ "\xcf\x1e\x86\x61\x88\xc5\xc5\x45\x16\x8b\x45\x26\x49\x42\x6b\x2d\x6b\xb5\x1a\x8d\x31\xb4\xd6\x76"
++ "\x88\xe3\xfb\xbe\x78\x9e\x87\x85\x85\x05\x1b\x04\x81\x14\x0a\x05\x44\x51\x24\xd5\x6a\x55\x7c\xdf"
++ "\xc7\x53\x4f\x3d\x65\xb5\xd6\x3f\xa8\x05\xd4\xbd\x68\x55\x6e\x9e\xd4\x79\xe6\xca\x76\xcd\xdb\x25"
++ "\x13\x26\x7b\x88\x07\xc0\x07\x10\xa4\xc3\x4f\x47\xf6\x99\xec\xcb\x75\x3a\x4c\xee\x35\x4f\xac\x4b"
++ "\x9d\x04\x02\xc0\xce\x9d\x3b\x95\xd6\x1a\x4a\x29\xae\x5b\xb7\xce\x9b\x9f\x9f\x67\xb1\x58\x54\x24"
++ "\x95\xef\xfb\x9e\xb5\x96\xbe\xef\x7b\x49\x92\xd0\xf3\x3c\x25\x22\x64\x4a\x15\x92\x10\x77\xc3\x5a"
++ "\x6b\x6d\xb1\x58\x94\x38\x8e\x8d\xef\xfb\xa2\xb5\x36\x49\x92\x58\x00\x76\x70\x70\x50\x4e\x9d\x3a"
++ "\x65\x7b\x7a\x7a\xac\xb5\x16\x87\x0e\x1d\x7a\x35\x0b\x29\xfb\xfb\x55\xd7\xc2\xf5\x72\x73\x94\x5d"
++ "\xe7\xe7\x2a\x9b\xa7\x24\x1d\xba\x6b\x31\x5f\x94\x30\x2a\xfd\xf2\x02\x80\x22\x80\x32\x80\x0a\x80"
++ "\x52\x7a\x4f\xe5\x1e\x96\x3d\x24\x06\x10\xa6\xaf\xf9\x07\x9b\x55\x38\x69\xc5\xf3\x37\x6f\xde\x4c"
++ "\xad\x35\x87\x87\x87\x3d\x63\x8c\xb2\xd6\xaa\x52\xa9\xe4\x91\xf4\xac\xb5\x5e\xa9\x54\xf2\xad\xb5"
++ "\x9e\xef\xfb\x01\x49\x4f\x29\x15\x00\xf0\x44\xc4\x57\x4a\x79\x22\xa2\x44\x44\x29\xa5\x60\xad\x15"
++ "\xa5\x94\x25\x69\x44\xc4\x00\xd0\x4a\x29\x13\xc7\xb1\x26\x69\xac\xb5\x89\x52\x4a\x87\x61\x68\x82"
++ "\x20\xd0\xbe\xef\x9b\x76\xbb\xad\x6b\xb5\x9a\x25\x29\x73\x73\x73\x26\x8e\x63\xbc\xf4\xd2\x4b\x72"
++ "\x81\x05\xab\x72\x73\xe4\xe7\xe6\xaa\x90\x9b\xb3\x20\x47\x20\xc9\x11\xa4\x0d\xa0\x95\xbe\x46\xe9"
++ "\x3d\xb3\x1a\x71\xb8\xca\xb5\x9f\x7e\x79\x05\x40\x0d\x40\xaf\x0f\x0c\x68\x77\xaf\x98\xe3\x1a\xfa"
++ "\x40\x62\x80\x50\x96\x1f\x98\x3d\x34\x4c\x1f\x1c\xe7\x39\x8a\xa4\x88\xb8\xbf\x79\x60\x60\x80\xeb"
++ "\xd6\xad\x53\x51\x14\x79\x9e\xe7\xf9\x41\x10\xf8\xa5\x52\x29\xf0\x3c\x2f\x20\x19\x04\x41\x10\x28"
++ "\xa5\x8a\x41\x10\x14\x00\x14\x49\x16\x3c\xcf\x2b\x02\x08\x94\x52\x05\x92\x3e\x49\x5f\x44\xfc\x94"
++ "\x38\xf0\x3c\x4f\x52\xa2\x64\x13\xa1\x45\x24\xb6\xd6\x26\xd6\xda\x18\x40\x64\x8c\x89\x00\xc4\xc6"
++ "\x98\xc8\x18\x13\x07\x41\x10\x27\x49\x92\x88\x48\x22\x22\x5a\x44\xac\xef\xfb\xf6\xd8\xb1\x63\x32"
++ "\x39\x39\x29\x5d\x04\xc9\x38\x21\x23\x42\x29\xb7\x78\xcb\x00\x2a\x0a\x28\x2b\xa0\xa8\x97\x17\xb0"
++ "\x64\xf3\x40\xa0\x21\xc0\x02\x80\x45\x00\xf5\xdc\x62\x3e\x47\xac\xf9\xe7\xe1\x96\x22\x80\x9a\x07"
++ "\x0c\x19\xa0\x6f\x10\xd8\xf3\x76\xe2\xf6\xf5\xc5\x60\x6d\x11\xc2\x00\x62\x0e\x85\xe6\x95\xe7\x80"
++ "\xb1\x23\xc0\x24\x54\x30\xef\x8b\xd6\x81\x48\xa3\x0d\x2c\xa5\x0f\xcd\x88\x94\xad\x0e\x0d\x40\x0f"
++ "\x0e\x0e\x4a\xb5\x5a\xa5\xef\xfb\x5e\x1c\xc7\x41\xad\x56\x0b\x3c\xcf\x2b\xf9\xbe\x5f\x52\x4a\x95"
++ "\x83\x20\x28\x79\x9e\x57\xf6\x7d\xbf\xac\x94\x2a\x15\x0a\x85\x4a\xb1\x58\x2c\x29\xa5\xca\x8d\x46"
++ "\xc3\x8f\xe3\x38\x08\xc3\xd0\x8f\xa2\xc8\x5f\xb3\x66\x4d\xa5\x58\x2c\x06\x22\xa2\x32\x1d\xa3\x94"
++ "\xd2\x8d\x46\x23\x5a\x5c\x5c\x6c\x97\xcb\x65\xed\xfb\xbe\x2e\x97\xcb\x49\xb5\x5a\xd5\x51\x14\xb5"
++ "\xe3\x38\x6e\x19\x63\xda\xd6\xda\x96\x88\x34\x01\xb4\x48\xb6\x3d\xcf\x8b\xac\xb5\x91\xd6\x3a\xaa"
++ "\xd7\xeb\x7a\x68\x68\xc8\x54\x2a\x15\xcc\xcc\xcc\xa0\x5e\xaf\xab\x9c\x48\x2f\xa6\x04\xe9\x01\x50"
++ "\x25\x50\xe9\x25\x7a\x17\xe9\x17\x61\xa5\xb0\x06\x66\x64\x17\xb0\x66\x7f\x80\xed\xeb\x80\x8d\x0d"
++ "\xd0\x84\xa0\x3e\x6c\xf1\xe2\x03\xc6\x3e\x44\xa0\x28\x8e\xd0\x19\xa7\x5c\x94\x63\x32\x6e\x29\x01"
++ "\xe8\x03\xb0\x06\x40\xff\x5b\x81\xf7\xdc\x5e\x28\xfc\xf3\x4d\x5b\x46\xb0\x66\xdd\x5a\xf4\x0f\x0e"
++ "\x62\x60\xed\x30\x7a\xc2\x16\xec\xf4\x14\x9a\xa7\x5e\x59\x3a\x76\xfa\xf4\xf1\xff\xd4\xc4\xb7\x1f"
++ "\x01\x8e\x01\x9c\x05\x24\x4a\x89\x93\x27\x52\xd8\xd3\xd3\xa3\xab\xd5\xaa\xd4\x6a\x35\x96\xcb\xe5"
++ "\x82\xef\xfb\x45\x11\xa9\x94\xcb\xe5\x1e\x92\x35\xcf\xf3\x6a\xc5\x62\xb1\xe2\x79\x5e\x8f\xd6\xba"
++ "\xd4\x68\x34\x8a\xb5\x5a\xad\xd6\xd7\xd7\x57\x1d\x1a\x1a\xea\xbb\xe1\x86\x1b\xb6\x6c\xdd\xba\x75"
++ "\x78\xdd\xba\x75\x03\x83\x83\x83\xb5\x20\x08\x0a\x4a\x29\x95\x07\x5c\x24\x91\xa4\xc7\xd4\xd4\xd4"
++ "\xc2\xe4\xe4\xe4\xdc\xa9\x53\xa7\xa6\x1f\x7b\xec\xb1\x93\x61\x18\xb6\xa6\xa7\xa7\x17\x45\xa4\x59"
++ "\xab\xd5\x42\xa5\x54\xc3\x5a\x5b\x4f\x47\x03\x40\x23\x8a\xa2\x96\xb5\x36\x8c\xe3\x58\xcf\xcd\xcd"
++ "\xc9\xe2\xe2\x22\x96\x96\x96\xfc\x76\xbb\x5d\x48\xb9\xa2\x07\x40\x55\x01\xbd\xd6\x49\x95\x32\x80"
++ "\xe1\x7f\x09\x5c\xff\x8f\x87\xcb\x37\x0f\x6d\xdb\xb1\xb1\x58\x2a\xfb\x75\x7a\x58\xd2\x06\x33\x67"
++ "\xcf\x62\x76\x7e\x11\x8b\xcd\x36\xc6\x62\x3d\xfb\xfb\xc0\x3f\x07\x70\x1a\xc0\x14\x80\x39\x00\xcd"
++ "\x94\x6b\xcc\xf9\x08\x93\xad\x8a\x1e\x00\x83\x45\x60\xb3\x06\x36\xff\x27\xe0\xcf\xdb\xbd\xbd\x1c"
++ "\xaa\x56\x64\xb0\x56\x45\x5f\x6f\x15\x23\x37\xdc\x88\xc1\x7d\x57\xa3\x58\x2e\xd1\x6f\xd6\xa5\x34"
++ "\x3d\xc9\xc2\x2b\x47\x31\x71\xe2\xe8\xe2\x03\x4f\x1c\x78\xfa\x17\x22\x7c\x0d\xc0\x2c\x80\x25\x45"
++ "\x2c\x09\xb8\x54\x28\x14\x5a\xe5\x72\x39\xaa\xd5\x6a\xb6\x52\xa9\x78\x25\x77\xd4\x0a\x85\x42\x4d"
++ "\x29\xd5\x5f\x28\x14\x06\x8c\x31\x35\x6b\x4c\xd5\xf3\xfd\xca\x8d\x37\xde\xb8\xf9\xb6\xdb\x6e\xdb"
++ "\xbd\x73\xe7\xce\x91\xa1\xa1\xa1\x81\x6a\xb5\xea\xe5\x7f\xb8\xb5\x16\x22\x82\x54\xed\xaf\x80\xcb"
++ "\x9d\x3f\xa8\x0b\x4a\xcf\xcd\xcd\x85\xe3\xe3\xe3\x93\xc7\x8f\x1f\x1f\x7f\xe0\x81\x07\x0e\x8e\x8e"
++ "\x8e\x4e\x8a\xc8\x52\xb1\x58\x5c\x22\x59\x8f\xe3\x78\x01\xc0\x62\x18\x86\x8d\x76\xbb\x1d\x2e\x2e"
++ "\x2e\xea\xc5\xc5\x45\x55\xaf\xd7\xfd\x76\xbb\xdd\x63\x8c\xee\xb1\x56\xfa\xd2\x39\xaa\xbd\x13\xb8"
++ "\xe6\xd7\xb7\x94\x6e\x79\xc3\x8f\xdc\x76\x95\xb7\x7e\x13\x9a\xeb\x36\x20\xb4\x40\xe2\x79\x08\xa3"
++ "\x18\x53\x2f\xbc\x20\x27\x1e\x7a\x08\xb3\x0b\x4d\xd6\x01\x49\x00\xce\x00\xdf\xfa\x08\xf0\x7b\x00"
++ "\xa6\x53\xe2\x2c\xa5\x52\x65\x85\x38\xeb\xc6\xdf\xc5\x54\xaf\xac\x05\xb0\xe5\x6d\xc0\xad\xef\x05"
++ "\xfe\xf5\x09\x42\xfa\xaa\x3d\x18\xea\xad\xb2\xaf\x5c\xc6\x9a\x4d\x1b\x31\x72\xfb\x1d\x18\xbc\xe1"
++ "\x46\x04\xb5\x5e\xa8\xfa\x22\xbc\xa9\x09\xf1\x97\xe6\x09\xdd\x04\x0e\x3e\x82\xaf\x3d\xfe\xd8\xb3"
++ "\xff\xf6\x40\xf3\x1b\xcf\x81\x47\x94\x1f\xb4\xcb\x45\xbf\x5e\xa9\xf4\xc4\xd5\x6a\xd5\xf4\xf6\xf6"
++ "\x06\x95\x4a\xa5\x52\x2c\x95\xfa\x0b\x41\x30\x00\x60\xa0\xd9\x68\xd4\xee\xb8\xe3\x8e\x5d\x37\xdd"
++ "\x7c\xf3\x65\xfb\xf7\xef\xdf\x35\x30\x30\xe0\x67\x22\x5a\x04\x19\x11\xc4\xfd\x58\xf2\x5c\xd8\xb2"
++ "\x3a\xf2\x4f\x09\x95\x82\x35\x76\xb8\x0a\x00\x4e\x9f\x3e\xbd\xf8\xdc\x73\xcf\x1d\xf9\xfa\xd7\xbf"
++ "\x7e\xe0\xe8\xd1\xa3\xa7\x7b\x7b\x7b\x1b\xc6\x98\xb9\x30\x0c\x17\x5b\xad\x56\xb3\x5e\xaf\x27\xf3"
++ "\xf3\xf3\x52\xaf\xd7\x4b\x8d\x66\xb3\x12\x45\xa6\x06\x49\x2a\xbf\x5e\xc0\x2d\xbf\xf4\x8e\x6b\x6f"
++ "\xdf\xfa\xa6\xb7\x0f\xe1\xf2\xeb\x80\x66\x88\xa4\x50\x12\x53\xaa\xd0\x28\x85\x68\x69\x09\x73\xcf"
++ "\x3c\x85\xd1\x07\xbe\x8a\xf1\x23\x47\x30\x1f\x19\x2c\xa5\xb8\x6f\x08\x68\xfc\x32\xf0\x41\x00\xa3"
++ "\x00\x26\x52\xae\x69\xa7\xa2\x5e\x56\xd3\x31\x79\x98\x1c\x00\xf0\xae\x00\xb6\x17\x00\x28\x01\xdb"
++ "\x8d\xa6\xb4\x61\xa5\x68\x0d\x1a\xa3\x63\x9c\x7f\xec\x61\x29\x0f\x0d\xa2\xf4\xa3\x6f\xa7\x7f\xed"
++ "\x75\x90\x93\xaf\x50\xce\x8c\x0a\x97\x66\x89\xe1\xb5\xb8\xf3\x6d\x77\x5f\x77\xe7\xd1\xc7\xaf\x7b"
++ "\xe2\x1b\x5f\x3a\xf6\x2b\x8f\x2d\x7c\xe5\x49\x3d\x70\x7c\xb8\xe8\xa9\x52\xa9\x64\x8a\xc5\x62\xa1"
++ "\x56\xab\xd5\x8c\xd6\xbd\x4a\xa9\x81\x77\xbf\xfb\xdd\x7b\xef\xbe\xfb\xee\xeb\x86\x87\x87\x0b\x39"
++ "\x8e\x10\xa6\x14\x20\x21\xa4\x42\xce\x48\x94\xbc\xd1\xe9\x66\x1e\x04\x24\x9b\x74\x11\x63\x98\x52"
++ "\x85\xf4\x3c\x52\x29\xc9\x3e\x68\xb5\xa6\x00\x32\x32\x32\xd2\xb7\x69\xd3\xa6\x1b\xee\xbc\xf3\xce"
++ "\x1b\x4e\x9c\x38\x31\xf5\xe5\x2f\x7f\xf9\x89\xaf\x7f\xfd\xeb\x87\xab\xd5\x6a\x13\x40\x23\x8e\xe3"
++ "\xb0\x52\x2a\xca\x52\xa4\x0b\xd1\x42\xbb\xf4\x2b\x6b\xc2\xd7\xfd\xd6\x4f\xbe\xe9\xae\xc1\x9f\xfc"
++ "\x5f\xca\x18\xde\x06\x89\x8d\x30\x49\x28\x1b\x2b\x50\xa5\x22\x50\x2c\x8b\x99\x18\x67\x7c\xec\x28"
++ "\x16\x9e\x7b\x16\x8d\x89\x09\xb1\x85\x22\x4d\xd8\x12\x2d\x60\x05\x40\xef\x32\x50\xc8\x90\x9b\xba"
++ "\x98\xc5\xaa\x52\x8e\xe9\x03\xb0\x01\xc0\xd6\x7f\x06\xfc\xcc\x1d\xc0\x4f\x1e\x71\x24\x95\x7e\x05"
++ "\xf4\x57\x4a\x18\xa8\xf5\x38\xce\xd9\xb9\x5d\xd6\xbf\xfb\x6e\xf6\xbf\xe7\xa7\xe1\xad\x5d\x0f\x99"
++ "\x9c\x10\x9e\x3c\x46\xb4\xea\x22\x71\x83\x30\x91\xb0\x44\xe2\xe5\x27\xf0\xc4\x37\xbe\xf0\xca\xbf"
++ "\x7a\xce\xfc\xfd\xd9\xda\xce\xd6\xc6\x1e\x96\x6a\xb5\x5a\xf5\x17\x3f\xf8\xc1\xab\xdf\x7a\xc7\x1d"
++ "\x7b\x7a\x7b\x7b\x95\x23\x86\x49\x97\x35\x57\x88\x20\x38\x6c\x94\xfd\x5f\x72\xb7\x33\x41\xe6\xfe"
++ "\x8d\x80\x4d\x62\x44\xa3\xa3\x02\x6b\x49\x11\x21\x41\xa4\x22\x8d\xe5\x32\x54\xa9\x0c\xd5\xd3\x03"
++ "\xf8\x81\x40\x29\x88\x80\xd6\x68\xf1\x3c\x8f\x24\x71\xfa\xf4\xe9\xc6\xbd\xf7\xde\xfb\xe8\x77\x1e"
++ "\x7d\xe4\x4c\x33\xb6\xe1\xd8\x5c\xdd\xfc\x63\xfb\xf4\xce\x5f\xfb\xf1\x5b\x6f\xeb\xff\xe9\x7f\x5b"
++ "\xc4\xe6\x7d\x90\x85\x59\x61\x62\x20\x7e\x01\xf4\x03\x48\xad\x8f\xec\x1f\x40\x32\x7a\x4a\x16\x1f"
++ "\xfc\x1a\x27\xbf\xfa\xb7\x98\x3a\x78\x10\x4b\xb1\x96\xa9\xf1\x09\x2e\x26\x46\x96\x04\x5c\xe7\x26"
++ "\xd6\xbc\x07\xf8\x10\x80\xe3\x00\xce\x00\x98\x49\xf5\xcc\x0a\x8e\xf1\xba\xb8\xc5\xcf\x89\xb3\xc1"
++ "\xf5\xc0\x86\x37\x01\xd7\x2f\x00\xd2\x70\xf8\x90\xca\x68\x06\xd6\xa2\xe0\x29\xa8\x66\x93\x38\x75"
++ "\x02\x9c\x9a\x40\xd0\xd7\x0f\xb5\x63\x17\xe9\xf9\x10\xab\xdd\x64\xf4\x0f\x11\x3a\x81\x5d\xb3\x45"
++ "\x36\xbf\xf5\x27\x06\x7f\xe1\x9a\xbe\xd7\x6d\x6d\x1c\x18\xaa\xde\x70\xf7\xf0\x7f\xfc\xbd\xdf\x7b"
++ "\xf3\x75\xfb\xaf\x5b\xef\x79\x5e\x67\xf5\x2b\xa5\x98\xfd\x14\x52\x20\xe2\x18\x22\x93\x40\x10\x40"
++ "\xb2\x73\xf7\xdf\xf2\xdb\x9d\x8c\x82\x6e\xd4\x91\xcc\xcf\x93\x4a\x75\x08\x27\x10\x40\x04\x12\x45"
++ "\x90\x66\x03\x7a\x6e\x16\x76\x69\x91\xd2\xa8\x83\xd6\xd2\x2b\x16\x09\xcf\x83\x15\x91\x9e\x9e\x9e"
++ "\xc2\x5b\x6e\xbd\x75\xe7\x0d\xb7\xfe\xd8\xb6\xf0\x89\xcf\x56\x3e\xf2\xba\xe6\xad\x77\xff\xee\xc7"
++ "\xaf\x2a\xfe\xd4\xef\x78\xa0\x07\x26\x31\x59\x2c\x53\x4a\x15\xa0\x52\x25\xd7\xae\x27\xcb\x15\xe8"
++ "\x93\xaf\xa0\xf9\x77\x0f\x70\xee\xef\xbe\x86\xfa\xe8\x18\x62\xdf\xc7\xc2\xd4\x14\x1b\x8d\x10\x21"
++ "\x40\x93\xa2\xa9\x02\xd0\xbc\x0f\xf8\x2a\x1c\x6c\xce\xf4\x4b\xd2\x8d\xcc\xce\xa7\x63\xd6\x57\x80"
++ "\x1d\x55\x60\xef\xdf\x00\xff\xfe\x28\x80\x31\x40\x8a\x04\x7a\x09\xd4\x14\x30\x50\x2e\xb0\xbf\x56"
++ "\x95\xde\x6a\x0f\x7a\x2b\x65\xf4\xed\xbb\x1a\xd5\x9b\x6f\x41\xb0\x73\x37\xd8\xd7\x0b\x04\x3e\x10"
++ "\xd6\xdd\x6a\xf2\x00\x2c\x4d\x8a\xed\x1d\x24\xd6\xef\x80\xea\x1d\x86\xb5\x16\x00\x9c\xd9\xee\xa6"
++ "\x1c\xe2\x24\x51\x6a\x3b\xa4\x36\x4f\x67\xca\xdd\x7b\x9c\x20\x5b\xe1\xfa\x22\x40\xe9\x5c\x2b\x85"
++ "\x78\x6e\x0e\xd1\xc4\x59\xd0\xf3\x1c\xe7\x39\x3d\x93\x49\x39\x90\x10\xbf\x54\x01\x7d\x1f\x14\x81"
++ "\x18\x0b\x06\x3e\x54\x4f\x0f\x6c\xb9\x0f\x88\x66\xc8\x2f\xff\x3a\xd4\x65\x37\x02\x37\xfe\x53\x48"
++ "\x6b\x49\x10\xb5\x01\xcf\x27\x41\x81\x15\xc7\x2d\x3d\x55\x48\xab\x09\xf3\xd2\x41\xb4\x1e\x7d\x98"
++ "\x8b\xcf\x3e\x2d\x4b\xe3\xe3\x68\x26\x06\xd3\x27\x4e\x62\x72\xec\x2c\xea\x04\x16\xad\x5b\xf1\x3b"
++ "\x49\x46\x9e\x77\xe2\xfd\x5a\xff\x26\x80\x53\x00\xc6\x53\x90\x74\x5e\x1d\x93\xff\x4b\x2d\x80\x24"
++ "\x01\xa2\x29\x60\xb1\x01\x34\x7a\x80\x6a\x09\x40\x2c\x99\xd5\x06\x86\x61\x8c\x10\x4b\x28\x8a\x30"
++ "\x84\xa0\x70\xe0\x79\x78\x67\xcf\x88\x77\xc5\x5e\x7a\x3b\x77\x88\x8c\x6c\x24\xb6\xed\x00\xe2\x08"
++ "\xa8\x56\x11\x5f\xf6\x3a\x4a\xef\x1a\x04\x41\x20\x99\x6f\x8b\x9d\xf5\x4c\x30\xe5\x0e\xa7\xa4\x01"
++ "\x11\x71\xdc\x23\xd9\x9c\xbb\x7f\x03\x21\xcc\xae\xc1\xe5\xf7\x40\x28\x4e\x1e\x22\x18\x1c\x14\x55"
++ "\x2e\xb3\x35\x7a\x52\x60\x53\xe9\x28\x92\xca\x3a\x01\x03\x9f\xcf\xfe\xc6\x6f\xc8\xe8\x5f\xdd\xe7"
++ "\xc4\x46\xb9\x84\xc1\xd7\x5d\xc7\xa1\x9b\xdf\x2a\xbb\xae\x59\x42\xa9\xdc\x04\xde\x73\x0f\xe0\x05"
++ "\x90\xf6\x92\x23\x7e\xb9\x06\x18\xed\x9e\xeb\x7b\x44\x18\x8a\x9c\x19\x85\x3d\xf1\x0a\xa2\x43\x07"
++ "\x18\x9d\x3a\x89\x24\x0c\x61\x8a\x25\x36\xc7\x8e\x63\x71\xec\x2c\xb4\x82\x24\x16\x34\x80\xf4\x02"
++ "\x1c\x1c\x1e\xc6\x77\xa6\xa6\x8e\xa7\x86\x65\xd2\xe5\xbe\xc2\xf9\x0c\x4c\xc9\xf9\x74\xe2\xc4\x51"
++ "\x71\xb6\x5e\x2e\x9f\xad\x86\xe1\xae\x1e\x11\xb4\x00\x26\x39\x9f\x4b\x18\x6a\x16\x59\x47\x01\x16"
++ "\x11\x89\xe2\xe2\x22\x93\x97\x0e\x41\xcd\x4c\x10\x1b\xd6\x82\x27\x0f\x43\x6e\xba\x0d\xed\x2d\x97"
++ "\x23\xe8\x1b\x84\x82\x00\x62\xa9\x3a\x72\x2a\x95\x43\x10\x80\x96\x10\x22\x2f\xb7\x84\x36\xfd\x55"
++ "\x1d\xa2\x80\x4e\x2a\x51\x56\x18\xd6\x58\x06\xcd\x22\x10\x63\xe8\x95\x4a\xa8\xee\xdc\xcd\xd6\xe9"
++ "\x31\xe8\x46\xc3\x71\x87\xb5\xf0\xab\x55\x3c\xf5\xa1\x0f\xe1\xf4\xd7\xbe\xce\x62\xb9\x2c\x0c\x02"
++ "\xb2\x50\xc6\xf4\x63\x0f\x63\x64\xf3\x69\x94\xfe\xe5\x17\x88\xa1\x6b\x80\x24\x02\xe2\x36\xe0\x17"
++ "\xdd\x63\xb4\x06\xa8\x00\x08\x31\x3b\x0d\x4e\x8c\xc3\x8e\x8e\xd1\x4c\x8c\x43\xd7\xeb\x48\xe2\x04"
++ "\xc6\xf3\xd9\x18\x1d\xc5\xc2\xd1\x13\x30\x1e\x90\x58\x30\x71\xeb\x8a\xfd\xe5\xb2\xf4\xf6\xf5\xf1"
++ "\xab\x53\x53\x07\x72\x6e\xac\x24\x47\x18\xe9\xb6\xf4\x57\x98\x07\x29\x15\x93\xcc\x5d\xf0\x8d\x28"
++ "\x7a\x76\xed\xf0\x30\x2a\x4e\x21\x49\x2c\x90\xc4\x0d\x68\x42\xe2\xd8\x48\xdc\x6a\x49\xd2\x6a\x49"
++ "\x12\x85\x92\x68\x2d\x92\x68\xe1\xc2\xa2\x18\x2d\xd2\xde\x75\x2d\x0a\xfd\x43\x50\x0e\x31\x09\x09"
++ "\x81\x58\x80\x14\x11\x2b\x62\x8d\x40\x2c\x44\x28\xa0\xa4\xc8\x56\x32\x35\x2f\xb0\x46\x20\xa6\xc3"
++ "\x32\x92\xbe\x97\x92\xb2\x97\x08\xe8\x5e\x05\xe9\xa0\x88\x88\x31\x02\x6b\xa5\xba\x65\x8b\x14\x06"
++ "\x87\xc4\xc4\x09\xac\x08\xda\x93\x53\x98\x7c\xf8\x11\x51\x4a\x89\x15\x41\x12\x43\x7a\x82\x49\xb9"
++ "\xeb\x4b\xbf\x21\xbb\xfe\xe2\x38\xa4\xff\x2a\x81\x8e\x20\xa4\xc0\x2f\x80\xa4\xc0\x8a\x80\x14\x18"
++ "\x03\x4c\x9c\x16\x8e\x8f\x0a\xa6\xa7\x60\xdb\x4d\xd1\x5a\x8b\x8e\x63\xb1\x9e\x87\xc6\xd1\xa3\x32"
++ "\x7f\xe0\xa8\xe8\x20\x9d\x23\x40\x62\x40\x2a\x80\xac\xdd\xb1\x83\x88\x22\x3c\x0e\x1c\x49\xe7\x37"
++ "\xba\x10\xc7\xa8\x55\xe2\x05\x26\xa5\x66\x1b\x40\xfc\x31\x6b\x9f\x2a\x0d\x0d\xa1\xcf\xf3\x58\xc9"
++ "\x48\x2d\xe9\x00\x91\x80\x88\xac\x20\x0c\x43\xc4\x61\x84\x44\x6b\xe8\x46\x13\xc9\xa6\x6d\x88\xff"
++ "\xd5\x87\x51\x1a\x18\x02\x25\x75\xcb\x8b\x33\x0a\x85\x84\xe8\x04\x62\x34\x24\xbd\x47\x49\x35\x7b"
++ "\xaa\x56\x44\x0c\xc4\x44\x10\xd1\xee\x3c\x1b\x56\x40\x2b\x80\xb5\xa0\xb5\x90\x0b\x0d\x11\x98\x44"
++ "\xa3\xbc\x76\x2d\x7a\x46\x46\xa0\xe3\x04\x71\xbd\x8e\xa4\xd9\x04\x94\x82\x36\xc4\xc6\x1d\x75\xbc"
++ "\xed\xa5\x47\x50\xfc\xb1\x0f\x03\x46\x3b\xee\x55\x3e\xe0\xf9\x2b\x85\x7c\x14\x82\x53\x67\x20\x8d"
++ "\x25\x20\x8a\x21\x71\x02\x1b\xc5\x30\x51\x0c\x4b\x85\xf9\x87\xbf\x8d\xb9\x67\x0e\x42\x17\xb2\xb9"
++ "\x71\xaf\x06\xc0\xf0\xf0\x30\x47\xb6\x6d\xc3\x23\x13\x13\x8f\xe7\x1c\x99\x51\x17\xc7\xe0\x42\x1c"
++ "\x23\x39\x8e\x69\x03\x68\x00\x98\x3d\x64\xcc\xa1\x8d\xbb\x77\xa3\xba\xec\x91\x63\x4c\x20\x01\x91"
++ "\x28\xc5\x44\xf9\x4c\x94\xc7\xd8\x58\xc4\x4b\x75\xb6\x6f\xb9\x1d\xf6\xb7\xff\x33\x8b\xca\x69\x76"
++ "\x92\x10\x6b\x9c\xb4\xb1\x16\x12\x86\x10\xa3\x91\xae\xf6\xce\x62\xa7\x58\x10\x96\x62\x2d\x24\x8e"
++ "\x48\xab\x09\x6b\x08\x6b\x40\xab\x01\xab\x29\x86\xb0\xd6\x66\x83\x62\x2d\xe0\x06\x73\x03\xf9\x57"
++ "\x9b\x24\x0c\xaa\x55\xf4\x6e\xdf\x0e\xf8\x3e\x54\xa5\x42\xf1\x03\x28\x44\xb8\xe5\xe3\xbf\x0a\xf4"
++ "\xdd\x04\x5a\xe3\x94\x9e\x52\x4e\x89\x39\x48\x08\x21\x89\xa8\x4d\x2c\xce\x51\x8c\x01\xb5\x81\xc4"
++ "\x09\x6d\x14\x41\x47\x11\x8c\x35\x98\xfe\xdc\x67\xb8\xf8\xe2\xcb\x48\x8a\x40\x2c\x60\x36\x42\x01"
++ "\xaa\xe5\x32\x37\xee\xdd\x6b\x8b\xd6\xe2\xbe\x38\x7e\x2a\x85\xc6\xcd\x9c\xff\x70\xd5\x70\xc3\x6a"
++ "\x84\xb1\x5d\x84\xa9\x7f\xf2\xe8\xd1\x87\xd7\xef\xdd\x8b\xc1\x9e\x1e\x54\x32\xcd\x25\x44\x4c\x22"
++ "\x56\x3e\x12\x3f\x80\x2e\x96\x11\x5b\x0b\xf3\xce\x77\xa3\xf2\x1b\xff\x27\x02\x6b\x9d\xa6\x10\x0b"
++ "\xb1\xc6\x11\x27\x49\x1c\x51\x64\xd9\x9a\x47\x4a\x10\xb1\xc6\x0d\x63\x61\xdb\x09\x20\x1a\xb0\x1a"
++ "\xb4\x09\x68\x13\xc0\x26\x80\x31\xa0\xb1\xa0\x31\x40\x6e\x88\x31\xb0\xe9\x90\x74\x20\x77\x2e\xc6"
++ "\xc0\x26\x09\x94\xef\x63\xf8\xfa\xeb\x51\xdb\xb5\x0b\xda\x12\x7d\x43\x16\xd8\xfa\x63\xa9\x96\x52"
++ "\x80\xf2\x56\x40\x55\x21\xc1\xb0\x05\xb6\x1a\x6e\x11\x25\x1a\x88\x13\x48\x18\xc3\x58\x0b\x3d\x3b"
++ "\x8d\xa9\xdf\xff\x30\x9a\x67\x26\x91\x04\x39\x49\x22\x40\x64\xdd\x0a\x1f\xd9\xb1\x43\xd6\x5d\x73"
++ "\x0d\x26\x9e\x7f\xbe\xfe\x38\xf0\x7c\x3a\xa7\xed\x9c\x7f\xcc\x5c\x4c\xf9\x77\x03\x80\x08\x40\x8b"
++ "\x40\xf3\x41\xe0\x99\xa9\xa9\xa9\x85\xad\xd7\x5f\xdf\x3f\xf7\x0f\xff\xe0\x80\x37\x15\x12\xe5\x41"
++ "\xfb\x3e\x74\xb1\x88\x44\x04\xfe\x3b\xdf\x83\xe1\x0f\xff\x67\x78\x5a\x3b\xa8\x9a\x13\x5d\xb6\xdd"
++ "\x72\xa8\xc6\xf3\x53\x5b\xd1\x3d\x49\x98\x62\xab\x74\x91\x4a\x18\xa7\x08\x38\x46\x07\x1e\x03\x00"
++ "\x05\x62\x8a\x70\x61\x16\x59\x39\x81\xe7\x0d\xaa\x33\x77\xed\xce\xbc\x6a\x0f\xae\xfc\xd0\x87\x30"
++ "\xff\xdd\x03\x28\xe1\x15\xa0\xd9\x72\xa0\xcf\x01\x61\x80\x1d\x87\x01\x18\xb6\x20\x49\xec\x90\x9c"
++ "\xd6\x40\xa2\x81\x76\x08\xf1\x88\xe8\x89\xc7\x30\xfd\x27\x7f\x86\xd0\x03\x62\xcf\x11\x22\xca\x11"
++ "\x26\x04\xd0\xbf\x71\x23\x36\xec\xda\xc5\x21\x92\xbf\x77\xfa\xf4\xdf\xa6\x6b\xba\x91\x8a\xb2\x2c"
++ "\x24\x82\x4b\xe1\x98\x3c\x00\x88\x01\xb4\x24\xf5\x0e\x7f\xee\xd0\xa1\x6f\x6e\xdc\xbb\x17\x6b\xd7"
++ "\xad\x93\xa2\x08\x22\xd2\x11\x26\x28\x40\x1b\x81\x77\xf5\xeb\xb0\xf9\xf7\xff\x00\xaa\xd5\x02\x3d"
++ "\xcf\x89\x97\xd4\x02\x91\x66\x03\xa2\x13\x38\x83\x26\xe3\x92\x74\x58\x71\xa8\xcb\x0a\xa4\x1d\x3b"
++ "\xdd\x60\x34\xc4\xc4\x10\x93\x40\x6c\x3a\x8c\x06\xb4\x38\x3d\xd0\xc5\x11\xcb\xe7\x36\x1d\x06\x62"
++ "\x63\x88\x34\x41\x2c\x81\x58\x04\xb9\x04\x72\x09\xb6\x31\x8e\x75\xef\xb8\x19\x7e\xa5\x82\xc2\xb6"
++ "\x37\x02\x27\xbf\x73\xee\x72\x15\x38\x54\x66\x8d\xfb\x3b\x8c\x81\x24\x89\x23\xb4\xf2\x10\x7e\xfa"
++ "\x5e\x2c\x7c\xec\xcf\x10\x07\x6e\xf5\xe6\x09\x12\x01\x08\x2d\x60\x2b\x15\x6c\xd8\xb1\x03\x6b\xaf"
++ "\xbf\x5e\xa6\x1e\x79\x24\xfa\x6b\xe0\xb9\x94\x28\x8d\x9c\x18\xb3\x97\x2a\xca\xb2\x23\x0f\x00\xea"
++ "\x00\xea\x7f\x34\x37\xf7\xf7\xad\xf9\x79\xbd\xf9\xa6\x9b\x64\xa8\x5c\x86\xa5\x82\xf6\x03\xea\x42"
++ "\x01\x76\x78\x18\x7b\x3f\xfd\x97\x08\xc2\x90\xaa\x54\x02\xc5\x3a\x5d\x0f\xc2\x2e\xcd\x03\x3a\x81"
++ "\x22\x1d\x77\x38\x0f\x18\x2d\x2c\xad\x8a\x28\x02\xa7\x0f\x22\x4d\xa4\x62\x8a\xda\x80\x36\x82\x98"
++ "\x04\x48\x87\xe8\x98\xa2\x05\xa2\x35\xad\xd6\x84\x1b\x10\x6d\x20\xda\x50\x8c\x06\x6c\x0b\x94\x45"
++ "\x28\xcc\x51\x61\x11\xca\x36\x49\x13\x81\x26\x06\x75\x0c\xea\x08\x30\x11\x82\xc1\x75\x18\xb8\xfe"
++ "\x5a\xaa\xf5\x97\x33\x3a\x76\xd4\x31\xac\x43\x82\x84\x80\x30\x09\x90\x2e\x10\x6a\x67\xbb\x50\x79"
++ "\x90\x83\xcf\x23\xfc\xcd\x7f\xcd\xc6\x83\x5f\x43\x48\x30\x12\x30\x02\x18\x49\x4a\x1c\x80\x91\x75"
++ "\x93\x36\xbc\x63\x07\x46\xf6\xec\xc1\x20\xc9\x2f\x3f\xf3\xcc\x23\xf0\xfd\xb3\xa9\xb5\xdf\x4c\x39"
++ "\xe7\x82\x84\xf1\x2e\x10\xdb\xce\x92\x09\x02\x00\x05\x90\xe5\xa1\xb3\x67\xab\x6f\xfd\xb1\x1f\xdb"
++ "\xd5\x9e\x9b\x93\xf9\xd9\x59\x98\x72\x19\x3e\x04\x6f\xfe\xc2\x97\x30\xd8\xdb\x0b\x96\xcb\xf0\x02"
++ "\x3f\xf5\x04\x2b\x98\x85\x69\xc0\x0a\x94\xe7\x01\x2a\x05\x01\xce\x2d\x09\xe5\x69\x10\x06\x10\xaf"
++ "\xb3\xd2\x69\x8d\x13\x23\xc6\x80\xac\xa7\xc8\xcb\x00\x56\x43\xac\x82\xe8\x02\x28\x16\xa9\x82\x82"
++ "\x58\x02\x12\x41\xb1\x0e\x62\x09\x4a\x42\x50\x12\xc7\x45\x36\x1b\xda\xe9\x27\x6b\x60\x74\x11\x26"
++ "\x29\x43\xb4\x42\x61\x78\x18\x76\x69\x01\x4c\x0c\x4a\xeb\x06\x20\xbd\x1b\x9c\x68\xb4\x8e\x23\x69"
++ "\xad\xb3\x99\x4c\x02\x3e\xf7\x14\xe4\x33\x9f\x44\x72\xdf\x5f\xa2\x35\x31\x81\x66\xb3\x89\xb6\x38"
++ "\x71\xd2\xb6\xe9\xab\x00\x4d\x0b\xd4\x05\x28\x6e\xda\x84\xed\x57\x5f\x8d\xed\x6f\x7e\x33\xeb\xf7"
++ "\xdd\x27\x3f\x3d\x36\xf6\xdf\x7a\xac\x9d\x4d\x9c\x37\x79\xe1\x7c\x6e\x98\x0b\xe9\x98\xd5\xd0\x59"
++ "\x0b\xc0\x92\x4f\x36\x7e\x67\x76\xf6\x5b\x3f\x3b\x35\xf5\x96\x91\x37\xbc\xa1\x30\x37\x3f\xcf\x53"
++ "\x33\x33\x72\xf5\x1f\xfc\x17\x6e\xd8\xb5\x0b\xa6\xdd\x46\xb1\x5c\x12\x31\x86\x24\xc5\x2c\xce\x90"
++ "\x3a\x01\x82\x42\xc7\xfc\xa3\xf3\xd6\x3b\xbc\x43\x93\x4e\xb0\x21\xb4\x08\xac\x01\x8c\x71\xa8\xcd"
++ "\x18\x88\x58\x90\xc9\xb2\xff\xd2\x14\x04\x36\x66\x86\x19\xc8\x04\xca\x6b\x90\xa2\x01\x8b\xd4\xd0"
++ "\xc8\x94\x76\xea\x4e\x00\x04\xb0\xb4\xb6\x02\x63\x7b\xd2\x6f\x72\xd6\x85\x2a\x97\xa5\xb2\xfd\x32"
++ "\x30\xb8\x1c\xf6\x6f\x7e\x17\xea\x97\xee\xa5\x4c\x1c\x17\x06\x15\x48\x1c\x11\x53\xe3\xe0\x2b\x2f"
++ "\x03\x4f\x3e\x06\x9c\x1c\x85\x99\x98\x42\xd8\x6a\xa3\xb5\xb4\x28\xa1\x01\x43\x81\x84\xe2\xe2\xea"
++ "\x61\x8a\xc0\x9a\x16\xa2\xfa\xfb\xb9\x7e\xf7\x6e\x8c\x5c\x75\x95\xf4\x01\xf8\xab\x47\x1f\x7d\x18"
++ "\x85\xc2\x44\x5b\xeb\x39\xb8\x60\x5c\x78\x31\xa2\x5c\x8c\x63\x32\xdd\xea\x91\x0c\xa8\x54\x49\xaa"
++ "\xd5\x62\xf2\xe2\x8b\xea\x1f\xfd\xcc\xcf\xec\x89\x1a\x0d\x29\xef\xdc\x89\xdb\x7f\xff\xf7\x11\x8d"
++ "\x8d\xa1\xb4\x7e\xbd\xb3\xe3\xa9\x60\x96\xe6\x20\x61\x03\xf4\x03\xd0\xf3\x28\x54\xa0\xf2\x00\x52"
++ "\x40\x05\xaa\x5c\x02\x8d\x36\x2e\x1a\x6e\x52\xc2\x18\x23\xd0\x9a\x12\x17\x85\x6a\x3e\xd5\x27\x09"
++ "\x25\x29\x43\x0c\x41\x1b\x41\x61\x0e\x0a\x8b\xa0\x89\x21\x46\x13\xc6\x40\x74\xe2\xc0\x85\xd1\xce"
++ "\x4a\xb7\x09\x44\x0b\x74\xdc\x07\xab\x03\x88\x31\xec\xe8\x24\x6b\x45\xac\x85\x31\x06\x8f\xfd\xe2"
++ "\x3f\xc5\xec\xa3\xdf\xc1\xe6\x3d\x6b\x80\xc8\x82\x2f\x1f\x04\x0e\x3d\x47\x1e\x3e\x20\x78\xf9\x18"
++ "\x39\x33\x2f\x66\x66\x1e\xe1\xec\x2c\x9a\x33\x33\x6c\x45\x89\x4b\x6e\x90\x65\x4e\x69\x0b\xb0\x64"
++ "\xc0\x38\xf0\x31\xb0\x77\x2f\xb6\x5f\x75\x15\x2e\xbb\xe5\x16\xce\x7c\xe2\x13\xf6\x27\x4f\x9c\xf8"
++ "\xef\x25\xdf\x9f\x11\x60\x5a\x44\xe6\x73\x8a\xff\x82\xe9\x4b\xea\x02\x84\xc9\x66\x2f\x06\x10\x79"
++ "\x9e\xd7\xea\xd7\x3a\xf9\xd3\x85\x85\xe7\xa7\x0f\x1e\x0c\xd7\x5d\x79\x25\x6f\xfa\xc8\x47\x90\x8c"
++ "\x8e\x22\xe8\xeb\x03\x7d\x0f\x20\x61\xc3\x06\x64\x69\xc6\x41\x4f\xe5\x44\x36\x95\x02\x14\x01\xdf"
++ "\x07\x0b\x05\xc0\xf7\x49\xe5\xa7\x1c\xa3\x21\xd6\x92\x36\x85\xc1\x5a\x83\x49\x02\xe8\x18\x12\x16"
++ "\x00\xdd\x82\xc4\x0a\x36\x56\x50\x76\x16\xca\x9e\x21\x75\x03\x12\xc7\x90\x24\x86\xc4\xa9\xeb\x24"
++ "\x09\x73\xa3\x09\xd3\x0e\x10\xb5\x7a\x61\xe3\x04\x36\x8e\x20\x71\x0c\x9b\x24\x90\x38\x86\x49\x12"
++ "\x98\x30\x84\x2a\x16\xb9\xeb\x97\xff\x27\x9c\x32\x1b\x70\xf6\x3f\xfc\x1f\xa0\x52\x94\x28\x01\xa3"
++ "\x18\xd2\x8c\x80\x7a\x13\x32\xb7\x80\x78\x61\x01\xed\xf9\x79\xb4\xdb\xa1\xcb\x34\xc9\xb8\xc4\x3a"
++ "\x2d\xde\x34\x8e\x0d\x0a\x9b\x36\x63\xc3\xce\x9d\x58\x7b\xe5\x95\xa8\x35\x1a\xf8\xf4\x37\xbf\xf9"
++ "\x38\x06\x07\x23\xe5\x79\x6d\xcf\xf3\xf2\xc9\x29\x17\x4d\x97\xf2\x2e\x21\x8f\xca\x2b\x16\x8b\x05"
++ "\xcf\xf3\x2a\xf4\xfd\xbe\xb8\x5a\xed\x5b\x38\x78\x30\xf8\x89\x7f\xf7\xef\xb6\xd5\x36\x6f\x46\x32"
++ "\x3f\xcf\xf2\xc8\x46\xe7\xf4\x12\x0b\x3b\x7e\x8c\x08\x8a\xa0\xe7\x93\xca\x27\x3d\x0f\x54\x3e\x58"
++ "\x2c\x83\x41\x81\x50\x1e\xa8\x02\x08\x2c\x24\x09\x41\x89\x29\xb1\x27\xd0\x09\x98\x24\x44\x1c\x13"
++ "\x49\x02\x1a\x4d\xd1\x3e\x11\xfb\x14\x5d\x80\x87\x31\xd0\x36\x08\x6d\x44\x74\x0c\xe8\x04\x48\xdc"
++ "\x7b\xc5\x24\x40\x1c\xd1\x5d\x87\x8c\xa3\x01\xe8\xa4\x48\xe8\xd8\x05\xc5\x1c\x60\x80\x4d\x12\x58"
++ "\xad\x01\x63\x28\x5a\x23\x89\x22\x94\x37\x6f\x46\xbc\x34\x8f\xe7\x9f\x39\xc9\x3d\x63\x4f\x8a\xb7"
++ "\xfb\x5a\xc8\xf8\x59\x72\x66\x8e\x32\x31\x8b\x78\x6a\x9a\xcd\xe9\x29\x36\xe6\xe6\xd9\x5e\xd6\x29"
++ "\x6c\x09\xa4\x0d\x60\x49\x03\x4d\x01\x65\x60\x00\xeb\xaf\xbe\x1a\xdb\xf7\xed\xe3\x96\x5b\x6e\xe1"
++ "\x91\x7f\xf3\x6f\xe2\x5f\xf5\xbc\x87\x6a\xc0\x34\x44\x26\x49\xce\x2b\xa5\x1a\x5a\xeb\xe8\x7c\xb6"
++ "\xcb\xa5\xe8\x98\x7c\xdc\x5c\x48\x5a\xdf\xf7\x25\x08\x02\xac\x21\xfd\x7f\x58\xb3\x66\xa1\xf8\xfa"
++ "\xd7\x23\x39\x7e\x9c\xc1\xd0\x90\x30\x75\x5f\x24\x27\x5f\x04\xc5\x19\xcb\x20\x45\xa8\xa0\xa8\x88"
++ "\x62\x19\xf4\x03\x64\x0e\xfb\x0e\xb3\x5a\x03\x98\x44\xa0\x09\xc6\x6e\x35\x23\x8e\x45\x92\xc4\xb9"
++ "\x2b\x05\x80\x5a\x82\xf2\xe6\x88\x38\x8b\x14\x5b\x88\x95\x54\x10\xd8\xd4\xab\x26\xc8\xfc\x68\x91"
++ "\x19\x81\xd0\x40\x50\xcf\x9e\x25\x2e\xc0\x20\x94\xd4\x60\x12\x40\x84\x84\x11\x81\x69\x34\xb0\xe5"
++ "\xa7\x7e\x1a\x73\x53\xb3\xf2\xb7\x8f\xff\x3d\xee\x56\x7f\x0d\x6e\xbd\x12\x98\x9e\x97\x64\x6e\x96"
++ "\xad\xb9\x59\x69\xcd\xcd\xa3\x6d\x80\x36\xc0\xb6\xe3\x16\x69\x59\x60\xc9\x38\x31\x96\x04\x81\xf4"
++ "\xef\xda\xc5\xcd\xbb\x77\x63\xfd\xfe\xfd\x22\x8f\x3d\xc6\xe9\xb7\xbc\x45\xdb\xfb\xee\x53\x05\xdf"
++ "\xf7\x20\xe2\xd1\x65\x21\x32\xcd\x7f\xbb\x28\x37\xf8\x17\x11\x65\xf4\x7d\x5f\x79\x9e\xe7\x7b\x9e"
++ "\x17\xf8\xbe\x5f\x9c\x9a\x9a\xf2\xbe\xfe\xf9\xcf\xbf\xb1\x50\xaf\xa3\x1e\x86\x52\x5d\xb7\xde\xe1"
++ "\xeb\xd9\x71\x48\x73\x09\xac\xf6\xa1\x13\x40\x21\x80\x20\x70\x51\x3e\xc0\xf9\xc3\xb2\xc8\x64\x0a"
++ "\x61\x25\x89\x81\x84\x40\x1c\x03\x61\x08\xc4\x31\x94\xd6\xee\xe9\xde\x04\xc8\x26\x24\x74\x73\x4f"
++ "\x9b\xa2\x37\xc0\x21\x39\x6b\x33\xcf\x33\x04\x40\xc4\x4d\x10\x26\x80\xd2\x9d\x7b\x92\x1a\x8f\x22"
++ "\xce\x17\x99\x25\x71\x80\x84\x21\x9d\x35\x6d\x2d\x76\xff\x93\xf7\xe1\xc9\xf9\x79\xdc\xff\xe8\x73"
++ "\x78\xd7\x4c\x1b\x51\x50\x42\x7b\x6e\x1e\xad\xb9\x39\xb4\x22\x8d\x56\x86\xba\x0c\xb0\x94\x21\xb1"
++ "\x14\x5e\x15\x2f\xbb\x0c\x9b\x76\xef\xc6\x86\xcb\x2f\x47\xef\x96\x2d\x38\xfb\x47\x7f\x24\x57\x7c"
++ "\xf1\x8b\x95\x5f\x2c\x14\xf6\x7c\xfc\xe3\x1f\x7f\xb9\xa7\xa7\xa7\x64\xad\x2d\xa4\xf3\xa8\xac\xb5"
++ "\xfc\x7e\x08\xa3\x48\x52\x29\xe5\x93\x0c\x44\xa4\x1c\x04\x41\x65\xff\xfe\xfd\x23\x6f\x79\xf3\x9b"
++ "\xd7\xd7\x5f\x78\x01\x41\x6f\x2f\x40\xb7\xb4\xf5\xa9\x17\xc1\x72\x75\x39\xec\x98\xc6\x55\xe0\x17"
++ "\x52\xc3\x5d\x3a\xf4\x12\xb1\x90\xa8\x01\xe8\x08\x88\xdb\x44\x04\x91\x30\x02\xc2\x10\x0c\x23\x8a"
++ "\xd5\xa0\x77\x9a\x4c\x22\xc0\x12\x30\x36\xb5\x2b\x84\xb0\x56\x04\x0a\xe2\x05\x10\x63\x89\x76\x13"
++ "\x12\xb5\xd0\x6c\xf4\x33\x9e\x7e\x16\xba\xdd\x42\x3c\x3f\x2f\x56\x29\x5a\xc7\x2d\xb4\x22\x2e\xac"
++ "\xdc\xdb\x0b\xbf\xbf\x1f\xfe\xe0\x20\x59\x2c\x0a\xcb\x65\x58\x12\x26\x8e\x61\xb4\xe6\x95\x3f\xfb"
++ "\x5e\x79\xee\x53\x09\xbe\x78\xf4\x30\xee\x28\x68\xb6\xa3\x04\xf5\x7a\x8b\x4b\x89\xcb\xd4\x6b\xd9"
++ "\x8e\x93\x8b\x21\x1c\x2a\xe3\xe0\x20\xd6\x6e\xdf\xce\x0d\x3b\x76\x60\xf8\x0d\x6f\xc0\xd2\x1f\xfe"
++ "\x21\xf5\xaf\xfd\x1a\x0a\xd3\xd3\xb8\xeb\xae\xbb\xae\xbd\xe7\x9e\x7b\xbe\x55\xab\xd5\x7a\x48\x96"
++ "\x95\x52\x41\x9a\xde\xfb\x7d\x71\x0c\xd2\x44\xba\x40\x44\xca\x24\xab\x67\xce\x9c\x09\xfe\xf8\xa3"
++ "\x1f\xbd\x55\xd5\xeb\xd0\xcd\xa6\x54\x77\xef\x06\x00\x49\x8e\x7d\xb7\xe3\x94\x84\x95\x2c\xdb\xd2"
++ "\x25\x50\x50\xb1\xc3\x42\x99\x5c\x0d\xe7\x5d\x74\x33\x6a\x82\x51\x53\xdc\xf2\x0b\x81\x66\x1b\xa2"
++ "\x5b\xa2\xbc\x53\x44\x64\x45\x8c\xa4\x44\x11\x02\x1e\x60\x21\x88\x63\xd8\xf1\x51\x98\x53\x47\x61"
++ "\xce\x9e\x11\x99\x9f\xe2\x52\x7d\x00\x4d\xd3\x2f\xa2\x52\x3f\x3a\x09\x0d\x17\x2c\xb0\xe9\xab\x49"
++ "\xc3\xbb\x46\x04\x96\x14\x6f\x60\x00\xaa\xaf\x0f\x85\x0d\x1b\xd0\xb3\x7b\x37\x54\xad\x26\x14\xc1"
++ "\x9e\x9f\xf8\x09\x1c\xb8\xef\x6f\xf0\xc5\x53\xc7\x65\xff\xd9\x09\x2e\x1a\x48\x93\x4e\x64\x85\x8e"
++ "\x20\x68\x09\xa4\x25\x40\x52\x2a\x61\x78\xd7\x2e\x6c\xd9\xbd\x5b\xd6\x5f\x7d\x35\x8b\x53\x53\x78"
++ "\x71\xec\x94\x14\xd7\xac\x41\x59\x29\x6c\xd9\xb2\xa5\xfc\xde\xf7\xbe\xf7\x9a\xcf\x7c\xe6\x33\xa3"
++ "\xfd\xfd\xfd\x55\x6b\x6d\x89\x64\x90\x5a\xfe\x17\x44\x65\xfe\x45\x32\xfd\x7d\x63\x4c\x91\x64\x85"
++ "\x64\xef\x15\x57\x5c\xb1\xfd\x2d\x6f\x79\xcb\xb6\xc6\x89\x13\x42\xdf\x67\x50\xab\x89\xc4\x21\xf4"
++ "\xe8\x61\xa8\xde\xc1\xd4\xe8\xb3\xa9\xc8\x4a\xed\x53\x6b\x97\x21\x86\x35\x90\x78\x1e\xd2\x98\x01"
++ "\xda\x0d\x20\x6c\x40\xa2\x3a\x6c\x5d\xc0\x66\x0b\x0c\x17\xa0\xd4\x49\xc0\x08\xa8\xad\xe3\x16\x51"
++ "\xb0\x71\x0c\xfb\xf2\x21\xd8\xe3\x47\x60\x4f\xbe\x0c\xdb\x0c\x61\xe9\x01\x16\x08\x4d\x15\x2d\x55"
++ "\x86\x98\xba\xd3\x19\xd9\xc8\x99\xd6\xc6\xe5\xe7\x3a\xee\x50\x0a\x56\x29\x24\xed\x36\xcc\xd4\x14"
++ "\xcc\xf1\xe3\xd0\x8f\x3c\x02\x6f\x70\x10\xc5\x2d\x5b\x50\xb9\xfc\x72\x5c\xf1\xe3\xef\xc2\x91\x87"
++ "\x1e\xc2\x83\x3d\x35\xec\x3d\xfc\x02\x92\x18\x68\x32\xf5\xd7\x67\x10\x19\x40\xdf\xf6\xed\xd8\xb2"
++ "\x6b\x17\xd6\x5f\x71\x05\xd6\x5c\x7f\x3d\x5e\xf8\x91\x9b\x71\xf4\x3d\x6f\xc0\xee\x93\x63\x08\x4b"
++ "\x25\x14\xcb\x65\xdc\x7d\xf7\xdd\x37\x7e\xea\x53\x9f\xfa\x07\xa5\x54\x9f\x88\x94\xb5\xd6\x81\xe7"
++ "\x79\xbe\x31\xc6\x5c\x28\xe1\xfe\x82\x84\xf1\x7d\x3f\x48\x33\x33\x6b\xf3\xf3\xf3\x3d\xbf\xfe\x6b"
++ "\xbf\x76\xc3\x40\x5f\x1f\xce\x4e\x4e\xb2\xba\x6d\x9b\x00\x40\x74\xf0\x31\x17\x5b\xd1\x09\x24\x49"
++ "\xc0\x82\x38\xa8\x9c\x45\xe9\x75\x53\x28\x91\x8b\xa5\x24\x0d\x30\x5e\x84\x34\xea\x40\xbb\x01\x69"
++ "\xd7\x81\x56\x03\x58\x20\xa4\x39\x0d\x85\x97\x05\x86\xa0\x81\x88\x78\xc0\xc9\x63\xb0\x87\x9e\x83"
++ "\x3d\x79\x5c\x6c\x6c\x21\x09\x21\x96\x10\xe3\x01\x5a\x60\xb5\xa0\xae\xaa\x02\x3b\xeb\xc2\x00\x00"
++ "\x8c\xb5\x1d\xc2\xd8\x7c\x09\x02\x29\x46\xa9\x0e\x81\xac\xef\xc3\x2a\x05\xed\xfb\x10\xdf\x47\x12"
++ "\x86\x68\x4c\x4e\x62\xf2\xd9\x67\x11\x6c\xda\x24\x23\xfb\xf6\x61\xa6\xb7\x4f\x9e\xac\xf4\x60\xdd"
++ "\xcb\x87\x51\x9c\x9e\x47\x9b\x90\xb6\x38\x71\x16\x6c\xd8\x80\xad\x97\x5f\x8e\x4d\x7b\xf6\x60\xfd"
++ "\xad\xb7\x62\xf6\x83\x1f\x94\x6f\x6e\xda\x84\xea\xdc\x22\xa2\xc6\x04\x1a\xa7\x4b\xe8\xb9\x62\x2f"
++ "\x76\xee\xdc\xb9\xe6\xba\xeb\xae\xdb\x36\x36\x36\x36\x03\xa0\x87\x64\x91\x64\x2b\x5d\xf8\xe6\x7b"
++ "\xe1\x18\x4f\x44\x0a\x22\x52\xb2\xd6\x56\x01\x54\xff\xd1\x7b\xde\x73\x63\xfb\xf4\x69\x23\x5a\x7b"
++ "\x85\xe1\x61\x4a\x12\x49\x7c\xec\x79\xaa\xbe\x21\x07\x5f\xc5\x0a\x94\x47\x92\x02\x28\xc2\x8b\x5d"
++ "\xb2\x43\x22\x10\x13\x83\xba\x0d\x09\x17\xc5\x2e\x2d\x80\x61\x03\xd2\x5c\x04\x96\x2c\xed\x5c\x5b"
++ "\x7c\xf3\x22\x60\x7c\xc2\x00\xf6\xe4\x31\xe0\xc9\x87\x21\xb3\x0b\x29\x31\x3c\x48\x42\x11\x2d\x94"
++ "\x24\x15\x71\x56\xd0\x44\x0f\x2d\x1a\xb0\xd6\x8a\xb5\x96\x16\x80\x75\x1c\x23\x3a\xf5\x2d\x74\x44"
++ "\x58\xaa\xec\x3b\x43\x29\xb1\x9e\x07\xab\x14\x8c\xef\xc3\x78\x1e\x6d\x10\x88\x0d\x02\x34\x8e\x1d"
++ "\xe3\xfc\x2b\xaf\xa0\xb8\x65\x0b\xd6\x6d\xdf\x8e\xe9\x9e\x1e\x24\xb3\x33\x28\x1c\x7f\x19\xf1\x52"
++ "\x43\x12\x80\x1b\x87\x86\x64\x68\x60\x00\xe5\x62\x11\x8d\xf7\xbd\x8f\x5f\x9e\x9a\xc2\xe2\xfe\xfd"
++ "\x12\x34\x35\xc3\xb9\x43\xf0\xa4\x8a\x78\x67\x22\x85\x42\x81\x3f\xf7\x73\x3f\x77\xf3\xaf\xfc\xca"
++ "\xaf\x7c\xb7\x52\xa9\xd4\x44\xa4\x24\x22\xc1\xc5\x8c\x4c\xff\x42\xf5\x31\xe9\x17\x94\xc3\x30\xac"
++ "\xdc\x71\xc7\x1d\x57\x6d\xdd\xbe\x5d\x2d\x3c\xf6\x98\x00\x90\xe2\xc0\x00\xc3\x97\x9e\x84\x09\x5b"
++ "\xc2\x52\x0f\xa4\x50\x72\xe2\x8b\x4a\x40\x0f\xf4\xb5\x00\xca\x41\x22\xa3\x41\x13\x03\x49\x53\xd0"
++ "\x5c\x00\x96\x66\x21\xad\x3a\xd0\x98\x87\x9e\x29\x89\xaf\x4f\x02\xd6\x87\x9c\x3a\x02\xfb\xec\x77"
++ "\x84\x33\xf3\x14\xed\x0b\x22\x1f\x8e\x53\x0c\x61\x04\xa2\x45\xc4\x10\x62\x05\xd6\x02\x6d\x8a\x88"
++ "\x6d\x67\x04\x91\x8c\x30\x29\x1a\x13\x9b\x7b\xb5\x00\x8d\xd3\x3d\x10\x52\x0c\xe9\x88\xa2\x14\x8c"
++ "\xe7\xc1\x7a\x9e\x18\xdf\x87\x4d\x39\x88\x85\x82\x34\x5f\x79\x85\xfa\xcc\x19\x29\x6d\xd8\x80\x60"
++ "\xfd\x06\xd4\x7b\xfb\x18\xd5\xeb\xc0\xd9\xb3\x12\x1e\x3c\x88\xa9\x83\x07\x11\x01\x38\xb4\x6b\x97"
++ "\x1c\xdf\xbb\x97\xb5\x76\x1b\x61\x50\x92\x70\xe1\x2c\x0a\xa5\x3a\x5a\x13\x13\xa8\x8d\x8c\xc8\xde"
++ "\xbd\x7b\x77\xf4\xf5\xf5\xad\x8d\xe3\x78\x12\x40\x49\x44\xfc\xae\xc2\xa6\x4b\xe6\x18\x05\xc0\x17"
++ "\x91\xa2\x88\x54\x00\x54\xee\xbc\xf3\xce\x2b\x0b\x4a\x21\x5a\x58\x60\xa1\x56\x03\x00\xb4\xbe\xf3"
++ "\x20\xa9\x00\x89\xda\x90\x5a\xbf\x2b\xcc\x50\x0a\x2c\xc6\x40\x50\x03\xbd\x32\x44\xb7\x5c\xf4\x31"
++ "\x6e\x41\xa2\x25\x9a\x85\x19\xd8\xb9\x29\x41\x63\x89\x58\x5c\x04\xc3\x04\x76\x61\x4e\xe4\xc9\x87"
++ "\xc9\xb1\x71\x00\x05\xb2\x4d\x48\xa4\x09\x2d\x2e\x68\x6e\x04\xd6\xa4\xfe\x4b\x37\xf3\x6c\x89\x07"
++ "\xa1\x8b\xe3\x8b\xb8\x0c\x99\x34\x63\x60\xc5\x32\xcc\x67\x3a\x48\x9a\x1b\x65\x52\x22\x59\x27\xde"
++ "\x68\x49\x68\xa5\x32\xe2\xd0\xfa\x3e\x4c\x14\x51\x82\x00\xa2\x35\x1b\xc7\x8f\x43\x7a\x7b\x51\xdd"
++ "\xb4\x09\xca\xf3\xd8\xec\xe9\xc1\xd1\xcb\x2f\x97\x03\x24\x35\x89\xa2\xd6\x28\x44\x11\xb4\xe7\xd1"
++ "\x16\x14\x5a\x75\x83\xda\xe0\x24\xda\x67\xce\xa2\x77\xf3\x66\x19\x1a\x1a\x2a\x5f\x7d\xf5\xd5\x5b"
++ "\x9e\x7e\xfa\xe9\x93\x00\xca\x24\x0b\xa9\x71\xaf\xcf\x57\x82\xe8\x5f\x40\xf1\x07\xb9\x3a\x99\xe2"
++ "\x6d\xb7\xdd\x76\xad\xb4\x5a\x48\x16\x17\xa5\xba\x6d\x3b\xf5\xe4\x18\xf4\xfc\xb4\xf8\xb5\x7e\x8a"
++ "\x1f\x02\xa2\x00\x2f\x11\xaf\xdc\x22\x0a\x23\xa2\xca\xeb\xb2\xfc\x24\x48\x7b\x1e\x12\xd5\xc1\xf6"
++ "\x1c\x64\x7a\x42\xec\xc4\x04\x50\xaf\x0b\xc3\x08\xf6\xc5\xe7\x29\x07\x5f\x00\xb5\x27\x8c\x3c\x22"
++ "\xd4\x60\x2c\x10\x2d\x80\x76\x81\x4c\x71\xb3\x29\x36\x4d\x0d\x30\x02\x09\x29\x10\xd1\x4c\xf5\x88"
++ "\x83\xc5\x19\x21\x1c\xf7\x2c\xc3\xe5\x4c\xf9\xe7\x6c\x1b\xa4\x46\xa6\x35\x46\x0c\x09\x51\x8a\xd6"
++ "\x18\x58\xad\xc5\x78\x1e\xad\xef\x23\xf3\x16\xd0\xf7\xa1\x17\x16\x30\x3b\x3f\x8f\x9e\x6d\xdb\x64"
++ "\x60\xc3\x06\x7a\x73\x73\x50\xed\xb6\x68\x63\x20\x24\xad\x52\x40\x10\x88\xdf\x53\xe4\xe2\x54\x82"
++ "\xa1\x81\x17\xd1\xf6\x37\x48\xdc\x6e\xb3\x5a\xad\xe2\xce\x3b\xef\xdc\xff\xf0\xc3\x0f\x3f\x1e\x04"
++ "\x41\x45\x44\x0a\xb9\xf2\x49\xf3\x6a\x44\x59\x56\xb6\x56\xd4\x5a\x17\x37\x6e\xdc\xb8\x75\xdb\xf6"
++ "\xed\x85\xe6\x99\x33\x62\xe3\x18\xe5\x0d\x1b\xd1\x78\xf4\x4b\xce\xff\x14\xb6\xc0\x42\x19\xaa\xb4"
++ "\x00\xaf\x52\x00\xd4\x1a\xb0\xbc\x6e\xd9\x90\x84\x02\xa2\x26\xd0\x9c\x83\xd4\x27\x60\xce\x9c\x82"
++ "\x9d\x5a\x80\x4c\x4f\xc2\x3e\xf3\x38\xb8\xd0\x04\x62\x0f\x0c\xc5\x05\x36\x12\x47\x10\x66\x78\xd7"
++ "\xe5\x5d\x38\xe3\x3e\x75\x1d\xc4\x00\xb4\xd8\x8e\x33\x4f\xba\x86\x5d\xad\x5a\x37\x6f\x70\x66\xc0"
++ "\x20\xbb\x97\x12\xcd\x5a\xeb\x80\x41\x16\xaa\xd6\x1a\xe2\x79\x4e\xbc\x69\x0d\xe5\xfb\x58\x38\x76"
++ "\x0c\x98\x9a\x42\xff\x9e\x3d\xf0\xfb\xfb\x11\xc6\x31\x8c\x31\x50\x9e\x87\x40\x29\xe8\x28\x44\x98"
++ "\x04\x68\xbe\xf2\x1c\x4a\x6b\xde\x82\x68\x6a\x1a\xa5\x0d\xeb\xed\x35\xd7\x5c\xb3\x07\x40\x31\xd5"
++ "\x31\x85\x5c\xde\x32\x2f\x25\x19\x63\x35\x8e\x29\xbc\xed\x6d\x6f\xdb\xd3\xd7\xdb\x8b\xfa\xe9\xd3"
++ "\x80\xe7\xc1\x2b\x95\xa4\xf5\xe4\x37\x9d\x7b\x3e\x8e\xa5\xb0\xe6\xac\x78\xc5\x25\x11\xa3\x80\xa0"
++ "\x47\xa8\x14\x52\x63\x46\x24\x5c\x80\xb4\xe6\x20\x4b\x93\x90\x99\x53\x62\x27\xc6\x91\x3c\xf3\x24"
++ "\x92\x6f\x3d\x04\x3b\xd3\x82\x6d\x29\xb1\x0d\x0b\xdb\xb4\xb0\x6d\x81\x8d\x20\x36\x4e\x43\x30\xa6"
++ "\x13\x01\xe8\x84\x60\x24\xf5\x9b\x67\x91\xe9\x5c\xb1\x67\xee\x6d\xee\x5a\x3a\xf1\xd2\xce\x39\x72"
++ "\xf7\x96\x3d\xb5\x8e\x28\xd2\xc9\xae\x31\x06\x26\x49\xc4\x26\x09\x4c\x1c\x0b\xe2\x58\x24\x0c\x45"
++ "\x05\x1c\x0d\x80\x00\x00\x1d\xc8\x49\x44\x41\x54\xc2\x10\x9e\xd6\x48\xe6\xe7\x65\xfc\xe9\xa7\x91"
++ "\x2c\x2c\x40\x19\x03\x1a\x23\x12\x45\xd0\xed\x36\x74\x18\x49\x1c\xc5\xd2\x38\xdb\x14\x24\xa7\xd1"
++ "\x3e\x73\x56\xaa\x7d\xbd\xe8\xeb\xeb\x2b\x6f\xdc\xb8\x71\x44\x6b\x5d\xca\x55\xe6\x9d\x57\xcf\xa8"
++ "\x0b\xd4\x19\xfa\x29\x65\x0b\x57\x5f\x7d\xf5\x26\x00\x68\x4f\x4f\x43\x05\x01\xa4\xb9\xc0\xe6\x81"
++ "\xa7\x61\x13\x8b\xe2\xd0\x29\xd2\x33\xb4\xda\x29\x79\x81\xca\x0a\x55\x29\x26\xa1\xcc\x8d\x42\x16"
++ "\xcf\x42\xe6\xce\x40\x66\xcf\x30\x79\xe2\x9b\xd0\x47\x5e\x86\x8d\x3d\xd8\x16\x60\x9b\x96\xd2\x16"
++ "\x48\xe4\xe2\x59\x92\xc0\x85\x58\x9c\x4e\x71\xd1\xe7\xe5\x42\x4e\xda\x9c\x75\x66\x5d\xfe\x5f\xfe"
++ "\x9c\xd9\xbd\xf4\x1c\x92\xde\xef\x22\x0c\x57\xa9\x85\xa7\xcd\xb9\x6d\x60\x2d\xad\x31\x10\xad\x69"
++ "\x92\x84\x36\x49\x28\x51\x04\x1b\x45\x60\x92\x90\x71\x8c\xe9\x43\x87\xdc\x9c\x58\x4b\x89\x63\xd8"
++ "\x38\x86\x89\x22\x26\xed\x90\x51\x8b\xd4\xf3\x27\x10\x37\x9b\x2c\x7a\x1e\x4b\xc5\x22\xae\xbd\xf6"
++ "\xda\x8d\x69\x89\x60\xd0\x55\x68\x7c\x49\xa2\x4c\xe5\x44\x59\x01\x40\xe5\xf2\xcb\x2f\x1f\x01\x00"
++ "\xdd\x6e\xc3\xaf\xf6\xa2\xf1\xe8\xd7\x20\x08\x10\x54\xc6\x41\x68\x20\xb6\x40\x62\x20\x5a\x03\xad"
++ "\x39\x48\xcf\x3a\x88\xd5\x90\xc9\x97\x20\xf3\x63\x90\x85\x29\xd8\xb1\xc3\xc0\xa1\x07\x60\x66\x5a"
++ "\xb0\x6d\x42\xc5\x16\x12\x09\x98\xa4\xe9\x9d\x66\x59\x49\x64\x11\x2f\x59\xa5\x36\x3d\xe9\xaa\xb8"
++ "\xb5\x39\x57\xad\xed\x12\x55\xe7\x13\x75\x17\x1c\x29\x78\xb0\x59\xfe\x20\x89\x2c\x45\x4a\x94\xea"
++ "\xe4\xb3\x21\x15\x5f\x0b\xc7\x8f\xa3\xb2\x66\x0d\x7a\xd6\xae\x75\x9c\x26\x02\xa5\x34\xea\x33\x31"
++ "\xcc\xec\x71\xd8\xc1\x26\xa0\x35\xfb\xfb\xfb\xb1\x7d\xfb\xf6\x8d\xe9\x82\x0f\xba\x4a\xcf\x79\xb1"
++ "\x1a\x4c\x76\x55\x97\x15\x00\x94\x36\x6d\xde\x3c\x84\x28\x82\x89\x22\x04\x03\x45\xb4\x9f\xfb\x8e"
++ "\xd8\xa8\x49\x5f\x4d\xc3\x36\xab\xc2\x4a\x04\x86\x21\xd0\x6e\xc0\x2e\x9c\x15\x69\xd7\x81\x38\x12"
++ "\x69\xce\x42\xe6\x4f\xd3\x1e\x79\x1c\xf6\xe8\x77\xc0\xa5\xb6\xd8\x96\xc0\xb6\x5c\x9a\x22\x63\x80"
++ "\x06\xc2\xcc\x67\xd2\x49\xcd\x5f\xf9\x43\x25\x47\xab\x28\x97\x5a\x92\xd9\x29\x39\x51\x96\x27\xd8"
++ "\x0a\x91\x66\x97\x39\x68\x85\x08\x5c\x01\x06\x56\x2e\x06\x49\xd1\x9e\xbb\x6f\x8c\xf3\x50\x3b\xef"
++ "\x86\xc0\xf3\x20\x4a\xc1\xf3\x3c\xb4\x27\x27\xc5\x2c\x2d\xb1\xb6\x61\x03\x2c\x29\x82\x04\xad\xb9"
++ "\x04\x76\x71\x1a\x90\x50\x54\xd8\x46\xa9\x54\xe2\xc8\xc8\xc8\x48\xae\x96\xd3\xbb\x90\x28\xf3\xcf"
++ "\xa3\x5f\x3c\x00\xbe\x52\xaa\x60\xad\x2d\x6c\xd8\xb0\x21\x48\xa2\x48\x74\x14\x41\x37\x16\x61\x5e"
++ "\x79\x19\x9e\x9d\x86\x34\x7a\x60\x75\x1b\x2c\x35\xa0\x82\x25\x58\x35\x07\xc6\x16\xa4\xe7\x32\x5c"
++ "\x66\xc6\x20\x27\x9e\x83\x1d\x3b\x02\x99\x9a\x75\x72\x33\x11\xd8\xb6\xb3\xfa\xa8\x53\xd9\x63\x73"
++ "\xf2\xe5\x22\x7d\x3e\xf2\x4e\xa6\xbc\x75\x6f\x56\xe9\x6c\xb0\x5a\x67\x08\xbb\x4a\x9b\x8a\xf3\x71"
++ "\x55\x8a\xf0\x96\x39\xa7\xa3\xe8\x04\x5a\x00\xcf\xb3\x30\xc6\xc2\x57\x84\xae\xd7\xb1\xd4\x6c\xa2"
++ "\x67\x60\xc0\x25\x45\xce\x37\xa0\x27\xcb\x50\xc5\x19\xf8\xc6\xa2\x58\xad\x60\x78\x78\x78\x5d\x57"
++ "\x19\xfa\x25\x13\x46\xf2\xc4\xb1\xd6\x72\xd7\xae\x5d\x23\x41\x10\x20\x69\x34\x90\x34\x1b\xe8\x59"
++ "\xbf\x1e\x8d\x57\x8e\xb1\x1a\x2c\xc1\x2e\xb4\xc0\x92\x25\xbd\x05\x18\x56\x80\x98\xc2\x72\xd3\x05"
++ "\xb3\xe6\x27\x28\x53\x27\x21\x53\xa7\x21\x67\xc6\x80\xb6\x86\xf8\x8a\x30\x14\x1b\x4b\x87\x20\x94"
++ "\x34\x7f\x7c\xf9\x17\xae\x68\xf9\xd1\x55\x42\xc6\x70\x25\x67\x30\x47\x94\xbc\x2e\x3a\x07\x2e\x77"
++ "\x11\x8a\x39\x90\x70\xce\xbd\x2e\x3d\x44\x9b\x7a\xc7\x1d\x22\xb4\x28\x88\xe5\x65\x2a\x91\xb3\xc6"
++ "\xc3\x9c\x78\x50\x24\x15\x09\x1a\x83\x70\x7c\x9c\x1a\x40\xc1\x2a\x98\xf1\x96\x78\xc1\x2c\x4b\x7d"
++ "\x35\x49\xac\x60\x68\x68\x68\x20\xa7\x26\xbc\xf3\xb4\x81\x39\x2f\xc7\xe4\xb9\x86\xeb\xd6\xad\xab"
++ "\x15\x8a\x45\x48\xa3\x01\x13\x27\x30\xed\x16\xc2\xf1\x31\xe9\xdf\xa2\x98\x8c\x8e\xc1\x5f\xb7\x49"
++ "\x88\x79\xc0\x16\x81\x66\x02\x24\x89\xc0\xf9\xc0\x44\xe6\xa6\x20\x13\x63\x44\x3b\x04\x45\x41\x34"
++ "\x44\x15\x9d\x92\x57\xcb\xc2\x4a\xba\x56\xc5\x0a\x51\x66\x3b\xe9\x7e\xce\x8f\x10\xaf\xe4\x82\xbc"
++ "\xfd\x22\x5d\x5c\x23\x76\x15\x51\xd6\x75\xef\x1c\xa4\xd6\x75\xcd\xec\x7b\x35\x80\x2a\x84\xbb\xac"
++ "\xa0\xdf\x83\x8c\x1a\x60\xda\x02\x45\x1a\x97\x78\x9e\x56\x78\x2a\xc0\x99\xf5\xd6\x80\x86\x28\xd6"
++ "\x8c\x78\x9e\x86\xcf\x82\x54\x6b\x35\x2f\x57\xb2\xff\xaa\x74\xcc\x39\x3d\x52\x46\x46\x46\xfa\x33"
++ "\x76\xb6\x22\x6c\x9d\x38\x06\x1b\x03\x8c\x05\x76\x3e\x62\xd2\x7c\x05\xa6\x32\x01\xaf\xef\x2c\x4c"
++ "\x50\x76\xe5\x0e\xb1\x06\x1a\x8b\xc0\xc2\x1c\xa0\x35\x94\x28\x88\x05\xac\x02\x55\x89\x30\x2e\x8a"
++ "\xc5\x1c\x2c\xcc\x6a\x32\xc0\x2e\x8e\xc9\xfd\x5a\xa6\xed\x36\x04\x2b\x27\xb9\xc3\x39\x76\x15\x91"
++ "\xb6\x5a\xf3\x96\x1c\x62\x13\xc9\x21\x3b\x59\x49\x68\xa6\xad\x3d\xb8\x16\xc0\xfa\xd4\xd2\x4e\x00"
++ "\x2e\x19\xe0\x88\xa5\x14\x69\xa9\x40\x28\x57\x00\xea\x02\x58\x22\xf0\x45\xe0\x43\x90\x9c\x6e\xa0"
++ "\xd2\x57\x84\xf2\x2c\x8a\x81\x9f\xd6\x04\x71\x40\x44\xc6\x72\x3a\x06\xaf\x86\x63\x3a\x79\x65\xc6"
++ "\x18\x14\x0a\x05\x84\xd6\x52\x44\xa4\x39\x35\xe1\xde\xd4\x86\x73\x30\xc6\xe2\x3c\xc4\xf3\x4d\xd8"
++ "\xa0\x00\x05\xe5\x12\x2a\x8c\x06\x2d\x41\x28\xd8\x7c\xca\x4d\xc5\xfd\xd1\x59\x80\xd3\xa4\xc4\x60"
++ "\xbe\xd0\xe5\x3c\xfa\x25\x9b\xa8\xbc\x18\xea\x46\x67\xf6\x22\xa8\xad\x9b\xa0\x5d\xb6\x10\x5d\x7a"
++ "\x88\xfb\x1d\x1b\xd3\xc1\x5c\xcf\x11\x00\x38\x00\x40\x89\x50\x89\x88\x4f\xba\xa5\x4f\x82\x22\x99"
++ "\x9d\x01\x1f\x82\xa2\x16\x94\x6b\xbd\x80\xa7\x3a\x35\x3e\xeb\xd6\xad\xeb\x99\x98\x98\x50\x5d\x1c"
++ "\x73\x41\xc2\x70\xb5\x12\x40\x11\x41\xe0\x79\x68\x8b\x88\x35\x96\xe1\xd4\x24\x8a\x04\x4c\xe4\x96"
++ "\x94\xf2\x08\xab\x5c\x88\x9e\x59\xbe\x31\x09\x8a\x82\x5a\xce\xf4\x4a\xb3\x65\x04\x4a\x11\x7e\x0f"
++ "\x44\x37\x3b\x11\x9b\xac\xb4\xf2\xa2\xe1\xd6\x3c\xc7\x9c\xaf\x9d\xd1\xa5\x10\x67\x35\x51\x28\xee"
++ "\xfb\xc5\x07\xb8\x1d\xc0\xd0\xca\x67\xc2\xa6\x4b\xfc\x68\x0a\x40\x08\x88\x07\xd0\x13\x71\x7d\x4c"
++ "\x44\xa0\x52\x22\x75\x3a\xfe\x18\x8b\xbe\xe1\xad\x80\x49\xa0\x54\xc9\x49\x1d\x6b\xd5\x2a\x62\xec"
++ "\xd5\x27\x63\x64\x0d\x0d\xe8\x79\x30\x62\x45\x47\x11\x3c\xed\x42\xf6\x1e\x21\x36\x70\xcb\xdd\x2a"
++ "\x42\x51\x60\x95\x4a\xab\x58\x05\x96\x04\x29\x54\x9d\xe2\x2f\x8a\x28\x20\x18\x20\xe2\xa6\x48\x97"
++ "\xa6\xcf\x88\xb3\x2a\x5c\xe6\x72\x24\x12\xec\x02\x00\xdd\x50\x79\x35\xe2\x48\x4e\xfc\x99\x2e\x8f"
++ "\x41\x92\xe2\xd7\x5d\xae\xdc\x5b\xc4\x89\xcd\x4c\x64\x76\x74\x4f\x1b\xe0\x69\xe7\x15\xcc\x26\x4f"
++ "\x72\x9a\x9c\x9e\x8b\x22\x41\xa5\x41\xac\xd2\x50\x09\x7d\xeb\x2f\x83\xe8\x06\xfc\x4a\x3f\xac\xb1"
++ "\x14\x91\xf3\xf5\xf0\xb9\x60\xa9\x5f\xf7\xb9\x58\x6b\xd1\x6c\xb5\x50\xa8\x56\xe1\x92\xe4\x04\xda"
++ "\x80\x71\x02\x94\x5c\x8e\x38\x33\x59\x64\x15\x45\xa9\x2c\x03\xd8\x95\xe6\x41\xb9\x32\x15\x2a\x01"
++ "\x14\x68\x0d\xa5\x30\x48\xd4\x4f\x77\x32\xf6\x97\xcb\x57\x57\xd1\x31\x2b\x6a\x87\xd2\x18\x4b\x2e"
++ "\xe9\xed\x1c\xaf\x40\x0e\x08\xb0\x0b\x1c\x9c\x23\xc2\x92\x74\x02\x76\xba\x1a\xfa\x2c\x7e\x93\x89"
++ "\x5e\x9a\x9c\x0d\xe5\xc1\x95\x82\x65\x0b\xc5\x4f\x09\x94\xe2\x5e\xe6\x7a\x62\x51\x01\xa8\x02\xa8"
++ "\x56\x07\x44\xf5\x54\x88\x79\x2b\x71\x9c\x10\x00\x3c\xcf\xc3\x79\x10\xfa\x45\xe1\x72\xde\x63\x6e"
++ "\x49\x8a\xb5\x16\x85\x6a\x15\xd6\x5a\x24\xc6\x00\x1a\x08\x35\x51\x14\xf7\xeb\xe8\x2d\xcf\xa8\xb5"
++ "\x80\x52\x5c\xc6\x52\x4e\x00\xaf\x98\x6b\xaf\x87\xa0\xef\xd2\x8a\xb9\x4a\xf9\xf4\x6a\x3a\x86\xb9"
++ "\xfa\x10\x9e\x47\x67\xc8\x2a\x9c\xb2\x1a\xf7\x64\x19\x77\x9b\xd3\x12\x6f\xd3\x55\x73\xb7\xda\x8c"
++ "\xcd\xa7\xe5\xc5\xdd\xcd\xdc\xbc\x5c\xc7\x8a\xbc\x71\xd2\x0b\x60\xc3\x9d\xaf\x07\xa0\x21\x9d\x2a"
++ "\x39\xc1\xd4\xd4\x54\xe3\x52\x1a\xc9\xf9\x17\xc9\xc2\x94\x89\x89\x89\xa5\x28\x0c\x51\xab\x56\x61"
++ "\x8c\x81\x81\xcb\x78\x68\x5a\xa0\x37\xc5\xb0\x70\x88\x0b\x2a\x0b\xf3\xa7\x3f\x84\x8a\x1d\x67\x97"
++ "\x83\x01\x69\xf7\x84\x98\xa8\x6c\x22\x16\x4f\xca\x85\x05\x6d\x17\xaf\xe7\x44\xd9\x39\xc6\xa3\x5c"
++ "\x02\x2a\xcb\x92\xb1\x87\x00\x6c\xea\x22\xd2\xf9\x5c\x3a\xd9\x9f\x78\x32\xf7\x5c\xbf\xab\x83\x9c"
++ "\xdf\x45\x1c\x05\xa0\x1f\xc0\xa6\xf7\xbf\xd1\x65\xfe\x08\xa0\xad\x48\xda\x8d\x70\x7e\x95\xb5\x80"
++ "\x4b\xe5\x98\xce\xdf\x7b\xea\xd4\xa9\xb9\x76\xbb\x0d\x00\x2c\x0f\x0e\x62\xa9\x52\x45\x18\x41\x5a"
++ "\x25\x20\x56\x60\x60\x9d\x18\x4a\xe9\xe3\xfa\x1e\xd8\xac\x14\x39\x9d\x52\xe5\x12\xf4\x6c\x9a\x5a"
++ "\x6e\x04\x52\x1c\x24\x71\x52\xf2\x9e\xde\x0e\x32\xeb\x26\x88\x75\xdf\x4f\xbb\x8c\x98\xb8\x8a\xbb"
++ "\x25\x8f\xd4\xd8\x25\xce\xa0\xd3\xc9\xdb\x93\xf6\x0b\x49\x96\x3f\xd3\x81\xce\x39\xf7\xcf\x0a\xf7"
++ "\x4c\x33\x6d\xf8\x92\x2e\x20\x7a\xa9\x6e\xf1\x52\xb1\xe5\xa5\xb6\x8b\x07\x30\x48\xd1\xe6\xb6\x1b"
++ "\x37\x43\x6d\xea\xa7\x24\x46\x08\x61\x92\x18\x2c\x2e\x2e\x9a\x55\x9a\xec\xc9\xa5\xb8\xfd\xd9\xbd"
++ "\xf8\xc6\xc7\xc7\x27\x5a\xad\x16\x00\xa0\x3a\x32\x22\x96\x90\x86\x03\x5f\x9c\xb5\xce\x99\x94\x95"
++ "\x41\x8a\x5d\xf6\xf7\xd9\xcc\x0f\x6f\x97\xbd\xc4\xe2\x0a\x94\xc4\xe1\x65\x4a\x79\xd8\x4d\x74\xde"
++ "\x86\x90\x9c\x5c\x97\x65\x34\xe5\x2a\x22\x72\xca\x3b\x53\xe0\x69\x4c\x5f\xf2\xae\x99\x9c\xae\x90"
++ "\xcc\x1b\xdd\x0b\x70\x2f\xc0\x42\x6a\x0f\xe5\x60\xb2\xe4\xc2\xcf\xe7\xfc\x0e\x00\x98\xcc\x11\x5c"
++ "\xa5\xba\x25\x55\xf2\x92\x27\x92\x07\x88\xa7\x88\x2a\x80\x6d\xbf\x74\x13\x00\x4f\x68\x1d\x88\x8c"
++ "\x8d\x60\x66\x66\x66\xfe\x3c\x2d\x2a\x2f\xb9\x06\xd3\xe4\xca\xf9\xa3\xd1\xd1\x51\x0b\x00\x6b\xf7"
++ "\xed\xa3\x11\xb2\x69\x41\x6b\x2d\xea\xd6\x9d\x43\x5c\x39\x89\xcd\x88\x90\xb9\xeb\x53\x47\x6c\xa7"
++ "\x4e\x55\x48\x6b\x85\xd6\x0a\x4c\x02\xf6\x6c\x54\x04\x97\x0d\xba\xdc\x44\x67\x46\x23\xf3\xf7\xf3"
++ "\x46\x5f\x9a\x6c\xb1\xe2\xbd\xf9\x91\xdd\x8b\x00\x6e\x4e\x21\x70\x6e\x11\x30\xef\x72\xc9\x87\x06"
++ "\xec\xca\xfb\x50\x00\xc7\xd1\xa9\x46\xcc\x14\x3d\x73\xc4\xe8\x5c\xfb\x00\xc5\x0a\xf7\xbe\x71\x2b"
++ "\x4b\x37\x6f\xa5\x94\xaa\x84\x2d\x10\xf4\x99\x24\x06\x63\x63\xa3\x13\x39\x93\xe8\x55\x13\x26\xdf"
++ "\x5c\x33\x06\xd0\x3e\x7e\xfc\xf8\x59\x00\xa8\x8d\x8c\x88\x57\x2e\x0b\xca\xbe\x34\x13\x87\xa5\xcf"
++ "\xa6\xd5\x75\x10\x59\x59\xc9\x9d\x96\x5f\xca\x32\xe7\xb8\x6a\x72\x4b\x71\xc9\x14\xae\xa4\xa5\xb6"
++ "\x89\xa2\x73\x10\xd6\x2e\xaf\xfe\xfc\x47\x33\xa4\x25\x69\x1f\x47\x49\xc5\x5a\xe6\x2e\xc9\xce\x33"
++ "\x4e\x12\xe3\x50\x97\xec\x02\x64\x4d\xea\x95\xee\xb2\x5f\xa4\xeb\x5c\x64\x65\xf2\x86\x88\xab\xcb"
++ "\x93\x56\x2a\x6e\x52\x62\xe4\xb9\x44\x3c\xc7\x41\x9d\xeb\x1a\x20\xd7\xfc\x97\x77\x88\xc4\x10\x14"
++ "\x0a\x22\xb6\x26\x08\x8a\x98\x9b\x5f\xc0\xf8\xf8\xf8\xe9\x5c\xe3\x05\x73\xa1\x1a\x99\x0b\xd5\x60"
++ "\x66\x4d\x02\x5a\x07\x0e\x1c\x98\x04\x80\x9e\xb5\x6b\x51\x18\x1c\x04\xca\x3d\xac\xc7\x4e\x7c\x69"
++ "\x6b\x39\x66\x85\x69\xb3\x23\x58\x57\x84\x9c\x85\x2d\xb2\x92\xfc\x6c\xa4\x25\x97\x2e\xd3\xc5\x68"
++ "\x41\x65\x58\x31\x28\x9f\x03\x65\xb3\x57\xe6\xdd\x2d\x79\xa7\x65\x8e\x73\xd0\xcd\x35\x29\xf1\xb8"
++ "\xdb\xb9\x51\x98\xac\x74\xbb\x74\x07\xd8\x90\x17\x9f\xf9\x6b\xe5\x5a\x23\x31\xad\x69\xa6\xbf\xac"
++ "\xec\x33\x8e\x59\x71\x6d\x01\xdc\xfc\x9b\xb7\xd2\xdb\xd5\x4f\x0c\xac\x21\xc5\x07\x50\xa0\x78\x45"
++ "\x99\x9d\x9d\xc5\xe8\xe8\xe8\x99\x1c\x61\x2e\xd8\x45\x56\x9d\x47\xf9\x9b\x1c\xc7\x44\xc7\x8f\x1f"
++ "\x3f\x31\x35\x35\x05\x00\x1c\xbe\xf2\x4a\xa2\x54\xc6\x62\x92\x4d\x34\x11\x5b\xc1\x49\x2b\x88\x2d"
++ "\x49\xeb\x88\x93\x23\x06\xf2\xc4\x11\x93\xfe\x9b\x90\x62\x85\x36\x11\x0c\x6e\x57\xcb\x29\xac\xab"
++ "\x8c\x6e\xa2\xe4\x44\x56\xe7\x5a\xaf\x84\xc6\x4c\x95\x3c\xf5\x2a\xd0\xba\x2b\x3e\x43\xbb\x92\x28"
++ "\x2b\xec\x9e\x85\x5c\x5b\xaa\x55\x88\xd2\x11\x63\x00\x70\xc5\x35\xeb\xb9\xe5\x77\x6f\x87\xb4\x42"
++ "\xa0\x67\x00\x90\xaa\xeb\xea\xa4\x02\x19\x1b\x3b\x8d\x43\x87\x0e\x8d\xe6\xda\x95\x98\x0b\xb5\x3f"
++ "\x56\xe7\x81\xca\x92\x2b\x29\x4f\x9e\x7a\xea\xa9\x23\x63\x63\x63\x00\x20\x7b\xee\xba\x0b\xc6\xf3"
++ "\xd0\xd4\x40\xdb\x48\x9a\x28\x41\x18\x2b\x18\xb3\x82\x39\x9b\xe6\x7d\x49\x07\x10\xac\x08\xc6\x5b"
++ "\xc9\xdf\x23\xac\x11\xd0\x03\x06\x36\x73\x05\x74\x5d\x2d\x36\x62\x73\x5a\x73\x35\xe2\x99\x34\x1f"
++ "\x60\x47\x3a\x91\x09\x56\xef\xd4\x7d\xa1\x98\x4d\x37\x64\x6e\xaf\x12\x40\xe9\x6e\xb2\x6c\x53\x7b"
++ "\xe8\x96\x87\xde\x0f\x34\x23\xb0\x52\x04\x0a\x55\x88\xf4\x81\x41\x80\xd9\xc5\x16\x16\x16\x16\xda"
++ "\xf3\xf3\xf3\x67\x56\x11\x65\x97\x5c\xb5\x7c\x0e\xc7\xcc\xcd\xcd\xbd\xf2\xd2\x4b\x2f\xc5\x00\xd8"
++ "\xbf\x69\x93\x0c\x5d\x7b\x9d\x18\x40\x66\x63\xa7\x47\x8c\x15\x31\x42\xb1\x56\xa4\x65\x45\xe0\xf4"
++ "\x88\x58\x49\xfb\x2f\xd8\xe5\x57\xbb\x02\xb9\xb9\xcf\x19\x2d\xa8\x0c\x51\xaa\x83\x4e\x57\xe4\xe9"
++ "\xd9\xad\x37\x32\x9d\x62\x56\x19\x11\x20\x3b\xd3\xde\x2d\x7a\x19\x6d\xad\xf8\xae\xfc\x3a\xc9\xa1"
++ "\x30\x59\x25\x79\x43\x0c\x20\x21\x20\x41\xaa\x4b\xfc\x74\xe4\xe0\xb1\x58\x40\xd6\x01\x72\xe7\x43"
++ "\xef\x17\x0c\x55\x05\x9e\x88\x94\xab\x42\x6f\x58\xa8\x3c\x41\x50\xc0\xcc\x5c\x4b\x3d\xff\xfc\x77"
++ "\x5f\x4c\x17\x7a\xfb\x52\x2a\xcb\xd4\x05\x8c\xcb\x8e\x8e\x01\x10\x7f\xe5\x2b\x5f\x79\x3a\xcd\x83"
++ "\xe6\x65\xb7\xdf\x4e\x21\x38\x9f\x80\x89\x01\xb5\x75\x0d\x2b\xb4\x90\xbe\x43\x5d\x4e\xe7\x58\x61"
++ "\x2a\xd6\x68\x32\xb4\x66\xf2\x3a\x88\x29\x82\x23\x74\x2c\x1c\xdc\xa2\x58\xaa\xad\x40\x5c\xec\xd2"
++ "\x35\x2b\x50\x59\xfe\x7d\x31\xc0\x0d\x00\x7b\x97\x75\xca\x8a\xcf\x4b\xd7\x79\x1e\x85\xe5\xfe\x3d"
++ "\x2f\xda\x98\xda\x4e\x0c\x9c\x7e\xa1\x97\xbe\x66\xe2\x8c\x04\xb7\x03\x7c\xf3\x6f\xdf\xca\xd2\xee"
++ "\x35\x34\xf3\x0d\x4a\xc1\x92\xa5\x11\x0a\xfa\x09\x65\x69\xd1\x23\xa7\x4e\x9d\xc2\x23\x8f\x3c\xf2"
++ "\x44\xbe\x79\x52\x4e\xc7\xbc\xaa\x1a\xcc\x7c\x13\x86\x10\x40\xeb\x85\x17\x5e\x38\x78\xe0\xc0\x01"
++ "\x00\x90\xfd\x1f\xf8\x00\x50\xad\x4a\x68\x21\xb3\x89\x2b\xeb\x36\x16\x70\xb5\x44\xae\x84\xc5\x58"
++ "\x41\x76\x9e\x16\x01\x74\xea\x8c\x52\x71\x96\xe7\x1e\x88\x50\x92\x58\x64\xed\x76\x85\x62\xf5\xdc"
++ "\xa0\x97\x71\x2b\x37\x6f\xa7\xac\xe0\x9e\x42\xda\x2f\x32\xee\x42\x56\xf6\x5c\x24\x26\xab\x04\xd2"
++ "\x56\x38\x35\x53\x4f\x13\xa2\xf4\x7b\x73\x62\xab\x83\xc8\x7c\x00\xfb\x04\x72\xcd\x2f\x5c\x27\x95"
++ "\xfd\x1b\x11\x1f\x9b\x15\x73\xb6\x29\x76\xc1\x42\xd4\x36\x57\x0c\xec\x2b\x69\x86\x01\x0e\x1e\x3a"
++ "\xd4\x7e\xe9\xa5\x97\x5e\x4e\x6d\xd5\xee\xe2\xd8\x57\xc5\x31\x92\x13\x65\x2d\x00\xad\x17\x5f\x7c"
++ "\xf1\xb9\x27\x9e\x78\xc2\x00\xb0\x95\xfe\x7e\xd9\xf9\xae\x1f\xa7\x06\x30\x99\x00\x89\x15\x18\x2b"
++ "\xd0\xe9\xf2\x33\x99\x9e\xb1\x02\x63\x9d\xed\x22\xab\x01\x82\x95\x88\x0d\xd6\x92\x49\x0c\xac\xdb"
++ "\xa1\x58\xe9\x5b\x51\x46\x91\xf7\x0c\xaf\xd0\x33\xd6\xd9\x2a\xd8\xb6\x8a\x4e\xe9\x76\x5c\xe6\xb8"
++ "\xe6\xbc\x7e\xb6\xcc\x0b\x91\x1a\x90\xcc\xfb\xc0\x52\xcb\x1e\x0a\xc0\x56\x00\x97\xdd\xb1\x13\xe5"
++ "\xcb\x06\x90\x1c\x9b\x83\x9e\x68\x52\x8f\x2f\xc2\x36\xd7\xc0\x46\x7d\x2e\xc3\xc4\xaf\xf2\xe5\x13"
++ "\xe3\x3c\x72\xf8\xa5\xc3\x69\x3b\xdf\x46\xae\xf9\x82\xf9\x5e\xaa\x96\xf3\xe2\x2c\xcc\x88\xf3\xe0"
++ "\x83\x0f\x3e\xb9\xb0\xb0\xe0\x01\xe0\xcd\xff\xe2\x5f\x20\x74\x81\x4c\xcc\x6b\x07\x81\xad\x15\xc6"
++ "\x6e\xc9\x31\xbd\x86\x58\x9b\x33\x30\x97\xb3\x7f\xec\xb2\x21\xda\x81\xd2\x99\x70\xd7\xb1\x60\xf8"
++ "\x32\x85\xbe\xa1\xe5\xc9\x36\xe9\xa4\x74\xa3\xb2\xc4\x79\x72\x59\x5a\x05\xc1\xe5\x3d\x08\xab\x6c"
++ "\xdb\xb1\x6a\xde\x59\x46\x94\x20\xfd\x6e\xbf\x6b\xa4\x2e\x19\x6c\xdb\xb7\x01\x41\xb5\xc4\xe4\xd4"
++ "\x02\xcd\x54\x13\x76\xaa\x09\x99\x69\x51\x82\xd7\xc3\xb6\x5a\x90\x58\x43\x27\x25\x9c\x3a\x79\x1a"
++ "\x5f\xfa\xd2\x97\xbe\xe1\x79\x9e\xee\xea\x21\x63\xbf\x57\xc2\x98\x1c\x32\x6b\x90\x6c\x3d\xf8\xe0"
++ "\x83\xdf\xfa\xc6\x37\xbe\x01\x00\xb2\x79\xff\x7e\x5c\x76\xe3\x8d\x12\x0b\xe4\x4c\x02\xd1\x26\x03"
++ "\x00\xf9\x76\x61\x14\x27\xe2\x6c\x3a\xf9\x22\x69\xc2\x23\xba\xda\x8a\xb9\x6b\xd7\xba\x45\x52\x9d"
++ "\x23\x83\x23\x4a\x36\x5c\xa6\x3a\x22\x2b\x48\x0d\x4c\x93\x33\x28\x13\xd7\x24\x5a\xba\x0c\xd2\x73"
++ "\x14\xbf\x9c\x9b\x0f\x70\x8e\x81\xc9\x95\x7e\x2f\x49\x09\xd4\x51\xfa\x00\x50\x2b\x79\x72\xcd\x8d"
++ "\x1b\x85\xbd\x01\x64\xa2\x2e\x72\xb6\x21\x76\xa2\x29\x72\x7a\x1e\xba\x70\xa5\x48\x52\x14\x09\xb5"
++ "\x30\x82\x4c\x4e\x1b\x3c\xfe\xf8\xe3\x33\x33\x33\x33\xc7\x44\x64\x31\xd7\x0e\x2b\xb9\x58\xd5\xf2"
++ "\x85\x08\x93\x87\xcc\x4d\x11\x59\x5a\x5a\x5a\x7a\xf9\x81\x07\x1e\x38\xd2\x6a\xb5\x08\x40\xde\xfd"
++ "\xd1\x8f\xa2\x0d\x30\x51\x8a\xe3\x1a\x84\x05\xda\x56\xba\x0c\x4c\xba\x78\xbf\xb5\xb0\x86\xa9\x81"
++ "\x29\x2b\x8d\xce\x74\xe6\xf2\xd7\x56\x48\x9d\x08\x4b\x35\x70\xdb\x3e\x85\x72\xcd\xf5\x6a\x29\x60"
++ "\xc5\x9e\x28\xf4\x52\x4f\x6e\x92\x03\x08\xdd\x2e\x9e\x2e\x23\x15\xb6\x2b\x33\x33\x8b\xbf\xf8\x5d"
++ "\x62\x2b\x67\xb7\x50\x01\xdc\xb1\xb5\x07\xd7\xbe\x71\x1d\xca\x05\xb2\x05\x83\x3a\x2d\xc2\xd9\x10"
++ "\xcd\xf1\x25\xce\x4f\x85\xf0\x2e\xbb\x09\x76\xa9\x4e\xb4\x62\x26\xb6\x0f\x2f\xbc\x70\x04\xdf\xfc"
++ "\xe6\x37\xfe\x0e\xc0\xbc\xb5\xb6\x9e\x6b\x20\x67\xf1\x7d\x36\x60\xc8\x37\xfb\x59\x52\x4a\x45\x9f"
++ "\xfb\xdc\xe7\xee\xff\xf6\xb7\xbf\x0d\x00\xdc\xbc\x7f\x3f\xf7\xbd\xfd\x4e\x68\x63\x31\xa1\x81\xa6"
++ "\x15\x86\x48\x7b\xf5\xd8\x4e\x4d\x2b\x4c\x3a\xe9\x8e\x73\x98\x4e\xbc\x43\x6a\x76\xf9\x7d\x19\x41"
++ "\x73\x7a\x88\x69\x7f\x50\xc1\xc6\x1d\x8a\x9b\x77\x10\xd5\x00\x68\xa5\x93\x9d\xa4\x4d\xa2\x4d\x2e"
++ "\x3c\x2c\x2b\x8d\x51\xca\xf9\x43\x01\x1d\x02\xe6\x7c\x5f\x2b\x0c\xc8\x52\xfa\x7d\x6b\x07\x7d\xdc"
++ "\x74\xcb\x10\xb6\xed\xaa\x42\x59\x43\x0f\x16\x3e\x05\x21\x2d\x97\x3c\xcb\xc5\x89\x05\x14\xf7\xdc"
++ "\x06\xc6\xa0\xb4\x35\x18\x59\x4c\x2c\x2a\x3e\xf1\xc4\xe3\xad\xa7\x9e\x7a\xea\xe1\xb4\x82\x6c\xa9"
++ "\xab\x49\xe9\xf7\xc4\x31\xdd\xbd\xcb\x42\x00\x0d\x11\x59\x68\xb7\xdb\x87\x3f\xff\xf9\xcf\xbf\xdc"
++ "\x6c\x36\x01\x40\x7e\xea\x9e\x7b\x24\x01\x04\x8a\xf2\x4a\xec\xfc\x53\x5a\x56\xda\x2c\x62\xe9\x0c"
++ "\x4b\x81\xb8\xea\x2f\xa6\x22\xab\x63\xe3\x38\x51\x96\x75\xc8\x5a\xf6\x54\xa7\x76\x12\x91\xc4\x22"
++ "\x41\x85\x72\xe3\x95\x1e\x5e\xb7\x8d\x42\xcf\xd9\x18\x3d\xe7\x22\xae\xbc\x3d\xdb\x9d\x68\x9e\xf7"
++ "\x20\x0b\x72\xfe\xae\x2c\x4c\xac\x72\xf6\xcc\x50\xbf\xc2\x2d\x6f\xa8\xca\xfe\xd7\xf7\x4a\xd1\x87"
++ "\xc0\x18\x78\xb4\xe2\x2b\x2b\x3e\x05\x3e\x45\x02\x13\x4b\x79\xfd\x3a\xa9\x5e\x77\x33\xcc\x62\x43"
++ "\xa4\x15\x49\x5c\x1a\x92\x43\x87\x5f\xc1\x37\x1f\x7a\xe8\x41\x00\x0b\x22\xb2\x94\x72\x4b\x78\x29"
++ "\x44\xb9\x94\xce\x18\xc4\xb9\xad\xe5\x8b\x87\x0f\x1f\x9e\xdf\xb3\x67\xcf\xcd\xfb\xf6\xed\x43\xa9"
++ "\x7f\x00\x7a\xf4\x24\x8e\x3d\xf7\x5d\x18\xb8\xc2\xd1\x6d\x3e\xb3\xf6\xbb\x9d\x9c\xb0\xf3\x86\xb9"
++ "\xb9\xdc\x86\x3c\xeb\x02\x90\x06\xa5\x57\xa4\x2e\x65\x6d\x7c\xb5\x00\x2c\x2b\xec\xdc\x48\xac\xe9"
++ "\x25\x06\xad\xb0\x15\x9e\x13\xdf\x5f\xcd\x73\xb0\x42\x7c\x31\x67\xc1\xe7\xf7\xae\x2a\x2a\x60\xc3"
++ "\x0e\x9f\x5b\xae\x2a\x62\xed\xee\x32\xc5\x77\xc1\x3e\x8f\x80\x02\xe9\xa5\xfd\x6b\x15\x01\x4f\x11"
++ "\x0c\xdb\x58\xf3\x81\x5f\x85\x5f\xee\x71\xcd\x70\xa9\x78\xb6\xb6\x9e\x5f\xba\xff\xfe\xd6\x67\x3f"
++ "\xfb\xd9\x7b\x9c\xbb\x0d\x53\x70\x7b\xc6\x5c\xb4\xeb\xd2\xab\x69\x59\x22\x5d\x49\x80\x81\x31\x26"
++ "\x6e\x34\x1a\x1b\xde\xf4\xa6\x37\x6d\xea\xef\xef\xc3\xe5\x77\xfd\x38\x9f\xf8\x9d\xdf\xa1\x81\x6b"
++ "\xdf\xe1\x13\x58\xef\x91\xc6\xb5\x86\xcd\x29\x2d\xd7\x6c\x39\x5f\x3e\xe4\xee\x49\x27\x75\xa0\x93"
++ "\x29\xcb\xce\x39\xf3\x9f\x17\x08\xea\x70\x62\xae\x54\x20\xb7\x0f\x2b\x0c\x8f\x10\x95\x1e\xb2\x50"
++ "\x74\xe2\x31\x4e\x9c\x3e\xca\x85\x11\x98\x8b\xed\x80\xa9\x83\x12\x00\x2a\x1e\x30\x30\x04\x6c\xd8"
++ "\x42\x6e\xdd\xeb\x61\xdb\xfe\x02\x6a\x6b\x3c\x7a\x01\x49\xd7\x23\xa6\xe3\xda\x27\xb3\x48\x39\xe9"
++ "\xc1\x11\xa5\xef\xf6\x77\xa3\x72\xf5\x8d\xa4\xd5\xf0\xad\x45\x7d\x64\xbb\x3c\xf2\xfc\x21\xfe\xd1"
++ "\x47\x3e\xf2\x89\x85\x85\x85\x23\x70\xad\xb0\x66\x73\x0d\xe4\x7e\x20\x1c\xd3\x1d\x8e\xcf\x22\xaa"
++ "\xc5\xe3\xc7\x8f\x8f\xd7\x6a\xb5\xb7\xde\x76\xdb\x6d\x0a\x24\xd6\x6f\xde\x88\x67\xef\xff\x32\x8a"
++ "\x04\x27\x0d\xb0\xde\x03\x4b\x2a\xab\xe2\xe2\x4a\x2a\xd3\x35\xff\x91\xe5\x4e\xe3\x69\x2f\x5f\xae"
++ "\x48\xc0\x40\x57\x7b\x7f\x10\x54\x24\x16\xd3\x4f\xfa\x20\xcb\xe2\x02\xa6\xa5\x32\x59\x1b\x20\x86"
++ "\x37\x28\x6c\xdc\xaa\xb0\x6e\x03\xd9\xdb\x0f\x0c\x0c\x93\x95\x0a\xd0\x3f\x48\x0c\x0e\x12\x43\x43"
++ "\xc4\xc8\x66\x85\x2d\x3b\x14\x76\xee\x55\xd8\xb2\xd7\xc3\xda\x2d\x0a\xfd\x6b\x15\x0b\x15\xba\x4a"
++ "\xb6\xf4\x87\x28\x00\x11\x09\x45\xc7\x21\x6e\x65\x12\x0a\xa0\xb2\x06\xa5\xad\xbb\xd0\xf7\xae\x0f"
++ "\x00\x71\x48\x82\xd0\xd5\x1a\x0f\x4b\x89\x9f\xfb\x8b\xcf\x1c\x7e\xf8\x91\x47\x3e\x9f\x72\xcb\xf4"
++ "\xab\xe5\x96\x4b\x25\xcc\xf9\xc4\x9a\x1a\x1f\x1f\x6f\x0e\x0f\x0f\x5f\xbb\x6f\xdf\x3e\x3b\x7c\xdd"
++ "\x7e\x2c\x7c\xed\x6f\x31\x79\xfa\x2c\x03\x00\xa7\x0c\xb8\xc5\x07\xbc\x5c\x8f\x49\x39\x67\xd2\x9d"
++ "\xe0\x5a\xce\x97\x91\xac\xc9\xfb\x8a\xa7\xe6\x45\x9a\x72\xd8\x1d\x1a\x82\x02\xdc\x0e\x13\xce\x39"
++ "\x4a\x66\x4e\x52\x2b\x02\x2a\xb2\xd4\xe3\x38\x69\x60\x48\x61\x60\x80\x18\x18\x24\xfa\x07\x89\x4a"
++ "\x95\x28\x16\xd3\xcd\x01\x8c\x00\x96\x10\xeb\x1a\x9e\x29\x25\x9d\x2d\x1f\x48\x37\x93\x9d\xf8\x7e"
++ "\x87\x38\xa0\x57\x2c\x63\xf0\x17\xfe\x77\x48\x12\x83\x4a\xd1\x53\x0a\x67\x46\x76\xc9\x17\xbe\x74"
++ "\x7f\x72\xcf\x47\x3f\xfa\x07\x4a\xa9\x49\x11\xc9\xb6\x21\xc9\x6f\xde\x23\x3f\x48\xc2\x70\x95\x8a"
++ "\x80\xc2\xdc\xdc\xdc\x5c\x14\x45\xbb\xaf\xb9\xe6\x9a\xe1\xb5\x6b\xd7\x62\xfb\xdb\xdf\x81\x83\x7f"
++ "\xf0\x5f\x19\xa7\x3f\xfe\xac\x01\xb6\x78\x2e\x4b\x51\xba\x38\x27\x97\x36\x9e\x9b\xfa\x6c\x5f\x18"
++ "\x9e\xf3\xeb\x25\xf7\x89\x18\x40\x9b\x44\x01\xe2\x08\x93\x6d\x61\xc2\xe5\x2f\x96\xec\x4b\xac\x70"
++ "\x59\x01\xb1\xd3\x20\x88\x69\xa7\x45\xa6\x49\x7a\x48\xdb\xff\xd0\x25\x26\xba\x4d\x34\xe0\x5a\xa9"
++ "\x65\xe7\x59\x42\x09\xa2\x90\x03\x1f\xfc\x2d\xb0\x50\x04\x49\x04\xd6\x72\x69\xe3\x76\xf9\xe6\x0b"
++ "\x47\xf8\x27\xff\xed\x8f\x3f\x3d\x3f\x3f\x7f\x20\x25\xca\x0c\x5c\xeb\xca\xf6\xc5\x7c\x63\xdf\x0f"
++ "\xc7\x74\x27\xe2\x29\xa5\x54\xe9\xc8\x91\x23\x47\x9b\xad\xd6\x9b\xde\x7c\xcb\x2d\x85\xde\xe1\x61"
++ "\x8c\xec\xbb\x82\x2f\xdf\xf7\x7f\x53\x94\x9b\xef\x71\x03\x8c\x78\x9d\xad\x10\x21\xc2\xbc\x13\x31"
++ "\x23\x04\x5d\xf3\xf1\x0e\xe7\xac\x14\x7f\x5c\x66\xa3\x4c\xef\x2c\x02\xac\xd2\xd5\xcc\xa1\xa3\xcb"
++ "\x96\x37\x69\xc8\x32\xaa\x98\xe6\x82\xac\xd8\x9c\x92\x1d\x3d\x43\xe5\x3e\x40\x45\xc7\x29\x0a\xd9"
++ "\xce\x26\x4e\xc9\xeb\xf4\xfd\x0a\x84\x27\x16\x8c\x43\xf6\xff\xdc\x6f\xc2\xeb\x1f\x26\x45\xe8\x8b"
++ "\x65\x3c\xb4\x5e\x1e\x5b\x30\xfc\xb3\x7b\x3e\xfa\xc4\xb3\xcf\x3e\xfb\x37\x24\x67\xd2\x54\x81\xac"
++ "\x07\x66\x72\x31\xbb\xe5\xfb\x21\xcc\x39\x89\x81\x6e\x63\x04\xf8\xcf\x7f\xf7\xbb\x2f\x86\x51\x74"
++ "\xeb\xdb\xde\xfa\x56\x0e\xec\xbb\x46\xfc\x85\x69\x4c\x3e\xfe\x54\x27\xad\x74\x5c\x03\x6b\x7d\x20"
++ "\x48\xbb\x1d\x49\x67\x37\x8b\x9c\xb8\xca\x7a\x03\x65\x34\x20\x32\xbd\xb3\xaa\x58\x5b\x04\x50\x04"
++ "\x51\x4e\x19\x8e\x10\x28\xb8\x2c\x50\xb5\x62\x95\x23\xb7\xda\xb9\x7c\x9f\x2e\x73\x94\x1d\x9b\x21"
++ "\xbb\x76\x5c\x91\x72\x4e\x27\x5d\xca\x23\xc1\x24\x44\xef\xfb\x7e\x13\xfe\x9a\x11\xd0\x5a\xf7\x9c"
++ "\x4a\x0f\x9e\x2b\xac\xe3\x9f\xdf\x7b\xef\xd4\xfd\xf7\xdf\xff\x87\x39\x14\x36\x97\x72\x4b\xf4\x6a"
++ "\xb9\xe5\x7b\x21\xcc\xf9\xb6\xa3\x0d\x4f\x9e\x3c\x39\xb3\xd4\x68\x5c\x7f\xcb\x1b\xdf\xc8\x2d\xef"
++ "\xb8\x8b\xd1\x81\xa7\xb9\x74\xf8\x58\xc7\x6d\x3e\xa1\xc1\xaa\x02\xab\x2a\x4d\xde\x5c\x2e\xe7\xcb"
++ "\x29\xfc\x2c\xd7\x5c\xb2\x5d\x61\x98\x02\x6a\x76\xf8\x21\x4d\x2c\x6c\xa6\xc6\x60\x2d\x15\x59\x0a"
++ "\xe9\xc6\x4c\x50\xcc\x90\x53\xfa\xe1\x4e\x8a\x9b\x4a\xdb\xa5\xaa\x54\x66\x32\x97\xa9\xcf\xf4\x5e"
++ "\xc6\x39\xe9\x35\xb5\x4b\xf1\x25\x74\xcc\xea\x4f\xff\x06\xbd\x35\x23\x80\x35\xee\xdb\x3d\x9f\x07"
++ "\xfa\x77\xf1\xd3\x7f\xf1\xd9\xe8\x93\xf7\xde\xfb\xdb\x29\x02\xcb\x50\xd8\xd2\xf7\x22\xc2\xbe\x1f"
++ "\x8e\x41\x57\x71\x16\x48\xfa\x8d\x46\x63\x66\x74\x74\x34\xd1\xd6\x5e\x75\xd3\xeb\x5f\x2f\x9b\xee"
++ "\xfe\x49\xd6\x1f\x79\x48\xda\xa7\x4e\xd3\x12\x28\x12\x98\x4d\xfd\x62\x83\x1e\xb3\x1d\x62\x72\xab"
++ "\xd9\xcd\x84\x02\x45\xa5\x69\x42\xe9\x36\x58\x70\x9d\x34\x73\x6d\x6d\xe9\x08\xe3\x01\xa8\xa1\xb3"
++ "\x5d\x56\xaa\xa4\x05\x84\x4a\x5f\xd1\xb9\x4f\x57\xae\x9b\x72\x0d\x44\x75\xf6\x05\xca\x38\x49\x96"
++ "\xaf\xd3\x3d\x53\x14\x48\x6d\xad\xa8\x42\x11\xd5\xf7\xfe\x16\x54\xdf\x10\x95\x75\xb5\x0a\x9e\xa7"
++ "\xf8\xdd\xbe\x5d\xf2\xd9\xfb\xbe\x60\xff\xf4\x9e\x7b\x3e\x2c\x22\x27\x52\xa2\x4c\xa7\x44\xb9\xa4"
++ "\xde\x97\x3f\x0c\xc2\x74\x73\x50\x61\x61\x61\x61\x72\x6a\x72\xb2\xd4\x88\xa2\x9d\x37\x5e\x77\x9d"
++ "\xec\x78\xef\xcf\x62\xee\x5b\x7f\xc7\xf0\xf4\x59\x20\xd5\x07\x2d\x01\xea\x06\xec\xf7\x80\x02\x3b"
++ "\xdb\x94\x30\x9d\x28\xa6\x7b\x2e\x31\x13\x29\x2a\x83\xa7\xcb\xe8\x88\x1e\x80\x36\xdd\x52\x1c\x5c"
++ "\xee\x51\x9b\x23\x42\x4a\x9c\x14\x4b\xa8\x1c\xfb\xa9\x74\xdf\x9a\x74\x31\x74\xd0\x17\x3b\xbf\x23"
++ "\x23\x22\xc1\x96\xa6\x5d\xb7\x11\x95\xf7\xfc\x6f\x50\x85\x22\xd2\x6d\x0a\x10\x78\x1e\x9e\xed\xdd"
++ "\xc3\xcf\xfc\xf5\xff\xb0\x9f\xf8\xd8\xc7\xfe\xaf\x24\x49\x8e\xe5\x88\xb2\x98\x12\xe5\xa2\x99\x30"
++ "\x3f\x6c\xc2\xe4\xbd\x1d\xde\xe4\xd4\xd4\xc9\xf1\xf1\xf1\xc2\xa9\xf1\xf1\x5d\xb7\xdc\x74\x13\x77"
++ "\xbf\xff\xe7\x65\xe1\xf1\x7f\x60\x74\x72\x0c\x4a\x39\x47\xa1\x00\x98\x35\xe9\x8a\x57\x8e\x4b\x1c"
++ "\x12\x10\x2a\xb8\xb2\xb9\x54\xdc\x50\xa5\x44\x73\x76\x84\x64\x1c\x05\xed\x88\xc3\x81\x1c\xc1\xd2"
++ "\xcf\x66\x44\x4d\x6d\x91\x74\xdf\x87\x0e\x67\x64\xa0\x80\x2b\x76\xaa\x4e\xdf\x23\xa4\x40\x59\x21"
++ "\xda\x86\xfe\x6d\x97\x23\x78\xf3\xff\x9a\xf6\x6b\x72\x7d\xd6\x59\x28\xe2\xc9\xca\x6e\xfe\xf9\x5f"
++ "\x7d\xc1\xfc\xe9\x9f\xdc\xf3\xef\xb5\xd6\xc7\xe0\x76\x4e\x9a\x4a\x53\x9c\x2f\xba\xa1\xc2\x0f\x9b"
++ "\x30\xd2\x95\x55\x93\xbd\x72\x7a\x7a\xfa\xc4\x2b\xc7\x8f\x2f\x1c\x3d\x71\xe2\xda\x1b\x6f\xb8\x91"
++ "\x57\x7f\xe8\x97\x45\x4f\x9f\x61\xeb\xe0\xf3\xe2\x0b\xe0\x89\xf3\xe0\xb6\xad\x6b\x63\x58\x80\xdb"
++ "\x0b\x57\xa5\x9b\x2d\x29\x08\x15\x9d\x3c\x51\xe9\x24\x3b\xe2\x30\x55\xf2\xec\x38\xf0\x7a\xd2\x38"
++ "\x4d\x7e\x92\x97\x95\xff\x39\xe2\x29\x03\x00\xc2\x15\x9f\x91\x0e\xc7\x31\xb4\x50\x43\x25\x16\x7e"
++ "\x7e\x9f\xf0\xaa\xd7\x53\x16\x06\x85\x4a\xe0\x13\x8c\x4b\x35\x79\xc8\x6e\xe2\xc7\x3f\xfd\x97\xcd"
++ "\x4f\x7d\xf2\xde\xff\x00\xe0\x70\xca\x29\x19\x51\x2e\xa9\x3d\xfc\xff\xdb\xa2\x2c\xd7\xb3\x8d\x6c"
++ "\x34\x1a\x67\x8e\x1c\x39\x72\xf2\xe0\xe1\xc3\x6f\xd8\xb2\x65\x8b\xba\xf1\x43\xbf\x2c\xc1\xc0\x00"
++ "\x16\x9f\x7e\x1c\x25\x49\x50\xd4\xae\x22\x56\x31\x6d\x69\xe8\x08\xc4\x62\xea\x93\x02\x00\x2f\xd5"
++ "\xdc\x4a\xc0\x0c\x29\x79\x74\x13\xee\x22\x78\x44\x11\x60\x85\xab\xec\xdf\xbe\x2c\x9e\x32\xd4\xc5"
++ "\xe5\x7b\xd9\xfb\x52\x1d\xa7\x08\xc6\xc6\xa5\x29\xfd\xe8\x36\x14\xde\x7f\x0d\x39\xe0\xc3\x9e\xbd"
++ "\x9c\xb0\x45\x14\x60\x39\x59\x5e\x6b\xbf\x38\x5d\x50\x9f\xfc\xe4\x27\xc7\xbe\xf4\xc5\xff\xf1\x1f"
++ "\xe1\x76\xe5\x9b\x4c\x51\xd8\xfc\x2a\x08\xec\xfb\xda\x96\xfe\xfb\x25\xcc\x39\xd5\x01\xb9\x00\x1b"
++ "\xb4\xd6\xf5\x63\x47\x8f\x3e\x7d\xec\xf8\xf1\x6b\x17\x97\x96\x7a\x6e\x7f\xff\xcf\x63\xf3\x5b\x6e"
++ "\xc5\xf4\xb3\xcf\xc0\xb6\x16\x31\x68\x0d\xbc\xc4\xcd\x94\x02\x10\x5a\xb0\x6d\x1d\x55\x5c\x62\x29"
++ "\x1d\x92\x4a\xbd\x9a\x5e\x2a\x9e\x3c\x32\x8d\xcf\x3a\x79\xd4\x9b\xb9\x6b\xb2\x22\x83\x9c\x0d\xc3"
++ "\x65\x24\x96\x72\x85\x74\x44\x99\x12\xf7\x50\x08\xe0\x5f\xb7\x96\x85\x5f\xd8\x07\xff\xca\x35\x40"
++ "\xa8\x29\xba\x87\x6a\x66\x37\x7c\x5f\xf0\x6c\xcf\x76\x7e\xfe\xc0\x69\xfe\xc5\x27\x3e\xf6\xd8\xa3"
++ "\x8f\x3d\xf6\xdf\x49\x4e\xa6\x44\x99\xce\xd9\x2a\x3f\x30\xa2\xfc\xa0\x08\xb3\xa2\x9e\x26\x17\x8e"
++ "\x4f\x00\x68\x92\x7a\x74\x74\xf4\x3b\x27\x47\x47\x2b\x8f\x3d\xf3\xcc\xf6\xdd\x37\xbc\x81\x3f\xf2"
++ "\x4b\xff\x33\x4c\xa3\x8e\xd9\xb3\x67\x51\xa9\x14\xd0\x1f\x87\x50\x09\xb2\xfd\x45\x45\x0b\xd8\x76"
++ "\xfb\x29\xb8\x92\x04\x05\x7a\x74\xa2\x4c\xd1\x95\xd6\x2d\xa5\x4a\xdc\x42\x58\x01\x11\xac\x40\x60"
++ "\x5d\x7b\xbc\xa7\x95\x6d\x99\x58\x43\x22\x82\xb6\xeb\x46\x1b\xbc\x61\x1d\x0a\xff\x64\x37\x82\x1b"
++ "\xd7\xc1\xf5\xf8\x02\xbc\x40\x18\x8c\x5d\x27\xf3\xc5\x61\xdc\x9f\xac\xe5\xa7\xbe\xf8\xd5\xe4\xd3"
++ "\x9f\xf8\xd8\xc7\x47\x4f\x9f\xfe\x2a\xc9\x69\x11\x19\x5f\x85\x28\xc9\x0f\x8a\x28\xb8\x84\xb2\x94"
++ "\x57\xfb\x5d\x9d\xae\x4d\x48\xf7\x23\x76\xc0\x09\xc3\x00\xfa\x4b\xc5\xe2\x15\xbb\xf7\xec\xf9\xe0"
++ "\xbb\xde\xf9\xce\xe1\x7f\xf6\x81\x0f\xa0\x76\xe2\xb8\x1c\xfb\xe3\xff\xca\xa5\x93\x27\xa4\x47\xc7"
++ "\x28\xcc\xcf\x31\x99\xa9\x4b\xe8\x2a\xb1\x25\x5b\xfe\x24\xe8\x2b\x48\xc1\x23\x02\x0f\x80\x2f\x98"
++ "\x55\x84\xe7\x01\x54\x64\x41\x41\xd6\xab\xb4\x56\x30\x85\x70\x4a\x75\x2a\x3f\xb3\x6d\x51\x98\x45"
++ "\xc6\xbc\x6d\x15\x09\x6e\x18\x44\xf0\xc6\xb5\x50\x55\xdf\xf5\xde\x54\x84\xe7\x29\x04\x81\xc1\xd2"
++ "\x99\x9b\xf1\xac\xec\xe3\xfd\x2f\x1c\xc1\x43\x0f\x7c\xe5\xbb\x2f\xbc\xf0\xc2\xa7\x73\x46\x63\x5e"
++ "\x74\x5d\x72\x0c\xff\xff\x4b\xc2\xe4\xfd\x68\x59\x1f\x9a\x72\x5a\xf5\xd6\x9f\x12\xa8\x1f\x40\xff"
++ "\xf0\xf0\xf0\xdb\xb7\xef\xdc\xf9\xae\x77\xbf\xf3\x9d\xfe\xfb\xee\xba\x4b\x6a\xcf\x3d\x83\x13\x9f"
++ "\xbe\x17\xd1\xec\x2c\x8a\x03\x25\x14\x1b\x73\x90\x89\x05\xe8\xc5\x26\x4c\x3d\x71\x35\x18\x69\xe0"
++ "\xc4\x78\x6e\xb7\x21\x2f\xf3\xf8\xa6\x90\xac\xaa\x1c\x80\xa0\x5a\x99\x38\xa6\x34\xa0\xd6\x7a\x08"
++ "\x36\x97\xe1\x5f\x55\x85\xff\xba\x01\x78\x83\x45\x30\x50\xa0\x55\x69\x76\x85\x87\xa2\x67\xd0\x44"
++ "\x0d\xcf\x4e\xdc\xc9\xaf\x1c\x4b\xf0\xf0\xdf\x7f\x7d\xe2\x99\x27\x9f\xfc\xab\x28\x8a\xbe\x9b\x42"
++ "\xe0\xb9\x94\x20\x8b\xb9\x34\xa4\x24\x27\x25\x7e\xe0\x13\xf9\xc3\xf8\xce\x8c\x7b\x0a\x58\x6e\x46"
++ "\x57\xc3\xf2\x76\xf4\x35\x00\xeb\x87\xd6\xac\xf9\xd1\x2d\x5b\xb7\xde\xf2\xf6\x77\xbc\xa3\xfc\xbe"
++ "\xdb\x6f\xb3\x1b\x4e\xbe\xc2\xe9\x2f\xff\x2d\x17\x4f\x9e\x14\xaf\xa7\x44\xbf\x50\x00\xac\x85\x6d"
++ "\xb5\xa0\x17\x17\x44\x1a\x75\x9a\x30\x12\x65\xb4\x53\x26\x3a\x26\x1c\x18\x10\x55\x0c\xd8\xe3\x2b"
++ "\x94\xfb\xda\x50\xd5\xa2\x78\xeb\x03\xfa\xdb\x2b\xe2\x6f\x2e\xd1\x5b\x53\x00\x7b\x02\x67\x24\xd9"
++ "\x0c\x1b\x2b\x51\xca\xa3\x82\x81\xa9\x54\xed\x77\x17\x76\xa9\x2f\x3c\x35\x82\x6f\x3f\xf2\xe8\xcc"
++ "\x81\xff\xa7\xbd\x73\x6b\x89\x1b\x88\xe2\xf8\xff\x9c\xc9\xe6\xb2\xd1\x55\x77\xb1\xba\x2d\xf4\x45"
++ "\x85\x82\x14\x61\x6d\xa1\x2f\xd2\xd7\xd2\x0f\x2b\xf4\x0b\x94\x16\x0a\x42\x05\xb5\x96\x2a\xd6\x5e"
++ "\x68\xeb\x85\x22\xab\xdd\x8b\x7b\xc9\x26\x99\x3e\xec\x0c\x8e\x31\xda\xbe\xe8\xae\x6d\xfe\x70\x08"
++ "\x79\x0b\xe7\xc7\x99\x99\x0c\xe7\xb2\xb6\xb2\xdc\x6e\x77\xde\x2a\x08\x1a\x4a\xdd\x00\xd2\x4d\xa4"
++ "\x20\xc9\xdb\x00\x06\x29\xa5\x8a\x3a\x7a\xf2\x0a\xce\x38\x33\x97\xe2\x38\x1e\x21\xa2\x3b\x13\x13"
++ "\x13\x4f\xa6\xcb\xe5\xe7\x95\x4a\xc5\x79\xb6\xb4\x84\xa7\xc5\x71\xf0\xca\x1b\x19\x6e\x6f\xa1\xdd"
++ "\x6c\x22\x94\x92\xc8\xf7\x25\x7b\x4e\x7f\x16\x0d\x62\xb0\x50\x9d\x90\x2c\x26\x66\x92\xec\x38\x20"
++ "\x91\x83\x73\xaf\x8a\xfc\xcc\x67\x90\x1d\x01\x21\x03\xa1\xe8\xb7\x83\x14\x4c\xc2\x22\xe4\x98\xc0"
++ "\x16\x24\xb9\x36\xf6\xa2\x02\xad\x57\x4b\x58\x7e\x95\xc3\xfa\xc6\xf7\xc3\x8f\x1f\x56\x5f\xb4\xbb"
++ "\xe1\x06\x80\x1a\x11\x35\xd4\xf4\x8a\x1a\xce\xc6\x57\x75\x12\x15\x61\x12\xd7\xe8\xc0\xeb\x14\x25"
++ "\x72\xb0\x6d\x05\x67\x44\x45\x4d\x41\x81\x1a\x05\xe0\x7b\x9e\xb7\x90\xf7\xfd\x47\x53\xe5\xf2\xe2"
++ "\x62\x65\x11\x8f\x67\x67\xb0\x60\x31\x66\x83\x2e\xe2\xdd\x1d\x29\x4f\x8e\x89\x04\xf7\xdb\x74\x5b"
++ "\x0c\x29\xb8\x0f\xca\x22\x40\x08\x58\x82\x41\x94\x03\xe7\x00\x67\xb2\x0a\x7b\xf2\x08\xd6\x58\x03"
++ "\x64\x33\x98\x85\x3c\x26\x9b\xf6\xe3\x3c\x76\x8e\x0b\x78\xf9\x2e\xc0\xe6\x56\xb3\xb3\xb9\xb6\xf7"
++ "\xba\xd1\x38\x58\x05\xf0\x49\x45\x42\x4d\x6d\xea\xcd\x04\x90\x20\x51\x3a\x21\xaf\xdb\x71\xb8\x01"
++ "\x38\xe6\xde\xa3\x3b\x07\xba\x0a\x92\x5e\xe6\x46\x15\x30\x0f\xc0\x88\xb0\xac\x87\x8e\xe7\xcd\x8f"
++ "\x17\x8b\xb3\x7e\x61\x6c\x7a\x7e\x6e\x0e\x33\xa5\x22\xee\x43\xa2\x1c\x74\x61\x37\x1b\x28\x09\x46"
++ "\x2c\x18\x45\x41\x70\x85\xc0\x89\x60\x48\x12\x90\x96\x40\x8d\x6d\xd4\x85\x8b\xc3\x56\x0f\x5f\x3b"
++ "\x35\x7c\x69\xfd\xc2\xfe\x51\xab\xf7\x73\xbf\xfa\xed\xf0\xe0\xc7\x6e\x18\x34\xde\x03\xd1\xb6\x72"
++ "\xb8\x1e\x81\xd8\x50\x30\x4e\xd5\x05\xa4\x39\x5a\xc4\xec\xe1\x70\x23\x4e\xbb\x29\x25\x97\x37\x1d"
++ "\x41\xe6\x32\x67\x9a\x86\xe7\xab\xe7\x5d\x10\x3d\x80\x10\x53\x96\xe7\x95\x1c\xc7\xf1\x7d\x2f\xef"
++ "\x02\x70\xf5\xf4\x6c\x62\x86\x25\x04\xa2\x38\x3e\x6d\xb5\xdb\x41\xad\x5e\xaf\x41\xc6\x55\xf4\xa2"
++ "\x3d\x44\xbd\x1d\x75\xc4\x35\x07\x84\x9a\x53\xf6\xf4\x0c\x85\x8e\x71\xfc\x0d\xff\x54\xc7\xf2\x2f"
++ "\x80\x49\x03\x64\x96\xc9\x6b\x48\xae\x01\xc5\x35\xde\x73\x46\xd4\x59\x0a\x66\x5a\xd3\x4f\x3d\x8c"
++ "\x48\xe7\xc3\x45\xc6\xe9\x29\x30\x1c\xdf\x31\x4c\x47\x86\x86\x11\x26\x4e\x5b\x72\x10\x4e\xc2\x00"
++ "\xe1\x98\x57\x5c\x66\x22\x64\xce\x80\x65\x3e\xb5\x5d\xd5\x8c\x4d\x26\x7e\x72\x4d\x0b\x0c\x00\x3d"
++ "\x63\x99\xea\x19\x39\x74\xc9\x2c\x7c\x39\x28\x07\x0d\x5a\x17\x7e\xd4\x8d\x74\x2f\x2b\x11\x59\x02"
++ "\xe7\x0b\xbb\x18\x67\x49\x8b\x74\xc5\x2d\x44\x88\x8b\x85\x02\xa6\x25\xbb\x02\xcb\x61\x70\xca\x30"
++ "\x89\x2e\x89\x26\x4e\x80\x3b\x77\x63\x9f\x12\x31\x69\x49\xfe\xc9\x86\x07\x43\x11\x19\xb7\x05\xcc"
++ "\x65\xdf\x96\x04\x90\x06\x84\x52\x9c\x2c\x53\x9c\x3f\x94\x20\x6e\x13\x98\xbf\xfd\x66\xba\xe2\x62"
++ "\x75\xe8\x01\x64\xca\x94\x29\x53\xa6\x4c\x99\x32\x65\xca\x94\x29\x53\xa6\x4c\x99\xfe\x47\xfd\x06"
++ "\x00\xe5\x29\xcb\x04\x07\xe9\x61\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82";
++
++/* Small Daemon JPEG image */
++unsigned char
++jpeg_sm[] = "\xff\xd8\xff\xe0\x00\x10\x4a\x46\x49\x46\x00\x01\x01\x01\x00\x48\x00\x48\x00\x00\xff\xdb\x00\x43"
++ "\x00\x05\x03\x04\x04\x04\x03\x05\x04\x04\x04\x05\x05\x05\x06\x07\x0c\x08\x07\x07\x07\x07\x0f\x0b"
++ "\x0b\x09\x0c\x11\x0f\x12\x12\x11\x0f\x11\x11\x13\x16\x1c\x17\x13\x14\x1a\x15\x11\x11\x18\x21\x18"
++ "\x1a\x1d\x1d\x1f\x1f\x1f\x13\x17\x22\x24\x22\x1e\x24\x1c\x1e\x1f\x1e\xff\xdb\x00\x43\x01\x05\x05"
++ "\x05\x07\x06\x07\x0e\x08\x08\x0e\x1e\x14\x11\x14\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e"
++ "\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e"
++ "\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\xff\xc0\x00\x11\x08\x00\x30\x00\x29\x03"
++ "\x01\x22\x00\x02\x11\x01\x03\x11\x01\xff\xc4\x00\x1b\x00\x00\x02\x03\x01\x01\x01\x00\x00\x00\x00"
++ "\x00\x00\x00\x00\x00\x00\x05\x08\x04\x06\x07\x00\x01\x09\xff\xc4\x00\x31\x10\x00\x02\x01\x02\x03"
++ "\x05\x05\x08\x03\x01\x00\x00\x00\x00\x00\x00\x01\x02\x03\x04\x05\x00\x06\x11\x12\x13\x21\x31\x81"
++ "\x07\x08\x22\x41\x51\x14\x15\x32\x52\x61\x71\x91\xa1\x23\x24\x53\x62\xff\xc4\x00\x1a\x01\x00\x02"
++ "\x03\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x06\x01\x02\x05\x04\x07\xff\xc4\x00"
++ "\x26\x11\x00\x01\x03\x02\x05\x05\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x01\x02\x03\x11\x00\x04"
++ "\x05\x12\x21\x31\x41\x06\x13\x22\x51\xa1\x61\x71\xd1\xff\xda\x00\x0c\x03\x01\x00\x02\x11\x03\x11"
++ "\x00\x3f\x00\x6f\xab\x6e\xb6\xca\x29\xd2\x9e\xae\xbe\x96\x9e\x69\x3e\x04\x92\x50\xac\xdf\x60\x71"
++ "\x29\xa4\x8d\x63\xde\x34\x88\x13\x4d\x76\x89\xe1\xf9\xc2\xd9\xde\x3a\xc1\x9b\x29\xbb\x61\xcb\xb9"
++ "\x8b\x2c\xc1\xed\xd2\x57\x22\xd1\x7b\x3c\x88\x24\x8c\x9d\xa3\xc1\x94\xf0\xd9\xe3\xc4\xf9\x73\xc6"
++ "\xd3\x62\xcb\x56\xdb\x7d\x1c\x2d\x5f\x1a\x4f\x32\xa0\xde\x46\x1d\x8d\x32\x3f\x9e\xc2\x31\x20\x0c"
++ "\x01\x2f\x12\xe1\x49\x1b\x73\x5a\x2f\xd8\xa1\xbb\x66\xdf\x4b\x80\x95\x71\xc8\x8a\x3d\xef\x8b\x4e"
++ "\xf3\x77\xef\x2a\x4d\xaf\x4d\xea\xe2\x62\x49\x1b\xc7\xbc\x49\x11\x93\xe6\x07\x51\xf9\xc0\xd9\x64"
++ "\xa2\x78\x4c\x31\xee\xe1\x5f\x2d\x94\x5d\x07\x4d\x39\x63\x36\xa8\xb9\xdb\xac\xd9\x46\xb2\xf7\x9e"
++ "\xeb\x6d\xb1\xd4\xc5\x53\x32\xfb\x05\x03\x34\x71\xe8\x18\xec\x23\x2a\xb6\xb2\x31\x5d\x0e\xba\x0f"
++ "\x8b\x12\xb7\xd0\x81\x26\x85\x6f\x62\xed\xc1\xca\x81\x26\x40\x8e\x4c\xfa\xad\x46\x9a\xed\x6b\xa9"
++ "\xac\x7a\x3a\x7b\x85\x2c\xd5\x09\xc5\xa2\x49\x41\x61\xd0\x62\x6f\x4c\x2b\x5d\xdd\xe3\xb9\x67\x6e"
++ "\xd9\xea\xb3\xe9\xa6\x4a\x0b\x65\x35\x3c\x90\xd2\xc1\x12\x04\x5d\x82\x74\x03\x41\xc3\x9e\xbd\x46"
++ "\x1a\x5e\x98\x96\x5d\xee\xa3\x34\x45\x5f\x12\xb2\x16\x4f\x96\x73\x66\x20\x09\xfc\x1f\x55\x40\xed"
++ "\x06\xfb\x05\xaf\x30\x52\xc9\x33\xc7\x1b\x46\xab\x0c\x0c\xc7\x4d\x1e\x52\x43\x37\x45\x5f\xd9\xc6"
++ "\x7b\xdb\x4f\x6c\xb4\xf6\x29\x22\xb2\xe5\xfd\xdd\x6c\x8a\x9a\xb4\xda\xf8\x01\xf4\xfa\xe3\xce\xf7"
++ "\x74\x75\x31\xd8\x85\xca\x10\xc5\x29\xa5\x86\x77\xd3\xfc\xfc\x51\xb9\xe8\x5e\x33\xf6\x38\x5a\xee"
++ "\x0c\x6b\xe8\xd5\xa3\x3a\xcb\x1e\xa4\x0f\x50\x79\x8c\x2f\xe2\xf7\x4f\xb4\xf6\x40\x61\x26\x35\xa7"
++ "\xee\x8b\xc0\xec\x6f\x1a\x4d\xcb\xfe\x59\x49\x05\x3c\x4f\x13\x46\xaf\x7d\xac\xe7\x79\xe6\x67\x17"
++ "\xc9\xa1\x1f\x2c\x5a\x28\x1f\xac\x55\x33\x1e\x78\xba\x66\x10\xb0\xdf\xa7\x92\xa4\x82\x35\x99\x38"
++ "\x3b\x69\xf3\x69\xf1\x70\xeb\x80\x73\xb3\x4b\x53\x22\x1d\x54\x29\xf1\x7a\x8c\x47\xaa\x8d\x9d\x56"
++ "\x0a\x68\xcb\x3c\x8c\x17\x45\x1a\x93\x80\x32\xa2\x90\x12\x4c\xd3\x85\xf5\xb3\x1a\xad\x84\x04\x44"
++ "\xc1\x02\x0f\xad\x22\x9c\x7e\xea\x19\x92\x9e\xeb\x6f\x45\xa5\x86\x18\xa3\x8c\xb5\x13\x08\x53\x65"
++ "\x46\xca\x87\x8c\x7a\xea\x06\xd0\xc3\x09\xd3\x18\x47\x76\x7c\x98\xb9\x57\x2d\xd8\xe9\x0c\xf1\xcf"
++ "\x57\x59\xbd\xbb\x55\x98\xce\xab\x1e\xa8\x22\x8d\x01\xf3\xd0\x13\xd4\x1c\x6e\xfd\x30\xc7\x68\xe7"
++ "\x71\x94\xaa\xbc\x43\x13\x4a\x53\x76\xe0\x49\x91\x3f\x79\xfb\x40\x73\xce\x5d\x83\x32\x59\x25\xa2"
++ "\x96\x38\x9d\x8a\x3a\x85\x90\x6a\x92\x2b\x29\x56\x46\xff\x00\x96\x07\x4f\xa7\x02\x38\x81\x84\x7b"
++ "\x3c\x64\x8b\xde\x4b\xbd\x4d\x48\xd4\xf5\x12\xd1\x86\xd6\x26\x65\xd6\x44\x5f\x20\xe0\x73\xd3\x96"
++ "\xd0\xe0\x7e\x87\x80\x7f\xce\x07\xde\xec\x96\xab\xd5\x3e\xe2\xe9\x41\x05\x5a\x0e\x5b\xc4\x04\xaf"
++ "\xd8\xf9\x62\xb7\x96\x68\xba\x46\x55\x6f\x5d\xd8\x1e\x3a\xfe\x10\xe9\x52\x04\xa4\xee\x3d\xff\x00"
++ "\x0d\x7c\xfc\xa3\xa5\xa7\xb8\x4e\x56\x6a\x21\x3c\x87\x4e\x01\x0e\xd1\xfc\x71\x38\xd1\xf2\x46\x42"
++ "\x8e\x7a\x98\x16\x5b\x59\xa7\xde\x10\x56\x9e\x34\xfe\xcc\xe3\xd0\x03\xc5\x17\xd5\x9b\x40\x30\xc8"
++ "\x45\xd9\x26\x48\x8a\xa7\x7f\x0d\xba\x78\xcf\xa2\x55\xca\x07\xe9\xb1\x6a\xb2\x58\xad\x36\x58\xca"
++ "\x5b\x28\x21\xa7\xda\xf8\xd9\x57\xc4\xdf\x76\xe6\x7a\xe3\x11\x1d\x3e\x7b\xa0\xad\xcf\x01\xc6\xba"
++ "\xfd\xa6\x4b\xfe\xb9\x2e\xb4\x51\x6c\xd6\x52\x79\x26\x63\xf5\xa5\x0e\xc8\x99\x7f\xdc\x76\xdf\xe6"
++ "\x11\x8a\xa9\x55\x43\xac\x63\xc1\x12\xa8\xd1\x63\x5f\xa2\x8f\xc9\xd4\xf9\xe2\xc7\xd3\x1d\x8e\xe9"
++ "\x86\x50\x00\x10\x29\x01\x4a\x2a\x25\x47\x73\x5f\xff\xd9";
++
++/* Large Daemon JPEG image */
++unsigned char
++jpeg_lrg[] = "\xff\xd8\xff\xe0\x00\x10\x4a\x46\x49\x46\x00\x01\x01\x01\x00\x48\x00\x48\x00\x00\xff\xdb\x00\x43"
++ "\x00\x05\x03\x04\x04\x04\x03\x05\x04\x04\x04\x05\x05\x05\x06\x07\x0c\x08\x07\x07\x07\x07\x0f\x0b"
++ "\x0b\x09\x0c\x11\x0f\x12\x12\x11\x0f\x11\x11\x13\x16\x1c\x17\x13\x14\x1a\x15\x11\x11\x18\x21\x18"
++ "\x1a\x1d\x1d\x1f\x1f\x1f\x13\x17\x22\x24\x22\x1e\x24\x1c\x1e\x1f\x1e\xff\xdb\x00\x43\x01\x05\x05"
++ "\x05\x07\x06\x07\x0e\x08\x08\x0e\x1e\x14\x11\x14\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e"
++ "\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e"
++ "\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\x1e\xff\xc0\x00\x11\x08\x00\x78\x00\x66\x03"
++ "\x01\x22\x00\x02\x11\x01\x03\x11\x01\xff\xc4\x00\x1d\x00\x00\x01\x04\x03\x01\x01\x00\x00\x00\x00"
++ "\x00\x00\x00\x00\x00\x00\x00\x05\x06\x07\x08\x01\x03\x04\x02\x09\xff\xc4\x00\x40\x10\x00\x01\x03"
++ "\x03\x02\x04\x03\x05\x05\x04\x08\x07\x00\x00\x00\x00\x01\x02\x03\x04\x00\x05\x11\x06\x21\x07\x12"
++ "\x31\x41\x51\x61\x71\x13\x22\x81\x91\xa1\x08\x14\x32\x52\xb1\x23\x42\x53\xc1\x15\x33\x63\x72\xa2"
++ "\xb2\xd1\xf1\x16\x24\x34\x62\x82\xc2\xf0\xff\xc4\x00\x1c\x01\x00\x02\x02\x03\x01\x01\x00\x00\x00"
++ "\x00\x00\x00\x00\x00\x00\x00\x00\x04\x05\x06\x01\x03\x07\x02\x08\xff\xc4\x00\x31\x11\x00\x01\x04"
++ "\x01\x02\x03\x06\x05\x03\x05\x00\x00\x00\x00\x00\x00\x01\x00\x02\x03\x04\x11\x05\x31\x06\x12\x21"
++ "\x13\x41\x51\x61\xb1\xd1\x22\x71\x81\x91\xf0\x14\x32\xc1\x23\x42\x52\xa1\xe1\xff\xda\x00\x0c\x03"
++ "\x01\x00\x02\x11\x03\x11\x00\x3f\x00\xb9\x74\x51\x5e\x0b\x8d\x83\x82\xa1\x9f\x5a\x10\xbd\xd1\x40"
++ "\x20\xf4\x39\xa2\x84\x22\x8a\x2b\x05\x40\x75\x22\x84\x2c\xd1\x58\xe7\x4f\xe6\x15\x90\x41\xa1\x08"
++ "\xa2\x8a\x28\x42\x28\xaf\x2a\x5a\x13\xd5\x40\x56\x52\xb4\xab\xf0\xa8\x1a\x10\xb3\x45\x14\x50\x84"
++ "\x83\xad\xef\x48\xb2\x59\x5e\x9a\xb5\x72\xa5\xb4\x15\x13\xe0\x05\x56\x4d\x2f\xc6\x7b\xfe\xac\xbf"
++ "\x98\xd1\x24\x44\xb7\x87\x1c\x29\x65\xb7\xf2\x49\xdf\x60\x54\x0e\x01\x3e\x9f\x3a\xb1\x7c\x54\xb7"
++ "\x9b\x86\x97\x92\xc6\x09\x0a\x41\x07\xd2\xbe\x79\xcb\x62\x66\x9f\xd4\xaf\x46\x73\x99\xb7\x1b\x5f"
++ "\xa6\x77\xa4\x2f\x4d\x24\x58\x2d\x56\xbe\x18\xd3\x6a\xde\xed\x04\xc3\x24\x63\x1f\x5c\xf5\xf4\x57"
++ "\x62\x0e\xb1\xd5\x96\x47\x03\x57\xfb\x43\xbc\xa3\x72\xe3\x19\x71\x38\xf1\xe8\x15\xf4\xc7\x9d\x3b"
++ "\xa1\x71\x0a\xc9\x22\x0f\xb7\x4c\xa6\xce\xde\x35\x06\xf0\x5f\x88\x9a\x92\xfc\x88\x9a\x7d\xf6\x0d"
++ "\xdc\xa7\xdd\x68\x28\x7e\xd1\x29\xef\xef\x7e\x51\xe7\xb0\xa9\xfa\x2e\x8b\xd3\xc2\x6b\x57\x29\x96"
++ "\xb8\xce\xcd\x4e\xfc\xc5\x39\x19\xf3\x1d\x14\x7c\xce\x71\xda\xb1\x52\xd3\xa6\xdb\xa8\xfb\x7f\xc2"
++ "\x97\xd7\x74\x86\x69\xcf\x0d\x77\x47\x1d\x80\x39\x04\x78\xf5\xea\x3e\xb9\x49\xac\x6a\x5b\xdd\xe4"
++ "\xe6\xc9\x6a\x7d\xe6\x4f\x47\xd6\x39\x1b\x3e\x61\x4a\xc6\x7e\x19\xae\xa1\x69\xd5\xd2\x77\x7e\xe5"
++ "\x06\x2e\x7b\x20\x29\xc3\xff\x00\xad\x3b\x81\x48\x4e\xdb\x01\x5e\x4b\x82\x9f\xca\xae\xe1\x35\x13"
++ "\xa7\xb5\x22\x32\xa1\xa8\x58\x51\xf0\x31\x88\x1f\xe6\xaf\x2b\x6f\x59\x40\xf7\x83\x71\x67\xa0\x7f"
++ "\x05\xdc\x2b\xe4\xa0\x07\xd6\x9c\xd3\x99\x6e\x53\x1e\xcd\x4a\x29\x20\xe5\x24\x76\x35\x14\x71\xc3"
++ "\x5c\xdc\x78\x6b\xa5\x93\x72\x89\x15\x12\x65\xc8\x92\x98\xec\x07\x14\xa0\xd0\x25\x2a\x51\x52\xb9"
++ "\x48\x24\x00\x93\xb6\x47\x51\xbd\x78\x92\x41\x18\xe6\x3b\x26\xaa\x53\x75\xa9\x04\x51\xfe\xe3\xb2"
++ "\x7a\x46\xd6\x4c\x32\xe1\x8f\x73\x65\xd8\x4f\x81\x92\x87\x90\x52\x7d\x77\xea\x3c\xe9\x26\xf5\xc4"
++ "\x56\x4b\xea\x87\x67\x61\xe9\xf2\x40\xfe\xad\x84\x15\x91\xe6\x71\xd0\x79\x9c\x0a\xd3\xa0\x99\xd6"
++ "\x7a\xcb\x48\x25\xde\x23\x5a\xad\x10\x91\x24\x05\xb3\x1e\x3b\x6a\xf6\xc1\x04\x75\x57\x32\x95\xec"
++ "\xd5\xd3\xa1\x2a\xfe\xe9\xa5\xe9\x48\xb3\x69\x7b\x67\xb0\x81\x01\x86\x9b\x46\xe1\xa6\xc6\x01\x3e"
++ "\x2a\x3d\x49\xf3\x39\x35\xab\xb7\x2e\x6f\x33\x46\x07\x89\xf6\x5b\x45\x20\xc9\xcc\x4e\x3c\xc4\x7f"
++ "\x89\xfe\x76\xf5\x51\x6e\xb3\xd5\x1a\xf2\x15\xb1\xfb\xa3\xcc\x45\xb6\xc5\x6d\x25\x5c\xd2\x1d\xc9"
++ "\xf4\xc2\x76\xf9\x13\x48\xdc\x02\xe3\x4c\xfd\x55\xa9\x24\x59\x2e\x6c\x25\xb7\x9b\x47\xb4\x42\xd0"
++ "\x4f\x2a\xd3\x90\x0e\xc7\xa1\x19\x1d\xce\x73\xdb\x15\x1e\x7d\xa3\x38\x8b\x2a\xf3\x39\x76\xd1\x25"
++ "\x2a\x4b\x24\xa7\xd9\x37\xb3\x6c\xf9\x79\xab\xf4\xaf\x5f\x64\xcd\x37\x21\x5a\xa1\x57\x67\x50\xa4"
++ "\xf3\xb3\xee\xe4\x7e\xea\x95\xb1\xff\x00\x0f\xd4\x52\x50\xd9\x7c\x93\x00\x0e\x42\xb5\xde\xd1\x6b"
++ "\x56\xd3\x1d\x2c\xac\x0d\x7e\x32\x30\x4f\x96\x37\x3d\x73\xf9\xe2\xae\xb3\x4a\xe7\x6d\x2a\xf1\x14"
++ "\x56\x19\x4f\x2b\x49\x1e\x02\x8a\x96\x54\x45\xaa\xe3\x1d\x32\x62\x38\xd2\x86\x41\x15\x4e\x78\xf5"
++ "\xc3\xd9\x12\x6f\xeb\xfe\x8c\x8c\xa7\x67\x25\xc0\xb6\x5a\x40\xca\x9e\x4a\x94\x02\x90\x07\x88\x24"
++ "\x10\x3b\xe5\x55\x73\x1e\x50\x43\x6a\x51\xe8\x05\x45\xd1\xa2\x37\x7a\xe2\x12\xee\x85\x39\x4c\x05"
++ "\x06\x23\x9f\xed\x9c\x04\x15\x7f\xe2\xdf\x37\xc5\x49\xad\x33\xc4\x24\x67\x29\x52\x1a\x65\xe9\x29"
++ "\x58\x12\x33\xe4\x7e\x5f\x9d\x56\xfe\x06\xf0\xfe\x1f\x0f\x74\x92\x3d\xba\x5b\x7a\xf1\x29\x20\xcb"
++ "\x7d\x3b\xef\xfc\x34\x1f\xc8\x9f\x1e\xe4\x13\xe0\x03\xfd\x25\x6b\xf7\x95\xfe\xd4\x91\x16\x73\x73"
++ "\xe6\x12\xc7\xf5\x0d\xfb\x8d\x63\xa6\x07\x7f\x8d\x2a\xdc\x66\xb1\x12\x21\xca\x80\xdb\x02\xb5\x31"
++ "\xcc\x63\x3e\x1e\x80\x2c\xda\x7c\xd3\xcc\x5f\x2f\x57\xbb\x75\xa2\x44\xbe\x45\x00\x4e\xd5\xa5\x53"
++ "\x86\x7f\x15\x32\xef\xda\xa6\x1c\x62\xb7\x5e\x92\xdb\x4d\x23\xaa\x96\xa0\x05\x30\xaf\x7c\x5f\xb3"
++ "\xc4\x25\x31\x8b\xd2\xd4\x3b\xa0\x72\xa7\xe6\x77\xfa\x52\x16\x35\x38\xe2\x76\xfd\x54\xdd\x2e\x1c"
++ "\xb7\x68\x7f\x4d\x84\xa9\xc3\xef\xe8\xee\xaa\x40\xd7\x96\x9b\x66\xac\xd3\xcb\xb5\x5c\x19\x69\xe4"
++ "\x07\x12\xf3\x5e\xd1\x21\x41\x2b\x4f\x43\xbf\x91\x23\xe3\x50\x24\xbe\x39\x48\x4a\x8f\xb2\x80\xca"
++ "\x47\xfd\xee\x95\x7e\x98\xad\x51\xf8\xec\xef\x3e\x24\x5b\xdb\x52\x7f\xb3\x74\xa4\xfd\x41\xaf\x71"
++ "\xdc\x64\x83\xe3\x3b\xa6\xcf\x0b\xdf\xae\xe1\x23\x5b\x82\x3c\xc2\xb0\xd6\x6d\x7f\x60\x91\xa5\xda"
++ "\x9d\xf7\xc5\x2c\xb5\xcc\xc3\xd8\x69\x40\x87\x50\x79\x54\x0a\x48\x05\x27\x23\x38\x38\x38\x22\xab"
++ "\xff\x00\x1c\xb8\xbc\xfc\xe4\xbb\x6a\xb1\x25\x71\x1b\x56\x43\x8f\x95\x7e\xd4\x8f\x01\x8d\x93\xf5"
++ "\x3e\x62\x90\x75\x0e\xaf\xb7\xdd\x5e\x93\x71\xb0\x49\x30\xa5\xcb\x4f\xfc\xdc\x37\xc8\x4a\x24\x28"
++ "\x0d\x96\x95\x0d\x82\xfb\x6f\x8e\x61\xe7\xd6\x1f\xba\x2e\xe1\x32\xec\x98\x45\xb5\x89\x4f\xb9\xca"
++ "\x12\xa1\x82\x49\xa4\xec\xcb\x61\xf8\x8c\x7e\xdf\x10\xac\x3a\x0e\x95\xa7\x56\x2e\xb3\x20\xf8\xc7"
++ "\xf6\x9e\xef\x71\xe0\xbb\xf4\x7d\x85\x7a\xa3\x50\x16\xdd\x51\x6e\xdf\x14\x17\xe6\x3c\x46\x42\x5b"
++ "\x48\xc9\xfa\x0a\xb9\x3c\x04\xd3\xa9\x89\x6c\x37\x05\xb2\x1a\x53\xe7\x9c\x23\xf2\x0c\x00\x94\xfc"
++ "\x12\x00\xcf\x7c\x66\xa2\x6e\x16\x58\x34\xe4\x14\x23\x45\x3e\xf2\x1f\x95\x21\x82\xed\xc5\xc6\xd5"
++ "\x90\x1d\x38\xf6\x6d\x64\x77\x49\x21\x64\x76\x21\x03\xb2\x85\x4f\x1c\x22\x96\xa1\x6b\x5d\xb6\x46"
++ "\x04\x88\x8b\x2c\xb8\x3c\xd2\x71\x9f\x43\x52\x74\x20\x11\xb7\x2a\xa9\xc5\x3a\xa3\xed\x4b\xd9\xf7"
++ "\x6f\xed\xef\xf6\x4f\xda\x28\xa2\xa4\x15\x49\x26\x6a\x69\x1f\x76\xb4\x3e\xee\x71\x84\x9a\x8a\x8d"
++ "\xd4\x59\x34\xab\x52\x49\xe5\x93\x29\xa7\x5f\x41\x07\x05\x4e\x3e\xf0\x65\x27\xe0\xda\x73\xf0\xa9"
++ "\x17\x88\x6a\x29\xd3\xb2\x31\xf9\x4d\x57\xce\x37\xdc\xdc\xb7\xdb\xf4\x9b\x0d\xa8\x80\xbb\x74\x47"
++ "\x41\xfe\xeb\x6b\xfe\x67\xe9\x49\x6a\x12\x98\x6b\x3d\xed\xdc\x05\x31\xa0\xd4\x16\xef\x32\x23\xde"
++ "\xa6\xde\x1d\xb9\x19\x36\xdf\x69\x21\xd4\x02\x13\x9d\xce\xd5\x1d\x71\xab\x88\xcd\xda\xd4\x98\xb0"
++ "\x54\x1c\x70\xa9\x43\x19\xd9\x3e\xbf\xe9\x51\xa4\x5e\x22\x5d\x1a\xb7\xfd\xd5\xa5\x04\xed\x8e\x60"
++ "\x69\x93\xac\x65\x3d\x36\x18\x90\xb5\x95\x29\x2e\xe5\x44\xf9\x8f\xf6\xaa\x6c\x9a\xa4\x92\xc6\xc8"
++ "\x5b\xd3\xc4\xae\x95\xa4\xf0\x97\x2d\xe3\x3d\xae\xa3\xb8\x2d\x37\xfd\x4f\x70\xba\x48\x2e\x49\x92"
++ "\xb7\x0f\x61\x9d\x93\xe8\x3b\x53\x7e\x54\x95\x94\x92\x54\x77\xad\x3c\xf5\xa2\x5b\x98\xe5\x1e\xb4"
++ "\x47\x10\x05\x74\xe2\x63\x82\x1e\x56\x0c\x00\xb5\x3c\xe2\x8f\xef\x1a\xe3\x75\xc5\x03\xf8\x8d\x7b"
++ "\x71\xca\xe5\x75\x74\xfc\x6d\x55\xdb\x73\x02\xbd\x09\xae\xb4\x76\x51\xae\xf8\xb7\xb4\x28\x25\xb9"
++ "\xcd\x09\x0d\x0f\xcd\xf8\x93\xe8\x4f\xe8\x7e\x94\x91\xec\x5d\x77\x70\x39\x53\xe2\x6b\x54\xa4\x22"
++ "\x3a\x00\x07\x9d\xc5\x74\x27\xa0\xf3\xc5\x3b\x14\x9c\xa7\x0a\xb1\x7a\x99\x95\x85\xe4\x60\x0e\xff"
++ "\x00\x65\x29\xe8\x2b\xec\x6b\x6d\xde\x24\x98\x8f\x1e\x45\x3a\x84\x67\xf2\x82\xa0\x31\x8e\xc7\x7a"
++ "\xb5\xfa\x56\x41\x8f\xad\xca\xd2\x39\x51\x71\x88\xcc\xac\x67\x6e\x62\x9c\x1f\xd2\xbe\x7f\x5a\xd4"
++ "\xfa\x67\x47\x2d\x15\x73\x7b\x54\x90\x01\xea\x41\x18\xaf\xa0\x53\xd9\xfe\x8f\xd6\x9a\x76\x2a\x40"
++ "\x0a\x4d\xbb\x91\x7e\xa9\x20\x7f\xad\x49\xd5\x9b\x9a\x52\xdf\x25\xcf\x75\xea\x5f\xa7\x64\x6e\x3b"
++ "\x92\x7f\x8f\x75\x29\x0d\xc0\x34\x57\x96\xb7\x6d\x3e\x94\x54\x82\xad\x24\x4d\x70\xc1\x7e\xc1\x21"
++ "\x23\xaf\x29\xaa\xc1\xf6\x8f\x42\xff\x00\xe0\xed\x0f\x78\x49\x25\x29\x6d\x56\xf7\x0f\x82\x99\x2a"
++ "\x4e\xfe\xa4\xfd\x2a\xda\x5c\x99\x0f\xc3\x71\xb2\x33\x91\x55\xf7\x89\x1a\x6d\xed\x49\xc3\x9d\x5b"
++ "\xa3\x59\x6d\x4b\xb9\xdb\x9c\x17\xab\x52\x02\x7d\xe5\xf2\xec\xe2\x12\x3b\x9c\x67\x6f\x17\x05\x2f"
++ "\x6e\x2e\xd6\x17\x31\x4a\xe8\x96\xc5\x4b\xf1\x4a\x76\x07\xd5\x57\x78\x92\x42\xd2\x08\x3b\x57\x6a"
++ "\x8a\x24\x46\x71\x85\x9f\x75\x69\xc7\xa7\x9d\x34\xac\x93\x03\xa8\xe7\x07\xa8\xdc\x52\xf4\x77\xfc"
++ "\xea\x81\x3c\x05\x8e\x5f\x40\xc3\x37\x68\xc0\xf0\x91\x1f\x4a\xd8\x79\x4d\x38\x30\xa4\x9c\x1a\xe1"
++ "\x9c\xe6\x14\x9f\x4a\x73\xdc\xe2\x26\x6b\x61\x68\x21\x2f\xa4\x6c\x4f\x45\x0f\x03\x4d\x1b\xc2\x5c"
++ "\x61\xd4\xa1\xd4\x14\x28\x64\x10\x69\xea\xaf\x12\x11\xe2\xb3\x6e\xce\x21\x25\x6a\x2a\x2a\x57\x2a"
++ "\x46\x49\xe9\x5b\x9b\x65\x28\xf7\x97\x85\x2b\xe8\x2b\xc4\x44\x84\xb7\xce\x7f\x12\xbe\x82\xb6\x29"
++ "\x74\xdb\x8f\x70\x48\xc4\xd1\xcb\xce\xfd\xd0\xe2\xa9\x19\xd5\x7b\x69\x4a\x57\x60\x70\x29\x50\x92"
++ "\x73\x46\x9b\xb3\x3f\x73\x96\x86\xd0\x0a\x1a\xe6\x01\xc7\x48\xd9\x03\xf9\x9f\x2a\xd9\x1b\x83\x01"
++ "\x71\x51\xf7\xf9\xa5\x2d\x6f\x72\x91\xbe\xcc\xfa\x15\xfd\x5b\xc4\x08\xb3\x1d\x60\xaa\xd7\x6a\x75"
++ "\x12\x24\xac\x8f\x75\x4a\x07\x28\x6f\xcc\x92\x32\x47\x82\x55\x56\xde\x72\xbe\xfb\xc5\x06\x19\x18"
++ "\x51\x89\x0d\x3c\xde\x45\x6a\x27\x1f\x2c\x52\x2f\xd9\xed\xbb\x15\xab\x45\xa6\x05\xad\x84\x31\x0e"
++ "\x3a\x8a\xdc\x78\xe3\x99\xd7\x48\xca\xd6\xb3\xdc\xe0\x0f\x41\x81\xd0\x52\xcf\x0c\xd2\xe5\xe2\xf7"
++ "\x72\xd4\x4e\x24\xf2\x4b\x7c\xa9\x90\x7b\x36\x36\x47\xf8\x40\xa7\x34\x6e\x79\x5c\xf9\x9c\x30\x36"
++ "\x1f\x25\xca\xf8\x9a\xe3\xe6\xb3\xd9\x11\x80\xde\x83\xdf\xea\xa4\xa4\x0c\x20\x0f\x2a\x2b\x34\x54"
++ "\xf2\xad\x20\x8c\x8c\x54\x6f\xc4\x38\x13\x6d\x17\x68\xba\xa6\xd2\xdf\x3c\x98\x6b\xe6\x52\x3a\x07"
++ "\x50\x76\x52\x09\xf3\x19\xf4\x38\x3d\xaa\x48\xae\x79\xf1\x5b\x97\x19\x4c\xb8\x90\xa0\xa1\x8d\xe8"
++ "\x42\xa1\xfc\x7e\xd2\x31\xb4\xc6\xad\x6f\x56\x69\xe6\xd4\xbd\x27\xa9\x0a\xa4\x47\x29\x46\x04\x57"
++ "\xf3\xfb\x56\x14\x07\xe1\x21\x59\x21\x3e\x19\x03\x3c\x86\x99\xb1\xa4\x0c\x03\x90\x41\xe8\x7c\x6a"
++ "\xda\x71\x03\x4a\xa6\xdb\x16\xe3\x6f\x9b\x6c\x5d\xd7\x4c\xdc\xbd\xe9\xb0\x9b\x20\x38\xd2\xc7\x49"
++ "\x0c\x13\xb2\x5d\x4f\xc9\x40\x60\xd5\x61\xd6\x5a\x26\xe1\xa5\x16\x26\x42\x90\x9b\xbe\x9f\x7d\x64"
++ "\x45\xb8\x32\x92\x01\x3f\x91\xc4\x9d\xda\x74\x77\x42\xb7\xeb\x8c\xf5\xaa\xee\xa7\x47\x07\xb4\x68"
++ "\xe8\xba\xc7\x08\x71\x03\x66\x88\x54\x94\xfc\x43\x6f\x3f\xce\xf1\xf5\xf9\x69\x62\x47\x4a\xf7\x3d"
++ "\x98\xb3\x98\x08\x92\xca\x5c\x00\xec\x4e\xc4\x7a\x1e\xa2\x92\xa2\xbc\x95\x91\xca\xad\xfc\x0f\x5a"
++ "\xef\x4a\xff\x00\x64\x77\xe9\x55\xe7\x30\xb5\xd9\x1d\x0a\xbc\x4d\x19\x7c\x65\x61\xcd\x37\x1d\xcf"
++ "\xfa\x79\x6b\x6c\x76\x0b\x48\x57\xd7\x6a\xc3\x3a\x3d\xd7\x17\xef\x5c\x1a\x4a\x7c\x9b\x24\xfe\xb4"
++ "\xad\x19\xcc\xe0\xe7\xad\x28\xc6\x73\x71\xbd\x2e\xfb\x73\xb3\xa0\x72\xf0\x61\x25\x71\xdb\xb4\x6d"
++ "\xb5\xa0\x14\xfb\xae\xc9\x50\xfd\xd3\xee\x27\xe4\x37\xfa\xd3\x82\xc3\x61\x76\xe1\x35\x8b\x5d\xb9"
++ "\x84\x27\x3b\x00\x13\x84\x36\x9e\xea\x38\xe8\x07\xff\x00\x6e\x69\x53\x4b\xd8\xae\x77\xb5\xe6\x2b"
++ "\x5c\xac\x03\xef\xc8\x73\x64\x27\xe3\xdc\xf9\x0a\x90\xed\xc8\x87\xa7\xdb\x16\x8b\x2b\x22\x6d\xe1"
++ "\xe0\x39\xc9\x1d\x3c\x14\xe1\x1f\x85\x23\xb2\x46\xe7\xe6\xaa\xf5\xa7\x45\x62\xf4\xdc\xa4\xe4\x0d"
++ "\xd5\x7f\x5b\xd5\x60\xd3\xe3\xcb\x8e\x5c\x3b\xbf\x3d\x17\x7b\x31\x13\x6e\xb5\xc5\xd1\x96\x72\xa2"
++ "\xb9\x08\xc3\xea\x1d\x52\xd1\x3e\xf2\x95\xe0\x56\x72\x07\x96\x7c\x05\x4c\xfa\x52\xd6\xdd\xae\xd4"
++ "\xd4\x74\x27\x18\x48\xa6\xc7\x0d\xf4\x8a\xad\xcd\xaa\x7d\xc1\x66\x44\xe7\xd5\xce\xeb\xab\x1b\xa9"
++ "\x5f\xc8\x76\x03\xb0\x00\x53\xf8\x0c\x0c\x0a\xe8\x90\xc4\x22\x60\x68\x5c\x6a\xd5\x97\x59\x95\xd2"
++ "\xbf\x72\x8a\x28\xa2\xb6\xa5\xd1\x45\x14\x50\x85\xcf\x3a\x1b\x13\x19\x53\x6f\x20\x28\x11\xdc\x54"
++ "\x51\xad\x38\x64\xe7\xb4\x91\x36\xc2\xf7\xdd\x5d\x7d\x3c\xaf\xb7\xc8\x95\xb3\x21\x3d\x92\xeb\x6a"
++ "\x05\x2b\x1e\xa3\x23\xb1\x15\x2f\xd0\x40\x23\x04\x66\x82\x33\xba\xcb\x5c\x5a\x72\x37\x54\xab\x56"
++ "\xf0\xe9\x71\x9e\x5a\xe6\x69\xb9\x11\x57\x9d\xdd\xb7\x12\xeb\x47\xcf\x91\x47\xda\x23\xd0\x17\x7e"
++ "\x14\xcd\x93\x63\xb6\xc5\x57\x23\xd7\xc5\x43\x07\xa2\x64\xb4\xa6\xcf\xc9\xc0\x93\xf4\xab\xf7\x2e"
++ "\xdb\x0e\x48\x21\xd6\x52\xac\xf8\x8a\x46\x97\xa2\xec\xb2\x33\xcd\x19\x1b\xf9\x54\x7c\xba\x64\x12"
++ "\x1c\xe3\x0a\xd3\x4f\x8c\x75\x3a\xcd\xe4\x2e\xe6\x1e\x7b\xfd\xfd\xf2\xa9\x6d\x9e\x06\x98\xe6\x02"
++ "\x5e\xb1\x88\x10\x3f\x86\x5b\xcf\xf9\xa9\xf3\x60\x83\xa3\x19\xe4\x5c\x28\x77\x3b\xf3\xdf\xb9\x88"
++ "\xeb\x5a\x14\x7d\x48\x4b\x7f\x33\x56\x39\xae\x1f\x58\x5b\x5f\x32\x62\xa0\x1f\x4a\x56\x85\xa6\x6d"
++ "\x51\x70\x5b\x8c\x8c\x8f\x2a\x8e\x97\x86\xeb\x4a\xec\xb9\xee\x1e\x40\x80\x3d\x33\xfe\xd6\xdb\x3c"
++ "\x6b\xa9\x4e\xde\x50\x43\x47\x92\x86\xad\x96\x6d\x5f\xa8\x42\x18\x6a\x3a\x6c\x56\xfc\x63\x95\xb2"
++ "\x14\xfa\x87\x86\x71\xca\x8f\x40\x0f\x91\xa9\x33\x44\xe8\x4b\x65\x81\x90\x50\xc8\x2e\x93\xcc\xa5"
++ "\xab\x75\x28\xf7\x24\x9d\xc9\xf3\x34\xef\x65\x86\x9a\x18\x6d\x01\x23\xca\xb6\x54\xc5\x5a\x70\xd4"
++ "\x8f\xb3\x85\xb8\x1f\x9b\xf8\xaa\xb4\xd6\x24\x9d\xdc\xd2\x1c\x95\x84\xa4\x25\x20\x01\x80\x2b\x34"
++ "\x51\x4c\xad\x28\xa2\x8a\x28\x42\x28\xa2\x8a\x10\x8a\x28\xa2\x84\x22\x8a\x28\xa1\x08\xa2\x8a\x28"
++ "\x42\x28\xa2\x8a\x10\x8a\x28\xa2\x84\x22\x8a\x28\xa1\x0b\xff\xd9";
++
+ #else
+ /* Small Tux PNG image */
+ unsigned char
diff --git a/net/minidlna/files/patch-minidlna.c b/net/minidlna/files/patch-minidlna.c
index df548dca3746..783383069d85 100644
--- a/net/minidlna/files/patch-minidlna.c
+++ b/net/minidlna/files/patch-minidlna.c
@@ -1,5 +1,5 @@
---- minidlna.c 2011-07-18 18:18:11.000000000 -0400
-+++ minidlna.c 2011-08-24 01:25:26.000000000 -0400
+--- minidlna.c 2012-02-14 13:26:53.000000000 -0500
++++ minidlna.c 2012-04-11 11:18:28.000000000 -0400
@@ -53,4 +53,5 @@
#include <ctype.h>
#include <sys/types.h>
@@ -15,20 +15,28 @@
+
#include "config.h"
-@@ -345,5 +350,5 @@
- /*const char * logfilename = 0;*/
- const char * presurl = 0;
+@@ -86,5 +91,7 @@
+ #include "upnpevents.h"
+ #include "scanner.h"
++#ifdef __linux__
+ #include "inotify.h"
++#endif
+ #include "log.h"
+ #ifdef TIVO_SUPPORT
+@@ -342,5 +349,5 @@
+ struct sigaction sa;
+ const char * presurl = NULL;
- const char * optionsfile = "/etc/minidlna.conf";
+ const char * optionsfile = PREFIX "/etc/minidlna.conf";
char mac_str[13];
char * string, * word;
-@@ -353,4 +358,5 @@
- char ip_addr[INET_ADDRSTRLEN + 3] = {'\0'};
+@@ -352,4 +359,5 @@
+ char *log_level = NULL;
+ uid_t uid = (uid_t)-1;
/* first check if "-f" option is used */
for(i=2; i<argc; i++)
-@@ -741,4 +747,21 @@
+@@ -740,4 +748,21 @@
exit(0);
break;
+ case 'u':
@@ -49,21 +57,14 @@
+ }
+ break;
default:
- fprintf(stderr, "Unknown option: %s\n", argv[i]);
-@@ -768,4 +791,5 @@
+ DPRINTF(E_ERROR, L_GENERAL, "Unknown option: %s\n", argv[i]);
+@@ -767,4 +792,5 @@
"\t\t[-s serial] [-m model_number] \n"
"\t\t[-t notify_interval] [-P pid_filename]\n"
+ "\t\t[-u uid_to_run_as]\n"
"\t\t[-w url] [-R] [-V] [-h]\n"
"\nNotes:\n\tNotify interval is in seconds. Default is 895 seconds.\n"
-@@ -831,5 +855,5 @@
-
- /* set signal handler */
-- signal(SIGCLD, SIG_IGN);
-+ signal(SIGCHLD, SIG_IGN);
- memset(&sa, 0, sizeof(struct sigaction));
- sa.sa_handler = sigterm;
-@@ -849,4 +878,7 @@
+@@ -839,4 +865,7 @@
writepidfile(pidfilename, pid);
+ if (uid != (uid_t)-1 && setuid(uid) == -1)
@@ -71,15 +72,18 @@
+
return 0;
}
-@@ -966,4 +998,5 @@
- #endif
+@@ -965,4 +995,5 @@
}
+ signal(SIGCHLD, SIG_IGN);
+#if defined(__linux__)
if( sqlite3_threadsafe() && sqlite3_libversion_number() >= 3005001 &&
GETFLAG(INOTIFY_MASK) && pthread_create(&inotify_thread, NULL, start_inotify, NULL) )
-@@ -971,4 +1004,5 @@
+@@ -970,6 +1001,7 @@
DPRINTF(E_FATAL, L_GENERAL, "ERROR: pthread_create() failed for start_inotify.\n");
}
+#endif
- sudp = OpenAndConfSSDPReceiveSocket(n_lan_addr, lan_addr);
+- sudp = OpenAndConfSSDPReceiveSocket(n_lan_addr, lan_addr);
++ sudp = OpenAndConfSSDPReceiveSocket();
+ if(sudp < 0)
+ {
diff --git a/net/minidlna/files/patch-other-subnets b/net/minidlna/files/patch-other-subnets
new file mode 100644
index 000000000000..38b6995e7db2
--- /dev/null
+++ b/net/minidlna/files/patch-other-subnets
@@ -0,0 +1,25 @@
+Allowing SSDP M-SEARCH from other subnets. See:
+http://sourceforge.net/tracker/?func=detail&aid=3495642&group_id=243163&atid=1121518
+--- minissdp.c
++++ minissdp.c
+@@ -674,9 +674,17 @@ ProcessSSDPRequest(int s, unsigned short
+ }
+ if( i == n_lan_addr )
+ {
+- DPRINTF(E_DEBUG, L_SSDP, "Ignoring SSDP M-SEARCH on other interface [%s]\n",
+- inet_ntoa(sendername.sin_addr));
+- return;
++ if( n_lan_addr == 1 )
++ {
++ DPRINTF(E_INFO, L_SSDP, "SSDP M-SEARCH coming from another subnet [%s]\n",
++ inet_ntoa(sendername.sin_addr));
++ }
++ else
++ {
++ DPRINTF(E_DEBUG, L_SSDP, "Ignoring SSDP M-SEARCH on other interface [%s]\n",
++ inet_ntoa(sendername.sin_addr));
++ return;
++ }
+ }
+ DPRINTF(E_INFO, L_SSDP, "SSDP M-SEARCH from %s:%d ST: %.*s, MX: %.*s, MAN: %.*s\n",
+ inet_ntoa(sendername.sin_addr),
diff --git a/net/minidlna/files/patch-replace-glob3 b/net/minidlna/files/patch-replace-glob3
new file mode 100644
index 000000000000..2ce2fb9056c9
--- /dev/null
+++ b/net/minidlna/files/patch-replace-glob3
@@ -0,0 +1,16 @@
+See
+http://sourceforge.net/tracker/?func=detail&aid=3511519&group_id=243163&atid=1121518
+--- metadata.c 2012-02-14 22:44:56.000000000 +0400
++++ metadata.c 2012-03-28 10:55:52.000000000 +0400
+@@ -160,8 +160,8 @@
+ /* If we weren't given a detail ID, look for one. */
+ if( !detailID )
+ {
+- id = sql_get_text_field(db, "SELECT ID from DETAILS where PATH glob '%q.*'"
+- " and MIME glob 'video/*' limit 1", file);
++ id = sql_get_text_field(db, "SELECT ID from DETAILS where (PATH > '%q.' and PATH <= '%q.z'"
++ " and MIME > 'video/' and MIME <= 'video/z') limit 1", file, file);
+ if( id )
+ {
+ //DEBUG DPRINTF(E_DEBUG, L_METADATA, "New file %s looks like a caption file.\n", path);
+
diff --git a/net/minidlna/files/patch-samsung-subtitle-menu-3 b/net/minidlna/files/patch-samsung-subtitle-menu-3
deleted file mode 100644
index b95df745675c..000000000000
--- a/net/minidlna/files/patch-samsung-subtitle-menu-3
+++ /dev/null
@@ -1,136 +0,0 @@
-From:
-
-https://sourceforge.net/tracker/?func=detail&aid=3387389&group_id=243163&atid=1121518
-
-Index: minidlnatypes.h
-===================================================================
-RCS file: /cvsroot/minidlna/minidlna/minidlnatypes.h,v
-retrieving revision 1.26
-diff -u -p -r1.26 minidlnatypes.h
---- minidlnatypes.h 18 Aug 2011 23:24:17 -0000 1.26
-+++ minidlnatypes.h 26 Aug 2011 21:32:40 -0000
-@@ -68,7 +68,7 @@ enum file_types {
- enum client_types {
- EXbox = 1,
- EPS3,
-- ESamsungTV,
-+ ESamsungSeriesC,
- EDenonReceiver,
- EFreeBox,
- EPopcornHour,
-Index: upnpdescgen.c
-===================================================================
-RCS file: /cvsroot/minidlna/minidlna/upnpdescgen.c,v
-retrieving revision 1.18
-diff -u -p -r1.18 upnpdescgen.c
---- upnpdescgen.c 2 May 2011 23:50:52 -0000 1.18
-+++ upnpdescgen.c 26 Aug 2011 21:32:40 -0000
-@@ -675,18 +675,40 @@ genRootDesc(int * len)
- {
- char * str;
- int tmplen;
-- tmplen = 2048;
-+ tmplen = 2560;
- str = (char *)malloc(tmplen);
- if(str == NULL)
- return NULL;
- * len = strlen(xmlver);
-- /*strcpy(str, xmlver); */
- memcpy(str, xmlver, *len + 1);
- str = genXML(str, len, &tmplen, rootDesc);
- str[*len] = '\0';
- return str;
- }
-
-+char *
-+genRootDescSamsung(int * len)
-+{
-+ char * str;
-+ int tmplen;
-+ struct XMLElt samsungRootDesc[sizeof(rootDesc)/sizeof(struct XMLElt)];
-+ tmplen = 2560;
-+ str = (char *)malloc(tmplen);
-+ if(str == NULL)
-+ return NULL;
-+ * len = strlen(xmlver);
-+ memcpy(str, xmlver, *len + 1);
-+ /* Replace the optional modelURL and manufacturerURL fields with Samsung foo */
-+ memcpy(&samsungRootDesc, &rootDesc, sizeof(rootDesc));
-+ samsungRootDesc[8+PNPX].eltname = "/sec:ProductCap";
-+ samsungRootDesc[8+PNPX].data = "smi,DCM10,getMediaInfo.sec,getCaptionInfo.sec";
-+ samsungRootDesc[12+PNPX].eltname = "/sec:X_ProductCap";
-+ samsungRootDesc[12+PNPX].data = "smi,DCM10,getMediaInfo.sec,getCaptionInfo.sec";
-+ str = genXML(str, len, &tmplen, samsungRootDesc);
-+ str[*len] = '\0';
-+ return str;
-+}
-+
- /* genServiceDesc() :
- * Generate service description with allowed methods and
- * related variables. */
-Index: upnpdescgen.h
-===================================================================
-RCS file: /cvsroot/minidlna/minidlna/upnpdescgen.h,v
-retrieving revision 1.5
-diff -u -p -r1.5 upnpdescgen.h
---- upnpdescgen.h 17 Feb 2011 23:17:24 -0000 1.5
-+++ upnpdescgen.h 26 Aug 2011 21:32:40 -0000
-@@ -74,6 +74,9 @@ struct stateVar {
- char *
- genRootDesc(int * len);
-
-+char *
-+genRootDescSamsung(int * len);
-+
- /* for the two following functions */
- char *
- genContentDirectory(int * len);
-Index: upnphttp.c
-===================================================================
-RCS file: /cvsroot/minidlna/minidlna/upnphttp.c,v
-retrieving revision 1.87
-diff -u -p -r1.87 upnphttp.c
---- upnphttp.c 18 Aug 2011 18:34:59 -0000 1.87
-+++ upnphttp.c 26 Aug 2011 21:32:40 -0000
-@@ -304,10 +304,12 @@ intervening space) by either an integer
- }
- else if(strstrc(p, "SEC_HHP_", '\r'))
- {
-- h->req_client = ESamsungTV;
-+ h->req_client = ESamsungSeriesC;
- h->reqflags |= FLAG_SAMSUNG;
- h->reqflags |= FLAG_DLNA;
- h->reqflags |= FLAG_NO_RESIZE;
-+ if(strstrc(p, "SEC_HHP_TV", '\r'))
-+ h->reqflags |= FLAG_SAMSUNG_TV;
- }
- else if(strncmp(p, "SamsungWiselinkPro", 18)==0)
- {
-@@ -844,6 +846,10 @@ ProcessHttpQuery_upnphttp(struct upnphtt
- sendXMLdesc(h, genRootDesc);
- friendly_name[i] = '\0';
- }
-+ else if( h->reqflags & FLAG_SAMSUNG_TV )
-+ {
-+ sendXMLdesc(h, genRootDescSamsung);
-+ }
- else
- {
- sendXMLdesc(h, genRootDesc);
-Index: upnphttp.h
-===================================================================
-RCS file: /cvsroot/minidlna/minidlna/upnphttp.h,v
-retrieving revision 1.27
-diff -u -p -r1.27 upnphttp.h
---- upnphttp.h 18 Aug 2011 23:24:17 -0000 1.27
-+++ upnphttp.h 26 Aug 2011 21:32:40 -0000
-@@ -113,7 +113,8 @@ struct upnphttp {
- #define FLAG_NO_RESIZE 0x02000000
- #define FLAG_MS_PFS 0x04000000 // Microsoft PlaysForSure client
- #define FLAG_SAMSUNG 0x08000000
--#define FLAG_AUDIO_ONLY 0x10000000
-+#define FLAG_SAMSUNG_TV 0x10000000
-+#define FLAG_AUDIO_ONLY 0x20000000
-
- #define FLAG_FREE_OBJECT_ID 0x00000001
- #define FLAG_ROOT_CONTAINER 0x00000002
diff --git a/net/minidlna/files/patch-utils-mpo b/net/minidlna/files/patch-utils-mpo
new file mode 100644
index 000000000000..0a5221b424a7
--- /dev/null
+++ b/net/minidlna/files/patch-utils-mpo
@@ -0,0 +1,15 @@
+Submitted by Vladimir B. Grebenschikov this patch recognizes Samsung's
+images as JPEGs.
+
+--- utils.c 2012-01-04 14:16:46.000000000 +0000
++++ utils.c 2012-01-09 00:29:31.000000000 +0000
+@@ -261,7 +261,8 @@
+ int
+ is_image(const char * file)
+ {
+- return (ends_with(file, ".jpg") || ends_with(file, ".jpeg"));
++ return (ends_with(file, ".jpg") || ends_with(file, ".jpeg") ||
++ ends_with(file, ".mpo"));
+ }
+
+ int
diff --git a/net/minidlna/files/patch-warnings b/net/minidlna/files/patch-warnings
new file mode 100644
index 000000000000..5138378835c5
--- /dev/null
+++ b/net/minidlna/files/patch-warnings
@@ -0,0 +1,787 @@
+--- albumart.c 2012-02-10 18:37:22.000000000 -0500
++++ albumart.c 2012-04-10 11:54:08.000000000 -0400
+@@ -26,4 +26,5 @@
+ #include <setjmp.h>
+ #include <errno.h>
++#include <limits.h>
+
+ #include <jpeglib.h>
+@@ -157,5 +158,5 @@
+ }
+
+-char *
++static char *
+ check_embedded_art(const char *path, const char *image_data, int image_size)
+ {
+@@ -218,5 +219,5 @@
+ else if( width > 0 && height > 0 )
+ {
+- size_t nwritten;
++ int nwritten;
+ if( art_cache_exists(path, &art_path) )
+ goto end_art;
+--- image_utils.c 2011-08-22 14:24:18.000000000 -0400
++++ image_utils.c 2012-04-11 11:50:16.000000000 -0400
+@@ -173,5 +173,5 @@
+ }
+
+-void
++static void
+ jpeg_memory_src(j_decompress_ptr cinfo, const unsigned char * buffer, size_t bufsize)
+ {
+@@ -192,5 +192,5 @@
+ }
+
+-jmp_buf setjmp_buffer;
++static jmp_buf setjmp_buffer;
+ /* Don't exit on error like libjpeg likes to do */
+ static void
+@@ -209,5 +209,5 @@
+ }
+
+-pix
++static pix
+ get_pix(image_s *pimage, int32_t x, int32_t y)
+ {
+@@ -223,5 +223,5 @@
+ }
+
+-void
++static void
+ put_pix_alpha_replace(image_s *pimage, int32_t x, int32_t y, pix col)
+ {
+@@ -399,5 +399,5 @@
+ }
+
+-image_s *
++static image_s *
+ image_new(int32_t width, int32_t height)
+ {
+@@ -423,6 +423,15 @@
+ image_new_from_jpeg(const char * path, int is_file, const char * buf, int size, int scale, int rotate)
+ {
+- image_s *vimage;
+- FILE *file = NULL;
++ struct {
++ /*
++ * Using the struct to prevent pointers cached in
++ * in registers and being clobbered by longjmp().
++ * http://lists.apple.com/archives/xcode-users/2003/Dec/msg00050.html
++ */
++ image_s *vimage;
++ FILE *file;
++ } s = { NULL, NULL };
++#define vimage s.vimage
++#define file s.file
+ struct jpeg_decompress_struct cinfo;
+ unsigned char *line[16], *ptr;
+@@ -562,7 +571,9 @@
+
+ return vimage;
++#undef vimage
++#undef file
+ }
+
+-void
++static void
+ image_upsize(image_s * pdest, image_s * psrc, int32_t width, int32_t height)
+ {
+@@ -627,5 +638,5 @@
+ }
+
+-void
++static void
+ image_downsize(image_s * pdest, image_s * psrc, int32_t width, int32_t height)
+ {
+--- log.c 2011-06-20 22:08:21.000000000 -0400
++++ log.c 2012-01-09 17:57:41.000000000 -0500
+@@ -71,5 +71,5 @@
+ rhs++;
+ p = strchr(rhs, ',');
+- n = p ? p - rhs : strlen(rhs);
++ n = p ? (size_t)(p - rhs) : strlen(rhs);
+ for (level=0; level_name[level]; level++) {
+ if (!(strncasecmp(level_name[level], rhs, n)))
+@@ -84,5 +84,5 @@
+ if (*lhs==',') lhs++;
+ p = strpbrk(lhs, ",=");
+- n = p ? p - lhs : strlen(lhs);
++ n = p ? (size_t)(p - lhs) : strlen(lhs);
+ for (facility=0; facility_name[facility]; facility++) {
+ if (!(strncasecmp(facility_name[facility], lhs, n)))
+--- metadata.c 2011-08-22 14:24:19.000000000 -0400
++++ metadata.c 2012-01-09 18:00:06.000000000 -0500
+@@ -21,5 +21,5 @@
+ #include <stdlib.h>
+ #include <sys/stat.h>
+-
++#include <libgen.h>
+ #include <unistd.h>
+ #include <sys/types.h>
+@@ -95,5 +95,5 @@
+ #define MPEG_TS_PACKET_LENGTH 188
+ #define MPEG_TS_PACKET_LENGTH_DLNA 192 /* prepends 4 bytes to TS packet */
+-int
++static int
+ dlna_timestamp_is_present(const char * filename, int * raw_packet_size)
+ {
+@@ -188,5 +188,5 @@
+ }
+
+-void
++static void
+ parse_nfo(const char * path, metadata_t * m)
+ {
+@@ -239,5 +239,5 @@
+ }
+
+-void
++static void
+ free_metadata(metadata_t * m, uint32_t flags)
+ {
+@@ -507,5 +507,6 @@
+ struct jpeg_error_mgr jerr;
+ FILE *infile;
+- int width=0, height=0, thumb=0;
++ int width = 0, height = 0;
++ volatile int thumb = 0;
+ char make[32], model[64] = {'\0'};
+ char b[1024];
+@@ -648,5 +649,6 @@
+ {
+ struct stat file;
+- int ret, i;
++ int ret;
++ unsigned i;
+ struct tm *modtime;
+ AVFormatContext *ctx = NULL;
+--- minissdp.h 2011-07-22 19:03:38.000000000 -0400
++++ minissdp.h 2012-01-09 18:03:04.000000000 -0500
+@@ -32,7 +32,5 @@
+ /*#include "minidlnatypes.h"*/
+
+-int
+-OpenAndConfSSDPReceiveSocket();
+-/* OpenAndConfSSDPReceiveSocket(int n_lan_addr, struct lan_addr_s * lan_addr);*/
++int OpenAndConfSSDPReceiveSocket(void);
+
+ /*int
+--- scanner.h 2010-11-11 18:48:13.000000000 -0500
++++ scanner.h 2012-01-09 18:04:19.000000000 -0500
+@@ -82,5 +82,5 @@
+
+ void
+-start_scanner();
++start_scanner(void);
+
+ #endif
+--- minissdp.c 2011-08-24 21:27:56.000000000 -0400
++++ minissdp.c 2012-01-09 18:15:43.000000000 -0500
+@@ -289,5 +289,6 @@
+ {
+ struct sockaddr_in sockname;
+- int l, n, dup, i=0;
++ int n, dup, i = 0;
++ size_t l;
+ char bufr[512];
+
+@@ -352,5 +353,5 @@
+ }
+
+-void
++static void
+ ParseUPnPClient(char *location)
+ {
+--- minixml.c 2008-10-23 13:30:45.000000000 -0400
++++ minixml.c 2012-01-09 18:17:20.000000000 -0500
+@@ -36,5 +36,6 @@
+ * return 0 (false) in case of success and -1 (true) if the end
+ * of the xmlbuffer is reached. */
+-int parseatt(struct xmlparser * p)
++static int
++parseatt(struct xmlparser * p)
+ {
+ const char * attname;
+@@ -107,5 +108,6 @@
+ /* parseelt parse the xml stream and
+ * call the callback functions when needed... */
+-void parseelt(struct xmlparser * p)
++static void
++parseelt(struct xmlparser * p)
+ {
+ int i;
+--- options.c 2011-08-24 21:27:56.000000000 -0400
++++ options.c 2012-01-09 18:18:31.000000000 -0500
+@@ -74,5 +74,5 @@
+ char *t;
+ int linenum = 0;
+- int i;
++ unsigned i;
+ enum upnpconfigoptions id;
+
+--- playlist.c 2011-08-04 20:31:20.000000000 -0400
++++ playlist.c 2012-01-09 18:20:32.000000000 -0500
+@@ -35,4 +35,5 @@
+ #include "sql.h"
+ #include "log.h"
++#include "playlist.h"
+
+ int
+--- scanner.c 2011-08-24 20:37:10.000000000 -0400
++++ scanner.c 2012-04-11 11:11:02.000000000 -0400
+@@ -24,4 +24,5 @@
+ #include <libgen.h>
+ #include <inttypes.h>
++#include <limits.h>
+ #include <sys/stat.h>
+ #include <sys/time.h>
+@@ -73,5 +74,5 @@
+ }
+
+-int
++static int
+ insert_container(const char * item, const char * rootParent, const char * refID, const char *class,
+ const char *artist, const char *genre, const char *album_art, sqlite3_int64 *objectID, sqlite3_int64 *parentID)
+@@ -166,5 +167,6 @@
+ {
+ insert_container(date_taken, IMAGE_DATE_ID, NULL, "album.photoAlbum", NULL, NULL, NULL, &objectID, &parentID);
+- sprintf(last_date.parentID, IMAGE_DATE_ID"$%"PRIX64, parentID);
++ sprintf(last_date.parentID, IMAGE_DATE_ID"$%"PRIX64,
++ (int64_t)parentID);
+ last_date.objectID = objectID;
+ strcpy(last_date.name, date_taken);
+@@ -189,5 +191,6 @@
+ {
+ insert_container(camera, IMAGE_CAMERA_ID, NULL, "storageFolder", NULL, NULL, NULL, &objectID, &parentID);
+- sprintf(last_cam.parentID, IMAGE_CAMERA_ID"$%"PRIX64, parentID);
++ sprintf(last_cam.parentID, IMAGE_CAMERA_ID"$%"PRIX64,
++ (int64_t)parentID);
+ strncpy(last_cam.name, camera, 255);
+ last_camdate.name[0] = '\0';
+@@ -201,5 +204,6 @@
+ {
+ insert_container(date_taken, last_cam.parentID, NULL, "album.photoAlbum", NULL, NULL, NULL, &objectID, &parentID);
+- sprintf(last_camdate.parentID, "%s$%"PRIX64, last_cam.parentID, parentID);
++ sprintf(last_camdate.parentID, "%s$%"PRIX64, last_cam.parentID,
++ (int64_t)parentID);
+ last_camdate.objectID = objectID;
+ strcpy(last_camdate.name, date_taken);
+@@ -224,5 +228,5 @@
+ else if( strstr(class, "audioItem") )
+ {
+- snprintf(sql, sizeof(sql), "SELECT ALBUM, ARTIST, GENRE, ALBUM_ART from DETAILS where ID = %lld", detailID);
++ snprintf(sql, sizeof(sql), "SELECT ALBUM, ARTIST, GENRE, ALBUM_ART from DETAILS where ID = %jd", (intmax_t)detailID);
+ ret = sql_get_table(db, sql, &result, &row, &cols);
+ if( ret != SQLITE_OK )
+@@ -270,10 +274,12 @@
+ {
+ insert_container(artist, MUSIC_ARTIST_ID, NULL, "person.musicArtist", NULL, genre, NULL, &objectID, &parentID);
+- sprintf(last_artist.parentID, MUSIC_ARTIST_ID"$%"PRIX64, parentID);
++ sprintf(last_artist.parentID, MUSIC_ARTIST_ID"$%"PRIX64,
++ (int64_t)parentID);
+ strcpy(last_artist.name, artist);
+ last_artistAlbum.name[0] = '\0';
+ /* Add this file to the "- All Albums -" container as well */
+ insert_container(_("- All Albums -"), last_artist.parentID, NULL, "album", artist, genre, NULL, &objectID, &parentID);
+- sprintf(last_artistAlbumAll.parentID, "%s$%"PRIX64, last_artist.parentID, parentID);
++ sprintf(last_artistAlbumAll.parentID, "%s$%"PRIX64, last_artist.parentID,
++ (int64_t)parentID);
+ last_artistAlbumAll.objectID = objectID;
+ }
+@@ -291,5 +297,6 @@
+ insert_container(album?album:_("Unknown Album"), last_artist.parentID, album?last_album.parentID:NULL,
+ "album.musicAlbum", artist, genre, album_art, &objectID, &parentID);
+- sprintf(last_artistAlbum.parentID, "%s$%"PRIX64, last_artist.parentID, parentID);
++ sprintf(last_artistAlbum.parentID, "%s$%"PRIX64, last_artist.parentID,
++ (int64_t)parentID);
+ last_artistAlbum.objectID = objectID;
+ strcpy(last_artistAlbum.name, album?album:_("Unknown Album"));
+@@ -312,10 +319,12 @@
+ {
+ insert_container(genre, MUSIC_GENRE_ID, NULL, "genre.musicGenre", NULL, NULL, NULL, &objectID, &parentID);
+- sprintf(last_genre.parentID, MUSIC_GENRE_ID"$%"PRIX64, parentID);
++ sprintf(last_genre.parentID, MUSIC_GENRE_ID"$%"PRIX64,
++ (int64_t)parentID);
+ strcpy(last_genre.name, genre);
+ last_genreArtist.name[0] = '\0';
+ /* Add this file to the "- All Artists -" container as well */
+ insert_container(_("- All Artists -"), last_genre.parentID, NULL, "person", NULL, genre, NULL, &objectID, &parentID);
+- sprintf(last_genreArtistAll.parentID, "%s$%"PRIX64, last_genre.parentID, parentID);
++ sprintf(last_genreArtistAll.parentID, "%s$%"PRIX64, last_genre.parentID,
++ (int64_t)parentID);
+ last_genreArtistAll.objectID = objectID;
+ }
+@@ -332,5 +341,6 @@
+ insert_container(artist?artist:_("Unknown Artist"), last_genre.parentID, artist?last_artist.parentID:NULL,
+ "person.musicArtist", NULL, genre, NULL, &objectID, &parentID);
+- sprintf(last_genreArtist.parentID, "%s$%"PRIX64, last_genre.parentID, parentID);
++ sprintf(last_genreArtist.parentID, "%s$%"PRIX64, last_genre.parentID,
++ (int64_t)parentID);
+ last_genreArtist.objectID = objectID;
+ strcpy(last_genreArtist.name, artist?artist:_("Unknown Artist"));
+@@ -636,6 +646,6 @@
+ ret = sql_exec(db, "INSERT into OBJECTS (OBJECT_ID, PARENT_ID, DETAIL_ID, CLASS, NAME)"
+ " values "
+- "('%s', '%s', %lld, 'container.storageFolder', '%q')",
+- containers[i], containers[i+1], GetFolderMetadata(containers[i+2], NULL, NULL, NULL, 0), containers[i+2]);
++ "('%s', '%s', %jd, 'container.storageFolder', '%q')",
++ containers[i], containers[i+1], (intmax_t)GetFolderMetadata(containers[i+2], NULL, NULL, NULL, 0), containers[i+2]);
+ if( ret != SQLITE_OK )
+ goto sql_failed;
+@@ -656,5 +666,5 @@
+ }
+
+-int
++static int
+ filter_audio(const struct dirent *d)
+ {
+@@ -670,5 +680,5 @@
+ }
+
+-int
++static int
+ filter_video(const struct dirent *d)
+ {
+@@ -682,5 +692,5 @@
+ }
+
+-int
++static int
+ filter_images(const struct dirent *d)
+ {
+@@ -694,5 +704,5 @@
+ }
+
+-int
++static int
+ filter_media(const struct dirent *d)
+ {
+@@ -710,5 +720,5 @@
+ }
+
+-void
++static void
+ ScanDirectory(const char * dir, const char * parent, enum media_types dir_type)
+ {
+--- upnpdescgen.c 2011-05-02 19:50:52.000000000 -0400
++++ upnpdescgen.c 2012-01-09 18:30:11.000000000 -0500
+@@ -327,12 +327,12 @@
+ {"SinkProtocolInfo", 1<<7, 0, 0, 48}, /* required */
+ {"CurrentConnectionIDs", 1<<7, 0, 0, 46}, /* required */
+- {"A_ARG_TYPE_ConnectionStatus", 0, 0, 27}, /* required */
+- {"A_ARG_TYPE_ConnectionManager", 0, 0}, /* required */
+- {"A_ARG_TYPE_Direction", 0, 0, 33}, /* required */
+- {"A_ARG_TYPE_ProtocolInfo", 0, 0}, /* required */
+- {"A_ARG_TYPE_ConnectionID", 4, 0}, /* required */
+- {"A_ARG_TYPE_AVTransportID", 4, 0}, /* required */
+- {"A_ARG_TYPE_RcsID", 4, 0}, /* required */
+- {0, 0}
++ {"A_ARG_TYPE_ConnectionStatus", 0, 0, 27, 0}, /* required */
++ {"A_ARG_TYPE_ConnectionManager", 0, 0, 0, 0}, /* required */
++ {"A_ARG_TYPE_Direction", 0, 0, 33, 0}, /* required */
++ {"A_ARG_TYPE_ProtocolInfo", 0, 0, 0, 0}, /* required */
++ {"A_ARG_TYPE_ConnectionID", 4, 0, 0, 0}, /* required */
++ {"A_ARG_TYPE_AVTransportID", 4, 0, 0, 0}, /* required */
++ {"A_ARG_TYPE_RcsID", 4, 0, 0, 0}, /* required */
++ {NULL, 0, 0, 0, 0}
+ };
+
+@@ -340,5 +340,5 @@
+ {
+ {"SearchCaps", 2, 10},
+- {0, 0}
++ {NULL, 0, 0}
+ };
+
+@@ -346,5 +346,5 @@
+ {
+ {"SortCaps", 2, 11},
+- {0, 0}
++ {NULL, 0, 0}
+ };
+
+@@ -352,5 +352,5 @@
+ {
+ {"Id", 2, 12},
+- {0, 0}
++ {NULL, 0, 0}
+ };
+
+@@ -367,5 +367,5 @@
+ {"TotalMatches", 2, 8},
+ {"UpdateID", 2, 9},
+- {0, 0}
++ {NULL, 0, 0}
+ };
+
+@@ -382,5 +382,5 @@
+ {"TotalMatches", 2, 8},
+ {"UpdateID", 2, 9},
+- {0, 0}
++ {NULL, 0, 0}
+ };
+
+@@ -409,14 +409,14 @@
+ {
+ {"TransferIDs", 1<<7, 0, 0, 48}, /* 0 */
+- {"A_ARG_TYPE_ObjectID", 0, 0},
+- {"A_ARG_TYPE_Result", 0, 0},
+- {"A_ARG_TYPE_SearchCriteria", 0, 0},
+- {"A_ARG_TYPE_BrowseFlag", 0, 0, 36},
++ {"A_ARG_TYPE_ObjectID", 0, 0, 0, 0},
++ {"A_ARG_TYPE_Result", 0, 0, 0, 0},
++ {"A_ARG_TYPE_SearchCriteria", 0, 0, 0, 0},
++ {"A_ARG_TYPE_BrowseFlag", 0, 0, 36, 0},
+ /* Allowed Values : BrowseMetadata / BrowseDirectChildren */
+- {"A_ARG_TYPE_Filter", 0, 0}, /* 5 */
+- {"A_ARG_TYPE_SortCriteria", 0, 0},
+- {"A_ARG_TYPE_Index", 3, 0},
+- {"A_ARG_TYPE_Count", 3, 0},
+- {"A_ARG_TYPE_UpdateID", 3, 0},
++ {"A_ARG_TYPE_Filter", 0, 0, 0, 0}, /* 5 */
++ {"A_ARG_TYPE_SortCriteria", 0, 0, 0, 0},
++ {"A_ARG_TYPE_Index", 3, 0, 0, 0},
++ {"A_ARG_TYPE_Count", 3, 0, 0, 0},
++ {"A_ARG_TYPE_UpdateID", 3, 0, 0, 0},
+ //JM{"A_ARG_TYPE_TransferID", 3, 0}, /* 10 */
+ //JM{"A_ARG_TYPE_TransferStatus", 0, 0, 39},
+@@ -426,9 +426,9 @@
+ //JM{"A_ARG_TYPE_TagValueList", 0, 0},
+ //JM{"A_ARG_TYPE_URI", 5, 0}, /* 15 */
+- {"SearchCapabilities", 0, 0},
+- {"SortCapabilities", 0, 0},
++ {"SearchCapabilities", 0, 0, 0, 0},
++ {"SortCapabilities", 0, 0, 0, 0},
+ {"SystemUpdateID", 3|0x80, 0, 0, 255},
+- //{"ContainerUpdateIDs", 0, 0},
+- {0, 0}
++ //{"ContainerUpdateIDs", 0, 0, 0, 0},
++ {NULL, 0, 0, 0, 0}
+ };
+
+@@ -466,13 +466,12 @@
+ static const struct stateVar X_MS_MediaReceiverRegistrarVars[] =
+ {
+- {"A_ARG_TYPE_DeviceID", 0, 0},
+- {"A_ARG_TYPE_RegistrationReqMsg", 7, 0},
+- {"A_ARG_TYPE_RegistrationRespMsg", 7, 0},
+- {"A_ARG_TYPE_Result", 6, 0},
+- {"AuthorizationDeniedUpdateID", 3, 0},
+- {"AuthorizationGrantedUpdateID", 3, 0},
+- {"ValidationRevokedUpdateID", 3, 0},
+- {"ValidationSucceededUpdateID", 3, 0},
+- {0, 0}
++ {"A_ARG_TYPE_DeviceID", 0, 0, 0, 0},
++ {"A_ARG_TYPE_RegistrationReqMsg", 7, 0, 0, 0},
++ {"A_ARG_TYPE_RegistrationRespMsg", 7, 0, 0, 0},
++ {"A_ARG_TYPE_Result", 6, 0, 0, 0},
++ {"AuthorizationDeniedUpdateID", 3, 0, 0, 0},
++ {"AuthorizationGrantedUpdateID", 3, 0, 0, 0},
++ {"ValidationRevokedUpdateID", 3, 0, 0, 0},
++ {"ValidationSucceededUpdateID", 3, 0, 0, 0},
++ {NULL, 0, 0, 0, 0}
+ };
+--- upnphttp.c 2011-08-18 14:34:59.000000000 -0400
++++ upnphttp.c 2012-01-09 18:32:37.000000000 -0500
+@@ -1138,5 +1149,5 @@
+ }
+
+-int
++static int
+ send_data(struct upnphttp * h, char * header, size_t size, int flags)
+ {
+@@ -1710,5 +1743,5 @@
+ char mime[32];
+ char dlna[96];
+- } last_file = { 0, 0 };
++ } last_file = { 0, 0, { '\0' }, { '\0' }, { '\0' } };
+ #if USE_FORK
+ pid_t newpid = 0;
+--- upnpsoap.c 2011-08-18 19:24:17.000000000 -0400
++++ upnpsoap.c 2012-01-09 18:38:42.000000000 -0500
+@@ -488,5 +488,5 @@
+ }
+
+-char *
++static char *
+ parse_sort_criteria(char * sortCriteria, int * error)
+ {
+--- utils.h 2011-05-13 18:10:15.000000000 -0400
++++ utils.h 2012-01-09 19:00:08.000000000 -0500
+@@ -26,5 +26,9 @@
+
+ int
+-strcatf(struct string_s *str, char *fmt, ...);
++strcatf(struct string_s *str, const char *fmt, ...)
++#ifdef __GNUC__
++ __attribute__((format(printf, 2, 3)))
++#endif
++;
+
+ int
+--- utils.c 2011-07-18 14:13:25.000000000 -0400
++++ utils.c 2012-01-09 18:57:14.000000000 -0500
+@@ -20,5 +20,5 @@
+ #include <string.h>
+ #include <stdlib.h>
+-#include <linux/limits.h>
++#include <limits.h>
+ #include <sys/stat.h>
+ #include <unistd.h>
+@@ -31,6 +31,7 @@
+ #include "upnpglobalvars.h"
+ #include "log.h"
++#include "utils.h"
+
+-inline int
++int
+ strcatf(struct string_s *str, const char *fmt, ...)
+ {
+@@ -282,5 +283,5 @@
+ {
+ unsigned int hash = 5381;
+- unsigned int i = 0;
++ int i = 0;
+
+ for(i = 0; i < len; str++, i++)
+--- uuid.c 2010-11-11 18:48:13.000000000 -0500
++++ uuid.c 2012-01-09 19:43:31.000000000 -0500
+@@ -38,4 +39,5 @@
+ #include "getifaddr.h"
+ #include "log.h"
++#include "uuid.h"
+
+ #define ETH_ALEN 6
+@@ -108,3 +88,3 @@
+
+-void
++static void
+ init_clockseq(void)
+@@ -118,5 +98,5 @@
+ }
+
+-int
++static int
+ generate_uuid(unsigned char uuid_out[16])
+ {
+--- tagutils/tagutils.c 2010-11-11 18:48:14.000000000 -0500
++++ tagutils/tagutils.c 2012-01-09 19:08:06.000000000 -0500
+@@ -97,5 +98,5 @@
+ };
+
+-#define WINAMP_GENRE_UNKNOWN ((sizeof(winamp_genre) / sizeof(winamp_genre[0])) - 1)
++#define WINAMP_GENRE_UNKNOWN ((int)(sizeof(winamp_genre) / sizeof(winamp_genre[0])) - 1)
+
+
+@@ -133,5 +134,5 @@
+ { "wav", _get_wavtags, _get_wavfileinfo },
+ { "pcm", 0, _get_pcmfileinfo },
+- { NULL, 0 }
++ { NULL, NULL, 0 }
+ };
+
+--- tagutils/tagutils-mp3.c 2010-11-11 18:48:14.000000000 -0500
++++ tagutils/tagutils-mp3.c 2012-01-09 19:14:45.000000000 -0500
+@@ -405,5 +406,5 @@
+ unsigned char frame_buffer[2900];
+ unsigned char header[4];
+- int index = 0;
++ unsigned int index = 0;
+ int found = 0;
+ off_t pos;
+@@ -549,9 +550,9 @@
+ struct mp3_frameinfo fi;
+ unsigned int size = 0;
+- unsigned int n_read;
++ size_t n_read;
+ off_t fp_size = 0;
+ off_t file_size;
+ unsigned char buffer[1024];
+- int index;
++ unsigned int index;
+
+ int xing_flags;
+@@ -618,5 +619,5 @@
+ {
+ fseek(infile, fp_size, SEEK_SET);
+- if((n_read = fread(buffer, 1, sizeof(buffer), infile)) < 4) // at least mp3 frame header size (i.e. 4 bytes)
++ if((n_read = fread(buffer, 1, sizeof(buffer), infile)) < 50)
+ {
+ fclose(infile);
+--- tagutils/tagutils-aac.c 2010-11-11 18:48:14.000000000 -0500
++++ tagutils/tagutils-aac.c 2012-01-09 19:20:35.000000000 -0500
+@@ -82,5 +82,5 @@
+ unsigned int atom_length;
+
+- long current_offset = 0;
++ unsigned int current_offset = 0;
+ int current_size;
+ char current_atom[4];
+@@ -120,5 +120,6 @@
+ memset(current_data, 0x00, len);
+
+- if(fread(current_data, 1, current_size - 8, fin) != current_size - 8)
++ if ((int)fread(current_data, 1, current_size - 8, fin)
++ != current_size - 8)
+ break;
+
+@@ -244,5 +245,5 @@
+ }
+
+-int
++static int
+ _aac_check_extended_descriptor(FILE *infile)
+ {
+--- tagutils/tagutils-flc.c 2011-05-02 19:50:52.000000000 -0400
++++ tagutils/tagutils-flc.c 2012-01-09 19:22:35.000000000 -0500
+@@ -27,5 +27,5 @@
+ FLAC__StreamMetadata *block;
+ unsigned int sec, ms;
+- int i;
++ unsigned int i;
+ int err = 0;
+
+--- tagutils/tagutils-asf.c 2011-05-16 20:25:03.000000000 -0400
++++ tagutils/tagutils-asf.c 2012-01-09 19:28:32.000000000 -0500
+@@ -24,5 +24,5 @@
+ _asf_read_file_properties(FILE *fp, asf_file_properties_t *p, __u32 size)
+ {
+- int len;
++ unsigned int len;
+
+ len = sizeof(*p) - offsetof(asf_file_properties_t, FileID);
+@@ -64,8 +64,8 @@
+
+ static int
+-_asf_read_audio_stream(FILE *fp, struct song_metadata *psong, int size)
++_asf_read_audio_stream(FILE *fp, struct song_metadata *psong, __u32 size)
+ {
+ asf_audio_stream_t s;
+- int len;
++ unsigned int len;
+
+ len = sizeof(s) - sizeof(s.Hdr);
+@@ -91,5 +91,5 @@
+ asf_media_stream_t s;
+ avi_audio_format_t wfx;
+- int len;
++ unsigned int len;
+
+ len = sizeof(s) - sizeof(s.Hdr);
+@@ -122,5 +122,5 @@
+ {
+ asf_stream_object_t s;
+- int len;
++ unsigned int len;
+
+ len = sizeof(s) - sizeof(asf_object_t);
+@@ -146,6 +146,6 @@
+ _asf_read_extended_stream_object(FILE *fp, struct song_metadata *psong, __u32 size)
+ {
+- int i, len;
+- long off;
++ unsigned int i, len;
++ size_t off;
+ asf_object_t tmp;
+ asf_extended_stream_object_t xs;
+@@ -202,5 +202,5 @@
+ {
+ off_t pos;
+- long off;
++ size_t off;
+ asf_header_extension_t ext;
+ asf_object_t tmp;
+@@ -234,5 +234,5 @@
+
+ static int
+-_asf_load_string(FILE *fp, int type, int size, char *buf, int len)
++_asf_load_string(FILE *fp, int type, unsigned short size, char *buf, int len)
+ {
+ unsigned char data[2048];
+@@ -303,5 +303,5 @@
+ _asf_load_picture(FILE *fp, int size, void *bm, int *bm_size)
+ {
+- int i;
++ unsigned int i;
+ char buf[256];
+ #if 0
+--- tagutils/tagutils.h 2011-05-16 20:25:03.000000000 -0400
++++ tagutils/tagutils.h 2012-01-09 19:31:58.000000000 -0500
+@@ -44,5 +44,5 @@
+
+ struct song_metadata {
+- int file_size;
++ off_t file_size;
+ char *dirpath;
+ char *path;
+--- tagutils/tagutils-wav.c 2012-01-17 17:49:02.000000000 -0500
++++ tagutils/tagutils-wav.c 2012-04-10 12:01:10.000000000 -0400
+@@ -34,5 +34,4 @@
+ {
+ int fd;
+- uint32_t len;
+ unsigned char hdr[12];
+ unsigned char fmt[16];
+@@ -58,6 +57,5 @@
+ }
+
+- len = 12;
+- if(!(len = read(fd, hdr, len)) || (len != 12))
++ if (read(fd, hdr, sizeof hdr) != sizeof hdr)
+ {
+ DPRINTF(E_WARN, L_SCANNER, "Could not read wav header from %s\n", filename);
+@@ -82,6 +80,5 @@
+ while(current_offset < psong->file_size)
+ {
+- len = 8;
+- if(!(len = read(fd, hdr, len)) || (len != 8))
++ if (read(fd, hdr, 8) != 8)
+ {
+ close(fd);
+@@ -101,16 +98,8 @@
+ // block_len);
+
+- if(block_len < 0)
+- {
+- close(fd);
+- DPRINTF(E_WARN, L_SCANNER, "Bad block len: %s\n", filename);
+- return -1;
+- }
+-
+ if(strncmp((char*)&hdr, "fmt ", 4) == 0)
+ {
+ //DEBUG DPRINTF(E_DEBUG,L_SCANNER,"Found 'fmt ' header\n");
+- len = 16;
+- if(!read(fd, fmt, len) || (len != 16))
++ if (read(fd, fmt, 16) != 16)
+ {
+ close(fd);
+@@ -144,12 +133,17 @@
+ int taglen;
+ char **m;
++ ssize_t len;
+
+ len = GET_WAV_INT32(hdr + 4);
+- if(len > 65536)
++ if(len <=0 || len > 65536)
+ goto next_block;
+
+ tags = malloc(len+1);
+- if(!tags)
++ if(!tags) {
++ DPRINTF(E_WARN, L_SCANNER,
++ "Failed to malloc %ld bytes",
++ (long)len);
+ goto next_block;
++ }
+
+ if(read(fd, tags, len) < len ||
+--- upnpevents.c 2012-02-13 17:48:56.000000000 -0500
++++ upnpevents.c 2012-04-11 11:31:14.000000000 -0400
+@@ -257,5 +257,5 @@
+ upnp_event_notify_connect(struct upnp_event_notify * obj)
+ {
+- int i;
++ unsigned int i;
+ const char * p;
+ unsigned short port;
diff --git a/net/minidlna/files/scandir-patch b/net/minidlna/files/scandir-patch
index 7c056061cc48..eb3e8963d986 100644
--- a/net/minidlna/files/scandir-patch
+++ b/net/minidlna/files/scandir-patch
@@ -3,7 +3,7 @@
@@ -629,7 +633,7 @@
}
- int
+ static int
-filter_audio(const struct dirent *d)
+filter_audio(struct dirent *d)
{
@@ -12,7 +12,7 @@
@@ -641,7 +645,7 @@
}
- int
+ static int
-filter_video(const struct dirent *d)
+filter_video(struct dirent *d)
{
@@ -21,7 +21,7 @@
@@ -653,7 +657,7 @@
}
- int
+ static int
-filter_images(const struct dirent *d)
+filter_images(struct dirent *d)
{
@@ -30,7 +30,7 @@
@@ -665,7 +669,7 @@
}
- int
+ static int
-filter_media(const struct dirent *d)
+filter_media(struct dirent *d)
{