From eddb2bb1dc1df31dbc7720e5817bac21e17bda11 Mon Sep 17 00:00:00 2001 From: julien Lengrand-Lambert Date: Tue, 3 Apr 2012 22:28:43 +0200 Subject: [PATCH] Video working ! Just have to center faces now --- .gitignore | 3 +- Guy.py | 123 +++++++-------------- facemovie.py | 47 ++++++-- output/2012-03-08-12h09m30DSCN1671.JPG.png | Bin 4515421 -> 0 bytes 4 files changed, 82 insertions(+), 91 deletions(-) delete mode 100644 output/2012-03-08-12h09m30DSCN1671.JPG.png diff --git a/.gitignore b/.gitignore index 7e99e36..17b9b42 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -*.pyc \ No newline at end of file +*.pyc +output/* \ No newline at end of file diff --git a/Guy.py b/Guy.py index ff21910..9b3fd29 100644 --- a/Guy.py +++ b/Guy.py @@ -73,18 +73,20 @@ class Guy(object): face_params.min_neighbors, face_params.haar_flags, face_params.min_size) - + # sorting faces to keep only the most probable one self.sort_faces() self.update_center() # finds centre of face in image - + def sort_faces(self): """ sort faces by probability, most probable one first """ if self.has_face() : # needed ? self.faces.sort(key= lambda prob : prob[1], reverse=True) - + else : + print "Warning! No face found for %s" %(self.name) + def update_center(self): """ Using sorted faces, defines the new center of interest of the output image @@ -94,37 +96,15 @@ class Guy(object): self.x_center = x + w / 2 self.y_center = y + h / 2 - - def in_display(self, time): + def create_output(self, face_params, debug=False): """ - Displays the input image, for time ms. - Setting time to 0 causes the image to remains open. + Creates output image + If debug is set to true, output image is the input image with a red + box around the most probable face. """ - cv.NamedWindow(self.name) - cv.ShowImage(self.name, self.in_image) - cv.WaitKey(time) - cv.DestroyWindow(self.name) - - def out_display(self, time): - """ - Displays the output image, for time ms. - Setting time to 0 causes the image to remains open. - Window name slightly changed to match output - """ - win_name = self.name + " - out" - cv.NamedWindow(win_name) - cv.ShowImage(win_name, self.in_image) - cv.WaitKey(time) - cv.DestroyWindow(win_name) - - def save_result(self, face_params, out_folder, ext, debug=False): - """ - Saves output image to the given format (given in extension) - """ - # FIXME : face_params to be removed ! - # TODO : should be refactored into a create_output(debug function) - if (debug and self.has_face()): - # Adds a rectangle around the output, and a point in the center + cv.Copy(self.in_image, self.out_im) + if debug and self.has_face(): + # some nice drawings ((x, y, w, h), n) = self.faces[0] # the input to cv.HaarDetectObjects was resized, so scale the # bounding box of each face and convert it to two CvPoints @@ -146,6 +126,36 @@ class Guy(object): pt3, cv.RGB(0, 255, 0), 3, 8, 0) + + def in_display(self, time): + """ + Displays the input image, for time ms. + Setting time to 0 causes the image to remains open. + """ + cv.NamedWindow(self.name) + cv.ShowImage(self.name, self.in_image) + cv.WaitKey(time) + cv.DestroyWindow(self.name) + + def out_display(self, face_params, time, debug=False): + """ + Displays the output image, for time ms. + Setting time to 0 causes the image to remains open. + Window name slightly changed to match output + """ + create_output(face_params, debug) + win_name = self.name + " - out" + cv.NamedWindow(win_name) + cv.ShowImage(win_name, self.out_im) + cv.WaitKey(time) + cv.DestroyWindow(win_name) + + def save_result(self, face_params, out_folder, ext, debug=False): + """ + Saves output image to the given format (given in extension) + """ + # FIXME : face_params to be removed ! + self.create_output(face_params, debug) # check that format is a string ? ? file_name = self.name + "." + ext @@ -154,55 +164,6 @@ class Guy(object): cv.SaveImage(out_name, self.out_im) - def show_debug(self, face_params, time): - """ - Function that may be used after having populated faces. - Displays each guy, with a red square around detected face, - for time ms. - - TODO: green square around most probable face? - See the doc ! - """ - - # Instead of doing it for all, do it only for the biggest one - if self.has_face() : - - debug_image = cv.CreateImage((self.in_x, self.in_y),cv.IPL_DEPTH_8U, self.in_channels) - cv.Copy(self.in_image, debug_image) - - # some nice drawings - ((x, y, w, h), n) = self.faces[0] - # the input to cv.HaarDetectObjects was resized, so scale the - # bounding box of each face and convert it to two CvPoints - pt1 = (int(x * face_params.image_scale), - int(y * face_params.image_scale)) - pt2 = (int((x + w) * face_params.image_scale), - int((y + h) * face_params.image_scale)) - cv.Rectangle(debug_image, - pt1, - pt2, - cv.RGB(255, 0, 0), - 3, 8, 0)# surrounds face - - # Adds point in the center - pt3 = (int(self.x_center * face_params.image_scale), - int(self.y_center * face_params.image_scale)) - cv.Line(debug_image, - pt3, - pt3, - cv.RGB(0, 255, 0), - 3, 8, 0) - - win_name = self.name + " - debug" - cv.NamedWindow(win_name, cv.CV_WINDOW_NORMAL) - cv.ResizeWindow(win_name, 640, 480) - cv.ShowImage(win_name, debug_image) - cv.WaitKey(time) - cv.DestroyWindow(win_name) - - else : - print "Warning! No face found for %s" %(self.name) - def num_faces(self): """ Returns the number of faces found for this guy diff --git a/facemovie.py b/facemovie.py index 11384f6..8d4c456 100644 --- a/facemovie.py +++ b/facemovie.py @@ -45,7 +45,8 @@ class FaceMovie(object): # loading images, create Guys and store it into guys for token in files : image = cv.LoadImage(os.path.join(self.source, token)) - a_guy = Guy.Guy(image, token) + guy_name = os.path.splitext(token)[0] + a_guy = Guy.Guy(image, guy_name) # populating guys self.guys.append(a_guy) @@ -67,7 +68,7 @@ class FaceMovie(object): """ return len(self.guys) - def show_faces(self, time=1000, mode="debug"): + def show_faces(self, time=1000, debug=True): """ Show all faces that have been found for the guys. The time for which each image will be diplayed can be chosen. @@ -76,7 +77,7 @@ class FaceMovie(object): # TODO: Where can I find the lower function? if mode == "debug" : for a_guy in self.guys: - a_guy.show_debug(self.face_params, time) + a_guy.out_display(self.face_params, time, debug) else: print "Warning : only supported mode is debug" @@ -89,19 +90,47 @@ class FaceMovie(object): a_guy.save_result(self.face_params, out_folder, format, - debug) + debug) + + def save_movie(self, out_folder, debug=True): + """ + Creates a movie with all faces found in the inputs. + Guy is skipped if no face is found. + + TODO : No codec involved ! + Resize should be done somewhere else ! + """ + filename = os.path.join(out_folder, "output.avi") + fourcc = 0#-1 + fps = 10 # should be less + frameSize = (self.guys[0].in_x, self.guys[0].in_y) + my_video = cv.CreateVideoWriter(filename, + fourcc, + fps, + frameSize, + 1) + frame = cv.CreateImage(frameSize, + cv.IPL_DEPTH_8U, + 3) + for a_guy in self.guys: + a_guy.create_output(self.face_params, debug) + cv.Resize(a_guy.out_im, frame) + cv.WriteFrame(my_video, frame) if __name__ == "__main__": # quick and dirty tests root_fo = "C:\Users\jll\perso\FaceMovie" - in_fo = os.path.join(root_fo, "input\Axel_tsts") - #in_fo = os.path.join(root_fo, "input\Axel") + #in_fo = os.path.join(root_fo, "input\Axel_tsts") + in_fo = os.path.join(root_fo, "input\Axel") out_fo = os.path.join(root_fo, "output") par_fo = os.path.join(root_fo, "haarcascades") my_movie = FaceMovie(in_fo, out_fo, par_fo) my_movie.list_guys() my_movie.search_faces() - #my_movie.show_faces(2000, "debug") - my_movie.save_faces("output", debug=True) - print "Done !" \ No newline at end of file + #my_movie.show_faces(2000) + #my_movie.save_faces("output", debug=True) + my_movie.save_movie("output", debug=True) + + print "Done !" + \ No newline at end of file diff --git a/output/2012-03-08-12h09m30DSCN1671.JPG.png b/output/2012-03-08-12h09m30DSCN1671.JPG.png deleted file mode 100644 index 552a26a60a0ffcf883c5e610a940573372a32ace..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4515421 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%0A(0SyoSt6R0H+Y6TXTKna0aH!-q8R^sjwgFt=( z6Yl)RGe>yF4?O2{IROJ6+@4qoj?0t9*! zh`l8&UjhUU3nZLyt0X*3>{kNC1w!$N0umsQLm=j8G;^CO2{Qw0zJCFKp6-7P^?<;2 zf$%Ng@ZX<0TP?u)p`W#?aJ`f(+7n2)TGn3YWJF*h0h90AgWXysVQmlbQwYQqjc9`a zf%*a_-1WzxOa@CU3Cm<7N?w7Gw|T7-AW%pk7K$UxECMz$YGS0VkTo$3k|3~KAna~I z1Iq>e%u}E8P_+Qdy_TM7L!*;YR?ANEI7pxy0h8};hDxF}1UlWsDAuqNlK_GA0w&z) zO|?j1tw8Em4}`S|IG+H4CIw=XSxJfjfz<*_Cfq6sSF^f+KvjWIHM-ygvI)HZL!bLW z)7ApSY^>`WR#mv(%oPL<3i$K%K^8v}=uRMXm+}6DRTAzu)I#F|OIFJo?}GFQ5V%*s zgge`9&}k)MHV+LK6o>_52}OWFMgbGs4if_ zU3~~7P(xtwO^jjcLKKs!tIYf5g^d9KrE5FO2QJ#Vi343V8VUd!Y2Yf3xuAN zzmmI3!Yd%Y&MV;0)ANqKo{uG9!o7Mt2d^Yt?cst31!99aNr^z;0-y71zx<2! z6Qh!MfEBWm+F}vNCt$*z&sNJd1Z-k-T|L&I7n1;i^a68ExZmo_pY?{7YXQ;^r50-m zG`^uxsO2Iq0Rl+{V$#+$Mu0$CfsL;ouv(UO7_>&9mO!W#SX=@Gk_yBdKuLj6GT7EwDhapBxo%d0IsZI8>u6W$_uIYbiLa*?pfJ73_ib=hg|{ty z>RTZ8oxbb|5V$E|@_kdH*uRZe5*Bk1D5F5g*tVt#5GW@Q%Y_oDu)xMj!opb!mqow| zSr%4}5-2VZiboW1FaetwwK$+w$XXl~IT2VdaDBr4yhpw2VQK-^+qt5afDMh-$j3D& zJC^`~b_Gnn+Z`L3)esnC6QfXrPD}y>k_*J-EozVef%5{HUp?T@)8~i483cL|2t6bz zM*;-S3dDnFs3bhd;zt6#2$*me9;s(N@0b3IT7bgn^MwmFyR53ProPxC3;6T&$fK)o zGYQNv`Bq6d(;cm^*99U50tChoFyT%&j$>33rt{EJJ%La!w8#VqBov4V+tO4Sfy|YJ zWjY~BUV#}_$npwmy zt7UEk0%Hi6aE~#L4fet&MimDoR*Wq)0RjmHOt=$bYO02SO^gnxhXcR)i2#9}0x$fv z@A&r>YXRcU^j%J15`n%pG_qPY$!)2d!wZDrd#Hm1x)Mn9>H(`|T@AWq2^^ z0D-Oq!m4al60YKMGJ#qGCfv2;#U+qdpveihO2V{*thMO`;&eT}+2MEl>ra1X#ae)y zY512w4uPpB->M38+)~FL-4Cfs9>uinig5bo=$O2T=DTu)~ZxPQX^@PBpp_o@Y$VZilq z3W2hdZ&ig;+*CSQT_9G^Kmr5^BoP>LwOb`&l6ylV{R)JBQyoCu5|5XR`n*u5xQNjSFUEWI0Yg{<+xd*#PG|Hst=G(Je3r)Tor z`2Z$N--bpBF)KF}E5{d}0D(jTCf|u5HM3a2CPs^?HlG+aU+F>u1X>b^EhQrt0tp4C z-o(fXS;9L>Qv@msgo?3+CNP3Pldm4ILN>y!r4L61{^SQe@Sjgu3t;kn^p0?VKuZFv zUOf<7%3Ll42y7QH`QC2lN&+njq?vH5By4F++~YGK*$|H z`veFS5r{>i^cH05O2Xa-OTLE$(yWjjYI*5zPk4h@zr%#J084qCM__|M*l>+YQVBF! zRhX)C+Nmkf*J@c!DX|H(El_{*-L}sV*{!N19HPh5cOp(N0D!{iIm8x3^E|NgRf`eL;J0}bf0u7qO;{7ztU zfvz_+vRXFz-K+b<2$*~iGn6{gr$Clh55zt#WKDp;RRI(3t0KM==u_a#gj*$HpTjEa z$pzx%{nvd0!w9r7;Z{jF%nhX@2L=A?Bi`(rYt;gTgBkge0D;~FVs8oW%U4z5K0jCY zB5-E4te0-clfd)>VS0fa09{uS<^a)VX@NFY%S!iJJObkhm~eMIrdcWpJNA(JErEFJ zlMe(4bS+@Q-SzO5N!}(#Wtq z#!)Y(6*&0nfiNwHj+Yg9>36^D`>6#eWgbff5{CeRyaJgg->M4p4xiQu925u#fAu2) z0=)^u-V#2XuS&whE`FU=z@MjQ9eMp8O(2Zcp}hT>p^`AKpw`O>WL_aF(+N=s5V&T- z-QrD9vy!ky4>_$Bh_^5JUqAGwAEXxGwuesy`V}zw?sx2VXMV7%aCfU3Xh0w|kb@Km z5ZEse_cx&h0%rtlVsr*5{b8$R=}omrpoT!G5mZb9IRtECbX(O5*=-A-2=pvq!rk-e z$-Ra^51Sap8ZcsB`?lx((R=B`wI@CC?hnO5Ai03acXCn<5=bJj=hXutNd_7rK%llj ztet@P1PG)N*f`-g!374|&?pW*RJuoC8i6Jz-_vO8 zD1mF&O1yd?fF?j-2!S|6FLZ(cfooSM+$ss(6a@Mg2>o|K4+s#rS0GkWP)S$`{&LuN zebm!FOD(`p`;Z8C_162|x z@z6+Rfmk`d@B|1X5-{OT1X-k+5|xBSIwDABfsna<%@ZI{Mj)06BT8QaHZjUDUT^)j z|Lm)))B;#7%P^XnBv3&hREQ}gf%^n(Xq4?vuv(UlR>K5}3Yc&gSn}$D*;mN^(F^YS1667PM!)&= zuc|<(8eMP#1X2maR1Mv1M^)iX3I7tPCoucuyPmwr1kwtGw9OT3O(kJ5YJqwb@aO3s zM@`NI?i4WLzSHEwFB4W0Ug*7#-3r8RGnY640+$3#xG!Bwdb0h<`r9!INXwMRgF z0%-(HxYIalrG|h_jE=LI)vx`nA5{x5+QZdIe_|tfNP_@@odPD` zI{{B$-eFbY=?*#Chd}5fO<58ka7G}WIqq;D0tqV#`{=MNPYcYtT6S8+Q3Cx5g#J>N zaXkT>7}c|17ugEgIxlAvXjQ<3yVa4IIj_8%7`^@1JpEtJR0|MizLoTyz(@in-y@Bt zzN`}%cSEDF4#L?42sA1X8_i2v1jZ4l@ah4pW#imFdNQ{_n7jLWPhc2#RWJ7?!MuE8TI+v9Zs8C5*remVy6&P)W zEU%W<3A8H^+D%PnMFd{)r~m2;F4qFs(5MJ}xgb`{%2|sbTi>rNtk53H8O`loTHn1Nnm^d6Yk4ntdj7uhi`ofgg(=jH30%w z1mczNvwwZfdwlVS?5qV?PuOl%;rhO~qCJ6bR?FI>lM#WY1VU5UNG7$whDyTJDQK^T zfYq`Z>S7W|FJQu*-gLqiZDQ2epvT7Ykq!X@8wE_bH^RBBhJa0s7OIDZ=Q)i4fwl!= z+v&+}WPv~Sx4-YZiq`_H2JL@CBdcYr2i*k(niL34W+f>CQwZdH^?=o~DQ+O0oIt>Y zdxAmM#VG{B(O#+~JWAsLfz|~~xLY3~`4LzqP<_I!l5p8TIg7vwfw(goKJORkzmjmjffniuR9`KtPap#V zLkNT+dNE-q@>LQ}h&f=FPp*~?*k4^DFsgtF_oySAre8KOO5<3%l~_8UcmxRK5isG- zZc$B0;37kfAxUXveE7-{h3w3gnQPJ*YExXj=y>!_TM=@AVA={fC;zzU_ybn{HSNW z-O#lF`6l103MYJCbh#0M*hn7IAV6TJK=+exm4rL*0GE#_5Jv2jJ`tEuAWqolZC#$G zl5iW3tJ)ICw?fudKV?H;bb&B>2Yc&Z{Yt{##N>NOp!*fFL!I&)fe8g#op3+-Q-AO+ zhOPx@=w3TsRoGCHQrRpJH(%*O0tA{8F!^q3IEG8cCPsCJG}H+zDggqC1!Cg%G)JI@ zfK809sJFUWb|p<;2@p6V5Y8NTm;iy>0^Mw4WQFYZp!r0gX8{xLo<}cH?qB`F&v>L- zfJB(do7w&9ftWlc4H6(wMZn~{3cH{Lk_)V#e5)i(J_s5lkXRrlZclRr2vibicfzfb zu+l9d>;M8`fIjE~0Rq>q#pw}L5>9^$j0muPg=|CxeIigw;H5AB%=gP*3lK_mXZkqZ zR25D?QbPc=yIM8`uTBssCSdYijJiyq-Iau8(iA1HK+M~`)(H?OC1Ao`N_wm~HZf{@ zJVV>*$&LVlg#vNmc}^oxMZhLT+t{s;ZF6%Kfz|{xfE5PMdVI{^Z>1x&baTlhqvXMqb7Zk2>R52V}) zTo8yCKKn?3K*s{*C)_FtJHB0{-ibiyBu{CMDe%+b{Xa`BK>D$b>6>h&MOB5ZjD$SO z3tU(&D<51$0tAu?gk&wv+R$*7gtHFhSp6=)S~ixS-VkU-z=XS%kvNk_u}Z=-c{tpK zKFMwLW@-V>DLKAJz=lS9^v+*v zwd}l+GYIq`5PC>bjs&&}%({t@)v~R3jOz%rC1Aqc)_BOKPl486JrMh3lr;eYR|QPC zuZs9ipjm;%uO0}^c0pnU2&@r^Yfg4Lf<{uol7Qp1YzdLeM#*3>8H?{7f#sorR z`ACNVfo%eD+hwjIa74f+Mn_=E{%p0ZthZB zaQ8A&@~k1y>n29A29}rv2&5Nic*6alyZ+s$j9Uwkekip#h(PLB4}?Knbc4X`0&#W# z{U`15q%<0pFpHwD7Y5A*!1 zl5n1}p0}q9R>(LL+Tnk|Gy?i*FIgr5M8ydxdhDuimOf6vYJ@xSGd}e`KuO0}Q z`=xmT1j-1+GGRm^Kp>~U)mIN#AVnmpx8@i>D7eN`OEw0w&zOjFdc!2n@1`Q7D2X2!R#_KJ!z*=i|q$ z1&A$j%Zb470-0YuV6|-cJ4gp75eSp?Q#T2WE)WlOP$l6Z6~7VaN5F);pRtlDfl~tE z)WO`xR1)SE*8Z#l{yaVF$m{oL0y9jwRT7SN*XqwXfq3qOy2pRcLR8b&Qj4d<)0_g-|x~8;LNFZ}1VWD0KlT~1b)v~OB8Yj?*KxiZn zX*4Hb6QkyaWJN+&$W~xEl|aJ+Cfp4V&J?NH#3;uw#~h7nvrBshbkVqgTYUffjDhV%f_(I^Mz#spAKJ0}#YXMBYPx3oRpc{dn zC*P_HySdFIT38?!jwc)e0+|F%xX;7RRY`c>!x`-hg!WUEAprsl1mc2ooKi-hkxIfc zofRdoK+h{=d1bUtpf7>YSGuxIAaJIVFhK-OR2Q&9c4P?t#>c$=Kgd}Na3rjs38WA( z`A(szjROKUG&+D%>Ze#LkT?Vg-2U%;=3B>7otiuEb6_|O#t&(uin_9Q7 z1qK8N3?UGQ=tbk5=&O>jaZKqg5?HuG_LLXA?Y-0VaP3J?y!%5Jwd*7T1nLQddZ9&5 zERd+GFmYCzt0FM-YFQOe=%GN2eIb6~HIMt90c!#Fp}3mBNr8CssDlLh6_|QMBdcZo z-ncR+a8V#!{NghK0&4}@eD#3UvbE#rd;)C>m~gi_F0vwUSzz6(2jb<6eIr1iR{<05 zUPn&e1TG7tnQ*HlysSFJw}15y<7cY{7+@&l0DaH}0tD_A=xXwww_>>{HCrXtRgOGVu3WPWr>s0903BW1;XkpT#!tl%}T;#-P2G-fv#4_Dmn>G zpmhNg?$$?We}3yK3HQg-!g_%hzv`hMl&cmXu207m1PHV!VDjDKsPvhW4UO6vx6n>1 zG9f@bpaX%>L5@-+P(z^WO^mFN)wpHEB#>Ufggd>d z7745n$nxrexFUh+PQB~f9{onSY5}Ih)ZwB6Cf`N51tXA6;Pm8MRbe)G4HL*H5Hq%| zX#xZa3bZldR!LZJ$c36fAWYClT_iArK%AkIxB94(@D_y+V+)*KAsf5zdPiU+fiO~M zn(0f|m4po_{^Liy^;6UWBpZk}R?CugM?(ar6)^ekc<8fK6?W_)^;-h*)+Zkb5a?RK zguCnEE0VlTjEXQP4HA;JrZEBpY6-+zfyE_oRlp`jS4Fmew?ekv&XojO5(q6NBNqY% z1g6-;X!#1+UwXUG|0uNp1@1c`2<#Rx`QA;a0Ro2vs=j(49?HmX1PJseuzd2}U*BX* zU;=@IuO0{!bX*q+%peeF=%hXpm_Z=#gj*%y4EK;ewkHtUOG!oq2y76D8?I^alA$XJ z?|I>K-$N}xgLhpoDf#nsFC!&S0;dJS>BEj*5}2Z@@KTR`=~N)^YFVc!(k9TMfC+bl zgI2YYut5(gtrm!@uW$hY0!<2-a5p(DWs*8rNmwSdD0u}!-sZJVfIuOESSXG#6ASdT ziP6vgvxoiuXte-V%O-yKbbTm+FjQ}JW@-T&8r>d#t7W$>d?L`ZfC+ccqbK(o0zGVE z6l=hUNq|6l0Tb@@rdlMBKw#Ia2SS1bG(mtseSug%1sM<^kV0VNgu7lP;p;s6)Bf9N zwE!swQX2%02!tcQ`Go7r*tVqX<`VGd>AA*RZ^sn~<92OL&r}kw(Q?Tu*5+HC=;L7AXSykc5pbioskX0aLZC&F82$T|tr2<`vqmu9nh_3`v z3i$JMN=E3RyN<4HGCTV8UILTd<`9AN*sF{jcY10hYFQ`@9J^ zG>W%-?-Kz6Jqwt8_dI%XZ%Lq~R}X}iVB|u8z-EEC`AQcOAW%hM$*TvfmQ@)VK?x)m z2+3R2AOQk31Y+W#DhU&VYL37b0Tb>mYOW#BoViCwEVDg>MR?C?MY+`g2I37LX009DB37BwqHC&RdA<*F_Mxln2m;?wU z7l_GQ)F1%@n*>t6dcX?VrXg?Z$Zo$P{pU!+xRd@!- zVFC>an0z-h7*ZjyLm=$9HpitZ33I4wb2bG_A+RfYMo)N(n2 zNmt9t0gFVSkU%IDN0=c5Y+}^QFj_6^Wu)Xu;Ix1V_h}zTYY5oHXs>$Q+koo{5NJcd zgu9J#kVOT7fj2P<6*z??Kp?$9Oy8syhZ1=0+kW!rs|83mq!nI0V6`mW@M(!aO@UA| zxYz^;Bol}#36oiBh(I#}Cfv;og+vJK5(vAlUU9KX!WCFfC9qS#pQm>Mx|~2G0;5g1 zRT4IGV@ac`K&%>FZ~_D_2z={L{im-=Qww17eSvlP$APN~mm@f{U4hVUYBD20V1+q@v|1Rjk34sljgeO{a zs2c$*WZevvL!hHqA*BSygF-oi+61S&00tD&^#5!R`B~U|Po=uFbkkz=q#3YbjAf#`y zNQ*Cd)lWRH>so*!N`f>XQ2*5fR?8Z=4WvLIfq=<(0z^#^s3LIu)dR6gK7tY;kX*oo zJ2|Na2~-itHsMxDSYOd#88S+Wc@M1a5&fw1Hx=adtuUrAW5uOj6W=zg^q;*($Y%Xjau z1sDuPcN!CDcJi&Nu(3NuIz0)5o|2U-0Rl$_;?X0s98gI(%Scbv&-JTiQ}O65fo=ps zH<@;xXg`&NokL6ihCs6`WX6X8fmH$~+^e{nKY4#8Ve?&--~xfT;2ftAs3q_=fAJ6h zBeeh<^i94upt|ffyM+vWBEvj zKn;Q6HZih7R^v7jlR$a_6Ylh;S|o5ppxCPi;*kXWOn^XV0(&RifBVz_%xl#GbT;VH z9bVw}S3dBb9+Mkw6 z!u^I?=vLtN3R$;ZkT?MX_X-3GI|YWTB;4uY@+JhzuaGs-?LL$E!AE_<3)KSjId+A! zHu)|LzBOF2s=}=ax~?UG*itfbAwXcefXVlEyAiLniP0FN8ph~`UJ#gGAWkm;po)M^ zjPkNuA=%gpo6rIQ0xbxnn{cZnY+*d*K;XJS zz(9b&5CXBkUZ^DOZ_H#|TA<@UNx$o}f8#0r)&i6sXz`{J2vhZTO=qXADqMr)+*SqB zt(LXgLwOOHL!jfy_ZS1zTqWTcth4tb&JLje1V#}s;T~lq&-7z)CE=NN9PUCObdjYb z2@p6Z5YL_9IDs_+HZfYGmG4|DWch4IYWYvU&l`P*T7Z5=H1w0IObOf;u%Xdyi$kBR zmK{>@8-e}=OuqXYGZ~i?=yemLSdK^}0t9jjm~iLR)i!}e0?A)J5Eg}X5&;6O3&hqF zlpg^C%LEooxK$D^qjVO5^a9`a{Xh45J8J<#`mD4_fItO-SRv+-kg5ug!1$TKY5{+q zUQOl#0!<2pCbP<#luE*^yc%ypV8Lox6M0I40D;p2Cfuiewjb@al5l&EUD=L6Y$p|& z5FoHez=V5`UIW)AuOw`sPg2+|5O%jPV*~%|H~!r7cGd#S$fnQ51Y)sB0`)CmL!++7 z&uUp$!zEb)M+L&sBMuO#AYc=tH0V~#(l}~`Ky3jN?%E?Dehq=qH!+GeP{kxbAiaPI zcY0GT61XW)>(v9{W&-{t(5ArezVDm8sak-QV-r`N?{oqL+7r0r)dN<`+8ZPp5!fOS zwp`>I0tA{9hy^lINmu|`2m%)cOt>#<_)MT*fzWU2S2I^hcvZyrc?JA=dfu_u^RWa> zxYv&7=#_+PJ)Ga7KunO->wfpQsRc;js0jke1Wdk@Q6_GvR#jo*ZfLHGK&TQ`Pyz%} z3&hk7YOgbaJ1Pk~%U`+&1+11GWbq?`?gT=28B4fN0h<^V9XBgvMY#ndkWIjZI~%Qr zYY5oH=!SZ%VK3%(fp`1BkNI}*1=#L4%atbIvy8NUrW9y>L!*$gv)Up+pqfCe7Fl2d z1kMU{jj0YssWCx&UP{Z0?i8aJ^5~yRbssg z46=z)=+$4|1PELbh?l&{k0#$OkB;03EEfpNPfdQNs>0-?8YFO^fIm;W69|kUFu{adCE*yi zs$Q%Rh%3%@Dggow3z%>x8=OHZ36ptfsG>lq7+Yup1kwq_bWLfgj6m*6!ZN)OWx2qM z-|0;w5Ot=d{3v)!kCPqhK zcKsZ8UF~851ey^r;cjLqB$88LvQ3OaPD^bQAW%#o7K8K>kp{h*+ z%LPohms>fLK+6I>PqIr#PQH40$T;b)(c(NtH8NR!e09&?~4Lf z%Pwm8OrT!@6YhS;uIw^_xJG0*PKdV708t(UlZ|)dD8m ztI1qIph zcP)^plCWz7$=@$9^9q@pfWSxsCfp;9W|6+kyNS`0KK{@Dp$=;SVv*ZI5CR0U3z&Ro zCl+9nfDMf{vE6@B*mJRK2@q&TAU2bULv_U~Wyhz@H3?i?1s5J)Fr@}167O9W~P z6rFs}TUA(dh{c{zAWqn4T_!N3z=#uWm4rjysyekoAgnmosRRhLD-hdFt^Lf#tR!sT zU54icims5IPsbSq2y7Gx8?SR&If25JgiAa2jc@$UuT~4NRIBEBBd(U!^c0&wEdi77 zTJp`swV_dSL$W=gxcyRB5+Kl$fC+a?qcKG;HZdwN%%MOGAqWu2FA(#G5P?7qfw?y^ zvO-qlo)eQmdV!F>Ni7nXNubE92cGhj=YGcKS^%qMGu@B+Ic%)kw92P&Jp$7Rm~c-s)H*u2!08FMO2Wa1 zU-t$Th=cY^w+KupkY~dErho4J|LM(IfR&`G3Ri+Toxo{7G!0FYp#*>#G0Rp!K!mUp}BopYnk}w&AhAIl=SuLyBA)yIODqzCh@4)A& zB<$Bi=C=jn?T-%m)qxELBuL!jh5T5{nBmyx> zD;goNUtr6IM*E`<+Je=xK?hd1rV|L$^;m~z7noubBdcYz-{$&1ihv3CC?lyKjR{nJ z^+0S4LplTqY!ooz-U#QiDFxm={@Htq)dH**KK$x|u(}-=5FpT^Kx{E7IT0YRULfz} zTP5N85pe~9{Q_Zs6IviZpaFr{Ko0v;P)WGoPzyr|`1ABo!>Kb93xtXLzP{^IR1&Ud zaYcIqc~{8V>#vLmj4CkPg!{X{`R~8F-CBV4w^7xq!u9F8qCJ7wUP>||Kwyi2$@dnu zF|IjWNjOH|X75Fq9YFsH3?dK*>4$DKEMOC(@`E$nYFT+g5eYOQ5SqwB5(M@O*u?09 zp%t|AV8o=0h8}0hec8ZcD;Ha z@FPHA2!S|6FLZ(cfot0)+$ss(Is{r42rVZkHv$9}3&h1|Ryk26VHI{kyBF~1>F$S6 z2j&p?$3OOr_gh>G5auvB(@Rx_XMh~;O<>zI_H90TaV@~fmK;1PU_+y$G)E6uEjvo%0D-OqOuoAsF3DyT7-MsB;CfT9!*zy9CM#gtFm8BXC>5CPud{Qh%~qmReMM1nLNwaMy7c zwVc3=n;6A%ydn`GkW;{fJEyL;XA)@X)dOKBczq=>us|HRZxeOxfe(A=TdD<^XuxlF zb!c!iO^&${^NmQN$8WH&3Z+YD3HeU;1^4-GS(o$7n z3m$UVD-iZJ;CccCnh=OhWFd(%0*fjM%cLSoUID9Rd407`pp-x;6-bJqy(A8Zc*_#4AZfF#4 zChuPY1iBW8U1u+O0s{%8eD#3UvVm?4U71=SOx=5(CoqmcT-X(rgbSgZMxX@&6Yds9 zK@J4=3xxemByB+@VNy-;;Dv3@n@Sx9n>8CBL1u*%Z{$^8>JLx!n$v3@aTviK^G_1x5TowqIzh?WUsxTX^h6&s$;Lp={n)ro4 zj{<{DzEu+TcoWJwxj;AxXpY^+H0S*sIIQ+9;=Mu1?(P-mswQRHz)t^}fOulCw z`5OJUiBT!_SSpY>1PJ66FyYSYtMv*3HZi&uDzFPlfIxbIn7&CZ5|~7w;a3k>A)DkL z)Xm`qLe3t(^aDTO`_%&E6xQ}^0$W}^V6|+vyF`CS6)^c8b!7ExHi59W!zu~)3c8*^ zdI1ye^rl)QP(z@X3AakZ8h3}7y$Zx$6PGsu0+$6$xG#CAB)r7oORoZ<*Tm(0Mc`$x z|69MO7T^lXv|r=2J+IsGhN}we!ib(mpqJIMG`-adfpG=GxLwn;YuC0^5^@_sz-rkD zqo@xAu3a)i}ow!6`fJ(w8-E>at0<~AmTKAD3fnEec zFNw{=~Q5r6|zo;N7@7y3z%>(rke3Yn;3OE>ao+jrQMLg+q`agwOW9N z2ISsUOupM1k2$lkp;78_52+i}9svSX1Y(t_f)c1AFwZ7NR?Di~V1g1zE)bHps6hg= z3pDWR0V`y)--P-G4y zhRq6uW;2r*0Rn3T;+m63JXa;*h@+}ct5?WYlKt{Se&z*g0al_poxo0ku=9GCFBIsf zs&HY4oYu5Jv#VuIt4WSPdjh#9-|h8y?2PtT5{~UNOYh<=9o0_)qYIdDk3Pa#`ezfP zEUf7o4e6TF5&;4g1!Be6LK8SAU=yQrLPw5UAv*%oD=t2_6AaHxat&%VU zuO*~+~Vd&oN>D;uHgnQ6j+loNC6|z=( zBo6{}3Yc(L9{1)d2`hUDzfRz7-}sMx%$Zt%xUNNK6Clv4fXR2OBa=3-M`>n;5lm16VC_zlHK9P5uFon7 z2OjdDea4gDMlHbA0ruzVt0KM==u^PtJJYyzTUD6JL$gH%V$o=V5g?FFz=S&+ZJCCX zR}z*&4A#d|qCqST(Kr9qTn9c=kV$|0FS|RIeyktw@m_Rso!0!ZV2-w6Zje3C< zvUhy9fB6Wt0BMFxD+Cq^n0zl{a?)S|qi<*w2OBTlAuz2#fywu@wmLq&K($v7gz4!4 z5Ew%sj?oRhATYJS9j_j+LN@jNpz{L>gn{~^D+Fd1i1|COk}$vV;RrwV><@pfT7bhg zGyQ7vJ=19G>&OCOoX)8#9A_-`WUqifPwy3UJ%Kg^Ot{yM!|0WSYdxIbqCjjhDLD}! zuwKA~d%anaE2>oz7U`WJnFT`T_BBs{KpBBpCX6V}3fxgi*leb4Cw9;G{N&$mv=+c> zS=+ac>VdIW$e#BVAM#<1)&kVKS45sb zAWYClT_iArK-|$uRfRk7TuLCPz}S=ToO0SG(3U`GE1g5xs3bh3;x_`P1pImWl#XKr z`VlbUzByJZ32#dHw|{}ye;4$C0DD}U=tPSpa03XVb&Adp@lrf*V< z1PGiH$o=X8t7Yd#z;Ob72!uY;lqCTIX9VJb<0=Ucp!kVEPXZ>~J&l%J2^<#)#}8#c zqLMH>u>i9Q`1ACvBd_112~05Iu3t&`%wPD*FFREWFxpL}KTQe5rm~R?0Ro!^OujeM zUAeHws=_N>@O2o0FicN$guvVaaqjN-*!$d-ggu(b`KrJKt7TWa>^p%W1;UWM(y9Fd zHZj_7Sg{2wWEJs+CXi6TggYUorq&B2-^A$4zws^JNG-s{fruBs_)LI6zXB%T{f?c? zR|rh8q0w!RaQmZA1PF925IfFY>I9k-Xyw%dR?C{ZH6%n}lR(&Xm5T@vs48&o)dN<@ zst%9f1d<7ua3`bG5P_-!Aw%>tm4x5@mwxuOY5_91Ym&f00h8~8EPf==oj}Kv@8ng5 z-3^|E2^HB{8H%`<7oU1Ba7tGmh3Ro>`b6jLaV6A}3_gXRM zFB7Q0q0zED$2=>J*)6>yFrR=4_k3eMRF7?9bZ|Js!C(DIfIx2ovA2ZfOQ4ECXPX#V zA**ti2udKiKuF%A1_?|m@YE0ghW~Y<7GSl?nb#03ZqI7jVk##RXj;JJyXoPP9D&6G zVey&wo~V*=jh1r>)Dtk_u4gYYfs_I*PPkPPrW|2y%_tCO?6f`;7*Sy23AakZ5pQUH zx*-ra5FjvwKpdhMOFQxJe&RDeEoCjh(zv(J>#VBqcH%zuE70Ovi%KAqfC+ad*kPNsiBS(j8+%Anjsyst7ck*IZ{&;`0yZ() zqaOBL>{OV|g3y@^;t*UUur$e7Q7Kk0^E_DI~E(r8A`Bq7IVc>iua6%xQIOY%m z0{sZYeo`%$>D-ls<(x&zCy-=?EMIzBCO}}JKv;O5)6xqxT1l9`qgpI4(9;T8c^wf6 z^dnGb!u{;8|HX$*UJFp?7Fk(USSLwQ(+b42&1sDQfm#A4-?ik2i)$03hK4jWl#5gd z5ZEpdw_oZ?0yP9|VzflP&T83`%$!4jz#4(D=49s*m`9-RO^mFN&2y*f>DU4$++&aL zy}f(I&wS-qs|Dy{nDe}PAa>DrNfID%R>0)@ERhokbRlqZ@~x7vi!qcWfvW=X>JPpX zAke2k6BBNggniyTvTjx&G@F^k2oP8!5Z9dC`?)F!dmlmhFBLesLbkLK=Mf-qL*N^p z_648RLM=cr9_a=8t}0CLp~dn7O{|uc@3x2ph7&OP?srJ@R1)^O^k{#rwtO)Hm5ZL1S$!{N^ylHa8`Y6#1PB}vFyTG| z<7Wb02poR(KbNwE(kp zT0iRuY@2+mDy%bFq7qmp5SE?hECK`?7l=*gr;@Pg;gMXs0{%SR?%2qTz#4(D=Hy|| zRY^GP(9YViZ7XE6YUwwDb_Gnh3yw_}m4pR7gvurmv$d>Y0u==w{_Y?9Lo?R`n0!~f z`7(vxS5=rPDa{rY2t}g_Mu0#rftagd?T#;C6Qg#=*lJn3V^)Fwu;hM<@P2&5ONHsSuJC%^t*p1Bqv{ZMMLKY=2z z9ti!p$d~|u0|N2DZ+;>`phJPnlW&!T9S)(C3EUwN?)b$I1PJsf5bGqZlCX}usIv(8 z^Yknut)HU{grPgAl5ptZ)w$yWmsiM+pXW%=0{`>TpZ;*Q06mZ3+T2aP*NPoDf2gX$ z1O4+;cLK4yj3rEfz(E0%?}IFD{#c}vu+6T^YMnq>ce=9)5NK2&Hky~TDhk-ds3Lx% z&{oJ2L28CTWr0vRzVH(Z*u*H`;9DWfXRGBY1-|C)`1aLn0ZhK9y!WQ+^o$!C#i>SE zX9)}}VDdfi;ObgQfu>$P5K8u3ECK|w3B+tIYnT9m90H48Jz#|_2fa24lotr)LyAa% zKn8)BwoR3UX+5<@V4J{<6Yej4#4_G1FG6b$6(4IiJ_Fn(_i{D)>Kzk!2BLdq6;=)T+6)uEw8i5uBOukzf z1vwDdFA(-Ok+KDqgef((HLrj_PtQB{dOnuGoD*)9gk#;sdUI7EUj4y$0tEULFyYQQ zZar2K=Je2ZDS=QbkT}-`e(zuX&39A_;9kfs5VJ=RAiqG;s>1x~ijZGm&egK~t|Aa9 zEf7iv6t80en;3O7cvj2087heqI4NMleUit)8Ui*k+N~aUx1a$61ey>q;cj9WBvC*oN=dYf%7GM{giwT?&F!??Mbnx)VRfPvT?8nXoLTC9(mjHpo0`c(Aer-dbMkQez zJ(tBkfx%YG_F=f1K*s{15qmnjWH*$(eko)YMiJ0yZ?d7Md6cNf02gS0L_f!1V-X6=-=A zBdcYz-j(`2nm`z>L;6EtG=VLz9(dQDv3 z1PELbh?lZ=_ckn7)fKRb(PICw_)I4f zAkeZvY&ki(5vU?Cz$Qjk$g12qf)YqB5R$j3K>`F83FLhBfEBVuL*S$x0w4Tmp7dYU z0_*_XaH+}n1~iutXiy*=%Slz?F&V!TXkWnOyZteeA%P_VwI|#v373qLa|o;xi0e*w zHUR>y3QRKLR!P|E4JfZH0wGJQ8YMuWv_LE!aPW8oR1yw8LX&jw#tPX>p71W;sup09 z5!cNb1i}oR9IuZ#s|v@{nz2Wdtd`90|5eE z3z%?sJ$!>CZxf@`0~t~`s67G%stCj?Q3WMXLtvs!jI5BAzQI2H@4fTKs0ApkK3lvn zTZi?RKz4x!UOiy7Ec+-6K%j_#$#)TEK?tN5IPvO%m_C{o2@t3uV8UHPT}%S$1#(Te zRT8EjD=iXODiD{R=sW@h+7{@2!mX09?fa{t?0)?Be&@%gtOW=S4T4k%5ZEpdw_iHd zl@nDJPBpH>b~e{)*|1rqw_t;jHvy^}F}gvav=(ZwPD`FyY>A*YTAn zDhWI8mDFzu#9Nq62>@NJ+0&(o_ z>D?RxHZ;0A&Q{B=iug{TPl3>9+Oj54L7<~ejI5SbxIcs>kU_wNI|HgF3G5L_@aloM zC%$V55NJohgu9)wkO_f30;?z7Dhc;+w{z|5|B=u59kl@Mj7P>yV#c;LO@Kf_fmSEq zstOC<1VRlb5QgiK4iT7BAkNwC+r3svc-z9KaRgScmW|VOJs~iZKp3hw?RKW4O2T## zWwuyfn<}VmFzNJ_m`fnc)!p>H9j}rwz0s8x-}!65_5;-dTtUhCwfJgT&dz9?z{CP3-+c^zxvIiG zJY;!VAf7(#C;=KMiI{tzM%AW%Rc7KkAPfvW;GF}f;}_`4Od z#GslZP)Q(EiYqLE0s`}HVsvwb?CwAMArDszP~cV*fbp&lkaIdtfK_F6;xrTnQW(2*(f2ePrIM!nwzNl-?&>EgJi_iNCy(uuMLpW4bdY1( z6jc(Y_0(FE0_RuDnoL_#1PELaFyX!elIm->m4vAPv{O?c)(kE-0Rrg+Ot{lo)@W%@ zCE;&>!qdJ%EkKP?D;qPE4JR4_0+|G2rgk+un80Wo8Vxo)cXY>U*&QT)Akd{i=rU_b zk1AjjqeLTXwJZ^&W(ZUkFyXE|0K(T07=9C@SVL7z0tC_vm~f{z)gpoW1#Z83;Ah_H zmp=4nEx^uiFxED$ocuXzFl$_T{# zVN??4Hx_}wWdRfJ%O1WF=v5%}n)n@gt0cUG#1Hcd`1AC0)@EK!{kZdVl+t|Y9}T~X5tgtX0RjR1j4 z0cMj$kkiA07Lu!&LG;k80m)>||JxdcqObIEG= zgupjG{#WmP89=!9q$l2e@B0BV{m+I*_rbKDS^;bHj*JgV5>mfdf~NeDhapSxspI$0Tb@L zzFH?xN+28w^q80Y_*Z4G1vnD>#LubWq1da=Yxi9*^c>ZH^$I?E5sRZu&*t>uCAAilC`|&rv-s>m5&j&p5Ti^SmUhw||3T4kO