ࡱ>  wb|tv  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`acdefghijklmnopqrstuvwxyz{|}~Root Entry Fn)ޯhbrx@]WorkbookPb_VBA_PROJECT_CUR"N2`50VBA 7@* T8\pdfgf0216 Ba=  ThisWorkbook= h9,8X@"1[SO1[SO1[SO1[SO1[SO1[SO1[SO1[SO1Arial1[SO1[SO1[SO1 Arial1Arial1[SO1 [SO1h>[SO1,>[SO1>[SO1>[SO1 [SO1 [SO1 [SO14 [SO1  [SO1[SO1 [SO14 [SO1< [SO1?[SO1> [SO1  [SO1  [SO""#,##0;""\-#,##0""#,##0;[Red]""\-#,##0""#,##0.00;""\-#,##0.00#""#,##0.00;[Red]""\-#,##0.007*2_ ""* #,##0_ ;_ ""* \-#,##0_ ;_ ""* "-"_ ;_ @_ .))_ * #,##0_ ;_ * \-#,##0_ ;_ * "-"_ ;_ @_ ?,:_ ""* #,##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\-mm                                                    P P      a  ,  *   ff   `  +  )                      !  (!  !!  (   "x""7  *x  *x! 1*| 1  *|    1*| ||N}-} .00\)_ *}-} .00\)_ *}-} .00\)_ *}-} .00\)_ *}-} .00\)_ *}-} .00\)_ *}A} .00\)_ *ef;_ @_ }A} .00\)_ *ef ;_ @_ }-} .00\)_ *}A} .00\)_ *L;_ @_ }-} .00\)_ *}-} .00\)_ *}A} .00\)_ *L;_ @_ }-} .00\)_ *}-} .00\)_ *}A} .00\)_ *23;_ @_ }-} .00\)_ *}-} .00\)_ *}A}  .00\)_ *23;_ @_ }-}! .00\)_ *}}#}}$}-}%?_ *}}&}}'}A}( ?_ *;_ @_ }A}) a?_ *;_ @_ }-}* ?_ *}}}- }?_ *;_ @_   }}. ?_ *;_ @_ ??? ??? ??? ???}-}/ ?_ *}-}0 ?_ *}A}1 }?_ *;_ @_ }-}7 ?_ *}A}8 ?_ *;_ @_ }A}9 ?_ *;_ @_ }-}: ?_ *}A}; ?_ *;_ @_ }A}< ?_ * ;_ @_ }A}4 e?_ *;_ @_ }}}5 ????_ *???;_ @_ ??? ??? ???}}6 ??v?_ *̙;_ @_    }x}=?_ *̙;_   }-}> ?_ *}-}? ?_ *}-}@ ?_ *}-}A ?_ *}-}B ?_ *}-}C ?_ *}-}E ?_ *}-}J ?_ *}-}L ?_ * 20% - @wr 1; 20% - @wr 1 % 20% - @wr 2;" 20% - @wr 2 % 20% - @wr 3;& 20% - @wr 3 % 20% - @wr 4;* 20% - @wr 4 % 20% - @wr 5G. 20% - @wr 5 ef % 20% - @wr 6G2 20% - @wr 6  ef % 40% - @wr 1; 40% - @wr 1 % 40% - @wr 2G# 40% - @wr 2 L渷 % 40% - @wr 3;' 40% - @wr 3 % 40% - @wr 4;+ 40% - @wr 4 % 40% - @wr 5G/ 40% - @wr 5 L % 40% - @wr 6;3 40% - @wr 6 % 60% - @wr 1; 60% - @wr 1 % 60% - @wr 2G$ 60% - @wr 2 23ږ % 60% - @wr 3;( 60% - @wr 3 % 60% - @wr 4;, 60% - @wr 4 % 60% - @wr 5G0 60% - @wr 5 23 %! 60% - @wr 6;4 60% - @wr 6 %"~vRk #hh $h 1h 1 %h 21h 2%? &h 3h 3 'h 4h 4(]5]  %+8^ĉ %)}Y5}Y  a% *Gl;`+Gl;` %+'^, '^[0] -{c{ }% .hgUSCQ <o><MKMC type="string">f[`N~S</MKMC><WJMC type="string">WSN]N'Yf[4132010291 _411_f[`N~S</WJMC></o> f[`N~SY TY T *<?xml version="1.0" encoding="UTF-8"?> <o><BKZX type="string">0</BKZX><ZDGLKZ class="object" null="true"/><ZDLDKZ class="object" null="true"/><ZDXX class="object"><CCZD type="string">XM</CCZD><MRZ class="object" null="true"/><PCZD type="string">0</PCZD><RQGS class="object" null="true"/><SFBT type="string">1</SFBT><XSFS class="object" null="true"/><XSKD type="string">80</XSKD><YXDX class="object" null="true"/><ZDCD type="string">32</ZDCD><ZDLX type="string">0</ZDLX><ZDMC type="string">Y T</ZDMC></ZDXX></o> NNSNNS *<?xml version="1.0" encoding="UTF-8"?> <o><BKZX type="string">0</BKZX><ZDGLKZ class="object" null="true"/><ZDLDKZ class="object" null="true"/><ZDXX class="object"><CCZD type="string">SFZJH</CCZD><MRZ class="object" null="true"/><PCZD type="string">0</PCZD><RQGS class="object" null="true"/><SFBT type="string">1</SFBT><XSFS class="object" null="true"/><XSKD type="string">150</XSKD><YXDX class="object" null="true"/><ZDCD type="string">18</ZDCD><ZDLX type="string">0</ZDLX><ZDMC type="string">NNS</ZDMC></ZDXX></o> _f[S 11-ZSXxvzukN 12-ZSXxvzu~N 13-ZSXxvzuN 14-UxXxvzukN 15-UxXxvzu~N 16-UxXxvzuN 17-xvzuskN 18-xvzus~N 19-xvzusN 21-'Yf[,gykN 22-'Yf[,gy~N 23-'Yf[,gyN 28-'Yf[nfskN 31-'Yf[NykN 32-'Yf[Ny~N 33-'Yf[NyN 34-ؚI{LbkN 35-ؚI{b^kN91--NI{^f[!h|^?Q^f[!h kN92--NI{^f[!h|^?Q^f[!h ~N93--NI{^f[!h|^?Q^f[!h N 41--NI{NykN 42--NI{Ny~N 43--NI{NyN 44-LNؚ-NkN 45-LNؚ-N~N 46-LNؚ-NN 47-b]f[!hkN 48-b]f[!h~N 49-b]f[!hN 61-nfؚ-NkN 62-nfؚ-N~N 63-nfؚ-NN71-R-NkN73-R-NN81-\f[kN83-\f[N99-vQN0-e_f[S *<?xml version="1.0" encoding="UTF-8"?> <o><BKZX type="string">0</BKZX><SJG class="array"><e class="object"><name type="string">11-ZSXxvzukN</name><pId type="string"/></e><e class="object"><name type="string">12-ZSXxvzu~N</name><pId type="string"/></e><e class="object"><name type="string">13-ZSXxvzuN</name><pId type="string"/></e><e class="object"><name type="string">14-UxXxvzukN</name><pId type="string"/></e><e class="object"><name type="string">15-UxXxvzu~N</name><pId type="string"/></e><e class="object"><name type="string">16-UxXxvzuN</name><pId type="string"/></e><e class="object"><name type="string">17-xvzuskN</name><pId type="string"/></e><e class="object"><name type="string">18-xvzus~N</name><pId type="string"/></e><e class="object"><name type="string">19-xvzusN</name><pId type="string"/></e><e class="object"><name type="string">21-'Yf[,gykN</name><pId type="string"/></e><e class="object"><name type="string">22-'Yf[,gy~N</name><pId type="string"/></e><e class="object"><name type="string">23-'Yf[,gyN</name><pId type="string"/></e><e class="object"><name type="string">28-'Yf[nfskN</name><pId type="string"/></e><e class="object"><name type="string">31-'Yf[NykN</name><pId type="string"/></e><e class="object"><name type="string">32-'Yf[Ny~N</name><pId type="string"/></e><e class="object"><name type="string">33-'Yf[NyN</name><pId type="string"/></e><e class="object"><name type="string">34-ؚI{LbkN</name><pId type="string"/></e><e class="object"><name type="string">35-ؚI{b^kN</name><pId type="string"/></e><e class="object"><name type="string">91--NI{^f[!h|^?Q^f[!h kN</name><pId type="string"/></e><e class="object"><name type="string">92--NI{^f[!h|^?Q^f[!h ~N</name><pId type="string"/></e><e class="object"><name type="string">93--NI{^f[!h|^?Q^f[!h N</name><pId type="string"/></e><e class="object"><name type="string">41--NI{NykN</name><pId type="string"/></e><e class="object"><name type="string">42--NI{Ny~N</name><pId type="string"/></e><e class="object"><name type="string">43--NI{NyN</name><pId type="string"/></e><e class="object"><name type="string">44-LNؚ-NkN</name><pId type="string"/></e><e class="object"><name type="string">45-LNؚ-N~N</name><pId type="string"/></e><e class="object"><name type="string">46-LNؚ-NN</name><pId type="string"/></e><e class="object"><name type="string">47-b]f[!hkN</name><pId type="string"/></e><e class="object"><name type="string">48-b]f[!h~N</name><pId type="string"/></e><e class="object"><name type="stri< ng">49-b]f[!hN</name><pId type="string"/></e><e class="object"><name type="string">61-nfؚ-NkN</name><pId type="string"/></e><e class="object"><name type="string">62-nfؚ-N~N</name><pId type="string"/></e><e class="object"><name type="string">63-nfؚ-NN</name><pId type="string"/></e><e class="object"><name type="string">71-R-NkN</name><pId type="string"/></e><e class="object"><name type="string">73-R-NN</name><pId type="string"/></e><e class="object"><name type="string">81-\f[kN</name><pId type="string"/></e><e class="object"><name type="string">83-\f[N</name><pId type="string"/></e><e class="object"><name type="string">99-vQN</name><pId type="string"/></e><e class="object"><name type="string">0-e</name><pId type="string"/></e></SJG><ZDGLKZ class="array"><e class="object"><bntx class="array"><e type="string">_f[SvV[0W:S </e><e type="string">_f[Svb!hb:gg</e><e type="string">@bf[NN</e><e type="string">eQf[t^g</e><e type="string">kNt^g</e></bntx><btx class="array"/><fbtx class="array"/><zdxz type="string">0-e</zdxz></e></ZDGLKZ><ZDLDKZ class="object" null="true"/><ZDXX class="object"><CCZD type="string">HDXL</CCZD><CCZD2 type="string">HDXL</CCZD2><HZSJFH class="object" null="true"/><HZSJZD class="object" null="true"/><MRZ class="object" null="true"/><PCZD type="string">1</PCZD><QZSJFH class="object" null="true"/><QZSJZD class="object" null="true"/><RQGS class="object" null="true"/><SFBT type="string">1</SFBT><XSFS type="string">1</XSFS><XSKD type="string">100</XSKD><XZFS type="string">1</XZFS><YXDX type="string">0</YXDX><ZDCD class="object" null="true"/><ZDLX type="string">1</ZDLX><ZDMC type="string">_f[S</ZDMC><ZDZ class="object" null="true"/><ZXZ class="object" null="true"/></ZDXX></o> _f[SvV[0W:S 156--NV344-/n446-o158-S~n276-_V250-lV826-V840-V392-e,g036-o'Y)RN533-?]004-?[Wl024-[Tb660-[-Wb 008-?\]<\N020-[S\ 530-w^\[vRe784-?TK032-?9h^051-N<\N 016-^\(idN010-WSg2m 260-l^\WS萆0W 028-[ctT]^040-eY0W)R031-?^Xbu108-^056-k)Re204-[ 854-^W~l"}050-_[RbV100-OR)RN048-]g044-]Tl070-lў112-}vOWe084-/O)RyQ060-~vUa'Y068-s)R~N076-]052-]]Ye288-R~292-v^W@324-QQN312-t_Wnf270-QkN 624-QQNk~ 226-dSQQN300- ^J308- <o><BKZX type="string">1</BKZX><SJG class="array"><e class="object"><name type="string">156--NV</name><pId type="string"/></e><e class="ob< ject"><name type="string">344-/n</name><pId type="string"/></e><e class="object"><name type="string">446-o</name><pId type="string"/></e><e class="object"><name type="string">158-S~n</name><pId type="string"/></e><e class="object"><name type="string">276-_V</name><pId type="string"/></e><e class="object"><name type="string">250-lV</name><pId type="string"/></e><e class="object"><name type="string">826-V</name><pId type="string"/></e><e class="object"><name type="string">840-V</name><pId type="string"/></e><e class="object"><name type="string">392-e,g</name><pId type="string"/></e><e class="object"><name type="string">036-o'Y)RN</name><pId type="string"/></e><e class="object"><name type="string">533-?]</name><pId type="string"/></e><e class="object"><name type="string">004-?[Wl</name><pId type="string"/></e><e class="object"><name type="string">024-[Tb</name><pId type="string"/></e><e class="object"><name type="string">660-[-Wb</name><pId type="string"/></e><e class="object"><name type="string">008-?\]<\N</name><pId type="string"/></e><e class="object"><name type="string">020-[S\</name><pId type="string"/></e><e class="object"><name type="string">530-w^\[vRe</name><pId type="string"/></e><e class="object"><name type="string">784-?TK</name><pId type="string"/></e><e class="object"><name type="string">032-?9h^</name><pId type="string"/></e><e class="object"><name type="string">051-N<\N</name><pId type="string"/></e><e class="object"><name type="string">016-^\(idN</name><pId type="string"/></e><e class="object"><name type="string">010-WSg2m</name><pId type="string"/></e><e class="object"><name type="string">260-l^\WS萆0W</name><pId type="string"/></e><e class="object"><name type="string">028-[ctT]^</name><pId type="string"/></e><e class="object"><name type="string">040-eY0W)R</name><pId type="string"/></e><e class="object"><name type="string">031-?^Xbu</name><pId type="string"/></e><e class="object"><name type="string">108-^</name><pId type="string"/></e><e class="object"><name type="string">056-k)Re</name><pId type="string"/></e><e class="object"><name type="string">204-[</name><pId type="string"/></e><e class="object"><name type="string">854-^W~l"}</name><pId type="string"/></e><e class="object"><name type="string">050-_[RbV</name><pId type="string"/></e><e class="object"><name type="string">100-OR)RN</name><pId type="string"/></e><e class="object"><name type="string">048-]g</name><pId type="string"/></e><e class="object"><name type="string">044-]Tl</name><pId type="string"/></e><e class="object"><name type="string">070-lў</name><pId type="string"/></e><e class="object"><name type="string">112-}vOWe</name><pId type="string"/></e><e class="object"><name type="string">084-/O)RyQ</name><pId type="string"/></e><e class="object"><name type="string">060-~vUa'Y</name><pId type="string"/></e><e class="object"><name type="string">068-s)R~N</name><pId type="string"/></e><e class="object"><name type="string">076-]</name><pId type="string"/></e><e class="object"><name type="string">052-]]Ye</name><pId type="string"/></e><e class="object"><name type="string">288-R~</name><pId type="string"/></e><e class="object"><name type="string">292-v^W@</name><pId type="string"/></e><e class="object"><name type="string">324-QQN</name><pId type="string"/></e><e class="object"><name type="string">312-t_Wnf</name><pId type="string"/></e><e class="object"><name type="string">270-QkN</name><pId type="string"/></e><e class="object"><name type="string">624-QQNk~</name><pId type="string"/></e><e class="object"><name type="string">226-dSQQN</name><pId type="string"/></e><e class="object"><name type="string">300- ^J</name><pId type="string"/></e><e class="object"><name type="string">308-<pId type="string"/></e><e class="object"><name type="string">304-<pId type="string"/></e><e class="object"><name type="string">320-qS0Wlb</name><pId type="string"/></e><e class="object"><name type="string">254-l^\-WN</name><pId type="string"/></e><e class="object"><name type="string">316-sQ\</name><pId type="string"/></e><e class="object"><name type="string">328--WN</name><pId type="string"/></e>< <e class="object"><name type="string">334-k_\TKQU~\</name><pId type="string"/></e><e class="object"><name type="string">340-*mbe</name><pId type="string"/></e><e class="object"><name type="string">191-KQW0WN</name><pId type="string"/></e><e class="object"><name type="string">332-wm0W</name><pId type="string"/></e><e class="object"><name type="string">348-SYr)R</name><pId type="string"/></e><e class="object"><name type="string">360-pS^<\N</name><pId type="string"/></e><e class="object"><name type="string">356-pS^</name><pId type="string"/></e><e class="object"><name type="string">086-^\pS^ m0W</name><pId type="string"/></e><e class="object"><name type="string">372-1r\pQ</name><pId type="string"/></e><e class="object"><name type="string">364- Og</name><pId type="string"/></e><e class="object"><name type="string">368- ObKQ</name><pId type="string"/></e><e class="object"><name type="string">352-Q\</name><pId type="string"/></e><e class="object"><name type="string">376-NrR</name><pId type="string"/></e><e class="object"><name type="string">380-a'Y)R</name><pId type="string"/></e><e class="object"><name type="string">388-YrpNR</name><pId type="string"/></e><e class="object"><name type="string">400-~e</name><pId type="string"/></e><e class="object"><name type="string">398-T(KQefW</name><pId type="string"/></e><e class="object"><name type="string">404-<\N</name><pId type="string"/></e><e class="object"><name type="string">417- T\ TeefW</name><pId type="string"/></e><e class="object"><name type="string">116-gW[</name><pId type="string"/></e><e class="object"><name type="string">296-W̑]e</name><pId type="string"/></e><e class="object"><name type="string">659-#WW(T<\~e</name><pId type="string"/></e><e class="object"><name type="string">410-V</name><pId type="string"/></e><e class="object"><name type="string">414-yZyr</name><pId type="string"/></e><e class="object"><name type="string">418-c</name><pId type="string"/></e><e class="object"><name type="string">422-Ξ]Z</name><pId type="string"/></e><e class="object"><name type="string">430-)Rk̑N</name><pId type="string"/></e><e class="object"><name type="string">434-)RkN</name><pId type="string"/></e><e class="object"><name type="string">591-]bl</name><pId type="string"/></e><e class="object"><name type="string">612-vyrQi`</name><pId type="string"/></e><e class="object"><name type="string">604-y</name><pId type="string"/></e><e class="object"><name type="string">608-_[</name><pId type="string"/></e><e class="object"><name type="string">585-^R</name><pId type="string"/></e><e class="object"><name type="string">598-]^NeQQN</name><pId type="string"/></e><e class="object"><name type="string">616-lpQ</name><pId type="string"/></e><e class="object"><name type="string">630-lYΞT</name><pId type="string"/></e><e class="object"><name type="string">408-g</name><pId type="string"/></e><e class="object"><name type="string">620-aYr</name><pId type="string"/></e><e class="object"><name type="string">600-]b-W</name><pId type="string"/></e><e class="object"><name type="string">275-]WefW</name><pId type="string"/></e><e class="object"><name type="string">258-l^\l)R<\N</name><pId type="string"/></e><e class="object"><name type="string">634-aSTX\</name><pId type="string"/></e><e class="object"><name type="string">638-Yu<\jl</name><pId type="string"/></e><e class="object"><name type="string">642-Wl<\N</name><pId type="string"/></e><e class="object"><name type="string">643-OWeT</name><pId type="string"/></e><e class="object"><name type="string">646-bSe</name><pId type="string"/></e><e class="object"><name type="string">682-lyr?b/O</name><pId type="string"/></e><e class="object"><name type="string">736-ς9N</name><pId type="string"/></e><e class="object"><name type="string">686-^XQR\</name><pId type="string"/></e><e class="object"><name type="string">702-eRaW</name><pId type="string"/></e><e class="object"><name type="string">239-WSTNlN\TWSQh_GY\</name><pId type="string"/></e><e class="object"><name type="string">654-#WkRb</name><pId type="string"/></e><e class="object"><name type="string">744-et\]\Tlbl^\</name><pId type="string"/></e><e class="object"><name type="string< ">090-@bW蕤\</name><pId type="string"/></e><e class="object"><name type="string">694-^Xb)Rf</name><pId type="string"/></e><e class="object"><name type="string">222-(\tY</name><pId type="string"/></e><e class="object"><name type="string">674-#WlR</name><pId type="string"/></e><e class="object"><name type="string">706-"}l̑</name><pId type="string"/></e><e class="object"><name type="string">666-#WvW\T[KQ</name><pId type="string"/></e><e class="object"><name type="string">678-#WYTnfgk</name><pId type="string"/></e><e class="object"><name type="string">740-ς̑WS</name><pId type="string"/></e><e class="object"><name type="string">703-emOKQ</name><pId type="string"/></e><e class="object"><name type="string">705-eme<\N</name><pId type="string"/></e><e class="object"><name type="string">752-^txQ</name><pId type="string"/></e><e class="object"><name type="string">748-eZXpQ</name><pId type="string"/></e><e class="object"><name type="string">690-^X \</name><pId type="string"/></e><e class="object"><name type="string">760-S)RN</name><pId type="string"/></e><e class="object"><name type="string">796-yrKQeTQye\</name><pId type="string"/></e><e class="object"><name type="string">148-MN_</name><pId type="string"/></e><e class="object"><name type="string">768-YT</name><pId type="string"/></e><e class="object"><name type="string">096-e</name><pId type="string"/></e><e class="object"><name type="string">064- N9N</name><pId type="string"/></e><e class="object"><name type="string">074-^~\</name><pId type="string"/></e><e class="object"><name type="string">072-ZS(t~</name><pId type="string"/></e><e class="object"><name type="string">140--N^</name><pId type="string"/></e><e class="object"><name type="string">124-Rb'Y</name><pId type="string"/></e><e class="object"><name type="string">166-yyeWg \</name><pId type="string"/></e><e class="object"><name type="string">756-^tX</name><pId type="string"/></e><e class="object"><name type="string">152-zf)R</name><pId type="string"/></e><e class="object"><name type="string">384-yyrt</name><pId type="string"/></e><e class="object"><name type="string">120-U</name><pId type="string"/></e><e class="object"><name type="string">180-Rgё </name><pId type="string"/></e><e class="object"><name type="string">178-Rg^ </name><pId type="string"/></e><e class="object"><name type="string">184-^KQ\</name><pId type="string"/></e><e class="object"><name type="string">170-T&OkN</name><pId type="string"/></e><e class="object"><name type="string">174-yidW</name><pId type="string"/></e><e class="object"><name type="string">132-[O_҉</name><pId type="string"/></e><e class="object"><name type="string">188-TeΞR</name><pId type="string"/></e><e class="object"><name type="string">192-S]</name><pId type="string"/></e><e class="object"><name type="string">162-#Wދ\</name><pId type="string"/></e><e class="object"><name type="string">136-_f\</name><pId type="string"/></e><e class="object"><name type="string">196-^Xfme</name><pId type="string"/></e><e class="object"><name type="string">203-wcKQ</name><pId type="string"/></e><e class="object"><name type="string">262- T^c</name><pId type="string"/></e><e class="object"><name type="string">212-Ys|<\KQ</name><pId type="string"/></e><e class="object"><name type="string">208-9N</name><pId type="string"/></e><e class="object"><name type="string">214-Ys|<\R</name><pId type="string"/></e><e class="object"><name type="string">012-?\S)RN</name><pId type="string"/></e><e class="object"><name type="string">218-StY\</name><pId type="string"/></e><e class="object"><name type="string">818-WS</name><pId type="string"/></e><e class="object"><name type="string">232-SzyȓN</name><pId type="string"/></e><e class="object"><name type="string">732-dTb</name><pId type="string"/></e><e class="object"><name type="string">724-sYr</name><pId type="string"/></e><e class="object"><name type="string">233-1rl<\N</name><pId type="string"/></e><e class="object"><name type="string">231-W^XOkN</name><pId type="string"/></e><e class="object"><name type="string">246-pQ</name><pId type="string"/></e><e class="object"><name type="string">242-eNm</name><pId type="string"/></e><e < class="object"><name type="string">238-yKQpQ\l\~~e </name><pId type="string"/></e><e class="object"><name type="string">234-lW\</name><pId type="string"/></e><e class="object"><name type="string">583-[KQW<\NT</name><pId type="string"/></e><e class="object"><name type="string">266-R</name><pId type="string"/></e><e class="object"><name type="string">268-<pId type="string"/></e><e class="object"><name type="string">144-ȇpQaS</name><pId type="string"/></e><e class="object"><name type="string">426-"}Xb</name><pId type="string"/></e><e class="object"><name type="string">440-zv[</name><pId type="string"/></e><e class="object"><name type="string">442-bSh!X</name><pId type="string"/></e><e class="object"><name type="string">428-b1~N</name><pId type="string"/></e><e class="object"><name type="string">504-idmT</name><pId type="string"/></e><e class="object"><name type="string">492-id~T</name><pId type="string"/></e><e class="object"><name type="string">498-id\Yt</name><pId type="string"/></e><e class="object"><name type="string">450-lReR</name><pId type="string"/></e><e class="object"><name type="string">462-l\N+Y</name><pId type="string"/></e><e class="object"><name type="string">484-XT</name><pId type="string"/></e><e class="object"><name type="string">584-l~\\</name><pId type="string"/></e><e class="object"><name type="string">807-lvQ</name><pId type="string"/></e><e class="object"><name type="string">662-#WbSN</name><pId type="string"/></e><e class="object"><name type="string">438-R/efeX{v</name><pId type="string"/></e><e class="object"><name type="string">466-l̑</name><pId type="string"/></e><e class="object"><name type="string">470-l3N</name><pId type="string"/></e><e class="object"><name type="string">104-8u</name><pId type="string"/></e><e class="object"><name type="string">496-S</name><pId type="string"/></e><e class="object"><name type="string">580-Sl̑N~</name><pId type="string"/></e><e class="object"><name type="string">508-QhkN</name><pId type="string"/></e><e class="object"><name type="string">478-k̑TX<\N</name><pId type="string"/></e><e class="object"><name type="string">500-yr^Xbyr</name><pId type="string"/></e><e class="object"><name type="string">474-lc<\KQ</name><pId type="string"/></e><e class="object"><name type="string">480-k̑Ble</name><pId type="string"/></e><e class="object"><name type="string">454-lb~</name><pId type="string"/></e><e class="object"><name type="string">458-legN</name><pId type="string"/></e><e class="object"><name type="string">175-l~yr</name><pId type="string"/></e><e class="object"><name type="string">516-~s|kN</name><pId type="string"/></e><e class="object"><name type="string">540-eȖY<\N</name><pId type="string"/></e><e class="object"><name type="string">562-<\e\</name><pId type="string"/></e><e class="object"><name type="string">574-yKQ\</name><pId type="string"/></e><e class="object"><name type="string">566-<\e)RN</name><pId type="string"/></e><e class="object"><name type="string">558-<\Rbt</name><pId type="string"/></e><e class="object"><name type="string">570-~W</name><pId type="string"/></e><e class="object"><name type="string">528-wpQ</name><pId type="string"/></e><e class="object"><name type="string">578-*cZ</name><pId type="string"/></e><e class="object"><name type="string">524-<\l\</name><pId type="string"/></e><e class="object"><name type="string">520-Yt</name><pId type="string"/></e><e class="object"><name type="string">554-epQ</name><pId type="string"/></e><e class="object"><name type="string">512-?f</name><pId type="string"/></e><e class="object"><name type="string">586-]WefW</name><pId type="string"/></e><e class="object"><name type="string">764-lV</name><pId type="string"/></e><e class="object"><name type="string">762-TX TKQefW</name><pId type="string"/></e><e class="object"><name type="string">772-XbKQR</name><pId type="string"/></e><e class="object"><name type="string">795-W^fefW</name><pId type="string"/></e><e class="object"><name type="string">626-N^vl</name><pId type="string"/></e><e class="object"><name type="string">776-dlR</name><pId type="string"/></e><e class="object"><name type="string">780-yrz<\TY< ]T</name><pId type="string"/></e><e class="object"><name type="string">788-z<\e</name><pId type="string"/></e><e class="object"><name type="string">792-W3vQ</name><pId type="string"/></e><e class="object"><name type="string">798-VtbS</name><pId type="string"/></e><e class="object"><name type="string">834-fWQh<\N</name><pId type="string"/></e><e class="object"><name type="string">800-LNr^</name><pId type="string"/></e><e class="object"><name type="string">804-LNKQpQ</name><pId type="string"/></e><e class="object"><name type="string">581-V,gWY\\\</name><pId type="string"/></e><e class="object"><name type="string">858-LNb-W</name><pId type="string"/></e><e class="object"><name type="string">860-LNyQ+RKQefW</name><pId type="string"/></e><e class="object"><name type="string">336-hQ</name><pId type="string"/></e><e class="object"><name type="string">670-#WehyrT<pId type="string"/></e><e class="object"><name type="string">862-YQ^tb</name><pId type="string"/></e><e class="object"><name type="string">092-^\~\N\</name><pId type="string"/></e><e class="object"><name type="string">850-^\~\N\</name><pId type="string"/></e><e class="object"><name type="string">704-WS</name><pId type="string"/></e><e class="object"><name type="string">548-tR?V</name><pId type="string"/></e><e class="object"><name type="string">876-t)ReT[V~</name><pId type="string"/></e><e class="object"><name type="string">882-(idN</name><pId type="string"/></e><e class="object"><name type="string">887-_N</name><pId type="string"/></e><e class="object"><name type="string">891-WSeb+Y</name><pId type="string"/></e><e class="object"><name type="string">710-WS^</name><pId type="string"/></e><e class="object"><name type="string">894-^kN</name><pId type="string"/></e><e class="object"><name type="string">716-%m]^</name><pId type="string"/></e></SJG><ZDGLKZ class="object" null="true"/><ZDLDKZ class="object" null="true"/><ZDXX class="object"><CCZD type="string">HDXLDGJDQ</CCZD><CCZD2 type="string">HDXLDGJDQ</CCZD2><HZSJFH class="object" null="true"/><HZSJZD class="object" null="true"/><MRZ type="string">156--NV</MRZ><PCZD type="string">0</PCZD><QZSJFH class="object" null="true"/><QZSJZD class="object" null="true"/><RQGS class="object" null="true"/><SFBT type="string">1</SFBT><XSFS type="string">1</XSFS><XSKD type="string">150</XSKD><XZFS type="string">1</XZFS><YXDX type="string">0</YXDX><ZDCD class="object" null="true"/><ZDLX type="string">1</ZDLX><ZDMC type="string">_f[SvV[0W:S </ZDMC><ZDZ class="object" null="true"/><ZXZ class="object" null="true"/></ZDXX></o> _f[Svb!hb:gg-<?xml version="1.0" encoding="UTF-8"?> <o><BKZX type="string">1</BKZX><ZDGLKZ class="object" null="true"/><ZDLDKZ class="object" null="true"/><ZDXX class="object"><CCZD type="string">HDXLDYXHJG</CCZD><CCZD2 type="string">HDXLDYXHJG</CCZD2><HZSJFH class="object" null="true"/><HZSJZD class="object" null="true"/><MRZ class="object" null="true"/><PCZD type="string">0</PCZD><QZSJFH class="object" null="true"/><QZSJZD class="object" null="true"/><RQGS class="object" null="true"/><SFBT type="string">1</SFBT><XSFS class="object" null="true"/><XSKD type="string">200</XSKD><XZFS class="object" null="true"/><YXDX class="object" null="true"/><ZDCD type="string">100</ZDCD><ZDLX type="string">0</ZDLX><ZDMC type="string">_f[Svb!hb:gg</ZDMC><ZDZ class="object" null="true"/><ZXZ class="object" null="true"/></ZDXX></o> @bf[NN<?xml version="1.0" encoding="UTF-8"?> <o><BKZX type="string">1</BKZX><ZDGLKZ class="object" null="true"/><ZDLDKZ class="object" null="true"/><ZDXX class="object"><CCZD type="string">SXZY</CCZD><CCZD2 type="string">SXZY</CCZD2><HZSJFH class="object" null="true"/><HZSJZD class="object" null="true"/><MRZ class="object" null="true"/><PCZD type="string">1</PCZD><QZSJFH class="object" null="true"/><QZSJZD class="object" null="true"/><RQGS class="object" null="true"/><SFBT type="string">1</SFBT><XSFS class="object" null="true"/><XSKD type="string">200</XSKD><XZFS class="object" null="true"/><YXDX class="object" null="true"/><ZDCD type="string">100</ZDCD><ZDLX type="string">0</ZDLX><ZDMC type="string">@bf[NN</ZDMC><ZDZ class="object" n< ull="true"/> eQf[t^geQf[t^g o (yyyy-MM)b<?xml version="1.0" encoding="UTF-8"?> <o><BKZX type="string">1</BKZX><ZDGLKZ class="object" null="true"/><ZDLDKZ class="object" null="true"/><ZDXX class="object"><CCZD type="string">RXNY</CCZD><CCZD2 type="string">RXNY</CCZD2><HZSJFH type="string">&lt;</HZSJFH><HZSJZD type="string">BYNY</HZSJZD><MAX type="string">2150-12-31</MAX><MIN type="string">1900-01-01</MIN><MRZ class="object" null="true"/><PCZD type="string">1</PCZD><QZSJFH class="object" null="true"/><QZSJZD class="object" null="true"/><RQGS type="string">yyyy-MM</RQGS><SFBT type="string">1</SFBT><XSFS class="object" null="true"/><XSKD type="string">80</XSKD><XZFS class="object" null="true"/><YXDX class="object" null="true"/><ZDCD class="object" null="true"/><ZDLX type="string">2</ZDLX><ZDMC type="string">eQf[t^g</ZDMC><ZDZ class="object" null="true"/><ZXZ class="object" null="true"/></ZDXX></o> kNt^gkNt^g o (yyyy-MM)b<?xml version="1.0" encoding="UTF-8"?> <o><BKZX type="string">1</BKZX><ZDGLKZ class="object" null="true"/><ZDLDKZ class="object" null="true"/><ZDXX class="object"><CCZD type="string">BYNY</CCZD><CCZD2 type="string">BYNY</CCZD2><HZSJFH class="object" null="true"/><HZSJZD class="object" null="true"/><MAX type="string">2150-12-31</MAX><MIN type="string">1900-01-01</MIN><MRZ class="object" null="true"/><PCZD type="string">1</PCZD><QZSJFH type="string">&gt;</QZSJFH><QZSJZD type="string">RXNY</QZSJZD><RQGS type="string">yyyy-MM</RQGS><SFBT type="string">1</SFBT><XSFS class="object" null="true"/><XSKD type="string">80</XSKD><XZFS class="object" null="true"/><YXDX class="object" null="true"/><ZDCD class="object" null="true"/><ZDLX type="string">2</ZDLX><ZDMC type="string">kNt^g</ZDMC><ZDZ class="object" null="true"/><ZXZ class="object" null="true"/></ZDXX></o> f[MOB\!k2-ZSX3-UxX4-f[Xf[MOB\!k *"<?xml version="1.0" encoding="UTF-8"?> <o><BKZX type="string">0</BKZX><ZDGLKZ class="array"><e class="object"><bntx class="array"><e type="string">f[MO Ty</e><e type="string">_f[MOvV[0W:S </e><e type="string">_f[MOvb!hb:gg</e><e type="string">f[MOcNt^g</e></bntx><btx class="array"/><fbtx class="array"/><zdxz type="string">0-e</zdxz></e></ZDGLKZ><ZDLDKZ class="array"><e class="object"><KZZD type="string">f[MO Ty</KZZD><KZZDXZ class="array"><e class="object"><name type="string">201-Tf[ZSXf[MO</name><pId type="string">2-ZSX</pId></e><e class="object"><name type="string">202-~Nmf[ZSXf[MO</name><pId type="string">2-ZSX</pId></e><e class="object"><name type="string">203-lf[ZSXf[MO</name><pId type="string">2-ZSX</pId></e><e class="object"><name type="string">204-Yef[ZSXf[MO</name><pId type="string">2-ZSX</pId></e><e class="object"><name type="string">205-ef[ZSXf[MO</name><pId type="string">2-ZSX</pId></e><e class="object"><name type="string">206-SSf[ZSXf[MO</name><pId type="string">2-ZSX</pId></e><e class="object"><name type="string">207-tf[ZSXf[MO</name><pId type="string">2-ZSX</pId></e><e class="object"><name type="string">208-]f[ZSXf[MO</name><pId type="string">2-ZSX</pId></e><e class="object"><name type="string">209-Qf[ZSXf[MO</name><pId type="string">2-ZSX</pId></e><e class="object"><name type="string">210-;Sf[ZSXf[MO</name><pId type="string">2-ZSX</pId></e><e class="object"><name type="string">211-QNf[ZSXf[MO</name><pId type="string">2-ZSX</pId></e><e class="object"><name type="string">212-{tf[ZSXf[MO</name><pId type="string">2-ZSX</pId></e><e class="object"><name type="string">213-z/gf[ZSXf[MO</name><pId type="string">2-ZSX</pId></e><e class="object"><name type="string">242-YeZSXNNf[MO</name><pId type="string">2-ZSX</pId></e><e class="object"><name type="string">243-] zZSXNNf[MO</name><pId type="string">2-ZSX</pId></e><e class="object"><name type="string">245-4N^;Sf[ZSXNNf[MO</name><pId type="string">2-ZSX</pId></e><e class="object"><name type="string">248-}Q;SZSXNNf[MO</name><pId type="string">2-ZSX</pId></e><e class="object"><name type="string">250-ST;Sf[ZSXNNf[MO</name><pId type="string">2-ZSX</pId></e></KZZDXZ><ZDXZ type="string">2-ZSX</ZDXZ></e><e class="object"><KZZD type="string">f[MO Ty</KZZD><KZZDXZ class="array"><e class="object"><name type="string">301-Tf[UxXf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="str< ing">302-~Nmf[UxXf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">303-lf[UxXf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">304-Yef[UxXf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">305-ef[UxXf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">306-SSf[UxXf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">307-tf[UxXf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">308-]f[UxXf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">309-Qf[UxXf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">310-;Sf[UxXf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">311-QNf[UxXf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">312-{tf[UxXf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">313-z/gf[UxXf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">341-l_UxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">342-YeUxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">343-] zUxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">344-^Q{f[UxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">345-4N^f[UxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">346-]FU{tUxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">347-QNc^UxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">348-}Q;SUxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">349-lQqQ{tUxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">350-ST;Sf[UxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">351-lQqQkSuUxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">352-QNUxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">353-ёUxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">354-^(u~UxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">355-zRUxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">356-VEFURUxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">357-OiUxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">358-DNċ0OUxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">359-[UxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">360->yO]\OUxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">361-fRUxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">362-SOUxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">363-IlVEYeUxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">364-^(u_tUxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">365-ыUxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">366-eN OdUxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">367-QHrUxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">368-eirNZSirUxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">369-W^ĉRUxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">370-ΘofVgUxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">371-gNUxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">372-btUxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">373-of[UxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">374--Nof[UxXNNf[MO</name><pId type="string< ">3-UxX</pId></e><e class="object"><name type="string">375-OUxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">376-e8n{tUxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">377-VfN`bUxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">378-] z{tUxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">379-z/gUxXNNf[MO</name><pId type="string">3-UxX</pId></e></KZZDXZ><ZDXZ type="string">3-UxX</ZDXZ></e><e class="object"><KZZD type="string">f[MO Ty</KZZD><KZZDXZ class="array"><e class="object"><name type="string">401-Tf[f[Xf[MO</name><pId type="string">4-f[X</pId></e><e class="object"><name type="string">402-~Nmf[f[Xf[MO</name><pId type="string">4-f[X</pId></e><e class="object"><name type="string">403-lf[f[Xf[MO</name><pId type="string">4-f[X</pId></e><e class="object"><name type="string">404-Yef[f[Xf[MO</name><pId type="string">4-f[X</pId></e><e class="object"><name type="string">405-ef[f[Xf[MO</name><pId type="string">4-f[X</pId></e><e class="object"><name type="string">406-SSf[f[Xf[MO</name><pId type="string">4-f[X</pId></e><e class="object"><name type="string">407-tf[f[Xf[MO</name><pId type="string">4-f[X</pId></e><e class="object"><name type="string">408-]f[f[Xf[MO</name><pId type="string">4-f[X</pId></e><e class="object"><name type="string">409-Qf[f[Xf[MO</name><pId type="string">4-f[X</pId></e><e class="object"><name type="string">410-;Sf[f[Xf[MO</name><pId type="string">4-f[X</pId></e><e class="object"><name type="string">411-QNf[f[Xf[MO</name><pId type="string">4-f[X</pId></e><e class="object"><name type="string">412-{tf[f[Xf[MO</name><pId type="string">4-f[X</pId></e><e class="object"><name type="string">413-z/gf[f[Xf[MO</name><pId type="string">4-f[X</pId></e><e class="object"><name type="string">444-^Q{f[f[XNNf[MO</name><pId type="string">4-f[X</pId></e></KZZDXZ><ZDXZ type="string">4-f[X</ZDXZ></e></ZDLDKZ><ZDXX class="object"><CCZD type="string">XWCC</CCZD><CCZD2 type="string">XWCC</CCZD2><HZSJFH class="object" null="true"/><HZSJZD class="object" null="true"/><MRZ class="object" null="true"/><PCZD type="string">0</PCZD><QZSJFH class="object" null="true"/><QZSJZD class="object" null="true"/><RQGS class="object" null="true"/><SFBT type="string">1</SFBT><XSFS type="string">0</XSFS><XSKD type="string">100</XSKD><XZFS type="string">1</XZFS><YXDX type="string">0</YXDX><ZDCD class="object" null="true"/><ZDLX type="string">1</ZDLX><ZDMC type="string">f[MOB\!k</ZDMC><ZDZ class="object" null="true"/><ZXZ class="object" null="true"/></ZDXX></o> f[MO Ty 201-Tf[ZSXf[MO 202-~Nmf[ZSXf[MO 203-lf[ZSXf[MO 204-Yef[ZSXf[MO 205-ef[ZSXf[MO 206-SSf[ZSXf[MO 207-tf[ZSXf[MO 208-]f[ZSXf[MO 209-Qf[ZSXf[MO 210-;Sf[ZSXf[MO 211-QNf[ZSXf[MO 212-{tf[ZSXf[MO 213-z/gf[ZSXf[MO 242-YeZSXNNf[MO 243-] zZSXNNf[MO245-4N^;Sf[ZSXNNf[MO 248-}Q;SZSXNNf[MO250-ST;Sf[ZSXNNf[MO 301-Tf[UxXf[MO 302-~Nmf[UxXf[MO 303-lf[UxXf[MO 304-Yef[UxXf[MO 305-ef[UxXf[MO 306-SSf[UxXf[MO 307-tf[UxXf[MO 308-]f[UxXf[MO 309-Qf[UxXf[MO 310-;Sf[UxXf[MO 311-QNf[UxXf[MO 312-{tf[UxXf[MO 313-z/gf[UxXf[MO 341-l_UxXNNf[MO 342-YeUxXNNf[MO 343-] zUxXNNf[MO 344-^Q{f[UxXNNf[MO 345-4N^f[UxXNNf[MO346-]FU{tUxXNNf[MO347-QNc^UxXNNf[MO 348-}Q;SUxXNNf[MO349-lQqQ{tUxXNNf[MO350-ST;Sf[UxXNNf[MO351-lQqQkSuUxXNNf[MO 352-QNUxXNNf[MO 353-ёUxXNNf[MO354-^(u~UxXNNf[MO 355-zRUxXNNf[MO356-VEFURUxXNNf[MO 357-OiUxXNNf[MO358-DNċ0OUxXNNf[MO 359-[UxXNNf[MO360->yO]\OUxXNNf[MO 361-fRUxXNNf[MO 362-SOUxXNNf[MO363-IlVEYeUxXNNf[MO364-^(u_tUxXNNf[MO 365-ыUxXNNf[MO366-eN OdUxXNNf[MO 367-QHrUxXNNf[MO368-eirNZSirUxXNNf[MO369-W^ĉRUxXNNf[MO370-ΘofVgUxXNNf[MO 371-gNUxXNNf[MO 372-btUxXNNf[MO 373-of[UxXNNf[MO 374--Nof[UxXNNf[MO 375-OUxXNNf[MO376-e8n{tUxXNNf[MO377-VfN`bUxXNNf[MO378-] z{tUxXNNf[MO 379-z/gUxXNNf[MO 401-Tf[f[Xf[MO 402-~Nmf[f[Xf[MO 403-lf[f[Xf[MO 404-Yef[f[Xf[MO 405-ef[f[Xf[MO 406-SSf[f[Xf[MO 407-tf[f[Xf[MO 408-]f[f[Xf[MO 409-Qf[f[Xf[MO 410-;Sf[f[Xf[MO 411-QNf[f[Xf[MO 412-{tf[f[Xf[MO 413-z/gf[f[Xf[MO 444-^Q{f[f[XNNf[MOf[MO Ty o!<?xml version="1.0" encoding="UTF-8"?> <o><BKZX type="string">1</BKZX><SJG class="array"><e class="object"><children class="array"><e class="object"><name type="string">201-Tf[ZSXf[MO</name><pId type="string">2-ZSX</pId></e><e class="object"><name type="string">202-~Nmf[ZSXf[MO</name><pId type="string">2-ZSX</pId></e><e class="object"><name type="string">203-lf[ZSXf[MO</name><pId type="string">2-ZSX</pId></e><e class="object"><name type="string">204-Yef[ZSXf[MO</name><p< Id type="string">2-ZSX</pId></e><e class="object"><name type="string">205-ef[ZSXf[MO</name><pId type="string">2-ZSX</pId></e><e class="object"><name type="string">206-SSf[ZSXf[MO</name><pId type="string">2-ZSX</pId></e><e class="object"><name type="string">207-tf[ZSXf[MO</name><pId type="string">2-ZSX</pId></e><e class="object"><name type="string">208-]f[ZSXf[MO</name><pId type="string">2-ZSX</pId></e><e class="object"><name type="string">209-Qf[ZSXf[MO</name><pId type="string">2-ZSX</pId></e><e class="object"><name type="string">210-;Sf[ZSXf[MO</name><pId type="string">2-ZSX</pId></e><e class="object"><name type="string">211-QNf[ZSXf[MO</name><pId type="string">2-ZSX</pId></e><e class="object"><name type="string">212-{tf[ZSXf[MO</name><pId type="string">2-ZSX</pId></e><e class="object"><name type="string">213-z/gf[ZSXf[MO</name><pId type="string">2-ZSX</pId></e><e class="object"><name type="string">242-YeZSXNNf[MO</name><pId type="string">2-ZSX</pId></e><e class="object"><name type="string">243-] zZSXNNf[MO</name><pId type="string">2-ZSX</pId></e><e class="object"><name type="string">245-4N^;Sf[ZSXNNf[MO</name><pId type="string">2-ZSX</pId></e><e class="object"><name type="string">248-}Q;SZSXNNf[MO</name><pId type="string">2-ZSX</pId></e><e class="object"><name type="string">250-ST;Sf[ZSXNNf[MO</name><pId type="string">2-ZSX</pId></e></children><name type="string">2-ZSX</name><pId type="string"/></e><e class="object"><children class="array"><e class="object"><name type="string">301-Tf[UxXf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">302-~Nmf[UxXf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">303-lf[UxXf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">304-Yef[UxXf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">305-ef[UxXf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">306-SSf[UxXf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">307-tf[UxXf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">308-]f[UxXf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">309-Qf[UxXf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">310-;Sf[UxXf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">311-QNf[UxXf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">312-{tf[UxXf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">313-z/gf[UxXf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">341-l_UxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">342-YeUxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">343-] zUxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">344-^Q{f[UxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">345-4N^f[UxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">346-]FU{tUxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">347-QNc^UxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">348-}Q;SUxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">349-lQqQ{tUxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">350-ST;Sf[UxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">351-lQqQkSuUxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">352-QNUxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">353-ёUxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">354-^(u~UxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">355-zRUxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">356-VEFURUxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">357-OiUxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name ty< pe="string">358-DNċ0OUxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">359-[UxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">360->yO]\OUxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">361-fRUxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">362-SOUxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">363-IlVEYeUxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">364-^(u_tUxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">365-ыUxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">366-eN OdUxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">367-QHrUxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">368-eirNZSirUxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">369-W^ĉRUxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">370-ΘofVgUxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">371-gNUxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">372-btUxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">373-of[UxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">374--Nof[UxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">375-OUxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">376-e8n{tUxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">377-VfN`bUxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">378-] z{tUxXNNf[MO</name><pId type="string">3-UxX</pId></e><e class="object"><name type="string">379-z/gUxXNNf[MO</name><pId type="string">3-UxX</pId></e></children><name type="string">3-UxX</name><pId type="string"/></e><e class="object"><children class="array"><e class="object"><name type="string">401-Tf[f[Xf[MO</name><pId type="string">4-f[X</pId></e><e class="object"><name type="string">402-~Nmf[f[Xf[MO</name><pId type="string">4-f[X</pId></e><e class="object"><name type="string">403-lf[f[Xf[MO</name><pId type="string">4-f[X</pId></e><e class="object"><name type="string">404-Yef[f[Xf[MO</name><pId type="string">4-f[X</pId></e><e class="object"><name type="string">405-ef[f[Xf[MO</name><pId type="string">4-f[X</pId></e><e class="object"><name type="string">406-SSf[f[Xf[MO</name><pId type="string">4-f[X</pId></e><e class="object"><name type="string">407-tf[f[Xf[MO</name><pId type="string">4-f[X</pId></e><e class="object"><name type="string">408-]f[f[Xf[MO</name><pId type="string">4-f[X</pId></e><e class="object"><name type="string">409-Qf[f[Xf[MO</name><pId type="string">4-f[X</pId></e><e class="object"><name type="string">410-;Sf[f[Xf[MO</name><pId type="string">4-f[X</pId></e><e class="object"><name type="string">411-QNf[f[Xf[MO</name><pId type="string">4-f[X</pId></e><e class="object"><name type="string">412-{tf[f[Xf[MO</name><pId type="string">4-f[X</pId></e><e class="object"><name type="string">413-z/gf[f[Xf[MO</name><pId type="string">4-f[X</pId></e><e class="object"><name type="string">444-^Q{f[f[XNNf[MO</name><pId type="string">4-f[X</pId></e></children><name type="string">4-f[X</name><pId type="string"/></e></SJG><ZDGLKZ class="object" null="true"/><ZDLDKZ class="object" null="true"/><ZDXX class="object"><CCZD type="string">XWMC</CCZD><CCZD2 type="string">XWMC</CCZD2><HZSJFH class="object" null="true"/><HZSJZD class="object" null="true"/><MRZ class="object" null="true"/><PCZD type="string">1</PCZD><QZSJFH class="object" null="true"/><QZSJZD class="object" null="true"/><RQGS class="object" null="true"/><SFBT type="string">1</SFBT><XSFS type="string">1</XSFS><XSKD type="string">100</XSKD><XZFS type="string">1</XZFS><YXDX type="string">0</YXDX><ZDCD class="object" null="true"/><ZDLX type="string">1</ZDLX><ZDMC type="string">f[MO Ty</ZDMC><ZDZ class="object" null="true"/><ZXZ class="object" null="true"/></ZDXX></o>< _f[MOvV[0W:S _f[MOvV[0W:S oJ<?xml version="1.0" encoding="UTF-8"?> <o><BKZX type="string">1</BKZX><SJG class="array"><e class="object"><name type="string">156--NV</name><pId type="string"/></e><e class="object"><name type="string">344-/n</name><pId type="string"/></e><e class="object"><name type="string">446-o</name><pId type="string"/></e><e class="object"><name type="string">158-S~n</name><pId type="string"/></e><e class="object"><name type="string">276-_V</name><pId type="string"/></e><e class="object"><name type="string">250-lV</name><pId type="string"/></e><e class="object"><name type="string">826-V</name><pId type="string"/></e><e class="object"><name type="string">840-V</name><pId type="string"/></e><e class="object"><name type="string">392-e,g</name><pId type="string"/></e><e class="object"><name type="string">036-o'Y)RN</name><pId type="string"/></e><e class="object"><name type="string">533-?]</name><pId type="string"/></e><e class="object"><name type="string">004-?[Wl</name><pId type="string"/></e><e class="object"><name type="string">024-[Tb</name><pId type="string"/></e><e class="object"><name type="string">660-[-Wb</name><pId type="string"/></e><e class="object"><name type="string">008-?\]<\N</name><pId type="string"/></e><e class="object"><name type="string">020-[S\</name><pId type="string"/></e><e class="object"><name type="string">530-w^\[vRe</name><pId type="string"/></e><e class="object"><name type="string">784-?TK</name><pId type="string"/></e><e class="object"><name type="string">032-?9h^</name><pId type="string"/></e><e class="object"><name type="string">051-N<\N</name><pId type="string"/></e><e class="object"><name type="string">016-^\(idN</name><pId type="string"/></e><e class="object"><name type="string">010-WSg2m</name><pId type="string"/></e><e class="object"><name type="string">260-l^\WS萆0W</name><pId type="string"/></e><e class="object"><name type="string">028-[ctT]^</name><pId type="string"/></e><e class="object"><name type="string">040-eY0W)R</name><pId type="string"/></e><e class="object"><name type="string">031-?^Xbu</name><pId type="string"/></e><e class="object"><name type="string">108-^</name><pId type="string"/></e><e class="object"><name type="string">056-k)Re</name><pId type="string"/></e><e class="object"><name type="string">204-[</name><pI      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuy{}~d type="string"/></e><e class="object"><name type="string">854-^W~l"}</name><pId type="string"/></e><e class="object"><name type="string">050-_[RbV</name><pId type="string"/></e><e class="object"><name type="string">100-OR)RN</name><pId type="string"/></e><e class="object"><name type="string">048-]g</name><pId type="string"/></e><e class="object"><name type="string">044-]Tl</name><pId type="string"/></e><e class="object"><name type="string">070-lў</name><pId type="string"/></e><e class="object"><name type="string">112-}vOWe</name><pId type="string"/></e><e class="object"><name type="string">084-/O)RyQ</name><pId type="string"/></e><e class="object"><name type="string">060-~vUa'Y</name><pId type="string"/></e><e class="object"><name type="string">068-s)R~N</name><pId type="string"/></e><e class="object"><name type="string">076-]</name><pId type="string"/></e><e class="object"><name type="string">052-]]Ye</name><pId type="string"/></e><e class="object"><name type="string">288-R~</name><pId type="string"/></e><e class="object"><name type="string">292-v^W@</name><pId type="string"/></e><e class="object"><name type="string">324-QQN</name><pId type="string"/></e><e class="object"><name type="string">312-t_Wnf</name><pId type="string"/></e><e class="object"><name type="string">270-QkN</name><pId type="string"/></e><e class="object"><name type="string">624-QQNk~</name><pId type="string"/></e><e class="object"><name type="string">226-dSQQN</name><pId type="string"/></e><e class="object"><name type="string">300- ^J</name><pId type="string"/></e><e class="object"><name type="string">308-<pId type="string"/></e><e class="object"><name type="string">304-<pId type="string"/></e><e class="object"><name type="string">320-qS0Wlb</name><pId type="string"/></e><e class="object"><name<  type="string">254-l^\-WN</name><pId type="string"/></e><e class="object"><name type="string">316-sQ\</name><pId type="string"/></e><e class="object"><name type="string">328--WN</name><pId type="string"/></e><e class="object"><name type="string">334-k_\TKQU~\</name><pId type="string"/></e><e class="object"><name type="string">340-*mbe</name><pId type="string"/></e><e class="object"><name type="string">191-KQW0WN</name><pId type="string"/></e><e class="object"><name type="string">332-wm0W</name><pId type="string"/></e><e class="object"><name type="string">348-SYr)R</name><pId type="string"/></e><e class="object"><name type="string">360-pS^<\N</name><pId type="string"/></e><e class="object"><name type="string">356-pS^</name><pId type="string"/></e><e class="object"><name type="string">086-^\pS^ m0W</name><pId type="string"/></e><e class="object"><name type="string">372-1r\pQ</name><pId type="string"/></e><e class="object"><name type="string">364- Og</name><pId type="string"/></e><e class="object"><name type="string">368- ObKQ</name><pId type="string"/></e><e class="object"><name type="string">352-Q\</name><pId type="string"/></e><e class="object"><name type="string">376-NrR</name><pId type="string"/></e><e class="object"><name type="string">380-a'Y)R</name><pId type="string"/></e><e class="object"><name type="string">388-YrpNR</name><pId type="string"/></e><e class="object"><name type="string">400-~e</name><pId type="string"/></e><e class="object"><name type="string">398-T(KQefW</name><pId type="string"/></e><e class="object"><name type="string">404-<\N</name><pId type="string"/></e><e class="object"><name type="string">417- T\ TeefW</name><pId type="string"/></e><e class="object"><name type="string">116-gW[</name><pId type="string"/></e><e class="object"><name type="string">296-W̑]e</name><pId type="string"/></e><e class="object"><name type="string">659-#WW(T<\~e</name><pId type="string"/></e><e class="object"><name type="string">410-V</name><pId type="string"/></e><e class="object"><name type="string">414-yZyr</name><pId type="string"/></e><e class="object"><name type="string">418-c</name><pId type="string"/></e><e class="object"><name type="string">422-Ξ]Z</name><pId type="string"/></e><e class="object"><name type="string">430-)Rk̑N</name><pId type="string"/></e><e class="object"><name type="string">434-)RkN</name><pId type="string"/></e><e class="object"><name type="string">591-]bl</name><pId type="string"/></e><e class="object"><name type="string">612-vyrQi`</name><pId type="string"/></e><e class="object"><name type="string">604-y</name><pId type="string"/></e><e class="object"><name type="string">608-_[</name><pId type="string"/></e><e class="object"><name type="string">585-^R</name><pId type="string"/></e><e class="object"><name type="string">598-]^NeQQN</name><pId type="string"/></e><e class="object"><name type="string">616-lpQ</name><pId type="string"/></e><e class="object"><name type="string">630-lYΞT</name><pId type="string"/></e><e class="object"><name type="string">408-g</name><pId type="string"/></e><e class="object"><name type="string">620-aYr</name><pId type="string"/></e><e class="object"><name type="string">600-]b-W</name><pId type="string"/></e><e class="object"><name type="string">275-]WefW</name><pId type="string"/></e><e class="object"><name type="string">258-l^\l)R<\N</name><pId type="string"/></e><e class="object"><name type="string">634-aSTX\</name><pId type="string"/></e><e class="object"><name type="string">638-Yu<\jl</name><pId type="string"/></e><e class="object"><name type="string">642-Wl<\N</name><pId type="string"/></e><e class="object"><name type="string">643-OWeT</name><pId type="string"/></e><e class="object"><name type="string">646-bSe</name><pId type="string"/></e><e class="object"><name type="string">682-lyr?b/O</name><pId type="string"/></e><e class="object"><name type="string">736-ς9N</name><pId type="string"/></e><e class="object"><name type="string">686-^XQR\</name><pId type="string"/></e><e class="object"><name type="string">702-eRaW</name><pId type="string"/></e><e class="object"><name type="string">239-WSTNlN\TWSQh_GY\</name><pId type="str< ing"/></e><e class="object"><name type="string">654-#WkRb</name><pId type="string"/></e><e class="object"><name type="string">744-et\]\Tlbl^\</name><pId type="string"/></e><e class="object"><name type="string">090-@bW蕤\</name><pId type="string"/></e><e class="object"><name type="string">694-^Xb)Rf</name><pId type="string"/></e><e class="object"><name type="string">222-(\tY</name><pId type="string"/></e><e class="object"><name type="string">674-#WlR</name><pId type="string"/></e><e class="object"><name type="string">706-"}l̑</name><pId type="string"/></e><e class="object"><name type="string">666-#WvW\T[KQ</name><pId type="string"/></e><e class="object"><name type="string">678-#WYTnfgk</name><pId type="string"/></e><e class="object"><name type="string">740-ς̑WS</name><pId type="string"/></e><e class="object"><name type="string">703-emOKQ</name><pId type="string"/></e><e class="object"><name type="string">705-eme<\N</name><pId type="string"/></e><e class="object"><name type="string">752-^txQ</name><pId type="string"/></e><e class="object"><name type="string">748-eZXpQ</name><pId type="string"/></e><e class="object"><name type="string">690-^X \</name><pId type="string"/></e><e class="object"><name type="string">760-S)RN</name><pId type="string"/></e><e class="object"><name type="string">796-yrKQeTQye\</name><pId type="string"/></e><e class="object"><name type="string">148-MN_</name><pId type="string"/></e><e class="object"><name type="string">768-YT</name><pId type="string"/></e><e class="object"><name type="string">096-e</name><pId type="string"/></e><e class="object"><name type="string">064- N9N</name><pId type="string"/></e><e class="object"><name type="string">074-^~\</name><pId type="string"/></e><e class="object"><name type="string">072-ZS(t~</name><pId type="string"/></e><e class="object"><name type="string">140--N^</name><pId type="string"/></e><e class="object"><name type="string">124-Rb'Y</name><pId type="string"/></e><e class="object"><name type="string">166-yyeWg \</name><pId type="string"/></e><e class="object"><name type="string">756-^tX</name><pId type="string"/></e><e class="object"><name type="string">152-zf)R</name><pId type="string"/></e><e class="object"><name type="string">384-yyrt</name><pId type="string"/></e><e class="object"><name type="string">120-U</name><pId type="string"/></e><e class="object"><name type="string">180-Rgё </name><pId type="string"/></e><e class="object"><name type="string">178-Rg^ </name><pId type="string"/></e><e class="object"><name type="string">184-^KQ\</name><pId type="string"/></e><e class="object"><name type="string">170-T&OkN</name><pId type="string"/></e><e class="object"><name type="string">174-yidW</name><pId type="string"/></e><e class="object"><name type="string">132-[O_҉</name><pId type="string"/></e><e class="object"><name type="string">188-TeΞR</name><pId type="string"/></e><e class="object"><name type="string">192-S]</name><pId type="string"/></e><e class="object"><name type="string">162-#Wދ\</name><pId type="string"/></e><e class="object"><name type="string">136-_f\</name><pId type="string"/></e><e class="object"><name type="string">196-^Xfme</name><pId type="string"/></e><e class="object"><name type="string">203-wcKQ</name><pId type="string"/></e><e class="object"><name type="string">262- T^c</name><pId type="string"/></e><e class="object"><name type="string">212-Ys|<\KQ</name><pId type="string"/></e><e class="object"><name type="string">208-9N</name><pId type="string"/></e><e class="object"><name type="string">214-Ys|<\R</name><pId type="string"/></e><e class="object"><name type="string">012-?\S)RN</name><pId type="string"/></e><e class="object"><name type="string">218-StY\</name><pId type="string"/></e><e class="object"><name type="string">818-WS</name><pId type="string"/></e><e class="object"><name type="string">232-SzyȓN</name><pId type="string"/></e><e class="object"><name type="string">732-dTb</name><pId type="string"/></e><e class="object"><name type="string">724-sYr</name><pId type="string"/></e><e class="object"><name type="string">233-1rl<\N</name><pId type="string"/></e><e class="object"><name t< ype="string">231-W^XOkN</name><pId type="string"/></e><e class="object"><name type="string">246-pQ</name><pId type="string"/></e><e class="object"><name type="string">242-eNm</name><pId type="string"/></e><e class="object"><name type="string">238-yKQpQ\l\~~e </name><pId type="string"/></e><e class="object"><name type="string">234-lW\</name><pId type="string"/></e><e class="object"><name type="string">583-[KQW<\NT</name><pId type="string"/></e><e class="object"><name type="string">266-R</name><pId type="string"/></e><e class="object"><name type="string">268-<pId type="string"/></e><e class="object"><name type="string">144-ȇpQaS</name><pId type="string"/></e><e class="object"><name type="string">426-"}Xb</name><pId type="string"/></e><e class="object"><name type="string">440-zv[</name><pId type="string"/></e><e class="object"><name type="string">442-bSh!X</name><pId type="string"/></e><e class="object"><name type="string">428-b1~N</name><pId type="string"/></e><e class="object"><name type="string">504-idmT</name><pId type="string"/></e><e class="object"><name type="string">492-id~T</name><pId type="string"/></e><e class="object"><name type="string">498-id\Yt</name><pId type="string"/></e><e class="object"><name type="string">450-lReR</name><pId type="string"/></e><e class="object"><name type="string">462-l\N+Y</name><pId type="string"/></e><e class="object"><name type="string">484-XT</name><pId type="string"/></e><e class="object"><name type="string">584-l~\\</name><pId type="string"/></e><e class="object"><name type="string">807-lvQ</name><pId type="string"/></e><e class="object"><name type="string">662-#WbSN</name><pId type="string"/></e><e class="object"><name type="string">438-R/efeX{v</name><pId type="string"/></e><e class="object"><name type="string">466-l̑</name><pId type="string"/></e><e class="object"><name type="string">470-l3N</name><pId type="string"/></e><e class="object"><name type="string">104-8u</name><pId type="string"/></e><e class="object"><name type="string">496-S</name><pId type="string"/></e><e class="object"><name type="string">580-Sl̑N~</name><pId type="string"/></e><e class="object"><name type="string">508-QhkN</name><pId type="string"/></e><e class="object"><name type="string">478-k̑TX<\N</name><pId type="string"/></e><e class="object"><name type="string">500-yr^Xbyr</name><pId type="string"/></e><e class="object"><name type="string">474-lc<\KQ</name><pId type="string"/></e><e class="object"><name type="string">480-k̑Ble</name><pId type="string"/></e><e class="object"><name type="string">454-lb~</name><pId type="string"/></e><e class="object"><name type="string">458-legN</name><pId type="string"/></e><e class="object"><name type="string">175-l~yr</name><pId type="string"/></e><e class="object"><name type="string">516-~s|kN</name><pId type="string"/></e><e class="object"><name type="string">540-eȖY<\N</name><pId type="string"/></e><e class="object"><name type="string">562-<\e\</name><pId type="string"/></e><e class="object"><name type="string">574-yKQ\</name><pId type="string"/></e><e class="object"><name type="string">566-<\e)RN</name><pId type="string"/></e><e class="object"><name type="string">558-<\Rbt</name><pId type="string"/></e><e class="object"><name type="string">570-~W</name><pId type="string"/></e><e class="object"><name type="string">528-wpQ</name><pId type="string"/></e><e class="object"><name type="string">578-*cZ</name><pId type="string"/></e><e class="object"><name type="string">524-<\l\</name><pId type="string"/></e><e class="object"><name type="string">520-Yt</name><pId type="string"/></e><e class="object"><name type="string">554-epQ</name><pId type="string"/></e><e class="object"><name type="string">512-?f</name><pId type="string"/></e><e class="object"><name type="string">586-]WefW</name><pId type="string"/></e><e class="object"><name type="string">764-lV</name><pId type="string"/></e><e class="object"><name type="string">762-TX TKQefW</name><pId type="string"/></e><e class="object"><name type="string">772-XbKQR</name><pId type="string"/></e><e class="object"><name type="string">795-W^fefW</name><pId type="string< "/></e><e class="object"><name type="string">626-N^vl</name><pId type="string"/></e><e class="object"><name type="string">776-dlR</name><pId type="string"/></e><e class="object"><name type="string">780-yrz<\TY]T</name><pId type="string"/></e><e class="object"><name type="string">788-z<\e</name><pId type="string"/></e><e class="object"><name type="string">792-W3vQ</name><pId type="string"/></e><e class="object"><name type="string">798-VtbS</name><pId type="string"/></e><e class="object"><name type="string">834-fWQh<\N</name><pId type="string"/></e><e class="object"><name type="string">800-LNr^</name><pId type="string"/></e><e class="object"><name type="string">804-LNKQpQ</name><pId type="string"/></e><e class="object"><name type="string">581-V,gWY\\\</name><pId type="string"/></e><e class="object"><name type="string">858-LNb-W</name><pId type="string"/></e><e class="object"><name type="string">860-LNyQ+RKQefW</name><pId type="string"/></e><e class="object"><name type="string">336-hQ</name><pId type="string"/></e><e class="object"><name type="string">670-#WehyrT<pId type="string"/></e><e class="object"><name type="string">862-YQ^tb</name><pId type="string"/></e><e class="object"><name type="string">092-^\~\N\</name><pId type="string"/></e><e class="object"><name type="string">850-^\~\N\</name><pId type="string"/></e><e class="object"><name type="string">704-WS</name><pId type="string"/></e><e class="object"><name type="string">548-tR?V</name><pId type="string"/></e><e class="object"><name type="string">876-t)ReT[V~</name><pId type="string"/></e><e class="object"><name type="string">882-(idN</name><pId type="string"/></e><e class="object"><name type="string">887-_N</name><pId type="string"/></e><e class="object"><name type="string">891-WSeb+Y</name><pId type="string"/></e><e class="object"><name type="string">710-WS^</name><pId type="string"/></e><e class="object"><name type="string">894-^kN</name><pId type="string"/></e><e class="object"><name type="string">716-%m]^</name><pId type="string"/></e></SJG><ZDGLKZ class="object" null="true"/><ZDLDKZ class="object" null="true"/><ZDXX class="object"><CCZD type="string">HDXWDGJDQ</CCZD><CCZD2 type="string">HDXWDGJDQ</CCZD2><HZSJFH class="object" null="true"/><HZSJZD class="object" null="true"/><MRZ type="string">156--NV</MRZ><PCZD type="string">0</PCZD><QZSJFH class="object" null="true"/><QZSJZD class="object" null="true"/><RQGS class="object" null="true"/><SFBT type="string">1</SFBT><XSFS type="string">1</XSFS><XSKD type="string">150</XSKD><XZFS type="string">1</XZFS><YXDX type="string">0</YXDX><ZDCD class="object" null="true"/><ZDLX type="string">1</ZDLX><ZDMC type="string">_f[MOvV[0W:S </ZDMC><ZDZ class="object" null="true"/><ZXZ class="object" null="true"/></ZDXX></o> _f[MOvb!hb:gg _f[MOvb!hb:gg o-<?xml version="1.0" encoding="UTF-8"?> <o><BKZX type="string">1</BKZX><ZDGLKZ class="object" null="true"/><ZDLDKZ class="object" null="true"/><ZDXX class="object"><CCZD type="string">HDXWDYXHJG</CCZD><CCZD2 type="string">HDXWDYXHJG</CCZD2><HZSJFH class="object" null="true"/><HZSJZD class="object" null="true"/><MRZ class="object" null="true"/><PCZD type="string">0</PCZD><QZSJFH class="object" null="true"/><QZSJZD class="object" null="true"/><RQGS class="object" null="true"/><SFBT type="string">1</SFBT><XSFS class="object" null="true"/><XSKD type="string">200</XSKD><XZFS class="object" null="true"/><YXDX class="object" null="true"/><ZDCD type="string">100</ZDCD><ZDLX type="string">0</ZDLX><ZDMC type="string">_f[MOvb!hb:gg</ZDMC><ZDZ class="object" null="true"/><ZXZ class="object" null="true"/></ZDXX></o> f[MOcNt^gf[MOcNt^g o (yyyy-MM)j<?xml version="1.0" encoding="UTF-8"?> <o><BKZX type="string">1</BKZX><ZDGLKZ class="object" null="true"/><ZDLDKZ class="object" null="true"/><ZDXX class="object"><CCZD type="string">XWSYNY</CCZD><CCZD2 type="string">XWSYNY</CCZD2><HZSJFH class="object" null="true"/><HZSJZD class="object" null="true"/><MAX type="string">2150-12-31</MAX><MIN type="string">1900-01-01</MIN><MRZ class="object" null="true"/><PCZD type="string">1</PCZD><QZSJFH class="object" null="true"/><QZSJZD class="object" nu< ll="true"/><RQGS type="string">yyyy-MM</RQGS><SFBT type="string">1</SFBT><XSFS class="object" null="true"/><XSKD type="string">80</XSKD><XZFS class="object" null="true"/><YXDX class="object" null="true"/><ZDCD class="object" null="true"/><ZDLX type="string">2</ZDLX><ZDMC type="string">f[MOcNt^g</ZDMC><ZDZ class="object" null="true"/><ZXZ class="object" null="true"/></ZDXX></o> f[`Ne_ 1-hQ1Ny\ 2-JS1NJSy\ 3- N1N Ny\ f[`Ne_ * <?xml version="1.0" encoding="UTF-8"?> <o><BKZX type="string">0</BKZX><ZDGLKZ class="object" null="true"/><ZDLDKZ class="object" null="true"/><ZDXX class="object"><CCZD type="string">XXFS</CCZD><CCZD2 type="string">XXFS</CCZD2><HZSJFH class="object" null="true"/><HZSJZD class="object" null="true"/><MRZ class="object" null="true"/><PCZD type="string">0</PCZD><QZSJFH class="object" null="true"/><QZSJZD class="object" null="true"/><RQGS class="object" null="true"/><SFBT type="string">1</SFBT><XSFS type="string">0</XSFS><XSKD type="string">100</XSKD><XZFS type="string">0</XZFS><YXDX type="string">0</YXDX><ZDCD class="object" null="true"/><ZDLX type="string">1</ZDLX><ZDMC type="string">f[`Ne_</ZDMC><ZDZ class="object" null="true"/><ZXZ class="object" null="true"/></ZDXX></o> (Wf[USMO{|+R1-hQe6Rf[!h11-hQe6R\f[12-hQe6R-Nf[13-hQe6R-NN 14-hQe6RؚI{f[!h 2-bNYeW:gg21-L]'Yf[22-L]Y'Yf[24-NYO'Yf[25-Qcf[!h26- Rcf[!h 27-^d5uƉYef[28-f[Ջ 2B-{tr^f[b2C-r^!h2D-r^s2E-]s2F-W-N_3-NNUSMO 31-xvz@bb 32-xvz-N_34-;Sb 39-vQNNNUSMO4-L?ef[b 41-V[L?ef[b42-wL?ef[b 49-vQNL?ef[b5-ON6-:gsQ 61--N.YV[:gsQ62-w~:gsQ 63-0W0^~:gsQ64-S~:gsQ65-aN0G:gsQ7-ZQ!h71--N.YZQ!h72-wYZQ!h 73-0W0^YZQ!h74-SYZQ!h75-aN0GZQ!h76-ONZQ!h 77-ؚI{b!hZQ!h 79-vQNWB\ZQ!h 8-Qfkf b!h 81-Qfkf ؚI{f[!h82-Qfkf -NI{Nyf[!h 83-Qfkf ZQ!h 84-Qfkf yx:gg 85-Qfkf ;Sb9-vQN 91--N.Y>yO;NINf[b 92-w~>yO;NINf[b 93-0W0^~>yO;NINf[b 95-f[OOSO <?xml version="1.0" encoding="UTF-8"?> <o><BKZX type="string">0</BKZX><SJG class="array"><e class="object"><children class="array"><e class="object"><name type="string">11-hQe6R\f[</name><pId type="string">1-hQe6Rf[!h</pId></e><e class="object"><name type="string">12-hQe6R-Nf[</name><pId type="string">1-hQe6Rf[!h</pId></e><e class="object"><name type="string">13-hQe6R-NN</name><pId type="string">1-hQe6Rf[!h</pId></e><e class="object"><name type="string">14-hQe6RؚI{f[!h</name><pId type="string">1-hQe6Rf[!h</pId></e></children><name type="string">1-hQe6Rf[!h</name><pId type="string"/></e><e class="object"><children class="array"><e class="object"><name type="string">21-L]'Yf[</name><pId type="string">2-bNYeW:gg</pId></e><e class="object"><name type="string">22-L]Y'Yf[</name><pId type="string">2-bNYeW:gg</pId></e><e class="object"><name type="string">24-NYO'Yf[</name><pId type="string">2-bNYeW:gg</pId></e><e class="object"><name type="string">25-Qcf[!h</name><pId type="string">2-bNYeW:gg</pId></e><e class="object"><name type="string">26- Rcf[!h</name><pId type="string">2-bNYeW:gg</pId></e><e class="object"><name type="string">27-^d5uƉYef[</name><pId type="string">2-bNYeW:gg</pId></e><e class="object"><name type="string">28-f[Ջ</name><pId type="string">2-bNYeW:gg</pId></e><e class="object"><name type="string">2B-{tr^f[b</name><pId type="string">2-bNYeW:gg</pId></e><e class="object"><name type="string">2C-r^!h</name><pId type="string">2-bNYeW:gg</pId></e><e class="object"><name type="string">2D-r^s</name><pId type="string">2-bNYeW:gg</pId></e><e class="object"><name type="string">2E-]s</name><pId type="string">2-bNYeW:gg</pId></e><e class="object"><name type="string">2F-W-N_</name><pId type="string">2-bNYeW:gg</pId></e></children><name type="string">2-bNYeW:gg</name><pId type="string"/></e><e class="object"><children class="array"><e class="object"><name type="string">31-xvz@bb </name><pId type="string">3-NNUSMO</pId></e><e class="object"><name type="string">32-xvz-N_</name><pId type="string">3-NNUSMO</pId></e><e class="object"><name type="string">34-;Sb</name><pId type="string">3-NNUSMO</pId></e><e class="object"><name type="string">39-vQNNNUSMO</name><pId type="string">3-NNUSMO</pId></e></children><name type="string">3-NNUSMO</name><pId type="string"/></e><e class="object"><children class="array"><e class="object"><name type="string">41-V[L?ef[b</name><pId type="string">4-L?ef[b</pId></e><e class="object"<><name type="string">42-wL?ef[b</name><pId type="string">4-L?ef[b</pId></e><e class="object"><name type="string">49-vQNL?ef[b</name><pId type="string">4-L?ef[b</pId></e></children><name type="string">4-L?ef[b</name><pId type="string"/></e><e class="object"><name type="string">5-ON</name><pId type="string"/></e><e class="object"><children class="array"><e class="object"><name type="string">61--N.YV[:gsQ</name><pId type="string">6-:gsQ</pId></e><e class="object"><name type="string">62-w~:gsQ</name><pId type="string">6-:gsQ</pId></e><e class="object"><name type="string">63-0W0^~:gsQ</name><pId type="string">6-:gsQ</pId></e><e class="object"><name type="string">64-S~:gsQ</name><pId type="string">6-:gsQ</pId></e><e class="object"><name type="string">65-aN0G:gsQ</name><pId type="string">6-:gsQ</pId></e></children><name type="string">6-:gsQ</name><pId type="string"/></e><e class="object"><children class="array"><e class="object"><name type="string">71--N.YZQ!h</name><pId type="string">7-ZQ!h</pId></e><e class="object"><name type="string">72-wYZQ!h</name><pId type="string">7-ZQ!h</pId></e><e class="object"><name type="string">73-0W0^YZQ!h</name><pId type="string">7-ZQ!h</pId></e><e class="object"><name type="string">74-SYZQ!h</name><pId type="string">7-ZQ!h</pId></e><e class="object"><name type="string">75-aN0GZQ!h</name><pId type="string">7-ZQ!h</pId></e><e class="object"><name type="string">76-ONZQ!h</name><pId type="string">7-ZQ!h</pId></e><e class="object"><name type="string">77-ؚI{b!hZQ!h</name><pId type="string">7-ZQ!h</pId></e><e class="object"><name type="string">79-vQNWB\ZQ!h</name><pId type="string">7-ZQ!h</pId></e></children><name type="string">7-ZQ!h</name><pId type="string"/></e><e class="object"><children class="array"><e class="object"><name type="string">81-Qfkf ؚI{f[!h</name><pId type="string">8-Qfkf b!h</pId></e><e class="object"><name type="string">82-Qfkf -NI{Nyf[!h</name><pId type="string">8-Qfkf b!h</pId></e><e class="object"><name type="string">83-Qfkf ZQ!h</name><pId type="string">8-Qfkf b!h</pId></e><e class="object"><name type="string">84-Qfkf yx:gg</name><pId type="string">8-Qfkf b!h</pId></e><e class="object"><name type="string">85-Qfkf ;Sb</name><pId type="string">8-Qfkf b!h</pId></e></children><name type="string">8-Qfkf b!h</name><pId type="string"/></e><e class="object"><children class="array"><e class="object"><name type="string">91--N.Y>yO;NINf[b</name><pId type="string">9-vQN</pId></e><e class="object"><name type="string">92-w~>yO;NINf[b</name><pId type="string">9-vQN</pId></e><e class="object"><name type="string">93-0W0^~>yO;NINf[b</name><pId type="string">9-vQN</pId></e><e class="object"><name type="string">95-f[OOSO </name><pId type="string">9-vQN</pId></e><e class="object"><name type="string">99-vQN</name><pId type="string">9-vQN</pId></e></children><name type="string">9-vQN</name><pId type="string"/></e></SJG><ZDGLKZ class="object" null="true"/><ZDLDKZ class="object" null="true"/><ZDXX class="object"><CCZD type="string">ZXDWLB</CCZD><CCZD2 type="string">ZXDWLB</CCZD2><HZSJFH class="object" null="true"/><HZSJZD class="object" null="true"/><MRZ class="object" null="true"/><PCZD type="string">0</PCZD><QZSJFH class="object" null="true"/><QZSJZD class="object" null="true"/><RQGS class="object" null="true"/><SFBT type="string">0</SFBT><XSFS type="string">1</XSFS><XSKD type="string">100</XSKD><XZFS type="string">1</XZFS><YXDX type="string">0</YXDX><ZDCD class="object" null="true"/><ZDLX type="string">1</ZDLX><ZDMC type="string">(Wf[USMO{|+R</ZDMC><ZDZ class="object" null="true"/><ZXZ class="object" null="true"/></ZDXX></o>  _f[Svb!hb:gg o(hQy)    7 @bf[NN ohQy   7Z la 10&^ g *Sv/f_{kXQy &^ g oS9hnc N Ne$Re/f&T_{kXQ 20:Nf}Y~U_pe U_-N NYu gzz}vL L Rd gY/ec30000Lpenc[eQ0YagU_     * + K P V! 7W, -[6 7 7| 8L 79 Yo VZ Z{[\\/.]][Z^^sv_``'(aam~b cc12ddSTeefggCJhh[`iij;?:aaeb+cBd&effwgehGi Q4X X/ XY YC nZ ZW [% ccB~-z4nA_)k:~yw T8   dMbP?_*+%&ffffff?'ffffff?(?)?MAdobe PDFS 4dXXA4PRIVB ''''0P4(FFSMTJAdobe PDF ConverterResolution1200dpiPageSizeA4PageRegionLeadingEdgeInputSlotOnlyOne0EBDAStandard" dXX333333?333333?&<3U} J} J} J} J} (J} L}  J} J} (J} L} J}  >@@X@ D"EEEEEEEEEEEEEE F F F F F F F F F  F  F  F  F  F F I I I4 I& M M K- K0 I6  I  I  I  K  I I (4r(  ~ q <fCC@( ],q@149 $< _Yhg<>@A 71 4 a@1 4 a@1 4 a@ R -42-ZSX 3-UxX 4-f[X 0-ej E4!1-hQ1Ny\ 2-JS1NJSy\ 3- N1N Ny\   Sheet1ggD T8 0DȻX  dMbP?_*+%&ffffff?'ffffff?(?)?"333333?333333?1&<3U}  ?@@@@@@@@@ @ @ @ @ @@@@@@@@@@@@@@@@@@@ E"EEEEEEEEEEEEEE ? ? ?5 ?' ?) ?+ ?. ?1 ?7  ?  ?  ?  ?  ? ? ? ? ? ?6 ?( ?* ?, ?/ ?2  ?8  ?  ?  ?  ? ? ? ?7 ?3  ?3  ?7  ? ? ? ?8 ?4  ?9  ?8  ? ? ? ?9 ?5  ?:  ?9  ? ? ? ?: ?3  ?;  ?: ? ? ?;  ?<  ?; ? ? ?<  ?=  ?< ? ? ?= ?> ?= ? ? ?> ?? ?> ? ? ?? ?@ ?? ? ? ?@ ?A ?@ ? ? ?A ?B ?A ? ? ?B  ?C  ?B ? ? ?C  ?D  ?C ? ? ?D  ?E  ?D ? ? ?E  ?F  ?E ? ? ?F  ?G  ?F ? ? ?G  ?H  ?G ? ? ?H  ?I  ?H ? ? ?I  ?J  ?I ? ? ?J  ?4  ?J ? ?! ?K  ?K  ?K ? ?" ?L  ?L  ?L ? ?# ?M  ?M  ?M ? ?$ ?N  ?N  ?N ? ?% ?O  ?O  ?O ? ?& ?P  ?P  ?P ? ?' ?Q  ?Q  ?Q ? ?( ?R  ?R  ?R ? ?) ?S  ?S  ?S ?D l4bbbTFFFFFFFFFFFFFFFFFFFFFFFF @!@"@#@$@%@&@'@(@)@*@+@,@-@.@/@0@1@2@3@4@5@6@7@8@9@:@;@<@=@>@?@ ?* ?T ?T ?T ? !?+ !?U ! ?U ! ?U !? "?, "?V " ?V " ?V "? #?- #?W # ?W # ?W #? $?. $?X $ ?X $ ?X $? %?/ %?Y % ?Y % ?Y %? &?0 &?Z & ?Z & ?Z &? '?1 '?[ ' ?[ ' ?[ '? (?2 (?\ ( ?\ ( ?\ (? )?3 )?] ) ?] ) ?] )? *?^ * ?^ * ?^ *? +?_ + ?_ + ?_ +? ,?` , ?` , ?` ,? -?a - ?a - ?a -? .?b . ?b . ?b .? /?c / ?c / ?c /? 0?d 0 ?d 0 ?d 0? 1?e 1 ?e 1 ?e 1? 2?f 2 ?f 2 ?f 2? 3?g 3 ?g 3 ?g 3? 4?h 4 ?h 4 ?h 4? 5?i 5 ?i 5 ?i 5? 6?j 6 ?j 6 ?j 6? 7?k 7 ?k 7 ?k 7? 8?l 8 ?l 8 ?l 8? 9?m 9 ?m 9 ?m 9?2 :?n : ?n : ?n ;?o ; ?o ; ?o <?p < ?p < ?p =?q = ?q = ?q >?r > ?r > ?r ??s ? ?s ? ?sD lFFFFFFFFFF8888888888888888*****@ @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 @[ @\ @] @^ @_ @ @?t @ ?t @ ?t A?u A ?u A ?u B?v B ?v B ?v C?w C ?w C ?w D?x D ?x D ?x E?y E ?y E ?y F?z F ?z F ?z G?{ G ?{ G ?{ H?| H ?| H ?| I?} I ?} I ?} J?~ J ?~ J ?~ K? K ?5 K ? L? L ? L ? M? M ? M ? N? N ? N ? O? O ? O ? P? P ? P ? Q? Q ? Q ? R? R ? R ? S? S ? S ? T? T ? T ? U? U ? U ? V? V ? V ? W? W ? W ? X? X ? X ? Y? Y ? Y ? Z? Z ? [? [ ? \? \ ? ]? ] ? ^? ^ ? _? _ ?Dll**************************` @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 @{ @| @} @~ @ @ `? ` ? a? a ? b? b ? c? c ? d? d ? e? e ? f? f ? g? g ? h? h ? i? i ? j? j ? k? k ? l? l ? m? m ? n? n ? o? o ? p? p ? q? q ? r? r ? s? s ? t? t ? u? u ? v? v ? w? w ? x? x ? y? y ? z? z ? {? { ? |? | ? }? } ? ~? ~ ? ?  ?Dl @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Dl @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Dl @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ? ? ? ? ? ? ? ? ? ? ? ?Dl @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?  ?  ?! ?! ?" ?" ?# ?# ?$ ?$ ?% ?%(`TPH  0(   >@ 7 Sheet2ggD T8   dMbP?_*+%&ffffff?'ffffff?(?)?"333333?333333?&<3U>@7 Sheet3ggD T8 :C  dMbP?_*+%&ffffff?'ffffff?(?)?MFoxit Reader PDF Printer_ 4dXXA4C:\Users\Administrator\AppData\Roaming\Foxit Software\Foxit PDF Creator\Foxit Reader PDF Printer\1435236838_5564__foxittemp.xml" dXX333333?333333?&<3U} } ` , GH @ AB?C*C )$D%B@BN <PH0 0(   >@A  7ggD ThisWorkbook)Sheet1*}"__SRP_6 __SRP_77  !"#$%&'()*+,-./012345689:<=>?@ABCDEFGHIJKLNOPQSUVWXYZ[\]^_abcdeghjlmnopqrstvwxz{|}~'ûm#xME (SLSS<N0{00020819-0000-0000-C000-000000000046}@(%H@0Z@WxAttribute VB_Name = "ThisWorkbook" Bas0{00020P819-0C$0046} |GlobalSpacFalse dCreatablPredeclaIdTru BExposeTemplateDerivBustomizD2*\R1*#121*\R0*#f(*\Rffff*0O57515c1d\0*\R0*#134^ "    ("  @H P `px (^  83   8@H!h "     !8 "X p      ,"  ( 0@H P X`z%,ox   Xe@` ^m 0q  X px 4c  x *A0oX ʾѡο0] *!6 8 |k *!:!< *!>!< |PkH @&ģʼʧܣ°汾ģ壡 D FA@B|k ʾѡH J J Ld 2 J J *!N 2$J!P 2$J!V R(T Z RB@XyHk@ 2k( ʾοL \ \ |d 2 \ \ *!N 2$\!PBABT 2$\!V ^(T Z ^B@X ^!`(d ^!bB@d ^!f(hyHk@ 2^xk(o % һֵ仯ʱжǷĬֵ^]^x ]] *!6 8 |k'n l p n *!6 l v$t%x$r'n l *!N z z | *!6$x!| ne>' һвΪȫΪʱĬֵ 2 z zNOW 2$z!~ *!6 2$z!P v$t%x!0_ f"ڸʽΪ"YYYY"ʱֱӸֵǰ Z$ *!6 2$z!P v$t,xd Z$- Z$- Z$ *!6 2$z!P v$t,xkd 2$z!~ *!6 2$z!P v$t,xBk@ 2k(k o[Attribute VB_Name = "She@et1" Bast0{00020820- C$0046} |Global!SpacFalse dCreatablPre declaIdTru BExposeTemplateDeriv$Bustom izD2Option /licit P"& Sub Works_BeforeDoucCk(ByVal Target As Range, CancelBoolean)H ll&Selec 1 Or $Not initialize#MsgBox "ģʧܣ°汾", vHbExmak, MSG_TIT,LEA0@4xU7 'Go fx:C @=LB9d(fxList) > U 8 GoTo tre FEBA Fpiˌ a-.(i)/lIndex% frmFuXuan.Crae=   Sh@CvbModal)E&g (ftû<#<B6\q F[TB6' vmx[TB6' vmB6\qMEh @[LSS8,>" ""LLLLLL 1).value A@=2 Ϊȫʱ 'qQ ;% Q NOW"1q:nP h"U).Numberc pdLoc0_ "b 'ڸʽΪ"Y"ʱֱӸֵǰ' a Gex)pYear(D "!1e3???= & "-"PMonths6DayEAS 4XY1   s 7;g5q=QrU # )8 @( !)Q QDY=1===iD0a [[A?? \y\\Y][ a 4 a) `` ` IWX l xlxtdt  ({xtx l xKxad"5d+^xad``aPv"xa@<!<' l p  l v$t%x$r '6'y0k( l  '6 'd' l p d 6 l v$t%x'd  6 l v$t%x' l d$rΪʱǰ 6'6 If row Mod 2 = 0 Then row = row / 2 Else row = (row + 1) / 2 End If d$r $re; зǿΪʱжΪβ 6 8  ''d "зǿҲǿʱ 6 '6 If row Mod 2 = 0 Then row = row + row / 2 Else# row = row + (row + 1) / 2 End If Else' rowCnt = row - dataRowStart + 1 checkFlg = Truekk 6 8  ' 8'ʼУ鵱'l ʼУWhile currowindex < row l p.For col = 1 To colCnt 'ѭӵһпʼ  8 6*ѭӵһпʼ] l$') ȡֵ !0% DZ+ ƺ͹УʱУ< ************************************ 8 ûvHudRGқ*=h8+3qed=GVJ [Zßxed=GVJ [ZßudRGқME PSS S0>"P<<N0{FCFB3D2A-A0FA-1068-A738-08002B3371B5}"<H@%H %,!hx+i P Ah|+  i  ,!phz+P $ i  !N Ah(|+(i ,!@hx+, %)8  % h|+0)  %%b4@b8 @@Pp(0( M % x %i7hhh `PxhPpph `Xz pX`8P@`L4(Z@W*\R0*#1d$*\Rffff*0P57515c1d*\R0*#1c@ .8h B  "   B  "   B  "  ( ṹڵ]@ ڵ]@ ӽڵʱΪtrueûʱΪfalse]@  ӽڵP 'mh 'mP 'm8p 'm  .m@ .pmױ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 *********************** У< *********************************************************** !1  A@1Уkp< *********************************************************** У< ***********************************************************  ! v$t%x$r  A@kk+ ΪҲҪƻ< *********************************************************** ֶι< ***********************************************************  A< *********************************************************** ֶ< ***********************************************************  A currowindex = currowindex + 1 l 'l< *********************************************************** ֤ļģǷϹ2< ***********************************************************AA У excel B@ ־] !'   $t!!B@d 11.0 office2003$A1$,       $t!B@ office2003A1:A $,    $t!!B@p  $t!@pAA1:B $,C@R9 9 9C@q k A:A $t%:!( 8v.B:B $t%:!("q  $t($(־ $tB@HB1 $t%,B@Ht$ݲҪ鿴 D FA@Bd( Уͨϴ Уɹ  FA@BУɹ $t,x6  $t,xA:A $t%:!( (k` oX P \Attribute VB_Name = "MainFunc" Option Expd#ûKfxME(<6 < <( ` pX% ``$t` $t %`ѡ`l` ʧ`6ģ`2`d****`**** ****%`ypeV%Z@W$*\Rffff*0K57515c19 "   @PXh    B88@x  @ 4 @ @&`  4    8:X  $& ,@"Hpx   6 2  @( h @$    (H  @h : @(0@PX x& "0(X  . $   $0 X Jp   *  $ $H p *   .  0 8 @ H `    4 . 8 @ "` 2  @  @ P  h   @  @ *  P`h  0p @  @8  @H  @  $(8  @@ $ @       0@ H  X hx"f@ P8 "" Hhx6H, P"p x9 sheetڣ׷һsheet( $t t!<$t tB@x  t!<$t(kX ԭ־'  $t!xB@ v$tB@H; ʼȡݣļģѡбοб @&ģʼʧܣ°汾ģ壡 D FA@B|kx< ***********************************************************0 ȡжӦֵTypeValueColum---start---< ***********************************************************]D@, Co p%޸С!] ±']  8  v$t%x'G ȡʼEr ]' $r Co]'  (%±   $t%x (UУ Er ʼdataFlgΪtrue 8  v$t%x$r'k !$r>ֵУXMLʧܡ D FA@B| $e7 mCB|k  +* з뼯  '= 8  v$t%x'IȡһAlicit @ Pub, Sub m() ' sheet׷pһDgcrror ResuNexl If SDs(msg ) Is Nothing PThen~ ).Add After:=;.coXunt+( . 5,EndD' ԭp־M.Cells.DeleShift:=xlUpAindex)4.Scy' ʼȡݣļģѡб΃ initializeMsgBox "ģ2ʧܣ°", vbExclama, MSG_TITLE itAJA`Rem *7ȡжӦֵTypeValueColum---stXart*A @ Dim cn ec?() As n '׆C1 ToC '޸C С@  AIntegeBrE± cq= 1@A vFBn°)S@& =b $QW(dataRowS* - 1," ) '2pʼТ e!FlgABoolear= Fal seWhil!`Rrim(l) <> " LA n/Щ h .C7IAlG``)!)ŵ"`s(dic"){aCheckD)$ +*$ɠ У!$ƣ #''@Fd$Ϊtru!$@x""A!^Ta$4&4)} 0T t = (B qAXML/KCfDicAndSetProp)D)@9Hb9,Ex fEmzCC!  'з뼯E F"1J?C?(A& _7lƒ!Dl Wend! A ?%֤+!0ju*|%&û1%InforOiP8 . ʼ!+Au1QFcuЇwc!SLong4ol!GX1Call cMrLog:'ϴд>Ł0 @T` 0 '¼Or/GaE!Eַijзǿ$ȫʱΪ0g!P_rowAitp1jh, nT:c;Wd pt6et).UsedRange.s.rq1F@ @yBPVѧU_3!)jJQpS# X*cYaq11 / 2SSu4%s btu wI%F&HV~= uol P7q@k o 'Ϊ!/ǰG 6'Mod 20 'cE( )i!o b( p2I5>жΪMβ2-b1 &рO CҲұ=v1+.o FS6T<į < z7,.{h={0dQk^Pjfv'@<Aol <= col@Cnt 'For = 1 To 'ѭӵһ`пʼfurrowindexvdataRowStart4  Dim valueDicCol As TypeVumnl %!ection() 'Ȁֵ5 ;If >.bkzW"0" Then 'DZXƅ УрʱЁ3 Rem *7 $ 3CH/LFsfbtr"1CF! checkRequirDedS, cH'+End IfHiHHl)HTrim(Sheets(B).Cells(?, @@I)) <> "UJBXT" RUBΪҲȪZe U6ֶ  CallPGlkz(jP)a_'  gLdNextn' q`r+ 1c@R|áDWendAa_%zE֤ļǷϹ> A&Fi@leNameM8odu!`C"exc$el` A veWorkbookp.Sav! !Ȁ־ erStringv= A@pplicaa.Vers`ԁa4Msg@ > 0b :F`C ďmsg"!).SortFields.Clear # "11. 'office02003ohUsedRange Key1:=("A1"), Order@xlAsc $, HeaP:=xlGuess, _U Custom:=1, MatchCase:= False!ie nt2!TopToBot, qMethod9aPinYin, rDOpR Norma0#EgQ~2s(OIA dd!:A" &On Œ"aW CG jsWith/ me# g.Set :B F0A3ROrxlX!= xl0y!k l cs'P`).EntC.Hidd= T LLLL<`(ж)HalseA%`@ `B %x``J`L``N`PA@B`R`T(8`V Ĭ`X `Z+\8`h8kiB i``bp `dl LDOM+j`x''Il h`nment`2XMLD`pC@F`r@!`typeV ` P I pXI J**`n<` ``L+@p`H k `@t $\`Bp `>l`l`$\`H`(``Xx$\`Z**``~`J8$\`N`h`ô   `2J`H-1 `F` <+p `*k iB )LA%il t0 ܷ%`2r 1) P + `k %%) x "%) tion %  t % p8 %`2n  Ϸ@p  %` @pp 80----&@ %(X@0 h`PxP h 8 ( h (  `@z  Z@ *pv,trD@x $@ h @ X @T -@ D @ 4 @ $ 'j@h @  ----@ ɼ@ `---- ( ------ \:~@  l h 6$@  6n****@ 432@ $@ @( @d'r@P|`(d'jP zJ@l @\ e@L 'j ֤P\v8>ԭ**@D @B @**@, h('n@(`$P>!<@$ $t@  $r******8Xp`,zX8tr@p @` @\ @L @ < @, @P @ @ h `\x0X``tE@ @\ @L @< @8? {E@8  8 h`z @` @P @@ @< @P8 @4 @2 h@0 E@, A@* @ X 08`z PA@ h (@d DFB@HT @`D @x4 ؋E@$ @ @ @ @ @ @ @ @ @` x8 @ E`E@E@ @ @ ЌE` p   Z@W(*\Rffff*0O57515c1d\3(*\Rffff*0O57515c1d\2$*\Rffff*0P57515c1d*\R4*#8$*\Rffff*0Q57515c1d$*\RB    &@ h 6      (Hh x  8P`hpx   (08 Xp "  8HPX`  (  2 B P X h       D     ( 0 P h x B    ^  .( X ` h <p <              ^ X ` <x  @ ( H P >X,  "B  (80P" ( D0 x 8 DB  08 @  `&F # " ( 0@H Xhpx  @ , @0 HX`hp  @ " @ X x  &] $M H Xhpx  @ ( @H( p*4 &  (0#8#P5h4 $$$L HPX :` x   6B  6B  ( .9@p .9       $ @PX`#h  $  $  (0 $L8,` (     2  Xh      &]0X`h $Mp   $ # 8P hx &  &  * P X `2ah6_ & :  ( &90  X  ` h p x      *  ,V  !2a(! `!p!x!  ! !&! !!"" ",V("X"p" %""""  " " " $I" # #B 0#8#@# H#4P# ####&##  *#"#$&C($P$X$`$ h$x$ 6$B $$$ $ $$,3%8%@%H%2P%p% x%% %%%%%  %6%& 1 &@&$&X&N&,V& &&& &x ־ Ȗ $t%:B@һi8 д־(@  ' *ڄ x * *ڄ *Є *ڄ  $  $t,xd  $t,xk *  $t,xi ȡ¼]]'0 8 0 .$t%x'2 2$r 0 '0 8 0 .$t%x'2 0 ',i4 ֵ䲢ж ɹtrue ʧܷfalse0]  ! $t%x'4`ȡֵ± ! 4 HģУֵҲӦֵ䣬ģѾƻģ塣 D FA@B'zk ! (87!ֵ Ĭͬ 4 (:1ֵ  ! $t%x'6V ȡУXMLe 6 $<'d 'ki УXml ʧܷfalse]PXMLDOM]hDocumentElement >$r'<zpkhMSXml2.DOMDocument$D.@0XMLDOM' @ >C@FAq @!H.B BTypeV'<zk]](@******]Xp BZDLX$\'J**-1 J**'<zPkH J (J ֵ BZDMC$\'L-1 L'<zk L (L ֵƳ BSFBT$\'-1 Ƿ'<zk  ( Ƿ** BRQGS$\'Nȶ-1 N'<z0k( N (N ڸʽ** BZDCD$\'P**-1 P**'<zk P (P ֶγ BCCZD$\'R'-1 R'<zpkh R (R ô洢ֶ BBKZX$\'-1 '<zk  (ñ־ l BXSFS$\'X6-1 X%'<zk X (X ʾʽ BYXDX$\'Zd-1 Z'<zHk@ Z (Z ѡIf (^У ĬΪ""'<i. ֵ ʧܷ "-1" ɹضӦֵ + 1) ] En ` B%f.b b!h d b d!d'\ʱHd@= MsgBox "ֵУXMLʧܡ", vbExclamation, MSG_TITLEѶ-1'\6zki ֤ǷϷ  Ϸ0+ row Ϸ1 15λ18λ# 8]ow] W----------------------------֤ϷԼ---------------------------------------ch l't l lZλ'jzd lG l$19 l $v'ljcurr l$$x l. Zַ ''jzkZڼ*% l$- l $- l $$z l$- l $- l $$z Z 'jzkkW-----------------------------Уɼ----------------------------------------'n 2 n l 2 $$| 2  'n****@ 10X98765432 n  $'pX У l** l$v$~'r r pX УԱ'jd'j'/ҪУ룬ѱΪIDcheck = ek`dX t'jO15λ֤벻λԭ****k i ֵƣֵ******]**]** 'n   $t!!>!<   $t%x' $r****** n 'n**d( n n $'n n'zk i@ *************************************************************** ȫֱʼ3 1趨Ԫʽ2ȡĬֵѡ@ ***************************************************************'@ p zk v$,'p+ ȡ]0XMLDOM]HDocumentElement]` $t%x'> >$rE'@zkMSXml2.DOMDocument$D.@ @ >C@FZq @!H.B B'@z k < ***********************************************************' ļʱȡָļģXHE< *********************************************************** B $\' -1'@z k B $\'E@E -1'@zX kP < *********************************************************** ȡĬֵѡο< ***********************************************************]x] 8P]h@''' l pA  l $t%x$r'@z k  l $t%x @B@F @!H.B B'@z k < ***********************************************************# ָıʽڸʽСֵΧ< *********************************************************** BZDLX$\'J)+ֵΪ013ʱԪʽָΪı-1 J'@zp kh 0 J1 J3 J+`@ l$:( k BRQGS$\'N( ڸʽ-1 N'@zk N$r N$~YYYY N l$:(dx0_ l$:(kXkP BMIN$\') Сֵ@ME BMAX$\') ֵ-1 -1  $r $r'@zk l$:!C@    l    C@d l    C@k  e l   C@  e l   C@k@999999 999qk BMRZ$\'~& Ĭֵ-1 ~'@zk ~$r  'kh BXSFS$\'X(ʾʽ-1 X'@z k BYXDX$\'Z(ѡ-1 ZE'@zk X$r Z$r X0 Z0( ͨ0 ǸѡҲοV X0 Z1e,ѡ  'd  'kk lQE+ ֵж򡢸ѡοʱ   zkx   JEZEkH   \k](@'2'' l pS  l $t%x$r'@zk  l $t%x @B@F @!H.B BE([E'@z8k0 BMRZ$\'~& ĬֵRE-1 ~'@zk ~$r l $z(P ~ $z(~  'k BXSFS$\'X( ʾʽ-1 XE'@z8k0 BYXDX$\'Z( ѡE-1 Z'@zk X0 Z0& ]X''   l $t%x$r ,    l $t%x'  '   $v'? l$:!C@ l   C@m<999999 999qX X0 Z1e+ ѡsm< l 2$J(P  l $t%x 2$J(V'   l $t%x$r  '  2$J(4? 2 '2? X1e ṹ BXZFS$\'* ѡʽ-1 ='@zk l $\(P?  l $t%x $\(V\B Z $\(Z  $\( B $\ l$'@zHk@  'Ak( la.i1: 8 $>!B@i ȡp] ]8 '  B%.* һֻһSJGڵ !h'zXdP %!.k0 !h Lh 2 !h 2 L3 2 % 2 L%$'zk 2?i1 ӽڵкӽڵ㣬ѭԵãֱײp ]  ]@ 'name %. !hֵУXMLʧܡ D FA@B'zd %!d (kchildren %.? !h (DCz@d8]X ]  (> %!!h'   !G /j 2  2$G 22j 2$ !B@ 2 %!% 2$A@ 2DCk iAttribute VB_Name = "UtilFunc" Option Explicit Rem ־  NDclearLog() Sheets(msg).Columns(1).Delete End BZд XwriteXcontent As SngicurMsgRow + 1If In,(;, "") > 0 Then#Vells((, 1)0Mid%-<,::-E-,CEls] G" If"#2e`ȡ¼@zgetValuesCount(s| gIjger)Gj'Dim@dextitlev In =Cr==@FdataStart T`WhiATrim()P <> CN $=č end?0I5(Q^ֵ䲢ж ɹtrue ʧfaŒfindDicAndSetProp(ByRef vGkX0Typep4Booxb4"@ C<: c3, iXmlk6f6dicS 6icCheck:D7 g#.ccbb&) 'S#ƂD%|? d*?Box "ģ УA ҲӦ! ǡƻ!"bExclamaA, MSG_ TITLE! 4BFC9Exit {)c$Jf=<& 'AI Ĭ@ͬR A(bA G1B>>4c6>A2XMLxmlParse( J)hq-T`h ':2kսΞ`urBy`#N hf, _tmnMt uoDpObject '`%DOM!A%roob)Docum0uEleapR b""X`2_++ri10I = Create("MS@ 2.0 r' aWith .Load4A!Q2=2>.!1RIs NothingQ:nc=1awAbkz2nRHzdlmc) sfbh, rqgsUzdcdYcczZDGLKZZDLDxsf, yxd Q1R =yPleS7`X"u"-1" gO"M LbL͡ y/zd` p. MC  _,_,R,GdJbPUi b SFBT  ? b b& RQGS  b Ȁڸʽ/ ZDCD ?2 = b ֶγ< 8 CCZ  b 洢1 (H  BKZ.<    b | H  XSF>(    PCFʾ>C(Q YXD bѡ 1HtsjyP`zsҞΪY3Ecnd Function Rem ֵ ʧܷ "-1" ɹ4Ӧ ֵ  xmlSingleParse(ByRef root As Object, ByVal propcoDde2Str5) Dim$Xmls>8G,Set,=r.getElementsByTagName(v&)5If8.length = 1 The For Each In { R.textBNElse' MsgBox "У`XML", vbEx clama, MSG_TITLE!< Exi"t EIf  ֤ǷϷA}0115λ18λȃIDcheck(IDwInteger'wvD, it1H, z, `oldID'-98A0> C= ID @N@(Len98 Or 5)'λ R@@`xǗ/'I""L=(ft@,, 6) & "19"Rig:h9c `IsNumeric!17))Fa3YIn2 ".@") > 0'ַacEJdYAOn ErruRes  mD3'k0f Dateue(Mid7, 4"(-(A11, 23) <D_;@_ \ >bb/ G+ zk-!pɼ_kk#sG?aio 17&As + `0&018 - i, 1R* (2 ^Mod 11cXE e` a4"10X98765432`(s s` @71)!'cn8k1z UCam &]Ae?'CԱȆ B Cj0G'0ҪqaCѱΪdoI%J6@߃V'h^λԭUqm QyƣXm Tp}BPyDicds, Index"(ntrkDkj!Tp, las.tX s= x"aG\l"4j&CCxEaRow-2 To Shee8ts().UsedRange.s.coulnt0   =me).Cells(j -pTrimO> ""Z1 Q&w9Pi F Leh, n])P@p;QT  P ve"dj!m *ȫʼDԪʽ2ȡĬֵѡ(Ѻ,initialize(Boolea!`Tru<colC"%e77?4=b!Co lumnC1'(i#3)) 'pq1A2o '吳DOMGǓDocPn:a4/?/Rc1@.= ς/C ?s?(1r= Cre("MS2. "bGWi.Load@RtRAQ= 1.L!p Is Ph0۟h<_ !_6v ,*%ļʱ#)ָ4qģ!fileW=, WJMC64o IImoduMK>False Exit Fu@nctionEnd If ,`Rem *7ĬֵѡοDfDim col As Integer, @rowCnt m$rz fxtree R0xsfs'String@, yxdxxz7 zdl*rqg *min/maxf= 0da#For= p1 To9 { Trim(Sheets(dicBName).CellCheckDataRow,)) = "" Theinitializeș NĚC"oXml.LoadXML ##Setot@ Docume`ntEle IfIs Not~hs11ıʽCСֵΧ3?T@= xmlS!leParse(root, "ZDLX") 'ֵ013ʱԪbF-"-1"1 E'@E7"0F Or, " 3 Co@lumns(@).NumberbmatLocal"@"cŠA#Ct#RQGS#' %4c#??u`n<>Cv )*W1`UCa6) "Yt ^!?! u(0_> (|**MIN*]ġVAT' ֵC0!aD!3!ë3H#) A+/ O -b=(  With 4V@ dae! .DeletcC}A QLen(%= 4$Add Typ e:=xleWhole#4, AlertStyl'$op, Op@eratorBetween, _W SU9ulaH1:=S , 2R E)1. te`keo lido o zo o /Qa C&')= . )1 a & GrePБ10 G 0 T&O O O#L#Less#2 !e7 .IgnoreBlank^Tru.InюDro pdownInputTitlэ"&N8Error2M ag_QMEMod!xlINoC@ontrol Show" r Q!FS5AaUSMRZY,Sni+PP1XrzVp`(+ 1 2  XSFb{ྷʽC   YXDkѡ`As" 1HBE9@B?b  'ͨ   ' ҲdEoxp+ac's *aЕK! #Nextͱ1 րж ʱ0*> 0tReAList(Rs)Q4à /m fxRa.̶im treeList(1 ToCnt) End If$ Di As Integer, j 4m^i = 1jm*For c|oly x u Trim(Sheets(dic Name).CellCheckDataRo$w,J))L"" ThenH initializeFalseExit Fu`nctiox oXml.LoadXML G5Set root@'DocumentEleIfIs No thingfmrBzAxmlS,leParse(A&, "MRZ") ' ĬµF#"-1" AͿU v@h<>x) 8m).Index@$| C& +˯@° xsfs AXSFSBAʾʽ@eAB?B#1Cyxd8S#YXDXB#ѡM#B##"0" A C# adxStraJE= ""-row @~10%Whileici >2`ϣ  L & " ^ &   @v$FP Wend@Right(, LenC) -< 21Uith ColumnDs(`).Vda.DeletF .Add Type:=xl$¼, AlertStylgDop, OperatorBet@ween, @mula1:=.IgnoreBlank8Tru iInaDropdownput8Tit@>CErHror2In`M`essag!i<.tIMEMod AxldNoCo ntrolShowB A" LW4E̗i Ciiѡifxi@_X}HX1c#d+= 8mOoOxDx?2y_82 ixtemSB Qi% ṹExz`qXZ`ѡ`3lcqix.mjfj  Q/"1 9_a/ ).up/ setT䅨3Z___3j ÐlNext 1s("1:" `(PUStar2tX1)V&V ? Rem ȡ V0ByReObject, SsZ!q [a aԶ)BooleaҪw`N@MAC@DOM% Q91_1LA=.Sect!s(SJGһֻӆڵ Omle.leng@lEHH.q i),=# iSEOb/̸ /iO+A+ӡкгѭԵֱײPrivxatev. ,p(Ι.-m| nX!1.C_to.? .$!p."n " n+MsgBox "ֵУ7ʧܡvbExclamr, MSG_TITLE I` 070&.q^n/tpM+/AcLc'")7 If c.length = 0 Then treeNode.chFlgpFalselExit FunPctio\E4Dim child() As clsTt>nt6IntegertTrusc4=Item(0).CdsALReo 7-x 1)cSren Is No thing S et = New Colle{ For iω55i)1- ƒB.Ad dii seftec. i),Next "iA+End u Ac02G[8kr8C8krt Dkr.,@l8=H44 Ip*-,k*)84&pz rd0pT8(t,84@tpzhJH EQhtdt Dldx3'':4KN$$0:TLNDD M6D$pz2ht Dh hE>H F/hhNH EQhpdp Dld+H (Fl+H (F6dhp Dh 0E Dldp)hkF@hH ,FlhchOhhH 0FhnkclknlcG[hknlhN''$'DknlMT @hH ,Fh Plknl)h6D$Vknhp Dh 0E Dknl.@l=H I-)h nd  t8tlp4:8 hD$  9u8K?E      !"#$%&'()*+,-./0123456789:;<=>@FBCDSGHJKLMNOPQRAUpWbYZ[\]^_`acdefghijklmnoTqrsuvwxyz{|}~AY;(q`y/,`//$`8 ` A;48 ` =3 nl)rU~|   CheckFuncc__SRP_18u__SRP_19yPDeclaration#IRrU~|  Q QDY=1===iD=D)>Q>Y I > (>>>?)?A??IE??;7 @A@QAi@@@@!AiAAA!BYBBBC1CaCCCQ0y8@CE D1D)FFF F G1G YG)GG1H!0   0 @  pxH(L%x@\ D`%p$ p d\`1t)p\5#tM`@ :L]@5 kxpxH(L%x@\ D`%p$ p d\`1t)p\5Q kxpzp({tp\ 0 0  0   |lCtt@H L?4p5LpWL@(\]35Ljlplt8glWLA`1x5L lu8KwCx D|8{ x8tlpL<0 8  0   (pz u+x zF(D%($%T:X%h$ h dT`1l)hT5#:D]lMX@ 35pz  4t5 ltl@ ctW 4p5 lpcpzp  v0/pzp  v0Ypzpppuc](D%@T:X%h$ h dT :]3)hT6pzM(D%@T:X%h$ h dT%t )hT5tW 4p5 lpc_pzp 1 l0pzl0l0l04:4%kDX%h$ `hCh5p 1 l0pz#:D]MX@ @5#MX@ :D]@55lF4%kDX%h$ `hCh54:4%kDX%h$ `hCh5p 1p 1l=l=wL:D]MX@ /:$]M4@ /6Lpz:kDX%h$ `hA q|h5 l|!l=l=HlJBX%4%%@@l|"#$%&'CBX%4%%@@l|"#$%&'l=l09X%4%%@l| "#$%&l0l=9X%4%%@l| "#$%& cX%l|C( cX%l|C):X%l|C*:X%l|C+:X%l|C,:X%l|C-X%l|C. cX%l|C/ cX%l|C0 q|1p 1 l0pz#:D]MX@ @5 kp2p 1 l0pz3p 1 l0"pzLMX@ :D]<M4@ :$]<'6l0l0l0l0 kp kp d kk54 kk76  k5k98pJpHpFucBK](D%@T:X%h$ h dT :]3)hT6pzM(D%@T:X%h$ h dT%t )hT5tW 4p5 lpc; pz1p 1 l0d pz#:D]MX@ @5 kkFv5AlkFv5A kFpF2p 1 l0 pz3p 1 l0 pzl0l03 C<pakDD%@T:X%h$ h dT :]@)hT6 _l<:*FkDD%@T:X%h$ h dT`1<)hT6 kp. &l#$*F%h$ h= !/$h6i\`{H,<tlp0 $hT|8pz:`B%H @CDt5@<t Dl<Lpzt&48t D8 0EQ4t8*<t Dl<F@"r<t Dl<  ,    0 ,@ p x  p     ( 0 H X p x  * "  , 8 @ H  P "`  ,       " 0 ,@ p x   8       ( 0  :H  &  p x      : &8`  ( 0:P "     (0  8 PH  :  ( :H   "   *L(x          :   ` :   "   8LP        B  &8 *`, 6"8@  P,`  , t(      ( *H"x,8(08"Px , : $ 0 ,@ p x      ` ( 0 $8 `  px     >B  (@*X  } JûFYxME( <6  X` ` `   ` )A%i `` )A%i 0` )A%ihC `p )A%i` X` )08A%iX (` )A%ima`|``? `h )A%i?+h ` )A%i`@ `B B % r%`2``l % (% H%`  ?  ` YY)L=A%i?`@ ?`B 8%`2``l? %` `  ` )8@A%i `|C@F`@!``h`2``<Di@ T  `` ) A%iRһ  ` AA)  A%iX X 0(h  %@ 0 Z@W(*\Rffff*0O57515c1d\3$*\Rffff*0X57515c60$*\Rffff*0O57515c1d B  ((P2h B 2  (B 8*@Lp B 0f  B (P08 @B X`&h RB ( NH >B  *0@ Hh p dx B *L( 0 8B H P&p 6*,8@H P"X \ x        d     B    B  @ .! @H! ! ! ! ! N" .X" N" ." N# .X# # #####$  @$ P$ @`$$$$  @$  % @8%x%"%"%%$%& &  @(& h& @x&&&&  & @' @' @X''6'''(( (  (x ļУ]@ ! !. $' $r $rļӦΪ  飡A@( kXiP ģУX v$t! ģӦΪ  飡A@(* ki У  ! v$t%x$r е !Ϊգ飡A@(k8i0 ֶγУx'   ! v$t%x !P$|  е !Ȳܴ !Pַ飡A@(kpih ЧУ  ! v$t%x$ е !Чģ飡A@(ki ڸʽУ ĬȖ0]  ! v$t%x$r' 1900 2100  е !Ǹʽ飡A@(ki  ! v$t%x$x е !Ӧ֣飡A@(k`iX8ֵǷϷijһijһеǷֵ䷶ΧX ֵsheet  ! v$t%x$r]]  ! v$t%x'| 8'  ! $t%x' $r< |$r $r'z0k(  '  ! $t%x' е !Ϲ淶飡 !: !8$A@('kxip ֤(  ! v$t%x$j( е !ʽԣ飡A@(ki ]8XMLDOM]PDocumentElement'MSXml2.DOMDocument$D.@0XMLDOM  ! $t%x$rֵУXMLʧܡ D FA@B'zk @  ! $t%xC@Fqx @!H.B BֵУXMLʧܡ D FA@B'zk]hDim glkz As Object T B%.  !hֵУXMLʧܡ D FA@B'zkx %!. %RһֵֻһZDGLKZһֶεIJֵܴͬڵĶΪӽڵ㴢 ûй !hzk]]]0%]P'  2 !h $ΪֵָʱִйƼzdxz 2 %%.r r!hֵУXMLʧܡ D FA@B'zk bntx 2 %%. !hֵУXMLʧܡ D FA@B'z(k  %!. btx 2 %%. !hֵУXMLʧܡ D FA@B'zkx %!.  ! v$t%x r%!d  ȱʡ'   !h 'l l p 8 l v$t%x  %!d  l v$t%x$r  еΪ ! ֵΪ  ! v$t%x ԡ  l $t%xΪգ飡A@(ykkx l   !h 'l l p 8 l v$t%x  %!d  l v$t%x$r  еΪ ! ֵΪ  ! v$t%x ԡ  l $t%xΪգ飡A@( yd l (,±  l $t%x (\УƯ !$rzP $eA ******z k  A@**kk l pyk 2v$, C ûƵ¸ݱֵԱ  !h x'l l pE 8 l v$t%x  %!d  l (*±  l $t%x (ZУ< *** !$r**zX $e? ʱz( k  ! v$t%x$r****** !1****** е !Ϊգ飡A@( k dx  A@k` yX kP l****** ****** **  !h 'l l p< *** 8 l v$t%x  %!d x l (*±  l $t%x (ZУ' !$rpz $e? z k !1  l v$t%x$r е !Ϊգ飡A@(****dX  A@**k@ y8 k0 l < ***k i **h]XMLDOM]DocumentElement  ! $t%x$rp ֵУXMLʧܡ D FA@Bz8 k0 MSXml2.DOMDocument$D.@0XMLDOM @  ! $t%xC@Fq @!H.B BYYֵУXMLʧܡ D FA@B0_ zhk`] Dim ldkz As Object V B%.@ME !hֵУXMLʧܡ D FA@Bzk %!.%VһֵֻһZDLDKZһֶεIJֵͬܿܶӦͬΪӽڵ㴢 û !hz0k(]@Xp]Dim checkarray As Object]] 2 !h $ΪֵָʱִƼ ZDXZ 2 %%. !hֵУXMLʧܡ D FA@B9zk  ! v$t%x %!d 'l' l pKZZD 2 %%.r !hֵУXMLʧܡ D FA@Bʾz@k8 8 l v$t%x %!d KZZDXZ 2 %%. !hֵУXMLʧܡ D FA@B Zzk %!.'  !h Z  l v$t%x$r  %!d  l v$t%x$r 'yk   %!d'  yk l      $v'k0  еΪ ! ֵΪ  ! v$t%x ԡ  l $t%xֻΪָݡ  飡A@(kXyPkH 28i09 ɸѡֵǷϷijһijһеǷֵ䷶Χ ֵsheet]`x ]   ! v$t%x$rB  ! v$t%x'|]] |$'0    'h 2  2$'   $t!!>!<O,ֵݴӵڶеУֵƥ  !8 $t%x' $r yHk@  x < '<yk  2NO < h T е !Ϲ淶飡 !: !8$A@(l kpkhi` ѡУ i@ У < ***********************************************************) 򡢸ѡ򡢵ѡѡֵУ < *********************************************************** ͨ xsfs0, yxdx0 ѡxsfs0, yxdx1~ ѡxsfs1, yxdx1 ѡsxfx1, yxdx02G If valueDicCol.xsfs = "0" And valueDicCol.yxdx = "0" Then 'ͨR( checkOption valueDicCol, currowindexG ElseIf valueDicCol.xsfs = "0" And valueDicCol.yxdx = "1" Then 'ѡ( checkFuxuan valueDicCol, currowindex6G ElseIf valueDicCol.xsfs = "1" And valueDicCol.yxdx = "0" Then 'ѡ( checkDXTree valueDicCol, currowindex& Else* End If- !Z0!ѡ6  A@: !Z1e& ѡC:  A@Gk< *********************************************************** Уc< *********************************************************** !P$r  A@*Уk < *********************************************************** ڸʽУ4< *********************************************************** !N$rX !Nyyyy'ڸʽR  A@.Ч֤d ʽ  A@0ڸʽǷȷkk< *********************************************************** У֜< *********************************************************** !J   A@)Уk !L<< *********************************************************** ֤У< *********************************************************** ֤KT  ! v$t%x֤ '  A@*kSniAttribute VB_Name = "CheckFunc" Option Explicit Rem ļУ RHcnile() Dim thisF* As 2Sng: 2= Left(ActiveWorkbook.J, In4".") - 1nIf Trim( X) < >f) Then writeLog ("iӦΪ`" & " 飡"6End If !ģ铎Mo duXSheets(index)zZmX3X& YsRequired(ByRef valueDicColrTyp eVumn, By currow4A LonggCv1y@Ϊ{׀ֶγOLengthOK@(=O> h(I@zdcdb)"e)!#a*ӂ3-.ַ?.ov Чq.Da:tRi.V@| Is! / xVFalseWgWbbW"ЧC_)I)ʽ)Format_)_)o?'=C\exX-ae < "1900" Or> "21__1a+?2!2Numb k!4n.Oo' kvb{Jb___= :AbTRInStr(Sheets(ibells(rowӠDp.| sC` text) > ɮKk L@ȱʡ'h > tJcCR wj@3@ o FNw`=ya! To @Cna dataRowStart e ,), Jj).s# Trim,c) <> ""kcSwriteLog ("" &q"е8TNa4me_U"`ֵu?!.~C?!Z:!!`C dicA %'0C1DS + 1PΪգ8飡eH 1or[7N@,uju C|)@))l,1) )@)olp)D?)i)q@?@3)) o)O)TCO)O)nO)u O)J}JlO)O)(O)s1O)aC)sO)5 sӕ.)I  '±<5)= # Q$ic  A=p+p"@OrM RDE f@jDicAnd0nProp(8A*dԿ BMJBX }H,FYGxt G $Qiqu ᭵¸ݱ$ijȶVI{'̢yOOO& ω+f+OOO@e66 -p:b 6m1,۵ col) 'У  DIf "" = Trim(valueColumn. Name) Then Exit Functio 8ElseWfindDicAndSetP(rop _)sFa(\)jnd If 0 pSheeHts(Lex).Cells(rowIndex,v  ). sfbtl"1" writeLog ("" & <"𣺡FȁΪգ@飡")>  EGAg checkJBXI?,&K orI pNextjI ' For jY0 To b.length - 1  A Cnt @ InStr(ֈdataRowStartA,A),@ Ite@m(j).t5) > &HI ՗&'B±`ŝB= ,dic"[`C;D + 1hRofj3Hy ,ه8@=eC?}c?} B}!e%g}' Rem % Ldk@z(ByRe5 As TypeV, By&ALongDim oXmlObject 'XMLDOMC!root-DocumentEledE=rw$LHMsgBox "քʧ" bExclama!y, MSG_TITLEϑ ` { 0zS= CreatBe("MS2.e"PWi@Xq .LoadITwI!y2  R= .!1RIs Nothing8y}v#l *#INodeLisRg'1 R=+ot.S el)s(ZDLDKZ 0coF "/  o0fhildr 'һa*ֻL εIJͬ 1$Ӧą?Ϊӽ㴢1@' ûUQirnteger, EIqyHArray/{'RaU@tidFlgBooleaqzdz" +Q1ai֏'qSΪָ@ʱִ& Ih = 'i)'"ZDXZ奴?( _(_(_(Y(Kgoy_JVB.,?ao1 == B _ZB KZZDOd]N3A0|p ooopPDC**ctcR"* w_ٟ85/V&9 zdzList = ""  XFor j0 To checkArray.length - 1 Z If <> Trim(Sheets( index).Cells(rowI(, col)) And I nStr(cItem(j).text,+P) > hen validFlgTrue Exit z EOf & ""\ &aNi jB@рNotmT |0Len(S2  ȂRight , J{))MEwriteLog ("AEyD"еA@cueCol.3umnNhame _"ֵ )%dicB%ŭCDataRow + 1(ָֻCI뀼飡"RQ~|i  Functio@Rem ѡֵǷijһA^  Χ0 CVFu xuan(%' As TypeVafl44, f:Long'a s}!7DimAQue`zing, subi)lċ` Integer, i!j`\?#C)a""b?Ay2  a!count#8arrA plit/, "CeD!= UB@ d()@LQ# i`  0= (iP]`o !"CcUsedRange.@bs@yBB~ӵڶУ0ʀQy@ƥ 6 CB=s j,L! `S#|G EBE )"*e4Icu~rIr:IR ckJBX /!' ͨC xsfs0, y0xdx0sR' p13 sxfx'4r(.1q90"21/ 'g  CkOpp@Cyç Else4T ".1` 'IrOow'Oic`+Is0OM&nex> !x/| A q-,%>2!zdcdqZ ' / %ڸʽo/o-rqgso'Ay6 Qo0i//Ч֤) '81.mau-exDȷd5o*O.~O!\zdlxTIS_NUMBERIC T@hen checkNumber valueDicCol, currowindex ' УEn0d IfSelect Case ~.zdmc> Rem *7D֤D\^"/ "9 s InStr(Sheet s().CePlls(,c@olumnI- 1), 0") > 0 T¼ID H Else  Funct$io   *rU $`$`4`44`44!`44I`44q`44`44`44 `44 `449 `4(4a `4(4 `4(nrU~| Ӧֵ^Ӧֵ v^0ֵ͜^Hֵƾ^`Ƿ^xڸʽ^ֶγ^洢ֶκ^ ֶιֵ^ ֶsheet^У ĬΪ""^Ƿ񱻿 0ǣ1^ ʾʽ%^8ѡ ͨ xsfs0, yxdx0 ѡxsfs0, yxdx1$ ѡxsfs1, yxdx1( ѡsxfx1, yxdx0 p?Attribute VB_Name = "Declaration" Rem ־̬ Public Const indexSheet As Integer1 'У҈ rdic7K~;Sngֵ" '洢FI CmsgC dataRowStarX4 '݁YЏWChec,kD w2V # IS_NUMBERICv4t ! # Ӧ   8zdl$ pzdmc. s fbBzD'Ƿ arqg5ڸʽazdcdk @γacczjja 9) Υ"G tsjyiʊ⁐ !oΪ"` bkz " 0ǢMǡxsRʾ#O'q' ͨn a -0#;J11<, 1-sxLfx -h:0 hJHhL`hxhN%hP hR$$hT((hV,,h^00h 44hX888hZ<<vxBH8(B__SRP_10J__SRP_11frmFuXuanXw__SRP_16prU $Qyn$%Z@WrU p1Y 498aY <y` @y` D!I0`IaW0   0 @  0   @D<HrU P$`$A`$`nrU (`&$Q`$`  $`$< |= û xRXRRR RRRR@@ME P@$@&@"@6 <<0ꐤHPB HꐒHVH  H @ @p@@ꀌh @z@ֵ4@%WJMCMKMCZDGLKZ @%P$ZDLDKZSJG%0@%$phPh~ &hP%hV h4hP0(hVH h`hZx  v(@ %Hhhh8h:0 hJHhL`hxhN%hP hR$$hT((hV,,h^00h 44hX888hZ<<vxBH8(BꐎxHTHFH  @ꀐh@J@\H@P@(hh@XPxx"(pݼXPx$%Z@W$*\Rffff*0P57515c1d$*\Rffff*0O57515c1d(*\Rffff*0O57515c1d\0(*\Rffff*0O57515c1d\1(*\Rffff*0O57515c1d\2(*\Rffff*0O57515c1d\3JJ  "*@p "&0$X$  8Pp   (08.@p    0H`x ( H` x      ȫ־̬]$P'УŌ]$ֵx/ֵ洢ر]$x]$)У鿪ʼ]$(,ֵ]$4P)У]$WJMC%ļ(]$MKMCx%ģ]$ZDGLKZ) ֶι%]$ZDLDKZ* ֶƶ]$SJG#ṹ]$ݼ. Ϣ8] Ϣǰ'] @¼ܵУ]  ¼] @ļ] hģ] h  洢Ĭֵ] 洢ѡ] 洢ο ĬֵX^p^p  ѡб^^^p ṹ8^^0^H 0, нڵѡ1ӽڵѡ^`0, ѡ1ѡ^xp` Զ^^^__SRP_17frmTree$V__SRP_8! __SRP_9 @ p p  X)@ Z@W$*\Rffff*0V57515c1d$*\Rffff*0U57515c1d$*\Rffff*0P57515c1d*\R5*#e(*\Rffff*0O57515c1d\2$*\Rffff*0W57515c1d$*\Rffff*0O57515c1d*\G{AC2DE821-36A2-11CF-8053-00AA006009FA}#2.0#0#C:\Windows\system32\FM20.DLL\2#Microsoft Forms 2.0 Object Library*#26*\G{AC2DE821-36A2-11CF-8053-00AA006009FA}#2.0#0#C:\Windows\system32\FM20.DLL\2#Microsoft Forms 2.0 Object Library*#28*\G{AC2DE821-36A2-11CF-8053-00AA006009FA}#2.0#0#C:\Windows\system32\FM20.DLL\2#Microsp )*n û%DiJ%اO(t}bWDiR ?Is@~S%;NzU%G`J.xzU%G`J.%DiJ%اOMEx$ @SPSSS"R "j<"1>" LLLLLLL*LL<|<  0{7D7428B4-5762-448D-8D69-52C2C5060A0F}{063F7F13-7349-40B2-B37E-5397253BEB4E}`%"PL@bX @@b\F x ûA0LKA}FF|,^BO~Er;-W~4BV9eJp2hSOp!8xJp2hSOp!8KA}FF|,MEPSPSSS6"<<<0{D25EDFA0-42E7-4FEF-A88B-807E45B2723B}{7E572D9E-B6A6-4234-9213-08561F39EB65}h (@`  ,` `2``. 0 L` %`n@`2= Sh`Nells% %@(%RX%0PZ@W$*\Rffff*0R57515c1d48<@D= "   (" @H`hpx0P ZX   ( HX ` h x   "  &@ H Xh , V ( HP X`hp x RB@*oXؼгʼ@]] b 492 896 2 J JУ 8 :!N$x 2$J!V !  2$J!P $t%x 2$J!4 2$J!P $t%x $t%,!>9<9@S .text = Sheets(dicSheetName).Cells(dicCheckDataRow - 1, fxList(i).colIndex). checkѡ :!d$'0  0 0P .5B .7D $0 ģ .;Fyk . ѡypkh 2οqP HB@Jo8]@]Xp 2 b!B  2 b%F n 2 b%D$r'nk 2нڵ nӽڬ n0-ޅ1 n n $ :!6 :!N+xd@8ѡ0-ޣȷҪд𣿣ֻ0-ޣݳͻ$B'N N?0- :!6 :!N+xd|kkd :!6 :!N+xkh RB@*oPHAttribute VB_Name = "frmFuXuan" " Bas0{D25EDFA0-42E7-4FEF-A88B-807E45B2723B}{7E572D9E-B6A6T34-9213-08561F39EB65} dGlobal!SpacoFalse CreatablPre declaIdTru BExpose0TemplateDerivCustomizDOption 0licit P"& Sub CommandButt on2_Ck(0) .HidXEnd! 'ؼг ʼ,UserForm_A0ctiv7+Dim i As Integer, :jkH! strItem()S@ngWith ListBox1 .MultiSelect@Zfm A StylfmFK.*= LBo@und(fxA )` To UJC  If4'(Ce lls(dRowStart -P 1, AeA.Column), C(i).co™) > 0 T8hen5ourdicSheet& "!"8 & B).Range((icCheckD!* + 2L$Index)G0ih(Cnt3).AddressH6ABHeads'aOa.tex8_?F-*CaV ' cѡϧMSplit(7!, ""dd !Ej$EIEEg Fk=o .KCMbEK(k1 (j)E.`|ed  CE8xit |IfiN0k'j'- i iawa tFocu`DSubؕ1˕$k  aAďAc1ie1A1!u2}Ff,i=va,4 & Trim(J ~)`wIA/&@<> |""̃``S0-")#1ZrowѓLeft( Lenv)ah_E!eaMsg (("ѡAȷҪд𣿣ֻ",S"ݳͻ6aQ1 W "!/ R2(51{O O E `xx@b^ H@bb@?D(%`bC thi(%P  dh` Hi. `D ,0`k66"`fx ht% H`2F l`8 Dk 77X % `|+ `   `xkP i. pi x`h tk x% t% p( A%`2lQIf`.hapti`nf `   H)% h` $U)@PB% `% H ` ( 00p`2 `xtBo`  (  ` , )nt D% t pr% 8 ` 0 )/0ner % x ` 4   ` 8 i( Lh` <(( 0%`n`2 (`|k@ p `(kD)   K%)L0 A$% xP %`2v(δ ` k H)  %) % x % t8 %p h @ % p  %bT 8 @bV0<@bZXD @j`4@X xhp 08 h 0h Hx1 A^ 8 xTzf--@ x ----@t ----@d ---@P T @D `0H`x`xX \8:xP^Z\er@8d e us@b raw 8 your @\ iew @ L 0Ma@H s no@8 on@( bot@ scro@ h)@P spec@8 @h lab@ ack/@ ado@T)h@8(L( )0 @ b48z`V`2X%3 @ 8>`%BX@XX @ @ P@( @P$&@ @x @ @P h(@ PHaA@ ipvlm a@A@ m@| -@x I@t DPPPcPaX  8 h@PXp`mw%p0z`/)w@(l 9@h w@d @b X8w@` @\ w@X @H w@ 8 @8( @ g@ @ t@ GywmH`h :r^T^\lP@p @x`  @P  @L 0\&@4 lt@0 @, @0( HT^@$O tX00@" h@  @ @ ^*PphPP@x X0p`% @l @0h H @dO H0  @p`  @\ @X  @H @8  @( @ @ K@ 6 0 oft Forms 2.0 Object Library*#4*\G{AC2DE821-36A2-11CF-8053-00AA006009FA}#2.0#0#C:\Windows\system32\FM20.DLL\2#Microsoft Forms 2.0 Object Library*#42*\G{AC2DE821-36A2-11CF-8053-00AA006009FA}#2.0#0#C:\Windows\system32\FM20.DLL\2#Microsoft Forms 2.0 Object Library*#6c*\R1*#3c7*\R1*#12d*\R1*#278*\G{AC2DE821-36A2-11CF-8053-00AA006009FA}#2.0#0#C:\Windows\system32\FM20.DLL\2#Microsoft Forms 2.0 Object Library*#41*\G{AC2DE821-36A2-11CF-8053-00AA006009FA}#2.0#0#C:\Windows\system32\FM20.DLL\2#Microsoft Forms 2.0 Object Library*#57*\R5*#37*\G{AC2DE821-36A2-11CF-8053-00AA006009FA}#2.0#0#C:\Windows\system32\FM20.DLL\2#Microsoft Forms 2.0 Object Library*#45*\R5*#38*\R0*#f*\R0*#14*\R0*#16LPTX\`dhlptx| ( 20 h*x ( &   (@ HX ` @h p "   "3 ,(H P p "   8,( @ P` 0      &** X@ n % (0&H X&`       <PX `" H @  0@ P h 5p -  @ @     0@ H `h   (  0 @  H P X ` .h       " @     "  (  8 H P X  `  p  * "  *        "( P0  < 8  ,8 Ph . P 8 @ H P ` h Dy    H F@ 6 F , J8 B F  D  `          ( 0 "Hp  x       ",     %(  8  @  8P T   Fp    (6J 8 X)H 0 > P <`  (J $ (J f 2J n  n( ,  2J f h (  6J :J8 \Jx  < 0G 6H (J ,G " (J .( 8H B}      4 0 8@ H@P`x D     "  0 P&`  "   &(  ,0` x    *   (8 @PX` h" x  4     0 @ X 4`           0  (! @! P! p! !! !!! !!! .!" ("  8"H" "  P"X"`"D"""" "# # (#8#@# H#"  h#p## ### #" # #$"  $ $ $ ($" @$ &H$ Rp$ *$ F$ @%P%X%`%h% p% x%% % %% %%&0& &@&h& p&& &,&& &&"&''8'@'  H'X' `'"p' x'' '" ''' '%' ' ' "'8\(H( `( ( ( (( (  (( ( " ())  ))$H0) X) h) ) ) )) ))) )x!##########Treeview Code##########+Add this to your form's declaration section]@]@  to exit a SpinButton event"/##########Treeview Code########## ''' for stress testing this demo]@ ]@0 ڵǷѡ?]@ ѡѡ?]@X index]@]  ] x]?Xֹǩ༭״̬?'.o ¼h]] :!|$r'f ^!T ^$\!V ģAl TextBox1.text = "". ListBox1.Clearkp f ǰԪֵHB@J 8 P" ʵ \ ѡ]b f$'%D h P!n'n h(p 2 hn 2   2$ P%r.h hN+ h(p@k8 2 h h P/tkd  ѡ P!t1 ActiveNodeʵ QIf mcTree.ActiveNode.Caption <> strCell Then ' ActiveNode뵱ǰԪݲһ hһڵȱʡActiveNodeǰԪǵһڵ㣬ûиʾע͵ж f P%r.h? h h PBv h P/t2=dAl' ûƥѡػ洰kp End IfkXkPkH ѯ TextBox1.text = "" ListBox1.Clear PeAl0ûиֵǰδActiveNodeӰ죬ػ洰koؼʼһϵв0Bsee the Compile constant DebugMode in tools, vbaproject properties9DebugMode=1 will enable the #If to Stop in Error handlers Hide the Image container !x($ !x(hMe.Width = 432'T !z!|!~  !z!|(~kX'T ?  '@@( ]p 5|(~59595!9q  ! 59595959 $ImageK SpinButtonKTTextBoxKFrameKT 5|(~S 5|(~nqA(δѡĿʱܵȷд f(hĬѡеһҳΣ (|o    'A@o P PB@.Pk'X ( ` (Tox########### Treeview Demo ###########Make sure all objects are destroyed P PB@k.PoI------------------------------------------------------------------------- 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-------------------------------------------------------------------------]]]]0H]` n \ \ 8 :!N$x n$\!V Y λĿ.POn 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 classl GoTo lbl_Debug_Tree n'^0 n$\!'Z нڵѡe P(d('Z ײӽڵѡ** P(k0 n$\!Z'\ P(% ѡ˫ѡȷд (Tݱd'\ P($ ѡ b 492 896qH (Txk0 P n$\A@$ 齨 l |k n!d  P !z=*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 . # roots! add a Root node and make it boldRoot . Root Node .7. ( %Tip for Root Node .-. 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.r !_2.1 2.1 level 2 %. FA@ (+^ 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:V !_2.2 2.2 level 2 %.L _ 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 (pjDi !_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 %.FA@ 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@l Add a 4th branch to the root !_44.D %.4.D + V (T 2 add a bunch of child nodes to the root's 4th node 2 V( 15' !_4. 24.000 2$ v B@ -create the node controls and display the treeC@q| [ ! ! xp[ ! ! P PB@k0o(treeview˫Ŀx \ ѡ Z ڵѡ !T :!6 :!N+x ^B@*$t !e, ײӽڵѡ !T :!6 :!N+x ^B@*Hk@k8o0 ֵϖ Z ڵѡ \ **********ѡ*********t]H% ֻҪһڵ㱻ѡУȷť   P!n$r !pB f(h vy`kX  d " **************ѡ*************  f(h 2kd !, ӽڵ f(h!d f(hkko ¼h] b!B \]]' 2 b!B * ȡ豣 2 b%F  '^k 2 '  '` @'!ެ' 2 b!B , ȡ豣'3 2 b%F 2 b%D +  '>Xk( 2Bf'C@ bB@dE'F 2  - дcheck 2$ bB@'UT 2W'X 2 b!B '` 2 b,F 2f'gdh bB@dk'lkPdH bB@dsX't&k0k( 2 ^$\! ^$\!* 2 ^$\%A@(' 2' f(h'oH] ! `!d R'x Z !(, ڵѡ ߸ڵ㲻ѡΪײڵ' ! bB@'kk !Œ'Ä  !|' A@' Z'zkolistbox˫Ŀޔ'ږ \ ѡ b!d :!6 :!N+xz ^B@*'k@o8listboxĿ<(V8 f(h ( ox f(h((vo ȷ¼(  If MultiPage1.value = 0 Then+pL Cells(ActiveCell.row, ActiveCell.Column) = mcTree.ActiveNode.CaptionE(F$ ElseIf MultiPage1.value = 1 ThenT(V@ Cells(ActiveCell.row, ActiveCell.Column) = ListBox1.textmB End If \]]8]P'n !|! ѡ  P!n`( !p(V n !T$r'nk b(d  ڲѯѡ 2 b!B ( 2 b%F n 2 b%D$r'nk 2ܤ(jkx n( n n $ :!6 :!N+x(bk0d( !| P!t!T :!6 :!N+x0),d b!d :!6 :!N+x)jkk ^B@*6J)8oȡд@Җh ^B@*E)Gop 齨Md]8 ]X   !z=Y0C !`9`)_ 2 L! L!i)k2 2 L%! 2 L%!7. 2 L%!)| cRoot.Expanded = True)(  2 L%A@Else) cRoot.Expanded = False)~k0 2)JC@qop ] ]    !) ! !7.) !b)~cNode.Expanded = True)ֈ  A@٘Else)cNode.Expanded = False)k0 )qo8Attribute VB_Name = "frmTree" Basx0{7D7428B4-5762-448D-8D69-52C2C5060A0F}{063F7F13-7349-40B2-B37E-5397253BEB4E} 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 A6List(f7).coB I2aFInitializ'!1TextBox1.t4"! Ce@A %2'E"" ' ǰԀֵ!2 #`NoCaD!6 Is hfHʵ @ X$[ a+Item(),., i?YaSpl C, ""-; Each 6In$.!7s!.checkiAaNa*b  i@LBound() To UI Set"=get!ByKey(i)"&a,"M,i # k>&ig9> \  IL B=*H. IM% 'N 6-).ݲһ — /һ[ȱʡ1F2!ûиʾעжϐI "~."4 "#I9 CEtScroPllToy(, 0, , O b3rLe "Aƥѡ洰 %}A'-c' PJT0 TwT`-:,/: [ '"!ֵǰαq)[ qSubbnؼʼһϵpвנZe ?e!opyseee mpi{cant Debu$gM1oinPols, vbaproj pper(tieT'=1H wijenrthe !PStop Error handler#XHidImage tainQMe. tPm.VisiZ?\.Eb1'Width0432ԥq`nt2.Font.Sx < 4zQ = 4C1SW(= 1ghmIg + A#Y랁wobj$CtRMSas.ap[X 0.*p/ 3LHeight .o.BackCol`$= .labInfoG7 2 1 ?(bs .Lef ( >S .T/= % _eKel;CType(@b0"6"o u""Fr"etEʸ@lse .Font.Siz@e = 10End Select 6.With*(NexF#8If 8Call Initialh_sub'δѡĿʱܵȷ@дIommandButton1.EnabledFa 'ĬTһҳΣ MultiPage1.pvaluzyWSJPrivate  UserForm_Termdin ()#%#If DebugMod Then gO+ 1ClassCounts HcmdStop_ClickF CNot mcTree Is hingG.N@+sClear!Se=EC!r4mlDemoNo3ĉMe.@labInf"" Caption AppNam4'# ,view@Rmo bQueryClose(Cancel Asteger, cGl'Make@ sure oDbjs adestroyed/Rƅ1 LU B8KAw'-?C ' Prohced :q!C@ompany<:` JKP 6Lab8Developmentrvi@ces (c* AuthoraCan K *l Pieterse (www.jkp-ads.comQbCreidb 15-01-2013urp:"g!s the u@q:f@q, Fadd#VBA t`)Itoc`ai@ner frP @R n @popul  .@_1?"EDim cRow@Uclsr(A[/ExtraiLong,, kE sAIn'eE s@uLB d(AList) To Ul# BInStr(Cells(dataRowStart - 1, A ctive.Column),3Q! (s)Al) > 0 ' λ h``"nV'On ErrQGoerrHEAE'@" *DneeGa GDFBDrolME@EN'Just @draw aJy ouL T wheLG should appʮȒcThas no bordVݡc!"it ] wth sc l bars. (Keep#avisirbxoth8 Qspecpz eff@R "Sunke.n]ee5at o`PX9ats@Vch back/@elor V5f8 adop''s properties, so change if/requiredI( c0Hcopy?np?6d`#Cfrom isfE H} p0zE of0Gcq}wCR)lbl__q"IndexP8h"0"03xzfs3 xfFlg Tr' нڵ ѡiXfCheckE&W9ײӯ ć.Bu_Ayxdx^dxSGR Boxi= B P ѡDs Label2.G"˫i8/ qUB @ XQ .sfmY .QStylfmOrq9c xorgq,]L齐gExJSu ! !1 00 2:\27,L.>= Pfr(`Ȋ.i@ "'AsomNharac Psicsz @r}A'whi`RQEdp we pP upJJcA:box 1`spinqim@n"G m p/.BEdit(b`oSort:=() IIf(cbxAllow1.Va, 0, 1)defaaUbe eq(li sta tvwmpc/ManHualf n{in v022, 7ۆad]aljL12' #~ 2$zn6o@k1mA@)bolԿas= .Add1(sKey:="" & k, vCTPӜdeb.B I(+TipT`" !cW@". atxipsnPPdois< D 'Add branches with chi@ld nodto the ro@ot: 'Keys are optional but if@ usinglmy must be unique, attemA2o aa{a duplicate keyll cause a runtime error. W(below we3includKa(qw) "Set cN = cR.C( & "_1", "1.A"'C !a 2n &7272.B7If you want4moٗ!a lZ`r on,qYvariable|stAK\B,EpxtraEIUI2.I level 2A0ɘc.Expandebd^Fal 'isEqinititycollapsed, it's co`ntrolA@ n&oJreAd  oTŧN, make suW\s@a IOits 'main' por p@e when c@'T]BB@3 method .JddI2V2L"k TriSt@&1 @]automatxlly 1eck2each triggeraa Ch Bnt A f:owCree:9]Co@aFt yA4dJwi@[s j.Box"4".ATTrue-H1@!2.cc3c m .1<4 AÎ x5CB2e tte @sc`nlwidth#8 PF { FV2iP1 0[ '8 15Vot.}4.q iP}Right$("0004N/oKw'_@Te3mfjo disphlaytpOw.Refresh5EWWExi t Sub Hb#pLDebugMCf1 .PYt Err.Source,De >0Br*# c0(, jqI()fSpc 5=< 0a(!qo U N.ListCount - 1 ' ȡ If Box1.Selected(i@) ThenJ  c= + 10End IfNext i#b=> 0 UReDim Item(1 To])4 j = iFor iDo' S#uIj)6'Qj d !.C0lear uLBd(o U' дcheck uFAddYiHWW% Z* T= True KElsSAIQ Q I ALRPtree(Index).nodeIWC3filterTUU =ACommandButton1.Enabled@K/Sub Private  K(ByPRef N@. As cls#xchildA`qInStr" !.i`]NameX, Twt) uxfFlg Or Not8.chڵѡ વײa:EUE&#G;'A?Each C!InI#rl:7 3 5'l boxĿ7_Db@lClick 8Val CancelA4MS`ms.ReturnBo:on"9a-dxH,ѡCells(Activea.row, Column ;frmF.Hidq# \w[$jCa#Integer _ C b3ȷ¼ _'!R.MultiPage1.value`tB//mc-3nCaptio E@V>zw%!CPA@Ec strqCinggiASS= "" '`C ;; sE} H pT=3Q&him() & " /d{! ѯ ?FZ 5Av Vf  ՘|<>-DDeft(P, Len)?q 5__T5v5w0IRRRts  +Tra'ȡд{_G2WG  ' 齨_1Iorg!EԀvi,ewq8V, ÇType"Ro`|フ>q =`With  @ Set .C@ontrolQM8e.f2$Ca0ll .R;*.App1EuA@A5T~ϚpCU bc = .@(sKey:=63툏vT#mQ T-Q+:M1 '.ExpQC@ ,҉w '9,Fa*ufresh1sd'& '&Rx(&r(҈'fa pa_*c  n:=6a1j,Ө 'R I3b <,,p Lp , ),p p Llpcp d@{&($HHtx $Lp,`P(x x xx x Tx 85tx x dtad )xt5d-(T%tx x dt,)xt 8x! x 8xx! x x8$({ xtd8c=$ 0   Px Llxcx5x Lx xc= [x Tx? P${ x`vLfvcb*y(8%\$ ( \aL"i%H$ X HkfvAF(]t)\H6L [\ T\ kfH kfvA0 D\ L\ H \ D\ L\ H \ kfvA 0r F+\ L\ P \ \! \ @\ F+\ L\ P \\! Q\  c\! \ @\,\ Lkfv.@Q\HHD-H fdb\ LQ\%\ l\=[H $ )\H   l 8 /hdOJ\''lh#*FLlh#*ǔ Q\x26L+x ()lh#*#*#x L2Jx |\'':8NLLl*ǘx Q\t26LJx |\'':8NLLl*ǘx Q\t26LJx |\'':8NLLl*ǘt Q\p26L p TJx |\'':8NLLl*ǘt Q\t26L+ L kzcLt 85LJx |\'':8NLLl*ǘt Q\t26LJx |\'':8 NLLl!*ǘt Q\t26LJx |\'':8"NLLl#*ǘt Q\t26LGx |\'':8$NLLl%*ǘp 2\6LJx |\'':8&NLLl'*ǘx Q\t26LGx |\'':8(NLLl)*ǘt 2\6LJx |\'':8*NLLl+*ǘx Q\t26L.,<#*#*FL%t 025Ll<dE}x |-ll#*# .1t\''/>t#|*FLl0*#ll#*xt 2|xt\6L lf hf  cD 1\\ $2 1HH ,2ll 32)\H\ Ll\c\\ L\ \8{ xtpH|xt\HL0 x  0   0 h rU ;!5"QYH@QDY=1= >a"H1)HHY1!IyIaJAJJJJJYK1K LKLYL ML)NMNyNNNIO)OiOO)POOPK P iD( [y<Iq!LP T1XQ \y``idhlptx9|a9 y`.a ``Q!I0```0`YY9!99QiaY ` `Q9 `x/'g'g___i0   3p$ ( pa`P 5P`1xp6`P,6$7a``#LHvA=/L5`h  lx=p Llpcp F8:48N``lxP 9P6 Y0H6`P,,p Lp Q,[(tp$f`t 85` t$lHLFlHc 0,kFlH.@p Llp: -Q,tp ltcc`t 85` Fd 9 ltc<,,p Lp , ),p*,p Lp ( l,c)p,%,xp Llp: Q,tp ltcy(+Y0tp Lp p 0 H  0   0 8  0 x  0   H6$7a`${ ( p%l ll=[hp $ )lh p d ldp 8 /dLvc`\dkvAX 4\kvAX 4l''(>\FH>dXp Qlx/X6H(kvAX $4kkv.@xH- vd`s p cp |(,{px0 d\XlhH(  plH ,4Ql[htd4H`t 4\t 4l''(>\FH>`Xp Qlx/X6H(t $4k txH td4)cp x8{ phdtx(`\XlH( 4      \'$`,Q`(q&&$`, ` 3 ,I`$ 3 $ `(, `,3 ,  `0$I `4 ( `8&$`<$ `@8I`D3 48`H 3 3  Y@4n<jxû#<iD4)9= FܑKDk-?$xܑKDk-?$iD4)9=MEclsNode&k__SRP_a"w.__SRP_b$clsTreeViewP`2Z@W*\R0*#1d$*\Rffff*0U57515c1d$*\Rffff*0V57515c1d*\R5*#5b*\R5*#5f*\R5*#72*\R5*#2b*\R5*#e*\R5*#d$*\Rffff*0U57515c1d(*\Rffff*0U57515c1d\0(*\Rffff*0U57515c1d\1(*\Rffff*0U57515c1d\2*\R5*#2f*\R5*#28*\R0*#17*\R5*#44*\R0*#e*\R0*#f*\R5*#41*\R0*#1c*\R0*#1c*\R0*#14*\R0*#16*\R5*#41*\R5*#4fY)  R h `p 6  8 H BP L F 0 P8 2 R P h 2bzdd1û1Je{D *=h8+3qNOc( x `NOc(1Je{D RXRRpRRRMEx$(,4< 8@SS S 8)8"j"R ai1H $H*H0<11 10(>"*LL*LPLLPP<|<0   "7@   N0{FCFB3D2A-A0FA-1068-A738-08002B3371B5}h]"h<P@% %%%%%?@%%(~on%b\ @bp @b0t @BX @b`@b@b @"p(@%%%"d@b@4 @"80@"@p@"D@bH@BL @bl@Bx @b8 @b @B 00 @"|8@"@@j&0CD% %$p $*0(0H1,`<Cb@XHx7%@: ,!hhIx+HYi kC Ah   _iB,!(hKz+ $hi  Ah h(liD @@ !ThLl+ ,si  AT`h`<Lk(0wI `F=h !ph  4i  `D Aph 8**IJ `L `N `P R%,!h<%) %,!h hEx+@ 8 @  %)`  %  h:|+ D )e  %,!0 h`Nx+ H i A h p L if,! h[z+ P i  AP h 0 T ih ,!p hJx+ Xi Ap h \ iB,!r h X P `%)x %,!v h d%) % !xP h 0 hi  Ax h lIz  !h p i  Aph Pt I  ` x` @ 0%,!`h @|6i Ah@o33:i `v `2p l%,!h Pmi `b %,!Ph %) %`2(fE H01%,!^h %) % ^(hE|+) %,! h ph%) >%`2 %,!B` h  %)8 % X(hE% ! h  i  A  h ! I , ` ` "00)5`$%)`(%i  a `(jE`0`2 x %` M,!`=k#EEi 8I X(hEI xIz 5%) %`Nv a Rp%,"` @$8i`i * 5%`,P#` %Mi `n(mE H0%,t$` &**ai %) HnE% %`,! hFt+`X'%) %  hHlk( ) E%,!0P h8Qx+0)i A0 hPD|+*i  Ah@R|++i ,!ph P,i ,!Lh@Cx+-%) HqE% LHh;|+ .) @%,!h /4%) 4%  h 0)4%,!jhXt+h`1%) 5% jhhZxk2) %,!hhVx+@83%)` % hX|+4) % 8hP|+5) 0%,!hhOx+x6%) %  h 7)  %,! h X P 8 %)x ^]0 %,! h\x+ 9i ^z A@!hM|+ !:i ^ ,!!hRx+!!;%)! ^|% "hT|+! <) "_% `"%` ="" "_1p" R"_Dh% b0#&` ">iP_j R(#_s%,#'` p# ?88I #_i  _ @$(`#@EEWi _`_$`_Ҟ,8%)` $ A'')$$_%i $`ri  ` ```2` D 0%`)Z% %*` $B  R%`N% &+`Tdk%(C..i `xj Rx&`F% ',` X&,D )&&`. x&i&`ɾi&`)''`^ &i8'a$)X'aa(%`a `a+` a6`"aA  (-`(0ESSi$ aqn \(.` `( 4Fni  a> (aL0% lP)/` (8G,,in a` aŎ@ aΌ H)a׾0% 0)0` <H 4)1` @I""`L b6 8h*2` (*DJ)/H*b>8%`: bM @@+3` *HKiB*brxi*b|iD+biFb `L b LH,4` +LL))iB+bńi+biD+biFb`L b`N b,`P c T,5` PM < .6`x5*kTNF`2xcC`V,tcN\`XpcV``Zlc_`hciN`dcr`\`c}(`^-\c``@-XcH@bH cj@d8 c4`f4c`h0c$@j- cd@l- c@n- c֦pX- c`r-Ccx. /7` .XOMM)./d<%id ` d` d2` d`d% /8`8:|+\P  9`(Vx+`Q#(00%"X0H@"0@"0@"!2P@j(Cj, 1Cj.Cj2p1Cj41Cj61Cj81Cj:Cb<82XC"?@@+12,XP h@$8% (.XX0P)  H,p`p10/ &)0(82P @h0/` ( ")p 0 "0# 800p H1 1P#h*@! P P!%(100 ``1'Hh8h eh>`,(-0.`.p-.H.-.,866 :@66x98H806h8H`e86e@X6 e@p6 e@`7 eŖ@6 eV@6 e@@6 eH@7 eڶ@07 e@7 eF@H7| e@l e@\ eX@X eTH@7hdH f  !8@(88|H(H ) 8 f'x>f*f, f-2.`%9T8`f6\%8h8*;f<@8P fB881FfGp@(9L fM~981PfQ@9H fYF@9D f`n@993dff @P9@ fmh9(93qfs^@< fz9P93Rf@8o f9x934f@4 f9x9Cfr98Hf09`f%9OfV@, f@* f:fZfrff ;g)g+g-.X H<gWgXgYZTHX=@==p=(==@l g=g@gtg@d g@` gl@^ g@L gXX>x88@>H?? @?>X>@x>(`8g @>xp>h%>X>Xh>>@>h0~xT4@h@l h!r%?h>`h' %?>,<h-\@?X h2@0?H h:@`?8 hBP@x?( hK@ hQ,@? hW@P@ h^x@? hej@ hi?`hn%??>pL^@ @ @ A@@ @ o;8ACxAAABhB`APA`xB8AL@Ah ?@(Cd @AT @AD @B4 @ B$ A@8B @PB @ @ ?@B BhB@BO ABBBB;B` %B @ @ A@ CC8DD(L >o; LCxD%(DCCzCA CDDo;E?FFFF( xFzC % `FxF %FF`Fo;GGGGG( G?% xGxG.a%GGxG@t 0(IIY`@Hl] )H@@Ix @XIt @pIp ?@l @J@JxJXJh `(JxhJ@J?(JCA?HKHKK`Khp o;`p0KxpKHK0K PLPLLhLh `8Lz o;xLPL8L?XMXMMpMHT D@T@Ml MXM;@M !HN-:zCOOPO0Oh .a`Ox@OOO?(P(PhPHP( P% Px@P%XP(PP? QQQ(RRh0 `0QxRQQ?RAADSSSS( S% SxS%SSSzC?A!T%%UUVUhUU0@t @Up UU?@lO UU U;@j @d VV?@x WWWW( W% WxW%WW?WDA$?Xo;;YPZY8ZY(k Y% khYxYzC%YYADhY[h@ZZp[([ )Z ?@t [p[`@P[x] )H[?@x X\X\\p\h `@\z \X\?@\+?`]`]]x]h `H]x]`]?H]Dw+?H"RR X0/0P5      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnoprstuvxyz{|}~q< 8  >  P`     > V8DVT0*DRXp    b"x.      ( 0 8 @ @H  P `  h x      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` h@p  21 R-8P ` p x   "  1  +  (0  8 @H&fPx B    @ (08 B0 @ 2p       8@H B P Xh " p x B  6    ( 08 @ Phpx B    B   "   $ $@ $h B   P 8@ HP2X     @ ,Hx   $    0P Xhp x ^ B$      (  8  :@ X  ` p  7x          :     ! !! ! (!0! 8!@! H! *P! !!!! !!  ! !!  ! !!@""" " 0("JJH"".f""" 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- B 8- @-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" 4 8 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 D EE RE DhE E EE 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  aa_a"na'b b /(b0@b %Xb `b,pbb,bb,bbbbc c  c  c0c 8c @c Hc I`c c;c ccc c cc dd d(d  0d@dHd  Pd Xdhd xd d d,d0(dd  d d  d  e  e e e  e  (e@e PeXe pe  -xe-e ee e e e  e  e  e 3ef %f - f8f  @fHf*Pf hf Lxff ff ff 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 hl l @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 for?E 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 : clsNode5 Company : JKP Application Development Services (c) 1 Author : Jan Karel Pieterse (www.jkp-ads.com) Created : 15-01-20138 Purpose : Holds all information of a node of the treetiI-------------------------------------------------------------------------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 changextBo]@$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 editboxp]@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'&'( p','. '2'4'6'8': ] ]X2]@82]D '" "********************** Public Properties ********************** '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 B' G'j  B (km 'm( D'   !|(km 'Tm]H '  X (T !H !'d( !'F (H !' (Hkkm`! PT. Checked values are -1 true, 0 false, +1 mixedd If TriState is enabled be careful not to return a potential +1 to a boolean or it'll coerce to True 'pm' PT] 8]P]h. Checked values are -1 true, 0 false, +1 mixed8 if vChecked is a boolean Checked will coerce to -1 or 0) if vChecked is Null Checked is set as +1 J$T V J'P J$Xe'P J Je J'Pk P 'L P'  L (ZA@\kx % eg during clone N %'L N ^!T RootHolder ^B@`k  R   RB@bkkkm7 PT Returns a reference to the first Child node, if anyP$.m8 .mh d.m 'm0 f' eeCo  ( trekm 'm h' !jnA@lZ !enA@lP(k0m(P 'pm EPT if lColor is written as 0/black, change it to 1 as 0 means default B'  G' j  B (pP(kpmh + PT Root has no parent %t.rA@km + PT Root has no parent %t.v7+ -1 flags GetChild to return the last Childk m  6 PT string name or numeric index for the main icon keynd s 'xm0 P 9 PT string name or numeric index for an expanded icon key| z$~ 0 z$d tC z'k z''k k |x mp  6 PT string name or numeric index for the main icon keyoots 'm 6 PT string name or numeric index for the main icon key7| $~% $ot ' G'jk kx |p mh p]]]@  %    % _ error if Icon or Control is not yet created, silent abort, it'll update in the next BuildRoot a   !(d  !(kx kp kh |` X 1.@ 8 0 o(  'm `]]] Lou wan '{   eater o{ k   L!n%.p  lev B@ standard duplicate key error will k K to change the Key, remove Me and add Me back where it was with the new keydd a b  L!nh, mak 2 '2 a   its'ykxp  L!nse t 2C@s AddC5<  2C@_2d  C@ 2 kqd! Let Key called by via move/copyk '{ !Let Key ! B@lom]p]`'checke !^.et not  'ec !^.G '{ 1  m-# can't name this proc 'Next' in VBA+ PT return the next sibling if there is onewith e]]0 !^h 5A@ 2 '2an   to yk5!< 2 2 7. lkqmP .^the rom . !mp(/ PT return the previous sibling if there is oneB@]] !^ch t  !^!! 2 '24.  .yk 2 2 a 2 7.dekqm]@ .5' !^!^b2 !^. 0 .BB@m` 'm ' m****************************** Public subs and functions * *****************************p  . &  PT Sorts the child nodes,J returns True if the order has changed to flag Refresh should be called]]0H!T]`]|' !<'  error if no childnodes to sort!T !N nothing to sortz@k8  ֵ   2   *** 2 2+** 2 %!T 2+һ  &G'j3 descending$r  .G ,'j$     A 2   2$ 2 $ f('yk  2   f( 2$$ B@ .'k|X Probably(?) any error was because there were no childnodes, no need to raise an error*i  ]].R I !nI  R C@IĨ  R(I"d RC@)LI*kp5< R(0I2qX 8I9 .= I>Lk0 R B@G R $~N.  9kk z$~`^ z z9xkk 9T  -1 = true, +1 = mixedzI| N % N9pkXkPkH =LI< =^Iq  R.@Iz ,  d !I  clsNode.AddChildDuplicate key: ' ' B@ҖIӠd` !clsNode.AddChild ! B@~k(i I------------------------------------------------------------------------- Procedure : ChildIndex"5 Company : JKP Application Development Services (c)J 1 Author : Jan Karel Pieterse (www.jkp-ads.com) Created : 15-01-2013;; Purpose : Returns the index of a childnode using its keyVJXI-------------------------------------------------------------------------]]  q  'u  ! '.z k.i" PT, get all the grand/parent keys assumes use of key Jd]]0 !'nJ .J ! !^.8 !\ n'nLJ60( n'iPI------------------------------------------------------------------------- Procedure : GetChildJ"5 Company : JKP Application Development Services (c)KH1 Author : Jan Karel Pieterse (www.jkp-ads.com) Created : 15-01-2013. Purpose : Returns a childnode using its keyK'I-------------------------------------------------------------------------]] $T EKF  Kv  ! .tSPKTP.zk eKb ' i !<'Knk  Kt $.tdF.~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************************************************************************* .PL! m .-L/ L6h L> !!| /|Edphk`kXmP' PT '0m0PK PT Index: the order this node was added to Treeview's collection mcolNodesxLyU Index will never increase but may decrement if previously added nodes are removedL 'm` 'mH* PT 'm(p .LzLm .L mH .ƖL$m .LDm  .jLXm .Lmh .nLmHh .M`m( . Mm8 .MZm . (M*Xm .7M8m 'm 'mx@! .OMPmX! .WMXm8"D PT set triState value of parent according to its childnodes' valuesu@Mv]X"~>M]" M R  R!p$ R!p+2M"p$M^+$ !<e+$ !<e +$d+Vk $0M$'ÞA@\kk !T RootHolderM ^!^ ^B@`.MkXkPoH"5 PT, make checked values of children same as parent'sM' only called if triState is enabled]#  PN P'A@\k N R  P RB@bhk`oX0#. PT get the appropriate icon key/index, if anyN/  5N6 ''Not IsEmpty(vKey) '(TrueND e ''Not IsEmpty(vKey)TkiVFriend Sub EditBox(bEnterEdit As Boolean) ' PT new in 006PT2 ,,move to clsTreView?N}J'-------------------------------------------------------------------------' Procedure : moCtl_Click' Author : Peter ThorntonNl' Created : 20-01-2013"=' Purpose : Enter/exit Editmode, show/hide the edit textboxNFJ'------------------------------------------------------------------------- On Error Resume Next: Set moEditBox = moTree.TreeControl.Controls("EditBox") On Error GoTo 0$N If bEnterEdit ThenN$ If moEditBox Is Nothing Then O U Set moEditBox = moTree.TreeControl.Controls.Add("forms.textbox.1", False)O*& moEditBox.Name = "EditBox"O; End IfOC With moEditBoxOS$ .Left = Control.Left - 3cOd$ .Top = Control.Top - 1.5oOq .AutoSize = TruezlO{X. .BorderStyle = fmBorderStyleSingleO^ .Text = Caption O`J Control.Visible = False ' hide the node label while editing .ZOrder 0O .Visible = True|O .SelStart = 0# .SelLength = Len(.Text)O .SetFocusO End With( ElseIf Not moEditBox Is Nothing Then ' exit editmode( If Not moEditBox Is Nothing Then)89 ' error if moEditBox has already been removed On Error Resume NextC% moEditBox.Visible = FalsePP moEditBox.Text = ""\*# Set moEditBox = NothinghPj End IfPp. Control.Visible = TrueP{\ End IfEnd SubΖ#-( PT new in 006PT2 ,,move to clsTreView?P^I------------------------------------------------------------------------- Procedure : moCtl_Clickf Author : Peter ThorntonPq 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 textboxPI-------------------------------------------------------------------------]$($TPEditBox !%.LabSizer !%.>  ;Q`,Qa !! >(QiL !! >(rQth >(xXQyķ >(H}Q< >($Q k  ! 96Qj !? 99H !!9 9 !TQ !T9dQdA@k5'5'C@¤Q9$ ($QZ9 5d9 ӐQC@J 9 9q eQ exit editmodeQ Q , error if moEditBox has already been removed`R ($lR (dR& If Len(moEditBox.Tag) ThenR(`B moTree.TreeControl.ScrollTop = CSng(moEditBox.Tag)" moEditBox.Tag = "" End If..>k ($iRkvko@$%PT remove a node from the collection,R~@ note, this is only one part of the process of removing a node]$]%]%  2 !<R 2$. 2$ ΰRT 2 B@з'yxkphd`  "  '  R:  B@h'ykk? !<. (k?z??  RemoveChild ! B@i?8%]x%  R B RB@@?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  R  9 recursively drill down to all child nodes in this branch  RB@:k:K If deleting individual nodes while the treeview is running we also want to>> remove all associated controls as well as removing references A@ '0k :k:..o:******************************* Private subs and functions *******************************&3 PT sorts the index array based on the string array]`'x''' A ' '   $$' ?  b $$      b??  '8 $$      b  '@8  ? $'" $ +@ " +  '  'k77  $     Ak7  $     AkX7oP7'*PT Delete all controls linked to this node7 !! ? !C@.  !C@.k6  !C@. kx6  !C@?. kH6k@6  !C@.k6  !C@.k5  !C@.k5  !C@.k5  !C@.kP5 !^ K if Me is the last child delete parent's expander and VLine (if it has one) r v !^! !^!!C@? !^/k4 !^! !^!!C@ !^/kH4 !^!j !^!j!C@A !^/jk4 !^(k3k3q3 $ (0: flag this node to be removed from mcolNodes in NodeRemovekx3|p3h3 StopP3oH3 (](     %& 9d2 a$(9T 5p$@= $@ *$(9pkx2kp2qh2k`2 Checkbox B@,i82(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) n !j   %.? 9d@0 -9TAd 0+9Tk0k0q/k/|/  %    %   !((4 potential error if Icon is nothing, let error abortd`/  !(kH/k@/k8/|0/o(/***********************A* Node Events ************************P)$ PT new in 006PT2I------------------------------------------------------------------------- Procedure : moCtl_Click Author : Peter Thornton? Created : 20-01-2013?9 Purpose : Event fires when a Checkbox label is clickedI------------------------------------------------------------------------- %2 exit editmode if in editmode ,2k- 'p?d,'pk, !t A /t Caption B@,3 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-2013?5 Purpose : Event fires when a treebranch is clickedI-------------------------------------------------------------------------@ PT the call to NodeClick will raise the click event to the form])  6 !(.'Lk(* !t /t?'L Le ! 6'Lk) !t  L: only raise the event the first time the node is activated Caption B@,1 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* : %< ,2A@ى=d' 1 moTree.NodeEventRouter Me, "Caption", tvDblClick Caption > B@,k'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](+ !t  !! H'Le bFlag = bFlag Or Me.Control.BorderStyle = fmBorderStyleSingle ' in Access this should be uncommentedk& L !t. /t   !($@ !(Jk%k% %2+ if any node is in edit mode exit edit mode ,2k8%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 D D5  F F5 'Nqx" N H if the last-activenode was marked for MoveCopy we will need to reset it  P %R'L  reset the original activenode 6 !(  /t L  P 3Rk!. Be D the click event doesn't fire with right click so explicitly call it2=A@4k !k!@ moTree.NodeEventRouter Me, "Caption", tvUp, Button, Shift, X, Yo H, ' %2+ if any node is in edit mode exit edit modeA ,2kH Expander B@,o ,} 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---A]--]-]..0.]H.]`..:= pG|jX !5t r '\?5v5v5x$( r '^5z5t 5z5t$( r '`5|5t 'b:=q !? 'd !? 'f 'h h ~ h ~$'j h e h $'j.:= h e h $'jd j. h+jk j'V >A9T5'9T'Z 2 V? 2$j $'n?? l n5T l 9T9H5 \ Z 'Z l 9T5  5'5 \ ? Z 'Zkk5  e5'k 2 V Z 'Z9Tkxp5  G5'j  \ G \'cG  'jq 'p  Z 9H95 'X9  X9   Z ^ ^ 9d  Z 9k f5 ^ ^5  9dP f9k@ 9d099H9 !? 9k d5 ` = `5  9d d9k55  b 'b b !!| b !(|k`qXP'p|@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/    '  !T 'dX I note: sNewText could be parsed where the RaiseAfterLabelEdit is received  %'    %<'     A' Mac doesn't seem to use vbCrLf/vbNewLine, only vbCr or vbLf (?)    @$  @$ (Td(   $  $ (Tk    @$  @$ (Td   $  $ (T=kxp X Drectly write the original multiline to the Caption, but don't use Let-Caption Property 'kd  (Tk ( (H !'?  < ! < (kx (Z  !^!*> B@><k8k0 B@*% replaced moTree.SetScrollbars in 026kA@kk   ,2A@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>pqAutoSTrudpWidthj17F$:TNDDl  D)hd6D$8{ xl,hdD$0   0   0 P  D <${ 0 (  0   0 `  0   0   P-K_ plXD Qlh JR}:''(l MH@lpllMX @h ll=pl6( p 7'''(lpllMX @h ll=pl6(h $lYlpch8c[l8l:'''(lpllMX @X8 ll=pl6( lpl }X({XN(( t5(l X(XN(( l5(X% 0lvXD Lkkvc( 85(Dlllllll lc lpx/0^d ll llJ'' *#*F:XN(( ll D/l6(Df ll   ,''>F:XN((l  D)l6(/P4`{xhp,l(3dme0   0   0 P  X -t dQtx/  ({xt x lxx dlxcxDc=txXD x hQt[lp dp X )xlp$, xtplH pqx/ ${ @ p${ @ t${ 0   L- Dx/ ({x D D${ 0 H  0   X -t pQtx/  ({xtP x xx/ ${ xL- x/ ({x D /${ D /rU HRQ!a"" <Y1:;;y<9;Q;i;1;;;  ! 1HR SPK1RRQI S 2Y Y1  A21`2`3`4`Q     a25`Q   26`7`   20` @ !  Q ^ _    _    _    _    _    _  _  _  _  _  _    _    _    _    _    _    _    _    _    _    _  E y   1    9 m  H qx/ ${ 0 h  H pz/ ${ 0 (  L. Ll/ ({l \ l lLd dldcd#lK#`d dd D /`d!^d dd k^d#d ddWL*d5L d ddWL*shd5Ld dd  d#d ddWL*d5Ld dd  d\0({l`dL0 `  0   0   L- 8x/ ({x D 8${ P- \1x/ $({x 0 0   H 4pz/ ${ 0   H qx/ ${ 0   0    0   0   0 P   0   0   0 p  0   l CxKhllhch: lxHXHlx0lxJXK@DxMT@dhlh d Dl)hd5DK llc1'''$'D hh Dh6D$-dhlh Qd[lhJlpqp lll;pvJ lkv "dhlh QdhpMT@ ( $lR1'$pM@xM4@loTNDD 6D$+'''$loTNDD 6D$c  lxHf hh  dd${ L- x/ ({x 0   0    H sx/ l`${ @ ${ L- x/ ({x D /${ 0 "  0 "  0 0#  0 #  0 @$  0 8%  t@ltctPt@Qt[pxlPl lx  xl5  +j0 Ydlc=[t8tc=[tDt0{plxt0 &  0 '  0 (  0 (  0 P)  0 )  0 )  0 h*  0 @+  0 H,   _KXD Q ns`_   xnjnjnj| |l\*s\6|n   X nXjnjnn l|*sX6'  nnjHc/ dW?850 dW?*s45% | `105l0R,:Nl0  5l0 RW,: Nl0  5l0 R,: Nl0  5  (%l0F%  5Iqt T  T D TW *sh5 T D qlxltdLIx@ :NH /H68;HT H >HF:4T D /46 T  TWn` j]t5wllql :HT D /H5TWndj]t5rTW*sd5TWn`j]t5pllqlTWndj]t5TW*sd5 8 lxltllql T D  xfL2TWndj]t5TW*sd5ndn`+n`sd7 ndsdcT _ |Q0ll 0  0 0 Hlqp0 D lp0 Dnhll n\n\j%0 nhll k%0 -n4j0W n\j]t6\-n\j0W (%06on4j%0ndj%0 0  0  0 3 dW?%05%80WnXj]t65-nXj0W(%06D 80*0W0WH|H6H(]tLXD  njH*7,XD , ),5c0 _+*l TP8 8TD0H 800 H4,|\0 .  @ 4$({ Pc=[xDx${ x          !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQonA( h5/( h9 /,  h=3 ,I hA=y, hE)=y( hI0(  hMQ(I hQ#( hU ( hY*#14*\R5*#41*\R5*#28*\R0*#23*\R5*#28*\R5*#27*\R5*#15*\R0*#1c*\R0*#16*\R0*#e*\R1*#67*\R1*#3c7*\R1*#12d*\R1*#11c*\R1*#54*\R0*#1c*\R5*#26*\R5*#5b*\R5*#33*\R5*#4*\R5*#19*\R5*#1a*\R5*#1d*\R5*#72*\R5*#4f*\R0*#17@Dv  R h `p 6  8 H BP L F 0 P8 2 R P h < 8  N  Pp*   .D802 , 0>P0<$Z(,NN4X\,"( >P ( ( 6  J8 f @ V0 ( ,   8 2X < X .( ,X T  D6HV.&*0V`F6>80x@H B  hpx   V zP $ "   ( 08@H PH`HpH@Hto#wx]9û@ GetCursorPos@8SetCursorPosF\$GetTickCountAHGetCursorPosAlSetCursorPos$G2JGetTickCountHLaDǭ?*=h8+3q=]ӺMvMꍁv F, x `=]ӺMvMꍁaDǭ?ExcelRRrU (  h((I h!Y(( h%#( h) #(  h-/(I h1A( h5/( h9 /,  h=3 ,I hA=y, hE)=y( hI0(  hMQ(I hQ#( hU ( hY((  h]Y(,I ha3 , he3 ( hi/( hm/(I hq/( hua/$ `y( h}0(I h)( h(, h3 , h3 ,I hy3 , h3 , h3 ( h/(I h/0 `  #@ !` )Aa3 , "`)0((I #`00 $`Y /3 , h=,  h =(I h(( h(( h)((  h(,I h3 , hI3 , h=a,  h=a,I h=, h=, h=,  h=,I h=, h=, h)= ,  h= (I h*( hA*, h=,  h i=$I %`( &`9 (, '`Y /#(  (`#8I )`  3 #$ *`$( +`(D  ,`,1ph(((I -`0I#( .`4/( /`8i#$  0`<$I 1`@, 2`D 8 3`H$  1 8  4`L(  1 $I 5`P$ 6`T4 7`X y  Y $  8`\ $I 9``RRRRME $(084 SS SaK"j8 0<1HH"1H:<, )(>"LPLLPLLLLL**L<<<<<<<<<<<<<<<<<<<<<<0  7@ @ N0{FCFB3D2A-A0FA-1068-A738-08002B3371B5}n %*<C4@bx@N @bR @b@T @b@X @b\ @b@^ @bAb @bpf @b@Ah @bhAl @bp @bAt@bA|@b`@bA@"B@ clsTreeView<%bXB@b@ @bB!!@bB##@b%%@bB&&@bB((@"0p**@" C++@X@ %@x %@t %%%0%hRP%JRR% %K% % %`D$"(E( .h)% 0)% 2`8)X% 4i. i6)% 8H)hp%),%i:0hDhF+<h p@   )>` A0%+B $p $  iD iF +D( HpH0 +< h l )> &0%+B  iD :iF@X+D , `HCR `JDW6`LD\`NDa`PCg`RDm`TCs4`<Cx`VD~`XCj`ZC`\D`^DTbL@F4AD6bP C8bRhF4AD9b<FXC;bXP C=bZFC>b^F@?D@bbHB,!t`h 80(%)X 2% th ,(()d?\% G% lp` (0 )H[% har%,!`h 4i s A`0hQx+8in ,!Zh p <i   AZh @ ip 2,!Ph 0 D i   AhL|+H ir T,!0h^z+ L iN i  AhMlkpP  iN MPit MX`vz D P`xx of H )z@M% h T){$ %,! h  X$i   Ap h P\(i M |` ` ,)es o%i~'  h 8d++6i ` h4%` . P,! h hai Not A h Hl//eiVFr terE%` in ,!<@ h  pi ----i  eduri  or A< h ti ode,i NFi ----,!` h x i @t moi .Con A h |i is No,!@h`x+ i tbox Ah iB,!RPh  i  iB(Oq%)H O{X% RhJtk''i J iBFals)hile%Orde,!phax+Pi Ah $$i  moE%` ,!nxhTt+PH%)p moE%,!h  i  Visi A8h !i thin,!h x"1%) En%,!h  #7i  ---- Ahh H$ ;i eter,!h  %Fi  wit A@h &Ji e ed`v I--,0 `Rk '`i PI .I .>Iz  Q F (2,`HL|+?O h2-`e|+@i 3.`2 A55o)22%)@22%iB 3I 83I X3i  `2` 3%`D j 6/`0X o 4$Bi `F 4z `Hx `2tA`$X4p`Jl`Lh`Nd`P``R\@ @4X05% U4TP58% VLp5@0%@X< `Z48@`\545 5 6 70`(fk`6(Cg) 66=%i6i R`6x6%`t 81`ioH7,D) h7p7%i`Rp7x`~t?@d ?7 7 @92` X80EBB)x88A%)88%I 8I `H ? 9% R89%,(93` dh+94F i `t`p,:4` :`:8G##! )0:8:%i h: %): %`?`,6;5` ; <HD ) ;(;?%iH;Ai  `` &X<6` @Ic `2`  <=%`R?@l ? h<7` <DJ )<%``C  p0=8`_|+HK  f=9`p=LL'' I  >:` =PM&& i=i>)0>8>%ip  Rx>% @?;` >TN~~ )>>,%i` 8?% <` ?XOPPp )??,%i`` @?%BP@< @b0L @bXP @bV @bZ @b ` @bHd @bj @bn @b x@b8@b@b0B@b@b@bh""@b$$@b''@b))@"HC,,@"pC--@"C..@" C//@" C000@"Dh11@"8D 22@"E833@jDCj>DCjDCjECj Cj$PECj&xECj(ECj*ECj,CbHF C4bJ pAD5bN (AD7bT C:bV( dAD<b\x (AD?b` CA C@FCx H!)`'Hp p: 8 x@#(ExEA>,@900@ h2AEDXBhF1pC*(@CE@FB=P03Ep0BxEF 7H/X<B@ B8@AhA`D FP-BC;p(1@&P 8D.D( D80 (FA `%<@!0hXB(2 6D h PEP@*x+HCpP,@?@ h"9.@0=A1`x(N4@K(Nx (NX4@(L$(N8pNNN ZX4@hN Z @Nt @p @l x(O`POOPPO@Ot p`(PO@l @h @8Pd PPP@`/ xP8P@P 8P O*XQQpQ@QQ @t @Qp QpQ@lO QQ@j QRRR`nxRS8TSPTSTSSS( hSxS%SShS @ Tt @Td @` @T\ @X @hTH @T8 @T( @T @ @ @ UVUUU(o U% oUxU%UUU @t X(XVWVWWb@Wt @(Wd @@WT @XWD @pW4 @W$ @W @ @ Vj @X @ @ @ p48544455X5x55 [XYYxY`Y(Z^HZd@Y0 @[ @0Y @[ X n6t@Y @Y @Y @8[ @ @ HYLJNZRYXppZ@Z` %Z(Z_Z Vt @Z ZpZg@ZO ZZgZZi@Z [Zl@h[O [Zl@ @P[ @\ \[`%\h[x@[ XZ^<\@[ @\ @(\ @X\t @@\d @p\T @D @4 \0\`%\\@, ](\`%8]\[x|6H]$0]`%h]]] `]`8%]H]]~`H*@]]`8%]]]]`%^]0^^`% ^]+P^ZA`^H^`%^0^I x^`%`^Vx] <B`^Bx_x___h ``_z _x_`_h`^8a8apaPah ` ax`a8a a@b@bxbXbh `(bxhb@b(b`*x* *@*Hcc`cc0cc&(Z*@p lxc` %c`c @ch @cd cc@` dc@\ c#9d9(ededh( `(dxed@edZ@Pel he(e @h xePe Pe6666fgfhggigZ@@gp @pg` @(gP @@ @Xg< @g8 @( @g$ @ hg`%8hg @ fTHh0h`%hhhh`h`%hHh#h6~RPx|@ hh`%hhF ih`%@ihVxh\^Pi8i`%hi id@xi iPin@iO ixini`%iirxi~77H77jjjjkk@kl`k@j` \@\ @xlL @kH @pk8 @(k4 @0 k,Xk`%k@k@m j^@ lk`%8lk%@l @ l 0l`8%ll4kZ6N`Hlx@VX@m ll`8%llTml`%(mlb`l| t<8m m`%XmmohmPm`%m8mm`%hm@m @m @ @ "TPC  (@?(@? ? P\GZ@W*\R5*#2f$*\Rffff*0U57515c1d*\R0*#1d*\R2*#25*\R5*#2e*\R5*#d$*\Rffff*0V57515c1d(*\Rffff*0V57515c1d\0(*\Rffff*0V57515c1d\1(*\Rffff*0V57515c1d\2*\R5*#2b*\R0      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~HH r nH b @  ( 8 H X h x        (@ Xh        "8 "` " B   "   P ( <H 8  F >( Ph        0@ ` p       "       B (08 " @ HP B X @` "   8 B   ( " 0 8 PX B ` p x "            (I F@     @"!  "    B  ( "  08@ "  H X  p <  "   > T@ <   2( ` h  p & : 0  !0! P!X! 0`!! !!! !F! "F("p"x"  " " B """ "  """ " @" " # (# 8#X# `#p#x# # # # ## *#$ $ ($ @$ 4`$$ $ $ $ $ $$$$ X% (X% % % % n% N0& "& & &B  &&&&' "  ' L' Jh''''' B  ' ,' 2( LP( ((( "  ((((( B( <( 8)@) "  H)&P)x)) ))) B  )) ))" ))  ) )* * *@*H*  P* `*$p*** *  * *#* * '*'* + + (+0+ 28+ &p+ + @+ &+ , B0,8, P,X, "  `,h,p, x, @,6, , , ,, ,,-F- P- X- h-p- *x-- ---- . . . (. 8.@.H.P. BX. &`. :. h."0/ H/X/ B `/h// "  / B/ /////0 0 0 (080 @0H0P0X0 B `0 .h0 `001 B 11 1 "  (1 01  81H1 X1`1h1p1 B x111 "  1 *11 11  11 2 <2P2 X2`2h2 p2 *x2 *2 *2 B3 3   3 03@3P3`3 x3 333  "3 33@3333&f4 (4 "  0484@4P4h4x44 444 "  4 R4 D5P5FX5 5 "  5555555 " 5 ^6 nh66 6 66 7 7(7 87 @7P7X7 `7 " h77 7777 778 8 " 8 :(8 >h8 v8  9(90989@9H9  P9`9 :h999  999999 ::(: 0: 4@:x: D:: : :; ; J0;  ;  ;;; ;  ;;< <  < <@< H<  P< X<`< h< x<  < < < << <<< = <= H=P=  X=h=8x==== ===&= > (> B4< 0> 8p> V> $? (?0?8?@?H? HP?  ?  ??? ? ? ? @@ @ @ P0@@@  @@@ @ @@AA  A (A0AHAPAXAhA pAAA  A A AA A AAB B(B0B8B @B HB PB pB B B B BBB CC C C(C 0C  @C PC`C 2hC C CC C CCCCJD`D@hD xD DD.DDD "  D 8D DE 2XE EEEE E EE  E E JF XFhFpFxF FFF FFF F 4FG  G @GPGXG `G *xG G G G G GGH H H(H0H8H@HHH PHXH@`HpHHHHH "H ,HHH  HI &FI/0I  HI PI XI `I hIpIxI  I I I I I I  I II@IIIII "I dJ >hJ dJ NK`K hKxK ZKJAK  0L @LDAHL  L L L L L L LL 9L *M0M8M j@M MM M  M M M %M8mM0N " 8N <PN .N &N *N O O(O0O8O@OHOPO  XO hOxO O OO OO O O OOPP P P(P  0P@PXP hPpPxP 4PP (P P  Q  ,0Q`Q  QQ Q,Q Q  QR R  RR R(R " 0R F8R (R tR X SxSS SSSS  S S S %SS S  T "T T (T  "0T@T PT  XT hT pTxT T T T T "T PT T <U 8XU U 2U PU8V 2@V ,xV *V LV \(W  WW !W  W  WW WW WXXXX  N X LpX X X ``Y bY(Z f0Z fZ f[ fh[ B  [[[ "  [  \\  \ (\8\ @\ H\X\`\h\p\ B  x\\\\\\B  \\\\\\ B  \\\]]] ] (]B  @]H] P]h]x] ] ]]]]] B  ] 8] ^^^(^0^ " 8^H^P^X^ `^ x^ ^^ ^^ ^ ^ 4^ _*(_  8X_ f_ ~_ Hx` 0` d` BXaa a a a aa a  a bb8bPbhbbbbb bb b Jb Jc Bhc cc c  c c c B  ddd d F0dxdddd dd e d e " e De ee *e * f *Pf "f f  f f f f @ffff f ff g g @g$(gPg Xg "`g@hgxggg B  ggggg g gggg h h (h0h Hh Ph hhxhhh h h  h h h h "h i (i @i Pihi pii ii i i ii ijj  j " (j0j8j@jHjPjXXjjjjjjjj jj j @k@k k@ k 0k@8k@k *Hk :`k@k@kk %kk k (l 2(l V`l#l lll #m 0m@Hm `m@pm mm %mmmm  m&m (Pmnn  n n n (n 0n  8n@n  HnPn Xn  hnpnxn Jn()n n$#o(o0oPo Xo xooo o.oo o p 4p @p Pp  `php !pp p  pp pp p  pp "p@kq Pq `qpqq+qqq #q&q  q qr r r(r /0r "Hr Xr `r  hr 2xr*rr >r :r 0s .@sHps s@sss*Us t*(tHt  Pt Xtht ptxtt  t tt  t t t t t  t  t&t &u!8uPuXu  `upu xu@uuu*Uuuu *u  v v  v (v @vPvDw`v v#vv vvvwww w (w 8w@wHw Pw`w>#hw www w w 0w 4x(xFr8x xx x  x xx(xx y yyy( y Hy Xyhypyyyy y y y$y yyy  yzz z z 0z HzPzXz `z hz xzzzBwz z{{ { {({"0{#H{+`{p{ x{{{ {"{#{ {{{{{{ |  | | 0|   @| "H| p|| |  | &| | *| |:S} @} P}`} h}p}}}}}} }  }}} ~~~  ~ ~ :(~h~ p~ x~~  ~ ~ >~ ?~ . 28 p ' <   @@ @ @ (( @؀   @  @8@H  P X ` h @p @  %ȁ؁  L @ Php Dx@@؂ %    ( (<0 ,X ' ȃ'Ѓ (46@HP @Xh (f " Ȅ؄ : ( H Th  ȅDw؅  .0(-Px   28Ȇ. ( 08 ,@p Fw ȇ(-؇.  ( @HXhp'x@ ȈЈ ؈     0  !8HPX ` hp x28.   8 &%0 X p xDw Њ ؊ +",@H PX` hp  x  + ",    (  H P&`       Ќ  ، B ( 0 @ ` x  "  D f hpx  4 Ў    08 <YH ",(؏    0 8 @H P `",h(  ȐА ؐ2 >T X$h%  (ȑ    0@ HX` h x  Ȓ Вؒ $/% 0 8@H XP   ȓ Г:Y  0 .8(X p+   Ȕ ؔ .( ( 08 @HP  Xp 0R     ȕ &2Е /  (8+@P X  /`  x   "   $Ȗ     -   ( 8 @ P `  h x        &2 $  (  /0  PX ` hx   $ , ' (0 $@ `h'p@1@ș ؙ 0f ( "  0 48px     Ț ؚ    (8 P ` p    Л .(0 8 X h    @Ȝ؜ B P h "  :Н P`h dp h؞ @ X 05h,0 ȟП ؟  B P (P <x 8  j P Сء    0  8HX p @Ȣآ B     (0H`x     ȣ У  " ( " 08@HPX `  Ȥ ؤ     8PX ` "  hpx      ȥ  " P h "  XЦ P(@x      Ч*(*(*(H*(x*(*(ب "     0 @@ H` h p   N    $  8 Hhp   6 0ت   (0 8@ HP " X Pp ( < 8( ` F &Ȭ P@ H X h      Э  (0 8H ` x  "   0Ȯ     (08  @P@X ` x   Fȯ    0@`hx Bа   (08@ HP` F ȱ 0PX` h p x ز , (@`  h p  ` 08@ H  P  p j   ( N8 $ص    , HP <h   ȶ    ( 0 "  8 P@ $ < 8 0 `P H R PP  6 PHP X`  h x 8  к *@X ` 8h    Ȼػ  R P`h  м    ( 0 $@ h x    Ƚؽ   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)1 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 Word@] ]@(@$PT the treeview is not in focus]@P@'6PT temporary flag to force mbRedesign=true, see Move()]@0$"PT sort siblings after manual edit]@x@$#PT "dirty", user has edited node(s) ѡӽڵ]@X$ֻ迼ǽײӽڵѡ]@$PT show checkboxes]@@$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]@A$?PT Enter-keyup in a Textbox occurs when next control gets focus]@H$%PT flag intention of the MoveCopyNode]@p]@@A$NPT flag to reset all dim's after changing NodeHeight or Indentation at runtime%]@$PT Root has an expander button8 ]@hA$PT Show +/- buttons` ]@$0PT determines if lines will be created and shown]@$PT frameholder's backcolor]@A$PT frameholder's ForeColor]@$(PT 0-Automatic, 1-Manual can't be edited]@A$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]@A$2PT incremented from zero as each node is displayed]@$GPT an index array to identify displayed nodes in the order as displayed]@B$JKP: Title of messageboxes]@0B$PT offset if using checkboxes]@$PT checkbox size]@XB$ PT default 15]@$*PT Left pos of Root H & V lines, 3 + alpha]@@$$JKP: vertical distance between nodes]@B$.PT if mbRootButton, same as msngIndent, else 0]@h$JPT top checkbox (these "tops" are offsets down from the top a given node)]@B$ 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)) ]@B$ PT top icon ]@$6PT top node label, if font height less than NodeHeight ]@B$(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]@ C$PT the node in EditMode]@HC$PT node waiting to be moved]@pC$GPT parent for the root node(s), although a clsNode it's not a real node]@C$8PT collection of stdPicture objects, their names as keys]@C$'JKP: global collection of all the nodes]@C1%PT checkbox true/false/triState icons]@D1PT collapse/expand icons Access]@$9PT the main form, eg to return debug stats to the caption]@8D<'----------------------------------------------------------- ''>''' ` '$'&'('*',(t@($Node click eventO 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 eventt@`t@^^p     h  h *( * *  0 l Mac displays at 72 pixels per 72 points (1 pt / pixel) vs 96/72 or 0.75 pt / pixel in most Windows systemsg 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 P ]Dh 0]D ]D  ]D  ]D ]D  M]D  ]D ]D( ]D@ ]D Z X ]Dp ]D E]DF]D&@ ]D%@@F(hE]D  ]D&@ z]D hF]DX %]D,@F]D ( %]DP ]D Z@ F]D?x ]DF]D clsTreeView **************************** Public Properties **************************** .tm0`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-------------------------------------------------------------------------] d$R2Rk  dPA@f{k tA@h d! d!^. !T RootHolder ( !^.x A@jk`kX d.A@fm8]P !^. !T RootHolder (pop '`m n'm0:PT user has edited node(s) and/or changed Checked value(s) 'ZmP1 called after manual node edit and Checked change p'mڵǷѡ 'mPڵǷѡ r'mL PT ' 'Nmx0^ PT]] 'v t' 'x N' t J'  R G R'jd'k  !!< v  x  ? Checkboxes added changed after start-up so update the treeview'A@k`kXmP Access z.mH z.m 'm 'mp8 PT added v026 . kh  ~ B@# error if sName is not a unique key8o ]X]p]8 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 . ǪH  ъt + if not a valid picture let the error abortd. Px#If HostProject = "Access" Then^ 3' if the frame is on an Access form include .Objectj )For Each obj In objImages.Object.Controls  !; ! ! B@HLJ:k* Flag we have a valid collection of images !<'su{PH.  d=The obImages collection includes an invalue StdPicture object'P e>A control in objImages does not contain a valid Picture object'k  ~ !' !Images  B@mH 'm0]h] '   ' min indent ? P eLP' max indent d '*+k  6Z ' min indent ?B$ < eH2<' max indentQSXd  ^  ^'hj.k G 'jy{P   . changed after start-up so update the treeview !!< !t.A@ n .tĮƐkkkmRPublic Property Get EnableLabelEdit(Optional bAutoSort As Boolean) As Boolean del! EnableLabelEdit = mbLabelEdit bAutoSort = mbAutoSort End PropertytgPublic Property Let EnableLabelEdit(Optional bAutoSort As Boolean, ByVal bLabelEdit As Boolean) ' PTHG' optional bAutoSort: automatically resort siblings after a manual editk mbLabelEdit = bLabelEdit|~h mbAutoSort = bAutoSort End Property '< ' 'm@ PTFPT optional bAutoSort: automatically sort siblings after a manual editC optional bMultiLine: do not remove line breaks from manual edits" ' ' 'm(H PT& PT, equivalent to Treeview.LabelEdit, 0/tvwAutomatic nodes can be manually edited23F optional bAutoSort: automatically resort siblings after a manual editV* ' 'mH`Z PT ' ' 'm6default mlLineColor=vbScrollBars applied in initialize 'm@ B  B B p B'd  invalid input 'kXmP ' .R m(P] ' B=>?@ $@'B_`dF$@'Bkk R  ((,,  !(.dpkh 0 !' G 'j B (Q ! !(OQ !p !(p; .k!y!!dkm,Public Property Get MultiSelect() As Boolean& &@& MultiSelect = mbMultiSelect0 End Property3339Public Property Let MultiSelect(mbMultiSelect As Boolean) mbMultiSelect = MultiSelect End Property G 'j 'mp]] '   $$ height of expander-box is 12 in Mac. ' < e!0>0<'d '334k  #3 height of expander-box is 9 in Windows normal font ' - e-'d  ^  ^' kPH G 'jސs   f !!<' !t.A@  .tϳϤ"kkkm 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 .nmx G'j(mx< PT The Root nodes have expanders and lines (if mbShowlines) '  'd'k ! <= !A@kkkm8'PT returns the collection of Root-nodesY **should be treated as read only. Use AddRoot and NodeRemove to add/remove a root node** !.mm 'm '  !!<.A@kkmh 'mp$ PT Show horizontal & vertical linesVbVc]( 'v '  !!< v 6 ShowLines added after start-up so update the treeviewA@k k k m #***********************************#* Public functions and subs *#***********************************@ . / /L RootHolder (T . k` kX    z %.z0 (   !AddRoot ! B@i 0 |F 2 2 $~ 2kp '|` oX  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 p' pA@f6 apply appropriate vbInactiveCaptionText / vbHighlightoX H!|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]`"  A  t!  t!^. !  !^. .tkko "]p#2R G !p'j    A@  !p (pkA@fo #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]x$]$]$]$]$2R    I Or cSource Is Root|PkH .'_( !^.  '    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 & VLine55j5j! !!B@=jk055! !!B@=k55! !!B@=k9kq  /^ (  !p' B@` B@`  !p (pkkA@f'/ ensure Left's get recalc'd during next refresh| ! n KT/Cannot cut and move a Node to a descendant node'SHMove: !'n(   `A@Bd ! bMove:  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]0&]H&]h&]&]&B tvFirst = 0 tvlast = 1 tvNext = 2 tvprevious = 3 tvChild = 4 $~    z %.z0d( .  $ .k??  d NodeAdd+vRelative is not a valid node or a node.key B@kx?kp? $~ "!('5 defaultk8?  ,  !B .d? !^.k>.    B@>d>  B@k> ! /kh> !5< C@d0>'2  (  *  ! 2 '2  y=k==k=  $KTF C@ &KTF 5<C@ (KTF  2C@ *KTF  2C@ ,KTF C@n=k=q=  9 X 9T 9 z9x !<90 =^ =Lq< /L do this after let key = skey .zH<@< .  <k< d !  clsNode.AddChildDuplicate key: ' ' B@d; ; x;p; !clsNode.AddChild ! B@k8;i0;&1 PT Remove a Node, its children and grandchildrem> remove all associated controls and tear down class objects+ Call Refresh() when done removing nodes]0']H']`']''@: $. !^. B@  B@ (05 flag to get removed from mcolNodes in the loop below t .k9.' ''    ' !0  B@  ' decrement the collection indexd8  !X '  (0k88    '. should terminate the class    /t !<e$  /tk8d7all nodes deleted r r'''k7|77 [ ! !p7 h7`7oX7'% PT, similar to Treeview.Nodes.Clear](7   2 !!<  2 !B@6 99z9v9q6k6 r r'''A@'|@686  6 66o6(] 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]X( !A@T a Frame (container for the treeview) should have been referrenced to me.TreeControl  b.Refresh: 'TreeControl' frame is not referenced B@ e  b(Refresh: No Root nodes have been created B@ !e nothing to do''' r r|3 !!!<e$ display the treeview for first time'd2c ensure all node properties are checked, eg after changing indentation or nodeheight during runtime'k@2|82 A@j| 2|2  ( ! bError in BuildRoot: ! B@o1 p(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])]0)]H)]`)]x)])])])  t.k0 A@k`0 !^. !T RootHolder !' (k0 !^./ A@jk/ !' Z   '   ' 5x'5 5   '( roughly(?) width of a scrollbark0/ 5 5  '     G ' j % place about 1/3 from top  5x ' e) scroll to top  Z 'dH.   Z '> scroll to bottomk.  'k- 9k-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]`*]x* A@&'"kX, ! " ( Z 9z   Z 9vk, 2'$5t5z '$k+5x5v $ * '$k+ $5 $9d+y+kx+p+qh+o`+*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.  !  ! B@((k ( B@k(..... 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 '2m$x+L PT2R ,'  B@k# , .d#.k#m#,  h$.'.kX#iP#,  P$.'&k #i#P-|# $ . ''|"i"ͨKeyNode.]. Gzj  n !  .rz`"kX"P".ri@".2 PT called from moEditBox_KeyDown after vbKeyEnter]p/ .  u4 .'i!/]0]0]0 .Caption t  .td`!A@fkP! 0 tvClick u. 0 >e*! tvDblClick, tvDown, tvMove, tvUp u0d ! 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)kX .Expandere t 'L L .tkA@j ! ! !!< %.4 4 2$6 2 !!< 4 A@vdx  A@vkXkPkHk@ L 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.k8 .Checkboxe u2ko1]1  n !   clsTreeViewDuplicate key: ' ' B@kx '8ih]********************************************************************************************** Private events *^**********************************************************************************************1= PT exit editmode if an empty part of the treeview is clicked t+2o$************************************$* Private functions and subs *$************************************1 default properties''' ' ''' ' 'TreeView'  < '<3for testing onlyo(2  > '>pohh2]x3]3]3]3 BG @!'j '2 $.  _copy:'D D  D $ 'k _copy:' . 2 '2  2$.P  2' B  @(k k error returns to caller $~ $~ @  B@ $~e @   B@d @   B@kpd  no key $~ $~ @ B@ $~e @  B@d @  B@kki3]@4]X4]p4]4]4]4(I PT distance activenode was from scrolltop top before refresh, if visible]4]4]5]5]85]X5]x5]5]5^    D'\ Mac `'\ !<'4TODO find equivalent for cancel key in Access & Word Access Word( d (b 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 5  5k !<   * creating many controls might take a while Access !fB@h Word l j(` n (H'Fk8  6 t!   !! 'Lkk' 'H'   L'Nd J'Nk N  N'kkD work out respective offsets to various node controls from node tops Z  R  ? '  Z  R   'd Z  R  'k Z  N  ' Z  X  ' Z  'Ap 5'$ default colours for node labels5p'  d . PT, refresh, start by hiding all the controls T5 T($k  !'R   X % V'Rk@k8 !  'Add the rootnode to the tree Forms.label.1Node    !% / !   X % t9r X$ 9k`kX Z   9 Z  R  9 ! !9k !p !p9pk !G5|(j !T9T9H95 (5 R $ 5 R +kP 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 ^  ^' Z    9k   < <99Hk kx ! !9kP 9C@9$q( d  !  Z  R  9 ! R $ ! R +k k 5  5'5  e  5 'P 5 ^  ^' k Z    99$q k  horizontal line   ! Forms.label.1HLine !! !% / !    9 \99T 9 9J4 vbScrollBars 9 ^9 x9v |9zC@9$qd ! 9    9H# 3 + NodeHeight/2 (to nearest 0.75)9$qHk@k8 Checkbox * If CheckBoxes And Not cRoot.Expanded Then   ! ! Forms.label.1CheckBox !! !% / ! Z  9    9  Use an image 69 !p$9 ~9r9Hd N9 N9Marlett5|(4 "a" is a tick  `5|( H9;9 9 9 *9p !pa9T !p$@9pkkk9$qd ! Z  9    99$qkk  Icon   X % ! Forms.Image.1Icon !! !% / ! |9z 69 .AutoSize X9 X9 Z   9    9 X$ 9 |9z9$qxdp ! Z   9    99$q kd'Rkk  ' !0 +  ( 'J Now add this root's children ! A@kh` Vertical line for multiple roots   !!< ! forms.label.1 VLine_Roots !% / !C@ ^99T 9J6 vbScrollBars 9 9 \9 J  9q8d0 ! 9 J  99$qkkk   Z 'PB mcTLpad for top/bottom padding 9v9|kxA@  startup 8' make the first root node active but don't highlight it %. (' or if preferred highlighted at startup +Set ActiveNode = moRootHolder.ChildNodes(1) te 6 t!   L 9kPkHq@ 0   D \ '\ if Mac= ` \ '\  Seconds: \0.00$ Nodes:  !< created:   visible:   Total controls:  !!<'Z Access  Z (Tk~~ Z !!(T~^~~' H'~ F Access !fB@h Word  j(8~  ( ~   E in some systems the cursor fails to reset to default, this forces it VA@< V!D V!FA@B}k}>TODO: implement API equivalent for cancel key in Access & Word Access Word}  (b|||^|' H' !    % most likely an array needs enlarging     d @6 8|k0| !e! user pressed ctrl-break in Excel#Loading/refreshing Treeview aborted `A@BA@{k{ [ ! !x{ p{h{ ! BuildRoot ! B@o8{ 6]6]63 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 !! !% / !     9 Z     9 T9 T9 9 9J 9z9$qPydHy ! G Z     9j     99$qxkxkx%Expand/collapse button text (or icon) !j Forms.label.1ExpText !! !% /j !j Z     9     9  Use an image9H@9@9 69 ~9r !$9  |9zXwdPw use +/- text R9 R9 !-9T5|(dv+9T5|(kv P5|(~ x9v |9zkv9$qvdv !j G Z     9j     99$qvkvk 0 lLevel > 1 Or mbRootButton) And mbShowExpanders !    Vertical line  ! Forms.label.1VLine !! !% / ' !C@     9 \     9 ^9 99T 9J 99$qtdt ' !     9  \     99$ktqtksks R !  extend the vertical line  !     99$qpskhs R A@ R! R  A@k(s sk: cNode.Expanded And (lMaxLevel < lLevel Or lMaxLevel = -1)|rlocErr: #If DebugMode = 1 Then Stop Resume #End IfoPr7= 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]7]7]7^xq. Application.EnableCancelKey = xlErrorHandler !  'Node   '~ e !!'~kpHorizontal line  ! Forms.label.1HLine ~ !% / ! \     9    9 9 ^99T 9 9J+ vbScrollBars C@ko9$qodo !  \     9 9k`o    99$q8ok0ok(o Checkbox   ! ! Forms.label.1CheckBox ~ !% / ! Z    9    9  Use an image 69 !p$9 9r9Hdn N9 N9Marlett5|(  `5|(m 5|(~ x9v 9 !pa9T !p$@9pkHmk@mk8m9$q(md m ! G Z    9j    99$qlklklR Icon, in its own image control if using FullWidth, otherwise it goes in the label    % V'R ! Forms.Image.1Icon ~ !% / ! 69 Z     9    9 .AutoSize X9 X9 |9z $ 9 |9z9$q@kd8k !  Z     9kj    99$qjkjdj'RkjkjThe node itself ! Forms.label.1 ~ !% / !99H Z     R 9 Z    9    % t9r $ 9kiki !G5|(j99H !T9T5 ( ! R $ ! R +ki 9H5 <G <9jkh ! !9kh !p !p9pkh ! !9kph9$q`hdXh !  Z    R  9 ! R $ ! R +kgkg   Z  99$qgkg  ' !0 +  (|Xg^Pg ! % most likely an array needs enlarging     d @7 f   e   @8 fkf !e B@+ user pressed ctrl-break, pass to BuildRootd8f  f ff !BuildNodeControls ! B@keoe8- PT clone a node and add the 4-way references]8]9] 9pe  |PekHe 'H'. 5G 9j5 (5T (T5p (p5 (5pG 9pj5x (x5 (5p (p5 (qhd ! /k@d  /^ ! R !  RA@$ don't pass vBefore/vAfterckc !   A@ /L  BA@ n!< (0 H'  !^B@`kHc|@c8c [ !c cc H'ob@9I------------------------------------------------------------------------- Procedure : MaxNodeWidth Author : Peter Thornton Created : 27-01-20134 Purpose : Get the max right for horizontal scrollI-------------------------------------------------------------------------]9]9^'' msngMaxWidths(), contains maximum text-width + additional icon width (if any) in each levelb tot-width = 3 + msngRootLine + msngIndent * lLevel + msngChkBoxPad + [ msngIconPad + text-width]   $ Z     $  Z     $ 'k0`k(` ` '(i`9I-------------------------------------------------------------------------" 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-------------------------------------------------------------------------]:]:PT^ G'cG'j $ .d] !'   '    $' $ .kh]k`]zX]P] 8][ ! ]]i]:]h;]; z\k\ 5  '5x Z  '    'q\  t t.dH\z@\k8\k0\   G 'j  !  ! '6k[i[;];];]<](<]@< 2   2+h[ 2  2$$ . !' !'R l % V'RkZkZ ! R $ ! R +kZZoZX<]<]<  !' !p' ! 69   $(9   $(9pqZkYoY<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-------------------------------------------------------------------------  ' ' ' ' ' 'X  ^  ^'  ^  ^'  ^  ^'  ^  ^'  ^  ^'  ^  ^'VoV0= t $~V Access 'V ! !!!'hV`VkXV H system highlight colours, bInactive set and called from EnterExit event t!  '' when treeeview not in focus A@h' just a grey border 9$@9J' inactive colours/ .BackColor = vbInactiveTitleBar) .ForeColor = vbWindowTextdT in focus 69 H9 9pkTqTkToT *=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-------------------------------------------------------------------------]`> pG|j   !   (dXR (k@R ! R !    R(   RA@QkQQ !e R !    R(   RA@`QkXQoPQ>]?] ?) PT toggle expand/collapse with key Enter   t! 'dP 'kPkP t    U '# Ctrl-U = F2 editk`PXP KT t! ? don't attempt to collapse the Root if it doesn't have a button t!e t! t( tExpanderA@,dO t!^ t!^!<If Not ActiveNode.ParentNode.Level = 0 And mbRootButton Then t!^! t!^.tA@v tCaptionA@,kNkNkNkNdN t!^ t!^! ? don't attempt to collapse the Root if it doesn't have a button redundant ? t!^!e t!^!T RootHolder t!^.t tA@v tCaptionA@,kMkMkMkM KT t! t! t( t!j tExpanderA@,d M% a Root node and mbRootButton = FalseA@jkLdL t%.t tCaptionA@,kLkL K KT t!   Z if the activenode is the last node and collaped, expand it and activate the 1st childnode t! t! t(A@jkKkKkK t  $.  .t t  $(A@vH> the -ve means will scroll won't change if the node is visible tCaptionA@,kJ K KT Hstore the activenode's vertical position to reset a similar in the keyup  t!   ! '   !x  'dJ'kJkJ KT2R KT PT toggle checkbox with space  t!p t(p5NodeEventRouter called in node.Checked/UpdateCheckboxkPInHI' PT t  u8dI  !<$ .tkHkHkHoH@?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)|EdE'kE t 1 PT look into moving more key events into KeyDown09L`iLT `G 0 'j    $SetTreeExpansionLevel (KeyCode - 49) 0 A@A@jkD K]KT# F2 & key right/context menu (?) PT  t t+2 tB@k DkD K KT L PT activate node in the same position as previous activenode when scrolling !5'     '   5  '  5x5 e  'kCqC    $' $ .tkB K KT  G'cG 'j $' t!0  $ .tk`BSXBnPBdHB  !<$ .tkBkBkBoAAtAttribute 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, equiv@alent 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 __SRP_2+%bS__SRP_3Sheet3~__SRP_e (x/ l<({xt0 x  0   0 8  0   0   0 h  0   4-Kc [tt ttX Dtltt t:d %X 0c [tt"tllll X Qtx/f` tt X \\ ,''>XF8:dNHHl`  D)t\6H8/4({x,Xt\H80 0   0   0 H!  0 !  0 "$  0 #$  0 %  0 &  HKDt ltctt QtpFhlt t Ll lhx)tll`/lxiP%lt t Ll l)tl xg`{p 7p 7p 7p cp Z Z    P,H(,ptl\ t ltctgA'':DN44:dNTT  tt Dt6T4bcA'':DN44:dNTT  tt Dt6T4btX @ltct    Z Zb6t t L l)tVpzb jKv z$% t$ t tm tt   ,''l*F4:dNTTl  D/)t6T4 ${ ,tT40 p(  x@ @p Qplwh4nh7l %hnh7l xd`2 qt"\l hl nhn\ qt"\l hl xnhn\ltqtlthl lh ltl &2 xf`cl @({lp,ctX @ltctn!tX @Qt[pxln+jlx xlQ+jc=[ttc=[ttc=[ttc=[ttc= [tt0{plxt0 rU 0PLZ1Y1 1 Qa""AQ ! 1H iQPKQ TTQDY=1=UU!V  5 VAV  &;:; ;VV!WI  qWIWI  W  WS XQXXXXX)YYYYY  ZY6 I   Z9Z  q#9$Za[ ]  I ] [)^A^i^^^9"Y a" a@"+`;`<`@D !  PEyOO_____ _    _    _    _    _   _______0   0 `  0   0 p  Ll Cx lx({x 0 0  0   0   @ k R${ P  Tpz X /  ${ ( Tpz kT Xpx  Xkd pA4Aa 4Aq t ltctIlpt t Lp llkzTkxXR)tp j ${ tp0 H  0   0   0 p  0   0   0   0   0 @  0   0 `  H qx/ ${ 0 @  0   x  fP 9^ N^ c_HYxX $_Htt $tc=[tt cnxH lx_H_Ht_HYxH 'xH lxtt $t'xH Xlxtt t p x$, t`0  sx/ 0${ 0 p  t<-c& [tt *  0 x+  0 ,  0 ,  0 P-  0 .  0 .  0 /  0 1  0 1  ` l n p    `$({ 8c=$ 0 h2  K*0 0W( ]/V 05% 0$ 0 <0 Lk j#d j#X $ l % 0$ 0 0pz  &Yc=00<k0P  0(l0lnnsh)0  Xpx X+Lk  Z 4Asd pAsd(A  (A)4A붫? bh#4A믯붫4A붫(A붫  붫붫H0 Q0 $lt plx 4m0 LQ0[Tm T  TT!0X @Q0[X s\ ^`F%&5  ( %' c %(cj 0lXQ00 j&n\k %0"&lX)nn\~!lX)nn\0W%j ]t50W%*5) 0W%j ]g5) Uj 0W%´@?((tdTD@?4*6*k %0! c %0(c0lp[ 0lX*l0c0 w0lX0W+f%: ,%  L hl=,,lX-) 0,60lX*Q0(#k %(! (A%(" .( D( <l( 4j %(# @?%(%( ( ,( %(' c %((c(Y 0lX*Q0$j %$##k %$! c %$(c$4+LkR0X @l0c0L0lX/l0c0 r0lX0W+f%: 0%  L hQ,,lX1)0,60lX/Q0 7 h 7  Z  % 2(X 4"o % 35 % 4 c % 5 (A (A D: 6% W7C+5 % W7C85 % 9 % 2 % : % ;X 45 : <% =X 4( ]35 ^ i % ;  c J0lX/Q07 h 7   c^`wl0c0w0lX0W+f%: ?%@  L hl=A,,lXB) 0,60lX>Q0 <A LA %# %%"k %"#k %!+<X   [0 TA05 <A c %(cf0lX>Q0"k %"#k %! c %(cus\lXClYlXD ql0X @l0c0YX( Xlp*0X @0 $ l00El0c0lS'%: F%G0 0 L hl=H)00EQ0( %' @?%# . D 4 <j %! (A%"llk %%c0EQ0 j % !llk % % c % (c ns` 7 7 ++ s?(0X @0  [)060(l0c0'Yc=00<k0<0(l0lnnh7 0c j kxXkzU% 0$ 0 0 L I<lPlL J<% 0$ 0 <0 j kxX< 00 l 0'Ld $ 00 l064''>F: KN L6 f 00   ,''>F: MNl  D)06pp{X0($  T8X<@ 0,dT4dlln8 b(p Nlpcpwp pWP+$f(%:`OP@%8< < L8 hl$=  P) p<8$ 6P@p NQp.nk`%!-lk`%"` %#` %% < 4 , c`%(c&p NQp j-lk`%".nk`%! c`%(cp Qlpcpwp pWP+$f(%:`RP@%8< < L8 hl$=  S) p<8$ 6P@p QQp-lk`%".nk`%! b  `@%#`@%% < 'H Pk p p`4A%#`4A%%H Pk T Dc`%p \p,pJ U Df`%p \p,p!` %p \p,p  , c`%(c6p QQp j-lk`%".nk`%! c`%(c%H Pklр\ pp Elpcpwp pWP+$f(%:`VP@%8< < L8 hl$=  H) p<8$ 6P@ qtp EQp(`%'+ltnk`%!,(Al쳫k`%"`@?%#nj`%% . D 4 < c`%(c qtp EQp+ltnk`%! j,(Al쳫k`%" c`%(cpH @Qp[x\ pp EQp&ltk`%% c`%(c lx,px @lpcpMYlx( xdL4 x(p<8$ P@  K ` l`c`W#\*1t/\ j ` `WL+`1t`5L p` *l`c`Y4f8%,lt*FL%H` ` LH hl4=00 -)`H405L` *Q`,,(Al쳫k8%,"(nk8%,!j8%,#8@?%,% ., D, <, 4 j(8%,' c8%,(c,` *Q` jT,(Al쳫k8%"j8%#(nk8%! c8%(c2+LkR`H @l`c`` /l`c`T4f8%0lt*FL%H` ` LH hQ400 1)`H05L` /Q` $l쳫7 h%n7  Z8% 2(LH 4L"o8% 35L8% 4 c8% 5(A (A D:86% WL7C+5L8% WL7C85L(8 % WL7CW5L8% X8% 2LH 4L5L:8<% =LH 4L(8]35L^ i8% ;  c ` /Q` jK$l쳫7 h%n7   c^`d  k dAsx` >l`c`-Y4f8%?lt*FL%@H` ` LH hl4=A00 B)`H405L` >Q` LA.l쳫k8%"(nk8%!8 %#8 %% <A+LdX  L [` TA`5L <A c8%(c` >Q` j|.l쳫k8%"(nk8%! c8%(csx` l`c` R4f%ltF8%H` ` LH hl4=00 )`H40` Q`    2l쳫nxk8%"/nk8%!^`. d  k,  +LdX  L [` `5LH $k_ c8%` \`,`    "LH ,L\ D/\5LWL#* $5L$ )nnxl  )nnxl ^>  WL#8X]M5L> 8X%#H lRm H l $H XlR H Xl \H Hl\JR/\ \H H>\FL%&5L c8%(c ` Q` j 2l쳫nxk8%"$ )nnxl  )nnxl/nk8%! c8%(c ClY D$ `` l `  'Ld  l $Ll  $ `` l`" 1''''L `` D`6L f `` \ HH ,''>\F:8YNLLl 44 D)`H46L L{4 , dt0 \`H40L0 8  tdhltS5lt쳫ltnp0lt쳫ltsp tfhnpsx/ ${ 0 9  0 :  0 ;  0 X<  ((@?@?(@?@?(@?@?(@?@?(@?@?(@?@?${ 0 0=  0 =  0 >  0 @?  <       !"#$%&'()*+,-./0123456789:;<=>@?D@DABCDEFGHIJKLMN@O@_   3 3 8 5` <  #$I6`@,7`D3 $8`H( 9`L <I:`P 9   ( 4;`T y  Y 4<`X$y  Y D 4@<0.3 0.3 0.3 8 /  #03 D1/ y  3 Y "n(,  h }9(SLSS6"N0{00020820-0000-0000-C000-000000000046}(%H` % %`h8@``0Z@W$*\Rffff*0N57515c194xAttribute VB_Name = "She@et3" Bast0{00020820- C$0046} |Global!SpacFalse dCreatablPre declaIdTru BExposeTemplateDeriv$Bustom izD2rU  a 4 a) `     rU @n)Aa3 ,<0* pHd VBAProject4@j = r Z@W J< rstdole>stdole h%^*\G{00020430-C 0046}#2.0#0#C:\Windows\syst em32\e2.__SRP_fB_VBA_PROJECT|Jdir@__SRP_0,(w:rU P,q#p4,9$$p1$1%Hp,h)3 ,h-A3 ,9`13 (yh50(h9a(h=#(9hA(yhE#(hI, h M#,Ih Q,hU!=( hY#(  h]1#4I`aq=Q0( he;( hi*(  hm*0I h q#0 hu, h y(,  h }9(Ih((hY(4h qY3 4 hqY3 (Ih*(h ,h=y( h#(I h#, h=y( h#( h#(I h#( h #@ ` )Aa3 D ` =Q=QQ(I ` #8 ` 9 =Q=Q, `Q y  (H `     3 3 HI `     3 3 H `  9 )Aa3 , `3 $ `$I  `8 !` a   , "`  #$ #`4Ih 3 #4h  3 8$`  q#=Q#8 %` 9 q(=Q#<I&`Y q1/=Q##0'`)03 8(` q 3 0#L )`     13 0(,I*`)00$+`$,` $ -`LI.`  ) I   =y3 #/(/`$i #80` (  3 4 1`, 3 DI2`0   3 3 (3`4*<4` 8 btext Excel+` VBA`Win16~`Win32`Win64x`Mac`VBA6#`VBA7#` VBAProject`stdole``Officeu`MSXML2O`MSFormsC` ThisWorkbook|` _Evaluate` Sheet1`Worksheet_BeforeDoubleClickft`TargetF`Range `Cancel`Worksheet_SelectionChange4`i``itemCnt\`row` (dataRowStart`Columnsp9`count0v`RowsU` (initializeN`MsgBoxR` vbExclamation` (MSG_TITLE`fxK]`(fxList`tree`Columni`colIndex` frmFuXuanH`Captionx`colName`Show`vbModalt`(treeList-` frmTree`TextBox1S`ListBox1`Clear`CommandButton1|`Enabled۪`Worksheet_ChangeS`colH`str`(colCnt `Trim@`Sheets ` (indexSheet`Cells`(mrzList`valueK`mrz?`NumberFormatLocal)`Year6n`Month`Day` Sheet2` clsTreeNode` mItemName!X`mChFlg` mChildren` CollectionW`itemName[` sItemNamey`chFlg`bChFlg`children>` oChildren` MainFunc`(main,` (msgSheetName'`Addr`AfterX`Deletex`Shift`xlUp`columnColectionR`(!TypeValueColumn>`cindex-`valueColumnNamep`dataFlg`;` valueColumnX@` columnIndexP` columnNamew` (dicSheetName_`(dicCheckDataRowr`(findDicAndSetProp` vbInformationn` currowindexZ{`(clearLogI` (curMsgRow/`checkFlgM`nextText`(rowCnt` UsedRangeȉ` valueDicCol`bkzx9`sfbtz` (checkRequiredb`(checkJBXP` (checkGlkz` (checkLdkz?` (checkFileName\`(checkModuleName`ActiveWorkbook`Save`verw` Application*`Version`Sort` SortFields`Key1O`Order1o` xlAscending``HeaderM`xlGuessY` OrderCustom|` MatchCase` Orientationw` xlTopToBottom` SortMethod`xlPinYinbt` DataOption1` xlSortNormal`Key`SortOnq`xlSortOnValuesk`OrderA` DataOption[`SetRange`Apply,` EntireColumn`Hidden]`WrapText}`Visible` UtilFuncK`(writeLog{u`contentl`(getValueColumnCount2` sheetName6`Index`title~`valueDicColumnNameK` valueValiXml9`dicColumnIndexu` dicColumnName5`(xmlParse6`xmlStr`oXmlU3`rootT` CreateObject`LoadXMLD`DocumentElementE`zdlxF`zdmcF`rqgs(^`zdcdnE`cczd`(ZDGLKZ!`(ZDLDKZ`xsfs `yxdxF`(xmlSingleParse~`tsjy`propcode5`propXmlsb`propXml%`getElementsByTagNameY`lengthY`(IDcheckg`ID]`sj`e\`zq`oldID`Right ` IsNumeric$*` DateValue/`Val`UCase5 `(getTextByDicNameN`dicName/`dicIndex`L`dicValue`ja` lastIndexL`(fileNamej`(WJMC>P` (moduleName#>`(MKMCb`mrzCntq`fxCnt`treeCnty`xzfs0`minStrb`      A"#$&'0)*+,-./!123456789:;<=>?HBCDEFGIKJLMONPQRSUTnoWXYZ[\]^_`abcdefghijklmptqrsa *\G{000204EF-0000-0000-C000-000000000046}#4.2#9#C:\PROGRA~1\COMMON~1\MICROS~1\VBA\VBA7.1\VBE7.DLL#Visual Basic For Applications*\G{00020813-0000-0000-C000-000000000046}#1.8#0#C:\Program Files\Microsoft Office\Office15\EXCEL.EXE#Microsoft Excel 15.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.7#0#C:\Program Files\Common Files\Microsoft Shared\OFFICE15\MSO.DLL#Microsoft Office 15.0 Object Library*\G{F5078F18-C551-11D3-89B9-0000F81FE221}#4.0#0#C:\Wind\Wind.NET.Client\WindNET\system\msxml4.dll#Microsoft XML, v4.0*\G{0D452EE1-E08F-101A-852E-02608C4D0BB4}#2.0#0#C:\Windows\system32\FM20.DLL#Microsoft Forms 2.0 Object Library*\G{CB31C526-784E-41F5-AEEF-84703FA6A4AF}#2.0#0#C:\Users\Jim\AppData\Local\Temp\VBE\MSForms.exd#Microsoft Forms 2.0 Object Library.E .`M  Z@W  û ThisWorkbook0>57515c18#ThisWorkbookm- Sheet10L57515c19' Sheet1<x Sheet20M57515c19 Sheet2W0clsTreeNode0P57515c1dclsTreeNodevHMainFunc0K57515c19MainFuncKf`#UtilFunc0Q57515c1d&UtilFuncHx^CheckFunc0X57515c60CheckFuncFYJDeclaration0O57515c1d"DeclarationHfrmFuXuan0R57515c1dSfrmFuXuanA0 frmTree0W57515c1d_frmTreeHnclsNode0U57515c1dkclsNodeclsTreeView0V57515c1dSclsTreeViewc Sheet30N57515c19 Sheet3 @x 0`HN6&@AƤyggNyI:cd|D=$DuNU*K @ gWxOS?M/mBA) ~@TEEG)L%IjEfG70XkH ED*h?DJ2[zMBMGG$ ](/NDl^f$#v…MrZmaxStr9` Validation `xlValidateWholeNumber` AlertStyle7`xlValidAlertStop`Operatork` xlBetweenk`Formula1`Formula2`xlValidateDateL` xlGreater`xlLess;` IgnoreBlankR`InCellDropdown9` InputTitleA` ErrorTitle(` InputMessageR\` ErrorMessagef`IMEMode i`xlIMEModeNoControl` ShowInput` ShowError`md`dxStrs`xlValidateListĤ`(setTree&`(!TypeTree` xmlNodeList(J`IXMLDOMNodeList^` SelectNodesg`(SJG`Itemz` ChildNodes5`nodeB<` setChildreno`pg`IXMLDOMElement`treeNodeE`ne`cZ`child`cnt+` CheckFunc` thisFileName<` (checkLength` (checkDateValim?`IsDate2`(checkDateFormat`valueCol` (checkNumberM` (checkOption,`rowIndex6d` dicRowIndex`(checkIDī`glkz`qsFlg7`ldkzKw` checkArray0,`validFlgi`zdzList$` (checkFuxuan'>`subValue:`arr u`Split)` (checkDXTreel` (IS_NUMBERIC0A` Declaration^` (!TypeMrzListȞ` (!TypeFxList6`CommandButton2_Click`Hide9z`UserForm_ActivateZs`kb`strItem` MultiSelect`fmMultiSelectMulti+` ListStyle`fmListStyleOptionĕ` ActiveCell` RowSource2`Address` ColumnHeadsֻ` ListCount6`List*`SelectedY`CommandButton2}`SetFocus`CommandButton1_Click`aX`mcTreȇ` clsTreeViewv`mbExity` mlCntChildrent`mlDemoNo?`xfFlg*`dxFlg` treeIndexjx`AppNameKp` mcPtPixel`TreeView1_BeforeLabelEditw`strCell`xNode` clsNodeN`UserForm_Initialize5c`Nodes_`checked0` getNodeByKey_ ` ActiveNodePj` ScrollToViewA` frmImageBoxd` frTreeControl`FontU`Size` DebugMode` gFormInitq`objCtl|&`Control`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̍`Label2,`orgTreeZ`lbl_Debug_TreeS` TreeControlb`AddRoot`sKeyh`vCaptionUX`Bold`ControlTipText8`AddChild38`Expanded`Refresh`errHJ[`Erro`SourceG` Description `mcTree_DblClickKC` mcTree_Clickڮ`TextBox1_Change=`AddItem `filterTreeItem`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`Tag&`vTag`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`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` 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`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'`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^` Sheet3`Workbookk` Worksheet`BeforeDoubleClickB`SelectionChangen`Change`Class`Label1,`Activate|`NOTE036`NOTE046`OpenBook` FolderOpenZ*` FolderClosedO` GreenTick`Scroll`XPMinus`XPPlus` Win7Minus` Win7Plus1` Win7Plus2` CheckboxFalse` CheckboxTrue` CheckboxNull}` cbxAccessNullh`cbxAccessFalse` cbxAccessTruem` MouseDowns`MouseUp` TerminateyL`KeyUpM` QueryCloseT` ItemCheck`_Defaultj` _B_var_TrimmT` _B_var_UCasea` _B_var_Right9` _B_str_Right#(` _B_var_Datev`'"k # S _ # #!S '! ( (   0 T0@ H" @ tlb#OLE Automation`EOffDicEOficEE2DF8D04C-5BFA-101B-BDE5EAAC42Egram Files\CommonMicrosoft Shared\OFFICE15\MSO.0DLL#M 1@5.0 Ob LibraryK`MSXML2MSXMPL2u`F5078F18-C551-11D3-89B9BSF81FE2`21}#4IST.NET.ClientX\msxml4.dll,", v@MSForms>(F@|rms3@A(0D452EE1-E0D8FXA-8-02608C4D0BB4{FM260 PB O/;"1C ACF0}#0F#G 50 ACB31C526-784E-41F5-AEEF-84703F@A6A4AF6Users\Jim\AppData\Local\Temp\VBEB6.exd^U;!.E .`M B} ûBrThisWorkbookG`Tsi5"W6kbok2` (H1B-X",mT""+BS@heet1G SŠe@tt1 M2  < 2 2 2 2 W  clsTreeNodeG sTr(eN.d m2o-Jv(e.MainFuncGainFuc !i2r/h1-Kf! kUtilgUi"koecmo m k CheckMc]2/JO FY+ViewAeV`9ew9AA? c? ? X3Q3@X3Q 3_QSHGrU~~~~~~~~~~~~~~~~~~~~~~~~~M             TargetCancelcontent sheetName valueC Q&1NxAp? /C:\Users\Jim\AppData\Local\Temp\VBE\MSForms.exd Q 11.0main  Access WordFB6\q F[TB6' vmDF WorksheetWorksheet_BeforeDoubleClickFFWorksheet_SelectionChangeWorksheet_Change @"iNHD0wϙ^܈E<ѬiD4)9=ܑKDk-?$ W[xQy hg~g 4 WJMC MKMC ZDGLKZ ZDLDKZ SJG penchg ,   , "", , DD@@,  $(,048<Label1!-6S` YL&i eScroll tt$ !i M!i M!i MQyclearLogwriteLoggetValueColumnCountfindDicAndSetPropxmlParsexmlSingleParseIDcheckgetTextByDicName initializesetTree setChildren3)6{O>` &!jgRYS1Y% N}geHr,gv!jgcPm9MﭗrGKA}FF|,^BO~Er;-W~4BV9eJp2hSOp!8"-?@Key Q"ҋB `ListBox1{lFWJOCommandButton1CommandButton2ȏ[qJ eUserFormU {NF? F3Dynamic iCommandButton2_ClickUserForm_ActivateCommandButton1_Click P clsTreeView ?MC8JO|Z%DiJ%اO(t}bWDiR ?Is@~S%;NzU%G`J. RootButton frTreeCon    "#%&(),.024578:<>?@ABCDEFGHIJLNPQRSUVWXY[\]^_`abcdefghiklmopqrttrol frmImageBoxXPPlus FolderClosed GreenTickXPMinus CheckboxNull Win7MinuscbxAccessFalse cbxAccessTrue Win7Plus1 Win7Plus2 CheckboxFalse{lFWJO MultiPage1 CheckboxTrue cbxAccessNullv F,mcTree٘MňV| Label2NOTE03NOTE04OpenBook FolderOpenҋB `TextBox1TreeView1_BeforeLabelEditUserForm_InitializeUserForm_Terminate cmdStop_ClickUserForm_QueryCloseInitialize_submcTree_DblClick mcTree_ClickTextBox1_ChangefilterTreeItemListBox1_DblClickq#tListBox1_ClickListBox1_ItemCheckorgTree orgChildren 4 ҋB `#ҋB `ďYl|VBE7.DLL yK*         rU ~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~P  o(>|K0j^a`+   a 9 I a 9 )a  "!!!!!!Aa   aa  X 9i)Ia  h_9_a____S `)`A`a````a  a  Aqa  AIy)Qy!Iq ya 9<R2222 3 3!3!393Q3Q3q3q333333I/i/i////// 4 4)4I4a4y44444455)5)5I5I5a5a555555566A6A6a6a6y6666717a777 818Y8888)9Y999++a  0:P"#$%%%%%%%&&)&)&I&&&&& ' ')')'Q'Q'q'q'''''' ()()(Q(Q(q(((((!)9)Q)i)))))*9*9*Y*****!+I+i+++ ,1,Q,q,,,,-A-q----)..H1a 9 y9yi VBAProject ThisWorkbookSheet1Sheet2 clsTreeNodeMainFuncUtilFunc CheckFunc Declaration frmFuXuanfrmTreeclsNode clsTreeView ExcelSheet3F 1C:\PROGRA~1\COMMON~1\MICROS~1\VBA\VBA7.1\VBE7.DLLVBA  )`F.E .`M ?F`4C:\Program Files\Microsoft Office\Office15\EXCEL.EXEExcel  p0FC:\Windows\system32\stdole2.tlbstdole aL-[DR?C:\Program Files\Common Files\Microsoft Shared\OFFICE15\MSO.DLLOffice Q! 1C:\Wind\Wind.NET.Client\WindNET\system\msxml4.dllMSXML2 TagC:\Windows\system32\FM20.DLLMSForms S +=h8+3qudRGқ*=h8+3qed=GVJ [Zß!=h8+3qClassPgv3+3o VBInternal  !itemNamechFlgchildrengĤIx8< L4<aDǭ?=]ӺMvMꍁ TreeControl pj).` GetCursorPos user32.dll GetCursorPos !#I# SetCursorPos SetCursorPos !#$  getTickCount kernel32.dll GetTickCount $ %@ ActiveNode ExpandNodeAppNameChangedXfCheck CheckBoxesFormȏYl| FullWidthImageAdd {20 Images IndentationEnableLabelEdit LabelEdit LineColor MoveCopyNode NodeHeightNodes RootNodes ShowExpanders ShowLinesAddRoot CheckboxImage EnterExit ExpanderImage ExpandToLevelCopyMoveNodeAdd NodeRemove NodesClearRefresh ScrollToView SetScrollbars TerminateTreeEditModeGetExpanderIconGetCheckboxIcon GetNodeIcon getNodeByKeyRaiseAfterLabelEditNodeEventRouter UniqueKeyTreeControl_ClickClass_InitializeClass_Terminate AddNodeToCol BuildRoot BuildTreeBuildNodeControlsClone MaxNodeWidthNextVisibleNodeInTree NodeIsVisibleRecalcMaxTextWidthResetActiveNodeColorRound75SetActiveNodeColorSetTreeExpansionLevelTreeControl_KeyDownp#tTreeControl_KeyUpClickDblClick NodeCheckAfterLabelEditKeyDown LastSibling ImageExpanded ImageMain ImageUpdateLevelNextNode) P<psRܟ  FFRܟ8<<&&NOc(Yl| yL `1Je{D  mctlControl mctlExpander moEditBox mctlCheckBox BackColorBoldCaptioncheckedchild ChildNodesControlTipTextExpanded ForeColor FirstSibling ParentNodePreviousrootSortAddChild ChildIndexFullPathGetChildControlIndexVisIndextreeCheckboxƏYl|Expander ExpanderBoxHLineIconCYL&i e TextWidthVLineCheckTriStateParentCheckTriStateChildrenhasIconEditBox RemoveChildRemoveNodeControls TerminateNodeBinarySortIndexTextDeleteNodeControls MAXUpdateCheckboxUpdateExpandedmctlCheckBox_ClickmctlControl_ClickmctlControl_DblClickmctlControl_MouseDownmctlControl_MouseUpmctlExpander_ClickmoEditBox_ChangemoEditBox_KeyDown hh8<@DHL\x LeftTop       A Height   Width MIN y  y  FF =1=F Cells $MSXml2.DOMDocumentLoadXMLDocumentElement -1 ZDLX 0 1 3 @ "NumberFormatLocal RQGS YYYY 0_ Validation DeleteTypeAlertStyleOperatorFormula1Formula2AddIgnoreBlankInCellDropdownInputTitleErrorTitleInputMessageErrorMessageIMEModeShowInputShowError MRZ XSFS YXDX ,  XZFS 1: = y  y  y ( yk H (getElementsByTagName lengthtextSelectNodes3)6{O>`3)6{O>` name W[xQ!hĉRXML㉐g1Y%0 childrengĤIx8< H!ɏYl| SQ ybpQnx[kXQ Root Root Node "Tip for Root Node Z. Context tips can also be added to all nodes _1 1.A _2 2.B _2.1 2.1 level 2 _2.2 2.2 level 2 _2.2.1fĤIx8< 2.2.1 level 3 _2.2.1.1 2.2.1.1 level 4 _A n2.2.1.1.1 level 5 with extra text to test scrollwidth _2.1.1 2.1.1 level 3 _3 3.C _3.1 3.1 level 2 _4 4.D 4.D + _4. 4. 000  yj h y  TreeViewǏYl| RootHolder AddRoot clsNode.AddChild Duplicate key: ' ' yP  y]  Let KeyPicture checkNumber \Refresh: 'TreeControl' frame is not referenced PRefresh: No Root nodes have been createdF (Error in BuildRoot:  count Forms.label.1 NodeControlTipText ZOrderVisible HLineName CheckBoxBorderStylePicturePositionAutoSize MarlettFontCharsetFontSizeBackColorForeColor aCaption Forms.Image.1 Icon forms.label.1 VLine_Roots FLoading/refreshing Treeview aborted BuildRoot   value NOW - yb  y)  y! ( y H ExpBox ExpText + VLineSizeTextAlign "BuildNodeControls checkFileNamecheckModuleName checkRequired checkLength checkDateValicheckDateFormat checkOptioncheckID checkGlkz checkLdkz checkFuxuan checkDXTreecheckJBXd__SRP_1 frmFuXuanML/@*`<f o.0 olumnxmlStrrootpropcodeIDdicNamedicIndextreecol (ptreeNode 8 aH X !h x   ! AppName CloseModecNode iItemviewxnode 1!  sItemNamebChFlg 9! oChildren i TreeControl i"lpPointY oActiveNodesAppNamebChangedbXfCheck bTriState bCheckboxes ia&frm bFullWidth y&(picsName objImages sngIndent bAutoSort bMultiLine bLabelEdit nLabelEditlColorbMove sngNodeHeight lRootLeaderbShowExpandersidx bShowLinessKeyvCaption vImageMainvImageExpandedpicFalsepicTrue picTriStatebExitpicMinuspicPluslExpansionLevel bReActivatecSourcecDestvBeforevAfter bShowError vRelative vRelationship Top1Bottom2bCollapseOthers bRecalcWidthsbSetScrollDims bEditMode bExpandedlCheckedvKeysNewTextsControllActionButtonShiftbUpcolNodescAddNodebTreeColbInitlLevel lMaxLevelcParent cStartNode lngCntVisible bInactive lCurLevel iY.8KeyCode NewString iH iXbBoldvChecked colChildNodessControlTipText oParentNodevTagndOrder ndCompare i1h ctlControl lVisIndexoTree i5xoCtl ctlExpanderctlExpanderBoxctlHLine i6ctlIcon sngTextWidthctlVLine bEnterEditbReversebDeleteNodeControls sCaptionslStartlEnd bClearIndex bControlOnly valueDicCol currowindexvalueColrowIndex>(H  @ }O%+R KQ_O(2DLabel1 (( bv^Oo` SY ]5"[SO(nx[kXQ Ou"[SO(SmOu"[SO`ll5"[SO,4CommandButton1 &,0CommandButton2 &$0ListBox1{"  Microsoft Forms 2.0 Embedded Object9qVERSION 5.00 Begin {C62A69F0-16DC-11CE-9E98-00AA00574A4F} frmFuXuan Caption = "ѡϢɸѡ" ClientHeight = 6375 ClientLeft = 45 ClientTopCompObj1aVBFrame4frmTree-4`<Pf = 330 ClientWidth = 5415 StartUpPosition = 1 ' TypeInfoVer = 10 End (H  @}_-7R KQ_@{DIAIdAljj(6(Aljj(6(m( #9MultiPage1X( 2DLabel2sk4, 4CommandButton11C3, 0CommandButton2a$C3( #frmImageBoxo& ((SQ ybpQnx[kXQ5"[SO(nx[kXQ {u"[SO(Sm{u"[SO$H }W)0pO$!Page1ox15$#Page2ox15 d1W)0 bgo3F!i027`<`<f$o69'Tab3Tab45"[SO $H $}(.4SO, #frTreeControl ,J  }(y-R KQDBTahoma  n``Microsoft Forms 2.0 FrameEmx*0i048A;`<`<f+to:<i15@>`<`<f-io=?CompObj/pbedded ObjectForms.Frame.19q i*WJOMicrosoft Forms 2.0 FormEmbedded Object Forms.Form.19q$H }(.O(2DLabel1x1{$0TextBox1$ 0ListBox1q (,eQd"}sQ.W[5"[SOH,{5"[SO`CompObj1ni05EC`<`<f3oBD6&0&5"[SO i*WJOMicrosoft Forms 2.0 FormEmbedded Object Forms.Form.19q pFz?aMicrosoft Forms 2.0 FormEmbedded ObjectForms.MultiPage.19q(  } ¯NCh $& NOTE03Qg $& NOTE04Q$& OpenCompObj9nCompObj;si233 5JH`<`<f=tBook( & FolderOpenQ{( & FolderClosed( & GreenTicksedq$f Scrollok $f XPMinuskO$f XPPlusskO{( b Win7MinussedO( b Win7Plus1sedOq(  Win7Plus2sedO , F CheckboxFalseOg ( 6 CheckboxTrueO( 6 CheckboxNullO], 6 cbxAccessNullO, cbxAccessFalseO,  cbxAccessTrueeOS  n``Microsoft Forms 2.0 FrameEmbedded ObjectForms.Frame.19q Microsoft Forms 2.0 FormEmbedded Object9qVERSION 5.00 Begin {C62A69F0-16DC-11CE-9E98-00AA00574A4F} frmTroGIV0/CompObjKpCompObjKMaVBFrameO%&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􏏎ee Caption = "ѡרҵ" ClientHeight = 8100 ClientLeft = 45 ClientTop = 330 ClientWidth = 6585 StartUpPosition = 1 ' TypeInfoVer = 676 End ThisWorkbookThisWorkbookSheet1Sheet1Sheet2Sheet2MainFuncMainFuncUtilFuncUtilFuncCheckFuncCheckFuncDeclarationDeclarationfrmFuXuanfrmFuXuanfrmTreefrmTreecPROJECTwmTvPROJECTZSummaryInformation(OjDocumentSummaryInformation8n lsNodeclsNodeclsTreeViewclsTreeViewclsTreeNodeclsTreeNodeSheet3Sheet3ID="{00000000-0000-0000-0000-000000000000}" Document=ThisWorkbook/&H00000000 Document=Sheet1/&H00000000 Document=Sheet2/&H00000000 Module=MainFunc Module=UtilFunc Module=CheckFunc Module=Declaration BaseClass=frmFuXuan BaseClass=frmTree Class=clsNode Class=clsTreeView Class=clsTreeNode Document=Sheet3/&H00000000 HelpFile="" Name="VBAProject" HelpContextID="0" VersionCompatible32="393222000" CMG="7072DC1AE01AE01FE51FE5" DPB="CDCF6126E39E009E0061009F00C0C48F1E89EA3A860DF206975873FBF3161413BE7798BFBD79" GC="2A288689E28AE28AE2" [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 CheckFunc=0, 0, 0, 0, C Declaration=0, 0, 0, 0, C frmFuXuan=0, 0, 0, 0, C, 25, 25, 1195, 593, C frmTree=0, 0, 0, 0, C, 50, 50, 1220, 618, C clsNode=0, 0, 0, 0, C clsTreeView=0, 0, 0, 0, C clsTreeNode=0, 0, 0, 0, C Sheet3=0, 0, 0, 0, C Oh+'0@HXd | TsingboJimMicrosoft Excel@| #@N՜.+,0HP X`hp x   ѧϰֵ ձ  FMicrosoft Excel 2003 Biff8Excel.Sheet.89qCompObjsh