ࡱ>  aXYZ[\]^_`-( / 0DArialdJ+d`tآآ|f2d|DComic Sans MSآآ|f2d|B DWingdings MSآآ|f2d|0DTahomags MSآآ|f2d|"@DCourier NewSآآ|f2d|1PDLucida Sans Unicode|f2d|@ .  @n?" dd@  @@`` ( DCC&,!"#$%$&3'()*+,-./0123456789:;<=>?@AB       0@8 xʚ;NC7ʚ;<4dddd$J+d4+dg4idid aarapppp@ g4OdOd aara p p  i)___PPT12 %0___PPT10 ?  O   % &       !  " ,!-"##$%&'()$*'+(,)-*.+/01/23456789(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@(?n<d@ `7 `2@`7``2 n?" dd@   @@``@n?" dd@  @@``PR    @ ` ` p>>#9PK!(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!ypZ '!drs/slideMasters/slideMaster1.xmlZMo8/ ZdRE"C{e*ֆN!i[l]dbQ9L?eydLs]8L,G**fEd$y?~u1ROL:0#RŨەeT &^Ugyߝ;L Mϗy>O4fx1$%T<-j9%0~zkIcTqp|MG]P~8q┊GѢA_'P)8s*k"V8'E%.V#uݝub;cXA JF󦜧۔s= rnxiާ[ qI aN |D:Τ!lV.@fiƓS`'^.&?y5M4*ophl K+go@ija|C11%V}zՓ :j=cAty{0_ xUJ_|C֋1T9˞$2gagCet~:wݕ"w_%4!%#'nk ^?J^Gؼټ YkK<֜y{WFh`ܭ]10dP{6O8 ya]Բ\W"*b9+ו05wc3v_D|X{9U50+NeaGho4nwM1خ;&<{^\7_nl&Y8߹Wn,@Wn,@Gܑ.;!R txSdm:!nw% Y0xM e`|X}đ I`߽N4aG2$RKIZ)4(M9`ctB{m:f@`3n|O,ܗr޾jxR0T ,0@}WBLǬ5vPK!r6 drs/shapexml.xmlUN1}Z$$! @ }HQDzY7vn|}v.CUf3猯o7f+i26g)32]r<`ڠV:~{u3t M+aD%kpM#JckhJ'уBnĆH<&"BMU s-9o c#nKaaM hV3B *OcshB ZyiVu//A%E +0\7؆9'%/~^k dd$s(*c3.M=j~K;J$i?7>5t,Wg$Os A/d B3ȧt^ΏY%.YiM98"C2m Cd tH4NPFLO4p̸(%Jջ%o/M$6_N_8<<ѱ'xN,JI,&`^ŲV"%zθij)]_ Y˽vjAs4F- w |NGQq'[BW3>ҵ w Xc|QKÂpa9Ri47PK!ңdrs/downrev.xmlDN1I|fHAwa (0ng`ۮmm˓s|E[qdkQMaUc*Ϗ>QZg_ f+{2[>B%"\J_Ԭɏl&vuB)u+I2jxYsqheԩ}zD>\ƇuIZ+Drrڒ^ PK-!Zf[Content_Types].xmlPK-!1_a /_rels/.relsPK-!r6 *drs/shapexml.xmlPK-!ңxdrs/downrev.xmlPKB:2___PPT9  V A  &    x !Zd?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!up`1drs/shapexml.xmlUMo8/@ZF")6݃0{Q5E $_#NsZ98#yf]kF8L m+ϗ;)B$[qVrz/4t6L\1v(Z>N[Uη闣m@]fͨ{\e7n~l^4e.k),0,Wr4=0fN€ CXF ֚>R:/@oW=MwoŕqU%v˲qsy}34ջ(.ҚP؟Nnn.}#]kw6$.ʥGQ8MBLBpKOSc̹ ?M5u7ˀ%ΡT27fؐ%); o@%w^Ų;R:3MEFOgtS cNzח׌Ϻ#iDiZn/~ӖlGjLoKW΅ߋ5]O yz04<\M 83 t]5edߒq?xflyhƖh>6,1]S& Ww<$9؟4~:JTv*( imA6_[cncJB*<-ģޟV1v*V;ߜv5cbh>!D*Њl~2 oxv0 OMӦ4/LCBS#m0<'ab?uPK!5_drs/downrev.xmlDJ1!SN*&t,I/p-ۊhC *kS1SzG̨Twk>lR#2ŒtJ])e4[#߱]탥ch gmeQHKM/5W"|y}O[+]x~6<܃H~e(PK-!Zf[Content_Types].xmlPK-!1_a /_rels/.relsPK-!up`1*drs/shapexml.xmlPK-!5_drs/downrev.xmlPKB:2___PPT9  V A    `@"?Rectangle 4"Ë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!Hy!drs/shapexml.xmlUN1}ZC @ <("&^o;^΍$CUfcϙ9gnvfi2&g.22] 8s0mPf|/ft*KaRྛJ"Ɩ.NOJh7F 5i5!Oe*xy RuZclX_; j[kv)!wGֈ'Ў  w-1Evu[Ǟ:`P<mۗ=%t/~;O8BbelL,qK@ʩD(VHi?8%e/~ WuRs mڽCdT^ZUA3 A1E +Ptww&߇sOyl-tXqmQ;?{RU"I4u] vq2- c74BaNvC e11S1U<+ ۸iZX/Ӗ`d5 *ЊCqZUb"|qF,2d17mWפ.;_O_8><ѵ:Oj!,JI'`^պT"%zθċ)} y:U+rB4q6|]ɝNCFƝZH'm fb)B%E%y;~|#VXsrx+Y @3X8JvqqV⅄#>,W{؉QG_PK! drs/downrev.xmlDK0p_Kkqj]6@")knJ7s|9Nɇֱ| nQxu"DdcRpKq JT`bK)Ceb8ucඓY6[N{Zo`(^x2oz&./Hc6s_F+(b$$DA.~PK-!Zf[Content_Types].xmlPK-!1_a /_rels/.relsPK-!Hy!*drs/shapexml.xmlPK-! ydrs/downrev.xmlPKU_B:2___PPT9  V A  (    x`#Zd?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!Bb3drs/shapexml.xmlUMo9 /AеHmN5:)b虣xHIʯ_iN:3"G>Χ֊xWǡ)_*䏗1z yQ~O,v]ulRfATn!~vxVBǰtAG$Lpx;h8yW["Sr(ۀQ:ė_AG/?B6} p`C{).׵FGLPx>@58ȱ 1}bL.*dpDSPUX{)"Ӥf@9*bNEW5Ob؂-d7kܺ'bFǷ +WXF`Ylx)t"*'K9vM9ODr[tִ5M߮b;F[H٥ͤ,״ՁU7p׉]#gPHBt2p \I:nJU[s4ٰ[=*\yl]~JD($ɄR0waM%j B Wb&XZ9f^&>}Yfo|ן˞-7דec[%A&7*I_50%Տ%(39NLqY8dKna][eͫƏD:j ~_VI'Eo /<>E-Ifz6$΋tt @[3I5O~<QuD}hݕ#wL},YPK!/drs/downrev.xmlDn0D"V@ %Š A (z[Mbv!{hFoVJ+k 02ʔ`>X[C:0=>L1fvt݇E Bh2}^F߷ i 1K5&I5**lhQQ~hI~-6h5QNo>> k^j.>EQ2+V)C zQ6PK-!Zf[Content_Types].xmlPK-!1_a /_rels/.relsPK-!Bb3*drs/shapexml.xmlPK-!/drs/downrev.xmlPK>&B:2___PPT9  V A  '    x$d?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!1b7drs/shapexml.xmlUMo8/@Z8q*ERloa)<(kH+~INsZ{D9o~o5J5%~*8FJU<]M8LEY?tS16~ڕ ^4%v`OtNzij`TlEKSUɯ;6"ҒAO`̬X ,3[9k$U|h_^<ϖm:|wt@Z4׮W5(Pb<^Gx4Ƿ 8܌FqqD]ڋ1xQ̇H9D rT=)/9QY4ԁ"\yLQ<,jSoڱ-/W:A$KN4Zu[Οw$wwe]n' i>~%Ljb3B#,UW%Jtҟ4W?xlNcE8[K_9<>&C^餉VI0wq#ˊ:I1oJC/0 $ffz6Q*¡5 zƶYhU3Y5L\I:݆}牞~yPK!drs/downrev.xmlD]K@E߅e M#-Ң-B)|l]߻νgM+zr`>K@V\*x{[Yck\f=Yag/>CU]&+2g#YaOWJpp4IcCm+ʛ˷QskYj}F)zQ6\PK-!Zf[Content_Types].xmlPK-!1_a /_rels/.relsPK-!1b7*drs/shapexml.xmlPK-!drs/downrev.xmlPKPB:2___PPT9  V A    `%?Rectangle 7"Ã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!Wdrs/shapexml.xmlUN1}ZAX}HQDfެxe;7c;ࡪH_YuRZ <;r&QR,/ϣKΜ,A9Hoo~neݰy};teԴi2Ovit=xJY4Q"Xʜ+$ai]v1w[,/XJ +* 桦Z%: 4x<+VLIXg6T וmE1U93Mݬl0kM κgYĞ`u4GCb᠜[X&,F)B:g*GJAA+-[y1Rj<6[ȋ #ɍ2_%5%߱SLDhWSUDs,n[_ߛrOT_Y #3@QsmQ;?RޑY"I;4Pu[vsw b4$!yZzbJכYK㽝ʠ pD&4m @1YYlVTSfpXq/kc+2_mg y-}82t-PaHl<%lT Xa6_41UDS9x2HVLc\q3j;1Zʟ3Uxeh95 q^c Mu7fK2Ҳ㖫E67 iVyQQ|wNU`f׷O$$ aBAO&žyPK!Mdrs/downrev.xmlDQO0M5HI!dƈ@~Yfk6xrNou伲Ft#SXL%xx0rtTڋSPХ&~b;2+bt/[>KQPcGYMEޛV߼reB3@}7cj_F Ko)D(E/PK-!Zf[Content_Types].xmlPK-!1_a /_rels/.relsPK-!W*drs/shapexml.xmlPK-!Mqdrs/downrev.xmlPKx{B:2___PPT9  V A  "    x&Zd?Rectangle 8#" 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!r(R\,drs/shapexml.xmlUMo8@ZLUlna)zQ5E $_Ǒlˢ37o>~7FlJrEmWxu#Ed 2Ltz󱝅V ؆Y*v6U;j"jz1p~PmeR߶ /" XjI+`X-nw"0NCCXB}U>R:׽</WWEl_RTWbt|;HqxHeң'\'m!&J)R:P<\J.cCι Yh:սӟ[2W㞃Ux<??]V`u(Q:9(2 VvvbcxH]* Z ?mi*>/Ya|ןy|Doh+D1ln2 łm`7 uqM)S/HyΕ uIcw󚾁-Ifn{6I͝=SMSTU獯*mc4u:Ry[,Yw?PK!DZ drs/downrev.xmlDMO1&fLI+ aÅ8ُvi˲{z|Ƞێ8vuC%M+Y9.TGEy?阭B˽VvX4&+6W21Fb}=Zr %FQPK-!Zf[Content_Types].xmlPK-!1_a /_rels/.relsPK-!r(R\,*drs/shapexml.xmlPK-!DZ drs/downrev.xmlPKmUB:2___PPT9  V A     N'?Rectangle 9`  T Click to edit Master title style! !0   J`)?Rectangle 10 "  RClick to edit Master text styles Second level Third level Fourth level Fifth level!     S+    P*?Rectangle 11" 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!Odrs/shapexml.xmlUn6}/ Zdm'N5VY$A-FEGHo=CʗŢ=3s?|ܶZ5JLaƼfV ȔQ)/?Çn;OL!tjɿ2ثk)`^S^@Z=o-5F*w3V9є^IaEU Wh$_:BcjItACɡԽsvS+*=FALpAKWf ]Ie,TEݖ8J`Mk-U%h<L\]o`mGCv(1}Dسs>|R_IVBi=1=p>5Z@Qs x}yNś&('tfAQŔ%PWGŨ1-w ?f*rFֽIqNV7*ę"E)N~cVՑWd ܚ\d>xlQyW~?u쳝ԩO`Kl IkGXүPJs(UO,AL 0{AmI EDm1y{JO(|O&֦Sp%ry-i h doL Q^h\Hފ-c+k}-'c>k-x2O< \YĚx\:z<ꟾ{}ůW-jv0Pa'z&ONh:k9)Yڦ6 TԜIe.>ӛG ʤA~]$;KfwdwW7o׸duïwܛ9k+9Li;h)Y#^+1DsN^",Z5;2ME'CmO o7ًeϻ/PK!drs/downrev.xmlDj0DF MIhv7ֵ-jIFRm+h g8M2=b&Ҷ"Z$B6ۛVM@1,ClPBPq q`ѷ\y2b j:詣c$2>i/%_$]>u/$r]^H^B˲YPK-!Zf[Content_Types].xmlPK-!1_a /_rels/.relsPK-!O*drs/shapexml.xmlPK-!drs/downrev.xmlPK@R :2___PPT9  @ C :    P,?Rectangle 12"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!Jۦ drs/shapexml.xmlUn6}/ Zd}&*$h3EQjTIʗ|!KX !g9Ïvf|mMG)#mQY=_r0֨c;-agmƫ`e?V5"`S^ 5z0o Ufl,Y8VN83AW%ÛVl4/cnɈoIpb 3C)#O©Rq1CR.m¾Eep@=uE]PI4Se|-p\t1ەǖ%gz,BH]=" q)wZI x=1L JTuճhj ]cJ8uNԘ+{10:Hv_E={4cW`F!hg%l픶~,D {gI…W ;ز B ]Cy;2&n y1Gr3nP@_o#a?ۏy-uHRޤG`RoGA/]Ix)f}9yv"y Y/fQPK-!Zf[Content_Types].xmlPK-!1_a /_rels/.relsPK-!Jۦ *drs/shapexml.xmlPK-!%U%drs/downrev.xmlPK@`R  :2___PPT9  B C     P-?Rectangle 13"oiPK!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.xmlVn6?#13蚖X E$G{%-br6ҥxy\}VZWgR&+S¿<[#Μ:ht͏?&b8ݤJjnt#KޙJjƖciڕNj/<} ۥ(4)]UKKRz]ZVd uFδ(AIIvı0k_Lf-'TpjfSkn#E3CX5BX a:% kaoN#0s!sb2X7s[^1yx=:hr?|D=KwRH\?! iVO\#C hiTlSmO.ȝ6BKKrTR3lje3U Gu~3ANgAPQFJ9G֗`&;5Ud Fm}lgՒ3Yn̞wt]Ό :Մ9cE3e%B{*lf7DX2_Dž% K ӆ2? F!)(6UO7sQ LFX'Q=;;S[k݄T"Mv\"EJvz!pޅ0ȃxCdbBhQ[ϡ~ʶ`D%jqf.)+%tzWN4neO4뙲uzyHuqk!:21}"vb9$WYǣQk>[i7lnh: R5JZJ!]yˢ4!W¥n}Y;'`c³NFt(f$Ξ=K܍"Q4ݪx?%5L֘d ,Nױ:QEFS<Ԛ~ $*[BEcϵq4 Թ&3PsF&gXRyߌC)*|SBF;ȁRXA; oqjy?7PK!(drs/downrev.xmlDj0D. J@Jw7XTG.0z&rFBVv5$a& eϦ -K Ѕ0#~aG2kRt-W  {:鹣Th 2/{?dkE&>= 0Rޕ{zU>lPK-!Zf[Content_Types].xmlPK-!1_a /_rels/.relsPK-!|, *drs/shapexml.xmlPK-!(Xdrs/downrev.xmlPK^`R :2___PPT9  X* C <  c $ ? 1380___PPT10.l !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!. 9.theme/theme/theme1.xmlZmoH~gyYۓf~nMɐTu1d6 v\TUuGƃaM뗎id;6[FQd-4_~?ދ2cIq-fPUaZ&cQ6^s|b&lnkpY#Oʂ&(_c@o8Lȷ+7ʍ>#ǼJ\+l-{V *tĮS D{mًY#6Ѩ9g"IoȰaP0 ]$E;Av/8D`"veA.I) pv*n8DV60lPyUJFr i(¿[-#6xl&負K ڪ.`닰zoлQ!k 4KALb /Gt\>rT/ҍ|!^xsƼS(Q{[MNkߗI f"+ޮ(x@时k=yDso mV& ,KbHQ_TރUӝr2Iоk$ckF9EJn4q|"8羚 G>t7No%UןO]tݏՍ[J#yi |LG6"TRi~O1 ԁ,^XM0AѢ<p'VK'K-A*>&%˄_+QNvN=]p۳v˯Րz_AVpj)VӵTQ? l1#h.s'Xw9R1 Ih(yL^Yye'W1*N2fPK! ѐ'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-!. 9.theme/theme/theme1.xmlPK-! ѐ' theme/theme/_rels/themeManager.xml.relsPK] : 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!!drs/slideLayouts/slideLayout1.xmlUn0?'8vЦM/y;Kё$HFCJrP";;+Nֵ$jJ.*4˛ Jg`R+1㇉ɝ,nFx r6&OKQ3wPҶf[v-Q%5ZU\|ʷ VH摿++z43Xߦ7ՂT\Sm/QVI #K̙"85 3[RCI3[3$;O=+[&,;d=qV8IS^>=IlBVQ_)ٶևVgGFN~ǔ=(ѶrDWki]Ky㖦,*g Z?06gGB~YOq"5rw2wW>E j6FWWU(Z' w7U;]]}:R^+!XI "raDs9/`΁--gX93PK0CV*j c%HlKLͻ[}/i(\'~R%e~^l<<7T46"|0E&a|ܽ:C2-xϭ 1+sbygE,Snr1e&ة &':֛SgQK&TjW6Nr[姠FZ]ckDlbf~pZLDH5q19el1Rfu2~~eXTJ̿jlCȤ7aE=/<8&Aь7dE7{)bݜAm&qJѪRc2;t;06NAx9:u2T%;.@ ,9/`:FMIt?)CN>5J}5il,Skh<Ŵg]kEV>:QfiRsAdInp1YP:| QǺLbV,D=Zwb+HoU xؽP9P0AH7l{Oţ /<F ^8Sw8MA*# T <@B' *8Z&m.V±=4Ւx'tԙFmmUVy{&RjeJJضX?դ\`?#Em';& ,C8-U}lV} ("M쏤 [tDʌ)KEѴdtOIR&WR]XSUɓ|_) ɲ?d~uv(U?b34Bq;֖Q$}R,D>/zYrO~E6!y9! aX4q /V` EC#gmffC6.5>@Qbq< %ͮ@M+z>Φ7]~zCFU7m Mܦwj3ho}; IM mtM;鳈o1|ǽ߁p9Pz-I!K_PK-!M[Content_Types].xmlPK-!p8ܾ8 ._rels/.relsPK-!Rˠ!drs/slideLayouts/slideLayout1.xmlPKPK!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!( !drs/slideLayouts/slideLayout1.xmlWr8̾-?@<,ݛ4-boe#+{$[4{c|tOlR=a.2~Z32QJ>nZl_>iYleZWhT'/XijM W=Rž#< Kݯ/7<SnHL:˫ڱUC*k]ÿG,Lm@*#MjqCmLHeOqԋI0xD҉"=nX,ӽ~mFX,j{~+( L<}2o`o=.b8 f_WB/goыȓoD&X"6XUXfص}2gMY7#Q6)un )ߖߟ4MC;.-!=w|h|?:۝&.G>ֶ p[ڥ _Jf 1TkPK-!M[Content_Types].xmlPK-!p8ܾ8 ._rels/.relsPK-!( !drs/slideLayouts/slideLayout1.xmlPK0puPK!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!aBp!drs/slideLayouts/slideLayout1.xmlRN0#-&x^VjqvClk=x\uFVahb6LYs{,D%hgU{X,zw"Z3略ʡH[܋ዼ0X>F'Fx4A!Rn|9nU R=`?9K4l X˭.C]b `;Tjl~7oYSQx0 O *42z&+ S]d_T\Y?`RXTS_[9*O3_1PK-!M[Content_Types].xmlPK-!p8ܾ8 ._rels/.relsPK-!aBp!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!R!drs/slideLayouts/slideLayout1.xmlSn0?'s( R8m/Ill%" rJ%%%mC.|,g;z1R/WRծn_,r(ϟ6^ESI0 JyUQ7At-\xE7swZV#tj5:ܡ$cir%Y-dpg(EkYz}0qP"IǀVCNxAu"e1̰ E&0N6 1lL#'5;X|{],p/&U\-r&/&(pOQX:I~9Fe >,n\=&xAP&ҁF.H}} pQ5~-{A._vqfJ|Ü⛹B^& 4/S0u[9nB?PK-!M[Content_Types].xmlPK-!p8ܾ8 ._rels/.relsPK-!R!drs/slideLayouts/slideLayout1.xmlPK0PPK!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!󙖄!drs/slideLayouts/slideLayout1.xmlX]6}`}h`n_fgFLM1 ޛLZ ~_|iWl+t)9s܏C $/3a2ṒbE|]Uyrjcp*3'5*NEޭ.eh E>t|^gYśBHShsWiVVVjQ >5Kּnwy$/B%Y$ʕ1r.哦 'Ͳ Πy g_,vk]x`I'L8}_.v(们=zgYe&=xUC9LWI~{֒H_ =R5%+5`4}E&Oczt12CX"Xf.#I%{3|SFxWfi9mH:g@چCx>삜c  0\p(&fȳ3$3 Px+4M6d8Q [2#얪ՃNԉe_e?uҘk35KΜ 0 sj)0c(ό^fүҫN%]SH*wiv,:eZ>+l|X|I_ [_i՟G[;+lqCcGaE^T؂SaC9ѩ576WѴ~wiꖖw+=qJ|ثkJPK-!M[Content_Types].xmlPK-!p8ܾ8 ._rels/.relsPK-!rr !drs/slideLayouts/slideLayout1.xmlPKo0fPK!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!xS3 !drs/slideLayouts/slideLayout1.xmln0WwrߒC *Tۢ>q DuvYاCJ07!wB46/8nÀI-,׫q2~3 u\g\Z**{10M8X;WkYp{[VRٲ4wiV?`S\D\.s!⭐#w߮ʶZekvR< 4\Eʘ.fRqF)INo~jVMWzL 34AyЈb8tީZOKSLxl8@v %ʭc[~>#+HwZ`o'nÙNIE9TKj.'_'6-b&|fuG+o}N[GHu}:zp0 %%IKF8LHK]nvQ9źD:ੲnv uy"xĸZa\ƕ;`6#\lrl"%DqGo^f=(aMT.^+r~qa>^HtmxٔN*.EcA^EKycA^IDb9HCDi#0RW`U@4$d4Hˋr$Jʢr"ZH~.Yoe~y}+Aу1ڗ?PK-!M[Content_Types].xmlPK-!p8ܾ8 ._rels/.relsPK-!xS3 !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!;VO!drs/slideLayouts/slideLayout1.xmln0El( vM7yrlHU;$I]Fу{8Z}Pra2\\|,D058-~=aʠ-viPŒW1(piH~[HId4\Ԡ )vQYNģHJ0SԜ@29uIu>,^|NJKfa k")1w+9Yzdy0z(ޤo%(_ϧP qZ6]) JG&A2*#~$& rv& J90cg <'yW|Ldc1baW+dyJ*3*J א @ËVEP D,Cۀ$D'h<|AI3SC!7ȫdMlA`e"&ê$5@?`t$6w3J Sfg, =A}|&}Rtg؝:W^mIrvo>zLd>޴Er#H;B_BcPK-!M[Content_Types].xmlPK-!p8ܾ8 ._rels/.relsPK-!;VO!drs/slideLayouts/slideLayout1.xmlPK 321-Slides& ` 33PP` 3333` ___MMM` 13` 333fpKNāvI` j@v۩ῑ΂H` Q_{>?" dd@(?n<d@ `7 `2@`7``2 n?" dd@   @@``@n?" dd@  @@``PR    @ ` ` p>>#9PK!(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!ypZ '!drs/slideMasters/slideMaster1.xmlZMo8/ ZdRE"C{e*ֆN!i[l]dbQ9L?eydLs]8L,G**fEd$y?~u1ROL:0#RŨەeT &^Ugyߝ;L Mϗy>O4fx1$%T<-j9%0~zkIcTqp|MG]P~8q┊GѢA_'P)8s*k"V8'E%.V#uݝub;cXA JF󦜧۔s= rnxiާ[ qI aN |D:Τ!lV.@fiƓS`'^.&?y5M4*ophl K+go@ija|C11%V}zՓ :j=cAty{0_ xUJ_|C֋1T9˞$2gagCet~:wݕ"w_%4!%#'nk ^?J^Gؼټ YkK<֜y{WFh`ܭ]10dP{6O8 ya]Բ\W"*b9+ו05wc3v_D|X{9U50+NeaGho4nwM1خ;&<{^\7_nl&Y8߹Wn,@Wn,@Gܑ.;!R txSdm:!nw% Y0xM e`|X}đ I`߽N4aG2$RKIZ)4(M9`ctB{m:f@`3n|O,ܗr޾jxR0T ,0@}WBLǬ5vPK!ܵdrs/shapexml.xmlUN1}ZAP @My(bfčw_߱I"C2{9Ԛu`{]$ S*ey|r%h2[/565{ߌ:'wjV[G;4V:<uwjPȯ(\ԆH<2>g5|̴dCiR> "ARZXS{@04ws!o5비Z'bCB^ ;Ί) +,`l},p*>6y@#Lbș!h,qK[¡D(VXi?ڎ$e+ mRc ubwhBZyiVu/ᓨ˘AT1E +Pd7܆%}~HH P̍͸6$wdH(>5tTVd@S 􊦃^(,]bzFV:a_z{!>K]ʠ pD&v_ .QP^y#*׈iH{pȸ8JF7K^Z,IϛHl_?<ҵZ$ˆxJ $S@bYVV9O^rGH\nvjAև&g iß y>ItZc|IQ{I5>x$~H՝,#- \-8n1{R"=܃X^_-Ehe b|zW"yY.fMPK-!Zf[Content_Types].xmlPK-!1_a /_rels/.relsPK-!ܵ*drs/shapexml.xmlPK-!B^ndrs/downrev.xmlPKsPPB:2___PPT9  T A     rbZd?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!HY*drs/shapexml.xmlUMo8@Hd*E4-(Ş)XS@_84E3"7o ?}umقO>9SVZe<]r0ΪU𩟅 ml4 U],;闣ޫl:37Nhpݔ'K,,f ϲu2&23IiXSIsd Z mG0KӔ U"\]_}Qq6ӡJa0)#i8ah-V"ز UBƬSR/<Tw<O oj ɽj]'qKZLg( )[/Xfu;KgZIx^,!>782>N^0,+l|z`< yI&_7LC4n,sMH0xM e`|X}đ I`߽N4aG2$RKIZ)4(M9`ctB{m:f@`3n|O,ܗr޾jxR0T ,0@}WBLǬ5vPK!ђGdrs/shapexml.xmlUR0}LAͅ@iӴ`,'jGs뻒xtHykk={zSk)|s&QRlƮaݸf95Hk5xz^cSZyUljf*3>$(5|̵dxKJ@ F,]IiaM-֬JGlji ]zy:+$zC-xSXTSUl!g[b|`,7 Z9q&hit:SXJs4ʸ{j|P"sFr}QwڲhU]Jc5|6<͡ -DkeZ臿|XJ/(bXX 56(?\G~m$k، oSoIrGV$XCAe5i(x^p %G AB'KhDǬOxkA2oɤ[-/f- *0C1oD@1>`?#qzGhaVDm'ၮ"cf(%z͖mj[%ZKҵ JG3T!k Iʐb;YFZ)v\A]om#+Jб{"Q^,&P+Mv{~N-:.*/5HHr݂pWn iNQWPK!gdrs/downrev.xmlDAK@aK[,-R(تx$ 6 [תx6p9@6\x3)zuz#oK )uֱaXPi(pY-ÆeƎ65߻v'Mͼ7lhHz>y~` De__[h^PK-!Zf[Content_Types].xmlPK-!1_a /_rels/.relsPK-!ђG*drs/shapexml.xmlPK-!gldrs/downrev.xmlPKpP  B:2___PPT9  T A     rbZd?Rectangle 8#" ÿ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.xmlUMo8/H7U$ˆRLQ5E $_ǡl9-9y3o˾3l||q̙ڮ ꖳqVry0 G [Չbq~5 F3x|3ꄶWm/}3]|:̊1Q얏/b: HAR{Cz`=wV:mD,3}u5MtHI.EqM2r3'\bIl]_p&5<>Kܣ.BLM?>TNG]oszo[6tc4(Vrzg?Tubp,[ .nB,0 tV5e ~L٢ h>2YaLXQ(d6C2 שXlC `RaGpZnD 5e/˥YC^8{N4[ტ[xsCgr݆ {q@Iw?PK!1^drs/downrev.xmlDMK@E n$E)ӢBUE[3fބI{˹f4Ʋt .nRYYck\f=0{>Gu]./j2#]ivxp,IC=TQ]?l{+vPj|h c_z DrvޣD5APK-!Zf[Content_Types].xmlPK-!1_a /_rels/.relsPK-!W**drs/shapexml.xmlPK-!1^drs/downrev.xmlPKP 0 B:2___PPT9  T A      r cd?Rectangle 9#" ý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!75xV,drs/shapexml.xmlUMo9  Z$Iд02)zh45@KRc;iQp$J||>}vVuƻBN>NڸE!>?]Kw;}꧱xi_6~:Ek{$ Qt.A@Wx[<~A+c>iV9? W8 !h1 oZ uDmĘˋGj׈VcJ06;Fl u! SMBˏR(:b92!ڟBE X ֳc P?kOMZ~Ԗ-Hc."(Qk b " Γ1EoNָpK`K7XM?2L;9M!o./D&׺3IaMW Kf3!m¢Rڳ@; P<^y8@NtևBrۘʴCIϫJY;3$Ol5jԸ`8Q)Q;N!e 3wQ. "aqVax±5_9&$֕"TWs nQ/=uw<42?5,wvyV`>bXVvIPa+l<)l$9e\uL+O%>C Eվwb f-):ЛO ca^|d͋ƟD:JG>}C/+ ɃƢJq~Ju%s}"z݀B@3JD&:cq5ߪ;Ӑ 8V v^,PK!drs/downrev.xmlDAK1F!El-kӢ.lq.n&$7x ㍧vbO>5 ʙk /#!"#NXw%WY¡@ M}!e'lŘO_K嶓JK-{zn^X |GLv8Z'H "xzwWjfrYb5东/PK-!Zf[Content_Types].xmlPK-!1_a /_rels/.relsPK-!75xV,*drs/shapexml.xmlPK-!drs/downrev.xmlPK a*B:2___PPT9  T A     \@ c?Rectangle 10"ztPK!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!q7drs/shapexml.xmlUN1}ZA.@D#iXY7qlo.|}&0{9{u5[INIT83KeƷ_kmF7n2zN,d 4i2Ovkt=x*TްjPȯ(\̆HIAZAԈ@)-w(֚BBB֋vॗ̎b`J 77E1U6?l (x&heH VF7u4G`᠌[%B9g*'Jv%y-[x1v~1 #2__"=L,cSLDhwRUDs,nXRܙr - Ӿ@E4gbalƅG|$#Dv&i 44<@h0’%dcVwpc}ʗ0; fA7 M2,b֢8$FT3|3gq'q(Vo+nhIϛHlpBmZ-PaLl<%lRXl֪6Uzθē8+͎V-1l)m+z;1|zc ]at43kL/)j/ɽo(ebU6AM{ "bjX'S% IN}X $/i=PK!{drs/downrev.xmlDMK@@!E*"RiRhqN>0;vnt5rȈ+g:n4=_?@"1i(jy~¸:D¡@ mCTZfn V;o1e<&^^YX.8SKWm5ywǺ04}:j}y1!4eu{W5"כw! q*PK-!Zf[Content_Types].xmlPK-!1_a /_rels/.relsPK-!q7*drs/shapexml.xmlPK-!{gdrs/downrev.xmlPKiB:2___PPT9  T A      t@cZd?Rectangle 11#" ÿ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!VW0drs/shapexml.xmlUMo8@Hmq5Iд0t<(5E $_3CNKQďyΊxW)_,䷧R.^GWYvqMFQZC rK0QgG ^6eEF,paGj1Ѱ+D1j(;P[PG@F !9"vQm:y f&tgj% to#b}!/+3KBk)2􌂶!Oڟ.*d0&c"BN)(2@`=&e =;ˈ99K>,>}o؀-d8XƗ'c~9VtLd($IۇR)ug-9Or;tt| $ԏ89F4(d\Xar|6izO *sͷ Cᄑȳj}(J!T=,Laf1VA0xnPu(jt]TJD'gl (B5]XD]CD$t2 kv `]+B{P)9pq!m{y}jF=j]>,[T(E0xM e`|X}đ I`߽N4aG2$RKIZ)4(M9`ctB{m:f@`3n|O,ܗr޾jxR0T ,0@}WBLǬ5vPK!{7LjaVo ysvə+RF˂]xpX-x]L&^4#XWQm'I/u@OZͯqޯEK;?@r@ A]p9H|oD4b G U@T͑9 Dz/ΟHO Gšv[Sfu5c/sȃj~<+ q=4oEw2%J1G]c ~Ƭ#?*U P J'r#%p51)r{oa{c3gOfϞL]W$H4p^wtZ/9]*i:KaVDǑwrv" ̺!+eHGLKګY8-*Y?cjVr"c{B6^o<54J7s.A+t䖩0-Sm\C ƅ-io.Xnґ|l q$jk3*2JdJ\K>ykqνݛ:߰[ dsHSTi,Z VIy>-u"G m.*r.gYTgQX+~kϓkwQml']|̢1mpÀO:>K}e,jVΘ:ڱQhM <m ͭkX~ZŅ&@jLG6枺VA(r^nKU>^6TIGS_PK!>drs/downrev.xmlDMK0E!<6 u22`G7^6$%m\8˽L>hg%)m{ /7wBDpt$(n{yJ4c2Ć % 1N`Xl: }ϕ%EQAmÀ=~y-S{>yQ$)=H)ǺoC* X?5^C$/!eլ | PK-!Zf[Content_Types].xmlPK-!1_a /_rels/.relsPK-!drs/downrev.xmlPK`p R :2___PPT9  D G    P-?Rectangle 15"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!mj}%drs/shapexml.xmlUMo7 x }Dvm!6ⴀjg\-#.ɒ\Y kAq/p9̼7l'}P|n̙4Vl e}vY`*Ȃd̓cx؄+xFA4:ipK9/4"jh:_ZP_UfrKOx-=SUh1FK69+ba6ϤRyx3B&5Nxo Uw25(ӬG O>J\j_w X4+.Zڷ-u(lz5#_Lg3}dW cv;RRΙ!~Y1Ln"{ A?orj ~ULt1m :P:%#OpȰgΞ<`jə`]Mf3$!E3S:+,wWħmąY9A]E.x%71aHWBIB敬 {iUuN y=\n}wx!}ibr>WiЫ_0]Ђ_$xLLT(rAE$ JC"1KX[M<ět@mZimyτKS-϶]ZUeXKseuBʌu n0R^mQG]%1A;8'CV$е7.-5i̍̉/'-][(Xutwo'ӫR8s*ZQϰ|NNm͙"|!B?EG'_PK!Lkdrs/downrev.xmlDMK1E!<,2mZƅuf&8I$Nopa{9\'3|J(g0Sv>V,I8Sjr'i;!6T(q8MO̍ds:o0;<2 \Ŝ6?8sOH"aٖ(EIO `R?$`m}>zv"y Y.fM_PK-!Zf[Content_Types].xmlPK-!1_a /_rels/.relsPK-!mj}%*drs/shapexml.xmlPK-!Lkdrs/downrev.xmlPK`pR  :2___PPT9  F  G    Pc?Rectangle 16"E?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!K drs/shapexml.xmlV6?ehhM cgJlޢ7v-{$ov[术C,} oP1;ziF*"P{=Gѳ *8d\;rkC(Ukҁd℘ǹO'?xj{ sw>qhQHG.M&`ɇ@gr%\M0*&<5O~uF=o]po;Q e8'L Kb(T\rY&VKWs*a0#s\0BT@(1ַR,6lIXn[H [FgߒP:[eCO=ܷsWg_6 ds S6gi݉TdЩ!).vT-2jN} @Fw"*JX4W$6JNA꛿PK!%Gdrs/downrev.xmlD=O0Ew$ب uT5~IvdX 0^ݫsudF6Y FuJ^=*% nX+wGس F CSyh2Vn"y1Gsf(*nP0DOH+Opx/QE&EJ<6WޔQkuKrY5kPK-!Zf[Content_Types].xmlPK-!1_a /_rels/.relsPK-!K *drs/shapexml.xmlPK-!%G2drs/downrev.xmlPK4`R :2___PPT9  \*  G <  c $ ? 1380___PPT10.l %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!h ;.theme/theme/theme1.xmlZ[o~?gEì#BVx=Me~~UmlL fv5.Ww]??đqE&cc~0َnQ"Y(M 7~R\evyqQxOi'xIXͷ\܃o]t;E,4k[F?h+$eA^/0""߮(7D46; qMSQ~[clNσmkd/gHۼGN瀞$y$ӢMj3'3wx&p LDarۢ^,l{4R&~yu;E+ǡ%6iRIb9xJ7((3#lvn6+0i¬V~_wvG"#!\[B2 ˒Rԗh9+z!D,.tD w/ ؇hĚQuR.*e8z/f&8,!tI'd).,]cuH^:e) )wgB)4U`jOKo/G,&\ Lhp`%%"i~Re‡(\n pTGjxX@@]{WOܲT\N1qlO[e?ld';Jv8<v/Րz_ͯAVpj)VӵTQ? l1#h.s'~[w9R1 Ih(C"j= pcHS i^aMOWuyD^Yye'W1*N2fPK! ѐ'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-!h ;.theme/theme/theme1.xmlPK-! ѐ' theme/theme/_rels/themeManager.xml.relsPK] : 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!eh!drs/slideLayouts/slideLayout1.xmlUR0wl'4 $L^ 0g!+YHI+BCK"]=Ov -7VrYBdfݞMb%JY690Յݫ#rNijYj4lG`7"d(mh-.߼'_5_6\bֶ۪GAӆ[Òl/uܬV^}W;L< %ƭ +Q^d24:~!O 7.s'ICE,1w’ 1.=Wc)wq\bj\R}Նˀ f"liAs?LPK-!M[Content_Types].xmlPK-!p8ܾ8 ._rels/.relsPK-!eh!drs/slideLayouts/slideLayout1.xmlPK 1_321-SlidesC  00(0(  1   `ly˼y˼?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!U~drs/shapexml.xmlUn7}/ Z89,dFP rgj݈KnI.-7-"VCr9s1b}P msW)_fRl:ǫC+pنy*v>ҍ \-JOmT3Aj+ݮڥ').LgӋs)j`AdA(X|z0)ÿ}pe5}UZaw_Z@%,m%ʪ`9vG+Iwn+ֻ]k4ͩn;,>偾zEb8 9/.fNv'#P&=Bީ"D"hYwWs죱>#v|JF8LΆKRn|DU$AcTX\ʷqŁ DJeG*知y"Z E_NSEl2¿=Y=]s 9^d"+eVŅ]9)/-?oĉH{T-.S1!mDJQ|T<\f 8bMR:P}xK Lm WyB/7ȅI[Rl+k(Ѷ?FW.;+C#B/(Z\G]~5?^?uwkKnݭ_;ǰrc1J Fh"隺q_D*|Τg_Vs:1.Fh:z.n݊%)6,ňCS5ز4M%nj|Ε$FRLNp.m2_4t5XIa4@[-ҋna{:z9n 8K n`[b`bC *62 ג]AїR{"4r$3i–*ʯ(xp>va7Λ/+ǭEb6Q|.{ L^APK-!Zf[Content_Types].xmlPK-!1_a /_rels/.relsPK-!U~*drs/shapexml.xmlPK-!.ydrs/downrev.xmlPK.R  :2___PPT9  R   a5   `y˼y˼?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!Y%~drs/shapexml.xmlUn7}/ 8,Yۨ!XLrr&(a5$3gn?j#6ڇL>6wEe3l"E83A~~f6LLbl^WVkY|"x*PmzWk{2Mw5}ۮ*mnZ@%,J}E;*' ::Xnp.6:ק:@︲?Cbo>WS"pp?"9FW ,a ƇYz(cf"x4A欻9ySL^]#2~Tu&'}%R)7~DU$AcTX\ʷuŞ ,tJe㙏GVοH EnR-rj<,"/F dĶ3\Hx5$EcrW7*I|ly|%ND>J5'r:%"&Nژ2h^BOjxaB.'FG()/(.;`b'0U+?c&!<_}o#>&mf֯9Z]@G1bF-Msϧ 9|GQ J8jk].$NO;exyS+% 2)d-+亭U%Rs&=0xM e`|X}đ I`߽N4aG2$RKIZ)4(M9`ctB{m:f@`3n|O,ܗr޾jxR0T ,0@}WBLǬ5vPK!{drs/shapexml.xmlXn6;YbHf[0,z hUSJRɩG^'-E.HgoJ4:wmΤL^ꇔ9K8s^\(eʷ?av: Q岅{gjV[ [ЪtR{qPZURKҫY=$eWS<`8L N<(Ӌ[lvΈLn>i"4NW֚Bc }p|okx97p=FX/-G$ww{97?E Mac!;(v;Iܦ$!Hn<˰Oy4~2 .GOHhJE>Cb5q=AisS*u,!H5) |U3UV)OREGǺE c5*DQEn~?3ULA`pK]ا++Fv j=gQ{ܡdY"BrMzW85ߪ)@F3E8}n`CXO%$ 6jCst 8eq'3NRcGm)&.za [Qna޴Y0!Ipu6<[ re{иK ¿ zy3Vn7ǯ B mZ-`:mAq@/汫pZ "F ,eؤ\/;QcFµIh%f$Ζ [2N*V4 BU>_-%G4NS9/G SWFۡcm1F8ʜzeƯ1~TKP@ ɡp~)T3)b2b!s$ؘ%~N{RFі=f_? ){NA4GD@HW~t=nl'Jív9ݺ'f~`t$ [ķ owë+PK!sdrs/downrev.xmlDn0DHVX0vTewoJlGﱺ(ьlvjXOUF "`3#+]~9Zbc4 iDAv (o]VB73-*!ڂKC/hV:<ҡtJ}WyNqxyk`FTZ$,V8oW[3:OV@ PK-!Zf[Content_Types].xmlPK-!1_a /_rels/.relsPK-!{*drs/shapexml.xmlPK-!skdrs/downrev.xmlPKq9 3  RClick to edit Master text styles Second level Third level Fourth level Fifth level!     SD   f`y˼y˼?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!drs/shapexml.xmlUn7}/ Z89,dFP r]ܒ\]=C-7-"p̙ ?|7Zl5JLaLppo5[[X)5I 8; ۴flȹp< вvV[$Nv}XƉD_[=a-UH C.0OxG\t%zsxKCn kSbF6D.\H֊mb*kucc^R^\vT+ͅ|[, ~8GU}kf^W?zmj#wWitScJƣfIR4q%7]S7kHEΙT*Xc'oI Vz]n*JRl7^'oկȤ_ڨ[:k+_Z#iC&鋷.ymF V`%!rZ]c7+_ v559boˊҘ3EiEHtevPK!*AGdrs/downrev.xmlDN0DHki*ԭ* phSq^Mb`;iүլ[oݰW`d +t4kHH3i/H)T,BP@Bq4mĬNctxpE\2Ɩj*Ni~U0kv 9?)`Jq|<~8%9/FSPK-!Zf[Content_Types].xmlPK-!1_a /_rels/.relsPK-!*drs/shapexml.xmlPK-!*AGdrs/downrev.xmlPKqR  :2___PPT9  R   a   fy˼y˼?Rectangle 7"^XPK!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!z drs/shapexml.xmlUMo6 x-l_Xea;m70,z%*VC*I9N}C*wE Spͼb{i]itʓw=ΤL^L8s^\(eʟ.}=s5afuw׳ne;Y Rc0[[Juި[RKMnknU*aw?@T~T 94zi9b9=1bWÃh#bv(lunDd8/8{J4Ʉ {m,xJJGH*G/JPyQ xD}.,bt& GQEuA- Q;c9{pTՒ3$je8 bOw;F} kʷ '3U-Jo )omxD-~m(H9QoǙ_{dGDŽsY܉!cF A <н` A0U Lbq2:G FάR>lFyv+%=\uJu3ISA :l/( J8Z,dmp;/صf!hol_ìB ˘2$%f,s2,egx5vӤ׹ZL~jЎ\c <4UY˘r;7qR`ۘlR&-0لgҜZH! 4M\U>˟+%L4SК^l :~qF95 t Fc !A$J4c- iסjAhnKNX'C]RTf̅&˟Xx -Rka5e Q3<̷+#ѱ#Y^f|_PK!Αdrs/downrev.xmlDQO0M5@'&&|elm|Ǔs|Uk֑wJeJy<5$` 3ifO!,BP@Bq4md+txp]i\2†**~xKˮݼZ!no#@}o|:+Q[)`:KN/ÇSr>m4PK-!Zf[Content_Types].xmlPK-!1_a /_rels/.relsPK-!z *drs/shapexml.xmlPK-!ΑDdrs/downrev.xmlPKMq2 R :2___PPT9  j*   a<  c $ ? 3380___PPT10.w` 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!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]` : 'tPK!(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!E2!drs/slideMasters/slideMaster1.xml͎0nوbⴇUwh' ,}>Ig =tJp3{zdڔJYtcPJJMcAe k%R>~6ݾ؝&@$& C Qp,uzfJ^oVP*̯sוPvD 7E٘=- q;)hy­0v7B"72jurIh+SFzoΝ`Ajk^+nɀ?ܷ 6=1 Xs{j۲#v׈820G^6…Fא,׏}Nٯ?) $ȿw ȈoBΠ]2[RRuۊ#eR7)qs2OPV Sʆ[Ǖ9"@.i]Y+Y $_a }V F-Xq? GX~1u/X'F(TW.養hh2tk Dx@N^@%x4Tt$->~p؛PK-!(b[Content_Types].xmlPK-!*8 *_rels/.relsPK-!E2!drs/slideMasters/slideMaster1.xmlPK! 0(  <  c $ ? 3380___PPT10.m: 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!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]` : m  UM 5(      xb0e0e ?Rectangle 2`   HReview     ~@b0e0e ?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!潟drs/downrev.xmlDMK1EBCx;R}-*j B;.\>'o>$8uys9[ѳ5wªT d0‰=,9e͎}DBBI鋚5ĮNSUR9:Fn}+B#style.visibility<* %(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<* %(+8+0+  +"  u(     x20e0e ?Rectangle 2`   SModel of Software     ~b0e0e ?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!drs/downrev.xmlDQO0I5 :0ldRFmKo';'ύ V ދ[gI֫s@1T"B,稠˥&+B#style.visibility<*+%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*+N%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*N%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*%(+8+0+ +"  0(     x`,b0e0e ?Rectangle 2`   L Components      ~ *b0e0e ?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!ڳ`drs/downrev.xmlDQO0M5M:@Q!1.eVz_x<9'7'vI@ɭL | .a6Pl SB(ChR)}^&߱ btTkKg2񡤆% V/alUZ#ߵ1mZ>c28_RBԋQPK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!ڳ`drs/downrev.xmlPK  "H$  Abstract Client view, specifications, behavior, contract Describe the  what Concrete Implementer view, code Describe the  how Main programt  ZD Z  Z* Z  Z D *   13___PPT10u..O+FD' = @B D' = @BA?%,( < +O%,( < +D3' =%(D' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<* %(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<* 9%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*9M%(D3' =%(D' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*MV%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*Vm%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*m%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*%(+8+0+ +"  ~P%%f(     p=0e0e ?Title 3`   ZConcrete Components Only    b?1?Rectangle 69"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.xmlDAK1!f-TdTExfv$Kvz=o!gvWu[1S{'^-T~tԉ q$PJ͖r`)3tR3r^7ҒqA`^wxXݛvˋis"zW/E=+<ݞ>Q!el rPK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!ƙdrs/downrev.xmlPK `P",$@ lStatement_Kernel_1     b81?Rectangle 69 p  h321_Translator     b91?Rectangle 69"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.xmlDQK0FCo.uPll:lmMRl {˹3[Dݳ9p;ɀT|s4{kH<,3,MI*,I/P@Pp4$X1ӵ\:\|ew\2iÁ;oS]cۥWq,P kU/2q,rR\JMPK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!drs/downrev.xmlPK P ,$@ kStatement_Parse_1     b:1?Rectangle 69"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!KGdrs/downrev.xmlDAK@FaXhmMI &׻xvL> 'iÍϏ׻!"k X-k7pA26"I8䨠ϥ UKĉ[$f\Z4Z鹥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!~jdrs/downrev.xmlDQK0F߅ptecjem->5mIJ>^|f;YLe2h$v֐3yج'+LLN"4,JOQ@Br4DV[15\:\w|$\2qŞZ-qU>Ժ q9w̲5g[nջ)ĸPK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!~jdrs/downrev.xmlPK P ,$@ iProgram_Parse_1     b@51?Rectangle 69"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.xmlDQK0C87:H]6"Vlmh$[;x|w-דőB4)e U^(x:wD֫%ڏcsTЦ4Rƪ%qrj,&C#u嶗, -RՕy/ٿbmQb܁H4ntv[z{ Fǩ@~PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!ځ`drs/downrev.xmlPK hg,$@ rProgram_Generate_ Code_1      b`61?Rectangle 69"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.xmlDOK@GaXmAmNn67om'N$AڸFl"&t;H"G ̵\A25%.樠MϥUK>XL|Fm'Yv)- -tRUfz]?fCmR'D1?Ϸ5\7`t1QPqPK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!drs/downrev.xmlPK  0 ,$D kSequence_Kernel_1      b71?Rectangle 69"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.xmlDQK0߅pDec*Rm6|mn`$[;}<\÷NggA;+v#[;m+"Z$B F[YƖ%  b Cݑp5)+cYv j:豣Ke?|i?t56 q=v+`\JW^<4kUaKRM7?PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!(drs/downrev.xmlPK  PR ,$@ g Tree_Kernel_1      b@21?Rectangle 69"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.xmlDQK0߅p\dtƦ)>h!vmn`$[;x8-VnىW`dJ+O3`>ZCa]-079P1>CM]ƹ/Ƕ#:!FWs鰏p4IFeC=4T~G-eK7?qUW^ qs= <;_z jwrJ9Q.FM PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!ҥdrs/downrev.xmlPK0 b ,$@ kSequence_Kernel_1   &   b61?Rectangle 69"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.xmlDQK0߅pdecvȔ!*>_6IJ>;|;6Je7+`>YC.a]1v4 ehX6>W-i ۓ]mkt8Fx$w\2ŞSyI)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!#bVdrs/downrev.xmlDQK0Co.2u⃶=5m\$[zp/ݲ9p?I)T}p&3i{ө53Єe!~b;2bt5-OkT&>4sC8jMq>TW^ q{3e\c/PoR@ڜN} ' Eը | PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!#bVdrs/downrev.xmlPK  p Z ,$@ vBL_Tokenizing_ Machine_Get_1   B  dZjJ?Line 52"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.xmlDJ@a;-Z)@0fI0w6}{B?̞1 \ 0P#|lWS0u10‘ӓ.šM RBڗJհ'ŞCv1y,Sm]CŭԆPˆ͏G.bz"I7φ;0ʃa| ftL[('̓2/PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-! b drs/downrev.xmlPKp`,$@B  dZjJ?Line 52"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.xmlDJ@a -Z)@$;c{!xf!t@InF*k(.298b~~6#4}iT Q쉳)fjx(nmC=-6?mSYM;|Grbx4'`ϧ5Rry2]&;PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!7drs/downrev.xmlPKP,$@B  djJ?Line 52"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!7CqOdrs/downrev.xmlDj1CQAh"E.vrL IFǷo.om#CXx .Ryz"1)Sav7>+F8RҐ0r-q[IJj4n9ɲXsz0Py9vV؞;׮ؼuV_{Lf !Wx]"PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!7CqOdrs/downrev.xmlPK `,$@ B @ djJ?Line 52"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.xmlDj1CjZ"R[tvQwu2ur3$߾Y1H}WZ ĩ}"y'%2_PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!?sdrs/downrev.xmlPK,$@ B  djJ?Line 52"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.xmlDn0 '6ҁ4MMT6n^c&/$78 ҩV?;*je+NƔ+w>oc%Ćtm.e(5 ײMb%M#Y& 6]LsyvT,[w*_l">? "^m/0={,V =BIv PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!Edrs/downrev.xmlPK @P,$@ B  djJ?Line 52"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.xmlDj1CjJ"R[tvQwu2ur3$߾Y6]9Gxoz|ckĩ}"y'%2_PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!%drs/downrev.xmlPKp `,$@ B  djJ?Line 52"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.xmlDAo0 "Om iBMhllyi MR%)OH;~~}Yoqfjg ҩV?1*je+M&+w>oc% 9!\Pj6en 4J*OdneoPmSӶ3bqX|uxR!RCqP&%2PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!drs/downrev.xmlPK  ,$@B  djJ?Line 52"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.xmlDj1B!BwB)W-vawdt IFǷo.oM#C,x`[:U s=|"YEp`Fr7!V"ؐͥ fCaZ;9o(&+<ҸisHCMZ^i./ \q]W쾷[Or "rBA՞Bdx]"9PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!drs/downrev.xmlPKP 0 ,$@B  dZjJ?Line 52"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.xmlDJ@a+;-Z)@0fI0w6}{B?̞1 \ 0P#|lWS0u10‘ӓ.šM RBڗJհ'ŞCv1y,Sm]CŭԆPˆ͏G.bz"I7φ;0ʃz ftL[('̓2/PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!Adrs/downrev.xmlPKP ,$@B  djJ?Line 52"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.xmlDOk0}vVeȤnAak^MIR?~`[q$ Gk߻D[ǤLf ڝxCmEPcWH*Cu;o1&k=ҸmKJ  UmoO2_\g?z|@D-|m/</ ēPK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!udrs/downrev.xmlPK0  ,$@B  ^jJ?Line 52"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͏9drs/downrev.xmlDJ@ﰌn"5v[ ZEocvfg$o?7-ףԁbr PU-vD ֫%6 .7J J4ܗZ%izb=fcmAEq=: -tRFCzz1'T1/9~n1eG z PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!A͏9drs/downrev.xmlPK ,$@   b1?Rectangle 69"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ܨC!U8@ҊoxnX8j8ƱYvp`}"1)8Rdv#tb+C BPwd1@y1EJqLpyHC=tTU{%→}nM96]+u~6@D8s0^g*lC$ %դ rPK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!drs/downrev.xmlPK  p ,$@ nPartial_Map_Kernel_1   B  djJ?Line 52"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.xmlDj1CQAUT]hu2u IFǷo.oM#C,x`[:U c "DgVLJ쁯X4bCN:62 k&켡tK㦑,ICMZ^k./ \i?[~me"rB@ՁBdx]"PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!櫖Adrs/downrev.xmlPK P ` ,$@  \`1?Rectangle 69"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.xmlDn0DV8BA ڪDޗxI"ujC{lћVƲt .nR~@L .a1awt*B%"} \J_dlGuC9M+I25v<Fp-bMY]~+/_@x󓮧z ' k} Eը r~PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!%drs/downrev.xmlPK  @ ` ,$D hQueue_Kernel_1   B  djJ?Line 52"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 '6R4&4T6ܼ4&ۓҎɬ78AmTm+ߟDd52•̦ʕ  bCN:62 k٦yC1E_I঑Y& 6]\syvT,w>b_n">? "|^*QzP\|6"{ PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!drs/downrev.xmlPK 3 P ,$@B  jjJ?Line 52"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@0xAli7,H.LlL9; /G߫=6p9)@vxb )rqz2҆oh_I 8:Վ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!1drs/downrev.xmlDOO0 H|HX t?1 4nS$U${rtsL]ד:ηϧ;P)7GN\ͩ47rħlCu-;J0[,clts뛢Վ:/ ~\_soo]&SI)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.xmlDMK@aThi_XF=I66v6A~,VՁcGN P`:"|~<^݂JBP<#8jy~҄VJB"Cu-;J0^#2D:q뢸ю:, `W?n^o{!S<}b\A kT|R'e2_PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!9 drs/downrev.xmlPK` @,$@"B   jjJ?Line 52"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.xmlDMK@aXhi_XF=I66v6A~,VՁcGtEx>xF8qlA GC%#>`ERT[v&a`&DGeltӢю:, `W?n^o{!S<}b\A kT|R'e2_PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!!/drs/downrev.xmlPK  ,$@#B ! dZjJ?Line 52"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@ai7+ۢ,cvqglӷw//t>(IC\Er}9#챋L$0Mqkm6yDj_Z+UCe{mc Y<:{Q76` U_`x1,'^9wz2߁Q?~.lk dLv PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!׹drs/downrev.xmlPKp ,$@B " dZjJ?Line 52"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@a;-Z)@0fI0;w6}{B?̞AF*Vjr F.#Ya1?=QAּߤђZгdoet㾳Eqk=yp[Au5ͻx~`L!a<{:~֭IG̓2/PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!-drs/downrev.xmlPKP  ,$@B # djJ?Line 52"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.xmlDn0Ek*uW҇* `vx8_/*uyu_:ioq&j +_W!"kl+N7c̵X4!G&62,kwpbLWR{qQH5- mgqe>XW⣛J7k/gk+H<.PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!-drs/downrev.xmlPK0 ,$DB $ jjJ?Line 52"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.xmlDMK@a(hi_XF=I66v6A~,VՁcGtEx>xF8qlA GC%#>`ERT[v&a`&DGelt7E1ӎ:, `W?n^o{!S<}b\A k T|R'e2_PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!]drs/downrev.xmlPK  ,$@ B % dZjJ?Line 52"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!5idrs/downrev.xmlDJ@aEnVVPh4 fgئo^^t>(IŤC\Gq}y~ FcH`>;>b״hcKZաV$PL y<(nlC-Z6?Ax1,^;=(k?{W%3u~dL~PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!5idrs/downrev.xmlPKp ,$@ 13==___PPT10=.HZ+<ڽiD:' = @B DN:' = @BA?%,( < +O%,( < +D' =%(DF' =%(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' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<* %(Dy' =%(D!' =%(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' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*!%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*"%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*#%(D' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<* %(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*%(Dd' =%(D ' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*$%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<* %(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(++0+ ++0+ ++0+ ++0+ ++0+ ++0+  ++0+  ++0+  ++0+  ++0+  ++0+  ++0+ ++0+ +"M   ;3`++(     p 0e0e ?Title 3`   ZWith Abstract Components    b@1?Rectangle 69"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.xmlDAK1!f-TdTExfv$Kvz=o!gvWu[1S{'^-T~tԉ q$PJ͖r`)3tR3r^7ҒqA`^wxXݛvˋis"zW/E=+<ݞ>Q!el rPK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!ƙdrs/downrev.xmlPK   ,$@ lStatement_Kernel_1     b`1?Rectangle 69 #  h321_Translator     b1?Rectangle 69"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.xmlDQK0FCo.uPll:lmMRl {˹3[Dݳ9p;ɀT|s4{kH<,3,MI*,I/P@Pp4$X1ӵ\:\|ew\2iÁ;oS]cۥWq,P kU/2q,rR\JMPK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!drs/downrev.xmlPK  ` ,$@ kStatement_Parse_1     b1?Rectangle 69"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!KGdrs/downrev.xmlDAK@FaXhmMI &׻xvL> 'iÍϏ׻!"k X-k7pA26"I8䨠ϥ UKĉ[$f\Z4Z鹥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!~jdrs/downrev.xmlDQK0F߅ptecjem->5mIJ>^|f;YLe2h$v֐3yج'+LLN"4,JOQ@Br4DV[15\:\w|$\2qŞZ-qU>Ժ q9w̲5g[nջ)ĸPK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!~jdrs/downrev.xmlPK   ,$@ iProgram_Parse_1     b 1?Rectangle 69"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.xmlDQK0C87:H]6"Vlmh$[;x|w-דőB4)e U^(x:wD֫%ڏcsTЦ4Rƪ%qrj,&C#u嶗, -RՕy/ٿbmQb܁H4ntv[z{ Fǩ@~PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!ځ`drs/downrev.xmlPK  >! ,$@ rProgram_Generate_ Code_1      b1?Rectangle 69"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.xmlDOK@GaXmAmNn67om'N$AڸFl"&t;H"G ̵\A25%.樠MϥUK>XL|Fm'Yv)- -tRUfz]?fCmR'D1?Ϸ5\7`t1QPqPK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!drs/downrev.xmlPK P `,$@ kSequence_Kernel_1   B   dZjJ?Line 52"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.xmlDJ@a;-Z)@0fI0w6}{B?̞1 \ 0P#|lWS0u10‘ӓ.šM RBڗJհ'ŞCv1y,Sm]CŭԆPˆ͏G.bz"I7φ;0ʃa| ftL[('̓2/PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-! b drs/downrev.xmlPK`,$@B   dZjJ?Line 52"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.xmlDJ@a -Z)@$;c{!xf!t@InF*k(.298b~~6#4}iT Q쉳)fjx(nmC=-6?mSYM;|Grbx4'`ϧ5Rry2]&;PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!7drs/downrev.xmlPKP,$@B   djJ?Line 52"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!7CqOdrs/downrev.xmlDj1CQAh"E.vrL IFǷo.om#CXx .Ryz"1)Sav7>+F8RҐ0r-q[IJj4n9ɲXsz0Py9vV؞;׮ؼuV_{Lf !Wx]"PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!7CqOdrs/downrev.xmlPK> `,$@B   dZjJ?Line 52"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!GEOdrs/downrev.xmlDJ@a iƝM޽298b~z2oh Ce-I)fx(nlC-[?A^EVeo;?(k?{:AQJ2Od`PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!GEOdrs/downrev.xmlPK,$@B  djJ?Line 52"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.xmlDn0 '6ҁ4MMT6n^c&/$78 ҩV?;*je+NƔ+w>oc%Ćtm.e(5 ײMb%M#Y& 6]LsyvT,[w*_l">? "^m/0={,V =BIv PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!Edrs/downrev.xmlPK^ P,$@B  djJ?Line 52"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.xmlDj1CjJ"R[tvQwu2ur3$߾Y6]9Gxoz|ckĩ}"y'%2_PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!%drs/downrev.xmlPK `,$@B  dZjJ?Line 52"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.xmlDOK1BCجJY)X? tI~{ xor=V)&i x260)z5XbiC;:s$S\]uyL,cKo]Q̵džణkۿ|obq^|su9<܃436v)S4 i'@~PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!)drs/downrev.xmlPKPn ,$@B  dZjJ?Line 52"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!9s=drs/downrev.xmlDMK1!ElJY zhJofYL$vws(x|yxD15 M PU >?nRF&#%X./XN\+TsWj*G$tCEZۈVOb=6,;ztT}~?m}6΋û 1W=LC/l <~n1eG PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!9s=drs/downrev.xmlPK ,$@B  ^jJ?Line 52"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͏9drs/downrev.xmlDJ@ﰌn"5v[ ZEocvfg$o?7-ףԁbr PU-vD ֫%6 .7J J4ܗZ%izb=fcmAEq=: -tRFCzz1'T1/9~n1eG z PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!A͏9drs/downrev.xmlPK N,$@B  dZjJ?Line 52"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.xmlDMK@a--"X*ocv fg$9_/f:QLm`qlˍTd` +i%#*4r+ScXchqq離(ǖaO{{x^xu7bi5(ALр^PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-! drs/downrev.xmlPKP . ,$@B  dZjJ?Line 52"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.xmlDMK1!ElV+MV{hJofYL$vws<_<[un&(*؆kOsP)#[lg ,myK]p*р˹+N#i:b!z"cm^}ob=6,;ztT}~8}6ΊƅΘˋT!/yb  /PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-! drs/downrev.xmlPK P ,$@B  jjJ?Line 52"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.xmlDMK@a(hi_XF=I66v6A~,VՁcGtEx>xF8qlA GC%#>`ERT[v&a`&DGelt7E1ӎ:, `W?n^o{!S<}b\A k T|R'e2_PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!]drs/downrev.xmlPK,$@'B @ djJ?Line 52"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!AUdrs/downrev.xmlDN1&CsMIG4jF !D2h`uzLo'm '/xFɇڱatJDǤJs.6V"pQͥ !aZ/i6reb`KsCiYb{\+URw D>KġZo0D OKd 'PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!AUdrs/downrev.xmlPKPP ,$@-"  x`1?*Rounded Rectangle 50"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@ }eՍBHE*R1 fgݭ>}^sdV؇ hb)iBؽ> P.`6PnY >mcDBNu]u(kcIyK1E_i,זI5u\sy~Yrq\~gr$YU7~[;ěA?}_z5w#PeSP\RM?PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!drs/downrev.xmlPK `7,$@  jStatement_Kernel   ,"  x1?*Rounded Rectangle 51"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!0drs/downrev.xmlDMO0DHkQH|(ԭ-j/qIxڦMkь荧Ğ|hk)ĕ3-_w BD69& G 0\_17%W !G M}.eF'Ny1E_KඓRb_**gbI)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.xmlDMO1E&晸(HqЅ10} ƅ.o͹9igq$j n+o׏ BD8&g 0.Ƙkw₎XᐣcKJCCߵĩ;o1+=6reb`KO*x(wV,6OeS겛@Dx8\ nA睯u!Wj9PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-! Tdrs/downrev.xmlPK ` 7,$@  hProgram_Kernel   *"  x@1?*Rounded Rectangle 53"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!LA drs/downrev.xmlDN0HHܨCşB"E)}%&:ئMyZ87&vj>N.G(ʙVjI uNfӓ **A$ZaKazmS6 n;=βmPϏ WշE'+dQ! "YCW [SR\RMGPK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!LA drs/downrev.xmlPK PN ',$@  g Program_Parse   1"  x`1?*Rounded Rectangle 54"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!0Fdrs/downrev.xmlDn0Dkz+6h*P*K$:]z,q47zyo[q"#tJD[ǤBs\i+ rPR&a:S4 n[)(-6jhQSyX OUjF^W.8 H}YTލa}"y I.&M+PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!0Fdrs/downrev.xmlPK `7,$@  oProgram_Generate_Code   B @ djJ?Line 52"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.xmlDj1Cj-"R[tvQwu2ur3$߾Y1H}WZĩ}"y'%2_PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!gdrs/downrev.xmlPK@@P ,$@,"  x1?*Rounded Rectangle 56"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.xmlDN@EM͘&[ISFCCН+ލxso͙z۪8AdXJgv׻'P!j0…̦Wʍ;KMTH ˵e͖u,;8o)+m<ܶzeR#顦_j./0*wV,VOevCǠ"~{+Qoa갼}c =BKIPK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!#Vdrs/downrev.xmlPK PN]',$@ jStatement_Kernel   B  djJ?Line 52"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!1drs/downrev.xmlDn0 xHt6M&4T6Lc&/gYoqfjgGS~o B$q`6M(Wb7|J$ 9!\Pj6FefG }%KF>e٫4TtASsiS=+U-m{^ҳzPOKf PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!1drs/downrev.xmlPKNkP,$@B  jjJ?Line 52"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.xmlDMK@a(*6T/,H$ c{ x|yxjO1u \N Pu>?/@%A&GJ\̱WҪ<©DNd(N#i5!z,cmC*[pGnz ~סj9?W3PB/T|`2OdPK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!drs/downrev.xmlPK ,$@&B   jjJ?Line 52"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!8Кdrs/downrev.xmlDOO0 H|HX Bt?1 4nS8Uۓ${rtsIatu*&CF8rlNJ&KB) ֱ(NoRCMC6w)vIN4zW:{~[~} ^^c_ 4o^ߡ3BdLzPK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!8Кdrs/downrev.xmlPK `,$@%B ! jjJ?Line 52"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.xmlDMK@aThi_XF=I66v6A~,VՁcGN P`:"|~<^݂JBP<#8jy~҄VJB"Cu-;J0^#2D:q뢘iG~\}g7뷽)w}b\A kT|R'e2_PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!۰drs/downrev.xmlPK . K p,$@$B " jjJ?Line 52"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.xmlDMK@aXhi_XF=I66v6A~,VՁcGtEx>xF8qlA GC%#>`ERT[v&a`&DGeltӢiG~\}g7뷽)w}b\A kT|R'e2_PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!drs/downrev.xmlPK @]`,$@#B # jjJ?Line 52"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.xmlDJ@0xhi7,Hc]3'̙03; -F׫=yAXjo:i6Ob"1{a#GXOOfT5Ԫ<"$Pjkˎ,k|p 6y(Q']mKd燭XAI)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.xmlDN@E&䙸 <FXXG[鼩3#މ ]ܛss޶>4Nn(ҙF*T$Z'pŔrNRq+ rBcrCY0pK[)JOfX[j$=caeadU!^_"LhW xj:"{$T&PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!drs/downrev.xmlPK  = ,$@ wBL_Tokenizing_ Machine_Kernel   B % djJ?Line 52"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!stdrs/downrev.xmlDOk0}veR75Mg$o?~`[q" Gk_+5I̦w,;NX4¡@&Ʈ2T,눓wpbLR{ o " WZA8_-H^AIt PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!stdrs/downrev.xmlPK ,$@B & dZjJ?Line 52"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!ddrs/downrev.xmlDJ@a[ii}B?M̎cj \ 0,Up_[0IIuA ӓ).eŻ&H* QKkSհ4 =K6!z,cm]}.J~hEz&oBJI7φ{0ʃ/a|f|[QR'e2#PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!ddrs/downrev.xmlPK@ P ,$DB ' dZjJ?Line 52"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.xmlDJA Ð7bgvZRZ}.dn\^|'9:s$mdW q}˵DlGak!,%:hrKkj(LbO}L>QCglY/4ӲkLߖ똞j囍x~$=LC7/^9~|LߢdJTv PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!drs/downrev.xmlPK@ ,$DB ( n ?,Straight Connector 71#"@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.xmlDAk@ƀU؂ bC3f߆쪩OS+ծۉ@V)85I9NƘh{|&] rDJdulE LonJGѧ4XpXȱblpLJwiu<}j}4OKKrPK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!Ydrs/downrev.xmlPK `  ,$D) & ) b@1?Rectangle 69"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.xmlDQK0Co.dnecVdm6$%_o=;|ͨ[֓ILi2Ϗ%0Hl!'Y_^0v09EY&.ܗ iۑ]et8Dn,IFeCe Q xf?8Wo**]o<~>/PRX;9@N@QPK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!mчdrs/downrev.xmlPK   ,$@  yBL_Tokenizing_ Machine_Kernel_1     B *@ djJ?Line 52"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.xmlDN1&CsMIG4jF !D2h`uzLo'm '/xFɇڱatJDǤJs.6V"pQͥ !aZ/i6reb`KsCiYb{\+URw D>K ġZo0D OKd 'PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!drs/downrev.xmlPK)  ,$D!B + jjJ?Line 52"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!jYdrs/downrev.xmlDN0EH5HP*HD%Ԕ!ġ86{@byu_:{'(:؎[dz[PI-,G3,mv*p*рJSc8{M%jq}/Z{8?8Q~[.߶x P5Ɯ;PB/;$ dL@PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!jYdrs/downrev.xmlPKP,$D( ( 13HH___PPT10H.HZ+6vKDFE' = @B DE' = @BA?%,( < +O%,( < +D*' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<* %(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<* %(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<* %(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<* %(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(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' =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' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*'%(DY' =%(D' =%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*$%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*&%(D' =%(DS' =%(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' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*)%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<**%(D| ' =%(D$ ' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*#%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*"%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*!%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<* %(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*+%(Dn' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*(%(D' =+4 8?\CB#ppt_xBCB#ppt_xB*Y3>B ppt_x<*(D' =+4 8?dCB1+#ppt_h/2BCB#ppt_yB*Y3>B ppt_y<*(++0+ ++0+ ++0+ ++0+ ++0+ ++0+  ++0+ ++0+ ++0+ ++0+ ++0+ ++0+ ++0+$ ++0+) +"   (      x@0e0e ?Rectangle 2`   ROther Dimensions  M   ~0e0e ?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!0$drs/downrev.xmlDQK0Co.C[16A:ksVĭۯ7sxڛVƲ A\Zp`[<]e |@Z&G01koB%"} \J_dlGuC!M+Vl8>Ѽkmtq0ɊyaG3RD>OE-Q A잏k􁜂m)PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!0$drs/downrev.xmlPK "H$  cThere are other (secondary) dimensions along which components can be organized and distinguished: Instance vs. template Kernel vs. extension Kernel/extension vs. utility They are important, but not quite as fundamental as abstract vs. concreteBb ZH ZJ ZbHJ  13  ___PPT10 ..O+[W_D* ' = @B D ' = @BA?%,( < +O%,( < +D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<* bx%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<* x%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<* %(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<* %(+8+0+  +"/  $n(  $$ $  x0e0e ?Rectangle 2`   XComponent Dependencies    $  ~0e0e ?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!Zdrs/downrev.xmlDQK0Co.uwcLE]A6wmIJ|9|oL/C,B>@l^=]AHVS,#8jy~BH Bhc )Cݲ0s7SԞ7β;i顥7-_o0v^m*wm>Jˋi}"eG_ԋFPAO; =BKIPK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!Zdrs/downrev.xmlPK  "H$  %Whenever a component C1 mentions in its code another component C2, we say that C1 depends on C2 There are different ways a component can depend on another component We have names for the most common and meaningful relationships   139 1 ___PPT10 ..+[W_D' = @B D\' = @BA?%,( < +O%,( < +D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*$`%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*$`%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*$%(+8+0+$ +"T  (o(  ( (  x0e0e ?Rectangle 2`   O Relationships   (  ~@0e0e ?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!qdrs/downrev.xmlDQk0|SQM) lmӭIJ >9|ot.|m0F6|<5$'SiH,T,BOQ M9"~h[2+bt>N6AaK[Eovu3NϬ_!Of,P?;7ԇ0'jyD zQ6_PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!qdrs/downrev.xmlPK  "H$  .(Implements C ! A Extends A ! A, C ! C Checks C ! C Instantiates AI ! AT, CI ! CT Encapsulates C kernel ! Rep Specializes AT ! AT, CT ! CT Uses        $ $((, ,004 488< <   13]U___PPT105..г+[W_D' = @B D' = @BA?%,( < +O%,( < +D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*(%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*((%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*((7%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*(7V%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*(Vr%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*(r%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*(%(+8+0+( +"(  :2,(  ,% ,  x0e0e ?Rectangle 2`   YOur Approach vs. Others   ,  ~0e0e ?Rectangle 3"M G 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!j|drs/shapexml.xmlWo6~q$6IˆS1%*LI9v}GJtC:y#ᄏG]]-u ?~Ld~LۣsΜ:ht?]T#W1k7>u:.R7kNe JuR_b+VKrbY%?iQ;‰G% 4zDIqFg2+L_-B9ƙf䕵i.EHs;W WɗjW7OzA`!_]l}y!F3G˯wIgΞ@$ZXəM#q0zݕB5ឳ8:5e%XO):(lh#t.*rvqCdVT?8 n@ŏPOEJ,{.a$vTE]@O-/B="BY&{1>7F*̄lbY 2J}R,4=WԳL-2 nTV*/u-׬x.$&уܨwЋ6ڬ>oR>)ŋ)B^,HK?v?>jmB}cΞY4 g{3a9;,aoHw~ _2nK߾yCiZr$7h><ڦ͵?l;f<ͼޓ}/*K:{\.`%U`M})S\Fll_҂N% s2/! P񐂮JAmxpab>~~=vq?cf|U6Q 7iN7%3\aX_cff݉?1.J/(1 RKuX#1\RH1Ϛ1ԿW6qa8l2%8AIEf5%zDn(iюxTy+{t=JzaQjsf(cA\$ZwoxyV6\V*5)J!Ȍ[:DȸSf mڍ).!XJpw.o~M=y٠wzI ]2k|hQJYF:PK!drs/downrev.xmlDMO0DHkQ-6 vdX84NAMeUkjl2:k1͊wP1 &W k۳I:M!EWKhຓYv-5&=4knyi/0ӓ88q\l7,}<|Vv/&SPK-!Zf[Content_Types].xmlPK-!1_a /_rels/.relsPK-!j|*drs/shapexml.xmlPK-!2drs/downrev.xmlPK<  "$D :2___PPT9  In standard OO approaches/languages Components = classes Relationships = inheritance Our approach (model of software) is more specific in defining what a component is and what kinds exist, and in defining how components can depend on each other This is not meant to restrict our creativity it is meant as guide toward good designs^$ Z1 Z Z$1) K 13 ~ ___PPT10^ .޵@+YD2 ' = @B D ' = @BA?%,( < +O%,( < +D4' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*,$%(D4' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*,$9%(D4' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*,9U%(D4' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*,U%(D4' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*,K%(+"b  JB0*(  0) 0  x0e0e ?Rectangle 2`   ]Component Coupling Diagrams   0  ~0e0e ?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!9,Bdrs/downrev.xmlDQO0M5M:TBP`$ulvi+o>:ӈ#9_[V0' k.156I<̦ fڞxCm(EPABI鋊 mc`ѕR;+B#style.visibility<*0]%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*0]%(+8+0+0 +"  4(  4 4 N.?Text Box 54!P  f implements  C   4 N.?Text Box 55" 0   cextends C   4 N.?Text Box 11} 5 f implements  C   4 H.?Text Box 65p( ; j cextends C  % 4  x.0e0e ?Rectangle 4`   YExtension Component CCD  B 4 ^jJ?Line 1055 rx xH 4C *Group 60"p " 4 hsp?AutoShape 13xH N    4 T tp?Text Box 14` `  h XYZ_Kernel   C  mx =    4C *Group 66" J   4 bpp?Rectangle 16=   N    4 Vqp?Rectangle 17" )  g XYZ_OpE_1   C    4 hjJ?Rectangle 51 z  N   B  4 dZjJ?Line 52== B  4 dZjJ?Line 53 D ox xH  4C *Group 61"pP " 4 h@.p?AutoShape 62xH N    4 T`.p?Text Box 63   eXYZ_OpE C  B 4 dZjJ?Line 64u P u 13___PPT10u..0є+D=' = @B +"   8(  8 8 Lt?Text Box 2!P  f implements  C   8 Lv?Text Box 4} 5 f implements  C   8 F w?Text Box 5p( ; j cextends C  $ 8  x@x0e0e ?Rectangle 6`   XExtension CCD: Example  B 8 \jJ?Line 755 pv xH 8C (Group 8"p " 8 fp?AutoShape 9xH N    8 Tp?Text Box 10   j Queue_Kernel   C  sx =   8C *Group 11" J   8 bp?Rectangle 12=   N    8 V p?Rectangle 13H   mQueue_Reverse_1 C    8 hzjJ?Rectangle 14 z  N   B  8 dZjJ?Line 15== B  8 dZjJ?Line 16 D ux xH  8C *Group 17"pP " 8 h`p?AutoShape 18xH N    8 Tp?Text Box 19   k Queue_Reverse C  B  8 dZjJ?Line 20u P u 8 N~?Text Box 21" 0   cextends C   13___PPT10u..0є+D=' = @B +"]   X P 0 <8 (  <$ <  x0e0e ?Rectangle 4`   XChecking Component CCD   < N?Text Box 60!P  f implements  C   < N?Text Box 61" r   bchecks C  rx xH <C *Group 65"p "  < hp?AutoShape 66xH N     < T@p?Text Box 67` `  h XYZ_Kernel   C  px =   <C *Group 68" J    < b`.p?Rectangle 69=   N     < V.p?Rectangle 70   j XYZ_Kernel_C   C   < h`.jJ?Rectangle 71 z  N   B < dZjJ?Line 72== B  < dZjJ?Line 73 D  13___PPT10u..@8+D=' = @B +"R   M E @ @- (  @# @  x}0e0e ?Rectangle 2`   WChecking CCD: Example   @ L?Text Box 3!P  f implements  C   @ L ?Text Box 4" r   bchecks C  nv xH @C (Group 5"p "  @ f`p?AutoShape 6xH N     @ Rp?Text Box 7+   j Stack_Kernel   C  nv =   @C (Group 8" J    @ `p?Rectangle 9=   N     @ V p?Rectangle 10   lStack_Kernel_C C   @ hjJ?Rectangle 11 z  N   B @ dZjJ?Line 12== B  @ dZjJ?Line 13 D  13___PPT10u..@8+D=' = @B +"  P##D(  D D N ׶?Text Box 35   f implements  C   D N@ض?Text Box 31 k  `uses C   D N`ٶ?Text Box 34p hj  f implements  C   D Nڶ?Text Box 33 Pz  h encapsulates  C   D L۶?Text Box 9[p( U f implements  C  " D  xܶ0e0e ?Rectangle 2`   VKernel Component CCD  B D \jJ?Line 80 0 rx xH  DC *Group 58"8 " "D hp?AutoShape 11xH N    #D T p?Text Box 12` {` u h XYZ_Kernel   C  px xH   DC *Group 59"8    D b-p?Rectangle 14xH  N    !D V p?Rectangle 15 { u j XYZ_Kernel_1   C  vx    DC *Group 61" t" D h-p?AutoShape 17  N    D T-p?Text Box 18  lRepresentation C    D hjJ?Rectangle 22   N     D h jJ?Rectangle 23 q  N   B D@ ^jJ?Line 25b / B D@ ^jJ?Line 26b   B D@ ^jJ?Line 28 X @ B D@ ^jJ?Line 29   rx   DC *Group 62"  " D h`-p?AutoShape 38  N    D T-p?Text Box 39s b  h DEF_Kernel   C  ~x   DC *Group 60" 1" D t -p?AutoShape 47  N    D T@-p?Text Box 48{hu h ABC_SomeOp   C   D N?Text Box 63p p(j  f implements  C   D N?Text Box 64 %  `uses C   D h jJ?Rectangle 65   N   B D ^jJ?Line 66~ | B D ^jJ?Line 67   D N-?Text Box 68  `&  C   13___PPT10u..@8+D=' = @B +"(  ''`22H'(  H H L@?Text Box 2   f implements  C   H L@?Text Box 3 F  `uses C   H L?Text Box 4p Hj  f implements  C   H L a?Text Box 5 `  h encapsulates  C   H L@b?Text Box 6[p( U f implements  C  ! H  x`c0e0e ?Rectangle 7`   UKernel CCD: Example  B H \jJ?Line 80 0 {x 8   HC *Group 36"8 " 1H hdp?AutoShape 108  N    2H Tep?Text Box 11 6N qPartial_Map_ Kernel C  yx 8    HC *Group 37"8   /H b@bp?Rectangle 138   N    0H V`cp?Rectangle 14 N  sPartial_Map_ Kernel_3 C  vx    HC *Group 15" qT" -H h`p?AutoShape 16  N    .H T ap?Text Box 17  lRepresentation C    H h`fjJ?Rectangle 18   N     H hgjJ?Rectangle 19 @0  N   B H@ ^jJ?Line 20b  B H@ ^jJ?Line 21b  B H@ ^jJ?Line 22 X B H@ ^jJ?Line 23 0  {x   HC *Group 38" @ " +H h}p?AutoShape 25  N    ,H T~p?Text Box 26 k  qBinary_Tree_ Kernel C  x #  HC *Group 39" " )H t@{p?AutoShape 281  N    *H T`|p?Text Box 29#  sGeneral_ Are_In_Order C   H N`l?Text Box 30p 8j  f implements  C   H Nm?Text Box 31   `uses C   H hnjJ?Rectangle 32   N   B H ^jJ?Line 33~ Ih| B H ^jJ?Line 34   H Nq?Text Box 40 ~ 6  f implements  C   H Nr?Text Box 41 `   `uses C   H hsjJ?Rectangle 42  N   B H@ ^jJ?Line 43b r r B H ^jJ?Line 44 nx p  HC *Group 48" " 'H hyp?AutoShape 46p  N    (H T zp?Text Box 47Z   dRecord C   H h-jJ?Rectangle 49  N   |x    HC *Group 54"Pb " %H hvp?AutoShape 55  N    &H Twp?Text Box 56 B  rGeneral_ Is_Equal_To C  B !H ^jJ?Line 57p2pB "H ^jJ?Line 58p0 p #H N?Text Box 59v@ p ]u C   $H N@u?Text Box 60vp ]i C   13___PPT10u..@8+D=' = @B +"  ogpLO(  L$ L  x0e0e ?Rectangle 2`   XResolve/C++ Discipline   L  ~@ն0e0e ?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!drs/downrev.xmlD_O0GM5M: !S#"p].mm|Ǜss~9E[v"5Jejh$֐ yX̯fI{6{:B͢ 4!tlH؎LduC<]ͥs'ɈkT&.4QPy<|kx~^>N~_Nsȏջ-iz|:%9/F |PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!drs/downrev.xmlPK "H$  A variety of rules and guidelines adhering to best practices in software engineering They range from very basic rules on formatting code to fairly technical and deep rules to avoid bad surprises   13___PPT10..¯̒+[W_D' = @B D' = @BA?%,( < +O%,( < +D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*LU%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*LU%(+8+0+L +"  j b PJ (  P  P  x 0e0e ?Rectangle 2`   TCoding Conventions    P  ~ Զ0e0e ?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!`drs/downrev.xmlDJ@Fa;nKZAl$awMӷwB/3X =:v [9Z| YRp NvG>Ղ%6IRƪ!qC-uM'l" i~}x_gtUa=hHI:_ճq>A;Z ?PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!`drs/downrev.xmlPK  H$  RUse only if,if-else,if-else-if, case_select, and while (no for, do-while, etc.). Always include blocks in { }, even single-statement blocks. Use and, or and not instead of &&, ||, ! (but it is OK to use !=) note that and and or do not use short-circuit evaluation. All operations must include requires and ensures and appropriate parameter modes for all formal parameters. Class names should be nouns, in mixed case with the first letter of each word capitalized and words separated by  _ . Operation names should be capitalized like class names; procedure names should be verbs and function names should be nouns. Object names are entirely lower case with words separated by  _ . 9  13___PPT10..ïZ+[W_D<' = @B D' = @BA?%,( < +O%,( < +D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*P%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*P %(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*P v%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*Pv%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*Ph%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*Ph%(+8+0+P +"$    T (  T T  x 0e0e ?Rectangle 2`   M Basic Rules     T  ~`0e0e ?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!edrs/downrev.xmlDN@EM͘&[%Ҧ C[6+w>Nܜ78eqiuÕ}@L a>L1[:B%} \J_dЏlG:!%M+d" 6jhYSy}]y~[-bY:|Wjx/@!U2g)5z>Sbm g?PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!edrs/downrev.xmlPK H$  Formal parameter declaration rule Declare every formal parameter of every operation as a reference parameter (i.e., put  & after the type name), unless it is a preserves-mode parameter of type Boolean, Character, Integer, Real, or Text. All the paramaters of functions must be preserves mode (and it is desirable to design functions so that there is no requires clause). Repeated argument rule Never repeatedly use the same object as an actual parameter to a single operation call. Object declaration rule Declare each object at the very beginning of the innermost block possible; do not declare an object with a global name. Object redeclaration rule Do not redeclare an object with a name that is already visible at the point of declaration. *   13  ___PPT10 ..ïU+[W_D* ' = @B D ' = @BA?%,( < +O%,( < +D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*Tu%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*Tu%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*Tt%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*Tt%(+8+0+T +"  Xr(  X% X  xն0e0e ?Rectangle 2`   YProgramming By Contract    X  ~`0e0e ?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!8drs/downrev.xmlDN@E&䙸), DeyL3,ͽ97gM#:vVp [8]R!Vc,)8Sjv'nϥ2TP1`l})SF^m|UE(hr2WoʯoJL=ym/E+ 'I >Z00y/FS PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!8drs/downrev.xmlPK "H$  $Design-by-Contract Rule Do not call an operation when its precondition is not satisfied. Precondition Rule When implementing any operation body, assume that the operation s precondition is satisfied upon entry to the operation body.& R  13___PPT10..ns"+[W_D' = @B D' = @BA?%,( < +O%,( < +D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*XY%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*XY%(+8+0+X +"  "\(  \# \  xԶ0e0e ?Rectangle 2`   WComponent Dependecies    \  ~`0e0e ?Rectangle 3"smPK!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!.SFdrs/shapexml.xmlW[o8~_iUBQQ[;+*$NYۡ_?߱I>n>|΅py[)֕FӐ33)O&9/t.2;_f0nZ|}= \pL-5d ӠI텇J bPRk\7zn}-+')gZTp 3$;V/13ڵLn32|wTȧ[<wǪ*R6rty1N.[ݨ.?maF|}%(\N j"!1[2(d4Du3h& QPBj1z귷&K|YGY} j?4<|}ɲ/MugT(nM,<(T33R\j5#WXZ9OE뒥F4g~  PENdd6Gw(~ }p [ ;K2S FslOB=!CY.G\FP&,jcu+ p NbyFP5neV?4n Vw_&es0pOLF}Q^W[6C{3e!24w$JKqV>[݋TI dc;:XS@0mz̟e"M'(U2*/cigXmF,‰(53V ,%T\ [cpK06R1qF91߁oE=Z({m@ks^~M)̽d6"ُb7pl hsFzmDg>GwSw3ߛ4򇡏FJh-.^-(&nkp?{8! vokyQ8N`Qtѝ Byy,H;xa硓cvGW_PK!z7drs/downrev.xmlDQO0M5M:Fer!%*$&0ulӵ]ۿAOw͗nřoAlJS!| d0ۛ9^̞χP1>':.җ5k#۱:M!FWIẕi+B#style.visibility<*\d%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*\d%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*\%(+8+0+\ +",  `(  `$ `  x 0e0e ?Rectangle 2`   XComponent Organization  ] `  ~ֶ0e0e ?Rectangle 3"= 7 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.xmlXn6}/ Zdm+#" ncaYcAKT"Ur|}ϐ ΃g3sfQ.>JŶҺ}r&ujB?۳1g et?\TSW1k7f|}5t\pL%5rcK!ڇNe JIaXJo(]XVdr~pEmd JsiI7# ̊Gxg Wzܬ<ƾŪTkx?'Q24QF৘r[兘/Z} ^ +9Shv?%xFQ(S:㞳8KSVJI|V0Bl>ZT2(y"X,5&/<ˍT($Amr':nn7$@?ZC9{c |U" v>H\]"xQ %;gPPq^O wе>H1v`]p6_70C.jbR&sUH= b82~q׺-MkfWBMc{:$ 7*U[˧a5o;J"E|t:Ϊ§[Q W:$:΋ULN1ES:4>.VDg8*R56NG-628H RJhQ5PœD"y[Xc0 c7UB>qFF.XK96 \BjZ\;"R))ū )D^M&p"i~mhB:dd#xk rNE{*Zʎhd+Txqݍ{_AM&&9F6[!ޕO " Y-UjnIDr>`p2PK-!Zf[Content_Types].xmlPK-!1_a /_rels/.relsPK-!Ӵ%*drs/shapexml.xmlPK-!1& drs/downrev.xmlPK,  P$ :2___PPT9  hComponents are organized in catalogs Catalogs are organized by component families Component families usually contain Abstract kernel defining the type (math model), initial value, and kernel operations (with specs) Abstract extensions defining one or more operations (with specs) Concrete kernels various implementations of abstract kernel with different representations and algorithms (and thus performance) Checking kernel checking implementation layered on top of (and parameterized by) other kernel implementations Concrete extensions implementation of extensions layered on top of (and parameterized by) kernel implementations http://www.cse.ohio-state.edu/sce/rcpp/RESOLVE_Catalog-HTML/Bu  = u=  13og___PPT10G..+[W_D' = @B D' = @BA?%,( < +O%,( < +D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*`%%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*`%R%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*`Ru%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*`u%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*`%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*`%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*`%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*`x%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*`x%(+8+0+` +"   d(  d* d  x g0e0e ?Rectangle 2`   ^Catalog Filesystem Structure   d  ~` 0e0e ?Rectangle 3   A catalog in Resolve/C++ is a directory tree with the following structure: Some Catalog AI FamilyA FamilyB & AT FamilyB Kernel.h ExtensionX.h FamilyC & CI FamilyA FamilyB & CT FamilyB Kernel_1.h Kernel_1a.h Kernel_1a_C.h Kernel_2.h Kernel_C.h ExtensionX_1.h FamilyC & jL P  P P P P P P  P P P P PJ P  PL             J    13___PPT10i.¹ +D=' = @B +"&  h(  h h  xж0e0e ?Rectangle 2`   RAbstract Kernels  l h  ~h0e0e ?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! drs/downrev.xmlDN0HHܨ҆UU@@*5o@lGiӷgYͧ/GӋ=9 $ NwQV=^LAVc,)8Rdv}rT8R%av|Fj^^&ɭ4Y^hquKWm YrV]g6ͫRgD1?ϊ,YsKv vO-H^q-SPK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-! drs/downrev.xmlPK $ nf___PPT9H@ 'An abstract kernel includes: A new programming type Name Math model Initialization value Kernel (primary) operations Name Formal parameters and parameter modes Requires and ensures For templates, template parameters http://www.cse.ohio-state.edu/sce/rcpp/RESOLVE_Catalog-HTML/AT/XYZ/Kernel.html Z Z% Z Z@ Z# ZP nZ%@# O ( 13y___PPT10Y..0+[W_D' = @B D' = @BA?%,( < +O%,( < +D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*h%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*h4%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*h49%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*h9D%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*hDY%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*hYu%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*huz%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*hz%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*h%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*h%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*h(%(+8+0+h +"s,    lh (  l$ l  xj0e0e ?Rectangle 2`   XAbstract Kernel Design    l  ~i0e0e ?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!+drs/downrev.xmlDN1&CsIId2RAN m\|'lTNd]k0F4յcshp! sizOYh>ܕ )tCӓ]eBxpqs j<|+}}zy\bUm* ,y }^NY zVy_?PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!+drs/downrev.xmlPK  H$  Pick a meaningful component family name and name the component Family_Kernel Think about what values Family_Kernel objects can have and describe them using a mathematical model boolean, integer, real, character, string, set, multiset, tuple ( , , ), binary tree, tree Name the various pieces of the model Include any constraints on the possible values of each piece Specify the initial value as a value of the model type Think about how the component should be parameterized Choose appropriate abstract template parameters Think about how you want to manipulate the new objects, and choose the kernel operations Select meaningful operation and parameter names Specify parameter types and modes, and requires and ensures Kernel (primary) operations should provide minimal, but complete functionality (in particular, client needs operations to check requires of all operations) Remember you are designing the client view!!V P Pm P0 PY P P- Pdm Yt\  13 { ___PPT10[ ..`"c+[W_D' = @B D' = @BA?%,( < +O%,( < +D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*lM%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*lM%(D3' =%(D' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*l %(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*l 1%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*l1n%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*ln%(DZ' =%(D' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*l%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*l %(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*l d%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*ld%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*l%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*ll%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*ll%(+8+0+l +"  p(  p p  xm0e0e ?Rectangle 2`   N Requirements   +  p  ~n0e0e ?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!yEdrs/shapexml.xmlX]o6}@uH(Q$@Fa)XkH;璒kgC& ďKޏsJ4:Iԏ)pw2ys)J_e=q5b&uʗד^eKY Rc0]ثtR{ᡨR*Qj~z^,eeYrƙ F<*xK옚lZcď[`i)t%kkR0-oR>H.QrqF, ~ɦ[-S OOp hhl,h4J}A?he4%m'~sc-pD_Y,>sdi4b{q:4:QݟY覺5*%t]S9[yiZ /uaYؚQf b=u@ޗi|xSFy&r"9*Rr/&Ԇ>]hoo%yo%l`+a)?C'݇5‹RlO: ,ŃX̟[ k}\#TUu,#~Nc q ,5:R&ly4č,^ʢD7¿\;hn8 T$:т¨ԫNl̟wf;okY RQuեϖw* W:$;Ea8:y)&̶yJHL xeDM'*ʋm7PN%ޖ+<8[I !_[)bBC5>&S+gTobR(>L&Dmvȵ=1R"NdDhH+ ~]>n1HRbD9R>>w;RHyʎ-GãA||#5_>u#__{—r:yrH4!-O_f'qc }{tBWKK8tgϯmSj0 (mwaCnő팤_?N۵2i '%Hh\KJQi=V#VHF7A;!tð{Ⴆ>&~CF̄ Y-4BBo:ĕ" _ Owb-="ysHbuNEb+B#style.visibility<*pc%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*pc%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*p6%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*p6%(+8+0+p +"$  |td(  t t  pm0e0e ?Title 1`   8Issues with HW #17 ( t   Ѽ0e0e ?,Content Placeholder 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! g4drs/shapexml.xmlYmk8~pAM_Bݥ ,bˍ/l_HpdbF3hFF?JŖҺ}:Ld~NKΜ:ht]WCW1(k7>.ROu(Ae J58><<M崚XүˉeEδ(hM6Q"s2i14QQI1I2+~`;0mu0iXFVsطJY# Unvs-&u}vrg'痗dʕg)/O..d)$`Q ZFM~ug5icPA&+LO-L]¯NOa0vlF( :E -9(Ԕc=RTwa+F$f: b9vb-K&//Di(~{=B؂GKa@f)@VBgPqQ̦/M k}ԑb"@mP Gz.35uN˃7ߋP1f\X'? ^TCabYI⹨ˢ41po¥>6Pk8Іgdmf("ԐO a,B/K(Rp5&tVX1J?RRb}TJ8 .-%\N=֏i0GU"u*RGX ltaOOoOP&~& AK'ԏ$D G b!⋞ډefSÂﺴg>#̌J t#zCGr֢vn#J@ums*GwMn{q۟ss»r߯7X87X_f7K}TSWS{T!d-;|)%9 J2J:w&t_ثS3h_*\pmNj*"H, ҎR),Fn؋DBiF= ʒfAnKv 0\sY 9[%' fp`ysț|j;,nzeG ީ\Aliűt282LXb}#h!0r$J ʵ QMNM =SQ wU3ҖAUB.CTXT &?)$jo,4 t{,6AIwȶ> ;Y?F/4n-fJ\ =,meJx[in|ΦDb-_8^-Z$]Tx {aY| q֮G _&?Yp5v;[Oe7Ń;of3Y_m!9csZ⌆O˿PK!%drs/downrev.xmlDQK0Co.u(}6mMRv|hg'S6Ddu2™W *O؈ 6ƾ2T- ׳M]o4$4fҐ顥7-W AvX櫤ۛi"7/T k#$d,A.PK-!Zf[Content_Types].xmlPK-!1_a /_rels/.relsPK-! g4*drs/shapexml.xmlPK-!%x drs/downrev.xmlPK{   j F>___PPT9  `Use math types, not programming types (e.g., Partial_Map) in abstract kernel model and specs There should be no Text or words, only items Specs should describe the "what" and should not read as describing the "how" and they should not look like C++ Make sure initialization, requires and ensures refer to self When using tuples, provide type and name for each of the fields so that you can refer to them in the specs Include appropriate constraints on the model if some of the values are not allowed Make sure all the names (family, model, operations, parameters) are chosen carefully so that they are meaningful and expressive (and in a way that is consistent with the naming conventions employed in all the components) frequency is usually a fraction, not an integer Think carefully about missing and/or redundant operations It is not clear that two phases are necessary or even useful 8yZZx 1380___PPT10."c    x(  x x  pӼ0e0e ?Title 1`   ;Issues with HW #18/19 d x  Ѽ0e0e ?,Content Placeholder 2  j F>___PPT9  0spelling and case #ifndef/#define and all math definitions/subtypes all upper case objects and math variables/tuple field names all lower case classes and operations mixed case do not force implementation to make copies of items watch out for missing operations Item in implementation must have Is_Equal_To (look at any Partial_Map implementation to see how to say that) elements does not mean anything for sets (it is a string function) make sure you follow the rule for parameter passing & self = #self  {(x,c)} does not mean (right) pair is removed do not use the same names for the fields of the model and the fields of the representation missing constraints look at component you want to use to see template parameter listH(' 1380___PPT10."/  $  0| (  | |  xԼ0e0e ?Rectangle 2`   RConcrete Kernels   |  ~ּ0e0e ?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!3Xdrs/downrev.xmlDAO1F&fLIWYV !Q1!qtVX=N}yyo[q  醍*"1)8QlvGaH*c )CU0pqb;-tz#cVdٝpZeM*ƫׇ(/~܇RD>?UԒG vϧO H^AKPK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!3Xdrs/downrev.xmlPK P$ zr___PPT9TL =#A concrete kernel includes: The type representation Instance of Representation record Fields (type, name) Convention and correspondence Public kernel operations implementation Private (local) operations Name Formal parameters and parameter modes Requires and ensures Implementation Template parameters (some from abstract component and others specific to the implementation) For implementation-specific template parameters provide default choices whenever possible) http://www.cse.ohio-state.edu/sce/rcpp/RESOLVE_Catalog-HTML/CT/XYZ/Kernel_1.html P PT PC PO P] P[ PR nPTCO]  [P $ 13%%___PPT10$..]%w+[W_D$' = @B D?$' = @BA?%,( < +O%,( < +D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*|%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*|4%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*|4V%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*|Vj%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*|j%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*|%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*|%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*|%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*|%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*| %(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*| %(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*|w%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*|w%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*|$%(+8+0+| +"_1  vn@V(  $   x׼0e0e ?Rectangle 2`   XConcrete Kernel Design     ~ؼ0e0e ?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!TI3drs/shapexml.xmlZ]o6}@uH8vQ$@Fa)8kH\'璒-e+$]J=-rƪ_YO{"\Lot.bm2a5B*+,ޠ?e"Q ]"J7sÒ(࣓gJdZP6*9D@E'DF| [z05!ԗ+&ύџVRDcܞSUAU%_Amx@ 7O1&{gbaa`2;Tn- Q? !1ꏏ'̫OBGwoQ~a,P枳OFş07Ӟݺp4 c5f*K: k-g>yiCPg3C䦰7ۏ䌒hۼ׋ȥYa ,TXqbY]"ŒSZFeH+G}];,gA:03[Z;];؀" S"߈Ž𲾍3ua2ֹk Mb T!(9kzEC6nڴ)q!ㇲ+;󣏽yl0A])(ɑIdNߥZ׸brqSW;wE%Zp'6\],IAJBWpˬX)0T\Y?"p>,=K N$k¥8[K!_+)b"M;%pa4wusuQb,wJU^{_R4onc LlJJL[SRxPT`~~[?./T#G=`Q?޿\1`Y`cA$~XJn1J N: ڞkuUHNJt}a#(^ێ YE:[S+kz^ޕ<7@ H4TsÞ ݽ]3xKy^fi-l쉻ODOh *N@3ePH2!O/ yrXp?(r;*rexۻ7~;ڧ=w!݇#Cw>sVA=͍ľܭon-X+$v`X4}?}鎹K"kN?|VQO0+_'0*R }(8WǶ~l'MѤ=LڦA6s;h%wr' :XP™E<,6aJ0,Y+tmVΘ:ؕt%+Je#QB-ߊF(G*4rXփͻ~G Ib^j⟭}hi6r>F w\ˆP-N`ɾQn, ڏ 3a6Yw7ʦY0CbʑeAO3!C$!DJh_Г92@u%X~)E~z:wB|m !X+JBr9Iʵ<y>+%QZԯ!PѼ%o&K 8e~8e󲻅m|[J|{`Naok<g@ ?b߯\ܛP@?P]|ۂ }e 2:埱JepFJ70IT78 H`;g6Mt ]]cяu fu]uKi-6wiC+lt,vP޾rpih ׈Ѓ8:`<5㯟=y:tWj4=@]gvצzctPK!x1drs/downrev.xmlDQO0M%H8A!5*&&0ym.mm|Ǔs|ygq$k n KˤLˋ)fڞxMM(EPABI鋊 mc`ѕR;___PPT9  Choose a representation that satisfies the following: It is expressive enough to represent all the possible abstract values It is good enough to allow efficient implementation of all kernel operations Think about the mapping between abstract and concrete (representation) values and describe this mapping in the correspondence clause Think about any constraints on the acceptable representation values and describe them in the convention clause Include all components needed (including those used in template parameter restrictions, even those they appear in comments) Specify the template parameters by including The parameters to the abstract kernel, and Parameters for each non-built-in component used in the representation (specify defaults for each of these whenever possible) Implement the kernel operations and design and implement any local operations that help improve your implementation See the Resolve/C++ catalog for many examples of kernel implementations6     6oe   13y___PPT10Y..`"c+[W_D' = @B D' = @BA?%,( < +O%,( < +D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*6%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*6|%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*|%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*N%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*N%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*9%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*9f%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*f%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*%(+8+0+ +"U    P (  )   x׼0e0e ?Rectangle 2`   ]Kernel Implementation Rules  +    ~ڼ0e0e ?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!{mQdrs/downrev.xmlDN@M|͐x'[~ZXA ݡvgۻB/Ow͗iĉ-+ą5 >ˤB9fڞyK](EPABI鋊 mcw`ѕR;+B#style.visibility<*%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*d%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*dS%(+8+0+ +"&  ` (  )   xܼ0e0e ?Rectangle 2`   ]Kernel Implementation cont.      ~ ݼ0e0e ?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!]drs/downrev.xmlDN@E&䙸(+BE!1q+B#style.visibility<*%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*u%(+8+0+ +"  s k pS (  )   x@޼0e0e ?Rectangle 2`   ]Kernel Implementation cont.      ~`߼0e0e ?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!תddrs/downrev.xmlDQO0M%M: 2)QbBzنV}<9'7[tgr`8H@V\*8)56I<,潛f^xG}(EPABI鋊 mcw`ѕR;Di(IC-**FA;<=-ixS&߾+u u=?i8\?]w9/FSPK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!תddrs/downrev.xmlPK  H$  Layered Standard Operation Rule If the representation record s default initial value (i.e., a record with each field having an initial value for the type of that field) satisifies the convention, and the correspondence says that it represents an abstract initial value, then do not write any code for the constructor. Otherwise, write as the body of the private procedure Initialize the code that transforms the initialized representation record to some representation of an abstract initial value. Do not write any code for the destructor, the swap operator, or the Clear operation.DI Zt   I 13'___PPT10..q]+[W_D' = @B DJ' = @BA?%,( < +O%,( < +D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*I%(+8+0+ +"     (  )   x`0e0e ?Rectangle 2`   ]Kernel Implementation cont.  ~   ~0e0e ?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!_eZdrs/downrev.xmlDN0HHܨCV EBJ,6 בmZ8q4o͗tHη2ĕ- >5vI<,s̵=qA]EQABK髆 S`HR;<%0&` UݷQOO\vѿ)u}W ?.6W^x@7O} %d rPK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!_eZdrs/downrev.xmlPKP  H$  Kernel Purity Rule In the body of a kernel operation, do not call any kernel operation of the same component (including a recursive call). Local Operation Rule In the body of any local operation other than Initialize or Finalize as in the body of a global operation do not mention self. In a call to a local operation as in a call to a global operation do not use a distinguished argument. Z Z 5k  13___PPT10..q]+[W_D' = @B D' = @BA?%,( < +O%,( < +D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*%(+8+0+ +"'*     (     x@0e0e ?Rectangle 2`   RChecking Kernels  7   ~0e0e ?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!ddrs/downrev.xmlDQO0M5M:2)Dm.m';' G +buYck\|v}5\3߇JD!tɠَ8vG ]%sV>$ɓ4p|eM(&b¦4Cۛa "ǫSMW޵t= oO@NAPK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!ddrs/downrev.xmlPK $ zr___PPT9TL A (concrete) checking kernel includes: Public kernel operations with requires Implemented by layering on checked kernel Template parameters Abstract kernel template parameters Family_Base implementing abstract Family_Kernel Private (local) operations, if needed Name Formal parameters and parameter modes Requires and ensures Implementation http://www.cse.ohio-state.edu/sce/rcpp/RESOLVE_Catalog-HTML/CT/XYZ/Kernel_C.html' Z' Z* Z ZT Z& ZO Z0 nZQ nZ''*T& OQ  13  ___PPT10..00+[W_Dr' = @B D-' = @BA?%,( < +O%,( < +D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*'%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*'N%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*Nx%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*x%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<* %(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<* 1%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*1F%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*FU%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*V%(+8+0+ +"    } (  #   x@k0e0e ?Rectangle 2`   WChecking Kernel Rules      ~0e0e ?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!o/drs/downrev.xmlDN1M|fL. W ,0nݴB/OwMiŁ}hE2l+[#ʗ *jeϦ+w>lc-Ćt].e4 ױMyC1E_KকY64u\h_w(ͺ _  n  13___PPT10a..tM+[W_D' = @B D' = @BA?%,( < +O%,( < +D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*%(DZ' =%(D' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*%(+8+0+ +"   (     p 0e0e ?Title 4`   >Lab 6: General Structure ~   @0e0e ?,Content Placeholder 5"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!83Kdrs/downrev.xmlDMo0D[qDR TUKhud${q47zh:q&[ ' k95vI4Ӧkl|zA|Ua\4/Vr Q.'=@NAt PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!83Kdrs/downrev.xmlPK 0"$D nf___PPT9H@ >Read words and add them to counting component (loop 1) Extract the N (100?) words with highest count take words out of counter and put them in SM1 (loop 2) take top N words out of SM1 and put them in SM2 (loop 3) Generate tag cloud of N words in alphabetical order take words out of SM2 and output tag cloud (loop 4)enr4n4e7943     ? D@ 13___PPT10.05y+YDn' = @B D)' = @BA?%,( < +O%,( < +D4' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*7%(D4' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*7e%(D4' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<* %(D4' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*e%(D4' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*%(D4' =%(D' =%(D' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<* ?%(+"  (     p`0e0e ?Title 4`   :Lab 6: Other Details    0e0e ?,Content Placeholder 3"  Include and instantiate components needed Declare records and utility classes Choose appropriate implementations (for performance)  13___PPT10i.05y+D=' = @B +"  h(     p0e0e ?Title 4`   CLab 6: Template Instantiation !   0e0e ?,Content Placeholder 3  ;Qconcrete_instance class Name : instantiates Template {};Rccgc ccgc gc R 13___PPT10i.05y+D=' = @B +"  s(     p0e0e ?Title 4`   ALab 6: Record Instantiation .   0e0e ?,Content Placeholder 3P  HBconcrete_instance class Name : instantiates Record <Type1, Type2, & > {}; field_name (Name, 0, Type1, fName1); field_name (Name, 1, Type2, fName2); & ccgc ccgcg c ccgcgcgc ccgcgcgc  13___PPT10i.05y+D=' = @B +"  ~f(     p@b0e0e ?Title 4`   <Lab 6: Utility Classes &   `0e0e ?,Content Placeholder 3P   @concrete_instance utility_class Name : implements abstract_instance General_Are_In_Order { /*! math definition !*/ utility_function_body Boolean Are_In_Order ( preserves Type& x, preserves Type& y ) { // implement function } }; see http://www.cse.ohio-state.edu/sce/rcpp/RESOLVE_Catalog-HTML/CI/Text/Are_in_Order_1.html/`\ccgc ccccg cgcc.cgcgcg c\"  13___PPT10i.05y+D=' = @B +"&  (  !   xc0e0e ?Rectangle 2`   UAbstract Extensions  W   ~d0e0e ?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!,,drs/downrev.xmlDN1EMfL| BP#BBam7m397g:m+N AڸZ{r ;Rp OnG}K\,PARWH,Ɓ1;`1jXn[yeҢq`GˆUЍoOQ^.K?}n 97CMV[&aLp29PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!,,drs/downrev.xmlPK  "$ nf___PPT9H@ An abstract extension includes: One or more extension (secondary) operations Name Formal parameters and parameter modes Requires and ensures Template parameters Abstract kernel template parameters http://www.cse.ohio-state.edu/sce/rcpp/RESOLVE_Catalog-HTML/AT/XYZ/OpE.html - @  $ M n -@#   L"7 N 13___PPT10..00+[W_DN' = @B D ' = @BA?%,( < +O%,( < +D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<* %(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<* M%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*MR%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*Rx%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*x%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*%(+8+0+ +"*     (      xd0e0e ?Rectangle 2`   TLayered Extensions  )   ~f0e0e ?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!6bdrs/downrev.xmlDQO0M%M:DeRȂ1xm0xrNoTNd]k$F2յ]|shp!j4g]ik e(8wUC Cw0V\Z<m\aC=>J@l֏}ZJ3dpoB\"+QR,Na[Yd`L/~PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!6bdrs/downrev.xmlPK P$ zr___PPT9TL A concrete (layered) extension includes: Public extension operation(s) implementation Layered on top of extended kernel Template parameters Abstract kernel template parameters Family_Base implementing abstract Family_Kernel Private (local) operations Name Formal parameters and parameter modes Requires and ensures Implementation http://www.cse.ohio-state.edu/sce/rcpp/RESOLVE_Catalog-HTML/CT/XYZ/OpE_1.html) Z- Z" Z ZT Z ZO ZO nZ)-"S ON"xg  13  ___PPT10..00+[W_Dr' = @B D-' = @BA?%,( < +O%,( < +D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*)%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*)V%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*Vx%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*x%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*&%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*&;%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*;J%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*K%(+8+0+ +"    { (  &   xg0e0e ?Rectangle 2`   ZLayered Extensions Rules     ~i0e0e ?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!{drs/downrev.xmlDN0DHHܨC uR!%&x٦M=fFo2L'v|kY(A\Yr|Ycglzz2B=i *hB )}ՐA?=q 1Zj7L$[ h}ߌEiW>φ-@C8w^}\' Ͳ4}<|Vr _ PK-![Content_Types].xmlPK-!Z,[ _rels/.relsPK-!{drs/downrev.xmlPKP H$  ,Extension Implementation Rule Implement extensions by parameterizing them by an implementation of the kernel and by layering them on top of it. Local Operation Rule In the body of any local operation as in the body of a global operation do not mention self. In a call to a local operation as in a call to a global operation do not use a distinguished argument.,j j j 13___PPT10..tM+[W_D' = @B D' = @BA?%,( < +O%,( < +D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*%(D' =%(D)' =%(D' =ABBB@B0B%())))?D' =1:Bvisible*o3>+B#style.visibility<*j%(+8+0+ +" (    fy˼y˼?Rectangle 7q2   j*   a   r0e0e?Rectangle 2      ~`y˼y˼?Rectangle 39 3V  >6___PPT9 fThis is an overview of the Resolve/C++ model of software it is a quick review of what has been covered before meant to show the bird s eye view By design, we do not want to spend weeks re-covering this material; we start with this quick summary and then will come back to each piece as we work on the design and implementation of a new component family For now, the important goal is to realize that the whole model is not that complicated or with that many pieces Perhaps the rules can be re-introduced as needed (instead of presenting them all with the summary)4 " 4 4   3380___PPT10.w,`_  (    fy˼y˼?Rectangle 7q2   j*   a   r0e0e?Rectangle 2      ~`y˼y˼?Rectangle 39 3V  >6___PPT9 JYou ve learned many things in 221/222, e.g., recursion, algorithms for a variety of problems, various components from the client point of view, some C++, etc. That s not what we want to review here. What we do want to review is what you have learned about how to write software and software should be written In building a new piece of software, where should we start? Components! Assuming we understand well enough the requirements, i.e., what the software is supposed to do, we need to look for a way to break the design up into components (either pre-existing or new). Among the advantages of a component-based approach is the support for a divide-and-conquer approach to solving problems (a big problem is reduced to solving several smaller problems), each component s complexity can be kept under control, and reuse is more likely (instead of always building everything form scratch) How can these components be organized? How are they built? Are they all independent and unrelated? Is that a reasonable goal of any software design? No. Components do no exist in isolation, they are related or depend on each others. Capturing and understanding these dependencies is a fundamental part of our model of software. As in all approaches to software, you can do good things or bad things. Even the best designed programming languages do not prevent someone form doing things that compromise the correctness, readability, maintainability of software. Discipline is required of any good software engineer. There may be different sets of rules and guidelines depending on the company, the project, the language, etc. but most serious software houses do have in place a specific set of recommended or required programming practices that all programmers are expected to adhere to. These can range from how to format your code and how to name components and operations to deeper more fundamental rules on how to design and implement software. We have our own set. "     3380___PPT10.@5  u m @U (    fy˼y˼?Rectangle 7q2   j*   a   r0e0e?Rectangle 2   J    ~`y˼y˼?Rectangle 39 3V  >6___PPT9 >  The old view is that software is simply code, i.e., code written in a programming language that gets compiled into executable form. Anything else is just a waste of time and bytes. The problem is that as software gets bigger and bigger (millions of lines), it becomes impossible to keep it all in ones mind. It is necessary to organize and build software so that each piece can be understood on its own (or together with a small set of other pieces). For this to be feasible we need to have descriptions of the behavior of components (the pieces) that do not rely on how they are implemented (otherwise, we d have to understand also all the components used in the implementation and, by transitivity, we d have to understand all the components that are used by those and so on). That s the reason for abstract components and for making them first class citizens in our model. Abstract components describe the  what . Concrete components describe the  how . Abstract vs. concrete is the most fundamental characterization for components. Main programs are beasts on their own. Because they usually include interaction with the outside world, and, in particular, human users, it is more difficult to specify them precisely and to fit them in with the other components. "    3380___PPT10.t& mepM(     0e0e?4Slide Image Placeholder 1      @y˼y˼?(Notes Placeholder 29 3   2  /  `y˼y˼?6Slide Number Placeholder 3q2   j*   a 3380___PPT10.HP  (    fy˼y˼?Rectangle 7q2   j*   a   r0e0e?Rectangle 2      ~`y˼y˼?Rectangle 39 3V  >6___PPT9 aThere are other dimension along which we distinguish components: templates vs. instances, kernels vs. extensions, kernels/extensions vs. utility. They are all important, but secondary. What is the difference between instance and template? What is the difference between kernel and extension? What is the difference between kernel/extension and utility? &a "  b b  3380___PPT10.tq  (    fy˼y˼?Rectangle 7q2   j*   a   r0e0e?Rectangle 2      ~y˼y˼?Rectangle 39 3V  >6___PPT9 ^It is unavoidable to have dependencies among components. However, instead of simply relying on one or two general purpose language mechanisms (e.g., inheritance or templates) to capture all the possible dependencies, we use explicit relationships to state what the nature of the dependency is. This has two major advantages: code is more readable because we are explicit; the small set of relationships is an integral part of our model of software it directs our thinking when designing and implementing components. Instead a language mechanism such as inheritance does not suggest in itself what the relationship is nor does it suggest good/safe vs. bad/dangerous uses of the mechanism. "    3380___PPT10.I I (    fy˼y˼?Rectangle 7q2   j*   a   r0e0e?Rectangle 2      ~`ly˼y˼?Rectangle 39 3V  >6___PPT9 6What do each of these mean and what are they used for?7 " 7 7  3380___PPT10. / (    fy˼y˼?Rectangle 7q2   j*   a   r0e0e?Rectangle 2      ~y˼y˼?Rectangle 39 3V  >6___PPT9 uAlthough CCDs can be very different, our model of software results in only a few recurring patterns of dependendency.v " v v  3380___PPT10.޵trO^583.BRc,ozuA~\'.ZaψJ!MhP,hZ}dPbOl !)DScli3é9Oh+'0 hp  Slide 1 Paolo Bucci 321-Slides Paolo Bucci118Microsoft Office PowerPoint@H@P!&@Ģ Gg  pp  pA x(xc֌Rcccc9c9c99cccc9猌猌9c9cccccccֵ֌֌ֵccc֌9֌޵99c֌999c֌ֵ9c猌9֌޵֌֌9c9֌経猵9cccc9cc9cֵ猵cc9c9cތccccRcc޵c޵c9c9c9ccc絵cccc絵cccc絵ccc֌޵c9c猵֜֌֌޵c޵c޵c9c9cތc999c֌޵c޵c99cc9c絵99cc9c999c޵c猌9ccc9c9cccccc99c9c999cccccccc9cc9999cccc9c999֌ccc֌99޵9999ccc֌c﵌ccccc9猵޵c֌޵ccc9999999c޵9֌9c9c9޵c9cc99c֌9c9999c9c999経99޵ccccccc9c99޵޵9޵c9c9c9c9999ccccc99c99c99֌޵֌޵99c9c9c9c99ccc999999c99cc9޵99cccc9޵99cc99cc99cc9޵9޵99cc99cc99c޵c֌cccc99޵cccccc99ccc99֌cccc99ccc֌99cccc9999cc経9cccc99ccc֌c֌99cc99cc経9cc9c﵌絵9cccc999֌999޵c99ތ経ccc9޵c99c9c9֌9c9c9ccc9cc9c9֌cc9c9c9֌9c9֌9c9c9c9c9֌経c9c֌cccccc9c֌9޵cc9c޵9c9c֌cc9c99޵9c9cccc9c9999c99޵9޵ccֵ9999c99޵ֵc޵99c9経9c9経9cc9֌9֌ccccc9c֌経9ccތ9޵9޵c޵999޵9޵9޵cc99ccc޵c޵cc֌ccc9c֌޵c޵cc99cc999c経9ccc޵c9cc999޵c޵c޵cc޵c޵c޵c޵経99999cccc޵cc޵ccc﵌cccccc9c֌cc޵cc99cc9֌cccc経9cc9ﵵ絵9経99999c֌c9c9cc99c9c9c9c޵999c9c9޵9޵9޵9޵cc9cc֌c9cccc9c9c9֌9c9޵9޵cc9c9cc99޵c9ccccc9c9c֌c޵999֌9c9޵9޵99޵9޵9޵9޵c֌9c9c޵c޵99cc9޵99cccccc9޵c޵999c99޵cc経9c猵9cc֌c֌ccֵ99޵c޵c޵c9ccc޵c޵c޵ތތ9֌ތ9֌c99ccc経999c9999֌֌999ccc9ﵵ99c999֌c9ccc9cc9999cc9֌ccc9cc֌c99999֌޵99cccc9޵c޵cc99cc޵9֌9ﵵ֌経99֌9cc経99֌経9cc֌猵֌経9cc9֌ﵵﵵﵵ޵cc޵޵9c経999c9999֌99c֌c֌99ccccc֌cc޵cc99ccc޵c﵌ccc9֌c޵c999c﵌c9cc֌c﵌c9c経9経c9c9c֌9c޵c9c޵999c9cc9֌9c9c9֌9c9c9ccc9֌9c9޵9޵cc9c9cccֵc9֌9֌9経9c99֌9֌cc999֌cc9ތcc99ތ9޵99c֌9c9c֌cc9c֌ccֵ99޵cc9޵9c9cc9޵c޵999c9cc֌c99999֌経9ތ9֌c֌経9ތccc99޵cc֌ccc֌ccc֌cc99999999c99cc99999޵֌9cc9޵c޵c99c経9cc99޵9޵ccc999֌ccc9ccc9経999c﵌ccc99ccc9ccc999999޵޵99c֌9猵޵ccc֌9ﵵ絵9cccc経9cc999֌c֌cc9c֌cc9ccc9cc޵999ccccc9ތ経cތ経޵9999c9999֌9c99cccc9֌9cc9c9c֌9޵c9cccc9c֌9֌9c経999経999cc99ccc֌c9cc9c޵9c9c޵9cc֌ccֵccc޵ccֵ99޵c9cc99޵c9cc֌cc経9c9経99޵9ccc9֌9֌cc9֌cc経9cc99c)R֭Zs)1)ZέRk)119RZs!!)))R֭Zk)1BRc{!Zk!!!)Ƶ)ε1ޭ))R֭Zs)1s!!)ƭ)έ1ޥ)1)ZέRk)1!!)!)ε)֭1111)R֭Zk)1!)!)֭)ޭ1)111!Z֭Rk)1cΌεcΌ֌c9cֵ9֌c֌999))Ƶ1ޭ)ޭ119191cB!ֵ9֌c9cεcc9εεc99cεccεc9cε{c9!εc9c9εΌ9ccΌcΌ9Όεֵε9cB!cΌ9ccεεcΌ9ε֌9ֵ9cεεcΌcΌΌ9cֵ9{cB!ֵ9cΌcε9ε9ε9cε9ε֌9Ό9ccB!εc9Ό{c9!cεccB!{cB!՜.+,0x   $, 4 "On-screen Show (4:3)$Computer Science and Engineeringת, 4ArialComic Sans MS WingdingsTahoma Courier NewLucida Sans Unicode 321-Slides 1_321-SlidesReviewModel of Software ComponentsConcrete Components OnlyWith Abstract ComponentsOther DimensionsComponent DependenciesRelationshipsOur Approach vs. OthersComponent Coupling DiagramsExtension Component CCDExtension CCD: ExampleChecking Component CCDChecking CCD: ExampleKernel Component CCDKernel CCD: ExampleResolve/C++ DisciplineCoding Conventions Basic RulesProgramming By ContractComponent DependeciesComponent OrganizationCatalog Filesystem StructureAbstract KernelsAbstract Kernel Design RequirementsIssues with HW #17Issues with HW #18/19Concrete KernelsConcrete Kernel DesignKernel Implementation RulesKernel Implementation cont.Kernel Implementation cont.Kernel Implementation cont.Checking KernelsChecking Kernel RulesLab 6: General StructureLab 6: Other DetailsLab 6: Template InstantiationLab 6: Record InstantiationLab 6: Utility ClassesAbstract ExtensionsLayered ExtensionsLayered Extensions Rules  Fonts UsedTheme Slide Titles,#_㳪 Paolo BucciPaolo Bucci  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGIJKLMNOQRSTUVWbRoot EntrydO)Current UserPSummaryInformation(PowerPoint Document(תDocumentSummaryInformation8H