libcryptsetup12-32bit-2.0.6-lp151.2.3.1<>,븉_`ɤ/=„/6=ŜB2'Mي|zMx춯M|]jLox.ăXhwPc=2.NݕUwUzM.KI}?J z[zޮOJCG{\kJ(R"2U,jR>>mOPŨSC @<yվN blFJwA_1cDgHZ!*-%£ GQe5H=}?aC ;i n^>>` ?_d * X $NT[lt x |   $,!!!( 89P:>\G\H\I\X\Y\\\]\^]b]c]d^le^qf^tl^vu^v^w_$x_,y_4____Clibcryptsetup12-32bit2.0.6lp151.2.3.1Set Up dm-crypt Based Encrypted Block Devicescryptsetup is used to conveniently set up dm-crypt based device-mapper targets. It allows to set up targets to read cryptoloop compatible volumes as well as LUKS formatted ones. The package additionally includes support for automatically setting up encrypted volumes at boot time via the config file /etc/crypttab._`ɤlamb11HlopenSUSE Leap 15.1openSUSESUSE-GPL-2.0-with-openssl-exception AND LGPL-2.0-or-laterhttp://bugs.opensuse.orgSystem/Librarieshttps://gitlab.com/cryptsetup/cryptsetup/linuxx86_64/sbin/ldconfigHl_`ɤ_`ɤ10afd327a2747fd38a9d591a54719b26f2c2808a513eb3745abeb4570cc16a93libcryptsetup.so.12.3.0rootrootrootrootcryptsetup-2.0.6-lp151.2.3.1.src.rpmlibcryptsetup.so.12libcryptsetup.so.12(CRYPTSETUP_2.0)libcryptsetup12-32bitlibcryptsetup12-32bit(x86-32)@@@@@@@@@@@@@@@@@@@@@@@@@@@@    /bin/shlibargon2.so.1libblkid.so.1libblkid.so.1(BLKID_2.15)libblkid.so.1(BLKID_2.17)libblkid.so.1(BLKID_2.21)libc.so.6libc.so.6(GLIBC_2.0)libc.so.6(GLIBC_2.1)libc.so.6(GLIBC_2.1.3)libc.so.6(GLIBC_2.15)libc.so.6(GLIBC_2.2)libc.so.6(GLIBC_2.25)libc.so.6(GLIBC_2.3)libc.so.6(GLIBC_2.3.3)libc.so.6(GLIBC_2.3.4)libc.so.6(GLIBC_2.4)libc.so.6(GLIBC_2.7)libc.so.6(GLIBC_2.8)libdevmapper.so.1.03libdevmapper.so.1.03(Base)libdevmapper.so.1.03(DM_1_02_97)libgcrypt.so.20libgcrypt.so.20(GCRYPT_1.6)libjson-c.so.3librt.so.1librt.so.1(GLIBC_2.2)libuuid.so.1libuuid.so.1(UUID_1.0)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.1]@[G[G[{Zp^@Zlnussel@suse.delnussel@suse.delnussel@suse.deastieger@suse.comarchie.cobbs@gmail.commpluskal@suse.commpluskal@suse.comalexander_naumov@opensuse.orgbenoit.monin@gmx.frtiwai@suse.deasterios.dramis@gmail.comcrrodriguez@opensuse.orgcrrodriguez@opensuse.orgmpluskal@suse.com- New version 2.0.6 (jsc#SLE-5911, bsc#1165580): Changes since version 2.0.5 ~~~~~~~~~~~~~~~~~~~~~~~~~~~ * Fix support of larger metadata areas in LUKS2 header. This release properly supports all specified metadata areas, as documented in LUKS2 format description (see docs/on-disk-format-luks2.pdf in archive). Currently, only default metadata area size is used (in format or convert). Later cryptsetup versions will allow increasing this metadata area size. * If AEAD (authenticated encryption) is used, cryptsetup now tries to check if the requested AEAD algorithm with specified key size is available in kernel crypto API. This change avoids formatting a device that cannot be later activated. For this function, the kernel must be compiled with the CONFIG_CRYPTO_USER_API_AEAD option enabled. Note that kernel user crypto API options (CONFIG_CRYPTO_USER_API and CONFIG_CRYPTO_USER_API_SKCIPHER) are already mandatory for LUKS2. * Fix setting of integrity no-journal flag. Now you can store this flag to metadata using --persistent option. * Fix cryptsetup-reencrypt to not keep temporary reencryption headers if interrupted during initial password prompt. * Adds early check to plain and LUKS2 formats to disallow device format if device size is not aligned to requested sector size. Previously it was possible, and the device was rejected to activate by kernel later. * Fix checking of hash algorithms availability for PBKDF early. Previously LUKS2 format allowed non-existent hash algorithm with invalid keyslot preventing the device from activation. * Allow Adiantum cipher construction (a non-authenticated length-preserving fast encryption scheme), so it can be used both for data encryption and keyslot encryption in LUKS1/2 devices. For benchmark, use: [#] cryptsetup benchmark -c xchacha12,aes-adiantum [#] cryptsetup benchmark -c xchacha20,aes-adiantum For LUKS format: [#] cryptsetup luksFormat -c xchacha20,aes-adiantum-plain64 -s 256 The support for Adiantum will be merged in Linux kernel 4.21. For more info see the paper https://eprint.iacr.org/2018/720.- Suggest hmac package (boo#1090768) - remove old upgrade hack for upgrades from 12.1 - New version 2.0.5 Changes since version 2.0.4 ~~~~~~~~~~~~~~~~~~~~~~~~~~~ * Wipe full header areas (including unused) during LUKS format. Since this version, the whole area up to the data offset is zeroed, and subsequently, all keyslots areas are wiped with random data. This ensures that no remaining old data remains in the LUKS header areas, but it could slow down format operation on some devices. Previously only first 4k (or 32k for LUKS2) and the used keyslot was overwritten in the format operation. * Several fixes to error messages that were unintentionally replaced in previous versions with a silent exit code. More descriptive error messages were added, including error messages if - a device is unusable (not a block device, no access, etc.), - a LUKS device is not detected, - LUKS header load code detects unsupported version, - a keyslot decryption fails (also happens in the cipher check), - converting an inactive keyslot. * Device activation fails if data area overlaps with LUKS header. * Code now uses explicit_bzero to wipe memory if available (instead of own implementation). * Additional VeraCrypt modes are now supported, including Camellia and Kuznyechik symmetric ciphers (and cipher chains) and Streebog hash function. These were introduced in a recent VeraCrypt upstream. Note that Kuznyechik requires out-of-tree kernel module and Streebog hash function is available only with the gcrypt cryptographic backend for now. * Fixes static build for integritysetup if the pwquality library is used. * Allows passphrase change for unbound keyslots. * Fixes removed keyslot number in verbose message for luksKillSlot, luksRemoveKey and erase command. * Adds blkid scan when attempting to open a plain device and warn the user about existing device signatures in a ciphertext device. * Remove LUKS header signature if luksFormat fails to add the first keyslot. * Remove O_SYNC from device open and use fsync() to speed up wipe operation considerably. * Create --master-key-file in luksDump and fail if the file already exists. * Fixes a bug when LUKS2 authenticated encryption with a detached header wiped the header device instead of dm-integrity data device area (causing unnecessary LUKS2 header auto recovery).- make parallell installable version for SLE12- New version 2.0.4 Changes since version 2.0.3 ~~~~~~~~~~~~~~~~~~~~~~~~~~~ * Use the libblkid (blockid) library to detect foreign signatures on a device before LUKS format and LUKS2 auto-recovery. This change fixes an unexpected recovery using the secondary LUKS2 header after a device was already overwritten with another format (filesystem or LVM physical volume). LUKS2 will not recreate a primary header if it detects a valid foreign signature. In this situation, a user must always use cryptsetup repair command for the recovery. Note that libcryptsetup and utilities are now linked to libblkid as a new dependence. To compile code without blockid support (strongly discouraged), use --disable-blkid configure switch. * Add prompt for format and repair actions in cryptsetup and integritysetup if foreign signatures are detected on the device through the blockid library. After the confirmation, all known signatures are then wiped as part of the format or repair procedure. * Print consistent verbose message about keyslot and token numbers. For keyslot actions: Key slot unlocked/created/removed. For token actions: Token created/removed. * Print error, if a non-existent token is tried to be removed. * Add support for LUKS2 token definition export and import. The token command now can export/import customized token JSON file directly from command line. See the man page for more details. * Add support for new dm-integrity superblock version 2. * Add an error message when nothing was read from a key file. * Update cryptsetup man pages, including --type option usage. * Add a snapshot of LUKS2 format specification to documentation and accordingly fix supported secondary header offsets. * Add bundled optimized Argon2 SSE (X86_64 platform) code. If the bundled Argon2 code is used and the new configure switch - -enable-internal-sse-argon2 option is present, and compiler flags support required optimization, the code will try to use optimized and faster variant. Always use the shared library (--enable-libargon2) if possible. This option was added because an enterprise distribution rejected to support the shared Argon2 library and native support in generic cryptographic libraries is not ready yet. * Fix compilation with crypto backend for LibreSSL >= 2.7.0. LibreSSL introduced OpenSSL 1.1.x API functions, so compatibility wrapper must be commented out. * Fix on-disk header size calculation for LUKS2 format if a specific data alignment is requested. Until now, the code used default size that could be wrong for converted devices. Changes since version 2.0.2 ~~~~~~~~~~~~~~~~~~~~~~~~~~~ * Expose interface to unbound LUKS2 keyslots. Unbound LUKS2 keyslot allows storing a key material that is independent of master volume key (it is not bound to encrypted data segment). * New API extensions for unbound keyslots (LUKS2 only) crypt_keyslot_get_key_size() and crypt_volume_key_get() These functions allow to get key and key size for unbound keyslots. * New enum value CRYPT_SLOT_UNBOUND for keyslot status (LUKS2 only). * Add --unbound keyslot option to the cryptsetup luksAddKey command. * Add crypt_get_active_integrity_failures() call to get integrity failure count for dm-integrity devices. * Add crypt_get_pbkdf_default() function to get per-type PBKDF default setting. * Add new flag to crypt_keyslot_add_by_key() to force update device volume key. This call is mainly intended for a wrapped key change. * Allow volume key store in a file with cryptsetup. The --dump-master-key together with --master-key-file allows cryptsetup to store the binary volume key to a file instead of standard output. * Add support detached header for cryptsetup-reencrypt command. * Fix VeraCrypt PIM handling - use proper iterations count formula for PBKDF2-SHA512 and PBKDF2-Whirlpool used in system volumes. * Fix cryptsetup tcryptDump for VeraCrypt PIM (support --veracrypt-pim). * Add --with-default-luks-format configure time option. (Option to override default LUKS format version.) * Fix LUKS version conversion for detached (and trimmed) LUKS headers. * Add luksConvertKey cryptsetup command that converts specific keyslot from one PBKDF to another. * Do not allow conversion to LUKS2 if LUKSMETA (external tool metadata) header is detected. * More cleanup and hardening of LUKS2 keyslot specific validation options. Add more checks for cipher validity before writing metadata on-disk. * Do not allow LUKS1 version downconversion if the header contains tokens. * Add "paes" family ciphers (AES wrapped key scheme for mainframes) to allowed ciphers. Specific wrapped ley configuration logic must be done by 3rd party tool, LUKS2 stores only keyslot material and allow activation of the device. * Add support for --check-at-most-once option (kernel 4.17) to veritysetup. This flag can be dangerous; if you can control underlying device (you can change its content after it was verified) it will no longer prevent reading tampered data and also it does not prevent silent data corruptions that appear after the block was once read. * Fix return code (EPERM instead of EINVAL) and retry count for bad passphrase on non-tty input. * Enable support for FEC decoding in veritysetup to check dm-verity devices with additional Reed-Solomon code in userspace (verify command). Changes since version 2.0.1 ~~~~~~~~~~~~~~~~~~~~~~~~~~~ * Fix a regression in early detection of inactive keyslot for luksKillSlot. It tried to ask for passphrase even for already erased keyslot. * Fix a regression in loopaesOpen processing for keyfile on standard input. Use of "-" argument was not working properly. * Add LUKS2 specific options for cryptsetup-reencrypt. Tokens and persistent flags are now transferred during reencryption; change of PBKDF keyslot parameters is now supported and allows to set precalculated values (no benchmarks). * Do not allow LUKS2 --persistent and --test-passphrase cryptsetup flags combination. Persistent flags are now stored only if the device was successfully activated with the specified flags. * Fix integritysetup format after recent Linux kernel changes that requires to setup key for HMAC in all cases. Previously integritysetup allowed HMAC with zero key that behaves like a plain hash. * Fix VeraCrypt PIM handling that modified internal iteration counts even for subsequent activations. The PIM count is no longer printed in debug log as it is sensitive information. Also, the code now skips legacy TrueCrypt algorithms if a PIM is specified (they cannot be used with PIM anyway). * PBKDF values cannot be set (even with force parameters) below hardcoded minimums. For PBKDF2 is it 1000 iterations, for Argon2 it is 4 iterations and 32 KiB of memory cost. * Introduce new crypt_token_is_assigned() API function for reporting the binding between token and keyslots. * Allow crypt_token_json_set() API function to create internal token types. Do not allow unknown fields in internal token objects. * Print message in cryptsetup that about was aborted if a user did not answer YES in a query.- update to 2.0.1: * To store volume key into kernel keyring, kernel 4.15 with dm-crypt 1.18.1 is required * Increase maximum allowed PBKDF memory-cost limit to 4 GiB * Use /run/cryptsetup as default for cryptsetup locking dir * Introduce new 64-bit byte-offset *keyfile_device_offset functions. * New set of fucntions that allows 64-bit offsets even on 32bit systems are now availeble: - crypt_resume_by_keyfile_device_offset - crypt_keyslot_add_by_keyfile_device_offset - crypt_activate_by_keyfile_device_offset - crypt_keyfile_device_read The new functions have added the _device_ in name. Old functions are just internal wrappers around these. * Also cryptsetup --keyfile-offset and --new-keyfile-offset now allows 64-bit offsets as parameters. * Add error hint for wrongly formatted cipher strings in LUKS1 and properly fail in luksFormat if cipher format is missing required IV.- Update to version 2.0.0: * Add support for new on-disk LUKS2 format * Enable to use system libargon2 instead of bundled version * Install tmpfiles.d configuration for LUKS2 locking directory * New command integritysetup: support for the new dm-integrity kernel target * Support for larger sector sizes for crypt devices * Miscellaneous fixes and improvements- Update to version 1.7.5: * Fixes to luksFormat to properly support recent kernel running in FIPS mode (bsc#1031998). * Fixes accesses to unaligned hidden legacy TrueCrypt header. * Fixes to optional dracut ramdisk scripts for offline re-encryption on initial boot.- Update to version 1.7.4: * Allow to specify LUKS1 hash algorithm in Python luksFormat wrapper. * Use LUKS1 compiled-in defaults also in Python wrapper. * OpenSSL backend: Fix OpenSSL 1.1.0 support without backward compatible API. * OpenSSL backend: Fix LibreSSL compatibility. * Check for data device and hash device area overlap in veritysetup. * Fix a possible race while allocating a free loop device. * Fix possible file descriptor leaks if libcryptsetup is run from a forked process. * Fix missing same_cpu_crypt flag in status command. * Various updates to FAQ and man pages. - Changes for version 1.7.3: * Fix device access to hash offsets located beyond the 2GB device boundary in veritysetup. * Set configured (compile-time) default iteration time for devices created directly through libcryptsetup * Fix PBKDF2 benchmark to not double iteration count for specific corner case. * Verify passphrase in cryptsetup-reencrypt when encrypting a new drive. * OpenSSL backend: fix memory leak if hash context was repeatedly reused. * OpenSSL backend: add support for OpenSSL 1.1.0. * Fix several minor spelling errors. * Properly check maximal buffer size when parsing UUID from /dev/disk/.- Update to version 1.7.2: * Update LUKS documentation format. Clarify fixed sector size and keyslots alignment. * Support activation options for error handling modes in Linux kernel dm-verity module: - -ignore-corruption - dm-verity just logs detected corruption - -restart-on-corruption - dm-verity restarts the kernel if corruption is detected If the options above are not specified, default behavior for dm-verity remains. Default is that I/O operation fails with I/O error if corrupted block is detected. - -ignore-zero-blocks - Instructs dm-verity to not verify blocks that are expected to contain zeroes and always return zeroes directly instead. NOTE that these options could have security or functional impacts, do not use them without assessing the risks! * Fix help text for cipher benchmark specification (mention --cipher option). * Fix off-by-one error in maximum keyfile size. Allow keyfiles up to compiled-in default and not that value minus one. * Support resume of interrupted decryption in cryptsetup-reencrypt utility. To resume decryption, LUKS device UUID (--uuid option) option must be used. * Do not use direct-io for LUKS header with unaligned keyslots. Such headers were used only by the first cryptsetup-luks-1.0.0 release (2005). * Fix device block size detection to properly work on particular file-based containers over underlying devices with 4k sectors. - Update to version 1.7.1: * Code now uses kernel crypto API backend according to new changes introduced in mainline kernel While mainline kernel should contain backward compatible changes, some stable series kernels do not contain fully backported compatibility patches. Without these patches most of cryptsetup operations (like unlocking device) fail. This change in cryptsetup ensures that all operations using kernel crypto API works even on these kernels. * The cryptsetup-reencrypt utility now properly detects removal of underlying link to block device and does not remove ongoing re-encryption log. This allows proper recovery (resume) of reencrypt operation later. NOTE: Never use /dev/disk/by-uuid/ path for reencryption utility, this link disappears once the device metadata is temporarily removed from device. * Cryptsetup now allows special "-" (standard input) keyfile handling even for TCRYPT (TrueCrypt and VeraCrypt compatible) devices. * Cryptsetup now fails if there are more keyfiles specified for non-TCRYPT device. * The luksKillSlot command now does not suppress provided password in batch mode (if password is wrong slot is not destroyed). Note that not providing password in batch mode means that keyslot is destroyed unconditionally.- update to 1.7.0: * The cryptsetup 1.7 release changes defaults for LUKS, there are no API changes. * Default hash function is now SHA256 (used in key derivation function and anti-forensic splitter). * Default iteration time for PBKDF2 is now 2 seconds. * Fix PBKDF2 iteration benchmark for longer key sizes. * Remove experimental warning for reencrypt tool. * Add optional libpasswdqc support for new LUKS passwords. * Update FAQ document.- Fix missing dependency on coreutils for initrd macros (boo#958562) - Call missing initrd macro at postun (boo#958562)- Update to 1.6.8 * If the null cipher (no encryption) is used, allow only empty password for LUKS. (Previously cryptsetup accepted any password in this case.) The null cipher can be used only for testing and it is used temporarily during offline encrypting not yet encrypted device (cryptsetup-reencrypt tool). Accepting only empty password prevents situation when someone adds another LUKS device using the same UUID (UUID of existing LUKS device) with faked header containing null cipher. This could force user to use different LUKS device (with no encryption) without noticing. (IOW it prevents situation when attacker intentionally forces user to boot into different system just by LUKS header manipulation.) Properly configured systems should have an additional integrity protection in place here (LUKS here provides only confidentiality) but it is better to not allow this situation in the first place. (For more info see QubesOS Security Bulletin QSB-019-2015.) * Properly support stdin "-" handling for luksAddKey for both new and old keyfile parameters. * If encrypted device is file-backed (it uses underlying loop device), cryptsetup resize will try to resize underlying loop device as well. (It can be used to grow up file-backed device in one step.) * Cryptsetup now allows to use empty password through stdin pipe. (Intended only for testing in scripts.)- Enable verbose build log.- regenerate the initrd if cryptsetup tool changes (wanted by 90crypt dracut module)- Update to 1.6.7 * Cryptsetup TCRYPT mode now supports VeraCrypt devices (TrueCrypt extension) * Support keyfile-offset and keyfile-size options even for plain volumes. * Support keyfile option for luksAddKey if the master key is specified. * For historic reasons, hashing in the plain mode is not used if keyfile is specified (with exception of --key-file=-). Print a warning if these parameters are ignored. * Support permanent device decryption for cryptsetup-reencrypt. To remove LUKS encryption from a device, you can now use - -decrypt option. * Allow to use --header option in all LUKS commands. The - -header always takes precedence over positional device argument. * Allow luksSuspend without need to specify a detached header. * Detect if O_DIRECT is usable on a device allocation. There are some strange storage stack configurations which wrongly allows to open devices with direct-io but fails on all IO operations later. * Add low-level performance options tuning for dmcrypt (for Linux 4.0 and later). * Get rid of libfipscheck library. (Note that this option was used only for Red Hat and derived distributions.) With recent FIPS changes we do not need to link to this FIPS monster anymore. Also drop some no longer needed FIPS mode checks. * Many fixes and clarifications to man pages. * Prevent compiler to optimize-out zeroing of buffers for on-stack variables. * Fix a crash if non-GNU strerror_r is used./bin/sh2.0.6-lp151.2.3.12.0.6-lp151.2.3.1libcryptsetup.so.12libcryptsetup.so.12.3.0/usr/lib/-fomit-frame-pointer -fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.opensuse.org/openSUSE:Maintenance:14036/openSUSE_Leap_15.1_Update/8245005994a8e0e5519df3a35f039318-cryptsetup.openSUSE_Leap_15.1_Updatedrpmxz5x86_64-suse-linuxELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, BuildID[sha1]=f024f3b5feb17797958641ff06345a27260eca39, strippedPPRRRRRRRRR RRRR R R RRRR RRRRRRRRRutf-85b17921c2d985da6d810e0c60e36af80b41f23a8fea216d7c00a159433f78f4a? 7zXZ !t/ib]"k%۫- JF|l&OQRi$fQ%`QRZ rZ36jH"cXD[5o௻qMud26WC>Y!\+fnEh.P.a ufQQ* 󖀣wg*Ӊ5ȬAr d}3ݵE|K[ Zx=V4܈U6E3kd1(YN8WG'aJƫ`Z!Uw,FHQO r̙ ֖hci]q>֑h^^6##;åq⓯!O8Jmx۳c^hWBCgJX7Z),J %D@}č0*6襤%p,l3ot>^ֿL2R(Դ+5?$濟?NfpWP D]\x?y3Py ϹI0;ֆ2=%+#)Ԣ@밍Ż'e7,=ɉ(-(o"ye|m;n"զ+[\VM _s3r(`@ѐ#VnY>)sխ)/^ٺ<}1w/?*,Ձ'0x4KuPp3 545>М/dM! ?D{{Jp>ξ%'{Zs;RF-dwuC󍏙e'8yP+#W0lP6lmq0 >kӻܑK _6 mQ#XP}.Lۈ \" t[Y*6]/}K/ ])z?KIkk@KoP@x_.Cd钷$ ]H%J)/?59a'1$f˰P ʠIVMHp%ȓB og( -qgVfjKd+__!` o..EF;[ /4Q=ԭ3>GY}x)[w3;p9/"uFQ*Y K%&?d>JIr.5בZ`tXy{f]y $Y~ rnӾZ&drפw -h Ux`ƨ7mT vs )ECr!?$?׸vX˝&% N"u7|þ~_ebX N%8E#\h}ݜ#Mj:{hNLe5,u eoc<2Ö9]P[d)j @|ry^z8 xGv\ I]:ҕpKѭuԹ)?9p'=K-LehXb[ j2GIm .r_1q !;e4Pj-f4{Zf(W͈Č /RrBθFVsx&u<_|{e| NLw hHZv{r'Y,D{|8>+o`X$[ ɴڑЫ?BJ,QipLvIQavHc(dw&GDB S;WeW'H`LjFrP xiEUcW.z' 4}*G#C fWqؠ.R7(:m#]9Aܞ }KҋݺAy $fI 'e+~߬&Oٍh7qsָu8惍!YX^)F}!9doAE.XIn,:!*hMON~=WJklXECdc^4oqy-*-Sfîcd(s'?) *ZjJלzkT "G8GZZ,k+L 1l},[ &Ha?Ϲu_8Q & zܖm^0`5)x[K*I <G7$2Lg۷_t),3eMz?.@41 ծ)Ku,}I\- dw׿5$7[<[!P.%"PJ@tAAn)يo0|.*#{ni ԧ<`3qPo*TrI}~m$Z@O*/ZHc=[پ/@P[,/T'QF2UBmeI52؂lQ$6u?C){[jWuR5X +އw֢yU9@ZExDGl^aF$y;`GxA{N^6.iyaJxO4 kʋRO֋N*j^G5IJu9?G~!>e]Σhe8|"18-v :Eױ22LLvϜwKO}YSNBs]te٨8/J ͌Zax_VcI$w &zz``€k<\3ᵭcEk2ŏ9h>IRzKq뱊,%&Azء؎ =ugClqIV ^0F,U}[ D*&}Zciv\es::K½g Nlp1lu3S`Ԥ&:$UycJ@Y$,zUv+g0CΠ&d9kAKW*qH Z7 Ek-gg%Z쐐MX *=N]s-#,e?*TE(Ni&|ޜNd jgc\u4L߯P/iT `_9G?-Odչհwm݅Ub&pcVHۺ'C9+dw@:qB.E)+$\c tY>g!BTPYNq^)etSmF u7Y@C_Dn:Z֙yO|bG&=i1(?sg߼؝Ҿdސ-o#HeK {"m ǩSlmN a3c"2Ib|Ӓ6."ǿjշ^lq(z$#԰\58S!i9K.TϜ,|(ә}ս@Sno|/!`ja YtbWL%"; 1'BM5 cIº,*Yܪ@ '?T&TY~]53  #U}Ē">C ?yA.ɷU"< z ؒH 9]X|&+ LlAwW\mHK &SV-U[-#V,~΢tw-yDڠL7@91> |>7eiڳ):Olb_T$XkKnu)ɲ`dI[:ajDR z JV.yt35,r2ଃG1];WG寜t!R1#/='Mv. Ȇ,gHeJ}!}߁Hdґc5ED6^ Vik3o?#jRSOw :.%&!dTZ0 'c)6odEQ׻uM×qxo\u1O|V3-@LrӢ_> XM1]Y\w7$u}}^.SLBg׈gY0Ula9\^ })}kZXsi>t#6_HF2D+"RRT%|0CT3W0DZ6"W)$gS4)zμDnn#!IxJNƘ{A" xxilx~3ryt;v!a'S\:)ow" sab<V+#nK^! 2VƂ!+,j&ɷ Z%&ENS8;sCs "gx"X~"|89 lvX¶?}Ux&58~y\XT WYIY"Qhp5ko'=_)}鏎 u)@ ;aF_fG.T '}&Mh1eoIۄt7kщВŶCI$y`U #GӉ$S |Bђ܊`ICj fl)&wá+hy*~ ՄU9f؜ _qdX(i}/;`^M]eµLG]ܿ@+B&VQ|_Xa e.FPXm*͌"D<+:[(ՓR> Ӱ/GRHvɫ`LI>fvQ 5mv%eÜN0Vve*׾I}"vp["yX=7WiuyoWoW$*~0i.{vM{r75{W{y @]R/!J2^.$ .x~="[BSiCIH0doy rh߇6缮׫M=)iaRu%[&4fuۦ-TfOl/ bCy +7` |!)+E3jH3(c!ʧyyK~8%%oisg O]!\AwVUEu5yWT 3rl+on&B@{8Z($~fd n &` ӈV69ߒ77Aγ'?b!'W(@/ \s,;Lw}j6:MhpK|> ?ŝskf<S?+3գho?h㐵{G5-e.Gnvn,L"u.>I~˞;?'ڢguMBs#r<>fWT(Y`|~冷W&utd:J\5& OߡX2p U[`O)׵ &xH5٠䝆3]JA`f 1Ĭ^R`٪a2qT (1s B_e?lSD:PI(;JaV >|)U{@VBPgKd CdHgY24 7Et^e|9֐`NX*Q3Ƿ|;t,)+g((mJ9ȆY^k͸O:}ň(͌qqBL$Lsm&ݞ.doaX2uo@ uD-@o:G1j~ap>%1)Tu0W#1y 1%)e*ɿD):8"xϏj#ރTcRFK6HS~W{7.bsg!%_i;D#W}~0̼DŽ48פg_dLyɟwoa,ld^yb bV6{%G1;|Ip`G V:pCj <dk9bz/:"$ABunp|exb@^-'zA1I x` debsԏ ñ!`y(I^vbaL_ogbʼYzT;oN/4!`Ձ4:VH:a+ L+=.YW/CIgSAi/+%mypN1r]X4m*=g-C<~L( BJ-R Xu*!V W9q#,[jSqWv Uy[U $-Ǣ5A;tYޥɨ!w&@tAn gq"`[Cff m[)6N*nLgQJsnuڪ 4KE 켱^s_j1#22%ܠfO#zU Vu|8Y$ 7\6H: X ]zrf M[=;zHfSs(S 2%߰Kψ1X1먦%w W B%'y$Sx843O{|;03q"F@! T:/gXxW&Aq&-d!]9kvx 3ݬq_[ٵ}ށA] [#ZKN'e Dk`Bsi >ՂKt}6(-_>dܪ|"fc\uBOҼ_}8`u nqi\T] 1&,IφanZT#P,te.b0猌.ǯ'21IɡkGˠ;gPBN&[= rRb$X['h |mqל'f9hr| K6K:}\jrH|)+/`VRG"UӹKr=0cjm!d7!iesD{Ud -c?#n{;7f@FhCeo-do! ibpˇ{ߋ"((1ɄE BfOzX}zUjz$zpxK7x4=UuH!3Wdـ )*q9ʏn2'>?kxGA ձRtHjEud&vT7ڀ%Tz|ƟU;u{+]>WnEhZm0CfB&z}T^Rk@`,땵ყC\h|ǮTGPx/uq_nHUy6A |Ø٨ [gyw`AM9(mF?8xD"i{&ghM V scgxUQ*X6Vx>ɒ|0Gvnt[X *'wǻ _w-ぬ&ġQAXLHk^ e?Ьء;Ioe_Q-'XyfM9TlDaF5 =iH gԪ kh\j5%1zQ3R&X%tEh-Iuޓ9#9&e-h}!v".OkGes%CQopae.MNͨ} ZKa\g$G"7"?,}9`!>P~'Lm6"_֣OCSdbq@vFzSV^>q\d%_[UqJqoKyʕP~NbRLBÆpW){"hC4D !$+Jk1V`$.Ƀv݆楢dK$)q^+_ŜRw[[7LyrݿiysɚkUtT SN/5hbI4 %wyAĜ¨' yĉ"BBj尡@tsȷtO#V5-9Ƥ.IR,TAgb(YfQ,Mxv?Fg$6 Rs7 S>}u% TvjS۶wbx R62@4uȹ2ɨb#y0 =>IJW7HQZF矎y39WȹIe]C4kv וU Wm骕\X"W2"WuzPN/'\V;E\'Sbg\j / 3w%Ei֯C:Ȅ$-jMkvmEq'nƶE d`S3.Ʋh G(]˵KZ<`ZR<яJS\|۬rf?p!T՟_Ƙ" OX; z?H3&cE+385ae^YUG?WDh8F_‰ bSKSl󯀓xo=9`5=/x8&his*@c GM4D;y›oN).;#oJʱAyשdl ۶Kw7`a9ni4A<--نC^YU=N++Ge,@ )nCφ]gV){":m|%%wW"w}FM$Gs]Q˥=7iAe|(?lFV+jj wяI 4PNw84Pdt{]'WՇ&M@G0In>E/ 0Ḫ#f0ljׄheSG;=Y"!Դ/>S79-=PXJi&qL,c |UR_X׃]ohϾ[7~{xY_{gXpы0Kj už0Cxzu>I8U(4K̙+-9Η~|3XOy1 B jc%ʝྊZji%pa綨9Y缘V ?^zwտk翔 :yct >"]CZi]ri#R(eE+TE_E܊DXr^M, 抃f(a4ى-+];N)?,t/c(qN3wjˆcŢ*$߿p&ܹ y<@?E?>2x!:e徃)i]BO՟hi3ǜE变5Tv@Q9h ?'nftjrg<=ݳSdRJ<˛GB 3>BÑp ^_;=\? DgdMr,^;͛o '1`c$3Eű+"r&͉o܏ qΤ]FfșTk`5rwt֬+4F4LJʇ,$"W~ᢣ\q:;`0<ڢyL޷d#{&MJ/g~9QzRzeB..s%ìPׂf;w]}itHeն\U{|=/p/C{)Ue>n^Ʉ -{,dspN[;F|8?AB_>GA[󈞀Q(2uH&=ޘ<[ی]`{::Z,OP )r_'Z:h $)%ޝ t16Y5}푈SV4VIq^ -#FQ񬟝r/2B'gp5 MI3HnsJ0EKC<ԗLbRvQi5WٖyWx=6[z##g[eoMG֗2şHje|};ԶgmXt+1*;Ca_~Lx^ʡ1g"Ɍ3?4a5[ Ȭl3c;W"4 Ue˶qf@znĶAO$$["UT FQ wHӂeGcgnx>`*ЕL*^,@r 7 d|C'%D@ueˈ| E*qz諭'p-\b92,F_&%IrNd7M5f3U-蕻'׵ uws|k mm,P9kWx(iy?utas E(EHI6&6?TAVlD*a`' p@m!v^`0Dp$/ò!/in!|cߝe!hAA\λ<(̘l r*,Kt}=m }e!a.XחYo!K%.`zCK< #&66apPwb!9ǂ! CvBЦ qB 2+;h-@ji/tVH^ĝei춼Tb{Z [!WcbI d,|_i`7IDm}fGy~.JFynyu-t!sf tƾR =~pIr,٤]2r:ˮ%jP1C`h_>cKF|BRy[ exTzU]F) "x*Z ;\72ՓP1 =tp;=!T~ҏ'ulsNUF]Ǽ92˗>_ W f0\s"AqYI4+XnzJDJZx`ٛѦ4ueҿ#%<ڙ};ҷ`*z]5:w`LO>XZ{h/g>QkukjHD ߂:|#ЍLXӪI V.,c>wWt9^Y34}K7W ktV@qd<4<矧\J t%fx\;\NoEsjk3 ( qHc'-]i"*E=ZJN9D#ӛ(Fׅۿ+8=MQUSv -6B"u p3}+T U4U%[R/l%mu^Upk,Pa7HA0K5{'g[+/ Auρ)/N@> "[ QU|\$׽r~CL6q?|m6euTL\b& =N/#G>yL͔g͵1Y͘9 y'C(ӯGA 5㺇H T(1\Q8C~a&Y)!x^9cTXZ9*mPvo-8NbiQl2AGs^z`iKP)OlWYNC`tZi߀.8 d*BxNyA =LNCU M"կo!-."ROpq"N-Y(<ѫ7%3 cpXS`֔B,FVE/ѽUTULY}jZsSWИFѳ3 ߏ94DCWZ/9md%(zzm~l!Q6nuH83wͪJ^ `7p$!5$y7,tn䈻ݟ8dɺuK9y;Yy Xwƺ@+$;7Jyp$'!?npk좹|[).p}7Z>TLFD8ۥ \fK 5f;pl -ņv}n %۝7aHe^E}(-\Y /*T|(a`-],1qo|oԭÐu2N8`haGTH<|0K?lq՘/sW \nc^K؀O]-Us(D0v~ex~+` z$'jWsr +9 yqo|4C>_'1W! V(R#D$KZHDe&3 pM+=S!o'UL+yK6(Eģżjq=@@lL5~ eVdd]గ},;J-`\ J,ˢtp,j#A6?J(mh}I\b8Yu)6W]P M޵[t+#VɦаLj˲/WE#~ozkiʣ,1ZM§ˠ|+&M@7keNJU@œIPbCGa&9A;_%䛖zSyWLc%If3KR,!־߷+qozfy.>uv=?t)N77mc`߹L+8hٻa[6].d*k`Kai-P6[iJ{QTUQ`61i?0;E %M -Џ%6!V%b+j$&A_t Mޑ<݃JugP+a2T"@Ds0X jB U;){t\sͩ7ZH dx l#D`jЙARPO/QAFL?bry\gn;,E/?6F0URMF2%GHJkJ(6:y4/[J>CA{xE*6\5 TA.Wwt8k&~!Tl0Zw'UJb=UwWx}J. ]I5>JƘn+e^D""OarƘ?rj/ωm.[wnI )6|SNӠcݦV=Yie6uu}@O$u [*RY0ă&ligf^Mp0Mg&moR?>'HՋZ&;~JtmiS"~\t9.{Ԑ~P1䒥WE[ʞY Ǥ,5kezs{yd;(sɋWw2ۢۼ T!jެ@2vv*/\xs_m"6otLar4R ->CawJLu|D+מ#(n)KYBwg(Ϯ6]'~#bE亀a@G$:636 +=pl@pgN!/6?.50%~}&Yǻ  }ku-9O"{Cg5&pÉPtl MxAM`F&E &'b{IЭÃcľ ߖh KG8"FKQ,ٝ*S˵6uEg"^Up2 oɨ|S)%.F" -jX5Rl_TX3$@Z- Gbq~IDhμk֥_:z?}? S,Wj Y[%~Лb9[ zHPaTD2ټ)>pY5sX]RD/~C!PRx1+ɓfw3k VPH3KR[Zgvg (ϫ~xN3S&syѧ8h=_*tvbPnL'I}Y4vVlP8Dޗ'0#-_SE3vOG+sRD/WKb/m |kqx)B&Sd.юbu̱Af<Lbta9)ޓn̄aXA:blo;V; M-sD'jb>'aQ:;eg- m)3e9#Gٶ4Nĥ@Wgc cgsAnQe7AA BOڗ3$?#YގC Χ{zct: J!ʁ}ڜLխҠQk5h, 3#WLOFe$0iTic1(@ eNj~[ q7PkFbZcJlrd:Zx7;vyX]g)(gy~Tj&^:/y右vgR^*[gPXcC'OߟƀӦUXsi?!:B׼μ *װ &5u-cc">d]>/=[ g{|0s8` C$wDlg?Fd}]{_fJ'4DOcw; R:";5$wE{]ژӺ[ד+Wh.^erZ"`<ӣHN`:Iyz@f]ޗ-bt5U~^1N_*~[bL< /8#lK#qZN.e9uG7rR-11ax5)/f*ePRڊ;8 \(kZSá+b şbɦ;(3۹+߭/ tl^Er [o2A{F JjBJwMG:Mz{@<{{#hSDk#=WllOP+˥&bJyhq&.xS 0ڬ{?}̃`Ͷ =yi'1h?oZ>)^uV6-wC:eAqt},$*\[H?xkҏ> -e1J] +H'9(.si&`%w^[k"6F2)ir5BUo:yGQŠ,vʮ]&X5@'FQM:ZC{n9c#%w~c].,KU8 Lک'M$;K X U[ZKd/I|jI'I~uEGU8l'i{ s߾M% "KGN1ihGhX+(RY]ډ/Ex#;FA.TGoTaFT@/p)p5_K!iN+ p[3W*V?cXdoJ>ո39_fMZ~K}t 1b4fs^%6,>!7VbT@Q#{RLb]P6+#v̿n\\2cBJ&@Cf˦*wD\jڑ{jx  ֔ o>@Kx,n*6Y IeDYq:Ojx%u|+c*ޘΧU/ieaB<[iܷY5n!(?c:f̛ 79grB,SZc0Rɩ]ַ,*hڶX6W'UU@pfXytKoJf@$AjVM/GylR 06CYD>ĿU']T"Fﻵ>d[;q#=ZuL {e6,vok1~mXѶ~n*'xvtB̫zjXéyvvh=zc/Z<L1(@aB8'aT))n?B$"ە\it\bk 㧀#I!wI]RD!I2oVg?&NOl 4+ Ǭ=W Tf2 B N2@+eX71ҋo,Y3JO2DȊ EE@C~H6'O% H)12 #Soמ#2#LҼ rVή2Y0r] Qj&IDU>ІL2M⭘7?Zp,VYٚ`}܇z4qꎹ1B>?Nq1^Ԝ}>RŝӥXqՃj?ETiD]/!H ^m i(V NbT`@e,9Q'_iLa{:Iw|Q Vt~5Л3xWG]Roɩ]L 1ğz'y,^4c^R1b>RE +#dPh~굶{s7>uoF`Ezwn5v끠=A۟:%jw'T9 ]~/8^7B~hIQCnnDu3 2qпH~vld4[&x!yaS6ߓ?D -ظy^&AYR'p}MT*$_fowH^3/7y7@Bc#,i n= JKKnۍ_tv5\1_t$g&|IBEbghlU>f]:T_ i-bLZ3H&,u+(i L`U O?ȀgsH&x@?3ޠn<,҆x6jFս~dDŬf+ӽD uVZ>!K[‡{W /p\NIBԤk1O"gD0?D\7fV+W(s9Br[,&UYaP* & [tq(la|:_X%9}K@2z/Y$ju7exUUp+k4e`qQZ`̞' h$z5>m`o5G8, mȄB O `y aS"?zQʳEV/$wn| ezDhLw9Fv6S[8[~k^-ף~ lU_5zŦq2il^ޕjsyo2q"^cK w_Fr{t-^̡#ţfM$|1^@*ԮkD$_*BRMt9J;n;.:e`4d ׁ`d ;OIXKFk 3.h<8HsS0ThE2Th9҆sR[wR_%ܧ켣HF&vMR 1*!̛DҊ5 A,g[~xg~Ǜ #R[-S*[]|tXIc:bB׫;dRmzDvy]aIgp ؟jCzJY;1\$_P蝆rt vE,*#@A`38ڴ\޸0C~(yλ6 -IOj)&_d[;QG'U%nGbi -]u{\G `&BW6ժo"ZGE2t"S X6 sU4\Mob :jm,.+K漛 iXe5'JؖB笡q}PUg^<'!ٚtsf{Q6%P@d  7G@J{*A̒y N琩3\:wkgc[˭Y }r)]8/RKp'i<ߎ~R׶mָu)J|ㇽU09 󌔏]6 Ҋ*CU3qoӁe Rb\Ρϑ@IQґ Gc}_R!Xh:*u V.%M;T:Lz}'n1sCOMmN# e]J;tl8E~FP$/_wqZ ?ѳC 6n/2Cs FnGuaJ}®9Tz.CSu9GcpCrLU _ֲBYlѝ+i{KJXtdc&IdjEZ(es 0=nORW_t")e !;_MZۍ1qHIZGpĝǴB,DžZ`Ha4K6D QϺmG]F~ #CxR?+ʎd#$e@H|Yb)]bilglcqJ&t'sژ$tTpPv)fx6!f{/% jrXuP1;)hxX6W=櫊17Fs)`ϨDbAlO2'h؛[ WD 6oqK4L7+ThqӕveC)ߢLKP̽"f^یmn {$U}-(ב]v&>񘁫퇘P=#^vuuN"qa-6qY Umll+H]篁R rm~Rm2@([jbG1uvRQST X ʭk68H|6aRr|\ZI|n`M $/D/?W]a)@I{x"U 'z2y%Os:ï~;eL) ;DwI0mlMo I++?@ǏHotMNtRtϳXiPpx#6A?~!S98xf:#hpn\2*!qY(:3pQ/Φl*3j-[n' OY&W'sZNRB)aQ~ˁO>yzFz8=>ʛA208M^ajuR :u{&ʨ*$[("%G9LT o@Q# eGM}/XT`uqfʸ~O f(|,8)]ŀ {E Mefs{ns,ù^p!)yv}QaN7NXq\:q\CW`oßf 45ns3Zo`=6=-"FHa0д[dB7uB|DS*>'{Vo4IcIh !CB(FN}s4[Ou>_OOї .qT^βsSZD;.-{ eDmۨ WxjOgKl?FA۬J0OUˠc sɤo$S1p[ l5H<_L (#3YL *?(؉[_x*p<GGQzh4l w=wsWV?A<&b0+:~gVʉi.όaܟ`e zWi{0fh.F۪l s2PȽAD-w}ъ^L}nKd$m4s&Vc;/1[I-EG$& (dKo|4KzmiuQ8A V\ W!@¾$JtsB]tM~eL=R[ N{Sא KNPygWMeb=r{ P%{N8L&g+O a~oubAg֍KMU GsavTKVO YqjuΝn6Ibl_Og' mnݐ 7Qd<-E${~yКoh{I]AS]iJJ&mcyi$P0(F0*:GsiCaz5xI>M(EڧyǃTv4@ pGR8|`hz-"@j(mV7g?n:8^ጟCONnSwEjSV szCl<AN?qèsmǎd2s<]u/j*rա PѠǞ#uL=K`Ls@ QI$șR=[s{2GA#J\ż-4XqKbG,6BWpD}dTo f36E9|W-k_I|T#k5y >×3oSqF{7O-΄#|,02y&jfMԒgQ Zq>*$u5_#3chn, \-$z|rTM@iz{p7< V_F41G| Xym://PR`H[gvE=Ckn,r5 Xf̙Wtڻ1uOVNڨOAPa'?l AJ jdK̫Cѿ1" gFT}SO Hk 9T`91'fa-`(+Kek{d(p=3O(3c}iUrփG6*%xf?NLn]#7avSj|= ~(1a_~SΛ׬OQG}؈z[Dس՜!>~Uoq:8,&-qL+傌6p@ĂWyHX+ܛ2W4"׏뒏R(+ﵰT)@Z @u`:o`[֮ + 0QU@瘧 Ŝ^:<"e"I 9*Ʃ&F<,EѨ*e5-n"1ߴDsE%p5aE'ޤ'iDN-d2DmY( j|pK bV;YehŸT;vNW*2!bNXteX c@5yuGl&czdQB," ͹?A옋̄c0/i3%~z#&)g69h|bs@q)ƋXGsavE7Yv0}CV9&Pzwyrb%;*7pb&^㟹넮ZQ ]'Q36 4d?=a硿zȭ;¯NT#ŏINt{o |Kg.ͳ% xv Gv{]!jt_P:9vTW,5ϯ_%d 3>hpqY8UMˡi abqѣT~랒7 T J;G9vg 8+˺buh% rM_Y+׿RG6҃3ZV/W >yA@2j6"Pmo>9 @oZbucwȆ0rN8ܲ6d'aU^cnߝ,*S 43HFHGm5 {|Ik14"WZ$ʰf #s`;Dgᆵy24bNA>tF~wݏwo0 W㻵5d(S`ũK}#U6J7J+Rv2cLHn>rmajk=H-d:xHdk});I PBcsbERKd<.Enuk2ox篭DY!Q'?NC| LJ%f1z#kv:Z9*c7 cw]M|B5 b Yqf M )VU:)#&sЉM\%9O*$h8WO>hO?ީNq}ގՄqWDgǵdmĒ PZY")=tD]xkb9 PgyJx R@p]^^ޠ])jͭnFF@C =mQ&}OeVpÓ`'3*-K .vCN=4/-aX=Lcl`g!7]UhL6{վ'3LkCDQR7[`hhUdB9nMV( |p˩(L:18<₞ޞct7E]. ݨ,*eX0Dl'C+ -;'0省n"/UDANhR2CK*&K?sp5THkT%Yv4C!h0X`} pcwbo>܏f $j_1w1vY tO 8Qb_qK 8zzj -ΔV3cbG4J/KÍ1+R:ؼ:$Խȟ}O jt) ~d_WX4'Gerōힴ1pPץI'PwΊ&,RLE\MrVTto;nSjkd4o*Ru6H>YtN9v^| ^*S5Km*[c "M LLUv{|B@, P͍m!5/uU ZȺ-ȅܛ:=kO>D~(KPh U< NХinhǬx9pHh~jo=`2NBH7%L8Ã]>\p<}}xC6oƘda\ޟdsQ:aڗY4a]|]>-I@c9&`y)Ը.lу^0oa,(|ELBnZgw#W',C)~h]KRiӚGs`w/Vif+ǣŠb -gqr7A=fwG}^d,`He,w /}hqwgHq (Ze4 Zv{Փ!wKPZpl1 }o^$ 2nLs@W?< dm5 c Xī>A3b&c-(Aio6ly@a!z(ip֍y|3 $D-d4 8/0uue ;D:I?^yhU*@8H3k"^ #hhO(k N+_ܔf2j_ !p W!iGLn%d6&HA%aC@ĀDCebH^:؁ޛXIng>wab̹7I >$4-\yp2TH2F@?RD1ǽ#Un#l^Rr$X1hTL_шՏى@OLDH,IapvHo&wկA}4m}MD(x me9n'c` Z5lD>19Ckf:yv3` h1h=\ iyVxXuHw(XVW{;||=-+*KcRq9Kv{M冖+C$ Mq^Q"GC7\p@Y@@p5{{0f#SWSC#Ε".' N2 0%Cϟj9OonquLfU'~DHګI0ѕJK02Ǡz(~Y8Nxt̉Lw%*NqΕ*T6tUz1ݚ"̌ ?k^o"-P|1_՞_+2,9Z ~~.x>bjj\AN_ݔf8^ngYCki!.UIYsI; 5cn`gzryMA7