ࡱ> F1D *!N2 \JFIF^^Photoshop 3.08BIMx HH(hhxd'8BIM^^8BIM8BIM 8BIM' 8BIMH/fflff/ff2Z5-8BIMp8BIM@@8BIM dJFIFHH'File written by Adobe Photoshop 4.0Adobed            d"?   3!1AQa"q2B#$Rb34rC%Scs5&DTdE£t6UeuF'Vfv7GWgw5!1AQaq"2B#R3$brCScs4%&5DTdEU6teuFVfv'7GWgw ?4铧I$ RI!efa-ȫ`>綰Hn*JZ[?}4e}tv?լckDsaw1?#MVfuQ]Gm;"e#v˗ _L63 ᳼:;-~1]Ouy=:YM=m')KJ_Lp2԰J?dz4]#~S*nPVI$JI$4 &)d2nF&㺽3szd7z`h&H\?Ԙrs|.33O|Uoⷺ8Fv:9UU8 zFFeATo/ְoڬom1pI ۾"ѺEgSf-Cּ)Ch/m^I8pY#! __hrӧ9;]C\KqK+w.{Co?6+ wV16jLlۻv6#7;f}݊83ۊCWXF)懹d X8O>UhǾX2YCg1ߣunSs1Ȯ8 _uKv~[?-K31qMַ,SIz?濚hmUʘ^ iCKmH {8e!p9G<"9|\Q1#r(Okri{[8jVs=ѯ2y ii;ȹ;9۷Wкf{sxs|9(C,I#d3ry%&NS%FPh.k=oش_OP=>?9XٖcՕ_-nC^6oe]~bu퍹_1sqB^rm-7 9 ĶEvMz}x5k5u_[Y}myeӐ.˞V6U[?~Uc]m'@27|yG$} ٛ1$rLp7qB2~N}8NkZ}ln} kblϺm%sG~2V7A9YMmMjz{'ӺvNs)Ypqkzz-'A)nYsspT?FB?9X&s/n%Npm &U^~GHΪkh$H?G5}ӏhŲum1n7kz#FʬӚ=(vpZaeƄ> /޹emxkANFZZgGiy}UG&3F'y;\1AWY.BG;""$!EڄPS./:t0xi}?'޻똰zMf^=@wQd$7gBZB]Ux m]v15ktщC7p̵!^Uv_ueg`ra\'AmWM;p4[k~mZ?ԇ7gZ /NuWr^\+:ѓ@'!)-.mf_?"hREڶX@ {CIcѬԲ\1x-l-}t98 7o֧yza/unͯ+%w6}Y1s}mnʀNR|髸#u+Ź9/t7-W7=#|?ᷱ6fW9zQ~g>9(zm97?GOGo2xphmusrU'9Lܷtb8Pdd#$S֨&!"stTii!X *c[έ=ԝ Β?Zjy0/5gXki+ anpop!cJOp8N uNk1o#uYX(eu d\.!OqTG20j֐$_"WQݴڸL.ցnL?tlˇŇ/ߖ\N~Oq].Nmpcr64VX ש@ CjAr$洓ֿJjI$I$6FWsxI i}Ή$""4SkIR tSKdS8BIM'File written by Adobe Photoshop 4.0Adobed            s!1AQa"q2B#R3b$r%C4Scs5D'6Tdt& EFVU(eufv7GWgw8HXhx)9IYiy*:JZjzm!1AQa"q2#BRbr3$4CS%cs5DT &6E'dtU7()󄔤euFVfvGWgw8HXhx9IYiy*:JZjz ?NAP[v+N]—bWav*F۾]1VqӨ>U63GG`NS'&9ʒƲyFå3y,rDN'2Qq k-▩b>v(v)w*P\Uo\zU]NAo5[!R*[L p@oqJݱBSt.5K+%J5~{vPWUT-dS& ̈́iߙr'y&ĮU^jCta/?`ÐGBёzPWyFO'} XNѾ3l_]jyOntU8Wd}Tlb]]NAU4)v(oK{bx⭌ Vմ&]CS/4eWlT[?.ڑ'5\@18?0$/9}glgͰ?n~-,cY@ w!T{棖RqVJPѼHsbbcYHd@t5lA`L[3]*/l_j2x9띑11χÕtfmZ5Z"1C}KG8U8U[ UURNAؠbCl5N(=[Yt6㴷]ԯsIyG>I˖w{ |%# HAμŭ0Zi4gXqn[~->/#x|CjN9V^7mӣyp`ZI Ve).HF$ŌA'gڋoFE@JPпg<9D 2w|u-:h㼙mIIjxW698#t}h$4*Hj }9?uZ>4j7Z'|Uۮ*튵OUثWb-NAثb]6DnDݛTT*DN3D}P t,=/>!ᝊQVUzk3afwd[xJJW:>1xr@I*ڭq3nh: /a?xxDN[:-jD/ '(n]sDŽT#O4-k:em+;[s)I L>y}5F!5&*UXl7$U]XlcY<'U- v@-mu]6k[+bC|AHZ@(7:U&C?}8y㸇UvӴqImF])$/螺G/=4U|glq<8{??MȆGyzC׼ +{rW c.h񊆅@^?gU[9mohH~ł1JRImddb֞ڠ\U)-cSr?&@ZKI޷' 6f5*B+2@M%uHL+և8OLq WjHz 5/ w5 UUثuZ*ou1WI61WWv*}!HA*F**Zm*j ^vw]ބHsc)FEN$;pR/6X]N!#Mbe*;O=EpgF,ǜ~(yS&Iq;%ZJ+:KdjF4&ǵGop6(DvN8qA_O8-)WǘRֱK[ v..G~!ؕd?9BY1NCz+3fQ.~'cɆGs|+iY/@Au8W ;zQ=Olu# ?a",".H`w(";8OrITDSGE͘#e}o2Yťia-%nd |as.t$f7'Zs-j32jh$o0 )M{}4f2b?湺|$79^OWGK'J yVh[?#I~%orD$[=l4 6񭦩}KF2M(n\~/'Saק듆;O$"O_-j$c1;eL4Wl:OhQm>N*ovV銻)ou1CNռ*b]Zb(6덡6oyVӈ֍Fe!IU)͈dm%Wqp >#6yjgrۄwl$KWKK[ݲV4Xt%0FQ)r<-t$jc7\AvWfiO;/`yLyV,seo+)ƌ22"@Ufn?NnLʟ^ϫ/g7,mμRO^c<1rqw>-^\[mJ4]Fx5 4+$1 9N,IS0E^=;KN=f=kǢӯ'>ͨ5.hnXT;(n$TP$`l;a%gq嬙?_O9W"*;jS".8/3K-̎y>$w.}o#\7JXC⑾.qHIywU|G;"ԭAՈ9%y+fqbɧ#!B_rg7 OM%A,q>ZEeO3Pe7_YqF/1jf9E5,G_vf_ޫcuZ~ȑ&B7ibwTD+VU^RfYfgwb?K,)ԏ(bcMs40@Dw+2;[MUWhU1U.\F*8NA 튴M7VTe81k.hiȯz:8^u=Vic}rdsD|ZhkH%rS:sp˄/BQDӡ? Mקyq,r]ruc[YK{$G_ǰfØN3GqupDC~"\\cCZ~(řsjs&1_8xlKⅮ%}C);qym(Drؔ7+Yh1 YP^y9gghS?EγG@=A߻uu! ZUwnDg2qnmyʩɸGPS|..nb.ŌQ%!Y)e+>5~Jxֵ21˪޹^_R8\æ?}Rt>Ϥo^D3G ʹLp!fTM>C$r%,Cu軜11ez\6z0F#(:q_ek1_:F yH>FaQu5PyOr?ksͷG"K4/{3NŸĄReM_oǴ?{/Z)~c֬u h8b̭V7 ,}*W#L!̟Ӈ1 dPV kg HM[aޝ3I3Hߓ,a̼[5+9>~+ p-ٸ\k:aǼy/..GK].5gYܿ Z~¿/swᒫbRP0[ks@."i e5$_RM$W^rt9G4q B$z;09͓ٞ}rr?%{7Ӟ=1r5X<9Dv6 1Wbh|UUr\Oъ\UOlkXGS8 0Jo DyDXH#nKɓs H}>{o@K P-^DSf6<~?ӟN_†FOH+$je0>~ds >Wc)%$*"~Wʯʴ4%ycd<,|P-^^ΣG8O\. Os%WQF J!'LP"I;y$ ʡ^jĚLm,;OWUK(-a++y"-5Fp ]0W/yR`X8֢uFXUW1bȄKd dhnzik"4b b׉oڧynG4b;x)45 Ңc7U@M$J`ɏ!1 zc_~=M&  -dEagv:#$z_џEa*(ko늻o|UR1CFA 8MU6  uCm*_>m b]i\(N-ƗvGGrgRᯌdnhM7N7]ݥ+c"7ZWz~qLav,K:g<ߪ#lA-9]DUsX 6>)CF`ZWGE輩 xYlG:N>e#LYBcmlӜRvΗC`/)?͏I^oy{x0+?ksRzCIU HPW=#{v-Y6->M%{x" FyQ^'9̙g"e7a zTڍ͑U7YQx\`At~h"7~Eaf#UYR oI 82qFrP[5 mXQɕGs$LRsiٺ by\8 2\|L|Qz>zv)bHb트 Uv)[_|PAm[Z+[XwԨC\U*R9)#ig1)&16awǫX2s*gN"o<ߴt1Smm_rԬ;rOMyQO?oIڥuok"*];gϧm<^赸'bOy_NXxxrA׀k߸Ihq&I' +5Zc0+^czZP.JG뗚aYWo FiGFFSI h={F}M8PKfP%9gQ#K6?TعشD&{y-4Bb.Y6j[jl3,_~e "6G:msktWh>USVFNG!:e5Vaa5귷w!Lt?ynG[1匊n IK˻x1 ]qXAN"` diJ2yg1F5HÞ쁏^itH`ǵ=N)C=[B@ 4a֞N\2z͵I aJpo d rd7C˰~;K4ܞI#Ebx_?es/ꎢc"Cޓ=1WOlU UlF(jFAV_lR}kФ? HqTD,Vb |٤ˤynJE+RpwEAz5M$?] $$k9e$QrSVo1A<gRoЧ)uY#R'!?ȿku] a?x?jtBS?yk>WF *8f&7*z[jsKo}mu} 3Z\YrGY[YM6=r.mKV5 G*䌢~`Ɛ-]2*VMkP{BsqC燍iXꓤ_COV3`)#?kf4Rtqo Y <RFrXp$qƵ;FR21ͮS%3553b(~pBc9f2 p=.|"gv+NqKU Uj>VZ.:aU#JV8yug_T2P<ӢG}e,>7##?MgA92rM *) (}dp3'Cef<)%^ZЂ$f}ugo cx6ާ ncQuV+q@c@q }lhqmÈNc年#Ap/nSծxnRD(%ojc_!8YX)XmtL@mɖ0ε̍V ӭ;rI\pλ.R}!Yjk(y/#$cq7,EE02>K2M3?A >&GaJ.@db6Y@e*adPU*)o**j1U_0ۚ&*U\RAS#Sa\U,`ąK FEXާf-Z⇏yJESPqJé n8E="]S-+4gviUGeq&DϼypdK_[\ܨcOn}Բ?)NtРa h(0QÒD$Tت .*zB񊷊v)nT_!?ە7-q—`Wb*V HVژ* HKnt> u*]=T0O m[m#4*YʴrJQCL*Ad;dU,*LUP Uu<1J p]v)u((wlUv*׆**NZzT4iVmjbMJopD 7ߦ [ꜶUջ` ,TT~إ]xl*tW->Ur/pኯ]wb튿nYl`(ٌPNG  IHDRں'PLTE{p]{sk^Rsk^I~RЗskcRZHksRJAkXJB޽ݼ繸]M8B޵޶ַ벟ֶlPȸ7B֭ڬN3άέƭΥJƥ45ƢA˟'֠KΚ{(ݓ@1P$>-{{w{{ssrpq{tMu~m%kqk{lqk/ulocsckfKyclfiVyZk|Z`W.sVcsTZkVduSKkSZkRRwR0aS\kJZ^RRkJRkL7aJZcJRaJJ`L8ZJRPOOcBJFPB[BRZBJRBRRBJ\@8LG9RBBJBJHBBR9BN9JJ9BM;+K996A9B9BB99J19B1BB19C01919F.#91163)1119)99)19))&2)1)11))4)))1)))2!*!))#)!1!)!)( 1)!!!!)!!!))!")!!!" _tRNS@fbKGDH cmPPJCmp0712HsVoIDATx^} @ǩ][j1ZUt0yj" /"((PCDVW1T)Ԑfm\5}.O=u?ߓc"v~<|d=E"_~_s{*Sy_R )ok+x?C}W_j[+v/#ƤRw֩_{?/{ۿ^w7ٓ/>8G7jkֿqSǢO)3M9Gi8`2_|E/w$RI޿ך!1#]WȦjNB9C@?B&P+Po}ÇSᲥMS':dQi<}܃ ZSW{}KG{U2MMMjz&?2uP45}# 2E={RzMJOxf[<^P4ujwx r!6V)?=68$d|%Bą9f|x ~/G.v}t`C`Я3*\UsiMRw~QHXH|uEEV[)Wߛ e WސMj.UhhhFEqFPHPXdW3~_dẺEu}405:؜2"BV-e"*}T-4⻚,3LCq~ky#WPS]H+NN΋]4[K9o?(zXEmM±PyXBIyE:reImLuύJDܬDVA_\ xFPݟm0^ _oosRf[EGEQ_âwy7D"i1BbCA)}d' AFb4&U/Yƥ܋fljt1MJ)O**syFDr^q"pILNF@ڤom X?#SSw0g\fjBBVy|rF^^ljBjE~^E^EmFc36/#3-ܚSk bȐHXy"2OL"z*B[X]x?Ddu-X& ;q6D"'WdTDy<6>9vkY9EjQV]2RZ*օ[EAyjlC+o,͒3k;EE%fW@ڭY 蜖=;;:cC‚K 333wc!7**y9!1'X5׷J*o؛OLF^EELm j3X.l,ǶR)EIII  ZS}A>~g|佺H0ͬM˩(S&$% Ņ%% !k|^lH*DF1L&lXeD-r,21l5Ԗ/&DyF#R&@l7nt n=jAr.i8,ƒ̴]،ʼV$Ŀ5*/_e=G]8u j 7Q~"&VT65RaTYQ^vgT&8oFyY7zӮ ZR@u> 0I%ߕW|sssN\TUk^_oO!Dٿܩy.KUI2֊s|DEG[M2FEEEժWTնJ2ڎco\A>tߨ8($$HT P3 ]gjZ۲G{z{{/m-^QIG>T*EA0 OAFq]!KJ*jk nX?7"{ n_H>EAABzr)E5aU->66L52"LsR*9:Z,͎>rrKmmfRloo\TknBkh5s&zAY/\jRTjg"0`?']]\`$Je/Xt:p:9&Vii#_WڲlBi4 _:X|h֨xY?z +T B? $OS^, PD؜u[wed&mfٖ~z#'4?i4 I*uԱsFq QkU j6C(9x킹 :TNJa$aHE$[48U}i...KtlDR2 ׮rmKA%R2oc{JnNts8ѭEgb#.#%&oqNt07Ukht rP>ZX5BxC$ X(jXL-(,l!笽|"Y I 5a}&?1* OOH)oBC/1%:zhggg=+Θyʒ]`-s|,3g2{!| )XAl|/mK9(D#e La1aa*깚\NUSkgQQ:˟„ wcɊ|]~JޱFmY@,sfطs^YQCAQbΔWjcJGiRJߛ GsO(k_ۿ?ARcV1idOzJtkcMUd+l.2ǯsvGb~|B|QF˵Z Ag?0?S͎wfԉ R^wԀB9X\Rڿ4 hv6 3}LhGKAcEc_e6񗸬ĢYe hYG|m:K&!7|G}p[nqj^ᙳiKŒ9 /W*ERUVVv`,On UZy"@Ocnj7lh1ҡ܁J\6++% &JZ&7o; \<1HWKM/DQ^fE3bUۻoAlniAEA+q # vl{YEݫ:Qxf9x :x ="" v+$_jImѿzzJzzn֑֛Xnhwk1sH3*Bf-ϝU,([̈́Jc~/j,fύ:->C]4L%`|~ tpaB [2̀ķd){_*tQov-*.`9 K&$xZ 3MǔhU\sczH]l0o)$khiֶ A˓w jH+U18cKp~kI b@]WȎԐoܸlҍI<%L0_0t~!* .|n'P2q@9ޫCr!?NAAv6@9%E F@NL|=<==\VFýqFd`ANYapScL,o,~/.`99!]hKgT:γF_0s 4Z5)E6ȍH0@ z`ovvAvhy ![ ܾ{:\uMbFdD)d` 6dര +Vs\r@2g:CX-^6>PBDt^YURWUpsa77jGTTp 4J7in-c3hӸs9: RH!ƴ แ;4JDM3A^PP 6.KP^C:Ax`eO>Fz΃bPU'ZܔRIƸq.w(@IJI ir%7zpnV໨ZCB68rFCHZ8)!][a2paRXl{۔G|!2hРuHםNO9|lP!*@ّCj>RNZT D6']eSPBBa[87uHwkNzY&>dN[ZY~˨u"wIp0!^hs/ۼoj>@s !PIw :e :e$8lEN0~Q $ -jw|V2F4JJGJUybFdԾ x2{_9Ő=w㲀ۧ]yC'eB$"[Ϩ;vD?9MS \vcПF;pyu*4)wDBӧO/YV}hDـiyZsj$M3jHCČz&sWfSztܵ,[y djR=-L tc /~ tMSRo,Yp>h[ELiw j5z,XRR1Q$?p 0AfV&BFINYj2׿c6mgC''ӐZ-!*00OmU_ŒE 7$0[87Hv8 QQ$UTNM#cYE*teimpș@FQ%sa\eǿ:,gFՏ́;=Bi=ss )/77[_G΍RZl>Eb&: -t)AU-0ׇ%FgW~M 3uz%}-](&z.Ae)%.3RbE\_G/1'" άܢ|wlx % l s4Ni#R]H6$F8&R--0q`@@헄K5 ȝPSNyhON,13+jL~ٵJ9?>R1h QNSk8Eyc5k9^s}C"C6l ؋&jjzr#z08Շ.܄Jxuth0/O߽eH!jA7>sd #Srfe  1>!INer `DY8} ,.Tܠiu|iI89M؟^ؙ.)LZ)C& +@3$CK%\cYߎtx.ٶ35֞)O->/at$H.|. ۯJUMh&'.\y9:C!;^B73놴 !|xEyR ?"d/Wi <ΘfÍ葘ZZ&*cau!yڒ;InŦPb!?6vD(/f6)1^l1Xi WIΰmf pvGH:9 WUlٴXd4(e UʺqXĖxnk1IN.TjuK.i[Ìdud|I^Xbm/ހ=$* =0\68$ $hf,R zXoRb vs8  NNEGˀE3 364 uuшPJ()6R4^#?ZuXUNE{\ArSwzup=Z!Niʗ+#g7&WM$ HJmT6HZ&Q(OIm t{/^ X憓PUeԣ٬b4`aMjד"d}'RIhݑS傂s[V`׸!s'D1zhWg _@@RLj`DAՀ|AC=]B!ZoJ}wdfSC$: `u:J!  G dvͱq`6UhJu_95ړўZtInrpp't>xybXz9iE &r`U_C" ,%iJoz.$9@`V@zIg$H\c$3 OI^KxۜX3&yxPOP,3&}GiF߸9 ×>B3Ir&g(E_Eh9J}}Zhz%&Offt܁IGD} һ#&g88CSR2EI7LI+$%by6,xp7)aFk O{ڷ1w 7$D '{GjLDV_|(ca\O$V c8(>usYjUlFӶ,}RDw "=&PJpIj!ޏ[ps;Fu[0M$6Eš%K$DlAZp&EEy!]=r/4DJ J4v\mĦcayLBEz /Z10i ]'#4Ծqckܑ:qrr8e$9 DN@n$or-*-vv2s]}qQ$HЦvKocɰ*diNAE ɋEUF"=N0NۢRE:ON!S͒mӧn@Vsek]q2e!gnZ=^C$FXkV667 I=rDҾQ;vSs$?:lƊ4)#ر]ZD:\T[I(ҡbG aaՒ#\؛$ 9S.ulvc!H;|8M:MAKP6%B^ p IPP_E$1"XMFd$P/|4G? dAѾ.v_'9+0HrCsIkZCyM#[7閦idq<^"_m=LB>P!XGe 'bjMu M$B£qX Ddߥ8#!q"$ƦK0,` ds݀H$O`f$:SHMr1}B ! SH~1QHƒ ,F$# K31/X> O&`;J!3:}zޯK% v L_ Y`vmC`Z ܐ/6bu碦Ku9$ws PFa!Ħ]8 m]̕ $"1׃c4zϞhڜ$80{:m4>+B)y6qi^E;mc VN)Eϙ >g+ARzwLfؽyn=sR#$&7-t`>OQRexV!5kt7b8x؈q3W%^ِ'{gN,$YΨ8K7Uܹdz]}+xdtߓ9Y@$3[!ZE:0cvHN7mnft6bATer`ɧe!Cgwaq0'A2KC*>_dm F:>=#iVYEIhңG+'T؎f $+\W{+3+/.z=5ᤤ$ܹ-&b}h>cF~pm(G :dS7,_c4aaΘȓOXg&6E4 ۅ~ D=eO1# /yxåj f!-5-,"v EI޹3>eۦMȊgB>*09ImzG;ēA 4dP7b;$ '3dڛ(] rԈLF dt؃l t!PғB&cʚ3XNAH4(ɼTde@Npb7)"BjŢSǍ ad8)9Qm&; INn0RarO$}%6N!.hCFcSXxJ9mV"aWbԉvc,-!/ Zr%VmHZ<ݻl<*pڠPBW"@m6 R_AF!,th?yfN \8TY$JZc f(?uҥ c H1Ē'@y VQP6XtM(up($>Y핱g-629`YH(6WaaJ3Rc&Gf )Q"(¶ĝ.E>+V@f̜9yܘg,ф01`w{0 #ر x^n'`-C)wXWWNB-p"~1h22 є*{/ᅙ6EƪU+3gN7f(nu$)'c6a4yCy 0}ŒJy+)3ގ>,tː&XA*)Ylx,{҂l DžܖtCbb5\T^=N4w}Bg1)"2!Ίt, M0\v̉`P0`K  ;]z})#E) : @&!~*-}^ \fY Hj_L쐰pf3VoKcIlt |5f.F4+` [dR=oؙq۝dpI¾9&Ϝ9p @r0Xp.%ȮX+/*X{1=I7bP:vMɮ/ ;]0s?\>GȶxƤEz80vbPE>4fx‘`fRi0?֓!̘1Ax #D?-iӏ#Ki'1hrIowܽ %(yz(g)3yK~=3p& S΃t)f$1cF1j|Ot4(" $>jEս/dm Yu{ v>YEStx^YR# $Ffu';:dc9p&LNigk p Bl5-;n(1فeCBc%RY_϶E)1aH>DGMΗO̡V* eAĀ XT+|2DX`Q0D HxG?iֿ/v5!HrSLgymg,&%"BR(̝%O>ЧFJ K.4ښ:0G(JS#$H=(5v0]pFp'38S)Q ROĜ3$<ثۋ<6R)ݑ)<0R(  y.1&]$OeMgW`޺3u5u;zEIEk\Tt fa;a8ɅRZWA%/<4 &C)ĔoQ4^p63ߘ Ʀ.^e T(+Ez@Х[1LbA$+BB"@c@ 10 g*M^ZbIqm;m$ʬ!cKqf8e$0p Kg[,0s]5lJ ͿGlþ?mBs=FQInf" 2cQOee ׿E-}N6- Hjnz1fd$`EƖ,XQT'ʒ5k7CV֬ \=oႡ%RNIMze^OĒfͶX0(/5QaAyk7"s%ivI.T,g xի@!T?Kk6 gÆ5$46opאtc))KHR)WOQ+'CP93*.vZ~l p'!)ӎGە2:ʤB6f  uƘ1w ybJjrr"c}3zQD k-K07b!}6HKX)3{ ^ß@yw`>-3 F TBfU*T1;?3`bbBI5?R ]ڡO%B@HO[A7ffZB@ cǛm߇oDoCRɚ> ϼW(0}Q2v@xXpo6B$8qeXeRWj-B;& KgMwcQIâ) QTjޥ,0޳3ĉctncqd WvoM@2'O:Q6fyK2 S.0d„ Um'jg <9p˚#e|W4l9`xo0!a+O:JRV` Q 1m C߼ʆ}`vd}p<6>r;l6| 59rLם:\IfRnL,26`.<>AYJQQ=L0-±NmIS~m@PvGr#%% P-HgL߾{C.T=:d`tԟU:&!` ;̍3m|pۀ K0=o[ y)ZvCPd,p!C\MgЍ4;v:(-8*PFHѱtwbD(u9`ōp]_!O=ԃ?BQ{+&>Aɔ4C WIˎ=N$ ߊ})<C՜l:eG&y҄(kjWАow &ݍ$vJ|6fHo1·h*zu`#&gFeE1-| U5K193WmecmT,gLL4"O P7"\{Y4'a vD]0a_DŽ=x@CIB= qC:EOUMV_V}1Ko^>c 5!{Q?5 gY5Q ojSX[Iߕ$]|zviwǴ4E">&E<(CH4&wvuwu w!{5Ӌ'l˃qd_#N'7A] ₇tǾ oܤ xDyGn=v;.<0 u6~_O7WR)QyDpw0)tvZgO GzyUOtYw4]A= 5K 'OqSLTنe:!,ajVjjsi'LOw]7lG{3zhHd^zii ]{I6[M zL=SV?HP؛bsC6)q\]\\,C ؼffߑ.L ;#ZPm3aJ8tv.nnnL2i~Ώ'D.4kYͳ, \:kP'tuw[ t6oKHK-_;mY˦̞|Y@ȿsz#I~ ,[6{e]<-#?|uҡVU|{.l .GknN?Er'@yn& u>~-߼fAˏ܆4B#/ioO6:&.?%=1;d鑮1I^>?qgW(?RHȰK?@ABRSTCDUEFG H I J QK LVWXO ` 33PP` 3333` ___MMM` 13` 333fpKNāvI` j@v۩ῑ΂H` Q_{>?" dd@,?n<d@ `7 `2@`7``2 n?" dd@   @@``PR    @ ` ` p>> 6 .   (    <4" @   Td" @   <"U_ @   Td">& @   N "P @   <,"p @   C x$?d?"bUv @   6 "U  T Click to edit Master title style! !$  0 "   RClick to edit Master text styles Second level Third level Fourth level Fifth level!     S  6  "@  T*   6$ "@`   V*   6 "`  V* B  s *޽h ? 3333  Blends[       (  T +  "+bb P@ # "Dwoh  s *"PP  Bd" P@bb P 0  # "Nyh  s *"P    Bd"P 0 z   <" a*h   s *"    f?d?"+)   <`A ?"pP  T Click to edit Master title style! !   0lK " `    W#Click to edit Master subtitle style$ $  6HQ "`p   X*   6x "`p   Z*   6{ "`  Z* B  s *޽h ? 3333x (    0t P    V* 2    0Ŀ     X*(2    6 `P   V* 2    6 `   X*(2  H  0޽h ? ̙3380___PPT10.@tb   0t(  tj t TTU ??  Teaching Computer Science With Robotics Using Ada/Mindstorms 2.0 Barry Fagin, Laurence Merkle, Thomas Eggers US Air Force Academy Colorado Springs, CO USA(2 H t 0޽h ? 3333"  @xb(  xB x TT| ??0 ^ Why Use Robotics to Teach Computer Science? Lego Mindstorms Ada/Mindstorms 2.0 Why Ada? What Concepts Can Be Taught? How to Get Ada/Mindstorms 2.0 (it s free) Future Plans2 2>q!  x T\?"@ NTopics 2 H x 0޽h ? 3333  P|,(  | | T ??P`0 pWhy Use Robotics?  Hot little hand syndrome Value of experiential learning: learn by doing Robots are cool  it s just plain fun!4 2t 2t H | 0޽h ? 3333\   `(  d  T̓ ??P Why is the time right for robotics? Used to be true that building robots was too costly and time-consuming for all but the specialized researcher Over time, technology tends to get better and cheaper. Now at the point where even children can build and program robots, using commercial products  Today s technology, tomorrow s toys N 2N NH  0޽h ? 3333`  p(  X  C 0AAnrcxbrick    TH ??` >The Lego Mindstorms RCX  brick   2  H  0޽h ? 3333  y (  X  C 0AAnrcxbrick     T@ ?? ,$D 0 S Input ports  2  B   fDo??` ,$D 0B   fDo??``,$D 0B   fDo??``P,$D 0   T0 ??` >The Lego Mindstorms RCX  brick   2  H  0޽h ? 3333 ___PPT10+1D' b= @B DR' = @BA?%,( < +O%,( < +D_' b=%(D' =%(D' =A@BBBB0B%(E' =4 B`BPB`B?<*%(/%,( < +D' =1:Bvisible*o3>+B#style.visibility<*%(D' =+4 8?dCB0-#ppt_w/2BCB#ppt_xB*Y3>B ppt_x<*D' =+4 8?\CB#ppt_yBCB#ppt_yB*Y3>B ppt_y<*DR' b=%(D' =%(D' =4@BBBB%(E' =4 B`BPB`B?<*%( /%,( < +D' =1:Bvisible*o3>+B#style.visibility<*%(D' =+4 8?dCB0-#ppt_w/2BCB#ppt_xB*Y3>B ppt_x<*D' =+4 8?\CB#ppt_yBCB#ppt_yB*Y3>B ppt_y<*DR' b=%(D' =%(D' =4@BBBB%(E' =4 B`BPB`B?<*%(/%,( < +D' =1:Bvisible*o3>+B#style.visibility<*%(D' =+4 8?dCB0-#ppt_w/2BCB#ppt_xB*Y3>B ppt_x<*D' =+4 8?\CB#ppt_yBCB#ppt_yB*Y3>B ppt_y<*Dn' b=%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =+4 8?dCB0-#ppt_w/2BCB#ppt_xB*Y3>B ppt_x<*D' =+4 8?\CB#ppt_yBCB#ppt_yB*Y3>B ppt_y<*+8+0+ +   (  X  C 0AAnrcxbrick     T ?? ,$ 0 S Input ports  2  B   fDo??` ,$D 0B   fDo??``,$D 0B   fDo??``P,$D 0   T ??@0p`,$D 0 T Output ports  2  B   fDo??@ ,$D 0B    fDo?? ,$D 0B    fDo??P ,$D 0   T ??` >The Lego Mindstorms RCX  brick   2  H  0޽h ? 3333g____PPT10?+CoD' b= @B D' = @BA?%,( < +O%,( < +D{' b=%(D#' =%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =+4 8?dCB0-#ppt_w/2BCB#ppt_xB*Y3>B ppt_x<*D' =+4 8?\CB#ppt_yBCB#ppt_yB*Y3>B ppt_y<*Dn' b=%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =+4 8?dCB0-#ppt_w/2BCB#ppt_xB*Y3>B ppt_x<*D' =+4 8?\CB#ppt_yBCB#ppt_yB*Y3>B ppt_y<*Dn' b=%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<* %(D' =+4 8?dCB0-#ppt_w/2BCB#ppt_xB*Y3>B ppt_x<* D' =+4 8?\CB#ppt_yBCB#ppt_yB*Y3>B ppt_y<* Dn' b=%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<* %(D' =+4 8?dCB0-#ppt_w/2BCB#ppt_xB*Y3>B ppt_x<* D' =+4 8?\CB#ppt_yBCB#ppt_yB*Y3>B ppt_y<* +8+0+ +      - (  X  C 0AAnrcxbrick     T ?? ,$ 0 S Input ports  2  B   fDo??` ,$D 0B   fDo??``,$D 0B   fDo??``P,$D 0  T ??@0p` T Output ports  2  B   fDo??@ B    fDo?? B    fDo??P r   T ??P  Contains Hitachi microcontroller Robots built by connecting Lego bricks, motors, axles, wheels, etc. Programs downloaded from PC through I/R transmitter on serial port. 2    T ??` >The Lego Mindstorms RCX  brick   2  H  0޽h ? 3333.  n(  R  C *Ausing_17 G  Tp ??`0 XA Mindstorms Robot 2 H  0޽h ? 3333U  (    T ?? XAda/Mindstorms 2.0 2   T ??0 p* R Ada subset  2    Z ??p   T ??` ` ^ 0Ada/Mindstorms API Output_On(Output => Output_A)*1 2 1  Z ??`   N ?"P 7 if counter = 0 then N 2     H" ?" `  T Ada compiler  2  ~   H ?" @    H& ?"  Zada2nqc translator 2   H$* ?"   KNQC 2 B  TD?"pP B   `D?" @P` B  ZD?" @ B   `D?" B  ZD?"   H.?"` @@4  RAda code  2    H2?"P@ ^ \Validated Ada code 2   H@6?"pPD  RNQC code  2  B   `D?" 0  H\:?"` 4  Pto RCX 2   H=?"@ |6int COUNTER = 1; task main() { INITIALIZE_ROBOT () ; 77  7H  0޽h ? 3333X  (    TlE ?? XAda/Mindstorms 2.0 2   TI ??0 p* R Ada subset  2    Z ??p   THM ??` ` ^ 0Ada/Mindstorms API Output_On(Output => Output_A)*1 2 1  Z ??`   NR ?"P 7 if counter = 0 then N 2    HX ?" `  T Ada compiler  2  ~   H ?" @    H\ ?"  Zada2nqc translator 2    H` ?"   KNQC 2 B   TD?"pP B    `D?" @P` B  ZD?" @ B   `D?" B  ZD?"   Hc?"` @@4  RAda code  2    Hg?"P@ ^ \Validated Ada code 2   Hxk?"pPD  RNQC code  2  B   `D?" 0  HPo?"` 4  Pto RCX 2   s 0e0e    BC DEF 8c 8c8c     ?1 d0u0@Ty2 NP'p<'pA)BCD|Egg  q   v q i z_ z_ V EK D  '  . )  ! 4 $ \  o  L  XF g   k - 9 L Zz   t   8 Q}    dDQ.6ggyKyggOlsC<?}:u4 . -x 'F ' $E+#>Q#pR*D%*v%0   i i x HL@                                  `S"B   Hr?"  }/Bundled with latest release of AdaGIDE compiler 0(20 0  Hv?"@ |6int COUNTER = 1; task main() { INITIALIZE_ROBOT () ; 77  7H  0޽h ? 3333  PH(    H$L?"0 NWhy Ada?  2    H?"p@ FNo GUI for NQC, makes it harder for newcomers Leverage existing Ada compiler expertise Better environment for learning computer science. Students new to programming are likely to make mistakes that NQC can t catch. (Still, NQC is a great piece of work!) 2 H  0޽h ? 3333g  (    H?"``0 m'Advantages of Ada for Teaching Intro CS( 2( (  < ?"   S Strong typing 2 p  B ?"  n -- type used to specify a sensor port (1..3) on the RCX. type Sensor_Port is (Sensor_1, Sensor_2, Sensor_3);To 2;   o'  B\ ?"  0  3procedure Clear_Sensor (Sensor : in Sensor_Port ); F4 2  4H  0޽h ? 3333G  (    H?"@00` ['Advantages of Ada for Teaching Intro CS( 2(  < ?"  ENamed Association 2  Bd ?"P 9procedure Play_Tone (Frequency_In_Hertz : in Frequency; Tenths_Of_A_Second : in Natural ); Play_Tone(Frequency_In_Hertz => 440, Tenths_Of_A_Second => 20);l 2  *I  < ?" d0Enables student to see meaning of each parameter1 21H  0޽h ? 3333,  l(    < ?"@0F QSome basic programming concepts easily demonstrated with an Ada/Mindstorms robot:R 2R R  B ?"p  /Output_On_Reverse(Output => Output_A); Output_On_Reverse(Output => Output_C); Wait(Hundredths_Of_A_Second => Tenths_Of_A_Second * 10); Output_Off(Output => Output_A); Output_Off(Output => Output_C);6C   <` ?" ^Sequential control flow: 2 B  NDo?"ppH  0޽h ? 3333  0( (    <t ?"@0F RSome basic programming concepts easily demonstrated with an Ada/Mindstorms robot :S 2S S  <x ?" P Selection:  2    N?"` X--touch sensor pressed? if Get_Sensor_Value(Sensor => Sensor_1) = 1 then Go_Back(Tenths_Of_A_Second => 30); if counter = 0 then Turn(Direction => Right); counter := 1; else Turn(Direction => Left); counter := 0; end if; Go_Forward; end if; 2A'  1 0  YH  0޽h ? 3333(  0h(    << ?"@0F QSome basic programming concepts easily demonstrated with an Ada/Mindstorms robot:R 2R R  <t ?"0 dIteration: (count-controlled) 2 1  N?"  0 ifor I in 1..10 loop Play_Tone(Freq => I * 100, Tenths_Of_A_Second => 10); Wait(10); end loop;j 2  jH  0޽h ? 3333  og@(    <  ?"@0F QSome basic programming concepts easily demonstrated with an Ada/Mindstorms robot:R 2R R  <  ?"0 dIteration: (event-controlled) 2   Nh?" @`#  <loop & exit when Get_Sensor_Value(Sensor_1) = 1; end loop;A 2  AH  0޽h ? 3333q  !P(    < ?"@0F QSome basic programming concepts easily demonstrated with an Ada/Mindstorms robot:R 2R R  <! ?"@  ^User-defined procedures: 2   NX%?" 0  procedure Shake is begin Output_On_Forward(Output => Output_A); Output_On_Reverse(Output => Output_B); Wait(Hundredths_Of_A_Second => 10); Output_On_Reverse(Output => Output_A); Output_On_Forward(Output => Output_B); Wait(Hundredths_Of_A_Second => 10); end Shake;  sy H  0޽h ? 3333T  `(    H4?"@`` YArrays (new in 2.0) 2 u  H09?"Pj  Limited support (due to NQC constraints) Integer arrays only, arrays and array elements cannot be passed as parameters Supply predefined type Integer_Array in lego.ads 2 H  0޽h ? 3333  pV(    H`A?"@`` S Array example 2 =  HdF?"Pz =Turns : Integer_Array (1 ..Max_Index); Turn_Value : Integer; Num_Points : Integer := 0; begin Initialize_Robot; for Index in 1..Max_Index loop Get_Touch_Count(Touches => Turn_Value); Turns(Index) := Turn_Value; Num_Points := Num_Points + 1; exit when Turn_Value <= 0; end loop;L>A r   >H  0޽h ? 3333  0(    H0]?"@`` S Array example 2   Ha?"P  prfor Index in 1..Num_Points loop Turn_Value := Turns(Index); Beep_A_Digit(Digit => Turn_Value); Wait(Hundredths_Of_A_Second => 50); if Turn_Value = Forward then &  p    Hdc?"@ pF  MGives a robot programmability, powerful accomplishment for an intro CS courseN 2N NH  0޽h ? 3333  '(    Hv?"@`` ]Planned for 3.0 2  H\z?"`T  ~0tasks packages graphical simulator suggestions? 1 210H  0޽h ? 3333s  #(    H|@?"@`` S Demonstration 2   HD?"  www.usafa.af.mil/dfcs/adamindstorms.htm Ada/Mindstorms used in experimental sections of intro CS course 2000-01 academic year. Data presently being written up for publication (barry_sptsu@faginfamily.net) 2 H  0޽h ? 3333r9 MQ$>4359< A+aƵ5@7O.pC|_6| *"XtOh+'0 % px $ D P \ ht|PowerPoint PresentationDr Barry FagineLc:\Program Files\Microsoft Office\Templates\Presentation Designs\Blends.pot Clyde RobyF15dMicrosoft PowerPointoso@04y-@@@\.x@mq" fG#g   C& &&#TNPP2OMi & TNPP &&TNPP    --- !------ !2.s,---qw@~ LSwUSw0- &Tsv&--=- $Ts^s^T- $^shsh^- $hsrsrh- $rsvsvr---&& 33--- !2,9--- &`&--KK- $`jj`- $jttj- $t~~t- $~~---&& & H&--&&- $I l vIDD- $I v Ikk- $I I- $I I- $I I- $I I- $I I- $I I- $I I $I I&&&- & $ HH&&-&& &&-&&I &&- $I l vIDD- $I v Ikk- $I I- $I I- $I I- $I I- $I I- $I I- $I I $I I&- --&& --- !ohP--- &/&--- $/99/ - $9CC9###- $CMMC&&&- $MWWM)))- $WaaW,,,- $akka///- $kuuk222- $uu555- $888- $<<<- $???- $CCC- $FFF- $JJJ- $LLL- $OOO- $SSS- $WWW- $[[[- $^^^- $bbb- $  fff- $  jjj- $nnn- $))rrr- $)33)vvv- $3==3zzz- $=GG=~~~- $GQQG- $Q[[Q- $[ee[- $eooe- $oyyo- $yy- $- $- $- $- $- $- $- $- $- $- $- $- $- $- $- $##- $#--#- $-77-- $7AA7- $AKKA- $KUUK- $U__U- $_ii_- $issi- $s}}s- $}}- $- $- $- $- $- $- $- $- $- $- $- $- $  - $  - $- $'' $'11'- $1;;1- $;EE; $EOOE- $OYYO- $YccY $cmmc $mwwm- $ww $- $---&& &_)& &_& --"q@-- @"Tahomaw@ LSwUSw0- .C2 j(Teaching Computer Science With Robotics       !    . .+2 Using Ada/Mindstorms 2.0     . .?2 a%Barry Fagin, Laurence Merkle, Thomas         . .2 Eggers . .%2 CUS Air Force Academy    . .+2 "Colorado Springs, CO USA    .--"System 0-&TNPP &՜.+,0T    On-screen ShowUSAFAeep ArialTahoma Wingdings FixedSysBlendsPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint PresentationPowerPoint Presentation  Fonts UsedDesign Template Slide Titles"_ Clyde RobyClyde Roby  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Root EntrydO)Pictures8Current UserSummaryInformation(P%PowerPoint Document(P8DocumentSummaryInformation8