tgt-1.0.85-150600.10.3.1<>,hgp9|1nR5i6'TH-m?6RoK"J/QtVU@9X!dH$G#e[ȗ $ҭيfS5^x\6>6yeqQP8)1jʡ[ųgt _ݓiSxM~ n}.lZ1"dWds?QOC:T-w4ٜ\z;t鵇:WÝ+bx&\/~X 経ȗ-1>LH ?Gd   @  *08V   ,, (, , 0, , ,,\,8\,  , "("8"9#(:$[=8>8?8@8B8F9G9 ,H9,I:,X:Y:Z:[:\;,];,^= b?c?d@-e@2f@5l@7u@L,v@wE,xF,yG8zGGGGGGGGCtgt1.0.85150600.10.3.1Generic Linux target framework (tgt)Linux target framework (tgt) aims to simplify various SCSI target driver (iSCSI, Fibre Channel, SRP, etc) creation and maintenance. Tgt consists of kernel modules, user-space daemon, and user-space tools. Some target drivers uses all of them and some use only user-space daemon and tools (i.e. they completely runs in user space).hgh02-armsrv1 SUSE Linux Enterprise 15SUSE LLC GPL-2.0-onlyhttps://www.suse.com/System/Daemonshttps://github.com/fujita/tgtlinuxaarch64 if [ -x /usr/bin/systemctl ]; then test -n "$FIRST_ARG" || FIRST_ARG="$1" [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : for service in tgtd.service ; do sysv_service=${service%.*} if [ ! -e /usr/lib/systemd/system/$service ] && [ ! -e /etc/init.d/$sysv_service ]; then mkdir -p /run/systemd/rpm/needs-preset touch /run/systemd/rpm/needs-preset/$service elif [ -e /etc/init.d/$sysv_service ] && [ ! -e /var/lib/systemd/migrated/$sysv_service ]; then /usr/sbin/systemd-sysv-convert --save $sysv_service || : mkdir -p /run/systemd/rpm/needs-sysv-convert touch /run/systemd/rpm/needs-sysv-convert/$service fi done fi PNAME=tgt SUBPNAME= SYSC_TEMPLATE=/usr/share/fillup-templates/sysconfig.$PNAME$SUBPNAME # If template not in new /usr/share/fillup-templates, fallback to old TEMPLATE_DIR if [ ! -f $SYSC_TEMPLATE ] ; then TEMPLATE_DIR=/var/adm/fillup-templates SYSC_TEMPLATE=$TEMPLATE_DIR/sysconfig.$PNAME$SUBPNAME fi SD_NAME="" if [ -x /bin/fillup ] ; then if [ -f $SYSC_TEMPLATE ] ; then echo "Updating /etc/sysconfig/$SD_NAME$PNAME ..." mkdir -p /etc/sysconfig/$SD_NAME touch /etc/sysconfig/$SD_NAME$PNAME /bin/fillup -q /etc/sysconfig/$SD_NAME$PNAME $SYSC_TEMPLATE fi else echo "ERROR: fillup not found. This should not happen. Please compare" echo "/etc/sysconfig/$PNAME and $TEMPLATE_DIR/sysconfig.$PNAME and" echo "update by hand." fi if [ -x /usr/bin/systemctl ]; then test -n "$FIRST_ARG" || FIRST_ARG="$1" [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : if [ "$YAST_IS_RUNNING" != "instsys" ]; then /usr/bin/systemctl daemon-reload || : fi for service in tgtd.service ; do sysv_service=${service%.*} if [ -e /run/systemd/rpm/needs-preset/$service ]; then /usr/bin/systemctl preset $service || : rm "/run/systemd/rpm/needs-preset/$service" || : elif [ -e /run/systemd/rpm/needs-sysv-convert/$service ]; then /usr/sbin/systemd-sysv-convert --apply $sysv_service || : rm "/run/systemd/rpm/needs-sysv-convert/$service" || : touch /var/lib/systemd/migrated/$sysv_service || : fi done fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ "$FIRST_ARG" -eq 0 -a -x /usr/bin/systemctl ]; then # Package removal, not upgrade /usr/bin/systemctl --no-reload disable tgtd.service || : ( test "$YAST_IS_RUNNING" = instsys && exit 0 test -f /etc/sysconfig/services -a \ -z "$DISABLE_STOP_ON_REMOVAL" && . /etc/sysconfig/services test "$DISABLE_STOP_ON_REMOVAL" = yes -o \ "$DISABLE_STOP_ON_REMOVAL" = 1 && exit 0 /usr/bin/systemctl stop tgtd.service ) || : fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ $1 -eq 0 ]; then # Package removal for service in tgtd.service ; do sysv_service="${service%.*}" rm -f "/var/lib/systemd/migrated/$sysv_service" || : done fi if [ -x /usr/bin/systemctl ]; then /usr/bin/systemctl daemon-reload || : fi if [ "$FIRST_ARG" -ge 1 ]; then # Package upgrade, not uninstall if [ -x /usr/bin/systemctl ]; then ( test "$YAST_IS_RUNNING" = instsys && exit 0 test -f /etc/sysconfig/services -a \ -z "$DISABLE_RESTART_ON_UPDATE" && . /etc/sysconfig/services test "$DISABLE_RESTART_ON_UPDATE" = yes -o \ "$DISABLE_RESTART_ON_UPDATE" = 1 && exit 0 /usr/bin/systemctl try-restart tgtd.service ) || : fi fiS1@xH 2F <&> G5 ?0 pF &AA큤A큤큤A큤A큤A큤hghghghghghghghghghghgcccccccccccchghghghghghghghghghghgchghgchghghghghghgc79c06ffb0e7a099cae470f5af01faee1dd4678f32dc69ca75db53fa9e77ca22f7e01f945e0ff741ca95f846b08e33f435ba778063c060175feb3d377a1b3a3bad134eb288df486608c6803526bde6f79f878be9279b91d1f59dc25532aecce4a3e964685b00174cd0fe553ea09d1b605a461c19019a4bb81ba84cc49baa309d39b556a655b4cbb040fe6ae52e8cf816765fe49d513104ef2853366748df22117cdc7ab84bee642aef35b6572f24f838c09da88da524b878aa1254258fda36783390d8459bda53762005b2fdfbe0f264ccb97d604eca46b5fb9757355c96ad4225c13cc7806654a05528428ff80e27eeb717a3c45ff3b7f85f089c885919797be149cab8cf002a1dc8137af0e5c189eb83f82dc22944f084e1866ad0c283adf624548942e8f9fdfeddf4d3087c24e3f3e7270a785174361d9eec8ead09012dd2c18ae4418f1f92d1d04a2e1722a884eee7f808f717c531a303b41f71bf07cf70472310f111e0ed859ee94c43f14b409c7c81e27bbdd5b9e9917ca3d223100c78b955bc5c348bca24d6bbc4373e9ce4918502ca4db6f802b55eedae6ed1d93124c74f5a624cd8751a83e15faaec9f41935d168ec36bcbf64ecd23013ef7b594b124fcd150aff0e76adffb7b7231f5576057c041251f4fa0df555252026c68ae076b9ea8b4ed14ec6570bcd1e20cee7b3447acb1b1f2ed1bed1a62c89d845469dd358c96210bc9fbd47a17bf5234f6ce48770afa24cf7f9af47ae73c44e10487807bd68eb06d28ea37a256a7bad6d2064aa9cdc6d9734e977d8dcce102de306888a18f7df082e84f4f1291ea0305aa0f9bc2e49e1b2686782cb73905047b81979e65e66a9e05f340baee7fc1f01340803d561b3d227cd793bdd58cd966d1ca108e63b361ad831f9ec5ce2dcde7f07ce80e3cb94cd602cc24be14a86293dc2b0e29f58f2ae4042a63e7724ad929e75d16e52147c42ec01c852792d111f2f39f4dbe97a876093f2d556538b804aeea42394d13a764b60a28be4b3cc50061203553c07668f8fb349a21bfd15621701b4ef6e05c6ca201ef4820b58c02eba1ba13c5251a78f61e0e55448a661d86cfc66927199724a93a0787fd232fc6e19f00fbf7e9ab936e2102dfba3dd904d1f19ce821e7a4e75264044e0f5814ed6a0123ab50c1dd46bf80e9f9a38ed61745a871ba7419d0e10fce8c969d513424379ed54bcaa8c14582750d02759956ad2c803a299e34254c72d05157af2cb472d2b62b7bc680b6a83bb7380a09e618d28dd8d6f1ff2e42b82d9092ba1736377f629cce2a66dd1c1937effd19d4c27f469edb8bc99aaf20ae0c65c0d404add77ec1add91223788177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643ee90c2b93ab1421224420ff706dd0bd2784c84527de9313fbecd7f37e6589495ec6e8b950c258c5f14f085c33e04956a84cb11a7e79784e297b7efb75ac8c79a827de2229ae6a0e7039bcc93b384c96a6e2a04582741dd36a3ee474a108486f794c09339af2d9dbb60c598a3df5a0a8663870bde8691c24d454e63683439d56be8f725164ea3c0997d186c01a838bfae06b68551151026f3f087890302345dc3aa40831c0c1cf434d19b473efd0898b56e8a9aa26687f51a1ff2cbe5fea64e65servicerootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootroottgt-1.0.85-150600.10.3.1.src.rpmconfig(tgt)tgttgt(aarch-64)@ @@@@@@@@@@    /bin/bash/bin/sh/bin/sh/bin/sh/bin/sh/usr/bin/perlconfig(tgt)coreutilsdiffutilsfillupgreplibaio.so.1()(64bit)libaio.so.1(LIBAIO_0.1)(64bit)libaio.so.1(LIBAIO_0.4)(64bit)libc.so.6()(64bit)libc.so.6(GLIBC_2.17)(64bit)libc.so.6(GLIBC_2.25)(64bit)libc.so.6(GLIBC_2.33)(64bit)libc.so.6(GLIBC_2.34)(64bit)libc.so.6(GLIBC_2.38)(64bit)perl-Config-Generalrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)systemdsystemdsystemdsystemd1.0.85-150600.10.3.13.0.4-14.6.0-14.0-15.2-14.14.3he@c@c@c:@bL/@a)@]:@\f[p!@Z@X|@VI@VI@UUe@UpU>lduncan@suse.comdmueller@suse.comlduncan@suse.comdmueller@suse.comlduncan@suse.comjsegitz@suse.commatthias.gerstner@suse.comlduncan@suse.comlduncan@suse.comrbrown@suse.comlduncan@suse.comlduncan@suse.comlduncan@suse.comp.drouand@gmail.comddiss@suse.combwiedemann@suse.combwiedemann@suse.com- Fixing CVE-2024-45751 bsc#1230360. This makes random numbers truly random, adding: * tgt-chap-Use-proper-entropy-source.patch- update to 1.0.85: * remove duplicate includes * Fix blank documentation line in service file- Some cleanup (bsc#1206639): * removed patch setup-tgt-conf-d.patch, since it's upstream, and having it caused duplicated include of user config * renamed setup-tgt-conf-d.patch to tgt-install-examples-in-documentation-dir.patch, to better reflect what it does (since it no longer sets up tgt.conf.d) * removed the sytemd source file we have, since we get tgtd.service from upstream now (with a patch) * added patch tgt-systemd-service-update.patch, to ensure SUSE-specific changes are in the service file * dropped tgt-include-sys-macros-for-major.patch (obsolete)- update to 1.0.84: * fix bug: target bound initiator-name but client cannot discovery the target device * fix use-after-free in iser_conn_free()- Update to version v1.0.82 (from 1.0.74): * tgt 1.0.82 * README: minor improvement * Fix FMK and other flags. sg return good length and sense len. Not needed, additional condition. LTO streamer not work with check only ILI flag, need check FMK and may be other. Without thois check working fine. Test on LTO1 and LTO5 streamers. * tgt 1.0.81 * README: use markdown format * Add LICENSE file * replace sourceforge with github * tgt 1.0.80 * scripts/checkpatch.pl: escape literal left braces * Replace __packed with __attribute__(...) * Avoid passing NULL pointer to printf * set INFORMATION field on COMPARE AND WRITE miscompare * add helper to fill sense INFORMATION field * Clean up error handling * target: replace bzero with memset * CHAP_AUTH_STATE_RESPONSE belongs to auth_state * After rewind option, la->tail may equal la->head. This causes the old logmsg to be lost * tgt 1.0.79 * fix coding style in log.h * tgt 1.0.78 * tgtd: support pid file for tgtd daemon * iscsi_tcp: add support for listening on random port * iscsi_tcp: fix compile warning * iscsi_tcp: Replace deprecated valloc function * tgt 1.0.77 * spc: implement spc 0xb1 and support rotation rate * tgt 1.0.76 * fix segmentation fault caused by scsi_sprintf * tgt 1.0.75 * Fix gcc7 string truncation warnings. * Update README This removed the need for the following patch (in the code now): * tgt-Fix-gcc7-string-truncation-warnings.patch The SPEC file was also updated to match updated filenames.- Added hardening to systemd service(s) (bsc#1181400). Added patch(es): * harden_tgtd.service.patch Modified: * tgtd.service- removal of SuSEfirewall2 service, since SuSEfirewall2 has been replaced by firewalld, see [1]. [1]: https://lists.opensuse.org/opensuse-factory/2019-01/msg00490.html- Update to version v1.0.74 from version v1.0.60: * tgt 1.0.74 * AIO backing store now reports a list of supported opcodes * tgt 1.0.73 * Update tgt-admin * fix build w/newer glibc * Display nop_count and and nop_interval * Quote $backing_store variable in system(), execute() and backtick-calls * Buffer size is stored in struct concat_buf.size field, so use that instead of BUFSIZE since buffer size can be more than BUFSIZE. Also, remove BUFSIZE since its not used anymore. * tgt 1.0.72 * smc: fix snprintf warnings with gcc7 This removed the tarball v1.0.60.tar.gz, and replaced it with v1.0.74.tar.gz, which can now be gotten using the new _service file. This also updated the SPEC file with the new version number and the different patch set. Remaining patches were renumbered. This following patches were UPDATED (refreshed): * tgt-fix-build * tgt-include-sys-macros-for-major.patch The following patches were REMOVED (no longer needed): * tgt-handle-access-of-a-target-that-has-been-removed * tgt-missing-module-directory-not-an-error * tgt-compare-pointer-to-null.patch And the following patch was added (and submitted upstream): * tgt-Fix-gcc7-string-truncation-warnings.patch- Fixing build issue with "major()" and a pointer comparison warning while I was at it, adding patches (bsc#1181571): * tgt-include-sys-macros-for-major.patch * tgt-compare-pointer-to-null.patch- Replace references to /var/adm/fillup-templates with new %_fillupdir macro (boo#1069468)- Adding documentation files to SPEC file to silence rpmlint- Adding upstream patch to silence bogus error message when backing-store directory not present (bsc#954801), adding patch: * tgt-missing-module-directory-not-an-error- Added upstream patch to handle possible target removal while accessing it (bsc#922526), adding patch: * tgt-handle-access-of-a-target-that-has-been-removed- Update to version 1.0.60 * No changelog available - Update homepage Url - Use download Url as source - Remove tgt-git-update; fixed on upstream - Remove depreciated AUTHORS section - Perform a spec-cleaner on spec file- Fix rctgtd systemd service symlink; (bnc#945604).- Allow to add options via sysconfig (bnc#828214) - Drop invalid ExecStopPre entry- fix tgtd start by giving tgtd time to open the socket (bnc#934642) and use bash to run multiple programs in ExecStartPost/bin/sh/bin/sh/bin/sh/bin/shiscsitargeth02-armsrv1 1751615250  !"#$%&'()*+,1.0.85-150600.10.3.11.0.85-150600.10.3.11.0.85-150600.10.3.1 tgtconf.dtargets.conftgtd.servicerctgtdtgt-admintgt-setup-luntgtadmtgtdtgtimgtgtREADME.glfsREADME.iscsiREADME.iserREADME.lu_configurationREADME.mdREADME.mmcREADME.passthroughREADME.rbdREADME.sbcjukeboxREADME.sheepdogREADME.sscREADME.vtlexamplestargets.conf.exampletargets.conf.vtl.L700targets.conf.vtl.MSL2024htmltargets.conf.5.htmltgt-admin.8.htmltgt-setup-lun.8.htmltgtadm.8.htmltgtd.8.htmltgtimg.8.htmltmf.txtsysconfig.tgttgtLICENSEtargets.conf.5.gztgt-admin.8.gztgt-setup-lun.8.gztgtadm.8.gztgtd.8.gztgtimg.8.gz/etc//etc/tgt//usr/lib/systemd/system//usr/sbin//usr/share/doc/packages//usr/share/doc/packages/tgt//usr/share/doc/packages/tgt/examples//usr/share/doc/packages/tgt/html//usr/share/fillup-templates//usr/share/licenses//usr/share/licenses/tgt//usr/share/man/man5//usr/share/man/man8/-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:Maintenance:39566/SUSE_SLE-15-SP6_Update/8145ce2a07d834bac2c24e5cb6eed5e1-tgt.SUSE_SLE-15-SP6_Updatedrpmxz5aarch64-suse-linux     directoryASCII textPerl script text executableBourne-Again shell script, ASCII text executableELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, for GNU/Linux 4.3.0, BuildID[sha1]=f1964f4623d811191494e9a55b42ee1fe8a86c5f, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, for GNU/Linux 4.3.0, BuildID[sha1]=e2fccd6baeed8c9f9b2ec869b6e99abd80acc224, strippedELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, for GNU/Linux 4.3.0, BuildID[sha1]=a60c0d0c944f3daa814fcaa84d795a22e478f8c9, strippeddiff output, ASCII textPOSIX shell script, ASCII text executableHTML document, ASCII text, with very long linesHTML document, UTF-8 Unicode text, with very long linesHTML document, ISO-8859 text, with very long linestroff or preprocessor input, ASCII text, with very long lines (gzip compressed data, max compression, from Unix)troff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix)troff or preprocessor input, UTF-8 Unicode text (gzip compressed data, max compression, from Unix) RRRRRRR R RRRRRR RRRRR sYI`Esystemd-sysvcompatutf-8172a65aac9da1ce1ebd817c7b7abde08634f053c616b2e8fb63294dfc6a2e7b8?@7zXZ !t/o]y]"k%b)o# /DXyv7Zw-UW@v[mN{Mk3qT*xS ٴ`a'FS׫{HRt3rqK@/{^.-.aU4u^_<\ez& W76} GiL*XLR& _/[L. fGlUXKEwUwnu>Dٯ38C)tF [ҊC LgpOXfAds2ٝ|ό 2,9P\f~ %1;.W<>$H&F2E!;+N&QԾ02~ 6fYbx&2TFRk 2g d;Syf1{QӜ|p@ wS4ȭslAI_c;7.IE3Syr; 5j?xdP)6.J?=,\ngF_B5gW/lLE6:=SB5|0Pb؟yr/OTkh;0򟦥s(MV mI()z4(5B v8I5/lAE߃/+U# q=6Jw}~/r0 %6lق)ghrlj~xW!)]A/ K}4}Nsl.ҫut|Uh3A4trBd8q XZn랅?az^h.@X;Ziw3A%Yhp6 sN'$(r@&|_y^Fy㯊F˒^gG@hE]YK*^؍W;5^fҢ?+n\Ҁ}?3zo5K%y^ Ӄրq,P0E+i/RaСXbxFGӉe[6mu>۝y I ő:k·LE[;/W4wgh[7]ⲤdJ~d o֥w[;`}=~ͱyu,XD6@u{B9zSKښq/ɔ{,G\Y.̷=TXDi-1k]R[(u'~&V= b5ri"i\`hX[lMK_Lr{(IH&L@MS#6F^Ue w*,<X^Q pfoa7TAa$a^\墣>:%ӬS^oyXIYFl2!~( =ONxT98^*eogpsi&wkdrjn`C`&^Fx=XCc۞ަhZſ1%x+E4H;kPRk? ]| wxȾA`3pe: [ n)6\e-픩 LS3+lFv 4F3S$UDX.AABT̓ձ9eWmk:PϾM)"3/t$˿ei8m)9CۅbBGjJ6-<J#gI8j$ ՄV-ok.l Bqai,[n_,\?SBGi!a$KeTڟN84=g7A✚ҴVX+IxأcN?pI%q0q>NBNgfTΑ adX}l }t|b O5& Ukk !uFd[B}m9enզ 7UtIHڈqv3iS3tP 6"oZ\]oIx̬8+(m2kWQ,(>^p`g q|":ПscpZmFv$>nٺk#`,ړ*IHiNK1]rڹ³%o-o҆:G*8 n/Mr,NG͖RUA~ش2@r]!iKNn_G/%]S9/M)jhooaTǾ0ƀ9j*o(f7z܋^G4B%oH lw{kw8fcsԔsOHGvl7^lA ,"m^B 2@,pUvUyTgpq4/]*]R) 1@4:c%-?10YzuNa.ITR2Vҷj] nc%-kg:z6 SP"'*d|n 1DRV>^zHk;3&׆%;M/(qu[\yNEQѱLN)Ci_?O>PbJK;b{Q~$gv vWfU+ႾLlŸlpd`P:~Lp9.a^sM܂[&hb꼈 'D$Y9Nʁ۳Fɤ(& S`"yVdBKȡ<& l Njtǻj(ۑIbaO5aop}/#u^h?]Iǻg'w2XӐ"彩$m5 a :a*Q>1cZ%C.&˸r #WoQ󰤭vm4V,ji_Hr3o ofa5W57 l訟+l'_މr=lD߫eLC-mYa I b+tY6"?0xyFC?YZ_#ݱ;$X]ZZOr?6)r,zhʕCoWD?^s] O8LmMpIX(PtN \r9Ff(-h:Q{*ۈT6JnyX% q&oDDnfq,xC `m[`;@$jJnG I,q8fO0UMޞJt߮]&)h_q2 ~M`I@cXMAI8Mx<[`TZ7 (Pš}|q)*=lTf^>!b7Vc+=$vpO*fxa@Y ̿?b1~ T~^Bd  ;4(F+ÀN0RG{A`+'BfԹw]o#Ҡv/!ee;g:ZOދ_2lm=A_fg'v{/>hDuS]<%6>%q{$(p8 B]nݘx"Hf]愒p&_"zWѦ.}^I(^n'3`.֧WnAOpţq 1@A}eҖEʠ㋔F^a㤢 _QtX!"񀉠WaTkp1NCFoeUaR rXrY|x6%_ rZtXFZz44'6RC&޹TZKlv&K7IA.0:3J + c(pL\}[/PA,PxaY _rJfQq ެ\/nv~ IT#)js$)hwY n(hq>"z-94?yRFL!}(w8rΣ8[6K6:QyA`GN[Pȓe=oۊTF.!b3%xꥺCglw^=M7g '-褧f~(EN;emNnPPu6D!n>@Rt;7~-EӅpSTP1oֆ>:f#>(լŅfKUZld3wĤ^e3ljM*L7DXm a'?Y dsXcƐaF*V G[dR[fxv\Fd;V;x~qg'Q4?np`/Ƕ5W E.gUjxvQ\cT-Hҩeأ9ϟ/ׁ~X w,إy )|IB:E$-~rҤ@ý/6f|,~Ì{Xd9I͟& &JsCXSTK*":t3Hب3˻jzeI{* ƙzD򱵜G \yXhJ wӝwުz8GPٝ2 !35Rmtd:^]^,t?(Do=d!,Q=H~30YDǧ?ugP*SU&u_ko٨*1~'[#[^CrRX)Qoj#I}ă/ج Q1u*CCobpJK(NB>.۝+sK.2bD ;d)ö'Ғk% ?Zsܳ/acYm^=pZ+YYFkp}!3khV41膒Ԕe[ceؠ396;}/lf/r3$-Mq~ȴf@CȳhJLDqkQV8}]IU)O41BiFoMxV {(cEIwHgcM(U=^)Kyh2L|e bNwwW<^7ʢV `̣#8N;K/%h3/h4HÀK?)n^{;$X (- P4߳/ m+r[KD(ʇ[X5[Ӯ,1W6YXdʉC/,vO VHV5qI焠lz@@T,\v^>fg/1V HD*iH^N { ؂BMyWTkrlNJ4zb~7`RgdqD AQ[Hz(3 ĕ$ ܁L uyZB.\Qj?EqqqM6\zsӦI"[DDADBDB2F[ `CxuF3&=ZzҸ),֯8εS>bn2qV0$/c^..{J@,dlvxr} iTMn-}YƦ1QxLn6iT뛧,ꜗ) < ɥHaB'PuVu) H(PsΆEp?!,t/ĺyjKwȂNlϊ[;o2|a as(\rۋ)p[>+*{9~;L@&CFYHی\e0Gx"3q#u`lG鶵_6x!`tFkXFZJ.Me^Bu (6]wэ٨l8g>ّp}_;l1bg&&[2jrK pYϮ S^~Z5e@ƤYoWc^^H1b@^9뎣&iE~|`Cyx=w*}}#ӥH&CoɮfX?f 0PqLElo`}ic>&HN8%NG]@&,pgnq%#p!}^yDu4IEg0@Y|tFV)8οr-j= `Sd[B4 [Lj%>Nx(ꔤL]%_MRi 44O%>jY LaT3/gpO×ql:7B#tz|/j $묁ыwUxt_1m @]%;?/2 8{YF*Eb |W"'Cf&mQvE7 m9=C*>;^*]p#VV g 'h-l#ds$钢a%w?P> Ҍ45889XNtv+Ba2Lpr#m\AYTo5֯S爲/? e a8]H_zϱ'Df?ǂh!T l4vߟ*NkcB%LBң1-H# R }_1$PQwFRYOe"YJtMR1$LYk1~ Iy%y(t0 `,C$ șr̴5NkϡzBF> W_}ኜ~97m^V[Y#MQQC7}n-xe=}{yb3E+ %"ˮ?`{ =+(iT-@||UYyy>}d0+8NIE25T*#-}D،O*B OinF lwot[R \"2fCOdhb?3O '1 Uu=a9?i"cZGA׳x8n>T<*U6 R,A+DnzG!oW:8JUpWmmR]+@97uSe SJ܎9-]Zښs_'phgF V`]}PiĎRHxw̾L9K(̳~ TL#357-d"q% fg>U)0pi$',Vq|c/Z+[ ^wB91ΊwG*9Ƀ CqY>_eݦN;S% 8&}rFC`dyK0 x[3./F}*Q>FTd<ԊSFr«~юzJp=G_k~[-Bmp+5[ fNAHMe 2zPF?t  EfF!{FڑQ a9FbD<ãq77;\8SItRjEC`@ƒl+ D|2*.IyJ֥<}SBUX#Rp׈`vfie2eYۗH-A|2>jL:e]iOI-GIeCo,5I91}R쀧v vO"Kƈ?7"i&M!vty$-¬xip38|T ,atA gQI8Q1 7EA׫G \'-_ մW7A8'l3`yi\3*ID>'ʱ=pO2jѢ+m81-R͇Pא5N_p jxD%g}pG9ӽZ0^pfCPm6DhMTwvNHX4"tcR?W!sVͼdbVN*G'QX8F7ȟT,j1H'ǔ{>t͗euf爥D٬sdzD]@6)z!~%ޣ YƯp/{'AV$˰kDZiSKΥ~ec ^Dg[h6驈;Gbɒmq$/bz>͒e ֌eS',`hM36zi./g~^,K*Q\Nm ZźJѹ;2ˡ x3/ 2-uBm߷ns 'JD>&Y蚩!F' *& _!r#6}H^Ӂz)dMQ6 cWw-3Uqޕ2G#RaZRt/x:HJH|)oxTp6gT2UP?[iaG'7X#ur7W52=&6jűB&1#˭![[dP d:IדJTlh3}^杜Ef'3Teh{㘟=:Y$ۛ;2dqblc&plgAԀq,'W2?aҡT R;~e a˼ސ]Y* SC;U*&~|"H"n磪H:_6Ŭ6ш<M v i8K];a"0L6YQ}-jwv!Grv[}6f9FH_C+dřƫgB=ҋSR R@ 'ܘe«}7,- 2C-Yg7h¹J;}OC5W863do$=''4 DmUtŴF, E' X&zZd(rBKCb [LU\I_YOvCc,&06{C'eET!D$IC)?"!5-@h{Rw:Z%HX&y5ΉO|3=fa $մlx_H@(>UY%0B[jf,S\YnTm@ jpyBujPcY6h+=mx.qhCh,5s?l]Ϸj5 c6n$ u~&܇Z!V6>k,j=#Wo3SF>)-h_nrVInmD[\`&Z5ğEѯ{U0|Cvq̀"(Kmv >^Vma}Ϯd#lSl7hJ,Uz/-"1~[b0m(RG[3kmʑ]hl~f8SO$-mKB 3>y ePv48Z4%>  ">|;0TIboiߠ~d8k>!<}`KNy%j6PL[J)3EQ0Z1Ȼc :oHf(FJ!6.5k$Zv63*e 4BP|+s( -W/&Ρ4Z6C 0I/YlfQsSB5,`ˑ4_v.rh16T[$~fXnٹ{#}/=:Ut蛹Vb7y)bHi4 =Œ[u[߯OFj@e$ GԣMN,`{@y}߽?Һx񯃞 n2;~_0U [٢+-YI1P-/P):wbaNdNFoXR#pEb3K :n{7@5W.|:"^147hu{m;Ө핪, ķdm5@s6S9bc`wr@RFv2@PI"4WT CO^Zy:]2H@nKᘂp S E$f6`Ik~ǁ|5s*T9|6hnb3r◰|I&[$(:gYڿg1)+ZEg>&A tsJ꯵TTfGx4Zu+$4}=UF3n %Srj!TLMQk"mM1R1  YDoR?,vCg3o'Hvn,?OВL" bZA^Lw|\,:Ch1bJ(7~n1FЭLQޟe>4 l}JD2Ӕ/՞R- 2J#Pma23 d4?Lvz3%jbƶ}'LK$!ƨ̔ZV\u {;'3+`!,g=HʺM+WM(|&7(T3x={ncsٳSHEၭ8Kڥ!IG,ƫ$`RVV,yokV\S0]a 8/̥@rohU4zÃEo%O @/mH|VWQwH$qeBsV&{K"Jw}RINx6/5}z:\K5/UL`e ?lRF,?8 w T :( ;wNyR'k')qh&M3uh[&\&~^WҬ# S:D'kc舜;I\ 7S8r34K"pKY{#Y>Ra t4bvGRZ|\:e.nOISXTJh 8MCThǥ&ن-x[Jt{i$9'51,cN>vHz^2>)Yj4xUBͱALƭċ .ӡu`@eL!t^qnFoo s\AMUhh%";=Tg7ÓW+q'dr2` ݵoy|-G&дSAao4\{$ Vӷ 0/~Ŏ u_ս]crv@ɟ(G~bf id]dJ"$35eI6td")o7IL3:dϞ0ٸl6%К%T auĦYbqk`= c% P6@:;D)-;fMVP%QfL,Qݦѿ:9v"hD0O\ a:u6# CY02w0W 5E:۲ɀTYs"Fq8(W+T_e"@aoQv<5&B7DAvUE(6{B_C4@).pY GR.*fЭYc( n_ud_hf<=jhuP#57#c!ŐmpnvqQs C a/[11&;] Q; AVޘ@Hh53v= F DJ/1 >=֘8|k"yN4o>aPqEvYfҋBno4ݨiBɣ vާ7~fNڇ[߹0@9[)_j$Dq.'EI/'Nٙip>ӋM2z7?3|tϋo5 ui9sY͵2[/$@WbΉN1'z~;5 =$Y㷹N ,m͂@h^595v\gym{:{>Ci/_Zhh;r,!n{,[ &6T<{j$9] u؎)>n .WtחjwC2`!3!7쳽gy W45)zƷ‚Ov^徇v(G[R W[674F O*,` |!nǏr,.[3K]7>Ne c^wD6*Ȕ|E6MRDTǤ! JGv*nb®[$"s 1af:c?k@Ӎs4&rTik[pPz}'~L\&TScXawO [Pʰzp%20o4JW85,9UmeɟLK^FoԔ)|z1Qb^Ku8ڱǯ-xF#nݯ}fN@ו"!atcLtu1mI0-)k)jΜDJ-ޝRTEƑ{d0E_VrLREdSf&',KǬXMw^UI|hrya()Vx i.}7fW ƶ=}s%lJ Ê`J2@a&{6Q,_/_ڛnS^#q0 UߝVÕ8B.Tô_\ʄ aaoFx20urFo!J}QBCdyƂ0$K*^5Wj 8~ȧÈ#|}WZ5nL@~(gm_@z?bzH+OkSR`JMKşt1 *5r"5SZ 2EkބJW,/QKtG1jq#D֍sQߊ^`\1>6pzxq$9VqgE.$\贙VLdb ^fOO .>I }L25xB[nPaj~nn'l`t8L02^t{'ItYSZeW g!| Ҋ )ɧCآ kO@)uԷG0(%{}.vR++Lrt-uDw7Qo2>7V -!7#Ƣ9nWL <5z&T7-s֙lt< ))yEpItGO%LaUA ^qCn- UAMj=hWMֶ$7ȹcGFn rX殼"~A` U'7bP4X2dCƺ/u@`U~逩[*7|$k^;IU(սogS q^]"2~0,g\UbH9+6,y/{ѭ! _hy ۢm C mivږ޺6NP+,2ߣECn#Lh&`>zVF~E*f4QdB5Wq>\&( Zv ߏ¹㘞$;mBh%{W(  0}׭`8jy&$ٗStoq; D1'&lHROo㽌zf (Phߨ|x[&mhISrig;vӗ5 ?𳣚0KW^$B#/CW"L!^y-;W_Wms 8B(\gf I( ka듆=WCj}vCv#W?ǬWVt?׫{,ĈZ[r<*[']\!烀{-h8i/ R>)``IC%R(!p#Lx9ɞ[VLpz:v3 ^\Ӿu):< S /'>LI!S"UBj\o,T"(}O'TguhOM%XWu]\@&f3's'뎼щ?WaOC7[+mLbQ'J{{ jXt?v=<3xxu9:QQnI(iDɓQ8RRg/.'uT.T{ŞhH֒8>)xLDĹy0?#OUQx~ڳCq<eo feV}ppPldH>J.H`rj>yTY.–,Ѝ[۵Μ;`ׅe)+\xKXEÎG[Ƿz%ƈ.7ɭ>4UIҷtwR7}W%"U)OR̽(σ)^yɔݸ[^]}ȰR+^ݝ m< 0OҺ<$UH_tLS`f{5[ײRΚ>fmXU3.ʁF`$Knd;/~5L=2J//\b^ {@,W-nmch_N(":Fz@iTwYga`iPQk-\E0$$y>+skqH= qSgDN3`bVBZ_yg~J$6L~U|mKHApqD܁:#WE|f"+2١wŬ*L۞tLI3YmF<dP+DBBIg"3#J^@3DaAo QIf?0_vsޥ)I_84<')Ͻ拙Xg,Am[z;g3y=[r7?k,-@B~w(H)d2LlѼR? =XR s %^:wv2j!-6C4'}B2v@C77wN8ך3[AK~g%=)\Ÿ ';6'6N* Z  L[3>^@c 9ɡoN):Z+FE83fJosĭ$k9G~`mt|騑--H$dp.Z%hU i5`kwHK.z͢˨nfVﶸ=7LBT,=!͆j/^݀k4}5bDiI ( 6bT=jsL44~;7;s$xsM>^=h+~~|y"M:}PBf5;mR f-ILlL`e '<&{ۆcFʮh,0t*zLv 9iWQڃחL$_'sT^z ֛ x>3Lv2<qvΌLD|jW@Kͱ7Įs^l\ƝcM Uz\{H9{ộY1Ν\[}c E(?&3ojT|0xˎ*ۆMUbO()Qx⨷H6[,Tdzumxz16m/\n?p]{mֲMB;GQ[Oc0v+)olș$#HΌ}9jFUxZ"w˓cb (3۽oG%d7[hcGt}}b3J r܀׵` LU"t#e;Y<ƧZKguVAz]+G!e{:޹icuZN7aqyQXD5% . a;tߟB5zԽYN $4k$8.9q)±? `6lFgR:M-U9@REItCQk~( < cgF@Tn Ƹ>;mx&9y7Fx@@'A599)#TE ۫;ɘT&Msqdōsjf4w:Q` ?Bw<]{i>z ItfzH#y|_ްX.=mRMޢTmxP:0 BOG6ipOsY{Fp]@"RK&;W_xkBCm#~wJe'Ŗ:Bީ3[U<ֿ*CM 4)k8;}])Dd mw)oGPcHlZmd- 9L;6v$g1ew4Kٚ^Cӑ"- ʓzwJ '2C'ϯfzSѸ$r!o nW<Q ME5qq] L/ R7WQu7ătnB'D XE\bY&K]8 faiYTC4_}Jqp`&It1R8 h<~^XD`t.鲾^x%aR#}̀狪&%`&s]Ԧ7nsnƨ_(" 'q@mO5R**Xpb1clt =2#IǷ.+#y zrY\ERh?v"--f`zϯ7Ya0Ak_8yV2 Kj/P^@ bICP8QE[3lJwҫna [|%GQzhBA ѨQ3 ]5 YZ