ࡱ>  nO )6c$ͤ*g@PNG  IHDRU8sRGB pHYs+tEXtSoftwareMicrosoft Office5q IDATx^ UUylV"Pi/pB3I "A@bR@\KS$I!"ŁWJ 'ǽws=s{P{9{{ߞ-6mZ}5L:gϞ<;wy@CCCkKKK?YO|]mӧOW^QByQjMRUX{=`R8B 4fʔ){ ݳ<OGzK8PC3P/c=Mynp}ZC'ݏN[JЮ^>dwhg‹P|)*-,),PVk) +ۼYGl e cO{PӔ tWmIh^Z{>D+C]UOy< nGL?/Si:%d5҇0TnRPQhVw=?7kf̘!+Jw /lm4SN m=DK(3PM*@눗x@n{ .^Jj7PD.5F|o#?2PTP'Nx|YYٍpc#,b!E:7) ñ#GVQQ1!G5'O]UUus`E<!ɆnIjsMom<&j &6}f,&`x'Lf&'yVxU#tk)ynH0$ *n7OxB~IHnV,/SgإB?-DAe\Dm^^RP/Ҝ$6g%s2r'D^Z}e_I]]9shWz!N@e(0X$E0zXp,J'>ySx $^.T vkӦ| s@!6%VSyڱ<PM -Y]%du4k,H-h' R(vYmy/{&K}0(x;&ES*DcM#; F-.w֍^45Y@秊A_ٞ? mgb\ czjPygԢ`ֻf ֯AB5 ޠIͭ Xi@#obi/Kvz0?63T;UjFs#CҐu^1X&S0[ekIO&'v(SMIL;w,HP\-ks xȦ8:|RsfR5 8l'n>8,WG~ɻ0>.\tn+p3FֵgKLxj<>mIc$BD<1S@EHcW6+;X`G CKk֩_YE ɏ[[EՍm m8xIۍ`5!&:Κnrꙃ ϥ @㮧:~kCkԹ?; u> q#ܤRoOQ/)&kO (J.HC%͇?^psv㌕~3v)f>Ȟ*YȾae{V,tW0ڵmLc-TZ3MNZututKFncnJc[.i^` |5}Mc.dպ4w0`ޱX,;]&onPc7|"$Y +_Pʤrl Ƙ @|5]P~~O{-‡ĥJBJ.[qҡkCz%h%?|T~#=eKlLQ1t-**_=9HClm m0K 9t-G@B{|Q@,#ι;vu53N: qvL]ɫn-W_LW@+ϑWA|4)l[ndrGY꡹@<"l|3D&ϗbo~X2WG# 8 Wቹ['? YӺ k,C4N5G.ngܠgku3f2~slaޓQ8* fHnh Zd:kW?Vҭv?#`%KQfY&W WC7&z;s!4}OôM*KۦGaT ЗnK- zС_dՂ^NfwUf3 TQX,s5B;3ȻF? C@=gJwPC$Khr> *!VPLg5,Mē_ *^H6`jwwM?tUau*o+Q_>Z#B=V:]=o"ʣȑ߳WχX?v (UpTIH^RN_tթzL)]&Ta(6z3wzRmZbE &FW ')lT)=ĥ\,VeN],>XI;ָUVd:ʷyꀫQ0BTfً(&yÅ|5O_άuWPT P]XΒG`QL^(xvgh6p[xG gA-ʛhP]PNcnT`;QQḅ$ y&]wG]?NkyJGS̪2318ܬ*˪2鸬j4*<ݙmgF 3Ȍ@f2#[iYg˪6뷬%h5h6nGco׸={mDm,KVYA mG3JdUqŚdF 3Ȍ1fߌs`yrPrhr_m@adM|.y{{{}볥އ5n}~Qߏ7yw0ځ͓uIZs%IVYYXmUiUY{\mfF 3Ȍ@f|Ygu$EF &䴦fv~gÍߵݎ}.j{??m]~扖>rf3]61槢?B9B-#j3J4 ѝ09dF 3Ȍ}Ϊ:sRsȆ ,|n%rڹ6V6#g3vsmq?l4HAP @˪*ѯYUf ,|l)3Ȍ@f2#shVh;B;_ 4*'q!'4"9>-߹klrfl_C_b>%Nsۇ Z>5 }[ql';ef U*0j!\]Ye9dF 3ȌBKIڜt1T3Wi emx޶9ի}39_nیm/>lTj9jAڱ#ށ'_0DuڬñsEJf2#dF0K%J2G SC"If1k6Fa՞`DgjC ;ZUf?\婙52s ՘=t Bt?JVM(\+27U\h=Ap>`TC[hy_uz}6 k[{j֖l`9??A=8q 㺁svU0gלwmC읿Ͷ Nn8ǒ{{ n'UK|vϘ%[K|N~ 9o۶e}m~!=jv/^+lc8zWA)B7k* sE5Q>Q@AH; iTl9ZN,o֎_K~3}/m-t.7q_ڍZKOb_ ZK~~sպL[V[f# ;?o糸a ԆEkt%>hQ?=j;9}>1όGf<2_>}>BTB RX|cP@f3H!688u[ڹ7pb.}& I)[$]'nNIѫ͈bRi:x4@#5ϐ*G'Hcf÷x/Wtov(?$5 a O*ƭf=OEhMl3!:Β{6{~6'{:Mݺ̓{u/Ժ-{"BZwFExk=𻵞Xm >+OzL-g ZB861};Oe~kIrkѿFS]u]rOyGt~|jἤ7ojm2vw6rvWVrWVRdKrGfr{MbwMo5;7-GJKtQR0y^{FϩUt ( ?l'm=uGH}%lD+g C+oOd}4@*X*Z$Y h$Z[a@\ x؆h5F&ZQ{ZѸB\ 28ɪkm<~Gnk&JV5$Y&'Z#MSsnMI{ZSn ߭9&Z Ab/ZK|-vs=j1ӱ4{p܅^Ss^As׎]KꮯxՆkxil]׼΃뿎5݇zO6ܷ^7`s_9whs1oyKh\Ź+ޮ+ZA=4~/=Jus+^JvI]+Yu=n{*Ni+YoZK֛-%ZSzd/Y/֑kH3U%ɊX9z,5\A1凩"*)6|Ԟt^K>YL,,lm[3#V6swH~k䪶KԆu?~Wԩ:a.B4f{1w?V[.{Tx\|R~ZyYɺ9ɺy$z%놈?sbv]+ϟrFkuɋպS;lxL۫Tש֯?{G1@O*QNrb5L2Dn0dN>`N^6y0OtI1&Z!r!NaBF!H# ܂)e{?8_0 Eq> n"q} ZNE? B0c$iSMĂУ;!xS}ݵRr z"(''@ Л z3*D^i(Y/Քg KHփfA( ̀OY-&l|)}/;ƌ/M|t[кKev3C 6 ex}ɺɺ1@t&P ]xw1J5zs%[W&oW^@ rsqR<*aȀ(FI] `J#S*>C@d 8p!(5Wٓ{zxw6S-N))I)Y2oHf0āgR]nűKRlBG݋fH991G\h6 @SjM (T(u8QR%=AԠPA>N(Bh5 jcA ՠ e!:a!BX~T ~η!4OvN 9X EY]"G  ]u(B AHU k9A2bi)〠Gar˛V]R,c7wʎ@ ZT.3\lp[Me)d*i-}'0fo2R䚛B@gB3}WL'ްHb=4+U=Ő*RPD\dð؀Tl+OQ/)mٮiDg"{߀#}4 m}J5?G@Rr$_;WT~=@f/g՜$3wUJnMa'"!ș}XnJPl |sXI [,J2hbyfGa{j%@>By4Fte|׏o(P>7Yjꚵ{2zת洛3hM*KkϿ?ӶRT`_| Zz8L V!@A-Lsg?RZ+B.Tnz.sy/Ffmon1AY}taDfd07䃏{|N\6a}/'$"oHA G!J{*Snܗ='=zTx'T|UbJ-9 TiD`0#T䔬FTZ<S?}%썿Te3 z}xgs`ꝧT@+@=ǁE*/f$2ܽAX C]a(?:q~ Vs8G} cEA$'h/ ȟ{*~A JdA4z Q"YOTH=zd!9MCȵ_ }v/a۟{ZE#+qW2d9'֟'6[@\R}VK!?W?[/QR %vTEȨ>CN7(ԠAB# Xo,Z[.zo>R?Vُ{9ma   FWtNCIR208$c*VtzǧAN\ԡ,7ߡ(P~.8nDcO^ypD->5pFm7X# W\tlѲ6Xh=M+fRBEZ8^:?uNSX;Gw?Bb( F! ?cF1蛳m`y6ta(Pɋ0~p5s*>b>E2_yTuhC`}d*( Ab.x`_ JWp1 E:7R%kc BIPN) Ԡ<5 BE%Puz2@#zCϛ t4"<;-%z'䖎tdf> װ􏖋a/e{.>I4\\bQ0DS^ B̩B@P DLb>yNQf1|J <[A}\ty9⓲z~ē?nSflHbep&Caȳs &ML%1PbfE]A{:^qL8`9r0U'̔~ =Nء/49"[|̑B IPqLc#(X9 H`f.s ) ?T ܯ?E$E8t!d?S紏8.6``FآX[8|Ƅ牋9B (@췁})cvjss> QLMof A^†K{}3T"';}psmTCCz Hދ  ؜}.MDܣ5xwП9  h׿MYfo^_ޫ=(K{ElD0oPFcc +5z$+aQGjJV|_$5!#n.BT99wuyW$)ggA]\:X(CO9  mt ԧ$8I΄|Iω !xZaʐgvMe;s N\LJag?opfs:b;ړ3Ž]Cl P2|S'"Xzlz,w[0O~y9'=VbqsL rM)>+m,uaŕ_@?sQ} `((8 mEA[7fp.lv%7IBY E9pnc5{ζ-qo$h W>̹/OaSq]"(s.8yMKX6$5@l 8cZP@ȫ5g W2xn MJ ا|>qLZ{ez I))]뿣Mg7zC_V c+t2r汰, jPOPdI 7@`4$ T頜픀2(o3qq#pNy!"'0!<_&u{IÞx&(3({[! dN<'rNCoNh\9~*'ί <}\4:p}U2D (I*9쓋"Ǎ%ƒHCɏ/7S(7ˇ<\ش1僛*6_<6cŞ`1α;Ǘ"|( 9e7'KNJrg?068vo; ]-ɏp.yn7Z(kWn I~bRΕA{׉/]\SY|9ϧG0 E)S\ d*+B8J",ZZ=hc jA)2 +B[f}q@{RGz?ENt`~/g?Cb4qj*8T3q| Ʀ,^NB"=}|ߟ|Ayr5yj!0B?RJm O0ZĔ"jl: ~CF[ ȀY 3+{*{ʷ@k~Ul-FN*ɔ 1a.RSoJ rOAJprħwrOdlK7߯A W$ lIS m'(L;=UM7aW wa[q['r4']59֩d B\3^m(X(Zi/6"u>!-:=JZ}YǞRU7ya'yJ[GfrDцRODK0qy-p @r"υ qe-ջ=5:cpc3U,.sǯ*~D賙Ĝ{E‰ tmKn}UۮFnR^Ts9E/faOT hmZʵu{Go]Jk-ş *C$:ZN9@@^%K1A_Ǧ> BG!BjY:tM2 hQǐiA~`_} kz3$ҒRDT!w(^AD8:rȝo0т?`Ӟ@B.7ɥ4q C9fvfrI:cm)]j]٣ߤ  l"pqݢԦ ^-ޜQ<8A8VҮ'c2h}"Ԥ0PsTZ哑ur)[e"9 .-|2%Ai;hc ׋5)8ɀavLr{Xt_s@ĉ BA3iZ`䃐S7i*4Gi($StB9@[;-qlaenV''ձ go"{=O B&'YIJgeNAirbahGtk'<6kڶTMX/V„b0dK)ޜ'fN4|d2uzv'5\A3 a b&z2R@"Rc~>!M;4`ѱZL$\дp,:Pz<ŊP~EQ[b;iwL<-s>&L*-Gtq=7! 5\Q ?%v{(Ǘq&9<+uvfJ_GRS8<8w퇌5U=. /SȲ<0% Q2iޝ?~f!r_h.# Q1e(xxLA h2uϪ m`[GB ?V)k}Lk{7'-a!fDA󝣳A8gG;gB0Ϭ( Y"Dߞ vW曟<=UJY8C,2,*%єj^PQ\ky|<攡 Rr ,f tmEmJօ#'P)ur4Jٿ a1KxўPh6BQ5ZX~Q"Xt/QQ}x̼ͧ|4RU Oj }`<Ҡsux^%G{Twd ,w{P0`IǪO~T!UuqC7p~l5܃>\y-\2wW<J%,fQc-1!,̈́ Bpf#75h|"q!{h1~r# Gu~w~Qb^a# B`ȩ@Y ] " xR.]pO^ͅ,rZ9Ct{PdjfiOp.պL1;v4d|zb25U~?|rX0YV\u AX0z?*vx ec;tV$]G#9#8~~\>{)Rw>13}vYJk=@볅[n.\x=`||8=v,'R$S ly aomDP#^2^C\p]v:>v_8VrS% :.nB,h~A~$B.^\Bͫ}xZ}La>xسT! bp9 b=Oϱ˅⾧#5A cQ~Ȱ j8ctTH.$9Ja)%UL(B,q?Ԡ{'10`4ob2H+1A'd5,Ӵ:M h/ՠ,D狒- M\ۤbBp a H' NXi1 ?|jYzmtj9%TIΪa4?I1[NBDr deľXFb #4d:6i2`|q41`pRGW%x1|>Yc,/F\>{:4e~y%T Bs/qɉpbqa4$sKAJ*d jd U2/Isbrc%M1W~DhaT p%u{HkODM KEg,h#_o,OJk_:;nz":(ϤgNjBptQ0gh1hjd. BF^ zDML %dѪe3`uH]g;f4=R Md4Z01Lھ=,r8nZN5_.z3]=sHSW#ϩ6@*-CAʁkARC4 xE]#aZ0bNymkyAy* EA(K[ K̘MIA/*@sŋ`X;-~TJ#+8I~BP*}*d$2oA |7<Bξ#/]'nf#W%@7s0gUN>!I3{tkei?8UNQJάlM_EJ8Gi Q/Ֆ)37"W|*!w BZB!T5 l˲l{A.CPYA@*& \3t}d0$V_z ?,zX93_'H"m;:/Of9B:qKzW@~'DiFJ䊞h1tNjГ b3jPGA3"ƚ񆷛z_`(d )90Y`DIO4o=^QެIƌ53k֣8y,)i l'l]>Hu:Xc,fO# &'A*6@MJgꊖ-ㆢr;Mdim;NmAU&~( BQ[d'cbrXH AY ͲZkXtP 5٪}\=pf5B~L -@"}AfO־97K*ާϑ5+ CRN9;ҡ<|$|k0탃(!(DRLJ*_㔠0 @~\Fu!@|ҌҸ7y*B|R¼Ƃ5{XTrwǟu; 7#E&7Zƅ*A%]}B5 D8Pws|+2oľϼ-*B<~4 \k{PTjSE y(;W]Gz$}k9a@I`r5./Oa91^2v?~kK`!|2'6nd>:&r 3ǁ OEtHkqyo?נ'BE09rܹsrN}t[t#2$cKUJFi16M=҈1x8x^Z Lu0a ޡYS$ NX-tQHԩLS xB̿J5ϐ)WUWSg R@B3o3A~@ ?>4869,(Wz+UcI!@`PJr9 ;mn񥂑@f6I#l>{:]){al ŏ?Za#]=~> 9e( 콽K!Aθ5P'Pq'+B`p,&@9+"%EOOU@eێqNZ[|a  'ab j A/"pn(Ǽ\Sh{/.'^vToV)>Z<-n ʯGje>*RIjަ2ͨOs Do3u()]% 8/TydN "pAy 8%er!a5gK [R~f93-4WAO:S%C rTtr!_-BN rU5P(oPQ jХKQBFÖ{ x[DY0 9pB! p2py)Un>v{,#F0C]OZEWÂ\? N0>Pb>K\\[!Wj-%|6K3Gc…rmVV3Jrׅ&6x.^bZ(@/Ԑި#w~PnVn4^\f9 ^@{An8'ȃlf1B@P4AYgLA 䜥id?_&-#~%"SjNK d6Fq`,*BN.0EBa"4ia| 0ļFݜ@ۏY Z&G6/w3Ni/+r6{VsσP$:uS{#4XrXR3T!)ZA}2|4Ce*]M~ϏdA~2ENUjJk?'X;o]:6{Q-q*Ce0~AZ'X}e$~ 0i8|Vk֕Bpm:1!T4hCQ[ME+1A\ST<]$4%Jem(1d] Z<) USNT XС~"ܵtSv%w.gV5d " 5QaTC@2aK)A@J1bX s \-恐xXB<0@ݳG5va/>^*C؋xd}A":LCj94P 0/ޔAh4Ah4 b]&Na2S)2IO2v Xy.\\:@ٹhM>btop9)(BT1CөEVy`(xŢ̧^.ƚ'<>ar?}}=!sMs&(,S1F2ʑ09(~Gc65};pݼ}cl90A@±fKA{A\ HMb 0a?ׯFaKy!P!KB0ħ%; Ct 8p!dU9eڤ)w1#P{U$ϧ^.҄4 AOUU?ts„ǥ IYZimj0 "ܦA$ٴZ-l>ctTk ?6y9nh8L_~c-HgۏKR }8Op˰9{|m,Fm}"/:z!ǑDkSȹoU:i&, 0ɝVC?ufsNm̞3O, RM}qy |Cϩ7Wʅ/T&ey dsPd DE0#5?2>bugͽg PPDŚ0P3nt)pd s.(1+M yVVuOObwĆ|9-}`:X-T0""~IjfmOjϑ u>}wR{gBg*Fzʸjo[/S7}++kIx 7_( q13i R!, ` h2|Pޠ7H 4λ[N΃ fmGz=C9%^2ա|01*TϥlOe@e+bC12[M /JCe &"@Uccj#,:5.p=U DB4]eS撥&q,V2 GlCbdi7 f!nI]1o7>QߘG(!,fhCesV%3 >j(?Ρ ';-v_x>o( _ 2_9&fJjБ\9z,9j_x9qwƒa3v 16r~4Ns|Ūm¥rq1x*zcn%3,2#BORA @ 6>!_cA| i.v&1sB/4tvsRCji, ze:8@WU \z#k7{ `SlP }lWaw(iT!+|Ymڟ SfA:K[.!as y Rt]yڌ \E)0+9P2 ?CP 0A D#mظ)vtFEl9k ;.\&׮ W'? F)<197x>P\5D-3aNZ|,rd@^Z_qthPSw&!r #@d^2O]\Nz ǯ M@h xߪkW?+7\Kç/HkLoձ9Q;eɇ} 6?>?&9} @L5Qp╲iXmڒX -tu5p"d&vǧ$f ikֿūɁt: r`"\?)BʏIim0qRjϦՖfM,|EtJ`tT%4"uJ ˝cI DB,iA'u.sm"KV}Bi{,Z羙O&2 6 r3 +@zf0is E*!koϢ q ̰WP6cocOX4+(ꩩy 4aټekrz' Bt~᛾L!U4!(tAd S"P"APiMo ^UiBA6i `"LBZy@@h ? $ƟQk ~ԛ>~! >K58Bc@ޫ5o +B''P| NPyƜYlo|?I4ej3`N.Fo(GS&A>^htem4<8-&#{U$~N,FU*HXU%~ٿZ.#0ۢj Ը贶 Bި`-yXZۤtޒ pnPJ0j>m`HA3sO胇oS±ьs6Lc,}cgΗ /A]R6g B +1 03v_x܈k)PpY2O)%pj[U ;>l.Ka{{ %4\~PvܽN &S3kbK%js (lr il~DT$3XH "섛BC Ĩ "ƀs^4t9Dtw:irɼ(f.sd[EkC){ 0þy."T5Rt>Qu} 8N vɭ(Jй鈿C^OPB4#$wbd,G3ˠ(ݗIs!S|(e)A=wMEЕ[ P B:`ԡTIf!,4Cd1*Ċ5ZdDm5t(a4a:̏ P6!j~=^i'Tǩ FƪIUuB.m&M:ˁAI`"/!+@@@ }dx 3ި'N}}^q8^>2^A[bn?`dp<)Ŏ] R/;HR0|qCO/*)A ADAQځ4ag3z@tW#\cDfB`g6 ߐ ?(6|:7Z tT%[tկ }B76jw|5HC T 99hATC{Cnq[SK O\K `{0h7w~B'?[IvWc6]h] r)V#K0餎I 'a Q`*j׽o}oN~zg6A lI{\]e(a|b7heȮ®ٗtkպf2?ou:@;sY* B?o%M^?:^WN}t5 1Wq 1 4Z@M/4%+S=ccy8PԼF_'ɜD"@OWfzV2*1TmVݥcP!!^մ3y}k |pn޵ 2,V* bEs2Fb_3 5P (ǹFs3EA@4ic+/I89"i 2QraTʺ% Btkc03Ds ":T?? |J}{+v(;>Rp\,:dxi\= }PN dSEr2Ee6 5*Sgݑ7A)@R\& ?˫Eh5񼂡9mK&iwef1G1|(Z;qs|kjT"5 jIQ?œ")cqw$@CdĨp){ Os櫚ikS Ma4b9,iE?4AWA!S4lc+A:c+Yځ鹄7hL#<f/&J=@ـ)a9Zy1[At?S1_:14v )0`Q")A r 3< Bn2hT=ǁVpWe(TS֠!& BuD0!3P2i~e&i/Ga 'q;֊rji>lcĨL9f87KHEDA+A*ײGZuGBt)qy {*IQ0ueR2u>Ru~jJV\f~(?!{/r;<n? %6 {l:BJʾ2 U4 33,H1(v_8I QlJΡY.:,^2"?ބrG) q=2<֒GR<T&ds׳~K:&cN#@HZaҜ@@  3JACP}0fI bt 4C!{ .n9{f K.%0f$?s?^ {seJ?@ !֞MJ! )L.yD$rOX2E(ª(5%ydڼgk:paH^☜F(7eho/F'L₮ڱ ZV ݂iC+@=P€]ۈ?~x" TEt:bOJAjh^C^-MHkQ8tơ0RqS,'t-s&dTءJKhĘSa\\BLc~ B<B-k}Pfӷ)LB%,`t"P:r:/L;!LkIb MeӸ&L? ܘs>21nߩkh3Ƙw1"=(,/ۡY* 39bY:7(rM AVoL_+W*CTљ! q<`y Bw"t^%yuBоCQ}=~O#7>P\)!{+dAq4B 92M`E 2:65y/U{"A7i$ 9SY*`(*ߐCVؐPrUd<Ϝ ?F3bӎeKf'[L".ħrSA,GM/g"@c}q?at }yP}p?SB8;W}"x9M:#Qk# \ƱS!%Hs !?LdytB'CE g1ic& .CǦ5YZS(Us2̃EܒyZ_2q7.des3{-!SQ1B uȘ7r{uƇ^cgo }jYfqDdľH-^5,!$VL1 A\PqwBA( A4QRGi@,k60acy Pa4>Og@¾BA?fUF? +} |M%ҩ8+uAa&g*1BO Ѥf0Ԡ$"(y*Ih9 2 sUjwapcf di*C{: oA ppNɨ)iKw06SV0iyaY_Zk_s'E$.Q 톲p<…;!*B!SSk_B 1hаbwS9,+惐SͨY_-+d5w[by7eB{qHZ=焰cN15%@蘗k!"YaS{bO5R @8D_:_LS_p5O>@{G@<q3dqZUتF^0GYy,j S'e%g뷿$?;1. `)tZ[4tF}v'l$ 9}>CԁTe.)Q~BW( CaroAY6+\<}FvJRLVL;LԹ  'N >4/& Tul9ONR2&B6IΙŸ?dPeW#mAB+A,N/֗X`{H8#j K\:Vh\ZcOhcP  Gw4sYya~a h"}L R"DEi,5ʼnbzY Df8aDtڑx:1*nzpVL*22E @ȀȩEC AR>iJX 4?L}ǧ _}9Q(6"OJk_czAVM0;]4/KW`E[2Zs PD?" !ЬFHi t|=,M3ClG_!@V!׶}?%)๰斶Pf <]]zϨqyBlOr;+03"d&O#3uAd䩱ڈ$Xt@>BT(B‘aA|MAq 5ꏃ {~AlBIup,bj+ Ĭ4,LcTd x?;5l~YD6.CkΖP~DxwA0df.Zi$Lbq$FR'aˋ T TcN&S/斀@H /]֓O/+njCDJ֦D G &!>?j(BM-/6>#ǪCeLë"aкgp_(J2%5cW 5CWuyr8|tZm F/%t2eT{:'{cyt'bC8 @tDDQnw4 !X6lޙ@@yUp8S^* xzP.#LX@17 c k}w,=H@Qwh5x\\c]gT6BWF x`ц/E.ZWQC`{*P((J ½`JgD~0Ň +A>J1LRA tDP):Ӥ5]?*JpJLK}4dfRdxBT= a}`#7dK6"gs#d1%+B9PX $)%@׬uzϖLxjUd@SfMeג !?sc!L{ Ӑ"F9n]JE`2Q4ס,\L? RڧmU}0 sQ%hn,|j!3V?~GYRO? [*8g "v Ag<=݇c ifj@LeR B @9 "9!^_~2J-Osup~hQEq;oõ˚bT|REu4{<J"sb  ƨPz /3<c(*HB|H" Tʣ}D_,!|-iwSxpL-z_!2L4F*DI*RE=A z[Ds'kEPQ@sPE@1 +гDGY> Aũ:i|s!#΢*7bF3Cpf' %=B BIbAoo͛P-P-D5'/ A4h 5!,· Qb}dּi;θO@S9ZCA}xι@`A= GSf͏ݿgߊd4 ZG)WI_eZ"ذMtQctkv)a#@Є࡙>Q 3)xi3}\4uLj3 -j9qy ۥi(#HEfe#jш2a,Y,VkwQVDAC95FP,!@ar ^–3{ (WƁ_>`*P!H*^Ajø*<>BTVjv+vkۉ>‚cyPB ՟;tS0ئƤul,>H|BLdXX_3$"AmY*xɱEFNi9\gС\icf"%g#jofr!$l sey 4;v_8F5z30b>pȎ;Pp*y=PᾨvPOeET? (6>Z{sjj:uF8xS d-"EpD= 4!h^vd+y' (B)XPVVQmJ!PA )h"|C?,s @~{cA>ô!QkWDb)DQDY"4q7rPxo#r$1 ܝpcp2TG֞#sJ)>V2Be; 9$ *i쮄o_fCAcha @j)ByGP D8o2>YR0M |B,unM\,j\hYK9R/uAG\n7$0Gi!@ Aـq>=WOydTXPaaK!3di NPDuKnc4t\Dܙm 10@,X*v&]t& R˜Qk~h45@h乱q,ARB`*mī"IxXtR iy *p8/|%Q]`wHw3,ØSkb.,P ge 2 6@@ @A>V/V($Gߏ멵˙hjю(:PTYGu W(D) Jis6ⱿDZ^Ò)Θ&bfOr!6~픔ͅǤ ~K(~|@ [NQ]Q3 X\ɬmr,6i?PBlO`rd AyuVzaIroT*"P5#H M$ P2fX 1o2&Y.N8R>yjse9㕚2ux8945='I B/3 'Y1Y.ؖ8!,ae@jUG? ,I?I1_(LS8JP,p/"l|:il¥2n|91*B BncdU~!(!}SN/ '1: =d }A]; ;?j-Kx?@TcX~jK3C>4Jk=!%5EKWȵt&HQq8GTǎi3CsqRiG*A OJj\Pgk C :@99A"HEcC`sP 6|#a:c>B.j,Bo,g)+U&J8KcLٴ峴d^"2JAGb4$nM!yBsGhca5r4X !,#'љ~D`!QeD$v_8y,ܡ?fN R$L=G;a,o**YwK!Hp+ZP"z韯eRƏYgaBzՐc_!S;vv%nL(TQ2"l/!:B&0*@`@?l@.3T.)" CN *P> h!UxF!,#~@oq?bfi5F!·+@] .Gt_u0ְi-A`Ye_x ?sYV5\zI>.A^#5hފaƻr)?.y&l |v߻LC)4{љmeꯤau;zEX<#[5$QsM{]rc)l#)"@k$n_Mci}iR₏Io@b1odm&#:=e,Ht~~;ƹ}n%rBQ3 kQŹg3VK\*tO%-@ru9&ăJNm x2ǃM&B,:-3:*A':dt*AlG t9rBB "]@h gVQ 22]%_)+Ay AH ~@WJfP 4A^E>B?mI D`:N ByP=.I,Uyj?pd > 2ܸ-,г\ @cQ͠e1Vd 'k͹9nX  XMA4v 䦋ShV@С~0 3Aj?<}҂xpC杰*f26OMecne4Oq)_ˊ7N#6x::Po_fnE+V)5VP뚋:A{T!"3Q-lW*W49O7}c>⩉._D=R:0?곫@Gy,bbś:@G$xP.GhI @N@ԠL$w̫BB I&HPG6@ HM?Oguۭ0h1&.*E9gaATgB2q A  jI~D>wܳu [FAzBC$Ҩ F PX ,T{o>6I*D'^{tZ'hbq*oԕyKDfB:.T0! cD#}y!FsYdkBq 6,mӏ}A[$Oc/ c%جkwC*bÃ`;zFAt @&ף]TK 9C@U 9EB !";Bt'1bOATr tG JYs{Raz,8Vqy?!®}: dfbq 35 P o7^-jb/B}('|C:d|lBi]4{0NQ[.]+W |G=814>D{{ˑ{bՑ}5'`!EB W@(N̳OZzO!OJ fk)4jd>qV?Հtm] Ni! ZfB€CHzS+c^3r0D҆S PܾsLsW D#Mkc_?,1@1B oLǠƘ r 7EkJBx@Q¶#4A9} 8F[4<" Ԡ tjF|"$ B.tB硝 U*}IAΒVyЙ0yS8ZAH55p9J+aNR7 +BTԢ@ATK@ "!$Tp7bBT??p[aL_ĆOB~vi4tTޠ t3AE6 i=F5!Z@ni}"v@s(l.SE&ttLUҸ\Ct-w|j-9ӁyXN~Y:Z0);5SV; h6(,$ W}8>oQj XޘڰI@|ċ"(&1,7C9q % i??o<99vEOܾw.V{s>_ Đ0`YsS ,edEp=MY/<+KޢzI 1=q=>cNa;D1YB$r4gPyf'~)_|;V0|+Gј#&ϿP}&.XW?Hy l#' 絮 BZx~B7_!-@( CT0t F1nTj+!@sA V~ǑB#vCY]v(=BouHO>YZFUC$3Z# W:yY&ftrn֠8w3؀H'^YˁЬk۰wX[u j)4v0r:! k+CM50=MGɽFMGT𿫡 ]V;a# 20_. BBN[(B B%Y 2Fǂ 8P$5ҌSE(Gj!!-pK}2#ILJ#:Qk_Oe#}@ &T _*%f׼BZ.\Hy0nH !+e(& E @*A0ƜjMټm|ͷZُ"î p =me.m<3qF@1Ҙ u 0~gUIAcQm'{[v|." cʀ`C_r,Yg 0ssUeњMXu|]{U6n|}okӖCSE%y,}yLcpLwÿ2}yrx{JBJv<>'NFS ?gAڽ2[;w4.j1Fn1Z 5!6@*B(m\LBSӘ B LqzɁ"@?G('2ߠ@ "^Q1&,9*:%((e1?,*2 2y`MGEɫe[/$R"JsO@bD)$Uf7~~E +P#!`(-u o&w&<|SYd!:Uh"-}5?!(9+%3Ä ;F0qb{EbBT7;6Ka|Z3ruvc0YC,(u3+~M`Ra~I B-M[ /BnTO3:{əɬ>O u,],; D*/ԐY׀밠S20mU-Fy0dDZ2$8N!'*y*qqݖr+d+5RУs,ν+s=qbwwX\#^Hg)*4S " B Vo o~;-;3U-?Lg9B/9@uNg C_h]'ZZZ;}"7 rur`Jh0@|AU#::'/_!B;Ew;H'AOBWQ@f{3f~)B1X<"+BE+4aBB04m>Si@i֣:x yBF T(8f* (}2cZ92U1f)aHNɱ]&5cHF!(d5R;3Ѹ 83swN믿kܳayx\Da*}qΎ{Yi=)V׍Pt/PDY! (z2ųhgQ2$24_f@НP< zxy lhD̀C7B P B4Q:D2"ic*J'%/Bw6|kUA9J#4ƨ1+z끏ނjc~Q _/'7!uw @) U/jnEYS"B~Ba$F" }7ZxOCBOcGo(-u)CQU"m4򉚓.QTc裂6_aOqo,VyEE 8)70mO...|(81b$ `?@ b*TNk%G@:'9ia"#S3C_PyFa$Vt?(j*q~<zf2; D"]P~B;bO9}$P*ʦay*2Gi!+A64:KXҩ}vg`#/>kPW 6 A}~x ,6/?@9kj: R#0=jf*˧. d T8&T,zP)Z!L| '~CC`*} r^I N<[I>iCݸ &[ސ7w]ng;3"L8/` D0(!D0)Xd1X~gӘVsybDB_iBI%Mk~§TzA΢Լ l2cEhӯEY%>v].>JGxF7a|xѲ'8^GXc@U䝀|jH5P@9qZ r2.tsyۿ%}@# WBSCfL+J?9Ttc!G[Cg-5ب iҬ+!@QB*ew[ta~:`4B= Ϩ>:7_n0CT;/z^2E:UkQ$}??= p)ph"z@0t@A dk~UQHj yci!B.:c" Ŝ |=, X}*A k;EVc7ɰU_ɚ/rpxN8=ZH1+*P7(,$F5H!i4!лW B|2B C9EXsMJq b$g|0qMD/w9U jפE#Je>c&'.,[A9JJxL4 T]A#:1!mu p%{%5Y`iH7=9ysNivYKȁdΙ&b$_ٲ}\ -z 5P(P8F *,\>vgx}/ 36Btm"Nz #wIǏ@J_&U07=>S/az\9.}+/{f$ u+UREhuATXv-?J5r3_%B-N$)PNx CE-@ɹ G7϶#Eڎ7=@{L2=gH)z$):#S0=|܇ 0OhS*BA"w4݄NjcyĉYL  <%dab#qQ?U:!lUYFSunȒ\hj7~M~c~ _ PXx`BA=CPN tv^ p;@:7nC)JU#9Tp+ô[DDBA^?GI+Q^_voL${(B>k%2U3ʔ.I  m~\O72f9,$1JL@$) 9HJ;⢪2r%︙i,T'?eB!>X5"eB~~QRN5A ꨰU9q͟oѩryqr dہ}=C P "q<ٍfc+4l;㎍0sw_I"QǶ ^Ge*GߠiJrӕdeߵ1.m;?GwCA9)L{:Nrrٮr a]ΆE{5j Ǜ [H[ ST)kT;[#ʿKu.z@ 5pMع 6!3:H>74 9[!(_\+DEȋ3b U255{BŜ BG go~ӷ.Mm0^t^KjVJ(o^,=sUt59&~ _Ke_*ls;|LTy1g]zF94 "/è1319LSIBgȲP A$Fb#FUEM[u90ʰX7[$Gj1vB0+ Q{C{V.xS|~8TB$<sidҍ8Z)h;`~R=IS_w$],g"}MSnW -ﵟ eAzϐHސRyRM &t,/C=zB/B<:u6Lda:=wTaiSB3B4s Ef^5FbFۊJ֭{@yq_eVe_i`jz7P7ofU_rʵ +᤬ItxG PN&1'f9/ba*Zo7k!]sSEtBܫ!=SacFjhUF r݇mp*si *UF!I6W]> \@7Cy/VūσS#T5+kA.(AsU+,ҵ䂗_pxzlnPj;>.T;߳9Jgb|1FTcl1}9rrT.B0 M?_jY p!]lbFc<@ ?Y^Tp ćC#DߤN}U*Rp\I-RG VS9X 9i%%?j'^.\_jOy&C6LRt7p4:_Z_(F.hM/*U; 4yN M<]Qdp0t9`ByB 2Tz@ # D(]̵.U:A&QF U-=ho@eP_5]V8OTB0I@ȲKX4"AEŁ !@*By0|h_WK Ʌ< 5e" Oe.3Ȟj}Ӊ>ʰi9?O=GI~r|z7eG#33M'  S)D`:SXǢ @k Iw\m ׄ9^rMrS !D0!ɁaIG QzqGdQ<[3P:}g! 1++HJ5n+ᢶ~l [s;X+ws1\\Aq9rodƴ)y4aP,vGmR$Y輙Ŵ!AHk"U t3KS!25O}Z[Jx t4a\?+|!$Tk e>9ЫPO>(a$OInQeq0FC~ޡ(IwXm,[Q;ܻ_ }SVU\G&| fy*҈1>9b12gcWp3Bc_Yb a 04P9F_venTyĈwk%וh"%<_E|\S[MzI{46?7x"9AT9~nniaUQJ2^&.X.%ZH$;`,؇?^^> j{ckTGŌ u6:պHk-,L8AWuwNڜq%pR=v'>$'jh"6"pdw2g4%ڢIS䅆ҭ2m妲䶏:]:ɃUջuzKFP@z0Fj^Pf` Z^+CgH)v2i<|T0-H/y0`On'웠]k˜:Ds!,]$i3K+A-AddAJ*iX 14G<-e#6ʴMWc$>LH9}/oSs*>PBw$zc4WBN$ A}5G; ЩyUH^tr&B[dlԹC`TA9;+-m(Σ~crbyfA_r#]5 j>9}sJY~<<3v{ٝ_|!Ua㧎Nň0!2w}>DP3l•x]UcFK#UI2#`~k$`+UsElT @xלP0uHIL/u}Hc '' U#'\R b#cFĴ_NhD_\oe9dGJ~I~Dg___D#_}L^Y]/D]'P [ V:NTei8\?{R'ԡ[7t!(C 1 /ʇpA!B2igA\+QZAYA|9EY"JH`P=_ u*TICv"g`qӏ:"xmP.ZeC?i8#*FmM&+72UUX>H0439Å[P)׋fZ}ͯ͜mJ_q@˯e'~kAAVlB&.IPiLeMF3:Eހ = {@}{=(C`&z_! GJ1Bh +A4q~S 2"?f1!1·AW(B.|Ba:9|bf պ~*ꕺ3\$B U"-;|']])+csD>t'E,经MFsEcqu~I"4@3aQ {.Q/B~;fVn⪌S T Şp\ͱ m!#0~& g#$[3:}Ja̐g Qy/QA( 4fBQ~BP8/|V6U,7M4*B < lBp" DU(A 2Ejۿ j˗2s6p V:DԵϗ̒iC/ b4.DY{ Qw9 Qmam@A`BҌ_@ "Ĭ[h,1PX ՘H|/_NFjjSvwJEkk4c[>}x^\AP Y{_vr2Q 1siLcNQ5ȇ LG5(+B/TVyAW"A菀Le9CXmه Ʌ"q)*?,h >_OjsQ;\[aWwG D`1uiF{| \1JAN>u"Od dvB<>ckȘ=mr+kX;@@9TDVSƨSNx4\AL7*v5 =@0UITC=k~T=L؂0z.!,LHb/\j[~zF} hf3W~&1??,f&1A̕d2pfQ8W>5NӓU$Z|IW>8N߉l4ؕ" :7PWB=^XMBP69J;bM7!d vA]My@(,e>FZ4POHs 9_-,' R3MyYгȣuJf5Uȇ!3Bs2; Dn,5 oa NͰt>3uj9hf*oS2|@v}yOKFA$xC:cf4#wcc~,"BP=LA*rz:2w8{sluI1#. Ly/Xu:&3?mڴKcfN3lCr>W~C%)5 c\g,\/ler =خMntޖ>?vq&aA_PM]UF( kPLK*Aac 8K_jv>d$v<jHP-M1֨; b +aQ@QP B@yjR gS"Ac ʏy0k# u< B ?]<\D'i0 Y1TNl*Ku(!L<\4,j!>CWp_K(MpaLTflB\0fPΗFq@s)ɉ؍:הZV5{ >v "4O9 j4Bޘ>a(C'ۘy+W,Jj !ނL Eʷw,~<ˁ_es~iBv)ǔ ?޲h5pm 'q P/MnA܆ ;&á(B9oP=s7 <@ 5U~9w 6So\-(CuBZ@ 0n<sP\BW!R@04D BIPN@vB*M2 A&~A!ܫlB $M( _3Mk"E3iLnU DaRi"`@:Hc;i+~` Elae(,ZeQ~C9pԩ2Sk)BtVG t[AS_}m: VCS?+d}ӹPRS$?CA}'i)n!b3=o'c&뇪vR z>x^kfOEQ2K Zgi~N48II>羅aL9hmGu0X-${s50 Px;8t@g e#llWZk4t#232l^4KA+zVgYug}凟?@ CFPy04aF4fB(QU BmǛP F19,at>ѩ@Gݳ#?D9I?(G%Tq?}GBgB{B7BEka--@Q^0Co %f| !%MGAn#Zh7MdI[Ѓ3]- AmF) ~d-_Hg,Tn-\򱶓.z,FҚU D_,2Z-E<(^jmgN}}a2P8FD3dsEH]o4+Cf,8|cƋ_-i)9t*Qm ?:;h `.9Q=cU񤎾&Q:斓c:ӲLZVio8'gX/Bz2nRiAW(aSq}v<@k%5 eV7?f _-W>v~6qƍQsgj!N{Cy6@8KXyE'7?FZB6*B~ l7-FL4)ed/#Hx{]cyv*`uSv,~?5 ⼪AU =Z` sD_LXd&lfp /)Yw!BRS,"ȲP*"SsA_{@!]10|'{N~Aq p6rOV!,$>#unCtk &HAkɄO\JJA߸dSi,ZE{}`XNȳB^DsC\)T"ZH;.Ñ^-B1<֠h7TJ"% B(%ZC_ Dh_pC6(}Dž Y )CQn7D+Vnbh$^1 ά;vxd VL@6̒YQ r±NA WO̊A SC>0Ĕ,BiN@^Hd2Yy|wC}ᚭdR$=<6!ʅc0y52旚1sUy=5ΧW=׮yɳAlj #pI2:m0¸]TVHWǰ:?ikkDZ {Aǁ*)s^8|"(Dzc(/WX)4.۴]v|llA_Wm#wjN\[^N_ҋPx2q;Cj!{LR'ɫm p~jtk!2&3` /GX!S5D'TdB#,%ct iLYY:WC2"| d0jBAĘ~Ajq[U"n8%QTHÐD|t6>% Q!BP|((&.N\.\1\q1CЬ(E^+߮Wkя$}?}>*6&9%MLJ@Dk&tDZDto,o}z.^ CGGX4"B-ܓ+߬+WQ\z-9JrcmU<C$ ${7 *A6i.5CC08"o%WTQ3SoqG`r2eș`xLdmp\(< EomPD?8C) 6.{x+@ Н/SV[~ >if5s6MT)BM&T&p^!a̽j$Fu&1O\{=-n~[~=eONBYsmrmVn,R.WD.~\V#fr[VRrO =HPzc0^*t$eLF3͆ˣH ^WAZ( :RO5LaAGT5 M4HJ3D%(ҹ\˒` 9t,7 d BY1f&ݴG:%P2YX s e!0MU@"0y /( B'3o?XEAo)Zm0s,K'>'M.\ ɜ!Aɖ5.8lŎ'|6R; ='vͬˉ=s,y4`g Ea۷Ŝ,Dr<`&hx=Mzdžr3 a'hã)&a6AnA664`䛛b&'E瀐"8xNܺfs ^5( _M~N21*1I SSCS=$mJ#]>w͙ DE1}G@#}QQd!@)6 h *}N%{U45b8Vcd >qr[ZЗq.rH*>WMvx= \[{\&`rur{f݈}FOy`y(ccՖ#C>TUoA~@77jd jAԏɉsJб :~AJc35La'ȔBPʼfS<9s ӈ1 !B2ɠ0;s`6M@0=$XlpQ{HFyW5AN$DUj$MvJ-q51>?`+ x: X NK]Z}9r M}ȕL~jazjLarrk~r-ԟ+}Y[.I\A4%"~A B A.l,aT 6%| !Tk= 䆻_*"-.%K} [oʴ<6\s\vrɩ&wvaR`>w1x~$*J̇ 0YyM S^SBr^C4}Tԧ O_ Lo^'.NPvF_J!vpQ *)(:(}.F 'vKk vɉVԔP7,D-G> 0qMfB ͩܿ-Jdc9G¬w ;gtpr>}jmaLh0(Li\t`(73}_OL*L%9ǰ]n7B:7%F X2<ӓiU@Li)"y|O3#pISѐ0 |ʋq}a9$jv5 q 2DQZ|)hsϘ6RAͬ޸pQ2TArd&14{UM+G \=Rљa ;x|Gu! Ty*U @)Hp;b2Ʈ(T*L.-D.D~ Du@f>P^ ,PN\  ߑ(e31dj B/raʼAMb ʘS&1gKR|4TyM!f{Bz=P >> 12hnVw0 R?Lb [.UiAa8@eZu|SY*R*Y8o!_ ^++7ʚ-;d햝 S9_ ?||UGW,6@;DHя)#vD0ʊۜ'a:\ܴC6lB62h"yb8\J("0[<a_BJ9RRHp]"FVuhY@6'w|?sY}XA:%o W`DŁ4wܾBe 䃉:'DL^V=)ڠ4E4Q~2}B]%糊Zxyh#欐cJ啖 cq"Yk%Z,M7#T/LzOՀ+E-D E )ǖS3&^[g>S24dmKvq]1زai)NS(_@ЍeZIOkzvçKaӤ)jc]܋-()\?m>쁠c4Dh}w92ajp"GM\fMdGʇkt=V1V[iV&.\'}*=^kqԜUL:o8F*D({jV D2qs2͇|b VOA B!%()geAR BJ$@ayW2 G'J#]zEc!u, `βDy"u~0]TbIA*B AOTH࢔SB),-G(ԡ -Ԙ,DTЧvihB6mR?۹[B_@nFa9f,P=&BB@ ,p|9v޼ : cⲀ-a'PLvcun9UzN5g9q,Xh'zfͮyOM%LYNUU?-7n>ڹe_w )pA!붨2aѵH0ڴ`.bUuqʌsZ>H-=g_#b0ѿMCqLb4S7M僑+q%B:iR!p0$Fz~ >򡼏+6Z\6mB[saͰuz;5sk97|;sny`yfV_zot! L-HH3%i<tCЛ8EiŹsRiѾ2 y^hM! Aa*2P6h#;~B*d3 PT-( "tGxVsMd7/H:01(>lTwB_(XӺCC`D^gv˝Ÿf&m&4Pb·bRmqܶ~ }FW^CDLhOkm ־ewP)ܧL31z ܞ-f#1+&n,U7ϿNj\ |K, 8Cm( eY3(3 rРǢO&1le$j$(Ko1b?+y:~5 NtKXXR"'@w=ll]^\嵤 btEc`Sc]Si:XW^ B?\aEپ!'TSQ p4R)+#/nǹC-\j8Kc| A0AJrTtV 3q{.a0v5KCf#[ٸ!|0D9ǹGh$v~%7(wV!W%7V)U.TU=?:|p9A3 D% oAõFh1gsfP:[  B?#%l '!*5aJ BΌ7gPa'iHI7G誼#t˛ V}zRȷYg!7%:eT0#5fNF((!N4|R!( }l]n + 'ĂLr9T0,F+/!0ccu@ BP=9! f:~}~GOTRƃ6l%wWeE7B v+*!%=Lמ5E[hA+y1q۲KUݙh&w}R@"'-6|o팢8h?+9MQeB{\s|W$18j0cJ꧝)Hy0CM-rdTm"lz@f5fvM2A4UWI77m:/jY\UY'w_&l\x}RRX+\*"v>_|ؾBn3'FsŮJ*@Ѕə)TDT@,N1aèi@ " 9łAB"iy Mc%y:#wa(G! gkP· ou𭡿Bdk0_!.f)9 >el1a™/TT*͏96.hF.|5 is!0r>K6rO:gڽFls@% s6@ޫ6qQOo >۲6S͑䜩&-Foo{_3$@x1dYfSqQmj2rsuvO<.۰U+/g0jbRz[||}/t8ueu,RN>&T+TƵ32 f_Bt"di4\NYj@q96~p& o }9rDb~ǎ3䱪*7'yϘ!aQ`*874 r4R\^C/Od'jL vI@Y[Xuȵ;U%usA"'h h4gh R9E r"R(},9B(]8=D@!?Bs'EĢԠ$Eʼh|\zI40r&؎Ծ̩CICΙ:Wȃ#] ,?duA ~_>+ڙȳs2#9>@ XG)X}$QU g c|\"1[3l3f11F *_"L"W!>aТi ZK(B&lC R=!v͒u"Mcy]U.R`jQ"ʢ}sYd.{p;8iC>i{tBpZ)z,ΈPnB1.41]Tlyv%Y׽(Y7Ar&)NTow+K6^g曔P1.mɚ ӟ +hEHQPX}!y}xg1R`81GwUЬ\ޗK7MMvCeH1ߊD^!&ThRE!8[CL+{-iꂄ.g׬5'!3R(!QdUf39YXa;XOcW=-,3<J ycv\T?,Z ?(CfJ97Dn\mYL^*q;> dwaWk 4waq}\{%PLFBٶ zj Px(z=Y^cQ:^a/7ur%O7:b@gwLJ^M@3L L2SeM|%h1́ogCy:5쉕 (l/bzi*  gv-[GկR;J%IN"?sZ9*]W\8&c3jDA]T/j9xR1u{i> 3jnaA(vї"[Swx;B?j՜ Dt ?n+c uO {Ӹ?x;s#Ԑ[z`L>k!DDMS|5䀗A7Cn.J+Zs k%# ShcɌRӔ ќe3La_A4S|*HBwaޡ"pG诖42ݣE;Л"PL!~62{SQb@*/Wːx0B TTK2jA3뜗uł}>]m޶&K;=$=]:εp Iʅ/"iʘŠWk tw{vQ ")bVတpG1)E,bwD_ٗWI~.J 2tqeeڍI}CRd#P= Z)ǡyqC?]o\hZijVב4Y/FW_s5" اMWk$h W) Vf.d~-W_-_l f0fXZa>YTX V µe dFA=k#dgF9GP(rLS | @(U-1+B$!oƮzR+_"`q(ZA(D9 u(U!UK/iS&sU?/0ۮϿSDqr O7F~Jr vaA"EșY6 KL~>խb'],4'SQ"1rLA1KҨ٪\P/-9DnѪO[B/Uٶ>|>v%#ύJFڿ:WC P[W=h *sq6ԩA4a8D{PuB-)E@ @MњIhh"'`*s JPXbX"]B-"i<$ dҼiNܧ> 2Kg@BP͙>B P⁐ %(RA('2:< B.\|YCQ(!I;PlC4WњQ\,0)pr͏ % .:6}2)tS^ʧɑ8`51B6cB"\lN6"cx ʼnip:n#B0."VQ]6EJIS£ YAȔNjwYq-gy,ʄpvB&Zه߿JcR/(:ߗ`%$XO'i_+f5֜YO>'YW=+}^f.Zփ'$ M܉}Y +assceeL=Q79"?h̆EG4>riH+:#܎k΁І-۲}g dmQ:9p\P\xV4TY~U"SP6:]'@HͲ. H:c̜v>P>P>PWK>@M>@ #Aa&0K@d ,wP`Qu(g[[`F,2K'@L<[c-{5vBgz dc@(~|l~A$%fJ,:cyTRL`=WI ~!}q~S3EC)a U2bH<%MS3՟pkc{a[~BcUXpBA}ԾzLѲ)؊xrBMnpج =,ç@ΕPf|9Z j;4H_ !f:0E}&!tSCܮ0wBM[2۾6c f FirAaype6N|̅HTg\4"u)AS]<ڨL_R|NqjFCBQ[U$cg/৔09&-[5AG:e&LQ۟`Z3vɋӈc1wRJ/_. &P6NzG6);z!!MICR)`R4a G:as5Y+k#LN4<0T(.-mC\ H^*{+bIy(w bnپ> Ox} ~2q]i ,/r} @fϨs2zq\5$!*A,/Bu*[LdFm޲Չke>P1:<$΍G_=T4B Cqv<[[NAT!`l_xכxWh ?!.\},7޿Λm?wMOh8Q,P g2a &S.%󖮊|0+aU )T69j|AO$*0&: NSÓ)հD{*~lE 3GԔ˲k@⤛_+-!7oK^#ЬBG[Vޑ@fy>a8cG,T0pZ| ^/|G_ڶ}VkTmĂo~j_T?GM_!@dPc Y5!&St 8UB|S,!К}gʬG^,U7ur(E'췑X P@Qz CSk`hɢ)g^&r*`"8gf,s}\s OrR4Z!BI#fLcf|jIY:[WÊP6 B9ABu: dY9r9bT!5e^i;u/ Lt14N>Sk;(/0 3f@A1 PPT T0&@E0+A 9'7{MyM}j7uTsn=wWwZ{m=0FSV;hl5E|MЪ$mu '%!}RmIz|<dip s ϕ=?A Ut,Yϑ@cpA$IL1PqL1Xb_hbb,FRG^b<Q<ag:&d*HbG_~B羏?3ǃV̆s?;&?ꛟkm\1v#l+8֧2o}σ;,cSr1Y 2]Ug{a߶0%ڠW|:׆N'u EW1;}vmu6̗/ ":!B-iR,:.R~f\U5e2DZMڏz>hy6+7l]m9.ql ݍwjczg?h7⚳1XkN7`a,ujO"n2!aV7X6-PQi)g zta jZDy*VhWdurNЩff -J3AG1 |}Ѯ;LA_2bffqp;Ane-H0D9C:, CjD")X#h81Z$-ƌBp]gx6W $"_`$'Wdh Ⱥ=?nU18ue!k|.\b:~ʴi}OL!mOaO_d>Ąd+~yt1̬eۧ/1Yyf]MݖH!z?%kypNi{Yu Ŋ[ݠdN`i km?+sm?<_4뇱 R#!`RLvͶ{f F#E0BZўIBH!6] ;O3 Q;>fmHI4&e>~g.۰Y596 Lx:6ly)!5e.E{5r9Oi@y Y&HuW}0qD,PB<1 |βEn}AfԨf̘̳ώ21]vyKᏘK+Wyvڗyeߵm:@(-@Eu=@J6BVP np+BCBzs&\e.sQep{ r$o/1Y'aҁ@G5BM7 ,o;Q. NQ88Ї}: ɬIUKuPAP'@t5}4rL 0n~_8IK` .5[)6KVBeݿpcKIZ) lΌc}Gmz|W>y=/sf͖]6$FR ܉$m{q<ߟig&8'8"bT n=19wu(:3j/-"w_Ii14\egm*ٴ ]c w6};q|F=oh+ĺdŕ@~Cۦ=B\ؑVVH! w@ R(APZj,-@s-bVa@P9a?Y`KZyY/A=HB .\@w ۟y2B! E GQ)APծ@^-T q0.˦G?.:_Rup0CsϿ2-]|>s 0Ig]ks:ow^B;(LX'fvлA#Qg6LZ+[qᩯ.BZm}oE]arm֏n3ҁ-%j^Ѻ9kg*W0igi٢4$$J>99}^̉c q;nfOJy^v#U#@{YF) i69@H D5cl·06q 6fy-.N0~ǿT4&f=M5_ݗÅi=Xx)gI DF!SgB@P<9b.(0]l:A >HC絼*]2BEy]^|fƌ_1;l߾/UAԶmgTa4E w̪U[oM(qeNe"W dAPRUy7gS2B*k6[պNS B CjOwѵ!ͮ[ x l۽| LeX++X>8zw;>Se2DNm(Rx2l&q LҾ}5'&b=&V#4T*!~w'Wջ3 OFh1BD+L :ї ǟ~f: c\:1ԴӠ3Vؒ.P2x|?Ǝ'2TN!yx}#ࠠ<.p|ؾz[=n7{⸢YF H'8 jBtLVxsE }`fqOp4n/`Zq Y2B 5gan[ (qt0_Y .AԲA6 2Bt[^BZ^.?PIoOoe Cka~J P.2k.9o> 3{*P9 X]!B:!7;iAD`L(@̊G@hTq> m%Z r*Ktwi@I%`|C-=4C_w,Z1lN v `Oͣ㦤\iO ;`"Mot_-TH3{`2:?19p3SWLnxI0|kLǺJp r'Fs}PTc ,AC4,]g &*4w1&cILJ@k@dͰ';t}Hp<,ftXqdZ4dϱ|/BC| ss%kB%&JШ o~| ļuh)h>'" i݁H547cǒfD,IB]9aүN`w38 usa@ D-]a@d{Kb<@}_1u SJuCV,X!Um^A~ܸu)MÎ Q0! 6ÞdpE n[h%?>5,|ꄕ+L"b (B Rh%G U T>дi|~sm9f=!q?gCprg̗_~i+qZ$~g=7կ{j74t}Gfǎ%C%b!v5aW1|~ߛ_pm?:wW8??_|[-NtOӵHUR)XHa{ O#<9qbKLj\ZkuX[͡C;jV" PijWA6Ԛ𐫄HW` 't!ţ:cIx0oޱ{̗f,NN4i ͈M =h|ڻؗ1n7H2i?~+@SGN @fF?hz#6*s@悮&?W(Z&_c7m߮:p٦B?rYuo/Oy"y=͒ՙ1`fC0DWpa?c-0}Damu,@9cS"+0~ȼe ,_  t [cmM/_6YKx֝ؼSeE(HdhO=M4u7&{Rmsz>ƸT:&I2Eq\Kaxĵ&c-2>.@y%G$@ihWMD1;+֐yu rLoAF@׍PB06m6^{] `m~Hl# e<0_|i]{F@߳7`o+&j5k6tM `r# 6)37+s.p#!0>'| Cڲe˅AVS#xN<wɒ%%g eBq\Uj3q!T5+  Te_sH[ 9j|HAA|`q%,n1<0jx7h}|Xm'V^V:h8ע0]c@U)ICN+t tYMB& g;ˢ*ߙ`f̤9.&[t' Iq=4C]R-*[W0}2}BsWl8֎{!P`&J eo[fjIvnf1&nS1NxlƛIu0ֆ-; zl9SY 0;4䔪F&`MyP'DC0 4B&%2Ӷ< R@,iu)6| VzauY̏.+k\|āuo1n+@1)&HOOF`h\Q  (&Ml.27dN +FW'u%F1~F}} Υi|?@7ߒ 9Y;SolO {XJpĦsoժ^A 3D;B٣5fk(#n,z E@ *_zs*1U.j}`3 `ܼCbj]Ɖ+4ao_bf;(m@sAvBHbq_|­ʓ7dPƃt1 6مIw"$9Y 4O5nTNPնlfˎ]ͰV\Z]EB85Ч(ʎX[V`jq}ۓG ,_qm;w:pJxp"1b)ܴmg6{06FyFx_"RzO-[t6p %9$%'o+9u SM80K5u9>^i)NRAW4<1BKlv5)&4IDATK,8&hF]{2n|挖7E"ܽK#?#&,)7M `ҵ"*mENzCd<ۿk7fWn/YӪ[3YU{}S@V6{9erSH"aRSMH9ƕweږb!Ɣhl"F cؙ {FE`}@W}0\6}sN~-Y NF6n/<=B诺8En0e ᘴA e" HMUC d b[n[q,P(B⺝O h⌐ QcMfĉn)S5l^AVs-7 4vlJHDrO 6xNt;B L!]@>C>DQc*.-PV(ـP\ H!Bg5VޭLe!oC?4<@eD]Ƈ Aʤ-&JӱJ HSYaLWL]DFՅ .jmBHXn㯸J2G! ,0aiY$;bZ[ @o?Gᒪ34LL ^m3-КQZ+LVzۂ?PP>5Y`%IrLAhh"x[bf.ZqMa6[Ѱӿ}51YzɫS͒kSwݔ6f;{`<|"/Q]օYZpPNbףi OJ7dE+^z|RvstfL۲ `Tsox8>+y̅+vVm]7=2ܛ[1ֆ?j9bhz)s%kN]iwqsƨjRĺŔ>4=jPtPHAwl R6HAPz..xplys ::Y,@H'uFSQOCpER  B.]&k^@w.\Xn@l1~"9sᇇK!=O䘌d#[bٓO>e֮]Q7}@h{j&NѸQX]D9P ŀBni|8:Xι<_Q=[^p=VeL%`ԅu R[ +;>-# 'pS t:&JIJa"Nw?7o3MzQNfYϑhOY {fp'KsIf69)pT(z8|~@(x;m6)I@6/61=MJGgRy+r|&'P5diח6uS2G(Ca+$yJKj*. ^FqC֍z1fɘ(¸;ilmَBF[rQ3K|}{bSZja8 )( uaz:͐mGC=kQmyypF\Uwٰ%O3xH]s'@>OK(.d[=,-@eh+T(- 0n!Mn2!e"`n0.Tms]a~4A1$6HA%4λ@95Tny\6tsM8I}X[B\ iX=~ֵk7MDA-#Zjm6l }g޽{Y%Z#n_R D"EI"o B ~ڡ2A :JtW.l>@1C ڡC*HVxNpjl3'f3&-[3ۭ>*xWR?eN8,woHEhEyYHcTrjJ<]ϼa]6hS"mNNBs{wSF^$lBoꁱXM[CUT><^OkAХP/"k]DEaK2q zd\)\D+GCyM {z}f/+YW;s:2A{?s,X뿯|╦PUbt(w.3[WTPTUXd?@DWPVDɶ  gؐlWS胬6(b,>HBypq $yq^hĿ˗{R%~,H0F)OJIwΝ;$`{5kf@{ﳩ~Qn'Q9MQā)@B>X$Uϥ ]!T@Q#D 8]0tC%d6+)2ie'A<+!.6nh-^a\FMAW8'l/չat}d MH* +5 -^㑗L/#_1=}xus|oz%: %B-8*L:Z..`!]g.-2DV\OKU^0V^d`Mҝ75}x3lM;? ;GGd}TeȽ07fyow3,O>d+fl3:YhN.,$189q-PJjT?F45 [6#cMOÞ7=1z ]&=Glz(CF".8.,76BH[ sb@Qi qcĘ!FB}@s^9eꪫSK?sJʬ0reAZRP\@詧1{yƤz 2T{ꩧE?Q h2/)yeH G,eQ\FH"H\F(_ o)1V vnUpNWI.+[r"0CDi+'rpd%ۖD 92kmn(/dhOMM~[ҟRa^<ۻ?8=>Wj SuN=dY7lFylwr{y .rúx-y8~qH%3wBe#jačtw4˴! xt@,bDɰ P>,!7\I">H 3kL2By}Jc2BXdGF[osyaR.?O(/[&|NtSl޼En*g?K)>& YnK.9P . ?B!׿ͅssϽKH<$jv Ŀ?\Sdݽ{p{iSW%qOz r\'I jVd Դ3:pD@ȂC]vHA! #XivNc5&5x0mr1̈6Ejt(yw8ՍSmY>' DdI~@4X`|yUHkD #V-eC8%'^5]c*0:GkCXz⬅XVV' q L+'6|5W#Udȳlކ7/(P߳+ǐy hŘ1ϥ(F _rL\|E u<,1wBtP `6֬h+V5 +H"%N DzF0-Ggc'D&\3̃ ||s?"$*ʺ]{'-q#6lАSϋ`A$ޒnxX&L! ``[o3t@s85sAXmjvn'^OQx%qQK`ʼHWFU; bs;#Fǖ>=k#( ҵw|#qErzc6^i$l -3.$DCXWg˷]p@֧5p^2mbTH% zqz-DE@ :iuQ@j4Z '"hd$!ʩ<'oEnѬyfI Hqr<H]̈́ Bnݮp=Q3~K7J*ᑪ5LBy|&7t(H;Nrǀwe$2=z ">B>ˆ#i`-2d̏tmzc<_I1dF>PmwY"f.S#Ԭh5N( Th^y({IۻFO8Yf;kޜ1?cߋlj^GJwp(C/xS\R8? տEt:pZ࿮s.3U8<&2d&g9+5p^u>`?GEӨ+􇠘KsG?nAVu$T- >ǃfޢ}5,8lg.*д0qfx䆿sߚA3tlzy\HÂ(>~HBg.xi 8 l؏t NBe#!{C djx]"k>G4qGw,w8z1}{-[I8h,~3BpCC#D U1LPJS@H5YAëM4ElkCfY] !qeRjDc/x#RE1BHOA9=@}xE@F|ߞmJyjҬ*CMeeIRLl m jD:E>, qyOSDġP`P~ v3l @8ZjY-d*)օ15 ;Yp4ӰtcTx"us:Y`dQ V&GvI 'z$v2*nb`:53֧0$QuxtA@c/~NiV9do?^yĺDdD00ϸ!3nŒyg٘_<-)bX&y(_~ܤ>GyQ#cYyx!:}'0p +d\IBD i\`1R^4Sg-:\pߝDl/pÊ(9sAŎ7x< 3"b07*L2F+dA&Nwc&ieXVϵ4FH _!G@ȉ'V%.1C<32(8V }($F%C|ȐZfME/r5="h*Xf@IVE&\i(%ٍ)v԰|+!6J/&F7%x~liJ2cWU]`NA&8Zœ @^ j4+Âx5" "؂h&Py9TU9+-Zh8SYP9[mYWh.-Y77M.'r=a@Sָpslסz{ǩɧP (ya1'5e2\R`_QɠF`/i)#?\3[6YȶR9'H0@RB+Y$5yp&K 8LeC3M!pU5iqHsmM`~{"$xrIIh@aˊ פ X1>ӖlP9{s@^~@Z(i`yx"DJG$'M]P﷼՜nӤPsoiιv{~ T>p1%xƽ[TVH. BiBXSW*\0aX=//▢K D9|D,BtMŊУ|Fv#(N^ufj[AacB"Ѻ7} ǻep|HƔN+jx֭MbJ5Jnm٨t@$L;z2>x R E S*+ 8"#͍e6Ũp$GA@N'NwRw2AAnZ]D԰h_>/폸P;ݖz8h@uyi({/^Se?."b49? P7[T wia,& Ĕ RF(b,tݒcجV #c4ƎfLꢶc5Yf`["$"a]0(+vȸȶ}ew:kEyzcb\0m(_ 'beZPdOzG`?\Śz򽏃)/rSܵ ]hkPWܾ(kx[kugf"tٷhl,IGY2I5^u%%ve.77a.WN7AdY%d^s9BiӪYPR%5mL sj٨1KԘ%2D,m]c@( st8,z J ?: zM-z-R+i\G|bj7D}i\?eGCIDMKY!mPwo$mP.!r1$MYA,(oP d %20>f4 . {|Y9$@9l.LERz6c2*WWnYȵs946]%":VB7XZrDODX,P"VBF>QcDv5t\B `2DӥdxQik˂Zg,l~tAͦ jDuYDfeR|Y>q25ሏuɘ<༁Q9P@3Q,qj&D&p S/ /iX"/3}椦Hb]3b@H\6H:3B4/bVPL oT(T޺"6FEn "|>X:W f ā&X b$%fP*Tӂ.|lVP@_ 4(0)Hؤ+jf<(ƨO;I@Kc4D Ye Fm̊1G!S-ݐWe4<&Z}xbbcli8&4f-k5Jl -z-}ȄoOSVkKݱqow.=>=v/5dzmi}fWy=cY㼺$.c-L7>ZOgCBCmLnk+9HYⶳ8)B $FmpUXt2:s1|l[,U42FkRi>Dd NPjÂgPǂMQP) at^=~~}un%o> IoJ*?÷)Fou?=z-7g}iL+v9,ΰ %F S'-ڶ-hwAm +5g hHch 4ˣ%<}wwq[ۿ\;נ4_ @%6ڵk_n]A?㼛7oa6=5vȡ(~ڟ3灆xc>B!}hOԢ *_V^ӚG4 - 0玁j6}@}Z .º@y3t5i4l(3|QAnؠH_@@@@w:m+׫kl!0={`j .4t4kœ{nYmBhZ[L\bM-nN;Üp‰#DX-sᇛ1.з`````o.O_sm/D3lR!Yg51l%Y;3'b?p```` `B sK?sM}LztNzZh@'x fS9cb@@@l͛5]vԹsWӦU/ktsqǛc=. ec1kׯo֭kjժe:(s衇ʕ~'      |mM6WK/m)n0 dj׮]AZS[E'uA5jD}PժLaaeTy/^7n qeDq-}sGGiJ׎0vV),,5 ``````t !GG!TE;6=[U~WRŰU\ACq ?X X X X X X t$&31i_gJ7he68`F?IENDB`nJ0aOG-PNG  IHDRSQsRGB/IDATx^] tye)6؆ؼBpx&$BIӴ)i g6-!iꐜ 5WL018`m-Y|-K{G^1j٣;3;ϯ T\؍0G0\[pE8a+Lvoŀb@1H=[;*퓟"H1P (afxGVZ%@$rfvg~g 9b@1  cH1b+ h3ׯv6i]1}[;1!4SԵ7DԺ >M/dQC9bq˅D"`4߽g.t(2QpGTRN,6ݢ6,PPt- XBU|>^0DPr"AD,iV[o`h{r5ĕqiB_ 8uWIkT]q؈SWѦ`+ j2YZ+2E#B0Q1,E.LhM̴}?e_+:ʞNqŰ\hA.r m}8SFPq;ŀC3?oA YƠɍ}a !u檕GŤ,W8[zw;&/u7DV6!-ΰNzyoO"CNB~ U!P\X.rXd]Bǘ}yb$\ )pGz]h+z 5B M"_X1fN4;N6s7C+'[-SzThu7JZDטvGGn}m"QaS (dᏑI\z~٬\e~&$ј Pwzu34`NĒfF͡>\^aE1N&&^s 0?n^~knGm~kϝ EZU+8i)(R P 8Ī}9x k}$#2扉XLDpr 0ѥWz{{OBѓ'۸2W (uπiㄝ8P sO]6@xP(& hZWQemx? ~Y+KK[yN>:("5rO\jz"W#x0c LlZm֧cwxFұ`hHDʃJ}j8>iқ4G2TF J( VHn j̞{~KwvzWV?JyoOaכ焲ˤ]v&7*V -F|w$[`DwtYSd&ư\APrY؇ʈ^Pюc1 Nb9]8eْR_fC)ePRN C3GX71Mַe_6-gLʖtao.{ПXqbRBAUs{hW~JsxO)uppڮG_=eZkOL0]/cg)k%VhSK,a"aؽld_0J Z$&,Zg_kW~Ot L?; NJ[Vs>Yoa. `Y<m~`gpc4 L 0Ug`U:{i78n|mKQ0BB'ҶkJ!T$ wB1~F/cyhA"N_} n]+gW"j7B]}? qJ)s"j6Rv Ϗ%c kbzٮhەvhLx/q9hج È9G aN7G` T v]enDǪ\F V|tl ydvyyg1NX';cXrKU!)gl}>;|<+VC`t1r&mڢ0Itt1X /1oy0g\5cdu0d:UB) `(VtkL'XeS{sXc22`#ܖ3|:zݢzÎ`X*΍x&hɍ OM`%}ih腏3Otږ61GU1 1%g8.=LA06򮚲cV2~w a%TX6NN,?NRRd%0J+CP\vǷC6^r4QNRb&r~kZ?aXMJCi撖EV*Ѹj$$g*g&#Fk3^@fXT#TIzc#Z27F\ХHT5U4ӝIa$RgHcV4ǡ A$9\z0-cR&0vhzjAD^M+`Ǩ(J16D,&ZϤɻjw4ijA 7w4ZR(L:O]Jהz kL\_*5&WOg_tLٿgv ֧u߾Uu̅Dd?/%4gxl>brkkʣ u58U3t4e ?ݿ?{Ϋ[~K:{?xjX h!>C;>#w*$@o;[f~MI,D)eυ9K9ˑ#|JAHPjcF(Wבț ]>(VZz1z,+n$>p>v]N;>ͩ=ܴ~ -nGU*ÕRC'ָ"8 ;S/"x}7!%sAE`7$灹/w2VG\+;Z[;+ ]_0}8j-̺JA&|.su~/4ɱo덟5uM_8{_٘E.}땍_͙%_~k dSYhU7\Zl# flz)p z0fRŔDP=U=nY1ܹUQT Ok&WUN5ڱ43ڀɒc:4+Δ)RΦ4PELJW-QLT;{u{˺ AʩVL0OH.۲ a (5-C֜+l:*E<>Sル‡ P,Z|08|ޑgs$EުP 2&:)8앍#{M]&hWe.fw2VGu]1)t z( * `q*e`8 ]Ht4^ K21^^‹ڰ88Y8"ǃ\A k-Wkf_#v C1'B'N]xPx1+':8XZREPw{)~ e;`'Y̝djdH&yl eŌ"_(+2\ %8*BwhCS- saz q!C(Gr-F)*5AB9HE /cmȦT1-0(eHNO"tPaH??}u@߄\վlhr?+x=R#aim8LY,q7EȐ@^Fg]+ ºC2Yb$?z\ e8)ؚ/~  cQ1"\A!MH2/JI>Kl(F1<} [F&Ԙ78Ph !,#cbVqبqhtGۗ%2;6ꮪx z| cpzYa'Ϥa2`RyWQqq g27@r w+c]a״'QFD^>-j֨)լQ#?].3QAm^TZH.zU~?z2a-?]3a3Ifjگ=2ƪx @t+%?x(B(D"2bmiEt3aЖ+Y/.DAN5`{g$'lA[ \hizD%l1yoڗ5ܠ55*(>2]$>PPRW{B4$SH4)`4X͓-M¡%0UĿbā o[^f㮫v?#=m?w32-}馺˞Гh[F΄űZ*9Q2Wq'js5OwaۣgyuaTν)2)G&MAO}iew~?6 '[kj*fG||- ǩwVL{{ w <liyhь@A==`6cƬ@k|ZG_PdGvh*;z<QV;"iaUL.(e9tx 0=Gȟ__WC}#K|,ϥI cZڶPb0Dm4Ycˎ~AJ^Ԃ5i!ӹ`:1Ia^ ɥaSrdr瑧?ho.P"az`NB LUR~eO,2=yؗIA)Rp8kL/?lNNn_"(eq,t > 'G`Ȩ,M Eª\B8iew~?V2@q}M\E&'Hݾ,ž  GgؾצKgZxong]Y0A''~I6P)xV|t!}>[c`2)MB_m"]",&6kt74F` o0J9ܾ_{KOD{Xi[=[;&/n;<5QsM_h!ܾtj/1ſ}.]Xq׈׹)OxIm'bV$bƢ1 ކDW=",ڄ\AQ~68i: {q/Cmz}Y| B+D(.B'fIcbaÙU\wF =-9m"OZR JXueZl|0JH}4I^W̥n/[} ؙmb+,F)K=YI \cai; ڣ#M{*^_\_|^r "h F_ŀb>;ТJ%ZTъ)z%~q- It4 "rX1^ѴbIF}'X}3^IjF1ms?prM:6 ׯxg{l`-ŋg.|+5Q]t`y=;r!lO\ yW!*&'1"2MO=. q5ۦs΄+!uCcl+_KC7ؾ@<Myв8Hq+ a 6XT~\7VH;Xj}l-P)GƦ*JFze2~;+ St$RY#˂hw4(/ AV '*<Ǡr>↬%$:Rvϔh0))`Z3D[Ӟ7;r#Yl.{$Z&&fA,tH+0A,Z~w^lzpBr!x_rFNyLb0}?U1Qʨ}lw*e?ph3&&YXĉY;d-5 FZih N47'fsbLRp—Z ,3Ҙgbvt Z -XH-J#p3eHv?iC!NRpe_M -y(#˅D `1$d]uQ_=hʔF1""rMy0@+3$0>6 M /YFLL-ԑ񫊢10 $7?I-@&s/ڕZVBBg;>$13ä\AQ`I68.Ѓ@qRpqB$\:]̢C1ZLh9O҃Kz $kWI^LBuSIR$~agC5l M|"O9~J~fJdkb5;v_M8 ln|Lb 'W@/ό^N- :cc0AaEiyW!#֚5InZȫ65`r|DYIƚJM6amX!+! _T570VC'JQNg$( :ŀb@\Vt2PL׷ѥP (X1@cR=ZX*JIrzuf27r~;]T>VwRzߊ 8M 5z3pp&9` l$cZ;c|~^3õG.#8ҿ[8吣KHGE'V!Z`|0 w0әWrcwP{ĸsVə?N1[O;'VҘ3)QDvx%2qR;R3J<'T37bvן77QI#)em| r&>ʶ\Bre{7 N^ĉ\ĸ !$13ä\A:N^BWc@}-qk}a[o0[MaDS%eKp2uK/FˈCt㗷cxޝ䦂^#aECj-B~ xj &oi~n[~@}[q2PhB*LG_-%,Z2@(g p/H-$i_ 8bpp%Y r XOw-V,Z;tMȕ֯XwCSV£S+z'c շц[XfãO+^EKTǕ+y%cW b@10 pwM{o ~kVHoδ2X <˅VNE0ys?C-$lyƤ GUϱ◌> #' $$͗Ji z?\(*21@=*/z/%מCs=W1zJCnL:.\1F߄bz)i$8 m>(x" gxD媫H$@bZbE"Nn'76'G.}! t^jߐݱ[Cw\.ЯU/'2Ž!~즯&_#7kj*ѡ(U zgv+&& ·'&ƶVc;4 p\a*:9:J ]ݖmcveG _SnH[vO 5 _(p gj Aޒf. 51ԓVۊ_zJ?-jOxt6lv}A '苒>:5edX>xԛm/mݢ22T2m7no.+[R)N ש)c L~Ԕ&ũ7,#W+:m3f\#ʕp g:t3#ÓǿolC!2$Ȅ kzdbq΃k͸ CMFNhо-+Z_۲T K*\Ӯ7&H,$VS4u.rv2_(cs\# I< arveI(`~ O[M3M'h":_QF,Ζz8zz(’*mmlh\n p\UQw׾;[=슴M6%>q_)zRpϵBVp 7W?s/u sٟ[%codU&|>V+MZ*- uUɞ= Kօn4/ϮʘļJxS8).UQ 19!*Ӌ[\x꺝MSiM,zcycxda8,u*6gW4 8SdǕ5.hh7Wi8c08}ŏ\#[u 51:LX/b0a"5ި`-QRX )szduݝ{_!(:{v*(,so7۫Kߕ!wEڪC*ktDT8|0يgRޕ#%pv /d=߼ӗ|[ZT!^N}yJRO-JDֽt:}rzS paBPH)UpPƘ{^5edX&!4D/:e V?SX٪}`it~e<Wڪs\4~t,[2v^:[xΰ 5)M.|4.LJJb鵽.ۿ8iwF e/+o ~946둯OơXRqȹ'fmoKqCcڈLnOǷhJzq?΢ ]CbPZ_瘐 /y|PsRi.ޞ;xʏu}#" \CnzsMrT]DRq&|$A9jU}Z)D5JU-SUI1 AjAUgErv%󃢌YKVJ4u̮ކTB@g5Fo^\[W6M p܉((k5DCЃ69^|goہr?lq{0HgRbahHN)-V_*:t uZ\ixg@Z, g[Ev/)dY;x\9e(;->ȱ'FtSX }G-kC@w,M´CƅΜI@'Ln4ݶ jHf T9l¿y9_̕C]4LoLEOKJNJ 5ח̿n\l<\\1^DXt[5L JۮN&ym5|,w|~ /1Ejc\?s R#B0= jj[8c@<8җ`|f@p]fP0;\A=b2PLSN7᪦ǫ`]6Uzh􂅚袎j7}z&/h6kU]u?+X/_Ɩ Cp *ddd>u.2de`i#̮>;ߓֶmEopﻲ CǪvOzfb[5Lh ^0t>aIdA2 s];! sC fiI:혾!uaMW2IYg(ʔ< A_n{~_~ڹDB X2%b̵`̮M!f1Vk,n,$!kU041mk\MԻMVsx̸ wՔUξk0Lғ%l2%+Ve(Wh*WX h0 5U5C^pi8Kq ַ}X[0'pΗ!@ϠXӴEv'Se] ?V*pz>i yߦ%k(ˊ+#aUZcEaX>qD@]᪗B ]Z>U&C)A`ZEӮT]vJ[TT 1䜔i ]]Rurx7&̊ VhdEjK HV0tyظl梅3mn(cIwDNswx`㩔1v _q{QΘ0|߅Oֺ3X0p CAIzM >4 a{9JB ;fwJ΁C9LȚFDr a~iyd?L(j$)m]Vswxħ&A"\!>;&D&!يy)4qHe9u%eZcJ#gvVf;!nBtҖod`r('9$_1oTu<-8{[,BT$FH8.9BŸȁ&s+6hfw%!J~YqHiﻚk[J 59JUƂ1b C$w5m?|&uA#O6)6Z8ٕf&~2 !(H/Ԥe 8Ôe59VǓ6R U a6l D8&C>| hE龆Ic1 Pq_C DB_N*JC %l 8PXRy܋CTQ p!Y`/-дY*dG{C0fW VRX ޢVw鮀 /<%d OGyr@OT~!kg̋!"eքk8٣#MF. [i5]iP՟Y@ 1JqgfzrRW<|ѫ/aX[ru˚a(14v|X JD58zCٕ6)uI侫Z~1}1XR `HS$G%/kYyY`jg8 A\􀘫eGjA:9W`-j7iB̌UgWJ!l FfuKL *(!Nso=NzcxdaaHfd>Ǘ7EZsg“濓k ׭=kG79}-/7'jjSşMI; Wu6&sVYԥ|qMI6Vz+P>(&9nCW0UHȒ5! V5 V-*&-FlΥݏ\myܹVa ໂ:\;]iWQWp_i&:o'%w߼N"\>+d{e]ePM13+VIwA3WL8㪠_Ϊy:pv-66.Rčua>7Z xnj%ٵ̮)=O[ ߦ`&\"`s7mxwvW \88%1+c'R˚JBMlG:<^Y[lx*g5$1ۓ)մե'-5i3s \؆gK~8S6MmB(VT3"FMo+g\fg@y/ Ƕ{ڗvCI'vuofE-JC^qx!9 Phȑ׬*YB&VUξ+ȰkAL0&:{!Mƃ,55rdJ3bG{3W"V:V,2,oyu0`vE~ݼEl[K$Dn̻ܡ)dB'XUz4wej"Vg2l{2ZU& @J.Yd,iU(U*#ŬeW\ӢČm5ʉ-n톘]XfC.2R!nš?8&7ه(pKN*}gpej=wshοr*C͖ S􌴈`*;84rպ|U&x1 =*%\8w]S\3 Ct\gJt>]CoXI&2 fhS|WbT*^(Vl")w`W-|W4k黚(_"{ [:A `2}^ 5$%VA4ξk}CMA*2,tXG,Di5O OŖpB~D@"G J+ ^lI)p gi!䗯H$x$#IENDB`n5):K!\PNG  IHDR=sRGB@} pHYs+tEXtSoftwareMicrosoft Office5q4IDATxf}03, `BΘ(`צ8BZp" ՂVю@B-Uv;qEQˊlڪ;?^u'F<{w3~?s}=}?7;;{K/]#G t޷gϞs-A@A@A@>|uH]s-"Am~7H9DA@A@DDD LohNEJ=bD%MkD hlS `]QCA(D! @" ,Ӳإk."`"6FNs.A@; 8y6BhX}d"z U7- -6jSۊ`{`SADЦͦnK|?"`Gط Nn'"v!4637m^u>D&6=l1"(4knnny,&@{uiTd(F q,gǜDCt,|60R\""ئKl"hǜ4fEш` .EJDpRszff0 &o.d"E%(A`[-v^i;U.J$bxLq?$ĕ{~ A`_ >^݄NP5;;{\?[:5  k@ [LQD z\̉ .xMKiry0??i1qLǝo81C=%D _tL%}]O:dLjuӟf:δaF9s~ο)D _$֛79?.;KVjy٫?Lw|;w}Gl$>?9}:ͷ~6G;A> /ǻ)y|ՇN_ r~o8J#gdH}v&\L^t_|ce&pW7I>?:sbxB~s?e&9/u|be i֠"p1~l6!2^kI٠l~) OX6^l~ kݶ_FݵvIokl0t{ŵ> DL?M>=;yyM6E#^ ~)!|,+Nec!3 @3j ~ؔ#* 7;*""XD׹dV%(M'\gOl~G9iR(KA`8N:??JlGtoL 9agh&)g6蚗?# Ml#6@#_#0{o l+%z]ru[k Om]LĄA@#Mݟ n+p)h1rd9˜{b8(Dw0CFڋқf<ߌT. Bkc "hо2Fǜj|M)֤bn&f !Km7vFCWs\- !Zyn#R8c6z#O2Z'2<$(ͩw/{6 ! [4 [z!֍15,#l0d+iôj9/7k` b8QWxMPP3$&Wh7ӈ`2/_c1fCWrlUMhK:o|Sщ`Dz]! /XBO)AF2-\E`QAcA=9r,! + =tdP".PdAܡvEa9m&Df\ɱ 3ōصbZAY7YDLAӒN_HOi`SAQ&l9`3ژ [tbCs{Of^rb$VcE["vrokCksp5|*%ӱBB Z?c]9LhjO3"\m>kX1AOޒ> [RBLۭlCR|04N16?o1oTq` 1U:zǢ>m|Ը!w%؝3-:5H>3;;ge;jV- "/N%A 'oجNOmw*1wϷb|ʰI`7;T S6ybx"hlǩwF&ben#\{NȄNE"};3,F Q#k/ =9gf#[Ht~6&!b742.j.:7w0Nlj9vX^ޅ/h;Xk3}{tO1͡l]X>ԪЗ$=DI^YP|/w~GgAB6:ڄ zvLrSAGP J'mqDmJCu눡ouܡ(7gB<7U;'yjAGPʂ6N 7`>=,|ѥg,1}vcmZygCTL8veӉﰑCskrYFY" 6s gg1m 9 1ܟv7ZA?}}j8D_r\޿z/o'N~i\# D08Nt>|v ?Lr$9/A =ieƛَB[A(W{V6 @oE8{X4[Uv2RzjsYCTؠblً/S"AbJqofouéwڡ!0+XNL4޶&pQSu ['HンF [~{}/$ȿ vDBv./ L1<bM. B۳%{Y8<7VMُtg n28_1!vڟg!C荓1[gr{p+,f1kezKgt̉LċLN-tojJtybx'oݰ\Dbwn12ɋ߃q~c6Owwkuv/;~?vM_1x2sjee+ߋj4೟⢟>kџ}ӟLCW$/kw}mNE0uBU\, ȅ4Ndr~ǦӟϪ&G~IGuGPo7CzAf·@^2P~?jeg;w5Y0uLgB_yWl|փ}Dc6\ Y<h]Xg|?>"`A-A<[M묿>>"`؅?hk\ Eb @`3o\X$/v[*iڲu6\+.1 eANPq}|D*|ZU+ EZ_uLb#ƴ c-86`x]SĭJANހV`kjiA:E0s5oG신)3t{1cbpy|Dh ZO`4><-NPq}|D"C7DDDAD"iv#Dpd3W%E\ @3\Ҍ3@k|mA6 /._ ](\ -QUA͓!Tux9cѵ#ͬMf Ob:IYˊ){3#N n[! 5%ӽGӣaA>"` -ʚV4z땥(aBNJ[^\/+$a#M%?hs~C"]Cpw}|DZ--ZVdA' mPf!+D)kt(ٚʤ Et$?]M3D 0CſBgE(c!l/||D'. p WH 裩/lI7,cqXKQ*: NC<" iDZ2&E i2PYf_6,:CDz'\>>"^:)Q^-P"#ӽA  pm1T, _DP^J DaTB@WC*L׳ HVF@hLj r3lRe$D ;]'g@thvF= eT!tV@K{5G+4cwB;>"$mP0kmM7[Ygh' }VJ$E D@n+JYEs_"(G v!﨏"S~ABw,GLNf] PQˆx|Dh 2OA.IE "51j\#5X` If'iu9W콲 D!m|7|K|"7V/_6|'@ o<eMXdt9@.AY:ǟA2ur*?u8,6hij/BIzi` ~])?=Oeֺ.J}b8Xsʅ$֨5 C_'ȫP9H!wNHAosVi!X,@}.QnB?=gz℮2J9}iAyS@W׉P8ϱLv@!$!|NձLAbY'~:QrɆ9a;au]r%4]/"y[?%N|Ce)2މ`uxѮJ B,p_eI6{̲NXeDpvvd^3"8ŝ7tb)K,"/U2iͶ e\|7N<̈ {fZ 566C;>P&m;ush#, MϬ\.kg]P_kg"X潙b7sȜE'e b, ǚ~*"fT4^+}z)–ĵں6&Ǭs^W."hK {D'2ijerf 6q6lz6jgӭRW}.^m۾^}C^-k_uM٪Gu;Pi~h&t%M tlTaasW~Yl{<^}ED1"Nn }"h!s)6wlm}FƹmSuQ %]x3629b7ޗvyo\$.u8>òl' Y۾,6&eQe,Xr29 U@6;*sji؂ܘm΃ mTˤ w){'tl I](\od~ "fY6i؆.OD?ر`W"բеk ^v Бd%Ilg| Qm}GW"עΙa6JKlSޏ// \b(. (vNjٴd.t!} \"苛V-PW%mMRg +L䘼"z[{wP0Bp]؅]`\'YA5_\yMytNJů\e?_/>S%>gtl&Z]lZmȉnn]W=/ ݋`W/uEEQ,%[ۘhӇL:6ӋGb[BY8`c#N U4Ѯ3liC QZ>H}gLv{ДH\Q'j5Dio/Qez,o*whS_eX],>tqȵrs#UCk2&hN:Vi}i 0mԕ[t>ݡ㶾ckv3!7H_'h%J$ˍYܖ7s*5zdOqf;V.\OmyA7:8=8Pܬإg)f!Қm֮E7`m=_TH{8d$NhOm,yAeTZ1"= `1 !jx'ˌlrˬ# ϾZQA(t7h^pLBϣ\KP}xl' Pʢ7Q(FeE%bq'sbGqToU$ v`_>@ uokYCݨJbzڟ9v>.2!ܣX`{AU(=6n'ߨ08>*.1$>mPgY:uҐp*{{,N(+ \lu^p.:Y|ipls9ʨG,ҦDlRB*㏺zZ<*wԄ!+EN%WѧXwF+{!u#WE0V[,s%|#˅ q˦FN"|8<3z<-?/Dpl&UTqB' /}^[^BDbFS[zz}Z'$Q1g~ ?\ɻJO4vqwe>_l3n2}C]B?wtz!N!oL|ˢ`㏼^bК ㏼lVBҐqBȣMuf@)Uℊ)0 uЯכ"mݣ+eU@Oi-fa@]!w&W콲qF.yA6LhR$࡯&_m_$7o|׎&//\ (tO AEpWzMN4¯jjO"$gCl^C\ aPH\U݆u?FZku6uC9D`BʅZCmK+|y.LDAwC= ^ͻ_|cŪش%D.CyD`X3RE5[l K:ݜU[,IXs @"h'?Z#2 M% Pmh>Ǥ,A&mDJRmm1C݂y6Q]TMfj2D'eCCMԳ% .[BZ^ޢ>`5$,'䔪A:֞&y͵3-U"kKYla[\첁DBݬKl/gոrmk777w 0]eo_ ڦ5NWh*;t)m6ȨMFojWeuNWSK` MWs2ߺBŷ Fu-!M^ƨֱ`Ur}ݾKܤrڌC@5]+lXd[EI3%aӈ \,[4$ṍM,RJ6k  Bc"s?R)O'6xh+JnULMɶk  2fffd_<3 #;Ա4={,zj>eKqM >+lۍiДRŵ4e*Wt/Z/l& ]3ܨɺJsJ.&؜zaKOThkG]P"wbuNX3lqbշpWue˙6ـ. [/ -A[n{QWk ",J)VTa$;z去Tҩ' }6 ȫTV4tӋi_> 4vNwp9%+>6 8yz6ktn< ByV0"EQIX` 3'"up@o"&6 ٳgrz-ei.2Iq:FB˝T &CW:@}"f@5F6*ȫ!lCYq׋\ڊf'OyLI0!$ Fy%M!ӴLE}9X:^e ҖoE @erW7Q[Aw(>Ug Kfs EAhƜk"J0Uĩ;үbMM'O=l`D1Deeh[Ylٗ^:#̪{ Ys"̈́.2l7 n1mjM5$P˸.F@q?Wپ 8$D:C5e.Se j[ SHzmOsy BYPW0n4Rt],o᷈ (u(ԕKȱ{-8VXJkAGo#6CiŅ`T?YUR' %UyE՚i4nb:({ߝu"ZKm,YLf0*k1`P<,{7fA%cOaYX?Ϣir2"n" %}g*b *" Id5eWİxܲgV,O8@ |9őj5e4V4,T QRzG<45n$@ @Tol4C8nJ]8Uٺ* aej6E%ʔVm{6ZȝYA5_19*$kXz&W]wx+ܺd"NS&irCT\3Ԉ @D}X:p岍ue"| @0D!.]JݧiLqc,{5 ;_;IENDB`n:~4Y_!rGSPNG  IHDR~$sRGB@} pHYs+tEXtSoftwareMicrosoft Office5q:lIDATxߋdv{7q4+ mXkZ[Ďch͈HQ"yȠ K,EA H #CE𠋅.|a0dXv2ݩRjSstwUu}7괺zĉ%'Pga^?@? -}3=׾N K ~H/h7~'~'S6 ϕ?dky?`hPC~`_T5,6= '_Cϵ 0Mw,qggZ]]@// ~ek0ɳMeY6 u."Y>,!  ) d_+a~UF??&2hV\0g8u]~˄u :KE e&! ~05=?')7~י/QpWGOk}Zv+Qm2-8cpU?@j{.&owbV/ߠkfiW%# ]~=F]:e+fe_كB?@k%VB UvmrP[؃>OiS;]_џ~9OZSC om[YY99,"(ޚɊUv.u*Ek ~.V(2!o}}ZLu/nkjF+u+Z~.*.~֝"/VnllN ~wo^{_?_Fk!㈃_؋:?[%x-\LPk*}޼0~Tl3sC3>~m`~v?E{Uw`/B4se( ~U$n^Oze.} ~i]z`OLvP# ~8Z@rjI/'JԤ~͆u\޴n>N-#ʱ۲{ sˎ $Sdke'Ĩh'!0WC%uԔ^~_&(Uy:ߧPuiԗ$' F_ӓn*x]1k"~uʌd%#&QW1(?8M_Nbn-q\U~:^kSXc ~Y5+q,:'CY%,9,u?w:G(ٹV8%./9;r5~Nho`UR)1ާn{*$jY XeDp?)sqW!-{ rFnWaEK:,Uo|lP>"u~ca850bʣ'bWzӴUF"˾eBdTo'(MӺ~h_h`\H,J7`Su2&G6M`׷T {G3V~Wt4l~,.u~+[Q`%m)_\ߒj;X]%'e>κjR+{=~'Vtv\' ~78 UW\R[~7ԧd}CU*ݽ'{W__^ۘs} ~K[]|N2$5wOc&ʔЛM̓:8kScM-U _ovo 94pBh" ~c~e^l]yNCCkc'rAJ(K>D^YfnZIdQ_c{'Y<2<}[G;A2ڭ.  "%񷠨O, ~=VV -;lAڈuA?oc`fSn_!e6C~svpuz"P\7_U!*UƎ1x]kG:~~ELaWgX@! nl ~=V2u=ϛĜY|c ~ }gF7b1~01W[~QG]~~ AOϘ!B~ AٌZ]Wz^j. ~?On~ GŹ~{)7} ~j LBVkԼ ~~0>ӟlT0&Vǹc ~~0Q5[ڍduu|߂_x#7w1kY`fbdss>ً:F=`(v);-!t_Z:'ַ ~~0Qi ;ri:X[ue# 3/Rv&hkkk3caǕW]L6RCi}~!vH{Lh` xT#~~0w=uܭ!joQdR賗߼>ՂL3\omc= Ej☯Li7h2h:,  QVCu<ͨZ*L`H-\kn7yo3L`HZ1^s~~0!5e.X&*m7>M%H KVs8lN.!F\bޡUSdC ~cS #dACi/]}]EC ~CMS ~zEJL'dL^C.MRm-1 x7\u g^{#&zkBC{cs_b1r)!4F3Fn4\ϕ>'|cECi]N[_4_uek T c{M۷h$% ~W QFmy??[]k(dvNE4ٰU^91t-#v=wc ~շ\-9~eW AʎXc[<٦_C6z1hqs2BWx!7j/!G.eL^B[#BOrkjZXc ~Y;1(~Z@mv`=hO6N??u5X͛^E1:޲-k`DZ4/PߢfomoUn M>VNYMi#¥_>멸_sֱߢm ~~0]pb ?q:GF.z8v^gk}x}.mj[ nA݊c??[ 53z{c1q| _L=`f.Q'ח= yR \V `]!]EjoO|Mu !08Z??vXq45ZQ-Ԉ ~ 1Qx#c෼E2ۏJݡ `#~AekkS+'[0 };ӼW|]C~}y~%> ~~0PA_Z)>J?Azcϯ]Cڗ7`_Ⱥ?u1]Cڗ7zD8z]ٯ}ZϾ0 PƢ>gSo_I!hxT1^;/{_\Y:^~ 417j3O&-XaQXn !eчEc ~cޣi86{~~0Ѿi7󂟂~1> kv gtt/ Ռr;uL% i/卭ջ/׎mn'!@.{)}{c~'N >P_`cc>Rϯe`oǀ49ڷ;i)p7]0;we DZ=PybeB<+!@ޕLN)4>HP ~ ؛~ 1"kkk2 w?@j# Ǹ.҂~ Av?F$k>e?s/??ioss???Z̑v@4Rf?|K[{C?_?~߾d6d1l} ?.yoGT~}2{~ 12}F?F*mϨ ?'`zo¢>~Ճ *Ţ>' AECݲ)2gMtǍ>(2gX2}>T0θxh2}>Tz>+~G4hQ?@  tt?hBΨ'OO9oyoΏ\>!~͜=>hZ_ּY?9`| ϛ Gn~0`@[feL͜ j%GY1"aPk?|eJR[y"U\jpnUdCGa񸍍M;@Z M;>>Hm?@ٍj۴~_V{ #r~p^w?ޛ+}LjO?mO?,bG57ky/<+Fӽ{o?`d2X70w1c@Fd"]L79_0+++O'+hGjrlM.\f Zt?Y+|M 4 j ~1R(~Eޒo[ܼhkc봨G/J(iw'kbhn+N%›3/"MؓϽP TɔNL20h!HB/~8x Ce~#zW`D_ W?}yuu07ddOٱ)dHOVGf_{}XA &SPK#YH]X-< 8䊺ϼ47<%SHW븹5nyBEn,7} T;sHc}': H04M8M1T"8~˭ϯ9YZԁFǜ?Y}T y+ dc:ME3Ѩ8~rW輄"|koPʫos8=\d H|)_^若/wQ)(Kd磓s4st Bߣ5G#b8gda/~z>:WgZ3E/>Ԝ Mf97Io_=}Yoyuz:?|іS8WQW3aCO__cHogӻX ViC`ʡown{>%&>qXK(qF,X~ߑF*y7q\ُz'jSZl%M >RDlo-yO/yVoġ෺z)k˵]iО|L5Jz;xŇۍ: ~IFb6.u|7Zm7N兿ۛC/k%o5DU.܂ڑL;fc-z[ƹRzq;S~yǨ_R %?~i~[HR[fc#nnmtkJWksګc.MM-hd+J ~߼(*Ә[uC4V6 @S:k ~U_[uOU9e1RpJ|]\'TyO=wk?B]vQJ[M,n mn VR_=+97z9ʼnv기6x]ueoZu^UEsMVV(d@| ~m|>s]7{1k] ~m7M,ESM9UT& ] CyofjS;i'VSO}Z;WTFe iSBI}gvv;M2kAԗHCڼ@/i/];~]6__VKMlE_:Z ;V4!PB_" <4vFN߼0ޮ{ ~mb6{-E]Ң*+8A]#]~@"-]l5ZZ{9l"pyc2o^,}bfu,ϊ, ~kίwlщuPVQ߷V6aW|kCH}|y+gm8z^^[Zn3`.ʸY`+3Ujh_to|Yoe/]sFݿcY{PVhVMu >4o^z֜wZ~i9j;չ:+{m7ykh'phq!3Pw:Γg^|ȵ;PCSSNm^r~2ѕ71FSC;f9qz> %~׳n:m]諬z[fZ:V;}Vzc[o5Ayu^Z ˜_ d}P;~M=tf:>=Z_s;wE$ck})f9ty>D@vtRczlηDˇ5|Knūoo}}]c }8(EhD8.V.?Qu EM?R = ~!- QMt]hBlo۴}SE//o8ݴH;5G7M^'gR./_7l@+07X!3œ=Yu#/FKO4-qL~BRw;C?qZžOᇇ=&mmJ1e4)쮛4 4p+4buwn6hTLBcn9ȹx.CX{9Ǖz>H 17hAHL a}RzoYȹd,XX#jpCGq<圯{`d/ cZ9sYH_nuT/톭`o>CEf9UG#^z80wsjԐ+V@@)ƤZ+> |q2ٱr^}QW=߃ɭsz#JF"vf_#pol,uT-w]=~@cY/y!wלw~3h:~cz-۱ ?`E]Ww C*[=~E}Wm/N,Pwy0wN+!jZ}0Q:ni02IuA #}لLDg~[Ϸ?`B/~L,Lۃvbz>o}} @?@?@???@?@?@?@@??@?@?@?@???@?@?@?@@??@?@?@?@???@?@?@?@@??@?@?@?@?    ~@?@?@?H7 t{)!=!  /~{~Rrh  MQ?}0PK?ZfoѾsa}}w;m0О=z+iϿc?I)8possY4 y5sufgkkkNQ= gMoh_%yФ=zӃ|7av+++'+Na׷^8_, Zy^}Qe^[}o*O?'~UC۽_a u]bjw?uu?3Qdc?`Z4'NVޜKwoK5,^&MƈYLq C}ϼh2ӜGbJ5o* ?7/X;YApZw_]#xܪNΏ=BӜ \{='>񉃗[ZEAT@VT5tדfȹzE^~oO>J؊0G8m;eF s?``vx1Etn6BNLqT7>Z[G-`bjWd ڨ~@$́-:.N?u<Ш]:yi [X"[VΫaqԵR V!s ?|;NF׃A2a![L"eWF2//-U9@ }*&ڇD [z m{2C9-~@ͣ}~+e9oAJHt][Y/~@M}ѣO >;;A֨9FLє;-9A5}}PQ손vC;?8 ?ս U_LZAdKcf777UРOHF3c@;ql2nwmmo-Oc72KؠO^}띬 $%AFFyfsG :c5'9AHZZ5eiز-rӎ}`2k*Omϼ_v\qF/޽??)Gۗ~Bbyc㓩c nx۱A2#u_Ŕm4f>g?ZL}Oo/z,μGBb]-<>@5 qıX?{ /}oe{ō7/e`eG:#݄~dzu?;Ek'_:MrחXxE@b@}1VuJhK5Q#٭9?9s˿hv Nˊ~QC]VF-o~bUwNGjڨvì8G\+@QՋˆ2/u;: enEb"h+3uf̲9U_̋^]]?6.qcs/z-)_ٰ>FW}khV #m^\'@X[[ܚo?_YL E*κ_ǩ5 ˢY{v.}]ט;>`Խg"QW `yzĮ}*-\u>V]?s։ӹι~1Ǎ̓]<l+:z2+zCC;`K=`r#Frbո[vnS ~ˮmu_؞_fzմuw|S ~EWӯ #-i:JCɂ?0'պآ}ޭ#-u֦s?UC ~_ƞ"U-|g /ZhfL 5T ̔oԘmvLɬ 7`#phvkiaPaѹK;bEplj}?q:y;~`o}Z՛/K[Ql > ;uuLhCVM^Z{{對P^{9766su6G_ڨə|SQb  ~g@S]Q>41 mw?nYPb/jG*F<|ȑոJ]kǢѽ+ъy ܨUtꁇN[__ %eՔB mHq#vY[[;g_]eM߹X8?AKݫ7e{  OjАz c8[}l~=whsCeQؗU ӻst ڼd"nBP7<;fGn-䰠?GFVFZGO?ss`λ=Az$ZT&_5Ŕ ֮lkxQ\4;?';>@f/'@֢鍒?)3Qo#GxM| GVWW;^0[?Dx 1jVm{_Q8>7 # eWյ Q*l;?@F(Mj']Fb1Ĩj_Ĩs?`b>bWqKk7{A͋^   udmM>g?|Au}{c'ո_cػ%p(i ss٦ϱ4Ե"ec#Q7;oQ䨽`+-@z#~)紕I}hA,4Տ0s1V<r~@E?.jՒէ ½H&ލ0Sp|ﲁ2O>\a[6M@Yt˵9~%DHLzUa<w~ErxK襉:ɳfГДUPF]f'ЛZ IS,Z 4 . 8A-fncaz*ک$wݤFqG?=kZp:IENDB`n.A:Q1IPNG  IHDR6Sn sRGB@} pHYs+tEXtSoftwareMicrosoft Office5q@IDATxO%U'\΅PE S!EN7e-T ׋,zax…ŀt$E񄴅!E[Bbr!t$ =de-";72Ns"n|hވ8'FO4%ϝ>.n`6 6`sI]e6]jY|Y2 !n8%g<& ~5wlʹ0. *NjdiЂs 6.snO^p6:6 6ݸ0[;ç0R`#؀`Ӿ^%8q8">/>7 6 4B41|sXa`9l糡%ا OziY1hj;2и}ϫc E%aq-"#͜z!`3D)&4(8n14-L{nSN`sa ❂I3[es9MI3$IUYl,M@۔`3Iv/O҅X\ql)3܌:P7DLeN!uIMm(eؚU aAݜ A ؔ!*Γ ,M~6Vd)%lKBc@MWt&ԥ541d1،u5 , gKY1Ȩ~+r:l("ؔQg3\M9,Ьէ9~v+ ~eL;w&"_M^M 6^/OzYE.ٰS5 v ؔ5)@Wvq'=M 6aMzp u]c\w|l*ebTk^fܩlC% 3-h6b?ym@i)'oTBwMنUSʪk #f '??,t^ P6 6 Yއ@ggP̂k +ld |?N mѫł͆k 3d ~_I7_ @oYZ&|ŗt_jkBYvz^ǟ~`NbOkz`P`ֶ9нt 5֬愛AC. |io?iF$جF @^^6^|F,6 @^X6zwX }aѵlnya]kFWx2l\0k0Mnf, @Jlm·1m&Yfŵlnvdu> i箽{Z6 6amӬ_X&}Q,ԜZlnֳa2M&Yf]v`X &~ 5< 7,fM$? i2ok @vV ,$?LiͶ66a"aXMȠ7,v\0lnVᵞHMNWZh];8 t+f z ]6M] 6Ͽrۀ`н`[& Ҷ`3NlO?[fAnͬA#W_+-&G> 64 t;d 7nS kPs/ `MH "LV˓.oAޚ52 M/k l )':ryj>a@<؄ma01l^[lx0\<>|rc׶4\h`ҧ-Ֆo#溾 6d_tSnNj_ 5{,  6a&^VͻSh, nam:ԤIm 6]}عWQaրVk,&$lnf\ꣀ`f%kP6&Y裀`8f'k`ӟjs^}l7؄mNa]6B 6}Q,ԜZl4ܬֶ tqg r֬Y'i~@uk8t m*jE@``ֶ9p~ŗ 6>ᩪƧ t 5g֬R[YΰHMʺORm΁񧟉[ *؄aqB4kT:Wz;}L67mº#m 6ͤ9鶚lByҥ]2n^nUj[M 6D>6lckۼ/E!^h39k,s`@f3k0ȕ+!1`g5kX,lk`@ k@q7kPs U嬵mDu_ۆm%fͲ>6TnzYwܟZ}\D-@`ֶ9;lO6"Ě5`A×/vmfgHO 7{Yk¹Y;`@N?[3箽 5; P`ֶ9>@c9Sk u7뱵mL$Э r֬YW&k:j@)fi,k`_\8ǑPĒ>64)܊mcn9k76R֬1a p= pkPy `[ۆN~Q_n6 ;kSn ;@l+ikt72C8.cmmkbeWZL$#2ј虭 @Ym%360`s=JAu4 g6PzY1b;66^=έ1Ξs @(E Ϫ l` a!Mflnelۙb "جG,&N} j6PvYlk-[`eHٞ{fl9l`3qƶv'~ ،ۊ-yyl`tvr{66l+„ۻޚs @Yf5DV'bd{w; 6 5;Z36< 5Mی @݌ݝb{)Y6? 6;;;ellI lyul~ml@^lf)99p(#,Q? I$d8ۼ=6cOz#``SF9,c6 ĶQڋLx,cl76@@Il ?wjxB)``2el0w(cP{+c}ȫnwS&eY`Mޚ3}ؔ+``*̗<5e6 ؜o8cۻ NY 6 ؜o{H9 M`s;cۧS@@Ilb,$g: Mm:"66) [ 땷03s ؤ~֔;a+֝c&fl?>'Cg66)q 5Yʉ n&6x?b3m: ʹۏ-x?/ t7fFۨh_E@@3.a_"s LUX^ȹllݪFxTEM` 6YS1?ˑ`sll둰\>e|֩ L`^>݊|ޚs64sVle9As64sTeyayl@s2>ڬjaPl^_ w@fY&0i` 6U>~Y?1 kd|66psT+aa_wX&Wޮӊ>3k=Z>H&`n',]t׺64),FT64%ԬFj7@f;KO>KO~n61ЄzWxׇ/_|ʕ7;&jXG's^( 7kQ?ja`mzG袍 }I_I[N|MZQ X 0ce&_de.1t2Ey >~{i/.kKi^p<[BC _5 =b8OdLdOt\ȭygucEuwNMU8!? ~3gr6L'sB/rC= ѺPo57"k0s lqŅwex)'EDaWzBv%֖:5 6 ZVΩonˇ/_A;# W#moe C;,0SLqJcgk[ tSP\ =)ִfCa=oBVXߨͩ.NC8:zM *uN Д7kä糪60&1ljcs5s/̂M/`s+]i]uuP|Gx~e&_iCJMY%LnͬFЍעط&nN&D8 GE$@&UjʍI弖vz:cߝ`sug+ؤM7~ !R4xa=Ai Ժ#PWb&nDTߕnQ]ݎi' r^Wljz`\x+rZ/܉Ͳ2vWZ=ZL`-t'nqXI :++eT-k9ls;Myd糲Nɭ4jEVߛ+Uݔm,o˸)M@h7zT9yjs"t#g52V1/낑Ôlne\f/ |&ۙzY\'Logun_z<g;kê֤]-sm 6c2OU㜧6K6Y'?ȳ|Zz b:ؤ4ؔHQg䀣kEiWFV0=d k56{ -LwݖUF 69f5ViJ O#4oY:Q^ӂMC+>N:(K_ fϗúF0g4 6UL : 7"}ޅZ2ݿ"$T5e)[ֵI~OSqJx;?lf p"߲ޑNy*jlc8ʭ }\ZC͹pm~_jx# YY&cf5ތhe\jOUQ_)(~}ZQP7Ҝ%LЦe`S9irL0tvY:+(M 6e?@-rj0ӽ`#d Df3j2f-J՞JJ?l=xZM5T`SB*u𿋞̖ 56n)!d4Ui}iPF;()j9tʩ3 k E^C+ 5h9S:հ/MYlݤDZT"kf 66+Y 7u!sf֡`3v ^挦=칂L#j&dqREfM\BM~#Ll&yRS am?,d2/bnPM}*T1p˙~IQYXU}ѥ`3gyy ~ s/p)ܫ\}M56iM]O)H[1Fх96մ`=ؤ|SFr #Ŋ>=3@%w˼M2Pn~lUH{(uk59،Gl>{F1QSM57# ;ld]ˬf@Ѷ`SA'LӈU0+d[wF`3`S@kO?_OhcOmx`3ޤ=] 6)Sh.sT9FV];)g!)k&fޤ2nap wu7U"%Tq3a܁,n7,΄k |jVu EMڬb`Sv\缂vvV]^bX`xMs׺`z 'ٸ;݄HRw$}T}.B O.TOSS'k&665ؔ?u?˼Hv~W ;nvcY<~Mq2IсScUMzPΪGU_B˭ %`Stw0nMt4^xjsA4} ^p`SS8E&: dAn>N7 -sc敖ݔu:e0/8 &2B=F~C̾^s-o/w ? 7"YrHYc]V܌͉Z^̏\ 7{ u#q^cQwCa*l>dѠd7'=}3y?_nVtw}lhOYFVs^(: P2;POӲ0`skET 64;l ZYO#6`ujv^O#6}aO=u7 Ќ@әzY2r&8۴I?Eh`jӔlRO<0& @]ys7i|uj(،6 6] 5EǶ 54a:4fڧ#IˡoC) 7Nl]) |tfV^!sݼʍps< Շz0ӽ`#d{ᅭYPw ՅNOj f6L=!۸Q&Xtj;Ъ6)&H1]tQq:Z4 P߀3q@=gE$LP3+4.]> `3g9bm3ۮ# Pp8&`eu7G.] 0gD~ n0ۯ=9X9lpo?w텢PsxDfi@MaMWG>Vjvl߲ TprnB}EXĠ^Qi6"h5oz6PUɭvt1lp80A #^߯c @f>Vn,O @gkXOa`]zsz^fnV#S~8k+l`Vfq8ݲ0ezڷO`Ф@|7j@hLو`Д`3y @͝SE``Фp5]c @NͲ @SJ$v|@hR96' 6M 6"Omll"fI # y:> 4%lEڬ;> 4%, e=&`΂ @SFuM&S%H`ФpslllnGڬ8> 4%,Gm&`s؀`Ф`s+f)f1l<7ln2ͽB{g.؀`P`yjs`q@k1Y/lhfF5 @]u3q@KYN-:偓1͆c @Ҙfqf1&̎vTj+ln'ln#1)f~nF`psl@?_ B/s? ЖPfs1K~`49ЄWv O M 593Ma8hJ 4d8XOlz.]?,-w?I^ cCAhB=^O<Z/?rJӛn.fi(oK/?wBQ uX 0P67:xƛvcpV'`Vf;oi3{? n+@SXOϨ>NJ쪻A54/rC= ѺPoUnBZlBMn=Mշ6P*7w6@P[Ow?7hgd&lfz~uFfO 0MYVOCB_K`P*UAͺ`jziЮB*xzOl@0Y +p~`<ju iEMho#ݬ6yQOC-Eu7g1 5iȕ+EOovgf)yj\3sXn @BMa=kꚻxϡ]Uj iB]ClG.]*l&&1z<l^}6О@0?h}=`ӭ箽Pt]lfeXwea܍׊ͩhvFlνgEu7 4/촽Fl.', 7{nl34eLq>iC 7Ԩ)1ؤx`Mto0 /ԨQ7lljνy˗mjrizauiʹOG& @KC͹~O?Sn+%60@SXOj=ͬ SB65?yEx`u54a}a{F[o%fE 5 Ùr̖l{dmCɷq7L*:#Ն}UlRL b`|u0#ilgzΊ6Iff ,܉`57Wh2m]}An fH5sBf)]Gl>fy8J6 @MaMWISczq^EKQd7x) 47dQUO`Tp0އt)/М l_6@F #ZSӁU UQwCBQ9XԟlYºPW+ ^}L= и[w+º%{RO u 7u70p2 u7ú xt0 M 7 y6@Sְ 7uJ x`Y?@n - ?Md',EIENDB`nMQP࠰V-݋>xPNG  IHDR/~sRGB@} pHYs+tEXtSoftwareMicrosoft Office5qM IDATxew'낢ޞadq{'d0;-/35qd3+f,d6ZEb+ȢcV&eAJcKa)h3$4ҢB<ӑZU]us?{{n:sϏ{Ϗ׃V:sϿO-ˇ Cn0馛vmll\!@OpƎ C !` !` !` !` !` !` !` !` !` !` !` 6lpg C@0 C@0 C@0 C@0 C@0 C@0 C@0 C@0 C@0 C@0 h0\{ p8u{ȑ#}`bkkk'RB`>C@0Q{H0<|G|~`EF !@,:jh :fssQ`s!@E3Z=5jh :nިB@0艴QC`IF gfG !@Qh:95`SZ2G?גkm0OџMS {4u֎') `)F\C2g㧽h\'4wv{)O 7 ȑ#GK#o'J\g_PSCZ{ DLIс"Fnu/ cS _^z'/zk~v뼿o7UOC:l' ҦpPW _ '?GMoKD0̜)^m}=s Lj7^=C'>{|_;Ѐ/&^˳~|8aS7nL j7^Oxe^]I/%3у/D`x_po9߿7. [^EB@fN?=`kvģ7F ߓ=x;#QP/ås0OpXkڥ4ʲ֕nA$IB%F%}g^_{󯚾/2*p"ʌ?yE]cֵ͛I 1G&]ֹ镘ʟ{TcR#¢WaсYO@XOȴh;KRn?$79OV0BO"ЊB32>(ֺzӬo:pw.E!B0!ǣ@xUX#nr\Y cS_3bi}i 8f:m%]K GޣcÛ66-5B0pu3U1׫ 'W_yCbiֺø,dpb=򪵅aޞݢ/}/?C1FP&šia`>x*HDqG{Sbj=!S("pRG]{?>9_0,=lЋ^[C`c}\þ씘,C\W9m 1}!t3P;:* 6o}S٢-k#"u YFש]7&5:LzKl#o+C6iƚ<;v;')59EdD^NcP0 'f2n,8(gXti} iZw.i0OT:;".'>k-60iiqmEZOHŬ5 SY{67__a{^0.GkiOE>Y;%uC< u"q1tǺC0;Z~mj Px)m*b'qc7-=i;%FGLYO&J:50Rh >:?.3Wٹ7NOww.a>OPV{gkrF4СC c)fņ Y;P#_W=6{]FIi#i=PXwg_HS0q5mZ d Cߙ/ٙimtن}՗g@u/5&1Ě 7Z"0[ٶCcxUڮN5 z^Eܻ v )ae =)aح4mщ8;C zۼ0&q}>O׺CK3;0n(i _=C_0L6t}} '.3 q[o6b pֺ:O>D=]8۰ouu^s\9 w$k0rU5mF)B`-WK7f]J m[OX&q#>wknX[[b!S31N>teb$;iD}́`uMѪ eE``Xg_0kV0/\9Ankze4pP{h贙^bY_56g.+VY#6l7Lq{a4{:kٍ*Wy=DtK`0v>a &u2T}= ]l\AxDG H6}`XYZe[Q0|kw6Mé UT9ίڦN3S0w[13i4b 㕞ZX^vq*;4лbgؔw5nϛϬ~]~>4m`4   1LƈmYOΪ:4)3Oh?Yʞ:ۓݗ`X&t wv&H1%>\Srõ7_b*aUz_{ޫXЇ`S:6ibI<ů$7СC5.-6|{]uM,UVkWL<[w 탿ݛ1\T2 E^IF}a6sѸ&vYkNX/|<9trwkrzöM/f鿊&k-؝(ɺB2a3#ZEkz0z``XgW2̴L#]qgU{C0nlŎc,_oM>i:r}If0za*`ح`؄o,״fggjJ'`y6q=Ӣol8u3t)G:$3Z>pt&U5X4=~,M\# ]fTriUw2˗Ȋ:shCBݥi*i3EMrq6[AXv:ia!?66=)b*vUlf4u{R0/f3gVZ{hYE6 _^Nt 3M]e0\U8 =,W5%v Öի7֙u]NѬeҌjk&#󝪛u *MlFZg`v+ >*lΦPPxzBrL):fyi}P6T5¸,*k_՞i v굆U2 Vb0,*_ik cΛ}ѩ$qۼqLkô>Wi"˯4#vN茋 ^'ae՛׮~'3yFZsQ:FzN|nP.U`Xs,;Z箤IrYjay} d= @+*N '5({?;`XUz&3b_½F%04"WT [v0,t9/;Fo^6ұ^E"Ϻc]wXdhꮤMEYsR}krUq,XSaq]mբ $F0mt z"=gY eƼz0xwolf~6uzBNX'e}aj=!lD{٥*apmekgή[7JécZ5m 5]5/6|m)m\wX}N*;M|kWZO;Kj(PXs8segbUXƑ_qښ4![,V4~83Ft}雯/)$}7\OSy0 gܘ,k3Z8;;zL;*fz}Mvٴ(m<|;3uRܥ ,7Nz!&o u cM]Vó<ƍ]i ڝeϴ EY9ǵ~b%0b֘' t>&Evd;ltKL͛wDdzqϒ/zz?:FI/kh8&B"]Qg].aYWřfP:˸/5hD0$?Rjږ{ÉY#ik7 MkbM6ĺٸV#hd&n-GTV-p uzB_ ڍb32>';9 㵇;̉q"nhCbW0Xyiױ7p}Ϟw}$x7]đ Gk\G jYLČzB 'ƻTР6ըQuuey3ԮI/4czz|w9}IJ  #VxqaW;  I  S F\FXG,;  9ة~bk C}gi1}Tg4 G]l0xF1.?&CCn0ݑ~w^ϴv dz b Ěϕځ%||\B`=;\m0 诔Ͷ4ۊݿ԰7_?k#t>fja sFχ'\3f>xw>{?xCкCߕޗL*/ NP0D0$!^?vwWϻn;.,Ѥ`<+@YwzO4C^3CB@m{_' ^Zw!aln) p4RC#Se0~{!K:p"ia2,};ugy鶿,Wcs[~ C\ 0&P'٥(֡ վ67],9Sk4pT9s*;X@0\i0:ViUהyUZ2&6c19{V9js_~} Õ:aгh+:;!&MuF+cQôF[M|} êFYآ|U2>eÄxe>'IªF Kn/4A0 W Y&T J:j61FS#\sQE؀I!``X&/ u3Ewmh0I?7SD* ;"5{଴#0  _UZ|mۂ<oa{lRy%G'ɪ_C U* 4Řbj~)2ZXfp(6~} V:յg`gG>Y~*"#Ax돂G vX]W`  _yeOp"FCbW؝4gKE-<9cjtN̎H'(w^CpLYQ Y_/'yrXw?Qi1z<<)V՛ K EȲúZ0 )֙faaѣ"~mUʔ}~BjDLK 1naÂa7Ԧ9ι/b+` 0 Unk0&knZCu@0 W  ^e!}Z)u>`H`08ԀV7:spA0 Z0j3Lٖ͘@G0+MUnuoymy} 4|C: cZ]J0>6>(_Ӿ.]M1Q!:5ؐuuvB lll\.{0=`8j09`  4-tL`  '^J>@0õs+'G:=p0\zjtn޻)k Ϫ!)6iK;uuA0 UҎQWU:+<@Z#6IB!Y)A0hggC_ 6p mx} cL/`2[u>!4޼)}F4a}xEX;rᶽ>!4ZQ*6`bջ``^[i13 Crq`H7RF Bm~} CXX6tssQMܱq\w앶>!4zI >fMFv~߇  FٔPg~\۬ _C hyg>#\#%] h@#Lsf!I;uݖ@V*6qf!W&κ1W[`+Ip.u;3V[)  96  郴6  L-@ DzCE`085rat=_n` D6)Z[H[EXv׭A0 avҹl}6,+ip=!!Tχ6G# B`W|hs}L9s-!<Ɵ|hs} gk}A0CSIi{}k;v b h=1ޥs{Zl@0 %bÌcc+CC:nmmDZ0>"CP06Ҙ'4 b )9@0K ${SO5;5ͨ##ݣuYJu>!,] U٩$|Ns-,fC a5vk>~{CP0 FzЌX:iO}t=!!S>G3pJ|>6>V`#e12v(]C! qLd^C hCX-0^wqj^Cb1tᏨruR@vݠdxvQE6ssk6N{ tRl0Ј˳{b-vɮ[Ss8 iYaw%bWё۔Cwwl*kk! tx.G. `QEF BGwC@0EG Bᶩ`q-~O`קްKll:3-q t^QC_q,`(`YF "j`(`aF ȑ#]!!@-fjřn>sv|dǴ+ :'ih!dss1s\ t쨡B xj 5nNΞY`n~q3}#@njѹ": 5GGCG/+<u>@xГdommGCys/>";5| 搎ƫ@}sϳ Q}&;g$)rѓ^ŗ_g_ڿ2Ns_>>އgig +g̱^|܏ά%jPQ2b (0]ӎyF]@y'!u]Mxu~C}D}T އ}=dK0"kLlOXWcz)#9:=yH=sï:u5qݹPQǜp'^l9YGD0NEw̷xÜ:8-!wźGGhͽԺި)xsף @b:2-~h-qor_\xecYgө eX⺚wud:Ty}S0,6%.ShᥤsY!PUeXhPnOZ}j0 ]fg;ٙ6x@ixzV)2{eǑca~U}y:M}Ly_sOC`a2{q&i > yhf]H0),~Yc`x=7ޡTA2YOHSu5gԥUEeyy?O)E߯YH~Y}{^TcM.@ޞ6 isFg\ igѠ:˜JZdϣUDžI5}Y[8C9wH+ վW%ø3NXwHU1k=aqHX04`X&4 eoӃac8ޣO?QHg#O|V i.취.ՌtӶX$ PITȼSWL,sۺu*6hUͰ;" zXЅT`Len0sӦا`X`ط~6{^h=?Neu ԕQ4uGik)?9rؽO2ѴiIW#E$jim?{54xt~=`q&=g[uCS2aua`LR+wܷqdCտôu!sOXO0`8}>OзFel>ȭ`ؤgV T8"5gGaL'N;P󋺼P0 '^|u5Zq\E`XX^'3.o@9ٶ<7|18em\zBP0q쮬ib},2ŽT;616>m C] ~} Msso#ie]U0`ۃzzzaה}=}=? iLQ7GeEc?}^禍* e޻ GeGgz8(#{HW `XdP?8BݫryH I0ꡇtT2Y Ba)CV_GP Ī!PuOnVO]U,B|}YQA%M os}Y- cZt3oԒaսE`}tq1$TK q8 .]cX30[®= m+,'VUyE~0Y |>gsC]VW~hZ0L9B0>uQe_!}:;η%{l{yp6 u?UUBJw=EhmF&>l{Q}l=Y>&ݛipl%}uhS0j .yh=z٦l2>;%v>Nì@8/}k`X5Ybzpڮu5ez(_z';ݕd=> }0o w'}aem"]_~5w3'<N +>4N][8aF9L0F}4=U}}11M8{z,ϺآZ0\׼CClfPKc4㤺(MW;+?GV93t{!k]Mlkܗu5M8bYw9uxtU]vS~PXqcC`4w]Moz^0,YLQňg:Xu Uó"fZ[[;s-rLkfzE^#֑;rV0n`]M5 :{ԫx6^f9G}lE/ S}4F|kU02zy'`E T#{?P0 э jh㜹FN`RcWlϡ1vR-ra_G@u5B\I g˸Q .qܑs獐ܷ|!sYk}}ݺ-]quŃaEbQouv̕{O71bSh~ӟdٵ.kL\cfòpޟ-o Ҧ|Z#=C`ae^ZWs[Ԩ'dY1iTq0L8^'ۛytv~+^gT*=o=lbB!:r)Sbm_YVJ`UP}L 'Ӧ{wy#80hB(Oey_b\\W>?ΆEw%]d" 3:nG#8u;`73RāB0Ԭu5=?@Ciq0ܵ=0)-ٕP}'M>tcfd]'CRfT\殫d!e!w%G%#&kDFٴG(P_~5sL\CGG1`=qK酳E= yz>OPQElllHaf'uT^>^&7#XD9=/ua2bk;ݕd #XQ͉Mĝ.㻽許 u5,zԡ_#!u6~!b;t+GGh!j;?}<>"ւPQGC򬫉u~Bc?uG [/>>"=&OĹL`tXu$OPGCj.y355{GGC%}у龜lnn>>`]Ml'Մn>e@}TGCظPG 4||>>`> h#>!>`> h#>C  4|G@0P@@}C  4|G@0P@@}C  4|G@0P@@}C  4|G@0P@@}C  4|G@0P@@}C  4|G@0P@@}C  4|G@0P@@}C  4|G }>#h >`!>#h >`!>#h >`!>#h >`!>#h >`!>#h >`!>#h >`!>#h >`!>#h >`!>#h >`!!!!!!!!PG 4||>>`> h#1j&4r!@˭.3GC(+7PG Hp@}TA0{!@,+ho`08666Όvɟd 9kkk'\>"t^Ȩ1qvy7F9rt܀{cZER|Z @}T z'OxRoJl~@h=Z{OB>?GQ}D0h]L3M(WNѻlck=\pQGQ}D0hӓ{/^yza=1)zS(2 PG *=ѳ]"{ãQfJexDZVh~mcw~O٫sC@}TA0+7(/ƍ\ ~'>;|W}_7~=kk{⫯6|_~a}Q}T fmmxɩPU؛G>pS[~4K|ez-z?'1e;?GA}TGCZxmDy .W~{؊{/-O/%*`x- w:u:8^{dzR(<'}a7yiB1%)k*RQ/jLi^}JQ}TA09^uW㌫6z;.e'MB? EãG\Iwkܿf 6bkG}TGhT1Ui5*Ƈ!g6xX/2_i+946{nlٲ=kFb{Q}TGC#^L`b:T4)B1j{xͿd ڵFO)\zQGQ}D0Zn|8Ŧ5v&b*cY FX Zug⹭~WWi GQ}T 3=)sUq`q o(4>V-5Agc>"ZtJT_? xe4\DrlbNwѸZeㇿ?nQY>@=ۋ]];ֈk{\۟kt4ÿ)2m> YSbG衎*1jzkB4g/QGQ}D0(2Yxp1guRq'n'>ĴCڼ 9%G(GG8#`mccrC'LoZ/8AǼ]bm{Q}D0j2 .N,&k^x4ݯ#!PÇ$Ady lS?F)-#`;#DC'OoYzל]4ˢ>>"m ш23o);ioŢw`Viz'L:&΄o8>>"7>suXp!pg?9Q0YCB'#!1:Vapֻg qV)N>2:j1Zh )#!u6zq@0iv+Y~Y`x]ei}ibb=βO?'#!PX[Z_~u_<@bMB(1=*kƿJYY@Uv+>"m͝>>ů uG,?_ynEPr#yv^ޯq}thEtukQCkzOswMcG2ux3ԍWJ=T<6eHkwC;˶t-0fT{қvŌ Q ʥ 2bLӫb^sk;"Ν>yT1ru!2B]u>"ظ\1mε7cMbl56lR݉E=GT1#!Pc=KIя;vDz)gΫ ,XUgYڈK``j4e$L 9ä=6l(Mi<)*w'^[ $7}4Fc?nݥawtO>"Mk|~ "0N]ngyGK=^khPCtLDczc M%m<5,6Y:K۸#:&zqJF ތF}TGCg#h4:4FUi߽u *Nѓggȵ+CokV3tոcNZtH> @W sy6|u}YlD{l0i ^ugƋOD>e3guq ù;#,K199簪`CQ}TC?rBa/`4t!>9|ޕzOK5ae &/ӂQ:t:ڈM+m.F_1zw^PXCQ}T 6i[z g,4`;V#yk>I=6S!c}4c]=x0iP}TG|Pkj(*mi0:+i&vQ߇8\m"uxz0$$=@_=aL>m#6 j>yz68|6 A:vBm`\051Ft}T}TGC O_4&3̟kp2S,Ioj3;?IZL1s:gUϔPGX?7]zS{qRuIӥPCQ}To `tU6uĆO-e*Zyl$uU48Sm@}Te `tƙ"@çxçFG>o ڀ>`I X҇ORtцH>c'mڀ>`NChhT*64jڦFIkh666. > @D`҃Ck4|n)Spg8>`<3鉤¥Sia̸yK;-IRPGQ} ^ co**}jidop09mόUPGQ} ^:|GMz*>ڎ&id\o`e}?/cmmz>7%M#UC/:tz)?< ۪}Y EޫתTӡbjTu<2 Sj>!{iv{yx[fU =U4|zEhJ4?xO=)ォ>(;EO|x*UբAkk5>@ۿ2wQ]bZ:e?c)SC9 g﨏#!`mmxZCfzÄ@!zck@gX7tŎ}y_'z'2﨏#!~55I v2T-:#`̑=3ː%i{oz~ݧ\|}>"=GJq>WR3WBښE6 㨏#!s2oo$eG}D}T E.dIX̲WEg #!PaxU@fYZsemmQ}D0 J;!. (1#`T+n=V󽱱q&6qߢ>>@>r{Jz[%h>Mʖꨏ#!dH}O?wKj*#.I7GC}>"+5~>x6T?M\o[IGGX]|g>g ѕciخ{Q}D0Vlcc\bO<^|1D(`@l]{Qv[y⳵s[G>pk5fGQ}T -c*!WSf4D+3%.bS=EMk>`t"6a\! YǒJ~P=d9%v?>`tH&Og7_iF]iNw9+]D%Dv8iL`@g={sS +R6XX'S.1r>#!#9Ct؍-Ϋnn}#uhB'Ũ{GQ}D0z*z@obq$iOkm'rѳ`08s@}TGCIh;C3zcƲ+=}N^Ï3g5>mΎ`0x[;"6=UG|mc]M[v kf/1-,isKzGiƿw}> 2=pdgX?2__tI쫯FO?ǖGQ}(ћZTZEOϾȩQkGQ}h^hzWة0vۮ3PGCklb-5;=>cJZrn~Ƶ>`R 8C*l%7neNl{ ذb:T lI)>h8k9kAƻl펷 1@ET8y'w+ "=TsVOţPGCD#i|UobzGh$M|$> 4TӔ/!4tU7x8{ PG V鹲εXw Kh4Fުx+3> Ll>޵ok@BD FHJL NPRTVXZ!\^`7bdfh!#%')+-/13579;=?ACEGIKMOQSUWY[]_acegi    `b$)6c$ͤ*g@W b$jm,DN 4W b$aOG-R0VBb$/E0G@Uvrb$):K!\5Őb$~4Y_!rGS;b$:Q1I6Ab$QP࠰V-݋>xMB 0e0e     @ p 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|E||s " 0e@        @ABC DEFGHIJK5%LMNOPQRSTUWYZ[ \]^_ `abN 5%  N 5%  N    5%    !"?N@ABC DEFGHIJK5%LMNOPQRSTUWYZ[ \]^_ `ab may : .@T#%;Nrʚ;V2ʚ;<4ddddX#0h$#04KdKd?3՟`2`2$BPpppjpp(<4!d!dɃ60%Q$#0G4BdBd|;60|$<4BdBd6060$#0h___PPT2001D<4X)___PPT12 %0___PPT10 2___PPT9/ 0?  O  `^] R U Y Z [\V'OCDET,-.=/0B>45 A!@"2#3$?%F&P'Q(X)S*N+9,L-_/`./01234567 8 9 : ; <=>?@ABCDEFGHIJKLMN O!P"Q#R$S%T&U'(PK!V[Content_Types].xml (|N0H+8 (8ĪVEBpֻ3iVwbl VLly Ё9!u{yL IuF^k2#z cẽN`0[mb` \!#s,Hё9}~TU 6Ul¼;{-dۡx/ ftΓCR}o v|i@T;\/E_PK! K& _rels/.rels ( 0nS=H^DtiUۛc a)hěBUrdk)Dd gIDr*dS("QlT3Q4b̜'օ9I]e3\0ťQ.D=vtr5aƓI+D#V0;f[e!/PK!tableStyles.xml I0@Ὁwh}-CQ$ +w*!@he/?JXd45ݤ{c@qqi` yߥ?" dd@ ? d@333-`8 |?" dd@  #" $  @n?" dd@  @@``PR     ` p> >  #PK!(b[Content_Types].xmln0 EAkP }l} m $_tI$svs^챐KkH$Q -G$oo1# ɩ5 J# \Qg0?0omRo?Y8 Jm i|TX+N3tr@9>?4 ΠMfrAsѺo_p?yjŝ & Xg3PK!*8 _rels/.rels 0DnzЃXmlo0of5OIw AN{cݠv=m 838yG 6U} ShLq`L)d=Ҍ\@.;3, ;$e͂): vq}j:zɥ'k茜(f,ƁXA6\m>PK!ɣ^#!drs/slideMasters/slideMaster1.xmlr0;xt͇a0$N9dJҞF=HC^ǾDOuזfhJ'9VoGܺcR} A< '7ÚG,P %StM?^r,0!TduҫU0gU'qMcQ _> xi494 8XDL̈djx|5[Kc-Lt# BY>;n'WҢ|8>ZX1U`_lj>]ںi_h=' ~ՃO\F1x*)drAl!fb/d%,Lؔwؓh`4kFC3|tKZPA:i%xI`NbDF} 0d܊ | CY)AL"S$8 6II:pl䋤Z?`*@;-?U7U#k*4uv(f8rQ-V<ߡfۭƠ,K,(PK-!(b[Content_Types].xmlPK-!*8 *_rels/.relsPK-!ɣ^#!drs/slideMasters/slideMaster1.xmlPKg 1(    h|&` ?Rectangle 50"ÎPK!Zf[Content_Types].xmlMO &2WR=cJ`F0iK`#̼vLw 9uSq:w`G ^i ½KI)c/ $oVjTMRc|}042ҥCƔM̏P~*ka/8^DkHbL8e i"K\XN\6rco4y@_;oPK!1_a _rels/.relsj0 ѽqCNo^K [ILcX&m߾0XFo;>0xM e`|X}đ I`߽N4aG2$RKIZ)4(M9`ctB{m:f@`3n|O,ܗr޾jxR0T ,0@}WBLǬ5vPK!m<&drs/shapexml.xmlUMo9 t]|8qNlˆ9ZC $+4\7Q#b}0KyBry)?=Pr|ݧn:A1R.bƃAP B:8B:vpQ׃ [ ׳nRS/LMX+)Za[-~SЃS{Ppt_Dy6 u m`"_WDMixTX|k-P])CcBbD"蚜gN$Rz*JJ֓s}5 yz[bt]܍a8S Q9$_"nssHZ*ִTr:U,٦XSiMT\fVS޻z*O=x #)Rs6YܑHOH?Y,[jc2{H 5MdLD'fIQWT?c0{L. yЀP SlNMṶ|3[$^7o]3uG&}V+ܧmZ͞erX|=ZeQØy#/ʡ4S@r՚4YJϾ iU;7Kfɒb=Atر(t5YMK~;װaE쿼O=hYMjwv*N7k@3Q-5f%=gj>> /♆%lϻ#). ~/_PK!B drs/downrev.xmlD_K0G߅}p2.E:|:^6$5|˹gu.伲F@HTy5$`"j)r 3Іg%~a{2i t (M{QbO-U_dz z<NjOz>O--2$K`,rb^PK-!Zf[Content_Types].xmlPK-!1_a /_rels/.relsPK-!m<&*drs/shapexml.xmlPK-!B ~drs/downrev.xmlPKB:2___PPT9  R0K2    `}&?Rectangle 2ddd 0 T Click to edit Master title style! !4  ``&?Rectangle 3d  0 FClick to edit Master text styles Second level Third level Fourth level!    G  A??Intel_whitePicture 44Intel_white6jiK   hQ&ee?Rectangle 48"PK!Zf[Content_Types].xmlMO &2WR=cJ`F0iK`#̼vLw 9uSq:w`G ^i ½KI)c/ $oVjTMRc|}042ҥCƔM̏P~*ka/8^DkHbL8e i"K\XN\6rco4y@_;oPK!1_a _rels/.relsj0 ѽqCNo^K [ILcX&m߾0XFo;>0xM e`|X}đ I`߽N4aG2$RKIZ)4(M9`ctB{m:f@`3n|O,ܗr޾jxR0T ,0@}WBLǬ5vPK!W, drs/shapexml.xmlV]o*7}`./AI[^^W!glC|thKj3|q&uaZ33yK?J?vZMیooݮ+6i^el#JwO~)F0O86 .3kF j?^P;g/XY顲ͭ(*vx0HF=<18ʃgҤChFnDBuGinF(P-%d* 牔t6ORRrT05㓻.B2U7I%<2xQh#AU5(x0. Q zQ5djk5uc~㓀KP gy:2f*Xm '0sNmk5~?%=ib]5"r|nvciI00_Qm P[; sjA(hfkFX'2a)|~htG؉ w񷇑&4Y dC / \ +P64N%Ed nF3 ?PK!Kdrs/downrev.xmlDJ1FfڵiQԂm4YL$n}z=|:q[ quFA3)8SbWt%#c lJ})el,9gvag0RurVs`GKtc}myRW=DcT5UR@^ΟDAA˱\PK-!Zf[Content_Types].xmlPK-!1_a /_rels/.relsPK-!W, *drs/shapexml.xmlPK-!Kdrs/downrev.xmlPKx B:2___PPT9  r*" g     A(??0small-VA-SW-RGB_300Picture 6small-VA-SW-RGB_300.png<  c $ ? `~\f7___PPT10u..USd+D=' = @B + PK![Content_Types].xmlj0Eжr(΢Iw},-j4 wP-t#bΙ{UTU^hd}㨫)*1P' ^W0)T9<l#$yi};~@(Hu* Dנz/0ǰ $ X3aZ,D0j~3߶b~i>3\`?/[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!b"theme/theme/theme1.xmlYmo6 >`.$uH.m@tug7lH_sɚtIDiR$Rmil^iGR'e4~5uG Uj9o|woıd!#|ƙsM@V)ãYF|B zA!rGZ٬w٪Զ49YTJ8 tjg( eQ2KI5LF(X?7fPno?5_͐^_5A&F3$}zg޸ߒ?ܛs6/p;ߎ|f=t|rg&??{?3e*{܀d>U~}q o0E*VvO@XLCi(J$@ҤB 8Ɠ{u~f;е3/ZU*βTy: 2 tF7)ݟ>qmkkU=&+gO+ܯeC"jpʯECXe׵P%4Gk=mɈi 6D:DJ{L#%S/!,0~Lٽ>)`k;sOy_د ;=.Dk"ιJS4>qjP0,*Du 8ad`X7 @3S*cݙ!4i2# f1<YJ&|RZn4,-\ {ܺi4&onqKU{b>OD]n)EC&{vj3~jM;w6p?)mLDj9L) Zu#"i\BU'skra> N||ˌ(KkjAtm姽7R]Q Gդ.w:kjr֩!s||2èn&"{ 6kZK-jVSxR+֞Ńqo1MCT E_noKCկ|Q%'O`"Q޵uwK^ Q4z8fx?MsUtvᎯ=AW#wSUp`آ}P.? gأm?Y8 -?bظve z[VіKm]ఆm]Gjh'ƺdɟT: #Qahjz /\^j: k*:w`w\ޫのOrSvK&EzSOc󧘪x!S,. Ӊ\==exx(Yę",[DaH4K\P~؉G# ?Ưef2}]?̜eR;b S+~+y ?0jfe}wHT.`\!;ؽΰđF'DVV*?k-4 ioS۪ddO"Z2[|ɫ-cfY|jtb<հZ7.M凜mWp+hgXgk].xT5u OgKFܐf 7SRp+GuIGt'2@ Py*rdsQ m83axx0o1/D #ܨUנtAཧ4<@QU@ Le #DO(\☼>Of4z#?s%Vn*Ӽ PK! ѐ'theme/theme/_rels/themeManager.xml.relsM 0wooӺ&݈Э5 6?$Q ,.aic21h:qm@RN;d`o7gK(M&$R(.1r'JЊT8V"AȻHu}|$b{P8g/]QAsم(#L[PK-![Content_Types].xmlPK-!֧6 +_rels/.relsPK-!kytheme/theme/themeManager.xmlPK-!b"theme/theme/theme1.xmlPK-! ѐ'g theme/theme/_rels/themeManager.xml.relsPK]b : + +PK!B?&EFR\Ǡ~of=t0] r`6*4";jiGe0_jpSUt|:R^+!XI "raDs9/`ց- gX9sPK0CV*j c%HlKLͻ[}/i(\'~R%e`ɃC{I}w% mB-e8Sb0c,XOm02^񧢲 ,2H-Rs(ZR[|Xo`xy9̢!`NL1װ<Ș)cbE҂}lnyIz8Sn$rSz_k!_b$8$:~;,>/((;҃hp<1/kkΰ1gY)Xxغ*GT;ڼ~߀_v%(/W/:4Qpv5[X>e/2ϧcL2d: n\D(- i>I $ESy8rX~G8p1_V)A&V xoYlDY+4sCB3B )T暓R]d_d@qGMЛ4XK1,MϢ20@ a#4f:hMvx0C"D@ʹ(1~7hOŵG t35U巅tEa >.XY^Q5;&,&BM[*6nG]gdc/EAe,r_)d2 [[HܸaA}.W7c 4ܮvpmϑ'&DDqKR>cQBZBíX^̋[GMRvݝ"@\&;2q^p/t=痸Շps|#^2^Kk#-3oTK1h]6 `'m;9v.a%;u`痰%v0JMj$Uw4eucăISWx͒R=荶dnqIb 5~ |wcvfv+3wELOp3Ij嘇x|ү? #ywdz㏧np1rⴣiۧ{ M6[=)=5Jr3z_zdwOW Noцgt(/zs/0%|f3>M68!{MP;MѺ"`E(-ϴ7 YpigH%u/NPK-!M[Content_Types].xmlPK-!p8ܾ8 ._rels/.relsPK-!zΖh !drs/slideLayouts/slideLayout1.xmlPKIp|PK!M[Content_Types].xml|N0 EHC-jaj; +,Kq:=ig ,?ϵYD&oDzCwO-gkcg$./XQ{jsԈHt䒦AFP0skfx(壓8?.C(ũ{R(Mb˳7{-IF#{_R'dK0FFjr'"&@_'PK!p8ܾ8 _rels/.rels 0Dnz x%ٶ6 (тqLݾQ(NAU ioo'tGHL m^W16 AJMȅ8a22~`Or[;,lij@搛}YMGBh ]pϔ{J Loc!"rPK!I!drs/slideLayouts/slideLayout1.xmlRN0#-&x^VjqvCl^@=gg;,WѬV*gS9SV^n9 lYVʮ> :"#HyOTyeW84{#v>*G=^wEQI(T"ʇ_QG_7g= kⓈ`CmhhPK-!M[Content_Types].xmlPK-!p8ܾ8 ._rels/.relsPK-!I!drs/slideLayouts/slideLayout1.xmlPK`PK!M[Content_Types].xml|N0 EHC-jaj; +,Kq:=ig ,?ϵYD&oDzCwO-gkcg$./XQ{jsԈHt䒦AFP0skfx(壓8?.C(ũ{R(Mb˳7{-IF#{_R'dK0FFjr'"&@_'PK!p8ܾ8 _rels/.rels 0Dnz x%ٶ6 (тqLݾQ(NAU ioo'tGHL m^W16 AJMȅ8a22~`Or[;,lij@搛}YMGBh ]pϔ{J Loc!"rPK!u!drs/slideLayouts/slideLayout1.xmlSMo0 to0 F>.m,d&*Kz%Ћ,O|Ov1Dl%+)*h{g)"m81㇍/i`t$*(jx$Psb_0 )tJB +EP@BMAU j.ˡIդ97ɇE.s) Xg?SB4'zߊqS2#{͢k$sJ@l %Hss Q5Z= rM"ay 0!m?_1'}P!o3o0}S9n@4:<PK-!M[Content_Types].xmlPK-!p8ܾ8 ._rels/.relsPK-!u!drs/slideLayouts/slideLayout1.xmlPK7PPK!M[Content_Types].xml|N0 EHC-jaj; +,Kq:=ig ,?ϵYD&oDzCwO-gkcg$./XQ{jsԈHt䒦AFP0skfx(壓8?.C(ũ{R(Mb˳7{-IF#{_R'dK0FFjr'"&@_'PK!p8ܾ8 _rels/.rels 0Dnz x%ٶ6 (тqLݾQ(NAU ioo'tGHL m^W16 AJMȅ8a22~`Or[;,lij@搛}YMGBh ]pϔ{J Loc!"rPK!XJH!!drs/slideLayouts/slideLayout1.xmlX]6}}h`n_fgFLM1 LZ ~_|iWΖ:bzE"\ܯ"ש5)+3wk.{c6s3x0(+.Zi^b]8J ̗ue)ІDilUJhhIz_UvWXmdY`%1f ~YE ||fz*X3Y`тo+O6 2썂)Ћ@0`:]20ddP$)E ʁC"G ^p?g^{n }= ݷXqӞ".fG֩]X-+R5 &Q'ZBQ6#/-r5#G`/-r5$ Hi"WCi{.iv4ٝ>__dFVVY_Lm3?6LAhEz7GCfJM@n̽j/z{մKFeN2Jv[1?nڕ;9on^75T30ěa&+V=n qh+pg#uW}PK-!M[Content_Types].xmlPK-!p8ܾ8 ._rels/.relsPK-!XJH!!drs/slideLayouts/slideLayout1.xmlPK@gPK!M[Content_Types].xml|N0 EHC-jaj; +,Kq:=ig ,?ϵYD&oDzCwO-gkcg$./XQ{jsԈHt䒦AFP0skfx(壓8?.C(ũ{R(Mb˳7{-IF#{_R'dK0FFjr'"&@_'PK!p8ܾ8 _rels/.rels 0Dnz x%ٶ6 (тqLݾQ(NAU ioo'tGHL m^W16 AJMȅ8a22~`Or[;,lij@搛}YMGBh ]pϔ{J Loc!"rPK! W4 !drs/slideLayouts/slideLayout1.xmlWr0}LA66x̔6}Ʌ)[ȒGRw%[3yY::=]JU>H 8FJ&8%Ur˰KR]dRd+m3"FkʎYv:vCRӺW׬&pbW4v~gk?=> +ěEi> ۾6?*lmizLސꮶ>tMة >mLWtpUOfq4 PK-!M[Content_Types].xmlPK-!p8ܾ8 ._rels/.relsPK-! W4 !drs/slideLayouts/slideLayout1.xmlPK0fPK!M[Content_Types].xml|N0 EHC-jaj; +,Kq:=ig ,?ϵYD&oDzCwO-gkcg$./XQ{jsԈHt䒦AFP0skfx(壓8?.C(ũ{R(Mb˳7{-IF#{_R'dK0FFjr'"&@_'PK!p8ܾ8 _rels/.rels 0Dnz x%ٶ6 (тqLݾQ(NAU ioo'tGHL m^W16 AJMȅ8a22~`Or[;,lij@搛}YMGBh ]pϔ{J Loc!"rPK![=?3 !drs/slideLayouts/slideLayout1.xml[o0';XyoI%*=t-@Tljl>ItTBc$wB46/8nÀI-,׫q2~3 u\g\Z**{10M8X;WkYp{[VRlY;5*xk)y0/h6؊ |31 l̤ 񧶚)INo~jVMgi.bXt]_$n`qx*zSvX;#iR仪=ߝug;%YXWt ?=ia35CՇ>1m G"n(|$I6&0{%- Jjt2QH)ᩲnv z"ZwRL.cE m6WDO0O857/34aPԸ&*̕Lfcu07,l$: HxwJloF!8T(_K6{ u&EN)tԚ_%k;s-VbXˠ;lat v#T?]٥Kq1YE>DK]M0)ބo&(̧Pl?g]l)J&xAaQn-g2v2(ֈgϴ!Q~'ہ,jfqy21=y 'A()LPP95dXب/WTMX(*޼0_()Y0 +d 9=%j ~a)!CȫȾRڨVYQQ Gijw:6_9]LVR3,d+Ψ 3׵t_}<\ONӹrsnk;x7ޓzSC*:Q4d!'/:0BϓwfPK-!M[Content_Types].xmlPK-!p8ܾ8 ._rels/.relsPK-!,pU!drs/slideLayouts/slideLayout1.xmlPK <GDC08 sponsor session template7o ` `~\7` `~\f7>?" dd@ ? d@-`8333 |?" dd@  #" $  @n?" dd@  @@``PR     ` p> >  # PK!(b[Content_Types].xmln0 EAkP }l} m $_tI$svs^챐KkH$Q -G$oo1# ɩ5 J# \Qg0?0omRo?Y8 Jm i|TX+N3tr@9>?4 ΠMfrAsѺo_p?yjŝ & Xg3PK!*8 _rels/.rels 0DnzЃXmlo0of5OIw AN{cݠv=m 838yG 6U} ShLq`L)d=Ҍ\@.;3, ;$e͂): vq}j:zɥ'k茜(f,ƁXA6\m>PK!$R$%!drs/slideMasters/slideMaster1.xmlZr0wѵC6?IC$Y6ȲGiؗ}d Äd&AZV}ZNbj.Baa2G7Æ,!1c0liڗ#DX`>LʴlpFb,>')a06Ix%|`:M6c1dUO&($_p&3#P,ab"Vr"{mIzD=kna:(>Rh+v$a\O Ța6P ʐH 21Wס667F'yftL&_a]G.`ܘ=)xQ(KʳS'g) %))ѠR}7B1 c;[~12A1fYi$] g 7HuV62l +[2l +[2l +[Wc~vSq3B΀[xb۪ V* 9v{vFr<+ '=j+Υ~%beLı1Q#@/%!H-2@i*'k)?'f>+ E5߳FE~yv:!3ky&A keFa_a  vz#wA6qP^W)}Ⱦ M]A8g! A|,O\QU\U>tʋR),u+m!Jڮᜮ1uomy ]!Ur ~.>NQס\a -mAʦD_ [8!BA>"q;2ep5%o/eԻ0#haΓ,]CWS2P"[bZ~9n%*]j,->}l䛤?ȭrtyCmh^Th(Y;~\Ju;n[?#>dEr:*WPK-!(b[Content_Types].xmlPK-!*8 *_rels/.relsPK-!$R$%!drs/slideMasters/slideMaster1.xmlPK,O (   (    `S&?Rectangle 2ddd 0 T Click to edit Master title style! !4  `@U&?Rectangle 3d  0 FClick to edit Master text styles Second level Third level Fourth level!    GL   h`V&ee?Rectangle 48"PK!Zf[Content_Types].xmlMO &2WR=cJ`F0iK`#̼vLw 9uSq:w`G ^i ½KI)c/ $oVjTMRc|}042ҥCƔM̏P~*ka/8^DkHbL8e i"K\XN\6rco4y@_;oPK!1_a _rels/.relsj0 ѽqCNo^K [ILcX&m߾0XFo;>0xM e`|X}đ I`߽N4aG2$RKIZ)4(M9`ctB{m:f@`3n|O,ܗr޾jxR0T ,0@}WBLǬ5vPK!o drs/shapexml.xmlV]o9}_kE!GP'![PHgS<H}mlU!\sϽ7?jA\Jɔ"JUQUJ??:#Je`BI=7͛?7cfܤtmm3vM53T%Jkfԫn2jEѠ[Je MXajs`X Nso /` ͞pk\'Z5gw[zE(0xBmd`Ykb]KQ8,.WI#<>QI:Nb?||tJ3J9XR@.x!2OkAS<>Goߕ,v =.O,[xjW3Vo\TNN@mq]d^XB.ܡ2M-29y[_/?iwRvv*˗9CAY(Z6~ٸ_>;]oI&Q:^?MFY7ov[{*4eUTIWJ|^b{ %:)f6([lv  anֈD&ܥZhJgB[|ױok,tܜm|02Ck{CdC / e`l~kܕ?)XH'~rNL?DoPK!Kdrs/downrev.xmlDJ1FfڵiQԂm4YL$n}z=|:q[ quFA3)8SbWt%#c lJ})el,9gvag0RurVs`GKtc}myRW=DcT5UR@^ΟDAA˱\PK-!Zf[Content_Types].xmlPK-!1_a /_rels/.relsPK-!o *drs/shapexml.xmlPK-!Kdrs/downrev.xmlPKx B:2___PPT9  r*" g   <  c $p ? `~\7___PPT10i. ++D=' = @B + PK![Content_Types].xmlj0Eжr(΢Iw},-j4 wP-t#bΙ{UTU^hd}㨫)*1P' ^W0)T9<l#$yi};~@(Hu* Dנz/0ǰ $ X3aZ,D0j~3߶b~i>3\`?/[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!$wc"theme/theme/theme1.xmlZmo6>`A.~o't[gǁhK E $:{(RlIl@x$mil^iGR'e4j0:rJoމcBFx_c13,we%5V)ãYF|B zA!rGZ Y0Umi"+-I9YTJ8 jg ( vT>I5LF(q\#(7OW#׃=z÷G =FP>I䰡"I}dz^m!>7d2{gסH?ON:'{qogLz{6;5v*Տ5aMTUݓb, 4sJ|[ɕHK -HRq,Ekƃ{:\0Aک(ZU*Ty:: 2 ktF;) ׶&QUic𽴉) |>{x{Z~.S8PC~%%02B/a'ͭϢqt5*ÇX  * *1l"LUE\d3G+\;E0xb>cRhx)Dp n:*NNOh<Q"iB]°uq$-@L u =;u2֝ :&N^f})|C&u\dnAv.IORm̥)TO[7"ЃdmT'pLR4dGPmd৖x^Y)B 'RaJHаQNҸD<4<\;- - k 48u.udrG.3R^,q~vy&V^쥼j8\M2xw\grMMN;:5Y{}۝Of(խ7"_ko[صY`ZjY3/KX{A8xq_c. _noK;D"ATGDh<򦭻[ZX_ڹ{$cDc7Y]'_ص;M MQVa#ÎËYBGaQtVx<.LM6&bJ.rە)h\-ۺa ۺ(&TWu?Ȓ_7*4DFV a|#Tж望{;`u^t}ؔY2)sxkBT bqX\hĘN10)Çɣ2q*dJ 'Q4"Whv@i,3zSJ:fBv0sޗIYJd!]mW\]2#R;\qQw4N|NqN X.> zW\ Nx#t&.6:a,iI[%]6!wMmʟDhɫ-r ĦyV2 q ]o(?欻❴o~[` C yyML~"ACB%Q6͔Jyѷ.#M} IPy*rdsQ m80V?8z>x=DhSR> }ݎ?JV2}.,z#-xGՌV. IxOսާb?*Zקhz@0­*em=0͊G=d =!~(k볫ه<9˿^Lv1uחHX|V/PK! ѐ'theme/theme/_rels/themeManager.xml.relsM 0wooӺ&݈Э5 6?$Q ,.aic21h:qm@RN;d`o7gK(M&$R(.1r'JЊT8V"AȻHu}|$b{P8g/]QAsم(#L[PK-![Content_Types].xmlPK-!֧6 +_rels/.relsPK-!kytheme/theme/themeManager.xmlPK-!$wc"theme/theme/theme1.xmlPK-! ѐ'h theme/theme/_rels/themeManager.xml.relsPK]c : +eL1 +PK!B?&EFR\Ǡ~of=t0] r`6*4";jiGe0_jpSUt|:R^+!XI "raDs9/`ց- gX9sPK0CV*j c%HlKLͻ[}/i(\'~R%e`yQh{ȼ}w% mB-e8Sb0c,XOm02^񧢲 ,2H-Rs(XR[Xo`xy9(I/b|Fy^;5>B>*9D.lps{+w^,zd`",ȍbgnRx5Mu)|{ I5IoZH!IY p\0agItx0C"D@ʹ(1~7hOŵ;i覱ko @(xrZY%+)#2$B+%jX̣m_gsWnL($]uaTqw{9$PɌ)x6#7j±;'exhRa8mtt'9jy- j6x :.vzRz1$xNfg&PϻvG,Aώ 6շ|AnXmm-JG73)}J:Ev8EEg]x$er۔:lϩ 0-:7"yiK05۱V]yn0jp1' j2 /:U(y&!(J}\X+QicgywVg'vH@MX&BM[?Ul\+`B;edcoEAe,r?)e2 \ˤBf1u}W uFwV!]+$"MTƷ:-WR̋j<}7%VYq'MB"d\}k=_W/r…E[Sy#ZaOub=yŤ):y{ὂ^^A.{x=WkWFG|G_!T4#^!?ziGjFٮHn/7*!J%&xhLFzoPK-!M[Content_Types].xmlPK-!p8ܾ8 ._rels/.relsPK-!K<`!drs/slideLayouts/slideLayout1.xmlPK(PK!M[Content_Types].xml|N0 EHC-jaj; +,Kq:=ig ,?ϵYD&oDzCwO-gkcg$./XQ{jsԈHt䒦AFP0skfx(壓8?.C(ũ{R(Mb˳7{-IF#{_R'dK0FFjr'"&@_'PK!p8ܾ8 _rels/.rels 0Dnz x%ٶ6 (тqLݾQ(NAU ioo'tGHL m^W16 AJMȅ8a22~`Or[;,lij@搛}YMGBh ]pϔ{J Loc!"rPK!zΖh !drs/slideLayouts/slideLayout1.xmlWr8ߙ} abwfݟ4ͬAl`}=[{qtI'{& ;Iq}||3HH)/[xGV{q[5O|R˔ѨN2VmY1wRT_8J%x:*h.f/ eI$T:˫ڱUC*jИ]Ա#&X%K1h]6 `'m;9v.a%;u`痰%v0JMj$Uw4eucăISWx͒R=荶dnqIb 5~ |wcvfv+3wELOp3Ij嘇x|ү? #ywdz㏧np1rⴣiۧ{ M6[=)=5Jr3z_zdwOW Noцgt(/zs/0%|f3>M68!{MP;MѺ"`E(-ϴ7 YpigH%u/NPK-!M[Content_Types].xmlPK-!p8ܾ8 ._rels/.relsPK-!zΖh !drs/slideLayouts/slideLayout1.xmlPKIp|PK!M[Content_Types].xml|N0 EHC-jaj; +,Kq:=ig ,?ϵYD&oDzCwO-gkcg$./XQ{jsԈHt䒦AFP0skfx(壓8?.C(ũ{R(Mb˳7{-IF#{_R'dK0FFjr'"&@_'PK!p8ܾ8 _rels/.rels 0Dnz x%ٶ6 (тqLݾQ(NAU ioo'tGHL m^W16 AJMȅ8a22~`Or[;,lij@搛}YMGBh ]pϔ{J Loc!"rPK!I!drs/slideLayouts/slideLayout1.xmlRN0#-&x^VjqvCl^@=gg;,WѬV*gS9SV^n9 lYVʮ> :"#HyOTyeW84{#v>*G=^wEQI(T"ʇ_QG_7g= kⓈ`CmhhPK-!M[Content_Types].xmlPK-!p8ܾ8 ._rels/.relsPK-!I!drs/slideLayouts/slideLayout1.xmlPK`PK!M[Content_Types].xml|N0 EHC-jaj; +,Kq:=ig ,?ϵYD&oDzCwO-gkcg$./XQ{jsԈHt䒦AFP0skfx(壓8?.C(ũ{R(Mb˳7{-IF#{_R'dK0FFjr'"&@_'PK!p8ܾ8 _rels/.rels 0Dnz x%ٶ6 (тqLݾQ(NAU ioo'tGHL m^W16 AJMȅ8a22~`Or[;,lij@搛}YMGBh ]pϔ{J Loc!"rPK!u!drs/slideLayouts/slideLayout1.xmlSMo0 to0 F>.m,d&*Kz%Ћ,O|Ov1Dl%+)*h{g)"m81㇍/i`t$*(jx$Psb_0 )tJB +EP@BMAU j.ˡIդ97ɇE.s) Xg?SB4'zߊqS2#{͢k$sJ@l %Hss Q5Z= rM"ay 0!m?_1'}P!o3o0}S9n@4:<PK-!M[Content_Types].xmlPK-!p8ܾ8 ._rels/.relsPK-!u!drs/slideLayouts/slideLayout1.xmlPK7PPK!M[Content_Types].xml|N0 EHC-jaj; +,Kq:=ig ,?ϵYD&oDzCwO-gkcg$./XQ{jsԈHt䒦AFP0skfx(壓8?.C(ũ{R(Mb˳7{-IF#{_R'dK0FFjr'"&@_'PK!p8ܾ8 _rels/.rels 0Dnz x%ٶ6 (тqLݾQ(NAU ioo'tGHL m^W16 AJMȅ8a22~`Or[;,lij@搛}YMGBh ]pϔ{J Loc!"rPK!XJH!!drs/slideLayouts/slideLayout1.xmlX]6}}h`n_fgFLM1 LZ ~_|iWΖ:bzE"\ܯ"ש5)+3wk.{c6s3x0(+.Zi^b]8J ̗ue)ІDilUJhhIz_UvWXmdY`%1f ~YE ||fz*X3Y`тo+O6 2썂)Ћ@0`:]20ddP$)E ʁC"G ^p?g^{n }= ݷXqӞ".fG֩]X-+R5 &Q'ZBQ6#/-r5#G`/-r5$ Hi"WCi{.iv4ٝ>__dFVVY_Lm3?6LAhEz7GCfJM@n̽j/z{մKFeN2Jv[1?nڕ;9on^75T30ěa&+V=n qh+pg#uW}PK-!M[Content_Types].xmlPK-!p8ܾ8 ._rels/.relsPK-!XJH!!drs/slideLayouts/slideLayout1.xmlPK@gPK!M[Content_Types].xml|N0 EHC-jaj; +,Kq:=ig ,?ϵYD&oDzCwO-gkcg$./XQ{jsԈHt䒦AFP0skfx(壓8?.C(ũ{R(Mb˳7{-IF#{_R'dK0FFjr'"&@_'PK!p8ܾ8 _rels/.rels 0Dnz x%ٶ6 (тqLݾQ(NAU ioo'tGHL m^W16 AJMȅ8a22~`Or[;,lij@搛}YMGBh ]pϔ{J Loc!"rPK! W4 !drs/slideLayouts/slideLayout1.xmlWr0}LA66x̔6}Ʌ)[ȒGRw%[3yY::=]JU>H 8FJ&8%Ur˰KR]dRd+m3"FkʎYv:vCRӺW׬&pbW4v~gk?=> +ěEi> ۾6?*lmizLސꮶ>tMة >mLWtpUOfq4 PK-!M[Content_Types].xmlPK-!p8ܾ8 ._rels/.relsPK-! W4 !drs/slideLayouts/slideLayout1.xmlPK0fPK!M[Content_Types].xml|N0 EHC-jaj; +,Kq:=ig ,?ϵYD&oDzCwO-gkcg$./XQ{jsԈHt䒦AFP0skfx(壓8?.C(ũ{R(Mb˳7{-IF#{_R'dK0FFjr'"&@_'PK!p8ܾ8 _rels/.rels 0Dnz x%ٶ6 (тqLݾQ(NAU ioo'tGHL m^W16 AJMȅ8a22~`Or[;,lij@搛}YMGBh ]pϔ{J Loc!"rPK![=?3 !drs/slideLayouts/slideLayout1.xml[o0';XyoI%*=t-@Tljl>ItTBc$wB46/8nÀI-,׫q2~3 u\g\Z**{10M8X;WkYp{[VRlY;5*xk)y0/h6؊ |31 l̤ 񧶚)INo~jVMgi.bXt]_$n`qx*zSvX;#iR仪=ߝug;%YXWt ?=ia35CՇ>1m G"n(|$I6&0{%- Jjt2QH)ᩲnv z"ZwRL.cE m6WDO0O857/34aPԸ&*̕Lfcu07,l$: HxwJloF!8T(_K6{ u&EN)tԚ_%k;s-VbXˠ;lat v#T?]٥Kq1YE>DK]M0)ބo&(̧Pl?g]l)J&xAaQn-g2v2(ֈgϴ!Q~'ہ,jfqy21=y 'A()LPP95dXب/WTMX(*޼0_()Y0 +d 9=%j ~a)!CȫȾRڨVYQQ Gijw:6_9]LVR3,d+Ψ 3׵t_}<\ONӹrsnk;x7ޓzSC*:Q4d!'/:0BϓwfPK-!M[Content_Types].xmlPK-!p8ܾ8 ._rels/.relsPK-!,pU!drs/slideLayouts/slideLayout1.xmlPK#PK!M[Content_Types].xml|N0 EHC-jaj; +,Kq:=ig ,?ϵYD&oDzCwO-gkcg$./XQ{jsԈHt䒦AFP0skfx(壓8?.C(ũ{R(Mb˳7{-IF#{_R'dK0FFjr'"&@_'PK!p8ܾ8 _rels/.rels 0Dnz x%ٶ6 (тqLݾQ(NAU ioo'tGHL m^W16 AJMȅ8a22~`Or[;,lij@搛}YMGBh ]pϔ{J Loc!"rPK!Bq!drs/slideLayouts/slideLayout1.xmln0Wwo EI*mpCi'A5Ʋ6yMH]BIf~}h8u+At9 e[b^цVEpd:^~2-={C!tAY.wL@ߦU 5a`7<'4lh-?^}d|%ޖ qj`zWKGhR1 ;QB6Ć` k^Ahxul1 /%rnH]! B쫀0x $Z6YiB" hZ;;a?4)X-]F8!SV.۶|D'+9#^S4|뷒C_I4HM'I<{KeqNd8ڡeaꈪ>ÿu\9rfMh+S&.P1BEyg 1-aUmՆ)bш" 8LT+7d03ѯ?wiڻ?90JQa~ܰhEwl) K.ku,Dp`w]&6iS >R`A`ub0Md R7x1eF{"?\̣oO{quGCg58ol,8BST/zyXPK-!M[Content_Types].xmlPK-!p8ܾ8 ._rels/.relsPK-!Bq!drs/slideLayouts/slideLayout1.xmlPKD @1_GDC08 sponsor session template: ` `~\7` `~\f7>?" dd@ ? d@333-`8 |?" dd@  #" $  @n?" dd@  @@``PR     ` p> >  #PK!(b[Content_Types].xmln0 EAkP }l} m $_tI$svs^챐KkH$Q -G$oo1# ɩ5 J# \Qg0?0omRo?Y8 Jm i|TX+N3tr@9>?4 ΠMfrAsѺo_p?yjŝ & Xg3PK!*8 _rels/.rels 0DnzЃXmlo0of5OIw AN{cݠv=m 838yG 6U} ShLq`L)d=Ҍ\@.;3, ;$e͂): vq}j:zɥ'k茜(f,ƁXA6\m>PK!ɣ^#!drs/slideMasters/slideMaster1.xmlr0;xt͇a0$N9dJҞF=HC^ǾDOuזfhJ'9VoGܺcR} A< '7ÚG,P %StM?^r,0!TduҫU0gU'qMcQ _> xi494 8XDL̈djx|5[Kc-Lt# BY>;n'WҢ|8>ZX1U`_lj>]ںi_h=' ~ՃO\F1x*)drAl!fb/d%,Lؔwؓh`4kFC3|tKZPA:i%xI`NbDF} 0d܊ | CY)AL"S$8 6II:pl䋤Z?`*@;-?U7U#k*4uv(f8rQ-V<ߡfۭƠ,K,(PK-!(b[Content_Types].xmlPK-!*8 *_rels/.relsPK-!ɣ^#!drs/slideMasters/slideMaster1.xmlPK  ((     hX&` ?Rectangle 50"ÈPK!Zf[Content_Types].xmlMO &2WR=cJ`F0iK`#̼vLw 9uSq:w`G ^i ½KI)c/ $oVjTMRc|}042ҥCƔM̏P~*ka/8^DkHbL8e i"K\XN\6rco4y@_;oPK!1_a _rels/.relsj0 ѽqCNo^K [ILcX&m߾0XFo;>0xM e`|X}đ I`߽N4aG2$RKIZ)4(M9`ctB{m:f@`3n|O,ܗr޾jxR0T ,0@}WBLǬ5vPK!M#drs/shapexml.xmlUMo9 /AеH=pI=x #N{h4j _%EjD|͗mkZ`c!FjR~z8I"` ֡.N?nq0JA-t 4^| ~>#D EQ\Z0(o*\ϺgK}[O0u))0BK!"sŰ)8 =$ @uAAnPb =<$tr jY)'oߞ qM#<4bWŐXoPGct1&gƙagC[! ҄$jgM`?Z/`KYQ! Ǵxj0!*҂;[@mnWKšP__XE06T|J7 I4 R{W8@EGZ߯:P-/>hC(dy7VΚeقPH6aCRi%fg"jP&7lߣU5<Jc=Y,Wi&3KiRD!x"tվ}BfI,YR,;N"?%<Ғy$rG75l3,*t<}X/fEzWe&ZVZݽ/ (CLTh|yEi-Z"ݧű-iZR͆ ;rBOڿ PK!fdrs/downrev.xmlDAK0!M+(Z7qA*xil&5no {z;AXA@7N@qpL  ݜnN؉P>Ʊ24=Y +7ubL8%uJSC#=|VAYU:R4ݼqa˥J]^Hs~k Q{ oOot!WܒiPK-!Zf[Content_Types].xmlPK-!1_a /_rels/.relsPK-!M#*drs/shapexml.xmlPK-!f{drs/downrev.xmlPK}B:2___PPT9  R0K2    A??Intel_whitePicture 44Intel_white6jiH   hZ&ee?Rectangle 48"PK!Zf[Content_Types].xmlMO &2WR=cJ`F0iK`#̼vLw 9uSq:w`G ^i ½KI)c/ $oVjTMRc|}042ҥCƔM̏P~*ka/8^DkHbL8e i"K\XN\6rco4y@_;oPK!1_a _rels/.relsj0 ѽqCNo^K [ILcX&m߾0XFo;>0xM e`|X}đ I`߽N4aG2$RKIZ)4(M9`ctB{m:f@`3n|O,ܗr޾jxR0T ,0@}WBLǬ5vPK! drs/shapexml.xmlV]6}`bIBÔv%BpR;j0\sϽw846EpY~~^&dɄ}Yeﴛwsؼ[8/>DeS M+QGx᠗lK3\`?/[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!iGh"theme/theme/theme1.xmlYmO6^!+~nm+ݵʛx79'rόlB wd2yf<|-Tt#K=HLsƿ^_ƑuBBZN[i~q2Yk{,q\u|p`ƻUi h!P^orP\Ǒl;lUj[JK3,*% ZDHY:YKkр}֚rLt#q\3(7矚fH{zOy̠}|a#Dtg^b}Ioo͹cL~8oG>3y|~:>93OƽQ2=nj2 ˪T?>|}t8sDž7"R' ,o 4s|HnVr%7iRSKzICŒ:\?@]Y*Wjn|gP[M<5FOG[c2bo7ޟ &Bɔ ` y5%D6cDvǨA XC`;mG$ =&H-F (ȰsT:8ƃq%+% QzGB'xm2o0^ܩLC_P4ps ,nhj%vBu)-7NE~jc.OP=inڰ`1y_us]yPU&rK)2ٳ3T9Skz޹qO7Sv=)mLDj9L) u#"i\BU'skra> N||ˌ(K֯./RՂQO{)o8=2@I].u-SCdQ: M3EVamB/vm(dZլ3ĥW=09Dqb.ֿ$j^$ _#K4NDkgiv!hq61~欫_{ڃFd(HE\~@ϰG(`+A!\=F ~_("7)f%2 dF~9ˤ,wzQ%Js!]mW\l\.~`Ԏ! !Ʃ\]Bw .ygN<"_Sm0`KNkӑ o">|{aCNXω TX.ZhrӐ;ަUʟDd W[r ĦyHa 9o\yכ"/9ۮx'-_FQu^FecɯQDtQW8)?Y.yupC-LI%5"ѝnʰw)N@ê]E+3τg {@hSR> }_ / Km}akk]RQe[Y F`[]"Q4ߡܥ]v6Ϟ. {/hOc\}b_Z6 FQEA@{Oix2 <@AǁpOAtGvQ1y}}X\'>ir%MGkKJK#Z<5 T>y'PK! ѐ'theme/theme/_rels/themeManager.xml.relsM 0wooӺ&݈Э5 6?$Q ,.aic21h:qm@RN;d`o7gK(M&$R(.1r'JЊT8V"AȻHu}|$b{P8g/]QAsم(#L[PK-![Content_Types].xmlPK-!֧6 +_rels/.relsPK-!kytheme/theme/themeManager.xmlPK-!iGh"theme/theme/theme1.xmlPK-! ѐ'm theme/theme/_rels/themeManager.xml.relsPK]h : +1 +PK!B?&EFR\Ǡ~of=t0] r`6*v!drs/slideLayouts/slideLayout1.xmlU]o }#mYI[/5L1b@@vnIۋl qc%I~%KF4!QYQ$';nO3]ZQ]ҝ8 iK:OjtռXi.RfV>ie㴥L||Z5Slr":֍6&d>%i'xBB0' P"d)% >Hv?^[2[C#I/aS" Dʴ- نI[GXdYV߼oD8~ShcESdd3g F}y1R'KBu^#1F=לVOu7l9W9hCzlH=Y4GIqdR^~2ɲKg-uKN1*p0LKԉ"v!drs/slideLayouts/slideLayout1.xmlPK @2_GDC08 sponsor session template`D# 000(  9   `@GrArA?Rectangle 2"PK!Zf[Content_Types].xmlMO &2WR=cJ`F0iK`#̼vLw 9uSq:w`G ^i ½KI)c/ $oVjTMRc|}042ҥCƔM̏P~*ka/8^DkHbL8e i"K\XN\6rco4y@_;oPK!1_a _rels/.relsj0 ѽqCNo^K [ILcX&m߾0XFo;>0xM e`|X}đ I`߽N4aG2$RKIZ)4(M9`ctB{m:f@`3n|O,ܗr޾jxR0T ,0@}WBLǬ5vPK!drs/shapexml.xmlU[o6 ~ uɥɒ=hl@VMLrE c;BQ֥G2{>*IvxelEٕx X+\qU%RaQzx3QUn2Φ 3E'ևYrI` HD|sM qimAǶ{ 'b>u INrbB\ )a_[31HQ5d63*F4#i,t1q0Հ_2(!#yX-I{3]а1>Cm}ƹZ'':!FpZ4I\cgC=mZ-?\|Ϊ< 4߁8KWQRl|N9Q/FQ_PK-!Zf[Content_Types].xmlPK-!1_a /_rels/.relsPK-!*drs/shapexml.xmlPK-!yАdrs/downrev.xmlPK*R  0:2___PPT9  R  U9   ``GrArA?Rectangle 3"PK!Zf[Content_Types].xmlMO &2WR=cJ`F0iK`#̼vLw 9uSq:w`G ^i ½KI)c/ $oVjTMRc|}042ҥCƔM̏P~*ka/8^DkHbL8e i"K\XN\6rco4y@_;oPK!1_a _rels/.relsj0 ѽqCNo^K [ILcX&m߾0XFo;>0xM e`|X}đ I`߽N4aG2$RKIZ)4(M9`ctB{m:f@`3n|O,ܗr޾jxR0T ,0@}WBLǬ5vPK!}drs/shapexml.xmlU[o6 ~ uI$K-ֳY4=3m˵Y$9t0,˃CE?[-ʇƚL> Pec^3j.E`J֨LTn[' :F BQA]e} _y1P#oѕٮʓTU|Nux8rf Y:ge/#Q&=s2D"h}i6LL 8!cmi3/J)$B jÜW&Y_ XyK&kKs7l^Y8w9i%\u`UU I8[ܫk#ax?ڼ{eϳw뷓i^3Ad1f 7nGSUrӵMkks&kXc'e`%}n%)6ӝJm! ސ?u~W"]7tDzn孭H&|ii'EBVR>YXV긔niz:r\y*(/ʗ`@ Ģ~x{'V >(ݱZs "|(B?+gSEkPK!|ndrs/downrev.xmlDKk1p ՌEFBK&.ty8VL7`d +S ~>MFa1a*dtC"!)羨IؖLJ4]ťKkGI2jliUSql]'KWNLJn,Pnfs0o52C zQ6PK-!Zf[Content_Types].xmlPK-!1_a /_rels/.relsPK-!}*drs/shapexml.xmlPK-!|ndrs/downrev.xmlPK *R 0:2___PPT9  R  U  H ?Rectangle 4v  0(   `@GrArA?Rectangle 5"PK!Zf[Content_Types].xmlMO &2WR=cJ`F0iK`#̼vLw 9uSq:w`G ^i ½KI)c/ $oVjTMRc|}042ҥCƔM̏P~*ka/8^DkHbL8e i"K\XN\6rco4y@_;oPK!1_a _rels/.relsj0 ѽqCNo^K [ILcX&m߾0XFo;>0xM e`|X}đ I`߽N4aG2$RKIZ)4(M9`ctB{m:f@`3n|O,ܗr޾jxR0T ,0@}WBLǬ5vPK!9kAdrs/shapexml.xmlXn6} :dٱ*E,70{ hPFю`/鹤ieu P彇KuJڦ4:ѫ.gRg&/eߟ 9kйPF˔Ȇ9f\|\=tl!+Ѽ2Ԙ+ëV6R;Q:q;TjVO-Բ2Oy?iQa3!K%YwZB ɮ6Xr+'a0mZdaOsnZs"oc݅)R/7@6-ur$Ny]C fw&ztpնS IwsIy ˵cq,~S4}؂Tj[W &CdsU∙*G1G c$4Mˢ@z۰D"G A ͯjja-gV@ Zr~(_}І393ߜ(.3xM, Pw2SMȐr!nS3[Z~?)@NTfcKHռ֧󩄝18@9  u8eq.3Q$.XK1GC[hPmu;%TPK}@XSSg̱Ső,Sx8,c[`Ηʞ=~xT_NzZ=Cc r6$Є4 lUY_+N{g8G=LlyJ̏8_ ZC(hp?W]'SqSc%\u=oC-e.>i*s}:SqЄ}A-'mInڱ'RisguʼnJK …XCe.k6&m)ҿ񆓲cchI8b}Ov׍stU3$g;Iߊ$_D~ *H~j[~uuX؉ZKϴ[e4˝VkOX 6a~~CCokۊYNO_LX/mǷPK!YV,drs/downrev.xmlDKK@aBwvBNKm( Jfi\p[oG@wX`d*+;8FLa[c&4ab|s_mO&vuC-µ$Yq-o.Z@ӥej.b0%? EWNR@X:YD(Eo~PK-!Zf[Content_Types].xmlPK-!1_a /_rels/.relsPK-!9kA*drs/shapexml.xmlPK-!YV,drs/downrev.xmlPK Y? 0 RClick to edit Master text styles Second level Third level Fourth level Fifth level!     SM   fGrArA?Rectangle 6"PK!Zf[Content_Types].xmlMO &2WR=cJ`F0iK`#̼vLw 9uSq:w`G ^i ½KI)c/ $oVjTMRc|}042ҥCƔM̏P~*ka/8^DkHbL8e i"K\XN\6rco4y@_;oPK!1_a _rels/.relsj0 ѽqCNo^K [ILcX&m߾0XFo;>0xM e`|X}đ I`߽N4aG2$RKIZ)4(M9`ctB{m:f@`3n|O,ܗr޾jxR0T ,0@}WBLǬ5vPK!˶Jdrs/shapexml.xmlUn6}/ Zdm'v|*$hgDE)R%)_qh!99s[v6C)-\K&>?\̤l YɃ }lxنE:v1V U*/֫l3 h+oДݮە'xܮe&'k),4I(q-ZcMRza!1t5zS޻] ~"R"ZDYEdf|T>jGhF-WuC6`|sn8dU@C&gdz9!,P( <g!*1^ 0HH!~Vl< ec"9F.C$JO.ȝuژs=׌er>ANr1Y/J-Y%6IeΫ ǨυEQ;WAXN'{0DοJ-g0&$Ivͽ3V` \$G\Q񹦅 Ey+/%5'r9%Ȉ q84Τmm͈ I#Egtz5cTJ4F8G莘8j/IX@mCſG.|L oXr6r9J>Nn{:#tق3GAB[(@Ɲ=OU4sM|0c#RF=UG-і+@tno:1gRً49"OLˤE'fznݚ%)6 Ke! j^,FxIM/.sɄ/͓4*%O拞b4}z09q(1\ud9UP _/E6z\1|P\lOk?4BAE}Oo88{7PK!"udrs/downrev.xmlDK0p\S!ʬk뚛dm|9|oL+:򡱬`<@V7\)x[]Yck(b~|4\۞Wԭc%C ].e(k2Fnk'i$˦`FG5(xq}|_:ɯNOk?.])_ԃVp1LAl7z!Wl9PK-!Zf[Content_Types].xmlPK-!1_a /_rels/.relsPK-!˶J*drs/shapexml.xmlPK-!"udrs/downrev.xmlPK@R  0:2___PPT9  R  U   fGrArA?Rectangle 7"icPK!Zf[Content_Types].xmlMO &2WR=cJ`F0iK`#̼vLw 9uSq:w`G ^i ½KI)c/ $oVjTMRc|}042ҥCƔM̏P~*ka/8^DkHbL8e i"K\XN\6rco4y@_;oPK!1_a _rels/.relsj0 ѽqCNo^K [ILcX&m߾0XFo;>0xM e`|X}đ I`߽N4aG2$RKIZ)4(M9`ctB{m:f@`3n|O,ܗr޾jxR0T ,0@}WBLǬ5vPK!l? drs/shapexml.xmlVMo6 x-c9Up#ζgZb5?RR(m}GpǛwZ2:7ΤMQ里M8s^B(ewv&Y򍬅{cqV[ GotR{V_J U$ۥeU,L^d J;xC䏮" Š E$C4 Kkn#E5gH KaSm[#_OKt98[~6,$DO옲d =d|2MY@$frY`:B$ 9"!Ku4'bd( yR)}tu3U>Tf1y {Q(#@X%Gԧ‚5_@ESErwB`*Pc8Yn8jəId2[|xHanQ_B簚5gQ{A@ ylsKf:9tMHP)rEBhYS|s#JaKPqu3\`?/[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!tH`2theme/theme/theme1.xmlYOo5#?MFT6mθloҽ( 7J\ʧ Axgv,It#egzA!/DҐh;K #xJ\*& A>Je++2a,/07" ^E2&lQ$Jqdo4$hITI=2פI F"v@+WWF`1Fi 2n !_潽ݫ92&|Z-odtD >^)=9 Zwzގ'YZ 6[ހbFI ]1gVө_,.,_ٴnyL#7i%lOcY ypf \}HU܏qvIGe\¡ WLaW2H7Cᜌv"s,552kfVfULT >,skB'+ \Hn…[4B\$c<"eՍX1g} j&$ݕ% iSncR79YAkg` [xL2f\Jذ?5lA9W%: X64T,՜U0E)`#5hC0cR}גu3mg_Rʧ~<:BC6ܯCQ "͔_Xqۦa8/:ELps̛#V)Q U02hB|m\CbhLhAP]v| rmY:# B,;X=߻,ɂ(G\Y䐰kzoP nI^ dy #Րks|l2R~6 MaZ~cכ*'m֕"+MιڊUҸZ^,k (GEozC~O l /i8AL5mjQ 0,>͙ŋ4vnavl'SA8hć]2%M0pg$hn PK! ѐ'theme/theme/_rels/themeManager.xml.relsM 0wooӺ&݈Э5 6?$Q ,.aic21h:qm@RN;d`o7gK(M&$R(.1r'JЊT8V"AȻHu}|$b{P8g/]QAsم(#L[PK-![Content_Types].xmlPK-!֧6 +_rels/.relsPK-!kytheme/theme/themeManager.xmlPK-!tH`2theme/theme/theme1.xmlPK-! ѐ'e theme/theme/_rels/themeManager.xml.relsPK]` : 'PK!(b[Content_Types].xmln0 EAkP }l} m $_tI$svs^챐KkH$Q -G$oo1# ɩ5 J# \Qg0?0omRo?Y8 Jm i|TX+N3tr@9>?4 ΠMfrAsѺo_p?yjŝ & Xg3PK!*8 _rels/.rels 0DnzЃXmlo0of5OIw AN{cݠv=m 838yG 6U} ShLq`L)d=Ҍ\@.;3, ;$e͂): vq}j:zɥ'k茜(f,ƁXA6\m>PK!1!drs/slideMasters/slideMaster1.xmlKn0z",$WYMX,!%kw;=ZOZ4@MJg l%rtPYWj򏷳3cA %RO߾9k'v}c7R!@Kkۉ癬5Ӧ F`^3 WCx篟EMv_ eA`qZ>%Z0`JSZ^ep+hkM`"Wo皁\j3meQQ}\lM]{gm>#{,. жgÛ/ NhGλU>t !ގlnܾiݴ A:ԕ#β֋󇉀ۻZvdq+@ خ Lk@נSh4R9KIS,P'M|x0S8$t}>L3ܠ|z? ֎p'a 8!/#{{֎pO8Qlj ?_7aw(Oenaq؏"J]}#Z];,58sCDKF9 .@*8J<2CUJ'Ш'( ]+V R( D4/ 4 Gf;4zOPK-!(b[Content_Types].xmlPK-!*8 *_rels/.relsPK-!1!drs/slideMasters/slideMaster1.xmlPK% (  [   x@^&?Rectangle 9 0 9Optimizing Game Architectures with Task-based Parallelism::"9  U   z`_&?Rectangle 10 `   0 )Brad Werth Intel Senior Software Engineer**  * @` `~\7y___PPT10Y+D=' = @B +"%R (     x@u?Rectangle 2ddd  0 P*Parallelism in games is no longer optional +u   x@?Rectangle 3d0  0 IThe unending quest for realism in games is causing game content and gameplay to become increasingly complex. More complicated scenes + more complicated behavior = increased computation. CPUs and GPUs are no longer competing on clock speed, but on degree of parallelism. High-end games require threading. You can't go home again.J J J @` `~\780___PPT10. 6"%R  (  ,   x?Rectangle 2ddd  0 `:Threaded architectures for games are challenging to design ;   x&?Rectangle 3d  0 @Techniques for threading individual computations/systems are well-known, but... the techniques often have inefficient interactions. games rely on middleware to provide some functionality  more potential conflict. the moment-to-moment workload can change dramatically. the variety of CPU topologies complicates tuning. Task-based parallelism is a viable way out of this mess. But first, let's gaze into the abyss...*P a   @` `~\7___PPT10i.Pwk+D=' = @B +"s%R TT//T(  r   x 4+?Rectangle 2ddd  0 A threaded game architecture  full of pain and oversubscription A    ~@5+?Rectangle 4"PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!KOdrs/downrev.xmlDN0EHC4HCnţʦ b=8vb;wtb5i |k Y ڊ4ޫ׋;H|@#PYCa<=Y`.hv4I"91_Kg'uCaZ,MLckĞ%]yJձ'Fusxrn9?? 4x._T!8dW,7O׊@CDݨ lPK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!KOdrs/downrev.xmlPK !H$@ 0 $Particles array could be partitioned. One-off jobs run on "job threads". Physics threads are created by middleware. Sound mixing is on a dedicated thread. Bones/skinning is a Directed Acyclic Graph.  @`x P`P C *Group 46"`PP P P *C *Group 12"P Pb , n 'G0*p?AutoShape 11 P 2  b - n@'G0*p?AutoShape 10p  2  b . l`'G0*p?AutoShape 9 0 2  b / l'G0*p?AutoShape 8P  2   + N'p?Text Box 31"@P`4 g Particles 2   *x `@ P C *Group 47"`@ Pb & r 'Gx p?AutoShape 5@ p 2  b ' r@'Gx p?AutoShape 6p@ ` 2  b ( r`'Gx p?AutoShape 7`@ P 2   ) N'p?Text Box 32"@` 4 bJobs 2   x `@P C *Group 48"`@P  h'p?Rectangle 18"@ 2    h'p?Rectangle 20"@ P@ 2    h 'p?Rectangle 21"@ `P 2    h@'p?Rectangle 22"@`P 2    h =+p?Rectangle 23"@ 2    h=+p?Rectangle 24"@P@ 2  B   ^p?Line 25 @B ! ^p?Line 26B " ^p?Line 27PB # ^p?Line 28B $ ^p?Line 29P % N:+p?Text Box 33"@P`4 cBones 2  x  pP  C *Group 49"p P b  t'Gx p?AutoShape 13    2  b  t 'Gx p?AutoShape 14  p  2  b  t@'Gx p?AutoShape 15 p `  2  b  t`'Gx p?AutoShape 17 ` P  2    N'p?Text Box 34"@PpD  ePhysics 2  ex p  C *Group 50"p b  t'Gp?AutoShape 16   2    N'p?Text Box 35"@p D  cSound 2  B   ^p?Line 36"PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!]Zdrs/downrev.xmlD]K0p޹j~ du7&IJߛ ˗gLFA;+v#8m'|,D{gIlֳVҝ:v,PPqE d:o0&;.=Ӹye%7mzP8NQs?vط}[K!X){) [E}|{-"y)&:_PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!]Zdrs/downrev.xmlPK ,$@   N8+p?Text Box 37#"@PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!U drs/downrev.xmlDN0EH5HC Q VUT!&!nX,`yuՙ-z݈A% VU@87S>QX{X//f){6[vb|Fem&KGeuB9u#IJM%*9w'p]OWu?ۯx}/Aۤ+Q/ aI)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!#cadrs/downrev.xmlDN0EH5HCKV`7ЦW\ɬ8P;׃ kjDdt[H"̦g,?%V\qD sWJ,ƁȥnEN1R<&m0 iѸ`G UշU=n ?zxgFno8W򢿿xZ,_ԋV0 F/12I0&UPK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!#cadrs/downrev.xmlPKPP,$@ 2     N@x&p?Text Box 39#"@PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!Odrs/downrev.xmlDN0EH5HCQ VUT!&!nX,`yuՙ-z݈A% VU@87S>QX{X//f){6[vb|Fem&KGeuB9u#IJM%*9w'p]OWu?ۯx}/Aۤ+Q/ a|N& çԖ|`nT9PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!Odrs/downrev.xmlPK@ `,$ ^#? 2     b@;+p?AutoShape 40"PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!3(drs/downrev.xmlDN0EH5HCD4ԭxn*@4&Vc;C= X^ݫsu&޶H!2*l7/7w "zG a6`ɭZ$%*hRX5d1|G.u{,r:)m+YVHƥ;zj:ǘpW;7r~˹RW=ϯe+QZp4.~~W$t*PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!3(drs/downrev.xmlPKp ,$@ 2    b'p?AutoShape 41"PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!;FH%drs/downrev.xmlDN0EH5HCV`7xlӦW\ɬ8ƱArp`~Yc(lz~6R#/鰊H%*hbJ)CՐ0pqv[)ZjfY!-N vP_}[!phވ&J]^w "I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!:drs/downrev.xmlDN0EH5HCVUPW}4 vӔb{tFt|e &2n|FfJn !ƧPЦRdM~`[61;Y)R9Dn0IFRSebCI-g%xvl7]܇g/E}(%?_RkBQPK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!:drs/downrev.xmlPK @@ ,$  a@$#!! 2  r  b'p?AutoShape 43"PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!"drs/downrev.xmlDN0DHHܨCQVP[*m7El$)_ŁG3z7_ap9ʀNi[ x=\LVa, 8PdrPK PY0r-ԕ)+},M5tW~{='/Ze[)p{,s/POJjOfk HI7_PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!"drs/downrev.xmlPKp ,$D 2    N 'p?Text Box 44#"@PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!drs/downrev.xmlDn0ET8()!$+e=C&#ۄ__,ѹ:Yj֒u0ҙ˷10QK&=9M&Hs[jw>g] s LC:tgcmΥk( K lhQPV.J؍U?,j}sIW^P+)`A'[-:OV@ݠ |PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!drs/downrev.xmlPK@ `,$ ]? 2     N@'p?Text Box 45#"@PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!=%drs/downrev.xmlDMO@E&3q'S4Xy$* gvf7̗nE G 6U) d0…=,Wsʔ=m(EBBI鋊5h+rtpIRSmCE+.I#Loc$jN߈7D!=}+Q arcǗ˧UN>CQ7\PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!=%drs/downrev.xmlPK@ ` ,$  g ? + ? = ??? 2    `~\7kc___PPT10C.`+oO(xD' = @B D' = @BA?%,( < +O%,( < +Df' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*&%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<* %(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<* %(D' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*&I%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<* %(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<* %(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<* %(Df' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*It%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =%(Du' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*t%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*%(Df' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*%(++0+  ++0+  ++0+  ++0+  ++0+ ++0+ ++0+ ++0+ ++0+ +"%R   (   6   x&?Rectangle 2ddd  0 jDTasks are an efficient method for handling all of this parallel work Ei   x3+?Rectangle 3?d`  0 'With a task scheduler, and with all of this work decomposed into tasks, then... one thread pool can process all work. oversubscription will be avoided by using the same threads for all parallel work. the game will scale well to different core topologies without painful tuning. Tasks can do it!,P  ( ( @` `~\7___PPT10i..>+D=' = @B +"?"%P } u @$] (  $ $  x`&?Rectangle 2ddd  0 O)Task-based parallelism is agile threading * $  x?Rectangle 3"PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!ZV>drs/downrev.xmlDj1E^Y :5J !:J0ӭ%Xh5vΒ'جǣ=),Al(PBc_p ɦHpLlmzhmCf$0Uջ}yenR o" <%dK/]ϋoKHI7_PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!ZV>drs/downrev.xmlPK  0 H$@ 0 A thread is... run on the OS. able to be pre-empted. expected to wait on events. most efficient with some oversubscription. optimized for a specific core topology., |(  @` $  x&?Rectangle 4"PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!~drs/downrev.xmlDAn0Ezk*uWfhɐ G68=VXgg ND#xݹVBz ;pK/NyZ!.(4Ɛ8}r -/n{^1; aٝRBWVM?v+$>hLVzWM̊s\ c !_nVPK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!~drs/downrev.xmlPK q d0 H$D 0 !A task is... run on a thread pool. run to completion. heavily penalized for blocking. efficient by avoiding oversubscription. able to adapt to any number of threads/cores.,  ~.  @` `~\7B:___PPT10.@P+n]D' = @B D' = @BA?%,( < +O%,( < +D' =%(Dh' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*$%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*$ #%(D' =%(Dh' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*$5%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*$#6%(D' =%(Dh' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*$5Q%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*$6V%(D' =%(Dh' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*$Q|%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*$V~%(D' =%(Dh' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*$|%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*$~%(+"b@%T ,,`(p,(  (' (  x`@.?Rectangle 4ddd  0 [5Tasks are the uninterrupted portions of threaded work 6b ( rA.GDp?AutoShape 60  2  b ( rB.G>p?AutoShape 8p  2  B ( \p?Line 9p ( `D.p?Text Box 10"@  hTexture Lookup  B ( ^p?Line 11PB ( dp?Line 12PpB  ( ^p?Line 13@   ( `G.p?Text Box 15"@# jData Parallelism    ( `I.p?Text Box 16"@0 d Processing     ( ` J.p?Text Box 17"@0>D _Setup  b  ( t&G p?AutoShape 32"PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!Ȯ<drs/downrev.xmlDQK0Co.]9!C7 *:ķ-675 >7[M+zr`Cu]&/k2G#:!FWIᦕiLC-k*?o`w:}>yېRgǻ[z/Q+Ho~=\79Q0FUPK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!Ȯ<drs/downrev.xmlPK@  ,$@ 2  b ( t`&GSp?AutoShape 33"PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!9\drs/downrev.xmlDQK0C/ҭXk]6 eӁ{6wmI$v7sr= 伲F|#SYL-:5$`" iOfK.,B/P@BWp4htxpEd\2vZ@Ln=*}b 4qy_$,m XNN-@N@QPK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!9\drs/downrev.xmlPK0@ ,$@ 2  b ( t@&G p?AutoShape 34"PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!‚drs/downrev.xmlDQK0Co.ݘseCn$vݿ7slћFt|mYp .Tx52)8lGRRDT!Ƞؖ8v ])cFd" *liYQ۴a{>e9BWJ]^w zd/I+7cijE)Q7PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!‚drs/downrev.xmlPKp ,$@ 2  b ( tL.G p?AutoShape 35"PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!adrs/downrev.xmlDQK0Co.pseCn$vݿ7slћFt|mYp .Tx52)8lGRRDT!Ƞؖ8v ])cFd" *liYQkir|rޅlՍWJ]^w zd/I+7cijE)Q7PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!adrs/downrev.xmlPK0p  ,$@ 2  b ( t M.G p?AutoShape 36"PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!D-drs/downrev.xmlDQK0Co.:!C7 *:ķ-675[ >7[r`I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!lmdrs/downrev.xmlDN0DHuQU_ u+mBMˆ%#b;ئI XftFgt|e F2h$֐tc%Mp,PǛEmQ:fNU2G Q7_^PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!lmdrs/downrev.xmlPK0 ,$@ 2  b ( t`O.G p?AutoShape 38"PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK! :drs/downrev.xmlDN0Dkvz(M[JU@H586Xบ՛yM2=9q-nJ"lWElIPI:ơ44 37y#c>}K 7=3Fv67h9Vc) W#k Q7H뷯/E=(Xz|:sȂY7]PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-! :drs/downrev.xmlPK0 ,$D 2   `~\7RJ___PPT10*.0h+H]Dv' = @B D1' = @BA?%,( < +O%,( < +Dh' =%(D' =%(D8' =A@BB BB0B%(D' =1:Bvisible*o3>+B#style.visibility<* (%(D' =-g6B fade*<3<* (D8' =A@BB BB0B%(D' =1:Bvisible*o3>+B#style.visibility<*(%(D' =-g6B fade*<3<*(D8' =A@BB BB0B%(D' =1:Bvisible*o3>+B#style.visibility<*(%(D' =-g6B fade*<3<*(D8' =A@BB BB0B%(D' =1:Bvisible*o3>+B#style.visibility<*(%(D' =-g6B fade*<3<*(D8' =A@BB BB0B%(D' =1:Bvisible*o3>+B#style.visibility<*(%(D' =-g6B fade*<3<*(D8' =A@BB BB0B%(D' =1:Bvisible*o3>+B#style.visibility<*(%(D' =-g6B fade*<3<*(D8' =A@BB BB0B%(D' =1:Bvisible*o3>+B#style.visibility<*(%(D' =-g6B fade*<3<*(++0+ ( ++0+( ++0+( ++0+( ++0+( ++0+( ++0+( +"n%V vDnD,VD(  ,b , t`1G p?AutoShape 13"PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!Sdrs/downrev.xmlDQK0Co.!C7 *:ķ-675] >7_9_[V0% k.>\܀Ycc a8=c푷>EUm*/*2G%:!FWJᦑ$J5LJ [ZUT|F=~{w![wk[?||LLfd [􁜂(u*PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!Sdrs/downrev.xmlPK0 ` ,$@ 2  b , t1GSp?AutoShape 15"PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!BSdrs/downrev.xmlDQK0C/%Xl A/ ۵kM&k}QXCF^]_-1SbvC" %T!羨HږLi 1+ rTQc'z>f<7X!S%aH"vOW@NBQPK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!BSdrs/downrev.xmlPK P  ,$@ 2   ,  x1?Rectangle 2ddd  0 Q+Tasks can be arranged in a dependency graph ,B , \p?Line 5p , ^1p?Text Box 6"@  hTexture Lookup  B , bp?Line 8PpB , \p?Line 9@   , ` 1p?Text Box 10"@# jData Parallelism    , `@1p?Text Box 11"@0 d Processing     , ``1p?Text Box 12"@0>D _Setup  b  , t1G p?AutoShape 14"PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!v&drs/downrev.xmlDQK0Co.puِV]sĮ >7=9XVp9J@V7\)x{2)8d{^S_JD !tɠَ8v; ]%}VI25v*~{br ބ||,:?@x:_ԓVN&I b:l]9Q0FU#PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!v&drs/downrev.xmlPK ` p,$@ 2  b  , t1G p?AutoShape 16"PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!7_9_[Vp9J@V\*x{}2)rqz2T#oC)"} TJ_TdЏlKuC1M#I2k̿=~{w![wk[?||LgWd[􁜂(u*PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!=drs/downrev.xmlDQK0Co.u!C7 *:ķ-675] >7_9_[Vp9J@V\*x{}2)rqz2T#oC)"} TJ_TdЏlKuC1M#I2k̿{jjI)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!fdrs/downrev.xmlDQO0M5M:7)DI08ŷzYvmy<9'7_a'rF8F6;`>XC\.KۙNP1>G*6ܗ4m`tEn$IR6AaK+Eqs6{۬fC7-]_50n$vX_@N@QPK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!fdrs/downrev.xmlPK @ ,$@ 2  b , t&G p?AutoShape 19"PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!Hdrs/downrev.xmlDJ1E&PiBE(v wdtIl3op˽Yّ|蜕0`d:JؿlnVa,I)jy~Rѱ-JcJC`l9+ 7= 1;4|F«XI#Z?OlHw"?޾ǿ$̊B;TC$/! fݬ |PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!Hdrs/downrev.xmlPK  ,$@ 2  B ,  *&BpC8DEFQRUVWp?( 84dp@   pp8Freeform 20"PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!ǡ+drs/downrev.xmlDN0DHH\uREҺ*B)\mmb6iXบ՛yd{1ƱYqpm|"DdcRpKNH%*bJ)Cӑ0sqʎ[O n{g\Z4:hQY[ԎlsW9K(u}5=.@Ds: Q[ /,?V7z!WnRPK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!ǡ+drs/downrev.xmlPK P ,$@ 2  b , t1G p?AutoShape 21@   2  b , t1GSp?AutoShape 220@  2  b , t1G p?AutoShape 23p  2  b , t1G p?AutoShape 240p   2  b , t1G p?AutoShape 250p  2  b , t 1G p?AutoShape 260  2  b , t@1G p?AutoShape 270  2  B , ^p?Line 28"PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!@\drs/downrev.xmlDj@p ݔ:ѫHXj_3$ 3}gQpy8|ukqg+kQMnUe d0֫%evc(D1>#2&%k#۰:M!JWH娋㺖$JM%5Ur~;aO|Inlk__D><0)vJv)F:?PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!@\drs/downrev.xmlPKp pp ,$@B , ^p?Line 29"PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!Htdrs/downrev.xmlDj@p ݔ:US"b\hu\L; -VŕAHG 6U)߯3>QT[{X-)ۙ=_qLJɏl&z4(]!.ZCjL|(ᯒC{ؽΩnvWVn_܇{QI)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!q (drs/downrev.xmlDMK@aM6v[ BzfI0;v7MeyfztPg,E\zpeTL[d` >*%S cY8>8LCmA,{ 5vVSs읁Mwߧ)^ޘۛq *ј|v:0& I PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!q (drs/downrev.xmlPKp p ,$@B , ^p?Line 31P `~\7))___PPT10).0h+٬D&' = @B D%' = @BA?%,( < +O%,( < +D%' =%(DM' =%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*,%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*,%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<* ,%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*,%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*,%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<* ,%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*,%(D<' =A@BBBB0B%()?)?D' =.K7 BBBBB]M 0.04584 -0.28333 L -3.33333E-6 -2.22222E-6 *3>*B ppt_xB ppt_y=@0BBAApBBB><*,D<' =A@BBBB0B%()?)?D' =.K7 BBBBB]M -0.00834 -0.28333 L 3.33333E-6 -2.22222E-6 *3>*B ppt_xB ppt_y=@0BBAApBB;B><*,D:' =A@BBBB0B%()?)?D' =.I7 BBBBB[M -0.04167 -0.32778 L 3.33333E-6 2.22222E-6 *3>*B ppt_xB ppt_y=@0BBAApBB<B}'><* ,D4' =A@BBBB0B%()?)?D{' =.C7 BBBBBUM 0.08333 -0.25 L 3.33333E-6 1.11022E-16 *3>*B ppt_xB ppt_y=@0BBAApBB*B><*,D<' =A@BBBB0B%()?)?D' =.K7 BBBBB]M -0.04167 -0.28333 L 3.33333E-6 -2.22222E-6 *3>*B ppt_xB ppt_y=@0BBAApBB<B><*,D:' =A@BBBB0B%()?)?D' =.I7 BBBBB[M 0.09166 -0.20555 L 3.33333E-6 -4.44444E-6 *3>*B ppt_xB ppt_y=@0BBAApBB;B(}=<* ,D:' =A@BBBB0B%()?)?D' =.I7 BBBBB[M 0.04166 -0.28333 L 3.33333E-6 -2.22222E-6 *3>*B ppt_xB ppt_y=@0BBAApBBB><*,DY ' =%(Dh' =A@BB BB0B%()))D' =1:Bvisible*o3>+B#style.visibility<*,%(D' =-g6B fade*<3<*,D+' =4@BB BB%(D' =1:Bvisible*o3>+B#style.visibility<*,%(D' =-g6B fade*<3<*,D+' =4@BB BB%(D' =1:Bvisible*o3>+B#style.visibility<*,%(D' =-g6B fade*<3<*,D+' =4@BB BB%(D' =1:Bvisible*o3>+B#style.visibility<*,%(D' =-g6B fade*<3<*,+H+0+, ++0+, ++0+, ++0+, ++0+ , ++0+ , ++0+ , ++0+ , ++0+, ++0+, ++0+, ++0+, ++0+, ++0+, ++0+, +"N%W *4"40 4(  0b 0 t`1GDp?AutoShape 28"PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!drs/downrev.xmlDj@EaxBwub"B.3L8;^iř|hU0% ȖN7R~Vc,)R|4\йJD 9*\Pd0\G6v r%M+$ɤƇ;ZT?`ez=eWMg\$J=;;7ԧVN'a}Fo00yQ0FUPK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!drs/downrev.xmlPKP@,$D  2  b 0 t1GDp?AutoShape 29"PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!drs/downrev.xmlDj@EaxBwub "n Fy&Lyj]˽˙/Ӊ:`:I@nm߼Vc,)xPb4BѭZD *hBP5d0L\O6v' r=M'$ɥƇ{Z7T˫Q*ݪ3:0Raiw e<q>; L^AQPK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!drs/downrev.xmlPK ,$@ 2  b 0 tN.GDp?AutoShape 30"PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!&drs/downrev.xmlDAK@ahR RM{4;MtwlA|9^)γI~* 3RfҹF% "Cu[r'~ Nbh xIp< @XUv ~54S؋T1w(x+Q@>Ίqs=n1 I0&UЋPK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!&drs/downrev.xmlPK,$@ 2  b 0 t1GDp?AutoShape 31"PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!+Fdrs/downrev.xmlDj@Eax:1`ZSGAl7v<`f&μj]^̗iŕ|hU0' ȖN7Rpo_AFu)r1xcZp%"Ć].e(k2Ʈ#9F_Iᦕid`cCk*ŏQ2ݪu`.F~x}>?ԻVΦi{?F00yQ0FU_PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!+Fdrs/downrev.xmlPK@0 ,$@ 2  ! 0  x1?Rectangle 4ddd  0 U/Dependency graph can be mapped to a thread pool 0 0  z`02?Rectangle 32"PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!~drs/downrev.xmlDj0EBwTCMF %MI"< ˉ5-HJ}ErùLؕ|h2ȖN7}= Ypav7躍K P&az);;o0W\{%x&D 665Ӣ^RB?jگqsZO;HC>c{l_ԷM^'yZ^O C$/! &ݤ |PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!~drs/downrev.xmlPK@ 5H$  0 Lots of work means lots of tasks which fill in the gaps in the thread pool. The decomposition of tasks and mapping to threads is the job of the task scheduler.   @`uB 0  *12BpC8DEFQRUVWp?( 84dp@   pp8Freeform 17"PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!a drs/downrev.xmlDN0DHH\ujEB  RS.ܖxuM=8fFol/F8Vp3@7Nn@wL N`:?[bݑw4ֱ ¡D]C)eh:fn Ny1EJ඗y-EÁ65U6w՘/꽤R=HSWo_/ b^oAӻ7z!WnRPK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!a drs/downrev.xmlPK  2  b  0 t22G p?AutoShape 18  2  b  0 t32GSp?AutoShape 19 2  b  0 t42G p?AutoShape 20@ 0  2  b  0 t62G p?AutoShape 21P @ 2  b  0 t 72G p?AutoShape 22  2  b 0 t@82G p?AutoShape 23  2  b 0 t`92G p?AutoShape 24p 2  gB 0 ^p?Line 25"PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!e drs/downrev.xmlDj@p DhQD9&031w.rZ<t`[Uzٍ | ^,)S3'~C!!!4>/YۆMi QB*G]׵$LjL|(mϹ|{jg+]o@&bx쇻ԉ|`"aPK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!e drs/downrev.xmlPK000gB 0 ^p?Line 26"PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!}(drs/downrev.xmlDj@p h("Epm̙031w.rݛZ<ʲ8A[]qzٍ |@X[&yX^_iP8>CeM&K2Ƕ!:!JWH㦖i̤C mKέQɧqOalkz7_ ? t1KAS"aPK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!}(drs/downrev.xmlPK0 @0hB 0 ^p?Line 27"PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!uodrs/downrev.xmlDMK@aM-6vZ BzfI0v'M݃Ymۨ+X{0dԮD||;F9f}{zRsBD\XTl)N|.y,I&PmgYЖj*jYm1ys}x7l_A kr\+B#style.visibility<*0%(D6' =A@BB BB0B%(D' =-g6B fade*<3<*0D' =1:Bhidden*o3>+B#style.visibility<*0%(D)' =4@BB BB%(D' =-g6B fade*<3<*0D' =1:Bhidden*o3>+B#style.visibility<*0%(D)' =4@BB BB%(D' =-g6B fade*<3<*0D' =1:Bhidden*o3>+B#style.visibility<*0%(DP ' =%(D8' =A@BB BB0B%(D' =1:Bvisible*o3>+B#style.visibility<*0%(D' =-g6B fade*<3<*0D8' =A@BB BB0B%(D' =1:Bvisible*o3>+B#style.visibility<*0%(D' =-g6B fade*<3<*0D8' =A@BB BB0B%(D' =1:Bvisible*o3>+B#style.visibility<*0%(D' =-g6B fade*<3<*0D8' =A@BB BB0B%(D' =1:Bvisible*o3>+B#style.visibility<*0%(D' =-g6B fade*<3<*0DA' =%(D' =%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*0L%(DA' =%(D' =%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*0L%(+P+0+0 ++0+0 ++0+0 ++0+0 ++0+0 ++0+0 +"% Z 4m(  40 4  x'?Rectangle 2ddd  0 d>Task schedulers have similar ingredients but different flavors ? 4  x1?Rectangle 3d  0 1Cilk scheduler has been extremely influential. Most have task queues per thread to avoid contention (often multiple queues per thread). Cache-aware distribution of work is a key performance feature. Most prevent direct manipulation of queues. The APIs vary in some ways: Constructive schedulers define tasks a priori. Reductive schedulers subdivide tasks in flight. Event-driven schedulers trigger off of I/O. Computation schedulers are triggered manually.   @` `~\7___PPT10i.<+D=' = @B +"q% \ `X8@(  89 8  z1?Rectangle 12ddd  0 kEThreading Building Blocks is Intel's Open Source task-based scheduler F 8  z1?Rectangle 13d  0 @TBB is a reductive, computation scheduler designed to... be cross-platform (Windows*, OS X*, Linux, XBox360*). simplify data parallelism coding. provide scalability and high performance. TBB has a high-level API for easy parallelism, low-level API for control. API is not so low-level that it exposes threads or queues.,9  A A @`; 8 V@p?Rectangle 14"@@2 A*Other names and brands may be claimed as the property of others.$BZ0 ZB  B  `~\7___PPT10i.K+D=' = @B +"~% ] me<M(  <  <  x =2?Rectangle 7ddd  0 AEnough! Let's look at code  <  x@>2?Rectangle 8d  0 4This talk shows code solutions to threaded game architecture problems. Common threading patterns in games are decomposed into tasks, using the TBB API. The code is available: http://software.intel.com/file/14997   @` `~\7___PPT10i.r@!Y(+D=' = @B +"w%  ~v @^(  @l @  x`?2?Rectangle 6ddd  0 zStart with the easy stuff  turn independent loops into tasks >x @  xp5?Rectangle 7Ed@ 0 LThe TBB high-level API provides parallel_for(). Behold, the humble for loop:M M  M @`2 @ Lq5p?Text Box 9"@ @  Ffor(int i = 0; i < ELEMENT_MAX; ++i) { doSomethingWith(element[i]); }GGG G  `~\7___PPT10i.UR+D=' = @B +"7%  >6@D(  D8 D  x`v5?Rectangle 2ddd  0 lFUsing parallel_for() is a 2-step process; step 1 is objectify the loop G D Ls5p?Text Box 7"@PJ class DoSomethingContext { void operator()( const tbb::blocked_range &range ) { for(int i = range.begin(); i != range.end(); ++i) { doSomethingWith(element[i]); } } }G   `~\7___PPT10i.s+D=' = @B +"4% W%O%` H$(  H1 H  x t5?Rectangle 2ddd  0 e?parallel_for() step 2: invoke the objectified loop with a range @C H Lu5p?Text Box 4"@P* Wtbb::parallel_for( tbb::blocked_range(0, ELEMENT_MAX), *pDoSomethingContext );XXG X  H ^L&A??Picture 2"PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK! 9drs/downrev.xmlDOj@zQhUL@ >`v61w?ft(ֳ4E\yrms3 so|j%!s4ФZǪ!q{b>8LCmNϳE;lYl2Ov(߇(YWc+DcV/3,^PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-! 9drs/downrev.xmlPK ,$@ H XnA??Picture 2"PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!Cdrs/downrev.xmlDO[k0~eEDa0CstkN$ߛǏX gv`6@N\)xMAqL ~)j9Y`]ot>J*014d1L]K/-}%>FYv/-֜ 1TOV鶟Ͻ{nD!?$ryPK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!Cdrs/downrev.xmlPK0 ,$@ H Dy5?TextBox 7"PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!e)drs/downrev.xmlLOK1G!&.ڴTkA(}nB7LbqxH1$N0rW;`)S8xGΔ`c=+js5d1M| WX\sTv3nѸ1Гކn~Y5&X#KeFUr_Mn}F0eJ`-PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!e)drs/downrev.xmlPK Z T ,$ g Particles  &   H p?6Straight Arrow Connector 9#"@PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!n .drs/downrev.xmlDOk0?7E4]V`zZ{3^ӊ:XV6I@V7\)85IGu.җ5#waWI-VI! 6jtYSy_! vltmP,@¿y:Mg'PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!n .drs/downrev.xmlPK  ,$@ H p?8Straight Arrow Connector 13#"@PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!2Udrs/downrev.xmlDOKk@ GKJ@Zuِ]M݂m>,VŅZ_9V0' +._ 5֎I<uIc(E aBJ C5đ;b-nᶖ$y+ Z*~g ȯW~)dYӷR D>7w9?PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!2Udrs/downrev.xmlPK~ ,$D  H p?6Straight Arrow Connector 9#"@PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!drs/downrev.xmlDOKk@)RꦖHWyȎIhv6d1;Ǐ=Vle"ν0ux~"33ϼ %!24PdZ$abNu-%z$#bi(UIHh>mo[ .<> H}k+UgWPK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!drs/downrev.xmlPK y ,$D  H  z }5?Rectangle 19"PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!ydrs/downrev.xmlDAk1FCbWAJf]$Ku =޴J>4J0Ӎ$Xh5Β;X.Os̵YE]Xؐ:.<5 #בMN_qniƎ>k*ϻ@JMUZW"soZ޳1~V"y )0& | PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!ydrs/downrev.xmlPK jdH$ 0 HFor more general task decomposition problems, we need a low-level API...I I I @`?`HHHH H `~\7___PPT10.` +oz"D' = @B D ' = @BA?%,( < +O%,( < +DY' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*H%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*H%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*H%(DL' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*H%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*H%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<* H%(DA' =%(D' =%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<* HI%(+p+0+H ++0+ H +"%) |tL4(  L8 L  x 3?Rectangle 2ddd  0 lFTBB low-level API: work trees with blocking calls and/or continuations Gr L f@3p?AutoShape 7#"@PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!G drs/downrev.xmlDQK0Co.]ˆ(`)o 67%[ >÷\8V0d + 7 ^_/ !"kW'K,;؈P6ƾ2T-Y vbL7R{<&de3ipzhۖU0cVc|u6ۻ+u~6\4bNfW6ZA~u9.@ԏ7z!WnRPK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!G drs/downrev.xmlPK /,$D >Root  R L f`3p?AutoShape 8#"@PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!~drs/downrev.xmlD]K1EC7*VM/uL7M$7A\l1ؖ(D㝀FNze\#`y:w$HˋV*5,C\PN8R8}r W -/[4./hI^Xo'}9SۦN!)DC.d3+ϨW%Ygrj|ɺYPK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!~drs/downrev.xmlPK0  ,$D >Task  B L \p?Line 9"PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!udrs/downrev.xmlDj@pnNVHXZfI0s'LLE[mӈ;9_[Vą5 ߟ56IH6LJ|)"QABK鋊 mw`ҕR;id$o`–>**n(sI~wwrwJ=MD!_ZA6yRxq>DH@PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!udrs/downrev.xmlPK 0 0 0 ,$@B L ^p?Line 10"PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!gP drs/downrev.xmlDMK@aMc v[ BzfI0;v'M݃YGת x60eKo |}߿lL&^]_-~]R4±@HWh˚ƙw$*miܵ:ϲ'PcGo5?ؔ>n]z7ތWPB@xxsPt =` S"LtWPK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!gP drs/downrev.xmlPK 0 0 ,$@  L n@3GyH[%p?AutoShape 11"PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!vUdrs/downrev.xmlDMO@E&3q'3F@c$ ]{tmc#3#7ى|謑0 `dj:H}BD$\(b~}5Rٳi &(ѕ%adS W { 5v&=hR'-sS쫷}." \qR|C$/! &ݤ |PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!vUdrs/downrev.xmlPK p ,$D  >More  B L h`3p?AutoShape 12#"@PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!Gdrs/downrev.xmlDN0DHuQPJ uZUӲ`7_GI,G3:ݳ %*:j7K`KR7&tY_^d̙8aB.ZsW)vZmÕ=Od(>rK ^(wߎE.U>x{*_^ HwXJ۩t(u*PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!Gdrs/downrev.xmlPK`  ,$@  BCallback  B  L ^p?Line 13"PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!_.-drs/downrev.xmlDj@pnJjUP, m_3$ 3}gQpy8|Mkqg+k&ܪ?_o >QT[{جV)ۙ#OqLJɏm&zW4(]!.ZI!5U&>gjm> ebմE|%}x !nJv)F:?PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!_.-drs/downrev.xmlPK  ,$D   L n3p?AutoShape 14#"@PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!W!,drs/downrev.xmlDN0DHH\P`PB rܗxvd{,pz&rF2F3{ȁF` I8b9T%JhC }ݒF#ԝRt WY;Z鹥uQrOB\/O?6W^q VN} '! &ݤ |PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!W!,drs/downrev.xmlPK  p,$D  F Spawn & Wait  B  L ^p?Line 16"PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!vdrs/downrev.xmlDMK@aMc vZ BzfI0;v7M݃eyfz,R:H~*DCF8zu}¸A|9J%BPl)\ǒfg-}!m,{ҖIj[MwߧmS0^fܼI)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!~kdrs/downrev.xmlDj@aB7NLmHXZ_3$43fnLE-׽ō|U0$ NWPpz^Vc,)(z5zXb]gt;r! *(Lʐd0L\C6zW rcM-$y+Jl賤O!Y+w]|`okenW"aPK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!~kdrs/downrev.xmlPK P ,$Dr  L n5p?AutoShape 19#"@PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!.drs/downrev.xmlDQK0Co.* I։}k`$ۺoa>;|hzqbIm㔶-Dd2…W7K*;-؊ .ơ24 7MyC1EJগ,{M qS BO~b1zjTw c/>kkP|OAk#$TA~PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!.drs/downrev.xmlPK w/,$D >Root  R L h5p?AutoShape 20#"@PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!,drs/downrev.xmlDMK1EBCxw6өX6-"? Tk: $C;S./r.glNNtR#'2:w$L֫+{Wi!.V(@UGb\>XL9}ۖEq-4vtIw_V7׾x)^lSwa/VphHύL_ԓP^FY0fUPK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!,drs/downrev.xmlPK0  ,$D >Task  B L dp?Line 21"PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!O;Vdrs/downrev.xmlDN0EH5HC3tZRE4 416MxQ},Vĉ}"2l+*e *OeE &ƾ2T  3׳MyC1I_KiH㦓,{M pՖ?[;D1By1}{v"{ĔPK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!O;Vdrs/downrev.xmlPK   0 ,$@B L ^p?Line 22"PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!drs/downrev.xmlDj@p ݔ:Qc[GB.폙c̄I޾(o|Ukqg+kƣܪ(a=O ʔ̞P8b|FeM&KGauBQu-'I!5U&>wju> elUm"9}xۿ aN?)fJv)F:?PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!drs/downrev.xmlPK   ,$@ L n`5GH[%p?AutoShape 23"PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!qdrs/downrev.xmlDN0DHVbG6VPQBK6q6MX,`9 ;QLa2vy4kHMore   L h5p?AutoShape 26#"@PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!%Gdrs/downrev.xmlDMK1E!<[ǦE Eq$8I${|ǹ,Vm؅B4 xI9)l#EX-ooX*߹-]vfbtJmy,Ƒobg em(ErƖ֚lG&~k_FX>?O] O'I^_ `c fݬ | PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!%Gdrs/downrev.xmlPKPP @,$@ ?Spawn  B L dp?Line 28"PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!`:-:drs/downrev.xmlDN0 HCd$n,e eH;nB4^8UaGYb5VX$A\:mRpد BD:&#X-kEDpQAcKʚ,ŘF_IOpi=IӇ;l_X|mњR7+HC_`:{x%aM2Lv PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!`:-:drs/downrev.xmlPK  ,$DB L dp?Line 29"PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!hMdrs/downrev.xmlDN0EH5HR u+@袛RwCI)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!r]*drs/downrev.xmlDMK1E!<8ێMF u: cL2opQ{9\ְ3p?)Ԯq́ńNaZb%}vtާe P)Vd1N|K.w',Ce>íeQWait  B L  $5BCDEFQRUVWp?0H`0`@  0Freeform 31"PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!Hdrs/downrev.xmlDQK0Co.+S*ow]S$5[ >7_{sr`8Dd2‘,'s*;؊ulEPq( fCa:o([<2ϲ4i{ͮ6Ϲ̚f#wZFI)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!!drs/downrev.xmlDJ1،Pش tak6 $Cnloo[mF׋ EW8@tUp~{X`<)f}{Ƅwt٧V *) -9iTdl˸嬪a˃Ł^-)pds ƗgkzT Nc9QTP aPK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!!drs/downrev.xmlPKPP,$@B L ^)?Line 33"PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!!#?drs/downrev.xmlDJ@0IcԒvZ >fN3KL흅-Vř"w)N ;*}@pB\aZ`6tަV5*0)ZJn Y䲷b2RGeYOb@/dܱ}Ucy}3qJތ9DcߵzxA.?DQAfʄPK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!!#?drs/downrev.xmlPK ,$@B L  $5BCDEFQRUVWp?@ `@ @  @@Freeform 34"PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!iBdrs/downrev.xmlDQK0Co.ueCD"ޮ][m-p/؁p=Inu+`yI)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!]drs/downrev.xmlDn0DE8@TPA>v)/I؎lA|٫d]a0F:5Й~<I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!eCdrs/downrev.xmlDN0EH5HC uRyt]4 ǖ)_;:|0ɇƲQJ~Ycg\(|v}5B3oJ$1BPd0#Nz19M'Y( 6jtl' }9 e+վ " y_ԛV0z`$TA~PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!eCdrs/downrev.xmlPK ,$ mContinuations go up 2  B L ^p?Line 40"PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!.?drs/downrev.xmlDN0EH5HCN+De>$4&&٦I/X^ݗ|9V,(tJ a{{"YEp՜ z6V"PBcWHʚ &伡ԧqI)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!&_"drs/downrev.xmlDN0EH5HC: Pwxvd&{@byu_:`Zqf )m+Dd2…,Ws*X4bCAu]!e(k6FcbSM+Y6M5uRsl z_}#Wfx~yBOiⴾV =BbJPK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!&_"drs/downrev.xmlPK  ,$DB L ^p?Line 42"PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!M}drs/downrev.xmlDN0EH5HC: Pwxvd&{@byu_:`Zqf )m+Dd2…,Ws*X4bCAu]!e(k6FcbSM+Y6M5uRsl gvz_}#Wfx~yB瓇iⴾV =BbJPK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!M}drs/downrev.xmlPK  @,$Dr L h3p?AutoShape 43#"@PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!-drs/downrev.xmlDN0DHHܨCmu+*-m7El&[ۉ=`+8d + 7 ^_ !"kG ,;؈P6ƾ2T-Y vbL7R{<$de3ipzhۖݷU0cVc|u֛+uz2\4Eb>OoC$ &ݤ rPK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!-drs/downrev.xmlPKw/,$D >Root  / LL `~\7@?___PPT10?. T +syDe<' = @B D <' = @BA?%,( < +O%,( < +DA' =%(D' =%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*L%(D' =%(D' =%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*L%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*L%(D' =%(Du' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*L%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*L%(D4' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<* L%(D4' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<* L%(DA' =%(D' =%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<* L%(D' =%(Du' =%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*L%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<* L%(D' =%(Du' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*L%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*L%(D' =%(Du' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*L%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*L%(DA' =%(D' =%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*L%(D' =%(Du' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*L%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<* L%(D4' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*L%(D4' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*L%(D' =%(D' =%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*L%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*L%(D' =%(Du' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*L%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*L%(D4' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*L%(D4' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*L%(D4' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*L%(DA' =%(D' =%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*L%(D' =%(Du' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*L%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*L%(+H+0+L ++0+L ++0+L ++0+L ++0+ L ++0+ L ++0+L ++0+L ++0+L ++0+L ++0+L ++0+L ++0+L ++0+L ++0+L +"`%* OGP/(  P) P  x3?Rectangle 6ddd  0 ]7Work trees can implement common game threading patterns 8 P  x3?Rectangle 7d  0 pThe TBB low-level API creates and processes trees of work  each node is a task. Work trees of tasks can be made to process: Callbacks Promises Synchronized callbacks Long, low priority operations Directed acyclic graph We'll look at how these patterns can be decomposed into tasks using the TBB low-level API.@Q , `[ 9 9 @` `~\7___PPT10i.Ua+D=' = @B +"%, T~(  T@ T  z9?Rectangle 28ddd  0 rLCallbacks  send it off and never wait ' T  z@9?Rectangle 31?d`  0 Callbacks are function pointers executed on another thread. Execution begins immediately. No waiting on individual callbacks - can wait in aggregate.   @`3 T b 9?Rectangle 33  5void doCallback(FunctionPointer fFunc, void *pParam);(6Z 6g 6 `~\7___PPT10i.+D=' = @B +"B%- ,,Xk,(  X X ZA?p?Picture 62"@` ' X b`9?Rectangle 13_o )void doCallback(FunctionPointer fCallback, void *pParam) { // allocation with "placement new" syntax CallbackTask *pCallbackTask = new( s_pCallbackRoot->allocate_additional_child_of( *s_pCallbackRoot ) ) CallbackTask(fCallback, pParam); s_pCallbackRoot->spawn(*pCallbackTask); }(*Z *g *  X  z9?Rectangle 41ddd  0 =Code and tree: Callback  x p` XC *Group 61"`pr  X n3p?AutoShape 44"@ ? >Root  R  X h3p?AutoShape 45"@ @ >Task  B X dp?Line 46P 0P @B X ^p?Line 47P P  X n5GH[%p?AutoShape 48  >More  B X hr5p?AutoShape 49"@p  BCallback  B X ^p?Line 50  X h5p?AutoShape 51"@p`P ?Spawn  B X  X5BPCPDE4FQ.RUVWp? X@@Pp0(`PPPP@    `PPPPFreeform 52 @ 2  B X dp?Line 53 0@B X dp?Line 54p0" X b9p?AutoShape 55#"@PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!!Wdrs/downrev.xmlLj1ECxnJ8Z>E*.s N! ]./r.g:M#.va8@-ҶBZ=YFrfJre+ 6PRfCaZ;:o(+/C!I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!Adrs/downrev.xmlLAk10/f]Zbj/q7I$ox|Miĕ}"SV߇Dd52gS*쎯X :ƶ25 CײMyC1E_IKp<Ґi5 js^t_";}{n==Ods܎^!]m29PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!Adrs/downrev.xmlPK  0p ,$D P  " X b9p?AutoShape 57#"@PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!pV%drs/downrev.xmlLJ1EL26-Xԝn{&34Iӿ7./r.g]' zV0 79 vI"W ?mjDpPAR_IuKĹ0i2u,r~hDٍ}qDۛ~hL>d_^@__ DAA˶PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!pV%drs/downrev.xmlPK 0 @P ,$@ P  "  X b9p?AutoShape 58#"@PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!h"adrs/downrev.xmlLJ1E!7 1!< EX&K?]jDpPAR_IuKĹ;0i3u,th9?cK{wr voǧzG:4 zX?H4>tW^\ ϗ`c el rPK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!h"adrs/downrev.xmlPK 0  ,$D P  "  X b9p?AutoShape 59#"@PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!drs/downrev.xmlDN0DHk+qAIPUU.mmj#ۤcqhFoѓc,A\9rv"Dd1))j9Z`݅wc-C RP5d1\Gc%E=H-;4TVA=W_$|F~iy97(w Nѷz!Wm2PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!drs/downrev.xmlPK   ,$@  P  "  X b@~5p?AutoShape 60#"@PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!drs/downrev.xmlDMO0DHV₨*ԭ pmoP{&M=8fFo=:V2ĕ- >?^n BDh]xG>"A8+ UCuĩ;9o1k=^YdكrzhMCymsEohGk'?Ǜ_z b~:}w"y/&SPK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!drs/downrev.xmlPK0 @P ,$D  P  X `~\7___PPT10d.0@+D' = @B D' = @BA?%,( < +O%,( < +D' =%(D' =%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*X%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*X%(D' =%(D' =%(D' =A@BBBB0B%(D' =1:Bhidden*o3>+B#style.visibility<*X%(D' =A@BBBB0B%(D' =1:Bhidden*o3>+B#style.visibility<*X%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*X%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<* X%(D' =%(D' =%(D' =A@BBBB0B%(D' =1:Bhidden*o3>+B#style.visibility<*X%(D' =A@BBBB0B%(D' =1:Bhidden*o3>+B#style.visibility<* X%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<* X%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<* X%(+0+0+X ++0+X ++0+X ++0+X ++0+X ++0+X ++0+ X ++0+ X ++0+ X ++0+ X +"% \y(  \$ \  x9?Rectangle 4ddd  0 X2Callbacks are simple and powerful, but have limits 3 \  x9?Rectangle 5?d`  0 INo waiting! Callbacks are run on demand. No waiting? Callback has to report its own completion. No waiting?! Need special case code to run on 1-core system. If this is a deal-breaker, there are other options..., 6   @` `~\7___PPT10i.0Pp]+D=' = @B +"%s  `(  `6 `  z9?Rectangle 21ddd  0 hBPromises  come back for it later "! `  z`9?Rectangle 38d  0 SPromises are an evolution of Callbacks. Like Callbacks: Promises are function pointers executed on another thread. Execution begins immediately. Unlike Callbacks: Promises provide a method for efficient waiting.49 Z 1  @`j x 0 `C *Group 40"0 ` h:p?AutoShape 20"@@0 0 APromise  r ` f:p?AutoShape 4"@Pg  >Root  R ` f:p?AutoShape 5"@z o >Task  B  ` dp?Line 10 0 B  ` ^p?Line 11 `   ` n:GH[%p?AutoShape 12pP  >More    ` h:p?AutoShape 13"@0` ?Spawn    ` h :p?AutoShape 15"@ >Wait  B ` h@:p?AutoShape 17"@0 BCallback  B ` ^p?Line 18B `  X`9BPCPDE4FQ.RUVWp? X@@Pp0(`PPPP@    `PPPPFreeform 19`P  2  B `  >@9BCDE(FQ&RUVWp?  A+aS@   Freeform 22 0 2   ` N :p?Text Box 39"@ ` z 8Promise *doPromise(FunctionPointer fFunc, void *pParam);(9Z 9g`  ` `~\7___PPT10i.0j+D=' = @B +"9%t ##@ d#(  d d ZA?p?Picture 18"@ @P*  d N@9p?Text Box 10"@ void doPromise(FunctionPointer fCallback, void *pParam, Promise *pPromise) { // allocation with "placement new" syntax tbb::task *pParentTask = new( tbb::task::allocate_root() ) tbb::empty_task(); pPromise->setRoot(pParentTask); PromiseTask *pPromiseTask = new( pParentTask->allocate_child() ) PromiseTask(fCallback, pParam, pPromise); pParentTask->set_ref_count(2); pParentTask->spawn(*pPromiseTask); }(Z gM. 1E  d  x9?Rectangle 9ddd  0 BCode and tree: Promise setup " d b@5p?AutoShape 12#"@PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK! edrs/downrev.xmlLj1ECxnJ(cQbuQm7='ϙ$3 r/r6B! rU ~Wil#W0=>Lоs; b j涐25YߒKb%m(ޤEC-}Tg Vб7i} ?*/A0o|V0Gq}=wl) PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-! edrs/downrev.xmlPK  0 ,$@ P  " d b9p?AutoShape 13#"@PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!:drs/downrev.xmlLj1ECx7fEkEP9y'ɐ<(./r.gl-nN Wxm\yNc)SiHsTP17b\>XC)u6m-Y6K6VA,éeo˲|vfT[`a|/PZx4AS0z)(H~6PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!:drs/downrev.xmlPK  @` ,$D P  " d b9p?AutoShape 14#"@PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!b[&drs/downrev.xmlLN1E&CLHB&Fݰ{uh0= ޜ3_=h=+ 7k I",Ws,?mEp,QARWJuCwĹ0ji2ܵrRSr~hDևj^>zP=H4.hWތLJl bz l0& _ͦ PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!b[&drs/downrev.xmlPK 0 @ ,$@ P  " d b`9p?AutoShape 15#"@PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!j/;drs/downrev.xmlLMO1E&晸!ґAFdb$N GNۡ-m\7ܜb9DNym\\LADNS#9b~y1R[qNKBhRJ)jR]>XJ9Z@ Ńd\~hhj^o:jx}5TO ߸ 47p7>ؿw!el rPK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!j/;drs/downrev.xmlPK  @ ,$D P  "  d b0+p?AutoShape 16#"@PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!_drs/downrev.xmlDMO@&͘x1-Q$ы nCwh+쎥n,?-F %d r PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!_drs/downrev.xmlPK  @,$@  P  "  d b@:p?AutoShape 17#"@PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK! ?<drs/downrev.xmlDKK@Bp7b')GmQt#Mw$<̘&.7ZtC,B>@-jlz",# `]-Pb7mc%ĆBPl(]6uG }%K-'Y6jj6]>dRX>g`4u"rǡt+Q ~2_8 ߨ !%d rPK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-! ?<drs/downrev.xmlPK  P@,$D  P   `~\7___PPT10d.,+յGD' = @B D' = @BA?%,( < +O%,( < +D' =%(D' =%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*d%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*d%(D' =%(D' =%(D' =A@BBBB0B%(D' =1:Bhidden*o3>+B#style.visibility<*d%(D' =A@BBBB0B%(D' =1:Bhidden*o3>+B#style.visibility<*d%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*d%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*d%(D' =%(D' =%(D' =A@BBBB0B%(D' =1:Bhidden*o3>+B#style.visibility<*d%(D' =A@BBBB0B%(D' =1:Bhidden*o3>+B#style.visibility<*d%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<* d%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<* d%(+0+0+d ++0+d ++0+d ++0+d ++0+d ++0+d ++0+d ++0+d ++0+ d ++0+ d +"%w `hn(  h h  x ;?Rectangle 9ddd  0 F Code and tree: Promise execution ! h `:?Rectangle 6_o void Promise::waitUntilDone() { if(m_pRoot != NULL) { tbb::spin_mutex::scoped_lock(m_tMutex); if(m_pRoot != NULL) { m_pRoot->wait_for_all(); m_pRoot->destroy(*m_pRoot); m_pRoot = NULL; } } }(Z gA  h ZA?p?Picture 11"@ @P*  `~\7___PPT10i.,+D=' = @B +"% l(  l l  x`;?Rectangle 6ddd  0 N(Promises seem almost too good to be true )O l  xQ?Rectangle 7?d`  0 Blocking wait only if result is not available when requested. If wait blocks, the current thread actively contributes to completion. 2 files, 3 classes, ~150 lines of code. Robust Promise systems can also: Cancel jobs in progress Get partial progress updates6 ! 5  @` `~\7___PPT10i.0Wn+D=' = @B +"%|  p(  pr p  z ;?Rectangle 19ddd  0 ~Synchronized Call  wait until all threads call it exactly once @& p  z;?Rectangle 21?d`  0 XSynchronized Calls can be useful for: Initialization of thread-specific data Coordination with some middleware Instrumentation and profiling Trivial if you have direct access to threads, but trickier with a task-based system.,& hU   @` x 0 pC *Group 20"`OB p f;p?AutoShape 6"@@`  BCallback  B p f;p?AutoShape 7"@@`  E Test + Wait  B p \p?Line 8B  p \p?Line 9 B  p ^p?Line 10@ @   p h;p?AutoShape 13"@0  F Spawn + Wait  B  p  $;BCpDEFQRUVWp?X @pp@   pppFreeform 140  2  B  p ^p?Line 15 ` B p ^p?Line 16 P R p f9p?AutoShape 5"@  >Task  R p h9p?AutoShape 17"@ ?  >Task  R p h;p?AutoShape 18"@0 P  >Task  r p f;p?AutoShape 4"@  >Root  N p b`;?Rectangle 22"@ 0 Bvoid doSynchronizedCallback( FunctionPointer fFunc, void *pParam);(CZ Cg C `~\7___PPT10i.0+D=' = @B +"9%@ ## t#(  t t  x@;?Rectangle 8ddd  0 L&Code and tree: Synchronized Call setup 'R t `;?Rectangle 4"@   :void doSynchronizedCallback(FunctionPointer fCallback, void *pParam, int iThreads) { tbb::atomic tAtomicCount; tAtomicCount = iThreads; tbb::task *pRootTask = new(tbb::task::allocate_root()) tbb::empty_task; tbb::task_list tList; for(int i = 0; i < iThreads; i++) { tbb::task *pSynchronizeTask = new( pRootTask->allocate_child() ) SynchronizeTask(fCallback, pParam, &tAtomicCount); tList.push_back(*pSynchronizeTask); } pRootTask->set_ref_count(iThreads + 1); pRootTask->spawn_and_wait_for_all(tList); pRootTask->destroy(*pRootTask); }(;Z ;g: t XA?p?Picture 5"@ 6" t `;p?AutoShape 9#"@PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!`+tdrs/downrev.xmlLj1ECxB7fҎFՅn{N3I2$Og˽˙zۈ hS3J|-@DF\)lz7BJ$*BXd1}K.uG,r:`එY*-jl飦?[ YNnràA0o|+oV>rad _M PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!`+tdrs/downrev.xmlPK0`,$@ P  " t b;p?AutoShape 10#"@PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!E0drs/downrev.xmlLj1ECx7f;5(.9 ItƿoB˹٢ƱA?A\8mTyYc(b0\t=R$T16b軆8u'-})6m-Y6 ZUT FgvfT[ϽC}hQ6qގ=H^AKPK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!E0drs/downrev.xmlPK  p ,$D P  " t b`<p?AutoShape 11#"@PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!Tdrs/downrev.xmlLMO0DHkTç t[E z-{b;4XьMmE!&vkjb"&rZ)݊uEXBRWJUÖwrR1R:fmuQKK准:~nX}!*z;TW#ˋzxH]Ei^QL_ͦ g?PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!Tdrs/downrev.xmlPK @` ,$@ P  " t b<p?AutoShape 12#"@PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!# 7drs/downrev.xmlLN1E&CLhH!#Qwl=Lu:eƅqyso͙-׊BL ˵r"&dgRp KO~j!KTФԕRFݐ8q>8L9Z w-{r~hDVj^:zP=H4.hWތi1=k/fSPK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!# 7drs/downrev.xmlPK  P,$D P  "  t b<p?AutoShape 13#"@PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!gJdrs/downrev.xmlDN0EH5Hl(PBJnOP{&M,չ:)ֳb@W޴\knޮ@Ąlz& #EXfXT X&2V 9Ôc xpgRwa^o/FE=bx~hHax >f1QАm69PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!gJdrs/downrev.xmlPK  p,$@  P  "  t b<p?AutoShape 14#"@PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!ؽdrs/downrev.xmlDMO0DHk jAPBJ6&:M{,pl18+z (ĕ7-1!IHƟxE:"C8I+UCwĹ;0ji2YyT:l9?4KCq4Ũ"y}ǽZ_^ O  Wa4=ު)YaL4dlMAPK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!ؽdrs/downrev.xmlPK @ p` ,$D  P   `~\7___PPT10d.@:+յGD' = @B D' = @BA?%,( < +O%,( < +D' =%(D' =%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*t%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*t%(D' =%(D' =%(D' =A@BBBB0B%(D' =1:Bhidden*o3>+B#style.visibility<*t%(D' =A@BBBB0B%(D' =1:Bhidden*o3>+B#style.visibility<*t%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*t%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*t%(D' =%(D' =%(D' =A@BBBB0B%(D' =1:Bhidden*o3>+B#style.visibility<*t%(D' =A@BBBB0B%(D' =1:Bhidden*o3>+B#style.visibility<*t%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<* t%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<* t%(+0+0+t ++0+t ++0+t ++0+t ++0+t ++0+t ++0+t ++0+t ++0+ t ++0+ t +"%C x(  x x  x<?Rectangle 7ddd  0 P*Code and tree: Synchronized Call execution + x ` ?Rectangle 3"@   :tbb::task *SynchronizeTask::execute() { m_fCallback(m_pParam); m_pAtomicCount->fetch_and_decrement(); while(*m_pAtomicCount > 0) { // yield while waiting tbb::this_tbb_thread::yield(); } return NULL; }(Z g  0  x XA?p?Picture 8"@ 6 `~\7___PPT10i.@:+D=' = @B +"% |(  |" |  x;?Rectangle 4ddd  0 V0Synchronized Calls are useful, but not efficient 1 |  x<?Rectangle 5?d`  0 qDon't make Synchronized Calls in the middle of other work. Performance penalty is negated if work queue is empty.r r  r @` `~\7___PPT10i.0|+D=' = @B +"%G  V(  `   z;?Rectangle 74ddd  0 lLong, low priority operation  hide some time-slicing 7O   z ;?Rectangle 76d  0  Many games have long operations that run in parallel to the main computation: Asset loading/decompression Sound mixing Texture tweaking AI pathfinding It's not necessary to create a new thread to handle these operations! Use the time-honored technique of time-slicing.*N Jv   @`_x `0`p C *Group 77"0``pB  h;p?AutoShape 27"@p` =Set  B  ^p?Line 29B  ^p?Line 300@R  h(p?AutoShape 35"@ @ gLow-Priority Task  R   h(p?AutoShape 37"@0@  >Task  B   h(p?AutoShape 41"@` F Test + Clear  B   ^p?Line 42pqR   h(p?AutoShape 43"@`: ? @Parent  B   ^p?Line 440r  n(p?AutoShape 56"@ ? >Root  B  dp?Line 58P0Q@  h (p?AutoShape 63"@0 `  ?Spawn  B   X (BPCPDE4FQ.RUVWp? X@@Pp0(`PPPP@    `PPPPFreeform 64` `@ 2  B  dp?Line 650@B  dp?Line 66p0B  ^p?Line 67`  n`(GU Hp?AutoShape 69`0 p >More  B  ^p?Line 72PP`  n(Gg Hp?AutoShape 730p >More  /  `~\7___PPT10i..+D=' = @B +"S%I &22@ 2(    ZA?p?Picture 24"@ 0   z@<?Rectangle 13ddd  0 Q+Code and tree: Long, low priority operation ,  `<?Rectangle 7  ctbb::task *BaseTask::execute() { if(s_tLowPriorityTaskFlag.compare_and_swap(false, true) == true) { // allocation with "placement new" syntax tbb::task *pLowPriorityTask = new( this->allocate_additional_child_of( *s_pLowPriorityRoot ) ) LowPriorityTask(); spawn(*pLowPriorityTask); } // spawn other children ... }(dZ dgHA"  b <p?AutoShape 15#"@PK![Content_Types].xml|N0 HC+jS8 @:Q۸ ??\o<7p]V޷O(I'6E=, ){Ō4>I)q7UuDހǏ)}nL"Mᴸ&g0eSA)΄2';2 WYu7{ɯΒzŘqFrj9K*(]mOlPK!Z,[ _rels/.relslj0 ``t_Pƈ[>,dgzjǎ?I'f#®Pb-\/Ƿ0Z]nLnp__3.iJV KQBiDžrL,Vʌ/7р4`ANar+m;E/'3U Aںv83/PK!zdrs/downrev.xmlLMk1EBCxnJXk?FEtXC)u6m-YZ4.=Tм=Z Yk^kn;M^7y`d _M 'PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!z