ࡱ> ~}[ R-bjbj80ΐΐ'   8C O J=ccccc<<<<<<<>A2<!<cc4=+!+!+!cc<+!<+!+!+!c@F ,+!<=0J=+!A |A+!+!BAm"`+!<<+!J=A : 1)R(uOpenCVۏLN8hKm 00N8hKm z^;N[b3RR sSR}R{|hV0R}_hKmVaNShKmv^h:y0,g z^O(uOpenCV-NcOv haarcascade_frontalface_alt.xml eNX[PvvhhKmR{| (ucvLoadQpe}eQT ۏL:_6R{|Wlbc0OpenCV-NcOv(uNhKmVP-NvhvQpe/fcvHaarDetectObjects QpeO(uc[gvhirSOYN8 ~v~TR{|hV(WVa-N~b0RS+TvhirSOvwb_:SW v^\ُN:SW\O:NN^Rvwb_FhԏV0R{|hV(WO(uT>f_ʑ>e @b(uvQpe:NcvReleaseHaarClassifierCascade0ُNQpeSWS w gsQOpenCVKbQ0 002 z^[s 001 e^N*NVisual C++ MFCyv S T:N FaceDetection b^(u z^{|W:N USech 0\܃US-NYYOvySc v^mRNy N8hKm vQID:N ID_FaceDetected v^ub܃USyvmo` f\Qpe0 002 (W FaceDetectionView.h 4YeN-NmRN Npp^rR z^Nx //WSNhglQ[ؚI{Nyf[!h _lgGS // FaceDetectionView.h : CFaceDetectionView {|vcS #pragma once #include "cv.h" #include "highgui.h" class CFaceDetectionView : public CView { protected: // NN^RSR^ 0000 CFaceDetectionView(); 0000 DECLARE_DYNCREATE(CFaceDetectionView) // ^\'` public: 0000 CFaceDetectionDoc* GetDocument() const; 0000 CvHaarClassifierCascade* cascade;//yr_hVR{| 0000 CvMemStorage* storage; 0000 void detect_and_draw( IplImage* img ); 0000 IplImage* src;0000 //}eQvVP 3 (W FaceDetectionView.cpp eN-NmRN Npp^rR z^Nx // FaceDetectionView.cpp : CFaceDetectionView {|v[s #include "stdafx.h" #include "FaceDetection.h" #include "FaceDetectionDoc.h" #include "FaceDetectionView.h" #include <string> #ifdef _DEBUG #define new DEBUG_NEW #endif // CFaceDetectionView IMPLEMENT_DYNCREATE(CFaceDetectionView, CView) BEGIN_MESSAGE_MAP(CFaceDetectionView, CView) 0000 ON_COMMAND(ID_FaceDetected, &CFaceDetectionView::OnFacedetected) END_MESSAGE_MAP() // CFaceDetectionView g /gg const char* cascade_name ="haarcascade_frontalface_alt.xml";//R{|hVv Ty // CFaceDetectionView mo`Yt z^ void CFaceDetectionView::OnFacedetected()0 //N8hKm܃UST^NN { 0000 // TODO: (WdkmR}TNYt z^Nx 0000 CString fileName; 0000 //Sb_eN[݋zS 0000 CFileDialog OpenDlg( TRUE, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT | OFN_NOCHANGEDIR, L"VPeNf:yo` v^Q 000 if(cascade) 000 { 00000000 storage = cvCreateMemStorage(0); 00000000 cvNamedWindow( "N8hKm", CV_WINDOW_AUTOSIZE ); //R^zS 00000000 //YgVGrX[(WRRgv^>f:y~g &TRQ z^ 00000000 if(src) detect_and_draw(src);0 //(uN8hNh:yNN 00000000 cvReleaseImage(&src); 00000000 cvReleaseMemStorage( &storage ); 0000 } 0000 else 0000 { 0&, nbsp;000000 AfxMessageBox(L"elR}R{|hV nxT͑Ջ"); 0000 } 0000 cvReleaseHaarClassifierCascade( &cascade ); } void CFaceDetectionView::detect_and_draw(IplImage *img)0 //N8hNh:yNN { 000 static CvScalar color[] = {0,0,255};//(uNnh:yVP-NN8vr 000 double scale = 1.3; 000 IplImage* gray = cvCreateImage( cvSize(img->width,img->height), 8, 1 ); 000 IplImage* small_img = cvCreateImage( cvSize( cvRound (img->width/scale),cvRound (img->height/scale)),8,1 ); 000 int i; 000 cvCvtColor( img, gray, CV_BGR2GRAY ); 000 cvResize( gray, small_img, CV_INTER_LINEAR ); 000 cvEqualizeHist( small_img, small_img ); 000 cvClearMemStorage( storage ); 000 if( cascade ) 000 {000 //hKmN8 0000000 CvSeq* faces = cvHaarDetectObjects( small_img, cascade, storage, 1.1, 2, 0, cvSize(30, 30) );0 0000000 for( i = 0; i < (faces ? faces->total : 0); i++ ) 0000000 { 00000000000 CvRect* r = (CvRect*)cvGetSeqElem( faces, i ); 00000000000 CvPoint center; 00000000000 int radius; 00000000000 center.x = cvRound((r->x + r->width*0.5)*scale); 00000000000 center.y = cvRound((r->y + r->height*0.5)*scale); 00000000000 radius = cvRound((r->width + r->height)*0.25*scale); 00000000000 cvCircle( img, center, radius, color[0], 3, 8, 0 ); 0000000 } 000 } 000 cvShowImage( "N8hKm", img ); 000 cvReleaseImage( &gray ); 000 cvReleaseImage( &small_img ); } 00lav/f ,g z^ЏLe^\R{|hVeNnN z^vU_ N YgЏLv/fubvEXEeN R^\R{|hVeNNEXEeN>e(W TN*NvU_ N0 00 N0 z^ЏL~g 00ЏL z^ bN8hKm܃USy 9_QeNSb_[݋Fh bhKmvVPeN z^1\O\hKm0RvN8(uWWh:yQeg YV3@b:y0,g z^z)RhKmQ'YRN8 FO1uNIQgq0n!cT>PeI{SV RN8 NcknxhKm SY _N gNN^N8R1uNwQ gN8vgNyr_ _NS_bNN8 ُN/f,g z^9eۏvR0      ,,,,,,----- - -- &dPgd^q QqQ QaQ^q QaQ QaQ^o QaQ QaQQ^o QaQ QaR#{j}H_?瞣_?瞣s(70?vx_y? ?>_{Xw=&o]z*]z*WFIo瞣o瞣sh60?v_y? ?>_{Xw=*_]z*]z*k#kQ^k QaQ QaQZùTWTT}V1Xw=*_]z*瞥տs4o0o0oaa+?w[y_ ?~(irIhF]<=TTwTW!'1%߈6?&Blj?_T{92:+l5`l135cvcğ/)tuW5[Vc$AqH1kifV^CKCѭBr^^inwKG>+lJ+yo iֲ< &듟](z_o./xu!gxJq'ֽ|%s0*?BN{w Uoi{vh߁#7Z>o,a*i&$f8cmoGk-xfs#/6*HI]S[NvД㧑`ᱞ(BζZ -!'!=k#^]ڒw9EVȌmAA?ETu͵DCyDPp0i=9'p3XzgNIaKļ 灚OzΟ5ѥ2__c]NRK8"i0 J<c^eAlR}GMyU"ʬw|P>\`dבk6^N[w}< F 7Y[NZ\Jnw"8Ԇ]jjQvkq5&ަWomC w%R8*Ұjɭk7rJddC }G]Gh6{ಎ# ?V7e񓷵g+BJՔeY1=s0:Uo4_cY$v-FULI?|$DZ=_|Nu@i><}c-MleVJZV^5gG-J4贃o2*4-&ͤxYݽ=Zv?VLZ>2:q3S- #y"]})+% C 6yAw .Ǯ7?ʎ-M?<8N)Ҽ٭h| kB"\rpsS .ǭ<_ 9VON}W>hoF.#m(^|+tso y`+dh֫Z6u)#vybyxYv=2?BW*L<~/& >q05>${f. HPWPKU z^/|дɛh1dW Y5ԪUCB@+,eQ"f:zv]xͿ4XREAq5/ctWڔ T 1nqm5bP:`c;smcMSn%~azyei(LPc<cZMjʄm.䃀qs|:|=";o+?כ27hdvڥ 0F 2=*[=J+&#! A($3+8ר6]hd!"ڤ uŞrq;x\ wll"ܖL}Ӂߨ}*RZA.R7F@ì L+dy'exо>}OZ[.F`W;-UmX|A[} ܷ́G,&|dm7(2dAxǹQe-;̧Uwa׏U& x;S{{/ ^L]\| |=yEvyԼ1w=Oq\@۝Weq@MBmBk۩QI`@{U=CG6#?MH˸FA|8k ڞ [,L3*v9 la;̈r06g'Ժ]C<m3C'îg?Uį.Fm?=3^isj,y۠jOk$KTTc}a T O8'V!_I]wՌ++ 1?5?J7Ov40v(lwXXUd߃zd T`;=GY"ݻqʹXFZOˀO{d`Kzcꥵo5 yY 6{]X< (OR}sj@.lc'2ˎ$އAҷm̶A ۬qSzq 6Oƥ+ͳ82 q#Qٽw:vNkTLR#QaRbWqWw`xէe ^&Y]ð 9?Q^qUo1"'zZEziRLѤbCJpt 0=O~Ӹ)XԮmO%^DGEуAkwקYI,hQ-1,zt+$suw3^I!=zz5!{7/*$==?/XE yG' @x9%m< ׭;GNEsZ\^hw5~N}9PzvöVqu=ƍsuutCێ #tTcsHoYK2z|SU.P H6N(he LH.AVrɽ!'i.@6eh%d0O̤*ۗ}].D2}ƦV}`EV#z,fxPA8o)PXH[B=)!$:#߭H< !#=*!ኜT"ٹu2B튞8rY\@#4D\yA]h{"tfFS$2M##(Yoz)!7W=0)~&I1!@ᗎOjEl0p$"8¹?2*ͱ}cHm%yT /,׊ɆdEs)>3iwkfbt+EaTmZf&f—+2?LT aLL k2H qdNTjHѾ 2RMsei؊& pw{ږ&\E+I#9B?IO#wg*]UYpHK$_p@v楫$pFRZK-!i_89I :y2d}VRHOzi tیySsVK#9ִi&; ѭ-魢Mcڡ+`c]:եMi~^S7r?D݊rA>d zU%T"1Zi3\k{ |tT.hxUΕiPuj^~՛Wy+W|sϰ 0s;N5(n!v _?[B\eM_MeK}W~x˴=FN=N8c#9 8w] *TJ >Gj! 2*[y|ȭ?$Hc*Kq3$r6[8wyjC[#~˒F<AϽRY"aORƱ"3$ci)6dJj$M eTG'o,u䞇bLd#$fM|g!YXO1j BᘐM-N >sMK ۯLqPy,Ivm:+y@FzsN,hʲ],4<VIsw 6ϯz…T9ǯs&F-yuѠnYYDzL!K.2v![pp?ҙstYɌ/)=@D2Y.z*x7$2\V<ז.G99jўhDt@2(PkP/; f`8'x2AsZ,ݱJ$(Ԍvr 9,fCL_(b^R(~dsZŻ -ڹh"VaGV9nJQMw7?2$I)` ^*䰭H%b/ 9 gWt~t鴫c6G{dZYn}gkwh3ՠ,t9ěmϯ^,۲ȱ¡$8?ay"jm_~r[$XgzT1"Lebgs=*6hQ#=)>Ro&sO+֏nv\dcWy\9ԠI?wqئI 6:kk~) al4HGZ~87UtIywC~ ǩ$$( #XaǴm)1'SR!B_wyg^ji- tSc}i9ePXL_:5V+Q歵ar yh>4`H]HdLÇ_QTCRr<W+z Uuʛ0?V>i ŽSdQ#0(׵Rb**T 8$p֤H`54{VDNq튮n#D "@O=URՁeTr>uoI4nvGNg:rөVDI( jڅ>%;8 |?Ju֣c/*BC:nle ұF +&eGYppkH B[R3K+eDq+Xr3Q)+;t֡cOqXm>^\ԦQ.dp@=i|1'+iRVmur1ySMI^9v+I0/=y:οmC=w)9#Z\AXS眜xk5rz(4Ȍu#Qm[I"TQ,M8;E6{Z*U}rg)!@mI(Mqn5mZhՖ,S&|XFMRZRSK{nN 1!NW qQ /U\-G.ܑCLmv:gjAX,x#f_mۻЁRT)e fW{EϔV[}ć,7Ofl/ۖa][xH'Orv{X\ "|{uKa"ѷ#Ңe2`Dp747w6, 1҉*yY}v8[I*s5jKKi̫&Dר?NZ=UىYTjhr+B u u'F*a:UU7O.nGɐA8U0Zp!f*r3\*Hp$QW=Cb,m0 1'>JFfr-̏=Kby_TV7s,ip~lpk!%,rr{ҘNYQx=I knn0d, v>$#w zT[Yb~+>JA !W4\4…%_U-عld\f Qp\yϯWDGec䂽Z}':$W dhW}N; y+O  1PmL 7?k0!IZneFOis`[0̇PD۹IϪߘErF<zŘR ,DXQI8O XmZL[7 'θ7DA]:g׸3,¼)ndoEykxݔN+tm #D.GAgF8ym4!as`玷a^|[]wO;wQYy_u̩/nNԕo9pꖻ2oW<+Y˱Qz޴2k+RT8sO_~t k{-sqGaRwN"tzՒ[ߟdBg[pBwlOA=OYʁ;4Q0dRĖ=whϓ,,sg%svqOM7rd8EA$ѭԨNM~a$vŐwj6M:"o5bHKG#s1ȭ be0ܬIԑ0N}+-*̄}GWl[ ʰ.X85S9sݾܺ枊]} #^RSAޠϼKo&Ur;woiw'fdoNj2ѣWd;қN9郃fJery'!%ф溩I Ž2qv~Ir_.`B }# JL̹RBkGFpגc2)ՓDex1OfŚlψc$h wNo-kJYV24x9rs9j #p\Y˒1Q;gR"/ڸ 1I (ˌ֠,UV68`?*M E6Jg:Xᾠ1XM;%yː3u#0jE F$ +OUQRGLߑKWUbr HUҝGsԗrߺ6^E j>NSN#:q`NtJİIߟu)-a= /Z]r#(*LEv)] %21?cҖQ:ʂ2>J׆A#yfo9n*$&;Hae=F; BG"4;q8*;}8U,Kܞ:gۓZwVqm\Wҩ\Ɠ=bW>)],FڅlCF@9!ڠv9>zъ W/ݿTkFeh\O/%zI+_$U`a^md>p^^mgD8:sM>cYD%9 qLC{5t s~="6ʽcǥf; n:d԰~v_nFK e*=r+BKj m*6IXFԓfԯC (ӭtw4nIV,F.xhi^d!ɟ»hR(* TtVzRZՃjyK#&uqi6xY͌ןkt-Ÿ?A`%Oƻ>^ pYGZx s{| ə%,eXQB~:=ͦJ,[#}sΔZ]:Xj$nGdٲ8Viq5I!䝊̌;J`G."zrF'z5ea _N)k4nCdgOoơM*##էhS[t"8bd^{T}75HOH-K}iZ*-ur-ElXV7MR[vaA;r# A9=OIh:~zח|Wqȹ*1۱ RGU&u{z-B !'ƶ e۽ ҽX--$&+H"UT*Ϻ61Xd5pi\&X\L+%=9`Te]:EK3Wob1;Fy%sک9nHB:ן̓G_ R֜O~kfM-nwk"Ha޶WT =M?AᏞO54oN«WЪP|WlMKkC6J3:i44O l/ǡc]A#vbmV|1F8Xy>iz|g23jhu V|3=k"ڎY@z-+ mvF6tgNq01XNq*lJ:T62a9j&N)5&/s׊EsƉ19YV= ٶҥ;?hUDeOsj]P2xW:e*p[Gesm6s}md ^ kh&G7yAzUyHL$J@-e'CGϾ %/)?ZT&v`,?Z)Zsd@%P#z6d?%_'nW'+;vjpF*9''Y+{h"`rK^M0ΖoVeĪi_u /8ƈ$`sGң˺8RbP~QVS)#?:u+M՝bT`^𮖚^H4q&O鱆T -a.Ehu(r5fnY:|e#Q)8Fjו\Y!GAQާ4+4 S%VA@`N2y*7tE |Ǵ+Zi7Ϋd`c,N#' 4cnt-F%OuWULE{np16v27l畱&_:h{rX8|ߩ_-ܙ"= @go?ՠ35T)rgTYNN^{mob rle(TeOXB{WKq#_z:318J|JX+mⶁ dsTVxXν~u.ȁe`@9ZҹDZD2I7'J-<#@$rbG*kUsmSnV 0E2YWm^j 9 }=&[6LhȠO4xdbA?ӚZ#өVP匵}_E{e/!4cqy:c%W p=?t}guK  zxJIRb[(z爴{msOxnaF acڻ%M5cǥRQnL]T6ܜj=ޙz#oCR 3mO^ݴ*sJ3;"]ZG]!{i!t#Jd]Ǐ4¥5Tms~:'W ;py5Njq֦f. ZtK^2. oZ#ن9]_[yhF$Psx"vg-;RGT y_f5Ev0zSl1?O]p^ UӬB;¼#>#*@?bc^^ FġHr=#6aKq9֭ɧxmB^WUשW=}狹 $8=뎝E);+-Kz\2EGl8H˒9bX+/"7c)d}˔^sX_%x#NF;Vf\N{й`dZhG"9$|֑h">tvHS݇svW_g- ȭ4xt"湦PQQ6TGks¡Mן2ofg`f@?vRzsIm MW!Os5v6R=$P͎QSC 5?2ap fTipNnIR ]{Skd(?s=U!E,V˱ m-s)4stvzVjS{{jI9ⷌ0]ªU7 ޹ n(PezpAym,wrB&LW/.dEͳ;3? ӆK+qa7G,a$+S 86)2&3(RX|>a|=$6Wl=2t*8!sE'&vWwjLJyܾWDhd2+ե6Ty՝VBeɀFRq/)$ ۸Oņ wkT͸RDT.? m_gVvmKHѻf^b_ɜ k_Ywa\'Anq]yZ xD8emMEx Fx6s3^J#~G,KBV>ۓMeIU[ ]T$020iٛͤ-dI>ll9p8x>{U9 Ŏ3JFCAִ#ݳȱ"daIZ2@m&WO^+3H2Ozҡ ,rG{~N42-S#Ʊ%iUt <5l`ȮIO٠BG͆I9+okǕ̻GR0lH䣏p0ksZYi!!jޭa"~10pk7K-')rpS?ϊQDJ[r<w t?6rBfZ1gptianj|JܓI%AkT`b5╵)1~d`F<ڦd#p9S"9_G@|?Ӟ$z}р/W 8$'TraI1TR+bIU1׹ȩa+4nvЎ7-.3j `rUH=zf]0i]iJ3 ޤe/q ={T]~MnBЕuN^} ĮyerrVHm]eՄrYz=pdre=#*y"b ]A׵5eabxSݔd][#,>h>qp˴9Zn{ B9e{=fTd@.َ?A#U@?J߉;[ P͸g| fuj*b(#ҮF; Hg6}{Ҳ%ͲѴՐ2G`F3?J;jWPӳ(" VFKmG!wB0?7p{V햤J^+H,O5u>un$뎕Acru-i7dm gWm>ͩD>x78l>\𬭒jz7:Yb eu7JV^d p0GR1ќ++L֭Xōyp6_ZeH ZA==u-~=.uű);3|mkmry,Jߧ^.i0q^$xl|psǿjͫ{ѝՙ]0PUFϹڅ^Uf9+mn?2ɳ[|OMFm:e,?p?C\Gc"1ԁL*\c9n%41J3H'sc쯩c*v} G^ kgYw a\h 9!Z]|aKat?jU>WgΫaik&2G֘HY1ɯC[[xo" >˻+{:.xUsU.^>KJ:ƟGTU-Adc?JVrùPqܒTƅh3i%R0b QYmhj(}eQg5q./M.2緹x$SB*&24w ḜךsvaPy k״G{H~Q,q~0s]t(pSoc:Feg *`}_=9d0 +?JĿhXg orGBZj7SGgeYBĂz0ҢUNЄckh.f,ltU,my~zl5Z RdYf;HoƴMKx'\l :ii1mi(ӂ0I\;bK!ha{ iݐf[}M$Ay3ɸBRK1pOyG@[#GZV^WI:l>* Si c'&M]eBµB+ 庴sd@JohK{K}QZ?>$U.!ˎn4Q c#0RIMI}rx>i.nh[0@9ڬ0EUМZܙukI<>̀b?:GvkΰaarY㹃=+v8p ̰qڥDfH9WS $ԔFt7C}k5Xsd#9j9X"cFj/Mh?Hס&-Vg@ڸHZ80Av{:]IaIV$ͮ$u^kiw)S,К2H d?s v}23csT{Bq5׵.Q]pNaP$=ylG9',cv܊DOq8O]TjC򻇧P(' CbzX Q ؖhWEh|B##~Up%!g$/{$;QEJõk2;:+ViQH^H9{df<2GvCe( ^ cZ 钰'u`{ՈQDFRQ# 5N1;#Z:FԬ"̥Ilns \y1hABIZ(ԢH'H$CKN=O,lWw3["dfVs}G5ikoe؁YϾp*JFƚ-^euߕ%Nr:2J޸SFT gNu%fg:-A,i<+5a֧R4 Vszl j% usmYn%ǝtCmj8SeFf;"63*1yHN#2N1y1\H`R[\'2Tc=IhR%&Sx_iI$ >Jg T;3\4p:W|@(|S$xϖukQVUBph G',35%(ukyɿ& ܠ##ga,z"/;}Gs洒cۨ jw ˔Iݑӏz)-ae\’zsǭhIhPPѰƝimx.Uj@kDSMs;ڝXLF>CWҵ;g&@%cTVg}=ՖH?:)SmHq毚)]۲=n$>X HxęN"HǠ$k_63^o_]]Her8lp8Fi#JTu)''2X<h󂝂5$q9Vv8nʻvq*@Hyn~֣*`+֜p\sk|έYwx/Bgel6-yĦpƽPυ@38q=|A z 8/r "`J"Ifp*['Nh,vPBr;pn}Ǡ ~Θ~}3M oa\(8"H[-: B͜* Ӓ&CGӽ;@^;K+2EjjrDq,Hju\akl4EZocO촹$X*Ҹ֌0\BDQT&͍KXlu |NpNzYkƱ=̬mv犂Dk 3#{SΛp$k ev 3Pr P35u`7^V d\b}b.bH#\zp{W~cMD#;\r=1<Ä%t{4u>fПUW@V0 pyDݐ/kt_xS#7%|GzdjWo];w+QɎ$54V ,kؐ*ZGO&ED_EnQ0S9cjۀ7OAl0p\`J.|5>37L8!%@1ђInu/`!wt%#=sQ3*:_ 7Ic#f%#=+[r1?5m!_WM=Q~Ytx)E-ŵSs$/׸sir3Wm,'aS&hSy-P8qX¡Ös Egw^Ko] -6(E̛DLqƴ8`rqɩïiڡ'lKj#ľntsWcҰaKoWj~pk#>VbxUyHLҝbuOE S\)PJ?ֲfYXFiDI8 S\(#RjDRֺ0q`tzgRzH)?'iE}) ^ kW:GdLv-p<5?]wYCliOa;2sNIrǽ!*OA4c ކvw{sJbʑ8ٜ3V.pOQ;ʏsU(81jtGxOj9GaJq= C3U$Ļ7tpF1uq'-r `ejkngcj銲(MVSI^@JRy#ҫޥ!4gfsKh*iON[9)!l˞u'o2I6w`z4ѓ$rFT2~dc4,cA )Sľ!kbހgX(=sAi湭_(N{ +HfYrj\TwL5ovAJPyLu]2j<}_lG yJkS9ݳkA6L`VDC ==a T' 籭FKUd?:s]tnw>ht@1yNF3\'k[kJqM /sxDd=qRװlm6T Xn RQ+* i T;Hޕ<)ڋOe#̼ewq})2$}'?d[!1Z~')'nY `"dϔ}sU6i\8XpnbxGk<s)l*֭;^30Pa 9+JQO/S}72FIk3I#;}A,H@?ֵZ! $nҚQL1ǽ5 P0}: Ms%q!9liMM)EF) @Nyi9E9~S qژ4l.ZנO$SsQwH⁢9>I Nhb:u4^I "+,xzSOZ<œ:SXsfU5b; 3X( M0\pjR9ՏD0Hh)\20SG(V6;Ǵ[]]IGƹk;dW] p7E*{gCnCǏ.F-(+Oj-PH*Ƨb{'. 7Em#TV?"ܝI!K ~?^P\lG^=?ٶ,L3<;(&ʱv\u\v#cVg4"PbHO/ӷv)9Xa@t!hY@iXz$|8f$0F9<ҘUP+ EP*=:F3*÷YK,, 1+9ǥHL+?ڱgd ^ x[ ~#,|EHd X»u?]W;۪E3W$HgI]K-BHپxsŻ*X, ?WӟOA?ğvC'O;Y{&G̋_gn0?S.4VTgJ{!dIi0>]:vG˧^'˜4P1#O }KdIh2A~$XY-;P?)iړǑO?}QdIh2~$XY&.9̿-)uߟ}cdIh2~$Za;1H`2w𯭿 0߉?F'^|tHm?S6+/C'?O;G!F'^|fKžnGo¾2~$?`ZkiZ?-JV??W?OAğvC'?O;F|4P£}U?-p}]dIh2~$kƟ!zG{UL݃^g!IǨ2~$kRW ߆ nAK ߉?OA?ğv{ 3j&Tͅr:ۿU4M+?C'O;G!B'|c-)m˼wn0~+a}s;:~`gm2~$?`-ZZige`go%с+F=Drb"]B'*_y?;úF>`:m`¤}񶸰w o#dIhad|>G!+09 OUNs_U?`? 0߉?W+E5Xk'kFUZ)D8 rI$l[qVCaESQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEj 666666666vvvvvvvvv666666>6666666666666666666666666666666666666666666666666hH6666666666666666666666666666666666666666666666666666666666666666662 0@P`p2( 0@P`p 0@P`p 0@P`p 0@P`p 0@P`p 0@P`p8XV~ OJPJQJ_HmH nHsH tHJ`J z&cke $1$a$ CJKH_HaJmH nHsH tH$A $ ؞k=W[SOBiB 0nfh3\`?/[G\!-Rk.sԻ..a濭?PK!֧6 _rels/.relsj0 }Q%v/C/}(h"O = C?hv=Ʌ%[xp{۵_Pѣ<1H0ORBdJE4b$q_6LR7`0̞O,En7Lib/SeеPK!kytheme/theme/themeManager.xml M @}w7c(EbˮCAǠҟ7՛K Y, e.|,H,lxɴIsQ}#Ր ֵ+!,^$j=GW)E+& 8PK!mQtheme/theme/theme1.xmlYMoE#F{oc'vGuرhF[x=ޝzvg53NjHHzZ $ʯI)*E_N&IA!>Ǽ3xN>UWL0Č߫߿z}rx{h9T8T/χ?xY'~3S~O_|w)ӈHt=a+d NG1-RlƁ1RJwT蠯M1K"o he˓ێ½PL-|%EhY7'qP.\L=dqķ3Iofi.ñBRb-JP_pG ݢiKtdӌhFio7;7Q2ȾD>a/Q>XW ˔M_uHq)h +:Viw4rBqϫ"r!2laCbU|!8^8>ܠ,AбVt׎~ls14_=,ɬožTV G"ѦbH'.4x޵w-ϷE|F;v`b3"G 'e\fHO '$i_wp >*8i&LY%\,xҕ= r6f 3Tʅ):ªZKLs&C Mܛ0 [˫p@ע`j۽7 YHxHicT5Ar@HZAZC}i' RQ\m,zo,gQu{Y\,Nר/=L _.̇Y7C6-fSh62"5NHT[X65̫4X%Yֳ2fkhi~tCKF#b +w1m|4`!:U!p5a:~{4mmio ήc8mDJpSǹ橠V1?#Si?3E'pS2W`qB]( 08w nA[s)k8= Aa?R dڒɾcUӽ˲d)#Queb}C!&i0>4S7{z F} 4sKvUKoȳh~1jYUVH5U8Vk;֜L9ŰD ?*|FL "A3>g]dm2iVֵ褽mg A 0 - ,-@  @H 0(  0(  B S  ? >DHiv| '39<@EJN\bcpq{|)*.06FJV_gy  '>JOUav#+7FRdp+-2DSVhjx !#17AR^dklt}2>GVty #.14?@Cy " 0 = @ D _ c o  # + 8 ; J Z x  # + 4 A C I J M O X o w y   $ - F T V _ a j r  ' ( . / N O j p w }  !(]d (+4<adqt#$%''))**,-/023?B/1PT48DH_c?C`dz~$(ei ' / d l      $ * N R U Y $%''))**,-/023?Bss3sss3ssssssssssssssssssssssssssssss$%''))**,-/023?BKl B-j{F,?;j{YJV B-cz\"F,W/ W/KK@KK@\" B?p JV?;Jjr9w?pJj4vv Br9w[mcz4vv 81'=uK=8"* J7X_isu4B$ISs{}~j_%+poFOMuXBrx h !+:I 95"=@k)8j?)@XRX 00\>KQe?u M * v C L Mo .q z c * [> #I ! /) 7 \N h |  H , E< _ o { X   +0rlvo}s5qU R5S]_Dhb{A~ ?N>I % C79<z'=^r.4Wp[-ixA(4V;bDw}~.01@/iFqx\IJ[&6,/BN'yP{|X ^P+3I-J|ViXiv|[3S6SX#BYd0ism H # 9 ^ v f} !![0!@E!eT!""+"L"Ye"{"}"##i)#+#;=#$'$zW$b$d$Sl$]l$p$%0 % %t%%~'%I%M%y[%d%r%^s%z& &&G%&n5&/E&pS&f&Tm&''em'p'x'J() )F))))))B)J)N)rS)U)k)J)U)**(*Q+*/*0*<*RC*@X*h*q*3r**+^#+%+q1+U\+_+`+'m+v+X,,@4,WQ,],m,m,o,v,4y,W|,.-'C-C-K-9N-O-Y-j-n-z- . . .:....b(.9.:.wA.#`._l.|// /M/Q/p/%0*0/090{0L)181Q1]1a1y1\22z26282jB2vC2C2vS2S26`27h233r"3:4[F4F41N4Kc4Ai4m4p4r4}4955 5>5bY5 666C#6Y&6466<6 J6\6> 777Z07I7]V7^7_k7x78%8-*8|I8Z8u829c@9E9 L9`|9 :(:5:G:yS:d:Wp:q:;{: ;#;&;*;3;4;8;1G;bH;@N;N;d;d;oi;+r;u;< <<-<m1<X<`< y<^ ===&=o==D=S=at=t|=1>9>W_>.y>>?w?@?iM?-]?@@#@<@vE@ AAAvDAeTADeAwKBPBRBY]BvB>CCC7CfCDDD'D)DEE|E'EE*E>EeKEXEbZE\_EnEsE\uEFlBFoqF\sFjGR G"G5GMG[GlGnG1H"H!H!;H8FHHHWHrHzH%IiUVikXi|i*j?jeRjYj}sj{jkb2kA=k`=kjkwykl!lG4l4l5lO;l]lPsl&mVmWm\mjmumnO#n"0nf9n>nyGn(rVrvrUxr~rsdsJsis6s:sQspRsS7dt899OQdk3PxERF`zt'(Whhw| #5Gm|pVG~Zhmp3hCUv//9#=-W[ $:UdYT\o;y(*x3>To;'{)~15]d!D|DIQalnwxK,f r =!9V`/6Gw9S-ALM_W]oTq2;WLo&x+ihk^u+MN4 &r+oJ_bb' !v)8EFXH\t7y~ BkCXX\r^D#WY+f>IV22EEWL BWCXv]s_9zKd.ALoRV1<}ScXZy1`=EM}4 R\S +.5V`g>kR!_> G!u'SH &lD<KN^rsX/28GKj>%A-.3 OaoP$C^FFi?Kf{l D`!3I*KnRW:Zadv!'4FSZ]eGs!wQ}T`a* 'HL]~_z 3>@Sqtb%^l)ntx )[9\cJmqsxw[*c%>VLNgXjdk|10 8v ,1hDhj .?C2HfJMRRW]f-{2EM9cu(026 .>0s5O\Rjm{/dveZqF $I'FfV&5g]# r` e:0eys6#~-!d>#kdvA ,;D|[[p~",$r-;=6OQTUg{U *-#=ZGyGcmdo{&Br\fhu v~vf":bDGQ kx :.Z]AGS)cTrOwVZcwII6M]dw%X@U+]pw!qD_{T?888Y(Z`\T1 Z+3<z r9Md-OWJnn6.,S\y9BY7gkoWg]5RjSX[f '1G^ahn|I` h\7tD]Iyy V=>#hir3V!%oC]Go ;S?KABOb,> A-'K)-DJ4Vh[z}sD^LN*PbHlRy 9p3s SRdi2]AEdT 6+E/AXs't.R{_%Y qQsjmAx.C2D2&?gDoj s!`U5t@%&<D\a+o$/6IpJOo7-<UXamz}p)b*9?]DOh+z*CD}KZl?stu~9-BFGU_`SdnEjLHxs a$D_|2 >0aw{u}h 0A_mg)$eOlZq(A\Twmq 3J5V6k+oY`?ehs F' +@{')@AXXUnknownG* Times New Roman5Symbol3. * Arial7.  Verdana;[SOSimSun7.{ @CalibriACambria Math 1hUVi i !?!%),.:;>?]}    & 0 2 3 : !6"000 0 0 0000006:>@DZ\^ =@\]^$([{  0 0 000000Y[];[2HX $P?@ABCDEFGHIJKMNOPQRSTUVWXYZ[\]^_`abcdefghijklnopqrstvwxyz{|Root Entry F02FData d1TableLAWordDocument80SummaryInformation(mDocumentSummaryInformation8uCompObju  F#Microsoft Office Word 97-2003 ĵ MSWordDocWord.Document.89q