From 997deb1943afd93be1fc64ab4f022a1ab8160ec0 Mon Sep 17 00:00:00 2001 From: Julien Lengrand-Lambert Date: Tue, 28 Aug 2012 18:23:40 +0200 Subject: [PATCH] Removes old files, not needed any more. simplifies default settings --- ivolution/data/samples/output.avi | Bin 143278 -> 0 bytes ivolution/gui_wx/IvolutionTemplate.v1 | 274 ------------ ivolution/gui_wx/IvolutionWindow.manual | 534 ------------------------ ivolution/gui_wx/IvolutionWindow.py | 43 +- ivolution/gui_wx/IvolutionWindow.v1 | 288 ------------- 5 files changed, 24 insertions(+), 1115 deletions(-) delete mode 100644 ivolution/data/samples/output.avi delete mode 100644 ivolution/gui_wx/IvolutionTemplate.v1 delete mode 100644 ivolution/gui_wx/IvolutionWindow.manual delete mode 100644 ivolution/gui_wx/IvolutionWindow.v1 diff --git a/ivolution/data/samples/output.avi b/ivolution/data/samples/output.avi deleted file mode 100644 index 893b5a82d5a9ca979f5b8bfddefbac1226cb067f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 143278 zcmeFYg;!h6+wTnol0b2%P=dQdad#;0R@~i6(IUa!3lxXq6xTutZp9s12rh*Zq!j1n zetyq6>#X&>=N~xh&dOeUGIH(NpOL+D&3v_#>fkdW-HJ)JFl z9P9;=kdP#?07#M~_|G9EBwTbPB=CQQkdTo76N5DJ9FY6ZkN-~j&*>jq$+$>JUf!P0 z&&Pk+@^P^Cl2_H>`#&@OQxxsLBmQF>7wPHw^S|e`WpOXJuWrH-yjEM*Z&?E-q`U|DE`6;9mm&68M+EzXbjz@GpUX3H(doUjqLU z_?N)H1pX!PFM}5i4=7|PNG@(Z4*&R2zw!TbugLY! z(o3aPpx=iw3s*- zM+IB`n;Qd>19;S2(yw@mucaVJ<`jynag&=)fSLu8w5F~u4b_1$`BErI(Qf5&sxGt{yQR0!r+d_z?G?J=sGD=HV(bcg z_^ph@RBPb0J1{0NtMqHCN;0V=ZU>Lg_hiCxrT1=FtLoarD_21Ug>YdJP-KWMk|-T2 z4L+(QA{nDlQnfs3`}$4-8Ad5`>Mwp+Z+EVVNX67T)t+v zQd@<15WpS`qTTCUFno4T3A(G-g!Vnn;t(N4Uqkqj9$q?K8}rxoDFptHq}$vAyPZdg z|7nXL?fy~X#1QdM361~L*lqTa9fT+Ft6{K?Y@j$CA@L(Do|5Fz-M0c&A>^hWRP9ip z@SSJ*-N|eed+0BgthSUEm)FhnKT|eI0lKa9=vHt+dN5!Qda4P!UXt)ly1OrW3krSQ zAuL4nT*PbPgkG5AM6KBruqQBmZaoi(D^O;!Z8Kn-nZ&w?>*b@@$&WUl?iQ!}{b=K& z!4=m_Vm%rGN<}l4gOwnyjzcI+*Z?0KomFK#RGy6Au6e~S)8)Dszm9+xbAU~t>BUlxB{s!l zIDm)c*Pw`}e82#VMjSK|B7WKLMZmgP)xIt?^r4L4we12= zRcL`*tVwO@MvVDrRBe*}d;&C;*Ya-OU5^~6LKNpORmpQTN-0^8@etz9$WKZ*^aAn{ zj0j)I?_PPF7f*_!Iw-X8z-7RZY1(;EK`%V`D;lXN=L6N51~};-yffL?8O!&u|B?R^ z!|yt2`hT?e13vB9Lp&(-2@_YxE;KIqdv55~XI441U<%^LGwhSrjM=6Z_U|7g7{~uX zPDq95xr7c%{s$4C)#31=gcLlu8x4cX=D7x-k3e^nrjzZnq_l&UF8^l){usFbXD2Rj zVf(9Di$0gVZFlCD98o%)z4te_PufrF8-`de@Pv%(ZMs!#$qCO7Vj)KbB`*=_Ug)GX zVd2ZwTGe7>-nGraT4Juc+)YjYnsc*2(vK5Ex1DK-TcTm;FNAF`R)Jf^srAa3!EBj$ zyZf4|)rX>r$63)W94|JQWWw`eNrnTgvoM6fRy@l)M9;a92)~Pc&`=}1cS+6WbHwxdHj}RCt z)zq1iFY(Xor$cZue%ZGn4YHvxrN?uXMB>KvF-HbZz)IZ#Vl;$m?w8a0fIgqA zXtTxIQ71?Jb3!L=0FrBx;ZO#6OP14xv2^Ivqj4nGG2GHiNm8in%8beBB4FK}#|M9a zv*~n^(CZp4Yy7zR2W3Hke6?fp0_>dYxZaIiM|VP{rhY7i+5>3SdGHgLQ6St1Pf0stPD#WWu-ap5<7;O zRE5g2c(W(R(e5*S*^nEjY-vMg1{15^^7fBnrZ49AGW+yy$+~9^j6zhqZi$vZ_vXbI zyF=urNmW+Od(ZtOl%eB|lV5a2o#8)KTXgr$y zaQL>xI_7nZR&gE^(4BL5{D8*uL2SvRvteGhRqDn1ux!<>;|G{zL zJ-&ycP+gJ|r(%Mk)8e+WS4dXEoEvpaL)ZCrD)M`wKkq}L8m_0y5rLQxi!8%M@c99Nxa4kg;L+(Ra#wdz!kUQG30%q8jX(F~let z&K-3nqp~CWb2AO8n)~UJ=R~H(=!wyofR_laKGd+Fk+Vi!+3&>!a-6Q!s8nAIO=k>*tNIvQutUja2I5pUi7tXCN3X??1j@;`YBJ; z0;_7PwCUPub*w@Iprs?cqRmm!9ljG!@6FL%^@+Ci5-u%`w(VjM9JX=mX&WOep;9KH zsPtd)UQe&=_h$!3+ME68ERAGDK2-@G2HU<-&%SdXZo(cSl5PS2+fj?tm6ep3Z z4x?ZKdwkErR;yE0okb%E4HL*ZMy^rnK}Ctybl~r2sJ5i^qaZiPh!Enwu2XbXc@@0x z`#5~}#`#g=Z13-YOTqg@(}H}Do9W|KL@qWeXX08xW7K-l??_xd;t)8Wb1*B*Sk}I| z7s4YXogTbg;b-)HkbK_SRiV2+JZ!P8DQ=L1f*wEJ=T>yf z#h67EQ$lPwm6kv@w>uoe;^Q?!`DO0K)@xjR)nx$_Ysu0Z zeba@T458x)!x3{=F;2GcR`Ycc7SYAtPjl|YkTLC#!{}HtHWo1)JGo|7}q6|R`kSo?j%IgjvpnG?%N-S z{|>HMUF6HcLg+MCealdqnBQW)qV^@L14Mmiid)=`p!sTyb}oJDZ>>G0MCab|R*@d3 zMYucPX~y5VP){*1)xy{ZBv8>v?aSXADvc=yWY@!l;0Qnm^*@>OK-!a}3j2fMpSirC z{FoWZ!e4F*5kb2-moiv~ZIPS~)7v>)HDc-s2HA86I)>Wm5L0*6F&bx1+@3aE6bFW2cMaCA#%TfDAIzm1zr;6)yd898Gn{C?noTvolBBi!1|=J+Gw?Vov|EIHO_x3XATEW3olE79p~1ZwMu4CM^s8p5`#4a z;XhBxsyolLaaovPU>7Y$&u{apbD24VdCCP2$&~DMTa)|0b#t?-jDL#c3E`MYPu0Dt zK>Nt;G8)6pz|}NH7MtXAX!2Ija@T5_%W%?p`Al$sjA?_I*+U@#|3k}73BEpfZz9h_ zcgXJ$j-z@Hlhgew_-ZnjvQ=U=ag~{XXWnh?MDB|y24O;C)a@sc50htMP)6+t!|+k} zo~Q4tMIoHkOh-7VKZzUzomgaGD$1o?9DM%+ZdhXP2cK1hjb4u=BjG zykB4O_d@!>1X;&w^+Ekf+khi3Wrj^CfsL3?`%_1m_qk5#{-2lZwCnqOv82P}3z}#; zIzFn;j$YLQiqt=&PEDIjua=(VtsGb*l+4X9ti6aFR|J?(52x z;{=~Fx*Pt?HVDao^ekn$&F8z-7uXIo3jb9$JFO^Oe3$}G&Z#YLIyL!OWt>N)$<=~% zr->+KF!0MzH?_DDU5%~K(;eFtwIpM^qwJv7%i{#sDSyFu+*~#=qrP^SbIG#B{aZbg zpsilMlf>eBmaSBJ-oK=_M_&2UMH{3Yc>aaIV$@B9a#5DVQZTvK&+J_998`c8$kZch zy8I5IZ?BQFX@A-O28GAsA~JvsXzNn=5N3r9F z)8A_8;c9-aS~q?px;#RBhn`I1c-C?F!bEqn(p*C#I^XpKmjjMrhsBEn#C|Yqzb6e)qe(^Sqex1$L_wdruJxg_+N_n_87ODeRuXW{I2_6?1 z)r$M5Tiv2U?uu*XvD|q{ZnD3?+_#LGPx|$p#QAdk1~`eYF2?A|Ur&F=%n2&tb|B1v z;eH-q@n~4D{djWqx1PAduWPlCEqDZYhnvz-%hkO@GX7&HG9N1!78m4Iw(d&@!A zQR@KN+~e{T6{{XUhqwlzFJ%Kl$DP%%=Zr|y{e90Ow{lLWu<9&kr0Iu>2UC%`x>vs+ zDVl!!`942YnjYeKd4dn~l188MF`!oF2(!~F6`dl9Apa1$jL>eFJ5|zG5tI$*LMB8* z*)W=19AORXOPs$oCq#vqX1`u!Cp#}X7;rA!UaB84Dx$ORmA~sNhKGzha?;bGo+&2J z+8F1IJym~CU4M~;Rz!Q_m}_9|m!!~2JW%L{oNTinRMaQPfL;UON~swL$UXi{ZJ?!C zAQY#zPeM&_?XM$S$W-6LvyL=WoPXwPpye2=S4`49*fALDlcy~Etx5QnSlEf*#K6xm zRdlaS{Gzrk_3XRfsbKwfd6SX($NKxv8L)P}ilB8g%U$Kpggzf0tH!g@m>iB_qS$yU zV~Wpux4va?N&C6F!yF>g`8{XCotxu3+eecZGA5$=j6^9rJYSrK*F2APf3!r^ffqit zf>Y;pGR5loy>(<5hns5H;CJ8Y7stM8Dkqf<(!Zgv^6fey;UFT>T)c{%qlr*e<)7nz zqpNZ%{05C$y!7w84E(nGs5@TZtRjp0NwD(L-(cs1nCTLnZh|($>YKPJ8GnkH#H8OK zvk2pYQziO(OIZWyQBX{K6k)vDm=Vl7I9@4_3_o_rl#~5;7Y_=~uI=xuJkcDE@(j6m z>-jzDuCd7*=c+h(RE(<0e>W_5$C89!jHy&+Uiip$B^)2xX_H)w|8+0}m#^`6Awm&% zV~f#{Ujg9EA5B7!X$iwuj}@r>eBEDV*47ECuXGmrs@XO`c>W(mYaXATAKY4;s(9m4 zFv0Nl)KSMb(ewxT{wUTTrgR+jopixf4`>&>|hkiK>{hdovSsG0meGvc1 z0K2e6iWHwV-w@Ua*W?iHHD-T}oc#EDPFYVP*2+dIyr3DD;1&?O%EHFFkvfWtF?QOv z;w`z{x$&qmfJzCpmWNqT;h>^EYKU-#SiIpqi#W6={(DB^o0LHYFQbJbpB+H(zu}VO zhdVnI>{U9HDF~T+e5gCedZoHf#&LFI4h0&Z16lMZ5f zUsVoD#w^O6F-MgCQe{uX#K$zgY&nNIZ2SZdQq6RkMgA7N@SbKNm69Bn0^iiymVQYb z4%`8HReF~?w@(ZBeB)-fBhKu`*pbMX?{YVGOyopGQ2C7^IK*F(ewJh`J$>FbWLmfB zK0eyvJCwE^2;+({z95%v&OH9)B~ehH;zC8pg4>GK6DemtA=R(y+9KAf>>s6inR1by zH^1*&$m*QyiWxgb8rIq{)Q3YEMCZFscKtMDw=Qf%&0ny~tbNDIJ0yHPND#g_ zq4~=ZPr4zLxcsH&#$|Fl5FZ{{KH_DBX&RoVEW_v~TAWyYJXpgU z91rzc|L&Mb6aE5gIz9r$d$fn(y|K0zN#|K1GY2;G$wn(%IBY}5%Y$f)MM$?wqgZeL zrSN{lJ|eFn`oSoYyGx$9V$LedF+!gF#(7G<<5-rJ`{7$GF-SU*LZAFA<%;IoyI?i! z_xV>;k4MW1HtPn2#Tq=3_tU58k{fTGx??@B`Vt;|ADAHD@U@+knP^;jt5qilce?oq z#AN#7NH}nM zN35f||I*05Z~XF!qjOpl%=ufN@A9p9nSkBLbPs5%)+9>TP9I;${LQObCdN zl9Hf)m#|a%G0E4Yy5F`DGxr030Um!T(YdDolsc$VR@6ljxndi`y6I{<{*>2-Ek>jBpHBe;)rXXl98TW zo=;H#Kn};r+3kvRaM1GAoZ#Kv_S&!ED=)^QhRvz-_i-tg!`~g>eb5;Muortf`R*-q zU6Z9S`OpVx2G~Gnm?MU%`dG2lnE%N6M&eaqNkx_Pt_D%O{zR`SVPVwU!R1fMhhZ*A zeUp99dGWHzZ=AXfK)En*%P8^2G|L%+yx}8fL%7UyXUTMKAMHQ}8M& zQ%q3;msu}@x{v~7SNsc_7!$SeGf(<_>5A4r!5D<}VY&GV|3X@G2}^g z96=2hvvr|9p>ahnGo+?1?Rby-N@}3jFy+tNg&(vGX7lIDiuQw*lN|P~<8pepFB}Wl z9ha;6|GsqDlU|SboJ&y<&yy(zzL8!W_Z`C&z{$E8QutdMU_bi;4;Ur~3T&cWtj0QaxWn8h+NHxOdJZ zp9nEYb%20V|JPyxX>`&_6{a5O+Wx;-=or6NEG@T>dc^c<(4{M88`Wk8cP+3+fO?)D zFrq1xJpy?0vOi|UM^x#v^f4EEIot?ZFHEc6F->3HHNKd}z<^>0#>GLC6w;a|nYG?j zcOwZ1i2&b*3UEFMR$8Fyg|IvfE@I4SpYB_HB8b-;L}?EavBU^muUhW0IV>-nb6Bu@ zA%cP8>qYfBB79l@spK!UqKfv^bQ?c4fr1&&Y06ca?)Q1uAKi_G{Vj3@DnCwHO-z#i zx_6NV?9ymMuqA8=1zv@-T(7xpyYwVoosyqSimhE=U3dmb%TU=XK=?zXQq#q9A36w& z#vx=K8)6MiTz_vs20ww)RW0c&T0a>}XmN2k(FDVBbN-6gG99$YNg8f_!y@=$+Na&5 zn4r^eHSq#yvv{S!mE2~KOHICOQ>06PL2Ifc->x&`0j#Sf2Tj@Xb3jSIX0yp%c zez|LzUoH(CWnm~hxR{*RmZR)RzT{m`QEdDTxAKJMB)bMFq@ZffL+jl2NO(mQ- zWJy}bB1UaSE2Afwy4`W0dUY!$duix?QiaKxJWgz`PGD8e36X(|lLQYcITMz%q4gkfwy(e3|zqIZuhZMT(<|=J6{6B?``IcYfD? zq2E+Z!;mL9ZY!XZve<1yw{#xdl*bU(=-B_da)W*Fi>hATFa%ewR0}I?Wfh{8RBr*x zwR`czf>#x*gXoo>k~PFo=Tl{=HQhIGZaB|+0~sH98boR#6?inJ?#+4-(h3WF@~k0j zPdg$6bFJGe!MS~ZRS8IhA+ns-ljF9E&iz1Q4%xtMzY-2wf>G-%RJ`+g_CItx<|n$; zBy@P81f0ulw&|#!ja-R09e7Pz-kLNLov7rfj0BoWw0mO|zo0^5IIU{BQ~3aHi*0usU1L6mpiUPBZP;)BcRm zK$QSH@ZM`)x1ASG$7`8Pa!<;QNckYgM&T)QAa2UY$Gl{SRhx^kJr(lvyTw~gg*dbC zdOF_?nc+0T#}nnhc6!kt3uo_mOvRtFDeLMf&MYuF9;QU)4&J?lLv>l-m zJDJpUEzWM^Vt03q%@z2@#y73{M-K?%QqCxB-4N$N?(}<2{Zr$Y%a^)WcS0j!votKj zYlo=XmSqZtsB7+>C%=D#vjo1#lQ;%jdG>WIfR&lcPyKr2xLpU6jhM(7ZPHWQPO3R{ zZrF(z_y>OPQ_U~-pd+IRx9jViBWnACd4yPQeB4)mkbG?|orE-Wq>c9KPBw!lU+-kC z9yv#D1jxxI60_hpiIGsThDkrBJuciPB{5Ik^~ID+Mwe`T9?0z9ypVwX#wr4jkhaKu z?vRg?O*ty_VjyT*?APF;NkX``J0W{Meko`D0WZ`uc#AkC0Z|GRYkjNzJwU<7c&AN; zu3Hk9__}s~w^y<2tF9IK$-=A1$Vk&PbVNZlmNfK{EHm*azz zd@6R|GH2)1ZxhqISvk=!SOx0!!7he??#o?BBmc$qM!@#O*P(TaqpI zxJ}onWbRuRySLNfaNMZlxgQcabl7#sPg?uib`9HCNYj!?O?uO6zue+MftDFf3@EF) zeole-Hk4xpJvu;Ce$+}yC5GmUSnbAANaZ~o!)XKNq+UEQ>8 z1Mgk6in91!5fe6DrPUn~Y!_yLsR0yI2ecQE@2P zykveoB>Zg`fb7K+-Wu$n7y=|6zFLaA8(>d{St2B#SMrBLU`q9Y%gCqjQAv>qrTJNt zdmwt@qgTwd^)FMXeSC2y>!$&d*Ot&ocNsv2lA|Ga%il3RI+c4b&2xmtSD!3^G}2u# zfwiXWTN4&c)v%W~_QN+>6n5qs8XZ(Lm0Ecb`p6*(4N7v`7w91N#gNsqcA6)@BMn=~ z6u(IzU5J+?qTp}KtZtueE@1fQw%kz@n>_jqfrmjLqzcW?o)q}9@$9N>h1L0k;d)Dz zIm6t|j>RO7mVYJmhlxPL3|#8Rv^&e*7UhA4rIgA3k##66@@?0IiyrJp$o0pw*`S=t z)Kl_oJ@gnpTAoSuZRT=~AX9&6YbP?y&w$HQ92E1^9TK?lcqYF39gKplUT!Jlr5=%6 z^11X?8SrH}(z&~p4eU(fx*q4#(=wN_MUP|L_yBJJuz?Jlpe?^@#)eh5Erln!nFP(MYCLA9pwC*OH zJU;i`i@R-?Q^pyW3;#%-L9X-mSK9K94n!PQA@uw?pB|0-$Tnn`Xn2{+>?uC3$6e$R zoEV$X0}%&!TBm;qH&@Dt!tma6yN1c3`vrcJk~CFPkeMQ?>otmpYDkA}J2b|evn=nw z2yeIx{9D&8#ioKAnnS^{dMhvFOvd47a&9q)3};VE#gme%?a zh2BhO%OS0d&IKk_Kuy+B;C^IcWG79&0?2DZJ1NX(o_AqXj6G%$eEbE})2vULS>~py zUvr#KV_{Q&12ww5m(3JQ^>RT}=AF{21a)Fxic=5(z~259@8e0ZL0kG&t$d!wd;2Z! zh$glj6IZ)cAX&Pw+d^HxU$rP-^vX`iL^Z^6EE`Q&`K3uYki1;kVN?>PmeF`+tX8Mf zIQesxxv>}gl?<;}XN-zR`-eEm8W=^P<6!m^@RrqTFn!<{&_9M5!b+TkoP(b|)wphW zN~AQ?4gM^ySL8-geWfmc*+?^4voBSzD3t>~6_5hI6K)L?WcYDo+fs1vR^$R%N2T7C zLMVV^4|wDm(=&MrH>ARt3tEFP^1A!R1Lzp^0Oogj04{VWstgczc|jk`uk3PPtI9l& z3=64PzbvJBTQ53XM|k+;JVO33i24GOguKTmw?rH=6Gxb+(!X-|hCQ4fmAonatS}N6 zISNl#d-{<%4i_^oKxVATlB<|jE+_F+8O1=na9?$%CNpVl9|J-0?(KL;AG<+1ZP=>I zjVk}$YWoz+@yW{!)dc#U@Au<8v-VCKcGpYg?=^*;?;y)@mh)G0n2u`}C7;6L4(E>( z+CC@je-rq0ec}4N%sO;8$2j{1IpO8;2oEPT-tlT?xu`Ka-3n(4hgdx~rWF9f0;CIn z{BWx0r%;&Ai3W^Xjv=prNj~{n>My^ij0xVAkIxNw=vlbMV-mq3yL)w#fsALl_rh#w zl*H~G9+x`cyW4{e|Ncy~tXQrdz^pYqutw5ck zC|JC9z;+l~#jMcB}k{vq$ zAYk%yK<6Ab_TB)R4bXN^*Qc$qHq+l3#mzO#i|{I)vCB5a8~40fWU%Q*mT&(YM4FuI zcJ)p4{X6H*GWMppc21H~tL0&llSU#+f*6^T(@*u4WQrxMTBef^8A5}NFU24!t-?Uc z5sad}0S#1;!42^7EpASQ=uZ*5iE#R4Y0aa@_;qi!c?Iq4AI(|p0CUOOC;W2Q1;0rK z2Ck|~o`};L+BCO26>^>Z2?t7>(Q2hdgRY6zE08%{yBaMBLwc$Of`=_3XkU5lkBPSO z9HY`qidqvw!z*sId{JQSa?1An{@1lJ+!RbcaW5bulB027&_-X9nT3`0os?n@+tiNK ze%YTaZOCw8s8?ot^byjTNSZ{Z;lX}RD*GNIJ~hC`hxn<;kS;=AZe5>?APFV!U0#9q zL>eTR+K_sCUO}ag+ujKX2uRDGZXQ(L_@jEle-v2Qz_mI}UD@S`ITe!yX}k7j4|$*7 zU!+7=pE0(V-YkN0fo-E?@$=$KMXG4DSj`}sp z*J9ILlpGChWWY6V>grDYo{EX3L>xMh5j!ezPF&`Ljv*M`ljzxx9OD=wg+`#L%K-7U z)Wal5g|KKXyTlz79-Np-WlthY-Km=6Yf?zb>24xnoZ$FI7Y!!AM!hZjgN!ySz*o6o zZ?iq&lIKd4lbO+{s9y6;kV8ADK>qj7h8Mx~vJu9HtJn;ZmiL*SePr?oSZ0H#Y%=GsyBaBuQ7w{N&pm2`(qcgPKdu ztOfMIENkNCEDJyGaaZOKmX}k!*hJhEZBzpk-aPx5OU0vuV+{h_V#~Q zd5dSyoAXb|dBU~6O7^ZgVq#=gh?qF)-fH;tG08Z(Y7-a~47SA=joB}AzCg}LX$hR| zD2qXp$JaS|=*jfrs%DDoe}k*GzS}1lXW?QbOVij~13$oB(O9)n^_Dz8{(OU=;iKRIX~kCyYU! zu!_Aq_ZIE|sWG>>+(bC*dsyW%(JAe++Xj>bpHtUe$)+X`%_YdlU9Q&!@But}SK63cM+lTUKi zd`5^){73W^|BJN?cknoBJ`I<#;__^~ZHr6Z*zsD$w<+x%q5_P|m@Fn6=-j z@8haR>&9^Y28jS;o!Sh~yjBE_1(+PQ0dkHl-VZkZfmwvpCR%}Ay437BpWWtK12;v% zKQ9`tua!UM6;}$J0W7ap_YhCX`Lwmci?6s^0jPYjPyvR6BBKxgOGx&la z7Bq*ya#-}c!iXULM3Z6E&FBj7iS0$@kNU| zouJc)53=8TzD><7OeW5{_1-fz_e3v8*H<8Jl4z6uCC4(% zUs!QMQShrXp2$RBr?Ux%U>|9OfnwUj#^RxMm#G0JMI=sURK%D93!`<{y?nGYdI`$q zZe{Gn&HV#~yNj>0{x>w$BquZ7Hu6Ejx$&yOzS)>nPUXqA?z!E-Pv-$+{0GGfylYB9 zL@}t;FLbsgMv72QxU8h@&`EkNcWcKRr zN(wK#z=`jI<#TOFm77r+SD8{B+_GVs{%_G-vAIZsfd%UPZ#6#9-%H+4I8{u?`^p=T z_0Zuri|ecwOrPTQ#%}W-Bn?+0%f5AMQ4aoNrMQWhH!V0^TYL)eS$*AF*#)&zbd#OE zRXCh&6}!sydpP8zo3%CUvZ#BETn>~J1yZ6jZ)GCHVLwS{dtB|>^wNsMKH!G8_7|OZ zVxq=}U6aGsDRDl2n`(`GVwedCgG7y`djuJ{QB&`bmbvvSzK6;JH&0 zfd~7qh|!0+we?v4o$M&WuvVv7a&w~JR9M<5RIky{JvqVKBO>-6kCjVp808s1H*4_w zR*(`pMxnzHuizU*(Ho%Xr@>mynF1W9CYwe0daQe+_4fO+jfmV9O;JaapZ$|5q?Q+6 z&DGVhod&KJpKP7UQbk!&so8s|<=x@8U*fF^3Y3Jht**okjO_!w!_$!(X6s@H^KEmd z+1a_#j!AD!h)W>Ux7pWp>oq4{dYPULY>N9CDa*gMBcAIL_e>pd||?3MtP}6UW{)1>gZrodiXoHL`me+ zy&Ih*4gLodCr+4d;sB1?JI@LfO1wUe#!6F0$Ka9tOx=T}Cc3o5j4v+BDmtXNL9nPC z7tOc_4fAPk|9buc{^-z6vFo2R6Okdd*=`_9&{tWab~SwC(cP7m^cgUWim?*abJsH= zqNM0HNd4Bas9VCtaOH&~9iXIi;!AZGN`>5}@RlOi)65qVxnp@1F+EC-z^9dF4I5T! z#Re20WO#c~;bfz&+b?3yTkJ=tx}DNgqR4vgchgtsun?@Rtv?X`uSIP_DCr1Sb6G6- zK|k3XT75bQ6tSKX$%D)k_{ljSTzU^rs8QBJxOL7l)&ose5Af2Go>;%1^H)B7O#IWN z5rvA8`JktDL`=4Y7f&fsGudE1GZ1hh-gXpBIafTTY)!*BhSfD~Jy}V6A6v zm+zr*A$BM8fwP#g3mXElA90eNe$-2Kiihh^R9HIUX_#G2B&Bp{ZZ3*TGHjR1D7ko8 z6n4aszRkA2KQ9xCWLq?T*CsB17i5=`Oa;5|A`Fu=46po?DdW+{CjN$2A=2||m$zdd9#uj#bBkgv{SG36(Sw;-Bh z5}@VD;CJ<^8^X0_sMDHwV%0wq2#waGe?{VFW3KN`f~X}mH3-CvgKeWV1Kb6*?1G$^Vn6+P{l%bz z&Gt^by7%{}lzAl92avm#voiKFX!z+Q8aILnNweWa>QSAsSDNxt)ALJAcxW25_i0?} zE!;E8@r06*(cy$0MOm6(o)`+o_fy;}K3JyJ!2@`>%X1d?n+HZCPbz%4^}$lN zR1WaWE@%8cMKR38o&)vKzS)*Qhcm|R8pg89b(0SXFvBGP?c-e5d>(-CoT z$Ko6KK_Yv@q;?nzlVZR@ejw!nzA5Z8kk;j+BzRmfjYp8zsAYpf9&z9ZNH-J~EL;+Z z34T^B;X+ZV0+)fk;cAm)>@p1$HBl5a| zpK0KQxQjaj+R2u+Kp|oCxVn8dH9gyzs}OuaE-t@=&;h8xU1|G7KWMMMaJDEG7fFPPSu36yl7{2FOc)emHm6 zLtb14Y!@M9bbDbZw16jfS>uY>`^rpVWy95fB&@dEE!eUQ`DF_l58yr_sVz1#O6{ zChI%9=MtZ9W0?#1tj#NXmMC6RJZtHkOORDWvp*_SCqXDhagf2JqBzg{wIP)-Uqv)2 zxWx0Wu~4>l2tP`4AQ;?NVE+;`v_cdW>m;LUTRumU;O+p%JdQA1$@H@e{fjn?TepQL5X z7Xd^u;LIGd>2$j1%XdIgA_0BD`8Y(#q`+r|rLbWLKewyyJjaFd8vcEg((6x}hWDFt ztj7d<0VK)Rc>DuC_v^k`0xkzU7-Zq!0I&~Rm>5RUxVy}FA;N$?Nr6+WM?gGs8=s8k zYQH2b3B?d#HSKGF>TP4LoXcs4_mLO)7Cnn=k7kiPyp50Uxm7)YXiTD|^UJG(xj~8hOeM zx&BwDLVZ@4UfPSQpqf)W3lx7RST4{?@~7(*zuhFJ{)DhbzMr$hm0n1eB_F~tMl0JVyWR;ZYy5=dAgj{W-NkWPns!$@C;jD*HLH#-Cr z67qu-1<9E`OJT@Oe7B1o?c{m5W0F#}z2L)rCnvKB4!dObJ8Eoa+Dhq7Dp!X71b=0L zK=j4i2%d{%U!2paXA+*?&mA@k`MKa0^ts{@go@8qWupY#)`!!RpesL*(J9WVsIlTY zO*%zXq%iswxJ@6a6jFlXNnLAOtAV!M*j6dJyI9bvhMPM`sqf57E=JKRAEPNn}0 z@2^`g+?lHrc54H$B|0Z?FY^12o#n;i0m0yWif@eC?b?L-VIJ=n)!>kio47$#RmE z+33#%Vf-9}28>T)K$BC2ot4%9m`Ul)6O)HajkTtm_HnX+BKa3>C5P5NkgmD)lN)|R z<0a7W1!MQZse*y`K*)2ysiK3j=wD;tnq%WT`PBo$^FLauhbW4of~a5-Mc7p#HULgg z2$X^n1&nJBh1*CXAUpSf@P>N`DwR3(0E;=O9>=%mXul6XnGqCn19^x+dHXCC2Yn>b z^{l?;Vp#w$oxx!*aeJ!bp(rTr-dIUtdo$t=QICrcw37 zzccrcN1FE;JU`caC;=oN0sSya3B;%&+~S%`G6Z3E9%BR~>P;3$<)gaB#S8s5ItgZt zai+o%<~4ZIM~MfyDV*T@Ls5Ijt@ZI<0sKBSfaFeN=`N0tW&>2W$zcjKnSb*RcM3Dp zKF2EeL4^eQo7ESPWD(D!y}ivq4HG<-Y`GxS?_R!$#tS-R$A-fwSfgvH@SvuO6!rr& zsZb2qI-21-Y4Bz;gNh!#&b!d;V@%zOalZ1Xtd~l%>a={psPE0yu#naO()j)cMFL0T zY}|q>R5*p?m!k|Ud#UeS0ZB441NpNX0lWyg#`{3 z{G7g}N*vlJ%Zb7%HGyBbD$ZPfTN}hD0w4e@pJi7E9m0OnGfSNm55oti>(!sxxbG~A z1J3qYt=yxTbJ{pKFypqvP(J(hw|i4nyoJF?XOhb*JDbKr&fb+i>0TTarq{jSh*CJI zM+Aajz*gc{)siYn5akU(H|#u|(3j`kLQ8fZAn9=Oto3BtP}eDsuB^U4W z=nC{l_~PtHg-}rft{XO)xNLDkk)!`VlCC|T>F@tGT}VnQMkz!_Lax8#`}=Q?$9vv;zt4GHp0DTY z`8t%bSJ)D*CU)2gorrI;-|DU3K^C&FZ)X*tH08K zY09X;0J_ z9=Cc@zOX~ZDwIZUpw3r2>-v|l zF1d!EQV}`Q!qPuH~BM0*T}qYG6e~b;w{`1o3TjxI1JT%Em&)La6x8Cdf4lyiGZ4Xd%PD zD8|D3$Fl#ye`_(DvOv&V%KqyDVir$?Q{+eh2mP5^FAH zif~GCRMYeHUVV!H#z&l5BTJ1GGk;>Za$2Q~RE}neSfF*B=0#bod#JcMyo0r%To~d? zlLobUk7Tvvn_0SSkI6UuQQMW#Px+@^znQ8S@WWR7m}@QL4>_18!DlVrA67fmtBruF z9Ler~zMmX=ze46dVxxDG(uQW<$pjtNRgjRORmQsx-<`A_5nRzn%I)xY2H^!WyXUr# zn+%qcT_cTBia6wkv4~r8U-E>e(K|73GjZpv zZ#|UWD8J&}z|=kHD}HT2#c0p~UK!^eKI$$(9xeSSNWXYt$P6i+@lEqktF4tPgMu*E zx!iXk(ZUO8gGARi>`?N!tixoW^y%hsd3y5?mN2##j$`D&Xd*IpJ+)sfw8}XtU4e~r zSfOeYV91Zoi9|%~`zb~`z=DcQsyilseg>boxp`QH*8+@c6Nk@#1FWaoTpz(BuzV<0 z083C%>j7c9mH=|F66zEP3oRt%8ij%VB@o5_LDBJ`LdzB2=i)-p{>U@m3bQ99K`ze4 zL$6>f5Oqi2;$x?adpZFx7@s};6hT3QG!OMFvHzF{c4#s=|SChGOgdfDrEwsh#_ zfA3{CO0s=M?ZkEICYqIr3#z7QaUZSYqhAu?&spE--%84&Wfs&Wk2|%nhdz~;m|Gwg zK++Qm;Na!D0{cvm?6oKYjJv-dN8Qq6b9#HYF^`6Vd=9Su1rqibqng$Z zV8tOhv=FQwlTXhei9tomW@5FRiteuuHb}asDARSeQ7V~*{N#s~eKpsc!Kd;Za^>sPBKfw`H)@K^;xBjUg5W z(*k#HSY4aWD!Cf)r2M68sM`KChp>E2Sj;BLBV6Fv0U%i90gC|VY%D(JvoW^4E@ZtD zL54(ZxA3}6sd{7ZzQ_9+=4d!wgxko4c4@=Q!K|XxVO~i*i><_qL!%(A0*C{O8by|% za*Li1kRnC3-(jL!S0yY}6977w^L$p3z=Jp&l0LjWuYe5%hGmV5VB~j=rtU7n_@Agw`k$uQ|%?Dp8$~ zF7fQjo>c)SZf3~L9Wf1Hh6GteG2-ZYpe1*ENSG1D5O`1*%L|g?=?ptV!;(M8F5GJb zUZ7NDkFxSf*2<14T;k@HP(-f#E_B>OkWo?p(o7XP1)0+C{Fg?`PDg$5N4M`YRf~Sq zOYr`#j_nd((t}+7?cb@kck3 zKIBf*&rH2RFI;ME*WiCOt=rkg;|I`QSdKhw@*A$-VDwMiU_1&jxO2cCUoRY_Wsk!n z{;<4zR~F40i!^`gsQ)63JwM<++w&nI-KyCfD)mtwc5)9#c~9cekV2T4|J8H&d^R)7 z{KjIHQ+uZoqU?-hV7t+>xtHyVpfXbY5rwoSZF@k9>(X1qg3YK7p3nD z6k-vgtP&1=4St&%e*_!7KwFDk&6z7?DATsMzYbQL_i)fQa^IG8+*g~|H#M%#3Be`H zh&Ej*%ke9sish>Goc9zSrIt< z_?9FjlH7HV?`lEUC1Ya;X2vk+8C(WEDBA@&m`8 zWQxhQZ0uaNfK6VKIE)`I9FYCSWMD^Im>jA83Nr>J3xEPXwGhf2^g<&A^&$oVCCGd# zDd!6>I2San8$4!a4wnRF^e0Z#^8$Wr^D5|TF;I9=7heU$(xxwl2)OuGGi?VIlvcBl zZJ~}5|294IG?&#U0))g0Yw;4&q`p9t_w@x3;72QV+k$p?GTU;9d}r4^IPBAKxs-Vkw5ik8^v#7vW4e5>Pl;ncm%NOcgY=!|{eFBVcB+sMg?@ zXx(?*=ww0c)bhfYjDOrlUdSU4g74I9SNG3LmcU-`5C5 zxc%U)9x+fY`U%a^h#@F}Lee%uvxMXa;M5;*$EDlt<{$;XhovjP6b3mXYd^41~&QjCd(9sujU$rf1M2!|ijq{%l!X-v zq@W=8~|1FdSGg$Tjyb=DuCWiaqlPUL z0JeoT{ypeYNRp)Q<1@jVfQ+?jXO5gB^9kTuAIXpu1E;XjmFI5fiLW)LENljV<`1vQ zZmV}ehalsUP1spKkmC}z+1#FVEB|}rBZmQlvgJ-F3PmKLK+_(-iZn+iCGFt>pqq+p z{+*q&DhI6ym4J1{y=}AHTkb6ryQugv@jB|zr=(}cD*Q78JpyHSghbfLO$UX)u6HkR zGsC1gp*x=D&FOp@RLl0(*{OuKB#p|4{d=nMdsZ}{c=O-qm+v;Y1p}msP)*cfR;*-d zJB-hIZIWRLEziM0(h%VV-hC9ANc7MO%3qkdB*%J@47PNyCE{P?f9s(46yB_d$dc9S48 zJC$`)Q`cx&U6Q`A9U=-`he&}C*s?$G{M!aa7@ztO3xn1}_%7@#-+-}Qh6n*IL(Al9 z#WdhUMx`oD@H7@=eb?wrG>Sq*Kr7;SYLL*%t_j70<3}fD1}uq0nao?TKpVNpr_u&@ zvTm7LI`yB@e%tiOq`~4tW4+B-i0}!oYHOgKJ3y8!D9G4|3Dd2>6YJJr@S&DM_taP< zv0;NnL{uWY3ziF>5qRz z=v`G7+i^>MNUfhN$>Vf6!j92;AXN$Gp?A}c$@oV|4x3Ks``2OW@k)>4)94b-X8(k< z(#WxB!Q)8TIpH_iv*m#SI7z>U>Eg!Ociie4i8Lksm)b~7 zC4`Rw+lG=8Fex!;e}9WEtdS=RHcPl;PKZK7g{?z?_+y4-VW^giWwHA}UjjML6Oq1h zDRc}f)Jh^YQz3G<74@G}E?E}?e)E>)(vg$z4)IQ=jvC58i#M>C>5a>5%v@Ht5pgjo znJ4o%dzo}PE&WHG?M*=V!4BsbHOPeYVkJyva;9ekH~;t0r4VI9gqTz-{nQcCu^t$Y zJ7`e3D4-6ekW&58&`(6!J_?AIZ{U`Akkz$yPyZL;!n);aQKY z2s-emhEAQ4DvtG)N8E!oa*U^hD`YX%Hu{Tu=VnZb|PqrekYAcfe`R|^k#Cs5Yk`|}Iq+S>?( zhZmtUB?qc=Wk{zqyRE@2(xsRCSd|Ob2pm(G6|nzgS<#DEo6}TyYkWEvdNnwGQ@(!d zi(TluiD7`>^3P1(U{a?Ji{YTCilHN)j@90;P<`kKkRM>NNGlBK^$eEYg*;pMUZ zJ678AtSXj}z6)Qdt+E&PD|S)9Cum*7haGV2mv*1;j2^;28`Svo!pI*nm+(^QZ^^E) z7N7S3`brp3ayPX-|B!dQ>dAjt`C%jUSF`Jrap|f>`L!l!kiD8X(!xn?GZ_5HqF-KL zxrng)pZCQ#5A?2h<}}QN^Tu9&dT-0`i$MhAd?B-q$-bOX)!uKGf_vP{G z=i6`mTj=9@Wfq49D=xpvqU&(SMQ9LtP5=n$8^j9&vF=ajj6Fwqe08`Ze%Jt^0nCyM zTP~}UPA$o_aQ|gw0sLwQsE6mlU!jR&NRT$i1o4MKbXMVD+ZMI-Q~}*$#B18t=UE!_ zFe=vD7&9{xEIeTlRiAsJH$$eE^t-iK;I3|b_;5+?ysp;fpvT9Fs#?U*BfcK!&_6}B zPTC(ve7H*}>WNdk*4}51vv-%YE1<=r?@i9gy|aF~T>Uijp>Cc<=@~Oai6nP%6HGzk z+1-!28LyZ{qxFnC`Qoi^zt0^Ov`ZUa^LqBq=B!TX{=KJQK?P3pDp^wA_5(yc`O`n_ z+b&a@HgsSUY3QpQUi0v@q33aD)}NBv<#1&Mwh~K3E`6hei#X*nSfp~~$FuyJ3@Ep% zyHdsK6y~#s3&ROrq}6U~p%C};+mXzb_e3#qP;qUD(p(e1 zR}wBL!6B}Rhu4O4q0?j}SkGkuYFq#UbYwN&p=OE>Lj))sM3_DWGroHh5Y8(t;CdGW z`ToFXb0&UON2-VW79901Jz)hAb=y7F)I!9MCEnQxldgFCZsw|?} zXPI0;Og+6lY-3aj9v)QYaG=Efh!h9Qx=UBu6>5aPbolUd+&OvWi&Q!Wp96>fvd_Fk zIPTM`QhGJL+d+5DOU)q13h`>w$|m1fwdr3czpDBAb2QqHb(tPE_A!-ma4aQykN*-6 zDN{^Jm4OVQ zP{n52gA{3>(PgavG~>XzN3DauZ&c~%+m)E>ogQD>2d(1wKJVCSSY-G2aRR)l!hLs& zwSA3f-;-xElFYukC=1ut)C{I9O+zJutW(tyEC;PxhRNanH0+`@eOta6JGpbK3{H7Z z$<%_}9&EW?!tmiSSEX>ofx~y1{jM7KWIH>1t}|sgBdxLqbvqD0$Fnv*n6H16FK5|K zkHF9{EWOv0%9o5Tlsd|s?s(rQdtzeNLYDuQY0Ke9U%^6`iU2s%0?q*%)*$p~A^t;n zp|tqt{CNCho*$Gg*VbZV2Uouq1BAZn1Mn&tv<486u0VZ9$XaPh+l7uQw4;+XKxe(H z!p(e8I-GRh$7(phQ`rj6_hBRUbg8<}5ziUto>at%&s1+|Ick-ofWz@R?yns)BR*9| zS$9l)u>k$$kawfF!)xZ2zzNuZaD{bY0J0PFq0rb)kZ#dJtdMSM@h`TpgDSFj+L!e3`kn;7MaS9oj&|iXf|`TvPoTh z@{oc2@Md|lK8lY4yXQFbBn|4AcTX^;@wD=zOLRJ6V~2t;G$U8A+u9}V&!ywS3Jf>8 zlGc5#7Tu71Sm|>J>&??qJI3Hx+ejpti?VpxNZQo!_wEUISzi}}9$`B|MsU3pGOgw7 zQ&tu673XXF&ic>fOKGpXU;MrxU@QiSC!c0wH04%)mEA#2P-elBSf2i-qv7RJ-oQq3!0X1E6HXQBnylDC3b=el6%g2M61EeOur{uLy|0Xp;MwP=8oz~Q-AY*9aW-ADlh28O&v|p+F!J28qf%aO z%;1GTm!udfImR9n79yg=%pD%wAh~_ahN};Y;w*{SJL#a0^oPe+0j1LN3CGEO1?xo2 z1Sozagg9A#6C@9T(rsznE!h%#;Dn+Jg$zp8R3WQ`+vvIbJx1Xc0@53Zvhye(woU5K zGhZE6Rrp_9<~v&~U(=3w2EHG8Sl15?UBiFd1g%3RQu`vh0)PCAeM7d9g8gVf1>89B zP(q_p(YUT&ENLV`5EPP3w}f5EK4s^7I#PN{EZ@X$NYs>r$=Bw_;B?cew2{&{p1{UYyMP&3$_N8}n1dke+8RVS_{q`S5`U zNh=){Mm9o%R$y4@w7As}^o(<)w%Z-zr8+gIkOgI%vuG_weZbU`(v23!#4A*~o90pL zR%4_de6-}GddR7FgcC4N-O!>;oY}9r>zTL0l|w-lc;Sz;Z*qC-eKLKhXo66qb8bX| zJuwp=JSVsByfP!R!u4Msu|4^gj+FeOhb=otO+*$7(Drc1i7MQ(&p6I=A?jeI`yLSE z&LL2-2oGq!~`-U}WGD;6ziH7?%(` zVnt1dOvSs=^qQx(Ua6T}G7+Vf5nxeej+LICj*Y(a^$7{!DGvi4=8fJu>5phMM5N)^ zkgU7I0V`0uuVO|3u6?(2(ULe@E%n{88P*!wPeGSOS-5=?nzp@4(0%;li_7Vq@6JG8 z$t5%)2A0Dt9b}{iyx$$ze=fY>gOuCul*^Q0@o1MBbGy4Eq@M{fq9S|J2h-?NE~u@15BTmAZfLTfTOWd6mp~l z@oiMC&XHS?UaIQvf3|2CpC%3b^JRDj8bxm&GP>Z2&3sz-n*z}JQkt}<<$tDVoaarj z$*&yHO?mH`0#pnJDr_9{2>5X!2?x{tcVT%C8v5<8^^}CVOGXKnx>zUH2Fhgs6-9Jz z8LV;br{d-W zF^W*l#B^Q0o3RMr^-39aFN9f!NqZVQyF1MJy+?+sxc%uj76Z+rp?Gt@9FKdjTS8aUzhw@jPOzKaPpYRD>)U&yR}sF>pmf}iybxN zH+HQ(cps~u^=jKewzatqF9a}WeSm`{w~C@3xX|#O%ebUW>7@F_o!%O{1;*fN2sxE+ zPN*YiFQ{GWu;evYF4n!@yG}!brFueD!qEUR1ej10f&(!8o9peD5PzJYE?|u-HnfZn zNz;-D7{4<#)f?@=QY@F@0A2wg4Q+GmaSiCG<5X>LoS<1_CdM3-h~y23E1yX_dvh04@Z!#}#Vzz5GbG%SQSXnv zQHH(Fy0_H&^J6b%z;KVrUYzapPKP|zl(wA<@5dq|Rm?zu%Pb!|pNj(~;|8-=ASkZ3l*zE-M^LTm9397$#=V%`pGGB-}f4 z{3x@JUsn^Ec*b^LsdHpf`L1(2eobgyvDzL|f1vM;^l98Fo##Wgw=EDKuhh)!tP@yxwaUvjoscavokJ6F}X2sS~vm8epL@J%@FbT9as zxCX`?lUJ-Kr7>FMFG&`~+(?q+=i*%1To@Z$KSaiw;GUVFpXQf;oh^;ysO7tAD!NAG zqhuldNaeN8_*j<*SCvZ+KX~a9{-}83zT(wwW;%vdaVHq=@JI(u37QnVz~aXOpOR4& zh2GhydUpqoZ`^^4AK>ql3&Oqh=228hCClJYsZmOnRx|&Ef)-c7Nn>}m(+2Eg{?}jS zqTGNa*+P{LGo8x}Jz@9$(|o%0!UExfe0PX7Tx`s<*b7asCOD!rgwnV1qeNG+nW-Ci zzP8S_JO~}}Ru=(>0Mzb51u}%#O@BguGeGf!^f3Y63U@@{X+m=Ay5r)=+H8U`FHo~i zO@e$R(R#oZCgGzA7&;~zdUuLz3EE$>+5I`yjYU*4QEWpv1BInh?AP%Od7Y4p5rFz*`N`u=@{8Vc>3j8M+ECosps0({rNx zgPX)jiE{h$JS%cYuvMU?mEiYN2Lh>MDQ{v$&uGk>w-wr2;w7YWT$+yIHaatt+jven zl8K0}xt9b?&3|(Db1v=Mu$OSC1n%F)n}7IEf`2?}F6Cz_FRUnPC|TZ#QiT|ywUZw1 zB2iR6dz(yL+^ps9nd$WD!%DB5oWR|?$lXQ=)S3u_q>LuP5pVNo9ChgLnULiROOQ9$ z0Mc~81fIobrtaExx58L6J=2-cm5>1_g3M ze=sbMBHL|_Ai<(=MTp*A%g0|X4YG~`?398NuyM%5v$DFqt&(QAPNB-|%Wyl-+}45h za#9;!0hD*vo`%_wqw(LmH!Z4PIwr&*;J84tJ=h*J1MR2ja#+m8%JA}dhEIv>OyaIn z$|wW3z`6U7w8HK#3Q`Pc^d)#ro`!B1Q5c(RpGMf@8N~ht-CMlJ3dca{t*2Zu_~`}X z1YDC$ct#N{{#i%n+h8-0tm(&q-UK{FP8KMJ7p{Q{IDk63);d_y*_Jil7-RBTlPSWf zf+e|zvIcdt!g#UG6)nBiQ0C6&1>~ybNr$VqU3~VUw)#S3adL^C^@`BPkr-ylz@F%$ ze=kO=?r05WE0hf6anBA9wKh3NIM&XnP9v%XI*3<435;tTl@LbZb-Oc-ZjB-+f#D)y)+!BO{{ z2h}b7A1?6)5CRtUsS)qJHva=a+jx*^^$B%qU;~c-uV>OI22o>k2@d!s92vd?D*?F} z*=T=#JGITPh+Jw&f=PH>qQ%E@23Y~C-JmIZ*Fto;jrH8)h4%iK>&dM9tGW7rlZ>D3 zu4wlN@CFlfkC+`eA(JBQ^}-~eRq-^Vy5{&h&o3r3jg>PGCu!H}^1`h_ z8Qy39#-<`{_54)UerFqFMvGNnN%4};C*4l*!%rSJhvPdunpsX3R)lL>v<2;?-r-xj z$zkq5D*+SHY2ZC<2zFivyG6@trB8})%EPD(>;!;p2sk-#jg4io>>eH{_0#}3MC>If zt7gHD!q&FOw(*+tH*q@hor)i{DWtCTFk6LOKl2@kmS)f^f@bbKG`ijMU)J1^cd*U< zA_w9QA_tB+bSm4YTq_{Ej_^tnB|*=7%-V%*i*n|8I8r)wsSr- zK26z{Eq(pN+uH|@tMN@AqWW_co2_=7=PwpeQ?BSXWzaaCU5GwGMl$ zEE@uzkKEBY)m!2nW$w0f#Lav_xVcLjBBERUFW7EDQ3nvB3`-=7nan6jlXTjy zT`FmgU5D1`fK@+5w`$83fo$ly^Zc(dP6EIQ1i~xOnknij&ZSub`jH%m?&m;#_+QDRh4b%TD0-Mk-KldH(e zQKs2c4A%y3q>Mb$zuzl78J6Q6K7Ez)FlW$Dwi>q~Rha|JolTX)`}yC|F%L~V6ph2f$uNG*Q_a;+zd6j`jCcS2bxC$P+c`Vm zcXj0P#iTo9U8Y8=u#GUGlBM^M_Vc9)$GIm5Zw8hWUY)&$x?bfWN27wGZS+r%1qNuOj!nd1J)y~XwB)XhhVuorI9 z#9Yf$`~Ui4SrrZ7pa&hK(>|ECp-X&2Yt!93K+}j7zJypr@1f0HVtv!mpRX_cJUf>) zv{4lUW(lxE?!#FRT}~_30RnkBcG9;$c{}PA%$Ypp{C6zze2e1-XhmNJ!2v~YqHYOI zijOcYy;PjkKgxVtrrUGT`sBBt5x=YgwRNCLLQ2X27y3Im__43y*Po6N=V*VomQL2V zc3d*lZ68~@T?*!94}YUDP!y1=Z_k4nGVD}Kc}QXq2z}V`Cb4R?AAl39bJ>ggOhE)& z|5g%^H&rl5Q#R!cN0N@WTqdYU76-*3$(TDk%1X}vt_Jx0-73U~l4fyIcuM_?ntc)W zGUU|o@6@9Zy{LDTLSfx{PzqdF8d)fyj>Z%>JozID6u5Xfz1fo-))blK?Pj=d5R} zV#!sQf&`=qXap97&C{dQwQna+B4mM&9su3tq&CqOIK;{eSKiCt9{qvLR}ARnkkRwM zb0m*U2;zsS>rdkXwDnD>zjoTJAv(6i!++!L(JmMi$OKWK^VP32~P=WdgWkp@x zC*e`&;AN37Whwh}ia$CRaSJ3=O#+N+q8PA@{+i0+og{tK%cLA2Tbui}vheg|9ilCo=A< zC-^}*Z^{RkebA*%RH92cifN*B_I$wVW^wAEYnqLLe7jbT)}~HHPJB9W2Q3wlV$ANF9!|fLyhA7+q zknfQ&{)oEPqaaDYiPec+o1voD!@!H$z4t(=(9q0Zz)5l7I0?xh(GGGK4*3CiVgk%c zW%l*w>G>~MC^})?QB=^9phWo;4KHx@?&U;N$LW-m0#5=*4}sd<475V{(JcynN426Bly^Xf zJ)F$xPn!mi&wF3QF)g?JIW8U?j?S=$aVm)wpY2-;ZzRadJ8Y7Dinbue{+mPo^C|ME z!Y7puT#A2Twtb+p+e{`-22BV%GSYT)_4JULq8SA#ftElg8W^K0O)t#(c-TcnXu?pf z{5W&C$CV$^;gr-%65@w!7E05FCzzCfJF1w`8pq0&^Tfnn{QmuWRqp*Mvosu%$B=$< zDn!pBRiuAHe*AT-vbV4}srVmVLNaiN5>!Yo2DOboOtel$adVyRCw2flz6&y~o)~KT z00d}sI0L0Tbb-Y*Z+Od254iKyGmsf3VLiN7`g1Q>rdzo8DhQ?^P5I`V-?RfEIdZl< zMfqT>*E8v?3coY=UnKMLG za3MkwfRgV795ho8(gn10VZwPKqjBa?xDOi26Hy4DMxw;h&*;h#nKWBtrM%3Osgz9Cv}Fut?89mO|VAb5qaUZx0FZE_`*Bv zj%eoRhmOnUZ!utB;}Li_m>5nChBBx^-JM+#3`LA@6Sh2+E0VPr>mT@8@O+=RX#z0P zb;AChBVNEpg1>qVq=Ft;39=Hjr0oP2**bC?OgS!vAf-FG59;qw|D^>B)|vUgJQ1m% z1I8wi^B}4YfaUViR=FjsUICm5xhNO5>Sb-8*!Y#+QXIeuN540%mXK zvz;v)cbNWK3KSJ?_QHUSjzSA5MA5Z_;jxQgh=%zp3YVGaAXf^D#V`96$FBGs`TtoA zBu|9X<3Q-v_+7%V)Ro$wDwPs@uZjqEVr&Jn;VvGoJq$|CCF(Cv5UDt_TD0Ar1{9 z63})Bxmb~?K`T|&jpL)nnW5h-jMnC9iSRtd#KQuZ?Qy&~CH52=+NGv#}-L ziPebJ&cGaVxl5YUT^5ye%%D1+eCVg0P6Y8nFJZM{?I2Xv^Y4m zfSdo6b4o$?K>{ny+6XUKQkC6g&oEUGqf)Xi^+%xvqn3-L(GPzEoUb|+yDMDUpoG}O z?7u$mjg%Zd1{0cT56o<;{2Q*Ue^6AhP0WCr{9nn8#;v2$4b$I~#Bxa6z{A`F5Ay;I zy<>+2A0BC?vL&B8GR+8%kJlEG{VcpJo^_)cpfmu+)BzM$KY)CFJrTHS!vG1oe8=I= z1dRCCr6Y(;XG58Mw%`BM#p^^e4o%WyM#bQ4c;-953Rk#H`E~XNY#h0{(r67~gr|zs zN~Z*liS_MU4c9W>(dig*%qr^;16sJqC&vQNeWh`vf2`2@li+dWtj#3g-#lBoxEzXk6ps$70Zh%jc0l2Bmq) zPXCkhegHy45Zc#OUtC_C)~q86Y->^dK}0YC8>?QS=BMfD$!`i^qvn5d=y$&SO79Me zGP_DCfzwO6YR)(P%8ww)+X)L%Etc8QZs|q?0iqx&7!LokiP=kgR z5E68@7I&*dOKOzEtZHcYzA8~x`KLgFIb07cXv88jkYNIOH+h@5EX~g3H+i>>cgBk@ z?t|$qSdk>mNwW!n;}FBh~UW%*1*h ztJHv79$G1@_Kcc?QN?~LnpL5y!Sm;kPNt{@G>}hJDOT*X;ojwit6@i#-yB?f!MC?_ z+hQ-W#vA#}_XY6Ue@L-=4W|i{wJ4#$;M_gkPj|`m)Ulfu&TwbNH8G0mopW^Je|~!( z?DzL?)e%~RtsVNnioc`uQ0JJ&d4v9k9QYIKZzsB$djwZFakMxJ_`kBJYt~x41g1X4 zN(oy|5Y#0DE!2@r?iVmm3B2%!APESi3lN4VE4wsJnl`x-?;bW!9kxQup<*V?erXH_C+#6+#j8lU;^fvO8d z7`WW!;^?m#e(4qbsJO{Sz5o)vi2QP&CyOqsc6ij;!$OoGhIrT>s!Ex$7{zxXvq$AR z(Pa0Ax4LcOn`@RE*ILq~VRPCnj7uF6HkA%&L)g2KAgh9i?k}6>TaHtkQh8vzKhi}w z;woSf!Q>gE{%^JU1KU%DCOdxT z|9N{W9)=w7be5ZKVldL`&NLDA#ZTDt~U@lXJFt`Mq`0xT~kyz&Qkq zF*Z4pP)z~~>oZByD*DywB%u+A&HuyyRKdW0p@1QTVd+)18`+l8=%_`~?CYGB~+MT5jUw=l5ejQfyhzSH_LgUj3X3 zagOy%Q#pP4HTSq5qBC`ud?DLvO!=+Wp~K2P6|eSI==^e4s$=vt9T=sx*w1Xz_giqc z0xG1xplbwjd_b=RBr4jY)G+U${9D?{DJL5Nj~*8w4CBBl^f*ftSxGB<*>PdD|Fhfs zpHPT0zsZNph0gcg-n)}emIbO!iLLb#^V zzNZ%6kaw{^hYiDsrgpgbi8G@r4MJBknq9Y2!Ls9lb) zpBWORp~yYF4*0cSMuJ4!A&8<^%4(+^D9#Zx<*%-q8j?zG8*BXlhzkLkQadHOxA;?d zDSq`f-pmpV)4irfsQ+wCoX?i+Nnl_KuAc46Cv6TgTX6p6O}L%VpL40(CT&!CU(0D# zpOuWF)guJSz^-yWunDd{0?#V%o$J=DW+3@J)+_6xR5toyBAK7hynJRk?P6#gVLylh z4IG8_D>zmI$X7lzRW{C;iS_J5Od9>Q!zMw@DB3g_zk{2p#lP!%ZEcdH{8kmQpjNH( zTneZ*X248>BrSf}p?;C2K77iZ#|F&8WETTPuqimZ8w@$e;^L_5k~@CvDa@iK_@R!X zn9|Ea0d~+(_2Bc~-5UWA0Rnth1~77C5nUR5ya_(0Ydfl9ds7>rYo14GtUWvD3TEO{ zGeuon@g|X?EgffDM34SP=nB6QX%#iM8lSVAFgZI8AWxPg^?rVmA#8&R)c}LN6q6Xr zisuU?FIKp$mUe%R3@11u;Mx{l=6+|1V(UWsZcy}}S(jxm_aR}ssm;PTC|{)vc zzE)zopN>U&sN8>LF=`LK< zqZE!*FLdEKH_gRb&B>@4%nvG`B}DlJj15ogczPg=3f3nXM!e8PYL~#250WX;$=Hor z*ZfBM0r5S9+@J45SyuFLLWXrwUlD4+?@4dhaaP$Bs=zO$vV2#oLy{Gmjd8{G$A-GyYaWnp16 z90@h4m&;mu2<@ds8-Gc0TADke61=%Sko6Zu6#>8vcF;>JrI&g*5c)7cEag0czTV`B z0u(UpA9ZKPPgYGh=67nQ*E+%72dHIa5g3adg4>}i0T}(*IvZu_p_M8JbNsElIvYDP z-75yvAIrgnY8(p{o#_l$A3K*&~A{#)1^eS-REh3P#V&cMFzb3>!hk8>kSirsPI znSL4w9RG(HSCK-KdA9TY>n}P|x}|TM3#6A1l!`nMZTu!emb5s^8Zxy+6@+t(9Y!O< zk2f}haZ0qJ9RhCJ=Drppqxj)LlIMnBR-E>)H;h|+r(A4jyKX(R?kOrxNG+MyzG2|S!*Astq*U1D=$-h zz*T69b{P*>iF7yhaj1Fbhx6>k9R8}^m2(3!fIquyG! zd>a0XOP!j|Y_dNgtx(xD)AQoSjf4@7>){0CW^fSgF@>M1CP%WzMzr6=&SS*|2V7yi<3Y0bgQ;x6KP>nzF z=33dY!q*GZDJwir5QI%Z*vlRTJvOKLQ6iIQNm9^pcnIPl={vaKfaZaQ8gm`iN1!BE z%c>P!GKXgWMb<1W(Q3OmW!ZTA?&>d=}in18H&-y=(A4Xt+peyNdVu zWrHR@m=Rc?Uvf0^vUHEaIj(^tQy2n@F)tJqYbeuJGj|C@q*XhLww%NPb3^aqL1A1G zUE(2Q@bd89Gae0A!_bj*lf>Q)c)B;#Y> zHbEuLZ_}aA-RrF`%tv0C&Ds^zD^`L#R#A3<=Bp!Kq0HDWt&AXq*j*1e1>LuPwhYgG z1$JISWSrG49fMlLm*&m(Fh6@A2zIv?X2;FM!%5?M$0M(V1Ef=(`ewV8&X;w{4Kn)4piw z=~|7sSc9W)8)H;_pmF9T+7Z9tzs*j_Geg^=1e%8Qjss&V;=X&nI-2BQwhIqiY?`(A zP^lHW{iYxz2jje26xUotkU0SVA{X>3JQ(vj{E5}IK`7~XDRt^*A8b`+sVH)6Xw_Zw z(TAe@O}WWH2%g5kw%Zg?L1wYMk05c4>?F4y>gO(yQ&~cx3`&-$1eqCPnj?RMgpk+{ z1tGH~`=9r*i;QXQ3DG*2MZ}S*3)<%I%5`VN_aaaiV!<#nI5ubNga(YVc~N=@S>Zjq zDd;zG2V!cpXuBxAz}!?&#*!eSA}XUdOL^=#zK001Dwo7`)Mt!J(=)m?*ePu zMdzY%#;G>XPd&VM0Ieyc!X>2IIw~4p$Ht%y8r(XW6o>oNzS&4LF4y_uwPbmTIJOVb z%P-Xk+LpCIK`>)qOlB$>bI5V+6N*YK-qUkv#t#zgXzrmqrNip@*42bo$3c~W6j)Sq z`x#nrVAB090w-+Fdq>FdkoNyk_3iOY|M9<@&upX3Mr0_PkZTONRANJjE^<#|bd#i2 zswHL@_bw=+tGQo`?kbnfC8Y}$MHeeFK_Kss$ms8=O!pE!RrMUdl_T=Zrml!tMG^IL{V+L#b{TZf}teAt!4D6KYwAe#j}_ynCYTfFZ$lGC%B_Y%kk6{A%n32P2=cs@PDuHP7i(uW);*~ z{z;Hv)6T#Fz=ei!;3Z$nLnr)*v#rsmZ`uH82H1ENL1RV082|>JBH5clcZQU&sPwQe zoriFVnOvCN8l~K#)OD45@QeY z`7xd=q-dZFvhXVKk^?gIJ$~bfg+J5RbV5JBqJhvBn+YyWi+wXnLEw+Z?S{Y}0IIOJV zKug;-$TG*_V%N$C%aasiW|L}6vE$orqqhp46faaO^t>y}f4>R}$4Aej+ghpU*nzjA zNNETO<(;+D`!_G~2BZ{puICcwyL&qEFq82#&TlLHPE;+ixc___L)Fv5y+C(56lXu= z{k)cedkNNO1MH0+=%^H#9J)=q2M$>l$upp+Dc<|R+#XOZlZ69*X^!Fx8w!m;gTwMT z`0$u2%pI66vAf@2ZRCfk_T--ib*X70O>vZ~?RT|eN;FlyDnIX1lk;STyU}i8H1ylS zpuZ?izWUzy`gg);>av%v|DgT-{m;}SM|Z_%3HOQSSI%5CYv>Eb!3z_WqbnEF?c93r zJ$kU>G%ktk%9FpXrw#qa(9^@fldv_7b=J(N`X0A2d%2V_=%Ssn$ze^6XVx| z(-V!+!wFLO9qof&^Olc%OfD|8f@pePstrxi!;At!%Pm5YiQfCpO{BPutE`K?)B{K*yylMoKrSY_JbyVw?crB&)EOeC_&=g)ptH4L_ns zv|0pr1JkTnvDzN_H3-9gan1S0S(Ry?`pEBcc&kY;@7LoefNv&jtX9ibZdz)lgsps$ z{`RT5t+URVU*Vcd@Kx;-(C&iX#nJaq4kXn#-g23Ed`jN==SM9lqe>(!b=CBHhMIS~ zJ|A=i*yiP0&0fw$vM05at)j@y|=p-zk1<8HYXZCOnm~B}>jC)jS0ni1tgppwfP7q5K+3YuzsM zH7tJu@jx{hvCr4hY;f+wcK4Ir@0FX2SpC6MCzow-f~}J~4c{!Gq5Jp7xZf@)@;b4* zPFxC<67d`Yaz5ngHb?;&{*`GkezNS&=13nXZ0vZ^*FtFnv2mS7CRd`bPBYpBo=}EK zM{^bAyughYVSV%G3WZUA;yw2R%Ih^DgtA0iWpxT%c1%$G_|O7j>2)$W6Bvj(kdGFi zW&B>4Gm*8Q1qfN*X?E8i`RSE5!|V}DfS2ye1*YZ%CKw072EKFfAj;(dUz8StfQ9L4 zeV%RS3b(7vp(Rh!{nYuktb;$Vf<4&)09J{kU-QJO+eax3w534kcmUKfz)3@s06r@w z3V^|UQUKEu$#Dp%j2w93B7`oa#zi!2Pe|N$5&ZGTaExYUN!#Kmi-G$pQ1Ei@p- zD5-dt&bs!EgR+Q$HKlG{5cj{9yU|SM!1)Jo|de5xCOi}E zlq2n|YrPKHBtbpupiY zo?^39z#7TMkbo|P{4Jx;9hTn0{YqzeAkjxeuzPgH`(PXF{@ytE(eK~;yQzP@e4549 zNu#K}AJek)MXLrU2Wx>6UIP!%BBXib%o~5wjMliRToI~mQ5?NBW$Hv9y;J_A_w?`^ zW%j+nR`<`vZEoTIxj3K7zK)iJ4$F^}#{03SllR++ZGL}la8fEPwlYu@Jd?YA%rfkr zUgEKo>NtkhrsC`Cb`-z+?7&rjI^>eEhqTM^(uWcgz8gzaw|zQbo4nOV3RuUgMYiH! z<3WKb0cyQ%2&E*9PdsW89S|nt1&NKqJei>kpB%a1@ZuBG3?_XS?xzP7NS1-)@w|(H z8*bL1FGmOQ6beu+tmUAwYyfOk5S&LOOJ74n>7Elk$inDgandL*T5t`-M@xyyqQ8t~onC2(1*&p#5 zzfgb6q;kDKy+V{H*1b8M7`ZY~zo659ba}afh-LeI`Bm*vO=j3}krV0c!wWHfCvNx% zw$OYaoFFGrS*-2FbBh4M_Y`m#E7D+MvI-ZmayUqlj9YBYIiP8l{oov&ml+DAWc;x( zJJqqFLw6_)-1pJghV6l-Ei5tK2)x$?JT;FjODxHf_;fY=5^WQa@| z?6`=Ck3-YC-IMrj3t}t4M9DH>+3bb}xF=Tm$AO9g{qVC82k}J<+DovZjtRpZV>egA z%XPe$Nq%j`Op4rnpa;0$j3+LSHaV)n1?32EzoOwZG4XLSbxV+aZ2rie;ZV>Rg47T* za39?{m-B`!NmU*7anni@g*e!uoOX0Vg4m@04jaZ{tZb$o30b7J8 z_s~Ai)b6yP))r&m_jK;aG3Mdi(rPxHl=Cy@Igi+>ehLwcK})l+icWdDM=hk%o0`bK z$F?Df2$F0;4EW+qMX5f~ga{Tixrl`HrTb#Zp4o&hGPQTB>T@_il&P*D_Iu7)t0T?tl@Vtqkf=`=+gI-Bvt9c*R3tmLZU1)^PjK3@|J%}_eB)#Zq6oSK()Dew?E zNRVL%>sJvKoV+qip(8uD_&@cKmVF&5&Lf=OF!4@j%ZNJ!iiCLk5Pk3@H!yn47jU+l zG5}VkA3AD!V#TfiA~8g@-qs@|s4Bo-saMQ+b>)FDN6dD>@H{@h83HC8%0s^VCur0U zK~fI?EBgYbNB8L76#aX5<$H^j#kFUyUv!Yo1mlb%MbUcjs_m^2OY}mK|$XF)F+=RQoM#Toy=7} zY8zZtrLi`AGkT!=thjHC0k~sRT^L>*Azq|J@lWk~=!pE9{doYnbxr(s;kCk<^X%Gd zvWmL}oh-yjW3$ev=$ACs2UYy~mc7G?)!TPmcv^X7VT?;HHA2JA9-#`7x(=rAw9cB~ znu1;};_-72NKKco>R6bX9;*I4d}+D0m4U+Hw(v}w{Xt7sZ<#&S6+(!L+c{G>EH~}m zI`+WcTYi1~`nL0Gn8)eD(l;y;S5D&;b9!3EZGiZ97sRX505uaY1flq}=$q@QJPZZT zv&r2#bAq$%e6dy@S`Qj$__)8+R)mMLMZNn#h$IIe|MMw!T`53~bQ1MxJg*{kk2N!1 z4%|+o#bBC^u>X3wdcyCG7T;ikpz&>e_lh3;fT z21F`dG6*ujTuI$2t*NQ&MAqT?8~z)fy)6SYGi?wIf3K02$L2*b;_xnoi!T@8uRAr+ z``g8qP*`Ri>EN+SMLEZk4%-}9u{%G9;Qr+Ts{Fe$y(g>vQ<&$8nA9_6{dUN=Q_)>? z{~eYdDxGW`KFhCOitZ zhZ63j2c}vbSDa{w*!Mm4M!}Y=00I2#1Ot)Wf*~-H3Z!Og97JR3rA6{Ak9*YM>$T-@ zUJSI2ATfu=UyhN1>&3vjUJ$PrvcMB2^uQ+M@*V~7K~_s)Fyy+KT%fd#ot#lgzHsZ!Zp3-HB6yP^eu59BSw5ujZ$=2wuUr{}qR z>Ioog#Qe6$$f{(Z4AmWhVUE~GScSZ#Zsyci|4C(aj5;Ci0fix*dAXiQz8 zg^R;<$J#q`Dv9dSljBllh`D^zmr`q zy{nOH^tnK9DLs@+B>^sb%H5Xd4tJ8DZVx1*j2pdbI_fQuus5cJx&|+2@5F_+%m z?#)AfXGitvWUODid=!%J!pvM><5bosBr|@`twW4EDUlt8VSz zQUhA)5!W`$S<~^@L#EaY`d3!eYlL}VX~Ze@J6lQW=}UxJgC)ub{Ra(l(OPE94t-nF z+PsQQDY2}qx_a%EejY2_g5DVCZ{;K`4H+SLde^vd8}&04mS*^6q|C3Fh&k@!B*r@xb@F?&vrI~8B%p*mua;! zP$rmr?5^5Ec?nACB>wTx_F>?jqmd*r-i*uVd-{E9JQUxY1$>PdU2Uu*>t;htxUf zOtgH@8Cxuq73hHa$BPPqSEF7n3wh0>_fozed=C}PugK_&9_v1odfuQeihb`T9Xo!( z`FrApg?XpnY-)jCENO3^)sdgkclN7^Hsb-zhbDkvMoDTrmSn((Q@%Xzy64h-84E z(TkSCYxxLbqsIU zT&0(h1N~Qj0?wojCP7m%9%xW3pz_GMtRtcA14)zqC1#i$@KC4O7*BH;9}~bUP@%fs zO1&V{=i)|bLz8p{8XE_GSYnUBHYIfkvt@WCDbc)K#g|?Wy=c_+0Jk5&cG)!unV8EW zMn^(agwbt{`qCDV(lir~lqsHYKEohgLGLgpGD8czaKA1W4ffKOD+gQLS-nWjQ^_$o z+~8e(ij_KWpl(NpiJEfxf?9{-wzFHhtml_vz&X zr8o^{lxt54!TC>5kl|so59Jld504aM&uXd6+7?~Brgk#5^E@hY?E32(?SmrhdZ*QI z=$;QgPp|y=YgAa8B?KOKjEx%H)w6d9{6`WtMThD2-7 zBhzv-2F_}B2U2_4SU7I_)SmQry!%#rc<+SV>n%cUj6D+5oHtwxo`b{!hB4^2p~fAt z{+NCCq_j82h(m-O2Tr3{8~P8!4~;Aa8kZr57ml4EM_$SIV2Pg(OhF!E8sJwLAGR!f0j1!L@mp-W~_a zsAekjMc)?;7z@ufBb)a~cASZRH&)^Gpn-d0jo$_DqwZ&0NVeM@jBfu@8ty-$Y`(3R zn{Rnnx5wjgQ-odi^jg@V)nLSe>)bsqKHCzCxD*u9Z(ZrBn4Q?7+>0s;$f@r7U3DbV zK%-^d^5`=%lHXItRMuXK|IYhl(vD_28~dd9oY7f+3a(F^h?J zI0zXTnnJMg$=unFM>A>f$3;P+5>S!=ro9XJnK$(AAS;RxsCAi*2Ix6sc$ z&K=gV0X8^D3LEzd5!)!YT6>#(Q3|-_8{2cYZitQI-jEA6skD#juG2m~(#FkWfZ;H1 z9m9y9rlEJYRhNzVD;P|oE8Z(FZ0W?s**BU$H?ZqoZGd94&ILS%>xvK7(Tz$# z>M^fJV1|08bZMjJvrL);8r(vYLHq;Y909}lY zGCPmuRtOt4+XVAd+3V}pb8imgSR7xo2^Rx8}C$cz%oS0Z-7%vIX#CP-D zgx>vw2J5JN4>^alsc$PEJ^la(-7M1eoG~4dS~1PJTcpL*&EZF|?k=&hIAcX}>d}o# zdc}`uzZ<+dWQ!h?sder|ve@VNQhpzJkmo(W(sq{`Po26)Ycp#0+6_D2sNy}eQQBeU z9S*#+35vTI!@zj;+O3B@0G(8eqCIN8O5TID8u(!Af={IHa6($8jsAHX9oxr#kwzQa z^Rpz|sj$NyYpg6V%iwoBnvQ(CXtmJxx3B9KXKZr@M7e>#oJffZ4(^}DUQEAe5FKv0 zj))Z&_HN{aFDE-8JK;^z&1H*s%X}kJ?kqK#b4B)a-+bnJ$Zo!|@zYAbb;_GKJ#_3@ zRK?EFBqwgir%xaHPGMmm!(dV3pZNk+-{ZUD6~fNs$xra21!kTNCZ;MM$evkZOY4nh z)m&_&VQMgvb`6c)1{Wq}f~#`hX`#M+2WdGNfrU=Q;b3F5A_y-fME4e(xyzrGCp!x( z!3p*NAuuH!-+EbK6k_g7qG7>hM;1-$1pefUi8SyZ&WH>l*!Koquu_MW}yMQ=*|3VT%}4!{N`gkwA)TA)&Dgki-(^2CV^%GYc~3 zKP6)+ZHs1M8|eVMtsSbW8UQ@E zCPwdJ?Fbn1AbZz*9dRilN{tM92`GTIBTwdX-z>5-0N0wFiLqw@0Fwj=Y-!A-u@@Y0 z@Wuo=f{&BnxQEt*vbTB?S(9G@zVaxh8hrM){zl0npRY_6(u|PWhpFeljRajT^Urce zs_W}kgK$n&^Ywh5n1MF?K?e)*XUB3?{#H)qe|SMA2Hw02O)K=9Tc3O60-b?-Axq}9 z5-r4;CBgDKnGD<=p(T%n*+mh>O!64GDgg&QPBQxKETGFg1Ymdw)g}S!>5p(AQ`KCN zrbVd$TPz2DJ`bc(g+W)U6GWl`fJu0fwevTF%EK@4Izui^kP$H#QUOpMnaX-~cO95a zM$yKlzyNeRTQsU#XJdrOyW^bq)T&GOl~d8=!_*adaxM5PjZ5iy*yg{IvOpvp5BtP0PxN4*_myJIf$C+Ub}iiEhaiud$uK1??MZdni*e+TB@ z`LW7z&VPwvPMG!pv3}rj|3q<5Hp8h4!Ln2AVmlMMNS@^sHN01 z9JG$fcE4P?M2O9@iwi;JluzY&`1)yoUoI}qZoX<)j(>ipd>;l4hxkC!l|@IXLo$%? z-yLC?5NuH+*hD=Yb(8;WvmD|$==oJ3*LkV{E~+L*77gPN7ORZRwu_^4&+{ibuPZ-r zcO0w*2R?nEnoRmLotGUUU9|jmB)DVhW{CWH#7VH4#4ZnI?yzK@$npV zO#Ze~NeXi**&g?YrUk~DDYkmxP;vw-^!)#wfVV6LIy#bk?2#IfyuPPu?70_u2gcv+ zrMxss+L$WfpDqgLy$N5+5;uMOZ-^Wp43Xp8 z_y_YY5{y^9JNh_i;daAVzV8YbPq~eJ2JQ=}I&+&73c*w}v~2d;p&Q8WCpmeM6-!lL z+v>->G)>V5UpPd7X!ZuOd2)C*AI!d+h2P6+b;}-di17rXyZgTMWnoJYNHX-XH)v(d zVgHO^aKRA-RWL|zp3Epm^Mzmr-66lBV%i~d?TdNZsDINhTFJ{*3|J-kNsm%9BfA%H zkkpWD#K55zZlcmyU>|?ew0P-VM}@W-f~3bBG%ft-g02L@csQ>r=6ft=J7zws4 z*{A)z!=%I>H^Jj;aY$2D^nR42t^y{h>8B__H=j zl1WP@ttnrws1`|he%Vpo|1~Y*oKG^F_iJiN>d$nXlkQM8VR}UCtE^o zW4PE3jDGtJPyf_@6C8|jf>IyNPSyHUTOw;i&anWLcZa9xE&hi)t(fmI|2^^l|6p~P z0L#w<;Db^E?qRN>VS>IKRG@G(Xy))e`_5K(YsUSc56--UN2%v+WeWA6G@0zEa#=-7 z-f&jUvRv7AR2M4vJkz#W2?`#xp zj=h}w7a1-xjJvf3xhA{rk+)yynvbRNQnxGPM!7e*LgpB#16&rz;l5DCj>o`UHB+Ds zwSbXTa1$NORMdbMxZ>DIG)`}D$xOt`p>y{jgMpeq%TdMU{=wX|y<;yH1{TD$CD4A> z8jYkCd*beB;kUaF*B{C#j}B(s^qNnWJ{TS!X}xBei1*S{oXI!x9}u*jFjd2GHGx}Cqx8dgXhsP zNI%$S2MnAN6()+@KIT@HztZqG5&k5DJ1WXcJ}4xtqDk{5JMy93$P2%G_rH}7ym@T= zsFETnu(`{|*9m>_60_MwC2`Ni45^(Dme_lZ-hWtis`(bjeF{Q{+l@fYXbQ2c`u^Dw zqpQo!Dx=TcLM9*Qq4FoaG2eJQD zAj#M~-C>sl(CD6FJ*6h{>^H0O4Jh{%q%7I|$nLtq0UWIWa*PF6LnHhNwdmS`k938Pr8wx>yTPX26=9 zyFI)2pxPPW?bZVl2kJ~8h`Ro60A(0-&=Xc~kP4!)sGe~@iGD4-A~4WWTOnL$GCF4D z1#@r+b_lcNU52_|Kz3qN(t~Teg*G=dQui9})8BA|6>TrcNR?P@a~9ej`EB$pCjT|% z-MZc197JV}@lRUR5A2^K*njK$2ivp%?p4W2I4AzgYoBa%_0PxDxqmoTkK1>J@?WuF z79j{N`eQOdsJBZ`=48ZxVM@XS;1K95V0p6nNzMF7G}-~P8h|fXRth;G#Zb<}`WMbw zpv3x@)*=Mj!hCX5b07*gB4PGVpJeU11|-)RNZbKlay3+65wPa{-+;GoJt~6kd>cBi zct9P5IzDQNt$%1Tj1g2F0#%%hcj)-VmLV(7@bUgx=HOrm7|cR zU-8CNEdw6+d9q3@K?Cj8MBP3wW4iqzVD zjL?4XBbOzC$nG!RY4pGq`c8PGxA$k3bojF#AZO4$5!H0exrlQNMx+i`A$HyT^3|>G z&0!}ls+rwW#n^OQp<^$}E7KEoPWOJ98S2#*S02*Z*cJ}&B1;)pn^AQ|pRaotI-S3= z3fGI#OC9@j_+;)Dq`RcH+dEIyv^;lirFoBFcUS6aXp7uIcEijnXkR<4N7pi9XzNB6 z=c?-f+pvK|&TV|XtUEZU=$f4=0!B;j|6AWQ!Y;a|#JHz7e$2-Hwdr0>m6;`+JO#0i zu@oPEhjvf~$b12a1@ZNr4J-GSH)*God>rr6fD?3f(5vWy~lTu ztyrem~=dn5PcTZUfBbgW;6Npf@vQ^#vdsY6SIA~OEc~KcxL06dKcB5Nv zafg=mAHjKf8&fK-tvPU^QixPI#8E!&@h;bg)HdKPn+1fD>=rA*gprk%(wxJbT)q#G zfJzvK0U@o+Y9rRLr`^v`Zg18}49v6-5PmG|5n_`wVBPks?F7v4ErW{(6$cg1co-?W zHkzo~N1Pq`H?~#1J#G6A@owM+QAxHDojpE_kFb^b;D=^tV!W=*#}udtuubYaB2?)p ztCl-gpl~{%uqjr}97|O$)T~6cCUR?b&LG%zULnNh^0 zkWUKbr@CpBLM^q-tOE7mHIDvl!RF{C5|F`4Yxf=xs#m%6d#9=mD7UeOKr`Av;`;kr z#+6(zDFjcP!Y<%Yt-z7oS#&0c8N&j#aFFQtCLP$P@hfY#KFIKBe!cV1#HQxLT-36l zC;aHikQ8$&$$76q_sl_6FS_4`p&FYN0vo9j%Nl+Z995dL_-Ev!9?&0{$l@C63@i z{Lk5Dv@?3;7PBU#vI}pG{8xwI5h|!jfvYXi{0pXdS2IE!=Gc;~i1D~v@LUC0V&{#T z<{frEOWKG?u@rDFVT}2Z0pmia)Vr}lfMbEfCTjYki#Bd=`Qoj6dlS1}FHHx7SM52r zFK&dCFek>n)`Y_79xC*W_ch;k!vk;Y#7TFY#2U=L7+&Y%3RN2Ie_DLow^eEFx?5^> z*qq)H1hx&~SY@Z?{rZbge&8G0Hg)46d20W!1d|6%U|*02&&S%ay)+VZg{_dkmVV z6<5r3FrSL@vM^T>0M&qo00evLk(?Jz$=3mzpX6ix9ih)Qs%`uR5Hv>u^ut}&gVap1 zh=Ya)h`5xWsSBwZz~-ZAfUP7u26#`l(wxAsG2Uzb0o7AO7xYSiPlbLYn((#=n<*E7 zL&yWim&fg79lgg>!7c$7eH%#8SNH-53NI^?MdOyj-EHp?&0ufG93Py|(N>JQz}+Oo z0F_CaGg1X+U$;r6+Q)C3V62c#qaeKRBA2-vkP2+pzKS@baWJ z*S1<)Usj&f5CQS5$nI^5VM8*wsvn$@i{Q=-0fsq@&yL=--z5HUvRhk!U-eZ#&jtL8 zg^-#i|MgK_(#LjMd;r|Z&GEt~SF&i}FeCu#=fVMoQ+;JEC?WU-Azpw5v!1#QkRrvH zrdV+)*-6h&(J&6k=zz70#Z&9`=C}wFRRz`UIdkvHAISDwtb4f?GC#WxP=xDldN=s} z;r@024uTC@coFxHd(?vIVS|e`V#m2;Rv`G+BH>Hq`=^Q`ORvBrS~bm#y?LKAD8j%m zZd>itFs|BOHi8lS$XtN$G>BCrKd!fhKj5s}cx`&Hx$0f7=5WOl3zM8ZLAxElUL;Gl z8-(9dl1v&)#sB!72zg3pkE>Ijdx{?@S-2Aw!q?S6Ao~KCbOB5Ug3)YyO#Yrs5w7s# zDz#Qwc~(VWAQOZY?0pqbv7(%)2(c&Ve9MDqj}ELWE)t2Iwd1JTN*|vFNnIX09;o@d ztogW$<+qfQPdUWZ890g`g9U3>PWH5*#4I&S-P z>P=ySesHMvxNY~Iu+6ltI*nj?SZ=(?yEXz%iv5SG3l#6A4G=?X&-!DX@ZycH^v!%L zpWX-w4WRod-vLXAkeMqo>0i?D;7&OcDbTsVC$E%RsfdnNuL;&q)84*Kz4LuV7ppq1 zobMA=^lo##hPy3lR**l>&fmsWPskC~?sSuu)qFxn{ngcJWOlX`x3fOCKP%lmwE8t@ zaV56@aZdhyFYd{@u>6yr$5~V>`mf(Yi;!67%b))ze$cY_z`-S3foK?0GlB?-?|kKT zLh+o%+K1b3De0vst|I>PmponRlDPc%FT441t&{LpXN`HX$)hzaY|;$Is@rv|65paE zeqi6;T`Jw-t`|2h9?UIH(%0LYqj2m8XvG^1tTF6&H?g@bQGm-XY9a(65CYz%W`RRk z9EE=sqE=+$1VU0Mt3v=rn=vttl4)khdUVLksgmudIBPX|PN4kG++|-hJG&GMZo)(K zUa<}=Jhc$sw%q-)Pyl=6H7m{|F!giajwU-@_By1}4Y>M+tY;p*80JYSt<6{e5Zs^s z;o;^a@>LxbH=&lp=WOmB&c!!N8-_hFKAotR#c`uLy^;=4Ocz{u9E?v{OwXA!IpgEO zRs@sS8eOM^;iAb?4C?I6wv6+2hy0~oK3Kr3bZkS4oy4S#G~zHcR?rx&|Ed@q8%J>G zTrp@zq(8>7FYl*I(=cYmKhU5Y|>w znlU@2Xyld$D(;d&22vv3;L& zWUa+&V8}Xx6851rR6RA%38N<`*O1$ZP&R)Ht$=8Cor8_HXKuD|!whz6o7|b93|JqZ z<0xV?F3ShiSoVabJWo`keA)DbZ~63u%bMO*%i3Q!JX#tUL^G;BK6BbqOekLIXF9(Q zqYqL-xcpmqUrT~^#To~xJ+e9C!rOEC+~BMo@DqOM)ghWf-xFK5{4N}MucNvD1L&GO zle4|&jh{oP{e(p5fIt+~2DOjZ1SlC?%GaYI?+vbRf3MNN)HpJ4F)6AUIr;J1vImHr z`^*k}E19>~y!@)@+rc6D^~TI?It}rPdxa_BXrB21yqtP1;GO+dhlB~*I5yUuybs8F zc7=7#m#i-K%DEMTIeGiYoit;^hBD+Px3jl>4_9}`^|hrsqn(ftFV1!7%iXuwn@`r2 z#Kdb%N9qwFIRXXWy$1jG6ccqfbAR{^ir%B4%IuVF2mUGND@OGLyGKDQ^IJsH=?DPm zllTk*1aDI18Y4?SogSQ6RAon$72(4`yC0!WOSocD9CMimDA)2`Q32+FYmg9$Y9W=r zfssiNP{Y;FO(S(Hb=g&YnBT=Ag_#l>LjF=~!-W7&cd1fCSk67J{&jm^4aT6R$jFH5 zd)}m?IJoY5qlS3DzYPX{$!blK7%RVE)f)N2fRtAO|CZmfll$6ynZ=8%?j{=FI9kF? z?lu8^`NYYGxW;$Qc_$%>EOP%hMxCSa25nu>~2oVdm)#8gX-_+eK z>Y7%IIE(~h-J^@~UOHSDZAE1e0#75Ooj?Gpx}aNcl)`dwV9X`&a(BMC86g|@%mxE0 z0ClfJj(`N&<|Tdq7mZjq%3nGJ973}Oy!QRePs)m?mWdJMV6Gd11$4&3R#)m*?g4YMqx2-CUH*y+LYjBbr_k9W+V;5IKDF}w z@tde@1#i$wA$GYlk59Km!??!z!{5f2L9WXkOPepNu)x?B_m(qfa$po4#zV#PX}jCw z9&<$$C6uVElx1j`Eu%-K1v`q2uPqABOJf=Fenxa3C>TwNN4cTKZfOuX7&9}>=n4DB zN}|bes8enozp2>QSaGPxl{>D6MmuTF5 zG*A3}Sxm^D>O6Lyy}2Gg;((eWNr+Fu5mkYM=)YMuDHBix$!oyg72=k_%TXi=`Q9c6 zWOF$QkXSW?uiej@3^=vSrNK4*?D_-b{jzv)E&Gkhf!$jc&*ZEe+W6uaGTubK)`FS` z2rn-+?6fa`dm(0429|j5Na$Iz-=?Q-Q?LpfFoFIC+Oo!4 z++JMUXp(tE{Auuek~J3~2%3BeXkf-yves3&9Sx(90p%Bg2P4wvr*&8{APktu=#wX` z@7@SV`U#HWWDu2&0F0^;#bIqGapbj!<+rl8U=o2o4q$;vP@o1_BrKqJ)7Lf#oHWJ|l_)*i^N|0CvwhYn?kf7cH2YaGl6iyik`?%L$VWcRi|J1PeZQ!6VLrvH0PjqcFu{Tych>z3c#&2A)logp}&hNta&3|=6 zWEm3TU7qypJU{|42AvSUm^SDksJJw-IIhxYcj=8aNUUm)nl(V8o*Y<6V_z(U~kD!(H zC}2z)+;-@3q3X_$2hYc(cZVEU7Sg&P8%MK&blfdNWqua)>(=9`*)OD>1amVl3GZ3j zRyM(0zs9}!#=i;c!LJ7VFYTS%T0aQ>=%nzw3Z&sjQjZd`0&R=V(VBb6C7Uf@k59w1 z^50(nw8YTI90--e|HY<&!}j$CpyJMt$I7~mnktZ|jtG~?k;AC-$xkcp=`QHh>(wjx z+Dk^PmR7MYA)lqen(drb$}L;|#4j`UImmft2)57`>7nnhhPDnddf9pK_=DVft&k+$ z5QP@HVUCi^k@segPA|=TbAW48J-O%kj_6BKS5sq!x8Bg!AYmf?zzY}$1T5JR3d2B& z?A1ZTDid14*H2zB0HkH1}d)~G0)`J`vcUZ*~eVMKU% zds=FT(csz{J&6nr(c{2n6VqF!W>h|9x!t4y=MQSDj-4R?v=zbdo~=Cg!oPT5cO}Wl zZIRLzI>p=^#8#NsV7*P1>2r2#k_Bv*R=IM84k5jkOB9bpbI%=Vp5}fj_>@%H3iUM@K#>nSC~+qoI$vjt z^XeF{PuQ32uG}{hz7^|mBZqg-h^tB7OA}z?sd;Cv17m?mfZ3qay+iWByO~1NlwSQ; zJz6uywQ8y-i<5){L@uLFNBTr6x8xnH$h+!7y*pAcyy6`{idpV?^%S+kNr#^KIz&a= z6ocmSMMpQn@*y7E!b@v*#;q)->Vb=Q?@&{4;^BTD~Baoh$aw1`OfIMj=>W4But(s;r%;H;>%N8`M2| z*z{5O`D?aH*4ODi`$mAk!Q>(@>xVh2DQ6TAXU7Gm#_1(A`MVnW^NLh}+2 zhUfGzHdoHyUJh{}RrOEflL2IuXcQ}Nqc6nYY9u71I{k&EY*@B_>X43nV3s&p-&n<7 zw`w64%;VKpAUzeN2>Ht$yQr|X(CDh$zM&Gjj@NEqCe7%=RrP-&TnB)=(4-6}0(m+X zUTMTs@MSo9+23~kzLe!|k9r2&iWi6!La=Z!E(xXJEHVm6%t)gYO0veG+_x4;tKq>w zGVsgvMYxcsp`pnr6SiT0uzh4 zQp0C7_P21nq#kEujleYMbpGoMwI3`8z?p_>fxn=pjImRMEC-eLf&BELGC6`g2&RvL zi=zs@+7|8P1>TCnUyjyRfjPpR%JJ;0+H2N7uIZI;{L0@bH`HDqZ^uq$Ajbk)O1i_7 zd~Ls6SDqSWC!M#MeJ6PM7WZ!9-RlGYl573K94_SF@Cn-v!8cE@Vhc%ch%DNrT@lj| znFZR7R2IvT%6cU5Ceik#jEg`HuqK~aS|3cpW`j4%at zWscdqE^S|r1cW=%ggM05bU?2R3U#*+(0ZD)^ULzX`+fgeZW+XS8(T?kZ~x+*Z0=^o z4)k$NgkV;^!IjqOIj7UOy6K7KislE%@)D1k8_6S!V}2h!R6otMGo|!}dO6NbOdLa= z<>iBBH4@X9!~un)RX4OJN@w+DLL|kiqz-nyEKLBiGF0fRNNg>ySSXS>gCu^O7uHRB z<)b#D}t?-F!|Ih{BBgGhfc}B{_vVeIUR}`B3zr z15Z=ONil4?anP>enz3djTp;gvv$l9iPKT2GSKE1)v^Kq`t4&-@pgpxDAYa;CV;EZh z%=b=rxXL-We97*?nMeaaM>wo~Tgm##UxKmSu6>uQoa$ytP)}P$%_oAPy-xpkes@`Q-?`vv&p> z3Wk@;uW_Y_iD%P57aBm=Wkg?fZX7=4YaeI=HMFVX6+d{L`sDg5(3v#GOAHCoOVb}7 zbhlt2&-X}h3zEm^8vs0Gt^zAG1J<^3I$5Fg9rmsLr z4t+amHlpfFOIW8D6oFUc3KqYwsy8YoBPADVzP`aX90BUn;EG*=3()RJmDVOov;qhj zSoqdL$x6ADN%uJ}TpdQcpf_NU=H+N)dVpegl&jjZzTbY!HfAK*D8Lh&y1cmX#oV~29?qoquXuBLH&6;V12 zIV*HjiOnHJg`#w{k&=|jX^#6oy+7aI_mAH{y}R|E*

b>v~?#>v~-Ghu`U4lWCTh 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 - -""" - -import wx -import wx.lib.newevent - -import os -import logging -import webbrowser - -from .. import get_data # used to load images and files - -from .. import FaceParams -from .. import FacemovieThread - -from ..util.Notifier import Observer -from ..util.Notifier import Observable - -from AboutDialog import AboutDialog - - -class IvolutionWindow(wx.Frame, Observer, Observable): - """ - Main Window of the Ivolution application - """ - def __init__(self, parent, title): - """ - Overrides init frame wx.Frame - """ - wx.Frame.__init__(self, parent, title=title, size=(500, 700)) - Observer.__init__(self, title) - Observable.__init__(self) - - self.gaugerange = 100 # max value of progress bar - - # Sets icon - - self.SetIcon(wx.Icon('ivolution/data/media/tipi.ico', wx.BITMAP_TYPE_ICO)) - # image = wx.Image("ivolution/data/media/vitruve.png", wx.BITMAP_TYPE_PNG).ConvertToBitmap() - # icon = wx.EmptyIcon() - # icon.CopyFromBitmap(image) - # self.SetIcon(icon) - - # Sets up logging capability - self.my_logger = None - self.console_logger = None - self.setup_logger() - - #### - ## Setting up interface - # Creating the menubar - self.menubar = self.setup_menubar() - self.panel = wx.Panel(self) - # Creating the title layout - title = self.setup_titlelayout() - # Creating the settings layout - settings = self.setup_settingslayout() - # Creating the buttons layout - buttons = self.setup_buttonslayout() - # Creating the status bar - self.statusbar = self.setup_statusbar() - - # Creating the main grid - maingrid = self.setup_maingrid(title, settings, buttons) - self.panel.SetSizer(maingrid) - self.panel.Layout() - self.Show(True) - #### - - # Defines all our parameters neededfor the facemovie - self.root_fo = "" - self.in_fo = "" # Input folder, where images are located - self.out_fo = "" # Input folder, where the video will be saved - self.mode = "crop" # type of video to be created - self.sort = "name" # how image files will be chronologically sorted - self.speed = 1 # Speed of the movie - self.param = "frontal_face" # type of face profile to be searched for - - self.in_fo = "" # Input folder, where images are located - - self.process_running = False - self.facemovie = None - - # GUI set up - def setup_buttonslayout(self): - """ - Creates the box containing Start/Stop buttons - """ - commandbox = wx.FlexGridSizer(2, 1, 0, 0) - - buttonsbox = wx.FlexGridSizer(1, 2, 0, 0) - - startbutton = wx.Button(self.panel, label='Create Movie!') - startbutton.Bind(wx.EVT_BUTTON, self.on_start) - stopbutton = wx.Button(self.panel, label='Stop processing') - stopbutton.Bind(wx.EVT_BUTTON, self.on_stop) - - buttonsbox.AddMany([(startbutton, 0, wx.EXPAND), - (stopbutton, 0, wx.EXPAND)]) - - # progress bar - gaugebox = wx.BoxSizer(wx.HORIZONTAL) - self.progressgauge = wx.Gauge(self.panel, range=self.gaugerange) # range is max value of gauge - gaugebox.Add(self.progressgauge, proportion=1) - - commandbox.AddMany([(buttonsbox, 0, wx.EXPAND), - (gaugebox, 0, wx.EXPAND)]) - #commandbox.Add(buttonsbox) - #commandbox.Add(gaugebox, flag=wx.EXPAND | wx.LEFT | wx.RIGHT | wx.TOP, border=10) - - return commandbox - - def setup_requiredsettings(self): - """ - Creates the box containing all required settings - """ - requiredbox = wx.FlexGridSizer(3, 1, 0, 0) - - title = wx.StaticText(self.panel, label="Required parameters:") - - # Creates input box, allowing to choose the input folder - inputbox = wx.FlexGridSizer(2, 1, 0, 0) - inputtext = wx.StaticText(self.panel, label="Choose your input folder:") - - inputchooserbox = wx.FlexGridSizer(1, 2, 0, 0) - self.inputchoosertext = wx.StaticText(self.panel, label="/home/jll/Documents/Ivolution/ivolution/data/samples/") - inputchooserbutton = wx.Button(self.panel, label="..") - inputchooserbutton.Bind(wx.EVT_BUTTON, self.on_input) - #inputchooser = wx.DirDialog(self.panel, "Please choose your project directory:", style=1 ,defaultPath=os.getcwd()) - inputchooserbox.AddMany([(self.inputchoosertext, 0, wx.EXPAND), - (inputchooserbutton, 0, wx.EXPAND)]) - - inputbox.AddMany([(inputtext, 0, wx.EXPAND), - (inputchooserbox, 0, wx.EXPAND)]) - - # Creates output box, allowing to choose the output folder - outputbox = wx.FlexGridSizer(2, 1, 0, 0) - outputtext = wx.StaticText(self.panel, label="Choose your output folder:") - - outputchooserbox = wx.FlexGridSizer(1, 2, 0, 0) - self.outputchoosertext = wx.StaticText(self.panel, label="~/Videos") - outputchooserbutton = wx.Button(self.panel, label="..") - outputchooserbutton.Bind(wx.EVT_BUTTON, self.on_output) - - #inputchooser = wx.DirDialog(self.panel, "Please choose your project directory:", style=1 ,defaultPath=os.getcwd()) - outputchooserbox.AddMany([(self.outputchoosertext, 0, wx.EXPAND), - (outputchooserbutton, 0, wx.EXPAND)]) - #outputchooser = wx.DirDialog(self.panel, "Choose a directory:",style=wx.DD_DEFAULT_STYLE | wx.DD_NEW_DIR_BUTTON) - - outputbox.AddMany([(outputtext, 0, wx.EXPAND), - (outputchooserbox, 0, wx.EXPAND)]) - - requiredbox.AddMany([(title, 0, wx.EXPAND), - (inputbox, 0, wx.EXPAND), - (outputbox, 0, wx.EXPAND)]) - - return requiredbox - - def setup_optionalsettings(self): - """ - Creates the box containing all optional settings - """ - optionalbox = wx.FlexGridSizer(5, 1, 0, 0) - - title = wx.StaticText(self.panel, label="Optional parameters:") - - # Creates typeface box, allowing to choose face or profile - typefacebox = wx.FlexGridSizer(2, 1, 0, 0) - typefacetext = wx.StaticText(self.panel, label="Type of face:") - types = ['frontal_face', 'profile_face'] - self.typefacelist = wx.ComboBox(self.panel, choices=types, style=wx.CB_READONLY) - self.typefacelist.SetValue(types[0]) - - typefacebox.AddMany([(typefacetext, 0, wx.EXPAND), - (self.typefacelist, 0, wx.EXPAND)]) - - # Creates the video speed box - videospeedbox = wx.FlexGridSizer(2, 1, 0, 0) - videospeedtext = wx.StaticText(self.panel, label="Video Speed:") - self.speedvals = ['slow', 'medium', 'fast'] - self.videospeedlist = wx.ComboBox(self.panel, choices=self.speedvals, style=wx.CB_READONLY) - self.videospeedlist.SetValue(self.speedvals[1]) - - videospeedbox.AddMany([(videospeedtext, 0, wx.EXPAND), - (self.videospeedlist, 0, wx.EXPAND)]) - - # Creates the video mode box - videomodebox = wx.FlexGridSizer(2, 1, 0, 0) - videomodetext = wx.StaticText(self.panel, label="Choose your prefered mode:") - videomodechoices = wx.FlexGridSizer(1, 2, 0, 0) - - self.cropmode = wx.RadioButton(self.panel, label='Crop Mode', style=wx.RB_GROUP) - self.conservativemode = wx.RadioButton(self.panel, label='Conservative Mode') - videomodechoices.AddMany([self.cropmode, self.conservativemode]) - videomodebox.AddMany([(videomodetext, 0, wx.EXPAND), - (videomodechoices, 0, wx.EXPAND)]) - - # Creates the file method box - filemethodbox = wx.FlexGridSizer(2, 1, 0, 0) - filemethodtext = wx.StaticText(self.panel, label="Choose your prefered mode:") - filemethodchoices = wx.FlexGridSizer(1, 2, 0, 0) - self.namemode = wx.RadioButton(self.panel, label="File name", style=wx.RB_GROUP) - self.exifmode = wx.RadioButton(self.panel, label="EXIF metadata") - filemethodchoices.AddMany([self.namemode, self.exifmode]) - filemethodbox.AddMany([(filemethodtext, 0, wx.EXPAND), - (filemethodchoices, 0, wx.EXPAND)]) - - optionalbox.AddMany([(title, 0, wx.EXPAND), - (typefacebox, 0, wx.EXPAND), - (videospeedbox, 0, wx.EXPAND), - (videomodebox, 0, wx.EXPAND), - (filemethodbox, 0, wx.EXPAND)]) - - return optionalbox - - def setup_settingslayout(self): - """ - Defines the second part of the GUI, containing all parameters - that can be changed - """ - settingsbox = wx.FlexGridSizer(2, 1, 9, 15) # main box - - # contains a box with required parameters - requiredbox = self.setup_requiredsettings() - # and another with optional parameters - optionalbox = self.setup_optionalsettings() - - settingsbox.AddMany([(requiredbox, 0, wx.EXPAND), - (optionalbox, 0, wx.EXPAND)]) - - return settingsbox - - def setup_titlelayout(self): - """ - Defines the first part of the GUI, showing the title and logo - """ - hbox = wx.BoxSizer(wx.HORIZONTAL) # used to contain logo part and text part - vbox = wx.BoxSizer(wx.VERTICAL) # used to separate title and one-liner - logobox = wx.BoxSizer(wx.HORIZONTAL) - - wx_logo = wx.EmptyBitmap(1, 1) # Create a bitmap container object. - wx_logo.LoadFile("ivolution/data/media/vitruve_50.jpg", wx.BITMAP_TYPE_ANY) # Load it with a file image. - - logo = wx.StaticBitmap(self.panel, 1, wx_logo) - #logo = wx.StaticText(self.panel, label="Logo Here") # Change for proper logo - title = wx.StaticText(self.panel, label="Ivolution") - one_liner = wx.StaticText(self.panel, label="Take one picture of yourself a day,\ - automatically generate a movie!") - - logobox.Add(logo) - vbox.Add(title, flag=wx.EXPAND | wx.RIGHT, border=8) - vbox.Add(one_liner, flag=wx.EXPAND | wx.RIGHT, border=8) - - hbox.Add(logobox, flag=wx.EXPAND | wx.RIGHT, border=8) - hbox.Add(vbox, flag=wx.EXPAND | wx.RIGHT, border=8) - - return hbox - - def setup_maingrid(self, title, settings, buttons): - """ - Defines the main grid that will be used as layout in the window. - """ - maingrid = wx.FlexGridSizer(3, 1, vgap=0, hgap=0) - maingrid.AddMany([(title, 0, wx.EXPAND), - (settings, 0, wx.EXPAND), - (buttons, 0, wx.EXPAND)]) - return maingrid - - def setup_statusbar(self): - """ - Sets up all elements of the status bar - """ - self.sb = self.CreateStatusBar(2) - - def setup_filemenu(self): - """ - Sets up all elements of the file menu - """ - file_menu = wx.Menu() - - #Sets up the Help menu item - menuHelp = file_menu.Append(wx.ID_HELP, "Help", "Help online") - self.Bind(wx.EVT_MENU, self.on_help, menuHelp) - - # Sets up the About menu item - menuAbout = file_menu.Append(wx.ID_ABOUT, "About", " Information about this program") - self.Bind(wx.EVT_MENU, self.on_about, menuAbout) - - file_menu.AppendSeparator() - - # Sets up the Exit menu item - menuExit = file_menu.Append(wx.ID_EXIT, "Exit", " Terminate the program") - self.Bind(wx.EVT_MENU, self.on_exit, menuExit) - - return file_menu - - def setup_menubar(self): - """ - """ - # Creating the menubar. - menuBar = wx.MenuBar() - - filemenu = self.setup_filemenu() - - menuBar.Append(filemenu, "File") # Adding the "filemenu" to the MenuBar - self.SetMenuBar(menuBar) # Adding the MenuBar to the Frame content. - return menuBar - - # Events Handling - def on_start(self, event): - """ - User asks for starting the algorithm - Sets all parameters and start processing - """ - self.my_logger.debug("start pressed") - if not self.process_running: # start only if not already running - self.set_parameters() - self.print_parameters() - # Instantiating the facemovie - self.facemovie = FacemovieThread.FacemovieThread(self.face_params) - self.facemovie.subscribe(self) # I want new information ! Subscribes to facemovie reports - self.subscribe(self.facemovie) # Subscribing facemovie to our messages - - self.facemovie.start() - - self.process_running = True - else: - self.console_logger.error("Cannot start, process already running !") - self.my_logger.error("Cannot start, process already running !") - - def on_stop(self, event): - """ - User asks for stopping the algorithm - Asks the FacemovieThread to terminate - """ - self.my_logger.debug("Stop pressed") - self.console_logger.debug("Stop pressed") - self.notify(["STOP"]) # Asking the Facemovie to stop - self.process_running = False - - #self.on_exit(event) # Finally shuts down the interface - - def on_input(self, event): - """ - Activated when a user clicks to choose its input location - """ - default_dir = "~/Pictures" - self.inputdialog = wx.DirDialog(self, "Please choose your input directory", style=1, defaultPath=default_dir) - - if self.inputdialog.ShowModal() == wx.ID_OK: - self.inputchoosertext.SetLabel(self.inputdialog.GetPath()) - self.inputdialog.Destroy() - - def on_output(self, event): - """ - Activated when a user clicks to choose its output location - """ - default_dir = "~/Videos" - self.outputdialog = wx.DirDialog(self, "Please choose your output directory", style=1, defaultPath=default_dir) - - if self.outputdialog.ShowModal() == wx.ID_OK: - self.outputchoosertext.SetLabel(self.outputdialog.GetPath()) - self.outputdialog.Destroy() - - def on_help(self, event): - """ - Opens a browser and points to online help. - """ - url = "http://jlengrand.github.com/FaceMovie/" - webbrowser.open(url, new=2) # in new tab if possible - - def on_about(self, event): - """ - Displays the about box for Ivolution - """ - about = AboutDialog(self, "Ivolution") - about.ShowModal() # Show it - about.Destroy() # finally destroy it when finished. - - def on_exit(self, event): - """ - Called when the IvolutionWindow is closed, or File/Exit is called. - """ - # Clean up code for saving application state should be added here. - self.notify(["STOP"]) # Asking the Facemovie to stop - self.process_running = False - self.Close(True) # Close the frame. - - def get_current_mode(self): - """ - """ - if self.cropmode.GetValue(): - mode = "crop" - else: - mode = "conservative" - - return mode - - def get_current_sort(self): - """ - """ - if self.namemode.GetValue(): - sort = "name" - else: - sort = "exif" - - return sort - - def set_parameters(self): - """ - Retrieves all parameters needed for the algorithm to run - """ - self.in_fo = self.inputchoosertext.GetLabel() + "/" - self.out_fo = self.outputchoosertext.GetLabel() + "/" - self.param = self.typefacelist.GetValue() - self.speed = self.speedvals.index(self.videospeedlist.GetValue()) # We need and integer between 0 and 2 - - self.mode = self.get_current_mode() - self.sort = self.get_current_sort() - - # Instantiating the face_params object that will be needed by the facemovie - par_fo = os.path.join(self.root_fo, get_data("haarcascades")) - self.face_params = FaceParams.FaceParams(par_fo, - self.in_fo, - self.out_fo, - self.param, - self.sort, - self.mode, - self.speed) - - self.print_parameters() - - def print_parameters(self): - print "#########" - print "Settings:" - print "input folder : %s" % (self.in_fo) - print "output folder : %s" % (self.out_fo) - - print "Face Type : %s" % (self.param) - print "Speed chosen : %s" % (self.speed) - print "Mode chosen : %s" % (self.mode) - print "Sort method : %s" % (self.sort) - - print "#########" - - def setup_logger(self): - """ - Configures our logger to save error messages - Start logging in file here - """ - personal_dir = "~/.ivolution" - log_root = 'fm.log' - log_file = os.path.join(os.path.expanduser(personal_dir), log_root) - - # create logger for 'facemovie' - self.my_logger = logging.getLogger('FileLog') - - self.my_logger.setLevel(logging.DEBUG) - # create file handler which logs even debug messages - - #fh = logging.StreamHandler() - fh = logging.FileHandler(log_file) - - fh.setLevel(logging.DEBUG) - # create console handler with a higher log level - self.console_logger = logging.getLogger('ConsoleLog') - self.console_logger.setLevel(logging.DEBUG) # not needed - - ch = logging.StreamHandler() - #ch.setLevel(logging.DEBUG) # not needed - - # add the handlers to the logger - self.my_logger.addHandler(fh) - - self.my_logger.info("######") # Separating different sessions - - formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') - # create formatter and add it to the handlers - fh.setFormatter(formatter) - #ch.setFormatter(formatter) - - self.console_logger.addHandler(ch) - - def update(self, message): - """ - Trigerred by FacemovieThread. - Uses the Observer pattern to inform the user about the progress of the current job. - """ - if len(message) == 3: - # notifications - #self.console_logger.debug(message) - self.my_logger.debug(message) - - if message[0] == "PROGRESS": # progress bar - # big steps performed - wx.MutexGuiEnter() # to avoid thread problems - self.progressgauge.SetValue(self.gaugerange * float(message[2])) - self.sb.SetStatusText(message[1], 0) - wx.MutexGuiLeave() - - if float(message[2]) >= 1.0: # 100% of process - self.my_logger.debug("Reached end of facemovie process") - #self.console_logger.debug("Reached end of facemovie process") - self.process_running = False - - elif message[0] == "STATUS": # status label - if message[1] == "Error": - wx.MutexGuiEnter() # to avoid thread problems - self.sb.SetStatusText("Error detected", 0) - self.progressgauge.SetValue(0) - wx.MutexGuiLeave() - self.process_running = False - - wx.MutexGuiEnter() # to avoid thread problems - self.sb.SetStatusText(message[1], 1) - wx.MutexGuiLeave() - - elif len(message) > 1: # system commands shall be ignored - self.console_logger.debug("Unrecognized command") - self.my_logger.debug("Unrecognized command") - self.console_logger.debug(message) - self.my_logger.debug(message) - -if __name__ == "__main__": - app = wx.App(False) - frame = IvolutionWindow(None, "Ivolution Window") - app.MainLoop() # Runs application diff --git a/ivolution/gui_wx/IvolutionWindow.py b/ivolution/gui_wx/IvolutionWindow.py index 7229c1b..b9c6866 100644 --- a/ivolution/gui_wx/IvolutionWindow.py +++ b/ivolution/gui_wx/IvolutionWindow.py @@ -11,6 +11,7 @@ import wx import wx.lib.newevent +import sys import os import logging import webbrowser @@ -39,37 +40,41 @@ class IvolutionWindow(IvolutionTemplate, Observer, Observable): Observer.__init__(self, title) Observable.__init__(self) - self.videospeedlistChoices = [u"slow", u"medium", u"fast"] # FIXME: Is there a way to do better? - self.gaugerange = 100 - # Sets up logging capability self.my_logger = None self.console_logger = None self.setup_logger() - # Sets icon - self.SetIcon(wx.Icon('ivolution/data/media/vitruve.ico', wx.BITMAP_TYPE_ICO)) - # image = wx.Image("ivolution/data/media/vitruve.png", wx.BITMAP_TYPE_PNG).ConvertToBitmap() - # icon = wx.EmptyIcon() - # icon.CopyFromBitmap(image) - # self.SetIcon(icon) - # Defines all our parameters neededfor the facemovie + self.get_default_parameters() + + self.process_running = False + self.facemovie = None + + self.inputtextbox.SetLabel(self.in_fo) # sets label to default input folder + self.SetIcon(wx.Icon('ivolution/data/media/vitruve.ico', wx.BITMAP_TYPE_ICO)) # Sets icon + + self.Show(True) # Finally show the frame + + def get_default_parameters(self): + """ + """ + # FIXME: You gotta try on a Mac + self.videospeedlistChoices = [u"slow", u"medium", u"fast"] # FIXME: Is there a way to do better? + self.gaugerange = 100 + self.root_fo = "" - self.in_fo = "" # Input folder, where images are located - #self.out_fo = "" # Input folder, where the video will be saved - self.out_fo = "C:/Users/jll/Videos" #Default folder for Windows self.mode = "crop" # type of video to be created self.sort = "name" # how image files will be chronologically sorted self.speed = 1 # Speed of the movie self.param = "frontal_face" # type of face profile to be searched for - self.in_fo = "" # Input folder, where images are located - - self.process_running = False - self.facemovie = None - - self.Show(True) # Finally show the frame + if "win" in sys.platform: + self.out_fo = "C:/Users/jll/Videos/" # Default folder for Windows + self.in_fo = "C:\Users\jll\Pictures/" + else: + self.out_fo = "C:/Users/jll/Videos/" # Default folder for Linux + self.in_fo = "/home/jll/Pictures/" # Overriding event handling methods def on_settings(self, event): diff --git a/ivolution/gui_wx/IvolutionWindow.v1 b/ivolution/gui_wx/IvolutionWindow.v1 deleted file mode 100644 index 9fc84fe..0000000 --- a/ivolution/gui_wx/IvolutionWindow.v1 +++ /dev/null @@ -1,288 +0,0 @@ -#!/usr/bin/env python -""" -.. module:: IvolutionWindow - :platform: Unix, Windows, Mac - :synopsis: Main Window of the Ivolution GUI designed to be supported by all platforms. - -.. moduleauthor:: Julien Lengrand-Lambert - -""" - -import wx -import wx.lib.newevent - -import os -import logging -import webbrowser - -from .. import get_data # used to load images and files - -from .. import FaceParams -from .. import FacemovieThread - -from ..util.Notifier import Observer -from ..util.Notifier import Observable - -from AboutDialog import AboutDialog -from IvolutionTemplate import IvolutionTemplate - - -class IvolutionWindow(IvolutionTemplate, Observer, Observable): - """ - Main Window of the Ivolution application - """ - def __init__(self, parent, title): - """ - Overrides init frame IvolutionTemplate - """ - IvolutionTemplate.__init__(self, parent) - Observer.__init__(self, title) - Observable.__init__(self) - - self.videospeedlistChoices = [u"slow", u"medium", u"fast"] # FIXME: Is there a way to do better? - self.gaugerange = 100 - - # Sets up logging capability - self.my_logger = None - self.console_logger = None - self.setup_logger() - - self.logo = wx.StaticBitmap(self, wx.ID_ANY, wx.Bitmap(u"ivolution/data/media/vitruve_50.jpg", wx.BITMAP_TYPE_ANY), wx.DefaultPosition, wx.Size(50, 50), 0) # Sets logo - # Sets icon - self.SetIcon(wx.Icon('ivolution/data/media/vitruve.ico', wx.BITMAP_TYPE_ICO)) - # image = wx.Image("ivolution/data/media/vitruve.png", wx.BITMAP_TYPE_PNG).ConvertToBitmap() - # icon = wx.EmptyIcon() - # icon.CopyFromBitmap(image) - # self.SetIcon(icon) - - # Defines all our parameters neededfor the facemovie - self.root_fo = "" - self.in_fo = "" # Input folder, where images are located - self.out_fo = "" # Input folder, where the video will be saved - self.mode = "crop" # type of video to be created - self.sort = "name" # how image files will be chronologically sorted - self.speed = 1 # Speed of the movie - self.param = "frontal_face" # type of face profile to be searched for - - self.in_fo = "" # Input folder, where images are located - - self.process_running = False - self.facemovie = None - - self.Show(True) # Finally show the frame - - # Overriding event handling methods - def on_start(self, event): - """ - User asks for starting the algorithm - Sets all parameters and start processing - """ - self.my_logger.debug("start pressed") - if not self.process_running: # start only if not already running - self.set_parameters() - self.print_parameters() - # Instantiating the facemovie - self.facemovie = FacemovieThread.FacemovieThread(self.face_params) - self.facemovie.subscribe(self) # I want new information ! Subscribes to facemovie reports - self.subscribe(self.facemovie) # Subscribing facemovie to our messages - - self.facemovie.start() - - self.process_running = True - else: - self.console_logger.error("Cannot start, process already running !") - self.my_logger.error("Cannot start, process already running !") - - def on_stop(self, event): - """ - User asks for stopping the algorithm - Asks the FacemovieThread to terminate - """ - self.my_logger.debug("Stop pressed") - self.console_logger.debug("Stop pressed") - self.notify(["STOP"]) # Asking the Facemovie to stop - self.process_running = False - - #self.on_exit(event) # Finally shuts down the interface - - def on_input(self, event): - """ - Activated when a user clicks to choose its input location - """ - default_dir = "~/Pictures" - self.inputdialog = wx.DirDialog(self, "Please choose your input directory", style=1, defaultPath=default_dir) - - if self.inputdialog.ShowModal() == wx.ID_OK: - self.inputtextbox.SetLabel(self.inputdialog.GetPath()) - self.inputdialog.Destroy() - - def on_output(self, event): - """ - Activated when a user clicks to choose its output location - """ - default_dir = "~/Videos" - self.outputdialog = wx.DirDialog(self, "Please choose your output directory", style=1, defaultPath=default_dir) - - if self.outputdialog.ShowModal() == wx.ID_OK: - self.outputchoosertext.SetLabel(self.outputdialog.GetPath()) - self.outputdialog.Destroy() - - def on_help(self, event): - """ - Opens a browser and points to online help. - """ - url = "http://jlengrand.github.com/FaceMovie/" - webbrowser.open(url, new=2) # in new tab if possible - - def on_about(self, event): - """ - Displays the about box for Ivolution - """ - about = AboutDialog(self, "Ivolution") - about.ShowModal() # Show it - about.Destroy() # finally destroy it when finished. - - def on_exit(self, event): - """ - Called when the IvolutionWindow is closed, or File/Exit is called. - """ - # Clean up code for saving application state should be added here. - self.notify(["STOP"]) # Asking the Facemovie to stop - self.process_running = False - self.Close(True) # Close the frame. - - # system methods - def get_current_mode(self): - """ - """ - if self.cropmode.GetValue(): - mode = "crop" - else: - mode = "conservative" - - return mode - - def get_current_sort(self): - """ - """ - if self.namemode.GetValue(): - sort = "name" - else: - sort = "exif" - - return sort - - def set_parameters(self): - """ - Retrieves all parameters needed for the algorithm to run - """ - self.in_fo = self.inputtextbox.GetLabel() + "/" - self.out_fo = self.outputchoosertext.GetLabel() + "/" - self.param = self.typefacelist.GetValue() - self.speed = self.videospeedlistChoices.index(self.videospeedlist.GetValue()) # We need and integer between 0 and 2 - - self.mode = self.get_current_mode() - self.sort = self.get_current_sort() - - # Instantiating the face_params object that will be needed by the facemovie - par_fo = os.path.join(self.root_fo, get_data("haarcascades")) - self.face_params = FaceParams.FaceParams(par_fo, - self.in_fo, - self.out_fo, - self.param, - self.sort, - self.mode, - self.speed) - - self.print_parameters() - - def print_parameters(self): - print "#########" - print "Settings:" - print "input folder : %s" % (self.in_fo) - print "output folder : %s" % (self.out_fo) - - print "Face Type : %s" % (self.param) - print "Speed chosen : %s" % (self.speed) - print "Mode chosen : %s" % (self.mode) - print "Sort method : %s" % (self.sort) - - print "#########" - - def setup_logger(self): - """ - Configures our logger to save error messages - Start logging in file here - """ - personal_dir = "~/.ivolution" - log_root = 'fm.log' - log_file = os.path.join(os.path.expanduser(personal_dir), log_root) - - # create logger for 'facemovie' - self.my_logger = logging.getLogger('FileLog') - - self.my_logger.setLevel(logging.DEBUG) - # create file handler which logs even debug messages - - #fh = logging.StreamHandler() - fh = logging.FileHandler(log_file) - - fh.setLevel(logging.DEBUG) - # create console handler with a higher log level - self.console_logger = logging.getLogger('ConsoleLog') - self.console_logger.setLevel(logging.DEBUG) # not needed - - ch = logging.StreamHandler() - #ch.setLevel(logging.DEBUG) # not needed - - # add the handlers to the logger - self.my_logger.addHandler(fh) - - self.my_logger.info("######") # Separating different sessions - - formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') - # create formatter and add it to the handlers - fh.setFormatter(formatter) - #ch.setFormatter(formatter) - - self.console_logger.addHandler(ch) - - def update(self, message): - """ - Trigerred by FacemovieThread. - Uses the Observer pattern to inform the user about the progress of the current job. - """ - if len(message) == 3: - # notifications - #self.console_logger.debug(message) - self.my_logger.debug(message) - - if message[0] == "PROGRESS": # progress bar - # big steps performed - wx.MutexGuiEnter() # to avoid thread problems - self.progressgauge.SetValue(self.gaugerange * float(message[2])) - self.sb.SetStatusText(message[1], 0) - wx.MutexGuiLeave() - - if float(message[2]) >= 1.0: # 100% of process - self.my_logger.debug("Reached end of facemovie process") - #self.console_logger.debug("Reached end of facemovie process") - self.process_running = False - - elif message[0] == "STATUS": # status label - if message[1] == "Error": - wx.MutexGuiEnter() # to avoid thread problems - self.sb.SetStatusText("Error detected", 0) - self.progressgauge.SetValue(0) - wx.MutexGuiLeave() - self.process_running = False - - wx.MutexGuiEnter() # to avoid thread problems - self.sb.SetStatusText(message[1], 1) - wx.MutexGuiLeave() - - elif len(message) > 1: # system commands shall be ignored - self.console_logger.debug("Unrecognized command") - self.my_logger.debug("Unrecognized command") - self.console_logger.debug(message) - self.my_logger.debug(message) \ No newline at end of file