// https://syzkaller.appspot.com/bug?id=9369baf1a688eebe8a5a564d3d166efe3558d4c3 // autogenerated by syzkaller (https://github.com/google/syzkaller) #define _GNU_SOURCE #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include 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 void thread_start(void* (*fn)(void*), void* arg) { pthread_t th; pthread_attr_t attr; pthread_attr_init(&attr); pthread_attr_setstacksize(&attr, 128 << 10); int i = 0; for (; i < 100; i++) { if (pthread_create(&th, &attr, fn, arg) == 0) { pthread_attr_destroy(&attr); return; } if (errno == EAGAIN) { usleep(50); continue; } break; } exit(1); } typedef struct { int state; } event_t; static void event_init(event_t* ev) { ev->state = 0; } static void event_reset(event_t* ev) { ev->state = 0; } static void event_set(event_t* ev) { if (ev->state) exit(1); __atomic_store_n(&ev->state, 1, __ATOMIC_RELEASE); syscall(SYS_futex, &ev->state, FUTEX_WAKE | FUTEX_PRIVATE_FLAG, 1000000); } static void event_wait(event_t* ev) { while (!__atomic_load_n(&ev->state, __ATOMIC_ACQUIRE)) syscall(SYS_futex, &ev->state, FUTEX_WAIT | FUTEX_PRIVATE_FLAG, 0, 0); } static int event_isset(event_t* ev) { return __atomic_load_n(&ev->state, __ATOMIC_ACQUIRE); } static int event_timedwait(event_t* ev, uint64_t timeout) { uint64_t start = current_time_ms(); uint64_t now = start; for (;;) { uint64_t remain = timeout - (now - start); struct timespec ts; ts.tv_sec = remain / 1000; ts.tv_nsec = (remain % 1000) * 1000 * 1000; syscall(SYS_futex, &ev->state, FUTEX_WAIT | FUTEX_PRIVATE_FLAG, 0, &ts); if (__atomic_load_n(&ev->state, __ATOMIC_ACQUIRE)) return 1; now = current_time_ms(); if (now - start > timeout) return 0; } } 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; } static int inject_fault(int nth) { int fd; fd = open("/proc/thread-self/fail-nth", O_RDWR); if (fd == -1) exit(1); char buf[16]; sprintf(buf, "%d", nth); if (write(fd, buf, strlen(buf)) != (ssize_t)strlen(buf)) exit(1); return fd; } static const char* setup_fault() { int fd = open("/proc/self/make-it-fail", O_WRONLY); if (fd == -1) return "CONFIG_FAULT_INJECTION is not enabled"; close(fd); fd = open("/proc/thread-self/fail-nth", O_WRONLY); if (fd == -1) return "kernel does not have systematic fault injection support"; close(fd); static struct { const char* file; const char* val; bool fatal; } files[] = { {"/sys/kernel/debug/failslab/ignore-gfp-wait", "N", true}, {"/sys/kernel/debug/fail_futex/ignore-private", "N", false}, {"/sys/kernel/debug/fail_page_alloc/ignore-gfp-highmem", "N", false}, {"/sys/kernel/debug/fail_page_alloc/ignore-gfp-wait", "N", false}, {"/sys/kernel/debug/fail_page_alloc/min-order", "0", false}, }; unsigned i; for (i = 0; i < sizeof(files) / sizeof(files[0]); i++) { if (!write_file(files[i].file, files[i].val)) { if (files[i].fatal) return "failed to write fault injection file"; } } return NULL; } #define FUSE_MIN_READ_BUFFER 8192 enum fuse_opcode { FUSE_LOOKUP = 1, FUSE_FORGET = 2, FUSE_GETATTR = 3, FUSE_SETATTR = 4, FUSE_READLINK = 5, FUSE_SYMLINK = 6, FUSE_MKNOD = 8, FUSE_MKDIR = 9, FUSE_UNLINK = 10, FUSE_RMDIR = 11, FUSE_RENAME = 12, FUSE_LINK = 13, FUSE_OPEN = 14, FUSE_READ = 15, FUSE_WRITE = 16, FUSE_STATFS = 17, FUSE_RELEASE = 18, FUSE_FSYNC = 20, FUSE_SETXATTR = 21, FUSE_GETXATTR = 22, FUSE_LISTXATTR = 23, FUSE_REMOVEXATTR = 24, FUSE_FLUSH = 25, FUSE_INIT = 26, FUSE_OPENDIR = 27, FUSE_READDIR = 28, FUSE_RELEASEDIR = 29, FUSE_FSYNCDIR = 30, FUSE_GETLK = 31, FUSE_SETLK = 32, FUSE_SETLKW = 33, FUSE_ACCESS = 34, FUSE_CREATE = 35, FUSE_INTERRUPT = 36, FUSE_BMAP = 37, FUSE_DESTROY = 38, FUSE_IOCTL = 39, FUSE_POLL = 40, FUSE_NOTIFY_REPLY = 41, FUSE_BATCH_FORGET = 42, FUSE_FALLOCATE = 43, FUSE_READDIRPLUS = 44, FUSE_RENAME2 = 45, FUSE_LSEEK = 46, FUSE_COPY_FILE_RANGE = 47, FUSE_SETUPMAPPING = 48, FUSE_REMOVEMAPPING = 49, FUSE_SYNCFS = 50, FUSE_TMPFILE = 51, FUSE_STATX = 52, CUSE_INIT = 4096, CUSE_INIT_BSWAP_RESERVED = 1048576, FUSE_INIT_BSWAP_RESERVED = 436207616, }; struct fuse_in_header { uint32_t len; uint32_t opcode; uint64_t unique; uint64_t nodeid; uint32_t uid; uint32_t gid; uint32_t pid; uint32_t padding; }; struct fuse_out_header { uint32_t len; uint32_t error; uint64_t unique; }; struct syz_fuse_req_out { struct fuse_out_header* init; struct fuse_out_header* lseek; struct fuse_out_header* bmap; struct fuse_out_header* poll; struct fuse_out_header* getxattr; struct fuse_out_header* lk; struct fuse_out_header* statfs; struct fuse_out_header* write; struct fuse_out_header* read; struct fuse_out_header* open; struct fuse_out_header* attr; struct fuse_out_header* entry; struct fuse_out_header* dirent; struct fuse_out_header* direntplus; struct fuse_out_header* create_open; struct fuse_out_header* ioctl; struct fuse_out_header* statx; }; static int fuse_send_response(int fd, const struct fuse_in_header* in_hdr, struct fuse_out_header* out_hdr) { if (!out_hdr) { return -1; } out_hdr->unique = in_hdr->unique; if (write(fd, out_hdr, out_hdr->len) == -1) { return -1; } return 0; } static volatile long syz_fuse_handle_req(volatile long a0, volatile long a1, volatile long a2, volatile long a3) { struct syz_fuse_req_out* req_out = (struct syz_fuse_req_out*)a3; struct fuse_out_header* out_hdr = NULL; char* buf = (char*)a1; int buf_len = (int)a2; int fd = (int)a0; if (!req_out) { return -1; } if (buf_len < FUSE_MIN_READ_BUFFER) { return -1; } int ret = read(fd, buf, buf_len); if (ret == -1) { return -1; } if ((size_t)ret < sizeof(struct fuse_in_header)) { return -1; } const struct fuse_in_header* in_hdr = (const struct fuse_in_header*)buf; if (in_hdr->len > (uint32_t)ret) { return -1; } switch (in_hdr->opcode) { case FUSE_GETATTR: case FUSE_SETATTR: out_hdr = req_out->attr; break; case FUSE_LOOKUP: case FUSE_SYMLINK: case FUSE_LINK: case FUSE_MKNOD: case FUSE_MKDIR: out_hdr = req_out->entry; break; case FUSE_OPEN: case FUSE_OPENDIR: out_hdr = req_out->open; break; case FUSE_STATFS: out_hdr = req_out->statfs; break; case FUSE_RMDIR: case FUSE_RENAME: case FUSE_RENAME2: case FUSE_FALLOCATE: case FUSE_SETXATTR: case FUSE_REMOVEXATTR: case FUSE_FSYNCDIR: case FUSE_FSYNC: case FUSE_SETLKW: case FUSE_SETLK: case FUSE_ACCESS: case FUSE_FLUSH: case FUSE_RELEASE: case FUSE_RELEASEDIR: case FUSE_UNLINK: case FUSE_DESTROY: out_hdr = req_out->init; if (!out_hdr) { return -1; } out_hdr->len = sizeof(struct fuse_out_header); break; case FUSE_READ: out_hdr = req_out->read; break; case FUSE_READDIR: out_hdr = req_out->dirent; break; case FUSE_READDIRPLUS: out_hdr = req_out->direntplus; break; case FUSE_INIT: out_hdr = req_out->init; break; case FUSE_LSEEK: out_hdr = req_out->lseek; break; case FUSE_GETLK: out_hdr = req_out->lk; break; case FUSE_BMAP: out_hdr = req_out->bmap; break; case FUSE_POLL: out_hdr = req_out->poll; break; case FUSE_GETXATTR: case FUSE_LISTXATTR: out_hdr = req_out->getxattr; break; case FUSE_WRITE: case FUSE_COPY_FILE_RANGE: out_hdr = req_out->write; break; case FUSE_FORGET: case FUSE_BATCH_FORGET: return 0; case FUSE_CREATE: out_hdr = req_out->create_open; break; case FUSE_IOCTL: out_hdr = req_out->ioctl; break; case FUSE_STATX: out_hdr = req_out->statx; break; default: return -1; } return fuse_send_response(fd, in_hdr, out_hdr); } struct thread_t { int created, call; event_t ready, done; }; static struct thread_t threads[16]; static void execute_call(int call); static int running; static void* thr(void* arg) { struct thread_t* th = (struct thread_t*)arg; for (;;) { event_wait(&th->ready); event_reset(&th->ready); execute_call(th->call); __atomic_fetch_sub(&running, 1, __ATOMIC_RELAXED); event_set(&th->done); } return 0; } static void loop(void) { if (write(1, "executing program\n", sizeof("executing program\n") - 1)) { } int i, call, thread; for (call = 0; call < 8; call++) { for (thread = 0; thread < (int)(sizeof(threads) / sizeof(threads[0])); thread++) { struct thread_t* th = &threads[thread]; if (!th->created) { th->created = 1; event_init(&th->ready); event_init(&th->done); event_set(&th->done); thread_start(thr, th); } if (!event_isset(&th->done)) continue; event_reset(&th->done); th->call = call; __atomic_fetch_add(&running, 1, __ATOMIC_RELAXED); event_set(&th->ready); event_timedwait(&th->done, 50); break; } } for (i = 0; i < 100 && __atomic_load_n(&running, __ATOMIC_RELAXED); i++) sleep_ms(1); } uint64_t r[3] = {0xffffffffffffffff, 0x0, 0xffffffffffffffff}; void execute_call(int call) { intptr_t res = 0; switch (call) { case 0: memcpy((void*)0x20000080, "./file0\000", 8); syscall(__NR_mknod, /*file=*/0x20000080ul, /*mode=*/0ul, /*dev=*/0x701); break; case 1: memcpy((void*)0x20000240, "/dev/fuse\000", 10); res = syscall(__NR_openat, /*fd=*/0xffffffffffffff9cul, /*file=*/0x20000240ul, /*flags=*/0x42, /*mode=*/0); if (res != -1) r[0] = res; break; case 2: memcpy((void*)0x200020c0, "./file0\000", 8); memcpy((void*)0x20000000, "fuse\000", 5); memcpy((void*)0x20000040, "fd=", 3); sprintf((char*)0x20000043, "0x%016llx", (long long)r[0]); memcpy((void*)0x20000055, ",rootmode=00000000000000000100000,user_id=", 42); sprintf((char*)0x2000007f, "%020llu", (long long)0); memcpy((void*)0x20000093, ",group_id=", 10); sprintf((char*)0x2000009d, "%020llu", (long long)0); syscall(__NR_mount, /*src=*/0ul, /*dst=*/0x200020c0ul, /*type=*/0x20000000ul, /*flags=*/0ul, /*opts=*/0x20000040ul); break; case 3: res = syscall(__NR_read, /*fd=*/r[0], /*buf=*/0x20006380ul, /*len=*/0x2020ul); if (res != -1) r[1] = *(uint64_t*)0x20006388; break; case 4: *(uint32_t*)0x20000100 = 0x50; *(uint32_t*)0x20000104 = 0; *(uint64_t*)0x20000108 = r[1]; *(uint32_t*)0x20000110 = 7; *(uint32_t*)0x20000114 = 0x1f; *(uint32_t*)0x20000118 = 0; *(uint32_t*)0x2000011c = 0; *(uint16_t*)0x20000120 = 0; *(uint16_t*)0x20000122 = 6; *(uint32_t*)0x20000124 = 0; *(uint32_t*)0x20000128 = 0; *(uint16_t*)0x2000012c = 0; *(uint16_t*)0x2000012e = 0; *(uint32_t*)0x20000130 = 0; *(uint32_t*)0x20000134 = 0; memset((void*)0x20000138, 0, 24); syscall(__NR_write, /*fd=*/r[0], /*arg=*/0x20000100ul, /*len=*/0x50ul); break; case 5: memcpy( (void*)0x200041c0, "\x41\x2e\x45\x0a\x2a\x7b\x95\x86\xd1\xe6\xe9\xde\x25\x7a\xfc\x4f\xd6" "\x0c\x8d\xe4\x30\xc0\xd6\x34\x8b\x2c\xf1\xdb\x8d\x07\x0a\x53\x9d\xe9" "\xc1\xe9\x1a\x17\x8f\x92\x40\xdb\xcf\xe3\x03\x56\x60\x18\xf6\xc2\x0c" "\x55\xd6\x43\xa2\xed\x46\xaa\xac\xf4\x9c\xa4\x91\xee\x2f\x06\x18\x4b" "\xdb\x54\x87\x78\xa2\xc5\x6e\x56\xf6\xb4\x0b\x99\x44\x19\x42\x8b\xbb" "\xb9\xdf\xa5\xf9\x59\x35\x11\xca\x8a\xe1\xc0\x88\xfb\x0e\xe5\xda\x72" "\xf5\x05\x00\x00\x00\x00\x00\x00\x00\x2c\x04\x75\x42\x04\xf1\x94\xae" "\x6c\xef\xf4\x57\x0d\x44\x49\x6e\xef\xfe\x61\x99\x98\xea\xfc\x71\x67" "\xd2\x2e\x1c\x6a\xa7\x3e\x89\xad\x19\x22\x4e\x35\x13\x0a\x37\xcf\x68" "\xd5\xc4\x1c\xca\xfe\x59\xb4\xb7\x53\xa2\x6e\x06\xc4\x30\x6d\x31\xd7" "\x8d\xe6\xce\xde\x97\xc0\x6e\x3c\xa2\xcc\x4a\xf6\x6b\x75\x48\x26\x8e" "\xfa\x91\x62\x1f\xfc\xa2\x65\x5d\x2c\x8f\x1a\x9b\xb0\x19\xb8\x8f\xa7" "\x29\xcb\x3d\x32\xf7\x2c\x09\x8c\x44\x89\x8d\x42\xc4\x2f\x39\xfe\xb4" "\xfa\xea\xd9\x39\x80\x72\x6c\x23\x61\x29\xac\xdf\x31\xc0\x1f\x1c\xab" "\xb5\xca\x3e\xc4\xe4\x5e\xb5\xe6\xe5\x99\x12\x79\x2b\x49\x76\xe3\xf2" "\xb5\x60\xc8\x61\xd4\x9b\x53\x9d\x8e\x18\x70\x04\x0a\x8c\xf1\x90\xa8" "\xa7\x67\xec\x06\x7a\x80\x48\xaa\xc5\x33\x36\xb4\x46\x69\xd3\xd4\x25" "\x84\x3a\xe8\x06\x81\xa7\xc0\x2a\x5d\x5a\x3d\x90\xf3\x55\xfd\x4a\x6a" "\xc2\x77\xe7\x52\x30\xd5\x58\xf0\xdf\x20\xcb\x32\x3c\xc6\x5e\x9b\x5a" "\x25\x8c\xdd\x66\x9c\x8a\x95\x34\xe4\xaf\xf0\x9a\x8f\xe8\x9b\x12\x47" "\x48\xc9\xe7\x56\xc2\x87\x89\xc2\x15\x2a\x51\x42\xbc\x0b\xb2\x05\xe3" "\x39\xd4\x3b\xb9\x80\xb3\xf0\x4a\x3c\x1a\x42\x4a\x2a\x09\x39\x66\xb2" "\x06\x00\xa5\x41\x0e\x05\x28\xfb\x35\x93\x7c\x99\x8e\xea\x19\xf0\x1e" "\xaf\x2f\x39\xe1\x6d\x85\x56\x3a\x67\x37\xdd\xab\x32\x13\xca\x18\x32" "\xf0\xaf\xdf\x89\x1e\x34\xa5\x82\xf6\xa4\xac\x81\xfd\xa7\x0e\xbc\x3f" "\xed\xac\x2f\xb3\xa4\x92\xfd\xb4\x0b\x91\x02\x1e\x5d\x37\x1d\x99\x00" "\x64\xcd\x1f\x7c\x2c\x1a\x64\x72\xde\xc7\x50\x5f\x9a\x49\x40\x05\x7a" "\x3e\x57\xfd\x53\xaa\x3c\xd2\xeb\x91\x4e\x07\x3a\x19\xb6\xe9\x25\xf8" "\x55\x3e\x68\x75\xc0\x93\xc7\xd1\x9d\xe2\x58\x61\xfd\x96\x40\xf0\xec" "\xa4\xcd\xa0\x46\x7f\x12\x12\x6d\xaa\x2e\x0c\x6d\xf7\xd4\xe4\xba\xbe" "\x5a\x6e\x59\xe8\x39\x1b\xe7\x70\x07\x90\x31\x5b\x6b\x8a\x8a\xa7\x4c" "\xd6\xd3\xf0\x54\xac\xea\xed\xa7\x94\x30\x67\x6b\x67\xfe\x25\xc9\x02" "\x9e\x08\x94\xb4\x13\x37\x7f\xc4\xd8\x30\x0d\x9f\x93\x38\xfa\xdd\x07" "\xe4\xc8\x0c\xac\x08\x11\x3d\xf8\x97\x1a\x86\x84\x58\xc4\x7c\x06\xff" "\xf0\xc1\xc4\xbf\xd4\x8e\xa5\x83\xe9\xe7\x6e\xf1\x03\xd4\x2c\x23\x3b" "\x6d\xe1\x0b\x30\x61\x2c\xdb\xeb\x6b\x60\xa6\xa4\xdb\xbe\x2d\xa6\x3c" "\xc2\xdd\x4f\xb9\x3c\xac\x65\xaf\x3c\x12\x79\x27\x4f\x4a\xf0\xe2\xc5" "\xb9\x6e\x60\x68\xaa\x5b\x41\xf7\x54\x8f\xb7\x2b\x0c\x14\x23\x51\xf6" "\x44\x46\xdb\x74\x25\x11\x5b\x89\x13\x2b\x55\x89\xee\x64\x2e\xbb\xde" "\x65\x5a\xdb\x2d\x7d\x11\x17\x45\x6a\x6e\x4f\x28\x86\x87\x9b\x42\xba" "\xf8\x5e\x05\xd5\x3e\x2a\xce\xea\x9c\x38\x30\x67\x3b\xdc\x4d\x08\x16" "\x75\xfe\x76\xb9\x94\x65\x1a\xf9\xc3\xf1\x6b\x75\x13\x83\x4f\xce\x46" "\x54\xf8\x45\x58\xa8\x30\x8f\xa6\x77\xd0\x5b\xff\xcc\x89\x3d\x98\x13" "\xbf\x87\xc5\xec\x52\x0c\xd6\x6a\xd5\x8d\xc0\x6f\x0c\x47\xd2\x53\xcd" "\x36\xdf\xec\x82\x98\x0f\xc8\xdb\xdc\xd4\xb1\xc0\x37\xc2\xb3\x0b\xef" "\x45\x59\x84\xf3\xe8\xed\x19\xd6\x9e\x18\x5f\xe4\xfb\xdd\xa2\xc2\x51" "\x7e\xc9\xab\xfb\xb4\x84\x12\x52\xe6\x50\xb6\xbf\x56\xfd\xec\xa9\xa4" "\xee\x3c\x31\x1d\xe3\xc6\x85\x9e\xc1\x4c\xc0\x0e\x95\x32\x3c\x57\xc0" "\x2f\xa8\x94\xd8\x3e\xa1\x79\x44\xf3\x11\x2f\xc1\x9a\x7e\x11\x33\x5d" "\x79\x51\xec\x6d\xd5\xb4\xf0\x6f\xb9\xb6\x37\x31\x3a\x23\x03\x41\xea" "\x5d\xa6\xa7\xa9\x59\xe7\x07\xd0\xcd\x5f\xca\x60\xa6\x64\x9c\x8d\xf8" "\xd6\xc1\x7e\x9a\x49\xd2\x30\xe5\x77\x5d\xf1\x4e\x4b\x43\xaa\x34\x20" "\xbd\x0b\x88\x14\xec\x73\x60\xab\x19\x10\xe6\x9f\xab\x89\x32\xf7\x64" "\x6d\x79\x98\xbd\xc2\xe8\xec\x35\x4c\x52\xda\x21\xed\x83\xfb\x75\x82" "\xcb\x9d\x37\xbb\x95\xf1\x44\x97\x4f\x72\xc7\xb0\xae\x7b\x42\x94\x57" "\x68\xfa\x8e\xc0\xdd\x6d\xab\xa7\x2d\x05\x80\x96\x70\x50\x6e\xf1\x05" "\x42\x82\x20\x1b\x00\x90\x6c\x8a\xf6\x4e\x3e\x13\xa1\x0f\x18\x06\x88" "\xc9\x65\x49\xb2\xd3\xd6\xb0\x44\x03\xfd\x57\x1e\x7b\x13\x28\x91\xdd" "\x4b\x7c\xf3\x7a\xec\x25\xca\x1e\x91\x90\xc1\x7a\xae\xfb\xc3\x1e\x05" "\x99\x15\xc1\x2c\x23\x2f\xb7\x09\xff\x03\x00\x00\x5f\xbb\x26\x5c\x71" "\x02\xdb\x62\xe2\x26\x45\x90\xc5\x83\xea\x90\xf1\xae\xe3\xf1\x66\xaf" "\x81\x43\x0d\x90\x84\xeb\x0c\x76\x0e\xbb\xb1\x60\x49\xc9\xfd\x1f\xee" "\x6c\xe3\x3c\x8a\xc2\x05\xe3\xac\x9c\x27\x55\x31\xfe\xad\xfa\x40\x54" "\xe0\xc0\x27\xc2\x6b\xeb\x00\x9f\x54\xaa\x72\xb8\x64\xd3\x9b\xb1\x17" "\x53\xf7\x79\x31\xbb\x96\x02\x76\xdb\x33\x02\x1c\x65\x67\x1e\x57\xb3" "\x70\x8b\xbf\x97\x9b\xe2\x22\xe8\x43\x9d\x71\xf5\x8c\xa8\x7c\xec\x7a" "\x05\x45\x17\xaf\x39\x8a\x42\x73\x5b\x58\x07\x17\x37\x7a\x54\xf1\x39" "\xe2\xc4\x68\x13\xcb\xb0\x3d\x98\xe4\x9c\x26\xf4\xed\x54\xd7\x5e\x48" "\x57\x3c\xd0\x61\x45\xf9\x13\xf4\xe3\x13\xee\xee\x83\x74\x96\xdf\xff" "\x75\xaa\x72\x2f\xd8\x48\x6c\x45\xf9\xc9\x59\xda\x12\xae\x48\xba\x4a" "\x10\x71\x21\x20\xa2\x03\xe2\x47\x6c\x7b\x96\x03\x1d\x8f\x87\x73\xf6" "\x83\x44\xe6\xfa\x21\x83\x12\x87\x65\x5a\xab\xbd\x59\x4e\x9f\x27\x2e" "\xb1\xa7\x31\x5d\x2d\x79\xb8\xbc\xd5\xe6\x30\x04\xcd\x10\x6f\x80\xb1" "\xe4\x0a\x5d\x9e\x42\x8a\x01\xbc\x58\x26\x4f\x4d\x63\xc2\xee\x9d\xb6" "\xef\xa7\x06\x07\xa6\x42\xae\xb8\x83\xbf\x4b\x9f\xe0\x09\xd7\xf0\x9c" "\x16\xb0\x5a\x2c\x9b\x73\x57\x3e\x90\x19\xe1\x61\xeb\xbd\xc1\xfc\x9b" "\x9c\xd0\xc5\xfe\x1b\x57\xad\xcb\xa2\xd0\xf3\xa7\x67\xad\x59\xaa\xfa" "\x15\x9b\x3d\xd1\x81\xf0\x60\x1f\xf9\x5e\x8a\xf8\xb5\x41\x0e\x56\xc8" "\x1f\xfb\x8a\xb3\x5b\x1e\x04\xaf\x35\xda\xbf\x69\xf0\x85\x72\xe6\x92" "\x60\xb7\x2b\xfd\x50\x2c\x5a\x0d\xe6\x27\xfd\x3f\xee\x44\xbf\x1d\x4a" "\x26\x1b\xd3\x56\x05\x6c\x57\x39\x39\x8e\x3f\xf1\x61\xbe\xec\x12\x40" "\xa0\x89\x62\x5d\xaf\xfb\xc6\x1d\xc5\xe6\x60\xc2\x74\x56\x54\x77\xa0" "\xff\x17\x97\xfe\xff\xf0\x4a\x98\x70\x48\x02\xab\x06\x74\xab\x72\xd4" "\x00\x68\x62\x29\x60\x8c\xbf\xd2\xca\x20\xf4\xe6\x24\x95\xe8\xb0\x9d" "\xe9\xd1\x80\xc4\x73\x75\xbb\xad\x72\xf4\x47\x4b\x67\xd5\x61\x04\xb4" "\xb4\x66\x19\x2b\xe6\x0f\x7a\xa6\x68\xfd\x0a\x43\x38\xb8\x56\xf1\x14" "\x31\x18\x42\xee\x80\x6d\x64\x88\xab\x09\x09\x8e\xd9\xde\x0e\x21\xbc" "\xc8\xb4\x2a\x5d\x57\x13\xd1\x5e\xca\x10\x8f\xcc\x7a\x65\xd6\xb4\x14" "\xa1\x12\x52\x4a\x6e\x14\x18\x64\x45\x08\xdd\x95\x71\x47\xa9\x2d\x43" "\x99\xd1\x3f\xaa\xf0\x1c\xac\xef\x40\x54\x9c\xd1\x19\x00\xf9\xaa\x32" "\xa8\x33\x3f\x55\x79\x6e\xf2\x5d\x33\xc5\x54\xa3\x08\xda\x97\x97\xcd" "\x0a\xc2\x58\x88\x31\x1b\x0a\xc8\x8e\xff\x0b\xe7\xa3\x6d\xde\xdc\xfc" "\x2b\x09\x5a\xbb\x4d\x5a\x6a\x4e\xdb\xba\xd6\x7b\x70\xcd\xf6\x0c\x7e" "\xd0\xc5\xe0\x40\xce\xd9\x0e\xdb\x33\x22\xef\x68\x43\x32\x35\x89\x42" "\xed\xe9\x19\x1b\x43\x1c\x99\xb3\xab\xf8\xf9\xc5\x02\x06\x47\x9f\x0a" "\xc1\x18\xc0\xa9\x9d\xf6\x1f\xb9\xc9\x0d\x84\x6f\x41\xca\xa6\xa2\x44" "\x8f\xb7\xe1\x56\x40\x96\x5e\x05\x1c\x2a\xf4\xee\x72\xa5\xcc\x7c\x96" "\x2b\xac\xff\x70\x19\x61\x5c\x10\xe6\xc3\x05\x4e\x2e\x57\x92\xdf\x3a" "\xa6\xe2\xc3\x34\x25\x55\x21\x48\x46\x6a\x88\x56\x8c\xc7\x9b\x6e\xde" "\xbf\x01\x07\xb7\xd3\xd2\x44\x23\xa6\x65\xd2\x0c\x3a\x1c\x0f\x1a\x6b" "\x34\xeb\x47\x5b\xf8\x75\x91\x21\x15\x91\x4c\xfa\xbc\xf3\x94\xf8\xa0" "\x96\xd6\x4e\x5d\xc9\x57\x05\x07\x4f\xe5\xe9\x85\x49\x7d\xcf\x05\x2b" "\x9f\x74\x8b\x9d\x46\x88\x85\x9c\x02\x00\xfa\x43\x71\x9e\x47\x22\xed" "\x6c\x06\x4c\x0e\xfa\x7e\x07\xbe\xb2\xa2\x6f\xd7\x24\xb6\x35\x37\xfa" "\x0e\xb5\x06\x36\x5d\x5c\x02\x9c\xd8\xdc\xe7\xdd\x0a\x1c\xb9\xd9\x05" "\x8c\x06\x17\x39\x73\x4a\xf6\xbe\x9e\x88\x0f\xe7\xe2\x8a\x21\x1a\x4c" "\x36\x8a\x7b\xab\xd1\x10\x71\x10\xec\xbb\x38\x4b\x27\x4c\xc0\x92\xb9" "\x51\x1c\x4a\xbd\xe2\xdd\xd8\x63\x16\x2e\x27\x39\x98\x4a\x9f\x3c\x0a" "\x76\xe3\xc5\x30\xa2\x7d\x5e\x38\x5f\x4a\x3b\x87\x60\x7b\x2a\x94\x4e" "\x09\xd2\x82\x39\x66\x1d\x27\x71\x9e\x22\xc0\xa6\x57\xea\x38\x3c\x30" "\x85\x9c\xa2\x9c\xdb\x8f\xbc\x79\xbc\x83\xe9\x95\xdc\xb3\x61\x74\x3a" "\x7e\x19\x56\x50\xc3\x7e\x57\x0b\x76\x8a\x0a\x1f\x0b\x11\x8f\xa5\xbe" "\x9b\x3c\x83\x83\x26\x34\x3e\xc5\xb3\x76\xd5\xee\x04\x0e\xe2\x9d\xfd" "\x86\x8c\xcc\xf9\xcf\xa4\x59\x11\x51\xf5\x19\xcd\x6e\x2a\xe1\x45\x3a" "\x58\xaa\x92\xf9\x0e\xe5\xbe\x11\xce\xb8\x51\x1a\xb7\x43\xf3\x99\xbe" "\x0a\x19\x0e\xed\xdf\xd1\x12\x33\x68\x66\x83\x1c\x32\x55\xef\x65\x20" "\xd8\x8b\x25\x81\xea\x37\x67\xf3\xdf\x01\xa3\x8d\x9b\x46\x56\xf2\xa8" "\x9c\x5d\xf4\x14\x43\x29\x1a\x79\x5d\xa4\x5c\x8a\x84\x60\x15\xcd\x04" "\x1b\xea\x0d\xfb\xe6\x48\x34\x8b\x10\xae\x73\xce\x43\xd9\x01\x71\x82" "\x79\x2c\xd9\x17\x2e\xee\x64\x2c\x54\x9a\x53\x0c\xc1\xf5\x37\xf9\xaa" "\x70\xca\x63\x79\x2b\xa4\xa8\x6a\x71\x3a\xe0\x9b\x91\x71\x36\xe5\xbf" "\x15\x06\xad\x7f\x36\x7d\x8d\x2f\x77\xf4\x7a\x23\x18\xfa\xcd\x10\x9b" "\xba\x9b\x13\x27\xb5\xdb\x9e\x4a\xef\xfb\xdc\xf4\x14\xdb\x76\x1e\xea" "\xcc\x22\x7a\x15\xcd\x72\xaa\x52\xc8\xed\xe3\x3b\xdb\xab\x9d\xe9\xaa" "\x1e\x8f\x47\x0a\x38\x80\x13\xd0\x7f\x08\x77\x7e\x21\x31\xbb\xd4\x85" "\x6a\xb5\xc1\xc3\x8d\x03\xef\x40\x71\x97\xcc\xf2\x4e\x8b\x2a\x8d\xb6" "\x9e\x78\xf9\xd6\x62\x30\x33\xc4\x53\x54\x1b\xb7\x9f\x9e\x0b\xe9\xa5" "\x55\x88\xe2\xe5\x4f\xce\x65\xfb\x78\x54\x67\x06\x4a\x14\x6c\x4b\xf2" "\x18\x06\x8b\x5e\x3e\xfd\xaf\xaf\x93\xa9\x82\x53\xbe\xca\xef\x22\x6c" "\xd7\x94\x68\xff\x1b\xbe\x0c\x9d\x43\x87\x7f\x5c\xbb\x58\x44\xfd\x89" "\x57\xf1\x5d\x3e\xf2\x08\xaa\xc1\x18\x16\x58\x5c\xdc\xcf\x03\x9c\x36" "\xb4\x29\xd3\xd7\xfb\x63\x40\x54\xfd\x0f\x09\xc8\xab\xea\x37\x46\xa6" "\xb7\x37\x91\x42\xab\xde\x26\xd9\x98\xac\x7e\x39\xb9\x47\x46\xc6\x0c" "\x09\xf8\x6d\xdb\xd7\x49\x78\x49\xd1\xef\x83\x97\x30\x67\x24\x49\xf3" "\x5a\x3c\x32\x53\x66\x6e\x9f\xc0\x53\xac\x1c\x51\x8e\x44\xe0\xb8\x45" "\x55\xbe\x50\x7f\x7c\x00\xfa\x9e\x48\x64\xb4\xbf\x40\xac\x3d\x93\xf1" "\x20\x01\xeb\x78\x0a\x77\x9e\x65\x5d\x06\x33\x80\x32\x68\xc0\x94\xae" "\x16\x1a\x0e\xfd\x65\x20\x03\xd6\xac\x47\xf9\xa6\xc2\x8d\x86\x6b\x56" "\x23\x3f\x37\x16\x27\xb0\x1e\x0f\xe9\x36\x1d\xca\x61\x1a\x28\x84\x19" "\x68\xd4\xe1\x2c\xb7\x3d\x49\xce\x08\xfe\x25\xde\x4a\x90\xb2\xd3\x46" "\x07\x20\x2b\x20\xe7\x1f\x5e\x1e\xed\x38\xe1\x7d\x0a\x27\x48\xf5\x48" "\xcf\x61\x73\x5f\x4c\x9c\xea\xd1\xcb\x93\xb1\x19\x29\xd9\x06\xd6\x5f" "\xc6\x0f\x88\xe6\x91\x9b\x7b\x5a\x10\x14\xe6\xd4\x08\xbc\xe9\xc8\xcc" "\x83\x2e\xec\xf9\x14\x77\x08\xfe\x45\x18\x91\x71\x7d\x2e\xd9\x9d\xee" "\x70\x77\x3f\xea\xa9\x79\x85\x10\x2a\xbd\x3d\xd0\x5c\x90\x4c\x28\x89" "\x8a\xfe\x06\x06\x21\xdb\x65\x64\x88\x7b\xc4\xaf\xe1\x58\xfb\xe1\xd8" "\x19\x13\x6a\x1a\xc1\xdc\x9d\x86\x74\x79\x8a\x93\xda\xf5\x25\x54\x60" "\xb5\x0c\x34\x49\x62\x05\x83\x4c\x66\x8d\xb4\xc7\x64\xe7\x6e\xbb\x6c" "\xda\xf5\xfc\x44\xb8\x81\xcc\x2a\xe8\x7b\x4a\x7c\xc0\x45\x14\x3f\x96" "\xb1\x62\x0a\xbf\xd0\xf1\x16\xe6\x73\xb3\x35\xbe\xef\xda\xfa\x1e\x58" "\xd9\x19\x4e\x01\x0c\xb7\x89\x56\x04\x46\x46\xda\x5b\xa8\x53\xce\x98" "\x16\x67\xf2\xb8\xe5\x00\x1c\x2d\xf4\x37\xc9\xd5\x97\xcc\xd2\xbe\x7d" "\x28\x87\xf5\xcb\x7a\xad\x05\x39\xab\xb3\xf9\xdb\x1c\x8f\x5c\xd4\xd7" "\xd8\x31\x94\x6b\xa1\xc1\xaa\x87\x37\xc1\x14\xfe\xc1\xac\x9a\x82\x51" "\x9f\x57\xcb\x48\xc4\x9b\x7f\x62\xe9\xea\xa8\x9f\x44\x8d\xf3\x3f\xb3" "\x07\xcd\x00\x36\xc7\x0b\x49\x0a\xc3\x40\xf7\xd0\x4e\x14\xf3\x2b\xfe" "\xeb\xb0\x8a\x9d\x5b\xc7\xbb\xef\x8f\x23\x1e\xa0\x93\x11\xd4\xc8\x2c" "\xc5\x5c\x90\xeb\x53\xc6\xc0\x03\xcc\x98\xa3\x4d\xd3\xc4\xec\x2d\x8b" "\x3a\x65\x5a\x78\xe1\x6e\x90\x8f\x36\x87\x33\xd0\xa0\x2b\x36\xfe\x96" "\x3e\x2d\x80\xb5\xe6\xf7\xb2\xe3\xaa\xe3\x01\x3c\x90\x0c\x76\xe4\xd5" "\x6e\x83\x48\xbe\xf2\x21\xf8\xa6\x42\xe6\x92\xc2\x3b\x12\x52\x0f\xb6" "\x8c\x79\x3e\x78\x9e\xee\xce\xb4\xef\xb2\x09\x7a\x4d\x59\x52\xd1\x44" "\x09\x4c\xd7\xbe\x6e\xdc\x93\x3d\x25\x7f\x62\x30\xe9\x62\xd7\x0b\xa4" "\x2e\x1b\x07\xad\x9e\xca\x0c\xcd\x60\xd3\xd9\xa6\xe0\x6b\x73\xcc\xf9" "\x6a\x8a\xa4\x90\xed\x3b\xd5\x8b\xf4\xd7\x9d\xb6\x53\x55\xae\x14\x5b" "\x54\xbe\x00\x4e\x46\x4f\x4d\xd2\x3f\xb8\xb1\xbf\x15\xe1\x38\x38\x11" "\x60\x83\xda\x67\x18\x65\x13\x65\x26\x08\xe3\x7c\x8f\x84\x7b\x2b\xca" "\xfb\x57\xbc\xef\xc7\xef\xc8\xc8\x18\x2c\x7d\x70\x8c\xce\x5d\x14\x69" "\x5b\x4e\x61\x8e\x77\xf8\xe7\xbe\x81\xf2\x7a\x05\xe4\x15\xfd\x37\xac" "\x21\x50\x7a\x66\x5b\x25\x58\xda\xee\x5c\x0b\x08\x59\xfe\xdf\xed\xe8" "\xc0\x3f\x18\x1e\xf5\xe0\xec\x0d\xa6\xca\xa3\xed\xf4\x02\xdd\x73\xbc" "\xb4\x02\x6c\x48\x9a\x7c\xca\x8a\xb7\x00\xd3\xe9\xf0\x50\x00\x6c\x36" "\x76\x8a\x16\xe8\xa4\x8e\x48\xed\x57\x50\xb8\xcd\xb7\xad\x1f\xd1\x2d" "\x4c\xc8\x33\x3d\x32\x4d\x6c\x83\x90\x53\x03\xfa\x70\x13\xfc\x02\x55" "\x3b\x58\x75\x44\xaf\xfe\x38\xf1\xa9\x5e\x0c\x4c\x39\x74\x0d\x63\xb6" "\xd3\x87\xfc\x89\xb3\x0b\xd5\xfd\x74\x5c\xb6\x48\x44\xb1\x38\x97\xcc" "\xf5\xcc\xa1\x35\xf7\xd3\x9e\x03\xce\x8a\xdc\xda\x91\x9d\x86\xb2\x5b" "\x52\x76\x4b\x0a\x0c\x4f\x07\xf8\x8d\xf6\x88\x68\x41\x5d\xe1\x38\x63" "\xdf\x84\xa7\xe8\xd3\x55\xb0\x9c\xf9\x0e\x48\x2e\xb4\x17\x4f\xd0\x1f" "\x1b\x37\x1a\x4d\xc5\x2f\x3c\x89\xfc\x3a\x70\xc7\x16\x57\xaa\x5d\x75" "\x73\xef\x9a\xcf\x4d\x2b\x0b\x32\x1c\x41\xff\x26\x40\x51\x5b\xb4\x36" "\x37\xba\x22\x88\xca\x0b\xff\x2e\x2a\x3a\x99\x8a\xd8\x29\x4c\x52\xf9" "\xed\xfe\x0a\x4e\xe0\xa3\xf8\xed\x5b\x4b\x5c\x43\x31\x9b\xb9\xc5\x8d" "\xd0\x7e\xa3\x23\x7d\x7b\xb6\x2c\xb0\x86\xe7\xea\x4a\x81\xcb\xa2\xcd" "\xeb\x28\x79\x4a\x09\xc2\x75\xa7\x04\x96\x31\x10\xb6\x47\x20\xbd\x08" "\x9e\x37\x37\xee\x1a\x91\xe3\x48\xb5\xe9\x7b\x63\xe1\x72\x4d\xe1\xfa" "\x9f\x49\x96\x1d\x65\x3b\xbb\x47\xb6\xfa\x99\x3b\x03\x5c\xf5\x96\x59" "\xbc\xd0\x30\x61\x80\x64\x51\x62\x56\x8a\xbf\x51\x12\x78\x45\xcb\xe6" "\xe3\x7c\xc3\xc1\x9b\x9d\x69\x65\x7d\xb4\x25\x8f\xa5\xe8\x42\x8a\x73" "\xef\xf6\x50\x6b\xff\x47\x4c\x2e\x30\x2a\xd5\x55\x9a\xc8\xde\x44\xc6" "\xf0\xba\xba\x5e\x2e\x57\x9e\x7d\x7f\x9d\x9e\xbf\x54\x06\x74\x43\x2a" "\xc1\x1d\x92\xbf\xc9\xab\xdc\x24\x12\x68\x88\xb5\x33\xf4\x3b\xd6\xf2" "\x93\xb0\xbc\x31\x59\x15\x74\x31\x14\xa3\x53\x08\xa0\xee\x2e\x71\x05" "\x22\x13\x79\x18\xa2\xb0\x9d\xdb\xbc\x7a\x23\x13\xa2\xa6\xb8\x5a\x1a" "\xd2\x6f\x14\xdd\x70\x07\x26\x51\xc8\x30\x0d\xdf\x6d\xe2\x97\x04\xb7" "\x16\xce\x1b\xc4\x31\xc6\x6c\xcc\x96\x73\x1f\x46\x35\x9a\x9f\x68\x50" "\x97\x6c\x96\xdc\xb5\xe0\xee\x47\x44\x6f\x50\xb6\xb3\xba\x90\xd4\x52" "\x24\x06\x6e\x12\x3a\xd3\x85\x4d\x87\x7c\x0c\xdd\x93\x25\x00\x0a\xc0" "\xd6\x81\x3c\x30\xcd\x43\xd3\xe1\x50\x33\x56\x01\x72\x4c\xa3\x66\x64" "\x58\xdc\x4c\x04\xf6\x56\x22\x96\x98\x23\x53\xe1\x55\xd5\x25\x5c\x90" "\x08\xc0\xb4\x6d\x21\xa6\x78\xc8\xfc\xb3\xaa\x8d\x65\x74\x47\x6e\x04" "\x58\xeb\x0a\x76\xa6\xcb\x50\xf9\x29\xed\x21\x8c\xc4\x65\x4c\xb4\xf9" "\x5f\xb3\xaf\xbc\x25\x48\xb7\x4a\xcc\x31\x25\x63\x37\x5a\x19\xe5\x5d" "\x48\x85\x99\x48\x8d\xfe\xd4\xdd\x31\xb3\x9f\x29\xad\x61\xda\xd3\x43" "\xdf\xca\x3b\x45\xb3\x16\xa3\x4e\x7a\x7b\xeb\xd2\xb0\xf5\x62\xa9\xe6" "\x98\x48\xd1\x3f\xc8\x0a\x4f\xa5\x2d\x0f\x17\xbd\x15\xd9\xe1\xfd\x39" "\xa7\xdc\xc8\x61\x28\xd1\x44\x93\x80\x5d\x10\x5a\x74\x56\x73\xbd\xde" "\xa6\x8c\xa7\x4a\xc0\x9d\x95\xcc\x74\x12\xd5\xbe\x2c\xbd\x0a\x24\x7a" "\x81\xdc\x9e\x14\x81\x11\xe2\x2c\xdf\x33\x75\x80\x54\x69\x22\x6c\xa3" "\x53\x8f\x96\x0a\x6b\xa6\xaa\x0e\xee\xb8\x7c\x78\x4f\xfb\x1b\xfc\x09" "\x18\x0a\x61\xbe\x3c\x7c\x53\x5f\xc6\xd5\x93\xc3\xb3\xf4\xde\x21\xb8" "\xc3\xec\xcc\x90\x21\xe8\x0f\xb0\x7d\xce\x0a\xeb\x3b\x02\x3b\xd5\x5f" "\x24\x35\x6f\x64\x67\x91\xba\x80\xe5\xca\x21\xac\x09\x2a\x06\x9a\xe0" "\xa2\x2c\xfe\xfc\x08\xc2\x3c\xc7\xaa\x69\xb5\x70\xbd\x17\xcc\xe9\xde" "\x15\x87\x1d\x36\x3f\x16\x72\x88\xf9\x9f\x04\x76\x1c\xaa\x67\xf1\x2c" "\x94\x94\x66\x49\x3f\x66\x1d\x39\xee\x42\x80\xc9\x55\x44\x6f\xf5\xa9" "\xbb\x14\xf2\xd1\xae\x21\xcd\xb9\x1a\x58\x68\xe0\xc5\x20\x97\xcf\x38" "\x0f\x57\x19\x35\xb1\x40\x56\x29\x22\x76\x3f\x1b\x79\xc3\x70\x9b\x94" "\x9c\x57\xa0\x0b\x08\x82\x8c\xe9\xe6\x85\xf6\xb2\x34\xb5\xfe\x3c\x62" "\xd9\xfe\xb2\x49\xce\x75\xe8\x1f\x5e\xfd\x55\x6c\x14\xd5\xda\x24\xdc" "\x05\x54\x72\x3f\xdb\xe5\x26\x59\x96\x9a\x39\xf4\x70\xe8\x2c\x50\xc4" "\x77\x7c\x90\x86\x28\x43\x6e\x31\x17\x7a\xf1\x12\x5d\x5f\x70\xff\x62" "\x74\x62\x24\x7e\x5b\xc2\x0c\x47\xef\x75\xf3\x69\x17\x45\x86\xd4\x3d" "\x42\xf7\xee\xfd\xd4\x7f\xef\xa7\x45\xba\xde\xbc\xa2\xa8\x81\xcc\xc0" "\x18\xea\x41\x1c\xc8\xa7\xa0\x88\x14\x22\xbe\xe8\x70\x4b\xb9\x8e\x6b" "\xea\x9f\xbe\xc6\x34\x41\xfb\x45\xd7\xcc\xfd\x43\x69\x09\xb5\x7a\x2b" "\x60\xb7\x88\xe1\x5b\xda\x3c\xa7\x66\x3b\x19\xbd\x84\xd0\x87\x9d\xeb" "\x63\x9f\x10\xde\xf9\xa9\x9d\x42\xa4\xb9\xa4\xfd\x7f\xec\xbf\x6d\x2e" "\x75\x98\x67\x83\x07\xba\x9a\x5b\x6f\x14\x3c\x27\xcf\x1c\xa4\x1e\x3c" "\x90\x40\x07\xbb\x76\x2c\xd5\xdf\x6e\x63\xc4\xcf\x42\x2c\x2b\xa9\x59" "\xe5\x3b\xd8\xe5\x66\x4c\xf5\xdf\x6a\x91\xa4\xbc\x8c\xeb\xc5\x2b\x22" "\xf3\x00\x60\xfc\xbc\x5e\xad\x53\xd3\x8e\xab\xd1\x60\xc1\xda\x4c\xab" "\x8a\xa9\x5c\x36\x40\xff\xd7\x80\x74\xaa\x2c\xbb\x05\xcb\x8e\xa9\x0a" "\x0c\x95\xa4\xa1\xb2\xbe\x1e\xe9\x4f\x23\x80\x00\xf1\xfa\xff\xa0\x69" "\xd8\x70\x39\xf1\x3f\x5f\x84\xff\x36\x8a\xec\x5a\x0b\x10\x02\x02\x32" "\xb9\xfc\x95\x4a\x6c\x22\x57\x3e\xf4\x84\x59\xe5\x74\xd4\x8a\x48\x45" "\x83\x7e\x1d\x6e\xf3\x86\x73\x8c\xce\xdd\x09\x3d\x4d\x5b\xf3\xa3\xf7" "\x90\xc8\x75\xba\x74\x49\xd0\x33\x97\x64\x2f\xeb\x71\x10\x0f\x2c\x25" "\xab\x2c\xad\xf0\xb0\x80\x25\x44\xa2\x09\x5a\x51\xb1\x9c\xde\xce\x62" "\x3b\x17\xd4\x20\xb1\x73\xa9\x9c\x08\x1f\x8e\x22\x9b\x6d\xe3\xc6\x80" "\xd6\xbb\x39\xbb\x98\xb4\x79\x51\x7d\x77\xcc\xa5\x81\xb8\x1c\xf8\x56" "\x75\x3a\x44\xeb\xd6\x4c\xff\x11\x1f\xb8\xca\x37\xea\x45\xd2\x17\xa3" "\xfc\xa4\x4a\x08\x3e\x6c\x35\xb0\xfe\xd9\xf8\xf7\x63\x11\x78\xd1\x5e" "\x88\xf8\x6c\x85\xf1\xce\x68\xc9\x00\xaf\xdd\x1f\x7e\x5b\x8b\xd4\xef" "\x3f\x58\xc4\x47\xb7\x7d\x3b\xef\xc4\x91\x80\xdf\x7a\x5e\xb2\xae\x8a" "\xe3\x3b\x4e\xf5\x73\xf3\xa4\x25\xda\x8a\x60\xcd\xe8\x4d\x8e\xea\xe6" "\xd6\x39\x9b\x9f\xbb\xfa\x0f\xa8\xd4\x48\xb2\x5c\x7f\x79\xb7\x55\x4d" "\x0b\x02\xb0\xde\xcb\xc7\x4a\xe8\x56\x0f\x63\x0a\xf5\x96\x31\x3f\xb3" "\x3d\x44\x2a\x41\x00\x61\xac\xe0\xaa\x7a\x44\x0d\x5e\x31\xca\x8b\xb2" "\xcc\x49\x5c\x4f\x0b\x67\x2e\xdb\x01\x1b\x0c\x5f\x16\x78\x18\x36\xdf" "\x7f\x4a\xf8\x32\x91\x43\xd5\xa1\xa9\x9d\x7b\x18\xef\x9f\x77\x4c\x41" "\x99\xd6\x35\x84\x8c\xed\xeb\xac\x82\x63\x7a\x03\xa1\x89\xc6\x5b\xf6" "\x67\x50\x37\x37\xc7\x5b\x66\x39\xac\x65\xad\x42\x4c\xa4\x75\x28\x54" "\x37\xe6\xf1\x98\x30\xb3\x65\x49\xf6\x07\xff\xc3\x87\xc8\xb1\x1a\x34" "\xa8\x38\x15\x93\x76\xa6\x33\x5a\xfa\xa0\x45\xbd\x2b\xb0\x4e\x27\x9d" "\xd7\x24\x36\x33\x1d\x07\xdf\xbd\x72\xe2\x43\x6b\x27\xf0\xdf\x23\xa2" "\x66\xfd\x15\xcf\x56\xd1\xa9\xe9\x3a\xaa\xc8\x90\x1c\xfe\x49\xa3\x21" "\x9a\xe3\x6c\x5c\x65\xc7\x5e\x5c\x70\x8f\xb8\x2c\xac\x4d\x6a\x50\x72" "\x65\x09\xec\x3a\x7d\x32\xd5\x4c\xf5\x84\xae\x35\x3a\x5b\xff\x75\xa6" "\xde\x77\xa0\xb2\x40\xcf\x8a\x0a\x72\x81\x7c\x9d\x37\x69\x9c\xa8\x9c" "\x96\xe0\xe0\xd9\x6a\x76\x65\xac\x3a\x7d\x1f\xeb\xca\x1a\x1d\x79\xe2" "\xcb\xde\x80\x25\xc2\x71\x36\x0e\x2f\x90\x04\x8b\x2d\x9f\xd5\x6f\x45" "\xc0\x13\xe0\x01\xda\xd4\xb7\x78\x5b\xe6\x9d\xc0\x1f\x8a\x95\x4e\xf7" "\xa8\x44\x55\x98\x6f\xc5\xc9\xd5\x16\x7d\x91\x80\x8e\xfd\xb4\x47\x6e" "\xd7\x9f\x99\x56\x3d\x88\x7c\xfd\x4e\x99\x80\x9d\x9e\x38\x85\x01\xde" "\xa2\x28\xcb\xb3\xcf\x37\x70\x08\x2d\xc5\x66\x45\x52\x51\xfd\x9c\x2c" "\x74\x29\x63\xc3\x35\x00\x61\x8c\x6e\xc9\x9e\x0b\xef\x00\x74\x08\xa0" "\x46\x2a\x08\x12\x37\xbe\x4c\x6e\x5d\xb0\x25\x8d\x4b\xe5\xfc\x9c\xf6" "\x3f\xd1\xac\xe1\xf4\x16\x6c\x05\x3b\x0f\xb8\x4f\xe2\x49\x17\xda\x12" "\x55\xcf\x40\xbb\xb1\xb4\x56\x44\xf6\xa7\x69\x9c\xf8\x02\xa3\x5a\x93" "\x2c\x37\x4b\x1d\x62\x01\x3e\x6a\xfc\xa3\x78\x76\x27\x46\x99\x94\xc0" "\x2f\x62\x2a\xb8\x77\xed\x54\x91\xfc\x2a\x89\xee\xa6\x0e\x4e\x16\x28" "\xda\x89\xe3\xad\x60\x0f\xf6\x44\x2e\x4e\xbf\x20\xe4\x73\x04\x17\x6b" "\x6a\x17\x03\xc0\x94\xb3\xcf\x6d\x7f\xbb\xdd\xd8\xd8\xfa\x5a\x00\xf2" "\x8b\x4d\x8f\x43\xd8\x84\x87\xe9\xd4\x53\x10\x71\x51\x2f\x20\x27\x19" "\x87\x14\xa8\xd1\xce\xf1\x26\x77\x55\x47\xfc\x74\xf2\xa3\x58\x40\x51" "\x0f\x32\x5e\x50\x36\x1b\xe7\x65\x57\x76\x75\x60\x05\x5e\x08\x4f\x2e" "\xca\xef\xa0\xdd\x8c\xa8\x21\x53\x01\xa7\xa8\x87\xd2\xea\xdd\xae\xb1" "\xf5\xc3\xdf\xdb\xd2\xcc\x1b\xa5\xf0\x2d\x44\x26\xb9\x8c\x0f\x86\x1c" "\x5f\x72\x44\x05\x75\x8f\x44\x25\x60\xea\x6c\xd1\xd9\x53\x45\x6c\xc4" "\xaa\xc6\x64\x2a\xd6\x1c\x03\xdb\xaf\xfc\x23\x64\xd8\xec\x2e\xf9\xf4" "\x83\xc7\x03\x55\x13\x9d\x1f\xbd\x96\x17\xab\x3c\x7e\xed\xf0\xb8\x96" "\x3c\x1c\xfd\xab\x76\x91\x80\xdb\x43\xc4\x16\xa9\x0d\x9f\xdf\x3f\xd0" "\xeb\x2f\x81\x18\x76\x42\xb4\xe2\xa0\x9d\x64\x62\xd2\x75\x27\xfd\xfd" "\xa3\x1f\x7b\x26\x25\x01\x74\x9d\xcf\xc6\xc1\x84\x98\x3f\x99\x23\x42" "\x41\x31\xd0\x5c\xc8\x11\xca\xcf\x5c\x2c\x87\xe8\xe6\xf1\x35\x34\x9e" "\x68\xcd\xe0\xe8\x99\x7b\xf1\xdd\xe2\x48\xe5\x12\x4d\x5d\xca\x26\x81" "\xab\xdb\xe5\x8d\x32\x7a\x8e\xdd\x58\x58\x21\xf0\x3f\xdd\x45\x15\x72" "\x8f\x13\x36\x49\x5b\xa2\x5c\x9b\xba\x56\xa3\xf7\x06\xd6\x0c\x35\xcb" "\xd0\xb4\x0d\x0a\xc0\x58\x3a\x98\x1f\x9a\xf0\x85\x10\xed\x8e\xd0\xa7" "\x26\xe5\x47\x2f\x89\x95\xaf\x38\x37\xfb\xf1\xe8\x95\x87\x63\x3d\x2e" "\xf9\x44\x86\x8a\x15\x39\x19\x16\x57\x78\xe9\x63\x71\x08\x72\xaf\x12" "\xfa\xf9\x6c\x09\x19\xc6\x38\xe5\xaf\xfa\x97\x10\x44\x71\xba\x6e\x17" "\x8d\x27\x60\x2f\x96\xb9\x54\x6e\xbe\x52\x19\x0d\x91\xbe\x24\x5b\xe0" "\x87\x42\xb9\x63\x89\x08\x06\x76\xa5\x66\xd3\x22\x9e\x59\x3e\x4f\x56" "\xa7\x6a\xe4\xc5\x81\x13\xc6\xad\xc1\x08\x87\x03\xb1\xb9\x2d\xaf\xe3" "\x2a\x56\x00\xe1\x4a\xc1\xe7\x1d\xf8\x29\xdf\xef\x42\x59\x11\xf1\x6a" "\x2b\x91\xf6\x93\x59\x9e\xca\xbf\x93\x06\x5c\x6c\x4f\x5f\xef\xca\x8d" "\x4e\xd0\x95\x59\x91\x13\x52\x9f\x65\xd9\x12\x0d\x52\x52\xf5\x77\xaf" "\x95\xb4\x04\x97\x95\x08\xc3\x43\xdf\x54\xe4\xd2\x39\x72\x0e\x7d\x3a" "\x86\x1f\x1d\xca\xbf\xa6\x9e\x12\xd6\x55\xc8\xa0\x26\xc1\x0a\x4d\xf2" "\x79\xb1\x39\xfd\x22\x2e\x56\x1d\x20\x5a\xc9\xb4\x5c\x10\x54\xf8\x69" "\x9e\xca\x59\x4f\xb2\x38\x86\xe0\xde\x56\x51\x86\x59\x77\x66\xdd\x5e" "\x40\xf7\x4a\x42\x3d\x57\x08\xda\xc2\x54\xf4\x17\x2f\x10\x89\x27\x09" "\x88\xfb\x18\x71\x58\x13\xf1\x3e\xe4\xd1\x31\xb6\x4d\xd5\x17\xc7\xe7" "\x7f\x27\xf8\x04\xb2\x29\xf5\x33\x9a\xc2\xf4\x83\xb1\x47\x39\xac\x33" "\xa9\x64\x50\x44\xd3\x01\x0b\xd7\x7e\xd1\x8f\xb1\x17\xf7\xb1\x1b\xb5" "\x1c\x4e\xd6\x83\xb5\x9e\x28\xbf\x25\xa5\x8f\x12\x3d\xfb\xeb\x1f\x0f" "\x21\xf0\x3d\x9b\x57\xd8\xe6\x1d\x59\xb3\x11\x03\x7a\x5b\x75\x7b\x03" "\xca\x5c\x95\xe0\xeb\x73\x92\x2c\x69\x18\x53\x0c\x99\xde\x4d\x67\x33" "\x64\x0f\x2b\x8d\x13\xbe\xbc\xe3\x1d\x4f\x5e\x27\xaa\xb2\x01\x10\x1e" "\x48\xcd\xe2\x3a\x0d\x7e\x87\xb9\x51\x19\x49\xd8\x12\xe3\x18\x7e\xe5" "\xff\x11\xbc\x58\x58\xc0\x22\xed\x7b\x00\x79\x0e\xba\x32\xf9\xef\x7e" "\x13\x4c\xe5\xf7\x3a\x01\x26\x9c\xa9\x71\xb4\x0e\x62\x13\x3e\xca\x9d" "\x59\x6a\x76\x86\x86\xd6\x39\x0b\x2c\x74\x60\x2f\x6d\xc5\x97\xfa\xec" "\x3e\xd9\xd9\x65\x81\x02\xd9\x9c\x96\x24\xc1\xa9\x7d\x00\xd6\x38\x53" "\x57\x8a\xfa\xcc\xc7\xe3\x0a\x77\xfe\x05\x4e\xbc\x23\xee\xc4\x5f\x60" "\x8f\x99\x6f\xd0\x15\xcd\x6b\xd5\x0a\x11\x13\x60\xf0\x79\x0e\xff\x6f" "\xfb\x1e\xa5\x9d\x13\xc8\xe2\x94\x80\xbd\x96\x21\x71\x88\xf9\x7e\x53" "\xa1\xf5\xd9\xea\xe0\xa2\xba\xdb\x4f\xea\x52\xf2\xbb\x4f\x8c\xb0\x4d" "\x0a\xfd\x99\xe7\x37\x1a\x97\x8a\x7d\x7e\xf4\x73\xf7\x7e\xa6\x73\x8f" "\xf8\x4a\xf6\x55\x31\x3a\x12\xdb\x24\xcf\xf6\x92\xec\x7e\x28\x22\x45" "\xae\x9a\x42\x33\x8d\xb8\x14\x59\x34\x48\xf7\x11\x5d\xf3\xdc\x3f\x4e" "\x2f\xaa\x2c\x2f\xdb\xd6\x8f\x67\x9d\x6a\xba\x01\xa1\x50\x31\x34\x7b" "\xb1\x7d\x8b\xf8\xf1\xfa\xd0\xec\xf3\x65\xe9\xdc\xd3\x2e\x69\x80\x3c" "\x5c\x05\xf4\xb4\x7a\xdb\xf8\xa2\x1a\xf7\xe9\xfb\x32\x7f\x26\x7d\xf1" "\xc9\x14\x48\x63\x89\xa9\x82\x0e\xdf\x0a\x03\xbd\xe6\xef\x38\x8c\x25" "\x57\x61\xe4\x39\xb2\xf7\xe1\xf9\xc1\xc3\xc9\x5b\xd3\x0c\x50\x21\x97" "\xab\x37\xf7\x6b\x52\xf0\xd0\x67\x5f\x36\x6e\x91\x9b\xe1\x93\x29\x85" "\x37\x67\xbb\xa3\x4a\x54\x0f\xb7\x5b\xcd\xcc\x95\x96\xa4\xcd\xa2\x54" "\xa6\x60\xe1\x1b\xed\x5a\xf9\xd8\x64\x6a\xc4\xb7\xd6\xd7\xaa\x5d\x7c" "\x00\x05\x87\x9b\x6d\x08\x05\x8a\x56\xc3\xd3\xa4\xd3\xd4\x01\xb8\x83" "\x15\x3f\xa7\xf2\xf6\xa6\xd3\x4d\xd0\x10\xf6\xb9\xe7\xb4\xe4\x57\xb9" "\xff\x5a\x58\x02\xd7\x72\x3a\xbb\x35\xf9\xdc\xa0\xaf\xc1\x0f\x67\x91" "\x82\x4d\xbe\x0a\x77\x25\xd5\x34\xe7\x75\x34\x45\xb7\x26\x8d\x90\x14" "\x5b\x64\x38\xb9\x3f\xc4\x75\xf4\x4d\x5d\x67\x8d\x79\xda\x6c\x57\x70" "\xf3\xa9\x10\x6f\x3c\xff\xba\xbe\x4b\x88\xcb\xe7\xed\xa9\xb8\xa4\x95" "\xbe\x4f\x67\x17\xb0\xfb\xee\x6f\xec\x78\xc8\x60\x31\xb6\xd8\x78\xd4" "\x7e\x35\x7b\x20\x89\xde\x3e\x6d\xd1\x9a\x26\x55\x52\x55\x3d\x1f\x7d" "\xa5\x38\x84\xef\x84\xd0\xee\xbe\x78\x27\x91\xc4\x8a\x9c\x68\xa2\x8d" "\x8e\xa3\xbb\x70\xc9\x22\xb0\x1d\xc2\x0b\x2c\xd0\x5c\xfb\x27\x6e\x32" "\x66\x51\x39\x8f\x76\x6f\x5f\xaa\xea\x54\xa4\x1d\xa5\x97\xcf\x6b\x50" "\xf3\xd5\xeb\xc6\x34\x18\x5b\x99\x06\x91\x26\xb8\xd9\x35\xc6\xbc\x42" "\xc4\x7f\x21\x09\xde\x42\x09\x1e\xf4\xad\xe3\xd8\x7c\xc4\x4a\xeb\x78" "\x70\x92\x55\x50\x1e\x64\xf3\x4a\xc2\xd4\xb2\x72\x5c\xf7\x77\x73\x15" "\xf8\xca\x94\x24\xbc\x9d\x61\xa8\x96\xa9\x35\x00\xfa\xa6\xcf\x5a\x5a" "\xee\x1f\xb8\x88\xe1\x7b\x47\xa3\x8a\x66\x7b\xe2\xff\xa3\xba\xe4\x6a" "\xfa\x88\xbf\xd8\xb5\xb6\xe1\x18\x6d\x6e\x41\xb9\xa4\xe4\x90\x59\x10" "\x43\x37\x2c\x23\xf3\x6f\xb4\x8d\x80\xca\xff\x74\xcc\x34\x9a\xdc\x92" "\xbb\x25\xf7\x01\x73\x8c\x80\x9c\xcf\x74\xc4\x7a\xfa\x19\x37\x95\xee" "\x67\xbc\x58\xea\x7f\xd8\x55\x42\xfa\x7e\x70\x21\x84\x90\xff\xf2\x12" "\x16\x34\x01\xcf\xde\x01\x6d\xf2\xf4\x24\x96\xba\xe4\x03\xd5\x39\x1e" "\x53\xfe\x20\x0f\x75\x8b\xbc\xde\xad\x0f\xe7\x2c\x77\x86\x18\x89\xb9" "\x63\x2a\x25\x72\x29\xc3\x5b\xdf\xe8\xfa\x78\x37\x5b\x4f\x5c\x76\x8b" "\x9c\x60\xca\xfb\xde\x1f\x00\xaf\xf6\xca\x18\x79\xf6\x47\x2f\x28\x00" "\x1f\x5f\x13\xd4\xd9\xd6\xc3\xa9\x0e\x04\xd8\xdf\x09\x87\x35\x50\xda" "\xa8\x26\x2d\x39\xef\xbe\x96\xa7\x9c\x69\x7f\xbc\xc9\xa7\xf2\x7c\x9f" "\x6d\x78\x2d\x5d\x5f\x6d\x02\x4b\x29\x13\x76\xe9\xcc\x40\xd9\x02\xf8" "\x09\x07\x2e\x1f\x0f\x2c\x2a\xb8\x8c\xe3\xd0\x74\xe8\x84\x61\xf5\x97" "\x18\x53\xe7\xbe\x74\x99\x43\xab\x6e\x25\xe2\x5e\x8a\xfa\x50\x42\xdd" "\x73\x40\x7f\x49\xb5\x08\x41\xc7\x78\x2c\x54\xee\xce\x62\xec\x2b\xee" "\xf1\xf1\x6c\xaf\x1c\xa5\x98\x94\x27\xbd\x27\x26\xca\x0f\xee\x33\xe3" "\x03\x70\x2e\x98\x92\xe4\x38\x2e\x92\xc3\xf3\xa0\x3a\x61\x88\xf3\x97" "\x62\xdb\x81\x81\x9c\x7e\x12\xb4\x24\xbe\x8f\xd9\x64\xdc\xdb\xfb\xac" "\x00\x13\x9e\x8c\x5a\x62\x00\x50\x6f\x13\xf4\x84\xac\x34\xef\x3d\x26" "\xe7\xca\xdd\x53\xcf\x40\x21\x17\x41\x9c\x16\x18\x20\x5b\xfa\x53\x82" "\x48\x60\x94\xbd\x55\x44\x8f\x2b\x1a\xa4\xdb\xec\x22\x89\x18\x9b\x60" "\x1b\x1b\xbf\x57\x92\xb2\xa6\x41\xc6\xf5\xdd\x19\xcf\x24\xab\xc7\x2f" "\xc5\x26\x4c\xf1\x1f\x6b\x44\xa4\x92\x92\x67\xa0\x2c\xd1\xde\x1b\x60" "\x2b\x9d\xe6\x5a\x6c\x06\x64\x0a\xa0\xf7\x61\x09\xba\xa9\x0d\x66\xee" "\xb1\x72\x95\xb1\x71\x13\x65\xb7\xd6\x83\x5a\x2d\xd5\x5b\x7f\xe8\x68" "\xc5\x94\x53\x61\x32\x40\x64\x3c\x84\x7a\x5b\x48\xd2\x78\x97\xa5\x8d" "\xda\x63\xe5\x79\xc1\xbb\xa5\x83\x50\x55\x0e\x14\x7b\x19\x0f\x0a\x2c" "\x9a\x5c\xe7\x19\xd6\x27\xce\x33\x02\x02\x8b\x4b\x68\x01\xbb\xfa\x8c" "\xd7\x48\x74\xff\xba\x35\x81\x7c\x0e\xca\x03\x4d\x19\x21\x09\x50\x79" "\x68\x07\x12\x5f\xe6\x06\x5d\xcd\x47\xd7\xc8\x70\xed\x2d\xb5\xc0\x0c" "\xff\x23\x5e\x41\x54\xe2\xd8\x9e\xc2\xa0\x9a\x87\x55\x1f\x9b\x7c\xa2" "\x5d\x51\x9b\x56\x03\xc0\xc3\x3d\x2c\xf7\x28\x78\x19\x9f\xfa\xb5\x67" "\xfc\x5e\x09\x35\x29\xb8\x9d\x11\x63\x58\x7f\x35\x64\xba\x82\x91\xd2" "\xd9\x6c\xf9\x76\x2e\x7f\x56\x8e\x78\x6e\xa9\x08\x49\xf6\x31\x2c\x1a" "\x10\xf4\x5d\x61\x60\x0c\xd4\x5c\x48\xe6\x87\x0a\x7d\x76\xc9\x13\xf9" "\xc4\x49\x73\x74\xfc\x04\x40\x1c\xbd\x11\xf7\x71\x07\x40\x14\x82\x34" "\xfe\x8f\x04\x1f\x24\xd0\x27\x8f\xcf\xd4\x88\x46\xe6\xaa\x49\xf0\x50" "\x16\xfc\x33\x2d\xc5\xd4\x6b\x4a\x26\x57\x4f\xed\x5c\x07\x51\xce\xbb" "\x9f\x7a\xb4\xcd\xbc\x1e\xe0\x11\xd8\x2d\x6e\xf9\x5c\x52\xc9\xdf\x8e" "\xed\xac\x3a\xb5\xcf\x30\x80\x5f\x23\xd8\x8d\x4f\x70\x76\x01\xf8\xe6" "\xc6\x06\xb5\x8f\x2f\xe2\x34\xe9\x48\xd6\x75\x6d\x43\x0a\x5c\x4e\xc7" "\x6a\x33\x87\x48\x86\xc8\xfb\x48\x40\x59\xb4\x7a\x9b\xd1\x98\xa6\x1a" "\x18\x96\x41\x92\x88\xa9\xe8\x1d\x09\x69\xde\xc7\x78\xa5\x3e\x82\x33" "\xf0\xf6\x3b\xd0\x13\x4e\x5f\x29\x82\x5e\x78\x17\xe7\xc8\xcc\xb7\xd9" "\xac\xd8\xf8\x6a\xc9\xd3\xaf\x78\xc4\x3d\xf3\x03\x6d\x79\x34\xdd\x29" "\x4f\x2b\xb1\x20\x63\xbe\xe5\x2c\x54\x7d\x27\xa2\x18\x14\x5b\xef\xb0" "\xca\x96\xcb\xfa\xab\xd3\x9f\xa2\x45\xb5\x1c\x39\xf4\xcd\x4c\xf8\xdb" "\x10\x5f\x9d\xc4\x6a\x7a\xaa\x8f\x7d\x06\xfa\x20\x81\x20\xce\x1a\xc4" "\x93\x26\x17\x96\x18\xfa\x2c\x85\x96\xc4\x4e\x17\x4e\xb7\xa1\x41\x05" "\x6b\x1d\x17\x68\x9c\x10\xde\xe0\x89\xc8\xb0\x86\x7b\x8a\x75\x7a\xe1" "\x22\x51\xbb\xd6\x8d\xb5\xfb\xa2\xbe\x34\x12\x75\xfb\x6e\xe3\x79\x30" "\x9f\x5c\xde\x9b\x31\x24\x2b\x0b\x2b\xac\x44\xda\x74\x77\x6f\xac\x14" "\x19\x36\xbd\x96\xe3\x17\x71\x61\xf0\x57\xc8\x20\xa8\xc2\x2c\xca\x8c" "\xce\x29\xb1\x58\xeb\x55\xae\xd0\x26\x02\x53\xfb\xee\x70\xa6\xdd\x28" "\x1d\x9f\xca\x23\xe0\xb0\xa3\x8d\x46\xc7\x6a\x95\xe1\x26\x2f\x1c\xaf" "\xcf\x0f\xc3\x7b\x52\xe6\x49\xa1\xba\x1e\x2c\x0f\x97\xd1\x0b\xbf\x4d" "\x2b\x56\x32\xcf\x34\x0b\xce\x56\x73\x60\x71\xd5\x88\x5e\xc9\xb4\xe1" "\x79\x10\x74\x4d\x3e\x63\xe2\xca\x6d\xeb\x21\xe4\x3f\xc2\x1e\x89\xc6" "\x86\x5d\x3a\xd4\x24\xef\x4a\x14\xef\xe8\x84\x3f\xf3\x16\x8c\x99\xee" "\x39\x54\x00\xdc\xc8\x75\x57\x19\xd2\x90\xc5\x67\xc9\x5a\x5e\x7d\x28" "\xec\x11\x90\xce\xee\x24\x00\x84\xd4\x44\x26\x5c\xc8\x01\xcd\x96\x0f" "\x69\xb3\x68\x35\x9b\xbf\x06\xb8\xa4\xec\x23\xb4\x7c\x7b\xf9\xd4\xb1" "\x6c\x70\x1a\x1c\x4f\xb9\xe8\x1a\xbb\x55\xbf\x49\xd4\x50\xb5\x66\xce" "\x03\xde\x93\x9f\xc6\xf5\xc5\x12\x91\x38\x00\x86\xf8\xc9\x95\xcd\xd4" "\xfa\x15\xa3\x25\x60\x1c\x48\x46\xa6\x9f\x15\xc7\x7f\x55\xc9\x00\x27" "\x0b\xc9\xea\x5f\x40\x64\x80\xcb\x0e\x3e\x89\xbc\x86\x9f\xe8\xb7\xce" "\xc4\xfb\xef\x7e\x76\x28\x3d\x50\xc2\x5a\xb1\xb4\xd3\x4d\x09\x3a\x7d" "\xf0\x62\x99\x0a\x92\x5a\x9c\x44\xaa\x26\x61\xab\xd7\xd3\x81\xa4\xd6" "\xcd\xb6\x48\x21\xef\x62\x4d\xd5\x1b\x72\xe9\x9a\xf9\x14\xbc\xa2\xf8" "\x0c\x25\xb8\x2a\xc6\x94\x5d\xf7\xc7\x58\x2e\x6d\x0c\xe2\xcd\x07\x3e" "\x35\xf1\xfc\x12\x0a\x68\xba\x21\x04\x10\xdb\x64\x59\x2a\x9a\xa3\x19" "\xb3\x0f\x2b\x81\x8c\x49\x57\x50\xe1\xce\xa0\x61\x0e\x27\xd5\x2b\xe3" "\x1e\x52\xe5\x01\xa3\xbd\x51\xb5\x01\xbc\x51\xc2\xec\x85\x92\xf6\x79" "\xb6\xe5\x5b\x9a\xa5\x8d\x51\x3f\xd2\xbe\xba\xdc\x83\xba\x76\xeb\x45" "\xe5\x67\x6f\x13\x01\x93\xe9\xa6\x66\xb8\xc8\x13\x2c\x9f\x51\x41\x68" "\x1f\xba\xb3\x24\xb5\x55\xc5\xc8\x90\xd4\x88\xac\x2d\xd0\x0f\xee\xad" "\x0a\x20\xfb\xd8\xa4\x63\x91\x43\x8e\x31\x93\xed\xc6\xfb\x89\x16\x1c" "\xd8\x64\xfc\xa9\x8f\x4f\x39\xa2\x89\x3c\x93\x3d\xcd\x13\xbc\x8c\x5d" "\x5a\x54\x8d\x24\x86\x2e\x81\x61\xc0\xfa\xd7\xf3\x3a\xca\x8c\x86\x79" "\x1d\x62\x08\x15\xfe\x3f\x0d\xad\xdb\x5d\xef\xd9\x33\xd0\xc1\x00\x97" "\xa7\xa9\x8e\x67\x62\x54\x20\xb6\xc0\xdb\x7c\x3e\x17\xab\x07\xea\x64" "\xe6\xf0\xf5\x3f\xdc\x67\x07\x99\xe0\x6a\x2e\x3a\x87\x1d\x6b\xe3\x63" "\xa2\x63\x9e\x35\x33\x93\x61\x31\x1e\x0f\x52\x8c\xc4\x33\xea\xce\xa4" "\xf7\x9b\xf2\x17\x10\x8c\x7b\x1d\x65\x78\x40\x25\x3f\xfd\xea\x18\xbd" "\xd1\xf9\x3c\xde\xe6\x3e\x7a\x9b\x8d\xbc\xb4\xee\x06\x16\x2b\x25\x3e" "\x09\xea\x06\x41\xf2\x77\x1b\xd9\x82\x3d\xd2\x10\x90\x5e\x9e\xa4\x95" "\xf4\x31\x94\xbb\x47\x1c\xde\xb6\x90\xe8\x89\x0b\x03\xb5\x08\x35\xd5" "\x3d\xde\x1b\x57\x2d\xd1\x23\xcc\xc8\x50\x7b\xb5\x7a\x45\xe4\x6c\x0e" "\xfb\x8f\xb3\xd5\x59\x6b\xdd\xf9\x78\x2d\x86\xdd\x91\x16\x36\xea\xe2" "\xcf\x64\xb5\x82\x9c\xf8\x89\x3f\xaf\x78\x9b\xe3\xfa\x22\x85\x9a\xcc" "\xf6\x88\xf5\xb5\xda\x6c\x29\xca\xcc\x96\xd4\x77\xe2\x3b\x63\xcc\x93" "\x4f\x68\x5b\x6e\x42\xe1\x65\x5c\x9a\x9b\x94\xd6\xd7\x84\x02\xde\x22" "\xb8\xd9\x77\x6e\x39\x15\x39\x1a\xa2\x58\xe5\x74\x67\xd7\x70\xd6\x54" "\x80\xba\x2f\x6a\x94\xb0\x33\x79\x65\xa8\xc6\x59\xc4\x2b\x4e\x90\xb1" "\x4d\xa4\x69\x7d\x0c\x0a\x6d\x74\x77\x4c\x94\xc5\x2d\x8e\xcb\x69\x4e" "\xee\x74\x7b\xda\xa6\xc3\xa6\xd6\x07\x39\xdb\x18\xc6\x44\x60\x90\xee" "\xbb\xa7\x2e\x62\xab\x88\xb0\xe8\xb8\x8e\x72\x8b\xa8\xcb\x13\x3d\x85" "\x24\xed\xa8\x9a\x2b\xff\x1c\x84\x14\xda\x3e\xdf\xa6\xf8\x37\x88\x33" "\x1c\x8a\x7e\x5a\x8a\xf2\xdd\x36\x82\xd4\x75\x21\x90\xa3\xc6\x89\x94" "\x9a\xbd\xad\x83\x50\x11\x13\x73\xe7\xfb\x46\x15\x1f\x54\xa1\x0f\x79" "\xd9\x19\x40\xe3\x7e\xfb\x05\xf9\xf1\x57\xbd\xdc\xfa\xcf\x01\x8b\x65" "\xa3\x8a\xb6\x14\x80\x7c\x34\xa2\x78\x6a\xf4\xa1\xd4\x8c\x4d\x1c\x1a" "\xbd\x31\x81\x57\x15\xf9\xd1\xb1\x03\x99\x22\x07\xfc\x66\x4f\x12\xc8" "\x2f\xd9\x23\xc5\x7d\x8e\x7c\xfb\x9f\x4a\xf5\x51\x82\x31\x8d\x05\x5c" "\x70\x48\x65\xcf\x48\x42\x06\xd6\x0e\x34\xcf\x7f\xe9\xb6\xce\x60\xb1" "\x77\x2c\x5c\x7c\xda\xcb\x66\x95\x22\x7d\x80\xda\x18\xec\x1f\x98\xa4" "\x34\xb1\xaa\xf9\xc6\xb6\xd0\x82\xf5\x66\x3a\xed\x2b\xf2\x67\xe5\x59" "\xdc\xa6\xb9\x3d\x3c\xe3\x42\x73\x84\x6f\xc6\x77\xf5\x29\x69\x04\x82" "\xdf\x0a\x8f\x78\x2b\x8a\xd7\x26\x9f\x34\x4f\x5f\x2b\x4d\x32\x0a\x7c" "\xe2\xd2\xfa\x02\x28\x4f\x8d\xb6\x34\xdc\x93\x0c\x3e\x2b\x9a\x62\x92" "\x45\x36\x4a\xcf\x35\xd4\x1e\x9a\x14\xc8\x8e\xfd\xe4\xe7\x42\xef\x1e" "\xa4\xb4\x3d\x0c\xaf\x2e\x70\xd4\xa6\x17\x27\x88\x23\xe6\x40\x39\x34" "\x52\x4d\xeb\xbd\x93\x3e\x76\x76\xe4\x41\xa4\x8f\x63\x0d\xc8\xbc\xcc" "\xd5\x5d\x90\x32\xd6\xbf\x3d\xea\x97\xd1\x66\x9c\x39\xfb\x86\x5b\x0e" "\x61\x9e\xeb\x3f\x54\x61\xe5\x17\x00\x0f\x5a\xee\x3e\xf2\xab\xdb\x87" "\xd3\xa7\x6b\x88\xe1\x40\xeb\x46\x44\xa9\xfb\xdd\xbd\xc9\xe2\x09\x72" "\xcd\xfa\xcf\x00\xbf\xfa\x3a\x1c\xa5\xf8\x41\x22\xc2\xeb\xc5\x40\x67" "\xcd\xaa\x23\x96\x7e\xae\xb7\xbb\xbf\xe4\x4e\x58\x43\x38\x2b\x83\x4f" "\xae\x1f\x62\xa0\x66\x68\x85\x95\xe4\xee\x67\xc7\xff\x98\x58\x67\x23" "\x55\xab\xf7\x89\x3e\xbe\xb4\xbc\xf8\x8a\x62\xb2\x23\x7c\x6e\x6c\xec" "\x9a\xeb\xe3\xf2\x8b\xfc\x31\x0c\xed\x3a\x59\x0e\x88\xd4\xbd\x0f\x53" "\x28\x92\x06\xde\xb9\xad\xdb\xf6\xf3\xc0\x21\x15\xce\x49\x80\xda\xdf" "\xc1\x12\x68\x3a\xe2\x50\xc2\xd4\x38\xfd\x9c\x0f\x2a\x09\x0d\xbf\x12" "\x2a\x00\x72\x82\x8d\xb7\x98\xbd\xb8\x68\xdc\xd4\x73\x84\xdd\x3f\x5e" "\xee\xbc\x03\x07\xa5\xb2\x68\x68\x3c\xd5\x1f\x31\x2e\x8f\x02\xb5\xa7" "\x74\x6b\x11\xa9\x7a\xc4\x32\x87\xd9\xb9\x76\x5f\x03\xc7\x20\x50\x3c" "\xfe\x6e\x01\x17\x66\x0a\x4c\x00\xd6\x78\x95\x22\x4c\x4d\x42\xb0\x32" "\x00\x0a\x10\xd7\xa7\x43\x05\x47\x58\xa8\xf5\x49\x41\xfd\x5e\xaf\x72" "\x49\x8b\x67\x8d\x15\x79\xb3\xde\x4e\x55\x18\xf9\x0f\x1e\x3d\x32\x51" "\x7d\x09\xd7\xf5\xda\x9d\x18\x02\x15\xe6\x62\x18\xe9\xdd\x64\x03\x68" "\x19\xcf\x12\x63\x8c\xe8\x27\x12\xa6\xcc\x79\xa9\xdd\xb3\x6e\x86\x81" "\x4b\x79\x7d\x72\xc2\xbc\x58\xb1\x8b\xa4\x39\xe9\x99\x65\xf7\x45\xb4" "\xfb\x7d\xe2\x87\x8e\x31\x86\xe3\xe7\xb8\x35\xc7\x46\xb0\x93\x5f\x6c" "\x67\xe9\x2e\x37\x70\xbd\x8d\x5e\xb4\xf6\x6d\x81\x75\xce\xb7\x85\x0e" "\x41\x8c\x55\xe5\x74\xdb\x89\x16\x39\xaa\x77\xfc\x62\xbc\x45\xdc\xb7" "\x34\x68\x1e\xde\x84\x84\xd4\xd4\x10\x9a\x9a\xdb\x8c\x3d\x00", 8192); *(uint64_t*)0x20000e40 = 0; *(uint64_t*)0x20000e48 = 0; *(uint64_t*)0x20000e50 = 0; *(uint64_t*)0x20000e58 = 0; *(uint64_t*)0x20000e60 = 0; *(uint64_t*)0x20000e68 = 0; *(uint64_t*)0x20000e70 = 0; *(uint64_t*)0x20000e78 = 0; *(uint64_t*)0x20000e80 = 0; *(uint64_t*)0x20000e88 = 0x20000500; *(uint32_t*)0x20000500 = 0x20; *(uint32_t*)0x20000504 = 0; *(uint64_t*)0x20000508 = 0; *(uint64_t*)0x20000510 = 0; *(uint32_t*)0x20000518 = 9; *(uint32_t*)0x2000051c = 0; *(uint64_t*)0x20000e90 = 0; *(uint64_t*)0x20000e98 = 0; *(uint64_t*)0x20000ea0 = 0; *(uint64_t*)0x20000ea8 = 0; *(uint64_t*)0x20000eb0 = 0; *(uint64_t*)0x20000eb8 = 0; *(uint64_t*)0x20000ec0 = 0; syz_fuse_handle_req(/*fd=*/r[0], /*buf=*/0x200041c0, /*len=*/0x2000, /*res=*/0x20000e40); break; case 6: memcpy((void*)0x200001c0, "./file0\000", 8); res = syscall( __NR_openat, /*fd=*/0xffffff9c, /*file=*/0x200001c0ul, /*flags=O_NONBLOCK|O_NOFOLLOW|O_DIRECT|O_APPEND|O_WRONLY*/ 0x24c01, /*mode=S_IXOTH|S_IXGRP|S_IXUSR*/ 0x49); if (res != -1) r[2] = res; break; case 7: *(uint64_t*)0x20000180 = 0x200002c0; memset((void*)0x200002c0, 161, 1); *(uint64_t*)0x20000188 = 1; *(uint64_t*)0x20000190 = 0; *(uint64_t*)0x20000198 = 0; inject_fault(3); syscall(__NR_writev, /*fd=*/r[2], /*vec=*/0x20000180ul, /*vlen=*/2ul); break; } } 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); const char* reason; (void)reason; if ((reason = setup_fault())) printf("the reproducer may not work as expected: fault injection setup " "failed: %s\n", reason); loop(); return 0; }