python3-executing-1.2.0-1.oe24090>    f ;G|`u` (+8-C.NɇT/s`kOg<':K.Ԝi1Ei}%- >e>0lp- \Gkv/I5M]9.\֤?L-us$Ќc(gIB Y)cb 1 %wtjYD+=EyUǞϏlb"lM-k!}$Vnx8773627337ae2ff3551d7e754a449ee0b8f7ae720a91a665388b336b61bf5b3a81098e48d0b986298e30c530b844256298cae78b KIFƪ/-&OE>=1?1d # jPThlp 0 d   % %4%&&&'0''('((P8(X9(\:(F(G(H),I)X)Y)\)]*@^,b-d.e.f.l.t.u/`v/w0dx0y14z1@1P1T1Z11Cpython3-executing1.2.01.oe2409Get the currently executing AST node of a frame, and other information [![Build Status](https://github.com/alexmojaki/executing/workflows/Tests/badge.svg?branch=master)](https://github.com/alexmojaki/executing/actions) [![Coverage Status](https://coveralls.io/repos/github/alexmojaki/executing/badge.svg?branch=master)](https://coveralls.io/github/alexmojaki/executing?branch=master) [![Supports Python versions 2.7 and 3.5+, including PyPy](https://img.shields.io/pypi/pyversions/executing.svg)](https://pypi.python.org/pypi/executing) This mini-package lets you get information about what a frame is currently doing, particularly the AST node being executed. * [Usage](#usage) * [Getting the AST node](#getting-the-ast-node) * [Getting the source code of the node](#getting-the-source-code-of-the-node) * [Getting the `__qualname__` of the current function](#getting-the-__qualname__-of-the-current-function) * [The Source class](#the-source-class) * [Installation](#installation) * [How does it work?](#how-does-it-work) * [Is it reliable?](#is-it-reliable) * [Which nodes can it identify?](#which-nodes-can-it-identify) * [Libraries that use this](#libraries-that-use-this) ```python import executing node = executing.Source.executing(frame).node ``` Then `node` will be an AST node (from the `ast` standard library module) or None if the node couldn't be identified (which may happen often and should always be checked). `node` will always be the same instance for multiple calls with frames at the same point of execution. If you have a traceback object, pass it directly to `Source.executing()` rather than the `tb_frame` attribute to get the correct node. For this you will need to separately install the [`asttokens`](https://github.com/gristlabs/asttokens) library, then obtain an `ASTTokens` object: ```python executing.Source.executing(frame).source.asttokens() ``` or: ```python executing.Source.for_frame(frame).asttokens() ``` or use one of the convenience methods: ```python executing.Source.executing(frame).text() executing.Source.executing(frame).text_range() ``` ```python executing.Source.executing(frame).code_qualname() ``` or: ```python executing.Source.for_frame(frame).code_qualname(frame.f_code) ``` Everything goes through the `Source` class. Only one instance of the class is created for each filename. Subclassing it to add more attributes on creation or methods is recommended. The classmethods such as `executing` will respect this. See the source code and docstrings for more detail. pip install executing If you don't like that you can just copy the file `executing.py`, there are no dependencies (but of course you won't get updates). Suppose the frame is executing this line: ```python self.foo(bar.x) ``` and in particular it's currently obtaining the attribute `self.foo`. Looking at the bytecode, specifically `frame.f_code.co_code[frame.f_lasti]`, we can tell that it's loading an attribute, but it's not obvious which one. We can narrow down the statement being executed using `frame.f_lineno` and find the two `ast.Attribute` nodes representing `self.foo` and `bar.x`. How do we find out which one it is, without recreating the entire compiler in Python? The trick is to modify the AST slightly for each candidate expression and observe the changes in the bytecode instructions. We change the AST to this: ```python (self.foo ** 'longuniqueconstant')(bar.x) ``` and compile it, and the bytecode will be almost the same but there will be two new instructions: LOAD_CONST 'longuniqueconstant' BINARY_POWER and just before that will be a `LOAD_ATTR` instruction corresponding to `self.foo`. Seeing that it's in the same position as the original instruction lets us know we've found our match. Yes - if it identifies a node, you can trust that it's identified the correct one. The tests are very thorough - in addition to unit tests which check various situations directly, there are property tests against a large number of files (see the filenames printed in [this build](https://travis-ci.org/alexmojaki/executing/jobs/557970457)) with real code. Specifically, for each file, the tests: 1. Identify as many nodes as possible from all the bytecode instructions in the file, and assert that they are all distinct 2. Find all the nodes that should be identifiable, and assert that they were indeed identified somewhere In other words, it shows that there is a one-to-one mapping between the nodes and the instructions that can be handled. This leaves very little room for a bug to creep in. Furthermore, `executing` checks that the instructions compiled from the modified AST exactly match the original code save for a few small known exceptions. This accounts for all the quirks and optimisations in the interpreter. Currently it works in almost all cases for the following `ast` nodes: - `Call`, e.g. `self.foo(bar)` - `Attribute`, e.g. `point.x` - `Subscript`, e.g. `lst[1]` - `BinOp`, e.g. `x + y` (doesn't include `and` and `or`) - `UnaryOp`, e.g. `-n` (includes `not` but only works sometimes) - `Compare` e.g. `a < b` (not for chains such as `0 < p < 1`) The plan is to extend to more operations in the future. - **[`stack_data`](https://github.com/alexmojaki/stack_data)**: Extracts data from stack frames and tracebacks, particularly to display more useful tracebacks than the default. Also uses another related library of mine: **[`pure_eval`](https://github.com/alexmojaki/pure_eval)**. - **[`futurecoder`](https://futurecoder.io/)**: Highlights the executing node in tracebacks using `executing` via `stack_data`, and provides debugging with `snoop`. - **[`snoop`](https://github.com/alexmojaki/snoop)**: A feature-rich and convenient debugging library. Uses `executing` to show the operation which caused an exception and to allow the `pp` function to display the source of its arguments. - **[`heartrate`](https://github.com/alexmojaki/heartrate)**: A simple real time visualisation of the execution of a Python program. Uses `executing` to highlight currently executing operations, particularly in each frame of the stack trace. - **[`sorcery`](https://github.com/alexmojaki/sorcery)**: Dark magic delights in Python. Uses `executing` to let special callables called spells know where they're being called from. - **[`IPython`](https://github.com/ipython/ipython/pull/12150)**: Highlights the executing node in tracebacks using `executing` via [`stack_data`](https://github.com/alexmojaki/stack_data). - **[`icecream`](https://github.com/gruns/icecream)**: 🍦 Sweet and creamy print debugging. Uses `executing` to identify where `ic` is called and print its arguments. - **[`friendly_traceback`](https://github.com/friendly-traceback/friendly-traceback)**: Uses `stack_data` and `executing` to pinpoint the cause of errors and provide helpful explanations. - **[`python-devtools`](https://github.com/samuelcolvin/python-devtools)**: Uses `executing` for print debugging similar to `icecream`. - **[`sentry_sdk`](https://github.com/getsentry/sentry-python)**: Add the integration `sentry_sdk.integrations.executingExecutingIntegration()` to show the function `__qualname__` in each frame in sentry events. - **[`varname`](https://github.com/pwwang/python-varname)**: Dark magics about variable names in python. Uses `executing` to find where its various magical functions like `varname` and `nameof` are called from.fdc-64g.compass-ciMIThttp://openeuler.orgUnspecifiedhttps://github.com/alexmojaki/executinglinuxnoarch!o }}``8MLAA큤fffffff_6ZffcLVffffffffffcLVcLVc]/JcLVf055be9c857ccf6ffe3b66d2f522a5e5ec8e42c9e258355e9e75b1bc5f305b62dd84b7c027330a33d9a38e650bffd3325ad0f04ae3c2c66ca6bb4fcb49ad9e5eef725c4ab24a4df6cd366ae0e77c745b0bbe63c3d3cbe58204b22da887e0aab24e1bdb2d376ed588191c1143c7f7efd164f28384dff4d9d99409d1ea01826ef0e01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546bd4a14031597453d3228ab10b398cef9cba18cdc185f0f5d032e770328f0a09186fd46d7f736d4aa734fca6a4e8bfe5be76dd28f0341948a6da9f9770542c7f9831efd2e4a58d69f6085252b9c9b840eb6c833e5e205853710390720c67f1cd4ebf281d24696788a2ac49fd2f56f4e1686be69c058666ea4feeeb983556084c8bbf281d24696788a2ac49fd2f56f4e1686be69c058666ea4feeeb983556084c8b145e5bb7484360d3b44e5693447afcd1f66d58f0bdcba8a13b176090c4e4a52b145e5bb7484360d3b44e5693447afcd1f66d58f0bdcba8a13b176090c4e4a52bed0227d0220ca10f2d4d243ed9d3dbb4bca475de3f3244eab4d857d3016796385224cf1eecf0a8ce7fe90ce8253bfb7365ce6e46af4c9c1a76fb7f64b352c79d3a9384d19cb7306e37e306982a0c5db879333a92e931207dbff03def8ebb68bcf3a7e1ead8c8df1ac03fc1ea5143caed0ec20e9b1b9f9cf270be255a74bbadd60c47b9a13c2642571be497022328405e876bc21cd93ddacccac6ba93306ffc870c47b9a13c2642571be497022328405e876bc21cd93ddacccac6ba93306ffc879dfe4fe633e74a38e8ffc616961e403b22d91c5fe13722690efd0e1b65c5620ca860e842d612e694a28ff237820f6ff97b751d4e6195a9a78c5b6b92951302e2337b3dad13958d59a1b4bf147164e9f5c8a91ad56815df819264ac0364c07d4fe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e466e563231b93c2724a8b23e7d46f8b6bb32ea7cff8302cefb8a4c1369f5d3erootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpython-executing-1.2.0-1.oe2409.src.rpmpython-executingpython3-executingpython3.11dist(executing)python3dist(executing)@     python(abi)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.113.0.4-14.6.0-14.0.4-14.0-15.2-14.18.2d,@Python_Bot - 1.2.0-1- Package Spec generateddc-64g.compass-ci 1726676366 1.2.0-1.oe24091.21.20-metadata_list-compact_tlv-python3-executing-1.2.0-1.oe2409.noarch0-metadata_list-compact-python3-executing-1.2.0-1.oe2409.noarchexecutingexecuting-1.2.0-py3.11.egg-infoPKG-INFOSOURCES.txtdependency_links.txtnot-zip-saferequires.txttop_level.txt__init__.py__init__.cpython-311.opt-1.pyc__init__.cpython-311.pyc_exceptions.cpython-311.opt-1.pyc_exceptions.cpython-311.pyc_position_node_finder.cpython-311.opt-1.pyc_position_node_finder.cpython-311.pycexecuting.cpython-311.opt-1.pycexecuting.cpython-311.pycversion.cpython-311.opt-1.pycversion.cpython-311.pyc_exceptions.py_position_node_finder.pyexecuting.pypy.typedversion.py/etc/ima/digest_lists.tlv//etc/ima/digest_lists//usr/lib/python3.11/site-packages//usr/lib/python3.11/site-packages/executing-1.2.0-py3.11.egg-info//usr/lib/python3.11/site-packages/executing//usr/lib/python3.11/site-packages/executing/__pycache__/-O2 -g -grecord-gcc-switches -pipe -fstack-protector-strong -fgcc-compatible -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS --config /usr/lib/rpm/generic-hardened-clang.cfg -fasynchronous-unwind-tables -fstack-clash-protectioncpioxz2noarch-openEuler-linux-gnudirectoryUnicode text, UTF-8 text, with very long lines (465)ASCII textPython script, ASCII text executableemptyASCII text, with no line terminatorsPPRD[U--/utf-8a6ac7d4d02210597b42dbbda27432e42f9c7d66d68354180f96008c514a1445f36558ae4469bb59d73ac33e55f3bd5c6c046ffcca47d7bf1f81204f13861e325?07zXZ !#,] b2u Q{LY\/ Vɧrke y̘w#lZ"B5v%0!@ v;aMT;(yf2e 18Dr*ϴ8t,]FՆ X77KB˕ AZsqZ<Eӝ|vI GXT5ޟtHW7 h>:@Ҿ 2U8 ‰S,q ٕ3`ykz(.gmG{c݉b-yuiϩcOY\(/@G~ˠpZAk) Q]F$\7#q]"x$=ʉwDGW-DC֣eDI6 XKbgs~@bh)Kk^bZ @/0o=_J@s챫38}f,N5j4?zQ9k@&ΩMfV:D=Z󽶑`(0nY%[f/? v+EςNX}Dչ_&r'cX4sZ#R0J~[)>=րT0iCBcl˓M]Tm7"*bdOعϘܧ^iy9_e{PՃ;-.ם$TQzro.986<Ei=;#(D>DZ*z|ST%.EDe *,77ģvdiFt6q> YF!TTx_j9 <9*Pv9kcFO[6so;G!;͋7_XR"C6t=la 2שt/yxyD8?rr,z;%+"<,83l-hxL>Єnj_ g#oQ)z 8 SFO`3A1lBf̢ 5~){ {yfAfȑ8du~^:!3 9[0OCaWY{ z+oK#J ̭hyԜRkbPPwia!c1!(7e|&7iJ^6c"O1lAf=fzV:b68|{9} Ah]F{ZDrB^29.zf!VT1?Ra-/y&zROǬs&+`4S"lk5j/ [NlHKPSCi+sXCڣi8.!@J SUk|C Al8`jY, sTg)r x)[X&18#HF΋j$7Piޏ~vE]XeEɈX Rz/\-?ƒǵ§:3qNoߦ+Hye n XrUdNRCZѯߴ7 +D6R  PҲ5# L I֟u*nWz;2zDH&kcؖ).%%E) N\C}iWK|MŨI2D팶c/㞷$I Ve֝ l鉑NЦ0XYsh׃orxI SV1?W:o&A\h?#]Z NU{>aE<}\E2گd>M?&$TF^[Z |鐃ڂ3 M (_MT`ڃZ t;At沒?Oqߧ>ی +ۃGE,Ah>*ᣉ>)3zAk+XѵX~I%G/9 OM VK_5Tlf=t%]ޭjAh>Ρbw4a[k[ V*T9vBD/ME<;"(4[a &P ;8FL2ҮoFl1C_ݳGlEj(]JB+<ր*y~Krj婪*X{qKL ?"Wr,mbP*4OYfQ:!+SV{0oMU@&/ۻ p|C=A Dc=8bY Yb0̮`eS\4ZAGZ4!V:X$-Zo]}OwXos+ːExFJ!As㷂]=V_d*-?x%—QϲlL;TY[~_24$q۫~nIH@ws|]cw1%6|֜)|q+c8SB4ET.zܭiٌW98eSu9f[✜q®xiceZ>^)[GS'N S.925vۣ˷u¦#l7Z]^ȰR7. yEe\{8MDy~H n --1thMR}Նv3^fW) #E看J2."؂PPEO9 @nq93PI+C W?u\A;5.C7 fH&KQs[v+dR=N?X2.Sr3"aB!['vnI,eJ.vgLg"sϨ]`zYB`-23#'vLЙ)A|a:H5I^d"0"T5}/"? C~Pm%a^O~!xf`&"M)!ΞD?ف9[D)2#~>)D35ڼqˆ@޾zBtɺr< ɛ C ΩfJk. NMFX$efg?hN˧B&#'R듣qF~0Lk7p]\DIp"4nQ:`H(I6[ݾ)8kuP1%!nr ֑.ʵ 4 Z|+N=/7@CTR]F J&L1D@ǰJ K*DWigno}GAS7`ñH-g!QRI6?b'|t5q +[{T-VQ-kx8xLB |c-@ڔw:[K- +NؚP.r%@B,r:)U{*8Ylh  2dx. gܹ`Dw2vϙwA3CZ8s7@ϵB`}UHR|geGtN{1Q@~p{_Yoy-)Cg~w般1:}cj]ǀH 79xyWzWX 9{٥GV֗oR=A06ژ%LҔKim;Y(0vhYΔv4֯J5ƈ>5M{ݚ-_mKP'y׉ PQ TE.`3W s(X;[F-Bf_x8{kG9\!]džX}2s~suӡ=A%U ;lFK\ؼ,F@ܸlr(>іvMiduK̙jvnñfȉa%<;>HlJ&]I@AD܌LlK=Өۦɖ\ a(*4qm,9a&q}127~ηsEH^kʑqh#=zo#̰sԻ{i]?Ȯ3,\v= &A]"׫Y;VߚGiVwɗESJP'BAZe:.6͊wpZDR3x2p#Lg5`B 3->e"" RNS.~neMmzED--@~(ZLм 2ۭ֊K٢ eح*:c9nه<[9H-GMS5XqREAa2;=.+lSJ&I=UڸnE6 C"l+ꉔ~tMiD8K:]OZ~{M ~ k'c<ڒ>yd+圀r{_oFƢf [^B~=RebW~ g~bo69gITkZvj?/W{?;{[H1u\FS '~ 9 Q`q:Q=Ζkǿ)Lb(ocyC0ܠ"lm w dcǒ.ʉRi,v1iPەj1Dw&b! O(iVy= [j^ j|5~by4$ˆvNB8n%$iYՔCqC 0Ț?T7hT:mC iÍq-x~'` xmĎ7ns^I"ۀ7WQj,̬n@@BTkt=)GwnL B}F%؄𪆨|JLNp0eZ t<=5[J ºTN f)5;Abk^UVjT ̛.1PgQ5GݾDjQ3g`qD$4D(3#J9B݄<BuBEF?LZ-nvaSu.G1nrJ)E Ux( BcJݱo Ă@zNEln~c%"]kSoCV*mg1Q1 BE){G&|жPUw>WɛtHiսÉ-"q<` /.sqQ'7y)^%/egWԗ_Fq_j8`>nȾy.aaXL/5g sMG7ٲ .BaIR(2]ePNo- Xpşeg؄ M^E!E/\2 \pR z8e7Ɉ_;jTs3 ͪڃJW 9dexcW#Ҫ#ee)H: i[;dm݋i~F=)}wQ5B2jH0DhOlKQ`˥bcϡbY#Z-o=518U=Aj8њgS8dMj'@RtR*Tk^UwXr{\;ۉ5HFPcOX#0~˙Y>zZJ,$Pcf#($,=NՂSA ` n#Q#Ji?3\1Kz,~6Mr.e)F@*HT@]ףk: fB3{F4VDoN95J@%OiI۹n7:CaNCCwR!7}3|%tV1SDN9xB,NBS5A}}ݛXwI cvbo"CH]-cZN9{ƒ?7G] OCF@S3m˓[a`qzn!~v'@p6*^ 6x4*SZfb-kFeWI=@ 5WO ]A]\+q딁,0W18/ƤE$5B#]DW M"|{S,$8،[m8nTbKKXTʒ'T g֫Щ5e\xE؎W.W֐6} u7B4F9nN_mYayaEҕ\ *P lc]wHZvqIQ"0a^()/4`nQ=tC>z r/ p4FP@#\0Pwbպ_RWC.~}X11:) -&A :$g]-ńsRu4nXɅOWwo%|*;prbrwzB_ip.1l{׊gͩw F\䂙Nm*UJOOwY}[Q `oz]~M\O2úĀ@L 0UPlVV)6|/K`q+G\ugOȀNSuӢBzAvW Ai022iDf]z3% 캐׷Foժ(ENySGf9G BV!!NiD~2}Rؠٞa~Z=@ K#y%*l>GsِXUQt`g}6 fAZ_)uyg^dؔɧ2#W\p?Ӵ*8`T^"kno`b=! NgGU@_Y7XF#~#N]۷ h|J9t4o5:Rwߜ&aRD6;4)h>Un2:n7a+j(>u|6-v'UUXG5Su=X+UVM s0F(>d5XFpH;ΛFlNNt7;c2Ie~oZBݙ/!bOeNՋMR {x->KՐ() ]md7c^=v\[ -u3sH*)ZS<7,}P爓RX = ^D}P^ou? gǯnB3 o!VCc)i%gSkvW0nE,PkCڣ#ӕ1;쵞ljxRa*`E3--uCIe#c74:]|6zeKi ;jX.uhmt>]qؘ\`-j6^t|<-W `]40Op_˞mJȬRCYd !} pтֿ>M2b:69;@Zv+`1$f1Ud+BMV=7|ii5}=Y ݶpõ?=>09y|V#Uvb]ilɎrsR{ 3ȏq6?K,q ZO VI;~h}xds+XN BcdZf(/Y݀)]FGE?hQ% V7~>DJM<ˀ~F,?dPO?#Nm<Ŧ@UQ>A5 k rLq<7 +^PCyM057EL☰VTSOx4roR~p-W9 OtpRO_#A8<4F 'd0b]BfτT1DtĩMDS:A#!IV =޵*u1?Fg]1SWY u\~~y槎%bkUk뒄FDJtЮP ,+zWC>gav<|Zx$O;V罶%-q2[fxc7h3L]S,B6L*ŋVPަGb7)ޝZ}٧ji^(ԛMz( 6}DJۦn,_N4cqsbe"-FO02b';D`KV,X55.JRWHWYأ,yr a]`Dy+@*;b+vNbQp:8Z!M|&Bmk7G һ8EewiVhD>H}YYN~)3'OcQj8j܁9G;C|Yەu% =uxpl'~Vڅ ;jd:B:xJFa_pr6r?/$5W Tf1%Bݓ7Ĭn}mE=ϒy J n+Ц^Ky<Ժ"j:Em)k7Aؾ^t_Dz-K)Xk8xqNxxiMG"]0FA;X CM}~m{m>}@2T``zFDvXm|жv~bJ/r+6'" M&f{z]5a`i!fVvL["ʒ}!`% S1u23a n&[d?u0q>9ҏ**[}ŢU#J33-lE@G_=t=ѿV>6nJdѴY'a"ZuvN$&Sj?yXR~RZ^k$8ZPAϜ',t9oDLdO,Iai}A[BwRM Ӂx8gΐpb7yrħ|!Ĵbg{hy["">k`/n5)U'=0UEc t=_fB2N1"?64iX ^pr)* ĕ"qs[B(p0SP>G-c 7+ CkU3yt!q -ھ`DoS}Ka Ss3 F VSj}*$P6\xHHi|Q+0೿X.MГ> uEDQbJY3f^FEqq8,pBD?l&m-(j1N 9ފ D:jub!eUP/'+#ŀL6FK ӘL4eR+Aj[h_ocfC\aqt0)Aitʏ봔Z+0}(x'! J f^)Xs\rsS6X H^uzM n86]dOoƲi5PF+3R@<'?S ' K&nk/X)g[KoHj9M!\HI9E [! z3xı!N7Kgy6{4o+5 \GE6=Ё0kx?%`<Tᱚe@8$cVN8X ! ]t 751p*yi yyԖ@䍃_YU:پi;Ța$ߑH.XNk ƌ{U!муe|^ٵ@4SK='&{;%p c#;?RLM6 !ODcвN:2m jD+!Pҙ*?%Q7m%罗?!Ţp.0-g$Wu~G.T6DLCln=TzV$&rז8 ~nY҉JzuNWoZgZ0Ĵ>MDϾfo? x u^E2/G'~F\G]7r<4<;Cpprf¡򢘭Í:DEuCV'gCن@yB~YPRF  Do0K@{YĊ** ȌHm%Fkq\6TDHyQOs8Qh)g~o(%rB2Bz,źSPUXэ2~0Z`HKbz.ڼǢJ8C?_{I M>KzŤmq]",]w!TtnFmgJ1@ UלĄvN] cѸp- mHDFX ^;sziwL@rۻ(?cV.{aMPuTgLym5ƁzXT:MFA!*L"QЉAxp}](+Ý˻5Nʬ,c&J6&-TZ3އ'ry'$`G~0~vQ44a|kՖhYB=Re-96~/)P >Q@[r:T6"]dԡi:c^kcy g0Xi 7yOE,O*L4`yܡ:sOma# i?u~}U's:#y 'ܜ{`5? Zob4nלKRw@5X!k?9J獇]Gb_ee2n(/z|\&$YC[IgIcrPl[PmୋW%=X߈r?C9bo*)L!k3d4`M~)i8m-f1xRWD/bnvO_KU`}:K0mL} A>ز̰10ڔ]O} fN#/L |%Y u UЯ6^mራD2g̣m|]:RYc*7ޠEMoV Κ}3%Xip "n,#7ddUX"^=J?rizY;2'Ub7(#9|\+$XUFo. lHVT#>;'2o fkIŐ#IwdF.kӈ?li+m. wla:U2|hGpE0D pϟR''j]a{\&oKfCGS;K ?k16 y\Oi>(߼2\M+/8 kXy9͔ȡEK] =NrrF RHOꭂOZ, &Ko]b<[dy:HSN.i .7 Mފi|x1i91&} ŠWJ}hյ2cU#J)6y6Ǔm8,W][f+)Pzܬ;a t|^T VA8B-B3t pH:d[_ ^>3yͤ-Vr |ǥWҏ ڄxV2+t%rQx Ik7f]$e/V5 pуp,ƌ\˖R){ N B;hFY7_-JUv[L9<ʆU ~Wԓi:ThVQxqaUoHȟb6ðBpnstQ'hÆ )mk 3#$肆Mny?æ1$1gFh9wǸ+Ul U2A ѰqC^a@֮}ScY{-9yb<4J g ?4P6⩺/Ʋy&}. q9[MP-ኮ`꣄\+>V_ܺt,!G`PrxwN?})gFD*[=|AewjQh ѐ`iG3ɆI,r82ٲPeqGUrj)~W|-C%FhPb+p(OiP\$^aJ/:HjS`2s-#6攝uPKs9;Tۓv % u V*uxu  v-PxAq @{ҿ+\t0."y lG”ͮi6E:WVImsӰ^ɴ5056U|8{|*6 q2xTljɉh@{Ezx˃U"4q|J f!!vu3Qճp0;e1{NF39T uD(Px6kujv 3O7"S@uF?D4?(ٙέ35XiI7/>/i"y XF&4} ۛ-~CpI}kewCVhW@"+ڞraATNssbN2^ ]5?*%t\jjP N@T)>u0NiɗRHܫ}oKkS OS _5oM`Ԧ_kӐZY̨f+!;44 T.b[TDt5`Ă&P#6{j7oސ ZVaq$ҢuhQ?Ո]PGA79Ew~fU-Α-X#ט.o;j$ΨbJHIή:k (JĒ0gZ!̙Xv3јðԸ\"paI˙Rtc`c,ML= (15ܵCHb$hSGM@O3n9*b疊zmAJ M]U e'D;A뉀g7&CC;~'PhAF_Ձ 95O$DXż yε{叺+Z娅@6!h$@(W_)5R2W/Afq%/C|FQ$^.R:Ç+ ~ #7Ao !^ल4M.Ϸo벂l*BWSiPР qxqcNB`ؖߣ1MzL=L |uBPT|GwD!qH)`Uj_mf!}9UGp˯>;Xf+Kg7üO^1ܥ%T=v2V;!O0P,2ϾSVǢQi@u4y 4CMHuIt?6ɴκxA*@Ǝ"$JڏS>D7(c|G&)U4Mʳ 6LY] 8@CT|PIp-{~YeJ[hz 6? 6iMǨrln`Le ,jxt{x`u]0k&sPw@<]6Ӹn]42ˋꀡ˿i,@hPSA7~OUsb_ H0: x8 |K=x 9gm[WkmaLLiG 槂̖OzU{<7R\a&!;tܒj\ t#n-h|LKMR7Z7kwr.g9%x Y_a,6qE/Su{}]3k-)(-o:ECH6AxFZ-O£TŠ?P)VF? }0t ]"2lo#9lA&OG$l[.YGCxCGB!GT h#W, }opxڏlE\A9%#B,mΣTXٛoPC0JF4揾w]i8O|j K|ʢ5;(\#9hH[L:R+ ?Ý)2 K@ZhKОlB7t`O$HNFbi`'nnrmGw-E=m Ozْ/]A@P Hg+\Xi85SK80pD BlZXsы2Ȧ0D=Db 2Ra s+*X\D(iVJʔַN(OZBU#1W\,$L`&tYdž[63G~M.Txׅr7Smn}$HaWNլ'0!C҃w} \ѷ`т~OWmJ %h'֐G&KIOnߪPa7[ó0"oFܐR>mn?vt>֘U"B%U'u!m,G9϶sf0Vqz9 7_1v|pGx!Zo mQ~QqW6Vَ&+> tM*Oyb`0N_dܔӶ5g/Qs޻!NNr'l~gěhye=P-]چ%Ժ67|^mjh?AIFҷxˬ8[K&aqkL/pE`O Zd%a/H*VP|Ly{0Gfd]vܓH i=(Ӿ 4NŃSH6!T\}H+gE &]T-EUQIIGGGT/i  @E2GIHEkeyDL)sD/+QFO0Uqű"9@ho1Iȉ6,+mմL=z؎UX|zSs˻?hcX9u ᶷ~/;fw,G ( u z{2sDu\zrx/YL5pWwpkcPlD ;XE]veE f8K?X9Pq1u^Ka &u YOБ[^ p-IQDc_2E>A e 21ZN8,AE?EEqF 4}/(@+?9ujw`]1)'u=G 1, ͸~/Ӝqߝ #Oۑq5P5G8jϼ5Q#Ca`,D߭chCD1'bFʥm9o5CE[MpўwsGe5>VR>p!LJy{GE>nzꪧ.+%ad| PTA "|-^J&'DSg|j Rnq7ð`mcmٴ{#0dUIkg䅰l4I +M U5+IK6j " piXPJ->5z-R Nć5% Db@`_jܘ]@No:wnZB V.)_ϙ#r LZgi߂;PָcƧ9V4\t|9LG_#yˇi\A%*Ѓk߸h+Bu{gC:0ہUìdFy;׼ԩ.h =p t"t6N `N/`(|w!bbeF,/h ZnFWl4lSyo3C:y!AmQHŮPo׵2U@HPvwR(h@~KWw0.#HՈ;5I7VKmvR:m_;/ǨlIA1/Y;e6X"N꫊3+}`2>p)\i~FIAķϠ70#-BDPG[G>;rV|`rz? -ݺoڄ2G{`O'@\fh}isڂߖ'QȑxmT^ϕgQ8~rCӇ_(~I`aBW"ս(/-md۞U7W{eAJJv8-485|&Rf>vU$!?kV$k9ǪA1cCևt}`W QA#fpjs.,[};Q9uwj5Q~g CHʃBÐ̅Zȼ饛\:F'j\c8.5\<Q:}\ǝ˅&csvQC2 ZNSNYM=>VM5y@0U>,A$=V_9(ju7-&C}65ӖmWa D3<~~%Yo%;5^~ 0<=# wn :Ñ圀TWmmtȀO=kbjߡ-dRFs0@#_"0:--#t5ޙ9EN+J _NzS"2bd`l[,Y& L J^|q7O_VBV)4U9U `iXґT?]zLF}*C](2FIN6 i}'<Ÿw^RæLC ӳ7D ppyME@T V%LM&~گh0-#ox;\ⱘ>9vK #7ɋy~siYNpY W&HN A)V3א]B~;5KàpenTr\)P6ŘWt x*$X堐amVYmưC@???$4)L`^+<40b\+gUiXV\ʼn<6&`GzǞ'ӓcL:$G[dqXE d%h{?Pk?`XFǤʰ,`` =ghƟJ *s GS/JRǢ.JYߊt|;Z!= z 5\W3Bi^;'uEaAims `2\Ds)݅P_zL*P16 s+v?^ݸzੋ53"LZ<A4 &^[ 9iY&wb%D~R_•kZDԾMGJ &Hv+\EؠdZd(%fRCf*P,ZdUcpUD|ީB>{D_RyoA kG:fJy %P땑~ !7a*,qYBP W,\9{sĮ!͙t8:},b>< rl_;(a0404k7_Nva3C?' *yV 'JGV,lrK@&#ג  J(N|KE0Qt",:zpANҪ\ԇ%[!K8]_ڕM(a'M$vpQm`F5ME=h jkHX&[|t1{~4fhrKc<%?mj71S! 託8́5 Kn䮑|ωҀ vE4OhI.6"reMQ|ٚY;kw`-<7c9ʡTmrc>ODZMc@b)`МbfXWҪo-Ś@MNf.!=xǖI'Ȯyy+ngy!<3qB.]K, 6D#0Γ5qW35} yk ia?̀;X도!{:E^_171L= I.7q}Reg0"Mݼ}Ŧr@*p՜D5 Y^`D: S3͋<_=p*ƥB昢2X07&8(|BzVHR j#Qx囷aPؙN6EPeKX#ulzЋC] RҜie2 ݀FzX ;[36YgcpI*'b+Kl7JscTbDk|^s?) U+buUVGm:=4)24Q\VCN QYx%+Zfd?:02&\1HxƠJD/T}E3la [PH=B/$t_9WmoJC<<Ǣf,\ĉ[ j W^ Z9&/Bѭ2=]Z/GGVQƁdJq V~_a1>)|S%,B +6,:wz7E7A}`Xx78+*} MD.WALrND3p‘6I|)ي>. 2R|A+ PŠA)m'$j:Plq7f\ )kLB2ˣ/MxxL7do L!iڠ_3&s-E9PYMgT]b`) >Fp SXљTRn͗糤;U`0Y=I7U?pBb}q%_AZ~LO`&L>#4_˪HEW:o`]®હw&4ɭvf+t򧙫O%.,PǠL>H/$]ۈG@uc H[>X sؚ!C`'A 雺ke~ PjڎC 0(]A+ތz #S׏_>_?B ~ޭ5dP)~Dv#Y:a*ܙ;_6ewʖ IIu=〯 âC<\?}oׄO,yq>OPѠ+^32?Y;*$GSo&:x¸*0]1ݮi#c]~4&Wċ2P?pZRkFdoB™ A?So1J?%ʚF,p8> 0Zµl)Tr핱YzZ݌yXnC ik=Ru\ v v"W'#űSq7wxlΘU(Zj<1/= nHpSN={5́>?oDJU.ۿ%I Wg)+<9`U&Ag*R|Xٽ"U;=::~#9F;mbUM?1fTɘ&F=5 >ݭgj B, ׈ %`>k& Tn+V/Bcd_q"=F7qix|:,0rjxM/W68e6^}\ _+vSr0Qq#z嘑61LGcI*ŝJӲ}<`]aZE{:Ji$Hz!PkgM.oQ@O}tI zWr2bwYTm+Զ]MmjO%dfb}e.;"U9-[4NYK!Yfݓ]X%@Rbk4,7krjWLUݟy-qrz{ss>H1ǨBuF,Ԍtr"t6|q]%`c /s\ KU"U)j}`X(h]2Ћl3Z" T25Sܔ}xHΕgzx?]W9Pb}n}`eU55#s JL gw~.s$tάbtXʯn詸 faE䍋(a#R͂ TCYkv 7پFy>q|}Wx(=Ŷ rݱV6ɶڣ܊%0La珅`.1J!|P=Bpa qx0FR9k)g8$h*arsôBc:Fp.ΛL'8n*Шxg[1a}(0Yj3Lo:oe'7\D:::O?hUox$yS+Inޟ_EwΛO !xcOBv55 ѧs"T/eGثD^Oh^@:a753Zz&x'A{-mPˆF˴>_-:&ՈTٲK\e16;(Qi1֣H]: C#ctrWj_{DO,IcGw(8րOӍnvk!3q6m0i$bw0P& @~\ЅK7^-ۋ}:=}w Kk\ŻoNzsp(V볷4뺘VNqsZ x }""ϑ[\Ia|exR%bFbD~ }Y&´N_zroma-731PXUYS-ٙ0W#MVA (/α$◰ѶuŮpkbha0a#("SVwK6s_,-u7_J{ڃ~\BȞLߔD*#y,lG?OT tLR<+*(E%- )ΔN3֟}I$l7!,W9 G}XdX~cL=XWFB.wd>7a|7`Y5[4V*)]ts1n%lv6D Z oo>E ,A\> $+/FnXnV|3zhBeLLfDԭADpd{?A[Wl- {X@3{4 s`0ez$tUOɶ:,ɝ_f4kһ0-3 u;>MO_CN)'_}4V C:R`Ô&NR!%8n(u݆泴H,ccVx:n!nY8i>–Ĉ+áV_I|jDX5;d3"F idgkئZ>ux֤{u* c((P)nWF|5& ǃ8QF.h,n Yv沿Ri)^ss9] :\ t_[a/VT޲P#x5Ƒ8yva֜xP< e >(S\}<]iI&]h^ytn(!~72%eLwܴo+F,oKí{z`ց`lbS^^v9K & %`X!gSX^٪L(ⶇNvTzj;qv a&]-updCuò :̈́y h HUhPWv=D6"8FYCÊBT񁌨h6(/H5#S( ߮aGf.BK>SQY!϶1B *^a ]dŦ|'({Z!Wtڷ/I]u1^ʁ?%,^}TKݽHZOBF!-U->ժ֣rx`A᧫}sUH纒/=pZlko}CbW SU(TxKR!~o4+m|ի q!qRF0IK׉4+im `+5leŎbogph wk, `b8L#Fsrn%e&Cš ̼qdpϲ[;(=åpov7keՉg2Q J0jNѹCB*9#k`ꮕth=kGܵM]TÌZu'3u?zb˱3w3/T)1L(v)!ˌHoP{ֆ%Ϳ/bg$*B}}PՉ'$I>)\FyMbj;-݉3;(AΈq5hi{mX%u:ӤYZ<%Dpu6#XvK#'0xa37O~)Ue DP@pX笮"˔+)'9?7`rӻvx.Z_ĈO.U'Lm0dkN ";$n tAHW&=]7H+ϜFBDd&82&jS7LkP]t]@-"%Bv|L*MInr]^IN4Q: y\YLNP׀f.h* 3kœ@;QNhzmG DolwJ1ܶ3L7`wjyh+2x/-!z>fm5W-jH"JE{&5MRkԼ>M$й˼s&梿H|Ϩg[ Z{UnNeEYe"mOnbr/jAJohG=ל(IhV,ݻ iPwTT!MePW @wGj-ۈZ;F:?&pkmg-@79e˙*~LWf;RҒxetuu摾 JߤY &//%l0lFG6f&ym-w%z#ph9(P7ճkH͑NQƒGBš 9tVo'c_?"epXgﭥrmS] OigbUvk(:-D)/yk2bf,@/HLvqpa}LU7޵CBp"EnO+ay)y"L,*RޣAT H`Rj$TZWc!Rpgy%;#c믐2!SgK8|4_ ؍7,ZTeV2=tf*!wZv{tA@@vzѼ<~Ui%I~Kx\ 78m7 4R4FDS|_zuz YUNT%믦םxxNloѺ㕟 ,'į5jp<*s ȜqKo0=s\Ka _} x3ZGH[%G3Ķˤr&)Oג2=hXKXMjϊaKpuVWbG6d@ܦoZ$6?{M+^뀡o7rÃBl0t@Ld_zRM6t_H/2h47h3]}:.7R[ے#hZ+j_c#mIo`K>G{ fMH& 7`1XP.M;a;}+tʏǰ8 s LnUUN׍d[->n MuR}d|Qb\ƎO`|y;iBx$ߟFn^c`"wZ嘤j: <^zoW`#%Dr^^qMtۯ~=er#Q yN#Z2b,2U3><ʮPObYC"P%: l Q,++* %,kYo;J-&+s\+K_T'r ]Cw!ʤƉ[# w]G,e/% `+41z!6-"0yúJTx`ʳ-e 3\LxbKzb+s n 9c{q͝=o7s5J$ŋC{9ٸ0A@V1 桽.a5R%XL,h-b!u n=Ȇٗs:ނwW9n x,mҳpyLO|<֬/OIG ?@ .=RN*GC}SSWy 9S*P) Yᄴ֏VmG^ !p0F"ށbwB(ql" 'D8f3{*O!k*%[Am= !P\G']}EJbA> uH]U fx9v} n+~OIg HNpA9ǢbNFe "DZqek3@[+D",g2v`˧xCjո~/&!_^)+>oNܛ|妭%5=D^w'a~v!/|DxwttG1-deI\?lΕo:.I?>oFKVNOMS-bCshIkIwp^9w|3UT9OSuh֙#b. u (l;SH=x6n3Y[)UDž ['WyԬp \lΞ)wỌ3#Shf}1BC(ԋa7:8ׂG; 'U<*IĆ^B4ad&ŽU^=9OVD\yw eeJ8z#dz"u@ r`yr]qYWC'κطM F)N.kJĎ}V9ʃ9:>n8[upDjaBQ\ކ#0 R5Pr50VzK |z2۶ўWkش̃׭-l֤Z[B껊#4__d7VS/ǃ0٘.yP ؾxշE/l};~77@?q)?? P_H!a<} U>x+S|tlq2o|B+c+qvZx}0=*WM]F:[VpDVT+O_MaIgKsN0ƻ&C$L;/ww P8q1:nv(Q鯑 8C+RmhS̨eܠB;Q?ʒ=y^{w@# ^o=҂/DϪ: (sE0LZ5Cg8^|WFL=h9 7#"?k'3؛AZs&dْH.l2qO?ycxiazǸHk^J 䶏IRF=RzBk;<ؙ˱~A< ʹs+ Q<odF~o5[k%bq=lh}ڙPŘ僃 me/+ު䊶v5,ثw;u"FnIup`F*܃ģbWeL7(p/X:\-{hj p "@T.C\B=m^ߠP^TbCS+l$ꂋ)eѪGP ƵJ\Lҍ%춣vFS; dƗ,_to BJKe_3#nQ\yfFj cjc DQNA)+J6۝Hë J2uAA|AF:<&XpFAoM.5y[L\=o/žXoe Oob;:3D1W6lGMs??TGRBwҡ}t:ѰPn%? *~:hg@dsCB=S,AX=O"__ F-v/Vr~v?<΀65HpLB>Ե+D50=U4;ǛhhǕ07'L'kK,I"mRH.1 [5^?z1=s)ѕLO/ e>IZ'c㒺 0R$0l+^vU#EvFm垙R)r8ьJfH(tf4u@] )cR LT&Ȍ%Q9+2]-*ECn.|qmxV iާ=dG7 3 (yشuTѬGW'J)mN:j;=F*,x6!I<ځ'9m5&twy/^`U(-UZ@ևߡQ*6hea#]>GOm̩tY?yU@puC`ձ}44ӱJZomtpI_TL8yyS"0쮃 Xm}OCSIt7 ]!Cñs'}Hf} ?cMȥX¸:5TO)idZ.N)ԚD_'pl`BpYAN\}SMR'C(Z H|XHAZi(KҧI]2@Q#ѝ:|@C}Npxn5}^;jU"D~-w~xsăL-XE &Ϝ}z'㌊p'GTH[Ƽ3ɿx}t\kFX;!*f߻8Ia W`MJ<}zbM5z2 x5^J:fLħeJ&9yh˿XNrXd}9ǂ$㕰NAN <m]فV86 ڽ;z2\ҒN)c΅J]K>m"R(}fe(ѯ)ˑ,'6?i<=ÛEO㈏2ӕ qnq4X Gy.Q?бĩ866Ɣ6K(9keGpYNo F7& +>p2>Շ&[U#ar Q6,)l]y>z "zdpI/{w̢CJvY:G~{1!Pg]'fmVm:; S HO:u[~M+L,r mc:{Ks\Rʃc0b4ܬL` ][hRp]Q<-Fxhp *y @)U [wXul~m|8E L)EoKo'I:iy)pEp12 "]SF#?!a)-GI) |OϤC^$&Dnnڑf)B@/[JX@%yan[ZN9k|tב3APcdSL%bL"⌫gZxyy|8785yRp|% qZOvguK|.P&oiH̟΄#*o}3[?Em_m%y[= ǖQԚi8ue@` ŮYG==SUT 0$/)~Ok{E6V!*2;ñ &l|wS6A<$sa0A﬜V@|]2c3#s]gp5 ~y{[q^kQiqAOFEPql$")!ֿy \X&Q+*.+i qv"a2n`h@ l%21;fppPSG14f{6; 2tj0x $ ӎ_Ul\З̋SzIA>S[Ĩ|gF_29B3DB8߸AMϛvKFk%_.+ܥ(Plt ` Fan PCEvG0AFvSpdAu/1wsJy<À;R璪+P-qr,\_\kYSord<>I%{I&5[qtFڨ/FX1ֵ]!uD_v"iqfw4ٚ&?lk2 V5@}Y/ssu{Ou)C]i,8XE8/,L9MĥǠ.hpް#--D#QBCġh?&DKu( mojo#hC{IKS+k;tәU3m HC(XYC.8"8,0b3\>DᄔNLv; 72\/6ڿ[0?¾Dںj Bҙ)ċW^sR`gR˵F1 8EU$A}~"z|Y鯑Qߣ OEEB5D!&$>gm+Ȅm@ca"B|嶃f(X,V+0xrB{{%<$ SM固#Zr^3nB0m't/7'*}>Ih1|)5OD^>z4 o1e)% co.;Ƃ/F] g^XDJgI%| [!(~,=|Q~MB^,5)aa6_R;Jwx \2@kQG/,[ٽ0F(+GJ\:{ds+24AwxKPʧk._g+MM[aFfjU,M+ŷSXLoz2?FIyhZ K6AtW X&@Da^8 $ٮ 2mY6y_ Fp@vQIH[K4$&oSz:$n_2%½hi*!9Q}]R1$  xG5^iH$"1(^?H:7c"ڌHnC33kyMkiۛqLim}cpB0[d<[_f1~z13:w<,vC{ &猴%@W` 6DϓJk4DMN&p? JQm{ 6/R;;{&`1y:SK \T'ZΫ."c\5.K><Ir7@F }tEAךi"*P5Ѫu[ܑ7's Zܑ1PQZjFPEws|w]t+8 D`Ntڷ RuXIf}ix v[(o22. :[ D/uO<]:2SJweKp}u24u6 h3G3R!iĂ,P eZ/ܟ(b$eJ6T츔j5p lh8$RT8KQޗ]_Я{ėeҚ*_xHP 8}l 8v䤲>7hchm\#N.6+9GsJ6 tehm1~lE/{zuSˍ\zBDp{7͡\/YLߜĻ馳 9 "B> Q~s#OLJ+ARZQjfEV5;_l !)7紤CU3"k՟@XwG4r f0D4K'5*>H+hލ' bFcLRgx ]wp3)?u Ÿ^BLj%mۉKdlSNL_#}FG,vph[!Z57T[Fy-!o#Hogb 3"rsa69=sW?P?eyEl!g;O_7($SheJ3 WPKh+ςHkԫxFSvKHH?z=g/4-JkL `P~h(%+h lqj˦! 7!?IbEP}<2ƙvPO3;8\u9VXЗdY4kT_J#)+98~uIP#{D6-pTr מt_С8dW O1|mDg(usyl> ' ̟V}tW ,|lFEalWe,^$Hj^vK50z9lDCGdV`2\&5,aK[> H" ߼mFb]" d:$칉8쐒g[pFj4:_0jQTbvu7 Ж1bCPx:w'x0#n ͜j=SvYn~]v {xfDDJl9wto@sd;ڒͬΪڃo+T%'ʦ[ن! Zg$S7NEiGW ;Nq 5汓0?bFi+ހ0d(Q-7^xČIed\Lut ]?ڡQ4-Z%3 [#Y WS~pxZo,!USg jO.!*㾹s |`۶ pjmBKljt NE,w ͶW8DjnÅ|~ȶ IsJv.))eѓm־L;rw8P+tFoQsjN߭tb4H|,F Gw@*UDgG1S,>qW;ך>X؎1tTބie;Jn (f.h!-"()BJJB Lk'F,= `+:6c#H?ݺ'b)g\X(5Oj:Nw;({@SsUS9B:%~u|v8F?$` B Ahk^!{mTMFHT+iղdsQ2O0WU~#: -6ۇ "v qPhp\|i( I\$?]Ñ>${j;<褥A-COYffμ:n?r"|Dբnh,1~n禄lkFqSE}riRVH Dى3*k,$cz_1&C>B^VoWS=BU!|i4ڸUzI1%9BCr0? g_#W%PEf2RPo"C;x,ܠ&X [@KnE5O? @U/fd{^lvϲ~'1'8:SQ?YoDXWd 53FA@' _U 5񑅗El?k/n ܾˠ{|5K`:v#Ogv@LB|T+vr unj1\O 6ʠA<?3V dj_IX\5h=rRKXD$pQ% .4E+3EOtU`:ZDґNQ>Jc~v~ ⒴ZG,:RSi x#@ȧbaJ*y! K}VDkIga"aFPP ,c/K=lfuru$9*i5"ז8@bj6B| _$l\3{7ACv"PІ`E[$qb_.dF#+~j$T{QajQRc4 aZEp{>D1֎z8sҡpd" /R!:S~]]_b甦Shf#QA)]fur6!Nb Uh-{r %uX<L8KK!fV6Id`2SAgDش~ۍޚҕ$>Vrgl62s*D+| !Cg a=3QN+.WRk۔Q _6KC&r/-7 ( 畑VN#MK;#(9pBݺl(w 1aTM?*y 'LNY#ݾX$C0Tn? ~ ^ښsE "~Nq4u8oEAh с3g_O5lx!@ L޹& WQZϥG rYcO9S V &K`zCq*/D Ԕ+%@|ī-_C|4rnS,?fZSܪ_]VM Lp9m&F  $ )6w.iv?'n~ =5gј^u$历ڙfJG78J G27)BƘ yǍs^djXjK_ x,at#"2/Xٸ=r"݀a~D|[`}DN%}fڪhЮ\3oPɦ;[oSFsj7r7S͕4;Cd?:yƶ4UkHskn|jJ5FGTPɅLZx,X^/N lyBLjjW$Bp*^n[)ˆq,ݗKLU j"]d[@!pG(HK}\!&[7)&!U7u n]t$|g&_} ^+1Uot)$UFv_d"Oz*UCB2`vYQ ZB 9ډ 20c%sWK p\Vcߒjfi\".p @]hz[i]OJ!܉3)⑨ȊMCc@E (ʟ8,gb"gna$/߉*ŀIUDIL%m073L[ke,D :1Oe/ֿhffn<"R5K`!FֆEK]az[2rjD}Jb+V-o:fr}=;79@EؠnY]~MB;;b֝lt(Z{Cv)] /^L8ѩ~W"WkL@x^r)THNnnTxh/w i;F1'w/GʉTi>F ?gmC x.Eƞo ݈`7}* LEš,`$KF|Luk{PYܕ-( q9v|T,NN3z\?f_t50ekCRkjXXLH0}]mԷ/i+jo)/ͥQMEjtrϞO nghJK#9 fD!\2C$ޟ4yv^@+RR| * @t9j 2sPrB0 ir%W`c L.@7?E0bY Gf|Ը9pG6ģ!OҎCA)ND~-cawWj(%,8-ɾCNJ.`hv<ueCeV Vd}o`Iq v<u[Io}>_,jAlAiXrlN 9 ]f)b/[>daL&kZG{palu:"1f?En!E!ut$T>v!CQ')r7iUN|;F+i 3TBTH1Le IĄ*!:4ݮ$)uȔ*=_؊RO%eDsʸ g (KЮwn |^5!#F=vg}5i\v}cpic/L<[&+Y&al-Qf.ہ x:t"}Sa5C÷#^;.W`<љVGB+EjʒU*Gti!}`:L  JlJnڙ+M]Cݼ.n j;+=w1dnGxpu*=Gc]N\aq դ j/xe H哭Մi>Q"M^5sY.{40֛$.tt2aWЋ}Ӹq;טq IQh+n3TZ7#)Be ȓ1'|rKS8'i, g'cP%7}$dY:S=V!? ePTah-kbX3)uz(N JCsZZ0!ֶdX/eP/ O_WDPNnY'iH3l< ;>ھϹt,b]sy1Г1OsΔHIΈK癗+K<}E:t ǗRKt*`VZx曳A:03nxQ#|0{LU> A1 _+*XңO"v" %uoux:U% " 6,U!_M. 冢lP}O 㸗(]- K0ρxAӀS#G7U="E>ފp#F!XJ̎\ tbb9lDمXMF`ziO-p~<&D~1!DZoX@uF` 7L]qwJ5%~/\0ЬOlLXtzIgiS㢞'\DWm_ a 3Bѝ?;4:8x_6yʍ. 6|LO7}f˳/C1J @2;E+ı ٩i۽r^} &@FP@+ѫSMmGTn]54 mUSdU6]=&p'h ƛ㡐Β%!}KCC3VƔNs@ȎfUMr8<<0Ȏ28÷=3뜏3gQ7*g&'MK @H#ˑm(nHfAGšKKԋib6?@4X9/1#?7&=ʥ [K>嫲T #-ed'Ȳ#(@ ro#GܖzB^W1\'"5Sn^i8o&`I 8lBd%H~:9Lr&AtOSBQqHA\y"_1'_ [s(26|QuF=ȋҽ )䡯n2wUjxa!u{L[kQl:[b(Ǜg Ղ*Jꧽxn ~«KfA_X.6K$͹yd=||7kNC :mwt#'\Pm2Ѕȸ4`"̶eܭfW'x~4ӏCC\#|3w؍I<Եbe[+ R{%0=17ڝl.2((Em]U1nT\  Sdo(fgfi'l(/ [DBt*Wy%[&loSPR#XKn.}`ula?X`i(]OQ$Aܫ 61񛗊2`udmB54aO;)w{U$o ]'`Ԙ Z8`<v^Kw  HR{W ڿW*ӿnis95U8E(q\(.*p t$m@J92j9se &޹p8Ћ g{NI?Ed!:F/rlRzM#*M/,V.o2 ^oZ&uv+QX@&|<PwGoʽaMl;(vu',sWAZv쌧|@Q wH6Or34JTs䶥a;+P m@^.~f,OtR(ɠ,4TEe:}Z{[uNlQ_PVz,qn# v4oxWDZh?jl>w rW(,"lI:3)ܗ (M}R{QĞgCcGn(X ۑo^%)@":C&7![5*3 /-Xoa <&7KD*I%Yi,U9b-VZ,?!+ǰ7n>@M Pb>mE%GZF6:kuGu( BLeoXosvf_u{ECJX~ÞSx0:{% a]wC)FEm8r‡OF;#]ȝMj@kR}\6mr |P$-.&@Zz5lF{Z3(Jhˠ;a9B4t<jÀL6G j1NK13.U3Փ5ۅJSK6UFs3_;F̤}{8a%=  YZ