[<prev] [next>] [day] [month] [year] [list]
Message-ID: <b01f01258a51430bbcc848ae3c73fb5f@qianxin.com>
Date: Tue, 26 Mar 2024 08:48:58 +0000
From: 柳菁峰 <liujingfeng@...nxin.com>
To: "viro@...iv.linux.org.uk" <viro@...iv.linux.org.uk>, "brauner@...nel.org"
<brauner@...nel.org>, "jack@...e.cz" <jack@...e.cz>,
"linux-fsdevel@...r.kernel.org" <linux-fsdevel@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
CC: "syzkaller@...glegroups.com" <syzkaller@...glegroups.com>,
"secalert@...hat.com" <secalert@...hat.com>
Subject: slab-out-of-bounds Read in ea_get/hex_dump_to_buffer
There is a slab-out-of-bounds Read in ea_get/hex_dump_to_buffer,it was found by syzkaller with linux tag: v6.8.
Here is the crash info:
BUG: KASAN: slab-out-of-bounds in hex_dump_to_buffer+0xd8f/0xde0 lib/hexdump.c:193
Read of size 1 at addr ffff88802acbee80 by task syz-executor.3/25149
CPU: 0 PID: 25149 Comm: syz-executor.3 Not tainted 6.8.0 #1
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014
Call Trace:
<TASK>
__dump_stack lib/dump_stack.c:88 [inline]
dump_stack_lvl+0xd5/0x150 lib/dump_stack.c:106
print_address_description mm/kasan/report.c:377 [inline]
print_report+0xc1/0x5e0 mm/kasan/report.c:488
kasan_report+0xba/0xf0 mm/kasan/report.c:601
hex_dump_to_buffer+0xd8f/0xde0 lib/hexdump.c:193
print_hex_dump+0x16d/0x240 lib/hexdump.c:276
ea_get+0x747/0x12f0 fs/jfs/xattr.c:561
__jfs_getxattr+0xc2/0x330 fs/jfs/xattr.c:807
jfs_xattr_get+0x39/0x50 fs/jfs/xattr.c:931
__vfs_getxattr+0x134/0x190 fs/xattr.c:424
cap_inode_need_killpriv+0x3c/0x60 security/commoncap.c:302
security_inode_need_killpriv+0x40/0x90 security/security.c:2453
dentry_needs_remove_privs+0xa6/0xf0 fs/inode.c:2013
do_truncate+0xcc/0x200 fs/open.c:58
handle_truncate fs/namei.c:3303 [inline]
do_open fs/namei.c:3649 [inline]
path_openat+0x1f86/0x2660 fs/namei.c:3802
do_filp_open+0x1c5/0x410 fs/namei.c:3829
do_sys_openat2+0x160/0x1c0 fs/open.c:1404
do_sys_open fs/open.c:1419 [inline]
__do_sys_creat fs/open.c:1495 [inline]
__se_sys_creat fs/open.c:1489 [inline]
__x64_sys_creat+0xc9/0x120 fs/open.c:1489
do_syscall_x64 arch/x86/entry/common.c:52 [inline]
do_syscall_64+0x73/0x1c0 arch/x86/entry/common.c:83
entry_SYSCALL_64_after_hwframe+0x63/0x6b
RIP: 0033:0x7f018169002d
Code: c3 e8 97 2b 00 00 0f 1f 80 00 00 00 00 f3 0f 1e fa 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b0 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f0182331028 EFLAGS: 00000246 ORIG_RAX: 0000000000000055
RAX: ffffffffffffffda RBX: 00007f01817cc050 RCX: 00007f018169002d
RDX: 0000000000000000 RSI: 0000000000000000 RDI: 0000000020000240
RBP: 00007f01816f14a6 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 000000000000006e R14: 00007f01817cc050 R15: 00007f0182311000
</TASK>
Allocated by task 25122:
kasan_save_stack+0x20/0x40 mm/kasan/common.c:47
kasan_save_track+0x10/0x30 mm/kasan/common.c:68
unpoison_slab_object mm/kasan/common.c:312 [inline]
__kasan_slab_alloc+0x7b/0x80 mm/kasan/common.c:338
kasan_slab_alloc include/linux/kasan.h:201 [inline]
slab_post_alloc_hook mm/slub.c:3813 [inline]
slab_alloc_node mm/slub.c:3860 [inline]
kmem_cache_alloc_lru+0x13b/0x880 mm/slub.c:3879
alloc_inode_sb include/linux/fs.h:3018 [inline]
jfs_alloc_inode+0x23/0x60 fs/jfs/super.c:105
alloc_inode+0x61/0x230 fs/inode.c:260
iget_locked+0x1a4/0x6d0 fs/inode.c:1278
jfs_iget+0x1a/0x4d0 fs/jfs/inode.c:29
jfs_lookup+0x274/0x340 fs/jfs/namei.c:1469
lookup_open.isra.0+0x8b2/0x1350 fs/namei.c:3478
open_last_lookups fs/namei.c:3569 [inline]
path_openat+0xa87/0x2660 fs/namei.c:3799
do_filp_open+0x1c5/0x410 fs/namei.c:3829
do_sys_openat2+0x160/0x1c0 fs/open.c:1404
do_sys_open fs/open.c:1419 [inline]
__do_sys_openat fs/open.c:1435 [inline]
__se_sys_openat fs/open.c:1430 [inline]
__x64_sys_openat+0x13c/0x1f0 fs/open.c:1430
do_syscall_x64 arch/x86/entry/common.c:52 [inline]
do_syscall_64+0x73/0x1c0 arch/x86/entry/common.c:83
entry_SYSCALL_64_after_hwframe+0x63/0x6b
The buggy address belongs to the object at ffff88802acbe5c0
which belongs to the cache jfs_ip of size 2240
The buggy address is located 0 bytes to the right of
allocated 2240-byte region [ffff88802acbe5c0, ffff88802acbee80)
The buggy address belongs to the physical page:
page:ffffea0000ab2e00 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x2acb8
head:ffffea0000ab2e00 order:3 entire_mapcount:0 nr_pages_mapped:0 pincount:0
memcg:ffff8880475c9201
flags: 0xfff00000000840(slab|head|node=0|zone=1|lastcpupid=0x7ff)
page_type: 0xffffffff()
raw: 00fff00000000840 ffff888104298c80 dead000000000100 dead000000000122
raw: 0000000000000000 00000000000d000d 00000001ffffffff ffff8880475c9201
page dumped because: kasan: bad access detected
page_owner tracks the page as allocated
page last allocated via order 3, migratetype Reclaimable, gfp_mask 0x1d2050(__GFP_IO|__GFP_NOWARN|__GFP_NORETRY|__GFP_COMP|__GFP_NOMEMALLOC|__GFP_HARDWALL|__GFP_RECLAIMABLE), pid 22224, tgid 22221 (syz-executor.1), ts 2735761345773, free_ts 1577602259194
set_page_owner include/linux/page_owner.h:31 [inline]
post_alloc_hook+0x2d4/0x350 mm/page_alloc.c:1533
prep_new_page mm/page_alloc.c:1540 [inline]
get_page_from_freelist+0xd38/0x3030 mm/page_alloc.c:3311
__alloc_pages+0x1c7/0x490 mm/page_alloc.c:4569
__alloc_pages_node include/linux/gfp.h:238 [inline]
alloc_pages_node include/linux/gfp.h:261 [inline]
alloc_slab_page mm/slub.c:2190 [inline]
allocate_slab+0xa7/0x380 mm/slub.c:2354
new_slab mm/slub.c:2407 [inline]
___slab_alloc+0x99a/0x1870 mm/slub.c:3540
__slab_alloc.constprop.0+0x56/0xa0 mm/slub.c:3625
__slab_alloc_node mm/slub.c:3678 [inline]
slab_alloc_node mm/slub.c:3850 [inline]
kmem_cache_alloc_lru+0x475/0x880 mm/slub.c:3879
alloc_inode_sb include/linux/fs.h:3018 [inline]
jfs_alloc_inode+0x23/0x60 fs/jfs/super.c:105
alloc_inode+0x61/0x230 fs/inode.c:260
new_inode_pseudo fs/inode.c:1005 [inline]
new_inode+0x1e/0x270 fs/inode.c:1031
diReadSpecial+0x4f/0x6d0 fs/jfs/jfs_imap.c:423
jfs_mount+0x60c/0x8b0 fs/jfs/jfs_mount.c:138
jfs_fill_super+0x5a4/0xd40 fs/jfs/super.c:556
mount_bdev+0x1e1/0x2d0 fs/super.c:1658
legacy_get_tree+0x105/0x220 fs/fs_context.c:662
vfs_get_tree+0x8d/0x370 fs/super.c:1779
page last free pid 17309 tgid 17309 stack trace:
reset_page_owner include/linux/page_owner.h:24 [inline]
free_pages_prepare mm/page_alloc.c:1140 [inline]
free_unref_page_prepare+0x50d/0xb00 mm/page_alloc.c:2346
free_unref_page+0x2f/0x3d0 mm/page_alloc.c:2486
__put_partials+0x151/0x170 mm/slub.c:2922
qlink_free mm/kasan/quarantine.c:163 [inline]
qlist_free_all+0x50/0x140 mm/kasan/quarantine.c:179
kasan_quarantine_reduce+0x18a/0x1d0 mm/kasan/quarantine.c:286
__kasan_slab_alloc+0x5f/0x80 mm/kasan/common.c:322
kasan_slab_alloc include/linux/kasan.h:201 [inline]
slab_post_alloc_hook mm/slub.c:3813 [inline]
slab_alloc_node mm/slub.c:3860 [inline]
__do_kmalloc_node mm/slub.c:3980 [inline]
__kmalloc+0x1c1/0x570 mm/slub.c:3994
kmalloc include/linux/slab.h:594 [inline]
tomoyo_realpath_from_path+0xbf/0x630 security/tomoyo/realpath.c:251
tomoyo_get_realpath security/tomoyo/file.c:151 [inline]
tomoyo_path_perm+0x22b/0x440 security/tomoyo/file.c:822
security_inode_getattr+0xcf/0x140 security/security.c:2238
vfs_getattr fs/stat.c:173 [inline]
vfs_fstat+0x46/0xb0 fs/stat.c:198
__do_sys_newfstat+0x7a/0xf0 fs/stat.c:478
do_syscall_x64 arch/x86/entry/common.c:52 [inline]
do_syscall_64+0x73/0x1c0 arch/x86/entry/common.c:83
entry_SYSCALL_64_after_hwframe+0x63/0x6b
Memory state around the buggy address:
ffff88802acbed80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ffff88802acbee00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
>ffff88802acbee80: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
^
ffff88802acbef00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ffff88802acbef80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Here is the C code reproducer by syzkaller:
// autogenerated by syzkaller (https://github.com/google/syzkaller)
#define _GNU_SOURCE
#include <dirent.h>
#include <endian.h>
#include <errno.h>
#include <fcntl.h>
#include <setjmp.h>
#include <signal.h>
#include <stdarg.h>
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/ioctl.h>
#include <sys/mman.h>
#include <sys/mount.h>
#include <sys/prctl.h>
#include <sys/stat.h>
#include <sys/syscall.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <time.h>
#include <unistd.h>
#include <linux/loop.h>
#ifndef __NR_memfd_create
#define __NR_memfd_create 319
#endif
static unsigned long long procid;
static void sleep_ms(uint64_t ms)
{
usleep(ms * 1000);
}
static uint64_t current_time_ms(void)
{
struct timespec ts;
if (clock_gettime(CLOCK_MONOTONIC, &ts))
exit(1);
return (uint64_t)ts.tv_sec * 1000 + (uint64_t)ts.tv_nsec / 1000000;
}
static bool write_file(const char* file, const char* what, ...)
{
char buf[1024];
va_list args;
va_start(args, what);
vsnprintf(buf, sizeof(buf), what, args);
va_end(args);
buf[sizeof(buf) - 1] = 0;
int len = strlen(buf);
int fd = open(file, O_WRONLY | O_CLOEXEC);
if (fd == -1)
return false;
if (write(fd, buf, len) != len) {
int err = errno;
close(fd);
errno = err;
return false;
}
close(fd);
return true;
}
//% This code is derived from puff.{c,h}, found in the zlib development. The
//% original files come with the following copyright notice:
//% Copyright (C) 2002-2013 Mark Adler, all rights reserved
//% version 2.3, 21 Jan 2013
//% This software is provided 'as-is', without any express or implied
//% warranty. In no event will the author be held liable for any damages
//% arising from the use of this software.
//% Permission is granted to anyone to use this software for any purpose,
//% including commercial applications, and to alter it and redistribute it
//% freely, subject to the following restrictions:
//% 1. The origin of this software must not be misrepresented; you must not
//% claim that you wrote the original software. If you use this software
//% in a product, an acknowledgment in the product documentation would be
//% appreciated but is not required.
//% 2. Altered source versions must be plainly marked as such, and must not be
//% misrepresented as being the original software.
//% 3. This notice may not be removed or altered from any source distribution.
//% Mark Adler madler@...mni.caltech.edu
//% BEGIN CODE DERIVED FROM puff.{c,h}
#define MAXBITS 15
#define MAXLCODES 286
#define MAXDCODES 30
#define MAXCODES (MAXLCODES + MAXDCODES)
#define FIXLCODES 288
struct puff_state {
unsigned char* out;
unsigned long outlen;
unsigned long outcnt;
const unsigned char* in;
unsigned long inlen;
unsigned long incnt;
int bitbuf;
int bitcnt;
jmp_buf env;
};
static int puff_bits(struct puff_state* s, int need)
{
long val = s->bitbuf;
while (s->bitcnt < need) {
if (s->incnt == s->inlen)
longjmp(s->env, 1);
val |= (long)(s->in[s->incnt++]) << s->bitcnt;
s->bitcnt += 8;
}
s->bitbuf = (int)(val >> need);
s->bitcnt -= need;
return (int)(val & ((1L << need) - 1));
}
static int puff_stored(struct puff_state* s)
{
s->bitbuf = 0;
s->bitcnt = 0;
if (s->incnt + 4 > s->inlen)
return 2;
unsigned len = s->in[s->incnt++];
len |= s->in[s->incnt++] << 8;
if (s->in[s->incnt++] != (~len & 0xff) ||
s->in[s->incnt++] != ((~len >> 8) & 0xff))
return -2;
if (s->incnt + len > s->inlen)
return 2;
if (s->outcnt + len > s->outlen)
return 1;
for (; len--; s->outcnt++, s->incnt++) {
if (s->in[s->incnt])
s->out[s->outcnt] = s->in[s->incnt];
}
return 0;
}
struct puff_huffman {
short* count;
short* symbol;
};
static int puff_decode(struct puff_state* s, const struct puff_huffman* h)
{
int first = 0;
int index = 0;
int bitbuf = s->bitbuf;
int left = s->bitcnt;
int code = first = index = 0;
int len = 1;
short* next = h->count + 1;
while (1) {
while (left--) {
code |= bitbuf & 1;
bitbuf >>= 1;
int count = *next++;
if (code - count < first) {
s->bitbuf = bitbuf;
s->bitcnt = (s->bitcnt - len) & 7;
return h->symbol[index + (code - first)];
}
index += count;
first += count;
first <<= 1;
code <<= 1;
len++;
}
left = (MAXBITS + 1) - len;
if (left == 0)
break;
if (s->incnt == s->inlen)
longjmp(s->env, 1);
bitbuf = s->in[s->incnt++];
if (left > 8)
left = 8;
}
return -10;
}
static int puff_construct(struct puff_huffman* h, const short* length, int n)
{
int len;
for (len = 0; len <= MAXBITS; len++)
h->count[len] = 0;
int symbol;
for (symbol = 0; symbol < n; symbol++)
(h->count[length[symbol]])++;
if (h->count[0] == n)
return 0;
int left = 1;
for (len = 1; len <= MAXBITS; len++) {
left <<= 1;
left -= h->count[len];
if (left < 0)
return left;
}
short offs[MAXBITS + 1];
offs[1] = 0;
for (len = 1; len < MAXBITS; len++)
offs[len + 1] = offs[len] + h->count[len];
for (symbol = 0; symbol < n; symbol++)
if (length[symbol] != 0)
h->symbol[offs[length[symbol]]++] = symbol;
return left;
}
static int puff_codes(struct puff_state* s,
const struct puff_huffman* lencode,
const struct puff_huffman* distcode)
{
static const short lens[29] = {
3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31,
35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258};
static const short lext[29] = {
0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2,
3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0};
static const short dists[30] = {
1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193,
257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145,
8193, 12289, 16385, 24577};
static const short dext[30] = {
0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6,
7, 7, 8, 8, 9, 9, 10, 10, 11, 11,
12, 12, 13, 13};
int symbol;
do {
symbol = puff_decode(s, lencode);
if (symbol < 0)
return symbol;
if (symbol < 256) {
if (s->outcnt == s->outlen)
return 1;
if (symbol)
s->out[s->outcnt] = symbol;
s->outcnt++;
} else if (symbol > 256) {
symbol -= 257;
if (symbol >= 29)
return -10;
int len = lens[symbol] + puff_bits(s, lext[symbol]);
symbol = puff_decode(s, distcode);
if (symbol < 0)
return symbol;
unsigned dist = dists[symbol] + puff_bits(s, dext[symbol]);
if (dist > s->outcnt)
return -11;
if (s->outcnt + len > s->outlen)
return 1;
while (len--) {
if (dist <= s->outcnt && s->out[s->outcnt - dist])
s->out[s->outcnt] = s->out[s->outcnt - dist];
s->outcnt++;
}
}
} while (symbol != 256);
return 0;
}
static int puff_fixed(struct puff_state* s)
{
static int virgin = 1;
static short lencnt[MAXBITS + 1], lensym[FIXLCODES];
static short distcnt[MAXBITS + 1], distsym[MAXDCODES];
static struct puff_huffman lencode, distcode;
if (virgin) {
lencode.count = lencnt;
lencode.symbol = lensym;
distcode.count = distcnt;
distcode.symbol = distsym;
short lengths[FIXLCODES];
int symbol;
for (symbol = 0; symbol < 144; symbol++)
lengths[symbol] = 8;
for (; symbol < 256; symbol++)
lengths[symbol] = 9;
for (; symbol < 280; symbol++)
lengths[symbol] = 7;
for (; symbol < FIXLCODES; symbol++)
lengths[symbol] = 8;
puff_construct(&lencode, lengths, FIXLCODES);
for (symbol = 0; symbol < MAXDCODES; symbol++)
lengths[symbol] = 5;
puff_construct(&distcode, lengths, MAXDCODES);
virgin = 0;
}
return puff_codes(s, &lencode, &distcode);
}
static int puff_dynamic(struct puff_state* s)
{
static const short order[19] =
{16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15};
int nlen = puff_bits(s, 5) + 257;
int ndist = puff_bits(s, 5) + 1;
int ncode = puff_bits(s, 4) + 4;
if (nlen > MAXLCODES || ndist > MAXDCODES)
return -3;
short lengths[MAXCODES];
int index;
for (index = 0; index < ncode; index++)
lengths[order[index]] = puff_bits(s, 3);
for (; index < 19; index++)
lengths[order[index]] = 0;
short lencnt[MAXBITS + 1], lensym[MAXLCODES];
struct puff_huffman lencode = {lencnt, lensym};
int err = puff_construct(&lencode, lengths, 19);
if (err != 0)
return -4;
index = 0;
while (index < nlen + ndist) {
int symbol;
int len;
symbol = puff_decode(s, &lencode);
if (symbol < 0)
return symbol;
if (symbol < 16)
lengths[index++] = symbol;
else {
len = 0;
if (symbol == 16) {
if (index == 0)
return -5;
len = lengths[index - 1];
symbol = 3 + puff_bits(s, 2);
} else if (symbol == 17)
symbol = 3 + puff_bits(s, 3);
else
symbol = 11 + puff_bits(s, 7);
if (index + symbol > nlen + ndist)
return -6;
while (symbol--)
lengths[index++] = len;
}
}
if (lengths[256] == 0)
return -9;
err = puff_construct(&lencode, lengths, nlen);
if (err && (err < 0 || nlen != lencode.count[0] + lencode.count[1]))
return -7;
short distcnt[MAXBITS + 1], distsym[MAXDCODES];
struct puff_huffman distcode = {distcnt, distsym};
err = puff_construct(&distcode, lengths + nlen, ndist);
if (err && (err < 0 || ndist != distcode.count[0] + distcode.count[1]))
return -8;
return puff_codes(s, &lencode, &distcode);
}
static int puff(
unsigned char* dest,
unsigned long* destlen,
const unsigned char* source,
unsigned long sourcelen)
{
struct puff_state s = {
.out = dest,
.outlen = *destlen,
.outcnt = 0,
.in = source,
.inlen = sourcelen,
.incnt = 0,
.bitbuf = 0,
.bitcnt = 0,
};
int err;
if (setjmp(s.env) != 0)
err = 2;
else {
int last;
do {
last = puff_bits(&s, 1);
int type = puff_bits(&s, 2);
err = type == 0 ? puff_stored(&s) : (type == 1 ? puff_fixed(&s) : (type == 2 ? puff_dynamic(&s) : -1));
if (err != 0)
break;
} while (!last);
}
*destlen = s.outcnt;
return err;
}
//% END CODE DERIVED FROM puff.{c,h}
#define ZLIB_HEADER_WIDTH 2
static int puff_zlib_to_file(const unsigned char* source, unsigned long sourcelen, int dest_fd)
{
if (sourcelen < ZLIB_HEADER_WIDTH)
return 0;
source += ZLIB_HEADER_WIDTH;
sourcelen -= ZLIB_HEADER_WIDTH;
const unsigned long max_destlen = 132 << 20;
void* ret = mmap(0, max_destlen, PROT_WRITE | PROT_READ, MAP_PRIVATE | MAP_ANON, -1, 0);
if (ret == MAP_FAILED)
return -1;
unsigned char* dest = (unsigned char*)ret;
unsigned long destlen = max_destlen;
int err = puff(dest, &destlen, source, sourcelen);
if (err) {
munmap(dest, max_destlen);
errno = -err;
return -1;
}
if (write(dest_fd, dest, destlen) != (ssize_t)destlen) {
munmap(dest, max_destlen);
return -1;
}
return munmap(dest, max_destlen);
}
static int setup_loop_device(unsigned char* data, unsigned long size, const char* loopname, int* loopfd_p)
{
int err = 0, loopfd = -1;
int memfd = syscall(__NR_memfd_create, "syzkaller", 0);
if (memfd == -1) {
err = errno;
goto error;
}
if (puff_zlib_to_file(data, size, memfd)) {
err = errno;
goto error_close_memfd;
}
loopfd = open(loopname, O_RDWR);
if (loopfd == -1) {
err = errno;
goto error_close_memfd;
}
if (ioctl(loopfd, LOOP_SET_FD, memfd)) {
if (errno != EBUSY) {
err = errno;
goto error_close_loop;
}
ioctl(loopfd, LOOP_CLR_FD, 0);
usleep(1000);
if (ioctl(loopfd, LOOP_SET_FD, memfd)) {
err = errno;
goto error_close_loop;
}
}
close(memfd);
*loopfd_p = loopfd;
return 0;
error_close_loop:
close(loopfd);
error_close_memfd:
close(memfd);
error:
errno = err;
return -1;
}
static void reset_loop_device(const char* loopname)
{
int loopfd = open(loopname, O_RDWR);
if (loopfd == -1) {
return;
}
if (ioctl(loopfd, LOOP_CLR_FD, 0)) {
}
close(loopfd);
}
static long syz_mount_image(
volatile long fsarg,
volatile long dir,
volatile long flags,
volatile long optsarg,
volatile long change_dir,
volatile unsigned long size,
volatile long image)
{
unsigned char* data = (unsigned char*)image;
int res = -1, err = 0, need_loop_device = !!size;
char* mount_opts = (char*)optsarg;
char* target = (char*)dir;
char* fs = (char*)fsarg;
char* source = NULL;
char loopname[64];
if (need_loop_device) {
int loopfd;
memset(loopname, 0, sizeof(loopname));
snprintf(loopname, sizeof(loopname), "/dev/loop%llu", procid);
if (setup_loop_device(data, size, loopname, &loopfd) == -1)
return -1;
close(loopfd);
source = loopname;
}
mkdir(target, 0777);
char opts[256];
memset(opts, 0, sizeof(opts));
if (strlen(mount_opts) > (sizeof(opts) - 32)) {
}
strncpy(opts, mount_opts, sizeof(opts) - 32);
if (strcmp(fs, "iso9660") == 0) {
flags |= MS_RDONLY;
} else if (strncmp(fs, "ext", 3) == 0) {
bool has_remount_ro = false;
char* remount_ro_start = strstr(opts, "errors=remount-ro");
if (remount_ro_start != NULL) {
char after = *(remount_ro_start + strlen("errors=remount-ro"));
char before = remount_ro_start == opts ? '\0' : *(remount_ro_start - 1);
has_remount_ro = ((before == '\0' || before == ',') && (after == '\0' || after == ','));
}
if (strstr(opts, "errors=panic") || !has_remount_ro)
strcat(opts, ",errors=continue");
} else if (strcmp(fs, "xfs") == 0) {
strcat(opts, ",nouuid");
}
res = mount(source, target, fs, flags, opts);
if (res == -1) {
err = errno;
goto error_clear_loop;
}
res = open(target, O_RDONLY | O_DIRECTORY);
if (res == -1) {
err = errno;
goto error_clear_loop;
}
if (change_dir) {
res = chdir(target);
if (res == -1) {
err = errno;
}
}
error_clear_loop:
if (need_loop_device)
reset_loop_device(loopname);
errno = err;
return res;
}
static void kill_and_wait(int pid, int* status)
{
kill(-pid, SIGKILL);
kill(pid, SIGKILL);
for (int i = 0; i < 100; i++) {
if (waitpid(-1, status, WNOHANG | __WALL) == pid)
return;
usleep(1000);
}
DIR* dir = opendir("/sys/fs/fuse/connections");
if (dir) {
for (;;) {
struct dirent* ent = readdir(dir);
if (!ent)
break;
if (strcmp(ent->d_name, ".") == 0 || strcmp(ent->d_name, "..") == 0)
continue;
char abort[300];
snprintf(abort, sizeof(abort), "/sys/fs/fuse/connections/%s/abort", ent->d_name);
int fd = open(abort, O_WRONLY);
if (fd == -1) {
continue;
}
if (write(fd, abort, 1) < 0) {
}
close(fd);
}
closedir(dir);
} else {
}
while (waitpid(-1, status, __WALL) != pid) {
}
}
static void reset_loop()
{
char buf[64];
snprintf(buf, sizeof(buf), "/dev/loop%llu", procid);
int loopfd = open(buf, O_RDWR);
if (loopfd != -1) {
ioctl(loopfd, LOOP_CLR_FD, 0);
close(loopfd);
}
}
static void setup_test()
{
prctl(PR_SET_PDEATHSIG, SIGKILL, 0, 0, 0);
setpgrp();
write_file("/proc/self/oom_score_adj", "1000");
}
static void execute_one(void);
#define WAIT_FLAGS __WALL
static void loop(void)
{
int iter = 0;
for (;; iter++) {
reset_loop();
int pid = fork();
if (pid < 0)
exit(1);
if (pid == 0) {
setup_test();
execute_one();
exit(0);
}
int status = 0;
uint64_t start = current_time_ms();
for (;;) {
if (waitpid(-1, &status, WNOHANG | WAIT_FLAGS) == pid)
break;
sleep_ms(1);
if (current_time_ms() - start < 5000)
continue;
kill_and_wait(pid, &status);
break;
}
}
}
void execute_one(void)
{
memcpy((void*)0x20005d00, "jfs\000", 4);
memcpy((void*)0x20005d40, "./file0\000", 8);
memcpy((void*)0x20005d80, "\x78\x9c\xec\xdd\x5d\x6f\x1c\x57\x19\x07\xf0\x67\x5f\xbc\x7e\x29\x4d\xa3\x0a\x55\x21\x42\x22\x4d\xa1\xb4\x94\xe6\x3d\x81\xf2\xd6\x94\x0b\x2e\xe0\x02\x24\x94\x6b\x12\xb9\x6e\x15\x48\x01\x25\x06\xd1\xca\x22\xae\x7c\x81\xb8\xe2\x2b\xc0\x4d\x6f\xb8\xe8\x57\xe0\x03\xf4\x33\x20\x3e\x00\x91\x6c\xae\x7a\x41\x19\x34\xf6\x39\xc9\x78\xb2\xce\x3a\x4d\xbc\xb3\xf6\xf9\xfd\xa4\xf5\xcc\x33\x67\xc7\x7b\x46\x7f\xef\xce\xae\x67\x66\x4f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf1\xe3\x1f\xfd\xfc\x7c\x2f\x22\xae\xff\x3e\x2d\x38\x1e\xf1\x85\x18\x44\xf4\x23\x16\xeb\xfa\x54\xd4\x33\x57\xf3\xfd\x87\x11\x71\x22\xb6\x9b\xe3\x85\x88\x18\xcc\x47\xd4\xeb\x6f\xff\x78\x2e\xe2\x52\x44\x7c\x72\x2c\x62\x73\x6b\x6d\xb9\x5e\x7c\x61\x9f\xfd\xb8\x7c\x6e\xf5\xf6\x67\x3f\xf9\xe1\x3f\xff\xf4\x97\x8d\x13\xbf\x7c\xfb\x17\x1f\xb5\xdb\x7f\xf6\xc5\x8b\x1f\xff\xf9\x6e\xc4\xf1\x9f\xbe\xf1\xf1\x67\x77\x9f\xce\xb6\x03\x00\x00\x40\x29\xaa\xaa\xaa\x7a\xe9\x63\xfe\xc9\xf4\xf9\xbe\xdf\x75\xa7\x00\x80\xa9\xc8\xfb\xff\x2a\xc9\xcb\xd5\x6a\xb5\x5a\xad\x56\x1f\xbd\xba\xa9\x1a\xef\x6e\xb3\x88\x88\xf5\xe6\x3a\xf5\x7b\x06\x87\xe3\x01\xe0\x90\x59\x8f\x4f\xbb\xee\x02\x1d\x92\x7f\xd1\x86\x11\xf1\x4c\xd7\x9d\x00\x66\x5a\xaf\xeb\x0e\x70\x20\x36\xb7\xd6\x96\x7b\x29\xdf\x5e\x73\x7f\x70\x6a\xa7\x3d\x9f\x0b\xb2\x2b\xff\xf5\xde\xfd\xeb\x3b\xf6\x9a\x4e\xd2\x3e\xc7\x64\x5a\x7f\x5f\x1b\x31\x88\xe7\xf7\xe8\xcf\xe2\x94\xfa\x30\x4b\x72\xfe\xfd\x76\xfe\xd7\x77\xda\x47\xe9\x7e\x07\x9d\xff\xb4\xec\x95\xff\x68\xe7\xd2\xa7\xe2\xe4\xfc\x07\xed\xfc\x5b\x8e\x4e\xfe\xfd\xb1\xf9\x97\x2a\xe7\x3f\x7c\xac\xfc\x07\xf2\x07\x00\x00\x00\x00\x80\x19\x96\xff\xff\x7f\xbc\xe3\xe3\xbf\xf3\x4f\xbe\x29\xfb\xf2\xa8\xe3\xbf\xa7\xa6\xd4\x07\x00\x00\x00\x00\x00\x00\x00\x78\xda\x9e\x74\xfc\xbf\xfb\x8c\xff\x07\x00\x00\x00\x33\xab\xfe\xac\x5e\xfb\xeb\xb1\x07\xcb\xf6\xfa\x2e\xb6\x7a\xf9\xb5\x5e\xc4\xb3\xad\xfb\x03\x85\x49\x17\xcb\x2c\x75\xdd\x0f\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x28\xc9\x70\xe7\x1c\xde\x6b\xbd\x88\xb9\x88\x78\x76\x69\xa9\xaa\xaa\xfa\xd6\xd4\xae\x1f\xd7\x93\xae\x7f\xd8\x95\xbe\xfd\x50\xb2\xae\x5f\xe4\x01\x00\x60\xc7\x27\xc7\x5a\xd7\xf2\xf7\x22\x16\x22\xe2\x5a\xfa\xae\xbf\xb9\xa5\xa5\xa5\xaa\x5a\x58\x5c\xaa\x96\xaa\xc5\xf9\xfc\x7e\x76\x34\xbf\x50\x2d\x36\x3e\xd7\xe6\x69\xbd\x6c\x7e\xb4\x8f\x37\xc4\xc3\x51\x55\xff\xb2\x85\xc6\x7a\x4d\x93\x3e\x2f\x4f\x6a\x6f\xff\xbe\xfa\xb1\x46\xd5\x60\x1f\x1d\x9b\x8e\x0e\x03\x07\x80\x88\xd8\xd9\x1b\x6d\xda\x23\x1d\x31\x55\xf5\x5c\x74\xfd\x2e\x87\xc3\xc1\xf3\xff\xe8\xf1\xfc\x67\x3f\xba\xfe\x3b\x05\x00\x00\x00\x0e\x5e\x55\x55\x55\x2f\x7d\x9d\xf7\xc9\x74\xcc\xbf\xdf\x75\xa7\x00\x80\xa9\xc8\xfb\xff\xf6\x71\x01\xb5\x5a\xad\x56\xab\xd5\x47\xaf\x6e\xaa\xc6\xbb\xdb\x2c\x22\x62\xbd\xb9\x4e\xfd\x9e\xc1\x70\xfc\x00\x70\xc8\xac\xc7\xa7\x5d\x77\x81\x0e\xc9\xbf\x68\xc3\x88\x38\xd1\x75\x27\x80\x99\xd6\xeb\xba\x03\x1c\x88\xcd\xad\xb5\xe5\x5e\xca\xb7\xd7\xdc\x1f\xa4\xf1\xdd\xf3\xb9\x20\xbb\xf2\x5f\xef\x6d\xaf\x97\xd7\x1f\x37\x9d\xa4\x7d\x8e\xc9\xb4\xfe\xbe\x36\x62\x10\xcf\xef\xd1\x9f\x17\xa6\xd4\x87\x59\x92\xf3\xef\xb7\xf3\xbf\xbe\xd3\x3e\x4a\xf7\x3b\xe8\xfc\xa7\x65\xaf\xfc\xeb\xed\x3c\xde\x41\x7f\xba\x96\xf3\x1f\xb4\xf3\x6f\x39\x3a\xf9\xf7\xc7\xe6\x5f\xaa\x9c\xff\xf0\xb1\xf2\x1f\xc8\x1f\x00\x00\x00\x00\x00\x66\x58\xfe\xff\xff\x71\xc7\x7f\xf3\x26\x03\x00\x00\x00\x00\x00\x00\xc0\xa1\xb3\xb9\xb5\xb6\x9c\xaf\x7b\xcd\xc7\xff\xbf\x3c\xe6\x7e\xae\xff\x3c\x9a\x72\xfe\x3d\xf9\x17\x29\xe7\xdf\x6f\xe7\xdf\x3a\x21\x67\xd0\x98\xbf\xf7\xd6\x83\xfc\xff\xb3\xb5\xb6\xfc\xd1\xea\xbf\xbf\x94\xa7\x33\x9f\xff\xdc\x60\x54\x3f\xf6\x5c\xaf\x3f\x18\xa6\x73\x7e\xaa\xb9\x77\xe2\x66\xdc\x8a\x95\x38\xf7\xd0\xfd\x87\xbb\xda\xcf\x3f\xd4\x3e\xb7\xab\xfd\xc2\x84\xf6\x8b\x0f\xb5\x8f\xea\xf6\xc5\xdc\x7e\x26\x96\xe3\x37\x71\x2b\xde\xbe\xdf\x3e\x3f\xe1\xc4\xa8\x85\x09\xed\xd5\x84\xf6\x9c\xff\xc0\xf3\xbf\x48\x39\xff\x61\xe3\x56\xe7\xbf\x94\xda\x7b\xad\x69\xed\xde\x87\xfd\x87\x9e\xf7\xcd\xe9\xb8\xc7\xb9\xfa\xf7\xff\xbe\x7c\xee\x2b\x07\xbf\x3d\x93\x6c\xc4\xe0\xfe\xb6\x35\xd5\xdb\x77\xba\x83\xfe\x6c\xbf\xe2\x3c\x33\x8a\xdf\xdd\x59\xb9\x7d\xe6\x0f\x37\x56\x57\x6f\x9f\x8f\x34\xd9\xb5\xf4\x42\xa4\xc9\x53\x96\xf3\x9f\x4b\xb7\x9c\xff\x2b\x2f\xed\xb4\xe7\xd7\xfd\xe6\xf3\xf5\xde\x87\xa3\xc7\xce\x7f\x56\x6c\xc4\x70\xcf\xfc\x5f\x6a\xcc\xd7\xdb\xfb\xea\x94\xfb\xd6\x85\x9c\xff\x28\xdd\x72\xfe\x79\x0f\x34\xfe\xf9\x7f\x98\xf3\xdf\xfb\xf9\xff\x5a\x07\xfd\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x47\xa9\xaa\x6a\xfb\x12\xd1\xab\x11\x71\x25\x5d\xff\xd3\xd5\xb5\x99\x00\xc0\x74\xe5\xfd\x7f\x95\xe4\xe5\x6a\xb5\x5a\xad\x56\xab\x8f\x5e\xdd\x54\x8d\xf7\x66\xb3\x88\x88\x7f\x34\xd7\xa9\xdf\x33\xfc\x71\xdc\x2f\x03\x00\x66\xd9\xff\x22\xe2\x5f\x5d\x77\x82\xce\xc8\xbf\x60\xf9\xfb\xfe\xea\xe9\x57\xbb\xee\x0c\x30\x55\x77\xde\xff\xe0\x57\x37\x6e\xdd\x5a\xb9\x7d\xa7\xeb\x9e\x00\x00\x00\x00\x00\x00\x00\x00\x9f\x57\x1e\xff\xf3\x54\x63\xfc\xe7\xed\xf3\x80\x5a\xe3\x46\xef\x1a\xff\xf5\xad\x38\x75\x68\xc7\xff\xec\x8f\x06\xdb\x63\x9d\xa7\x0d\x7a\x31\x1e\x3d\xfe\xf7\xe9\x78\xf4\xf8\xdf\xc3\x09\x8f\x37\x37\xa1\x7d\x34\xa1\x7d\x7e\x42\xfb\xc2\x84\xf6\xb1\x17\x7a\x34\xe4\xfc\x5f\x4c\x19\xe7\xfc\x4f\xa6\x0d\x2b\x69\xfc\xd7\x57\x3a\xe8\x4f\xd7\x72\xfe\xa7\xd3\x58\xcf\x39\xff\xaf\xb7\xee\xd7\xcc\xbf\xfa\xdb\x61\xce\xbf\xbf\x2b\xff\xb3\xab\xef\xfd\xf6\xec\x9d\xf7\x3f\x78\xfd\xe6\x7b\x37\xde\x5d\x79\x77\xe5\xd7\xe7\xcf\x5d\xb9\x74\xf1\xf2\xa5\x8b\x97\x2f\x9f\x7d\xe7\xe6\xad\x95\x73\x3b\x3f\x3b\xec\xf1\xc1\xca\xf9\xe7\xb1\xaf\x9d\x07\x5a\x96\x9c\x7f\xce\x5c\xfe\x65\xc9\xf9\x7f\x2d\xd5\xf2\x2f\x4b\xce\xff\xe5\x54\xcb\xbf\x2c\x39\xff\xfc\x7e\x4f\xfe\x65\xc9\xf9\xe7\xcf\x3e\xf2\x2f\x4b\xce\xff\xd5\x54\xcb\xbf\x2c\x39\xff\x6f\xa4\x5a\xfe\x65\xc9\xf9\xbf\x96\x6a\xf9\x97\x25\xe7\xff\xcd\x54\xcb\xbf\x2c\x39\xff\xd7\x53\x2d\xff\xb2\xe4\xfc\xcf\xa4\x5a\xfe\x65\xc9\xf9\x9f\x4d\xb5\xfc\xcb\x92\xf3\xcf\x47\xb8\xe4\x5f\x96\x9c\x7f\x3e\xb3\x41\xfe\x65\xc9\xf9\x5f\x48\xb5\xfc\xcb\x92\xf3\xbf\x98\x6a\xf9\x97\x25\xe7\x7f\x29\xd5\xf2\x2f\x4b\xce\xff\x72\xaa\xe5\x5f\x96\x9c\xff\x95\x54\xcb\xbf\x2c\x39\xff\x6f\xa5\x5a\xfe\x65\xc9\xf9\x7f\x3b\xd5\xf2\x2f\x4b\xce\xff\x8d\x54\xcb\xbf\x2c\x39\xff\xef\xa4\x5a\xfe\x65\xc9\xf9\x7f\x37\xd5\xf2\x2f\x4b\xce\xff\x7b\xa9\x96\x7f\x59\x72\xfe\xdf\x4f\xb5\xfc\xcb\x92\xf3\xff\x41\xaa\xe5\x5f\x96\x9c\xff\x9b\xa9\x96\x7f\x59\x1e\x7c\xff\xbf\x19\x33\x66\xcc\xe4\x99\xae\x5f\x99\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\xb6\x69\x9c\x4e\xdc\xf5\x36\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\xff\xd9\x81\x03\x01\x00\x00\x00\x00\x20\xff\xd7\x46\xa8\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xc2\x0e\x1c\x08\x00\x00\x00\x00\x00\xf9\xbf\x36\x42\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x15\xf6\xee\x2d\x46\xae\xfa\xbe\x03\xf8\xd9\x9b\xbd\x36\x24\xb8\xe1\x4e\x1c\xb0\xcd\xcd\xc0\xc2\xee\xfa\x06\x0e\x31\x98\x24\xa4\x94\xf4\x42\x49\x48\x9b\x96\xd4\x38\xf6\xda\x38\xf1\xad\xde\x35\x37\xa1\xb2\x29\xb4\x25\x0a\x52\x91\xda\x07\xfa\xd0\x94\x44\x69\x14\xa9\xad\x40\x55\xa4\xa6\x12\x8d\x90\x1a\xa9\x7d\x6b\x9e\x1a\xf1\x12\xb5\x52\x1e\xfc\x00\x95\x83\x92\x4a\xa9\x02\x5b\x9d\x99\xff\xff\xef\x99\xd9\xf5\x9c\x35\xf6\x98\x99\xf3\xff\x7c\x90\xfd\xf3\xee\x9c\x33\xf3\x9f\x33\x67\x66\xf7\xbb\xe8\x3b\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xad\xd6\x7f\x62\xe6\xcf\x86\x8a\xa2\x28\xff\x34\xfe\x5a\x53\x14\x17\x96\xff\x5e\x55\xec\x2c\x3f\x9c\xdf\xf6\x7e\xaf\x10\x00\x00\x00\x38\x5b\xef\x34\xfe\xfe\xfb\x8b\xd2\x27\x76\x2e\x63\xa7\x96\x6d\xfe\xed\xea\xff\xf8\xee\xc2\xc2\xc2\x42\xf1\xc5\xb7\x4f\xbc\xfb\x17\x0b\x0b\xe9\x82\x75\x45\x31\xb2\xb2\x28\x1a\x97\x45\xff\xfe\x8b\x9f\x2f\xb4\x6e\x13\x3c\x5b\x8c\x0f\x0d\xb7\x7c\x3c\x5c\x71\xf3\x23\x15\x97\x8f\x56\x5c\x3e\x56\x71\xf9\x8a\x8a\xcb\x57\x56\x5c\x3e\x5e\x71\xf9\xa2\x03\xb0\xc8\xaa\xe6\xcf\x63\x1a\x57\x76\x5d\xe3\x9f\x6b\x9a\x87\xb4\xb8\xa4\x18\x6b\x5c\x76\xdd\x12\x7b\x3d\x3b\xb4\x72\x78\x38\xfe\x2c\xa7\x61\xa8\xb1\xcf\xc2\xd8\xbe\xe2\x40\x71\xb0\x98\x29\xa6\x16\xed\x33\xd4\xf8\xaf\x28\x5e\x5b\x5f\xde\xd6\x7d\x45\xbc\xad\xe1\x96\xdb\x5a\x5b\x14\xc5\xc9\x9f\x3e\xbd\x27\xae\x61\x28\x1c\xe3\xeb\x8a\xb6\x1b\x6b\x68\x7d\xec\xde\xba\xa7\x58\xf7\xf6\x4f\x9f\xde\xf3\xed\xb9\x37\xaf\x5c\x6a\x56\x1e\x86\x45\x2b\x2d\x8a\x8d\x1b\xca\x75\x3e\x57\x14\xa7\x7e\x5c\x55\x0c\x15\x2b\xd3\x31\x89\xeb\x1c\x6e\x59\xe7\xda\x25\xd6\x39\xd2\xb6\xce\xa1\xc6\x7e\xe5\xbf\x3b\xd7\x79\x72\x99\xeb\x8c\xf7\x7b\x3c\xac\xf3\x87\x5d\xd6\xb9\x36\x7c\xee\x89\x6b\x8b\xa2\x98\x2f\x4e\xbb\x4d\xa7\x67\x8b\xe1\x62\x75\xc7\xad\xa6\xe3\x3d\xde\x3c\x23\xca\xeb\x28\x1f\xca\x0f\x15\xa3\x67\x74\x9e\xac\x5f\xc6\x79\x52\xee\xf3\x93\x6b\xdb\xcf\x93\xce\x73\x32\x1e\xff\xf5\xe1\x98\x8c\x9e\x66\x0d\xad\x0f\xc7\x5b\x5f\x59\xb1\xe8\xb8\xbf\xd7\xf3\xa4\xbc\xd7\xfd\x70\xae\x96\xd7\xfd\x40\x79\xa3\xe3\xe3\xad\x3f\x5a\x6d\x3b\x57\xcb\x6d\x9e\xbe\xfe\xf4\xe7\xc0\x92\x8f\xdd\x12\xe7\x40\x3a\x97\x5b\xce\x81\x0d\x55\xe7\xc0\xf0\x8a\x91\xc6\x39\x30\x7c\x6a\xcd\x1b\xda\xce\x81\xe9\x45\xfb\x0c\x17\x43\x8d\xdb\x3a\x71\x7d\xf7\x73\x60\x72\xee\xd0\xd1\xc9\xd9\x27\x9f\xba\xf5\xc0\xa1\xdd\xfb\x67\xf6\xcf\x1c\x9e\x9e\xda\xb6\x65\xf3\xd6\x2d\x9b\xb7\x6e\x9d\xdc\x77\xe0\xe0\xcc\x54\xf3\xef\x33\x3b\xa4\x03\x64\x75\x31\x9c\xce\xc1\x0d\xe1\xb5\x26\x9e\x83\x37\x76\x6c\xdb\x7a\x4a\x2e\x7c\xe3\xdc\x3d\x0f\xc6\xfb\xe4\x79\x50\xde\xf7\xcf\xde\x50\x2e\xe8\xc2\xe1\xe2\x34\xe7\x78\xb9\xcd\x73\x1b\xcf\xfe\x79\x90\xbe\xee\xb7\x3c\x0f\x46\x5b\x9e\x07\x4b\xbe\xa6\x2e\xf1\x3c\x18\x5d\xc6\xf3\xa0\xdc\xe6\xe4\xc6\xe5\x7d\xcd\x1c\x6d\xf9\xb3\xd4\x1a\x7a\xf5\x5a\xb8\xa6\xe5\x1c\x78\x3f\xbf\x1e\x96\xb7\xf9\xf0\x4d\xa7\x7f\x2d\x5c\x1b\xd6\xf5\xfc\xcd\x67\xfa\xf5\x70\x64\xd1\x39\x10\xef\xd6\x50\x78\xee\x95\x9f\x49\xdf\xef\x8d\xdf\x11\x8e\xcb\xe2\xf3\xe2\xaa\xf2\x82\x0b\x56\x14\xc7\x67\x67\x8e\xdd\xf6\xc4\xee\xb9\xb9\x63\xd3\x45\x18\xe7\xc5\xc5\x2d\x8f\x55\xe7\xf9\xb2\xba\xe5\x3e\x15\x8b\xce\x97\xe1\x33\x3e\x5f\x76\xfe\xdd\x2f\x6f\xb8\x6a\x89\xcf\xaf\x09\xc7\x6a\xfc\x96\xee\x8f\x55\xb9\xcd\x96\x89\xee\x8f\x55\xe3\xd5\x7d\xe9\xe3\xd9\xf6\xd9\x4d\x45\x18\xe7\xd8\xf9\x3e\x9e\x4b\x7d\x35\x2b\x8f\x67\xca\x12\x5d\x8e\x67\xb9\xcd\x73\xb7\x9e\xfd\xf7\x82\x29\x97\xb4\xbc\xfe\x8d\x55\xbd\xfe\x8d\x8c\x8d\x36\x5f\xff\x46\xd2\xd1\x18\x6b\x7b\xfd\x5b\xfc\xd0\x8c\x34\x56\x56\x14\x27\x6f\x5d\xde\xeb\xdf\x58\xf8\x73\xbe\x5f\xff\x2e\xe9\x93\xd7\xbf\xf2\x58\x3d\x7c\x5b\xf7\x73\xa0\xdc\xe6\xf9\xc9\x33\x3d\x07\x46\xbb\xbe\xfe\x5d\x1b\xe6\x50\x58\xcf\x4d\x21\x31\x8c\xb7\xe4\xfe\x77\x1b\x97\xcf\x37\x4f\xd3\x96\xc7\xb2\xf2\xbc\x19\x1d\x1d\x0b\xe7\xcd\x68\xbc\xc5\xf6\xf3\x66\xf3\xa2\x7d\xca\x6b\x2b\x6f\x7b\xe3\xd4\x7b\x3b\x6f\x36\x5e\xdb\xfe\x58\xb5\x7d\xdf\x52\xc3\xf3\xa6\x3c\x56\x7f\x39\xd5\xfd\xbc\x29\xb7\x79\x7d\xfa\xec\x5f\x3b\x56\xc5\x7f\xb6\xbc\x76\xac\xa8\x3a\x07\xc6\x46\x56\x94\xeb\x1d\x4b\x27\x41\xf3\xf5\x6e\x61\x55\x3c\x07\x6e\x2b\xf6\x14\x47\x8a\x83\xc5\xde\xb4\x4f\xf9\x28\x97\xb7\x35\xb1\x69\x79\xe7\xc0\x8a\xf0\xe7\x7c\xbf\x76\x5c\xd1\x27\xe7\x40\x79\xac\x5e\xda\xd4\xfd\x1c\x28\xb7\xf9\xc1\xe6\x73\xfb\xbd\xd3\xc6\xf0\x99\xb4\x4d\xcb\xf7\x4e\x9d\x3f\x5f\x38\x5d\xe6\xbf\x6a\xf4\xd4\xf5\x75\x1e\xb6\x73\x9d\xf9\xcb\x75\x7e\x72\x4b\xf7\x9f\x0d\x95\xdb\xbc\xb9\xe5\x4c\x73\x46\xf7\xe3\x74\x4b\xf8\xcc\x05\x4b\x1c\xa7\xce\xe7\xcf\xe9\xce\xe9\xbd\xc5\xf9\x39\x4e\x57\x84\x75\x1e\xdc\xda\xfd\x67\x53\xe5\x36\x97\x6c\x5b\xe6\xf9\xb4\xb3\x28\x8a\x37\xa6\xdf\x68\xfc\xbc\x2b\xfc\x7c\xf7\x1f\x8f\xff\xe7\x77\xdb\x7e\xee\xbb\xd4\xcf\x94\xdf\x98\x7e\xe3\xfe\xc9\x07\x7f\x74\x26\xeb\x07\x00\xe0\xbd\x7b\xb7\xf1\xf7\xfc\x8a\xe6\xf7\x9a\x2d\xff\xc7\x7a\x39\xff\xff\x1f\x00\x00\x00\x18\x08\x31\xf7\x0f\x87\x99\xc8\xff\x00\x00\x00\x50\x1b\x31\xf7\x8f\x84\x99\xc8\xff\x00\x00\x00\x50\x1b\x31\xf7\x8f\x86\x99\x64\x92\xff\x1f\xbd\x63\xfb\x2b\xef\x3c\x53\xa4\x77\x03\x5c\x08\xe2\xe5\xf1\x30\x3c\x70\x57\x73\xbb\xd8\xf1\x9e\x0f\x1f\xaf\x5b\x38\xa5\xfc\xfc\xc7\xbf\x35\xf6\xca\x57\x9f\x59\xde\x6d\x0f\x17\x45\xf1\xcb\xfb\x3f\xbc\xe4\xf6\x8f\xde\x15\xd7\xd5\x74\x34\xae\xf3\xa3\xed\x9f\x5f\xe4\x8a\x6b\x96\x75\xfb\x8f\x3c\x74\x6a\xbb\xd6\xf7\x4f\x38\xb9\xbd\x79\xfd\xf1\xfe\x2c\xf7\x34\x88\x5d\xe5\xd7\x26\x37\x35\xae\x77\xdd\x93\xd3\x8d\xf9\xfa\xfd\x45\x63\x3e\x38\xff\xfc\xb3\xcd\xeb\x6f\x7e\x1c\xb7\x3f\xb1\xb9\xb9\xfd\x5f\x87\x37\x2d\xd9\xb9\x6f\xa8\x6d\xff\x8d\x61\x3d\xd7\x85\xb9\x2e\xbc\xa7\xcc\x03\x3b\x4f\x1d\x87\x72\xc6\xfd\x5e\x59\x7b\xf5\xbf\x5e\xfc\xb9\x53\xb7\x17\xf7\x1b\xda\xf0\xc1\xc6\xdd\x7c\xe9\x8f\x9a\xd7\x1b\xdf\x23\xea\xc5\x8b\x9b\xdb\xc7\xfb\x7d\xba\xf5\xff\xcb\xd7\xbe\xf3\x4a\xb9\xfd\x13\xd7\x2f\xbd\xfe\x67\x86\x97\x5e\xff\x89\x70\xbd\x3f\x09\xf3\x17\x3b\x9a\xdb\xb7\x1e\xf3\xaf\xb6\xac\xff\x4f\xc2\xfa\xe3\xed\xc5\xfd\x6e\xfb\xe6\xf7\x97\x5c\xff\xab\x97\x37\xb7\x7f\x35\x9c\x17\x2f\x87\xd9\xb9\xfe\x7b\xfe\xfc\x23\xef\x2c\xf5\x78\xc5\xdb\xd9\x79\x67\x73\xbf\x78\xfb\x53\xff\xbb\xa5\xb1\x5f\xbc\xbe\x78\xfd\x9d\xeb\x1f\x7f\x66\xba\xed\x78\x74\x5e\xff\xeb\x6f\x37\xaf\x67\xc7\x63\x3f\x1b\x69\xdd\x3e\x7e\x3e\xde\x4e\xf4\xc8\x9d\xed\xe7\xf7\x50\x78\x7c\xdb\x7a\xe4\x45\x51\x7c\xe7\x4f\x8b\xb6\xe3\x5c\x7c\xac\xb9\xdf\x3f\x77\xac\x3f\x5e\xdf\xd1\x3b\x97\x5e\xff\x2d\x1d\xeb\x3c\x3a\x74\x4d\x63\xff\x53\xf7\x67\x4d\xdb\xfd\xfa\xfa\xdf\x6e\x5a\xf2\xfe\xc6\xf5\xec\xfc\x87\x35\x6d\xf7\xe7\xc5\x7b\xc3\xf1\x7b\x7b\xf2\x07\xe5\xf5\x9e\x78\x30\x9c\x8f\xe1\xf2\xff\xfb\x61\xf3\xfa\x3a\xdf\xcb\xf4\xd5\x7b\xdb\x5f\x6f\xe2\xf6\x2f\xaf\x69\x3e\x6f\xe3\xf5\x4d\x76\xac\xff\xc5\x8e\xf5\xcf\x5f\x53\x1e\xbb\xea\xf5\xdf\xf7\x76\x73\xfd\xaf\xde\xbd\xb2\x6d\xfd\x3b\x3f\x15\xce\xa7\xfb\x9a\xb3\x6a\xfd\xfb\xff\xe6\xa2\xb6\xfd\xbf\xf1\xed\xe6\xe3\x71\xec\xf1\x89\xc3\x47\x66\x8f\x1f\xd8\xdb\x72\x54\x5b\x9f\xc7\x2b\xc7\x57\xad\xbe\xe0\xc2\x0f\x7c\xf0\xa2\xf0\x5a\xda\xf9\xf1\xae\x23\x73\x8f\xce\x1c\x5b\x37\xb5\x6e\xaa\x28\xd6\x0d\xe0\x5b\x06\xf6\x7a\xfd\xdf\x0c\xf3\x7f\x9a\x63\xfe\xdc\xdf\x42\xd3\x8f\x7e\xd6\x3c\xef\x5e\xf8\x74\xf3\xeb\xd6\x8d\x3f\x6f\x7e\xfc\x62\xf8\xfc\x23\xe1\xf1\x8c\x5f\x1f\xbf\xfe\x57\x63\x6d\xe7\x6b\xe7\xe3\x3e\x7f\x77\x73\x9e\xed\xfa\x6f\x0e\xeb\x58\xae\xcb\xbf\xf6\xdf\xd7\x2c\x6b\xc3\x13\x5f\x78\xed\xf8\x3f\xfd\xf1\x9b\x9d\xdf\x17\xc4\xfb\x73\xf4\xd2\xf1\xc6\xfd\x7b\x69\xfd\x65\x8d\xcb\x86\x5e\x6f\x5e\xde\xf9\x7a\x55\xe5\xbf\x2e\x6d\x7f\x5e\xff\x78\x74\xaa\x31\xbf\x17\x8e\xeb\x42\x78\x67\xe6\x0d\x97\x35\x6f\xaf\xf3\xfa\xe3\x7b\x93\xbc\xf0\x99\xe6\xf3\x37\x7e\x27\x17\xf7\x2f\x3a\xde\x4f\x64\xcd\x48\xfb\xfd\x38\xdb\xf5\xff\x38\x7c\x1f\xf3\xfd\x2b\xda\x5f\xff\xe2\xf9\xf1\xbd\x67\x3a\xde\xcd\x79\x4d\x31\x54\x2e\x61\x3e\xbc\x3e\x14\xf3\xcd\xcb\xe3\x56\xf1\x78\xbf\x70\xf2\xb2\x25\x6f\x2f\xbe\x0f\x4f\x31\x7f\xe5\x99\x2c\xf3\xb4\x66\x9f\x9c\x9d\x3c\x78\xe0\xf0\xf1\x27\x26\xe7\x66\x66\xe7\x26\x67\x9f\x7c\x6a\xd7\xa1\x23\xc7\x0f\xcf\xed\x6a\xbc\x77\xe9\xae\x2f\x55\xed\x7f\xea\xf9\xbd\xba\xf1\xfc\xde\x3b\xb3\x6d\x4b\xd1\x78\xb6\x1f\x69\x8e\x1e\x7b\xbf\xd7\x7f\xf4\xa1\x3d\x7b\x6f\x9f\xba\x61\xef\xcc\xbe\xdd\xc7\xf7\xcd\x3d\x74\x74\xe6\xd8\xfe\x3d\xb3\xb3\x7b\x66\xf6\xce\xde\xb0\x7b\xdf\xbe\x99\xc7\xab\xf6\x3f\xb0\x77\xc7\xf4\xa6\xed\x9b\x6f\xdf\x34\xb1\xff\xc0\xde\x1d\x77\x6c\xdf\xbe\x79\xfb\xc4\x81\xc3\x47\xca\x65\x34\x17\x55\x61\xdb\xd4\x97\x27\x0e\x1f\xdb\xd5\xd8\x65\x76\xc7\x96\xed\xd3\x5b\xb7\x6e\x99\x9a\x38\x74\x64\xef\xcc\x8e\xdb\xa7\xa6\x26\x8e\x57\xed\xdf\xf8\xda\x34\x51\xee\xfd\xd8\xc4\xb1\x99\x83\xbb\xe7\x0e\x1c\x9a\x99\x98\x3d\xf0\xd4\xcc\x8e\xe9\xed\xdb\xb6\x6d\xaa\x7c\xf7\xc7\x43\x47\xf7\xcd\xae\x9b\x3c\x76\xfc\xf0\xe4\xf1\xd9\x99\x63\x93\xcd\xfb\xb2\x6e\xae\xf1\xe9\xf2\x6b\x5f\xd5\xfe\xe4\x61\xf6\x48\x78\xbd\xeb\x30\x14\xbe\x3b\xff\xfc\x2d\xdb\xd2\xfb\xe3\x96\xbe\xf5\x95\xd3\x5e\x55\x73\x93\xf6\x6f\x4f\x8b\xb7\xc2\x7b\x41\xc5\xaf\x6f\x55\x1f\xc7\xdc\x3f\x16\x66\x92\x49\xfe\x07\x00\x00\x80\x1c\xc4\xdc\x1f\xde\xf8\xff\xd4\x05\xf2\x3f\x00\x00\x00\xd4\x46\xcc\xfd\x2b\xc3\x4c\xe4\x7f\x00\x00\x00\xa8\x8d\x98\xfb\xc7\xc3\x4c\x32\xc9\xff\xfa\xff\xfa\xff\xfa\xff\xfa\xff\xfa\xff\xfa\xff\xbd\xa4\xff\xaf\xff\xdf\x8d\xfe\xbf\xfe\xff\x20\xaf\x5f\xff\x5f\xff\x9f\x6a\xfd\xd6\xff\x8f\xb9\x7f\x55\x51\x64\x99\xff\x01\x00\x00\x20\x07\x31\xf7\xaf\x0e\x33\x91\xff\x01\x00\x00\xa0\x36\x62\xee\xbf\x20\xcc\x44\xfe\x07\x00\x00\x80\xda\x88\xb9\xff\xc2\x30\x93\x4c\xf2\xbf\xfe\xbf\xfe\xbf\xfe\xbf\xfe\xbf\xfe\xbf\xfe\x7f\x2f\xe9\xff\xeb\xff\x77\xa3\xff\xaf\xff\x3f\xc8\xeb\xd7\xff\x5f\x66\xff\x7f\x68\xb4\xea\xaa\xa8\xb1\x7e\xeb\xff\xc7\xdc\xff\x81\x30\x93\x4c\xf2\x3f\x00\x00\x00\xe4\x20\xe6\xfe\x0f\x86\x99\xc8\xff\x00\x00\x00\x50\x1b\x31\xf7\x5f\x14\x66\x22\xff\x03\x00\x00\x40\x6d\xc4\xdc\xbf\x26\xcc\x24\x93\xfc\xaf\xff\xaf\xff\xaf\xff\xaf\xff\xaf\xff\xaf\xff\xdf\x4b\xfa\xff\xfa\xff\xdd\xe8\xff\xeb\xff\x0f\xf2\xfa\xf5\xff\xfd\xfe\x7f\xaa\xf5\x5b\xff\x3f\xe6\xfe\x5f\x09\x33\xc9\x24\xff\x03\x00\x00\x40\x0e\x62\xee\xff\x50\x98\x89\xfc\x0f\x00\x00\x00\xb5\x11\x73\xff\xc5\x61\x26\xf2\x3f\x00\x00\x00\xd4\x46\xcc\xfd\x97\x84\x99\x64\x92\xff\xf5\xff\xf5\xff\xf5\xff\xf5\xff\xf5\xff\xf5\xff\x7b\x49\xff\x5f\xff\xbf\x1b\xfd\x7f\xfd\xff\x41\x5e\xbf\xfe\xbf\xfe\x3f\xd5\xfa\xad\xff\x1f\x73\xff\xa5\x61\x26\x99\xe4\x7f\x00\x00\x00\xc8\x41\xcc\xfd\x97\x85\x99\xc8\xff\x00\x00\x00\x50\x1b\x31\xf7\x5f\x1e\x66\x22\xff\x03\x00\x00\x40\x6d\xc4\xdc\x7f\x45\x98\x49\x26\xf9\x5f\xff\x5f\xff\x5f\xff\x5f\xff\x5f\xff\x5f\xff\xbf\x97\xf4\xff\xf5\xff\xbb\xd1\xff\xd7\xff\x1f\xbc\xf5\xaf\x4a\xff\xd2\xff\xd7\xff\xa7\x5a\xbf\xf5\xff\x63\xee\xbf\x32\xcc\x24\x93\xfc\x0f\x00\x00\x00\x39\x88\xb9\xff\xaa\x30\x13\xf9\x1f\x00\x00\x00\x6a\x23\xe6\xfe\x0f\x87\x99\xc8\xff\x00\x00\x00\x50\x1b\x31\xf7\xaf\x0d\x33\xc9\x24\xff\xeb\xff\xeb\xff\xeb\xff\xf7\x7f\xff\x7f\x5e\xff\xbf\x41\xff\x5f\xff\x7f\x29\xfa\xff\xfa\xff\x85\xfe\xff\x7b\xa6\xff\xef\xf7\xff\xeb\xff\xd3\x6b\xfd\xd6\xff\x8f\xb9\xff\x23\x61\x26\x99\xe4\x7f\x00\x00\x00\xc8\x41\xcc\xfd\x57\x87\x99\xc8\xff\x00\x00\x00\x50\x1b\x31\xf7\x5f\x13\x66\x22\xff\x03\x00\x00\x40\x6d\xc4\xdc\xbf\x2e\xcc\x24\x93\xfc\xaf\xff\xaf\xff\xaf\xff\xdf\xff\xfd\x7f\xbf\xff\xbf\x49\xff\x5f\xff\x7f\x29\xfa\xff\xfa\xff\x85\xfe\xff\x7b\xf6\x7e\xf7\xe7\x07\x7d\xfd\xfa\xff\xfa\xff\x54\xeb\xb7\xfe\x7f\xcc\xfd\xeb\xc3\x4c\x32\xc9\xff\x00\x00\x00\x90\x83\x98\xfb\x37\x84\x99\xc8\xff\x00\x00\x00\x50\x1b\x31\xf7\x5f\x1b\x66\x22\xff\x03\x00\x00\x40\x6d\xc4\xdc\x7f\x5d\x98\x49\x26\xf9\x5f\xff\x5f\xff\x5f\xff\x5f\xff\x5f\xff\x5f\xff\xbf\x97\xf4\xff\xf5\xff\xbb\xd1\xff\xd7\xff\x1f\xe4\xf5\xeb\xff\xeb\xff\x53\xad\xdf\xfa\xff\x31\xf7\x5f\x1f\x66\x92\x49\xfe\x07\x00\x00\x80\x1c\xc4\xdc\x7f\x43\x98\x89\xfc\x0f\x00\x00\x00\xb5\x11\x73\xff\x8d\x61\x26\xf2\x3f\x00\x00\x00\xd4\x46\xcc\xfd\x1b\xc3\x4c\x32\xc9\xff\xfa\xff\xfa\xff\xfa\xff\xfa\xff\xfa\xff\xfa\xff\xbd\xa4\xff\xaf\xff\xdf\x8d\xfe\xbf\xfe\xff\x20\xaf\x5f\xff\x5f\xff\x9f\x6a\xfd\xd6\xff\x8f\xb9\xff\xa6\x30\x93\x4c\xf2\x3f\x00\x00\x00\xe4\x20\xe6\xfe\x9b\xc3\x4c\xe4\x7f\x00\x00\x00\xa8\x8d\x98\xfb\x6f\x09\x33\x91\xff\x01\x00\x00\xa0\x36\x62\xee\x9f\x08\x33\xc9\x24\xff\xeb\xff\x67\xde\xff\x2f\x1f\x50\xfd\x7f\xfd\x7f\xfd\x7f\xfd\xff\x1e\xd2\xff\xd7\xff\xef\x46\xff\x5f\xff\x7f\x90\xd7\xaf\xff\xaf\xff\x4f\xb5\x7e\xeb\xff\xc7\xdc\x7f\x6b\x98\x49\x26\xf9\x1f\x00\x00\x00\x72\x10\x73\xff\x6d\x61\x26\xf2\x3f\x00\x00\x00\xd4\x46\xcc\xfd\x93\x61\x26\xf2\x3f\x00\x00\x00\xd4\x46\xcc\xfd\x53\x61\x26\x99\xe4\x7f\xfd\xff\xcc\xfb\xff\x7e\xff\xbf\xfe\xbf\xfe\xbf\xfe\x7f\x8f\xe9\xff\xeb\xff\x77\xa3\xff\xaf\xff\x3f\xc8\xeb\xd7\xff\xd7\xff\xa7\x5a\xbf\xf5\xff\x63\xee\x9f\x0e\x33\xc9\x24\xff\x03\x00\x00\x40\x0e\x62\xee\xdf\x14\x66\x22\xff\x03\x00\x00\x40\x6d\xc4\xdc\xbf\x39\xcc\x44\xfe\x07\x00\x00\x80\xda\x88\xb9\x7f\x4b\x98\x49\x26\xf9\x5f\xff\x5f\xff\x5f\xff\x5f\xff\x5f\xff\x5f\xff\xbf\x97\xf4\xff\xf5\xff\xbb\xd1\xff\xd7\xff\x1f\xe4\xf5\xeb\xff\xeb\xff\x53\xad\xdf\xfa\xff\x31\xf7\x6f\x0d\x33\xc9\x24\xff\x03\x00\x00\x40\x0e\x62\xee\xdf\x16\x66\x22\xff\x03\x00\x00\x40\x6d\xc4\xdc\x7f\x7b\x98\x89\xfc\x0f\x00\x00\x00\xb5\x11\x73\xff\x1d\x61\x26\x99\xe4\x7f\xfd\x7f\xfd\x7f\xfd\x7f\xfd\x7f\xfd\x7f\xfd\xff\x5e\xd2\xff\xd7\xff\xef\x46\xff\x5f\xff\x7f\x90\xd7\xaf\xff\xaf\xff\x4f\xb5\x7e\xeb\xff\xc7\xdc\xbf\x3d\xcc\x24\x93\xfc\x0f\x00\x00\x00\x39\x88\xb9\xff\xa3\x61\x26\xf2\x3f\x00\x00\x00\xd4\x46\xcc\xfd\x77\x86\x99\xc8\xff\x00\x00\x00\x50\x1b\x31\xf7\x7f\x2c\xcc\x24\x93\xfc\xaf\xff\xaf\xff\xaf\xff\xaf\xff\xaf\xff\xaf\xff\xdf\x4b\xfa\xff\xfa\xff\xdd\xe8\xff\xeb\xff\x0f\xf2\xfa\xf5\xff\xf5\xff\xa9\xd6\x6f\xfd\xff\x98\xfb\x77\x84\x99\x64\x92\xff\x01\x00\x00\x20\x07\x31\xf7\xdf\x15\x66\x22\xff\x03\x00\x00\x40\x6d\xc4\xdc\x7f\x77\x98\x89\xfc\x0f\x00\x00\x00\xb5\x11\x73\xff\xce\x30\x93\x4c\xf2\xbf\xfe\xbf\xfe\xbf\xfe\xbf\xfe\xbf\xfe\xbf\xfe\x7f\x2f\xe9\xff\xeb\xff\x77\xa3\xff\xaf\xff\x3f\xc8\xeb\xd7\xff\xd7\xff\xa7\x5a\xbf\xf5\xff\x63\xee\xbf\x27\xcc\x24\x93\xfc\x0f\x00\x00\x00\x39\x88\xb9\xff\xe3\x61\x26\xf2\x3f\x00\x00\x00\xd4\x46\xcc\xfd\x9f\x08\x33\x91\xff\x01\x00\x00\xa0\x36\x62\xee\xff\x64\x98\x49\x26\xf9\x5f\xff\x5f\xff\x7f\x40\xfb\xff\x8d\xbb\xa0\xff\xaf\xff\x5f\xe8\xff\xf7\x3d\xfd\x7f\xfd\xff\x6e\xf4\xff\xf5\xff\x07\x79\xfd\xfa\xff\xfa\xff\x54\xeb\xb7\xfe\x7f\xcc\xfd\xf7\x86\x99\x64\x92\xff\x01\x00\x00\x20\x07\x31\xf7\x7f\x2a\xcc\x44\xfe\x07\x00\x00\x80\xda\x88\xb9\xff\x57\xc3\x4c\xe4\x7f\x00\x00\x00\xa8\x8d\x98\xfb\xef\x0b\x33\xc9\x24\xff\xeb\xff\xeb\xff\x0f\x68\xff\xbf\x41\xff\x5f\xff\xbf\xd0\xff\xef\x7b\xfa\xff\xfa\xff\xdd\xe8\xff\xeb\xff\x0f\xf2\xfa\xf5\xff\xf5\xff\xa9\xd6\x6f\xfd\xff\x98\xfb\x7f\x2d\xcc\x24\x93\xfc\x0f\x00\x00\x00\x39\x88\xb9\xff\xfe\x30\x13\xf9\x1f\x00\x00\x00\x6a\x23\xe6\xfe\x4f\x87\x99\xc8\xff\x00\x00\x00\x50\x1b\x31\xf7\xff\x7a\x98\x49\x26\xf9\x5f\xff\x5f\xff\x5f\xff\x5f\xff\x5f\xff\x5f\xff\xbf\x97\xf4\xff\xf5\xff\xbb\xd1\xff\xd7\xff\x1f\xe4\xf5\xeb\xff\xeb\xff\x53\xad\xdf\xfa\xff\x31\xf7\xff\x46\x98\x49\x26\xf9\x1f\x00\x00\x00\x72\x10\x73\xff\x6f\x86\x99\xc8\xff\x00\x00\x00\x50\x1b\x31\xf7\xff\x56\x98\x89\xfc\x0f\x00\x00\x00\xb5\x11\x73\xff\x03\x61\x26\x99\xe4\x7f\xfd\x7f\xfd\x7f\xfd\x7f\xfd\x7f\xfd\x7f\xfd\xff\x5e\xd2\xff\xd7\xff\xef\x46\xff\x5f\xff\x7f\x90\xd7\x3f\xe0\xfd\xff\x97\xf5\xff\x39\x1f\xfa\xad\xff\x1f\x73\xff\x6f\x87\x99\x64\x92\xff\x01\x00\x00\x20\x07\x31\xf7\x3f\x18\x66\x22\xff\x03\x00\x00\x40\x6d\xc4\xdc\xff\x99\x30\x13\xf9\x1f\x00\x00\x00\x6a\x23\xe6\xfe\xcf\x86\x99\x64\x92\xff\xf5\xff\xf5\xff\xf5\xff\xf5\xff\xf5\xff\xf5\xff\x7b\x49\xff\x5f\xff\xbf\x1b\xfd\x7f\xfd\xff\x41\x5e\xff\x80\xf7\xff\xfd\xfe\x7f\xce\x8b\x7e\xeb\xff\xc7\xdc\xff\x50\x98\x49\x26\xf9\x1f\x00\x00\x00\x72\x10\x73\xff\xe7\xc2\x4c\xe4\x7f\x00\x00\x00\xa8\x8d\x98\xfb\x7f\x27\xcc\x44\xfe\x07\x00\x00\x80\xda\x88\xb9\xff\x77\xc3\x4c\x32\xc9\xff\xfa\xff\xfa\xff\xfa\xff\xfa\xff\xfa\xff\xfa\xff\xbd\xa4\xff\xaf\xff\xdf\x8d\xfe\xbf\xfe\xff\x20\xaf\x5f\xff\x5f\xff\x9f\x6a\xfd\xd6\xff\x8f\xb9\xff\xf3\x61\x26\x99\xe4\x7f\x00\x00\x00\xc8\x41\xcc\xfd\xbf\x17\x66\x22\xff\x03\x00\x00\x40\x6d\xc4\xdc\xff\xfb\x61\x26\xf2\x3f\x00\x00\x00\xd4\x46\xcc\xfd\x0f\x87\x99\x64\x92\xff\xf5\xff\xf5\xff\xf5\xff\xf5\xff\xf5\xff\xf5\xff\x7b\x49\xff\x5f\xff\xbf\x1b\xfd\x7f\xfd\xff\x41\x5e\xbf\xfe\xbf\xfe\x3f\xd5\xfa\xad\xff\x1f\x73\xff\x17\xc2\x4c\x32\xc9\xff\x00\x00\x00\x90\x83\x98\xfb\xff\x20\xcc\x44\xfe\x07\x00\x00\x80\xda\x88\xb9\x7f\x57\x98\x89\xfc\x0f\x00\x00\x00\xb5\x11\x73\xff\x23\x61\x26\x99\xe4\x7f\xfd\x7f\xfd\x7f\xfd\x7f\xfd\x7f\xfd\x7f\xfd\xff\x5e\xd2\xff\xd7\xff\xef\x46\xff\x5f\xff\x7f\x90\xd7\xaf\xff\xaf\xff\x4f\xb5\x7e\xeb\xff\xc7\xdc\xbf\x3b\xcc\x24\x93\xfc\x0f\x00\x00\x00\x39\x88\xb9\xff\x8b\x61\x26\xf2\x3f\x00\x00\x00\xd4\x46\xcc\xfd\x7b\xc2\x4c\xe4\x7f\x00\x00\x00\xa8\x8d\x98\xfb\xf7\x86\x99\x64\x92\xff\xf5\xff\xf5\xff\xf5\xff\xf5\xff\xf5\xff\xf5\xff\x7b\x49\xff\x5f\xff\xbf\x1b\xfd\x7f\xfd\xff\x41\x5e\xbf\xfe\xbf\xfe\x3f\xd5\xce\x79\xff\x7f\x55\xfb\x27\xcf\xb4\xff\x1f\x73\xff\x4c\x98\x49\x26\xf9\x1f\x00\x00\x00\x72\x10\x73\xff\xbe\x30\x13\xf9\x1f\x00\x00\x00\x6a\x23\xe6\xfe\xfd\x61\x26\xf2\x3f\x00\x00\x00\xd4\x46\xcc\xfd\x8f\x86\x99\x64\x92\xff\xf5\xff\xf5\xff\xf5\xff\xf5\xff\xf5\xff\xf5\xff\x7b\x49\xff\x5f\xff\xbf\x1b\xfd\x7f\xfd\xff\x41\x5e\xbf\xfe\xbf\xfe\x3f\xd5\xfa\xed\xf7\xff\xc7\xdc\x7f\x20\xcc\x24\x93\xfc\x0f\x00\x00\x00\x39\x88\xb9\xff\x4b\x61\x26\xf2\x3f\x00\x00\x00\xd4\x46\xcc\xfd\x5f\x0e\x33\x91\xff\x01\x00\x00\xa0\x36\x62\xee\x3f\x18\x66\x92\x49\xfe\xd7\xff\xd7\xff\xd7\xff\xd7\xff\xd7\xff\xd7\xff\xef\x25\xfd\x7f\xfd\xff\x6e\xf4\xff\xf5\xff\x07\x79\xfd\xfa\xff\xfa\xff\x54\x3b\x7f\xfd\xff\xa1\xd1\x62\x19\xfd\xff\x98\xfb\x0f\x85\x99\x64\x92\xff\x01\x00\x00\x20\x07\x31\xf7\x1f\x0e\x33\x91\xff\x01\x00\x00\xa0\x36\x62\xee\x3f\x12\x66\x22\xff\x03\x00\x00\x40\x6d\xc4\xdc\x7f\x34\xcc\x24\x93\xfc\xaf\xff\xaf\xff\xaf\xff\xaf\xff\xaf\xff\xaf\xff\xdf\x4b\xfa\xff\xfa\xff\xdd\xe8\xff\xeb\xff\x0f\xf2\xfa\xf5\xff\xf5\xff\xa9\xd6\x6f\xbf\xff\x3f\xe6\xfe\x3f\x0c\x33\xc9\x24\xff\x03\x00\x00\x40\x0e\x62\xee\x3f\x16\x66\x22\xff\x03\x00\x00\x40\x6d\xc4\xdc\x3f\x1b\x66\x22\xff\x03\x00\x00\x40\x6d\xc4\xdc\x3f\x17\x66\x92\x49\xfe\xd7\xff\xd7\xff\xd7\xff\xd7\xff\xd7\xff\xd7\xff\xef\x25\xfd\x7f\xfd\xff\x6e\xf4\xff\xf5\xff\x07\x79\xfd\x99\xf5\xff\x3b\xbf\x7c\xea\xff\xb3\x2c\xfd\xd6\xff\x8f\xb9\xff\x78\x98\x49\x26\xf9\x1f\x00\x00\x00\x72\x10\x73\xff\x63\x61\x26\xf2\x3f\x00\x00\x00\xd4\x46\xcc\xfd\x8f\x87\x99\xc8\xff\x00\x00\x00\x50\x1b\x31\xf7\x3f\x11\x66\x92\x49\xfe\xd7\xff\xd7\xff\xd7\xff\xd7\xff\xd7\xff\xd7\xff\xef\x25\xfd\x7f\xfd\xff\x6e\xf4\xff\xf5\xff\x07\x79\xfd\x99\xf5\xff\x17\xd1\xff\x67\x39\xfa\xad\xff\x1f\x73\xff\x93\x61\x26\x99\xe4\x7f\x00\x00\xf8\x7f\xf6\xee\x62\x57\x8f\xf4\x88\xe3\xb0\x13\x29\x8b\xdc\x55\xae\x2b\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\xcc\x1c\x87\x79\xa4\x19\xc9\xae\xaa\x19\x59\xe3\xee\xb1\xe5\xd6\x79\xbb\xea\x79\x36\xb5\xf4\x2b\x7f\xab\xbf\x8e\x7e\x6a\x80\x09\x72\xf7\xdf\x3f\x6e\xb1\xff\x01\x00\x00\xa0\x8d\xdc\xfd\x0f\x88\x5b\xec\x7f\x00\x00\x00\x68\x23\x77\xff\x03\xe3\x96\x21\xfb\x5f\xff\xaf\xff\xd7\xff\xeb\xff\xf5\xff\xfa\xff\x23\xe9\xff\xf5\xff\x5b\xf4\xff\xfa\xff\x5b\xf2\xfe\xfb\xe9\xff\xf5\xff\xac\x6a\xb5\xfe\x3f\x77\xff\x83\xe2\x96\x21\xfb\x1f\x00\x00\x00\x26\xc8\xdd\xff\xe0\xb8\xc5\xfe\x07\x00\x00\x80\x36\x72\xf7\x3f\x24\x6e\xb1\xff\x01\x00\x00\xa0\x8d\xdc\xfd\x0f\x8d\x5b\x86\xec\x7f\xfd\xbf\xfe\x5f\xff\xaf\xff\xd7\xff\xeb\xff\x8f\xa4\xff\xd7\xff\x6f\xd1\xff\xeb\xff\xcf\xfc\x7e\xfd\xbf\xfe\x9f\x7d\xab\xf5\xff\xb9\xfb\x1f\x16\xb7\x0c\xd9\xff\x00\x00\x00\x30\x41\xee\xfe\x87\xc7\x2d\xf6\x3f\x00\x00\x00\xb4\x91\xbb\xff\x11\x71\x8b\xfd\x0f\x00\x00\x00\x6d\xe4\xee\x7f\x64\xdc\x32\x64\xff\xeb\xff\xf5\xff\xfa\x7f\xfd\xbf\xfe\x5f\xff\x7f\x24\xfd\xbf\xfe\x7f\x8b\xfe\x5f\xff\x7f\xe6\xf7\xeb\xff\xf5\xff\xec\x5b\xad\xff\xcf\xdd\xff\xa8\xb8\x65\xc8\xfe\x07\x00\x00\x80\x09\x72\xf7\x3f\x3a\x6e\xb1\xff\x01\x00\x00\xa0\x8d\xdc\xfd\x8f\x89\x5b\xec\x7f\x00\x00\x00\x68\x23\x77\xff\x63\xe3\x96\x21\xfb\x5f\xff\xaf\xff\xd7\xff\xeb\xff\xf5\xff\xfa\xff\x23\xe9\xff\xf5\xff\x5b\xf4\xff\xfa\xff\x33\xbf\x5f\xff\xaf\xff\x67\xdf\x6a\xfd\x7f\xee\xfe\xc7\xc5\x2d\x43\xf6\x3f\x00\x00\x00\x4c\x90\xbb\xff\xf1\x71\x8b\xfd\x0f\x00\x00\x00\x6d\xe4\xee\x7f\x42\xdc\x62\xff\x03\x00\x00\x40\x1b\xb9\xfb\x9f\x18\xb7\x0c\xd9\xff\xfa\x7f\xfd\xbf\xfe\x7f\x48\xff\x7f\x6f\xfd\xbf\xfe\xff\x62\xe8\xff\xf5\xff\x5b\xf4\xff\xfa\xff\x33\xbf\x5f\xff\xaf\xff\x67\xdf\x6a\xfd\x7f\xee\xfe\x27\xc5\x2d\x43\xf6\x3f\x00\x00\x00\x4c\x90\xbb\xff\xc9\x71\x8b\xfd\x0f\x00\x00\x00\x6d\xe4\xee\x7f\x4a\xdc\x62\xff\x03\x00\x00\x40\x1b\xb9\xfb\x9f\x1a\xb7\x0c\xd9\xff\xfa\x7f\xfd\xbf\xfe\x7f\x48\xff\xef\xfb\xff\xfa\xff\x0b\xa2\xff\xd7\xff\x6f\xd1\xff\xeb\xff\xcf\xfc\x7e\xfd\xbf\xfe\x9f\x7d\xab\xf5\xff\xb9\xfb\x9f\x16\xb7\x0c\xd9\xff\x00\x00\x00\x30\x41\xee\xfe\xa7\xc7\x2d\xf6\x3f\x00\x00\x00\xb4\x91\xbb\xff\x19\x71\x8b\xfd\x0f\x00\x00\x00\x6d\xe4\xee\x7f\x66\xdc\x32\x64\xff\xeb\xff\xf5\xff\xfa\x7f\xfd\xbf\xfe\x5f\xff\x7f\x24\xfd\xbf\xfe\x7f\x8b\xfe\xbf\x63\xff\x7f\x49\xff\xaf\xff\xd7\xff\x53\x56\xeb\xff\x73\xf7\x3f\x2b\x6e\x19\xb2\xff\x01\x00\x00\x60\x82\xdc\xfd\xcf\x8e\x5b\xec\x7f\x00\x00\x00\x68\x23\x77\xff\x73\xe2\x16\xfb\x1f\x00\x00\x00\xda\xc8\xdd\xff\xdc\xb8\x65\xc8\xfe\xd7\xff\xeb\xff\xf5\xff\xfa\xff\x1b\xeb\xff\x6f\xbf\xd7\xb5\x75\xac\xfe\xff\x2a\xfd\xff\xdd\xd3\xff\xeb\xff\xb7\xe8\xff\x3b\xf6\xff\xbe\xff\xaf\xff\xd7\xff\x73\xa7\xd5\xfa\xff\xdc\xfd\xcf\x8b\x5b\x86\xec\x7f\x00\x00\x00\x98\x20\x77\xff\xf3\xe3\x16\xfb\x1f\x00\x00\x00\xda\xc8\xdd\xff\x82\xb8\xc5\xfe\x07\x00\x00\x80\x36\x72\xf7\xbf\x30\x6e\x19\xb2\xff\xf5\xff\xfa\x7f\xfd\xbf\xfe\xdf\xf7\xff\xf5\xff\x47\xd2\xff\xeb\xff\xb7\xe8\xff\xf5\xff\x67\x7e\xbf\xfe\x5f\xff\xcf\xbe\xd5\xfa\xff\xdc\xfd\x2f\x8a\x5b\x86\xec\x7f\x00\x00\x00\x98\x20\x77\xff\x8b\xe3\x16\xfb\x1f\x00\x00\x00\xda\xc8\xdd\xff\x92\xb8\xc5\xfe\x07\x00\x00\x80\x36\x72\xf7\xbf\x34\x6e\x19\xb2\xff\xf5\xff\xfa\x7f\xfd\xbf\xfe\x5f\xff\xaf\xff\x3f\x92\xfe\x5f\xff\xbf\x45\xff\xaf\xff\x3f\xf3\xfb\xf5\xff\xfa\x7f\xf6\xad\xd6\xff\xe7\xee\x7f\x59\xdc\x32\x64\xff\x03\x00\x00\xc0\x04\xb9\xfb\x5f\x1e\xb7\xd8\xff\x00\x00\x00\xd0\x46\xee\xfe\x57\xc4\x2d\xf6\x3f\x00\x00\x00\xb4\x91\xbb\xff\x95\x71\xcb\x90\xfd\xaf\xff\xd7\xff\xeb\xff\xf5\xff\xfa\x7f\xfd\xff\x91\x06\xf7\xff\x97\xe3\x27\xd4\xff\x6f\xd0\xff\xeb\xff\xcf\xfc\x7e\xfd\xbf\xfe\x9f\x7d\xab\xf5\xff\xb9\xfb\x5f\x15\xb7\x0c\xd9\xff\x00\x00\x00\x30\x41\xee\xfe\x57\xc7\x2d\xf6\x3f\x00\x00\x00\xb4\x91\xbb\xff\x35\x71\x8b\xfd\x0f\x00\x00\x00\x6d\xe4\xee\x7f\x6d\xdc\x32\x64\xff\xeb\xff\xf5\xff\xfa\x7f\xfd\xbf\xfe\x5f\xff\x7f\xa4\xc1\xfd\xbf\xef\xff\xdf\x03\xfa\x7f\xfd\xff\x99\xdf\xaf\xff\xd7\xff\xb3\x6f\xb5\xfe\x3f\x77\xff\xeb\xe2\x96\x21\xfb\x1f\x00\x00\x00\x26\xc8\xdd\xff\xfa\xb8\xc5\xfe\x07\x00\x00\x80\x36\x72\xf7\xbf\x21\x6e\xb1\xff\x01\x00\x00\xa0\x8d\xdc\xfd\x6f\x8c\x5b\x86\xec\x7f\xfd\xbf\xfe\x5f\xff\xaf\xff\xd7\xff\xeb\xff\x8f\xa4\xff\xd7\xff\x6f\xd1\xff\xeb\xff\xcf\xfc\x7e\xfd\xbf\xfe\x9f\x7d\xab\xf5\xff\xb9\xfb\xdf\x14\xb7\x0c\xd9\xff\x00\x00\x00\x30\x41\xee\xfe\x37\xc7\x2d\xf6\x3f\x00\x00\x00\xb4\x91\xbb\xff\x2d\x71\x8b\xfd\x0f\x00\x00\x00\x6d\xe4\xee\x7f\x6b\xdc\x32\x64\xff\xeb\xff\xf5\xff\xfa\x7f\xfd\xbf\xfe\x5f\xff\x7f\x24\xfd\xbf\xfe\x7f\x8b\xfe\x5f\xff\x7f\xe6\xf7\xeb\xff\xf5\xff\xec\x5b\xad\xff\xcf\xdd\xff\xb6\xb8\x65\xc8\xfe\x07\x00\x00\x80\x09\x72\xf7\xbf\x3d\x6e\xb1\xff\x01\x00\x00\xa0\x8d\xdc\xfd\xef\x88\x5b\xec\x7f\x00\x00\x00\x68\x23\x77\xff\x3b\xe3\x96\x21\xfb\x5f\xff\xaf\xff\xd7\xff\xeb\xff\xf5\xff\xfa\xff\x23\xe9\xff\xf5\xff\x5b\xf4\xff\xfa\xff\x33\xbf\x5f\xff\xaf\xff\x67\xdf\x6a\xfd\x7f\xee\xfe\x77\xc5\x2d\x43\xf6\x3f\x00\x00\x00\x4c\x90\xbb\xff\xdd\x71\x8b\xfd\x0f\x00\x00\x00\x6d\xe4\xee\x7f\x4f\xdc\x62\xff\x03\x00\x00\x40\x1b\xb9\xfb\xdf\x1b\xb7\x0c\xd9\xff\xfa\x7f\xfd\xbf\xfe\x5f\xff\xaf\xff\xd7\xff\x1f\x49\xff\xaf\xff\xdf\xa2\xff\xd7\xff\x9f\xf9\xfd\xfa\x7f\xfd\x3f\xfb\x56\xeb\xff\x73\xf7\xbf\x2f\x6e\x19\xb2\xff\x01\x00\x00\x60\x82\xdc\xfd\xef\x8f\x5b\xec\x7f\x00\x00\x00\x68\x23\x77\xff\x07\xe2\x16\xfb\x1f\x00\x00\x00\xda\xc8\xdd\xff\xc1\xb8\x65\xc8\xfe\xd7\xff\xeb\xff\xf5\xff\xfa\x7f\xfd\xbf\xfe\xff\x48\xfa\x7f\xfd\xff\x16\xfd\xbf\xfe\xff\xcc\xef\xd7\xff\xeb\xff\xd9\xb7\x5a\xff\x9f\xbb\xff\x43\x71\xcb\x90\xfd\x0f\x00\x00\x00\x13\xe4\xee\xff\x70\xdc\x62\xff\x03\x00\x00\x40\x1b\xb9\xfb\x3f\x12\xb7\xd8\xff\x00\x00\x00\xd0\x46\xee\xfe\x8f\xc6\x2d\x43\xf6\xbf\xfe\x5f\xff\xaf\xff\xd7\xff\xeb\xff\xf5\xff\x47\xd2\xff\xeb\xff\xb7\xe8\xff\xf5\xff\x67\x7e\xbf\xfe\x5f\xff\xcf\xbe\xd5\xfa\xff\xdc\xfd\x1f\x8b\x5b\x86\xec\x7f\x00\x00\x00\x98\x20\x77\xff\xc7\xe3\x16\xfb\x1f\x00\x00\x00\xda\xc8\xdd\xff\x89\xb8\xc5\xfe\x07\x00\x00\x80\x36\x72\xf7\x7f\x32\x6e\x19\xb2\xff\xf5\xff\xfa\x7f\xfd\xbf\xfe\x5f\xff\xaf\xff\x3f\x92\xfe\x5f\xff\xbf\x45\xff\xaf\xff\x3f\xf3\xfb\xf5\xff\xfa\x7f\xf6\xad\xd6\xff\xe7\xee\xff\x54\xdc\x32\x64\xff\x03\x00\x00\xc0\x04\xb9\xfb\x3f\x1d\xb7\xd8\xff\x00\x00\x00\xd0\x46\xee\xfe\xcf\xc4\x2d\xf6\x3f\x00\x00\x00\xb4\x91\xbb\xff\xb3\x71\xcb\x90\xfd\xaf\xff\xd7\xff\xeb\xff\xf5\xff\xfa\x7f\xfd\xff\x91\xf4\xff\xfa\xff\x2d\xfa\x7f\xfd\xff\x99\xdf\xaf\xff\xd7\xff\xb3\x6f\xb5\xfe\x3f\x77\xff\xe7\xe2\x96\x21\xfb\x1f\x00\x00\x00\x26\xc8\xdd\xff\xf9\xb8\xc5\xfe\x07\x00\x00\x80\x36\x72\xf7\x7f\x21\x6e\xb1\xff\x01\x00\x00\xa0\x8d\xdc\xfd\x5f\x8c\x5b\x86\xec\x7f\xfd\xbf\xfe\x5f\xff\xaf\xff\xd7\xff\xeb\xff\x8f\x92\xff\x57\xfa\x7f\xfd\xff\xf5\xe8\xff\xf5\xff\x67\x7e\xbf\xfe\x5f\xff\xcf\xbe\xd5\xfa\xff\xdc\xfd\x5f\x8a\x5b\x86\xec\x7f\x00\x00\x00\x98\x20\x77\xff\x97\xe3\x16\xfb\x1f\x00\x00\x00\xda\xc8\xdd\xff\x95\xb8\xc5\xfe\x07\x00\x00\x80\x36\x72\xf7\x7f\x35\x6e\x19\xb2\xff\xf5\xff\xfa\x7f\xfd\xbf\xfe\x5f\xff\xaf\xff\x3f\x92\xef\xff\xeb\xff\xb7\xe8\xff\xf5\xff\x67\x7e\xbf\xfe\x5f\xff\xcf\xbe\xd5\xfa\xff\xdc\xfd\x5f\x8b\x5b\x86\xec\x7f\x00\x00\x00\x98\x20\x77\xff\xd7\xe3\x16\xfb\x1f\x00\x00\x00\xda\xc8\xdd\xff\x8d\xb8\xe5\xca\xfe\xbf\xef\x05\xbd\x0a\x00\x00\x00\xb8\x95\x72\xf7\x7f\x33\x6e\x19\xf2\xf7\x7f\xfd\xbf\xfe\x5f\xff\xaf\xff\xd7\xff\xeb\xff\x8f\xa4\xff\xd7\xff\x6f\xd1\xff\xeb\xff\xcf\xfc\x7e\xfd\xbf\xfe\x9f\x7d\xab\xf5\xff\xb9\xfb\xbf\x15\xb7\x0c\xd9\xff\x00\x00\x00\x30\x41\xee\xfe\x6f\xc7\x2d\xf6\x3f\x00\x00\x00\xb4\x91\xbb\xff\x3b\x71\x8b\xfd\x0f\x00\x00\x00\x6d\xe4\xee\xff\x6e\xdc\xd2\x6e\xff\x5f\x5b\xbc\x5e\xa5\xff\xd7\xff\xeb\xff\xf5\xff\xfa\x7f\xfd\xff\x91\xf4\xff\xfa\xff\x2d\xfa\x7f\xfd\xff\x99\xdf\xaf\xff\xd7\xff\xb3\x6f\xb5\xfe\x3f\x77\xff\xf7\xe2\x96\x76\xfb\x1f\x00\x00\x00\xe6\xca\xdd\xff\xfd\xb8\xc5\xfe\x07\x00\x00\x80\x36\x72\xf7\xff\x20\x6e\xb1\xff\x01\x00\x00\xa0\x8d\xdc\xfd\x3f\x8c\x5b\x86\xec\x7f\xfd\xbf\xfe\x5f\xff\xaf\xff\xd7\xff\xeb\xff\x8f\xa4\xff\xd7\xff\x6f\xd1\xff\xeb\xff\xcf\xfc\x7e\xfd\xbf\xfe\x9f\x7d\xab\xf5\xff\xb9\xfb\x7f\x14\xb7\x0c\xd9\xff\x00\x00\x00\x30\x41\xee\xfe\x1f\xc7\x2d\xf6\x3f\x00\x00\x00\xb4\x91\xbb\xff\x27\x71\x8b\xfd\x0f\x00\x00\x00\x6d\xe4\xee\xff\x69\xdc\x32\x64\xff\xeb\xff\xf5\xff\xfa\x7f\xfd\xbf\xfe\x5f\xff\x7f\x24\xfd\xbf\xfe\x7f\x8b\xfe\x5f\xff\x7f\xe6\xf7\xeb\xff\xf5\xff\xec\x5b\xad\xff\xcf\xdd\xff\xb3\xb8\x65\xc8\xfe\x07\x00\x00\x80\x09\x72\xf7\xff\x3c\x6e\xb1\xff\x01\x00\x00\xa0\x8d\xdc\xfd\xbf\x88\x5b\xec\x7f\x00\x00\x00\x68\x23\x77\xff\x2f\xe3\x96\x21\xfb\x5f\xff\xaf\xff\xd7\xff\xeb\xff\xf5\xff\xfa\xff\x23\xe9\xff\xf5\xff\x5b\xf4\xff\xfa\xff\x33\xbf\x5f\xff\xaf\xff\x67\xdf\x6a\xfd\x7f\xee\xfe\x5f\xc5\x2d\x43\xf6\x3f\x00\x00\x00\x4c\x90\xbb\xff\xd7\x71\x8b\xfd\x0f\x00\x00\x00\x6d\xe4\xee\xff\x4d\xdc\x62\xff\x03\x00\x00\x40\x1b\xb9\xfb\x7f\x1b\xb7\x0c\xd9\xff\xfa\x7f\xfd\xbf\xfe\xff\xfa\xfd\xff\x7d\xf2\xdf\xd1\xff\x5f\xa1\xff\xd7\xff\xdf\x0c\xfd\xbf\xfe\x7f\x8b\xfe\x5f\xff\x7f\xe6\xf7\xeb\xff\xf5\xff\xec\x5b\xad\xff\xcf\xdd\xff\xbb\xb8\x65\xc8\xfe\x07\x00\x00\x80\x09\x72\xf7\xff\x3e\x6e\xb1\xff\x01\x00\x00\xa0\x8d\xdc\xfd\x7f\x88\x5b\xec\x7f\x00\x00\x00\x68\x23\x77\xff\x1f\xe3\x96\x21\xfb\x5f\xff\xaf\xff\xd7\xff\xfb\xfe\xbf\xfe\x5f\xff\x7f\x24\xfd\xbf\xfe\x7f\x8b\xfe\x5f\xff\x7f\xe6\xf7\xeb\xff\xf5\xff\xec\x5b\xad\xff\xcf\xdd\xff\xa7\xb8\x65\xc8\xfe\x07\x00\x00\x80\x09\x72\xf7\x5f\x8e\x5b\xec\x7f\x00\x00\x00\x68\x23\x77\xff\x9f\xe3\x16\xfb\x1f\x00\x00\x00\xda\xc8\xdd\xff\x97\xb8\x65\xc8\xfe\xd7\xff\xeb\xff\xf5\xff\xfa\x7f\xfd\xbf\xfe\xff\x48\xfa\x7f\xfd\xff\x16\xfd\xbf\xfe\xff\xcc\xef\xd7\xff\xeb\xff\xd9\xb7\x5a\xff\x9f\xbb\xff\xaf\x71\xcb\x90\xfd\x0f\x00\x00\x00\x13\xe4\xee\xff\x5b\xdc\x62\xff\x03\x00\x00\x40\x1b\xb9\xfb\xff\x1e\xb7\xd8\xff\x00\x00\x00\xd0\x46\xee\xfe\x7f\xc4\x2d\x43\xf6\xbf\xfe\x5f\xff\xaf\xff\xd7\xff\xeb\xff\xf5\xff\x47\xd2\xff\xeb\xff\xb7\xe8\xff\xf5\xff\x67\x7e\xbf\xfe\x5f\xff\xcf\xbe\xd5\xfa\xff\xdc\xfd\xff\x8c\x5b\x86\xec\x7f\x00\x00\x00\x98\x20\x77\xff\xbf\xe2\x16\xfb\x1f\x00\x00\x00\xda\xc8\xdd\xff\xef\xb8\xc5\xfe\x07\x00\x00\x80\x36\x72\xf7\xff\x27\x6e\x19\xb2\xff\xf5\xff\xfa\x7f\xfd\xff\x05\xf7\xff\x77\x49\x4d\xf5\xff\xf1\xbb\xea\xff\xf5\xff\x37\x40\xff\xaf\xff\xbf\xa4\xff\xbf\x69\x17\xdd\xcf\x9f\xfd\xfd\xfa\x7f\xfd\x3f\xfb\x56\xeb\xff\x73\xf7\xff\x37\x6e\x19\xb2\xff\x01\x00\x00\x60\x82\xdc\xfd\xff\x8b\x5b\xec\x7f\x00\x00\x00\x68\x23\x77\xff\xff\xe3\x16\xfb\x1f\x00\x00\x00\xda\xc8\xdd\x7f\x5b\xdc\x32\x64\xff\xeb\xff\xf5\xff\xfa\x7f\xdf\xff\xd7\xff\xeb\xff\x8f\xa4\xff\xd7\xff\x6f\xd1\xff\xeb\xff\xcf\xfc\x7e\xfd\xbf\xfe\x9f\x7d\xab\xf5\xff\xb9\xfb\xef\x08\x00\x00\xff\xff\xb9\x0a\x45\xf9", 23942);
syz_mount_image(/*fs=*/0x20005d00, /*dir=*/0x20005d40, /*flags=*/0, /*opts=*/0x20000000, /*chdir=*/1, /*size=*/0x5d86, /*img=*/0x20005d80);
memcpy((void*)0x20000080, "./file1\000", 8);
syscall(__NR_openat, /*fd=*/0xffffff9c, /*file=*/0x20000080ul, /*flags=O_TRUNC|O_NOCTTY*/0x300ul, /*mode=*/0ul);
}
int main(void)
{
syscall(__NR_mmap, /*addr=*/0x1ffff000ul, /*len=*/0x1000ul, /*prot=*/0ul, /*flags=MAP_FIXED|MAP_ANONYMOUS|MAP_PRIVATE*/0x32ul, /*fd=*/-1, /*offset=*/0ul);
syscall(__NR_mmap, /*addr=*/0x20000000ul, /*len=*/0x1000000ul, /*prot=PROT_WRITE|PROT_READ|PROT_EXEC*/7ul, /*flags=MAP_FIXED|MAP_ANONYMOUS|MAP_PRIVATE*/0x32ul, /*fd=*/-1, /*offset=*/0ul);
syscall(__NR_mmap, /*addr=*/0x21000000ul, /*len=*/0x1000ul, /*prot=*/0ul, /*flags=MAP_FIXED|MAP_ANONYMOUS|MAP_PRIVATE*/0x32ul, /*fd=*/-1, /*offset=*/0ul);
loop();
return 0;
}
Powered by blists - more mailing lists