criu-devel-3.17.1-bp155.2.7 >  A dkAYI%z S k.9x,DIeVM9_Cc6zbi&wvZŐ`Psܤe yM *e rM籰!¹D:^GżAnHuѴ16ShavZ&迧YS1lA n?Σ h%O3#H"t;fQ$4-[ Tn˂HQI91YKfn}GL2sX1@DhV:ܲ[˜u:|'djL= ?Gku۵WP劳hn˞o:/\_2sA]m">f" A~ /<7)FPa\I_f!M_ :4;d=țu jmߥ.Wk0~sf+Zυ6%̩!: U^$$QG{ }_jFĢ2xMn߃Ym:b5e9956966a2fe64db06c79dbdb9ab53ed72dadf1a4cd5e0dfc44ac8907f77df0af78b39970e4a13c1ab48ba5fd636ee2cfae4bd-XdkAYI%z  e]xZH~cw.qDAeA6w*>60!+ʳ鋼Y j׻)5jN3" ^—xb;Bt8kσS$%\*fyzN32lΝÒmdBy+`9SG[.pW>X -?y-ѷhvz,\X,D(ּ)WTǾmfx>p>?d   T *J\bl101 1 1 1  1  1111o(849t4:4FG1Hx1I<1XpY|\1]l1^_ bOcd^ecfflhu|1v@w1x1yLzTdhnCcriu-devel3.17.1bp155.2.7Include Files and Libraries mandatory for DevelopmentThis package contains all necessary include files and libraries needed to develop applications with CRIU library.dkALgoat11ISUSE Linux Enterprise 15 SP5openSUSELGPL-2.1-or-laterhttps://bugs.opensuse.orgDevelopment/Libraries/C and C++https://criu.org/linuxx86_64R x>V<C"G@"@8,L kK#q3fAA큤AA큤A큤A큤A큤A큤dkAGdkAGdkAGdkAGdkAGdkAGdkAGdkAGdkAGdkAGdkAGdkAGdkAGdkAGdkAGdkAGdkAGdkAGdkAGdkAGdkAGdkAGdkAGdkAGdkAGdkAGdkAGdkAGdkAGdkAGdkAGdkAGdkAGdkAGdkAGdkAGdkAGdkAGdkAGdkAGdkAGdkAGdkAFdkAFdkAFdkAFdkAGdkAFdkAF9d9aecdb3029c85f0de1c5fc753574891911a63e6ffb66627ec65682a020b50d0023aeeb9ad575d57bb4337ff42d14e97b9f7d7aadfa293065dc6c47002bfd006dbbde675574e57d7bccc344839140800bd394e3ca8dc97a47ae6e823111084e89402890e514f1095ee25da083036c218ded6b5bfc39b8ff2004ce5fdc29970100ccc97d14d145faa0d92359e29852d318de9fa77f74bfa51ab25d5165b9b053fe623834382f640861138b14cdb794adef95ba18d42c4ddf4f6f28f40c28dbcac1fe72b566934a1f57de46354bd213b21fae10c1f2398565f70d895cefcff1d0151460824b5ebb13894e40f248090097ada242d031c931fa696840536a5413a846d53e7ac3f9bddb6d11b388f312bb4cff0ff155892b63873e25c7b01a23488f5b4f26263ffcacdb650ebecd8f58da9db6a07f1259fdac1401c32dc9814c616e183431e31ab332c8e9f1cc71b0518d81ae0df1800774cf5779e105cf64004cb8314387ded98caa2ec52e2b2cb1b59817f10298ffbd5b9235f0195601d75dc6f89997a012f6b9fac609f1885f5decba67991faefb2dd4041a3c20e727874db94d591c4db5bc08cae6e305f075f91dbfb407357cbfc34693355c6a6e8dc996f974b17e3318c1b7b116cf38e25ca9c82c3abc3b1215d001e761917d6e4edb0d2f3fbb79ad1d8d5c26ab9fc05849156843aaadbb53fc37957b5de008a414ad3de1f382724e8ef2cc3a46a327ffd7c14427dad6132118dc94e203005ee5aa1c9efb853cd6f2c1ac47173bb1ebc74fc2c42d4881b50b53959d592275a3ae7bfc1818b6d580efc2ed5a994cc033a728c0dcdb529f833e6249160f5685c946d4eca8dca3acdaa65b9c91cf68c8c8fbb2d41a794b6f2d081078e3c74a641cf89978cfe287a62e274587569b6345ac58b41fd9b2caaa086854e32c083c640a8a610a123ed4741a964cbd1ca5afc9acfb63b687209da87d8f43f3234cbc76c9bbb64ab8f09d657b88313e8d207869a902f9cc06af045a8f87bbcbba2625f81076df9069588b890318b9d0565c59cd47177a74920195e247d0302b7fcaf323aca3d2ffea61f34609220d0965f0f8d2d35b88e9a64055cbe9c5bba3d10c2b8b1ed623b4e60a9e0bb42ebb95b38a7dead8f812482062482a888b201d79442e0f41130905eb03aa0d9a14dbd0ca94e362755b72d081916a46c786433f70d9df484ed630a1ce5cebc8ed0bd0b35a8b01f59da51d0f379ae48f4ef9c52cc5d6bc4a190435a2c990105b8988e1584548b52361e62034f6ac7819fae6b72f161b75bede567ac82077e5ca7b3c8f4c7b334e7f24727c494c78fa56af98fff54f09711d67d522e5583c08f8e79d38a4f5c84d70b71ac2282c75cb59fbc85c67fd72cb11be74fc7d810a6d6c2f38cf4ea3f52226fe69e5d277864b5d9dcbf4e4d7ca18089d8e796095c4ae998c12f1680be41ffa958e84945796c5bc331c08a79be946b329c3a461de548ee5e2be5444e25d04dd083def7d7024c1fd1b09e8fb17c18d3f2f35e491279b414a67dcd511376ca875881809bf5dc15e287b774a7479f8bd5927b3e3d9f5f21563bc3929621b9e755ba6969e27364906b855bd6e05f0b5163b9c37d70dea38e89c6d2198fe573132fd3ea534acf4f73f99939afe152ecac344f24775be0f26ecb250b38ffe30e383af0fa42db8174112ad13a42de7571e9063b53db431af34ecad03a457d4863cd80df1b951e3419605bfb7103112cbf351dff11f4ca50460d4libcompel.so.1.0libcriu.so.2.0rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootcriu-3.17.1-bp155.2.7.src.rpmcriu-develcriu-devel(x86-64)pkgconfig(criu)@    /usr/bin/pkg-configglibc-devellibcompel1libcriu2rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.17.13.17.13.0.4-14.6.0-14.0-15.2-14.14.3c6@c!@b@baaLaim@aex`8@_0@_k8^^@]҇]o@\![[ @ZZZ@ZTakashi Iwai Takashi Iwai Takashi Iwai tiwai@suse.detiwai@suse.detiwai@suse.detiwai@suse.detiwai@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- Disable LTO, as it results in segfaults (bsc#1203854)- Fix build with glibc 2.36: backports of two upstream fixes criu-fix-conflicting-headers.patch mount-add-definition-for-FSOPEN_CLOEXEC.patch- Update to criu 3.17.1: * Fixes for pre-dump read mode * Fixes for mount-v2 * amdgpu plugin build and installation fixes * Some minor CI related fixes- Update to criu 3.17: New features: * Introduced mount-v2 engine * Added support for MAP_HUGETLB mappings * Added support for Linux Restartable Sequences * Added support for SOCK_SEQPACKET unix sockets * CRIU AMD GPU plugin Bugfixes: * GCC 12 compatibility fixes * cgroup: fix --manage-cgroups=ignore * several memory leaks fixed in net, files, mount, tun and config subsystems * Improvements: * bpf: switch from deprecated bpf_create_map_xattr to bpf_map_create * bpfmap: handle map_extra field * setsockopt(SO_BUF_LOCK) support for tcp sockets - New criu-plugin-amdgpu sub-package for AMDGPU ROCm plugin, enabled only for x86_64 and aarch64. - Build fixes for plugins: criu-amdgpu-plugin-fix.patch - Change the plugin install path to $libdir/criu: plugin-dir-path.patch- Drop ix86 build, which has been failing almost always- Enable nftables for SLE15-SP3 / openSUSE Leap 15.3, too (bsc#1193486)- Update to criu 3.16.1: see details at https://criu.org/Download/criu/3.16.1 Bugfixes: * Switch criu-ns helper script from unversioned 'python' to 'python3' for easier distribution packaging Improvements: * Add '--join-ns' interface to libcriu to allow joining namespaces via libcriu like CLI and RPC already allow - Change Source URL to github- Update to criu 3.16: see details at https://criu.org/Download/criu/3.16 New features: * criu-ns helper script * support checkpoint/restore of stacked apparmor profiles * add nftables based network locking/unlocking * allow restoring of precreated veth devices Improvements: * better support for restoring containers into existing pods * pidfd based pid reuse detection for RPC clients * license change for all files in the images/ directory to MIT * use clang-format for automatic code indentation - Drop criu-protobuf-c-1.4-underscore-fix.patch as obsoleted- 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.4goat11 1684750668  !"#$%&'()*+,-./013.17.1-bp155.2.73.17.1-bp155.2.73.17.1 compelasmbreakpoints.hcpu.hfpu.hinfect-types.hprocessor-flags.hsigframe.hcommonasmcompiler.hcpu.hhandle-elf.hinfect-rpc.hinfect-util.hinfect.hksigset.hlog.hloglevels.hpluginsplugins.hplugin-fds.hshmem.hstdstd.hasmsyscall-types.hfds.hinfect.hlog.hstring.hsyscall-64.hsyscall-codes-64.hsyscall-codes.hsyscall-types.hsyscall.hptrace.hsigframe-common.htask-state.hcriucriu-log.hcriu-plugin.hcriu.hrpc.pb-c.hrpc.protoversion.hlibcompel.solibcriu.socriu.pc/usr/include//usr/include/compel//usr/include/compel/asm//usr/include/compel/common//usr/include/compel/plugins//usr/include/compel/plugins/std//usr/include/compel/plugins/std/asm//usr/include/criu//usr/lib64//usr/lib64/pkgconfig/-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:Backports:SLE-15-SP5/standard/322f2217ef7e21e253f6af639aac6a43-criucpioxz5x86_64-suse-linuxdirectoryC source, ASCII textC source, UTF-8 Unicode textC source, ASCII text, with very long linesASCII textpkgconfig filePR^Zlc|ՖZutf-83eb4d776cd4af9b2121a66d298569d9f13f0806e04b230cbd45ef06cf8d5a7b4? 7zXZ !t/fw{J] crt:bLL ؝.T4~v{s Rc 9Ld tQ8ٙ[Ft[}Q - 0G,:gK+â _A ™pRhe/s&* ZS~D쩧[vh.tl4C#f/ Fi:N π;KdaDWŠX0cDQ<Z;R/Sw@σmkl0ā NX%Õsieny_xZsi-E"̜jw /.t @]c"7\L^!]."C LᲴ@yn7$F/'$4W/Xgw@|W8iҀelw]"E/Dd^ K8ILU#eRpݏvHqVFr R:g?RaNyNY"5 wú2`6+@GR;ne!ϓ1#I=Vg0A!B0\OTrR|&n $ADrj}y̏2B8 \dBJl֢ŠVeIіzb_+71i`'sbLAÑNR)iJ;^NA)>;)cNЁI<ؘj\[*n L ffR@vpX ac~W_ ~k7's$+KX{e  ,mǤ /1`M,o5f)+B5@V2.3oLmS)p*O&,tT5yk$%5lIڻ6nGw#6Òo=DF$+ppN/mI:YٚjL z 8ܧ5 k / *M|Qk_rr|2:F-kɍkiKƚ :H o:Кn awdĸnLy WqD73;'b}`)ɝ"+05 loO@+4F)h $7A40->yf%91RЧ Sr7'Knk->*#K=فK"zp{079KhBJUN`fp&dWQiCAMI6Bpf`Oc;virsZ>=.;Yxr_zeG=&4va}sX/,^TŪ!z1(]@;ĦtAM=|y)"'\#nJ.jgsml'JYG䜜Ϭ &]ހ^/WWkU# uR'KL@ TwO?QKkQM-op/n+n5cA(^Dۜ]]b֌܀>hYjn>E"%yK }Lw65?`V1F3 X{.arz &.›qI'3[]pz{*'YÑ_]m/BVǁOU[ 'ِК`ltsx:W ^'OLd_g *Kl%bGd|4D 9: Ъ^nR(P1#=Y8dPum;KZ\CA4x$Ef$1}~G5g|E"ccߕ+[;^ЙUbOs&@.Fu ~%zp uR2'sұTOj#vG#+W@3BIwpջWop3@yx5:L B&k ?2L!p(b~AzjKQӞ֒`):Rn2էKf4O"v@Mc ~eB/Όf 0h2T_~KjI~_A7eex٤e'PݬnƨIɛwD:(Of0AuٴLgqKp0Žeh2]Sʭ[47D2lƂzCQ#q>%l]a݁M28Q񺽾rX:,盎lFxA-]p[-NAVeE1<T}9$pgHedRɔY;_xə9 E~z}52cYTիcQ,b%d|21Zhvw ynBt@{h.#$ܴ'+MA7jeØ,@ BG7S5Ӿ'ah¨%9v)S[(ӣWYš/tsNaqD]A+uIXtёC⪉kw7F:082T9 S6ˮ[9)G07!4$Y̸"g}~e󚐉ֻ?Ⱥ&s[=Ҥwǥjm5| l3~]5P pKj~=i98a S#=''g{lruf}/!1#|NF? b|U->"^HP =CfMLK^/ujo"Xjv3ar Γaq]z}ύҿszvMTzhz K#ĕ"5J*BD۩~y7U0Ҭ<l:@R9% ʛ{g5nDA^%bBg;y7kxr}ek(mpng[DPG(x< k1:._#Ll.VnkXDZEp{`;)rV 75Z JkYGa< $P Sh K)_ZW>6dC;+X6=%=ˇc:FyGb QĞUQT5cp8b7&9&}̌l tHO8nz*0A"Zk ts[ )zN˻l/oXcK*hAvѬ.ϯtD[o2BʇY#zkp)=^+!-q($.?辻TIaTqkq&]CΛ\gŐҚ\3[ {윫x*Y*5R*Je īͻp0K7m0m`K}=}z"EN)kSlUպ2+t.ּ&9EH;^J +J IXK$~D p+T}ӎ:ңEHlSRq.lv[tŎ cVoBe HhY4SG3w?(!'c9Qm(b)%9\ӂOW1<4=VMBw | F]1,@%ܠV R :rŜ*M{bm%beD#766}gX ;5K ,r0Yro=ztXmSXեj tyus|۸Q>? E 6̍/YXԛ)}9"ѣ~k|K) W9& kt5LiZ>>Oylvęw5h #K$cN(=Йԛpop>ak[#L=RDŽA*\f"YYd/w|H~#7bf&Y)'"r¼0L-G&KZE%徑A:])̟Yܔ6՜p5p aPؚ7tmɶ+^wI@\֏ SH'/w$IӚ@KE/T@f?JK^)L+mڛܫ7̙{j$ǯgg牦$ 1({y֧RÚM˖_k/`vTqOKڠ!?۲zv ~oJV+cjrurEhp1p<ѻd̙.j# }45zOT4t@wƼh}ʽ_<*\>%U6Kq3@p}~XC!`]a ~,-w^1&e~~'u-a_-/f:f%D[WQ n-ҫ7 Gu) tYV~C6s@b/h0\^ 9no> cHx}ܨ  iRB }LzOE20<ִ l9F%7ަz֛=B?َ_-DfsssgRR|H8ܵ=a0}drLȼTD䎏g":ASN枌p?̮d|h(1%Z5 SpwEB'LVr?Zl< |EI9fۮwzczs~ i+[h$?[Z.|ٲP?|9-( "]YuNڿAk'UGTC̱x=7TWMBmP[пA"c:CE^svE;7?͎Ŋ764{r,yst܈Y{a8 X5TUOP{-?C\3|Fu.贖& ~dJ'xIx/;0 R_^X ~ fiЗO>թ |Ի lǦDU(c#nU0jfYf)LZ@ܜILĻr^$$S}.&R}I\J"ɟJٕxtƧ8Ft0KS%?,>XE 3u;,s_nxk0oF6U k?NlP&/K_!o|GApYǬ߱BmdԄWVs3&KҜ<>"8- oClTau 5J`2SRX!D6?)gsUog3yDƹb _$,M)|ihɓ ϽA֛g5&$W8Q[&:GT\@~ r <j^3 fx|/7 mO ,"X,uA içF`!K DapbED|wOrY GҙNI's!ob `Nw0h: XBc'72b4rJX?P|e-P,Q]a"̒&Ov'3h1iE⡲xvOtXV+5x'r6 <.߀x5TJbRa[62 6"nB!EB wV0ϕ!сd/V+!ғCvGc',dG]65[ϱk:j:LMt@iדyve^$Pr=Qarʎ 5'Bӣ$,k*DRٔXۄʫ_-iHkC"&Ln.ڌ`x?\Y-Ӛ75`;z}JQcdє;5kEŃJ#"ǭ?Al.&8d^qb[kh(_c{j~ԉinv(y)6'oz}&0.Ȗde0F)vr%! ahO\N;p_ЬmXH!)`T-Dbyw]T,&@! *W^l×_L= b_KYjnZ2@kF*)" ?k73;KrGE rYQRӅW*h_fvob5th$M阰:1zzPUݰeZ϶Tb̄P|Hup}_pnC~665~8!auKZ(bs(E X uQ5!(E{D#SA\pf} nM|= fAL,Q/Dh?HM2KGǃlq7ޒ%?g⑖*a1*;np[J&H9f]A;S ȩ0RZ ^&?63%JªCq쁈:~L39Vc@DN%#yՔ,%#)R,1}jGy\? # )vN/4AWڤC:Y+0C Q&k\3kXSeFܫr 1/vOU}2J9Xes{o¼Br|YPPczeD0Uݘ>_bUrN*sB.Y2ɁD0Bn-|뮾xeIKlG՛q~/Ĉ|gvH n4ҰM.x 7 D H;7:(8oe6Z|_;A&ţi6f '.`Ӄi)^ʻ ?+㼴NxR.ZJkbgF:0+:[B'.݅Y#Q95^2[O5nf`^+ɪ_70c+{TVY */sLwt>F2PII]&۱'nNjUXb+s'/N$ġtwA~ [dԟK0h7 w }D-?a-0,+Yd< Xk̽svJ~W&<1<>j#hIj<TNsu<=#ncf/DN <e:H "GPX5 dQgίD̈xN]7wS$ GE[( rnGњ-L6{ SԣBjkjWFj2 /gyH0t'w+g#,3XP xrdIO,HdVf;9۾t6XoP}s1sr2I7L+ VjHBoӵv>AH7EJu=߰eHvIuYTYK 8.k!7kI6oCBCf#q4]hh.1zVLX}Mo2t.齦Y ժŤd.r>86MrV#V?ZAꑞVJLTw/ۼ:"C016NbӨo:D*¯U yx!eZZVbbLﮩ `:n윽mT7"r1n(AYkJ+xL |I7Is"[^'.,[?uΪ<ƃiZߠ# QvN@ϻΧc>YY!K旦w+2 u%ΎLND0ZüB#'ڡs(@2=\o0X?k@ȥ*4o=VfmM!1ՄÅmsaȬYu8ϴC(d䆻~\_N(`]phΏݸ0j-,z׊XRD<M/a6qowTm(LnQ(pQX kvx ü&h` ԓf n< 1B7SF^..>F}xvA;? .v7 xCex_AdRAm3/1*] qfuVo+Y !tF -2oV$P 5=j/voX{qsĂ@'d&[~+9d.c?É\,0gr-r>sOi’Lu?ԗ?_NLXrV~tBo# R(I;FH;d/ƚvuc#6xw+ cKZ~DQʎ}r:bJ0 (CdQ"ќmGC݋WD~ч6q7ޓVd> E0fd[@.90- >}*jN(8'W)MQ)991RA޿rcLwquMV ~#x_X&ւj6AJ~ߋ9KSLkxv,y؞&3cpv)rlweQc ؉Deb$b0^ p.*$pGRٍݶpL>JA]~]Nu(,1`ڼ+TǡR>$pXcKTغ 4BH+ȿ\)&3ag^Êx5|Xn `3Q8U'rFs!=ɰ߀%K+Ō}4 o̝AzM{2QV{j]z;uN]zDZ dMZzzRtn7DŅQBc>OL XAtvK?tİ(. FB@# 8}yku,R@(D{OQ^f'~V4rus v(3O\nt|%rh(X2`l痍#CӋdk nڍa#K6F>0Es#qkRn_tR[qeL[w" N={MCP˒!7OhV t۱xVOS`\ժGG`RJ1k|˸-{r0~Zy-Y-6Hܷg`4;i5S5*rF=r]_5+:ͣ"}ů;&4rDgY0~jCEK7EO/^QwUłf|f'ŗML|[0Ajy۪nRa)8n \$Ne{mdeęYb CCHyl<`HB=JIZK%?=NT+¿$1b,->Uu}Owo X#|2ݺI8@r ozԷ"_ԉ $T̢Q7=%14-Uۧl-CϱXzb}NʔWeqhQ_\L떮t}V9##.]AL:S AEBZB&6"{ WZf@~v?EC9ЅR C.ьLJJ<@`ca$:pɷ^Ys\)'K{l atOg q=!=?%Yc' -[x]"8:w-nָЎ{eY?q:Tn$4_TK\FBɂzHgPX`78ܯV,Kjj$eZ*5R17͍glP2M*>tA TXNG_Ԟ)]d]LvSq9Gc!&xKQ,x>pLy7^[h`վfU{0\m aI 쎗:ku_wKH :CCr7Qӓ2ys/ i/KOw"X:H2 3*17L)mz-ͭ vmU_^G O-5h[ 'Eņk|rU*=G+ ;2<7[}m0a6xfm' YR.L-QTđX; %ꖙy ỈY|r8JhdJHf6}C/3@7WxPM_~@|>>]Z+n\I<:  mK*{E|'%>u?5Σ!m]naД}t%M|vMB>&ICdiXX <0k ùVG>9u@hcI%Űid$ *\`$3N<&@#gB ;і71aM-4ɽR#!N 7u90JqV&bJ{Ma8Vv?"o20;GH,9FR3b5R܁a 2WhgU[ě,L~%zؓrq v6agr1}qlw9?=S-h^F`odAJ,|6h'= <.gFw\"Yh.XiT֞>+]u̯h0*4{)yA"gzכ=][c}RpsRƻzo`-GHr}Fa c*~ٱVEe?K S6pOiDXZp^  Nb0Ad'z 1G+Ǩy6Y/%VPmW4c.d)Oa=/~3?γn-H,jռ=&Tl(Tpއҳ{5_CrvB[A%ܙo۟9"4gw&{5;sRL"ƼvtL@1{Tm=͍t-"ͮ߱cbOq" MeZ78R/h(A2ҩ"њS0 [ ;?ٰH]K4d,)V8C 6n ,Sdj x?C7}~S2`=;Q.N5 At o\8b{&9T$ MoIs]bIu!}"24TSv@uLFi6J"1ggCZUW]5gq@ Lr'S!y>т@R+_ fF58KaRDrRt$Q֮t1е!(V^P ÛY l4PœbSw-\N :]8Q;$?#[^Uuz nÜIjr 9¯#;s-ko%A5ԘtA9-Oo\M-N_6dlT0sRjWd^<}(;0 &轎٠Q'6gޥqC,m] ā>VrZM|vbj=~2W&}_]ޤD1@y@N>f6'I_-7WսV_({uiI D{ZτU$lRRB,)u?%u-j?0{@T<8%sU; /}Jv/*xCǔ'ŮxanM/b7= {m*xs~!37D}R-2YaڎpWb# ^UӸOL%syC4o/L.G]<5L%nEڕ4T8@02I h !LDp6:GTY @N)K"yeles.EԮ>傰%ΰŢ*8WT(WU ?MrCU_;\Pai9m;eV KBlp8O˜j?{zC~"@+r")8~2pq3Sk,MrԎM#0v:uv\p%#W"6\+n~[ c-cm0 l7mе3>_XO+kmuIwAQL  `Tk\ٰ,Ty>fS<:' -@fդ>FisB4I`,x&ʳxB)vtgq*"Эq`tݢ{O®hL-V/zq'X^7x$gH}KQU?$}jKOY]#g[!sWG]#Ug0Jx|3מ š\Ļo簶=IBbM_%Z5$.88z*b;.D jtٗT#fan/6/pVfxA(bBn8^M|vD|ne47w-**1>w4=q{n⏉>y=1np.jS* Pm*5'VNԠ@waSd( pV\/o!7u#i13*k@E*Zɂ2\\?.M܂GDFsxE8x`MS/2k)"%[)V%?oY2|=-:MBЍ_ ~;)wm6\?Nݚ (bU~E1S0`ړ{/T \tVC,[K(ZA9غ@왁ۂ1$FL'oH)[ݐCǚLl8 {ޑ&'ו>&Ncj XZA#tyyx Z?p&1Rq<L.X.XU'qa,y9};cCP;hUW!@ǰV[uវ<H|6#!?8|r;xfUc a{/cB`*﫱qt&YDߑa/MԝPkI[7Ѻ5B3 0\ k)M ̿z1MS '˓.}'i_BD6VGC.q$CO[3.KCğt9,fXYߔ?M:kNj.Ju/|9l]cKӼ@CΓ_> cGg|iy3! QGT`)ړtW&aff"s;2%ӲS|fȟ0) MH5=ҩ-k;'ۡ'hΧf gJ֦?-9d{.?⻠ၬԲ}u֨a&x2iGC-V -'gX8_ R?u|JGߊ|mIJ)M-MuTu-JkGjhcKhozLkL62&R9QI_pi [Y/HNi.=_}Ufm1@OPˎN) εö /bU:O43>˻rM'5WeA󽪎JϹ <G]]Mh?4Fl)4s AJ-.3rXtʀWQL/tC1MU4`6!99 ;QoUs9)B}b OmƣY7.s$(C'âG1NBnR7 AR5#GЄHTؘQ[pOl_x* nA, "?$vu3J# ySud /-R Qކ[^Sr@۪xLnKTpMļЈC2e.2wF} )45,<>ܩxf M. d-)z9Ìx*pUkUʇ;U~jM T**tyaom˞l<,pt쒪ۤD6z ׍^ dd`Df-3=X!( W~L*pagFhufY9WR'ԡ Kk(09ﱳzn%^UpE^ p@̟6 uV.o4׎QT%\j^<s,uVBUVZ1 /ׂ{"A]nKR,䧻sa5X =^Ru _ob%WTj7$ڼqڠ$jtAI=ut0G;w|i^AAu~A rZfz {,(46Nk*2}q_sZTQ:/2|vA*ky! A:/ffF? ȳ3I+ Hݭ﹢@n>ULUE>Dc+vE~ /ٕЦ0QwzA7a͖*gqxĹ[GC\Ym=nul:1"gESjMo6:XV) cwLg=*50MH  Jm83zYr˗BD1U9ǜ#uŌFa$7>; #'by/2G٫<-\NbT)sV1\y㢢7eƲ9Wλ v,^ϛ} ̑7-jUl]/zx8;7bk u#..}~#^UYtRu{^} k6~Yrшns*>ӬykU%aW۔QW,\a;#AlRw"YP=oUI[9;komje<_tL> ]tQ`/ޣ=b{eT5|`0fHh2R93v ݖɰTt tk AxbBFkh%unL!DzK\TMk-B~~4'_}^j;e24.n}3iK"c8ET%;q֑Z}}C$"u8OL;b?zYv~ΰ%>W#ܳv UMk1a2oNL!X< ^>0);MT1 "T32J1U.jZs oE80n3BQL&Mt &Lxqg݄zJbGݙry%o!Rf`Ohn&"&@LYN`\nqJLNA<ƅ$z{D|Lr 7.g%'e_FZ8 RsoO̶ƙ:ݼ(9gۚsHd!gTJ#!l5#slLIQNc~xbIgKx(m|bށxϕĚ/7b>/"L̈ҍWFJm>q Stkz]vS,?ݿÒrg8_ۭ (Ko)s]<`H'qf ns s"7ĝɉ]Mw璃|_Q#;@]TLơMh՜YQudϓWx| ?"PV˂& wqPWO&{ )v:PVۺ0<,z<]/Gu-8@4mDz⊍WԳ54bbcmMk׍>}OxcywBq oku*[$+g36uzܩAaձ^: vX}owmw0v&+{$[Rp$ C4w-vb}" rm07,L]e1>1l{2\[j ,nasؠ ZDoX ^ބD* B+vb 鳔A#4+,,LnBU2{Ba{7sfO}68 ``i1kG%_hղLPU*TE)$6[|{BdcAqOYy^}$B_"uWf{]bF87>%؋õ#aQ9n I@̺ú>Y&$49uHXisA<\7a裔^^AE"$4xOޱZ?F+ S\2Wf*OKWRmZn|eրe^ Jjj&XL e- ;jv}NNā\sX%=l n?Wv cj5vu˦{!yMZ~J}U)_^M~RAw3$D\vkXX*yF$8Xȱ|>U+ xbCnh(3Pe=ݤx`ƛ}H|&==,ӷc{嬉/emҭ|(;ِN~,^UO073dZ/!R'RS2fzbZM/7OᮣKz73R74OSlOeFIŜu_ DPMNTzʖ\ IE2I{^>:0t\a,,?br8)g5"$}XmzL<]˷>x*a晡jʓ@ ajp]/}hz.k a   qwBZ]QSʤ|(/gMӿy(!R9 j 0$ \dC҈ p=lghlӤq{{fd@w=]l݋VKX̕z+GqcLm?4 B: tW-E{ȁA%2Ȋ6Ww\u=kœ M~[҃y?Tܕ<͖hhɘNRJ~!Iv6KT[ޟ_˻pguƖjf86]̡ +E UYi9/ E4lR 2[g]({(B,;4WVk=&Ä\۹ր#"!%ɷ #xFAݬ0@-d+cSX4Od:]0Z2-f6siU(`l7Ht 6/=-7_Ҋ8WDZ .5|Q?A: }7&Zjbh6+R'N*E cֵڕҀ"7a_C?9Փ̇43J'gU~ANL$|1A1mT- rN>E GQUz6 /8>i=^Nr۾(1ȼv}2e>(>m +Y/&94ӊE4b04 zZ\YSoʭFwSJzGQ?m!n/lm `cGfuYʁA;r>L{S=ړ۾d)"!̋bV`df禍 ZkC^˥hibNZWVfhEܤl;L L:T"ۮս>ө82JSiF9jsou$al^9)`O@}pF@ n"&qf'٨2Ŧw܏<])l@o &y2Yy(x+sͣu6Ci#UV>ϭ+bt7 "Aa[ZHg7$".jHl-ΟEͩ;H A]{wߩ_ZB1{7Te&iPm58>_%mUi gLfE*+Ԏl%tP:,_E9a]Ag*d6I'.QdL>44f^9'e?FCFC^Ɣ#ۙG1nZy( crT:!3v?Ja b@z#f5sW={|>ȄiО`lMbuu"6`I~l![BB(@6l9i4|q߈MZv3`r^:7QSZԒ7bxxWnd+ h(R"K"پZIdi=29F ;a d>!R $@qTvse{g :$CڲY*ɢwmA%P,lB$瀄" a|Pcjz̃gP"oo5{P5UyA(s.1q:7gp ,SKpXv{hRk~ZK6|E*z˕0&b$MdЄ[HA``F_-/ިrug+}MLU6V={y9/:pxJS; e 42"*X-+{FI,D$i\Aޱ iy=`rCup݆j Ntj;%_VD\rPArܟŞc'h9aIQ۾+N:M6@jd~Ulf71n7Si?ƺ?~.` _p7n%{lâo#,r|[9]͗Hא3!dET]TI#4.!LSfz_/ ].=Sob~惒-sy^WWPk*)S+X=>eZy& 3ڱ-;չ2NR/w%"K(Q3#c;͸^:u|YY65v/w|q/+ ݫ󭺡( r|\(;;;i,Cw{/}[cL*9m awy;FVPRr'PT΅ewLEԛpFDĄa;ϸ *斮aMV_EMp/Qf['m-TSx0DdGgǸB5wjQDtdaqh7AGb6oivYZP`z*,q;josA(.4M}-N "yxA4\˓@VR,e69E=v” T+|ʠێنѝ]âgfFS a]% ;|n\ga!\eӗ=j2(*rF4emXHexLx sJb:lǥpq39F.0Xsyk*8zC/Ak g$}"^;jҷGJU36o$ uMRl Cg72V*..Yŗ|L'PH"UAS2Lվ73%+9Qf糢n *R*O2væ˄L`HOf8ps9Fūm Gg/b QQ L BY(]X+F>QP0_Bx_5W| 515Ӟjy߈Ka||׏ `RC&09lw1trx1 sӯS~Y1H1ƫ0;E¼{I$9ft.KZ}j5UiVǁJ?F,ͱ&DqGƈ%^V 𰭳mDGxHL(tQsvnRy>јYl'Yd#W0B9D;N9$4cIt#E8, 3r6ɑ{)3'Bg4yƜ:St6v{]+Î$:tcQZ m 0 wTc+Zc|GiD?"EA{4+-{TbYPCƪbH ɂ= "{9Àfݩ jY%Z^G^v@ϟ*>9W;ټ,߈o:6EHLsjcd+gvЈUEQ,Xmw3zG>8tAUE> ^)ע|+9?m a~V_?'{)0A5As_}!2a"x͜JY@Ѡ۲:4>MU$7t|dImPs0ix:!6Q$QeR<{ y=gJ)u- '~ך=]VǮ8d. "ǷrH rYyx 8#44&߇ݲo@V鷺^y "B1e ZT}'DH iU48Z<+,C\te*Nj}ªd#fJt3@(VU#FL$-X=5)ykMc*1WH&Id3 lJ\` 'LJ{5/qh7kV3: T2|<%xЎ"7$3mocjpU3 hZ.,+M ziV"X&79B{l;ya)Xjm(0:ЖF!m(Ic¸K-D1Ďpwe 5?cUyY X$69BL7kE{H`D_Gqݣ螤*Jvs.t҈lkIzkrJ{g郋m@Q @IuW j]NYk$e{ժ`א+i+;=w'_=dd0BO.#}0y]? 'TPޜS@%:@2O4h6S8V is+`. Ob͢Y(l()G w39vG6~:OwgRs)ˤBA {,*{N+ 4?6a8.D{]-ZM/'&;~יyM, FKD@X1ؕ5yf*6cC.QК;$vF~CfBYv2D EPWƕVw((K+IȳA3 c_5L!51˻z2shnjI+wV`)'1u/}{z0"*A eFg_'9vig&E4ao na?~Le~;BFHqpnmp4 y4qmt% f)vo,i.@;Q`棈2d#AnNtڒծ+&QC%"Z9eDzr-~YnB僵^3A_Ѭ * W_ ZP+5UAXBbĐ3N=[b;S$OpUWFU9EKÖQjSu/٥ui7]([ _k*֍gWT~0[:M4J{B}Ć ɦQ F2^y{,~歍)X ioN{)Q_v( rXr9ĥl Q"%W{ȕmbf[--'ϖ."w=&&ۃ˵}AEw&ub,|{(&c%Ӫo!u,&.>}.zIЖ"P|\i ?$\Ǵ4Z)UHQxivǏe-@b{p"ͻ_תVJDoo? i}9{v\"3Xh -q( wX_AYE?9{AWsiˆQ*j|H(Cy0}r CA('A abO=U~uhSFEdS:]i'Fo̷Bʸŋ#~֞ /YMۄןqCy;s\Y1od#{!&tJ^ $I#ԕAN {l^ чöJS#V- ;1xҲ"}yX:OÝ")1PK ߊKuYn`N>9bMpzӌ_bV֑ g~W]ֳ  ZmeB0lm|{Hq*\Ϲ@F7L. Pf1m[Gz ?%[kQ[|]%Օ"uotU46?M}SCޱX .𽉂A\D%O0a OX>UZ ׃R_bN}XK q rJ(V$ bO."Z~ҧ1ݜ=0Sh✐zuicֆɄ)pea33f*5P2NWN6yZsqϫӎֱoO+et T!j ~Ru\QS<@W*XOxd`.yY*2ZFKˤ _IYXj%r&",!}qR P6-c/lհhnм*).ЌwX3R~6b׾-бIZoYElA6$\^ѵ|P9ZqݼJlĿ:nZ~ṉruBUEo$:*2G4A\/ϮT ^%ۚ]*yX> dihS9 Ք/hyxK5<@څR uxUWL e Ru6pnl4(egjW߁GxzX rcQ% ϟ p}/ ~oB{[Q@ZA Ox|M-˯EM}OǑ[Qqgp߽l a: tyٓ%^Ӭ"ne(bjn3!__+ANHvEXY6`ĿZ