ࡱ>  <dfh~G"CompObj9aVBFrame %PROJECTwmmPROJECTedded Object9qVERSION 5.00 Begin {C62A69F0-16DC-11CE-9E98-00AA00574A4F} frmTree Caption = "ѡרҵ" ClientHeight = 8100 ClientLeft = 45 ClientTop = 330 ClientWidth = 6585 StartUpPosition = 1 ' TypeInfoVer = 678 End ThisWorkbookThisWorkbookSheet1Sheet1Sheet2Sheet2MainFuncMainFuncUtilFuncUtilFu \padmi-NV Ba=  ThisWorkbook=C8X@"1[SO1[SO1[SO1[SO1[SO1[SO1[SO1Q[SO1[SO1 [SO1ўSO1eckN[{SO1eckN[{SO1.Times New Roman1.hTimes New Roman1h[SO1.Times New Roman1.Times New Roman1[SO1heck\h[{SO1.hTimes New Roman1.@Times New Roman1@eckN[{SO1@[SO1eckN[{SO1.@Times New Roman1@eckN[{SO1[SO1@eckN[{SO1.@Times New Roman1[SO1 [SO1h6[SO1,6[SO16[SO16[SO1[SO1[SO1[SO14[SO1 [SO1[SO1 [SO14[SO1<[SO1?[SO1>[SO1[SO1@ [SO1[SO1.Times New Roman1[SO1.Times New Roman1@eckN[{SO1.@Times New Roman1.Times New Roman1.@Times New Roman1.hTimes New Roman1[SO1.Times New Roman1@Calibri1@[SO+""#,##0;""\-#,##05""#,##0;[Red]""\-#,##07""#,##0.00;""\-#,##0.00A""#,##0.00;[Red]""\-#,##0.00i*2_ ""* #,##0_ ;_ ""* \-#,##0_ ;_ ""* "-"_ ;_ @_ .))_ * #,##0_ ;_ * \-#,##0_ ;_ * "-"_ ;_ @_ y,:_ ""* #,##0.00_ ;_ ""* \-#,##0.00_ ;_ ""* "-"??_ ;_ @_ 6+1_ * #,##0.00_ ;_ * \-#,##0.00_ ;_ * "-"??_ ;_ @_ \$#,##0_);\(\$#,##0\)\$#,##0_);[Red]\(\$#,##0\) \$#,##0.00_);\(\$#,##0.00\)% \$#,##0.00_);[Red]\(\$#,##0.00\) yyyy\-mm\-dd yyyy\-mm0_  0.00_ "Yes";"Yes";"No""True";"True";"False""On";"On";"Off"],[$ -2]\ #,##0.00_);[Red]\([$ -2]\ #,##0.00\)                                           ! "P #P $  $ % & 'a , * (  )ff * + ,` + )             - . /      P '    0|@ @   01|@ @  1 0|@ @  0|@ @   0|@ @  01|@ @  '( 14@ @  1 X  P ' X 2%X 3%X 4%X 51 5 5 5 5X 1| @ 9 68@ @  78@ @  78@ @   1|@ @ 9 1|@ @ 9 x@@ 9 x@ 9 x @ 9 8<  1|@ @ 9 x@@ 9 x@ 9 x @ 9 |@ @ 9 |@ @ 9 |@ @ 9 |@ @ 9 |@ @ 9 1|@ @ 9 x@ 9 x @ 9  M8@ 9E8@ 7M8  : !20% - :_eW[r 1!20% - :_eW[r 2!20% - :_eW[r 3!20% - :_eW[r 4!20% - :_eW[r 5!20% - :_eW[r 6!40% - :_eW[r 1!40% - :_eW[r 2!40% - :_eW[r 3!40% - :_eW[r 4!40% - :_eW[r 5!40% - :_eW[r 6!60% - :_eW[r 1!60% - :_eW[r 2!60% - :_eW[r 3!60% - :_eW[r 4! 60% - :_eW[r 5!!60% - :_eW[r 6" #h $h 1 %h 2 &h 3 'h 4(])}Y *Gl;`+, -{.hgUSCQ㝓K d #*FM hB'h{ϧQy?A4("cQ"M$dν7^묮=}N>NNuUv}jWWADQa;r鿄ᄋק3pq鉠:4NLD(hJ%A-4 k3v amx ?H?ovߨULF0ALU]ZpSdXԣ`OժBb#N^oNs]g*3Nlh&#`6a"FuP;c0AAq{Ʃ 43 պg!&B_!1NjL6'grlƜ4hh$}@14)mug|"4V#Hh=j˯w2.-+_nuC}kI()PaeVA8YGDEJDx9RbԤVpSxOZ59TBhupc,\m(f^dՏΨT+AT V/}NYMN骕pBD鎜2ja9O;V<׊ZA6(fDZ[ԑ8=l6[% `i-+?zF3{ڙ']$$?J|/6(V+"bh׎C*JtE_xOmQҏ?[ȧM+/tə#T~DK4ய8{]f]S'Im0SLB5[aD3u1Qdk.|t_Տ-DkZ-7"Z@Z<ܠ1]k.z kvѻk5}-Ͽ։ch}-jԣzii5vQ nx4w?G$,W.g @_>q-O:#|&wφm֢7<bf]}C텓g?F?li??k-zP'ZsKي;_ٯO`e}C,xܾ: fiU &h(g xPRv%Oa#pC?:K,9/ճN^k7<5z47˧~nki ҫ÷iBzL>,ԋklW^u^{{}7O;uRս:"6y7֡As\E$ 1E)q* Zߋ0F3Ǣ?DrK.鐦(M:{ƭ0h=Wr<[ܶB-`Vݴ[>𹿵Ja+%k֚ͥڃ-3/sy'ZNN Cf1lkxӣF~u.}#M F7n3Sx%l g]~hin JA]cZ\?tx_Ү}#49ygEDHZv]_G~f1ںD_Z:NZZp/0 itJd]YɃvӚ 7#N;ڇSGK%Vy58i[Xgf"8qڏ, f#*xSyϯE47o{5 1FB`’k/‰:e @B2 +_t`7mb󄈐>KsS߼WD/!jkBO?+t?'gwWghoY5։i5殱N{5/F?t)4~WpwHu2R83Z]*#k+Jv;+>Vun"DǏЏY'(܎w4BrgIo!MF5עO:EHД"$wRŤ{D$7*ARFIhm#1TJ7 A9@^-kWW?Xu+W[͠B#VD+W :9_\?髿|u?zݮ18'BtD h)Kɽ*ltGʙ@ӧ42ϪHr޹W6##>d %:P++Na炗|9R)ZgRH-fғmCi2`nnwS)N9%_e=hFXC?9R2%4S6˥J2\@<;%qۖg!0o 񴰍q-s{adtG:-D~Kx:7堚ضeiNퟛڝ6nmꩲ,d||fɥP: Ч˭->7aPd*$qQo%9Y tсR g@M]M2+ /W]@X2kHyڑ`<˱J֛͒,{zR{ӡ&-4ڏS^d"]ΥfpXLАnVґq.v?KRrڵQ^Z:A_6MER1oJ$r$)E@P!#YQydayUAv}aȄTI/*Ų\ADݞ>QØ>h܉dZJ6G>oxE=];@0I Y3?>}v>C׎|w_\9 z>=[1jj۹΅u=c7=S@}aAX6Y+Pџ8y[ưaC)za/W~ N|z*j *k\YYڏOwՋ$4NIإljڏ s6l,LK7:룤Bs`.FM_9gIBaa'_Ij0dg8HYk # >9p|0\HZ]l}8y*Eb9jzOA)n~ryj kR4dEZ~$SuYO~M gUA]Xqz]q~h#;$b2C {uR 11@ejXȦr kvtI],LYhx6첮kax1P%!yU;(ulf0-\*%tgV˳RUyUh|$3=e$e։g'4 ,^䣪5,K&~i9}'S?*T5=(U˶giY[q!bgM}=g`ɥ 0n,@O$&ȎˮGNTޞԮ9K,tf7;,/z a+sr"{/ԣ۶TCB^ g.< Gwm=U>oB@vi/W=)79nkbOMb >8T_J?~a;Kk\vS/gPrE5`娉^L(tm~;BfB?7sЀc Yb~=xSez+{|٠4N'ƎQn ﺳ}F\}q ~kPBcGxgFSf΂9`_* bN7+'5Sxۿ5d:gO|7VD V;<3}w6 I Rkw1n 6;wHu'6CۼDˑh;?˭_WڞG?B\1SHLCb,ogd ϣT8G{MJR,;Oԣ 9U Ner>4vPdh8I䝁GJsc:a(dseMD+<9bUNYD}kj}Iwt 4Z;a\e =wHu'OЅc(e6$+x%)C$!kK9@Ck;| o |H:}:?,U+2鶊8nŭ98N*![Cj{hC5?j2-vrWY1OѴmzzyuN=#n!YŚ=~!l=S/bvaAR4K ]X^=[fP]e22TJ9kq6 -CwJ,3>UE{_wڅaL\ٛ?ҥ{q!RAt& xyˉQRn^q3|%ȑZL oLD@Q?z>h\<2ʉ/xd#a@gz`!5w(Ox9#PN JK_u> V?!^7_0,;;T4}tux5si8wrDvA.{wK*BЮaAzg wiQqҪ_פ *7}Gލwy'NEj3D)wgEIEL3vOLdPUr|$I>RPG&_hMG|Vy*qKDո]#Y;W>F;]7d()B:q-{^sx -#9r'ۊb6\ʳlxZrU_m>}tު94.9A"Eg6c!7|Nu6"G +_>g,3t\k:W9Չ#SjRyiI9W;8wi V#@<9.*a{>HFY4#ȏIJW3XMcrlg7dvi jr}Sv Y u'S/>?$::Ɣ trF-r8=ꯝx|sTw</{E x(̤Yh,9ȳ#^_YNQF]U|2,.HIfXlZF0c.~>A *'nsb?p¨cIr[qCH+K _cs/_MNp@8ɱf BQ*Kˋ49Q\II%$TBwHMfY&@HcA >sK\ /0׫7ЈxN"iGɄ( FYDNOQ&rH}B۳%qulD Eݦto̸Pv"pgf573Ek4kZi):7NMMh&9GKIYz E ^{w\rYd=̃"r=_g ^IZa7#b˟Hɩw]}+AF ;Jf. 8f"m/|9DB>-[ w8GI^.Ą`<,U~ĉ OɎ@l#64!6'G1_ t+G>KқZmW v5V_$좦|cĚ~⒞-oy4$$TEW,B `D 9*ցx)nQUm>2sl46a!JC"rxnI2jr/k&Thx`$'! (D36ژ[YY33s$Ft.RᧈLM! 8]l#$C}0E%Wy3xIRu;$ d@2LQ}^%z0HuJL@xR{G6ZznHjnZ0kߎq)ZIkLWH}芉ٶVܞ\J묜#( -2Uz9^ԠlR԰s<6uViʹ*t@l|۬Cn""}Q|nn/I|=:QeKO'I MMV)$S,ѩf*μES8mbN/RšMTVQNT.S9]oq2@1ncm](qKJHoE8oLyk"n!ꔿku~]DK\j֥بǬ^$ѳ$ ϻ=c܉Z#3гڃZO%[±@(˞=.GXh[rWd2X%#{+@HFM;O,Ir;x @RDŽ{ #<ђ}[NBqO-e>}3*1ZAC?E~ m:<_.x}%/r%:4YfL[瑋k]E>>. rx[.pQ"}=wCRf6!VFZB>@ă}N)xAO8Bq[OO$zzDR4pƤKJwB, !/@'KW;)c'axd#BqEu)Dŷ$.%U"-pˉM3(zjL@ W7s{{GNtҳ 7Y )KN<p{/:p}nk~;HxL9qm|Ҡ᲼nWWm[z1fzf{6])~wyZ.+qBlk׏>-rǹg׿~BJS@H{5v,޵_§`)޺Q#bV rmꒄDsQT?qs,Og=}~ur!$,m).[6)eaFH]hj AM]\c/S5[Lܰgy`k"ފ);,j(Ρ `@ ~tpBt:&0$s9eP,ȀJ[d @ 0D dM¸s)?EIִ{:j@.zp7o3e22J4n)e+.f 3oPDx1*@Hf$ @o@H}C@ P& 2ф. R!#@@ek6)@m@LRz:h=ԥw*!IɢH"Eh6/x2Ej֝Ħvrۖu3&kwR"*tֻ_ |Qҭ='n)ո*f)(c$[fwY/.,6Ȣʾ'K"u%z8V+z(qZԮDK%qҞG 첗BBKw>9  0N|x߷N:Z9ԟA*1pbɢ$ITS_'Nb*uȌD~ȱE<˻;HH"!,ВyӏƝ qadE\I$DL?ڰ@isamq`z(zB ~xM~$Hav:@eb2wϸݾ&$f$!e SIHT(G'DMZqX|e "Cj1'E$_u\ԁU!L8ilWv.l=4D.F di3=˘:j#6/J(6>i,!d;Kzz5cc:*%tWld|~tй 9ĸGC2w'RhĀ@ .j|#HF=.Jx:ΛX'5!v1fL۲ˤV7FFORmrRe$])(#Pڔ93ʑ3z&*l_t .BR244̛ob5`kfW->]I|Oxʟ>7  /OHYwHC%$!NLsb])~HDEGHBNދ"&$oR8v| SXm^ۊ4-}0! 52#f`50l|I>)3*o󥍄T”~6c<⻒oWRGZJ/0&:|HHB2#<#e #@$ H 'rtUX wI}s7hch0CL~) 3[8_ ̅‘][nʫZiC*NΝ|S!yUYSvRINۓ7ҳ_tWOdOqIy%?3̞ٛcȍ31e');{{ISv=E%MU{nuCꏐz5zA24c&]΢dM&-=G2R&*FX"XM6l ԰,udjcja؞$cS49m! xʮD`4˴a&eg43ڔunõEG62@aqKEL.[ð2nU\C1d3iDQ%54}saRKVM>Z/fH;b6 ɦR@ B4| e!B* I@! 2 @YBz@` }7}0=3)։s̬[ɈefC鯔|ff;_c=mG q5,2+kJ,Z0Bf+I՛>mW m_vI閛LScat:wHG?Ux(8`6! +#f1%!ROclX.ZFHo:vD-7|8#! eN9CC RWjc8(slD"'4)IĒPf #P1ُmLwQ]OL%T1yI@l  M @ "p 6!=G~b7L.Dyu43{me)ғmgdJa`Z4yl+$wH>!u7VS;^pӻES7`}M! >֗pUDJe)]MH4,O|#q{LtHH#3WJy\gǘRX&kjZX_K Aa"mŘ@H>F@qK4}*df"e_Pu+$J]o6бqQԢH#6"Aa0:,3me+hWr7jQajˣdZ`sx0oyalh4,[4kj*Є}G[ 2c0;6RҴv?{6n"Y,LMA%%80c'G䢯ss{@@ !QgQ 2ƣ"o_5[KC1,Q? mD?'1 @) F1K $w#Ni#%ܞ8芉GGi6]7g(c0TJ @*C"<6J;$H IHuʤ}`ldA 2@ !yk(u$x^.uIO%/=# (F`(Ŀ~wLK\8@3z8"b6R' 6*n_@ !F :?}='% $_RXSQkWuRS&'A^tp{7r5W^U욓T,=Ÿ2fu Pa0X &T-bR7jpZɦ˼ȶbqeUO[)޲Pj16VsLd2=M dl;@ 0 CV (;Mlh6Uڪϴ&j[W, h9,mlg}>9m!7DUTy,Pz4JTSӻKZ#!oTՙɩih& ԍaX1Ŏ":531a~ =]o|ٳ0B"\f,rK41@H1 Tf!CZFc^\puΓ{_{E&*?81Fƾdfm@YU0oPUU;AhfI٦Cl/!o qGܾIqD,I]2Moj3sLMMS:ݥ}'I$"oN(ђɌ|7+}afh R *!u@&p|7gUMYoy,%6B?y#RBڎ l@`X oIWV(oh'Ʒмvz.pBP9,CeZ!lؠ5[ ^ 0RD;AHY17wyyQ6B4H[u+dmti1%wk]zIdYԖ9%uMdɿzX\\]RVֲ]=,l)ٚ"/pR9ORKqR^׉:= )}AL@D`xD= 4֛?FqEt a/Ed`=$NosO;H\'p82Il<@)9y=?4揣ȸ>#d"%ٸϤJ1&i|*W!@`!3;qȾ}P8'.7H d="Cq*ɭdZ[gL,:izc|@􃀁,ˤnP'R6p#+פp&⌱|}vX萪 ("p{dJme1 ((:h[e޸VGܪԖeQ# z\h J-SlV7mH|XD'7=*\xxEں[nʫ?*Y8E⣰yc;)O|V2hSfR݅hAIm23{9WBZYZxʫޟSwVE73=#|īٛ ixS|GϦlSB@Hé-#7><ҋzn5.<: GlBVXeI2Bj4az2NjtbKyo3-mcPK/2N2V)k;f[FHT5A'Fh9LM3IcF}Ⱦ,]Ϩ<6VB R~2mڤFsFHkkE [#IE`Rf7UA2>EzJ* Z^qSx ˤV fF rg]>6h_?,\Y5lkS4oj<"6ȦgY5l5Ā@`!w; Am  x/@l@Hۦ`(@`(&$Q%Zae9ɔEm;)i,laxQHBSoa#c}LC<'c1Ss MH1\Ʀh5Έl *n ɦR@ BBuVzaFoh˺TSJ%zaZ @@($?pZ>"遄I'(_.q,KtK? m@lDiJ>aNUt.4bNO 2 $$ld@x('aHEF0{16<]*I"+O8,@ C@HiK1\wR,䪐LV;}qH9Q#'!Z.2'y#x$.ҹe:1r;/ZiI˸^daeKƵA%8dlrt7T"gf36~:0K-ZV)i3G' H !`8|uкx,N@ %n+Ӄb Qn%RG3;C <=23߲f8{sI\H]m$$y<&T|Beh\j3ZPfvE\|lي,4lLRJ=dQdJSg֗p^z~/\W ?|{=8pO/*82`rX!RcHX*%d'ŒŠ՗cjOVAD`Sv511QuRRh_KeujX9TǪxI,X;BFD61e&MIk/1=d A?MXx@#@ŇEH9lDTء'{tjJ`F,+6/y\Eu=71aS i >Ymp/; m386y 0j (9BEJ.>V@*CZ:i#T> ݷ@hEWpV+괏R)e뒄1Mr'ɬ)<}V$g:ŃoÂd3o叁,#TdMDHylIHg ƛJ1*t7եr-dL)|M@E %U֜,Lmzi;h@` dl:B(z*L9\8E ;ڶTR,Km=iа7AUu'hͲ PI~o4YeHH1I7]Pw<}S+lj,HS6e1 ֟9̝:BJR3''-[ؽ$[PwE5uވfdl1uVArA}X #[]Q l|d(d dA 2@1@JHw#ﻶ}-^sUk'[i|F@ }!mߺ@B4V g;X+@HcUp }!mߺ@B4V g;X+!/|Ady- M@QG$<4:M EB";?R6"|F:vrQ6 (0"'! A䖖#و/87pRym[@Ĝ:e'T9sQnON,%t%c)~m%~( JB |oo#]\IK365@"PdpgRH$'4xIf+>\t 8 M"7F i @?]f!@T@Hh@ VW@@  $  {%(o%^6fl[./~=_WZZcFS~{O\<=rrzuWw/N>9m7-{8c9]a!<0_ .#ۦH7d<5%&+YOo@^MisxPcN$cڳ[>^ks9f?=u fꯧ0S_r];G?`$ ])O9p/?G!?BԒ?tkZpA]z$K)iOTS/EO/Gר:~1B$[@`eyⅇ@ENV 5zԇ@j}DZ5%[7 x|6<]7v=IFf0MNЌn#FwNGVUNfݒAdy- M*EլJ )M{*K&%BMkpU;cBSS,i$"yuY_rDR<<ͩ$u197_a{ I7#oݷs' /A8<"UƣFG{WRtFɿ+EmN2EZX~E?I#H* A&:W^b Ym ,J*ٰd3=^SL|)+ Ӕ`֣de=tvl:# B"m++n mʰIR>)1V ))U] < +U lDy!yOBjsriY މHCG"̒yZ^@YtË=o~O*KdVs*.oqJ7lTJa߽hJI 9J#VYNcJbW}a z|xOp```?PhmQsu#u-/F+Id$#syt ɰ٬#$Ka֬K̒&Ϲ}K_ee?0 Dt[9].ųDz{e)2Ycr. $ϝ,g>U~*l4s$5(S53JͨIHn6$.䃣+WxRUNUJ jizOHWn=W#8jU#?HgKCz̋3^ܻԌ{X\|oQJבP dX VE4#51+XRk;RpVT_#!j䢆H*;v;.^wʉG(Q"\ @MHDJRוLb pY=^}~(rD-L` 2eazBkٻLq N 6#R!D@`k(u:Yđ}ʧw P˔}>c]JTE2 13> yP*ĝo'!%AsO_%Iwb,685{AElzo-g4g3}g.<"T< !@;^?=7[N]܉o}=D^6 :{+hnk~[ [ā>KO{-K9uw+jn ߢJGGH;8+k;kBy!3CE`}moY|g=C-kq^uǝ֫얞^;w&4B@4?_\^WYsl@l4AWVg&Su'2 5я0&N{Gf;Þ75Db=oTkwe$6 繣0^0`kK7:ދX'<@bmЯ? KF  +ĭIENDB`bUf38FDlz{s1fn)f38FDlz{sPNG  IHDR`0I-sRGBeIDATx^ -Eu.޽Ϲ#(\ *WD8(*FFЇ0jIyyѧ/hE0q (WAg>{Zk{ݫ}]]Z_U}jUuu$I[gIcTȘGCقqَjE,&'cKA+F[9T@=-5MKhdHEMu64  CQ#K~ULT{ѯT}7œSc1m(h,LƢq-C],;MRC 2 {UF`[MEW|üCSضhzGk3/6c {ML6[ckF!+jk #:'@r. @ͅ,p̤Z3jg,S3*%U&sѝKP撢E ddXkCQ<<4<$DFCGcY!8iErr}@{ BFb@2U]wB|+n$qZPШG-H!\3Thn!u |u[4&Ѻ`6T5' & W9v3n2#g>:@m=k'(ۭ6Ten @SʻI؈f;nO}ysy׾Q=[&VTzML魚 N"7GŇp-9sߜ~ͥ]xeO+g07ڸn^) p ,Ɯs4%n<IF'ԵEI]4 Axj 4A)FgifB5 8Y&=p,Ԙ=&_^pw'>s_2絷=ܞMf#i,\j-ædI;`|\Yǁ௾/ōha.jF[gh碵Z4Xd 4!imm]..h'0'}voM` PKL @G/1X1@)Khq)[Z۷o_yoFa~Us>Ԟޚޖ,-FKK*5F>B HKp+YkNo۾5O'>EI7֢=kKIGT64|z:Fr."ݮ֙E#J0Lz\Ork^娦~`λô֎h<2! 2+)q`8g㒞Ggj]ӡjԦM$} Y)wOɨ lQk~` wvH `5hL%; (_C1?F`ڎdz>[G/coGt{fG{v,dq>YA ĞKfgڰhǶGZ3!N27"SguVQ{ -Z GmU^!9A=0 xk,"|/]qx4}y8L>m J@L05i gm˝_Ӂ%#GTS=ׁ]ԞR{v)/=k&ٙm/YoӔTXR*qf" )SA| )V2uO8@h}zO<hrᅢ +aBaAuV&t"N3]PSnD:vhjtU0U̱FգaVb`%0Zi00_^]?IŇD-.(`% O;;hFMLDG1x}}Qwb=3sM|w)[z 0Xks׸w^ڵL#3/["حaFFwvR={ G&m`dь~<`%>3"d' UmE9ȴ ^aӓ0^0v>'^3Q٣oy0ѿ^< jfXKY#xG~"$T=􄸖 Xe/ªwaaL06`8z^룵S$l4#]&/T>&5OŏOMqP`YՋ9'H< ZIҀ1Z+zGN}bU@P{<Q/~+wmt, ,Zb}gC65ӣ%N3`a#h_сELDc:0R4%G@6q+=gic3eGq'k"&S>5rf Z}HA@˜)|~7)JU C`c= NGz^Vb7[h-.91>}uɑMEj2ph;xQ [_mɿW>i=xFCѺhIwa}sڳu^m[ 6|Wo2!s]ns׏n~%d N6ēc1,e= h?wԊ `XZjffq;'gP\ŵwn{'0|S!AZz'S/'iBk#K/n6>~5VSJI5MGk՚%5d#"#bh5%&&_jI=Wі}$쐝\KR 00@;ubxqEd5XX m+C ( &t-?1>cVS>PQX3|[߽oyr%jͅ=: nk׋s1bEw*֏Fk`I%CuAC+~ֿ~$wTc_:{#e,bWq\X3{ƣ5vGm胯}c'&-4損fszuMzc;y=kS؆?y3W5v()n.n^;>ͅƎnjυyxm}~;JkޏV< ̅Ux}}j+@[o!0qݿ޽3N1XIK 䁛?<9~{3#G}݆x| 6:JZ'HI@Ijdice:yɖp讟úk톔TL^H|iټw6Nnr@#X R|5`Q;6PRc n;oL|v|էJN4`G%Rn[fWܒ/Q+Ƿ-OIPKpQWh +m: J}^ οKN}=eam0xt `.R vVsjl+P3~ݷ9HIw(5G$[u?z$g0ʀV05޾ܿ%7FIjԗ,#0˵h"bRάm%IGzTQ~/O^x3zHͳ:FصZq10!N;avֆaSqn'Tbg?m'zhw ~*E%jE@ |TK ~ZI{粃οֱ2JTLu7 QĄlXOe5W޴<]VmS>F< }G܅W5jqp:'2U:[hl}I0pQRm!Ktw}$co)=FJRrz|U0B/]â0`[0AЕ W︀} ߹M[#l@@_R(D‚z5KKH2Kcel/j_%0}-P˥j}:n' T΂\QO=᧼ք+f8qħ+/9hrIO  %Cw'vSwֻε>+U$A@~z-hǝli) G%Qe( $m@> E @!qvW&~L>(Gt'ހ@fB4{l>#bР͹ ӇvWC @(EI/=]ťͻ{GԞx~=쀍pqNT%}+9( /xً_[9$Gv %I g.lX3Cr|jyT7 Poi>Vt8oɳ}>Z~68Mv9mIb*A'?m6ff;[ S;R)>*u x Ļ82UJ3Rkiqa >' T$Xy!a|[Qnƅ/+}@Q -J? I"`xn'51ʲs$Nx_Ւ ;n2hq$-|Jt7 呉 yхl榝'pccn5)O`ȅxFZ `"%  $2*t  ~RA[^$EaX,Ƅk <֞*(CCxjR ſ ~bў-/ ))HB 5'U9YnSf}\-fP?1X6.!$;U FI%M2nin]l;ON㧳C ‰bl(OIxKA`HI\hQ4]MW D}VmS=yzz+NЈZiì0&dB~E4ЀRׄ( J܁A@CRD$A`pJܺ>DP,IXi,Vջ(,3BI\;" 0p% \‚@?# ϵ# r)G_?~?k)DUmDs;49| oQޤ"dq>H'$k\@e/{WĶpn20`X߻PԷbwoO8/xzw B f{kʓ{Il1ıR"e3]y~ĤM mc/%I2NNCLUh˹1&OE vx`G_\')ϰ_M\W߿xjb ȼфw;[CD-b4cR O;,,p xX8_DV))[k?|Oxϫ~O ~/%?vw5^uȚ iI󋬙<% 7"P q'>hl1[,x-6QXQ&Y1촥nQ*~ Jr#_|GSwՁ)jPȈݞ]i^>2@sL"MCfîOH# Ǚ u3Y6)Rb?95Yܜ݌bviVi3nOybqA p(=++ zf1?;|+"v-N' fC`S2*U^tuz6=j?┓K5]r O (㭍l42@`GcZd~B}'*WHg5xȗ'Kln6µ5w=ዎє(vR @!ٶM+X Ĵ(gꅷ7FPuAdNڀUwTUԣkGG82loաkXj]kd-VM-y[Ga8p93aO)14EE#G:Np}VmcVIQ90!-õ0i*+l-]g%q Jsȶ Àmh06I 7w{|(i󑏅8 30CKV@6+j+sy-XH})IȪRg>]P#S(GK{P_~]:?W.xn-# >+~9=22pVd }0IEJ:uC?2(7 qr/clv)b9;f 5 c8 D"|*[17ZkF@z¤ &ts*N/qzȆl[jphCjHS]am+ nldm % ?9Jl3A*saeaյcJӢƱQ- њjumWq%k RR6g6bWm{}"%p߻vg|C @磣3O?}kG(30&1\a@wazz14ܤa)4a07yvK-3Pr.!"[ӗ"/'B1%>w<][~|tٵ~!.[ }~JЯtY+"SyثuC9z WxLImhW Do5JJ ]:)x,Av?xrDO>1Y#1VRNROU `k>3__q+iv|tѥל3 Ni< UhL߰2 ,"VReVG|kCC_~_6`GoոoGyG⸊yR@On/C'] I A(v] yEUVi쓤GI> mo=B!`;f*y8 oi?cXfyK=y38͛o W9rS %j:t-5gRr-6Ќ s.krvC62ɉ$D}+*uz NS@'D#l M.AAO~Cmվ^pB{Wtԧ.z7}IOk|(!:igXr*NfѸO6A1i| ~L ۪^鉹Ou$KLhThGľ1A5/l]A@eJR|#O Ung>Ew`E\xG:2vt<+$勌8Gnf֩ {sMY؍Aouxgcxr!CI9FU <)krw$!HK+q d,9_MibG.] M؜!x42 J|"f)0+N4)f|2L0! c/zpwDnjRZI`W !?C?5+kSzݮdȻK%[Ix]1fD] !&s:3 l#!;c !!!R|Sާk "Ip  Qut^Qi`_;TJ_Wh'U`{+ _JB$ U$JI@V FT(ro5yǹ3JbhG#u مсѷ5vLé̊=DtaZuŸﳯp -Tsz!nA%9(InN:Ľ#|Y|  aetwC9R0;?7DCD泧*CT; $ wƍ˨B(iE@ v5[WPXa"[I<2Tō , ]M:)NN}ZFvn2PQ :')>T<,N֕pǠjN'S86kI5͢r"&H'\Cm]!=U|m(T* .dz?سIYkJB7h{[t_z8̀FYj QahC+C qC֙cQ.2*6 Bƫ$=pEʓʷj>ԛؾfĽ[̎4-`ԛ&@OJ (@OJ (@O( ;ߴ85q;ܧ_UR*/drİ };Pu~ {&Wړ-Nxq{Kpgvݡݦ=R!Y ? G5_j#gj)C.T/z| eJ*UB`t#q=p}#;>22R >SSv~B4M5t f1Ε6<2 (W.5Q uI B;ֵndX8?Y?C@EO#!f *YH.ΪU!R'v8~+nӺS5XՆ jTغH6 @3VVYoP`{o'v{?={? rwi|/ c߻vD FNKKTЪ:Dzi 4(R)2U9@}fq/KeƱBR:ÒE3TbtVTۯ~ka҉GSw:'#?\}nz1eMΐYlꟖ]nZw :~R*Nv1: )hS3ep 28v&ʺ # Sʡ{f+YDnHe{>B?fbt%j?i&8]`$}IW^S>а\j'EOWaT\+ja|tj 5eKׇs-8ouz24+ǒ,KQ5sþD"ѓBx)2PYN$QZ:eiEO4^]fT2I4FXspݏ{RG+BI߼S~,!+`$`j6ڭaSH7znPeuh7*bowѱYwYefX&t%BrSzaٲg[*׫;CIL`^@s X^))E6ϓW7 >J|cGycJ+÷bW,Qc8iFVeIi] ,s?8]Hafxq-#CKg =o%,Ć>eb%A F?SJz궇ПmPOoAétkX7;wOwz_l-mHM?BX*??ue" faɉ.\J7)K@ 8r.@_8uduBBڢZ3T !|@MwR2)CTQ6XV3\`kTh^CIHթk|# |m~,jGa GtR\;Vְzv]{!5Mʍ}}yLp`k!$*#@&o?,#$vlfGRr@Gx@7C?5fEpqqtt$.P Oj2)dt |U ՇUhBQw< B;0f(Z/fkDsPd2$-Wh?/Ta?9HLe)vf4VRn;s^̉;X!:(ӓ.ec`+ɶa)2YXt0$y"e=~~gyjO nn}M84{BdeJ6`v;#15N>Z~eg튽BxWqy6ׅdӽݢ9QH lW9Bed#(7'okǷt1IPQ!{ڒ:p>\rdDޘD8>M983^so!)Yuy߶[:T&n˾3>W-,O0Kw ލjYrt9߰b0 c@=zU;[^w7 i233 #86 n``22fto57>0/CompObjoʗD |@Ts  '}IT?%k OD*A@!`wWFK,J*U /SXJ &* !)VHIV-%Ѥ@ïTxV[fG. )Mx6O矊Π-ໞک4)~$էҼ9:LUWP)0DWLIoQWӪf'D$îŔT.e8W0]v;4?ctl"eDy-DJVZ<+""G`"R% /k$;JBLAA`XMJ2=a p}ԙwc ;s ZG?@韃*?}bz_坁^l)yYyYadM@O[ v*  lJ>/Vi}.l huA:|;J{^xO=V;6& mNe>$X:Ėk Dw5|3vd3b|JZXv-vmG9BI ] ]>EAQ@1%U@ xQ04雙K+;jzv̫dh{jS΁e oVyT=uTc_*+I5n&3]/[}Z(ǕE*"A`pHJ\DsA@XuVr)P,:^a˯2OC|kxl\ί%p;-!Cuh`\'$:d9VO!94,l::R8Vi>֌VXEU2`JP;n-'?Ug>ec''W뤷{_{,# 갂 5\7n$&5 讋SSjZBYC|S ilzN!ṄN$ e!B<&0+Pt]2B뛝s bq3G^ ,@B>T ;nDov( r+.d Z<9}+N>xapҦ6mW> w]OɱMS]볤m\uNFgvs8E=%d8\I(doXk^3[W4ř_s+Őuѐ)M:9sP *HT|ѱ)*/$j ) k|䫯9~)ZayҚɏ'=֏|V@a4 _&»DԂsfU[Fx&cG}rvy8#I&iKb`׷"tT)A|i\]='JhpGXgtFPk>+ 9Zq>3F7 PP!cSryݞ$֩Z6â ciS ҽM;c|%ZY@EJ7CҶI+!k? 2.ͦU}=J8g THW>xJq|`% m6n/vj-!P7oA)HiQS[58NFC4'<6>vNZSp$%!J]g0u* )('ә"v !&ASXVpF|L/c*t$b+əOxſV<mz{qsvKFoxܾq&}|B޸uO]twb:B">4;m%xDdtx:]"-p& ׉7&S9:13H/i<`_A"%=fԹ8\vs-wދG{]_B> @2qҙ7n؇D(["pdĔ?;bšrVAEvFm48)E,d[ XIx$`%2 јB$eGٲ=v?=S'~<픳.٧|+)9Np''k|`k-TeX=  o#2G܎Ր 9jO'lЁoʍ-Gu)]ټ N/w_|z>^cMm.C?>f$ّPgb=K{,ô'UG;oIt>~[+eȐ&[*&:#kr-s}5@]rłJR1%F"  z!=B@(G@J6 z!=B`ڗܰ;8=ϓݾo7y DGt#6 QNߊ 9Pm;XRW|Ĥ\?*C( A%SQ*# T:I(G`(iǁ={q!h㏃1@*;,#8%98{R%> 'էuNeJ!> }1ܙ PšuO! a8|▁ڤ%y=_Te?8X m}a!!nP}{q[Zrl^Aam[W'7q -7^OL@4) spi]J"OL1f[p=x/i|(z|b.2:Y$\; !78*\ ?'&rL `K] 2U ԚX;aF ӹ:%Cqh')g[.F&=/s7qdW E_>X{kwo:q:'ϵk~wOo>/>I˽vImй&gಆH ܌1I'[*5~w2fܥ mpC#ZaLKPBc3JR9+1W#St' +E;%-wyɷ1'NweZ3BXlu:H~Aor(#Se( ӗoqm/,ZD)S&@(GtXVPؤ",u%ĬigR٩xBIl&DL6^;3@<Ot#ߵRq|8v&\/kWPZ6|ej[#sUpa={re&+>Z"%x O8GP¶$ã.}4O2WyN&FMZ}i>HO}3nn3o1W0L0giHbp'9ߧ#g[~mFβ v#Ѣx%:\ :?mĈnjW&>;w~˴Bo$Ow5t2,$涡]W$!s9Awl8LV3ʴTeo]Gh]5s}nh7|.0! TK rϝٖDmE9>"TMa]fWyPeCH[Isa+٧vJߕvpV |#h6ݰػjU ;1׆jyY1*n#>ƶv sb!K1L?crm{~с'\#JϺOK{ZA m̯e{wlǼ X >qm[\~EFPoan0ݮ,GF{v>ԣ3hs2 sXP!&O;T:g@̃F "lO/2PN*H#t!IIM/pn #NL߾R| "nj*EcA(!=+dDClMe08.d CHM,1e8vhuȎGa%*k4]˺JljUG/|]wq|tѥלn/ lX)ީ'FoV=Lc}vs$]ͳR;K63 :(c"'bV|d@qsH- mG(9$LJADVZ/cSƼE@|O`n ,$7G VJ[n}4iѵz֞b5gk`q<3~D%^QS5*wH/K>pFRvW(*V9aJAW@ q`v 42G/T->胾7>}>}և/UO>17@8MaEO-u ~I+WkQcT㾒Q τOa4BKOJR"ჱc X$={UP8PUGI_v0eBa:?E<$ U`""kKd v4,x +itKӴ~orr춬/ѵʄWMoNd6ٙmS8 ;>,OF K dIж9AR83S3e! As* ;>"\U *@M桑u5;#,$7΢z 1Qr.?ONvsJ] >f?I`sS>慭1& U59>+e%%)oJ\ Jե = % P ']gL26*Gi۲(ZMIvtC}mxn6MP |v;'do ̕^ȦJ233Mv\~zQŢ,24)lÖ|ġ#cp.ۭ)U0BٴNea,Pl<&n%*R}R>N;#Gg-[z|- ~w̞)_u液y.*Y"jÄ33|@GҠϾ04*<""ʇx.ԸEc{Kˆ"oe1?D$3?*_ə+JԳW5`J1 k-1ru:Vҏ+PahzVpBM.h~11>~]LAP7hMwZ6\5^k>pi_5( 4~vJq`F1])L#qJdխ7AIx df;SYP#8,52sJEDw 2BG8$,-`A}wap=*uirV+=NNm0:OVRθBq1"*L6'7΢=> < 34x iWΗTb]ҢdhPGwn 106tI~\ɧPw6J]"S>v`+g)Վc!Q2,&kȌde+3DQ5l$P< +8sQ:aSx|4J-P3] :K{OJIj3⌎-BjP̿λʋb$0`.xrმ;[o³"΍UR;VZ]nVq[W_3_1)IeBSЙah)xWD?W ٵs8r`*P0t yOHx5 e9 7íќj˫f3u*8xuHʳگV-zMj8'@)`Φ^mköJ*DJk9b8!> A}hO)"$UC`a9Zl%-l:( 0R>io 1S1) GN!J Ӈ\09Z1Gp!hwN I_GA[ -9JG1b4XA& =^9TmTeJd8"&* [IỔ!})`p,ԚS6Hd(%hQЬR!x&D/7.JܺsۙQ :W7>b2$k xVa -uacY^|Bp-*vavGms- +4Y7/ܗe=>B.l=`&A.@C !-3_j[aZ5 G"юZI}_( Ѓ}~!<]OHeҮSoN8G%ӏ#iVk_`zo魸Pg.#.c*+-5]%HkK"W~\~7rOuu׬rĮP>tKq ¹igD7ۋ*$691@j S5tw s#@[P:Q8)Dqh$@-˃ZjWԚJ׎PދO:HEİdT2 5ʙKU@%V OHJp]L&ls`#(Mq]JN>uVg%')c.9 >LsFP=!lP)'Vaa#0AI' VfJgVcطv鹮xӹ>@F L+2S IB ffApȦ^9U_VJ*B6N$:/+~rQ#)'F$vbrv׊WahhZR.H}10RAI $`psdh)ĭ$C7s@ &~h) ޾nMCW*?W#u+cFznP@/Tm%QVz/ @ o~ Kt{ %5$.kA/CI1pt̸yw"oA5|@9tV40j ;C /A;a#?BP @Q@OTlBV"Yev]~(( |I8^]jV˭ZjR[EogPթj=ѓڳ E @! G!PA@#2DA@J6 }PRU"BIAJQF z{[.#b%cL" 4U/ PR?֊$ ,BI[ Џ%cL" 4U/ PR?֊$ ,BI[ Џ%cL "+EgAoJ۪AD@(ik]tLDEgAoJ۪AD@(ik]tLDEgAoJ۪AB Vo!4H. }PRW( BITۢ %} ! 4H- }PRW( BITۢ %} ! 4H- }PRW( BITۢ пD2A`JJE@(F$tQY_nD2A`JJE@(F$tQY_nD2A`r HJ @$i G%Qe( $m@> E @! G!@Cp^7)CWFJ_X @G5:b?v/CI Q̸R B@(LIVYJR%I"  :8K) P R0I$A@XVg)EJ! T &$|@>:PK) F@> -D Y8`# 4/ }PRU# 6BI] g%Y8`# 4/ }PRU# 6BI] gYgU"&#EgAoJ۪AD@(ik]tx-soVX\h[I^_飹rE b2{>d6<:f^@wP+9PʵDy,jsqӿ޾(&^zA}1 O](D`nfzWUgP[:O<]Cn?kԩPҮQ˻-OK|$iTCW2|5M.mgߜ %z|Whvfǁ<9p㬆GiA KOz[֯jzW{~t 8'N݉dm_܂Jh=;yF$JDG?wL6;(bN }W@BxWߊ^?@IgV[Af䀈4r%lJpċ })'uek,rGfU$b RP %2[2U$O@?%e%kk'!fE }xĚ\*7]<l7erF蛹PM8ԅ".l-I(i'u5)`"5/CpΪ%N/0{<]~HʟTM/iJ'EIz#ΥPuB$D`~JNuV=QF _NO2 E5t*s@*X(Д ԝpp/A(LK>F`aYܱam(2¿ff=?Aԫ MQ5t"'E= ^_02[t.hPaiiQg*CI}a\8=E uǎ޲vlV:#0?;s/~^W}[/zt5N_wV\-l{G.wˇۯJZؒzX\~u>g7+g3;[7?"8_u=hj`7}޷{ %uɯ;Gzݿ}ˮ'7=^@݅z݁$^#CZ}dhh>4R~.U=qQvk)R]I` 3?pIf](}A@XEdmQA" "BI%E%!$A`JZE(A@(B vlM 5ɒw,..V  PmW'ގr4 aGٝ\\E,#I#Q6:)@8K\%eةo0e@lkK]l\h4j]FX=vD7!NGS:8RS IENDB`b /诿ƘrvtXn/诿ƘrvtXPNG  IHDRH b_sRGBIDATx^] |ٟ7 G-g"TP,6jEEIRQQ&V PTjC B""rW~13;7!$<¾sgg?1?Uot=A@A@ڌΝ;<8aʓߙ\;t-Z;vl.]~6HA@A@?{sѫk5Vw^yX$  PuimuKC]W=Sk>Cm   0{^`Bg}  @Eg:T$v/BѺfHA@A@;_u^{mRADA@A"pLSxI_$vf.~6C-  G.5b!vH  PW(zb7j;ނ  aFF}jƣ@A@?_ ~jv=Ӻ?ݶU:?wsVvҗFb'Į?BA@A@PjˋqINiM%Ҳs:-^3_UЪ燦_*&vs_]J>  ZoϾc&>X}Kv#~gz3 iHʦj,^yᒳynmV9\ E8aѭ3>@ڊny͟Ѷͺ{׷k'ŌWWYrA@z@/L3ϾӚy^5d4ǁs ?oX~pbIS _zDx'639#kK/;{K?ܽ7 D$yFwn_aIBĩ8u ܺWMsfL8A$Υ?JJû&XDA@u.8 hA:N)Y~`e1?'e>WNV'\aHB:XN !8 qGCT(n 狳+3JN(eO9j w=%W\}kJpO?`r3|"E+wA@A^" ׀ ׯ[V̚\{m={7GEXjVV pr2::wAc_ssO>02%4Xduq~uG;Ʊ𦾳֛>_O^v+g=2jsor۲w0Q#y~f3ρ?Z1@ac(Ns/cᥘ9>yIVbN+Q*;3Nn&}>3;nۏ')W=O7-X5k-O\5䂄UJ0d^osD/w֫NĻpEu)W ֏H(Ts_\"a}.TTbEyBgi  @8 ~:YC1Yx%7lԨQr#N5NnNӢ#܇&3 !IqlcuWAq[D4^Xނ8pז0!&F,֡70O1uRオw<]e:$8VЊm  PĮAJJ!{[n T99)rF%'4=AcRpҤIJӦ>5 Z?8ws~;O \wBJI4z(GN%v@f8k~WQ3{r5{:G[V8JhǯLî߇"vͿ';=vI[忞׿υk~tݺ5sNή6S" @FeFI 8J׮ Ĝ5Aq]cBfBs:Ic=u8 Lvz{t_:_>vspOiO M/P<1k~wE dWɢs=5;w{HS㙟ߔۙJ -*  (|[nm_Tҳ?8eo!ڸ ]uOkwܟ{jWB?㱻v; MK^'M9fov%x_c< Z]pțュը5_Kony5aK??y].~לlcxQe{qj  M6zxɎ=VkK =?~j<:]~yg={ H,D>_?6赨6i 5[;Zb   Pb>Uhީm,&vygj1B۟*&1^?F_]Y,Ee^uk"Cgn=ll bWN$  PXZXx; wbcǟ~AO W9#{tM!5K;s5 ma·+ͥz+'   pg~_{[u7yp≐wVcįyuTq۞sRE9nњ][&  p 5Fb݇`)HA@Azx( +^i.   6,o;(/Gthxت"   $g1-'Hb   N~Z   PiU2I  @D@]  F@]!  N*cjg}n@/}KA@@$[9bwYaF;R  pDB Cejj$20 ϱnaL. bMR0~dhZyX7M&pCā!&Q[) 6caL?S(/Nj@P:ȭÄǵ3>;iJwFq,ƇB>qeNi&c!)79I+F`ؐP`$CS4acRqZ ċ0L`:gs x\ro{Y`\1}$Ey"yț|U۫$m^=ic&pF0xu~u 瀾G^rЛ0#KQ-I"vbcW'̔j-@pq*#'x6"J}r(8`ACRx!mJR04H A4"qLUd$MC0'߆ɘ%H(sdrRH޼ gn6A3*Py/X(UCc1 \@! ۛ#na&&灟+/wnL a&R2>p ps5A!8h Pr|y)/8a[2\8ݲpy~J܅dDyEZˮWiŸt Dևp)KgPoA+ +W[BV(a a.B5ڪVϷX\E?Don@F H$$bw;+L ^n{Pƺ]Ի H+ýISȐ`~񇁴F"P];N/00B`P7D @V4O͒UՃ*h<__ ⦹'\dF.Ak@aA[)z\=tM9Z*pd|СQ^2y'q0<3X wk@6 m+#^'v,bA\gbx9 %OLn/) LG0+"/F+U0.:e=Gd//'D </Պh݁,YQD/N*x&|J+J$#p#<g )% 4 'C* 5 q=@ 覕'k;:j -rW0ִ刱:3 Ms#a 3VV-ߔE nӠ s!T-B*W (q_5^aꇧEk0 NMvk&$k^OF8Kxh9˕XÂ%d (""|@[ZUQ`H*ykEԡΪ2\4cVx(gb司NG JI- PȷO;@0;nCk]\z;Q76T0TA !HmHF'9FH֙M57B;h F/Lom4C\y`! )fr >293]B<{ǚ%*-rLiZgFK8XԲtBaC{i4þ د"]/'&[OA."3Zs7\d+C@+(#ŎS f -\3;7Do5*ǘ_;CH?,%yǃH$c`^6ҝ\a^ڱ6v`]eTz~: UkM!xAO1<156m4Ww Zp5eeQ("1YPpHf("L=?[b]4/ T`iрkau$"4L*j-/02T-!- ę%ay%/x7Oʾ#pu$@(bljSX!\Ji&\ĂA a)a0g#BG34 ց*6ÒB lo3;k) gy@i t_ 0lnd Pi $/n$ ¨84jՑ ȃtx@e–vq_h>/bJ~‼ VooylCֿኟGzn߾ˀ\\~\>H cO4fSdʣ̓J&4P椌O"8A-xxtszelXTlnb wVXY)@f@-yEW#R[6HĸTTj1f@yɤEwla'q{l%-6#'Y?afvW_Cկ9`lx\:`3@@u<0у݈.a6O C8 [ˋ ^!Q.C@Y`9 ^QrvWx@05Gv |HG.h Z>Y~BZVګ d˶ߍj'C~q>C'6M,+CHybSYs\6b9m֦gChV&r,BymG`,6̬*d ,'ƺE/_wFc $h)BXgxWۋ$o_xDߕ;s sy Vicnj5*j=@m$J(s\x[E&0c=dt*9rjA5X׺5dIs W͛aԲ,퓣r:`pg X&$'4S/7czռ/^)5I}N*|p_|~XO+K4]s\9dS.ŅMサ`Ysx` ?;F]) /CݽN:1vi$KXE Ԉ!%, &dHkCG7zb@ǃME̲L7j| rh[mx x&gȕ+4KlA!NfZ{ ܎X_.%ƥyF%>3+.J}vSۏ?ڌ|)֝?I,mYyA~l E\b<Tyqň1ֆ~yy*}][h;D9XU~{6f]VnUɜׁUc z*|1ph3iA@/.~`+`ܘU/ciNi9?r~mkxXnvq[7Mٴщ*t:V7Gn_~K/ :=lޤ2ŰR`s@E/A]JBwa8zq+ JxZhJ\sbz:ք>zw4ZhC*iڲl^Be[+`;Mumu4Nk_훅j395a rue4,|A=@v;'FԜs#$j|y8ST$aH2ԋOV\a6aL|J+an [ d66[{/.nGDM!ۃA:ݷ]9@xA5Uc)5 旷UύPk/sLWrn~ üݬ24?Yh(ه!a.(<U&Cg9_ MZ*1Ӛ!vџ>/vME'G`>D ]0d<䌿}LHOmt<-ĢS[ZNJZMTRS ~II}ܠ 5P~*?.;+,G~);x!0#/2{OS:B;EPIbM-XXękրĸ<E }% S!|gH)ٚ`A*#7粴+~D-&`jJP>p9yКlM!< < n5 l% v d! 3xV])A{>v '^,ufs&phc'0 i\U֧&7Fއvz^؞@䂡cKfQg> b[h$ MBSLl6,nܨ` -'<Qzؼ6= QX#7GLxk`^J$vyZ\Fud.[?*Rlq,o7 `(w '3 ߷@ف/N8.)jo3U6l U9R9P=[v:pDžڝq^{2OTc~ sLm>mlKkY-É2R,INRh!5O-h;y%,N+M syڭ%XhkSc7z$Gr+î Pl`(Xdw@p؜*9'poη$uzx7 (v`5z``D)dC?8aкa`WtVN N)f@vpf0`<@>]ty@Z6Ag[0kjyV<ц f]D%$/t|CC-l n7]LVW"#Dκ:+zjԹ 8p_`Uc'2U3X 1OKsg]ዠ@+Gخ&tK)Iɦ힮Vb+}Ųs>z1m/+,QC5GˡQ('U1BT#| P: `ʫ$T",@xCLJ?9pB3u^Ӳ3Yٟq3T(鎶#A,l`‚,Cp#2w$ Qy!NΙfvYgKc0i`z^t:OzcϏ( ;yOD]4<N+\5|#S#Z5;w:B0iB5^8EUҺMhi%G Vr .^W?2:LߖIwψ(~2\+A0OB¯"GD."=pբO{D&yP=\OE.Cju%?L" 9&Pm0i?hQ-{U5MW}le<-0OQȗBJTV;K|;2cצ gec_#.aLyf2n$CAC!PQP#u;:E y*z1cjAN^zH>yȢЎtlb|d(,rpH Idw_VSǯ -N9pu:ۺ{XəJY7Ӝނ Mp:2`Ν漂5GG.:rNЮSyӇyZw2زdĄunJ9~󯚒^xKι]1w[~Z/-OsY L}~ aeɭs.[g'*Vޕsg-K,}$aǽ:{鹌{ ^n]2윻eç.]:"wLhy~dstrus 2=MçNj^᭶Kvadz:޹/w*s0L]2+\a4hM@9}e ө T2Ø D0D{ޱPechD)=K< zc>0|fyfՁ MCxT xH>+@|bOp0wx^HO޹7 [)YJۆ!Q$G kãU)C1@ H@(x^C顕^\#S89/݋|g7AW]hHD.,}EH4StDp pƳԓ!$Ҏ;}`O>ؖڪIe$*lfo.Mޯ*TY8[N")$hCQ0O,ڵ oGFW}ܻr7lʅx2'Ƕ E^d6tF&\7_0 L69n_sinT#/{3\+:f6٭JuSh%zk”ZTߎ[>NLF6y bfT]ems{ q${^5%hr'|D)Y#JgۣtVGoa{$}~X62!sV{.ͳtrDtj&I:.u/0-wʓ#8Ӳɣ.[/*5K֟,rҚus2e1c<t<"0mN!"YlHuzn'ݦҼMEV10ai94mNIORsCn9c^PE݊>ݧ<~#ɜ+~g\V3'̜f=텷` S .9e{)(? +{ջm/ڥs|GK2[Ϝ)ЯU 1GcT^r .؏r{ k~ُrFo^Wߛsُug^'sVpŜ~4XG-] {q0c4 ;F_d-#k}1b"rP8h_.>5kqd*tLP;G55$~9fL8RPVWs*ǔax_AD?៶2J[xG.vfkX0<"ya5( Kwily`Lw=@$doc8ZW1,‡Y4/Q23 kƲLcrF[^hI嗶H4U*#,:T![;rB]WفYSέod=hU.|mQ?k ƭ0~Y4f Kh@1w}۽Ǣܗo&S_@ X~_N}6:xd>P$rzNsnz^=}ziq=f$oV·4-9R?h=7γ+[Wxqkgݸ ˆ٘.Ji9<~ N [~nmN;MnufӯXF _8R_v~b?ړ53yN <(\AXøۺݛںNC`?UƈWbx'ɬEs-YWwkW~pq; or7t),9sʫẖ8N9im#&v:oEp۴uf4V i~1{㥶i%g=N Eݥl+I|ȿɰ|CT'ιdpm]%l2CC [0"nlaGyϿlC -ۄu@^/Y͜)Ia+[pwHXJr8xҳ ^} M\p/~~(XS4V='ب)wөe$ɢ)' N*| FǓ6MYhgcsf-Y8a|lzJ[x@A2phOBc!4 w@TuC=`Eh5 ydk0?-3Hƒa@O؆/7]q` q8]*$G@Zţf}Ԏq>NUW[|dP7g UtW]r u$qJK 5xzؒ;~3eOs9g݌+yyЙ-)+)qv-/QY&S)z!s5ӓ}dn\q:c@r@5|i9X}-7 m.oKF\zN/ڇZ@˨}ٗӍoORR g“] &<޺xg>VF稡&4?۝uef ,ihЇ,>w[2+I;kK[9w%oy)7wxK.ºESߺx9zXetΘKS[w͹绷(⚷kk9w1 3ΞZp@qڽ%;uE/9FCJz~8̜a-5h.R3fokgz>A:gu#r妵dm7sᄡ/7G #Ϩ!@y@ Mn.|O _چ=ęz[W8ٺiI',y;(riH;P=0$Qy؝\3rq\.FWs)CIZtLm˶[XZ3RBΨ"PrYȰXyn08}2`#=T6= RP31aI)ӕ.rϹ,lQ㾩.TJU7hz 6:TGlBkDT$F hIN1gԋK 8pyw)OڻwdMvO y}ݶ$s &'{(isX|/&*w==xCj[Mh̐Z6iS4:c6V9n3#Z_ӹ)s:J{Sjuߨ$8@[N3|{.D+SNӷ[f,zVM,uD89~}?7nPjjDɃݱίAB[5e&Iu^ӺIaGWM=7No ~Z;@/IT"}ݻkj9ˍGֵ}fܯ;^CWH1p{Ԉ>KruPҧ]MvM/hؘ֣o{=WsXKu5L[e;AqhK^=z67r[P;zi .z7*sGGt}\{y޽ѳx%}s}7UeŜ6']}u9Oj}iaP֥#~wt M{@Y[wmI9S~O? @dɕ@ע&s<nH9z۩4gțs'EY B*. C@- 4>v 36Uj_4A g @ EȜj$E䎬5|拂r|> (h *[‘S~I80̖znd;?coU`G=6=RΪj9׶ՁC6s+ A׃ &C@aUɅŷ<y|@gmDF @ %Pjаޒa ʎ tSoh~Xj]9?.wsrǶ $Jt\愶7D+ r׾~ ѮV>FcȪ'Hh m@ԙSoE!aώUfSZ+쟖sSOOCC:0i][8 - F'auAāCo]7c·Z7UA=\tJ1jlKK]4􃼥4T*];Qs({),Vg e!>II׭(ѵmVሤ[}M|a&bZxy_Θ7cs D9åg|ؒvwnwk_~'F T@@Qչ/͹ac12hh'?ٹc+u`']V' U99Dfj0LybϺ7J{^ܥ/e[3u>Y[v m=k*W)d3Zt[-:K-mC./Pg=N:r}p]ٺo΍AHJ"+a&iNDPKh'[zX//Y؜܍eUO&k[dG~@@YȓH?i<_Bd*(>XPu|B rpQv HNߖ^= N9x+ otfeu.ɳvߨM|ݗ}rZjr $e؆WbGKJRύ~ZiiS_7V3;Oc9O#UgZ+9\;'SΘzZ8=iLsg>msua%@+s7zytcDOJ=Q:uT6 WAojj6촒zjv)(˧=hYNlspdikd؉O@%o@x7uISf/ ` u^[veCL^+?#x\:v6~BB-zhW/徺. yې񛃛1+I@&{" IuSE j1UPF~ڎdŜ/ |L78;S#t=sø.:򮹋>tmx뎍N&෯/?.85)}ݟϚɨ^eֽbګ&/ yʨs\a'Zy7lnB䫉ðhD?Wr%QbvߵC)rfc`i<7i/ X̊x1G9[럟==P4prПps 8RIUr)1ph"b;꿆M ~ʒ(𗠴!g7:ۢI&:ࠐiy%+=E6[OVJr6 )p\ũyZeybƄmuh`F'LE,Ci^0W@i]%^FrV f @wNN5 4xcيbHY]ᑬN큏lז-OIN#n=>H޹E\l7[~nQm.^ N<[O1ʍ W,սUO`o%/ o7j\ĥƟ6 ~/,I[)mA&] Ia3of$-oWڂ?{$v[Hu i^qڔqG!^$؝MB0}#?)m=znpgTԮ$N\.pǟEdZg/[j[^7giXyIx-[9Hof!y^B8e!ܓ3p(G3O®1v /^9o9t꯳V_?l:E*}JÔtO6f?B ̈́2\p9_/܋Znc:ϩkk~.>9w1dbrX3hKج.1Wnn_C <1;Dn=lLkw [>ɕ(v1ZaUm + }F6-g_IƕY1SC3 O|9;юQ`~y"ĥ)xKf0]#jf6֎6t. /L}p~XA030΃CB>ՃMT?mʄ@0ȍH$U@˯.h'f7C9&~ Ɩ2^,[ ڣ07n}Ԝ.].&viE, dtN?vCن[:@ EYq+ !wJ}gCJBֿF6l0"*)8?4<*?P79/1w/ss+sR6xtj]-Hה~9,G<9 5 ̉_sєWS\9mx k.:JdS І#/xF߿yX_:n#כ {vcۏx۝ \<{A/?u ?\C<$;Ӫu.LJ]tmL\y)L-zeucg=1 ?17$}=w[ˆ ks_^do3̿\<<;>5s̜lkjgߎՆxW8^Ɋ96-l:v ZAsE|aWi HsU߾-"E/HYϙCוxɘ,unP9;gNboBLsХ duӎ_Zhء7uQjC V sKC l΁&8xLV:Y 6Ie zòL4E(z2 ,,UHnkʩxO:%߳BTP:K1ybrP.S_zː8+-^ea+X< x8"#-(pshLȄM@~=Dz5幖EMX2~ 4ut y< 2+W^ȹބ{M{wD^ͤV8'5H _d.8A0?MM`Kn`yu7l͛E=z{́vC+?rL\XfxߢNWlxQI5 ȇ,VqQ~F>yrTТNyPهʊS~nK{{?ˆW3L'=f``w3`Zpw! 7l(灟.s-ŗ]TxIZ+Lmh[PкȰP s9`"nRu|)qDmpT#rfOV Wik^p-f4'TR f%k _~F : 23|lÓ3,zc 9#p g +Ȋ?-AAR:pO]bRr5ex7npa3Q~89;2ٲ(^iFE3 A٪ImǞf ai77&[c&,ꖽt2t\orÿ 7Z[Б.jo<es.:.,h O>ެl*v^pUo`AtgnJhO:@}Ïͺ ȿ/<ayo]s>ѿ?yRm`/=qJvʻi#g=>[ ^ 6wO~~E(F+ [)H7wDq<8<7x9yO7D\9uQMtS^2ꁋ\K)-Pl5:d8 ﺖJk_CY*@SBH9w[`oqxmN[5* ~>-7Q*֏qhx-\;Œ~rګDtw- LZaR'!g_ n&|j`.ZEi7ԴD7a&Pa-~̣rX|̩c7.9ܮŝFݞso*1 `B^)xJ1a -pd +XK-&m$eFUm2\Hƪ=C,.1^4{Ќ[.3p/TƲLf9`f^(vUN5qܢLbr',:f:DЛl % ȾЍyozuZLbv[q/;"ѕ+&j{ۍVuizF ^wKWޏ}rc;tlQ%.ݩgw׼ ׏c5j6x.-̽`<"s@ F@3 ~xE@@`(is8%ژr¬X3nz4s1OJ0XDd #Ǭߔ;g:7CjkUoj&*5 \䷻JR){Ǧm/M{-9>U{[/ {{?}&M4l;Aó9^ S>@A .Q_/DmiʿR܋Vձ{,9?R#I^B !5#k9]ZJ_BRO!5G4/7&6n>h475s(Ӝ/AuA!`*vł'lIX1iЖ@歫 mN0z -NH($ゴpԒ*Cݬ9<`f>la<$K f[ Ð94ַx֤ "+LH , ];jDoHjTdv>bke !WɊD+V \b98ү0F Unq/xW180`MobV!gie B& 'n)O( wK YmEV>vhW1HBj!o P!I;VuJ4Ubud4Njȓٰ~{\%j}g~O[<46c9!|\Ə:j5$dqd=TsZX$ X?U٭Ob]TGwBƬJ~3Џ<5T@/ 0;n7\nɎ?=a}ɎKʡutjcmzLSVI02>yN輖bwq\  zlJ7EWal& `rp=Q_ԁw QzJu.ҽir#HV$0붓SO0B dѠD76H<׬40˯ZZ^brYTZ͊G23<%/Yjsy|Y/2'A mjWՖSжVeEcc'%%^UC9cHƘ z$l‡_iWl%!> &b TšZD%o_Dx.TǰCޚ£uj` #J&1,S+` ?r]/O}my3I=ǽ~Ԣű COX2PBv5M"qRS H^ w<ȿ_LThW/#P$a9-£_Foڧi+Cbb cM'_XȬjyN$A6#sS$c54Vz RZ=0=;0Ў%{H]A;/&]q^ mClŽ̄<>dć.ٚo3lic1VC2H~P?)ϳtʲ[<ީwDBJ8%!5{64-:LO 0hhu]'.& зVM l|Ch:Rv%I5lּٱw 'w prL3ص!܊WxqC{j,4ڑ8Ø݉a/_a3DzmGJT2B:Th "8wس Kl*;w\lRq%yYQxI>uB"yv Sx3lu3H<}CxȲ Hq\>_#ҚM997, voi"BԊɜNgZͫ03!õɍ%u"$f#)raJ9fk(V(xTΘҨcHPD^|)> 8\ 36v¨c;O2^ťx{p >אżZzQ|Y6S%wa/B?KMIQ#07%vbA2Gl5*4Am$#]jk^_q1AQYǃ&TOG8eafnЮ#nDnn.c yȠ!3& -H<6ϰWN $?z<^LV<;H1c<{vzx50JX(ԃ,/3<1QuARk',c.eeo3@}؟Ziə˜| 'rmif?y-&,s~,u.ןg,Pob#' x[CIc섑&?Ms-3=+KD|X?;+x;MsC."-D|'ִ Y?d܅i@7:&kܘtu2<@-*[B" (p~/*yy7Û^U1`뼝mJ*`Ck<&!gJb.kZoGڬeiW? 69AwNzynBOd'!Hɬ,@A~qU?ɀ@~o- [ _z0_VW@? \F~S< I/+T#=Zp L̨>`]43r535%\fF ƴደL136gtd238WR+Ddij'ahw; JσψóT>=JsD%oU/G*V7~V{0.!uXvkK}Я}0_a'HK$9<#ul^նP$@M"J$O.X".xF B;<~ݙĈC<97-"`y+pexi=L nivDΒ:Y3yٞ=ME=fpRC?GJЄ5ʁO^"YS03cF섢E' teLV$^թ^>QdoRdִȐe|=.0}J |]a96sYc^ѴjKDžCz.ͲLB&坘܈\/|--@pGzExyuϝQ$&p>+TO8b#|:;_ y=ج;oϪl@ ɋLvTcYc+Nבȿ{2y_—Ki0ޗ)ÄŌK<$O4sof+Q $`m`r/&Z]ksOP+3[@yġ '$+*31@Ul-1Ұ6>KwGh„v!ds|]c`X" Pqc!o$_{Sy}f`ӂ7Q8Qt8  7DoTRanΐ;%q r!Qzފ]i;3pREf RyE^a~,jau~뤨L-kg jCJ6_p&OiU?V< 8UF=Mdω/i>9Fr:pୌ(@6~bǗI TNhl@APWfkpY-zA`ad/]`<(b=t12Q0b4WTC/fns`d($;" }xb(t\ >Kՠ<)ydaTC4 6 քFV {iQODAy>>$_bK/+T3fg,BLHG?ó[](|N^pՂl]qs98tB#ѬI6pceU /r 3j Zߴt+eKѦA(糙{!ҷLP`r|91[ۃ9>1hM^+4UVq~BO'Ϛp-ނ ">R:>XrfW:2+P8~͇݇g;w?qF0w^ShbӬ.(n2P|fb2djqbI$,SSb V*7fVa{S+@4u}<)[Bǎc}$x1m'$w^r.36VbH# ؽ<q-_>]P 3#d"=t͋FE -eoQ bB)l lOvqE '_aWJ5}Ol"ks]Ϲ n) +E\N<+仕uFx)V(_=yoQj۞}Wk xߤ I颷UGmB%mT ܀4YK$``qA38' TIX5c)beQ)(789d()L45Y9'!3VkLl)R^"=⚚YJ|8K)qMҙDRr K5&BXdΕ8DZ]1g ٮYǽU&*y2j8OM lML*ڦ5<&nz`odixG]KQn)(Ɗg›#bj`'\/譎 LGt03\ƐbvR_MeAJ]rSđ+`_9.5sA^"`x^XFlRb%F0UF Z9({}B H}JtMozT̿6)Bym]Fh]'~:tEeFk[ Wii3$rH#ݴZ d ̕\MCWkA*Pರ_~ @V֥VtZeQ _ܳ`u9O$NS$fT8O| U͸7\Im4f6 J+_ұda k9 01NVn46uc] kJL<>dW3JyM>ld<:woVPw) P0C^4n zXxƳk{?OWAi*";Xgeo56pQb}uj狌T|d3܂,7Bn/ 7 ӭ L:Ù[ʈy9uc7)DMb> d6Uuqm `YbXt,j*ϋHӈ|1wZ{;Z)fQTvF նw=wb]a{Nju RW,wDVYvLcA(}jLj"f7( #=F+HsYW<&>Z;psV9b8K TNOZl7;UHw#d&bl)sș7K'o${)勷y$xa'6!~F)?fܨ@^djbvu_,1P 흘s29L ^{]x$uu79N!mo-r[ުrE%b-'#K6]"j80;0\sY-aeadt ūAl?}A'f'd2]3vc@9͖uqJ8KٹD]>ʫ6;f`(SjJOPBW)vs[ti)dhlLT\Yr`uyՐUAlu `V,eAk++.1 Kn2$aG|Ɠ9t`dBFr$Hm_owщ: zHs-N!3-"LUz8/j-o}j̜[@ 3tK!g'q_\G:{[$FXh'So{z-潶Of8ۖ7Բ^:E0ؤ_fSH9{ku!˄9-/8ow䏌8DܣeI ]ѹF'$T3aȷ^YOKl H+i,cm T+fe{+k+$9Nw k_ 0T^\Ws+0 h,#vța(R`U0D < ?J oYXdSHkdW"Jxtm#yk\tu+Vh9q ,cY%e)4*{r,$&ZI[@íXQo\-HzGGՋikKiy#^v6N7<-VW-a5ω%Bzۯ&qq%yF?3,Ixilhqڗ2g9O ?]X ] /lG+e9͈tMWب/=3*1bSe-(+r5`q#+=]6ܹn`2cHiCӱMwoa\+mO SjƕE!oB¨jIHQ_qM،0O}M"TQ E-LX$& 6.l?rk)ϯ֍!V̘L*R.\,+0а:fĖYR`F,;$acX XVR'piV:[kx([Tu^ y9Jns8:`aYZdm3)#*Df# hvjh?p t4$m{M4l:BM3*Xzu/2|nzl}wKqsB?PGاhZIDUɉ PNNEW=e6@vAAd$/\ѳ _Ggy|&[jĄ]( sݟ|E%o_$6&'3;xI;l&| ϵi 8]9"ӌ;,ZgY z[,,+r8i? +q]8!b#{Xn_x/ݔ~_88P8S\cû)Z9:Ob%,q5CݮhV>WFYdKU:s5x]#t۱׫P 7ԨouMmfg=<1CQ U)h8ֺo5FRd{R_).!{;:0wTז 'Q!|A@A$`crC;J!:T#&4Rѽ`> /+ :NC ll@{']m?g{^}xUD-c؁U6ٯ-YN۵ZgrCA@*@<;誃שuj? o :zwJKw(IJPT_uoH[E˱@ȿS7徝S5+NY<-hOír%  p"Ψ['[ᑡ]kGS ?Yp*d'u]BPnTW }f.݅XmdiI]x P' J=#s^ʍ҆)hc-$ 5s;6S('k2F'N({k[ <9+mbhy㼉 vƏCH>͗fJݕw<[]wEvlh;p/K (%poF۟thfy{VĦoC;W'UA@F:>>fGeolJ˦n7(_޳Xh  "w SKA@A@ڍ@|Rv7Yj' @GѰ:vԚjDE  @F &v  '  @-F7|{۾vk>v+}Ur @AW^ V&>v'}ͻðޠ_%p KvĮk(  @!5ob v)_w:{*'9   :Qɛx:  !v  :BCAA@ZZ R A@A@!v  @@]~tm~PK_\}sqO 4  aj*\_Jyw ޏ(۰s W : T]A@Á@Wg yLFfSR  "vVg3۞}Es>LuSVf CکF*$sg-iQ]ȻV{Ȝ{]AJA@ Ez+ӆQ*ĭ+}h}ԾVYc\l+YktrE% tQ:ҘbypĜlFm8c^r@E\yLgS~b9ވW)Ή.:^wTXdm{*0v}bya5qj7"~gjh9@*~8̽4QM>p4w" /KeTۙҲWMe33Pմ*,Uξp֕A^c+QgNȀr\bgLw=$1bspm2g<'ʚ4)GaBh`N:g^?K Ҕ%R< v MF<r:S)Mi([ 2(Kys.Li&`55n̓k`0YDY/T@M9R!!e6Sfqi]tСe8Dz„ ya9`ejgmǃÝcjMp ؊xQU@ު=xXj&mbIL~f|}.\V+;\RYYǁ \M2A㞶, ޗ~fcE$`doY|}p |5T]U֓`]I<gf_Pdx48&.}@#sSklƂ Ŗy&r|݄Q+%ۼ܊81Agy ̓>3Q*$A@h|]I)}O/z[Mziۑ7M'̣릾W/ Lg͈kHa .TVgw<Xpn܌nZ:⫿CUP]3Z7/]ƹ{ٸdcn.tr6܀]8VM[[ _t3B@$ G5KHJUwCQ]zL {v|icmh|Nmoq=޽,`O>m} u8I[WNiF1NEہ|ks vP/-cHKgE~i~M݀-zݔťW|=:6|xarJ}ZPWI" Ab:zcf72sMaZˬtݮz-6Cyxف* х;FiUU]  #MKcR:기bfT92'@y.ͺ*P9.bX-$b Y>CgcgdcwM<9֡82o꼞Υ+wE=l17aOulJnj]`;^$ GB쎾>)(~S7 FDgnҝ˷׺>1dM=Q=p 2S(yD]Ծ50-57xBĐؑo S7YL!gO=Z^5ƨ#TA@J! ĮRpIds{.T[ʭXa'E`Y?ɸa^nBLNcT;]ǠuN[K򑇁x*LcLA@N[ˢ;Eba3Ţu(%7{hC̙հ|ngخҠOGK>l 9c۾`1'Ob{&xl/$ `b'BH#bܙ}D@-=gv>S&6[#% vt@2GI-.R <}ZFlrWtA?4—7-NtAIy9h{}DƎt0өCz橍$Ibn /W ̰d%iw*Vbamp+cA1u|nP]Eh$gMk`U c+wn1bx5_hyZ8s1]X,$Ӂݣwܸ&%:\Jb  PW؁t'/R4E!@U8LnUv&:>ƪ.FHA@A@[HX5[}YW< ьa"vG3ćB'R  P}RA@A@*'A@A@mm="A@A"pLA@چ#RA@A@*'A@A@mm="A@A8+}ޏvg*ksqOUA@AEP,i89hD^FM |03u D_\ 'Ϟc@>~)#VTD7s>0bǨW[@n#KpE9Abڊս_AM! pX)bϜ嵫ǠteۅDRG_?xbzIڠZ0dR!jy; /87n)H,!iPI]8yi2ݓU%t5*ײ 7\imŚ8VM[f)#@_; 4W1O@[ )A@*@ ;Hㆾر1ꛞ76#k5(C_VYץkg+me!UFW')iͮ}WdPRLXWNiFtFہkss\vP/qK״C,^Q2__S7hMi8`4_[.zweFFN\&K$ @ !P.j]-m-~.>S-x"h["mtVM+qm{ j}Ǩ2';\vלOj-"@T5pﲰh>m\|B.hv@-\]%1A@$v:zOQ^CFWV6 2n=0gwI7Cm?$ڧMm5ZQ<-YY]`u <尊(YY_2u@&hNJ: (jmlڪVr[]^]~8HipA5Xi6ߞ ᗺihZU9er+4*-X.Cݿö$(sx,㷙T=%A@25H*PRAnW3,EKu,rX;j莼ۺWzHnr[ M+(ț !8ϡ2o꼞ѥ+wE=l17P= K;ƮQvrH#A@*@ J57Xb#*Jw8GqhuCUKw/֫_haӦDOuOTI *85 wJE͞%U&Xa[%j/-~3t"Ď<d L}Ӟ+DySmW5.mW1ݞUWlEOAzAbW*TCv1Z,` `zb"@%{q 2hfG~FhH[% 0Ub&= 7GJFtp34jqh%iTE1۰{?νk< MJ>l'twFA SOX">gcA:G"  T5HbYڽ`wMCrUwqڢlpH]]zG Nu y"H_f̦M\PnnG($sgwW <}ZFlڠ.FL_#?M-N>`;/VW^Z' A<KEs9ߝ-va6w#KUtŞuY1u|6t+M$F|8[m_]V @]FݮO%rտtsq?j k2u@hJRkl 5D SpnMF1{`V~] ;\ywCQ/\TYgRCA@z@;wѶM1[;uC/{ŦYЃȂN5i-z?/lR]EQ66-~Qw׵I͝3: v[ ?%t} DA=8b=mxg+ YQt?΁=d5>A tmPEFKA@AAp嵟*  Qق  PbWTZ$ G)BҎf  @C?4Ejo|#ת~ JmP\b;'5 %'B*D"?8G9?EΧYUu0IuA7 ϛP Llƕbu1J  @#PEb4iJi)ԔC )$% :!G$i!%vHN>&D-.n 7BCIξ˰Ehњ$'shjU{K  P" <0a*jVPe AA'NٽUQ.TT Ԅ5^BLJM$ 5@0Rrp02 tAȴ  ( YTd]t:PF9YCۣbspyHb5lK  P"SQrv0dSLJN~"ЭI>qmO=1*z<9iޢt$h4}14PsQ9Qrnpz]X9n3pcL@Hu>>l&A@A@Y xŎuj() lzB%jEs.Pףt(4T>X`x ̼u39?X`jz|Y{G]Imqx(GTkHYެ$W)W}_0Ŗ%+W;}Yuynm˂  pd >^!W`s`@aA3ic~[' (Ǿ+}0\ ?=~w1"PziD$7`H{64=a:O.A8t8דwzIW[9ŕ ;88Pdlel|LPho-A@A@TY[?"}@p`_5Mh 7'-:FuW6sWudJ(˼E|סL˜'6*MȽ_:u}OU(t_5: ns pA {U}/תkyFA@A@,U$v}--/> _~RI'JF]6{`}.cgHQx {o>Q{(a8CحʾEO|oPN6'ꘒWlV_oso|frÞmt6': 2 DAzzO_z)l}ye;R   PUb\G| ۼP^ޗ7~g&]#i,GZ3$ ea @d/3~Hx}0^K82+&Z8T!9 x9O7 t'| | ,YRd;  PiJ`]H >|%9y^w^]vI0ËUɧ&ڱ5P򳽙#֔?D!{ǩP'H-4>S'쏩ώ11JJ*yዌ;iY쉃/N(%+XL O:Jab&]mN!٠O$A@Z)${( a$'OCRԢz&3y;(()~ 0q@.YJNpuJ.ݗ<æB*%tñ/SS cpՀOǗbns2CRՀD,W,ߥB % 9"4)| 5JUvev~Y'`fmYC+g=*"pw.˭!U㮍\ ş8ayzs #QA@:@U$v 5 Cb(q#  \%ݺg}k@%CVԇ)`*K%Oh\ (eY㶧SZ QY!Gt+qMMqSyE'n;Սy!ȋ\6*%I=%ᒥu# [:g}|<TψـDP' 3IJKGcB5Qr>#`Gav_za5d- QB5n( g 2sTKF9ydk##jV$Oa͐Ì 1[y_OWnqM+P!ٯJ(XIiQrƂލSh;}(ky2S3 e#i"[^3Ե)ਉ])4A@A"@k?xڀO:4 Tfy{\| W70Ms|!tu.3@9ҧ I3Wu>4)K8'y`Jy7) 7=U׌W7m"J ". X{E_B mغ~Ǯ0Nk2 v)֕! (7[wW87b/tĮ5랆B>?\!9 Q]PvcK2V/*&  P E_hPr2BV>*O44 e],͑,Ԩ Ffm| tr6dNqj|j&) w1gcjB&-B觉/mDV:^Ηe$ r=uׁ^l<3C^;^fλ9Tk*S8ot/j`$mYޘr#`ux\t/b+u%{2$cA@@UTM᜶#1'9c[ha`s7^1WPK'4llH.$on' ~ 5ljSXsVPԝS;9P $֨AyA;KCR`Y#}YE`g~] >N @@*Į !X(d7_-pܯx[Oq88{~zE;s-\y\0D9" ( '&" uj'G @nPrѷnVֿ ^/\SNX)o`l'artZAL))]}^/>?qM+  GxBMv‘QSjքWx܃N=^u-qHnp-xmuK=gUrhN(D MA23'O^Z}VZU)A@2z`27G|lQ3nsqsvN}]:Vyk2f>VTR__*hN#*&A@AhARĮfT|O)U=czk`ˬF+qΜ΃J ޝdb̹xAXJ;A@Azbu6WM~jҤmAz ӟjqv"\K}PoJ.  %+ =zmVu'ml mU%0BZ^kYy=  T5B쀴M4t饋I6vZrw~BeM_fnF];9{M< P2A@A(AFwxEx6v睵HD>Dbw?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`acdefghijklmnopqrstuvwxyz{|}~n:sPǵ !# B#ɫ&J.  ^ޯ 1ÞMLw*]*^3Kkh@I֠]NPZ) Շ@⧴+~a+(fK hb0+-u%T޴ ;hуs WuiZeM;sþPɒ  !v3F>^@խ*=m`*J@Ѩ 9A#P3ĮZ!$FQ!_Ö[UHWZ([A 5J!;,HnDHH@zEy 2"rumcYAzDMl?SvQ@voa4WpW#g*;}RaTq4 B舖2SMtmtr7[7gfRd-G@]1) \J8ɮ 238-JX3YY$K3­LAA7se9 :١'tƵ@t 8!#J5;o"`0h)h pCa Ѭe|%wxœN:V;5xAx\],iP0'H aA@am=/H_{[ [K%;6Ȩ#$PG$4?5g S&gQb&$s *Ds Ҩ~V4*Ryh%iTE'5cc6lXOb;靟F G8H< }Q՘ ]U PYWܜĺmV}ԙ'9N`\ؠ:t)PҴfWs (F6u~$ˉV:OPMpKJoyBXc;A6n1 y}<5.)A}bO# ĮÔ@tȾ,<78.eoX5Z4A<J1b,%®vT'Fi'M~YLj+vs6 ah}' 4l{Qr:<&F)鬉ESĎ`3i@?f,F( Kc"x:p`p%@ #!RqA@##{=)W'*2'sO[j%~fT*^Lv}@M.m>aH;4+E ;VOFxv;{ovoNgITrjtaSA@W+ݵ_[51njW+*VEޓFť;P{%٪yZlSmJ!&ZHb  !v;ZeڧMm5&Cvѡ -j֋r *%+.V-"ek{O"R%|5g:K )-뙆C Vji6(H}A@jBjE7JiJ d, Hۛ Z99wڒ!&8!֊cy"O\ڇ'uF契uDu\XczZنeNfT 7NFZJ%v@& !c>4"l좐Dj%DP8 ! .1$VLgnҝ˷BӴ:ZtAnթ{zrY3èk_ ݸ*n"}*E9C-4^ϗchFg`KR/Y%7[@Յ]Ul+Y?. PAk?UxpXC@[~l֝g7j}{{ Yb|Ƈccf4v:mP `cwdr[ Ԫӌ\@,A@j;Q[#qs/B]#NAVہ]h4BA:v@QՉ>S1Ľ!zgI`p .8ASX2au!NƷ Cκ*3H?/QB?D= &B[U]U]]=U|kqn?[{oឌؕaP%@((c]bBA  @v;  ]b +@`/#  %FMA  @v;  ]b +@`/#  %FMA  @v;  ]b +@`/#  %FMA  @v;  ]b +@`/#  %FMA  @v;  ())Jx[*e]TqjlܺU\^~ L@(+>ӇQ'x[i$C@]{! "B @(wr! D E2@@ʽN\|I] `mRb yz/gmm -j8IG~IEδRN@r +^H& P_jhyB;$2"xZݜ\r9c/>hYMM]W$sr %>Ӆ>D pr ؝o:#=^ɭ1gg'%tp)jwBM|{o?b^6F oc/X  MnX,Z,/>ӷΒ ֯yrO Ԡ1zzgpgG@"@`wBˣКscdߡ]={sոu Zzonۯw43-0"$/O_YHfzʲrXڳvHfGuYȜ3zc;O{j ܩX5r/VSmXDˮ]<ϴ!݄Iz=7oǦv}k.jI!tGvEn#@ ~˺s$|2D4sV]bTA0K%&gObvIn_umz}^4G֙J/ݓ {=+ꭕgc+.cuNBܫf^U-_CHR.Ir,kvF#rN}+e7Y<_|=gGQN^!"V5?4& ~T)go9'3U\4v摖y#_nq-iZ7|xW9$2B u,< Z4΋|[].>׷e-5 F7e/,}SZgFw5إ^kaȻzyUeS'UDC2W׿!}s#Wg}-ޞ LW$uԩ<쥕z=NO_K^-5t{<4˞oӟnǫҁvJsZTY}ՇY D>ٳr䥏K=W/UJn`e5-n`E;yv3BgZarHMi^83viT2M|HSWiܟZ=O^J+M@@=?9c_O;/!Z(;X@'vJ#D22@)LS}5V=vBg7q@`iGPn<={>Ҿ&McWk*"byt8C4Yof: lwHc.&I<͑(xإg<P's^D8GI2 B# ۬=oψID52$cj's[lMq6QҸ߼}Sz\v}S׵jqeۭ|ՖI,ᙉ3M}֣_##tL\7cq)35aC){׵Z 峇P$993(CS,rfùRf[#M!][WLw^fNyGRʦ D9GB(I!],D'>T׽F-}^܉!dVXgNUf1>W-X\g~,I .gd9K>['W2;/IjD ؍-qz\UU`ɃSrR[f=^#本tP_df$} f8RtUsMWj^gƊ,z9E.oK&RWF$h/V8\O.[tܴ$qߺx:lW-Wl\VL\t\g;"Y@3,ʵN'W@]}٩gtR*0 /9ϻ ks8O9tM3_O"d&S:iҟ]Nr\mg&e{ Iɻ_Vok0Z3jMVgO[{˾vԪ!Z]K˖yߐ+PuVeym=$-ؓ?]S_@jJm->3]RQǃ P?_'aPX*PWHmvt8Q?JZ2uVc}g:"뜷Cݦh5:i3}Zz]ܼEŽQ5W({fTtz-kHg\탷KuGoy<ٽRN 3f|XT,S.e\y;9}xv2Mv]cȾ5)ݧbޚU\dWn9(͹^duT9t&Utj=UV[ݯQҢn$]IIdRCᶮ;ZշZ\'";n_ѣGox%[?kv=5v'h_-e[L93 U6־y\50`*cZ6XS׳x^pcJOwjS͞t.ݦ99?~Lyu: tki,Mg.? /;sM.__kwi{Q-znCi*{[߫3KYs'dWM >['by5jrIa^yu֭{e+Z@SH $t6Gse}Geĉ300JO"wC+KDtI3VZ?lM6{~f?ԱOݝg/kw)\2"Eߢ)˧+LK[ LQ3`:7OT>&?SBTTpI{7F=!h/y>1Wgܷ{2r~󐱖|KH34-ӫNH|7 o{SM׮2Ÿs] | d}?;{ù@Vn}Hxu~z9M ϑhUz]*Mo|^{s,Gཱn8/pË/>묳V0 .>s 6)躓cYI=6YfgNlr6w=W,Tk5E5OTu_pI&jSw{Z&dM^+xtHDjYVq]FdWt9ʊ-;V7;ZT.߭˼3'3~.QmvV=^n]U|.w75X[j/_MT(f4 MpS).>`!}:S u蘨^9_e_<9'=oi}W?$S]Kxh0Mw/O}rb'M_!%w^|رcۥdOSHk<]|=0ȫ+oc,}O|4XO-$׸R U]eMȭ 䚡/=j O/p9b6n@Zݩخɐ6eЗ:uwEUjƾzK=fW:jO fR{<yJRg~MsvUj&f7#,N: AU }DGRܠxn.H(  y9 {v܉rUR/kS!O5k1w*ї>$M+o[Չ'aQQ/kYԇQN҄枑ϋ!v)hސyy>]Q|#z#v B߽Qtbz,u,HŜ-rxm7s궠iSag6Gt+z:#}J[IU?fϝqGTNGŠkfs8C٢LZF_'aѧDnts%eQoRBO.%x^D{}W " 9JIUv<RM$@lܺ뾛âAV}sݗ^G_ C׬Yo5 ]|w.ӇQ'x[i谤D@$5vyvq vq ? #UT76cN[ꉹ >ㄆ91$ϼ{JAu+{K ;2ּMG8NEJ8q' u䈳T[3>q-n#+.B @HԀuJM M]3zkDM5/s3־Sc]LUB퍭֏ڵ?@Ȕ&յjJ#O<#>&e_^=!XC_'TO?d0ߘ]=K`?QNj E(X@a[ϋ߿oG|XOTO[@pۧFϋV77YJΫ|ŞP/ fPvhi?v͝I!E#@G w9S-Zmܵ}۝3?Wk+T"O+.Iq8Y׶gU{y2I"> yrcEࠩѸk!ZVsKAOe7JJĩep E ].;Oۿ^ @$:hܨzswKUֲ;EOŦko;VL]xWOȟ&}W)ź~Ġz]geI.ت^2~BfysKoS &T׹yv T95ؿzT-.nOvyG6pQ[@<$L\PcL.eI2BR9tPc#m{+w߻zn֠࡜?t׼}avI :@RؕrXaCaDs=ß tk|7@$w';y/3[u 8>y5:.NkGg~G%wmj[Қ* ED.f _]X{UcBb].k=^՘ثw2k4F/u,l~MPIDATDoloW޵yr@ټ .hu.פͪ6?տT֮ޚرחɮRZ>(7z7|)f}Sk~ HЙ L-uq)[ſw+Vur: pJ@K@Vlkk`yU+\Sڶ4 Ǐoiio]*enٱ O{m3.b@nE<\eVy6 ví_/ 0tSQ ڞvќNTG4ttvT*48i A@"wxendS?p'|ny[O]ͼm~'&%݉qT@G[֫*$E H|gk_+(=1]C@ N; $(@` 6E! q ũK  @v bS  ] $(@` 6E! q ũK  @v bS  ] $(@` 6E! q ũK  @v bS  ] $(@` 6E! q ũK  @v bS  ] $(@` 6E! q ũK  @v bS  ] $(@` 6E! q ũK  @v bS  ] $(@` 6E! q ũK  @v bS  ] $(@` 6E! q ũK  @v bS  ] $(@` 6E! q ũK  @v bS  ] $(@` 6E! q ũK  @v bS  ] $(@` 6E! q ũK  @v bS  ] $(@` 6E! q ũK  @v bS  ] $(@` 6E! q ũK  @v bS  ] $(@` 6E! q ũK  @v bS  ] $(@` 6E! q ũK  @v bS  ] $(@` 6E! q ũK  @v bS  ] $(@` 6E! q ũK  @v bS  ] $(@` 6E! q ũK  @v bS  (@8i2#7OvO{II@@1[VDe@@  ݎ=@@ +2  Xc7t;D@:ß* >:O|h޴G}֭=%q=zywuׅV'ʿ! E ߵmEfѧ0yg>9.w6nO_pرc˦EUȑ#}뭥KdfD`W.;# P?_f1}2jã_{}?|QnիW/_3|˿Nf͚+VDXcŖ4  W^ՉEZ$ʫر:kDu^iHڕvq@r;0#n[7ߤ$+T o >N`WСBb@@+~ Dij{s}` W͗dT^%ۛEJ?*j wS ]@(_Eolۏ޼`uzE6o1n}6@b@DH"k>zϽ*qonQ/fF`74vA@` {Ms_—ɯmuXtw/aοeo=)O<+XyKtZW_1QP Ŀ y|bI`wb)@XJ2dJ\},nZ>|i5ruX+CZh/?uJ2lUȀ])+nԄjW 2zƱ_Q PǼzwJ o]@(Gݧ~fVnWˤ\|vyWe9mۮth:آ3;?ӛg;뮻o]iI:nۄ&;_([oU٨lR2@@lJq֧-R蕺# 5uξ+.Oޤp\}@)砠JtςnijYuwɷITX8 q= \" < BI :#!s U_]֤ ز``p-$eR[쾠 sꯟ0ؿzSWm;$,͜pwp@W.K.,kk{rl.~ΕFcU3,OS¹3u$moO`k; @d4ӑqC VoWU7s6K]+o- ʤniOm _.qZ|p{'=^Kީl[[ⷂ ]T  Ti d\y߾}?UHu}+[U1nm?f%۷JjGdv#!r\$%HMW/' vg7NmnE`L6(6j.k8  PrW_}ٽ+7:Qmmmj9[ZZ+:! q 00# @if&ʦ֥HAm7 솀. @I~2h]n.I}"MF`W@(Ss8w{^iƋ iH+v)k~Ժ4UH]n8㌃|G # 0L~xQBä}?zg>9.wM6=ztxo۶ѣK,15~뭷~_^ve8۟#K-@"vr4JOsFC_6l!cǎEI\idn̘1_CJ`W=H @@AW0a Ljk8@@xrԕ|;! ~YW> @@{lԑ@p'^EX@@` d+5vì#.  Ma@@aFiQm@@ (@`1 ґ4@ @@FH b'=  Z@  i]^JIENDB`b.ێ[i0/` nێ[i0/`PNG  IHDRHgFsRGBIDATx^ `TgBBxC"(!5\k#IM[Gh b5i+,FO#mH*J,*j& Jm"j|QA)njEd̜$م3ٳsy7'}g8<c9fߙ@@@@"޽{;;;_zM3!_cwv^r a    пd^z{;nolZjUݖk@@@@_k+9.|pGY    O yS_z~:     pzvoSwH    I{sa;<`30aש;<    _ tg]}Uح|:    1OHy)U/@@@@ |Aw}IrizDг߯,^á.U;;o;1BҺwys\ha?/5oy]ߚ.?|lU`a|ھD W^kݷ:Ehm;gಇ]uٚrj_yCE򮺩zf;yGO鯏i[xS/@OтKClߝE^|oJwpS9XnW<' ZU/?@®O E.vw0=|,Z~{2?/ x!jxz7q-a^׾*G}5k\f|<Ww#7W_lS\u<2otCmzNN_obo[e׏ h @@/;짤Tu?["CX7Ly}?oۨ &({O[kk1 go +,#+GUv|+>{iz]9-XmR0yE|ʒ{vg̕ew{Z O._\ug=_nJNzߴTU:W>Zrv#Y͗[jW9 MHL92\t$;\[dRGkwӝ9nxfñ~ sS3/%GR&)hk>vc81iHџ#ݧo=TEdVgHmlB;.9|i7&gٶg߰ɼNתeZS\mZ;oG?ЛYqN憝~W    g|i;[WeI)ml?~f9%RLHHutqM&.cNk|[HO?yAw~SyaQQͤ:=ǹӺ1vO9n=yso?*z0͹|%ne[cE^a^z.-ck´6{f rK"7oZݔ"`qEC J9ay(qFQ >}ˋ*'(K2 tlm\q.rmj)eo]_M;'\wCCCQr    ܛ0,/b !C0x]/9h/3]_yrG9QK:xaԦK;B<X47v߮4΢)Ыd{ws?߿J=O_1=Ӿgw M/~؋A@@@@ 9p6&75W/:rKkrtvEۨP^=1k f/vaSnu"^ܸW='$m{y?rpVJaW1?=4SU*'G=abc1CQTcqYxGZEgF;LяUaW ®*   +uuߛGT񮿯}\j[~Ϟ{>gf*7>%ơ588iÛG mIIIS.ÇSnz7e mCN?_(y}]#}5F‘|Vcn1:-=>*u    p,N ;x oxLAG    xk'љ1-JZ?eBI$a@@@@ z @@@@ 2 @E*1#CL=dC[um,c\Dc   VvL{w1(`ȎڑsS+eLc'i+*QCֶNʯ}OFv=vKW-"SA]{greml’-,$MVbK]e|ңJTZۘ-3lPv+cFb    gvY3vipA-Bs7\oI=q\V]%]H?e)Czmì_WQ6/SZR>̻Mehmj,Pe^AwVF@@@@dPEd9ѾM6hR<՜]f=(bAV]Sw#NH}M˟=w{͏,fٕ{~۬1v}Q<*^>! qzz3ǝ`"me腊c\M7 S`;;opAmz|wK<=y   pB oW :.؁3(fZ~DRO|EbUڅW_o WI/\a )AEӂAD,";af;X0Ur/pFU4k M6ζ3A@@B@q'~DEa%ZRͷQ&v`\lg~L͕߁})>.qqyƯo_Ў,yg&Uw;w2fH!}tjgOx@@%P/IĒѯ"P:++x ϜW`Wbt3OD],==+@q'<9a3A$vΉn1w}`G;1u9&?]& :*G:4okv3zEFA@@ ;3wمN"q'24  1Kǝ 7;٧ FFbL   NXo    xS=vYvu^a7@ʍY&q'9607g5v #y.iֹM#]g5{30|U"Q\ԠNGeREAZ"mmja/@L.KT$ϾJ+&h]{ KXld[^z}f7ѭ9*\#WYDTܩ65ӝikSyB]cD;}xg{޼#ǻ9feK`ImY\5po_<}3e+TfiJ(iui jڗ.Z:_tjsQywu4N3f{*R*lͤ\wt8p6A@@zM 333ȺJଢ଼ǒL ;2pa{@ Vf5Ma'%w]3:Fmᚼs"wsT᳌[g[蟔4 I(wawF   !"#auS_-e0+9VpXQ6kڗT]h) JhUPtuT>l3׼lAkUwR,)9:2;㲿A@@@ LMkrЄ̲fmQԑmdSSE;V [&/PV]{geY IAJweZBh @@@N$͚8ȸT&,Z!]-#W:,c\VHr)&?6d1*sHٸlsvvR kɸ3C'g@@@@ 4NXxBT0Mʝc5I;0;\&%7YK7l1I٥!k؅.ZINمcݤZ~ڜ OGUl0FH,^YVZWg:E6]/@Ga|+EF}o cշF2 QQkӻK.< 1fmM%ur.?`Ő-T4M<*Sa+Huj@(? C;x%uM.kUĊj;C/ `#ޔslX#}="8.D Kα48_}1(αcF^7!?30PRyD°@@@@ B{D(NDpaFH WN+yK˳d8Κ1$*leֶ(`Y*RS M#]۶eMK r얞Cmb/!Y2y@@zLdwc#Qd0b7zT_Y?6; 8KJ^B0X`'j]-\&Tj[sݪ,-Q;fkVS yLyQ_ȴ uRBQ&,#3{X VX'yD  [cs0#A^Kg GMl,64Nm L(UAq %4$sF-zСКTHʫ*+f^C$eIA*Rޡ 4K:d;j"ETQwT5@sI4&/aq`{ NPY[Xݯd  1Aĝc8rZ%#-SC8)5\q1bZ\ҝ~ '{3tgQCR)U8 \k.MZ#m2J0XZj] T#H#56_-a4@ ⸓țhQvUikQVlֆyy2; K8hӜd܇ŻQ~)^5[ H) YE ^wi _..gцZSS8 .IB2h i9y!7 AdWq߻>  "7˘Q}T\9jB%/dYc'¬b¼l$ѣ{BQDP|ftI[3 &̫R3,-2k)ׇK {vB[>yڴ}''+;C7"lu)#:baOh1S1Gaf2y@+l3wb'&MƻvXѴ%mvBiڨAq}E_,*]d}zHjQ2$ؚ:EВ+49v+bTWk+t]E55 WQchQ m?1f.͡XbJE]%ƼP"<((  {=vo{ jj5HH{\,+O4=B~h[WUM[ gğϞe ʎ:rmԧG?Z_^n"h#s{3QjZA=iҒt;j]41%05$Endbi\}M.aSPaA1KR66o^\jt32^>5_WBȋ!-{,XrJi**`59LcS5vB-R,lhatg=3 aSP)'9\fj\i =uouF i\f.ʤt?Xn`OFRum4mә#!s3x0UgRmaGj#GljӀwzhOt 5δeC[{͛vΟeMaH*EdUi"×; +eE(IP@ǎGd~ |zcZd{.h,X/.«We#[BQґm;c]da`A/dnYNC$d YS[EFK2w2RSN0;t   Eݾ%,j^\bSMM6*ˀnKsD%{-wKk@@@@ yewZ>wN^7&j{ kUKQb"N=n~ ?Ӯ;.C+f6ҪU9w\r;;g@@@@  hftwr!^SKF9rѩc-b\@{#TULǝA'/˻C[/)vt>MR(+wuumٺ_裔>pޠE2U)f,^fjltJjxR^ҭ߁ 4T^H//XLMQ@@d0PěC4oFvTٜaf<=Ӆ3w k9'y,;m!m(1>_GQ\fQ>w ڮo3ڇ~g7yҤϚE.#ݤ XWMW鯀uWd֫/3yMԔ鵧#^ȪVU\o=,)>Ho`-mu:JƩ/Uc^Ъ Y˿1 ㅨi.<,b\[g98.տU3qCY'9l+  <x㍃55t!I_Q,25FBw| ;LrO|4 YIǮQ_ Ԏ",V+/A^'/4 ;ZEON'`HYeCN+ --)))i毎;3սο (rXaaSF:+ },`0CM%N%4ֶ搲j/?H:nEh5 $aNb)hUNwie \E9ՅV^|輞Ue7%%>6&f}; Eq'e*7>`qw_~IbnJ_Q-Z~<EDS'>2+y>5vt6M #C|c,m9Lǣ .yqpLkqzJ-U)~;;Kڹ[m}rFǟEߦN D쨰ME~Uyb:EYg >  'x3::9f%V{wIDuCw6+۶ڵL={(I:?.f+Rl$>a"D([%cC 0X?e;U#JHg fE*p'O^RB9??>BEtKFw(]F A@ J؊7슍0@@@@D (H @@@ @0@@@@ i#UnJdYŎZ^R7)vd5zf Es    7avB04BߵV9LBDWw ⨊ }gwij=bopvA@@@ )o]Feޢ:l-Oj7x\̚Y?cwţ־U=)]lú69׾9ܓdXQʹAA8(nfyJglU"hv-u ebyh|+Ƚw o OҍGZII7QO=zۏA@@@ ':jY윩Ӗ6q'E,Ǝֽq޴rK܌oP[MSfy{+*=r3}3 oW\C.wβÝ0FC8h @@@ MiqϬI[6)["Hh)[ }cs6=d_Z]Sj- wEn6JW-ȯ]M,fnٴ!!c|QqU潫!l    G \U13oNț{ZckB)0jUz[elw%ґƝ|-ӮaUNBVW:|@N)^9c*ڸH5h-uNN\笎Hl/yQtAfpƺUEufzd*5W7&K>֊G)U20>]qxoP+ecRX *z@(Q@@ I5׮fMe e@QS:[(,L-W]OF?\t˞3粲JiXUԞU^:W5y H2jɇ.f+29|+0T5I Rv^}qǖH#uɢR߹ݪP+ctmg%KwJvEjNiL VEMkC"niZ\Qjmb4wEKvť}c)C%` E ~Xt){Tym\V+e{CƹLǝ~ϥ-$:>=v|Z(Vjgk"^pS2Zݡ@@BD F]h%6$yD}Ԩ1(*1So(V,2M"gk~Eٕ8dUEPR5 kuC]Bd3:0k{ݚ PMwskrz㨧r:DUp?   "wneۿ3N<>(i _~IbnJ_Qc+xz|םQEk-|*A?kxTzrL:r(<؄W]d)Ҷ~*1W_\E9]k]~Pv^i1?Р65ҎG®YDYwx9rꩧ NN>t6M 2XbX+vse\'X$0B38 rp-tcݢNQⷳ,s{I;a?.իn:TX#?E;4 &);&4<>l*MQUyb:EYgB #1  x~-ԼK%ylrsucMZHswWw㮯~g b'c_J;r} %T N\v} A4*ͶMFeQrޥM6yUM[ͺ:=3鴃.Df@@@_Ǯk%9NwڠSE>%9^˧&ǛS|xʧ'iY>m9˛!Tא/,xYke FPzȂM헏)9^ "9..YXqƬTd'.,x4gy++-[6~O'Kɬ6deb>,GoDx⺎EÆ1@ϱ.nݔB=DOUJYc%9+۫ɀ*ʻu7;:`YبY +xd6Ir3w:@4襰cݝsPSF;ȫGO_Z/,,s6Iqq3E8sTK 85;qk4['\^:ڶQe69mr2遲lڸM`Z @@@zFvvzDf]]~.cmgUx^pU=f_xqʝ$YwǺJ.# (WѴvQ2Ԥ7;|&$ PwB*_֮RY祥_yGgf(bV, }зZ$@ Ka8z{|]QӷyⳃuO6睏g<]%:~n~5?w߾{؋sS飃_w.fƯZ( VP-⧻e05 c)=wQV.ǑF>|gٷoI~M(7 ]U禒QTJ&hԐBRV4lLS2'~dkR6Z'HD^UCy*E[ G/ع@9荰Becu!GʃT2;S쓳 *]I-.Nj K sY5io "Zsޚm3X|GsW-sA* 0gzs11-[͢7Q̠(K!YX4TP@95'8ey_H= iƏ׾}C 60!aH< h;xD*e72ccqO#eWbb+LO*iI㔶TZ3 Y{Z2ӝz]G$i$]1zOi*WnX>޸iRuq93De EFp.DM칊~ :+*%$U׿Ƶ|„Wm[>)Fp\'ss&D,e}Sm, ;Н2vaԅҵڬۀʼJ< _)m{;:Fg2lhRbI 4t3E_Q=rgS##E&d"Q"cCu#gթ&{^~k[nUռ|q "92іS5zOEڊ<$ՓhbR5;k&uHrp=i: Am5AzEa [TtWVKMh @@ F%&%sGvk-ĄIk?,ytwHwaggOn`dXۘ;xq g$kDv$dc>uWJF$60%$(i e.( V)KAC"qZwAI)%D:dȡChɝq?DK#FX]JebNR}s6Ȱ9\YCN!$U_# ']!5!"팡XSMUvZLZ*j鴂7@* {~~¦5u>6fG6@L荰H*I.(%yfE1-;8@re, Mv2;a,]n8Oo*^"g~YH*mȚbLa3-ř~_V*lG8űVW\r?&2Rx #C鼴m۷>{ԑ#_9zTnC(lWWrr2}E|Bg3IM:7;qfILe* ڌAG96Agp ꗚ.'Gs+Cw{ȅz4da<_xѸ][u:ϏN:gˠ4_: =x9q"&u  sz#쒇∏~&៳dGBzT=pw)4rL:ô~9p)Yܑ9-KϜ),ryЩSL6(aJ4AY|4um.=J&A^CWzxW83ϡd*Hx rx'Lwk}\/]III[nXǙ) ?J|#KHqFNE]UC@x@g[`˯\sJcg:qOqXkCS\b\xǎkKP,S:v:sa, riK8-e᠔[ TF@荰4-R؉c,) xЄgK,c׃M~SCd!'r0TͲߦݗ71P>m,l)J-+RVњx/}c}ȑSO=eprCܰnWT@d'v( C;d~Zz (QS||?rMWuKc{$ꑋ:^Zgv6wN9TmPvS|Dm8L f]EYeV̯abi;^nReF|49jJKI#KՒլ، SBWl3wTͳbGmn,yF{ C^ݰu_CmW7~3q?P:rowkm2-Ka[۬/STI(>(_MY`?}u n?"}2+ăBe+?G"ifdACzaݐBfwRތ}Ao]Rc]g ~!X%U Mg2b^fAN[%@R".?pdW6Ž_>;N,8ezӅ'&…]gg7xC 5>蓔_^x!I_Q?|wbpΨ}BFՀF _4E/fk"z7F fa"8FWVmXEVWGHoKP3BQzW[2asW:]c\V`ҭ*aUfEmP ũ~B̋6)\j6y$Xٮ"gkFNXJ;J;m,Hժ8VU'k|qU:SҤR[$leNjz,ekWmZ34d3>o}C @X 0Mdڰn :y@aK58mnmi/4_?ԟy ߷I_QtfZemOۡrEZ5֔_^S~nx{]*Hik]+C#ɑSRŌ YWRōOwהߚ-ү68-CjHghzZBL&T囫ʦqBդ-[&!;/)iQ)>ª*PDY,*>yrU*64.jVlr-iM!=jUNS^J5Y-rEFSS%5LliO=녣?<Oavߧs+In]6J7ǯǎg?ʱm6"#F!qc~]9;YӖ+*pt=c-$mh^$~j.Fqr!nmCV~q#>=H2ksU=BܟT*YM#sĬ=NISVCu^vEk{yXM7$᪪jK ]5ekk'yѭd爾P:N5kSh3$U5,G7õsDqE*F+X=$^8ȧ@@m}U[ꜪN:eu~=vKWINg[+Oˋ*G|$ػwol>cHR@T}8Ow~CKbpʯ|fxҪ3D@LK"VP%0dPic'-':Ŭaߠ͛)Gi1m>WڴjM䲎FC7'59^{9/Vrw Ѭ)Ezd@Ӑ%n Z藚ϕBFVs(KktidRU A,faA A J Kعvgph~8_SSc0Fjw_{^`NJq(Vxy֘ t]!WݭESCi˕0m@uޟZ\uklƷ8Xm-IeO~O>ZTvL:Kc*Y2%oډYvHN`„ }ⲲS\QWkwE[n!жAEY*ʭWWZ/#IϙQNg؊++_PGvGlbҸ,c{9M-}VUGXz &JJ{|lzU'D3h] @@@ @tc   L.gc)v15,@4@@@b]LM7     yv16"aSӍD3h] @@@ @tc   L.gc)v15,@4@@@b]LM7    )V9J5xKM[aeaڈEەۮb%{L`K4     0 ;Wœ HJ&!+|ҳ]6*#5%Y"jAY͚ԂAB    'kW[J;~ƨ \y.dS$ eUGesMuf-?0@@@BDAx<3~$}s@KK`mX5ƹ*Yvܵ ,yGM֥5\Ӗ-_mȸGe⾴:"æao,KQ]wZ김[N^45Q׬    @ ,.Rǥdr6C"EBl}oZY;ٽO޸(Z|-NHYQM9572zqE,L'   "=uw]P%?_9Ė-ۯjI,[P1I׈ rݤT(   @؄/w rsD;'L9%̔ʬ[YCɖ7nP6w.]O/OW;klN4y?G;%u\I0Qtv-9nKIcFr*WWAK\ґhɎZF(\r J=xA@@ ,t@1]Xf+da&ː*Jх"iR@…) e\x3{; Pc586/6'A!)4   O(6aI v9XV!J{ì1MJ yUF+2Q d0͐>kO_g,Gdr͟5;~䎜y搮XrUw5t   pb @؝Xћ*TybfX#o{Jlw;H{yyY'i{6cՁSma^ʪwC©rؐk_qAQ_}weïXr  QO.i W>_ky定7JI!ya]w9R}峯KڞB] 1\^w<@Kʽ!A~)olL͕߁"ƻ64iﱋA@b]̴8~b)-UZ071)yn[rұwbiݘo?y(A(\Bl;'ݕ08qv^ެ/f  N Lhp0>!a3SD;ha@@@ f@Tc   N.g%VM[J/K@X$p"]E\6r41~EY rtsD1Ϸll*[\;E i#UnWyGYM˼X|l0fH$sHT]7lOI[b/$ جƹrwkr,eznr Y'y7*)ͩʒF7O[RҨ §d-ffԉ9vMMM'u@@@J 333H(Jଢ଼ǸW҃I nsɬҍ,-0Րz3zvl^hꗺmZ_:Z( @=v yWu+.5y/먜S&r!*G =*-~.:ki.7bRN4Lp ;xLK)n,m[hHn5[Fenk_d4nƥuZ OMV/[XecNsxh@@@@#uvJ]{k7Y5y{{Zm# ӼnfNJw( z.r9    EqG*Q<Ԥ)s3vO/;Tax 2Rms$aףqJV&+ۓTCU ;%`QêyVYqxʖ:iK 6oF    ^'Y"6Y5)'sgU%1م :DŽ^s?N0Yz޾OHuSq0g|bf8E%gK5-|   ]NKF֛2! 7ڝL˸1vE r,[{X;q9+ mװYXũ=zwzx{rV٭/N'$p҄:չm6XpUVxmؑ jLu]I2#p\{Ɔ{V b:-Y]8[h" I (>I-D98"h'-+1N8Q No %5v>'l.̂aN/u]Ys͝'/) u{βГdžT[Sg-s,`&[lzEӡl›ړ ZsC{@MoG]{OΞtY{MeviqԱy<D5g$ ;)>|8==Hv863q݋=_Rb΢B$l3̤y P"*6D?# I> Ni4Eޒ2cHfi1qGjM^놨bSjNBT[=n;G׎|qH ' GO4`͛7;vlڴit^鱳U@V2V)R\aVfUv0z mJ=Cf04e/ EcyzɫǥY'jⷣfI/_"ç;5]plm <iIv<>dȐɓ'֭!4OiQVUةaFh hV ?+{I %P(k>LQBAWg|.oG2JWXSNݸQuu*e03b5{8\I/Ugb4J9G g@@ 6 HaDl>$џѣG˯|hxR]ju$u4[DW{ Hn4tP=ld W OӄSͲ@MNjMB57oWbN_O ^C b,5O9v#UdId7 /$#DTOڳXW@FgC\S=hE=G)#Gw~  &vx tR9rd߾} | a<n[_ń80%Hmr-o(BΨErGBS6 3M~(EYuM 5׼EؽikoeE3)6ڑ2%)GeBG2Pf;ft_-{946,Ԅf n6r H8!TL&ag7@EFO. ;<:>裝;w~嗻v]ӄmO]Ǟ9Ygv EHE^%,8VځxKS-ҊyQBM5eSF2vV={&KݦF8E)w=*9:"oܭ#k6zx$6(xmF8ҵLtF]O=nHv|}\v]cG)--|wDry<ǥv~bO@Z7h[Ͷq7 N.f @葰hv@@@ @#   B.Zfyv1@8@@@b]?   - e&1'aD hI@@@ @#   B.Zfyv1@8@@@b]?   - e&1'aD hI@@@ @#   B.Zfyv1@8@@@b]?   - e&1'aD hI@@@ @#   B.Zfyv1@8@@@b]?   - e&1'aD hI@@@ @#   B.Zfyv1@8@@@b]?   - e&1'aD hI@@@ @#   B.Zfyv1@8@@@b]?   - e&1'aD hI@@@ @#   B.Zfy"x^j<1-p,[N;o89+Do%c\ۃI 끰qK!@@@]L$   vx@@@@ J`]L$  DvӮ< wUtuꠜpV\gϞGS8$&&9r֬YbD ,>>yoNܧ"r_}kkZ|yA7x#>rg}˯m A@@ ~ϿsIiI%^'rd?67͛wꩧ9r$g* >ŋs= ; -ʀ@? ّQ8FD H㧟~zԨ:/FD 8vcBatށhJ㎦Qkc ~$]O<D4(7=bcѣ    ో}   <0JN-i_OvHK{  %D@!_iмrJB@sڶ4454tw7d+[%cӦ,xG/ e-g;D&%.z_^|:H ) u\W=r`vq#8|۲>%ԋ ®P@@j/noཛ_nZVٸ9.לq>0\;r~R/x}z{~8"(@j3N@XeU\~y{ڿ-/&ֶيWm!q[a w%~#:m]z.9v_l@"Ph^蛐^vLMNf1ڹ?}vU:_e[.++[p!+H˕=D.EIлb,X@CWc @禛^^v|wM >q=)Bѵ͞m ў1^9R>їekbUQz_ć|æoJ CgG.b~a@_+xIicS(Vճc5c[%g;v{%$}:4&XhD4.m觜rʇ~6OzR=OA ؠ~br 3:O~/oR?g=ѣG̙#-ꫯ6lpWеWAم    ~ p9shbQ7\`L]t)?L/CN;mܹBE B -[=\k@ػwh]S410325i]S410326]l3S410327[3S410328m[S410329 O]S410381CP^^410400s^vq\^410401410402410403kSN:S410404w:S410411[nl:S410421[0NS410422SS410423q\S410425ϐS410481^410482]l]^410500[3^410501410502e\:S410503SsQ:S410505k:S410506[:S410522[3S410523dl4S410526nS410527QĞS410581g]^410600dX^410601410602dq\:S410603q\W:S410611mn:S410621ZmS410622mS410700eaN^410701410702~e:S410703kSn:S410704Ql:S410711grΑ:S410721eaNS410724 VS410725S3S410726^%mS410727\NS410728WS410781kS^410782S^410800&q\O^410801410802>e:S410803蕐nVeꁻlS632222AyޏS632223wmOfS632224R[S632300ĞWSυeꁻl]632321 TNS632322\NbS632323l^S632324lWSSeꁻlS632500wmWSυeꁻl]632521qQTS632522 T_S6325235_S632524tQwmS6325255WSS632600gmυeꁻl]632621slS632622ssS632623u_S632624eS632625ENlS632626sYS632700shυeꁻl]632701sh^632722BgYS632723yYS632724lYS632725V&S632726fS632800 wmSeυeꁻl]632801T\ꁻl:S650100LN(gP^650101650102)Yq\:S650103lO]KQ:S6501046501054lxl:S6501064Yo\l:S650107BWW:S650109s|N:S650121LN(gPS650200KQbsO^650201650202rq\P[:S650203KQbsO:S650204}vxn:S650205LN\y:S652100Tju0W:S652101Tju^652122/US652123XbKQ S652200T[0W:S652201T[^652222 ]̑dWT(KQꁻlS652223 O>TS652300 f TVeꁻl]652301 f T^652302^^652323|TVXS652324s~eS652325GYSS652327 T(g(\S652328(gWT(KQꁻlS652700 ZS\TXbSꁻl]652701ZSPN^652702?bq\S^652722|lS652723)nlS652800 ]^iSꁻl]652801^\R^652822nSS652823 \rS652824傌S652825N+gS652826 qVeꁻlS652827TYS652828TUxS652829ZSVnS652900?KQς0W:S652901?KQς^652922)n[S652923^fS652924lŖS652925eTS652926bWS652927LNNS652928?tcS652929gjWS653000 KQ\[Rςg\KQ\[ꁻl]653001?VN^653022?KQvS653023?TGYS653024LNp`S653100UN0W:S653101UN^653121uDS653122uRS653123 TlS653124lnfS653125fS653126SWS653127vcS653128\nfVnS653129=O^S653130]ZiS653131 TXN^\r^TX TKQꁻlS653200T0u0W:S653201T0u^653221T0uS653222XsS653223vq\S653224mfmS653225V{RS653226N0uS653227l0NS654000 OrT(KQꁻl]654002 O[^654003NYo\^Y T'`+R1-7u2-sYNNb/gLRNNr`1-(WL2-O3-yO410-\f[Ye^ 412-yrؚ~Ye^\f[ 413-ؚ~Ye^\f[ 414-N~Ye^\f[ 415-N~Ye^\f[ 416- N~Ye^\f[ 050--Nf[Ye^ 052-ؚ~Ye^-Nf[ 053-N~Ye^-Nf[ 054-N~Ye^-Nf[ 055- N~Ye^-Nf[ 061--N\f[ckؚ~Ye^ 062--N\f[ؚ~Ye^ 063--N\f[N~Ye^ 064--N\f[N~Ye^ 065--N\f[ N~Ye^0-e 990-vQN 7 991-ckؚ 7 992-oRؚ 7 993--N~ 7 994-R~ 7^S^Sf[!h TyfNSQut^gNSSR]\OeNYet^P110000SN^110100^:S110101NW:S110102W:S110105g3:S1101060NS:S110107wofq\:S110108wmm:S1101094Yl:S110111?bq\:S110112]:S110113zIN:S110114 fs^:S110115'YtQ:S110116`g:S110117s^7:S110200110228[NS110229^^S120000)Y%m^120100120101Ts^:S120102lN:S120103l:S120104WS_:S120105lS:S120106~eh:S120110N=N:S120111R:S120112%mWS:S120113S:S120114fkn:S120115[{W:S120116nwme:S120200120221[lS120223YwmS120225߄S130000lSw130100w[^^130101130102[:S130104eh:S130105eNS:S130107NIw:S130108ՈNS:S130109W:S130110l:S130111>hW:S130121NIS130123ck[S130125LUS130126up[S130127ؚS130128mlS130129^vS130130egS130131s^q\S130132CQlS130133uS130181Ɩ^130183Kf]^130184ePN^130200Uq\^130201130202WS:S130203S:S130204SQ:S130205_s^:S1302070NWS:S1302080Nm:S130209fY8u:S130223nS130224nWSS130225PNNS130227S130229s0uS130281uS^130283[^130300yv\^130301130302wm/n:S130303q\wmsQ:S130304S4bl:S130321RneꁻlS130322 fΞS130323b[S130324bSS130400^< 130401130402q\:S130403NS:S130404 YtQ:S130406\\w:S130421S1304234N3oS130424b[S130425'Y TS130426mS130427xS130428aNS1304298lt^S130430S130431!lS130432^s^S130433vS130434OS130435fhTS130481fk[^130500S^130501130502ehN:S130503130521SS1305224NWS130523QNS130524gaNS130525'\S130526NS130527WSTS130528[KfS130529]S130530elS130531^[S130532s^aNS130533ZS130534nlS1305354NS130581WS[^130582ll^130600O[^130601130602e^:S130603S^:S130604WS^:S130621nWS130622nтS130623m4lS130624s^S130625_4lS130626[tQS130627US130628ؚ3S130629[WS130630mnS130631gS130632[eS130633fS130634f3S130635!S130636zs^S130637ZSΑS130638ĖS130681m]^130682[]^130683[V^130684ؚx^^130700 _[S^130701130702130703130705[S:S130706 NV:S130721[SS130722 _SS130723^OS130724lnS130725\INS130726S1307273SS130728`[S130729NhQS130730`egS130731mS130732dWS130733]yS140722]CgS140723TzS140724f3S140725[3S140726*Y7S140727AyS140728s^eS140729upwS140781NO^140800ЏW^140801140802vVn:S1408214NsS140822NcS140823US1408247zq\S140825e~S140826~S140827WfS140828YS140829s^FS140830WS1408818lNm^140882l%m^140900_]^140901140902_^:S140921[DS140922NSS140923NS140924A~\S140925[fkS140926YPNS140927^y`lS140928N[S140929\\S140930lfS140931O_S140932OPsQS140981Ss^^1410004N~l^141001141002'\:S141021flS141022WS141023D~lS141024*mmS141025SS141026[lS141027nmq\S141028 TS141029aN[S141030'Y[S141031S1410328lTS141033S141034~lS141081Ol^141082 ]^141100Th^141101141102yw:S141121e4lS141122NWS141123tQS1411244NS141125ggS141126w|iS141127\S141128eq\S141129-N3S141130NSS141181][IN^141182~l3^150000QSꁻl:S150100|TTimyr^150101150102eW:S150103Vl:S150104sl:S150105[U:S150121W؞yr]e150122XbKQXbS150123Tgjl:S320311lq\:S320312ܔq\:S3203210NS320322lS320324bw[S320381el^320382]^3204008^]^320401320402)Y[:S320404|i:S320405bX0X:S320411eS:S320412fkۏ:S320481n3^320482ё[W^320500ς]^320501320505NN:S3205064T-N:S320507vW:S320508Yς:S3205094T_l:S3205818^q^320582 _[/n^320583fq\^320585*YN^320600WS^320601320602]]:S320611/n:S320612320621wm[S320623YNS320681/TN^320682Yv^320684wm^320700ޏN/n^320701320703ޏN:S320706320707ci:S320722NwmS320723LpNS320724LpWSS320800m[^320801320802320803m[:S320804m4:S320811nfm:S320826m4lS320829*mlS320830vwS320831ёVnS320900vW^320901320902NVn:S320903v:S320921T4lS320922nwmS320923[S320924\3S320925^VnS320981NS^320982'Y0N^321000lb]^321001321002^u:S321003_l:S321012_l:S321023[^S321081N_^321084ؚ^321100G_l^321101321102NS:S321111m]:S3211129N_:S3211819N3^321182lb-N^321183S[^321200l]^321201321202wmu:S321203ؚ/n:S321204Y0X:S321281tQS^321282V_l^321283ltQ^321300[^321301321302[W:S321311[k:S321322l3S321323l3S321324l*mS330000Ym_lw330100mg]^330101330102 NW:S330103 NW:S330104_lr^:S330105bX:S330106Vn:S330108n_l:S330109'q\:S330110YOmg:S330122Ph^S330127m[S330182^_^330183[3^3301854N[^330200[l^< 330201330203wmf:S330204_lN:S330205_lS:S330206SN:S330211Gwm:S330212]:S330225aq\S330226[wmS330281YOY^330282Han^330283IYS^330300)n]^330301330302W:S330303~n:S330304twm:S330322m4YS3303248l VS330326s^3S330327͂WSS330328ebS330329lzS330381^t[^330382PNn^330400 VtQ^330401330402WSVn:S330411y2m:S330421 VUS330424wmvS330481wm[^330482s^Vn^330483PhaN^330500Vn]^3305013305024TtQ:S330503WSTm:S330521_nS330522tQS330523[ TS330600~tQ^330601330602W:S330603geh:S330604 N^:S330624e fS330681f^330683J]]^330700ёNS^330701330702zZW:S330703ёN:S330723fkINS330726fm_lS330727x[S330781pQn^330782INLN^330783N3^3307848l^^330800b]^330801330802gW:S330803b_l:S3308228^q\S330824_SS3308258nS330881_lq\^330900q\^330901330902[wm:S330903330921\q\S330922J]lS331000S]^331001331002i_l:S331003Ğ\:S331004eh:S331021ssS331022 N蕿S331023)YSS331024NE\S331081)n\^3310824Nwm^331100=N4l^331101331102:S331121R0uS331122NS331123B fS331124~g3S331125NTS331126^CQS331127of[rueꁻlS331181l^340000[_w340100T^340101340102vtwm:S340103^3:S340104q\:S340111Sl:S3401210NS340122NS340123S340124^_lS340181]Vn^340200Vn^340201340202\Vn:S340203 __l:S340207 _l:S340208 Nq\:S340221VnS340222A~ fS340223WSuS340225e:NS340300W^340301340302P[Vn:S340303q\:S340304yO:S340311m N:S340321`܏S340322NlS340323VGS340400mWS^340401340402'Y:S3404030u[^:S340404"[Ɩ:S340405kQlQq\:S340406XoƖ:S340421QSS340500lq\^340501340503q\:S340504q\:S340506ZSg:S340521S_mS340522+Tq\S340523TS340600mS^340601340602\gƖ:S340603vq\:S340604pq\:S340621onS340700ܔu^340701340702ܔ[q\:S340703rP[q\:S340711340721ܔuS340800[^^340801340802Ώ_l:S340803'Y‰:S340811[y:S340822`[S340823g3S340824\oq\S340825*YVnS340826[~gS340827g_lS340828\S340881PhW^341000Ğq\^341001341002o\n:S341003Ğq\:S341004_]:S341021YkS341022O[S341023ߞS341024Ay蕿S341100n]^341101341102t t:S341103WS/:S341122eg[S341124hQiS341125[܏S341126Q3S341181)Y^341182fIQ^3412003^341201341202]:S341203N:S341204l:S3412214NlS341222*YTS341225WSS341226 NS341282Lu^341300[]^341301341302Weh:S341321xq\S341322'S341323uptS341324lS341500mQ[^341501341502ё[:S341503Ո[:S341521[S341522 S341523WS341524ё[S341525 q\S341600N]^341601341602/W:S341621m3S341622WS341623)RS341700`l]^3417013417025`l:S341721NS341722wSS341723R3S341800[W^341801341802[]:S341821ΐnS341822^_S341823lS341824~nS341825e_S341881[V^350000y^w350100y]^350101350102350103S_l:S350104Nq\:S350105l>\:S350111Kf[:S350121OS350122ޏ_lS350123WnS350124nS3501258llS350128s^moS350181yn^350182PN^350200S^350201350203`f:S350205wml:S350206Vn̑:S350211Ɩ:S350212 T[:S350213[:S3503000u^350301350302WS:S350303m_l:S350304TW:S350305y\:S350322N8nS350400 Nf^350401350402hR:S350403 NCQ:S350421fnS350423nAmS350424[SS350425'Y0uS350426$\nS350427lS350428\PNS350429l[S350430^[S3504818l[^350500l]^350501350502W:S3505030Nl:S350504m_l:S350505l/n:S350521`[S350524[nS3505258l%fS350526_SS350527ё蕿S350581wr^350582Kf_l^350583WS[^3506003o]^350601350602W:S350603e:S350622NS3506233ofmS350624ϋ[S350625lS350626Nq\S350627WSVS350628s^TS350629NS[S350681wm^350700WSs^^350701350702^s^:S350721z fS350722fmWS350723IQlS350724~gnS350725?eTS350781fk^350782fk7Yq\^350783^t^350784^3^350800\^350801350802eW:S350821@lS3508228l[S350823 NmgS350824fks^S350825ޏWS3508813os^^350900[_^350901350902IW:S350921fmS350922S0uS350923O\WSS350924[[S350925hT[S350926gcS350981y[^350982y^360000_lw360100WS f^360101360102NVn:S360103360104RN1:S360105~n̑:S360111Rq\Vn:S360121WS fS360122e^S360123[INS360124ۏ$S360200of_G^360201360202 f_l:S360203sq\:S360222nmhS360281PNs^^360300 aN^360301360302[n:S360313XnN:S360321S360322 NhS360323nS360400]N_l^360401360402^q\:S360403Tm3:S360421]N_lS360423fk[S360424O4lS3604258lOS360426_[S360427fP[S360428 fS360429VnSS360430m_lS360481^t f^360482qQRW^360500eYO^360501360502n4l:S360521R[S360600pmo^360601360602gVn:S360622YO_lS3606815n^360700c]^360701360702z!:S360703WS^:S360721cS360722O0NS360723'YYOS360724 NrS360725]INS360726[܏S360727WSS360728[WSS360729hQWSS360730[S360731NS360732tQVS360733O fS360734[LNS360735wWS360781^tё^360800 T[^360801360802 T]:S360803RS:S360821 T[S360822 T4lS360823\_lS360824er^S3608258l0NS360826lTS360827B]S360828N[S360829[yS3608308leS360881NQq\^360900[%f^360901360902]:S360921IYeS360922N}S360923 NؚS360924[0NS360925V[S360926ܔS3609810NW^360982jh^360983ؚ[^361000b]^3610013610024N]:S361021WSWS361022Ξ]S361023WS0NS361024]NS361025PN[S361026[ĞS361027ёnS361028DnS361029NaNS361030^ fS361100 Nv^361101361102O]:S361121 NvS361122^0NS361123sq\S361124Ŕq\S361125*j\S361126 _3S361127YOr^S36112813S361129Nt^S361130zZnS361181_tQ^370000q\Nw370100NmWS^370101370102S N:S370103^-N:S370104ik:S370105)Yeh:S370112SW:S370113n:S370124s^4S370125Nm3S370126FUlS370181zN^370200R\^370201370202^WS:S370203^S:S370211Ğ\:S370212]q\:S370213Ngl:S370214< W3:S370281]^370282sSX^370283s^^^370285^370300mZS^370301370302m]:S370303 _^:S370304ZSq\:S3703054Nm:S370306hTQg:S370321ShSS370322ؚRS370323lnS370400g^^370401370402370403W:S370404\W:S370405S?Q^:S370406q\N:S370481n]^370500N%^370501370502N%:S370503lS:S370521W)RS370522)R%mS370523^vS370600pS^370601370602X:S370611yq\:S370612_rs^:S370613q\:S370634\S370681S^3706823^370683]^370684성^370685b܏^370686h^370687wm3^370700MoJW^370701370702MoW:S370703[N:S370704JWP[:S370705NYe:S3707244NgS370725 fPNS370781R]^370782W^370783[IQ^370784[N^370785ؚ[^370786 f^370800Nm[^370801370811NW:S370812VQ]:S370826_q\S370827|SS370828ёaNS370829 VeyS370830vl NS370831l4lS370832hq\S370881f^370883W^370900l[^370901370902lq\:S370911\\:S370921[3S370923654021 O[S654022 [^g\!/OꁻlS654023 WS654024]YuS654025enS654026-fςS654027yrKQeS654028<\RKQS654200TXW0W:S654201TXW^654202LNς^654221OeS654223l~nS654224Xb̑S654225ՈlS654226 T^KQ[\SꁻlS654300?Rl0W:S654301?Rl^654321^\%mS654322[tS654323ywmS654324T]lS654325RlS654326 T(gCNS659000 ꁻl:SvS~L?e:SR659001wlP[^659002?b\^659003V(gKQ^659004N[ n^L?e:SRx 7L?e:SR Ty 7 010-ؚI{f[!hYe^011-Yec012-oRYec 013-^ؚ!h 014-RYeؚ!h 020--NI{NNf[!hYe^ 022-ؚ~^-NN 023-^-NN 024-Rt^-NN 025-YeXT-NN 030-b]f[!hYe^ 032-ؚ~^b!h 033-^b!h 034-Rt^b!h 035-YeXTb!h 040-b]f[!hYe^[`Nc[ 042-ؚ~[`Nc[Ye^ 043-N~[`Nc[Ye^ 044-N~[`Nc[Ye^ 045- N~[`Nc[Ye^ wꁻl:S0v^  7aNG 7)!jg-Nvpenc!h0penc b[݋FhI{R/T(u[ Yg[*g/T(u cY Nek/T(u0 721.Yg(uExcel2003Hr,g: b0]wQ0܃US pQ0 y0T>f:yY N O!k bV-N~rWW 7:1.Yg(uExcel2007Hr,g Sb_Excel2007v0Excel y0 pQ0ON-N_0 b0ON-N_n0 7/ (W0ON-N_0n;ub b0[n0 (W;ubSO b0/T(u@b g[0 pQ0nx0 7060-Ly9ei~NTv-N\f[Ye^Ly 7 /T(u[vd\Oek 7 Tf[!hvteSOd\OekY N 7 DN2  7 aNQgf[!hNYe30t^Ye^cfN{vNXTOo`Gl;`h 7 XXw ꁻl:S0v^   7 f[!h@b(WL?e:SR  7 f[!h Ty  7 fNS  7 Y T  7 '`+R  7 Qut^g YYYY-MM)  7 NS  7 SR]\Oe YYYY-MM)  7 NYet^P (tepe)   7 NNb/gLR  7 NNr`  7 ^  7 aNG  7  USMOvz  kXhN T|5u݋ kXheg t^ g e  H L      7 Nwm 7  0aNQgf[!hNYe30t^Ye^cfN{vNXTOo`Gl;`h 0 kXQf  7 SN 7 )Y%m 7 lS 7 q\ 7 QS 7 [ 7  Tg 7 ў_l 7 _lς 7 Ym_l 7 [_ 7 y^ 7 _l 7 q\N 7 lWS 7 VnS 7 VnWS 7 ^N 7 ^ 7 wmWS 7 ͑^ 7 V] 7 5] 7 NWS 7 υ 7 U 7 u 7 Rwm 7 [Y 7 eu 7 euuN^uQV 7^S 7S:S  7w 001 0aNQgf[!hNYe30t^Ye^cfN{vNXTOo`Gl;`h 0(uExcel6R\OkXb0 002fNS:N14MO 1uTw~YeL?eQ ĉR:N 6MOL?e:SRNx+8MOz^S 0 001 w~0W:SNx:NL?e:SRNxMR$NMO wQSOY N   $,-35HJQSXY^_ 7 002 T8MOz^S:N00000001 999999990 003Y T0'`+R0Qut^g0NS0SR]\Oe0NYet^P0NNb/gLR0NNr`I{ c[E`QY[kXQ0f[!h@b(WL?e:SRkXQ^S:S aNG 0f[!h TyQhQyNUSMOlQzN 0#$%acdfjl 7_lςw 7 /lfNSSkXQMRmQMOsSw^S N~Nx N,:N,g0WQuNXTvNMR6MO f Nz^S0 7-Nz:S410804lQg:S410811q\3:S410821OfkS410822ZS1rS410823fk_S410825)nS410882l3^410883_[]^410900o3^410901410902NS:S410922n0NS410923WSPNS410926S410927SMRS410928o3S411000 f^411001411002O:S411023 fS411024"uS411025DWS411081y]^411082[^411100/ol^411101411102nGl:S411103W:S411104Su:S4111213S4111224NS411200 N\^411201411202Vnn:S411221n`lS411222US411224bSlS411281INl^411282up[^411300WS3^411301411302[W:S411303gS:S411321WSSS411322eWS411323\S411324Gs^S411325QaNS411326m]S411327>yeS411328UlS411329eΑS411330PhgS411381]^411400FUN^411401411402hV:S411403bw3:S411421lCgS411422bwS411423[uS411424gWS411425^WS411426YS4114818lW^411500O3^411501411502Iml:S411503s^eh:S411521Wq\S411522IQq\S411523eS411524FUWS411525VYS411526bo]S411527mnS411528o`S411600hTS^411601411602]Gl:S411621vblS411622NSS411623FU4lS411624lNS411625WS411626m3S411627*Y^S411628S411681yW^411700{l^^411701411702W:S411721s^S411722 N!S411723s^S411724ck3S411725nxq\S411726l3S411727]lWSS< 411728Bs^S411729e!S419000 wvS~L?e:SR419001Nmn^420000VnSw420100fkIl^420101420102_l\:S420103_lIl:S420104ZxS:S420105Il3:S420106fk f:S420107420111*mq\:S420112NVn:S420113IlWS:S420114!8u:S420115_lY:S420116ĞB:S420117e2m:S420200Ğw^420201420202Ğw/n:S420203^Xq\:S420204 NF:S420205q\:S4202223eS420281'YQ^420300AS0X^420301420302{:S420303 _~n:S4203043:S420322S420323zq\S420324znS420325?bS4203819N_lS^420500[ f^420501420502u:S420503 O[\:S420504pQ:S420505sN:S4205067Yu:S420525܏[S420526tQq\S420527yR_S4205283W[eꁻlS420529N\W[eꁻlS420581[^420582S_3^420583g_l^420600D3^420601420602DW:S420606 jW:S420607D]:S420624WS3oS4206257WS420626O^S420682lS^420683g3^420684[W^420700]^420701420702hP[Vn:S420703NS[:S420704W:S420800F^420801420802N[:S420804cR:S420821Nq\S420822l mS420881ey^420900][a^420901420902][WS:S420921][ fS420922'Y`S420923NhS420981^W^420982[F^420984Il]^421000F]^421001421002l^:S421003F]:S421022lQ[S421023v)RS421024_luS421081w^421083*mVn^421087~gn^421100ĞQ^421101421102Ğ]:S421121VΘS421122~[S421123W0uS421124q\S421125`m4lS421126r%fS421127ĞhS421181W^421182fktz^421200T[^421201421202T[:S421221 V|S421222WS421223]3S421224q\S421281dX^421300]^421301421303f:S421321S421381^4l^422800 i`eW[eׂeꁻl]422801i`e^422802)R]^422822^YS422823]NS422825[i`S422826T0NS422827egQS422828d\S429000429004NCh^429005\o_l^429006)Y^429021^yQgg:S430000VnWSw430100l^430101430102Ʉ:S430103)Y_:S430104\:S430105_y:S430111薱:S430112gW:S430121lS430124[aNS430181Om3^430200*h2m^430201430202wXX:S430203m:S430204w\:S430211)YCQ:S430221*h2mS4302238eS4302246uS430225puS430281u^430300Xnmo^430301430302Vn:S430304\XX:S430321XnmoS430381XnaN^430382q\^430400a3^430401430405sVf:S430406\:S430407w:S430408Xn:S430412WS\:S430421a3S430422aWSS430423aq\S430424aNS430426AyNS4304813^4304828^[^4305003^430501430502Sn:S430503'Yey:S430511STX:S430521NS430522eS4305233S430524VS430525mSS430527~[S430528e[S430529WekׂeꁻlS430581fkQ^430600\3^430601430602\3|i:S430603Nn:S430611Tq\:S430621\3S430623NS[S430624Xn4S430626s^_lS430681hlW^4306824NXn^4307008^_^430701430702fku:S430703W:S430721[aNS430722Il[S430723oS4307244NoS430725ChnS430726w蕿S430781%m^^430800 _[Lu^4308014308028l[:S430811fkun:S430821Ha)RS430822Qh iS430900v3^430901430902D3:S430903kq\:S430921WSS430922Ch_lS430923[SS430981l_l^431000]^431001431002SVn:S431003ςN:S431021Bh3S431022[zS4310238ltQS431024 VyS4310254NfkS431026]lWS431027BhNS431028[NS431081DtQ^4311008l]^431101431102u:S431103Q4ln:S431121Ay3S431122N[S431123SLrS431124SS431125_l8lS431126[܏S431127݄q\S431128e0uS431129_lNSvteꁻlS431200`S^431201431202dW:S431221-NeS431222luS431223nS431224nfmS431225O TS4312263ׂeꁻlS431227eCfOeꁻlS431228_lOeꁻlS431229 V]ׂeOeꁻlS431230SOeꁻlS431281*m_l^431300Z^^431301431302Zf:S431321S\S431322eSS431381Q4l_l^431382mn^433100 XnW[eׂeꁻl]433101 T^433122lnS433123QQS433124WS433125OVS433126SNS4331278lzS433130q\S440000^Nw440100^]^440101440103T~n:S440104y:S440105wms:S440106)Yl:S440111}vN:S440112ĞW:S440113juy:S440114:S440115WSl:S440116\:S440117NS:S440118XW:S440200sQ^440201440203fk_l:S440204Hm_l:S440205f_l:S440222YtQS440224NSS440229nS440232sNnvteꁻlS440233e0NS440281PN f^440282WSĖ^440300m3W^440301440303WVn:S440304y0u:S440305440306[[:S440307\:S440308v0u:S440400swm^4404014404022m:S440403e:S440404ё~n:S440500Ul4Y^440501440507Vn:S440511ёs^:S440512o_l:S440513no3:S440514noWS:S440515owm:S440523WSoS440600[Oq\^440601440604yW:S440605WSwm:S440606z_:S440607 N4l:S440608ؚf:S440700_l^440701440703_l:S440704_lwm:S440705eO:S440781Sq\^440783_s^^440784dq\^440785i`s^^440800[n_l^440801440802dNW:S440803q\:S440804aW4Y:S440811z:S440823BnS440825_S440881^_l^440882]^4408834T]^440900 T^440901440902WS:S4409045u}v:S440981ؚ]^440982S]^440983O[^441200^^441201441202z]:S441203Vn:S441223^[S441224`ƖS441225\_S441226_^S441283ؚ^441284VO^441300`]^441301441302`W:S441303`3:S441322ZSWS441323`NS441324蕿S441400h]^441401441402h_l:S441403hS:S441422'YWS4414230NzS441424NNSS441426s^܏S441427I\S441481tQ[^441500Ul>\^441501441502441521wm0NS441523FlS441581F0N^441600ln^441601441602nW:S441621+}ёS441622]S441623ޏs^S441624Ts^S441625NnS4417003_l^441701441702_lW:S4417213S4417233NS4417813%f^441800n܏^441801441802nW:S441803ne:S441821[OQS4418233q\S441825 ޏq\XevteꁻlS441826ޏWSvteꁻlS441881_^441882ޏ]^441900N^442000-Nq\^445100no]^445101445102Xneh:S445103no[:S445122vs^S445200c3^445201445202iW:S445203cN:S445222cS445224`egS445281nf[^445300Nnm^445301445302NW:S445303N[:S445321etQS445322WSS445381W[^450000^Xeꁻl:S450100WS[^450101450102tQ[:S450103Ry:S450105_lWS:S450107aNXX:S450108o^:S450109[:S450122fk#S450123[S450124lq\S450125 NgS450126[3S450127*jS450200g]^450201450202W-N:S450203|\:S450204gWS:S450205gS:S450221g_lS450222gWS450223[S450224[S4502254lׂeꁻlS450226<  N_lOeꁻlS450300Bhg^450301450302y\:S450303Si_:S450304aq\:S450305Nf:S450311q\:S4503124NBh:S4503213gS450323up]S450324hQ]S450325tQ[S4503268lyS450327Lp3S450328܀TeꁻlS450329DnS450330s^PNS450331TfmS450332m`WvteꁻlS450400h]^450401450403Ny:S4504052m:S450406)W:S450421͂hS450422䅿S450423q\S450481\n^450500Swm^450501450502wmW:S450503wm:S450512q\/n:S450521TfmS4506002W/n^450601450602/nS:S4506032W:S450621 N`S450681NtQ^450700]^450701450702WS:S450703S:S450721upq\S450722fmSS4508005/n^450801450802/nS:S450803/nWS:S450804XX:S450821s^WSS450881Bhs^^450900sg^450901450902s]:S450903y~:S450921[S450922F]S450923ZS}vS450924tQNS450981SAm^451000~vr^451001451002S_l:S4510210u3S4510220uNS451023s^gS451024_OS451025VS451026aWS451027QNS451028PNNS4510290ugS451030gS451031gTeꁻlS451100:]^451101451102kQek:S451121-fs^S451122q\S451123[]vteꁻlS451200l`l^451201451202ёW_l:S451221WS9NS451222)Y\S451223Qq\S451224NpQS451225WWNlOeꁻlS451226s_lkWSeꁻlS451227]lvteꁻlS451228[vteꁻlS451229'YSvteꁻlS451281[]^451300eg[^451301451302tQ[:S451321_WS451322a]S451323fk[S451324ёyvteꁻlS451381Tq\^451400]]^451401451402_l]:S451421vb~S451422[fS451423]S451424'YeS451425)YI{S451481Qey^460000wmWSw460100wmS^460101460105y:S460106NS:S460107oo]_eꁻlS532923eyNS532924[]S532925%_!nS532926WSm]_eꁻlS532927 ]q\]_eVeꁻlS5329288ls^S532929NS5329301mnS532931QR]S532932d^S533100 _[Peofeꁻl]533102^t=N^533103^533122hlS533123v_lS533124G]S533300`_lPPeꁻl]533321l4lS533323y!S533324 !q\re`eꁻlS533325 pQjW}venfs|eꁻlS533400ꏆ^υeꁻl]533421@ACEyGsIaKFM6OQFS. UR Wh YT[6]"_iaWcIe?gGikm oq5sM Dv rx z-|1~~Z<yZ`>Vcc||v]Ix}-} 00_)}-} 00_)}-} 00_)}-} 00_)}-} 00_)}-} 00_)}-} 00_)}-} 00_)}-} 00_)}-}  00_)}-}  00_)}-}  00_)}-}  00_)}-}  00_)}-} 00_)}-} 00_)}A} 00_)ef[$ -}A} 00_)ef[$ -}A} 00_)ef[$ -}A} 00_)ef[$ -}A} 00_)ef[$ -}A} 00_)ef [$ -}A} 00_)L[$ -}A} 00_)L[$ -}A} 00_)L[$ -}A} 00_)L[$ -}A} 00_)L[$ -}A} 00_)L [$ -}A} 00_)23[$ -}A} 00_)23[$ -}A} 00_)23[$ -}A} 00_)23[$ -}A}  00_)23[$ -}A}! 00_)23 [$ -}-}# 00_)}A}$ 00_)[$ -}A}% 00_)?[$ -}A}& 00_)23[$ -}-}' 00_)}A}( 00_)[$ -}A}) a00_)[$ -}U}* 00_)[$ -##0.}}- }00_)[$ -##0.  }}. 00_)[$ -???##0.??? ??? ???}-}/ 00_)}-}0 00_)}A}1 }00_)[$ -}A}4 00_)[$ -}A}5 00_)[$ -}A}6 00_)[$ -}A}7 00_)[$ -}A}8 00_)[$ -}A}9 00_) [$ -}A}: e00_)[$ -}}; ???00_)[$ -???##0.??? ??? ???}}< ??v00_)̙[$ -##0.  }x}=00_)̙[$##  }-}> 00_)}-}? 00_)}-}@ 00_)}-}A 00_)}-}B 00_)}-}C 00_)}}D}-}E 00_)}}F}-}G 00_)}}H}}I}-}J 00_)}}K}-}L 00_)}}M}-}N 00_)}-}O 00_)}A}P 00_)[$}A}Q 00_)[$}A}R 00_)[$}<}S 00_)[$}<}T 00_)[$}<}U 00_)[$}(}V 00_)}(}W 00_)}(}X 00_)}(}Y 00_)}(}Z 00_)}(}[23 00_)}(}\ 00_)}(}] 00_)}(}^ 00_)}(}_23 00_)}(}`23 00_)}(}a23 00_)}(}b23 00_)}(}c23 00_)}(}d23 00_)}(}e23 00_)}(}f23 00_)}(}g23 00_)}(}h23 00_)}(}i23 00_)}(}j23 00_)}(}k23 00_)}(}l 00_)}(}m23 00_)}(}n23 00_)}(}o23 00_)}(}p23 00_)}(}r 00_)}(}s 00_)}(}t 00_)}-}u 00_)O20% - :_eW[r 1 ef %O"20% - :_eW[r 2 ef %O&20% - :_eW[r 3 ef %O*20% - :_eW[r 4 ef %O.20% - :_eW[r 5 ef %O220% - :_eW[r 6  ef %O40% - :_eW[r 1 L %O#40% - :_eW[r 2 L˭ %O'40% - :_eW[r 3 L %O+40% - :_eW[r 4 L %O/40% - :_eW[r 5 L %O340% - :_eW[r 6  L %O 60% - :_eW[r 1 23 %O$60% - :_eW[r 2 23 %O(60% - :_eW[r 3 23 %O,60% - :_eW[r 4 23f %O060% - :_eW[r 5 23 %O460% - :_eW[r 6  23Ў %~vRk+h DTj%=h 1 DTj%[=h 2 DTj%?=h 3 DTj%23/h 4 DTj%5]  %+8^ĉ %5}Y  a%GGl;` %[['^ '^[0]o{  }% uhgUSCQ궕pen v?<QvlXLFЌsl#x7aq8<8F7JCD"ۊPnL&dg⻇{BODÈ}k&;>, DH|[G6mh̎6-/vIEQVɿ.3Vdtw8r@&[z]/'h4\TnV? ;N -Wkx J;^χ(jx Jqj |85 /A%zU92atoNVɜP0%ok!"N"/fxF0}D0&>\tv0RާMdIh%xx`az㫧WO{rrO P4U _~|jۗ2O=K3ъ󇟿ފPH2>&3," uQ݈ABL[~91|)5cbc.y$&~5W)8sKcFw-dMuXmD!6VF{$,L!ZlnXmFM# QZ/9GT >⁉dT\7)ql0^%@>i?PGƜ|#Td g&lD(9)L_!򀢭AӅ:(Ji5AěylE̴_ Re@5Itx=݊q쭉6P;h]Ű*6K{~^巯+)t-P O{(DZY?J44FƊ˶p2M2ĚN[<<`Y.f* Éh:I%۩<. 7!tHԖ"H| A3#{+,u~ @- ,W5m0cx,z]̷mf@ md3`uxbtT{Lk$馓5, gS7ucRE Fo,Κk[JA#i{U͚N3I)|8]gQYJ4RtR5 DZEIش4HjV  +9Hd<WӮHVJ󳃅%Cy| ske1IO9W\Vo0e~s(mGtb¥tS)3T IVSQ`ՠj4)Ut#9E4W5SSQ5*,k<[WX-C RtKncukJ@kڪ3`)BVv,x ){Kkqk;hON ޑ1ˋz "+R RhB.} /<^ITխ%rHK4uK~I0xM e`|X}đ I`߽N4aG2$RKIZ)4(M9`ctB{m:f@`3n|O,ܗr޾jxR0T ,0@}WBLǬ5vPK!m⸏{drs/shapexml.xmlWOo6w xO-ْ]i%bCIסCav%`4k6ԯGRV zdA&~?'뒣%UIq̘'勣}!"#\ WLH ,!\S:$k.UI tռ)KA+EI JSocY ЅCo{6hXNSU8Y*IJ` iA*zx)dcZ<ҕ %'sz\a4:'5FkVdP @RdU+$sNpwFǽn b `+Q !(vcRڡXJi-;Bvh6g45¹\ǚ,Y^%a0o{u^p2,;b|6 /06&CciC6%3T!J8tFd.# aܷa˸f?:f66 !w}E%u79>{/p1l̆G= pٻOsPBN] ܈Pãm2$./~?ݔj.6?vCP51NЭGy7$tnH>TBg$—TJ-횅/[-:/wg. {Uo_wQ-)1dw+yWgPK!>80)drs/downrev.xmlT[O@M͘& ,hy0j}۶K6+-zAvwfצR7p2UY% nLfVSsՌM3ʘֶpD)PZL 1i3p\i, f-*J_oAaۼn?>J~Ft{p,exK 1NGUFϟ5ZC#tR;J8Z8B[ǡ?:vJxǭ:=og:x.JH`qPK-![Content_Types].xmlPK-!1_a ._rels/.relsPK-!m⸏{)drs/shapexml.xmlPK-!>80)#drs/downrev.xmlPKy(G9,]{`n X< b0NO0T b0nx[0<X;;;;;<; ; ; ;~ | DA??Picture 8:M]&|` 2 } LV?Oval 11H+J+]}`X"2 ~ LV?Oval 11B+D]~`"  FA??Picture 12UQ_]&`#2  LV?Oval 13dWUXG]`(%2  LV?Oval 149XdYG]`%2  LV?Oval 15G]G^]`x&OO  \,pG&DAq1Nb_ 15#"@PK![Content_Types].xmlJ0*miG]`Hm6 Xwt?. g#Wi3E).+7 >ON ޑ1ˋz "+R RhB.} /<^ITխ%rHK4uK~I0xM e`|X}đ I`߽N4aG2$RKIZ)4(M9`ctB{m:f@`3n|O,ܗr޾jxR0T ,0@}WBLǬ5vPK!6drs/shapexml.xmlUr03;htoc8SKi;>jˍYH"qppgdM)\yWOڽd)iPeB^Θc̘Pt O>٫3=e2+M 4S0tnm5L:%3%/{fK^^?=Si23xM\lT3.sMV_J$^9I'aٸu>49Vˤ͸lmAr'\[<:(Dø.n8 uۢ,*X^[Qȷ1: ũ&E R"Y 7?0n/c:ePv@MU:`2Gb:&hT!)aOaCyƾjcNAB䧂YHőALDBl*dDLYri^+_2/A |u56jԊȍV7EO ﴶ>˝!PK!B%drs/downrev.xmlTPMO11&]`A"xml+,zgQDo}>f^hU>T2H[ e]1X]ȭY`GgC>ngj+!6 82̀ Jexh0h%IN ,n(FݖJ~|}^? ҟ4NfQ2vyQOnDUǓxb< q@䜇<,uvĊ]xgw;tiSQy$ qGx;u͘=_G_PK-![Content_Types].xmlPK-!1_a ._rels/.relsPK-!6)drs/shapexml.xmlPK-!B%@drs/downrev.xmlPKd]`,ph' $< 1. /T(u[<=>B<  \|pG^DAq1Nb_ 16#"@PK![Content_Types].xmlJ0*miG]`Hm6 Xwt?. g#Wi3E).+7 >ON ޑ1ˋz "+R RhB.} /<^ITխ%rHK4uK~I0xM e`|X}đ I`߽N4aG2$RKIZ)4(M9`ctB{m:f@`3n|O,ܗr޾jxR0T ,0@}WBLǬ5vPK!3 drs/shapexml.xmlVn1#mv4Mn*HU.F-}w۬+' pXNHG@˴U{wFC3|zg MdD.cd$G/w׺d„X=>B <  \pGEAq1Nb_ 17#"@PK![Content_Types].xmlJ0*miG]`Hm6 Xwt?. g#Wi3E).+7 >ON ޑ1ˋz "+R RhB.} /<^ITխ%rHK4uK~I0xM e`|X}đ I`߽N4aG2$RKIZ)4(M9`ctB{m:f@`3n|O,ܗr޾jxR0T ,0@}WBLǬ5vPK!0), drs/shapexml.xmlVOo0#,߷&ڵ :ت}/qǎl?;M\q䀸|-xZ{QЀJ bÈH)? &FJ&8 *ѹo}6Q_H&j }v>͈Z9M̈<Œ xj5j*ĪOtܱPt)c,%Rdn Y[fi/b7I:+MjU:#j)ͲZ/oްo0:WJ7\pp rHcH?' ;Di |qA~~yuZu\up҄H{Ȭ(E>3r H"I(u[-!^[Å>ZzP( =GĜ̥ҏ2##Zd+q ,R $bE³gc;9ljBRYHt4=Q{`ل2+N'1u?9[BY]:qj* 4M酁{ + z. 7LW;H\i*ѣ"Jc:gDO0Ksf]U{-@eQJ:ہkf "^Š4r rF̓H>;Dm@CX3=*3ǜ֝e3s`F[(h-Ư/^z姫g?^!Gy#Qnl|r;JǛɠOEJOxv@jX O&_SVPK!d&drs/downrev.xmlTN0M|xcp0,7j>@:6X13 |眿y'k c+P+czXUk0oof|ڊ6u;Crs͔RBr;ЍPHP ?pYFTJᆒ7bQ~KFv[˷Ò.yD箚e8Mou0-1CW'*+߅ђ}dt` ~- +^|v.a{X=/̙ pGwPK-![Content_Types].xmlPK-!1_a ._rels/.relsPK-!0), )drs/shapexml.xmlPK-!d&drs/downrev.xmlPK9r +]`p9< $(<#3.pQ penc!h ۏLpenc!h<(=> = ><||  \qGEAq1Nb_ 18#"@PK![Content_Types].xmlJ0*miG]`Hm6 Xwt?. g#Wi3E).+7 >ON ޑ1ˋz "+R RhB.} /<^ITխ%rHK4uK~I0xM e`|X}đ I`߽N4aG2$RKIZ)4(M9`ctB{m:f@`3n|O,ܗr޾jxR0T ,0@}WBLǬ5vPK!wdrs/shapexml.xmlUN0W?Xd¼EAtC&q<*]T*e-} ªk; ]0q96RR\_0<q|c҄DŽ N< c#<W=xuޫT4Q")j$#0y%%Pםֶ>e쑅pD̝"ºZ3$پvvo7*Ywbs,eFi kP #_wW:^bS9H$E1tY_n# [Rň RuQk=7M(kƉ̊{$4#)'n4 M;-ax"~Epт爘T sBx$2È%n*JK㍔EDv3DڷeTNy.8 rN)Tl*E6]MO(=a3 i zlB]DYԝj@br 0n3unǹ^TSgiH/ _`\iUs\Ȼ0]y"qaDxb(?̏yކQ#I[в(sw y@b3v")\)__޴߇C-_rFlbcn백lF}(`+EӘO_NO>\}:?ߎ.~Nϯ^M| 3\w^[Yav(څRDgwb PK!BR)drs/downrev.xmlT_O0M5`@ A^lڱB[a|{/}N{:4&aln"Ty6>ޗ JP8 ͈ >T2!Q( =楐vN( m$s8 ;b#OJ %ۉY)m-)Ml;5z VÂfĉ]!}g]p[s3RN)N XcSڜυђ}u4(p0‹n8 3/pK>an A aCpPK-![Content_Types].xmlPK-!1_a ._rels/.relsPK-!w)drs/shapexml.xmlPK-!BR)idrs/downrev.xmlPK U9]`qB< $<4.9hnc!h~g O9epenc<=><dd  \lqGvCAq1Nb_ 19#"@PK![Content_Types].xmlJ0*miG]`Hm6 Xwt?. g#Wi3E).+7 >ON ޑ1ˋz "+R RhB.} /<^ITխ%rHK4uK~I0xM e`|X}đ I`߽N4aG2$RKIZ)4(M9`ctB{m:f@`3n|O,ܗr޾jxR0T ,0@}WBLǬ5vPK! MBdrs/shapexml.xmlUn0#md&&LU6(7q:f] >;֥|M[/ЩEg63ν=羷CS*U)xM#34ǯv7)MxN4 v<#³Lp5A'Z#SلVDmrBVDç2tV^Պ @D)Ž4r rFN||az~M6#`{.! 1ٹiӌ@m1Xv4Zŏחn|}D (M]dͬQC41}`kny[7PK!D$drs/downrev.xmlLN1M|͘x'-,B0 Qbevd3iX*ZkK )7]|V ˋ)ؙ^C=)aç67p-2tFj]Δ279O \qhM&/otښd𽐈\ztQu8-W48nu\=+1ɞ_T3vHF6-̡n(Ŋvna'fA@$~tTbR8 n6&8&?PK-![Content_Types].xmlPK-!1_a ._rels/.relsPK-! MB)drs/shapexml.xmlPK-!D$Vdrs/downrev.xmlPKdU]`lqK< $<5.~ Nb[8h<=><A{>6@ 7 Sheet5b(b(3ggD&<3  tr#  dMbP?_*+%&ffffff?'ffffff?(?)?M Canon iR2422 UFRII LTU  4dXA4Canon`Canon iR2422 UFRII LTddd      d d d d dd    dd@@d  d  d dd d"eddd      !"#$%&'()*+,-./01234567d"    @  !"#$%&'()*+,-d.d/d0123456789:;<=>?@ABCDEFGHIJKd     d !"#$%&d!dddd!      d dd@8  4 22h 1 4 22h 1XXd2 [SO\CNZ005.ICC\CNZ005.ICC\CNZ005.ICC:g[:g[H[SOal؞n X        " PXX333333?333333?U} @C}  E}  E}  E} E}  E}  E} `H} `E} H} C} E}  E}  >VWWWW???@ @ @ @ @ @@  a"aSSSSSSSTSTUSS c"ddddddddddddde ^"_____________` f k l lm b b b b  h  b  h  j  b b gb X \ ]bbbbibigbbI J J JJJJJJGJGILJ$IJJJJJJJJGJGILJ IJJ JJJJJJGJGILJ BDDDDDDDDFDFB  LD$ IJJJJJJJJGJGILJ$ IJJJJJJJJGJGILJ$ IJJJJJJJJGJGILJ$ BDDDDDDDDFDFBLD$ IJJJJJJJJGJGILJ$IJJJJJJJJGJGILJ nnnnnnnnnn $,444VT(><((((((  (    N쏋X?]4@쏋Z D̴#  <_kX zzNh~_g tepe <x 9  NPX?+6]4@PZ }ȘnBRT  <_kX N NbRh-N b<x 9  NX?]4@\ i`)eG}_ԣD <_kX<9  NX?]4@] |!G'C(䦬 <_kX 14MOtepe<J9  N|X? ]4@|^ `qJ)' J <_kX<9  NX?  ]4@` UQM2{#  <_kX N NbRh-N b< 9  NDX?  -]4@DҤKHlz  <_kX @Z       7 I |TTimyr^ S4Y^ LNwm^ d\^ ^ \Ye^ |T&O\^ ]f_m\^ LNpQ[^^ tQ[v !gRv ?bUvR - ^:S wmR~n:S wmWS:S LN:S [SN^ )Y%m^ lSw q\w QSꁻl:S [w Tgw ў_lw Nwm^ _lςw Ym_lw [_w y^w _lw q\Nw lWSw VnSw VnWSw ^Nw ^Xeꁻl:S wmWSw ͑^^ V]w 5]w NWSw υꁻl:S Uw uw Rwmw [YVeꁻl:S eu~>T\ꁻl:S@ 1-7u 2-sY H #1-(WL 2-O 3-yO B WSN^ e!^ _]^ 8^]^ ς]^ WS^ ޏN/n^ m[^ vW^ lb]^ G_l^ l]^ [^ Sheet1ggD&<3n   V>HN@U[ah`ntz8ȍX0xP(pH h @$*1`7=C8JPV]Xcio0vx|P(pH h@` 8&X,280?xEKRPX^d(kpqw~Hؐ h@м`8  dMbP?_*+%&ffffff?'ffffff?(?)?"n333333?333333?U} }  } } }  } } } } } }  }  }  @@@@@@@@ @ @ @ @ @@@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ K @ @ @ @ @ @j @k @ @ @ @ @n @o @} @~ l   p E E m  ~ q E E   r E E   E E   E E   E E  s E E  t E E u E E v E E w E E x E E y E E  z E E  { E E  | E E  } E E   E E   E E   E E   E E   E E   E E   E E   E E   E E   E E   E E   E E   E E   E EDlFF8*************************** @! @" @# @$ @% @& ' ( ) * + , - . / 0123456789:;<=>?  E E !  !E !E "  "E "E #  #E #E $  $E $E %  %E %E & A &E &E ' A 'E 'E ( A (E (E ) A )E )E * A *E *E +  +E +E ,E ,E -E -E .E .E /E /E 0E 0E 1E 1E 2E 2E 3E 3E 4E 4E 5E 5E 6E 6E 7E 7E 8E 8E 9E 9E :E :E ;E ;E <E <E =E =E >E >E  ?E  ?E Dl************@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ @E  @E  AE AE BE BE CE CE DE DE EE EE FE FE GE GE HE HE IE IE JE JE  KE! KE" LE# LE$ ME% ME& NE' NE( OE) OE* PE+ PE, QE- QE RE. RE/ SE0 SE1 TE2 TE3 UE4 UE5 VE6 VE7 WE8 WE9 XE: XE; YE< YE= ZE> ZE [E? [E@ \EA \EB ]EC ]ED ^EE ^EF _EG _EHDl`abcdefghijklmnopqrstuvwxyz{|}~ `EI `EJ aEK aEL bEM bEN cEO cEP dEQ dER eES eET fEU fEV gEW gEX hEY hEZ iE[ iE\ jE] jE^ kE_ kE` lEa lEb mEc mEd nEe nEf oEg oE pEh pEi qEj qE rEk rEl sEm sEn tEo tEp uEq uEr vEs vEt wEu wEv xEw xEx yEy yEz zE{ zE| {E} {E~ |E |E }E }E ~E ~E E EDl E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E EDl E Ei E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E EDl E E E E E E E E E E  E  E  E  E  E E E E E E E E E E E E E E E E E E E  E! E" E E# E$ E% E& E' E( E) E* E+ E, E- E. E/ E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 E E: E; E< E=Dl E> E? E@ EA EB EC ED EE EF EG EH EI EJ EK EL EM EN EO EP EQ ER ES ET E EU EV EW EX EY EZ E[ E\ E] E^ E_ E` Ea Eb Ec Ed Ee Ef Eg Eh Ei Ej Ek E El Em En Eo Ep Eq Er Es Et Eu Ev Ew Ex Ey Ez E{Dl      E| E} E~ E E E E E E E E Em E Eo E E E E E E E E E E E Em E E E E E E E E E E E E E E E E E E E E E E E E E E E E E Em E E E E E E E EDl !"#$%&'()*+,-./0123456789:;<=>? E E !E !E "E "E #E #E $E $E %E %E &E &E 'E 'E (E (E )E )E *E *E +E +E ,E ,E -E -E .E .E /E /E 0E 0E 1E 1E 2E 2E 3E 3E 4E 4E 5E 5E 6E 6E 7E 7E 8E 8E 9E 9E :E :E ;E ;E <E <E =E =E >E >E ?E ?EDl@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ @E @E AE AE BE BE CE CE DE DE EE EE FE FE GE GE HE HE IE IE JE JE KE KE LE LE  ME  ME  NE  NE  OE OE PE PE QE QE RE RE SE SE TE TE UE UE VE VE WE WE XE XE  YE! YE" ZE# ZE$ [E% [E& \E' \E( ]E) ]E* ^E+ ^E, _E- _E.Dl`abcdefghijklmnopqrstuvwxyz{|}~ `E/ `E0 aE1 aE2 bE3 bE4 cE5 cE6 dE7 dE8 eE9 eE: fE; fE< gE= gE> hE? hE@ iEA iE jEB jEC kED kEE lEF lEG mEH mEI nEJ nEK oEL oEM pEN pEO qEP qEQ rER rES sET sEU tEV tEW uEX uEY vEZ vE[ wE\ wE] xE^ xE_ yE` yE zEa zEb {Ec {Ed |Ee |Ef }Eg }Eh ~Ei ~Ej Ek ElDl Em En Eo Ep Eq Er Es Et Eu E Ev Ew Ex Ey Ez E{ E| E} E~ E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E EDl E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E EDl E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E  E  E  E  E  E E E E E E E E E E E E E E E E E E E  E! E" E# E$Dl E% E& E' E( E) E* E+ E, E- E. E/ E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 E: E; E< E= E> E? E@ EA EB EC ED EE EF EG EH EI EJ EK EL EM EN EO E EP E EQ ER ES ET EU EV EW EX EY EZ E[ E\ E] E^ E_ E` Ea EbDl      Ec Ed Ee Ef Eg Eh Ei Ej Ek E El Em En Eo Ep Eq Er Es Et Eu Ev Ew Ex Ey Ez E{ E| E} E~ E E E E E E E E EX E E E E E E E E E E E E E E E E E E E E E E E E E EDl !"#$%&'()*+,-./0123456789:;<=>? E E !E !E "E "E #E #E $E $E %E %E &E &E 'E 'E (E (E )E )E *E *E +E +E ,E ,E -E -E .E .E /E /E 0E 0E 1E 1E 2E 2E 3E 3E 4E 4E 5E 5E 6E 6E 7E 7E 8E 8E 9E 9E :E :E ;E ;E <E <E =E =E >E >E ?E ?EDl@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ @E @E AE AE BE BE CE CE DE DE EE EE FE FE GE GE HE HE IE IE JE JE KE KE LE LE ME ME NE NE OE OE PE PE QE QE RE RE SE SE TE TE UE UE VE VE WE WE XE XE  YE  YE  ZE  ZE  [E [E \E \E ]E ]E ^E ^E _E _EDl`abcdefghijklmnopqrstuvwxyz{|}~ `E `E aE aE bE bE cE cE dE dE eE  eE! fE" fE# gE$ gE% hE& hE' iE( iE) jE* jE+ kE, kE- lE. lE/ mE0 mE nE1 nE2 oE3 oE4 pE5 pE6 qE7 qE8 rE9 rE: sE; sE< tE= tE> uE? uE@ vEA vE wEB wEC xED xEE yEF yE zEG zEH {EI {EJ |EK |EL }EM }EN ~EO ~EP EQ       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcefghijklmnopqrstuvwxyz{|}~ERDl ES ET EU EV EW E EX EY EZ E[ E\ E] E^ E_ E` Ea Eb Ec Ed Ee Ef Eg Eh Ei Ej Ek El E Em EX En E Eo Ep Eq Er Es Et Eu Ev Ew Ex Ey E Ez E{ E| E} E~ E E E E E E E E E E E E E E EDl E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E EDl E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E EDl E E  E  E  E  E  E E E E E E E E E E E E E E E E E E E E  E! E" E# E$ E% E& E' E( E) E* E+ E, E- E. E/ E0 E1 E E2 E3 E4 E5 E6 E7 E8 E9 E: E; E< E= E> E? E@ EA EB EC ED EDl      EE EF EG EH EI EJ EK EL EM EN EO EP EQ ER ES ET EU EV EW E EX EY EZ E[ E\ E] E^ E_ E` Ea Eb Ec Ed Ee Ef Eg Eh Ei Ej Ek El E Em En Eo Ep Eq Er Es Et Eu Ev Ew Ex Ey Ez E{ E| E} E~ E E E EDl !"#$%&'()*+,-./0123456789:;<=>? E E !E !E "E "E #E #E $E $E %E %E &E &E 'E 'E (E (E3 )E )E *E *E +E +E ,E ,E -E -E .E .E /E /E 0E 0E 1E 1E 2E 2E 3E 3E 4E 4E 5E 5E 6E 6E 7E 7E 8E 8E 9E 9E :E :E ;E ;E <E <E =E =E} >E >E ?E ?EDl@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ @E @E AE AE BE BE CE CE DE DE EE EE FE FE GE GE HE HE IE IE JE JE KE KE LE LE ME ME NE NE OE OE PE PE QE QE RE RE SE SE TE TE UE UE VE VE WE WE XE XE YE YE ZE ZE [E [E \E \E ]E ]E ^E ^E _E _EDl`abcdefghijklmnopqrstuvwxyz{|}~ `E `E aE aE bE bE cE cE dE dE eE eE fE fE gE gEL hE hE iE iE jE jE kE kE lE lE mE mE nE nE oE oE pE pE qE qE rE rE sE sE tE tE uE! uE" vE# vE$ wE% wE& xE' xE( yE) yE* zE+ zE, {E- {E. |E/ |E0 }E1 }E2 ~E3 ~E4 E5 EDl E6 E7 E8 E9 E: E; E< E= E> E? E@ EA EB EC ED EE EF EG EH E EI E$ EJ EK EL EM EN EO EP EQ ER ES ET EU EV EW EX EY EZ E[ E\ E] E^ E E_ E` Ea Eb Ec Ed Ee Ef Eg Eh Ei Ej Ek El Em En Eo E Ep Eq Dl Er Es Et Eu Ev Ew Ex Ey Ez E{ E| E} E~ E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E Dl E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E Dl E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E! E" E# E$ EDl      E% E& E' E( E) E* E+ E, E- E. E/ E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 E: E; E< E= E E> E? E@ EA EB EC ED EE EF EG EH EI EJ EK EL EM EN EO EP EQ ER ES ET EU EV E EW EX EY EZ E[ E\ E] E^ E_ E` Ea Eb Dl !"#$%&'()*+,-./0123456789:;<=>? Ec Ed !Ee !Ef "Eg "E #Eh #Ei $Ej $Ek %El %Em &En &Eo 'Ep 'Eq (Er (Es )Et )E *Eu *Ev +Ew +Ex ,Ey ,Ez -E{ -E| .E} .E~ /E /E 0E 0E 1E 1E 2E 2E 3E 3E 4E 4E 5E 5E 6E 6E 7E 7E 8E 8E 9E 9E :E :E ;E ;E <E <E =E =E >E >E ?E ?E Dl@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ @E @E AE AE BE BE CE CE DE DE EE EE FE FE GE GE HE HE IE IE JE JE KE KE LE LE ME ME NE NE OE OE PE PE QE QE RE RE SE SE TE TE UE UE VE VE WE WE XE XE YE YE ZE ZE [E [E \E \E ]E ]E ^E ^E _E _E Dl`abcdefghijklmnopqrstuvwxyz{|}~ `E `E aE aE bE bE cE cE dE dE eE eE fE fE gE gE hE hE iE iE jE jE kE kE lE lE mE mE nE nE oE oE pE pE qE qE rE rE sE sE tE tE uE uE vE vE wE wE xE xE yE yE zE zE {E {E |E |E }E }E ~E ~E E EDl E E E E E E E E E E E! E" E# E$ E% E E& E' E( E) E* E+ E, E- E. E/ E0 E1 E2 E3 E4 E E5 E6 E7 E8 E9 E: E; E< E= E> E? E E@ EA EB EC ED E EE EF EG EH EI E EJ EK EL EM EN EO EP EQ Dl ER ES ET EU EV EW EX EY EZ E[ E\ E] E^ E_ E` Ea Eb E Ec Ed Ee Ef Eg Eh Ei Ej Ek El Em En Eo Ep Eq Er Es E Et Eu Ev Ew Ex Ey Ez E{ E| E} E~ E E E E E E E E E E E E E E E E E Dl E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E Dl E E E E E E E E E E E E E E E E E E E E E E E E E E$ E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E Dl      E E E E E E E E E E E E E E E E E E E E E E E E E E E E E! E" E# E$ E% E& E' E( E) E* E+ E, E- E. E/ E0 E1 E2 E3 E E4 E5 E6 E7 E8 E9 E: E; E< E= E> E? E@ EA EB EC Dl !"#$%&'()*+,-./0123456789:;<=>? ED EE !EF !EG "EH "EI #EJ #EK $EL $EM %EN %E &EO &EP 'EQ 'ER (ES (ET )EU )EV *EW *EX +EY +EZ ,E[ ,E\ -E] -E^ .E_ .E` /Ea /Eb 0Ec 0Ed 1Ee 1Ef 2Eg 2E 3Eh 3Ei 4Ej 4Ek 5El 5Em 6En 6Eo 7Ep 7Eq 8Er 8Es 9Et 9Eu :Ev :Ew ;Ex ;Ey <Ez <E{ =E| =E} >E~ >E ?E ?E Dl@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ @E @E AE AE BE BE CE CE DE DE EE EE FE FE GE GE HE HE IE IE JE JE KE KE LE LE ME ME NE NE OE OE PE PE QE QE RE RE SE SE TE TE UE UE VE VE WE WE XE XE YE YE ZE ZE [E [E \E \E ]E ]E ^E ^E _E _E Dl`abcdefghijklmnopqrstuvwxyz{|}~ `E `E aE aE bE bE cE cE dE dE eE eE fE fE gE gE hE hE iE iE jE jE kE kE lE lE mE mE nE nE oE oE pE pE qE qE rE rE sE sE tE tE uE uE vE vE wE wE xE xE yE yE zE zE {E {E |E |E }E }E ~E ~E E E Dl E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E! E" E# E$ E% E& E E' E( E) E* E+ E, E- E. E/ E0 E1 E2 E3 E4 E5 E6 Dl E7 E8 E9 E: E; E< E= E> E? E@ EA EB EC E ED EE EF EG EH EI EJ EK EL EM EN EO EP EQ ER ES ET EU EV EW EX EY EZ E E[ E\ E] E^ E_ E` Ea Eb Ec Ed Ee Ef Eg Eh Ei Ej Ek El Em En Eo Ep Eq Er Es EDl Et Eu Ev Ew Ex Ey Ez E{ E| E} E~ E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E Dl E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E EDl      E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E  E  E  E  E  E E E E E E E E E E E E E E E E E E E  E! E" E E# E$ E% E& E' E( E) E*Dl !"#$%&'()*+,-./0123456789:;<=>? E+ E, !E- !E. "E/ "E0 #E1 #E2 $E3 $E4 %E5 %E6 &E7 &E8 'E9 'E: (E; (E )E< )E= *E> *E? +E@ +EA ,EB ,E -E -E .E .E /E /E 0E 0E 1E 1E 2E 2E 3E 3E 4E 4E 5E 5E 6E 6E 7E 7E 8E 8E 9E 9E :E :E ;E ;E <E <E =E =E >E >E! ?E" ?E#Dl@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ @E$ @E AE% AE& BE' BE( CE) CE DE* DE+ EE, EE- FE. FE/ GE0 GE1 HE2 HE3 IE4 IE5 JE6 JE7 KE8 KE9 LE: LE; ME< ME= NE> NE OE? OE@ PEA PEB QEC QED REE REF SEG SEH TEI TEJ UEK UEL VEM VEN WEO WEP XEQ XER YES YET ZEU ZEV [EW [E \EX \EY ]EZ ]E[ ^E\ ^E] _E^ _E_Dl`abcdefghijklmnopqrstuvwxyz{|}~ `E` `Ea aEb aEc bEd bEe cEf cEg dEh dEi eEj eE fEk fEl gEm gEn hEo hEp iEq iEr jEs jEt kEu kEv lEw lEx mEy mEz nE{ nE oE| oE} pE~ pE qE qE rE rE sE sE tE tE uE uE vE vE wE wE xE xE yE yE zE zE {E {E |E |E }E }E ~E ~E E EDl E E E E E E E E E E E E E E E E E E E E E E E E$ E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E EDl E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E  E  E  E  E  E E E E E E E E EDl E E E E E E E E E E E E  E! E" E# E$ E% E& E' E( E) E* E+ E, E- E. E/ E0 E1 E2 E3 E4 E5 E6 E7 E E8 E9 E: E E E E E E E E E E E E E E E E E E E E E E E E EDl E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E  E  E  E  E  E E E E E E E E E E E E E E E E E E E E  E! E" E E# E$ E% E& E' E(Dl      E) E* E+ E, E- E. E/ E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 E: E; E< E= E> E? E E@ EA EB EC ED EE EF EG EH EI EJ EK EL EM EN EO EP EQ ER ES ET E EU EV EW EX EY EZ E[ E\ E] E^ E_ E` Ea Eb Ec Ed Ee EfDl !"#$%&'()*+,-./0123456789:;<=>? Eg Eh !Ei !Ej "Ek "E #El #Em $En $Eo %Ep %Eq &Er &Es 'Et 'Eu (Ev (Ew )Ex )Ey *Ez *E{ +E| +E} ,E~ ,E -E -E .E .E /E /E 0E 0E 1E 1E 2E 2E 3E 3E 4E 4E 5E 5E 6E 6E 7E 7E 8E 8E 9E 9E :E :E ;E ;E <E <E =E =E >E >E ?E ?EDl@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ @E @E AE AE BE BE CE CE{ DE DE EE EE FE FE GE GE HE HE IE IE JE JE KE KE LE LE ME ME NE NE OE OE PE PE QE QE RE RE SE SE TE TE UE UE VE VE WE WE XE XE YE YE ZE ZE [E [E \E \E ]E ]E ^E ^E _E _EDl`abcdefghijklmnopqrstuvwxyz{|}~ `E `E aE aE bE bE cE cE dE dE eE eE fE fE gE gE hE hE iE iE jE jE kE kE lE lE mE mE nE nE oE oE pE pE qE qE rE rE sE sE tE tE uE  uE  vE  vE  wE  wE xE xE yE yE zE zE {E {E |E |E }E }E ~E ~E E EDl E E E E  E! E" E# E$ E% E E& E' E( E) E* E+ E, E- E. E/ E0 E1 E2 E3 E4 E5 E6 E E7 E8 E9 E: E; E< E= E> E? E@ EA EB EC ED EE EF EG EH EI E EJ EK EL EM EN EO EP EQ ER ES ET EU EV EW EX EYDl EZ E[ E\ E] E^ E_ E` E Ea Eb Ec Ed Ee Ef Eg Eh Ei Ej Ek El Em En Eo E Ep Eq Er Es Et Eu Ev Ew Ex Ey Ez E{ E| E} E~ E E E E E E E E E E E E E E E E E E E E E E E E EDl E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E EDl E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E  E  E  E  E  E E EDl      E E E E E E E E E E E E E E E E E  E! E" E# E$ E% E& E' E( E) E* E+ E, E E- E. E/ E0 E1 E2 E3 E4 E5 E6 E7 E E8 E9 E: E; E< E= E> E? E@ EA EB EC ED EE EF E EG EH EI EJ EK ELDl !"#$%&'()*+,-./0123456789:;<=>? EM EN !EO !EP "EQ "ER #ES #ET $EU $EV %EW %EX &EY &EZ 'E[ 'E\ (E] (E^ )E_ )E *E` *Ea +Eb +Ec ,Ed ,Ee -Ef -Eg .Eh .Ei /Ej /Ek 0El 0Em 1En 1Eo 2Ep 2Eq 3Er 3Es 4Et 4Eu 5Ev 5Ew 6Ex 6E 7Ey 7Ez 8E{ 8E| 9E} 9E~ :E :E ;E ;E <E <E =E =E >E >E ?E ?EDl@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ @E @E AE AE BE BE CE CE DE DE EE EE FE FE GE GE HE HE IE IE JE JE KE KE LE LE ME ME NE NE OE OE PE PE QE QE RE RE SE SE TE TE UE UE VE VE WE WE XE XE YE YE ZE ZE [E [E \E \E ]E ]E ^E ^E _E _EDl`abcdefghijklmnopqrstuvwxyz{|}~ `E `E aE aE bE bE cE cE dE dE eE eE fE fE gE gE hE hE iE iE jE jE kE kE lE lE mE mE nE nE oE oE pE pE qE qE rE rE7 sE sE tE tE uE uE vE vE wE wE xE xE yE yE zE zE {E {E |E |E }E }E ~E ~E E EDl E E E E E E  E  E  E  E  E E E E E E E E E E E E E E E E E E E E E  E! E" E# E$ E% E& E' E( E) E* E+ E, E E- E. E/ E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 E: E; E< E= E> E? E@Dl EA E EB EC ED EE EF EG EH EI EJ EK EL EM EN E EO EP EQ ER ES ET EU EV EW EX EY EZ E[ E\ E] E^ E_ E` Ea E Eb Ec Ed Ee Ef Eg Eh Ei Ej Ek El Em En E Eo Ep Eq Er Es Et Eu Ev Ew Ex Ey Ez E{ E|Dl E} E~ E E E E E Em E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E EDl E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E EDl                                 E E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E E E E E E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E   E!  E"  E#  E$  E%  E&  E'  E(  E)  E*  E+  E,  E-  E.  E/  E0  E1Dl ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ?  E2 E3 ! E4 ! E5 " E6 " E7 # E8 # E $ E9 $ E: % E; % E< & E= & E> ' E? ' E@ ( EA ( EB ) EC ) ED * EE * EF + EG + EH , EI , E - EJ - EK . EL . EM / EN / EO 0 EP 0 EQ 1 ER 1 ES 2 ET 2 E 3 EU 3 EV 4 EW 4 EX 5 EY 5 EZ 6 E[ 6 E\ 7 E] 7 E^ 8 E_ 8 E 9 E` 9 Ea : Eb : Ec ; Ed ; Ee < Ef < Eg = Eh = Ei > Ej > E ? Ek ? ElDl@ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _  @ Em @ En A Eo A Ep B Eq B Er C Es C Et D Eu D Ev E Ew E E F Ex F Ey G Ez G E{ H E| H E} I E~ I E J E J E K E K E L E L E M E M E N E N E O E O E P E P E Q E Q E R E R E S E S E T E T E U E U E V E V E W E W E X E X E Y E Y E Z E Z E [ E [ E \ E \ E ] E ] E ^ E ^ E _ E _ EDl` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~   ` E ` E a E a E b E b E c E c E d E d E e E e E f E f E g E g E h E h E i E i E j E j E k E k E l E l E m E m E n E n E o E o E p E p E q E q E r E r E s E s E t E t E u E u E v E v E w E w E x E x E y E y E z E z E { E { E | E | E } E } E ~ E ~ E  E  EDl                                 E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E  E  E  E  E  E E E E E E E E E E E E E E E E E E E  E! E" EDl                                 E# E$ E% E& E' E( E) E* E+ E* E, E- E. E/ E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 E: E; E< E= E> E? E@ EA EB EC ED EE EF EG EH EI EJ EK EL E EM EN EO EP EQ ER ES ET EU EV EW EX EY EZ E[ E\ E] E^ E_ E`Dl                                 Ea Eb Ec Ed Ee Ef Eg Eh Ei Ej Ek El Em En Eo Ep Eq Er Es E Et Eu Ev Ew Ex Ey Ez E{ E| E} E~ E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E EDl                                 E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E EDl                                 E E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E E E E E E E E E E E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E   E   E   E  E   E  E   E  E  E  E  E  E  E  E  EDl ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ?  E E ! E ! E " E " E # E # E $ E $ E % E % E  & E! & E" ' E# ' E$ ( E% ( E& ) E' ) E( * E) * E* + E+ + E, , E- , E. - E/ - E . E0 . E1 / E2 / E3 0 E4 0 E5 1 E6 1 E7 2 E8 2 E9 3 E: 3 E; 4 E< 4 E= 5 E> 5 E? 6 E@ 6 EA 7 EB 7 EC 8 ED 8 E 9 EE 9 EF : EG : EH ; EI ; EJ < EK < EL = EM = EN > EO > EP ? EQ ? ERDl@ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _  @ ES @ E A ET A EU B EV B EW C EX C EY D EZ D E[ E E\ E E] F E^ F E_ G E` G Ea H Eb H Ec I Ed I Ee J Ef J Eg K Eh K Ei L Ej L E M Ek M El N Em N En O Eo O Ep P Eq P Er Q Es Q Et R Eu R Ev S Ew S Ex T Ey T E U Ez U E{ V E| V E} W E~ W E X E X E Y E Y E Z E Z E [ E [ E \ E \ E ] E ] E ^ E ^ E _ E _ EDl` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~   ` E ` E a E a E b E b E c E c E d E d E e E e E f E f E g E g E h E h E i E i E j E j E k E k E l E l E m E m E n E n E o E o E p E p E q E q E r E r E s E s E t E t E u E u E v E v E w E w E x E x E y E y E z E z E { E { E | E | E } E } E ~ E ~ E  E  EDl                                 E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E  E  E  E Dl                                 E  E E E E E E E E E E E E E E E E E E E E  E! E" E# E$ E% E& E E' E( E) E* E+ E, E- E. E/ E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 E: E; E< E= E E> E? E@ EA EB EC ED EE EF EG EH EIDl                                 EJ EK EL EM EN EO EP EQ ER ES ET EU EV EW EX EY EZ E[ E\ E E] E^ E_ E` Ea Eb Ec Ed Ee Ef Eg Eh Ei Ej Ek E El Em En Eo Ep Eq Er Es Et Eu Ev Ew Ex Ey Ez E{ E| E} E~ E E E E E E E E EDl                                 E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E EDl                                 E E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E E E E E E E E E E E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  EDl ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ?  E E ! E ! E " E  " E  # E  # E  $ E  $ E % E % E & E & E ' E ' E ( E ( E ) E ) E * E * E + E + E , E , E - E - E . E  . E! / E" / E# 0 E$ 0 E% 1 E& 1 E' 2 E( 2 E) 3 E* 3 E+ 4 E, 4 E- 5 E. 5 E 6 E/ 6 E0 7 E1 7 E2 8 E3 8 E4 9 E5 9 E6 : E7 : E8 ; E9 ; E: < E; < E = E< = E= > E> > E? ? E@ ? EADl@ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _  @ EB @ EC A ED A EE B EF B EG C EH C EI D EJ D EK E EL E EM F EN F EO G EP G EQ H ER H ES I ET I E J EU J EV K EW K EX L EY L EZ M E[ M E\ N E] N E^ O E_ O E` P Ea P E Q Eb Q Ec R Ed R Ee S Ef S Eg T Eh T Ei U Ej U Ek V El V Em W En W Eo X Ep X Eq Y Er Y Es Z Et Z Eu [ Ev [ Ew \ Ex \ E ] Ey ] Ez ^ E{ ^ E| _ E} _ E~Dl` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~   ` E ` E a E a E b E b E c E c E d E d E e E e E f E f E g E g E h E h E i E i E j E j E k E k E l E l E m E m E n E n E o E o E p E p E q E q E r E r E s E s E t E t E u E u E v E v E w E w E x E x E y E y E z E z E { E { E | E | E } E } E ~ E ~ E  E  EDl                                 E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E EDl                                 E E E E E E E E E E E  E  E  E  E  E E E E E E E E E E E E E E E E E E E E  E! E" E# E$ E% E& E' E( E) E* E+ E, E- E. E/ E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 E: E; E< E=Dl                                 E> E? E@ EA EB EC ED EE EF EG EH EI EJ EK EL EM EN EO EP EQ ER ES ET EU EV EW EX EY EZ E[ E\ E] E^ E_ E` Ea Eb Ec Ed Ee Ef Eg Eh Ei Ej Ek El Em En Eo Ep Eq Er Es Et Eu Ev Ew Ex Ey Ez E{ E| E}Dl                                 E~ E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E Eb E E E EDl                                 E E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E E E E E E E E E E E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  E  EDl ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ?  E E ! E ! E " E " E # E # E $ E $ E % E % E & E & E ' E ' E ( E ( E  ) E  ) E  * E  * E  + E + E , E , E - E - E . E . E / E / E 0 E 0 E 1 E 1 E 2 E 2 E 3 E 3 E 4 E 4 E  5 E! 5 E" 6 E# 6 E$ 7 E% 7 E& 8 E' 8 E( 9 E) 9 E* : E+ : E, ; E- ; E. < E/ < E = E0 = E1 > E2 > E3 ? E4 ? E5Dl@ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _  @ E6 @ E7 A E8 A E9 B E: B E; C E< C E= D E> D E? E E@ E EA F EB F EC G ED G EE H EF H EG I EH I EI J EJ J EK K EL K E L EM L EN M EO M EP N EQ N ER O ES O ET P EU P EV Q EW Q EX R EY R EZ S E[ S E\ T E] T E^ U E_ U E` V Ea V Eb W Ec W Ed X Ee X E Y Ef Y Eg Z Eh Z Ei [ Ej [ Ek \ El \ Em ] En ] Eo ^ Ep ^ Eq _ Er _ EsDl` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~   ` Et ` Eu a Ev a Ew b Ex b Ey c Ez c E{ d E| d E} e E~ e E f E f E g E g E h E h E i E i E j E j E k E k E l E l E m E m E n E n E o E o E p E p E q E q E r E r E s E s E t E t E u E u E v E v E w E w E x E x E y E y E z E z E { E { E | E | E } E } E ~ E ~ E  E  EDl                                 E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E EDl                                 E E E E E E E       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdeghijklmnopqrstuvwxyz{|}~E E E E E E E E E E E E E E E E E E E E E E E E E E  E  E  E  E  E E E E E E E E E E E E E E E E E E E E  E E! E" E# E$ E% E&Dl                                 E' E( E) E* E+ E, E- E. E/ E0 E1 E2 E3 E E4 E5 E6 E7 E8 E9 E: E; E< E= E> E? E@ EA EB EC ED E EE EF EG EH EI EJ EK EL EM EN EO EP EQ ER ES ET EU EV EW EX EY EZ E[ E\ E] E^ E_ E` Ea Eb Ec EdDl                                 Ee Ef Eg Eh Ei Ej Ek El Em En Eo Ep Eq Er Es Et Eu Ev Ew Ex Ey Ez E{ E| E} E~ E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E E; E< E= E> E?Dl                                 E@ EA  EB  EC  ED  EE  EF  EG  EH  EI  EJ  EK  EL  EM  EN  EO  EP  EQ ER ES ET EU EV EW EX EY EZ E[  E\  E]  E^  E_  E`  Ea  Eb  Ec  Ed  Ee  Ef  Eg  Eh  Ei  Ej  Ek  El  Em  En  Eo  Ep  Eq  Er  Es  Et  Eu  Ev  Ew  Ex  Ey  Ez  E{  E|  E}  E~  EDl ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ?  E E ! E ! E " E " E # E # E $ E $ E % E % E & E & E ' E ' E ( E ( E ) E ) E * E * E + E + E , E , E - E - E . E . E / E / E 0 E 0 E 1 E 1 E 2 E 2 E 3 E 3 E 4 E 4 E 5 E 5 E 6 E 6 E 7 E 7 E 8 E 8 E 9 E 9 E : E : E ; E ; E < E < E = E = E > E > E ? E ? EDl@ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _  @ E @ E A E A E B E B E C E C E D E D E E E E E F E F E G E G E H E H E I E I E J E J E K E K E L E L E M E M E N E N E O E O E P E P E Q E Q E R E R E S E S E T E T E U E U E V E V E W E W E X E X E Y E Y E Z E Z E [ E [ E \ E \ E ] E ] E ^ E ^ E _ E _ EDl` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~   ` E ` E a E a E b E b E c E c E d E d E e E e E f E f E g E g E h E h E  i E  i E  j E  j E  k E k E l E l E m E m E n E n E o E o E p E p E q E q E r E r E s E s E t E  t E! u E" u E# v E$ v E% w E& w E' x E( x E) y E* y E+ z E, z E- { E. { E/ | E0 | E1 } E2 } E3 ~ E4 ~ E5  E6  E7Dl                                 E8 E9 E: E; E< E= E> E? E@ EA EB EC ED EE EF EG EH EI EJ EK EL EM EN EO EP EQ ER ES ET EU EV EW EX EY EZ E[ E\ E] E^ E_ E` Ea Eb Ec Ed Ee Ef Eg Eh Ei EC ED EE EF EG EH EI EJ EK EL EM EN EO EPDl                          EQ ER ES ET EU EV EW EX EY EZ E[ E\ E] E^ E_ E` Ea Eb Ec Ed Ee Ef Eg Eh Ei Ej Ek El Em En Eo Ep Eq Er Es Et Eu Ev Ew Ex Ey Ez E{ E| EE EE EE6PH@ 0(   >@I1_1 1_1C#.,C:\Users\xie\Desktop\1.txt7 Sheet2ggD&<3   P  dMbP?_*+%&??'jZ?(~?)~?M HP LaserJet P2050 Series PCL6C 4dXXA4DINU" "NQ SMTJ HP LaserJet P2050 Series PCL6InputBinFORMSOURCERESDLLUniresDLLESPRITSupportedTrueHPDocUISUITrueHPNUseDiffFirstPageChoiceTRUEResolution600dpiFastResTrueCollateOFFOrientationPORTRAITHPOrientRotate180FalseDuplexNONEPaperSizeA4HPEnableRAWSpoolingTrueMediaTypeAUTOColorModeMonoEconomodeFalseTextAsBlackFalseTTAsBitmapsSettingTTModeOutlineJPEGEnableAutoAlternateLetterHeadFalseHPPaperSizeALMConstraintsSTATEMENTHPEnableGrafitCompressionTrueHPRequestObjectTagDumpFalseHPRequestNullStripCommandFalseHPHybridRenderSwitchHPHybridAutoHPManualDuplexDialogItemsInstructionID_01_FACEDOWN-NOROTATEHPManualFeedOrientationFACEDOWNHPOutputBinOrientationFACEDOWNPrintQualityGroupPQGroup_2HPLpiSelectionNoneHPDocPropResourceDatahpchl6bu.cabHPColorModeMONOCHROME_MODEHPPDLTypePDL_PCL6HPPngPassthroughTrueHPPJLEncodingUTF8HPDuplicateJobNameOverrideSWFWHPJobAccountingHPJOBACCT_JOBACNT_GROUPNAMEHPJobByJobOverrideJBJOHPJobAccWoPinTrueHPBornOnDateHPBODHPXMLFileUsedhpc205h6.xmlHPEnableObjectTaggingFalseHPEnablePageTimerFalseHPSmartDuplexSinglePageJobTrueHPSmartDuplexOddPageJobTrueHPEnableNullStripsTrueHPEnableEfficientMonoFALSEHPEnableImageProcessingPathFALSEHPMonochromePrinterTRUEHPCallToWritePrinterRequiredTRUEHPMemoryManagerTrueHPGetCompressionRatioValue17MaxStripHeight64HPGetByteAlignedValueForWidth256HPGetDeltaRowHalfToneValue1HPPrintOnBothSidesManuallyFalseHPPaperSizeDuplexConstraintsEXECUTIVEHPMediaTypeDuplexConstraintsHEAVYHPPCL6PassThroughTrueHPStraightPaperPathFalseHPPageExceptionsFileHPCPE6buHPPageExceptionsLowEndHPPageExceptionsLowEndVerHPPageExceptionsInterfaceShowPageExceptionsHPPageExceptionsCoverInsertionPSAlignmentFileHPCLS6buPSServicesOptionHPServiceFileNameEndHPSmartHub_OnlinediagnostictoolsTRUEHPSmartHub_SupportandtroubleshootingTRUEHPSmartHub_ProductmanualsTRUEHPSmartHub_CheckfordriverupdatesTRUEHPSmartHub_OrdersuppliesTRUEHPSmartHub_ShowmehowTRUEHPSmartHubInet_SID_263_BID_514_HID_265HPConsumerCustomPaperTrueJRConstraintsJRCHDPartialHPPreAnalysisTrueHPManualDuplexDialogModelModelessHPManualDuplexPageOrderEvenPagesFirstHPCustomDUplexableRange3x5_8.5x14HPMapManualFeedToTray1TrueHPManualDuplexPageRotateDriverRotateIUPHxKAwMC?z=*9Qmv)]EHC)=փϢK.zo!klbDL&'3d 3\;!HyChգrN!K[P_y~c32qq}MIr}6rǶw]̗"8ymS5pG+.#7wnjV,9=ӜeD{%z,>'-nZJ#%6BIZB <+}T*ܡ|! s<+ҴigFq^',ZWTG t颹q %/d||~V>|)QxXD".?H[n{i3kӔӼ=üx^Jԍp89PP㖠e.5ۥ:u{Hz؈N]X7Ǻ?rbqok [Gv[Mը.XNSWs<" dXX BP(? BP(?U} } }  } }  } }  } }  }   E@ N @ @ @ @ @ @ @ @ @ rrrrrrrrrr qqqqqqqqqq Z~ Z&@ Z~ Z(@ Z~ Z*@ Z~ Z,@ Z~  Z.@ Z~ Z5@ Z~ Z6@ Z~ Z7@ Y~ Z?@ Z~  Z@@ Z~ Z@@ Z~ ZA@ Z~ ZA@ Z~ ZB@ Z~  ZB@ Z~ ZD@ Z~ ZE@ Z~ ZE@ Z~ ZF@ Z~  ZF@ Z~ ZG@ Z~ ZI@ Z~ ZI@ Z~ ZJ@ Z~  ZJ@ Z~ ZK@ Z~ ZN@ Z~ ZO@ Z~ ZO@ Z~  ZP@ Z~ Z@P@ [~ ZP@ZZZZZZ o ppppppppp **NPHP0(  >@U  7          Sheet6ggD&\( ThisWorkbookSheet1Sheet2clsTreeNode  H  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMOPRTUWXYZ[\^_`abcdefghijklnprstuvwxyz{|}~'ûm#xME (SLSS<N0{00020819-0000-0000-C000-000000000046}@(%H@0)XxAttribute VB_Name = "ThisWorkbook" Bas0{00020P819-0C$0046} |GlobalSpacFalse dCreatablPredeclaIdTru BExposeTemplateDerivBustomizD2Pre declaIdTru BExposeTemplateDeriv$Bustom izD2Option /licit Rem ο P*. Sub Works_SelecChange(ByVal Target As R ) O/rror ResuNex3 Dim iInteger, itemCnO! If/.row < dRowStart Then e it*AEnd IfAColumns.cou> 1 Or $Not initialize#MsgBox "ģʼʧ°汾", vbExmaW, MSG_TI8TLEA0i714" '14רְCfrmTree.Ca @& E Sh\vbModalTs@81.t"LListClearommandButton1.Enį;Dp\ rA'§ЀUSSGoTo e>xaRK/PdxStrUing@, codeLpreC aW ex:a.Ex?X #X-2D<2ʡֱϽУ Cellls(Csag,E]+ 1)71).M}ip`.D tAD'= 0C#&= Trim( ) Whi (RJ @y B`s(dic"). `CheckD + Cc61))(ALeft("  )), 2gZ} /d'1W8end#EkDo P$, U[!0l$"TǬA@_"'!*AzR ight("00" & " &cI?7 =Loop#0 "k 356&?3?!/3d_T/n-G db5@?`_%\\-1YWb)+n4%n'!s_ltlreOOP_l?_>cϤ<`).ii iiijiixlBetween, Formula1:=dxS tr .IgnoreBlank = TruehnCellDropdown:putTitle 2""jError.In/Messag1IMEHMod.xl NoControlpShow\ F End Wi thIf D Sub P X x22 (( P`h.p< 08"@ hx&'ûW#xME (SLSS<N0{00020820-0000-0000-C000-000000000046}@(%H@0)XxAttribute VB_Name = "She@et2" Bast0{00020820- C$0046} |Global!SpacFalse dCreatablPre declaIdTru BExposeTemplateDeriv$Bustom izD2ְ רҵְ :(< @4<û<#xME (SLSS< N0{00020820-0000-0000-C000-000000000046} @)` %`"`$ Lgg) %`P`R`T`V`%X``)X "  ( 8HP (X 8 $ 0@P` h p"   , &(P X x22 (( P`h.p< 08"@ hx& &8$`&2( 0 P2`2( (8@H<` " & HPX`hpx  x οX]h !& ( |0k( !*!, !.!, |xkp 0&ģʼʧܣ°汾ģ壡 4 6A@2|(k !814רҵְ רҵְ :(< @ :B@> :!B(d :!DB@F :!H(Jko Nh]]0H !& ( N|k( !82ʡֱϽУ !& !8 +X !& !8 $X!ZB@\'P !& !8$X$^'R V R d P f b$`%X$^ d P f b$`%X$^$'Vk P 'P'R_ d P f b$`%X$^'T Txk T$ V T$h00 R,  d P f b$`%X$^'Rk P 'P R !8 $*!ZB@\|k !& !8 $XB@H j!ZC@\ nl rp vt RxC@l9z9|9~999 999q !8e 3 !& !8 +X !& !8 $X!ZB@\ !& !8$X$^|pkh'P !& !8 $X$^'R_0 R d P f b$`%X$^xk P 'P !& !8$X$^'R V R d P f b$`%X$^ d P f b$`%X$^$'Vk( P 'P'R_ d P f b$`%X$^'T Txk T$ V R,  d P f b$`%X$^'RkX P 'P@ R|(k !& !8 $XB@H j!ZC@\ nl rp vt RxC@l9z9|9~999 999qhk`oXP<Attribute VB_Name = "She@et1" Bast0{00020820- C$0046} |Global!SpacFalse dCreatablT8g ûvH{A7 W*=h8+3qsj04Nlj}^xsj04Nlj}^{A7 WME PSS S06"<<<N0{FCFB3D2A-A0FA-1068-A738-08002B3371B5}0"<H@%H %,!hi Ah ix,!phP $i  Ah(i ,!@h, %)8  % h0) %%b4@b8 @@Pp(pP@`L4()X*\R0*#1c$*\Rffff*0B58fa2680@ .8h B "  B "  B  "  ( ṹڵ]@ ڵ]@ ӽڵʱΪtrueûʱΪfalse]@  ӽڵP 'mh 'mP 'm8p 'm  .m@ .ְmױAttribute VB_Name = "clsTreeNode" Bas0{FCFB3D2A-A0FA-1068-A738-08002B3371B5} |@GlobalSpacFalse dCreatablPredeclaIdC@ExposeTemplateDerivCus tomiz ERem ṹڵ P#' mItemAs Sng ' ChFlg BooleanӁʱtrueȻЁfa3ChildrenCollectLio! Iublic Property Get iN()Ox E@S0 EndLs>)GE= F _A,cAI+I+Qc*b ^)= 'aC(Gb)SGcEj= mEmI(ByRef o|D/ EF rU~| 0  MainFunc '__SRP_2N__SRP_3QgUtilFunc0d *е֤šΪգ飡A@ d#$\e 0е֤šӦ14λ飡A@kP8  $`%X$^'d d &еΪգ飡A@k9Ա  $`%X$^'d d &еԱ𡿲Ϊգ飡A@d0 d''_  b$`%X$^'  (еԱ𡿲Ϲ淶飡A@xk  d'xpkh  'PkH 10  $`%X$^'d d *е¡Ϊգ飡A@ d$e .е¡Чģ飡A@kX 11֤  $`%X$^'d d *е֤šΪգ飡A@ d$e *е֤šʽԣ飡A@k`12μӹʱ  $`%X$^'d d .еμӹʱ䡿Ϊգ飡A@ d$e 2еμӹʱ䡿Чģ飡A@k` 13ν  $`%X$^'d d *еνޡΪգ飡A@ d d#$\e ,еνޡӦ飡A@k`14רҵְ  $`%X$^'d d .еרҵְ񡿲Ϊգ飡A@ d-$# d-$#$h0e 0еרҵְ񡿲Ϲ淶飡A@d  d''_  b$`%X$^'  0еרҵְ񡿲Ϲ淶飡A@xkx  d'xXkP  '8k0 15ҵ״̬  $`%X$^'d d *еҵ״̬Ϊգ飡A@d d''_  b$`%X$^'  ,еҵ״̬Ϲ淶飡A@xk  d'xk  'k  Pûݣ֤  6A@2|XkP excel B@ ־   $`((־ $`B@HA1 $`% B@H$ݲҪ鿴 4 6A@2dУɹ $`,X P $`,XУͨ PУɹ  6A@2koڵAttribute VB_Name = "MainFunc" Option Explicit @ Pub, Sub m()( OJrro@r ResuNex\ ' Ϣܡsheetڣʾ!*If Ss(\ ) Is Nothing Then+ MsgBox "ģʽԣ@汾- Ҳp" &2"", vbE@xclama~, MSG_TITLE:ExitEnd Ifty t׷һ }sg}s.Add After:=( count .m! 4fCall clearLog'DrFûKfxME(6 << < ```d`x` ` H%)X$*\Rffff*0358fa268a "    ,HTX  @0H  P `  6   08@ .` " BX  `" P  "  HDX " D8JX " @8  @"P x@"  @  `h p    " DHHX  " D8 DP    "  H 8 LH    "  D 0 FP    "  H N8 J     "   H0  x             "  D`hpx"  D     (08HP  X  h&x       6@x,> (xh& Ϣܡsheetڣʾ $`4ģʽԣ°汾ģ壡- Ҳ  4 6A@2P|Hk@9 sheetڣ׷һsheet $` `!,$` `B@l  `!,$`(k ־Aϴд־'־¼ ʼ 0$ģʽԣ°汾ģ壡 4 6A@2|k ʼУ]@]Xp]] $`!!.!,'P  ( P+ѭӵһпʼ1  $`%X$^'d d  ( 'Py d d#$\e (еšӦ飡A@k2ʡֱϽУ  $`%X$^'d d 6еʡֱϽУΪգ飡A@k 6ѧУ  $`%X$^'d d *еѧУơΪգ飡A@kX 7֤  $`%X$^'d ϴ cu"r@fRow0 '0¼A' ʼ>@w initializeyxonBRem УB%Dim 3rowindex As LongtS@ng, dicValu^eE @CII@ntegerEcheck BooǀWBCntPm.UsedRange.s.{FI-= data Star t To 'ѭӵһ! av1c= TrimLCells(, 1)O;Y""w=j,-{ @nElsedF" Like 0(Len(), "#")A writeW("$& "еa?Ӧ!v"$e#&2ʡֱϽУB{((2(Ϊ_@6ѧУ.C65h5E_7֤\et7E_14^&m^/'/14λ/qe/c '8#/!Kme)/!, 8B.u0Y;; $ 9)))νޡΪգ飡") ElseIf Not text Like String (Len((), "#") Thenj writeLog ("" & currowindeBx "еʂnd Ifa'14רҵְ= Trim(Sheets(main Name).Cells(H, 14)xv ""8iK `Split-")(0)) = 3 A|Rig8ht(]"0VϹY dicPRowIt=ACheckData c1FaDoEBValuelllm@nF!MoC0 Exit 4EO'—IÁITrueE#PI+ 1ELoopI#'15ҵ״̬_?hgz15?hegcQ, QicQH- QE!Q)!?Q?QG?QB'\iO⁦?Q N̨;a)@(Cnt[0HMsgBox "ûСڣ֤", vbInformation, MSG_TITLEA DvSubGbRem excelActiveWorkbook.S avtE־ q > b sgVisibl#' a RSelectRange("A1").!%!$ҪA^鄿ExclaAwvu101iɹ̰"3S ͨ0!& "o l q krU $`nrU~| MxrU $`(`a$`%X' $^e  ', d  $`%X'  'i4 ֵ䲢ж ɹtrue ʧܷfalse0] d ! b$`%X'`ȡֵA@ !  HģУֵҲӦֵ䣬ģѾƻģ塣 4 6A@2ְ'zxkp ! (7!ֵ Ĭͬ  (1ֵ d ! b$`%X'V ȡУXMLְ  $'d'ki ֤ǷϷ Ϸ08 Ϸ1 15λ18λ$`](@]Xp W----------------------------֤ϷԼ--------------------------------------- '  Zλ'zpdh G $19  $h'j $$ . Zַ'zkZڼ% $-  $-  $$ $-  $-  $$ Z 'zkkW-----------------------------Уɼ----------------------------------------' "   " $$ "  ' 10X98765432   $'X У  $h$'  X УԱ'd''/ҪУ룬ѱΪIDcheck = ek8d0' 'O15λ֤벻λԭki ȫֱʼ'0  zk b$'- ȡ '0z`kX]](    " 3,4 $*!ZB@\k   0_ $*(-1,13ν    eyyyy-mm $*(110,12μӹʱd(@ $*(k 2ʡֱϽУ'P'R'T_ d P f b$`%X$^'T Txkx T$h0000 R,  d P f b$`%X$^'Rk P 'P R R $h'R $*!ZC@\ nl rp vt RxC@l9z9|9~999 999q@   e$9Ա,15ҵ״̬'P'R d P  b$`%X$^ R,  d P  b$`%X'R P 'P R R $h'R $*!ZC@\ nl rp vt RxC@l9zY#ûxME P<< 6 <<H @`  ` i+0` i``+`p )A%``+`))I ``"```+0`` __``P`R`T@ +` %%)A%i`P``R` `%h  `@0%`@0` )X(*\Rffff*0858fa26b6\1(*\Rffff*0858fa26b6\0$*\Rffff*0858fa26b6$*\Rffff*0758fa26b6 B  @ HB X`p B ""(PXh 8pB :Zx8 2 08@HP X x  B  ^H.P<<   (0H   ^ <@(8P px >,  B0 8 @PX `    * ( 0 ,H x :    (  ( 0 8 (@  h  x    <     ( @ &H p x         .   , 00 ` p x   &          (  0 P h ,       $(P XB px  (  &(P`p    @HX `x  x ־A:C $`%*B@\ʾi8 д־@  '   $`,Xpih ȡ¼°]]' d  9|9~999 999q e14רҵְX $( d  b$`%X$( $( $($ $'0zkk 1: ( $.!ZB@\i ȡ`]]0]H''P'c _  d P  b$`%X$^'R Rxk R-$#$h' 0  '  3 R  %(  %(  %/d(. R ( (  %(   %!B@lk P 'P  @'ixpxAttribute VB_Name = "UtilFunc" Option Explicit Rem ־  NDclearLog() Sheets(msg).Columns("A:C").Delete EnLd F`д ^write^content As SngocurMsgRow + 1ells(+, 1).Jȡ¼ ge@tValuesCount(sW]IbgerNDim Index title u=l=6odicCheckData0- 1,6WhiTrim(B@) <> "} OR end1K_@)`ֵ ɹtrue ʧfalsFfindDicAndSetProp(ByRef vmZTypeEq)Boon.kB Czw,@iXmln njʒoaC.cBBM) 'G@+If@{(B A-*`@ 0 The  jBox "ģA Ӧ!ǡѾƻD!"bExclama, MSG_TITLE! 4BFC9RExitȅ Ifa!_o#@/ M'AI Ĭ@ͬV ?==A G1B>v46>1A2XML=xmlParse#> mJ);q-T`h EgA.:2/żʀǷϷau0C@A15λ18λIDc(IDti Ats!o,< iac(, zACu, oldIDC'-A!h aC= ID`9Not (LenA 8 Or 5C9A4#'λ 2C~<6P6 1fj% 0Left , 6) & "19"`RitghS9bgR IsNumeric@d17)ax>InKID, ".") >IN'ַ  rnDSDOrror Res NextO' f y#g(MiBd7, 4-+U1{2o13, 2p< 11_rݥ>2 C 0R8#B 53Mɼ5s*s Fi1 `To 17v!s + R18 - ia) * (2 ^PDMod 11D, #Q1"10X98765432pn(s ? 'C3@'zzP UCap_61)6!e: ' Ա 6Bd=0Y'aѱΪW%Jba cW'i_λԭ ?mȫֱʼninitialize(;Qp {{"CuR/dN cN4= ?t(j$ϱ 0$') ߛnc?g{w{row! $dxaGz, code*1q?a0t?+Lf`lq3 42'3,4 ol).dr!W {d3/ 0qber Local"0_ " '1,13ν<510;!`T2_).TTormatLocal = "y-mm" '10,12μӹʱ Else$ Columns(col).N@umberF @"jnd If1 If 6z2 Then '2ֱϽУ+ roPwCnt-0dPxStr"a Nde Do/ Trim(Sheets(dicName).Cell CheckDataRow :+?,1 |))-f>h Exit EE Right#P, 4)n0"'}& ", " & Bk;16GM*Fb+ 1E:Lxoop(C5B, Len() - 2OWith˒Validation .D0eletƞAdd Type:=xlD eList, AlertStylop, Operator Between, ula1 :=B(IgnoreBlankdHTru InDropdownputTitleǪ@/Error RIn Mess agS IMEM$od xlNoControl3ShowAL@4A"^!9 OrbA15"U '9Ա,15ҵ״̬fGxWhi `%_Yc6tl)) <> -B:`f{_Rl(FaW8end%a a!ahaaBValaaaSea ao~a14d`14רְ'ReDim tre"3(0 To 1I).IndexV@,XX- 1ǡGXyxd9xzfs^@Not setT= (be initiP]zI FaHqFunc _1 NextF1ys("41:o(/zStartfpl.d3 Rem ȡ  ByRefb As2gA, ByO`Integer)!BooleakAG, p Bping, lastpCharQ3cERdaclsNodiD= = -7).n C)99R)Dc =/03!.#"̍W g= 3TSpl itӄЏ-")(x0),4 Э0=b([ SetrqNew> ZC1a/.itemD9"chFlgcˠ@r0= le2 !o  6W/ 2 G _ild@ .QIF*s*PreserveTa/7 y? __SRP_4S__SRP_5 VSheet5]Declarationn0(`y0,`4(!`/$I`4q`4n'û:%#xME (SLSS<N0{00020820-0000-0000-C000-000000000046}@(%H@0)XxAttribute VB_Name = "She@et5" Bast0{00020820- C$0046} |Global!SpacFalse dCreatablPre declaIdTru BExposeTemplateDeriv$Bustom izD2rU~| prU  __SRP_6mJ__SRP_7ohfrmFuXuan?frmTreecr n @'û.3#xME (SLSS<N0{00020@<P " H @  Pp    @ @  ( 0 @ X p     8  X h  p       .      " @( 8 H P X "`  h  x       * "  *  0  @ P X ` "h Pp  < 8 X ,x P . P( x      h 0  P ` Hx F 6 F@ , J B FP  D     @P X x          "@ H P ` hp     8 T  ( F    ( 6H  X 0 > PX <  ( $ (8 f` 2 n np ,  2 fH  0  6H : \  <  0` 6 ( , "  (H p 8 B 0 8  4@x  @       " @H`x &  D(ûxR0RRR@@ME(@"@6 8hꐬHdPBfBꀲ @ @  @Ϣ ֵ@%Hh`h xhh  (@%hh0hHh` h"xh$h&h(h* h,$$h.((h0 ,,h2800h4P44h6h88h <<ꐪHbH((B6x(HP@(0Px   %(0Px ݼX 0)X$*\Rffff*0B58fa2680$*\Rffff*0858fa26b6(*\Rffff*0858fa26b6\0(*\Rffff*0858fa26b6\133  $*@p "$ 8X p . 0 8Ph 8X x(   0 P p ȫ־̬]$Ϣ2 У]$ֵ/ֵ洢ر]$x]$)У鿪ʼ]$(,ֵ]$P* к]$ݼ. Ϣ] xϢǰ]  ¼ܵУ]  ¼] 洢ο ṹ0^H^`^x 0, нڵѡ1ӽڵѡ^0, ѡ1ѡ^p Զ^^^0Ӧֵ^HӦֵ^`ֵ^xֵ^Ƿ^ڸʽ^ֶγ^洢ֶ^ ֶι^ ֶ^ У ĬΪ""^8Ƿ񱻿 0ǣ1^Pʾʽ^hѡ ͨ xsfs0, yxdx0 ѡxsfs0, yxdx1 ѡxsfs1, yxdx1 ѡsxfx1, yxdx0pAttribute VB_Name = "Declaration" Rem ־̬ Public Const mainSheetAs S ngϢ" 'У" |dic=0;@CmsgC dataRowStart YIntegerZ6 '݁VʼЏWCheckD# 2 'V # codeCol 17 '@кŌ;MSG_TITLE2rπcurMsguLo'̵ǰʂrowCnC ¼ܵB col M4 ' FtreeList()TypeT@@rοĘ݁+k E IndexA xzfs J'0, нڵѡ1 yxdK   hѡ np4cls3N End*A3ԶЂO4Valueumn67 '? @~- % zdl)#\# z8dmc)- sfb"J0Ƿrqg*4ڸʽ!azdcdk acczCj!ֶaZ DGLKZ- b$ZDLD/%tsjy)a` Ĭ" bkz "A 0"LǡxskQʾ#lN'CM' \ X!0 '. aRA(1'ģ!1, a$Z!sxfx$  X " ( 0&Hp  ,x     * 0@H P p  "   4 @  P `  h       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgijklmnopqrstuvwxyz{|}~XL_ûA0xME(SPSSS0{5DB1E958-9ED1-41B0-B535-9BA77C0EE839}{15C3F76E-5E40-4257-AA18-3FCCF220C533} :@ > B@`"`D`F H8  d `f`"`h`j`l( %P( %@@@(X)XL "  "(0 P` h" V8X Z @`x  .     ( 8@ HX `p"x  "  ( 0H P `p f   @H PX `  x 8B@<oX@ @!& @!8+X 8B@<oؼгʼ]] D L9J P9N " R RPIf InStr(Cells(dataRowStart - 1, ActiveCell.Column), fxList(i).colName) > 0 Then @!8 "$R! b! d "$R! b$`%X "$R!$ "$R! b$`%X b$`% !V9T9XS .text = Sheets(dicSheetName).Cells(dicCheckDataRow - 1, fxList(i).colIndex) checkѡ @!d$'H D H H F5Z 'If InStr(.List(k), strItem(j)) > 0 Then F7\ D$H F;^yk F Dyk "q `B@bo@]]]'l " D!Z " D%^ " D%\$^'j j0- j00- j'lk f j'fk " f f f $'f l f lѡ lȷҪд𣿣ֻ lݳͻ$2'h h l @!& @!8+Xd|kd f @!& @!8+Xkxdp @!& @!8+XkH 8B@<o0("Attribute VB_Name = "frmFuXuan" " Bas0{5DB1E958-9ED1-41B0-B535-9BA77C0EE839}{15C3F76E-5E40-4257-AA18-3FCCF220C533} dGlobalSpaco False Cr@eatablPredeclaDIdTru BE`xpose0TemplateDerivCus tomizDOp tion 0licit P"& Sub CommandButton2_Ck() .HidXEnd!"3 "Cells(Act[@.row, Column) 'ؼ@ʼ!UserForm_@82Dim i As Inte@ger, jJkH> strItPem()SngWith ListBox1 .Multi@Select@1fm A StyfmFg.*= LBound(fxA ) To UJC 'IVf4@'(Yd@RowStart H- 1Z, ( i).co) > 0 Then?h6$DIn8dexJ BAourBdicSheetB& "!"H & Bs().Range(icCheckD + 2\), i ;Cnt3).Address! THeads !#x'da.tex?_F3J1Ck ' c8ϧTSplitl!, ""y LjL)LEg Fk`Do .aRCS"LQ(k2 (j)LM/ lK.med 0CExiNtakaIfiNa6k'j'- i iaatFocuISubا1kː kaA$Adtemg, w~u bC=i*B=!=ᜢ3P>7F}2iI(2n5im( `S@"0-" Or JQr c { 0&Q&I2I Q<> "")q[eft(, Len)qX( At/a0_ a@ Msg ("ѡT ȷдֻ":",!a"ʀݳͻA 17CTha||wu<"RHR50E/$O[J"/f]SûxME( $SPSSS Bp66` % jP8`" 77 %  P  ii  (% H% h%`"`F`   )% `)% % 00`"``D j`Hh )% % xP)p %   ijx d(( pctio%`f0`"nBut :  ( ) H P %)p $%  %`"  )   +X%)8 % X % x %   %   %br bt0bxX j~x00   XX hpP   + )X ( 20 h*x ( &   (@ HX ` @h p "  "   "8@HP h   " (@Ph         (8@*P X n H `p &      (  x   4      ! ! !  0!0@! p! ! ! ! !! !!! """ . "P" p"  "" " """D"#(#0# 8#H# `# p### #" ### #$$ $"0$ 8$H$" P$ X$h$ p$"$ &$ R$ *% F@% %%%%% % %% % &(& 0&@&X&x& &&& && &,&' ' '"0'X'`'''  '' '"' '' '" '''((( ( "0(8X(( ( ( ( () ) ()0) 8) " @)H)P) X)`)$x) ) )) ) )* *(*0* @*x!##########Treeview Code##########+Add this to your form's declaration section]@]@  to exit a SpinButton event"/##########Treeview Code########## ''' for stress testing this demo]@ ]@0 ڵǷѡ]@0 ѡѡ]@X index]@] X ]x]?Xֹǩ༭״̬ 0,'o h @!& @!8+X :B@<o¼]] @!$^' :!< |$! A TextBox1.text = "" ListBox1.Cleark0  ǰԪֵ n" ʵ z ѡ] X $'j  n! (  " j j "$j n%.  (k "   n/kd  ѡ n!1 ActiveNodeʵ QIf mcTree.ActiveNode.Caption <> strCell Then ' ActiveNode뵱ǰԪݲһ hһڵȱʡActiveNodeǰԪǵһڵ㣬ûиʾע͵ж  n%.   nB  n/d`A' ûƥѡػ洰k0 End Ifkkk ѯ TextBox1.text = "" ListBox1.Clear neA0ûиֵǰδActiveNodeӰ죬ػ洰kho`ؼʼһϵвpBsee the Compile constant DebugMode in tools, vbaproject properties9DebugMode=1 will enable the #If to Stop in Error handlers Hide the Image container !( !(JMe.Width = 432'r !!!  !!(k'r   '! ] 5(59595!9qx  ! 59595959 $ImageK SpinButtonKTTextBoxKFrameKT 5(S 5(nxqph`A(δѡĿʱܵȷд H(JĬѡеһҳΣ (o   'A@o n nB@.nkh'v ( ~ (<o8########### Treeview Demo ##########P#Make sure all objects are destroyed n nB@k.noI------------------------------------------------------------------------- Procedure : Initialize5 Company : JKP Application Development Services (c)1 Author : Jan Karel Pieterse (www.jkp-ads.com) Created : 15-01-2013& Purpose : Initializes the userform,I adds the VBA treeview to the container frame on the userform( and populates the treeview.I-------------------------------------------------------------------------]]0]P]p]   aIf InStr(Cells(dataRowStart - 1, ActiveCell.Column), treeList(s).colName) > 0 Then ' λĿ @!8 $!.nOn Error GoTo errHAThe VBA treeview needs a container Frame control on the userform.?Just draw a frame on your form where the treeview should appear0Make sure the frame has no border and no caption@Set it to show both scroll bars. (Keepscrollbarsvisible to both)%Set it to the special effect "Sunken"DNote that node label formats such as back/fore colors and font adopt;the frame container's properties, so change if/as required.@(you can copy the frame named frTreeControl from this userform )=Then pass this frame to the TreeControl of the treeview classGoTo lbl_Debug_Tree '|0 $!'x нڵѡ n(d'x ײӽڵѡ n(kp0 $! 'z n(% ѡd0'z n($ ѡ D L9J P9Nq k n $A@$ 齨| k   n !=C !~9~1Set some characteristics of the root of the tree,Mwhich for this demo we pick up from checkbox and spinner controls on the form.LabelEdit(bAutoSort:=True) = IIf(cbxAllowEditing.Value, 0, 1) 'default 0, can be edited (like LabelEditConstants tvwAutomatic/tvwManual)? new in v022, EnableLabelEdit added as alternative to LabelEdit F # roots! add a Root node and make it boldRoot F Root Node F7. (Tip for Root Node F-. Context tips can also be added to all nodes ( *Add branches with child nodes to the root: 8Keys are optional but if using them they must be unique, Iattempting to add a node with a duplicate key will cause a runtime error. 6(below we will include unique keys with all the nodes) !_11.A %. Add a 2nd branch to the root: !_22.B %. `If you want to add more child branches to a branch later on, use a variable to store the branch. !_2.1 2.1 level 2 %. (+^ this node will initially be collapsed, it's child node controls will not initially be created gTo add a branches to a branch, make sure you set a variable to its 'main' or parent branch when created &Then use the Branch's AddChild method: !_2.2 2.2 level 2 %. _ with TriState this node's parents and automatically checked, each triggering a NodeCheck event z the following three child nodes will also be automatically checked but as not yet added will not trigger NodeCheck events5G (j !_2.2.12.2.1 level 3 %. !_2.2.1.12.2.1.1 level 4 %. !_A72.2.1.1.1 level 5 with extra text to test scrollwidth %. 6Now add another branch to the branch we stored earlier !_2.1.12.1.1 level 3 B@ /Add a 3rd branch to the root, with a child node !_33.C %. !_3.1 3.1 level 2 B@ Add a 4th branch to the root !_44.D %.4.D + t (< 2 add a bunch of child nodes to the root's 4th node " t( 15 !_4. "4.000 "$ h B@-create the node controls and display the treeC@qx|ph [ ! !8 0([ ! ! n nB@kotreeview˫Ŀ z ѡ x ڵѡ !< @!& @!8+X :B@< !e, ײӽڵѡ !< @!& @!8+X :B@<kko   x ڵѡ z **********ѡ*********]% ֻҪһڵ㱻ѡУȷť  n! ! H(Jyk d " **************ѡ************* H(Jkd !, ӽڵ H(Jdx H(Jk`kXoP ¼] D!Z z]]0' " D!Z * ȡ豣 " D%^  'k "   j'D " D!Z , ȡ豣 " D%^ " D%\ D+j D 'Dk " DB@F " j j- дcheck "$j DB@ " " D!Z  " D,^ "d  DB@Fkd DB@Fkk " |$! |$! " |$%A@ " H(Joh] ! B!d x !(, ڵѡ ߸ڵ㲻ѡΪײڵ ! DB@kk !  ! A@ kxoplistbox˫Ŀ z ѡ D!d @!& @!8+X :B@<kolistboxĿx H(Jo H(Jo ȷ¼ If MultiPage1.value = 0 ThenL Cells(ActiveCell.row, ActiveCell.Column) = mcTree.ActiveNode.Caption$ ElseIf MultiPage1.value = 1 Then@ Cells(ActiveCell.row, ActiveCell.Column) = ListBox1.text End If z]X]x]'f !! ѡ  n! ! f !<$^'fk d  ڲѯѡ " D!Z " D%^ f " D%\$^'fkH "k0 f f f $ @!& @!8+Xkd ! n!!< @!& @!8+Xd D!d @!& @!8+Xkxkp :B@<oXȡд :B@<o( 齨]x ]   !=C !~9~ " ! ! " %! " %!7. " %! cRoot.Expanded = True  " %A@Else cRoot.Expanded = Falsek "C@qo ]@ ]`    ! ! !7. !cNode.Expanded = True  A@ElsecNode.Expanded = Falsek qoRAttribute VB_Name = "frmTree" Basx0{FE44A311-A1E9-46D1-8F9D-B15A18848D59}{E18D22B4-1D2F-4EDB-BE50-E9A2E5D8DEDE} dGlobal!SpacoFalse CreatablPre declaIdTru BExpose0TemplateDerivCustomizDOption 0licit '#view Co de Add this to your forPm's da*sec PKO WithEve@nts mc- @As clsV3 .Var@HelpID-1GmbExitBoolean* '$ea SpinButt7eA-/16 '''4 stres8esting AADList(fE).coBI@all FInitia(liz '!?TextBox1.tD#! Cs@O !$!@E"" ' ǰԪPֵ! f#`NoaR!D Is htVʵ N f$i a+item()., igacSpl Q, ""-;@ Each 6In$.!7s!.checkiAaNa*b i@LBound() To UI (Set=get!ByKey(i)"&a,"M,i # k>&ig9> Ta9 P)&I!QT$.$M% v'N .6-).Ȁݲһ— /һbȱʡ1F2!иʾע͵жI "."4 "#I9 CEtScrollT o(, 0, , O io3rLe "Aѡػ洸 %A'-c' PJT0 !fTsT`-:,/: [ '"!ֵ`ǰα)|[ qptau'ؼʼһϵвٞנZecze!oQpseee mpiЂcant DebugM1oinPols, vbaproj ppertieT'=1 wi jenrthe !PStop Error hxlerXa|I mage tainQMe. tPm.VisiZ?.Eb1' Width0432Ԭq` nt2.Font.Sx < 4zQ = 4C1SQW= 1ghmI + A>#Y륁wobHjCtҥMSas.apX 0."*p/ 3LHeight .o.Back`$= .labInfoG7 2 1 (bs .Levf ( >S .T/= % eKel;CType(+@b0"6"SpinButto n" Case "TextBox", "F0ramen.Font.Size = 10El se4"?End Select @WithN B#If Call Initial_sub'δѡĿʱܵȷд$ommand1.EnabHled|Fap'Ĭ*ҳΣ MultiPage1.ValuWSJPrivate  UserForm_Termi2n ()#%#If DebugMod Then{ gO+ 1ClassCountsNT$cmdStop@_Click#  !Not mcTree Is a@hing#.N@+sClear!Se=EC!r4mlDemo No3ęMe.labInf"DCaption! AppN )4'# ,view@Rmo bQueryClose(Canc el Asteger, cGl'Make sure objs adestroyed;Rƅ1LUBi+d;'-?! ' Proced :q!Company<: JKP 6Lab8Developmentrvices (c* Auth oraCan K *l Pieter`(www.jkp-ads.cDombCreidb 15-01-2013urp:"g!s the u@qf@q, Fadd#VBA t`Itoc`ainer fA @R n @popul  .@-?"EDim cRow@Uclsr(A[/Extr aiLongX, kE sAINneE s@uLBd(AList) To Ul# 'dInStr(Cells(dataRowStart - 1, Active.Column),3A (s)Al) > 0 ' λĿ?% N D Indexo)!uV'On ErrXGoerrHEaL'`" JKnee Na gKrolmL GeU'Just d raw aRyou)- wheI* r,should appZL-has no pbord/PrcX Ait 2wth sc l bars. (Keep0visi@vbo8 PF { FViP1 0[ ' 15ot.}4.q iP}Right@$("0004}N/Kw';_@Te3mfjo d@isplaytpOw.Refresh5EWWExit Sub Hb#pLDebugMOf1.PYt Err.Source,De >0Br*# c0(, j \As Long  Dim i@tem() Strilcnt = 08For i To ListBox1.CouT- 1 ' ȡ豣z If5Selected(i) The2n% v+ b1EndBNext i b7> 0 URe1_) jj4/t''u j)@'Qj d !.C0lear:LBp@cdo U' д`check:FAddIC4iHWW% Z* S= True KElsSAIQ Q I ALRPtree(Index).nodeIWC3filterTUU =ACommandButton1.EnabledL%Sub Private  +(ByRef N xcls-DDeft(P, Len) ?q 5__T5v5w0IRRRts  +Tra'ȡ_G2WG  ' 齨c_Iorg!EԀvXiewq8V, Type";cRo`|@Ƙ>= With  Set .ControlQMe.f2$Call .R;*.App1EuA@A5T~ϚpCU = .@q(sKey:=63vT#mQ ?T-Q+:M1 '.ExpQC@ ,҉ '9,Fa*ufresh1sd'& '&Rx(&r(҈'fa} pa_*c?  n:=6aߏ1j,Ө J se 'cNode.Expanded = FalEnd IfNext `child2W ith Sub clsNode<@clsTreeView(Sheet6q_VBA_PROJECT^A `p 6  8 H BP L F 0 P8 2 R P h < 8  >  P`     > V8DVT0*DRXp    b"x.      ( 0 8 @ @H  P `  h x      n 9R&9DûxRXRRpRRRME8$(, 40<SS S<&<JN0{FCFB3D2A-A0FA-1068-A738-08002B3371B5}XX5"hP% %%%%%xH%Htion%b b"b$0B(X b,`b.b2";(%%%"7b@ "0"p"bB b B& b*8b0 B400 "=8"A@jN0C %Lp $R0(XH1,`dCbhH%H,!hHi A ij,!( i  Ahil  !< i  A<`(I `n ! i  A**Ir `t `v `x z%,!%) %,!h @ 8  %)`  %  )  %,!0  i A p i,! i  AP 0 i ,! i A ij,! X P %)x %,! %) % !P 0 i  A I  ! i  ApP I  ` @ 0%,!`@i A33i` `" %,!Pi ` %,!P%) %`" H%,!%) % () %,!ph%) %`" %,!` %)8 % X% ! i  A  I ,` 00)$%)(%i  ```" x %` ,EEi8I XI xI %) %`v z%,@i`i %`,Pi ` H%,**i %) % %`,!`X%) %  )%,!P0i Ai Ai,!pPi ,!%) % H )@%,! 4%) 4%  ) 4%,!h`%) % )%,!h@8%)` % )% 8)0%,!x%) %  )  %,! X P  %)x  %,! i A@! !i,!!!!%)! % "!) "% """ ""p" z"% 0#"ix z(#%,#p# 88I #i  $@$#EEi& `(`*,:8%$ '')$$%i< $i  ``" 0%% >%  z%% B&%..iD  z&% 'X& )&& x&i&iF&)'' &i8')X'(%`H`J`L`N @ ((SSiP  (`( i  (0% P)(,,i ` @ H)0% \) `)""`t dh*(*)H*8%`f l@+*in*ip*ir+it`t zH,+))in+ip+ir+it`t `| `~ , 2.`"````*`(```@ @ ``@ @ @  `Cx. /.MM)./<%ip` ` ` ` / (00%"BX0H"D0"F0"H2PjPCjT 1CjVCjZp1Cj\1Cj^1Cj`1CjbCbd82C"f@+12,XP h@$8% (.XX0P)  H,p`p10/ &)0(82P @h0/` ( ")p 0 "0# 800p H1 1P#h*@! P P!%(100 ``1'Hh8h RR X0/0`2)X(*\Rffff*0;58fa2678\0(*\Rffff*0;58fa2678\1(*\Rffff*0;58fa2678\2Y)  R h B P X " ` Lh       B   "  (  0 @ P X B ` h p " x               ( B 0 4@ jx   "     4( >` 0    (0 8H P hx "     (8 @HP X B` >h B  "   B "  ( 0 @PX B`hp " x   B "  LHP h x B( B(H hp B x < "  @ 0 @P X ` hpx B  < "  <08H X `x "   f PX hp  @ B "    (08X` hp  2 R8P ` p x        (0 8 @H&Px B   @ (08 B0@ 2p       8@H BP Xh " p x B 6    ( 08 @ Phpx B   B  "  $ $@ $h B  P 8@ HP2X     @ ,Hx   $    0P Xhp x ^ B$      ( 8  @ X  ` p  x            ! !! ! (!0! 8!@! H! *P! !!!! !!  ! !!  ! !!@""" " ("JH"".""" B " P" 8# <X# 8# # B# P8$$$$$$ $ $ $$$$$ B% (% 0% P%X% `% h% x% %%%% %%% B % P% @& <`& 8& & 4& P0''' ' ' ' ''' ''  '(( (0( 8( H(X(h(p( x(( P( P( P() Px) P) B* *0* " 8* @* P* `* p** **** B*** " * R* \0+++ " +++ B+++ B+ ++ " + ,, B, ,0, " 8, @,P, BX, `,p, " x, ,, B, ,, " , ,, " , ,, B, -- " - -0- B8- @-P- BX-`-h- " p-x-- B- -- " - -- "- J- .8.  @.P. "`.. . .. .. ./ //  / 8/ H/P/ X/ `// /// / " / </ .000  80H0P0X0  `0p0 0000 B 0 4001$10181@1`1h1 \p1 P1 2 "@2 h2 D2 P2  3 @@3 3 3 3 3 *3 \4 ,`4 4 4 4 *4 *5 "05 4X5 "5 P5 6 "(6 P6 *p6 6 6 6 .6 7 .07 @`7 &7 ,7 &7 * 8 P8 $h8 8 8 8" 48 P8 @9 "`9 x9 B: PH: :: : :: :  ; 8; 2H; ; ; ; ; ;; ; ; < (< 0< @< H< X< h<p< x< < < < < < < <  < < <<  < = = 2(= `= h= x= ,= H= (> (> @> H>P> X>h> p> B x> ,> F> >??? ? ? @? P?h?x?? ???? ? ???? ??@ @@ @0@ 8@@@&H@p@ "x@@ @@ @@@@@ " @ P@ 0A <PA 8A A 0A PBhB DpB >B FB (@C  JhC >C "C P D pD  DD @D DEE RE DhE EEE EEE EEE $F $(F $PF " xF :FF FF"F  G2(G `GpG0xG GG G G G G H H(H0H  8H HHhH pH HHH " H 0H H H I I  I (I8IHI PI XIhIxI I III II  I I II I J JJ J 0J @JHJ  PJ `J pJxJ J J JJ J RJ K (K@KXKhK pKKKK KKKK L  L L  L (LN0LL LL LLL B LL  LL LL MM* M*PMM M MM M M " M PM " N "HN pN >N HN POhOpOxO O O OO OO OO OO OPP PP(P @PJHP PP PPPPP P P Q "8Q PXQ Q "Q Q @R PPRR $RRR R  SSS S (S@S DPSSS "S PS $T <(T 8hT T <T PU FPUU  UUUUU UUUVV V (V @@V ,V NV PWPW XW " `W ^hWW W W WX 8X @X`X hX " pX lxX \XHY PY`Y lxYY YYZ Z (Z 8ZXZ`Z hZ 2xZZZ  HZ[ " [ X [ nx[ l[ X\ \`\ \\\  \ \ :\ F8]] ] N] ] $]  ^ 0^  @^H^ `^  h^  p^ J^ ^^^  F^ 0_ "8_ @_ H_X_ 2h_____ "_ _ p``aaa(aHaXa`axa a  a a  aaa"ab b (b@b Xb `bpbbbbbbbbc c c  c0c8c@c Hc `c cccccc cc dd d(d  0d@dHd Pd Xdhdxd ddd0dd d d  d e e e e  e  (e@e PeXe pe  xee ee e e e e e e ef f  f8f @fHfPf hf xff ffff f@ffff ffg " g Bg b`g |g HhPh`h  hhhh hh Ph h ii  0i @Pi HXii(ii,ijjj( jHj,Pjjj j ^jjk k k  k  (k 8k Hk Xk pkk  k kk kkk 8k l ll l  (l8lHlPl Xl "`l hll @lPlmm "m@m&(mPmXm`mpm Build 026K***************************************************************************Y Authors: JKP Application Development Services, info@jkp-ads.com, http://www.jkp-ads.com0 Peter Thornton, pmbthornton@gmail.com1 (c)2013-2015, all rights reserved to the authors< You are free to use and adapt the code in these modules forE your own purposes and to distribute as part of your overall project.? However all headers and copyright notices should remain intactJ You may not publish the code in these modules, for example on a web site,, without the explicit consent of the authors draw K***************************************************************************has noI------------------------------------------------------------------------- Module : clsNodeit to 5 Company : JKP Application Development Services (c)1 Author : Jan Karel Pieterse (www.jkp-ads.com) Created : 15-01-20138 Purpo#9se : Holds all information of a node of the treeI-------------------------------------------------------------------------H]@]@@]@]@h]@]@]@]@]@!0 PT checkbox tristate boolean 0/-1 or 1 for nullPPrivate mbVisible As Boolean ' PT determines if the node can be displayed]@$5 PT order added to Treeview's mcolNodes, won't change6]@$G PT the visible order in the current view, changes with expand/collapse]@0$E PT string name or numeric index as icon Key for the Image collection]@$ PT ditto for expanded icon]@X$5 PT number of icons availabel for this node 0, 1 or 2]@8$D PT autosized text width before the node is widened beyond the frame]@`$ PT]@$ PT]@$ PT]@]@]@İ]@4 PT editbox]@4 PT checkbox]@00]@X0$T PT vertical line, only the first child node with children will have a vertical line!]@0$ PT horizontal line]@0$ PT separate icon image control X'N'P p'T'V 'Z'\'^'`'b ] 5]X25]@82]D '" "*********************Ŀʱ* Public Properties *H(********************* .'B if zero the treecaller will apply the frame container's backcolormhEPT if lColor is written as 0/black, change it to 1 as 0 means default j'. .G'.j 6mo # j 6(km 0'm( l'0 6 0 6!(km '<m]H ' 6---- X 6(<-- 6!p----- 6!',dured( 6!'n5 C 6(p JKP A 6!',evel 6(pvices kkm`! PT. Checked values are -1 true, 0 false, +1 mixed3d If TriState is enabled be careful not to return a potential +1 to a boolean or it'll coerce to Trueframe 'm' PT] 8es]P]h. Checked values are -1 true, 0 false, +1 mixed----8 if vChecked is a boolean Checked will coerce to -1 or 0) if vChecked is Null Checked is set as +1 r$| ~owStar r'x r$elumn'x r re λ r'xk x 't x'  @ tOn (o errHA@kx % eg during clonetrol o v %'t?Ju v !< RootHolder the t B@ould ak ure z no  zB@ ckkkm7 PT Returns a reference to the first Child node, if anyfeP$.m8 . such mh .nt adom 'm0 ' 6/as  6(km 'm ' !A@ass !eA@l ofk0m(P 2'm EPT if lColor is written as 0/black, change it to 1 as 0 means defaultn( j'2 2G'2j 6 j 6(kpmh + PT Root has no parent %.n(km + PT Root has no parent %.7+ -1 flags GetChild to return the last Childk m  6 PT string name or numeric index for the main icon keye ro ('m0 P 9 PT string name or numeric index for an expanded icon key $.L $So &f( '&k '('*k k x mp  6 PT string name or numeric index for the main icon keybelE &'m 6 PT string name or numeric index for the main icon key Roo $d $ '& *G'*jk kx p mh p]]]@  %    % _ error if Icon or Control is not yet created, silent abort, it'll update in the next BuildRoot u   !(d  !(kx kp kh |` X e @ 8 0 o(  'm `]]] anch t '{   e %{ k   !%j.p er o B@ standard duplicate key error_2k K to change the Key, remove Me and add Me back where it was with the new keypsed,  !ntrols " '"ia  ed'ykxp  !et a "C@to its5,  "C@lhen crd  C@l use tkqd! Let Key called by via move/copyk '{ !Let Key ! B@utm]p]`'ent !.lo hild  'so !.ll '{ r  m-# can't name this proc 'Next' in VBA+ PT return the next sibling if there is one1 lev]]0 !! 52. " '"l   texyk5!, " " 7.brkqmP .!m .el 3 mp(/ PT return the previous sibling if there is one!]] !.  !!3. " '"B@  Adyk " ! " 7.%kqm]@ . a bun !!b the !.de0 .(m` 4'm '4m****************************** Public subs and functions *ispl*****************************p  V N  PT Sorts the child nodes,J returns True if the order has changed to flag Refresh should be called]]0HĿ]`]' !,'  error if no childnodes to sort@!8 B@< nothing to sortz@k8  @!&  :B@< "   " "+ " %j!< "+   NG'j3 descending  VG T'j$     A "   "$ " $ 'yk  "   "$$ B@l ., ӷ'kX Probably(?) any error was because there were no childnodes, no need to raise an errori  ]].z !  z C@l  z(d zC@lkp5, z(qX  .k0 z B@l z $  9kk $  9kk 9<  -1 = true, +1 = mixed v % v9kXkPkH = =q  z.z   d !  clsNode.AddChildDuplicate key: ' ' B@d` !clsNode.AddChild ! B@k(i I------------------------------------------------------------------------- Procedure : ChildIndex5 Company : JKP Application Development Services (c)1 Author : Jan Karel Pieterse (www.jkp-ads.com) Created : 15-01-2013; Purpose : Returns the index of a childnode using its keyI-------------------------------------------------------------------------]]    '  ! '.z k.i" PT, get all the grand/parent keys assumes use of key]]0 !' . ! !. !\ '0( 'iPI------------------------------------------------------------------------- Procedure : GetChild5 Company : JKP Application Development Services (c)1 Author : Jan Karel Pieterse (www.jkp-ads.com) Created : 15-01-2013. Purpose : Returns a childnode using its keyI-------------------------------------------------------------------------]] $|     ! ..zk e '  !,'k  $.dF.kk.ixI*************************************************************************I* Friend Properties, Subs & Funtions *I* ** these procedures are visible throughout the project but should *I* ** only be used to communicate with the TreeView, ie clsTreeView *I************************************************************************* 6.m .6 6  !! 6/dphk`kXmP' PT "'m0PK PT Index: the order this node was added to Treeview's collection mcolNodesU Index will never increase but may decrement if previously added nodes are removed '"m` '$mH* PT $'m(p .m .mH @. m .@m  :.m .:mh B.mHh .Bm( .Fm8 F.m .Hm H.m ,'m ',mx@! D.mX! .Dm8"D PT set triState value of parent according to its childnodes' values]X"]"  z  z!$" z!+"p$"+"$" !,e+"$" !,e+"d+"k $"$"' A@kk !< RootHolder ! B@kXkPoH"5 PT, make checked values of children same as parent's' only called if triState is enabled]#  x x' A@k  z  x zB@hk`oX0#. PT get the appropriate icon key/index, if any *  (''Not IsEmpty(vKey) '(True *e &''Not IsEmpty(vKey)kiVFriend Sub EditBox(bEnterEdit As Boolean) ' PT new in 006PT2 ,,move to clsTreView?J'-------------------------------------------------------------------------' Procedure : moCtl_Click' Author : Peter Thornton' Created : 20-01-2013=' Purpose : Enter/exit Editmode, show/hide the edit textboxJ'------------------------------------------------------------------------- On Error Resume Next: Set moEditBox = moTree.TreeControl.Controls("EditBox") On Error GoTo 0 If bEnterEdit Then$ If moEditBox Is Nothing ThenU Set moEditBox = moTree.TreeControl.Controls.Add("forms.textbox.1", False)& moEditBox.Name = "EditBox" End If With moEditBox$ .Left = Control.Left - 3$ .Top = Control.Top - 1.5 .AutoSize = True. .BorderStyle = fmBorderStyleSingle .Text = CaptionJ Control.Visible = False ' hide the node label while editing .ZOrder 0 .Visible = True .SelStart = 0# .SelLength = Len(.Text) .SetFocus End With( ElseIf Not moEditBox Is Nothing Then ' exit editmode( If Not moEditBox Is Nothing Then9 ' error if moEditBox has already been removed On Error Resume Next% moEditBox.Visible = False moEditBox.Text = ""# Set moEditBox = Nothing End If Control.Visible = True End IfEnd Sub#-( PT new in 006PT2 ,,move to clsTreView?I------------------------------------------------------------------------- Procedure : moCtl_Click Author : Peter Thorntonq Created : 20-01-2013. Ammended 026 to resize/reposition the editbox within the confines of the frame container< Purpose : Enter/exit Editmode, show/hide the edit textboxI-------------------------------------------------------------------------]$($PEditBox !%.<LabSizer !%.f & <forms.textbox.1EditBox !!%l.< forms.Label.1LabSizer !%l.f !! f( !! f( f(, f(p f(k < 6! 9 6!? 99p !!9 09. !< !<9ddA@2k5'(5'*C@49 6(965d98C@b (9 *9q <e exit editmode < , error if moEditBox has already been removed <( <(d& If Len(moEditBox.Tag) ThenB moTree.TreeControl.ScrollTop = CSng(moEditBox.Tag)" moEditBox.Tag = "" End If.<.fk 6(ko@$%PT remove a node from the collection,@ note, this is only one part of the process of removing a node]$]%]% < " !, "$. "$  " B@':yxkphd`    '    B@':ykk? !,. (k?z??  RemoveChild ! B@i?8%]x%  z  zB@>@?k8?A@@o(?%I------------------------------------------------------------------------- Procedure : TerminateNode5 Company : JKP Application Development Services (c)1 Author : Jan Karel Pieterse (www.jkp-ads.com) Created : 15-01-2013* Purpose : Terminates the class instanceI-------------------------------------------------------------------------]%>Instead of the Terminate event of the class we use this public8method so it can be explicitly called by parent classes.@This is done because to break the two way or circular references!between the parent child classes.CThe most important call in this routine is to destroy the reference7between this node class and the parent treeview class - < Set moTree = Nothing >JOnce all the moTree references to have been destroyed everything else will 'tear down' normally  z  9 recursively drill down to all child nodes in this branch D zB@B:k:K If deleting individual nodes while the treeview is running we also want to> remove all associated controls as well as removing references DA@@ D'k :k:..o:******************************* Private subs and functions *******************************&3 PT sorts the index array based on the string array]`'x''' 'H F'J H J $$'L H Jb H$$ L   H F b H 'H8 J$$ L   J  b J 'J@8 H J H$'N J$ H+ N J+ H 'H J 'Jk77  J$  J   Ak7 H F$ H F   AkX7oP7'*PT Delete all controls linked to this node7 !! 6 6!C@.6 F F!C@.Fk6 H H!C@.Hkx6 H H!C@.HkH6k@6 : :!C@.:k6 B B!C@.Bk5 D D!C@.Dk5 < <!C@.<k5 @ @!C@.@kP5 ! K if Me is the last child delete parent's expander and VLine (if it has one)   !! !!!C@ !/k4 !! !!!C@ !/kH4 !! !!!C@ !/k4 !(k3k3q3 P (: flag this node to be removed from mcolNodes in NodeRemovekx3|p3h3 StopP3oH3 (]( @ @   %R 9d2 a$T9< 5$@ $@ V$T9kx2kp2qh2k`2 Checkbox B@Xi82(I------------------------------------------------------------------------- Procedure : UpdateExpanded Author : Peter Thornton Created : 27-01-20137 Purpose : Called via an Expander click or arrow keysB Updates the Expanded property and changes +/- captionI-------------------------------------------------------------------------])])]0)  !   %Z 9d@0 -9<d 0+9<k0k0q/k//  %    %   !((4 potential error if Icon is nothing, let error abortd`/  !(kH/k@/k8/0/o(/************************ Node Events ************************P)$ PT new in 006PT2I------------------------------------------------------------------------- Procedure : moCtl_Click Author : Peter Thornton Created : 20-01-20139 Purpose : Event fires when a Checkbox label is clickedI------------------------------------------------------------------------- %^ exit editmode if in editmode ,^k- 'd,'k, !  / Caption B@X3 share the checkbox click eventk`,oX,)I------------------------------------------------------------------------- Procedure : mctlControl_Click5 Company : JKP Application Development Services (c)1 Author : Jan Karel Pieterse (www.jkp-ads.com) Created : 15-01-20135 Purpose : Event fires when a treebranch is clickedI-------------------------------------------------------------------------@ PT the call to NodeClick will raise the click event to the form])  b !(..'tk(* ! /'t te 6!. b'tk) !  t: only raise the event the first time the node is activated Caption B@X1 tvClick G if preferred the click event is always raised to the form (even if the I node was previously active) simply comment or remove this If/EndIf checkk(o()W PT a node label has been double-clicked, enter edit-mode if manual editing is enabled]P* f %h ,^&A@$d' 1 moTree.NodeEventRouter Me, "Caption", tvDblClick Caption j B@Xk'o'h*ePT temporarily activate and highlight the MouseDown node and a grey border to the previous activenodeU MouseUp and Click events will confirm the action or reset the previous active node](+ !  !! v'te bFlag = bFlag Or Me.Control.BorderStyle = fmBorderStyleSingle ' in Access this should be uncommentedk& t !. /  0 !(.$@ !(xk%k% %^+ if any node is in edit mode exit edit mode ,^k8%B moTree.NodeEventRouter Me, "Caption", tvDown, Button, Shift, X, Yo$@+R PT MouseUp fires before the Click event, at this point we don't know 100% if userg definately wants to activate the MouseDown node. If user drags the mouse off the MouseDown node thee Click event will not fire which means user wants to cancel and revert to the previous activenode.U If MouseUp occurs with the cursor not over the node reset the original activenode],],]0,  ! 3 is the mouse over the node or within a pixel of it r r5  t t5 '|qx" | H if the last-activenode was marked for MoveCopy we will need to reset it  ~ %'t  reset the original activenode b !(.  / t  ~ 3k!. ne D the click event doesn't fire with right click so explicitly call itA@`k !k!@ moTree.NodeEventRouter Me, "Caption", tvUp, Button, Shift, X, Yo H, ' %^+ if any node is in edit mode exit edit mode ,^kH Expander B@Xo ,} PT resize horizontally & vertically to accommodate the changed text but restrict size to a bit less than the container frame Autosize is good for width only if multiline=false, but it's problematic to size both width & height to text without this fix],,],]-](-@-]X-p---]--]-]..0.]H.]`. G|jX !5  '555$T  '55 55$T  '55 'q 6!? ' 6!? ' <'    $'  e  $'  e  $'d . +k ' fA9<5'*9<' "  "$ $'  5<  9<9p5   '  9<5 ( 5'(5   'kk5 ( e5'(k "   '9<kxp5 ( G5'(j (  G '(cG ( '(jq ' <  9p956'96 96 *    9d *  9k 5  5  9dP 9k@ (9d099p9 6!? 9k 5  5  9d 9k55   '  !!  !(k`qXP'|@8   A@$o.aPT< PT Textbox key events to Enter or Esc the Editbox, 006PT2\ PT ammended 026 to resize/reposition the editbox within the confines of the frame containeru remove any CR & LF to ensure the node label is a single line but retain line breaks in the property if bMultiLine] /]8/P/]h/   p <'  !< 'dX I note: sNewText could be parsed where the RaiseAfterLabelEdit is received  %'    %h'     A' Mac doesn't seem to use vbCrLf/vbNewLine, only vbCr or vbLf (?)    h$  h$ (<d(   $  $ (<k    h$  h$ (<d   $  $ (<kxp X Drectly write the original multiline to the Caption, but don't use Let-Caption Property 'kd  (<k 6(, 6(p 6!'  d ! d (kx (  !! B@k8k0 B@*% replaced moTree.SetScrollbars in 026kA@$kk   ,^A@$ko/ default properties' default   '+; PT, for testing only, remove, see ClassCounts() in modDemoo/   '+ PT, for testing,.o9Attribute VB_Name = "clsNode" Basx0{FCFB3D2A-A0FA-1068-A738-08002B3371B5} |GlobalSpac False dCr@eatablPredecla IdCExposeTemplateDeriv%Customiz E'Build 026 '*G& Authors: JKP Application Development Services, info@jkp-ads.com, http://www. - Peter T4nton, pmb@gmail A (c)2013-5, all rights res!Oto `the a. You h free @u@and@ adapt c/modules forAyour own purrs disūas part of  ver'pro ject.Ho wMr-headerCcopy1 notR shouvre?n%ptact@2m ay #blis hW0,0 exa e na web site,wiZu@exwit consvO2R?F -7?#AMb6J: $Company:XX @Lc_ Jan KGl PiU D(LZ)b `P : 15-01T3!PGHold>c`Werma"j-a`:d4f9t`U@_$?" Op" xiI P`q` mbZAs Booleana4colCh!s ColNl[oP%nt&1 oLa`stActT!u AView sKey SongvC@z&sControlTipTextVarianK eck# Longa?a' PT cBh`box s tA&b$ 0/-@1 or 1Bmnull6fbVisi`* dImini>n!bc Nbe `yednIndex "or] d @'v''8s m`8A. won'}hang ޽l b v inurrA! ,% s od/`lap vI Maina9"sU`nanum rcPuVi `ZRImageK)5.dit`P׃0xl Cn bplp<>Bvkabelr!this=0," "2sng)WidthSing losiz,wrbe lOn2#enPbeyomfri Back; bBJ|+P lFore? 8vTa:WgEv#)tl:AMS@ms.L!iImcv.@ nd SortOV ndAscend;((CDeX} ?E`9P br8eMe^BinaryP0&goC Mo%UD!= Up'00 MoP= EDragO+4uBopOrP|5 7 #If MacPe`=8mcFrvNrT= {` E׿4Q60P#If+pbS0R/> EBka " " '" `{vq PcPropertip{*S8#y Get X()1 !Y= ml' Ёzer͡cfwi3a5^t`uer@b^w# y L XlgbptEfr`sen x0/bl pu1 mФs defaul@ = #  If mlBackColor = 0 The"n 1 Not mctlControl Is $hingnN{VH. rNEnd If Property Public  Get Bold() As oleangBmbILI/&)'#('uzF.O'zCaption(O;xvy(B`yVal @Dim sngWdBSqleDB CfC A=ɃD#@CStr(9A G.AutopSize̘@/TextWidth@ Els7C>=I. "= Trum'#Fa *ŋA checke!@' PTDB' CC values are -1T t,f, +1 mixed`2TriState is enabled be c ful nto return a potenti N Pa bobw @it'll coerce )9^lD\!{%v) !]bFlag~, bF-ALongc!! cChilfclsNodA+;+' ifr2+'%D wi%5`(0eNu% sas@:H`9VarTypeo)-v4 { =Aj` I~s!H $5 4>=!PAF<= 1}Ƀ<= <>!C>mH Eh#A#Box܁# moTree.Changb̓Updgbox){#`)bb !1' eg durclon`es(\+g_ qPP=4nt-.["RootHolder"X %6s@)5$6smAF1 Each T:In O:!@{ "r#5Ng /Mot< caFsF1M RgBV[VfeP STthe first# Yde,EanQ On ErrResume  SPBWcop15(1# _[W3 Plec!C!7~?= (Z QZ.mk=Pg OTipц p8  s+om!l;qˣ4m = 3 4茿4-9K t-"Expand҉wqbt tB%= jMe.roec] u bOnly:=o]pTooAl0@Qe1or+猆lt (ݑ`'PTGtPwritB 0/bl@,Mr it!1 ms defaul%mw P # /l 0QYSi0ng#]Q9>os!a_ x h`no pRzNFm8.X ]x End If pProperty Public H Get LastSi\ng() As clsNodeIf Not moParent0 Is&hing Then' PT RoRhas no p.C S i = R.Chi@ld(-1)O-1 flags to return the l dI$ImageExpanded() " _striname or nu(merix f;main icon kegU&lvI/KNL Jv a&Qan e5L)O n Err@1GoTo errEx itNxIsMiss@( By ;IsEmpty  Len(mEMPD)J0  #" }O`mllCnt 2M:pEl~s$e$zn~a# > H@CA#DebugM B1[StopRes# FSӃ il!$US( (Ty9Bnc Property Get ParentNode() As cDls0 SA = mo  End Publi |(vi)j ]l*krevious ' PT return theD p siWng if re @is oneHDim iSLonzg c_{With Me. For EaHch In .Child+s3ii + 1) If$s$ Then Exit < If0NextGi 8> 1rM= ,(i - 1DqB@AFߊorootPAbcTmpJ]A%=A1Do W@Se N8ot d IsAhivLLoopC+gA c7Tag(IـmvL >(A B@ ,'* dusubs a 6functions * F}F Sort(Op!al ByVndOrder6nd= ndAscend/, _C*0j Comp Method !8ndT@YBopolea cs%cm ns, acs Tru` oBha hanged to flag Refresh should be called1UsCa"!StrLlStartA, lLafsolƒaNew Co5bIsUn@#On ErrGoTo ernrC=Ō= C%.coutnt!%'A no B)")#s@@ '`/tog! acDJRe'idx(` ">)02 !Ai)Lig "%item(i).@CCc#c<>a" %e-1' def] B_nBinary$5UCp+ #Indexq( ))*d*, , 4I  @b $ an)d w-=R:s#orWe#s c8.Add(2( Yg1c"$u!AHC/::Jbably(?)[y$9wJbecausreԌwe j:o neLraiansh\"b&^ g^sKey!Iߣ4\q\vT1@dvImagepMainExpPmedA:DbTriP-te RcbNTHsD= Y|moTree.U80Len()/100'2r&, A 10 .=4Els &e42AP)#`C m,R ؕ<m + ## a p Q@IsMissx($OI.&)A + ' sc U  IlmZ mlCheckPFL= la '= true, +1@mix51 T2Boxes(:?sP >MD94QuV`-[@aHaa #0DebugM`p=St ~ Resume #End If pIf Erl = 100 AhErr.NumberP457 ThenV| Company~: JKP Apj Development Service s (c)Au than Karel Pieter(www.jkp-ads.com Cre@cd 15-01 -2013APu(rpo 'Returns the iI of (a cunx usJ itsu@?JDDim ccĕGlCti @2 F@AEach In mcol;xsA = _AB=C.Anj@ASet= No thH ExitENextCRFullPpath(óB;T, gallB:grand/pEJs$' aszs@;e=ń1s!.% AS4Onr2GoTo errDonD|s@'lMe,M`WMea0#Ai#D.PBa=!  \Wendd:'`@"-Get"B(v Variant/Vg#"9__J__N>7SRUlIdxdž#~6Type8)?vb\Dae B;YE9BV i^41Fsx `|S IsL= ! 0t-1qYiun4OAA7Ic15> 0/qt (+a:"{@iߏ!ن 9*! Fri@Kaperties, Subs]as***q`~pDs T visibleroughoutq P bsPlonly becd tDo munswithBTreeView, ie Q a]y1" Co ntrolqMS Og=J 1Upd XLboxg#!#KMe.Caption?"RootHol@"l.#eA3.GR(R K7q) #<:x;C3<(@16<, makep:?ed4:=; same as$>'<' only call`if 6Ais enab` a>T7`/< % 3_2 @BB4B} A qFunc&hasar (vKeyrQBoolea`MRXgQXhpppriP. i ~ key/"ix, @anRymlCC= 2 A8mbtd,A/mv5 @Tr` '3IsEmptyT '(CtGGKMainB8dE1't1Edit@(bEnter;e) .nnew in 006PT2 ,,mo veqm`,TreView? ''~-cedure : moCtl_ClickAuthor : Pe A`orntoQ!'P Cre` d: 20-01-2013Surpo seR/exi Ȑm@u, show/hidP%ep tlBS/ 0 On Err ResNuE1P mo$1(oe.AControl.ts("d"LvGo j'?' G a1  s.A`dd("f.1", Fa}5 u.NW= 74 a-Is WiZ$ n>pwExpandßI c d< ,:rr.Rai:vbObj7" P.DescriR>cBAq1۷/u(T,8cr16 G3Oq 1G$`$gc #/eNodeControls !NexthEnd If,Delet False JSub Frief Terminad(Optio nal bAs Boolean`) '-EK Procedure : Company{: JKP ApplicaT Development Services (cP Authoran Karel Pirse (www.jkp-ad s.comCr ed515-0@1-2013Qu(rpo Qs the class instancɍ_Dim cChild `cls{'I@ead of"s FDC(we u@0this pLubQme@Jd so it cAJbe exAYitly@lled by pP@hes.Tdone becaQBo bSk%two way ccircular refereLĴ'betwee>n =e most impor@^A.lla#routi#@to desyD ntaȁw"treeviewD-Dh*eO9 a&AmoB G? 'havAN?*[pryex wille'te (down@' norm y{If EEs IsFThenAF1EacrhKInA'A5cursimy dr Ac"5'!aC0brahX.ʎ]c'`:i`-individu`uwe=7;runn@aRYto% remo 1@zocicd as we8"! 90bP/ru.aA$Index O->1eSeUcolHDV(U(`M * iv ( subs ifuncᶘs *?Pr BryS`}Text(sC"a"s()AStr@2, ByV@@lStartLxongeRef idxndOrder'ndbMPTrt@Q1arrbas@yo@!F",! lSw lLargesMir_ plTmp5?4= 3@ #,= g(+ ) / 2)p a3Do W4d<" &&(@ )), , &)1+V5 l0 5 + .Loopu  (   e  >  - < @=(  a`A  c""7&" +CUs +Wi th% ZbClearIgx @= -1 ' flag@qqnwto be r"@d fromoBl{s ind.e㚃LxsSub errH:C' StopcResume N`ext a @ PrivaFunction UpdBbox(`}Dim pic As dPicturf%x!ߢ?%Ec3` moTree.GetB Icon(mled,!)pa.d9k E;C% .Cap= IIf "a", ""L@ 1) <> (.ForeColor`RGB(180, )u! 'J , , vbWindowT:C ee#!Xaac1aPEvRoutMe@#3$1J?IbK&t%%7(bControlOnly%Boo3n '- ' Procded+ :,Auth: P@pr%orntoA' Cre0d27-01-2013RurposeCalled vias r click arrow keys &6x propertywchanges +/- c*@-s=bFullWidthvKe~y@Q 1 @PeC@%@b@q@@!EB"-"k A+ i75=C:SOn E &r@ GoTo _E` P2AmH&Wq>V, !L p A' pot@EialQ 2@!2nS, abork2DOE `/cts8*בa Rs0*?mRt_C1D ()QLT new006PT20/=@RmoCtl` oRT`SoR: 20oRCcR firLw1 a %dbelaBSed ? _0EM(Me-'`e0mӀ)z$#6ՋP0T2cdqSk-01W4 A@ve(@W>=pq(1QRjShQ' shp"  oe B End If pSub Private p mctlControl_Click()0 '-EK Procedure :n Company: JK P Appation Development Services (c Author6XJan Karel Pieterse (www.jkp-ads.comQCre}d515-01-201B3Surpo &Ev7fir6when a treebranc@h is cedHBT the call t@o Node wiraiP=@  form Dim bFlag As Boolean}IIft moLastActive Is@hing T@; .  M ..BorderStyle = fmNoneGSe= ,= TruD.moT`.-C = MH&PlseH C A<>B2T3NoAF4Me OrpK ' onxly Gs@t timena<^?ǂ!?\Rouf`#@, "Capn", 1 ' tvbOh' if preferredCU(Q calway6scobAS (UJ was vious`e) simpwB}removc If/`+`6check -_@DblB(ByVpal C{@ gMSFis.Returnh"PT blabh bedoubl$e-d, `er edit-m1f manu am@ena a3wDummyw@`EL!E (b) xaM(M* maaBox bEnA:=q"d(7%@'IonItv%-d|Q<(MAJeDown`=betS~1?, aE poi0we don't know 100%wuser3D definCJJwant3oFAKqBR1SB.@Ă  drag6eP offF!X JnotB whimmscxQr`r OQe.p@(bQoccur!Qth PH=r2R(0Qorig0l WQQzIsOvp~dAveCop| 㟏p Wi` Q1!/@  0w6a pixof itb = (x >= -1 ASx <= .WiBd+ 1)B(YYHen!9 AWB %l0-p mark`1@q'/neo w"=0,/FMp"(P P'  $$A5/X\Mo&ّoS  If bFlag Th en Set moTree.MoveCopyN ode(b) =@LastAc0tive: End If X 7JNothingC A ElseButton.2' the click event doesn't fire with rightso expitly ca ll it @mctlControl_C,Hnt['EFRouter Me, "Caption", tvUp, k, Shift, X, FY+SubPrivate  JExpanderJ() '< d @PAtEditMsMe)R' if any n is in e @4de@Lit== Fam H FD,rG1 @o0Box_C hange@ PT resize horizmty & vertixy to accommodSBd text buttrict A b@=lessanÙ intframe`AAutoB Mgood for@don@V@multil@= fAG,it's problemna*)b& he@$*A@#@fix Dim i As Long, ublSelStlRowsK d@SqlUwdsngMaxW, CHb cBRVisRI`dealLBTop!=`2aspldv 2 St&bEx4`Booleaws}Pa"c6!j5aCa`emOn EDrr7GoT@rrHWAXAD aCW` .Ins ideWiA@- c &= II f(.SclH9<, # ) s R@H >  ( !6!Left +* Au#$` ;`.- 1.5a?@'.!DbAe 9InS0tr(1@Ba, vbNewLl훋aG@S t(s o Cr a< Lf? ! ' #ɁSRe`(0Aa"$HubUBound(t-LabSPTr.4k8"A"qB= ^.C)WlF=V ]F6i`0 P6na5! 2#>(i)t "HQEach v In b'h ab" h \Tru0^;up'.56p,RQ- 9ω%s+ v  Z8  / W Yo ʦqBa9W/ T:/  N;i dyU*?AI\q= /3TBS(X3> 1O# .4Q4.M[6 ,iBar.e0 tacMQ@L* +<y!4O #- 3A;D[[ pxWc u=ǚ-[} N%O =9=&i @#q#7腅58W L{_R/ .R +"xbLG  (S!  If sngVisR > 0 Then moTree.Control.SclLeft = >+End  With done:bExieFalse'Sub errH-#Deb@ugMode1a Stop6Resum*#JEditBox = O C Privpate _KeyDown(@ByVal CKAs MSForms.ReturnInteger, Shi  )V'PT ' PT TextbKkey events to E!r or Esc the A,006PT2ammended 026resize/repositionBe?wdiconfin es offrame @tarremove any CR & LFensure noflabel is a single l but rereaks  property if bMultiL A_ Dim b0CancNBo0oleaIJSort G,~a sNewZS|tr)Et= vbCs Ap=N΄0Me.Capςd@}apIJAEA' note: could be paDrsAwheD4RaiseAfterL4a5received e.C&(Me,)`NotF7/ @Enable(b;I: !`In`;(1,`9Cr) Or rxLf) a aMac,!i'' doesn't seemduseLf/vbO\, only{vbLf (? caL= Replace(E", mcBr)Lf! OQi@"x "X qIf#(f&( (_J)qWsQq' DFt.w rit1loriginsm^"bn?Q? cx043Let-5SPb1mv=IQ3*5_EmctlřWordWra>pqAutoSTrudpWidthj17P0<$Z(,NN4X\,"( >P ( ( 6  J8 f @ V0 ( ,   8 2X < X .( ,X T  D      !"#$%&'()*+,-./012345678;Y=>?@ABCDEFGHIJKLMNOPQRSTUVWX:Z[\]^_`abcdefghijklmnopqrstuvwxyz{|}MtN ûlr GetCursorPosr8SetCursorPosx\$GetTickCountxExcelRRRRRRMEH<$(084, SS S<I<< <<<@ F@P<@h< <(<0BDrN0{FCFB3D2A-A0FA-1068-A738-08002B3371B5}I %*bP? b bx? b? b b? b? bp b@ b@@ b b.h@b@b `b @"@x` CSn" b0Ab@bXAb Ab$b&Ab*A".0p"0AkpX----%---%%%eckb%801 fo%xhble P% theed%evie @ cha% e vi %F8C$PD( \h)% ^) nod% ``8)X% bi idedit)chec% fH)hp ver%)rizo,%ipparah0hr'Pht'T+nh @  )p` 0%+t $ ir it+v H,, `zC`|D`~D`D`C`D`C`dC`D`C`C`D`Db~EDb Cb@EDbdhECb( CbECbEDbH `H%,!8   %)0 %  x (() %  % H ) % @%,!~i  A~i`,!hH i   Ai ,!( i  Ahi ,! iv i  AH iv hi ` ` B )% B`) %,! i  AH(i   )%i ++i ` `4%` ,!i Ax //i X%`,!h i i i   AhXi xi i ,!8 i i  Axi i,!i AxXij,!(i ij%)  % h''i %ij)%,!H(i A$$i %`,!P( %)H %,! i   Ai ,!XP%)x %,! i  A@  i ,! i  Ai h` ,XixI I I 8%) % H )hpx%)%)%  i   ` ) %) % X! i!i  P!% `"! )!!%)!!%I "I ("i  `  #"cc)""%)""%I #I 0#i  `` `  #% #%,%$$llI 8$I X$ix$I $I $I $%)% %`" 8%% X%% "x%% %% &&%DD)&%``( "P&% *p&% ,&% &##`" H',,`8 ('FF)''%i@'iB `D `F ``H`J`L`N (% h)())iT )iV `"`X ),, )%,!^P** )(*0*%i  A^**)**%i` ,Z++ i 8+)X+`+%i  ,R(,+ ix+),,%i  ,,h, I ,),,%i ,i  ,-0-P- iX-%)x- % -%,`.- )..%i(.i  ` X/.DD)..%ib.)d//$%in0/ipP/irp/it`t `f h/%,l0 0i@0i x0% n0 1 @1 21 55)11%)t11%iv 1I 2I 02i  `"` 2%`x 42i8 `z `| `"`X`~```` 4% (48% H40%@ ``4 4 4 585)X5`5%i5i z5%` 6 6)@6H6%i``@ 6 6 807BB)"P7X7%)x77%I 7I `| 7% z8%,\8X8i ``,.9889##)99%i0 @9%)`9 %``,jp:9 )9:%i :i  `` Z0;`"` :%`@ ;p;);%`` < h<H<''I  X=<&&i<i<)==%i  zP=% >=~~)==,%ip` >% X>PP)x>>,%ip``>>%B(? b0 bX b b b  bH b b b2b8bbAbbbhb"b(b,"2 B"4HB"6pB"8B":B0"<Bh">C"@DjH`CCjjCCjJCCjLCCjNCjR(DCjTPDCjVxDCjXDCjZCbzDCb|` Db Db Cb DbP Dbx C(DCh@(,@-@1#8C&` hEpBx(h B(?%6DX!`"?A@  x?AEP?C(4H9)P*0&x(HA ?@C;@@D0;0XAE@?X=@E 8 D5B?2Bh) < A>HBhp:P H'+CPDxD8/0h<1@ B` ( H8, `.8P Ex p0@h`CA*0A8D HXHFQPC  ?>(>x >E)X(*\Rffff6HV.&*0V`F6>80x@H B  hpx   V zP $ "   ( 08@H @P~`hxHHH r  n b @p x          ( @P X hx     (@ Xh p " " " B  "   P( x < 8  F0 >x P  0  8HPX  ` p         "   (8 Xh p Bx "  B @ "  8@H BP Xpx "   B  "    (@HP  X (h F    @"!  08" @ HX` Bhpx "  "     < ( " 0 8 @ H >P T < (!0! P!`! 2x!!! ! &! :! 08"  h"" "" 0"" "## #F # h#Fx###  # $ B$$$ "  $($0$ 8$ @@$ H$ X$ x$ $$ $$$ $ $ % %0% *8%h%p% x% % 4%% % & & & 0&8&@&H& XP& (& & & ' n' N' "' ' (B 0(8(@(H(P( " X( Lh( J())) ) B () ,8) 2h) L) ))* " ** *0*8* B@* <H*** " *&*** *** B ++ + +" (+0+ 8+ @+P+ X+p+++  + ++++ +  + +, , 0,H, `,p, x,, 2, &, , @- &@- h- B---- " --- - @-6- . . (.0. 8.H.P.FX. . . .. *.. // /@/ P/ `/ h/ x/ //// B/ &/ :/ h00 00 B000 " 0 B0 (10181@1H1P1 X1 h1 x11 1111 B1 .1 `1H2X2 B`2h2p2 " x2 2  22 2222 B222 " 2 *23  3(3  03@3 P3 <`33 333 3 *3 *3 *(4 BX4 h4  p4 4444 4 444  4 5 5@(585@5H5&P5 x5 " 5555555 555 " 5 R6 DX66F6 6 " 67770787@7 " H7 ^X7 n7(8 08 @8H8 X8 h8x8 8 888 8 "88 8899 89H9P9 X9 "`9 :x9 >9 v9 p:x:::::  :: :::;  ;; ;(;8;H; X;`;x; ; 4;; D; < (< H<X< `< J<  <  <<= =  =0=P= X=  `=p== =  = == = =  = = = >> 0>@>H> P> <X> >>  >>8>?? ? (?0?@?&H?p? x? B4<? 8? V? $P@ x@@@@@ H@  @  @A A (A 0A @A PA`A hA pA PAAA  AAB B 8BHBPB`B  hB xBBBBBB BBB  B B CC  C (C@CXC hCxCCC C C C C C D  D 8D@DHD PDXD `DpDxD D  D DD 2D D EE E E0E8E@EJ`EE@E E EE.EFF "  F 8(F D`F 2F FFFF G G(G  8G HG JXG GGGG GGG GGH  H 40HhH pH HHH H *H H I I I 0IHIPI XIpIxIIIII II@IIIIII "I ,J0J8J  @JPJ &XJJ J J J J JJJ JJJJJ J K KK@K(K0K8K@K "HK dPK >K dK N`LL LL ZLJ0M  M MDM M MNNN N(N0N 8N *PNNN jNOO O  O (O 0O 8O8HOO "O <O .O &P *8P hPpPxPPPPPP  P PP P PP PQ Q 0Q 8QHQPQ`Q hQpQxQ  QQQ QQQ 4QR ( R HR  `R  ,RR  RR S,S 8S  @SPS XS  `ShSpSxS " S FS (S tS XpTTT TTTT  T U U  U8U @U XU `UpU xU  UU U  UU UU UU U U "U PU HV <hV 8V V 2W P8WW 2W ,W *W L(X \xX  XX X  Y  Y(Y 0Y@Y HYPYXY`YhY  NpY LY Z Z `Z b[x[ f[ f[ fP\ f\ B  ]0]8] " @]  P]`]  h] x]] ] ]]]]] B ]]]]]]B ^^^ ^(^0^ B 8^@^H^X^`^h^p^ x^B ^^ ^^^ ^ ^^^__ B _ 8_ P_X_`_x__ "____ _ _ __ __ ` ` 40` h`*x`  8` f` ~Ha Ha 0b d@b Bbb b c  c (c8c @c  Hc Xchcccccccc dd d Jd Jhd Bd ee e  0e @e He B PeXe`epe Feeeee de Pf dpf "f Df (g8g *@g *pg *g "g g ghhh @h h(h0h8h@hHh PhXh @hh$xhh h "h@hhhh B hhhii i (i0i8i@i Pi `i xii i i iiii i j  j j (j 0j "8j `j xj j jj jj jj k k (k@k Hk`khk pk " xkkkkkkXkllll l(l0l 8l@l Hl @Pl@Xl hl@pl l@ll l :l@l@m m (m8m @m (Pm 2xm Vmn n0nHn Pn 0hn@n n@n nn nooo o o ((oPoXo `ohopo xoo oo oo o ooo Jo( pHp$Ppxppp pppq q.q@q Hq Pq 4Xq q q qq q q qqrr r  r(r "8r@`r r rrrrrr rs  0s @sPs Xs hsxs s sss  s sss >t :@t t .tHt u@u u8u*@upuxuu u uuuuu  u uu v vv  v (v  0v @vHv hvvvv  vv v@vvv*w0w8w @w `w hw pw xw wwDw wx x(x0x8xXx`xhxpx xxxxx xx>xxyy y y 0(y XyxyFy yyy z z(z0zHzPz Xz`zhz(pz z zzzzzz z z {${ 0{8{@{ H{P{X{ `{p{{{{{ { { {{{B{ @|P|X| `|p|x|||||||| ||} }(}0}8}@}H} P}  X} h} }  } "} }} } } &} ~ (~ @~:P~ ~ ~~~~~~~~   08PX`  hp :x      > @ .X 2  Ѐ ؀   @@  0@H `@p (x @( @ P `@h p@    @ ؂@  ( 0 L@   Dȃ@@(@ HX ` hpx ( ,؄   (04X @Ѕ؅ ( " (0 :8 x  T D( p(ȇЇ؇  2Ppx  , FЈ ((P p xȉ@  ( 8 HX ` p    Ȋ2؊0 8@ 8H &  ȋD؋  ( 8H"h  ȌЌ ،"8@H PX ` x  Ѝ؍       ( B0 x   Ȏ  "  D fP ȏ Џ 4؏  0H P` h < ؐ"(08@Hh p  "  (8X >h ؒ  08@ HPX p    ȓؓ   ( 0$@h  X    :0 p  Еؕ  ( 0PXpx     0Ж    &  H  hx    ȗ З ؗ   0  8@H ` h x       Ș ؘ     & 8Xp x     ș   ,@ X x  @К@ ( 080@p x "  4țЛ ؛     (0 H X h x    М    0 .Hx    Н   @(8@HPX B` Ph "؞  : P` d h(   0,  (0 8 B @ PP ( <ȡ 8 @ j` PТ  ( 8 @  `p    У@(08 B @HP  Xhp xȤ  Ф      8"Hp x " Х   ( 8 @P X` h   " Ȧ Ц      0HPX "` Ph  "ا  X Px@Ȩ Ш     0*8*h**ȩ**(X` " h  p   @      N  H X $`    ث 6 0( X `px   " P ( <8 8x  FЭ & P@   Ю      8Pp x   ȯ  "  0 H X hp x  @  Ȱ   F  ` p ȱ Bر  8 H Xx  Fв 0@`p   ȳس ( ,0`hpx    д `P` p      еj P p x N ض$(08@ H P X ,h  <   0 8 HX hpx  "  P $ < 8H  ` H RH P  6 PH   Ȼ 8л    @ *`  8    ( 08 RH  ؽ  0 8  @Xh x  $  Ⱦؾ    ( 8@H P` Build 026K***************************************************************************Y Authors: JKP Application Development Services, info@jkp-ads.com, http://www.jkp-ads.com0 Peter Thornton, pmbthornton@gmail.com1 (c)2013-2015, all rights reserved to the authors< You are free to use and adapt the code in these modules forE your own purposes and to distribute as part of your overall project.? However all headers and copyright notices should remain intactJ You may not publish the code in these modules, for example on a web site,, without the explicit consent of the authorsK*************************************************************************** I------------------------------------------------------------------------- Module : clsTreeView5 Company : JKP Application Development Services (c)PY1 Author : Jan Karel Pieterse (www.jkp-ads.com) Created : 15-01-2013G Purpose : Creates a VBA Treeview control in a frame on your UserFormI-------------------------------------------------------------------------8Excel, or Access or Wordh] ]@?$PT the treeview is not in focus]@(?'6PT temporary flag to force mbRedesign=true, see Move()]@0$"PT sort siblings after manual edit]@P?$#PT "dirty", user has edited node(s) ѡӽڵ]@X$ֻ迼ǽײӽڵѡ]@$PT show checkboxes]@x?$0PT allow manual editing with F2 and double click]@$"PT enable tripple state checkboxes]@?$-PT determins if icons are used for checkboxes]@$PT flag if in editmode]@$KPT use separate image controls for icons, can highlight nodes to full width]@?$PT got a collection of images]@ $@PT determines if icons will be used for collapse/expand controls]@?$?PT Enter-keyup in a Textbox occurs when next control gets focus]@H$%PT flag intention of the MoveCopyNode]@p]@@$NPT flag to reset all dim's after changing NodeHeight or Indentation at runtime%]@$PT Root has an expander button8 ]@@@$PT Show +/- buttons` ]@$0PT determines if lines will be created and shown]@$PT frameholder's backcolor]@h@$PT frameholder's ForeColor]@$(PT 0-Automatic, 1-Manual can't be edited]@@$PT Lines color ]@8$<PT in/de-cremented as nodes are added/deleted from mcolNodes]@`$XPT incremented as node.controls are deleted, purpose to give unique id for control names]@@$2PT incremented from zero as each node is displayed]@$GPT an index array to identify displayed nodes in the order as displayed]@@$JKP: Title of messageboxes]@A$PT offset if using checkboxes]@$PT checkbox size]@0A$ PT default 15]@$*PT Left pos of Root H & V lines, 3 + alpha]@@$$JKP: vertical distance between nodes]@XA$.PT if mbRootButton, same as msngIndent, else 0]@h$JPT top checkbox (these "tops" are offsets down from the top a given node)]@A$ PT top expander button (a label)]@$PT top expander text (a label)]@$EPT top for Horiz' & Vert' lines (mid height of a node + top padding)) ]@A$ PT top icon ]@$6PT top node label, if font height less than NodeHeight ]@A$(PT activenode top relative to scroll-top]@$GPT array, max width of text in each level, helps determine scroll-width]@0$ JKP: refers to the selected node]@A$PT the node in EditMode]@ B$PT node waiting to be moved]@HB$GPT parent for the root node(s), although a clsNode it's not a real node]@pB$8PT collection of stdPicture objects, their names as keys]@B$'JKP: global collection of all the nodes]@B1%PT checkbox true/false/triState iconsrn]@B1PT collapse/expand icons Access!]@$9PT the main form, eg to return debug stats to the caption]@C<'----------------------------------------------------------- 'H'j'J'L'N` 'R'T'V'X'Z(t@($Node click event!O MouseAction generic example for all mouse events. See notes in NodeEventRouters Event MouseAction(cNode As clsNode, Action As Long, Button As Integer, Shift As Integer, X As Single, Y As Single) .t@'Node double click eventt@$Checkbox change event******t@`t@^^p j r Private Declare PtrSafe Function GetCursorPos Lib "user32.dll" ( ByRef lpPoint As POINTAPI) As Longor Private Declare PtrSafe Function SetCursorPos Lib "user32.dll" ( ByVal x As Long, ByVal Y As Long) As Longnoded Private Declare PtrSafe Function getTickCount Lib "kernel32.dll" Alias "GetTickCount" () As Long * * *h " " l Mac displays at 72 pixels per 72 points (1 pt / pixel) vs 96/72 or 0.75 pt / pixel in most Windows systems  g The respective constants help size and position node controls appropriatelly in for Mac 1 and Win 0.75[ However sizing may not adapt correctly in Windows OS with Large Fonts, contact for support ]D ( babl]D@ or w]DX here]D p ldno]D  to ]D or]D  ]D  ]D x]D ]D ]D  0 ]DH ]D D]DD]D&@` ]D%@E]D  ]D&@ ]D @E]DX ]D,@hE]D  ]D( ]D @ E]D?P ]DE]D clsTreeViewx **************************** Public Properties **************************** 0.m8 I------------------------------------------------------------------------- Procedure : ActiveNode5 Company : JKP Application Development Services (c)1 Author : Jan Karel Pieterse (www.jkp-ads.com) Created : 17-01-2013@ Purpose : Setting the activenode also updates the node colors7 and ensures the node is scrolled into viewI-------------------------------------------------------------------------] $2k 0 A@{k A@ ! !. !< RootHolder ( !.( A@kk .0A@m ]( !. !< RootHolder (oH '~mp 'mX:PT user has edited node(s) and/or changed Checked value(s) 'mh1 called after manual node edit and Checked change 'mڵǷѡ 'm(ڵǷѡ 'mPL PT ' 'vm(^ PT]] ' ' ' v'  |'   G 'jd'k  !!,     ? Checkboxes added changed after start-up so update the treeview'A@kkm Access .@m  .@m 'm 'mhH8 PT added v026 8.8k   8B@l# error if sName is not a unique keyo]0]H]h8 PT objImages can be a collection of StdPicture objectsN a Frame containing only Image controls (or controls with an image handle)6 stdole.IPictureDisp or stdole.StdPicture objects $ Collection .8  8 + if not a valid picture let the error abortHd@.8#If HostProject = "Access" Then 3' if the frame is on an Access form include .Object )For Each obj In objImages.Object.Controls  ! ! ! 8B@lXkP* Flag we have a valid collection of images 8!,'{.8 d=The obImages collection includes an invalue StdPicture object' e>A control in objImages does not contain a valid Picture object'k8   !' !Images  B@m 'm]@]` '   ' min indent ? P eP' max indentdP 'k80  ' min indent ? < e<' max indentd    'k G 'j   . changed after start-up so update the treeview !!, !.A@  .kkkmRPublic Property Get EnableLabelEdit(Optional bAutoSort As Boolean) As Boolean del! EnableLabelEdit = mbLabelEdit bAutoSort = mbAutoSort End PropertygPublic Property Let EnableLabelEdit(Optional bAutoSort As Boolean, ByVal bLabelEdit As Boolean) ' PTG' optional bAutoSort: automatically resort siblings after a manual edit mbLabelEdit = bLabelEdit mbAutoSort = bAutoSort End Propertyx 'h ' 'm PTFPT optional bAutoSort: automatically sort siblings after a manual editC optional bMultiLine: do not remove line breaks from manual edits ' ' 'mH PT& PT, equivalent to Treeview.LabelEdit, 0/tvwAutomatic nodes can be manually editedF optional bAutoSort: automatically resort siblings after a manual edit ' 'm8Z PT ' ' 'm6default mlLineColor=vbScrollBars applied in initialize 'mh j  j j  j'd  invalid input 'kmx ' 4.m(] ' j $@'jdF$@'jkhk` 4  4(  4!(.4d k  !' G .'j j ( ! !( ! !( .4dkmx,Public Property Get MultiSelect() As Boolean MultiSelect = mbMultiSelect End Property9Public Property Let MultiSelect(mbMultiSelect As Boolean) mbMultiSelect = MultiSelect End Property G 'j 'mPH]] '   $$ height of expander-box is 12 in Mac ' < e<'d 'k  #3 height of expander-box is 9 in Windows normal font ' - e-'d8    'k G 'j    !!, !.A@  .kpkhk`mX Global collection of the nodes4 *DO NOT USE* its Nodes.Add and Nodes.Remove methodsa To add & remove nodes use clsNode.AddChild() or clsTreeView.NodeAdd and clsTeevView.NodeRemove() :G.:j :.mPP G'jm(< PT The Root nodes have expanders and lines (if mbShowlines) '  'd'k ! 6 6!A@khk`kXmP'PT returns the collection of Root-nodesY **should be treated as read only. Use AddRoot and NodeRemove to add/remove a root node** 6!.m  'm  '  !!,A@kH k@ m8 @ 'm $ PT Show horizontal & vertical lines] ' '  !!,  6 ShowLines added after start-up so update the treeviewA@kP kH k@ m8 #***********************************#* Public functions and subs *#*********************************** 6.6 6/ 6/ RootHolder 6(< :.:k k     6%.z   !AddRoot ! B@i F 2< 2< $ 2<k ' o LPT WithEvents can't trap Enter/Exit events, if we need them here they can be> called from the TreeControl's Enter/Exit events in the form ' A@6 apply appropriate vbInactiveCaptionText / vbHighlighto  F 2> 2>'o W PT call SetTreeExpansionLevel and reactivates the closest expanded parent if necessaryg eg, if activeNode.level = 4 and lExpansionLevel = 2, the activenode's grandparent will be activated]8!  A  !  !. !  !.p .kXkPoH X!]H"2 G !' j    A@  ! (kA@o `"3 PT Move source node + children to destination node8 cannot move the Root and cannot move to a descendantp vBefore/vAfter work as for normal collection; error if invalid, eg a new collection, after the last item, etc]P#]h#]#]#]#2H    I Or cSource Is Root|k .'_ !.  '    n B@k !. the child becomes a parent for the first time /= expander & VLine will get created automatically if necessaryk !   A@ !.   $C@:;C if the old parent has no more children remove its expander & VLine555! !!B@=k55! !!B@=k55! !!B@=k`9kPqH  / (  !'  B@ B@  ! (kkA@'/ ensure Left's get recalc'd during next refresh|`X ! n KT/Cannot cut and move a Node to a descendant node'SMove: !'n   ~A@2d ! Move:  B@ko #? As tvTreevRelationship2PT, similar to the ocx treeview's nodes.add methodO main difference is vRelative can be a Node object as well as a key or index see also clsNode.AddChild]%] %]@%]`%]%B tvFirst = 0 tvlast = 1 tvNext = 2 tvprevious = 3 tvChild = 4 $     %.z>d>> .   $:. k>>  d NodeAdd+vRelative is not a valid node or a node.key B@k(>k > $ P!V'5 defaultk=  Z  ! ."d= !."k=.    :B@l`=dX=  :B@lk@= "! "/k= "!5, C@ld<'"  V  X  "! " '"  y<kx<p<kh<  RKTF C@l TKTF 5,C@l VKTF  "C@l XKTF  "$C@l ZKTF C@ln;k;q;  9 X 9< 9 9 :!,9 "= =qH; / do this after let key = skey .z:: :.: :k: d !  clsNode.AddChildDuplicate key: ' ' B@dH: 0: (: : !clsNode.AddChild ! B@k9i9%1 PT Remove a Node, its children and grandchildrem> remove all associated controls and tear down class objects+ Call Refresh() when done removing nodes]&] &]8&]X&x&8 0$..* !." B@B  "B@: (5 flag to get removed from mcolNodes in the loop below  .0k88.2' '('  , :  ' ,!  :B@  ' decrement the collection indexd7  ,!X '   ,(kX7P7  (  ' . should terminate the class  * * / :!,e$: /k6d6all nodes deleted r .r'' ' k`6|X6P6 [ ! ! 6 66o6&% PT, similar to Treeview.Nodes.Clear]&5   " !!,  " !B@`5 4929996q85k05 r .r'' ' A@'|44 4 44o4&] Create node controls as required the first time respective parent's Expanded property = true8 hide or show and (re)position node controls as required^ Call Refresh after changing any Treeview properties or after adding/removing/moving any nodesH or making any change that will alter placement of nodes in the treeview]0' !A@T a Frame (container for the treeview) should have been referrenced to me.TreeControl  .Refresh: 'TreeControl' frame is not referenced B@ 6e  (Refresh: No Root nodes have been created B@ 6!e nothing to do'' '  r .r|1 !!!,e$ display the treeview for first time'8dp1c ensure all node properties are checked, eg after changing indentation or nodeheight during runtime 'k00 8A@|00 > :(< ! Error in BuildRoot: ! B@ox0 H'5 PT scrolls the treeview to position the node in view( Top1Bottom2= 0 roughly 1/3 from the top Top1Bottom2= 1 or -1 at the top# Top1Bottom2= 2 or -2 at the bottom]'](] (]8(]P(]h(](](  .k0/ BA@k/ !. !< RootHolder !'F (k. !.. FA@k. !'    'J J  'H 5'L52 P52 R L 'L( roughly(?) width of a scrollbark- H56 J56 L 'D D @  @ G @'@j @% place about 1/3 from top  5 'N @e) scroll to top H  'Nd, J L  'N> scroll to bottomk, N 'Nk, N96k,q,o,(? PT set scrollbars as required to ensure all nodes are viewable" called internally by BuildRootn call externally to reset scrollbars while resizing the Treeview container Frame with bSetScrollDims:=FalseQ or with bSetScrollDims:=True after changing or updating text in node captions]8)]P) TA@Z'Vk+ ! V \  9    9k* "'X55 R'Xk*55 X ^ 'XkX* X52 X92d8*y0*k(* *q*o*h)I------------------------------------------------------------------------- Procedure : TerminateTree5 Company : JKP Application Development Services (c)1 Author : Jan Karel Pieterse (www.jkp-ads.com) Created : 15-01-2013, Purpose : Terminates this class' instanceI-------------------------------------------------------------------------])+Instead of the terminate event of the class&we use this public method so it can be#explicitly called by parent classesEthis is done because we'll end up having multiple circular referencesUbetween parent and child classes, which may cause the terminate events to be ignored. 6 6!  6! B@B&k& 6B@Bk&.4.2.0.6.:G** by design TerminateTree does NOT reset treeview properties or removeF** the reference TreeControl reference to the treeview's Frame control If the form is being unloaded it's enough to call TerminateTree in it's close event, node controls will automatically unload with the form.Y However the treeview is to be cleared or moved but the main form is not being unloaded[ call the NodesRemove method which will remove all node controls, then call TerminateTreeo$_***********************************************************************************************_* Friend properties, functions and subs *_* although visible throughout the project these are only intended to be called by clsNodes *_***********************************************************************************************); PT '^m"P*L PT2 `' 2 2B@$kp" ` .2dP".2k@"m8"*  $>.'Zk"i"+  x$<.'Rk!i!(,! $8. ''!i!ͨKeyNode,]- Gzj   !  .z!k!!.i -2 PT called from moEditBox_KeyDown after vbKeyEnter]H.   ub 'ix `.]/]/]/ bCaption   .d A@k d tvClick u\ d je*! tvDblClick, tvDown, tvMove, tvUp u^d ! tvDblClick, tvDown, tvMove, tvUp 2 To enable DblClick, MouseDown and MouseUp events: _ uncomment moTree.NodeEventRouter in mctlControl_MouseDown, _MouseUp and _DblClick in clsNode x add a mctlControl_MouseMove stub if MouseMove is required and adapt the call to NodeEventRouter with lAction = tvMove A uncomment Event MouseAction in the declarations in this module ) uncomment RaiseEvent MouseAction below ^ add the treeview_MouseAction stub in the main from that holds the reference to the treeview < RaiseEvent MouseAction(cNode, lAction, Button, Shift, X, Y)k bExpandere  't t .kA@ ! ! !!, %.h h f$j f !!, h@A@d( @A@kkkk t D Skip unnecesary click event if user clicks the already active node, D only raise the click event if a new Node has just been made active. < Remove this If bFlag if always want to trap the click event u\k bCheckboxe u`ko/]`0   !   clsTreeViewDuplicate key: ' ' B@k0( 'li]********************************************************************************************** Private events *^**********************************************************************************************0= PT exit editmode if an empty part of the treeview is clicked +^o$************************************$* Private functions and subs *$************************************0 default properties''' ' ''' ' 'TreeView'  p 'p3for testing onlyXoP1  r 'r o@1]P2]h2]2]2 vG t!'j '" $.  _copy:'x x  x $ 'k` _copy:' . " '"  "$.  "' v  t(kk error returns to caller $ $ t  B@l $e t   B@ld@ t   B@lk d  no key $ $ t B@l $e t  B@ld t  B@lkki2]3]03]H3]`3]x3]3(I PT distance activenode was from scrolltop top before refresh, if visible]3]3]3]3]4]04]P4]h4]4    v' Mac 'ph !,'84TODO find equivalent for cancel key in Access & Word Access Word  :( G'j" mcChkBoxSize = 10.5 ' 11.25+ mcLineLeft = 3 + 7.5 'msngIndent / 2O PT if these arrays aren't large enough Redim Preserve is done in error handler d 4 8 .4k :!,   * creating many controls might take a while Access :!B@ Word  (<  :(<'zk 8 j !   !!6 'kk' '|'   ~'dh |'kX   'k8k0D work out respective offsets to various node controls from node tops     ? '"       '$d     '$kX     '      '(   '&A 5'.$ default colours for node labels5'2 8d . PT, refresh, start by hiding all the controls 5 (Hk@  6!'    % 'k k !  ' Add the rootnode to the tree Forms.label.1Node    !%l / !    % 9 $89k k    9     9 ! !9k ! !9k !G5(j !<9<9p9,5 (5  $. 5  +.k 8 calc msngTopLabel to align node label to mid NodeHeight4 first calc min NodeHeight if not set higher by user5  ( optimal HodeHeight for the current font5'49 'don't use the Property method or Refresh will be called5  e  5 '* 5   '*  *   9k`  * d d99pk0 k( ! !9k 9,C@49q d  !      9 !  $. !  +.kX kP 5  5'5  e  5 '* 5   '*k  *   99qk  horizontal line   ! Forms.label.1HLine !! !%l / ! &   9 99< 09. 9x4 vbScrollBars 9 9 9 9C@49qhd` ! 9 &   9H# 3 + NodeHeight/2 (to nearest 0.75)9qkk Checkbox * If CheckBoxes And Not cRoot.Expanded Then   ! !  Forms.label.1CheckBox !! !%l /  !    9    9  Use an image b9. !$<9 99pd 9 9Marlett5(4 "a" is a tick  5(@ z9;9 09. 9 V9 !a9< !$@9kkk9qd !    9    99qXkPkH  Icon    % ! Forms.Image.1Icon !! !%l / ! 9 b9. .AutoSize 9 9    9 (   9 $89 99q(d  !    9 (   99qkd'kk  ' ! +  ( '~ Now add this root's children ! A@k Vertical line for multiple roots   6!!, 6! forms.label.1 VLine_Roots !%l 6/ 6!C@4 99< 9x6 vbScrollBars 09. &9 9 ~  9qd 6! &9 ~  99qkkk    'B mcTLpad for top/bottom padding 899k(A@ 8 startup 8' make the first root node active but don't highlight it 6%.0 (' or if preferred highlighted at startup +Set ActiveNode = moRootHolder.ChildNodes(1) e j !    96kk~q~ ~   v  ' if Mac   '~  Seconds: 0.00$ Nodes:  :!, created:   visible:   Total controls:  !!,' Access @  @(<k}}  !!(<p}h}`}' |'H} z Access :!B@ Word  (<| > :(<|   E in some systems the cursor fails to reset to default, this forces it A@n !r !tA@t@|k8|>TODO: implement API equivalent for cancel key in Access & Word Access Word{  :({|{{' |' !    % most likely an array needs enlarging     d @4 zkz !e! user pressed ctrl-break in Excel#Loading/refreshing Treeview aborted ~A@2A@`zkXz [ ! !(z zz ! BuildRoot ! B@oy4]5]53 disable error handling, let error return to caller On Error GoTo locErr   NExpand/collapse button box (not needed if we use icons are used for expanders)  ! Forms.label.1ExpBox !! !%l / !    " 9      9 9 9 09. 9x 99qxdw ! G      9j    " 99qwkxwkpw%Expand/collapse button text (or icon) ! Forms.label.1ExpText !! !%l / !      9    $ 9  Use an image9p@9@9 b9. 9 !$>9  9vdv use +/- text 9 9 !-9<5(du+9<5(kxu 5( 9 9kPu9q@ud8u ! G      9j    $ 99qtktk 0 lLevel > 1 Or mbRootButton) And mbShowExpanders !    Vertical line  ! Forms.label.1VLine !! !%l / ' !C@4 &    9      9 9 99< 9x 09.9q8sd0s ' ! &    9       99krqrkrkr z !  extend the vertical line  !     99q rkr z A@ z! z  A@kqqk: cNode.Expanded And (lMaxLevel < lLevel Or lMaxLevel = -1)|qlocErr: #If DebugMode = 1 Then Stop Resume #End Ifoq5= PT, create or (un)hide the controls, size & position to suit_ all created nodes have a caption, and optionally a horizontal line, checkbox and seperate icon]h6]6]6(p. Application.EnableCancelKey = xlErrorHandler !  ' Node   ' e !!'koHorizontal line  ! Forms.label.1HLine  !%l / !      9 &   9 9 99< 09. 9x+ vbScrollBars C@4kxn9qhnd`n !       9 9kn &   99qmkmkm Checkbox   ! !  Forms.label.1CheckBox  !%l /  !      9    9  Use an image b9. !$<9 99pdl 9 9Marlett5(  5(hl 5( 9 09. !a9< !$@9kkkkkk9qkdk !  G     9j    99qpkkhkk`kR Icon, in its own image control if using FullWidth, otherwise it goes in the label    % ' ! Forms.Image.1Icon  !%l / ! b9.      9   ( 9 .AutoSize 9 9 9 $89 99qidi !       9ki   ( 99qikxidpi'k`ikXiThe node itself ! Forms.label.1  !%l / !9,9p       9  *   9    % 9 $89kXhkPh !G5(j9,9p !<9<5 ( !  $. !  +.kg 9p5 dG d9jkg ! !9kpg ! !9kHg ! !9k g9qgdg !        9 !  $. !  +.kfkf    * 99qPfkHf  ' ! +  (|ff ! % most likely an array needs enlarging     d @6 e  . e .  @.6 Hek@e !e B@+ user pressed ctrl-break, pass to BuildRootdd d dd !BuildNodeControls ! B@kdod6- PT clone a node and add the 4-way references]7]7]7 d " |dkc '|'. 5G .9j5 (5< (<5 (5 (5G 29j5 (5 (5 (5 (qc "! "/kb " / ! z !  zA@$ don't pass vBefore/vAfterbkxb "!   A@ / : vA@ !, ( |'  !B@ka|aa [ !a aa |'oa8I------------------------------------------------------------------------- Procedure : MaxNodeWidth Author : Peter Thornton Created : 27-01-20134 Purpose : Get the max right for horizontal scrollI-------------------------------------------------------------------------]x8]8^'' msngMaxWidths(), contains maximum text-width + additional icon width (if any) in each levelb tot-width = 3 + msngRootLine + msngIndent * lLevel + msngChkBoxPad + [ msngIconPad + text-width]  . $.      $.       $. 'k^k^^ '\i^8I-------------------------------------------------------------------------" Procedure : NextVisibleNodeInTree5 Company : JKP Application Development Services (c)1 Author : Jan Karel Pieterse (www.jkp-ads.com) Created : 16-01-2013c Purpose : Function that returns either the next or the previous node adjacent to the active nodeI-------------------------------------------------------------------------]h9]9PT\ 0G'cG'j $:..dx\ !'   '    $' $:..k\k\z\\ [[ ! [[i[9]@:]X: z[k[ 56  '5   '    'q0[   .dZzZkZkZ   G 'j  !  ! 'jkZiZp:]:]:]:];]; " . . "+.Z "  "$$:. !' !'  % 'kYkY !  $. !  +.kXYPYoHY0;];];  !' !' ! b9.   .$T9   2$T9qXkXoX;I------------------------------------------------------------------------- Procedure : Round75 Author : Peter Thornton Created : 29-01-2013Q Purpose : Make size & position dims a factor of 0.75 points (units of 1 pixel)I-------------------------------------------------------------------------  "'" $'$ &'& ('( '  *'*V "   '" $   '$ &   '& (   '(    '  *   '*UoU<  $hU Access '@U ! !!!'UUkU H system highlight colours, bInactive set and called from EnterExit event !  '' when treeeview not in focus 0A@' just a grey border 09.$@9x' inactive colours/ .BackColor = vbInactiveTitleBar) .ForeColor = vbWindowTextdS in focus b9. v9 9kpSqhSk`SoXS *h<I-------------------------------------------------------------------------" Procedure : SetTreeExpansionLevel5 Company : JKP Application Development Services (c)1 Author : Jan Karel Pieterse (www.jkp-ads.com) Created : 17-01-2013@ Purpose : Updates the expanded properties according to lLevel Called recursively.I-------------------------------------------------------------------------]8= G|j   6!   (dQ (kP ! z !    z(   zA@PkPxP !e z !    z(   zA@PkPoPX=]=]=) PT toggle expand/collapse with key Enter   ! 'dO 'kxOkpO    p U '# Ctrl-U = F2 editkOO KT ! ? don't attempt to collapse the Root if it doesn't have a button !e ! ( ExpanderA@XdHN ! !!<If Not ActiveNode.ParentNode.Level = 0 And mbRootButton Then !! !.A@ CaptionA@XkMkxMkpMkhMd`M ! !! ? don't attempt to collapse the Root if it doesn't have a button redundant ? !!e !!< RootHolder !. A@ CaptionA@XkXLkPLkHLk@L KT ! ! ( ! ExpanderA@XdK% a Root node and mbRootButton = FalseA@kKdK %. CaptionA@XkHKk@K K KT !   Z if the activenode is the last node and collaped, expand it and activate the 1st childnode ! ! (A@kpJkhJk`J   $..  .   $TA@H> the -ve means will scroll won't change if the node is visible CaptionA@XkI K KT Hstore the activenode's vertical position to reset a similar in the keyup  !   !6 '   !  ',dH',kHkH KT2 KT PT toggle checkbox with space  ! (5NodeEventRouter called in node.Checked/UpdateCheckboxkHnG' PT   pufdG : :!,$:.kGkGkGoxG>I------------------------------------------------------------------------- Procedure : TreeControl_KeyUp5 Company : JKP Application Development Services (c)1 Author : Jan Karel Pieterse (www.jkp-ads.com) Created : 17-01-2013Y Purpose : Handles collapsing and expanding of the tree using left and right arrow keysA and moving up/down the tree using up/down arrow keysL Also handles folding of the tree when you use the numeric keys.I-------------------------------------------------------------------------]>]> PT0 PT KeyDown was initiated in some other control,J eg Key Enter in the Editbox or tabbing to the treecontrol (enter event)|`DdXD'kHD  1 PT look into moving more key events into KeyDown09L`iLT `G 0 'j    p$SetTreeExpansionLevel (KeyCode - 49) 0 A@A@kHC K]KT# F2 & key right/context menu (?) PT   +^ B@$kBkB K KT L PT activate node in the same position as previous activenode when scrolling !56'  ,   '   56  '  556 e  'kAqA    $' $:.kA K KT  G'cG 'j $' !  $:.kASAnAd@ : :!,$:.k@k@k@o@@tAttribute VB_Name = "clsTreeView" Bas0{FCFB3D2A-A0FA-1068-A738-08002B3371B5} |@GlobalSpacFalse dCreatablPredeclaIdC@ExposeTemplateDerivCus tomiz E'Build 026p '*G& Authors: JKP Application Development Services, info@jkp-ads.com, http:/`/www. - Peter T4nton, p mb@gmail A (c) 2013-5, all rights res!Oto the a. You hT f @u@and adapt code/modules forAyour own purrs disŬas part of ver'project.HowMr-@headerCcopy1 notAR shouvr e?n%tact@2may #blishW0,0 exae na web siHte,wiZu @exwit consv2R?Ft -?#AM3b6J: ACompany`:?Y= Y L_C Jan K`Hl PiVD(Z)b P : 15-01aU3!PGŠLa`A !v !/trolQaUa`6IU[Form &?" O.py @{i@L#C?t HostP#W"Excel" ', or Ac@$s!Word9PuPc WIEv Gs"  As MSAs.Fr@)!.VarHelpIrD-1B mbInAct 1k'PT"`t{I(iscin_c us PAl waysRsign `Boole;`  orary flagmb=true, see `Move(> uptoSo+ sI!si%ng@fmanual ed/ ChangH "di@rty", r\ hn(s"Qѡ@ӽڵI XfCheckl  'ֻ迼ǽײCѡBbox`X,w c B LabelESow (ing AJ F2)BWdo&e>ickiTriSt"saenrsZ0lel s e`& Image: d?mins if iRrePdV?1I 1r&nB g@ FullWidthp/(gi2 P q7k3 , c.hrjl0t1dpkfGotI got aJll`m`bz6E0reroiPvdwi|be-ollapse/ivu KeyDy En6-keyup#UTextA) occuww`hen n0WgrefoLCa> wnTTs1Cp}NodMultiLin  In `dim'Dc1C33AHe[In d@Ya at r u mJ RootButmA2F?@$𚀺 ShtoweszA +/- "!_[a57"ls0+"cv!AGn lBackCol!ks LoD!ebfhholPbݰc @ke>r N0- omc, 1-M`:'t 0]N :sdQgin/de-`cd !d%r@dded lPO09rom my Deco8-n3JQd/.g~un8iqu`@2 n0#lVisCo@- einf! zero sac:hP Pye'WOr!()W0i5x`r @ iq6ify V3 msRSj*: Tit`aEmessiusngChkBoxtPaS@uo ffsetqkus1Bjj6SizJG!5z D`CFqxadefa`OX#0+LeftS ngle 'PT Left pos of Root H & V lines, 3 + alpha Private msngNodeHeight As Si'JKP: vertical distance between nns sLl H if mb Button, same asIndent, else 0 TTopChk RTtop checkbox (the" s" arefsets down fProm  aP givb)8E8xpB8bexDpaWr bd (a label#T#text" HV!~for Horiz'Azj'C{ (mid vhu@ak0p(addy),Icon,iNJLA>O EJF, font$less1can ǟ Vis~N#actAo@srela scroll-9MaxWid`ths()*array, ma8x wBein each level,.lpeterm 9HoA'6cls refer?osel`ectedhEditheu!M!MoveB3waitAm&bd)uH`olderpol9!Pjr፡ (s),thou gh a it'st@rea colOsA C 8@"iQ& $AYstdPictuA|bj@ir nskey! 0glob alNlB4a oCImage(-1 To 1KG4擀true/fa@/triStajo 0 $aPpse/ d #If@stPro!# = "Accm" Then  ƿoForvm!.#.E.:mVaK@)k0'rcBLn:t J@6generexamp1=/mA " s. SeGtes 0!!RouPx , Long, À(Integer, ShiPX, YkO3do "eIickS 1# B=?>ІangeAfpqX(ByRef Cl BooleBaNewS?ng" , N&2pKeyD )@yvVJC _e5R9vBrPTjXType PO@INTAPI3,xQ2(GVBA7 A 2Not Mac6G!WGDeclPtrSafe Funr`(GetCursorPos Lib "00% Or Wate <> m@bTriSt) Then ' Checkboxes added changafter start-up so updthe treeview mbRedesign @= True R@efreshE`nd If   Property #I@f HostjectZ"Access"Public 7 Set Form(f@rm As . )@mo *E$?Elsd 2MS%s.User4 4GgullWidth()hBoohleaF cmbS L GHD1Sub ImageAdd (pgaStdPicture, sNameString) ' PT 'ġv026A@Not mcolIco@ns Is h Bt = Ne@w Colli^oKA.@) @)%' error if*is n a unique ke@Y@;A+W#As(objC.count` >= 1 EHxit @=H:#9ot VxErl TaM#= "rd4n6.y" %׶!cq2A<@Tdop-4@D@:taU !s& vb,LiPne &1<.Nr8iptVYA4 rr@.RaiseNumber, "# "Z!&WQsIndentaqussSpLl}@msngsqs("\"]cNo@5oclssb_ngOldGa s'H cQ?Maco@7< 16A0' miQ$A ?t#'> 80/ *#ax`$! !Int7Aݹz#A 72 12Q  6 + C#h#* 2 +FPtPxl) / 3 )@mc2;N0@ootButt]> R07% 0єeeX Aї *='"T0?dDWKKUS5= Me.Active5!1.A@ !8rqW'Jt EnableLabelEdit(OQal bAutoSB) delϡL mb&4L O  , ByV1 ;F)' o: am[8calQsingpBa manu0ePAH m)_MultiB8`_J   #)bUge = mbMultiLine End Property PublicH Let EnableLabelEdit(Optional bAutoSort As Boolepan, < >ByV;O) ' PT 'PT og: aqmatically s{sings after a manu}aeHRH: do not remove l breaks from "s "Y= b ]G4)L8ongU, equivalent to Treeview.0' 0/tvwA-W@Fdes can beB[ATedTfre gG"l%A2ǘAU!n R"m'* Ey= (H= 0)?E06䁀Co0lor(z'dhefa '=vbScrollBar@ppli ed in@itializa? _!(lcAPIf <= vbInfoBackgrouOr > $ A`White) ThenD0EElsRe`5in@]iAputi##,If!rM CopyNodeHK!G/#cls{bBB@ cS@ mo?_Ͷ, Nc! h:St lOrig9caR!?a4E#A=:`#A = RGB(255, 231, 162?:MC(159@417>4I$=dNot , Is hi g.a %h" Conts8G @ a-AW#) 8v=  =09m 0, Gck$+= xq c%ForeRW.;@'6ASeplectY$@  <{qV(a7.'1= a?Heigh S/lb msng' ~12c[(z`U# D>Dim/zVOldu S _t,6#Mach@ < ,121hhB of expander-box isAxq=p)> 67 060Int(A {F##31 99Windows normhf`RO J 9ht > 45z45 * 2 + mcPtPxl) / 3!)@74g#mbRootButton21pI$n0^AdP9k! A/-ݕE.s.ct TS Me.Active+RefhK ?j%%traqO>ss\dA]S Gxlob)D=the0+*DO NOT USE0* itу.Add ?R#@method' To a &ns uK Child` or PqVaq7v(;mcolNodes Is Nothing The@n Set = New Collection \ z=V End Property Public$ GRootButton() As BooleaWIf mb!= 1eL el?Leadero) ' PT%0  nhave expan s  lin (iMShowς W= 6h msngO-1 I ,89' 'kqftstart-up so upd u{veviewK ߏECe9l'**f unbsubs߁ Fe(OpAAsKe"yA@Str, 1vCabIImageMain, _ 1'Fbd{clsaL&On Error GoTo errH!?f7QU }Ih/_n.";MYvXS "1[S" q W / % '5Egi"* 7 /Sub Checkbox (picFaPC/dPic0~e, pTruPzps Stg,iSt!C@7,ato{0)@Coe(-1t c@IsMiss@;! Tr )m3Smb ?t JEnPV(bQA`!WithEvents can'tap b/e, гwe ne[m hezrhJpq 0`d from\~'so in!bformInA0VmscJp0J ' applyQpri `vbInaBDSText / vbHighl0a /5r)Minus)cPlm'ST?a ';' mo['sm0 o!?ToLl(ls!LongfbRe6$$$Ќl1Qз! losest`d parp(&necessar z' ;q` c޶Tmp = ActiveNode.ParentP While c.Level > lExpansion" ^tSetbpend =9?"End If  Sub Public Copy(cSource As cls, cDestF_2~Optqal vBefore, ByV After, bShowError:Boolean)9Dim lCheckedLongaMovef^(@False)NothiIf mbTriState Then*2={.c2CClonwCEJ,G<v8 @)= -x1 AeS@&0 SGM -1s@<ColorwyAG(yyy' PT A) sâBn + cdA to d@ina  'ANcannot m the RBo@and o acant 3/p wor`k as @rmWcolle@ on; eSif invalid, eg newb , a!^lBa hitem tnc@c4Ys ]Jc1XStrFTabIsc]a'l`c`!$y'?g &GchžOn tGoTo"HA1_ELIs Do Or?dld^q >'9A Exit#%bgx)= Do *'r a#c Loop Until  ?& G@,.Raise vbO bj`P.+ 110/A.C!fs  'Sbk becomeZs Yp_thfirWtime"% = N``De' eder@ & VLiw ill gred automzcally knecessarFyAddaTo ȳ"=c ?#7a@FN?Wi8th 33#.Remqg!5, (@IsMiss@=(GFh ) ''Cold hGnoLr gaOrR its$ of!| ."a8M e.TrePvnt@rol.CorsD.Na9#A@#yEU Box-u a  B 1O rO aE s/G b  s/ / ad)$%0413P\&TruDS`\sal9Et]qb<`2` _@= ]$ =Is P_`mbAlw aysReignapVnsu CLeft'sUreUc'd du next refreshe3tH:\ CaghNumbe?B?i4i= "Ccut Rf\" Ma: " e hcri1Se &xpMsg=E , , AppLEjGcys, m%,| " G c0 Fun" deEn(gRelqveA4onship//l sKey pC??yCaImageMainTid)  tvhv'PT, similar%ucx tPkview1qs.add metho2m diffevis жvRelative can be a Node object a@s wella key or index ' seblso clsn.AddChild  @Dim i As Long$c,nParentP9TmptvFirst = 0@ tvla 1Q Nex 2previous.3c4eIf IsMissing() ThenySetMeRoot(sKey, vCaptionImageMaBiExpad)&Exit 0Func Else 8On ErrResume. j Gc= O\@6GIs@/t>h9D6A! mc4olrsDEnd If*GoTo errHq!@;.Raise v bO?+ 100, "A$@_"F; is no@ validArn.".= 1onshi>pJDtv0Treeb.tvŸ@ ' default Or Jn.r@ po= DJT.+8New@`'Le~n`%5BHe , e 10^110Q`c.{"&sxt\=`jw Coll`w1 With o C@.couᐣGgC}i`+0A C"KC/PO FEac`Inze!i `pc" sHVSEcor d!+1Sea9 CaOrK: S,n RDL+After:=? ;Ari%8Kbefore:=s_ + !#wi.<.4.m)c; U.nCStr(o(n.vp@v2qFA7>L@;,tP[M w1 ;Cq.a]o Pts a l@0fs`#BO\r:C`4 L1gKu; IzPEr6l ZA`|!wNumber@457eyr@@x3b(yDuplicatea: '" &_`"'xO#@ DebugM1= 1<q St|op 1#i 3? d0 Descri[ag Pub Subfdpmove(B P0' PT Reķ, it@RaE  grPc5mr4socid con0trolp'Pte@ar dow@\l(assTsCaRefresh0() wpne~ l8Idx ۼ"CtlsOrigt5O0b,dSƮ1/AA/xtVisibleQIn#, bUp:=TrueH.rڎ3sTermina Au;~.. *II J-1Q(' flag to gBd from wAbove Isc *.Me.Acti1bIn@Booc`@HmW~ Gg' a Fr a0(4ainer f*3)habeen5"fenc!9o xme.A RaivbObj<  + 10, mcSource, "1: '' fBis$vtcB"' #oRootHol]W!' 1 sth:\ 1c d{ .Child^O nd bdo' D#D9O>EDKyOr| m|bFw1k)cx' dis 1y0(GB 1>=:@q' ensure u A2_/O8k <+> No\t :31#tom2=0 ;S <  =a* -1!(=( ' place about 1/3 from top %->ProcedAJ: Company : JKP A ppT>on Developme+Services (crQAuth`)san Karel Pie`Cse (www.jkp-ads.com2Cre@d215-01-201 uPVurpRo` ( sMis class'Gstance@ o-SJcQ=aJcls'Ptead qVp }C Pd wHe u@ thP p ime`d soj #cpb  'exit`_a0apPBe0U done FblAwe'gezup havY@multipbcirculard0ferePbe@tween ac0edSes, fch may] e o ignoPp..?ѢmoQmHoldhIs j81r.C!s 4QEa` xIn 9h  2.0E<N_ s!`f Move =!Edit Acti ol1h"S'**d@gn B doQ?NOTtp8ropY@@rem 2re'Dx(R5'sT{Qz'4"form 0be/@unloadtenqՑ5 biAclo :"<,s5au@O!y c.1Howrr be 5epQma not4 Gr Rb $Es:wi0  a!0<np<*1fh*S**[*F riJ#, fu2n-on@Hsu|bs?alVugh visible thro@ughoute projecXse are only intended to be call0by clsNodes * '*[ Fri Property Get EditM(cQ As) Boolean ' PT A0 = mb End,5L5, ByVal ['=)>?S#MoveCopyX(False)FNothingM SIf  mo_{Is Thenw.Box 8A=If;0 .= \0CN J6Er\Function!wExparIcon(bDdV , picStdPictur@R?}$4@SmageH+o )G7 %gTrue62I6Checkbo:xB6lB@.Longg5\5 (foKAQBvKey, bFullWidth8Iu)On Error GoTo errExiFtC5col s(  | 7we7 :c6` #ogetBy٠(sQrx$Dimf*UB= ""BTZ  'kF"Each$ In~@/#"s.= " +y(!y!?a`aNex3L c)+$E RaiseAfterLabel!, sNew>T ,}fr,om`_!Down aa vbyEn Q 'v Ltv+' Q]n?2+S:FUpt e7sYq'#@ommQ9moTree.Qh3p mctl"_`1 _jY1add a#A st@;if Ris re0quirP}1adp*2ѳ wi qG"S] G"(;indeclara=s! PsPdulTi gx'IXowthĀvP<ma` Xthat holdsb refereWo *6P M, K, X, Y(4:$4shEEL=0Z@QWE,H?wG /DBuPRoot?M.T d?0PsU@]!sw YQ.'.count K4IsVisi_(a)? Ppc>CwDScslTo1h YTop1Boqm2:=2k!#o,OX1?Uuu ?=`'#' SkZip unnecesary click event if userLs the already active node, ' only r0aised a new Np has just been mad _W. RRemonthis If@ bFlagalways wato trap s JREC(c)End 0 Else7sControl = "Checkbox" Then-*/'.3SubFrie Fun~on UniqueKey(s As String)&Dim _ cls: For EachInsUj.0= 3A!Err.B5 vbObject@+ 1, "@TreeView""Dup@Tate key: '" && "'"EXNextC=XA# DI '*?Wa$PrivA1s}A*.7@ UĜ_é' PT exit e0ditmA@an empty p@art of¿t5eve edYE@M@(AA) .Fa]C./-@M&fDXs aZsub'# Class_Initialize(`  default prop`ertieZmbRootButJth=(ueS@howExpe$rs TrkLinelaCol%^=`Sc lB,arh# # iMacEamsngInd= 20C.Height16A15  2#jC"@ A@ppName`"&ycDebugAF1gCl~s4@N`'f(test"?$ Pa#ATermin@sAa B,pFHAdd/ToB(hcolslion, cq, b$B oolea Opt al vBe#e, 'Aft\er ^i!LongApcTmpJpoW `#[|= E b9aLenRi) On aResu%]iH0Set 2 `4C# NoTIskngL! = InStr(@i!h_copy:"q1 n= Lef$t$, - 1\!If 2n;While W kPh 3?1i +a5s yi Wt i0" #pKW$GoTo 0 ' err@Dreturno c`aller) IsMiss0(T5_phh5$ =.<0,"1 3%w,5?! a)sesno!wOreOGOOAPa a 0  A'o%a)9gBuilds(bmpVt[ 4DbCursorWa  TriStjOrigX\ 1cYlLastѱVisQxcTo_S`/@F¢distanceڰs from st1bh refresh,visibl! 0ChkBoxPadg Alq Icon cQjobjCtrlqMSms.԰ptPOINTAPI3v@ Cpa@3 TCCGlocl{>Win32 HOr 64?3 A= getRo,unϑ)#1. ' Ф.TimOS4?s+aee.cAxC'TODO find equivalent for cancel key in Access & W@ord #If HostProject = "J" ThenHElsePL1ZApplication.E@nableCK= xlErrorHandlergIf qmbAlwaysRedesig"n mb= PTrue1';mcChkBoxSizeg10.5 ' 11.25-LineLef{3 + 7msngInd/ 2.PT if these arrKen't large enough N im Prrve is donn ey hyReDmlVisOrder(1 To mlNoxCreated!M100)bInit Or Gk;D1MaxWi@dths(07%DENZco.cou@- > 4.0TcA(ing many controls might takJ whilh  DoCmd.HourglaC~E ## System.Curs= wdWaitZA χI$Fxl WA bGG.a@Not xKudeIsia >Acti$veGSc1lTop@(.[x - 1) * aHeB6- Me.TreeCC9~.f ieXCG= 0cbTriStXOrig=mdFa nChecayLesl`mbboxImaok%!CPad! ImgAG]<> A+o = ɗ3 k.' work ohut p? offsets to vario0us n 'tfromCtops CaEExpB%TLp'+ (`cuta) =A.b3erq3 T (m U4) 6 %\i 9j!G^!cLF!I@HVaIӡUCalld Rp7d703Wxithq< mlBackCol O.' default"lVs#label"cForBd1 L A7' PT,-f0-h, star0Qy hidfpx, Each objCtrl In .M; S UaQRU= dHqNexxa+86cRootDmoHolP}.C0pdZJS1r4Full|^rBGotQs A0,.has!(vQ )AJmc ;qU5P cT IsPfth??PpP. 'Add r0"*Nq!tlSe@-A/ 5n%".`("ms.2/.1"h, ""г DeleÙ ,# 59z2Ambmb_?so .PicturePosiѻPfm<Q~C=0m%s7)/u& /' .mckH*x.$(2q#n2+`23/!0V58Y= /Q 0-Z@?OPH .F.BE.CapD(c_.Autot&RWraqoIT_#X= .o;`K"cXUq~z( End If0 P' calc msngTopLabel to align node l&mid N"@Heightfirstin0 ifPt set hAer b@y userJIf .j >{` Then5' optimal HW for the currentna! 7=E' 'd0on't])Property m@ethod 4Refresh w ill b:alledYElsev<+v#Mac4x= Int (9-9) / z2X#,V + mcPtPxl3 * 2)!.; =TLpad@lVisCou*L]S@bmbFullWixdth\d I#}c:.A7 J"AutoSize@"FaNm~ Len(cRoot.ControlTipText)<".WordWrap;.ZOrd0s .Eibl'0True1With e ! j"KRedesA.Leftmc^1Line`ANIconP&bChkBoxA@@CA9cO+ H cMaxbs(0= J=! O(a?e ʹf @h jA*"|V_^v_^(_^_^_^ #W_+_g'0O@n1 O@ ' horizpRЊNl9##mb;Button Ao@mbShow; =| 1_ B 3RGB(180, υu? }.ibByAmWithw|} 4喸 HmcTLpad-  0uw' I co MmbFulláA mbG4ot!sTNShas(vKey)xTa Is pNoth|X$S@#9= Trevntrol.C`s.Add("Forms.I.1", "!8" &%Ab, 8a($a# 5.QGXvpITransparenoE> z{z'.qo .3c1 o.o445vPa/Z* 6ٌcols+k/>o>O/+.ngP`kQ!p)`0?GpG6++ 1sjO1(7)$OndexsIwlLast'Now add PYs r`'s childK;\[v sO]Bu\ ,\u GNr'Ver!Pal l fmultipM s mbAButtnShowQn P moHol.C1.cpt >g VQnooo`labelo"_ s"mRB u .Z*+qePtPxl"ofmla ' vbSc`lB_\Z2 [ .Top = msngHHV ,.LeftcLineAVHeighZ(lLastRootVisIndex - 1) *arNode*KEnd With Else3 movHolder.Vd(Dm:ibleTruf  If G~1AllA`sAul"Countfe + mcTPLpad'Ffor top/b@ottom dingIf bInit ThenA.ScrollQ0D2Setbars Fa@, CRJ"' star(tup'7ake the fi rst r@ n active but donP't hlit$@A QVA Childs(1)N @Uif preferredat..Cg@#Not hIs h@97IsEW;h<( . $A- SG#; $@ aBb#`DebugM8kOn Err .Resume Nexh9!Win32 Or1`n640"TickCf= (g'@=Bun):mbShowExp eų8+'/laptb'(noNtr9*@we, Zis@;d[ e(3 mbImage,%./8_ hderBox = TreeCon trol.8s.Add("Forms.label.1", "Exp" & cNode\.Name, False) With`anN6.Top(mlVisCount - 1) * pHeight + msng)!GLeftHmcTLpad?26(lLevelRv2R"IG2)RootLine)Widd= mc 1 OrqE`Brr) A vmbShowGs]4(lMaxc<PW= -!9b'Vertical lљs:C=Vz'{o"zYlR0^Id§2)B.ZO 1ϠH}HV9rk)5/*01h .]PtPxlxG˟RR Yoo?o"s/6Y/rϾ`O#܏O#a=F_!e@")_!19 g$$$EPǯM g9C EacChi ~KIn cNode@.Childs ' extend the vertical line If mbShowL4s Th en @WithVNB%.Height = (mlVisCou@nt - l3TopIdx + 1) * msng2OCiblbePTru 8EOoM  IfBuControls c, l`LevelN ot Is a hing4Tree0}TNDcs'Expanded A> (lMax. m@cE[Private ]( A_lsA, ByV2Long.' P@T, creor (un)hideBcDq, size & position t@o suit,aDlld n7s have a Hcap , S o y@horizheckbox sep4er#iVDim @IPafhs SlīBName#>cW10.TAl!Cent%ovkjwA#.ra/n= 6 reusRGB(180, E-&?uOruKgrMx_0Nҍϕ Nc NNgN !@m End If  ' Icon, in @its ow8mage Ttrol if using FullWidth, otherwisef` goes|& labelIfH mbf AmbGots T8hen'+cNode.has(vKey) $(sngPad = mc H L Is N sSet >= TreeCo n~.s.Add("Forms.I.1", "" & sName, False)F1With1.BorderStyle nfmNone!LeftTL"p+ mRootLine Indent * lLevelDChkBoxRTToplVisCouhHeixght@S'.AutoSiz.B/ |X 0BackPETransparAT;@PicturA^mcol#sC 6SibxTruPFE@O""RedesignԁOe.I pIi Gc/ ._MngZM.*d *D, 0'0i#2'@ nael! w F .W@Wrabz@woX_Ha*[H/dEc`L!a`1?_f8=.Position`&,fmlnC@erkm`Qe ! BoldrA .Fpoha&I!"f !p.CapvK Texzta.u+ 7# >rpMaxs(o/ 1s=/({ / 9AVr6 c <1pW? !D@rColora.nooT`o're&om Len(t&Tip"/ dxt qi"h#gZ mb/}cXg84ãhKaco8nAo8?# Q8el)oaw 8w |ϕ*degf6Fn mj;+ 1Oa(xS`2SExit SublocErr:@.NuPmber9@' most likely an array needs enlargճaUBd )pz1F ReDim Preserv,e BL/To' 00Rexsum16 D> u /_) n ( Lo5o k gH$ 18Rna'ppsed ctrl-break, pass to@ BuildQ Զ Else 0#If DebugMode = 1 ThenC|Stop DResum End IfHErr.@Raise Number, "@BuildNiControls", Descri0ptiozO  Sub Private  Clone(cParent @As clsX,, c OXal vBeforeD, ByV After) ' PT$- a naladd the 4-wa@y refe:ceswDim b TriStMOrig=BoolevafcXKc,Ch Onor GoTo errHˀIs Nothing Or ExitPGZ 2= mC FaCSet := NeweE,WithC' D1.BackColQ9= 0 m~lF  C6a@-.checkedExp d.F2mlFNImage  MainA,  I'KeyCB5M.Uls LBAsB$lec}!BH.z= ]`^I_ ! Eac PnIn"CvL' don'@t passe/vbNext+lAdTo E A, k,gG $tre!M mcol5 zee@:=Tru djInd exAb.counDA`H$ ;`n&A1$& !:}. ! # yLFun\ Max)Width(*)Sl /'-?!rocedure :ja0Auth0V: PeoVorntAAw' Creld27-01-20132urpo5| 0G ^pmaDx nht u 9`iz }t|oll`? -CAtlLevelLongwsngI''' mcs()0q ins imum$ t:-w + ~iI icon s(if aPny) Ve!DlD tot= 3@1RootLine!5'* 4 + Chk@BoxPadP[I@g ]%OLCro UB9d(Jp@"8)2v cTLp g A `> /?eli<Z : P è%=Af>qVisibleQInTY(ByRef crtaǑ*bUpYBO52 PB A(Com0y: JKP Appl8ica128opm!Servi@H (cp' FJan Kl PiqGD(www.jkp-adsfm2)H16/HeR!thattuJr_=a"1u l= -1 11E8'10 ((1 ..00Cx@&+3 Gk >A> mlCounts>E=O4>: =4.Index >=JXA@GT;HVHVF;Chk+Labd= I ;"P#7{ * 2KmcPtPxla3!)@4s)XT!_2_P@5A5"__@) 'E??7IU3~#>z`u}ZbIn3ive3W_ Miss(81Q1On ErrP:Resume ǁ4Host!@Dject`+"Access"2m# A(,2Dqf|.Parent.#?_b`V$bVGoH% ' sy@stem hlR0ours,  @w aAalled from En0UҴpnt1a S є. P 1''' w teview not in focus  moG C/just]grey bwoyz94#= RGB(190|, Ep0- it3 4jvTitleBar  .vbWindow1+ԑ' /a H5)L HighlightT@ext E`nd If -1 C.V= TrueE@KBLL @%92. ?i ,In߯2i%~>'| R/ eL, +h 1,?,woNe##.%:$lD#el#"cy"g!s%!. mControl_KeyDown(B,yVCMS@ ms.ReturnInteger, ShifB!wsngVisTopwSp>l`zkzC4' DPTgglE/@collap@w key E`r9E= vb`8ActVw LefvR!a/0e!vgwuSelect Ca ' #Macac3= 2 AGl85! 'F2 ' Ctrl-U!t2 ediσʃ#9Ar 0 X.= 0 mb!YBut8ton/  don't attexmptk"m if doeshave a bb9a(B `bHK V`&5x @mdeEv0Rou , "4r", >1/,p +).Pnt:d ?7'k"_/"M .S>'][x1h' ScWlToView ,@?/-QCa]:k '/G?6[aOD?' DgDDrnda?oao d A?)%q! <> "QQ"U.t.3i.J-OJ.e|.O)w,mAT_dcWktaOhHXȱe If Not ActiveNode.Expander Ishhing pThen~lEventRout#p, "", 1BEls\@' a RonE mbButton = Fa?Build@End IfsOMSe CCh9s(1)yCaptionU+ Case vbKeyUp,DowLq@-PVisI@~x@3mlCoun@9F5@C_=Ԅ' if the aBmisBlast Fqcolla@ped, e itBw ate 1@ cAS OR^ @Īd@ܽNHTruӃ c2Next!@sible!In Tree(, (;Up)V-d- ^c/8Scr@ToView , IIf, -1`2) 'C-ve means will s won't changeQNPvis Oa#VroPageop'storc]f's vertical posi to resa similar in `keyup5mGYsngCTlopDB.- 1) *deHeight -B GCont7.7@ > 0, AW'<In,siF m= fO9׶*00?lqgEsca_MoveCopyJ(b)`, OG @Space [PBT=ggle`Xe ckbox[th sK ,Ch``Boxes sQt0'- ' Procedu MF: Comy@: JKP ApplN"NDev elopm S ervic@-(cA Authorpan Karel Pie(www.jkpP-adsm2Cred17-01-2013b urU1&: H0lsQSJotPs ulefÊr2Qarrow `Xs1 5movQup/~d[e?5APlso ldA f(old= w y ou dnumeric .  -s=Dim lIdxq$LongW YNewFaS lC7zi'PT P -kwasn0ppG@some o r cch, e2gA E/6rEd itT $tabb!uqt ('`(nCEx8'K^=BA&%=- 48>0 OrZv)€H=OU1'WPUsL l{Ǫ9p>9To8 ;RF230@' F2 &6 @/$ nu (?),.mbLabela)o{?8#rLModTr ue ActiveNode.EditBox TrEnd If &Case vbKeyPa geUp,Down <' PT a~ate n in the same position as previou s.e+when scrolling ZWith Me.TreeC8ont$ sn gNewS To`p = .l(Idx(+ "m Vis!) / Height + 1 $If (&- 1() *<A T?p\E2Else4 1> .Inside)G=-%bMA&>0 1 AB)<= mlQCountT" Orde rR)O#Set CGmmcolfsQ .Home_ K4CA=CA 1 -1 Ae?E; 8@Index <>Ӎ{Db I9&Select#Ta@Not / Isy@]thu;&.cX@1 A) i Sub 820-0000-0000-C000-000000000046}@(%H@0)XxAttribute VB_Name = "She@et6" Bast0{00020820- C$0046} |Global!SpacFalse dCreatablPre declaIdTru BExposeTemplateDeriv$Bustom izD20* pHd VBAProject4@j = r )X J< rstdole>stdole h%^*\G{00020430-C 0046}#2.0#0#C:\WINDOWS\syst em32\e2.tlb#OLE Automation`EOffDicEOficEE2DF8D04C-5BFA-101B-BDE5EAAC42Egram Files\CommonMicrosoft Shared\OFFICE11\MSO.0DLL#M 1@5.0 Ob LibraryK`MSXML2MSXMPL2lb`F5078F18-C551-11D3-89B9BSF81FE2 21}#VBAProject`stdole``Officeu`MSXML2O`MSFormsC` ThisWorkbook|` _Evaluate` Sheet1`Worksheet_SelectionChange4`TargetF`Range `i``itemCnt\`row` (dataRowStart`Columnsp9`count0v`RowsU` (initializeN`MsgBoxR` vbExclamation` (MSG_TITLE`Columni` frmTree`Captionx`Show`vbModalt`TextBox1S`ListBox1`Clear`CommandButton1|`Enabled۪`Worksheet_ChangeS`ex&]`(rowCnt`dxStrs`codeStrZp`preCode`Cells` Validation `Deletex`Trim@`Sheets ` (dicSheetName_`(dicCheckDataRowr` (codeDataColPN`Right ` SelectionZ`Addr`xlValidateListĤ` AlertStyle7`xlValidAlertStop`Operatork` xlBetweenk`Formula1` IgnoreBlankR`InCellDropdown9` InputTitleA` ErrorTitle(` InputMessageR\` ErrorMessagef`IMEMode i`xlIMEModeNoControl` ShowInput` ShowError` Sheet2` clsTreeNode` mItemName!X`mChFlg` mChildren` CollectionW`itemName[` sItemNamey`chFlg`bChFlg`children>` oChildren` MainFunc`(main,` (mainSheetName+` (msgSheetName'`AfterX`(clearLogI` (curMsgRow/` currowindexZ{`dicValue` dicRowIndex`checko` UsedRangeȉ`(writeLog{u`IsDate2`(IDcheckg`Split)` vbInformationn`ActiveWorkbook`Save`Visible` UtilFuncK`contentl`(getValueColumnCount2` sheetName6`Index`title~`(findDicAndSetProp` valueColumnX@`(!TypeValueColumn>`valueDicColumnNameK` valueValiXml9` columnIndexP` columnNamew`dicColumnIndexu` dicColumnName5`xmlParse6`ID]`sj`e\`zq`oldID` IsNumeric$*` DateValue/`Val`UCase5 `(colCnt `colH`NumberFormatLocal)`(treeList-`colIndex`colName`yxdxF`xzfs0`(setTree&`tree`(!TypeTree`pCnt`lastChar`child`nodeB<` Sheet5` Declaration^`zdlxF`zdmcF`sfbtz`rqgs(^`zdcdnE`cczd`ZDGLKZ!`ZDLDKZ`tsjy`bkzx9`xsfs ` frmFuXuanH`CommandButton2_Click`Hide9z`CommandButton3_ClickFA` ActiveCell`UserForm_ActivateZs`ja`kb`strItem` MultiSelect`fmMultiSelectMulti+` ListStyle`fmListStyleOptionĕ`fxList` RowSource2`Address` ColumnHeadsֻ` ListCount6`List*`SelectedY`CommandButton2}`SetFocus`CommandButton1_Click`str`aX`itemz`wu_`mcTreȇ` clsTreeViewv`mbExity` mlCntChildrent`mlDemoNo?`xfFlg*`dxFlg` treeIndexjx`AppNameKp` mcPtPixel`TreeView1_BeforeLabelEditw`Cancel`strCell`xNode` clsNodeN`ValueK`UserForm_Initialize5c`Nodes_`checked0` getNodeByKey_ ` ActiveNodePj` ScrollToViewA` frmImageBoxd` frTreeControl`FontU`Size` DebugMode` gFormInitq`objCtl|&`Co      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ay *\G{000204EF-0000-0000-C000-000000000046}#4.0#9#C:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\VBE6.DLL#Visual Basic For Applications*\G{00020813-0000-0000-C000-000000000046}#1.5#0#C:\Program Files\Microsoft Office\OFFICE11\EXCEL.EXE#Microsoft Excel 11.0 Object Library*\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\WINDOWS\system32\stdole2.tlb#OLE Automation(*\G{2DF8D04C-5BFA-101B-BDE5-00AA0044DE52}#2.3#0#C:\Program Files\Common Files\Microsoft Shared\OFFICE11\MSO.DLL#Microsoft Office 15.0 Object Library*\G{F5078F18-C551-11D3-89B9-0000F81FE221}#6.0#0#C:\WINDOWS\system32\msxml6.dll#Microsoft XML, v6.0*\G{0D452EE1-E08F-101A-852E-02608C4D0BB4}#2.0#0#C:\WINDOWS\system32\FM20.DLL#Microsoft Forms 2.0 Object Library*\G{051E1AA9-998D-497E-96F6-CB7604F73C0C}#2.0#0#C:\DOCUME~1\user\LOCALS~1\Temp\VBE\MSForms.exd#Microsoft Forms 2.0 Object Library.E .`M   )X   û ThisWorkbook0158fa2678ThisWorkbookm- Sheet10258fa2678 Sheet1< Sheet20358fa2678 Sheet2W0-clsTreeNode0B58fa2680clsTreeNodevHm MainFunc0358fa268aMainFuncKf`LUtilFunc0758fa26b6UtilFuncx# Sheet50758fa2678 Sheet5:%-Declaration0858fa26b6 DeclarationHfrmFuXuan0958fa26789frmFuXuanA0frmTree0:58fa2678;frmTreecSclsNode0;58fa2678clsNodeJclsTreeView0<58fa2678qclsTreeView& Sheet60>58fa2678  Sheet6.38- X`8xH0BٯINvpC¡0-!IX,ZVLr;A\SR*gD;mZLr?^NG01ImAOsJj̝h/jItf2u1ĠI7N)C; hC~"Pz=O,;0GBJ%\pcLL\}IS9M)Q text Excel+` VBA`Win16~`Win32`Mac`VBA6#` ntrol`Height|` BackColorރ`labInfo>`ControlsK`Top5`TypeName`Initialize_sub2` MultiPage14?`UserForm_TerminatelD` gFormTerm` ClassCounts:r` cmdStop_Click` NodesClearN`UserForm_QueryClose` CloseMode؟` TerminateTreeL`cRootX`cNode` cExtraNodeL`XfCheck9` CheckBoxes̍`orgTreeZ`lbl_Debug_TreeS` TreeControlb`AddRoot`sKeyh`vCaptionUX`Bold`ControlTipText8`AddChild38`Key`Expanded`Refresh`errHJ[`Erro`SourceG` Description `mcTree_DblClickKC` ChildNodes5` mcTree_Clickڮ`TextBox1_Change=`cnt+`AddItem `filterTreeItem`treeNodeE`ListBox1_DblClickȄ` ReturnBooleane`ListBox1_Click `ListBox1_ItemCheck`viewI` orgChildrenoq` mbExpanded `mcolChildNodes~` moParentNode}`moLastActiveNode0`moTreeh`msKey) ` mvCaption*E`msControlTipText` mlChecked`mnIndexA` mlVisIndex` mvIconMainKey#`mvIconExpandedKey]` mlIconCnt` msngTextWidth` mlBackColor`mbBold ` mlForeColor>`mvTag` mctlControl`Labela` mctlExpander` moEditBox`TextBoxQ` mctlCheckBoxb`mctlExpanderBox0` mctlVLine׳` mctlHLine`mctlIcon]`Image` ( ndSortOrderJ`  ndAscending`  ndDescending`( ndCompareMethod`  ndBinaryCompare^`  ndTextCompare-`( ndMouse`  ndDown&`  ndUp`  ndMove)`  ndBeforeDragOverI%`  ndBeforeDropOrPaste]` mcFullWidth$` moLabSizer`mcBreaku`lColor*`bBold/`sngWde`AutoSize!`vChecked`bFlagG` bTriState`lChecked`cChild;`VarTypep` vbBoolean/B`IsNull`Changed`UpdateCheckboxE` ParentNode`CheckTriStateParentJ!`CheckTriStateChildren` colChildNodes|h`sControlTipText` bExpandedh`ExpanderΉ`UpdateExpanded` bControlOnlyT` ForeColor` FirstSiblings`GetChildT` LastSiblingx` ImageExpandedi`vImageExpanded`errExitG` IsMissing`IsEmpty ` ImageMain` vImageMainr` ImageUpdate4` bFullWidthAs`vKeyT`pic` StdPicture `hasIconn` GetNodeIconÓ`Icona!`Picture*` bIsInMainCols3`cTmp`Raise`Removeϱ`Number-`Level`lLevel}`NextNode` oParentNode{-`Previous:b`rootT`Tag&`vTag`Sort`ndOrder(` ndComparey` sCaptionsB`lStart@`lLastU`colNodes&` bIsUnSorted*`idxӝ`BinarySortIndexTextb`100o`101p`Erli` vbObjectError ` ChildIndex`lCt`FullPath+`errDoneR`lIdx`vbString`e` ctlControl`VisIndexO` lVisIndex`oTree`Checkboxi{`oCtlJ` ctlExpanderz` ExpanderBox`ctlExpanderBoxC|`HLine`ctlHLineü`ctlIcon1` TextWidthB` sngTextWidth`VLine]`ctlVLine` alChecked 6`EditBoxO ` bEnterEdit7`wd_`ht]`WordWrap` BorderStyleS`fmBorderStyleSingleK`moEditBox_Changef`ZOrder`SelStartZ` SelLength` RemoveChild`bReverseq`RemoveNodeControlsJ`DeleteNodeControls3` TerminateNode`bDeleteNodeControls`lEnd|`lSmall?`lLarge`sMid`lTmp` bClearIndex;`GetCheckboxIcon>[`IIfz` vbWindowTextx`NodeEventRouter܍`GetExpanderIcon_`mctlCheckBox_Click`EditMode X`mctlControl_Clickx`fmBorderStyleNone`mctlControl_DblClickJ`bDummy_`EnableLabelEdit``  tvDblClick!`mctlControl_MouseDownlu`Button`Shift`xo`Yl` vbHighlightg` BorderColor`mctlControl_MouseUp` bMouseIsOver<` bMoveCopyAS` MoveCopyNodeG`mctlExpander_Clickwf`ub`_`lSelSt`lRows`sngMaxW`sngMaxHt4r`sngMaxR`sngVisR` sngIdealL` sngIdealTop`sEdit}`splt'`vm`splt2+`bExit:`cPad` InsideWidthl` ScrollHeight(j` InsideHeight` ScrollWidthbu` ScrollLeftS` vbNewLineua`vbCr$`vbLfT%` MultiLine`done `moEditBox_KeyDown/`KeyCode` ReturnInteger`bCancel `bSort` bMultiLineS2`sNewText` vbKeyReturn` vbKeyEscape=Y`RaiseAfterLabelEdit!`Replacef`vbCrLf` FullWidth?` SetScrollbars`Class_Initializen` gClsNodeInit`Class_TerminateP` gClsNodeTermV'` HostProjectI`Frame` mbInActiveZ`mbAlwaysRedesignsK` mbAutoSort` mbChanged` mbXfCheck(` mbCheckboxes k` mbLabelEdit^` mbTriState `mbCheckboxImage` mbEditModeW` mbFullWidth` mbGotIconsF`mbExpanderImagezI` mbKeyDownO`mbMove` mbMultiLinej` mbRedesign*g` mbRootButtonT`mbShowExpanderss` mbShowLines^` mlLabelEdity` mlLineColorx`mlNodesCreatedC`mlNodesDeleted+x` mlVisCountJ` mlVisOrder` msAppNameoZ` msngChkBoxPadn`msngChkBoxSize^2` msngIndentz` msngLineLeftK`msngNodeHeight|` msngRootLinex` msngTopChk>` msngTopExpBnA` msngTopExpTA` msngTopHV` msngTopIcon` msngTopLabel,\` msngVisTop` msngMaxWidthsD` moActiveNode` moEditNodej` moMoveNode` moRootHolderO` mcolIcons@` mcolNodesu"`moCheckboxImageJ`moExpanderImageB`moForm,`Form`UserFormN`( tvMouse`  tvClick`  tvDown`  tvMove`  tvUp$`( tvTreeRelationshipg`  tvFirsth`  tvLast~`  tvNext `  tvPrevious`  tvChildK`Click`DblClick` NodeCheck`AfterLabelEdit` NewString+`KeyDown.a`POINTAPI`VBA7#`PtrSafeJo` GetCursorPosL`lpPoint]` user32.dll ` SetCursorPosM` getTickCount` kernel32.dll]`mcCheckboxFontCA` mcCheckboxPad`mcCheckboxPadImg` mcChkBoxSizeS`mcExpanderFontd` mcExpButSize` mcExpBoxSize` mcIconPad#` mcIconSize(`mcTLpadA` mcLineLeftJ`mcPtPxl*`SYMBOL_CHARSETQ`mcSourceL` oActiveNodez`SetActiveNodeColor`ResetActiveNodeColor` BuildRootJ` ExpandNodeZ>`sAppName^`bChangedE`bXfCheck+` bCheckboxesJ`bOrig` bOrigTriState`frmÏ`ImageAdd`sNamed`Images` objImages}`sDesc`obj`200` Indentation` sngIndent<`sngOldF` bAutoSortƪ` bLabelEditP` LabelEdit` nLabelEdit}` LineColorL`vbInfoBackgroundw`vbWhite^K` vbScrollBars`bMove9`lOrigBackcolor%` NodeHeightm3` sngNodeHeight[g` RootButton` lRootLeaderG'` RootNodesY#` ShowExpanders-`bShowExpanders8` ShowLines` bShowLines` CheckboxImageY`picFalse`picTrue` picTriState` EnterExity` ExpanderImage`picMinus`picPlus` ExpandToLevel>`lExpansionLevelk` bReActivate`SetTreeExpansionLevel`Copyƿ`cSource c`cDest`vBeforeH/`vAftervu` bShowErrorQ`lParentCheckedr`Clone`Move>y`sErrDescx` bIsParentb` cSourceParentn` AddNodeToCol/`NodeAddq` vRelative` vRelationshipf` cRelative`cParentp`before` NodeRemoveY` lNodeCtlsOrig` cNodeAbove`cNd`NextVisibleNodeInTree(8`bUpz` ScrollBars`fmScrollBarsNone` ScrollTopl-`bInit` Application*`Cursorl` xlDefaultwQ` Top1Bottom2`bCollapseOthers` bIsVisible;i` bWasCollapsed`sngTopRa`sngBot`sngVisHt` sngScrollTop `fmScrollBarsBothi`fmScrollBarsHorizontal` bRecalcWidths-'`bSetScrollDims~Z`bars`RecalcMaxTextWidth` MaxNodeWidth+ `fmScrollBarsVertical_` bEditMode`sControlV`lAction5` lngViewable` cLastChild'` NodeIsVisible` UniqueKeyh`TreeControl_Click`gClsTreeViewInit`gClsTreeViewTerm`cAddNode`bTreeCol`pos` bCursorWaithW` bTriStateOrig`lLastRootVisIndexV`sngActiveNodeScrollTopI` sngChkBoxPad `sngHeightAllNodesd` sngIconPadw`objCtrl`pt^`vIconKey+`sCapF` sngTickCntX:`locErr'`Win64x`TimerX`EnableCancelKey`xlErrorHandler`DoCmdƧ` Hourglassb`Systema` wdCursorWait`xlWait`Round75d`PicturePositionCd`fmPicturePositionLeftCenter+` TextAlign x`fmTextAlignCenter` BackStyleq`fmBackStyleTransparenty`fmPicturePositionLeftTop`CharsetQ#`FontSize`vbWindowBackground$` BuildTree`Parent`wdCursorNormalS` xlInterruptoJ` lMaxLevelf` lVLineTopIdx`fmBackStyleOpaque`BuildNodeControlsQ`fmPicturePositionLeftBottom`cCloner`sngMax9` cStartNoded`lStepw`lNextVis5` lngCntVisible$_` idxFirstVisl` idxLastVis `lBColor%`lFColor` bInactivex` ActiveControly`vbHighlightTextS` lCurLevel`TreeControl_KeyDown` sngVisTop` vbKeyLefty` vbKeyRight@`vbKeyF2`vbKeyUp` vbKeyDown ` vbKeyPageUp;=` vbKeyPageDown` vbKeySpacen`TreeControl_KeyUpe`sngNewScrollTop1`vbKey0ϕ` vbKeyHome0!`vbKeyEnd^`Sheet4` Sheet6`Workbookk`Class` Worksheet`q !'; 9     (  @8@H" @ dir__SRP_0 __SRP_1 frmFuXuan;:$P"6VSmsxml6.dll(, v @MSForms>$Fwrms3@#0D452EE1-E0D8FTA-8-02608C4D0BB4wFM260LKB J/;"1IACA0}#0A#G 50 B51E1AA9-998D-497E-96F6-CB7604F 73C0C6DOCUME~1\user\LOCALS@Temp\VBE6.exdH^; .E .`M  ûoThisWorkbookG`*Tpi`5W6kbok2` H1-"E,m""+ƒSheetT1G Seqt1 2  < 2 2 2 2W clsTreeNodeGsTDreN.di 2mR v( e.MainFuncGainFuc !i2r/L/Kf! kUtilgU~i"kecmo`wmMkI5m?j5i?5m?5?b[:%o?Declarc?D =ca?aBo@.c?c?ɯ//!frmFuXuanG`f0jmBXarj2Ko"ntA0'"cp1G"cS0 2cS88js8l' J=View@eV@8ew(@@? &Y~W? W616U1616_^8.3SGFK*yrU~~~~~~~~~~~~~~~~~~~6 VPC2Dq[     )Aa ) Ayy! VBAProject ThisWorkbookSheet1Sheet2 clsTreeNodeMainFuncUtilFuncSheet5 Declaration frmFuXuanfrmTreeclsNode clsTreeView ExcelSheet4Sheet6F /C:\PROGRA~1\COMMON~1\MICROS~1\VBA\VBA6\VBE6.DLLVBA  1`FC:\WINDOWS\system32\FM20.DLL4C:\Program Files\Microsoft Office\OFFICE11\EXCEL.EXEExcel  p0FC:\WINDOWS\system32\stdole2.tlbstdole aL-[DR?C:\Program Files\Common Files\Microsoft Shared\OFFICE11\MSO.DLLOffice Q!C:\WINDOWS\system32\msxml6.dllMSXML2 a.E .`M MSForms  ~Iv< .C:\DOCUME~1\user\LOCALS~1\Temp\VBE\MSForms.exd y main  Access Word Oo`Gl;` W[xQy hg~g penchg "", , DD@@,  $(,048< ,, !!hi 3$Ye^cfN{v clearLogwriteLoggetValueColumnCountfindDicAndSetPropIDcheck initializesetTree "",  ,, !i %h SrU content sheetName valueColumnIDtreecolb(H  @ }O%+R KQ_ (2DLabel1nc (( bv^Oo` SY ]5"[SO(nx[kXQ |u"[SO(Sm{u"[SO(nzzpenc |u"[SO`u l5fMo CompObjaVBFrame4"[SO,4CommandButton1{&,0CommandButton2&,4CommandButton3]&$0ListBox1{"  Microsoft Forms 2.0 Embedded Object9qVERSION 5.00 Begin {C62A69F0-16DC-11CE-9E98-00AA00574A4F} frmFufrmTree"P"PVfo!4i02%pFz?aP"P"ncDeclarationDeclarationfrmFuXuanfrmFuXuanfrmTreefrmTreeclsNodeclsNodeclsTreeViewclsTreeViewclsTreeNodeclsTreeNodeSheet5Sheet5Sheet6Sheet6ID="{00000000-0000-0000-0000-000000000000}" Document=ThisWorkbook/&H00000000 Document=Sheet1/&H00000000 Document=Sheet2/&H00000000 Module=MainFunc Module=UtilFunc Module=Declaration BaseClass=frmFuXuan BaseClass=frmTree Class=clsNode Class=clsTreeView Class=clsTreeNode Document=Sheet5/&H00000000 Document=Sheet6/&H00000000 HelpFile="" Name="VBAProject" HelpContextID="0" VersionCompatible32="393222000" CMG="6361CF9A629E629E67A367A3" DPB="FAF85633F050F0500FB0F15042B5879894649F0EDB742BB5147ADE199E8C41BFD6EDECE8AE" GC="91933D3E3E3E3E3E" [Host Extender Info] &H00000001={3832D640-CF90-11CF-8E43-00A0C911005A};VBE;&H00000000 [Workspace] ThisWorkbook=0, 0, 0, 0, C Sheet1=0, 0, 0, 0, C Sheet2=0, 0, 0, 0, C MainFunc=0, 0, 0, 0, C UtilFunc=0, 0, 0, 0, C Declaration=0, 0, 0, 0, C frmFuXuan=0, 0, 0, 0, C, 22, 29, 964, 560, C frmTree=0, 0, 0, 0, C, 44, 58, 986, 589, C clsNode=0, 0, 0, 0, C clsTreeView=0, 0, 0, 0, C clsTreeNode=0, 0, 0, 0, C Sheet5=0, 0, 0, 0, C Sheet6=0, 0, 0, 0, C Oh+'0HPh| Administrator ΢йMicrosoft Excel@ȵ@| #@Ɂ}~SummaryInformation(=$DocumentSummaryInformation8(,CompObj-j՜.+,0HP X`hp x '  ú Ϣֵ ˵ ֵ!_1_1  ΧLMNOP FMicrosoft Office Excel Biff8Excel.Sheet.89qlmnopqrstuvwxyz{|}49      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdeghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`acdefghijklmnopqrstuvwxyz{|}~fo$'i04).i*WJOP"P"i05&(+i*WJOP"P"CompObjsx0fo*,Root Entry<Workbook_VBA_PROJECT_CUR" PPVBA P$Xuan Caption = "ѡϢɸѡ" ClientHeight = 6375 ClientLeft = 45 ClientTop = 330 ClientWidth = 5415 StartUpPosition = 1 ' TypeInfoVer = 11 End (H  @}_-7R KQ_@{DIAIdAljj(6(Aljj(6( ( #9MultiPage1t  pFz?aMicrosoft Forms 2.0 Embedded ObjectForms.MultiPage.19qd1W)0 bgTab3Tab45"[SO$H }W)0p$!Page1ox15$#Page2ox15 CompObjnfto-/i1502 n``P"P"CompObjnfio13CompObjo i*WJOMicrosoft Forms 2.0 Embedded Object Forms.Form.19q(,eQd"}sQ.W[5"[SOH,{5"[SO`&0&5"[SO$H }(.(2DLabel1 {$0TextBox1$ 0ListBox1q  i*WJOMicrosoft Forms 2.0 Embedded Object Forms.Form.19q$H $}(.4, #frTreeControl  n``Microsoft Forms 2.0 Embedded ObjectForms.Frame.19q,J  }(y-R KQDBTahoma Root Entry F_(KWorkbook>_VBA_PROJECT_CUR"< P iVBA P$(nx[kXQ {u"[SO(Sm{u"[SO(nzzpenc { n``Microsoft Forms 2.0 Embedded ObjectForms.Frame.19q=>?@(  } ¯NCh $& NOTE03Qg $& NOTE04Q$& OpenBook( & FolderOpenQ{(&R KQltBMv(pwp YYYYP YYYY&R KQltBMv(PYPwwPYYY𕕙YYY𕕙YYY𕕙 YY &R KQltBMv(`&&&b/&R KQltBMv(wwwwwwpppppwwwwww{pppwwww&R KQltBMv(wwwwwwwxwwwww&R KQltBMv(""""""""""/" "/" """" """" """/ ""/""""""&R KQlt6BM66(ʦ @ ` @@ @@@`@@@@`` `@`````` @` @` @` @`@@ @@@`@@@@@ @ @ @@ `@ @ @ @ @@@@ @@@@@`@@@@@@@@@`@` @`@@``@`@`@`@`@@ @@@`@@@@@@ @@@`@@@@@@ @@@`@@@@@@ @@@`@@@@ @` @ ` @@ @@@`@@@@`` `@`````` @` @` @` @` @` @ ` @@ @@@`@@@@`` `@`````` @` @` @`,&R KQlt2BM26( °xxxxxxx°xҮƨ§õxxһϵxx۵xxߵxx嵘xxxxx°xxxxxxx°,&R KQlt2BM26( °xxxxxxx°xҮƨ§õxxһϵxx۵xxߵxx嵘xxxxx°xxxxxxx°$&R KQlt2BM26( &&&&&&&&&&&&***XXXYYYYYY&&&***XXXYYY&&&***XXX&&&***&&&$&R KQlt2BM26( $&R KQltBM6( lrUtHaAb.le APixelm a@pA.*.ppmRA)W - RAPW )ImHaAg.e PDPa8taPcP*8v.raw.TGA -q Truevi s}iovn |TavrUga*.tgaTIF P-P 8TDagbgedm )ImwԉBwA&0w8/)w@+bw9wP9P8wAPP86Uw4HP8w (w!)mw PPB8wA)wط7d ww PP8 cveKgmtw4- Po rtOable G0raywma_pw*. pPgmPPNwGx4 -B PD,orbtable NetwwPork Gd0r apPC:s.g*Hi.fp         &R KQltBM6(LRTTbdT^ddnt                     &R KQltBM6( LRTdnlT^dtrtdntTbd                &R KQltBM6( LRTTbdT^\dnt\fdT^d                !!!!!!  &R KQltBM6(  􏏎qN!jIaDY>U;U;U:U:U;􏏎uQ#ULzDn;e2_,Y%U;􏏎{U$]'$x"oi`,U;􏏎Z&˩f*(&$w"k4\@􏏎]'Գmɞ,ę+*(%y>eF􏏎_(ڻtѤ.΢-ɝ,—+)GnL 􏏎a){ը/Ӧ/Ф.˟-ř+PvR#􏏎b){ݾuٷnӯḩ`ĝY|V$􏏎b)b*b*b*a)`(^(['Y&􏏎􏏎&R KQltBM6(h  􏏎􏏎􏏎¿􏏎􏏎􏏎􏏎􏏎􏏎􏏎􏏎&R KQltBM6(h  􏏎ߺ􏏎껙_JaLѹ􏏎ޕ]H_I`Ksa􏏎ުn\Gϧxg`Kտ􏏎Ȯ^Ivd􏏎q^\Gü􏏎ϸZEwe􏏎jWZDпw􏏎     !"#%&')*+,. & FolderClosed( & GreenTicksedq$f Scrollok $f XPMinuskO$f XPPlusskO{( b Win7MinussedO( b Win7Plus1sedOq(  Win7Plus2sedO , F CheckboxFalseOg ( 6 CheckboxTrueO( 6 CheckboxNullO], 6 cbxAccessNullO, cbxAccessFalseO,  cbxAccessTrueeOS u"[SOo, 4CommandButton1C3, 0CommandButton2a$C3( #frmImageBoxo&,4CommandButton3C3  Microsoft Forms 2.0 Emb