ࡱ> ^n6El.bR+ PNG  IHDR;sRGB pHYs+DIDATx^][JdKvru|DAl#a}`s! I \ppa`_Ĝ׸\PM"[IKIlG~rV~z;3̼fkٞOog=}e7 y$X $7[ҊҊKjPL?˭x=,1}xH-j[ĿLx㗃W۱풭#[d$oU%j[ $з{5M(RC',r4皼OӤ㭮1ۮ\LϪե8/{H'ZޏC .x_*- yCZA?Cs P/_e䟕ڟ P҆:T:O``'= wٛ_}opY6|˃jxU|wZ¼<溵Kjڵ\ xr Aڼ抷bNn(/%B@%|o*[ N=M5X(Khi-VWL ⲺΜZVޔz#Vo? _@lr_r ^pr e=L/;m+݋a~u/' GRdjy.XSyڵ۱$ :+N=sq_]+ v[k_чgq_P[eOQd[0Oߧѣg3ԁ]sa>ʃ [+W^Lgϫ 󾌃O3r:55u~ r&L꧞|gk{V^<^WWɕٙSS _t9/DlQ[e@qtԿvQ]{RW+5NMN{gB} ?rﭏA=al @<{ql_108I?{ޟI9a>/>GonnZwh-ob |ȵ߽wɯWgf o9(zѓ/xD})WkdK%'ɷ:[R~q\]=~t%_{:p먿?/_^yL y ~~>Zȯt+P] dTzNEWgY~ٗ~7Cyt|ggurC~'ODwyͯPɢ 1@lK>3;ZF@/4JCs/{ʓ*;- {|->]k= %{]k~nuv_7!_^? w{+=ʓһ1SjvC~<3`lHF/;*4zZ/y5Uoy?jc[kU@?7, eVՓz߈!Oju:DҕI @ vaK/aEڜY?{w[0Nn]5<-:}/g_sj{rJ>@4?!3de/Q/٦.T#|G󁛯r|<\KU}hAL}OO_>[򯼗vԷsؔBmWW Jx7AUpT)H#t`K?!_ydoiauufͿ:#Gmnmbj}'~Z~}z\~}կoZ{~ŽO'S};_zZ~k=w~3ݗӭC2 5w$HOMV¿[ dwYZZOyۧW>]tAJsI '\mgvmJMxK W>cygua,.4噿VZ'k?sy^#uߺm;:=*c?n:|&>H`}전$z_VF_' {;Y=m_C+Nr 8:Z;/婩 3̸[1ݜ})0jYyWZ_ElS\6?8$mE<'~y/|5:vz1$ћo?䁵~{Cf_%WѿxP6MB(߳ ߿ggGr%pqE+/[~c'JN /|w|]7[v@(|Ҫܷ~?~3KKvewp3Ney ėfѫOc.|7_W~-澾]&?/",Ka)GR/wN@^ {۾w#o8={h/mY; ү߹{.7G}qn|8W3޲0Q`A#|)-wC5%}'~y'AB~2֟ᏖNiBO+Fl|h67J# qSa2_V.v2M~ '_+W2?4J(5}NmiA(Ws8y|Z\dH`n }~E9?⑗^NjF"^ @"QQ@𼝌u6׋eʜ_͵Ȓ@Ot3I CWoQ!h 1ճ~'I͛qnѨvjH-+Lc5j֠N3D^|6гWU;vGnyıMW]Оo>ʭt._k8`uuwR͜UƆH{M,5B@CW#!_¼/g @p%NRS@D};sϞ ঀQ|7;7F 8>{ F}[*# !=@W4D@O@@+-M=@ @pE &3oU7;8 /Z2]W_>ݘ1FSK@O@@ikj Q@@ @u=##!3R7<~ pxk˳]@z!|^( @&}A@(~Q仩uM *{нWUͭfQ_rh{Yt;w^^BkЈْ+{IF? i~B @Z~Z1Gӟ87RC^W'NOoU4R\ɨO.d@U_C=_lg{^xS}#ׯݼ8VxX26uL7&OiաɧN?7ťH'd>'/{U]Q?ǥ|9IsdIUɋ kܸTmO| zyS*`^b' RʐUZoeFNA꒕,co_u>zIphUi^(;9ͷܪ7!ol 2I:)0w0۵.UVY1!I]/yyi6mLd2HII@/Z!}}#Y;/P4^bf@¶iFOرǂمy+_5)SbrbJveK-Ivs"nut1wo =6mezʩ RZ?_4 $ȿ=vtP۽5ٴ v%@KHk72UL*){0Tgr #xK{^(JK,ԫ#oKn N8L:؅)SŐ& zږ$N9Q=UOFȯP .{3,P@I+˩i}F҅y4[?u6!weȽ30G /~^GW]}h(^~9t%~Ɯ1HГhz-$nhu`sMa$mcÄ:Yh ە-&46AH ]F幍Plm3P>%TL D%Cӗt.E^9m!=y m>dA~[AG΃!GyR3qxޗ$ PDAzWs#G ",< LC?P,;f7uXe(3'%  s'Uf>V~@K_PN~kSP9hЭvg`^&iM6-C9sXn6DG+ YEv|Lg_ lW癣ܘ $o_s=&9lQ m*ȿ|QZ"A |=t Qb(5kPܚ[,1mw\WZvK$/2?3@Uk}->5wsে%ob 7:nҮ Etf׎'Էq$>:z WzaA*2Pl~9L$n+H%e ӱpf*7ehnA!О(וc*՗'+M˔MZ K0BZ!{9h< +CANHt>=것T/|%dW_ޣE`I!u$zkI( JY O%i!w{}t- Ϻ92a^ 71$054m&6řĖAYDg޴H@DI듡ow\/2LOљ{iU`hF3̍~ 9Q4LJ&IeB'(ڳWתz2^.œoK*-IӡlY 2iW":sV  9zd-s1.V+C(>"/3@tRvwzS275e+ 0lSq%ޗ e}٢S׏iL[/*_Mrþop\!Hzݲ8ds0Ep_d߶]N7&OidaX@J(v_q5{6EB@~!d @ %l @!DBX@ K( @B) %`~L0TP="nO!˯N_>EQGl@."lVD OB~x?k Un@D}z ]ii c@y׈8`N!`_0s3?@,3un] @;7@pEJKSO@@\ @>}@WOvuc[hJ_[myhtc䑆+g;@7s /#n9D@@)>@W4D@O@@+-M=@ @pE`̽ݏ؉cѪ˼@ oT^~d=>|wqH9xg1_ԗF]Dlw΂ #7 QulU @Q~ +D}WZz" @ԧ  Qߕ liPNvo7˹?.ms4۶# 7ԺׯeJ1_ƍKrϞSg#! % ꗴa(  s'%C@J*@/iP,@r NJ T_҆X\wA@|ɼRRu|w.sn~JVtU+[_OׯҦ(|} O>qB~ߡ> E3Lb ͒%e~Zn W{ <:`S%;*M؅1%MmZ @_V rCĠҘ1ML6!ZMH(Q DNzpc|l6F {F͆"{%La J #~ FlOK|v%y&F F&f\7kiAi6=n4I\פR 6ϒFJPPYnJMd=v-}aF۽,jlagۿpY[myhtcFwiJ@BROX$6OI0_-H{)КPsRm!9  ]my Q߽6  ]my Q߽6  ]my cڜyԸ/ρu_KS1"wP@7fSk@.:uFpSfSk@.:uFpSglw'j-9QU'+911qw9Yu*@: Q#~ڄ! PQWrE@|D %B@~1 @kJ @1k 5 r(f!ײ Vk?z^f~|+2_mD #﷾s T`-s_K@ "@w' D} ]ii{?h~zu٢Я=+Br 0_?]?QP]'NoϚSv4;`0_nL<ٞɆ(Z%K4M}J`5يޮQ.Ni|g~zZϩ3VQj X.O-0[X)B ԯ澾}9iB:{-kQ VV0W)ֱWrq-STg09@{~@[J$ @;>} 蘪BKL Kibo%vt2a9I}^$40'4<`Sm/BʣlVKzkJ(|'J\ӄZn =wZ# Zi>7Z" Q^ +D}WZz" @ԧ  Qߕ lz8{)[v̷ u߶N7&Oiyֵ`~-UW5n\@k~C9f1Ÿ;/" PR~Ib! Q?wR2D@D6 B@ w˝ " O󍍍4#o{+\ OkTI ;QKhw?rc'E7#&Y.,8辁Q@? 0_MkܸT-w|}s" @Y<)H?"@E ? e ꗥ%(]@P~d@X@B{n6ͺ7\_x <ĉXv3a撰".|ҼGC{KeTտYbZ/ģ5z4stv%=ˡ_wǿ[myhtcFL6@%ġ7fa4zk(D|4CsJʼK?(W:m0O@&Q<4TСSDj Q߁FQ Мq9[saӛSCR @"~"&!' CmE%OQ/l5}~.D~m vȫ`٪Z POK(|GIP>-5O%hI &|O@ *PO!@f1ST!^5x2Sv45F]>׼׸qRϝ @*PR  0s;?F@:D%E@;~w~ @ui+J @w׏+qhF{9u ש5KDbs {,ʦ9e*oge2霹] Ѭ:gޟ` Q1|{ehP~f(a|e͂/kP2 p_B@(ZE ? e`~LKTe%ԍΡ,;E7}^|=  p_ؽ{-,}*eG@ ʱ U W(/ YYX@ b@Dr @bg(UwHyz8||4RB뗰Q*$B+SG@קO  P{OAoi*X1?h~r,cnd W(v|!T׹ Cm"^ 4;$M#1b Qb FqHD 5TD1ݠl,)n% ށ}NP]PgۿpM_c TtvH϶ի@r|sjr7R"SBti31%@ԯW{Rz ߘt-C74с}z QH':/RWH# r,.#ْs_R#@6`s#R PB.uz A($ 'Q"  u`~L+2UTݡ;(uH/P~Kq)[;=TX"~"PT1y(YOձU  p_3! @]uiI @;W^7>}@W4D@O@@ǴtYRHi\ىF/ܪfsȬk۴J1_ƍKr6ԙ_Fs%C@J*~Ibu/ cccCY6J@k}~)3;*Q|mB(@/cP&@~ @x-D@K1C(8`!0_4_^O @_VL -}@Q/Ka( (~d @j  @Dq@R 0_?92r{7?3#:g1yHT$@`~ @%_f d g@c@*)@ԯdQh@23   W(4 |_A?*)93*  `~e" s$+@J-@/uP8@K>D<0@*J@<y( U`~L+Ue%ԍnL?:~0_ f@ϫsgUd=@&@ԯZQ^@ ʱ U W(/ YYX@ b@׏cF{?рQ”YϗX@*0_ D@[y e ꗵe( 9 xA^DE @R K<@9b 0so#|xUr6sv݁K, Q/h|&&&b~LY Q62B@ "@ԧS  Qߕ  "@w' D} lU`ʩ'\ىF v?Y[׶ib~.|I@ p_D@E #  Pbׅ#ꗸ(  s$3@J,@/qP4@r`~ ';5JrSzu4 _KBu̼]1w5,xKU﷔ǟ혯_'P|ℎM:G`U8n K|:}\͞cߥhu7W$M4 P3~A lׁ: @wDX~ tܗ~#@)h -v=@ Q?!@g Sl z%@4A @4͜=5{^~ 95`~LCm%э֡CCwA$3+~~Blnr3CW44P*:_B) H.|VD@>ׯO[R@: ! "@w' R Q߱  0_?񙇪Q~tիo)=?ekGsP`zW5n_׸qZjd @I%m @DI@ K0 @! %6 ^@>r(=wUβQ*J%`?ÿ!~NU\Xp}*Rx&wب_I9ui@&|}g Xcp6 @|./@K֯q S5@6 "!)8`C4D_t/X)=[myhtcQO@g?y5w~g"8/@w  Qߙ   8#@w( D} 0_?Qp=C4`Te0%g3'xT@I;T@y;@pFLSSQ@@@_=mN-@i> pN[SS@ Qߝ  ]@Ǵ5}5Jٍ]ӪC_I%_&Cp]+p%->fZTTm8Hڽ +׏i IqޝC4k0%a+w@M@u? ;D}wښ".@wP@w55EpXNwPu@Ovuc[hJ_iEpL`mj#5>EpXpSu@58EpXpSu@58EpXpSu@iA^# ;h~aJ|}N. cw. -@pEJKSO@@\X{o5 6ݘ.M[ő@z$0P̝[{KfXYNSo%&2_ϲNdX#C2N x=)XHcfH_ Fe6.˖a;ڣӋeh`5=ju 2PgP5{NM?fzjCjt+|BݼN*[oE,JapX93l&@,E˴Nҗ˶FΙi2է7kRM[?\*_UUUU?U?U@@@U_U@^A_U_UUB`CaDbEcFdGeHfIhJiLjMkNlOmPnQoRpSqTsUtVuWvXwYxZy[z\{]}^~_UUU??U__U_U`abcdfghijklmnopqrstuvwxyz{|}U~ρЂу҄ӅӆԇՈ։׊؋ٌڍێۏܐݑޒߓᕸ▹㗻㘼䚽图朿??U__UUUU?__UUԟUԟԿԿUԿԿkY=IDATxۇDwEA@@@P"{ ,cVnQCON|d&ۖl&n[ʗ~f& YQ )~2ۋI;ˮǞ}6}3g?{/8pKZڹC=lÏXȣ>֜vI'riqYgsy_pE_re_q5^w 7t-vwu=w>#>O=/˯o|ǟ|_|?Ͽ1fi!Ƿk[LBֆ's9sL޾|1GHD LBf$U蘄X/&lM FIef -I-Ԯ{ˤUdZy,:o>B%F;SZ0|!-*o8y TiM&칈 &\ 2׮C cBkrd3xVyPʴXƤD! cA5*L;:CZ78-;etmoR&d.@\qi}LNZY%h?=ϯd3o\fЮ\h3f͎#CCet!lb1 J1ű?3f"4$e/ualPT았M2U"GB LQT3b"$~eDH8ui# ΛC!/Jl &V-B3vb&H҂3rf"ә)2} ?OTؖ&3<8/LY&ғCuo wk{pM@1i3A"L/mΐ[ӡ]Mb6!Tn[Xl:7L.K[gzA _"Jfz2b&&e)>0e@2%3Rf8-4O`7z 4+ql\7_;"[_VSyc^S4&30+>7-nukjdgO2%SlLqZC2f"))`Fgc9^TX'))>9LglzjS՘Pǝ\1Nd'Y&awl&-&IsMP~}y{L9f9fx/H2Eb)پf貱/"f7Uqi ɔLɔ̄J&4 ٶ4~QGIENDB`n ⍢̘OqSPNG  IHDR7`sRGB pHYs+PLTE@@@ݪl XIDATx]n6a2Pt{5Bb&RG?x<)M?23UT@ @@@)@ @@@)@ @@@@)@ @@@)@ @2]8Luk@@<p]X?1Ko ac:vπ6+Nf ;\^̀Ky1}M ;:0 U2X0 "CDpDF? 1f;@eNc>+O4CZ]f~Y/R?ď\?`[>]C)mO xaҁM^wI;gBV ;pz&@{81B<U!Αڤ)'l p4nrhLØ6kZdR8꿔3Y \ )ŰjML&\5w퀃Ⱦ*_k߅S"QӁUmo9wkP|`C:g#1C#˯8;frQ p^/Э0ʕ벏 zG V)`8߲ug @o^ 0_f`h7].^/ pLʏ[&7BvЁOځU~P60rŽ@̀M4V3XIn(\]  D^ 7l$y.eLeQDD m:0Loe>X@O\җw S6;2[]0Z:0U.ܬ(r0`j9݀ znMo4γT%>AD/;B`zj@k2^C2"9LLd@22:3)}ͳs-2x7DdQvC xDB7`L$!aqa6K)}k'K^[_g"x'l (~婢q ㈢A.O$!9LLd@22:fn'@?T4B T3s^k*@}ڈq5`u[ SQ C ? %z |ЊM )4~oYW8T7ҽt\p6z:`]lŸ+\ aqJ"@22SDDN$!oaqy5,t M܅A[o5 6XV9 H! H! H!MDkVSP5 v=:`#0`Z8;fՋ; З1Iٕ/)`x?pY=O0xe!v@H;J3vf"nt` >PPpB5bK)q,@vsA94ہ w ~H&RH&RH&RmӁy "hd"L&_N(a: ,}BUb2s;P="2="NZk @?$)$)[o        ` `wg=wXπߝ* @@ @@@)@ @@@)@ @@@@)@ @ PESIENDB`npB?AҧCvPNG  IHDR<.?sRGB pHYs+BIDATx^W}k,a)NJJ%XJ%& H9 > !A*pU!w r5.lDKA]9,86beV3}guwVξ~z7yc< Ǒ134l4_wpkxFpUˆ Ø}pVg6U gmi!5gYoeÒ- 9랳]oߘU:xݓ~K_^01ظc΄T2挷0تMRvN,"0D(\;kr+;x?av^^e]tk3f>%okC zޠ'C<ulE^_E?  @kםC``ĕq{p=wpi4Cp[)=h=\Ѐ 9K+'.Z-Vٳg'W~ٙtv:S9(14Hn!Yf!Ep7#*S!:@@ B:n)oє_2?OZ 13 \[qN?>?;3v£VJ/*64znI^@$-@+'${(ZtA2ƫbuBRօArn}_u^ gǥqot/r]ߐxqN\\9爼K]On ZM:"Lpu-{Om` ![dL6TEs`.|3c~N%z/?Sxkc svx]gs Ɔ;6ßx[&S&'OM9[WTV~.u_+  @K|s+a%/j{¯{nea?V֮{nyՎosE];N(V>qgLL8KLJrxIN)ܔdOjrǹF7nξrٗL @ 횑]⊷-:rʺ,oՏ|?%CydQN5g.{rq6>\Zl..xK^᭭47Vؽ?_ Mgy']'FKL'Ⱦçs_O9O]hJ{o:#7|J#315:G@ [K竗ȕgs˞_f$h]|3w_OY/?#zW{\5m<[<56ٍŅss_x_ud!cF/qЁ֭ "x}r:e3휘v:9Tz!)KQ wLG)vK3S }Z @>-,zrܒ7w;?w{JOuHΗ_6zb>*~R<= MQ9́g`đ/eZƐO%X 99p3ysԉ~&!);o,$B~"ݭAC̟VG'>v^IƘ XI*AG@C@q/93ʪp.x''>vW~J<7_[$'T2I&Y$[s\òo)׹옳Ύ8t#~ZКBͺ=0q7ߺ_GP@.yĽΉ՚O<𒹆S|ҟ낋'.>wa6H .]v'? ĩ!NK( /Xښ3B h\[;o?Sjw޽j?w,/: K{ %\7~έ7/SKN ZTxQ/2KWzWǘ5o _k͵o@f'_𓿹%Z'Uz_d™]q7(W;w~: VO:?X1 ˿ֿEyO=TӟRs`ܺ]Yo" glݍTȜBCC4u_6ɄO-aewC~6Cq{Cƀ=舳L3kon89958=5uԑ{y]WyrٶZ9? @yofΛm}wƿ#Lt8'TǷ˓ʆ+_ᎺR^^V~|B\;Ә~//9wq]|8###΅r3jb5}f.r|'F.̹wV0=ue_8'(}5OM<5%zĚذ;r~a GT R+ujqN&fXď|O۽ֶ!Py5k @xlkn>=\jeY^շ^g_̑=78}+s.:뒹ٳgʓs2Ŋ7a[GSβ\%/r^8\8(sCr~?1#'|\9!Q87I)>&oy׸!m; af{WzE1[tXܬs՞@c…#dH?߱p]w|Ay @'_ѕ__904<:(_7yzsXG??;>&,#yܿm?vǵs=32<oyVk w+>mGGvпc}ÑcΩ/|^ CBnNI#NC<9uR&?,!eOGux'T=.,re GTهߛY3C#'޾%tؼ P#ayˏ}/z<VȺQq䯖ylpU'~Y+yƑO.Yw]"d[wd`>1#҆/CgDnܖֿ[q>o}d~ ;'AR87o~򉜁>߷B9 Yr%\ TȷˇuÖ_['2v 9!5>P)#!9D<>!~̟qFd # q`a$0[ 8(VЋfJ:׌/J>?2k,ߗsQCQH֔D& ]ӓ)B H1*XosVBuGDKϟWϤ~Bh>{Ud>R }ՎfՊv}k}ԋ@c2.l8%]Y~̡g/|E3cwWua)WOk_=b]~1> >+n}py+̓UOljN)JV PZ3`҆1I4Br" V|#pL  ON^ u B΃ֆ P}*ؼo  w\y%(n@ܻQ1@>mB^W,ewdȫ(}Þ!P@Wq(0Dqo+6IOJ66 `Rƫ(H&zBda@OnPGkm: D]ǩɼ=ŋ'A 9EV=񦛏 %J&t_Ss6elX R ȷo,Kc^NԧW#7 D#P"Jz}&)EI\ɩ9U["`OD~G*'>,&h  ض=^u'/—_4?3{L!p^@]/W~׿ė>WSWh=ŭea cw%/қG=5z$|6D9K ==*5+yk_//~;d~E*HIJ Pa+"$qYTk.U/`ա z8=I$" hG _ PIGl2,u/xlG|>1iS_je+{#-K+! dH3PK_u ;Qk4}o[Kj*ٵB?1*S. Q3]@nu#Hq9S/0RsOSWh^_U{BZ>ڝY9z!}$OX7C ^;v\(U*/=dj^RO~7I}U5UA WUR+k^薫}I؉*$>'/_QP{MA']tmCK&;jSoyptJ:BԕfyTF&ܤDj:^Je߈_?o'?٧vn:W|ToPs|BPOJ\1Ց?ѫPYTkt0I~ɇK6]^^СTzH yՋ*] BI_A/WK%zUogn&gǬ3LYW‰IK|ԫaW>թ_ީ$Q_ uPDNvȎY"}.t0ܘ/>wD-h^ѮLH%1 t ctmfUm{#\eg.IٿY]+Oԅz*I&]!˷dNH+\@DP/S_';ט&.J}U,TkR:Ʈf06aF_L h5JM}o^WVL**S_/iդ f7>0y 5@))DȂj"'3ydk&yQbju*';ԋWe C5LWU&rcGW{dz3iCYUgڅ2>.*>?X8s>` լ^<@kjU;ܪ21wb|GeJGP@Sg,j3xҪ@j'QFt-O$D+Ua;'jz:@2Cd̩d}˺@IѬB}?pQx>ԓOڸ+$+E9j+`^㷿9UkC OLOOӞR;ե'v=tS-.r*AmIJȀˮQ>pgxA@N=|jT&p5O%U*8zh߃$ [;ĝ}ND] 9'G\'#Nd) @6UtfMB>Q7kC@U*}B@XbY [~E$/Ze:й|WWLPCF@vCe W"RT#NE /6L @!㏳Uupiv˴"m;>) 8 !>UY8]1u#ﵤhZIzl{myp?DH$ͧ{OOHЮHWّ\5ʜ.V`~K*spD- dLlP1M]L 2ʽԭJ Dj:DH#I2uťRH&]$@2wr:AYF7+e@dꪑLO0TX 6}A=J b֛wyY@U|WAG@柈K{Tp\nmK"S @@x2 5t@8>@_b,'!&v|GR @ ]wu56DR@ 7\4K{>,֗93N;', MB& Ūu+j C>  )`?Ad}G ͕x`3!  P{@Y|gB*@@  гOD]֫fx`<0;*۶ i??4sB  P [˿E$  OK B|a *@>+/# P ZN" DT @-""̶K{Tp\Cx֯BZH$  0DT @~ d"@> #  PkZ# OxD%  P7ϕ[;E" OD]֫fx`<0;*۶ i??4}B  PE3ΩǜwT1 @b'fm TQ|QO +@>Q7kC@U*}B@XbY U`v_/QAsse<0X i OT1KO /@$h}@@ xr=fR8# @P|1  O*  @>TDvf2X(O/P߷, 1N({߮c[;SlwKl/*͙s)xOqpC3/^zWW]2q齝Y G31Cio"ҋ@.zZٺӱ 柘qN>,|9"9$h>oE"?+=Iz$hU*.$fDTL 3PNo;6زt~rW @p{a%J|"2)>zOZžd*"]yb{w _vs"7ؐ1 k (@%';;{1WTu>W^Ç"Y?AOI˗74;JO Gy@w<Αu / q>?t^K"Eg@9Žixc}-Ԑ@.Ltv:8ڑU(G>ItށGΪd|E%JubUD:8E\W9ͮ[8)@U P7v^uyE"Js]f[{!31_l`͡,>;p"&oU؈'N;J";pI_@hlk 9UrD@tOzYn9ɔ,8zhNV21x#^(@)]9R- 5z̚n# Ox_aT u!8>Q`G@ ח@|¶ClcqUjR4 J : |VO<{~fB->Lch,}ܮsi/z9y9!S- 5 Q* 9 OK H|F $@>," P#" O[j /LַxY"@b3D⨗t>) J"X.:'&E@J l񉱽;s~MPh_ydDž29>ASh,ڮsbiqN=&cZO{N/qL=ވWj:DZl9i&ȩT  I  ]|## лO},[ x\.:oW=]@I'rZ@j*5 Qq!pU54iDSޣ{ P 0'qʘ74ls&I(6CcqnNǤoG۩~%ih"R1׮˜+*{|_TBSCV=Y[58v,qsތWfI㛴|S@dzSCwp%2ة)a*Q52q63JƵڝY! QSEKѻG9FEVQI_8eim+Z2t-o/a%Z]m{>&'@̻ۼE]Fb>,hnȀFU> tV<С~/ wqp/j<>OĪe+ c@U":df("fq$Vȭیu-7z9ҭr%Zav{J7w",V"v;="p*XqN>,X=0|Oo({t#@*. pZ6<CH$ G)$&'jh @9R5 PCu{u5O!@>E@@`|"GOZ?*@+_^קķ#r8A=4U\J0|B< d\zDf[>9i#GI'66o5FEqݼл|BgR*!bbD_sY DU M@ Rpb"Q2QLl[ OڃT_<еHFc]JZ@$q'(Q@ :,y+-n)n1( !0ΗOK+YY?aS|θ*@4|ny=y"\0p.#PC  %@>," P矸f$RR^〃1nۅX=c:N_S, Y { }!hP{?‘U @* T 9~Tޠg*Ō  `@Y +/  PI`p4N!B|:,NaKM#@JO *TW*B: @Bk*"8>]]]ȲV?{/1@SO$%&0 ~"]X @  (! PA .! PD@ OT0t @/롛=vWr_r_^ `u @5>ԓO~ޯUc '~Q矐|bzz6@ ;_yud>QXXQJO=zQ @VIOdI=j4@ zY  x O*@DL@(@`[>!F_VJ_W :HJ0͎"@/ڻ!5~8JA@\?Wr  p|  O*  @>@@^'zdy@`  P#@ 'j>BW@&?Q@'8zY|GA@('n57 @ZRZVX/l E ΒJO@@V' C@\Yʰh@z~Gz݊x`ѫ # c@z U@@'"+p07a]h D@4?Fe@@O06@@W^Y@|ƒ@A=( '  ЫODr?Bs`<0ۅ6;fzOX@!3D@((J  P]Ɩ! PDQҬ@ OT7 @'f= TW'"b ̓x`Q`U@r j@DMW@I'"`Xy0B0DN" Pqgwp{  @>Q2@@0C@Y  x O*@w'" ̓x`.u# Pzę^" Dԍ @='gz @? ̓x`0# P}ǘ" Dԏ @'cz @M+Jׅ56:1g(pu}ſ0N2 bUk<$}|E"펪d?ԓOS |xzz:2ȻS񐢵,R@+8ӚbF@&@>Q@ (ޜ5" P5E  PD@ OT-@| :?Ycyoy:{2փ%fJ>hO1{~c lDL+ |<,p`V.'=D]M?#.,|GNTk;rwX=bBpA.,W(imVYIRO i3P$ԏz|Eu)J/ #%@HqILp!@)c'UG.DJLJ8kV_(@@U |Gj:&{zm'  ЫOD~߲Av=%+x~8HS3C\gxpw]cC׶QǴ! @;<  T@ W1Q@ @U|WAG@ѽ;E 9 uGɩr\`zz;ȼڮ2N@C_:J w,8cw_y]XpPc#ûsk1J DI㞴<㤿Aޟ{tkO?4c퀦a  `OpU1 R|a X%@>aU8h   (eh4 V OX @)'J6 U~>GYgv/s+b<0 Eۅ|Vc{'vV%z4@xY<˃E@(D D@\|<@J @>Q D@, <@4@O H4@ܯvx`<0{2 ` > ?ai`h %f# `E) T'ͯ+ih6 I@RV>" P!   '柈jx`<0; m?1zgfSZj@@dK3η9Q\@, 0(4 @ O,`4@ ', MB@d% E@B B@(OD 8x0. O, X",i@@R H J#~Ta X)@>aeXh  (Uh, V OX @'J. ?'V(8`n!`&c{'v=?3{ЌIB@'gS9g8a]xh  (]h0  OX @'J2 uօ! P:҅# `@[E""$OPp<CxvM¦  P'N>,1DyFK@V' C@4  E@Z kCC@(DiBEC@V|0@J#~bx`<0; mIh( V 0U1 ^'JB: @6wLC{gf Siuu4R, %Xq~Y:O q/^[\[[i}MXFc8^uYQeTKz)+"EMT*r`u9fi$0bZrU)Kկt U)ޠҼQTE[Wn9g3xu<ͷjFJYت(rn]awoCKjE&_YJT)Jީ+*{.rNEcqNcYs>x }hD@+OIENDB`n{l١|CMhPNG  IHDR2sRGB pHYs+{IDATx^ YɒeGN6ea\{fAl "x`<=%uҲMOJ45MEE)K%a^hh)qn*7D K%TtɺXW{![M.ZGe<զ!8u_17Nm'Tb&1tUUi6Vt0#!ْF;, MN./=/s1Njѩ兿y6;=U 1?|&>7 94XuuhΏ8pX75Fq#U#K 0P+ kwJ#0uH*xCG/^]-GӋ⺱ًew_{qX}<úh.:s¤ĺsg/ 1 m2nj4=%D 'r^㕥ђ1rvؤ= @@:2^ƣ8]Y^AY^ahyIxvC%U 玎S<1wNF_v!0"οI\ij'R F++ceK"^hQlx@e5$nb W ]KjaiuXBŽ|dmL{(Dtt% q ^VMk g_g>90̅ődP2B*MvLز("TeX8p۾%zSA٧"=7:v0Z^<M}!ߎk.lj㺕bxͮv=w Y9"{!tDRB&@ 1l~Tt6-׾2wE=Ջz{zx|7ҘjXk?aQF#$XΜC\'ї^mIiC4{]*#^kןwm{Q J2GD @`K.~an<n|H3[Wm:?ϟ Ge-w͟|7V^ʙSgs+gΝ=w+ȩxFJt\tgyj1ĆKAe[U]{;(\m%=.ߗe.E F c5 4C`е׾r$3btXFΎObɓ/>|[^ݟ{=_wN_}hzK_xa<z2?2wbiԋ'O[W}?;MȂʌDNΩ[8eî];wDѫh&zv&zs1*RH218QiCWћg+{A$^\2B" ][8objzz$A /O͏g'OOc/!d 5=}/d_ˣK"نR\^l,5swa}Ev^}٣q ačE5>ByQ6*yf|oU[7}l+ɔ3X*CNh)#@dbL:1>w^!Og2!NNRJ|MO=as*?2'٬Avy^RzX/}jh4<^}8he%q(zjһ>$td=8p]}_K!>jSL`KeoaZ4"V':!A}6  ݾ}\#=y<5>~r|JFķKȆ+ N~Ug?y3_n~멗D\۾}^#ȕ?Y:/O|zo\8}q%\ӣlSt 0X!/bj4Zaî툞 UVF|3+ꍣwvH qL1;O})uD>Y.~VTt%̢$7sAd<V'7G}!7~rUWMɃl9Y F"8 w;Gu: /K~[O[__x+q%{J"ejb/^gZ!;GW"'j!uƢ(]Q@ȇh]6y$Ӳř8O{3ңM}@'곆 ̮dSe*5%DfTH蜰HYͻEjZ-.0bb2@I!ΌϞQ4Zv0ZX?:;:+RauˇDz9&HAe=VrGqZĵ|v$ F<Ηg1h2y:Yu2_ s`dbW-7ʪYh)MITmόc>@ݖ߻f ;[ gn>~=p;bk F.FL_\bB9tH+Ӥ?(xN}Zua1A% }wz+FO>peSUkwyS F߰_J9b+Wn}T߰7T}~6<_zG ̩TS2/^6mA3,W|;Л_={Cf<$wVhDwāVrD?c~=˿H*01$͌NHPDx:BP\ʨ 2KSTa5;f)Z #\G4]^^pD`ӯ|YC\d¹Ssʟ%>W\rK{uoojW\OX__wܙ?5WFv:ZHc#SBA<6 n||[]>y+^!/ ~^'7v$D oUw^9Pa4&$eXFAbMrtqMb%i)$nDOU:o" daaAN#'s7{+DK疖VX.ԪļWm~ݧʇbұ57vw5_yU2׼ԃ HFsckaQEe\(=s1Q !o~k/~s/Z~ô<{na<}~IV&L#KF2o=Ou w_w|s_<ߞN^8?<^z~wW ΐbo!^x=d\^RʣdΆv8*M=?H qͲsWO/P(T*B?ij)KYpwV(L˩BdC`yi|K,'q@֏VڅՇbf}qe߇ν.Y3g_[o] Yα/,{d(wb\$e@A>}+O~GO6\ߋ~Uxqz$7fޝ Co]:WԠ꺞N0Gv 9Io.+dl !Oؖ|Q.k4Py4Ȝźuq:X+9!?x^6GRvK 9ݽz9%#8$c,oZ;bs6qD\E#Ú'I?7 G />xIGuA8ƏS܃&.v7x{WT||u]+fOly΃_/Rsxm?qU%zع'CO~[C藏8z!:h3kb#{?w; - `E[n1:t`%DG7u,6\X@(O<3r2 oIhO8 8bS@Tnh@!:&tO pC ɘ"@}"K~M τ3Ti=C%t}MÏwi9ƴ!}}7UB;3BOiC)5/(!n;1)10*̾T20%Eְ$-}1сr/ݪ;Ow9(.HLDկ{7`_v'tY#QQ>@ W8!~C8ܿbz4=D&wZxbTؼBkXJ%vU.G<+S_SKY WDGb_0"ei_]oeﴳ:|Y~M q]ku|}qUH/@eZJNDU]իPr↉LpVź CvV/@w oPF4WeJ)l$71ܡ恪d$\ϺTIyPYIg#?{dM,e!!!2mDq^+/zUKJN#D% eD9"S-ZOn3B@k1D"0M 7f'IDieY:d" CbtғGN G9bze'O lu Qj4BKT%BI&q{)E$J*b0#b[Q>_zoŭ6FMC@k1DF1"LKe*n[]'3rUPe_%Ko- /[$LY-{k V>/xn@."dK$/+Arwo֯44DHl천S+YlR TPU;!K!\`/kF%H.ݤDj^C.vturu.A@DQZSE'6k{%5S ÏgW/Ô*Q?Zzqc^$aKbBI̘ICH!0@1DI^PݤtrU.ͥ3K;+B&tFM%jA\%"QqOK~HuF#$0ʓ"EmU&2D=,tho)K8 16|N'.e$_:Q.lT~PJ*qRZ`b4zNA)lNfc`PdA7SUe~M 4]ߺ"?l bP+}dC(XPU wآ3d% JW([ՕzJOrYYN;C `&ͭ# ',䠺 6/b(3VRP @:Rc"aYo0J_Q_EՔ荂FdcQRHT4qbhSWc"uléA]˫`Cu:Дju`!ȄdUv/=7:Jy~q`WQH"W%堘_6*Ȋ+[^w^{#{fiQyp+^EI A:3PesT7%(i}ʮL&/S7k.׉Qy*uGQ,mU"k5HP0]#Mx8gfgy<5CAqљmѦرC>aд՛j!,I.w6d &ԭf\CHzTwIHg,yy_Rҫ[?v\ߗΞUܓy'B=jdXQj!+.+!L)&w>miCX.<ԳDСC;w#s 61M+kvZxME w}rhL(r L$`C T6O:-'ڜ&,21x(Y Hl>s.yF?p5 P~ Tj*]ݻ.NW;Vh+Äz}+Dh$d>s_ZLlTVM*Ye]u4 B+UF:j!8{BzpA8Uߗ7eŚ&$tk_M\eD!ծ!#z{SnTwa$^y #h#ى61?S!#@}5m"!I,z(kV/ L u;_M^~ff-euZi9wJ`i5eAC&`]qH_]6RKu̸!}iYf8TùM(Ep9~ CL  O 1ʔ@b @>CL XCa[z>??D[\@|ؤiC˟!@`2M'' )[3MQ!3D L B WzVF.ݿ51DD$ 0Lgemc 6GJc!cd@&`^[nU]'X73yP)o^Sg"=89`" |y1-!`[6`SsZ~>5diHL}jhvbF"(镋RIV:ILU4U9gLJ<_5\p0%aRgtıRČj<h@@9@}<嚿KK1 3r3P@H:Fg1Pe%U /9,??1+ȁ \4/quϪ잵~N"n; @okbq}*- Mb/c""@@-(UMf褜c  XE2@` Z*p,C ]vnzۯ=qd,! @#pᾌ3A= @ b*@1u *!P# @@ B<= `>4'xLƄ<8jBzfsf[M֞V|S`W[bMshZ~*Դ]Co^t.z}..TUK?6?~`SLҏ^.Dĵi2z)I9 .=3Kwؾ,4}^*k*LvE!Գ'Ic%P cb3D3$Мh(EΤLNDD'#DS<$_D%$q *(h$@w BN(Ꜣ?Z""8%]U#:졔D{_']p(hORG]?#M$I:(6ͱkRb'N: K>C :ܴIL` dݥNm /;U6@''nJ:+s* 6V)I Nh!iؙ@Mv @)VNlsƯ, +l*qMoS:D"IO1wqO`&M&LGT#㽩fM@nZfl3*ա@$bYy64]'-%ѾN;EmkHTc֍[8O6fh=Jr>oҺEe@Yb -7y>uh,˟!@!zL @ @ P1Dj @:@@U 5vny΃HCJ nW>c]1Q=SO6Wܨp3@@<`4?=x4Cx4ҷ4'o͌!\gW$ G)<M!!,]V%:T%s_H'8 ~l0!`OC{!0K4?&>H @"5f87/~ZA  F !1O3**{SθE~ә~#yg@u<+gLQiV Ǐu=w@1DGebB]o_|}>"2+Sqͪ99Sx|'ƏpJB`M ŝPq TyqUD^|sBŹs=@Xp-嬉!27]7shT2sCE5aof:>S:bd 긥Ea&"g堮w[G!VBU{{.#s*VPo5?$VHp8@:$sDAh ʪDI*[8# Nx!2#&)s:2U6T&;@ zDL"U93qR#SQB{I“[KRI>trH]q6}A'tid6B>G‡O3L4^*,q\PUz *}Tqe4VT}A`@!lL 8$Й!P>vJTb!$CJ`=D)\$ @ ! T!@ Qy @ @ P1Dj @:@@A8l!a ]?Dȋ< a`a!@. %MdACb8R@K.i"  05B\ pIY@+nVʥ4(A?YWlM(B +[}-h] ͏Mw~([ʞa0ۣe?ŧ?qXu!C2$12=[vXKś~u9KY_MߜH$c^+T_a锉#,վNXՄA d^ yWMcyቧ3iCCNPoQ HL:dr4ڳY_*TCdP$+r:!\fք9DjV ,};Ԑ-CM]Z$BM(>O2OUMh DzX @*e wmbB !Iךԣ z,H" /Jٺ֝B_!Ǻyl:} Ѐ(f0#Y[$x&NʹgFH5\ɩVzsE[d|f2!s 1>rGOVCAA ]%ҿjiTnU:'^H4It/XMy Of 3GЖQLO*$Ռ6:9d]fz6婙׃MA~'ڵyy~(KDny~1OsxA7{fO_krذ+_=7{ȞQ  4AՕ+9M؈LO bxl;s3BC@ 4f\ @?b) }"6@ Ϝ!@} @ /b @?b) k?6KurGٰwgzα j>O8?heyR!5v*؎NCH]i,xn53('(?5~wE҃! "Ӣ 2]_07e.)r m'j_ڶAH^S36WoIn6L(2R,b*+!vb1l|e֘A}D>d;NEP{*Ѩ'֖ DyNd",2)m͉xI51Dk[bC5XUáQM\o~(箨>:?5)BFSNA*ʘwǎߖii6'mj01z&HJ4vu|y:MHSU3&&AnNLCtsd圠JW?S:$.NY%-?؊cD4~pަN <ד2M 8/b(i^vXr'Y 2OKlAv TVM:@) mq~EymHyŠ! ;p!C*tG H !]CM}N PBA=1g\)Yv=p~ '0#8Dfz>UCSl}<rx%МͺW6Pe=1>ELR247M/zw_t26fCd;19umf2}:HM7M<L^m . e=QjO#:P4?Ħۯ=qdlo%  @6 Cl!= bIS\d&]ɱ)4(Co5aC*h53~ŝr! yU'HE@8tMBT(1DB3l~$CC#P|nq~81eӣZt?sCXXUs\(8LÛ)71liNbp:L Y+ey)[feJ|N$NdCv0C`2O8'"RrdyӤ4nfCS<f}k?SP5\Ffא`we4}6r$>'P6Еv7$>坦tV|R̞(.}G yPfb*ܙ@j fLYD5t [S !K|mt A=I !" @-HeG-*C t2 m!@P!  T!@ Qy @ @ P@|_Ɔk6]qUs'Y@"rc~ț:.`+Yia)"1BG4!!O sorD{;1ܐ㉆*A ѐk Ct jC 4aĀA2C"@%}jB!zI5^>K!@!N yeyDGds,N R@h@;1D[R. @?+K}({Wνy! 1a e ƁX &p!l!6ntfO3[[nyMwh:J`ͷhDGGm 8lq1#CK!!#=h-o*%B CpoC  1Ā ay6 `yi k*> @?CgN `=D<= ?!p@@Cͣ@CgJ 1D<= ?ǤwpيC_ ] bnO[^\2BB#=פS_BM${!V:$@2 AŨ3xD@ ;Ks`3J`&KIx]t"cׄJ[]JŠȹZ&ȃ_=K6*6`-T:`4?=x48m tCsuX kf)o~8DΡ။*(څCVPf;rC[PDWӹls~5Ι'p@T.C:tȡ1*uesϽ!ZwYY6WΕe vv;,=ŒEI۰y3; @UFL|) ) 09Fa@F$皖TYHe5k+g+IWv`슪DһV1w|m6 * WmDi*ݢln 2Y`f;sld~.j>Ynhrh~_fO>( |r+yrywm[m+݈j+gtg "ԍזkM hx҅]Ы:+1a~M v|sD>E3a+yrʞ&# my+lIiFJ)=z+RJfV8RY4 ]!,^:SԶ 8jygΝ=|zs;[{^> ԃ&UN}d,dubͼeDi]wWKv*wXray?Vlz6RTYeZFypA-VlnY@R]LeTҩ}ڰ0v[8Y&(3z&}@ 1d6)^k8lr).*wi¹S[o>YnQC 8'@ Q=E  xMƭn~#{fULt y((Yv`WB/(a3'Y1!ftZ3O=٨4Wxvco>1C6 Ep Z D*4䊀U=x~KieFa&YY.lڧ)^Ĕu> `C߹_ bˣwf!r\U |D}>P=tűY0B @ ?%B@^@S" @!El 'u)Q" n`/nkΝN=!g* 0,!_d[r˨qmr 8lM}hc\ޙp[m@!jqTq@ x7r[:`!pJ@h J W$CC w @Uy"Е(K"Xנ 豄(yrPկyi2'3P2 k'1Z2`9'TZ=Jq A%DO#(LR!ZN"ԅdCx6@HyxVlũb ~Vof>PBtHfom^!tMp₁O6ojnđ=N!hw}!_3'dW`G2Ff)řN.`.N!/ ^_ Az:‚&4zCW”zV*"`P@ptDPxBϲ̢`Zd@%SgF v  gvBVV{H @KXAm Yo߾BB333޿Pn}Ctf6:D4?&?f!r\A 8{ @XC y&*py>PNv.ا  `y{ @ ?sJ 1D  !3D@@C@Ob n͉\qL+Bp., @OB: .@H_M ,:sȍr.Մ^̖E}pRBNOⰲ>d;rKJN1R*UHlҔRɹRJPC20 t`WzpBцU{LS.93MBHIz*I*Vޠ\4Ad3/_7wF~y59 @XYX}U֦-KA]&23T@ZlnRT&޲I+>WHfþÂu,m7o eblWCJ I1DJԴdf𡂃}aqcN쏵fgIW5|ޟXA &C_5tf/vbʂ&̉|BSؿ> Ϝ!W!w*Y]_]LIXQRs:Ԕ\slͲgy=D_#HM B#\z Nb/6276C{HM vT{b4\ ZsND2 {W%quDKdFsW.(-R-YkV)^3Mq: tV?9!i:1]q \iP s!A9e @"Ё=:DU!@$֚a!@]$@ E3 @}hh@ n ܹsOWq k*p@m󙧞lSe?c3331D wn ;~ q򞕲w̶_C+Cֳfպ9ꡜ>wp<C(2r8>1|zn7}1(89(nj5kM"I e(:t *upϽݞk2t/-4ƠTzw(*|/CxCxC] i6o-4I2@ V4[0K Wm+AM7qʃ ouo2>"@u q@e_ ToasB!F_چIFf)P|K$ 7CY׬!zy"_|(A&dv4fa#3FVeALʏ>un,}a~/,O{ɤ=0/})3/3DCK!*Љ0BkM&x᪞XYCdn$%>n:[:{[&51{"6:{K_n J)С,ϦA0 y-Tk;ռ%'W!(U-:`&ۮNDf'4\K9!e(ߨ^-(UJy\~J\jX@l &4XCRLJaB4UO\ 1QY `},wfRLQ-514D 2G&oKTbR1pUމV$:={n)!$r@@ 6;s@Tb 4Z1OW]<ސ~Ju$&CTWj\M3Ӵdu6%e_p1!TOk283f8AUrZ]-}[zF`!Qybɡ"ҒmV)6M5SuPN@H$N(mM3o&h\ "_U0 fLJ&1 @gg|[1^[Bmey-iPæ5@*zb)'!qCհWX>`Y۷O9=Q<' $*([ڮ+TWRNpsr66G{wXSzL`][7m~#{f[1UlСVJPyoy-W6P zW޹x[®ꡘPTD=}bLKyqMoFGg!0\J1z+M 7rȄ891Dg†4r֐ҲT?ʐ t*(LݚJilT2!p.WΝ;Ke0QJCUAԴ>6W1Լ+7r@@"!+!*}:; 8lS!$Ek* @sKB  @}%S},vA%@ ,_CJ.@@!t@@_ q_}uvA ȞD/Tcjˣwf>Smz|HY3H@ }E;̭h4;]]0kHyjEC`K p5/XFRBZ=`dF*>!)831&g? Ԋ|~*"OhY1夶  0hܗ1hc< @2bnEސ5*@T:W=`Ld ._+&ؠA 1g]+@CT~1%tNi?= &m?H@H@W51DZ%UJ}6G_gmWb`FYLz';q%M M Q84+g^~GfC˄YΑrM 0j%.n˥xš%2T3}6_'䯉!27c>^K35b词̘h_GSXKf]M 'QOLf@ʬF}o#Q[>'d1@q[EM'XJSP=scuB~O2t$X8IՄ̺87$}`, ɛֳ$8DZ@uOX$jlY$jKʛMs&"*21{Ҷ4'1Ŗ%z`BEX h=[D'H6:U] 4'm`^-M+VS5'1=;fbsS+zv$[@ءQ mU?/+,[Ju#?[eMP'2.vɝ>GtbMa#-4 !6n!~W^\:46rKRZ Dq[TN2:>Y2SLx/ @C! @"l xU `= n`=D CEr!@&@ m= @-m\@@G q91DG ?Dx@+$r @=$ǣO=.Ob. @CxL  S1  1@!b: @CxL `: @`b~j@D"@%z`]b C K"Xנ @ hA @ 5(@C `{V  C  @C̡@Dh 1D9 (.aЈ 1DOY ?DÀ@E!|@@ ?l,s> @1DN@@@ Cti @1DN@@@ Cti @1DN@@@ ?D ,A @ CP9 @6Cth@h1D[) mC"@ yʅ t1D ?D[) C88@@?D- !`= b\_  @!p̅ 8"@ $b @#@ 10c. @p1 ?Ć~#{f[1G9tP+S( @CCBU@2j@@U b @UCTF@! T!U  )@C  @CTF.@ C `? @bj@:b T#@ Q @C'C@!q%@`L@OI @!@ _b  @ Q4KA^hS @w!zR  x!@ 3@zG!zR  `z!@xtcљeX$ CP) @B 5@ @ A @ b*@1u * 5@$: @`P< T#zj@:b T#@ Q @C'@ 1 j!q# @`b5!@77@{)!@I>iS @F%F@ !@ @ 7b @;b)  7b @ Z@@. xcq2 T!@ Qy @ @ P1Dj @:@@U @zB!zH̀ 4A!L@`=?֔@b>y[ @CcMI > 7 1?֔@7M!~ `j @&zn!@ ƪDb) #V@| M @ @ ?b @7M @ `" qf6:x4>'l '@ 9%B@^@S" @F5߰uۯ=qdl+6=c333R:B:Dg>[eee+:ߴʀb~zK"'x슗_e蟾輥pAtfLT/bˣw<@oq5qСO,dp~yaaei%Z^V++x2%V__~%G?WTgK驱;#ut[K7# V!( `Iͯ,qkl!$x+.:-,,G/*X^^=xϷ|տR?,j Ub/~qOҝ$ x#pHtڷ[3gkM@H!hy1B\//D80A~|G,$<|T"w'U> 2<  ݝO9?_\u!Vd $RgG%X@B.j/|_*G+5?z?W^ԹLpHů+3g̟y{ :j@4u6g_/Poyΰ2,,-l/ʻ]2ZE꽸2^XP2D:W@֋CQ07 @ 4Pz<~Q/@Bga-a^xB;"d1|!!VG?Sˆ__X.؉e:ɒsk߲$Sϋi]@@o/^xO3˳s?\|6ȦQ~_1xd[[Zs3W\xYn_+;D,ݞ_׭g}{Y2Bn?@`dD'}߽?Y1]UdfBn )v6{~ㅱhEꎕ&me|olbsDцi) @ 8GStm[je\F:EGƋge3Jy,.hqajyq _N|Yp}7n @2 \>߶Նı7DrMbIsc{-ryL Egxl@1~_sόeai$32b2k-o7\;Ez~aS?=SPݰ92 M`nsbMv۩O h{! 2@ <ԓi љbˣw<@Z'#\gU,D}>Pꗏ8C3JPC t9ƙ  CP @B 5@ @ A @ b*@1u *;\p01@}HwkE˨ ;r  !zR  x!@ 3@zGw. @^0S @w!zR  x!XAA}>PE?ƭ6ojnđ=^  @.Eg3I4 @u @$@ I4 @u @$@ I4 @u @$n 8b!L nuD_PϦLuwx@5ViZbzⲺt4_etN _$p&db G[4@ QpV|I:2Ȧo(t@z]e#>+]ُCv^slZƿ;2kEPM>U$@B!ik%Sa*N@3!@ߥFuf~NmMߧ4*![VM)+?Q7gͱXgPRC8D'py\!6lW͞8gDČ."}\:ebhdkBHzC ùh2*3Wts)m' M<3MZic1Xfc#Wt(M"1?= (37(Ԝ!V!>3}=D4HAOC!8a}*cM- c0=V n 薿  bP< nXs_ƖGԓXeTʡfXBl.{>,HlsL+n߿[3c*=ƴ^ih*j YrhdDIP*8C$@5kڼhC `M`\=" W!=2S @ 0FR-p喁m"ʅ@Š!t_Ky$ '~M o~қ{y-왉kzl#ǒ&i Kax|ev|tLi6+3<[5+U^UYenɁXd@G !c]UQWDm,ume~h_&*, =L&HJnD4TOӴJHS'rh)u/8ޡW/:D`J$诙K^Y,9l}jQ%V Q @ 8ɿWD5rȽ6C8bGS0sPʞjG^G5߸uW͞8gO$@{-˟Z @(oA_cor" W%K[lb$Z'P];T"(\]l1-`K15Rڡ]mC @`=Dsl @ T @pK`M Q>5Z!ĞA}>P"5n"A C4 `b@T!Aڹsl:(1ggŜK R#j?ubG82N >>y[ @CcMI >` orb}:`/3fh} JTm`Mwk*3E":D[n됶 K  Jh+H+"1D|EXC@ݧ?qX]DiP{H  DZ/ЗQ y>_(B2?i4%j)+ 1=s"CO(U(-h Ěр:YfY^R JHߌ2.X</hXdBb<`fGONB~8t' e:b VHQPV+mT/zC 9'@ )FC1DC801A ?*H?sJtN!XS/!MejHL@@-b<A&M)Xijee)!$ pQ  1 hY8lcya;D pP[C!!b @-T4@ b^f@@}" 0DC:6C   !cxc3 @UHذ:?D%!_G}>PR"bM_57{Ȟ*y @xǣ㬇ϱ 1kȃ  10 !\E @`!g &@ ( @ ~~\1z*pٌCck]?0bE  .(" 0l P1DUr  1İ !# @`! T%-yiQr_) Tm7Z}I;w|lGC;oc;g?8L 13O= &'#̨:J!:8Ԇ D9U @"@ !g* @ 9U @"@ !g* @ 9U @ 0\C4|q šI-o6y_,ϲ9t<2}>Ia?qXL|uy Bb 8xt8s5A  T u0H `)@!Z@T<:VHe X D"@@ DzJC  C"p\ C@ sC 1{H@ /45+(pΉt| %LN|əy!& 0CPE\`W$"h>ECzB=q$f@< @=!@ Gb @3b) ܗGbFs侌}5'Ƀ"033e2y_ƚbˣw<@Zn =)s%b#؎lo!=P: @KKBW@@XS_  :b=~ 0 C NšM|KfO^VA7TE@:F@nx[ߗ//,W0fiy}\ѸJYU gT)۸bJUTIQ5OU*[yTgYQ%*TZRRTѨJVWWR?hX zROI՜Uɮ*eU+b EV%0UCXQCEU!QV̪UV8/T;UtUzk ,_X}%x Wz?{u}8^{7׬ ^^(zo*SYeA@#e ڀ ^\3ɘ_c̚j2cB9Uy>97+φJ={$H =om : ֚ZZjnzTlD_"P :]$suvw45,#|q!T쿵WC#fb|q3GڮB%~dzg^ {>~G}=@L7S6FYfx K22B*GmhPg'CBE<7^Y\EE͂`Ef8c>35t%:43mF_:{)T^-l'\짾\#KO3)׾]?89v #U&+씿T'fnش壟'~ꎉ2DLϘ5?6<7TX, n٬ЖσffWZ(uh)  , =DOVo1G}L5>NH866v{iln$LO~?`ɧz}c ' đ?3:u?Vh{cB1keizw~$Q-rg 9Ø==fa`8$Z $[/u*Żb 3ž^ObCGI_'66NsO?=I֦kDKމc/B-zYwʟ'&䮦?iWnr}zۿJ^L,yO]|Ycd1nY{;dh`؜1؁ Hh]fU`I$W,mpO[7g^kOͪLޱvvhTNiNX'% @rm|T/32dL/W+WeA49Q9:O?Y%d#Y]~Y#_Bj0i7x挽f͆wKOu-&y=!WI/ uc1UoP3uipYS=Ђ'{)ͺUpK0fsheZ@7]զwL^7R" [93O͙ ?!7-_Le+sc;_iTcM~M??wMK3f~ѿ紧)IqGoyY|^W(v܌I 4̖ެ[k6O5T]#qRUz{ nasz NK80<\o*:D| *MA?$o@3s7^߷ܲ\hwnՋNF>=$d#|yoy/M=ƗLKdFg7=;w|`ҁ%[֢̭fOߴt%S| ؾў]_uhn&~[zjĶI݆תҪ8ʇZ͟ S@Na[zt wp5rObebb~|2W>4%æ{wh;xwLKŸ|̿}か[y6l<~dW.9b|YWI͙'̏.4LH$?#Қ0vU3|f`jX'o,o{kCqw_hmB$ VkcsE1dO[zuw.@mc(&H|C*ֳ~mx-<ȥ@uh41?z3i:_/ uܵVJ.8W*}NxWʟϼ?3]-{rŵv{l%y[8Ó)KIZ_ w, +t^?[ *D=ċ&rӸ$4Qt]ѩ&*zY@>&_sk{MY\YX[/ֿV=nz#aJZL^Ε5'83/k%>4Z{)Nߖ/iݜ߮;0(݆~ ?8|Fd@{pW 89B%s<%~{oL>F /bS4j9\s rs 5|bsMy|[P6jbk+( SS7O=21>:.щ#SccG'|ؖ[R<Ա#Gȋ#chӌ?6oSaYY!sr[xpӴ=ݒۺ'ЁW:,_; _b,|3no? uy]ٔ-:tMM=67٨nuՋ}Nnb(7`mctFꃘ @hod^1}C}ނ rP0;>O~}_[+H|~跿l ~Ʊ\߷|O~dnwq~nѯlO|m~H4]s*<8 zz=1L jpEyk0$ҁ+d3Ϙ۟wƫ,MuEnddh]`qw[ύ@^_m{~R}o%H8,ZZ(ZS-2yӗyIrg,Wzf UO: ~]r7g[^vgd.mj|'_~% T*Qgv{SݜlH"w =FR,좷\ U/6 m2o$4ZY%yƌ6kd9%y+<喂`I&/ʋЂfoֱwu(@ ,Rb+_ :%F\"M(_dKQU/Da$doW*i4|.bt࡯$}Rҹ|u#d-\׏!XSmtyAZwߓgNyh6޽KcHm{/$WgMN2{C#:W̛q8.q\}͋!CfG+B};FFRKc4TDK! @nt'NΎI¦l@ UP =KT^   Te4^)@V7*J D(R:k-nD @ TjDiK@0+B%YG!lW9e՟s\/x`¢uӪ J 6SN(7\&w)Ĵu{Gri\)]-9}TJQj( lT:b*Ib)Hn_&쩄e%N #]hR?^@o<b۶`FQvbɽQ\ޒS,: Jt}mO?m`dw~rrMP|)uE݀LފڔrBٲlblm+ʹl}ѱB )TGPmb}۵PY˕i;uMG.cu5E2=yK%= (MTh'N >;"@UzGoýJ-2ޮz֛%Q)zN M#sNɹ RȾYPtoIzWhF3Ѷh-YZI}U!(9ZM|Ѫ|d@"iVlhk$TPAr+|=(N>%mz#oݘd44mb؈:eJl/@߀3 8^xJ=ub,EGvck,y#}!U- ]q~îV[4O7N⤞&U7]iZV} ./ǖnr4uYi(;^+q_~٪]h؜IG6Ď)[L\KW-T] =V}v xA]q;<|O- OioJU`v ¤H"\eDޒY($".od[ސ$_*y!jmiP%CVkmL(\[lif"N–!YZ-t];z* rus r#nnd`oWZ-2RrۍVUe#$x4!orBr9LG$գcO d:=J̡!teK׈P(+-6羼H5DZb-[4qzKڥH~Ͱ}=a>(7BUcEtݱCV:<燣ϻKu<3<%[{٧z&W3o6tVCZge4dnʻ=H$ ^rַ׿B{i4S_ ?D 井.m 9cf4 }a>)'қ6N3keVx^tQ0u[[ils8I(pǒ5U'^}^ZM2mb\Ӻ~ƿ|KN]oS^P3'7faaqOd%r8ýAr5XmP*үN*41ot7jkW!ecJPb-EL[72;Aeg$Zg3I^nN>J^ 7vmT~&iTXLw.Tz{ZmMBDZ7y'v矾d~HZ+ђg/V[~sGŹ_y.JCCC|nz Eص%$ONmM_X"tӆ|:j׾BP9MF'BՓz6]DzZ }NVgؖJ$͌W$​puW-0-19$}OR=; Q$hcWmis߀sQޘ|YU; Ht?[ w~3y`J_;n<%Nz˯T}xÏ|G$y׃?kz?uvD;$ߠ-26Df{KxBt}J ?C34Z~KNSJR~%I3)m ?z2w>vI7BVmb5"ݤ_3B˹&,K^˖Ş T &$"iVI^/x1?^:dsszMzrrO}xnaV!¾H8?+F@Qg`炧GG@$I,>{ M#ۭPB r fu_4Wv]\ןM#@ފTwߠC(ƺJ+3}'3?kei}~oGehgmn_EB )CUh\nMcn etSKtS\قtПؔLR"l.쒲3iPc!ᱣ-+a2v:Bc0z,nZ?:rҮJ#f0RQzzW@‚;wFȃ)!tzH< jE&Cm[sk/zsA%C kh BYR?HFuZYEqnIrBZR4P(=E=;'RYNЬ Vl6EgYݘ/iIuU Zb?KǠFl8W>I:cci( XW)Kˡ|.ghT>b,=gOyV6֯a}ʚZ3o؈U_ kuAGk+`ciEtݱ#ʂCj}3@٠' hrGTIr;e6&QI* ]n&ðO&$ tVSvńJI4 j$~.Bۣ)CuV=@3=Ѭ!-%<bitWЎfXCu&qnND 4}[IgyelaӃMi5U@ ДC;9%JkUNSF˹P6iį : E1[2E@rm7l4>2zW~OQ`7:KDU+tPn[)??ݛl[%sKygɥ6Y ɶ)J?U/܄ٳ/zZݡfNNzP)'A5r$YM$pȖ&o#ЙoXD5/B ht}9|CA{w R: WQx=+>tKo&_84 ն3YXO$O{vSlYJSh!B-%++J\@dnig*CAU\hjM,l;g;c7V.Vh3T nA6[͕B-@Tu $-q{=K_3QErva,JRlRp<c7z6Q#V*1 h }wdrߏ<:ZnLN" RtN`E$1Ėve;KN unvҨ IIQY?7b$ђC݅8r/'7òڵ4h%(YWAҗFkݮ7*E[hDnnn'I9t/II .Y, ?c_ IQ$ ]wE?X,#,М{u|6B:KtQ&DÑ[7BN5i 4v 9mtҼ68em0tXu@G-T:0Ӂ"JmoЪ5hgv5vV)zӒ^j;v~:fVc[U:l~MSPtw8RVQ{Rp&{w[TP̘OO_*/IWy("y{Imv!-u)z{ ރR v(:$Ut7& le#,@X@@j R MV7PvFV|N smy.~G\# P/+ ؆r:Xʸrx&*%j1߀k@HM=FJ%*%"a=Po=u_vI~^ ({;>wVP[g5wDn{3'K8rRFKPuڊOV^2/g5 d6 .MLYY;nt5ͭEUU;O{gK;Xq-u_UZʶԛC >Uj-9M@$In&lhm3jEٖzs'JZ@@{$V/E띕Kb /.͕ա%`VC(JX-%,j1L< 3|θPuݼnGFI~2 Թ1$^9-InT;Zw{?VDjI %M^1  TU17a|Ca"D*Dbs*I髆b6Ssw&I{黡yZS6s T*E7҈n>pݫV}W Ml1Iݴ)Ӫ @ eT pF bMkORy$:usZiKCEG:mOJ *1*H$ _v -Vg7=S']-:i|?RITTE- ]jzn)IMj=_"=[ۺݿ.w(%iat M4snAUWۺw<3 r}*D XqtHrixJ[*uabyҝ'{9][.<0,R`PNJtL p @(߀+vQ{@hR[y@-J@hJq%W@(@ Soܶi|dtߎR4F а|Y}v[!>yp"T:+ݻ;ZeY‚:<HWu,FY?iWPYt?" @(JE5 p[w E T*JOQO@@P)tD@*' d @:E" @QVJBlٮ,8 !z(qma@:$^WL1  @!ꌒ1ܫT  R6  T*D7QI@FP)wJE@B*$ d#J1 (8!z(q UZy݆'1MF  @nuF́r-T@'@>F  BtA@ *O F@C'Nx  UbH  5XW)u2Ãx`.u 75  0@@ pR"&! @w *ugj@H$@D  НJ@ *%b" tN{BȺltla9uGn^i>?ASX*s # G,Luhn={\ݵE,uDĀ@@ pR"&! @w *ugj@H$@D  НJ@ *%b" tPIEU`PnsܟoW[ǺJ$bR1Pd]BuE`*1 @@DܫD  НJ@ *%b" tRw;F@DJH>w[pR:SbE PU&Pns(+Q}E*N?=8Y~d]?ɰXW)QBgjՙR'!IU6e!@X!4;M#uҹ-Mtt*rBCuht|!J  ,>m|$MV4wKRn$" gT&@T]/Pk:~+v bOJxV/u *zw Jt.Nc'c2tVz'%$ (@"&Y!FZ31$#K}m&h澎XIrFZJ  #{)Rkƨ~hQh{ٺnL2h)6*`],K;C!%НΡksڨ:iw\³J$ZnqsՋgnI9wyZ7U*F*u&$P2ՙeU *e%O.JHr,*-" C pR:  @Ji HPDIS@@ mBE@J$@TΤ)  *ňm]꣝n.Cw|:kXWOsUb.J!`]QS [{@*@V^2G@b *= UPd p?j|nhh(سg]N܊P;wh{d :6J]S# B|~svc|煚Ҿ#衒  @XW} Ru'A@t$7@(R  @Jz JPTIc@@ ];ەx`DlflWґ4(I?Orux#yyXW}YXW)3z F5`]s pY7 ZPK@@5B@J-@Tq  КRk~  T*u8@hM ,XB%pN%F1>gs~/Vkmu6߸}#FDTKSXW)/=A=hPu#9 t*ukn@H @$tnmnϮa 1B%F  PSP+}xN,ɿ:4dtɝv MGCPH+hM!QtK{+A @+B%{.;8sZCN2qRLw~w-*GV`]%4B l,i=8=*5+~d,Jw#Д[a7"- pR@W褑>kEQn@ Jϴd0n7qkNnh:R*B*@ /Jy  yK})@r&@:  'U ֽPnsӁI]/mբ*&`]P$K.JɭH@*6fs.W]Ce@@ _Jj  TUwP@ȗR  @rT@%@6  +U鎢ASuՑIeJ/$}s5n&ݗuJL RR)%`]T$D _6  G/*k DP)'A5@@ Jy 9 TIGP @ȣ߀cPLpCCCM%سg][4J) _3WJ'y{wG,]XpбQVR4*sP*doPiߎ?S  *qR}A  kB\wC@lt@ȵR! @JS: ZP)C@@ rWJ^Blmخ,8 !z(qmalBUJE@ *Mj\m7Q1@^P)>  [Bv C@j  TmP1@^P)>  [UQpp=ap\ֱRnX* R6 ^uF@xŷouX@@ $R:" @:-Ny  P BuUE@N R8d( 8x08.}\hXW)! @*67#\ygQ=@RP)K}F@ *弃 d)@>e# @rAT@ TR@@ A\8x`@@J @@P1 4.Rf ]#@5]MC@@qd( 8x\8.8.6R%{  @*y0@@X!_ܫĠ@@j *18@@B%  иJ tRt5 E@XW)ƌBÃx`.uJk7߰}#[ J`y]a.ki  +@'! @J՝4@ TJד@@TJN  ϯ妋Jn  Pt*$d( 8x08.}\huNYq*=  @Ԉy{1%@(R)F! @:J8  RPJ@@ Bt@J)@TnQ  *8N{x0 Džu 9@J#JJ .y~{ w@@`U#$n.XQ]@R') @ &@T  IBNjS Lub:u2Ãx`.uJk7߰}#.  @9x<u@J$@TΤ)  Rڢ % T*Qg@H[P)mQC@ *3i  -J1(8!z(qa_e]cOC@ ,t~3źJEL ^v7 \PH@@J%o@(R;# @;کK  PpU@Ppp=ap\y攇n^a};F Q}@@UUjU@@KWK:f" @3Jͨ tҽJ|^ur?w|-hz_vD@"09b0xN^ OznS7_n󅶲~K;PpӻPamLFQ)6=-έ4 TlK;7n:ƶtضRh+7sGa3<䙓o7kǫIZ8[ReQ3*L,Cjc滶gyfZ*:Z7s&-[:5Y ƶoK@+ڛͮkL,Ι1Ϝt' " *VTVKIENDB`n8<ͩ#}䵴PNG  IHDRe *sRGB pHYs+;IDATx^ %UywQ0ו"$>#`"J"wrehfz71!^s]@LltB+ʌ8Ѓ==s~U{:TyU:U}gu9q倻vVN xݪ[-\\V]]Kj* 5 xՌ 58 @ }3Қ T>|ZR}=1}|5%W-=;)e+o~s`jHP ~j"N  TB`!@~"զ쩕[))__ͨW9薔Yڛl%P^\VorD]}ӣs̕%^RRy}ZV%iO:~7XҾ7+Rn_XsjVyPZ ҨrD;E5WU斗eE\Z'@(l,e:Or,_279iǝҲhC(’:>tk_:r&+{_2jOMoNnMT  6#B@;EE<%iUeW:e)[^8Y/_gެmV!/2gOjYz@Wg~S7q\} |SV[A( I+8$.)IoI)IWjy*Q+_ QEe6ͫ'?rQi:餮y38iTn>4V>$GjሧFuS˕vhA LoE;_sʦV|u%+xԒ/M{K|MZݥk7Ē2E2^nz54D+Ewn֑d?M4ng>{׌t']7<3'ʳ3iwa-um޿;Nܼ[|"=lԒ9exё-zH8_m ~zQ^`E2SW/Kِ䟀{qaSY?99Ϲk95NL|&''OV5=͉ò}߽aS>>w[Z.L&gMN>{7}o+>z>5 G;p ^EF+/Pg^Jԁ!X|dzZ)Lg'6,pw&F:7 5% +Y3U6@$ w׷\;vD sg\E:9Nwyzc=~K݄+¸kDox3 7i pA@`f/HRvfܹ%W:feF^w.OOHRwJC*n]exyF[`k6e3yaup̃ʗ̇n ,ۺ{K>?n5Ixh36ka, 7)I旤ep3<{ d#Gcjrͤ{d=2N9ɣtۥ^vyfeW͝gcF ?@6,=~ߣnۛ#~8]N?Ht اzN;j˿Rj4W!8YâLO2.YQ,+gr׋UoKyݴ9"r<@!u v:^~Rf J:n ǰ=̶Hu|׮J 1l"?|O뒇+WfΝ^T[veo#?~ nΫoj '_Ͷq8Woz~^=|3%rW%'_QG=HvzY-Lo_]YsKl==먭g +O,eGmɔW K p9ٺkq햧 :XѪuُ CSCrP,_%`r\[3k^'h4uvv/c@<ԩe?5 xsS$JɄةYwnG븎rDwb3tɃ(]1VN Yޑ :~lif]3b)7ny {iY3^.FݧWRD/-ntoSS4:rӨqiop{(|1ݽާ}#1ͳ#J\K jK7<3"vLˎ@^T, vH{IR~,| )w|;fȃ薽_/u3=W_vN#Ț]x,Wd.)Mʼ?EjD@g\)8 --E5.駮aڇ:2;m`AOs镩6x|VU^wK}$qדҀr]J?޿xgeg8ȥR?"~Lu$f_%߹@]>d ?@WçP-..s }y9u=K˥<3RS93pq;Wo YZZ\+ϑȧ4O=|RIx<]K~Af8^3~cVC2?V֖Q?,}{&+2uiYi_ǗO{nkyWAVe;>>n p]mI*%-Ix6߆$G'ʛM?6=51%ıىiWցOn93`MyM3sSӓSSǦc3Ksޝ\R[<6 OUOT'w|!ojR/}'ᑃ;-#S]Sezf/br%'=7pGn؅ݒ3M@Xo h8q4#mN6`O%R@QD{~NǛ%km]/7?w/\#=:.g^XVKnwyiS~칟?b}{ :ޞR7MG{]ZZ,[^v{cHԡz䓴^QwxxCG)у^LL3|I+h_6/+]6{M]˅K_;tKBˤg^L}~keZ~2),W2M)_Go#%4rt/Wÿt;֬uy-37~YY"}AW2>,ņCF(eߙ.=O6LVlL^鸞XhpU/3e(LC咑Dw,i9W/j'*-Hwu"Fe l~RSGU,\,z]乴+5@w,;,.N]nc_Ճ/AzBnJ;*cH=j~OV}iwSvIH0yXlihmR7e_׎qޓf'_s<~9Iƒ4@'7Iҩw@םSVNa?ԩSn}3\/. r8mε9#޿/\jO%}SF8wԇz>zd^W_5T苕XM, r^cg(mJ=,L@'^6))B@@/3])[eM8@EzyR"Y/$ @,@!" M! @@KY258@CX2:OYYE@26"A@ 0~Yu@MK436.B@Kʂ:B@Z-Ӓ# zYW@HK:u~†˞@}S$rpI'iv:rf\G?  @ˆ#%A@@e*.A@ GJ Ё,T\ @/!@ 2PYC^gR :-8ni{A@bL Pp_> "^D YlO\Y$eMDhFg3w~=zu'7:vv@,|@6<ЏG/z]/ٰ+ 菥rdlLϢJ%g7]??v ,\!ˈPuEY8ק~5_}$ݴ7 bwbJƒƈ#$2G#~s!I/3Y,rƔ{ I4>Gu,:55mǒtdQ4kHkO|NDuT MnSbw&@-ivmc"9hȶ_;h~:\q:}6˂tǺ)'LiSA)ad 2)$ÈW9heя唨T #fB20V5xZ,E/W~JS%[8>c@~yǗM+Ǵ䠹냁榈 -3FȞ={1ʎOMg咢jb~u8PD6Ƹ,"xKVʾ-ײQY}$~~* B/֓4%i䐀iii9Fl KYŚY%\{DsZ@ gNЪ_iG7]%kwƚԐt`UX^sKIF8j̈f|s /21Gʀ~\bt͛w{ZY+ٓwIo/E,tYNY÷_{mc'qdCfDɢ2TOSOL 4͘_MSM^3VMfKWSS3X2_Uke2 j-I#"_҄ T`nL%Z?3P N9]3 NmH1F\n䦢T~3K'?drsVҏYӥXe^J ;% ݏZek$&GD,V;Bs%薬}UYT\ {6K .}P8ix?9w^$ BLJ[bZlSmQ9kȊX s髶q/}|D,_O;u߫ߵXA(&,,$k޳uȮ㑝ۛOx/gvRvR!  ¯4Orji>o}~G?yuo Q!@uȣ^3}z{ws/Z^s3WU' C@>_-*GhT]jiA-IsgY&ЪdL-! po)C ar۟}E[wKG. -[obX~B@ y+e*R]Oo˷C@@@/_/ַ_f;0OŸ剟~原8' MyҒ?{&w]Go8uGn' D8n;3eֳ=}]Z 뱍CIW+s^ybVw @2ሼ0I @2/V@(>P2؆ɣR/ t<ˎ!@d})t^Uu%/kx$@I 7}:>NA@^N@ <='+̰G,^1 $'.ɫ1hT;IFI:៎$2a!@ &gIr!p9iSvI5Rt'LL piZey4Oxgs eq,JlåNlxm, @:(z{'vqXF~O8!PzI݈K45tC5guvx;3B`tjFk[hr ۣ3 K8ť*\|#F,SI$t,cIfny& 1GꄏLX=@YOUM wa F~Vpִ*rR#"N{ fÄڗZnm UO6=&fѪ Qwa˫@iy`q26R@d/#ʂI*hMlr05p+6h {g6<*l!_Zoe7LO1AN%B 4 +} L{?jǭrD"5&lRM#%@>5mH7ÚSIy!୿9ݣf˼Z;-uSOK9h1WZbHlUÚ@"Ie6/lL Ҵ 7f@ / ̃ L>( @/3^@@ `<6@\zY}I &FP>P\8qp/k  ??v\G?Xe z @Xb7B@:e:nĂ b@/Ux @ E:3 p/A|ge~- '^d#$ /_qR@/Sa# zY]@HELH P0e w!@ dhӦ'N]NG]q\A 8dÞw :Ν;ᖜ9bvCJȦE[X%EowW1& 70> G b[`y5+2i}ڛBR㳍TԱ^?7/T g=5 섏qi; }_6T'Ac[j]%M@;V$ztX4nHi8p(j.0ƚ`֓F>e'JIRutE8E/:*k`f~_4z Q Er̢YQ6IlFL*ّfY8@ &`%i0\ $^vd 4/#m]J8ط! i !e%@@0~"d@&^0ZDlh \@/s]|@-"8-ʍl @$ˈrcݕ8ؗP |j@h>_619@@g`Og'@@sJ Y*O @/ÕT!@Ux@!f=)_~kɺ+ qzͩu 6 joE鯽mnˋ *sll,R/*XI $#_:,!@!=a>)p܄ u#2 zYM@zY>"C@Aˈ= !sˁoؿc/ CS-v[9;ޫfm1| \@/sYl]Lg5@B)`CF >OZ 4 Y8޿O|[8EF;2%-"`5F9n  S}0Qtp2 _3L0 :zٹeg& -?2Oi 1օvj&J8864AX^zO7p(Voe3'L d7+{Y>J魿Z4_fneۅ>bSq"  '};LOee#?ְ2?enFH0~I=@Ey:™O36pĎ9uf$خ`  K}m鏭hmj5ЕZQǦFo@Q Me6 @,uhlogcS7C/ xe#cծ8@z% ,}:oiTl{seO @l-or |@/YnX @%^7A@> ,7 `~lky*7;22+1 ]w@"5zy߽pZ.ゥhW%X@ DeѮkյ4&zxƫ;AZF-CMF !! TeS8 tC 7 @˦%q@쐂lɒ&B /de[:S__7y:x@y_]1br`%wXX2EYR&@2dt BJI` dz6@ 2+% eeK @ +襬GK8dbIh5K, 1i2'ڐ/q# -{<  @%^@/"d2g-Y^O֭ͤ^&%[?.R`en][XX\XCsyŪ?Ɛz uޑu'`eDi>);U<Gcs-i{q2Cur ;'D/MӧҎi 薁K5;}J7 :7c J_k@>v<쯝H5j-*|"]< d0PvE7f7Y97z.vnMnUld?9Ue8YcxΫmqN3Eb|zT7)EM:_j(Mԉ+Qy0~Ih"?u;C*(5Nf^(0j Ac 1) 3iFg )KC=u1o5p1v_5 1Ͳ4h$4#,1 z&F $&^&FFDژTSAߤh'j`bf$MJ{Z߆TcIҲ#<BlFFܻMkϴ-*vw\8z8{^֬Hq 1uזpFwWM hd".v|"3p.Z$%ؤ >ضsiݳy`?dkH"I+FL ҟqճ:xgeD`R.Dyg n`f!'n`s,,7l[ڗmE&@2]Xݲ2@&d\ EVy`  dzr*@2[5 Me6 @ [XQCV%4׻ ,/y!>﬿ PL˙qu^Kl1^C@2e2^ b@/Yx @xIK5 @ 6ڗQ L:3 p/A|_oZ; !@k @HFd @$^@/"4 zYrk@HFLƋ PLk֓rw6 B]q\ֳ-UI />Vz_v䝡1N^xƤE*h+={˶EY'ˬA@f8efJC @  A@f)  @/3\8@!^f(02L_Fp44׻ ,/|uRr,/,xH:m5{@"^qR@/S#"j8m1_zZ@h=ɵ nb_5MS7=haZ\ p<ˌfu0ct1| H:P’UB|r@(Q>f0 2ETq`  dzт,@2SŁ1 QeF  @ SL@@F ˢ_]+D}>P"!Y vl{` 䌀=  H+C &^fD@zI &^fD@/#48<ԇ"[9qhӦ' @ˇ-o?Z@M͈ :@M͈ :@M͈ O/]o}IPԇHp];{I/oK~=Al˙qu^K,u PzY! @%u PzY! @%u PzY! @2JC˃@}(r}Yo&@@4_R3 @0~!@1~T I,v :0~YP\w_  M`e{,/$   Pxe @ 2$@@  @'ˈ*:3 p/A|ge2*`%U xI,f5 $#2~9'lpOB ̸:K3{tE/{78'.,.λY.t$,夡Df"KdFW"c&޼uiIS9tMfR;ZĘi'ĒThv,Ix'yw$ fObx\US#p!HZ3ifɼL\71L%$0.d2j%ͭ-IROİT|HTϓ0LXk%5޽N8ዸPNG  IHDRksRGB pHYs+4IDATx^W}_Vd˖"KP/T*H+EqD?҅A\g@/w V ` 紎U&U!xC0BF^jL߯iz_?o_;*cq#ܥos>Уz{rY:==nUU*R\ K xvgg1uƮyzy M,ۯUU^KۦRUD{{Ւ~5K|-Ozwٰuu^"ԠdN֡zk=V&6U;,g\NM^sƉ˞knvTpvFMO鄚:sg|%zRrzz\t]@FEFϲ7g PY\C<")k~G xZvΏ:=K\,"K=,v_DVFE(%Kouh??&κ_rE}O MW[%$r/Br5oegQ^kd@*yŭ(Y.ەrEz%iT;e}uG}aIW'r&պ WV*_]. URqR\J@M]d*VE|EaϷWkruP/W]a4s+6P;݁A/'}rC/m{Z׫]Tò?r\qHժn䕽V>Ǎp96 h1bY|,!Z_t_xKw-VGΒ:;JgK?rԶ}ڰqE~务 5"Gv Q_O->ɻ!?(R Q@ӶX_Inwn~ICo~o/Uġ~Gjް{nmgd,/*TRe[yKC`_戈;v٥$]*U?.fN"p?wKgܙywz֝]PH_jnaidݏ,Mϗ63<2#>{C3G>]9{2;Svfr],ϝ۸e'.i]3]QsO:ʔ^hߦU~x#;zz穉N8 T>NE1@VG /q䩡YunwԜ;1-_Pzd|^(ݯꙿXNOoS9\LM,L|«ގԋ{QZ'!jM/]*];>4WګJW+'2wV]4|R Q]T~!{֋]$SB<+v58*zR.2<;tb! }萗\díՋ˧t`VFz~B?AF% S]pXg_eS[d_A۽4<*.YwnK]G92E99 {NUR^IѪfn<3./;<,ge2%2j۠ Gm.WoCFvG^ vRCx?T+5wϾOҞI# ^YoQL,lYo`e!Ux t|m;O``m 2H_^(W~o\&Yq̕ssj9y͜ODn{ΞK'tu> 7NU9֧7YߋhYMzE5hd1#w݇xsБё#2? X^~ GF =_ [d.+wl+ >(8WU4uՇω//+2S7g:93?.--.[^ۮgS_x/}uKܔ]roթ>+."Ug xEC'Ɔ935|^7_!uq}pW侷zUF(Q>f^Mo1. 7omV /41xa}ܹSSLNLOZ,v%q~rl'g&'&N=++gg&%~ޝ\Re;Uʂ<}u%+^ᄄ.i)g V'54<6rpyiLڽw#^rqub#Ru~w[jF3Ed,gk:jzɲɨ[oοKϟwYW3Uz奝,=q]K!{nR;/>[.I̜+,.ne>{I|5?R'E<_Gz;eC#c o.?vIyO=xW!שN_2x_c]9¬I?_F]Q[Z\~ZJϩxg[1hyᗕ^R5t2DhRe5k˟|uEp<|̽_w$nJ|i^I@Mu.u.kڤ5'VwU?˺D2{㓬Z4^|$>mZ3v͡D${Ň.SȔ2DM O^Ue.^/.^ԎeEJMV敏,[z|:dE{Kw~y(~Ŏb׷o,"Р C*AfD+J4|ar -ޕ@t'ESypFKpUB(xok_!Tr^m~#4>Ms{*6^VW/ ^}ozʳ&7\! sk͸x1~p,׽.'P)NWS﫩H۽.YKx=rC ϣ1& HnjOE! ѱFNZ߳QjLOo;!EϗZԖ{Ic 5$k΀|C /$>^@ Ek$^:v%@^Ʌ}S<b-:gBzR9 4qʃ |`P@I@ⓠLR!I<2 z Mo~ @s29@>^?55_) 0h:M>Gr߮].ßNԇ@ (A{#a:q^Ҥœri׭pa (X=f)6# pXxտW.Qp_oq}%ɖ/'tYF͟яew:;j_tt&z; 2Bψ!} ?wm?tңus}sͫ9x⫰z|+L7Q}5dѾ+Rt03&' B"[TB xcB/LgFkqMRUj"W4o '% '"B>5qrcNdj ;$@\|X)W!q=k7xo(E_OFQj 1^7Q.#n?hPxzMy#EIhE_|+BOH8E{'pZuԍt;^I:2O#+R"P>6LiL ̶_;%FZ%){=u\v"^ӌŔUbhH2&3Mxj | nܳ9jR1FE 9dGȵGgqWOE'%F 2XUm_.$>]E+]?4/%dZA)8ZƛFk5 -Fj25<J`es_\_Qjhmha֠>smU>̈Oc ި?xN L qGJ䂀qY{=7✡)[|񑿞۴w;4ZOfnͲls6 +[$_]nRv3!= `OݕYlho,mvgmԒL!:nm^?N6G [$>sGd/ "`W\wY;:7|oˮ-o8\kpyft7]k|/] hF'.>#@5.:momY?zKTd@7GzL@'` XB4oi3 ` $CL@Fvh.ڜVs׿)۟5>p_EwvpIm8gkZA_m=['>DXb&/3 *L+S{+oo7&hC̬ ,B -ոquuGKi_%^U?LeR6 !EFק7S(QY| `[$>s[? 7߸&bö~I{!H"V(7zIN_ @WTy܌#d rU6s3øݚAP%tCv8dcy=wEU! oJKpe29ɷ=O `"j0) J/@(,$ax (ZDMa g_|Qv@qH@9"Bh'w!@ %l%@+H|W8@ Yu B|ʤ}p0UP[Quu`@ ώ8BF@"/ _X0@H<}@a 5-   q%.XCӃk725>|񅽔0@[cj M_@ 6/&mZ_h8@nH@ `^58<= N oi1 `%|VFCv@3$[iv Aδoi4 `5Ac.l,Qq}5v.ZK;с1&O$'R("!Њ}mtt4P[ .>+b%/>Vd@ MH|)@X9 4 iҧl@@cK$|;MS6:%yA2Qqйi8⻀ǡ .>^N\|")@ŧmʇ $>6d @ mH||@@cCK&ħm˿k@!/F(xMjd7Z5 ", Rq*@ج /"iMLfB StljTj!6O 5!d\}ӄaYr_,ˇL[&2 zc?nhIeV0:!gVT#P;~iLEs`%t+zgA԰i9`Sks$}p;a@K妞Z\ o^?yB EH|)<_,&)RU>4orI, .> QťZ}5BYy7R@OYTS|jgek>ug΍.oIGeZ6 ϸT0H 8񁱠!S@_| P@6 ٰ $>d @ l؁Z@T !TkѷE>/_,*:7#> dgs\|>Iq)h"I>2M_|C tCB4$>r!wCc!d5)G"jS("!w"!I2JY#ck-ql,QqohנZ?^qz8 q6 [Ò" @sg2* @ ,$>,)A$>w&@Ò" `E5_3hpynU ChFZ={T͎㨡@(,$ax @ kZ@@(,$aj(pyztm2@P/9i  F7 _X0@H<}@a 5- %L# oo@ M;\fe`)|Ǣ%o߾|O>/hrf\|\™(OP0EBhķ:Y!`J+"'G !dX"yb|v}^FTtnŷ#JK\|D &zG4O9BHq(2!@ nn0CHz  7$>n@ 5H|j)@ U\j|6jak7ka}^ Qqйyq725>q\ד5_CfBl&&.>vVDߵ__WsPG5BN{[^|)ߒFR{DA"yI@9Y>yC c鷙 m@=$^Mt%T@MiQЮif($qf*..ωz]> Μ.  H9;f$.>^&ŷNj  .>AqU?ƾfO㨉2BH   q%_@@S7 $>. @ uH|&"@\|ٸs2&B Nq䯭qq &.>q8e:q6 |Q$@#g$T@TH ,p Y2 u )"j".3THwݙtߖ&Hoz$N%*mY =@6X|Jǣ,@ 0%_|) @dyS  ¦(@@Mi$' $KO7AHjfp4?$t)<ݚ OS  8._|Fh@@KR$ħ!K/CH"| /AWе%.>K(CH?;Ǝ[p$ $GO5%AH0p $>9֔@ aH|)@rXS 8^d4dĽjpyy'uM@şŏI9@Huʄ $>@ H|)@"D0S 4 iPL@`Ak(pyztmOJJ!"@\|R)@ŧ!Ixo@(ו0/Ii  5x: @ kZ@>@8!_A֋_mp-So@&ex56% ЌO PXH|aMK  @%ִ4 O PX_ p0OC/~=[/uA6g/,O[! B6@m6m,#[fp Dڴoi. `M8!_Aזx.q&BP _<@a 5-   'c Bp5 eR@$@\|@ WCӃků6q@V⏪8j `P@ Oπ PXH|aMK  @%ִ4 O PX_ p0OC-qz0@NiwZ XGsԸBfi0 PhUevkL  v۟C&ڼ4oi= Ph_ p0OC?pk/ЗrXCW>.qXcv Goi( `$>b@H5}xlN!kx+%UL?Dի|\i( `拷δx @k[ZXO (.$ex `AWе%.oZXIx+N!oi( `$>b@%xLM!K fC6 .>j(pyztmBN!ŏUqXdx Foi* `$6^@"HEƦmx,N{!`l58<=[t= ̸m' XX4 4quggmuz.[Y\NjY.J*OKImC,1DVђw+1¬hdKH! Sp%)L"yC51%9BqA|Bdz95sZMfN9jjԊ&~PZB"Wt9E\-LV!9sJֈ^ 'rQIB*lVeamaòh.CV>$4TG*/IG]YNGZA@&s <IENDB`}( / 0DArialngsh0z[ 0"DTimes New Roman0z[ 0 DWingdingsRoman0z[ 0@ . @n?" dd@  @@`` @'   !#$%&`b$l.bR+ >Eb$t5LKHX>Eb$⍢̘OqS !Mb$?AҧCvxB Xb$l١|CMh{b$qFKlfb:Fb$ͩ#}䵴@<]b$޽N8ዸF5R 0AA@8ʚ;ʚ;g4YdYd z[ 02ppp@ <4ddddL 0@ $0___PPT10 pp___PPT9^VnL+%㨹O3!`PNG  IHDR asRGBcPLTE!!!BBBkccsssRJJ911111)))便{{{RRRkkkZZZ֭skkB99cZZ999)!!|7 cmPPJCmp0712,JQtRNS0J`IDATnAaUh: te)Kܿ gAcN2JmݛeGMU9^yW?{gMܤ`j{5nLIENDB`X@gupProgramowanie w Delphi na przykBadzie aplikacji Archiwum99#PTomasz Urbaczewski ToruD 2011-02-20)) BPrzesBanki do wdro|enia aplikacji""Obecny sposb obsBugi archiwum Kluczowe problemy zwizane z obecn obsBug archiwum Planowy sposb obsBugi archiwum z wykorzystaniem aplikacji Przewidywane korzy[ci zwizane z wdro|eniem aplikacji@ZaBo|enia funkcjonalne aplikacji!!.Mo|liwo[ rejestracji w bazach systemu nowego dokumentu wraz z informacj o miejscu jego skBadowania w archiwum papierowym. Mo|liwo[ rejestracji informacji o wypo|yczeniach dokumentu z archiwum papierowego (kto wypo|yczyB , kiedy zostaB dokonany zwrot itp) Mo|liwo[ wykorzystania zewntrznej bazy danych zawierajcej dodatkowe informacje o przechowywanym dokumencie (np. dane osobowe klientw umowy ktra znajduje si w archiwum) dostp do tych danych odbywa si poprzez poBczenie ODBC Mo|liwo[ wsadowego importu dokumentw do baz danych aplikacji w postaci arkusza Excel Mo|liwo[ wsadowego przekazania zapytania o miejsce skBadowania wielu dokumentw w postaci arkusza Excel. Mo|liwo[ aktualizacji w oparciu o systemy ksigowe klienta informacji o statusie dokumentu (czynny, zamknity) dostp do tych baz jest realizowany poprzez poBczenia ODBC Mo|liwo[ edycji i aktualizacji danych zawartych w bazie danych aplikacji Archiwum. Mo|liwo[ wykonywania raportw z bazy danych z podziaBem na umowy zamknite, czynne, wypo|yczone itd.P,l#Specyfikacja techniczna bazy danych$$(Baza danych aplikacji oparta jest o baz MSSQL Express i skBada si z dwch tabel poBczonych relacj. Struktur tabel przedstawia poni|szy diagram0Specyfikacja techniczna i funkcjonalna aplikacji11 Aplikacja skBada si z moduBu logowania oraz piciu pozostaBych moduBw ktre realizuj wcze[niej przedstawione zaBo|enia funkcjonalne. Na poni|szych slajdach zostaBy przedstawione opisy funkcjonalne i techniczne ka|dego z moduBw   ModuB logowaniaF Logowanie do systemu opiera si o plik konfiguracyjny (.ini) umieszczony w katalogu roboczym aplikacji zawierajcy informacje o nazwie i sposobie logowania do serwera bazy danych. Plik ma poni|sz struktur : [SERWER] SerwerName=elix34 DBName=Arch_DAK NTA=0 Proces logowania jest realizowany przez poni|sze procedury procedure WczytajKonfiguracje; procedure OpenConnection; Ne9a9t<P   RMenu GBwne aplikacji  opis funkcjonalny** Menu GBwne jest formularzem startowym aplikacji z ktrego operator ma dostp do wszystkich operacji realizowanych ramach programu zgodnych zaBo|eniami funkcjonalnymi. Wizualizacj tego formularza przedstawia poni|szy rysunek P JMenu GBwne aplikacji  opis procedur&&, Tworzenie tego formularza realizowane jest przez standardowe procedury kompilatora Delphi ktre wyszczeglniono poni|ej: procedure Button1Click(Sender: TObject); - procedura ta zamyka formularz Menu I otwiera formularz w ktrym realizowana jest funkcjonalno[ zwizana z rcznym dodawaniem nowej umowy. procedure Button5Click(Sender: TObject); - procedura realizuje opcj zakoDczenia pracy programu . procedure Button6Click(Sender: TObject); - procedura ta zamyka formularz Menu I otwiera formularz w ktrym realizowana jest funkcjonalno[ zwizana z poprawianiem i wypo|yczaniem zarejestrowanej ju| w aplikacji umowy. procedure Button3Click(Sender: TObject); - procedura ta zamyka formularz Menu I otwiera formularz w ktrym realizowana jest funkcjonalno[ zwizana z automatycznym i masowym wyszukiwaniu informacji o miejscu skBadowania umw oraz rejestrowaniu informacji o wypo|yczeniu na podstawie arkusza excel. procedure Button2Click(Sender: TObject); - procedura ta zamyka formularz Menu I otwiera formularz w ktrym realizowana jest funkcjonalno[ zwizana z automatycznym i masowym dodawaniem nowych umw oraz aktualizowaniem ich stanw na podstawie danych pobieranych z systemu klienta. procedure Button4Click(Sender: TObject); - procedura ta zamyka formularz Menu I otwiera formularz w ktrym realizowana jest funkcjonalno[ zwizana z tworzeniem raportw zwizanych z przechowywanymi w aplikacji umowami. PP():))))Y!  =     NDodanie nowej umowy  opis funkcjonalny((  FDodanie nowej umowy  opis procedur$$J Z technicznego punktu widzenia kluczowe dla niniejszego formularza s poni|sze procedury: procedure Button2Click(Sender: TObject); - procedura ta powoduje zakoDczenie pracy i zamknicie niniejszego formularza oraz otwarcie formularza Menu w celu wyboru kolejnej opcji realizowanej przez aplikacj. procedure Button1Click(Sender: TObject); - procedura ta sprawdza czy u|ytkownik wypeBniB wszystkie obowizkowe pola i je|eli warunek ten jest speBniony wywoBuje procedur dodaj umowe. procedure Edit1Exit(Sender: TObject); - procedura ta wywoBuje procedur pomocnicza o nazwie szukaj _umowe i je|eli tak umow znajduje ju| w bazie danych informuje o tym operatora i przerywa proces dodawania nowej umowy do bazy danych aplikacji. Dodatkowo je|eli w bazie nie zostaBa znaleziona taka umowa procedura wywoBuje procedur pomocnicz o nazwie szukaj_umowe_ODBC ktra to procedura pomocnicza pobiera z systemu klienta przez poBczenie ODBC informacje o statusie umowy i automatycznie na podstawie tej informacji wypeBnia pole status na formularzu. Procedure dodaj_umowe(nr_umowy,modulo,nazwa_kl,karton,status,weksel,uwaga, operat, pole1:String; data_oper:TDateTime); - procedura ktra realizuje proces dodania nowej umowy na podstawie danych z parametrw procedury do bazy danych aplikacji Procedure szukaj_umowe(nr_umowy:String); - procedura ktra na podstawie parametru procedury wyszukuje w bazie aplikacji umowy o numerze przekazanym w parametrze. Procedure szukaj_umowe_ODBC(nr_umowy:String); - procedura ktra na podstawie parametru procedury wyszukuje przez poBczenie ODBC w bazie systemu klienta umowy o numerze przekazanym w parametrze oraz pobiera informacje o statusie odnalezionej umowy. [PKPZ**& z{*y.([   A ? } ! Szukanie/Poprawianie/Wypo|yczanie dokumentw  opis funkcjonalnyAA8Wyszukiwanie dokumentw zarejestrowanych w bazie Poprawianie danych w ju| zarejestrowanych dokumentach Prowadzenie ewidencji wypo|yczeD i zwrotw dokumentw xSzukanie/Poprawianie/Wypo|yczanie dokumentw  opis procedur==Za realizacj funkcjonalno[ci zawartych w tym formularzu odpowiadaj poni|sze procedury: procedure Button1Click(Sender: TObject); - procedura ta umo|liwia cofnicie si o jeden rekord w wyszukanym zbiorze rekordw. procedure Button2Click(Sender: TObject); - procedura ta umo|liwia przeskok do nastpnego rekordu w wyszukanym zbiorze rekordw. procedure Button3Click(Sender: TObject); - procedura ta zatwierdza zmiany dokonane na rekordzie bazy danych. procedure Button4Click(Sender: TObject); - procedura ta anuluje zmiany wykonane na rekordzie bazy danych. procedure RadioGroup1Click(Sender: TObject); - procedura ta umo|liwia wybranie pracy pomidzy trybami szukania lub poprawiania rekordw w baize danych. procedure Button5Click(Sender: TObject); - procedura ta rejestruje w bazie danych aplikacji informacj o wypo|yczeniu umowy z archiwum. procedure Button6Click(Sender: TObject); - procedura ta rejestruje w bazie danych aplikacji informacj o zwrceniu umowy do archiwum. procedure DBEdit9Exit(Sender: TObject); - procedura ta kontroluje poprawno[ wprowadzonej daty zwizanej z wydaniem umowy z archiwum. procedure Button9Click(Sender: TObject); - procedura ta powoduje usunicie z bazy danych wpisu zwizanego z wypo|yczeniem lub zwrotem umowy. procedure DBEdit10Exit(Sender: TObject); - procedura ta kontroluje poprawno[ wprowadzonej daty zwizanej ze zwrotem umowy do archiwum. procedure Button10Click(Sender: TObject); - procedura ta kasuje z bazy danych bie|cy rekord zwizany z dan umow. Procedure szukaj_umowe(nr_umowy:String); - procedura ktra na podstawie parametru procedury wyszukuje w bazie aplikacji umowy o numerze przekazanym w parametrze. Procedure szukaj_oper(LP_umowy:Integer); - procedura ktra wyszukuje w bazie danych informacji o wypo|yczeniach i zwrotach danej umowy na podstawie danych zawartych w parametrze procedury.BZPPY*T*V)D)A-k)_)](^)d)_*J*x)Z X Z G D ` b ` a g b M |  hMasowe zapytanie o wydanie umowy  opis funkcjonalny55ZPobranie z arkusza Excel listy umw. Zwrcenie informacji o miejscu skBadowania wcze[niej pobranej listy umw. Zarejestrowanie informacji w bazie danych o wypo|yczeniu umw. `Masowe zapytanie o wydanie umowy  opis procedur11 Za realizacj funkcjonalno[ci w tym formularzu odpowiadaj nastpujce procedury: procedure Button1Click(Sender: TObject); procedura ta na podstawie wybranych przez operatora parametrw oraz zewntrznego zrdBa danych w postaci arkusza Excel zawierajcego list umw o ktre nale|y odpyta baz danych dokonuje takiego odpytania i dodatkowo na tym|e arkuszu Excel umieszcza informacj o miejscu skBadowania umowy dla ktrej byBo wykonane zapytanie oraz opcjonalnie dokonuje w bazie danych wpisu informujcego o wypo|yczeniu danej umowy. procedure Button2Click(Sender: TObject); - procedura ta powoduje zakoDczenie pracy i zamknicie niniejszego formularza oraz otwarcie formularza Menu w celu wyboru kolejnej opcji realizowanej przez aplikacj. procedure FormCreate(Sender: TObject); - jest to standardowa procedura kompilatora Delphi odpowiedzialna za utworzenie formularza.~WR()']W   /*BImport danych  opis funkcjonalny""&Masowy import umw z zewntrznego zrdBa danych w postaci arkusza Excel. Masowa aktualizacja statusw umw z systemu klienta przez poBczenie ODBC.BM<Import danych  opis procedur Za realizacj funkcjonalno[ci w tym formularzu odpowiadaj nastpujce procedury: procedure Button1Click(Sender: TObject); procedura ta jest odpowiedzialna za automatyczny i masowy import umw wraz z informacj o miejscu skBadowania z zewntrznych zrdeB danych w postaci arkusza Excel. procedure Button2Click(Sender: TObject); - procedura ta powoduje zakoDczenie pracy i zamknicie niniejszego formularza oraz otwarcie formularza Menu w celu wyboru kolejnej opcji realizowanej przez aplikacj. procedure Button3Click(Sender: TObject); - procedura ta wywoBuje procedur pomocnicz o nazwie aktu_status odpowiedzialn za aktualizacj statusw umw zawartych w bazie danych . procedure FormCreate(Sender: TObject); - jest to standardowa procedura kompilatora Delphi odpowiedzialna za utworzenie formularza. Procedure aktu_status(lod,ldo:String); - procedura odpowiedzialna za aktualizacj statusw umw zawartych w bazie danych na podstawie danych pobieranych przez poBczenie ODBC z systemu klienta.SPPR)))']'S   9 J /+ 6Raporty  opis funkcjonalnyn Mo|liwo[ wykonywania raportw z danych umieszczonych w bazie danych w szczeglno[ci dla poni|szych kryteriw : Umowy czynne/zamknite Umowy wypo|yczone Umowy wypo|yczone przez ,vBvB .Raporty  opis procedur2Za realizacj funkcjonalno[ci w tym formularzu odpowiadaj nastpujce procedury: procedure Button1Click(Sender: TObject); - procedura ktra na podstawie wybranych przez operatora opcji generuje zestaw rekordw z bazy danych ktry nastpnie jest eksportowany do arkusza Excel i w ten sposb prezentowany operatorowi na ekranie. procedure Button2Click(Sender: TObject); - procedura ta powoduje zakoDczenie pracy i zamknicie niniejszego formularza oraz otwarcie formularza Menu w celu wyboru kolejnej opcji realizowanej przez aplikacj.PSZZR))PS  Instalacja aplikacjid W celu poprawnego dziaBania aplikacji wymagane s nastpujce ustawienia systemowe: Na dowolnym dysku powinien zosta zaBo|ony katalog aplikacji o nazwie \Arch_DAK\ W katalogu aplikacji musza si znalez nastpujce pliki Plik uruchomieniowy aplikacji *.EXE Plik konfiguracyjny aplikacji *.ini (wskazuje si w nim nazw serwera i bazy danych do ktrej ma nastpi logowanie) Na serwerze MSSQL wskazanym w pliku INI musz by zaBo|one bazy danych aplikacji, logowanie do bazy danych odbywa si przy wykorzystaniu u|ytkownika DAK ale mo|liwe jest na ka|dym innym u|ytkowniku ktry ma wystarczajce prawa do obsBugi bazy danych w zakresie odczytu , zapisu i modyfikacji. W celu wykorzystywania opcji masowego importu lub masowego zapytania konieczne jest u|ywanie arkusza Excel o okre[lonej strukturze. ]PPPPPUH :        U  , Podsumowanie NAutomatyzacja i optymalizacja procesw zwizanych z prowadzeniem archiwum papierowego. Zwikszenie bezpieczeDstwa przechowywanych dokumentw. Szybki dostp do dokumentw archiwalnych. Przejrzysty sposb zarzdzania archiwum. Zmniejszenie niezbdnych zasobw ludzkich do prowadzenia archiwum.(("Dzikuje za uwag d ` z` ff[[ffRR|` py``Ӣ` ΂´vy` hk][^ROQGTП` N]1FS+BO)33` vs3db3` f` r3>?" dd@,?ldd@ n2 ld@n2`ld n?" dd@   @@``PR    @ ` `6p>> $`(  $T 8q $ "8q $ # lA] ?y @? "  * $ # l ?y @? "gm * $ # l ?y @? " * $ # lcC?y @? "  * $ # lp%p?y @? "u { * $ # lm ?y @? "  *  $ # l?y @? "  *  $ 3 rD(?yd @? "GBM *  $ 3 r&(?yd @? "[  *  $ 3 r0?yd @? "*. *  $ 3 ry@:?yd @? "9 ?  * $ 3 r0B?vyd @? " A "G  * $ 3 rHL?Myd @? "'p +v  * $ 3 r(n[U?yd @? "y q  * $ 3 r&aP_?yd @? "  * $ 3 rh?yd @? "OD * $ # lݤo?yd @? "n8 >  * $ 3 r0xy?yd @? ":D hJ  * $ 3 r ?yd @? "[(O . * $ 3 rl ?yd @? "R X * $ # lY̕?|yd @? "(   * $ # lEfx܌?d @? "Q W * $ 3 r(?yd @? "P * $ # lw?yd @? "v  * $ # l;?yd @? "P.4 * $ # lA< ?yd @? " * $ # l^?yd @? "ag * $ 3 re](?yd @? " * $ 3 rwb?yd @? "r *  $ 3 rZ?yd @? "c * !$ 3 rR?yd @? "4 :  * "$ 3 r(T?yd @? "Rg *m  *2 #$  `?yd @? "  2 $$  `?yd @? " a 2 %$  `?yd @? "Dc2 &$  `?yd @? "e  2 '$  `?yd @? " oc 2 ($  `?yd @? ") 2 2 )$  `?yd @? " p 2 *$  `?yd @? "o`  2 +$  `?yd @? "R 0 2 ,$  `?yd @? "a  2 -$  `?yd @? "v S 2 .$  `?yd @? "jT 2 /$  `?yd @? "  B I 2 0$  `?yd @? " j} 2 1$  `?yd @? " =2 2$  `?yd @? " hH2 3$  `?yd @? " x 02 4$  `?yd @? " S 12 5$  `?yd @? " pX 2 6$  `?yd @? "!  2 7$  `?yd @? "G)2 8$  `?yd @? "t2 9$  `?yd @? " -O 2 :$  `?yd @? "<2 ;$  `?yd @? "v H2 <$  `?yd @? "x\2 =$ Z?yd @? "  F2 >$  `?yd @? "oq2 ?$  `?yd @? "  82 @$  `?yd @? "\92 A$ Z?yd @? "Dv2 B$  `?yd @? "|2 C$ Z?yd @? "GB2 D$ Z?yd @? "qm2 E$  `?yd @? " ;P 2 F$  `?yd @? ".2 G$  `?yd @? "  2 H$  `?yd @? " | '2 I$ Z?yd @? ",2 J$ Z?yd @? "?Nq2 K$  `?yd @? "i2 L$  `?yd @? "E;n2 M$ Z?yd @? "2 N$ Z?yd @? "V2 O$  `?yd @? "'2 P$  `?yd @? ") A s2 Q$  `?yd @? "|  2 R$ Z?yd @? "&2 S$ Z?yd @? "=jo2 T$ Z?yd @? "_2 U$ Z?yd @? "2 V$ Z?yd @? "G ; m2 W$ Z?yd @? "  2 X$  `?yd @? " B 2 Y$  `?yd @? "} ? q2 Z$  `?yd @? "C2 [$  `?yd @? "2 \$  `?yd @? "=2 ]$  `?yd @? "Hvz2 ^$  `?yd @? "E2 _$  `?yd @? "2 `$  `?yd @? " ] q 2 a$  `?yd @? ", 3 2 b$  `?yd @? "[ l 2 c$  `?yd @? " F 2 d$  `?yd @? "   2 e$  `?yd @? " >G 2 f$  `?yd @? "&2 g$  `?yd @? "n/2 h$  `?yd @? "Pj2 i$  `?yd @? "sB2 j$  `?yd @? "2 k$  `?yd @? "5Cu2 l$  `?yd @? "C2 m$  `?yd @? "B2 n$  `?yd @? "k2 o$ Z?yd @? " F 2 p$  `?yd @? " V 2 q$ Z?yd @? "P  >2 r$ Z?yd @? " < 2 s$ Z?yd @? " X 2 t$ Z?yd @? "m 2 u$ Z?yd @? "/72 v$ Z?yd @? "# 2 w$ Z?yd @? "U2 x$ Z?yd @? "c72 y$ Z?yd @? "1N2 z$ Z?yd @? " 2 {$  `?yd @? "U$2 |$  `?yd @? "72 }$  `?yd @? "Ly2 ~$ Z?yd @? " L y2 $ Z?yd @? "$  2 $ Z?yd @? "v U 2 $ Z?yd @? "+  B2 $ Z?yd @? "=2 $ Z?yd @? "@)2 $ Z?yd @? ";Fs2 $ Z?yd @? "2 $ Z?yd @? "{$Q2 $ Z?yd @? "nG2 $ Z?yd @? "`'T2 $  `?yd @? "#12 $ Z?yd @? " 2 $ Z?yd @? " c 2 $ Z?yd @? "f X 2 $ Z?yd @? "\  H2 $ Z?yd @? " @ 2 $ Z?yd @? "`  ;2 $ Z?yd @? " 4 2 $ Z?yd @? "M y2 $ Z?yd @? "\2 $ Z?yd @? "SLy2 $ Z?yd @? "2 $ Z?yd @? "J:w2 $ Z?yd @? "/ 62 $ Z?yd @? "c?l2 $ Z?yd @? "i2 $ Z?yd @? "~2 $ Z?yd @? ""X2 $ Z?yd @? ":2 $ Z?yd @? "ma2 $ Z?yd @? "k2 $ Z?yd @? "2 $ Z?yd @? " 2 $ Z?yd @? "L"x2 $ Z?yd @? "w L2 $  `?yd @? "Z2 $  `?yd @? "=2 $  `?yd @? "02 $  `?yd @? "D2 $  `?yd @? " u 2 $  `?yd @? ")  2 $ Z?yd @? "2 $  `?yd @? " x 2 $ Z?yd @? "#:2 $ Z?yd @? ">2 $  `?yd @? "V2 $  `?yd @? "?2 $  `?yd @? "e2 $  `?yd @? "r8Z2 $  `?yd @? "~e2 $  `?yd @? " 2 $  `?yd @? "y2 $  `?yd @? "^2 $  `?yd @? "42 $  `?yd @? "$2 $  `?yd @? " W` 2 $  `?yd @? " 1 N 2 $  `?yd @? " @ { 2 $  `?yd @? "L 1 2 $  `?yd @? "a  2 $  `?yd @? "  2 $  `?yd @? " mR 2 $  `?yd @? "h/2 $  `?yd @? "r@2 $  `?yd @? "2 $  `?yd @? "L2 $  `?yd @? ")2 $  `?yd @? "N2 $  `?yd @? "$2 $  `?yd @? #"   { Q2 $  `?yd @? #"  Cm2 $  `?dyd @? #"  yn2 $  `?dyd @? #"  O:2 $  `?yd @? #"  D = 2 $  `?yd @? #"  E N 2 $  `?dyd @? #"  Z [ 2 $  `?yd @? #"  9 e 2 $  `?yd @? #"  , U 2 $  `?dyd @? #"  y?  2 $  `?yd @? #"  q @ 2 $  `?yd @? #"  f  2 $  `?yd @? #"  DM2 $  `?yd @? #"  ) S 2 $  `?yd @? #"  L2 $  `?yd @? #"  M2 $  `?yd @? #"  9P2 $  `?yd @? #"  x  2 $  `?yd @? "1 U 2 $  `?yd @? "  2 $ Z?yd @? "a2 $  `?dyd @? #"   $ 67 #" `] `}  B*  $ 6? #" `] `}  @*  $ 6K #" `]}   B*  $ 0S " `  Kliknij, aby edytowa style wzorca tekstu Drugi poziom Trzeci poziom Czwarty poziom Pity poziom*   a $ 6X " `}  PKliknij, aby edytowa styl wzorca tytuBu) )` $ Hvyd޽h @ ? ff[[ffRR|<0___PPT10. 0)___PPT9BpBB Cyfrowe kropki  ,$((  (T 8q ( ":p ( # lA] t`?y @? "  ( ( # l  j?y @? "gm ( ( # l r?y @? " ( ( # lcC(|?y @? "  ( ( # lp%?y @? "u { ( ( # lm0?y @? "  (  ( # l?y @? "  (  ( 3 rD?yd @? "GBM (  ( 3 r&p?yd @? "[  (  ( 3 r?yd @? "*. (  ( 3 ryx?yd @? "9 ?  ( ( 3 r0?vyd @? " A "G  ( ( 3 rh?Myd @? "'p +v  ( ( 3 r(n[@?yd @? "y q  ( ( 3 r&a?yd @? "  ( ( 3 r?yd @? "OD ( ( # lݤ8?yd @? "n8 >  ( ( 3 r0?yd @? ":D hJ  ( ( 3 r p ?yd @? "[(O . ( ( 3 rl  ?yd @? "R X ( ( # lY ?|yd @? "(   ( ( # lEfx( ?d @? "Q W ( ( 3 r( ?yd @? "P ( ( # lw0 ?yd @? "v  ( ( # l;@: ?yd @? "P.4 ( ( # lA<B ?yd @? " ( ( # l^HL ?yd @? "ag ( ( 3 re]U ?yd @? " ( ( 3 rwbP_ ?yd @? "r (  ( 3 rZh ?yd @? "c ( !( 3 rRo ?yd @? "4 :  ( "( 3 r(Txy ?yd @? "Rg *m  (2 #(  `?yd @? "  2 $(  `?yd @? " a 2 %(  `?yd @? "Dc2 &(  `?yd @? "e  2 '(  `?yd @? " oc 2 ((  `?yd @? ") 2 2 )(  `?yd @? " p 2 *(  `?yd @? "o`  2 +(  `?yd @? "R 0 2 ,(  `?yd @? "a  2 -(  `?yd @? "v S 2 .(  `?yd @? "jT 2 /(  `?yd @? "  B I 2 0(  `?yd @? " j} 2 1(  `?yd @? " =2 2(  `?yd @? " hH2 3(  `?yd @? " x 02 4(  `?yd @? " S 12 5(  `?yd @? " pX 2 6(  `?yd @? "!  2 7(  `?yd @? "G)2 8(  `?yd @? "t2 9(  `?yd @? " -O 2 :(  `?yd @? "<2 ;(  `?yd @? "v H2 <(  `?yd @? "x\2 =( Z?yd @? "  F2 >(  `?yd @? "oq2 ?(  `?yd @? "  82 @(  `?yd @? "\92 A( Z?yd @? "Dv2 B(  `?yd @? "|2 C( Z?yd @? "GB2 D( Z?yd @? "qm2 E(  `?yd @? " ;P 2 F(  `?yd @? ".2 G(  `?yd @? "  2 H(  `?yd @? " | '2 I( Z?yd @? ",2 J( Z?yd @? "?Nq2 K(  `?yd @? "i2 L(  `?yd @? "E;n2 M( Z?yd @? "2 N( Z?yd @? "V2 O(  `?yd @? "'2 P(  `?yd @? ") A s2 Q(  `?yd @? "|  2 R( Z?yd @? "&2 S( Z?yd @? "=jo2 T( Z?yd @? "_2 U( Z?yd @? "2 V( Z?yd @? "G ; m2 W( Z?yd @? "  2 X(  `?yd @? " B 2 Y(  `?yd @? "} ? q2 Z(  `?yd @? "C2 [(  `?yd @? "2 \(  `?yd @? "=2 ](  `?yd @? "Hvz2 ^(  `?yd @? "E2 _(  `?yd @? "2 `(  `?yd @? " ] q 2 a(  `?yd @? ", 3 2 b(  `?yd @? "[ l 2 c(  `?yd @? " F 2 d(  `?yd @? "   2 e(  `?yd @? " >G 2 f(  `?yd @? "&2 g(  `?yd @? "n/2 h(  `?yd @? "Pj2 i(  `?yd @? "sB2 j(  `?yd @? "2 k(  `?yd @? "5Cu2 l(  `?yd @? "C2 m(  `?yd @? "B2 n(  `?yd @? "k2 o( Z?yd @? " F 2 p(  `?yd @? " V 2 q( Z?yd @? "P  >2 r( Z?yd @? " < 2 s( Z?yd @? " X 2 t( Z?yd @? "m 2 u( Z?yd @? "/72 v( Z?yd @? "# 2 w( Z?yd @? "U2 x( Z?yd @? "c72 y( Z?yd @? "1N2 z( Z?yd @? " 2 {(  `?yd @? "U$2 |(  `?yd @? "72 }(  `?yd @? "Ly2 ~( Z?yd @? " L y2 ( Z?yd @? "$  2 ( Z?yd @? "v U 2 ( Z?yd @? "+  B2 ( Z?yd @? "=2 ( Z?yd @? "@)2 ( Z?yd @? ";Fs2 ( Z?yd @? "2 ( Z?yd @? "{$Q2 ( Z?yd @? "nG2 ( Z?yd @? "`'T2 (  `?yd @? "#12 ( Z?yd @? " 2 ( Z?yd @? " c 2 ( Z?yd @? "f X 2 ( Z?yd @? "\  H2 ( Z?yd @? " @ 2 ( Z?yd @? "`  ;2 ( Z?yd @? " 4 2 ( Z?yd @? "M y2 ( Z?yd @? "\2 ( Z?yd @? "SLy2 ( Z?yd @? "2 ( Z?yd @? "J:w2 ( Z?yd @? "/ 62 ( Z?yd @? "c?l2 ( Z?yd @? "i2 ( Z?yd @? "~2 ( Z?yd @? ""X2 ( Z?yd @? ":2 ( Z?yd @? "ma2 ( Z?yd @? "k2 ( Z?yd @? "2 ( Z?yd @? " 2 ( Z?yd @? "L"x2 ( Z?yd @? "w L2 (  `?yd @? "Z2 (  `?yd @? "=2 (  `?yd @? "02 (  `?yd @? "D2 (  `?yd @? " u 2 (  `?yd @? ")  2 ( Z?yd @? "2 (  `?yd @? " x 2 ( Z?yd @? "#:2 ( Z?yd @? ">2 (  `?yd @? "V2 (  `?yd @? "?2 (  `?yd @? "e2 (  `?yd @? "r8Z2 (  `?yd @? "~e2 (  `?yd @? " 2 (  `?yd @? "y2 (  `?yd @? "^2 (  `?yd @? "42 (  `?yd @? "$2 (  `?yd @? " W` 2 (  `?yd @? " 1 N 2 (  `?yd @? " @ { 2 (  `?yd @? "L 1 2 (  `?yd @? "a  2 (  `?yd @? "  2 (  `?yd @? " mR 2 (  `?yd @? "h/2 (  `?yd @? "r@2 (  `?yd @? "2 (  `?yd @? "L2 (  `?yd @? ")2 (  `?yd @? "N2 (  `?yd @? "$2 (  `?yd @? #"   { Q2 (  `?yd @? #"  Cm2 (  `?dyd @? #"  yn2 (  `?dyd @? #"  O:2 (  `?yd @? #"  D = 2 (  `?yd @? #"  E N 2 (  `?dyd @? #"  Z [ 2 (  `?yd @? #"  9 e 2 (  `?yd @? #"  , U 2 (  `?dyd @? #"  y?  2 (  `?yd @? #"  q @ 2 (  `?yd @? #"  f  2 (  `?yd @? #"  DM2 (  `?yd @? #"  ) S 2 (  `?yd @? #"  L2 (  `?yd @? #"  M2 (  `?yd @? #"  9P2 (  `?yd @? #"  x  2 (  `?yd @? "1 U 2 (  `?yd @? "  2 ( Z?yd @? "a2 (  `?dyd @? #"   ( <,  "   PKliknij, aby edytowa styl wzorca tytuBu) ) ( 0x  " `     VKliknij, aby edytowa styl wzorca podtytuBu, , ( 6  #" `] `}   @*  ( 6  #" ``    B*  ( 6  #" `] `}   B* ` ( H|yd޽h @ ? ff[[ffRR|80___PPT10. 0)*  *(  x  c $(j  r  S L(p`    H  0޽h ? 3380___PPT10.c@@0  p0(  x  c $()$ `   x  c $ $ `  H  0޽h ? 3f80___PPT10.c@   @(   x  c $t$ `9     S x$M  "p`PpH  0޽h ? 3f80___PPT10.d  nf0(  0x 0 c $$ `j   x 0 c $H$`$   0  rA? $"Obraz 1#" `Y H 0 0޽h ? ff[[ffRR|80___PPT10.dpº$  8$(  8r 8 S 0 $ `}   r 8 S ܴ$ `  H 8 0޽h ? ff[[ffRR|80___PPT10.e+c  $<(  <r < S  $ `   x < c $$'u    < BA $  H < 0޽h ? ff[[ffRR|80___PPT10.er  *"D(  Dx D c $Q$ `   x D c $T$'3   D BA $V7  H D 0޽h ? ff[[ffRR|80___PPT10.fP$  0L$(  Lr L S $ `<   r L S  $q  H L 0޽h ? ff[[ffRR|80___PPT10.g;Pn  @Pn(  Px P c $D~S$ `<  S , P c $q$'~ S Dodanie nowej pozycji archiwizacyjnej Kontrola wielokrotnego dodania Aktualizacja statusw umowy przez ODBC Pobieranie danych klienta przez ODBC P BA $2 SH P 0޽h ? ff[[ffRR|80___PPT10.g-$  p\$(  \r \ S 5S$ `<  S r \ S < $j   H \ 0޽h ? ff[[ffRR|80___PPT10.h`7}  *"`(  `x ` c $S$ `<  S x ` c $S$' S  ` BA $9i SH ` 0޽h ? ff[[ffRR|80___PPT10.i "r$  h$(  hr h S ĒS$ `<  S r h S \2S$q S H h 0޽h ? ff[[ffRR|80___PPT10.j 8  *"l(  lx l c $)U$ `}  U x l c $ U$' U  l BA $ QH l 0޽h ? ff[[ffRR|80___PPT10.kє9$  t$(  tr t S JU$ `  U r t S 3U$'gY U H t 0޽h ? ff[[ffRR|80___PPT10.k  *"x(  xx x c $OU$ `  U x x c $LQ$'o Q  x BA $@9 SH x 0޽h ? ff[[ffRR|80___PPT10.l`1[$  $(  r  S H~U$ `<  U r  S SU$'g  U H  0޽h ? ff[[ffRR|80___PPT10.l  *"(  x  c $U$ `<  U x  c $<$j'    BA $; SH  0޽h ? ff[[ffRR|80___PPT10.m@0P$  0$(  r  S (U$ `}  U r  S HU$ ` U H  0޽h ? ff[[ffRR|80___PPT10.m@L=:  @:(  r  S EU$ `<  U   S U$  U "p`PpH  0޽h ? ff[[ffRR|80___PPT10.np9o*$  P$(  r  S Lh$ `}  h r  S 0 h$ ` h H  0޽h ? ff[[ffRR|80___PPT10.o`  `(  r  S U$9j  h H  0޽h ? ff[[ffRR|80___PPT10.ord}F <t¾l:(4`? }( / 0DArialngsh0z[ 0"DTimes New Roman0z[ 0 DWingdingsRoman0z[ 0@ .Oh+'0 U hp  0 < HT\9Programowanie w Delphi na przykadzie aplikacji ArchiwumdTomasz Urbaczewskip Digital DotsewsTomasz Urbaczewskip6maMicrosoft PowerPointi n@@f @Gc@xpGSg  )'    """)))UUUMMMBBB999|PP3f333f3333f3ffffff3f̙3ff333f333333333f33333333f33f3ff3f3f3f3333f33̙33333f333333f3333f3ffffff3f33ff3f3f3f3fff3ffffffffff3ffff̙fff3fffff3fff333f3f3ff3ff33f̙̙3̙ff̙̙̙3f̙3f333f3333f3ffffff3f̙3f3f3f333f3333f3ffffff3f̙3f3ffffffffff!___wwwH4'A x(xKʦ """)))UUUMMMBBB999|PP3f3333f333ff3fffff3f3f̙f3333f3333333333f3333333f3f33ff3f3f3f3333f3333333f3̙33333f333ff3ffffff3f33f3ff3f3f3ffff3fffffffff3fffffff3f̙ffff3ff333f3ff33fff33f3ff̙3f3f3333f333ff3fffff̙̙3̙f̙̙̙3f̙3f3f3333f333ff3fffff3f3f̙3ffffffffff!___wwwglmggglmfmlglmggmfgglfgmglflmfgfffgfmglgfgffglflglfglgfffglCffCfCmfglfJffIffCfCJfIffffffCffCCCffClgfffCfffCfffffCfCCfffCCCfCCfCCCfCCCfCfCCffCCCeCfCfCfC`lgmgfmlglmgmlmgfllglglgflffgggflmglflfflflglfgflgflfClglgfgglglffffCfgffffCffgffffgCgIfCfClffflDfCCfCffCCfCfCCCgCfffCfCfffCfCfffCfffCfCfCfCCfffCffffCfCCmlmggmfmfmfmggmmflmfmgmllgmgffglggfmfflgflgfflgfgffClfIffCfgIflfffIfmflgCfIgClfCffflDfgfCffCffCffCffffIfCffIfCCfICffIfCffCCffCCfCfCfCfCCfCCfCCCCfCfflmmgglmmggllgfmmglfmgfflgfgllglfglglglflgfmflgfglflglgfffglfffgfgIfffCffClffffCflfCDffffClDfCffffDfIfCfDffCfffffDfCCfCfCfCfCffCfCfCfCfffCfCfCff`CfCfmlmmgflmmgmgllgggmmllgmlggflglfglgfflgglfgfglflCgffglglgffgllCfffgDlffgffgClgffmflfffCCffffICfDlffCffCffffCfCCfffCffDffCCfCfCCffCCfCfCCfCfCffCCCmfCCmlmmlmmlgmfgglggfmfmflgfgfmlflfmgfmfflggflfglflgfglfllffffflCffgffmClffgIfJffffClmfmCflfDCfgfCfCfCffDfCCCCfCffCCfmlfCfffCffffCCffffCfCCffCCfCffCfCflmggmlmlmlggmlglglmlmgfglgllglmglflmflfglmffggglfmfglgfflfgfflfCffflfgfffDlmffgfCffCfffCffClfClfffffIffIffmlfCCffCCCffCfCCCCf`CfCCffCCfmfggflgmlgmlggmgfmgffmffgfgfmglfglfmflgfmfmflglfmgglflfIglffgfJlfClfDfglffgfClfJffffffffCDffCCfflgCffCfCfCfCfffCfffCffCffIfCffCfCfCfIffCfCCffCeCfCllmmmmllmmlmlglmggmmlmfmflglglgfglfmffgffggfmlfgffgfffgIlffgfgfflfCfDlCfgffffflDlClCflflglffDCffCgCffDflCfCfCfDCCClCfCffCCffCfCffCfCfCfCfCfCfCfffCCmggmfmlmmfgglgllfmmfgflgffmlgglmfmgllmlmflfffmflglmfmfgfgfflfJfffmffgflfIfgIffffgffgCfCfCfCfffClfCffCfCfDfCfffffgfCflCCffCfCfCgCCfCfCfffCfCfCCfCffglmlmmmgmmglgglflmflllmfglfgmfglfffgfgllmglfgffgfllflfDlffflDfflfCfgffffIgfffIffClfCffIfCfCffgCffffffflCfIffCCfCffffCfCffCffffCffCCCfCCfffCCCCmmmgllgggllmlmlmlmmfmlmggfglggmffllgllglfggffflflmfflgfgfglfgfmgflfgCglflgfJfffIgCfClfgfflgfflgfClCfClDCfCCfCffCCffffDCCCfIfffCfCCCfCCfCfCffCCCffffmlmlmmmmggglgllflmflmllglglfllflgllglgggflgflgIfffglfffglfllffgCflffgffflfgffClDfCffCffDfffffffClgCfCffffIfCffffffCCfCffffCffgfffCCffCCfCCmmgmmfmmlglmgglmgllllgfggflgfmlgggglgffmflgllfllflfgfglglfglDllfgfgflffffDlfJfCgflDfffClfDlCfflCglCCfDfffffgIfDfCfClCfDfCfgCfCCCfCfCCCCCfCfCffCfCgmmllglmgmlmggmllgmlgmllglggmlflflmfmfgfffggfgllgfffglgfgflfgllflgfJlffffffflCfflfgfffffgCfCffCfffCfCCIffCfCCfffCfCgfJCffCffCfCffffCffCfCCfCfCmmmlmmmlmggggmgglgglfglClmlffglgmmglmflgmlflgffmlflCflmfggffgfCffffmffmffDffJfgClfmlfflffgfffJffffffDfffffgCCfCfffCCfCfIffCCCffCCCfCffCCfmmllglgmmlmfmmlmglglmlmgffflggmglgfflgflglffglfmffmglffflflCmflfmfgffCffCflffffffCfmgCDfIfCfffCfIffCfCgIfCfffffmmmffffCffCffCfIfffCfCCfCfmlmmmgglmgmfgmgmggmllmfgmllmmmflgfmmflfmfmfmlfgflgllgfmffgfffgfffIglgflgflfJfJffgflCfClfffCffgfCgfCDlffCfCffClCCDfCfffCCfCfDCffCfCfCCfCffCfCmlmlgmlgmlgllmggmglglfmflgmmggfgmgfmlfglfmglfgmffglflfmfmfllggffflflffDfffffflfgffgfDflgffICflffffCfCffCffffffCfCfIfDfCfCfCCfCfffCfCCfCffmmmgmmmlmgmmggmmlgmgmglgfgllglglfgllgffffmlggglfglflgfmglfffgffllfDfggfflfmfffJfDflflflffCfCfffCClCfCflDffCDfCfffffCfCfflCffflffCfCffDffCIfmmmglmmgmmglggllgllmlmmglmfmgllglfmmgmflgfmflgmfmffllfflglfmffgflflfIfgffDlgfflffDfgfDfClfgIgffgfffgffffCflCfICfCfffCfCfCCCCDCfCCfCfCfCfCmmmmmmmllggmmmgmglgmgfglglgfmgmfllglgfflggfmfglflglgmfglglgfflfglflDffgffIfffffffDfffIfflfgffffCffCfCIfCfIffCffCffCDfICCfffffffffCfCfCffCfmlmmmmgmmmmmmgglmlmlmlgmglmlgllflfmggllgflgfgfgflffglgfmfglfIgffglfmffglgClJffglCfgCgCCfCflgfJffffCfffDffCffCffffCfgDICfCCCfCffCffCCfCmmlgmllmlmlmlgmllmmfglglfglmglglmglfgflglfmfmgflgflglglfgfflglffgflgCflfffflCfgfflfflggfgfffffgClfDfCCffCffCffCfCmffCfffCfCffCCffCfmmmmmmmmmmfmmglmgmgmlggmmfmlglmlffllmgglglfmggfllfmflCglgClfgIgfCgfffIgfDfmfIfDlCfCfffIfflCglCgIfCfIffmlfClCCffCfCffCCffmmmgmmlmmmgmmmlmlllllgglggflfmmfgfglffffgfflgflfClffflfIffgfffCfgflCffCffffCffCffgfCffffCDfffCfCfCfDffCCmmmmmmmgmlgmlmglgmgmmggmlglllmlfmfgmmglglgllgglflfglfgfClfglgfgCfgfglfClfgfffDffgfJfCffCffCfCfCIfCCfffCfDflCffCffCfmmlmmmglmgmmlmmglmfmlglmgggmglfffglglmfglfgmllfmflffglIgfgfffffIffflfCfgfCfIfffIfIffClflfDffCfDffDffIfCCfCffCffCfClCmmmmmmmmmmmmlmmmlglgmgmllggflmllgggmmlmlgmfglffmlmlfglfggfflflggflfmflmfffffmfIgIfgffJfCglffCfffCffffCfgfCgCfCglffffCfffCffCCffCIfCfgCmmgmmmmggmmmlmmlglmggmgmmfflfgllmgmggfmflgllfmglgfflmfgfgfglglglffffffflffffffflfgfgIfDlgCfffCfIfffCCfIfffCCDfCffffCfgCfCfCmmmmmmmmmmmglmmmlmmgmglgmmglllglllmlglmgfmgfgglffllfmfgfgfgflfglgfgflflffffffgffmffmfCgffglCfDlflglffCCffJCfffffCfgfCfCCfflfCfCCfCfCffCffmmmmmmmmmlgmmlmggmlmggmflglgfmfmlmfglgllggllgflfllfglllglglmfllDfgflgflflCffgffDmlflfglffffJfgCffIffCgfCffClgllffCfIffCmmmgfmmlmmmgmlmmmmmlmmglglmmglflmmgmgmfmfmglglfmfflgfllggfgflgfmgmffgfCfgffflDflfDfgfgfIfflfDfffCfClCfCflDfCffClffIfCmggfCfDffCCmmgmmmmlmmmmgmgggglgmfmmlggmlfgglflmfmfflmmglflmlgglgfglfflgfffmfffffflflflfgfDfgCffIfCfgfgffffffflgCffCDffgfCffCffffCCffmmmmmmmmmggmlmlmlmggggmlgmfggmfmglggmlfgmlgflglfgffgflfflmlgmlfglmgflgflmgfgfgCfflffflgffgflflClgIfCffCfffDfffCffCffmfCCffCffmmmmmmmmmmmmmmmmmmmmggmmmmlgggmggfgfllmlgfmfggglfgllmglgfmgffflflglfflCffJfffflCfflCfgfIgCfClfffCgfffgfJCfDlfCfffCffCfffffffCfCJmmmmmgmgmgmllmlglggmmflmglmlgmgmglgfglgflgmlffflflflggggffgfglglfgflDfglgfglfgfffmffDClffffClfffffCffICflCfffDICCCfDfffmmmmmmmmmmmmmmmlmglmmmlgmlllmmfflmflfmlmfmgflggllmfglfggllglfglmfmfffgllgflgffffCmfIffffflfgffICgfCCflCfffffgfCfIffffflCffCIgmmmmmmmgmmmgmmmlllgmlglmlmgmlggmmlglggglfllglggfglglgfglflgmffmlffffflflDlmffffgfIgfDfffgfflgfgCfgCgCCffCgfCffgmfCfffmmmmmmmmmmlmmmgmlmlmmgmfmmflfmfllmflmglgfmglfflmgflgfmlflfgfgmggfglgglfDfffffffmfffmfflfmfffCffCflffClffCflffCClmCffCmmmgmmgmllmmggmmmmmgmggmlmfgmgllmgmmggllgfmglflgmflgfggllffgfllgfllglfmglgfmffJfffflDfgflfJflfmfgfClfffIffDCflCfffffJfCmmmmmmmmmmmmlggmmmlmgmggllgmflglgllgglglmfflgfglflflglgfmflgffgfffgffflClfgffglgCgflCffgfgCffCffgfDffgfffffgflCCffCfmmmmmmmmmmmmmmgmlmggmlmfmgmglmglgmgglfgllglglgmlflgglfglgglfflllfmmlmfglglgffgfllfffflffIfglfClffflgfClffIfCfffICCfffCfCffmmmmlmmmmmmmmmlmgmmgmlgllllglmfmggmmlffgmmlglglfmgffgfgffffglflffflglfffgIgfffgflCffDlgffCffCffffflCgfffCCgfIfglmmmmmmmmmmmmglmmmlgglmlgmgmglmgglgggggllglggllflgfmfgglglmfmfmllgglgffgflgfffDglffffJfffgfmflmflflgfDlfgCfClfffCffDmmmmmmmmmmmgmllmmmmmmmggmglmlllglggmlllmgffmlfllffflfmffglllmlgglfmflfglfmffglIffffCgfgfDfCfffCflffCDfgflfCCffmmmmmmmmlmmmlmmlmlmlmmfmggmlmlfmgglfglgfmglfgmlgmmgfmmggflmlgfgfglgflfffgfglfgfffmffgfJfgflfClfClflDfffgffffmfCDfffCgmmmmmmmmmmmmmmmmmmlmmglmfmlmlmgmgmlmlffggllffffmfgllmffgflglgflfglgmflgfmClmffgfflfflffgfglgfgfflfIfCJfffCfffClfCmmmmmmmmmmmmmmmmgmmlmmmlmlgmmlglllmfmlmlggmlgmgllflgffgllglflgmfglfgflflffgfDflDlgfDffIflfCffIffDfflfffDflglffDffmmmmmmgmmmmgggmlmllmlmmgfmmlmgllglmgfgmlggllffggglgllgflgffllgflggfgflffllfgffflfgffgffgCfffDffCffCfCCffIgmmmmmmmmmmmmlmmmmmmmlmglmmgmlmggmggllmglmmgfmfggglmlglglgglmfmlgfmflmlmlfglgfgfllggfffIgfIgfmlfgIfffIglCfDflgCffmmmmmmmmmlmmllmmmllllmglmmglmlglglmmflgmmgfgflgfffgflffglffgfgffgffglflgDfflIglglffffflfCfflfgfffglfffflfImmmmmmmmmmmmmmgmmmmgmmmmmlmgmllmglfmlgggllmglmmlmgmglfmglmfglflmfmfllIfgflflfgffgffgflglfDfmfgClfCfIfgICgfCfmmmmmmmmmmmmmmmgmlmgmlmmgmllgmglgmlfmglggggggflggfffffgfgflglgflfgggfglgfgfmflfIglffCffffffCfffJffDfCfffCffmmmmmmmmmmmmmmmmlmmmlmgglggmggmmfmgmglglllfgllglgClmgmfmfgfmgflgfglflmlfflflgffgfflglgfmfflmmgfffflffglfIgfmmmmmmmmmmmmmlmmmmlmgmglglglgfllfmlfllglfmffgfmggfmgfflglfgfffffgIgfffffgCffClfCgfffmmmmmmmmmgmmmlmmmmmggmlglmflglfgggfglglfglflmffJflCffmfJflCffflgJfgfllCgfgffflClmmmmmmmmmmmmmmmgmglmmglfmmllgfgglmfllllmgfmglfgfgflgfgmffflfgfglgCfffflCfgflCfgIffgfmmmmmmmmmmmmmgmmgmgmmmgglmlllmfgglggmllfglmfgfffgfffglflgfglfffmffgflgffmglffgfmffgflfgCffmmmmmmmmmmmmmmmmmmmmmgmlmmmmflmglmlmglmmmllgllfgmlgfmlgglfmglfglfgglgmfglflffflfffDflflClfIfgfffJfmmmmmmmmgmmmmgmmmmmgmlgmgmlllgmflfllgfmglgfmglfmgllfmflglfglglglfgflfffflggfmfgfIgflfgffgffCIgfffmmmmmmlmmmmlmmmmmmlmmlggglmlmglmmgmllmlmlglfgmgflgfgfglflgfflffmflgfflffflgfffgCflCffmflfffCmmmmmmmmmmmmmmmmmmmmlmmggmmfmlmllglmlggglglggmgglggmgllglflglgmflfgfmfgmgfmgfmfmflgffmflglfgfglmfgClgfmmmmmmmmmmmmmlmmmgmmmlmmgmlglmlmmlgllglgllfflmmglmflggflmfmflfflglfgfgfflgffgffmflfCffglffflmmmmmmmmmgmmmmmlglmgglgmglmfmglgmfmgggflmmllggmfgllglgfgfgmfglfglflflgCglflfffffflglffflDfmmmmmmmmmmmmmmmmmmlmmgmmlmmmmmmllmgmllmmllmfgmfglglgllgflflgffmffmglmfmfglflfDfmIgfJgffffmfffmmmmmmmmmmmmlmlmllgmmfmmmgmggglmgfmfllfmlfgllgmlggllglflmflffffflflfgfmffffflfflfDffflffmmmmmmmmmmmmmmmmmmmmlmmmgmmmlllgmlgmglmgmggllgfglflflgfgfggffgglgmfmffgllgffmfmffmfglflfffJfmmmmmmmmmmmmmmmmlmgmmmgmmlmmgmmgmgmmmmgllfmglmgflgfgmglfmlfmllmflfflgglgflgffgfgfflfgfglfmmmmmmmmmmmmmmmmmgmmlmgfmfggllgmmglmgggmlflfggffgmffgfggmfflfglgflmflCglgDlfIgfmmmmmmmmmmmmmmmmmmmlmlmmgmmmmmmmllmgmmfgllgmlffllgflgmmfglfllfmlffmglgfgflgffglfffffgfffCfmmmmmmmmmmmmmmmmmgmmlmlmgmlmllgmlllgmlmgllgmfgfmllggllggfmffglfflgfgmgfgflgllflgfgmmmmmmmmmmmmmlmmmmmmmgmllmflmfmlmgllglmglmlggfgmggflmffmllglglfmmlfllglffgfJflfmmmmmmmmmmmmlgmmlmgmggmfgflmlglgfflgllflflmffmffgfglgffffgfgfffmfmfffgCmmmmmmmmmmmmmmmmmmmgmggmlmgmggmmflmlglfmgmgggglglglflglgflDlffflmflfmmmmmmmmmmmmmmmmlmmlmmglglllglggllflglmflglffllfgllflggflffmfgmfgfglfgfglfmmmmmmmmmlmmmlmmglmfgmlgmgmggglgllglmlgglfgfgmfllglgfglffllmffflCggmmmmmmmmmmmmmmmmmmmmmmgmgmllmlmmmglmlmlggmfgggfglmmfmmmflffggflgllfgmlglglffmmmmmmmmmmmmmmmmmmmmmmmlglmmgmglllgfllglmflmmllmfmflllgmlflgffmflfmfglfgfmfmmmmmmmmmmmmmmmmmmmmglmlmmgmlmglmgglgmfmgllglgfmfgmfllgllglfffglgfmflfgfmmmmmmmmmmmmlmllgmlgfllggfglfglglfflfglgIfmmmmmllgflllffgmflgglgmffglgmmmmmmglmflglflmgglgllfmflffffmflgmmm򮮮mmmmmmmmmggmlgmlglmglglfffmglgfgmlglffglmmmmmmmmmm򮋮m򌮮mmmmmmmmmgmlgllmgmmmmfmmmglgglgglmggfflflflfgfmffmmmmmmmmmmmmmmmmmmmlmmmmgmgmgmmgmmgggllgglglmfglflfmfgflglfmglgggfllfglmmmmmmmmmmmmmmmgmmmgmgglmfmggmglgmllgglgmglglffmfmglmlffgllggglgfmmmmmmmmmmmmmmmgmlmlmmmlglmmmlmfmlfmflllglllglgfglmlgfflfflgmmmmmmmmmmmmmmmmmmmmmmgmglmmmmglllgmgmglggmmgggflgmfmfllmfmgglfmflmfgmmmmmmmmmmmmmmgmgmmmmmlfmgmmlllmlglmglmlgllfmfllllglglggfmllmmmmmmmmmmmmmmmlmmmmmmgmmmmgmmmllmggmlmfmflmglfgglflfgflfgfmmmmmmmmmmmmmmmmmmmmmmmlmgmgmglfmgllmmggffglmggmglmfgmmggfglgllmmmmmmmmmmmmmmmlmgmmgmlllglmggmlmmglgllglgllgflfllggfglmmmmmmmmmmmmmmmmmmmmmmmmmmmgmmmmgmmgmlglggmfglgglgfggglglfllfmmmmmmmmmmmmmmgmmmllmmmglmgflmfgllgmglgglggmfglglllglfgfgmmmmmmmmmmmmmmmmmmmmmmmmmlmgmmmmlmfglmgmfmgllgmglgggfglmmlmmmmmmmmmmmmmmmmmmmmgmmlmmgfmlmllmgmgflgmfgllglglfllgffgmmmmmmmmmmmmmmmmmmmlmmmgmlmgmlglmglmmllmmlgglmlgglmfgmmmmmmmmmmmmmlmmmmggmlmgmgmgmgmmlmgmfmflgllmgglllflgllmmmmmmmmmmmmmmlmmmmmmmmmlmgmmmmmglglmlgmglmmfgmggmlmglgflgmmmmmmmmmmmmmmmmmmmmmmmmmglmlmgmmglmmlmmlmlglmmgmmmmmmmmmmmmmmmmmgmgllmgllmmggmmlmlfmllmglgmflgfmlmmmmmmmmmmmmmmmmmmmmgmmmmmmmmmmflgmmgmlgllmmfgmfglllmlgggmmmmmmmmmmmmmmmmmmmmgmllmmlllmllllgmfgllglmmmmmmmmmmmmmmmmmmmmmmgmmmllmgmgmgmmgmlgmmgmglmllmfmfggmmmmmmmmmmgmmgmmmmlmmmgmmgmlmlmmlgggmlmfgmmmmmmmmmmmmmmmmmmmmgmllmmlmlmmglmllgmlmglmmmmmmmmmmmmmmmmmmmmmmmmmlmgfgmmgglgggmllfglmmgfgmmmmmmmmmmmmmmmmgmmlmgmmmmmggmmmlfmmmlmlglmmmmmmmmmmmmmmmmmmmmmmmmgmlmmgggmmfmlggfmlgmmmmmmmmmmmmmmmmmmmgmmmmmllmglmlglmlggmlfmmmmmmmmmmmmmmmmmgmmmmmmmgmmlmmgmmmfmmflmmmmmmmmmmmmmmmmmmmmmmllgmmgllgggggmglmmmmmmmmmmmmmmmmmmmmmmmmlmmgmlmmmllmlmmmglmmmmmmmmmmmmmmmmmmmlmmmmmmlmgmmglgmflmllmmmmmmmmmmmmmmmmmmmmmmmglmlglmgmlmggmmmmmmmmmmmmmmmmmmmmmmmlmmlmmmgmmmmglmmmmmmmmmmmmmlmmmmmmlmlmmgmfmmglgglggmmmmmmmmmmmmmmmmmmmmmmlmfmlmmmmmmmmmmmmmmmmmmmmmmmgmmmgglmlmmmlmlmgl՜.+,0     Pokaz na ekraniewDomf ArialTimes New Roman WingdingsCyfrowe kropki9Programowanie w Delphi na przykadzie aplikacji Archiwum"Przesanki do wdroenia aplikacji!Zaoenia funkcjonalne aplikacji$Specyfikacja techniczna bazy danych1Specyfikacja techniczna i funkcjonalna aplikacjiModu logowania*Menu Gwne aplikacji opis funkcjonalny&Menu Gwne aplikacji opis procedur(Dodanie nowej umowy opis funkcjonalny$Dodanie nowej umowy opis procedurASzukanie/Poprawianie/Wypoyczanie dokumentw opis funkcjonalny=Szukanie/Poprawianie/Wypoyczanie dokumentw opis procedur5Masowe zapytanie o wydanie umowy opis funkcjonalny1Masowe zapytanie o wydanie umowy opis procedur"Import danych opis funkcjonalnyImport danych opis procedur Raporty opis funkcjonalnyRaporty opis procedurInstalacja aplikacji PodsumowanieDzikuje za uwag Uywane czcionkiSzablon projektuTytuy slajdw*_~UTomasz UrbaczewskiTomasz Urbaczewski  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]`aRoot EntrydO)xp_PicturesCurrent UserVSummaryInformation(Eb$t5LKHX>Eb$⍢̘OqS !Mb$?AҧCvxB Xb$l١|CMh{b$qFKlfb:Fb$ͩ#}䵴@<]b$޽N8ዸF5R 0AA@8ʚ;ʚ;g4YdYd z[ 02ppp@ <4ddddL 0@ $0___PPT10 pp___PPT9^VnL+%㨹O3!`PNG  IHDR asRGBcPLTE!!!BBBkccsssRJJ911111)))便{{{RRRkkkZZZ֭skkB99cZZ999)!!|7 cmPPJCmp0712,JQtRNS0J`IDATnAaUh: te)Kܿ gAcN2JmݛeGMU9^yW?{gMܤ`j{5nLIENDB`X@gupProgramowanie w Delphi na przykBadzie aplikacji Archiwum99#PTomasz Urbaczewski ToruD 2011-02-20)) BPrzesBanki do wdro|enia aplikacji""Obecny sposb obsBugi archiwum Kluczowe problemy zwizane z obecn obsBug archiwum Planowy sposb obsBugi archiwum z wykorzystaniem aplikacji Przewidywane korzy[ci zwizane z wdro|eniem aplikacji@ZaBo|enia funkcjonalne aplikacji!!.Mo|liwo[ rejestracji w bazach systemu nowego dokumentu wraz z informacj o miejscu jego skBadowania w archiwum papierowym. Mo|liwo[ rejestracji informacji o wypo|yczeniach dokumentu z archiwum papierowego (kto wypo|yczyB , kiedy zostaB dokonany zwrot itp) Mo|liwo[ wykorzystania zewntrznej bazy danych zawierajcej dodatkowe informacje o przechowywanym dokumencie (np. dane osobowe klientw umowy ktra znajduje si w archiwum) dostp do tych danych odbywa si poprzez poBczenie ODBC Mo|liwo[ wsadowego importu dokumentw do baz danych aplikacji w postaci arkusza Excel Mo|liwo[ wsadowego przekazania zapytania o miejsce skBadowania wielu dokumentw w postaci arkusza Excel. Mo|liwo[ aktualizacji w oparciu o systemy ksigowe klienta informacji o statusie dokumentu (czynny, zamknity) dostp do tych baz jest realizowany poprzez poBczenia ODBC Mo|liwo[ edycji i aktualizacji danych zawartych w bazie danych aplikacji Archiwum. Mo|liwo[ wykonywania raportw z bazy danych z podziaBem na umowy zamknite, czynne, wypo|yczone itd.P,l#Specyfikacja techniczna bazy danych$$(Baza danych aplikacji oparta jest o baz MSSQL Express i skBada si z dwch tabel poBczonych relacj. Struktur tabel przedstawia poni|szy diagram0Specyfikacja techniczna i funkcjonalna aplikacji11 Aplikacja skBada si z moduBu logowania oraz piciu pozostaBych moduBw ktre realizuj wcze[niej przedstawione zaBo|enia funkcjonalne. Na poni|szych slajdach zostaBy przedstawione opisy funkcjonalne i techniczne ka|dego z moduBw   ModuB logowaniaF Logowanie do systemu opiera si o plik konfiguracyjny (.ini) umieszczony w katalogu roboczym aplikacji zawierajcy informacje o nazwie i sposobie logowania do serwera bazy danych. Plik ma poni|sz struktur : [SERWER] SerwerName=elix34 DBName=Arch_DAK NTA=0 Proces logowania jest realizowany przez poni|sze procedury procedure WczytajKonfiguracje; procedure OpenConnection; Ne9a9t<P   RMenu GBwne aplikacji  opis funkcjonalny** Menu GBwne jest formularzem startowym aplikacji z ktrego operator ma dostp do wszystkich operacji realizowanych ramach programu zgodnych zaBo|eniami funkcjonalnymi. Wizualizacj tego formularza przedstawia poni|szy rysunek P JMenu GBwne aplikacji  opis procedur&&, Tworzenie tego formularza realizowane jest przez standardowe procedury kompilatora Delphi ktre wyszczeglniono poni|ej: procedure Button1Click(Sender: TObject); - procedura ta zamyka formularz Menu I otwiera formularz w ktrym realizowana jest funkcjonalno[ zwizana z rcznym dodawaniem nowej umowy. procedure Button5Click(Sender: TObject); - procedura realizuje opcj zakoDczenia pracy programu . procedure Button6Click(Sender: TObject); - procedura ta zamyka formularz Menu I otwiera formularz w ktrym realizowana jest funkcjonalno[ zwizana z poprawianiem i wypo|yczaniem zarejestrowanej ju| w aplikacji umowy. procedure Button3Click(Sender: TObject); - procedura ta zamyka formularz Menu I otwiera formularz w ktrym realizowana jest funkcjonalno[ zwizana z automatycznym i masowym wyszukiwaniu informacji o miejscu skBadowania umw oraz rejestrowaniu informacji o wypo|yczeniu na podstawie arkusza excel. procedure Button2Click(Sender: TObject); - procedura ta zamyka formularz Menu I otwiera formularz w ktrym realizowana jest funkcjonalno[ zwizana z automatycznym i masowym dodawaniem nowych umw oraz aktualizowaniem ich stanw na podstawie danych pobieranych z systemu klienta. procedure Button4Click(Sender: TObject); - procedura ta zamyka formularz Menu I otwiera formularz w ktrym realizowana jest funkcjonalno[ zwizana z tworzeniem raportw zwizanych z przechowywanymi w aplikacji umowami. PP():))))Y!  =     NDodanie nowej umowy  opis funkcjonalny((  FDodanie nowej umowy  opis procedur$$J Z technicznego punktu widzenia kluczowe dla niniejszego formularza s poni|sze procedury: procedure Button2Click(Sender: TObject); - procedura ta powoduje zakoDczenie pracy i zamknicie niniejszego formularza oraz otwarcie formularza Menu w celu wyboru kolejnej opcji realizowanej przez aplikacj. procedure Button1Click(Sender: TObject); - procedura ta sprawdza czy u|ytkownik wypeBniB wszystkie obowizkowe pola i je|eli warunek ten jest speBniony wywoBuje procedur dodaj umowe. procedure Edit1Exit(Sender: TObject); - procedura ta wywoBuje procedur pomocnicza o nazwie szukaj _umowe i je|eli tak umow znajduje ju| w bazie danych informuje o tym operatora i przerywa proces dodawania nowej umowy do bazy danych aplikacji. Dodatkowo je|eli w bazie nie zostaBa znaleziona taka umowa procedura wywoBuje procedur pomocnicz o nazwie szukaj_umowe_ODBC ktra to procedura pomocnicza pobiera z systemu klienta przez poBczenie ODBC informacje o statusie umowy i automatycznie na podstawie tej informacji wypeBnia pole status na formularzu. Procedure dodaj_umowe(nr_umowy,modulo,nazwa_kl,karton,status,weksel,uwaga, operat, pole1:String; data_oper:TDateTime); - procedura ktra realizuje proces dodania nowej umowy na podstawie danych z parametrw procedury do bazy danych aplikacji Procedure szukaj_umowe(nr_umowy:String); - procedura ktra na podstawie parametru procedury wyszukuje w bazie aplikacji umowy o numerze przekazanym w parametrze. Procedure szukaj_umowe_ODBC(nr_umowy:String); - procedura ktra na podstawie parametru procedury wyszukuje przez poBczenie ODBC w bazie systemu klienta umowy o numerze przekazanym w parametrze oraz pobiera informacje o statusie odnalezionej umowy. [PKPZ**& z{*y.([   A ? } ! Szukanie/Poprawianie/Wypo|yczanie dokumentw  opis funkcjonalnyAA8Wyszukiwanie dokumentw zarejestrowanych w bazie Poprawianie danych w ju| zarejestrowanych dokumentach Prowadzenie ewidencji wypo|yczeD i zwrotw dokumentw xSzukanie/Poprawianie/Wypo|yczanie dokumentw  opis procedur==Za realizacj funkcjonalno[ci zawartych w tym formularzu odpowiadaj poni|sze procedury: procedure Button1Click(Sender: TObject); - procedura ta umo|liwia cofnicie si o jeden rekord w wyszukanym zbiorze rekordw. procedure Button2Click(Sender: TObject); - procedura ta umo|liwia przeskok do nastpnego rekordu w wyszukanym zbiorze rekordw. procedure Button3Click(Sender: TObject); - procedura ta zatwierdza zmiany dokonane na rekordzie bazy danych. procedure Button4Click(Sender: TObject); - procedura ta anuluje zmiany wykonane na rekordzie bazy danych. procedure RadioGroup1Click(Sender: TObject); - procedura ta umo|liwia wybranie pracy pomidzy trybami szukania lub poprawiania rekordw w baize danych. procedure Button5Click(Sender: TObject); - procedura ta rejestruje w bazie danych aplikacji informacj o wypo|yczeniu umowy z archiwum. procedure Button6Click(Sender: TObject); - procedura ta rejestruje w bazie danych aplikacji informacj o zwrceniu umowy do archiwum. procedure DBEdit9Exit(Sender: TObject); - procedura ta kontroluje poprawno[ wprowadzonej daty zwizanej z wydaniem umowy z archiwum. procedure Button9Click(Sender: TObject); - procedura ta powoduje usunicie z bazy danych wpisu zwizanego z wypo|yczeniem lub zwrotem umowy. procedure DBEdit10Exit(Sender: TObject); - procedura ta kontroluje poprawno[ wprowadzonej daty zwizanej ze zwrotem umowy do archiwum. procedure Button10Click(Sender: TObject); - procedura ta kasuje z bazy danych bie|cy rekord zwizany z dan umow. Procedure szukaj_umowe(nr_umowy:String); - procedura ktra na podstawie parametru procedury wyszukuje w bazie aplikacji umowy o numerze przekazanym w parametrze. Procedure szukaj_oper(LP_umowy:Integer); - procedura ktra wyszukuje w bazie danych informacji o wypo|yczeniach i zwrotach danej umowy na podstawie danych zawartych w parametrze procedury.BZPPY*T*V)D)A-k)_)](^)d)_*J*x)Z X Z G D ` b ` a g b M |  hMasowe zapytanie o wydanie umowy  opis funkcjonalny55ZPobranie z arkusza Excel listy umw. Zwrcenie informacji o miejscu skBadowania wcze[niej pobranej listy umw. Zarejestrowanie informacji w bazie danych o wypo|yczeniu umw. `Masowe zapytanie o wydanie umowy  opis procedur11 Za realizacj funkcjonalno[ci w tym formularzu odpowiadaj nastpujce procedury: procedure Button1Click(Sender: TObject); procedura ta na podstawie wybranych przez operatora parametrw oraz zewntrznego zrdBa danych w postaci arkusza Excel zawierajcego list umw o ktre nale|y odpyta baz danych dokonuje takiego odpytania i dodatkowo na tym|e arkuszu Excel umieszcza informacj o miejscu skBadowania umowy dla ktrej byBo wykonane zapytanie oraz opcjonalnie dokonuje w bazie danych wpisu informujcego o wypo|yczeniu danej umowy. procedure Button2Click(Sender: TObject); - procedura ta powoduje zakoDczenie pracy i zamknicie niniejszego formularza oraz otwarcie formularza Menu w celu wyboru kolejnej opcji realizowanej przez aplikacj. procedure FormCreate(Sender: TObject); - jest to standardowa procedura kompilatora Delphi odpowiedzialna za utworzenie formularza.~WR()']W   /*BImport danych  opis funkcjonalny""&Masowy import umw z zewntrznego zrdBa danych w postaci arkusza Excel. Masowa aktualizacja statusw umw z systemu klienta przez poBczenie ODBC.BM<Import danych  opis procedur Za realizacj funkcjonalno[ci w tym formularzu odpowiadaj nastpujce procedury: procedure Button1Click(Sender: TObject); procedura ta jest odpowiedzialna za automatyczny i masowy import umw wraz z informacj o miejscu skBadowania z zewntrznych zrdeB danych w postaci arkusza Excel. procedure Button2Click(Sender: TObject); - procedura ta powoduje zakoDczenie pracy i zamknicie niniejszego formularza oraz otwarcie formularza Menu w celu wyboru kolejnej opcji realizowanej przez aplikacj. procedure Button3Click(Sender: TObject); - procedura ta wywoBuje procedur pomocnicz o nazwie aktu_status odpowiedzialn za aktualizacj statusw umw zawartych w bazie danych . procedure FormCreate(Sender: TObject); - jest to standardowa procedura kompilatora Delphi odpowiedzialna za utworzenie formularza. Procedure aktu_status(lod,ldo:String); - procedura odpowiedzialna za aktualizacj statusw umw zawartych w bazie danych na podstawie danych pobieranych przez poBczenie ODBC z systemu klienta.SPPR)))']'S   9 J /+ 6Raporty  opis funkcjonalnyn Mo|liwo[ wykonywania raportw z danych umieszczonych w bazie danych w szczeglno[ci dla poni|szych kryteriw : Umowy czynne/zamknite Umowy wypo|yczone Umowy wypo|yczone przez ,vBvB .Raporty  opis procedur2Za realizacj funkcjonalno[ci w tym formularzu odpowiadaj nastpujce procedury: procedure Button1Click(Sender: TObject); - procedura ktra na podstawie wybranych przez operatora opcji generuje zestaw rekordw z bazy danych ktry nastpnie jest eksportowany do arkusza Excel i w ten sposb prezentowany operatorowi na ekranie. procedure Button2Click(Sender: TObject); - procedura ta powoduje zakoDczenie pracy i zamknicie niniejszego formularza oraz otwarcie formularza Menu w celu wyboru kolejnej opcji realizowanej przez aplikacj.PSZZR))PS  Instalacja aplikacjid W celu poprawnego dziaBania aplikacji wymagane s nastpujce ustawienia systemowe: Na dowolnym dysku powinien zosta zaBo|ony katalog aplikacji o nazwie \Arch_DAK\ W katalogu aplikacji musza si znalez nastpujce pliki Plik uruchomieniowy aplikacji *.EXE Plik konfiguracyjny aplikacji *.ini (wskazuje si w nim nazw serwera i bazy danych do ktrej ma nastpi logowanie) Na serwerze MSSQL wskazanym w pliku INI musz by zaBo|one bazy danych aplikacji, logowanie do bazy danych odbywa si przy wykorzystaniu u|ytkownika DAK ale mo|liwe jest na ka|dym innym u|ytkowniku ktry ma wystarczajce prawa do obsBugi bazy danych w zakresie odczytu , zapisu i modyfikacji. W celu wykorzystywania opcji masowego importu lub masowego zapytania konieczne jest u|ywanie arkusza Excel o okre[lonej strukturze. ]PPPPPUH :        U  , Podsumowanie NAutomatyzacja i optymalizacja procesw zwizanych z prowadzeniem archiwum papierowego. Zwikszenie bezpieczeDstwa przechowywanych dokumentw. Szybki dostp do dokumentw archiwalnych. Przejrzysty sposb zarzdzania archiwum. Zmniejszenie niezbdnych zasobw ludzkich do prowadzenia archiwum.(("Dzikuje za uwag r? ~|f ՜.+,0     Pokaz na ekraniewDomf ArialTimes New Roman WingdingsCyfrowe kropki9Programowanie w Delphi na przykadzie aplikacji Archiwum"Przesanki do wdroenia aplikacji!Zaoenia funkcjonalne aplikacji$Specyfikacja techniczna bazy danych1Specyfikacja techniczna i funkcjonalna aplikacjiModu logowania*Menu Gwne aplikacji opis funkcjonalny&Menu Gwne aplikacji opis procedur(Dodanie nowej umowy opis funkcjonalny$Dodanie nowej umowy opis procedurASzukanie/Poprawianie/Wypoyczanie dokumentw opis funkcjonalny=Szukanie/Poprawianie/Wypoyczanie dokumentw opis procedur5Masowe zapytanie o wydanie umowy opis funkcjonalny1Masowe zapytanie o wydanie umowy opis procedur"Import danych opis funkcjonalnyImport danych opis procedur Raporty opis funkcjonalnyRaporty opis procedurInstalacja aplikacji PodsumowanieDzikuje za uwag Uywane czcionkiSzablon projektuTytuy slajdw*_fUTomasz UrbaczewskiTomasz Urbaczewski