libtcmu2-1.5.4-150400.1.5 >  A bw:p9|!-) L˶g{*'6 -=aPWC i%Hn/ awE,h45}S8iY`ގz P֒T6+KUJ (>('@+/ZbK[H)INOtPSax4~2ņDGNGycBm~Si9%(GMiF/OXczƧLv&tZ9237cb1d030711f3df8686816b0ce52d2aa9c35cbb57bb36ca2f96c5ff275342a052f1c1baa5ec8233de5074b0f0b56477e73d8b5lbw:p9|<5"oV81>4zkH4^kiT2ꋤdu=bO-_L!pH1'&uPNL`#ɇP`86oBuĞ1aTD*9r`խ5:|3tRiCSݚ ߊjW ! ohF}'Yc n憽ϗdH"_PG|4Q&|^dp(U4AzqH>`8x5ݔd]xF]2@"LP0yED>p@E@?E0d   >| "(0< B H T  @(898:>A@AFBGBHB IB,XB0YB<\B`]Bl^BbBcCHdCeCfClCuCvCwD`xDlyDxzDDDDE,Clibtcmu21.5.4150400.1.5Runtime libraries for tcmu-runnerThis package contains the runtime libraries for tcmu-runner.bw:goat04SUSE Linux Enterprise 15SUSE LLC Apache-2.0https://www.suse.com/System/Librarieshttps://github.com/open-iscsi/tcmu-runnerlinuxx86_64 bw:bw:bw:d619b3bf95e9b118b13ea6ca97aa5fdc00a2f9c503ca2e51667975e120ffa76clibtcmu.so.2libtcmu.so.2.2rootrootrootrootrootroottcmu-runner-1.5.4-150400.1.5.src.rpmlibtcmu.so.2()(64bit)libtcmu2libtcmu2(x86-64)@@@@@@@@@@@@@@@@@@@@@    /sbin/ldconfig/sbin/ldconfiglibc.so.6()(64bit)libc.so.6(GLIBC_2.14)(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libc.so.6(GLIBC_2.3)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.4)(64bit)libc.so.6(GLIBC_2.8)(64bit)libgio-2.0.so.0()(64bit)libglib-2.0.so.0()(64bit)libgobject-2.0.so.0()(64bit)libnl-3.so.200()(64bit)libnl-3.so.200(libnl_3)(64bit)libnl-3.so.200(libnl_3_2_27)(64bit)libnl-genl-3.so.200()(64bit)libnl-genl-3.so.200(libnl_3)(64bit)libpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.12)(64bit)libpthread.so.0(GLIBC_2.2.5)(64bit)libpthread.so.0(GLIBC_2.3.2)(64bit)libpthread.so.0(GLIBC_2.3.3)(64bit)libtcmalloc.so.4()(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.3b'E@aI@`J@_^,^ @]@\9\@[@Z}@YX@Y@Yp@Yp@Y@YR@YR@YR@WW@WE@WI@W+5ddiss@suse.comlduncan@suse.comlduncan@suse.comddiss@suse.comlduncan@suse.comlduncan@suse.comddiss@suse.comddiss@suse.comddiss@suse.comopensuse-packaging@opensuse.orgddiss@suse.comlduncan@suse.comlduncan@suse.comlduncan@suse.comlduncan@suse.comddiss@suse.comddiss@suse.comddiss@suse.comddiss@suse.comjengelh@inai.delduncan@suse.comjengelh@inai.delduncan@suse.comlduncan@suse.com- fix g_object_unref: assertion 'G_IS_OBJECT (object)' failed; (bsc#1196787).- Updated to latest upstream (jsc#SLE-17360). Added file: * tcmu-runner-updates-since-v1.5.4.xz with latest upstream changes since v1.5.4: * rbd: switch strtok to strtok_r * tcmur_device: rename the state_lock to rdev_lock * tcmur_device: rename lock to cmds_list_lock * rbd: fix and add more debug logs * rbd: fix the possible warning of incorrect return value type * rbd: remove the reduntant logs * rbd: fix memory leak when fails to get the address * Revert "Create codeql-analysis.yml" * rbd: fix use-after-free of addr * Create codeql-analysis.yml * main: fix g_object_unref: assertion 'G_IS_OBJECT (object)' failed * remove pthread_getname_np calls * implicitly cast pthread_t to long unsigned int * add missing pthread.h include * replace assert_perror with assert * cast time_t to intmax_t when printing * spec: make dist tag optional (#659) * install-dep.sh: do not install multiple packages in one single line (#657) * tcmu_read_config() check read() return value. (#656) And added these changes in v1.5.4 from v1.5.3: * Bump version to 1.5.4 (#652) * handler: add writesame/caw hooks support * tcmur: fall back to writesame without unmap if not aligned * tcmur: clean up the code * rbd: fix the unmap align and granularity size * rbd: use the new format of the daemon name * file_zbc: Remove unnecessary zone boundary check- Update to version 1.5.3: * tcmur: error if both src/dst_dev are unset after CSCD parsing * tcmur: don't assume two XCOPY CSCDs * tcmur: fail XCOPY requests with inline data * tcmur: fail cross-device XCOPY requests * scsi: minor simplification of inquiry if/else logic * Add supported vpd pages to zbc vpd pages * lock: do not try to acquire the lock for read fops * rbd: remove all the stale blacklist entries when opening devices * tcmu-runner: explicitly release the g_runner_handlers resources * glfs: add init/destroy support to fix memory leak * tcmur: add the init/destroy support in struct tcmur_handler * CMakeList.txt: fix the style and switch tabes to white spaces * worker: do not set thread name in the callback fn * target: convert recovery thread to work helpers * rbd: add report event support * runner: add handler error reporting cb * runner: convert alua code to work helpers * runner: add thread helpers * rbd: fix formatting * tcmur_device: remove unused recovery_thread member * rbd: fix logging when client is blacklisted * glfs: allow to load the device when the sizes disagree * Fix possible cdb printing overflow * libtcmu_log: Set tcmu_logbuf before log thread is created * extra/install_dep.sh: Add support for SUSE * glfs: disable the fencing when it is not support * Simplify tcmu_set_thread_name * extra script: Fix install_dep.sh * logger: add pthread name * tcmu-runner: set a name for each pthread * libtcmu: remove stale fns declaration * glfs: check EOF for read * Add missing libpthread * logger: correct the log message for log dir path * logger: fix posible crash when loging to file * Add tcmu_dev_get_memory_info() and split+rename device_add(). * Add support for Debian * glfs: add lock support * alua: make the lock done as INFO message- Fix for security advisory CVE-2020-28374; (bsc#1180676).- Fixed i586 compilation complaint in tcmur_cmd_handler.c, adding: * tcmu-runner-fix-i586-size_t-error.patch (which came from David Disseldorp). Also, added requirement for libnl3-devel version that supports signed network functions, such as nla_put_s32().- Update to version 1.5.2: * Bump version to 1.5.2 * Fix man unmap len reporting * Bump version to 1.5.1. * spec: fix build error * Bump version to 1.5.0. * Disable explicit alua support. * Don't install headers. * Add missing whatis entry for manpage * Add link to tcmu-runner manpage from tcmu-runner.service * Fix spelling s/Igoring/Ignoring/ * Fix spelling s/reseting/resetting/ * darray.h: avoid UB when decrementing zero pointer * Log timed out commands * lib/runner: Add helpers to convert lbas and bytes * Check for optional handler callouts * Drop unused tcmulib_cmd code * Convert runner handlers and core code to tcmur_cmd * Add tcmur-runner cmd struct * Prep for separating runner fields from tcmulib_cmd * tcmu-runner: simplify format unit io limit check * Cleanup runner callout definitions * runner: unbind aio code from tcmulib_cmd * Set write_verify cbks in write_verify_init * Set handle_caw_read_cbk in caw_init_readcmd * Add tcmu-runner cmd completion function * runner: fix up callout return info * rename tcmur tcmulib command completion function * libtcmu: Allow handlers to allocate n bytes with each command * tcmur: remove useless code * alua: fix pthread attr destroy * tcmur: fix free of xcopy parse * fbo: fix mutex destroy * reconfig_device: add request cfg type to logs * api: tcmu_cdb_print_info convert err log to debug * tcmu: reconfig_device convert err log to debug * tcmu: link libtcmalloc with libtcmu and handlers * runner: fix crash during compound command execution * cmake: set '-fno-builtin-XYZ' options when tcmalloc is used * configfs: fix index out of bounds * cmake: add a minor .so version number to libtcmu * spec: track backuped files * spec: update the spec file to fix the build error * spec: pass the tcmalloc option to cmake command * spec: switch to use rpm conditional switches * extra: add gperftools-devel to install_dep script * Optionally link against tcmalloc for improved small IO performance * libtcmu_time: void header file include muti-times * glfs: update the glfs logdir * README: update to add uninstall * lockfile: switch to use /run/tcmu.lock * logrotate: fix duplicate log entry error * Validate input for tcmu_log_dir_check() * Fix parameter for tcmu_setup_log() * Follow coding style, move leading brace * Add method to query whether OOOC is supported * glfs: fix build error for GFAPI version check * glfs: add gfapi version check * Fix unmap to handle refcount being 0 * fix typo in code * rpm: remove %defattr * rpm: remove %clean section * rpm: use valid short name licenses in License field * configfs: clean up the code * Fix pthread error ret * rbd: fix the error ret in tcmu_rbd_unlock * Drop sense arg from tcmu_explicit_transition * libtcmu: setup_netlink maybe failure but can't sensed * Drop is_sync arg from tcmu_acquire_dev_lock * Allow some commands to run while taking lock * Drop in_lock_thread from __tcmu_reopen_dev * Fix pthread error handling * Check if device is opened before calling handler * main: load_our_module maybe failure but can't sensed * tcmu: clean up the code * spec: fix building error * logrotate: do not overwrite the exist config file * logrotate: fix the install cmake file * README: update and add the make_runnerrpm.sh info * Fix 80 col formatting in def_log_path setup * format-security: fix snprintf usage * config: clean up the code * Drop cfg path variable * Switch some inotify messages from info to debug. * libtcmu: carve-out library packages separately * logger: skip resetting options if they match with current * load_config: retry opening conf-file if the initial attempt fail * cmake_install: backup old tcmu.conf version as tcmu.conf.old * doc: update readme * daemon: log start/exit msgs with crit level * dyn-logger-config: honor the precedence * main: organize the cleanup sequence * config: deprecate tcmu_parse_config * logger-init: honor the defaults when config key:value pair is commented * config: cleanup few allocations and naming * inotify: watch the directory not just file * logger: check for -1 return value on open * Call block/reset nl directly * Call block/reset dev directly * Fix up configfs file not found error message * Move tcmu_get_runner_handler * Build zbc/fbo with scsi.c * Remove daemon priv hack * Sync lbtmcu cmd and misc naming * Sync libtcmu dev get/set naming * Rename dev/nl block/reset cfgfs functions * Rename tcmu_get_wwn to tcmu_cfgfs_dev_get_wwn * Use uin32_t for cfgfs action values * Rename tcmu_cfgfs_dev_get_attr to tcmu_cfgfs_dev_get_attr_int * Drop tcmu_get_dev_size * Drop tcmu_set_dev_size * Rename tcmu_set_control to match cfgfs lib functions * Use uin32_t instead of unsigned long for cfgfs lib function * cfgfs: Add tcmu_cfgfs prefix to cfgfs lib functions * lib: Update tcmulib_command_complete comments * Partial revert of "libtcmu: do not install headers and drop libtcmu stable API" * Revert "build: drop versionless libtcmu.so symlink" * libtcmu: move tcmu_get_runner_handler into scsi.c * libtcmu: move SCSI helpers out of libtcmu * libtcmu: declare tcmu_cancel_thread in libtcmu_common.h * libtcmu_log: get subtype from tcmulib_handler * libtcmu_priv.h: drop unnecessary header files * libtcmu: explicitly include tcmu-runner.h where necessary * cmake: drop rsyslog build time check * spec: remove changelog * cmake: add rsyslog to dependencies list * spec: add rsyslog to requires list * systemd: start rsyslog.service before tcmu-runner.service * config: do not update the logdir when it's commented in conf * logger: add critical log level support * libtcmu: remove useless parameter in remove_device * spec-file: further changes to take options to ignore dependencies * logrotate: add logrotate support for tcmu-runner-glfs.log * tcmur: fix the unmap logging format * glfs: add writesame support * api: add zeroed iov check support * tcmu: Fix CMake to install file_optical * tcmu:fix extra backslash * tcmu-runner.spec: fix the rpm build errors * tcmu: Simplify command completion * file_zbc: optionally build zbc handler * file_zbc: fixed compile error under ppc64le * Enable explicit alua support. This replaced tcmu-runner-1.4.0.tar.xz with tcmu-runner-1.5.2.tar.xz, and removed two patches that are already in 1.5.2 so no longer needed: * file_zbc-fixed-compile-error-under-ppc64le.patch * file_zbc-optionally-build-zbc-handler.patch- Move tcmu.conf into main package; (bsc#1138443)- Add explicit libtcmu package dependency to avoid incorrect upstream .so versioning; (bsc#1135815)- Rename openSUSE zbc patches: + file_zbc-fixed-compile-error-under-ppc64le -> file_zbc-fixed-compile-error-under-ppc64le.patch + file_zbc-optionally-build-zbc-handler -> file_zbc-optionally-build-zbc-handler.patch- Update to version 1.4.0: * tcmu-runner: bump version to 1.4.0 * Disable explicit alua support. * logger: notification on changing the options for dynamic reloading * logger: update .gitignore for logrotate.conf_install.cmake * logger: fix the return value * Sync sig handler naming. * Add logrotate support * Move starting log message. * Allow log file restart from SIGHUP * Simplify log outputs Replacing tcmu-runner-1.3.0.tar.gz with tcmu-runner-1.4.0.tar.xz, updating the SPEC file, and removing patches: * api-avoid-compiler-Werror-return-type-failures.patch * build-drop-versionless-libtcmu.so-symlink.patch * tcmu-runner-remove-uio-include-for-iovec.patch * support custom cephx credentials; (bsc#1135369)- Update to version 1.3.0; (fate#322524) + Improved Ceph RBD integration + Support XCOPY copy-offload commands + Support COMPARE_AND_WRITE, with Ceph OSD request mapping + Asynchronous I/O improvements and bug fixes - Remove a number of downstream patches now carried upstream: + glfs-discard-glfs_check_config + fixed-local-dos-when-unregisterhandler-was-called-for-a-not-existing-handler + only-allow-dynamic-unregisterhandler-for-external-handlers-thereby-fixing-dos + fixed-a-number-of-memory-leaks-with-deregistering-of-dbus-handlers + removed-all-check_config-callback-implementations-to-avoid-security-issues + tcmu-runner-add-local-target_core_user-h - Remove development packages (bsc#1080619) + API discontinued upstream - Add fix for -Werror-return-type failures: + api-avoid-compiler-Werror-return-type-failures.patch - Add fix for library versioning: + build-drop-versionless-libtcmu.so-symlink.patch- Add two patches: make target_core_user.h local, to insulate tcmu-runner from kernel version/data structure/naming changes, and add include of to that file, to fix "stuct iovec" not defined issue (bsc#1058303), adding patches: * tcmu-runner-add-local-target_core_user-h * tcmu-runner-remove-uio-include-for-iovec.patch The latter patch is added only for SUSE version >= 13.3, since it is only needed there.- Remove install prefix from beginning of install libdir when setting tcmu-runner plugin path (bsc#1052795), adding SUSE-specific patch: * tcmu-runner-remove-handler-path-install-prefix.patch- One more update from Security Audit, adding one more patch: - removed-all-check_config-callback-implementations-to-avoid-security-issues (bsc#1049491)- Updates based on Security Audit, adding 4 patches: * glfs-discard-glfs_check_config (bsc#1049485) * fixed-local-dos-when-unregisterhandler-was-called-for-a-not-existing-handler (bsc#1049488) * only-allow-dynamic-unregisterhandler-for-external-handlers-thereby-fixing-dos (bsc#1049489) * fixed-a-number-of-memory-leaks-with-deregistering-of-dbus-handlers (bsc#1049490)- Make Ceph RBD handler aarch64 and x86-64 only for now + librbd isn't yet available for all platforms- Build the Ceph RBD handler and package separately; (fate#322524). - Split the GlusterFS handler into a separate package + avoid adding an unnecessary dependencies to tcmu-runner core- Explicitly disable the GlusterFS handler for SLE builds.- Update to upstream version 1.2.0; (bsc#1038712). + Add remove devices when tcmulib teardown + fix builds done outside of source directory + free tcmu_device after dev->fd is closed + fix Read_Capacity_16 + detect INQURY response truncation + fix incorrect memcpy length + fix inquiry buffer length calculations + add tcmu.conf for log level configuration - Remove upstreamed fixes: + tcmu-runner-include-falloc-in-qcow.patch + tcmu-runner-let-cmake-install-man-page.patch + tcmu-runner-Use-CMake-FULL-library-directory-for-SOs.patch + include-tcmu-runner-h-in-install.patch- rename libtcmu1-devel to libtcmu-devel - drop unnecessary %oname indirect macro- Updated SPEC file to break library into separate packages - Install tcmu-runner.h, adding: * include-tcmu-runner-h-in-install.patch- Drop silly buildrequires on libgfapi0/libglib-2_0-0. Abolish old macros.- Updated SPEC file to install LICENSE file (bsc#982130)- Created from upstream version 1.0.4/sbin/ldconfig/sbin/ldconfiggoat04 16519809931.5.4-150400.1.51.5.4-150400.1.5libtcmu.solibtcmu.so.2libtcmu.so.2.2/usr/lib64/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:SLE-15-SP4:GA/standard/5dac05f2ab924b85475a5ce008b620a8-tcmu-runnercpioxz5x86_64-suse-linuxELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=5965c438252fd884af8f5e4b6a471814b8bf5f12, strippedPRRRRRRRRRRRRR R RR R R RRRqAM{utf-811e039f8d591a510a9b72d5254b18d07d0a7e51c79b9c6e3f4517cde4f4eda9f?7zXZ !t/C] cr$x#F2/, + }ag*/s|œTEtۺ_ӏفDiU[st6%\4p$lRm,򪗄֒ [`: D@^7cbQ)5ݥy9r;# 3U5QIg6Љ޸Njr)q>pP2#ϒf@I*-B#oD4' _']1gtjoG} j0ᡜpxt C'GܞTsʁ׉ lYc0kEQ9[/IDp)'3p> oQj3`)<:C(!E$W/` r~oi`S@7WK1er#A t~ bp9d й'hQ㊢^eуd?weCMQK;1i۝#ufa) noipDSɧ{T*qI tiq"q}-;GZg9WE*whVZ̪h^x-=N/x&(V&<]lUw:CI9៶h^;Mtg1PWd.}uw\ X4_"H "&JkV8-JPfz?^tx$ZI0)KBŨw5@d8h[ѵ^$"aU&*2pN7oT?Ǒ RڈaqdﱷCH҅ y{uP=> b7aJ3Ӷ7MGDtR%.}TGh)Gh=m2ѣV!ԕ>} }{/T(T`I45*jk/3씱? 5|)=7ZpOL0 oB)IG 4mtں^4TEwv@)@G|rpY:M8zn151✇6n8 1;E@OVKohyHx>hcZf]IAXۿTM>BSb~x7p <ۅwaAm|Cמ/$yC*\!O5,orn gֹ~] .ŭ3 XTӴla!~5m T絟pip*8R"2>AMWb_K j$!4m01ѭkT]DB 󳏈;3F$~r\j)U zbOM}50ujFJ#`u= Ga)*[7 xz_.awo-N'w{op~絩ޅ==xzt|^ޏR/ںKС{aק~XunEK"HnF,5@w5@AO&QdW nx`]i_Pdi}HKwZ݇YFra2!`OS(ťWN&8 ;*˦}'ݦ$е}D ӅSZQ< Ү}1jo;Ő'XdĶEq wWsMWD) jKhb ?.yIS-FX>9 c`.w{=ZQߗH^&>N6t/Bb #-8zI= O}2"?J.6#=:GlR$>=FPEM*P;lk>~\6?v rU?CԪ8e6p!.pm-c%D=W3sԫr-A-{)ǖ-w9uTm~E" x-=ljB! Ő`2=v 3ꞆqŸϨrP0|=ՖB- v 7nu9ML^! ,WLv. LЫnanNN_oΖOtH|"Lu.}F0]5˷{)h0>cT'6:7HŔ_gd|eض_TIډ!>&CtSD j DgBো DJj$0E>u"8#  YBٸSO*}Ϣ![ӫ#YڶGgHŐ$$cٱJ3V%o0f;p,.48xj> umn`0x@P L\sG rA-sWW>-% bu9^8<2@*d.jll\S[@5*OTuYLɾоˈ0PHBM5dbV2|qjwzȖ\L 1d+PYho6TbVf oF biAU<9@H:-LyIֶ(O!!E}$yQrQ$oLH?zۡSHT¥C /8m\Z|9xI<5==HǖPw}Uh !mPg-N/p޳?fւ0h!sکIVy &=n qu7||1er?Rȉ²uB2 8 %:7!*"Yg.ͳR!TvV@Futnٛ_n)a%l|#"H:!'~UvDZ/ɪ1m t7ւWkP|—V2X6?88- ,/XSΓm(~vL([;q} O繐7aO }/h+4tØă ZʴKqdyTd%LhYW/rjNӵ>+Vzy ]ey7gRzl2e!-5 coۤe5E3;jMF}Yױ~\d VFxu ީʅ]tBxU ׵K$. xbI)l<(Ǣe-W_M10&>=:iQՇ{4a_Bc^R$ `೸aQ-4"!g5t/_^ԓD^ɡty+>z?MoiZڵ'ܭ(yep5v_DXaSWPQaQ~iӎ]/:ewRD(5Dp~ۚtwh8z7u4^Yiۺ L{a&g/dV\xza s6ckw6z73u%K4\iΕCOث!)z%wԜONR TG>Cb(N~tzX1Qn.wڠV,Q0WED tWG@^ "(2 =* Rx~lQ!B @!rspQ_p>qԀ!3W.NOEljiDϚ2G*p_k޳(xWssz}܃k⽤IOȈ*2F3:f#OFY{)b~Ź<7[q\ ȅ>nWRξnȩfwGOZ.[FGaʦP2L7GؿojӐ +l?"zZ$HLL@kTL\y ubN-xDt2ͨV^/8FC'ţ7|5b>]|-ˈԃTFl:Hy-`ޑZG= @C|ձ6m})7ȳ*8k(C7-XKEjzJ";P*֍Ay sQeLl*^bM K=֏|vG9_֫ KK dB^?Nk֚eǗlT.LϬɞg?_J.Io븏WAbzc~{i1Wy,_¾f-l,ILYmTy'_\nB @:K; ۹zX,|WoԴVMB$mKl⸠]EϤ|ܘм)pÐ)?w0Qk=d&A!P+VW+DɓHnH[s:#c O+(}Cn\58Ù$R1g.I`4vPF׆Nj5e+NalI4Š^ UV].ʊ|ż--ܤa5x8W ,1R@jfc0Aۊ,i=?'kW 6Znh۪>S;פtQl\ʯ`B48d0GY>eBaXOcǑNB6vvR` W)bZ5b(Lޤ09AǓbWuӴc-dlWI5ʺ'YpZ7{N܌ ՗tkTkC ?չJWG8u()`Fc@>1L39vE<~Nm퓷yQu"q; yC1njB[zaU)e[ k4y uC?+y[ӢhLgi{eݏh L&kbVP$Hd7 \{4\KhVmM0j U ;#y:]1iFI)"0ȩ,aCuMLcI_ L'MU*3̊E}H@ k  K^}@\)sc/4{#Jbv6iyd Pwd#uUA<5~(B[wV*<6FOλN83W4zִ"2#-_a|14S̊`OzF Ȕ` M"u NkP:V9BC̤ 1Yܡ ΰW( `ʘ LOq&ES/]ĹҗbNI媮ix -c)rUOX <t檁$׃әtnw!dA&(ļO$)į^$ef'@ϾvM1!H߮8ʲHTʋY:俯(N9>yԔ2o;i^ɳ+h3e.ӌf`<]}~/hDlysU '.:/'[@ֱ̓efΕC! -V+t@AD7ωgźf{OPQC`$qgnȣJ䎻5le۠*uG;~}K/>ORf?zJ* Ϡo%9cA1!vb>Al,fqi9aF#sMUruz]]/Z"A[C5*Ԣm Sns~9ʈ7 LG_[2SSV߇95wvW>h4І- :A)Q*GMiM{ *j(sl厪1EY% OR!O.a.M@gL)y9 )_u\uJZƼ1Ђi]Wi]CvOD;ΰ[е5[k }8A?I/ְnW}s2@&c[ n({pƣ Y&aNvBGwd+Zd6 Zj  _Y r.b6* Ki NhIoTYw\m<1yуi& pNO=8SQ4Ulԁ#V VT߬|$Yz$H)ӏp"."v_͕ۥxn9)dBr#43 -0Oftf!%TJ.$/Mz' val3 <ݖVNIdYu9#w(Od?c3PePLjHאĬEgOUH4>ۻoK]]+EAPw;N&Yaonj2:ڀM & -4Ӈ!o.xR@9*V;$F>Z%ttŨ;ٔMɧGO`p'\08V}l_4gZJ^>tx$&o dyL,x<l4CoI~Z=! xL$k9WFmm/`wTQht Cyv=AA7oOix@j>]x;Vd"O+*q Td~bm5Fz쮁胻`cDb|B˒A> '@EB7\ I(L`ˢKӧSyۨTS u?7p迳!7܀jsP+ju;Hզam:0fz 3м^@ QM{p#OƔ"'t; JC[)cQ?? qH:nhvMd Mu} 7I؂%mÌ|Ii&Fep>UWNPʭԠ 4o0P pTQ[QzpcRKvSM滸LUq gsa۠5OslZfCzVe6 di8U &3(lf7z_އHCR\!ll沊 Qb5̟[8Q5\->;0^{I|"FC\Vl%\ptyeviN?,~9N>={a4F\]@|b+9^h3Q]!d#|]pq"1sbP@|ҷ\aFVGl v%/?O)Q_c6A]i|^X-*(<˾q>XeDaP(9?Axh-/y@þh%:b=NvT oޱ4> QzT>+h $yϞ L{VxTEk:'uELž 3` wlr"qTYVPʆk ڞ N$um[̅N"~QsC9Mִ`,Zd+3k53"Fðf:"m4[vpaY3@N*.qc933~৹(0G D9Q~HnaozÚopchE%?NICC^,0U,7lR3FZLRp}jKZ+a.v~W%%X;8;<(ߞKh'RIl&^K-g u1F@.m߳gwʁّspQvЭ56 Yn2_r1C)BJ’]F~c_8d#8 >`7}@gPW[I(X@:%yI5T\uԯ~HPs=$b@AHjֳY^@&T7"b)^Jye)FA]U6*)tw 7 z2a˙ wbq_rA˼O)i[quZ F .[=@#5m|¬$a q^uucb5A%KcS#z ɆHmr4Kaňg}op݀:@;glQ{dDC"apNiˣ%8aw]q;6>nZZO8k`F㼵梸+LM}y i0?uqVDXC\8{@k{WX^ؕu]W.O(Hv/!^^oȪIK1o8C*δ0XmYjl鹽Sko(;} l`.Oj׋B'd/+$I%->)H4N=Q9'W rtN**ΊqJ7 h| K]򂏫#J0Bv#zh͒+:X ԆQX[?r{D3aC91M`_ٴj%g9`8rsNvXݶA!OTAa2ojaa1D\RیQ8ձiT},.J_ؐ %U=*aE=bNx@ gֻcƷNAGWqKFRnuB\}Q*OM&'ejLzDXtKdW4e^ES7{}mIX,:#&z/&ZXЗh,'@2T'*giAYn6.U>+9ѱ<m"q"Ɨ=49eIT+>60 kJKZO|ÌMXtF"d\$kV j9 d)NuI(Qv } Lz|>1l0I'>zr>dleaރwxS^ !ټ=EPƃbVl OKcY`:wSpXPu(*u L~gn)eoSm~/0tF֓/meD]E7|ytl“S۔re#,D:+wz,UYX ;īi꓋ʴ]myE|cڠ?[E ,Zdq mc,;N#|QIA' 9BBzԀ; Bs$KUaT(u׭ *!b)/6?kQ- WM sv! dF1Pp2`-غSr"VƗHg] oު-(h6/fЛmd|38.bkW/x_5oX.fchO6O@|GOx ki.!.eI)ؙ쪬$ψ+#}˝9pB])mۜ`ibLsFS7̏]ܠ3t^ TV`a򓻔6VdB|E?鐴8 U}_FZ`v~[vCޫ~zvøʌ"۟w(U=Yڶ)So蹺w6bOW^fcS|r"N@*Y, g"OWlTRYWJ">j 4ios[sWMKśw4є?zk6yK^ӣ8SE]mgq o@_finncFؾZftd\#cB:R:0!)p˼/VbؒYJߙ{IwK:0@.qA&4pr۷ MQ(˂BZ#s'E;r+vv ~N0{xIta'vRVT':bJY Ɣ/ QOwd#pՄ]PH/UKv:-sgU m DITxXWg"͵{=iq,~F^BӬjTՌw}+9"6eCwU,lUO/i&A5L ӵNVveeY!4]$!KL${ gпAM5s y}tY nI Rq*vca͊VӉnP8sWߊ[gx:n'W(tM T<{9ٞxqxÈ R+0dn Ȳzz?l;]܊Hw <ࣀ(ԉDBvw@]]H UkiQW;9GϬю2τ"QuH4T(/7M1 e/әsȜ1MP]m+ٞhW6~C'L6g9s$hCO~l-a9VPtJ?#Lnya::p^#+7yG }iNH^c]"#r!2Up^vpR5t1}A D;Ǒ,-Ƥ]m_#sDl Ն j5Cv5eH?8ۗhK2GkW\_5t I͍aU4yvh9~aU|j(.H1_ QTP2$;~ƈx3# ƈ`Ս hK+Bk~OѻN ͑de;@9%V75{aYS#Y@0pȓRO@S8/T{,fnxU 0jU$ſ2w^>y;w_:񃾍Qj3Us-ܧ Dbѫgrd_ P3<*)֬(EkDCxI>L|SΪo{\zN%> Y)S /my;]ʐ:Z09IWYƖ(o߰YɢIQR䣡lDFu &ZMXd<(,|Y4(,>S ]#$SMҎ[R(?`FЪ04e͡q"ƔGQPiӬ܆Lw!ęc ?*"$cY(|XѬVh]=9эRJY7Os|D) jWؕXJ_S$*eOGUqրU~\;R18WƝ#W?ىDۅ1rJRh-1e 8{9#n)/ "nV)$^w*m ӆXlM)Q+| ^:qѻ8K#;xG8lGߞ@2mC9Wƞ #_X}!fv+e ! =N|3Nyh夃9O4{+ v" lZES%RzgQ?*{Yt͜eݱ Qauqv>5esaƒt;i&&{,.&c$uM"_߶g^s_Bv'uK(8Icz f]a#Ng̀٠ሹT1>rtR)g]o24i.z`x7-:L@f;T}uf<8 8ח[j2 N&-d,uֆTBXlAy + kAyN;^Pspi+IF|;Aλ޴6de|4%;T|S`w\: ޴ٶb:BC5q&HKj 83!pPAƩ7k0Cjb)DLygيG쩌QڥED@U& NHPŀ9ݬKq̍,s/MSSt;JQAl8*n;@'Ay a@ь}À\dFR6u(l+ۿ͂ƿOMOQ+3K"":̊ĥ&c"K[+|BYp<dž1f@"Jwi*p?1M( ֗@}MU~M D,u_ 9`1 4ǷHtcϋsƑ:8P뎠}AN;B¶a C35%x؇gha(ԚUjr~RGS7YĘ7\%\5 k*n8郬Z^_"}۶\vdG|-VcAzh0C*_n1`'3yo"m_%_=^.&P{3`"jJ hJgɱH )imQ ER:]5}*"r!x%p6 `=r J\d X^G?G-(A[ǬP\>th-Bcl]f>aJ|Z]G[QYfY:[H9#*H~qUj;y}.Mb +\H'_ɴ )*)V7o{EĦrCU_'mࡇդ I8BJ8evZXeڴϚFlGC{X*h5;>4EfdƐ+/ЧYnS*rzS@&Dktwv0hąØnGFỲi2maMѢ W VSqu8/R ig\aJK3 t\TyPe~캯J?+aٳAɺ d*tL-ۃXɼ.m6 :)T`%ҳ-܇8 >بE vU̲Ԥtql0eCۈYo]i P'r0j:\Uk8S ZPc3"b' n2A,cbԓL)a25服h=֮o$}qBxY,4vU*fZNC TӁP#h́32haC?p:. J/oT)D_ܱ06_A u0*vypkG>me}V c`WWa͸[Ti܀:B8n N%T_|0v7RSM~X-G>H_(Q~m>A݉Asd^q_'!4BǐR9?5G:o%lZڦ;{rBH<12äS9@ ؄AM8.c" ׿Z;oط)(= ʶ&۝ܡ沪n'C)UpIaxf m )潉D ,H1fFשr-430bH鎿}J?!1;nXt;46fc7_;[qCF~3 I;#nW3s70'HaO摌%$J}eo>t0Lt-f,22tH F6촮~|$6X1-ۿT",n-5hE O+!HپTpG;mm] | ,lOhewt3*H[>2jN5A*+(s$XFmO@Scf8kyN 8Si*@\(e\/!Itq7nsP4?]3pXͣS"8! gD\BEvG# E$!E?mwؕ˼ n~]L㾩ix _]9?@tL{@%upP߄Sk^`4>/F*)&g>kv{vT9͜DZni^HNHacJ I6ysI \o9+6D];""l̀фͧF-/+KƴQ鿶V OZk b#eimI^7 =-7eɖB˶1RrŕaAdpwEV ؝ض=dNZYG~hԱbVǿDLk(|Uهypb1ߝMX_ &e ͏/[~ R9z`'4nnW|w,ndJ~i6 tGõ\\kOFNn=Ey౦4Ӂh)aA\{_K;pgejHz*ڛ]O# !9i:$$[}qT(nك17n#rѻzXgrN=@" xw2zm ?~:Wn[J:Ԉ '_=kQa"ޕ*)<*$LsrI)~ZvlYNGHDRd1o?9wkas] o .n"4Z8ksޭ2[8U J r[v ݳ6ؐvZ=PX"rwֵ$Rɵ6h Kˆ#vGar6{ۥL{l=V1 < mrɝ,(VOK]BI&ʍ%E=Ɠ>e }I aM#.OfXuG^@I"&*:%wZIi)pP悔,ڿ=֝x8iL_ht]X5%Vn1I{7 UM3i?{&Ťhq3dWr6XI82i=/\Lz,c" <  ^,e ҷG ~5j%Wt(0ɉ}J<4$)^&.N ]8,ظy HX2vh%DFjP1nGޟf1,Sj,pί%ilU.c˅g:#v}ժOX&l17R3b0b'RVz/5<[Xl 8A_c$V=*|8p ֤MҨ2`%2]NMw*kF-L %'&3 ߩǛL;ݘDi32GTl>up¾u2iF^p9{t֊&bx) ц&q)DU 8/uì,гNrK'.1{,Vn}sM#^vKYFNC"ti *]qA!–St6 8h櫕|,a.1ULm/~1MrE2)K;@ .yWzȷ*Ua9KU (xqO@lK$ :8". GXk,'>VVVI %*c,(;zhĶX8E?x W$qU =Tsv>w& b%stjcMq^;xneٞʮ>|߅Mw*L}$1?e=j]W5c?\9U-:Ezkv[^X0֟Ͼ ͯaw2#^!u -&W93sD>q=A׸2QH t: i ç\7C2B`Y@@ Vx-,]sڕQ?wEɝ.hj}*]\x|H$-QrZo{3r!2]+Z)n">&EsW(e'QUYN=Z:-O[z۵Jf?9yH&S&{u2M 'h'FXJit%fh"Ondq98GS'Q.ׁl;3Wvħ1`ԼEW дv딼y!AމrюxY= n rBRfn5zZoQPx2ijmm.=gk,ҍh,y{>Œw\rf;i q~[E~± )o B1Pe0*3_V^iu!=Y%JPɵG:ehTcegWN37S UCBоD¤͏\qPe=/ۻzu*'é6|=Q3<~gn.;EGJ޲tL?1cql=Zq6~7dT )I%"HTFd $#4p|G~Yǒ (43n!$t0blZ+s'pxa Kw #uȉW1b]<}]Z5趷'75<sjIMvҶ=nS 0sfZJq΅er*G?AW.=꧳wI]ȅr(&^AW71zMWsr@d29E6q׭ }qt,,\ߕ|ΟBE8 @~Q]Kv2G^dJa}bwәI*IufG%sͧDaKycf$-JtXQ)YȇABM)Jm:O\2j5xea,ZJM~[EG?K -E cA}C#:86p*4e:.gw̍hDKbzٚNGX슢S *'QyQO""~SKKIW_5>7lJl)M!kG?+>v"kʼWJpITcnG&ò+ȕ~) uG!mxƇ}DG_g||3lcN noqwj[>h*X":zPcLlg҄7`22S_0NT$xYPp+:\|:ѤZ uԂ a"Ջ-~B8=wUd(KB\)*%wzFOsyk$Y9ߊE_ҷ/ɞMˑ%"S`*ݜ3%쒂"ʗ|yY'.Jh'-J(q նM865ۺ8GI.}>a@r`Qu^X A5tE8~9 D{(ԏ1t{JR& hқ%H1!81O4efL5%B@{YɄGbˋX|" U9P)Uw7jȯ|NHalQҁn ?C iUmϣ^άÐ5~ F<{ܳ@JSep5h8ֺh](PӨig@n !#h Bh@>toN<Կ!_EvY7!Zw 'ukwn ]ldtTFHn uMSqIxn޷3A>wcSL,2g=47&%^ph3SKaĝDdMC΀W U.EOGŝrV`BmR C9.ķ7KhnZzo!Jv!N@_!͡a]DfaھgJlũYzaNG}|?ߩ4WֺY2EUP.G=*6aꢜ9fXדth&Oy 27$, W)v ςC&Jh|n $ĥ=|E`%X| I4}[D8Z'VPJu6Q =ݏӲEvRx3OQtgWtǺe@ sc}` 9K]-2@sZ'Q 9f֧81dc.LM̵ =U"E; >h[=M{p>ݥQPk+4͈ ;8&azu`]uzE &,D}kl>sK84]r]~HICxݡۺ'N7mM@i=ɥxu+X_(3e[LYpJV3.{Œ4D0Z\tjOGK"=Dh+e-}` iDݡ >a9+,1C^NDm7;3fCZH?QFGA~3L dvKp|mQtFQ$ܕۻ5 HYPl7:GU 5#裭hVo2%3, #" ghȿuS4~R&P.5I["5|Y6EesӹqQMN\^*ʌi^_ڱ|&,\s6P:ϗVOwcq~Ux:20%Ebo߃Sy7Jb ]Za%(IrmM5w[B;LE)Y |LVǒ?ͨnGxteZjܫ}$SV7TDs_7xll8e'ߞ?:L&/}f#V7%E =mVvasd\%f=ْAiO)T hH Z8P;Zf1O"km{]_ S$ehV:FŅ@=h ^&BDH z16GQCrK uJ_au8>);ɫD&(G; /,o& rRv/RcS1^^\:nZ53J%3$XF&/w?Ɛhn?i Y낵7aL5B'O ~"74gCGyh a=  @OHj;wMb@33}9*XX"8YUR#o$gxi!싷'K`^&.ZSYӹCɆhT|S#er՜ r'KԾ! tJMVLFF߂1R%qb(E-p EZ Yh}pK?I  2(-HMc$Gcc-&RRG0tޘѻː]xP{v"xžR sK4cgʮ^}zEJ$.<$bhs`WfH](0틔/4ީw$B єD.bЗlB`+Vй: ҋJ:AB\ gMHRK?͔BOV#kTZkXdS{˓v;ffZn|K~cm F!`*XME@*DP} bz.mF+c nRSZt"EՕ[@NuH|R!ΉJW_:Y(7ـGZ W8ޖm,nowAϲ:\_iDD/[qbs:nKQ$Z|ݡz".}@3 @C$dz0)s ۪2WCaJfhl YY9]7kUs _NqxNq$<[&56fKm 2dґωKi<\ WQYYZS Y:E{/]y-u*MT@^,`V1 dRƞ?5X<*Ҧ-Zm h7A !LCH$T EKn;plߝ\ UWxje'}&ĥG>cq.cĥWDD|>pu&PXvfUl+=P}˟iT@<,#?:ڥb9Wa$YLec|Oo&V^'C[F82LvYt,A.&|l^[zUWJebdܪ; i|d|Mk<[S>0w[_ޗt Fqu+o*hFz}?AVҪ!|St7cSSҋL2k\9 ,{;*I3-[~pbnjmP]K%xqR% lg!">p0zdI05zr?N&{V]qHYYGs:@;i') <&:?]*"g14}QEBݭ'V>1/\gF(Yp*_9ݎ㯜d?a D4|ˎ/cdM &F! qCCl99v?z)*m EܼC8Y q. ^S2 1ה\996Z|GVygfifj'{m|7gH>(.ys3sfKЂL'bvGЈݜ[no׊F_6*|'HԹVyL]kW*0=y֨/Uw*ov=eOrY}/\6.V(z_1rU}CŋQCLmm,Q%Tg+` zT Ǡ ?]݌1IbOԓNa lVG\∏Xpʦ&4e_z͵f`ԁ"ySNN 2 u4.sD|Rb"FYtB.M?upE&w,L!n(>6A# pPw(u'TzET{g4 |-1ǖ2XPN><^uST6n獜@w+Jm)V (;"J,z:ॵO5t/Ƶ.8yAMRg}Aa41:&-̈Ҁf# 5pぷ> eFE!,d:W |$y8S79O&ccgR}r%vE,b&8b;2祐۬"sN6~&=D|Ӻf3?T+朱GژADQ^)~D %*ʒvR޾ :fTcW(u4*V: 7sQ⡝7"F7GqWԑՅuuߕrP3(3#= c&a&>M!3ʵָ*ȋu%Nk" r0?3U0\|n].J};R;; m GL_PXsWĜV;Y, IbMMK& b5 \= ( 7ߘjrtwCR)ȽKssaqv" q2S/ pFg ^( ky9h)Gʪt}iWCI".) ,~A#n+n z}biFׅHK@E7seU7NȖ_3 xig~Af4Eʭk*LY^,S ԰P [Y|)2"dC f ֣6M]6:,L[A}=QNCM&K ,\f a_TPz~ࣜ\-ɮ:Ŀ?)ݣ+FCuX T 5 4AjiNwpLMHCҼ l`Eq1ltne]/T@ʝywc]r@",wr[Oe PJKvuy>Cm NJхO<#W|J`_Q++ 4HAOzwYD[۶5wNcu ݖ֢m.gf8Iϳ{v\;*!`/>wk.s/[h5^QL//o !)x^6 vGIS.dA7p*{oK׷5Ibrr7Cڿ;>b* d~k]i,!WB?CH1j}kw0

*w7ICwǭJ#HP_?w>Dzk(ЍW8aSxÆt ҋ:ʕג06& _ #tE{ë,>e,6G3r O @|S+YZ|g!.–|])bZ >MYUJF4;[z"lƭF=μ{^,793st!t0bXw-8yNc7{bB4piY0' 8AC̠2r:\p-U518-MzaE8/r'x`uFMϬb.姓hjE&_57G{  р~A.[B:(Olt[!gq?P8o{"q~5989Xz陹6tWߧAvq˥B BDA%-"s/DK"1)d-${K:p,CRE7ԏWh2cd, ^) C֐o7,tFo,4kT֫e4a+ 3νCYø>WNW^y\͢g}bpW}Gɚ*-ZT)x >!D?Q2 `JEvhv2!C.kvi!P w&_M'<&M tՔАH6uR䨄JU TҪ0( /Z]{:Yk VW͎59ci8=U:+MS ܍NYw=nƤKď-&oB rԂ 06Y u 9]mk$3S ) QԨ4g瑢_Z7N1煔qe:$wTX",A$~r<%sm4Rn^2d;a,'н'x3^)t@4C0ul>keerhi*{+o#j(|x-o^IRqɼ vQat2\$cşZ&\F I9T/dv9sTm"T.4x,T)hfMb]qu< H$?UgNކ-<n=/}3,W9[i^~x+!%lP'(ְ&!y" !3`7v{ĭYiB~z$$YO@6(]; f0%N+!89Rru~{9WCjnOՔ2FKv_&q9gRÆ*ٍ H:!_bҿ% }) _< =K',(e=96eܵ3RN@cs{N5YY>nDJOTr' @~>,TOpƴ8~ V( ׮f9$}ksiyIN[0-؉!5b ޾4HEhoMdg] jo?toI&N"71%\1BR&kk"qXz,sbiQ;RyE.2s6lTjÃcc6{TGPeC1' ks,WĘ/Cwu>YmN U1 f6[5c<*AaKף ^[ͲFH!'3ӗCg_ݴ邥rY2N”M|Ji"M$Un/3 U$\z24I+o,X걑ȚTEi6є/Z3<(vBȭe\,HP {!&**jPfmw#$,̓|g#$p'陯@$s!+u>Zj6rq\`c~>=s}Ȱ5Aann_HD9ٖGܝ^{c)sz,E'/p˯0@E38F1WPm5Cf>iWnn'R[ARPzd.D g?[[CvL] DKi)Ε0La`Ӟej],|L@m#1o<.M ĀsgVvBQR> ЯKu_K2lpp>",uSPXn^$Ck{H;mƎ3=Nܢ[n<+C'kê_ ?B{[5+Ӟ$!`zǰNr3)߸?)}a,p䱮L|dO~:0mZT'O*2"ʵJ޻֘I!6ؚ܆KA^1#rAx`B}Ue(: irҸ,ۋ!Ctco((WfJ ="'Ss=y+\?S^a+'NyQ]A8_ދݜabK-ҋ/S4`?~fF:ņrd<~ا8^iDZ'7Cb̺:_#z:2>!vQ(:XE/#[1ku!4Jc7u))Ҡ{G,nAk(vsLb GEcˠ b+Tv ݜP:r3$*@&beaqc$>GS&gqcz TDVXE_OTLWX0y 7SI yG`:9,ף[l>>(x>/Xe8$t#=na\{mh0τXA<9&]SiҼ#><^vѱ!M'9[aŰF]}TonƁ0JZ`Aڨ\B^Di^\T^I6 NNѦ`ͥTHz0Z(۷  (̞UPN0Aܡ exJLO晨K~'29rqBT>usפ5 EI4D4EivwXXVZc2?5BG+ zDj l8Jk%fGe%EDž1G%i$(0AF_Ѿ-@dn=}uPG8Ca;h?'rܺUԴO4:bl@%WHn/d>=#'rpS;L {JWv fA(" :$oл*4%u3)<GNv8BYz]Y'gց%(vcݜڻ82uzbL IKf1D42(l8=} s1nEx$ybxڏ[d*>ep/J؆ `d> m㹝 Ke(nވ YZ