libcriu2-debuginfo-3.15-bp153.2.3.1 4>$  Ap`N!M@eee"[i5ea L=l98#/!qrV 9[N64ef55d53376fb75dcac6b33db8a74d34e4623169d2f6ba03111296aeb1dde0c1c1dac207f0d20b056060516f039a3668fb02f61d`N!M@eee@(>+gNqvzTfT YP0cM)Ys[fYUo=IF|\KA C[;ezfT>%roK\軛&,iTQq"[P;U=}6R0e[1b1NG"e9œv7o_c(DT*>0᛼}2nJFn ]Ԅd_8b^GvV1.cQzRbl>p@? $ K!*8 Qcu{    ,  @`2(_8h,9,:,FGHI X(Y4\]^>bcfd eflu(vHwxy8z<LPi|libcriu2-debuginfo3.15bp153.2.3.1Debug information for package libcriu2This package provides debug information for package libcriu2. Debug information is useful when developing applications that use this package or when debugging this package.`N lamb10SUSE Linux Enterprise 15openSUSELGPL-2.1-onlyhttp://bugs.opensuse.orgDevelopment/Debughttps://criu.org/linuxx86_64'SAAAAA큤`N `N `N `N `N `N`N`N7966c6615ec0ef309be1f18834e21946a6ea29e520e0f319642797b1ac08903e../../../../../usr/lib64/libcriu.so.2.0../../../../../usr/lib/debug/usr/lib64/libcriu.so.2.0-3.15-bp153.2.3.1.x86_64.debugrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootcriu-3.15-bp153.2.3.1.src.rpmdebuginfo(build-id)libcriu2-debuginfolibcriu2-debuginfo(x86-64)    criu-debuginfo(x86-64)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.15-bp153.2.3.13.0.4-14.6.0-14.0-15.2-14.14.1`8@_0@_k8^^@]҇]o@\![[ @ZZZ@Z>E@Z7Y@YYoIYV=@YI@XXDXXf@X@XN@X)@XWڍ@W:WWaC@W;W @V@Vf@VMU@Uc@UlI@U?v@U#U@T|X@tiwai@suse.detiwai@suse.deDirk Mueller tiwai@suse.deGuillaume GARDET tiwai@suse.deantoine.belvire@opensuse.orgtiwai@suse.detiwai@suse.deavindra@opensuse.orgtiwai@suse.detiwai@suse.deavindra@opensuse.orgavindra@opensuse.orgaavindraa@gmail.comaavindraa@gmail.comtiwai@suse.debwiedemann@suse.comtiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.decbosdonnat@suse.comtiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.de- Fix the build with protobuf-c 1.4: criu-protobuf-c-1.4-underscore-fix.patch- Update to criu 3.15: see details at https://criu.org/Download/criu/3.15 New features: * Introduced criu-image-streamer * Added MIPS support * Allow checkpointing out of existing PID namespace and restoring into existing PID namespace * Added additional file validation mechanisms * Added support to checkpoint and restore BPF hash maps (BPF_MAP_TYPE_HASH) and array maps (BPF_MAP_TYPE_ARRAY) * Initial cgroups v2 support - Fix build with nftables package: 0002-Fix-build-with-nftables-installed-in-different-direc.patch- fix filelist mismatch after libexecdir change- Update to criu 3.14: New features: * C/R of memfd memory mappings and file descriptors * Add time namespace support * Add the read pre-dump mode which uses process_vm_readv * Add --cgroup-yard option * Add support of the cgroup v2 freezer * Add support of opened O_PATH fds Bugfixes: * Fix C/R ia32 processes on AMD #398 * Fix cross-compilation * Many fixes here and there Improvements: * Use clone3() with set_tid to restore processes * Clean up compel headers * Use the new mount API - Add libgnutls-devel to buildreq- Disable LTO on aarch64 and armv7 - Add '-Wno-error=deprecated' to fix build on armv7 - Exclude armv6 since criu/arch/arm/bitops.S uses 'dmb ish' which is armv7+- Update to criu 3.13: New features: * VDSO: arm32 support * Add TLS support for page server communications * "Ignore" mode for --manage-cgroups * Restore SO_BROADCAST option for inet sockets Bugfixes: * Auxiliary events were left in inotify queues * Lazy-pages daemon didn't detect stack pages and surrounders properly and marked them as "lazy" * Memory and resource leakage were detected by coverity, cppcheck and clang Improvements: * Use gettimeofday() directly from vdso for restore timings * Reformat all .py code into pep8 style- Fix build on Tumbleweed: Add -ffat-lto-objects to lto cflags.- Update to criu 3.12: New features: * build CRIU with Android NDK * C/R of IP RAW sockets * lsm: dump and restore any SELinux process label * support restoring ghost files on readonly mounts Bugfixes: * Do not lock network if running in the host network namespace * Fix RPC configuration file handling * util: don't leak file descriprots to third-party tools * small fixes here and there Improvements: * travis: switch to the Ubuntu Xenial * travis-ci: Enable ia32 tests * Many improvements and bug fixes in the libcriu * Changes in the API and ABI (SONAME increased from 1 to 2) - Updated to libcriu2 subpackage to follow SONAME 2 - Dropped obsoleted patch: criu-asciidoctor.patch- Update to criu 3.10: New features: * Support Python3 in ZDTM and CRIT * Keep names for UNIX sockets, that are unlinked from the FS * IPVv6 support for page server * Set page server socket fd via CLI * Large pages support for aarch64/ppc64 * C/R of Per-thread seccomp chains Bugfixes: * Failed non-container restore could kill random task on the host * Failure to dump namespaces was erroneously ignored * CRIT didn't show cpuinfo image file * Tasks that got PID-reuse couldn't be dumped iteratively because previous images were missing - Update to criu 3.11: New features: * cpuinfo: Detect compact frames and handle noxsaves * Add support for configuration files * Add support for external net namespaces * Punch holes in input files when restoring anonymous non-shared memory ( --auto-dedup ) * C/R of + epoll: Add support for duped targets + tun: Add support for multiple net ns + x86: Support extendable fpu frames Bugfixes: * mount: Better handling of mount points propagation * nmk: Make collect-deps to be more precise about targets * lazy-pages: Don't mark current stack page as lazy * x86: CPU -- Rework feature testing * files: Fix O(n^2) restore in terms of the number of fds * fdstore: Unlimit fdstore queue on start * mount: Fix regression where open_mountpoint failed on readonly fs * page server: Handle partial splicing * ... lots of small fixes here and there Improvements: * Remove all magic of service descriptors when it isn't required - Switch to python3 - Use asciidoctor instead of asciidoc for formatting manuals: criu-asciidoctor.patch- update to criu 3.9: New features - C/R of + Tun-Tap devices in sub-netns + File descriptors which were opened with O_TMPFILE Improvements - Restore of inotify watchers - Restore unix sockets in proper mount namespaces - Print CRIU and kernel version also in RPC mode Bugfixes - Random memory corruptions during lazy restore - Workaround the iptables issue - Don't use standard descriptors when tar is running to dump tmpfs mounts - Fail dump if dump_one_file() fails - Fill kerndat with zero-s before reading it from cache - cleanup with spec-cleaner- update to criu 3.8.1: a bug-fix release FDstore was initialized twice (re-initialized) causing e.g. - -shell-job restore to fail- Add python-devel to BuildReq explicitly, as a preparation for fallback to asciidoctor (bsc#1075764)- update to criu 3.8: New features * C/R of - Multiple network namespaces - Overmounted tmpfs mounts - Unix sockets and epoll descriptors in SCM messages Improvements * Rework service descriptors not to cause fdtable enormous grows Bugfixes * FP state wasn't reported on Skylake due to a kernel bug * gcc 8 warning fixes * Resource leaked on error paths * Attributes of sit devices with value 0 were not saved into images (and were restored into default values) * Tasks with pgid of a zombie hung the resture * Ghost files on RO bind-mounts of an RW mount couldn't be restored * Random memory corruptions during lazy restore - cleanup with spec-cleaner - switch to https urls - list binaries and man pages explicitly - remove rest of static libs to fix rpm lint errors- update to criu 3.7: New features * Pipes usage statistics * Run page server as non-daemon via RPC * C/R of - SO_REUSEPORT option - IPv4-mapped inet sockets - Net_prio CGroups - Overmounted shared mountpoints - Non-broken and breaking leases Improvements * Show criu and kernel versions in logs * CRIT decodes socket families, protocols and types * Much less pipes is needed for pre-dump, which is especially useful for big mem migration Bugfixes * Files in /proc/pid/map_file could be opened by non-exiting name (with 0x prefix) and it was fixed in kernel * CRIU log levels were used to configure logging for libsoccr thus breaking its logs * Overflow in various IDs caused bad image names * Compat (32bit) syscalls lost signedness in compel * Corked sockets lost cork flag * Preadv() syscall was declared with error which resulted in dump errors on 32-bit processors * Musl compilation failed * Ghost files in / dump failed * Crash when releasing context for ghost files, due to free()-ing shmalloc()-ed area * Lazy restore could receive partial page and crashed * Erroneous closing of lazy pages connection caused restore to hang * Lazy memory fetch restore could start before tasks are restored - Remove 0001-images.py-remove-shebang.patch * upstreamed in 8e45ce4905d186abafb7c20abb3b00207fefdb53- add 0001-images.py-remove-shebang.patch * fixes a lint warning about a non-executable python file being executable due to a superfluous shebang * upstream: https://lists.openvz.org/pipermail/criu/2017-November/039907.html - run spec-cleaner- update to criu 3.6: New features * C/R for files (except for unix sockets, ttys and epolls) sent over unix sockets * C/R for threads with different creds * Ipv6 over ipv4 tunnel (SIT device) Bugfixes * Some s390x registers were not restored by native sigrestore way * Overflow when parsing autofs info from /proc file * Dumps of anon shared memory with sysvipc one raced with each other clashing and corrupting image file names * The "dumpable" flag was not restore on shmem regions * Trash bits leaked into image when dumping fsnotify on some kernels * Lock/unlock of iptables from different criu processes raced with each other * Closed TCP connection with non-empty send queue blocked the dump * When --empty-ns for netns was set on dump only, the restore failed (Docker case) - includes changes from 3.5: see https://criu.org/Download/criu/3.5 for details- update to criu 3.4: New features: * Support for s390x architecture Improvements: * Unexpected death of restored tasks is reported with more details in logs * Merged many images containing info about files into one big files.img * When helper utility fails (ip, iptables, tar) its name is printed in logs Bugfixes: * Compilation failed on newer glibcs (ucontext_t) * Dying helper task could deadlock the restore process * Install-related makefile variables weren't configurable for distro build * SIT (ipv6-to-v4 tunnel) presence on host blocked dump of any containers * Potential NULL dereference when dumping net namespace * Dump via page server might not work across different criu versions * Failure to restore a subtask could be ignored by the restore command * EOF on page-server socket wasn't handled - Dropped obsoleted patch: criu-correct-ppc64-AT_VECTOR_SIZE_ARCH.patch - Add s390x to exclusivearch- update to criu 3.3 * Add --tcp-close option to help migration of Docker containers * Allow to override build time to fix build-compare (boo#1047218)- update to criu 3.2.1: bug fix release, * Restoring a stack fails on recent kernels due to kernel changes * Restoring on a host with LSM profiles failed- update to criu 3.1: New features: * Each boolean option now has the --no-$option pair * RSS explorer in CRIT * Multiple plugins in compel * Run-time check of 32-mmap BUG on x86 * C/R of 32-bit futex robust list on x86 Optimizations/improvements: * Start time is improved significantly with kerndat cache * Sigaction image is merged into Core * Unneeded stages are skipped during restore * Restore w/o namespaces uses host /proc * Restore w/o namespaces doesn't parse host mounts (not needed) * Single-threaded tasks do not parse /proc/pid/task/ in vain * BFD engine is used for more /proc files * More verbosity in libsoccr * Fsnotify dump w/o namespaces doesn't walk mounts tree Bugfixes: * Python bindings left zombie in self-dump mode * The last_pid sys-control was reset by restore * Threads caps were compared with mistake * make install put crit/pycriu to wrong place if DESTDIR was not set * Fsnotifies C/R w/o namespaces restored with errors * Inherited control terminal restore was failed (but dump succeeded) - update to criu 3.2: Optimizations/improvements: * Invisible files restore is de-serialized * VMAs restore performance is improved significantly - Mappings of the same file re-use the descriptor, not re-open it every time - Not-COW-ed mappings are restored in-place and are not mremmap()ed - Empty RO mappings are mmap()ed as such and thus not re-mprotect()ed at the end * More verbosity in case TCP locking fails (#292) * More verbosity in case VDSO magic mismatch * Restore or legacy epoll target descriptors and fsnotify marks is unified with common case Bugfixes: * Restoring fanotify marks from old images (<1.3) dropped the mark * Binfmt_misc mount could be mounted into wrong place * Compilation failed with gcc 6.3.0 (#315) * Waiting helpers could race with sigchild handler and would result in restore failure * Missing VVAR page in 32bit tasks wasn't skipped and resulted in restore failure * After restore consumption of files is increased (was fixed as side effect of mmap optimization) Deprecation/Removal: * Deprecated separate images for fsnotify marks - Fix the installation of python stuff: criu-py-install-fix.diff - Fix the build for ppc64: criu-correct-ppc64-AT_VECTOR_SIZE_ARCH.patch- update to criu 3.0: New features: * Compel library * Support for x86 32-bit arch * Version check via RPC * ASAN support * Force VDSO trampolines via fault injection * C/R of shutdown-ed UDP sockets * C/R of bind-mounts made from external mounts Optimizations/improvements: * SysVIPC shmem segments are now dumped as any other shmem (taking holes into account and sitting in common memory dumps) * CRIT show decodes socket's states and types and task's states into strings * CRIT show prints unix sockets names in more human-readable form Bugfixes: * Unix sockets' names appeared in logs with mistakes * Contents of SysVIPC shmem segments was dumped twice * Dumping of any memory segment more than 4Gigs failed * Migration of unaligned SysvSHM segment on Armv7 failed Deprecation/removal: * Exec action is removed, use compel instead - Create libcompel1 sub-package- update to criu 2.12.1: Fixes: * Content for external bind mounts was erroneously dumped, which could lead to dump failures or huuuge images * Unneeded collection of host mounts on restore could cause restore to fail- update to criu 2.12: New features: * C/R of external TTYs (for Docker C/R) Optimizations/improvements: * Sanitized the way the -v works Fixes: * Checking features via RPC crashed * Resting pipes in user-namespaces could fail on modern kernels * Shutdown state for UNIX sockets could be lost on restore * Dump of huge (over 2Gb) SysV shmem segments didn't work- Update to criu 2.11: New features: * Added "pre-resume" to action scripts * New --status-fd option for better control of page server * C/R OFD file locks, RO root mount for mount namespaces Optimizations/improvements: * More strict checks for extra CLI options * Report errors when probing locks * Restorer logs now contain timestamps Fixes: * Regression: v2.10 was broken on ARM * Use-after-free when restoring ghost directory * Array out-of-bound access when restoring VETH device * Page server exit code could be screwed up * Clang over-optimized string.h routines resulting in random crashes * Parasite failed to send FDs via socket on Alpine Linux * Restore of huge file tables could get stuck * Restore of epoll in epoll could fail * Errno value could be lost when reporting failure to restore invisible files * Dump of sched params didn't work on Alpine * Restore of huge memory dumps (over 2G) failed * Installation guessed /lib vs /lib64 with errors * Migration between xsave and noxsave didn't work for wrong cpu feature being checked - Update to criu 2.11.1: Fixes: * Page server start via RPC was broken * Fedora build didn't work * Ppc64LE restorer switch crashed- Update to criu 2.10: New features: * C/R of SOCK_PACKET sockets * Libsoccr -- library for C/R of TCP sockets Optimizations/improvements: * Logs cleaned up (removed bunch of useless, fixed '\n' in perrors) * Action scripts errors are printed in logs * Removed several iovec-s copying over the pagemap code * Restore degraded linearly on Xen guests. Breakpoints disabled until solution Fixes: * Py bindings fault on restore error delivery * Fd leaked on file restore error path * Fd leaked when restoring invisible files (gets closed with criu exit though) * Link remap restore could fail on kernels 4.8 and higher * Impossible to restore after restore error with link remap file in images * When going daemon a descriptor could be leaked * Custom setting of mmap_min_addr could make restore to fail * Sending pages over UNIX socket could race and fail with EAGAIN * Error getting ID of /proc/pid/ns/foo link not propagated and could result in bogus NS ID generated - Add libnet-devel to buildreq for dependency- Update to criu 2.9: New features: * CRIU can now be built with clang on all supported architectures * Ignore missing sysctls on restore with --weak-sysctl C/R overmounted mountpoints Optimizations/improvements: * Batch restore of memory contents from pages.img files * Link-remap type for invisible files is explicit in images Man page for CRIT Fixes: * C/R with --empty-ns still handled iptables configuration * SCM messages inside UNIX socket got lost after C/R (now dump aborted) * Empty unixsk.img file appeared when dumping tasks without unix sockets * Install procedure wasn't PEP-394 compliant * CRIU blocking netfilter rules were added at the tail of the chain resulting in unlocked TCP connections * Dump/Restore spurious failures when open() returned 0 descriptor * When dumping shmem lots of zero pages were written into image files * Ghost directory with more than zero ghost parents caused restore to fail * Shared mount could escape to different group on restore- Update to criu 2.8: New features: * Ability to configure CRIU build * Show statistics on the screen with --display-stats * C/R of Mac-Vlan devices Optimizations/improvements: * x86 can now be built with clang * When dumping files useless garbage was sent with descriptors from parasite * The clear_tid_address and regs are printed in hex with CRIT * Big code rework for compel (part 1) * Removed duplicate error messages from opening /proc files Fixes: * Restoring cgroup NS could use old path prefix * criu check crashed on btrfs mounts * RO external mounts in userns couldn't be restored * Unmounted on host binfmt_misc could cause dump to fail * Off-by-one could cause criu crash when dumping shared / bind-mount * Mount namespace' roots could have flags changed on restore * Dying tasks could erroneously be tried to dump * Swapped shared memory pages were not dumped * Errno value can be sometimes spoiled by RPC * Restore of netns with newer iproute2 tool could fail Deprecated: * --ext-unix-sk, --veth-pair and --ext-mount-map, by --external - Set BINFMT_MISC_VIRTUALIZED config to build- Update to criu 2.7: New features: * Option --cgroup-root now makes sense on dump too * CLOCK_BOOTTIME timer supported Optimizations/improvements: * Output of iptables command leaked into logs for no use * Helper dev environment installation script for Debian * Man-page updated and prettified :) Fixes: * Unmounted binfmt_misc with rules wasn't dumped at all * Malloc() error could result in crash * Device cgroup restore could fail restoring empty record * Some entries in device cgroups were restored twice * Potential crash when dumping cgroup bindmounts * Sign error caused dump to fail on btrfs partitions * Shared mounts with the same mount path failed the dump * Threads were restored with unshared FS (cwd and root) * Shared memory changes tracking disabled (regression found) * Restore of autofs can hang * LSM profile propagation could be lost * Mountpoint with lots of options blocked the dump (too small buffer for parsing) * External slave mount (with external master) blocked the dump * Mounts with STRICTATIME restored with others flags dropped Deprecated: * No reg-file entry for TTYs- Update to criu 2.6: New features: * Ability to leave process stopped after restore * Memory changes tracking for anonymous shared memory * Deprecation option/environment * First error message is reported back via RPC * C/R of More IPCNS sysctls, xIDs of PTYs, TMEM on PPC64LE Optimizations/improvements: * Use service FD for transport sockets on restore * Ability to turn pagemap-cache off (some kernels are buggy) * The criu --help text has become better Fixes: * R/O-mounted root could block the dump * Restore of cgroup.mm.oom_control could fail * Cgroup fs bind mounts were detected with error * Unaligned futex-es in parasite could cause dump to crash * When compiled with gcc-4.9 parasite code crashed * Failure to freeze cgroup didn't result in aborting of dump * Wrong ns list was parsed when dumping userns (invisible since nesting works only for mntns) * Non-inheritable non-tty as stdin caused shell-job restore to erroneously fail Error path in criu dedup could crash Deprecated: * Per-pid rlimit, itimers and posix-timers * Separate image for epoll tfds (target file descriptors)- Update to criu 2.5: New features: * C/R of fs.mqueue.msg*_default sysctls, Unix sockets with overwritten paths, and Link-remap files in removed directories Optimizations/improvements: * Micro-optimization on namespace ID evaluation * Restoring shared files uses one socket instead of per-fd ones * More verbosity when refusing to dump a file descriptor Fixes: * Restore could fail on openat() with ENXIO when multiple mnt namespaces get restored * The criu exec action got broken * Link-remap and ghost files remained on FS after restore failure * TCP window could remain clamped after restore resulting in connection lockup/slowdown * Dump could stuck when injecting a parasite * The --timeout option wasn't taken into account when freezing tasks using freezecg * Race in freezeing/seizing could result in lost tasks * Memory leaks here and there on error paths * Double free in xvstrcat (crash) * VDSO length was mis-calculated * Symlink on --root path could make restore erroneously fail * Potential memory corruption on reading mntns images * When restoring on systems with low pid_max limit restore could fail * RO-protected SysV shmem segments could be restored with PROT_EXEC * File mode of mapped file was evaluated with errors * Restore of cgroups' mem.swappines and ..use_hierarchy blocked sub-groups creation * Impossible to restore cgoup mem.swappines default value * Zombies living in orphan sessions/groups failed the restore- Update to criu 2.4: New features: * Generate core from images * Ability to forcibly drop half-open TCP connections on C/R * Ability to specify cgroup ctls to dump via API Opened/mapped files' mode is compared between dump and restore times * AutoFS mountpoints * New cgroups (perf_event, net_cls, net_prio and pids) * Memcgroup optional properties * Devices cgroup Optimizations/improvements: * Pagemap image entries are cached in memory Fixes: * Configured kmem cgroup limit restore failed * Mem cgroup oom_control * Cgroup's pids.max was not C/R-ed * Failure to write cgroup property was ignored * No init PID in pre-dump action script * Sigactions inheritance didn't work on ARM * Opened "/proc" dir blocked the dump * Working with iptables was racy * Sibling mounts detection error on dump * Devconf accept_redirects devconf could be restored with errors * "All" devconfs could be overridden by "Default" * Name-less unix sockets got auto-bound * Mode was lost for PTY device file on restore * Newer protobuf compilers didn't recognize PB files * External mounts could be remounted with MS_PRIVATE * Build fail on Alpine Linux Deprecated/removed: * Per-pid file locks images * Per-pid fdinfo images * Ancient pagemap/pages images - Enable builds on 32bit ARM- Update to criu 2.3: New features * Ability not to show payload for some objects in CRIT * Pidfile is written at the end of restore * Ability to join existing namespaces on restore * C/R of Data sitting in TTYs, Partially write-protected SysVIPC segments, Debugfs and tracefs mounts, Overmounted tmpfs, IPv6 devconf sysctls, External block devices, Unix sockets with mismatched shutdown state Optimizations/improvements: * Relaxed calculation of AIO ring size * Tree-based search of tasks by real pid * Less mem-to-mem copies on restore * Saner devconf image format * More verbose explanation of why task cannot be seized * PID is printed in PIE logs Fixes: * Too many mmap-ed files blocked the dump * Potential memory corruption when working with IPv6 sockets * Overmounted bind mounts could cause restore to fail * Overmounted bind mounts could result in badly restored mount tree * Incomplete restoration of RO bind mounts options Deprecated/removed: * Greedy mode of pagemap (non-root) caused dump to fail (disabled)- Update to criu 2.2: mostly bugfixes New features: * "Post-resume" added to action scripts * Root task's PID in environment for action scripts * Devconfs drop_gratuitous_arp and drop_unicast_in_l2_multicast * Serial ttys Optimizations/improvements * Lighter link-remaps restore on newer kernels Fixes: * Race when restoring userns vs setting ns' maps * Tasks with zero fds failed the dump * Restore of TCP recv queue could fail due to kernel mem alloc constraints * No errors were written to logs when launching helper (tar/iptables) app in userns restore * User-mode dumped no memory pages sometimes * Bind mounts considered not as bind sometimes * Two mounts in the same directory blocked the dump * Off-by in on /dev/tty{1,63} dumping * Forking of cgroupns task was done with screwed clone flags Deprecated/removed: * Greedy mode of pagemap dumping (on some kernels we do not support user-mode) * Removed the --namespaces option- Update to criu 2.1: New features: * Checking now classifies features to important/extra/experimental * Ability to bring some disk files into images. * C/R of Completed AIO requests and fallback gre and gretap net devices Optimizations/improvements: * Code coverage collecting now works * Use native rtnl library for netlink messages processing * Using --output - now results in stdout as log, not a file with the name "-" * Signals are printed by names in logs Fixes: * Make tar generated tarbal with bad name * CG restore code lacked rollback in some places * Error code from raw syscalls was treated with errors resulting in wrong criu check reports * Dumping task with HUGE amount of file descriptors failed * Task could be stopped after pre-dump if respective option was used * A /proc/pid directory from dead process conflicting with a new alive one could cause dump to fail * Zombie from alien session/process group caused restore to fail * CGroup fs was wrongly mounted in CGNS on restore * Irmap scan was mis-checking devices numbers * Use-after-free in irmap scan * Btrfs bindmounts detection was mistaken due to 'subvol=' options met * Propagation of mountpoint's shared groups was lost for propagated mounts * Unaligned allocations of restore shared memory could result in codedumps when used by futexes * Temporary mountpoints could result in spurious propagations * When aborting the dump criu could crash on use-after-free objects * Locking the network could stuck doing the DNS resolve * Several build fixes Deprecated/removed * The images from criu prior to 0.4 are deprecated * The --namespaces option makes no sense and is also deprecated * The --ms option for check action is deprecated- Update to criu 2.0: New features: * New code layout for sub-projects (e.g. Compel) * Unprivileged dump * Dump/check cpuinfo support for PPC * Explorers for CRIT * Added "post-setup-namespaces" to action scripts * Added timeout for dump procedure (5 sec by default) * Ability to override LSM profile on restore with CLI/RPC option * External bind mounts can be fs-root mounts too * Skip netns' internals on dump and restore (for Docker integration) * Advanced support for external files * More C/R supports Optimizations/improvements: * Align parasite stack on 16 bits for correctness * Compilation with native libc syscall wrappers and helpers * Parasite code injection done via memfd system call * Make vaddr to pfn conversion with one less syscall * CRIT shows device numbers in "maj:min" manner * CRIT shows mmap's status in verbose * Docker files for builds on all supported arches Fixes: * Absent readlink syscall on ARM (use readlinkat instead) could cause dump to fail * Wrong argument to timer_create system call could cause restore to crash * Extra tasks in freeze cgroup caused dump to fail/hand/crash * Unaligned restore-time object allocations caused lock operations to fail * Opened /proc/pid dir of dead task failed the dump * Unaligned stacks caused criu to fail on aarch64 * Changed device numbers on restore side could cause random failures * Fixes in mount points sharing/slavery/propagation restore * Race between mntns creation and fds closing in different tasks could cause restore to fail * Hard kernel limit on TCP repair recv queue restore could cause big queue restore to fail * Unconnected dgram UNIX socket with data lost packets on restore * CRIT didn't show IPC objects * CRIT didn't convert IP addresses in images * Logs from PIE code contained corrupted addresses and sizes * Not loaded netfilter modules could cause dump/restore to stuck on dumping netlink socket * Shared external mounts were restored with error Security: * When checking for namespaces' CRIU entered userns with host creds * Deprecated/removed: * Completely removed 'show' action. Use CRIT instead.- Update to criu 1.8: * Ability to check CRIU features via RPC * Pre-dump and pre-restore action scripts * The "info" action in CRIT showing stats about image file * Python API * C/R of read-only bind mounts, IPv6 routes and iptables rules, ip rules (it ip tool supports such), ignore_routes_with_linkdown netns devconf, empty bridges in netns, FILTER mode of seccomp, and IP_FREEBIND socket option * Lots of fixes, two security fixes Service run as root could allow users to violate ptrace policies Service run as root could give users access to privileged files and directories - Remove superfluous dependencies - Clean up spec file, as systemd and logrotate supports have been officially dropped- update to criu 1.7.1: Fixes in mounts, notifies and userns found while testing openvz - update to criu 1.7.2: Fixes for IPC in userns, venet C/R, socket buffers overflow and unix sockets name off-by-one - Add the package dependency on python-protobuf- Disable systemd service as a temporary workaround for possibile security issues (CVE-2015-5228, CVE-2015-5231, bsc#943105) - Update to criu 1.7: * Improved cgroups management * Support for seccomp strict mode * Support for stream unix sockets inheritance * Support uid/gid-restricted mounts in userns * Support deleted bind-mounts * Ability to specify maximum ghost file size * OverlayFS support * Support relative unix sockets' bind paths * Altivec and PSX support for PPC * Small PIE loader * Temporary proc mountpoint is mounted with nosuid, noexec and nodev * Less memory copies when preparing restorer binary * CRIT action "show" for less keystrokes on common use-case * Fsnotify log messages now use hex everywhere :) * CRIT output doesn't mix fields any more * Many fixes - Drop obsoleted patches: crit-install-prefix.diff lsm-prototype-fix.diff 4c5b23e5-criu.pc.diff- Fix version in criu.pc file. 4c5b23e5-criu.pc.diff- update to version 1.6: * PowerPC 64bit LE support * Makefile.local for 3-rd party build rules * Ability to "enable" filesystem on dump (--enable-fs) * Ability to skip mountpoint on dump (--skip-mnt) * Prepare to deprecate "criu show" command * External mounts auto-detection * /dev/tty (current terminal) support * Netdev and netns (all/default) confs C/R * Images v1.1 with extra magic at head * Support fusectl (only ctl) mountpoint * Sub-version format is now as of git-describe * Apparamor labels C/R support - Fix library path for aarch64 and ppc64le - Fix the prototype for lsm.c (to fix build errors): lsm-prototype-fix.diff - Refreshed crit-install-prefix.diff- update to version 1.5.2: * fix error in mutli-threaded tasks restore with --restore-sibling (Docker and LXC cases) * fix too big RPC messages error for service (and swrk)- Fix build failure on FACTORY due to comment-in-comment in google/protobuf/descriptor.proto - update to version 1.5.1: * fix crash with 4.0 kernel * legalize swrk API and add the ability for inheriting fds via it * cgroup yard destruction and properties restore- update to version 1.5: New features * CRIT tool * ability to request CPU compatibility on instructions level only * C/R of empty AIO rings * more detailed errno report via RPC * per-feature "criu check" * inheriting FDs on restore * ability to automatically move veth device to host-side bridge on netns restore * VT terminals support * more user namespaces C/R stuff See more details at http://criu.org/Releases#v._1.5 - fix installation of crit: crit-install-prefix.diff- update to version 1.4: New features: * Dump and check cpuinfo * Initial support for user namespaces * The docker_cr.sh script for Docker * New API for writing plugins (old one is still possible) * Service workers change their title to better look in ps output * Ability to feed socket for pre-dump and page-server in swrk mode * Page-server can auto-bind its port * Ability to perform several actions during one connection to RPC service * C/R of opened /proc/$pid/foo files of dead tasks * C/R of /dev/console * C/R of virtualized devtmpfs (openvz and future upstream kernels) * C/R of empty mqueue fs (posix message queues) * C/R of shared bind-mounts See more details at http://criu.org/Releases#v._1.4lamb10 16240020576bb83b729846d6f1db499457aaf1cdbe59530ee33.15-bp153.2.3.13.15-bp153.2.3.1debug.build-id6bb83b729846d6f1db499457aaf1cdbe59530ee3b83b729846d6f1db499457aaf1cdbe59530ee3.debugusrlib64libcriu.so.2.0-3.15-bp153.2.3.1.x86_64.debug/usr/lib//usr/lib/debug//usr/lib/debug/.build-id//usr/lib/debug/.build-id/6b//usr/lib/debug/usr//usr/lib/debug/usr/lib64/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.opensuse.org/openSUSE:Maintenance:16524/openSUSE_Backports_SLE-15-SP3_Update/f48f9c24cc35888080fd31ed2c085453-criu.openSUSE_Backports_SLE-15-SP3_Updatecpioxz5x86_64-suse-linuxdirectoryELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=6bb83b729846d6f1db499457aaf1cdbe59530ee3, with debug_info, not strippedPuϏ;%slcriu-debugsource(x86-64)3.15-bp153.2.3.1utf-874a8d7c1a5286fc34f0b4890dad639abd8102ee42801f7df8f86bc0fb4615187?7zXZ !t/kj ] crt:bLL +m=SuZʟx n%cG o02vtWqhT9:73fP cp.%`N?t>Yݥ,Vh8B vN{#;"fB`Y}mXIs۷8U{g`%"à{t1)1@H@tn1[s3:qr>dzZrU,YAE}}<"Lׂ8C3;6!G P-%oED0odQZؼ8v;([w[f(e ]2tKrDn88Tb@sys',! 1FtAU^[~9B%";"u´WX PTWOZxx}W^-o|/bV :HBኣ`5&~T{"\ta,/&oˠϞ4*$pUIJO 4А&U>|_uj*蝰֑adY1N`W,pf0c,ܤY2w^ڝp,@{w|#lFsboI&Kdb`Unl\8$nb?Oܦh3, ;Qc*f&MΌvqrDw1RY+GpH܃7&7:->NaKtd,e}/ш?mayYwE M@ev*C|x307Bw`'k R1VDomͫX{@ ue6C;+xO!5?59W!!]?D$89Ӡ[fV7woVE- k8|` Qg-7@FbHaJPS+@|x\zX)XD?]>qU5C (T&& I鳯1213A Fժ[y?ꙩIK@ i B;i v+s,`XUN4,ݠ<*1v\ۃ<0`FArF4$ ʦ`!=amFIajt QA;/+pv*"J+PtsBPp<pYjHO57[Z 5 ,T.xr)*>ɉĦE[Է0u,zN4:_-l؞ 5>*% x<`vuGvyy\o"i`k*6 (M/ίdygZ(- n#>Rn J[ ̸ $s&Gha[kSIf-9M/ɂ?0i;3e>yxYz4hxI<Z@ÉπY6Qn(֋o=7 o')d?oꎆ0 !D̨~tcNgiZ5g ՗$\ؗ:S"W_WTg R״r4_-_bB[Nu1DW}WP7Z-%үzzp1MJZll#1eȂ@v'}۬Y$:W[Ucjjh>eF<'t1BK0 R95WND"'X- S9Nn nN+b#፾T8R{d:KQeƸ==8=jA*1*X]eGɬN$͆&%~b?ۅl )Eo1vq1<0.+{ i| !bhoIEm+cyhET%XWq0e,ӿZv. Tf% Kn=.F-5J{Pj9sbtBuV}&KchEo(ퟺ}#G Z%/ yqXC92"Tϫ(6H MUQ6QVzd3"Q/a3b47p'O&"%]ֻm2@6;ˢh"$KϤcNz(f2Tr/vUևA4Q0Kno=p$=3"hHm%CX֎ǨXI$~Ӓt($je +Aʌsz(Yr)C59^D&|ƄCɢ(]+lE5}~ cyҋ nXDP߷XA10O&FQbgUXU`X __nwucWC{&VAgC$&ڴN =iۇmN.MӜ JA+Nx{Aw,:x>@<7TFn4p`he%TKL͸ w[n֜D'xN@,l(w7[ncae(=c'|b+X%uKBT'\)]AV X" @.CGm&k:]yNj!,0l^6os\ƪ =r1  (tsz TiMuއm! z=|5 3;6()ehW*]W;ygORx ;z.fޗK޼R&̠di}N*kRPPR1} 9ٱduy >H:R[e|wc4Iʥ\3oJ7WfUzj<+jA<'88  zĽ!cDtd(ԿCFb?#kH޻e:$&Ȩ|*Wʼ{=043T];E/Xn ـ|ZT yOGc|*__9"1Rb"o$ @7E &uD;$oBjm^mK%[#_9Z0*@ "F)%ǷZef8MSWk&|n8fGpLch3q"E}*;b)%"JۏY2DoX0O?qA %oqhE~zF51YW-)S3&ߟc2؉j@c$iX43_QZEᐬAYP>;Y((A5X&~C'٘NUUW /{qC s`'cP!xuQφOՓ4&q&$B1g(Asد >3v˝GwJʅ٥r' *vp)AK1qGBaq %ԁbup@g[rv]eX~d?ᲧutMS.s$~wtTHKg{FivFlVu|0}ZY-B;%{'.m|x3{C56?O<}-smW;~ )9DEqA?3# 2 euQ[C!Țs4W%Dl1мe0#+<0a:,]w MW3HɽȮ F-]sDֿ:ˋMO+@L4(V `D|-jEk 'F ęG221M>1n?T@SKoEXkpn"}ynVpr~IUVʄ9i͡_=r9q6EyH.fhqK"h$眠2eh6sC,N£e%|qF] HЧGR^Q#צҔeue=W{QĜ%=!HW]Vx%~Iw!=hBV|n)/T%bgVOm5aQpY¸/ Q^QN[Gn1 n|TW I0=C c~DJiqM4v#TcJUd%`!G{k1s^âUFQ0PJA[=]As"H6eZdudQc{?#rο^uxvZ=*gIi3 8)YPP2bReQ3NJ͈V<aJt C&!`#ܬC+C(pw c/4+8nӔ%_`o"Uf};ҵVLF@<_%ULH B$[J"oSvۏ,6=DW к˨G*8(V^.t̔\CTeQ N`ͮ"; V.˿(L߈x&{lD|+VB?Kє cX ;10CEA_Cnǚ2RC lק)x>ljok#LA>o1aeH|_>J}S.@u3mY BOzTQ~wnqh̳hbBɝmG_XtPf#I Il/7"!IL> :im%YK06!AN =A2SsAdqɐ뿼N9rr(*fI6CK4*v-Р;{H.:"CɹJͣ␣%"5MܥA5@:% d\GPX֗Ac"Ɔ Q*}ZA;>-Itn@~X/[x~;"鮛h^"=.;n#nҿT'Vް:Mjé3-rhIq|m0mwt]+iU='NQ+m= K_](,ْ_${sEi$+#!A7=L=P}e 5`06|ըB\hN_Y{/ :3p&xۺ.1ilNߚ/ixTLkR`I?%Y< y(X.E) Lq oAmK Ff|Y{#SodHBC\8 ac#긌+ O9\i ^n^jɃj>g~?B_4L^4(+m H\gˬ1GΚKv{0p҃vbiLtPgNtJOjfa Zc! EɅz[RIK #}jF c_x)O5X :,Hwf~B2wiE!ҷ+gH5p骘wuEB嬾'6%tbt0QrX{$Ec{){hKQžogtN?ag裣]`FcY`m[At$,ٴƖe錟 ]%r cTV4ad+dK9Vk3pzq ϔyIO|ՇӍqp0ҡPP<ģ؀ňKc FC#94S4DKvTfU3b7u-o hsnW1hE 6@C23G-ky`̖|UvhQcq!V{5dy%} wpS J%b7F[@$< xmMX]_(ܾ剒l-=o4]%U!^?kq򆭖AL؄DpW  ;ӡIa(>zQo"嗥e:N1"2ve0 inY*RA?xh6~x ՄxQ7uDQ e#a?e -֎sĭkkg"smPIߙOU@#Ķ^Z =ᓼZhiF+~^ZtI Q|0 x {|S`kԤˌW L4LtOˣ5R1hزl!RwJ˳1ӿWh5c&9 R`dxkLVOCKUfdxF5-GU c6T5y&ԔSC )6o`<ë=6"CԮ*՞Ns;L@”~seI(c2^Њfk ˝LpJFm|m?xͤZzQI%Z?2L D^#8@&5~diTa =PQo$ZUjϓ4S9#jѩp 2$yT{^JG#^J~Ԑn,S(KBhds$ gr9wN) 8= IӨ<ĺhos%> cPm{HӐb~~[}'?z~ ph2Kixmǯ ̋^N\/>|j7"iޛ^5o UX~aw ;Zi@]<ē@Ԧg*oR9Cx=Kha %2xƭ'9n0i[%x 4%sU~g]QK-6[h4"]C+3{M.H?69SS2Q()5Z"9 ֈNiTA1L:.JC&4اr3 ^BnƉ $tKZ+F:!BiӰC`-5"!#PK 7Xa``"0m<6@qd؞j~%fӉ9L|VKO#IPKnc\Uh(Ĝs&vS)OomB̃|x Q4^8v氘պX3X+^b\-9z"%1gEWhZ=beS7&,? 49eZ$.>e#nUu Tm PxXk7RO~ZjfxabypH V0 Ed/_H^Z`[yXr`n- $]S鶡A $L$Vq-*NIM>5?qmŠL"j8Fln'&F\ 3@x~圂סtœ}&$J(E/Ǭ7-~5:[9#V=p{n>y \0(#;,jam2P_".f MX{]TEYc#+#<-[Z-SJDJ$p.d@a"fO6p<'ػͻKg y /YCĆ(2f)# MLdFt(f_ɣjNN g9)LDs8#[62,>J;8yI~iDi"= 'R"!&}$8²E=bZsن!џݺlnƠ946)vlUq^V(kp M]tٺ !x!-O8B q'T Zϲ/FkhFh,?wM2~S46 wfFhXq*WO۰\0&̯lA6e~flby|@9$~ ǪTbideѕK{Rr|Wg)f&ga[>zT<rOa0#b-ԣ7uM΋ܹ p,`-=/I1yŒw+yoG0{U ;0t^e?{xnpPZ6])™}]%{Ι&<|KVC pd௩&Pv\QLDzh (@;*uͨ CAҥ<&pV0z-d2c,UmlRR"90x3Bl]c'hmLfLKy6I%}*(T1zVVř.]AQܡpg ǎ{Wf꺭&"rQםcq{tFpZRC+]O9f ̰h;4 +rP/,;#٣ c(*V =A~?ί;Nz 2cG8oQNPeG EAڱNOi:p6L1n^Ă a^em$lȮ8򾍉%տwBe}]?:BR1CX*Q<fDp,)PKK-46-\gzRZ==rxrw ?ěMŌp }:/k6aUb'6y4͒7_+Id6h4wi+ 0";2 ݄Yp4 ^Y 6 Q [/ڭkLkf}劍k=|K8>q%YW|BrDj!R2w5Lk)6x^BG rmR4.k@ȖXt`^k&6xn_DEWv-]IUG[L:Pd 0yrx Oe#⏈⡬_*zœg@ ؼmLQm$Uf{ _"P`߷a}jE, mkB/'Rf׷ϣbw/m'"v*QOx-PA0D=7YCqXy;uvla>Myb."Պ#HKRgПT/{/z@I $+ @p<)]jܝ²hB5V'SgkTAJ?b;+R#WƎf\eZ'c =?m?LoEO. K}DvQE&Gٱ Tm8l)C;O6,T/zr:Ibekbg f*^!Ka-YlkW.YbƦVwux[כ <>pI{X o6IJ?Oh^x?d_-|?pWD,)ڸCj(X+ X%gLs]Aҵ샴P{wr&0ꃌtnn;tr{&pݟw#)iVWdҌOj8CsǎK|}PT˴JkEA"n[zza^9пfsuERJ.4 |Z#Dڏ+sU_%/_F[Y|bt~DhCOwTHC|!rA *DSߴ/oBmƂsT\#TpqYȪk4SC-!>T0C"pޥfn5yN}.鷵opO'c]',nHbB||ՄTGyS'pxLIXp4Bi l '}Wl/+_Cm "q D;nfX|3wiL;>ՅB;@z)"I,h!쪴Vޞ)*s( f`s/&o5@ d WcCX#ޚ<h~ed!hZZ9ϱ 4D,mo3FY44-~޹UQp!F1.DQFFZ,U5 H~z&SX9jKi`Ь'W $@M6e?c.xWA};tYR2N2<;UpkHMϦ:1%JK}x\3 >v$;zJ5f֑[JQ^ >Dq̷rq.=xH`i@"ߘn68DzܯK)g[1)\ ^i"/tl MnqI΋YHy%PWr=V%Q"W+\P>xC_Iɚ[jrKya  %f;T"-oI.) rKORP#S jٗ<.iAe=2:nnGJ>*H6^jLk;b8cǿ] Ģ70^fzxV Β&02\u;10*O8R}-m0;ד$ =$a?MlOZ@=lr}4רEzhiWkfabX퍡a aiN'RPӖ?  {z+A物Ldoٛks 8E]^G /`3f!OS'`\7MK1 FDPm:zU  wG$vtUc!^^5R0}0Ȉe±* |FDεIBK}JѩQYQ(&Y&ѩ՛Yx{ /ô=RR}0?OhyMžӗGESMmn$ת^F2@1c3BΏ*#H~լcj-;EPOfYU7[,b7%..P%,k-\iO2/c4' .M=?.L]G/t ]]Tq[]5Zs3-ZT5v|4egS[11c_tq?'dp:\@+S&,Oa.DGTEHӾqEɘ7+ 2Ag'ɾ`"/rpA6R@ckFţ."(SApPѣ {kPhκ+fJ "U,ii`w2z4׳&os_47vE7EFm$ON Kέ;x0Q"4RQ'BoZ]|Z@4V5[vB ')ȚbjLĐ7D0ZLa!5@xf$^0[ AgwJC"Av<s0әVj| \!̍5̽O]=_SeXD$n~Ԇ)?4Wzl Xl68|(eEvZ`Ц+_8@hZZezS26ۼ*6 gz UJ?^ `=ڢf^VOCN.<.AG1B&F,;- Qr%ZFﭮĴ::谎+,xjt .jy-y)!#%0A%ň0Fp1JWi'F^'V>GrK$_f^Mwm6?FrEzϏv@ac#Z{lX0*l(̥BoWT ;c,Ilɨϰ4/] m Ԅ$Na};@l:u(K ǵӣ'Ã!6W`(]p%P"H ^Q%i03K)4L23Hߦ@Vb1aܢ2xʯW<\lKvKPRv5҅isbyGFQCN2 ǩֆ[j݃yՏJa8JE^^5=|UywhHi; `ʺ\ kx@U~^\y<ۏ$R a"$mB/ISh`9,_pbq2]Z -K4PhceAyÔZ"3F캻\f_ZBU %T`x u]\Tti8c>ϺkգTLۘNb_mZ '.w}SNx [< TcT8_H_Qu}tD5CL7Boʛ^;$ɾ=%jlhw=ΔIb QկcEw<~}LQ3~QsXWJhK(E_&^u<ٛrf L#򀧋!~2F-ǷF@e\Cm^s厱4BG?3QVmE$Cǔon`u2dJ{MӿLϻz6=WH#/ tuJ\?@>U"6JD<ӡICE|ճ˨F7Z0o (zL]~ V7 M\#xu&d `W7D;B<@@) \섙EgDT^7lO 8E3Ig1H5p Kh boּ b/35;ɟ:G%ބN=H=G΢piJ+=XOm~Li90Tn9}ueYPIz/$4  [r(7T4s_ڥ0!3r1I fbYs'ľcS'hE5X_Mbq;%l\,$b9:vqCyH4'LRejv2%ni@#M|Ӗ:1 pcC甥w34x&F'L,1ǻbiqOE[.ZJjrjlE/b9b[qRizkwljAbEl@oX#8yVz?PM-J>6+갖u.уxiZ1^#%S.&^]tϺWx 1-cMOٔzw}lW#w]Q2ְތl"]!wwX=M~57St$a>*ZK o Qp.>1R/\(lb6se?,ᬆݘ2&͛"bȭ\PUgySϮeap-~_;XH5| p!j٢N3fMLAƘK&\]cm=x>}uU(c~O0m'`%XL{cŲ4l,-G)Lr;s%jK|C1@rJNYE{ `0zdyܠYn:V('lP}7wvY-u{Y'+%xCdSoRtaNS~Ir^=Yl] @ܾdOT,>Kyg?m@P "H^$^ N>7_e=me=e Qe|+X_ MfīA(v7Wj7TkJc?A +D?'AP{ TQ+{i?tTͧ9|ZAvYy[^0,>t GP Yf@ 2#|Ft̒DL ފ\BQa ~-%G꣰yy˅Ts:X@t'Wa*@µO#1Z!_nT.NxeZ>0ζKcAKQ #RwԧE_h @r6F!iXN+A8Xt2E$i]NDA;HÍ/ 0U2mF-ۺKqg߄Re`P0+ 1[bQҬh$dHh /hz0n)jMĩ|PpnJo/;=c/*9Fc*GвQ@R-o Ǡr`ĮrYU ~<&&cBmLY[t@wqXSZ?yFKnљ_@4*ABDsYzځvTQwV^jMQe.z9zX*Նz7Dꢻ4s$ k;^k$3V]G 0Nl~lUOq&á4\). CGXuئVM# @hŁ9?_怙a<ŸC7,-R-T8 I-}ge16?'494ߞ|P:~ֵZVֶz!ȷ%4Nﯾ9P:פZg#bjAn@mOO.,vH^)9$sѼzz?вNk[:y7,ҡGl؞,F'_\}n"}%<̪E=ђ -dWQŵ!JZsќf &八-Htk-I?;vA4959LJpz; [:?b[Wc0u醆"7se(MGɡL&(bJg Fj;煽z?b7cdb"XEVRd9sZ8ykO95!aR[WH]y M~koVQCjSuvnP3c aMۿc!9x[n,La}^#z%ٲGRZzxkW-$w?ooA3 d7H$NB.Loob0Y٩Y.h́V0ќc:0T{4Obsveߪ`;i-#qI>0i_iܹOROe?>X&;r1 fo Z:BL˴(*tƟ6]. SauXi6P@ŵ,<8zJeƙϪTDakzP2O9|aojэ_18vi1=Mf0\<øtTհNs8o`Wط#P"X rKt/yN ǁLQa!T"wk!96%1 $/j^3P/?{$[yܜP>S8?=34#DdtVYUil%1)[1z2ֱ0pS$f%jЎՅ3نCWS}N?Prz m~`a]{ˠuuZ69.rKX O^^`y<;Hʪq^a/t".eޤUaz&伐p܊RA\T29a3 K8d<уK vM5[[0\eVndApc|ahc(%5?lˎad>.m)u^nea&`֛56`aKqdDl~=l!V,[ʹuisKAq҉Bqtwf@$f:KuP۠6-7O2 {yס"!&tm6V`g횏c]%詜|mDŃ:`=G)-gKU,F%*]BK]%? Ȑ:3=kOK)\PZ)Pquϧͼ;2@U8b+,y+8.4aW 3tO)~n F _K64fܷ5@Ųc[.f̅ԧX ʅʭ5tuEQlIt Ra6kZ>M,{3e| fCVo< XL"ux5fĬi3Nt( GtfЋˠ55r{j3Vhiiޠk/XoU-8Ɔy)ɨq~(9Wu):h4ɂ#/|PV ʷ r/2soQa '`S^3, ü4@J˛!yM[Xs[_AW->!% [[N*Azfr'D 1x h.Q#yOn/p-2=bhL+zP3nsC浚thqU?KoߔΫh'+g*9Cs81;1ɺw)iDz H [xYC%; ##L1 1,1g*IJv;-יM"/aȟkIH`O҄Jki' hV$gڴ1L h !鉸 S ܀z#>OxtJ=+ŦuWQ/ 2C u=*#R".xA+3`yN_NZ8-E hQBj,oMHTOMFZ-O\<9NǵM Qd-r40 A}P*$d3v@k 6i:y[ G_tUmȚo%B4m?hƙ pDQd"z8Jjӝ"ЋG NHϐrp߄. 8vc)ιI WMm4髛Z~L!h` i2KssL<`/@'"e:D)dL ?dRXdxh$n.w:vX"nm8S. DG}DwtFLLpj'f c!jkxxtp{~9῿SL/cܬeWZe;(I\6vyJ &**J|-(g(u 0h/Irr$Y-;,j-* ;"ӪJKh2KArqY%/dL{wסs< 9k/g}^#&\Og fOI ,eX?~kؖDYpa|$?&~ DWuZԲcŻwcmGp,kZq ;9f+g[Q2uPLt 5҂24b& xX@BɡX:k8#]xEۉU o6T.ިSfۑґɋ0+ʴTbk +aȋLWGLꂿ62{~8yah*mg>ut:?7E/X{jV7Aئ|\kdN꩕WY-MStfέ d͍]`z9؝TBK[9u(x>GySJ\5lPBlGPOz@怄~Ke@;S_^JҊbИ$}/('1N) [VAR$3&Ddr; ( |tۏNDFUig?$\VTP0|䭋YF Y`FYklhϖG/ ࡳ*(-`8qFqC(:jf^/aR@Yd hH]Qޔ^Rq͝tL!Y+ӴW7,*X++H>#4 < Az!1-9O>qLQV ,H=RQiTG0$ 5.M-*ry)DR[PjġhyL3!TJ3 ; ^eJ S6X&6hK+'/̺Jiy9.`= W h~dxDʨc>p6q}G Ss'RI[lUK!mloZMaE銏2aDD om˦[#Ҝ" u1\w`a1ʨT d88V\G)uHTU@R ǯ-+.mSN:zW`]籠\(L-o*5טEuff`aHaW_v޴I}UL1ˁץ^Hi\R&Ѽwݜn5uYFf8[: {;"̑4㊪tJ]y42?C| MIͩ[|ĞH EU)M,˽ "{{d/a_S\կf_yX [.^2S(gwo.uq~sKeҢ.Dr\dg,: k?J;:C)T{*bᄃ\A >,j@cqB9@h]V VrFJ{Y*M Inc%nn#B+PsQ24O+ƨs1j/&kԄaegTNCe {e % -kz௽LfB)/]M~wR8JaWf=V( 6(iE[2~ bA+1Bҕ:kS&8OAm~27{^g(vހˋg6$f, LIYyQbWU]1TȧČy?U+D0d7_.SW(r0׹ؾ'+d&4.Ϟ92BpqEV ̓ Kp\jnDڧ^zӏpM_iq+QZ6^w_SZ.7|àϹZWpBqb9Cn؀Wʰ{~9=B:3wU:ILno8꧈VFBo*e@Jw ÕS2D鐅QO<̀9;[bKVݔ hϧUs?dl&~3|ڄ64B1뒹 ,'BJX'#R_g +y'Ì[^ FЯ }.O]kq5w~i ̢S6luD!9ęx0,n$ U`o%a?&*|uK}B&;(L&-*m5rU[ϸ|Ip׻""|0G_%Q(H_^lB;yw')5R/I~~&1Sl6WHFx}&0[^b؎|ThQ;EGs v:ŠBh!y\ ;}\On'vp+7@HHHmnvYClSe[&7FuŞ2u>仕n{a&%z%6 .EPeNZؘE`L%נ./\diZ`o;\ۀs5Sgb2WNo޳ͼƏ!:~AU/g_t^- c|%ן;v~Z]_Ocx BoR  YZ