From b6a7f1748c5ca476b3d18441add73266be08ace8 Mon Sep 17 00:00:00 2001 From: Dharun kumar Date: Mon, 28 Oct 2024 18:11:53 +0100 Subject: [PATCH] Added the code for object detection for images (#75) Added a code for object detection for images, 2 test images, models folder containing the models. --- Backend/__pycache__/audio.cpython-312.pyc | Bin 0 -> 3493 bytes Backend/__pycache__/head_pose.cpython-312.pyc | Bin 0 -> 6626 bytes Backend/object_detection.py | 169 ++++++++++++++++++ Backend/test-image.jpg | Bin 0 -> 26913 bytes Backend/test-image2.jpg | Bin 0 -> 28843 bytes 5 files changed, 169 insertions(+) create mode 100644 Backend/__pycache__/audio.cpython-312.pyc create mode 100644 Backend/__pycache__/head_pose.cpython-312.pyc create mode 100644 Backend/object_detection.py create mode 100644 Backend/test-image.jpg create mode 100644 Backend/test-image2.jpg diff --git a/Backend/__pycache__/audio.cpython-312.pyc b/Backend/__pycache__/audio.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0b663a0d379f29bba45ea036ff596493d81b1e6a GIT binary patch literal 3493 zcmZ`*T}&HS7QW+|v1jo32W-5U1u~Sd#aRLkyQ#8i)5;hV+!B*wXbVBI2G4{T%-ES3 zhhRa3cKZ;jR1hgrSZ!9j4}Higd5HSDPh_7~`(g*W&9x z3zDd5LyNhw)Wa-ybOw(^%VYA9r8G}~PQeBrBU0n6NRQWuR>2PXIEj^Na(09s!9U|B zIAGQ(qA5aaEX^R4qpQ|kpv4Vet!VoSjn|0`P>;w0^-A?(%}fVE3d76mj<*GC#Q<8_#Uhz= zfTODSx{mJz_Y-g0tGP`{!%-h=9&=ndiMg*LivhAoFVI4b<}>9*YGwjlO^KwyiG*NZ zpeulx>4TMO+0u#aGKD4K!#k|=Xdbm8t;y5~;5fZ#(@vPo)ys>CO*Nr@R=yC(6e z^px5asMASMt6SuZZcQa+AvL8_GC)yx1}|M6jEs!-h2w*f*obZwG8su0bvgkj&~!4B z&gfkKaPU$%77q=LMn`l~&Ccqs81Q}Z@@AcljhX`X;AmfDC>|OJ2S;@OF~RuAz;HM= zFf`bwv*DWwDWfIRvTlP@PQhJt+PJJv8&(J~x-}__f+py;bXGGM>s18;Ow}nIce+*8 z1TCxTHsQupT$s)1^bO-ygrs6<^M~yq5<5Tf$x!b^8t%q}ZIuL=C@pJBax#k#piW$j z#nPdk_j-PNI($fvy~+r8m_?>4=|__mnl0@J)EZ89f!7{_Yu za?Rm%V}WU0JG03&@7mq>2A|pa9iRU}*M=|fc(C9*cl+XYOZ)AiU01_e@atRKEhkp( z+fB`@>U;G@%b3nieuT4 zZ|Hh>{b3^S>)B*}v&%U0&d;})FAB^TuZuP;cAz%E&A#dl^me1C-E63xe0r`e#FPKv zY2XvER&E%_M&3e3-m1=7)8(91mPT4Rdp$1ainFk_lIf28tbd1dt_&;>tPbB9{F#LD&v?>UdA)1*?jsA{WJ2xClh!Am zyzlHL^FDw+?;P7=#tY2&>mrTC4%9R7Prq*r+Ry{v2jq7QFn_0mlx-c6z^+pUwXwkq zXk6DjRF6tL!oLXyvDp zQNPdvJc*3TWY?g6mYPVK(geEmIiS>Ot{5mKv|4jKU1xHYUZfU?V<@d?rYo8aloGdy zJ3W9>=&Mj_Emb20-y>&@W!0{(uH!I`3s5fR)uakA{rLZ3DrTWzP2r>}i@YiNR&drR zIFJxwhC5t3eIdp#Ehu8kG6Tc|NO3N>{FNL{es7^m<&)`ynWvXgC@gQ*bR%aOO0erBkUSFM=NFIhi@MZCfI3Cw)Kb7Vu(}E&K%v1066Q&Zfm| zO8Q8_?!>7{{U?wjNf5+y)bJeDJx9)>6%pPg+ZOT^kZ0}PzjXewGv7V_J-Px59`BM1 z*J3;H4UKu^-EQ#bQT=vPOCI@uv?8}B?|C=haiQS3u;Kb>iTk0pe)all;sKP{j*Z&D zl5?ALEV0`RyF~9(O~jYP{)blL3bF5Y5Tit~1yS7X+%wW&v`}>C4~*j*TaiXo<16?# zt{LaN&TYnf+qS|jbNTx7o6H9wlXsr_H}h+p={gTo4EpspTd)(Ycb))9JarI2{|C25 B54HdR literal 0 HcmV?d00001 diff --git a/Backend/__pycache__/head_pose.cpython-312.pyc b/Backend/__pycache__/head_pose.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0dfb149433bfca4fdc2b405c8c48adbea8b3c34c GIT binary patch literal 6626 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 Gn*Rf;Ak}XG literal 0 HcmV?d00001 diff --git a/Backend/object_detection.py b/Backend/object_detection.py new file mode 100644 index 0000000..c221f4c --- /dev/null +++ b/Backend/object_detection.py @@ -0,0 +1,169 @@ +import cv2 +import numpy as np +import tensorflow as tf +import tensorflow_hub as hub + +# Load the SSD MobileNet V2 model from TensorFlow Hub +detector = hub.load("https://www.kaggle.com/models/tensorflow/ssd-mobilenet-v2/TensorFlow2/fpnlite-320x320/1") + +# Mapping class IDs to class names for COCO dataset +class_names = { + 1: 'person', + 2: 'bicycle', + 3: 'car', + 4: 'motorcycle', + 5: 'airplane', + 6: 'bus', + 7: 'train', + 8: 'truck', + 9: 'boat', + 10: 'traffic light', + 11: 'fire hydrant', + 12: 'stop sign', + 13: 'parking meter', + 14: 'bench', + 15: 'bird', + 16: 'cat', + 17: 'dog', + 18: 'horse', + 19: 'sheep', + 20: 'cow', + 21: 'elephant', + 22: 'bear', + 23: 'zebra', + 24: 'giraffe', + 25: 'backpack', + 26: 'umbrella', + 27: 'handbag', + 28: 'tie', + 29: 'suitcase', + 30: 'frisbee', + 31: 'skis', + 32: 'snowboard', + 33: 'sports ball', + 34: 'kite', + 35: 'baseball bat', + 36: 'baseball glove', + 37: 'skateboard', + 38: 'surfboard', + 39: 'tennis racket', + 40: 'bottle', + 41: 'wine glass', + 42: 'cup', + 43: 'fork', + 44: 'knife', + 45: 'spoon', + 46: 'bowl', + 47: 'banana', + 48: 'apple', + 49: 'sandwich', + 50: 'orange', + 51: 'broccoli', + 52: 'carrot', + 53: 'hot dog', + 54: 'pizza', + 55: 'donut', + 56: 'cake', + 57: 'chair', + 58: 'couch', + 59: 'potted plant', + 60: 'bed', + 61: 'dining table', + 62: 'toilet', + 63: 'TV', + 64: 'laptop', + 65: 'mouse', + 66: 'remote', + 67: 'keyboard', + 68: 'cell phone', + 69: 'microwave', + 70: 'oven', + 71: 'toaster', + 72: 'sink', + 73: 'refrigerator', + 74: 'book', + 75: 'clock', + 76: 'vase', + 77: 'scissors', + 78: 'teddy bear', + 79: 'hair drier', + 80: 'toothbrush' +} + +# Function to perform object detection +def detect_objects(image): + # Convert the image to a tensor and resize it + image_resized = cv2.resize(image, (320, 320)) # Resize to model input size + input_tensor = tf.convert_to_tensor(image_resized) + input_tensor = input_tensor[tf.newaxis, ...] # Add batch dimension + + # Perform inference + detector_output = detector(input_tensor) + + return detector_output + +def load_image(image_path): + # Load an image from a file path + image = cv2.imread(image_path) + return cv2.cvtColor(image, cv2.COLOR_BGR2RGB) + +def draw_boxes(image, boxes, class_ids, scores, threshold=0.5): + height, width, _ = image.shape + found_items = [] # List to store found items + + for i in range(len(scores)): + if scores[i] > threshold: + box = boxes[i] + (ymin, xmin, ymax, xmax) = box + # Scale bounding box to original image dimensions + xmin = int(xmin * width) + xmax = int(xmax * width) + ymin = int(ymin * height) + ymax = int(ymax * height) + + # Get class name from class ID + class_name = class_names.get(class_ids[i], 'Unknown') + + # Print class name and confidence score + print(f'Detected Class: {class_name}, Confidence: {scores[i] * 100:.2f}%') + + # Check if the detected object is a laptop or a cell phone + if class_ids[i] == 64: # Class ID for 'laptop' + found_items.append('Laptop') + elif class_ids[i] == 67: # Class ID for 'cell phone' + found_items.append('Cell Phone') + + # Draw bounding box + cv2.rectangle(image, (xmin, ymin), (xmax, ymax), (255, 0, 0), 2) + cv2.putText(image, f'{class_name} ({scores[i]:.2f})', + (xmin, ymin - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (255, 0, 0), 2) + + # Print found items + if found_items: + print("Found:", ", ".join(set(found_items))) # Print unique found items + else: + print("None") + + return image + +# Main function to execute the detection +def main(image_path): + image = load_image(image_path) + detector_output = detect_objects(image) + + # Extract data from detector output + boxes = detector_output["detection_boxes"].numpy()[0] # Bounding boxes + class_ids = detector_output["detection_classes"].numpy()[0].astype(int) # Class IDs + scores = detector_output["detection_scores"].numpy()[0] # Confidence scores + + # Draw bounding boxes on the image + image_with_boxes = draw_boxes(image, boxes, class_ids, scores) + + # Display the image + cv2.imshow('Object Detection', cv2.cvtColor(image_with_boxes, cv2.COLOR_RGB2BGR)) + cv2.waitKey(0) + cv2.destroyAllWindows() + +# Call the main function with the path to your image +image_path = "test-image2.jpg" # Change this to your image path +main(image_path) diff --git a/Backend/test-image.jpg b/Backend/test-image.jpg new file mode 100644 index 0000000000000000000000000000000000000000..da60b78dd29533e7b9a46ed31c46419587b08f85 GIT binary patch literal 26913 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 sQK$d@E?d1GAy+h)Eq5tR<{9 literal 0 HcmV?d00001 diff --git a/Backend/test-image2.jpg b/Backend/test-image2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..dc71e514c93f21d6b52d04436c2a3c7df8bc60c4 GIT binary patch literal 28843 zcmb4}g;N|p@aXSwcPOrhOL2EOT#LKI;fHH+*Tdc2-D!d1UfhdQv`F#NzVGih@BIO9 zlT0$Rll^2enM|^~|JMKQ0dSPSieLZ`2mk>8D}aAn02u%}Dk}2-R#epghW{hzsOabz z=>IiL91L76Oe_pM5DspCKB666({2K(|q5y7yrSL#n030q59vAp;1V9D=z`+CmXSx4R5D?+ukpMvC|CDMt z05~8#JP;8P5dj$y5eXRpgo6hl;3DGDa3SH-N@)^sTR>rS(xD|Sgj$wEARd`d?y292 z!b)5Bk?DE0tz^T~h8J&it<%ev4sQRmM+*F3*#9H_*TW+K;Sd2x|LM4J0dR0Yg#U2x z2yp*V{@Xt|06Z?jf2jXULJa*61ufwj`j6Fe^KTP?0so&pTzFi71c2j_Rl%|+n_DGP zDI?j>d3_GdO78*TT~nEP8z@DwRbfJqU%(zNh|&@UC+dD{y`*QGcT9%-o($nGb@y7%Pu+ zkl2^B>Q(~iJ8^A_ADr|TZO^w-=f?vV=lXgV#55mKWmntlsYQ%yC;Z9kX$WFva~S)O zYy?Xh?3+2IU;RniW?uzAOwo?`IRZQYFl3F=XHB63TDt;TQnYuOS*8tKThH^;4UsL+M#Lb%Rdj(-hLwgv= zvAR=|K6lhEWw*{4RohZwVd5&H!VtbKd)(t^r){a$MU4IO^T@}|mELTX_wVGEl=AU1 zzw*x2CPqNH>m}i_AcI z1z5!fV@JYxf9Z4YMbhn?Zk_k06Qj~-E=49r|B>OHL+9bm(u0%9RJUV30vcPd`np|K zUAGuhX~Gmusymy74g^#QdqmYMAZ?TE8TCn9ISY7hNa_=sq4N!_-_<;~ByKFTPx9)I zrMSody3}f^=HX2-ze^HkX4igKY?fi&$=W(s!i__y50~OzF4y#0x3ewq5$AxrBTSU# zxz+71tc+vcQAMAArF+4UXEXaYi%q+5l5Z8lU)E-1sfh#5Tqa=#A-cxC{-=D#>Qxh? zDn2%S!|^$UVEHDJ$_yY$JdaiE1AO)R#{oYVarg1R9iJRYrBA&}93*}q|86Sc>xco1 zPt$QXW9CJTGftq1@g|Dy#9%gW?bMM^Gf&cqcLas$F*xS6laf9x(@3z7|0Y!SE^52T z{{jCOW#?;#9hu@%DJ--zHVYwSXaDRX&A8XOM2~iJ0T4I%MBS<8f3$pM@Qv%jyRGf8 zVx-|N=D#yi@@7}^5m@Dvf`kiJ6nrQjo+50|1uH{oahuC=n~=h@r1mZ zKk*!gBj1nwIPQRQvoR>~#7(ul;#~VUcc_=~LcW%T) z1tG>p`xo9T{7upwD_ZG5`F?jGqu`jm7{h^L(@g((>KZc0qOBFV?wZ-l>1j zNnD7842k#TRKNEj*>PaQS1>K}v8!*o9zd*p*~{A9TEA$TED6yjo`OOPkE0UyV;_sO zR3+2~nFf*V?`WxT7u z0P?XSvs3QncEl%fYHGl^jIEi)7^m^<*WCDqW^$_w?JzMGHs7BtLK(31p>y$euFM6$ zrsWkMdH)e@8ED_me> zC*f11}hh9w< zaxR3l5C?ZTm-FwP^<$z(b=zf?@`c0)rJl}HBsRLACag%w|I)TMqfW-J*`w)Td+dOx zMx7q|G7?0)487X(Vh}RoG<%Skb<2gam5lE>ZXk# zE$`O*uf|O=(>X?(12|^-9}pIhHCv;5cdo=PStQ@YCS>;Vab@M|&LX<}pw0O>ltLfw zM@{q=0O3~WLSfrS4)h4lhraI5f}2R#e6WmT_G&4RI~&xDw{|9pTeh1RWZ6F7wAC@( z(pl7}HQmRe2)L2X*Dk+8%A-vWfIJ=wdFoES!0Q@jb4dth8HGjuQG~Q&J>DXDbTSUT z=(=iYVpaIoa#pGyE@AK(Ds(s#Z1cv`mI;@pPD~Ge8agCMGt68)IM`_@X028xt+E~rWLglHP_anA+ZnS)j;^Lwl8hKFzxOY@t@ zksW+JK50;bxt(04V{=k}@<_E?mnx8B_swz`&=Y6!AtH<()0G~r?k=*6I+DI-({9pr zv7iu>$mE(-R8+l*)z^WH-nK6BJ_urtj~}Zw0^;};<02PJ5{JMcm6Ac_eY1Q^@sgfT=%0U}CBkJ5%4X?Y+5M z@l%_di{Q6;2GJ06BuIL$+{##F<%Dgd+{#0{CLZzS?kPg9>Xs3->YQJsYN{6ZOF6QXpu=_+WGf=y-Ss-*4%mX^sa?f&L-IF7Dp5TX!w#)CKtNM zOm*q}SZ{vx`=?v5(zt_+mSfdFKwr}`F0pNTU$U>eAh|BMXrlaz@*e=CN+DgM+4nd3 zAHc)TVk78-dN?QQANy88KSjirHG)QUhsYB-FKU7C{C$rE-A2K$Wn;=I!vqp^?S5Jn zi^Y%)`riFRJRZ2>>-q7i&L!B)>;$>em8CA)Vx5G#PnDR5id;u^CZGi~5;QS+l;po4 z@LFZ-DOjPLC}(KiF9pxGhVWv|81WgT>-M-M-^-GW@v|j#hhqC$6mKiYw_-M&;e+iV zj0ys@YgwtxAuObje&qdy-9s8s#*3BxTCW+bkR(*>rzg^^0KWgU7WWmrD#B@5IK5?_ zyh-mz%$p}58jjiJdm*)MT)MlvHO(RqaiMT7hkUq_?xHdzk=`@E$4Vf`PxuGODd1nr z5)f|J+-+Cr@@R&DSgOMr0jCw(_o@!bWPRH#hP`EDMi#bvf_%07Ca|1q-Tgxgk@8le zj2ktqpdT!C8p&;Egv&%=xGHtu(#`o$CUM-wY-{n z<0d2)^^ZJ8qk9DJPN&04Op4tr%HbO{>y1iHF64}u*>WAOovvtbpl0Aybj2<4d3Y}5 z95{CYIBZ__%SUf_6_mC|&1!)zxV(VrKOme-6EN6LSF4Yl#jJ4D^$E!jyVR#2R z%#c2wK~v%70R9yE<3l-WH)nHhtI72i+WH{1??#{O*^h0z+md#Xxi|>Z{f-tJa9w$y z`hAl85Z?GN<14pc(qsvn#Uyzew@LaCv?;nT6tgtC1xG8^4r(O|{9RqKm6<1=d(jFK z5mPL93RN-O9IASHjylRh&ljtxloAK7^3-5Ey;~zvJ2YwDi^6trRTc#>v9!4oN5Yw| zO%)u4iyvxtGr*fCXrmv&r)_V$(E@pDzmV-e{d||g$u?J2ar=CzGNWYRZh7kP`Rj+; zSlUk|b8BLqS2=9NhDMM_C8@*9Cp__vmQ)+%K0)lqTVr$o?3>^MTM-fGjqYC$c>|Ou z2LaQIj9&%lr+(Sm5pN^s@UA)r89LUHwK~ge_zZK33==ECb$(9oZ8Sb1j70;Tb`@%e z)cV3~5_^6EZ@#a_1!RK9NB|e738e6UUrl~M90WuJx=%@{gnwGC(v5Kx-w$4^%iQyt zQBh3r@&*d_&81Q=wrhiK6foOQDz%L!d}RYG$zvW)1IlJL-5J+R#Zj*J?7$} zE-3R)TJL?MI_^iaXkPvjr7OnRU>>3!6ecOr!j2X7*4=-AQ?q}7sEp;Jh2-~&{vWY1 zX{}E1K9-WW+yGDW5syjQEQd$K`p#aXv)A;;B(@`O9rjMW#2aO+B?P_i1=>-A#23lK zt^P-yTWsD1rTWL(XlQp$;e%C8-Iv5Ugb=*w-RLh8+YslThO3+;gOY@n2YRq7VqK;4 zU)k@E-H!pTYG+(`qnNcATLNN?01LTg}~YxWZLGuntp^u zR2tR3EyN6zIlqHSUD1#scQE*N`M=-6VON}EfR7ERADTFw-$3;E?NuV0rG@Y`^|RMk z#VNL-o*-NH4cm3%Xpl8Fmg6^wt$G~j^rrmvz3q*uPzb}84`$qiOrC3p3oRaWpB0Q- z=Q3BkI9-tSTa8DA9yPJd!({l?y^9yE;*M#n;zM>|1E^em@dIQ}~Po9b)L(ET&ws`HLEy z5qMMhq_IN7=CRX>%9xBRs@Xm@AHeh+K9Iqz_1Q*&!8=u<5X`33S0m&Eo#(^Fm`VuY zE)jB(L>9eI(>9U=agLPQ*&lUd1a=GU1u_k$3|)4KEu?woDXGj@QKvo03GOd-cdsjK zdLVPDNQWuvJo%YoXDEDgQ*iNE63Kd~1hO~st~Vk;hy!wf==;Rqpci`jhMO}qD!u{T zZF7EXQU~32Rt)l0f^oW=hpAj?Yhz!F2x%O}Q2>A-vcDNY?*+#h4}bXGBT@E(iZS|> zknT&qLMG8SW!UWJ`Dc1Nkr_$QrS$9&vr4dS7+MLV-TxlES<3Hrj?lnV8aj-Yu?-s? zjbcUJ34N$B=M0jNGgSq(i3#}TMvSgrB%Zvs+!(%W92*(gV1`(# z~hyv z^bPGKo~TnJH&}C&=y_+j86lJPj46U%{{j9kt?~dv@nw;73fUBGL78)(8JCaN^8UOa zPkbbP(McVpC7J^VGT#2K?JSZRtWaTVu`x$+#Sx@yl%ljcRBtbk@hsgvk-yHytXJ3} zVI(h7lB5ev@M}D#5@uPY)ejh25V<;q!q=|B>A^%?F2eN*@&*t-o>*^vT&lnWXhkLy$@8 zzqGI_`mrhX`1HcVlf_!)>*mQPu4(qB0N=^f5sq$CJ(51_RAyv4m)dQZYj4Y{SGN1` zn3lgC!rsmZjlV_|gQ{nFRjssI3s=xe4I4W8U5JrH=EoZ$__M6nZdD%J3Ug9F>(@{B zRrnxEJ0laQ$^D&@fI@_~wJgj%bJb5~^O!5!F14DvjPU^YXyX;vMiV4d zq$0Lwt;Kd5=`o%pk6C7(Nsh9bXv$0PbDnuJNM@#VqAYxvC9$~V-hvVgWd<0zVP^EB zZW@X|jy0*2ar^|{(#K(m-;%K7BHEl5Un1fv`asPec%F!Au-{|yjmuF**LChr2q5IlG%*-X zAu#$#w>MT~e9^hE!wy4Gn=k>($6zbXd*cYaKP&7hyObrk;Vip^NkG1P*H{6m-;d$> z3iEend;q#CK0ehZ^}1Rho5+JcsWwnzF%^ZpPJeexM{^+^GmjLg&DutrHcBEffP9j^ zBgPhSKQfc^i;SR9^~HDfOYas|g^5faW!f>G2@N3QT_wE5EkJK6dr7e;^Os6%k408D zb)gWNs^OD`7va*N^Q_Yo&F%hh3fiCZ0sy!DrgUq{7~#&i8jtbNT<^G}lPb3)Dl%fO z+##RUG-v$LelSm-Mvg&N-_MaCOfQX_)a!sAAzLx*2Cq*syF*OxJ!M=Hi+c#+V+TB; zOR!Ue#7|mX%b<3sGdGGrB=C@Bq|;qkFRQa)O0`9UGxA7!Pmq{ovW7TuHQLS>c?&$D zUky|`McC77ceq$?V^~TF+UNM5Zk$TvcG21LjlkL2qX$y3l|L<`q(h`R43<5D zKSd`izIMD3D4+jZGU*-cu z-Pn(tylX?SZamd;W*NfPlzL+sx~wx9pG^6uibk~m0c;HL!=j5~%AAd*T*ScBZ=^r# z6-Bw9ztxWIrAY03_bbm$D%85$zdH26>+(JFI23~_c@cwJ1`OD)Z9*c9iQ~cqto?0k zl78tL!-An{`NusHhO^7PINGylghLn%TT+U6yVfwJ*6Ht|$gtbWgH&&SztgZ2#Ulvl z7l3U?jo?%LchBeB1WB_Znwd|v{{RPU;#&UzEMub;DqcbQle8S{K_$@q{djZTX+2AZ zrI?4j={+v}D;fQj?|iH=#Sw3yFLQA;(+a>bgIb4v$OA%AtnxWOPM~AV;F@*|MO41K5Oo$A>+5E8d(;6FTZXCHwOlII`Iz@L z6{!hu?c+yXlp~$k3R^pqLllC;h1C76{I%C8p|M)VC*1GaT#EqG?My-;Xdo zMADKj_%^ZRC`Mvw%^V?OWs5f27B#7PQ@)v$Tw_p?ovhiDZmd*|JN=*YRZ&o|yhWKu zk(+ESL8_alueW+=93i*Z$6_)cLWTdSc3owy>jQ2tQFofTA`$?ln~}E79kRNhYQJX9 zJET3L(E?u-sYvITr1d-*rY6(!$A5XQi18CE{_XrduQ2`yiN{c)!vkiuwUc@Eh%c<5 z_!W4jt!(G&MK=x=ibSlK)J4Gff<*A=Ol~&vh$!B>6`xEA{@l?1(6^rC!I^(cV|ED*JJucuUA25R?V&y zPa(BxMA#Q*LdA!A0?qA#u_KJ{EppUWVTyyNtDU6v!s)rDjbB#pXt!eNr9S{=;85XV z$|AJ!bY}A0VTt5&p?mqM605O6Ay|x%3(!5@5B<7yE{qy2oy1hOIYR6XB8XK1EddL> zeDkBbhc(#`Ws)jVaFO?EAdjgZr5rXVM1!+;dZtO_2xF|Zp&u1mQE9qAxY+FaZ6I>)RlK# z#-NheV~IM(k|q3+L#~EEXap!u2>FNbm@Y^&$tEjy2gAh$&XP*o9c);*c&;$0a%vV2 z7WM~%E$nBaK9cCMN6e4KeeKHMHd4gw;hN?_A07`UZHkDK->8EUm3)kiu}7gv0`sVL zkR@`HC7n2~B|eg%`7}kEeTvg8kh?iAUx6=b>kVk`jvF;R!ez0^qd4(Tg320g8lBxa zaQ_%<4lqW=Fj|ics`Z^Hp-tW0Z%FK4vlS{x6~H);hOZV+*Urp5r9C;z>$8RLPj4pv zJu4oaACqQ&^Ifc-l+B$Q`oUX;ZG7xUFdL@Q@g?K(VLD1;>2}#&!!xZDia9r zqqo#8GO^(EGATPLqg+4)HqB=ISNa%|Ljth*ZW&XzW;^u5c7SMZXNwp9Sm#o|$=HfT zhR)E$C`H9Q#FhS65Uq3O4+p$Px4nE%LP)YgB9ZhFot-1x2stUk>XLdNh6URYSK7qI zeeJPLkJyCK_8Cq*Q35!XL|_L-me8VAQIp=aiO}hauZU_zf`Z}X<^emFRIMB=-V=C9 zWXqhRR)Y`DUUB=fxG@t%Syh2VJ)|`X%tX<`0c^4V(?O%S8~*4*^6jg3-!xheVeMm)mV}4cwFoHHam*l7NTw zkdM~1`iCpfd=ksORP}B#NdIhAG3*hq?xW`@82k^g^Rj5(loI2PH55xm<|~V@q7VhyI?#C%tV9Ovyq)+5ar!0ME<*^JWDk}O^JyAl1N9#)`oEz zjT%iT{F?yoY(Gp61GgP^4EWTZSe~pzX(GMLI<}q4T^}Goje*K2Y8kN^#>0{&6W&w zyM;Zhm3s3Cj+nB$BtUTIZz9xTJo{~#ic^uKD$5NVODr9TRS+0j{z{RsihpjjBNAOG zCue-RJEy+d%6pu80rowldgA4vj-b2e?wtX%>&f;0y;HFA_@l6=`+DVLsC)}AR4#m- zhd4YVGWTnvJn4XcVyX+_{>+d&N*QM`3`4==V%%_z(QW>KV-Jpt2bC(~$Uk|mbefd4 z?n`2c&rxEWLu3TMQ^K$xo@=I6b9}0X7n)GfRw0dm zIwqd%1F5k+u^@X?B3U5XUh}lw?&;}h5Y3xVu?dUtWwiNCFDF{}o%yzwQRBDs#VNzN zlU-{e>K1Fk7kB2P9)%IPpU`>ekN2W&$>9ri7N7l(uw<~bNTr6bo16Mv;f6e`Tzj>i5NVB+P+-~HDoC^bk3Ec8H#CbOJ;mXGSp^^lNbXZxIV6&$O6tX_i^ zk_vWNm9@5N-jBi(sv0g++^j4XIWSJR-(*1QgQGD%K3*z{m}oe z@o~&5{P*ACe@W-X9`o5Bvdgct%VG)OcsNk@Gz>hdk=GTVeJa{2?PObWJ*GDYsL9?v zLpxt*mc;0njn4X+tjMmJ=M+S9*)|@b>>L3(3%sfF?waM3L*_G~>I8N^#X0OpVduo9 znmty##T@Q#at`ZLl3cJl|zH3_Jgj@#VMTjbNd`=Ng`Fm?|V{ zR20E6gc+3Optv`YJeM85&$q&6BSw^;=|wXPKk_H9ySGFjaA zD47{z8C%b@NUiG)4=y;sS zg!Rs>S|P$bWFwSoYykk71CV_@6SDv2vG>FFhXh@I$17#$Rnx;ktF0{2Yazjg8GK0Q zDmvoI3|dSi+SDKq(_xjN;jK3lTf~m^`-{oo%vG|u7%QVvj<-|5tfQGF;vXsAt~8y+ zCTbeG?ofsi%NMhy8Z#LF4|>QReS zre#nFG4vg(vo71^CW_9f8@of7iHFTHj?uFhM_JksaacyWv~>h87IVI-5~&BDZ^y^F zLk3>vy3%c#8u2>vxY?AmajCpg%MoGAg3g7?fHC9S-LbckuyI_oD@k?R>UZZU2FB7? zFMrOZqRKF%@r2cLV;?Go=yHPnlCOTh3l9^Qb%qIAMJkO|m!V-Zx)zChE$lY}%)JS{ zFmLHZb$zr}y&f{IF6+rG1r=TL*=E}dRdB5BE=(#m%y=iOO}5WfeqIi7Y<~rz6L%$plgc>vGcrSQXPiaWacLWzLk&jEJ= zqJF$Hc!x|Ltr&-zju=tiluMT|PT`>vMW53J1;N@MUxn6$QtEQUjo)cAP9?R zR`nmi`pK|dS~>8_PPMgqlF};Ig7E1CZ81V+k=Vy@lopq`xuBDQ)5xa+b7%aA^u9!$ zycYt-QG(xUC>yU|zKV@xP===XI);l=C)hD_Nj^@&$Wyj; z4QW&xx%2oh#B?4b$x{09^?U$eYk5f(8_RXV7)VGdYZLu6(2MH)$iINd&Al zpg#bi;)*cU@yqgm0M<{MxF5I!5w*@#RNKqRWoTZQ`BXCRXtR9F<>2dTG+)+$!aSE# zSJ9euZx7=yOm*=M5-N*~{e5nkx5iJcF64cgdn`pf$2yO0)N%J9XP*0c_+ciOWy3R{ zItz?QkWQ{HF7gczxAXRt;KW`16PZbU(%LytY-ZFUXkeAYMdVGI%{fpJBS2TNz#U7! ztAPKq@@tLhjzSw^+NNyZkvTk%^Vs>E14TwA9n^zhzeLVf;m9~ca}HP*^NJ|$fF zOz$DCAD~)m%mq&UV}}?&ju(PFg2wuFmBKtzBxl2g%AGUKHN99-CNhx@q&nX~I;aSxfO%gX%(^rA9{k2%0bRtRxd#W>U~>+xcs% z#rk?;TdYxx}iQKUL6A|%1O^$kFajK7Eo8c-$C}-FcTe16Ww8*(uQjmK&$4| z)k<3qgZ&7^Ip}SBhg8${MF6!|aFZYp2k_;B^*`B2Rk$fE|Y+)o}MBLmC>JCY|kXs4 zmU-Ca-wp~D(`5>R^zm-tDYoB*MPV_?J zcugMrk_Ls3yehoBHhV0s3>{emIfN2L_&mJa*Ic2j3j0>TB9d`YsG+!TeV5H0JKWUXGoJ)x&t{*L_3c0FPI!8Ex5)KsUw9dmJry$EHBA>MnnFYJQWw&P; z=^|5}!9n(qOkj~bfD*)se_27QkLrouv20@CaC=q+NW&D`8D&~b6=`SiLuu8z=lYvb zf20Yt2zW>GyQ##CSJ%4%G}{gg!TxkZn32TP!CDs(bK|_L+G;mZeOEutN2ISPrbL=$30F(%7Msa83&gikVyVIQhnDUW4h`H4WRk!}%>WS#Pi zESzx}_QnUgD~Ij2bp` z>{=@Ea0RvEvi*gV5)#o=wLdeNV0pK-be@Sv?apkNeMgRQ=|ttISWo?gj;ZKjdS#2`X>szjuVZj6UJar5tv z)g_Fax(5Bg*z)cbPv39o_BLr$pS5r~g;UFl=GrOp269Y61+rSIc*bmwunudotfpG`S9@E5oe`=pF zN*Hvr(Du};Pe^bL#?+8SS9Hz$@5C1XzX&|{{5MQ6PbqwzKH#I92j1px^URHT}X=WtVF zXNSMsaG0;Ned6-cMdPrmNM06yY~~I$c|LI@yFz)JKu<`#7VS1YTH5}=TsR8VrZ-ty zFH8r|oT;)TN+E09PO!YjXECPs#?$z7G6xdXFEteNxDH(`r#p(aTs_2h^Hf+Jfl;pt zo6H|wNr|4yAo?XQabpfdt@@@WM&y@q(k(sYqIM(EVmwLxE18>}C618>@zm5#SsX=d zl=7<`@G7Y}=dL1r&ZMS0%=DScLDAmWBqtR0{R;Z+ zE=j@9GlCKG6;JF^H&waMv8OD+AmT>Z?YdQZ3l;+Sea>~7!mQD_nS_noq_i}nPM;VT zuoxnAu5CxC*wK1p=^7Z)A7&()lp!K#P_YmS_9BhEpIb+$S27YwuJ~ldl(tFLi%8ek z$EjEd2OmkTS-%{Y=Jzswi>#Z!W&8baaL%E;4dvAuG4&N)5_Tn5Zr%{aCpLC2tcCK6 z1oy-x-mw5LBr+K3<)_1RYP!!eM<-c*@^6ef{a$z~nImioNc)rMaUb(u;r;)P; zIXowRyQcng&R?!vr;67&5%Gjk(++HBA~~pNd|-LYmR-u!4ZJBu%XA-}q*XfqIg}D2 zNH^6Y+wC%ZDR+!%K=hY zz>{wh>L+q5kmn>kpM_dGZ!JJnM`fS#5vr1_R-HQaMd--n6a_iNGDVpU*MVzeTdjd6 zxnB|$(JkU<8j7L=gp>Y@UR+dexJO@`b^GlC?Vwms$uBx)6SBz~4t?b;ZwA z&+#LBkssm98A+Ka$^^z|>9(v~ii2sdU<;QaE3ckRrq|l4ercNtKefU^DZ%GX%bp$hz{q@BlGc07i%iY>Jy?RI-b<0En83=A&{FMx~} z4(`5CB#`(lf5jxZy{C&KZDN)TDTOXS5>$wYS}QE!MBVAb0PjNlEgw9Cb2q3vmNTSg zD_+`UiokZ^->Lrl!u2nC@P&yY{pDEZ-OSrH_>7{t)s0(mu(9rC@#9{rgN?*@SFX@r z{Gz!uEY(NSO=? zF+h)K7EyKp4P4IkJTmRTWU=-pyfG=T7)7_{THqRvkDsi~m$7_>d9{*MVvpb3F@Wz9 zc$^_M6-jBEBh$!=B<1RcwK~mfVMX-|-voRSrK@^z;KWNQX93FhE1HV-Ly@(L+|N5v z9K$4dV%uw>@Vhy@8)fM2mZ2Tfx8|HG6r9hn|M}ap)S!pK&Y>e}fzUttN^H9pF5d-O z7;?p@mQ5Fj8{&h%`}J0wX_F>G}lr5flwaX3S;Gu*tk1m%I8$Xi?Od&xH?gq?ESphL7lhQT10i(*IW9FlD1u`JK2eg zzW?PC6aq*6T*WHS7~QMOpxT{o6c$n ztZi5C#T`0073Xw5zwkE{I@i#ze0=cvW@-q()o^!%QqbTHZ!4WMX}$)cd|rtGhS1Tu z&Dt8N7@_LQbsN>Bn%rg|veb-mql!UBJ1YX|QW>Y}Te1~~e0J_`=0{=QY_SaI+wK&1 z)obckzt?O!Bk8)0u5#b~J-4nt3iAmQ7w*2nPePG=*>1VS0%G=4qxU`awMN*)kU2H2Tl+; zlE}l-n~IHZ+k|JcT9;{KV=?lx-9B^DFX*Cd+|^#fB)9TIyNvpj+H?D~WSs;0bR==1 zOMY#N&N9*G(f*bS3{mR3wrcQ3?!Q_P5%Fb@hPq;C8WJQfa=~(_24HR7Jf5sa5TZWP ze}HyFoHSaJtNk{2?F7+OC3VbOi{ocaJ;U2589N)BD?I6xt%-Z_iM}PgF&!e#o})wF zX#FCSz9h2vp9x%2T-PeP2Z%}Xw#2%FPS4my8CpXbv`TJ+V^=oSkDsqx*~|QBK;s^0 zc!d33p)UtH6h89Zj|TMZQnbgzG5NlO^Gbdj&eG%U!sZ{~1O__L2`>X(<~Z9pM2qgI zm!QRvkfX6(fd1a0keFb7l+5?sGjn)aOS<;nEBe=Mb#$r9jXf!JxL8)ZsEsqzq3!9- z2FXqHp{lc6$cCibovYTMGxY<4XM<^vSX6wasWNdQ2ZDt~oB%tEBJ+A{YZtL;)v=k# zf)~0N*8_1=M1ox^Rl7DG)5ce*(`lo}bx{FdReg9G;qp4MxoY}C#kM60U6QiI-em&jF$hTdqam%HYAjXFfPEQspC}B7Tk~-=U+-7H!~wPv+$}VMzNbnWztvn^ zn3}8`p3_+LVltcoV>9%XiX7dK#Qzpg??9nh3@pX zDXV6iQSZoC9+{=gn$x$3W(!Ya`?{CdEcrb|xU(Kv19_mW!2N@ou(?In_3Kob&V3F8 z8S)T;q>NZAuQ3;cX5Z~=H-G4?7KhDaIOGcXORPtG8-`szMs7h23Qt!HqJ00W>=fD& zu2Mzvh$AEB)wc=u#V78)!b_zM;)^j4x$9;5$6tTF>&yd(?#Ww2uxUfP&5QqwH%BF% zzoJ_CVf%*cf5UT+Zp5UhfjoVuA6QB6yRsu0sfQm^2YCt=^VOC|2}T*_v~*%uZnN>o zzAI(}|K5(;KNx*tgFuPj6z<5e`NX|a<92UFYP>~2TBD#SJ~kbn2Ws7GR4us&#K1qJ zGzvsz*g0iTKH(JMoNDL7!~Qv0uG4_RoIALJvp(5dYO0M^Y!$@DuN#EbD4}}&2v>U^ z+8bYe`1<|psQ_o|-omdc7ETj=9b^J@F7c`JL=R zb2zUb`MC@815U@++j4X)wIY~9-0~o_Nz?P(_nt^7D3AxMi1b`HK&m=bG1Og=5x1-8&_wptGyPt4VtmsmFGp99Z!#B* zz%o|K^Xx09*kkRYGw7-%gLuF~<) z!cd+UFiTQmJnQSi>^hCQ6Q@y*EVr^s^Zgbs+?FPV4a-xXY?=v>ezYIbxyX4kJMwo~ zx20xQ-zn0T1XXzFgLV909f<>ujm39IbC9$@6%Pdm|Cm6(3xAdnn@0EmGs}_o6q`7@)KH zFtA)H7kT+!tLX|6>-ND#+AL83B#HAC2W!}pXfT*9gg~jz4(wf>ZBu|~$XGvh*64jF z$^Yt93V%td>P@}FaRZ9P0;pmL?*oz+&p&7qCWHC2sQi87#j&f^GHfDO+jzO_Gwayi z6!EhSiLCxu?J#5psb-Sjk~OKsaY`jtxXlX>4jpo<;Hg1>nRC)+i4E-jQSJy8y>trn znDuJ9`quRYhZZ17Oe^Vkj!a-KV3D1MYjrX`#&y%+@Sxmo*OOMTYq+JrFG@xb z{x~dYO!)8#Hm_ubkk#V+3*%#W#(Fu1zj>PU2{fz@#Z|0g=oPJ%3!0*!fqk8}c3Vmz zP30$51zjlIh1@6#bz@9kp|u|7yZl^PeY`WAXd)k}xtXXE^t^{ZJX6uy4JdIc$xvcF zrOpr6`#jlmmnj;U=rWgdiML2EHcJ>N9 zI!94_h@d)Ew`<9TD>+IY5j;vBi{`&icq`%@hFNYr0LgWVc9bdT-}Eg+8endko|3el>1aLEjDoYsgN^ik6K z=x*0j-d3ZWm{7--I%d{OOqQI4?&6g6H17BAjsRm12rsx+<^EX%WrX~ck`_oIshJj+ z9hj=HuScVJk(48m2tRe061>b*BTm1@z}&!Lmq?Rzy~-nkpB|;J2W-2gaER%9VW;+! zG60!AInl>s_@)8iHhv;gsDDePwTguYY#0!R@0DQi=O=jnuHEM8Q!E&vg%y;uMYDvz z*1K{3H4zuRJUcgKf6DRE-(I_-4efHnx~9;+wnXnS-m{o98Yag7$}#GlfSM_dg54{G z=j8)Gtogl5;SJ?*bYKH(6+)<#*s;e!xI&kzFrEmPy-NR!j>@(%!R^>Pikh5Rl$GBB zZ;~9AlPPO6{<%`)_Boxz&4S98yvG!+9@6K18FjEY8Ay8sCm(gIu0v(pYFItKo=kW0 z*=v!LT}YRN-4nc+uuJkWFJbC*Y9Lb*ap6a%PBzAqVBo+=bYynmt9GRg!@hDR)uK<7 zweytq7c&&@PKjv~VRTWYFk5XD&4M;OC#Tp?sam|^W&;|zyNfQ5LWC5$2Z13L?8#>; zewsXXMVfL7ar3mH)2b}jXjLTX9N=}-KNpMR9;gBbDgcUXmb&_I;!JI-fW=-FRVxdI zaL={Xdv$WqR9jhqGGYR6m_S-ztbQ$_<-6~lxY4>-JTn{VOB@T%RLDf6wRxqSeLfD# z;LeyB7B*pSbT86I_INZ7owK9d)FiLdcF6b}m@1K_Yl-iQRZ{uQ@2~@Z7c%Q~$JEnf z(_hpJRzz73!E&oroEHyK3%RrTK6OLCQ=6;T5tEf^+uNPjXGdlYqm%c6ezo5uNN|?? zisxIgX_|~<vOJd&rK33-?4mSodL++J#bYVkpIZQtg1nZ8D_=KA>@>@A5^i+XhuT9SvANTRph#|>Rh{%D$! zCUU%u_1@5~urMQ)h&$XLHw7DtxMs){aw$i!Zg)Brt>fO0|ESqVLLwd{ zc=RE>iU~lAtusmf84*YzYlhc`^asVaP4D(fnlWNc2n0cMO+MQG>U)#x&ZT2}f&YMCodC=) z=%&ih$Ynn?o^{E=k?JtLG@akh{4Za>dKypkr>kz6SS+ivq!lD_cUmcO^XIrrs~zGB z(tQz4XzuU7b54}E;}ij9agRR~!%#9PZ;!U*9Z`f-IX?C#q!KMupUjCe0HE@dl5_9J30+F{`f@ZGT_>miDGOnH{|5p8u*b3uipb zI||0ju+x&FK1~X%=s=l6Hub%)wj2Fj2j*N(hJCSm`*0x5Mc_X6reoZ!Nv+v!cL-Mg z+9=>uGs%M+fb;|9sgoQ(2on246Rhu``u}-w{2ln$mZJ8!GU)D_jC29&MjN_aRlzdWJ#~QB#1I$(j_Sa`R z2EIe^X+}PcR>P}k4C+5<>M;i6EhM;Ku4>|o*POV79$~QUAJVcDtqO`c5afUXN z9ZKK<^CppA+v>|`FSOl8ORI1T5O%r1=Q+ofCtX)qp3XVFvQ_UMRA87~kbV@x4O1Lo ze=&EmfHRXf!%m(x4?WhOY`Dqq?pJsN_+tdsQr&2FqwO_V=4^qs+7}}&z#E)_`B%&? zB)DS5=9RP5yRrREIJb@ETP9C;FtZWp7Kjo7&;2|nS*26}L7zhG~|%PrKK$W!7_Fnak` zM#~!{vHt+~_?nxMZ~}s7d;A~+{%6w zv|c1C8T++Sf&#fdEMOAH%8H%U8%#!1x^$h7r;Dyhq&Hh`q7lQ$4mXt`1>5V0$QBZCFL$gvqDDSr&Pz(I_)dfSz@vHMXNMiHH@mLXXq+Tn?F zl>`%v@zS|_&Bp};?#nRUv7MX3@+zopnNt2Jn0Ih5J}jM8O@nX5%x2zqNYA@==@vg| zS8&Pi9q+t3V=9JF7=e}qViV#N4e(O3x=S0wExW?(U7FfeGE0n@*zgDp2yvWxaYhok zRtm*ReTtsF(F#Z%({&)IVu!5FmEwYxo?XzXS)~{*%&H;~I_-=GjaNH~Z$B}W6=@LZ zWOr+lADL43?@ByPxa8tSIKz5XlCy8PEbOX%tKTx9KW~0|ysP+9^>ZbxZ`GOr%%?1H z@GNH|Vdp4(sGhYGxo@=J#w)!Ppz9(CQ$lPw>3+l+g?rb3~fAMY0g29@*l zHPP;7w{$YOhgka)bK2Y< zJMoKy?_6*UHzakrQRh}OeWUW<*U9&r&TFxs72RG$inI#wHet$$M;_1p?U@6`5I%JX znE`=R$CVJr$Fq!*ZJ^+WUYT#DN;YC(@wY8&k-koa?2p~M#Zw%`RUMdukwrHzD9Biv z;B~qF74kI_CFS?R*_R=a$i%Y(L4`0%tmI^aRK3gy*TBg6RhCJe%8;0pIazb|oA)v~ zUByN)2?GW*yGI=5NX&6cgu62!2#FUy5;5Rx@_hI;LQYz`3Wu>?sTqa;01EG?B1pU+ ziQ~kqGOM+L%DQkt^%$d%8P&NX(Lw zIX+5@@ngWOlzpR};1gWw@d>8OBCEQrQId9s89ppyCXGO`dV;j0<3H+dthI~ln>!$O z$8{ne@U}ojL$`ZloSz|AG;*B0muk#2;j*fVS>1xFsL5tyv?v~?r^Y*xoXt7yE}xVA5`XeX{{YopRma&Y)=1gz zBS&OX>5T1SGFKzgy1Qujlg#u+a1C0q9}hiiB-ht);0;NOWMM<@B$~8px|%C9+{#r( zVHdL}~W z$eTy8ymHSOm6Yx$#Ke)#K2*gNkgTA=UuYy8OuW&m%4v1#?s4d&iqS3oqqbHXXvpQ6 z)H7gn)bU8}B)QaXWoTfQQpXCm@Vjt07*rLZR-CIBc!igSP>B_l^r(=38q!+!KegAG zDW%N}XZuUmOLZSHAr1LdbzaSCx(T&6%LA>*Zt3l0?@%%TSq}i@e5yjLw$Nn=U@}B; z{{UyVuDA1PbGB{nqAr2*RU}>xK4PiWH0f-0%lK_ArIy{L5{RNkWW(}y`EgO~m`HW2 z7hn~3N;fuC0!OK*-K5m@8+-PPPbK4YM<(4n(p;WKS3gQ=P}bNHbB68&bOoIx4viCu=wlWC7KmGYv zkeOOYgnL)Q_&ClB4?4Y$Li)%O5i)%vGNhA6vXPicbvvq($`phd^P^$yHj4ymkZF$Y zNfJ#x!!b~LvM)@~aOgK{Ebr}+JaZ$)$icFp`U);S&DpGHbC+#|4|ELR;z#A)0h&lO#6mj0NX$1TQ>OOVx^9Viw_=&fj^@0Bus({OL-joE}*UPr6Y1 zj^!Zl>UvQuUHJgw4I6JbhOPFJ{_WI#IN!K_qPh$Ai&U|K-PP^x3PUR7g?S|R3K7oW zagKT9dDSrXekovknA&p^DRvl$w#6AFE`OZ`rArIz7Ns_oxAvJ)q+p63IGjhdh$A5K zJ|cxqpT_&M4`ut)ZYK4Rc#6v^C=%`N%zJRFCnLNJyx{;Rrte;AZV^L=Xv##=D{fxy z0z1y=s0hulFpQ>Elm$bg>`wt7Cjx;S(yTtbT70L`2wByDxa4 z76U4{EX>D|kSx}>9n|qjC7bt!VP;uEi5oan$>8Lu>IXnN)X0`w%C8JeK?uTgfHK1} z8L`R{=6tA?1~vhgJ0(cil>}xsSh>U_$xQ=m-bASs>d5IShG^#ZlXzrp#O~>lj0(M- z4&D0~yf~8zt+kzTocCGavuFG@)1eWSP^_vIqFB$ki_B?l`?mT1&(^0QV3IEP1G|+u zdB7WDy@+*^G519X9i64EqydI_-@-o4x;95oDlER~Bnm(+GX=o_Vo4+_4%I`* zkbP<-$&imTuH-wUVb65Uhii}rib)UOqnvmD0QPRP4CQ+m*%s-hTJOpvMtH z!*1^8ZyL*ab!>|_rexb*d^*KiJp8fYM7~>$-PDHCeauYE&K~WY#iejoVst?=;sLnpCCzj?pb_Ck0RS+rM#fArrw;34E z%pWS55r(BNc@5k_i!{;|#^T3oO5_~KxclcnI_peB8b*Ksh_ND_!*Z2n8N(+G8ZpnN z38eF0Pu$%)MVS#dg2lE5jfaPp-Pa1EBjeJVTTi84MvVl!1fjMhjT~(pCT)eB1R!k= zKKI=CREZIoXm)K9D2QhR?82mfX6oez*hbJ|agyKFx8r&q9iB7xO1=`Z7LGF`BX?!Y zV+uiEa4rDroiUoS6~wq!wTua?B$N zNN9lsvG>me)Db#9w7PF*fnm4PWsM_LNf}%-qKpQ8pbVcrE8pnTyGLz&KH$R7^uoaORC>c=?e01=ZIET%}y>}HAfoR9|KRC2u5MUMVo9x^7C zXr4XsJ?ye+*AH(sz4W+Lk!7}o%@d;xf*DU=BgGB-UeITH->3NOrpP~nn)9@G*Vdox z(#GUVa}CwJ&b>E4RD;jYip$*gpHa1y``H<>B#|p3_^`fxYNtTC$aWG}TKMHbo0}Wh zrL?-ffw%3LT1DPQ$V8-oa;yRK^r?g_OGzY*#GJD;a();z7i6#h0BGs6+`i^AYBw9Z zz%!kyMKicRZ6N8$>Bo?%)T32cA-EEBt}U>FIWxc=d0D4Z{4zKC)YePgz%AX#$;T`Y z>MFe8j(Uns+AUT~I3uyMY-(D9GDJr{&1`si+w@vWx3!omnA@dcNg^xPHA{_R_t-_# z&86v+2AGmIU0;FF?Z#Ce1f z-${Xio+{)}Ij%$`fB`4a4AF7eTt8B%Ka2eZGR~{XfC$H_M&LO5R+F<*p$6*cC%x6{AEsS!o5yRaW zV*rdSVUwVt+HGV8tbX!WV!0MgH?>=Te7{fnS5{wjr~d$mwLkv=O>6%E(_KnqSN{OV z`7qhj{(p&zgHF1VcJ_N&E)P`zXJHTfUCM0L)u6$=*Ld!w^5MX=Ch_tLf2c_qR^z z9EMVDP(y~vI9>TZb*b~mpOs1&T4rS#@TepVZUE;TQl{G(u(6*SD9cP8*JZT$Wq53) zFhG%_km_fUxgI7i$Is^mYZz>$@k^ ziosmz8jYNnY_Un)+ce*6;M?7yJ|Hun%D%5G?-DbZ7=;+Uf174;dr zmsN`2Q_-TfKowF(XUOT93#KzluMtMRfS>~Wy(q21$n*J$$Ooby)=&r*eW z?m(^cg=7uXso{S2 z(Pw(_O$zOVFt}draWa==4UrQB*-u%hmUs=e)q%E_)S=2lxibE#ewc_=xZ^xb~jTdq{x+}zD}GRJF4GKG@`y!g!;ok4F)z+a`>HzdI6Qe#ijOSb~f+D{uFyCu0l)=CH6 z@>;naT~uM6k!E0u9q>E2W&X|F^R$i%)tX+Lc^;c)A23T4Q$VpgOpdGGNTVwmLFjTx zrq;H06Pol!tO*H& zj(uAP^`$<#%;X5r(AGzD3enuWklQu8+O*Q4M!RjD@l23{KuYI=ai2e0WBVl$_p zIN8=#l292CvmWt_Fx$ZAI2q}T^?P}5X>$ya-9}y}2XF-BVCQfn1QFC=`BMEd=4Kaq zebW}Yuysdf#$|-y#UUULNXB{V`L{--*}?87sM89tM6GS4h0IIc2;NA{aU?Qjm7|a{ z84&rSc!*F(rJ!9krF7e zf|*uw2;4#Ba1V&(obk;uUaO)ohr1&&Hsw3m6~R*K%0irs5!Wa1Z*eg^N^WiYi(T=r zd3_j-;>@!op3&bdZIwPX$t6L?4&O!uYKg_lsXbvnUVDhn1!i59S27W`#@SSb!8z{^ z@TX>Z=u4kg9VCkq)-0~?-$P4SCY|lg zA<0lepTrV@{U7dyW?Jj6tB#&j$kcW+s<-qbHnad)(vjzttNax{O z2gf155J&5p3RvJIj^;LI)ezxd16+*is72la5M@&I+FI{ow-#-?qpRexpaG7!vwZM?o57XJVObRYGq z0Hy0s82p%Lv&eq}a1|q*5$Y?2SOrg0gu2Wpb_#*l2iA^?GVdCuOS=VB^3Semb)#%~ zV`Ij54A!?x(^+E|GjSxND5P?cw@<{-nZ99^NkJMz3@DtFB9}gF#Nd-yp3yd_bsbpR zTrxPiLNmzNQw2aZ^dDl76dm$xR#wKtyMvr(G@kRb5?tS1-HW)@C&$^8lPcrSAmX$< zwG<08g?5K5XU==>)&BtIQ~baG09xw$5Bntl0QtE7lGjjwr49W_w^ro-70(p1E11F- z0ANVO4E#t0)iJ*`QZ3q+WDu2QQlXkfZQgkx5k^s%7WAGV>10|JTbP%#{=>&I5tdc1h_>)%8N(X=!V>JQ%K+oO+PakJhiuo^j*-@P3p+ ztBhg`duKVB*X;GXF>h+V$;Z4^kJOCUpX~HxVBOr~;-~o$T2CMDH`ITva3`r&;)mcv z*q8G^%+4=n?D*e2&HnVu{{So1gR`1o`_iBN?a%)J$yy)4{VU!+KT3g3W7{=43Ug%8t1Fc%>6f7?MDNF|-Mkx5;J79`Gd;2_{pp_pF^r7W9jgneB zWFBCNB>w<2VL|*2Q*S(0Z8g}PS(q{zE?J$JD8~St{VLl)>xn#=P2I0*ZdAr5wT>gf zTX{+`9)-&0g^xtOhZ`*7VsV#y(YqtB8!H4_uKq4z<(U(hixNY0l)6MulGz% zpQBduHv`TS^HM)UUiX&+?m&MRAI`h#gzp6Tw3<(72OqNUGTd%x#uq=j6ymJ0(fdlS z(4$;f#OxYLpTM6zq;F&BF^c*xeQ-L(86U$V57bo`Hm!OHc_)MJj^aVQ4?H;)KT;2K zyhL*|R|3yWW`#}7=Cyfl(5n^_UTkG58JO`J4?$R~`2PT9-yJ;3_R)x1PWnR7;y|sG zW>R<<^yyzmi%zoBp5blP;~FsF5w0#(sqvAi)SHIbZS96fW|uc@y$Pu4Ng|J zjw`~gJg_VGnVJ~ToyTfVkV(K9AfGOSh6$qD5=vRd7_QP`zr6&nTz#5~y3b3$h9Z%{ zHdUlCk{iR4SOC%-)V28|WV+SC-y5AG5ep zvt_xG%Jx-`;3;^n5gmKQ<-y5dQ`J*2TnaF`5^sD0!+@+yYY`$lY~wkFiR*Nzgm z5`nXJS9VuBfaBAOWOa>p+CrBaG5T1s7$dPi+KH8T-)&)rwgL zW(qk0$l#wW)UP{BqT5@w!~otE*hE$=uIF(Br>LfL>Y7ceM$$)s7DgH8`Js}(94N$H&6iW1{Vxs=8OD1#W1Fs&O%agD}BIs7Z1wfbVV z6317QuPba6f5zFb7q%7+kaXQ)N3XLZevMUTt);6spup-c)Gf7bF3w4G%P6M95hQW8 zS};%bo!A37;+N^mtdVtbt4VJXkgpm8x4XwAG00F4;%iwCXmpwJ_Bw=Tq3>*^AM)n1 zU8UALHEn)iCP`*7EUj+n(WGqSaKV^kpMaq{Yw}XY}9_ z7xJJ@?fuG^mgZ2dH#a*00B$)|z{vjqN+mjbvyyQIcBYas+|gVut*|EI^>eqvjzJ)= zh+qS|^BYwz?&mijdhP1pwt-_`aahrHvI-$uj_c>p0|K4B(P+)95`a)t23N zsAgx{2n!o-+t85RG1KW5J6s|$k_N!lb&4gDFo164#x5kl&wuJE{xlxhFyUhzc7natu-P|W}YXWX&ov_SL z3W%JXo`b{ZORS=p87}UB@mE-88R96%yAb(MtlFXyys^YC2%@)&IAa({*8|j^rH{n* zHE=aveQS$t8<>Ejl33tWR3u3fdM=pPcZ+o({)=zJ5AS9NA$~)t`c}uL+78}6>NQxHEMtXK zRoVp*3;O+NMOgI;7goA2;cP4s#nzHgPqh%nHWsKwya~T-V_)Q4SBb=~OGJ0+w>s;TdRsE(}G%h(JS8*)Tu{mZx5`Q7msfyBB zSmkraL(LV);2_Vzhw~I=tk6fxi2>+H0f*#hOMQ19S{;$99+irc+u5%y?wTfHZzzzg zU~V7+Ff+wz?R6-wA&ze4;@`XM=4IZvBzU&*LcE%O)*-{OirD>fc)9ZIgvaV{Y~@L--1pdl&J2DL7x^KU$U#leg5=3!HmN@UP6T zSe-4cu5K6-rH_Y@8F7=6Ir(Cf>D{2UoFKKkib8qrFOKp!#u7!tkHk^eXwrg=cWrIM zamdaw#U#1WG~1K9TWI(BNQ1kOd_$%i^P^X)Wju*T(`W57RUWNu7dH{fY`MpI#MbP5 zh>|S+lzeX#%f1OxR6Op9gA9CeSQzXzTN9fdLT$g@-F>2w>AZNqS|u;9AUm$K^Sm6H z>{*rb>)_|=D?v4Nw+1BiIP6Wv-<^4nooDTJlOmH9*lnCTUqzCq(7bqWtvIx}xw$(H zx}0G5mhy*>9;YB0Xgaq>0E|LN^6EVZ$f};&+5PBL^PI1Q{v~SZTGH5N;_BWJ>ol>) z_1;A;le8U~h_LqYI}QTb#XZSC0AWHuI)dsuk~8foxa{_ea>d%&M4dy00ki9r!+v$> z(eDvJx4*dByedlF@^R&fgMPJB_Ly|B&~;mbk9z0X?9=Nb7XJW-gp*nAwESCH=++9} za=pd$%kl~lGeCE!{lXPZgQpt2wT!7jeEBGj5yq? zf&c^LD>trKS!(2aRA|K)WNvf42k^IF&YKX}sva%JkPQbUbqWwOX*#;+ zg`0!drr|)zrFM!oSr*)GOc2)Yy+=7CHT34TPJA_AvZwCRMyAmQboH6@neRJ8kLeZ# zh+G3LvPu`_l{|hlH|=RuGR>yhki-_<6ww@yFjdDt8v0{e1JG4Zr>hQQR?n(~`q2il z{lpp4FR`CKO>)!#9?60N2@&1NjE_Mox9e9fuci{juA>oSo!jl_+mn(GiS*&2x z=1e25E>(8BBYm!sx8c$KwqSr1WTV-RWSibU4ORLY{$L^r%@iZ&lTO$KVt&Goi|E*$pH8$!v1E8i$e}W-Mo{xkdWm-_$b2uRO~AZVL-=_sRe(J z;Yu~E(V5E&vzX!NeDFv^q;&b}Y;MJ;YBPCB0RDebdxS&4wpPG^n%;T%>NZ(dHhp+)oku z5JhP?^!+L%H)&V=0F3Pt=uw z-M%<`=!*J=L;R~q`y&zWC3m=u3C;_UNFR};`t8G7TfuZgGNi^SHj%=z?gyHv&{w}} z$XwUqVR9e1?FZEiLlO8Yyz(e$MDMVeM(x*|Dd@&#g zk2%MeLsJ*smbk!_>AA^Wvm|Iq^zi{rpVAlmT*Zg#2i+!xCr1FqaE=c@XEHzJ390Xw zKJy=%sUOO--?MuyKQY_cXUyBk5dQ%CY%9NF>1)grY7h*A_BWFOgXjsx4E~jO_C965 z@)e)CW{H4+kgDy3ibKH9DS&7(r^4z(qSzDj8kPnuBN>;ZWt6XN=N1P6& zUU*oKk;tk3)7MiCE`sba*4FYS&&W6xUkWXG4!IxVQa>|M%5lp6CWePu zl1U?p^u12qSczH`;S4duv(7B#9e6P6mGh zIj)aPwqvxVrFavs6@I{czLncYrFV0)DpdGY$cyP-sQ&=$)vCXZ5K0p(F`@gSt2WU$RieKN z^8?bYiCxFq1lCa>D)3oHw{AW;qp|a@$H(hY<5_LyC6e2_Bo2e&Rcxmd#kdkW;(#%b zdQz^NPZ5M{j$qp>wtT3Kqtd+EzJ{qUDBJL^+wiOKJu9~7%DQx^R|Ifrjk9BpXi%fj z(Gd(Dw0heRPBR)I$owkRp(1Vt6sM&=t&tINgC|{GT~^GlB8xe8UR^=cD;%roj0Gl? z>Jmk1tH%Sj8&HMrAs(h53yl2@U2`deThX7Lw@W>%W2Q(FFBJ~d**wqL>)4qRODp5N zwtP@dyIDuZp4BLN&SH9IDPY8yJPNf>6-XqGl{F`kiu1;L0SiJns|Gn9eQ0zi(yj#M zPC2T`GW8;-pE{^#KaEUgxJZ|0r=>_9DzJPtA)Hl#l`?*nMC{R+ z83suh4@{iXJ6l5y#q0p&qNb|7&~ZD%f#7gRVA=KzC5 zLw9K5-ny33&2_ES=uL}}-5zvYbVMKcltExp4I$uf(jDXFY{b~u? zy>&6VNTtV4@;-kO4JF=s3XVwWisNDSoww#`;_arSpVnJKe91<2&){=MFKdb-Jl2k( zlrRY3u+Kc^v9TjfEJ=ama1Y3GYWt$h$BsO{UQ~LEFf9XS&_KlcXJ<7#e$X}2qe&Xu zY!0qKVqcI!rdq6!X|ri?;IO~Advs;~%0QdOeL<`TVCQJ{Yq+_@*5QUaW;Q(jb-&lF zrM!%I=Yu=;~#CIB$(=LZ(}@sq!l&Soi}&-KCux!c0`jX{{Z2df9%na zd^P8?fy(4{s`x2C+ay_M%t$*+qV$#TAmg8Dw3!BegjMltU7M6~saO`zNf;seNCi0V zO8^R~!28M#Qu=L#zt-7VzIgG$8U9sYrLWkTBIoxKnC8=F8ID^w&-YWu{{YI>XLTQo z3jAZ-a!2#3WbEF8=O;_D2gs~J5BwxoCucOc&SQn6{{RHCujte>r*Za~VQQYlySc$Q zc>(?)q*Q{)KKlMEkI>ZP(^4^nc>wsx?f(EVtCrD+-(&MNAub&m1*<;Ld`bTRrhnce z^%dV~{oa4V>VH}&T8?s0*1hf`&J1JmB+-Dlc0?I9{6R8DSloU9{)W4HdE|eISbr)l zpinXpanhGxYF2u5kfr2}8p;oLaLhRCkf55oSm-m{s;aSYveOb!S%