ruby-selinux-3.5-150600.1.7 >  A f3WO ?L-|ف}"uotw9>yDp>"_g=۔ Zi.XCf(|D~_a9Yp-|i\x끂KnLlI|PUGu> J tJĉ[TZ܅na- d>׽*%jZ53YBpK2e~gL)w;wv‡}T$庚&Q_[w“*~VɲF#= o Jܮ&5yl~+땙`O XK(Y&^?y8UZA:s v푫QQ"KRJEÔt By=يGPho#vW#VI_H3߃BpՐ>d&(cqEcRZZ_]J}FվQёK}V!9/jy[ZU]1D!Udmmĵ-ʚaT_GE0f7ed97cdf17b6898b2ee8e638fd0768b045c21fdab205d71e23d0edc92100c9c87281954a68e8429638023822c4f850e1fa85d3f3WO ? 7-2=0Xi "ik&K@fk|2 ۚR374ٞ2rDp nqFϛa{΍ĭ'!v@v<'Nh/_lBi}~!87Yۮe\d̢E{=_J8Э7Dxwp*=JrؑF[THNm Oi-%pI<4H,|C8tE)@AI2eN}lu7azK,^= ե; @*{S,8>ˣ!8,p` 3lDfQ=e<Ys>\zenź[",%l'7H@M5y{G:ˈ6S]hf܎pT$Ծ9uv|$}u_\hLi@I*s3&)3UֻVBc|Y /~ h>z:>趪Q 8TYTp>,?,d  L,0Ij}     A DHMR  ) (Q8X9:F)G)H)I*X*Y* \*,]*0^*;b*tc+d+e+f+l+u+v+w,Tx,Xy,\z,x,,,,Cruby-selinux3.5150600.1.7Ruby bindings for the SELinux runtime librarylibselinux provides an interface to get and set process and file security contexts and to obtain security policy decisions. This subpackage contains Ruby extensions to use SELinux from that language.f3#ibs-power9-16SUSE Linux Enterprise 15SUSE LLC SUSE-Public-Domainhttps://www.suse.com/Development/Languages/Rubyhttps://github.com/SELinuxProject/selinux/wiki/Releaseslinuxppc64lef3"05df2ad24fa640dde73b33872d793fa7b3044e460c9080bea8aa8d9eead9c95brootrootlibselinux-bindings-3.5-150600.1.7.src.rpmruby-selinuxruby-selinux(ppc-64)@@@@@@@    libc.so.6()(64bit)libc.so.6(GLIBC_2.17)(64bit)libruby2.5.so.2.5()(64bit)libselinux.so.1()(64bit)libselinux.so.1(LIBSELINUX_1.0)(64bit)libselinux.so.1(LIBSELINUX_3.4)(64bit)libselinux.so.1(LIBSELINUX_3.5)(64bit)libselinux1rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)ruby3.53.0.4-14.6.0-14.0-15.2-14.14.3ehy@d@ddx@dTdS@d?@cby@a`Q@`Gc@_ @^^F]q]{@\"\\+@[$@Zz@ZZ Y\Ws@W~W{@Uecathy.hu@suse.commcepl@suse.comjsegitz@suse.comkastl@b1-systems.dedaniel.garcia@suse.comfcrozat@suse.commliska@suse.czjsegitz@suse.comjsegitz@suse.comjsegitz@suse.comdimstar@opensuse.orgjsegitz@suse.comjsegitz@suse.comjsegitz@suse.dejsegitz@suse.demcepl@suse.commliska@suse.czjsegitz@suse.comjsegitz@suse.comjsegitz@suse.commcepl@cepl.eujsegitz@suse.comjsegitz@suse.comschwab@suse.dejengelh@inai.dejsegitz@novell.comi@marguerite.sudimstar@opensuse.org- Also build python3-selinux for toolchain compability on SLE- (bsc#1212618) Divide libselinux and libselinux-bindings again. libselinux itself is in Ring0 so it has to have absolutely minimal dependencies, so it is better to separate libselinux-bindings into a separate pacakge.- Add explicit BuildRequires for python3-pip and python3-wheel on 15.5, currently the macros don't do the right thing- allow building this with different python versions, to make this usable for the new sle15 macro (using python3.11)- Add python-wheel build dependency to build correctly with latest python-pip version.- Add _multibuild to define additional spec files as additional flavors. Eliminates the need for source package links in OBS.- Enable LTO as it works fine now.- Update to version 3.5: * check for truncations * avoid newline in avc message * bail out on path truncations * add getpidprevcon to gather the previous context before the last exec of a given process * Workaround for heap overhead of pcre * fix memory leaks on the audit2why module init * ignore invalid class name lookup - Drop restorecon_pin_file.patch, is upstream - Refreshed python3.8-compat.patch - Added additional developer key (Jason Zaman)- Update to version 3.4: * Use PCRE2 by default * Make selinux_log() and is_context_customizable() thread-safe * Prevent leakeing file descriptors * Correctly hash specfiles larger than 4G - Refreshed skip_cycles.patch- Update to version 3.3: * Lots of smaller issues fixed found by fuzzing- Switch to pcre2: + Replace pcre-devel BuildRequires with pkgconfig(libpcre2-8) + Pass USE_PCRE2=y to make.- Update to version 3.2: * Use mmap()'ed kernel status page instead of netlink by default. See "KERNEL STATUS PAGE" section in avc_init(3) for more details. * New log callback levels for enforcing and policy load notices - SELINUX_POLICYLOAD, SELINUX_SETENFORCE * Changed userspace AVC setenforce and policy load messages to audit format.- Update to version 3.1: * selinux/flask.h, selinux/av_permissions.h and sepol/policydb/flask.h were removed. All userspace object managers should have been updated to use the dynamic class/perm mapping support. Use string_to_security_class(3) and string_to_av_perm(3) to map the class and permission names to their policy values, or selinux_set_mapping(3) to create a mapping from class and permission index values used by the application to the policy values. * Removed restrictions in libsepol and checkpolicy that required all declared initial SIDs to be assigned a context. * Support for new policy capability genfs_seclabel_symlinks * selinuxfs is mounted with noexec and nosuid * `security_compute_user()` was deprecated * Refreshed python3.8-compat.patch- Update to version 3.0 * Ignore the stem when looking up all matches in file context * Save digest of all partial matches for directory * Use Python distutils to install SELinux python bindings * ensure that digest_len is not zero * fix string conversion of unknown perms * mark all exported function "extern"- Added swig4_moduleimport.patch to prevent import errors due to SWIG 4- Add python3.8-compat.patch which makes build possible even with Python 3.8, which doesn’t automatically adds -lpython- Disable LTO (boo#1133244).- Set License: to correct value (bsc#1135710)- Update to version 2.9 * Add security_reject_unknown(3) man page * Change matchpathcon usage to match with matchpathcon manpage * Do not define gettid() if glibc >= 2.30 is used * Fix RESOURCE_LEAK defects reported by coverity scan * Fix line wrapping in selabel_file.5 * Do not dereference symlink with statfs in selinux_restorecon * Fix overly strict validation of file_contexts.bin * Fix selinux_restorecon() on non-SELinux hosts * Fix the whatis line for the selinux_boolean_sub.3 manpage * Fix printf format string specifier for uint64_t * Fix handling of unknown classes/perms * Set an appropriate errno in booleans.c - Dropped python3.patch, is now upstream- Update to version 2.8 (bsc#1111732). For changes please see https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20180524/RELEASE-20180524.txt - ran spec-cleaner on spec files- Update to version 2.7. * %files needed to be heavily modified * Based expressly on python3, not just python For changes please see https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20170804/RELEASE-20170804.txt- Updated spec file to use python3. Added python3.patch to fix build- Update to version 2.6. Notable changes: * selinux_restorecon: fix realpath logic * sefcontext_compile: invert semantics of "-r" flag * sefcontext_compile: Add "-i" flag * Introduce configurable backends * Add function to find security.restorecon_last entries * Add openrc_contexts functions * Add support for pcre2 * Handle NULL pcre study data * Add setfiles support to selinux_restorecon(3) * Evaluate inodes in selinux_restorecon(3) * Change the location of _selinux.so * Explain how to free policy type from selinux_getpolicytype() * Compare absolute pathname in matchpathcon -V * Add selinux_snapperd_contexts_path() * Modify audit2why analyze function to use loaded policy * Avoid mounting /proc outside of selinux_init_load_policy() * Fix location of selinuxfs mount point * Only mount /proc if necessary * procattr: return einval for <= 0 pid args * procattr: return error on invalid pid_t input - Dropped * libselinux-2.2-ruby.patch * libselinux-proc-mount-only-if-needed.patch * python-selinux-swig-3.10.patch- readv-proto.patch: include for readv prototype- Update RPM groups, trim description and combine filelist entries.- Adjusted source link- add patch: python-selinux-swig-3.10.patch, fixed boo#985368 * swig-3.10 in Factory use importlib instead of imp to find _selinux.so. imp searched the same directory as __init__.py is while importlib searchs only standard paths. so we have to move _selinux.so. fixed by upstream - update version 2.5 * Add selinux_restorecon function * read_spec_entry: fail on non-ascii * Add man information about thread specific functions * Don't wrap rpm_execcon with DISABLE_RPM with SWIG * Correct line count for property and service context files * label_file: fix memory leaks and uninitialized jump * Replace selabel_digest hash function * Fix selabel_open(3) services if no digest requested * Add selabel_digest function * Flush the class/perm string mapping cache on policy reload * Fix restorecon when path has no context * Free memory when processing media and x specfiles * Fix mmap memory release for file labeling * Add policy context validation to sefcontext_compile * Do not treat an empty file_contexts(.local) as an error * Fail hard on invalid property_contexts entries * Fail hard on invalid file_contexts entries * Support context validation on file_contexts.bin * Add selabel_cmp interface and label_file backend * Support specifying file_contexts.bin file path * Support file_contexts.bin without file_contexts * Simplify procattr cache * Use /proc/thread-self when available * Add const to selinux_opt for label backends * Fix binary file labels for regexes with metachars * Fix file labels for regexes with metachars * Fix if file_contexts not '\n' terminated * Enhance file context support * Fix property processing and cleanup formatting * Add read_spec_entries function to replace sscanf * Support consistent mode size for bin files * Fix more bin file processing core dumps * add selinux_openssh_contexts_path() * setrans_client: minimize overhead when mcstransd is not present * Ensure selabel_lookup_best_match links NULL terminated * Fix core dumps with corrupt *.bin files * Add selabel partial and best match APIs * Use os.walk() instead of the deprecated os.path.walk() * Remove deprecated mudflap option * Mount procfs before checking /proc/filesystems * Fix -Wformat errors with gcc-5.0.0 * label_file: handle newlines in file names * Fix audit2why error handling if SELinux is disabled * pcre_study can return NULL without error * Only check SELinux enabled status once in selinux_check_access - changes in 2.4 * Remove assumption that SHLIBDIR is ../../ relative to LIBDIR * Fix bugs found by hardened gcc flags * Set the system to permissive if failing to disable SELinux because policy has already been loaded * Add db_exception and db_datatype support to label_db backend * Log an error on unknown classes and permissions * Add pcre version string to the compiled file_contexts format * Deprecate use of flask.h and av_permissions.h * Compiled file_context files and the original should have the same DAC permissions- Update libselinux-2.2-ruby.patch: use RbConfig instead of deprecated Config.ibs-power9-16 17146514273.5-150600.1.73.5-150600.1.7selinux.so/usr/lib64/ruby/vendor_ruby/2.5.0/powerpc64le-linux-gnu/-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-SP6:GA/standard/098d7340df9f64b4c2957223dd0a6b82-libselinux:libselinux-bindingscpioxz5ppc64le-suse-linuxELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=e7437a1a638c101a9909090b8808c4b9924e2661, strippedRRRRRRRb*$, >.utf-81811e6a3a301fb50e8255b2315d220bb23260ecb0fbfdaf58eadc6e7d4f9a1fc? 7zXZ !t/Ǎe] crv9yږ!v@8y4vfMcRfBF7 &у6WRZ u"\Go8DS b=IN,{~/IwGXz[Em7 NGXW*"+J'>b6WfDrCjH}._(+{|N"Ì( 6_eZQN^%5@jǜ(8`$MwGVU%6M_^d2&Yxҥ jsc;ӔHuDpȐ$Ogh}Ҙ^|cwsydb1PRǝЅWݸtS&&#Ee;IdDl9bE k26^JMp"C=q 8<Ag3 (8#qY΍PڵOh o y2PWQu KZ"QTl׈c[͟^ U䖁b"=4$+W*8VrIJL j<<=-eMS廐{@έldrXԒ)Gm{oL1ů &Wo0Y΂DWk&L S7-%+0 )T 1cA\Jm:wRӛ.BI/#t ncf"cb u{Q-f)S4+DE+R*v6Ṏ':=By#g\|6Ѧ:x& =]9Vd4av)lGʟ"j b#~ _xxJk\[Aq1AߧXv|M "s)J 3dVxԴ{OhNԽCg[' ߪv7{TBm*r%EPֶtLxqS_p6҈^ȲP/D<8kؾ9ٍ"k{Kt >4·=F%tpz󫮈@oeIzT)C8|RJk@d[1* 5 -.qb? X`׌"µj}z5,ڙ)ޯB7їTOQr/&o"0 -XU9(#ZI]zp$W)+R0E|6P,rs}g{wj1`zW%`Q&q8ymOMr㬉bn{hL a!V5UH6/htUt ;BdOޓ lcv#z.^!I4"ү!;,Px6ObuA9|ݰ]p 稟Ȥ@]Gc -~uWzFR6)ݐ“!"'&ȑUpD nx/m&n4sJ//p; GH( kJ"Ș?"/Cn4O氵b)D~ "FV5*8six赗xh\dZȫl&6ٖZ)`IH]ĪǹLla ғ]BS<^\^fnQ-G4 !{mkN]Ϗe~- ;Q59W*ڡ1=qt;3.c@<`Ud$Z3K)%-&B%|Qcfj Wv~g6J"W&+KnQ<ֈw3,DZi}gz *-x(8XFOqOF);gnlw,vazO/:R˪%W\A`54F&/aS&$#YxG2`Se/'L9UBm%D gI}uLʜߜCzL$,Jg$w>9'.>q%Yy1:4EA5-iLm(c-d%`)^_C^J/\"87 AB?4 뀚mdX[ 8c_gVQ$iGEWybs_@6$`"m{@ @"e i!WȴDpݡ !HZJW,k&'g pER?>.vi-'4om!Iޫ?A.RNj9:t b9S¡U o/9^t'yH ּKwYC툅uX0m0"hĩmqbꦐ0!_?]}:$z.NmS,}'YNjĔ[aS Slnp>G5u 6z 5o]G r^UUeA^s#AWE1~# heH*Fo >E9pZn'sϫ|Ie}.ƢoYxMbF"7O#^RԈ[Mx:@-dZ5JqO$ L1޼~mʶ_[a2QmN ,/k?O&~Uh½]W .{!IhBh ŒTX9{X9m97pG `cv55o_ԉMJ!jԯ>VgN?H'Ů,Cz{K3d)GfA53!i@WgT dirt*GKԁtm y\^MhҤH4_TĒnT6z)VTƺ1>ziX>E3 -k"NS)a}5r<ؽ~In6%Xe֛'=@IW rM_]ҁᯑ?>i|po- 7!uxWeց2GhID9]&^(w[x)^2I K=ګlY(zk;6kEնc~>$MW t&|',?#6Ee;o'O} Lܩ[Ñ"O;{zPAܗxn2ݍ ;븉wf/Ls[kbt0فA\UPc鐁Z*>6\C3@܂g>sN7% {{n"\.K%nkŮgB*[>._e'Mxcg}j"vD$/)f5MQԮa3 JK:}M'&saVH/5+YQq'$jBs-lZka]k!VYi x15NS8OĐ*B9>q`Fl-è{T'ue'S w1b$.xݍ\*<=ѮC^ tXޥ\pJd [-/AN_d%C{:Q-=JH6\04 밀o!R=?(#XChbV_i ʌ%= ʭ[TKO/W|m[ .ʷAv͉%I~k:fD%Mq+ JՏ "g֌hi"wXIM5Lxy ќ Ht6 C[(HH &Fe cf0+`Kww@ψ"'+NnDY" 3F.")Fsck2V! ̂ʏx[(Wa6j8`Fp;梽uG2{^q*gʊ *nRWNU01D\c(iGVϟ[)-`r!k:P 2.w~q:}Fll }.-u UorYPw*)آ3"WJ_2YXQvgD9  m_DCjm5=D׬DI-cI"16ǍxĹ@m}Lpܗ:^dB5JR^Rm#fvHg0VNa@QTκw[D(Z]%tɴ]qyDSѹ}i,dRI| 8V]hy]c31U~Ww`g_n_'#yRo`k7U(A=2I@xLBYJP Ȩݏ2e)#À"q9uu2؏:kʮ"#.Н{^a)L5D}*ak>\rY9W}%?)6ySs3 W87/sIvmYH gjPC&SoQ4n[x_ ݾMI 4D xA0uq&NxՊ>QZq,RxٲTd[/?ZRs.z>\"+/g :lU~3 f~t-_q}_r 7uهY7זUcXzJ&8b҄J5ĥBYbԫN?C۷k,(Ðtf*]ː/lL^s>uI7m!|Ü}k(%4쫏Ar}AQKx{E&4hLCOJLF JXʤ6w rlt 1bO_Txìyln؜umK>vΥlԨ $xYGBkQͨG3b;n {͇Qo3->!9Kt .(cmOͱ454'ԘH .y5qmu+xvFdq_(+iw"S-xbJnl'@7Zq,{ NJցV rр}$ق2&DV_JbAםwg={!?9Y&+-N$Or?}L94O_ ?u,'r>'8ƛQvnH'b6n4wB!8NTy &UBA0{0h]@*Ʒ?Ϸ< g!e$K p=d>@;xM51+.܌Qqrߕ9% w(\ |GEX| Jh54@quЍbE6oJ+LaF:8[E4 Mg~`Aܐill8hK=|V l1(ZRx\=YG!dJ .&3t;7 J_vIp'/gpJ%':uDC^?F֚F؊q<&h?'!77ۋSE-ck#vًK#T(1YGig]GjM'b`FT=qRI<_ M(KL%dbs]<ގ%8$c4ENe_g];zN&> #?`OI;~!4̈́ 2b0S JtzY`M x̀f!׏jLӤƟI)²3 `UF\>c +{{B:1ͮ?ri T.9+o@h3*9 t1K!! б]WrjsRC02z}u*2GE)`[l]r81d;kpjMTV/ª5ίN\iN!2bT= Z-4,nsHOTg`j<1Lҩ ܬ|'Wdy=k6% UΊfèyzs ށtR87wy⨑g߉{+]F*@URcLZ}Ɗ u$۬zYo)I{SpiGZ#zrAxtV("mE@G }BTY3;5=.9bD!0LetߚH;`fM=YأdWIkuq{O}wn;pw<Ӡ_* S|6Qbz3}B6b1o9?K͂ոL9w˚piBf2KᖋwMJ@K_u}Q4䈔Sc1sU&Ъjr}Pa \^WFYvaqSגZ+N|RoF ײ 6 kK ;WٮRnP=:~)5(RfUHaRRhWqdi+!OO90l)Q7+CpkQ2_!3u,0hwLճNQ`H5>웶S` ˭O=D0֬R*T=9J6m2X3]PO^LY2A4DiX+(= -, 01 w5ŔXaO 27=:RЍdeh75Jt.Hf1p*gl}27WEpB%(6$ai}@$w-9ץ4Fy/uq:ΌGߑ W/W>6"ccbcT_sTBjrWIhp]rg(ڕSye7 HZH oD ŻiUNHg*o; (%/ SVsmhRMJ8FX_BvI\͕ތ54]ŞTv<՘&Kj怨oYh.y_<s-lہBʫ= Nc+3sT֛SP? Oe SMgQ(Di>bg]+ iO uBAA9iu1K0?OfaRșt떮h@,Ywem 039<ʹa8! j5Gjkz$ C,>kFiIijߔ(:5OZ,5Ux;ng`jŎF˭2> ph~78A#MCWH%l^'7?1^LmQ8ֹuM$n]G40}zS&A;`B kvoͧ,tׅYlW{L^q¡7GM9Õov)࿢].802nuJ8mjBYõQH,%)BK2⚖>8@~B% _t#kC"d_4q["mm`TJ+**HuL}޾H#&~&ܑD:`rsJzw";Ϳ]h\m?y:7_ZS۸`@鯽qك#3b␸B{?F) 2P7v[0hFjCȭ%6ΕƳk1.J5~ʾ-Y2\{;\ȂMb[ y凇L@cyD#mkLȵgWBqLvKO ]'V7ϳ]!`Yoz}VVҢ>лey%aLEX9bNΣ BV>0rulVPM19c+iрqHQ̭?^9[1ꁾ!/}^Dj4!Oݸ]CT»򴕁piM[8AmCv5x pm"żzJ9)9cݟjJI1(C0t9^LK21lrpwXcBI&D[&VkHjW::5a}%H{^IGOek F+p+m4:|n.,=DpPHR4`Hշ<[[nv(515A_Ym+G:-oz20ִ &%_h+ 4FJaWkΐ E${)//HG cUf;13,h~&x2B]%e&*gYހXøBy"}J2J3q=\d\#ߢҖF!'m޴I:iM9wdqn]#ztVx;Ĭ.֭Kyū85Ϝ$&d _(|H AjhH4iԞf{=hCxva[ї^=nR+%М2%~!C:G tq#3u ,7RǼ~.-zZb0@匊$B=u ݀k'ղzo&27mw\]L{uvC%h\sеګO' rW&Cx &<(fvA+ZjfR%;Nt炤\A` xlOSMs/,Vb;Zi>:+\ 9|h$%8:( &!ЮohMW5.B"z9Ț9#n,۔h!g΢5iXt{JxQ}V]`xډfby_~C>o)- ;Dp.Jv~U66/ Q!752s݁n.]D!6]z\:&y>bMS>.w&'uv  @b "J{:`øut~W$V_+ RO[z>bo"\y Tʧmcr!9Nȋ%c kNΪYxˣ[>JrdӾ`e✝ E?5G$^7DQҏ+{JOZZy| ;+W Nd9o +4G f寪 3"@BoT7N"gܰChw~C#*@M@c[cR v( 9ZGfե_ Ս|ځpy]#r䍗xht6%$\XDPmUa9X47n'6Ƙ^Kc'NJs3q1lTտIM=pς\[*Jл8NWK,N!th⌱k5c5C0`X;ۅnPˊkUB6oJ`և4w:֋Vk'({zkc;S鱌o%xuskLI{p qGnگ˱ᡋ}!.n)a}ILr6<ѐaBZc>li_WHȯ)7zngD0 Uyf3GbQ0'g]^W E k4;Q-sOI=<pa]bxw|tR]xM˿ϟ{Kh| kf3'в(%\KFL ?]w՞o$YLřwdEs֧VG('d@į$)̮ [vq3>6u8Hsr oHε߅By VvUgٮ*5+k48^>-R}jhPe\8KE$3(BG3gj݉>6zz38yqHjZD,Sya9+!jsyáRROG-xICA]}G}]P{x#+YQ|@j'YkN ~ցd>d/*d2n8%zMg_/v"6T{Ţ09:D6W'099Z$as͂*OIqDxg6|m'!۲@O3V|XAWZ> fˠg` X'Nr+tuat(7~d!«뷴amN6#iˊӯl9m.TSOQ$i.XTw0+$gCkC0uJL~/NLgɊYœMKWJv`7 YNsP9s(uLybq=1W\6\zbF{&x4AEβb w.ͰLJ2 s;JS" CMo2|《lD "a4N1GN2ʓ}|KuKIw벱t `܇ĐmdG 9ʩUCW"MDaJ$j|cY]҇zo-G,.:6r)KؠawߥB6B[CY mp=+g䈹skxGjMƅTJD.Ze6迋o=/6.T,h mT1fȶyn p5A)J\k?,WOms.?QVC[Hc3kh }Lߘ'*|pAlx0Q\'<7U+GwF5λ}_^tR;Pc(S8ERвF Api„t7'bd |Uw5e^Oi1+4hR5OF;_3T@Z%z ( cT])֕3US,tr^s _ X*SuMl]D 3ݻޫs5G4J;KDj M?zrVfZI%-+Eh7\/JAr|GvuNq*mT~r3n|x%Y$&Ow Sq{N-VԎ>H{+0L.iP%2OdC Q[EJh$*ͽ`Fn.zc!җ'1Rju'"m(0-m**+A\r:if9`[YN-4SZfRF| oLkkJShAhr9` 9 4vn=y|cpv!a[i޳7SL',W#zg_ÄdQQVR)Z*vsF K<]'.m] .+[에]t`4]Dpe-uO$WY|BmC|(9 Lo,݋@D}æabxsdj zMRd?>;4 %>yk6u=b $,%[VY/S눣7y&Šw<j/S<.fa?36m0 _g9X)A>oM})g2wxsTњ`!n[ .űEMrȨL/}ȗh}`W'5ڈ6\Ht) 27.H[g B#Wt|:1CLP͊+q4xʰB.i3>5ȺDkKM޼n⧂.%v\L N|՘0_1bN0=cZl*y|2[^{ay,ggs~ 3H\ ȒV/&M {EU=UA.kV ]Ή xeNPp~N*l$ߩ"v^3PTO}731&8z`opzg#+esX5qA9yD؜6~asܿ{F-Z.;9+('?/NA'H)MBs9w{ (F.+^ʏG[GiFR!8*@\Z`~g2LmUCÙ ";=J*}%|[Y q͖WCQq̒"W8Fgӛ1ϽZa}P@;4&j-Nw t9%XB0{ۿF"W;C3y|"̱a_n$=7ɟ^rx. b"$Bmuh2,_# M}ڿiX!5)g쵹:b3G7ue ][goGNv(e"`~iup+uHnU<21 9gG0k/&}OXIaNT/L ZexH&b<Y(Y]m4 5FoyP|`n:P kPxfU }7Hښ&V @³c/JmRL+>kr?&@B<ֵ^ [e+[.6= ݖF}P~wgtmTR vܛ?)I0b:.HRdU| ԔyюXRƅW}y΁[7#xb@m]a OZ"ɰne6}.<l/9T"i>H,?h5tvNx. 2h916+_/lE2M2fLWTUc,Ss9#0h쒕R4q4r5|(^3GALxFa{َ<\6}XzmفRI"qTPx"I"zf!&pn"߁OxlXO޶n*;ʱPzR&B:E9*lO3 s6Nʇ("ݼVQpaĝ5KdnN"R?wfx? z=_#yk0 c6˃G컏:4ߠ <~}Ioyщ򥇦==@x(y>cnb")p_@tDk<(}B~oM"">n0<rr@ĝE"0bϱi=k%؂k(pA#D=)[}2MŪ:~!vT2t{$rOʴ4{'3ƎHMqY3>pL ]g_Wא ܧq LSJ$:%"]J"e+;<'8/Jܣij;np#Lqՠ[\'-7Gnpd%Ը89# !vс,F3'Ȝ=8d3+)\}_~1- ֆc&OͤDkᓉLКhx|5D-+m<.*`,P{(yX YWS`u4ydw+z =bDh.ыYY= >< yxacޝsHe~o$!w5kWIA睘|̴l9|{o()Kнw$BbLIzNdp f<:9,,2^'vǷ+sa{V; !]~g!ttnmP+@p6Ln]0w=/l^rP‘kv):Nfgn^̷N^"VFJFuZ_o ЧSzv-:;.@|caiiBAˑ9_Pa"{-Ҫʸ#}M[)Oi{/XXrΊӆ2^zSA rEױE+ӠBVֿ߂4PZP;Ru<ƚZε>8qfrGc>U9bXYz:Auqqi`K=.i;\ͩ܂e?*^c&³O6#& EbCO)YYM1dGRPV2@@y > WOE: 2j@Pe-@W^(ZwVWrPM3|Q.bAV-QIn;K٠" )IQB#H֭ZuСGdeHAdI x|, L-qd~ޣ8XÙ.IBXt/G!glueZvGd ïŬ@P ^sd,r۴UP{@xN$]pXxM(;f:,m,Aޥ)9f$W*j6%x#ºhDq^ZFLbefk%zno{cRA8N،\,lVU"%X8F'ʸJz |i^Ҵ ؾ7[k,zQR!MBv=9xe )rIXŻ1j&d+3`,꼱P)[Ssy/PM1Pʆnk msz`oC?J͌5##*9 !F>Kj]iu">. F؉ņZAjo3|a 3yԈ}:,9E-ll`  eLW, 2!YNG<;,aH}v(ڹ  L!RBeAw?K侅XVQn}b约"^o?*Ba _-b}xG|"I+k!PZm !dX/p bw+tF'0Xz%,(UV50 @IfXmo̟\O4hJA3gLd^k}^W ^’``ꍳUQC-4c)D!/ Fȸ~%/[oo긃4):IOpF~^.^Mja+*&&Q4걏_ G5|qR3iB/*"[.3(TCFVwj>X(Ǟ(I {E&!lNE~G[:.譝.*:vi/~b2cuh</aXvꚂ2Ρq|qDGA;+e5Ӿ"}uzR`8G =C9ݜAW6\C8JQIeT3BC?-_,t/ `ŏ@>~!|±w./kj;z^^:P]B3ψcuaB."{h$LϞZ50v}8f)IFc'5}g!a`jɩ) t]BjzɮٳTT IL2Z)aT3ƒ~;ǝ<7p: TR6aW|^1sMY#=YEm^ٍ3[{Yu+E9n/Q }X5D:\Ѵ2o1\n.,Ik@IҐRTiJ=3ho$eCC1l[]0]0ύwErP343@vZ_LH%ag1aficԳd*;`%k%|[أ} #9) T 47o!PqekdQ73E%BX)qæ9L3`"l()fZwDi%q >$ E0+#g֑̕,$ uCf S/'OyO7 7()H9!NM@sw?"=tgPG2ɫ9BtWd+Sgn 'Pjr6 ^}R%Rk4)E56"uE2eO³s GXdlg"{v%Wm 1cxE7aO^o3EГ@D2<1E@O>ە\2l,E`|֦z6 Y£^Cxs;|)]U\ȦpZ&|J[8ՏL4ȡZR͸{~ ĒS"&?2ʓR"PU^μjw%4p'twq ,*TDy./# vbS|(`3 YV/rcḞ!`% omh~j >؎iܷ !X>ΰc_'xrXQdkfxܕ,kc0&,1{P2$ߌaaeRf DfܑBW8zuرn\"`+v?̶/l;ƲzO#(7XvI!˄qw]iMɁTDέZ77KEitY+^W-0 ۉa|2%ɷ,FuO+k|Ld YswM<}ro1;gˡO.Q0JpgUiQ?[Mc^X& ƪaO  U>p|JepvzK|̓ՉD#C1o5aК ոĶvLsniZjx=cUqaH(_2+sw$4njwHDDbUB=c5*iV 2kᇃ1n.@2#AR'QL.G%.;Ci}T3)q!ό |*? .m_Cded N=IAyن쨓2y;Y,#f^PofFVjDBZu^7?`0 M_#FnEQ RYx&֮..K@4e&*W/͆Q?mFq[Os/v?`$uH堼H _ejQ׬Ov+,OGyW^ e?I9 {51~Мތ#{iQi01zWVmИ̓{,P7<R֌ڳ%k;oZB Gzbz{$ꌲaM[NJ[9FأAro17b0渒|lb_^->pIfɘxVۉtW;ȝ:,׬ή}L;I&1Z]NaG8P|rmIJ)Y4T@N.VNѷF1LbɾIu#UߧFws _u0.Qw*3QK ŝ^*k-ǩ>X=I#XJjU$£|aWQ0sCJ! OvWխ1QrǞ?N <8eeL]ރj.fԸ}$g* Fi2,piVfܑ4g,%Aܲ.YPQóqbvL* ޶ R޷,N"7htU3eEQ7?#P#-(=pV3QrU'82EW Q+LID—b6:=L>$\OuBjZ}ӓ~&vQĚj HI%NQ_{s @gpхP3b9@~f%~o^mT$%i=$DjVϼ˸ʁA3՞ׇ<-4Tqxʱ*ɦG1 ϡof"nv4yα[ե&C$uF*-u̔v 6[J&С3< k&UMқhze.*annsͼ&Nh5ⳐӘvtc%%%=7`LSAT:Lr bOTe]pD 5:Kf/YKN1$TҟCO$WaB6h+*?IUϤKVL]~_ 4Q:]K/ e!7-Kwz ""b#6rcGl%ղt]%3p8h9eRihO=T⿊,W 潏;BWT2ʡ(ȟ_Y#'o :@z|z˴-H?4dP@H!/YmMh̽w <֊pcx3$E_ Mq 'sLel9 ^5Z7')HK. 7zj"gJ Ga Ҧ&$SEVC{TThq.}||oNIC=$ [#qr5 HT|nʊS E諿Et &uК^IkZ2*@Uu?^Mȓ†O ʌ@FhvIEMͿ`mR4u־Q>#_BD4kF2"6+c ~={;fiݲed(W'qgu>#Ә#]Z*{PtW>لΡHRs閚Pij v.̠1z+ atWƍ0rB# C{6K8*z^58=[*d>NR3lb( 6=Qe^h ;n7el`D V1^Ѣe.0e4y9R Q1kz j1SB&(19•CBW$d';& W[?H?>Fh;#ԾsC3ewC{$Pj;Oj^nw`;-1VZ=ޓug&tӬs߆X+P o0{s ss'g5JףJpnv"0 ؿjfգUiZ{́X8y6F7ҕ% 3ph?YqlbŲj>_4ޟ|'ԽxfsʑI@~uk7jpPK_IgݙV8 uu|(8CN3 ]B)|gR35R] bH ӘN`%̉ cL(]F4WNq,lcA>_ |dž3[؛sA4;ycf5ѽ8ir?˺ϐB$Xycmw> Ic!Qr7AeEy w.;C8n'yIcV]ry1s\ڸly~8C4.X,ļdQ5 轥Rz>S9)iP3gN1g'5O5:._mEU*GǺ9н . pZuMVHJZ(;w199mqQţR$@l-;V!13D~U;ʶuo)٪YK9"6a!lUԸ6Oس/u[WqzZH-J$+EML Z;uq@V"X#ݟ"RhV4|Mn|vj~PldCh^hC8[Aoח.ٓ%pZ}¢187WR4:2e3HOyo}DDm^E[S+gT5s85L'Ryb^Nœᦣx߿5r/d~$j糯 D#plZeJ2mI?bn!vovB|7JWF3L[ZIwMJd}jvϋP ;3Ul&#>\ ?Z,S?JƒGǥ1I{lr&I…'15]ﰔ2jdŠ)ȽqW=OO~H{*so4eˎD@HeڲL7{!+y'ίt-uJjKSbm;TpAVu@&E8b[%kN*aw߮K#C3jKr2@VE=>UdSBՠ;&^v^op 6lT2Mc[|bTm惜gyT*DNNq/%f |4TR_%UlVl##νlVv̥bbV.k {vS10:Mf44 ]FI{GhگfeM\]> ptW{o^EWa]{?Fw& j\\ P~i1ѳRu?C%=hX-O!~z=+ >#h'͉\U؊O.FҢA zɼ k=IsNN}q~8 DC*A 9lm nZ wz(bx?l0Q";E 2V,71;ar#$)J/J]sdn{g~=|v}OA E]Ymm(G|c‹B,I N]ƫqPϐ+!RdY"Є|@u*/&]GPhWR>qSXv80-D,kT$!A m ,7qN~\kݒ[K]Qm\ϔGkyUj-OƼڭ:ٓ8]Y pUDVC?U:Oo9NfBWBDNz\֌FHVӠ=]mōJuޮ7Vvвg4Ό?9MqIsr(*Zߦ\#[& jኩCqvpSQA IMsE أGj$5ȡ߬G6mHPɇn [wTil;nE 'Ӫ )u)RgNq/VSmӺ؉QX s{+N[=B./Sy1SHnGՅ͍5MSj'd+xyQrRN=?) Mh;Rg м ?٩d}`q#H+cJm/2jfr^mG e>铉)_5/Fg*;ʄha#+Za?[1IwW 8Qmu3jM ]]?|b杔i$r(u{GdvGknINP NйeL0nƎ-PNRCՂ(lӓb}>h!lQ *Njl>l G~ߨʱ|"fȩr8}7ݜNXGLپۗ[ߍ^H@Ǖ ; 聋G2^F4(} ^.ѕ~G)}R jUÓpI ZTs褦3>c|BP׺,|^)?&s4?z|؜='Lnй ECBIa [9sn=⯪JO^oXք/wiߌ?RE HͼTVBV/X; M/މ9߁,-ݽDbp]Mx.I72>(`*gbAOHHJ.BRϟ|*֬?d(b$Ii  MeX 8Q?.[VJZ AXOj4gaʗr7-`7ϴu]|4`< kcIH4 En>h*ԓ_AG {$zZf(~"e׮@T(ʫakNM;F^Z4# ުScĥ]/15s7!MO} ${-t/@EW2;71'ߵuҘinzC ŢGRB9)0bz~?y΍u@7nE#%i,EŠP ]ug?@nK2PBGq^sҤ>,5HFt`DehSlAV ć Tp|Ҵ걚V$UMLvsX4pQ\O~e(oҏ8l-Q eK:[8\&kW#U[5ۨE6İ9ՐLQK.p> :;v"{ 5 dSdHBf)i꘤+ M_} `~ƜEz^Ⱦ-l{p4sPJҬ/{Cߪ>XށF9:'^PZ |bHquip*sQ<7\jݭ3SX\5u(濄T]2uۤS4Q7VW`+Ycǜo|GNqέ q9uԵ*^lm_(-=A#M^KWU\M^=J~r=[;$Es 9PBtZ~Zte/S-) H-M3bM~f.?ɠM  J^%N\zSa%8eQ64 B߲0`f^<8ike4)⫥/_`@cAZ`gywFx oEh=VI842,3VtsOv'<|\{wS 0n5h{"BdϷ%J, C_u*`Lu8O7gw+غPI _gF|>fѷC`B&Ȩz+5}37(HV$@b1,ia:u8+BTa|bW .mohޔGqt' nxK |fu2eJ/P8=@U׳j;iu"M8~7<&ѦwM8 qt[M}nB?$j`&o-G$&[7E{o-S/Ei;|8 ]a7V.%{W{23X\p?FG2X4x.xn8ԑF3V*AUWPJ٢]hj6}?3q-VjtMgu#bTe5BVJÒʇKH9u7 ᇖe@4QpLP@ZXtNN8ځ%Ƭŝ=M3v&5 ;ـ Zs.z nu=Aܣ1K"e}vs} ccގA* BD!ӮVڀ^,Cb'i? hPǴ[XQ,ԿvN6Pcծdi"ҁS+\,#x g\U Tgd|CHmfmR]L^dYUW(K_~ѴBZMw?jET' -cJU9 n~KZR:4ýIe]b| ţl*vb7]ܔP2?gܢ!&ŗIs53ncJ+Pj~+CY=d]U?/X54^[=n$)h0cUHOn6~w٬-ҭF* _sX+4ڰ϶CA-啛s+3wDsi~ٿs5mSSf9ŤxI[z4E 3LH/|t`RZտx I.D 'uw8O7<2.oA8 0[X2 ik79$C4ɝ%$җpȩqu;5AwT[zd i/:m:ʭɓRLo'z*{BiiZ1,ynH=4涒vz9gE@i= y7R QU\aұ5&[ 0?o7AK*ZcE<>]mMXn&=F]D@ Ϲ+Gc PV\Za1QƨM >t]'#+cʜ zCVf;%zfҾH3$j %t?Eg'Cgm~UN~TX嗘]?r!;<=[N}n- Py>E}).nȭ8R/:leNqv#ʪ,/殚,oswD8~?d5΁H RzdBy(н4/ ߲UZ=DoRljLܿ/^O7Z H)Ax1rD6 CzEp AߟߌYg./Kܓ0l#DY|70a`K:Xcft2=/>P"Y 5#/9>#|y|;1j7S*g\@M@XoǞG MaoG<,SDIsvՊ"= 2G͋:KE.ʠ!.`(7/ؤ rdTv]oZˇBJ$ץ !I]I] _-Z$$dT_#!h oPZ?qGNCs.Ԝ^u_TPs kp( cY" qvz F<,!yb,Y?ǐPJ?ɸ\CMY&9{MwV`=$W]a Od'G輽阾Iee߲ǟz6ÍWyFc8 ;&WWiSP;뫲.xژn˘*^9bxcG{5\#N凓u^9#`qJ~ )ȧy k禩RYLz)>@|ۧ25o2`\UBHvy{#`degN"&WY|7_AI7KScߺj M1LNV&cF^Ay.A$*m^n[U|S?y)`8Tu^yo9 iAƱQ4.5M(Aj:wT䫤R`LtWr&?_4,bSfhId rjx' B8EQG nⳜ(4fkS5)K-FU/Lcu@LHdžPHgDÃ78uM9B':9 V mꖅ/W?evSUs8\3UftN/T T#ENd, 3e3JqGކŨ_6hUPo=r=[M(]w(VO?$ccLh .6clNV VP7' 8" -6p<# O"r֦?Sׁnn$?Z{@|K1PU,Gkh_SッJ,%vHt7k E)xaUL [ȹB YZ