From f9d712d175ab8e956181c8e61d3c4b05a58d261d Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Tue, 29 Oct 2013 00:22:38 -0700 Subject: [PATCH] API updated to be RESTful --- README.md | 79 ++-- android-tasker/Home_Assistant.apk | Bin 952593 -> 952964 bytes android-tasker/Home_Assistant.prj.xml | 137 ++++--- docs/screenshot-debug-interface.png | Bin 51645 -> 91745 bytes homeassistant/httpinterface.py | 542 ++++++++++++++------------ homeassistant/remote.py | 51 +-- homeassistant/test.py | 123 +++--- 7 files changed, 495 insertions(+), 437 deletions(-) diff --git a/README.md b/README.md index 9243c29f4f9..addc0128044 100644 --- a/README.md +++ b/README.md @@ -34,47 +34,54 @@ A screenshot of the debug interface (battery and charging states are controlled To interface with the API requests should include the parameter api_password which matches the api_password in home-assistant.conf. -The following API commands are currently supported: +All API calls have to be accompanied by an 'api_password' parameter and will +return JSON. If successful calls will return status code 200 or 201. - /api/state/categories - POST - parameter: api_password - string - Will list all the categories for which a state is currently tracked. Returns a json object like this: +Other status codes that can occur are: + - 400 (Bad Request) + - 401 (Unauthorized) + - 404 (Not Found) + - 405 (Method not allowed) - ```json - {"status": "OK", - "message":"State categories", - "categories": ["all_devices", "Paulus_Nexus_4"]} - ``` +The api supports the following actions: - /api/state/get - POST - parameter: api_password - string - parameter: category - string - Will get the current state of a category. Returns a json object like this: +`/api/states` - GET +Returns a list of categories for which a state is available +Example result: +```json{ + "categories": [ + "Paulus_Nexus_4", + "weather.sun", + "all_devices" + ] +}``` - ```json - {"status": "OK", - "message": "State of all_devices", - "category": "all_devices", - "state": "device_home", - "last_changed": "19:10:39 25-10-2013", - "attributes": {}} - ``` +`/api/states/` - GET +Returns the current state from a category +Example result: +```json{ + "attributes": { + "next_rising": "07:04:15 29-10-2013", + "next_setting": "18:00:31 29-10-2013" + }, + "category": "weather.sun", + "last_changed": "23:24:33 28-10-2013", + "state": "below_horizon" +}``` - /api/state/change - POST - parameter: api_password - string - parameter: category - string - parameter: new_state - string - parameter: attributes - object encoded as JSON string (optional) - Changes category 'category' to 'new_state' - It is possible to sent multiple values for category and new_state. - If the number of values for category and new_state do not match only - combinations where both values are supplied will be set. - - /api/event/fire - POST - parameter: api_password - string - parameter: event_name - string - parameter: event_data - object encoded as JSON string (optional) - Fires an 'event_name' event containing data from 'event_data' +`/api/states/` - POST +Updates the current state of a category. Returns status code 201 if successful +with location header of updated resource. +parameter: new_state - string +optional parameter: attributes - JSON encoded object + +`/api/events/` - POST +Fires an event with event_type +optional parameter: event_data - JSON encoded object +Example result: +```json{ + "message": "Event download_file fired." +}``` Android remote control ---------------------- diff --git a/android-tasker/Home_Assistant.apk b/android-tasker/Home_Assistant.apk index 9f75e86569e92be7575400784529d87cd3fb408f..9e3924aa8f2fc42f16aad271b0675be0de965d1d 100644 GIT binary patch delta 47465 zcmbO@$*N_lm2`kNGYbO)0|N)c=EZK#)632k)rd1N1Zy)gh)iE!%qu?8NV+~b=g*?7 zmC{!(1fAC9?5Y2o%h@BTGP@>n_Ip*&qp6%#HxA#*USE6G>84=eri(&q)2#k{|NX50 z*7o|o-h|Ev((a4@*zf!AZ~Mf}``_QVvcpwZ{@>64U-SEU8|$O{@7<1s=G~aE(<`L* z-HC=$*EbS#Z>U?imHmCgDtZ*hI#{rWo=6Th{e+<$+2m1BPV+gZO8bFUPwX8szH z|6Tg(w~HJ8*FQa<)?@j|v~UKe&3sShstrXpvT8~`GKL%K56wGu=Vfy*#}|hK^UfS~ zs5+E5Pd#b(HKR9H%xf<>90)&>8fV`(L;b<*j2S$M{I%89#ZI~WbCypPic9J*dZY1- zOH_G#eR190vy8Eh`<}Ul*Zq4_4%pjY zo0syf@m;Wc$J8U+QJ-TZ{>&!Lo?z0t*Wh(DP)=iX& zU(xZxLhJ3uKeD?n|Ll)H_$Wf9aI1dh)XgoTIkyXS_<)>*Y>O2-#@*5 zvT)zs?)^8mMQCT*Z;@-eqJ80F=82bii_^m+MD8AIUT4+O-h0h(|NYl~ortvmDW z{NA-y0_ziw#!fzF_vVbRxN?GEYre#96MuK*6PL|vr{;sOL zojLb~+tQUxd!7DhHhV}*&)A<<|FGuv0k(nqyK~|8@~T@IcWT8veeBZgTavCE&Fs6Rd0g^ijiTCw zsmjiJxn?WQURkyJ5BI_|R{tver>_v1_2upU4~1Lw7kkt@2N!?!%<^k_uH$fFo}kj1 zxLe|PJhx0{)KQS8nmnm3XkADAJ`#w`+2gxz+DA9gbm#O#g4l3{p~28JSeKNuX1Pbe-=xfBz^ zbs*+!!GS3+9>`hGk7tlSo9-MXT~n`?;-X$6urY43oadCgXFo1J@uDx}&_?dhesZnB z2Re2+fE)UZ3+_b?2S8@!P`f{$#(HI=g=1 zUwxBZ=DMrD9X)YX!`tRKuNrUse{Ms5N8w3}oHU+IJ|8~wLD6}pXGdpwb!5Jo6t3BB z^zn`6rv1qh8^Wg4cRbkJED|HF#5MUdbIRd}8hzX8W=GXK{&Wc4)O58t`rA1^*eUYD z^5AR7)4V6DJoK%bVf*^iE|WFizv~?Io!rtexqYwU=LgmEn0G6yPs?ZecTjWIm$d7D zPrq9nTY5?Q?UC)VXW0UC1FlYgcsKX+hiCtm{cAru_00o!*ZU8D-jVjKFZ_6*JnHO* zzrTNd`5tim`rBD~TkYMqer$6U{K~EyTfd}wj$ylVe8Y!rhvZBpN|VfD4}INvzR>w0 z6Za~eq-9lhteN$q6LejK6%I`Gm)?-NB6HE)=^;xhe##g~&ewUl@WsxUFFY51J0Exu zxywYyvqf@Z!%H`nm7H_?HfE-&hi26?Jq*+iIC~{?8#@B-J}WyKa<2c^y@Ma0c10L$yS7E_(6e88uE%C7syoY=o!V1ZzQ#u|OW1(5+1K+2H>;#f;I+(hWsws>j6M|weX^|6!z1?1Et71!^=0nD zHy&JW#u6p34Yg}%CSec5cc4Q$o_58kvho#!WPzjD%#lfqp7u15rAo(F86 znccr^;-qcC6MHmgR?CkS}VKtwvN>jFQJb9FN`OU5iCo3*~;xYO! zXn4434`0KyXUD%c>)zB`v25xh_qAS+U6-wK{k>bN=kB&FDgSPF*_D%=>VITi*>~T% zBwp+M-LTv*HPW%>QAVrsE3=9x<|gvbH@m8@)cK$MYwynE7SL43%lbns&w9P{+%lIY zf!~iamI>YsP+w!9_jF2gVQA-0kGIcV|4ee3)g!#3;B3SH0LAbS!zMXS*$h@+)>HB{#cMPAL!>v;P&F#+u zBO5EL-CS|AufKcz;gOr&yuW>~@~d10HGYVAZLRsdajMlSC%##6wl7aywGyj*IcLfC zQiaVms%5*_EJ~UJ7H&+qrr^Hqv--Db{tNqi()p5Ri2Gep%9!5H*8bjEnUm|*i<$Ge zPgK8IZYC>|a@XU+#(Sr)s;%2=w^Bj&*7^D!DVIb|WS6OO&N+GRiADF~2O0;DeHLB# zNRIW6=K@}<%_}qRmiQ^1*tO5D;}YNT{b$cMWEkZ*JzUPgvM({;Xz3|YhuW>IU)a~^ zr06er({rpPbbI#yzK1ha?ta-J#O!Tb&0#-h&L&^EWp-N*ZBQ4gI>RJ%@L{oVTJY4E zEDJU6?)nesRwRhIiPyEQXlYIh-?!Sh!0w`qNBYc5Pgw)(d!r67JP@q-J0)$F_~nQy zhcKZ#+2RG&2j8t1*?g#Hippb)!@G6OH6(ATmQ66&e)g)zhl2d;|0;NY%~JU%63;kK zF+KhCTNa}}$E}n7pP4gz3%a(?J8<>j@ylxz_IFReGVjiv`iLh=49>fRWMq4|m!J8t zwPUSljc`Kn!{g_ojN7@5UPL_VD!UN5QBP!x*muFr>pMkuIri3_neg?R>8FNCF@NGN znlzne@n%*NdaO~*!Ez|GSn#6N4;7Wiq75|+uJ)=4JDGT7)(43=Bu_mkw)A?VY}4bg zhEDMXuftgR=g->_v#Nfg?|UW{pGTQ;nGd8EiY#_*=Fnj7S~NXGu$4pp40Fs1^Jj~1 z8aQh%sW@2`!qBiwX}-$zgv)z7IG-}RNyOzAuDRXVGWF#wgef#_} z{o1TaPMa=dy{xq2ojl{0?c+%CND1j1%`YGRp4on=G-*canYFn)Up@PH?deJ9-H*d}S`@hBAX4k&1;OSO)I7>D7@%Mv4=O&$d<9=aQ^#iY|YmJNlgaoK$ zS>*1xDb?8*^S5i=6YqY<$W8C%%}=s8&aJm_*d=kwv0PP+#b)KS$!C_v5I2^*L?my{Ni8KcV716 zyRz7d=K8n4&rP;|wDSI|{5TW7xGy*Vrv6da?@TpM=@N+LDUk}!HJK(GrliNtv$5+_ znCfE|fA6!GD%^IgzL2(~ck7pFdLEh^MY1nl;_%w8pm6?7PndrR7n8wh7pH}@!*vSg zt6jOp6A@(SYunz!zVt)w`^}7M9~QcP_HQw~H6ep(Ip^2>Ad^x#m2h&Zw4H*rvCHaxb|nFZcb;}o=KNv z16l$F*SuOYwUtR&RlRreJAS45Vy3f-5V!Hi&4RL%{RExr*IvH& zxbOa+y_TP(AI9#jyT#8|clpEK(^I!|9s8iySH6I$Yfe^_O=F+`yX5;RE=kWh*w;=8 zIJseK%|BDtFGjYH?wZtQ#M+kX(JTR0#vT=AJqw8&jVHR_ zRv9FI=-uk0z2q>b=dKLzB}+eElu3*}cAP125&Mxz3tip!A7;CCU{C$CwVRt9_cOQ$!=Q`rBTNwyUKft<}{~&JDwCST+RCX$;qDwF3-34 zxS?oPO-F>l?llb!A(GmB_Zssf{NuY9T?JRFFi%vDooW113tfG*Mnrkh}&7Mz*jBaCFeWL2v3-wyv*r=)9 zS&K3%i-VU;^;_umF5dde+}H8D_Wd`S@ba~9efpLByK&W5Cuf&Wz8V|9LXMnfG>W;SX}|UB9-rS8KL{iowdQCJvfHC;y*6)!3rTV)FS)=Z<~d z!4D4DP30=BwAZ_7bwn`gLc*GcCN7cUdIt60*hxQh7jIL!Rq5&Km2vFh5u2K`Wr;e$ z@2-DnzITv!&*jt!wT^EO0%(N#}^_IK&mOqMJV8oVEtP{FcL(dy_uQVTiaHEi;$($)mI4GwXL*dAkXpm28|nzkI@u&QG8F z?y_mIy}H?b``ks>3;xHCJ$x4usKL0P>&2BD{lA-M-iWR^^7G-*;rbhwiW?T6-lPvpD8)!Fcks>(ZRd52_wM#a0e*~I?p;X% zVH5i|t?b#}#-aJGMeRXno`p)@Zntb}#wSWIozdm?*=MCR3 z_2vDC+e3Ft9{(C2(`I=%e?g+TPp#7Qv`ODDm>gO7l5z6fGr#s(sVvs~`1Frt$1-`R z!ls|mGkMEq#`t#aytmZJcLM|0{Wq?nQuP5&5#Bbwrz#J%F7)M_q4<2!`T0>z-hSU=FS8mC!x;@57c@p=cUj4r?F|%tM%*TUpn8c zoG2)kxbflbH*fdV{46Rr?etnMf9rvL?}E3JR{eSZ-{Oz>m-qkOwl-d7|5rchw0!*s z`TzWZzjCMk_`h)9KgPiH|L^zzpIxQO_uo@J@WR*sC#~yKh4$5bzW;w=&oQ3MvnD(c zU1dIfj*Q8Yh|Jdpq5tpi|9^Y`|Je^j4%Yv7mo8aw-)i#XXN(fR_fI-hx%TtwwZE>KOMEL@olFikU9eT0B=>8>w#OFxn|A(xx}{az z+H?2D527j7XIIRrE<8BD{*a*bg&9}Yui4=7>2~Yq__)w-jyL~v9lQSDJWSVdnzL<+ z&X%GzV#n%?q;ATsJG=3n-I`ZB{zvTK?aJaY3v+YG+~s-KGqG7A>X>nXcmG?Xd%mr| zH*Avc=@kD{WTXEgu6pj2i|aR@YEOF2`S-+a@nEa+o&`7A(?3OgDB0}$OR1{fy6i~l zo;9mw^RrWJGTjB%S*~5-*f{fRL2twFq*KnddxBNN{wF4%N|{&x_3DG8 z(x>~@GCQTuG!@F{6Z&?CdD5C6qANDtX;1zC+~E*@^aBK_*~!;#KOvwBlVq zr;$(hCj+jfdqX+w=FYbNuDs^f$;`jKslCQ^E?!qYKJacXRqm)?Ul(Y2QCO(X;@vrU z@t5H;Pre@8T>(R8ovz4FkEwi|>t5@O1oW1j2mnN@?epPk3-(a=qH14lQ__W_` zbKai1dQ;r@TiW^SHoNj@U;SCAC*;;E$A7uq_0_@#W*9Jus2x8b`|e0*>&eA082ui!zdv)S{#f1IKO3e0 zAHRIv?|S~Ohel6YpU$`!J3Hs9`|Zc+ubqAertQD|?EjqqnLpRBJG-UI$vV}DUDw~B zBs&4dNzu9kFj)cxtxtfdWKe^k>S|>k`7Fe*NQ%`%^)u%rmu9@P;xUOCK zX^7mPhc*8)vvx1|5^sNc%SOFxGtB3QdCgiGe(DIP>-;N6m2`G~DSK@B|GRNk`e}(3 z-OdsXpC@!?de!f?)U9>gB_kNf`~CKv>-ze^m-87HySK%&opz6lwz(~$DN%69(a`Ce z$hPF;yAxk)`z@O8Yw7o`f9L+W4Gw!5t}mTA@6h5~jrNllt-B>|Fu(r)rq<3!vv!$g zT*~4-@yYV>XZ_O&_w$eb;Iy}X%suh?LA8dCcUPvK%{rPDR{BnFTK&U$2Irn_<<6;% z*jRh_xHwn2`F^P_PRFB#x3<3ge3;QM`R~DlRVGX~qLW|n-qk**8GrH0YYmoElboif z*;C>x9=wQr*>#=$%cKpl9*c5(mF5dPoc~_Ry7I^Ke^#>t`TfH~syw(SsW-dEM7Mq7 z3Oui|LUCW?$=Xel)34mgjeMqF@9(V1`|Np^l62ywAUTctA4LyOAF6Y(F8O=q#py}9 zbp>BboEGnPUZT2;OLlSooFf7I9z9$8_4@C>4{h2wbBtwpnM_vAjNpBvT-x>R$7#iK zbFozYo>f62%ar)tjh(J{sxLIz@}^Jl{+^P#6@SY-F7an}-n{&mXNz6_!p+GCr)Acw za;|fS0A6goW6dtk(KAa z-~9E~TWmD9*EOl@qCu z{ntebRmyNFTxkB?^0xl{Ir(cU<=Y%sKd(s1sGktOBDZhr@ygE5Khx}=Jl?EYw{PKm zz2_I#KlRuv(6(;H_IHk#yo>ZLE#$->1<$$s&u!-ZRfZYy?|A8yEtT&1a{WmS~+wxVHw{|1jw$(>Yc{oG_WFJpRJ94z-|7woQrBUlY zHOII2x_c~juRmArUpk@e8jpp~+MJzoY^==7&$HY8e{8w;a_T{`gHs%YD<1g&4PNt0 zm~+Sa@`W*1J+*2l)m9S9Q@FOFXW#8!}^`OxAD)u|8>R3 z{s|iE&2*nk=;dKZ3Vih9?4KQ{BCCsT3pr^S-+uVcy@O-IvC#uP-axUVE(kW`S&X{jPuQ(vv!;9?^^q zJ9kcULdxr90^w8E?~wn_a&-Qf-{#VcED+x+pHc9%y2b)#u zB7LFt0sc>Je6mk^`u6eKls!dt_q2{4)+@bq_PKKH^Ll+Qui3kGu0>}V)&0$TeMUaV z{GnD5yQPYqOv|Y+uWq?FZa(w=;KjnA>sOC$I{kH`_47a#<%6%@mU7)Z=U)9p^3DT! zr_XFrTwb(WI$Cn>SlgFlOZTl4vrf=0c)3HP7)+OMz86Efy5 zxxeSyfzZ^24Qm=^*B^e}y0L?C_4o8ICU1AB`Mo@Pb(*tCt=-%{^Cyq=_AGWjB^4`B zzRvRBj?>fsPfo94tvvT^T48JcmM^@n3m&FEpWv9K_c_+;iAi?t6XSnD!ZuN`2^n$`R& z&9d#Dv1SRH=NgvmYjf^QxghshAnbEkeaHeEb`P7oY29`&FQuyFO3R&Joa|fOaQuGx zQ{8&SSGp>yo(~22tbR-ZCqnGA})(5Px_E^E8DPqdS{T zWty1I+p(L+N13~cFI*R@UD5NaYsbu(vWaUa2UgAb_wd7!^#T7_!|JWiE|UA@`=EBe zcYnPP;|=aPS!NbCVQ+aRRSMoXs%QNWaYTY!;3WaGgJ(K;{s7&a%$7|`lV}AU3 z$!(9%RG+)X{rX3QM$(CU%i8@qR|g0n4F*cB zE=yJRS2I=01zp?ogtyrAXV;B`_BE9pyPwUwTm5OpjkfLg+`?GaI)w`8rT^6LJH;>5 zwnU^q<15=bT%4`%^-uYB^z*}FK7QdWVw;yl%5!MR@K~q&iLWXJ>8_{QeqT_{eE#DTzvQ|3Z#JLwEPSVMW^d3g z1v7*E6A!wM6k1QKPiwAEiTIdzhIeuJf@+o>g|lXVU|exiTXOmD&8+qL-|rl_)^A!-tG1=wbMLqW#kFB)}Q|#x-(*v2f@EQ$*W%8Jh9t< z!S=n6FEi=}SuFY7@rhaYQqe){c~e%_M_v6_{K+Wzc3{x#EsTeIB;}S0r2jaz=*Cs% zTDPO_k8|kU z3eUxY`BRTt8cq0Mp_(4hTzAdHV&DJOe7Ew1w4Rh=A-6`eP ztg8Dp+wH&1h<;f(ZOU_%Cx0%@`1nEL)CMlm&P^xW^WVGv?bKzTCf8zMzT;7;>3U`R zEghQ6+Py`K?RPBL&w1dJ!kr$*wh#4*XAjNX?_oM!;o8Z`f=bh}B>uGA|Ce6#F)cIf zL%hKS4UW$b4nFsb)2^{JYCFJrmtW)2`Q-mh^P^w$xt~zl#HY8UpyH>(6DC=kH41uj zkJK+Ls^V7SNmaSf!7x9)mn&OTb7C&3h0`Hw10WcoRxFyZg@w=y2pDPV@)(ot^8d~tV4q8AMNV@6L>c)aT5FfIO)&jPhYSl zy_Aq`ICkLl?+aayn;ouAQEz!zIRD#={dISKgqM^~nX*7G)>(Cx!`quL6u*Ag=00T4 zt`!)Xd-E=*{qqYc_jnCsV;4$Zzx=nR^kTb4`0vB@lj~Dg6fgf`eSW36;)^b`b@O+< z{W^iYajIKfRI`Nm?mx>DzR1@&%+2S%8fbgXS!b5#qVDI(K79XjUp`TbHLpU<|LofldV9XIjNzBWdYu0MywHClXTuP;$_ zy^xpGXc5y|eZOA&$$=ie7fx0=_jaZ>ia*x2+&nuadiDCH=j=8;$+BnBVVc=&vWBNt zvIe|f$3+j|F8oEK~6cTM~hCbmMz;z8mW9?vZ6$^SWgzFVs52rD{16TkOjy$z!) z^SXeHlGj!N_opAJi}o=}eQ3Kl?%=7(v5(Dc(|M<5PyLag@I(JVecyHA)AmzdOZ$K7 zc(N_!=Vkw<$tSjPJnG$`+Hj!euUp1{X-St{)0~gXeqH1}C+x3eT+D52y(1<(XwhHs zYctDUanz-Y*$Xp&7kXHgm|D7luf~bvWxDu@Nj+z7tc!TFz2?J?r7~}1jyP;#p2oa9 z*mUXvO^XMcV()M4pL6lQ>ZXGFN#DL2PdT{$(RPtk>p5>MT~ABT^v(VC>a4`|g7T)I z&r_`D&r0B)bdl{BHdC>&THRsmhnff5*Oi`rP@El;u4$eVFWrf}{_Dvhxy%W22{tx{*2Wcn_pRe%a-?T^70P8+%wvDW)YskS z!kqspP?}x&%i7ofn3v~iZ;AZC!6}*|@n^HxoMp`7$fx9mmM^1F54 zU7qvp6M7zUql#h9+~*8Jd#7lgwfnVi&7TWo`U^^60%M!5eOEP`AmrHkJG0mF(Zop3HS# zr7B{u%ZjJg>0bNgwdMDR_nK3LO=AjX zO^>XR4Lg@Pt7Mnx(#wsPglhjg@BR0}c6Yh$k5x?z&l(>nesf`NPkmH6@0teTACvk2 zxJQ|Ci*3KP?Z|?cMO+6yI!&H_FEsJv=GU`$lRLL(^c(yzuGyM@d2N~uqmak6Y}tgM zc9*IQ{r%j3Ti5U7{v4zB)z2x<@Of1^)B8GI^F||&>t1(M*Z*9|r0J$6;AWf@wNtxj zlkGz(gDDI9%3m&@bIPBmwQy_wZfVO@hOY^`UyGLHrRZqeEOj`u??JKOukww{pUNIK z+7p*nSaBw(aJo+Nhg{+IBY&d~@@u-BbH1JIEVm_5bN;EHYkuu1mXkgF-y?L-&r{CZ zk8bN?ZZ&V#xnY`D;BK(kPo+NE*0}lqA;(wCmVA#}{^DzXRQl`0J=5hjRF%AvwyS^r zVsUARfPCz?1CjE@uC)Pw_SSrf&EpW=d2MxG+ijIuQB~*NOZJ7782Rj6KHchu(-*1vA66CeEtXwz z+&@n7-?F`l{f9jF%xC(2E%i;Yh0c$|SI;|f)SFjd;(X6^vyex`@70YChhR4Eb$myx z)>OA^JX^hpKmT*qv+omLFL~GEesAVXj>ii;%?@uYI`dYr=*U&IsjO0oc6`5<9?|no zys51_;oOzi7m|N?G5t>~jhLTYSj2L%^v!Fbjoh!~C#P{}pZH~Vf1l)q4t3$y^M;#> zWYgX5T)Giczxdmx8+IMCD^JXS$gA7_!)d#T;NzFC&pwzfZn|OZ#xt{OZO+^~{nYh# zg1+}h*Jh@!rFXdacP1B4vbxd`F)L-?rR*Kf_w$<`KD~LMC3U*xse>^G#GTz(o(f*e zYuUqmasPh9pw3fE&IIpCo5AfJFpJ^D^KW5?X6&0>^Iw^*YwK-lqec20XV;v2@MA5**Y5|{o1d)sntG?*=i1t`k}CnGySt~S`Um#yJ-_B# z`e7&j$~kkUnjLwT{XLKx2 z`aN^|_IHId-#-yxxXv9~Uiqcu?3(sp%Y`^i_8gY+E8K8$d!WoQn{#t#i9TApJNdf$ z>$|5L4>eSO_iel-{j#Mto{%=2HC;qnTw^{w-b7P`y z{r2Yf0fMP}?!3GZ^Y&s}-J5j=jT74<&dr=PZ@O~ULGL~T=VLm%j=k?s{MR>QyHeLx zH|?g!scNxN+5|_|A#T^)Z`fM@pC8LP_5L->0?a>rEtJy!BK6S#o zhfUXav=+uR{ANEeX|*lql(!3>FOWK$Qyx{GzT(>)!DlP$xz_!y;j3nO_?}y@SmVoc zrl;L)d+ti}edMdZT4LCJ?ad5*o5QnzKh}RKbU^02h|5l^drx$t-c)aIsS)W=M}xlA*=Pso3v z#e^N(R(=h)QnGa3FB)m)H^Qyt zd32sMge>#={ISJj!ODECKjB^b@7?42^Ct15>Ljh}fO)A7!W$jkShTH3$&x^w-AgxZnHrw{ZCALp-md*$x6m;G!7dnPYj*uIuq>+Q~K z^#VS%b_PXj_i_5%cV}1IVkO=zF2I>n&42KX)ST-pm0#WZC87Cu+t11m>hT}rf26U6 z1ip$)sy4qiPi|f-d(so#5dE6`^GE+4u$<@5G1+GBMf-@=S~l8WBPDl5-)EA%HTmyN zztEW*X2dUT+1he>Pg(jpz5%$l~gr-|N=%ZBjiT z`)Jcw&fD|bel^ywtCsQgV7$a<<1HY0SF`hq$Y+)_-z0DAPych<_}A!mP zh|lqrBIjoG76d-#QvJ61+-u*H6GaadoAvOlpXRIX%ouR<#GW~QSAQlmw=euNJ*-q( z=W&L<*TY$v@1jcExg%qAb562pRxAB$y75@BexBYs5{ztQ6=^mY5(a~L-vbfdnS6rDZ@>gfq;{#WDUM$04ailRQVqJ-?z@wU{YyS$~xxK=;+Td7FmZ#lIy)dmXLA&tZ9Wm2) zZ)I-Yx6e&7CpOw(-^Hq{OAjc_t7qV|4t=)J%yHSoq&JIIt1g#*=-~d|?Z7sx!1~9; zgYiEPxVnaaZisz)-u_Ei!4Z*N@;BZkIDR^Hs945s&N+q43vaG3tIRzdvi0VAP0q=> z3XAO0ix2H-IwG;Gh*!YaLUG68q^EC#P4+7)Ru{bN+>*$;cXoHEzl?L&O>7JL zX4r4Xymx!;hAs1ib-zU^PkG09mCHBn;U+0hU5Wk5PQ7g@*6Sx+)2UJs^|q7g<614K z`FYCCrwUs|Hy-}Jf2#dGZgcxmmn}zht(Ry9X)LH;T;V?9`}Ze@?`Ni7RW7UkBxe*~ z;BaUS$J;gHC#L%4xBi%Ip1gZ8XE9@JY;{b)3YD+FO4>d-*!WMa68g5M@OQNT&adY_ zp84WZX<<{upYHePgn^>>@{FpiZ{6zu*4XH`y%oupo$*AX;mzICr*a;y*T3w^Fiq)d z?N{+Tr)SH#oUT90^x}u)I&Jq2Gdy2S&Fo_oUv@rI{^_rEpIE+%KPh~5I^uHa-zyKC z&a%AR__aH0dP1>(_Of{^SSGJa+gtLMeYK&4g~2uv71hth=a*lQTy1udA*Z|isp3-zH8z>zX#6dfzMBUJR*1K-Q1ULeByGu%g(D+ z$O%6zIJ`vNQ>@F=@Y?@H(PwA>u0Lwbkkn&3>D{`%Mc+dbPj?*S`fpTg*OtGicICHU zU#3a(o9rxAT)KQ?RfT|L?E3nJH`0TX?@4Ht28XgTJ=R*v*x&T5s3NI&%X-&8(tox@ z)T_sF2Qw<|?8x|_xp&vvAX|6Io9hq$x32rt1YQ&QQDHh;MeImI_~G02yS}|oU2^&I#H$`gdTGTr^gxifbF>&b;qB^DJLO%BwuN?VHff z{Jh{ezvf!o76rZ3{_cp_xNYKRJZHtsuzh)v-<|Edw7>z9sy zDxJMqzJ%@E#`gh<8<@`YO*6g|otJd?oI-5HC-wh<)@y_ROk}U9zdwEc;ib>l^0BWf zojIFLaUyST!^z`M7T*$Fvu7o{wd^W`$B&Mf=Ja3<=bVxnq-N)Q!Pa&yQy;&o z-@^mW%)e$F{M2!Yd4>K-`Q64fN27Yz+`BuEHD7RQ;iKQ`wJ$Fmp39f>SU)3g?w{0) zyUy0_$aR?YqgQ*?^D~Py&%bu7?YsxF+wpzhr&G>eVN>A2GTc zmGrq5c4ivON#F4N|8>qDzWA$6_6nRWIqQ{AEvd-Kp0Z~{=BfTitS1hp-7@Zdy!KxD zii&%Mtmi&3z`cQ<*VQozvq;tjK9%=DyL6eJ3~Cav<5`kPviQtuug#kly$_<8A(?f1x*%`|O@eOj_0@nq5CvX=W$0>U^n5)`#Al4BfxF;LwJj zr@9l5XU{vicnXWE<@Y_exK`8z&)J$9A#~Aek;?9BONAr4wUc+*bT8IeuvYfrwC|_C z?pZ6uxZ=PLmsPE&_Hk!cEIZINJ^IjmkxF*)-J5;c?i}6p_VLfaj^iFLxfm6qe@I?h zv)f+r<24aEJ^uQ*4TnB;9$TX&e(3C`s=!n8rvL7fx^v(2OaGdt(8bHsE$mj@t98qL zd2VlIz3kM6n^)zZA5T={D2rqY>Xc;g`KniCrxNO7a3zB8*Y?aQ+wU|n%H{ajD6$>R z(4My0; zQGd1bSk&pgAAb3G^2=Z3lHI%@ziY?+^kQ*^@Fy-Q9b4QYljpL{JnW=DS?$YWyFdD( zs&b{DMee&z3T?RP(ZD@rLALg1UZpphpKrF@=-^ds;(xtED(vwL{(Y^^(;Z)aO5U>i z?4h(iHTC?pS&TO=Q>uzeTpKLw9|V;9tZVsx)@6Blrp`Z^i3Utd-7C&^EL-+oWocTu z*piKZg>T&3qCLZ(%X^jiC9dYfGZrn^^pxn^di>)T!=^vcVJ8c>bGv@p%=JJlV!}4T z<^G$u7lu#Pvd+?Y!~O5m@oOo9J!X|xCcpZ!qc(iWMI~+3Xb;%igk3ZTvUYEYr zdf-x}XA1vL`8UxgX7JDAQxx4Z?|F`Y&pvgg7gmeTF+3GGn>#yUl_`IVhVUkj=s)K@ zpS~-NZ8Fy~y^*f^`%UYWlsP8vAIco~W)P@*@^}52bCJ|xQ^rlB zq6dBJ{&&2}iQl}}{HB=U((qTFtiP6q>Gg7OMMZsTJ>Vp{?e&qp^H~+7&*<8Q7|O5P z_d`QK?&1;Uth?F9zn1+!Jp22+B2^9_q3s`8?Hy%ytZ3G-T#=RWAzgiQ^%vGF8>f6& zb5-Fqr?u)2&HA=$-=5u1jk%w@s7&-o+4H)7#);btC=p$Bi$Ze>P!w zSY;Hl@0$tl!x<;u$sSzDe_mZKc4O`F)XSFx3ix{;bbZbF_rmvO-Q!EktnMB7vi!!M z_L*gNh3huo*w{L`Yi9ZF)Y+5Qr#((>waY)iUvz)5?&dQeY#ePe9@YPA$WFREL32W@ zdiHnmJL`I8PmlcOa`2mf)S_eCZLXFaUF^HT+P8k^(=XOl*;BgJ4TOHADy*3tbGxL3 z(YU}sN9DJg>L=?s{_Wc3w}pL7{ysUX;IF&PTk7SfoLMT*ro5cp^ZK@l;lvAnzKHOv z@!dN5uui!DP{Gm3lLQy8Pwp}ItKZMLw!LHRv&_tAk-bYR4}RY2q`2U3*5tTl3Eq<# z^vVl$CofjGwRz>4@b8A&4DY%;zWV-NX6~nN5-~e#)*;~^rz^h{>+D`!zFW2{;=cCP zyUQfjt=HhLa=H5R;+Dn9a}B=ji`uERGUm%t^S=sPkEEGN^U8MiTsqV8kB4uma`3Kc z^;dq)lj`UH_xMW+=T2*Rx#_8EPB|RZxEtWZF#FcuyV>1Gs;k!r#Z5BN2=49-y?Y{8 z%ZTbhB@C(=9O5Z>BYHgc*{jWNSU3

0h68C84=)A=4BOjuJH%i!Vu=`D!b6KAqMbA)UYH^~|NJ>%4@nrO3S zaapO};lHW`9d50jp1_)QwdxAD{+*|>+PH;B%IV+Ux*>gRvx==#@#y-fQK z-`%3qy5CMLypXc)k>S@M?YMP8W#KHVzG{Ry@!5X4ATW7qc%0<^t%*J&_mcZBJtJZxyDjr||x74HYwYJB}9S7!$rMN#*UzUG=pWdSf*}osQ%O88m zy*@$oV@8+eG7im%8HLkQB>s4`-L5j*uehE|1(#D{m(Wu-;m7JN~_y0z4lYKl;0y(`#*CS zXFfc-GjzdkWrz8f*E2Ege!tIpmrV50pnQ%895FA1dXLm8+30k?H~6&Wp={rm?{|v( z)%||mdH&!+_WHfkrg$6lOzalD{$#au{+^4RQ3`j2dQN364PHMzzRuEX<#D-ghVE(i zbZs}>Na|kLl$JPY*3nN%Vu{<7lRut|Z;@iTI&<@^#l}aB*{Yr^PIy(T)qeibURI@^ zy*j7ck5=9|_OQuT>*V>!^tn%$=mZ>L=lruFrBU2V{YBlg9*$(w_~42uryot8SK9S> zf>r90bKLIowI*HbKD#}5+;7jfdAFwVDr;*Y+whO;^)+7@&v5yiu<23U1SY2idMs~p zIF@}|k(@l|l$KKciyKw1*D447JKXw#%=zxyQL1Xtp8!5zw?RE|9_kX9}aB#Fmdy$m+Ln@ zVeodi*ke75>YcNutUmYVLHRictvNX?GLrtEKv{PbF;!2j;vDN7AMHJ>$N?oyi5;@qBore2D<(HB4NiX8vRA^dy`jG9r|DMD{SVsj7dY?Z!HI z@_6`!t1JI$PWmw`d)>wgw`mv3MAvb;^ld(Q^hc|2_xt%14|#pr-?RJ;dveRI>i2tX zCpE+$?k&9gSo0`vrrp21O()gN&R8Di`r^YfV@uHP?ce369p8Dwn5q4o@Ttos>a$nq zMBY3%-`{txCDVRkJF~@Q(_ZPm-}`;u_cQGBH5V5C`1AR^q^R#(6{G#`mFo-|I-VU~ zEc)=up%m9co;L-9{B1t6G}rw9_jhhRlUON`S0t_TREafG#Jza63p{i)|}qA=c+%)7A8jH<@4(Q{S@&3_4iRpP}sts z&hGziKT$uqeZwiO)h+Y)ylmkSeCYl#KB?%%fysL|o?;NXl(-|=eeYf)+1vN6Oz*jg zx3tZVtBd8T`@zcoL}!cW{l5YdXRQ}8O%;6bg1he6j}yvVGD?SbxT?hGf9Z1n(^RFB zw_BI@c*~*LYzAklaJtd4$F0k}HAkid$|b`}Ln{ns{)h>%9}X z2G5m~v~E^DpX$IPJoqs6kkf*t92fG>+kTJ9v7Mv6Y{A#-@%CEp4sq-E zB>ge0e{rH-x^~iqBh!wErv8~@_dVfu;YX##yrCbeHw)e?yO}D!yxH#MY!M5lQ`cXu zKjbh;wSIQ+^hfe_2N`d2hb{mo(0OWZ%Q|CxC1P#XZ%99>7t`gHbnBahn`AJD?J=eq z?XfvsaS#6;x78?Ov5AR{s{8r0QhF)B{LL)sqSF&n@*g%fKNEBFKQPl}hWA6cZU)&I zXSaB~wd4TxDrUqM3$@tpIeE@s)6aLVCHv=hA6JFsbEa) zt6zRRvG~rj>%!ED=N;!cFe+ZKVu`E$8tS4T_SfgZLi4unpHoi9 zv^@!%(D-Me@^f9U$9&dr95i(*KHV)`HMuzSj#b!(81H9~nOWEFc+`~`H_iD1|KS;G zhvPt@^ptU@XV}!emz5O!w{0~&Tl4ws@ol{?zLye4$Be~M1p|G(ee*C#JXd?9I& zz%Wa_*s|)G_WC`OeCG5hZsa$=7;SP)L+$@WS+$O&w3}S|2~Upf{4IHE`GW0tomRPZJ54aBltne^qLwep{5I3zQ8m8|>2N%TeaqYG0J6xTMqM zz(wnAET6d_i;6KR2t=7jgdCUu)FG&>bbAA%t9|ve4iA<&u2ekHl0BiNhC99eT5d_feH@&q`aFyg=<%XHCC7B1gi!KJJm}_((PFHp>s( z6hAoqq>|8LIW{x<*qJ^t;XU3$ZWFA-CE|99oBRTGBTA=gSjCDk#=KgX<#tNtwPJ)% zfSqzY$CZhfPaMsT@_rtkuE$pq?&&%E5w~v1S^np&)!a#9&o>3R2m0MA-ZU}#&8mkD zkEY!D+jwz<)YelwxgG`d+Lflf?tPy6Sy#%s|Hr?|Z#UCz=iTir+c|%q-Eo)3bxjPr z-x+Sbym8`=8_$m}bpKbBa&p(M>rEyPzcR|*pUHgj`wgqG#Z5&iC$90HSi5?z#&!|L zm2*uGpEhsHpZZ}*Y8a!$jcYN*XH}=iObRYu@-W8Y*^|<1k?k|q=#(CHUp_m6F=64< z$@UlZH~C)=-SwixlI4c2oUd^R<5S_%FH?g3RtC(Kvfgi1%=*W=QfyDb<@JAZLT}zX z6!>JJb9>u!);;??ru}I9dVEvk)UYVcQ%yn=N4LD&sKa;FBGG?SuA_=|L1C>t+p@c5 zx6jIkC#gJrB@*p=@p?FK%F|aGEH_H53LZFkrJuGkzxMC(|Nk4dxs=bJ@a)TFe}41d zB_ij~PMJMt$LxjAD!pretd*WHSDtm308^0l>wKMWnu*K%&2n6h8hqQh{%XFnAv=c%=H;1$%h+I*!(aM6Wafdju9Bxdb$Yk6_P=)Ky=5QAD_N?a~{; zNs0lIj5!(-zarP!Kbw*KVdE8}dH#+RMCA4?_f(7e)PyN|qqHNtBU9w^GkM{eQ z7gw<*%X0hI@BJn2Fn4tH)V_tIKwPmyO ztY+xnj^3fxXFTUw>+H|%F-y+PEj=;4&w17D4|C+6N^(BW(_S=rBDn65Wl=l?P zy?QM=zxUOQnrMS%I()1rm#H1@UHGt$-{ON zCmeF())ldAJz@U$`}Ox#CQVd!FZ!TxCiGy$)5Xpn#}7Tb+2PGF6mx0FFB zouK zzURI3&!^Mo_bQSnZA@%`{CCAW29N5ceq~3O3)$Rk^Y+ZRxW-!2SVZ<-v`5M%=6JE& zUE)kf1t0h^e!F*h-zqHIYGkFDWLA~whH_6QU(hJx;hTG^OuL+ zbWT_1H$1cFVOjHqh1YNA?|&P~@nnO@wWU9{WWSjzJHdIH$h$lagGaB!#Ta=Gc-$yq zwb6U>{Al2WuM%!nMU_eK)H(cAT6(Tew`Z~jz9XJ^i}3!45rE=_alk3VuxC4-p@-`iv{VQGctoF5y44!ysdkg{_}{r`XLauo{Kl(v-n?M{?< zD&)7`@8f#?5-*m*UkuUT87EI(bWQt@{`SZpZ=SJgDzMCQIl$xgV$O?%$R#g6+~e1E z$ltR5@TMpHvOn{0X3G0@^8~-xvT}~g_IHX8Hd;4KIjJu)U%`!Ww?Xk1<9z11d%KDz zKHKy8++vO?S^oKqzqNG3p-tfw?ZEnKCZ@$-TD-1BxPKEWV9sChcq1?8&$f#yTSZjV z*I7NO?z`fbvgSqh`N|`H=NXy(4!CC;SZw^;xl!#WSG!C{m5fH0-n=H>nhCQm2;7>l zbV_CMvX!PmDg90gma!La8mv^(FH(BN?<61e}7;C+>gEwg-tk6rlb`}f46 zwEU|xl|NXYR9-CHw)x6bw>^iHzHG=BmbcHj%OgG4z>RCQ)6IoKspmaq>wY}6DLUI( z9-`tGUjDf{#F;_TW3K{t&hEF{I;wu$wEBF;c;Y=Bq2IDi;U2vUr><8xb$X|fnD7HJ zN%N|sA487)++<;pDx!Zhr|%56r=xMwF?r|7*&o;UZ;fAm!QjJ{VE@(~nmR06$_L&x zd?e|acGCGGo$$6FEbNzTlO6{Dy)uww!0)|SKzT6vh`;u7~%C=k05?-&d z^knr(Ny*vbQwmqUP3DvQc|mDSPI;k=@#~4UAEw!^);qd9HrRUYfAL)-0n*J`-6lY+-*F1=1NiJ??c@BE$J@K zO*a0M$L6HEvxVm4!qt*V3pc-F6w8_Hwa_`Cmqa!gjNSSejG&~)axoh5SnSxa=^xqaS#)v8|1RDJci zHvuKf9X{SWw2LuFJiX^-QHhNhEOIbS2;k4E3*z$vE% zy7)csWQ&$x7rc0;N~h0RthMdqoZz>Ym-{&994xc#;kYyC>ihZ8){Ex|HAK{CSst!Ny zv*zP>KJq-jxWnjGAZ)5pFCb7JVhCtT(5 z3MhJ*C0w!0Gdsv~Z1H^i=f~rIc3!D3pU>O7+oT_LKdEJ3_w(s=&~V1nH>t+^{(ifC zxQ!PyR(>ii+8PXEtgyDpzip<{{PSO{`P;5+;93b#dp5z zHc6|J<^6WQUc6jBf8YOqzvJtEK3$_^6>3v_fB*l#??J=&{r3Mf4oOVzSgL=|#Px)j z&t;$2D%~2<->ba+KOH{t=jHPGms%Yxeuf!B!sdb%OVo<8S!*i){d}&!`^~1ye%5cN zMdxMyiU_NTo!atm_xpX-cT2D5ZagYB+1Ko*T=g4ApV%YCFKm9jSiJd+(P^b_olPGO zaVwvEy5!30cU=v?;%;p6DDAiXc0oLW9e?01b7~N_u)~G(OB5C#7ZBoT& z43Eo}$NXEj@7JsE_p0;xyi+fyPt0mNr#`>NsNjLauFEBteYf98>R!9|+pYY)U&F#2 ze|~(w=kvK0i~Fn&^BC8By&C>g^M3vRzqa4+fTncUnDyKI`| zYEO^bQ0Cmu#~Qt)Y31^Hv-DUFfu|$37qnOm_HBDn{&ws2HXqP@YlNhx zw)Q?fv%GyjpKZ9)Yj%sHaG~BK%M#FNmiG1RS(78y?^0!YRh_swZ}VBRhtq$6>hFBf zcN#2p|Nnmf_xE@7Wtr+X8$lg>SMk`Cev_N)_y3bJ3^S{pa#w!#!sfh!KOc|(W;os6 zw(G@|(`*+Wfu>nkJng?KU-#o-BfDHiYuF5Thoa|m%eTF`c>m?{`EtIRNwdG))4Lv1 z%v+sa<9Beu&!gh;E-$(5#K7KsvIOc)%RddEiK^LanxF;Ff-)Ajm2;C^KKy(>f4ijl ztOuJPEq*gqe*L~*S=!}mw_eNYzxDF~Gk-*D6Ykm|g<4=D7WU_yn@UqKm#4NsE z3GR(D(Y7?5GV|~E`}Z&1xX<;uBlyMb?fS1)Ywq$Z?z4R6@cXOK#ocB1Ys;&p>oo7_ ziEddOv~|TDtGHH!fK~5O)&x|oycOBK`0f4T^R^m)e6DG)+0eAzb<_Fw(!dB%gekDR za$4{->v_NZza0mdxDEEX3)h6z#EO1C8!mdJ^^{GIgkjUqGh(IM!hy%u^?}lE)9yE$ zyn|-&32WT(V~M!E$NZr|^`aDKhLUoK5Z+iGBK zIXA&X+tP8{r%ilkKJH)KZ+A;*`ds%j>$qyoW?4lZI#Th{{7ymh{-Uo%_iMj@_2Axc z^4cbux*rcOuKsiU5y(F)d8Vwb-g>F~I-j@@!;af|yIW=LV&Y?ydrfC;PhH})&;wFV zatOZImi7Gg`u%afF&q~IBRE1F9BTDhbW3^FeHIkl7I3)oZSMJn=aPALJZtVs4XU{L zB~o;y&vEmk1~aa2QfUpAkFRS_n|AA^XyucM?yJr!zxV)ZLWyapr!vaRD7?;6`H{2l z=d-X2&iu9_sfKG$?r;_EyC+t8X1(jvYbUjK<=plDdNO6<&#lUTGnda5TdONQ@x1;2 zJ8Kw9IA!LkYHEY?hyu$i*9EP5tvNzh;~}no!NbubWBKXZ?fiCOlSOv5zg%?A+W-Ia zJhpJ?wm{u4{@AU{IMjoUP-6t;8uyWegL_OncVHZ#31?yTAEoHdK1RL)hL^%azBn^*Zvvir#4;3=$EIi7pE z)P1{|{zkAD;)ku*PHJt>xjS3mc7NH2PX2|_c{^G6M+%4f6el$0US(O#1GCZ4lz%*oyYun z^JKZ@B8&U&tj-wgwss1#-slxR_TY2Dn~lf6&A1SlyGfzva>mO#e#~w}W%+#?->;tQ*57BbvcIxW zuH)3#3ho8f8xp_HNbYldnzldhi`iE}UsF>%`$@koKQL@LXZ3oC+TqokkM^70`aiSw z<@0S9MR<#^MW*)_O*|w0`q%6A_e(DOp6>hnbL)z0R)UlNMQnR_cKW<{Yl-5=t;U&+ z@AvP&~U768^$L6e&6C_JIRi{OiTy#yJU;Az2F{$os z@2r${3Ys%^KAGgbA?%#x^Et)mZOxxO$y_$`*^0$|r%v^~I2nD(czW_1m(=K*k4I}4 z^X<&r^U=*^&Ij|yJ;q8GBo3P2t5B|K%}M#laXDf~cub+|4Uf3M6H3fZ603@3Ko8sfO4#z5eTDSY1k)2`n!fN%(ZAZ-?fhs$niqy-}j%}t< zWy@x!C6#TMxPeL5#LzyxQ#|s|#|6iWUUSBBJdT}IoHXfa+sPBZx9|VUYxVohW`BwM zT?Tih-*(TN<|WhIarE)kV*}af?xmnDVeOHoOubo^NzwO=E zY4Z+8e7ZU_eIDn7FM1|FpF|&pG>shoawtrm`d6{x8gL5Hz7P{Z2o*WEYki}Bww;G&=wY(B5l&MRedqEnhxIc|bEhmwsW zC`WRy<(wp#8|93O>Vo<@ak7ds-KsJjSBG3!Foe4&1eNUA*Y} z(Y;(ZYZX&3OUv&6#yn@|*%>FeN}RaWbhlpivu@S(;AwM8w_Y9Ne_(mmJny}mBe%Es z?PIsF@0!^9oUEc{VrGM2~&+HM_~O_ljih z%3Gd}W|@k%8)iLhHJbQf_Bpjr0Wk@$@7jDm<6N`iP3!j#r4v>YH=nn=t)a44P+?`j zqTTzQD^h1(EZrY4rSY)t_B%pW8HXGm9*GtEp1Iy4zx-aMI?F`+4HK;$SxS_amRTvR z<@<7GUpQmv`&VDif4v_6|7v)AD@Qcf-Jru$CH$^kZGO@HO!)JccTH3M>pna;Ha@tA6|S|Kk6@T~IjJc=BE9v)4Rc*gmYP9;+ z4yB1JOY`@A`EyHE^03jnjLX^%f+em4R1@nVWw_bg({=fxGIlzG$B(8lk z@TcdTkp6D{9ewUSku@LJpYJT$ z$*^hb+er)#+r*cBdjG@t%f|m3LaO4;Qu0sO|NrT~t-|0`px4c!g@?Pg-(*jmD*t$G z@##e+J95tTiPnowef{x`VI#-43mbk%ZtqD`J^!e2lU8r~8Ll0>A8g=1Jmb8hopOsv zji}X};=?RIAI^yi$(Z|RQ_(%O*Kyu2Ew^^h@VtA#=l+2v9`(Q^TS$-B;Vnmq z4%ckgR%GTfZ+7T^TYa|Sn3DgC?aBLoJ~Pg$i|H+V+#>9!FiAgY@7HVHr<_)oT%0r2 z=Z(%ZhRTafxAS)AzF5}%c&^N%ZQ-le@2jd%>U*3ncD~a7%DJHU`KfQZ>LvTm%#U<@ zc6wR)ra7BkS6V-xQ~YLwGpp4X;qRucCmWs>KjPVwm!U9eyWI!3r%_@(RTWbb`w|Ws zzp3-vFqhHlcHQr{?wx;Pi_esTEBsi#dw;G`z{1j1 zQ)fhd-!?VR#@K$*Vx!-WW4fC6#R}ztN5FSU}d1UZY2S(^DH$ zdgru%K4-1(C1X47k?xm6OvyTRw>ZytER&0F2L+y}!q=gt!%Ya?&D(a+bgrPH=H`U#7^}g$Ae9$ z^^%2m=v&Y$B}j^{Z)c!1I%*BYL&p z%&E30cqe-=CBm#W%$NHTr*(sVb(_iEQ<83Khu?g9>Y~B-LE^*V?Pr$lb9>cj;HZ7* z%3Mj7+Ih;$PI_&WITjjQ)YT2{OFA*FSWo z-<>yQ-wA)8mGK9!tqiEDyW4xRY3cM;fptk=>PxB*&oqASv#gX?^XJo7Ye5yvg5yd7 zfp1eD9TYgN=HHOK{B_yw-1c|oDJKNJn_XdZ*nH=OyX)`0vtFG1)^$7J!L;}(Mn6w1 z=?m(;byE8p`?h;k**TYTb{zfGTQk8&{^*W+Cw(ig2mSLFaO4*py{M_?5f;m?WT8a?OE~bk{SlTT&21T zk2Xed7aURW2{5Y-ljXjYIHUBm->cXQF}=yI7bHK39JQTuQs|=YS(lFUL1ET!ThgcW zyt!kSI`MEjKfiyko967ABU=t$b^H>y=h{YB)o!VO&;R|pzTc>D!~BlClXIhUILgyY ze^fqNr1R;MShM~=rb#6mJi@}PxwrY zRb&di;>W^t?U#?Fv{i|QyR9bM>FmRYUim%{60%}Q^7>e8Ei-lF$=w|GI=Y*7cV>24 z&I?}f=CEQ+!0zH{JNjCi(-%ri4=r)LXE3dJrL6nBZ8ws*#qBP*T1K31i_EppVn z)4~5;wXajSLG>#skt}ubd$Vpyt~)Ba0K-*3?+B zS-}}MuW5!>9o{uv*LJy*Xq;isnk|>SzL;#c4OLjA0~sR<5NOoOQqOzs`#hz&>*XAg zX{yIXo-B6S)G8KrqG;i-qHF7Rbc!#XSbFP9W}Efp9r20V@0NXjDI=`IJuk;&v5t-H zf-Y0Z|OC^ zcSEDVvX=qJkJkt>*wT8WXSnERec+SkZzZZ zS?2ldk8cidWH?v7L$3IGZ28%ns-hRa9B<~gyRp5uQe|C<<%CY#9U}R28V$emTySK1 za7kQG)S!{=Vdj$)6aC^F#S||j|BmbaV6sVv<)@yzagOWJi`#Qo3QGqsF>=-Pww?Ct zmsjAsoX+a+?{cTR8L=7taCx)v#LRLru>~8lK5onT)v>@nY{6kWzSHL-&Te?NMCU+6 zu5F|9Y|C3r&fo2RziE~<{Ppk{Tdzn^iRGMApQec(eYtG5p4QTz?%N&~Oynv5U%-^w zsXDELW6|G3Y}?Lh+>_r~cx1ZO$K^+rHtb(z7_hLkYf9XPce+}8Iog*v+8mH^V7TmH zu}b{Rx)f-N<6}(Q7qtI_+g9nk9S1-EvUF4X^uq4sliX=fisD;!VwO~`Ejbm*m}csC zs3KR{e&)Lrd2dTi#im%x5*NWZ*>lm?yf5C_pmAGwR^q~x@3TWR-fg`e$9=!bB64xZ z;oNOE*$$q&d^_j(v*<}vAMw5wxBI)QQ2B*;qnkxVA=i}-hbx-|pWWT@KJ>r^+fX-+ zo&QgM*c9_Uv^$mks)p9NI~gB&+rppi`h0cC{ufQI(|`R^nzrkXvYWQFF{66Yz2g%; zc%9tza^XptgHbYPPnAh**czmD;o~#zpN3iYgbzti4L;rb>P5fXo`-K9-{aD%*pxcu zz-+;c$9;W8hSpUtS!QtGuw!O^bA$h}?HQM3-J|h-MO8Je4u?T)wi+|9t9wsglD@`w zcM|h~_}Z_blhSuL&34{=v1XRfN(sn#ONLxy;HgOtJ3q~J>S)`c@O+-3h~j(&&JCX@ zR2=c@Fy49V*`d8OPZjE4`neM%B?vaImS|wxtE6d;BW;o+WTE1rY=d>a-X{Nmy zOv_#^;d-5D)cV?KLHf77n_jd^#V#q^wUBG(`Sp4ST36neI5^Fze|bz#u-T*y4kE{X z`?Y)Yb9Fzfx;LTtdPVGXjelQTOLisANW9RSk=Wg^C$~IhrE$yloGJs(<;{tQ+a$e2 zUtD-(c0J(~PwD1<`+qmuzWbWpJaYBcnxf6ORxG&nvb6AXs@TC4o7?5NPrjSh%;&H< zaAoot4<5S-HoTKFvt~V-$P4P9ee%{1{jTPnA7Q;ce#54-eVotdFq<})RAA zXeU^gV@jB{X6b_ijdsda2?rV&*Y!oIFtIz^q)XZIN=;v@nszjN#Uy{rFs|SZ?KyFJ zjCqoV#cJ%qhkqFKl+8NYa609ok@t)l(LNtvJiaocr1s?Zce~$z`(ePaT4Sl=#HKwz zKk?1W;q~`Rk^B+B!Krm8h@~pwzILm6H&0H-2RqP~mdAfjYb4|*&b=SM@#}$5*(to@ zmw)E?`W)#?_7e13d0&D@^U>b}(q1pE-|tEOvhdj}jim*et=+R9J~(WCV(#Ivl7s8l zi!jYKHvGEPTiKyacg-56y`N5Lzh1Xnub*e$n;ZQ%^k(0izDDr`U(oWfX?&75eX^CM zdlKbaLg&au^1PK>8<0BnHBSrU<-LltcU@<@t(3hyLc6A!C$@E>%c4^+FlhNmpyI+ znz{Jg@$x47(krhtf*=F6SuP8@Zk^oIH0hq5;!B$Qk7Tdg$+p;fdC#Pi z79U=^wll65yv^#n>hpFEvH5ksGAD%y-n&pXVcMIVNx~{^Q*Wy{9^E3+IPco`uI881 zq~0$QbI46_t`<3&yrZaf->H9xQ>1JvmF8LTyUP^181ddaRIuY|SN04B*&D}K7|eTr z>x{YUK0E!r-s}>GZx#zSIY?9lt`2$~so8iICYvF>o% zlzKQ7lwc?6gs#{vs2N@L@z%x}k~fbWl)Tvx8|e8@R2ecCw$?cz#N&5JxK_i0V{Oqj zD~ne*rn?+;_BwE!d0n2(CR@gyFCNSl%ubAlzcTGP_%I~ccWRVXzU7;PHtxUT_Ew1& zsx?kIEW|6ma;cDxP-mpTJi|ZInt=Bh&*GhETD7vP6yt<##_@ zw$1ZYNxqEf?OSSmO9f?a7tE|ayk7rg`t{z0n{>pDXZ+YOGk*G`m$?~9F}`y-x-J*i z>2SNTCtVQTEaUZb`s*uJi441+yNbtd`SGax^7+8)o3(DRozvdp*Bi5SUCFcfU;LZZ z?-)(ma>72iH=tt*xKaCCF(CHs8d+|YwjiqyM}+-jtofBRSXvy!n0`5Jo)EYPqzFC% zX~*<7Zt|H&&w9=8Y1DmOCU{WZZN6RYCJwDQ4vt1C!3*M1$}^NyA;AZ#b{glkIlQd4 zj%EpX6}RTkrY)Xo^74B{nM{=y=x=c|aP@*DRB+$SmbcMw%gJra9oPSYbeExX*WiMq ziiv4%>ekKb32UveNGdP|Syv}4UVRE=C3JEbG6CB7O;KU%=GutWDv*L4A_`XG!0+Oa zmCm125*mr*3Wy08>{ynRZR5|Ls)FzeSW|<*i$>7odSmZ8EzD`kTkQ>3&V5T`Dq-H?y1VS_PeqMlv%)o+-%s zcKcQ@*lae`CMO4uFAgkA%Dx?N3!e&Uh{K`}Wae9EhphD98^S!1jDmzpqg+SBm2+}8 zUaZ=L>5y6ukGDDU*R(t_!-`pO!mXRk(y^hK)5}}<8-HCrCtvqtVeOmiftUR4|9*M@ z|1W4asmqs+z9cQ1x<4O}H?#5n`uTjm_LI$(q2kFWcAr}+HV-v8V0*Hz!xkQn>! zb+)vfE7z~L+waHKe!cpB-|uxEkKRpebL?j{u>6vGbzRP{unP-k+WmU5c=`OgU;lo; zumAaU`sS_|As>7GpHaJC^ZBfN{hz=VL%S63_&u3j6Le=RTNk$N(Wz^D?_HW4nwIkK z%VqzUPFv5s_x#l*2wob{sKavXL{*^fzm?19Mb&&f8ejAAXyx;{=JO9V^V?N?K5O1@ z{cgw4lZ&?dc(luw-Cz;+5jZ-%w&h%Mzirv=-0iVNCspUyew&#dpEA+a>_$TK)Uc?` zbC%Edyj(W>+uic};c=Czmps+Kvam99xaIHpcx^ z!aMnz4+kgv+j(B!^=8xQY0-I>DvvL^%kRA^TJzK8y%|;ajNfmwQBXVdDZXMY$|$mzw-Iqnd$RDTWXfS z{OtY%v}t(BWWTDKApyO|I_1s`?^D%>ISnVj6a-td@VX(makuNK4?0*FZtSs zFUMue@08unHNO^-+%z>wow~NS=p}3R@t&FojqFz23@VQZy1&_c-VS6~ zq|MYgNWxsD(C~5VvHNi+*NH}P5h zY2$IZ-U#AA^ zN&k2{J^qZ(WP79f9}n9zG{Z7l^CeX#7k33Z-*pY{x}mmrJNGTq-{OCE&r6*ax$noL zZjIW5$D6ihEGwNfXUf{@r9xym`1|d4{^Zbr9!Pe+(sw|^G$=)`bYp|8&d(`= zn^7xGu>MM`Mk-N-|u$czP*9HYIn$mKCi2bie6WU9&%W@Yw|{?mrJwKbUm0dt_j1gRRT%@X0>5!wJ-1d{cd+};=j16mrEnRbRSR7 zDrt&THZGQI3+!2LmpbL|w6o7RK$GM7Eu9}PYSH=&k?C_&Bl+zA6!^!h z1nd!;8m&IHcT?&5u&R%@9>y^;+-wjo`%zF^+G~0(6?%>MGo9soKsgaRo~kjB7`&oGM2|NPi;&&Kcfs-vaU-ZS%ADBR!9+c(jN$93+xSUJl`C*brUtW7)mG_t!rRch=j*zJJZTM(3Pg^FCgl5EZ%Y z=Ek1=!F>~!I!Og(pIEN`Y&HM-+=P$4t6B}G3EiAqA@QN-q(kepB=v1S8$jdK%V+29 z>QMVzc2ae^%A~3C+nR+mX5Zs{^uAr}o7hUX=YKw*|9;i4?~eLcL;Z8ifji~$8B6%h z);!`6pK86@-8J$;$l@7F{WVEFDmOxdh0mK_j}f!KmGR&F|E2mf8K-5eUa#5gw$tNT zZ|UE!*Qd+QT`(=aJ8P}5;miKi*WkI$X2TxwzMY>v8w5G;pJ2HLp4T^MJOpX31?V$< zT``w~UE;*ewj+C$Z|CpdyYa-e>2q8+bgIqbkWRUI%E$PuN$Tbaa-M&W2>Wm8nensM zI@nJ0%%zUnld}_MJozBm{JT1Blj^jHq>HZNb8Eld{FqmNxAgi`;V;`=HSScu-@E3x z-i`-N7q-jyTf96d%f#3}GqFwb%`C@hObuWDFaP_#ev;wh=!F)pJjFXx??!5gCTu%q z#>2tkIZZHf+RWVxOXQ|CCDdLCba!O$Rm-adi>1*MiZ0OCX;=PI75@K zJ_RjBcsbL5YOUCv7Y;T&6VzVMz9zu<7IWMYl>p%UpW z`cVc`cl1yG61RKeQD1MKCEL!)q<)dEeIc=uSA41d*NBCsMK7kWt=_xzxxuuWqmFV6 z%gb|jyENGBM7#Y?=zrf6LZRy_!g*Vn$v`To1U3+!*z2K#7fgj!k zem(5IX*MUb18A}KtL}B(%f+56TJeW1xprZDtD5p5-Ax(i5*O&w64$EB z5n>j165C}fjz068_Vgkn8?RJ~=Fiu*T}N0exh*p#?q#pvyGMt~f^)O&oWzt*f23_^ zMon%DFDad-9C2w$+_di7Nh@1Lef|IazW@K-6${00{q=tyFKFg-D$YI;ZPdt{6!2N` zgl2RD>sy2HLc53dDz5WC9?nU$Y1g$}C2%Za#;(mBZ(YqV2fZ`Xd^OYW&R(vY>Ct9; zFMiCne=y%WpmU9b`j$tH2mGwxiYPhrsA)l#L$oJ|apk*Y=e_tL@T&80gZ$AmPC7m@ z1~t$H5xRbF_LQ|nxSYE9AldzI-#xRMGwWSjuVqFgg*Bx>mS3%$b3y)$(Ak;(hgN2a zXhOQJTa^Qvy%mcq1mte=_n+PHc7w&`b;}Le+g~{ra;?;?jcU@V*%UTm)*6o``M(~$ z69~VTvzYJ5MImR?+pC4S%$I7+_#ZdfBc}bhAgiILyWNLmFOmGo?*t+jxqQv4o5p+9 zPvCQOP|wK;t97-{xMztyN*9N*nE>OAveoH zfY}bzHd!)faZ$AEA=Bt>Gomi~Zkux5@T!E1;JSMk%wHI%UY4HxaQm5a#Y(3yeO&jt z-Q|w#k*9C)c~)yymI9$Ri~S5_z7-Ht<>B`oeWYG;^Nk6cO592(O1l$SrZ0SZZSGgmhxfjks5J-JYD_X$@2$>g$(gn%^=7VW@zl_;pT!@NmzB33 zUtYgNV48sL^v$wfLVG^_2nf?~WmI~&FPP`yHj%cv*Iw&CCe+`3$fE7K=40FXoMt6% zm&BA-gCM5}Sq+Jdglzlp8*6@f9(dbjb}jVKrHLLjhf}63wP512m}4Ow)^%9!oA%`3 zoo9GAo}bysF-xfSSaJ~axvQX6AF2=Zs+*NWLcOnA-7yl-U3kCnxU4|>MI)UnTi0*M zTw|;;2pGO|CBHT+ok`)hUj4iHECMpQ{^&SSBY%Z~k$<{lWS_#ck%@`OB70SbJAT zw2n1ShH<^PZ0FzhrI&thQhfdS|DWgfk!j19J8sU|c_C5Na!c5S=W{*9s_$-b@lR-O z-rsfVYsIyno|0w8agoLC_q&(#GpB~mGRV)mp|1S?u*%~7KVLkLPn~f$eBog~3AGda z&#x?Udi`Yj)X!#--=nV{IB_@ zwdX0vwC?38>0IuU&Mk6IcL;i}yF4+HGjXxe{^#?m`%(>$#GF3b7W&0uc>ovV`A`)G z9hKh?n)xjzyit7=k$RZd{EU5tkDD3uS6FuC zM~evKwpB_qnmi*klCpnz%;3xXCAT}sGF5!v(N%~1uDFUtwzMtqp7K;zB~;~2#+vQ- zs$^2X=)8M!*zBy(`R&DrIMoFjw1uj@xG#K;HA!z3Xf^g}cr=$q(I>#>%ni}Hn9pa; z=Rf_LTzd6~%Q{o58ylSN&rUeh7+rl-Lu%fgV*3?uCb+-N*|hY9(1H+|_DwJ68a)pW zd{rQoE`3h>0%QHTaB0Voj|D{wKksJpXS!Fl+x=-&8IN|wl#`OibKjb=WVjSBIey>t zddy|-CHwN`CR#k&!J_$B_wmBH>}toX7ox8pS*6Tl@V?-|oMw#mBd#1KtIHNG*~s5} zxc5g=q1ePZf3^vga7NGnxcx2vgV#s7OMMR{A7Z!{_Tl4+rBCEeX6fF(H=$Igjb+B| zn^NsfUOcmnBVAo~aq0Je+_SQgOC&(Z>9&3JQKv13g92vq+5Jf9PE0%!dr@J7(b^=< z%R*z%g#;1-AyrzBJv0 zUSR?k@7$d#y79fm$4!ja`E?h+w$Iy`HR(JD`-^0z4VxA%x_jq9v_jUVrFQ~#uSi85 z|4`&2JR|vb)62=?ArVVYO_RQOaQozoANOZGmN~Y~y>I&Bh+nHU7#iATia40P&&`lb z&3vi6%3|M2gEJo)-Qrb0^BwM++UIXHVgH{`rwuI=J)bzRCol75Y;m6L@%fI~O{=4l z9&4*_dzssP{M&Zj{LG{Jzpvvr9=?_8^o>jW_{p2AD&9_kPKb0Ve5efo)-=NjspeCBBo@o&eiRPmJT^(Y z(KD~s&>*O2lBV{DX(~baK4RzZ9ei1iS-2!WZqrx(CYY~ zo>J1UGy9&gTVqp+Q^MqA4wKru){EqAH=UloS8EPa!V1oK!{VP(E7=dRtmOzU-s3ubonJb)Lkv#XiD|cLXfZ4654l&p}KrmT%LoL)^cDOtD|ExSbyn0x;%T+o9&a=Fx`(`vN1yHzTA1U_XdtPznm1(U8W$r%c^-v zYNwdJ?xdp;+!rKoFdeX+^G)KP>vj`kUOVqXL76BgTgjWX&pGneZ7>5JqcMXgV%yU1 zNsK&a7X)hlU`ST%>z`h0Vq*SXZsV5Me1|`LKJwKs<)N;dzuGko>;9fUQ?H(DS{uCW zOH-+SMAfEKXO9$Y7hcruyXNeLz&KDGGze%kIRwwnIcvS5veBK3r=ElN%%gLR)r)SW zg?w|eZ4fzePo>)B+=s|J!Xo?u`qyUpJWuiM|1CX1F=+amO&MW}4`j;EmzrpH#xOZd zupmQAUbArLK~t3s{W%(^1F#%28Fl6^}TCSGq)$`SqUf(rI-No0wvA znlGoKd1k2w>X#-EJ^(@P^W z!U~T}&z&2z)O=0#%}d2vK@UX_cSs(&yDYe|V-tAps>Q*PW!3sJqqz^BH+WttQ~7nM zPu%AJpU=g|&i5TC+#}q0OlRx71-Xn*`0r?K3QAEm+x${|`rmB~N1w^u|2j+c@Y1ji zOsvgpKf|8mN_oodw?_TZb;p$-X|%Vw-0CJi5=)I znr3jkNao?Jt{m097nz;W!B?lw*rW8%EM>Z- zMCGEyO|WZVi5>wbf~U$TpN@;+zQDDORZoj=FH_#i^{?j~ z73BE-tg>wJ{9U2_mt8zcr!kz{xr4PnkWD1%#fgc^%J=>lP7&Gb{Ucic*7SqgS8lD? zxv`<_NWQT5+{pQ}r_bX_;P$8svk*9z(DHGGQU1xMSv?2ap6-@8yF*xTiK|3$hs*i$ zsV7%I%W&VBRlnv~`sW;z`$2oFznjTFuBk0)=uj20EdF(tNo1SEy=lJkf?tkvmAnbC z5|L27)Ap1_Qgw}bL58t=^n=eg)92SpFf5iA7M9YylHmneiS)#q?5(+mnYxNG~0FG@0#+8htRQ#ouR z(D#aUv-V8LEW{M&hMDURonOB_jn`P+x@zL-i5;g;e6j4T6uno{Bs}-ek<|N}42?qC zH|4Es)_HC}_pN~>clo+KH?Ji~f2Ps*x^fy7fH;K&H>0A0eJJ7jfQaM}O zj25f?>HNYW9EbaVZabO(Jz!DlQl{*t>8>|S)2p&78m%)UELjp~b*@dFwp4^kC9UzU z9mBi*ADuEq;x#zd&v2i)}5lwj}}d-JIGwBuKM!ywOgl^ zb~ENpt$Mrl`kzpV5Bz7VqmDc@yPeY<^f1!r(x%%P+Ml0Y`NUi|(f^0$#G}ilr$xzg$R}lC0a8c9e-#huQz%0Z*N77$Oqxy z7cIn8y=$LHZ?WzzZKS8qf)3Q>730XESL3Ia6<|WL+)tc{9I^#f9g7 zZ%+N}{F@>e$;KlwVg8Oo(ebB^rrp?f>gFC5Srf76mLYE^6vn=F(K+_lDqM5Hu8Jh4 zH@j5i0!24*h%I}us~~t0z6KKIY|ZIIU9r zX_HC%29=|x;zl}*%jZofxBU9#J9~>%awN-z^*uVgF3}fQetg&vwxPm@`EVPrv5l{A z!s(<4!Cx^tLatxFP7~mlV!+m#CWy);YAhZTUDY-|Wg+yMI5De;+ZsnIasX zz4_GEOOxxlSIvzRpVgqH^76@%4Yk*+Hc1=4HT-jW!E`T1d5?KLoT{e2A5XM_mjC=* zI(=33XwIu zd34@5($(cZpGCmdnemX3l8>=u!uGyp>EE6%(zur0cH~26^5F@pGR7M!4*lXUJ-B$~ zYn~;J%1#@3vcqbgTcmY}_B z7p!xcZI=7O@@(02+aiP8x)+@*6DcS>zKTID@%hK9jk33X6-thzOZ~AYrO0ZwTNWg#YK30jE7++Q1AD=s2GmGS6SNC^0 z?@c^iE^;z?$DyzZ=U1pp`~Jz?7^?E*&S@w1Zy%2+b6#LSV{xg*n^CaY&0~(ihecsa zlfY}t9$kL$p#Z$bjN`;{`TCk8TE})jSurU%??iKJ?r-f0%lzWDomA4gBKNaq&tkQc zQ9l2Ao~0cAT64xBX6MWG8m+lfORI_|&D;das3)DYuiWjJqPw@^ZN!x5 z*o1`s=@$4so*3EqOfx0$TSZ!7O{3DIQ;wku8tCn%eL=;W81 zu>RswcBPd!H|*?9c+{!BtYiy!*X9kz&g=%}LMH8V|19J$2%q`DsLehyi$)-5eI^Qd_IoVvbU^Fj}r6~rwp&3dw`bg41hrFw}K52sCB z;`(o9R*TaT@S>`_{Ed1m%ao$0T$-kwy7>3jq^#ZxW`(sUzXg78l~5CIQD2iyGCaTUlwIwwl5JgErpR9@x_xW=!!~I( zZlN|$ACbxZ4&g72V_VPHZ21}nSy%!wf~Rra^0H;`Zk@`XI&Z^VHrvUEqhvUf`^A>0 z?@X3ew~|@k>nA4_aL8c);TO3=jq5I@@8X*8*#cWo2%5ud%Jwokv*|%Ni=l#*4RN=5=KYGI{D-+!0ioyV*6Pdkv&D1?gab)^!~f zoNy~rX0_j3q5O^E@wHoHWe%|##Ax4NAHU!4?8X_w;B`&V%0Yn1X+gTe0^e=6i|2-V zLwbUcHDF)`4(y5xuAbv#iaUyBtsUqHl4>{W)zd(p0V@aD4&pTOIXPsdvoo$wg3Ko) zuR5~@9SMTdHifO5n;XJ6f($`5aUSSUlX(}*n+=o3o(PClDRrR?!OumL+9n0w1)HQv*c) zf-%S;#i~ym3FzEFYmN$0ZODWSL-GBQbBfP>JSM%~R#i;@DQI=v<6iS+ zbIWdVs?XU_p|>=Lnd$$}`}sZp|8|Llo7IY)O?z=+uHD}+mqCY{fX-^KdbRR7XpL5o zmH(gf_WyH2=VdJFbdxQ;($@3$!(smVKOfm6kIC29NG(tNRV8e4*~-%ovPSNYfzkh8 zuh)NB)TusCqGB?q2zY`*fJxVB!Izq{o2k=ne>`Xgogbj(>|F>87{}Lsy~?RJ7xxdr*%l`In z_y7ObA+Gp*$#SdTZ@0$_8mfA3mOirQ^EvC1poYar%G%|37nH^NJ4- zHlMfqz4^Rd^U0;tqE>mhEzM+R0-ad=w&hLv(ELm z`}t&6_BzXFGm>BUT}bcR`D)ebRV(KnJw6R&Dc0p}cSuT@|fIuE$m9p5Up9lIGGq@!a^l zP4OwsA^wqJd%8i{yUWX+C$Hlj?px6%Sr&6*~J_bN%PD=Iy#W zF1krC?0A;G^66XA@R-D>Wm;>t-AtP;(7SwI)v9Tyx;!Rx{Q39$ea4JyCdcKf-+1fq zExG6_epA`^ScJ$${n>V>-u0ioaImHD&&T7{>d&2jzgoS1PSH(=gBzb7=C^n8-sq%V zb6R2N=X2K4-(Ki1Gcj4(k$b6n_k!5X^#}LAj!c{Rv|E2)$0hL^orvzVDD{(`H+O~W z?M--F^n>ws{{Fvak*u&?^lv$Of_jyV7oA_6y=Eg@cWF*fV!!;Pr+T~JJX$Z%6kq*z zYnJPjQ%4tdiQZayByTm-spZU04Wb6i4y?Jg(Iu^Ozxm0!^Iu!uW6j7#+tZR( zo>kTj03Ro#efi+ElLzwN%&qx!@{Fn9=BNb^Z!{S-Up?=&WxwdY)a4hp=f__OH(q4v zYo@l~uhst-vAf^z+r5`}zexUcu3LdCqeAjz*E>mQgq9nHY3vPoyXNS{Z|`?LmlLUD zJ0ltvaqza%&F6=AX+YQhmMR7WzWwv@xV(5o0;BZSn_g0dk9P@k&WN#W6jojF_u|i& zEm`VQODhivB;U^wV*)Ke3w3bdRGqZu$X$zhcf<6AOU{{{W&96XiuO#qW0hsf=lEU; zL#D`8pLM=kZ_jJzYR#-)?J!#~A@{PC`tB^{-_uufC3;WwogX?Eaz2YZm)_nlmvnv| zecaun%goM~B0J;pVt4u4lCAkSbr$x-=9rY;;}Cv)b?3u2=|59fPyhXH_j>oJ2WvK; z+oaPjUsv%(>;J|IU9IhYTFj}h*l=V>dtZ9k-c)R!r_TaLS)t`iJFxx4SKz3;{BS>z4{XyL#GE@gC=ob z|9Kl?ZJisv`>bk6nw9SMyR!{la_|3?d1VupeZA(zcD2^&zVln-Qmyv&w(_r|=b1zi9SlGTuXPN28X%hu}EvllQ814tH zpIiN6Q>p${^~tTzuJ?UeKDR7t%eEYsGbgw=_?YJ!^r>5hgBO%7Sgv?s6?ceOd`;nO zm!H--Hw^f-6F74Ad_3lF|98s;52XX*C)!Mom~IjIW2+*p;l{zym<2o4MO|MiaK2rw zl2V0rbk4@39Vs{G+`Y(hYFR(WuVhoJ9P#@(o6q)ebRA@5mwCXlnpLYuH`v!Sv~|-1 zndM0`Z;mTRO{v{>Gc8&6s?toR8!i44?+fe1lJ68A@7=T@cirA^w_F~HH`p$^cv}gy zLhhPX*RC11USL9TGMJGcZgcUTab zm3~g)+_%6#yOSd8zuipV8P-^K2subCw5cGg$omN{J1aO zw9u6OC*bMqcPKn@PwUI%HNmQn6}y!VK0nq!Z?ew=L(4stv(%X1upH~xaNish$=iAP z_={J6q`tAZiS9X95hu3wgwU}Y+9^qo5)TBcG3PocL}pYc-RR71^y6MN5;vf{PKl47nUbZK3Pr;eF{!I7l|J&}H$hl_syIuFh5}8^dEv5x=EKy6#l%VwrY-O}iO*rr?YxYt}Mu6@5``W(T;TO5l_ z+SdQkcIZzkZI#YWY@XKZmEPEGZCw5R-C0m1Zhp0Dwc2+DlP9`L(cc8mJ(O3Atl3aq zC?OdU;l0$kbi)3h5ief-S+n}`-pQSj6368^7kBMUW_1X&SDTq4v}wbv!h@{hGeWw= zO}70m3TFCf;4te$&-{tGrc9pCZp(mnct&=vDKk<~@h+eG>{@jGQSkDsCD|7@8J{%~ ze!S=FF|LveNB+d9w)05{7nq;=;UIn}Vd9fHGg5XYZYt~3Ey>@aUlnztp}qFZajs1B zO*=9>Jr7=+X}gj2&of1=?FTHKUGUm$sN_`!d|I)HYHU8l=rUNfyXXow8{IoU+ z(&k)H1}epro)^Y0{M@DEH^ZZ^X2VXAz)!8>aStYL<@l_>{~(+6gB?>%a+(uGr$js3 z=xg)07#=Qmm|}Vfv>ZEbFrpYZzfXBXLTo<95bWYDQ&3YQe$ zDEU{rWz~K-$o@OIu7O+eChPG+g)pYZ7bleaRcx&TLH7ccpXu=F-(h^e=JUo$Ird$T zuLxABi64*T`F=k@^U1k$Z9+ea=gLlXs`tq2IK{r)`QD)q)1vcE#;z%O*)Cr+4-xowsr? zY&a}ierIBG=8HK?T-YT{G6XnptlEA;sryEqw|9KY_6bF;AJk^&G+mN@HS>dWKd=98 zN3py4hk4DHSZTh?G9w!Yl$cg2GHbYDbD zDKv4ED{i{`pvU-J!8T84!EM(PC+0dF@P5CdL9=nnycl+~X%b>i_f9R_zDIxmpG~YA zIQIN_)ZLQr}Ix{&)}|CGill8Px)3pU00Us!oe%$@n{9g7y* z^r`>eC-VPbHr+agwa`UtMuU)apSHAD1OlDv}UvC?jrr^SyZN(=2ju2VGs z^`8X{JB-h7DtWi(vtNUo&CzdfX528nFDU(QTS7zXvj+Dt% z>D0sAyzg~fy*^j?^AxfaGKk?#L|9^ z;^x{}T_3pbPN-Ncl6eqv$c=5{g}s^=WA!(!p0>2&jq)_RBV2qJyE>20NV>nkFmr_v zf8h?*O(OYmmzx;%`-B2l8OlwZsM}hTam+Y8$wKqT#@-i#t3obc-pw7BAa7G)P_^vh zL;al{js?$+mhb&`>-1yJ1qU{>&T9H2AUiSV?v_Q-T@BaQ9cI2Kc2e+I#pho2FTB5e zZhmo7k(qv@(k~^_>R#zy)|Zx`Ti|}*-B|I4LvhK;qQALMHy+JZdbs^fiZ;s%&}u6C z%YnU2chB$s-oVH_DP?c$A%2^gI@)TW^Dfj^PigzO5_;an&Olcb4A|oo|pk)n`{|RG*x^C2PkniE{_#I9omL7c045 zIk&0AC+px8KUbO5js@=%lfTX2VobZ{5yN5ox9zIQyva@rW3$<|CB8iKs4l|fl+e39 zsgVc7E?jsU`>@< zt%994(f10E%O2UBAu0B1TeE=nXS+jQu21|fpV1arxcav3%cT|Er*(zOHctBbbHneS z+hzDTz{lToG4nlNaWihq;(u6GYJyvtzE?~TOu$!=Vge-($q?0CDDJIP6(ITZ)=hk zv|o3Oqu>yyx&UYR>$ThCLRe~VxE6;Q8BUL2dg98xVZ-@*-sg{g^fODj_4w85^>Xt% zlGiUgT6~Xx>*ibzi+ow31>OnsG~!Bbe({@GyzRy3=W~krUSDzvTi|T}v9^B(Pllbk z-}7>3=81d0o|B)N9cgv-hEw|EOKB31-_Ock_j2l@ec!eU9cDT5&p+r_^szGQ?LIyA zI{&tvbZEV{GAt?U?(MK$AJ5qI`5cnzD%PCCQQ^8F`@!my@}l7J364fF#en8polnkM zu}zQr^Y?xIbNwVk?)n|g%w3)FGUq<4)#A2qFW$Az=v=H6vDWD8C;9(B*z2+lzCl+i zy-;QK3h6F5+OT#{g-4f0c*Po7)sU6We3mU;SB@sOdQCmsG~I8Vt%~@(jYU2}I=5yV zi&)5dQzR?qqVz-;-7{u^ENUh}BAaXG1+K`coZu&v74yVt!SPoI}; zwKley+3hjB$nxyQwuE16KHo?^-TR{8m$?(q>c;tL$Mr?JQl}h{x4wO&N$cFrw4R=t zhKu2y`H5;$k7eekD1dewCKnxwIlWQjSiSTa&h~B6>ocD^OkNwj=gyT~+t-#n7QUY^ z(|`QE)bm{*ZN=pBj@MQdJ=2Y|UJ4m7YEJg|$ZoYIrF`tHv4~+ba;I$~B|=ah%3EY27pX z*6geOy{xN8$71uI$B`ThJ|{CdWNq|t`S~IDX~A2Kjl%uG(QmAlWhsVt^z7?<*l6I$ z-WKcd@#~q8w3@{IPTY@Jr#y9>;*J`C zwz{T~Rq8GaPD+`cIk%$wbYAh|S+gX>Z=QJZZ&gm!c?njoOPtmYMK&$V)>pfKS$y2j zbX!3Az9gL)H?B{b>coAt>NIFU5%(MYvI$cyJ1QSuaOOAVR(^XZ`k4H=SIM_~OTw?c z^?cd=M^K7ao_m{L>!r`H^Lj*e_9p6fsXP2Xe!l79nVH3Iw|2End1Rvj9wA)d4oc3F zT^v7e7{)$4e0ZA9jl~_Cx~}w1clvHNW&Yl)`7;k$PC9br@G)I&?w8Y6tATc|>^LiU zQOo#Pmuhz8zICk=Z(p;o{d-(v@#^S?-6jq_@dt%&e(veL^F-7uF*xtZ%Pk6X4I=ky zER3F|1!_NlHVBq+Y3uYEtbOo$%i(tZ^q+cO7ycbzqb;N4x8Z5DPpcS9x{vXSxd930 zI&v{LmmYh?-oCqQ&EDPN{`yvr&dS?5-n{ozKC|NUp-rYFSp`_n$%vV zWRE2qBW&1{bPqt54Mo<7EpZMnKkc{WN9L5so~;aX8+94(e4MSbF}PQEh8bva(4*hF zJ14zA^O(7()xs{WjQOJO&hH&dW6LGl=Bw)+S2D~uyt~Qky`*i!(=D5BMQ$iPH7#z# zJ67-Sv#trfxW4}W#^Z9?!6~{dt}c*K?;?Q}j&IK_l-uXjlQ8wzk&Li!Iih^kxigj> zJ}j{?a?ewZi(=6^4<}pg(wO~ghv?#acYVVmZA^+*9q0R|(D!EB?YtxHvy+{DES@AM zxl7Cxe%3R=e?>_9=DBa0&Uwav2<_EqU6i}(oa9Ck%_kRcZ?oN1()X{kBW6$Xlq^TF zX=k$>ZYLTgEZ0~Yd4cJX&O_fW=YGX=ks4DU>2`a>eq8zb_KLZ0u9|N(j_F>#`hs7p zL+n(pmm6Fs&t*MQ@txzo(6--x9DnS;owL5MZqcp(m#Xy{nOlS$6c>1K?ES8$AS)=K z*}sg1mn}eqMR=FSiUnW31*~-B6k=i#Y|O}5_+8GRO~~rRd*#=AzdkeHJ?HMZz0c>> zoR|N8Zl3K|N#DW~?P-aY+nUhqV&?G?SC!GkX*^Q%`)=vdUzz|qmbA)<1j zI7$83JKtw1k=^V6oRRt~qEoy1;0?axHhR+b2Hy@(lFs2NIJF}6pq>A;{kv2rrG0+- z!f#qg;?;)4mZfu4V-$-PX#4$jNLn}TZk5McJAs4jnbTCGSFq>W>+ZIlxMFhhj-acV zbA+_#-q`S}%Tb@_6xWj!;eU~V#|pUYGM?Bt=vxISN5At~P|)LE_|<8pSjsQ?R`qVh zliiXmNBr7uJ)B_D-Z1?G=njgz!J^MEm>Y&S2bmA@%)@_)TC*DU2>MXEYF)~Zm$jpn(aC2`%iZ^pT1#V^45|U zOEZ2fHkoq6gGGKemWH#qIIy@ZP-0~JE?W0+rSuBM=w$~Q zj`40!YPx#3+NwwS?ms)H>Gkt0CtqNGTp-G4BKEXg-h0B&(p3&Y`$W4^qj=11CHgjP zx$Um0Gj-?NH@sh%MT{!9i`V){Y;*5Zy&34aXYU^of$y64nx?6pP2YJV-rwMq;m!Yl z0~nQxcJT2hh#U>u_SqmzFM3MCwWX#?M?2;z=r8Ae zHZ1C?n0%Wl?M?NM0L*>95&k9If1lLEhw-Fp|8V1H!l^27Er zCu?kLrY(NDTlJ4jit41N=QrEe{3rlIJGX}Q&;*&1Qlwe$J)zD1vYKFID6{hP9JCSQV8k6OaTqEG8;KndT0 zMM~|!^M!}bKR>F;%RMvdocZU(f~|^L7E7$zgd;9wZC5n}bmULac z_0?X^LaM^hy>Fsh8Q0FUe`n|II?22_ZhA??#HTeojwb0Ym(`lH^D5_*Js%bxJ~lUS zb{k{W#kar27Qed1Geu~b(V_WyhZhJ-_8%-?DaP~qsZ_trQNJ7iXWrfLVw>4{>A8mr z-mnM@sO=8&Na5j*+?kVT8GM&#Ywa~^?!#ctiJEtjV8`mgzL^j!3=BC9PsYE3I{ zZ=QYY<;ER{I#W+g*~oXjv-1aLVEhimZylPr0 zcjM&7x%|6*ITFuI5tXa&aSIS+=_#;CeW=-d-LOdEc7()}`X}l z?Dam`J+b7*j~SPY7<})&EtQvlCsA_AIP^?OcgC72r=cU@}VvNBXVdWO@bv*+}z?_Sw-tV&F5hK_`g{;n{6p;_kB zRWh^Xmo=Yj>pXEuO+;}@+k44BwTGqOvzz>%X18*ug_qu&f^QGge(Y*EeAfJaPUQAx zhe@95KLX;Te{xE`@z~7w^rE}`)~!M%3D-*9TXm%WZ91*@c^dEZPt$zclQvAfe(!)t zPo!Dbsq4pUGRmvh?Aa3ev#R03#Q%8@T~AH#yV>>O?b*vm{`j4?3@dW%J7hA~`9$G| zPEPOE>PJU9?f5eu=JD;zZQqwD7WGmL5IP1ybghMuxOl?}$`#wHYm{;k= z({)2n=T1kl*|QIK=gr$>S;L=lutY;Qh{bY|H|OL-?0b_!rZ-KutLhLsBe-aS+0B}x z8>~wUnpGs#T4xuYZ05In@zk(;hupEPk`LdR?w5X-_R`fW?#GhmqjginV%tv#o;29| zx>@T|$W1@dwVO1Z1ZM_Bx+p)MraL2QuJ-ypLL6WIKZ(6Qp_=i`!@u&nd)M#V7F}}M zbF!N1K=ahlXSDD54@+1?ByG={=cC_tO zX8wI!?MwSwUt?461E+5`^4&YO@58;o2JwwrTemDdv^!Qwj+bX<8|O5y<4Tt#{j6T9 z=r6IHal~hzV(};5(+ThXly~b&bQ*2-mYe@%PQnyB{@AQLCycK=H|9NZsgU16Pv-+; z_>`iRry=WVK838JoEj;m8GUA4hO0@j*ndx$WBu@+7y(70~>EZ+{9<`j=0<9@g zvPN&@A3rfMo4@7EqJs<`;vTHb?0i1HlV2^4c*gC!^4a|Qx^MrMvaNn_bGt_9iiF>b zX53YaYVqXycIuK_$-=t7zm`6WSjd_wb)~uF=oOak3Zu)86FE*6i`!KN-r-8^4$Am2 zi77eYR>|y~Ln#kVR4+LAC3x~H4W^ZGN1~`;U(vz7;)nTeE6u^sl3r zKYof3QIq|UI7?yE!Pf^reg2vt`y%0+Kz6Qk8_&Y|%InfYH?VufEi9GN3H@F4T-M|N zLv8=e%E=!VdUn*4!#h6 z2(4A1MkS`})Db=5CdHrim^qvu7Et>WDI9TI3C` z*criO<0BR+3x}l@X|+}I64(A?^W@4(o*{+_?GLcL5WKhb-w}4w4zwb7O$Q&B2uE zyv^q`Eu6ylYQNv*y7>CY+6l3LHRS96eEj`>|M~mBJg0gs-2O>7^u(G2+wWDqUg9}< z)4OHA>OUN02VFulJAdELm&@lbW9zVaStqvd`RukyCbz9pU*F4lCm5mk|Lgkti#7WD z{}{DQF2DWIIN4e#be0mhhJ=u{(+|Y||8;%q^|;xe^q~tu)@(i(wMVb?k=XgAD<_oS zul>Hh?(6Dqy#l4m1Os~hp)P0_Pe@^PO$U_P5 z;F7{U;Dng_>7@@$fq{_nK>8y!CBk^O3pcuIz2W``CO}boW$CW-{OT=I-^zo zE<5z+_x=BFhqh$(NfGN)yt*-f1a;*d&nIpwx;y&HO|w)+ultr){odd=hK02Yq#Iy z;=aG*cX99X6)dhW*Sk2d{4#00owxh!6Bf3`Iwd-x)2#}TjvCmL1tlo0m6R$!gwOtWYjnb|bOu`@QP-rSTUO@vehx(iPDzwRUSfl=C|0_9lcV zLDC|Kyx`0d5V>aCtt_4+w`biy(kU!Cby{d?)Wlauav)?_eWced;czMmy`N-DPaGu zuh*hCFEm->v^lSH?%7WvSs;%=^4x_urko>5f8II;RvW)Qc11F4_5zM$0naw>+V!N_ zBW-cP<@;?-!5*xsb2*o$&n*pmF~4N`S@W4p$0`E8&-`-q{-&hm>Mwr(`gGK&O^ReUvbk+BzwXydjYq=%HV?NJ7z)|l|8dOxO#Pi5g@GdR&wbWToU?ehtKR4A z*!`u8jHaxuUTG)!^k{0`TaFK#=l|8Yq#Lbdwv(Z3*R|XE`{(-X)SUlv@5!g2PA8;p zVibH)z*PV1@_e5+Z$1>26@3f{yjO6TcZxt~#)k(70|UdOGF63@Cz_p2Ip<@1_K4E$ ztKspsT$$5XFwSH;AiFNyhd0vfzJ{RNf1M!L7UkWuY8S-suM2#1(wk?_zenQx4}jJ| zxF4L&bKz3^)0>OkdaeF`xxBGXgjLR>K%px9vy6S64R>u}^6Rhf>;Lbr1YH;yD6-`2 z+ikb`&VvrTFM5=|C^8;MUo|@NDsmGl7AiwSTT+ku2v$!(%3H z>w9Nbp}BFh;|yrs4jQ_c&AC7=}!8#p`dk z^V1dQu%0`=J)vp+zF%6uc$tjfZGWY3yQMJDaN$Sp+JeK3k=^p#zPfoL2lO^SnwHvO zB^cQqI(N#2$IG69I_ihEs2r9`a1jrR$lv?**Z24Gs;xKUrcHgsDQPmt;#yR;Zq7Ql zgMU6vi_SaPE7v){dX}=5|IM1kS0+eCWc<23|DQ;p<$i0|pKdP;B)1kBG1zsKZF?i^ zC2{)irRn=hPH8T`Ah5DA*!JbOFB9Hwzi;>To%p^Fte@xC{rW%A{YCgRWua$Ar*(vn zD$OvzCjajP`{a z)dwOZQx7$9>sh3n5Qyh+e_)t=tU!Zx@z2oz-;b-d2PM2>ZvXi(qUPgKUn9`;iTta} z6IyqiJ}>GL$XKK&_~gP2*`gDQ-Fmw;+%pVb#8f_=y4LFc&vWGx`!_8Ww!PXWowwu9 zr_<5zrb*>79eCJ1|F2k7hTHIwx?<`?+_+H-LZE`)n-ZoqRuKmjg zTh5=>-!Jo@ncv3XlCtXQVDXKptT*W>NA0AaZROm%1n*AFKYZX#h|Q-H z%9$KhTaEddRqkq7PTcq6=gH_F6-r;StPis0E^kcc`ueix~QRAFr?f``Ys0tNW8~M9yCr1ka2wqL@INp-(v_C%f}0 z#Vfx5`=Q`a6Zk1?4>R=ayb8G+x3{%5#dH zSL#du|G$baH*V*(oV@4Ed-MH2c@NhvQC_rpegC0~eQ#KPpY*RQ`f|}-`TMSPZ}#L` zzvT`SoY~w;-A>7z-udyE^lr<^-uio|=*BJaTq>~q@YcQ~M;Xqaum4xPD&d;@#8YST zx}JK^6!e}{xY|&~_r=Da6P%QylsPt53i*fCt=s?aS6P;-)3W@dNAC5CGWW`;6`Yy- z>w0U@wTa8v3?8i9uH?T=F{f3RXL0n&Pa)^TKP}69+A-Z@N3YRSqnY_eKHl04us!W`xG{liWjt#&;vW2?V@ z_wO$b@8WD4ip#XQw*_7?et7iH#QRz8&PnOkE3|yU4RFv9o1S9BlV+aHhq$yOYC*St zndE5bPTVbUFDI;C<_<;c=PI&GLU3CNHroGX4K& ze@fS-9>ry>i=X^{vzfno*Pjz!n|{Cl|1bZ^$rP(KyOul(`T3xk-|Qj#%nM5jx&Qn; zUq3HP?QvLwN7EBm*}|BLhpq8HPlZbeFP?Ywz)Eo*JCUo`dD}ioWcl+?E18kUTd%VE zNo-BcVf7{x-nml8Y;s$5eI{w=On$m@j{Yx=Weh9yweHV3bYpGGKHbGC%mv4et=)d_ zR1fE?n6TjA2j#>jEt9mXsW1vFl>cR^&B4KM^~^{|>F;ql4ZY)iva=^ky>@bzG*wUe z7(F$5d4-sm(bjji({@k))@S`LLATj9px^$VMgF8?6RYC>KVI6i9i9j-igUM zb3RYd^Le-NxZIjECiT*blaF6&eweU!nf}C7+u7{T#F{JQ=l}h>zJBZ9mc*ucd|GP4 z))Tn`>UPz$vM*YkdTN)iiT9ENo7`BuHw$*HNtINT_${dwc2gs}tK~+|x09zQNKN0p zRAN_PFxLU5SpPd`X9n?naeCL!%*g4h^O?zqvE|=H>9v}n+jc3Rb1i>6>FXIWg*A0X zDyF87oppBk-RnISY#Hwo&n5ho-TIEv){4M=Cz~EVZcF*Bd$X<3bK2gyZAbqt`pM5c zrD%8GEKjcf6V4CMbG$wMrT4y3`}|zzjT0v>+O4Z!oE5vXG%9Tt&xAGA$~&K5(bIB% z#gukyO6}t*DqMFSq*j-%OuRlN8rlE_HQ_WEzchw@np<`&^IqliuTeWz@orUoZ2V{A z!lGN5%OB3Dd^R&s*s$mD*$S!LwwW6rf{#ydTD;mYa_i}eTP>k?SRCd&*wQTXS&qYI ziRXz^_Se@bEWha$CHDQ(W|m;#?OdDcD*pfdZvXvG@y)wl3D<1j?RvfLq0{{jf`318Rq3y0^tj$SFK*79@dxBsykWm zea{YMa59=Yxt&9D>hmufkIN-% zHtI+Gcr5?FW38In(XR02As)J$bX&a};SJwqnM@Op2<6q9NUN_|Yx;3g@AMgW9n(+b zPYn%wxc>e89wA1JXp`ENy3=)*ABplm-*8MV;9$?67Pc$%I99A+@m-O|xp953&ZLl# zzbc0f1ds4vFL-pG>(Uk8_QWYQ+oe~jN=WVbb6}3H;JV0OrrU;cSMI95(r~DVRE&R8 zb1m?4Zq+9HmQ=r8kqghZbo@+y%Au$wxoqiq%ja_r&q^%G)_K#T!<=Y3{auP?!tRc3 zX`2l{>CRqsJ+?e{o=&w-!ETFNM!S_5wYK<8OqrY*^!i@%&gjYw#m5-U)@(@q|Ltmc zd~Q4EP2F$R%FOEBcRTvGptYDk$TMXe;9*(KZhk9camYb7-{ciWs(t<+##L1tFP|3ywK%ss^|2#+Kb=)s+c4xNLS_luFe~1CHu_A1D2t%rkNE zixk_00}UrOzfnEJ-&Ps>aduDN!=-B`^E`CB+u3AhG-b}@PL*1&XQ#6g->7f=-Pb3g z)@1QYE493Z@z$$j_cUjhPGqqB-2C*W$FrrI7QfT^;1=dS&F|I*N3Ns)#L90L`E1gd zY`Cel`B|DAdvKgtx%2J^oeeEkQ;b|TX>0RwM5f5=bgI;|MlW}I_p@~SB#|?=k#A1f zo%o;g&FtI@`^qh~if&I$f|b4A_#9R8hZWt7f-9U3gtzEzJR-#5r)Ry@=k@9Me@3%p zq(hZ2CLUk0#^AD1_bf(6^v3$%FSmEZ@A1qT8Z#HoAV4 z(M_3H!`Z3Uwg1fumk-;b+$9g*-}*>mhtpy?){Nt--X?}jEo_^d9{HR~I3OuGNjRgJ z=kTQ+8jlQ4o}Q>>6EH*SP{GF8s}5C7Uio5Yx3A_kaTV`Fe>_q*ZuWS6LHpFRxDD@E zi~YlP_VIHsckhvSc-rul%2eU-q;x)+yF#$mxj-8!BB`$X4`I;SG_&#tR>`Ics?|IJTu-38{wznqUG-PaMD zv4QhQ&>5Y^4XJM<7j=qFOo(Lt_Bs59`>d&_LASUBIp`l3w9qZy!m#uc@9Ak;#cngx zWcLWNuCC`4nDTka;Y*KnLJP9=G!$>LbZ_bGjnQFS+E(bFW}Y*D^Un>(ugbHts6_uf zQx>eIcHx|Bu8W)KG8M0_e3sK7)3omvNEKe_E9;tcewOK^oGBeg&T(|;!Lzr^0!Ahc z2E)CRt$Gf}=zc5Wv;7hvulKmwP*hB8(S}DYqMOpUt6z%MJh-*d>ABj$I6D)YHRZ0a zk`3jqxr6R&?LKJdU#7Td(kb5scYIx9dgdC)xSw-5Qu^8#)FxyMb>ErwEM1e=t$Ffk zm%tT^EVpb*n|bD==r-$jJCggZ>8&cbSrhs9#J2>qf37b#oR}8LDf~M!wX37`MQfQY z*R^HdMdraP=G=KKyCXGjjoI@L(WiJm7f5e*O<7q`*SzWZ1+~-(pZ^{Zt>XA?ADtF! z;BfPr=Dg~OyQZJro3Qj0+vC>cVy;wWF)sh>Gt2694jo$-b4lj&7H0?3+-VH)@n&WT zQVVaU=$iW6xL@(Och9O@6DxLKesedycfFMG;faZV%fff+FFU`1GkW45-H0EX9&Vnr zb~0b=>!s7ThVd@8dD)8}|y% z%dp2@KO~+%YtEHZ_f}oDI=Sc6wY@j*On$oZ^0K-`ZY59LK3!nCfBU3G&)w{kNi!N{ za*BTG`e`H@^nUqth+E&_-#25G2%il1*%cnvYg?v7F3V7#`(y1UKJ#Cvn5Xu5yKPIF z-1CP)^wgQETLuQKWrBw;d-i&-dBkJOeOV(ZN0`q()x=%-x{E3hC{%x_a%ZO!Ix0 zde-SvUa;Ne7S(9GhhGBK1S6%+h0N5S^FdChonwm9f#dmyS~!*6`%-FI&8|r(OzWB_ zJfmFr^YJr}H_hsJcj_M7r&FBwGq+nkj7(-Y_@cM@=tk+26SiL#DD|lP(Xv=OVWN=r z@gLo8sb^*wTBd4C+i9<~dZ}PIukzVU8}YxtzdwI{V#39=UzPGW(UpB7VAiJ;|IzeG>QUi?=U2_2B^d9s z=G*}pZ+o6c!G~w4TkTrt+&*je%0>;9z2bW+l1{5@TTkm0YIwDN%O$VClKno@me=i@ zx5Ki+UL{`hWXzOd?{ISxanW5YIR1XBdHQxPYb%E55x|x4( z6u#bgRxNISg>LYRmh`uqPV2p1{3Ys9t_p**Vf21>)y?t`jxV@abF%X9riYukBGqNt zRLkZqv@N_ISN(R1X7DDXu0JaU+f>(hyVOg5R~O$ug;zfH`E<*d27azVpC&w0*t7lg z)bO~UXN=ER_%EB2!_{?2e2B%^2Z>qQ5 z%TQ%ceXxesZTF2|PWOjjdvS4bBun?z`5Pp59M0ExD|EM4?`4Ibk&L9$iJ7<5b1rDC zYhRdfaqS1Atv02fctN>UR(;7c>0?LVCT_c17TqOs*L3CWU6PW8$JVef`2RTm)!rj( zx>Tnof9!BSyqQDxM$o1me^O5=?+HCPH$Gb^XI1H*oTabgjK5FYy4jA|v(G#AVT1T3 zz7tOc)8?JFz5Vbpi1%rYa~P5tEVdGDtDI<|i1V`hFE zhf}#;d(v)3xxN3Ie%8I(=F^!U+jKr`5j*hIJVko_Z`<#8l4JFLKGc`KcezJq>gB|O z%=1#JN2YN2$4@Ex_f#@{j-!i;ZQph08;h%VNOAp7sXg6x{?y&}>oV0155!-x%m_@o z@v2ZV>qmydAE(OQ7iLZt+T`wEsxYZia!sLROj_sMsnP1D+2^-=-1S`O^loX^b&uJX z_-jQPnR}OBm96C2Z0 z@ZmMr+PCD%gNKv(mT5ndccHUUpoJ3`$XZe=pPyt5^YTD!jHtb7cB|3*|S{IGUr*xLj~`zf5h_Sp9U{p zy>8d3{GAmiyX?N3w6ESH@!fsqxL0wR>TG*EaPzs zUBY_e+O6mLsnF8z0-Z2FEwpP+<67#!m#w+Ig`rz{L8!Mev|utefw4WQawxd z-n>o+zQ%1{ZMnWS%Y%IHUfO(3mykAt!f91qcj~_essa}~H zsdL>jAR+$63r?{@1Gg<3U02M3LmSrG!* ztuXKY^6ko_(9dt2HePP6>zsS_S4)zp;)Sr28`gG;uZ%rwAY`4*loMPsed~mddDZWB zYKT|O%}p<=T$%Gj!*TzbX?&*-#LRClhwT{!hm>G1>! zhsR4~)eih<^-P?|X+8g0^GlVijCW67I{)~5H&v*$WP?Q8#)AfPFPu%2c($lwuTW2L zDjSc4z|44O!S~trGhTB&R=c}r`Hh(lTz`LkJ-sQ!ZB0{Z@-qhRoSqvJss@a1E_?w@ zPDb}HwD;?6=KE3bOvwJxGx=zdV`qydtFhfTXz^gs;)sx$QQs4h>N>sNlxd6X>Bbj} z3fjv2E{nej{CRZ2)V1xOr!2KIdRyW5xqC|S_6M8YxO87X-MOXaQGjsahKh5G-+Df^ z=$gL#^L*=Ta<{ZKZLtoWRERo2k>9le#wNRQOLQ=gXI?e;(q^UVU!e z+b3^W?q$xao2GnfdP4QPo#|N#)6QS4-*HrJ-3Nznn;r%WKeug2YkT}M=>4yQ&GYna zkBiM(bUr3+X6m8{me0o?^|<8lO#AEh zb=YtEzUj1H^eO|Jm(A?_dZJ6)nK!Q&lHQiG>))@}zYkB+VUFL`$jqLkY*p!Pr=-9% z*KNTUMy)q$&p*rmGhp{$%V+c9zy)D*r|FzFdqmoJBp;PaI<$z)IQ(qM^_%JQ=jv-O zdn>q?|F1=jFHC5;wV4g-F<4?fqMLY}pp0 zejfYkltq{IrRx2Hy)Rwb{A06Qkn1bg4b%K(l-AA6cE|hM|%bB?4C8N z+uxbd$(0?l!KU`b&c_lFs}(jU7jS52=PmO)Q~3Am_03u9aw@vL&p+=ymEB&x_2c>p zd?B^&O5ega9&eU8{m4A-t`3*iG@1D+`&J%2BkbMd@nA{Jg`k?1ANH_J*jHf?%>Cf= z=9;xW4POrPYXrTDI|v%bpOlnly!By_vDS;og{4J7dZ2Oq^O_N#!d9C3y1mz!&ow!F z&m8MjTqh4Lur&9-!ugJ``QrnFc`097D`(5>H0e>=&e7qZFYKVF_51L;W^t+2VREv& zJKmk2^`;=vR#`&YdBd;1iM{TLW~a@%lZAT!u8~>tOtaf86>ym($^+_R1~Y}<9DMR_(Ss~nfUaNTR7+S0R8 zKOAF>b2?gW+b)Xq7tRwsEFQ^t#QViOmz07xJ3l-$nb9s^w}bsyV{2iwzIfHITbA96 z_Lp)j*!ZRI$yvcm$7F9ES6@HP_SEUeo$j$6dHHI>nOUX?S;X2pUzjCPWKYkkzMT1Cr^_EdU$f(v&8IBeR^58- zJMu*BSy?2@!DD{&rxktPX}USM zL{OknP9Y#Qe|djrrSb={4?#-)vou=mou>SreVEPU1@qncTQ`}-xvzdOZ{c2xwkyxx zd#{y{+I1z%d&!CHe%o&!-oEK5(Bo;ToY=?T+PUfTIcw!T4^LiFn_T_zh{=BO#U3|L zh;&Y`RX*}nUNd>-S-s*m(;GF)Jdw9QC7-_jX8+C>$!kY#b(ipOhMvXe}eGP%+K7z3o{>#jT_Dd&28KcE|6y zEBm?sUfRi;$+pwXx7q8cG<~$3Wi5H8_Eg*Vj!3>$Y0{>eY;%t{eJuJAw9!RX^7?Jn zH$C2@em*aLcgjks{L3j~pEA1~iXP71FI-S?&$(iSPw-4F zSwVruZ-Oh7%7Uae%bZQ_Us$kDHO@|~@|O3(Uez1AZRcvj7H{m6z1nK=>SE!9S^87H ze)xAWb<;FaFR^>>S08@AZ97?P>EF+72@f`DdoERr+mo~8!RM_Wcg-d_+(SIr1B84(AtJJidIQSSoDog56g(hb@fz=|AWE^_DL)VwKajL9#p(`h)-~13*7CAjn&!Wb!QvG*$f4`H7 zrBl$lR=)iWk&!BYi&-{vt)1+%e}Vs|cfC*M1@B&wkehW`Lp;{ZyTMcP+0EQ$z0b|y zDWo!^o&BOW(~N^as}*b=7JRwqx9{?wZ8y`Tix;dYS*vW9vpi)_Q*)zJMI7&Pq2itY z|NZ{`t6E3Tph`_8`tc0G^p`sJed}FQ)7|uUv_8zaXJK(IGF{etT7Gec??JPZ2{KKL z><16YJNxf@y0Cxu%$#pY4=gh-DC~ZEJI!lq?~XVXx2SFLNgt1j-%pwBd*kiPnQnZu z#N>7O4<31SLRHPS>~87xkk1BzU)G!!4Uf5)_jb!=zt88a*RvNZi{)(HwC3+L8B@*+ z#(_s$IydaPt?R$(^GwH-n{uMd((uQclcp&tI|$ZwrjvKU|4FAsD} z)sMEzzWQqF|07H7et3w>9DDI}x$C~4XY+5VW^2T34_j+f`)KFm+>_B4Ik%Kd;eF4! ziFtlyd+|9-_Pf^eL@z!3`=ijF%}dR5pB=V%VZ>3+4X@|DEPBQ(x$A@B(Gd2{Ejs#1;)New zM1ojc7C3W+h*%q@Byq939Qk08|841x3mq<5Q=e2HJ{b8z<*pvnKaYiClip63xRS^; z`@YudHHYHuZEmr9&X7u)Bz^ip*)enOV8aE6W*l>#w&)~Jw#2>T<~|!|*RR~v>X|64 zvFA)-vi0?Mi`re>Tu&w}eUxJrpF34}?^9j(bVcXKjJ?rIG9qWJD8TFLKAW8R*w{xAxkeh_8CNRA&02DcYBnzJvzYs_0QjW zG)kH6l!p8y`)%{e4BsUFCzvm?tdWDY!(8^^^a`0_{8EBGH38J`Mh%R-}UEt-VE-b6&+|Kk&(3mP8@6K}|X-gaPf`HPZljf72ZqoR8;X^@Z zP3h04(~S$yEt_JHf5c<=lNFp|d>^^rtKF@6^+RR07rXNI-*30e2X0vW`dZthK&{_X zbfa5)BvLl~^sZ$_~}V)jhSl4r_E4ruWw;I z)#kq}$By-KVq?#0dF7|emnOFhJzjP=nS0f(kIi#TO_PpvJn~LE)yA)A@Ui9AG<6Z{ z%9B^QF#kI}v z<{j>9dlTNVz78^om}{mxqqV6M99$NSuaeXkGd|19trxj`Os3}eB?Y_H6-v3Yc%^xc zY<}H2)hVYgS##xcDXSYhE)^}6aTfTtdFI|l*6(&Sm%1-$_&CpCZrP6RDQk=N`BZGa z(v|D&6Zo5fDN^LAg!(~~-IG=oDT;2iW0Y5#9HMNi73wd_wQJ$LRV$xwv1^~EIb~J& z=_{L<6f$o-7Smnt+xC9uCza2+^ZAp^z9o3tzy5mYTGi>fH@S|S+w^d=SDcybwWA*# z4I2fF4Nmg2%>EJ}eW|ae@Q`xxCawvu&L?mBcuab7_j#_RY{lm{J+xKguH5j^t$z2{ zYtfNcAN^a&_e{xf;)CrG4~nk@y5Cfdz1~t#wsF%f4&Gb~QwIs7Q&u`xgng_|ZSz}s zC;HmnoOdTbUH`c9&azUY&=}Bc-;6ZQ5OHhAZAZnTB`nh7ZcgibH}S5fjL11TKWX6v z4#s9@ACJuu8owN@3a3=RFbKB)v%>$TU7w-=&(qmwI%~3x)Guy!^P5*x>ppQ)>Q!y~ z@^iN7=VtV}-RMf`6gSfa&lVlBJ1_s|0sAez`TQFWzu&csZRTXthjF)l*>)}OJj%*5 z-PX6*fX(!A9M2Ku=&)X!<$-0r@nI{%Ta7l{x_>T5CGXm&DDQ3Qr-B!9l`c~7i7M%v znRrWYj=;hBqNhuAxf`yuFV3mxp8Y4|7Q)G`N!G*t7c{>DFsjS`IIKQeoZ}M zN-5_pSDXITWvrJ&3_#%}(AeQ{bno10T&FqSE@5fQSYbQ!tm~d9V)F~4c~1vOY*oL1 z`iYXpkr3~e_l9h8XJr4S^7MMR&8nGk_tFC|?X@Cpo~6HEt(lf)9JKgxB*_@YL(LbWRB*@l}w zccgQ-1Zs8~`n2=2EK;!RX#Kfq{!uOIc@cXKzbx`8Gf?0C>(%P^osW-g5xvblGq(57 z-$}ymF;_kR^YkiL%=p#EwKiDga#Lx3@H-tgYc8mam44bUxdnkb=^aR&szWT?<9Qj%K;}>uT zIvo;szml+V_M%)@t!U8tuB6Nz{1+CL)@3N~?dVuAFC^mzgR;ZB_k1lUFX*s@iTx4d zyXSHu;l%15k(Zu!o@Z9Y@*iW9I6Z6PqEg?ypN;KzlGd(gO%s!EpRfAjU)lBUSI1k# z^k*-9pjph&^V6k%CF?5D9QzH&F6GTMIae&y_GE_j>WNb)od4Em{Vv1K{BFtQ_9dI_ z-pb0(cz67r>+?^luV1V@8Q9zKeanX5l|hHwco#nmuu)! zh9{}{c`Bd%qT(+vE?(5t)3#rJa!J>ZAHo+uMJjLQ`ugch@cbPiRVh!>Ll`FTHYU1O zToXt*XY=_?*3*~H=VgWCu5~9!2pxF)e*OoKlbarTwws&nvWQ!*OxBExir$?u_-v49$S@Gk+-RD_Cgft_}R`>DuZ(?JAb8_RNAfd_5Ide`;IxWyK*WF!0T+4#- zl5&u{T!l`MLT~laiIp=nza;%$`Do$|Pl@g(xx>uuk*8y)G2}kHYxHZvj&F8zR5h6M>Z?>wCv(=mzy6x@Wh|nQ`u9{TJqxR zw~mj~xKlTW$5pmIZ@TuxWPd=1*V*g4x!hAXDIMTC96!6`VQP2D^LZAh+V~&4fW?>y4lwgX1A42 z*=@%-znEu#$=Aub@mxJ=wTw;LT9a;mJm`8hq2FM0e$R^^42A!ie#X>%JbF@NrJaq` zyuO?EpOtGQWz_b6O+CCktxH|=cOdsaC8PGt=1odsPbQ1ns>knR(&6k;YMZlu&nK@h zq4ySRs2~2PQFHKg)7FfxZBtj}+|_;_x1r4P>B;xZx{B9Dtxq19H8Wj7hVemu@$)s? zTK&Q-1FpH&-qNoOvlWZt_+HN5zV*kB`!=~9#x*|*_>=kU8u$5#%fFF6cvr}sBjw-8 z!;4E=x8BtXG85_V;m_f5QL>Tv|Kqs54XbzitKDBbBrc!dQN`lD?S&KP$#q(*{Z<@s zv3`|W%Xc2DNQql?ae8(1&g=VHkSlizolaYk=)Q?n+I zpQFK*lLwO~%DH+<$jH}zxp*(`#mTkp1>KE1_!BdOrQI&?Q!`MADB6}A7W>L(d1R*A z-wvp_?G>@G3zLKG-!47$yM4Y+gyXBZOLF$Pq!_Npj-)15LwQHuwq~Tzo0dq@Qy0gPdW>hoS>9bDqxlKmDAr z+mW+tCe-U!tgBq=!q^qRsLS#58S&%GV+1!_rq8aNxn$Zhr`JoSfer+J61S(UcS~kg z>eI-{4d;)2;_8)qK1tySq4b=?3cIg+3yCSL z4vGA?r*vZ0jF;TPFCEO^%iNpb^XXSl(6k$!Mu(5(fX<=}5!`pEjJwvkM7uKcnPNrG zVewYhVnJ1zis`)b&s?mD@N-&r=2)9Dmz@9fnZe=W;?E~fUB7l(J3qI(Ezi3GhBH1J z?-zZXw3p{yCg1ishxQbgX#d|-p*w3)?o-X^?^z&sZMB(*|W6O(=F+;^AEIP3ac*iKH2J67IaWsAndP19LVUo(odJJxZ^ zZvOLRH7!?5!G@I;TFybs%EXS9M(RYDm!DoEy5KI$9>JM>88@Fwy$pPE!g{(UXIgYX zr}&?=>otD2dnbNbeRXv$>+3C_OrnE#DcMe&&c9x~-t=iopv@jz!IRfFsm9sJ>i4)h zem$=LT=4X%>G>@8`JPq%6kVBl^F!RZQ+)eso!j|R%R1jD__1m)kGDx`y{0*@;`D^K zr}sX;y(Kj@n{C6{R|_8m8Xt69ls;AK^!|xH)kcE%`)8?^ed^n!DYxv~q9()Qtk-!# zs@n|=7CXj&6*v_oc1%_8R6_H~O%D(6QTl$q?%QUM^%;yYX=!$b&tkcX99`JR5_9u*U{ZS6%1wW)#q#|Q z=B$-e@|||$Wm3?kD^1cTe6(IHl8HU$EL8n&=krCoJJxUOIRA7DsQr1^+iZuTWxL(8 zvYD2vABn9|ou6{*hs4Y!3-TH-8qZdF|EOxm7tNm>3*H$$HafEF#iH(@;xpgRtaokR zqJ3pA=!A#G9;Uw?>~6nYtNRsveufg$p4rc4rq8Q9{pZF5DOJec&=+b9g#N;m6`p8dK7b^BO_m$>D8cy@eM#Ug_&|K1t#-D`qU zf3`<1nCFx&{_DZI12cQ&R-FD(bW!P^Ti~X$le>0KTRTl^qGIW)`b)xz)^`g07y@p5 z^01b$>=ByUzV*1yHPr)Euh(ARU;p1gC6A9eKDpPlU_oh$q*mXihqebb;{SZVQ+!^( z<{`J-0oe~JXE~-zFwLm@<#ThPg}lEcdp}!k|K>GL{^iw`Hu1mOCc4aj*=|!^(PU}D zvpeN$I{*BVC)XDly-jiZF$Fd;mi4XiO4hFQwCf)QiaHuNd}gy)1a8YYdb?yx!p$U& zJ)pg>Cf*Gb^^X17_igKX!%MDU$N^(zxNj28AS&l+I8#ivoK)dQ_I?68(97SC;H~_`((%L`-!xS1GFZ7@K3yIES8I`LM4^w_nk|>Say$;V z@Pw^7bIvlG>3U?k?Dpce3r8EOFD!73sNWzzN#ggl3C1T+*F@Buco(lCAe8=?x%Fer zji+BH&;P^n`1y&w?;Z2lqa(s4hd;cT9bnCkWT`r5Xy5~)v%pG7Ox{#IQTsB_Qt>)OiB35Ty) z_@}Jj`)v_(fcuxpCp;LI*Dlt)n^GAgk@j_^x~SC};~oAtKZqI5T(2%+^+H|3D5YGl z+HT^a#fRDzZ$J5V>te^WR_;YHM(UH!h_`O2y!0ZHXYxj_Ulo;`g8HJCCu~}I&<3`b zWQp2uhn0p)nYzJaH=r%m2TWWW7Os`Qm+Wk~Bw)%kkL-xXLnpc_+n&!??3^i@dW0uk z^wz$#lS_YBCtNys#paiGp5nTKmuY8g4QBr84Dh%8I_3BD(i@uPB64>p9yi^2>-*`- zgHhL%K#|okx8t41PQJ@Lk3%2$ocz0D=Y?N^2W|_;F^FXnLmD z6JfyV;+NAjItSyJXaPJC+ETU6A9kz{M zC77c&B}ik5;&xEJ1bM!JV~Ie*ncN_j_I+(`Ut@DP_!Bla*KY`vR6AmENqnxGkn4_5 z(@I-!Lu`i96|dwnv-W<_$XI!fbpdA>q7}E-#v0J3ttyC|Ka=m`rpxBvwh68 z_>1PspEg|j(Z@5z&sgzHgKpP2BU`@JPC!*CcG|t&PtW(uAU1Ov z^a_0NWwCy{MR?h@J=gL+wS3L*+4$kO9oKQQN1$CA7nd7G961{?b8aRFrJRYoFDq*(VUZf8?Sxa+B9qa^|@LJ??kuiiXQoM=E1?{zhco2 zv8hky^;)mUpYp8k_uKOOwcjr;+va%jz1veqAFpFy4|uxY{4mdH%KG24nHx^1Z@HM< zZ(H`TRs7e+8#BC|a!)Vu6xk;`-Q%T9fd8pKchhF)+HlKpJyY}fw4^qY`OGDT`k;zU z7F+KzneW@a*(g`P#?d|NZnaLic8c|{hHqtJZy31LKm`aSi2hGp-eMyzR#$!pf%|Zv0rfIOMP0?P}!;#Tr{it-Oh_vMtR#}eE&vlWMN%oSYZERL37>L)$xL2wr}-zziFCr z-khd6Nqu_8jP5Cn3%P?2Pb@R(=}1gTVg9ZueNTB?iNfzh{}b1Y7yn;!c*mlBsdus% zSDZe`E`NrHDf%ZFslLFf}nVL+Bz4%;M z=<@NY-VsYmwVuq2FW1ifeaoubO}W+~DP1h?C!!#9$Yk1gtGH8jnuA8s&K0Rn@&7(e zzj*0Jhoq%|wcEn3^{HQi7$urE9~FGaXuLs8Q1)Wl?A&8Jm6y-2vs&c$G-`^L+t~vh zb6@bk4dH(>0kp6DqN}*7ugUfsjK?;9zgL|;_e`Mi>nktb7|YnzSZu!$y5p!=bcDo; zBqfQ=%X$~jZS>pSal`F=r;4g~W9*t|3$hX$Ha*mx*i>(6n{lK=aNRn6iPcdC%WMoj zoteToZF>=TKSr|Q$?iy@gEnH!`TVfCDCOeH;N?YG-RZ&G#N;-n%ba+=M)+As=#jLLZV9fWLZj;J zjh9;1%1%paYl__6eIzVSx$}%mm(b56n>D+dkWEX;P-f^8F8HZgseF zzBci{)>dt4yHo2PsAgU5HNQ9G-^T-?N_t>p9l5Kb?ZEIZ3@m?3(PaDI9woODLnDKu1%t)*o=j5t}~~8 zo_aEl=e&sgt?BcBr&tQ8y%l5Yjg&gYcFsVhE2i(Q;r!6>SW)+z9}=@f@056mwS;#> zsBmdtvQ(H}w&dNzu=MWivYkbj67R3{y|dxpwBR6J69c;9@vmpOVP#X#!Ao9YqMNo{y1v8i-;c*>U)6mWH79yso3iiACGThN7sX2G-1p5i z^p`rdCFQJEe1GURvB;&TK7H>wWi@BBtBY6SXO;9t8!q#ECjUEMH!U;kRL8Ot-?ngn zoBXNwl-lC<9h1sGN}6O$__^7^Waf|4`uoqss)@hpkm8=H!#`Qjxt(w8Ziy>~?f+fB zEq=LE#w=$>=;oXXZ>^d7|1=J~Y|r2Gu`T^MpNpf;_YH}c$}a7yf01!gokwP8CD#qH z?uUy47rSlTXlxbVemMN%F8>(@jZ7|rZ-oNysD{q7*#2&|l*N7H{bE-$o7Zw+v4xM=C(H?jH9%ktJHxn({D$jHWb{TK{cDFo!apRMd$3oUHet!Jq*u}-} znl)Sw7__i;H)znl}7cRTAXij2`zp)NK z;~eQj^U{wjG}?B?=uOTYUFmrmD}Vm#TqZNM^U{saTMq}mlsMD8BmL6D%(Rc5ZiVt` zaXqtd$89?OLBGGhonKbM@LPhyJEE^GVtV^0Y09eVvv;DetxJ*3ZC!%GAl}SB%-{gc$Aq->Fv%{ ze5bT7Vfxizv*?wHvsS#9=&5Q@;uE&^Wbxi6k)+5~y2W+dlsmy1LEPMPLRW>~~c39h{Ik9iPTv1}Twuv-*W194HDSN`vWxtwXi+DAt^?=cFT*mzq6 zw5WZRSZZdv=;Elm+MvdoY-?fQ}XYNk=3|c6D#@o$YUc@3!(?$HViddWTUHjvSuU=d^ zGO=>cPFvP%>)V{Ry1E2CRXM+8#;jnuSy!h=SHF|UaJ}<&kCXe#4=aBzI^!etDKY8k zy4~-%jJxin{&cw*xVHLjk<7y)2DMa+qRY&exn#BmJ=Emz4%#NRG^1Uz^&MB~_7|ze z`fHJTLORc?e`{Yi|jMR-?EfSqkLWk8? zH2>J>BjP#la7e_YuCSZtHBnPDxxZ`9&Ybu`r=#}i)Nlv)2a)M>r>@-`dGqP?c9DQp zmm^GgKQrm-J{94gKUH5U>cvH84NLVYTh46c=uJCpP=2`P$OJ`afk`v%R(#_y30m@K zi}Xo7uO+oRx3A>)c+(RV09pqPs_a01na-hLKjo6r8RPRdwJWP`rtbauZ1zU=mQCDi z6Rv4ae<2ZhU*Djr%(^U3g)5$rP((WeNuDzQSKY#b(12U`!6X&(d6mf*L7CpIS&~*oV_~8QA zZEurTPeC+J99V8SJvb^J51Q`K&E)x3^S=82<0o!q_Db!^=`ZG0zq5QcBYDT^ZT>3f zw@q>A>}uecqNuQOGmma7qS{~-e8IycM!}4Zh9l?N z9JD0Cv(@k_3UnTW36qiL6gSs8Xk;iLjOG=baO0+chpI9{2&!m;n?q8%l;}^$q6$z1 zz_O!>i$hYnv%=IKq!Jz?=OD${IX5%p33%`WY7WG*3j&Otb9oy>j8H_ua+xeDWy=C5 zBG(sC)0|mU%FI}TP9j?lVJ{J!aAW33@z9Ko3rnW>hznJ`-}@c3N^6rSX!+B#`St%c zZ4`-Pv1&X3YUq@{x-w_d8H2+-pU+w6`!Vc3+WdL<{lD*yipR@X6g)U*{oZHIv_KJX z9)M(qT{9YvoYTv@vn%v=`uti6t8kB}_p0B^+Ef&@c62E*?e%`prM>RQGxPm3gWGmK zoAr9<^Ld~n(uxk%{P}o%cJ8*DbIb2#CLZgNEPl81xu5;sY15tm>G-P`%)=lMM8F+R8B^}5~v{(awnzv}hc<#Wq!UGmnS%X9gs9cZVY zq0XrAJR*XwrMeLNz3T(&&MXm{e_Hs3iGA8)45KReyB^T#1>{T*jc zK3x&G_+HKDvnfrwwO8z;m4X=HPT1#^VAZ?xw^#7jFw6V(|NmYMkN?}qF86^cXZPD} z*JI0NyEE^yAOG?3G3dOlcKJGq^7$9a>^_}P)?TyW(6#7%-`Fi|Mmb(P|NnhopTFnh zvF&%uW-pG&+xb+k>czsDX|qn&7Ri7vRrb#9rvhvcf)9P zf~{La+{Q~@+O0QhpK8Zz+L>>>k<`6*&!+O7!*e-j`ap@TiuITsQZe{BSpGjkxxSiuqJ}e(Ajpe`A=GVUdbXvcBK4_Erd7IBX(=%3dy!%(w;b6)XX?r<%v3GI@ z_t%wQZzwvqZCLjG*X#Ai3rrHZzMU_#k&Sbb`T5d+rcvsrCnpmtR&(bwuWDOrIPWsA z*$oAg^tr*=a(fLlcfzZOU6UD@S^v5y%y-yQA~xA+e$A&&*UG0;!z&B|igx+WxT3fF z&7@y9Hhk{=aD?mqyn;iVa^Kse^FBmN=Wdy}^QKYzTv6`HJ~OXusGhQAW%Z*@b)}{# zoiB6dZ zbNpK@|F@$tO{1f2rqLstzh5pNo~TiE?)Urs_uU@;dCK7;EE2i+b<^wfb>EEpi%#oq zpRhn){?v;fu<#phXW{iXq$I)b>pL>m;!w>IUj5uYW=a_-^bcJVXGyWei(zW%sy zkNP6D!inE+s2p3%Ykud#q^egdm)|+2V`qHcX7kVFg((wV#SG1x9!>VQ%Y64iKdt@7 zAIV=ks^8q$II-u|_JSQV7hMR>6U>klS z_P76*T=AU0{6_;b--16HHXG%Rtn&+VF7OF_8nt}UgyrxMzOSm_y{&fp+p4usX6I}= zc}zP0%>DfO-?t_1rSQy+7kP78uI9tReMh?wWavb)|Nil~UpZxywTVfBw3=zs5sqVz zmi_1KUwmN0gxivzKCqmgq#M}s>&D%~rxlrOJr!OxuHXAjYFpgIYkGS=IBod_nld^q zw(PFI`^qnxd!(2AeUxs$+VAmJJ#Wv4@RGo)rD4ll*-HYoD|81;77>vivrIqEEN;p;sh8};wWgUJRGUV-1@iZ-;&)fK#_^_1_r`LwPT2SA+w zvx0X!9`^-iam-&~bv-J3?ew@R&0SOXsBWnL0j7(4XfIT4M)!HyOAXu z@{Ez0tsu)u<@(;Q*P<^L&ONQa-^M$4@0}Bq#p7!}rcRG-TkD;-bHC^2y2>{jk8d*X zS+eMUBfH#-#3urcaq15H|Gq2VFFntCl8#W-{?F&_?{C*=XWYPbdR_|OA0FGu@5=0D z-+Jt?TRT|>)M^DcF<0ZG+l1} z-fvOoPV(?;ZWLO-`JC079o*jitP8$gi`M@VnYZ)lA@5@^I5sZqzoT>^lVwJM<+~k^ zHLhx{UNb3pTlxK3ac%1}Gh`~COq?TKa!fMarSW*b{QRw!H=VZqewpF^>ua`b;H9PT zv?s5suyJ$0Sq!^q^-0y~C5n?5`o_m|Zzg#l$SesZo z8>qMBE?>LFJ@KJKN<(|J<=@SB{oR#chOgdgJP}ctXLESGc{6KSPO_`g#53)O0;lEp zC9hYT$8+%JXUV%yjf_@q`upv+d!j|?BkB7;++LiFx^r@}`fmQ)&o9iHS9D5q-?HoZ zPpvl{+T1t2IOa$0wwr07`;Wsm{5ev({WWLG*Po!~%C+a9b0F7PigagdA6~!jS62E_ zmoxr#pM>As+~t2s@SDHS>1|(MuK4`rXQX?e=&Gw$UM`4!V61~fQo6WFQuS(s)KgO~ zE_QFP-1FfO_e6y*-i7!7|NG9ZyG7u(DW~Q8^!)~1JDoRA+x>Q%bk-#eo?G)054W|> zlaPq21iKjTrS8omn_y50pdEtKD4F{OYJijlS{_KlCUu5R%%Ym<6 zCI{{f@A?${bY<}Js=Z3?r=#2-mLl3sttaCyZx@)%hA-(JF^0g_NPrjcovzK+f1iD0O zWmEWZnLWZ0`EUGZUVYlBKJP=q&#m*^tY)l&dFrxG<9XlBrr}4Ug*sZy19R1Pcux*Jj_xtjkU=C_|C^UGMK{_E9n-LSBmdi(!;685(-+}a{xwP{BL@7J>{ z#6B&z|Esxb_MA^Iu9-MB{F{8MGO9{xjntww^G+5q2sy^i6p8FSRQ#|d`rG+!cCsRi zQ-8_SPGLPV-)QwY<$jx>4cFpoEuoDV2bNuv4wPKc%4Sfk7tCO1+;(^)hndiyAmgM| zW&2$(ayFkmmKGS_H$!U28uioVk?JQ8IR(ADzCQlu3od=8r5p>`YCarf->Bs>eeq-8 zStgyWD>E$E`D9M)`j`@=`#U{)KHsU!9=}qv=RQ%8hqqzhDJX2*Y<(+mEBr)BD5H^2 zRbjG|>@5SWX|MtU(w#-LSXQ-S$Y?Nj&K=b=B*UOF?Z`RMapGsq@4w+wg2b&wW54~s zAAi5!f4=_r3FI-ofN2iQNzW(y+gXB+Dz|>W$KU>M$;~&Sai9jd)#L+r%kS?!Z}&)RsqG+G0Mw2SHhHK{3ai zqEnin3CE{9Kb_JpznLm76aVLtc;!M~Nuwu!KA(@z*?6?i`rVFmnrpq3m>^9Q&^CPk z1gmFXPfzyUqj}OV1L`I3U9XGuUmMg^EqgaXM3OhzaRc~KU1XA zm%akI3X<0y3YkK;%w1xadP-zXc8`=P7w_||)oa`SO@8aYX0z+FKmWe(-~X^pdXrS{ zzMs#uA#?BS{r~Ux^r)zpm_wrMVuSKRGJtr^^)V03<@7wkl>yVC%b70xT@#p@wrE3Ht z|Gjw&Dkj(OdbJ94F8ZN4rPm@s15)pHzu))g)9K_=W$i_OKn=15#+(W3u5q>56@!km z7rS)*+NQUlyO8JB{pvCLaxY;|RE{kikis?|w1uKl_B?dP-E`Oi|;M1w-_LMF?G>1nP>?;Wyk z-f4Ji|L`*Xwn&_eU@vzWYWqVSBpzb&phG*jSA~BcEb` z>zkC*mlw9ny%IfePx&3FVZL(tJSWi&=hE%>YlFLwUpSdM<_0Bv>zoz@-8Tt3*i@!b zt2<}0SJGayPZz=M&@Yxuc`K$(Dh~6i`)Rp5!d>{eGW5PHuzdwgyd85vqlWYUeOX@k z_}IqnmoGyG0e0;f|8G}l)t(OcuP&iGMg{6R4{DqQa=d z8Ce$jttCg>Ix#Fd*R*r4?M;(Y-Y}~c_=B#_SU%goRh&^UV-mxmC920S2E5<*J8z1~ z?;G#;|F8ReWnL3UAJ~4#7^Xsd!;y0`7Q0lLlninOB@7Y{l-W*7uUpyc zA6n+z*dUpnlaO39Wgn823!*uFzJmrQv+suJgGv+)?}l)t=R*HKP2aEbXz%xXrz4L{ zW75vK9#@@P6HwYGYaN!99=U-_A6D`i=n7BRRveXAdo`BDMM16M(C0J8=l>it-*=FA zTUA`~SyRv`V{*Ukw%_k|D;MkS`EY1@eBI8Jb2DbG1LZ8J$EP=JnY**1B$&k|VU|k6 zxzBq(pSxZE|L@^j{StY8xn~Af5gz$_g7d%h?|lV+8pUVGyI>3DpIAp_W5j11A^A zF?P=V`a=`R7>HpV4tk88qk4vB7&N|0dfqNy_v6E1{`xN$-M?}zxZx{Q@pNjqTff}j zgY5DqGgn*^LQ5r$QY>EGbKmd#{jP;m*sV{-^0dz8H5-pf1uyqoJ8}0SGlvJ0{p~=5 z4t2k8-(R=+oYnmQf1ZE8SDk-rMPtd-7LJYs=`3*-4_n{YJh#4`vzhn&tO?MR1g=~| z6bzDATD;%?{~xGIopd?rtl90HrHix+tT|$8zh2$_W|OydP}nRbgI?i^pHHWQhTH{} z-3}yzM(;r*goO&L_92pbh;o46ZOhkdHrstT!2IHxSX{-!te=`;k6Fs@RX+E(|2w5D z(XjbVlD;WfLlVDjmen-G(64)YZPqHf<*&sypPnkRQqX8HB?^>q&` zFBgQ1mZdVC&9FB7V3B!Ar7vV==CYXv%VwokJiZzpKR3D064b^xwExGW?t=8ac_N_E z%Z|&z{IU`n{Bh(LUqec@4i1iU$@Zy|PLOq8He%`Bo?>p0|HQM-`MRL}`NrAT>2Dc2!}~2 z26*4L{Cvh(x$W=A{(6@yN4^~k^48sYBdJ@_v*?glgvF7I)$jLypWw_FS#r^Je$^{Y z7WFbky`MMxlR0Zb%(JenNSzkRmh7r>lwY#o#016UV?CUcfBk)5-~aQ@hwrcB|IcDz zm#av4(K$OwLA8k6aB9h)cdg=aFF5!8{dQZVL1zDtoB0b{#eQ9yzON<3vhGg>e{=I^ z4^Ug~X8QcOK^s?Izn>r$#+xfmSys(`3>ySoA&HrE5_ZtXix;F?s zn3cWGQE%_xZ@2G8ytDiLrn%-tE9k^M+k+dEkMH_FH9YR+zwnqs*2v#$>;M10pCnVJ7sBC6kR?JPPbnXYiOPRdPJ{yi%md|-! z^y}sF>J6LtCVeWgvF>V_n((~%+s*XJIgV}jG}^Z0REos0xF}3LAnb3G*#BzV?Y!6d z{Z}S@LM-886g;66;C=gKMvt+LAa~$j+s|i=7kX^F>}RdGVIlY3#CBP|olk_Mw=3ET zRU8!!-}9h}`wV;Z#21R7mh}C<@5)bj&tU?MI&GerwfF0_-T(jn_PysEy4LmK z9s%(xLGiPb_dm%+ z2R?f`E&APzy05(Iy^SB6#Te=kxac56W-nZogY_nD@`qci;E_uNB&u@F&%B_372- zb>B8e=bW>7v7q_P*;&y~GK-b{<$nIZW&OEgWmk4CyKA9?K#$UcmX5*>W)818y~1og zafM9H5`z2{#ZmdxM&-y-CC+}2gEZr=U#?RIu(==Qv@x(^50JG~=j?oYX$bTae(!vCh( z*9tfvO6iH^UR@=6(Cxb?oBpm@jaxG>AKSYyzqa`FzS`eHUSGXGazFf_wALe*FZ+=J zk7?PBuvGNw|HccJQ!3V-{zBC}&o8VDULNdcc{J-nj#%;&T}A8FZ!Rt6e&~D3`u(2I zg~w&Xm;22H4H)iGjccD{EdAfRox0AXZnkJ+?*=76cdQfp>o>#}E*Xlkq z4%|LB*SdPeWbb9VH*a?Q3SAvG({R?eHJi_El5Ga{Fs$G2nOs%!;LgtC^uK>*+137f zb93`_-RQJ$>-T<}wSDWXKYw*Q6}8hoUtej1Xo!Mqj1C7$&MBT{m&#SL+%xzRGn17j zNbK~ot^U@c?Dlozrirs|ZOu+k>slmqu_evF;L_nqId79620yu9eBSmspStg?Crtvb zSzle0-|u`bHz~9J^X&UOR9WrC8<#|y7(5IJ3k>ohqIwGo=RJt&$c{du)g->PEeVSTw+X_=n$Ejp7#ChEYr;sl&9-VG~HsDDSjPIcTaK4*FS)SEBKc0X?~cIRLHMF024h>|H^7p-}iBD>5r@@~V^ z#q-v9dl{T|zu7i@PrUgI`}%!TZ)SCL3j8@!vyoYVF*-lUuyv9|n9uuHu82|?(#97O z)TqCCQqNK6w2w)L%(04M!PlPKZfyVY)Aixs@AuO`D{{41an2E%xy84zGc-!(>q+(b zDt)KQ94E$ISO*${G`$}4_^ZZkVLyvT|+S=&prgPMk zZzhS0cBPx0Q{5){@z2NO@{^UkRcF5rda%OZJYnwhL#^C@b)Oeco5JkVu{C^s+`i9i z%>y0L1J&gK$CUkVR9;^#yR-AjByXkDn#Kz^&zU4!wWjXLiHS4WTC^|rUNO(Sq#|Uk zI(2*Y^>s0a9`x7$QJ%Twg!jE`t3pqkDLHN06e}RKrSkK$EADY~Ze3dLFTYyl&B>2i zGA5^9YF@c8q3)*biFK3KTj$)^;8A>UQTxO-UuLh&H11V4)jPMc-(`2I8A=aj)pyGJew%ps>5^K*GIVY9J7`r{H((aq{@Iqj9bdZ4QDxcbQ7*Uz)Jp#cQo@s!`6}1%;1~mDOl0^te@38=-K_ zLt^q_*TY`k%a)4nW-qKc&1-(=L3rT2C134+zuBzu@b&ura)Dj}(=(Ian0@5_a&D$! zTE9oy&lk70W~=+n@#vVUx8~pb`v2C)TiP7f*iBaadS}X++UB!y^{x&qLBbsS^Cli? zxng%U0FfM4$uK%)dB&@B{3^3^F`XC}yv(Qa{oe0+dp^1yb{Dx=yDn;L)}a>888=mx zx`LPcJ>?KEU$7zRD3|}%RQaey^&v$uT)VGc;!50E^z_sPI~{%r0|x1Bf==bFUz3mb zEuEJW?IwM#dM4`}GnKvs#bX|}-QKzb`%R!d{o~Xi7reorjY&5Dm=+4i%*j z-7eSi_SF5Y`ZCX5Dt6Mw8$}lvx#qdm&Em8)-@x=pYf*QBgxZc>wdd#ADob6R8~w0b zf8T)_n}d|T+Q=>{z4=K!=zV_Vw@ybDF)!Y#tGR0$y1spkV6?T#zP6?#vTM7|(OnA1 zi?`?9<@kB4a^aMjS9X=Y_DZ!#I?{3C!yDb%DoZ6M&FX02a7Z{a!!UAxSV-Ex6RJtj zYz|J>J2^uh7kT=J7rqMYUvlVCOG5JAs;^4B{~h@#aO**@Z>sLLlefH8vgcZrIyJ9J z6{_W2l=f_Y?XQ>1c{*cmu30OwLD%Q2=7zLQj?HW{>oWSjMQ=!8Yz$tvDKhVH8}H^{ zK7pQ3Qcg}%Wk^{zt;~Co{@qHhJg)g!NCTP>$4qSp73WW9o^+Gxbj^Fr?=Z>8PCF9R zJcm?6U{b`Y@l~r`W3OFZQIh2y)r$rv=AErt=B=b|gwZN#QkY=NxK*Jo&Xeur%=w<~ zlfF7kU*eYnA5H-KT}gq7)zQIo8*AZg6A$$IS|fz1t4!?G+{-%<;|Gu)`vL_Hk20|% zxtA0$WCA!nM)lAw3_@Do{CU_e|LpAS?Nwi2Ikhe+{IA~#niaUSqfpu`=f{1nztMs$ zpngmF{o3!l-|t)9aqiUC{(ie(8Mn4%zP`4$`+e!rF44=&{rmIvy^#_?<0*fI{!PVi zZ*2vQDuEVgEO2bz`|Vctw>LMZ%D21C@H|jwTJhsyJLtO6ywu};vcfAneA-uadNQ2L z*tY-w-}k0jS2AvHdOFKAJIQQ~O4?*K-&?ic@6I;OzP2Uv^4HhbpG%0&-`L76&L?T~ zuO$Uvo&FBXYIe+(Yn-o`nPv?cc-79*Yohr=JV@R7T@Y{ zxUv<|4q2i+;dsV#<$jw@85flf$-Z=37B;ozfMoidkC*-J&(5*jJgH}S7Z3A9w&G2f z%WovMGtD)6bG)cE>)fRR^{`#(Oa{o=A~p!opRv&{d&-qv;OmJEHe*VeDj@UauoQ z?zh`I&PV6%T>7cUOBucdP@s`Xb;5C#XyrqTiyIed?nwMx)AKAuF5&6U!d=S0-)#2( zb31TlnBOM118#L+F1jC|-=u?F0BjOEk-x<_d-|#~?2Q|fk8i3DwzD~%ZpE}q`Q?t# zZDC(uU0t2ye5nG`bOezL9&k)Cz2(`EbaIla%!dPKw%<&fZPA}0GvUM6>+zcp3mm(; zI$i!i`uy5$U#~?!7Wm&Su7Aw(X4^!Id*bmmiSAw-&a3Z^f97!h!-gXZZ?1{j+V#d= zY<6Yu)y;((((^BP-`!Q}{i*F>czmrZ$MlKM-c#Jy)A;w(bMb$+lm492UcV*p?yX~UUd-UFne_L>CF@&77F>rH9H=roF?;)r`p4&$ zmL29Y>;50vWx3%>`I3O5{PX$sb|tA#S-Hgu{;}Mv`ufWC>}7v@S-u(0j%UDQ zboc-Ny?>5xw)y=U<43)`uAnx?_Jt11K?`AyoVj;Q(fK+vJ0Fj1RON>U2L7_gEM!MC)Hr7%>`+s6Tt&)y(O!l{vG(P81^M3F5L%*F;_t*WM<58b>0d^L^ zwylpk?_06**~{!$ZLxXBt5vIaT$fq$P=D8h&k24F=c9MKC?4Oi_p--Aoqyhcbre7B zxX5!R-mIv>fWOP<9f7h|oj z^V;Tl>;8UYo`|Q(~%=XFzgPI=&O^aHl{&D;R+9RuS&GhTL zUZ-|GS*y}lBG)1$6|E8vwVbJ{QL3sHJCfq_;$GG3wK8r}ug>p&x9jxT9Hqh&A8vql zS6tGUJv+;^yUpkAqHeuS6Mg1bT^w&5_};(zaUzjtE_JRiJu=FB%wH0@oEo8<5N z`7C?g&NhWr)*qRSj_sM*E>pj|^tG6l|8@H^7DC#zO<`5?57%>usrhrlza96|C*hUDOZ^&zsIty>U&>} zN|=Ow-JY-6^^fbr4u>tB_EYiL@2A!t6~;M-u348|-S_+bp3iylgn$iKKZu|7UHV%7 z$%@rgvpb^G!~!@Lh8^eUnjGfgD89w4M?9|L;OyQ1I8|N#L>jnH-~A%DJiFC2`chtBiJ=Xj?t zF#01_>~0fiGiC0_^eJEF{d!O=u3}yM`C=%dTJHe$ja24NUG6Ve=Go8l+o17?YSI4_ z+*`f%tSbY`YL6~ebZ)z$tkXZ^+ls7j-#kvKhHwc@^pacoQgGuFU!Rq;_Wpeud1ueZ z>Fu%mU9?tS-JWw(DDe5$HNPLNysjsBprp6G@ob-W&z)EKyWg7Kn{@K!SVnJXJ0mt%d)d``+V+4^)2OR@Ggi%`$b_hZ=0o9`BJn?BP+#5xeskpS|(F(ArNY)t!@1 z{mbP|P5&eLv$vztUwQBJFJYTDs~D{kXM_b<;|~_0_bJ^jTV#Vd_kgYr|Nr^M@6Yx+ zZ&bEVcCE7crl@;A*`{nqbxSe3r| z^H~1>0?v8<_J6;06o)MBc2JsWb7wXqqk#6D`hPzkmbuS4aollA*~{|%zhf;JwwZ0L zGP1uoExzuj>g9!LpU;}lw=UP?+_)!#|Ky=Psi&vSRPAg!k|H$G^3R9EzIP3C<{RBB zI26CAexEz{_eoOULX)0K?~Uls*;jNeGClQO=8B~zP`{~)Pr%Ssuw_LBlO z?_{6%Z?8||y@|)ege7O#`xH;*6uM|yd9vx`-tYHjM}E$_wMDbuQ`C(AnT_B~+44IR zMYEUu{`XYB{vapk7MDLAdb|8TpNS7Y-C`T~fWu7MAkfQSx9o9|rUB3AGe;`loquTj zPp60RFqFIj?V@*ItqP^^*49OZ!y(*#t$8w_gquygaw_ z_K*2juPA?6Z#Lh}V3z!*4);EpPNlPdlH9DKb`&VCUbzxGpJ8rC&aQeZmjtFZCS7l$O56H~31bx4)`SN;0hNND2|={XgvueARB{5(3ks9bPM z#*#DQ++m!@)Kr~+h;aH&=<*Pp)EV)ykzH(i67zm#`qAK27?Vfo2}3vIN87oDuRXez6!dRW=w z^yh$i;xPq`GuvPIZ>r>6pHpxsb$YBAXZ=n`SFxmXhuV%D zT(YfRKR@#I>0G51U)R_F)i$;_zAJL-bp1R#@0V&*7mGetdGLnqqy6f8Dw&P`%JSja zM~_dn_DGr365VvQFzNlAkJ8KC>sk#r7tIM=c;~W3O$yQ~6IORn3{03ZH)m&{+MLk5 z*8T_4xm!bb^7pXL*;%Wm)EuR3mC|`|{k~sX>I)_;c=6g&SvK;U5i`g9Hy0N@iP-eZ zBq^pZf8xhpY4dXr4KC`O;orP1p8dr9Cngim+y9^Q$0zLGv|00KCQCeAy5yhvsdP=5 zg377c*VepT=k<5ZuGB83hvm0#%(Oni^<2_8ZGvRoN!95;vL4FV-JEh_-6DJ8+7jWj zD>B|?@=e;Mf*8hZbp<)v<$}9hWy@#&P3NYib{QU)ik$s?oyxW2lk=AGM%I@xaIRWb z_xIOKw$wF>3Xwto?k(}0T=n(U)9%2>6JFlkZC=!^SeV9B{qV+(m>q4-sV6l&_gvYq zRll{7nf+JjwaQHq=k8AnXS8jYcVzbQSze!H>c!qQ=4M)KzkJW`$Aji=m)>u=>{r}u zBqsFpe#HExM&~Zh{yo>JxTZNsIhgr|O(@krfv7g<>vTv&R{x%mgVXc!>|Gz)z zudDj^{lu-geU>MdgCIOonSh#Vbhz`PX@M( zS6QNuJpc6cbmgNZllDd&KH+~v=Vf#m|0cB~WjVajN0_6;9X&Sm{c+wuWj4=+8!pFt zzTeKb&!4*W!>7~w-(Oxnt|$2I$p*1+N}CFVy=F(=R^2bC+Um2}>U@-C`Z<}~H(wm$ z)=xQ`6(+4Ed{(LC(n4qU>eJgyJOWX^QvP`Hwa~Vd`&eHJ`P8cJ8*wYZue@ zDr^2pDb1TYr!2X=D?wSi=yGjX@elo%lm7c0kbS}tS=BGOhEI9XKhY0yGHdGF9-r^H zyUpy>e}20PQBdy)GS=e2QY7G^V|{Yhn;RP!SIU@V2o&}gXy4j?ud2Jxw=MVfF?HuFSH2gfiU*W;Y@cbI{%P99U(8mAC2Xroc0`F@b?G=69eJ>f z&8?z(&dpT*S6}8;zuWn!OZ(4>BO7vG%&dBpFy~kz+uPgQ`E`|_x@_jSUG%PR{xdJz zna9k2Tv(>_H0ba0A3BP!ZXCbi_B3ez_BAI|)3U!#6iB*eJ?T)tCBMB;*x~rTeNXfs z)&}4DXutZMVr-*r`(G7N8<%qrPClF*{rG?NhM3AzQ#2PEYVQ6v?fs^MJ@$)5zMH(U za<}}%dNOgPH?+qLE;m($9(>e$d74S*-9!g=b=z;Rub-c1SIOb_XNJF6?(b|;hwVA4&J@3%#Q`m zeF%E?@`GN++U&mRGS+2py!H1U5mXB^uKQE*Szs~`|0cQn&2p03h0TdSrsPLHe7-2Aw4-s*&hS?A~3o;5bD%bsJb!ua}}=P%P_ zv!0J$Tsc#+T6XS#W_D4>DSXP`caM8>+m*vl|JxSwU(?Qe&g7R8JFOWK`Qwt4zW$Lh z$h~Fq|Hsr4ccGsP#s9BZaLUO@u3A0t=Ih7xVS7DyG1(j3T*JBlGqZb``or{N?>GJ3 zkd*uL_oHt8sA#cYpAt7z*{!JId)f4$;E&|e9m^xzWmkUDSNp%;aNdc~y~w+bJDeZf zzqnRp{quR%=j3G$GoA1D&@c8_HfQY}V`jeH>H_K01?*j1_A0&>t&DiSrjJut?Z;wu z{*S@S{l2zWWOqFHXrblaDNw#>p872@-KYn=fu}rYq-B21(0a{U>7a8_@8RXA8sX=y z-`jjX9LlvXU8nfr93g3jZi(706PeB*zo*=4kz%m>`@L%Ax(d(?)^&+8QOV>@lecfb zSEaqt^wy>=SIWqkO!Pl$dvnS`>-L)|G zZe<56b6x6&iAUzQ?%u?-c+(1TdFE3SSEtrXAFp3@UdZ{>uGPHrS9_c?Usxes?+NPe zs6F~Lb-mmDeYHOw83WJS9VlD=BUhE z=N_J|hZr$;5LKTLROZxcAw6^H!(^pTZM~knE9|GXu}$f`k@D<#Q2n*YbXSq-rcXBB z6Y0CJekCWZOY_)~FHXHxhk4Csw13e5IY-(or{JMfoRgyP0iNtNJ-@axeyEY(c`DhQ zJF+$*?u75LGZTb6e9BK`MVOdPui>$I93?O{y+rO*=c8SQtXUm9s`^DLmhnG7S`;w7 zc+I}e+YW4bUhyWjY|?y5#r_H3wnapxn7+At>Q96~z1YKmwP%ib|9IHmcEQ4#3O%$XmUR`rCw0UsL z%D*R4@YLU=r&-Nxyfy!)ZV0}8W7=d_<=I+_UlX@pkE`Ce?ZTUrM^nGYp86xO;r+hf zLWaxYYaZRqbvkc(sxVD3lh66ukwvpQ)D$;>^0C>(|1R@Ym14!VJpX)b=4zg)@ew;Z z!_LW6dX}rKl(+fK-q7y?nta%9ajA6C`K%?mXSVw^Zeg`EFnnu#_J&ON&JQb{&wO5) zeCEu=m8nrdlQY~p-(_BV7XsT}0Sb(OK9*Bj)~5?Kib5x{#FPmw&c3&&(zVPteub}@ zrfTku%Ty8Q1GG~Ft5|&lVvzLV_O_;?n=~B>w zlWWeEIGxjSe~@zR`HD`B=Xd@U|5&Ls{gmI1u7*n{uCSWQ#ewBicSA~gJkyo-$|>~EX2zKyQ?ef$2i(ls*7hYc+g#n(Jf z@qMYc`;Ac8GQH=w>t8jlT!_@OXyE8zU@;SHUFFsw8+Nn#iutQ2bNW3es};I<{j*46 z3$aXHvd2XI@VV{(|4f{ij%cn5Fbb~VVo|YPeJJ+dd6}Ea-%lv_=UiVWyL@fIFW1d! zXK!RpJ#6VwpE~=_{~J@YGy847Ntk3zkhOK{*Wdr=Q|9uyVSTnwZr5A#g|0)c%3T(4 z2?b2b72Wf47IHcHh=2#9#=dC)%jx;jn2l*S!+oNW|PA#8j=mhLrT9 z8^ipOgABwDVCD2E3p+S_ohHU|hNFTL-mI~>_R168uvH3-C(mhBTsFm6xv|26Y0_NL z<59MVatb^h)!`tjqHr^kHGkJK9Yo_3WWNHFsJp|a&5t5htD^)eC|sLB;rhV$`V{1J z1M<&;M;snyVKUiYky^44!$K!Cq@?2twUg(%lGn}y8Gw`yK_Pvj`%TQoq@!P6UgnValhRxv)o&|N?#kPM^{>; z^!b`XY=@JrP7Cg&Jm!b@ogU}qyD%VOPEXmrJ(c|Se?B~H zm%q2bvAIvyIxRFw)L^mAL>ar9A7artA797+-<5iL8oO*sz~5hAK?@AU<0=xr-!0F- zwkGoOGT-a#+s$S600m45wjo#7Qf$Y=6?Nui&ouxlUi6*HhQ@( zxU*>P@;ODP{O$jmWL!{~eec%RZ0)Ny-m+&T)8`!gk$!GYe1CLGdwt4{ z?f2`d-`?8VZ}n;gXis?B#U-A?+E>;@3ZM1d`Ke$-hQt#B~2V5Dvc;}AxghPg-2T9H;#alM_EDro!Baq-crDn%ee^7z)>gwun(Pb+wk@_@ooKsA1owPGqF-yMw z&qS7UZoN`Be;v4^{O?h>{=VPutaGxitT;Gt`^;n8mae+~xbm{E`QLxfr-uh6RP)-)_HOWOH&==;~GB z>(4#2-TiJ?cAs4EgfD$XA~M`&ZMLfo)0gJ#|NE`S`1RE@UT)lO@3?(8-8*tdZIxi7 zlZrrHGgsjssm(|UkB#Z&;<+}xw*P)Sj?UeBb$#8})qB6+tM0e`_Q0oacHS<{<7?b{ zrLOKMd@Ngbqp{bj;_s*F`%_qz(<@qhEt*(6CHBcxJYeL}+wq`j!=z7oyWb=+3C--1 z-+ya=eSL9dm*$+#8R~a@*YV)BN0zv!VqzVmU+i zT#u`kEjpnn6LBc(&8`Qe%mQhaV!Nq zvd^20RwnmZw$0vA_4SpH`b^U~+J|GG?JEWyUg^HObN&8*Rm+xUp%*3(?z3F5(TqEC z)~e)%L$S!+?Dc!y-gM8+^s{=Yl3w-cr21y7i?*9Nm&p2WI%{^jpy5gS{Mv7)wAWv_ z_6F3lHR+fB|9SrZ5_|o9KNelL|9T}j&c5J*!?6d`Ikw+ACm*}JY-=6p)Qa7Pt?hDE zD_pz95_wbEK0j=i-zCiDb7Y%HQjUkw{wW!Mc#f6z9X+`wa&v*x=We}SC#ur*<;%Sl zHBWBHePqzHZJ{6<;lPm;oZVLmgtCY^)Q~0>o zd{_JKce}K|SCoXZa7|>`A91tY=2Lx?;yKr3#7ct3URQ_WJZ(-Xm3%piJ^b;p-s1l+JpJaG{6BB=x#xQH!&R%-J-XDy z%Kb*yap%p=>AN32651;~Mfqdtu^!2L`iFGBJdSNQ(s}vguZY;Tw}o$eFKwH+J^#L3 z!?nzyNe=@aPoMbcnyJGc(GNHGiuIIf&e1oEw49)uW5YRNmptEp6aGI>m$R%7cVy{m zZb(TlyyJe>306=fJQnhpoZ>y>^d~dWs=H62v85Z%tS^3k?%y@;l;CD?={Wr;|OZEBA-StIz-|v>kb8k#4 zc+{zWZnk;9PH4#<*CZFgp%@606Wrd;h2 zdl9{-V&hzC&mH_vC0{a4eZd%XJ^99l*xsifl`=tRU*)?NTyo{>y7H=XgJ8L8{x|de zKYOFyxSm{VGd<$;S2y}ih2`c6Nq<;`BAG!;n)d&Bs&A1pJ$9R~QumC2#25CUY;bgX z;8(YQ&t~VRv1=wR*)z*5_f-7+aF(K@{6V&eQWxBM32|cTOkLjkW=7|6)yt*z|l(ao^ONd)ux~o$~W^*p{%9_d#{nqQz^Lrd(8$(ifSW z7Z%s*@>pG^8U;n?> zjB!z0fO=!_qTFpslYh)U8aTh^ljoxqZ;T^@#4FdHx2jWldYIq7=hKrr;zg4#&QDn( zB*Ehz^iIY3`O`QzkJ)S(*4;F{sQ^PpHu=b-CZ%Gd(5upPrsxT=POQea^34QiaqzIRtwPha~|cm2C3?r6@q0CL8|Yipd_`FhXX-#VZDJLps;e?3z}u}r5O zLay$qlhu5)uC0-bQ{~D^_e=V4-2UIh8H%5TnxnR6Md}EiJhgM8$AxESXSeg7-Z-b^ zPm7i8>AK%pY-zH-s)FpTZ-~~T;e^C`>RZFcFCQmJ?+f98_E5y|F`GfHd_-O$-*_)VaJ0# z7oIQrh-l^?od$Ls#S z+MTj_i<>w^7#aOmevQ4gGa4Fb8?pKt;HE@EYG~({oZbWS5?f`EYayj1qnA--FD~N z_BQxT<4GSDElb8a*~cFqzP!A=dcyqwPc58hyce0S_49$L4I+uH$YH6QSmltv_v^H7 zt6+uNUtc!b1i9R8;S}~M*j3+@S$?O`-DUNMZRzLd>9yRk(7DmKe$G^(u%Kr@`PZH{ zGn-gdEj_XLntrr^ZqycyVxH&o>+7z4?TX-&vA7^}Oy1te!X|!-vo)xc6Xxgs{Ku;9 zPlbG0(4>0?<%vf+1ZNs=on=}4j7Q$i=Jizr25BjacF;*4U#I+hn{aJSDRzf;n7fR=225q-9`YO;;!qkehsj4LYwm2J)n zY4+8mdM|l(b+x0Vr$X*y&__bn@*iOG%MG! zUrcuP3-hL1TeHQ#)R2RoFnl$%gC(q%sCnY^8B@1FJ zGAS^>Atk*gY!mVpAW%Rs3VQfBY%(@9GKKJv$qs*qO~#ljT{{{$RMZr1&Xkxb1@SjB zc|={|rsVvoD2vY^9ug9s@W!XdhZn*_CLak;c++#~w1=C+ItQ|2S5 zN7=D-Rd3X2WfT->Ji?-4Evy{Oj4AVjMaBB@=1Jg<)yQt{a7bdBG`Dl2YSxE~?()8~ z&2sPVD(#Fq8G#-rU2P31>2mo`mv~MtyI=b~?d&Ym+*>7oe|@cd;|bcy`^gQo1#;(` zO{Z^d$^3kn-~P#3VN0Y&dlD$vj_>~c@woi#?^CtI>pq_~hiP?4czJ2*^_b$bdb{5g z-LL(gyZNly)m5RVoz;tw($i7@1yvvY3m>1|ka)Q5TIJbUrrU2Mb@!SJeAQu6n$W}0 zB)qcncJB7d&0DjtS4AQ>TN_Xk(P`bO1r<`05XoLdtnrVVb!C!s@iTp6-TVJe z*Xe)1nLdA$^+a|-fkrO1f|pCDNA9PHn7L?fe9gzBpPrtcd0W4}ZsXa<%Vy_g1%p;# zMQzW^efoaiZ@uDw_v?P^ws)_I+PbRh>nrF&Li5`>n|+M4KpO$pZofC{ug!=36(5tb zZahqWbfk0V-}KU{yC=og@B8&id)a{r+ivIWp42nbRC2S<^&<~1``f2-i9{Sb$>E*V zbo1No{Qlb=jK)!$QaCkMEU&Dzeei6DzFotQKYKg5lmb{e|9rXZA6jq?dH8UOF{9k7 zpgsHk{mS-t+RXTN|Nnm?9xIRDesHjPbKfM@zL>uskIS?3$;`-fSY4nZZI)B<`|Wo9 zeLs?PEPn|-ea5+ZZPeCNIexuA`R5+d*&KPI*ZiKuubhjEj%KglD`w`N0NNS;WU~LU zoL^sFzTf*jPUZKy`2BT0x|g2JOrLj<$8%@W(XJ0dPXiabz1?t_FLC*C`T9SgBlOZb z?>*b6|4fVT|MU6v^BN2NE&m>k+w=Fi{r{aA7nQi;HedF$zL>m7@Kgi~SN8#S`I?0I zpnbpp_=Q9?U(Y}kj|(OV{BZ3m6xeI?X2anMk=?)F?dF{Ikg+h;KTXYAFafm5{pyG9 z!OQ(XYZspj2;6h|98>vpYRIA;X=i7-MyuR+6^~6hcEn)i!TK9AXRqzAufIMgBIvQN z(!XGzcITfKvBLJyez72U;T?Coi(~FSvlHM|b7`kO&n>@aI6v)7iu28rEW1ly9#TD` zYgPR9)z!zxdW*N8xG1vOAaCb;ZnMH4$;aY+=hy$M{Qd2%vAb!_kAl@t^x7wTnWt?P zYV`7R*tB`leFa|dQ7fQCx!g}X zp6ZGjwR2*3mwmmt(0i|4o#MIL&cpYsODuTa{P}!7{YlKOf4^Q=dhfY)HbkINNloEq zWZQvTlu_R|}V&QrMexZl3+Ugh(NPdxvryHEP@ZinFi zdx2*Tfew^;xBGou>DAEOTU$P=EuUYvOZ~#Px3|T2hVHNXtK4rhscQ4ice`F&T;P9r zR>xy+_5Z)$V<&Ez>zu#|fb4FM+%SyHckVw;l6emrcS?c{v@=RfBw%2$7M7jP|IBRyeK*7LY`dp@5# zE?X|6B#>O~`saUs>6-fee?EDKC@lk>i+g8hvFER+M|YjQxj9`wdfSFLRs%Cvq?#|$Q`rpr;)$YU2$M?ykv~c^v4gLdZE_(3nDm|Oq{!6 zLr=gp+qTH98G&Mnn;8B1A~NL6o+Soqn1NOou`k`wXBcyS=HlFcdWI7}6`i|u95na* z&)hmEk{m3I+D2(yn}_Ts|AveNy3 zzioDUwSVTn$-9!iD`Y#dSAv5s8D!&dQQk=$MF+3WXS zTmFFWrq}eN>vRmi&ic_B^xm86pN!9~h0g388(s@}Ua4Ex6O{Y-zBuakDhE;Z32tSZ zc#6KfxcHFCew&CAzj2e0s~7KSJKM73ol{Oo7)NhNXuK`FY_?^wT0W=fFGbb5sfW^L z=ZfvyTD0uHkLdK9T5B?|teE(EMcLb1yiz6_drqzBv;7vaspIyxTJCYrGbslTFuwI#j!+u3LIfTxnP5599TqeTBY$ zd!|SG1l;QX_+&+ppUKyWs}-1zdMSKL)xVaR6^CfJP6%hpOi^EGzodg(S9-qcN+Gf2 zaJj4-i>?)CoLsKTK6SC9lv&P;YQBkEEYr?Nh-g;sl!;67v)~r_>$&&6VfI&8+=eq_* zX1UrgfjKv%JHztMq})`velO~Tcu5_P+Se_Qc!H*RZ90DGef|GxYf<6nOWDHrc5euH zRm(Yf=Hn0StWA?QC!Vu>F7rC0-}c)Fhwq}{F$+U(PuPFT)l=cmdG)*En>99O1R?pa zhe2@d68)A%UkhKa-M)!m_v}RZX(^{KIex#kxBB~u0FNtYc1ip8%h}c}4#_^0=Paz| zlTa;J?Y$!R)s>YRw&i|`tLwkyW(Y4oGei0Dm+c(SE;wIb7yCD;TTIu&m~CRs*Q?>t zsoV4JUYMD8{^pW58=ri85y2O>arJrI?{luVvwqQax^AnYdt|3RsLZ>uc&hPF|CvTl zkBY}{S?#jz@WdbYoMN7`6~-T0t<~*ND4A>%3MypLjYfL5ayT>nL-!zO+fk z1XJd-X4_OhZ%aEn>)nL5H8WNPE_SQXQq#6S>9RI-^)%gEC6Dj4uK8DNezI!n#|?Kx zLXYWqTvL^|xcuglx4!DjDZg%RP6wR??mb;E^~??9@4DOX7+v0XWtOORSOb%>MT>@4 z?u@Gn|7tbe|3$hZuP%jjC<~Y}Qt?aKTN_FY7BmKkK}uW_s>> z%%nc|Z-~?csRk$X9oTO^TenaA=X~E;CY~nKxdQq-k3Bwi)I@y#6fQK?p_3hE&CStP zU+J=Pr&(*s%#B;l&hm@ti_j|4duoxh6JzS$hv}&B+dH}2?+T^fNZWKGwz>Elqmgu( z@u}RHW2=A8^OkI1{tV3uC4u=4A6={;pSNsPwfekr`MghObuD+NURvULdb+;$@3fWpi@sCcKDrZPJAEP*A=;^;^U^&(;5X+YUWy%e!8;$4%!fS zhl8NNgf}`(vsY+h)Phe{7pUAmRh@5Qgou1dIBPI5O`7XkAZ&`<^#c!^t=Pk&Vy*pt z@5K`!he67E2)TfR!=p^>pzjqC44F?t6W*-Z^W9Au-mZjLBhaX%pl~yi#XK+=Dgd?v z#BMz0?XYR{r+d=9NVju94DM=ZNJ$sGlJb7-QJruB)<5@so@Qn?LhyVQi ze0@#i=9_7=O*1Ye9G5LW@)LASZ_(3J@qb^1gBBTEehU=~pI`UuWsjtBpXIX|Ql?o` zj`rWeh{S!I9%cX9KYVz2*x&l?mj8SHAJso+^ZCrVxz?ZtSjfAb&*y3E)!lYO$z;We zPyF_O8dN}|^S{5p|Nrat`u7_S^A$foH}%b$6VVIytx{_QZNBWYeiyMJ;UMVvzq=)u zS8+OSMjBz*BrxI4ANi`}<9)8ha%DFXlaKYxw5$Df(Ov#*>%nIB>#IUf>u^+n#vP;s z%lM?tcqISWAHHf2TFs-rq2%SIdwZ+DzqvVi-8sA8Z?dkgdb;2LD zW}3a-2RZ@jK{Nk6o64ej3e%?l zH@{!=`EL3B)CoE-w=9gS`FK=V-A`pPXzjpj)FF$?SspdpPdxbh{l5Lay`TZ8AOQ)h zk{8=<=XL+s^K@EtkV!algR60ZL*3*Y=-|cLJ%7?gkGabfwoJU0KEKu}MXS4kL&Ubx zTYvABXBj`gx!TA3B5nWw9R^mP4nwf%p79t~T)@9bmk^?NSuD$Sn#r2KyEbj#cM`~OaB z_6%Da6}q>oblcmTrPpI^51J*T*UB4b*|JF0ZOgOs0W1H5!8w_TzzeLELyeeP+r|`jn#+htexZDp3&dT5a*DPCS z;~cYGsiZTLW23ibO}#ls>a)Dn$=GK{rmU%3@uXsssCL)|nb^N)jL%QVXgAm_rB&Rs zHv9TI9|37Ig`FRdNjv}7joMQ2cI)*+iVtg!bO@@?uQ5u?ng9D<^?O&NU%$S-PQSND zl(cnxS+4qx;p&^k=WVaAjh=pWfBBRZ4jq?l&d;;GEiDwUTJx&w z)|Zqy8wC%W$Vz+dFktdwGupesQ;qe`FO$F-8S-P#))$PO(tP&ob-UkfyPfBJ#<{Iz z-}n3V_eEdMEx&g%(D0qsW`XuqTW1+0GO2Ki7aL?&@MvmX;kodc?O`LkT!(S@nS(3b zP$zx-JO3d=?7Ful81J8f}A&N}P_YOqG=m zvdpesGKoXwpnq`(-x)>gGhP}vYp&}-sD=IQ!>&-S@jND zsF=laN#*7wsaMv&1X`^>pD{jJqWaxb&H7M7hTpeCszF{oQ!H+Swpi_6dz7d6cFvmB z6E~inZ-3wI&@Z2+?VuqD%Z-*MOZ<=Yhb%nS7xK}2W~)VrZR?JZyU~4{Pspr7UuCpP zq|xM}A5$u5+~H7XZWOQB$Gwn~k!~!zy4lV9k;f`^>&ufCbTfVf9n)qp?ekIb_%F4E zURe>Bos0zp)6hTyT`_akEZlPF}#l%^I0DNShkLZ77Wxrp!fi&s-}q zid>v=yyeE9i;Hv)rEH!fV-et}LQHIV1xpP6I3~YQdFG|{YBsW3E z86M0zGf~++==@KOoR(xZy>_Fw+}qn6@;rC0nZt2wb@=+AR(U2lTTaG)+i5P!YN7sV zX_k8FE7HCmOVstArt{G|b$;vaAhh<~f-F$NvE0AJf4<$Z?hVgD7d`1YmK{^}wzb@P zNpEJ#qBjS9vfB7$v%*0ef3%nUoBh&$>*}JM8(T7iKOb9XbGVK7^p`V=OHY(0?V0FX zYoz=9%*B7yEkMy{gx`WjjCx z)z8^gV()xe1vU7XChDgZ`gm;yHKoDn0W^;?!L3Yanevq9i%z)Za4u!}_~wP*wiRDx zqCRDw6o2~RWE-#aFT)u!vao@J>i2uMTRzkY_@e%G-{e(Siy6{dyu<#NzP?tz!Ub$)!}hKIzq&4y=Z^Iei+U=Y9K>Eal|_VnheQ0=~%iY_&O zzg|~<&XMr#?QQXZg~F$7tH1G>AC)yoIIy_i&dYXr!=+Qbhd)N7&R8^OwpP&mWXrpv z|6X5TUw_{AyUm{uhd~F9fCf92g4z!L^|j?LU)RJT!ru6SJ1(ousn919*{7e>9YS

~ zvNCx2qEmM)Ti5)%xP77T%2XBA=Q}F)tIw-Y>bh>N#C6KfvrhEx2}iX(Ub50MdqS5q zaPYfd-I^V4o^f#z>+=f=d)Dv!m9_fKwYAb#m*09O?0YsV`wnOWzuCX<_o~;2S1C?@ zwI%a%!Ph&*=Xd%>IB+U=?$zh|m@c?2D3YbCfnlZa6DFVec6TR>|7iMf_hCJcp6Edq zQ=~rF3J<3Le$RYBp z+oi^Dnbfu_RgaJNmxr^gR*u{^*Q)f_pU>y- z9^f`ifA~$S12h)$TfdUZqu3Ip#*Wwy)HXabYRUUm@-X{B{xr+xtfb!PzlUh*Q=f>mK~Qq(bUy) zz3nNa_B^CV9>UQ0sIv^zKIk;c(Pqe78EcSG_TA99%tPyH9LAh=Kmkja`mM-<7Z+#x z+kTyrKjUPj!DKbxM;%j|W_Pe*xWtk}sM(ATTjDjBS4x5Z+&9`F8bhtWfG8R*lL|X^a(ZI1pS>fi)zS&WjGDnmYZc1`b z?t!;G;fzay6W;h7_gxDYfHRT=C%oxt^>hP;E<7;7jF%i!_P_b_VsZa6-`U&p?(QmK z*6Ike|MTJSp32W*>*Hbt7VCa@ToDQN+Pv3>{xh@bA0u3_U+L|4{HtOqTfBVow z4>LUw1_ubRoQf>-n`M%Ty7xeU;}QR)<>$@sRXlE!&da#4;9y+!Thr=qZ+_%*-xXTA z7u(JUf3L^ljWR5tn-nkmS?6}^Zd(z#`PsJHdC|Me-m=S8Fo@1t+=;Zwt$`y&HNZAI z_tmL>`+qlXt&7?DX?Fg;hn>1xS9{$MSo`(G;{IO;KnwZx#cLD4ytuf0Uezl9&54KG zuC5CGyj`oq!BFtWzu)hFZu6TmpfQMZ$@IA_EPQr99-N%4-d-zH zdL^*<*_q0pPp2>UnYrodwCJ|!U5i1dK5x&uy2|3&q$IIBA4S$)abe-=IIt#iGw3uX z&^mdQ+nmB`cdA~m1>G2ynw2948l_kfxR@)$O==Y)zvPrKy-ZaVDt`8>a-H6z#vRUM-jjvwhrj~`5rY&#>E$b>h z)Tk6+|JT%-CsAhRrtL=+-A@~&@?>3Iwe|J7-P5)xUlfn8ajY}yPR{I(Ugp`jx7d5r zbFFicMc*Fx+b1#eX1|V27khO1@TbZCc82F|I>hf+-Sx3pwel2;-TyzI_4ofVx?`)o z+V&=Eromd8C>>oMTa_w3}=3e9Nya z;r9Y-s(5~XJTBjEyuIlC-tTHxg7??ep4hD|>aySm#|Kxp%1`^fuC4qT-ua(-bAT6x{pRNF1D{01wpB9kV^^6|)1#ReR!9fGxUi7f z_mGsf{ogN_-`txR*)Pwu+|EfU{~Gu2nu4B#z2^5`_@3x4-Ymj;XhZC-l7rFRV!F%x z=60pYndi;1PA_{WoS5_V_xt_(rCV6bWD1iXwS>o2s)oA;&YS;y zp8sE_s^Z1Mb_ur#XGz=6s`B$;39V~moxT~j-rHO49`#YoH}BZTmk+zFU8CF1)@dEF zxvBYT$z;Ex=b$m5#D^ymzJ#%K&2E@K|H%LFqqf0k{SXz?sp$vwgLWt{y)1gYiIw{d z^P>r0{Xn}OG=--+os*a-_y z)wzbWDHVKpaPXaE=j`S<6oGi*Ed=H}+yvNBGu6RrX0XBZx~ zU95H2n3ZLrWIO-CWkqZ29vo>iLT;c z+$S!heB^u6d*%2WT1MHv!AKr%b&$H*X<&TQGfFc_O{QHtX!_i;(jy&$YAsRQaynmp zQcIbZlsTOvVHVrw)#vU1@42e{dCfeN*sOKCUTNj~HG0qcQvK~_`tB{wF#*UrxNd_>)+lj?hSivF?lDswyWBKM*&XkF9W*+=`cUF{>02U1T> zKk)zNr{i*~9{qPsS=8k8`$Y79mj!1|fo58Fc=DgNj-0q7=cduRfA7loC-<%}|2S7A za&gBIr#3;?Ct9nOo}ZhW&G)iTH0;_OZg!D`11qFXT9-nOQ zvrRWjJWwibkFI#OXTJo6Inz{_Jnz((aCcn z&CV;^*50_bHF9&BSX^;t7Tdb@72RFQk&91yPn-0KYi@<*qdTvQ#V2evV{qD`C%%^R zaPr3`Yv-RS5t7{SKGD19V(-l<9ime`T+G-P6&-Hl1+7Qm6Ku(w9NFP>q*Qa-M8Tlu zJt~JzzT5Gv{cH}Wrn0s3_Kz<&vI=VM-je!VStRF$icYkQ>6*YumaZ8Gn)&Tc%!^Z* z`T6PDKYU^zkC>Vw9IPSEB&us2%s)&B2Gf1ZD!F_^n;USB6%Ww_Z{WBYtg@s3kk zm;e7-|Nl{g@TnsSH#?^@%~ttoDPXrX=w;zEuWRp=rdk~^W^&2zp4uQg=}5oDn}}&M zGvn86zP1P64g?)-tYWu)bIor5hiA9v`(8B57LK0}x__u`=HAHO$zh8uBUfaChH1{t zdw9|`dxhD`^fxzuT;Fz0G5|iW@IRc9_ZMOD;$bXyO!^_eLclBFO9w(jpUlJ$cI<~5>9J5{7+=7lOV9d&P*-|lDoHDq7p zn-W>MycA>I%->rcJzjv+=61Nrxn#=RZGzf&r-wgScV(tY?yW016d@X-@sa0S6=ZBp2qAzFN z-*zLeQeezv^5HT(EC zn}vqEFUnQF+4$z?#cjE_H`w{@EPQ-Sr`g2&_E+^gUEkJjzn9b=-7-fuRO5+v;t5QzuVd68Q8&|0$(_nVcVPzPq>AT9RwATd&o#8OchGzW?eK zvJ-A?$*g|2Gd*=)>oKIYVN=^3X6d%x@N26H6!x>3S;)lYpI|em@Ee;|*Jh2}sziq~ zi&G}nmT+hac$-vzJ8|;VQ5S{Im20ASrm8FMJFT~yXXnvPt7qr!>fHADc)$O~=j_Rk zBhGCgSjgkRp=yxdn&rXXdD-kzHm*^SxGoX)in+2YnK zrSe5cG0}I~)#7iQ4i?!{YBRpyNbc`A_IX?1m21(vqT9N7E06wp`Xl)EGxnZ0x<^(! zHnZ(pD&YI*^6p1n+H=_48-(6Ie0GU7JHGS(jTIB-GPChK*eK1se`lFzz3YMtoEzM) zzukWSoQ_Am#m^^`H~Y13z5MU*sjLM^r&b9x{ug*q{#QibiSd8o$KuY-CY^8Ymfx=h zT^Dy$RJgvECH%9yzpg^T<*1TXh{XPnKrWOexZvfn?xu<^^uSUnM2u=lW( zwz0va>bv{7lmcF`{5ZH`NpY3({Q7+xTJ0ix;}Mm)R?h+bOJ7^&@l5vn{pIE4(!Hwu zS#KUoRmMElwced~V}s(C2WBs<7ES+mjXOvA|;%_i7(eiD0}IMwA;Ch$U5HYIAi?# zxLkG4#YL|7u5rJJwt3vLac9ui)f1UCcRZANd|7$7#iKd9a}H)*QB!aADridx)#GFO zqb~51Ew%Ra`;2e9g9^_?As5m$!Yka^Bj>Mv6f!BaTXOgEw7VvzeeES?_iH}$daDMO zEGgeKZ)4)&wwHfWa*s-?yolDz{ry>cweKY_8KbmGIfXBCC+4>JXJ1`4wbXRk?57$V zwoT4SPnwZFzt+rJZenkb^Sri7LA`l4m7q%oD~|}ePf(REo7izreSS^Tkyhi2exGJ$ zo{o8Sb@lY*kXx`7y{6169s;jSm zv*+_UGc7aKU$5i;pX&Ukv)`q3^Z5(6^Y@=U$RCq>Q~lKDO}ufB1tEjVFmgo@i;6Y( z*RtY&&lB5a!!Et>xB2LDPAd1-mP}7J^r;Df#x6yLn~{cdK40RVtzM{bYV&!!-|OrD zcF$1nj=DJWP44NY^KQLTPnUXIioz^_j$=2rfOcgtO~x2Q>u?ZaI=XFXz@(k0k+u>+ z!%E>ji;DHcy28zwrPlRo;F)JA5%b^>H#pqm^eB5KyU_|_0)lK@ z<>Rnvv)29Ev$2R=4ROXNKZi}m?>nwyYyt{NWtucM^yjCF|)1gTe~DWM4fGoho* literal 51645 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 diff --git a/homeassistant/httpinterface.py b/homeassistant/httpinterface.py index 68a1e3086b0..b2563c00dd2 100644 --- a/homeassistant/httpinterface.py +++ b/homeassistant/httpinterface.py @@ -4,31 +4,63 @@ homeassistant.httpinterface This module provides an API and a HTTP interface for debug purposes. -By default it will run on port 8080. +By default it will run on port 8123. -All API calls have to be accompanied by an 'api_password' parameter. +All API calls have to be accompanied by an 'api_password' parameter and will +return JSON. If successful calls will return status code 200 or 201. + +Other status codes that can occur are: + - 400 (Bad Request) + - 401 (Unauthorized) + - 404 (Not Found) + - 405 (Method not allowed) The api supports the following actions: -/api/state/change - POST -parameter: category - string -parameter: new_state - string -Changes category 'category' to 'new_state' -It is possible to sent multiple values for category and new_state. -If the number of values for category and new_state do not match only -combinations where both values are supplied will be set. +/api/states - GET +Returns a list of categories for which a state is available +Example result: +{ + "categories": [ + "Paulus_Nexus_4", + "weather.sun", + "all_devices" + ] +} -/api/event/fire - POST -parameter: event_name - string -parameter: event_data - JSON-string (optional) -Fires an 'event_name' event containing data from 'event_data' +/api/states/ - GET +Returns the current state from a category +Example result: +{ + "attributes": { + "next_rising": "07:04:15 29-10-2013", + "next_setting": "18:00:31 29-10-2013" + }, + "category": "weather.sun", + "last_changed": "23:24:33 28-10-2013", + "state": "below_horizon" +} + +/api/states/ - POST +Updates the current state of a category. Returns status code 201 if successful +with location header of updated resource. +parameter: new_state - string +optional parameter: attributes - JSON encoded object + +/api/events/ - POST +Fires an event with event_type +optional parameter: event_data - JSON encoded object +Example result: +{ + "message": "Event download_file fired." +} """ import json import threading -import itertools import logging +import re from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer from urlparse import urlparse, parse_qs @@ -36,9 +68,24 @@ import homeassistant as ha SERVER_PORT = 8123 -MESSAGE_STATUS_OK = "OK" -MESSAGE_STATUS_ERROR = "ERROR" -MESSAGE_STATUS_UNAUTHORIZED = "UNAUTHORIZED" +HTTP_OK = 200 +HTTP_CREATED = 201 +HTTP_MOVED_PERMANENTLY = 301 +HTTP_BAD_REQUEST = 400 +HTTP_UNAUTHORIZED = 401 +HTTP_NOT_FOUND = 404 +HTTP_METHOD_NOT_ALLOWED = 405 + +URL_ROOT = "/" + +URL_STATES_CATEGORY = "/states/{}" +URL_API_STATES = "/api/states" +URL_API_STATES_CATEGORY = "/api/states/{}" + +URL_EVENTS_EVENT = "/events/{}" +URL_API_EVENTS = "/api/events" +URL_API_EVENTS_EVENT = "/api/events/{}" + class HTTPInterface(threading.Thread): """ Provides an HTTP interface for Home Assistant. """ @@ -76,238 +123,110 @@ class HTTPInterface(threading.Thread): class RequestHandler(BaseHTTPRequestHandler): """ Handles incoming HTTP requests """ - #Handler for the GET requests - def do_GET(self): # pylint: disable=invalid-name - """ Handle incoming GET requests. """ - write = lambda txt: self.wfile.write(txt+"\n") + PATHS = [ ('GET', '/', '_handle_get_root'), + # /states + ('GET', '/states', '_handle_get_states'), + ('GET', re.compile(r'/states/(?P[a-zA-Z\.\_0-9]+)'), + '_handle_get_states_category'), + ('POST', re.compile(r'/states/(?P[a-zA-Z\.\_0-9]+)'), + '_handle_post_states_category'), + + # /events + ('POST', re.compile(r'/events/(?P\w+)'), + '_handle_post_events_event_type') + ] + + def _handle_request(self, method): # pylint: disable=too-many-branches + """ Does some common checks and calls appropriate method. """ url = urlparse(self.path) - get_data = parse_qs(url.query) + # Read query input + data = parse_qs(url.query) - api_password = get_data.get('api_password', [''])[0] + # Did we get post input ? + content_length = int(self.headers.get('Content-Length', 0)) - if url.path == "/": - if self._verify_api_password(api_password, False): - self.send_response(200) - self.send_header('Content-type','text/html') - self.end_headers() + if content_length: + data.update(parse_qs(self.rfile.read(content_length))) + try: + api_password = data['api_password'][0] + except KeyError: + api_password = '' - write(("" - "Home Assistant" - "")) - - # Flash message support - if self.server.flash_message: - write("

{}

".format(self.server.flash_message)) - - self.server.flash_message = None - - # Describe state machine: - categories = [] - - write(("" - "" - "")) - - for category in \ - sorted(self.server.statemachine.categories, - key=lambda key: key.lower()): - - categories.append(category) - - state = self.server.statemachine.get_state(category) - - attributes = "
".join( - ["{}: {}".format(attr, state['attributes'][attr]) - for attr in state['attributes']]) - - write(("" - "" - ""). - format(category, - state['state'], - state['last_changed'], - attributes)) - - write("
NameStateLast ChangedAttributes
{}{}{}{}
") - - # Small form to change the state - write(("
Change state:
" - "
")) - - write("". - format(self.server.api_password)) - - write("") - - write(("" - "" - "
")) - - # Describe event bus: - write(("")) - - for category in sorted(self.server.eventbus.listeners, - key=lambda key: key.lower()): - write("". - format(category, - len(self.server.eventbus.listeners[category]))) - - # Form to allow firing events - write(("
EventListeners
{}{}

" - "
")) - - write("". - format(self.server.api_password)) - - write(("Event name:
" - "Event data (json):
" - "" - "
")) - - write("") - + # We respond to API requests with JSON + # For other requests we respond with html + if url.path.startswith('/api/'): + path = url.path[4:] + # pylint: disable=attribute-defined-outside-init + self.use_json = True else: - self.send_response(404) + path = url.path + # pylint: disable=attribute-defined-outside-init + self.use_json = False - # pylint: disable=invalid-name, too-many-branches, too-many-statements - def do_POST(self): - """ Handle incoming POST requests. """ - length = int(self.headers['Content-Length']) - post_data = parse_qs(self.rfile.read(length)) + path_matched_but_not_method = False + handle_request_method = False - if self.path.startswith('/api/'): - action = self.path[5:] - use_json = True + # Check every url to find matching result + for t_method, t_path, t_handler in RequestHandler.PATHS: + + # we either do string-comparison or regular expression matching + if isinstance(t_path, str): + path_match = path == t_path + else: + path_match = t_path.match(path) #pylint:disable=maybe-no-member + + + if path_match and method == t_method: + # Call the method + handle_request_method = getattr(self, t_handler) + break + + elif path_match: + path_matched_but_not_method = True + + + if handle_request_method: + + if self._verify_api_password(api_password): + handle_request_method(path_match, data) + + elif path_matched_but_not_method: + self.send_response(HTTP_METHOD_NOT_ALLOWED) else: - action = self.path[1:] - use_json = False - - given_api_password = post_data.get("api_password", [''])[0] - - # Action to change the state - if action == "state/categories": - if self._verify_api_password(given_api_password, use_json): - self._response(use_json, "State categories", - json_data= - {'categories': self.server.statemachine.categories}) - - elif action == "state/get": - if self._verify_api_password(given_api_password, use_json): - try: - category = post_data['category'][0] - - state = self.server.statemachine.get_state(category) - - state['category'] = category - - self._response(use_json, "State of {}".format(category), - json_data=state) + self.send_response(HTTP_NOT_FOUND) - except KeyError: - # If category or new_state don't exist in post data - self._response(use_json, "Invalid state received.", - MESSAGE_STATUS_ERROR) + def do_GET(self): # pylint: disable=invalid-name + """ GET request handler. """ + self._handle_request('GET') - elif action == "state/change": - if self._verify_api_password(given_api_password, use_json): - try: - changed = [] + def do_POST(self): # pylint: disable=invalid-name + """ POST request handler. """ + self._handle_request('POST') - for idx, category, new_state in zip(itertools.count(), - post_data['category'], - post_data['new_state'] - ): - - # See if we also received attributes for this state - try: - attributes = json.loads( - post_data['attributes'][idx]) - except KeyError: - # Happens if key 'attributes' or idx does not exist - attributes = None - - self.server.statemachine.set_state(category, - new_state, - attributes) - - changed.append("{}={}".format(category, new_state)) - - self._response(use_json, "States changed: {}". - format( ", ".join(changed) ) ) - - except KeyError: - # If category or new_state don't exist in post data - self._response(use_json, "Invalid parameters received.", - MESSAGE_STATUS_ERROR) - - except ValueError: - # If json.loads doesn't understand the attributes - self._response(use_json, "Invalid state data received.", - MESSAGE_STATUS_ERROR) - - # Action to fire an event - elif action == "event/fire": - if self._verify_api_password(given_api_password, use_json): - try: - event_name = post_data['event_name'][0] - - if (not 'event_data' in post_data or - post_data['event_data'][0] == ""): - - event_data = None - - else: - event_data = json.loads(post_data['event_data'][0]) - - self.server.eventbus.fire(event_name, event_data) - - self._response(use_json, "Event {} fired.". - format(event_name)) - - except ValueError: - # If JSON decode error - self._response(use_json, "Invalid event received (1).", - MESSAGE_STATUS_ERROR) - - except KeyError: - # If "event_name" not in post_data - self._response(use_json, "Invalid event received (2).", - MESSAGE_STATUS_ERROR) - - else: - self.send_response(404) - - - def _verify_api_password(self, api_password, use_json): + def _verify_api_password(self, api_password): """ Helper method to verify the API password and take action if incorrect. """ if api_password == self.server.api_password: return True - elif use_json: - self._response(True, "API password missing or incorrect.", - MESSAGE_STATUS_UNAUTHORIZED) + elif self.use_json: + self._message("API password missing or incorrect.", + HTTP_UNAUTHORIZED) else: - self.send_response(200) + self.send_response(HTTP_OK) self.send_header('Content-type','text/html') self.end_headers() - write = lambda txt: self.wfile.write(txt+"\n") - - write(("" + self.wfile.write(( + "" "Home Assistant" "" "
" @@ -318,35 +237,164 @@ class RequestHandler(BaseHTTPRequestHandler): return False - def _response(self, use_json, message, - status=MESSAGE_STATUS_OK, json_data=None): - """ Helper method to show a message to the user. """ - log_message = "{}: {}".format(status, message) + # pylint: disable=unused-argument + def _handle_get_root(self, path_match, data): + """ Renders the debug interface. """ - if status == MESSAGE_STATUS_OK: - self.server.logger.info(log_message) - response_code = 200 + write = lambda txt: self.wfile.write(txt+"\n") + self.send_response(HTTP_OK) + self.send_header('Content-type','text/html') + self.end_headers() + + write(("" + "Home Assistant" + "")) + + # Flash message support + if self.server.flash_message: + write("

{}

".format(self.server.flash_message)) + + self.server.flash_message = None + + # Describe state machine: + categories = [] + + write(("" + "" + "")) + + for category in \ + sorted(self.server.statemachine.categories, + key=lambda key: key.lower()): + + categories.append(category) + + state = self.server.statemachine.get_state(category) + + attributes = "
".join( + ["{}: {}".format(attr, state['attributes'][attr]) + for attr in state['attributes']]) + + write(("" + "" + ""). + format(category, + state['state'], + state['last_changed'], + attributes)) + + write("
NameStateLast ChangedAttributes
{}{}{}{}
") + + # Describe event bus: + write(("")) + + for category in sorted(self.server.eventbus.listeners, + key=lambda key: key.lower()): + write("". + format(category, + len(self.server.eventbus.listeners[category]))) + + # Form to allow firing events + write("
EventListeners
{}{}
") + + write("") + + # pylint: disable=unused-argument + def _handle_get_states(self, path_match, data): + """ Returns the categories which state is being tracked. """ + self._write_json({'categories': self.server.statemachine.categories}) + + # pylint: disable=unused-argument + def _handle_get_states_category(self, path_match, data): + """ Returns the state of a specific category. """ + try: + category = path_match.group('category') + + state = self.server.statemachine.get_state(category) + + state['category'] = category + + self._write_json(state) + + except KeyError: + # If category or new_state don't exist in post data + self._message("Invalid state received.", HTTP_BAD_REQUEST) + + + def _handle_post_states_category(self, path_match, data): + """ Handles updating the state of a category. """ + try: + category = path_match.group('category') + + new_state = data['new_state'][0] + + try: + attributes = json.loads(data['attributes'][0]) + except KeyError: + # Happens if key 'attributes' does not exist + attributes = None + + self.server.statemachine.set_state(category, + new_state, + attributes) + + self._redirect("/states/{}".format(category), + "State changed: {}={}".format(category, new_state), + HTTP_CREATED) + + except KeyError: + # If category or new_state don't exist in post data + self._message("Invalid parameters received.", + HTTP_BAD_REQUEST) + + except ValueError: + # Occurs during error parsing json + self._message("Invalid JSON for attributes", HTTP_BAD_REQUEST) + + def _handle_post_events_event_type(self, path_match, data): + """ Handles firing of an event. """ + event_type = path_match.group('event_type') + + try: + try: + event_data = json.loads(data['event_data'][0]) + except KeyError: + # Happens if key 'event_data' does not exist + event_data = None + + self.server.eventbus.fire(event_type, event_data) + + self._message("Event {} fired.".format(event_type)) + + except ValueError: + # Occurs during error parsing json + self._message("Invalid JSON for event_data", HTTP_BAD_REQUEST) + + def _message(self, message, status_code=HTTP_OK): + """ Helper method to return a message to the caller. """ + if self.use_json: + self._write_json({'message': message}, status_code=status_code) else: - self.server.logger.error(log_message) - response_code = (401 if status == MESSAGE_STATUS_UNAUTHORIZED - else 400) + self._redirect('/', message) - if use_json: - self.send_response(response_code) - self.send_header('Content-type','application/json') - self.end_headers() - - json_data = json_data or {} - json_data['status'] = status - json_data['message'] = message - - self.wfile.write(json.dumps(json_data)) - - else: + def _redirect(self, location, message=None, + status_code=HTTP_MOVED_PERMANENTLY): + """ Helper method to redirect caller. """ + # Only save as flash message if we will go to debug interface next + if not self.use_json and message: self.server.flash_message = message - self.send_response(301) - self.send_header("Location", "/?api_password={}". - format(self.server.api_password)) - self.end_headers() + self.send_response(status_code) + self.send_header("Location", "{}?api_password={}". + format(location, self.server.api_password)) + self.end_headers() + + def _write_json(self, data=None, status_code=HTTP_OK): + """ Helper method to return JSON to the caller. """ + self.send_response(status_code) + self.send_header('Content-type','application/json') + self.end_headers() + + if data: + self.wfile.write(json.dumps(data, indent=4, sort_keys=True)) diff --git a/homeassistant/remote.py b/homeassistant/remote.py index 93ab356d131..8e59f31c69a 100644 --- a/homeassistant/remote.py +++ b/homeassistant/remote.py @@ -12,25 +12,33 @@ HomeAssistantException will be raised. import threading import logging import json +import urlparse import requests import homeassistant as ha -import homeassistant.httpinterface as httpinterface +import homeassistant.httpinterface as hah -def _setup_call_api(host, port, base_path, api_password): +METHOD_GET = "get" +METHOD_POST = "post" + +def _setup_call_api(host, port, api_password): """ Helper method to setup a call api method. """ - port = port or httpinterface.SERVER_PORT + port = port or hah.SERVER_PORT - base_url = "http://{}:{}/api/{}".format(host, port, base_path) + base_url = "http://{}:{}".format(host, port) - def _call_api(action, data=None): + def _call_api(method, path, data=None): """ Makes a call to the Home Assistant api. """ data = data or {} - data['api_password'] = api_password - return requests.post(base_url + action, data=data) + url = urlparse.urljoin(base_url, path) + + if method == METHOD_GET: + return requests.get(url, params=data) + else: + return requests.request(method, url, data=data) return _call_api @@ -43,21 +51,19 @@ class EventBus(ha.EventBus): def __init__(self, host, api_password, port=None): ha.EventBus.__init__(self) - self._call_api = _setup_call_api(host, port, "event/", api_password) + self._call_api = _setup_call_api(host, port, api_password) self.logger = logging.getLogger(__name__) def fire(self, event_type, event_data=None): """ Fire an event. """ - if not event_data: - event_data = {} - - data = {'event_name': event_type, - 'event_data': json.dumps(event_data)} + data = {'event_data': json.dumps(event_data)} if event_data else None try: - req = self._call_api("fire", data) + req = self._call_api(METHOD_POST, + hah.URL_API_EVENTS_EVENT.format(event_type), + data) if req.status_code != 200: error = "Error firing event: {} - {}".format( @@ -66,7 +72,6 @@ class EventBus(ha.EventBus): self.logger.error("EventBus:{}".format(error)) raise ha.HomeAssistantException(error) - except requests.exceptions.ConnectionError: self.logger.exception("EventBus:Error connecting to server") @@ -91,7 +96,7 @@ class StateMachine(ha.StateMachine): def __init__(self, host, api_password, port=None): ha.StateMachine.__init__(self, None) - self._call_api = _setup_call_api(host, port, "state/", api_password) + self._call_api = _setup_call_api(host, port, api_password) self.lock = threading.Lock() self.logger = logging.getLogger(__name__) @@ -101,7 +106,7 @@ class StateMachine(ha.StateMachine): """ List of categories which states are being tracked. """ try: - req = self._call_api("categories") + req = self._call_api(METHOD_GET, hah.URL_API_STATES) return req.json()['categories'] @@ -126,14 +131,15 @@ class StateMachine(ha.StateMachine): self.lock.acquire() - data = {'category': category, - 'new_state': new_state, + data = {'new_state': new_state, 'attributes': json.dumps(attributes)} try: - req = self._call_api('change', data) + req = self._call_api(METHOD_POST, + hah.URL_API_STATES_CATEGORY.format(category), + data) - if req.status_code != 200: + if req.status_code != 201: error = "Error changing state: {} - {}".format( req.status_code, req.text) @@ -152,7 +158,8 @@ class StateMachine(ha.StateMachine): the state of the specified category. """ try: - req = self._call_api("get", {'category': category}) + req = self._call_api(METHOD_GET, + hah.URL_API_STATES_CATEGORY.format(category)) data = req.json() diff --git a/homeassistant/test.py b/homeassistant/test.py index 1c45e1114fd..0ca1650b533 100644 --- a/homeassistant/test.py +++ b/homeassistant/test.py @@ -13,13 +13,13 @@ import requests import homeassistant as ha import homeassistant.remote as remote -import homeassistant.httpinterface as httpinterface +import homeassistant.httpinterface as hah API_PASSWORD = "test1234" -HTTP_BASE_URL = "http://127.0.0.1:{}".format(httpinterface.SERVER_PORT) +HTTP_BASE_URL = "http://127.0.0.1:{}".format(hah.SERVER_PORT) # pylint: disable=too-many-public-methods class TestHTTPInterface(unittest.TestCase): @@ -27,13 +27,16 @@ class TestHTTPInterface(unittest.TestCase): HTTP_init = False + def _url(self, path=""): + """ Helper method to generate urls. """ + return HTTP_BASE_URL + path + def setUp(self): # pylint: disable=invalid-name """ Initialize the HTTP interface if not started yet. """ if not TestHTTPInterface.HTTP_init: TestHTTPInterface.HTTP_init = True - httpinterface.HTTPInterface(self.eventbus, self.statemachine, - API_PASSWORD) + hah.HTTPInterface(self.eventbus, self.statemachine, API_PASSWORD) self.statemachine.set_state("test", "INIT_STATE") self.sm_with_remote_eb.set_state("test", "INIT_STATE") @@ -55,17 +58,21 @@ class TestHTTPInterface(unittest.TestCase): def test_debug_interface(self): """ Test if we can login by comparing not logged in screen to logged in screen. """ - self.assertNotEqual(requests.get(HTTP_BASE_URL).text, - requests.get("{}/?api_password={}".format( - HTTP_BASE_URL, API_PASSWORD)).text) + + with_pw = requests.get( + self._url("/?api_password={}".format(API_PASSWORD))) + + without_pw = requests.get(self._url()) + + self.assertNotEqual(without_pw.text, with_pw.text) def test_debug_state_change(self): """ Test if the debug interface allows us to change a state. """ - requests.post("{}/state/change".format(HTTP_BASE_URL), - data={"category":"test", - "new_state":"debug_state_change", - "api_password":API_PASSWORD}) + requests.post( + self._url(hah.URL_STATES_CATEGORY.format("test")), + data={"new_state":"debug_state_change", + "api_password":API_PASSWORD}) self.assertEqual(self.statemachine.get_state("test")['state'], "debug_state_change") @@ -74,19 +81,21 @@ class TestHTTPInterface(unittest.TestCase): def test_api_password(self): """ Test if we get access denied if we omit or provide a wrong api password. """ - req = requests.post("{}/api/state/change".format(HTTP_BASE_URL)) + req = requests.post( + self._url(hah.URL_API_STATES_CATEGORY.format("test"))) self.assertEqual(req.status_code, 401) - req = requests.post("{}/api/state/change".format(HTTP_BASE_URL, - data={"api_password":"not the password"})) + req = requests.post( + self._url(hah.URL_API_STATES_CATEGORY.format("test")), + data={"api_password":"not the password"}) self.assertEqual(req.status_code, 401) def test_api_list_state_categories(self): """ Test if the debug interface allows us to list state categories. """ - req = requests.post("{}/api/state/categories".format(HTTP_BASE_URL), + req = requests.get(self._url(hah.URL_API_STATES), data={"api_password":API_PASSWORD}) data = req.json() @@ -96,16 +105,15 @@ class TestHTTPInterface(unittest.TestCase): def test_api_get_state(self): - """ Test if the debug interface allows us to list state categories. """ - req = requests.post("{}/api/state/get".format(HTTP_BASE_URL), - data={"api_password":API_PASSWORD, - "category": "test"}) + """ Test if the debug interface allows us to get a state. """ + req = requests.get( + self._url(hah.URL_API_STATES_CATEGORY.format("test")), + data={"api_password":API_PASSWORD}) data = req.json() state = self.statemachine.get_state("test") - self.assertEqual(data['category'], "test") self.assertEqual(data['state'], state['state']) self.assertEqual(data['last_changed'], state['last_changed']) @@ -117,9 +125,8 @@ class TestHTTPInterface(unittest.TestCase): self.statemachine.set_state("test", "not_to_be_set_state") - requests.post("{}/api/state/change".format(HTTP_BASE_URL), - data={"category":"test", - "new_state":"debug_state_change2", + requests.post(self._url(hah.URL_API_STATES_CATEGORY.format("test")), + data={"new_state":"debug_state_change2", "api_password":API_PASSWORD}) self.assertEqual(self.statemachine.get_state("test")['state'], @@ -156,22 +163,6 @@ class TestHTTPInterface(unittest.TestCase): self.assertEqual(state['attributes']['test'], 1) - def test_api_multiple_state_change(self): - """ Test if we can change multiple states in 1 request. """ - - self.statemachine.set_state("test", "not_to_be_set_state") - self.statemachine.set_state("test2", "not_to_be_set_state") - - requests.post("{}/api/state/change".format(HTTP_BASE_URL), - data={"category": ["test", "test2"], - "new_state": ["test_state_1", "test_state_2"], - "api_password":API_PASSWORD}) - - self.assertEqual(self.statemachine.get_state("test")['state'], - "test_state_1") - self.assertEqual(self.statemachine.get_state("test2")['state'], - "test_state_2") - # pylint: disable=invalid-name def test_api_state_change_of_non_existing_category(self): """ Test if the API allows us to change a state of @@ -179,15 +170,16 @@ class TestHTTPInterface(unittest.TestCase): new_state = "debug_state_change" - req = requests.post("{}/api/state/change".format(HTTP_BASE_URL), - data={"category":"test_category_that_does_not_exist", - "new_state":new_state, - "api_password":API_PASSWORD}) + req = requests.post( + self._url(hah.URL_API_STATES_CATEGORY.format( + "test_category_that_does_not_exist")), + data={"new_state": new_state, + "api_password": API_PASSWORD}) cur_state = (self.statemachine. - get_state("test_category_that_does_not_exist")['state']) + get_state("test_category_that_does_not_exist")['state']) - self.assertEqual(req.status_code, 200) + self.assertEqual(req.status_code, 201) self.assertEqual(cur_state, new_state) # pylint: disable=invalid-name @@ -201,10 +193,9 @@ class TestHTTPInterface(unittest.TestCase): self.eventbus.listen_once("test_event_no_data", listener) - requests.post("{}/api/event/fire".format(HTTP_BASE_URL), - data={"event_name":"test_event_no_data", - "event_data":"", - "api_password":API_PASSWORD}) + requests.post( + self._url(hah.URL_EVENTS_EVENT.format("test_event_no_data")), + data={"api_password":API_PASSWORD}) # Allow the event to take place time.sleep(1) @@ -224,9 +215,9 @@ class TestHTTPInterface(unittest.TestCase): self.eventbus.listen_once("test_event_with_data", listener) - requests.post("{}/api/event/fire".format(HTTP_BASE_URL), - data={"event_name":"test_event_with_data", - "event_data":'{"test": 1}', + requests.post( + self._url(hah.URL_EVENTS_EVENT.format("test_event_with_data")), + data={"event_data":'{"test": 1}', "api_password":API_PASSWORD}) # Allow the event to take place @@ -235,28 +226,6 @@ class TestHTTPInterface(unittest.TestCase): self.assertEqual(len(test_value), 1) - # pylint: disable=invalid-name - def test_api_fire_event_with_no_params(self): - """ Test how the API respsonds when we specify no event attributes. """ - test_value = [] - - def listener(event): - """ Helper method that will verify that our event got called and - that test if our data came through. """ - if "test" in event.data: - test_value.append(1) - - self.eventbus.listen_once("test_event_with_data", listener) - - requests.post("{}/api/event/fire".format(HTTP_BASE_URL), - data={"api_password":API_PASSWORD}) - - # Allow the event to take place - time.sleep(1) - - self.assertEqual(len(test_value), 0) - - # pylint: disable=invalid-name def test_api_fire_event_with_invalid_json(self): """ Test if the API allows us to fire an event. """ @@ -268,9 +237,9 @@ class TestHTTPInterface(unittest.TestCase): self.eventbus.listen_once("test_event_with_bad_data", listener) - req = requests.post("{}/api/event/fire".format(HTTP_BASE_URL), - data={"event_name":"test_event_with_bad_data", - "event_data":'not json', + req = requests.post( + self._url(hah.URL_API_EVENTS_EVENT.format("test_event")), + data={"event_data":'not json', "api_password":API_PASSWORD})

3>G-^N{Der*lxzp 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 W+%o-j2cHaAl_(>_ml9qE1_l6KU5|DE delta 46933 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 diff --git a/android-tasker/Home_Assistant.prj.xml b/android-tasker/Home_Assistant.prj.xml index 4b789d07dd9..5a2ff8e8a57 100644 --- a/android-tasker/Home_Assistant.prj.xml +++ b/android-tasker/Home_Assistant.prj.xml @@ -1,7 +1,8 @@ 1381116787665 - 1381116787665 + true + 1382062270688 24 20 @@ -11,8 +12,7 @@ 1380613730755 - true - 1381001553706 + 1382769497429 25 23 20 @@ -26,7 +26,7 @@ 1380613730755 true - 1381110280839 + 1383003483161 26 22 20 @@ -37,13 +37,27 @@ + + 1380613730755 + true + 1383003498566 + 3 + 10 + 20 + HA Power AC + 10 + + 10 + + + 1380496514959 1500 true - 1381110261999 + 1382769618501 5 - 7 + 19 HA Battery Changed 203 @@ -53,14 +67,14 @@ 1381110247781 Home Assistant - 24,26,5,25 + 5,3,25,26,24 Variable Query,Home Assistant Start - 14,16,4,15,7,20,6,8,22,23,9,11,12,13 + 19,8,10,6,16,9,20,14,11,4,23,15,12,13,22 12 nl.paulus.homeassistant - 1.0 - 10 + 1.1 + 14 cust_animal_penguin @@ -69,7 +83,7 @@ -637534208 1381113309678 - 1381118413367 + 1381162068611 -1 688 Home Assistant Start @@ -308,9 +322,24 @@ + + 1380613530339 + 1383030846230 + 10 + Charging AC + + 130 + Update Charging + + + ac + + + + 1381110672417 - 1381116046765 + 1383030844501 11 Open Debug Interface 10 @@ -321,7 +350,7 @@ 1381113015963 - 1381116866174 + 1383030888271 12 Start Screen 10 @@ -338,6 +367,9 @@ 49 Home Assistant Start + + hd_aaa_ext_tiles_small + 1381114398467 @@ -354,16 +386,15 @@ 1381114829583 - 1381115098684 + 1383030731979 14 API Fire Event 10 116 %HA_HOST:%HA_PORT - /api/event/fire - api_password=%HA_API_PASSWORD -event_name=%par1 + /api/events/%par1 + api_password=%HA_API_PASSWORD @@ -372,7 +403,7 @@ event_name=%par1 1380262442154 - 1381115642332 + 1383030894445 15 Light On 10 @@ -391,7 +422,7 @@ event_name=%par1 1380262442154 - 1381115613658 + 1383030896170 16 Start Epic Sax 10 @@ -408,9 +439,29 @@ event_name=%par1 hd_aaa_ext_guitar + + 1380262442154 + 1383030903842 + 19 + Update Battery + 10 + + 116 + %HA_HOST:%HA_PORT + /api/state/change + api_password=%HA_API_PASSWORD +category=%HA_DEVICE_NAME.charging +new_state=%HA_CHARGING +attributes={"battery":%BATT} + + + + + + 1380613530339 - 1381116102459 + 1383030848142 20 Charging None @@ -425,7 +476,7 @@ event_name=%par1 1380613530339 - 1381116000403 + 1383030909347 22 Charging Wireless @@ -440,7 +491,7 @@ event_name=%par1 1380613530339 - 1381115997137 + 1383030849758 23 Charging USB @@ -455,7 +506,7 @@ event_name=%par1 1380262442154 - 1381115633261 + 1383030892718 4 Light Off 10 @@ -474,7 +525,7 @@ event_name=%par1 1380522560890 - 1381117976853 + 1383030900554 6 Setup 10 @@ -580,28 +631,9 @@ event_name=%par1 hd_ab_action_settings - - 1380262442154 - 1381111978825 - 7 - Update Battery - 10 - - 116 - %HA_HOST:%HA_PORT - /api/state/change - api_password=%HA_API_PASSWORD -category=%HA_DEVICE_NAME.battery -new_state=%BATT - - - - - - 1380262442154 - 1381115955507 + 1383030906782 8 Update Charging 10 @@ -613,23 +645,18 @@ new_state=%BATT - 116 - %HA_HOST:%HA_PORT - /api/state/change - api_password=%HA_API_PASSWORD -category=%HA_DEVICE_NAME.charging -new_state=%HA_CHARGING -category=%HA_DEVICE_NAME.battery -new_state=%BATT + 130 + Update Battery + + - + - 1380262442154 - 1381115659673 + 1383030890674 9 Start Fireplace 10 diff --git a/docs/screenshot-debug-interface.png b/docs/screenshot-debug-interface.png index 35b0dd86ff831efd8573c59bf24634b7033a24f3..631e080c877bd20fc12a2cdfa56d0950173f673b 100644 GIT binary patch literal 91745 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