// https://syzkaller.appspot.com/bug?id=3983f8a8d83851a54a0b9f9e75cb3464e9c70aef // autogenerated by syzkaller (http://github.com/google/syzkaller) #define _GNU_SOURCE #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include __attribute__((noreturn)) static void doexit(int status) { volatile unsigned i; syscall(__NR_exit_group, status); for (i = 0;; i++) { } } #include #include #include #include #include #include #include const int kFailStatus = 67; const int kRetryStatus = 69; static void fail(const char* msg, ...) { int e = errno; va_list args; va_start(args, msg); vfprintf(stderr, msg, args); va_end(args); fprintf(stderr, " (errno %d)\n", e); doexit((e == ENOMEM || e == EAGAIN) ? kRetryStatus : kFailStatus); } static void use_temporary_dir() { char tmpdir_template[] = "./syzkaller.XXXXXX"; char* tmpdir = mkdtemp(tmpdir_template); if (!tmpdir) fail("failed to mkdtemp"); if (chmod(tmpdir, 0777)) fail("failed to chmod"); if (chdir(tmpdir)) fail("failed to chdir"); } static void vsnprintf_check(char* str, size_t size, const char* format, va_list args) { int rv; rv = vsnprintf(str, size, format, args); if (rv < 0) fail("tun: snprintf failed"); if ((size_t)rv >= size) fail("tun: string '%s...' doesn't fit into buffer", str); } static void snprintf_check(char* str, size_t size, const char* format, ...) { va_list args; va_start(args, format); vsnprintf_check(str, size, format, args); va_end(args); } #define COMMAND_MAX_LEN 128 #define PATH_PREFIX \ "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin " #define PATH_PREFIX_LEN (sizeof(PATH_PREFIX) - 1) static void execute_command(const char* format, ...) { va_list args; char command[PATH_PREFIX_LEN + COMMAND_MAX_LEN]; int rv; va_start(args, format); memcpy(command, PATH_PREFIX, PATH_PREFIX_LEN); vsnprintf_check(command + PATH_PREFIX_LEN, COMMAND_MAX_LEN, format, args); rv = system(command); if (rv != 0) fail("tun: command \"%s\" failed with code %d", &command[0], rv); va_end(args); } static int tunfd = -1; static int tun_frags_enabled; #define SYZ_TUN_MAX_PACKET_SIZE 1000 #define MAX_PIDS 32 #define ADDR_MAX_LEN 32 #define LOCAL_MAC "aa:aa:aa:aa:aa:%02hx" #define REMOTE_MAC "bb:bb:bb:bb:bb:%02hx" #define LOCAL_IPV4 "172.20.%d.170" #define REMOTE_IPV4 "172.20.%d.187" #define LOCAL_IPV6 "fe80::%02hxaa" #define REMOTE_IPV6 "fe80::%02hxbb" #define IFF_NAPI 0x0010 #define IFF_NAPI_FRAGS 0x0020 static void initialize_tun(uint64_t pid) { if (pid >= MAX_PIDS) fail("tun: no more than %d executors", MAX_PIDS); int id = pid; tunfd = open("/dev/net/tun", O_RDWR | O_NONBLOCK); if (tunfd == -1) fail("tun: can't open /dev/net/tun"); char iface[IFNAMSIZ]; snprintf_check(iface, sizeof(iface), "syz%d", id); struct ifreq ifr; memset(&ifr, 0, sizeof(ifr)); strncpy(ifr.ifr_name, iface, IFNAMSIZ); ifr.ifr_flags = IFF_TAP | IFF_NO_PI | IFF_NAPI | IFF_NAPI_FRAGS; if (ioctl(tunfd, TUNSETIFF, (void*)&ifr) < 0) { ifr.ifr_flags = IFF_TAP | IFF_NO_PI; if (ioctl(tunfd, TUNSETIFF, (void*)&ifr) < 0) fail("tun: ioctl(TUNSETIFF) failed"); } if (ioctl(tunfd, TUNGETIFF, (void*)&ifr) < 0) fail("tun: ioctl(TUNGETIFF) failed"); tun_frags_enabled = (ifr.ifr_flags & IFF_NAPI_FRAGS) != 0; char local_mac[ADDR_MAX_LEN]; snprintf_check(local_mac, sizeof(local_mac), LOCAL_MAC, id); char remote_mac[ADDR_MAX_LEN]; snprintf_check(remote_mac, sizeof(remote_mac), REMOTE_MAC, id); char local_ipv4[ADDR_MAX_LEN]; snprintf_check(local_ipv4, sizeof(local_ipv4), LOCAL_IPV4, id); char remote_ipv4[ADDR_MAX_LEN]; snprintf_check(remote_ipv4, sizeof(remote_ipv4), REMOTE_IPV4, id); char local_ipv6[ADDR_MAX_LEN]; snprintf_check(local_ipv6, sizeof(local_ipv6), LOCAL_IPV6, id); char remote_ipv6[ADDR_MAX_LEN]; snprintf_check(remote_ipv6, sizeof(remote_ipv6), REMOTE_IPV6, id); execute_command("sysctl -w net.ipv6.conf.%s.accept_dad=0", iface); execute_command("sysctl -w net.ipv6.conf.%s.router_solicitations=0", iface); execute_command("ip link set dev %s address %s", iface, local_mac); execute_command("ip addr add %s/24 dev %s", local_ipv4, iface); execute_command("ip -6 addr add %s/120 dev %s", local_ipv6, iface); execute_command("ip neigh add %s lladdr %s dev %s nud permanent", remote_ipv4, remote_mac, iface); execute_command("ip -6 neigh add %s lladdr %s dev %s nud permanent", remote_ipv6, remote_mac, iface); execute_command("ip link set dev %s up", iface); } static void setup_tun(uint64_t pid, bool enable_tun) { if (enable_tun) initialize_tun(pid); } static uintptr_t syz_open_dev(uintptr_t a0, uintptr_t a1, uintptr_t a2) { if (a0 == 0xc || a0 == 0xb) { char buf[128]; sprintf(buf, "/dev/%s/%d:%d", a0 == 0xc ? "char" : "block", (uint8_t)a1, (uint8_t)a2); return open(buf, O_RDWR, 0); } else { char buf[1024]; char* hash; strncpy(buf, (char*)a0, sizeof(buf)); buf[sizeof(buf) - 1] = 0; while ((hash = strchr(buf, '#'))) { *hash = '0' + (char)(a1 % 10); a1 /= 10; } return open(buf, a2, 0); } } static void loop(); static void sandbox_common() { prctl(PR_SET_PDEATHSIG, SIGKILL, 0, 0, 0); setpgrp(); setsid(); struct rlimit rlim; rlim.rlim_cur = rlim.rlim_max = 128 << 20; setrlimit(RLIMIT_AS, &rlim); rlim.rlim_cur = rlim.rlim_max = 8 << 20; setrlimit(RLIMIT_MEMLOCK, &rlim); rlim.rlim_cur = rlim.rlim_max = 1 << 20; setrlimit(RLIMIT_FSIZE, &rlim); rlim.rlim_cur = rlim.rlim_max = 1 << 20; setrlimit(RLIMIT_STACK, &rlim); rlim.rlim_cur = rlim.rlim_max = 0; setrlimit(RLIMIT_CORE, &rlim); unshare(CLONE_NEWNS); unshare(CLONE_NEWIPC); unshare(CLONE_IO); } 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) { close(fd); return false; } close(fd); return true; } static int real_uid; static int real_gid; __attribute__((aligned(64 << 10))) static char sandbox_stack[1 << 20]; static int namespace_sandbox_proc(void* arg) { sandbox_common(); write_file("/proc/self/setgroups", "deny"); if (!write_file("/proc/self/uid_map", "0 %d 1\n", real_uid)) fail("write of /proc/self/uid_map failed"); if (!write_file("/proc/self/gid_map", "0 %d 1\n", real_gid)) fail("write of /proc/self/gid_map failed"); if (mkdir("./syz-tmp", 0777)) fail("mkdir(syz-tmp) failed"); if (mount("", "./syz-tmp", "tmpfs", 0, NULL)) fail("mount(tmpfs) failed"); if (mkdir("./syz-tmp/newroot", 0777)) fail("mkdir failed"); if (mkdir("./syz-tmp/newroot/dev", 0700)) fail("mkdir failed"); if (mount("/dev", "./syz-tmp/newroot/dev", NULL, MS_BIND | MS_REC | MS_PRIVATE, NULL)) fail("mount(dev) failed"); if (mkdir("./syz-tmp/newroot/proc", 0700)) fail("mkdir failed"); if (mount(NULL, "./syz-tmp/newroot/proc", "proc", 0, NULL)) fail("mount(proc) failed"); if (mkdir("./syz-tmp/pivot", 0777)) fail("mkdir failed"); if (syscall(SYS_pivot_root, "./syz-tmp", "./syz-tmp/pivot")) { if (chdir("./syz-tmp")) fail("chdir failed"); } else { if (chdir("/")) fail("chdir failed"); if (umount2("./pivot", MNT_DETACH)) fail("umount failed"); } if (chroot("./newroot")) fail("chroot failed"); if (chdir("/")) fail("chdir failed"); struct __user_cap_header_struct cap_hdr = {}; struct __user_cap_data_struct cap_data[2] = {}; cap_hdr.version = _LINUX_CAPABILITY_VERSION_3; cap_hdr.pid = getpid(); if (syscall(SYS_capget, &cap_hdr, &cap_data)) fail("capget failed"); cap_data[0].effective &= ~(1 << CAP_SYS_PTRACE); cap_data[0].permitted &= ~(1 << CAP_SYS_PTRACE); cap_data[0].inheritable &= ~(1 << CAP_SYS_PTRACE); if (syscall(SYS_capset, &cap_hdr, &cap_data)) fail("capset failed"); loop(); doexit(1); } static int do_sandbox_namespace(int executor_pid, bool enable_tun) { setup_tun(executor_pid, enable_tun); real_uid = getuid(); real_gid = getgid(); mprotect(sandbox_stack, 4096, PROT_NONE); return clone( namespace_sandbox_proc, &sandbox_stack[sizeof(sandbox_stack) - 64], CLONE_NEWUSER | CLONE_NEWPID | CLONE_NEWUTS | CLONE_NEWNET, NULL); } long r[43]; void loop() { memset(r, -1, sizeof(r)); r[0] = syscall(__NR_mmap, 0x20000000ul, 0xfff000ul, 0x3ul, 0x32ul, 0xfffffffffffffffful, 0x0ul); r[1] = syscall(__NR_socket, 0x2ul, 0x2ul, 0x0ul); *(uint32_t*)0x20501000 = (uint32_t)0x14; r[3] = syscall(__NR_getpeername, r[1], 0x20dcefecul, 0x20501000ul); memcpy((void*)0x2051fff3, "\x2f\x64\x65\x76\x2f\x6e\x65\x74\x2f\x74\x75\x6e\x00", 13); r[5] = syz_open_dev(0x2051fff3ul, 0x0ul, 0xaul); r[6] = syscall(__NR_fcntl, r[5], 0x4000000000000000ul, r[5]); memcpy((void*)0x20927fd8, "\x67\x72\x65\x30\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00", 16); memcpy((void*)0x20927fe8, "\x1f\xd6\xa5\x26\x1f\x49\x6e\x99\x3f\x68" "\xac\xa8\xa0\xc9\x8f\x72", 16); r[9] = syscall(__NR_ioctl, r[6], 0x400454caul, 0x20927fd8ul); memcpy((void*)0x20de8fe0, "\x67\x72\x65\x30\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00", 16); *(uint16_t*)0x20de8ff0 = (uint16_t)0x1003; r[12] = syscall(__NR_ioctl, r[1], 0x8914ul, 0x20de8fe0ul); *(uint32_t*)0x20b03ffc = (uint32_t)0xfffffffffffffffc; r[14] = syscall(__NR_ioctl, r[5], 0x400454d4ul, 0x20b03ffcul); r[15] = syscall(__NR_ioctl, r[6], 0xc0086420ul, 0x20db1000ul); *(uint64_t*)0x20882f60 = (uint64_t)0x20b6dfa5; *(uint64_t*)0x20882f68 = (uint64_t)0x5b; *(uint64_t*)0x20882f70 = (uint64_t)0x20bfff15; *(uint64_t*)0x20882f78 = (uint64_t)0xeb; *(uint64_t*)0x20882f80 = (uint64_t)0x20f72000; *(uint64_t*)0x20882f88 = (uint64_t)0x0; *(uint64_t*)0x20882f90 = (uint64_t)0x2075c000; *(uint64_t*)0x20882f98 = (uint64_t)0x0; *(uint64_t*)0x20882fa0 = (uint64_t)0x2041f000; *(uint64_t*)0x20882fa8 = (uint64_t)0x0; *(uint64_t*)0x20882fb0 = (uint64_t)0x20a9b000; *(uint64_t*)0x20882fb8 = (uint64_t)0x1; *(uint64_t*)0x20882fc0 = (uint64_t)0x2000a000; *(uint64_t*)0x20882fc8 = (uint64_t)0x0; *(uint64_t*)0x20882fd0 = (uint64_t)0x20992000; *(uint64_t*)0x20882fd8 = (uint64_t)0x9; *(uint64_t*)0x20882fe0 = (uint64_t)0x2015d000; *(uint64_t*)0x20882fe8 = (uint64_t)0x1000; *(uint64_t*)0x20882ff0 = (uint64_t)0x207ab000; *(uint64_t*)0x20882ff8 = (uint64_t)0xda; memcpy((void*)0x20b6dfa5, "\xc5\xe2\x8a\x67\x9e\xc5\x93\xbb\x86\x56\xc0\x17\x02\xe4\xaf" "\x14\x3f\xb7\xcd\x89\x75\xd0\xdf\xef\x14\xc8\x19\xde\x12\x0d" "\x69\x16\x44\x49\x0d\xba\x2d\xff\x34\x5e\x57\xfe\x0a\x55\x57" "\xd7\x09\x66\xa3\x33\xf1\xf0\x90\x9b\xee\xcc\xe1\xb7\xb5\x76" "\xaf\xac\x75\xbf\xdc\xf0\xc2\x96\x71\x92\x3a\x58\x4f\xfa\x1e" "\x88\x08\x81\x92\xb8\x41\xad\x79\xa4\x1e\xc1\xde\x59\x51\x84" "\x73", 91); memcpy((void*)0x20bfff15, "\xb4\x3c\x82\xb1\x9d\xf2\x36\x53\xc9\x1d\x3d\xf1\x45\xd9\xe3" "\xf6\x52\xf9\xfb\xd1\x4b\x86\x03\x0c\xb7\xa9\xeb\x16\x8d\xc4" "\x17\x2b\xd0\xc5\x24\xe3\xbb\x5e\xd4\xd8\x91\x19\x02\xec\x17" "\x77\xaf\x51\xa3\x42\xef\xde\x8c\xba\xbc\xfa\xde\xe0\xc3\xa2" "\x7e\x1c\x3b\x46\x2c\x05\x81\x27\x82\x00\x2c\x6b\x8d\x9f\xba" "\xe8\x26\x87\x48\x67\xc4\xb8\xde\x0f\x96\x1f\x6c\x8e\x0b\x8f" "\x2b\xf1\xd1\x96\x8b\x75\x62\xb0\xda\x88\xd5\x3a\xb5\x57\xe3" "\x86\x8f\xfe\x21\xd9\xd3\x59\x07\x2b\xa0\x11\xe5\x04\x47\xbd" "\x0e\x52\xea\xa2\xb1\xa9\x60\x1e\xba\x1c\x4f\x36\x1e\x4b\x2f" "\x9a\x4c\xda\x1d\x6e\xa9\xa4\xd1\x7c\x46\xdc\x56\x75\x74\x8f" "\xeb\xcf\xc7\x28\x25\x3f\x6b\x5e\xbc\xbd\xf0\x53\x17\xa5\x6f" "\xd1\xa2\xc5\x04\xa4\x75\xc7\xc1\xe1\xae\xe5\xba\x15\x60\x9d" "\xb2\x7f\xe2\x86\x54\x99\x7b\x6f\x84\x9c\x41\xbd\xd1\x6f\x3b" "\x84\x6f\x63\x84\x77\x64\x79\xc9\x7f\x75\x98\x89\x32\xe3\xd8" "\x9d\x3a\x5e\xaf\x6e\x50\x3b\x08\xdd\x93\x73\x9d\xb5\x83\xb8" "\x35\x46\xe1\x9f\xdf\x8f\xe1\xa5\xf6\x8a", 235); memcpy((void*)0x20a9b000, "\xf7", 1); memcpy((void*)0x20992000, "\x30\x02\xe8\x21\x39\xed\xe6\x19\x85", 9); memcpy( (void*)0x2015d000, "\xd0\x38\xc4\x87\x1c\x88\x27\x8d\xc3\xc9\x2d\x2d\xce\x26\x1d\x09" "\xbc\x0f\x06\xcf\x9e\xd0\xa9\x11\x00\x1d\x11\x47\xfd\xae\x14\x67" "\x04\x3a\x47\xf1\x27\x01\xf1\xa7\x14\xc3\x16\x94\x78\xf7\xdc\xea" "\x35\xaa\xe3\x9c\x39\xbc\x07\x58\x1d\x20\x1d\x54\xdc\xfc\x14\x82" "\x5e\xda\xdc\xb5\x1d\x06\x74\x7b\x23\x58\x4c\x5c\x74\x28\x7d\xc7" "\x6c\xfc\x29\xbc\x0e\x96\x76\xfe\xa5\xed\x96\x26\xe2\xc4\x32\x2e" "\xee\x54\xec\x13\x96\xc9\xfa\xfe\x89\x0c\xed\x45\x9c\x8d\xf5\xda" "\x7b\xbb\xa1\x17\x81\x1e\x17\x9b\xab\xa5\xad\xa9\x79\x54\xed\x15" "\xc5\xfe\x28\x74\x8c\x9c\x35\x43\xde\x34\x76\x03\x72\x0b\x7d\x4d" "\x60\x31\xf9\x44\x43\x56\x4b\x4e\x89\x8d\x68\x32\xa1\x21\xef\x85" "\x00\x25\xb6\x50\x78\x97\xad\x9c\x40\x70\x67\xab\x95\xbb\x59\x23" "\xca\xac\xcd\xee\xf6\x12\x2a\x80\x7d\x3e\xc0\xe0\x1c\x5e\xe1\x4e" "\x3f\xf9\x54\xa0\x11\x4e\x6f\x17\x2b\x9e\x20\xf4\x4a\xa2\x7e\x77" "\x7d\x16\x95\x9b\xf2\x04\x11\x8f\x70\x75\x96\x99\xbd\x6d\xfc\x10" "\xe1\x8b\x41\x24\xea\x6f\x4c\x85\xcb\x34\x58\x78\xa9\x86\xc7\xc5" "\x86\x3d\xfd\x3c\x03\xd3\xfa\xd3\xc2\x55\x60\x43\xe9\xdf\xa6\xc3" "\xde\x42\xb4\x87\xb6\x5b\xa3\x46\x14\x18\x0e\x08\xe5\x55\xc1\x2c" "\x1b\xa7\xf0\xea\xe7\x43\x68\x42\x64\x0f\xd0\xb7\x38\xcc\x3e\xfa" "\x3b\x0b\x75\xc5\xe8\x1a\xe9\xac\x3c\xec\x5c\x28\x05\x6c\xa6\x9c" "\x1a\x98\x4b\xeb\xfc\xa6\x52\x55\xa8\x18\x16\x02\x38\x98\xc4\x76" "\xc4\xee\x00\xde\xe0\x40\xba\xc4\x8d\xcc\x85\xed\x73\x08\x75\xcd" "\xeb\x89\xc0\xf8\x74\x43\x48\x40\xc7\x49\x1c\x71\xd0\xb4\x70\xf6" "\x71\xab\x40\xb1\x2e\x5f\x1b\x99\xdd\x0b\x0a\x51\x10\xc3\xd9\x61" "\x76\x57\x40\x6c\x9e\xb0\xc9\x83\x54\x08\x14\x56\x01\xf1\xc8\x78" "\xbd\x1c\x49\xea\x30\x16\x6b\x90\xdb\x90\x43\xf4\x1e\x85\x66\x48" "\x60\x26\xa6\x72\x22\x3a\xa8\xb1\x8c\x21\x6c\x76\x80\xfb\x3b\x71" "\xa0\x7f\x17\xf0\x4d\xd2\x25\xd2\xb9\x07\x1d\x13\x32\x40\xbf\xeb" "\x53\x90\x11\x4d\x3c\xc3\x13\x1f\xa5\x4f\x97\x9d\x4f\x3e\x9e\xe7" "\x3f\x09\x8e\x8a\x00\x2f\x0d\xce\x67\x62\x98\xab\x70\x2f\x5f\xb8" "\x2b\x29\xa4\xee\x15\xb3\x41\x42\x7d\xb8\x14\xce\xd4\x69\xec\xf8" "\x4f\x82\x6e\x24\x7c\x2f\xc2\xbd\xab\x6f\x9e\x14\xe8\xa3\x35\x8f" "\xc2\x42\xe8\x3a\x46\x41\x46\x3a\x66\x88\xb3\x32\xaf\x5b\x9f\x49" "\xec\xe4\x57\x69\xbb\x88\xd0\x05\xfb\x49\xdb\xc6\xa4\xe9\xe1\xbc" "\xb9\x39\x83\xc2\x1c\x4f\xd8\x4f\xfb\x86\xe8\xf0\xf7\x7d\x8f\x13" "\xc4\xb5\x79\x8a\x11\x7d\xa1\x43\x32\xd4\x46\xce\x1e\x12\xa9\x8a" "\x1f\xa4\xb4\xf8\x8e\x0b\x44\x76\xee\xd7\x59\x8c\xe1\xba\x74\xdc" "\xb1\xd8\x69\xd1\xf3\x8d\xdd\xd1\x5b\x43\x75\xb9\xe4\x13\x6e\x51" "\x7f\xf5\xf1\xe9\xff\x19\x2e\xa0\xdd\x12\xd8\xa0\x10\x81\xf6\x45" "\x06\xaf\x10\xdc\x81\x9b\xd1\x0b\x0a\xf5\x76\xeb\x98\xed\xbd\x2c" "\x06\x77\x7b\xdf\x82\xd7\x71\x1c\xb7\xef\x53\x08\xff\x24\x2b\xde" "\x9b\xbd\x49\x67\x6d\x8f\x58\xde\x46\x6b\x9d\x8c\x4d\xde\xdb\xfd" "\x23\xa1\xb9\x82\xa6\x38\x6e\x88\xb1\xf8\xe5\x1f\xf1\x33\x08\xc5" "\x22\x3c\xdb\xc4\x78\x97\xb5\xcc\x0a\xd9\x7d\xe0\x9f\xfe\xc2\xa8" "\x6d\xca\x3c\x26\x87\xc3\xd0\xca\xbf\x4f\x2e\x00\xd8\x65\x6e\xae" "\x3f\x40\xa4\xa7\x16\x36\xc1\x9d\x2c\x93\x95\x34\x2a\x44\x19\x1a" "\xa2\xe0\x20\x10\xa8\x18\xcb\xb9\x74\x14\x0b\x12\xff\x5d\x44\x25" "\xb6\x53\x9d\x30\x8a\x4a\xf6\x1f\x77\xf3\xbb\x86\xd9\x51\xb7\x4d" "\x29\x48\xc7\xb2\x7b\xc7\x7e\x4c\x4b\x13\xa1\x40\x36\xd8\x28\x36" "\xb4\x78\x93\x60\xd2\xf4\xdd\x87\xab\xce\x34\x49\xed\x08\x7f\x69" "\xf5\xba\xd2\x4e\x7b\xe5\x08\x4e\x43\xbc\x29\xf7\x24\x86\x37\x21" "\xb5\x0e\xd9\x94\x11\x8b\x66\x03\xee\x1b\x7b\x32\x93\x75\xf5\x0c" "\x29\x59\x51\x6c\x8e\x23\x0d\x12\xb9\xc9\x6d\x03\x3c\x1a\x22\x8a" "\x15\x61\xc9\x9f\x68\xdb\x91\x0f\xab\x47\x50\x03\x13\xa9\x7f\xfa" "\x19\xaf\x15\x6d\xa4\xed\x60\xa0\x26\xbb\x87\x5f\x99\x8b\xd6\x4c" "\x94\x34\x7c\xa7\x45\xa3\x5f\x43\xb8\xeb\x1b\xbd\xf6\xd2\xad\x11" "\xed\xf7\x99\xf7\x20\xe9\xde\x36\x1a\xda\xad\xae\xb7\xd6\xe8\xf9" "\x38\x7b\x3d\x64\xf9\x6b\x84\xad\x08\x13\x17\x58\x75\xa6\xc1\x46" "\x76\xe7\xa9\x45\x0e\xbf\xe4\x01\xf6\x5d\x6d\xd5\x25\x11\x54\xa0" "\xeb\x23\x7f\x99\xc3\x61\xfc\xfb\x55\x37\xe5\x58\x27\x66\x00\xf3" "\x4f\xe3\x35\x4f\x07\xc0\xd8\x7d\x15\x26\x4b\x4d\x94\x0f\xf5\x34" "\x53\xae\x7c\x6a\x85\xa3\x5d\xae\xd6\xca\xa1\x3e\xc4\xb1\xc6\xe5" "\x05\x7f\xac\x42\x58\xe0\xb9\x16\xa5\x40\xe9\x96\x26\xf3\xbd\xd7" "\x36\xec\xcb\x51\x26\x13\xa9\xa6\x49\xb8\x09\x2a\x97\x66\xa6\xa4" "\x4b\x5d\xc6\xc0\x6b\x32\xfc\x83\x41\xe3\x6a\x3b\x82\x14\xc2\x57" "\xcc\x41\x38\x14\x84\xa0\x9a\x38\x54\x68\x27\xd4\x80\xf5\xc4\x7c" "\xc7\xc6\xc6\xcf\x24\xe6\x14\x83\xd6\x43\x6b\x83\x88\x8b\xf0\xbf" "\x72\x84\x44\xd2\x7e\x89\xb4\x70\xb0\xdc\x67\x99\x27\x84\x3e\x63" "\x4b\x5a\xfc\xef\x48\x53\xce\xe4\xbc\x02\xe9\x4f\x9b\x7f\x6d\x44" "\x8f\x97\x7e\xcd\x9c\x50\xe1\xb8\x82\x57\xde\x56\xa7\x71\xa9\xe5" "\xcd\xfd\x9b\x10\xe0\xae\x15\xf8\x98\x5e\x79\x00\x5e\xb2\xf2\x6c" "\xde\x71\x19\xd0\xf5\x75\xf2\x5c\xe9\x01\x82\x2b\x48\x7b\x47\x90" "\x86\x17\xf7\x98\xf6\x1d\xf3\x5b\xc9\xa0\xdc\x12\x3b\x86\xe5\x71" "\xc7\x67\x81\xab\x75\xc1\x2d\x11\x0b\x61\xa8\xcb\xc0\x61\x61\x07" "\x9d\xed\x74\xcb\x6f\x3e\xe2\x73\x85\x62\xa0\xf8\x13\xe9\x83\x73" "\x1f\xdf\xb8\x9c\xd2\xec\x90\x40\x44\x6c\x17\x52\xe9\x94\x63\xd3" "\x95\xdd\x0d\x7f\xb3\xf1\x01\xd9\x0e\x2d\xd8\xf6\xda\x1e\xac\x07" "\xa2\x5f\xc0\xb6\xeb\xd9\xcc\xe2\x73\x8c\x12\xe3\x3b\x52\x3c\xfb" "\xac\xcf\x8e\xfe\x42\xf6\xbf\x14\x9d\x29\xd3\xa1\x63\xef\x90\x62" "\xa3\x4f\xe7\x19\xd1\xb1\xbe\x00\x81\x42\xcd\x37\x74\x01\xf0\xe0" "\x78\xf0\x6f\x72\x89\x95\x9c\x5a\x9f\x2f\xd7\xfa\x5d\x9f\x2b\xc9" "\xe1\x26\x21\x3e\x58\x20\xff\x07\x5c\xbe\xc3\x09\x3a\x44\xbc\x30" "\x22\x09\x67\xbf\xd8\x55\x6b\x5a\x88\x82\x68\xff\x39\xef\xa4\x04" "\xbc\x6b\x6e\xdc\x06\xe6\x83\x40\x16\x6b\x77\x96\xc8\xa2\xa6\x93" "\xa0\x93\x94\xec\xeb\x49\x43\x29\x85\xbc\xee\x67\xf7\x6c\xa9\xf4" "\xb7\xe8\x8b\x87\x3a\x3e\x73\x45\xd7\x77\x89\xc3\xa0\x52\xcd\x97" "\x8c\x56\x49\xf9\x95\x1a\x9d\x2c\xcc\x23\x97\x14\x2f\xcf\xa8\x5e" "\x5d\x61\x5e\x6e\x04\xbd\x35\xc1\xc6\xcc\xa8\x66\x09\xde\x1c\xe7" "\x26\xb0\xbf\x95\xb6\xfe\xc3\x36\x18\x13\xf9\xa6\xb1\x80\x9d\xfd" "\x9e\x60\xac\x08\x24\x5d\x21\xe1\x76\x44\xd3\x6f\x87\x30\x93\x0f" "\xcb\x18\xd3\x0f\xce\x83\xd4\xe6\xda\x78\x65\xe5\xe5\xe3\xeb\x76" "\x69\x67\x8c\xdc\xa6\x01\x4e\x8d\xbb\xd5\x66\xb3\xa2\x92\xe3\x9c" "\x22\x34\x4d\x5d\x8a\x33\x8c\xb7\xfc\xcc\xcb\xb0\xdd\xc0\xe0\xf7" "\x08\x12\x84\x52\x22\x13\x34\xba\xc4\x29\xeb\xce\xc8\x87\x2f\x9a" "\xfe\x3c\x57\xe0\xa0\xc9\x0f\xe7\xbd\x20\x3b\xc9\xba\x23\x4b\x75" "\x76\xe9\x33\x88\x6a\xc7\xa3\xc8\x28\xb5\x82\x48\x48\x24\x36\x07" "\x49\x4c\x95\xf6\xd9\xb6\xb2\xb4\x5d\xef\x18\xf3\x49\xc8\xa2\xdc" "\x04\xf7\x8a\x32\xd3\x85\x91\xf2\x91\x85\x88\xff\x61\x5d\x93\x7a" "\xac\x16\x76\x28\xff\x30\x9e\x14\x2d\xa7\x0c\x58\x19\x2f\x78\x10" "\xdf\x9e\x73\xed\x62\x36\x03\x42\x25\x29\xc1\x2c\xb1\x00\xd4\xaa" "\x84\x68\xad\xc7\xbc\xc0\xfc\x28\x80\x00\x01\x9d\x89\x86\x79\xdc" "\x7f\x6b\xe4\xba\x00\x94\xf0\x8c\xe1\x8e\xe6\x86\xcd\x9d\x11\xf4" "\x51\x7d\xa9\xf6\xba\x36\xc2\xb4\x28\x42\xb3\x0b\xd8\x63\xaa\x9a" "\xd8\xc5\x6b\xce\x9a\x30\x53\xf1\x94\xf3\xf8\x18\x0a\xf3\x4b\x6f" "\x24\x23\x31\x82\x54\x18\x41\x0c\x04\x31\x4f\x30\xf2\xf9\x9d\x8e" "\x6b\x6a\x83\x3d\x1f\x6b\x6e\x74\x13\x80\xad\x21\x2a\xf0\xe3\xe8" "\x58\x9b\x4f\xf4\x5b\xf2\x41\xdd\xe4\x5f\x94\x6f\xee\xf5\x75\x22" "\xa7\x49\xe6\x6f\x60\xaf\x3b\x56\x3d\xb9\xcf\x0c\x57\x8f\xc8\xb9" "\x74\x05\x77\x6c\x8a\xbc\xf9\xe6\xeb\x34\xd6\xc4\x65\x94\xfe\xc1" "\x0d\x3b\x05\x42\xd2\x7d\x90\x75\xb9\x7e\xf8\x13\x2c\x25\x50\x66" "\x0f\xff\xab\x7a\x70\x16\x6e\xfe\x5b\xa0\x3c\x26\x54\xae\xf9\xf6" "\x01\x80\xe7\xcc\xa2\xcd\xda\x1a\x48\x66\xeb\xfb\x2b\x1b\x2b\xe9" "\x62\xea\xb5\xa3\xc6\x4c\x3a\x29\x2b\xc8\xae\x95\x31\xcb\x97\x56" "\xe7\x02\xe9\x67\xe2\x69\xf6\xf7\x21\x74\x41\x02\x87\xac\x9c\x38" "\xb9\x12\x77\x3d\x24\xd5\x5e\x9f\x1f\x69\x7b\x62\x1d\x0e\x65\x35" "\xda\x6c\xcc\x62\x02\xcc\x13\x11\xa0\x40\x8a\x47\xab\x56\x2a\x24" "\xe0\x6e\x9d\xb5\xe4\x21\x4a\xa0\x6b\xf8\xca\x24\x1c\x41\x63\x77" "\xf9\x6c\x82\x7f\x79\x7b\xc1\x7d\x6b\x4e\x37\x76\x9f\x7a\x67\xf1" "\xcd\xef\xde\x6d\x4f\x9c\xef\x8f\xbc\xb8\x89\x43\x26\xf9\x66\xf2" "\x1b\x72\xbc\x01\x17\xb9\x3e\x1e\x73\xec\x4b\xed\x50\x95\x94\xcd" "\xa3\x40\x85\x44\x23\x05\x8a\xdb\x73\xfd\xf2\x32\x07\xae\xf7\x08" "\xda\x93\x00\x37\x68\xd7\x58\x57\x77\x7c\xc8\x18\xd3\x98\x8d\x3d" "\x22\x00\x57\x6e\x87\x62\x94\xf3\x30\x02\xe7\xa4\x8d\xd4\xe4\x9a" "\xd0\xe3\x22\x89\x33\xcf\x38\x18\x54\x6e\x22\x35\xc2\xbc\x8d\x02" "\x78\xf0\x42\x7b\x8a\xfd\xdb\x08\x7a\xd5\xcd\xfe\xdb\xff\xed\x26" "\x1a\xd2\x73\x7c\x2a\xc0\x7d\xbf\xb2\x94\x9b\xdf\xa2\x81\x7c\x25" "\x72\xcd\xd0\xbc\x41\x96\xb3\xa9\x88\xb2\x25\xa9\x94\xc9\x23\xef" "\xc7\xbb\x07\xd0\xd7\x91\xf7\xe4\x43\x2e\x10\xc3\x57\xe7\xbd\xc4" "\x0f\xd4\x8f\xb6\x4f\x77\xb3\xb5\x93\xad\x4b\xd1\xdf\x17\x91\x94" "\x51\xef\xc7\x5c\xa4\x14\xd9\xf5\xfe\x91\x7b\x50\x28\x14\x68\xb9" "\x8a\x34\x5f\x74\x9b\x6e\x21\xf3\xc3\xec\x25\x1f\xc2\x68\xa4\xa4" "\x4a\x3e\x64\x9a\x50\x58\x8f\x23\xc9\x0b\x38\x44\xe9\x4c\xa8\x64" "\x71\x31\x4c\x6d\x2c\x12\xb3\xd1\x31\xdb\x0a\x45\x6b\xf7\xcb\xa1" "\x0d\x14\xf6\x07\x7d\x87\xea\x72\x55\xee\x40\x12\x48\x53\x49\xac" "\xc4\x8e\x62\x5b\x36\x2c\x30\x1e\x6c\x84\x42\x80\x3e\x42\x57\x6b" "\xe9\x57\x21\xb1\xf3\xe0\x8f\x80\x14\x44\xb7\xea\xa1\xb9\x74\x13" "\x08\x91\x9b\xbc\x31\xb5\xce\x6c\xc6\x7f\x45\x64\x1c\xc8\xa5\x74" "\x6c\x16\x2d\xe7\x7a\x26\x47\xaf\x04\x34\x29\xa3\x32\xdc\x58\x7b" "\x70\x88\x5a\xbd\xf8\x64\x00\xd9\x57\x79\x1a\x51\x9e\x4c\x75\x0d" "\xa9\x07\xba\x57\x03\x77\xef\x75\x82\x17\x88\xb4\x42\x9e\xc8\x36" "\x17\x7a\xd9\xdd\xc0\xf5\x83\x60\x5b\x08\x79\xfa\x99\x6c\x56\x66" "\xc7\xe4\xbf\xdc\xab\xdd\xee\x70\xfb\x72\xed\xd7\xf2\x27\x6e\x12" "\x4a\x4b\x54\xc7\x94\x6b\xcc\x82\xf1\x02\xc5\x8d\xd9\x40\x10\xe8" "\x8f\xf6\x0b\xf0\x27\xaf\x0a\xc7\x2a\x36\xd3\x4f\x9a\x77\xb1\x7b" "\x8a\x16\xaf\x63\xc2\x18\x6f\xdc\x44\xd7\x9d\xfe\xb9\xcc\x09\x64" "\x0e\xf6\x44\xf0\x65\x8b\xcd\xf1\x6e\x63\xb9\xa2\x60\xa8\xd0\x06" "\x99\xc8\x5b\x52\x18\x9e\xfa\xc5\x2a\xd5\x55\xe1\xe4\x27\xd6\x75" "\xf5\x8f\x77\x31\xf1\x2c\xe4\xda\x71\xbb\x00\x51\x44\x13\xcf\xb3" "\xa3\xf5\xb8\xd5\xb0\xbf\x57\xea\xc4\x05\x31\x8c\xf3\xe3\x43\xa9" "\xe4\x59\xfe\xee\x3a\x06\x2c\xfc\x37\x1d\xd7\x35\x60\x96\xe0\x2e" "\x8c\xc3\xb7\xbd\x53\xb8\xb0\x15\x3a\x03\x83\x71\xde\xdf\xa9\x30" "\xae\xae\xf6\x44\xc5\x2d\x23\x51\x93\xae\x86\xc9\x2d\xda\x7a\x11" "\x7e\x61\x94\x46\x86\x51\x80\xaf\xea\x90\xa6\xd5\xf8\x06\xee\x4e" "\x7f\xd5\xf4\x9e\x88\x45\xc6\x6f\xac\x51\xc7\xf1\xbb\x47\xed\x86" "\xe2\x09\xcc\x11\x09\xc5\xc7\xb3\xa8\xcf\x58\x46\xe5\x95\x53\x51" "\xe7\xf3\x08\xd4\x38\xb9\xe2\x6c\x28\x8f\xef\xb9\xcc\x05\x3e\x42" "\xfc\x87\x74\x0a\xf4\xf2\x07\xab\x2e\x0b\x5a\xae\xae\xa9\x90\xe3" "\xa9\xd4\x7b\xf0\x97\xfe\x14\xf6\x4d\xa6\xf5\xca\x8f\x2d\x3a\xf9" "\xa6\x4c\x28\xe2\xe2\x36\xb8\x62\x6d\xee\xa4\xf5\x86\xea\x2f\x49" "\xa5\x4b\x83\xbc\x9e\xed\xc3\x44\xfe\xb9\x1a\x98\x26\x66\x7d\x33" "\xe8\xe7\x64\x92\x52\xbb\xa3\x3b\xc9\x11\xdb\x61\x23\x7f\x12\x82" "\x5e\xad\xa0\xe3\x33\xfa\x31\xc4\x4a\x67\x0c\x60\xba\x46\xcf\x82" "\x55\x50\x71\xce\xed\x41\x94\x48\xc6\x3c\x62\x95\xa2\x4d\xcf\xeb" "\xd8\x0d\x44\x86\x12\x96\x5e\xad\x59\xc5\xb4\xf8\x63\x61\x4c\x49" "\x43\xc6\x4b\xb8\xc8\xa5\xd5\x6d\x8d\x96\x65\x94\x1a\x67\x02\x96" "\x6f\xab\xc5\x90\x66\xa8\xa4\x9a\x19\xd4\xc9\x88\x74\xb1\xa7\x53" "\x7d\x73\x0f\x4e\x65\xee\xbc\xc0\xa9\x83\xef\xb7\x4c\xf2\x2b\x31" "\x1e\x53\x1f\x5c\xd1\x2d\xae\xaf\xa6\xb6\x54\xab\x86\x46\x99\x34" "\x65\x0e\x22\x91\xb3\xe6\x20\xe7\x3d\xb9\xcd\x49\x32\xd2\x7f\xc4" "\x4f\xe2\xfb\xe5\x9e\x16\x75\x49\xba\x22\xd5\x90\x22\xa1\x6b\x60" "\x80\xcc\x42\x20\xb0\x3b\x16\xf8\x4a\xb6\x96\x32\xe8\x87\xe8\xfb" "\x9a\xd8\x11\x49\x99\xf3\x37\x1d\xa1\xe8\xe1\xa1\x99\x2f\x42\x18" "\xe0\x4a\x4e\x3e\x00\x68\xd7\x4f\xf0\x6a\x10\x2e\xfb\x23\x71\x27" "\x99\x1e\x39\x68\xeb\x83\x73\x1b\xef\xe6\xf6\xfc\x68\x22\xbc\x99" "\x75\x45\x90\xad\xa6\x65\x6a\xdb\x76\x92\x0b\x12\x93\x35\xa2\xa6" "\x10\xd4\x34\xa3\x09\x2a\xe6\xbd\x97\x97\x92\xd7\xd1\xde\x66\xa0" "\xd2\x00\x08\x7b\x21\x9f\xc7\x1b\xbe\x18\x0b\xb9\xe4\x9b\x73\x27" "\x3a\xa3\x3f\x67\x0a\x41\x31\x25\x53\x51\xc6\x1d\xff\xec\xb5\x2a" "\xfc\x38\x8b\x61\xd8\xb6\x5b\x8c\xcc\xc4\x62\xa5\xcd\x10\xac\x96" "\x66\x15\x2d\x1d\xac\xdc\xb1\x90\xbb\xb4\x13\x54\xbd\x10\x60\x19" "\x37\x2d\xd4\xd9\xf2\xdf\x18\x4f\xaf\x1f\x53\x8e\x38\x74\x49\xdb" "\x3f\x4f\xb6\x73\x68\xd2\x6c\xff\xa3\x60\xe6\x00\x0c\xcc\xe2\x8d" "\xad\x1e\x0f\x88\xa9\xd6\x84\xe9\x71\xb7\xd3\x82\x55\x7d\x16\xb6" "\x49\xc2\x64\x74\xda\x33\xdf\x2b\x23\x63\x26\x4f\x5f\x1c\xf8\xc5" "\xfa\x7a\xa5\x37\xfb\xcc\xf2\xd8\x85\xfc\x97\x39\xd3\x5d\xbc\x8f" "\xc3\xdc\x3f\x13\xbe\x98\xc0\x91\xa3\x3d\x0a\x11\x5c\x02\x86\x22" "\xba\x07\xb8\xab\xa5\xf5\x00\x3a\x4f\xeb\xaf\xc9\x73\x65\x4a\x4f" "\xb9\x7f\xbb\x7d\x27\xdd\x37\x4d\x16\x22\xeb\xf7\xc9\xc9\xb6\x74" "\xbe\x52\x95\x65\x01\x4a\x09\x72\x21\x25\x59\xbf\x81\x43\x5f\xf1" "\xc6\xd6\x8f\x14\x6b\x24\xb9\x6b\xfd\x77\x34\x3e\x09\x76\x34\xef" "\x88\x2e\x64\xc0\xb9\x6b\x32\x5e\xac\x96\xbb\xee\x03\x56\x71\x3c" "\x6e\x69\xe3\x18\xf2\x6c\xd4\x17\x2c\x3d\x84\xc6\x59\x80\xbc\x84" "\xaf\xdd\xe5\x3e\x68\xd0\xdd\x8e\x8c\xf0\xdd\x78\x6d\x25\x30\x4e" "\x93\xda\xd4\x40\x34\x04\x0b\xef\xaa\xae\xd2\xd7\xbf\x22\xde\x6f" "\xae\xaf\xad\x33\x5a\x11\xec\x5f\x31\xad\x00\x74\xc7\x8f\xcf\x5f" "\xfe\x77\x28\x22\x60\xed\xad\xa8\x33\xc2\x8e\xf2\xd3\x07\x0a\x53" "\xe3\x8f\xf7\x10\x53\x65\x3f\x1f\x7e\x5f\xaa\x9a\x3e\xec\x5a\x05" "\x64\xba\xea\x73\xc7\xb5\x23\x16\x09\xc9\xb7\x79\xf4\xb6\xa7\x32" "\xc3\xa4\xe2\x09\x2f\x0c\x0e\x35\x11\x7e\xc2\x0a\x7f\x1e\x4e\x41" "\x3b\x4d\x01\x42\x83\xdb\x9a\xce\x50\x7e\x17\x8e\xc9\x24\x00\x6c" "\x06\xbb\x91\x52\xb6\x6e\x7c\xa6\x67\x85\xf9\xc8\x9d\x2e\x08\xd1" "\xd2\x3f\x00\xb8\xce\x59\x7a\x4c\x9e\x3a\xf4\xfb\x9a\x1f\xa6\xff" "\x56\x0f\x95\x07\xb8\x93\x05\x4d\x28\x09\xd2\x25\x79\x5e\x98\xf5" "\xce\x80\x98\x1f\x53\x49\x90\x1a\x0e\x18\x74\x23\x7a\x1b\xb9\xc8" "\xc3\xc9\xce\x21\x6b\xe3\x9d\xe1\xd1\x05\xd9\x37\xe9\xf5\xfb\xd4" "\xc7\xdd\xaf\x67\x92\xaf\xfa\xaf\x29\x75\xd1\xe0\x05\x1b\x77\xc5" "\xff\xe9\x68\x42\xfa\x8c\x0b\xf7\x24\xca\xc0\x66\x10\x88\x3a\x83" "\xd2\x83\x14\x03\xd6\x2f\xb5\xed\x80\x82\x26\xdd\x8f\x6e\xb7\xf2" "\x08\xb1\x89\x93\x54\x08\x65\x1f\xcd\xc2\x70\x6c\x4d\x41\x7c\x56" "\x5d\xc0\x26\x7f\x32\xa0\xed\x7f\x76\x6d\x91\x77\xa7\xb0\x3e\x10" "\x98\xe2\x18\xd5\xa9\x0c\x53\xfb\x59\xbb\xdc\xce\xfb\x30\x4a\x78" "\x8d\xe8\x17\x99\xb7\xcd\x2d\xdc\x45\x27\xaa\x68\x97\x84\x29\x45" "\xa4\x8e\x24\xce\x87\xcb\xc8\x23\x3b\x3e\xd4\x21\x28\x76\xad\x1a" "\x27\x18\x32\x01\x3a\x3a\x22\xd6\xb6\x11\x37\x7b\x78\xa4\x8d\x2c" "\x06\x6c\x36\x0c\x12\x8e\xd1\xe2\x2f\x14\x83\x9c\x14\x67\xdd\xe1" "\xd5\x02\x0c\xec\x4a\x60\x32\x61\x87\xd7\x9c\xc1\xf6\x34\x48\x4a" "\x79\xc6\xaf\xda\xf8\xdf\x68\x66\x93\xb3\x24\xe4\x9f\x75\xbb\x67" "\x81\x34\xd8\x3d\x2f\x68\xfe\x37\x5a\x7b\xda\xb6\xd9\xfd\x48\x3f" "\xfe\xa7\x19\xf3\x97\xe6\xa8\x29\x6c\xf1\xc8\x2d\x6f\xe4\xfb\xe6" "\x4e\x0c\x83\xfd\xda\x24\x93\xa9\xae\x0e\x09\xde\xf1\x5c\xec\x46" "\x13\xdd\x08\x41\xf5\xd7\x32\x01\xd1\xe2\x9b\xc9\xa1\x90\xd1\x02" "\x8a\x27\x3d\xa9\x54\x4b\x0f\xc1\x45\xf7\x55\x39\x54\xe2\xba\xf5" "\x4e\x6d\x15\xaa\x34\x85\x88\x7f\xab\xc1\xae\xa4\x3d\xc1\xaa\x3b" "\xa1\x3f\xfc\x26\xdb\xbb\x1d\xaf\x35\x2f\xdc\x1c\x69\x96\xab\xf4" "\x8b\x8a\x2f\xb9\xf9\xd7\x69\x04\xd8\x30\x4b\x9a\x43\xda\xbd\x71" "\x72\xc3\x2f\xb0\x70\x8c\x56\x7c\x41\xb8\xb9\x3a\x35\x03\xb5\x3a" "\xa9\xf3\x25\x28\xc9\x3b\x12\x0f\xa4\xd0\x2d\x13\xba\x07\xa1\x04" "\xe7\x27\xf6\x84\xf9\x62\x78\x51\x72\x8d\xf9\xe6\x44\x30\x20\xd3" "\xa6\xf2\xa8\xd1\x04\xea\x2b\xda\x72\x01\x16\xad\xbf\x09\xc1\x97" "\xae\x88\xa7\x17\x3b\x5c\xe2\xf5\x61\xbf\x05\x2e\xa2\xe4\xfb\x5d" "\xf7\x0d\x57\x9a\xd1\x18\xc8\xae\xc7\x94\x89\xa4\xa0\xa9\xf2\x20" "\x07\xdb\xad\x6b\x10\x1d\x7d\x7c\x90\x01\xec\x42\xbf\xf3\xd7\x8c" "\x90\x83\x36\x66\xfe\x37\xc0\x63\x0f\x88\x4c\x64\x51\xc6\x94\x47" "\xc2\xa2\xe9\x0f\xc8\xa5\x87\x9b\x28\x21\xa5\xf8\xeb\xa9\xc9\x9e" "\xf6\x79\x45\x2c\xa2\x6e\x87\x7d\x97\x04\x16\x19\xa3\x33\x03\xac" "\xfa\xe9\x1a\xe0\xa9\xbb\xfd\xb1\xf3\x23\x6a\xbc\xe4\x16\x16\xbe" "\x8a\x31\x15\xb2\x09\xe9\x5a\xa4\x27\x70\x19\x88\xfd\x40\x9e\x27" "\x93\x15\x1f\x8c\x1c\x8f\xa6\x83\x80\xe8\x70\x64\xee\xa2\xfc\xd8" "\xbe\x1b\x79\xf4\x17\xd1\xf1\x77\x47\x3e\xbf\xf2\x68\x5c\xb3\x8c" "\x35\x4f\x25\xe3\x03\xae\xd2\x26\xb9\xa0\xbc\x48\xc3\xe4\xc1\x00" "\x4b\x36\x46\xb5\xba\xe0\x08\x46\xb8\x07\x55\x56\x7b\x01\x8b\x79" "\x75\x23\xa9\x82\x03\x89\xf1\x78\x1d\x4d\x54\xc5\xb5\xfd\xa2\x81" "\x3a\x40\xe4\x9b\x94\x0e\x6d\x28\x81\x1b\xf0\xa3\x2f\x30\xd8\x7d" "\x18\x58\x5b\xb8\xd8\xc4\xeb\x3c\x84\x75\xb0\x33\x2e\x32\xcc\xa0" "\xee\x4f\x6a\xf0\x10\x05\x5a\x9d\x1c\x33\xf4\x09\x6e\x7e\xb3\xf3" "\x57\xbb\xf5\x7f\x00\xba\xd8\xac\x5c\x99\xdf\xa6\x1c\x77\xfc\xc9" "\x49\x38\x1b\xfb\x20\xa1\x7b\xaf\xb8\xd2\x2c\x52\x6f\x1e\x3b\x59" "\x1e\x1e\x8c\x89\x3a\xbf\x98\x3e\x1c\x59\x0c\x31\x54\xde\xba\x8a" "\x02\x1f\xb0\x56\x77\x63\x19\xd7\x37\x6d\xd0\xe7\x73\x09\x6b\x65" "\x74\xa8\x1c\xed\x34\x2b\x14\x06\x8b\xb9\xf0\xe4\xe8\x7a\x0b\x38" "\xd5\xe7\x71\x71\xda\x91\xc9\xc3\xda\xfd\x42\xce\x6e\x99\xc3\xf0" "\xb7\x29\x7a\x7f\x66\xc5\x45\x3e\x8e\xce\x80\x8e\xbd\x30\x60\x0a" "\x19\x30\xf5\x2c\x6f\x7a\x9d\x2c\xc6\x76\xc0\x7f\x24\xc2\xf8\xec" "\xc0\x96\x1d\x60\x13\x3b\x4b\xe2\x7c\xc4\x31\x0f\xbd\x46\x8b\x17" "\xee\x43\xf0\x18\x6b\x84\xf5\x39\x36\xa4\xcd\x0f\xda\xa9\x09\x7e" "\x0d\x96\x59\xa8\x5c\x16\x08\x4c\xf3\x22\xf5\x98\xf0\xb0\x9c\xb2" "\x33\x4e\x42\xbd\xca\xac\xd7\x3e\x17\x81\xcd\x2b\x2c\xbe\xca" "\x10", 4096); memcpy((void*)0x207ab000, "\x4d\x8a\xb7\x54\xc2\xe5\x47\xb2\x68\x47\x9f\x56\x7d\x65\x9e" "\x5a\x35\x8b\xc2\x5a\xb9\x17\xf6\x56\x87\xff\x2d\xa8\x78\xe9" "\x39\xe6\xa3\xd0\xb3\x1f\xd6\x55\x44\x85\xe9\x26\x26\xea\x2e" "\x02\x90\x3d\x60\x43\x96\xfd\x32\x1a\xee\xf5\xd8\x6d\x6e\xdf" "\xeb\x76\x45\xab\x2e\xb4\x8f\xcd\xf8\x4f\x5d\xa0\x19\x73\x3f" "\x7d\x86\x74\xee\x56\x6a\xbf\xb0\xdd\xa7\x33\x22\x80\xd9\xe8" "\x6e\x8d\x79\xe9\x8c\x87\x76\x1d\xbd\x67\x71\x0c\x61\x56\x25" "\x59\xe4\x4c\x44\x47\x56\xc5\x4d\xcf\x3c\x0f\x4a\x6c\xc6\x38" "\xf6\xe3\xa1\xb2\xf8\xa4\xa9\xb9\xf0\xb5\x8c\x64\x31\x53\x14" "\x17\x94\xdd\x11\x57\x1d\x79\x21\xd8\x5f\x05\x87\x07\xa1\x67" "\xb0\xee\xa9\x11\xba\xc0\x7d\xfe\xad\xcd\xbc\x86\x2b\x83\xdf" "\x2b\xe5\xb2\x69\xf6\xbb\xfd\x0e\xc4\x4c\x98\x2f\x73\x0c\xd3" "\x18\x73\x21\x38\xb0\x50\x67\xe5\xc7\x9c\x05\x4a\xed\xf6\x2e" "\x2e\xb2\xb9\x7f\x72\xfb\x4e\x88\x6f\xf6\xfd\x1c\x98\xd3\x9f" "\x5a\x6a\xc9\x28\x82\xd6\x51\x8d", 218); r[42] = syscall(__NR_writev, r[5], 0x20882f60ul, 0xaul); } int main() { use_temporary_dir(); int pid = do_sandbox_namespace(0, true); int status = 0; while (waitpid(pid, &status, __WALL) != pid) { } return 0; }