ࡱ> ?A./0123456789:;<=>q` bjbjqPqP 0::8 h+8(" !!!!!!!$-h0"! ""+8!!2gW oA,/N^./8+0h+).0}0\W0W  L9   ""GX   h+.0.0 2#B#A#! 2)2'4 '%@*4-@G #1#8 3 1"2" 2552 http://www.thaiall.com/vbnet http://www.yonok.ac.th/doc/burin/vbnet_2_520903.doc 21(6)2 http://wavezaa2.spaces.live.com '(4%L *49%#1"L http://thaiabc.spaces.live.com 8#4#L #818L http://fundboyd.spaces.live.com '#'84 *'H2-1! http://hanasocity.spaces.live.com 4"2 -84"0 http://aoynana.spaces.live.com *H-A* 8-- http://yakusaohoya13.spaces.live.com #4'2#L 3#9  http://amyloveyouyung.spaces.live.com #1  2 !1HA!H http://yuizasu9995.spaces.live.com *8#4# @ 5"B  http://spaces.live.com  22 #+1*'4 2 CPSC 431 '4 2 @#7H-@ 202'4"22#-!4'@-#L (Selected Topic in Computer Science I) 3-42"#2"'4 2 2#(6)2A%0'41"C+1'I-5HH2*C2'4"22#-!4'@-#L 8#0*L#2"'4 2 @I2C+%12#7I2--@G@#!@'4#L @I2C2#@5"B#A#!@7I-I *2!2#@#5"C I'18A%0*#I2'186IC I2 *2!2#C I2-B% *2!2#*#I2 1B# 5@'-#L A%01L 1D'IC I2 *2!2#C I2#02I-!9%DI *2!2#13#2"2 *2!2#12B#A#!#0"8L@'G 5H 1 '2!#9I@7I-I@5H"'1'4 '%@*4-@G (Introduction to VB.NET) 3 '4 '%@*4-@G (VB.NET) 7- @#7H-!7-*3+#112B#A#!@G 2)2+6HC%8H!D!B# -L'4 '%*94B--@G (Microsoft Visual Studio .NET) @G2#B#A#!5H!5* 2A'%I-!A#24*3+#1#04142#'4B'L (Windows Operating System) B"!5#22 2)2!22 2)2@*4 A%032-@G@#!@'4#L (Dotnet Framework) 9--AC+I!5'2!*2!2#C2#12B#A#!@ 4'18-"H2AI#4 A%0#-#12#--AI'""9@-G!A-% (UML = Unified Modeling Language) '4 '%*94B--@G (Visual Studio .NET) 7- @#7H-!7-*3+#112B#A#!A#'# @G2##'!@#7H-!7-5H3@GH-2#12B#A#!-"H2#I' (IDE = Integrated Development Environment) 6H#'!#42#2#12 2)2B#A#! #42#%2*7I2C+I3!2C I2#H'!1DI-"H2@G#0 @ H @-*4'A-%@ 4#L@'-#L (SQL Server) '4 '%@*4-@G (VB.NET) '4 '% 5 2#L (VC#) '4 '%@ 2#L (VJ#) '4 '% 5%1*%1* (VC++) A%0@-@-*5-@G (ASP .NET) @GI B"1I+!32-"9H 5A-%-2#L (CLR = Common Language Runtime) 5H#-#12##0!'%%A%0@I2C I#1"2#C@#7H-DI-"H2!5#0*44 2 D!B# -LA-@ * (Microsoft Access) 7- B#A#!@7H-12#02I-!9% !52#2@GI-!9%A%0*#I24'#5HDI !5*H'-B%C+I@#5"C IC#2"2A%0-#L! *#I2!2B#A%0B!9%I'" 2)2@*4@7H-#0!'%%2!+%1 2)2B#*#I2 +#7-0C I@G@5"#02I-!9%C+IB#A#!2 2"-@#5"C I 6HH2"*3+#19I5H!5#0*2#L C@#7H-2#@5"B#A#! +#7-9I12#02I-!9%!2A%I' H'"C+I2#12#02@*#GDI-"H2#'@#G' D!B# -LA-@ * (Microsoft Access) H21 '4 '%@*4 (Visual Basic) @#20 '4 '%@*4*2!2#12B#A#!DI+%2+%2" @ H 12B#A#!'8!-8#L B#A#!#0"8L @!*L +#7-@ 7H-!H-1#02I-!9% 2"- @G 2)25H@+!2012#12B#A#!#0"8L (Application) *H'D!B# -LA-@ *@+!20*3+#1112#02I-!9% 5HD!HI-2##05H 1 I- A%0I-2#12C+I@*#G-"H2#'@#G' !5@#7H-!7-5H-3'"'2!*0'C2#12#02I-!9%-"H2#I' 1.1 -@G@#!@'4#L (.NET Framework) -@G@#!@'4#L (.NET Framework) 7- A%-#L! (Platform) *3+#12#12 -LA'#L"8C+!H 12B"#4)1D!B# -L #-#1 2)2-@G!2'H2 40 2)2 #0-I'" 2 *H'+%1 7- 5A-%-2#L (CLR = Common Language Runtime) 7-*H'#-#12##0!'%% A%0@-A-% 5 (FLC = Framework Class Library) 7- D%#2#53'!2#-#12#12 -LA'#L #'!6#4+2#2#3@42#-B#A#!5H#0!'%%-@G@#!@'4#L CD%#2#5#0-I'" *H'H-#0*219IC I 2#12#AI!A%0@#7H- 2#@ 7H-!H-2I-!9% 2#@I2#+1*%1 2#@ 7H-!H-@#7-H2" A%02#12@'GA-%4@ 1 @GI [Wikipedia.org : -@G@#!@'4#L] 5A-%-2#L (CLR = Common Language Runtime) 7- *H'#-#12##0!'%% @G1'#4+2#12#* 2A'%I-!--@G@#!@'4#L @7H-C+I#42#2##0!'%%B#A#! (Execute Engine) @-A-% 5 (FLC = Framework Class Library) 7- D%#2#5H5H@#5"!C+I9@#5"C I *2!2#327I2-'2!I-2#-9I12 @ H *H'H-#0*219IC I 2#12#AI!A%0@#7H- 2#@ 7H-!H-2I-!9% 2#@I2#+1*%1 2#@ 7H-!H-@#7-H2" A%02#12@'GA-%4@ 1 @GI FLC = Framework Class Library Windows Form ASP.NET Web Form Web Services ADO.NET and XML Base Class Library CLR = Common Language Runtime @!7H-112@5"#+1*I 1 (Source Code) G0*HC+I1'A% 2)2 (Compiler) 3C+I2#A%#1IA#0DI%2#-!D%LCA@-G!@-*D-A-% (MSIL = Microsoft Intermediate Language) #I-!*#I2@!02I2 (MetaData) 5H@GI-!9%@7I-I-B#A#! 6H!52!*8%@G .exe -"9HCAI!#0@ 5-5 (PE = Portable Executable) -20DI@-G!@-*D-A-%A%I'"1DI@!02I2 (MetaData) 6H@G#2"%0@-5"@5H"'1B#A#!5H*#I26I @!7H-*1H#0!'%%0G*H1I@-G!@-*D-A-% A%0@!02I2C+I1 5A-%-2#L32#A%#1I5H*- C+I@G 2)2@#7H-5H#I-!#0!'%%@#7H-1I +!2"'2!'H2 B#A#!5H@5"-@G@#!@'4#L032* 2A'%I-!5H#4+2#B" 5A-%-2#L (CLR = Common Language Runtime) 6H3+I25H@#5"!* 2A'%I-!@*!7- (Virtual Environment) 3C+I9I12D!HI-366'2!*2!2#5HAH2#0+'H2+H'"#0!'%% +#7-#04142# -21I"1C+I#42#I2%D#0'2!%- 1" 2##4+2#+H'"'2!3 A%02#12#I-"@'I (Exception Handling) .vb => MSIL + Metadata => Portable Executable (.exe) 2#*#I2AI! MSIL 0!5-"9H 2 %1)07-@46I@!7H-*1H Start Debugging A%0 *1H Build B"4AI!5H*1H Build 0!52D!HC+ H'H2AI!5HDI22# Debugging @#2009 Optimize C+I@+%7-@H25H3@GA%I' *3+#1+I-5H@GAI!5HDI22# Start Debugging 7-+I- bin/debug A%022# Build 7-+I- bin/release -@G@#!@'4#L#8HA#--C5.(.2545 #8H5H*---C5.(.2548 B"*-#8HA##-#12#32'4B'L@7-8#8H *3+#1#8H5H*2!--'15H 6 $(42" .(. 2549 B"#-#1'4B'*L@- L5@-*5*- (Windows XP SP2) '4B'*L@ 4#L@'-#L*-(9"L(9"L*2! (Windows Server 2003 SP1) A%0'4B'*L'4*2 (Windows Vista) !52#12 2)2C+I32-@G@4H!6I%-@'%2 5H@G#2" 7H- 2)23' 55 2)25H*1*82#12-@GC dotnetpowered.com/languages.aspx !515I Ada , APL , AsmL , Assembly , Basic , BETA , BF , Boo , C , C# , C++ , Caml , CAT , CFML , Clarion# , Cobol , Cobra , CULE , E# , Eiffel , Flash , Forth , Fortran , G# , Haskell , IL/MSIL , Java , JavaScript , Lexico , LISP , LOGO , Lua , Mercury , Modrian , Modula-2 , Nemerle , Oberon , Pan , Pascal , Perl , PHP , Processing , Prolog , Python , RPG , Ruby , Scala , Scheme , Smalltalk , SML , Spry , Synergy , Tcl/Tk , Visual Objects , Zoon B#A#!C+I- C:\WINDOWS \Microsoft.NET \Framework \v2.0.50727 5HH2*C 1. csc.exe C# compiler 2. jsc.exe Jscript compiler 3. vbc.exe Visual Basic .NET compiler 4. vjc.exe Visual J# .NET compiler A+%H2'LB+%-@G@#!@'4#LC#5D!HDI41ID#I-!#04142# 1. http://www.grace-beauty.net/Documents/Downloadfiles/NetFx20SP1_x86.exe 23.6 MB 2. http://msdn.microsoft.com/en-us/netframework/aa731542.aspx 23.6 MB C1'@%7- Start, Program, Microsoft .NET Framework SDK v2.0 0@#7H-!7- (Tools) 4 %8H! 7- Configuration and Deployment Tools , Debugging Tools , Security Tools A%0 General Tools B"+I-5H@G@#7H-!7-@+%H25I7- C:\Program Files \Microsoft Visual Studio 8 \SDK \v2.0 \Bin +2I-2##2'H2CAI!5-5 (PE = Portable Executable) !5 Manifest , Metadata A%0#2"%0@-5"-7H *2!2#C IB#A#! MSIL Disassembler 7H-'H2 ildasm.exe A-*@ !%5I (Assembly) 7- 2##'! 4I*H' C'2!+!2"-'4 '%*94B--@GA%I' 2##'!@46I@!7H-!52#A%#+1*I 10DI%%1L@GAI!@-G!@-*D-A-% (MSIL) 11I3'H2 Assembly 6!4C H 2)2A- @ !%5I *3+#12# Disassembler 7-2#A"*H'5H@"#'!1D'I--@GAH%0*H'C+I@+G'H2!5-0D#-"9HI2 C-@G!5B#A#! ildasm.exe H'"A**4H5H@G-"9HCAI!5H32# Assembly D'IA%I'DI '2!I-2#I2.2#LA'#L / -LA'#L .2#LA'#L / -LA'#L'2!I-2#1IH3+H'"#0!'%%%2 (CPU = Central Processing Unit)'2!@#G'!2'H2 600 MHz+H'"'2!3+%1 (Main Memory)'#!2'H2 256 MB+H'"'2!3C@#7H- (Harddisk)*3+#141IB#A#! 2.5 GB 55#-! +#7- 5'55#-! (CD-ROM or DVD)12 X 6ID#04142# (Operating System)'4B'L@-G5 4.0 +#7- '4B'L 2000 +#7- '4B'L@-G5 6ID 2# Publish +#7- Deployment 7- 2#@"A#H%2--DC I2C@#7H--7H !51'@%7-+%2"A 21'@%7-!5%H-3'AI!+#7-2AI!5HI-C I*3+#131'41I (Installer) 7- Prerequisites & !5 .NET Framework 2.0 5H H'"C+I41IC@#7H--!4'@-#L5HD!H@"41I-@G 2.0 I23+ Publish Location @G C:\ +#7- ftp://ftp.thaiall.siamdhost.com/thaiall512/ G0!51'41I-"9HC+I-5H3+ *4H5HDI22# Publish 1. File @ H thaiall512.application 5160 Bytes 2. File @ H thaiall512_1_0_0_0.application 5160 bytes 3. Folder @ H thaiall512_1_0_0_0 File @ H thaiall512.exe.config.deploy 1636 Bytes File @ H thaiall512.exe.deploy 126976 Bytes File @ H thaiall512.exe.manifest 6148 Bytes AI! http://www.thaiall.com/vbnet/thai512installer.zip 7- #8H 1.0.0.0 C-4@-#L@GDI@"A#H#8H 1.0.0.1 C ftp://ftp.thaiall.siamdhost.com/thaiall512/ 1.2 1'A##0@ '18 (Object Variable) 1'A#B"1H'D!5+I25H@GH2 (Normal Variable) AH1'A##0@ '18 (Object Variable) 7- 1'A# 6H3+I25H@G3A+H2#-I2-4 (Reference) -*4H5H-"9HC'18 I2'181I!5-0D#-"9H 2"C G0@#5"!2C I +#7-@%5H"A%DI @ H Dim f1 As Object  3+C+I f1 @G'18 f1 = Me  #08C+I f1 7- -#L!181 f1.text = "hello"  3+ 7H- Title Bar @G hello MsgBox(f1.Size.Width)  300 pixels Dim f2 As New Form  Form Class 9C I2 f2.show()  @4-#L!C+!H Dim f3 As Object f3 = String.Empty f3 = "a" MsgBox(Asc(f3)) '97 Dim f4 As Object = "1"  @#4H!I@G String f4 += "2"  H-D6@G String MsgBox(Asc(f4) & f4)  4912 -4*AL (Instance) 7- 2#*#I22#-I2-4 (Reference) D"1+H'"'2!3 B"C IIA-'185H-"9HC+H'"'2!3.5 (Heap Memory) @!7H-*#I22#-I2-4A%I'G0@#5"C I'18CIA-'18DI 6H25I032H-22##02(+#7-@42#-I2-4IA-'18 @7H-C+I 7H-'18@46IC+H'"'2!3*AH- A%0*#I22#-I2-4D"1IA-'185H-"9HC+H'"'2!3.5C 2"+%1 1I-5H 1 #02(+#7-@42#-I2-4IA-'18 C+H'"'2!3*A 1I-5H 2 *#I22#-I2-4D"1IA-'185H-"9HC+H'"'2!3.5 @7H-@#5"C I'18C1I @ H Dim f1 As Form1  #02(2#-I2-4C+H'"'2!3*A f1 = New Form1  *#I2-4*ALC+H'"'2!3.5 Dim f2 As New Form1  #02(2#-I2-4 #I-!*#I2-4*AL Dim f3 As New Form1( )  D!HAH22 f2 MsgBox ( f1.Text + f2.Text + f3.Text ) @!*@  (Namespace) 7- 2##'!%2*@G+!'+!9HC+I93DC IDIH2"%I2"1A@C 2)22'2 2#@#5"C I%2*C@!*@ 3DI+%2"'45 @ H @#5"2 2"-A-%4@ 1 @#5"2 2"CA-%4@ 1 @#5"2@!*@ 5H-@G@#!@'4#L@#5"!D'IC+IC I @!7H-3%2*@I2*9HB#A#!H2@!*@ A%I'G0C I1L 1 '18 +#7-@!-C%2*@+%H21IDI15 1'-"H2 @!*@* @ H Microsoft.VisualBasic Namespace !5 classes, modules, constants, and enumerations 5HH2*C!2!2" @ H 1. Microsoft.VisualBasic.Collection 2. Microsoft.VisualBasic.ControlChars 3. Microsoft.VisualBasic.Conversion 4. Microsoft.VisualBasic.DateAndTime 5. Microsoft.VisualBasic.ErrObject 6. Microsoft.VisualBasic.FileSystem 7. Microsoft.VisualBasic.Financial 8. Microsoft.VisualBasic.Information 9. Microsoft.VisualBasic.Interaction 10. Microsoft.VisualBasic.Strings 11. Microsoft.VisualBasic.VbMath 1'-"H2C http://www.thaiall.com/vbnet\msvb.htm 1'-"H2 1.1 2#C I@!-2 Microsoft.VisualBasic.VbMath Module 1. Microsoft.VisualBasic.VBMath.Randomize() 2. Msgbox( Microsoft.VisualBasic.VbMath.rnd() ) // 0.1234567 3. Dim a as double = Microsoft.VisualBasic.VbMath.rnd() 4. Msgbox( a )  0.123456789012345 5. MsgBox(Int(a * 100))  0 - 99 1'-"H2 1.2 -H2#2" 7H-D@##-#5HB" Microsoft.VisualBasic.FileSystem Module Dim o As String = "" Dim MyPath As String = "c:\" Dim MyName As String = Microsoft.VisualBasic.Dir(MyPath, vbDirectory) Do While MyName <> "" If (GetAttr(MyPath & MyName) And vbDirectory) = vbDirectory Then o & = MyName & CStr(GetAttr(MyPath & MyName)) o & = Microsoft.VisualBasic.ControlChars.CrLf End If MyName = Dir() Microsoft.VisualBasic.vbDirectory = 16 Loop MsgBox(o) If (11 And 6) = 2 Then MsgBox("ok") *3+#1-42" And 1'-"H2 1.3 -H2#2" 7H-AI!B" Microsoft.VisualBasic.FileSystem Module MsgBox(FileLen("c:\ntldr")) Dim countfile As Double = 0 Dim totalSize As Double = 0 Dim MyName As String = Dir("c:\windows\", vbDirectory) Do While MyName <> "" If (GetAttr("c:\windows\" & MyName) And vbArchive) = vbArchive Then countfile += 1 totalSize += FileLen("c:\windows\" & MyName) End If MyName = Dir() ' Get Next Loop MsgBox("Files=" & countfile & " Size=" & totalSize) 2#@#5"C I%2*2@!*@  *2!2#3@!*@ @I2*9HB#A#!I'"3*1H imports A%03@I2DI+%2"%2* 03@I2I'"3*1H imports ##1@5"'2!I'" 7H-@!*@*H-1AH1II'"@#7H-+!2"-!!H2 +#7-0C I3*1H imports 5%0+6H@!*@*GDI 1'-"H2 1.4 2#3@I2%2*!2C IC-#L!B"@5"%2*-"9HC-#L!1I Imports WindowsApplication1.a  ##15I3@GI-9C I D!HC ID!HDI Public Class Form1 Private Sub Form1_Load (. . . . aa() WindowsApplication1.a aa()  I2D!H Imports GI-@#5"# F End Sub End Class Public Class a Public Shared Sub aa() MsgBox("aaa") End Sub End Class 1.3 3*' +#7-3+%1 (Keywords) 3*' +#7-3+%1 (Keywords) 7- 35HD!H*2!2#3!2*#I2@G1'A# A%0*'D'ID!HC+I9C I 6H 2)2'4 '%@*4-@G!5!2'H2 151 1' AH 2)22'2!5@5" 49 1'@H21I @!7H-C IB#A#!'4 '%*94B--@G@5"#+1*I 10'H23*'0@%5H"@G*5I3@4-1B!14 H'"C+I*1@DIH2" I-!9%@4H!@4!*2!2#-H2DI2 1. Visual Basic Reference http://msdn.microsoft.com/en-us/library/sh9ywfdk.aspx 2. Keywords (Visual Basic) http://msdn.microsoft.com/en-us/library/3ye7yxwx.aspx 3*' (Keywords +#7- Reserved Word) C'4 '%@*45H*3#-D'ID!H*2!2#3D1I@G 7H-1'A# +#7- 7H-%2* DIAH AddHandler AddressOf Alias And AndAlso As Boolean ByRef Byte ByVal Call Case Catch CBool CByte CChar CDate CDec CDbl Char CInt Class CLng CObj Const Continue CSByte CShort CSng CStr CType CUInt CULng CUShort Date Decimal Declare Default Delegate Dim DirectCast Do Double Each Else ElseIf End EndIf Enum Erase Error Event Exit False Finally For Friend Function Get GetType Global GoSub GoTo Handles If Implements Imports In Inherits Integer Interface Is IsNot Let Lib Like Long Loop Me Mod Module MustInherit MustOverride MyBase MyClass Namespace Narrowing New Next Not Nothing NotInheritable NotOverridable Object Of On Operator Option Optional Or OrElse Overloads Overridable Overrides ParamArray Partial Private Property Protected Public RaiseEvent ReadOnly ReDim REM RemoveHandler Resume Return SByte Select Set Shadows Shared Short Single Static Step Stop String Structure Sub SyncLock Then Throw To True Try TryCast TypeOf Variant Wend UInteger ULong UShort Using When While Widening With WithEvents WriteOnly Xor 1.4 A-I-!9% (Data Type) 5A-%-2#L (CLR = Common Language Runtime) 7- *H'#-#12##0!'%% @G1'#4+2#12#* 2A'%I-!--@G@#!@'4#L @7H-C+I#42#2##0!'%%B#A#! (Execute Engine) I-!9% Data Type Summary (Visual Basic) 2 http://msdn.microsoft.com/en-us/library/47zceaw7.aspx noA- VBCLR Type StructureC I+H'"'2!3 H'I-!9%1Boolean BooleanDepends on platform True or False 2ByteByte1 byte 0 through 255 3CharChar2 bytes 0 through 65535 4DateDateTime8 bytes 0:00:00 (midnight) on Jan 1, 0001 through 11:59:59 PM Dec 31, 9999 5DecimalDecimal16 bytes +/-7.9...E+286DoubleDouble8 bytes -1.79769313486231570E+308 through -4.94065645841246544E-324 7IntegerInt324 bytes -2,147,483,648 through 2,147,483,647 8LongInt648 bytes-9,223,372,036,854,775,808 through 9,223,372,036,854,775,807 (9.2.E+18 ) 9Object Object 4 bytes on 32bit 8 bytes on 64bit Any type can be stored in a variable of type Object 10SByteSByte1 byte -128 through 127 11ShortInt162 bytes -32,768 through 32,767 12SingleSingle4 bytes -3.4028235E+38 through -1.401298E-45 13StringStringDepends on platform 0 to 2 billion Unicode characters 14UIntegerUInt324 bytes 0 through 4,294,967,295 (unsigned) 15ULongUInt648 bytes 0 through 18,446,744,073,709,551,615 (1.8...E+19 )16User-Defined Inherits from ValueTypeDepends on platform Each member of the structure has a range determined by its data type 17UShortUInt162 bytes 0 through 65,535  Date 7- A-I-!9%*3+#1'15H 4"!C I2C#02I-!9%I28#4 @#20'1@'%2@G11"*31 C2##4+2##028#4 @ H '15H*1H 7I- '1#3+H2"+5I 3''1*3+#12#3'H2#1@GI *H' DateandTime 7- B!9%5H!5@!-C+I@#5"C I*3+#12#A%H22!5HI-2# @ H DateDiff @GI %31-42"1'-"H21#02(1'A#Dim d1 as Date2A*%C1'A#MsgBox(d1) ' 12:00:00 AM33+H2d1 = #10/23/2008 2:16:00 PM#4A*%C1'A# MsgBox(d1) ' 10/23/2008 2:16:00 PM5#02(1'A#Dim d2 As New Date(2008, 5, 31, 12, 14, 0)6A*2%2*MsgBox(New Date(2008, 5, 31, 12, 14, 0))7A*5H3+MsgBox(Format(#10/31/2008#, "dddd, d MMM yyyy"))  Friday, 31 Oct 20088@'%2181Dim d1 As Date = Now9C I3'H2 NowMsgBox(Now & d1)  A* 2 #1I10+2'15H181Dim d3 As Integer = DateAndTime.Day(Now)11A*'425Dim d1 As Byte = Now.Second MsgBox(d1)12A*!4%%4'425MsgBox(Now.Millisecond)13#'1'2!4%2Dim d As String = "13/23/2008" Dim d2 As Date  declare before in try Try d2 = CDate(d) Catch ex As Exception MsgBox(ex.ToString) d2 = Now Finally Beep() ' each time End Try MsgBox(d2)14+2%H2-@7-Dim d1 As Date = #2/23/2008# Dim d2 As Date = #4/20/2008# MsgBox(DateAndTime.DateDiff("d", d1, d2)) '57 MsgBox(DateAndTime.DateDiff("m", d1, d2)) '115+2%H2-'15HDim d1 As Date = #10/23/2007# Dim d2 As Long = DateAndTime.DateDiff("d", d1, Now) '3661'-"H2 1.5 2#12#1I-!9%5H+%2+%2" Dim v1 As Integer = CInt(Rnd() * 100) Dim v2 As Double = Rnd() Dim v3() As Integer = {5, 6} MsgBox(v1 & "-" & v2 & "-" & v3(0) & "-" & v3.Length) Dim v4 As Date v4 = Now '11/13/2007 8:29:50 PM v4 = #11/13/2007# MsgBox(TimeOfDay & " " & v4) ' 8:29:50 PM 11/13/2007 Dim v5(2) As Integer v5(0) = 7 : v5(1) = 8 : MsgBox(v5(0) + v5(1)) ' 15 Dim v6 As Integer v6 = DateDiff(DateInterval.Day, #10/13/2006#, v4) ' 396 MsgBox(v6) Dim v7 As String = "abcdef" MsgBox(Mid(v7, 1, 2) & Microsoft.VisualBasic.Left(v7, 2)) Dim v8() As String v8 = Split("a+b+c", "+") MsgBox(v8(0) & chr(10) & v8(1)) ' chr(65)=A & Asc("A")=65 & Format(Asc("A"), "000")=065 1'-"H2 1.6 AI-!9%5H3+6I@-I'" Structure Module Module1 Sub Main() Dim e As employee With e .ename = "tom" .esalary = 2000 Console.WriteLine(.myoutput()) End With e.ename = "boy" e.esalary = 3000 Console.WriteLine(e.myoutput()) Console.Read() End Sub End Module Structure employee Dim ename As String Dim esalary As Integer Public Function myoutput() As String Return "Name=" & ename & " Salary=" & esalary End Function End Structure Console.read() 7- @!-5H32C-B % C I#1I-!9%5%01'-1)# +2#1!2+%2"1'-1)#0#1DI@5"1'-1)#A#-1)#@5"' @ H Dim a as char = Console.read() Console.readline() 7- @!-5H32C-B % C I#1I-!9%5##1 A%0+"8#1@!7H-8H! Enter 6I-C I1'A##1I-!9%A String @ H Dim a as String = Console.readline() Console.write() 7- @!-5H32C-B % C IA*I-!9%--2-B % @ H Console.Write(5) 1.5 -2#L@#"L (Array) A'%31 +#7- -2#L@#"L (Array) +!2"6 8-I-!9%5H!5H2@GACA+6H !52#1@#5"-"H2!5%31H-+%1 (Order Set) @+!7-2#2I-!9% #0-I'" H-*3+#1@GI-!9%5H@#5"H-1 A%0@#5"I-!9%!2C IH21 5 (Index) 5H31AH%0 H-I-!9% 8@H--2#L@#"L7-#02(C I#1I@5"' AH@#5"C IDI+%2"#1I@H23'1 55H3+D'IAHA# [http://www.thaiall.com/class/java_array.ppt , Oct 18,2551] 1'-"H2 1.7 2#C I2-2#L@#"L+6H!44CB!9% Module Module1 Sub main() Dim a(3) As byte a(0) = 2 a(1) = 3 a(2) = 4 a(3) = 5 Console.Write(a(0) + a(1) + a(2) + a(3)) Console.Read()  14 End Sub End Module 1'-"H2 1.8 2#C I2-2#L@#"L+6H!44C%2* Public Class Form1 Dim a() As Object Dim b() As Integer = {1, 2, 3} Dim c() As String = {"a"} Dim d(1) As Byte Private Sub Form1_Load( .. a = New String() {"a", "b"} b(1) = 4 ReDim c(3) c(2) = "c" d(0) = 1 d(1) = 2 ' ok MsgBox(a(0) & b(1) & c(2) & d(1)) 'a4c2 End Sub End Class 1'-"H2 1.9 2#C I2-2#L@#"L*-!44 Public Class Form1 Dim f(1, 2) As Object Dim g(,) As Integer = {{1}, {2}, {3}} Dim h(,) As Integer = {{1, 2}, {3, 4}, {5, 6}} Dim i(1)() As Byte Private Sub Form1_Load( .. f(0, 0) = 1 f(0, 1) = 2 f(0, 2) = 3 ' ok i(0) = New Byte() {1} i(1) = New Byte() {2, 3} MsgBox(f(0, 0) & f(0, 2) & g(2, 0) & h(2, 1) & i(1)(1)) '13363 End Sub End Class 1. -2#L@#"L%2* (Array Class) Array 7- Class 5H-"9HC System namespace @#20@G%2* 6!51I Method A%0 Properties C+I@#5"C I 1'-"H2 7H- Method - Array @ H Clear , Clone , Copy , Equals , Exists , FindIndex , FindLast , ForEach , GetLength , GetType , GetValue , IndexOf , Initialize , Resize , Reverse , SetValue , Sort , ToString 1'-"H2 7H- Properties - Array @ H IsFixedSize , IsReadOnly , Length , Rank @GI 1'-"H2 1.10 2#C I Array Class Private Sub Form1_Load( .. Dim dino() As String = {"Compsognathus", _ "Amargasaurus", "Oviraptor", "Dilophosaurus", "Velociraptor"} MsgBox(Array.Exists(dino, AddressOf EndsWithSaurus)) 'true MsgBox(Array.Find(dino,AddressOf EndsWithSaurus)) 'Amargasaurus MsgBox(Array.FindLast(dino, AddressOf EndsWithSaurus))' Dilophosaurus Dim d1() As String = dino Array.Resize(d1, d1.Length + 1) d1.SetValue("Burin", d1.Length - 1) MsgBox(d1.Length & d1(d1.Length - 1)) Array.Sort(d1) Dim o As String = "" For Each d As String In d1 : o & = d & " " : Next MsgBox(o) Dim d2() As String = d1 Array.Clear(d2, 0, 2) ' just clear 2 item , not remove item o = "" For Each d As String In d1 : o & = d & " " : Next MsgBox(o) ' see 4 End Sub Function EndsWithSaurus(ByVal s As String) As Boolean If (s.Length > 5) And _ (s.Substring(s.Length - 6).ToLower() = "saurus") Then Return True Else Return False End If End Function 2. -%@%G 1 (Collections) -@G@#!@'4#L!5-2#L@#"LAC+!HC+I112DIC I-"9HC System.Collections namespace 7H-%2*5H@#5"C IDI @ H ArrayList , BitArray , CollectionBase , Comparer , DictionaryBase , Hashtable , Queue , SortedList A%0 Stack @GI 1'-"H2 1.11 2#C I SortedList Class Dim dino As New SortedList(Of String, String) dino.Add("c", "Compsognathus") dino.Add("a", "Amargasaurus") dino.Add("o", "Oviraptor") dino.Add("d", "Dilophosaurus") dino.Add("v", "Velociraptor") MsgBox(dino("c")) Dim o As String = "" For Each d As Object In dino : o & = d.ToString & " " : Next o = InputBox(o) ' array value For Each k As String In dino.Keys : o & = k.ToString & " " : Next o = InputBox(o) ' only keys 1.6 2#B#A#!B#*#I2 (Structured Programming) 2#B#A#!B#*#I2 !5+%12#@5"B"7I2 3 '45 7- 1) 2#32A2!%31 (Sequence) 2) 2#@%7-#032!@7H-D (Decision) 3) 2#3 I3 (Repeation or Loop) 1. 2#32A2!%31 (Sequence) 2#32A2!%31 7- 2#@5"#0'2#32C+I32%%H2 @5"3*1HC+I@G##1 A%035%0##12##1*8%D6##1%H2*8 *!!4C+I!52#32 3 #0'2#7- -H2I-!9% 3' A%0A*% 2. 2#@%7-#032!@7H-D (Decision) 2#1*4C +#7-@%7-@7H-D 7- 2#@5"#0'2#5H@%7-#03-"H2C-"H2+6H B"40!5@+82#LC+I@%7-3 2 #0'2# DIAH#5@G#4 A%0#5@G@G 2#0'2#!5'2! 1 I-G0C I@7H-D+%2" 1I @ H 2#1@#2!0A1@#5" 2#3'H22"+I2C#0@-G!A-%@-G! (Multi-Level Marketing) @GI 1'-"H23*1H @ H if , switch , select @GI 3. 2#3 I3 (Repeation or Loop) 2#3 I3 7- 2#@5"#0'2#C+I3+%2"#1I-"H2!5@7H-D 6H!52#325H*31  4 *H'7-2#3+H2@#4H!IH-3 I3 2##'2#*4I*8C2#3 I3 4##!C03 I3 A%04##!+%12#3 I3 1'-"H23*1H @ H while , do .. while , for , for each @GI @ H For i As Integer = 1 To 3 i = i + 1 Next Dim i As Integer For i = 1 To 3 i = i + 1 Next 2#32@5H"'1-#L! 2#@4-#L! 1. @4-#L!2!4 @ H Form1.show( ) 2. @4-#L!AD-0%G- 7- @4A%I'I-4H-3-#L!-7H @ H Form1.showdialog( ) 2#+"82#32--#L! 1. C I3*1H end +"82#32-B#A#! 2. C I@!- close @ H me.close( ) *1H4-#L!181 +2!5-#L!@5"'G0@%42#32 3. C I@!- dispose @ H form2.dispose( ) @G2#%%H-"#1"2# !5%C+I-#L!+"832 1'-"H2 1.12 2##1H2H2-48%G- @G@42##1H2 A%0#'**-H2-"H2H2" +23DC IC-#L!B+% G08!2#@I2-#L!DI Dim a As String = InputBox("prompt", "title", "default", 0, 0) If a <> "burin" Then End MsgBox(CInt(a) + CInt(a)) 1'-"H2 1.13 #1H2 3 #1IA%I'A*% AC I-2#L@#"LC-B % Module Module1 Sub Main() Dim a(3) As String For i As Integer = 1 To 3 a(i) = Console.ReadLine() Next Console.Write(a(1) & a(2) & a(3)) Console.Read() End Sub End Module 1'-"H2 1.14 #1H2 3 #1IA%I'A*% AC I-2#L@#"LC VB.NET 2#@#5"C I@!-5H*#I26IC Form_load +#7- Click Procedure -2C I B_Click( ) Public Class Form1 Dim i As Integer = 0 Dim a(3) As String Dim b As String = "" Private Sub B_Click() a(i) = TextBox1.Text TextBox1.Text = "" i = i + 1 If (i >= 3) Then Array.Sort(a) For Each c As String In a b & = c Next MsgBox(b) End If End Sub End Class 1.7 1'-"H2#+1*I 1C-@G (Dotnet Sample) C:\Documents and Settings\burin\My Documents\Visual Studio 2005\Projects\ConsoleApplication4\bin\Debug 1'-"H2 1.15 Windows Application in Visual Basic .Net  Form1.vb Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load MsgBox(5) End Sub End Class 1'-"H2 1.16 Console Application in Visual Basic .Net  Module1.vb Module Module1 Sub Main() Console.Write(5) Console.Read() MsgBox(5) End Sub End Module 1'-"H2 1.17 Windows Application in C# .Net Form1.cs using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace WindowsApplication1 { public partial class Form1 : Form { public Form1(){ InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { MessageBox.Show("5"); } } } 1'-"H2 1.18 Console Application in C# .Net  DOS>csc Program.cs using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication1{ class Program { static void Main(string[] args) { Console.Write(5); Console.Read(); } } } 1'-"H2 1.19 CLR Console Application in C++ .Net #include "stdafx.h" using namespace System; int main(array<System::String ^> ^args){ Console::WriteLine(L"Hello World"); Console::Read(); return 0; } 1'-"H2 1.20 CLR Windows Application in C++ .Net #include "stdafx.h" #include "Form1.h" using namespace hello2; [STAThreadAttribute] int main(array<System::String ^> ^args) { MessageBox::Show("abc"); Application::EnableVisualStyles(); Application::SetCompatibleTextRenderingDefault(false); Application::Run(gcnew Form1()); return 0; } 1'-"H2 1.21 MFC Application in C++ .Net  cpp_mfc1View.cpp void Ccpp_mfc1View::OnDraw(CDC* pDC){ Ccpp_mfc1Doc* pDoc = GetDocument(); ASSERT_VALID(pDoc); if (!pDoc) return; CBrush NewBrush(RGB(250, 250, 5)); CBrush *pBrush = pDC->SelectObject( & NewBrush); pDC->Rectangle(20, 20, 250, 125); pDC->SelectObject(pBrush); LPCTSTR s1 = _T("*-"); pDC->TextOut(5, 10, s1,5); pDC->TextOut(5, 50, (LPCTSTR)_T("*-"),5); } 1'-"H2 1.22 Console Application in C++ 32-Bit #include <stdio.h> void main() { printf("hello"); getchar(); } 1'-"H2 1.23 Console Application in J# .Net package ConsoleApplication1; import java.io.*; public class Program{ public static void main(String[] args) throws IOException{ System.out.print(5); System.in.read(); } } *#8@7I-+2I2" - -42"'2!+!2"-'4 '%*94B--@G A%0'4 '%@*4-@G Visual Basic 2005 In Visual Studio .net Dotnet framework , JVM = Java Virtual Machine, JRE = Java Runtime Environment IDE = Integrate Development Environment MSIL = Microsoft Intermediate Language , x.exe Bytecode = x.class , x.java CLR = Common Language Runtime - -42"2#41I 2#@#4H!C I2'4 '%*94B--@G I232C+I-'#1@GI-!9%D'IC Drive D 6H#'!62#1@GB#2I'" 2#@5"B#A#!G@+!7-2#*#I2I2 - '(4%L : #4+2##I2-!4'@-#L #0-I'" *1H 7I- #1*4I2 *H@%5H" 7I- 2" H-! #1@%5H"+@4+#0@  #17 B"2"#1#01 #13*1H 7I-@#7H- 5'45C2##1*4I2 #0-2" " 8+%2""5H+I- Notebook+PC+Printer -0D+%H -8#LH-H' @ 7H- !5%9+5I+*20@5I"'+*2" 7I-* 2#A"+H'""H-"A%I'3!2#'!@7H-#0- I84-"H2D# - @#4H!I1 Console Application C Visual Basic A%0*- Start Debugging - Keyword , Comment , Local Variable A%02#@%7- Module C IDE - Debugging 1 Release A%0 Startup Object - 2#A%C Command Prompt @ H vbc module1.vb - Console.Read() #1 char 0#'! 13 ,10 H21 Console.ReadLine() - 13 7- Cariage Return 10 7- Line Feed - #0'1 2#1@GAI!1I+!D!H@46IB"-1B!14 2-AI!2 Start Debugging (24,576 bytes) A%0 Build (24,576 bytes) Module Module1 Sub Main() Randomize() Dim a as Integer = 1 a = 2 Console.Write(Rnd() + a)  2.705548 Console.Read() End Sub End Module Module Module2 Sub Main() Dim a as Integer = cint(Console.ReadLine()) Console.Write(a * 2) Console.Read() End Sub End Module - -42"'2!+!2"-'18 1'A##0@ '18 , -4*AL (Instance) , @!*@  (Namespace) Microsoft.VisualBasic Namespace !5 Classes , Structures , Enumerations Rnd()C Microsoft.VisualBasic.VbMath Module Dir()C Microsoft.VisualBasic.FileSystem Module - -42"3*' +#7-3+%1 !5 151 3 35HC I3+B#*#I2B#A#!5H*31  26 1' @ H module sub end exit do while for next if then else dim as byte integer long double string object cstr cint and or not true false - -42"A-I-!9%!5 17 A 2#12#1I-!9%#0@ '15H @ H 3+'15H6I!2 @#5"C I'15H181 15@7-'1--2I-!9%'15H #'1'2!9I--'15H 2#3+A-I-!9%I'" Structure A%0C I2#H'!1 With - -42"'2!AH2--2#L@#"LA%0-%@%G 1 @5"B#A#!-H2I-!9%2-2#L@#"L!2A*2 Msgbox Dim dino() As String = {"Compsognathus", _ "Amargasaurus", "Oviraptor", "Dilophosaurus", "Velociraptor"} Dim o As String = "" For Each d As String In dino : o & = d & " " : Next MsgBox(o) @5"B#A#!I+2I-!9%C-2#L@#"LH2@!---2#L@#"L MsgBox(Array.Exists(dino, AddressOf EndsWithSaurus)) 'true MsgBox(Array.Find(dino,AddressOf EndsWithSaurus)) 'Amargasaurus Function EndsWithSaurus(ByVal s As String) As Boolean If (s.Length > 5) And _ (s.Substring(s.Length - 6).ToLower() = "saurus") Then Return True Else Return False End If End Function @5"B#A#!C I2-%@%G 1 7H- SortedList Dim dino As New SortedList(Of String, String) dino.Add("c", "Compsognathus") MsgBox(dino("c")) - '2#@5"B#A#!B#*#I2 - C+I@5"B#A#!C Module Application I'" Visual basic 5 B#A#! AH%0B#A#!D!HH3'H2 10 ##1 B"C I Keyword #0-2#@5"B#A#! *#I2 module1.vb 6 module5.vb B"@5"*H @ H B#A#!+2H2 2 @H2 B#A#!*8H!H2 @GI - 2##'*-I-!9% If (Len(TextBox4.Text) = 0) Then If (TextBox4.Text <> "") Then If (IsNumeric(TextBox4.Text)) Then A6+1I2" - @5"B#A#!C I1L 1 datediff ( ) A%0 Dim v As Date : v = Now : MsgBox(v) B"+2%H2@G DateDiff(DateInterval.second, #10/13/2008#, v) - @5"B#A#!C I2 30 Keywords C Console Application !2 5 B#A#! #I-!-42" - @5"B#A#!C I Data Type -"H2@+!20*!12#C I2!2 5 B#A#! #I-!-42" - @5"B#A#!C I2 Array Class +#7- Collection Class !2 5 B#A#! #I-!-42" - @5"##"2"*#8@7I-+2C@#5"5I!2-"H2I-" 2 +I2 5H 2 2#4H-19IC I@7I-I (Introduction to User Interface) 3 2#12B#A#!@!7H-42#22#4H-19IC I!5DI 3 A 7- 1)A4H-19IC I2# 2)AD!H!52#4H-19IC I2# 3)AD!H!52#4H-19IC I 1. A4H-19IC I2# @ H @'G#2'@ -#L +#7-!5@5"@%@"-#L @GI 2. AD!H!52#4H-19IC I2# @ H @'G@ -#L'4*5HC+I#42#AH@'GA-%4@ 1 3. AD!H!52#4H-19IC I @ H B#A#!D'#1* +#7-B#A#!#42#@#7-H2" @GI 2#4H-19IC I!5-"9H+%2"%1)0 6I-"9H1#42#-B#A#!#0"8L5H@4#12#@ 7H-!H- @ H Window Application 0!5+%2"-#L! AH%0-#L!!5+%2"-B% AH%0-B%!5+%2"-5@'LA.@4I% (Event Handler) #-#12#4H-19IC I @ H Form1_Load, Form1_ReSize, Form1_FormClosed, Button1_Click, Button1_DoubleClick @GI 2#12B#A#!I'"'4 '%@*4-@GCA5H!52#4H-19IC I 6H'4B'L-B%5H9@#5"C IH-"#1I7- 8H!3*1H A%0%H-I-'2! 112!13'18D'2D'I-#L! A%0C+I9IC IDI*1H2#H2'18@+%H21I '4B'L-B%9@#5"!D'IC%H-@#7H-!7-!5!2'H2 60 -B% 2.1 %H-@#7H-!7-A%0-B% (Toolbox and Control) '4B'L-B% 7- '185H3DC IC-#L! @7H-4H-19IC I !5C+IC I'H2 60 -B% *2!2#*#I26I +#7-3*4H5H112*#I2D'I!2C IC@#7H--@#2 *2!2#@4H!C9%%G-DIC 2"+%1 @ H MySQLConnection @GI (http://www.thaiall.com/vbnet/testtoolbox.htm) '4B'L-B% (Windows Control) 5HH2*C @ H Label , Button , Textbox , RadioButton , CheckBox , ListBox , ComboBox , DataGridView , MenuStrip , ToolStrip , TabControl , Timer , ProgressBar #2" 7H--B%C%H-@#7H-!7-!51I+! 64 -B%C Toolbox 1. Pointer 2. Button 3. CheckBox 4. CheckedListBox 5. ComboBox 6. DateTimePicker 7. Label 8. LinkLabel 9. ListBox 10. ListView 11. MaskedTextBox 12. MonthCalendar 13. NotifyIcon 14. NumericUpDown 15. PictureBox 16. ProgressBar 17. RadioButton 18. RichTextBox 19. TextBox 20. ToolTip 21. TreeView 22. WebBrowser 23. FlowLayoutPanel 24. GroupBox 25. Panel 26. SplitContainer 27. TabControl 28. TableLayoutPanel 29. ContextMenuStrip 30. MenuStrip 31. StatusStrip 32. ToolStrip 33. ToolStripContainer 34. DataSet 35. DataGridView 36. BindingSource 37. BindingNavigator 38. ReportViewer 39. BackgroundWorker 40. DirectoryEntry 41. DirectorySearcher 42. ErrorProvider 43. EventLog 44. FileSystemWatcher 45. HelpProvider 46. ImageList 47. MessageQueue 48. PerformanceCounter 49. Process 50. SerialPort 51. ServiceController 52. Timer 53. PageSetupDialog 54. PrintDialog 55. PrintDocument 56. PrintPreviewControl 57. PrintPreviewDialog 58. ColorDialog 59. FolderBrowserDialog 60. FontDialog 61. OpenFileDialog 62. SaveFileDialog 63. CrystalReportViewer 64. ReportDocument 1'-"H2 2.1 A*#2"2#-B%C-#L!181 For Each o As Control In Me.Controls MsgBox(o.Name) Next 1'-"H2 2.2 2#3+8*!14C+I1-#L!5H@4C MDIFORM Dim Fs As Form1 For Each F As Object In Me.MdiChildren If F.Name = "Form1" Then Fs = F Fs.BackColor = Color.Yellow Fs.TextBox1.Text = "hello" ' 28*!14@GA-H2-"H2@5"' End If Next 2.2 8H!3*1H (:Button) 8H!3*1H (:Button) 7- 8H!5H9IC I*2!2#*1HC+I#0!'%%-"H2C-"H2+6H @ H @4-#L! 4-#L! 1@GI-!9% AID +#7-%I-!9% 2!3*1H5H3+D'I 1'-"H2 2.3 3*1H@5H"'1-#L!5H4"!C I2C8H!3*1H Form1.show() Form2.showdialog()  require response and closed Form3.show() Form1.close()  #5-"9H--#L! 1 msgbox(Form1.textbox1.text)  #5-"9H--#L! 2 Me.close() End  +"82#32 2.3 %H-I-'2! (Text Box) %H-I-'2! (Text Box) 7- %H-#1I-!9%#0@ I-'2! 6H@G-B%5H9@#5"!D'I*3+#1#1I-'2!29IC I 1'-"H2 2.4 2#3+8*!145HC IH-" TextBox1.Multiline = True TextBox1.Size = New Size(100, 200) TextBox1.MaxLength = 50 TextBox2.PasswordChar = "*" TextBox1.Text = TextBox2.Text TextBox1.Enabled = False TextBox1.Visible = False 2.4 A-B% (TabControl) *3+#1-#L!+6H5HI-2#3@*-+%2" -4@-#L@*#I-!1 2#C I Tab Control @G1'@%7-5HH2*C @#20*2!2#*%1D!2#0+'H2 tab +#7-0C II-!9%#H'!1G3DI @#20-B%@ H textbox 0-"9HC7I5H@5"'1 D!HA"--21@+!7-1-#L! 8*!14 Dock C TabControl 3C+IA*%-B%C-#L!DI2!I-2# @ H3+@G Fill +!2"'2!'H2C+I"2"@G!7I5H- Windows Form -1B!14 1'-"H22#321A-B% D!HA* 7- TabControl1.Hide() A*A181 7- MsgBox(TabControl1.SelectedIndex()) H--B% 7- TabControl1.TabPages("tabpage1").Hide() H--B% 7- TabControl1.TabPages(0).Hide() @%7-A 7- TabControl1.SelectedTab = TabPage2 8!C-B% 7- TextBox1.Text = 5 9@#5"2 tab CGDI D!HA"@+!7--#L! 2.5 2#4H-H2-B % -B %A-%4@ 1 (Console Application) @G2#12B#A#! A%B#A#! A%0#0!'%%H2-B % +#7-#0-!!2D%L--* (DOS Command Line) @ H@5"'1 2)22'2 3C+I112*2!2#*#I2#+1*I 1A%0DIB#A#! .exe 6I!2C5H*8 B"D!H3@GI-C I2 IDE - Microsoft Visual Studio I212 Console Application C IDE G*2!2#3DIB"@#4H!I1IAH-@I2C I2 IDE GI-@%7-*#I2 Console Application H- sub routine G'#!5 Console.Read() @7H-C+I console +"8A*%1I+! H-041'@- 1'-"H2 2.5 2##1I-!9%A%0#0!'%%C-B % - @4 C:\Program Files\Microsoft Visual Studio 8\VC> H2 Visual Studio 2005 Command Prompt - A%I'*#I2AI! x.vb H2#+1*I 15I A%I'A%B#A#!I'" vbc x.vb 0DI x.exe 2 6144 Byte Module Module1 Sub main() Dim b As Integer b = Val(Console.ReadLine()) b = b + 5 Console.Write(b) Console.Read() End Sub End Module 2.6 2##'*-I-"@'I I-"@'I (Exception) 7- 2#3@42#5HD!H4 A%0 2)2-!4'@-#LC11*2!2#'8!*4H5H44 I'"2#AID +#7-414H-@+8@+%H21I-"H2@+!20*! %2* Exception !5+I25H3@*-I-4%25H@46I0#0!'%% *2!2##'1DI+%2"#5 AH03@5"#5C#5+6H *H'3'H2 Finally 03C8#5D!H'H20I-4%2+#7-D!H 1'-"H2%2* Exception 2*H' System.ApplicationException System.ArgumentException System.ArgumentNullException System.ArgumentOutOfRangeException System.ArithmeticException System.ArrayTypeMismatchException System.BadImageFormatException System.Data.ConstraintException System.Data.DataException System.Data.Odbc.OdbcException System.Data.OleDb.OleDbException System.Data.ReadOnlyException System.Data.StrongTypingException System.Data.SyntaxErrorException System.Data.TypedDataSetGeneratorException System.Data.VersionNotFoundException System.DivideByZeroException System.Exception System.FormatException System.IO.DirectoryNotFoundException System.IO.EndOfStreamException System.IO.FileLoadException System.IO.FileNotFoundException System.MethodAccessException System.Net.WebException System.OutOfMemoryException System.OverflowException System.ServiceProcess.TimeoutException System.StackOverflowException System.SystemException System.UriFormatException System.Web.HttpException 1'-"H2 2.6 A-I-!9%D!H9I-I2I-1'-1)# A%0D!H#'1'2!4%2  Conversion from string "abc" to type 'Integer' is not valid. Module Module1 Sub Main() Dim a As Integer = Console.ReadLine() Console.Write(a) Console.Read() End Sub End Module 1'-"H2 2.7 #'1'2!4%25H-2@46I2#9A1'A# Module Module1 Sub Main() Dim a As Integer Try a = Console.ReadLine() Catch ex As Exception a = 0 Finally a = 1 End Try ' MsgBox(ex.Message) ' Conversion from string "abc" to type 'Integer' is not valid. Console.Write(a)  = 1 always Console.Read() End Sub End Module 1'-"H2 2.8 #'12#3'@!7H-+2#I'" 0 Module Module1 Sub Main() Dim x As Integer = 0 Try Dim y As Integer Y = 100 / x Catch e As ArithmeticException Console.WriteLine("ArithmeticException") Catch e As Exception Console.WriteLine(e.message)  not execute End Try Console.read() End Sub End Module 1'-"H2 2.9 #'1'2!4%2A%0+"83215 Try Dim r As Integer For i As Integer = -5 To 5 r = 10 / i Console.WriteLine(10 / i) ' not show infinity Next Catch e As ArithmeticException Console.WriteLine(e.Message) End Try 1'-"H2 2.10 #'1'2!4%2A%0+"8@ 20##15H4%2 Dim r As Integer For i As Integer = -5 To 5 Try r = 10 / i Console.WriteLine(10 / i) ' not show infinity Catch e As ArithmeticException Console.WriteLine(e.Message) End Try Next 1'-"H2 2.11 #'1'2!4%22#@#5"C IAI!A%0C I+H'"'2!3 Try Shell("calc.exe") Dim p() As Process = Process.GetProcessesByName("calc") If p.Length > 0 Then MsgBox(p(0).WorkingSet64 & Chr(10) & p(0).id) MsgBox(p(1).WorkingSet64 & Chr(10) & p(1).id)  for calc2 End If Catch ex As System.IO.FileNotFoundException MsgBox(ex.Message) End Try 1'-"H2 2.12 A*2#C I+H'"'2!3  ctrl alt del While True : Dim a As New Form1() : End While  System.OutOfMemoryException Dim m As Integer = My.Computer.Info.AvailablePhysicalMemory Dim o As New Object Dim s As String = "" s = s & "1obj:" & (m - My.Computer.Info.AvailablePhysicalMemory) & Chr(10) s = s & "rest:" & My.Computer.Info.AvailablePhysicalMemory & Chr(10) m = My.Computer.Info.AvailablePhysicalMemory For i As Integer = 1 To 100 ProgressBar1.Value = i o = New Form1 Next s = s & "100obj:" & (m - My.Computer.Info.AvailablePhysicalMemory) & Chr(10) s = s & "rest:" & My.Computer.Info.AvailablePhysicalMemory & Chr(10) s = s & "total:" & My.Computer.Info.TotalPhysicalMemory MsgBox(s) *#8@7I-+2I2" - -42"'452#4H-19IC I 3 2 7- Front ground, Web Service, Server - @#7H-!7-4H-19IC I @ H -#L! A%0-B% A Front ground - Show All Files C Solution Explorer 0 Directory DIAH My Project, References, bin, obj, Form1.vb C Form1.vb 0 Form1.Designer.vb 6H!5#2"%0@-5"C2#--A-#L! - 2#C I Textbox A Multiline TextBox2.Text & = TextBox1.Text & vbCrLf Cr = Cariage Return Lf = Line Feed - 2# Split @7H-A"I-'2!--21H2 Delimiter Dim t As String = "aa,bbb,cccc" Dim s() As String s = Split(t, ",") MsgBox(s.Length() & s(0)) ' 3aa TextBox1.Text = s(0) & s(1) - I2I-2#1I-'2!2 Textbox A Multiline Dim a() As String a = Split(textbox1.text,Chr(10)) Dim s() As String = Split(TextBox1.Text, ",") TextBox2.Text = s(0) TextBox3.Text = s(1) - 2#321 Listbox @7I-I ListBox1.Items.Clear() ListBox1.Items.Add(s(0)) ListBox1.Items.Add(s(1)) MsgBox(ListBox1.Items.Count()) MsgBox(ListBox1.Items.Item(0).ToString()) ListBox1.Items.RemoveAt(0) ListBox1.Items.Remove("aa,bb") ' remove first founded - 2#3 I3@7H-@#5"!@I2D'%9C Listbox Dim o As String = "" For i As Integer = 1 To 10 o & = i & vbCrLf Next MsgBox(o) - 2#%2!#+1*12 Dim d As Integer = 999 For i As Integer = 0 To ListBox1.Items.Count() - 1 If (TextBox1.Text = Split(ListBox1.Items.Item(i), ",")(0)) Then d = i End If Next If (d <> 999) then ListBox1.Items.RemoveAt(d) - 1I-2#AIDI-!9%2!@I-!9%C listbox - #1I-!9%@I2 textbox 2!@I-!9%5HI-2#AID - -H2I-!9%1I2 listbox @I2DC-2#L@#"L - %I2I-!9%C listbox 1I+! - 3I-!9%2-2#L@#"L@I2 listbox B"@%7--@H2 1-C+!H -"H2@+!20*! A6+1I2" - @5"##"2"*#8@7I-+2C@#5"5I!2-"H2I-" 2 +I2 - @5"B#A#!!5 3 8H!C-#L!1 AH%08H!@4-#L!C+!H CAH%0-#L!!58H!4@- - @5"B#A#!#12 Textbox1 8H!A%I'*HH-"-C Textbox2 A Multiline - @5"B#A#!#11'@%@I2 Textbox1 A%I'3DA%A*%C-5 5 Textbox - @5"B#A#!C I2@#7H-!7-!2 10 -B%25H!5C+IC I 64 -B% - @5"B#A#!#1  a,b @I2 textbox1 @!7H-8H!C+IC I split A%I'*H@I2 textbox2 A%0 textbox3 - @5"B#A#!C I split A"*HI-!9%@I2 Textbox A%03I-!9%2 Textbox !2#'!1 - @5"B#A#!#1I-!9%2 textbox1 A%I'@4H!@I2 listbox A 2 @I-!9% @ H  101,tom - @5"B#A#!#1I-!9%2 textbox2 A%I'%2!%31C listbox 5HI-2# - @5"B#A#!#1I-!9%2 textbox2 A%I'%2!#+1*12C listbox 5HI-2# - @5"B#A#!C I for 3 10 #1I *H@I21'A# String A%I'*HI-!9%DA*C msgbox - @5"B#A#!@4H! % AID 1 listbox 5H!5 #+1* 7H- A%0@4@7- - #'1'2!4%2C#5A*%+2#- 10 5H+2#I'" -5 6 5 5H 3 %2*A%0B!9% (Class and Module) 3 %2* (Class) 7- IA-'18 @!7H-*#I2%2*A%I'!10*#I2'18D'I 2"C%2* 6H'18"H-!!5$4##! (Method +#7- Function) !58*!14 (Properties +#7- Idenities) B"*20 (State) 7-H2-8*!145H@%5H"A%DI B!9% (Module) 7- 2##'!'18@I2@G%8H!I-@5"'1 A%0@#5"C I2'18@+%H21IDIB"D!HI-*#I2-4*AL @!7H-12B#A#!0@#5"C I 1B# 4@-#L +#7-1L 1DI28B!9% @#209B+%@I2*9H+H'"'2!3-1B!14 6HH21%2*5HI-*#I2-4ALH-@#5"C I@*!- '185H-"9H 2"C%2*0C I2DII-*#I2-4*AL @7H-*#I22#-I2-4H-%2* AHCB!9%D!H3@GI-*#I2-4*AL @#20B!9%!52#32A*A4 (Static +#7- Shared) 3C+ID!H*2!2#*#I2 1B# 4@"-#LC+I!5 7H- I31 @!7H-@#5"C I 1B# 4@"-#LC-#L!0!52#!-+2-1B!1428B!9%CA-%4@ 1@5"'115 1'-"H2 3.1 2#@5"B!9%@7I-I Module Module1 Sub abc() MsgBox(a(5))  result is 10 End Sub Function a(ByVal b As Integer) As Integer Return b * 2 End Function End Module 1'-"H2 3.2 2#@5"%2*@7I-I Public Class Class1 Sub abc() MsgBox(a(5))  result is 10 End Sub Function a(ByVal b As Integer) As Integer Return b * 2 End Function End Class 1'-"H2 3.3 2#@#5"C I 1B# 4@"-#L2B!9%A%0%2* Public Class Form4 Private Sub Form4_Load( .. a()  call from moduel1 Dim wow As New Class1 wow.a()  call from class1 End Sub End Class http://www.thaiall.com/vbnet/class_start.htm 3.1 %2* (Class) 1'-"H2 3.4 *#I2%2*5H!5 1 1 (Subroutine) Public Class Class1 Sub abc() MsgBox(5) End Sub End Class 3.2 B!9%@#5"C I2%2* (Calling Class from Module) 1'-"H2 3.5 B!9%@#5"C I2%2* Module Module1 Sub main() Dim a As New Class1 a.abc() End Sub End Module 3.3 1@! (Sub Main) *3+#18*!14- Application C Startup Object *2!2#3+-#L! +#7-B!9%5H0C+I@#4H!I32 6HB!9%1II-!5 Sub Main A%00!5 Check +I23'H2 Enable application framework D!HDI @#20I2 Check 0@%7-DI@ 20 Windows Form @H21I 6I- Uncheck H-@%7-B!9%@*!- B!9%!5 7H--0D#GDI A%08B!9%0!5 1@! (Sub Main) GDI AHI23+ Startup Object @G Sub Main 0I-!5@5"B!9%@5"'5H!5 Sub Main !4@ H1I0 Error @#20 decared more than once 1'-"H2 3.6 2#*HH2@I2-#L!H-*1H@4-#L!2 Main Module Module1 Sub main() Form1x.TextBox1.Text = "abc" Form1x.ShowDialog() End Sub End Module 3.4 -B %A-%4@ 1 (Console Application) -B %A-%4@ 1 (Console Application) @G2#12B#A#! A%B#A#! A%0#0!'%%H2-B % +#7-#0-!!2D%L--* (DOS Command Line) @ H@5"'1 2)22'2 3C+I112*2!2#*#I2#+1*I 1A%0DIB#A#! .exe 6I!2C5H*8 B"D!H3@GI-C I2 IDE - Microsoft Visual Studio *3+#19I@#4H!I(6)22#@5"B#A#! +#7-(6)2A'4-2#B#A#!@ 4'18 *2!2#C I'2!*2!2#5I@#5"#9I2#32- 2)2C@7I-I B"D!H"641#0#24 *2!2#12B#A#!I'" editplus +#7- editor -7HC 5H*2!2#*H#+1*I 1C+I11'A%3+I25HA%B#A#! A%0DI%%1L@G .exe DI C-2-2@%7-C I 2)25IA 2)22'2*3+#12#*-C+I@+G$)5-2#B#A#!@ 4'18"4H6I 3.5 -B %A-%4@ 1H2-*-!!2 -B %A-%4@ 1 @G-5'452#+6HC2#*#I2B#A#!#0"8LD'IC I2 -2(1"2#A%H2##13*1H (Command Line Compiler) 2B#A#! vbc.exe C+I- C:\WINDOWS \Microsoft.NET \Framework \v2.0.50727 \vbc.exe *3+#12#@#4H!I*2!2#3DIB"*#I2AI! 7H- x.vb D'IC+I-@5"'1AI! vbc.exe 15I Module Module1 Sub Main() msgbox(5) End Sub End Module @!7H-I-2#A%#+1*I 1@GAI! .exe C+I4!L DOS> vbc x.vb 2#+1*I 1I2I0DIAI! x.exe !52 6144 Bytes @!7H-*1H#0!'%%032DI-"H29I-1I23*1H write A%0 msgbox AHI2I-2#AI! a.dll GC+I4!L DOS> vbc /target:library /reference:System.dll,System.Web.dll /out:a a.vb A!I%2#*-2#+1*I 1H21@%GI-" G"1DI2AI!@H21 AH 2"C x.exe, x.dll A%0 a.dll G!5"1#2"%0@-5"H21 22#C I debug #'*-9 2"CAI!1I*2! 1'-"H2 3.7 -B % Module Module1 Sub Main() Console.Write(5) Console.Read () End Sub End Module 1'-"H2 3.8 *#I2AI! a.dll I'" a.vb A function vbc /target:library /reference:System.dll,System.Web.dll /out:a a.vb Public Class mymeter Public Function getMeter() as Double return 1.1 End Function End Class 1'-"H2 3.9 -B %@#5"C I .dll I-A%I'" vbc /r:a.dll y.vb A function Module Module1 Sub Main() dim b as new mymeter Console.Write(b.getMeter()) End Sub End Module 1'-"H2 3.10 *#I2AI! b.dll I'" b.vb A sub routine vbc /target:library /reference:System.dll,System.Web.dll /out:b b.vb Public Class pnum Public Sub p10() for a as integer = 1 to 10 : Console.writeLine(a) : next End Sub End Class 1'-"H2 3.11 -B %@#5"C I .dll I-A%I'" vbc /r:b.dll z.vb A sub routine Module Module1 Sub Main() dim b as new pnum b.p10() End Sub End Module 1'-"H2 3.12 I2!5AI! a.vb A%0 y.vb A%I'C I3*1HC DOS *1HA% vbc /target:library /reference:System.dll,System.Web.dll /out:a a.vb vbc /r:a.dll y.vb vbc /target:library /reference:System.dll,System.Web.dll /out:b b.vb vbc /r:b.dll z.vb 3.6 2#*#I2-B %A-%4@ 1H2'4 '%*94B- -B %A-%4@ 1 @G-5'452#+6HC2#*#I2B#A#!#0"8LD'IC I2I'" Microsof Visual Studio *2!2#@#4H!II'"2#@%7- Start, Program, Microsoft Visual Studio 2005, Microsoft Visual Studio 2005, Create Project, Visual Basic, Console Application 0B!9% 7H- Module1 6H!5 sub main( ) -"9H 2"C 2"CI Solution Explorer 0 ConsoleApplication1, My Project, Module1.vb 2!%31 AI!5H9*#I26IC C:\Documents and Settings\ My Documents \Visual Studio 2005 \Projects \ConsoleApplication1 !56 14 AI!C 9 B@-#L @!7H-*1H Start Debugging +#7- F5 0*#I2AI! .exe -1B!14 A%0@#5"B#A#! .exe 2+I- Visual Studio 2005 \Projects \ ConsoleApplication1 \ ConsoleApplication1 \bin \Release \ A%0 Debug \ ConsoleApplication1.exe I2*1H write C Console +#7- msgbox @H21I 0DIAI!B#A#!5H!52#0!2 24.0 KB (24,576 bytes) B#A#!5H*1HA%#+1*I 1 6H 2)25I@#5"'H2 build +#7- rebuild source code DIAI! .exe 7- C:\WINDOWS \Microsoft.NET \Framework \v2.0.50727 \vbc.exe +21 +22#*1H2C debug mode D!HDI A%03'H2  Error while trying to run project: Unable to start debugging. The binding handle is invalid. AHI2*1HAI! ConsoleApplication1.exe B"#0#0!'%%DI41I23*1H write A%0 msgbox @#201 +2@42 'Terminal Services' D!H32 AID'455H 1 @I2 Properties - Project @%7- Debug A%I' Disable: Enable the Visual Studio hosting process AID'455H 2 1) @I2 Control Panel, Administrative Tools, Computer Management 2) Services and Applications, Services ( DOS> services.msc ) 3) @4#42#- Terminal Services, Performance Logs and Alerts !1 +2 The binding handle is invalid @#20@"4#42#5H4'H2D!H3@G D+%2"#42##1 1'-"H2 3.13 B#A#!5H!52#32A@%7-A%03 I3 Module Module1 Public a As Integer = 5 Sub main() Dim b As Integer b = a + 1 Console.WriteLine(b) a = Val(Console.ReadLine()) b = a + 5 For a = b To 10 : Console.WriteLine(a) : Next If a = 1 Then Console.Write(5) Console.ReadLine() End Sub End Module A6+1I2" - @5"##"2"*#8@7I-+2C@#5"5I!2-"H2I-" 2 +I2 - @5"B#A#! yonok.dll 4!L 1  10 B"9@#5"C IC me.vb 5H 4 -B%22#--A (Control in Design Time) 3 -B% (Control) 7- *H'#0--B#A#!5H*2!2#3%1!2C IC+!H (Reusable Component) 9*#I2D'ICD%#2#5H7I2 A%0#I-!C+I9I12@#5"C I B"9IC ID!H3@GI-#9I'H2-B%9*#I26I-"H2D# @5"AH#9I'H2I2C IA%I'0@4#0B" L-"H2D#G-2@5"-5H03-B%DC I#0B" L -B%*H'C+ H!5@7H--3'"'2!*0'C2#4H-19IC I @ H 8H!3*1H %H-I-'2! %4*L%G- -!BI%G- @GI '18 (Object) 7- *4H5H!5$4##! *20 A%08*!14-@- '185H!58*!14@5"'1 +2!5+%2" 4I AH%0 4IG0!5*4H5HAH21 @ H 38H!3*1H'2D-#L! 2 8H! G0!5'18@46I 2 '18 AH'180!58*!14AH21DD!H@5H"'I-1 1I 2)22'2A%0'4 '%@*4-@G2!!-'H28-"H27-@G'18 1'-"H22#*#I2'18 - 3*1H*#I2'182-B% 7- Dim b As New Button - 3*1H*#I2'185HD!HC H-B% 7- Dim f As New Form - 3*1H@4H!'18%C'18-5 4I+6H 7- f.Controls.Add(b) : f.Show() 4.1 2I2#4'4' (Datagridview) 2I2#4'4' (Datagridview) 7- -B%*3+#1#1+#7-A*I-!9%C#92#2 3+I-!9%@G##1 (Row) +#7--%1! L (Column) A-I-!9%!5+%2"#0@  @ H Button, CheckBox, ComboBox, Image, Link +#7- Textbox 6HH2#4"2" (Default Type) @GA Textbox *H'2#'8!2#AID *2!2#8!DI1IC#012I2#4 A%02-%1! L 6H H'"C+I12#1I-!9%DI!5#0*44 2"4H6I + http://www.thaiall.com/vbnet/mysql_odbc.htm + http://www.thaiall.com/vbnet/datagridview_text.htm + http://www.thaiall.com/vbnet/datagridview_update.htm *#83*1H@!-*3+#1 Datagridview %I2-%1! L1I+! DataGridView1.Columns.Clear() DataGridView1.Rows.Clear() *#I2-%1! L DataGridView1.Columns.Add("eid", "Employee ID") 1#0@5" (I2!5 Header A%I' 3'@#4H!1 Header I'") DataGridView1.Rows.Count() DataGridView1.Columns.Count() @4H!#0@5"@%H2 DataGridView1.Rows.Add() DataGridView1.Rows.Add() DataGridView1.Rows.Add() 3I-!9%@I22! Cell 5HI-2# B" Rows = 0 7-#0@5"A#- Datagridview DataGridView1.Rows(0).Cells(0).Value = "101" DataGridView1.Rows(0).Cells("ename").Value = "8#4#L" 2#3H22 Cell !2C I DataGridView1.CurrentRow.Cells("eid").Value DataGridView1.CurrentCell.Value 3+'2!'I2- Cell DataGridView1.Columns.Item(1).Width = 150 *1H H-2#A*%#0@5"181 DataGridView1.CurrentRow.Visible = False -H2I-!9%5%0 Cell For i As Integer = 0 To Datagridview1.rows.count() - 1 msgbox(DataGridView1.Rows(i).Cells("eid").Value) Next 2#3I-!9%22#2CAI! .mdb @I2 Datagridview A*1I Dim cn As New System.Data.OleDb.OleDbConnection ("provider=microsoft.jet.oledb.4.0;data source=c:\d.mdb") Dim da As New System.Data.OleDb.OleDbDataAdapter("select * from tbthai", cn) Dim ds As New DataSet da.Fill(ds, "tb") DataGridView1.DataSource = ds.Tables("tb") 2#3I-!9%22#2CAI! .mdb @I2 Datagridview AA"-L#0- Dim conn As String Dim cn As New System.Data.OleDb.OleDbConnection Dim cm As New System.Data.OleDb.OleDbCommand Dim da As New System.Data.OleDb.OleDbDataAdapter Dim ds As New DataSet conn = "provider=microsoft.jet.oledb.4.0;data source=c:\dthai97.mdb" cn.ConnectionString = conn cm.Connection = cn cm.CommandText = "select * from tbthai" da.SelectCommand = cm da.Fill(ds, "tb") DataGridView1.DataSource = ds.Tables("tb") 1'-"H2 4.1 *#I2-%1! LA%0@4H!#0@5"C+!HC2I2#4H2 Form_Load - @4H!2I2#4C-#L!H2 Design Time DataGridView1.Columns.Add("eid", "Employee ID") DataGridView1.Columns.Add("ename", "Employee Name") Dim r As Integer = DataGridView1.Rows.Count() ' = 1 Header r = DataGridView1.Rows.Count() DataGridView1.Rows.Add() DataGridView1.Rows(r - 1).Cells(0).Value = "101" DataGridView1.Rows(r - 1).Cells(1).Value = "*! 2"" r = DataGridView1.Rows.Count() DataGridView1.Rows.Add() DataGridView1.Rows(r - 1).Cells("eid").Value = "102" DataGridView1.Rows(r - 1).Cells("ename").Value = "8#4#L" 1'-"H2 4.2 %4J22I2#4A%I'*HI-!9%@I2@GG-H2 event 7H- cellmouseclick - A*2#@%7-I-!9%2##11812! 7H--%1! L A%0C II-!9%2@ %5H9%4J - B" eid 7- 7H--%1! L5H3+C2I2#4 -23+C-#L!B+% +#7-0--A-#L! - 1'-"H25I!5 1 textbox C+I@4H!@G 2 textbox 9*4#1 Private Sub DataGridView1_CellMouseClick( ... MsgBox(DataGridView1.CurrentRow.Cells("eid").Value) TextBox1.Text = DataGridView1.CurrentCell.Value.ToString End Sub 1'-"H2 4.3 -H2I-!9%2AI!A-@ **H@I22I2#4AC I@-*4'A-% - C I2#@ 7H-!H-AI!I-!9%A microsoft.jet.oledb.4.0 - I- Imports system.data.oledb @7H-C I%2*-7H @ H OleDbCommand A%0 OleDbDataReader - %2#AIDI-!9%C2I2#4D!H*H%%1D"1AI!A-@ * Private Sub Form1_Load( ... Dim strconn As String = "provider=microsoft.jet.oledb.4.0;data source=c:\d.mdb" Dim cn As New OleDbConnection(strconn) cn.Open() Dim cm As New OleDbCommand("select * from employees", cn) Dim dr As OleDbDataReader = cm.ExecuteReader() DataGridView1.Columns.Add("eid", "Employee ID") DataGridView1.Columns.Add("ename", "Employee Name") DataGridView1.Columns.Item(1).Width = 150 Do While dr.Read() Dim x As Integer = DataGridView1.Rows.Count() - 1 DataGridView1.Rows.Add() DataGridView1.Rows(x).Cells(0).Value = dr.Item(0) DataGridView1.Rows(x).Cells(1).Value = dr.Item(1) Loop cn.Close() End Sub Private Sub Button1_Click( ... DataGridView1.Columns.Clear() End Sub 1'-"H2 4.4 3I-!9%2AI!A-@ *B"@I22I2#4A%0*1H-1@AI!@4! - @ 7H-!2#2 7H- tbthai CAI!A-@ *@I212I2#4 I2I-2#C I2@I-!9%GI-C I4'#5H - *1H#1#82#2CAI!A-@ *H22#8H! *2!2#C I4'#5HCAI!A-@ *A2#2DI Dim strconn As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:/d.mdb" Dim cn As New System.Data.OleDb.OleDbConnection(strconn) Dim da As New System.Data.OleDb.OleDbDataAdapter Dim ds As New DataSet Private Sub Form1_Load( ... Dim sql as String = "select * from tbthai" da.SelectCommand = New System.Data.OleDb.OleDbCommand(sql, cn) da.Fill(ds, "tb") DataGridView1.DataSource = ds.Tables("tb") DataGridView1.Columns.Item(0).HeaderText() = "a" End Sub Private Sub Button1_Click( ... Dim cb As New System.Data.OleDb.OleDbCommandBuilder(da) Dim chg As Integer = da.Update(ds, "tb") MsgBox(DataGridView1.Rows.Count()) End Sub 4.2 2I2@  (Dataset) 2I2@  (Dataset) 7- A+%H@GI-!9%C+H'"'2!3 1H'#2' (Cache) !58*!14@@4I% (Tables) A-@%G 1 (Collection) 3C+I@4H!2#2 A%0@I-!9%DI2!I-2# @!7H--B%@I2!2@#5"C I +#7--I2-403+ 7H-2I2 -#L (Data Source) A%02I2@!!@-#L (Data Member) *3+#1-B%5H@#5"C I2I2@  @ H Datagridview, Combobox, Listbox @GI 2I2@ !5 2 A 1. 3+A (Typed Dataset) 7- 2I2@ A3+*#5!H2 (Build-in Schema) 2#3+A5IA*'H2!52#*#I2 Schema !2C+I@%7- B"!52#@ 7H-!B"@I21#02I-!9%D'I-"H29I-A%I' -2#03H2 BindingSource D'IA%I'@GI 2. D!H3+A (Untyped Dataset) 7- 2I2@ A5HD!H!5*#5!H2 (No Schema) 3C+I@4H!2#2 (Tables) +#7-@I-!9% (Columns) I'"@-DI 2#12#2I2@  - 13'#0@5" @ H MsgBox(Dthai97DataSet.Tables(0).Rows.Count()) - @4H!#0@5"C+!H @ H Dthai97DataSet.Tables(0).Rows.Add() - %#0@5"5H 0 @ H Dthai97DataSet.Tables(0).Rows(0).Delete() 1'-"H2 4.5 @4H!2#2A%0@I-!9%C2I2@ A%I'B"12I2#4'4' DataSet1.Tables.Add("t") DataSet1.Tables.Item("t").Columns.Add("c1") DataSet1.Tables.Item("t").Columns.Add("c2") DataGridView2.DataSource = DataSet1 DataGridView2.DataMember = "t" 1'-"H2 4.6 -H2 XML H2 Dataset A%I'*H@I2 Datagridview Imports System.Xml  D!H3@GI-3@I20-"9HC Windows Application Dim DS As New DataSet() DS.ReadXml("C:\family.xml") DataGridView1.DataSource = DS.Tables(0) DataGridView1.DataMember = "t" 4.3 with H'"%2#@5"3*1H C#55HI-C I 7H--B%2!I'" 7H-@!-"2' A%0+%2"#1I 2#C I with 03C+I%2#@5"3*1H%DI!2 A%09I12*2!2#3'2!@I2C3*1HDIH2"6I C#55HI-12#12#2I-!9%5H!53'@I-!9%+%2"1' 2#C I with 0%2#@5"3*1HC+I*1I%DI-"H2 1@ 1'-"H2 4.7 2#C I with I- with With DataGridView1 .Columns.Add("eid", "Employee ID") .Columns.Add("ename", "Employee Name") .Rows.Add() With .Rows(DataGridView1.Rows.Count() - 2) .Cells(0).Value = "101" .Cells(1).Value = "*! 2"" End With .Rows.Add() With .Rows(DataGridView1.Rows.Count() - 2) .Cells("eid").Value = "102" .Cells("ename").Value = "8#4#L" End With End With *#8@7I-+2I2" - @!7H-*#I2 control 6I!2 112G*2!2#@5"B#A#!'8!DI @ H Datagridview !5'2!*2!2##1 A%0A*I-!9%C#9-2#2 9@#5"A"*H'1'H2 Column , Row +#7- Cell - 6@5"B#A#! - *#I28H!5H@4H!I-!9%A*8H!@I2DC Datagridview 2 Column 5%0 1 #0@5" Private Sub Button1_Click(.. Randomize() DataGridView1.Rows.Add() Dim r as integer = DataGridView1.Rows.Count() - 2 DataGridView1.Rows(r).Cells(0).Value = CInt(Rnd() * 1000) DataGridView1.Rows(r).Cells(1).Value = CInt(Rnd() * 100) TextBox1.Text = CInt(TextBox1.Text) + CInt(DataGridView1.Rows(r).Cells(0).Value) End Sub Private Sub Form1_Load(.. TextBox1.Text = 0 End Sub Private Sub Button2_Click(.. DataGridView1.Columns.Clear() End Sub Private Sub Button3_Click(.. DataGridView1.Columns.Add("r1", "3 1'") DataGridView1.Columns.Add("r2", "2 1'") End Sub A6+1I2" - @5"##"2"*#8@7I-+2C@#5"5I!2-"H2I-" 2 +I2 5H 5 -B%22##0!'%% (Control in Runtime) 3 -B% (Control) 7- *H'#0--B#A#!5H*2!2#3%1!2C IC+!H (Reusable Component) 9*#I2D'ICD%#2#5H7I2 A%0#I-!C+I9I12@#5"C I B"9IC ID!H3@GI-#9I'H2-B%9*#I26I-"H2D# @5"AH#9I'H2I2C IA%I'0@4#0B" L-"H2D#G-2@5"-5H03-B%DC I#0B" L -B%*H'C+ H!5@7H--3'"'2!*0'C2#4H-19IC I @ H 8H!3*1H %H-I-'2! %4*L%G- -!BI%G- @GI '4 '%@*4#8H 6 !5'2!*2!2#C2#@#5"C I'18 AHD!H!5'2!*2!2#C2#*#I2'186I!2C I2C0@5"B#A#! 11IC'4 '%@*4-@GDI@4H!'2!*2!2#C2#B#A#!@ 4'18 (Object Oriented Programming) 3C+I*2!2#*#I2'18+#7-*#I2-#L!22##0!'%%DI 1'-"H2 5.1 *#I2-#L!*3+#1@4@'GD L Imports System.Windows.Forms Imports System.Windows.Forms.Form Module Module1 Sub main() Dim instance As New System.Windows.Forms.Form Dim wb As New WebBrowser wb.Navigate(New Uri("http://www.thaiall.com")) instance.Size = New Size(600, 500) wb.Width = instance.Size.Width.ToString wb.Height = instance.Size.Height.ToString instance.Controls.Add(wb) instance.ShowDialog() End Sub End Module 2#*#I2-B%#0+'H2#0!'%% Dim f As Object Dim s As String s = "test" f = Me f.text = s.ToString Dim b As New Button f.Controls.Add(b) 1'-"H2 5.2 *1H@4@'G#2'@ -#LC0#0!'%% @5"C Windows Application AHAI Properties - Windowsapplication C Startup Object @G Module1 ' Imports System.Windows.Forms ' Imports System.Windows.Forms.Form Module Module1 Sub main() Dim instance As New Form Dim wb As New WebBrowser wb.Navigate(New Uri("http://www.thaiall.com")) instance.Size = New Size(600, 500) wb.Width = instance.Size.Width.ToString wb.Height = instance.Size.Height.ToString instance.Controls.Add(wb) instance.ShowDialog() End Sub End Module 1'-"H2 5.3 2#'8!%4*%G-C-#L! Module Module1 Dim lb As New ListBox Dim lb2 As New ListBox Sub main() Dim instance As New Form Dim cm As New Button AddHandler cm.Click, AddressOf cmEventHandler cm.Text = "abc" 'lb.Items.Add("*-") 'lb.Items.Add(Now) lb.Left = 100 ' pixels lb2.Left = 300 ' pixels AddHandler lb.Click, AddressOf lbEventHandler instance.Size = New Size(700, 200) instance.Controls.Add(cm) instance.Controls.Add(lb) instance.Controls.Add(lb2) instance.ShowDialog() End Sub Public Sub cmEventHandler(... 'MsgBox(sender.text.ToString) lb.Items.Add(Now) End Sub Public Sub lbEventHandler(... Dim b1() As String = CStr(lb.Items(0)).Split(":") Dim b2() As String = CStr(lb.Items(lb.Items.Count() - 1)).Split(":") MsgBox(CInt(b2(2)) - CInt(b1(2))) 'lb2.Items.Add(sender.Items(sender.SelectedIndex.ToString)) 'lb2.Items.Add(lb.Items(0)) 'lb2.Items.Add(lb.Items(lb.Items.Count() - 1)) 'MsgBox(lb.Items.Count() - 1) End Sub End Module A6+1I2" - @5"##"2"*#8@7I-+2C@#5"5I!2-"H2I-" 2 +I2 5H 6 @-G!5D--#L! (MDI Form) 3 @-G!5D--#L! (MDI form = Multiple Document Interface form) 7- '4B'L-#L!5H!5'2!*2!2##1-#L!@I2D#0!'%%C1'@- @!7H-*#I2-#L!5I-1B!140@#5"C I@#7H-!7- 4 -B% 7- StatusStrip , ToolStrip , MenuStrip A%0 Tooltip 3C+I#42#12#-#L!5HI-32#H'!1-#L!3'!2DIH2" http://www.thaiall.com/vbnet/sample/thaiall512.zip @-G!5D-2@#L-#L! 1I- *#I2 Form1 A%0 Form2 !5 Textbox -#L!%0 1 Object Add, New Item, MDIParent Form #02(1'A# 2"CI%2* Private a As Integer = 1 Public f1 As New Form1 C@!- 7H- MDIParent1_Load - MDIParent1.vb C+IC*H3*1H@4-#L!"H-" f1.MdiParent = Me f1.TextBox1.Text = a f1.Show() Dim f2 As New Form2 f2.MdiParent = Me f2.TextBox1.Text = f1.TextBox1.Text + 1 f2.Show() '2!AH2- a , f1 , f2 a 9@#5"C I@ 20C%2* AH@#5"C IDI2+%2"@!- f1 9@#5"C IDI1IC%2*5I A%0%2*-7H f2 9@#5"C IDI@ 20C@!-@H21I 3+ Startup Form @G MDIParent1 C form2 *2!2#C I MsgBox(MDIParent1.f1.TextBox1.Text) AHC I msgbox(form1.TextBox1.Text) D!HDI 1'-"H2 6.1 @#4H!I*3+#1 MDIParent1_Load Me.WindowState = FormWindowState.Maximized Dim f1 as New Form1 f1.mdiparent = Me f1.show() 1'-"H2 6.2 @4-#L!C+!H*3+#1 ShowNewForm Private m_ChildFormNumber As Integer = 0 Dim ChildForm As New System.Windows.Forms.Form ChildForm.MdiParent = Me m_ChildFormNumber += 1 ChildForm.Text = "Window " & m_ChildFormNumber ChildForm.Show() 1'-"H2 6.3 48-#L! For Each frm As Form In Me.MdiChildren frm.Close() Next 1'-"H2 6.4 A* 7H--#L!5H9@4-"9H Dim Fs As Form1 For Each F As Object In Me.MdiChildren If F.Name = "Form1" Then Fs = F Fs.BackColor = Color.Yellow Fs.TextBox1.Text = "hello" ' some property is readonly End If MsgBox(F.name) Next 1'-"H2 6.5 3*1H@4-#L!H2@!92#L-@-G!5D--#L! For Each Fc As Object In Me.MdiChildren If Fc.Name = "Form5" Then Exit Sub Next Dim f = New Form5 f.mdiparent = Me f.show() A6+1I2" - @5"##"2"*#8@7I-+2C@#5"5I!2-"H2I-" 2 +I2 - *#I2-#L!A!H @!7H-@4-#L!A!HC+I@4-#L!%96I 2 -#L!#I-!115 - *#I28H!C-#L!%95H 1 @!7H-%4J0@4H!H2C Textbox --#L!%95H 2 5%0 1 - 32@5H"'1 Northwind 5H@"3 !2C*HC MDIParent A%I'*H 1H'B!H-D 5H 7 1B# 5@"-#L A%01L 1 (Sub Procedure A%0 Function) 3 1B# 5@"-#L (Sub Procedure) 7- %8H!-#0B"3*1H (Group of Command Satement) 5H9#'#'! @#5"@#5"D'IC 2)2B#A#! (Program Language) @7H-%'2! I3 I- 1%8H!-"H2!5'2!+!2" A%0@#5"C IDI*0' C'4 '%@*4AHB# 5@"-#L@G 2 A 7- 1B# 5@"-#L (Sub Procedure) A%01L 1 (Function) + http://www.thaiabc.com/vb/vethlr3.hlp + http://www.thaiall.com/vbnet/subfunc.htm 1'-"H2 Project A Console Application Module Module1 Sub Main() Console.Write(5) Console.ReadLine() End Sub End Module 1'-"H2 Project A Windows Application  code in form Private Sub Form1_Load( & a() msgbox( b() ) module1.a() End Sub  code in module Module Module1 Sub a() MsgBox(b()) End Sub Function b() As Integer b = 6 End Function End Module 1B# 5@"-#L (Sub Procedure) 1B# 5@"-#L (Sub Procedure) 7- %8H!-#0B"3*1H5H@5"6II'" 2)2B#A#! @7H-32-"H2C-"H2+6H -2!5'18#0*LC2#@%5H"H22#2!4@-#L #1#8-#L! +#7-#1#8AI!I-!9% @GI AHD!H*HH2%17C+I12#@#5"C I#1I1IB"# 6HH211L 1 Private Sub a() MsgBox(b()) End Sub ByRef 7- 2#-I2-4 (Reference) H221'A# +2@%5H"H2C procedure 0!5%H-1'A#I2 ByVal 7- 2#1%-H2 (Value) !2C IC procedure 0D!H!5%H-1'A#I2 Ref 1 Val !223'H2 -I2-4 (Reference) A%0H2 (Value) 1'-"H2 7.1 *-  Output = 3 Module Module1 Dim a As Integer = 1 Sub Main() Dim a As Integer = 2 Console.WriteLine(a + Module1.a) Console.ReadLine() End Sub End Module 1'-"H2 7.2 *-  Output = 5 Module Module1 Sub Main() oho() Console.ReadLine() End Sub Sub oho() Console.WriteLine(5) End Sub End Module 1'-"H2 7.3 *-  Output = 1 Module Module1 Sub Main() Dim a As Integer = 1 burin(a) Console.WriteLine(a) Console.ReadLine() End Sub Sub burin(Byval b As Integer) b = 2 End Sub End Module 1'-"H2 7.4 *-  Output = 2 Module Module1 Sub Main() Dim a As Integer = 1 burin(a) Console.WriteLine(a) Console.ReadLine() End Sub Sub burin(ByRef b As Integer) b = 2 End Sub End Module 1'-"H2 7.5 *-  Output = 1001 Module Module1 Sub Main() Dim a As Integer = 1 Dim b As Integer = 10 burin(a, b) Console.WriteLine(a + b) Console.ReadLine() End Sub Sub burin(ByVal x As Integer, ByRef y As Integer) x = 100 : y = 1000 End Sub End Module 1L 1 (Function) 1L 1 (Function) 7- %8H!-#0B"3*1H5H@5"6II'" 2)2B#A#! @7H-32-"H2C-"H2+6H A%0*HH2%17C+I19I@#5"C I C0#0!'%%-232-"H2-7H'9HDI'"@ H@5"'1 1B# 4@"-#L Public Function b() As Integer b = 6 End Function 1'-"H2 7.6 *-  Output = 5 Module Module1 Sub Main() Console.WriteLine(burin()) Console.ReadLine() End Sub Function burin() As Integer burin = 5 End Function End Module 1'-"H2 7.7 *-  Output = 10 Module Module1 Sub Main() Console.WriteLine(burin(5)) Console.ReadLine() End Sub Function burin(ByRef x As Integer) As Integer burin = x * 2 End Function End Module 1'-"H2 7.8 *-  Output = 12  4 Module Module1 Sub Main() Dim a As Integer = 3  1 Console.WriteLine(burin(a) + a)  12 Console.WriteLine(a + burin(a))  18 Console.ReadLine() End Sub Function burin(ByRef x As Integer) As Integer burin = x * 2 x = burin End Function End Module 1'-"H2 7.9 2#C I main @#5"1I sub A%0 function  Output = 56 Module Module1 Sub Main() sub1() Console.Write(func1()) End Sub Sub sub1() Console.Write(5) End Sub Function func1() As Integer func1 = 6 End Function End Module 1'-"H2 7.10 *-  Output = 16 Module Module1 Dim a As Integer = 1 Sub Main() sub1(a, a) Console.WriteLine(a) 8 Console.WriteLine(func1(a)) 16 End Sub Sub sub1(ByRef x As Integer, ByRef y As Integer) a += x : x += a : y += a End Sub Function func1(ByRef x As Integer) As Integer func1 = x + x End Function End Module 1'-"H2 7.11 *-  Output = 4  Application type = Windows Application  startup = Sub Main  32!'H2 I2@%5H" by 1'C03C+I%%1L@%5H"D2 4 I2 Public Class Class1 Shared a As Integer = 1 Shared Sub main() sub1(a, a) MsgBox(func1(a)) End Sub Shared Sub sub1(ByVal x As Integer, ByVal y As Integer) a = x + y End Sub Shared Function func1(ByRef x As Integer) As Integer func1 = x + x End Function End Class 1'-"H2 7.12 *-  Output = 4 Application type = windows application startup = Sub Main Class1 and Class2 is in same file Public Class Class1 Shared a As Integer = 1 Shared Sub main() Class2.sub1(a, a) MsgBox(Class2.func1(a)) End Sub End Class Public Class Class2 Shared Sub sub1(ByRef x As Integer, ByVal y As Integer) x = x + y End Sub Shared Function func1(ByRef x As Integer) As Integer func1 = x + x End Function End Class 1L 1*3+#12#A%H2 (Converter Function) http://www.thaiall.com/vbnet/msvb.htm #2" 7H- Visual Basic Run-Time Library Members http://www.thaiall.com/vbnet/keywords.htm 3*'D!HC H1L 1 @ H while sub for http://msdn.microsoft.com/en-us/library/32s6akha.aspx + Conversion Functions (Visual Basic) @ H Asc , Chr, Oct, Val, CBool , CDate , CDbl + Type Conversion Functions @ H CBool , CByte , CChar , CDate , CDbl + Math Functions (Visual Basic) @ H Round , Sin , Sqr 1'-"H2 7.13 *- Module Module1 Dim i, j, startclock, stopclock As Long Sub Main() display_time(startclock) For i = 1 To 10000000 : j += i : Next display_time(stopclock) Console.WriteLine(stopclock - startclock) Console.ReadLine() End Sub Sub display_time(ByRef x As Long) x = Now.Ticks Console.WriteLine(Now.Millisecond & " ms " & Now.Ticks & " ticks") End Sub End Module 1'-"H2 7.14 *- Module Module1 Dim a As Integer Sub Main() Dim a As Integer = 5 sub1(a, a) Console.WriteLine(func1(a, a)) ' 25 End Sub Sub sub1(ByVal x As Integer, ByRef y As Integer) a += x : x += a : y += a End Sub Function func1(ByVal x As Integer, ByRef y As Integer) As Integer func1 = a + x + y End Function End Module 1'-"H2 7.15 1'-"H2A%1'@%@G1'-1)# - *- ? numtotext( 123.45 ) C immediate window +%1C*H1L 11I 2 C Module DI#1 - #0"8L!22#+1*I 1B" -.-! 41  2@#4  http://www.thanom.net - 2#+1*I 1C http://www.thaiall.com/teachaccess/numtotext.htm Function numtotext(ByVal text1 As String) As String numtotext = "" Dim lenMax As Integer, i As Byte, Satang As String = "" Dim Baht As String = "" lenMax = Len(text1) For i = 1 To lenMax If Mid(text1, i, 1) = "." Then Satang = Right(text1, lenMax - i) Baht = Left(text1, i - 1) Exit For Else Baht = Left(text1, i) End If Next If Baht <> "" Then numtotext = changenum(Baht) & "2" If Satang <> "" Then numtotext = numtotext & changenum(Satang) & _ IIf(changenum(Satang) <> "", "*2L", "") End Function Function changenum(ByVal num As String) As String changenum = "" Dim i As Integer, max As Integer, r As String, n As String num = Trim(Str(Val(num))) max = Len(num) For i = 1 To max r = Choose(((max - i + 1) Mod 6) + 1, "A*","","*4","#I-"","1","+!7H" ) n = Choose(Mid(num,i,1) + 1,"(9"L","+6H","*-","*2!","*5H","+I2","+","@G", "A","@I2") If r = "*4" And n = "+6H" Then n = "" If n = "+6H" And r = "" And max <> 1 Then n = "@-G" If i = 1 And n = "@-G" And max > 1 Then n = "+6H" If r = "*4" And n = "*-" Then n = ""5H" If r = "" And max - i + 1 > 6 Then r = "%I2" If n <> "(9"L" Then changenum = changenum & n & r Else If r = "%I2" Then changenum = changenum & r End If Next End Function *#8@7I-+2I2" . A6+1I2" @5"##"2"*#8@7I-+2C@#5"5I!2-"H2I-" 2 +I2 *#I2B!9%5H!5 sub t !5+I25H#1H22 textbox1 !2+2H2 2 @H2A%I'A*I'" msgbox B" sub t 9@#5"H28H!C-#L!5H#1H2 textbox1 1H@- *#I2B!9%5H 2 procedure B" procedure +%1!51'A# 4 1' AH%01'!5H2@#4H!I7- 1 2 3 A%0 4 B"*H1I 4 1'A#C+I1 procedure x 3+C+I1'A# 2 1'A#@GA byval A%0-5 2 1'@GA byref I2C procedure x +2%#'!1I 4 *HDAH2C1'A#1'*8I2" @!7H---2 procedure x A%I'+2%#'!-1'A#81'0!5H2@G@H2C http://www.thaiall.com/quiz/test10.php?subj=vbnet01 5H 8 D!B# -LA-@ * (Microsoft Access) 3 D!B# -LA-@ * (Microsoft Access) 7- B#A#!@7H-12#02I-!9% !52#2@GI-!9%A%0*#I24'#5HDI !5*H'-B%C+I@#5"C IC#2"2A%0-#L! *#I2!2B#A%0B!9%I'" 2)2@*4@7H-#0!'%%2!+%1 2)2B#*#I2 +#7-0C I@G@5"#02I-!9%C+IB#A#!2 2"-@#5"C I 6HH2"*3+#19I5H!5#0*2#L C@#7H-2#@5"B#A#! +#7-9I12#02I-!9%!2A%I' H'"C+I2#12#02@*#GDI-"H2#'@#G' D!B# -LA-@ * (Microsoft Access) H21 '4 '%@*4 (Visual Basic) @#20 '4 '%@*4*2!2#12B#A#!DI+%2+%2" @ H 12B#A#!'8!-8#L B#A#!#0"8L @!*L +#7-@ 7H-!H-1#02I-!9% 2"- @G 2)25H@+!2012#12B#A#!#0"8L (Application) *H'D!B# -LA-@ *@+!20*3+#1112#02I-!9% 5HD!HI-2##05H 1 I- A%0I-2#12C+I@*#G-"H2#'@#G' !5@#7H-!7-5H-3'"'2!*0'C2#12#02I-!9%-"H2#I' http://www.thaiall.com/vbnet/read_access97.htm http://www.thaiall.com/vbnet/datagridview_text.htm 12#I-!9%CA-@ *B"B-A-%-555 (Manage Access by Oledb) -42"+I25H-3*1H5H*31  1. System.Data.OleDb.OleDbConnection *3+#1 *#I22#@ 7H-!H-1#02I-!9% 2. System.Data.OleDb.OleDbCommand *3+#1 93*1H@I212#@ 7H-!H- 3. System.Data.OleDb.OleDbDataReader *3+#1 @#5"!#12##0!'%%2!3*1H 4. cn.Open() *3+#1 @42#@ 7H-!H- 5. cm.ExecuteReader() *3+#1 #0!'%%2!3*1H H22#@ 7H-!H-5H@4A%I' 6. dr.Read() *3+#1 -H2I-!9%%22##0!'%%2!3*1H 7. dr.Item(0) *3+#1 3@I-!9%A#!2C I 8. cn.Close() *3+#1 42#@ 7H-!H- 1'-"H2 8.1 2#A*@I-!9%A# Dim strconn As String = "provider=microsoft.jet.oledb.4.0;" & _ "data source=c:\thaiall512\dthai97.mdb" Dim strsql As String = "select count(fid) as c from tbthai" Dim cn As New System.Data.OleDb.OleDbConnection(strconn) Dim cm As New System.Data.OleDb.OleDbCommand(strsql, cn) Dim dr As System.Data.OleDb.OleDbDataReader cn.Open() dr = cm.ExecuteReader() If (dr.Read()) Then MsgBox(dr.Item(0)) cn.Close() 1'-"H2 8.2 2#@4H!#0@5"C+!H Dim strconn As String = "provider=microsoft.jet.oledb.4.0;" & _ "data source=c:\thaiall512\dthai97.mdb" Dim nfid As Integer = Now.Millisecond Dim strsql As String = "insert into tbthai (fid) values (" & nfid & ")" Dim cn As New System.Data.OleDb.OleDbConnection(strconn) Dim cm As New System.Data.OleDb.OleDbCommand(strsql, cn) cn.Open() cm.ExecuteReader() cn.Close() 1'-"H2 8.3 2#%I-!9%2! textbox strsql = "delete from tbthai where fid=" & TextBox1.Text cm = New OleDbCommand(strsql, cn) cn.Open() dr = cm.ExecuteReader cn.Close() 1'-"H2 8.4 2#AIDI-!9%2! textbox strsql = "update tbthai set " strsql & = "fname='" & TextBox2.Text & "'," strsql & = "fsalary=" & TextBox3.Text & " " strsql & = "where fid = " & TextBox1.Text cm = New OleDbCommand(strsql, cn) cn.Open() cm.ExecuteReader() cn.Close() 1'-"H2 8.5 2#-H2I-!9%DA*C listbox ListBox1.Items.Clear() strsql = "select fid,fname,fsalary from tbthai" cm = New OleDbCommand(strsql, cn) cn.Open() dr = cm.ExecuteReader() While dr.Read() ListBox1.Items.Add(dr.Item(0) & "," & dr.Item(1) & "," & dr.Item(2)) End While cn.Close() 3I-!9%@I2A*C2I2#4'4' (Data in Datagridview) 2#3I-!9%2AI!D!B# -LA-@ *@I22I2#4'4' @#4H!IB"3+ 2I2 -#L (Data Source) H2 Data Source Configuration Wizard C+I!52#@%7-A Microsoft Access Database File (OLE DB) A%0!5AI!@G .mdb @ H dthai97.mdb 2!5H9I@5"@#5"!D'I A%03+2#2@G tbthai %2#C I Wizard 0@#5"C I Control -1B!14 2"C-#L!7- Dataset , Bindingsource A%0 TableAdapter 8-B%0@ 7H-!B"--D+2AI! dthai97DataSet.xsd 6H9*#I26I!2-1B!14@ H1 AH2#AIDI-!9%C Datagridview 0D!H#0%1D"1 dthai97.mdb @#20321I+!1*H'- Dataset 6H@G+H'"'2!3 1H'#2'C1'@#7H- *3+#12#B+%I-!9%22I2@ @I22I2#4'4' !51I-15I 1. *#I2 Dataset A%0 Database C+I@ 7H-!B"1H2 Wizard I2I 2. form_load !53*1H Me.TbthaiTableAdapter.Fill(Me.Dthai97DataSet.tbthai) 3. TbthaiBindingSource !5 Datasource @ 7H-!B"1 Dthai97DataSet 4. Datagridview !5 Datasource @ 7H-!B"1 TbthaiBindingSource *HI-!9%H22I2-0A@-#L D%AI!I-!9%H22I2@  Try Msgbox(Me.TbthaiTableAdapter.Update(Me.Dthai97DataSet.tbthai)) 'MsgBox(DataGridView1.Rows.Count()) Catch ex As Exception MsgBox(ex.Message) End Try 9I-!9%@I21%H-I-'2! (Textbox Linked With Data) C#5*#I2 Bindingsource D'IA%I' *2!2#@#5"C I2DI 6HH-"-!22@#7H-2I2#4 B"3+8*!14-%H-I-'2!C Databindings *3+#1 Text @G TbthaiBindingSource  fid B"I-!9%09@I212I2@ B"# +2!5-B%CC II-!9%C2I2@  G0!5%H-I-!9%5H@5H"'I-C8-B%-1B!14 *#8@7I-+2I2" - *-2#1%-B#A#!I 1 A%0I-31@#7H- folder - source code - AI!I-!9%5HC I#0-2#*- 7- http://www.thaiabc.com/asp/dthai97.mdb - 1'-"H2B#A#!5HC I12#1I-!9%CAI! .mdb A oledb http://www.thaiall.com/vbnet/sample/thaiall512.zip - 1'-"H2AI!I-!9% A%0 sql *3+#12#2 categories strsql = "select categoryid,categoryname,description from categories" C:\Program Files\Microsoft Office\OFFICE11\SAMPLES\Northwind.mdb - @4H!I-!9%I'" insert strsql = "insert into categories (categoryname,description) values(" strsql & = "'" & TextBox2.Text & "'" strsql & = ",'" & TextBox3.Text & "')" - 2#12#I-!9% http://www.thaiall.com/vbnet/order_northwind.zip @4 Visual Studio .net 2005 Add, Existing Item A6+1I2" - @5"##"2"*#8@7I-+2C@#5"5I!2-"H2I-" 2 +I2 - *#I2-"H2I-" 8 -#L!*3+#112#I-!9%2 8 2#2C Northwind.mdb C:\Program Files\Microsoft Office\OFFICE11\SAMPLES\Northwind.mdb AH%0-#L!!5@4H! % AID A*I-!9%C listbox A%0 msgbox C+I3+#9A5H!5#+1*1(6)2@G*H'#0- A%0 D!H3@GI-#8@I-!9% 3@*-'1$+1*55H 4 1'2! 2551 I'"2#3@*-B#A#!-@-I'"'2!@I2C 5% C+I8-#L!-"9HC mdiparent 5H 9 @-*4'A-%@ 4#L@'-#L (SQL Server) 3 @-*4'A-%@ 4#L@'-#L (SQL Server) 7- B#A#!#012#2I-!9% 5H12B"#4)1D!B# -L !5+I25H@GI-!9%-"H2@G#0 #-#13*1H@-*4'A-% (SQL = Structured Query Language) @G@#7H-!7-*3+#1@GI-!9% 5HI-C I#H'!1@#7H-!7-+#7-B#A#!-7H-"H29#22# @7H-C+IDI#025H#-#1'2!I-2#-9IC I @ H32#H'!1@#7H-#42#@'G (Web Server) @7H-C+I#42#AH 2)2*#4L5H321H@#7H-#42# (Server-Side Script) @ H 2)25@- 5 2)2@-@-*5-@G +#7- 2)2@@-*5 @GI +#7-32#H'!1B#A#!#0"8L (Application Program) @ H 2)2'4 '%@*4-@G 2)22'2 +#7- 2)2 5 2#L @GI B#A#!9--AC+I32#04142#'4B'L A%0@G -LA'#L%4*44L A03@'G@5H@5H"'I- + http://www.thaiall.com/vbnet/sql_start.htm @#4H!*#I22#2C sql server + http://www.thaiall.com/vbnet/sql_dbthai.htm @ 7H-!H-AD!H@5" code + http://www.thaiall.com/vbnet/insert_sqlexpress.htm 2#@ 7H-!H-H2 code + http://www.thaiall.com/vbnet/data_conn.htm @ 7H-!H-AH2 F 2#@44#42#- SQL Server Start, Program, Microsoft SQL Server 2005, Configuration Tools, SQL Server Configuration Manager @#5"@5"2# connection 1. SQL Server conn = New SqlConnection("server=.\sqlexpress;" + _ "user id=thai;password=thai2007;database=dbthai") 2. Microsoft Access conn = New OleDbConnection("provider=microsoft.jet.oledb.4.0;" + _ "data source=c:\thaiall512\dthai97.mdb") 3. MySQL in ODBC conn = New OdbcConnection("Dsn=modbc351mysql;Uid=admin;Pwd=p") 12#I-!9%H2 SQL Command 1'-"H2 9.1 2#-H2I-!9%DA*C Msgbox Imports system.data.sqlclient Dim conn As SqlConnection Dim myCommand As SqlCommand Dim s As String = "" conn = New SqlConnection("server=.\sqlexpress;" + _ "user id=thai;password=thai2007;database=dbthai") myCommand = New SqlCommand("select id,name from tbthai", conn) conn.Open() Dim reader As SqlDataReader = myCommand.ExecuteReader() While reader.Read() s & = reader(1) & Chr(10) 'only name and vbcrlf End While conn.Close() MessageBox.Show(s) 1'-"H2 9.2 2#@4H!#0@5"C+!H Imports system.data.sqlclient Dim conn As SqlConnection Dim myCommand As SqlCommand Dim ra As Integer Dim sql As String conn = New SqlConnection("server=.\sqlexpress;" + _ "user id=thai;password=thai2007;database=dbthai") sql = "insert into tbthai values (" sql = sql + TextBox1.Text + "," sql = sql + "'" + TextBox2.Text + "')" insert into tbthai values (5,'abc') myCommand = New SqlCommand(sql, conn) conn.Open() ra = myCommand.ExecuteNonQuery() ' ra = 1 conn.Close() MessageBox.Show("New Row Inserted " & ra) *#8@7I-+2I2" - 2#41IB#A#! @I2C I *#I29IC I 3C+I#+1*9IC I32DI A%0@5"B#A#!C I2 - Port @H2- SQLServer 7- 1433 AH- MySQL 7- Port 3306 181C I DOS> netstat  na #' port D!H'H2 SQLServer @4 port C - #'*-'H2 SQL Server @4-"9H+#7-D!H I'"2#4!L services.msc - @I2C I sql server H2 DOS Command C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data DOS>sqlcmd /? DOS>sqlcmd -S.\sqlexpress -E 1> create database dbthai 2> go 1> use dbthai 2> go 1> create table tbthai(id int,name varchar(10)) 2> go 1> insert into tbthai values(1,'abc') 2> insert into tbthai values(2,'def') 3> go 1> select * from tbthai 2> go - 3+C+I SQL Server "-!#1'45@I2#+1*-'4B'L ? DOS> REGEDIT HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft \Microsoft SQL Server\MSSQL.1\MSSQLServer LoginMode = 2 (Old value = 1) - @4H!9IC I @7H-C+I@I2C I#02I-!9%2!#+1*9IC I-AH%0 DOS>sqlcmd -S.\sqlexpress -E 1> sp_addLogin 'thai', 'thai2007' 2> go 1> sp_addsrvrolemember 'thai', 'sysadmin' 2> go - H-D12B#A#! A%0C I user, password C+I*-@I2C I2H2 DOS H- DOS>sqlcmd -S.\sqlexpress  U thai Password: 1> use dbthai 2> select * from tbthai 3> go 1> select name from sys.databases 2> go 1> use dbthai 2> select name from sys.tables 3> go - I-!9%1I+!1@GC+I- C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data - #'1I-2#*#I22#2 I-!9% A%0*!2 4C+!H-1B!14 sqlcmd -S.\sqlexpress -E create database dbthai go use dbthai create table tbthai(id int,name varchar(10)) go insert into tbthai values(1,'abc') insert into tbthai values(2,'def') select * from tbthai go sp_addLogin 'thai', 'thai2007' go sp_addsrvrolemember 'thai', 'sysadmin' go exit - 2#@%7-*#I22#@ 7H-!H-A wizard A%I'*HI-!9%@I2 Datagridview - *#I2 Datagridview C-#L! A%I'%4J *2!@+%5H"!!8!'2 - Choose Data Source, Add Project Data Source, Database - Microsoft SQL Server Database File , Next, Browse @%7-AI! C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data AI>@RTVdfnp   * . l n p ´´¦wph\N\hZ=hBbKmH o(sH hZ=hBbKmH o(sH hZ=hBbKo( hZ=hBbKhBbKmH o(sH hI&5CJ(\aJ(h; .5CJ(\aJ(o(h]o5CJ(\aJ(hehZ=5CJ(\aJ(heh5CJ(\aJ(hehBbK5CJ(\aJ(hBbK5CJ(\aJ( hBbKo(hBbK h; .o(h; .hI& hBbKo( hBbK@p  | D $ *,P6\ & F $a$gd^aH   T Z z $ ( B H  " $ ( 6 L n B (NP~ûð˥xsxxss hBbKhBbKCJ aJ mH sH hBbKCJ aJ hBbKB* CJaJmH phsH h@NmH sH h@NmH o(sH h^amH o(sH hj2mH sH h^amH sH h^amH o(sH hBbKmH o(sH hBbKmH o(sH hBbKmH sH hBbK hBbKo( hBbKo(-~46BZ\hVXZfjl"$46<> FHlnt*,nr4@ZfZhBbKmH o(sH hBbKmH o(sH hBbKmH sH  hBbKhBbK hBbKo( hBbKo(RXp|$%'((B(D(T(f(((((((((( $$Ifa$$If $$Ifa$$a$ & F Z\ 0 4Z $ * , > @ V b h !!!"!:! >.>4>H>>>>>@?`?b???????????&@,@@@B@T@@@@@@@@AABB8BJBBBȿȴȴȿȴȿȿȿȿȿȿȴȿȴȿȿȴȴȴhBbKmH sH hBbKmH o(sH hBbKmH o(sH hBbKmH sH  hBbKo(hBbKhBbK5\mH o(sH hBbK5\mH sH  hBbK0J hBbK0Jo(C;P<<=@C*DVD|D~DDE~xx$IfokdT$$Ifl0 !@ t04 la< $$Ifa$` BVCjClCCCCCDDD(D*D>D@DBDTDVDzD|D~DDDDDE EEEE4EPEfEnEvEEEEEEF>FDFHFTFVFXFtFFFFFFGGG&G6G@GTGVGGGZHrHzHHHHH@IHIZI|III˿˿ֿֿhBbK5\mH o(sH hBbK5\mH sH hBbK5\mH o(sH hBbKmH o(sH hBbKmH sH hBbKmH o(sH KEEPEtE$Ifokd$$Ifl0 !@ t04 la<tEvEEE$Ifokd$$Ifl0 !@ t04 la<EE>FVF$Ifokd+$$Ifl0 !@ t04 la<VFXFFFG$Ifokd$$Ifl0 !@ t04 la<GGhJJ>KKKLLL>MM:NPtPP{ ^``okde$$Ifl0 !@ t04 la<IIIII4J6JVJjJlJzJJJJJJJJ&K(K@KBKTK^KKKKLZLdLLLLM.M@MzMMMMMN"N$N:NzNNNNNNFO^OOOPPPBPDPHPZP`PrPtPvPPP hC|0J hBbK0Jo( hBbK0JhBbK0J^Jo( hBbKo( hBbKo(hBbKmH sH hC|hBbKB*mH phsH hBbKmH o(sH hBbKmH o(sH CPPPPPPPPPPPQQQQQ.Q8Q~QQQQQ R:RZiiijjkkVk`kkkm"nnn0oJooop pVpppppnstt`ttttttttuu uuuuvv vvvvvv*v/vYv]v_vcvevjvvvvvvvvw wwwwwww"w$w)w+w/wFwJwLwQw\w_wwwwwwwwwxxxx xxTxWxYx]xxxy hBbK0J>* hBbK0J hBbKo( hBbKo(hBbKmH o(sH hBbK hBbKhBbKmH o(sH hBbKmH sH Ly!y9y>y[yayyyyyyyyyyyyyyyzz^zhzzzzzzz{{{T{V{2|T|V|d||||}} }.}4}Z}v}x}}}}}}}~#~$~J~ŻŻhBbKCJaJhBbK0JCJ aJ hBbK5\o(hBbK5\mH sH hBbK5\o( hBbK5\hBbKmH o(sH hBbKmH o(sH  hBbK hBbKo(hBbKmH sH  hBbK0J hBbK0J>*;tz{V|} }4}Z}x}} $$@&Ifa$$a$ }}}}}}}TLLA6L $$@&Ifa$ $$@&Ifa$$@&Ifkd$$If^rO K#I t04 al}~~~ ~~VNNC: $$Ifa$ $$@&Ifa$$@&Ifkd$$IfrO K#I t04 al~#~$~&~+~0~PHH= $$@&Ifa$$@&Ifkd$$IfrO K#I t04 al$If0~9~J~K~M~R~G??$@&Ifkd$$IfrO K#I t04 al$If $$Ifa$J~K~~~~~~~~~~~)*+jk78abӀԀ^_bd̂Zr ".0ĹӴ̫hBbK5\o(hBbK5\o(hBbKmH o(sH  hBbKo(hBbKmH o(sH hBbKmH sH  hBbKo(hBbKhBbK0JCJ aJ hBbK0JCJaJ hBbK0Jo( hBbK0JhBbKCJaJ:R~[~d~~~~<4$@&Ifkd$$IfrO K#I t04 al$If $$Ifa$ $$@&Ifa$~~~~~~4kd $$IfrO K#I t04 al$If $$Ifa$ $$@&Ifa$$@&If~~~~~*$If $$Ifa$ $$@&Ifa$$@&If*+-5;DVNNC: $$Ifa$ $$@&Ifa$$@&Ifkd $$IfrO K#I t04 alDjkmrxPHH= $$@&Ifa$$@&Ifkd $$IfrO K#I t04 al$IfxEkdv $$IfrO K#I t04 al$@&If $$Ifa$78:kdd $$IfrO K#I t04 al$@&If $$Ifa$ $$@&Ifa$8;AGOa$If $$Ifa$ $$@&Ifa$$@&IfabekqzVNNC: $$Ifa$ $$@&Ifa$$@&IfkdR$$IfrO K#I t04 alzPHH= $$@&Ifa$$@&Ifkd@$$IfrO K#I t04 al$IfӀԀ׀ހG??$@&Ifkd.$$IfrO K#I t04 al$If $$Ifa$ހ!:2$@&Ifkd$$IfrO K#I t04 al$If $$@&Ifa$ $$@&Ifa$!*1:^_4kd $$IfrO K#I t04 al$If $$Ifa$ $$@&Ifa$$@&If_bhox$If $$Ifa$ $$@&Ifa$$@&IfցVNNE: $$@&Ifa$ $$Ifa$$@&Ifkd$$IfrO K#I t04 albdjxPHH= $$@&Ifa$$@&Ifkd$$IfrO K#I t04 al$If"0GE<< $$Ifa$kd$$IfrO K#I t04 al$If $$Ifa$0@DH`bڅ܅ޅ,.04PTV.0ć̇ԇ.026NPxz|ʈΈ؈ڈ޶޶޶޶β޶޶βȧhBbK0J^Jo(hBbKhBbKmH o(sH  hBbK0Jo( hBbK0JhBbKmH o(sH  hBbKo(hBbKmH sH hBbK5\mH o(sH hBbK5\mH o(sH B0BDHbsmmm$Ifkd$$IfF! t0    4 a $$Ifa$܅|vvv$Ifkdy$$IfF! t0    4 a܅ޅ.|vvv$Ifkd6$$IfF! t0    4 a.04V|vvv$Ifkd$$IfF! t0    4 a|vvv$Ifkd$$IfF! t0    4 a0|vvv$Ifkdm$$IfF! t0    4 a0|vvvv$Ifkd*$$IfF! t0    4 a026Pz|vvv$Ifkd$$IfF! t0    4 az|ڈ|vvv$Ifkd$$IfF! t0    4 aڈ܈V|vvv$Ifkda$$IfF! t0    4 aڈ܈TVX^rt‰ĉʉ"FH܊.8`j 68:>`b$(*,fhTfؒܓ宸hBbK0JmH sH hBbK0J5\hBbKmH sH hBbKmH o(sH  hBbK hBbKo( hBbK0Jo( hBbK0J hBbKo(hBbKhBbKmH o(sH @VX^t‰|vvvv$Ifkd$$IfF! t0    4 a‰ĉʉ|vvv$Ifkd$$IfF! t0    4 a"HԊ܊.`|̋|vvvvvvvvvvvv$Ifkd$$IfF! t0    4 a ̋ F܌6vkdU$$IfF! t0    4 a$If68>b|vvvv$Ifkd $$IfF! t0    4 ah <Q|zxxxxxxxxxxxkd $$IfF! t0    4 a ΐِ/B[|hؒ,dܓG^ju+ϔٔ+89:H4dҖԖޖ DFzЗڗܗ$.z|,.02:ккккк}l}b] hBbKo(hB0JmH sH  hBhB5\mH o(sH hBhB5\mH sH hBmH o(sH hBbKmH o(sH hBhBbK>*mH sH hBhBbK>*mH o(sH hBbKmH o(sH hBbK5\mH sH hBbKmH sH hBbK0JmH sH  hBbK0JhBbK0J5B*\phhBbK0JB*ph$+9z2\ RjLdz֞(nԟZ|$a$:L`>VLN 8@BDJLzԞ֞&(tv68DLXl̤ԤŻůŢśśśŻś hBbK0Jo(h*yhBbK0JmH sH h*y0J^JmH sH hBbK0JmH sH  hBbK0JhBbK hBbKhBbKmH o(sH hBbKmH o(sH hBbKmH sH hBbKmH sH  hBbKo(=|Ƞv $Nˢߢ7~6dܧ[$a$,2>@J̦Tbdvz~ܧ["> 024 "0Rȱ̱VZlrλλδ hBbKo( hBbK0Jo(hBbK0JmH sH hBbK0J5\ hBbK0J hBbKo(hBbK hBbKhBbKmH o(sH hBbKmH sH hBbKmH o(sH B[ڨ">`֩ 0nwǪSdl~2R$a$R(^د&ܰ`>l>غ Hv`r<>BDlȴ̴"$VpRV̷ܷ.<@DFX*.,z ʶʭhBbK5\mH o(sH hBbK0J5\mH sH hBbK0J5\'hBhBbK0J5B*\mH phsH hBhBbK0J5B*\phhBbKmH o(sH hBbKmH o(sH hBbKmH sH hBbKmH sH 5\:BBtVt Xr "Fl 246>@Z^dҼԼܼ 8:DX`ֽؽ@J\lv @FrtHTVꮧ hBbK0Jo( hBbK0J hBbKo( hBbKo(hBbK hBbKhBbK5\mH o(sH hBbKmH o(sH hBbKmH sH hBbKmH o(sH hBbK5\mH o(sH ?"48<>LP ,.Fhl@HpL^bfJZ^nRdth$W h>0JhBbK0JmH sH h>hBbK0JmH sH  hBbK0Jo(hBbKmH o(sH hBbKmH sH  hBbKo( hBbKo(hBbK hBbK hBbK0JhBhBbK0J^Jo(=2l,x,@p 8LBp'IfyAKZ  HpPdpt0 tpd"&*,rt(:LPRTd 268:Jxzz|DT8:v۲۲ۧۧhBbKmH o(sH  hBbKo( hBbKo( hBbK0Jo(hC|hBbK0JmH sH hBbK0J^JhBbKmH sH h$WhBbK hBbK hBbK0JhBbKmH o(sH <B0z(b6: z||hP:B"*`>B`~ ^``v@BFz & BDv6@d"*Եܨ!hBbK0J5B* \mH phsH hBbK0J5B* \phhBbK5B*\mH phsH hBbK hBbKo( hBbKo(hBbKmH sH hBbKmH o(sH hBbKmH o(sH hBbK5>*\mH o(sH ;*BF@B|>nP~ijӦĦӕytmitmtd hBbKhBbK hBbKo( hBbKo(hBbK5B*\mH phsH hBbK0J5B* \ph!hBbK0J5B* \mH phsH hBbK0J5B*\ph!hBbK0J5B*\mH phsH hBbK0J5B*\o(ph!hBbK0J5B*\mH phsH hBbKmH o(sH hBbKmH o(sH hBbKmH sH # @Xn2Rj6 *<x``vx~",2rt "(*4@BZ\<@jpv| ^`dĽĽhBbK5\mH sH hBbK5\mH o(sH hBbK5\mH o(sH  hBbKo(hBbK hBbKo(+hBbK5CJOJPJQJ\aJmHnHuhBbKmH o(sH hBbKmH o(sH hBbKmH sH hBbKmH sH 5"0DU #\Zr.T 7$8$H$`` D 6DU^lFZ\XZ^´vvkv`XNXI hBbKo(hBbK5\o(hBbK5\o(hBbK0JmH o(sH hBbK5\mH sH !hBbK0J5B*\mH phsH hBbK0JB*mH phsH !hBbK0J5B*\mH phsH hBbK0JB*mH phsH hBbK0J5\mH o(sH hBbK5\mH o(sH !hBbK0J5B* \mH phsH hBbK0J5\mH sH !hBbK0J5B* \mH phsH ^b6Fpt,.2RT"$BFLȦh?AVmH o(sH h?AVmH sH hBbKmH sH hBbK5B*\ph4hBbK5B*CJOJPJQJ\aJmHnHphu hBbKo( hBbKo(hBbKB*mH o(phsH hBbKB*mH phsH hBbKB*mH o(phsH hBbKB*o(ph'$Fn^\f2&" N^gd?AVgd?AV``blnt@T ,26\^ֿzrrzkgkrzzgkrrzrhBbK hBbKo(hBbKmH sH hBbKmH o(sH hBbKmH o(sH  hBbKo(h?AVmH sH hmH o(sH hoh?AVmH o(sH hoh?AVmH sH -h?AVCJOJPJQJaJmHnHsH tH uh?AVh?AVmH sH <hoh?AVB*CJOJPJQJaJmHnHphsH tH u%^b\dfj`bd08HnV$&.`(..<@ƽƽƲƲƲƲزƲhmH sH hmH o(sH hBbKmH o(sH hBbKmH o(sH hBbKmH sH  hBbK hBbKo( hBbKo(hBbKh?AVmH sH h?AVmH o(sH h?AVmH o(sH =@ "^bjprvx"*^f25TWrv  ; ƻƻƳh0J^Jo( hBbK0JhBbK5>*\mH sH hBbK5>*\o(hBbK5>*\o(hBbK5>*\h5>*\o(hBbK5>*\hBbKmH o(sH hBbKmH sH hBbKmH o(sH hBbKmH sH hBbK5\mH sH 2$Eg , L p     3 T ~     6 ^   Z  ; > b d o p           C F d g         $ & M O p r         X Z         8 H L h l   ОȩhBbKmH o(sH  hBbK0Jo(hhBbK0J5\ hBbKo( hBbKo(hBbKmH sH hBbK hBbKhBbKmH o(sH hhhBbK0JmH sH  hBbK0Jh0J^Jo(;    H l   VD~t:P~`gdU`.02H\`bprxz|~ 48rtz~ԉԃԉԃxkhU0J5\mH sH hBbK0J^Jo( hU0JhBbK0JmH sH hBbK hBbKhBbKmH o(sH hBbKmH sH hBbKmH o(sH hBbKmH sH  hBbKo( hBbKo( hBbK0Jo( hBbK0JhBbK0JB*o(phhBbK0JB*^Jo(phhBbK0JB*ph(68:P\`d|~ :<przӽӞӅynfhI mH sH hhBbKmH sH hh0J5\hhBbK0J5\hY/hBbK0JmH sH  hY/0J hBbKo(hBbKmH sH  hBbKo( hBbKhBbK hBbK0Jo(hBbK0J^Jo( hBbK0JhBbK0J5\mH sH hUhU0J hU0JhU0J^Jo(% f >pr, fbz| X!v!!$a$`.F0:|,JLRT  &(fvx &.`ĹİĹĹĹĹĹĹĹĹhBbK5\mH sH hBbK5\mH o(sH hBbKmH o(sH hBbKmH o(sH hBbKmH sH h+hI mH o(sH h+mH sH h+mH o(sH hI mH sH hI mH o(sH 9`bjX4> nv&6xz|D F P     ····¬߀߀hBbKmH o(sH hzeh2dmH o(sH  hzeo( hze0JhzemH sH hzemH o(sH h2dmH o(sH h2dmH sH hBbKmH o(sH  hBbKo( hBbKhBbKmH sH  hBbKo(hBbKh+hBbKmH o(sH 2  !"!.!:!D!N!X!"""""###($.$8$J$L$$$*%:%%%%%%%%\&v&((((((*****d***++乮ޥޥޥޥޠhBbK0JB*o(phhBbK0JB*phh2dmH o(sH  hBbKhBbK0J5\hBbK5\mH sH hBbK5\mH o(sH  hBbKo( hBbKo(hBbK hBbK0Jo( hBbK0JhBbKmH o(sH hBbKmH o(sH hBbKmH sH 2!!"2"d"""""*$%%)*+4+R+++,&,<,,,,-(-b-$`a$$a$+0+2+4+P+R+<,N,R,T,V,,,,,---(-b-j--------- .(....8/:/ϼ{lbbb[ hBbK0Jo(hBbK0JB*phh4BhBbK0JB*o(phh4B0JB*phh4Bh&0JB*o(phh4BhBbK0JB*phh4BhBbK0J5B*\phh4BmH o(sH hBbKmH o(sH hBbKmH sH hBbK hBbKhhhBbK0JmH sH hBbK0JmH o(sH hBbK0JmH sH  hBbK0J#b------ .../$/:///// 0:0^0014111111`2 $`a$gd4B$a$:/L/P/R/T//// 0^00141b1v1x1z1111112222^2`2b2344 44j4l444555555`6b6:7D77777777ݶݶݡݡݶݛݛݶh# 0JmH sH  h0J hBbK0Jo(hBbK0JB*mH phsH hBbK0JmH sH hBbK0J5B*\phh4BhBbK0J5B*\ph hBbK0JhBbKmH o(sH hBbKmH sH hBbK hBbK6`2j2222T3d3333l44444H55555b6j66 7:77(8<88$a$7&8(888888999:&;>;?;P<V<x<|<<<<<<<==r=t=|======>>j>n>>>ֽyrmrmrmrr hBbKo( hBbKo( hBbK0Jo(h.0JCJaJmH sH -h.CJOJPJQJaJmHnHsH tH uhBbK0JCJaJmH sH hBbK0JCJaJhBbK0JB*mH phsH hBbKmH o(sH hBbKmH sH hBbK hBbK hBbK0Jhh0JmH sH  h# 0J(888999$:8:M::: ;&;?;O;T;;;<<P<R<T<V<|<===h>>$a$>>>>>>???0????? @4@pAtAAAAAAA4B6BBBBCC$C&CVCXCCCCCCDdDǧǧyrihBbK0J5\ hBbK0Jo(hI#hBbK0J^Jo(%hBbKCJOJPJQJaJmHnHuhBbK0J5\mH sH hBbK0JmH sH +hBbK5CJOJPJQJ\aJmHnHu hBbK0J hBbKo( hBbKo(hBbKmH o(sH hBbKmH o(sH hBbKmH sH hBbK5\mH sH )>0????4@@@@,ApAAA6BBBB&CXCCCDfDDE^EEE 7$8$H$``dDfDDDDEE ENE^EnEFFHFLFrFtFFFFG8GRGXGGHH*H`HbHfHHHHH&I(I.IRIbIIIIIͿvvmvvmvhBbKmH o(sH hBbKmH o(sH hBbK0J5B*\phhBbK0J5\hBbK0JmH sH  hBbK0JhBbKhBbKmH sH  hBbKo( hBbKo(hBbK0J5\mH o(sH 'hI#hBbK0J5B*\mH phsH hBbK0J5\o(hBbK0J5\mH sH  hBbK0Jo(*EF(FHFtFF GGGGHbHH(III\J^JJJK4LLPMNNrOPP^IIII JZJ\J^J|JJJJJJJJKK2K6KKKKKKLL L2L4L8LpLLLLLLLL MMNJNlN|NNNNNNNO$O2O4Or@rRrTrVrXrZrhrrs4sHsJsLsNs`sbsnsvssssssùÿÿꑆzh hBbKmH sH h mH o(sH h mH sH hdmH sH hdmH o(sH  hdo( h}0J hBbK0JhBbK hBbKh}hBbK5\mH sH hBbKmH o(sH hBbKmH o(sH hBbKmH sH h6hBbK5\mH sH /s&tuuuuu(u:uDuZuuuuuuzv|vvvvvvvvvvvvhwjwlwnwvwwwwȽȲ㕊ȽȲukuku_hn0J^JmH sH hn0JB*phh}hn0JB*phhdmH sH hdmH o(sH  hdo( hn0JhnCJOJQJaJmH sH h hnmH sH h mH o(sH h mH sH hnmH sH hnmH o(sH hn hn hBbK0Jh}hBbK0JB*ph$tttuuuu vLvdvzv|vvvwwwDx\xpxy.yLyxyyyyBzzgd5Jgd5Jgdngdnwwpxxxxxxxxxxxxxyyyyyyyyyyz z*z2z@zBzzºxmxmxm_Rh}h5J0JB*phh5Jh5JmH o(sH h5JmH o(sH h5JmH sH hd h5Jo(h5J h5JhnCJOJQJaJmH sH h hnmH sH h mH o(sH h mH sH hnhnB*mH phsH hnmH sH hnmH o(sH  hno(hn hn hn0J hd0Jzzzl{n{p{r{z{{{{{{{{{{|"|$|||||}}}~$~2~D~F~J~\~`~n~~~~2fh hBbKmH o(sH hBbKmH o(sH  hBbKo( hBbKhBbKmH sH  hBbKo( h p4o(hBbKhdh5Jhd0JB*phhd0JB*phh}hd0JB*phhBbK0JB*phh5Jh5J0JB*ph5zzz{{{^~ރ > $bȉ7IfҊ`gdd  4T^d|ĀԀ āƁ΁Ё l &(@TV^fڃ&J&JLTV…  :>BLbj| *4hBbKmH sH hBbK>*mH sH hBbK>*mH sH hBbKmH sH hBbKmH o(sH hBbKmH o(sH N$(.6HJl`bvxz|Ɖȉ*"&ʌڌ܌"&28L|~:̐竤h5JmH o(sH h5JmH sH  hBbK0Jo( hBbK0J h5Jo(hd hBbKhBbKmH o(sH #h5JhBbK5B*\mH phsH hBbKmH o(sH  hBbKo(hBbKmH sH hBbK hBbKo(9 +"~(V4ʔ N&l~b & F`gdW`^̐6:&(*TVZƓ2:ȔʔҔ "(FHؕ̕>ĖLNR$&R䴯짙hWhBbK5\mH sH hWmH sH  hBbK hBbKo( hBbKo(hBbK hBbK0JhBbK5\mH o(sH hBbK5\mH o(sH hBbKmH sH hBbKmH o(sH hBbKmH o(sH @FJVxc)hBbK0J5B* CJ\aJmH phsH &hBbK0JCJOJQJ^JaJmH sH hBbK0J5CJ\aJ hBbK0J5CJ\aJmH sH )hBbK0J5B* CJ\aJmH phsH hBbK0JCJaJmH sH hBbKmH o(sH  hBbK0Jo( hBbK0JhBbK0JmH sH hBbKmH o(sH hBbKmH sH #VZjxz~Ԣآ(2<Vvxܶܬqf^f^f^Q=Q'hBbK0J56B*\]mH phsH hBbK0J6]mH sH hBbKmH sH hBbKmH o(sH hBbK56\]mH o(sH /hBbK0J56B*CJ\]aJmH phsH &hBbK0J56CJ\]aJmH sH hBbK0JCJaJ)hBbK0J5B* CJ\aJmH phsH  hBbK0J5CJ\aJmH sH hBbK0JCJaJmH sH )hBbK0J5B*CJ\aJmH phsH ޣ+02L\acrswΤҤӤդ޺ަޒވwfwUfU!hBbK0J5B*\mH phsH !hBbK0J5B* \mH phsH !hBbK0J5B*\mH phsH hBbK0JmH sH 'hBbK0J56B* \]mH phsH 'hBbK0J56B*\]mH phsH 'hBbK0J56B*\]mH phsH hBbK0J56\]mH sH hBbK0J6]mH sH 'hBbK0J56B* \]mH phsH $&,.6QS`xȦʧHïØ|s|mdWHWhBbK0J5B*\o(phhBbK0J5B*\phhBbK0J5\ hBbK0JhBbKmH o(sH hBbKmH sH hBbKmH o(sH hBbK hBbK-hBbK56CJOJQJ\]aJmH o(sH 'hBbK0J56B* \]mH phsH hBbK0J56\]mH sH !hBbK0J5B* \mH phsH hBbK0JmH sH !hBbK0J5B*\mH phsH HRV.0ª,6TX\ ̬Ь "t~ղաղ~ulllu~u~u~uf_f hBbK0Jo( hBbK0JhBbKmH sH hBbKmH o(sH hBbKmH o(sH hBbKmH sH  hBbKo(hBbK hBbK hBbK0J5B*\^JphhBbK0J5B*\o(ph'h%::hBbK0J5B*\mH phsH hBbK0J5B*\phhBbK0J5B*\ph hBbK0J5B*\^Jph%xRįƯ  :ذege쑁m]h%::hBbK0J5B*\ph'hO3hBbK0J5B*\mH phsH h%::hBbK0J5B*\phh%::hBbK0J5\ hBbK0Jo(hBbKmH o(sH hBbKmH sH hBbKmH o(sH  hBbKo( hBbKo(hBbK hBbKhBbK0JmH sH hBbK0J5B*\ph hBbK0JhBbK0J5B*\ph$x4ر4eͲFeճݳ$fvȵrefճֳ$v .<Ƶȵεprx3I{|єׄr`"hRlCh%::0J5B*\o(ph"hRlChBbK0J5B*\o(phhRlChBbK0J5B*\phhRlChBbK0J5\hBbKmH o(sH hBbKmH sH hBbKmH o(sH  hBbKo( hBbKo(hBbK hBbK hBbK0J hBbK0Jo(h%::hBbK0J5B*\ph"h%::hBbK0J5B*\o(ph I|øݸCOr46dBֽ<>F``gdO3BCmr24>Ndfx޺$&@Z$Bd~¼̼ ӱwodo_XododowdododowdXTXohBbK hBbKo( hBbKo(hBbKmH o(sH hBbKmH sH hBbKmH o(sH hRlChBbK0J5B*\ph hBbK0Jo( hBbK0J'hO3hO30J5B* \mH phsH BhO3hO35B* CJOJPJQJ\aJmHnHphsH tH u<hO3hO3B* CJOJPJQJaJmHnHphsH tH uhBbK0J5B*\ph  6:@HZ\zڽ(>ʾ "Fο:<@hj<>B\`h쵩얁얁(hBbKCJOJPJQJaJmHnHo(u%hBbKCJOJPJQJaJmHnHuhBbK5\mH o(sH hBbK5\mH o(sH  h=PhBbK5\mH o(sH hBbKhBbKmH sH  hBbKo( hBbKo(hBbKmH o(sH hBbKmH o(sH 2hjDF&( &JNPRźźrcQc#hQh pB*CJ aJ o(phhQh pB*CJ aJ ph'hQhQ0J5B*\mH phsH hQ0J5\mH sH h phBbK0J5\hBbKmH sH hQhBbK0JmH sH  hBbK0JhBbKmH o(sH hBbK hBbK(hBbKCJOJPJQJaJmHnHo(u%hBbKCJOJPJQJaJmHnHuhBbKmH o(sH Fx(p&nBh&4&`gdQnpz$.8B"NPrvzFr|ͻ²費͛Ͳ²²hBbK0JCJaJmH sH  hBbKo(hBbK0J^JhBbK hBbKhBbKmH o(sH  hBbKo(hBbKmH o(sH hBbKmH sH  hQ0JhQhBbK0JmH sH  hBbK0J"h phBbK0J5\^JmH sH 3&>PvQ-9Wq}DTV^TV8>FJRTVXdhtzLv J跰 hk hBbK hBbKo(hBbKhBbKmH o(sH hBbKmH o(sH  hBbKo(hBbKmH sH !hBbK0JCJ^JaJmH sH /hI#hBbK0J5B*CJ\aJmH phsH hBbK0JCJaJmH sH hBbK0JCJaJ5VXD~5V<Zfq>lFxgdk BD|04KUmp:>Lvxyqh_UPLLyhBbK hBbKh5JhBbK0Jo(h5JhBbK0Jh5Jh5J0JhBbKmH sH hBbKmH o(sH  hBbK0Jo(hBbK0JmH sH h\=hBbK0J5B*\phh\=hBbK0J5\h\=h50J5B*\ph hBbK0Jh\=h\=0J5B*\phh\=0J5\h\=h\=0J5\hkmH o(sH  hko(hkx&Db*ULj4n H~gd)atgd)atgd4<bh& Lfhj 8FHvgvh)ath)at0J^JmH sH h)ath)at0J^Jo(h)ath)at0J^Jh)ath)at0J^Jh)atmH o(sH  hko(h)at h)athBbK0J^JmH sH  hBbK0Jhh5\mH sH h5\mH sH  h0JhBbKmH sH hBbKmH sH hBbKmH o(sH (~h#Fdp:2<^gd)at"#CEF +/GKx|*0HL8<@hBbK hBbKo(hBbKmH o(sH hBbKmH o(sH hBbKmH sH  hBbKo(h)ath)at0J^Jo(h)at0J^JmH sH h)at0J^Jh)ath)at0J^Jo(h)ath)at0J^JmH sH h)ath)at0J^Jh)ath)at0J^J2zVZpJL 0@D4RT\x߾Ԛ荄hBbK0J5\hBbK0J5\mH sH %hBbKCJOJPJQJaJmHnHu!hBbK0J5B*\mH phsH hBbK0J5B*\phhBbKmH sH hBbKmH o(sH hBbKmH o(sH hBbKmH sH  hBbKo(hBbK hBbKo(4LRD^0T^>p` & F 46XZZ\b $.DHVj >\^Tfhjln>PRTVXnp46ÿܿܿܿȲܿܿܿܿhBbK0J5B*\phhBbK hBbKhBbKmH o(sH hBbKmH o(sH hBbKmH sH  hBbK0JhBbK0J5\mH sH hBbK0J5\B6V0n^&HZ|.^`\^Zx|\` *2Pd (.BDLNRnHn*.Zxz߸˽߸ hWo( hBbKo( hBbKo( hBbK0Jo(hBbKmH o(sH hBbKmH o(sH hBbKhBbKmH sH  hBbK hBbK0JhBbK0JmH sH FDNN \t0<\xD`^ ^``gdWLNPbrz*.4:<PVZpv&,t~~q```q[ hBbK!hBbK0J5B*\mH phsH hBbK0J5B*\phh^"ihBbK0J5B*\ph'h^"ihBbK0J5B*\mH phsH hBbK0J5B*\ph!hBbK0J5B*\mH phsH hBbK0J5\mH sH !hBbK0J5B* \mH phsH hBbK5\mH o(sH hBbK5\mH sH  hBbKo(hBbK"DXv0D.HfBx">t` ^` DNPln  ,.>Nb ".HnܙhBbK0JB*mH phsH hBbK hBbKhBbKmH o(sH hBbK0JmH o(sH h^"imH sH h^"imH o(sH hBbK0JmH sH hBbK0J5\mH sH !hBbK0J5B*\mH phsH hBbKmH o(sH hBbKmH sH 1$&,>2>"$&(*46P        " $ > z          2 ~  @ J     l~´´´´« hBbKmH o(sH hBbKmH o(sH hBbK0JB*mH phsH hBbKmH sH hBbK hBbK!hBbK0J5B*\mH phsH hBbK0JmH sH !hBbK0J5B*\mH phsH ?t6Pn" X p     $ > \ z    F ^       2 P n    N   >Vl,nb ^`*,P^ L^`bdfpr  z}}i}i}'hqhBbK0J5B*\mH phsH !hBbK0J5B*\mH phsH hBbK0J5\mH sH hBbK0JmH sH hBbK0JB*mH phsH hBbK0JB*phhBbK hBbKhBbK0J5B*\ph!hBbK0J5B*\mH phsH hBbKmH o(sH hBbKmH o(sH hBbKmH sH )6LrH`(NxT^`(:<>@BLNx<>FHJLRT,.~˹؆|k|k|]|h[)0JB*mH phsH !h*{0J5B*\mH phsH h*{0JmH sH !h*{h*{0JB*mH phsH !hBbK0J5B*\mH phsH !h*{hBbK0JB*mH phsH hBbK0JB*mH phsH hBbKhBbKmH sH  hBbKhq0JmH sH 'hqhBbK0J5B*\mH phsH hBbK0JmH sH $"*2BD`&(*.0:<X1ĹĹĮנxndnhr0JmH sH h|0JmH sH 'h|hBbK0J5B*\mH phsH 'h|hBbK0J5B*\mH phsH hBbK0JB*mH phsH h[)hBbKmH sH h[)mH o(sH h[)mH sH  h[)o(hBbKhBbKmH sH  hBbKhBbK0JmH sH !hBbK0J5B*\mH phsH %D`~.`x<Xv@L16:?TX_ast&(lដvvqieieqiWhBbK0JB*mH phsH hBbKhBbKmH sH  hBbK'hrhBbK0J5B*\mH phsH 'h|hBbK0J5B* \mH phsH !h|hBbK0JB* mH phsH 'h|hBbK0J5B*\mH phsH 'h|hBbK0J5B*\mH phsH hr0JmH sH hBbK0JmH sH 'hrhBbK0J5B*\mH phsH (B@h$<b , A e y  gd>ln|~>@$dn$.r||llXlXSKGKhBbKhBbKmH sH  hBbK'h>hBbK0J5B*\mH phsH h>hBbK0J5\mH sH 'h>hBbK0J5B*\mH phsH hBbK0JmH sH 'h>h>0JB*mH o(phsH h>mH o(sH h>mH sH  h>o(h>h>5\o(h>0JB*mH phsH hBbK0JB*mH phsH hr0JB*mH phsH e r x      !!!"!}!!!""0"4"H"Z"\"^"""Z##$f$p$$$dzן׳ןהyynych>5\mH sH hBbK5\mH sH hBbKmH o(sH hBbKmH o(sH  hBbKo(hBbK0JmH o(sH 'h>hBbK0J5B*\mH phsH 'h>hBbK0J5B*\mH phsH h>hBbK0J5\mH sH hBbK0JmH sH hBbK0JB*mH phsH hBbKmH sH  hBbKhBbK#      !K!]!i!!!!!^"##$f$$$T%%%%&/&^gd>`gd>`$%R%T%%%%%%%%%%%%%&/&I&S&&&&_'i'ʸʸp\p\pK!hBbK0J5B* \mH phsH 'h>hBbK0J5B*\mH phsH !hBbK0J5B*\mH phsH hBbK0JmH sH hBbK0J5\mH sH hhBbKmH o(sH hmH o(sH  ho(hBbK hBbKhBbKmH o(sH hBbKmH sH hBbKmH o(sH hBbK5\mH sH  h>o(h>mH sH h>mH o(sH /&:&U&}&&&&&''W'_'j'((F(h(~((()"))))N*v***++i'((((((&(((F(h("))*********+++>+D+f++++++++++",T,t,,---ķנ䐇䐇y hBbK0Jo( hBbKo(hBbKmH o(sH hBbKmH o(sH  hBbKo(hBbK0J5\o(hBbK0J5B* \phhBbK0J5B*\phhBbK0J5B*\ph hBbK0JhBbK0J5\hBbKhBbKmH sH  hBbKhBbK0J5\mH o(sH ++N,,@-b--..3.V.~....... 0001r112F2h22*33B4----00002222223 333"3$3&3\3^3`3b3f3h3r3x3333333333333333333444&4V4`444445565<5R5X5p5v55555r6z6667Ľ hBbKo( hBbKo(hBbK0JCJ^JaJhBbK0JCJaJhBbK0J^J hBbK0Jo( hBbK0JhBbK0JmH sH IB44"5z556L6Z666667$7F778p;;;4<><h?BBDCC"D$a$ & F77 7"7$7B7F7777777 888,808R8`8h8n8p8t888888899,9F9J9R9T999999999 ::*:6:D:H:^:l:x::::::;;n;p;;;;;;;;<Ļѷ hBbKhBbKhBbK0J5\hBbK0J5\mH sH hBbKmH o(sH hBbKmH o(sH  hBbKo( ho( hBbKo(hBbKmH sH F<<0<4<<<B<d<<f?l?????\AxABCC"D$D`DbDhDDDDDDE4EBEDEEEEEE F(F:FBFrFzFFF GG&G.GGGGGGGGG*H,H>H@HBHDHFHlH۫۫۫۫۫۫۫۫ۦ hBbKhBbKmH o(sH hBbK5\mH sH hBbK5\mH o(sH hBbK5\mH o(sH hBbKmH o(sH hBbKmH sH  hBbKo(hBbKhBbKmH sH A"D$DbDEE"FtFGGG,HnHH>II(JJJK6KKKK.LVL|LLL6M@MlHnHIIIJhJJJJJKKKKKKKKKL$LULVLLLMM)M6M]MNNNNNN8NFNHNROTOfOhOjOlOnOOOvQQQQQQQQSS𬖬hBbK0J5\mH sH hBbK0J5\hBbK0JmH sH hBbKmH o(sH hBbKhBbKmH sH  hBbKhBbK0J5B*\phhBbK0JB*ph hBbK0Jo( hBbK0JhBbKmH o(sH ;@MSM^MHNNNO>OTOOO6PPP&Q:Q`QvQQQZRRRRSSSS&TWSST T$T&T*TTTT0URUUUUUUU>VLV\VlVVVVVVWRWxWWWWWX.XFX~XXXY\YfYrYYYYYYYYYZxZZZZZZZ[ [&[<[V[|[~[[[佱hBbK5\mH o(sH hBbK5\mH o(sH  hBbKo(hBbKmH sH  hBbKo(hBbKhBbKmH o(sH hBbKmH sH hBbKmH o(sH EW^YYzZZ~[[[x\\\]*]]_``6aa$bbcccVdddexe`[]](]*]d]]]]]^^^^^^___```t``````:aaaa&b(bVb^bvbbc|ccccccdddeevezeeeeffdfhfpfrfzffֲֲֽ˽ҽֽhBbK5\mH o(sH  hBbK5\hBbK5\mH sH  hBbKo(hBbKmH o(sH  hBbKo(hBbKhBbKmH sH hBbKmH o(sH  hBbK0Jo(hBbK0JmH sH  hBbK0J>xeeeefrfgghh\iiii\oo$ppJqqrrsssst^gd^gd?PA^fffffgrggggghhxhhhhhhiViXibiiiiiiiiiiiiiiij$j@j~jjj&kjkllBmlmmmm$nPnvnnnnnnnZo\ooh?PA5\mH o(sH hBbKmH sH  hBbKhBbK5\mH o(sH  hBbKo( hBbKo(hBbKhBbKmH sH hBbKmH o(sH hBbKmH o(sH ?ooooop"p$p(p~ppppppqq@qHqJqNqqqqqqrrrrrssǿҫqeVhBbK0J5B* \o(phhBbK5>*\mH sH hBbK5>*\mH o(sH h?PAh?PAmH o(sH h?PAh?PA5\mH sH  h?PAh?PA5\mH o(sH h4mH o(sH h4h4mH sH h4mH sH h?PAhBbKmH sH h?PAmH o(sH h?PAmH sH hBbKmH sH hmH sH h?PAh?PAmH sH  sssfszssssssssssst$tttttu$u*u,uhuuuuuuuuuuuuuu*v8vvvزإ||qhBbKmH o(sH hBbK hBbKhBbKmH sH  hBbKo(!hBbK0J5B*\mH phsH hBbK0J5\mH sH hBbK0J5B* \o(phhBbK0J5\o(hBbK0J5B*\phhBbK0J5\!hBbK0J5B* \mH phsH hBbK0J5B* \ph)ttu$uuu8vvvvvw|ww`xzxxyzyyyyzPzzzz {v{{|vvvvvvww`xzxxxNyxyyyyyyyyyzzPzzz {Ƕ~yqmqmbqUOHO hBbK0Jo( hBbK0JhBbK0J5B*\phhBbKmH o(sH hBbKhBbKmH sH  hBbK!hBbK0J5B*\mH phsH *h|hBbK0J5>*B* \mH phsH !hBbK0J5B* \mH phsH !hBbK0J5B*\mH phsH !hBbK0J5B*\mH phsH hBbK0J5\mH sH !h|hBbK0J5>*\mH sH hBbK0JmH sH  {R{f{{{{{{{{[|\|y|z||||||||||}~"~*~~~~~ $08TlμΫ~vkbvkvkbkvkvkhBbKmH o(sH hBbKmH o(sH hBbKmH sH  hBbKo( hBbK0Jo(h|hBbK0J5B*\phhBbK0J5B*\o(ph h|h|0JB*^Jo(ph#h|h|0JB*^Jo(phh|h|0JB*phhBbK0J^Jo( hBbK0JhBbK0J5B*\phhBbK0J5\&|4|\||||||}}&~~Lf$@|ށN\^`lLdjz"$:>@VZtxBDHZr΃02nt̨̻̻̻̭~qhBbK0J5B*\phhBbK0J5\!hBbK0J5B*\mH phsH hBbKmH sH  hBbKo( hBbKo(hBbK0J5\mH o(sH !hBbK0J5B*\mH phsH hBbK0J5\mH sH hBbKmH o(sH hBbKmH o(sH hBbKmH sH hBbK5\mH sH +8D΃r2n…$.^jև \҈Bz`^…"$(\zjև$Z\ĽxgVCVĪ$hBbK0J5>*B*\mH phsH !hBbK0J5B*\mH phsH !hBbK0J5B*\mH phsH $hBbK0J5>*B*\mH phsH hBbK0J5\mH sH hBbK0J5\hBbKmH o(sH hBbKmH o(sH hBbKmH sH  hBbKo( hBbKo(hBbK0J5B*\o(phhBbK0J5B*\phhBbK0J5B*\phhBbK0J5B*\ph\҈ֈ@Bvz "&2Ћދ".H NnŸѐwrkbbbbhBbKmH o(sH  hBbKo( hBbKo(hBbKB*mH phsH hBbK0J5B*\phhBbK0J5B*\phhBbK0J5B*\phhBbK0J5\mH o(sH hBbK0J5\mH sH hBbKB*mH phsH !hBbK0J5B*\mH phsH hBbKmH o(sH hBbKmH sH hBbK5\mH sH $zƉ"(p*2N66P8|99::;;`^! 7H- Dthai.mdf +#7-AI!-7H5HI-2# - @%7-@I-!9%DA*C Datagridview 2!I-2# - 0DI Connection String 7- Data Source=.\SQLEXPRESS;AttachDbFilename="C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\dbthai1.mdf";Integrated Security=True;Connect Timeout=30;User Instance=True - @4 connection string 2 dthai1DataSet.xsd C*H'- tbthaiTableAdapter !2AID2#@ 7H-!H-DI +#7-0AID3*1H@5H"'1 insert, select G3DI - ODBC C+I@%7- SQL Native Client A%I' Server @G .\sqlexpress - odbcad32.exe - With Integrated Windows Authentication G0D!H!51 +2-C IC DataGridView - @#5"C I2H2 Datagridview D!H1 +2 - 2#12#1 SQL Server *2!2#3DI-"H2I-" 2 '457- 1. H2 ODBC 2. H2 Connection A6+1I2" - @5"##"2"*#8@7I-+2C@#5"5I!2-"H2I-" 2 +I2 5H 10 !2"@-*4'A-%@ 4#L@'-#L (MySQL Server) 3 @-*4'A-% (SQL = Structured Query Language) 7- 2)2*-2!I-!9%5H!5B#*#I2 +#7- 2)212#I-!9% 2)25I93+!2#2B"*21A- 5H (ANSI = American National Standards Institute) !52#12 2)2B#A#! A%0B#A#!#02I-!9%5H#-#13*1H@-*4'A-%!2!2" @#2012#I-!9%DIH2" @ H MySQL, MsSQL, PostgreSQL, Oracle +#7- MS Access @GI 1'-"H23*1H@-*4'A-% @ H @4H!I-!9% (Insert) @#5"I-!9% (Select) %I-!9% (Delete) #1#8I-!9% (Update) @GI !2"@-*4'A-% (MySQL) 7- B#A#!#012#2I-!9% 5H12B"#4)1!2"@-*4'A-%@-5 (MySQL AB) !5+I25H@GI-!9%-"H2@G#0 #-#13*1H@-*4'A-% (SQL = Structured Query Language) @G@#7H-!7-*3+#1@GI-!9% 5HI-C I#H'!1@#7H-!7-+#7-B#A#!-7H-"H29#22# @7H-C+IDI#025H#-#1'2!I-2#-9IC I @ H32#H'!1@#7H-#42#@'G (Web Server) @7H-C+I#42#AH 2)2*#4L5H321H@#7H-#42# (Server-Side Script) @ H 2)25@- 5 2)2@-@-*5-@G +#7- 2)2@@-*5 @GI +#7-32#H'!1B#A#!#0"8L (Application Program) @ H 2)2'4 '%@*4-@G 2)22'2 +#7- 2)2 5 2#L @GI B#A#!9--AC+I*2!2#32DI#04142#5H+%2+%2" A%0@G#02I-!9%B-@ -#L5H93DC I2!25H*8 !2"@-*4'A-% (MySQL) @G#02I-!9%AB-@ -#L (Open Source Database) *3+#112##02I2@* (Database System) H2@-*4'A-% (SQL) B#A#!5I912B" #4)1 MySQL AB C#0@(*'5@ !51IAC I#5 A%0@ 48#4 + http://www.thaiall.com/vbnet/upd_mysql_connect.htm + http://www.thaiall.com/vbnet/mysql_odbc.htm 2#@ 7H-!H-H2 MyODBC 1'-"H2 10.1 2#@ 7H-!H-1 MyODBC Imports System.Data.Odbc Public Class Form1 Private Sub Form1_Load( ... Dim ConnString As String = "Dsn=modbc351mysql;Uid=admin;Pwd=p" Dim sql As String = "select user,password from user" '=============== Dim oConn As OdbcConnection = New Odbc.OdbcConnection(ConnString) ' Dim strthai as String = "SET NAMES 'tis620'" ' Dim cmdCat as New OdbcCommand(strthai,oConn) ' oConn.Open() ' cmdCat.ExecuteNonQuery() Dim CmdCat As OdbcCommand = New OdbcCommand(sql, oConn) oConn.Open() Dim ReaderCat As OdbcDataReader = CmdCat.ExecuteReader() Dim s As String = "" Do While ReaderCat.Read() s & = ">" & ReaderCat.GetString(0) & Chr(10) Loop MsgBox(s) ReaderCat.Close() oConn.Close() '=============== Dim myConnection As OdbcConnection = New OdbcConnection myConnection.ConnectionString = ConnString myConnection.Open() Dim da As New OdbcDataAdapter(sql, myConnection) Dim CmdB As New OdbcCommandBuilder(da) Dim ds As New DataSet : da.Fill(ds, "user") Dim dv As New DataView : dv.Table = ds.Tables("user") DataGridView1.DataSource = dv End Sub End Class 2#@ 7H-!H-H2 MyConnection 1'-"H2 10.2 2#A*I-!9%22#2C Msgbox Imports MySql.Data.MySqlClient Dim conn As New MySqlConnection conn.ConnectionString = "server=127.0.0.1;" _ & "user id=root;password=test;database=test" Dim cmd As New MySqlCommand cmd.Connection = conn cmd.CommandText = "select * from abc"  Dim CmdCat As OdbcCommand = New OdbcCommand(sql, Conn) conn.Open() Dim s As String = "" Dim r As MySqlDataReader = cmd.ExecuteReader() While r.Read() s & = r(0) & r(1) & Chr(10) End While MsgBox(s) conn.Close() 1'-"H2 10.3 2#%I-!9%2! textbox1 Imports MySql.Data.MySqlClient Dim conn As New MySqlConnection conn.ConnectionString = "server=127.0.0.1;" _ & "user id=root;password=test;database=test" conn.Open() Dim cmd As New MySqlCommand cmd.Connection = conn cmd.CommandText = "delete from abc where a1=" & textbox1.text cmd.ExecuteNonQuery() conn.Close() 1'-"H2 10.4 2#@4H!I-!9% 1 #0@5" 2H25H Imports MySql.Data.MySqlClient Dim conn As New MySqlConnection conn.ConnectionString = "server=127.0.0.1;" _ & "user id=root;password=test;database=test" conn.Open() Dim cmd As New MySqlCommand cmd.Connection = conn cmd.CommandText = "insert into abc values(101,'" & textbox1.text & "')" cmd.ExecuteNonQuery() conn.Close() 1'-"H2 10.5 2##1#8I-!9% 1 #0@5" Imports MySql.Data.MySqlClient Dim conn As New MySqlConnection conn.ConnectionString = "server=127.0.0.1;" _ & "user id=root;password=test;database=test" conn.Open() Dim cmd As New MySqlCommand cmd.Connection = conn cmd.CommandText = "update abc set a2='man' where a1=101" cmd.ExecuteNonQuery() conn.Close() 1'-"H2 10.6 2#@4H!I-!9% 1 #0@5" 2 Textbox Imports MySql.Data.MySqlClient Dim conn As New MySqlConnection conn.ConnectionString = "server=127.0.0.1;" _ & "user id=root;password=test;database=test" Dim cmd As New MySqlCommand cmd.Connection = conn Dim s = "insert into abc values(" s = s & textbox1.text & ",'" & textbox2.text & "')"  msgbox (s) cmd.CommandText = s conn.Open() cmd.ExecuteNonQuery() conn.Close() *#8@7I-+2I2" - B#A#!5H*1*82#C I MySQL C Dotnet VS 2005 http://www.yonok.ac.th/pmy/mysql-connector-net-5.1.3.zip http://www.yonok.ac.th/pmy/mysql-connector-odbc-3.51.21-win32.zip - ' MySQL A%0*#I2I-!9%@7H-C I*- 1 2#2 2 @I-!9% A%02 #0@5" http://www.thaiall.com/mysql MySQL 5.2, MySQL Command Line Client Password : test show databases; use test; create table abc(a1 int, a2 varchar(20)); insert into abc (a1,a2) values (101,'burin'); insert into abc (a1,a2) values (102,'yonok'); select * from abc; exit; - '2#C I EMS SQL Manager 2005 for MySQL - +I2 Getting Started !51'@%7- @ H Execute SQL Script +#7- Execute Query - Execute Query 0C I SQL @ H Select DI15 - Execute SQL Script C*H3*1HDI AHD!HA*%C+I@+G - *#I2 ODBC H2 MySQL ODBC 3.51 - C:\WINDOWS\system32\odbcad32.exe - Add in User DSN, MySQL ODBC 3.51 Driver - B"C I U: root P: test Server: 127.0.0.1 DB: test A%0 Name: abc - @!7H-*#I2 DataGridView A%0"2"2!C I ODBC C Windows Application - Choose Data Source, Add Project Data Source, DataBase - New Connection, Microsoft ODBC Data Source @%7- abc @#201ID'IA%I' - @!7H- Finish +%1@%7-2#2-21 +2 <`test`..`abc`> Could not retrieve schema information for table or view `test`..`abc`. - I2@4-#L!0I-4%2'H2C-#L! Form_Load() Me.AbcTableAdapter.Fill(Me.DataSet1.abc) !5I-'2!'H2 ERROR [23000] [MySQL][ODBC 3.51 Driver][mysqld-5.2.3-falcon-alpha-community-nt]You have an error in your SQL syntax; - '45AID7- @4 Dataset1.xsd A%I' Right Click  Fill, GetData() - @I2*H'- View Designer @%7- Configure 0 SELECT * FROM `test`..`abc` C+I@%5H"@G SELECT * FROM `test`.`abc` - @!7H-@4-#L!0D!H-0D#C DataGridView - I- Save WindowsApplication H- +#7- 4 Application A%I'@4C+!H G0C IDI - 1'-"H2 Script 5HC IC Form_Load @7H-@#5"I-!9%H2 ODBC http://www.thaiall.com/vbnet/mysql_odbc.htm Imports System.Data.Odbc Private Sub Form1_Load(.. Dim ConnString As String = "Dsn=abc;Uid=root;Pwd=test" Dim sql As String = "select * from abc" Dim Conn As OdbcConnection=New odbc.OdbcConnection(ConnString) ' Dim strthai as String = "SET NAMES 'tis620'" ' Dim cmdCat as New OdbcCommand(strthai,Conn) ' Conn.Open() ' cmdCat.ExecuteNonQuery() Dim CmdCat As OdbcCommand = New OdbcCommand(sql, Conn) Conn.Open() Dim ReaderCat As OdbcDataReader = CmdCat.ExecuteReader() Dim s As String = "" Do While ReaderCat.Read() s & = ">" & ReaderCat.GetString(0) s & = " " & ReaderCat.GetString(1) & Chr(10) Loop MsgBox(s) ReaderCat.Close() : Conn.Close() - @5H"'1 Imports MySql.Data.MySqlClient 0I-@4H! Tool C Toolbox H- http://www.thaiall.com/vbnet/data_conn.htm - 41I http://www.yonok.ac.th/pmy/mysql-connector-net-5.1.3.zip - Right Click  toolbox @%7- Choose Items & - @%7- Toolbox 2!I-2# @ H MySQLConnection (@4H!1'@5"'GH20@5"-) - I2 Imports MySql.Data.MySqlClient A%I'6I*5@5"' A*'H2D!HDI @4H! Tool C Toolbox - 1'-"H2 Script 5HC IC Form_Load @7H-@#5"I-!9%H2 MySQLConnection http://www.thaiall.com/vbnet/data_conn.htm Imports MySql.Data.MySqlClient Dim conn As New MySqlConnection conn.ConnectionString = "server=127.0.0.1;" _ & "user id=root;password=test;database=test" Dim cmd As New MySqlCommand cmd.Connection = conn cmd.CommandText = "select * from abc"  Dim CmdCat As OdbcCommand = New OdbcCommand(sql, Conn) conn.Open() Dim s As String = "" Dim r As MySqlDataReader = cmd.ExecuteReader() While r.Read() s & = r(0) & r(1) & Chr(10) End While MsgBox(s) conn.Close() - 3@I2 DataGridView H2 MySQL C ODBC A6+1I2" - @5"##"2"*#8@7I-+2C@#5"5I!2-"H2I-" 2 +I2 5H 11 AI!I-'2! (Text File) 3 AI!I-'2! +#7-AI!1'-1)# (Text File) 7-AI!5H@GI-!9%AD#I#9A *2!2#@4I'" Text Editor 6D!H3@GI-'2AI!D'I#02I-!9% AH181!52#--AC+IAI!I-'2!!5#9A @7H-C+I-H2DIH2" A%09@#5"C I 2)2B#A#!-"H2@G#0 6!52#3+!2#2-AI!I-'2!H2!2#2 XML DI!2#22C+!H @ H RSS +#7- Sitemap +#7- CSV @GI 11.1 D%L*#5!%2* (FileSteam Class) D%L*#5!%2* (FileSteam Class) 7-%2*5H!5@!-#42#I22#12#1AI!D#I#9A (Nonformat File) 6*2!2#-H2AI!DI1IA Text File +#7- Multimedia File !2#0!'%%DI +#7-032#-H2@5"AI!I-'2!A5%01'-1)#GDI 6HAI!AI-'2!5H!5#9A-"H2@G#01I!5-"9H+%2"#9A5HDI#12#"-!#1 @ H CSV, XML, RSS, SITEMAP @GI http://www.thaiall.com/xml http://www.thaiall.com/rss http://www.thaiall.com/rss.xml http://www.thaiall.com/sitemap.xml http://www.thaiall.com/ http://www.thaiall.com/vbnet/data_conn.htm 1'-"H2 11.1 -H2AI!1'-1)#!2A*%2!+%11'-1)# a Imports system.io Dim fn As FileStream Try fn = New FileStream("c:\windows\win.ini", FileMode.Open) Dim data As Integer Dim c() As Char = " " c & = Chr(Asc("a")) Do data = fn.ReadByte() If (data <> -1) Then c & = Chr(data) Loop While (data <> -1) MessageBox.Show(c) fn.Close() Catch ex As Exception MsgBox("can not open") End Try 1'-"H2 11.2 2#3AI! 2C@'G@!2*#I2@GAI! 2C@#7H--!4'@-#L Imports System.io Imports System.Net Dim fw As FileStream fw = New FileStream("c:\x.jpg", FileMode.Create, FileAccess.Write) Dim req As WebRequest req = WebRequest.Create("http://www.thaiall.com/me/picme.jpg") Dim resp As WebResponse = req.GetResponse() Dim webstream As Stream = resp.GetResponseStream() Dim data(1000) As Byte Dim dataLen As Integer Do dataLen = webstream.Read(data, 0, 1000) If dataLen = 0 Then Exit Do fw.Write(data, 0, dataLen) Loop resp.Close() fw.Close() Shell("explorer.exe c:\x.jpg", AppWinStyle.NormalFocus) ' WebBrowser1.Url = New Uri("c:\x.jpg") ' http://www.thaiall.com/actress/supermodel.php 1'-"H2 11.3 -H2 source code - sanook.com +I2A# Imports System.io Imports System.Net Dim fw As FileStream fw = New FileStream("c:\x.htm", FileMode.Create, FileAccess.Write) Dim req As WebRequest req = WebRequest.Create("http://www.sanook.com/index.php") Dim resp As WebResponse = req.GetResponse() Dim webstream As Stream = resp.GetResponseStream() Dim data(1000) As Byte Dim dataLen As Integer Do dataLen = webstream.Read(data, 0, 1000) If dataLen = 0 Then Exit Do fw.Write(data, 0, dataLen) Loop resp.Close() fw.Close() Shell("wordpad.exe c:\x.htm", AppWinStyle.NormalFocus) ' WebBrowser1.Url = New Uri("c:\x.jpg") ' http://www.thaiall.com/actress/supermodel.php 1'-"H2 11.4 -H2 source code @5"% textbox Dim req As WebRequest req = WebRequest.Create("http://www.yonok.ac.th/main/intro7.htm") Dim resp As WebResponse = req.GetResponse() Dim webstream As Stream = resp.GetResponseStream() Dim data(1000) As Byte Dim dataLen As Integer Do dataLen = webstream.Read(data, 0, 1000) If dataLen = 0 Then Exit Do For i As Integer = 0 To UBound(data) TextBox1.Text &= Chr(data(i)) Next Loop resp.Close() Dim a() As String a = Split(TextBox1.Text, vbCrLf) MsgBox(a(0)) 1'-"H2 11.5 2#3 22@'G@!2*#I2@GAI!2!%31 I-*#I2 textbox1 A%0 textbox2 A%0 textbox3 A%0 button1 A%0 progressbar1 B#A#!5I!5 form1_load A%0 loadimage A%0 Button1_Click C+I textbox1 *3+#13+ 7H- homepage 5H09-H2@I2!2CB#A#! C+I textbox2 @GA Multiline @7H-A* 7H-AI! 25H-H2DI2 homepage C+I textbox3 A*%2#13'AI! 2 Imports system.io Imports System.Net Public Class Form1 Dim fw As FileStream Dim req As WebRequest Dim resp As WebResponse Dim webstream As Stream Dim data(1000) As Byte Dim dataLen, i As Integer Dim web As String Private Sub Form1_Load (.. web = "http://www.thaiall.com/actress/joom.htm" TextBox1.Text = web 'Dim l As String = Mid(TextBox1.Text, Len(TextBox1.Text) - 2, 3) 'MsgBox(l) 'loadimage(TextBox1.Text, l)End Sub 'WebBrowser1.Navigate(New Uri("c:\getimg0001.jpg")) End sub Sub loadimage(ByVal f As String, ByVal last3 As String) Try req = WebRequest.Create(f) resp = req.GetResponse() webstream = resp.GetResponseStream() Catch ex As Exception Exit Sub End Try i = i + 1 Dim fileok As Byte = 0 Dim fname As String = "c://getimg" & Format(i, "0000") & "." & last3 fw = New FileStream(fname, FileMode.Create, FileAccess.Write) Do dataLen = webstream.Read(data, 0, 1000) If dataLen = 0 Then Exit Do fw.Write(data, 0, dataLen) fileok = 1 Loop resp.Close() fw.Close() If (fileok = 0) Then My.Computer.FileSystem.DeleteFile(fname) End Sub Private Sub Button1_Click (.. Dim tmp As String = "c://tmp.txt" TextBox3.Text = 0 If My.Computer.FileSystem.FileExists(tmp) Then My.Computer.FileSystem.DeleteFile(tmp) End If My.Computer.Network.DownloadFile(TextBox1.Text, tmp) Dim a() As String=Split(My.Computer.FileSystem.ReadAllText(tmp),Chr(10)) Dim b() As String Dim last3 As String Dim t As New Hashtable()  not duplicate For Each c As String In a  Read Line c = Replace(c, Chr(34), "") ' 34 = double quotation Dim d() As String = Split(c, "<") For Each f As String In d  Read in HTML tag b = Split(f, "src=") If (b.Length > 1) Then b = Split(b(1), ">") If (b.Length > 1) Then b = Split(b(0), " ") last3 = b(0).Substring(b(0).Length - 3, 3) If (b(0).Substring(0, 4)="http" And(last3="jpg" Or last3="gif"))Then Try t.Add(b(0), "") TextBox3.Text = TextBox3.Text + 1 Catch ex As Exception End Try End If End If Next Next If (TextBox3.Text = 0) Then TextBox2.Text = My.Computer.FileSystem.ReadAllText(tmp) Exit Sub End If For Each tx As Object In t TextBox2.Text & = tx.key & Chr(13) & Chr(10) Next b = Split(TextBox2.Text, Chr(13) & Chr(10)) i = 0 Dim gap As Double = (100 / TextBox3.Text) ProgressBar1.Value = 1 For Each c As String In b last3 = "" If (c.Length > 0) Then last3 = c.Substring(c.Length - 3, 3) If (last3 = "jpg" Or last3 = "gif") Then loadimage(c, last3) If (ProgressBar1.Value + gap < 100)Then ProgressBar1.Value += gap End If Next End Sub End Class 11.2 @-G@-G!A-% (eXtensible Markup Language)) XML 7- 2)2*3+#1-42"I-!9% A%0@GI-!9%-0D# XML 7- 2)25HC I-42"#9AI-!9%5H!5B#*#I25H@-7I-H-2#A%@%5H"I-!9%C@#7-H2"-4@-#L@G @G!2#25H93+B" W3C +#7- XML 2#-H2I-!9%2 XML *2!2#3DI+%2"'45 1. XmlTextReader *2!2#-H25%0 element +#7- attribute DI B"@#4H!1IAH##1A# 2. XmlDocument 3C+I-H2I'" XmlNodeList @I2-2#L@#"LA#082#2DI 3. ReadXML -H2@I2 Dataset 0@#5"C I2 Dataset +#7-*HDA*C Datagridview DIH2" 1'-"H2AI!@-G@-G!A-%C!2#2H2 F http://www.thaiall.com/sitemap.xml http://www.thaiall.com/rss.xml http://thaiall.com/xml/family.xml 1'-"H2 11.6 1'-"H2AI!I-!9% XML -9IC I !5 7H-@ H family.xml - AI!5I!5I-!9% 3 #017- Family, Name A%01'I-!9% <?xml version="1.0" encoding="UTF-8"?> <family> <name gender="M"> <firstname>tom</firstname> <lastname>boy</lastname> <province>lampang</province> </name> <name gender="F"> <firstname>jack</firstname> <lastname>nid</lastname> <province>lampang</province> </name> </family> 1'-"H2 11.7 1'-"H2AI!2!#9A RSS !5 7H-@ H rss.xml <?xml version="1.0" encoding="windows-874" ?> <rss version="2.0"> <channel> <title>RSS by Thaiall.com</title> <link>http://www.thaiall.com</link> <description>Thaiall.com Updating Report</description> <language>th-TH</language> <copyright>Copyright 2008 thaiall.com</copyright> <lastBuildDate>Sun,1 Feb 2009</lastBuildDate> <item><title>'41"@7H-I-4H</title> <description>'41"@7H-I-4H7-2#1I32!B" 8!  A%03-</description> <link>http://www.thaiall.com/research/indexo.html</link> <pubDate>2009-02-01 </pubDate></item> <item><title>2#@5"B#A#!@7I-I (Introduction to Programming)</title> <description>2#@5"B#A#!@7I-I (Introduction to Programming)</description> <link>http://www.thaiall.com/article/teachpro.htm</link> <pubDate>2009-01-28 </pubDate></item> <item><title>#4"2 3 H- +#7-#4"2-4 (Irregular Verbs)</title> <description>#4"2 3 H- +#7-#4"2-4 (Irregular Verbs)</description> <link>http://www.thaiall.com/quiz/irregular.htm</link> <pubDate>2009-01-27 </pubDate></item> </channel> </rss> 1'-"H2 11.8 1'-"H2AI!2!#9A Sitemap !5 7H-@ H sitemap.xml <?xml version="1.0" encoding="windows-874" ?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <url><loc>http://www.thaiall.com/research/indexo.html</loc> <lastmod>2009-02-01 </lastmod> <changefreq>monthly</changefreq><priority>0.9</priority> </url> <url><loc>http://www.thaiall.com/article/teachpro.htm</loc> <lastmod>2009-01-28 </lastmod> <changefreq>monthly</changefreq><priority>0.7</priority> </url> <url><loc>http://www.thaiall.com/quiz/irregular.htm</loc> <lastmod>2009-01-27 </lastmod> <changefreq>monthly</changefreq><priority>0.7</priority> </url> </urlset> 1'-"H2 11.9 -H2I-!9%2 XML A XmlTextReader - '45-H2I-!9%C I@!- Read( ) A%0C I GetAttribute( ) *3+#1@I26@I-!9% - 1'-"H2AI!5I2'LB+%DI2  HYPERLINK "http://thaiall.com/xml/family.xml" http://thaiall.com/xml/family.xml <?xml version="1.0" encoding="UTF-8"?> <family> <name gender="M"> <firstname>tom</firstname><lastname>boy</lastname> </name> </family> Imports System.Xml Dim tr As New XmlTextReader("C:\family.xml") ' XmlTextReader("http://thaiall.com/xml/family.xml") ok tr.WhitespaceHandling = WhitespaceHandling.None tr.Read() : MsgBox(tr.GetAttribute("version")) tr.Read() ' family Level While Not tr.EOF ' looping of name tr.Read() ' name Level If Not tr.IsStartElement() Then Exit While Dim g = tr.GetAttribute("gender")  in name level tr.Read() ' get all fields Dim fn = tr.ReadElementString("firstname")  tom Dim ln = tr.ReadElementString("lastname")  smith MsgBox("Gender:" & g & " Name:" & fn & " LastName:" & ln) End While tr.Close() 1'-"H2 11.10 -H2I-!9%2 XML A XmlDocument A%0 .selectnodes() C#01 /family Imports System.Xml Try Dim d As XmlDocument = New XmlDocument() d.Load("C:\family.xml") Dim nodelist As XmlNodeList = d.SelectNodes("/family") ' count on family Dim s As String = "" For Each node As XmlNode In nodelist s += node.ChildNodes.Item(0).InnerText + " " ' Tomsmith s += node.ChildNodes.Item(1).InnerText + " " ' Dalesmith s += node.ChildNodes.Item(2).InnerText + " " ' BurinRujjanapan MsgBox(s) ' 3 records Next Catch errorVariable As Exception MsgBox(errorVariable.ToString()) End Try 1'-"H2 11.11 -H2I-!9%2 XML A XmlDocument A%0 .selectnodes()C#01 /family/name Imports System.Xml Try Dim d As XmlDocument = New XmlDocument() d.Load("C:\family.xml") ' d.Load("http://thaiall.com/xml/family.xml") ok Dim nodelist As XmlNodeList = d.SelectNodes("/family/name") For Each node As XmlNode In nodelist Dim g = node.Attributes.GetNamedItem("gender").Value Dim fn = node.ChildNodes.Item(0).InnerText  tom Dim ln = node.ChildNodes.Item(1).InnerText  smith MsgBox("Sex:" & g & " Name:" & fn & " LastName:" & ln) Next Catch errorVariable As Exception msgbox(errorVariable.ToString()) End Try 1'-"H2 11.12 -H2I-!9%2 XML A ReadXml A%0 item http://www.codeguru.com/vb/gen/vb_database/adonet/article.php/c5153/ Dim DS As New DataSet() DS.ReadXml("C:\family.xml")  DS.ReadXml("http://thaiall.com/xml/family.xml") Dim I As Integer For I = 0 To DS.Tables(0).Rows.Count - 1 DS.Tables(0).Rows(I).Item("gender") = _ UCase(DS.Tables(0).Rows(I).Item("gender")) Next For I = 0 To DS.Tables(0).Rows.Count - 1 MsgBox(DS.Tables(0).Rows(I).Item("gender")) Next DS.WriteXml("C:\family.xml")  update to ucase DataGridView1.DataSource = DS.Tables(0) +#7-  I2CB#A#!!52#*#I2 Dataset1 C design time DataSet1.ReadXml("C:\x.xml") DataGridView1.DataSource = DataSet1.Tables(0) 1'-"H2 11.13 -H2I'" ReadXML *H@I2 Dataset A%I'' loop 3 #01 Imports Microsoft.VisualBasic.ControlChars  crlf Dim DS As New DataSet() DS.ReadXml("http://truehits.net/xml/education.xml") Dim I, j, k As Integer Dim s As String = "" For I = 0 To DS.Tables.Count - 1 For j = 0 To DS.Tables(I).Rows.Count - 1 For k = 0 To DS.Tables(I).Columns.Count - 1 s & = DS.Tables(I).Rows(j).Item(k) & " " Next s & = crlf Next Next MsgBox(s)  Msgbox(DS.Tables(1).Rows(1).Item("url"))  second website is www.vcharkarn.com A6+1I2" - @5"##"2"*#8@7I-+2C@#5"5I!2-"H2I-" 2 +I2 5H 12 #4*-%#5-#L (Crystal Report) 3 #4*-%#5-#L (Crystal Report) 7- B#A#!1@#5"!I-!9%@7H-A*#2"2 +#7-@#5"!I-!9%*3+#1*H--2@#7H-4!L-"H2!5#0*44 2 !2#I-!1'4 '%*94B--@G 12B"#4)1A  (SAP Company) C"8-'4 '%@*4G4"!C I#4*-%#5-#LC2#--#2"2@ H1 AH9IC II-41I@4H!@!7H-41I'4 '%@*4%DA%I' @I-!9%5HC IC Crystal Report !5 7 %1)0 (C Field Explorer) 1. Database Fields 2#@%7- Database Fields 3C+I@ 7H-!B"1AI!I-!9% A%0@I-!9%5H03!2C IC2#2 +2@%7-2#2!2'H2 1 2#2 *2!2#AID*H'- Links DIA Query C Microsoft Access B"D!HI-@5" SQL Command @!7H-*#I2@*#GA%I'*2!2#9 Show SQL Query DI AH Field 5H SQL 0C IDII-93DC IC Design View 60A*C Show SQL Query @H21I I2I-2#@5" SQL @- C+I Add Command A%0 Copy SQL 5H*#I26ID'2 A%0@4H! Parameter @7H-@%7-I-!9%I'"3*1H where C SQL 2. Formula Fields 2#@4H! Formula Fields 3C+IDI1'A#5H#0!'%%2!@7H-D @ H {Order_Details.UnitPrice} * {Order_Details.Quantity} 2#A*%C Design View @ H {@a1} 2#-I26 Parameter !2C I @ H {?a2} 3. Parameter Fields 2#@4H! Parameter Fields *2!2#@4H!B"# +#7-@4H!H2 Database Fields @#202#3DC IC SQL Command 0@+G%DI 1!2 @!7H-I-2#3#2"25H@%7-I-!9%H2 Parameter 5H-2#1!2H2-#L! 2"- *2!2##1#1I%0H2 +#7-+%2"H2#I-!1 2#A*%C Design View @ H {?abc} 2#C IC SQL Editor @ H select * from tbthai where fid = {?abc} select * from customers where customerid = '{?a}' 4. Group Name Fields 2#@4H! Group Name Fields 03C+IDI Group Header Section1 A%0 Group Footer Section1 5. Running Total Fields 2#@4H! Running Total Fields 03C+IDI1'A# 5HC I1L 1DI+%2"+%2" @ H sum, average, count, maximum @GI !58*!14@5H"'1 Evaluate A%0 Reset +2I-2#+2%#'!AH%0%8H! (sum on group) 0I-3+C+I Evaluate = For each record A%0 Reset = on change of group 6. Special Fields Special Fields 7- @I-!9%4@()@ H PrintDate PrintTime 5H3!2C IC#2"2DI15 7. Unbound Fields Unbound Fields 7- @I-!9%5HD!H@ 7H-!B"1AI! @!7H-*#I26I!20D-"9HC Formula Fields @ H WhileReadingRecords; split ({?t1},",")[1] +#7- WhileReadingRecords; split ({?t1},",")[1] & chr(48) & "a" & "a" A03@'GD L + http://www.thaiall.com/vbnet/crystal_start.htm + http://www.thaiall.com/vbnet/crystal_form.htm + http://www.thaiall.com/vbnet/pass2cryst.htm + http://www.thaiall.com/vbnet/crystal_pass_2var.htm #4*-%#5-#LC'4B'LA-%4@ 1 (Crystal Report in Windows Application) 1I-2#*#I2#4*-%#5-#L 1. Add, New Item, Crystal Report, Using the Report Wizard 2. Create New Connection, Database Files @%7- dthai97.mdb A%0 Open *2!2# Download AI!5I!2*-DI2 http://www.thaiabc.com/asp/dthai97.mdb 3. Click 3'H2 Add Command 2!I'"8H! > 4. 4!L3*1H SQL 'H2 select * from tbthai where fid = {?t1} 5. Click 8H! Create C Parameter List A%I'3+ Parameter Name 'H2 t1 A%I'8H! Ok 6. 3+ Discrete Value @G 2 +#7--0D#GDI @7H-@GH2@#4H!I A%I'8H! Ok 7. Click 8H! Finish 8. I-%2 Field C Database Fields 2@!9I2 I2" (Field Explorer) D'2C Section3 (Details) C+IC I1'@%7- Database Fields, Command 6H!5 fid, fname, fsalary 6HDI22#2 tbthai 9. *-C Main Report Preview I2@#5"#I-"A%I' C+I Save A%I'%1D5H Form 10. @4 form1 @4H!'18 7H- CrystalReportViewer 1 11. @4H!8H! @7H-C I@4#2"2 A%0C*H3*1HI2%H25I 7H-- Crystal Report C I2 File Name I-!5 Imports Crystaldecisions.shared @7H-@#5"C I 3 @!- 7- 1) ParameterFields() 2) ParameterField() A%0 3) ParameterDiscreteValue() Dim paramFields As New ParameterFields() Dim paramField As New ParameterField() Dim discreteVal As New ParameterDiscreteValue() paramField.ParameterFieldName = "t1" discreteVal.Value = 3 paramField.CurrentValues.Add(discreteVal) paramFields.Add(paramField) CrystalReportViewer1.ParameterFieldInfo = paramFields Dim rpt as string = "C:\WinApp1\CrystalReport1.rpt" CrystalReportViewer1.ReportSource = rpt CrystalReportViewer1.Refresh() #4*-%#5-#LA-%4@ 1 (Crystal Report Application) 2#*#I2#4*-%#5-#LA-%4@ 1B"#2'4 '%*94B- (Visual Studio) B"@%7-AB#@ (Project Type) @G'4 '%@*4 (Visual Basic) *4H5H 2"CI Solution Explorer 0!5 3 *4H7- My Project , CrystalReport1.rpt A%0 Form1.vb H2#4"2"- CrystalReport1.rpt 0AH@G 5 Section 7- Report Header, Page Header, Details , Report Footer A%0 Page Footer @G Section5 H2#4"2"- Form1.vb 5H*#I26I2#4*-%#5-#LA-%4@ 1 0!5-B% 7H- CrystalReportViewer 41ID'IA%I' 6H Properties 7H- ReportSource !5H2@G CrystalReport11 [CrystalReportsApplication1.CrystalReport1] 2#*#I2-#L!C+!HC+I@+!7-1 Form1.vb AH!5 7H-'H2 Form2.vb *2!2#3DI 3 '45 Add Windows Form , Add CrystalReportViewer 3+ ReportSource Properties B"@%7-AI!*8% rpt 5H*#I2D'I2 2"- Add Windows Form , Add CrystalReportViewer ReportSource Properties = AI! CrystalReport 5H*#I26IC Application Add Windows Form , Add ReportDocument A%0@%7-AI! CrystalReport Add CrystalReportViewer, ReportSource Properties @G ReportDocument 5H*#I26I 2#@#5"C I#4*-%#5-#LA-%4@ 1 (Crystal Report Application Calling) +2*#I28H!3*1HC Windows Form @ H form1 A%0I-2#@4 Crystal Report 5H*#I2D'I *2!2#3B"*#I2-#L!C+!H @ H form2 A%0@4H! CrystalReportViewer C-#L!5I A%I'C*H3*1HC8H!5H-"9HC form1 @7H-@4#2"2C form2 @ H  Command for Button in Form1 Dim rpt As String rpt = "C:\project1\C1.rpt" Form2.CrystalReportViewer1.ReportSource = rpt Form2.Show() 2#*H 7H-#2"2-23DIB"*HH2 ReportDocument Control H-*H@I2 CrystalReportViewer Control @#20C ReportDocument !58*!14C+I@%7-C I +#7--#L!+6H-2!5 ReportDocument DI+%2"-B%DI 6I-"9H12#12# A%0@%7-C I2 *3+#1 CrystalReport 5H3+ Parameter 6I +2D!H*HH2C+I1 Parameter 0!5-#L! Pop-up 6I!2#-#1H2-1B!14 (Enter Parameter Values) H-A*#2"2 A%02#8H! Refresh C#2"2 0!5*1H@4-#L! Pop-up 6I!22! Parameter C+!H8#1I 1'A#C#4*-%#5-#L (Variable in Crystal Report Application) @!7H-@4#4*-%#5-#L5H'H2@%H26I!2 *2!2#*#I2 Parameter B"@%7- Right Click  Parameter Fields , New C Fields Explorer #- 7H-'H2 xxx C+I Value type = String A%0 Options = Discrete value +2I-2#@+G%G%2 Parameter 5H*#I26IDD'IC Report Design 1'-"H2 12.1 2#*HH22-#L! (Form1) C+I1'A#C#4*-%#5-#L 1 1'A# Dim paramFields As New CrystalDecisions.Shared.ParameterFields() Dim paramField As New CrystalDecisions.Shared.ParameterField() Dim discreteVal As New CrystalDecisions.Shared.ParameterDiscreteValue() paramField.ParameterFieldName = "xxx" Dim p As String = "abc" discreteVal.Value = p paramField.CurrentValues.Add(discreteVal) paramFields.Add(paramField) Form2.CrystalReportViewer1.ParameterFieldInfo = paramFields Form2.CrystalReportViewer1.ReportSource = "C:\test\report1.rpt" Form2.Show() 1'-"H2 12.2 2#*HH22-#L!C+I1'A#C#4*-%#5-#L 2 1'A# Imports Crystaldecisions.shared Dim paramFields As New ParameterFields() Dim paramField As New ParameterField() Dim discreteVal As New ParameterDiscreteValue() ' paramField.ParameterFieldName = "t1" discreteVal.Value = Val(TextBox2.Text) paramField.CurrentValues.Add(discreteVal) paramFields.Add(paramField) ' discreteVal = New ParameterDiscreteValue() paramField = New ParameterField()  paramField.ParameterFieldName = "t2" discreteVal.Value = Val(TextBox1.Text) paramField.CurrentValues.Add(discreteVal) paramFields.Add(paramField)  CrystalReportViewer1.ParameterFieldInfo = paramFields Dim rpt As String = "C:\WindowsApplication1\CrystalReport1.rpt" CrystalReportViewer1.ReportSource = rpt 1'-"H2 12.3 2#D!H3+ Full Path C+I1 Reportsource - CrystalReportViewer Imports Crystaldecisions.shared Dim info As New System.IO.DirectoryInfo("..\..\") With CrystalReportViewer1 .ReportSource = info.FullName & "CrystalReport1.rpt" .Refresh() End With 1'-"H2 12.4 3*1H@-*4'A-%5HH2*C 1. select * from [order details] 2. select * from [orders] where orderdate = #11/16/1994# 3. select * from orders where customerid like "*A*" 4. select * from orders where employeeid > {?t1} 5. select * from orders where orderdate = {?t1} ' CDate(TextBox1.Text) 6. select orders.*,[order details].* from ( [order details] inner join orders on [order details].orderid = orders.orderid ) where [order details].productid={?t1} and orders.employeeid = {?t2} 7. select * from customers, orders where customers.customerid = orders.customerid 8. select * from tbthai where fname like  2"* and fsalary > 10000 - I-!9%-5H@G 2 @4@7-!2'H2 10000 *#8@7I-+2I2" - 2#3C+I Crystal Report C-#L!!52@G!- 2 3DI 2 '45 1. 3C+I-#L!!52'I2@G!-I'"2#C*H3*1H5IC Form_Load( ) Me.WindowState = FormWindowState.Maximized 2. 3C+I CrystalReportViewer1 !52'I2@G!-#L!B"C*H3*1H5IC Form1_Resize() CrystalReportViewer1.Width = Me.Width - 3*1HC8H!@7H-*1H@4#2"2 Imports Crystaldecisions.shared Dim rpt As String rpt = "C:\CrystalReport1.rpt" CrystalReportViewer1.ReportSource = rpt CrystalReportViewer1.Refresh() - 2#@4#2"2C CrystalReportViewer1 Imports Crystaldecisions.shared Dim info As New System.IO.DirectoryInfo("..\..\") With CrystalReportViewer1 .ReportSource = info.FullName & "CrystalReport1.rpt" .Refresh() End With - @!7H-3+@%7- CrystalReport H2 Choose a Crystal Report DA%I' AHI-2#"@%4G*2!2#3DI Clear Report Source - 2#*HH2C+I1 CrystalReport !2'H2 1 H2 6HH25HDI!21I-2DI!22 Textbox +#7- Listbox GDI Imports Crystaldecisions.shared Dim paramFields As New ParameterFields() Dim paramField As New ParameterField() Dim discreteVal As New ParameterDiscreteValue() paramField.ParameterFieldName = "t1" discreteVal.Value = Val(TextBox2.Text) paramField.CurrentValues.Add(discreteVal) paramFields.Add(paramField) discreteVal = New ParameterDiscreteValue() paramField = New ParameterField() paramField.ParameterFieldName = "t2" discreteVal.Value = Val(TextBox1.Text) paramField.CurrentValues.Add(discreteVal) paramFields.Add(paramField) CrystalReportViewer1.ParameterFieldInfo = paramFields Dim rpt As String = "C:\Wapp1\CrystalReport1.rpt" CrystalReportViewer1.ReportSource = rpt A6+1I2" - @5"##"2"*#8@7I-+2C@#5"5I!2-"H2I-" 2 +I2 - *#I2#2"2I'" Crystal Report 5H3@I2 2H2"2 2"- A%I'@4H28H!C-#L! 1 - *#I2 10 #2"2 7- C Northwind.mdb 8 #2"2 A%0@ 7H-!2#2-5 2 #2"2 C-#L!A!H select * from customers, orders where customers.customerid = orders.customerid - *#I2#2"2A Blank Report B"@%7-2#2 Categories 2 Northwind.mdb - *#I2#2"2A Blank Report B"@%7-2#2 Customers A@%7-2!#+1*%9I2 select * from customer where customerid =  {?abc} @ H BOLID, AROUT, DUMON - *#I2#2"2AA"%8H!2!@%5HC*1H 7I-5H!5#2"%0@-5"*4I2 {Order_Details.UnitPrice} * {Order_Details.Quantity} 5H 13 @-@-*5-@G (ASP.NET) 3 @-@-*5 (ASP = Active Server page) A%0 @-@-*5-@G (ASP.NET = Active Server page .NET) 7- 2)2B#A#!5H32@#7H-#42#@'GD-D-@-* (IIS = Internet Infomation Service) @G 2)2*#4L321H@#7H-#42# (Server-Side Script) 12B"#4)1D!B# -L B"!5#22 2)2!22 2)2@*4 *3+#1@-@-*5-@G0I-32-@G@#!@'4#L (Dotnet Framework) #8H- 2)2@-@-*5 ASP #8H 1 (1'2! .(.1997) @'G@ 4#L@'-#LD-D-@-* 3.0 (IIS 3.0) ASP #8H 2 (1"2" .(.1998) @'G@ 4#L@'-#LD-D-@-* 4.0 '4B'L NT ASP #8H 3 ($(42" .(. 2000) @'G@ 4#L@'-#LD-D-@-* 5.0 '4B'L 2000 ASP+ (%2" .(.2000) @G#8H%-C I 7H-'H2 ASP+ H-!2@%5H" 7H-@G ASP.NET ASP.NET #8H 1 (8! 21L .(.2002) @41'#I-! .NET Framework ASP.NET #8H 2 @41' 7 $(42" .(.2005 Code inline - A# server code @I2DC aspx page @%"#1 Code behind - A" server code --!2@G file H2+2A"2 aspx #1 @#4H!I@5"@'G@ default.aspx +#7- default.asp 1. @4 http://localhost:1057/WebSite1/Default.aspx C Internet Explorer 2. I2 Save D'I5H c:\website1 G0H2"C2#@I2D12# 3. 6@4#42# IIS I'" c:\windows\system32\inetsrv\iis.msc 4. +I-- Default web site 7- c:\inetpub\wwwroot 5. Right click  c:\website1 A%I'@%7- Sharing and Security A%I'@%7- Share This Folder 0 Virtual Directory C Default Web site - IIS *2!2#@4 http://localhost/website1/Default.aspx +#7-C I IP Address GDI 6. I2@4 website C Start Debugging 0C ID-5#4D!HDI C IDI@ 20 localhost 1 127.0.0.1 7. C I netstat  na #' port @!7H-@4 iis 0DI 0.0.0.0:80 AH Start Debugging 0DI 127.0.0.1:80 2#@4#42# IIS (Internet Information Services) 1. Start, Settings, Control panel, Administrative Tools, Internet Information Services 2. local computer, Default Web Site, Start 7-2#@4#42# Web Server 3. -H2@4H!@4!DI2 - http://www.thaiall.com/vbnet/webservice.htm - http://www.thaiall.com/vbnet/first_aspx.htm 1'-"H2 13.1 2#4!LH221L 1*8H!1'@% C x.asp http://localhost/x.asp +#7- http://127.0.0.1/x.asp <% randomize response.write( rnd() ) %> 1'-"H2 13.2 2#C I Label Object C x.aspx <body> <form id="form1" runat="server"> <asp:label ID="Label1" runat="server" BackColor="#FFFF80" Font-Size="60pt" Height="40px" Text="hello" Width="176px"> </asp:label> <asp:label ID="Label2" runat="server" Text="OHO" Width="176px" BackColor="#C0C0FF" Font-Size="60pt" Height="40px"> </asp:label> </form> </body> http://127.0.0.1:1072/x/ 2#@5"B#A#!I'" ASP 2#*HH22-#L!I'" Get 0#1H2I'" request.querystring( ) 2#*HH22-#L!I'" Post 0#1H2I'" request.form( ) <form action=x.asp method=get><input type=submit></form> 1'-"H2 13.3 2##1#8I-!9%C x.asp AI!I-!9%1'-"H2 http://www.thaiall.com/asp/hidden/dthai97.mdb 1. "@%4 Simple Sharing C Folder Option 2. -8 2- wwwroot C+I security - Internet Guest Account @GA full control  INCLUDEPICTURE "http://www.thaiall.com/asp/upd_dthai97.gif" \* MERGEFORMATINET  <meta http-equiv=content-type content="text/html; charset=windows-874"> <body><font size=0> <% if (len(request.querystring("act")) = 0) then %> <table width=100%> <td valign=top bgcolor=#dddddd> <b>*2#1 </b> <br>+ <a href="?act=i" target=oho>@4H!I-!9%</a> <br>+ <a href="?act=d" target=oho>%I-!9%</a> <br>+ <a href="?act=u" target=oho>AIDI-!9%</a> <br>+ <a href="?act=s" target=oho>A*I-!9%</a> <td valign=top> <iframe src="?act=s" name=oho width=600 height=400 border=0> </iframe> </table> <% end if ' ----------------- if (request.querystring("act") = "s") then set conn = server.createobject("adodb.connection") conn.open "provider=microsoft.jet.oledb.4.0; data source=" & server.mappath("dthai97.mdb") sql = "select * from tbthai" set rs = conn.execute(sql) do while not rs.eof response.write(rs("fid") & " ") response.write(rs("fname") & " ") response.write(rs("fsalary") & "<br>") rs.MoveNext loop conn.close set rs = nothing set conn = nothing end if ' ----------------- if (request.querystring("act") = "i") then if (request.querystring("step") = "2") then set conn = server.createobject("adodb.connection") conn.open "provider=microsoft.jet.oledb.4.0; data source=" & server.mappath("dthai97.mdb") sql = "insert into tbthai (fid,fname,fsalary) values(" sql = sql & request.querystring("fid") & ",'" sql = sql & request.querystring("fname") & "'," sql = sql & request.querystring("fsalary") & ")" response.write(sql) set rs = conn.execute(sql) conn.close response.write("<hr>ok") else %><form action="?" method=get> <input type=hidden name=act value=i><input type=hidden name=step value=2> <input name=fid> <input name=fname> <input name=fsalary> <input type=submit> </form><% end if end if ' ----------------- if (request.querystring("act") = "d") then if (request.querystring("step") = "2") then set conn = server.createobject("adodb.connection") conn.open "provider=microsoft.jet.oledb.4.0; data source=" & server.mappath("dthai97.mdb") sql = "delete from tbthai where fid=" sql = sql & request.querystring("fid") response.write(sql) set rs = conn.execute(sql) conn.close response.write("<hr>ok") else %><form action="?" method=get> <input type=hidden name=act value=d><input type=hidden name=step value=2> <input name=fid> <input type=submit> </form><% end if end if ' ----------------- if (request.querystring("act") = "u") then if (request.querystring("step") = "2") then set conn = server.createobject("adodb.connection") conn.open "provider=microsoft.jet.oledb.4.0; data source=" & server.mappath("dthai97.mdb") sql = "update tbthai set " sql = sql & "fname = '" & request.querystring("fname") & "', " sql = sql & "fsalary = " & request.querystring("fsalary") & " " sql = sql & "where fid=" & request.querystring("fid") response.write(sql) set rs = conn.execute(sql) conn.close response.write("<hr>ok") else %><form action="?" method=get> <input type=hidden name=act value=u><input type=hidden name=step value=2> <input name=fid> <input name=fname> <input name=fsalary> <input type=submit> </form><% end if end if %> 2#@5"B#A#!I'" ASP.NET 2#@ 7H-! IIS @I21 ASP.NET !58*!14- IIS -"9HC Tab 5H 7H-'H2 ASP.NET 6H*4H5H7- ASP.NET Version = 2.0.50727 +#7-2!#8H5HDI41I%D AHI2 H-5ID!H3+D'IG0C I ASP.NET D!HDI 1'-"H2 13.4 2#3H22 Textbox !2C IA*%-5#1I - B#A#!5II-!5*8%@G .aspx I2@G .asp 0D!H#9I1 <asp:TextBox .. - http://www.thaiall.com/vbnet/first_aspx.htm <body bgcolor=yellow> <form id="fm" runat="server"> <asp:TextBox ID="TextBox1" runat="server" Text="0"></asp:TextBox> </form> <% response.write(textbox1.text) %> </body> 1'-"H2 13.5 2#3H22 Textbox !2C I3' <body bgcolor=yellow> <form id="form1" runat="server"> <div> hello<br /> <% If CInt(TextBox1.Text) > 0 Then Dim i As Integer For i = 1 To CInt(TextBox1.Text) Response.Write(i & "<br>") Next End If %> <asp:TextBox ID="TextBox1" runat="server" Text="0"></asp:TextBox> </div></form> </body> 1'-"H2 13.6 2#C I2 Textbox H2@!-- TextBox <script runat="server"> Protected Sub TextBox1_TextChanged(.. Response.Write(TextBox1.Text) End Sub </script> <body> <form id="form1" runat="server"> <asp:TextBox ID="TextBox1" runat="server" Text="0" OnTextChanged="TextBox1_TextChanged"> </asp:TextBox> </form> </body> 1'-"H2 13.7 2#@%5H"H2C Textbox H2@!-- TextBox B"C I1L 1 rnd() <script runat="server"> Protected Sub TextBox1_TextChanged(.. TextBox1.Text = Rnd() End Sub </script> <body> <form id="form1" runat="server"> <asp:textbox ID="TextBox1" runat="server" Text=0 OnTextChanged="TextBox1_TextChanged"></asp:textbox> </form> </body> 1'-"H2 13.8 2#II-!9%22#2!2A*% http://www.thaiall.com/vbnet/data_conn.htm http://www.thaiabc.com/download/search.zip <%@ Page Language="VB" CodeFile="Default.aspx.vb" Inherits="_Default" %> <%@import Namespace="system.data.oledb" %> <html><head runat="server"><title>Untitled Page</title></head> <body><form id="form1" runat="server"><div> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> </div></form> <% If (Len(TextBox1.Text) > 1) Then Dim strdb As String = "c:\search.mdb" Dim conn As String conn = "provider=microsoft.jet.oledb.4.0;data source=" & strdb Dim cn As New OleDbConnection(conn) Dim sql As String = "select name,describ,address " sql & = "from webdat " sql & = "where describ like '%" & TextBox1.Text & "%'" Dim cm = New OleDbCommand(sql, cn) Dim dr As OleDbDataReader Dim s As String = "" cn.Open() dr = cm.ExecuteReader() While dr.Read() s & = dr.Item(0) & "," & dr.Item(1) & "," s & = dr.Item(2) & Chr(10) End While cn.Close() Response.Write("<pre>" & s) End If %> </body></html> 1'-"H2 13.9 A"AI!*H A%0#1H2@7H-2#II-!9%22#2I-!9%  default.aspx <body><form id="form1" action="default2.aspx" method="get"> <input name="t" value="2#" /><input type="submit" /> </form> </body>  default2.aspx <%@ Page Language="VB" CodeFile="Default.aspx.vb" Inherits="_Default" %> <%@import Namespace="system.data.oledb" %> <html xmlns="http://www.w3.org/1999/xhtml"> <head id="Head1" runat="server"><title>Hello</title></head> <body><% Dim tx As String = Request.QueryString("t") If (Len(tx) > 1) Then Dim strdb As String = "c:\search.mdb" Dim conn As String conn = "provider=microsoft.jet.oledb.4.0;data source=" & strdb Dim cn As New OleDbConnection(conn) Dim sql As String = "select name,describ,address " sql &= "from webdat where describ like '%" & tx & "%'" Dim cm = New OleDbCommand(sql, cn) Dim dr As OleDbDataReader Dim s As String = "" cn.Open() dr = cm.ExecuteReader() While dr.Read() s &= dr.Item(0) & "," & dr.Item(1) & "," s &= dr.Item(2) & Chr(10) End While cn.Close() Response.Write("<pre>" & s) End If %> </body></html> A6+1I2" - @5"##"2"*#8@7I-+2C@#5"5I!2-"H2I-" 2 +I2 5H 14 @'G@ -#L'4* (Web Service) 3 @'G@ -#L'4* (Web Service) 7- A-%4@ 1H (Application) +#7-1L 1 (Function) +#7- -LA'#L-!B@L (Software Component) 5H9*#I26I @7H-#-#12#@#5"C I22A-%4@ 1HC-4@-#L@G +#7-2#C+I#42##0+'H2@#7H-#42#C-4@-#L@G !52#*7H-*2#I'"I-!9%5H-"9HC#9A@-G@-G!A-% (XML = eXtensible Markup Language) 2!!2#2B  (SOAP = Simple Object Access Protocol 7- #0@5"'452#*3+#1A%@%5H"I-!9% XML #0+'H2@#7H--!4'@-#LC-4@-#L@G) 1'-"H2@'G@ -#L'4*5H!5C+I#42# + http://www.thaiall.com/vbnet/webservice.htm + http://www.xmethods.com + http://www.rd.go.th/webservice/new/tin.html + https://rdws.rd.go.th/ServiceRD/CheckTINPINService.asmx?WSDL + http://www.webservicex.net/CurrencyConvertor.asmx?WSDL + http://www.webservicex.com/BibleWebservice.asmx?wsdl + http://api.google.com/GoogleSearch.wsdl + http://webservices.amazon.com/AWSECommerceService/AWSECommerceService.wsdl + http://services.aonaware.com/DictService/DictService.asmx?WSDL + http://www.pttplc.com/pttinfo.asmx?wsdl 14.1 2#*#I2A%0C I2@'G@ -#L'4*C Localhost 1. 2#*#I2#42#@'G@ -#L'4*A--D%L I'" Visual Studio .NET 1. @I2 Visual Studio .net A%0@%7- Create Web Site.. 2. @%7- ASP.NET Web Service D'IC+I- c:\x 0DI Source code 15I Imports System.Web Imports System.Web.Services Imports System.Web.Services.Protocols <WebService(Namespace:="http://tempuri.org/")> _ <WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _ <Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _ Public Class Service Inherits System.Web.Services.WebService <WebMethod()> _ Public Function HelloWorld(ByVal a As Integer) As String Return "Hello World" End Function End Class 3. @!7H-*-#0!'%%0@4 http://localhost:1172/WebSite1/Service.asmx C IE -1B!14 4. A*'H2@4#42# @'G@ -#L'4* !51L 1 7H- HelloWorld() DIA%I' 1'-"H25IDI Random Port 7- 1172 - @!7H-DI webservice I-32#A%@G#+1*I 1 C Sharp - A%#+1*I 1C+I@G .dll - "I2"D+I- bin -@'G@ -#L@'-#L - @5" web application @#5"C I web service 5. @I2+I-5H@GAI! wsdl.exe I'" DOS>cd "C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin" 6. *1H*#I2 service.cs I'" DOS>wsdl http://localhost:1266/WebSite1/Service.asmx?WSDL Web Services Description Language (WSDL) *2!2#C I DOS> dir service.cs +#7- type service.cs 7. DOS>copy service.cs C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\ A%I' DOS>cd C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\ 8. compile C# DOS>csc /out:Service.dll /t:library /r:System.dll /r:System.Web.Services.dll Service.cs 9. DIAI! service.dll 2 6144 Bytes C+I1%- service.dll DD'I5H c:\website1\bin DOS> copy service.dll c:\website1\bin DOS> copy service.dll c:\inetpub\wwwroot\bin 10. @5"B#A#! 7H- x.aspx D'IC+I- c:\website1 <%@ Import Namespace="service" %> <% Dim a As New Service Response.Write(a.HelloWorld() & ".") %> 11. @4 http://localhost:1172/WebSite1/x.aspx 03'H2 Hello World. 2. 2#3 Webservice 5H*#I26I DC IC Windows Application 1. @4#42# Web service A%I'@4 Visual Studio C+!H@7H-*#I2 Windows Application C+!H 2. Create WindowsApplication A%I'@I2 Menu Bar, Project, Add Web Reference.. 3. *2!2#@%7- Web services 5H#42#-"9HDI 1 C 3 '45 3.1 Web services in this solution 3.2 Web services on the local machine - #- URL: http://localhost:1172/WebSite1/Service.asmx - 0DI3'H2 localhost C H- Web reference name A%I' Add reference - %2# Add 0DI Web references @4H!@I2!2C Solution Explorer 3.3 Browse UDDI (Universal Description, Discovery and Integration) Servers on the local network. 4. *#I2 textbox1 C-#L! A%0@#5"C I web service C form1_load Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Dim a As New localhost.Service TextBox1.Text = a.HelloWorld() End Sub 14.2 2#3212I-!9% 1'-"H2 14.1 2#C I22I-!9% MySQL C Webservice Imports System.Web Imports System.Web.Services Imports System.Web.Services.Protocols Imports System.Data.Odbc <WebService(Namespace:="http://tempuri.org/")> _ <WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _ <Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _ Public Class Service Inherits System.Web.Services.WebService <WebMethod()> _ Public Function listuserpassword(ByVal u As String) As String Dim connstr As String = "DRIVER={MySQL ODBC 3.51 Driver};" & _ "SERVER=127.0.0.1;DATABASE=mysql;UID=admin;PASSWORD=p;OPTION=3" Dim conn As New OdbcConnection(connstr) conn.Open() Dim cmd As New OdbcCommand cmd.Connection = conn dim sql as string sql = "select user,password from user where user='" & u & "'" cmd.CommandText = sql Dim s As String = "" Dim r As OdbcDataReader = cmd.ExecuteReader() While r.Read() s & = r(1) & Chr(10) End While conn.Close() Return s End Function End Class 1'-"H2 14.2 2#@#5"C I Webservice 5H*#I26I <%@ Import Namespace="service" %> <% Try Dim a As New Service Response.Write(a.listuserpassword("101")) Catch ex As Exception End Try %> 14.3 *-C I#42#2 2"- 1'-"H2 14.3 1I-2#*-1 PTTInfo I21%-@I2 batch file 0I-C I ^^ A ^ A%0-7H F 2!AH#5 cd "C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin" wsdl http://www.pttplc.com/pttinfo.asmx?wsdl echo y | copy pttinfo.cs C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\ cd C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\ csc /out:pttinfo.dll /t:library /r:System.dll /r:System.Web.Services.dll pttinfo.cs echo y | del c:\inetpub\wwwroot\bin\* rmdir c:\inetpub\wwwroot\bin mkdir c:\inetpub\wwwroot\bin copy pttinfo.dll c:\inetpub\wwwroot\bin cd c:\inetpub\wwwroot echo ^<%@ Import Namespace="pttinfo" %^> > x.aspx echo ^<% >> x.aspx echo Try >> x.aspx echo Dim a As New pttinfo >> x.aspx echo Response.Write(a.currentoilprice("th")) >> x.aspx echo Response.Write(a.GetOilPrice("th", 1, 1, 1)) >> x.aspx echo Catch ex As Exception >> x.aspx echo End Try >> x.aspx echo %^> >> x.aspx Explorer http://localhost/x.aspx A6+1I2" - @5"##"2"*#8@7I-+2C@#5"5I!2-"H2I-" 2 +I2 5H 15 2#B#A#!@ 4'18 (Object-Oriented Programming) 3 2#B#A#!@ 4'18 (Object-Oriented Programming) 7- 2#@5"B#A#!I'" 2)2B#A#!5H!-'H28-"H2@G'18 (Object) *2!2#*#I2'186I!2 @#5"C I'185H*#I26I '18DI#12#I- (Encapsulation) *7-8*!14 (Inheritance) A%0'18!58*!14I-#9 (Polymorphism) @GI *4H5H!1@5H"'I-12#B#A#!@ 4'18 @ H %2* (Class) $4##! (Behavior) 8*!14 (Properties) *20 (State) %2* (Class) 7- IA-'18 @!7H-*#I2%2*A%I'!10*#I2'18D'I 2"C%2* 6H'18"H-!!5$4##! (Method +#7- Function) !58*!14 (Properties +#7- Idenities) B"*20 (State) 7-H2-8*!145H@%5H"A%DI '18 (Object) 7- *4H5H!5$4##! *20 A%08*!14-@- '185H!58*!14@5"'1 +2!5+%2" 4I AH%0 4IG0!5*4H5HAH21 @ H 38H!3*1H'2D-#L! 2 8H! G0!5'18@46I 2 '18 AH'180!58*!14AH21DD!H@5H"'I-1 1I 2)22'2A%0'4 '%@*4-@G2!!-'H28-"H27-@G'18 @-G!@-*5@-G (MSDN = Microsoft Developer Network Library) 7- B#A#!5H!53-42"%2* @!- @!!@-#L A%03-42"5H3@G*3+#1112 1IA Offline A%0 Online !535HH2*C+%2"3@5H"'12#B#A#!@ 4'18 @ H Overloaded , Enumeration Class Messagebox -"9HC Namespace: System.Windows.Forms !5@!- 7H- Show @GA Overloaded +!2"'2!'H2 *2!2##1H2 +#7-DI+%2"A AH%0A-*-AH21D @ H 1. MessageBox.Show (Message_String) 2. MessageBox.Show (Message_String, Title_String) 3. MsgBox(MessageBox.Show("m", "t", MessageBoxButtons.YesNo)) I28H! Yes 0*HH2 6 I28H! No 0*HH2 7 7!2 MessageBoxButtons Enumeration -"9HC Namespace: System.Windows.Forms @GA Enum 5H!5@!!@-#L@! (Members Name) @ H AbortRetryIgnore , OK , OKCancel , RetryCancel , YesNo , YesNoCancel Enumeration +#7- Enum 7-2#*#I2'18%1)0+6H B"@I2#*#I2*!2 4 5H!5H2 A%0'2!+!2" 3C+I%2#125H@42'2!4%2C2##08H25HD!H!5'2!+!2" 1'-"H2 15.1 *#I2A%0C I enum C Windows Form Public Class Form1 Private Sub Form1_Load( .. Dim a As sextype.sex a = 1 If (a = sextype.sex.isfemale) Then MsgBox("ok") ' ok MsgBox(sextype.sex.ismale) ' 0 Dim b As sextype.status b = sextype.status.issingle MsgBox(b) ' 20 End Sub End Class Public Class sextype Enum sex ismale '0 isfemale ' 1 isladyboy '2 End Enum Enum status ismarried = 10 issingle = 20 End Enum End Class B#A#!1'-"H2C+1'I-5I 9@5"H2B#A#! Visual Studio 2005 B"@%7- Visual Basic, Console Application %%1L-B#A#!A*C#0-* Class and Object %2* (Class) 7- IA-'18 @!7H-*#I2%2*A%I'GI-*#I2'18 2"C%2* A%0$4##!@7H-@#5"C I'18C+I322!I-2# 1'-"H2 15.2 *#I2%2*A%0@#5"C IC@!- C Console Application  module1.vb Imports System.Console Module Module1 Sub Main() Dim obj As New Test() obj.disp() write(xx()) Read() End Sub End Module  test.vb Imports System.Console Public Class Test Sub disp() Write("Object testing") End Sub Function xx() As Integer xx = 5 End Function End Class 1'-"H2 15.3 *#I2%2*A%0@#5"C IC@!- C Windows Application  form1.vb Public Class Form1 Private Sub Form1_Load(.. Dim a As New Class1 a.disp() End Sub End Class  class1.vb Public Class Class1 Sub disp() MsgBox("Object testing") End Sub Function xx() As Integer xx = 5 End Function End Class 1'-"H2 15.4 2#@#5"C I1L 12%2*AD!H-I2-4C 2"+%1 Module Module1 Sub Main() Console.Write(New test1().xx() + New test2().xx()) Console.Read() End Sub End Module Constructor 1'-"H2 15.5 Constructor Imports System.Console Module Module1 Sub Main() Dim obj1 As New Test1(5) Dim obj2 As New Test2() Dim obj3 As Test2 obj3 = New Test2() Write(obj1.dispx()) ' output = 7 Read() End Sub End Module Public Class Test1 Public x As Integer Public Sub New() x = 1 End Sub Public Sub New(ByVal value As Integer) x = value + 2 End Sub Function dispx() As Integer Return x End Function End Class Public Class Test2 Function dispx() As Integer Return 8 End Function End Class Inheritance 1'-"H2 15.6 2#*7-#0+'H2 child 1 father AC I1L 1 - %2*5H*#I2C module *2!2#@#5"C IC module -7HDI15 B"D!HI--I2 7H- module Imports System.Console Module Module1 Sub Main() Dim burin As New child() WriteLine( burin.sum() ) ' 130 WriteLine( burin.add() ) ' 30 Read() End Sub End Module Public Class child Inherits father Private k As Integer = 100 Public Function sum() As Integer Return i + j + k End Function End Class Public Class father Protected i As Integer = 10 Protected j As Integer = 20 Public Function add() As Integer Return i + j End Function End Class 1'-"H2 15.7 2#*7-#0+'H2 child 1 father AC I1'A# Imports System.Console Module Module1 Sub Main() Dim o As New yonok() WriteLine(o.x + o.y) Read() End Sub End Module Public Class yonok Inherits lampang Public y As Integer = 10 End Class Public Class lampang Public x As Integer = 5 End Class Polymorphism +%2"#9 C 2)22'2!5 2 A7- Overload A%0 Override 1'-"H2 15.8 2#3 Overload C %2*@5"'1 Imports System.Console Module Module1 Sub Main() Dim lampang As New child() WriteLine(lampang.dsp(10)) WriteLine(lampang.dsp("ten")) WriteLine(lampang.dsp(10) + lampang.dsp("ten")) Read() End Sub End Module Public Class child Public Function dsp(ByVal i As Integer) As Integer Return i End Function Public Function dsp(ByVal i As String) As Integer Return 10 End Function End Class 1'-"H2 15.9 2#C I Overload 2H2%2* Module Module1 Sub Main() Dim c As New xx() c.abc() Console.Write(c.zzz)  7 Console.Read() End Sub End Module Public Class xx Inherits yy Public Overloads Sub abc() zzz = 7 End Sub End Class Public Class yy Public zzz As Integer = 5 Public Sub abc() zzz = 6 End Sub End Class Interface 1'-"H2 15.10 *- Imports System.Console Module Module1 Sub Main() Dim obj As New child() obj.disp() Write(obj.mul()) Read() End Sub End Module Public Interface myobj Sub disp() Function mul() As Double End Interface Public Class child Implements myobj Public i As Double = 12 Sub disp() Implements myobj.disp WriteLine(i) End Sub Public Function mul() As Double Implements myobj.mul Return i * i End Function End Class Abstract 1'-"H2 15.11 *- Imports System.Console Module Module1 Public MustInherit Class aburin Public i As Integer = 10 Public MustOverride Function Add() As Integer Sub dsp() Write(5) End Sub End Class Public Class burin Inherits aburin Shadows i As Integer = 20 Public Overrides Function Add() As Integer Return i + i End Function End Class Sub Main() Dim abs As New burin() WriteLine("one is " & abs.i) WriteLine(abs.Add()) abs.dsp() Read() End Sub End Module A6+1I2" - @5"##"2"*#8@7I-+2C@#5"5I!2-"H2I-" 2 +I2 - @5"B!9% 1 B!9%@7H-@#5"C I 2 1L 12 2 %2* B"1L 107H2@G1'@% A%I'A*%#'!-1L 11I 2 C-B % - @5"B!9% 1 B!9%@#5"C I%2*%9 7H-'H2 yonok 5H*7-!22%2*A!H 7H- lampang B"%2*A!H!51'A# x = 5 A%0%2*%9!51'A# y = 10 C+I+2%#'!-1'A#1I 2 - @5"%2*5H!5-*1@-#L5H*HH2C+I1'A# x @G 5 A%I'@#5"C I%2*A%01'A#1I - @5"%2* 7H- xx *7-!22 yy 6H yy !5 zz = 5 C+I@5"B#A#!@#5"C I zz 2 xx Imports System.Console Module Module1 Structure Employee Dim firstname As String Dim lastname As String End Structure Sub Main() Dim person As New Employee() person.firstname = "burin" person.lastname = "rujjanapan" Write(person.firstname + " " + person.lastname) Read() End Sub End Module 2' . '4 '%@ 2#L (Visual J#) 3 2)22'2 (Java Language) 7- 2)2B#A#!5H912B"#4)1 1D!B# 4*@G!*L @G 2)2*3+#1@5"B#A#!5H*1*82#@5"B#A#!@ 4'18 (OOP = Object-Oriented Programming) B#A#!5H@5"6II2@G%2*G0@GIA-'18*2!2#!5@!- (Method) 5H#0-I'"$4##! (Behavior) #9## (Identity) A%0*20 (State) '4 '%@ 2#L (Visual J#) A-B %A-%4@ 1 (Console Application) @G%2-#4)1D!B# -L AH!5$)55HH-"-!22 2)22'2-#4)1 1 A%0'4 '%@%1*%1* (J++) 6!5B#*#I2 2)2%I2"1 11I9I5H@"(6)2 2)22'2-#4)1 1!2H- 6*2!2#12 2)22'2I'"@ 2#LDIB"H2" 2"CI* 2'A'%I---@G AH%2#A%B#A#!H2@ 2#L0DLBI (Byte Code) C*8% .exe !4C H*8% .class @+!7-%2#A%I'"1'A% 2)2-#4)1 1 A%0@ 2#LD!H*1*82#12A-@%G (Applet) '452#A%#+1*I 1@GDLBI (How to Compile) 112*2!2#C I1'A% 2)2C* 2'0A'%I-!'4B'L B"@4D!B# -L'4 '%*94B- (Microsoft Visual Studio) @7H-*#I2 VJ# Console Application @!7H-1@GB#2 (Project) 0*#I2+I- C:\Documents and Settings \admin \My Documents \Visual Studio 2005 \Projects \ConsoleApplication1 A%0AI!5H9*#I26I 7- Program.jsl *3+#1'452#A% VJ# Console Application 3DI 2 '45 1. 2#A%H2 DOS Command AI!+%1*3+#12#@G1'A% 2)2 (Compiler) 7- AI! vjc.exe (Visual Java Compiler) @G-"9HC+I- C:\WINDOWS.0 \Microsoft.NET \Framework \v2.0.50727 +2C I1'A% 2)2 @7H-A%AI!#+1*I 1 7H- Program.jsl H2-B %0DI%2#A%@GAI! Program.exe !52 4096 Byte 1'-"H22#A%AI! x.jsl 0DIAI! x.exe DOS> vjc x.jsl DOS> vjc x.jsl /out:x.exe 2. 2#A%H2 Visual Studio @!7H-@I2 Visual Studio A%I'@%7-*#I2 Console Application C J# 0AI! Program.jsl *2!2#AIDAI!5IDI A%0*1H#0!'%%H2 Menubar, Debug, Start Debugging 0DIAI! .exe C+I- Debug @G%%1L 6HH21 2)22'2- 15H0DIAI! .class 1'-"H2 .1 #+1*I 1C-B %@ 2#L%I2"C2'2- 1 package ConsoleApplication1; import java.io.*; public class Program { public static void main(String[] args) throws IOException{ System.out.print(5); System.in.read(); } } 1'-"H2 .2 #1I-!9%2 2"-A2'2- 1 package ConsoleApplication1; import java.io.*; public class Program{ public static void main(String[] args) throws IOException{ char c; c = (char)System.in.read(); System.out.println(c); try { java.lang.Thread.sleep(1000); } catch (Exception e) { } } } 1'-"H2 .3 #1I-!9%2 2"-H2-B % package ConsoleApplication1; import System.*; public class Program{ public static void main(String[] args){ char c; c = (char)Console.Read(); Console.Write(c); try { java.lang.Thread.sleep(1000); } catch (Exception e) { } } } 1'-"H2 .4 A*%H-I-'2!C2'2'4B'LA-%4@ 1 import System.Collections.Generic.*; import System.Data.*; import System.Drawing.*; import System.ComponentModel.*; import System.Windows.Forms.*; public class Form1 extends System.Windows.Forms.Form { private System.ComponentModel.IContainer components; public Form1(){ InitializeComponent(); }  Windows Form Designer generated code private void Form1_Load(Object sender, System.EventArgs e) { MessageBox.Show("a"); } } 2#A%DLBI2 1@G-D!B# -L (Convert ByteCode from Sun to Microsoft) #4)1D!B# -L@#5"!@#7H-!7-*3+#1A%DLBI5HDI21'A% 2)2-#4)1 1 6H!5*8%@G .class C+I@GDLBI-#4)1D!B# -LD'IC+I- C:\Program Files \Microsoft Visual Studio 8 \SDK \v2.0 \Bin B"B#A#!5HC I*3+#1A% (Converter) 7- jbimp.exe (Visual J# Binary Converter Tool) 6H#2"%0@-5"-@#7H-!7- Microsoft .NET Framework Tools -H2DI2 StartTools.htm C+I- bin 5I@- I2!5AI! 7H- x.class *2!2#A%I'"3*1H DOS>jbimp x.class 6H%7-AI! x.exe [http://www.thaiall.com/class/java_intro.ppt , Oct 18,2551] http://www.nickjc.co.uk/vjctutor7.htm http://en.wikipedia.org/wiki/J_Sharp 2' . 5%1*%1**2!*4*-4 (C++ 32-Bit) B#A#! Visual Studio 2005 !5 Visual Studio 2005 Command Prompt 6H@G@#7H-!7-C+I112DIC I 2)2 5%1*%1*I'"2#A% A%0#0!'%%C-* B"@#5"B#A#! C:\ Program Files \Microsoft Visual Studio 8 \VC \vcvarsall.bat 0@#5"!* 2A'%I-!*3+#112B#A#!-@G #8H-1'A% 2)27- Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 14.00.50727.42 for 80x86 @I2C I2*H'5IH2 Start , Program , Microsoft Visual Studio 2005 , Visual Studio Tools A%0 Visual Studio 2005 Command Prompt 0 DOS Prompt 6HC I1'A% 2)2 CL.EXE DI15 @#203+ Path D'I@#5"#I-"A%I' @#4H!@5"B#A#!B"@I2+I- bin +#7-D!HGDI A%I'4!LB#A#!A%I'@*#G A%01@G @ H x.cpp A%I'A%B#A#!I'"2#4!L3*1H DOS> cl x.cpp %2#A%0DIAI! x.exe 6H@G MSIL 5HI-#0!'%% CLR 1'-"H2 .1 A*1'-1)# A%0+"8#1H22AI4!L #include <stdio.h> void main() { printf("hello"); getchar(); } 2' . '4 '% 5 2#L (Visual C#) '4B'LA-%4@ 1 (Windows Application) *#I2'4B'LA-%4@ 1I'"'4 '%*94B--@G 0DIAI! form1.cs A%0 program.cs @GH2#4"2" (Default Form) 9I12*2!2#@#5"C I Control C Toolbox @ H button +#7- textbox @+!7-1C IC Visual Basic 1'-"H23*1H5HC*H@I2DC8H!3*1H +#7-1L 1 button1_Click 7- MessageBox.Show("5"); @7H-A*I-!9%*- 1'-"H2 .1 2#C*H3*1HC+I18H!--#L!  Form1.cs using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace WindowsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { MessageBox.Show("5"); } } } -B %A-%4@ 1 (Console Application) AI!5H9*#I2B"#4"2" 7- Program.cs DOS> csc Program.cs 1'-"H2 .2 Console Application in C# .Net  Program.cs using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication1{ class Program { static void Main(string[] args) { Console.Write(5); Console.Read(); } } } 2' . '4 '% 5%1*%1*-@G (Visual C++ .net) 2#@5"B#A#!I'"'4 '% 5%1*%1*-@G (Visual C++ .net) *2!2#3DI+%2"'45 2#C I CLR(Common Language Runtime) *2!2#12DI1I CLR Console Application +#7- CLR Windows Forms Application 5A-%-2#L (CLR = Common Language Runtime) 7- @'-#L '%A! 5 (Virtual Machine) @G*H'#0---@G@#!@'4#L (Dotnet Framework) A%0122!!2#2@4 * 2A'%I-!7I2 2)2 (Common Language Infrastructure) -#4)1D!B# -L @7H-@G* 2A'%I-!*3+#1BI5H32 5A-%-2#L (CLR) 5H#0!'%%22DLBI (Byte Code) 5H@#5"'H2@-G!@-*D-A-% (MSIL = Microsoft Intermediate Language) 6H122!!2#2 5D-A-% (CIL = Common Intermediate Language) @!7H-12B#A#!B"C I 5A-%-2#LI'"2#@5"#+1*I 1 2)2#01*9 @ H C#, C++ +#7- VB.NET +%1A%#+1*I 10DIAI!5H@GDLBI +#7-BI@-G!@-*D-A-% (MSIL) A%02##0!'%%@#5"'H2 CLR's just-in-time Compiler @G2#A%BI@-G!@-*D-A-% (MSIL) D@G 2)2@#7H-@7H-#0!'%% CLR Console Application *-*#I2 hello1 I'" CLR Console Application C+I- C:\Documents and Settings \burin \My Documents \Visual Studio 2005 \Projects %2#*#I2 hello1 0DI Header Files, Resource Files A%0 Source Files @!7H-@4AI! hello1.cpp A%I' *-C*H3*1H Console::Read(); H- return 0; @7H-A*I-!9%*- 1'-"H2 .1 Source Code @!7H-*#I2 CLR Console Application C Visual C++ #include "stdafx.h" using namespace System; int main(array<System::String ^> ^args) { Console::WriteLine(L"Hello World"); Console::Read(); return 0; } 1'-"H2 .2 Source Code @!7H-*#I2 Win32 Console Application C Visual C++ #include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]) { printf("a"); char s[80]; scanf("%s", & s); printf(s); char c; scanf("%c", & c); return 0; } CLR Windows Forms Application *-*#I2 hello1 I'" CLR Windows Forms Application C+I- C:\Documents and Settings \burin \My Documents \Visual Studio 2005 \Projects %2#*#I2 hello1 0DI Header Files, Resource Files A%0 Source Files @!7H-@4AI! hello1.cpp A%I' *-C*H3*1H MessageBox::Show("abc"); @7H-A*I-!9%*- 1'-"H2 .3 2#C*H3*1HC+I18H!--#L! #include "stdafx.h" #include "Form1.h" using namespace hello2; [STAThreadAttribute] int main(array<System::String ^> ^args) { MessageBox::Show("abc"); Application::EnableVisualStyles(); Application::SetCompatibleTextRenderingDefault(false); Application::Run(gcnew Form1()); return 0; } MFC Application 22#*-*#I2 MFC (Microsoft Foundation Class) Application 7H- hello I'"2#8H! Next #0!2 7 #1I 0*#I2 8B#A#!#0"8L1I 8 3C+IDIAI!C Source Files 7H- hello.cpp helloDoc.cpp helloView.cpp @4H!2AI!-7H5H!52!4 @ H ChildFrm.cpp MainFrm.cpp A%0 stdafx.cpp @GI C hello.rc, Dialog, IDO_ABOUTBOX[Thai] @G+I2H2@5H"'1 About @!7H-*1H#0!'%%A%I'@%7- Help, About G0*H'5I @!7H-@4AI! helloView.cpp 0 ChelloView::OnDraw 5H*3+#1'2 2#24%DC+I2H2A# @ H 2*5H@+%5H"! +#7-'21'-1)#%D 1'-"H2 .4 '2*5H@+%5H"!CAI! helloView.cpp C onDraw( ) // # void ChelloView::OnDraw(CDC* /*pDC*/) // http://www.functionx.com/visualc/gdi/brushes.htm void ChelloView::OnDraw(CDC* pDC){ ChelloDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); if (!pDoc)return; CBrush NewBrush(RGB(250, 250, 5)); CBrush *pBrush = pDC->SelectObject( & NewBrush); pDC->Rectangle(20, 20, 250, 125); pDC->SelectObject(pBrush); LPCTSTR s1 = _T("*-"); pDC->TextOut(5, 10, s1,5); pDC->TextOut(5, 50, (LPCTSTR)_T("*-"),5); } 2#*#I2-#L!C+!H *#I2DI22#%4J'2 Resource Files @%7- Add, Resource, Dialog, IDD_FORMVIEW *2!2#%2@#7H-!7-!2C I2C-#L!DI 2#AID@!9C-#L! !51'@%7-C Resource Files @%7- Menu 3C+I*2!2#@4H! +#7-%1'@%7-DIH2" AH%2**3+#11'@%7-I-*#I26I!2C Source Files 2!I'" MFC Class 6H3+#2"%0@-5"-7H F 5H3@G2!'2!I-2# Short Code C IAH method *#I2 form A%0 control C runtime All these Windows Controls are based on the Control class, the base class for all controls. Visual Basic allows us to work with controls in two ways: at design time and at runtime. ? The Control class is in the System.Windows.Forms namespace. @%7- enable application framework C WindowsApplication Properties A%I'@%7- Sub Main 1'-"H2 2. xx Module Module1 Sub main() Dim instance As New Form Dim cm As New Button cm.Text = "abc" instance.Size = New Size(300, 200) instance.Controls.Add(cm) instance.ShowDialog() End Sub End Module C IAH method *#I2 form A%0 control A%0 event 1'-"H2 2. xx Module Module1 Sub main() Dim instance As New Form Dim lb As New ListBox Dim cm As New Button AddHandler cm.Click, AddressOf cmEventHandler cm.Text = "abc" lb.Items.Add("*-") lb.Items.Add("D"--%") lb.Left = 100 ' pixels AddHandler lb.Click, AddressOf lbEventHandler instance.Size = New Size(300, 200) instance.Controls.Add(cm) instance.Controls.Add(lb) instance.ShowDialog() End Sub Public Sub cmEventHandler(ByVal sender As Object, ByVal e As System.EventArgs) MsgBox(sender.text.ToString) End Sub Public Sub lbEventHandler(ByVal sender As Object, ByVal e As System.EventArgs) Dim s As ListBox = sender MsgBox(s.Items(s.SelectedIndex.ToString)) ' MsgBox(sender.items(1)) ' D"--% End Sub End Module 1L 1 -2#L@#"L A%0'15H (Random & Array & Date) 1'-"H2 2. xx Dim v1 As Integer = CInt(Rnd() * 100) Dim v2 As Double = Rnd() Dim v3() As Integer = {5, 6} MsgBox(v1 & "-" & v2 & "-" & v3(0) & "-" & v3.Length) Dim v4 As Date v4 = Now '11/13/2007 8:29:50 PM v4 = #11/13/2007# MsgBox(TimeOfDay & " " & v4) ' 8:29:50 PM 11/13/2007 Dim v5(2) As Integer v5(0) = 7 : v5(1) = 8 : MsgBox(v5(0) + v5(1)) ' 15 Dim v6 As Integer v6 = DateDiff(DateInterval.Day, #10/13/2006#, v4) ' 396 MsgBox(v6) Dim v7 As String = "abcdef" MsgBox(Mid(v7, 1, 2) & Microsoft.VisualBasic.Left(v7, 2)) Dim v8() As String v8 = Split("a+b+c", "+") MsgBox(v8(0) & chr(10) & v8(1)) ' chr(65)=A & Asc("A")=65 & Format(Asc("A"), "000")=065 2#*8H!AD!H I3 (Random & No duplicate) 1'-"H2 2. xx Randomize() Dim a(5) As Integer, i, j As Integer, s As String = "", found As Boolean For i = 0 To 5 found = False Dim t As Integer = CInt(Rnd() * 10) For j = 0 To i - 1 If a(j) = t Then found = True Next If (found) Then i -= 1 Else a(j) = t : s & = t & Chr(10) Next MsgBox(s) consoleapplication + byval + byref + sub + function 1'-"H2 2. xx Module Module1 Dim a As Integer Sub Main() Dim a As Integer = 5 sub1(a, a) Console.WriteLine(func1(a, a)) ' 25 End Sub Sub sub1(ByVal x As Integer, ByRef y As Integer) a += x : x += a : y += a End Sub Function func1(ByVal x As Integer, ByRef y As Integer) As Integer func1 = a + x + y End Function End Module Timer + Nanosecond + Progressbar 1'-"H2 2. xx Public Class Form1 ' value of property represents the number of 100-nanosecond intervals ' that have elapsed since 12:00:00 midnight, January 1, 0001. Dim start As Long Private Sub Form1_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load start = Now.Ticks Timer1.Interval = 250 'milliseconds Timer1.Start() End Sub Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click MsgBox("Nano Second = " & (Now.Ticks - start)) End Sub Private Sub Timer1_Tick(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Timer1.Tick If (ProgressBar1.Value = 100) Then ProgressBar1.Value = 0 ProgressBar1.Value += 1 Button1.Text = ProgressBar1.Value End Sub End Class 1@'%22##0!'%% 10 %I2#-C for 1'-"H2 2. xx ' my computer use about 62.5 Millisecond Module Module1 Dim i, j, startclock, stopclock As Long Sub Main() display_time(startclock) For i = 1 To 10000000 : j += i : Next display_time(stopclock) Console.WriteLine(stopclock - startclock) Console.ReadLine() End Sub Sub display_time(ByRef x As Long) x = Now.Ticks Console.WriteLine(Now.Millisecond & " milli " & Now.Ticks & " ticks") End Sub End Module ASP Short Code 1'-"H2 2. xx ' 3*1H*3+#18H!C .vb @7H-@4-#L!C+!H Server.Transfer("default2.aspx", True) ' Session @G-5'45+6H5HC I*HH2#0+'H2-#L! ' Response.Redirect("default.aspx?a=6") @G2#*HH2 request.querystring -5'45+6H <body bgcolor=yellow> <form id="fm" runat="server"> <asp:TextBox ID="TextBox1" runat="server" Text="0"> </form> <% response.write(textbox1.text) %> <% Session("x") = TextBox1.Text %> </body> to call command in shell 1'-"H2 2. xx Shell("notepad.exe", AppWinStyle.NormalFocus) Shell("c:\x.bat", AppWinStyle.NormalFocus) to start & close process 1'-"H2 2. xx Dim p As New Process() Private Sub b1() p = Process.Start("C:\Windows\system32\calc.exe") End Sub Private Sub b2() p.CloseMainWindow() p.Close() End Sub 2# ping A%0 download AI!2-4@-#L@G 1'-"H2 2. xx If My.Computer.Network.Ping("www.google.com", 1000) Then MsgBox("Server pinged successfully.") Else MsgBox("Ping request timed out.") End If My.Computer.Network.DownloadFile("http://www.thaiall.com/ta1.gif", "C:\ta1.gif") My.Computer.Network.UploadFile( _ "C:\ta1.gif", "http://www.yourhost.com/upload.aspx", "anonymous", "") ' Format(1, "000")=001 If My.Computer.FileSystem.FileExists("c://x.txt") Then My.Computer.FileSystem.DeleteFile("c://x.txt") My.Computer.Network.DownloadFile("http://www.thaiall.com", "C:\x.txt") msgbox(My.Computer.FileSystem.ReadAllText("c://x.txt")) Else My.Computer.Network.DownloadFile("http://www.thaiall.com", "C:\x.txt") End If 1'-"H2 2)2C'4 '%*94B- 1'-"H2 Visual C# @!7H-#0!'%%C Console 1'-"H2 Visual C# @!7H-#0!'%%C Console - Compile H2 Command Line +#7- Editplus GDI - 3+ Command C Editplus @G "c:\windows\system32\cmd.exe" "/k" - 1'-"H22#A% C:\WINDOWS.0\Microsoft.NET\Framework\v2.0.50727>csc hello.cs public class HelloWorld { public static void Main(string[] args) { string name = "hello"; System.Console.WriteLine(name); } } 1'-"H2 Visual C# @!7H-@5"C Visual Studio 1'-"H2 Visual C# @!7H-@5"C Visual Studio using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Console.Write("x"); Console.Read(); } } } 1'-"H2 Visual J# @!7H-#0!'%%C Console - Compile H2 Command Line +#7- Editplus GDI - 3+ Command C Editplus @G "c:\windows\system32\cmd.exe" "/k" - 1'-"H22#A% C:\WINDOWS.0\Microsoft.NET\Framework\v2.0.50727>vjc x.jsl public class x { public static void main(String[] args) { System.out.println(5); } } A03@'G (Web Guides) http://www.thaiall.com/vbnet/sample/thaiall512.zip http://www.thaiabc.com/vb/vethlr3.hlp http://www.thainame.net/weblampang/vbnet/vb01.doc http://msdn.microsoft.com/en-us/vbrun/ms788235.aspx http://www.vb.in.th 5#@  -AH, http://www.microsoft.com/express/download/default.aspx http://www.thai-programmer.com/?DPage=90100101 -42".net DI5 http://www.ict.pyo.nu.ac.th/uthais/ "-!2 F http://msdn.microsoft.com/en-us/library/sh9ywfdk.aspx Reference http://msdn.microsoft.com/en-us/netframework/default.aspx http://www.harding.edu/fmccown/vbnet_csharp_comparison.html 5!2 F http://msdn.microsoft.com/en-us/library/ca6ds2sz.aspx http://www.startvbdotnet.com/controls/helpprovider.aspx A* help http://www.help-info.de/en/Visual_Basic_net/vbnet_htmlhelp.htm http://www.programmingtutorials.com/vbnet.aspx http://msdn.microsoft.com/th-th/library/default(en-us).aspx http://www.twoguru.com/playground/cs_tutorial/oop/implementation_inheritance/dotnet_example.htm http://www.microsoft.com/thailand/VisualStudio/ http://www.ict.pyo.nu.ac.th/uthais/Tutorial/VB/Unit6/VB6.ppt Midterm project 1. C I2#21I 8 2 nwind.mdb 2. *#I2 MDIParent 8!B#A#!1I+! 3. @5"B#A#!@4H! % AID A*I-!9%#H'!1 Data Grid 4. C I Control H2 F #0-2#12B#A#!-@+7-25H*--"H2I-" 3 Control 5. @5"'452#+#7-1I-5H*#I2-#L!AH%0-#L! 6. *H@I2 spaces.live.com @7H-@"A#H 7. *#8@G#2"2*H+%1*-%2 2 8.  33 *2#1 , print screen, source code, 3-42"B#A#! Final Project 1. 3I-!9%2 northwind.mdb %D@GC2I-!9% MySQL 2. !52#2I-!9%C MySQL 8 2#2 #I-!1'-"H2I-!9% 3. @5" Windows Form C VB.NET @7H- @4H! % A%0AIDI-!9% 4. 2##1#8I-!9%C+I!5 3 8*!14 - 2#2!"I3'H2I-2##1#8+#7-D!H - #'*- @7H-I-12#4%2-I-!9% - 2#@%7-I-!9% @GD-"H2-1B!14 5. 2#2" *2!2#13'*4I2CAI!*4I2DI 6. #2"25HAH21 5 #2"2 5H H'"2#1*4C-9I#4+2# I'" Crystal Report 7. B#A#!@!9 #0'2!%- 1" A%03@*-H2@'G@ 8.  33 *2#1 , print screen, source code, 3-42"B#A#! 9. !5 7H-B#A#! A%01'A#@G 7H-@%H-9I12 A%0@"A#H%2C live.com     -  PAGE 88 - 6 6 6L6N6R666666666N8V8`88888888N9l9z9|99999999::r:::::;;;.;D;n;r;;;;;;;;Ž٘ŽŽŽŽŽнŽŽŽ hBbKo( hBbK5>*B*\mH phsH hBbK5B*\mH phsH hBbKmH sH hBbKmH o(sH hBbKmH o(sH hBbK5\mH o(sH hBbK5\mH sH UhBbK5\mH o(sH 9;;;;Z<\<^<`<<<D>~@@FGhHHH@IrIIIZJJJKKPL`gdYO^;;;;L<P<X<Z<\<^<b<n<p<r<t<z<<<<<<<<<<<<<(=P=l=n===D>`>n>p>v>>>>?Z?d?x????@@(@:@X@j@x@@@@@@.ADAAAHCbCCCDD0D>D@DDDEEEhBbKmH sH  hBbKhBbK hBbKo(hBbKmH o(sH hBbKmH o(sH hBbKmH sH  hBbKo(NE8EBEDETE>F@FDF^FnFFF G0GLGXGGGGGHfHhHlHHHHHI IIII2I@IrIIIJVJjJpJK4KjK~KK㮤hBbK0J5\mH sH h.hBbK0J5\mH sH hBbK0JmH sH 'h.hBbK0J5B*\mH phsH hBbK hBbK hBbKo(hYOmH sH hBbKmH o(sH hBbKmH sH hBbKmH o(sH hBbKmH sH .PLvLL,MNMMM8NNNNNOHOOPNPPQnQQ&R:RNRRR$SdSSgd.KLLLMM^MpMxMMN4NBN`NNNNNO$O&OxOOrPPPQ2Q@QQQQ&RNRpRRRRRRRRR$SDSbSS䘐|hBbKmH o(sH hBbK hBbKhBbKmH sH  hBbKo('h.hBbK0J5B*\mH phsH hBbK0J5\mH sH h.0JmH sH hPfb0JmH sH h.hBbK0J5\mH sH hBbK0JmH sH !h.hBbK0JB*mH phsH .ST:TRTT>UUUzVVVVVVVVVVW$WBWWX2XJXXXXXᾶuudZI!h"}0J5B*\mH phsH h"}0JmH sH !hBbK0J5B*\mH phsH !hBbK0J5B*\mH phsH hBbK0JB*mH phsH h?FmH sH h?FmH o(sH hBbKmH o(sH hBbKhBbKmH sH  hBbK!h"}hBbK0JB*mH phsH hBbK0J5\mH sH hBbK0JmH sH 'h.hBbK0J5B*\mH phsH STTTTT>UVUUUU8VLV`VzVVWDWWWXLXxXX"Y_L_N____`````abaaaaaaɼxxɼdVhBbK0JB*mH phsH 'h7|h7|0J5B*\mH phsH !hBbK0J5B*\mH phsH hBbK0JB*mH phsH hBbKmH o(sH hBbKmH o(sH hBbKhBbKmH sH  hBbKhBbK0J5\mH sH hBbK0JmH sH hBbK0JB*mH phsH hBbK0J5B*\ph!hBbK0J5B*\mH phsH ab4bZbb6ccTdddde2eee>fdfpffhgg4hxhhii0jj2k`a4bVbZb^bbbb6cccccdd"d&d@dDdRdVddddnfpftffffffg@gJggggggggg2h4h8hDhNhXhi,i2i:iFiNidiviiiiiϻϻϻĬϻϻ hBbK5\ hBbK0Jo( hBbK0JhBbK5B*\mH phsH hBbKmH o(sH hBbK5\mH sH hBbKmH o(sH  hBbKo(hBbKmH sH  hBbKo(!hBbK0J5B* \mH phsH nVnXnbnznnnnnnnnoo oBoJohooooooop4p6pHpJpиhBbK5\mH o(sH hBbKB*mH phsH hBbKmH o(sH hBbK5B*\mH phsH #hBbK5B*\mH o(phsH hBbKmH o(sH hBbK5\mH sH hBbKmH sH =2kkk lBllmmnnnFooopqqqrrrtssPt|tt@uhuu ^`JpRphpjppppppppqq.qqqrrs*stst2tttttuu(uuuuuRwvwwwwwxx6x@xFxVx^x߶yhBbK0JmH o(sH !hBbK0J5B*\mH phsH hBbK0JB*mH phsH hBbK0J5\mH sH  hBbK0JhBbK0JmH sH hBbK5B*\mH phsH  hBbKo(hBbKmH o(sH hBbKmH sH hBbK5\mH sH hBbK5\mH o(sH .u$vhvv8wRwvww`xxByy>zz{{|^||}N}z}}D~\~~~>^^x`xxxBy`yfyvyyyyyyyzz:z>zDzLzzzzzzz{{({<{f{{{{|}}B~~w hBbKo(!hBbK0J5B* \mH phsH hBbK0J5\mH sH hBbK0JmH sH !hBbK0J5B*\mH phsH hBbK5\mH sH #hBbK5B*\mH o(phsH hBbK5B*\mH phsH hBbKmH o(sH hBbKmH sH hBbKmH o(sH .>Rffhjʃ~vpƈ<hĉΉN`^X\dfhjvz| j<DN^hp~ʃ΃x҄*,@n|$<LlpĈhBbKCJOJQJaJmH sH $hBbK5CJOJQJ\aJmH sH hBbK5\mH sH  hBbK hBbKo( hBbKo(hBbKhBbKmH o(sH hBbKmH o(sH hBbKmH sH ?Ĉƈʈ<ĉΉBJNĊ6HLNPRȋʋڋ܋ޱ}xplplapG3hoho5B*CJOJQJ\aJmH phsH hBbKmH o(sH hBbKhBbKmH sH  hBbK3hqhBbK5B*CJOJQJ\aJmH phsH 3hqhBbK5B*CJOJQJ\aJmH phsH 3hqhBbK5B*CJOJQJ\aJmH phsH $hBbK5CJOJQJ\aJmH sH hBbKCJOJQJaJmH sH !hBbKCJOJQJaJmH o(sH NȊ&6ʋ@ƌrʍ0^"\fV܋(<RfjzƌΌԌ܌&lzҍջդ复zջzջ`zջF3hhBbK5B*CJOJQJ\aJmH phsH 3hohBbK5B* CJOJQJ\aJmH phsH $hBbK5CJOJQJ\aJmH sH -hBbK5B*CJOJQJ\aJmH phsH -hBbK5B* CJOJQJ\aJmH phsH 3hohBbK5B* CJOJQJ\aJmH phsH hBbKCJOJQJaJmH sH 3hohBbK5B*CJOJQJ\aJmH phsH &*TVXZ{gPJx|Vݩݏuݏ^G-hhoB*CJOJQJaJmH phsH -ho5B* CJOJQJ\aJmH phsH 3hoho5B*CJOJQJ\aJmH phsH 3hho5B*CJOJQJ\aJmH phsH 3hoho5B* CJOJQJ\aJmH phsH 3hoho5B* CJOJQJ\aJmH phsH hoCJOJQJaJmH sH $ho5CJOJQJ\aJmH sH  "$.FVfjpz~ʖ"(48~øǸǜiiMiiiii6hmB* CJOJPJQJaJmHnHphsH tH u-hmCJOJPJQJaJmHnHsH tH u6hmB*CJOJPJQJaJmHnHphsH tH u6hPB*CJOJPJQJaJmHnHphsH tH uhmmH o(sH hmhmmH sH  hm-hhoB*CJOJQJaJmH phsH 'hoB*CJOJQJaJmH phsH zHR<™0NR›Fڜ&Jp & Fgdm 7$8$H$gdm   268HLRИؘژ ™̙֙ڙܙLN`dfhjҚ 08Rl蹴ĨhBbKmH o(sH hBbKhBbKmH sH  hBbKhmhmmH sH hmmH sH 6hmB*CJOJPJQJaJmHnHphsH tH u-hmCJOJPJQJaJmHnHsH tH u>›ʛܛDFN`pȜ؜ڜ$&npҞöyZ<hl;hl;B*CJOJPJQJaJmHnHphsH tH u8hhB*CJOJPJQJaJmHnHphtH uhBbK0J5B*\o(ph!hBbK0J5B*\mH phsH hBbK0J5B*\ph hBbK0JhBbK0J5\mH o(sH hBbK0J5\mH sH hBbKmH o(sH hBbKmH sH hBbKmH o(sH LzҞl8p|Fv|^gdl;gd 7$8$H$gd"$<>t(>pХ Ҧ֦ᵫšztztgXgXtNtEhBbK0J5\hBbK0JmH sH hBbK0J5B* \o(phhBbK0J5B* \ph hBbK0JhBbK0J5B*\phhBbK0J5B*\ph h0J!hl;hl;0JB*mH phsH hBbK0JB*phhhBbK0JB*ph<hl;hl;B*CJOJPJQJaJmHnHphsH tH u<hhB*CJOJPJQJaJmHnHphsH tH uܤ&@Х PtҦ$2.Rz̨̩*Zxʧ.zʨ̨ĩƩ̩(*LT"$ p^jóæЌЌóÂгxhBbK0JB*phhBbK0JB*phh''hBbK0JB*phhBbK0J5B*\phhBbK0J5B*\phh''hBbK0J5B*\phhBbK0J5B*\ph hBbK0JhPhBbK0J5B*\phhBbK0J5\hPhBbK0J5B*\ph.BĬܬTȭޭ"Bp:L^l|jl|PZ`bV^hprijƳ 4ln  0L\|ӿӻӜӿӿӿʑӿʿʑӿӿӿӿhBbK5\mH o(sH hBbK5\mH sH hBbK5\mH o(sH  hBbKo( hBbKo( hBbKhBbKhBbKmH o(sH hBbKmH o(sH hBbKmH sH  hBbK0Jo( hBbK0JhBbK0J5B* \phhBbK0J5\o(1RrƳn>|JB8x`<>z|Ҷֶضڶܶ 4Ppt.2468Pdjl*$4ۑۑ!hBbK0J5B* \mH phsH hBbK0J5\mH sH  hBbKo(hBbKmH o(sH  hBbKo(hmmH sH hBbKhBbKmH sH  hBbK hBbK0J hBbK0Jo(hBbK0JmH sH hBbKmH o(sH hBbK5\o(hBbK5\o(.*n$Zjxľ\rDD:8F4Xƾξ޾v^jn  ":HN~ (.\jlxzʻΫʧʫΞΰhBbKmH o(sH hm hBbKo(hBbKmH o(sH  hBbKo(hmmH sH hBbKhBbKmH sH  hBbKhBbK0J5\mH sH hBbK0JmH sH hBbK0J^JmH sH ;Fn|.(>Hv z`prt<> $H˷ˉ˷vi`ivYFF$hBbK5CJOJQJ\aJmH sH  hBbK0Jo(hBbK0J5\hBbK0J5B*\phhBbK0J5B*\ph hBbK0J"hBbK0JCJOJQJaJmH sH 6j!hBbKB*CJOJQJUaJmH phsH 'hBbKB*CJOJQJaJmH phsH 0jhBbKB*CJOJQJUaJmH phsH  hBbKo( hBbKo(hBbKCJOJQJaJmH sH  vbv$ĭԭԚĚԚă~vrjr~r~r~re^ hBbKo( hBbKo(hmmH sH hBbKhBbKmH sH  hBbK-hBbK5B*CJOJQJ\aJmH phsH $hBbK5CJOJQJ\aJmH sH -hBbK5B*CJOJQJ\aJmH phsH hBbKCJOJQJaJmH sH -hBbK5B*CJOJQJ\aJmH phsH 'hBbKB*CJOJQJaJmH phsH $bv4Zbv^V(^t4$4t>LRtlt(:>@DFbjr22Vp'hBbKB*CJOJQJaJmH phsH hBbKCJOJQJaJmH sH $hBbK5CJOJQJ\aJmH sH  hBbKo(h7fmH sH hBbK hBbK!h)AhBbK0JB*mH phsH !hBbK0J5B*\mH phsH hBbK0J5\mH sH hBbK0JmH sH hBbKmH sH +Vnt (:>@BDFbjr"RخؚؚؚؕgO.hBbKB*CJOJPJQJaJmHnHphu3h6hBbK5B*CJOJQJ\aJmH phsH h7fmH sH hBbKhBbKmH sH  hBbK'hBbKB*CJOJQJaJmH phsH $hBbK5CJOJQJ\aJmH sH -hBbK5B*CJOJQJ\aJmH phsH hBbKCJOJQJaJmH sH -hBbK5B*CJOJQJ\aJmH phsH 4 ("Rbl0(gd)A 7$8$H$gd)A*.bfj48p~ .0fj~ۭ||iNi4hBbK5B*CJOJPJQJ\aJmHnHphu%hBbKCJOJPJQJaJmHnHu-hBbK5B*CJOJQJ\aJmH phsH 3h6hBbK5B*CJOJQJ\aJmH phsH -h6hBbKB*CJOJQJaJmH phsH -hBbK5B*CJOJQJ\aJmH phsH hBbKCJOJQJaJmH sH 'hBbKB*CJOJQJaJmH phsH b]UQUIQ]Q]Q]Q]h7fmH sH hBbKhBbKmH sH  hBbK9hh)A5B* CJOJQJ\aJmH o(phsH Bhh)A5B* CJOJPJQJ\aJmHnHphsH tH u$h)Ah)ACJOJQJaJmH sH h)ACJOJQJaJmH sH .h)AB*CJOJPJQJaJmHnHphu!h)ACJOJQJaJmH o(sH $h)ACJOJQJaJmH o(sH htvnp^{aݕ{aMF hBbKo('hBbKB*CJOJQJaJmH phsH 3h6hBbK5B* CJOJQJ\aJmH phsH 3h6hBbK5B*CJOJQJ\aJmH phsH 3h6hBbK5B*CJOJQJ\aJmH phsH -hBbK5B*CJOJQJ\aJmH phsH -hBbK5B*CJOJQJ\aJmH phsH $hBbK5CJOJQJ\aJmH sH hBbKCJOJQJaJmH sH v<f^pXZ\^`@^JNVXZ\^bnt 2N>@Bf"$"(JjhBbK5\mH o(sH hBbK5\mH o(sH hBbK5\mH sH hBbKmH sH  hBbK hBbKo(hBbK hBbKo(hBbKmH o(sH hBbKmH o(sH hBbKmH sH ?>X`4rzH ^` ^``6Nf8L<@HRT  "6LVX<T^`x24hBbK0J5B*\phhBbK0J5B*\o(phhBbK5B*\mH phsH hBbK5\mH sH hBbKmH o(sH hBbKmH sH hBbKmH o(sH D4>FrB|2P 8`Zxz|~ȽȽȽȽȽȽȽȽȽЯЦȽȽКȽЦȦhBbK5B*\mH phsH hBbK5\mH o(sH hBbKmH o(sH hBbK5\mH o(sH hBbKmH o(sH hBbKmH sH hBbK5\mH sH $hBbK0J5B*\mH o(phsH !hBbK0J5B*\mH phsH 1prNT0Zz~$Nºº~vk~h:8hBbKmH sH h:8mH sH #h:8hBbK5B*\mH phsH hBbKmH sH  hBbKo(hBbK hBbK hBbKo( hBbK0J hBbK0Jo(hBbK5\o(hBbK5\o(hBbK5B*\mH phsH hBbKmH o(sH hBbKmH o(sH  hBbK5B*\mH o(phsH *HrPfv ff6VV` ^`&tv&2PZ\^xz  02Pt8Xfl|ɾɾѾɾɾɾɰh^\mH sH hohhohmH o(sH hohmH o(sH hohmH sH hBbKmH o(sH  hBbK0JhBbK0J5B*\phhBbKmH o(sH hBbKmH sH B:n6@NV^t$TX,{phBbK0JmH o(sH 'h^\hBbK0J5B*\mH phsH !hBbK0J5B*\mH phsH hBbK0J5\mH sH hBbK0JmH sH hBbK5B*\mH phsH hBbKmH o(sH h^\mH o(sH h^\mH sH hohmH o(sH hBbKmH sH hBbKmH o(sH ( X,|*j R 8 `  &\ " & F `, &*.>p:Z~8Nbj,>@^ :N  2 D \ ` h j     ˾Ͼ־hBbK5\mH sH hBbKmH o(sH hBbKmH o(sH hBbKmH sH  hBbKo(hBbK hBbKo( hBbK$hBbK0J5B*\mH o(phsH !hBbK0J5B*\mH phsH >    & ( P v x       \ ^       ( F ^ ` v           $ > H T r      *,zF^8 hBbK0JhBbK5B*\mH phsH  hBbKo(hBbK hBbK hBbKo(hBbKmH o(sH hBbKmH o(sH hBbKmH sH I"6JX8FZn  :z,4<dl "48:<>`brH|ļ䳦hBbK0J5B*\phhBbK0J5\h"mH sH h"mH o(sH  hBbKo(hBbK hBbK hBbKo(hBbKmH o(sH hBbKmH sH hBbKmH o(sH A:HD|tRRVBz~f@|t~RVZxz~ >@            !b!!دإs!hBbK0J5B*\mH phsH hBbK0J5\mH sH 'h"hBbK0J5B*\mH phsH hBbK0JmH sH !hBbK0J5B*\mH phsH hBbKmH o(sH hBbKmH o(sH hBbKhBbKmH sH  hBbK hBbK0Jo( hBbK0JhBbK0J5B*\ph-@D0   !b!!!j""""*##$f$$L%%%&&6''( (F((gd ;! ":"@"h"""""""""L#N#Z#\####$4'6'<'''''''''(øzunaTnh:h:5\o(h:h ;5\o( h ;o( h ;o(h:0J^JmH o(sH h:0JmH sH h ;0JmH sH  h ;0J h"0J hBbK0JhBbKmH o(sH hBbKmH o(sH hBbKhBbKmH sH  hBbK!hBbK0J5B*\mH phsH !hBbK0J5B*\mH phsH hBbK0JmH sH  (( (B(F(J(\(z(((((((.)L))))),*N***** +,,2,\,^,,-6-8->-^-x-~----ܺܺííxkxhBbK0J5B*\ph hBbK0Jo(hBbK0JmH sH  hBbK0JhBbK0J5B*\ph!hBbK0J5B*\mH phsH hBbK0J5\mH sH hBbK0J5\hBbKmH o(sH hBbKmH o(sH  hBbKo(hBbKmH sH  hBbKo(h ;0JmH sH h ;mH o(sH *(H))J*** +D+++,^,,-8----..//&0t001l111^`-----.. .N.P.......///^/n/x///////0$0.0B0R0r0|0000123444444^5b5j5p55566ù̉ hBbKo(hBbK0J5B*\o(phhBbK0J5B*\phhBbK0J5B*\phhBbK0J5\o(hBbK0J5\hBbKmH sH hBbK5\mH sH hBbKmH o(sH hBbKmH o(sH  hBbK0Jo( hBbK0J61N222*3~33"44444l5667l7889R99L:N:P:T::: ^`^6 60666R6r66666j7l7r7777778 8,8F8b8v88889999&9R9X999J:L:N:P:R:T:V:b:h::::::::::;;;Z;`;b;·Ϭ¨ hBbK hBbKo( hBbKo(hBbKhBbK0JmH o(sH hBbK0J^Jo( hBbK0Jo( hBbK0JhBbK0JmH sH hBbK5\mH sH hBbKmH o(sH hBbKmH o(sH hBbKmH sH ;:Z;x==,>>\??@@@RAADBBLCC2DDPEEFrGGHI J|JgdxTgdxT`b;;<R<|<<<<<<<<<<P=t=z===========>>">$>*>.>6>>>F>X>Z>\>f>h>j>>>>>>>>>>>>>?4?*\mH o(sH #hmhBbK5>*\mH o(sH hBbKmH sH  hBbK hBbKo( h5j hBbKo(hBbKhBbKmH o(sH hBbKmH o(sH hBbKmH sH -6:$*VXZd:@Jpޒ ".0TV`n.ܖ jlr#hIqVhBbK5B*\mH phsH hmhBbK0J5\ hBbK0Jo( hBbK0JhBbKmH o(sH hBbKmH sH hBbK5\mH sH hBbK5\mH sH  hBbK hBbKo( h5jo(hBbKmH sH hBbK hBbKo(4XZ:0Vړ<FpʕlȖܖ`ؘ\`rx.4NVfxȘޘ 08ZbnЙ :ʛ̛֛&̝ԝ˿ٶٙ#h|hBbK5B*\mH phsH hIqV5\mH sH hBbKmH o(sH hBbK5\mH o(sH hBbK5\mH o(sH hBbK5\mH sH hBbKmH o(sH hBbKmH sH hBbKmH sH <ΝzȞ$̟ҟFLؠڠT^$2z2vʧ̧`".0FHZƞȞޞ",NZ\pŸПҟJLT^֠ؠڠ,TZbnwwhBbK5\mH sH hmmH sH h|hBbK5\mH sH !h|hBbK0JB*mH phsH h|hBbK0J5B*\phh|hBbK0JB*ph#hmhBbK5B*\mH phsH hBbK5\mH sH hBbKmH o(sH hBbKmH sH hBbKmH sH .ԡ>@PRآ^d(>R`ȤԤ28 F^dzȧʧ̧֧䛔 h5jo( hBbK0Jo( hBbK0JhmhBbK5\mH sH hBbK5\mH sH hBbKmH o(sH hmhBbK5\mH o(sH #hmhBbK5B*\mH phsH hBbKmH sH hBbKmH sH hBbKmH o(sH 7֧BPVlΪܪުz (pr.0BFHJLdz:Z±h5jh5jo( h5jo(hDhBbK0JmH sH hDhBbK0J5\h|hBbK0J5B*\phhBbK0J5B*\phhBbK0JmH sH hBbK0J5\ hBbK0JhBbK hBbKhBbKmH sH  hBbKo(1̧lʨH(ު2V֫\<\έJp¯gd|0ذްl:8".z>^gd5j`gd:4`gd5jgdI&gd5jgd5j±*:<XnIJB³.<Dhjźźźźwe#h:4h5j5B*\mH phsH #hmh:45B*\mH phsH h5j5B*\mH phsH h5jB*mH phsH h5jB*phhI&hI&mH o(sH hI&mH o(sH hI&mH sH  h5jo(h5jmH o(sH h5jh5jmH sH  h5j h5jo(hmH o(sH &ʶ̶ζڶ޶$NPbdlзҷڷ6HJT~ɷɷɷɷrɷɷɷcQQ#hqhq5B*\mH phsH h5j5B*\mH phsH hq5B*\mH phsH #h:4hq5B*\mH phsH #hqhq5B*\mH phsH #hqhe\N5B*\mH phsH #h:4he\N5B*\mH phsH #h:4h5j5B*\mH phsH #hqh"5B*\mH phsH #hqh5j5B*\mH phsH >ζdҷJ¸*L8Bl$&~<^`gd5j^gd5j~¸̸θиҸԸ(*HLP¹ιԹ8@Dl"24ۺvvrmh_vvhBbKmH sH  hBbK hBbKo(hBbKhBbKmH o(sH hBbKmH o(sH hBbKmH sH  hBbKo(#h"h"5B*\mH phsH h"5B*\mH phsH h5j5B*\mH phsH #h:4h5j5B*\mH phsH #hqhq5B*\mH phsH #h:4he\N5B*\mH phsH %޻Rp  "4NPZlpz<LThjܾ̾"$&2BDx|"$Znp 0F*0 hBbK5\mH o(sH hBbK5\mH sH hBbK5\o(hBbKhBbKmH o(sH hBbKmH o(sH hBbKmH sH J$,>BV\nr|  &Hfp",:<>PTVXZr|"028(hBbK0J5B*\phhBbK0J5B*\phhBbK0J5\hBbK0JmH sH  hBbK0JhBbK hBbK hkFhBbK5\mH o(sH hBbK5\mH sH hBbKmH o(sH hBbKmH o(sH hBbKmH sH 7<:V^*Dh$Pj~<V(<Bbfxhj~Z<ȸș|||sosff|saoo| hBbKhBbKmH sH hBbKhBbKmH o(sH hBbKmH o(sH hBbKmH sH hBbK0JmH sH hkF0J^Jo(+hkFhkF0J5B*\^JmH phsH hkFhkF0J5B*\ph hkF0JhBbK0J^Jo(hBbK0J5B*\phhBbK0J5\hBbK0J5B*\ph hBbK0J&<V v ^LNhjϾ鬤鱋s!hBbK0J5B*\mH phsH  hBbKo(hBbK0J5\o(hBbKmH o(sH hBbKhBbKmH sH  hBbKhBbK0J5\mH sH !hBbK0J5B*\mH phsH  hBbK0Jo(hBbK0J5B*\ph hBbK0JhBbK0J5\hBbK0J5B*\ph-"Lj^v6XZr(@zNl.F\vVRpgd`DF\rv,4<TVnv~$8R.08:pǿǿǿششᴐːشششrhBbK0J5B* \ph hBbK0Jo(hBbK0JB*phhBbK0JmH sH hBbK0J5B*\phhBbK0J5B* \ph hBbK0J hBbKhBbKmH sH hBbKhBbK0J5\mH sH hBbK0J5\hBbK0J5B*\ph!hBbK0J5B*\mH phsH ,:R,Np .BD^8gd`JL  DZ^ptvxz0>~8\^tv8ɸ윔{tttt hBbK0Jo(hBbKmH o(sH hBbKmH o(sH  hBbKhBbKmH sH hBbKhBbK0JmH sH hBbK0JB*mH phsH !hBbK0J5B*\mH phsH hBbK0J5B*\phhBbK0J5B* \phhBbK0J5\ hBbK0JhBbK0J5B*\ph-Dl&H\Nx(Vt$<Rx8BLlv,6&(h (FH,2rxDFFLdpɾ;;;;ɾ; hBbK0Jo(hBhBbK0J^Jo(hBbKmH o(sH hBbKmH o(sH hBbKhBbKmH sH  hBbKhBbK0JmH sH hBbK0J5B*\ph hBbK0JhBbK0J5\?RfhHv>0Fl8Vtp 68V f0P*.06@B&*@BFHTȾȾ}Ⱦ!hBbK0J5B* \mH phsH hBbK0JB*mH phsH !hBbK0J5B*\mH phsH !hBbK0J5B*\mH phsH hBbK0JmH sH hBbK0J5\mH sH hBbKmH o(sH hBbKmH o(sH hBbKhBbKmH sH  hBbK hBbK0J1 8Pf0PBpB`x0V,D*T* N~(ZF2`~*NlJ^vz248rv"6\h48BF$,26NVXZltBT<h"hBbKmH sH  hBbKo( hBbK0J'hBbKmH o(sH hBbKmH o(sH hBbKmH sH  hBbKo(ONX 4N4           b    f`".bd *Rdf~>Bx48x24HJ`b´hBbK5\mH o(sH hBbK5\mH sH hBbK5\mH o(sH hBbK hBbKo(hBbKmH o(sH hBbKmH o(sH hBbKmH sH G,:DLNt  4 H d       4 t        6 8 ~      $         " ` b   fjŹŢŢŢŢŢŰ䘍hBbK0JmH o(sH hBbK0JmH sH  hBbK0Jo( hBbKo( hBbKhBbKhBbK5\mH o(sH  hBbK0JhBbK5\mH sH hBbK5\mH o(sH hBbKmH o(sH hBbKmH o(sH hBbKmH sH 7fz8ltx(Th^:<rjz~8<lpvxhl<Drvx~DFJR~(0Xx˰˰hBbKmH o(sH hBbKmH sH h`0JmH sH hBbKmH o(sH  hBbKo(hBbK hBbKh>hBbK0J5\mH sH hBbK0JmH o(sH hBbK0JmH sH ArzJ~,LpfL!"&"B"h""""""#%$a$xz&~ &(6>JNjxzpLPVhv"$P|PR\rtʿ hBbK0Jo(hBbK5\mH sH hBbK0J5\hBbKmH o(sH hBbKmH o(sH hBbKmH sH  hBbKo(hBbK hBbKo(H8 > @ X Z     !! !D!P!b!l!!!!!!"<">""""""""""$######$.$>$D$T$^$l$v$$$$&%@%D%J%x%%%%%%%%''''''''hBbKmH sH  hBbKo( hBbKo(hBbK hBbK hBbK0Jo( hBbK0JhBbKmH o(sH hBbKmH sH hBbKmH o(sH I%%&,&p&&&&"'Z''' (<(@((((((>))*.*J****+n+' ((((()@)p)r)z)))))**** ,2,6,d,v,|,,,,,,,-8-t-----..*.h.j.p.r..../L/z///////40H0T0p00000被被被hBbKmH sH hBbKmH o(sH  hBbKo( hBbKo(hBbK0JmH sH hBbK hBbK h>hBbK h>0JhBbKmH sH hBbKmH o(sH  hBbK0Jo( hBbK0J@n+++,,, ,,.134l67(7X777&8B8F889T9r9999900"1H1X1111111120222<2N2X2f22222222 3Z3h3x3333334,4:4D4t44444444555525@5L5555556"6$6.6B6j6l666666667F8Z8\8^8x888 hBbK0JhBbK hBbKhBbKmH o(sH hBbKmH sH hBbKmH sH hBbKmH o(sH P888*:j::::::;;";$;>;@;f;h;z;|;;;;;;<$<:<b<<<<<<<==j??? @@ @<@F@T@X@@@@2AvAAAAA&BRB\B^BBBBBBCC6CCCCCD2D8DLDTDVDBGLGGhBbK0J^JhBbK hBbKhBbKmH o(sH  hBbK0JhBbKmH sH hBbKmH o(sH P9 :$:(:*:h:<=>=d===>H>>?N?f?j??BCLDD EPEEEE4F4FFFGVGGGG IJJ8KKL"MMM N*NlNNN,OpOOOO:PXP7$8$H$GGGGLHjHvHHI INIlIxIIJ6J8JHJ\JJJJJJJKK K&K4K"M.MhMnMMMMMMMOOOP PP$P,P6P:PLPRPXPRR"RPR\R`RVVWJWxW|WWWW\\ hBbK0Jo(hBbK0J^Jo(hBbKmH sH  hBbKhBbKhBbKmH sH hBbKmH o(sH hBbKmH o(sH  hBbK0JhBbK0J^JEXPvPPPQLQQQ$RbRR SbSSS&T>TT.UFUU0VVVVW|WWWXXRXXXY@YYY:Z^ZZZ[[[[*\\\\\](]]]]<^b^^^\\\\] ]]8______.brbvbbbb,i.iTiZinitixiiiilllmmmm"mHmPmvmm(nznnnnnZppppppp^qqqqqqrrrs ssFsJs\sbshsxxxxxxy"y0y2y4y hBbKo(hBbKmH o(sH  hBbKo( hBbK0JhBbKmH sH hBbK hBbKQ^_$_8_:____``D`Z```aFaVaaab.b0bvbbbHccchdddeXeeefff ggglhhii,i.ixiiijXjpjjj*kkkkll$llllllmmm*nnoBooopHpXpZpppq^q`qqqqrjrjrzrrrrrrJshss&t0tttt&ujuu$vvv~wwwxxxxxxxxxxxx4yyytz{D{{{ |||r|t|||0}V}}}~T~~~~~4yFyZyzyyyyyyyyy zz"z,zxzz{||&|:|T|p|t|||||~~~~~$>HZdjv6:Lh0 hAhBbK0J5\^Jo(hAhBbK0J5\hAhA0J5\mH sH hBbKmH o(sH  hBbKhBbK hBbKo( hBbK0Jo( hBbK0JhBbKmH sH hBbKmH sH :~f.48:h΁~4$~vjṅDgdA"l|~چމ,@BHThx:RTVֱ֪~~~hw- hw-o(hZ=hZ=o( hZ=o(hZ= hZ=o( hZ=5\ hA5\&hAhBbK0J5OJQJ\mH sH  hAhBbK0J5\^Jo(hAhBbK0J5\hAhBbK0J5\mH sH hAhBbK0J5\o(0dމBT4 Ԏ vď Ɛ.D^^gdZ=gdZ=gdA$&24:Rlnȍ؍ 8>LVXҎڎ&t|ʏ֏؏&NRĐ̐,4P2DHJNPͻҮҦh~jh~UhBbKmH sH hXMhBbKB*ph hXMo(hXMhBbKB*ph hBbKhBbK hBbKo( hE5\ hBbK5\ hZ=5\ ho( hh0|C4:\Docum|e0nts and/ Sقe|ttiЂn|g`s\Ngirmlj@04*||p|J|m"|J*||"*|m>|`JWؤŀ|RMm>|\M|p`"ƑM|mƑ|>||?|>|0|ؼ5qlFK!bKGDH cmPPJCmp0712HsIDATx^]b8%l0L¶!'W}KWMlY6ܣ__{oH` 0Еk>\1o%;Y_JTQ֧7Oc0XNHkdC3{1-u`i/՟a ZV{`ͩse`՘s3ɛy]X77V=kg`NҤ@K}^}a-s"aA J5 7۰,fH$X9uu#BR4` Yz}VXIu'j-RlL5x=m?S?\sϹ/L势6#$#*\s`_W b^_냾)a U?d̳]+Mg`,zZj [l%3 T3w]p0>jbMV!ˬJNE,AfApGod'ՌSQ>Q-@~gm36ka+6E`%Zḭ ?3;vv㏑Re tzиuY *9q Z͉%iu,Pưc¬9`T1wh0CkM3Ǡj#t4g-%JEDQЊP~;J .j%1셷ZZh f(#UKĕv%aGZ>%HXo:Y L5%d!^ )De̲L;Kn.w¶W)=Ma A}OǼu(XrޖYnk2Mݹ[ C>QCWJD&Ѭwt5gicsdZ`e{jz:¬H)12*,ĕ5+,>~/tmTݴ9zIK@ǀ灅loM6TMmކ՗Mϔlf?v%^+b2_rt`%6f H9NekvL[&[aRRa%|.::PDc? ]Ї\*pciE|"  [\$V A+S`E1 XGTN-qXbvh'Egِ*ڡm|˷ӎBC,gCy& tLP Fd ,YD0 :l_426r" 4O)|!Q΂ŌCX h47̺_oa0^4d`5Fq5K T+A/I) %(PZ c3Y/wv6GKo^ 0y6T`Qlce) 6ݬLEpG~Nkg=qrGLS8[[xR vuZ#bSyڅQo{v2L(d8V\YqQf ;BKסg~EcGX\y/I8:ZHz(0gA&#?Ѕ )! $:3cV繖XqO>ЎVh;x=HV%c6Hg,%ꙹ K_BME^X6IS^:5?B3tBKaU5f`Nٛ-|a) hd9U0BQ X-…6+jf'/TC7AxFqD8xfX~펇*Xds놜 xʽTlMp= pxn<\O-5AR({J0ƃC3Ct\cE%!!@Wo w}Q2zT ,~Xwd"xY~AbTww?& SE:`I *fhDJ:Ҭ\݅%X}fHf#!N BR`QX-;1KFn=,ЄhFL#&`&FFOg7 fe o oz!=J%?qqCO/<擿 )6o=:*¬Mpn*.R"ZuC_\^ʶ%`cQ,plXKRi3Q2 q.fN pNCEh ,4KWw<D<a,r!+\*R\tKm@N:V)u! &^)k4_*˃t]ά(%ljzX0 ,'򃛩>pI̲it!1& tJ 'ؒIh1Z',&o(!Rqr J_`Xl6 7).V-9OрYlx,OQm>9Xnan_%/V?6ᅪ:#WXMD:a]Qw: 1ƿǬD8׃8)\[(˂CE^W/X- + R#::3;y5CKմH¨]5d$q ʵB[$ :+ldcZd#U9% LDDa6SBqrew>&djY_Ր-ŧydHŌdLtm%ݷi櫆:>/ДAv8 Q&W(rR ̆MRbW ,)RNԑPfPUI,.T0yxŝn0p|x}`2&fKPXfk9̋o:$[V%H7S .ܴ9P5DN^GcJa YX6|M 5TSFEVQ4| a¬F)*%C%`l>珕tX:,.gQ착gIENDB`.@@@ :4NormalCJ_HaJmH sH tH Z@Z Heading 1$<@&_H5B* CJ$KH$\_HaJ$R@R Heading 2$<@&_H5CJ \_HaJ L@L Heading 3$<@&_H CJ _HaJ R@R  Heading 4$<@&_H5OJQJ\_HDA@D Default Paragraph FontVi@V  Table Normal :V 44 la (k(No List 4U@4 Hyperlink >*B*_H<Y<  Document Map -D _HdO"d Definition Term_H&CJOJQJ_HaJhmH sH tHulOl Definition Listh^h_H&CJOJQJ_HaJhmH sH tHue@2 HTML Preformatted; 2( Px 4 #\'*.25@9_H-B*CJOJPJQJ^JaJmH phsH tH 6OA6 Definition 6]_HbOb H1$dd@&_H05CJ0KH$OJQJ\_HaJ0hmH sH tHu^O^ H2$dd@&_H,5CJ$OJQJ\_HaJ$hmH sH tHuVOV H3$dd@&_H$5OJQJ\_HhmH sH tHu^O^ H4$dd@&_H,5CJOJQJ\_HaJhmH sH tHu^O^ H5$dd@&_H,5CJOJQJ\_HaJhmH sH tHu^O^ H6$dd@&_H,5CJOJQJ\_HaJhmH sH tHuZOZ Address_H,6CJOJQJ]_HaJhmH sH tHurOr Blockquotehhdd]h^h_H&CJOJQJ_HaJhmH sH tHu*O* CITE 6]_H8O8 CODECJOJQJ^J_HaJBOB Keyboard5CJOJQJ\_HaJO Preformatted, # ~= z9!v%_H&CJOJQJ_HaJhmH sH tHuv]@vz-Bottom of Form!$$da$_H*<CJOJQJ^J_HaJhmH sH tHp\@p z-Top of Form"$&da$_H*<CJOJQJ^J_HaJhmH sH tH0O10 Sample OJQJ_H@OA@ TypewriterCJOJQJ_HaJ2OQ2 Variable 6]_H8Oa8 HTML Markup <B*_H.Oq. Comment<_H8B@8 Body Text ($a$_H2X@2 Emphasis 6]_HJV@J FollowedHyperlink>*B* _Hph8@8 Header+ !_H8 @8 Footer, !_H.)@. Page Number҄(Qp ,y~8s >kl%&\^"mK8abNOW!!!!"I"y""#@#&$]$$$$%A%[%v%%%%&-&''M((()O))*V+}++++,:,_,,,,,$-d---.(.I.J..../'/j////00 0W00000*1@1111111*2+23W3333314=4G4V4q444445R66;;q<< ==E=F=i=j=====>>p>q>>>??}?~?????@@c@d@@@@@wAxAAABBB C C4C5C]C^CCCCCDD^D_DDDDDDD'E(ESETE7F8FFFNGOGzGGGG HH;HMHHHHHII;IuIIIII.J=JLJfJuJJJJJKKAKXKdKoKKKKKL%L3LLMMMMOOOOOOPPPMPiPuPPPPPPQ-QLQpQQQQQQQ RR:RMRgRRRRRS"S;SYSzSSSSSUUUU6VsVVVW;WaWWWWWW XIXRXXXXXX.Y?YGYYYcYpYYwZZZZ[#[B[`[r[[[[$\@\A\r\]5]^*^__````aa/aFaSajaxaaab;bbbcoccccd.d=dXdzddddddeDeeeeee f*fEfWfpfffffff ggEggggh=hrhhhhhhhhi,i>iJiUiiiiiiijj2jRjzjjjjjk)k/k1k^kskkkkkkl1lYlclilklllllm+m7m9mkmmmmmmn)ncnnnnnnno4oIonooooopLpNp~ppppppp qq3qoqqqqqqqrerrrrr,s{ssstRttttFuuuu#vPvvvvvvwwAwQw]whwwwwwwwww xLxxxxyFyyyy=z{zzz{B{{{{{ |F||||}#}+}=}G}T}}}}}~F~~~~~Cfw _<"m‚Vgeڇ/Uxֈ6\ĉ9bҊ6bً2Whmn0Q{D̎"-DEaҏ8PlڐʑZxӒ 8iϓ•ÕOϖ 7NZe}˘1@O}ĝ2:Wq}.8Cn}ß՟'@q}֠۠ PXwܡ Jiעۢ+C{ģ2pʤޤ>̥GĦΦϦЦѦ/qڧ>h}<^9Rk٪*Uuʫ6~׬:hԭխs N_Oױ(L[gεݵ +KU3Qt˷.:Dzָ(-<a~ܼ_`οٿ)5@t 'uat.=Lbnz cu'6yW 0BxZ[\&e|6W-d7K2xA`yJ0-nvL*f+@x%Demk0J{Bu@LMd>PUn E (0Sf1=Lz/P_k#T"1gLn+F_6ETu(Z|*Kh/e!Ci8b'3>O  (Zx0S/I[?Pi)Ih - 2 D U ^ o   H       - X         / I O _ m u          '9IS5HUd}$3BPkw%B]i 9T`#7Xs!0?b}:Ua /[Sap 0;O]l2S_ #cw/;t(<Xn ,e{ l    !@!a!y!!!!!!"-"Y"n"v"""""####4#?#V#c######'$;$H$S$$$'%l%%%%&&3&V&~&&&&&&&'b'''''(;(L(_(()9)r)))**>*E*v********+,--2-7-.0000)1*1I111)2R2223.3O3333,4e4444445F5n5556N6X6k6v666667 7G7e7777 88&818\8s888888>9H9S99V;%<g<<<5=m=q====> >C>n???@M@@@ACA\AAAAA2BPBdBeBvBBB?C}CC$DCDnDsD$G>GGGH[HzHHHI;IqIIIIJJJhJJJJJJ4KgKKKKL3L>LKL^LLLLLLL1MdMMMMMN+NVNcNNNNN5OOOO!P/PMPhPoP~PPPPP QQ+Q1QhQvQQQQ(RFRiRpRRRRSS&S>SDSfSlSzSSSSS0TLTcTfTrTTTTTUU$U(UPUSUXUUUVPVVVVWMXXXXYPY^YrYYYYYY `/`H`[`y``` aPaaaaa%b6bsbbbbbb cc3coccccdFdddddde!eAeoeeeee.f:fOf~fffffffg1g_ggggg h h-h`hhhhhi#i9iiiiii j;jijujjjjjk6kUkukkkkl%lYlflzllll{{O}t}~J-C[qvЀ "t HtՂ؂ =BOZ!3F\Pg~Ʌ:8p"4GZo̊EGMlʌ׌Mލ "/owɎ!(]̏Qu֐Kב9s~ϒԒ0Ganד5>EMWHrƕ b͖4lϗ +Khؘ$FjD˚=ț1zל,Zӝ+2nƞ͞&_fpl3kʡLТ@JUJ_:RWx>Xɦ)^Чק#[Ԩ@jũ'ѪJb«>nwǬ;<=>?inZݰ.nб)[qȳZn̵3HVg· ]ʸoº* :_u%MlD+ "=kx`S,k1M8a0LNy/1g@r$] 5\3`1Ow+cqzYyEo$Nj EE8|<K_=8}5t7{&)U\}>r9rW<Oo}AQx 3AFQbu|u <PkvJT[bv[ jE<r32Hf @FRUu,4i@hw;GQXyFq$Q=a4>Vf<K&Q}B] Ju3Yk~   384b|"Y;<k':V|2GtU=lU   v   ! S u x     9    > h   ((Jltu3d(:z-=\v4GbpE[cf+X A$5noE!_U"W- ] p     !>!b!y!!!!!!! "!"7"D"N"""l###### $ $5$D$P$[$f$}$$$$$$$%%R%]%p%%%%%%%%%&#&/&L&[&l&v&w&&&&'&'2'='J'd'{'''''(8(G(S(^(q((((((()%)6)G)Q)d))))))))U*l*{*****+++1+E+d+++++++,6,K,\,f,,,,,,-!---8-K-`-}-------.3.J.Y.h.... //'/2/E/|//////0+0:0I0c0s0000000111'171U1j1z111111112202?2K2V2m2|2222223%313j333333334$4Z4l4444444#5<5Q5_5n555555566Q66x77(8?8N8e888888 949l9{99999:<=>>??? @)@AYAvAAAAA BBB@B]BoBBBBBC+CECICKCuCCCCCCDDCD]D_DaDDDDD E,EdEEEEEE4FNFRFTFF5HHHHHIIBIJK[LLLLLLLLӄK00D 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0' 00̇0F 00̇0q 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00̇0Z 00̇0_ 00̇0 00̇0T 00̇0  00̇0  00̇0  00̇0 00̇0 00̇0 00̇0L 00̇0M 00̇0k 00̇0l 00̇0 00̇0 00̇0= 00̇0? 00 ̇0t 00!̇0 00"̇0 00#̇0 00$̇0N 00%̇0k 00&̇0 00'̇0 00(̇0 00)̇0, 00*̇0~ 00+̇0 00,̇0v 00-̇0 00.̇0 000̇0B 000̇0C 00Ḋ0 D 00Ḋ0 D 00Ḋ0O D 00Ḋ0P D 00Ḋ0 D 00Ḋ0 D 00Ḋ0 D 00Ḋ0 D 00 Ḋ0!!D 00 Ḋ0"!D 00;̇08! 00<̇0j! 00=̇0! 00>̇0! 00?̇0! 00@̇0*" 00Ȧ0Z" 00Ḃ0" 00Ċ0" 00Ḋ0!# 00Ė0$ 00Ḟ0>$ 00Ġ0i$ 00Ḣ0$ 00İ0$ 00J̇0$ 00K̇0"% 00L̇0<% 00Ṁ0W% 00Ṅ0i% 00Ȯ0% 00Ṗ0% 00Q̇0% 00Ṙ0& 00Ṡ0' 00Ṫ0' 00U̇0.( 00V̇0n( 00Ẇ0( 00Ẋ0( 00Ẏ00) 00Ż0h) 00[̇0* 00\̇07+ 00]̇0^+ 00^̇0+ 00_̇0+ 00`̇0+ 00ȧ0+ 00ḃ0, 00ċ0@, 00ḋ0f, 00ė0, 00ḟ0, 00ġ0, 00ḣ0- 00i̇0E- 00j̇0q- 00k̇0- 00l̇0- 00ṁ0 . 00ṅ0*. 00ȯ0+. 00ṗ0z. 00q̇0. 00ṙ0. 00ṡ0. 00ṫ0/ 00u̇0K/ 00v̇0}/ 00ẇ0/ 00ẋ0/ 00ẏ0/ 00ż0/ 00{̇00 00|̇080 00}̇00 00~̇00 00̇00 00̇00 00̇0 1 00̇0!1 00̇0g1 00̇0z1 00̇01 00̇01 00̇01 00̇01 00̇0 2 00̇0 2 00̇02 00̇083 00̇03 00̇03 00̇03 00̇03 00̇04 00̇04 00̇0(4 00̇074 00̇0R4 00̇0h4 00̇0t4 00̇0~4 00̇04 00̇05 00̇036 00̇06 00̇0; 00̇0; 00̇0R< 00̇0< 00̇0< 00̇0< 00 Ḋ0>D 00 Ḋ0>D 00 Ḋ0>D 00 Ḋ0>D 00Ḋ0?D 00Ḋ0?D 00Ḋ0b?D 00Ḋ0c?D 00Ḋ0?D 00Ḋ0?D 00Ḋ0?D 00Ḋ0?D 00Ḋ0$@D 00Ḋ0%@D 00Ḋ0@D 00Ḋ0@D 00Ḋ0@D 00Ḋ0@D 00Ḋ0AD 00Ḋ0AD 00Ḋ0LAD 00Ḋ0MAD 00!Ḋ0AD 00!Ḋ0AD 00#Ḋ0AD 00#Ḋ0AD 00%Ḋ0BD 00%Ḋ0BD 00'Ḋ0fBD 00'Ḋ0gBD 00)Ḋ0BD 00)Ḋ0BD 00+Ḋ0CD 00+Ḋ0CD 00̇0B 00̇0B 00̇0B 00-Ḋ0}DD 00-Ḋ0~DD 00/Ḋ0DD 00/Ḋ0DD 001Ḋ0DD 001Ḋ0DD 003Ḋ0ED 003Ḋ0 ED 005Ḋ0CED 005Ḋ0DED 007Ḋ0{ED 007Ḋ0|ED 009Ḋ0ED 009Ḋ0ED 00;Ḋ0ED 00;Ḋ0ED 00=Ḋ0'FD 00=Ḋ0(FD 00?Ḋ0eFD 00?Ḋ0fFD 00AḊ0FD 00AḊ0FD 00CḊ0FD 00CḊ0FD 00EḊ0GD 00EḊ0GD 00GḊ0UHD 00GḊ0VHD 00IḊ0HD0 00̇0[G 00̇0G 00̇0G 00̇0G 00̇0G 00̇0G 00̇0H 00̇0.H 00̇0cH 00̇0xH 00̇0H 00̇0H 00̇0H 00̇0I 00̇0I 00̇0VI 00̇0iI 00̇0I 00̇0I 00̇0I 00̇0J 00̇0J 00̇0-J 00̇0GJ 00̇0VJ 00̇0qJ 00̇0J 00̇0J 00̇0J 00̇0J 00̇0J 00̇0"K 00̇09K 00̇0EK 00̇0PK 00 ̇0cK 00 ̇0{K 00 ̇0K 00 ̇0K 00 ̇0K 00̇0L 00̇0L 00̇0L 00̇0aM 00̇0M 00̇0M 00̇0M 00̇0gO 00̇0O 00̇0O 00̇0O 00̇0O 00̇0O 00̇0O 00̇0O 00̇0O 00̇0.P 00̇0JP 00 ̇0VP 00!̇0aP 00"̇0P 00#̇0P 00$̇0P 00%̇0P 00&̇0P 00'̇0Q 00(̇0-Q 00)̇0QQ 00*̇0bQ 00+̇0uQ 00,̇0Q 00-̇0Q 00.̇0Q 00/̇0Q 000̇0Q 001̇0Q 002̇0R 003̇0.R 004̇0HR 005̇0rR 006̇0R 007̇0R 008̇0R 009̇0R 00:̇0S 00;̇0S 00<̇0:S 00=̇0[S 00>̇0S 00?̇0S 00@̇0S 00Ȧ0S 00Ḃ0nU 00Ċ0U 00Ḋ0U 00Ė0U 00Ḟ0V 00Ġ0TV 00Ḣ0V 00İ0V 00J̇0V 00K̇0W 00L̇0BW 00Ṁ0jW 00Ṅ0{W 00Ȯ0W 00Ṗ0W 00Q̇0W 00Ṙ0W 00Ṡ0*X 00Ṫ03X 00U̇0gX 00V̇0{X 00Ẇ0X 00Ẋ0X 00Ẏ0X 00Ż0Y 00[̇0 Y 00\̇0(Y 00]̇0:Y 00^̇0DY 00_̇0QY 00`̇0nY 00ȧ0XZ 00ḃ0~Z 00ċ0Z 00ḋ0Z 00ė0Z 00ḟ0[ 00ġ0#[ 00ḣ0A[ 00i̇0S[ 00j̇0h[ 00k̇0[ 00l̇0[ 00ṁ0\ 00ṅ0!\ 00ȯ0"\ 00ṗ0S\ 00q̇0\ 00ṙ0] 00ṡ0] 00ṫ0 ^ 00u̇0t_ 00v̇0_ 00ẇ0` 00ẋ0` 00ẏ0` 00ż0` 00{̇0` 00|̇0` 00}̇0a 00~̇0'a 00̇04a 00̇0Ka 00̇0Ya 00̇0a 00̇0a 00̇0a 00̇0b 00̇0vb 00̇0b 00̇0b 00̇0Pc 00̇0c 00̇0c 00̇0c 00̇0d 00̇0d 00̇0d 00̇09d 00̇0[d 00̇0d 00̇0d 00̇0d 00̇0d 00̇0d 00̇0d 00̇0%e 00̇0xe 00̇0e 00̇0e 00̇0e 00̇0e 00̇0e 00̇0 f 00̇0&f 00̇08f 00̇0Qf 00̇0kf 00̇0f 00̇0f 00̇0f 00̇0f 00̇0f 00̇0f 00̇0f 00̇0&g 00̇0g 00̇0g 00̇0g 00̇0g 00̇0h 00̇0Sh 00̇0eh 00̇0qh 00̇0{h 00̇0h 00̇0h 00̇0h 00̇0h 00̇0h 00̇0 i 00̇0i 00̇0+i 00̇06i 00̇0ci 00̇0ni 00̇0|i 00̇0i 00̇0i 00̇0i 00̇0i 00̇0i 00̇0j 00̇03j 00̇0[j 00̇0sj 00̇0j 00̇0j 00̇0j 00̇0k 00̇0 k 00̇0k 00̇0k 00̇0?k 00̇0Tk 00̇0bk 00̇0k 00̇0k 00̇0k 00̇0k 00̇0k 00̇0l 00̇0:l 00̇0Dl 00̇0Jl 00̇0Ll 00̇0~l 00̇0l 00̇0l 00̇0l 00̇0l 00̇0 m 00̇0m 00̇0m 00̇0Lm 00̇0`m 00̇0sm 00̇0m 00̇0m 00̇0m 00̇0m 00̇0 n 00̇0Dn 00̇0hn 00̇0tn 00̇0vn 00̇0n 00̇0n 00̇0n 00̇0n 00̇0o 00̇0*o 00̇0Oo 00̇0o 00̇0o 00̇0o 00̇0o 00̇0o 00̇0-p 00̇0/p 00̇0_p 00̇0rp 00̇0p 00̇0p 00̇0p 00̇0p 00̇0p 00̇0p 00̇0p 00 ̇0q 00 ̇0Pq 00 ̇0gq 00 ̇0{q 00 ̇0~q 00̇0q 00̇0q 00̇0q 00̇0q 00̇0Fr 00̇0nr 00̇0r 00̇0r 00̇0r 00̇0 s 00̇0\s 00̇0s 00̇0s 00̇0s 00̇03t 00̇0ct 00̇0t 00̇0t 00 ̇0'u 00!̇0gu 00"̇0u 00#̇0u 00$̇0v 00%̇01v 00&̇0hv 00'̇0v 00(̇0v 00)̇0v 00*̇0v 00+̇0v 00,̇0v 00-̇0"w 00.̇02w 00/̇0>w 000̇0Iw 001̇0Xw 002̇0gw 003̇0w 004̇0w 005̇0w 006̇0w 007̇0w 008̇0w 009̇0-x 00:̇0ux 00;̇0x 00<̇0x 00=̇0x 00>̇0'y 00?̇0gy 00@̇0y 00Ȧ0y 00Ḃ0z 00Ċ0\z 00Ḋ0z 00Ė0z 00Ḟ0z 00Ġ0#{ 00Ḣ0a{ 00İ0v{ 00J̇0{ 00K̇0{ 00L̇0{ 00Ṁ0'| 00Ṅ0g| 00Ȯ0| 00Ṗ0| 00Q̇0| 00Ṙ0} 00Ṡ0 } 00Ṫ0} 00U̇0(} 00V̇05} 00Ẇ0c} 00Ẋ0} 00Ẏ0} 00Ż0} 00[̇0} 00\̇0'~ 00]̇0n~ 00^̇0~ 00_̇0~ 00`̇0~ 00ȧ0 00ḃ0$ 00ċ0G 00ḋ0X 00ė0 00ḟ0 00ġ0@ 00ḣ0 00i̇0 00j̇0 00l̇0c 00l̇0h 00ṁ0 00ṅ0N 00ȯ0 00ṗ0 00q̇07 00ṙ0H 00ṡ0| 00ṫ0 00u̇0F 00v̇0 00ẇ0 00ẋ0 00ẏ0܇ 00ż0 00{̇0 00|̇06 00}̇0Y 00~̇0z 00̇0 00̇0 00̇0Ո 00̇0 00̇0 00̇0= 00̇0a 00̇0 00̇0 00̇0ʉ 00̇0 00̇0 00̇0C 00̇0h 00̇0 00̇0 00̇0ъ 00̇0 00̇0 00̇0C 00̇0k 00̇0 00̇0 00̇0 00̇0 00̇08 00̇0I 00̇0N 00̇0O 00̇0 00̇0 00̇0Ō 00̇0 00̇0 00̇0 00̇02 00̇0\ 00̇0g 00̇0n 00̇0 00̇0% 00̇0` 00̇0m 00̇0 00̇0 00̇0Ҏ 00̇0 00̇0 00̇0% 00̇0& 00̇0B 00̇0 00̇0܏ 00̇0 00̇0 00̇01 00̇0M 00̇0k 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0; 00̇0Y 00̇0| 00̇0 00̇0 00̇0 00̇0J 00̇0 00̇0 00̇0˔ 00̇0 00̇0 00̇0ѕ 00̇00 00̇0 00̇0 00̇0 00̇0ɖ 00̇0 00̇0 00̇0 00̇0/ 00̇0; 00̇0F 00̇0^ 00̇0 00̇0 00̇0˘ 00̇0 00̇0Ӝ 00̇0 00̇0! 00̇00 00̇0^ 00̇0w 00̇0 00̇0 00̇0 00̇0ӝ 00̇0 00̇0 00̇0 00̇0  00̇0) 00̇0C 00̇0O 00̇0d 00̇0p 00̇0 00̇0̞ 00̇0 00̇0 00̇0  00̇0 00̇0A 00̇0P 00̇0] 00̇0v 00̇0~ 00̇0 00̇0 00̇0˟ 00̇0 00̇0 00̇0D 00̇0P 00̇0c 00̇0m 00̇0x 00̇0 00̇0 00̇0  00̇0 00̇0 00̇0# 00 ̇0+ 00 ̇0J 00 ̇0j 00 ̇0r 00 ̇0 00̇0 00̇0ۡ 00̇0 00̇0 00̇0 00̇0< 00̇0\ 00̇0d 00̇0i 00̇0 00̇0 00̇0â 00̇0 00̇0 00̇0N 00̇0 00̇0 00̇0ã 00 ̇0٣ 00!̇0 00"̇0 00#̇0C 00$̇0a 00%̇0 00&̇0 00'̇0Ƥ 00(̇0 00)̇0V 00*̇0 00+̇0 00,̇0 00-̇0ȥ 00.̇0ͥ 00/̇0 000̇0_ 001̇0 002̇0 003̇0 004̇0 005̇0 006̇0 007̇0 008̇0D 009̇0k 00:̇0 00;̇0 00<̇0 00=̇0; 00>̇0P 00?̇0` 00@̇0 00Ȧ0 00Ḃ0Ѩ 00Ċ0 00Ḋ0 00Ė01 00Ḟ0a 00Ġ0s 00Ḣ0 00İ0© 00J̇0ש 00K̇0 00L̇0  00Ṁ0% 00Ṅ0> 00Ȯ0] 00Ṗ0 00Q̇0 00Ṙ0Ǫ 00Ṡ0 00Ṫ0( 00U̇0H 00V̇0i 00Ẇ0 00Ẋ0 00Ẏ0 00Ż0 00[̇0Ы 00\̇0  00]̇0Q 00^̇0a 00_̇0p 00`̇0{ 00ȧ0 00ḃ0ج 00ċ0  00ḋ0; 00ė0\ 00ḟ0 00ġ0 00ḣ0 00i̇0 00j̇0F 00k̇0 00l̇0ܮ 00ṁ0! 00ṅ0 00ȯ0ׯ 00ṗ02 00q̇0| 00ṙ0̰ 00ṡ0" 00ṫ0j 00u̇0 00ẇ0ұ 00ẇ0ױ 00ẋ0 00ẏ0ij 00ż0 00{̇0 00|̇0. 00}̇0: 00~̇0Z 00̇0d 00̇0 00̇0 00̇0 00̇0 00̇0޵ 00̇0 00̇0 00̇0 00̇0( 00̇0T 00̇0e 00̇0t 00̇0~ 00̇0 00̇0ƶ 00̇0 00̇0 00̇0$ 00̇0G 00̇0S 00̇0] 00̇0_ 00̇0 00̇0 00̇0ͷ 00̇0 00̇0 00̇0 00̇0  00̇0 00̇0M 00̇0o 00̇0~ 00̇0 00̇0 00̇0 00̇0Ÿ 00̇0и 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇04 00̇0Q 00̇0] 00̇0h 00̇0 00̇0 00̇02 00̇03 00̇0W 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0ÿ 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0G 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0H 00̇0W 00̇0f 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇04 00̇0G 00̇0\ 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇05 00̇0A 00̇0M 00̇0X 00̇0 00̇0 00̇0 00̇06 00̇0H 00̇0w 00̇0 00̇0 00̇0 00̇0h 00̇0 00̇0 00̇0 00̇0  00̇0L 00̇0 00̇0 00̇0* 00̇0] 00̇0l 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0K 00̇0r 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0- 00̇0. 00̇0/ 00̇0c 00̇0h 00̇0 00̇08 00 ̇0O 00 ̇0 00 ̇0 00 ̇0  00 ̇0* 00̇0 00̇0 00̇0 00̇07 00̇0Z 00̇0 00̇0 00̇0U 00̇0 00̇0b 00̇0 00̇0  00̇0T 00̇0 00̇0 00̇0 00̇0 00̇0K 00 ̇0u 00!̇0 00"̇0 00#̇0 00$̇03 00%̇0L 00&̇0} 00'̇0 00(̇0 00)̇0 00*̇0 00+̇0Y 00,̇0 00-̇0 00.̇0Z 00/̇0 000̇0 001̇0 002̇0A 003̇0I 004̇0 005̇0 006̇0 007̇0Z 008̇0v 009̇0 00:̇0 00;̇0 00<̇09 00=̇0j 00>̇0 00?̇0 00@̇0 00Ȧ0 00Ḃ0K 00Ċ0j 00Ḋ0 00Ė0 00Ḟ0 00Ġ0 00Ḣ0 00İ0 00J̇08 00K̇0@ 00L̇0 00Ṁ0 00Ṅ0> 00Ȯ0 00Ṗ0 00Q̇0 00Ṙ0 00Ṡ0N 00Ṫ0 00U̇0 00V̇0 00Ẇ0 00Ẋ0H 00Ẏ0T 00Ż0w 00[̇0 00\̇0 00]̇0 00^̇0 00_̇0  00`̇07 00ȧ0 00ḃ0 00ċ0 00ḋ0 00ė0 00ḟ0# 00ġ0h 00ḣ0 00i̇0 00j̇0( 00k̇0A 00l̇0m 00ṁ0 00ṅ0 00ȯ0 00ṗ0 00q̇0^ 00ṙ0v 00ṅ0 00ṡ0 00ṫ0 00u̇0 00v̇0 00ẇ0 00ẋ0 00ẏ0> 00ż0h 00{̇0w 00|̇0 00}̇0 00~̇0 00̇0 00̇0 00̇0, 00̇0N 00̇0w 00̇0 00̇0 00̇0 00̇0K 00̇0] 00̇0 00̇0 00̇0 00̇0 00̇05 00̇0w 00̇0 00̇0 00̇0 00̇0; 00̇0U 00̇0a 00̇0 00̇0 00̇0 00̇0 00̇0 00̇07 00̇0C 00̇0D 00̇0U 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0W 00̇0\ 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0: 00̇0q 00̇0 00̇0 00̇0 00̇0  00̇0> 00̇0J 00̇0U 00̇0t 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0A 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0' 00̇0H 00̇0 00̇0 00̇0 00̇0  00̇0. 00̇0L 00̇0X 00̇0c 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0P 00̇0h 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0B 00̇0d 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇05 00̇0A 00̇0c 00̇0 00̇0 00̇0 00̇0X 00̇0| 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0: 00̇0; 00̇0< 00̇0^ 00̇0c 00̇0 00̇0 00̇0 00̇0 00̇0  00̇0* 00̇0q 00̇0B 00̇0 00̇0 00̇0f 00̇0 00̇0 00̇0 00̇0 00̇0  00̇0: 00̇0c 00̇0 00̇0 00̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0B 00 ̇0P 00̇0U 00̇0~ 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0: 00̇0C 00̇0T 00̇0Y 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0  00 ̇0  00!̇0!  00"̇0Z  00#̇0  00$̇0  00%̇0D  00&̇0E  00'̇0F  00)̇0  00)̇0  00*̇0  00+̇0  00,̇0  00-̇01  00.̇0@  00/̇0S  000̇0o  002̇0  002̇0  003̇0  004̇0  005̇0  006̇0  007̇0  008̇0  009̇0  00:̇0#  00;̇04  00<̇0C  00=̇0M  00>̇0]  00?̇0g  00@̇0  00Ȧ0  00Ḃ0  00Ċ0  00Ḋ0  00Ė0 00Ḟ0 00Ġ0 00Ḣ0 00İ0T 00J̇0 00K̇0 00L̇0 00Ṁ0 00Ṅ0 00Ȯ0 00Ṗ0 00Q̇0- 00Ṙ0V 00Ṡ0q 00Ṫ0} 00U̇0 00V̇0 00Ẇ0 00Ẋ0 00Ẏ0 00Ż0 00[̇0 00\̇0 00]̇0  00^̇0& 00_̇02 00`̇0= 00ȧ0P 00ḃ0] 00ċ0l 00ḋ0{ 00ė0 00ḟ0 00ġ0 00ḣ0 00i̇0 00j̇0 00k̇0 00l̇0) 00ṁ04 00ṅ0G 00ȯ0T 00ṗ0c 00q̇0r 00ṙ0 00ṡ0 00ṫ0 00u̇0 00v̇0 00ẇ0 00ẋ0 00ẏ0  00ż0+ 00{̇0> 00|̇0N 00}̇0] 00~̇0l 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇09 00̇0T 00̇0` 00̇0k 00̇0 00̇0K 00̇0l 00̇0v 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0  00̇0- 00̇0? 00̇0P 00̇0[ 00̇0n 00̇0| 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0- 00̇0> 00̇0I 00̇0\ 00̇0q 00̇0 00̇0 00̇0 00̇0  00̇0 00̇0 00̇0 00̇04 00̇0K 00̇0W 00̇0h 00̇0s 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0  00̇0@ 00̇0R 00̇0c 00̇0n 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0U 00̇0 00̇0 00̇0  00̇0? 00̇0` 00̇0l 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇00 00̇0D 00̇0` 00̇0v 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0A 00̇0W 00̇0h 00̇0r 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0  00̇0% 00̇0; 00̇0U 00̇0u 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇02 00̇0H 00̇0Y 00̇0c 00̇0 00̇0 00̇09 00̇0o 00̇0 00̇0 00̇0  00̇0 00̇0 00̇0F  00̇0Z  00̇0i  00̇0  00̇0  00̇0  00̇0  00̇0  00̇0%! 00̇0:! 00̇0B! 00̇0d! 00̇0t! 00 ̇0! 00 ̇0! 00 ̇0! 00 ̇0! 00 ̇0! 00̇0" 00̇0 " 00̇0"" 00̇0/" 00̇0U" 00̇0]" 00̇0" 00̇0" 00̇0" 00̇0" 00̇0# 00̇0# 00̇0# 00̇0L# 00̇0# 00̇0# 00̇08$ 00̇0l$ 00 ̇0}$ 00!̇0$ 00"̇0$ 00#̇0$ 00$̇0$ 00%̇0"% 00&̇0J% 00'̇0j% 00(̇0y% 00)̇0% 00*̇0% 00+̇0% 00,̇0% 00-̇0% 00.̇0.& 00/̇0^& 000̇0k& 001̇0& 002̇0& 003̇0& 004̇0' 005̇0' 006̇0+' 007̇0y' 008̇0' 009̇0( 00:̇0>( 00;̇0u( 00<̇0( 00=̇0( 00>̇0( 00?̇0 ) 00@̇0) 00Ȧ0B) 00Ḃ0K) 00Ċ0R) 00Ḋ0_) 00Ė0r) 00Ḟ0v) 00Ġ0) 00Ḣ0) 00İ0P* 00J̇0+ 00K̇0+ 00L̇0+00Ṅ0+00Ṅ0,00Ȯ0-00Ṗ0V/00Q̇0W/00Ṙ0/00Ṡ0/00U̇0/00V̇0/00Ẇ0000Ẋ0k000Ẏ0000Ż0000[̇0%100\̇0r100]̇0100^̇0100_̇0200`̇0"200ȧ0b200ḃ0200ċ0200ḋ0200ė08300ḟ0d300ġ0n300ḣ0300i̇0300j̇0300k̇0300l̇0400ṁ0A400ṅ0g400ȯ0400ṗ0400q̇0!500ṙ0+500ṡ0>500ṫ0I500u̇0m500v̇0500ẇ0500ẋ0500ẏ0500ż0500{̇0600|̇08600}̇0d600~̇0600̇0600̇0600̇0600̇0600̇0700̇0/700̇0F700̇0v700̇0700̇0700̇0700̇0700̇0800̇0800̇0&800̇0\800̇0):00̇0:00̇0:;00̇0;00̇0;00̇0<00̇0@<00̇0D<00̇0<00̇0<00̇0<00̇0<00̇0<00̇0=00̇0A>00̇0T>00̇0>00̇0>00̇0 ?00̇0[?00̇0?00̇0?00̇0@00̇0/@00̇0t@00̇0@00̇0@00̇0@00̇0A00̇0#A00̇07A00̇08A00̇0IA00̇0A00̇0A00̇0B00̇0PB00̇0B00̇0B 00̇0C00̇0AC00̇0FC00̇0E00̇0F00̇0[F00̇0F00̇0F00̇0.G00̇0MG00̇0G00̇0G00̇0G00̇0H00̇0DH00̇0XH00̇0H00̇0H00̇0H00̇0I00̇0;I00̇0eI00̇0I00̇0I00̇0I00̇0I00̇0J00̇0:J00̇0yJ00̇0J00̇0J00̇0J00̇0K00̇0K00̇0K00̇01K00̇0RK00̇0qK00̇0K00̇0K00̇0K00̇0K00̇0L00̇07L00̇0\L00̇0}L00̇0L00̇0L00̇0L00̇0L00̇0)M00̇06M00̇0aM00̇0bM00̇0uM00̇0M00̇0N00̇0SN00̇0N00̇0N00̇0N00̇0O00̇0 O00̇0;O00̇0BO00̇0QO00̇0XO00̇0O00̇0O00̇0O00̇0O00̇0O00̇0O00̇0P00̇0;P00̇0IP00̇0pP00̇0P00̇0P00̇0P00̇0Q00̇0̇0^ 00>̇0_ 00?̇0_ 00@̇0._ 00Ȧ0L_ 00Ḃ0_ 00Ċ0_ 00Ḋ0_ 00Ė0#` 00Ḟ0W` 00Ġ0` 00Ḣ0` 00İ0` 00J̇0` 00K̇0 a 00L̇0Fa 00Ṁ0_a 00Ṅ0~a 00Ȯ0a 00Ṗ0a 00Q̇0a 00Ṙ0a 00Ṡ0a 00Ṫ0b 00U̇0Bb 00V̇0qb 00Ẇ0b 00Ẋ0b 00Ẏ0b 00Ż0c 00[̇0Sc 00\̇0uc 00]̇0c 00^̇0c 00`̇0c 00`̇0c 00ȧ0c 00ḃ0d 00ċ0Bd 00ḋ0pd 00ė0d 00ḟ0d 00ġ0d 00ḣ0e 00i̇0 e 00j̇0"e 00k̇0Qe 00l̇0`e 00ṁ0~e 00ṅ0e 00ȯ0e 00ṗ0e 00q̇0e 00ṙ0e 00ṡ0f 00ṫ02f 00u̇0`f 00v̇0lf 00ẇ0f 00ẋ0f 00ẏ0f 00ż0f 00{̇0g 00|̇03g 00}̇0Rg 00~̇0rg 00̇0g 00̇0g 00̇0g 00̇0g 00̇0 h 00̇0Th 00̇0jh 00̇0wh 00̇0h 00̇0h 00̇0h 00̇0i 00̇0 00̇0M 00̇0Z 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0# 00̇0L 00̇0S 00̇0 00̇0ш 00̇0 00̇0 00̇0  00̇0F 00̇0| 00̇0 00̇0ω 00̇0 00̇0 00̇0 00 ̇0H 00 ̇0v 00 ̇0 00 ̇0Ɗ 00 ̇0ۊ 00̇0 00̇0 00̇0( 00̇02 00̇0< 00̇0C 00̇0H 00̇0d 00̇0 00̇0 00̇0 00̇0ˋ 00̇0 00̇0 00̇0+ 00̇01 00̇0[ 00̇0r 00 ̇0 00!̇0 00"̇0׌ 00#̇0 00$̇0 00%̇0` 00&̇0i 00'̇0p 00(̇0x 00)̇0 00*̇0 00+̇0 00,̇0s 00-̇0 00.̇0 00/̇06 000̇0 001̇0 002̇0ُ 003̇0 004̇0 005̇0_ 006̇0 007̇0 008̇0ǐ 009̇0ې 00:̇0 00;̇0 00<̇08 00=̇0B 00>̇0V 00?̇0v 00@̇0 00Ȧ0 00Ḃ0 00Ċ0ȑ 00Ḋ0 00Ė01 00Ḟ0E 00Ġ0O 00Ḣ0q 00İ0 00J̇0̒ 00K̇0 00L̇0 00Ṁ0G 00Ṅ0o 00Ȯ0 00Ṗ0 00Q̇0 00Ṙ0h 00Ṡ0 00Ṫ0 00U̇0 00V̇0\ 00Ẇ0 00Ẋ0ܕ 00Ẏ0 00Ż0  00[̇0 00\̇0W 00]̇0 00^̇0– 00_̇0 00`̇0 00ȧ0V 00ḃ0] 00ċ0 00ḋ0 00ė0 00ḟ0 00ġ02 00ḣ0Q 00i̇0 00j̇0 00k̇0 00l̇0Θ 00ṁ0  00ṅ0 00ȯ0 00ṗ0ٙ 00q̇0  00ṙ0 00ṡ01 00ṫ0^ 00u̇0 00v̇0ƚ 00ẇ0 00ẋ0 00ẏ01 00ż0J 00{̇0w 00|̇0 00}̇0ț 00~̇0 00̇0/ 00̇0k 00̇0u 00̇0 00̇0Ӝ 00̇0 00̇0 00̇0 00̇0+ 00̇0t 00̇0 00̇0 00̇0 00̇0# 00̇0d 00̇0| 00̇0 00̇0 00̇0Ş 00̇0͞ 00̇0$ 00̇07 00̇0; 00̇0g 00̇0 00̇0 00̇0 00̇0 00̇0R 00̇0 00̇0 00̇0 00̇0 00̇0! 00̇0D 00̇0L 00̇0 00̇0ɡ 00̇0 00̇0 00̇0/ 00̇0@ 00̇0i 00̇0 00̇0 00̇0Ţ 00̇0 00̇0 00̇0! 00̇0P 00̇0x 00̇0 00̇0 00̇0  00̇0= 00̇0T 00̇0i 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0- 00̇04 00̇09 00̇0C 00̇0n 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0V 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0թ 00̇0 00̇0: 00̇0b 00̇0w 00̇0f 00̇0 00̇0 00̇0Ы 00̇0 00̇0 00̇0o 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0s 00̇0 00̇0 00̇0® 00̇0ڮ 00̇0 00̇0 00̇0. 00̇0^ 00̇0 00̇0 00̇0 00̇0. 00̇0i 00̇0 00̇0 00̇0. 00̇0n 00̇0ñ 00̇0 00̇0  00̇0] 00̇0 00̇0 00̇0 00̇0 00̇0ӳ 00̇0 00 ̇0* 00 ̇0O 00 ̇0e 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0= 00 ̇0\ 00 ̇0 00 ̇0z 00 ̇0 00 ̇0 00 ̇04 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0- 00 ̇0[ 00 ̇0h 00 ̇0P 00 ̇0C 00 ̇0 00 ̇0 00 ̇0Ҿ 00 ̇0 00 ̇0R 00 ̇0 00 ̇0 00! ̇0ؿ 00" ̇0 00# ̇0 00$ ̇04 00% ̇0p 00& ̇0 00' ̇0 00( ̇0 00) ̇0 00* ̇0H 00+ ̇0o 00, ̇0 00- ̇0 00. ̇0 00/ ̇0 000 ̇0 001 ̇03 002 ̇05 003 ̇0` 004 ̇0 005 ̇0 006 ̇0 007 ̇0 008 ̇0 009 ̇0 00: ̇0 00; ̇0N 00< ̇0 00= ̇0 00> ̇0 00? ̇0' 00@ ̇0Y 00A ̇0s 00B ̇0 00C ̇0 00D ̇0 00E ̇0 00F ̇0  00G ̇0B 00H ̇0v 00I ̇0 00J ̇0 00K ̇0 00L ̇0A 00M ̇0p 00N ̇0 00Q ̇0" 00P ̇0 00Q ̇0" 00R ̇0` 00S ̇0 00T ̇0 00U ̇0$ 00V ̇0L 00W ̇0n 00X ̇0 00Y ̇0 00Z ̇0 00[ ̇0 00\ ̇0 00] ̇0. 00^ ̇0O 00_ ̇0 00` ̇0 00a ̇0 00b ̇0 00c ̇0 00d ̇0L 00e ̇0a 00f ̇0 00g ̇0 00h ̇0 00i ̇09 00j ̇0i 00k ̇0 00l ̇0 00m ̇0 00n ̇0 00o ̇0& 00p ̇0H 00q ̇0m 00r ̇0 00s ̇0 00t ̇0 00u ̇0 00v ̇0B 00w ̇0j 00x ̇0k 00y ̇0| 00z ̇0 00{ ̇0  00| ̇0e 00} ̇0 00~ ̇0 00 ̇0 00 ̇0P 00 ̇0 00 ̇0 00 ̇0 00 ̇0% 00 ̇0& 00 ̇0' 00 ̇0) 00 ̇0L 00 ̇0Q 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0^ 00 ̇0 00 ̇0 00 ̇0A 00 ̇0m 00 ̇0n 00 ̇0 00 ̇0 00 ̇0! 00 ̇0k 00 ̇0 00 ̇0 00 ̇0 00 ̇0r 00 ̇0 00 ̇0 00 ̇0 00 ̇0! 00 ̇0 00 ̇0 00 ̇0$ 00 ̇0' 00 ̇01 00 ̇0G 00 ̇0J 00 ̇0v 00 ̇0} 00 ̇0 00 ̇0 00 ̇0 00 ̇0  00 ̇0_ 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0! 00 ̇0Z 00 ̇0 00 ̇0 00 ̇0 00 ̇0J 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0  00 ̇0 00 ̇0M 00 ̇0| 00 ̇0 00 ̇0 00 ̇0 00 ̇0, 00 ̇06 00 ̇0? 00 ̇0B 00 ̇0I 00 ̇0 00 ̇0 00 ̇0 00 ̇03 00 ̇0N 00 ̇0b 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0. 00 ̇0Y 00 ̇0 00 ̇0 00 ̇0 00 ̇0K 00 ̇0y 00 ̇0 00 ̇0 00 ̇0 00 ̇0  00 ̇0 00 ̇0- 00 ̇0Q 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0? 00 ̇0k 00 ̇0 00 ̇0 00 ̇0  00 ̇0G 00 ̇0[ 00 ̇0v 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0- 00 ̇07 00 ̇0> 00 ̇0E 00 ̇0Y 00 ̇0 00 ̇0 00 ̇0 00 ̇0> 00 ̇0Y 00 ̇0 00 ̇0 00 ̇0 00 ̇0$ 00 ̇0? 00 ̇0J 00 ̇0c 00 ̇0 00 ̇0 00 ̇0 00 ̇0( 00 ̇0/ 00 ̇06 00 ̇09 00 ̇0V 00 ̇0  00 ̇0V 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0E 00 ̇0M 00 ̇0q 00 ̇0y 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00! ̇0 00" ̇0 00# ̇0% 00$ ̇0H 00% ̇0h 00& ̇0o 00' ̇0v 00( ̇0y 00) ̇0 00* ̇0 00+ ̇0 00, ̇0 00- ̇0 00. ̇0D 00/ ̇0f 000 ̇0n 001 ̇0x 002 ̇0 003 ̇0 004 ̇0 005 ̇0 006 ̇0 007 ̇0  008 ̇0( 009 ̇0x 00: ̇0 00; ̇0 00< ̇0 00= ̇0 00> ̇0 00? ̇0 00@ ̇0 00A ̇0H 00B ̇0| 00C ̇0 00D ̇0 00E ̇0 00F ̇0 00G ̇0 00H ̇0 00I ̇0W 00J ̇0 00K ̇0 00L ̇0 00M ̇0' 00N ̇05 00O ̇0@ 00P ̇0a 00Q ̇0 00R ̇0 00S ̇0 00T ̇0 00U ̇01 00V ̇0H 00W ̇0 00X ̇0 00Y ̇0 00Z ̇0 00[ ̇0 00\ ̇0 00] ̇0 00^ ̇00 00_ ̇0M 00` ̇0W 00a ̇0b 00b ̇0~ 00c ̇0 00d ̇0 00e ̇0 00f ̇0 00g ̇0 00h ̇0$ 00i ̇0Z 00j ̇0b 00k ̇0j 00l ̇0z 00m ̇0 00n ̇0 00o ̇0 00p ̇0V 00q ̇0g 00r ̇0 00s ̇0 00t ̇0 00u ̇0 00v ̇0A 00w ̇0m 00x ̇0 00y ̇0 00z ̇0 00{ ̇04 00| ̇0Q 00} ̇0c 00~ ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0? 00 ̇0J 00 ̇0M 00 ̇0\ 00 ̇0] 00 ̇0{ 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇05 00 ̇0t 00 ̇0 00 ̇0 00 ̇0 00 ̇0[ 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0/ 00 ̇0e 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇00 00 ̇0o 00 ̇0 00 ̇0 00 ̇0 00 ̇0  00 ̇0H 00 ̇0e 00 ̇0v 00 ̇0 00 ̇0 00 ̇0B 00 ̇0~ 00 ̇0 00 ̇0 00 ̇0 00 ̇0U 00 ̇0 00 ̇0  00 ̇0 00 ̇0 00 ̇0O 00 ̇0v 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇05 00 ̇08 00 ̇0~ 00 ̇0 00 ̇0 00 ̇0a 00 ̇0 00 ̇0 00 ̇0 00 ̇0# 00 ̇0i 00 ̇0 00 ̇0 00 ̇0N 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0  00 ̇0 00 ̇0D 00 ̇0W 00 ̇0s 00 ̇0 00 ̇0 00 ̇0 00 ̇0" 00 ̇0h 00 ̇0} 00 ̇0 00 ̇0 00 ̇0 00 ̇0<  00 ̇0  00 ̇0  00 ̇0  00 ̇0  00 ̇0  00 ̇0  00 ̇0N  00 ̇0h  00 ̇0  00 ̇0  00 ̇0  00 ̇0  00 ̇0  00 ̇0  00 ̇0  00 ̇0  00 ̇0&  00 ̇0X  00 ̇0z  00 ̇0}  00 ̇0  00 ̇0  00 ̇0  00 ̇0  00 ̇0  00 ̇0 00 ̇0 00 ̇0 00 ̇0A 00 ̇0 00 ̇0 00 ̇0 00 ̇0Y 00 ̇0` 00 ̇0w 00 ̇0 00 ̇0 00 ̇0 00 ̇0  00 ̇0  00 ̇0M  00 ̇0N  00 ̇0  00 ̇0  00 ̇0$ 00 ̇0 00 ̇0> 00 ̇04 00 ̇0 00 ̇0 00 ̇06 00 ̇0u 00 ̇0 00 ̇0l 00 ̇0  00 ̇0; 00! ̇0N 00" ̇0m 00# ̇0 00$ ̇0 00% ̇0 00& ̇0 00' ̇0 00( ̇0@ 00) ̇0W 00* ̇0c 00+ ̇0m 00, ̇0 00- ̇0 00/ ̇0 000 ̇0 001 ̇0 002 ̇0 003 ̇0 004 ̇0  005 ̇0 006 ̇0 007 ̇0 008 ̇05 009 ̇0v 00: ̇0 00; ̇0 00< ̇0 00= ̇0 00> ̇0 00? ̇0 00@ ̇0 00A ̇0  00B ̇0 00C ̇0$ 00D ̇0/ 00E ̇0F 00F ̇0X 00G ̇0g 00H ̇0 00I ̇0 00J ̇0 00K ̇0 00L ̇0 00M ̇0 00N ̇0 00O ̇0& 00P ̇09 00Q ̇0W 00R ̇0s 00S ̇0 00T ̇0 00U ̇0 00V ̇0 00W ̇0 00X ̇0 00Y ̇0 00Z ̇0 00[ ̇0 00\ ̇0 00] ̇0$ 00^ ̇05 00_ ̇0? 00` ̇0@ 00a ̇0 00b ̇0 00c ̇0 00d ̇0 00e ̇0 00f ̇0 00g ̇0 00h ̇0 00i ̇0- 00j ̇0D 00k ̇0S 00l ̇0b 00m ̇0 00n ̇0 00o ̇0 00p ̇0 00q ̇0 00r ̇0 00s ̇0' 00t ̇0: 00u ̇0R 00v ̇0g 00w ̇0u 00x ̇0 00y ̇0 00z ̇0 00{ ̇0 00| ̇0 00} ̇0 00~ ̇0 00 ̇0 00 ̇0- 00 ̇0M 00 ̇0^ 00 ̇0o 00 ̇0y 00 ̇0z 00 ̇0 00 ̇0 00 ̇0 00 ̇05 00 ̇0D 00 ̇0S 00 ̇0t 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0- 00 ̇0R 00 ̇0k 00 ̇0| 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0  00 ̇0%  00 ̇0/  00 ̇0l  00 ̇0  00 ̇0  00 ̇0  00 ̇0  00 ̇0  00 ̇0  00 ̇0  00 ̇0! 00 ̇0! 00 ̇0)! 00 ̇0F! 00 ̇0P! 00 ̇0e! 00 ̇0! 00 ̇0! 00 ̇0! 00 ̇0! 00 ̇0! 00 ̇0! 00 ̇0" 00 ̇0"" 00 ̇01" 00 ̇0T" 00 ̇0w" 00 ̇0" 00 ̇0" 00 ̇0" 00 ̇0" 00 ̇0" 00 ̇0# 00 ̇0E# 00 ̇0V# 00 ̇0g# 00 ̇0# 00 ̇0# 00 ̇0# 00 ̇0# 00 ̇0# 00 ̇0$ 00 ̇0$ 00 ̇0,$ 00 ̇0<$ 00 ̇0]$ 00 ̇0t$ 00 ̇0$ 00 ̇0$ 00 ̇0$ 00 ̇0$ 00 ̇0$ 00 ̇0$ 00 ̇0$ 00 ̇0$ 00 ̇0% 00 ̇0% 00 ̇03% 00 ̇0C% 00 ̇0O% 00 ̇0Y% 00 ̇0d% 00 ̇0y% 00 ̇0% 00 ̇0% 00 ̇0% 00 ̇0% 00 ̇0% 00 ̇0% 00 ̇0& 00 ̇0& 00 ̇0& 00 ̇06& 00 ̇0E& 00 ̇0b& 00 ̇0p& 00 ̇0& 00 ̇0& 00 ̇0& 00 ̇0& 00 ̇0& 00 ̇0& 00 ̇03' 00 ̇0H' 00 ̇0Y' 00 ̇0c' 00 ̇0m' 00 ̇0' 00 ̇0' 00 ̇0' 00 ̇0' 00 ̇0' 00 ̇0#( 00 ̇05( 00 ̇0J( 00 ̇0Z( 00 ̇0h( 00 ̇0( 00 ̇0( 00 ̇0( 00 ̇0( 00 ̇0) 00 ̇0) 00 ̇0() 00 ̇07) 00 ̇0V) 00 ̇0{) 00 ̇0) 00 ̇0) 00 ̇0) 00 ̇0) 00 ̇0) 00 ̇0) 00 ̇02* 00 ̇0* 00 ̇0Y+ 00 ̇0+ 00 ̇0 , 00 ̇0 , 00 ̇0/, 00 ̇0F, 00 ̇0f, 00 ̇0, 00 ̇0, 00 ̇0, 00 ̇0, 00 ̇0, 00 ̇0- 00 ̇0M- 00! ̇0\- 00" ̇0h- 00# ̇0s- 00% ̇0- 00% ̇0- 00& ̇0. 00' ̇00 00( ̇00 00) ̇0o2 00* ̇02 00+ ̇03 00, ̇03 00- ̇03 00. ̇03 00/ ̇0 4 000 ̇04 001 ̇0:5 002 ̇0W5 003 ̇0i5 004 ̇05 005 ̇05 006 ̇05 007 ̇05 008 ̇05 009 ̇05 00: ̇0!6 00; ̇0>6 00< ̇0P6 00= ̇0f6 00> ̇06 00? ̇06 00@ ̇06 00A ̇06 00B ̇0 7 00C ̇0&7 00D ̇0*7 00E ̇0,7 00F ̇0V7 00G ̇0s7 00H ̇07 00I ̇07 00J ̇07 00K ̇07 00L ̇07 00M ̇07 00N ̇0$8 00O ̇0>8 00P ̇0@8 00Q ̇0B8 00R ̇0z8 00S ̇08 00T ̇08 00U ̇08 00V ̇08 00W ̇0 9 00X ̇0E9 00Y ̇0|9 00Z ̇09 00[ ̇09 00\ ̇09 00] ̇09 00^ ̇0: 00_ ̇0/: 00` ̇03: 00a ̇05: 00b ̇0: 00c ̇0< 00d ̇0k< 00e ̇0l< 00f ̇0< 00g ̇0< 00h ̇0< 00i ̇0< 00k ̇0#= 00k ̇0> 00l ̇0n? 00m ̇0<@ 00n ̇0p@ 00o ̇0@ 00p ̇0@ 00q ̇0@ 00r ̇0@ 00s ̇0@0(Qp ,y~8s >kl%&\^"mK8abNOW!!!!"I"y""#@#&$]$$$$%A%[%v%%%%&-&''M((()O))*V+}++++,:,_,,,,,$-d---.(.I.J..../'/j////00 0W00000*1@1111111*2+23W3333314=4G4V4q444445R66;;q<< ==E=F=i=j=====>>p>q>>>??}?~?????@@c@d@@@@@wAxAAABBB C C4C5C]C^CCCCCDD^D_DDDDDDD'E(ESETE7F8FFFNGOGzGGGG HH;HMHHHHHII;IuIIIII.J=JLJfJuJJJJJKKAKXKdKoKKKKKL%L3LLMMMMOOOOOOPPPMPiPuPPPPPPQ-QLQpQQQQQQQ RR:RMRgRRRRRS"S;SYSzSSSSSUUUU6VsVVVW;WaWWWWWW XIXRXXXXXX.Y?YGYYYcYpYYwZZZZ[#[B[`[r[[[[$\@\A\r\]5]^*^__````aa/aFaSajaxaaab;bbbcoccccd.d=dXdzddddddeDeeeeee f*fEfWfpfffffff ggEggggh=hrhhhhhhhhi,i>iJiUiiiiiiijj2jRjzjjjjjk)k/k1k^kskkkkkkl1lYlclilklllllm+m7m9mkmmmmmmn)ncnnnnnnno4oIonooooopLpNp~ppppppp qq3qoqqqqqqqrerrrrr,s{ssstRttttFuuuu#vPvvvvvvwwAwQw]whwwwwwwwww xLxxxxyFyyyy=z{zzz{B{{{{{ |F||||}#}+}=}G}T}}}}}~F~~~~~Cfw _<"m‚Vgeڇ/Uxֈ6\ĉ9bҊ6bً2Whmn0Q{D̎"-DEaҏ8PlڐʑZxӒ 8iϓ•ÕOϖ 7NZe}˘1@O}ĝ2:Wq}.8Cn}ß՟'@q}֠۠ PXwܡ Jiעۢ+C{ģ2pʤޤ>̥GĦΦϦЦѦ/qڧ>h}<^9Rk٪*Uuʫ6~׬:hԭխs N_Oױ(L[gεݵ +KU3Qt˷.:Dzָ(-<a~ܼ_`οٿ)5@t 'uat.=Lbnz cu'6yW 0BxZ[\&e|6W-d7K2xA`yJ0-nvL*f+@x%Demk0J{Bu@LMd>PUn E (0Sf1=Lz/P_k#T"1gLn+F_6ETu(Z|*Kh/e!Ci8b'3>O  (Zx0S/I[?Pi)Ih - 2 D U ^ o   H       - X         / I O _ m u          '9IS5HUd}$3BPkw%B]i 9T`#7Xs!0?b}:Ua /[Sap 0;O]l2S_ #cw/;t(<Xn ,e{ l    !@!a!y!!!!!!"-"Y"n"v"""""####4#?#V#c######'$;$H$S$$$'%l%%%%&&3&V&~&&&&&&&'b'''''(;(L(_(()9)r)))**>*E*v********+,--2-7-.0000)1*1I111)2R2223.3O3333,4e4444445F5n5556N6X6k6v666667 7G7e7777 88&818\8s888888>9H9S99V;%<g<<<5=m=q====> >C>n???@M@@@ACA\AAAAA2BPBdBeBvBBB?C}CC$DCDnDsD$G>GGGH[HzHHHI;IqIIIIJJJhJJJJJJ4KgKKKKL3L>LKL^LLLLLLL1MdMMMMMN+NVNcNNNNN5OOOO!P/PMPhPoP~PPPPP QQ+Q1QhQvQQQQ(RFRiRpRRRRSS&S>SDSfSlSzSSSSS0TLTcTfTrTTTTTUU$U(UPUSUXUUUVPVVVVWMXXXXYPY^YrYYYYYY `/`H`[`y``` aPaaaaa%b6bsbbbbbb cc3coccccdFdddddde!eAeoeeeee.f:fOf~fffffffg1g_ggggg h h-h`hhhhhi#i9iiiiii j;jijujjjjjk6kUkukkkkl%lYlflzllll{{O}t}~J-C[qvЀ "t HtՂ؂ =BOZ!3F\Pg~Ʌ:8p"4GZo̊EGMlʌ׌Mލ "/owɎ!(]̏Qu֐Kב9s~ϒԒ0Ganד5>EMWHrƕ b͖4lϗ +Khؘ$FjD˚=ț1zל,Zӝ+2nƞ͞&_fpl3kʡLТ@JUJ_:RWx>Xɦ)^Чק#[Ԩ@jũ'ѪJb«>nwǬ;<=>?inZݰ.nб)[qȳZn̵3HVg· ]ʸoº* :_u%MlD+ "=kx`S,k1M8a0LNy/1g@r$] 5\3`1Ow+cqzYyEo$Nj EE8|<K_=8}5t7{&)U\}>r9rW<Oo}AQx 3AFQbu|u <PkvJT[bv[ jE<r32Hf @FRUu,4i@hw;GQXyFq$Q=a4>Vf<K&Q}B] Ju3Yk~   384b|"Y;<k':V|2GtU=lU   v   ! S u x     9    > h   ((Jltu3d(:z-=\v4GbpE[cf+X A$5noE!_U"W- ] p     !>!b!y!!!!!!! "!"7"D"N"""l###### $ $5$D$P$[$f$}$$$$$$$%%R%]%p%%%%%%%%%&#&/&L&[&l&v&w&&&&'&'2'='J'd'{'''''(8(G(S(^(q((((((()%)6)G)Q)d))))))))U*l*{*****+++1+E+d+++++++,6,K,\,f,,,,,,-!---8-K-`-}-------.3.J.Y.h.... //'/2/E/|//////0+0:0I0c0s0000000111'171U1j1z111111112202?2K2V2m2|2222223%313j333333334$4Z4l4444444#5<5Q5_5n555555566Q66x77(8?8N8e888888 949l9{99999:<=>>??? @)@AYAvAAAAA BBB@B]BoBBBBBC+CECICKCuCCCCCCDDCD]D_DaDDDDD E,EdEEEEEE4FNFRFTFF5HHHHHIIBIJK[LLLLLLLLӄK00H 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0' 00̇0F 00̇0q 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00̇0Z 00̇0_ 00̇0 00̇0T 00̇0  00̇0  00̇0  00̇0 00̇0 00̇0 00̇0L 00̇0M 00̇0k 00̇0l 00̇0 00̇0 00̇0= 00̇0? 00 ̇0t 00!̇0 00"̇0 00#̇0 00$̇0N 00%̇0k 00&̇0 00'̇0 00(̇0 00)̇0, 00*̇0~ 00+̇0 00,̇0v 00-̇0 00.̇0 000̇0B 000̇0C 00Ḣ0 H 00Ḣ0 H 00Ḣ0O H 00Ḣ0P H 00Ḣ0 H 00Ḣ0 H 00Ḣ0 H 00Ḣ0 H 00 Ḣ0!!H 00 Ḣ0"!H 00;̇08! 00<̇0j! 00=̇0! 00>̇0! 00?̇0! 00@̇0*" 00Ȧ0Z" 00Ḃ0" 00Ċ0" 00Ḋ0!# 00Ė0$ 00Ḟ0>$ 00Ġ0i$ 00Ḣ0$ 00İ0$ 00J̇0$ 00K̇0"% 00L̇0<% 00Ṁ0W% 00Ṅ0i% 00Ȯ0% 00Ṗ0% 00Q̇0% 00Ṙ0& 00Ṡ0' 00Ṫ0' 00U̇0.( 00V̇0n( 00Ẇ0( 00Ẋ0( 00Ẏ00) 00Ż0h) 00[̇0* 00\̇07+ 00]̇0^+ 00^̇0+ 00_̇0+ 00`̇0+ 00ȧ0+ 00ḃ0, 00ċ0@, 00ḋ0f, 00ė0, 00ḟ0, 00ġ0, 00ḣ0- 00i̇0E- 00j̇0q- 00k̇0- 00l̇0- 00ṁ0 . 00ṅ0*. 00ȯ0+. 00ṗ0z. 00q̇0. 00ṙ0. 00ṡ0. 00ṫ0/ 00u̇0K/ 00v̇0}/ 00ẇ0/ 00ẋ0/ 00ẏ0/ 00ż0/ 00{̇00 00|̇080 00}̇00 00~̇00 00̇00 00̇00 00̇0 1 00̇0!1 00̇0g1 00̇0z1 00̇01 00̇01 00̇01 00̇01 00̇0 2 00̇0 2 00̇02 00̇083 00̇03 00̇03 00̇03 00̇03 00̇04 00̇04 00̇0(4 00̇074 00̇0R4 00̇0h4 00̇0t4 00̇0~4 00̇04 00̇05 00̇036 00̇06 00̇0; 00̇0; 00̇0R< 00̇0< 00̇0< 00̇0< 00 Ḣ0>H 00 Ḣ0>H 00 Ḣ0>H 00 Ḣ0>H 00Ḣ0?H 00Ḣ0?H 00Ḣ0b?H 00Ḣ0c?H 00Ḣ0?H 00Ḣ0?H 00Ḣ0?H 00Ḣ0?H 00Ḣ0$@H 00Ḣ0%@H 00Ḣ0@H 00Ḣ0@H 00Ḣ0@H 00Ḣ0@H 00Ḣ0AH 00Ḣ0AH 00Ḣ0LAH 00Ḣ0MAH 00!Ḣ0AH 00!Ḣ0AH 00#Ḣ0AH 00#Ḣ0AH 00%Ḣ0BH 00%Ḣ0BH 00'Ḣ0fBH 00'Ḣ0gBH 00)Ḣ0BH 00)Ḣ0BH 00+Ḣ0CH 00+Ḣ0CH 00̇0B 00̇0B 00̇0B 00-Ḣ0}DH 00-Ḣ0~DH 00/Ḣ0DH 00/Ḣ0DH 001Ḣ0DH 001Ḣ0DH 003Ḣ0EH 003Ḣ0 EH 005Ḣ0CEH 005Ḣ0DEH 007Ḣ0{EH 007Ḣ0|EH 009Ḣ0EH 009Ḣ0EH 00;Ḣ0EH 00;Ḣ0EH 00=Ḣ0'FH 00=Ḣ0(FH 00?Ḣ0eFH 00?Ḣ0fFH 00AḢ0FH 00AḢ0FH 00CḢ0FH 00CḢ0FH 00EḢ0GH 00EḢ0GH 00GḢ0UHH 00GḢ0VHH 00IḢ0HH0 00̇0[G 00̇0G 00̇0G 00̇0G 00̇0G 00̇0G 00̇0H 00̇0.H 00̇0cH 00̇0xH 00̇0H 00̇0H 00̇0H 00̇0I 00̇0I 00̇0VI 00̇0iI 00̇0I 00̇0I 00̇0I 00̇0J 00̇0J 00̇0-J 00̇0GJ 00̇0VJ 00̇0qJ 00̇0J 00̇0J 00̇0J 00̇0J 00̇0J 00̇0"K 00̇09K 00̇0EK 00̇0PK 00 ̇0cK 00 ̇0{K 00 ̇0K 00 ̇0K 00 ̇0K 00̇0L 00̇0L 00̇0L 00̇0aM 00̇0M 00̇0M 00̇0M 00̇0gO 00̇0O 00̇0O 00̇0O 00̇0O 00̇0O 00̇0O 00̇0O 00̇0O 00̇0.P 00̇0JP 00 ̇0VP 00!̇0aP 00"̇0P 00#̇0P 00$̇0P 00%̇0P 00&̇0P 00'̇0Q 00(̇0-Q 00)̇0QQ 00*̇0bQ 00+̇0uQ 00,̇0Q 00-̇0Q 00.̇0Q 00/̇0Q 000̇0Q 001̇0Q 002̇0R 003̇0.R 004̇0HR 005̇0rR 006̇0R 007̇0R 008̇0R 009̇0R 00:̇0S 00;̇0S 00<̇0:S 00=̇0[S 00>̇0S 00?̇0S 00@̇0S 00Ȧ0S 00Ḃ0nU 00Ċ0U 00Ḋ0U 00Ė0U 00Ḟ0V 00Ġ0TV 00Ḣ0V 00İ0V 00J̇0V 00K̇0W 00L̇0BW 00Ṁ0jW 00Ṅ0{W 00Ȯ0W 00Ṗ0W 00Q̇0W 00Ṙ0W 00Ṡ0*X 00Ṫ03X 00U̇0gX 00V̇0{X 00Ẇ0X 00Ẋ0X 00Ẏ0X 00Ż0Y 00[̇0 Y 00\̇0(Y 00]̇0:Y 00^̇0DY 00_̇0QY 00`̇0nY 00ȧ0XZ 00ḃ0~Z 00ċ0Z 00ḋ0Z 00ė0Z 00ḟ0[ 00ġ0#[ 00ḣ0A[ 00i̇0S[ 00j̇0h[ 00k̇0[ 00l̇0[ 00ṁ0\ 00ṅ0!\ 00ȯ0"\ 00ṗ0S\ 00q̇0\ 00ṙ0] 00ṡ0] 00ṫ0 ^ 00u̇0t_ 00v̇0_ 00ẇ0` 00ẋ0` 00ẏ0` 00ż0` 00{̇0` 00|̇0` 00}̇0a 00~̇0'a 00̇04a 00̇0Ka 00̇0Ya 00̇0a 00̇0a 00̇0a 00̇0b 00̇0vb 00̇0b 00̇0b 00̇0Pc 00̇0c 00̇0c 00̇0c 00̇0d 00̇0d 00̇0d 00̇09d 00̇0[d 00̇0d 00̇0d 00̇0d 00̇0d 00̇0d 00̇0d 00̇0%e 00̇0xe 00̇0e 00̇0e 00̇0e 00̇0e 00̇0e 00̇0 f 00̇0&f 00̇08f 00̇0Qf 00̇0kf 00̇0f 00̇0f 00̇0f 00̇0f 00̇0f 00̇0f 00̇0f 00̇0&g 00̇0g 00̇0g 00̇0g 00̇0g 00̇0h 00̇0Sh 00̇0eh 00̇0qh 00̇0{h 00̇0h 00̇0h 00̇0h 00̇0h 00̇0h 00̇0 i 00̇0i 00̇0+i 00̇06i 00̇0ci 00̇0ni 00̇0|i 00̇0i 00̇0i 00̇0i 00̇0i 00̇0i 00̇0j 00̇03j 00̇0[j 00̇0sj 00̇0j 00̇0j 00̇0j 00̇0k 00̇0 k 00̇0k 00̇0k 00̇0?k 00̇0Tk 00̇0bk 00̇0k 00̇0k 00̇0k 00̇0k 00̇0k 00̇0l 00̇0:l 00̇0Dl 00̇0Jl 00̇0Ll 00̇0~l 00̇0l 00̇0l 00̇0l 00̇0l 00̇0 m 00̇0m 00̇0m 00̇0Lm 00̇0`m 00̇0sm 00̇0m 00̇0m 00̇0m 00̇0m 00̇0 n 00̇0Dn 00̇0hn 00̇0tn 00̇0vn 00̇0n 00̇0n 00̇0n 00̇0n 00̇0o 00̇0*o 00̇0Oo 00̇0o 00̇0o 00̇0o 00̇0o 00̇0o 00̇0-p 00̇0/p 00̇0_p 00̇0rp 00̇0p 00̇0p 00̇0p 00̇0p 00̇0p 00̇0p 00̇0p 00 ̇0q 00 ̇0Pq 00 ̇0gq 00 ̇0{q 00 ̇0~q 00̇0q 00̇0q 00̇0q 00̇0q 00̇0Fr 00̇0nr 00̇0r 00̇0r 00̇0r 00̇0 s 00̇0\s 00̇0s 00̇0s 00̇0s 00̇03t 00̇0ct 00̇0t 00̇0t 00 ̇0'u 00!̇0gu 00"̇0u 00#̇0u 00$̇0v 00%̇01v 00&̇0hv 00'̇0v 00(̇0v 00)̇0v 00*̇0v 00+̇0v 00,̇0v 00-̇0"w 00.̇02w 00/̇0>w 000̇0Iw 001̇0Xw 002̇0gw 003̇0w 004̇0w 005̇0w 006̇0w 007̇0w 008̇0w 009̇0-x 00:̇0ux 00;̇0x 00<̇0x 00=̇0x 00>̇0'y 00?̇0gy 00@̇0y 00Ȧ0y 00Ḃ0z 00Ċ0\z 00Ḋ0z 00Ė0z 00Ḟ0z 00Ġ0#{ 00Ḣ0a{ 00İ0v{ 00J̇0{ 00K̇0{ 00L̇0{ 00Ṁ0'| 00Ṅ0g| 00Ȯ0| 00Ṗ0| 00Q̇0| 00Ṙ0} 00Ṡ0 } 00Ṫ0} 00U̇0(} 00V̇05} 00Ẇ0c} 00Ẋ0} 00Ẏ0} 00Ż0} 00[̇0} 00\̇0'~ 00]̇0n~ 00^̇0~ 00_̇0~ 00`̇0~ 00ȧ0 00ḃ0$ 00ċ0G 00ḋ0X 00ė0 00ḟ0 00ġ0@ 00ḣ0 00i̇0 00j̇0 00l̇0c 00l̇0h 00ṁ0 00ṅ0N 00ȯ0 00ṗ0 00q̇07 00ṙ0H 00ṡ0| 00ṫ0 00u̇0F 00v̇0 00ẇ0 00ẋ0 00ẏ0܇ 00ż0 00{̇0 00|̇06 00}̇0Y 00~̇0z 00̇0 00̇0 00̇0Ո 00̇0 00̇0 00̇0= 00̇0a 00̇0 00̇0 00̇0ʉ 00̇0 00̇0 00̇0C 00̇0h 00̇0 00̇0 00̇0ъ 00̇0 00̇0 00̇0C 00̇0k 00̇0 00̇0 00̇0 00̇0 00̇08 00̇0I 00̇0N 00̇0O 00̇0 00̇0 00̇0Ō 00̇0 00̇0 00̇0 00̇02 00̇0\ 00̇0g 00̇0n 00̇0 00̇0% 00̇0` 00̇0m 00̇0 00̇0 00̇0Ҏ 00̇0 00̇0 00̇0% 00̇0& 00̇0B 00̇0 00̇0܏ 00̇0 00̇0 00̇01 00̇0M 00̇0k 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0; 00̇0Y 00̇0| 00̇0 00̇0 00̇0 00̇0J 00̇0 00̇0 00̇0˔ 00̇0 00̇0 00̇0ѕ 00̇00 00̇0 00̇0 00̇0 00̇0ɖ 00̇0 00̇0 00̇0 00̇0/ 00̇0; 00̇0F 00̇0^ 00̇0 00̇0 00̇0˘ 00̇0 00̇0Ӝ 00̇0 00̇0! 00̇00 00̇0^ 00̇0w 00̇0 00̇0 00̇0 00̇0ӝ 00̇0 00̇0 00̇0 00̇0  00̇0) 00̇0C 00̇0O 00̇0d 00̇0p 00̇0 00̇0̞ 00̇0 00̇0 00̇0  00̇0 00̇0A 00̇0P 00̇0] 00̇0v 00̇0~ 00̇0 00̇0 00̇0˟ 00̇0 00̇0 00̇0D 00̇0P 00̇0c 00̇0m 00̇0x 00̇0 00̇0 00̇0  00̇0 00̇0 00̇0# 00 ̇0+ 00 ̇0J 00 ̇0j 00 ̇0r 00 ̇0 00̇0 00̇0ۡ 00̇0 00̇0 00̇0 00̇0< 00̇0\ 00̇0d 00̇0i 00̇0 00̇0 00̇0â 00̇0 00̇0 00̇0N 00̇0 00̇0 00̇0ã 00 ̇0٣ 00!̇0 00"̇0 00#̇0C 00$̇0a 00%̇0 00&̇0 00'̇0Ƥ 00(̇0 00)̇0V 00*̇0 00+̇0 00,̇0 00-̇0ȥ 00.̇0ͥ 00/̇0 000̇0_ 001̇0 002̇0 003̇0 004̇0 005̇0 006̇0 007̇0 008̇0D 009̇0k 00:̇0 00;̇0 00<̇0 00=̇0; 00>̇0P 00?̇0` 00@̇0 00Ȧ0 00Ḃ0Ѩ 00Ċ0 00Ḋ0 00Ė01 00Ḟ0a 00Ġ0s 00Ḣ0 00İ0© 00J̇0ש 00K̇0 00L̇0  00Ṁ0% 00Ṅ0> 00Ȯ0] 00Ṗ0 00Q̇0 00Ṙ0Ǫ 00Ṡ0 00Ṫ0( 00U̇0H 00V̇0i 00Ẇ0 00Ẋ0 00Ẏ0 00Ż0 00[̇0Ы 00\̇0  00]̇0Q 00^̇0a 00_̇0p 00`̇0{ 00ȧ0 00ḃ0ج 00ċ0  00ḋ0; 00ė0\ 00ḟ0 00ġ0 00ḣ0 00i̇0 00j̇0F 00k̇0 00l̇0ܮ 00ṁ0! 00ṅ0 00ȯ0ׯ 00ṗ02 00q̇0| 00ṙ0̰ 00ṡ0" 00ṫ0j 00u̇0 00ẇ0ұ 00ẇ0ױ 00ẋ0 00ẏ0ij 00ż0 00{̇0 00|̇0. 00}̇0: 00~̇0Z 00̇0d 00̇0 00̇0 00̇0 00̇0 00̇0޵ 00̇0 00̇0 00̇0 00̇0( 00̇0T 00̇0e 00̇0t 00̇0~ 00̇0 00̇0ƶ 00̇0 00̇0 00̇0$ 00̇0G 00̇0S 00̇0] 00̇0_ 00̇0 00̇0 00̇0ͷ 00̇0 00̇0 00̇0 00̇0  00̇0 00̇0M 00̇0o 00̇0~ 00̇0 00̇0 00̇0 00̇0Ÿ 00̇0и 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇04 00̇0Q 00̇0] 00̇0h 00̇0 00̇0 00̇02 00̇03 00̇0W 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0ÿ 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0G 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0H 00̇0W 00̇0f 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇04 00̇0G 00̇0\ 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇05 00̇0A 00̇0M 00̇0X 00̇0 00̇0 00̇0 00̇06 00̇0H 00̇0w 00̇0 00̇0 00̇0 00̇0h 00̇0 00̇0 00̇0 00̇0  00̇0L 00̇0 00̇0 00̇0* 00̇0] 00̇0l 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0K 00̇0r 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0- 00̇0. 00̇0/ 00̇0c 00̇0h 00̇0 00̇08 00 ̇0O 00 ̇0 00 ̇0 00 ̇0  00 ̇0* 00̇0 00̇0 00̇0 00̇07 00̇0Z 00̇0 00̇0 00̇0U 00̇0 00̇0b 00̇0 00̇0  00̇0T 00̇0 00̇0 00̇0 00̇0 00̇0K 00 ̇0u 00!̇0 00"̇0 00#̇0 00$̇03 00%̇0L 00&̇0} 00'̇0 00(̇0 00)̇0 00*̇0 00+̇0Y 00,̇0 00-̇0 00.̇0Z 00/̇0 000̇0 001̇0 002̇0A 003̇0I 004̇0 005̇0 006̇0 007̇0Z 008̇0v 009̇0 00:̇0 00;̇0 00<̇09 00=̇0j 00>̇0 00?̇0 00@̇0 00Ȧ0 00Ḃ0K 00Ċ0j 00Ḋ0 00Ė0 00Ḟ0 00Ġ0 00Ḣ0 00İ0 00J̇08 00K̇0@ 00L̇0 00Ṁ0 00Ṅ0> 00Ȯ0 00Ṗ0 00Q̇0 00Ṙ0 00Ṡ0N 00Ṫ0 00U̇0 00V̇0 00Ẇ0 00Ẋ0H 00Ẏ0T 00Ż0w 00[̇0 00\̇0 00]̇0 00^̇0 00_̇0  00`̇07 00ȧ0 00ḃ0 00ċ0 00ḋ0 00ė0 00ḟ0# 00ġ0h 00ḣ0 00i̇0 00j̇0( 00k̇0A 00l̇0m 00ṁ0 00ṅ0 00ȯ0 00ṗ0 00q̇0^ 00ṙ0v 00ṅ0 00ṡ0 00ṫ0 00u̇0 00v̇0 00ẇ0 00ẋ0 00ẏ0> 00ż0h 00{̇0w 00|̇0 00}̇0 00~̇0 00̇0 00̇0 00̇0, 00̇0N 00̇0w 00̇0 00̇0 00̇0 00̇0K 00̇0] 00̇0 00̇0 00̇0 00̇0 00̇05 00̇0w 00̇0 00̇0 00̇0 00̇0; 00̇0U 00̇0a 00̇0 00̇0 00̇0 00̇0 00̇0 00̇07 00̇0C 00̇0D 00̇0U 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0W 00̇0\ 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0: 00̇0q 00̇0 00̇0 00̇0 00̇0  00̇0> 00̇0J 00̇0U 00̇0t 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0A 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0' 00̇0H 00̇0 00̇0 00̇0 00̇0  00̇0. 00̇0L 00̇0X 00̇0c 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0P 00̇0h 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0B 00̇0d 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇05 00̇0A 00̇0c 00̇0 00̇0 00̇0 00̇0X 00̇0| 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0: 00̇0; 00̇0< 00̇0^ 00̇0c 00̇0 00̇0 00̇0 00̇0 00̇0  00̇0* 00̇0q 00̇0B 00̇0 00̇0 00̇0f 00̇0 00̇0 00̇0 00̇0 00̇0  00̇0: 00̇0c 00̇0 00̇0 00̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0B 00 ̇0P 00̇0U 00̇0~ 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0: 00̇0C 00̇0T 00̇0Y 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0  00 ̇0  00!̇0!  00"̇0Z  00#̇0  00$̇0  00%̇0D  00&̇0E  00'̇0F  00)̇0  00)̇0  00*̇0  00+̇0  00,̇0  00-̇01  00.̇0@  00/̇0S  000̇0o  002̇0  002̇0  003̇0  004̇0  005̇0  006̇0  007̇0  008̇0  009̇0  00:̇0#  00;̇04  00<̇0C  00=̇0M  00>̇0]  00?̇0g  00@̇0  00Ȧ0  00Ḃ0  00Ċ0  00Ḋ0  00Ė0 00Ḟ0 00Ġ0 00Ḣ0 00İ0T 00J̇0 00K̇0 00L̇0 00Ṁ0 00Ṅ0 00Ȯ0 00Ṗ0 00Q̇0- 00Ṙ0V 00Ṡ0q 00Ṫ0} 00U̇0 00V̇0 00Ẇ0 00Ẋ0 00Ẏ0 00Ż0 00[̇0 00\̇0 00]̇0  00^̇0& 00_̇02 00`̇0= 00ȧ0P 00ḃ0] 00ċ0l 00ḋ0{ 00ė0 00ḟ0 00ġ0 00ḣ0 00i̇0 00j̇0 00k̇0 00l̇0) 00ṁ04 00ṅ0G 00ȯ0T 00ṗ0c 00q̇0r 00ṙ0 00ṡ0 00ṫ0 00u̇0 00v̇0 00ẇ0 00ẋ0 00ẏ0  00ż0+ 00{̇0> 00|̇0N 00}̇0] 00~̇0l 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇09 00̇0T 00̇0` 00̇0k 00̇0 00̇0K 00̇0l 00̇0v 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0  00̇0- 00̇0? 00̇0P 00̇0[ 00̇0n 00̇0| 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0- 00̇0> 00̇0I 00̇0\ 00̇0q 00̇0 00̇0 00̇0 00̇0  00̇0 00̇0 00̇0 00̇04 00̇0K 00̇0W 00̇0h 00̇0s 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0  00̇0@ 00̇0R 00̇0c 00̇0n 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0U 00̇0 00̇0 00̇0  00̇0? 00̇0` 00̇0l 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇00 00̇0D 00̇0` 00̇0v 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0A 00̇0W 00̇0h 00̇0r 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0  00̇0% 00̇0; 00̇0U 00̇0u 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇02 00̇0H 00̇0Y 00̇0c 00̇0 00̇0 00̇09 00̇0o 00̇0 00̇0 00̇0  00̇0 00̇0 00̇0F  00̇0Z  00̇0i  00̇0  00̇0  00̇0  00̇0  00̇0  00̇0%! 00̇0:! 00̇0B! 00̇0d! 00̇0t! 00 ̇0! 00 ̇0! 00 ̇0! 00 ̇0! 00 ̇0! 00̇0" 00̇0 " 00̇0"" 00̇0/" 00̇0U" 00̇0]" 00̇0" 00̇0" 00̇0" 00̇0" 00̇0# 00̇0# 00̇0# 00̇0L# 00̇0# 00̇0# 00̇08$ 00̇0l$ 00 ̇0}$ 00!̇0$ 00"̇0$ 00#̇0$ 00$̇0$ 00%̇0"% 00&̇0J% 00'̇0j% 00(̇0y% 00)̇0% 00*̇0% 00+̇0% 00,̇0% 00-̇0% 00.̇0.& 00/̇0^& 000̇0k& 001̇0& 002̇0& 003̇0& 004̇0' 005̇0' 006̇0+' 007̇0y' 008̇0' 009̇0( 00:̇0>( 00;̇0u( 00<̇0( 00=̇0( 00>̇0( 00?̇0 ) 00@̇0) 00Ȧ0B) 00Ḃ0K) 00Ċ0R) 00Ḋ0_) 00Ė0r) 00Ḟ0v) 00Ġ0) 00Ḣ0) 00İ0P* 00J̇0+ 00K̇0+ 00L̇0+00Ṅ0+00Ṅ0,00Ȯ0-00Ṗ0V/00Q̇0W/00Ṙ0/00Ṡ0/00U̇0/00V̇0/00Ẇ0000Ẋ0k000Ẏ0000Ż0000[̇0%100\̇0r100]̇0100^̇0100_̇0200`̇0"200ȧ0b200ḃ0200ċ0200ḋ0200ė08300ḟ0d300ġ0n300ḣ0300i̇0300j̇0300k̇0300l̇0400ṁ0A400ṅ0g400ȯ0400ṗ0400q̇0!500ṙ0+500ṡ0>500ṫ0I500u̇0m500v̇0500ẇ0500ẋ0500ẏ0500ż0500{̇0600|̇08600}̇0d600~̇0600̇0600̇0600̇0600̇0600̇0700̇0/700̇0F700̇0v700̇0700̇0700̇0700̇0700̇0800̇0800̇0&800̇0\800̇0):00̇0:00̇0:;00̇0;00̇0;00̇0<00̇0@<00̇0D<00̇0<00̇0<00̇0<00̇0<00̇0<00̇0=00̇0A>00̇0T>00̇0>00̇0>00̇0 ?00̇0[?00̇0?00̇0?00̇0@00̇0/@00̇0t@00̇0@00̇0@00̇0@00̇0A00̇0#A00̇07A00̇08A00̇0IA00̇0A00̇0A00̇0B00̇0PB00̇0B00̇0B 00̇0C00̇0AC00̇0FC00̇0E00̇0F00̇0[F00̇0F00̇0F00̇0.G00̇0MG00̇0G00̇0G00̇0G00̇0H00̇0DH00̇0XH00̇0H00̇0H00̇0H00̇0I00̇0;I00̇0eI00̇0I00̇0I00̇0I00̇0I00̇0J00̇0:J00̇0yJ00̇0J00̇0J00̇0J00̇0K00̇0K00̇0K00̇01K00̇0RK00̇0qK00̇0K00̇0K00̇0K00̇0K00̇0L00̇07L00̇0\L00̇0}L00̇0L00̇0L00̇0L00̇0L00̇0)M00̇06M00̇0aM00̇0bM00̇0uM00̇0M00̇0N00̇0SN00̇0N00̇0N00̇0N00̇0O00̇0 O00̇0;O00̇0BO00̇0QO00̇0XO00̇0O00̇0O00̇0O00̇0O00̇0O00̇0O00̇0P00̇0;P00̇0IP00̇0pP00̇0P00̇0P00̇0P00̇0Q00̇0̇0^ 00>̇0_ 00?̇0_ 00@̇0._ 00Ȧ0L_ 00Ḃ0_ 00Ċ0_ 00Ḋ0_ 00Ė0#` 00Ḟ0W` 00Ġ0` 00Ḣ0` 00İ0` 00J̇0` 00K̇0 a 00L̇0Fa 00Ṁ0_a 00Ṅ0~a 00Ȯ0a 00Ṗ0a 00Q̇0a 00Ṙ0a 00Ṡ0a 00Ṫ0b 00U̇0Bb 00V̇0qb 00Ẇ0b 00Ẋ0b 00Ẏ0b 00Ż0c 00[̇0Sc 00\̇0uc 00]̇0c 00^̇0c 00`̇0c 00`̇0c 00ȧ0c 00ḃ0d 00ċ0Bd 00ḋ0pd 00ė0d 00ḟ0d 00ġ0d 00ḣ0e 00i̇0 e 00j̇0"e 00k̇0Qe 00l̇0`e 00ṁ0~e 00ṅ0e 00ȯ0e 00ṗ0e 00q̇0e 00ṙ0e 00ṡ0f 00ṫ02f 00u̇0`f 00v̇0lf 00ẇ0f 00ẋ0f 00ẏ0f 00ż0f 00{̇0g 00|̇03g 00}̇0Rg 00~̇0rg 00̇0g 00̇0g 00̇0g 00̇0g 00̇0 h 00̇0Th 00̇0jh 00̇0wh 00̇0h 00̇0h 00̇0h 00̇0i 00̇0 00̇0M 00̇0Z 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0# 00̇0L 00̇0S 00̇0 00̇0ш 00̇0 00̇0 00̇0  00̇0F 00̇0| 00̇0 00̇0ω 00̇0 00̇0 00̇0 00 ̇0H 00 ̇0v 00 ̇0 00 ̇0Ɗ 00 ̇0ۊ 00̇0 00̇0 00̇0( 00̇02 00̇0< 00̇0C 00̇0H 00̇0d 00̇0 00̇0 00̇0 00̇0ˋ 00̇0 00̇0 00̇0+ 00̇01 00̇0[ 00̇0r 00 ̇0 00!̇0 00"̇0׌ 00#̇0 00$̇0 00%̇0` 00&̇0i 00'̇0p 00(̇0x 00)̇0 00*̇0 00+̇0 00,̇0s 00-̇0 00.̇0 00/̇06 000̇0 001̇0 002̇0ُ 003̇0 004̇0 005̇0_ 006̇0 007̇0 008̇0ǐ 009̇0ې 00:̇0 00;̇0 00<̇08 00=̇0B 00>̇0V 00?̇0v 00@̇0 00Ȧ0 00Ḃ0 00Ċ0ȑ 00Ḋ0 00Ė01 00Ḟ0E 00Ġ0O 00Ḣ0q 00İ0 00J̇0̒ 00K̇0 00L̇0 00Ṁ0G 00Ṅ0o 00Ȯ0 00Ṗ0 00Q̇0 00Ṙ0h 00Ṡ0 00Ṫ0 00U̇0 00V̇0\ 00Ẇ0 00Ẋ0ܕ 00Ẏ0 00Ż0  00[̇0 00\̇0W 00]̇0 00^̇0– 00_̇0 00`̇0 00ȧ0V 00ḃ0] 00ċ0 00ḋ0 00ė0 00ḟ0 00ġ02 00ḣ0Q 00i̇0 00j̇0 00k̇0 00l̇0Θ 00ṁ0  00ṅ0 00ȯ0 00ṗ0ٙ 00q̇0  00ṙ0 00ṡ01 00ṫ0^ 00u̇0 00v̇0ƚ 00ẇ0 00ẋ0 00ẏ01 00ż0J 00{̇0w 00|̇0 00}̇0ț 00~̇0 00̇0/ 00̇0k 00̇0u 00̇0 00̇0Ӝ 00̇0 00̇0 00̇0 00̇0+ 00̇0t 00̇0 00̇0 00̇0 00̇0# 00̇0d 00̇0| 00̇0 00̇0 00̇0Ş 00̇0͞ 00̇0$ 00̇07 00̇0; 00̇0g 00̇0 00̇0 00̇0 00̇0 00̇0R 00̇0 00̇0 00̇0 00̇0 00̇0! 00̇0D 00̇0L 00̇0 00̇0ɡ 00̇0 00̇0 00̇0/ 00̇0@ 00̇0i 00̇0 00̇0 00̇0Ţ 00̇0 00̇0 00̇0! 00̇0P 00̇0x 00̇0 00̇0 00̇0  00̇0= 00̇0T 00̇0i 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0- 00̇04 00̇09 00̇0C 00̇0n 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0V 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0թ 00̇0 00̇0: 00̇0b 00̇0w 00̇0f 00̇0 00̇0 00̇0Ы 00̇0 00̇0 00̇0o 00̇0 00̇0 00̇0 00̇0 00̇0 00̇0s 00̇0 00̇0 00̇0® 00̇0ڮ 00̇0 00̇0 00̇0. 00̇0^ 00̇0 00̇0 00̇0 00̇0. 00̇0i 00̇0 00̇0 00̇0. 00̇0n 00̇0ñ 00̇0 00̇0  00̇0] 00̇0 00̇0 00̇0 00̇0 00̇0ӳ 00̇0 00 ̇0* 00 ̇0O 00 ̇0e 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0= 00 ̇0\ 00 ̇0 00 ̇0z 00 ̇0 00 ̇0 00 ̇04 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0- 00 ̇0[ 00 ̇0h 00 ̇0P 00 ̇0C 00 ̇0 00 ̇0 00 ̇0Ҿ 00 ̇0 00 ̇0R 00 ̇0 00 ̇0 00! ̇0ؿ 00" ̇0 00# ̇0 00$ ̇04 00% ̇0p 00& ̇0 00' ̇0 00( ̇0 00) ̇0 00* ̇0H 00+ ̇0o 00, ̇0 00- ̇0 00. ̇0 00/ ̇0 000 ̇0 001 ̇03 002 ̇05 003 ̇0` 004 ̇0 005 ̇0 006 ̇0 007 ̇0 008 ̇0 009 ̇0 00: ̇0 00; ̇0N 00< ̇0 00= ̇0 00> ̇0 00? ̇0' 00@ ̇0Y 00A ̇0s 00B ̇0 00C ̇0 00D ̇0 00E ̇0 00F ̇0  00G ̇0B 00H ̇0v 00I ̇0 00J ̇0 00K ̇0 00L ̇0A 00M ̇0p 00N ̇0 00Q ̇0" 00P ̇0 00Q ̇0" 00R ̇0` 00S ̇0 00T ̇0 00U ̇0$ 00V ̇0L 00W ̇0n 00X ̇0 00Y ̇0 00Z ̇0 00[ ̇0 00\ ̇0 00] ̇0. 00^ ̇0O 00_ ̇0 00` ̇0 00a ̇0 00b ̇0 00c ̇0 00d ̇0L 00e ̇0a 00f ̇0 00g ̇0 00h ̇0 00i ̇09 00j ̇0i 00k ̇0 00l ̇0 00m ̇0 00n ̇0 00o ̇0& 00p ̇0H 00q ̇0m 00r ̇0 00s ̇0 00t ̇0 00u ̇0 00v ̇0B 00w ̇0j 00x ̇0k 00y ̇0| 00z ̇0 00{ ̇0  00| ̇0e 00} ̇0 00~ ̇0 00 ̇0 00 ̇0P 00 ̇0 00 ̇0 00 ̇0 00 ̇0% 00 ̇0& 00 ̇0' 00 ̇0) 00 ̇0L 00 ̇0Q 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0^ 00 ̇0 00 ̇0 00 ̇0A 00 ̇0m 00 ̇0n 00 ̇0 00 ̇0 00 ̇0! 00 ̇0k 00 ̇0 00 ̇0 00 ̇0 00 ̇0r 00 ̇0 00 ̇0 00 ̇0 00 ̇0! 00 ̇0 00 ̇0 00 ̇0$ 00 ̇0' 00 ̇01 00 ̇0G 00 ̇0J 00 ̇0v 00 ̇0} 00 ̇0 00 ̇0 00 ̇0 00 ̇0  00 ̇0_ 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0! 00 ̇0Z 00 ̇0 00 ̇0 00 ̇0 00 ̇0J 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0  00 ̇0 00 ̇0M 00 ̇0| 00 ̇0 00 ̇0 00 ̇0 00 ̇0, 00 ̇06 00 ̇0? 00 ̇0B 00 ̇0I 00 ̇0 00 ̇0 00 ̇0 00 ̇03 00 ̇0N 00 ̇0b 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0. 00 ̇0Y 00 ̇0 00 ̇0 00 ̇0 00 ̇0K 00 ̇0y 00 ̇0 00 ̇0 00 ̇0 00 ̇0  00 ̇0 00 ̇0- 00 ̇0Q 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0? 00 ̇0k 00 ̇0 00 ̇0 00 ̇0  00 ̇0G 00 ̇0[ 00 ̇0v 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0- 00 ̇07 00 ̇0> 00 ̇0E 00 ̇0Y 00 ̇0 00 ̇0 00 ̇0 00 ̇0> 00 ̇0Y 00 ̇0 00 ̇0 00 ̇0 00 ̇0$ 00 ̇0? 00 ̇0J 00 ̇0c 00 ̇0 00 ̇0 00 ̇0 00 ̇0( 00 ̇0/ 00 ̇06 00 ̇09 00 ̇0V 00 ̇0  00 ̇0V 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0E 00 ̇0M 00 ̇0q 00 ̇0y 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00! ̇0 00" ̇0 00# ̇0% 00$ ̇0H 00% ̇0h 00& ̇0o 00' ̇0v 00( ̇0y 00) ̇0 00* ̇0 00+ ̇0 00, ̇0 00- ̇0 00. ̇0D 00/ ̇0f 000 ̇0n 001 ̇0x 002 ̇0 003 ̇0 004 ̇0 005 ̇0 006 ̇0 007 ̇0  008 ̇0( 009 ̇0x 00: ̇0 00; ̇0 00< ̇0 00= ̇0 00> ̇0 00? ̇0 00@ ̇0 00A ̇0H 00B ̇0| 00C ̇0 00D ̇0 00E ̇0 00F ̇0 00G ̇0 00H ̇0 00I ̇0W 00J ̇0 00K ̇0 00L ̇0 00M ̇0' 00N ̇05 00O ̇0@ 00P ̇0a 00Q ̇0 00R ̇0 00S ̇0 00T ̇0 00U ̇01 00V ̇0H 00W ̇0 00X ̇0 00Y ̇0 00Z ̇0 00[ ̇0 00\ ̇0 00] ̇0 00^ ̇00 00_ ̇0M 00` ̇0W 00a ̇0b 00b ̇0~ 00c ̇0 00d ̇0 00e ̇0 00f ̇0 00g ̇0 00h ̇0$ 00i ̇0Z 00j ̇0b 00k ̇0j 00l ̇0z 00m ̇0 00n ̇0 00o ̇0 00p ̇0V 00q ̇0g 00r ̇0 00s ̇0 00t ̇0 00u ̇0 00v ̇0A 00w ̇0m 00x ̇0 00y ̇0 00z ̇0 00{ ̇04 00| ̇0Q 00} ̇0c 00~ ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0? 00 ̇0J 00 ̇0M 00 ̇0\ 00 ̇0] 00 ̇0{ 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇05 00 ̇0t 00 ̇0 00 ̇0 00 ̇0 00 ̇0[ 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0/ 00 ̇0e 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇00 00 ̇0o 00 ̇0 00 ̇0 00 ̇0 00 ̇0  00 ̇0H 00 ̇0e 00 ̇0v 00 ̇0 00 ̇0 00 ̇0B 00 ̇0~ 00 ̇0 00 ̇0 00 ̇0 00 ̇0U 00 ̇0 00 ̇0  00 ̇0 00 ̇0 00 ̇0O 00 ̇0v 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇05 00 ̇08 00 ̇0~ 00 ̇0 00 ̇0 00 ̇0a 00 ̇0 00 ̇0 00 ̇0 00 ̇0# 00 ̇0i 00 ̇0 00 ̇0 00 ̇0N 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0  00 ̇0 00 ̇0D 00 ̇0W 00 ̇0s 00 ̇0 00 ̇0 00 ̇0 00 ̇0" 00 ̇0h 00 ̇0} 00 ̇0 00 ̇0 00 ̇0 00 ̇0<  00 ̇0  00 ̇0  00 ̇0  00 ̇0  00 ̇0  00 ̇0  00 ̇0N  00 ̇0h  00 ̇0  00 ̇0  00 ̇0  00 ̇0  00 ̇0  00 ̇0  00 ̇0  00 ̇0  00 ̇0&  00 ̇0X  00 ̇0z  00 ̇0}  00 ̇0  00 ̇0  00 ̇0  00 ̇0  00 ̇0  00 ̇0 00 ̇0 00 ̇0 00 ̇0A 00 ̇0 00 ̇0 00 ̇0 00 ̇0Y 00 ̇0` 00 ̇0w 00 ̇0 00 ̇0 00 ̇0 00 ̇0  00 ̇0  00 ̇0M  00 ̇0N  00 ̇0  00 ̇0  00 ̇0$ 00 ̇0 00 ̇0> 00 ̇04 00 ̇0 00 ̇0 00 ̇06 00 ̇0u 00 ̇0 00 ̇0l 00 ̇0  00 ̇0; 00! ̇0N 00" ̇0m 00# ̇0 00$ ̇0 00% ̇0 00& ̇0 00' ̇0 00( ̇0@ 00) ̇0W 00* ̇0c 00+ ̇0m 00, ̇0 00- ̇0 00/ ̇0 000 ̇0 001 ̇0 002 ̇0 003 ̇0 004 ̇0  005 ̇0 006 ̇0 007 ̇0 008 ̇05 009 ̇0v 00: ̇0 00; ̇0 00< ̇0 00= ̇0 00> ̇0 00? ̇0 00@ ̇0 00A ̇0  00B ̇0 00C ̇0$ 00D ̇0/ 00E ̇0F 00F ̇0X 00G ̇0g 00H ̇0 00I ̇0 00J ̇0 00K ̇0 00L ̇0 00M ̇0 00N ̇0 00O ̇0& 00P ̇09 00Q ̇0W 00R ̇0s 00S ̇0 00T ̇0 00U ̇0 00V ̇0 00W ̇0 00X ̇0 00Y ̇0 00Z ̇0 00[ ̇0 00\ ̇0 00] ̇0$ 00^ ̇05 00_ ̇0? 00` ̇0@ 00a ̇0 00b ̇0 00c ̇0 00d ̇0 00e ̇0 00f ̇0 00g ̇0 00h ̇0 00i ̇0- 00j ̇0D 00k ̇0S 00l ̇0b 00m ̇0 00n ̇0 00o ̇0 00p ̇0 00q ̇0 00r ̇0 00s ̇0' 00t ̇0: 00u ̇0R 00v ̇0g 00w ̇0u 00x ̇0 00y ̇0 00z ̇0 00{ ̇0 00| ̇0 00} ̇0 00~ ̇0 00 ̇0 00 ̇0- 00 ̇0M 00 ̇0^ 00 ̇0o 00 ̇0y 00 ̇0z 00 ̇0 00 ̇0 00 ̇0 00 ̇05 00 ̇0D 00 ̇0S 00 ̇0t 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0- 00 ̇0R 00 ̇0k 00 ̇0| 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0 00 ̇0  00 ̇0%  00 ̇0/  00 ̇0l  00 ̇0  00 ̇0  00 ̇0  00 ̇0  00 ̇0  00 ̇0  00 ̇0  00 ̇0! 00 ̇0! 00 ̇0)! 00 ̇0F! 00 ̇0P! 00 ̇0e! 00 ̇0! 00 ̇0! 00 ̇0! 00 ̇0! 00 ̇0! 00 ̇0! 00 ̇0" 00 ̇0"" 00 ̇01" 00 ̇0T" 00 ̇0w" 00 ̇0" 00 ̇0" 00 ̇0" 00 ̇0" 00 ̇0" 00 ̇0# 00 ̇0E# 00 ̇0V# 00 ̇0g# 00 ̇0# 00 ̇0# 00 ̇0# 00 ̇0# 00 ̇0# 00 ̇0$ 00 ̇0$ 00 ̇0,$ 00 ̇0<$ 00 ̇0]$ 00 ̇0t$ 00 ̇0$ 00 ̇0$ 00 ̇0$ 00 ̇0$ 00 ̇0$ 00 ̇0$ 00 ̇0$ 00 ̇0$ 00 ̇0% 00 ̇0% 00 ̇03% 00 ̇0C% 00 ̇0O% 00 ̇0Y% 00 ̇0d% 00 ̇0y% 00 ̇0% 00 ̇0% 00 ̇0% 00 ̇0% 00 ̇0% 00 ̇0% 00 ̇0& 00 ̇0& 00 ̇0& 00 ̇06& 00 ̇0E& 00 ̇0b& 00 ̇0p& 00 ̇0& 00 ̇0& 00 ̇0& 00 ̇0& 00 ̇0& 00 ̇0& 00 ̇03' 00 ̇0H' 00 ̇0Y' 00 ̇0c' 00 ̇0m' 00 ̇0' 00 ̇0' 00 ̇0' 00 ̇0' 00 ̇0' 00 ̇0#( 00 ̇05( 00 ̇0J( 00 ̇0Z( 00 ̇0h( 00 ̇0( 00 ̇0( 00 ̇0( 00 ̇0( 00 ̇0) 00 ̇0) 00 ̇0() 00 ̇07) 00 ̇0V) 00 ̇0{) 00 ̇0) 00 ̇0) 00 ̇0) 00 ̇0) 00 ̇0) 00 ̇0) 00 ̇02* 00 ̇0* 00 ̇0Y+ 00 ̇0+ 00 ̇0 , 00 ̇0 , 00 ̇0/, 00 ̇0F, 00 ̇0f, 00 ̇0, 00 ̇0, 00 ̇0, 00 ̇0, 00 ̇0, 00 ̇0- 00 ̇0M- 00! ̇0\- 00" ̇0h- 00# ̇0s- 00% ̇0- 00% ̇0- 00& ̇0. 00' ̇00 00( ̇00 00) ̇0o2 00* ̇02 00+ ̇03 00, ̇03 00- ̇03 00. ̇03 00/ ̇0 4 000 ̇04 001 ̇0:5 002 ̇0W5 003 ̇0i5 004 ̇05 005 ̇05 006 ̇05 007 ̇05 008 ̇05 009 ̇05 00: ̇0!6 00; ̇0>6 00< ̇0P6 00= ̇0f6 00> ̇06 00? ̇06 00@ ̇06 00A ̇06 00B ̇0 7 00C ̇0&7 00D ̇0*7 00E ̇0,7 00F ̇0V7 00G ̇0s7 00H ̇07 00I ̇07 00J ̇07 00K ̇07 00L ̇07 00M ̇07 00N ̇0$8 00O ̇0>8 00P ̇0@8 00Q ̇0B8 00R ̇0z8 00S ̇08 00T ̇08 00U ̇08 00V ̇08 00W ̇0 9 00X ̇0E9 00Y ̇0|9 00Z ̇09 00[ ̇09 00\ ̇09 00] ̇09 00^ ̇0: 00_ ̇0/: 00` ̇03: 00a ̇05: 00b ̇0: 00c ̇0< 00d ̇0k< 00e ̇0l< 00f ̇0< 00g ̇0< 00h ̇0< 00i ̇0< 00k ̇0#= 00k ̇0> 00l ̇0n? 00m ̇0<@ 00n ̇0p@ 00o ̇0@ 00p ̇0@ 00q ̇0@ 00r ̇0@ 00s ̇0@0 8V>rGgh(Qp ,y~8s >!"*3@ABCDEUVijkl%&\^"mK8NabBNOqW!!!!"I"y""#@#&$]$$$$%A%[%v%%%%&-&''M((()O))*V+}++++,:,_,,,,,$-d---.(.I.J..../'/j////00 0W00000*1@1111111*2+23W3333314=4G4V4q444445R66;;q<<<<<= ====!=6=E=F=H=M=R=Z=i=j=l=q=v============> >>>>#>*>3>p>q>s>{>>>>>>>>>?????#?$?6?H?}?~?????????????????@@@$@+@@@c@d@g@p@w@@@@@@@@@@@AA1AwAxA{AAAAAABBBBBBB C C CC4C5C7C@C]C^C`CqCCCCCCCCCDD DDHD^D_DaDnDDDDDDDDDDDDEE'E(E+E;ESETEWEjEEEEEEEF F$F,F7F8F;FLFiFFFFFFFGNGOGzGGGG HH;HMHHHHHII;IuIIIII.J=JLJfJuJJJJJKKAKXKdKoKKKKKL%L3LLMMMMOOOOOOPPPMPiPuPPPPPPQ-QLQpQQQQQQQ RR:RMRgRRRRRS"S;SYSzSSSSSUUUU6VsVVVW;WaWWWWWW XIXRXXXXXX.Y?YGYYYcYpYYwZZZZ[#[B[`[r[[[[$\@\A\r\]5]^*^__````aa/aFaSajaxaaab;bbbcoccccd.d=dXdzddddddeDeeeeee f*fEfWfpfffffff ggEggggh=hrhhhhhhhhi,i>iJiUiiiiiiijj2jRjzjjjjjk)k/k1k^kskkkkkkl1lYlclilklllllm+m7m9mkmmmmmmn)ncnnnnnnno4oIonooooopLpNp~ppppppp qq3qoqqqqqqqrerrrrr,s{ssstRttttFuuuu#vPvvvvvvwwAwQw]whwwwwwwwww xLxxxxyFyyyy=z{zzz{B{{{{{ |F||||}#}+}=}G}T}}}}}~F~~~~~Cfw _<"m‚Vgeڇ/Uxֈ6\ĉ9bҊ6bً2Whmn0Q{D̎"-DEaҏ8PlڐʑZxӒ 8iϓ•ÕOϖ 7NZe}˘1@O}ĝ2:Wq}.8Cn}ß՟'@q}֠۠ PXwܡ Jiעۢ+C{ģ2pʤޤ>̥GĦΦϦЦѦ/qڧ>h}<^9Rk٪*Uuʫ6~׬:hԭխs N_Oױ(L[gεݵ +KU3Qt˷.:Dzָ(-<a~ܼ_`οٿ)5@t 'uat.=Lbnz cu'6yW 0BxZ[\&e|6W-d7K2xA`yJ0-nvL*f+@x%Demk0J{Bu@LMd>PUn E (0Sf1=Lz/P_k#T"1gLn+F_6ETu(Z|*Kh/e!Ci8b'3>O  (Zx0S/I[?Pi)Ih - 2 D U ^ o   H       - X         / I O _ m u          '9IS5HUd}$3BPkw%B]i 9T`#7Xs!0?b}:Ua /[Sap 0;O]l2S_ #cw/;t(<Xn ,e{ l    !@!a!y!!!!!!"-"Y"n"v"""""####4#?#V#c######'$;$H$S$$$'%l%%%%&&3&V&~&&&&&&&'b'''''(;(L(_(()9)r)))**>*E*v********+,--2-7-.0000)1*1I111)2R2223.3O3333,4e4444445F5n5556N6X6k6v666667 7G7e7777 88&818\8s888888>9H9S99V;%<g<<<5=m=q====> >C>n???@M@@@ACA\AAAAA2BPBdBeBvBBB?C}CC$DCDnDsD$G>GGGH[HzHHHI;IqIIIIJJJhJJJJJJ4KgKKKKL3L>LKL^LLLLLLL1MdMMMMMN+NVNcNNNNN5OOOO!P/PMPhPoP~PPPPP QQ+Q1QhQvQQQQ(RFRiRpRRRRSS&S>SDSfSlSzSSSSS0TLTcTfTrTTTTTUU$U(UPUSUXUUUVPVVVVWMXXXXYPY^YrYYYYYYYYZ[^___ `/`H`[`y``` aPaaaaa%b6bsbbbbbb cc3coccccdFdddddde!eAeoeeeee.f:fOf~fffffffg1g_ggggg h h-h`hhhhhi#i9iiiiii j;jijujjjjjk6kUkukkkkl%lYlflzllllll*mnmmmmnn(nRnnnnnnCoroooopdppp(qSqeqqqqrzrrrr2s^ssstRtutttuIuuuuu/vCvvvvv+w8wJwswww0x_xxyRyyyyyz6zLzrzzzz{{.{8{B{O{x{{{{{{{O}t}~J-C[qvЀ "*t HtՂ؂ =BOZ!3F\Pg~Ʌ:b†چL-QZap8p"4GZo̊E[ыGMlʌ׌Mލ "/owɎ!(]̏Qu֐Kב9s~ϒԒ0Ganד5>EMWHrƕ b͖4lϗ +Khؘ$FjD˚=ț1zל,Zӝ+2nƞ͞&_fpl3kʡLТ@JUJ_:RWx>Xɦ)^Чק#[Ԩ@jũ'OTѪJb«>nwǬ;<=>?inZݰ.nб)[qȳZn̵3HVg· ]ʸoBº* :_u%MlD+ "=kx`S,k1M8a0LNy/1g@r$] 5\*n3`1Ow+cqzYyEo$Nj EE8|<K_=8}5t7H{&)U\}>r9rW<Oo}AQx 3AFQbu|u <PkvJT[bv[ jE<r32Hf @FRUu,4i@hw;GQXyFq$Q=a4>Vf<K&Q}B] Ju3Yk~   384b|"Y;<k':V|2GtU=lU   v   ! S u x      9    > h   ((Jltu3d(:z-=\v4GbpE[cf+X&Li Ax$5noE!_U"W- ] p     !>!b!y!!!!!!!!! "!"7"D"N"""l###### $ $5$D$P$[$f$}$$$$$$$%%R%]%p%%%%%%%%%&#&/&L&[&l&v&w&&&&'&'2'='J'd'{'''''(8(G(S(^(q((((((()%)6)G)Q)d))))))))U*l*{*****+++1+E+d+++++++,6,K,\,f,,,,,,-!---8-K-`-}-------.3.J.Y.h.... //'/2/E/|//////0+0:0I0c0s0000000111'171U1j1z111111112202?2K2V2m2|2222223%313j333333334$4Z4l4444444#5<5Q5_5n555555566Q66x77(8?8N8e888888 949l9{99999:<=>>??? @)@AYAvAAAAA BBB@B]BoBBBBBC+CECICKCuCCCCCCDDCD]D_DaDDDDD E,EdEEEEEE4FNFRFTFF5HHHHHIIBIJK[LLLLLLLLL M`NNNNNNN O Ot?tYthttttttttuu4uCu|uuuuu"vDvvvvwNwwwwwwwwwwwwww)xTxxxy1yZysyyyyyyyz'z:zZzozzzzzzz{B{{{{ |&|)|+|,|C|v|||})}a}}}~J~~~FuA~Հ_܁)`ӂJq&dτЄӄ0000000000000000h0h0h0h0h 0 0 0 0 0 0 0 000,0y0y0y0y0,0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0  0  0  0  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0 0  0  0 0 0 0 0 0 0 0 0 0,0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#(0#0$-0$-0$-0$-0$-0$-(0#0J.0J.0J.0J.0J.0J.0J.0J.0J.0J.0J.0J.(0#0W00W00W00W00W00W00W00W00W00W00W00W00W00W0(0#0303030303030303030303030,040404040,0;0;0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0;0; 0;0; 0;0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0;0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0;0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0;0; 0; 0; 0; 0; 0; 0; 0; 0;0;0;0;0;0;0;0;0;0;0; 0; 0; 0; 0;0;0;0; 0; 0; 0; 0;0; 0; (0;0OG0OG0OG0OG0OG0OG0OG0OG0OG0OG0OG0OG0OG0OG0OG0OG0OG0OG0OG(0;0I0I0I0I0I0I0I0I0I0I0I0I0I0I0I0I0I0I0I0I0I0I0I0I0I0,0M(0M0O0O0O0O0O0O0O0O0O0O0O(0M0P0P0P0P0P0P0P0P0P0P0P0P0P0P0P(0M0R0R0R0R0R0R0R0R0R0R0R0R0R0R(0M0S(0M0U0U0U0U0U0U0U0U0U0U0U0U0U0U0U0U0U0U0U0U0U0U0U0U0U0U0U0U(0M0pY(0M0wZ0wZ0wZ0wZ0wZ0wZ0wZ0wZ0wZ0wZ0wZ0wZ0wZ0,0A\(0A\0](0A\0^(0A\0_0_0_0_0_0_0_0_0_(0A\0Sa0Sa0Sa0Sa0Sa0Sa0Sa(0A\0b0b0b0b(0A\0c0c0c0c0c0c0c0c0c0c(0A\0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0,0g(0g0g0g0g0g0g0g0g(0g0h0h0h0h0h0h0h0h(0g0Ui0Ui0Ui0Ui0Ui0Ui0Ui0Ui0Ui0Ui0Ui0Ui0Ui0Ui0Ui0Ui0Ui0Ui(0g01k01k01k01k01k01k01k01k01k01k01k01k(0g0kl0kl0kl0kl0kl0kl0kl(0g09m09m09m09m09m09m09m09m09m09m09m(0g0n0n0n0n0n0n0n0n0n0n0n0n0n(0g0Np0Np0Np0Np0Np(0g0p0p0p0p0p0p0p0p0,0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0,0f0f0f0f0f0f00<0000000<0g0g0g0g0g0g0g0g0g0g0g0g0g0g0g0g0g0g0g0g0g0g0g0g0g0g0g0g0g0g0g0g0g0g0g(0g0000(0g0n0n0n0n0n0n0n0n0n0<0(00D0D0D0D0D0D0D0D0<0E(0E0ҏ0ҏ0ҏ0ҏ0ҏ0ҏ0ҏ0ҏ0<0000000000<000(00Õ0Õ0Õ0Õ0Õ0Õ0Õ0Õ0Õ0Õ0Õ0<0e0e0e0e(0e00000000(0e0ĝ0ĝ0ĝ0ĝ0ĝ0ĝ0ĝ0ĝ0ĝ0ĝ0ĝ0ĝ0ĝ0ĝ0ĝ0ĝ(0e0C0C0C0C0C0C0C0C0C0C0C0C0C0C(0e000000000(0e000000000(0e0000000000(0e00000000000000000000<0Ѧ0Ѧ0Ѧ0Ѧ0Ѧ0Ѧ0Ѧ0Ѧ0Ѧ0Ѧ0Ѧ0Ѧ0Ѧ0Ѧ0Ѧ0Ѧ0Ѧ0Ѧ0Ѧ0Ѧ0Ѧ0Ѧ0Ѧ0Ѧ0Ѧ0Ѧ0Ѧ0Ѧ0Ѧ0Ѧ0Ѧ0Ѧ0Ѧ0Ѧ0Ѧ0Ѧ0Ѧ0Ѧ0Ѧ0Ѧ0Ѧ0Ѧ0Ѧ0Ѧ0Ѧ0Ѧ0Ѧ0Ѧ0Ѧ0<0խ0խ0խ0խ0խ0խ0խ0խ0խ0խ0խ0խ0խ00ױ000(00(0(0(0(0(0(0(0((000000000(00000000000ױ(00˷0˷0˷0˷0˷0ױ(0D0z0z0z0z0z0z0ױ00(00000000ױ0000ױ0`0`0`0`0`0`0`(0`000000(0`0@0@0@0@0@0@(0`0'0'0'0'0'0'0'(0`000000(0`000000(0`00000ױ0u0u0u0u0u0u0u0u0u0u0u0u(0u0W0W0W0W0W0W0W0W0W0W0W0W0W0ױ000000\0000000\0606060606 06 06 06 06 06 06 06 06 0606 0 6 0 6(06020202020202020202020202(060000000(060v0v0v0v0v0v0v0v0v0v0v0v0v0v0v0v0v0v0v0v0v0v0v(060m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0\0M0M0M0M0M0M0M0M0M(0M00000(0M0 0 0 0 0 0 0\0 (0 00000000000000000000000000000\00000000000000000000000\0000000(00000000000000000000000(00_0_0_0_0_0_0_0_0_0_0_0_0_0_0_(000000000000000000000000000000000000>0>0>000000  0  0  0  0  0  0  0 (0 0000(0 0[0[0[0[0[0[(0 0P0P0P(0 0000000000(0 00000000^ 0^ 0^ 0^ 0^ 0^ 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (0 050505050505050505(0 0000000000(0 000000000000(0 000000000000(0 00000000000000 0000(00000000000(00000000000(00000000000000(00000000000000(00;0;0;0;0;0;0;0;0;0;0;0;0;0;0;(0000(00#0#0#0#0#0#0#0#0#0#0#0#0#(000000000000000000000 000000000(00y!0y!0y!0y!0y!0y!0y!0y!0y!0y!0y!0y!0y!0y!(00#0#0#0#0#0#0#0#0#0#0#0#0#0#(00S$0S$0S$0S$0S$0S$0S$0S$0S$0S$0S$0S$0S$0S$0S$0S$0S$0S$0S$0S$0S$0S$0S$0S$0S$0S$0S$0S$0S$0S$0S$0S$0S$0S$0S$0S$0S$0S$0S$0S$0S$0 0*0  0* 0* 0* 0*0*00-02-02-02-02-02-0-00000000000000000000 000.30.30.30.30.30.30.30.30.30.3 00040404040404040404 000v60v60v60v60v6 000 70 70 70 70 70 70 70 7 000180180180180180180180180180-0S90S90S90S90S90S90S90S90S90S90S90S90S90-0 >0-0n?0n?0n?0n?0n?0n?0n?0n?0n?0n?0n?0n?0n?0n?0n?0n?0-0eB0eB0eB0eB0eB0eB0eB00CD0nD0nD0nD0nD0nD0nD0nD0nD0nD0nD0nD0nD0nD0nD0nD0nD0nD0CD 0JJ0hJ0hJ0hJ0hJ0hJ0hJ0hJ0hJ0hJ0hJ0hJ0hJ0hJ0hJ 0JJ0^L0^L0^L0^L0^L0^L0^L0^L0^L0^L0^L0^L0^L0^L0^L0^L0^L0CD0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0CD0rY0rY0rY0rY00Y0Y0Y0Y0Y0Y0Y0Y(0_0 `0 `0 `0 `0 `0 `0 `0 `0 `0 `0 `0 `0 `0 `0 `0 `0 `0 `0 `0 `0 `0 `0 `0 `0 `0 `0 `0 `0 `0 `0 `0 `0Y(0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d(0d0f0f0f0f0f0f0f0f0f0f(0d0-h0-h0-h0-h0-h0-h0-h0-h0-h0-h(0d0i0i0i0i0i0i0i0i0i0i(0d0k0k0k0k0k0k0k0k0k0k0k0k0k0Y0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0l0Y0x{0x{0x{00{0{0{0O}0O}0O}0O}(0O}0000000000000000(0O}0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*0*(0O}000000000000000000000(0O}00000000000000000(0O} 0 0 0 0 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000{0W0W0W0W0W0W0W0W0W0W(0W00000000000000(0W00000000000000000000000(0W000000000000000(0W0p0p0p0p0p0p0p0p0p0p0p0p0p0p0p0p0p0p0p0p0p0p(0W0U0U0U0U0U0U0U0U0U0U0U0U0U0U0U(0W000000000000000(0W0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#(0W0Ѫ0Ѫ0Ѫ0Ѫ0Ѫ0Ѫ0Ѫ0Ѫ0Ѫ0Ѫ0Ѫ0Ѫ0Ѫ0Ѫ0Ѫ0Ѫ0Ѫ0Ѫ0{0000000?0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0i0?0000000000000000000000000000?0l0l0l0l 0l 0l 0l0?000000000?0S(0S00000000000(0S000000000000000000000(0S000000(0S000000000000000?0000000000000000000000000000000000000000?000000000000000000000000000000}0}0}0}0}0}0}0}0}00H0H0H(0H00000(0H0)0)0)0)0)0)0)0)0)0)0)0000(00r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r0r00(000000000(0000000000000000(0040404040404040404040404(0000000000000(0 0  0 00000000000000000000000000000(00000000000000000000000000000000000000000000303030303030303030303030300<0<0<0<0<0<0<0<0<0<0<0<0<0<0<0<0<0<0<0<0<0<0<0<0<0<0<0<0<0<0<0<0<0<0<0<0<0<0<0<0<0<0<0<0<0<0<0<0<0<0<0<0<0<0(0u00000000000000000000000000000(0u000000000(00000000000000000000000000-0i0i0i0i0i0i0i0i0i0i0i(0000000000000000000000000-0"(0"0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#0#(0"0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$(0"0&0&0&0&0&0&0-(0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0-(0Y)0f)0f)0f)0f)0f)0f)0f)0f)0f)0f)0f)0f)0f)0f)0f)0f)0f)0f)0f)0f)0f)0f)0f)0f)(0Y)0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0-0k-(0k-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-(0k-0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0-(0810C10C10C10C10C10C10C10C10C10C10C10C10C10C10C10C10C10C10C10C10C10C10C10-(0B30L30L30L30L30L30L30L30L30L30L30L30L30L30L30L30L30L30L30L30L30L30L30L30L30-05050505050505H05H05H05H05H05H05H05H05H05H05H05H05H0H0:90^90^90:90<0<0<0<0<0<0<0<(0<0@0@0@0@0@0@0@0@(0<0A0A0A0A0A0A0A0A0A0A0A(0<0B0B0B0B0B0B0B0B0B0B0B(0<0 D0 D0 D0 D0 D0 D0 D0 D0 D0 D0 D0 D0 D0 D0 D0:90E0E0E0E0E0E0E00H0H0H(0H0L0L0L0L0L0L00{L0L(0L0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0N0{L0O(0O0P0P0P0P0P0P0P0P0P0P0P0P0P00GQ0GQ0GQ0GQ0(U(0(U0mV0mV0mV0mV0mV0mV0mV(0(U0ZW0ZW0ZW0ZW0ZW0ZW0ZW0ZW0ZW0ZW0ZW0GQ0LX(0LX0Y0Y0Y0Y0Y0Y0Y0Y0Y0Y0Y0GQ0Z0Z(0Z0!]0!]0!]0!]0!]0!]0!]0!]0!]0!]0!]0!]0!]0!]0!]0!]00`0`0`0`0`(0`0b0b0b0b0b0b0b0b0b0b0`(0$c0Tc0Tc0Tc0Tc0Tc0Tc0Tc0Tc0Tc0Tc0Tc0Tc0Tc0Tc0Tc0Tc0Tc0Tc0Tc0Tc0Tc0Tc0Tc0Tc0Tc0`(0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0`(0i0i0i0i0i0i0i0i0i0i0i0i0i0`(0j0 k0 k0 k0 k0 k0 k0 k0 k0 k0 k0 k0 k0 k0 k0 k0`(0Ol0rl0rl0rl0rl0rl0rl0rl0rl0rl0rl0rl0rl0rl0rl0rl0rl0rl0rl0rl0rl0rl0rl0`(0o0o0o0o0o0o0o0o0o0o0o0o0o0o0o0o0o0o0`(0q0q0q0q0q0q0q0q0q0q0q0q0`(0ds0~s0~s0~s0`(0s0t0t0t0t0t0t0t0t0t0`(0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t0t00w0w0w0w0w0w0w0w0w0w0w0w0Ay0Ay0Ay0Ay0Ay0Ay0Ay0Ay0Ay0Ay0Ay0Ay0Ay0w0z0z0z0z0z0z0z0z0z00{0{0{0{0{0{0{0{0{0{0{0{0{0{0{0{0{0{0{0{0{0{0{0{0{0{0{0{0{0{00{0{0{0{0{0{0{0{0{0{0{0{0{0@0I00@0I00@0I00@0I00@,0@0I00 8V>rgh(Qp ,y~8s >!"*3@ABCDEUVijkl%&\^"mK8NabBNOqW!!!!"I"y""#@#&$]$$$$%A%[%v%%%%&-&''M((()O))*V+}++++,:,_,,,,,$-d---.(.I.J..../'/j////00 0W00000*1@1111111*2+23W3333314=4G4V4q444445R66;;q<<<<<= ====!=6=E=F=H=M=R=Z=i=j=l=q=v============> >>>>#>*>3>p>q>s>{>>>>>>>>>?????#?$?6?H?}?~?????????????????@@@$@+@@@c@d@g@p@w@@@@@@@@@@@AA1AwAxA{AAAAAABBBBBBB C C CC4C5C7C@C]C^C`CqCCCCCCCCCDD DDHD^D_DaDnDDDDDDDDDDDDEE'E(E+E;ESETEWEjEEEEEEEF F$F,F7F8F;FLFiFFFFFFFGNGOGzGGGG HH;HMHHHHHII;IuIIIII.J=JLJfJuJJJJJKKAKXKdKoKKKKKL%L3LLMMMMOOOOOOPPPMPiPuPPPPPPQ-QLQpQQQQQQQ RR:RMRgRRRRRS"S;SYSzSSSSSUUUU6VsVVVW;WaWWWWWW XIXRXXXXXX.Y?YGYYYcYpYYwZZZZ[#[B[`[r[[[[$\@\A\r\]5]^*^__````aa/aFaSajaxaaab;bbbcoccccd.d=dXdzddddddeDeeeeee f*fEfWfpfffffff ggEggggh=hrhhhhhhhhi,i>iJiUiiiiiiijj2jRjzjjjjjk)k/k1k^kskkkkkkl1lYlclilklllllm+m7m9mkmmmmmmn)ncnnnnnnno4oIonooooopLpNp~ppppppp qq3qoqqqqqqqrerrrrr,s{ssstRttttFuuuu#vPvvvvvvwwAwQw]whwwwwwwwww xLxxxxyFyyyy=z{zzz{B{{{{{ |F||||}#}+}=}G}T}}}}}~F~~~~~Cfw _<"m‚Vgeڇ/Uxֈ6\ĉ9bҊ6bً2Whmn0Q{D̎"-DEaҏ8PlڐʑZxӒ 8iϓ•ÕOϖ 7NZe}˘1@O}ĝ2:Wq}.8Cn}ß՟'@q}֠۠ PXwܡ Jiעۢ+C{ģ2pʤޤ>̥GĦΦϦЦѦ/qڧ>h}<^9Rk٪*Uuʫ6~׬:hԭխs N_Oױ(L[gεݵ +KU3Qt˷.:Dzָ(-<a~ܼ_`οٿ)5@t 'uat.=Lbnz cu'6yW 0BxZ[\&e|6W-d7K2xA`yJ0-nvL*f+@x%Demk0J{Bu@LMd>PUn E (0Sf1=Lz/P_k#T"1gLn+F_6ETu(Z|*Kh/e!Ci8b'3>O  (Zx0S/I[?Pi)Ih - 2 D U ^ o   H       - X         / I O _ m u          '9IS5HUd}$3BPkw%B]i 9T`#7Xs!0?b}:Ua /[Sap 0;O]l2S_ #cw/;t(<Xn ,e{ l    !@!a!y!!!!!!"-"Y"n"v"""""####4#?#V#c######'$;$H$S$$$'%l%%%%&&3&V&~&&&&&&&'b'''''(;(L(_(()9)r)))**>*E*v********+,--2-7-.0000)1*1I111)2R2223.3O3333,4e4444445F5n5556N6X6k6v666667 7G7e7777 88&818\8s888888>9H9S99V;%<g<<<5=m=q====> >C>n???@M@@@ACA\AAAAA2BPBdBeBvBBB?C}CC$DCDnDsD$G>GGGH[HzHHHI;IqIIIIJJJhJJJJJJ4KgKKKKL3L>LKL^LLLLLLL1MdMMMMMN+NVNcNNNNN5OOOO!P/PMPhPoP~PPPPP QQ+Q1QhQvQQQQ(RFRiRpRRRRSS&S>SDSfSlSzSSSSS0TLTcTfTrTTTTTUU$U(UPUSUXUUUVPVVVVWMXXXXYPY^YrYYYYYYYYZ[^___ `/`H`[`y``` aPaaaaa%b6bsbbbbbb cc3coccccdFdddddde!eAeoeeeee.f:fOf~fffffffg1g_ggggg h h-h`hhhhhi#i9iiiiii j;jijujjjjjk6kUkukkkkl%lYlflzllllll*mnmmmmnn(nRnnnnnnCoroooopdppp(qSqeqqqqrzrrrr2s^ssstRtutttuIuuuuu/vCvvvvv+w8wJwswww0x_xxyRyyyyyz6zLzrzzzz{{.{8{B{O{x{{{{{{{O}t}~J-C[qvЀ "t HtՂ؂ =BOZ!3F\Pg~Ʌ:b†چL-QZap8p"4GZo̊EGMlʌ׌Mލ "/owɎ!(]̏Qu֐Kב9s~ϒԒ0Ganד5>EMWHrƕ b͖4lϗ +Khؘ$FjD˚=ț1zל,Zӝ+2nƞ͞&_fpl3kʡLТ@JUJ_:RWx>Xɦ)^Чק#[Ԩ@jũ'ѪJb«>nwǬ;<=>?inZݰ.nб)[qȳZn̵3HVg· ]ʸoº* :_u%MlD+ "=kx`S,k1M8a0LNy/1g@r$] 5\3`1Ow+cqzYyEo$Nj EE8|<K_=8}5t7{&)U\}>r9rW<Oo}AQx 3AFQbu|u <PkvJT[bv[ jE<r32Hf @FRUu,4i@hw;GQXyFq$Q=a4>Vf<K&Q}B] Ju3Yk~   384b|"Y;<k':V|2GtU=lU   v   ! S u x     9    > h   ((Jltu3d(:z-=\v4GbpE[cf+X A$5noE!_U"W- ] p     !>!b!y!!!!!!! "!"7"D"N"""l###### $ $5$D$P$[$f$}$$$$$$$%%R%]%p%%%%%%%%%&#&/&L&[&l&v&w&&&&'&'2'='J'd'{'''''(8(G(S(^(q((((((()%)6)G)Q)d))))))))U*l*{*****+++1+E+d+++++++,6,K,\,f,,,,,,-!---8-K-`-}-------.3.J.Y.h.... //'/2/E/|//////0+0:0I0c0s0000000111'171U1j1z111111112202?2K2V2m2|2222223%313j333333334$4Z4l4444444#5<5Q5_5n555555566Q66x77(8?8N8e888888 949l9{99999:<=>>??? @)@AYAvAAAAA BBB@B]BoBBBBBC+CECICKCuCCCCCCDDCD]D_DaDDDDD E,EdEEEEEE4FNFRFTFF5HHHHHIIBIJK[LLLLLLLLL M`NNNNNNN O Ot?tYthttttttttuu4uCu|uuuuu"vDvvvvwNwwwwwwwwwwwwww)xTxxxy1yZysyyyyyyyz'z:zZzozzzzzzz{B{{{{ |&|)|+|,|C|v|||})}a}}}~J~~~FuA~Հ_܁)`ӂJq&dӄ 0P000000000000 00I0I0I0I0I 0 0 0 0 0 0 0 0 00 0Z0Z0Z0Z0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0  0  0 0  0  0 0  0 0  0 0 0 0 0 0 0 0 0 0 0 0"0"0"0"0"0"0"0"0"0"0"0"0"0"0"0"0"0"0"0"0"0"0"0"0"0"0"0"0"0"0"0"0"0"0"0"*0"0-0-0-0-0-0-*0"0+.0+.0+.0+.0+.0+.0+.0+.0+.0+.0+.0+.*0"080080080080080080080080080080080080080080*0"0202020202020202020202020 0~40~40~40~40 0;0;0;0;0;0;0;0;0; 0; 0; 0; 0; 0;0; 0; 0; 0; 0; 0;0; 0; 0; 0; 0; 0;0; 0; 0; 0; 0; 0;0; 0; 0; 0; 0; 0;0; 0; 0; 0; 0; 0;0; 0; 0; 0; 0; 0;0; 0; 0; 0; 0; 0;0; 0;0; 0;0; 0;0; 0; 0;0; 0; 0; 0; 0; 0;0; 0; 0; 0; 0; 0;0; 0; 0; 0; 0; 0;0; 0; 0; 0; 0; 0;0; 0; 0; 0; 0; 0;0; 0; 0; 0; 0; 0;0; 0; 0; 0; 0; 0;0; 0; 0; 0; 0; 0;0;0;0;0;0;0; 0; 0; 0;0; 0; 0; 0;0; 0; 0; 0;0; 0; 0; 0;0; 0; 0; 0;0; 0; 0; 0;0; 0; 0;0; 0;0; 0; 0; 0;0; 0; 0; 0;0; 0; 0; 0;0; 0; 0;0; 0;0; 0; 0; 0;0; 0; 0;0;0;0;0;0;0;0;0;0;0; 0;0; 0; 0;0;0;0; 0;0; 0; 0;0; 0;*0;00G00G00G00G00G00G00G00G00G00G00G00G00G00G00G00G00G00G00G*0;0I0I0I0I0I0I0I0I0I0I0I0I0I0I0I0I0I0I0I0I0I0I0I0I0IH0 0M*0M0gO0gO0gO0gO0gO0gO0gO0gO0gO0gO0gO*0M0aP0aP0aP0aP0aP0aP0aP0aP0aP0aP0aP0aP0aP0aP0aP*0M0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q0Q*0M0S*0M0nU0nU0nU0nU0nU0nU0nU0nU0nU0nU0nU0nU0nU0nU0nU0nU0nU0nU0nU0nU0nU0nU0nU0nU0nU0nU0nU0nU*0M0QY*0M0XZ0XZ0XZ0XZ0XZ0XZ0XZ0XZ0XZ0XZ0XZ0XZ0XZ0 0"\*0"\0\*0"\0]*0"\0t_0t_0t_0t_0t_0t_0t_0t_0t_*0"\04a04a04a04a04a04a04a*0"\0b0b0b0b*0"\0c0c0c0c0c0c0c0c0c0c*0"\0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0 0f*0f0g0g0g0g0g0g0g*0f0{h0{h0{h0{h0{h0{h0{h0{h*0f06i06i06i06i06i06i06i06i06i06i06i06i06i06i06i06i06i06i*0f0k0k0k0k0k0k0k0k0k0k0k0k*0f0Ll0Ll0Ll0Ll0Ll0Ll0Ll*0f0m0m0m0m0m0m0m0m0m0m0m*0f0vn0vn0vn0vn0vn0vn0vn0vn0vn0vn0vn0vn0vn*0f0/p0/p0/p0/p0/p*0f0p0p0p0p0p0p0p0p0 0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0q0 0G0Gx0Gx0G0G0G 000c0c0c0c0c0c00H0H0H0H0H0H0H0H0H0H0H0H0H0H0H0H0H0H0H0H0H0H0H0H0H0H0H0H0H0H0H0H0H0H0H*0H0000*0H0O0O0O0O0O0O0O0O0O00n*0n0%0%0%0%0%0%0%0%00&*0&0000000000000000000000*00000000000000F0F0F0F*0F00000000*0F000000000000000*0F000@00@000@0@0@0000*0F0x0x0x0x0x0x0x0x0x*0F0r0r0r0r0r0r0r0r0r*0F0i0i0i0i0i0i0i0i0i0i*0F00000000000000000000000000000000000000000000000000000000000000000000000000000000000 000ұ0ұ0ұ*0ұ00000000*0ұ00000000*0ұ0~0~0~0~0~0~0~0~0~0*0000000*00M0M0M0M0M0M00и0и*0и00000000h0h0h003030303030303*03000000*03000000*030000000*03000000*03000000*030X0X0X0X00H0H0H0H0H0H0H0H0H0H0H0H*0H0*0*0*0*0*0*0*0*0*0*0*0*0*00000 00/0c0c0c0c0c0c0/0 0 0 0 0  0  0  0  0  0  0  0  0  0 0  0  0 *0 000000000000*0 0Y0Y0Y0Y0Y0Y0Y*0 0I0I0I0I0I0I0I0I0I0I0I0I0I0I0I0I0I0I0I0I0I0I0I*0 0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0@0/0 0 0 0 0 0 0 0 0 *0 00000*0 000@000/0*0000000000000000/00000000000000000000000/0D0D0D 0000*00\0\0\0\0\0\0\0\0\0\0\0\0\0\00U0U0U0U0U0U0U*0U000000000000000*0U0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0000 00<0^0^0<0 0 0 0 0 0 0 0*00f0f0f0f*00 0 0 0 0 0 *0000*00U0U0U0U0U0U0U0U0U0U*00Y0Y0Y0Y0Y0Y0<0 0 0 0 0 0  00F 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0F 0 0 0 0 0 0 0 *0 000000000*0 0000000000*0 0g0g0g0g0g0g0g0g0g0g0g0g*0 0^0^0^0^0^0^0^0^0^0^0^0^*0 0U0U0U0U0U0U0U0U0U0U0U0U0U0F 0000*00000000000*00000000000*00s0s0s0s0s0s0s0s0s0s0s0s0s*00000000000000*0000000000000000*00q0q0q*00000000000000*00S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0S0F 0D0D0D0D0D0D@0D0D0D*0D0'!0'!0'!0'!0'!0'!0'!0'!0'!0'!0'!0'!0'!0'!*0D0"0"0"0"0"0"0"0"0"0"0"0"0"0"*0D0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0$0F 0A*0F  0X* 0X* 0X* 0X*0X* 00,0,0,0,0,0,0,00000000000000000000"0002020202020202020202"00040404040404040404"000$60$60$60$60$6"000606060606060606"000707070707070707070,090909090909090909090909090,0=0,0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0?0,0B0B0B0B0B0B0B 00C0D0D@0D0D0D0D@0D@0D@0D0D0D0D0D0D0D0D0D0C"0I0J0J0J0J0J0J0J0J0J0J0J0J0J0J"0I0 L0 L0 L0 L0 L0 L0 L0 L0 L0 L0 LH0 L0 L0 L0 L0 L0 L0C0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0=N0C0 Y0 Y0 Y0 Y 00mY0Y0Y0Y0Y0Y0Y0mY*0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_0_`0_`0_0_`0_`0_0_0_0_0_0_0_0_0_0_0_0mY*0dd0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d*0dd0zf0zf0zf0zf0zf0zf0zf0zf0zf`0zf*0dd0g0g0g0g0g0g0g0g0g0g*0dd0Ri0Ri0Ri0Ri0Ri0Ri0Ri0Ri0Ri0Ri*0dd0j0j0j0j0j0j0j0j0jh0j0j0j0j0mY0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0Wl0mY0&{0&{0&{ 00r{0{0r{0|0|0|0|*0|0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=*0|0؀0؀0؀0؀0؀0؀0؀0؀0؀0؀0؀0؀0؀0؀0؀0؀0؀0؀0؀0؀0؀*0|000000000000000000000*0|0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A0A*0| 0m 0m 0m 0m 0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0r{0b0b0b0b0b0b0b0b0b0b*0b00000000000000*0b000000000@00000000000000*0b000000000000000*0b0{0{0{0{0{0{0{0{0{0{0{0{0{0{0{0{0{0{0{0{0{0{*0b0`0`0`0`0`0`0`0`0`0`0`0`0`0`0`*0b000000000000000*0b0,0,0,0,0,0,0,0,0,0,0,0,0,0,*0b0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0X0r{0x0x0x0x0x 00ƫ00000000000000000000000000000000000ƫ00000000000000000000000000ƫ0<0<0<0< 0< 0< 0<0ƫ000000000ƫ0#*0#0p0p0p0p0p0p0p0p0p0p0p*0#000000000000000000000*0#000000*0#0000000000@00ƫ0000000000000000000000000000000000000000ƫ0K0K0K0K0K0K0K0K0K0K0K0K0K0K 00 0,0,0,0,0,0,0,0,0,0,0,0,0 00000000@0 @0*000000*00*0*0*0*0*0*0*0*0*0*0*0 000*0@0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0s0 0*000000000*00Y0Y0Y0Y0Y0Y0Y0Y0Y0Y0Y0Y0Y0Y0Y*0000000000000*0000000000000*0 0 m 0 m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m0m*00w0w0w0w0w0w0w0w0w0w0w0w0w0w0w0w0w0w0w0w0w0w0w0w0w0w0w0w0w0w0w0w0w0w0w0 0[0[0[0[ 000000000000000000000000000000000000000000000000000000000000000000000 *0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 *0 00000000@0@0@0@0@0@0@0@0@0@0@0@0@0000 00.0j0j0j0j0j0j0j0j0j0j0j*0j0000000000000000000000.0*000000000000000000000*0000000000000000000*00 0 0 0 0 0 0.*0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.*0Z#0g#0g#0g#0g#0g#0g#0g#0g#0g#0g#0g#0g#0g#0g#0g#0g#0g#0g#0g#0g#0g#0g#0g#0g#*0Z#0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0.0l'*0l'0'0'0'0'0'0'0'0'0'0'0'0'0'0'0'0'0'0'*0l'0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0)0.*09+0D+0D+0D+0D+0D+0D+0D+0D+0D+0D+0D+0D+0D+0D+0D+0D+0D+0D+0D+0D+0D+0D+0D+0.*0C-0M-0M-0M-0M-0M-0M-0M-0M-0M-0M-0M-0M-0M-0M-0M-0M-0M-0M-0M-0M-0M-0M-0M-0M-0.0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/0/ 00S30w30w30S30606060606060606*060:0:0:0:0:0:0:0:*060;0;0;0;0;0;0;0;0;0;0;*060 =0 =0 =0 =0 =0 =0 =0 =0 =0 =0 =*060">0">0">0">0">0">0">0">0">0">0">0">0">0">0">0S30@0@0@0@0@0@0@ 00B0B0B*0B0F0F0F0F0F0F 00F0F*0F0!H0!H0!H0!H0!H0!H0!H0!H0!H0!H0!H0!H0!H0!H0!H0!H0!H0!H0F0I*0I0.J0.J0.J0.J0.J0.J0.J0.J0.J0.J0.J0.J0.J 00`K0`K0`K0`K0AO*0AO0P0P0P0P0P0P0P*0AO0sQ0sQ0sQ0sQ0sQ0sQ0sQ0sQ0sQ0sQ0sQ0`K0eR*0eR0S0S0S0S0S0S0S0S0S0S0S0`K0U0U*0U0:W0:W0:W0:W0:W0:W0:W0:W0:W0:W0:W0:W0:W0:W0:W0:W 00Z0Z0Z0Z0Z*0Z08\08\08\08\08\08\08\08\08\08\0Z*0=]0m]0m]0m]0m]0m]0m]0m]0m]0m]0m]0m]0m]0m]0m]0m]0m]0m]0m]0m]0m]0m]0m]0m]0m]0m]0Z*0`0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0Z*0c0c0c0c0c0c0c0c0c0c0c0c0c0Z*0d0#e0#e0#e0#e0#e0#e0#e0#e0#e0#e0#e0#e0#e0#e0#e0Z*0hf0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0Z*0i0 j0 j0 j0 j0 j0 j0 j0 j0 j0 j0 j0 j0 j0 j0 j0 j0 j0Z*0k0k0k0k0k0k0k0k0k0k0k0k0Z*0}m0m0m0m0Z*0n0n0n0n0n0n0n0n0n0n0Z*0n0n0n0n0n0n0n0n0n0n0n0n0n0n0n0n0n0n0n0n0n0n0n0n0n 00q0q0q0q0q0q0q0q0q0q0q0q0Zs0Zs0Zs0Zs0Zs0Zs0Zs0Zs0Zs0Zs0Zs0Zs0Zs0q0t0t0t0t0t0t0t0t0t 00u0u0u0u0u0u0u0u0u0u0u0u0u0u0u0u0u0u0u0u0u0u0u0u0u0u0u0u0u0u0u0u0u0u0u0u0u0u0u0u0u0u0u0u0   ~Z%&3"8:BIPnTYbftyJ~0ڈ:rv*^^@; ` +:/7>dDI PLY^"gnswz ̐R^VHe h1l$i'-7<lHS[fosvv {l\;EKSX[V^aiJp^xĈ܋(j4$V4, |!(-6b;@D J2NQTjq{Z6r֧±~(<8p"jx'08G\4yPGJKMNQRSU[\^_abdek}   JLMOPRTUWXZ\^_abcefhikmoqsuvxy{|}();EtEEVFGPx`Zit}}~0~R~~~*Dx8azހ!_0܅.0zڈV‰̋6+|[R  !b-`28>EP\,etzxF&Vx~Dt  /&+B4"D@MWxet|z;PLSZa2ku>NF4H@(1:|JRYbjqw~X̧><fr%n+94FXPX^dljrx~DHLOPTVWXYZ]`cfghijlmnopqrstuvwxyz{|~  KNQSVY[]`dgjlnprtwz~IHjW҄XC !4P 2$qE"dIQ2$~tH<S{2$Z۠/`=/$2$`9b_&ĥ2$7;wg'=2$ڠtJ|2$$}zO+(2$ ų aO3c,2$iQ2$PWZi~!r2$,yI<:!2$[kT#;@ 0(  B S  ?҄ _Hlt221590885Pӄ@QӄiJ$K$TH!L$ /M$܊N$O$.P$Q$qR$|S$LT$ U$V$<W$̆X$DY$lZ$ [$܂\$\.]$ ^$ _$, `$l a$Ԥb$c$Td$e$ԥf$g$Th$i$Ԧj$k$Tl$m$ԧn$o$Tp$q$Ԩr$s$Tt$u$ԩv$Tw$x$y$ z${$ |$}$~$$ $T $, $4$&$$$ $$t $d $\$$,$l$$$̝$ $L$Ծ $ $T $ $Կ $ $ $4 $t $ $ $4 $|$$$<$|$$$ $T $ $ $ $T $ $ $ $T $ $ $ 01IIEJ ]_6dhkvwHթթRR ZǿE ;8x!8#!O!O'O+OX_X_^_b(f(fffuuuu)v)v3wzz=\ooggݐݐ  ؒؒGGZ#&'*a.g50QrboioikpDyzӄ      !"#$%&'()*+.,-/1023456789:;<=>?@ABCDEFGHIJKLMNOPQRSTVUWYXZ[\]^_`abcdefgh01IIIJ]_:dhlvwL ککWW^˿I ?<|!<#&O*O/O/O]_`_`_b,f,fffuuuu-v-v7wzzA`ttllݒݒW\\#&'*e.k54QvbtitikpHyzӄ  !"#$%&'()*+-.,/1023456789:;<=>?@ABCDEFGHIJKLMNOPQRSTVUWYXZ[\]^_`abcdefgh=:*urn:schemas-microsoft-com:office:smarttags PlaceType=<*urn:schemas-microsoft-com:office:smarttags PlaceName8g*urn:schemas-microsoft-com:office:smarttagsCity9i*urn:schemas-microsoft-com:office:smarttagsplace9\*urn:schemas-microsoft-com:office:smarttagsState  Viigiiiiiiiiii\iiiiggigiiiiiiiiiiiiiiiiiiiiiii<<:ig\i\ii\\i\i\ii\iiii\igiigigigigigigii<:ig\iiiiiiiigiiiii )*+2378TV-=cq 67>?FI_`eiqrv{'(PQop  +-35_y} Oj9Mber.rt  - @ O       + |  7 8 +<?Ii8LMUW$H_')_lqz|M]eoy "-./6Wh:Z[dgpt7=NQ^esz#1blJ$3=G69Mpu+2?Hiuv,.78BDMN`bt2GMO]q P \ ` p s !=!>!N!`!e!!!!!!! "%"P"U"z""""""""#-#@#`#r#########%$&$+$G$P$S$\$k$s$v$$$$$$$$$$%%3%@%i%u%%%%%%%%&&&&&.&8&C&Z&f&&&&&''''''''L(M(Q(j((((()>)L)X)^))))***+++?+U+[+{++++++++,,9,?,^,c,,,,,,,,,,$---/-0-1-@-\-g-------...J.S.U.V.W.p.q.........//// /-/4/5/;/>/D/J/U/Y/d/t/z/}///////////// 00070=0F0S0W0`0b0c0d0v0w0000000000001(13191F1M1^1d1j1s1w11111111111111222(2,2n2v22222333 3!3"3V3w3333 4 444404l4n4y44444444444=5A5X5[55666667!7#7,7:7A7P7U7]7b7w7|7~7777777777777777777777777777778898C8]8c8j8o8q8u8888888$9)9X9c9e9q9s9y9{999999: ::!:.:8:i:s:u:}::::::: ;;/;6;8;>;O;W;Y;^;`;f;;;;;;;;;;;;_<q<x<<<<<<== ===????g@o@@@AA{AAAsB~BBBBBBBBBBBBBB CCC!C7C?C`CnCqCwCCCCCCC DDDD4D8D@DDDaDmDDDDDDDDDDDDDDDEEE"E+E:E;EAEBEQEWEiEEEEEEE,F2F;FKFFFFFFFFFFF&G:GOGXGZG[G\GyGGGGGGGGGMHSHTH]HHHHHHHII3I9I;IAIRIlIIIIIIIIIIIIIIJJJJ$JJJJJJJJJJJKK!K2K3K=KIKUKKKKKKKKK LL4L@LCLLLLLLLLL+M1MNMUMZMmM}MMMMMMMMMMMMMMMMM NNbNnNNNNNIOOOOOOO$P1PUPaPPPPPPPQQQQRRR R!R9RRR S SCSDSaSbSSSSSSSSTTT"T:TATETPTjTqTtT{TTTTTTTTTTTTTTTTU U+U3U4UAULUPUVU[UfUjUtUUUUUUUUUUUUUUV VVV#V'V3V8V>V?VKVLVPVRV[V\VjVuV{V|VVVVVVVVVVVVVVVVVVVVWWW'WcWiWWWWW XXXXXXXXXXXYY YYY Y&YtYYYYYYZ Z ZZZ&Z4ZBZEZNZYZcZeZhZoZvZwZZZZZZZZZZZZZZZZZZ[[[[ [#[+[2[?[B[J[Q[][`[f[g[k[[[[[[[[\ \\(\0\E\X\r\\\\\\\\\\] ]]*]7]]]^^^,^^^B_Z_p_q_v________ ` ```````````` a a$a%a;akdkgkhkrkkkkk lll,l=lIlkltllllllllllmmmm'm9mBmum}mmmmmmmmmmmmnn%n+nYnenunvn{nnnnnnno ooo-o1o;o?oKoQoRoZopovoxo~oooooooooooooooooppp pp"p$p+p@pEpNpWpYpZpppppppppppqqUqYqbqmqqqqqqqqqqrrrrrrrrr+s/sSs[szs|ssssssstt t ttt>t?tQtTtnttttttttttt uu u-u6uluxuuuuuuuuuuuuuuuuuvvvv)v-v4vBvFvTvvvvvvw*w+w.wBwNwwwwwwwwww x xx!x+x8x@xMxbxmxpxxxxxxxxyyyy>yByEyFyKyyyyyyyyyy;z?zzz|zzzzzzz{{{{0{={C{O{S{\{`{m{q{}{{{{{{ | |||||#|%|.|/|=|F|L|M|W|X|f|g|u|y||||||||||||||} }T}w}}}}}}}}}}}}}}}~~~*~/~>~E~G~^~a~o~w~~~~~~~~~~~~~~fuz#/2FIKRS^bt~ȀԀـ57;=CE`ǁȁ!&lpłxуNUV]`fk[jkrĆӆ),58ADNYdećˇه݇ &.3@GTYcjw|ƈڈ '5:DK[`pvÉȉԉۉ$*8 "*NWZ[OPlʟ˟̟͟ԟٟޟߟ'+0123puxy}Xcvܡ-34Uhl}~֢"19HNcfУ2rɤ 269Px{~;?BYæĦʦѦ /q̧ϧۧݧ!(04=agnu`x'./8ͪժ ,MTƫ̫߫lm٬9=OVWgkxӭխ!24?Aru®ޮ ,/DGMPbcfhmvů˯ܯ!*8?@DFUa|ưϰ +2HNQryzñαѱձױݱ߱ ltx߲'(1ݵ·˷Էط$*H]z޸)58Gɹٹ߹ '*U`rºȺκպ\_»ӻ7Kļ޼^d;ξXϿտ"'*,01PV]h ly} %@JKLMV]abfgjtwy'1234CDGHSVYcghl !/V[\`nr "]a !#1X]^bcfpty $ ?jn&,1FPUY*9Qv|'4;@"VWabce,\m,6>@TY\bdw%(.7&'df{~'-3:GHTYegsu %3BJRdz")<CGx )ty7W"#&',89@EGOp ;DFHKefijo{| -24<CDH"+-/2<=>?nw|69kp|/37:; #v+78<KO ':Fbdlnr6=mwxyzjry /8:BI 2;=? #QYenxDSdr ?F'1=>ORfT $,8DMWYZ[wx &(jo/0:;<=DINjuwz*/AI4@A"48NQ'XmWuMfsu}"+.KTijlv *M[_ikl5 '09<Ybwxz?Khq=>MOPQ\^itw  '(-48>AIQirx  /06CHSU\fl[dh| ->?MPY]hru-9<H   D O U [ ^ m q           ( 0 ? A F J Y b c s t } ~                # + - U h         , - . / W Y a b i j n                Q W      &6&=CSXY`ghst %&,-45=>ABH->JZw|$5AQ\_dghs?P`p GXjz/BRty7HWZcvwxy()2378ABEFIJRSTU[\;DIN #rw  #$%-.89;<[\]^bcijopv UZ@X$'(+FKC ]                ! ! !!!!!!"!'!*!/!2!7!:!>!@!A!B!F!G!a!f!t!w!y!!!!!!!!!!!!!!!!!!!!!!!! " ""!"""+"/"@"A"J"M"W"["k"z""""""""""""# ##e#v#######$ $S$\$a$$$$$$$$$$$$$$$$$%*%:%u%~%%%%%%%%% &&#&$&,&2&E&F&r&x&{&|&&&&&&'''''4'='@'I'L'U'g'j'k't''''''''''',(/(R(S(t(u((((((((((((((((((((((((((())) )))&)+)C)H)l)p)w)x))))))))))))))*** *)*,*5*Q*U*\*e*h*q**********+ ++&+.+0+A+G+H+L+R+s+|+++++++++++++++++,,,,-,2,3,:,<,G,L,N,T,`,l,n,,,,,,- ---2-6-9-J-]-....////00)1*1H1I1J1K1#G$G=G>G?G@GjGkG|G}GGGGGGGGGGGGGGGHHHHHHHHGHHHXHYHZH[HnHoHrHsHyHzHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHII I I~LLLLLLMMMMMMMMMMMMMMNNNN________``` `[`]`d`e`y`}````````` aaaaPaTaUaVaaaaaaaaaaaaaaaaa%b)b5b:b=b>bsbwbzb{bbbbbbbbbbbbbbb ccc"c2c7c:c;cGcHcccccccccccccccdd d!dMdNdPdQdddddddddeeeeffffffggggggh hh h,h-hiijikiliyizi{i|iiiiiXlYlZl[lalblelflulvlRqUqdqgq)*2378    !()23z|!9:ĆdžȆˆ̆چ܆߆ #$LNQRÇć  .3@ARUY\`coruvyz|}ÈĈZ]abcdfgmnopŋNj̋͋ЋӋ  CDz{  }~klqrcdqr12?@NOSTUVlmuvxyЪѪ٪ڪߪɸʸ˸͸=>KL`aklnoprwxABCELMQRXY`aqruvz{Ϻк"#'/56=>CD)*+-3456:;ABGHMNRSYZ]^efghmnopGHUVYZcdopy|}2789dghi#$%&()&'*+349:ABIJNOV}~;<@A`ajkln( , / 0     yzZ[^_bcefjk%&*+,-./23KLQRhino  !"%&679:@AEFmnpqwx|}  #$3567- . 6 7 ; < !!!!!!!!6666u|v|||||}}}}} }'}(}~€ÀԀՀր؀  "#$%TUVW^_`bہ܁݁߁  !()*,ÂĂz{cdegtūӄ 2V-=cqhir'(PQop  +-3y}9Mt  ?I+2_l#1ryJ,8BN`bt2O]qz""""@#`#&$+$2$9$]$b$$$$$% %%%-%%%%%%%&&.&8&/''''''M(Q(X(^(((((&),)_)h)))**,,$---g-----...J.S.......-/5/n/o/////0070>0W0`000 11F1N111111111,2n2u233u333333 4 4l4p4y44445<566;;q<x<<<<== =BBBBBBBB CC7C?C`CnCCCCC DDaDmDDDDDDD+E:EWEiE;FKFFFOGXGGGGGGGGGMHTHHHHHHHII;IBIyI|IIIIIIJEJKJZJ\JJJ!K3KIKWKKK4LALLLMMMMMM NmOxOOOOOOOOOOOP PPP$P2PUPbPPPPPPPQQ Q"QCQHQ\QcQxQzQQQQQQQQQQQRRURWRoRqRRRRRRRSSSS*S,SCSESaScSSSUUUUUU8V?VuV|VVVWWW(W=WIWcWjWWWWWWWWWWW XXlXpXXXXXXXXYYYZ ZwZZZZZZZZ[[#[,[B[K[`[g[x[z[[[[[[\(\1\r\\7]],^^^^_ ``````````` aa?aCaSaiakawa}aaaaabTb]bbbbbcnccccccc6dtTtntttttIuRuuuuuvvvvvvvvw+wBwPwwwwwwwww xx4x7xpxyxxxxxy>yFyKyQyyyy;z?zzz|zzzzz{{ {{{{{{{{ | ||F|M|||||||T}w}}}}}}}G~^~~~~~~fu=CǁxV]e=?Y`nwȌʌWzDMˎ̎؎",5Ccpҏۏ).ܐ֑̑[wxӒݒޒ .8@AEiuvyГÕ̕ȖΖݖߖ&4?M~!˘ؘHNj|ĝƞ -CLŸß'?@"4`bz.RTl~ޢHO28pФҤ6:{?CѦۧݧũǩeg٪ fhǫ0RXԬխdfY]ױݱ (1afkr%*/6`b Y_˷Է$+zƸǸ޸)*U5;i|»ӻ޼;ξ ǿͿϿֿ'0@Jtw '1\bEKPSfm !cf&+'4Wa W[\b](.df{(Yedz7W"Ke2<2E_`x/5djv ):G6?Yr~9?Gdmw;=`e2< $en#F?>OUin MZ (jn0:jvAKUZ#.7Od}# +E\vh*0Tjv8:M\_iMSbx#)Z\0?KSq~@Gjy >Miv  '(-x06SUFHQZ[d"*?OPY~lrR T U ] ^ m        , - / Y b          & A F K N Q X a l u {        &58=D5>HP;AJOXj"-?J\qw$6AShn+1?Q`r 8>GYj|0BTnt +.7Icu(S[x~;DOW ?Blr #-OU gmv@FX c    !!!!a!f!m!y!!!!!!!""""/"A"["m"""""# #8#>#X#]#e#w#######S$\$$$$$$%u%%%%%% &&)&+&:&>&e&k&&&&&''L'V'g'k'''!($(=(@(X(Z(})) *)********+++- -2-6-9-J-..01*1H1,242U2f22222 33.37333334#4:4Y4l4n44444444444G5K55 6#6B6N6W6X6j6k6u6v666666666777 7)7G7M7777777 888%8&80818:8\8r8s8y8888888888 9H9R9S9r999::X;l;;<k<t<5=l=s=z===== >(>E>Q>n??@@\AbA3B8BeBtBBCjCqCCCCC'D9DBDDDJDnDrDtDD$G=G[HoHHHHI IKITIIIII JJJJ[JhJqJJJJKAKJKgKpKKKKKKKLL>LJL^LgLLM>MGMdMgMMMMNN*N+N-NVNbNcNsNNN9OEOSOUOPPPPPQ3Q@Q S S2T8TLTRTcTeTfTiTrTxTTTTTTTTTUU$U&UPURUSUWU2V8VVVWW{XXrYYYYYYYZZZZ[[[^^_` ``o`t`````0aDaTaYaaaaaaa bb)b5b\brb}bbbbbbb ccccccccd(d1dXdbdddddeeeeee.f9f@fBfjf}fffffffffogxggggg hh h,h-h6hhhhi\iciiiiiiiKjTjijtjjjjjjkk kkkl$lYlalzllllllllmnnnn!n(n.nRnXnnnnnnnApNpqq\q^q_qbqqqqqqqqq3r5r|r~rrrss)s+s,s/s4sCsWsYstttttu)u=uQuVuuuuuuuv$v7vBvmvvvvvvvvvvRwbwyzmzpzxz}zzzzzz{{{{{B{N{x{{{{{{{|v}}IK]^y} *3  bsڂ"+BNOYZ`MO\^ 7OTY˅ԅ :Kbh8Eptȋ̋QTpt "OQ!$.Fh̎(Iacُ!)WYݐ (*RTKnؒޒRTۓHYblqԗݗ0:PYmvؘݘ"%+kwǙ!EQ̚Ԛ>Jɛћ2>,1ԝܝ-0owȞ˞adpyŸlq"3Bʡҡ(:Vfۢ JTU^ۣIPRŤڤz٥/<@GZb6Kk#, $.@ǩΩ'ڪCIXabm« =>m{|ǬϬ< :E  w})6r{~^bZix{ AEQTbeuxWfux+<OPSvTW[^vx=L[^<?rFLX]}4=mu5:RV}%)U]K[ %'4=>@\env<JLPei_l?@s}37:G<a}-2FyV ` e t       | }          ($opvGL"(^an<H[bGY- . 7        !,!.!j!q!!!!!"")"1"O"~"""l#u#####$ $$$($.$=$C$[$d$$$$$$$$$%%R%\%%%%%%%%%%& &&<&?&T&V&w&&&&&&'%'J'S'''''''((((@(F(~(((((())q)w)))********++S+U+x+|++---..a.g.........//Y/]////Z4f4k4x4~44455g5m555555555556699999999: ;<==g=>>???@ @)@3@A*A+AXAYA`AvA|AAAAAAAA BBB B?B@BGB]BcBoBuBBBBBBBCC-C2CKCWCXCtCuC|CCCCCCCCCCDD DEDJDaDmDnDDDDDDDDDD EE,E2EfEmEEEEEEEEE8FHFTF{FFG6HDHKHHHIII5ICIJI|IIJJKKK[LgLhLLLLLLLLLLLLL M!MZMbM`NkNNNNNNNNNNNNN OO O%OWrW|WWWWWWWXX;XBXJXNXXX^XlXuXyX}XXXXXXXYYYZAZFZnZqZZZZZZ [![%[8[>[V[g[\]]y]]]]]]]^^K^W^c^i^r^t^^^^^^^__-_/_<_?_Z_]___`6``aa b&b,bwbbbbbbbbcc-cCcOcdc|ccccccccc d d'd)ddddd1e6eHe^ejeeeeee ffAfPfffffg4gMgVgYg[gpguggggggg/h6hhhkhyh|hhhhhi$i[i^ioiuiiiiijjjjj"j'j)j{jjjjjjjjjk,k>kbkkknkpkkkkkkkkkllllllll3m9mmmmmmnCnQnvn|nnnnn+o0oZo\o&p9pKpTpWpYpZp^pppppppqq&q8qRqdq{qqqqrrrrr2rqrzrrr4s (Z0[-     c a!y!!**$G>GHIb"cdd h hYlflt†܆pOSѪ÷ʸ/D*nH{&WV  9 u$5!!='J'))66EEՀ)̄΄ЄӄЄӄcฺg { ฺgB$! ฺgv*i>a!ฺgp)J= Q28*zo2Df :䉐>y=ฺg)>hlnJLฺg SRฺg`aฺg(;k`9L&m:lnb>@Doฺgms䉐>hh^h`o(. hh^h`o(. 88^8`o(. ^`hH.  L ^ `LhH.   ^ `hH. xx^x`hH. HLH^H`LhH. ^`hH. ^`hH. L^`LhH. hh^h`o(.88^8`OJPJQJ^Jo(-^`OJQJo(hHo  ^ `OJQJo(hH  ^ `OJQJo(hHxx^x`OJQJo(hHoHH^H`OJQJo(hH^`OJQJo(hH^`OJQJo(hHo^`OJQJo(hHhh^h`o(. ^`o(. ^`hH. pLp^p`LhH. @ @ ^@ `hH. ^`hH. L^`LhH. ^`hH. ^`hH. PLP^P`LhH. ^`hH. ^`hH. pLp^p`LhH. @ @ ^@ `hH. ^`hH. L^`LhH. ^`hH. ^`hH. PLP^P`LhH. 88^8`OJPJQJ^Jo(-^`OJQJo(hHo  ^ `OJQJo(hH  ^ `OJQJo(hHxx^x`OJQJo(hHoHH^H`OJQJo(hH^`OJQJo(hH^`OJQJo(hHo^`OJQJo(hHhh^h`5CJ\aJo(hh^h`o(.^`o(. ^`hH. pLp^p`LhH. @ @ ^@ `hH. ^`hH. L^`LhH. ^`hH. ^`hH. PLP^P`LhH.hh^h`o(. hh^h`o(. hh^h`o(. ^`hH. ^`hH. pLp^p`LhH. @ @ ^@ `hH. ^`hH. L^`LhH. ^`hH. ^`hH. PLP^P`LhH. ^`o(.  ^`hH. pLp^p`LhH. @ @ ^@ `hH. ^`hH. L^`LhH. ^`hH. ^`hH. PLP^P`LhH. 0^`0o(.hh^h`o(.hh^h`5CJ\aJo(cnJL@Do!  { SRln>a!y=msf :B$`a(;k Q2v*i)>&mp)o2|.2dk # kAr>BKrU6H"d+  n!I#''#(; .Y/G2j2:4U4 p4:8:%::l;Z=\=M@)A?PACA4BRlCD5JBbK@Ne\N/OYO=PaAPkQQTxTQU?AVIqV$WyQY`[Pfb2dze7fh^"i]oqy s)at_x*y!z*{7||C|}"}~N~;W pmov& QH?F>-e<$5j;zPnO3B6I F -^aa}.w-4KUkF^\" ;[)lKohV](S&`I&|}7>sD.5V oqXMq>HumAo\qrMWCEP6C_t ,y>klo8NabBNOq(.y4;q<<<<<= ====!=6=E=F=H=M=R=Z=i=j=l=q=v============> >>>>#>*>3>p>q>s>{>>>>>>>>>????$?H?}?~?????????????????@@@$@+@@@c@d@g@p@w@@@@@@@@@@@AA1AwAxA{AAAAAABBBBBBB C C CC4C5C7C@C]C^C`CqCCCCCCCCCDD DD^D_DaDnDDDDDDDDDDDDE'E(E+E;ESETEWEjE7F8F;FLFFFFFNGOG!ӄy;'y;' 0@\!\!3"\!\!  ####%#&#)#+#,#-#.#/F0F1F4F6F7F;F=FAFCFDFEFGFHIJCLCPCQCRSTUtYt[tbtctdtetftgthti1k1l1m1n1o1p1q1r1v1w1x1{1|T}TTT22222222222222   !#$&'(*145v6v7v8v9v;v=v@vAvBvCvHvIvKvMNOPQRSTUV҄PP PPP P"P&P(Pp@P:P>P@PRPTPZP^P`PbPdP@PhPjPpPtP@PzP@PPPPPP @PP(@PPPPD@PPPP@PPPPPPPPPP@PPPPPPPPPPPPP@PPPP@P PPPPPP P"PL@P*P,P.P0P8Pt@P<P>PBPDPFPHPJPNPTPZP\P^P`PjPnPpPrPtPvPxPzPPPP@PPPPPPPPPPH@PPPPPPPd@PPp@PPP@PP@PPP@PPP@PPPPPPPPPPP PPPPPP4@PPP@@P"P$PL@P(P*P\@P0P2P6PDPJP@PNPPPRPTPXP\PbPdPfPhPrPtPxP@P~PPPPPPPP6Unknown Gz Times New Roman5Symbol3& z Arial?Angsana New=& Cordia New?5 z Courier NewQ& {aMicrosoft Sans Serif5& zaTahoma;Wingdings"1 hlZֆvنe9`z$I9`z$I4djj2QKP?jBbK24'2!#9I@7I-I@5H"'12'2 (Introduction to Java)girlKoOLz\               Oh+'0   0< \ h tj8ͧǡѺ (Introduction to Java)girl Normal.dotKoOLz101Microsoft Office Word@ʳ@Ay>@A,9`z$՜.+,D՜.+,d  hp  jgirlIj 5ͧǡѺ (Introduction to Java) Title 8@ _PID_HLINKSjA|A "http://thaiall.com/xml/family.xml  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%'()*+,-@Root Entry FП A,BData 81Table1WordDocument0SummaryInformation(DocumentSummaryInformation8&CompObjq  FMicrosoft Office Word Document MSWordDocWord.Document.89q