From 48c981b1e2f1cf981ae4e43c726edf8a2ba0663a Mon Sep 17 00:00:00 2001 From: Emmanuel Baccelli <emmanuel.baccelli@inria.fr> Date: Thu, 8 Dec 2016 14:04:26 +0000 Subject: [PATCH] rdm : initial rdm directory + rdm0 --- doc/memos/README.md | 5 + doc/memos/files/rdm0000/RIOT-logo.png | Bin 0 -> 37916 bytes doc/memos/rdm0000.md | 152 ++++++++++++++++++++++++++ 3 files changed, 157 insertions(+) create mode 100644 doc/memos/README.md create mode 100755 doc/memos/files/rdm0000/RIOT-logo.png create mode 100644 doc/memos/rdm0000.md diff --git a/doc/memos/README.md b/doc/memos/README.md new file mode 100644 index 0000000000..c16002d8ba --- /dev/null +++ b/doc/memos/README.md @@ -0,0 +1,5 @@ +# RIOT Developer Memos + +The index below lists the RDMs that were published so far. + +- [RDM0 : RIOT Developer Memo Format, Publishing and Maintenance Process](./rdm0000.md) \ No newline at end of file diff --git a/doc/memos/files/rdm0000/RIOT-logo.png b/doc/memos/files/rdm0000/RIOT-logo.png new file mode 100755 index 0000000000000000000000000000000000000000..f38dfc4de78d4e14e154ec8d7349f6ca1887aba5 GIT binary patch literal 37916 zcmeFZ^;?vEv^@;NpoDZucb6g|-8FP~C?MV43<wBFmo!L8cejc#bR!MY-Cf^%p7Wl+ z;yu53dBHXJd}8ml*IIkuM5rpuVxW<rAs`@N$jeEoBOo9_5D-8bC@+AY@Vafme}U+# zE-QghIYPFJfFOn-FD0(&g?O-pnn`Dow)$LL%C+BlEK-Kmnn$|3l~5$zBF>KwCOS!< zCMO=}e~PJdrQ9E~^xR$_dOuhx7@SW#BJeMQ?E4oKx%D1vK1<gNe{J`r>-aQ+=WW>c z+}P5ip|AZzU%r}Hjce%<;~d}n*Kz%WUHj+ge8xZoV~ZjD-#`C%2LBfa|Ca{;2L=DX zM#7U&v3O31IQ4&F;79$2hiB8x(^DZZu<O;US7fI=0s<`S>+4*+yeSX0$7VI(=x`%8 zbc85Wo(wcK>Eh+2AP~s%0}Cr_;=sVbhK{tf^w~;!I!Q@YRp5D9UY<A!DQWK$I|s+s z-A0rSI1~=KKUup&ncD4DhH=EG%t1y*MkCq6zUIfv9Wc)OfR#@FiMcuEa7=RC$BtK+ zm|I4@pz@RyLTg*w#F-gwy=qe^n^CJ~3Y*^9mX54!xTcntGsd8=tr`M=Ww}ns&HeZe z3+nH{*eH2HS73h5u7_H?rB*HDz(@DFM*9rAl}_Q?s!IfdiBHfedB!X{R-H=4C*Ly| z<KTRQt;KYy7H+gmODBQ4nFbN?Kq@Sdq1;)}2r~|_@FtMJ#&C_P)%n&itSZ&mNB&^Y zC-i5hUThMw0wH&WL6h>x`}MCIv)`qonzuq9d&M7tPeHlC%~l1_UJdyF{ZJHDR0ONq z&mx6Rf8)WbRvxza&VHhEei=sns9=;^Qo>C9rsMI@G1YZcScli{uc_oiGiH%;|2z1H zRZ*RwC|a%>dcfX-gBTQ?*qD3{YWg;Gy6%#NE~hlOxVUgXe}7r|bufip;f2z%&urVq z!}(~FF;is})K(hpD*_0`Ts8<@!o!fC1%yHsSKIyj_viB{lLrZkfSV6<_11|(j~A1$ z17~K+AVwbsQ@v|8)7I5s^o`m<jzk{Y8K<lZ#Z)BfAOuhk?kWho{OWr>3Y97qXjJ$* z^L#SrNt427huZt$v`>1{g-C7~t&Akac@$JM#~HRqpnb1S3Y_Pv7YGdLn_Tlmp$ZC; z1@UGc#miE}-ye60-nyTxipRzbeQ=>S-IvUA9pQJmoYrCN;#LFCjv21GQvA<tw8OR$ zvovUe#NLDN?(Q-vpH9MEW{o`QePecbSjs(S*?e3M8)gSCXH7Vd{k8?|osB9>LZ^RE zy+8y@aCB$*^qU}PQX+!e33iT-JdQf=kIbDecJgDnX8R3{S12l4TKI{%{a2AF<DxiP z<!ItjW_4B?36Uj%s8z>XjTYiz%nk*PafmgScsJAcxI^ct{am@mTQ+^fcX|6P>L*ck z?(QE_$0RKO9my26*nPV-K7Jl41Sp7L6{B5@G{uHGNX!EnH{!FI-riC3I%W-(wTlZ^ z8{@_f6n|%DCoa}+gZ8W@)?ZP(T(^gZFRnr^4@i=7P`h<_!)6H|aDjBy_6xk*`zFt= z5BFWqZDjAAsPfIKHQpn$9p3bbKAmo47L}H=RCcZT5v$q)krIdCIE84#78!{Ey2Tlz zdo?0_y-3@%<YC~FmH&_wTt^rg^g<qHTx8(TBHf><!&Ctg2J#3S86^p=Mymu5gyKb0 z?R)L8ZSs6+vbpkfxFVIv?d76~8Qi@F5(t+UxhzqMpocPXa&D*ly~kXk1){^7a8-$a z6r+0=N31&#)QV8<x?j=6uuZ`qv)%<#{~nBIWn%+*p-9Nx(A4B=&(Ta+B!NPOErq!J zHRP{N5-}oJh^TtaedXz@X*2No_?g|H(eCu&h723333g*=XxS~w*m#$7`!&;hE6p%p zLwubd2qv)<uovD4E?c-X0@M`c6&4m_`0QiV^JUk@YEMWH6L;aO(C%I$6Sly+;y@N4 zcbRARRO{a-OCcb3p`L8*HxcFu0U3b@l?=z^f8Kt6pu9~Dyd@$gAsK-2^P_^&P%@qW z5W|9YTlXvR4xRtCW}(vDQvrJ=MmY(~KqP4cR^Wu(+S-~K_|O-a#Oc4QQ0|Yv`014e zOsC42J@8T|Fqte}wi|yS6(Ly$0ZN9B&9wPCa}o%L0I-{`5tmr&<JAIc+}R{JbD9>K zs4M^=f&WPeWs)4-PxnPy9n26Q?8w-=Ne{+p9)L_nrXO2a*!O!n&q?JBIF0&_N{UwM zpvkZZB7F0B{rt3&i2j$5h{#nK>v|A6Pa7mg2&U0{&kzpm7ktL?hKnmf@wDS(FWUI= zxiJM=P|z%Bq0wFe^Oqn10GmB8DczPIk38|%yrYLs0T7%5wU>mo-j)b~LK)-a=rXGU zF3ZmN0?+v-CMPw#2nu9ShG?ChZnp<TpU*|37y?)4MPhNV;GwXKa`GuXhHz9G0nr3q z=&YYMrb6_5LV@$PH4`5bYKMwXKmhwMYUA1)8+j{F=YqGIfmlF8T$Yj?AJW8y{v`a{ z>ECwV2OO)*amO{Ghja-!h#3t)eHc6<2Pq$VDCP9@h-dHcm%K;-RC8)ZaLf+3JrM?> zfFWYDqApLsZRUK8>ix5RDwdq}lO_%wx;dCSNYr_P+_IH!+q}FD%5(*;PaO5+kDltV zyahH&c=yFc{rP28pwZJm&L@f1wzgkt);1AA=ukK+ICNZUdoL_3|8ZXlrELSCs2S|_ z>y?hLh5;DFc><vM`<$EKj2mf|*{FU-KM+7I_|>-xyy3^kPe;cEwY3TRfgGp&M8NXY zgZKu-cu7NLsQf^9cz7`t#OGMgCs^Op4u8HBi^e&T%gxW1e7ZDw*5c^6P(MNx;@W%z z0PZ(XyFB5iHg#4o8f5jfkJ8hj^Y)YX<K--Rsj=n@s2`f&MLwm{h>4Aj%|BzR9E_e8 zAP<{By`AjD0FXh)(1EHd(6s0h<+>J1gi9CtG>rh<|H{oDKJ&x*hO<M*z=hMhzhqbd zD`Em8ib%73)-J$A!O!gmkYoMf==iD9&BKGx^za8R=n1#^UnJ{B<AOsXy+VqU$!b+m z9ygFjvWPxOXJ1B3aKu)1p-)c%+eH};E|pzRKEVZM-d<p6If~FpHxg{Qu*(0?_JYGg z`dbKaj@ZaI8%$p+WYTb$RG~S~58E-r8SkA|#h^2BHq@(u(Ce<}$Foh&K)r8m8_$j3 zKLcN61bk8L{@^$OlE_e?d~T0EKa7$O|CEkP3MNt!r^*0%uJ|{Vn{*k&OPo(?E$VO$ za2nU33#Qx72qr2}DErA?S(O01j#vP7J=93eCR_{wS>%3hG_r7$la+NnfI8?<HXis; z7J{SS(ZgR-M6e;sjy}f-<<lBvWM%xuKc)i!T<7q0n;fzhy|=S!KMj){5&wVR<OzD! zac-2TN(DwU$!%(yZMmAa%~J8-(*Vndt}ITySp|)XKDTGO&*-__A2z+i=UlayKLvIp zj3`158I7`}4GL0#TITrAv>dhWn*-#CBlh<ZuyI?&VL9e`JT@&YtwqrdlALn@Nk))& z)CTzZ8KtP&K`A~r?dK!3a%jg2LFq3I#fXZNqe=M&8toT$jL^Ic)cwHN?`sgC6A{r~ zFF+{G_}?-!-9&C-Dgt~fes#Y;zD<=i^8{n}7k4XgcF+Oe-?$j~{0LUKwL=++MgZv% zQK=3Hyk!)lS_JuCAGwc+KKtG7>2#4epxDHUA)*5KJIFI@Nc())^~h)G<C7j#5;UJu zN)^;?0E%zw+!O?gdA9*nmePN!Mt(KDy=MW*l^cwG5*k#98F;r_Tv$~#YHep{zMR0R zA1VP*1s&kRyy;=i0E0k*!ZF;1qwRnzxPVsk1`+xb&+DY;WuoM1w(k+YPYPO<cL@$C zk8pJ|N0m=BS+?63F)L)l?`|@OP-$`Xv4@`qgmR;uTU)E%dEIdg^IbltIAZr(fZ)GE z1W(}P$}*F)XGbA``UqZ=khoNK-q{2fth1adfYCHe?d%kn@0YI!Qo9~3fG?_xC?Npl z;jL=qjPdXj$WRG_QtH=A%PMgPzx0M7fYu0a;1y_K<@s?%!P)ukHSt;iv#Ku`#4g4a zF2+Y0D%(v7%HVVK0GJ*XK!cx{unPg6*N(PBCOy~UTKqLOR*-;z0Ic9`kD(lc07^r{ zX0l-E3jnSk|K>C{@SuI)=(v`YMhc+rP(EZJKq@!>O)M=fDJv+T_e^AP`2j^k9LF?9 zT~$BQg=SR}y5P_@?7ecoEE~7+t1(Xw<wkrJ#+Z`?j||(Yjz8`6qTDDJz{BdnC`l9l z{=rbF-mso{23~uP96v4}N31(Nzq9?>1%PaM5Jr#Sar?PBz%|?T$OeDWqEM}xA-4YX zUwn^`f!Kxi0LyuZI1lCY>#6F^Hw1nu37wzU_g;m*+*ouS-CX_^ekd6a+@>z#a(N8T z8V(ryo2;pikHB11!EWHT_ly6k$2q#y$CoY7PxqSus%|`)1uz5vI}*WJjUHgc5Pyq( z(k3QE;Tdq>6ln0YF8cKASh~;;z7FWbg!*j{RsfZbp)>L|m52jlByb%x?eeEAz~=DK z6qS_t;TfOE$H(Z$r2^L^%2cZA>NG2NGff+J`&HW_8({4R5};Nx0$24g=lTf@qBh;n zZGV0|W|TvdvQ?7<2U7#3a05>E9R1cw>AX;664fAJ3FdA_{yaMmmS`~>keQj;$h3|L zd#v!4u8rUc8=S%_AsT%W3)uDy2)~c#Uh)zED4j_VU(o@n>kBZ5`3*n+uA%EN&)JwH z7IN(aKCpyfYE?jJc`iDK!*P8xo9?xe3^NW&G=d`}&)SA1Qfv=YqdU~H7Dl=O&{+k4 z#_R|<(PuL4negm9C*NYT*y(csLWUf1i^-xdIiChw7con4)$hQJ5`YIgbaf|iFrz8D zP9U6ZP(I)E4e6m7pR0WYqiF|;m6&FvL{i74b+b1u(!d$nyM?q4c(}bnX6p(0)RPFL zaFQvrq@)KxksSfj*nYWTg#y-Jg%h;%hAMydG56dPprRWh8bylzmpfH~kG8>utGu-I zvbm-}oS_vlm!N=-z)yQsPXo9Ah`M%;s15*(0YGVt9@Xxx{#?8FyPgCE1rJ#SL{AW% ztJ8MhG7A3ZZc*UQ1p==u1GTZ;^KgN}_!<-)9ep-v@}#a^Wjx#g`M}NGAV%c`YQF_n z!kFHGmeKsK+g9A|aCt}pqOi&b=K%|EgsiQt*8+MSqb0quQJ`XUVE2MZAns#>0`&I{ zU10R*4=Ler`SpNyu-KwuC(K74v#qJAiOsgz#Q$CpNPj9-G^0d~58zK=xX83z{}cV) zmO(ri*ujnVf9bVySFw_?yK7zC-2BZH*2FH|gUuuaP54=c%Oe4VBkIM)#d{(XzZx<j zuM;Vi&1*QFT}EznSYiPJh}Ux0@!a?|8bGG<aH#f;tkTmXY2MJjdHZ(F(D$&R)~pXx z4t^osD1K|`CUFanU0I4=Q0up7kzyyvJ3lc4NY#<R>V(yKtSQZF_bbl<1NSFVaQNi} z0b1Q<#s3<XtYZv&j4~k!b)i!227s2pX<eNM97A|B*!7?gT#&DJ18{N>?dtoOMW<gF zwHAYfJ}IC{8+?4|D%weeqSHc50&QGM_jTvBFuc%1Y$>zhTJuH?&R?><w}{6ZQkr8= z&5+a>z-UrI<(|kBahgcbb=3BUv%wMm?M&D9;uCmDpn3yp^E^($3cUH10MN{Y1l-`l z?s_t0X)0Zic?Y_-ubMu1f)IdZNM*9y&RAakwZ%*LR;oY?O^!`s^1Sx*7fk`|w41=O znxdaDD^@SWPS83TA}TC90sM%OQIzsJ;sF;RHYh*3mpoV4k9}9}n{!aD?$zwT4{Tyw zFGZU$EhM`OySGK3y@Tme!wvx0eImTskricW3~KCBklzJX`2_^<wcpzLLnsAQCqSa| z127Y+o5I8ktR*)Nd8S;CRz>Lav!;%YtBFQGhSCyte+>eR%;nX{E_Q!tccoEVX5END z6csbk-%KPpAFp=b*S`JDC=!3|q6*j;Ol*i@%LLlKfMTX2jN)$`>F@4FAc04P71#|G zd^?faDMjRCrJor|6X%ZzD*O*STv$$8M*Wqu{jcUSvlA2HDm?)ECSUZ9wq_IiL6vX- z_(2bmDVyWTLL3RzNl{P{%$=k2=404m2lG!pAVYbflgffh*?wp8%mC}5V6=-?@y9vQ z4dRDTgt)v1pV8+^9%f$d&*IT-mLb091nyU2HI&FWuInbM>qJ_Q2@Eh=gP=Um9tTlK zY<C7I=WePPPFNhDhJeQhiRmK4iF3_R&W8%oOBnzyz&j~df8z70;&h;J1Rd!UxvFVT zfhNLrLjbN7;P-6j1RAGjWVFnlYWz|q1cT_h$J!8h2&JV>IiTc%9`B2D0`3gE{=J2V zPCeX6aycL73vYbVBtrx*qQAKq>7bSsqjChDdM)1e%ZkwC=jVH~A~6DA4t`*9f``6N z=NUoR>TLs*i3lVDkeV}ZBsC#$4C4u$N5T%2`+PCG;Nt%$+evufO?a*4C`EALn=X_e zf*@kFHy0d|?>!``R^Z~vl?{Uf4l6<34<NuVa~WiB8hQr9>lGl5#9}9e-UxjST0w?$ ztbwViq?IW7TX@>GqYK@vhPZ5Jc}|oiU8m$Cpnw&E6yNmNa6+QQ)K_gy?$dwKSs1^9 zpWq%G-)ezasa-8p{__q8r2|3oSmGHMfyxS$m6bJ;&SM*_Z8rdL7nBXH+^Q-SIE&qC zc$EnpM=(8bcBTzPh0<aH&)0z_VPRo$@VbXBr?Hx`@=&z%Mks8xaQDw74oVsD)SvTb zQ-X1z>t)|6*CqE^<k|yxDZ)Mp=}w?m*Z_od(%zoU5%gh<DhUyh5`NTu(URlX?+s0z zoW}IpJPy~eP5}i5EIJ)d5R<!}_Pdl_IkSOu`hah`WAxe}OW>vYs%y@D=FUTbSW1?} z|J?cwfd5PYBNmc8d6;5KLPn%S8_VDLB?E93vj3QR?Wc)xCb$3wDjWbvep~NyU`~!e z^?_ESjOF8}q!eXC39A*ABBW^kr}6{^<$x)C58k%iAGPgjooVC)f#k=~EhUq~gVHO$ zY6X2s;nm%8w^tS$@GS?xd4S!cxw*OZ4{~;~ZEkKZVztzpdxFu_fXEL0TRK%@3jSF0 zt<GVoHMj(eKpY-PbZ~#9<#NX0QIl=}fPE2M)19nXl92CIPW9cXofq`pfFl+2zfTv! zy`g+w5A5#=c}X0+9nTmpo*M_=QDZ5XDc}G^{p93&xqd@w?w*uI45z7CAVdLDAb=Y` zFQ;jfUpS$w#!<|sPg7P_W^u4e&CJZ1>}3{Wx7=mo;Ypd0=cO3-@h$OGAfp>ahLXA^ za3)j8fByX0;Cw#g)L4O90usv#{5p{|y{PEBINr@gvFM@S?Vt&!ehsrD35Z@=dcs(Z zo|OkhK=0W|O^dmL-a@??svi2pQEJlr-ElGoSxovWi!N|VS1yoVS*_-GZ@j#vei*mh zUZfIiB*NL-!cNzim?WX{^sPMh`@(S=A)a!O^xezL-*_thbCx;7{%X1=;3-llKiEt1 z8&YUEc7IclGKcbr(sxg)7525q+x&U6`qCopky6{Z$ue7WdFz%bf>b#v+T66O>^9k* z9a*fv^Tw6AQI9&y6_tIJ$4Te8xBMJk<3YQyCyF^iUWjAj^)L(vU2YZ7K8Z>hyyQ>C zT4D|PECBt9KyXA!`%!}h(j#mJm@?eF;~TVGJ88jXnnC#V!6Lc6u0(pIq9So~9Ib?d znb30nXL`P5ZVLs!vwUm-KxbOyaD5!m)3Zs*<7MyLEEG(tz9!l{{mvDlO#+ENtYK{q zuvQ7(jWQ<@Y67Y9N#yfyL`1M3-N}@O3O^~I!-ZM|6Ql^l>*ioDnQu5V#bT*5EvF#w zHe#G_CRwOB>a`IdyLf1=$KdvQc@WR+OzfE2`};OF;$*zx!{?w(k9q4eAWvl?qoQJO z&Y^&v`IEVuRQ&xymj1o&D&VNNQ}|z~QKrUy&yu6kH)Pu<N#E$GK;L+k<*QjJ9*I$w z;s0w`+tjVyWjK2w`(56qw}YQlz?ipKz~stcT>E;@Y1<g8-+9JLQien8?ulsH7_sUH zfRqDV8xUVWOncp|g=Yatu_#ObooN?E*Ck9#p#EsSQMy)bn_8=j|JZ7a=@um}hNG)v zcOf;|LM)_7HtcTW<;yGiVuk=y07T;nShf3SDh%jxBb;J?ql2Jv=t-a3p8z}71QnoG z=dJ)yTxz8;DcXRBEjC@&|6#Uxuc><*co#~o^z&|qukP%S=%yWDj&bc*a8#ve?C)8a z3Q*spq{I~c+r~z_xV~l#DfB&R*>;rF^)Ce=A{_O^8usC}UzC^#@{ZC#alqC#$Mgq} zZL5T^jCrC#7zrDJk_sc%Rv&_Or9J~E=q|^Y{kp?HeB<T)72T{^`hJU0n3yhjM+;3s zK|=)`!wJCnss9Z-h#&87gDp{qJpbg?mXs37Yk#j@uG?>z4F(0al)L6R8_*D3x?vXG zYRy7ht}H`6cJ}1tv-Bcd%Gf^3z~L^G&&u6C$=a2M%z!s>y%JV=ruiBXyo@gw@a<+x z1+Lk=amF?<Vi=tJ2V3~9??5R>zR{RE_oGn)2{4l2nJ8|P=%`B~4FRU(h;i}Ty=9|X z6C?&+@J|*~XhNlRpJ8EjC&CXt5Q|tWE+-P$kE%NG`DxTTHUSGFful^PS|oYMVP&7X zVpMCWJl^{;WIl>pN4SDf@xIsmgI*e2WogQ6pNu&ZVa9$5u>T%(-Kq(ovTOj{QKSQc zyfUwe4Q&COhV+F{S)Bf~?sua?>vn&usV%qHrP9zfQ>8Xar4=@cwmeFvjp-F`$?HFO zluRxAq<r*o_wsPlbXaMVyxRNNV2AQq&2*{Nz1I8u(^2xzzc*9Fhy>O9)Ibg0P+L9E zdG@0i9VyWu_z{~j@G^DJkIsm+M8=b4iV7ygMlP*M+g(>$y3s_$nYa~+=KBo;I)*Cr z{BVA@8iGamZ<{*LR)OWK7z1Fw3`#}&W1q;a0v!R*faB|c(foYpZ+58MGWloYg{&L% zf3zcp=o(o2vkQJb9*m5Itu-X4K#cT4h4{FcYWTSB$e)BdWpl@n?O-p+Nrq3_Bpj{w z!n?@;nmi2sDT%THSw%Owk*Kw#(b--X+C}HKQJDyL7nzvG7*^-9Uz7ZR*_5I1=c9y@ z7sv60w3}$PQw{#ElO%9k4As_?3^mjfAIkVH0n<7S>y<OW2ZT^AuC4?WQrKX>()cY( zK^XBr7OM*+muLSb7*aBS^@I?zO<Pr89EB0i3BKisrPxzUj@_nKeFJJ*_Ob1m3XS}a zCtNTUI`qE7Ini8YHMxycR95!!QN-NJ5{ssH&~2yVU#yh#P5AkmZrDbD$p8Y`cw|Q} z(3_3<C`n}pS^<pT&2A{thX7I(gG3DzZ~}-IoCQpbxUgYI^=1N+Y5S%;lS2#Yf`K+N zi@(ap+pwQWhn{fe8pwSwpHi`q^svlzs7KGeU`%tX;sE)yU4LFRMYWq1J$&}75-Gv7 zGa<4%RGKPYuD|PHu<LVS>l7Xk{n%8h{|bY|D8K+VbMSkem{N=kF{{w2e(&jTy?b#h zcmJ_uigB9(KaDvVnbza!`#+ipL20h<Yh$WH)FG$ezS8~UB92w4Z<exA$X7QYi*J>a zvWbjz7jLJLe?Q5U)$6uN$fmV}Ux?15I-iF=E+YC@RKw~iN=y#i`LM}3cyrUNq4psV z)ea!SF91sYrk>0FA`2l$@vc&SnN3yJBH2$aq`>1)tJXNt?wWp%JQZ0^ngjuZA9YUT zEdyr^#^6jIHGl5PwTcq#^9u#-gt@kN3Z<$=qmC@B$rc3DwUw31%2g$ah4B;SMXh$p z3od$@>c(jYTJ!lm6JmCIN_?H-@E}9fCk^g{TSqwGI*!7M|4iXSh0xn?{zZ-4UGAS7 zqA81}iY0z(zTcVHJQGned?TFIZxd(k*hxR{ia&X>eF;PL_RE#cJ~&QBT3^SVMPQ#^ z&NI&~glc3Jor=_T%2(RiCN?E&?+M7oTtU1kxAbCXjWObm-Z$$6EHCj8(Z*7%R)YXR z7V~g7+qJb^VruX$lG>>NK^P+IbAku>e$7CeqAmbaIj%G4a?H-kA%2h>!;3ehAgx=* zTpg*vvO#AHnyq}R6qxgMuewz;B>$JKWuB@8(svQ1S7+5D<UU1B2Fv3UER<uR&Z)A4 z4LU;$L8BuLa!3Oh4H#zwCvk2z3_?J5(7@{^EQQ@5b5cb#%aoZdT3J|<T`U)WZ>#vM zh43{ou`?mNe$xJ=OD8@!1?UDeq)%5&_<U6N3SdyFA?U=LkGe>>qFQp@$$e-oHu&Ry z6tD9r;*p7%HF{yX4K>Gho%~Mk;%uLfzboZdHS*!IQSdjwIV=>6I^3*{GTAN+=e+-7 zpX7JjH!W@TeFT&%c7HGeRGm<jpAK}63bYnia4=G~?s;Oj<-2DTTI&myw3A0Jy1k5E zp|iRDPQTcr%b~n-gT-PVq>5zuCRIq`%<R{hnd^4ey0%@gWhY=+U3GrM3ZdV>wTYJ5 zD4+N7{$QmVjvnK!^yd`&q@p{^bJ_ZMUD@58rvuVyPmdNB#0Ruam*2bKgVk}H*JA|L zeJE50vVw+N_@#YiIA9ZTf^CT|-0zlVU~g})k$lbTFzf2X7>Eq6rwaTWk0}nRStm5N z?bZK%sMajd(lt_}FRN#a5o0E*fbl=jyy4|#Sb2WBepDwLfCBz5KH%@taD>aOIzeZR zeTVhxJ`Dqmz5@%a@76iIIcz`iqeszD!_K!wkGG8(<2MB<aols0XDZngzkCa7{Bo&u z7lU!L<*~zX*mgh0eBH+M8=-wI8=ba9R@==qxj>hgX#-2Z1x7P~D;)g~I&t%Wf34nK zxeg>?91@~WqDxTb7BdaW@AC0Av+W%}(n0QR3+#N2csFvoc*+a%gy*((9{#v+D(jSd zm5@TpqZP(j%q#06;SA=@fOlo;73=cJ$+c1%VRh8l3{aD&v(#FkZOXaA_4Bu^5e~{% zAfTbvENCR=h(^;(daZ8Oab>D;7LGF%@#q=)1rVg7Z{fez62udhC6<K8*jMK3G#K3b z4LX~Ym0F!ri!P3ss^YZLF-D`7-zog7E+{ulv8lco=vVD5>%Yb6FX^7`db-Tajs;Y> z*b&^6@8Gw5mDimgE5ZWkH0tt}z%o16MCA!-{n7GD`6~u*t%*6R-Rw?>7S|@xU^;-S zU38eaX?7M9pUSug#}n0!u{YXHNxf!ut5k1z8VnQr2JXBab_^?Nog#p$0<Lgq?Ocgl zC317_mj1)<?K(xzZC-9UCAA1k$)f{|X>EeLIk74~-(%&pGjWxPHCzpW_7i@iDUU?V zo+zI;;L+f!A2NnB3e(2M9ycX76wqLzzjc<eJJ>?^?*QTkG_L{02IXa&K8uA<3{1|< zY~_H|63iV3K;#@A9!mZ$&U&13<>3rP&)({jE-QHvq<{Pg>4s-&47OQ?oqlMH{HRRj zRWe=k38n8)GW=mZO_Z$F&#S&N%60B22WHcH4-|d;O5jdH7aFIA7(t?U<FUGeFh={g z244pfaQPdGwC5q;NtnFqt>fzbUDTh<o+*gOO@CKq_&;>$gs<9@93=nyc%6zc7%-b_ z%hIrGNKZP_|KBm)FC9bJ2=jHA6{D4nB<WY5Scq9TSfa%4Kya^jVkJVjmPNG+abkDc zUHxD@S1==Wib$ouLpZDU9fCYY7_PH-Yn9H6V!X<2mO1i|p;wCROst9eTg(=h?t?v# zjAOI2j98)%)z4@$5r7ee2N*ZrKl{b8zZr-TF}UgL>u){L$8Je?-wEln@SJBbP*o?b zI`9cDC&{3X0!1T#$;bgKHSw{6=!dJHqA@9Dauc8mh6*JkXzHyPI>IK@Yuq#bVxuH> z8+k4f6z!?&fF<a~V%2}7XAErVuQH0>M(mIk8s?;&lgs8xgfCT0tmfv?(H#Av6OMm@ z`qDm&ChHpSe7C)z<$c&cXK!yeuOg7EFm-evcSJU3R}@587-Ie7bV>rJc{|&ejw1Hm zL!~N7k`I;BH=s2HXU;%l&~IX=;m7^DmTi!mi$#N1%|YoUgOZ})*+qY@9XW}UNi!M6 z2hH#$dq5YdS<Z*7dB#jxA?VBICjBDZ&<wz-Uh|9<eQGv|l;j5vND_WPUtoD~r@+M} z;e%&*$jyc?dXfMOi@81$cs4@@vQ+cUZsJy?@x~^u@pDR(?MFkOdOo`dj&@s7%htJU zg7nwlAtChW6z@dUi|9>7!Dp=9;U8}=w+~Rv6@n-V?O-m8W9WZr>hjZ#z7C6mdef6D zYRWbBX^%iiW%0;h4HDZ9fwv4*udwcl6ReZWHN#iPC&XZei*|%&$=11=coEGaDH$%+ zoS<9WX2AbAcefb<9F_k?M9ik{$LkeJ2L#F)ky1qQHjWtmLcU7}UtzZT>NQ(~uyDFH zE@Fw!9}EqP;YAEQJFdh`*2qIMTY=KTa{SqxSR+wlMWC0MWO2Y$L$kjD?Be1e9C$h| zfVc4Bg&;9lU=@^0$!w|8x}25+38^d%V{t!51*Ra`bD&f!pxfB?BsJtdX4O|46>;nH z!M4v#5^#Uow_jHDGI4?!38_>CYH&uysO+JDqdY#>=IJ<pUnA*(Z0DuxT0i9e&HRzm zncT6_#McaSXRIyP!5Jg|kK0Wa5oL%$m8NyX3&;f%^5v#jixGe-EnvX;@M99o{m+2u zAzBUI9R*Mz<3=VcXQTNQ2AgX7gqZd5hLmaek{<e;4+Kxc`H<X|l4XvY5j|xQ<KOxA zewaFSTqIm0&;k=(F3){Q128X4fZ|I9i7_({WzyM!utaW5|CW+{xs!>CN<e+t-ml7+ zr+1F|HTLEA<#U3GpXpz&K;A@)boqt1%6;o7`1L^@RYDhIlE_A~Ea75*!E#s>jfBOW zdPHN2p30Jvk~5>fP$!6(m|5aoIK#rMh2G?y`}(-;7{xW=R>&4|;M?Y@|FoCBaJ^_w z9HZbBQT0@SJ@pU(CceXhnhSUfH&@o0gMdP^JG8q<DT6NF$$w$@JNQ5#CkUg1b&>*~ z)Me{aT?Zo%)oaM_B{GKNdl{ZviHf3&tM9U~uwx~9GNV{n$YseHha@6)zap^9cYIe8 zfI|(21lSV~5a>d4o-T@^?7nM6hLU6$PLYO{q~;nvA4#wkUkItzZV<8;TFf6Dfn?F^ z*;;xFu9$ik$xBa6f~Tr;kp%<=Hw#mZ|5fGY8l(+`$^#EqtWYv?r8%j~d1PbUUZW#M zv5MR9s^5yg%>0ccGF1MZjs~3@J$HeE*A^8$Nv463M>$sg1*f71GaX_jV(3)*6#W5c zNDb|tHR#Tl1wK(y-`Mz{R)`L|^hw(D%bbwYG-Pxg3nAG5S1Nr+FjXPtJFV}2y3}Y@ zf|=@ijo9oyrnFPt_Q5C-7M08TqbP|K5zh;lN(%zC3<zkZmWYug*xX3M=M=7G#hH3* zKt6mX<tFq3vM?jvT%_p>1dW<z#a^?%Y(}bB&AsZj>FH^8Bg235ziPLm75gmc{w%f! zaf|j2eMgvuvi)<h0(6L2Zjzakvd&+SU&7A%)%4CE5FMwF(1F~fz;CvA6o-Go0*88n z9Yw~GhF1)FQ3kOSxg3Uq*sI;+eN~2$gm0joog!Pz$mPRK8~~HUW*TPvwT@y=WlDVf z_kr0|d}3oN=?bhw@0+riGU20E9?tS51EbBr*oc);N85+1xc_Ibal@g80pRvyujzM} zAwYj(11;7M^|TEq(C(9yH~WmYx#TehU?V4OZu-WB3f)*WeUjwb3H9NR*zIec(eoK@ z#%76{`)Cl2BOTQQ=EG!xAGVN7Jf;?Z>zY6)%A1Eu_@R9^?tUbf+(AVYGnH8dhDn@r z=n#g=(eQWM$?jdUhQz~{k?T0+6IHDoCnD2H_;tdUdW)AvnQQ;L%GE8AXJ(Fl#ypBm zohCwfDN7{_QW3c|j~V%G4LIc)KrGHpZT`)}_4*gVD514Nr9Bh2GM7qZ!1b>A<+*P= zlY&5>)ij&uv9%EuM*8obC}M3AA4n=@n_w;!7bw+3C<pTm3Yg>q8`BFI<p5!01Qe4{ zkL&zTpci%)n4$dVBg`98xlKq<%kikv4Wc(Ny?RCNavifL5aB(RVa}dCMo}n?w_Y3g zap;*70rEu*6M08#fSR{hf=U5coL=x|^%~yl_nl|nre&;g)1C~adovI|)0}G0rq;BJ z<N^)zw2SYlT9Z7c^;Xy6IxWl`bGaEH#%Pj3Sfgn9<R#M0$nC9WC`~jCSRLKV9llvd zM@M6VHxy!wQ*_%*-fCm!;R!@*VML+)r*HKY1~<Zb6)dFd72hp+YdGwuE%5PB3-<jH z`gZO9PvGPgIGE1#Tzd{Uxxc{T;O&iLJm_!+-+cic{(3XWk<Rs`K+xh-!i2NRcB;ut ziqytHXw*h<sn2NGqTbTSd8Nzwoi7KkNlz8Dm|ucAaaLPbGm3JlP|V?h{FYph<|GAy z=ywy_!-EkGVJfPU(5lC6e%jM(^3E-#K1FTVfC6OWd!t87o;S3zG2?_zrXIAQuV^H& zy}ubxO*|0@tZY>dy1Z;W*A*CuuuLDr#wSV*pR@o&9Q97fLBznUnT2BNBsn{KGhdyn z6ixh>q&*+0fMrO-%fqZ;`?FJIg#yL>Bk7d3xjTXRjCw8K#KxFcqawfIo&F?**|2=E z8ysj5YW1pJH_6w3cN#%ad7=xO-_+;E1P?zrw*dpN>;k0Br^l8`h3QZC!B-x)7e4{- zSUf@JJYi^LMtN_VCo!9pB1w57xXquxCJ+(b$)0KTPoYg7Ap6mz-)X??(BMN!Kzn0O z2)XY{&Qw1<TS>9E;79$U(H{X)#dpFLv~v$F-KB+yUDXXnA}yvRQ@&($^cfPgy+pDy z3DAW5USDAwL(GsMEM#M^HDt<^NE(2AmjY){0yz}|Z{c{|Zl-SEVqo1Xb&p@H#$1A0 zvUqZZS#U692K?S%R6=}*DyQ;1o?HC$G_8d@4&-aE*v4Bu_YA8TU${T@{{69%{_Tuv zl@$ui4#IRc^MFCDxNJZV`WOq5Ld}3Sb`16DA=2bXz2finkAuuD7%2zXz4Hd^#T7O6 znj-aXEruE^G`;h_MLd^&88gcTma;E4`9hE!P=z^3UrKd5f~vZnT7kJ6Mv~}xgBL)O zf#J2o6hp@Ok+GXG?8!Fq7GnNE=_kYMmPJ69$QY>Q45_h92vn3-Ca)N`D)MSh$r*;w zapLg}xy*enw-;dCC3+N|__bJ|NBAUdY7G61Il2T)|Fm~)69K(%M??^PU=vm$dJw?6 z5v>aNBCTLG#TS2i{eN&Lj#2%C#V_7!(M<+&#>LjNCrHz)rA<&VlV+s#Hgsm(-J924 z0nSwrFyY|$EhQaqRH8c;IOqU7f&qLcxL#ye-NbPHU?2ULS?TAScUL2!pDAR|x8)-W z0|zHRb;u2tmTpQ$r4EEnW8jW|2%SSqD3A2$M5<x-HuOzo`)dwwT!5Qp3buaN0SX)e znm}m~%7rY`{U=*TTl+;(`v=Y+7#&eWbAd(<B$RqzHT5?{ro9;GOJZa;Bd?@gj1)51 z*kT}T3g_{k20uw2g>iR3sF^e!j5j3y1(MhuprHTbj%5IkUeW)228Ni<RvM+#3y{`{ zgL<*Q{Tu;Ox`^-hU4jcaL-PKcHrEV;4J3h~qp1lr=i0?6a|~PYiGqMf8*{NE!RAql zkHCVt!Hte9*?;Q1fywF{pfbZ$D#Z0bz}1EJ*l?j+<55JXu#O{JD$ur|CJ%6n2^5z| zSB^KtD|1#U13KNfz|K*Ir{dY$`=eoJO(2%!Q7y*EDY|;lzLYpGYcg5{5NUEG={BE$ z@oiHN!#a1(jC}4A#IXGyPZ-jB^@PHURoF617T%PhF$XEB!A3$61Ak#X#J8GE-s;wD z4kU2Uto=fE@Z@gl^TR^t(gZ)R$6rU+XZwO$2@)NS_&*vt5G{rLs|^7zpvUcFyv%{r zh9&pWh2=UFa`|;nx4?`?VPLSJwnVv<s6pPsAW@ThO1@ryfrn(gH)<W1lr$Cg^nsZF zFKzxyESQ|7O098Bhg02!zCsBa?2O1(kG1f7r9NZ;;vSaWA#v7jjZ?(4^t^HMBOv-m zGQ;oD;z=PgKo<kA7<~Fw?;pggLhTJ0;#+_Rk)9a(5=TzS^!jM2L^$5^R>D*tDf$~` zvKu**wf!fbq;_BQ2EiX6JE$wBmh-0@E?tZzL+pOo$A!`t!ZJkB<7#U-CJZqW+cPF> z4`w$oR(2K{4PM@F`{+ARO#YnWG+<+`Y8BI8?$oByB7mI>%tw0Eb=o;;Vm|!it6lFg zv2q%(&~9PYhFGfo`ticceUMOo|1Pm`cZxv0C07e6#>L)_bjoUB4Ow|$f2oW1^c0o& zcrW#-La@MfaB$-Jjv^vDW?KlmnvSA@9KB%uJH|x4LvoU>la8Hm$z3xgFX>&TYFVC9 zR_*b&O6hbN?rhMc;{xz5#Dg~70MG_tM)C4YR#`I_LWWA<{ROCeo>ocjzFAYj+bR*~ znRR^n#bK2?gW(^`Z}_AJ&83x+%V!aGhxP>Y^tCw%l;eN9V<uEYB<&9$K?T>}-frcE zob4Y;wun69Y}*<(C@Mdxq$;f6P5+~-m$l#Pf2vQ|<I;1vm0{NEnmzK73u{PaKF$E8 z*c>YiwkBG@kS*nZF%K3rtB25H1QlKKBz`f-py)D+g5;|&jdSp@688U7;OjrR@~>S0 zK`l*EO7g}R!HW8^$lK+K(|nx<r9@5or@iCd=JQWs57>-zl=Uy{<L7OxMa&wwD~&kZ zMQ;o3?oZ9Q=J=AXQ+w8sSM{BnU#!q#lL6dfwVr_fG7o`Bl#+MAIntcZ2hS&QuV=N* z+~&k(SR{4#ldx>@G~WRIa7C^0q#xfti5w1l4t=KF&ahkOi-ftyV``;mf6H0K+q8g9 zS615}$-P9`>=*)zBcQJ>VOn}8=FBJtqsFZHMoYDaojJCSUkh{kN43>S;<p+YVP~FQ z8YIdF%)KNhx^u<F69-sRrsne#)doU^mt{ti)WsFXED9z|?1BO9@~zo{>~o0;!}^U` zjS%I|-6i#!>dolYqv|@nxPReFS!9n8D+HYa@ky>j@2|F_3s*T$T(?z}kyaL~`fI5v zxnw8>i~uRfCK{DlML`VHAnRGXr?hL<UNmAHGjOk0nSN)e@}r|&!ohHn`nbd~f#uO^ zc}CRbLiZLerd*wnYECD0B>A=ov*})KR^0b}RmLR)Pj;<DB=-;Q9B;nppr`?bLg!(5 z_3MZIiLzhQE}hoL3ep-KY;7BcdVZ(;>hr4a@Tlm0V+~XO1Q&gqF(LgCaLA?CWtVsG zd^=ft_|#`!-Zr|~v%S0&_KKt9fn0rgBI!Un{a)|MXUeCIO;_I!#y?R}1?|*1I}!L6 z{@J$ozp;l=U@**YSqy))3qFd$JPW(B>%pm}mVEp8W%(n02KB!!N#_ho4Yktq@QFnM zma+{`0quTof!`dJe9yQ0_g-bI?+B$Qcq+uzuf=c2^G2Ei(u$7{!kT=Xqmp=L3O({G z`C!Qv7%)0ieyk*Jxms_zvdR`Y{gr@H%$KY)bVz-u2V6W2e+`j}zSsU>>o{vSSN~G6 za$EDtZXx493wBZMdN|u`Q=-YKm+L;hGt~MKsW#15+BTm%YccP<)q_&Bd*nkFVB^6V zYPTeGZmxiWB0-WG8xwkT<S^=}{F6GhOJ6?-zwU$T4C#hT-7*pRapH{HJY;YqBr3I& zn68CWTE95w9Hxy`*1IgF*y&;#`>@m9$sgW4+~P_|`PJ%EgZeOv4%zf_0e<cQb8l<x z<!AhkG$!gOWWV*Xl!IJ7-;SAp4Hj!b&#d?Ky|5O|Iib4COx^CO=78k#u3IDlBAbS* zR&QVaD*Y*z_((3#90qf|wfB9E%?`JMBNGRHX;{(1BWv&Ok}W#TfO55p>UBRt(tfA$ z5zIxnvv<~0aQao@_?Y}~YiT(Xa>2k|Y7)=ax!Cz(Zn)lmq{<uD&{3a`dA5F}#9_1d zT~x2J;X=}ZJY;QIbXwB#LFjy{2Xf|Pr`}obm@2dvl3g%2fWPn5CP(*u(zQIP#AbID zf;I2a_=@pC#{`T~mI~W@b}Qj-x7TtB(Btqm!L4c5<TPQk6}=NV6d$LK6i9`Y4F`{G zoVE)V=tv8$Ig=e~l^S<iF$k`p=453sI(76%zq1tYwuMerof+q(ty5z=A#(UF^W-j} z8Q2_rxdL;iCPxgf>6M#AU6k?bS4QBG?PjMZ0Pl;LM-`PGWqpg2Vp)3Sia$Q17P&7w zQYmUXBX~yhXf8Tkp|tNFQ5k{X;H_SAl+?SO=B*e~VA&VG8T06CzA$D=II8_EywYfb zgR$e<uVl7GEyjXTkth2+jut11zHU9sW!-n<R`4h#Z|Po`Syu7g{@k0!1feMyd+eoz zhsbSvWtp3Km{e1rd!6VkI-k!$l-LtM9?vXC(~vlvc2ol<8D6H1iWD?<|IqZ+OVQRE zfC-pbD!DhXah4@{4C88RkjZ}vs@v8By|@olYq)yBQ$O&8{I;d*I_}}5+n9K|mtk@) zLGqZp%+Li;Au0oh%QaHhob2OGs{8r^;$xqLKMr!&Ey<JI=y_E7IRJ>kTks?H)x|&- z3Eic#@{mw}pavmRSyg;Yl)HW2Ww8}!N+-?P-}0F{&8m_bmDV%R++D{@^Y(?uR-Iq1 zUmWec6u-B2+g0;E`c6^T+~+KmqQ05%4eb9U++u95k!nU8Ck!7@n{(L!5v}6=ydeD> zHlelSRGP@cBp~~)v!bdpxiB3&e}H+W6XVc&Jm}XJmY)8G8CUl(-D3js{Jxv(zJ#8U z9{V%kXzykynmNl0HWK<W2scN`G3&Vx*MCAx@Xs<W8w+ys)=Jjg3zAS^h_4zBrX#hP zEjf?xTv%epvbu9rVCqT94jO)`?=@l#<Cm9C$6S<mt<?9iR5+Y#<kh(M-nTIAqcC#Z zWtLYYJ10t-hc0`~bdNkvJkKjDeI29Hmc6h3`D_qBV$GVeHhVo7#4%>;+VW6qeMU+A z`nA*E{{B+u=}jRd2??r-0=V(t(@M;Ff%nsD6I1v|Erz$>9#-ZmA{A^lGynvp&hE!J z{y=N4P1<txLU26A^6&rsTL7h#t(YU4kv$<xWqO9{1@~E1;@W<5klSK=0}Gbuj7R2S zEQ-m;sQTG~855XWUAd<kMvxuXb3}|rk*lme#BD^jh|#qrCu?@VwrRwGL1sgg`@=5< zr1pS!78NEnQuFTA+6su--f`ULHe;zOE()EvD|ae)(v!0;@tFMk%?IQYUH(-Ujthq@ z%{5r89{c|)rqK-w9WGsz2=l@f{*b3V4;Pq}XkL%$GzrXSmfnngJGg_bbGeKK3O^aX zQ@2;i4i5?hqWNKxFp16-bhm5T4ar>ir++LRs@yMHSE9$^Xp{J^Ubavh@+p}1v0zq7 z->yxo&UDvEi|5SmUZN%Nc{z#2@?OtT-9;=WiVCLuiSJW9eyrMeR8*FPsL8D-2G>TS z5?R~F^(T=Qo$z^#JwMLIAuxm+Ccdy+EcaO2OY+`)BHKe&^!!dfrQ2BYE)cyrky!CU z^j)9Q^IzWLA2!w*Y>U;#L@S5MC3*2fEVqA*Lwp4{lb=1i%6(|{q-!qO^!PQ{)3w-p zyW)SLr`L~77BpD5FbLe6F9>4|J{7wKsJEg&6uH+9We@St!o5AJ96<ZrPHitj33rY? zMX{*H5YF+Jj~rPPzPmVRB(_&o7%gjSSFFXeU)c1-hyQB7U>I8N=5Vx1kacsOs=?o8 z)#KEbaCC~YOHg~k=j^C$Flth2`}o&Mf|Sdvojq@xY*zjnCb+RKJpOA%Pw?+-bINf` z4bH9dY=E~h61|T5RkfeEux7_64O=1iLVW8zJI2H5sD^DxS{>Q&-e`}jfz>O2E|*+| ze`bm5<*w(Yg!OWd1HI}E1xk^FJcoVt4XdXn2C{<6`?hWVzZN#SCr1aTs$W2M4+AdN z3LLkM=N@_;6&B`f3*DDs>f_6F^n@1%<I2@@*u4{fe3+S=x~A|ws@He#e|sJ0Di*(Y z8w1t+UHyUCut0ww@R;dCF~Ia*P+UvsmS^^r%4>cU5I<nH4lwgEveE(XxCk}!u)05u z=_#?hJO+ol=$BMN^ZDMQ4!=l=Uexe-wxo36j7)+-$iuEBA|+u7h#4<9n3o&L4Pbl} zHHt%O!VoUi^lQC$UEjtsx;T`2vZ9Fbv^nn~R-?ZwZweMyCh4)P=Z{alc=gx71f10- zMAlf=kMgb9`~Q%wuNereKX3dMO0EE2KF(Kx%zh&067V^AXqEFWsn2eOq!>4<)$Q)a z@nPgnpgNF~bLouFFtPi5UGvYvrF75vVP@lJcqQ^=cQ!cDSUkV3Q4~R?+_w3`S~tIB zP~#?~?y`y@Tz0cJuub;Pcq#r>y7B|=#Pw?<4HgvA*{@XfxE4~YasW8e3g4hYlaQNt zI;1W1mIQ2U0M3vyfUI?i+o0mjBQ_vys+z~AGswcCftggU=&Z1r`HGS2zS-Y{Q^B&b zDcVtd=zOX91w`<VjD;pry^H_I!PB{raDKQY5*<1s7QeH%dA013XtRkxUmuqMg&;Yr z>f8j?B`cvqL6J~Ji##D6y-c6^^Jq@|A(l|3FvB_4LbR>Q06^grj#54Q<#jp~2u(aH zrEGZ47g2rKW0@*CU#F`W6biE$2%#oniZ%`#LEJOazbOjl*8BW%v$Fab7XE1+i+=j2 z<(jwQyV{@uYMlOBK)<Fy`Tf?=zJ6^ceKuj@;z_5uUqUAujAlQaC`H9(6C2Q530;=c z3sNnVCs1E1vbTyov=nS@#+ek?OfQh|P3G1W82=(+aBiJiiFi5i`$wjhS{7N@Hydx2 z3!$<wf4!ioGUVH7)vkvfRib^GEEJBA6&+5S<kDVy>qBdCbw4{pkLL@W+V#E+I$jq$ z&I!YpU#&SuSUrX5-Ws7>^-gaq$lF^CROu+hsaMzvY3;vhIjzjT2uW^1OX@MZ;!E&z zE^4dl$W0V%y+KmC&gAzJnf*#e<%$Lt0(vfIuaka-%9`4-E#^!u#MM~{Y#es69maWT z&WsdXC|^x&T=AGTsW*PHE6qS=U%z|U=+G?{96l9VSP7;xKxY9W&_<o&Xg5V8Rg*FN zfPOX{V$sK+{m#JSo-glktoX79VV9AFs)Ls+$@useS>JY^88TbGzJ+aK65mwe+m|v1 zatm8ylbo<+*=z{ET)J@EaMxT3@gmCtsl}SNB}6UFxK`r}IUBo2$qQ|F1tQ2XYa89$ zqkx+wyR;iVS7^1#JFZkS75LjOxk;kFBV<lc=f~fC<r#(d%YP>r_&AT^dgr5(lzkjH zhwER@hivvgaT6*wlzZY?zoHZ{_NJXTz;1v+nC%jM&hOkzVudty7<FcO=QG`x)Ui@O z!P~s?zw2pjb1+rzrpJO_m}b@bx+NhnhkEp1Fvmx_l#Jzh(%(6j{#uRX`Otqd!oh#C z;mS3WsCPzWpy)9wsUnw!d0Td*o8&iKp!w3@ULQ+WDp47msgN$^k}>o)J>K0=8U6+^ zN>VL&@B_LDRe28P%#QhyZK_*;csh|>TEIVH9@oB{^A}A)J+<#VtrLQ0-E|F0Gb%6y z(q1Kfl8n{77CQ58Y#LT!smt?Zb`Y*%z8zU!Qg2}U?%HCLNbrrl*N_~!uB-0X!gY*H z7?Qx~E<u*(g;!v#(DX_f`q6|z98FhQaq^6&d}w8cW&wJ7QL9ISMK7tBd+IAI4?(_# zZVsad_kHD(sdBI0^lYJIv0;f5b5qMv%kxk%-74bF?qY0Uq8T`TYO*$J>_1V)l7Ma4 z=~rl|HCw<J6@jNT4BLzP4GM35+Sd6MGLa)wZOY8>Cu=HvZ`c4;xQV{z%O2zPuH8LP ze~bOSt&7#Ey0?md-IQ+Aw-=d>dRdq&Y;E7%g`%yT>TO-rv&o5*7<qcHG0BZn`!#}m zyl#J9_yb-Ljh28)|2%6bds>gZsqTwwGPjQG_^e73q{<oBWd@6q7b17e64v&~Qf#&q z8JyssUc)EILZM>ap@5NwF64pHB=$3Z%|Kkuj<qVzASH*6NM~AJabH9SORjS7V_pP3 zr<c2p#L@m@&Wv>h(Ln83%hG`d|3_g+tF~gRLF|amT~pS=#_XlPi=IYVc~xcn3#G`n z_jAuldze-%yIJ~OsWM>}gR4OYWaJ|Y*nMvMI$uUPnWG@`B;w)7EgF))xR&{LQ2S1L zj?7=Q)fP=Xo!JFw$b0MQTU-_7l9?MrnF)QeXTwaWR&@aTv#asd=2-*q^1HJ2?ty(p zRn(sR8llzQ;q!69bgdduY!-ypIhc_#aGk0yXWf8--5}gG9JA$qVmWJqFMiqZE&6FW z=8+^lxlb|QuiaN2f{VWhOZ<()M>=v%8Z0bobIT3?Uwd!)7S;EK56d_Rh#(Ro-5p9d z49(E3G}7H&GKwG|-6`EA-C!UL-HjlEbV!55v*+`B;y-v^eSP8Oh0K|A_StK#d#%0J zeQ)PmBKhpDJckN7v+fJzNT2S8rf}Rr8hy$F3+sA%nHc_P(7rE?;|kYnbqo|5yyeKO zVHakfguCJ{Va4<i7-EO)edC)kCBKJ81yJQ>&J$*-L+DqJFZL5;7ZQTDI;!sqTAZNP zlx*?gwDQ@LKa;8tmKglUQ!{w~vDV$QRc2!KC1Ng2KXp30mcO%qJ(`1CUiX~;?qT9~ z&4f)lRkYxIpe@N}`)qtKJfC>s4|9@SzOc44;|1f&Ssu|M1)cH?j<@D+)c=R+V35}> zD}0+#zYZz{;XgHW6Hc=W%-_)keh+=Vg|pn}VR*HQHOF5He{|)yuDAC-yx4WZ=R#>< z{GHl%P2=S85Jl&C-10)$>AEewyP%tMkQDU-Wd6=?mrA!$t^e=F6U+fm^X%>87Z3!f z{XMj()7T8a{(dUgHYzaSbZ$VwwiaJ@Rq+5`ckX&tZRuHu@GufSacIL8^LKQ3<+bUj zlO^0<^>X9XCoVKV|9&CXO|1uRBSiDZ{RIzsijRdm%!LBvN@_^ZUPnWS`OT9qWJoay z+Yk)7b(5uT)5M0uS~&CkrdAo;qO2?j>Noz#Y&3K;laSjsa~bm{Ozmy`LYouiWflny zv(Vn4wluFps5inYPuU9_wRf)zM=jkzPwc0#WfUs_=pwWMp&d2jIg$dS*KB?xoSd^# z@q_WQGFg^8>;0}*9ol$((bWDF?~+=~$-szTt3~+(1%7(Yg^W{by&MZ9;bPJ6nojyA z_rzKwljs;Qg@nhvwi7B5!h#O@iA}h_lzpyC{sc^YDtf%qr*V4voxQXqepzpkhKN+b zhorHch?>YYn3qF>YB!FGV)2uP)B}Mt{?b5Ara6P0H7|(#=LboavhOeTUCakNQS+Rz zTw{UgN|qREbwL1U-%lh@(uYCb`+X@N%dU-K*JB)@wagw?s?8?eL6S^;@#>nC)#~y# z{e)Y6Y!#U1k+IbOdIzRrTcfK@=$bV7MKdXdOO|Dcape*-L^DUdnk?5rnU#VREXgP@ zAJM5M?75HZmF4*&dYx>&_u5-<xK+|9PNLwW!xc&Akh+9xBzh`=yO&}@zTN+C9yXo9 zTiBt99L{-UFy=L(V@F?h+yW~3sL?q*<}8H|%XBLez@YCMuoxbG2sS!-$got76KPN( zz3=2;RH8BD@h5F1+D-&Jo{{(70`KB;ljSCZ)*o^)esV!U_2|}2mGa2-t;l+(!mA|m zuh!C+|6SV``n6u+QWPrs5w-#X3uMNEaP~O_jN<~DmDQBhW>)$4Ma@CWUuA3S3wYBu zyQjW*Y^3FS$#PfF%y_px?ms^}K<b~hEBD*6eC2rM)}|*mP~S8N;rvS9l)f7SdyPHI z_YQQ`zGVPCjVLA+ar}~s3ib~$q|>olRe8$5PKGEpCA-b$R8qwLs0EIMQ1gg<CBIhU zT3#Lh$*|wM#S^HIEdCVvujI)u(WpI*Iml!>^9Y<uV<rQ%RWlzsex;D3&gnPB(BtN~ zKwCN%Y};?y)u%k77<VG*dKrI4>nJ?AmH*VgoOwE*w@OS=_ouP|c4R~ZIm^UtT?x8k z8s&!@a9%<PdG9uaDQm6)2VJ@~adfB-Jp_!#@Wf%LplK@|PFB7{U*w*!=ujuwn=^cK zX}1xy`~a>izjKqOFzwwqxizzRR$u)A*ML_ZH6RBVVBWh72^!yAP(a=@gI*?@Mpn=M za2Ob5R~=3mO3>a`xg{Ffn`g^&_cF}xlX}l}(^^-o6;vd>f8EXy_R}`PMZlm|9xh#| zS=o%P)G|9b`?faiPRJ~`GU=ON-?NL9$fqmhm=>Jsm@^*-?MJdPp<3W1Ep<<>G>}@| z#N^<eriC#y<7J)x24j|v&hJ(M<kyf?%7ffo;}-wB{Xy)cd@%x2-H#&s5C*m~bWRPN zc*VN*&5EpIe$u4V(<ry(B4-nA-DG82uCi|!-YUv{e{#`$ZEH;Ae!D^#?Vs_3jv2fY z`_RX57X1HrPM%pCkz;bw&u6gkUWG%mvguy}Cn?ftm1FE|Ai@0Tz~9T(%k}Qu@zoQ@ z==g<r{Uy5XXG3OTnrT%N9#-c00WM!?g&Nuw^U`5v`e6e4b9?n<<@W2Kb$yOooOW5L z=4JLoFw!p-?AvY=h-8=5g;K&ebu1Y$w?#qsWC)>+jSZ$l<?e$w2rJY1S6UnJqP8j- z<^9<%`3Fo(A%-o#>+x*AzJnoK6BSP+o(@`=m$QWTwei8ODjVNxmZRy3as@i5XSjU- z*(ac_i>$RQU&{!??Tg`?pw_#n9it^DKn#KkFLx6PLNdhmj7T2qFn~rUC+ORNu{w4~ zYg^&NKdU9>#zg-2KewnzknJWAU;T5tfAB@mVRT6*Kv<}^ckdUiU0PJGcOmJstcgi> zs%dH@H@<#t)a6z9?%!swga(@j-!eRg=YIUrjr@grP<e>tt;>-7M?!Q&Cg@dKPs~Ul ziigEM_e)}603#_(L@m$qECp7vZbtTJ3$AO9VL9p3p+zb-2Ok#*F|AAyU~voAP8(|~ z41X?+b4Cf@v1FTx%uS@zJ!z3Uw>NiHs?G@cO|zm%-8b{-C6To?6atRx30HpPZ(b6C z*~9^7G;YzhrSa#Jul3nZ<%EmejkuR~1-1OlZxay4TUpOWPG0!VjX(<Fm2Ic&EjX?Y zn?|L*dI!5c#WvJ!MR|(;@tSJFuf>%3A31yazBe3ejjdnz_4RbsghmrFk3B91yje?~ zOXU8hl#=%l72pXilTzLh*TU5AGmv>Tsqz$0ZS9h_eIB-`EALq9G;kg_7dO&A^Es_O zbkV$z_dK5RRjX6=2J_UW%2eqTpJuM)t5!z~&pIf@#teU-En2p`cl+6IZ%n94PD2Bq zjcidnCUp+*{OynM`qZgQh&$c(Dg{-DQ?v9COyBzL3oOD*1hy6n5W(~=g6&051C+N% z+g?RT&*Ltie>gaW_1J0ragEVzVGOg0O5P$b^Y~VfHa=&(SE%9Z?4F@*ukQ+Mzpomm zUQK+d^LrO_%>>xwog)kj!iqOZSty+K&rQ?P_lG?bLvQqEmQM_$^o6CfH?_gY=Ui{n z(AmXL7J-J7W>%Y7O?n54yjNu(ZDLG95t-<Ug;$?WlN#JUKTv9faiC^L)Tm2lBCo?; zt)SO5pmQz8D~Aw`utp6t(qmR9mY<BVQG4R808vUSYa@fJkH*a2oCN=$ZNba=IY_t< zZ7#__?oauA23|WFtW9@5%?!NnmTYMEw@)qk$|tg`21pGG@>~1Ajk_{~!O5379UWpz zMn2-;#1{rmd@-V6Pu{ZNMaf0J<<F$e6T@a>E9?16kNuQ;o|iFoyzS6B?22dqZ{KD+ z<$=Yw{UQ$>+NLi~pVR%s<ZTV#HQ(1tsPcciixbpxMr~XePLW6X`0+`zkRUk(oukGA z8UMD5DoHv=9YxI4U|IT775dieZ=~Hw?@@$e1Cm|2Hi&=>XIg+FfjA7q-7K>*LD}|& zS=zzkIl54`+8H@$IY<c$wV1TLtaw=}#n!B`QQ&A}_cy0%&JHI!5`-h@p1#IxrQ{x- zf)RK%o^09S-CPi*6i%@}ToMwdw#A@jSAq6h%X3`;?9X0m%8KVcHJWd!mN@zEnD%MK zu6F-Mc)p(H9@5-cx9Tvewxhlp|6Y>Vyo*&^<TQ4v`jWRn(OfSrrDyFG2p@SMKt-sF z;-Gy30sOK;l3BF|^)%(-$%+X-d9BHrZ4W|DH61dZozXXVi5o0vzU%eij9tj}MviL4 z{63v7ls*WW4pjKjkm=;tQDMQq=2lsS^zgNBv)XcZ=dHF!{skO9uu*YsZ259^C8#Q} zTn{t4Y(#fEgo1+N_;%R2t7hT%k8$o&kGX$bg#!B`a_^QhEF8_zWX$HjihCQxQ7~hF z?oCYIyUYcckAJuICDKkWA8lOrbjVGyvM>}iTWN^$I+_{oG%Hyk{qasFX9<A-GPy_E zm1G`{S(;fI=I3W=4*VYn`~-28p%Ut~SJvAu1zECiy$^{eC1ME#M|IgwBwj)<Z5!K_ z>gE4#PoryU;HL$CcmwEP1|S?99GXT(Sy=+%>?v8_=<vLNH?Qe}lytG7*rAY9w=Iiv zp{Y}{dBTs_>KxBlCAcY4f;te7udM8`laia?V0-W`9x<*6>rVb*?GT-PKC&6WkWtRN z@Ss=x_<PJN5{`vmb4h$hRaPpFZ&r;^BrrbIcm+El7*p$bn1qSJ|Jp*{uI6xq1Ie0z zOSi{=nhU&#l|MNO{5YM@U-|Q3&Z#l%Hy25os)hce<y~tbd_~V^W<`;$!@3sw-wMLn z{Z76Yt^N8*NpfhKnuGJDd`7sdtwr{!c5UOh1KH7YK$ioGfJL0Wa@1|W>&%_5Z=!Rm z>+0&(+l=MGCdd5}r?=F<G@oI%%*lD~<u+po>^b$X^mN9p;)9MO0{-E|uWw^Y*&iq- z`~23)DnHrz6||?r>S|;*Fw&&YLuEYI2y;L)L;0L4*l4JY^~-npba?Dw2~i`^r@7tR zQ{{oL%FH7z1bPniJ2lO?ygMWb;`>%j>&yqTD&-yGX5IF5-S`|-e?N*MvlRU$&hq{5 z_FQp?Pt3MqA*GQC(y_pTp|WO1%CjSLY}BKD;t22;9KxuXXD}a^_0!-n3xe-@Yp=<g zXpd;HpZRl@n3kpH&lqYPXcWOG)|}yJrszCvBunfxyg$^LOxvcv!K7nTV`2Ms$zl4p z`Eg@yiylc+%p>G)VUyB=zQF4E1`~T;)|U<SaHG;8LsY|w0~YiTX&lErV7$S=CqNc` z2$!fJ#o2yk5)a+-G&hGn6GYm^gtYzAO@`8JX1tGRNM~L0OI&o)N{@3AOkRQ^`)8{+ zd@9ak$rY4a9KTv*+W#7Bjj(HxdB<>W4{y=2cmo)3a$YT)gW=@C#zNg+crI^J@Nk*z z!hsnfF6-6r7mPRRx-JeDk3B2R<DF>tJ;wiYO<d@AJf4S$AJTA}_+*i#0Up2}7WTu^ zzi!d5O+L(0%jDAo{(b)>2TbEiVZ-@RTDCH~TBCsI7#K6ULs0yXC648KDK7+_8kVDd zFG_*vhz&0hh8$BmH8rXvTqqzVHfX8(W+6TEwq3_2xCVBgLBKhf(e%rYk_Xw}($hGJ z7feMtyEYHv#6H8-=DW9-b8%lbH8Anq`;&*8c^~lt3%Y)VSHz!Ng;_wi@<*H|>-f+R z5S`?F{`|S5qhsm(RLN$fH?YgkP;sE2`+50~S5v~hrOH~$7{2Aq(S73)iZi8OI4a+t zGDguaGW01-jY}<x<<lLx<0KbFE>@OXY}CW54ZDU*s}kJF3?7=Q7fwaspxt4j#&>U7 z9x;GWUJqW@IHNfR2=jm}k|#QF)H-HX<!nXfj~G>BSI6r~Ia*S7bnlC-Qz)NJ&1@C? z(P|Ze(1(-l_UcmdA|<NnLGP|<&m=F^C??|EsqN<Z3Zo1qTDPRCO3?iCYx~tM7<`p~ z2>mthViA6cg$Bh1tOmk{?+%`Tu#QPA-9|&1o;|+ylaoJ+yUZg<xxDHd!Q{{%CeKZ? z@+gMFc`6ImG)MlcQG6lt%=Afik~Au>~)_X9;2d{Jv`{yjt0?s*5+6^>_0vY;SAG zYDii%t$hxW$3lIfcHHF?@P(iWRQS<5=O=yI)Of_w9cc$Ml!eWaE8Sj|$`44t;3V4B zpIfNtG%&ikbVY$_$y=oBIfmjfX1?&`LFuirujis)(qgD0kMyCP2lKM5r%G*OC(Y3K zp$C{oR>}c$bi%^Ii+6}&PZvsH2AQBTvL2F_K-dbygD~s}ZB7*2|4sU$rNvFYo^5@t zf5i%JKmFR<zRcbu_f<x2!lhM~!n?mAyJTbo*VLS6qJmtU5<3Ue#vIQ0jSD;Gh^k7D zh9d0hhlitz#09$%!Nm~CW=<dd*SMiDG~n=wO!GAh7qQt*I@?P?8}T`l>hZ^Sq|ACp zXab0M93BI}MAw(G<z{5+<>^_;9+BLlZ!>*uw(atQpJs{wg!A!2^BJon<z@mglbqO= zPAv>M9+0W0LAN2WGq31dLQpIN$N+}L|LsbZ;d)9^Cj!@q;u6ZjK>$Kf0kW{ulT`Eh z`{Sjhg-YDY2aW<0XGNc>H5r*^t|VTFl2*6yvXbqPC7>au7$%0^et=ViH7kX6_P8bf zb*ifMva24a>saFcrBNM!`gzJ$?%O$ULq9%6b{|L{)3Bkx(qn!1W(g23U`5~OXO&vw zLIE#T?7O;V5n1K1jJ?T>e`Z-Rt5)UHzFcJ6r1z(GOr;;Zv?JYZ+FC8+dR#k+V;_7n zKU+g4H}g-`PORePR?FYlYTPS&2=>4K9#Ulc6joIdj$PU~@Ia!Y8tSWg1)Lwq75R<} zeA@3j@wl=Ka`*0ZWxxxue_Q^rmIp$Ex5E1Dtz1z=%M;A6#bNx04jDfedlTs=a&^2G zbSmzI>Kf%p2ONpAO&uItYql9cUR5rcmti39UN?xq@O<{$%V>gm+2DMwKy=YvL9W4( z$8qA@j%kM?kzc`a+0OdlRnfOMMB4}E$q$UX#^)jwJu2C5j?CB^8wSP&lhJLou1K@e z)7?6ZQ;F9fFK~fjLwamt&XZL&ZU>J^VlcAqbBw!R&Z_YYdPL^}NNm<NzT0Mc>N^*C zfBa~d?(!1;H9=r4lCR_J{m`w6&5Tcfz4h8jD5FqYk*a^f;?z>KK(10lXO*O8*UykY z{&mJ*i63CBrTvmr^AFai1*q9RgLl(U%V9pvLYkdmi{T#2)MNa-q@Mw)>iPx@8b%we zl^S)rKOgyhv2i|!NM5WA266~NAn%_8zj@)PjN?w9gCvibt}@EVue0<b-GOh7`ErOb z_8KzXtD(_P;p0_|9GTIsjqyl%sXH*`H{lE)S~_9e+DB54)h=}i3h!p9ZTs`)hE$gG z=1Bi-zrbAhn0MuAC);3HX3s`c?CI^K_`ZpOk*}eXV>WXYyDxNGcBiZ`@3ZkcvhzyK zx*DClsk4Wwd#}8Pzc*K96s=ngbaaa>Uk)#RO5~vp4&DGeJ3GOx`vtb4%NO*{>f4Z? z$`TUX1#lAXyW=K**#&<++ZMxeX=QE|+&JtC-7IH!*#!vbY1CZh++dvJDC0P4^|q5T z9;YPla&YZndE;4Pl1)mfFs!4vr+al#*wmSz-!a!&&?&1sHBEVkq`7c(@Q_-~Pk$)h zLrE&X@j%v|wb1KQilx#!MRhs!fG@k<kalWXB+0Cx=ophJOrD-A>8HyVJYGxHG9SQf zxv?gi2}Og}vc+CzX?hLxj6K0DfZ=gQ^K07=tmJ&$#!1N_vuiVo+*JAPzn#9m_(%6; zZ@;ej%=T(6aYOyUI?j-=UH?t2$T6u-*9Isc_F;V6$MxQsy5xC$?x|Fb{?3W??C{<8 zxe}k&iVg>M;nzQXAwC)7H01<0(%cj?>Ou@A@(~=}dL8VSNk3Ct=yJ(kdMSW@yuw#A zEsA`qwL*&KMuG7)#xEK(A5Ly#U>9e3>8p+)k)VDfg2Gp>>m@Wqm{K_wV(9)JK|}l$ zZ(rtp5^h`C_P8DCCFUG6#-K1;J2R!+r<(d18`VlVisOh~sC>VbP$Epi32XORmayb) z>6hEz;?JqNlx--QaBz^-p;z@`)!!2uYp#;F;(k`8K?Lk*A4xPgS49#0PT-zidLGVY zB*4~_>oI{P&r00b_ZFNXOkt<<u)5iL7P5DEywk3?H;eKhg>7i#92_KGT*%06SQZbW zJIorv;c(%~q)X&17!9vw1*al9#<-OHh_kb^Je_jg%g*`y*3I4L7=EXnN_B26%#Pd_ zqhu$RahjJmmTZ>q)!r6rD*enMSrG4ZiQ~1w;rQUvmNwDM=<4HS@yhFxdSS`%bZf@z z##gP$gTX`NwE&L)>=%_P4gZ9yN#k#g4>RZphKK%;M|qz1%PgCcx<_lPnM86}S0zO& zEz=MU;jm!n6_J-RCnOyRndpxQ%SPnICHg1qW@<_2bJsR06)}<crR=<Pzza3qm=8Io z!P5p<FsG4x{j9Q^A;oZYp?2u$;CP6{(lS%nN$C6@KN)-F)TQDlqfSj-`x*=Tr|b6R zlNnc0t)|=7BDx9&uG$W_(Ju`)v<)c_4*sg(hvn~B>fw0XQJ<$aI>v={DEdWmmiM!* zM@+xBg<{F4a9&8nkZ&f(1!mFOR;a9Ps`ugJ_#_(!G-d|u^=P&g7-@x4y?K^@)0tOl ztQvG@S$onSrD>>_cC^T>)kyP3y6tiQhX-EB(@$^Js7gqozew?z)gMN}C;@Omae88F ztsD(JKM(9-_Yf2mXYC>-i7g4b0u}Awb2z_P;<zu5iOMa^mC6%|sqU;s_k?18E=$!} zWqorU%40Z^e@ee~UC=ztbYzyXrGoG4<)C0pa-@bI*0Rl?)1e5ETk?&t%xI*8y%(-l z#dLPdF(0O}oxmQ=5~JTgOP2-la2$KhFy7G0`DMA!MGs9}{tDIZ6U+>ZV-F|yPZwF- z)2R@Xefo?@mR3{Km~}m>q1NV`u+Z-b0eG*@2K@8sY9ZOKz5d}(Vv{7~mut=s<Udm2 zT3QK!AXNOLPVq1%VL@=9Iw~MiJ~Z_C^<Ma>@KuqcW=D*`K+w5@cax#^484xNYSRrT z^5!(u2@co3^+76LzSe2DE;-I2A8%1NKHDCY)z6ij>rW?b=?wgwX`)pvX+Yb;ylXfz zw8mAQVcA;u-l%fs$4Ew!(|O;AYcQ@aUI2d<kr}en*l;!Px{z1cI_mNc0F;?uA8&&K z4bnP(7V+KNTJAKE^P-9kozN|XZ&#yZCxdp8CD4#-)k8}nHcKbHaE|QzBF)Vw%K5~| zxzz7<-6V$zJ7462hubR;tGyy#6X%{de3B^|Z?WfllP4>}pCUMlAz+xHwBv50T1l+9 zVci1r`fhIt%R^`C^y2SLpNy0gBQ+^?a1WZyEp39$lL~6)538g4iRhCpmAVFD)3{QR z1NvchJ>w08k<uD6t`K{4^oobHee^kl{fT&?^dW=Dn*(>HAX<Fx4)0}(PVY(#B-y^u zKX>E(wtrdfBY(T@g~#75q+(J$RZvmE$pXwR(|}xxoU_HXCrzszN4V#->wJCSv1ds- ze3vw6-g~!paA!!JD#7PQ@K{F3K&^~;^F@tX{m1qrO_piw!EZ@6slNhk=ienJq|)E# zsk2bm54EuQs$B@zbpI{LEj+Q@`11U6xKpfF!@BMGtFE>Y1C@>DjFNw_YK+<=rIB<l zmC=bV<5ru4h&;%QaWT=>8Ovg;)=_eGimnioVt^f+N<Z1LQ=P|jyImUwi_iwtcB!R9 z_vHk~QqP@SdFaW3`kR?Ef<WVZfhBkp?&GBvn>6ypq?yf><F|jXA5jQvTMed;T~mAp zlyxre!LzfaBNQ)GOlNCeub#;uQ&a3$xu3sjV&t_Q*9g1iJsQ{%&KSDgH%y4+6h=x% z8_#eva~LIW3QMp(d`RE47E5T`Qdl%o9Ebj6C)_k1w^S)IDnS*=GR`DsWNl&3p{F06 zcH5@u{A+P==Igp2NHLk5UlkyYXM?}$A%)KxwET~rZqwEqHKYuYZ<4tSoAh$-Wm)XB zYBOyQRTAh=>Ycw3GsVxk9uZKuV#z8ndXoj2w-}H5-cU_8PV%>`A&fOMV+$!>6BM~t zbuCq<n7YTA*@&~0LL6!=!22{C47CcE;$nh>upq<}I=Q|Ac*57N-!BfvGM61CJQRM8 z|BNTA6IS?W95vqO-YINvab}KB!*fz@pE>+<iqRmnxG5p3u&35IEYy*OB{_g%SXWc8 z5X&Hnb4{PlDjutDD%yZ+My+Sd8EalEv0~>kbCz2}bqc!0n^kpH0Hr7^Ab6TeV_HPa zvY1i&u5@Uo)p&fdqeXMG)-z!{vPmXk%yK@%JNm5tRMBB-x5rDx_eZ{G<SY2pciujO zzr$j+{#$nN{ZUo_WYrpfjr_eQ<6TJ+UuiF|ZVH7f)Dryod(r*Qc3JionySSDgp9?} z0k_r#x<cYt=YGm3v0&mXthTPMvR(B2@te}oHH+6lRhdbdtkz6S3p{=|&yBFuq|*cE zW|(ciCgzGsZOpD0z&|qzTCF0)bckxJ+YKLjHfz8O&mL|a556e4P{-aAi%9V3nC*xf zE}2pFj~lO_VbeGeSnkV!B1Hw_7lKsye@^J_>k>6PFBOD-&noXwJg`@L)pQ0=cj0gS z{X13m`_?)!ho>$dkA{r8wKk9IM)h3D3}HipYAF)Gyy?eah_~|WpT$x~Gac>zs`sCe z*;8Z%a$NzY?#8BTeQ~vbDSQLF2+&4;NWB-X`Q2vDbrgLt>`%Szgy<I+7(r5+uLwO; zZn?!y&q|nx*H>e2p3xGocx-nHty)GYp?Q%fiprk{xZygE@m8J5l{a?Nsvl3D9KR_@ zpwoJy<rL0nrsSd9?R~c9$4|pNk=;1uCpOl9@<_<Q|5q8Qr&v_n#lBViPu3JQ?V~0A zu)FMj>B8FMe4=sg%7)B~8)IP+qqm*D_RAf=o>vcxrTgA5v!j1ACp>p{i*F=R+B{r* z1hYWrY+1v<1R@25b5gS+5KKYV(Q97>MJ4BZniUGP1ZH1L9;`vXJw9LG5l)ur1lx&x zf~}!M+ajZq$&dmmwauX+LvxGJv9yfK%e(!VjZ`>wrXUVq?n^tky`qwZ*FL9E$%KQy zFHeUe_W54IyZNdiv6Tg^0!Da`j!v8!rTu~kDN_DE*>!A{R=wk`8PcRvwd{1@f&8sY zbVUX{zMlB3J6)xAYY5$J`*+w7;+xuR+I+n&UEtLT*1w=R8VIJ$%bb=^8Do`Vg>)-s zXgn$oZ;em(lZFhbPJU)D9UZ(4OlJ<ctrqBIJAEuKHiV_$a9j7eLfLA4FR|JKAEVlt zD1EkqW$`&1E=7HDrL(SRy5zysch{KvNb?5OboIiS_ft0Uiz`DXsay0|s%N`|fgJ|? z9S!P75|@T$xLa3>e+(XA44+6_H5=&_?i!pH25{{xYnEswi;#G~oBvMVqO#Rfzpxly zElWx$`!1W;Zj!kO-8q&}O$rPm(kuS7dv3QwgD5B{7zN~kySb!0E<7EK*3-j#wd&R- z<<kUQ7{lj=zs=3~#0(91;oM^OY@W2xE{98^^;*+6orIeOBr0N?3*vsOZE*j2uWgQT zg9c-FE#p@eVth$B+ofDH$~xPvl1ais;S)2eX%@D>cMb-sWCse(-sGy9<_X7L{T5nW zGSJbcZIjSv*)a|<c-Xk_Ci*9|{*9;Jdu=;1eJii7P@he%-tRj3SUGe{y*OBTh>;e+ zZccikoDBehF}}^Vby130K^3NqN_Qkx_CF8C)(vlmi5+)b#i;B=zO`#cyYAPlv#Jme zlLe29Nu~LOlen~pi}D#;9EJuyFmV>n$*l@c+EB*tR>oQd3Dy<ttckP~e#Bct;{_c) z^4W=h4rW+qw9Jod7?}!%7YzPZZPpuoPVV>{g<dO5Q1n%0f$z%%O~$WXquTSr4h3Ni z>F`#EtYbvL<&lV))rz|jp!N`uk7|7V<wteFe0EuTHvi;IDnY!IQAkt8=E^TIpWj`C zM!Q!S5*G*oRwa%nupABWYNAj)&%CPL$^?|<JPp2%3r6~^YR)qj@UU#1?Ms!LVnO4` z!;Gu+cR3`B4K3};RyOe`2u8T-xk7+eM&C_+SFPr4K7p3Ql+0{qw?L6flt!8rE!*kM zVT&s6uSB&k$$PcVr;J7fC5GjO@=-%eSFdEhNY0h>j8RO|)9PoWDZI{59qG7jX`=TY zv)0UmXDo@hHAhED2}q{SP^jXoyw$FPoBv$Zsr9-dtG(Ql)zsa*4WV^jPtk1tYyVl< z%}Aag{ol~ZpF;mLrTyYhJG>iVc~c=OtTT_=B4c8z*;*O*5{PMngGHcbiyAm~h+qkH zN}m-3T=?2)^+yz$7;#S8_Z6j%Dh8t&PCKek)So@GO8hu$omm}*9R|PSm~6VVrFb+i zg^8=gD}T4*eI;qxa`tdaf!OF}X#?k?!E#!b@8V)VUy@<r%yN5bo3xkEi(S>odVvWx zttuo;%8d=~kip5Z+A!?3n$y62Am5Sp+R3U}cfYrMZAbQ#+?#2Ey$-giU*7&*v#bmv z$Gnmy(}qlPQd~59Boi@)SwDYXJIpK(<8_Ajs7CB|@pPyOC|TE)Pt%W`l<m#XAC`NI z$5$S3KArHl<XfMo@~<Ag)zZ^s)#(YNFLf;XUR<OQDd;}`S7p%4e_Mb^r}aT%xbsZy zNa2r@AHFs`_J2A~#+4F8wJpm4hdmDA#qwA)LhX+&CiSQff`rHFm3eQp<2AO?QG{|< z?5g~p$UyA0t)E+EAhw^GooZ`G`xNDc;z@y5180B;n{!H4(%L8c_~;paj#G<3SVkjv zt7Ec9xZ0#=Dev41YI(l0!t=ECu*aKgnB}~$gLM2CIwxOykIiZdTfm2X0~wC*vS|Nq z`PEj!vkOV$^+ZY>OmcViI(5CSU;4WoEj9hr`B-&7dGQyBdX;tc`{Nq=SvgqJJG$di zcU5M*wl&JD*7M!G2;%{BKjXnuJ)-pMB-^*z&7NVqcV-zkZyLg8<oiV%BG;~SJ{4py z>aA+x%bM}}P8KYE*H3OU@d~;~+cj+0WZir1H|CSVSE<aiJ6w@cOmLpc2xd~jVbx*S zUflx*@^dUgVq#G0)6*>Kcxt?ae_CK=;e|mGH?2G0yVWZ12ML_?ZLpT&`PNr<`rV_8 z)1~cISX@UHJf6y`$zJ*XcbjXYc&)X!{CjI33kYrVzeyWxk1`z_b=l6a-fYCGj&w>_ z&vDQ21=e`S?9Swdk1d+j3zT}Q`or&xF~TRZv6R$m+0KZNh@pj3;VeV0y0w--o^XwU zkG!^1oLcxiT6=<KtDY>TD#?RkpSL8-1xv8v8Q+AR?M`LWXKD9*LynE@JxNJq-ZBzV z*ioIs&zH!ctc!2&aD!EwvyQ#?R>j#8Z8aXc4E!2`b#yYJ=FT}qE@K=S9EpDM+spO0 zI^P}UM-rYN=|b*B#rL_HW&*kA``7iD6q=IZ@daHOb#~SC$_*H8+<UU~#yT_y+w3mK z=WD(}Sp|REOO-PkXI}dh(=!cVVR3k(tvvJh+PlAf>}i|kFivmVr8+hQTy5{uQ~~Gg zw7%T4L$_TfS3ouFqZ=&YG{R3obROTGDdb)OL<uI9bi}QUhS2EPxHLGC{mBQ#1xm?5 zWKL>2zg9y^&!}JKOE;Wt3Cxx&My%~!i?ue6qNxSF3mgpnr3&!3VfRNul(0xNEiZ8v z7-bHoLT?wKNTD)7qy{{90lFB9a&n=&%LjWqrpgBzRl^_72VWXk=va}FB#){3*~G|{ z8Mj%eovq}7uNv&3SCAD>c5s(1Wf!h_$>cE0CX36Sy8Tap4~-TKCQ-1!;t3DW@BR8` zl5=MG^)3#d2BPs4Md4M^1+<<ts$_j4)uJO4(9#^&+w1w=YKK40=vRAkrSR@-^81Ti zoA_W?T08$CrPp$bn$B17kL?_X+9JP5`8(1xSv!;$r;CD;KPB<22D_w_&9QgK%rQ-L zQ}UqC<{Ckz7S@Z0nU6Z|sx<EKd+!>vKc{1_5`R@>sc<*RE7W4ihWrpUHaF?vcCX_> z(HUe<fl;La8P`JFX;@4uZo^1h!k!T0;j^T<*R!Bkv{Nfn3)#1QXa`tsaWPN!mkg3Q zjrxTW?@tpVV7%xTbTLKZmKdrq3B$@HwwG7@`_QaMIR-o0LQ2&p+g0|<na?t)S%fq6 z+lRM_tQp^oRyH;vZ|6FTUGGvmCMlZ-38xwF09@WwS4rBPO51G&$xb=$Q>0?n7-v^S zy{pK^9Ewr+KD0<VjTQ))DDCBzpjEH1fO&RVwA;RpS-Z)(Iuz4If#-r_lW*fKPGz%D zO~DSkU2$Q3vX%kE0355*V>QgjpQ1=cC3Emp*{Vfrf}lWXvZ;yAKL}Ss*FObbTgJ;b zUKm&~Se7j9w>NgXtw>?~l93FTXrT2SdaY4)ZdujXU^q%a^FuJKopQkI;3o%Qke8?G zpj9Vr15!^m4-e%jRRa5QGhvdFh@`A6j`db?mDt9DSwZBqr<NOjd_mxVjF6=DfRaFm zim;w`JSU}{u2sZXt{;cTD!S47$zf3#(~Z${p7@6<(fxc%!WKG;lJC#Rb#(fxjx^`0 z?6n-9ixt>kCn^oa8R;~%t-L|;Uk`$u)xT2o-)>!|#QV9VC7KmEwA<08S=LG93<M}- zW$^`q*6iL_CN4A+`2|frD$)46xxO6qRbF2vNGIM{g!@JpHYwh8jI(o=b;wv=y(zp^ z)71X-B8Dy)Rsa>hK9nYTVR~;vEe>MUh1skSEa5@S_do|Lv>WijSKQwG!=QVWhf)^` zpm+H}V*SC`y1ykMW<F6JPcS>UMJ5<57&+nQM6udtMcuGljZB0T_+6CJ&XB+|dGu1v zV{m->0VKupq!D&kN-M<@H>F(=T2k<2-5U@j66rR?H*+DX_!S)a(1AQFdUC}YN{)|G z!C+5IOT$f);{sdb9%P7UbVrGSf#LmY@1gf=r<gtp!7@ncC|R8wx>0bWc+!H`6WKCg z``$i%kub36w^MnG8@~y<(nJ6fTBiAh3(b5o+VhY>j@ZT$xP0I#nz~Cg@(VyC#0g_d zTUrSP<TWw1#zPSn5t*FV5T<M&vrV8M<20M#`}9A$>q)3n*Uec;lFAp5`ih}-QiNxV zG0;($zpQTbJKcT{NYa6ti4wX;k>=%Ef|{U-o9#b!4k#@PXoREpoD+bYVxH{I@$d#* z9QtMVeEaX2#_%tI6cI&b9t$xVG>^SofL_DtUWEKg*WFDupU<HwHE4wdtksMzC=t6> z&z%C<$fudlTPhq&a3QLI6nia%+mhOa9D%rx5qfog@Fvsx5bwWx<%I$PG^h9in{F*e z2<MX(GW--?=oDt-|KnnLXE9|!=P7vGIf4JqY5`qocudTOAyRfvN(awHGnkTrseuI> zAq<s^CMPk|3=?)~2I4q)AKrF%oc~mcCq(y-km*)|1SqW*P3LeTp85b8u!;fBHulj6 z(EqM0Ni8C>u&<)1ps*r}#KDoG!21vn_$V~q7QX`W1I=skN>bK9KVZ!J7-Vc<-M&G( z0PS4}J@U0j1R!XF1Zb^(mCIH9LgWK@-z&%R<uQnZ`v8YGf*E@>gK+&pjt|t39u^ZH zN&2pg`i0$OiF#Mi4PYih-DG@s;Q5lgvu5Hh%Tu%_EU-+CPjkf)#IJzBAfH8FY`4fg zR3on-$7qB7OTcJe`TfTax1cp%@pYONDWE!JILoZfG7A9|^+6wGSY{8<^5pL!HZhg6 zMbqe6gijJ9g4xh7etb_Fk}7=5iE5#Ur16n_LyRW@uE}D`IB^LgtDfmJ+@oKrdmXUJ zwzMNkj9;Mpo$ph$0$HlJB%&H9N^}i8pOZ0pczoW9Y8+;>9$0gMCR|VK`tIQ@kxDI9 zAz7fh2-$-Hi49<;=$u{GZfSh>Pd8-ZLapvFeU!oP$M8Ly!ik3cJKK}Cvh+c<VBSOY zVSVrEK}tUsBW!`p^86QHWsr3$@;&dU4^jFV!d|=2Le#^-X)fM}2ox11OO}XtkpK(p z6=6hh8@k|&=C(j!3RZ$2Jb_3b9bk+EyWI)_8d&FQUcaMfVsaNJv@-At3#J0p=10<O z`0uLGt6I0qMuCJ=ph>TS3+i@xp|{r?5()IO_p`a50OMcI@hQkHv8q7_+IO!{_ZD8V z4?N_Dj-giJH9l}1G3>_escHLP*N{#qS`aZnIHF^Alm)9c?vNs2R6aB^goc0{kx@dC zO)<eEo{F#2t~>#+N_1RZn*ecr9Z+u2<m9%}jrQU{i%F+>5p?a7#_veF0ULU;R)`6e z41Onrr=RvLkPao|^$I9?9IJ>zQA!?Q8#Fo^=ye5k6ciV`<Nlv*z=a~StN2plRD)jC zaW+3Xnk)S-3U-2eHXc-rl8T>vBw-u@i-lhBGbmK5RCMCa0tre_AaJClr<eA8l?D^# z-&hbzoGmga?U3QXOh_>~RFo6!*<P~PZ49+;_K!YyH|H47U1(9N1?e<7_6*1bHSxKR zVuzZ*f2M<S%&2~*Paus8Fs_KS`D9dNf&teAXw`D+0VT=Lf>77LKzT+T4fk0)4&Gr& zHz0Ga02L}FPtOK<x}15GVevo!|6dimVRP(Och;{WLTCVxEQohbkB7ZwM7i@2z^a{{ z^Iios2?oRRp{uK_Yo*26v~asbQZ;a2bg;bd|L&nZ#=bsl>Pn&%^YamelmV)LOc`C% zqcx=4c4;y9TgKYKT?#alhb}9JmUZ~ru~2Y0Y5(|3c}2w|&DrlD`@o!JdjZ^8nt(H9 z2mDm=FBC{rC4<-8tNBYDDoUTD^*#(G;`MkcwTu?*i8x|VHckTf9Zk=2G?^G2><r>U zz(PIrDgA%qVY$D)g<-H*m;vcIXf)d)FgKooCD->pcxcdV0zhaPC?y&lEDt?8I%3aS zkv!X5*oY(5QUQxc%?$zD2~Q<aus8hCbAMT&N<uCJnV5u<LJ=+Q8~XWjQ4gg`zJCCB zOs=(3kf0h5h|NE6z8DZ1=6c@@POL~-f!0DOigrkp`i0r|52GASi>ruqO<B~%uOVDq zT-@eA9>o_NPSnZ+%^z4EVV@O~jRZD|)y{3+w)j#=26Xs<yJmUex+=4^(DYmk-aCoH ztu__+FcN-5{0#tCu5nrtE;s24($v@AM$G?r@tjKtv9V9?U>c8n{mXFoj6d$RpxCSq zOu&Z>rNFem)D~8x_G$lHA13Gw!Mmt}6{}{gncQ6w!^gdCn=w!u43;<fNYpqYI0L<^ z{iuHwNd2)1yo_r_>4^+I{SXtAGFNA<Bq#Sk3_dh%fdNJb3hrSf(eVL^m`_+hl~2z~ zupj8320SJCg^I^_1TQ)^Kn}Sc5Gnv-Ux*Pk|E|A97(i^Kh}qd$^`M|mAbn<y1ez#@ zTF+TgrWPXIJ$M9<C&Y!H0l(6Vze1L3Ug|;x5hr-n>QTxE^x(!Q89&L&2?Cd+ji?(D zH+ahaidy(2+C43&6YB#R0u$RMN;3p8CkAoC8zniE(kfDRmDVY_4}8?90|Ia$^;hWC zDa5C9AaVa|N2f;#l5(Md%QqZ>5R^(Cm8=XixVj7)g(f>ntkuHWdLn`FyTCmzx|N)J z7$g{<Sso&6u(fq{_37lJ6EBZ9<l9&iQ6Y^NzH+(oDTT}Yhs*6ay_hj@NKsErxx;?g z{51r2jYmvO%*x7ITmAA1D6@)D;!J^{k%M&&U<^I{p?*HWbBG4v3RxQSsunL~41e~s zdDs*n^+FB}Md=bTgYb`Mlh}Rn_qQde4Q4j+Dn>B@bmk5fT;Y|EnW0^IjR3HFUJM0* zD5Kw&f&asUayG9((nP$gQjPyoe^>elRvs6P(cMK}L>(JSPAqsl$Rmx?$gQ{e^19nK z;2{9853oHBelBJIil#69Vj&7*z*qWi63tZVIUI;FVe@8QWGeq+B#wO66U+}VUESoR zgv9i8MKw*>eCCTME(rj`W$3?arN%=?03`ty4*)%7b1foJ&~W>yf}&!)kozA6RaIQL z=901~c;8P5S5^ol4ZWg*Q=ljz!yVvQjx>`>*+5sVHnq68@lW3k3KCu$ybTs{NAs^z z-PjN=;}UvLaHD<LKnd7m_0Ld-<xo0b-1Cq4sMsb9H8V3?1F(`Xs~bUIic7Z-Jd`!` zl{}KfT2Zq56r4*)mz0(DbJwkO++OWeRX-;JH+P4XinO#E&Sd!(ibDrKGC9V70?8(z z);Kau(0C1{Wx^vPBP%N@sX@ukU5>oDC1`nz3Y>r+4aQ6uzco=jusN0wkB_eX^%BI) z=z9r5GQC-vPh2X4jmhx*K#*Jqk`(Ta6s6C=bE%nbPnMz(Z7ls|wQV>i+Q`FLX5U5; znuhIr_Xs-SGLqU`C4!JR0tIE|M``v@!2M0!BK3d1@6`%QF_+A#89^WJ4NR(85g=Th zAxTR-mlzn(V&2?qT7GJjIxUuz#|U1w2m+bFGys048o$<-%s>rof8LEi{&Q4-V#;Xe z<m7ada+!s&>($cdt=G7NfRf$)?Xd(qP#eS8p#5U+M=RG&03pv59a9EcoSP3p-D813 zl>Jo=bt_RWXvhMBeQC|V4&L0gE&BY9$_%^6lf{Cdy?N*od}Q5*PXw?sGaFkSi2STv z-~RqLR#Wsam8E-V*GqYER9n&*oD!*G#WD*qs0e``>TYEUaj)H1zUxUZ1MqNYKwO%D zSaIpqsp4w|i*Ts<0{bOIo7S+4Agz`J&FWU$huhnBY%DBrp!?Sn%!<bk>`xXJLv=K7 zUyVHc_3bjgktMhtNM(=%$nKVz33+nZ7#u`LURGNAS--)K!D@*B1&4CP(T>;qL0Q3K zG)Iyie){^aAXrwp;H@u46NK7Ov;)jdz6ZH1T16p1GETy$czlu&;BeZ}DkBlSW)~W` zruGR7_(?ilw}8md*zX2RYHF0GqbJbK3CBfB1BEBNi)2`n(~`yhV#|1`7SpgmC&Rbr z;N_sB;Tjs-Fl>Ja9zge)ci92w>M417v?()*+n^+&g#wqIVt<wN^+`8KRdclfZ)%7R z(4l#~Zeb0kT3~7)q^RCpe_mT#gAxRnJb|qkKmcT^OTnjxUp>X{0_)ccRY(+_Hq|CZ zYkIhemoW;?R}0iWi91!&o`U=f1InnH$vh%@tlT#kzXfw8MBz9Y<=}U(zzGi*<O?A) z3(IGKZ1jD9M+v;ef=yyVwYw|gPQdn0cyDok{x&2E)J*`uGcU&{0FG<aHdq=Eg~tP7 zK%R((92<~5Y32YG7VbB<0rB)qV=UNcP+EX(G{1+l01BFiAil6ohhP!N_@}*%gsov- z80I)Hcb*mCPzZahWPaUnRPh1x34qf#r$O*9?MhBJ5Go_l2SFe+;0TGEtf&E&FtIyI z;3sqBQx5!i`r_{_AcSQSf|sqCQHzI}6P&j8g<c69a@*d^XR?4^vjG3gG*P6IP^wiN zijR-K2|u#tAs~VvP$}KD!M%G>+UKJngBsnPtCK!oe$y2qm8m6boQaS3ArsacP0_=S zfr5;;sdT-A*+3B#9YVflIEtx_hM>mUL|>jpY5f6iUrZF934RU@eMCabV>K8%IH){K z6)=_uMa46M9QiFDVNp=#dQCh^P&o>;H5mcnzUu7x5H4u^=7w<S*T({_q7h@6WO^3v zAG<_A%ZjO6Kx*Hfz%B$v4J|7#uLPP!Fh-ShdOkir#D_HMCx>~kjp3|ylpGh@{Rb|? zD?JYihJm?QpyB$d6#ae=f*CGa*5(&d9;=T)4V{m?&72DSOb)Hi=Y&8_l;)4{w-@`# zMyMd4jR(|=n9{=)X;(}TK{r?LQ9>msB<vh36ACsIFIPNZ7S=%NjN!rKdr4!q!O`a| z^dgkmA#oQIm;syV(-OX&TEeGK`MqDZQ-Yr`zW_no7eGjm7=*cpFp?f|1J@A-pxv#F zd>*Wu7-EH(pDKSj0Hm4&pFEbNUSU9_rat4+y66G~%=B<$JHc&$51$aMEaZI{t2GBv zuq;@0-!!d<{owyri_r4^wgW5~0TG7kX8UckY>nk(Y@p-t{sxuol{WwYT`&KT`4GGT z^<Z5c#SvJ<(+6U$hF)`)+2s;Ma@}l@@bK`XS@RfV7*&u${2G{q%?2M#y|+v*B&Q+? zR#N*v9{j7hkswB2Utg6a^lDIv$cKhLrsC8pR<%rB(%`)Q55oezDs8qeci_|d2#}F3 zbSTZ3yy>vtQRu-tj0om@W?vo2>%G5-N5Jn>I90*~3{D#CaGMg4f@AXPnU3YjCgTny z0D4gYU#fOIM9#xh&p4E{&zME{$lZSc2LMcVU_|dqeSnZ@v!p5TT4#ekR$f&F1@r>i z;lk7_eh5G!*AG<HovR~d;@7VJ<h=#=gOAp!;Rcsh#{uit4s&v<@&tm)^Y)#ulBX^x z4j)1TI7f?A$kIf8Yp>UsB%Wm5W{d=UY7+Pbh#q~=1#LoS5<0*?f!e}z6Q>)X(-qqj zNi3i10do96h?NTcvB2N9<r`H^Ev?H6ZxaFyI`EEz?_sDt=Ec_m!8#OcFjHuv73^$F zU`aUsXn-{`41$7B@|3<ZtzLWm*6oiMQer_uB!q^WH>{_H57I7bb$xw1vFpQcC}Ed~ z+g(^VAp)G_w0a+KzPZ^kvFwYb321D~hnJv(B-SwaT`4MUq6_Z+jP5bSFra*K81v>@ z8dyxs4gJ1sHwGk2*fSoUz=%xcGH=F3V(h^|hr$Xa8a~5$Jvtxg&c?)aSZEwd7j(_* zaC$@_E^{x{NKPfkaiQ@D$ln+bdR+ef`!^t4zLJ3%Fce<1b|a>$Ig|`BsSi02&pR)^ za@V~<ou^2BJ>eh?`kNXIj~#6AK`H8{(S90njcK5o0@=s`rc3ats)2?U2)FOLLvhG< zLu`M1B%xP+eP}^Ej8$(xGprg5M3@-y={IIs08j^$XL(@qjL8G~mK`M;v-AATWu#uP zR#{ouTV=^zPU1c!G7dQ131e&)F0Qx{$CM`GDUd+iVY+mmsu|#8ft@9Z;!vFa9V3C- zu1O$)W86igP~(vxK(^M0l7vS|STXSPCy(s(y{H2i29~3WhTHBreh6X$6rNL4GwKKO z*7b0v>{!tCfWhKn=9$(FGT!xQk^R`$-$MVA?A12r3Inggj)wd7i=A^G5Vi4xdOXWM z1sbV+<}qT7AXvGIjr@5H{Yn=b8%qtGN&*n1RRIq7hqb%Ut2t~GLI<DzF|_)-2fP<+ z#EAI6L2l`z!S9bPEiHp^lV<biQRNt}1fGvn62@Q>_d+>ZQ$(E|1;oGy`~OQ70jS4B z<6%DlK)i{#+6a_<p2Qr|L86F1gonpz<jWyJIz~%u=z{j?TNKk85i0+sgOKM?ye`56 zTQ(A<a907!PI3SZBG(=V*=mQa3hvcUSb*aYZU9e^{r#)QGc?{2DDk&+umxI6-P&=% zTjBr;vSvfsVg?|^;sm|I7Ai%sF0yT0aXvnsARyg3houSb<zlchBSIckfSAE@8TA6v z&@|v%(^0CB>=WNCsw~HM(%W?dx5=!~c(~q?=nGg4J|htiX#U>Yd#p!hW$pzq6Q&?d z_m>4M%YFcNyD@?I(icC#Zo3Y`PZDsW7>xTl7-h)VEJ7myrM%)3<Kw?>*pDs~eg_#! zHt`B<|B{g&$V|GFcLV6W_sf^j_6lUjOZqC?Q!)tMN_`|aqGv~GS{izc$;M}94qDq0 zaQKpdMFurx+-)ZZqHU1ZbQ1Ip4K@4>`sbL&V;w!1A)t0b%Cy|`EF`$qV~Z9TcD*xD zHKhEu{dRN{l`JEOK#+BqAOPS>Mk%MgeenvI^cqm%Y)B~Lv!9kJXH7JSfti`*JtE~* z2*stadt5n@wsWyq(fbjlzlzoccJsNC5<Uj1TxB|vEjE39dAtrPjRXlW$GO^`y3alx zt6+{JuWkYf0tw1BaGQ4D^NVW#Su#n5N}cjRv4r5459&eiSkQPPv*D?Odq9*U9!%(P z-}r>ooVL=6aFGhS<fP_$-26Ky-jiLe<C6Nh`xJcoF#aCZ17kZ5R3t(WGIMe^0&yC~ z*4avcMVM+qeGe!$TT^qS6L=^qf6NTJ+8S?iHW32l_`M80Xd@`e20Z1*NS;AeF2spe zzI`diQ39iIE6xZ|TGeCIt%#k^*z&vr2(YlWc6=Ej@S^qO$46T~JK8`!SPPVnEti$! zzo*OLK-WM>0~e9X`<?+dAl@NrbUMkh${7{W0vDQH^Bv~v;U4L3$bo@lc;a%%YrhYw z!dvv0KhHavjM}`CwA93=RHK!pCP6_<e7Q4sl?fR8Jp?1>q2xG}*BF(8`>3n{%l5)Q z1)^C4pfa+Tap?=3cAi#Bq$)EFIy!n4)&RZa-h4xy^W5Cr_-FH8=Otn9eTTcMk>Bov ze3f#tsQvv0>k#dC^%*^?h@XRm2s?~$V<ogu2)cBuW-1?P`%hRXDJm)L@#PE(tN*d) znXGPYo$s`bNxpf*Oo-3pp9%M}bH>8Licd_mSRPDV__L9iNC;O_s&n4j+B&-fRevwH z0_ly506RCOBPrA~fYtclU;kT!|LueSnZf^D!T&tr|Nov4@dNw%O_5`!vumSX-#zdL NE~_e2C1v{d{{qOtgp2?H literal 0 HcmV?d00001 diff --git a/doc/memos/rdm0000.md b/doc/memos/rdm0000.md new file mode 100644 index 0000000000..33fbba647d --- /dev/null +++ b/doc/memos/rdm0000.md @@ -0,0 +1,152 @@ + +- RDM: 0 +- Title: RIOT Developer Memo Format, Publishing and Maintenance Process +- Author: Emmanuel Baccelli +- Status: Active +- Type: Process +- Created: October 2018 + +## Abstract + +This memo describes a template for memos produced by the RIOT maintainers +community, targeting primarily RIOT developers. + +## Status + +This document is a product of the community of RIOT maintainers, and aims to +represent the consensus within this community. The content of this document is +licensed with a Creative Commons CC-BY-SA license. + +## Terminology + +This memo uses the [RFC2119](https://www.ietf.org/rfc/rfc2119.txt) terminology +and the following acronyms: + +- RDM: RIOT Developer Memo +- PR: git Pull-Request to RIOT's master branch on GitHub +- ACK: acknowledgement from a RIOT maintainer, concerning a pull-request to the +master branch of RIOT on GitHub + +# 1. Introduction + +In order to facilitate RIOT maintenance in the long term and at large scale, +additional documentation complementing code and usual code documentation is +needed. For instance, such memos are expected to describe and give explanations +about architectural design decisions, code structure etc. Other memos might +also describe other aspects of RIOT activity, including, but not limited to, +RIOT community processes, position with respect to some related external +technical debates, pitfalls and best practices... + +This memo specifies a format for such memos and the process of discussing their +content before publication. Format and processes are somewhat inspired by +[IETF](http://ietf.org/) processes and documents such as Request For Comments +(RFC) and Python Enhancement Proposals [PEPs](https://www.python.org/dev/peps/). + +# 2. RIOT Developers Memo Format + +RIOT Developer Memos (RDM) are written in English, using the Markdown (.md) +format, with less than 80 characters per line. Each memo has a unique +identification number indicated in its header, +e.g. this memo is RDM0. + +The structure of a memo MUST contain: + +1. a preamble as defined below, +2. the content of the memo structured as needed, +3. a postamble as defined below. + +The preamble of the memo should be structured as such: + +1. a header formatted as the header of this memo, +2. a short abstract, +3. a status for the memo stating its license and the category of the memo (e.g. +that it is a consensus document), +4. optionally, a terminology section which recalls/disambiguates definition of +terms that are key to the memo. + +The core content of the memo is structured as deemed necessary. However, during +the review process, care must be taken to follow the below principles as much +as possible: + +1. one memo = one problem/aspect, +2. start by crisply explaining and motivating the one problem/aspect the memo +targets, +3. memos are expected to be of normative and durable nature, hence: keep a memo +as concise as possible without impairing clarity, and factor out content that +id likely to quickly become out-of-date. + +The postamble of the memo should be structured as such: + +1. (optional) acknowledgements section thanking contributors other than the +authors, +2. a section with the main references that relate to the content, with a strong +preference for permanent, self-contained references, +3. the list of revisions so far and corresponding changelog, +4. contact information to reach the author(s). + +# 3. Memo Publishing and Maintenance Process + +Each new memo MUST be proposed as a pull-request (PR), +and discussed the same way RIOT code PRs are processed on GitHub. + +Initially, a proposed RDM is identified by its temporary file name +of shape rdm-draft-<author>-<topic>.md (for +example: rdm-draft-baccelli-rdm-format.md) instead of a number +assigned at a later stage. +At this stage, the RDM's header indactes status "draft". + +Proposing an RDM is non-compulsory. There is no restriction on when, in the +development cycle, an RDM can be PRed. However, RDMs on design decisions and +architecture are typically expected to describe something rather stable (that is +already merged in the main branch of RIOT, or about to be merged). + +Once proposed, a memo MUST have received an ACK by at least 3 maintainers other +than the author(s) of the memo, before its publication. + +At this stage, the RDM is assigned a permanent RDM number (the next available), +its status is changed to "active" and it is merged in the master branch of RIOT. +Once merged into the master branch of RIOT, a memo is considered published. + +Small changes/clarifications may be subsequently PRed to improve a memo, using +the same RDM number. In this case, a (monotonically increasing) revision number +is issued and a changelog is added -- see Revision section in postamble below. + +Bigger changes should result in a new memo with another +RDM number, deprecating the old memo. In this case, the deprecated memo must +be modified such that its status indicates "deprecated by [RDM XXXX](./rdmXXXX.md)" +where X is the RDM number of the new memo. + +A dedicated directory in RIOT codebase (RIOT/doc/memos) contains all the memos. +It is acceptable to add complementary content such as graphical elments +(in RIOT/doc/memos/files/) to illustrate the memo, as done with the RIOT logo +below (see Figure 1, given here for pure sake of example). +However graphical content should be kept to the bare +minimum, as it is easy to get lost in "shiny slideware". + + + +<p align="justify"> +Figure 1. The RIOT logo. +</p> + + +## Acknowledgements + +Thanks to Thomas Eichinger, Oliver Hahm, Ludwig Knüpfer, Martine Lenders, +Sebastian Meiling, Hauke Petersen, Dan Petry, Kaspar Schleiser and +Matthias Wählisch for their comments and suggestions. + +## References + +- Internet Engineering Task Force ([IETF](http://ietf.org/)) +- Guide to [Contributing to RIOT](https://github.com/RIOT-OS/RIOT/wiki/Contributing-to-RIOT) + +## Revision + +- Rev2: added title in metadata and specification of temporary RDM naming +- Rev1: added text on non-compulsory nature of RDMs +- Rev0: initial document + +## Contact + +The author of this memo can be contacted via email at emmanuel.baccelli@inria.fr -- GitLab