criu-plugin-amdgpu-3.17.1-bp155.2.7 >  A dk@ԊI%z Uls0K&`# I8YpAHI[|~!Ȩ`$aTPZk`8I1᧾9sݧêʚALy8P'2F<^b|A뜌ۇ\B%X;f9΁ў‘C^wODE <=אH3&S?L!ź$q~L&YIx37\}c=l_ ǰgةmG(V'ыM%9Ka~cR__SFjI{QSp0r.= ]Sdlsva?aQ1$!!E@=嗍4ʾ$M[LJk(gk,Mvj<\wy8E)z;MWNM_; @˝ EǜF* SZ$tM\oue2bfe1de2d1dbeca282fd23fc083345d2298c10839946dc1b29c93cbcca09dd845e3399bd83f016d29fc22a9b15f51386df0aa69dk@ԊI%z 3>C/q JKa-Ĉ&Yri\_ ~j M6pF-aJ>ia&L$4vA~Jo=sM/>;Za (48vU1|s&!Ԙ_}x؊`d"ݪF߿D)}ǨJRUtZ|a ( tBX! )>Д#51P;@{X7B>? K,!x;Qd,,ۗ Wm!EMC1S|爉Q=֑3n7P$U=P.AaQh7ھ(ƭ=FeEK5Bdt}(XݿMC D=dWd)D;T '{Ah2ݪcMpdSCOZkzѮ dv='ۑ, rJ~3~(݈eYRYۊb1rwab jo'E>p>?td & =|    * 4 H   (AZx   (88@494:4F>GTHhI|XY\]^ bc*defluvwxyz$(.pCcriu-plugin-amdgpu3.17.1bp155.2.7AMDGPU plugin for CRIUThis package contains the AMDGPU ROCm support plugin for CRIU.dk@obs-arm-8ASUSE Linux Enterprise 15 SP5openSUSEGPL-2.0-onlyhttps://bugs.opensuse.orgSystem/Consolehttps://criu.org/linuxaarch64P4A큤A큤dk@dk@dk@bdk@9c7092c9a49012518dddccaa4b28ecb911dc5783482591c4ca08aadfc49fa8917d68fdabf0995b052396b26957ae28dad2be561fdce8fe8011cdd5de5e04547f82df3f0b426c2a60ff8895c5339d9aad06f3ffe47b38c60f37d89fe4b945b910rootrootrootrootrootrootrootrootrootrootcriu-3.17.1-bp155.2.7.src.rpmcriu-plugin-amdgpucriu-plugin-amdgpu(aarch-64)@@@@@@@    criulibc.so.6()(64bit)libc.so.6(GLIBC_2.17)(64bit)libdrm_amdgpu.so.1()(64bit)libpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.17)(64bit)librt.so.1()(64bit)librt.so.1(GLIBC_2.17)(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.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.4obs-arm-8 16847505183.17.1-bp155.2.73.17.1-bp155.2.7criuamdgpu_plugin.socriu-plugin-amdgpuREADME.mdamdgpu_plugin.1.gz/usr/lib64//usr/lib64/criu//usr/share/doc/packages//usr/share/doc/packages/criu-plugin-amdgpu//usr/share/man/man1/-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-criucpioxz5aarch64-suse-linuxdirectoryELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=9ae5d3dc718acaea47a94e4236dd3ca729af31d0, strippedUTF-8 Unicode texttroff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix)RRRRRRRllXl'Xf: ,utf-806ff52888272429e162f7bf22a827617620bd6e373983ab37bf04324e0ccb55c? 7zXZ !t/Ei] crt:bLL ؝-[hH gxX%RI3!Bc'$wF\BHY0DhTۋ?*ӞaPM,TJ:rkMW( +b̕BYIf)%ZF˓^bgC0-zK)/6Y6AP:,stL3nĠ2nк_ކSNB㝁5 L1+Du ::Dr; `@gS̻\0u4 %,4+3e^RjHXߧZ /_%I3;!Չkryّ$3}:5WZrC;;BL5P1nX$Uڔ &'*#Tn;r3Ytxs2<)Zb4H o GHd#U,ێy<,]wL4l8L1Q!~x%LyU;I2ʝI-|9ϏT":q8Da|5aG~I+fSuOL093'KU# yiR, GP(4k|#&1pL*Œ4TX?:׈-8N FjYsEY笆T.}志՟VӔ v<˺㢝tݩ;9QaJǼ݊u(Gܼq΁Lg;$`_z8? QD.& Ȥ6w2Nc8'}! ,4sqJ9#ܯbSs42v{4|&vm+zm^_5B6n*e6'je|qPcK5V71$Op)`I aFSID2Rf@x&;o n]LH]Jl1` vu,ġ «r7: a/I, t{ /FA*B#P)`ᙌ_[Ktdt[s Eӽlƃ  ihSIfñ:n:/[Xz2 c$/ /6>J9\]I4q7!Q4 j[~$PW萣Șݤ\oD_h\3Ò ,Ec99UyXBj<6vnFC+8ȎȜMֽ ,$!XrDt>i{kZG2dEi!QvJcH%Hҹ"IΫz~J_?x1&56(Y,ѨbE7SUOx=,ź]'Ç+"Ida~$ [][9ЧeYz(ZAPmqsK$Ev%:C/8^ϸШ*%SsO@1UDZFȉ>A w5$as%VEtj4:\9>1%/8fO.(<\,Q,/xv`dϴbG5;Bg1V >:v -Ƙ;҉#|Pj?o !-ٿŁnQd&3T Y)ضS&x[pgߒ$#D3²olSI4;;Bw6n}ztQ֌ZWEzk%C4RCCȄ(tP)ߕhUQw~`ј͝hQRQ_)#0N(SJD@$ȖbW!ǫ5+֘+M"e@c@Vw%iM@Q!&խm?8'aX v. 姜FľX{^BEts9J"h7~^tʻ^#C/0IgaS'S^NCNj\,\)a39g3xFEL{Uf{T=p7kOZ64χQK1]SUhFA!ZԪ$e5@nG72c7Cgatd!6bאw23MMlxOKw{0÷LEm DJ]mhi}CO qӬ{pxcgG*vRyoEq&8] ī(j5l0VfB˗dlLRMjx{k% w.cӂHR@ͯ@HX*hp(nd+M>+ JȎYnUЙޑZl.Kmn-^(?)|-[N95m3YpsCYO\x%݋늁;׃:Q`Mw,vMU֟m8qrotT'0qhӅC[k OB=2;cPKJPHASx7և'@8j4m+߄olNݢ7aLwl@Y6 zW+7-0E#HN9 ;GC7cJ[&(bziwN1(l1 XA8=N8-87|@!;׽3`ZMHL84)v(EdUZI<8xKIz|Rv^f*~^N0ɒ/&fYSs!1ь l;#E!Ƃ2zxi2f%NVR*\uao5US@(v+τiy3ZaUYmdP}e6*7j72K4\^Gk''J[%]%媑>˸lv/&gZh JIY4aJC9mӿZu=fZRH0NݵRc{f$ b F1e@M}r4 x6.8 ޿v]U3YjP2Y^LRg`EEj?3ㄡe&,_F.|T¸ ?^Y w:;bVI3"@  67[ DFU!:<%KWM({ZvW=e?ԇ; \}W9+MQ |^'DׇK{sVJЊF͇|GE?nn"N1*xrX@9]OjtK L~H:ERD2=M^٫OR%ZFx>; 3bK*bƖ?VP~Oj<'0$o1UbR{Go% L^ICaV+\Q82rZV=&eqۼ)sGny )[P)D/n=kXI%S' &zҞ r浊 ӤrMс $2EmTWRQ/C85|A(E^0 l[@󵏉HK/\H*s7/\ymICw P&@w8LIᜭg~wwD6, [HCRp {юg$5eJzqOLZ-bT{i-) 5e?۠c,y1Q3f. JL { B };(GHF!A: t.oHc~Թ5 Z>fxvga< PynfEdJ[4"IjPr2dA*q!8@z23,x5K$W{k&+&tĖ\:bx>aa{6VsJ!b-䅢j( +Ν&ބQԸ?ؓvX)3=tУ'RHd{{C0a %8vϸw|>-RњDfd^ziB\ uBdm;mDЍ3& 2S8|N_#Ef|q qbS:$Ud M&si2W)&VjiVS0"1&4OtG"=(nx4am oU}>{SL4\Ku@Q {)cy;ђܱ̕]|^F?b! ~Зt~ͥ} ;jEKCZp _pȥFi6uxu\ +@6:|靸qU\e.'d&iO֒dR5e V5N'{٩$쐶) ߩy iC!7UHZ$-@BVo& G!ڔ3NZbDiVef;>(#5Fά0UR[Q dlG0*d;a &?rYu nYͪ$qsAz0G5l 8V{͵%cwZ1o #,-J̤Pb MgX :$wXf_nx#E97~X@o3'03|w0{ሗ8fHD+fȒAF`lK(nl"5">[prUUؑus*w?_e d*X@|Z~ xnrFgzW\j0@joDܙU@چ/fe v{v8ċQBapR|ĭ'D%⌨{^)4MCĮ/ۯbn-%!+˘˙ȋݪXgwQJ&w%b@g9Вzp?O$T(:\ WvYYȑozz`벢wn,ʎ?QO\*^tCo+]mp8ZKlZ#]~W g-G d20EI$"g_E;2< C & Vc/uY + ݻ`@UͱؔQ!8Pxjk[S`n:WaN]'bg{Ìmj&vZ8LgYIq?[ 8#$'] 97$FZ0n)NE܀?m}Cr}”?!@<@phg̹T=E^xkB>( D6j{aҥjbܦ(1h"(H{G%\GLtL.sm~ ھ:Vjn˚V&@t:˹n(-]QTDT`?թ N$go0gGu8Ox/ hz[Y']!"U|wE=~/\9JUV7sgʏRTlGsEp !.rPy/%{0WD1K&+d¾XǙ {9 럫ȖˬV'GY:ۙno31qBl[>^G ~(@incu[J '!W~*1g,va$;-D ܳCU0NcS7uo_XP!;0 "鸕!) Rf4or\ [<S #XFi YgEU Gc4.Bmϒ$tbV;*Fdo AWe47"4&?,+ ̽' j? Go~S2M^j ];ޘTeIq痹HxF[ڄAt5(uo}oB)X}#艎Y%?-ḻ'vXↀ,Qc2ZH^='^XA;K_Q&_ɡ3K?(~j%=67G$8~cQ]Eѧǯ|/Q`5 /KjGB]ۻ@Tku?D"Ss@.OR 6u<,*oy}aEP._.lP*efgu$V?\l^̞["TMzʤ(-XEGtIíK6G,׊1Y,sE!3O )F@ķʎӈUe.tMh"OXÞ|Uk4~e"V\hyDlw_υ5]&GYu%Jzƭ WyD=U *, PRh DE ?H/GrJ,ޝݧ%ί/OrhSsTL$̉!^R59<7}PhjJx21 N ̋^(a&F6WC HVVD!#ײW]3*/: czqqX!Cp{ZݧL7IB=?l̽Fk5PM1$3J1;րY:\kI06@ /#6~K)l.(!)?UP.!'JM=&X127@z~m.ZӹZ"/L>>hǯaꉆ1apu*rM, L:﷝&mQT҅R"Ot JwpC, V?&$WՆJ@dZC^^.ԃEo~N-'yTLuBM-,翺ʼ#ZJ&!a|*xZ"*ՒӲvVLã(*֓{v/fK|gCNFJM͉nyK2AA3qGk^zLI 3`IYb]$*n$iAip`@[A7 Ck#KmQ~yjNHV^UHc(M Y}cf?NMR-k}y>u#}#fs* *Okt{|q%J(IٖU։7HReTYqEu>BYԡf=DRaVXvQFC'|"J#ԥFv>Ғf7 RAΠ8؍LL,ODk@,B- swe4w4sntO?WM(Bo-I.\nYlP9ʯ&|4& OR4'F {\?iJ %OSRc/jOՠp'u4 E@T=K|.ı6 p ][@T?𿿘ē8Z<|z0*e~2޷Ԑ.$a!r 6cP*Z,2Z<#2«S)DcX9_R#Qp ëJKlW#(Thԋ}$.Ev S~WP'\8q0;*2tk_1F1A—:A[5>ը7Db&(Y(T,`s̑F;9Qhg '~{k0(>?׽Ciչ (LE:^")C*Ia[a:Lj3.lzsGvn[y6d}A@tܳu)^i+үEwG@M̫sy ՘[ɀ)xcB6=MNJn99.:c]J==61VJ_OD)98|.p77g ~Nsr Ok"H9:Ne gV"k*9yɟ`* u|v"}oZ$f]{Xӽžz ?miRyE rA`wlB pBڔkN;68۬pń6,޻?|%׸0r%6[ٷHF,}Oi8C0Wu7 erY zQ|qQwZ ʅ4^I҉jv0mFŝ`?X#-T.FXj,G]a"xڢ]O%=c'cפAPx4q%=84zNqb+.םc׵$hɛ?㈁ 97%>&@Cf^KYҌŅc>nn!|~JasnCyI 4Ks,zэ:e=3N],|~'o~m` 8&u@rG4 @2x?䭒q\ 1 iz \@ )`F`!]QC!7#r%l`,ש8m< '77,f`A]~\5Wp +LpWd$ٶ`\ &.)O KWc) mKdnZA:d~Q+ޓΥ='a^&L kb TOi +XZ"<1BJ ,;x7G@zDβ$5 ғ0>W}V&c¢ro%ڻt(]!TC=FUW6r ƘܑV"(AFxcK G[ːTnu[xCQu (qsWu_^Ĵ؛+ZVʾPTzjԵW끧T(Zc~"k2XFNQ̟QcˋgCÊKeݸ?fgĪp:[YqXaGBmYVh& Mn*[D뾧wk&dݍ][AQPH7^Ib3_jy4:4inDLT\c!&3_H4*nv/6#F̋kH\͐3~1h>OF1Cn[ȇ5޶1 cMJst;nt(Jx̷܄ɻ}}#[^Om=@C&W&t 43J*q1ǿp\&s}4Y6+Lokp=hLZaaj9*V14"vq:,RΈֳfth{\T>YSO*P]4*r6ttpŤ!D5ܠ@P[o{v M ) ~RT!K}] :2ߑ@GGji sĽ[~o@n) NݑUREZY9|,@t?C_14v>j^-dodΧ~xr#e&rUkBҟ24{(iiO1G3B{o¥rTdsXOzHۨn :“Bpq$n- n Nѫ7?(_8=[ͼ$8Si NX7f09*ӿ'{xs/J1P:ˣNQ8#QB֜L<_jU)ۭg`V'`%=0 &َy@ݞ:.,,Dǽ';#'㗟Z"P]ʹ *ao֒^ndM9q'[31Ⱦ,_P`He$1 | b?ED_fII<kzS ']EmU\t6wQG E)))$9JbGFyܯ4孡́ kc/HwtcLVP8?R^Ѧ0CZGRS9~Kz CaH igYvp5B׺GPakڣ/(ҍx-~gcP"i1Mʤ@tv YXs$~&e}36.{jGư_tH3p#t[ 6\€f6@Sr/Wm Vi#J ;t2ƶhJ@hpqs*j8O ԳQew.tzI:(q&L:}d vRMC,:3+U,$^WrjR<M$Yݾ04CKFeĂzO~e}sp8:$ 1y{;1{+ A zHFcv; cKde5q1L:: %tsXy@1:R ~#uQI.폙H=_S=R(wt}23 V$NWXng`u-(FV %@foTw2#.pZ~0nomuDz@Ij9w@"uC;H=jc`˯E۶ HQJѱnةJ/Lː+JYCr2^@)Dhe i٪ -h}EZ _wisnIe W]vaχ51{^o//G`zQ-bV;/Z)2PPL"+QU*A;'x+4:uaR@7S)xK;1_L!ɥBB$ /scXá>6DCYdT%uÊ +»W^f`o0O5hǿyV6Tk>5ۍ  [ 30:*IvA $gK/ I=A ^+}V8PoJDy?Rqࠐ:t;'D#)m>u4-;R1rȿ ϻ!Q4w P Gݽ y3[" wS: x8W$z+nB fr}1䶈 i~GQ좀.!fBX``Or\cvR :2zaV ^ȃcQ #!MޓaX{ MDY A"BdC?cMD{N$mVE^V쎚5`@8pM6r]%$X6rL!~[&#?kCLB"՛򹌟 DNu3vdUN}VM ܸFA^pMɓo֥\DׯY8=v(M{-б{A-W 蜢NQf[7*xK *@_w519P FXڲl*/E7Tݟ%fAjn2g\C-"v*'F-@dXTӉ7Yv 7/]g$,nn0//8&<|j.8`K>ꯝOzY4LjeTuXvhHu-?/ H7&^4r+tdGw׍p?Qnݡj49$?q2،ļl鏤X!SmJMܖo8|02B'WV+ZGf!5"/._TtϧY.#ڇpN 41YX3rTs$ w*풊vSJל!n&G 4wׇ}`)*'}0]q?AS8F̙=wDP-IsNGs5d|J–zjz}|;&zba=".5{09ˌA]0Sd33'!͉v5tDNSPoE! Jˣs9m%gՈnvԌVh`|<_d멀έka -t@3~"f+ZcpǏ@ }dw<J̄U=v"rWChPHJ<#ˉBw5dzxQYLKF&FMh*YZgӊn|ˆ3DK䕍}0&T^L_} g ȓ»4KS$:ؖ@$YGBX|DK/v+Z(T ~{1vdĆ,kVfhj ߐ'U@JmC*10ǩm, ްRP͋R=v$i{1w`H`ZZ[KU4,˰2d7R>wF_6t]q=3m-ϟ}MX\1CIWe#Z F-n/6;*MVJ{ {آ6/)u2QT3w٠Љ y{9eN/h(q>%Ҷ_Azv}<ҷ) ncMU]kXݿ@ l!E:}7~8,N`t>g&`X%-ts0^gXlMV zpe,v(h:KԍL8z(bYhTX0Z;4/B"apmi}t #OxK"*֢VJds^bnq 5Lj(@!qk`;W 9̐ ɸU-~(Y>֑rD+@ ͤ-b,ǔ*)X} I=vF4@ny ѿs=iKr(P)p^9-;v!]lOrMu<xb#Јho)k9ݭ@Z|hJے}:ʙEB&;܀t]aBB'!nPTnc:a٠ &x6]#O-tpp0wC,CWC75!.'FpʸXuS b7xHM܏;jqw4BScZڷG TR g|H&_]c~@ڋ Zb//$[(:2{Upfydhw1(!!Ip]1v=/s/5`7l_&Zc(ܷd;mH 3.yAόh,@bw0A!Z!'y}^7}g P"<+_>:Vpv))t;%&CrX؝ܮbQU\[iѿU+#/+Ʀ7{EEY xgp-i~I~^P'T=[Ȗg#`Kդ~?oK풧2}TޖGAc| .D|{N ?j.j\LQ;0!ch vQfTaBc[m~dEuS;XY&) Y CEq\ gh6ɬfW ˜ۈ zXw]d& 4p.rk$ɫ6,TմQaBj?(6O7Ќ6iTD-|ЃX!<vZ.&N\HI{v瞩>s4+r8 PQEQF`9g9v&: >.INn8R5e~5Py{꫙';t?.Iƀ_{3jWz{[7uP=ƜUO4 {X6b'ot6di#NF-@ st @"m:怍xư|{^Ek|as3TLURk*{t.wus֘λ'lD\ hMw"dXwi^S;̮- O*aKPm -5 PHtb5o9 - tgBQLLrRAM`ɘ\kDcbʧ=KN.Hr: {1Q]HAbS+u㫡"2m?.tIi]!y:+a9CuV1Iph!/~0Hq8y Ai yy/>'q 2LA sx^$9ׅS^ vNbCUdliƒkDRr>A܈ddyg|W`yIu03W U^ ~CTf]*ޱ*l. y"} [<`}- |@.Y)`yzT6H s)2\\ D3' w?.[M$t.$Tr{wp.-.3@b# [e4QY8b}X ПP-b ~ʋ^>B9 >tT[-ϑSA ydZ~ݬVzCC:ア(7qn?,4&Ij7=|{S^H ` +oB0Gp(; 3д/9B8X=n:{OTm%F-h\ӦxK4&StbtT05Xk %֨l}3J3#$66;p.nt%Z1P9CKE3[QlFmofwtcOTվt^)6㳔VM,m\y+\ܻ}E_f*DH6t2+X3uP]xU(a6du&W̯7+3T;̭!j:ȅ`thO Af Ye(Jf._M͌anb`K3rC, }"t*poz8[{w: DKԤ}%T^ 0e2V2[a d,"U1 *zl-lGG\rOb{kIJo4b%|4GYb0+ZA}CZ~+d3ըOY/.vaܜr% 1~%"8?>$UvZw}!9ź wl |ω]f$JJaWiP8ݴTFMm:U8jyUtm hpȉf lNxA@9βJ WyH;qɥY q 뤩Nd{t<ر%9U/@&퟽BØC J0Cks#t|_1(K 9"^[AXL)V=31 DwϬ+8E5A/Ma^dY$'nVKywEyX18i۰PJG ~v?BLsMAsK 1~9)6-L *.ok%zs S =ըu2+#> S]8$v(x Ќ I}7XU'\?8 gpR +g-N8,|_X88 Ff \slxkBEÃe!I3-;+[,[RZr N`t E佗ZLH1)Rhx# ϦI{U6OnYPP|[ CggL,-~ tf?'Ne p<@ S:32:2f"# .8puȹIHрi! R6Ot뉶N5"@Cƪۥ5}JUWXeNP/KY=-&z!w}{SܫOqx* h1`JR)&vLjg[bS;S|1Д][{ǶSlu FAe^]gTr=L"۬rԆc+ ܠi٩4srV=[7@=tGtC V&rn)|0uE@ )5y"5[%l8iV#^ .xίdXN#cw1\}V+=MydbhIz_$:]J7?2I[g)&9y񭬋q'գnEA65fdO`lŘNXG~KM3Q ^ #E]G445i"4fxk&禐mBDT2'ŒƩK;v-X8gEnQ_)L "#,ccCZr}ռCzvOI)UPsIJn'A4!c %$?yN=)Z8uʠ鹭@`:gԀ^N8 .deq7ّ|Owp>Jd 9$}v =j} +Z|Pov:::A? t&M &5.쩹DthTAܟ2a]"q[Ydy;,g-`O^ 3']ݯ lUxT}N"雺XFlLPPY WNj} !,d!AEV,NȟÇT q VU7O~gQd, |~U85{cϔ}AѴ}X% RPQcw|qUB4`v]YMǗN$dk]UP7[} JW3kg&#D,Wo}Pm#eǦ/b<[.CA:7SdE0>s=ux ˊ"c5 &Z 60Da|Ϳ$մc\&%4$X\cFD"`x&>Jg7|0)D_h0)z\Uepÿx5aПI3i;i9x$jSUA <[\K6,mC_I߂ m56e`O*ۀT {l)E:u7i`׬þO^EϤWTz/F]ЌBvR@8jeϋ#hMBE[qh[Ȓ/)kT4*ے̼8D5U& )R9%-WSf]yqϖ ۬=vъT$39hj)ic\tyDJ6&WJ z[/A/5&QB/|kZ~9@!"A,d˩}$kg8X@;b6cZsLyUƍBkUj͸a04+ `&v/bAsJB}S3O!g  Ss4,#&u!!; , 5J[}oH*a]fcr㮷KIIm୶@sFg]>,TAXW[ xZjFwzX%@z8&eȡY'˟ix fπuRz-y6 (Tl39WImLE2TY1%?s{%cckY% \1|c߸&ʿ¼ 5Y\J.,{* qCp8#q2!< `< å;^GߏpPp-_4pϯHۀL=ӥPvܼ̀5k93 RAs/-_Dq NZ8i |uTa@3kEX ė\r)cUkP{4`ո2VGeV?i#y!b^u?n?ѥdV3\k-n׽00&\[_"^% ս]dIZRqFH̗;Ge3|~u<٫Q6v5UČlbiJi|;e]|\b7);UJ+ϭ$p@3RZсD\HHo!^ yg-aԣ%ъ[7 vm'6ptv|)+¥_rt57N7D/Ԏ8?uXqS0=qO|*(Ao"z\7D%ZO= ys, @S[DW0ր| |Ì,i>|$#O":nڹ Φ%l B !!)h ;WLHѿYV!bn/NF#xOƍO*)Vkhy!} A%MWЬkk-P[H{8Q֓R\S~v6 $.8l#ߵik[>_ʼ}@]9MC5"X⓬7 Cy _kky8KG%Ukb(G/>Nۊ[SHʴSXk@ ̚q4\)TU7k|Oh+hvq+-=̬!W[>Woh1H{&dj*n),&(^܀P)S=fDU870J_UƋla)r8I|5 W`R '&+J$>b 9]h+@('оw/8·h7%Iͩ(+JJS1@m9> b S=Svi&Vxc/ =ȟDren˜I0%\U)&sIxt]WA{vmz="12D'G͇Tu멮d&9ci >ݤ~Y':R$Xm? ·AhfHv~RUpf8ۜ2,@H@M~5g/9Y%$' Z+=}^KaOs.$/uk<A#uS*%ZEΆˑss(J'WHjQD*~ &5Np&/417( F$e&Ry"֚@l붠vE|F({hNX1l'l9\GP45G<_g'!5g0,%MsFIBr~XH⋅[JC* Y`| _ òSPV'!'jtHˁy[,l<01eµ4(n^tsmx5ݲa:83I"rf9{Qx`,qF׊#CC MH:ܗKQeiZUVq$#Qr'^o2 dBt ZSvAU^IIʞ: h_dIgoRNыG"%Q9CJLzav9H1&4*ްMYx0enUéH[!ޓ[kbq}GupI*eZWĭz<=EfmFy{1/ eMt*\du_M,v1#qfzZ>ra  0Y3YiW%A@epr9g] '¹EtGrz} uML2ú6ݬyȼLR"Ѥ6T-a^ʏV a"(jh!?F\߱xKYi I&tmߦ5` u /Ȯ֞dS [.Ei rQ9] r:$JwZTf=93$SqT}K%"2604Iqrs77Z? 7(?Hx5B5 dhRP-0Lwo& R? YZ