#!/usr/bin/env python # # Vampire # # Copyright Jelmer Vernooij 2010 # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # import samba.getopt as options from samba.net import Net from samba.netcmd import ( Command, Option, SuperCommand, CommandError ) class cmd_vampire(Command): """Join and synchronise a remote AD domain to the local server [server connection needed]""" synopsis = "%prog vampire [options] " takes_optiongroups = { "sambaopts": options.SambaOptions, "credopts": options.CredentialsOptions, "versionopts": options.VersionOptions, } takes_options = [ Option("--target-dir", help="Target directory.", type=str), Option("--force", help="force run", action='store_true', default=False), ] takes_args = ["domain"] def run(self, domain, target_dir=None, credopts=None, sambaopts=None, versionopts=None, force=False): if not force: raise CommandError("samba-tool vampire is deprecated, please use samba-tool join. Use --force to override") lp = sambaopts.get_loadparm() creds = credopts.get_credentials(lp) net = Net(creds, lp, server=credopts.ipaddress) (domain_name, domain_sid) = net.vampire(domain=domain, target_dir=target_dir) self.outf.write("Vampired domain %s (%s)\n" % (domain_name, domain_sid)) BsWW;_԰0T,y/O-HaDyîcjmYВQ;Q p=gXrE>#5G'C\ رh$f3!vT9x@ NoGtC[.m+шZ; ۃAlW4(tYA#`[;bd'+5{T'-pmkw$ i%Ku(1ńݸ;xWEdQLExs&kԮ(ǖ0pSRFg7(+Yp2kqnLG|a\0Ƴfڡ" FʘM{obf&S>l|F*ُ]G?: j9hl%y3YCʷ:MI=àY^) ,O_L m&O䓔9z UHiڊ.pZddS??'n㏉cDFFL.;),v1PȐ!TрRA hN?P`‰F:F$ZMPAwWڬd;!8t7YXm2u(bg2|SCzA*M:YZ7{ PeF0ԝ*ϷuC0ٞHU{r`!@ϺMM 3H}ޝBhtK:w$ [[b'Ho$xVRvT D"$?-9|4~oZ3gb L"\x416Ӫ ! '^0w#HVrnF]WPa^iC]pBkjLp\aq 8.>K|nEyBK֕I sC-sNսyxyevhX~ ME[h>p̦ N0(2r\$]DݻqvʛXF~0xB>⢮\#%xʲ<H(֣NGJr 5 [`h\(UܳY>w.J,' oc?e6iЏgPQ[yd49l/Ym)h)-FsДN^4*lnOxluY8LM,[toUxBW Yvx]Z$$8Onf̸֞)i1-G|N1'%&5A\a TRZ5w?$kK M]*c+h3R$ܒ~@}1ت< JPi!f #ZD3%BufZN'n|\#D|X]2ĬwFfx*-z*C xZfp0T<*²3[@P5&h+I8B ٟ{/;iuk6aZCN2ܜZ{ɡo^'9F$;^ .Y\d4KX+%,y ;s\+њİ&P8X9 ^ij8qst5_G99Z|Œnu u-"6 %q|i!ĬgyWtU暕sT~ +v`|$qiؐ|b%̨I!y*=8\X0[3#kqz\bd֫\j1uN_u^\ !2 e`)t~XW\6.8d)+}'?#h[OW4/EۮJC D_8B:b =U*ݡ[,pġ^El{#A[7'ۢG,`W]MMixcߗc_QV}@k{|X}lR]g] `\k<#q6 ӒmiabzeFpBZij+ǻ%P2IpR@7F0{J4H~A OˣmL6P]/gHΫ)L*ڵ"U vvF<-15i8Krz28S_"f4x8ﰳix?Ae#\c1w.I  wQ{-w=|Vl֞dP+'yiڻ #n\hE0"is5pw&&ly@" WLJI!T9P+'vϽҴibV88~7wdn7]Jy$.^F\[ACF ^D%6f4S/Ghv8}eX|`Aj:X!g{Xþ܁E]~V^eCbOr@KPjSH`xs˲ZssGJ1aDfw-yhPT܋kф')QAÔh W(mtw.$ا'HCvI_YJ^.R EBҍ~h&X3Q{NZS6;9DQrHiqv|gn/|xyl}s0>JRU ~}mp70t1>v+恈 G'AY߈ۤcT49{z!,W]y\3h"c1[,=L=!bJHj(?|R} }Grֿ~ _Yef)=sK~_âxfUNPcل;1s)& ޸WEW)}tfBfD,ڛL[G~Ut_;}#)C%@ s !nwԼ\jd)BMΖК)P&_'}ޭ #M"vE}=%*G;mI ;&௣}1pŪșRh.5hpsa>M j[R414oY1\fev̼/v)6(8 mQ|c(V1з VWoknZ(Gzh {<{m̄6+GATB"ޙ[tOW|`IgiS#oAZRtk'P >J~P?ϡ뻾tz½#?EշUIAWhNBA *w`'qqpfX?Έa\\ALd*Gʏυ-fh)"U{Uf寁 I#o TFE gu8/@ i[߃҄Ȼv{,T>bJ8vـ0Ƥ ǪEIM(6D Ct?lu/dO<(H+-'4|I܋^>H#!?b꛷ Jčks %P9yD  Ch`;ff׼w˛Cצ$,'3ONZn}a6ô;7`hHIBYQ~ i."M#|KkvmoC;\1^S%vn}"&0Suҳ0gZKeyFFmr*m[-i!x0S^FZU@&X(7>֒ M35혹 9hf>W4awuN:}ಬ).Dxjb 滐G6TF; x8K0+x(9S`O!y_*+9{ ؘ륃vƬ<.'TiߪR! +vZpP5A) bQ2b4Gee/A2aW]aeFXH,1z#"=)p5brSK:qgU[:Ay?4aH*4/sk9)orpT@^zlk9ut>WEcDx*I'Ɯ5t&Q3_NuR+F_&b4وdkJ .?܈ԓ; ʷ1)]_Y}YB(V#*&`Y[jpHjG%(ᢊc&)}>TV0_龍4ݡULx»wxXZX`bεC#332B6(m,љ-x?zki7A7X-ZFv#?G+)꣒$T_. nӂ*bbCI=2&oQ |[;$ǩ|Y9i͑@?()p6?!eV"P y7S7xW)\ &!u8nh^bd]ur3RT&5S:!*tNsg>?,$?{L@qwoTJ^ﯓl,ȗJ+H|U*V {*Dű\iݡ|qbZ;.\X˭qՌA"ݭ&0Tk}/-wd$*mIJnNnBC씫+=ojf! {Ʀs>OC#}L GGy1yL 8Ynxv+& |h{lpfdSX\Ѵ+䌙7ʼn8U0'C c^fVIHG_+BX*H9L(p9M_t)#*)MaWB0faDڋ+];H`(;ul$+{bKr꽎:V;\EwWvs0>e "AV2fWSY_}(v~MY"j wYnf_xܬ,+8<8-Iɂh#C4{>e dp+*ͨ[dLtj%qhj]u[X* ~sufBc:d B[p Rb:]+ z iW_Jw~m<#Qk`pKl;9R}X#f4E( $']Ѭ}㈕&g螹.lJ`y0!C(ybρH 9kj#Ǖa_e3lggMu#6͗!x a/ mӕGN@ehVQ&yUgT̈Lx2z%֒6rtZbPi Hעa2yS($r,(Vb7p~'#)'o"Of~~Z Ǿn77@SjKdj#%i*bdy^œ~ ŃtkfJc#]6]x:A|>F4@">\2'e f #}SB ih6NNW9Kd&{Vf3 si'euÁ"Py@$3;hP TK!i½v߶6gQ)9 }d$Pm8{@y)Ay$z;yN}p [Z,|lydT\ϖdϘ^B%WxEʷDXNF W`Q9.*r|5A|1WI2/e&puS`:I!x&Z]1UN8 ]3+Aucm %V~ڈb_Q 9CYe{2q;YfzF߫d`~oo,?FX_Eތ!@Lu6!b4л('x1m.e~]d% !ǝI4b2/`+2`p }B|5TV7׷ay%xS Y—t(_ENo.kZ8=|%w[rD s똴nixۃ7 y; ]zXNːng]%Yqz :E7nJv +x`Oi6-;cǀJsO0*$y ]F3 ]Yۑ#>@KڮkRT-iAK^iBߑ?tG{<9=t.א=tM4D8{%tki>隙;;­Iތ(bC4|ZZt͗pfw Fr\ b lڐXD,^)̣]"D \+~"C~|ai};24h~&Xj۝V_Wyآ-@>P{̨άFPd;Ўy砽A&n$i&1Ak^AJ]gycOM"&?~IѤpcG`}v]:-4rzgst"B\&J .Nsv>Krcd٣qtpoNSX*$eۑ%myW1eO]g) O h:#+ yY5ĖUVf?Q-kcBxJbNaܳp0I]Udñ-8WL~v{.-ĸ鷄n(T75U!5V0V 9QDGZaYWXfʢ4Mj{IO0kqZLۢ9RwdVVÃ|DX@:_hjEonmpB+IN6 gCI x 6@!e (o@b%"Ǥ࿼f0V](%-d?f'TA]܄vpڅkWĠ ޻<()"@A`yz Spu?2c lI7U+>ϟҟMI2?.hH@P 긕 @y&x*T$ݶzb$U]: eJpmoxw(2% wl˨:A Q}`훐vPTcz@*{I5{@4,΢u^)Hqh ުړ(&b# 1ܟ'3S~1qjzC7٦P QOZ[|ݯ9_i L ϘYuA k&,D@uM1?T;igǸXO'"{9E:'!w( W !tK[\5/CQ$rG'@yUIYfzo#|rn*4V#YIQ|!V/2'(KuUs,@i]a,R u/99gso)^`?m5{8bg83t3!)hS-[jQHP|ڈif ̧*{=͑z>Á[ wCjG- JO DmA0E|n/U é  {;֚7z#ԭrcls{o bxJٞn_aWI̴,JwK1uE]"әeoV&2NZU0M!4]2n^~\#t~jlWs7nl\Ŝk;9J8:;lzݼc *?`ނMF->8YJlYaT[4Z:ց(Zov]_9Ƈ&I/(3OsrL[72E79h-rR/,Mj^{oI%n 䩋`-Ihx2ӋiR$K61 ռ ?G6>p+L|mo?]j.]rlg 3,%CؙL+7`= [AsK9])W&g΁2v?[[*~RjaZ-DDћ *S& HM6; |le=蠖':qY93;eѝlw#ғ0@'J]SBRǶGj1AU7_Xlh")mK2$УŰMOlg1(z?L߶Mn E=sȷ.r0X,)br5^mJF5d@cDfh<œ}s& 3z2G RgKu>:?öx`>;Z8 8ض;$g҂Nz+:ϱ_BM%yGC~\|Q,U#t{SER? _Ԋ0tvj˄Zj-@3Y%ӛ8{ etEIgYY D{oE ofdĦ_A >8g֚ڟwY@Sp㲹ظv}ґɼ1s+q?Uu߭N<O#ޅOMm>׌p_(qlkH; Ńf/Q}$7&'D򰆶`HF[&A*LNK=XZ&^Ѥ*n:cN2'3QZNi{?q} ;OavNĢqzK46÷'55`<{l3VGp,3mOGPܨS;rz <(xzUjؔi+,(o^ìaf5؀R'e[YuN:DR'I"(/;evM4:EF< b#h\ʝ.xA#u]T]'OԤCSdkݜFĆ(-[(!6:LcJ҃eUfL+"KPj5$GyWߓ8±sC- h=v:`K=^[2 b#n<`ջO#;9&FVzG(f%)یa\W|=/H> Ư:E] [̖O-#mkۀuٹ Ǘ?R|tPhZo 9ɯpM AojθY?C‡*T؀h+SUs]YkN'bF6x'v;o[$1o C 3@EP\i""%R DNmN"_$D)U^X7%Jy?Ɛc\Wj;d)[+\D=Ve$'RڣB?)qz=Cw~R.,N!¨Bۼ ^<8Vy07{&P[X.~su۬ֈ\ (vCyg5js(u(눶InABpǡ\M!M)x\>u#al.^HFL } t8)~C7H jD~Qs]j_;1J(gfbG9lL?zIٟa w%WG"Zl \;vq)&{c 퍏p>lRiL/`^vÁMG# 4Ç)-}tnpS8nϗ\%B{-^l[v)IqUg gsp :1N7_Mg9^ |ImJY"{aREWZ+"oSnJ.Щ4%!M36*+AD Q/szW3#m ]j;?,5_@ZqMԣW4v3LXĊHgBޓpt̴ 4ewn. ix}'FK~tݿl.548Ap8qpEЭЀ( Ӕ(ٴt=N?,/CYRЁܱ(LZ ƪC+Kۆ%mFٮ2D&$0\p9@YXԃ=ĆZsUSF`+ LA&%*vȑBÅ9]dEȪjA6WRs l( /USDiL}DT#wSCdz6㉥WO IJD.ܴ"<.MpZA蒟hcq cKS.ɵlE̸VwbC#'!27 @ l;5i%FѰiAPMBD>tq>Q ;W&ɭ]Ot.)K+<ˣ  xC7ޘrU=e0̊XtbÔnX$SS^w3G1}-1:+r5ݛFQ`3domSF_@{r|--ArDXO̔ j,J RIށsjeQ[e6#YtCDi$}WaeQ >ѺF;W+F)>S舾 Na^PMRg rz =7lK`ct%o&C @D$lED[#{!ng|/9g6M0[eiսjJ|G.BR^ x]%0΁4,πOcybD}lMrV^nR7}N^drqr)T8Ӣ\Jd " (8=c|f8j5 FnNB5w2Zs\4MX"X좖BgO$e$dvyj,% qKMՓo0S-]?c)*/p {QYw^xKB{ -? ^/f Hϝ Rq,5-j"dqR4䷏zdẙUZf7$]jd7P{ D`MHnD~$m *6A+$~tMm@ߞOfg;c-0=4tp X;ҥk䌾9f 4fff&5Vu4+ӗ԰֨KmetcO@"HJϯz<V.lo,֦ P0)&J<>POݿ?%I\Xµ^V݆)z7:¶apjc|o>G WТ!?p]A摢ѭ`jƪq;#`R.qpRh(wGj*Ȗr 9tyq15C9stv]B=m240ȱy-0آ,k,6l`O<0 uCTh UP5A떵2HWwTXMF]7G54Ji`lj$DGH1͒tR$$Vќ⚃\q'kh'q\4%$G]ǸXD^û{Ί͓w['X!OW)`/@=\Kp4fTjOGc:X3[:fXWI2k㞎 AVnLAoUΫ*ӱUغ(eNh̸͗(mg\:B}VÈk]-Js2 dRJw,phNWWL4e qqnhRʈ^ޓx4%\j"x1ɘGbe~]*>`!gN8ȯVHbf-{.zC]=WPyoΒ 96Cahv~mnbJtK>8vz4G=oT WAM߸\7GG/xVYZ+ 78Oa-@9;J6&1 p^g>(ᅁYH\q>RϾ N} T(ߺ&f~=05)rzR(h p%QzX,iQҴCyv~D_(N6iqBPaЩ4BR.vl;NxU39{FRR$<5luvvYȂ4b>5[aʽ;6zj#薀V^B+QlAHZ- Y͘_2 2a1B+2;K^g% M!)8SiW3cDV7 ƨ9 eF*Ã[|Xj:sGҖ>\.*Ų`ATA6.JbBؗ-yj۬]Dth pidqYTj_mZBDu rif[2>7b, mk۩")i %oHR,7ZZOwz@&c|9<:~~mo5Q9$PN6^EsDF}9Z74;_7vW! f5o!/|)jkXB— =]PT!nvbDv}9~G {Ty[,WfŘ*/Fs(i|\Juͅq%ϓCbN3}THF 2t6OP^vTGEkXLd.U% pߠg CJ!W [Br@Ôc3)ێy+w$r;#+skX6qx| l lҤKܦ}{\jsX|ZJήԲ8D 5e芹8BHSK{F7~>T@̽S+c>1lZ&sG^X%DV% =јQN_/#[9 yѓik+̤c9&i܈-#$P ?k:'EKx˹ ָ&Rjk5C Ǝ,xlKo]N&֏Hjf-zl"3x4QLY p o4pt%XKHuǰfi}޷oNN+2CMf=C\LkO6".vh2kʘwbA 6_x}qQ #4d2 ͉8^W&J<73dRɶvӻSJckg.Rra2.‡EIִXS ~@ղa7`]5i稅S̈^3v@v>LwLxp.fmnfBNg*PϮ\w@[NJ§h!:1d, U?wfr5plU~2ٕ0$f4[xeV&si-GF/ /?C.PQVВE IQ7%`&&s3n )&VYdG)HE.AQ+3=v1i^zN%nn&K >ч~M5u*(c/21 ^R ^ Sh~-GhVZ#} c{%"]s[f^WC$U6؇Sس_4󹽅Vո~KgTsr )k7AO&W@)B-,I︠bk_ &dzxx0YOTw 'jiΏڱ Ya"FN\gͲVr(%*.Ծ$^tJq9e*~}ԘQczWB;4nd-}S<3,.2pxܙ/M~kD\`^c޵ŝ74Y~?خKe:A$ZMәxQ >l}F^Q~<9x 戅DC0}V~ 9*׵"Ϙ^*/mٳ\P*׻ } _VxPoڊ(!7xN4$[*khJ'hƼcYI,ܾ͞G/j)45h[HO~,vboKbK[I>t$y=u|)d%CYP>-I^S{\h:}(JuK{eJJ6`?DP8GKs/1bů ޿PЭ\NNzm5C9I6Էnl7lf'P Pɏ!VIN f['-p1y͖2 Rf3g&,8`bXVsW/ 6Rn;3zNm"5cGEOv dў݇̄Mrglj@e,~1/HR[5B>v:GmjIմSR̕:ɘ򓁢BS$$!ߤʏe{0xLӧ iѱkt& *5Zm A P9@2 /^pooK^ }^aT'iTclHuH_z6 ȇ/{I3Qٌ/kXk ^@j\C n +iTW6K&eCdICNOGTh{yVիӟ休#OyTH/ͪA^ |{ܣ(zw"0n{5/~пN9rbDqhb (yIbE+]?(8 =ݮJ,7HŶ=ɘ0GXEQ~,a #eRSy@tGb@%Onxk,Dͦq> ͞sqcm/<UI Mr06AVH) NScΦJ] @wX9vI!w?,,hVZ:ua8=vn詯ۯIFhjZC,(O?7MJtYᢙn"Ax*pc߶K&WQt*^eMOHg qRC"BcRP8!RE|{wK(ny;VXpΎv<_J/l q"2xԏ6tkӦp1h;I8]][&!_X(6ϑc!:]s#.:y:GHpUxsLJ r񢌩fQ(oƣI7 ,eLiYRSmc豝HMZD|~޷YSY! !^+~yڿ@}([r[C<|#y &{&˖((_*bR˘%2G;Wl*g *X2U x"]ǃ'O"0 7}` >bq1^i5T,˗6T9UՀEL% xXJp,dI McO\ݜ(ϙ^VUA|R ǿf9Qm$4`sn}^ɂQEj;4bN#K4ڟ]2K8杓[~U<ݢ;Mb͸fɱ :5/ʷԋg wQv٤ϝ sj?<יe}یJ7HE$FC1NpS_6L%6NT|;TcĞm [p'b")ŀ  :AG=,aƑvI!nYQ3W}隸lmߦy)KB]#[o$?C_d( Xq h~r`l,~` :^.ک!Xj;E xKM =iDJ lpubr78srLv~+XS <$|o}f—#W17* lb>Gd|ۼl qP|O|$>O7$l\; mG +/QlH UZ\٥ɤ^w9F=yZ5ӫB,|b@ /▾p(w4p%ÆYX2Ļmoρ(`r6lSku{z áHQy5T\!hsa¦ےV\4vI@ܵZUgr2U9̊;:Ð|5$f XC[ =itbJK?bP]闐#Xs'qtEN)\IhN@!L-.}̅5ޗSezFs;Xo;bHyQ>HP\ԼϬws_f=_g >V7%ۼ5r1 ?s'Rt+$x]A,|W' krJ3Op.uVG] &uMre5ZC<X)n 8iIGKZ]㩗dfI@C/+)ֿ%=2'>%{lt=dcLkftgD`>ΗqaX*K{<Ό5kzA9WK$fP!g:JmVT7u`=25 ]f+FzGqOR| ^nkP5,ŬӇvAĺTTJ߾zgf 3QQ50L0-rcL| ԩ\x*+.Rx2۝ HV&sZ@!mAaxf۶ı%yl~>HE3~|l.UAftqq3 s(,g9 "_@O ?Ls|;",譙]F"X?L3!K/e :&v؟RW~~#y(JP|չc"gBjj'Wr5*mew8E)R‘ܖAk'=.nȵ@ϡ̃n^טz,?)rTKWpHBZGk`ǵ%ĉC^)Ƒ{fSq=qD vTW0Z۩C فm4:N E鴉Ucj @H3]wH8Ӈ(}SZ%W#""˪Z6RSmFkxzV}B唥9+d=zu2^D[j.C 25v5 T`*K/jTY"MR?i\1!y/ (V?@6pNx)QZ e]D4.ׇa"/91y JTAuGJ+6TR"e YV֓=Ql"[2Lae=@rC^å m-'bL|MHxPV0Bhp_iTosNdo`c(]4=@g JZ9ńCtӰ&Q[RDƏpW-="5_)1#jru}+FSؚR 3;Ǹًb`Nr"9ESbXus׏q"=y'AP#.wN¤Oy\'u_ Y`zjIsWVE8N`͠kQQCvUjYH_HG-9v̩o &nOH5]&΋뤥.+Hb]K#g\q4x^_sR҅;Z-l _ҝNI#k.mMf<)Mvx'\ӟ9Y`=X4DB+sEz=WXc6v?@Q?7~ %|c$V.R[zG4dHupqݛnL|nUbBѱ\lT}swM+2L JZ#'5pk͝,+>f=NgALݨ%c-l;;7=BVchܙ扊 sinADRXPt嘘 'ەrMX ClgBfnxR* t,ȯ@2B籩zh0\ l"XPi'>$i^rH* T$Yw +w%+7~26#yQ¼^9?;|D6Ɯ,~UEf1%kg&-&vq\ٸ!%k$>#|O'>j{t3'.~N3GT5:A) 03vjqĄ(f3?"m֬1OS(Ďpc<T~L.ew.bE•-=^QYRw.-qk:G[EJ+Iabx`l m}-Bo3~lZ٪z w1~L09y.Jd,mުAff"ًJ`[d9!T),> څxzt1LJfWjr Sq8ҁD)q@ TsUh8 F ,]7,ed^Ӥ倻b%VMƍ-]*߇<`m}9bpv2#991B}B m]\ȁyEu8~肓O1:Y1&~hp)\+ֳ{J3%VaUDPĐ [7ޠ\* s.p }Y$jTqg ;s@ Of@TOou]ZO8(LBnę|c_ :> $% łM~qA3c|B,̇>W:n&&rTk!#A`@M!v- |2(UC gQپH9}zHw8nj|,cLoMM\B#h=6|Ԃ0R&dbgU ?R:Iͬ |MG>XL:VNjm9iޠHwG#=r@X\AlWIêQNƾ_*wNUqX3Qc\/"+8ːL8&_j,XLLi߲Nφon]^$0ҽ ^##W?:0Yy䷝bKEI@%2f>47U8RDtGJEbRYZTV[wЀxuy5?&El(ln35TcB;ҾO{_ţ$9r2{茱SRg;&uԁm߭qz/Q&4Thh|orQؖ\[ϪߢZ.™rA' 4ΰm[{S$:Η7u/ W(Q:Y{:HLߨXh+`@DEr"N: K2V=mx6ԥG0 I樁}:sjtxMeSJޜ)biօ9НkOL= @8CR+OgBS^2(-[aW2D+oQs|s{5MMνp J찻=0lIUt0Lߦo(o|HoT2t"W%/gF + }c_JA,d'i%~q +?B0g% AF'Nۅ*.q2z(eg>&`p=+#ˇV=xI[&ti/{شY.T(&`8֥i\ؾlg/ jF Њa0^zQu^6.k: NAϬjdbK)4:C-FӧOWA0`5)*5󋅖G?؂(Kʤ# 78E~&ox= % "@KVy)[_r,]N6!IZ '#Zr%]O&&SPs;bqc9Փ&?xY(fTOLBTi >):o^;b\c_i}yT_Qn8 $RDWVbGْ2׋Ft RrzAy=}IJNlkWi?Uɳ:uQK}# + eBttz&gܖX@}3%Ruk_sYUpy@1*;ԬQ֫욥ԪA#\dƽcM 362_FP^"NӚޚK<ў}+HPrH ])ӁRb`5/XKz.4 !:|E%S L9ESehQo*R.L)+ʓ7?mZN=,X{Sr޵ 1f󉖋Tj'Q׷fJҥ.MwGq`p[Q$C,k vcϣ#3!Vf 2Gm/YOJڕvN6Y:EEw Q3z!"=2{i:P$wQ 7+~q:87o iҩ˗P3b-|4d4)/}&3 % ȷ~sQ(\[;b.!7!l2φO9nK^=X[UvU4T+42QQOA0 qnQ2vP(AD-c 3f߶[^*ef3 ;"VPe1+y֮ F?`JÈ̗Ny3D|x0Chm){S^ _z\!#xtM]3x ׎ۆ5/XI-?*Ъqohh4 ] _R8veʏv/Dc4 g 7NVֵnǨ$23Q>(O'3\HJU/|~W2Я/:p=Lj Aeƣcw=W$q3ZAӉ9L. wFK.fw@y9Q~*I9[ unB$LFUI,L4Dnb^̚mGs/ Y JS3:y8{ tjuc9#[jt6<ēHn>WQmaT,ziE<^iLKmtHK {N&Dz!V"~2 zA`ܥ2[w"+uKטuѴ?yB*~XuGZZ-S[r ٧Pc7.9 ji;8I@}hg8 0`";˻Ylڽ/U/lQ] @-fX-N:˽eo"fÀ.%:Xx9 ?cDp<؛3 ک&)S<.[ct*oA"=\_ :ߕYw,dϮYfAYxDibka QL-9{/^aA#=21Kbμ'q[G|28LE07yO=wCB9\&?\ u(X|Zdކ5pknR6I>LLooxi)0C,r-\``VF/50te*!H#sMvHKH-:=Hߙkwfii^E˫^?W蜆_ Klk;Ngޙ!H~M f F}sTgc]SU=k!#~_i>4LrS0#_ZէgԆwYu8>ֺ!\EFfrDģW  [/gRmA&^FwUeDwyyn< vJtC Rޗߺџp0:7ԭg_a3qk&}n$`44[^}j!NGkUN3rl娞QWKOp 6 LӅ#Рh`gcLb{3kzM)e.FP2,M -B _ùk4󠾃Isltj|tlE*ރtNE*.IZ+`J:T|\Q _G> _3*1lB?dSgrnA2>.h.c˱I$f&٭.bpx.iy&lCsK]//U%gYL !7;}ͻ]`cjxI]7q7&*P76з]d.Oge3Y0,/-te&D3/VapKNfܘoVY %E {UϹA~ቑm$n5#'8V{Whp+`ᘈdž1PgVׇN6lޗ<λ5ժѤ4&0kv?G8`_%#@S2,0nbFjfNɒiSpoU< X3

sŻޠ%@nֿ\X.hhKc(ShWv__A1*uT9.3UXBu H"yz3ܥ:٬+TO|i={iAxOJjT;=06+60IiۇhҘ2Mo|+St7W>jIk9th u~os3(qC&桰'_ P-7B mF 1mޚ$8lK|2Fjw˚q ޙzg_@ťv| =2KSaT9#uv 4 mNйu\qY11f@C"FP@b [O;2 ACM! TԲRF ;yP)-U%V{DѰ~f.;^zA1uo7JT,VRv'>"8?daft4r,}EJ\Q(-|2J~ ŇGb n3Z>xho;YJMNeP=_kK9RgWU$2͢P8b|6m8ф3}42G=fY yF v[ڱHZiN!kd$9/@LCٟ52C|׾jjq tG:;`7Vjs弒zLgiO߇]sxk>WO[PbBipl$=^Uݏ61q`hj:JX*|rr"1rrRX/fȪd_fn$M^B[Ai=?pg\7*"̵KHUcQpM<6b}iXuYS8 2R}8&DyCK*]3mW7'|NkwɞL71z} f`P'^ @j#S6ٔd|μ]Tt>L8PTtc{ŖB%,%{^p?NKP;9ȟ;T.ܕibo^BUj2񯪟H8u_Wkٕbu8̀{1Y?/p TU6O>tVe(yA cmNWoY{Wp/ᢕ8VfV@lDٮ[Щ̫ɬY@ uZ XM@# ~?y_!}ܹ/KgpSE,c!]ҷitRzճSz /`cC#XMҜ/Nƛ'Bꪅ9gןIk%uϯa봒,L:%_^j EZ ;m =7]9Z,L a(Yu>!x{Aӧi(C2ҹO`Bl@X!.&ʅyhΞS`|  7ǸsVg xĴZ(emUAU"däyAΑ 0Tދ3T=WoHϏ//M8d:JG:nAkF0`3?*nDϸFG47;D]b29䵍1p#u6aD8. WG>+{SAɖ2 OđC鼣\  ŹUvѵVp>gEn.KMK1+lEor/m?YͲD/Mb8׌@@ |tȂvׇN9U^ޠ`_nINj D7P%u֎t'0@7Xė I+QUqMBsL-ɥ*в[& 6m7_H 99> T,8 lٍZoS. u{&1 f:56ҳ@(.yHoGr$,VM:3]lW(C%c7>do KTrt'@f|G<ՙ̀2%,*Y*.)';͐JK21G·>gq~9-5$b6ӳ s%O`(VntU]wj;n1n D# =(#3k=`B^8&wѓuF`2ҡ*QP˶@6ljk2Y]—S&jsM%rC#r˴Aqꭵ =!UtHQ)#6^.{c`]V=>â f2I8ej~\fɆ{$4ꫳHĠu?S鹙Oiǭ" F?%AhZ4j3$] Q^ƊSpbI}? +C5jбpd ִ_ij8{mHImJRp7句rQ,'FwZ ~ ]k.mIȴ=>9CDÒGm8qFK|G? ZHumB)w4[%Z ^8/~ɁJBl =w6UO@q_o5ck[iCKj~V\ҟ\]Hhe&9+_[*A8k9&(q0K ]س,h[Dcp1yLZ:(]W1\Zlhn/`] !0#*&d]+(YY% (~NN$0 OQ̙`5念"M 9â?XNo S: ;5Ij'y [9&{ %C?W:=pdvnWCx#&SN[ïJPӃmغ˩c bJ`&3 i^{Kz(:Kp-Z^w̯yeTh(KSlECeZ5x`052>VY^Yu)?!Ct0hR yTHt"0gVƲ,h3ѭ3!,W^*;F@ -,(x[]E3Yl kz: սG)Nwdg|EIMɢ/,]}?j32̔ but]upϥtn0=k[v6fIӮMu[uR;,xv,z6_qX"^q|UY| lAywVE~OdIB~>2hD{^&F>6p]A\z|K>yaTFZ?$Dg"f٢U&IvQR {{1x1~cR9OMZFoA?e.M߁M3~=ې+Aج*8۹VM]H?Lmz?}?gEF9ur;+@GұUvN PV&2d?k=-7+~fYȴ dCLG&r^EE֬yvcB+"L.ɵz+爉'ʾ*"i"uTi3Eꣷ4m4 =}jB2"tSD 0 ᜟ}cdVR\(<iF͸6_[X^J♏u_r>̏Θߌ7iܜnBAPf\_©$2D?] 4uph2CPJx=| @ ߨǃ$Zw@6{WA`t,ζM3)uϻB35VcSԸ~>yDsMJsKލuW`8TוH4ɪUȥN^)-AkAm 4mKQWrx Q*_B1U*$Wz,Jty}s+$ 66 Hs4xO)6{H]\G,3-}/PO$|3$EmVR> LEF2FX"BVB9O};`):nw|o*8Ԇlyd|wc;uK N#W-KajoKԳfdjIP?IJ1 )tɕTsRa[o,`BY. l@ P"'5M %.zv GHv?@p}Z/(R$2qWe wtMG ~m -z?8:_ƃC({BfRnYobl-i k C<-̵ɧs>OVFzQ IQ?;@Ji= <6%3sC \QbUުR?"Pmw ZdK%g*7ZT!R'u*! &](;`&v^U5# **T]'(aɊ:jOC=G(a_AYIgtl#Fǖ- *͎EBDy3DE3ﺙƻ?6%-\@2S^-7uU{k[W۫:n3Wq?\ƳGЊS"ٕ%æ];a9g3~oQ;4eG`@ф'gխLA|$gc@̪ QtՔL"QAtxO(dO$4rKjOurD"[-&@ ٞE"Hqኾ&[HƁz:P[~ 3 QRS pnIm r[];1<^;]\p!l'&H\!|w]qvcYZ j#7dx2T"* L]O'4E<٧*En8B!Y[1+hn>eNp ]3z>N`g71bUr5\X)Yjs75t4un!MAFi$B蠁cdq nN{}e|u'q\/!ouh̀l yXUH;Je ^k庄3hGzj\f#6O;gFϹy1 ܁ 733Ml'ZgYM0iYF.~үIKb!Wcs F*d&J9oӌD̏ᢚՄ'rV:\N.TaAZ: 7?fZ".^cC,ܞ 0'=zxiu#Wf_RtޮJ}$oSmNz;2nk=ղ݂/CG{ C⨃߯/r\r:Ʋ^DZ1\`YQ1v&ٗ$q`{> r;z3.FZ2 ]$șHL~i8,7Bt  4&1jLk*KEz sב?rWM`sb"֛S(w|bl^odIWi\<ݲߊa;LA*GMEwSA<ٷ/w[A;mbw&-P31nm!^h$,z/m[{х`j}^t:XcL#Ӌq'~-wOg TF>'L Ja m~], D YQ@,/[y#w[ӄkf{}gƵ/iWEe,eG jt8{R]9>Tvͅ7VhiBLL6BU$<*)O,=^{ ngu b~=ݬN(QFMG+Y5^'p3/:'^jS/3зY/}~!|ȼ?'_8MUEy /E\֎ZufxC>p7(Q)ȝ|gJ#\#BO!د7biܸtuјşb D--u%Q&)*t;`?LƎ,lnNJ Sg\GD*Qde]ؓgrh#q(yV ]q䦂%Il{Ȟ gW:>4-Qǂlv]W90]*Վu?C :7 B3#kH;?$שlta-lQflU|G T%nAFlq)=Bo;kTG`ZL?Wtו2*8/(Y1=pDCЃݴ"~J`ty)mqiϥryj]Vw%}DGuS`O^;@^#x)&Q*b)ŝ[i e-j9KGXEVi-]UPrfI|ߪCϗžm.a/W"S#K3q9 QH?<; Dc$tq#`K_-ϸJe"))nGN+ه\U:ff)EʓUhէF8;ע~nqf,e&:))[dt8/ˆ \;/xZ<=i#j+l=z?]pԷyr:3Pd?dBEHb A|RG.bzɘe8zT 6 Q;v$z-EF9 Pـ{.VY޼{,S2 LS™fKnM`,ߣP,(fa2z@"b#'#wSoU1q rkwvWg(ZX9(_rbBq&4`q=bւ7 y"K ~AhtZ$|*y~qϑo X4&f#VwVd;m*i#31޿^H&HkX\8 ~+HfE9|2r62 @228po8DWWO%yhhgdCIoRn8ƓE-"~S똣Hr2̇8XWU6'nKQ*5_/^fٖ'VG.C5ucNz)m؄- ldeS N /;njCXZK+5\/j خ aaNXܧpA_\yXaI8қGht1N}R'5䶖 n2z{[`TPL9o?*,U$^n .[?8tN=aI*>DZ#YeXBhonlolU+r W0{,&*Gեz*NKTҮION`d&3*zj3/oG,ĕ;tl. Kiʹ?}MXS,`׉_.-еgJArk$A̔erGS#uĞ"<8<ZO]4:Y?_Imǻ BL"U]畵ƚgǀ&,(dTR/b%Nt?l2䘹-![ƫ\h!&г(PB?1^xjnd&W^s,Vlt8(*gLŰNoܭxÌzoLݤ[;A3Ȓc)^Eb9l:Mk'@P7m-}`'f1Lr&LsbYYh$t_V&VN tP qbWµɡ&d: &1 Zc7-fǓFC]P(YJ`c;߀N'=vؠc5(# Rx:6cb=p"KW^oһM;!׌lisy,>"{w7BMQ HHxY@,jwwF!_ry#9;>2MSI䆛[:Q"ލa1,TE@L|- մ5cJEqS:hKGP-\jrLPs+Zhً6Q4[b[%WA7 3͍Lڒ{l½gk;ggJ'hgx9f2†G$]^/rwzrK;D!^DҼilzs*GnV{PFbDVC{px^3ly}T;(r VA^n f\N+I2'xVeHH7\͜U1v~U)d\糕 !rkfZ4y Ϸw&jByp>=9IFlCCVۡ+^a4@!m̦p< (ev4zd=᫛4րi02̐C0\L:8t.!H@9KM[";J'pz"R`6wZtPj*4ג9)E8üzJޱ"r)Q<DJ5nmB5O9ݤSYgxDϏ#$"Mb+O$r }B6kTW݄ 3QȊPUG?v>R `Hy-&-8 ؉$~弘# tlƿ`bڬDC(0nEQ'6[;2[r[dJ&v?2Š۝" 暑!BTR82i RdsүqijvuӂYф_ C`?'Xl?F .+ R%- \P}# o{T_~LXDS$mYFh'.߱^gִb_.P־5꺧h­>&MIJ CZf4dfɂ0I1Δd1h::bVlQP w2q{rjt_|"@eo痥NIuC݀{s#JZ_{>cDAl0Fc~:ض񃘼 NN2*}R(HQ?Vo۳Z1oQUI -T#G*-!-H1vui;p_, WzIE.O˝[ðZX`IqLvZQɃ2\CVQ$ }'\c^rl6e"t$0zJTbڈE>a#MI &jׇwUW7&sRP3 x6tVEE4'u5-pݥL6%0F9Wm?< axtFp3T E1V<"VQگǺ;Rر%IiK XIJ49Mls#KUfhP G8p -8ܞlǧD1g5BfT)>ӔMo8uÁ㏘vr |G׍b ,Z2wbI|!S~\v0obXzgٞWg MΤ:$dP;} NP)x K*cxڽpQ`. gl Jm ը>KC &kRBOz|uTT(aOY]{U>qr'%*wv٘2$Y1hZI{0)6r'NTfKk jz(# sʇ2~`s%++gp(T z䝊qm5[3Ph]E^7R))SbP2oið#TKRlVs<ap* ?^TA:bqWRӁek[3,UMPQqѾQ_ IC+Z *Nێrͩj)LR&!v0Gx5^IC t!lB$,|3kKXQ\YhK'"<: 뿑6ƅ?C% wϔf[~Tw_ls-< %?'62 QN~?9ԖNW$ y|/(4_-Ԕ4g .iA+v V)IZ>peFe`vp2[/ l #|$?I5p̅_dųQZ}b"Edv7 vH`5*'8x☞9;6=ʸbIh7 9xǚ2H!;leW^Un0ّ{v%ӲXl{bgdZa,ܞ5TrOZ SPk4@)BQ{;LӋ#@mVD, b !P@l$ȳ6IS5Rq -Ҟ9]F EXv kKרLLq8eʑhBw^ x,g81:(Ls)xzXaN Wr9~hr3#ؠRs`@C2~٧AQAz`h\b4=%B2~a(@wWd)bˮ<=(7545C%x.{Y$OrU KA*.2xԸI*o\d DRWײ٥gV2IV+B˯u {W~,fSw-mI#=8BW}Rh/mHPļRpA,drDmWNO52p0 HD|E~K޲|āy+?ǃ(ߡrQ>%}E;`ǮwBöv Û(Ϣލudjolr Ѳq+32d C-]84_X)>]$ /|Uy#hP~yڥL$~tF ckr0}E1*d|Sx\4 (vkڣO%!֞y3<:V+Z{2 9~ZMː V$p4)g K0کsG&@hmiq'jh]`˓$JInΑ /dˆJF"~ @{cE4?".mH0JjEcd%f~Jr‹;ۃ?Xq\}L/`za55fKZZ7{m C }dGXu)1p$>P>0@H4,M@{5Ȓ',D)b+FcMSk`́Ʌ;UYIE{['kUHбy\9@n6cs|l-m5a5L)\Ƀeb윞PwJ!${#)(se-؉ ׃W2i#}xJ͜A37?fUD%ZTIu\?.=]cua,48w1uɇ[ XJĈ.FHףNƌgi=?՗FlRWj6lÄLOs؟/رM {&,ݍS]r3HҼD=EJԐF~Jx~R| +&ȶn k_3&oI\7rAA_',^%:1hJ\I<4ƭȟ}"~<lu!ߔm v? | xx@W x9`rF?KR.<rm'momL`Z0:榳yR_tǗ7!C衕x9*r<̄_+u@() /:pW-ÕpCqh@tmgJpNj0Q+.J0ci$L4&^PSDT!/K@ C@QW5wPbό DY:s5.Zt#ں7Bl0*#ۋuk\i6"mD_-Fⶄ'\/c{%G UDT_>7ȭ(r7DLn(?+)rҌW%zNf>}0imMn6w; JC8IVscK"V|t/s6# N^gHVXtRU1ݳv6Pzk]b>ʱ#C,ോdAϤn/͈)zWX] U2e]1~ws((;7o6Rw|m7B:|Uƃê v-}vdrV*b珐~^4 pUu@-Ve6/8l^-fNu8[Q0g0Dg.w`KG7{G;Ư[Z#o u\lUIFT",:i^w=m# W l{{ ~lMAqu]jѰ o Kp#4U|ļ"۹iFjc=toGQ"K"hxXD*Pe dHֿ߭Dr\MS~1XV\~YhTBQb;*^@.`Y2?5ye?9OZTLcOB.*?T=GAqR 9j!K r뱞[a0ǣ>J@,§Z-]/&%*p!g97@b*n8uQ.S/zrw;F o;=N+L\D. <9.71|\XK#.uM:|=3w3yJWl#K`]f.8R݌㊄<@f&&eIO1ʮvJ*,Qm[SN-K|x=.ٟz+ {ߡo0ݮQSI9_y-gXg?囦!x.;68*ͷfa;N3|~Pi * +@y91 '@DELL`K u} {~{g7XȪƍEcIVr-RnatEm_m@%(Na2Ø$C[a5ΖϥIZ=B뢍dA;y VSBaufL(g0k'f誡GdDjRԟuAB2WVTcd#W%ىa*7L{*֐Lk>q'!=hq=U;]PVN؂jppfY 0G=CWM# v#F&g8Yz<oP80l7'5iӜ*'&p摢vVˬ5uu@qkPO-ݻZdL}YXTq| He4@7rpLVSo((<Pգx;^*o ㍤[~AD4U%\Ib>C@*#3R(d-rGT m{QxuU pdaO9Mae 0?_ϴ>qײT\eM}A^"pUHڌ\d\ qVucPp'@<۞~i9.DKyF{2LӶot93V߀huN9#W-#jge=mj7Au(nS#ʮ]n-`зʄy7 2^=̛ pSx!xqE3; Ǝ$I?;L~agW_Z7aN?RT?Fi[^&?coDᯠoD,6|mJvK_'6 ;Ywy#Ш$$S"&o8< {eJ_a7ul]>D'I!)CSj=O{"o_pS&>f |I rՃ 9{7;J*Sc?ƹM +&{N(t0}DsE8e],\5>5/B@iģ. B, Y{hoCMcŲsH2<1ֆZ=- J|55k@cTfťC;~FahG}FwߧڿM@Pzw@?^DK{g^}S 'P@F^9n6:W6\QK?<ڬa_qs7EP+|po'E\7#>;m,i%ITv= :hp1];sg3LQ =}` hGw!m-%ؗ:F)n (`a@Zvg a. ?;;o`6l&Zj,@e{tp~v2lM;c3+.[hwP T;o nVuR!6U$nT t<)"fxA$,|7G _8> i3_XTDY֜]zܰ{lˁD  Fl. x]HWZLXLc\^.ejE8 .\4 Ԇ@uT/_Q_ 58%K SO03 Zg֣hbH9o~KʾS:؁bl%)Ryxc)!v#wf_^iH2F֙%oiaq ɑe@mW=R)2(`Go->Tj˯ ¨@7E]F[7C!!i?6J߂$ߪTЛܬ%,evn:m5CSb?WuvJq 2R'ouiJ&ֹJk?%˥?ky/B.tDS*lg#ؐ|M(k葶rn$яno+KT(.+Q:^WQ]Bĝ 4 R.dt޵v*{lָ$Oo\-Kk ^\֏3V)ĝ;*^FS#t}#@y}d៻2R6EOp|dX"~ۥ? &({Wvz2;u$RVaɔK:YrƓm"!C>E:o9OUv ՂHD&~UFp@e q2 m{"ZSH7--٬gI @&#3C/?-Ͱ˲IMI}/Q;.4;PEţp-9wtkY;ᲴQN<oW#,[4%}YL3]bIto-{Rj%?'x4(,)J{xl8p ^E{QAӚ!ڍ,}&D[= ˺ZDW&^׸ܯ[OsMh]z"%kJ[r{xfyS 8R } `/lk6-9wGmAĜ.Q *tqcos>櫧e}=VJ9FdG/y;O<U_ap|٬h=}҈