summaryrefslogtreecommitdiffstats
path: root/Doc
diff options
context:
space:
mode:
Diffstat (limited to 'Doc')
-rw-r--r--Doc/howto/regex.rst28
1 files changed, 14 insertions, 14 deletions
diff --git a/Doc/howto/regex.rst b/Doc/howto/regex.rst
index 7144298..e68e07f 100644
--- a/Doc/howto/regex.rst
+++ b/Doc/howto/regex.rst
@@ -257,7 +257,7 @@ matches with them.
Compiling Regular Expressions
-----------------------------
-Regular expressions are compiled into :class:`RegexObject` instances, which have
+Regular expressions are compiled into pattern objects, which have
methods for various operations such as searching for pattern matches or
performing string substitutions. ::
@@ -336,7 +336,7 @@ Performing Matches
------------------
Once you have an object representing a compiled regular expression, what do you
-do with it? :class:`RegexObject` instances have several methods and attributes.
+do with it? Pattern objects have several methods and attributes.
Only the most significant ones will be covered here; consult the :mod:`re` docs
for a complete listing.
@@ -427,8 +427,8 @@ Trying these methods will soon clarify their meaning::
and :meth:`end` return the starting and ending index of the match. :meth:`span`
returns both start and end indexes in a single tuple. Since the :meth:`match`
method only checks if the RE matches at the start of a string, :meth:`start`
-will always be zero. However, the :meth:`search` method of :class:`RegexObject`
-instances scans through the string, so the match may not start at zero in that
+will always be zero. However, the :meth:`search` method of patterns
+scans through the string, so the match may not start at zero in that
case. ::
>>> print(p.match('::: message'))
@@ -450,7 +450,7 @@ in a variable, and then check if it was ``None``. This usually looks like::
else:
print('No match')
-Two :class:`RegexObject` methods return all of the matches for a pattern.
+Two pattern methods return all of the matches for a pattern.
:meth:`findall` returns a list of matching strings::
>>> p = re.compile('\d+')
@@ -475,10 +475,10 @@ instances as an :term:`iterator`. [#]_ ::
Module-Level Functions
----------------------
-You don't have to create a :class:`RegexObject` and call its methods; the
+You don't have to create a pattern object and call its methods; the
:mod:`re` module also provides top-level functions called :func:`match`,
:func:`search`, :func:`findall`, :func:`sub`, and so forth. These functions
-take the same arguments as the corresponding :class:`RegexObject` method, with
+take the same arguments as the corresponding pattern method, with
the RE string added as the first argument, and still return either ``None`` or a
:class:`MatchObject` instance. ::
@@ -487,12 +487,12 @@ the RE string added as the first argument, and still return either ``None`` or a
>>> re.match(r'From\s+', 'From amk Thu May 14 19:12:10 1998')
<re.MatchObject instance at 80c5978>
-Under the hood, these functions simply produce a :class:`RegexObject` for you
+Under the hood, these functions simply create a pattern object for you
and call the appropriate method on it. They also store the compiled object in a
cache, so future calls using the same RE are faster.
Should you use these module-level functions, or should you get the
-:class:`RegexObject` and call its methods yourself? That choice depends on how
+pattern and call its methods yourself? That choice depends on how
frequently the RE will be used, and on your personal coding style. If the RE is
being used at only one point in the code, then the module functions are probably
more convenient. If a program contains a lot of regular expressions, or re-uses
@@ -1031,7 +1031,7 @@ Modifying Strings
Up to this point, we've simply performed searches against a static string.
Regular expressions are also commonly used to modify strings in various ways,
-using the following :class:`RegexObject` methods:
+using the following pattern methods:
+------------------+-----------------------------------------------+
| Method/Attribute | Purpose |
@@ -1051,7 +1051,7 @@ using the following :class:`RegexObject` methods:
Splitting Strings
-----------------
-The :meth:`split` method of a :class:`RegexObject` splits a string apart
+The :meth:`split` method of a pattern splits a string apart
wherever the RE matches, returning a list of the pieces. It's similar to the
:meth:`split` method of strings but provides much more generality in the
delimiters that you can split by; :meth:`split` only supports splitting by
@@ -1196,10 +1196,10 @@ hexadecimal::
'Call 0xffd2 for printing, 0xc000 for user code.'
When using the module-level :func:`re.sub` function, the pattern is passed as
-the first argument. The pattern may be a string or a :class:`RegexObject`; if
+the first argument. The pattern may be provided as an object or as a string; if
you need to specify regular expression flags, you must either use a
-:class:`RegexObject` as the first parameter, or use embedded modifiers in the
-pattern, e.g. ``sub("(?i)b+", "x", "bbbb BBBB")`` returns ``'x x'``.
+pattern object as the first parameter, or use embedded modifiers in the
+pattern string, e.g. ``sub("(?i)b+", "x", "bbbb BBBB")`` returns ``'x x'``.
Common Problems
6vgkh,@Q cbv#7P56vA*g<;b:<۸1}gTZ0w>Aj*3bo;80ϏF rMH; ݻCI%ߥKo O"=_։.譍 2w$Jb͒"בDb`N3z? WPǥg|;dwszKԼTt4/Y]uKfOo :wmrLD!8h0|9-;wJrf>msƦxC^Ú4G7g afQԱ1tQEbT"򪸪gKh)yhKCJ~*mvaCRIHn{;3u$KJ4)KJ% EHUP+ !-:xuHOqJp=QfFo0n --e5"H?*s5|8\Eu" ~|H}ѽJI % 0~UF;;7 Mh=.#Iٞ:-+r-9:I8}χOk6d=G?uUUUENJ-Qܠ4E daq|WC}ɍ%>JV}_{*aڝI1];FafV>©% XQl0*lGKDq( z4|v1W@Yg{t盿BUQQ _ғk*J@HAV66IB#^Ϧ?HIY:q#7ŵQ"iD|xf/nD3jg34{:J23S6n6P[UqHXqm0|G, ٢Neͼ*x_5N&8fOvK?*ٜjj{=a_Fjp&(|)-|z`F) Sxq^Ɇ!pv?8Kgc?oAݽE#xtHnj=m=EKG#Sv}q44< &\,/跋{kmO][$CɣoFHkabq$"C ̰ Z#S)d&NașhIܡlPGVW±PaA$Ioh8DLn$W^$zd!!:R\?)_85Goֳ3BݗZ #'%$vaJmAs I8?fks<&jg2?_j]i*-y Ů^9,"!@B9h6fʾ@->>\:=ha#9fH!Bj2d> ;<;O-,[kwjB/_Bao=Ĺ}7:|}uȕyK2Λb yvO ,k NLN_?ojKJ}MYydz"0nU 4'AEx8ݭ.]o*FtQ:6d]՟R^qNG4pI}ix`^pdkxLq>.}J.t8u($r:F0d^f`ɤu0:F'p*ٳf6Dž5g6a[d;Sqb.KP([Ux!'z?[;  hC2261!=,=5\<z< lw5\V Θ`9G_˩;}~պDq|2hyM oi[F4/ Mp?kaĂL hlٿƢD EŋMY|75Z1 96g㽰?(gc+ݜs KWHm\޽oi~@D1h7e#5<[4bL0leX33h02XrIguwa jMyElXlLE>}dÒe.DL0Pfby KzO~ͽ{gɐfP0&::X}t4&}OgOl :K# zl :ib$Z 8o2Dofc@ƨeUp(D@4&8Hvb:,<4?^>BkB-OT:Bc2Agd"W)suwMׅ._ŋbMiu\7N&8>XJSvn+=ޓTz}'OZv1U~?)&<_2ŁfMQ9W=s*'W1@m(Ufg$;v`;-)9[9# Ͷuj9ێI&~4Id УF9": ņo''I)'{mIQQH $4 yKmZrr|[<=q!uy913Veg+n&uf}xmLdr%|QwƨK=3L^ܮ-wǪ᫯ MC~muی~V$ޯ Oۗfi'yIC]^qp˴`͢d(=}n*cs2s|Yok ٸ7b#ZN;=Hϼ9xIyuen!woۘ)PH }thR@LT(t48 uY5fFp}U  OL)MHy:oZ,CcGDjjb>GmTSCŞev:[n@ocVsM^H4s: Wu_R('QOIvQW_iToOoko87.&i}I_dNSږ;F\:|=xR 9 䥒T47zE:o\Ё8м 1DA$44@;d<Ǿ7ğǶ ӭp'7$8vJs" 0~SO1 &,dO5yЬ^M;=;o*syxsH;]ޡn x Y/v;?Q7+^8#ɍ\%SPp<7UxJ%3}avc{>mNoyH5Ɛ+!ksC۷|C LWIsܼz׋8PGXISqaf=?y\ U8 IS{*Y?U2k))"3c,}g9 !7dʈ 5SH֘63bK"jʦW~I zpd)/ y5]we%Y~p`d¼IJ Q$C ӻ6H~%0fE0dB+z gxoápUqYF0r{/3Xݟ3^<"z_g٧wK[Jgkធn6mo Bah8(>Nj=<ٍg";?*c +$2`:Əp37 n6rrrM[{VNNonCO7 iL 'AI<&9N}ڏTIX=(ڏꪋן o~/?Zw=b@)uuu;<>riC| \&GYύڋ;<"wl;Ga]HiA ԏ(-6?MG1pCsnk %*dك6f`bqu2i)S 2j']'F__{Eh̨? K?h|sD:?Y&p$lP U^0`φ}}7xQ X8@0U CPS9a}'˘8@8>aГtE_a?bw,MLUfnVaFwy"Lc+KiDx}0W_~y+/k (?i/q6#UpXu5"fE,-2̆!Kiʵv)Qt /|hAT:+gU6r 0^Gƒ=%/G!bBt;4F$řKn"E|Gkƭgį;)@{$9'G9:HmO6bl6a0ʔ!7 x:Bl -a 74ɛ~ }&Cf]h3;[%˽|`bw]0 q< rDq1cV)nB`g'bYsDS[)Jg[<'9A١Aū(Cs8 {ǿe[Ye#M$-5JOL3yp~߽}qۄptE:Cm[4bO?Ƴ˼|a$6-b $ ͡7t~~F?ᢎFjcU?ai7bg<_v~To|] >Kf&^@TzC+aAx'm-~QWLa符xa`1VhZ`xq$T4*yAS=qA(;GΡA򞹂h 7lRt[[8< ]qr53avUސAuj!N=h\xidlF\FF:{Vj dLhxV$ p"gɿbBe>P K2U2\cq01"}иtƾ@+Y%"?jbri 2[D0?G8' kJ^~[Gyƕk&Ӏs0OCbרaN2*2vRswz}juO/gn*ᔮݵpI *5GdOvY)Ql\cU$J'q%Yoo-3x0$;΅SR7GPsĤ#--;;ʷ ?iGbcMgv6_mx.]1-h8}RK?]|v~-獾Vzw<)C#) =^Qb0P_f0s3fN rouGPɺFx:wOH״\9߳7 ޞpz~;h7:GOƣiw޾2f1~Qi*G {[*[E*ZZHÑ:i'bސ:y%[4RB-vgp7ͦvgnkU=Я'gy!;Bl)dG4)q~n}w! $PvS*fbTG]Ɣc$q u驒>]:lԂ8Wai&=mhVȊLNJTG--Uc7+=3\H3O?0R 34ϣcGt's d2126[F{^nK-'THIHV`~PmjeT.1#"'ď%! N1htICAN>$5>f/:BVHJs;yҧ~mlV1ӡ !5@1q :x& ?1&LEܳ2vw*PZlq/[&2z4,<'pȆ%R# %bBy JD1'CA3$@Of  C5ׯpՀ6vJ9F3 2cD/-aN@) Wsg q4t" D7ȉQm`~UHx.xR~s 7KcટZ-D.}m&D8ƆNFs/c>XW#X]_ΕCz{y"i&ȑ?X  D.j`lŔ-}n0c>a;.6V_^bhWiГ0ѤW9RLp_ r&OslґK?T\5U&`* 8^J"1w9sX>m89BFԯz̳O^ay{<8'gA12-ay֒.rFp3G(4 T6*w5"b>X08 uOѹlH6jZwd `kZaMDϖMB&E zv`OFUz8FH1wa92q!}+i3u*dJ+?tͦj4ܚ^Ɇ[vǁWFMܮ>U><%>Bkлv-H.YS w7W̬wg{I.AoI$p,I,ix $b5S>68ZϣjgGS_]ݼ~y0ñlI)࡙DyMaK@,ap+b8M O). X3$3-umj@Tx"TXE]ӌB.㭇3OG|=*HH$N8zPsw,%縟#XlAt?%%00@{žer3$,GhYj@{sxb\+ǖ7BN7ӎ?1)*pd;9t?s; PP K(<>fMM >?OU̪g)e (yЧ !zĈJOa/ \0{2+_5cR?)~*/+si;^Pwy,U?,ՠgE v G1_Fui:SvW:{@d9Bu:[՗Vd#QBqѿwzj)"H&#vP hmFB?cvg'GfZ o3/KK'*)~LPR 5E2K|=qO d*5Ջ~ =~_/t3Yxl-)"ŔnX{Q*B'qF e} 2/Ճ^G@PlYhcgdj#{{N3B m ԝxB3SZ?7p?N" N!` DDDD,CaKLLqΪ7)]8jrB_`Oi$H! :DNP*k¥1H̍##_SC1k1& pY zf7/,^ેxaAԲ$!r_a?,}~~v&n&-8`D[ԛ,b Q[LORQ0QDKG٭gcBڐ֛ t3k6}VLy,~[}?{ZY^}olI1V!^~ԇV~ϛ>[>߰ tcs>~MJl{2I$CI$նVڶI? MLkZ114Li@6@H~0P~¿|Kd -opjiM߇?9~x:zzE8!$x`, $ pY(50sf: F ^20`?YT?* /.ng<˺ ݴ,k+^ 0m+(&`cg`$#r b#<cΒtwNjtwze}Q ADt2 LC`d N8+ %i$l\&W\5&JA\=0.(3q"#\="-6) cB7ӈp0>R; #<7Fc?UES>؆9X>@}$p,v>7ʇ!p,~ǵ.Idv  2Qǐa|{bQ''/INC9"h|l#  9 W,{2;3 pqkۣ~?m.&f}d;&ȰBY .g|_zz1ydTeMr*4yx~gԔ7_K#Lt2x}rū r*4Zp0YuyuOF)*`^+@࠙ ;R@e`?|H\3ruaA&j6B0z+5T/w cOg/G )װ0pv&CG|kD~Iٻ<ص,COo},Е紨 XC#EIEV3=l? >Vu/ď`2 F` ݋xg'or0\TncGif /-&k&g0fWӛV fPg}m ;tt৅<SCtI t>hA6 $( ,9Ѳ;.$Lo6dA6/)DQ]kH夌0عg#`g 9دx5`ϛ$Wo4UTu7<=ꔠ}n5<)|屳1k!%:ǡHm;I!3KWv٤'MZrk10fYם%X( F})4?|pL9Aʎp@ƜB}rq2&@2잇KwDVŖ\qFOZxyl82!Th$85#' tJ iǶĴӦ%YK4P,ϱLU0+D1CFXKiFFV+Ն^zPƗ@La5q$~2^pYΦk&ZS ΄-fBd4wDj-C0Kʧިgg9ĵï3wP5 ^ pOnv?"TBMC^$(d*("jY$?U n H٢Ϥ צ0{y],Lg"E\;Km΃^zQ7/qPĉ zu;t0h@oSEj `E ,ˏ'50ɲgbdHc'pB|(@H .q`mHA^|'nulhm`&< %_@=~R E{F`9CvoH~{ U C!tWhNZ@!7tKDi"Q 1C$LLKنKDE8pa 6֑b's;󢟕ߩ A$P$ñG Ǟݎ\N敖a% ߘl$80ϸ@piX634BDID,yB^R,Y4K 71EW Y3a^$5&1Řp/ata0%N9'2DKkۦ>\Frfe[PĘ2@HeJB^Ax?aDSp 6znc# G?`>Hj6ڊl $xΒ% ħI86`.Q2(L%8"%vB(Jא"@C)$-/Gy Z68QE3ˎ`ŜT#GD(I6eˆT^ݲ,6E%F"d lZe pw(&ٛ!M2 2t չ.Uf1L07fI" ^ ZIýK\A.эZl`_Q%m!A&'4c%H/Bo"8,I!aS#BWfÅANXUxQNlYMdC9 xe d,vўIq1+B l i8pa }Sx?IAz8ץAD$##! 1 , Sj;t+ b"(p1=og>xϠ遲J$Zc {j("C$Ptp1ͭ0"R%â |5<,$Lԁ(P`R:bs</@hQCh0*)l){K(vN;`i dF'1>%+`oGXbkMR+;|uI #' (B&iC: *,mIlsGD:2BCDn]fv>fSM' z.Q:1CB"dD'8Vxr9-QQwcr,j%ރ 3 .R1D}"Lv:zi` `N3eHmGϬ9Jma/i@܁E0n~zȍw$O-HDd:'ŐmzYɬ_hwH^ }_IzaJit_+ ~?D ')^Bc;(JPv<Ʋnpl5BSUC:#qr0C"b@xfX/ ;M P']Epz& x6 c$){}= Cq\2 gvKl2if5P^^'AXYYaK% صlpMV mS{`3Mݐ̋eVe #Hl+oE*AǐtϢB! W{ fTD\cܱ$^9Jx\) <;T|O))x,C!}GzpSˤ:n@ji 1{;2(|~J(&Gyt7Z!hW(y" RI|# q` Zeia%c¸2MXI1f!2Pqr7o@NY.2akNUn""0$2f`$ 0p V|LV)e$x֤2d4 D7poTzwBџ RKU&wEC$fhgj;hq9~p416Č,GݵU+j0"Lz~1=l᳃8\9ٴ#U %#90b L? 41* fcԺ5*YtN704SvqwBj3 8 5 qG4totFO#s XQ5d&1m`* !r7= !raPotdL@L/ X0`:)MP~Tf}AE(نf%';(2sY"",@:Gn{x8$ߟ _$ ݦj9lV Cٞ2 8rcKO J d>H#VN'X˘HK# 7uK>\& $Ը+2L#dmRQBBYAQ&N7J0AA=t]Lbbyw! ID /,KՍG+c'bWz{ rR5j8ma m8E\7Fnގi^`@ %2  j.33P`K!xG J0F^u]:% Aۢz9CQYp)!8v#%Zi6 qp)j;VB ڈ21!6-CT kf1辂=?D]sR+ YZ'gYv޴k3 4~L2CڽY!?p4 v}aߥcҲɆ@ӄdƒ,H ELHIR#Fr U 9 ҧtx',JDQ/w:4;}\`ڶ4% êGboyZ3_Kw8fNUDUDtdQy dž$;@ fڟNtg/&RF|Í1F -Ž{IB c(BэƐ]݈ &) 6UCbVWUДEX@mAOJ@a1İ/'2@`n5{N<3X%  9L-m`xZ3Qi.O]^j#f a#)B5TK;#A3 Fѹ\*dxS#/Nܦ} =ڼ7 1@g-cG/?#3mD3E2 ,:J`yqCg!ߤM-MB9~0f2,Z2d4"lx 'QR & fA2pmbf*wJ<%1+0ʐH`iXz2S/m&3 Į\8$ >f@4;ݤdM.[CK % b&u5va MA27^šMw[S|3Ebw;l%´vHc9  I1itocP <:eZT4ڦTu"w脄 \%pg)*2sdvx,clX1]pQ=5<007d$Qw7!9Xx;DTÅ@^+QA mbsc\ P\4 ! C)jAz-NCC!KěUhsZnH&!hz.:ºLaA1~~8&6&.ifspܙQs#0].ь_y|P a^ z!)3 Hdr nsh5jѓAjiIT' &q9[)[GP+8 cSk6Ӱin,La_dș>پTo#GC`I*4nxyЖPl!sj6&a#6((p:e>8vF#M 6925@F%ݧ"R F:_Bs/npĠ#Ў V`$RW3z۠j3HC@0-Ѩ@FD&@&(AdCA,Pư݊QN7;bZBU@ZJQď4PFH0v28 懵3H1Cb{y5;U]v L^rkk!6j "F~ % [/:0eo2GUja#Mc!=FrR)6Pl|C SIW!k*  |O0E.HBQxZ'-w*:@ f<9KAnʘv %xmh!urËnpQ `͸M5.0yPaՑ&pJa!rF0FSZ"*Blo&d P84fdjHY;Ā얢Fb"KK*q) *izFGv>\ ݾKgNM(RG V(m>|̏QcR_!M@]>)^$&9e$W݃c'qPw*!eQjDa8v ~zqΫ0"84>3um*`iP(A=4ĪrU ]_p)im+BNgaN 92vQXJ}9_9sN@bXbⱄ2%A H]h3 8f!z,k¦rƈQR:9p6ߺRz4 M~J 48:LNdd,$|EɎڠA00ԆMg@[w <$tܯ4Sv 3FG^|н]-1P􂰂,I""&C%LA .Ao]rc =#w?,oW NwCDBE; \~Bg߮9ƞKw"1#DDJrTB &ER ,~cr^\;#BT:}JsQ8;P !s >Yö#6;_$MwRF+M(g"?6WOEB!.3 gبWiL M@ѥ/ 5(!^hiQׇP\5SDq+b;-Zþؚbu p }fcWx-Ȫ@,2o;Ϲz 1F#ÓlEY{b輻U:PQ$B2A4`D3k]/ EʪC[ ۆ#ٍhcRu(ܾT Vp8qDcpS%466 ^ގs+Mxm 2"+v):'$9b5ąвܞN/T*N&I⽮Rx&D 3[p4 o0P$CJPO[) n!ߘrR-kY#=a8Nh6IP,Q}i=px}~ogױ."Z"2$*D2ba|2h&%Da)xk,IbM.ei ]`j%05[j"aF -0hQ`JdD@ R),dHdӒPY+p離aZbfV&BE.*kg WIrq ($|@\Vcpd8Bw,Aa @DP辰s_@ u#ZcAU*'hᱰ\Or1bam#ǀb!" )@3`x 8g{r^7TOv%Z fVQp~Qf2Q$kId] yAc9^!춅 B)=(DiVV>j>]sE)NlJ!4O8;Q Q;#}yһPKAܱAh@ `eʦNHV r ߟQ+( L6-x{ 0&@-&>֐S΀%4LPv~IrNӬi˿<B;#G# tlcVdbHC :ӄ؍ ZJ?nEz$p'sZ PP#Hh `;!4dyh`kœI-F"ƕB:p.[?`ƊĕP(5VH pV#2 $c` ^#WeFQY!&#Db`.nM| Zd%*tKi0`8 7QU(W(<tlRSeF`/k{S99bQRwY@{czXpZ/HŐE)|>zB9/bDDAHy2 $gB.`4zyXWZP|$Ƙzea Q  -aY8ԑfS j` SX5h*0lNHԴde`h#fӉ]:%5f aIىe:",67jT=a@ n04@p*RST(?njM !2T"*% @T("V! ")U()( RB$i!)W(dQJG9HR!AJ"ڽHj@pqڢX'RMf._ qD`Lm,Eᔎ0pr$8@xpOm_K),Ȣ2* w@TBDQA!৒ nA:BCbHL@=y) n q1E#٥H  PR*D"ȉD1J,MuhB 0r d3_FDM t(""w:.U d $ bXA~gߥuL׌W6A4tوzg3rr!FΑG$i1X0ҎtVA&zP8v*Q(r@0F}g bE53# 0q~EI3 aZ"A_ٞZ5?N `qr)3CLD$DS34APL(To&`´O!%MQٞ*ep0ٲ&SXP:\z垈{q27Lj\(EO$SP݌{.c\=d:=\G3OOy X̛. N3_Շ9-d}IzFȅ" @)bJ&3|!  GIW[X0?,A(qIvAnEO/;"#n~gd?H ? Ikx !4l۲Hx8두9A4v8:J(`A0 *I *( $@Jv?hHjt0T=Ѝ4T+5&N5\krZ=Kz "=Gz fYL_h=_7E#Ba *9tjI")N%ɤ=r!'ؑd% "#&*v3~HBփʧH>)i!sU dHsgG7 .z)9:M2>ѻVߟ?'a@!%9;-1hb yy~F6ˡdpQHF`VȿB u>\G#Ʊ}QA",׃$ OwaUr-P<='9aS$.f a:(ar4MBF%ϴs?r)W:ZNNf24ŏOsEasRo$lGm9U8َ>&vu sp~>t#3ԣC w}.dr4T+3.& _7Ʌ$Am0jHN!C,&nC -&rT@}a{︌Q!X}ߢ.ǭ\ KA=DJC:ϒ@ TJjg G&`tZyjSE ДR*Ы*-R1%-Q!TSDBTC,HR4 1-4LKT PU4R4DUSCUS"$@QH* D4JD1+MEnz-V0JwDxx@PҢ[;֣b]NdM]'d 1܍HD(=.KTMiA"ġhTCp A 1Zhr$1c4~}.X7QTJЇqg8C$2D.>ܩPu1MycG -1͙GgX`>#1԰,6fr%3 aB:F55|!xQ נu\3Bh@x7Xcj63mWNq;B2.FO bg}#ي 㞠?f!A8tĢ!F@0zND((T~eJ>{9;iG$ᅆ؁ @] 7cQPLE>|1É%b3o{:'%Q8- KP2 /J!M ug5!@bӤDa]ݼQadVHhü{`uK:>r'#jC L.FX"2 3#<0 [ B̥# Nd1-4SH8 =دi-qȉ{|x4 kBImU{~OH}(z]LN0,Mx] S4OxfɒB-Io90zF}ZQbUBdY5]$.7 hZ lbDI$10($$]0LAh2Z lV%cֹ.?pV/x<xMr8t4)a:3aNHМrɱkepӞ\4ۂ[y(O鈌  @v:g5 $^*F+JjhlosS1fjP4Ya`ݮYJyC+"; g-NN^ J[lbP051 M(1#8QngVx8g0fȻ{+EH<@e&&of c,Ḙk5)"w\خ" m\CtN7oSNȪcE1ql.dУ"5h!#-1fmӜ:(l MDUQF~DH Z]l#i>ˎ1c!`bє}jLPȃ0XTwQAu`>Nؑw?LTN)`߼vP ">)/JPAzQclti(~j/;i"3g&*]!VAMAɐV[=qlsA_ ͅFCޔ|,hclqFhm@ Q0m:MY&i3Q/- ؐ|L3MIT9254߀a& YFM(bٰe*_ Hu!&nƗ|B(tApFPf. Rԭ!΍.";V1VݺSiɁ@P 4T,W+&F gN]8FѠ :SPXef<;~nI<*,y `U:EyM:\Ѱȼ=m%74ǖ Z8pئĵ<G}nhdHo6\ݢ8-RrڶAP+P $ )$6 %v\jm1 cԼ=<1UC @)ɨ$[60ܻr׬lqE]Ok^=~ aP\qKeMis oWK0,7ݾ1+[[nlQῥkέuG{7l5dkpsr 1(L?i TH70272. GgN4dQfMM\:QF.(FW-WL5B(ϴ>n]{*:WUXxT%L ēUfRH3VG(f Fhd Ґ0JÏ0H "1 cf&ƶ Ly0#^P11:h! kw]   !a0%Q:4NHoEX@H(@ YJXNc#~sD X% dU@ 7HKq DPt48! ką(6Ƥ{t 1NZIF V-82406}3k0ĊA%bi(:VPq,0i;U<5GFeDm#MLpϿ`Չu z:f>M8!XqEf +K,A6PwA!6qO%F):+h5*AVGb A ()Fe Q@ e*@hBRBG!1Y@: f"hΠ:8"PruII@| ĩB DJT8>׆@~PL@&q eSS@?:+ ",p@5DRi|i4q:!iN,3+7Ti=5%6?&9mɨ4ޙZMZ'b8l獮o2hu# z NJ`!4.nes} ?T>apn4' %%Rш>)^StCD#q7.qx(k>)b f޶M^IB4IJOap솴(P- I@ d~ Qh)UbP)* D *% z;"c~/I(HZ(! &((K9Eߴ 32WF9=\X:{RxA.`k1xhs0`H`X?r(R ؋ iqch9|`J$XR-y!)F$DgzX`;d$BJ0P41U@jJ(+d'hCMÊ* &.@xw)i%K~[ :Ͱ:44S@]>.{h(u+x)CC\N hJS4!5RdD$y/*v",(R@4!,$F႟1tET@u8ݑgo>Y(F NO TnWqǨٸr4E6c#yoz =gQ/}z$T FiEv`c*|r+- ! 7^V|(FN|fpΆRT`>`ÑYz i *a@,b;*!{ 0 lZDW #֌"D x -L9; AQ$C]0b(јG^܇L\#: 'TwONX)r)d;oEϞ"|YyF&UQ\BR eXFy78ȺL N)/yhP)iu3i@+͐b$CͨfUߴO7#3Wd0}crz )`ևA%b $Jጉ7EI]u"9<>=EEC4&A{xb}%;~`RiOwF􇅊j{T!6ba⡥;BMɜP4 h!+ {"z~:8C1"-Z&j}vbZ1ӆciq\kRIĒٹU ex!ch lpX`6R/@OM繨lc.uSF%A*(R݃-O _("ktv<_W20ƆNCo\>>!`Ϛ`оdKZ'ܫ'ݘX \P0Rvj.)5#C3# 7ӭrxƹpѶ,1=E-۝a:bZ[#'Dh_c@nZJ o>E⃠ Y %>ofRIAi;an <䣭G@QO֨nDD)2`DΆfo!e ]Kb.q"0ب D d{l' %- VQ%}ti1J+904;BvDGn,KJ=RqMGm ̐hs @:cweA&%KpT-;M1xfQD)AR 2۬ i4ltmI DNLHmddT2ňP53L6402 MZI[#5)54 LT8LHF8 3552Mâ0d2 fALV3(;m? u)%8ۙTEpYq9Qՙ6qȨ!Z^ 3ސh*pp.i#)u89vA0C(ↈM#Yqf*$4AR<Krt;ـiLJ 5՞Sd@OP aca"׿$My.E vRg/  ~ )u% D,F8 X"J!'@g 2ɉ"䮌QZЦ+B6@VF6!HF(dDfS MuҺ A4S+,33$ܛweC.ⰹDz$ >G:`OygopTP  &3Hh) ٧ȠW-@^ڄ@HFtY2B7̵MdG3Qj$-J- Bdb*f16h%Ԍ6(&5D2Dҽ,ҋ QFH,6nd1yT/naFA1"}R8v+Rt&&,H,qTCE,rǸ, DA9[%TLJFH/cܰf$ m WQhB) A" ٮ鵴hbλ-#.1sb&3U.8G Mg! s-x͕(3H1&A98~)HHLI҈nXH6ƯdJىL h͏)ݘOZ.qփU`d u/JA$ ,=$T9 qQGvdtsGZ|, Fy DbCGW0\9&m|p; ٺ@Km930dy1g {D3=sHZ#urx.S(H VlKnId;syu$M d4mElY2aKS`hi= uO/;&cP<+BLM-Hѝƌ&p%$/2!4]tpeÁ ]pC poU8=$ƙ 1AKP9+Ig- ܮEUFFX>*Y^iLw|4IkP<ۙк(azAP={lA)nSi$j;Sff#f Q2 tu4}{ /=~~y՟!pH,5Q=н峩@.81$ؽxvv\w",!A!n= ֣gi4ܗNjF쥞x81EXP~\" ݏ eƜ iqVp8db%F1Fn9 GLJ6UQBTfbXکV8Bh4p֌pa4\zB\h $Ns^"'0)YE28i \&V0!0JSl&!p0aF=eƞ!-XA'.%Ph4fk 1a^4poi^Z($Ãe90BFuZ Y،1 ZZwi7D4riޤ1 N[7KeG-TCVޏIP FFb4 WW*f‹ 7nMlُ^Ͳ+[}; uD0mA@/G:bˑHL2lSxZEa8[ӧ4E/d_Bt&XJpCPTE_[68 :|Ty@I'DH|˔2D(z9c,Nd!h%D" YJH؄!bdlq{܎'ޘJGдHqTMi=  ş d"mpg8Z# 7t` "Ƚz('~ l=V h[t]@/j{G뤫k IID`:y3zE>I ݸW|yYfg"&/yɩd(+!H5H4)h485`A )"y6Gi$ 8g!͟[ZmA.vrX*qiF5jm:hsTyi4\X`H`Es.3ZWwEycwh;7Y {'xl I<>F al 44CT;qqDk%QҠI-b_T-&H"THn`D%)B  M ϙt@qaN5f6!؞_Cmocs$0 b DF֊z=`$0=y"@<>a.Űn4v2Q+*1: :%+5~ЊTxB44n 1̙+ 0^-jpn&') ^K CHS{$ FxWi2%sN-&qJ ÊU 6 q#GG3j9S1B=:-uzm:J lM1!ifvZR `#)h2 f-(cMPR%pjR(V""QB!FJP(PR!JBԠ*4H+J Р% pcZ;%z5f`Dd H"DmJ W% B";"9kڠs R{`rB">ᡣC s(4d!Ц"0c9a  a,$&L!(٘aC7 n6@jĤ2[u82 cq-nͿr qo$bЙqʱVg釚3h,Z܋HdLhm5!M̄u "l 4Zh%-"@Ey4ER܃,M!m1Z#QD9ąJ8*jXUl40Ɗɶ1!:VcpvXi,c$H(UrFIĊAlTؘA$-""z`m bp'Q\&$fga|RBdIgzh T7o7|zQxR18T| :!d BHiu:5 KBDa"s>2<Ab\!| MMϙ$U7>qv8`ċFCCZ AIJ-YӑV8ēr*GC ^>ROMNH  ,7ȒJ@>pl |_R zAH~ĝDTnN>(AXNS) /)!D2A%n4DeMpr1w0i{9 }3(,jzoJA *-E8#q]ge]ƻlKE&aY)z0) BQ$h Qzh3z n p0vB[Q;ԹEЋ<-e0w! e%XW4= BcY@R+G`"FA""*Sb" X |aX#=63^":Sx6DѩJ @L5X ?k}iqңp C/{|s?%>~pH{-ϐ{x7'OHERϟCG嶢]F <u݀@PS}CkH<~vh,"e#REd|*. 1Rl '>;fQh>FЃ1vw/Td 'dwF ->^gxR UֶDC(MF]eBڂZaUtQըФCGH0%bFg:k0>Xh>d/q'܅y قү >/vNh&W&PN:ÉLj}g(!'OwMW*"H I8C$FPae@J":QP$1bN;Qd#'"%%@^qbA*ll>ü vHD:s֋G!eLwڱɄ$dU$F)e,1(c"h$6QgQ)"S"('p/l<0FFa%H LQ~A%zmOoCc3iN[M>~%;Xn6OԸ+()unQ Ќ.`o]s,Ckr0<6m(20Q AB8.$H?P-XRfntވrCyMatd>0{!e.d6 CyA|cm$؂4ra0'qvn .q4D󄄄(@/@E?W0ը2JXCpA1HQ$ %j]6j2u@rAx`T{|@Ԍ^/k+ZMGӤ3,fb`{S|DWQ0]F6+]Z0 $LoͰڌR7F :$#ɹCJL#@) ($3_`-px“ /pS8@Qu!-f8{ V K:0nТ5=溦`+d`\8Â9ٚ8(]hl \e'.=4seCě fKk4[Nbs4!Chm٘''McUSIKJ .'S쒺b6&.Ron;.9C-jͰgRFN/^`5ɻXN,5&k/NXRj12y쐐`.4;֝ܘ> PGP$#2- ,1 jQVFVRG8!t$I&ETZQ:qF:Z &8u1 OE[DPEcʷ,$:`l¡*g^s<;;Fgo jKhJ]55SNXckhQDj$9o0hHGG/KZ z~9TĈ e>8kDê~G Zcuq!w*y 1Du>C,P`ɢTwPȵ/b\{+{_sL@r)7<irՖf B^3Նe`&o[zjc闾:c=8 2$񜂈]BB