/* * Unix SMB/CIFS implementation. * NetApi Support * Copyright (C) Guenther Deschner 2008 * * 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 . */ #ifndef __LIB_NETAPI_PRIVATE_H__ #define __LIB_NETAPI_PRIVATE_H__ #define LIBNETAPI_REDIRECT_TO_LOCALHOST(ctx, r, fn) \ DEBUG(10,("redirecting call %s to localhost\n", #fn)); \ if (!r->in.server_name) { \ r->in.server_name = "localhost"; \ } \ return fn ## _r(ctx, r); struct libnetapi_private_ctx { struct { const char *domain_name; struct dom_sid *domain_sid; struct rpc_pipe_client *cli; uint32_t connect_mask; struct policy_handle connect_handle; uint32_t domain_mask; struct policy_handle domain_handle; uint32_t builtin_mask; struct policy_handle builtin_handle; } samr; }; NET_API_STATUS libnetapi_get_password(struct libnetapi_ctx *ctx, char **password); NET_API_STATUS libnetapi_get_username(struct libnetapi_ctx *ctx, char **username); NET_API_STATUS libnetapi_set_error_string(struct libnetapi_ctx *ctx, const char *format, ...); NET_API_STATUS libnetapi_get_debuglevel(struct libnetapi_ctx *ctx, char **debuglevel); WERROR libnetapi_shutdown_cm(struct libnetapi_ctx *ctx); WERROR libnetapi_open_pipe(struct libnetapi_ctx *ctx, const char *server_name, const struct ndr_syntax_id *interface, struct rpc_pipe_client **presult); WERROR libnetapi_samr_open_domain(struct libnetapi_ctx *mem_ctx, struct rpc_pipe_client *pipe_cli, uint32_t connect_mask, uint32_t domain_mask, struct policy_handle *connect_handle, struct policy_handle *domain_handle, struct dom_sid2 **domain_sid); WERROR libnetapi_samr_open_builtin_domain(struct libnetapi_ctx *mem_ctx, struct rpc_pipe_client *pipe_cli, uint32_t connect_mask, uint32_t builtin_mask, struct policy_handle *connect_handle, struct policy_handle *builtin_handle); void libnetapi_samr_close_domain_handle(struct libnetapi_ctx *ctx, struct policy_handle *handle); void libnetapi_samr_close_builtin_handle(struct libnetapi_ctx *ctx, struct policy_handle *handle); void libnetapi_samr_close_connect_handle(struct libnetapi_ctx *ctx, struct policy_handle *handle); void libnetapi_samr_free(struct libnetapi_ctx *ctx); NTSTATUS add_GROUP_USERS_INFO_X_buffer(TALLOC_CTX *mem_ctx, uint32_t level, const char *group_name, uint32_t attributes, uint8_t **buffer, uint32_t *num_entries); #endif 6eDo%T* ۩qlFfvGlnʄVƇ԰ͿyS~B=OR S:=۹(5[0hٞ5,κqKi ,e4D4K|JUviCRqO` KVNV#b$J/TKkET6שS#8jUd*(IC_5"Uk /a? d"(@#+jZ˴t')3 2|z3ur%[[DW ] ˸lUJn NeV|Ϥ:MM&$EX y&Il?]Hg@āOMgGlIi|^yEwz}~ЎV0\y]&e4(Q8*KE$"L7M ڱMPR\Z^93o)O֓Fqٛ !lWhM=L~6-s!5k6􌁣~řs_#F'~bh'=(IA3YTs{2b-Imo}[Qè+j=vUN]F/QY4-bNЊX'Ymv/RjD7QкDjC~'AA;usRHԦӳ~{NJђp]HLv.fa[`8εh@!'rGl ~Ǣ˴ۊ=M75}Męp;_VZِgF B%n~bZihZؒlpٔ+p#9dn=**uN#spimRV٭uD!IX|x~3"PɽJz޻{n7eWGzXoDo3gH nXV?$b*tS--+jlVϸx-eNd`'HzpuT{y|$q^ߣrE^c(ǣdlO5yz3E^ ل[r K jFuF+ ň4b&bѥ*C z Vf-!ЃG m]_w#>U0W&4>M8R#E<6U#,AV[# UZ_BGVZ4c !\X:*:m֑왼@FgW(b\[zK/H;#.mR/: (u+c/TZ6(RY\B0V C+EݙyO_\o=K,=j.^XkNŗmMh*`n廆W|w zSN CT?\j^sl.i#%ط뜬jht2Qns3Q/\gɇ#3җ]E|}kd-׫`:-m[ !k@nȡ[4ݿ:`{ʉ) SdtjCMf׷2l{@XDQ&Iu(Uw 2p&Q{۪x#ZF\ZQI5V>gy÷ߢpmxvKt{73 eK6A~.0>y@" Z1>4+fNlTF"yF%gQX 2LŠqC/%6@CoZJfTϠ!vD+L5orn#UQޢsmkEoo嗏asPb RDwbI`ƶ$ɞ^y rpl 8*O<qX+LȐp{U)$:`&͘h,eyN dK1?zT)WmPk&lyi oYRn^ɞ6fffw-_7"1hm 2Lt}}MN XꙷY1՝RP}@/~~$tPDVx97dSi_ kUD%գAZ_Md&6{]><|T 崓J ̻<=t-NF-meXT]zd\K#p/BxʠFaQ`}y28 )<H&Y05Mk"ͰHJ^ oϘt'aH BA}Ů3 (^{'=㊯o집O3J Ѿq2aΚ2E3DrMc\f֐0\4:eA⢎=Pg5N`|e_~91'?k3Wp.xh ,V]%QQrL[Ȏ߁:̏](1oA"lDB,n F QPԷL kfVԜYGrƖp E-XlWzOLpSB|;6oKֽ % Nu7cC 2"5f?+ h"]KQ)0! +W3hEakR(Ӓ^&_A9`Pٰ\6x7'i?<^ !wZ`cUS1ŭR%TRvCJN_'HҤ{q<̩n"+]Mgi-ζ+Gv+ʕ&[˵+@ olz/51 ZBH6"FՇ i)sfcT, 9B:|>d6'<˞d&uH Ʒ3LkT$R*縿  >'='!׳J`U mf8 /S%RjT jVxajuq#ⰩJ5V<ˊ ]b-xŷR4KE`b~eǁ3ovy,Vg?:-n" c譃!8e0<~(K2`W*#1t #4ѫf9=d%P2^WؽbWف9 T7:`CA.)!:ۖ;ds~( AXdQm #BZmž&;b&e}3I$msc0?Ef}FY. Ć2v!T@C$}H8&5vkע#R3-"h$boі9ۤi`vmlt0!o[5'`=$?d̏Yk ^ze˫*ED:Wϣ8V YF0lxjOh OfDET-1P)5yu lynq,W .O!Wّ8TTH?2Q^5w)xxd/-0㎂[.i>U"'~[y]oʻ X$$A*4G)tć2!Dzr_A3,"zUF?9NQe 7T11ZRtƜ,FH[wG ρW LGttląQ_2Gp}7kϸ$?aAeFC36>'_0ct>Ί b314ܝuLj oWUޅgɠ}.t;l`ڰNcӥKgx] (p 8GL%P0C2r2׆1~+98S~,x֑rG71,TmbG>} 'S̀x0Bckʑ#^"ܒ;lx'BC:ke=hW@)uhjvp{fR)+ѝדlhGY,5])2ȵBT'-H |o>ui _%EZtW] xX7ru%D0S'ǥ.C}}Mէ4uɬK`2 - tzhdgϹ R\o} A5=E4 9q'3L+Ft;NF,Ye=1b\8߸ )-,Gd>V &oɖɁ7%P\EQu7ܪgte:G& 0f;%ߑԬ}%А "IO__hUO5&U`&:M hr\8ڽ(P}0b\%ES`s謦vIMvp x{C_bgY5<*)]@3w;=nčNc g6ג(3e?ʰ _Dxx M+s7KF͸4r'M~v Q-R֟ua[TMZИ-,^Q#pKS#|TU?t0TJ룏[yB$E~dtPS(&&hE4<-u.c1ub$f>^cR?j6ŽOT@%*gW($؇Vf Q#D˘Otjh_c}?*9 d!ry7$ h<+r:2|9 |ylXEϗ5}4z5);Oͣ;<%S؃G8R д=}@ |44n3 Pza%[0/(<$>ăBwXPJػ {͒ bNv4o ?HW$!mm[>RdSV^?1^<Gmۿ {GUqVn4s9R|n)lS";OxekNiAHFqm(V?!X%K.`bX pɒ1ͯhjȮ Ѥh\PR_*J%H\öaC"`@H|=!N[fae\Q4e+rJ$YIY;HO)IkTJ~8j+Yak 2ݖrjHEG,%Hn^Սdmmћ9Pe]MaVƬ1g`FPd"K|Ly aЀLX9=3t+=M#seBSmK@1F@~okc2`pµ\?).pN`ʍa_4ɠiG>QtzHa&RP˴;yH3GxÂh@E46a,y9oB! w@ /&^t_#}!R2]8L@+ͮ֕i})~ï) Nsv7j~`C}}ȹ(.s=7 .h]Z-:^_6dQO7D,mr@$ś/Fdo[ TmkRCR n,6CTw?R9=>x͜G~6H&ISpV,A\PMl,uXԓtmaufC-FS3r1pM ƄDPm}^X\i$KVK7)6Rm tKP̞WEo.#ko,UL}yҰG?۱\;oe ˝QhP".: 㺖Jm4JHQhfFJ)lĞm(m;n:G≃cbjoXdKW%mR:3*Gd<9b2w5,B2P^qt&KDy.'?C!$ R/[ s5T!BeZ7GەrNo d)NZ&-|4tKX7X I"*l + e{q,_,XYk5d%64J'p{+۞ 8 s0SrZqïKwYBxf[\m)pܳ .^Seb@M%8! v+NiG2Y|F./ʊZO`l`β;^42_Vo&qR`^xx|v߲gKAm V 95jLDלr<+jۂTĘ6ITjMa>*4g/dXI  '⏗-M~ ?SZ?CUbfjr9DžQݮHl)qYO]%R'򤜶 a8dLs^)UHӓYᾮ!"`5g-~-E,=,1 i[Du˟=Y!fճ4(S)20UFd9BNl@H3 I | +L܇GWZ>Z :cI$ޝ,."vů_pHr%<箿@eUzAކ \b|Xq-u͇h,u@= B)>GG/yCE,]NEzkpb)rpI9ϖɨ,/jӤGM( Lj`GXOCxR{$W$ER\TYCxM沵`;Yew뭅 캵4Ӱ[Ɉw~l![[d&ԡ7/pHy2p KSBFvfw÷a4 v9PC X;)"_,%B ]BM}G8W8dÓ?^Hmտ@UbESgJ,xҁŽ[iOd zgM&WTQeSi9RqfIDxr 'nwoA\6v _q7˾C1 F$G=zGCRDExx]մ SRg$aL;(0~YoE8@vu>4x _4{v[ttcGa u ^P|OWL !'SaKK1_89shjBO_'װI:mX+%;ulFkAhH>}ATeT+7545DbMُ[Z v# O B_=d\'<1h}N_Ny:MA6"6(TlDҶRt\ Z61(T :2]Xj?*wb"Oê6.}0"PZq/U0;bUh\;<'hQ0ӳ1:F#`ijUP5raZ[ =ڏ[Ǟ#m11X+ @w jkݻ!n 2mpv }9Olu7ޮȠo ݀6Xd  >%3q%_S}T)b)!0eyIw+ 2Elp9NYk[*y~e/C RZ1S4ƴ G"a2uQNfh6Dp-YպǟQS1|^Xard6"0`E9`4@`O#81/]쀈k2*J@&aaiأQ*Q]JgeJGCBn@ߏSg$WZi b=fGP[Rc5,Ags(Ho(%׍}> FйƯ@^=Cչ#:chIa`(E~NΈ ${RZo7I r Q 9& >o@`C(g| #/3o*~{=)Ӭ;S\%.[I?8qY嗮WN]X8FFŪ Wb"d¥QڏwRn 8Sy"Lwߨ !. ߆jaY9GUmc}4cNu&zYPJ"`~'4.0'bG w) T\ cțz?U4 G4dυ5EYzkcirH07K;# r PCE89c!I8i(c :jUZҫ4ùOkq[k"X$Յ;~ck}_ݢxP X|>\Ԣ6ղW)Sg ҫJߢaz/Wo&˗jhX*Q&8&3: ?J{Xۚ'A6~p>XR 2./?INnGTnAP60q>3*K-Lj^ c5S41B>x;FI|jFQ<`$198G9Q*Q Z)5_&qf@)Z*`AUR\=hI]s/Ixׅfo _Nڊcf++Gx^L6o(? V\'&g Ԯķ^M,x!T1 ZӬTLJY7HBaRIF"; ;qf_b."^XǤY Eˎus{SfcQNs Т$PceMQ)]᩸ c>JN=rޭ{>_`\4vh/I ?SI;D7b|7촻I|LՀ藬O?36>;'dY$YJ#p ]$Ձw:I㐆)k" smJL#c#?jQ(0oJ~x5k+P~<#ƻ*}՟ԷX&: ĭ>P zDgxuAŖ`c /9OPw,zN=CF6+d[E4 6*^xEiﵼV{aDzznB\g} 58s6< -M z0 7}K꥙5-CLoѸVf/kpa4](CL G)KDRN+@yyZv:\9"grHQ9(P-,W+eRS~QɷmhJA匝e'l1rr|_%)nLāD@+}I{1岐X^E=߰Fr? 1[+AE^" 8%E"s0fZ lyeH[ԍO 8$}× #(.t^_;7]2I5!np?_LCV!_lw'4|_y&ICS5HF̋:x[e Q0;Hu!OK Qxal3@S,C RgfuÙϟY'/`$J@bW0_h4 KMD*HVqܷ}ܖx{<2GZEV?g6ІIvPZ|Eb|8iQ9ڷԻ{̠QXG%f+'&"\Cl2% nZaTpyIj5Ggv0&Rd^6I7܂qǻ]=~gS{!اW̖Xv# 1V|K-@sNig Ըb_|}ϋ,[`Ʊm0?dVcR* #32uq}:͖.٬e36;{|Z',wS{j[IicNWB zTU=Bp9˷1c2Ӯ(Zvcv>uKZva3+ ~r.Swb= iɄ7K+3Q^CR/Y#D4ek \XPoȏ`] k֖ *Wfq.YCd+-Q VH97Vi`0&l0ŷ\vDov_.d'1:s%mf+D6V"ڮ>[]u"krr! Z`. ; '}`ߘ>ϛTvg{Xֆ#/s*(K7~HC5U7`&w:ZEhorW$Qr  /PL7@Pyߔq!篧uc!'HRs{.(0UAt` $'Y%v0]f2McԔ̛Rmf 0g#F ˠb |ݘ`]OR!Ӫ(V_H I6{ʪoF*~!Opo6ɍʂJeP@ t6Nhd/2q\N#N;%/8]yK[[5Jnpg JE LE-N*H ψܘl>D<aS{Ī|oUΜGN Sz_7bOJۄ :[y˂[W m cLI?ĵo3 ss/(!jf0ľK Dd% d~L-Mj߽rL٬5Alpž1JI#J4jHGtNCYj^As*/ٛ"D7iT`\mS[ :nYz' f;C _CvxaKat&{M^1nSIdݞ/2M ~k!AlNk/*.WH/1j55'km93'ܠI vw-iIYX `5;3FQ0mx) rŐ8A_qmؿ-d.|p\Y/5Ì%{|ip Lo9&zPb$+b&v Z"a:r &H)+ו+OO ^@cd<0uD@采;'-WV$Մ?'{Mh 6yU.Y #nui_aGDn\p^|'LR{4 DM[BZ*{$m#D 9Lإ!2n HK0$ ,=ʎ} _KG Na[bkRɽdri3?I'-#(UJiJ|rt󿪈Ny ژ;a c[g% D i/NlW8E+L$#v/9+.O|XC+KVMp dė-!)k1z=s\4hU,Dʷ0I Dyg3d'Ns2 *!G7o6#oZxAFt} w"Gzmƴ-$"gF4e6I;P&lJ: *}(.R6tAkJj6#W&mfAi| d,i:a[R.0C!D=ݳuZUP覄aPUOH ضwf1t][[V7ijjk7}XU8>{cց%֤z!ŕ02*|w]Q yc1W4ɑewQp٬K"QL¬t<X):Ir{kZ $-.1"FqaoQ%LuxAgQпĭ8L鞚 Yk=: 9k03jGqYR4m'5 ,L<)a,$|e#|V'Tsu5@T´jdAt*/Tx@V4 Oq ʂ=Apjn+Z@gZiI޽aUw\jMMJ}t : L& d3z(BPx2۱ua~y͌-+B^#c is8px$շ$儽nP]K ^P!k<^Y: gss 4M}qՔ|Y{M!%[ T Jڇ0+_ wФK|UU4R!+|oB7Bےey~&4<أTufU 0Ѿ3bN#K=M,xZϗ_C1crd D._H3}Zϰ[dHmW>)+IbDO^ߴ}uH,0P{oʞЋH,%J#Cw726vdN݈AGj€-bbhfHDeI]EHw^kԊ*.+xFISs{t$bN?F%AJUejD /[}2bL.rnhM?YwwVO(!H60!߇cyPf{s;P KnușvK($fi0Un.Gي֬ƔZ,3Lz.E/ʵwUk-vLD a݀*"aA6B%ƏLx]r6vhpwEXcxzu$ +Z8k챁\ҒhMض~ ;ɨT{4"h1MCNɮS1eٱ#UoY{^<<߲2{ۼ~Ufc27RE|GGKMҹé 08gF:Y]t瘛ͺ=Qb H|'?֌Bgڎ ,I4R}F0 s2!7Tk2&vn^%O#kDc!J:ߡ(z'OLIwEᙱ$%@ Y$ enBiE/p[ [*F泇-+ ?RϦF, . iA 駊tmqWaqqVQ(; x3fU j'@̪{ZI#~zJϡg')sב:Y4lS LF[|/ ى3(YƢE06x9sMba*э7İF Rq⸉B-Qmp!1J9D61e7lpax3?0HQYۙd#tV%@[ӵ\RzY7."κNMSrkT%!Z%3ltp|MD w,d$ > ,U95cKv&a e0}'u:IYcN,#^"iȭ")KTFM$޿jaF.s__QiC蔓k^ j] 62@V]Y:[?9l$S֪0j"SH{rstQ)?閌RT>jfĩ:IRڱ*Vi + =:DɷVaQIk=dC0,8- {b]M?m޵v(RAZ^PkT~m㶕SAjB@u,jƀ9jrbּ(IN=yRN:O2Je)Qj>IMK}l vɒC? ڪ}_,}uQw^jk30jmG6_mƂgDI"Q0'K x|QV#P]ܝe%b vi1d50OE!J1 mO]iR2.pTј{R_d}C?6s!4 B#wѵr !u ~`RX.,X=aS7Hsqi #C_>{.<[KCΌ֓p<{l}\7i_q\`ά<"bG֗]DTQ#D3AY mF64ݭ`a92ߝ '=tHg!c!]SXrSє_ B:^_ɬ jV -/nIl\<\ ;aRW5`F |; iaX8nLVJ1 jH \fۘXh֊A{@G̀g8,Hifs?$ [LٌGb[CMȽ%H9#%G=V 8>gwI.-LU=U;U]ݛopC/?+G lzذ&-s_!1L!ʎӀ;A=l$}|dEei5ݫIFvCRHLs|<Ƒq/&S79^iSџ#'q ^gG;4\yJ؞:R>DG%b*a>`;g֐frpNuݫ C>F#md7dV`aH!U`$qB #@_#'R"ͬh Af3ӡ+AY7kzNo@IIjws"FΊzBS^ǺqPdtT0 o"s/#h*=m[:q(^Ds O0b|}<~iMˁhI ]'Hsts%ŧ8R_U 1'xv PR|G kV ZMa Y_JEM̛z xQtB6(J {PnySSV7$۽Y Ɨ)]Ix[e:\9džLW:TGO^x'ӍA~@O/P*e1~%+PEq_3sO_!`x8u"c9=|s-pepM :ZT%`Cz/YE.-!ݫX$[p~_9\=JB&AJ`;-JmGlE\Rwc Tvl#GC{s!mfe? NɍT 쮔~ v9dx柔T\R ;,c$-?%^߶\,-Eo^Y{СP-[ Q=.&п]mZ^*Sio]i)Q?\ 0_F(P݌0Gr9Y.@ðb/)qq&=uЇ nìBvC3}::y7Z`"w&y_䄌 ݄Dk݂Y]]UƖ>Ɓw }rwyImKab޻@!T;i*. ^-kDQL?~J.O7Q"k=ɛOg8-iݹn4UnM0@ֆOQS Sf,`M8nqA?GW[xUAtȈ4Y恀"Ŷ6Zs:߉ft`pTcZoBtJh91tyʕCPօ~)n-F/蚉A\qLG4m W# YN >OQ-8‹/ {SKIsMeד^(f9_CRBFZWCή$⽼i<;5D*c(_7OƱU4K6T-J e-ڨCٸ_v=vQnX55-=~ɝ@vp 9:lMNI9i;C8If͸ŖLI+)0Ǩo@]?Gu}!t bJlKb(|rhqY ԩbvn5x@9-TG_º;v\,g_^Tiu-U0p W3' +vIO^~wTC)BN#qJ"B OHryz#&37}`kc"':M,-#8q:KqL5 һ >xXO@_ssKfL`54̏ҔF)pzX8s U~x DZC)$%iwIvu,*A nÄ~Â7+fnoR?~6^& d*=>+ 'I Fv%>bSfVd#ˀ}D~Xrx>t!WJٛjh"ė@h%'@MyK>FyIp<`Zm˄tZc낄['Lա~4*D!|L\Z!PxZ ҂t- nu-Onb5u.=wE:ڲaվCuhb~/JJ59&y|9£j\T??6TKZ,E%`M/mAc2=}2Qk Hu$V B^ݼ`WqEawyRUTD_?"hRϪ,Do,i Vń,74&*7 tr"`z_*@  ۗOM3AScs3R1D51N_ßѰz b#/*hA*MbQx`NiϠd fS6DfU7QiwcJlgT9(ey()C:Ȟ2QLQEo9X(BNME"MxcmIWZk'}s!F4Ze|qXS-kDEv4E i1<s1_e4r ~ MǒBh=hgxɹ5#mgQ2%b۪%E1Wޟrۍt70 SX8as_@WW)ǣr9*(n$#]nCD0\@rkFc߉ 辐 8S%\ wVbI m?84VPQ^%/}oaQ3rMJUɲ5ÂM+߱-Cߛ QHLS`(* fʥ{{@9gLm3Fj_x%eU p;=!'$jG =拸mv~qE "ab08Z4x4|](.dBX VZwZ2z|+@[TVωiDt fd #(hHZ*,eygm DWHKkqr#qA KU0`aXkmw%SRD[:!A% qZ @!sd`H0R} P5ԱTHi35\~bҝbػ<=ya$=(ݻސ8l"7 kXS q-8"&8a<Z#A{EO(E)-)>3N/Sl٪!:,k.rv"ƅѲTٸHKqdܸQH:23W9=ZqC:Iſ$0r8.D?oжUcڧ'Z o0&΋ٶP-$L! v"fA_EYo1v/P"'[xSh}PT]Ymh!BG&a1TEԹTae\1NdM n=&ՆE"k5CYZJTq - ?zؖζi*ѸV26ёz&^6Q,pK ??O\! 2OV;Gm=0r߱ӕu_27 s%xz*z,7ĖiBp*rzFցG:f,DM ( CVz>g#e׀ZR) WfܖB1te1)Eeέ+pKRI^ ^Dm iǻtV OD i:&'J}\f?ߕT H{c 69V!a'vHb;uʢaVHSt ĸwy ň2dXpFOh3*-0y8YG#j! W*,՝(o+_*8ӹJ;.Ngmq!fNړt\/8RIco˯u[s&(=+o4k}E<U@_8Ə/τ,0 ً,d*lFT7C)8- Xe.ы#$jczvr7ǫJ)pc/k~$Y[4'*$t R0_I7L!ua32,FJ|DzЖL#-1!zULS8Sת e*^tҲwmO1S7]7#Pݘ[S6~dz8D()l_hx(U[/=Ǧ{.)Fk}sV8.HC+XF"':l{>jְNKG46;(@] o!`7UN-;WHv/-B^|v()/Z_[uQրrKhVP"^A ]xN_qѬLi<|ywmJ_fɐ1GPSrQo <6ȟv)?ҜrXE2̾VM$ G'E'=2wr:XBZ>u::L gUT3E=Y͖;Qj@q lAR#՝S#Սe\ ^q.vVRי5TXi9`JnuXÈ ےyNAUOcazLcs΢ qӌ &Q\ DO Lg^ A(,c&%2Zʔlg3zA9~ioʭiښ[Z"^nYDeM'@aKnLʂ] J 2i=3A?[KA;炮zԜ`\w3T.r]PgO3gfFvBoA'MdDo>K:^|"JC+}d[X7a][ś@xZ4Fl/~=Mj%e;f?#s: MzzؕLtN4y$.ӧ2W9I5ЀS8|4IԲY^@VnX,eFlxޭOL-"c'+qC;'a4YL⍂;%FMbt59p$!G.7#D\AEHA'!N6( EX͖8ɯRK\xR//5N s߀`uyMm)%&Iz'-ZVe6+o7&RXPG%u+c {a mY҅KC g4'PKWlY\UȈ\8^u]K P_̲w5:~8K3O;2:Ghf7#*9 ;{d!L퉼\v-s .4r 0մ! ؔ!` 7 a^٘f$/ߧ+^zyR,Pi{>~G`ԧ <賈9z+{ Ȃzՙ gytɔ0 *3&U8+M8p riς[{Ҁs[H*# I 0 [ SqM "H^zxzR @'zfgv=2A[eJbO{vp{/$M븳̫T*Lmÿ{}Uk;LM $ iCij \t-BK>ѢJQ ,O@7Ekvӹ%d"s>Hѡ1 QXmPm99}0x{"r6EU}3 6#s#tvQRwxo|Jyl׳NSND*t̔4ٶ`wB=!iǂI=4t*XnQ3y$1'R)ˮ oecGE@HFQ\| mN"f[+>x'rVV (X4i0HpJ+;4}_ׅ5,ǕMA¬p[INOӌe=;DyBO%գC}19U,a!KjO`[~\} y㼪_F'X>C]h)߻Ŀ `T48g\Rdj!7(۴4x\w:/_uCy9D6'% `|ؠ~9 ++D\$٠]ק漉, ,X0\F~$m=؄hrCPHMKb)5A2qb.8rb2gRafccO4,΢ L]AbNv%O< ,0=Q{?3dO*OI0`mLP22KZ/}+=oMbvWhqnŠ4l!J6khL e'j8B7_Mkk,t<$+yo"6>6yd[Mn}+!Ƨt\].0.y~a4AVrԔa܊4:Ct΂lЋC{eWjdE- گ 6X}|dS. s|>9m:`YEm/͊DזA櫏S3kB!ZgȟMk2a.yh50k? ) VD+Em+3O"py{M/)R4*H3(<[$4:2%~d}U <;WL_͙ry@V$y$%ʺǢ3e3]c(N.Qty߭D<#9E8]pi :yurozk#S@jq2dK'd|$#_RyO|(ζ?v'6GXO-@rfyg/Yy򣨎Ď3Ia.ƚC%]9es;vni?I uNػG9%{s6tGiB$yc!"aa<@ m<31 V3]Ut8ϕ?yNQQp(MxxsGh_GL5F ΈdpMSb$yrUZZSȪ,W!*.fCS/KK,Y$'4ijp~>y1NPAUi(JM" 8"TxX@DDLw;cOr=0*-Rz=1 s4R]v**I,kPbVuc@ν/m 3NWA9V'+_jC*z7]x9qyZ#9g-ܶXFLd2iB]]:ò-uAدwJy}!'8-o U2:7yxmC#y**3Ξkٲ&)i#&+y``ƕmK&O6:-ھ;(a!QY6kLe OrH H FjmVqM.0N4ȊiSF\jS:nHR|ij'PvgIE[MYd.(!Ԗ pzz(C]W9$.k6܌hZPt]Bf:Q="4ZTa;A;7}UNn*Ql|#̦c5-~na:Yq2[󳡻?4 ]5jL+J9F@n!n&LX(Jx oDH |Y\>w39BaݚSǀi"R/Dzt~OK7!fu0fQad6lMGZsrB"MjTN[bˤnFdeYC/m\Y 8Q&Wگ-1_Ek0adʆ$}Qo55 &\NUb|1GS98&aGKaM0g̻2% >prr"<J4k vPc ~gryWS"_Kbb:Y.Qd ovasLMw?xXw w ӇȰ7<*X?t/jM!R83s&֋[7Qي)\ ѪkI<*mi_~u R}nYPZuJUjR@0@{I*̄:=n 5Al f[{P fn.7kS#4)[3i$䠛ltfݹPԳ$ x!nGLz2"ZR EWG(ybD!#x- lp] y!nF|hS߈:HGB LKpN H3vj!+&BŁTc}%bfC9krˈeEd>Ky(*5I 5ZEf(-Oe܀r >p7KP5fRـΊI*۵J(䌈m2$ S,>S*U!c8;eU)8frx':v\5"(B It̷eU|Ϫ6=T*hٗ( HӶ=YeE0Y;KP"nJhR .eBFSu寢LUvůgڏμXF] X0*2شs}SpGpopaL?\† ᧅZR3,w3 __14Gvz$!mG^BffzP5{ڱƚ HOhʬpZ=T3rMS3~Ҁ#6V 5 \wWƳ;#)N$G2߇vZ}~S]'+Uxece ee )Vd>dC*MCVrl32;SVW/eD)k+*vu)Q 0LGNO8>T/x&hMh 0\L,ļsYS-.&b*@Get7pw@iخ۔z|v}'WUXcܮ.@LwJTż}1[D>*X+zf!:Co*؞Va,}/U_T\SPfu]{A É+17<}q/>irRK0#zwGjBy>e;zTɩnjY{-vUs'K!5I;َ$#T8mDh˷8(> ܮr5~ؗL8$O4}H<1>t$4ӃҿV(;XX1s=vM i^u2$$dE EsL#]!6GwHb HeƗI Ć?[=ϙ ^L%6wޞ{AF3g^_Nm| M3"JKsQκJY‡#ŸJ[ضYIO#PB{k;r#„h?Qn-ta# %wٍMa<2>Tݼ=f'倾I^!JZ )_ E WA'T̙]dx=,Q֪[tOJx.-"6bf1C'@R:Ox!RAl7=S?& DGRfP0kLC˫o YodKՉ|9s{ [Oi-; &9vN.DY8d#<n$iuKBvLqx4K1ꛆY49_*An[S".ok`"`zX񞇽| ˄24m3feZ ohޅIHw_O<>N2cA[z9 ̺X́ngTt9g@M;{036IJ mp#tFY`B@1 8tĖf 8;Vn ǸU !p5S0w]Gد\"QFE`?7*s5(X(h>r9bgI)e9'Uz|:ם;Qӷ#=19Q&hMR*s)@C[\9lR~t)ތxs #^.)Q{B^&Xd@zqszR0F|ˬpb;llQYMu#hA f 0~H ȣ qw UV(VIui \t?[asL&-vq`&:ys@fjPUωv&%gyEOlT+Գ240b65ڹŭ?~Έir~@Xٽz$Dz/ͿkVw jTA~Si路h9NxzFCiI{y³?)d/p\ r#ђ.!» D[ upNZY7HgXh d00-Dc$,da] ~u:qѐ() ㇀̤ K1._t  {&dž(~S߹zBU:HZRT*9*x봗W zk_$WMlZush7 ;t r.,5tm?:_E&졗KC]7Rqsڽ1(ՄB5o0UÊEILO5|!g45uAZ:\!ItSJHvKqe;vΪ>3[3cZ.,׌'qeY2[R  >UP'&3 f _ ث9Nx޻bR|zu<Y iӋ(R:FO71;];dPK腥 [ҌyCCQ٘,!U ZlY;g./mM&va7ԁc[r0\ͲpV@[ٚxg<*;P2iTaX &2C%b@ X;GR% E(p(C.)jQeL&,eG2@TerK6XąCxa#?a3<`QUnP>[J#{#6|Ay4+vxVF ADi;]pN<];,Ǫ]wXZ2EKOd μ'ء@F3!udR7d.X\O`Hߎ_t`cY[6e+n)mq>rވWò A|L;?"o38*dȉN'3nʣ9LP.07H I^wVXn>MVcxar #_".,6u kb=s\@l~Z< ZiR<,اa`~vZ"qF3Ӎ:LeΈ:S-hɢ~;ݛ_6E^`V\Kد)J*AJwK*5~q'RLKb|قCͤr߆)[NU%>'vA]_Si)C!*e< 1 '8f|٫jH =ud-12%>wpVGm&1ڵldߗԲ}am뺐p[$$$TwuX$\PIb1q/P?&-8mi KџSO1&i;n`&[UK 6>:3:݈劥ЦwHrk?'-i1d=!%"%U(v@LE6aFM:Y|Ó ^06PAo]rG'Mt$T͚^2#) Q{&mxfI k41;CyGt\9𢙯cPV07ID> ӎnJPX[aGj"iiS=t`Z`y# " _Э(g~>Vi. 9C0Jg|ۻߘ-(!_1>E+QlN~ڿnFʤmoh.ФuN402a3< }A%R \eN% rߍn=txٸ0&Y:z,ѐ~DA=ݗ]VY Yޫ3mso$q[T@[iXA9Fdo`ѾNXWc5 X2#!ˍ0>B^E89C@?/0lu8~ZM #fTJ8<+;\n? LϠDKj& c>:4<Ll@+ot€ =؏n1׎c8J&u 6Hu! #O Ü>A \Pm UޔX>m< `o٘ա"NJK]fN*I>vEEJB~MPψL:ʾ֙rwr*8@ț0^-Rȍ$oȀ$8dli'B]8CB(u(0!.udd†|)ram/%8]6q+Q C6D3!i<Z'qM͟&܄o;2@|tU0D/~=nﭗl`35UH­O٤AԙXjxBތi&&Y*n%OkLOj?}hKtFPy!g,Cv[?eI׳i$X\a/LyQ}h5Jխ`(lG^Y,b#\k!(lIWs<2!c:3SfUs ɦ:Jɡb<1Om|!+qPVUtuFpE*uDa(0[;xg/VcZUyk1?xvIWWdzs[0լʫc?- 銒N(v|;{S2 8?y2)9:`߉V鮂v~jT^~7J'EOY*̛FG b`U$28:.^ڙ?C_* pMմ^=؏r nWב=Lc2ojuAv?S\;wAc9FNxe>Oi0 ?^NvS / ?qho%.?_q@kpZ.! ghu7V|(VYvH}YT9_htX=?|O U۟{4,*!6ʆP޴{*a7~W'*.xe ̲In~'6f%@X7.΅k"tCrH}G TtVgr%;6/QטA#Vc'b$ON"R)VH:C:˻.S~00WAڝD|?w~9P)z9ahmՈ@.-͘#OM)bZ"y?(rqC 3w< d^3R=|DX\8莑&k:Dm24,ͯR,"xK4 gcc̴ʋ d1 RS U _޼$mȷ 9|* .vCoj ,ƽ-H8f\@(br{2LRh1,rX1CAdFQ;L_w$W:}Ek*X+s{!jfգ,j_fBpT"nVFlk$8@ј3Xdr8q wNoBR=x_8y5fU~7@Tǹ ٦:'/*iH=}6}?uHnO{1eO;x=:j>GrH jBc*|t9:t1[!^{7\IF! FȻɨ<6{ΥZi[2ڜ cmR.Q^T݊;N$uX0ɁOտm~W@1zxLr1y`&_s^nlEHlYCғf$ЄTog5-8g~H\ ovPO]mNJ@ďei˟' RxJ| 5ԙqbz=n53x,dvF &֪߹ Nx v7,lL a[3ۃH|]v\W9{y$򩂂7R-2"1.k1i?Տ?PjOw7Lgc{pIiOhJ;lCRۢ B6i}-LsrT/(ǣ&<6XLrlkέ@E#J@INxӑNpP2Wc7׹Բ!eFu hGX Oa{i)ӶP o=A1Vk.TIByLCi6} wo%; L!ҡ?.Ŋ)::{B ]Agv!Y+Ty&f x |k4c1Uwr3(iӪ=)xwr ~ ٌ*vE 4w73&u1ԉ}E]~́OG=RL>0l'A:KlXjAײI s0B! h5WMB n3@l,6R&ȾmP~)ʝ3zwL5 qh`+ۍLˉ^rxՙ>p u݅In%liEBk颚VL.|RŎ N:IY"#$O},!5]8$uC{j#;^VW;+mDw KnbAK}]] `#k4o?)?}\"^IΆ5pdo_ qTasADlznAq;nQ>Xpu)N螳!\0G+i* s\,^ܡ `h:շ?^no%]!ZzŔI2~| "dY#xdl 3F/c)~nDrsOmD }K,C1"#-IwYo^ԧ^1kk7<-VQg =n&|1.UvC,a68QC`_Q]hmAgvC> JJNvX.ބ|+9e{us$l&ڂ}Q7bByXi;VE6#OlVxvR ` fWOq rTBTh.׺enVh5Z=K'VN ǚEo%YeO &cr:(O'{kAx60hS$}/ddu(7O)GƿG]; &S%~K|Y21nX*GH{3CX^=J+x$*v <#쫌 IYOF[DpMڙm(aNq_\&^J(¡?)+JƌT03fg(>Hz~r5MbVg-=5Kұr6GZ&FU. P*79]wDɟ|[&ǖD=7O8=6i8YC*.ט5}3h6 f%fBWO c CWm"1/V*ב c}+X|_immTףS'c <ˁv5IהOsqyˆLU J^YoT\6 TkT$4~'ݭŔ&0-L-ߖgxPE>ߚJ{l0ىQsI^UKKgek͞,) XALR]lrV7C{6fmRk םN4A2ZC6$E{9 eUNn FMRaVB"a\ti 2"&SQ"XR}E,`m:dM,ˆDA"I7.=к̭3H:f~8r`ؔwqzwɉbZ(dB#{1>XƘ",|1x@^ӀS |n3b#vLgsb#VC @s&`ҟ 07rR"eDz%X)z|zƽ]X1Rxs"fuCWKR=2Gufa ! ZN TTRN?ǼL3vPuGJ9>P')Q]ɏәI78b CcrеHoeۀfq%;`{le.X3CV *5͜P5oecď,62V9]*x&jW ߼tͭbaO?q%f A.f`[=r 5™I~;n*V8yr+qX~*XbOPq?m#QqͻIM.\ܸ'$ Օ kn1)staԅbՆRz[%(s]ZSoo~(቉T܊ DZ@7xw&#zc#] j1_]qJOuM;ѷpi;0A b(SJ+a; eI֏H N [kiɡxhkf 8w"{i'D!PVUa4DLкr\(ӜgbQCRbь]WÅdI5 l_ sW`}kuM130U8Lr?Y'[:Ejzx;M3(Ҕ>U!KYٱyⅥ6w8VDo>/{ٌ\^AɮxP ~% w'k@7g83 :LFn9H?ۂ/ 4hZH1·CZmIOj)i*W4zHnM n M0KE*]ʬ5fnO-^8ߒN`j(IrnDW*,:,M /T*gq&՞ÿ*qh 4Ƒ FF!8ޕ,e4&DB#n7Z9(+s6T4lp #3KY*PY4=[%柚g)K駬‚Zѽ5 |msk:*5w $u%V0ne{pPa`ܲt/ <]#a#zDRTH:LD[݃mh!0l~ɰu-yKr[ɌCTa}c6XdJcgy}'jx zLfsQLAeC"s uFtlQv#5E|wfT<]0'~d6*KOz5L_u[dd.C(;%FoIl%g(cߎw,`2)26NN&d4\?;7׬?P$(tJh>ϸE'%R (*Uz]^D>]"P-A{ 斋y*^:HSzLڬS?v師MW=CFz<Ǝ@T،]gSW )ͮr?W^ݶCC$SdYKjmfu]逆_̶O0@Ap}tCFg=9C# PM߅Y4pۦ?:dkECRށrHDz X8™:T4b2J+82J+;EK}ryPt y쯾#/:" ||KhN4f׍~Rݪ뙬W&_T"D{THA#k0.)G z`웹rlS &5CLqIHHNy3wL^' Fz}PVpW>rN`-bv9W}kT9 3:[6X"ؓSVOɐt,*0OG!_󲙔dv=X̙*W\cn5nl.k"XYJ}) ԞCL]x, "\f:X/fbEA3MAȦɲC*-sMR(L;Zx7sz҂>j:gCQc_s%7,7r jM{$7iȧMXp9:3-upG l*=c" ЌbB0l#a*~R@Q|VVNww )FQn[nk&"'Ig\Ru\9lV'Y :ipS jW dkD>-WJ}ц܄` >#KX8~֪}-DN1$[9ێxth-,=ʽ -; GX~t tt_6=dw}K(Rw#r8A['UEY^J2%Jj(oA^C_p2緘q7S:$D b[}\ܢ$"D; esR <[Q66M%~&[*WXV}!!ddI\WAC*{5:1_x2-D&eHENE E~mL0xMXFW%".5MNe-~jsf7o4;/`¼/2^PJvD" @W7):NH)Fb`6x"h+zga=&:̀9KeLF /K7n}+ٌm"Z~JV_/-FM #hfwlbƯ\?)<[LJi] Ot.o24T)0WX9@(>[.Ipv*`rLQ866]BZYr,a'* W@0$v~C-XpV=N{]g|1ٺq=cfzIsi3sWJA{19?Xbd>PP kK?/}` ` "cͻ6vDBDV2.?^QgW{ ƜrQʝDx܁=O.$Q?l\d˽$& uy70JCέ?ax] CHqS#j#Ub|׾$be/=MR, P=y0bŵ\7g 3;fKW׻ E/: v52r]BZ4#V_za%@N֟y+OT*Cl"X tRe)HV&[EZU'zyQQQM8䏙0I9un ?{K͑] B ɺx 1@#Ɔ9/%i?7Zv @[ ׃WHތli( i$ wWgeb/TrʷBlz1 a:?L*%֭<5l~۬p#c` l7LS)yVYdH]EL%#~Z(P t'N03}7wX<4W$qPד{.^JՐ#"1iJ1ii*s** b@ԴB՘mܻp!NfO8ޏܞGMikv$lXA;kj 'Mp;M`+xï8ys8܍֜@f٫¶WmGHL;d.2*z"%lzUTW\; g4r(Œc>|jqٶYܙ]C93=Hi_i%~G =; ׫~?X*EIxsHWlEFN Ԛ?WHb;0Z6>},|;@8p #&9' vj'l$$BɔRi|H`(f՚a?np3ĂUq@3.'Bٽ.} tAUR9pI խ.=Rd$pcE2X;SD$%~h8Of H7cUEPn%>&&Y10;,"Mj*iGxEÕ $wNY}˧t2Z8|)|DGUϒ[[֋٩Ͱ6gZ~l+v35!o<۳Vs.$9Rx [fc{Gn0;AoyVbaU7;O٪~A@:W "!Xr8^(TZJ,B02L׋{L3ŢYvV/R{Sf]q=xTטWz!Z\Wc+0{ݭ;_3-c 'K!Cl~BZ Kfqs=I+JXC!_Զ`Zt3L1GP~1֑c (,K0ǿ!mM˶w}%zsr5 o bN? {\Rx9xIjy1  ƐcF5˻INAdӏzlmBS|?_~!,W5,gĀl<.t.Ɯ-9=RN J6mgTEH{s s-OuZ~ pU*gC3q.M3I̥}rǶUL2aCSr,,gF9UEd{ΐ Igo`T:*~q ;@ymjVJ8?vV"K)/3l`掽ÝluIT-s aBΙ^%x򩧜\n 6X!$س+:jο-uqgK9WU`oC;͆?a<8]Xꐚ9G_g6)DY 3+ї}<S~D&doKv Q[VDȊ=8J=  oioBܽ`>ɅDQ}Q\56A@2~/Hi/&` {1\TnHIj`G { lؿV՚ch_CXT~e(Y/ ǬD[ot<`i@.[4Syx\ T\< ULY|5]p[' R:rLHYW rqFB<4u7 5"A/?{ۚ]m )u/EF Mwɘlcueg] o%_{\0Yj>)`Hm(DOG$$2No[bP)Lq/$PHN Se?H0%̟{oU:88ۮF,ڑ?Yt:50, fABSKLB߫հXZU՘ixYMg $q#Fp)/Yc4f.jtv>[L4ۙ"2 LԸa /sBFз_tQJ0AyeNؤ<LU*9*xQZÈ:ՉV]gg\䇅Xc;#A7<UR+촏R8 87w)6cy/֗-|o8nԦ󽹃j*x_Kdch⮎ ]P%V|k#>x0>N%mIRY,,0U;N7_ߑ/s$`iwh23P7i\HUS,-Ρ-y=ͫj*6~Ƥtr `+f<*O'!Fs$a12tDe`tVqY|s)ǡulɁC3Tb5,\ (45l#=3S\Jwko χ*7 TlU|. Z u|)Ĭ:(SlL+IOoM¶1A8B8 S6?`'Yx#/TU$-F'*r3s+FDb*ZvG`= V"X8pD 0O`-L2ÿ2^IjSf-v6q,ۈY&Ķz̴`ZBgPY|Nxݝ)vMc8 @-cq$oU;qI!=Rڮ6;QB-ns/Zn,b*5Eiו,?~CŎOJH5U>+)_\Ȇ [G-gS$2/H2fلYUУ"81t>TEl7?~b lڀRlg_ӼA@;vfQN[д%hv 9zI^8ra*YrGjeۏс`7Z.U`s*hhDX2E).dG+܂ I)3f)Wmx$Ï>NoYČsp&KF+#,ҎH 5Hy> !-4@2Gt^x:{+la8h0]쿽N޾C_>o|^0FA8úr.7Z(仧 A:Ϯɂ{'evǧ~o umja1Nvj>eVN(+dpɭմ1XFH2Ikf!&5"ͭ#iAQ7o)92=-<X*x%%:d z+UE\wUhCT +[14Դ*3l -'!fk9}%Ւ?$9b^ָRϬ H9?3@֏U#.[cSyO`W+KE G{od~%v3z} v㧗t|z BѵRܶܔhۍ)vU;``0q(j0.y!ml}1 5/:2TD;A^DOǘrDC<`#mȣiW4hJqbcz"ezMi ۳@(HEJrr~U#3Y1eKjc$7)gn6.c s*S)rJ*[k,=>h|щ/]eV&MJΰ9B4,$Enu#-WB+Ph3b^tt$KKNrI"cw}O},Kv fa@jKx?&ۨaX|6EVڐ  M1uzN^,-+sn&e ˛h_@*; vL6=%ґoi-y"PV[{,6ץ1 \|m/].QfRC4@>>g_| PqF>XΠQuat}Z{$~tb*]P/+ >%:>׾?kjQ( +0/Rר½ p]G!]] qJ8ց'*Z*6R[=`"qzݑMG<0Nmཻ25YtH#QBzm-{Se=NяaCdss`UMܻ<_2'|D0y%{cU"#:ds*;Mot+N^uNs96^<c.rKsGK1aq - ζJC>Qy'=* c'|T:Cj R;TP{^-]7RtPkWd{-p["}