lapackpp-devel Mailing List for Lapack++ (Page 7)
Status: Beta
Brought to you by:
cstim
You can subscribe to this list here.
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(19) |
Sep
(11) |
Oct
|
Nov
(4) |
Dec
(15) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
(2) |
Feb
(4) |
Mar
(32) |
Apr
(18) |
May
(3) |
Jun
|
Jul
(1) |
Aug
(4) |
Sep
(13) |
Oct
(5) |
Nov
|
Dec
(1) |
2006 |
Jan
|
Feb
(6) |
Mar
(2) |
Apr
(6) |
May
(18) |
Jun
(15) |
Jul
(17) |
Aug
(45) |
Sep
(3) |
Oct
(4) |
Nov
(26) |
Dec
(4) |
2007 |
Jan
(11) |
Feb
(14) |
Mar
(1) |
Apr
|
May
(4) |
Jun
|
Jul
|
Aug
(2) |
Sep
|
Oct
(1) |
Nov
(1) |
Dec
(2) |
2008 |
Jan
|
Feb
(2) |
Mar
|
Apr
(4) |
May
(1) |
Jun
(2) |
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
2009 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(3) |
Nov
(1) |
Dec
(1) |
2010 |
Jan
(2) |
Feb
(1) |
Mar
(3) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(4) |
Oct
|
Nov
(7) |
Dec
|
2011 |
Jan
|
Feb
|
Mar
(3) |
Apr
|
May
(2) |
Jun
(2) |
Jul
(2) |
Aug
|
Sep
(1) |
Oct
|
Nov
(14) |
Dec
(1) |
2012 |
Jan
|
Feb
|
Mar
(3) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2013 |
Jan
|
Feb
|
Mar
|
Apr
(2) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2014 |
Jan
|
Feb
(2) |
Mar
(5) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Christian S. <sti...@tu...> - 2006-08-20 08:10:29
|
Am Samstag, 19. August 2006 13:35 schrieb Aosheng Rong: > Can you add complex-value matrix support on Windows? The > complex-value matrices are of essential to my applications. Lapackpp > supports the complex-value matrices very well on Linux. Lapackpp supports complex-valued matrices on Windows as well, only with the gcc compiler and not (yet) with the MSVC compiler. (And C++, in contrast to C, is not compiler-independent.) I only need those matrices with the gcc compiler, so I have no motivation for myself to spend this extra effort. You are invited to implement this yourself. In fact, why haven't you tried what I said? Add the macro LA_COMPLEX_SUPPORT to the MSVC project properties (C++ -> precompiler), and maybe add a few source files that haven't been added to the MSVC project because they only contain complex-matrix related code. matrix/src/gmc.cc, vc.cc and lavc.cc would be some that come to my mind. The only real problem that could occur is the definition of the la::complex<double> (typedef'd as LaComplex) in include/complex. The template complex<...> class definition in that file was initially copied from gcc's definition of complex<...>. Someone who wants to add complex support to MSVC would have to check whether these definitions can be used in MSVC as well, and potentially add some #ifdef __GNUC__ // existing code for gcc #else // new code for MSVC instead #endif everywhere. Good luck. Christian > > Thanks, > ---------- > > On 8/19/06, Christian Stimming <sti...@tu...> wrote: > > Seems to me you didn't compile the library lapackpp itself with the macro > > LA_COMPLEX_SUPPORT defined. In the included vcproj file this is not (yet) > > defined because, as I already said several times, the support for > > complex-valued matrices in MSVC is untested so far. > > > > Christian |
From: Aosheng R. <ro...@gm...> - 2006-08-19 11:35:42
|
Christian, Can you add complex-value matrix support on Windows? The complex-value matrices are of essential to my applications. Lapackpp supports the complex-value matrices very well on Linux. Thanks, ---------- On 8/19/06, Christian Stimming <sti...@tu...> wrote: > > Seems to me you didn't compile the library lapackpp itself with the macro > LA_COMPLEX_SUPPORT defined. In the included vcproj file this is not (yet) > defined because, as I already said several times, the support for > complex-valued matrices in MSVC is untested so far. > > Christian > |
From: Christian S. <sti...@tu...> - 2006-08-19 08:03:33
|
Am Samstag, 19. August 2006 00:02 schrieb Aosheng Rong: > I just use Christian's updated lapackpp 2.4.12, but I still cannot > compile tCmplxSolve.cc under dir Testing. Here are error messages. I > would appreciate it if someboday could help me figure out the problem. > > ******************************* Error messages below > > 1>tCmplxSolve.obj : error LNK2019: unresolved external symbol > "__declspec(dllimport) void __cdecl Blas_Mat_Trans_Vec_Mult(class > LaGenMatComplex const &,class LaVectorComplex const &,class > LaVectorComplex &,class la::complex<double>,class > la::complex<double>)" Seems to me you didn't compile the library lapackpp itself with the macro LA_COMPLEX_SUPPORT defined. In the included vcproj file this is not (yet) defined because, as I already said several times, the support for complex-valued matrices in MSVC is untested so far. Christian |
From: Aosheng R. <ro...@gm...> - 2006-08-18 22:02:33
|
Hi all, I just use Christian's updated lapackpp 2.4.12, but I still cannot compile tCmplxSolve.cc under dir Testing. Here are error messages. I would appreciate it if someboday could help me figure out the problem. Regards ------------ Rong ******************************* Error messages below ************************************ 1>------ Build started: Project: tCmplxSolve, Configuration: Debug Win32 ------ 1>Compiling... 1>tCmplxSolve.cc 1>e:\gnu\lapackpp-2.4.12\include\laexcp.h(51) : warning C4275: non dll-interface class 'std::runtime_error' used as base for dll-interface class 'LaException' 1> d:\microsoft visual studio\vc\include\stdexcept(149) : see declaration of 'std::runtime_error' 1> e:\gnu\lapackpp-2.4.12\include\laexcp.h(50) : see declaration of 'LaException' 1>Compiling manifest to resources... 1>Linking... 1>tCmplxSolve.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) void __cdecl Blas_Mat_Trans_Vec_Mult(class LaGenMatComplex const &,class LaVectorComplex const &,class LaVectorComplex &,class la::complex<double>,class la::complex<double>)" (__imp_?Blas_Mat_Trans_Vec_Mult@@YAXABVLaGenMatComplex@@ABVLaVectorComplex@@AAV2@V?$complex@N@la@@3@Z) referenced in function "double __cdecl residual(class LaGenMatComplex &,class LaVectorComplex &,class LaVectorComplex const &)" (?residual@@YANAAVLaGenMatComplex@@AAVLaVectorComplex@@ABV2@@Z) 1>tCmplxSolve.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) double __cdecl Norm_Inf(class LaGenMatComplex const &)" (__imp_?Norm_Inf@@YANABVLaGenMatComplex@@@Z) referenced in function "double __cdecl residual(class LaGenMatComplex &,class LaVectorComplex &,class LaVectorComplex const &)" (?residual@@YANAAVLaGenMatComplex@@AAVLaVectorComplex@@ABV2@@Z) 1>tCmplxSolve.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) void __cdecl Blas_Mat_Vec_Mult(class LaGenMatComplex const &,class LaVectorComplex const &,class LaVectorComplex &,class la::complex<double>,class la::complex<double>)" (__imp_?Blas_Mat_Vec_Mult@@YAXABVLaGenMatComplex@@ABVLaVectorComplex@@AAV2@V?$complex@N@la@@3@Z) referenced in function "double __cdecl residual(class LaGenMatComplex &,class LaVectorComplex &,class LaVectorComplex const &)" (?residual@@YANAAVLaGenMatComplex@@AAVLaVectorComplex@@ABV2@@Z) 1>tCmplxSolve.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: int __thiscall LaGenMatComplex::size(int)const " (__imp_?size@LaGenMatComplex@@QBEHH@Z) referenced in function "double __cdecl residual(class LaGenMatComplex &,class LaVectorComplex &,class LaVectorComplex const &)" (?residual@@YANAAVLaGenMatComplex@@AAVLaVectorComplex@@ABV2@@Z) 1>tCmplxSolve.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: virtual __thiscall LaGenMatComplex::~LaGenMatComplex(void)" (__imp_??1LaGenMatComplex@@UAE@XZ) referenced in function "public: virtual __thiscall LaVectorComplex::~LaVectorComplex(void)" (??1LaVectorComplex@@UAE@XZ) 1>tCmplxSolve.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall LaGenMatComplex::LaGenMatComplex(int,int)" (__imp_??0LaGenMatComplex@@QAE@HH@Z) referenced in function "public: __thiscall LaVectorComplex::LaVectorComplex(int)" (??0LaVectorComplex@@QAE@H@Z) 1>tCmplxSolve.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) double __cdecl Blas_Norm_Inf(class LaVectorComplex const &)" (__imp_?Blas_Norm_Inf@@YANABVLaVectorComplex@@@Z) referenced in function "double __cdecl Norm_Inf(class LaVectorComplex const &)" (?Norm_Inf@@YANABVLaVectorComplex@@@Z) 1>tCmplxSolve.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall LaGenMatComplex::LaGenMatComplex(class LaGenMatComplex const &)" (__imp_??0LaGenMatComplex@@QAE@ABV0@@Z) referenced in function "public: __thiscall LaVectorComplex::LaVectorComplex(class LaVectorComplex const &)" (??0LaVectorComplex@@QAE@ABV0@@Z) 1>tCmplxSolve.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) class LaGenMatComplex __cdecl operator-(class LaGenMatComplex const &,class LaGenMatComplex const &)" (__imp_??G@YA?AVLaGenMatComplex@@ABV0@0@Z) referenced in function "bool __cdecl testQRsolve(int,int)" (?testQRsolve@@YA_NHH@Z) 1>tCmplxSolve.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) void __cdecl LaQRLinearSolveIP(class LaGenMatComplex &,class LaGenMatComplex &,class LaGenMatComplex const &)" (__imp_?LaQRLinearSolveIP@@YAXAAVLaGenMatComplex@@0ABV1@@Z) referenced in function "bool __cdecl testQRsolve(int,int)" (?testQRsolve@@YA_NHH@Z) 1>tCmplxSolve.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,class LaGenMatComplex const &)" (__imp_??6@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@std@@AAV01@ABVLaGenMatComplex@@@Z) referenced in function "bool __cdecl testQRsolve(int,int)" (?testQRsolve@@YA_NHH@Z) 1>tCmplxSolve.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall LaGenMatComplex::LaGenMatComplex(class LaGenMatDouble const &,class LaGenMatDouble const &)" (__imp_??0LaGenMatComplex@@QAE@ABVLaGenMatDouble@@0@Z) referenced in function "bool __cdecl testQRsolve(int,int)" (?testQRsolve@@YA_NHH@Z) 1>tCmplxSolve.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) void __cdecl LaSVD_IP(class LaGenMatComplex &,class LaVectorDouble &,class LaGenMatComplex &,class LaGenMatComplex &)" (__imp_?LaSVD_IP@@YAXAAVLaGenMatComplex@@AAVLaVectorDouble@@00@Z) referenced in function "int __cdecl TestGenLinearSolve(int,int)" (?TestGenLinearSolve@@YAHHH@Z) 1>tCmplxSolve.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) void __cdecl LaLinearSolveIP(class LaGenMatComplex &,class LaGenMatComplex &,class LaGenMatComplex const &)" (__imp_?LaLinearSolveIP@@YAXAAVLaGenMatComplex@@0ABV1@@Z) referenced in function "int __cdecl TestGenLinearSolve(int,int)" (?TestGenLinearSolve@@YAHHH@Z) 1>tCmplxSolve.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) void __cdecl LaLinearSolve(class LaGenMatComplex const &,class LaGenMatComplex &,class LaGenMatComplex const &)" (__imp_?LaLinearSolve@@YAXABVLaGenMatComplex@@AAV1@0@Z) referenced in function "int __cdecl TestGenLinearSolve(int,int)" (?TestGenLinearSolve@@YAHHH@Z) 1>tCmplxSolve.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) class LaGenMatComplex & __cdecl LaRandUniform(class LaGenMatComplex &,double,double)" (__imp_?LaRandUniform@@YAAAVLaGenMatComplex@@AAV1@NN@Z) referenced in function "int __cdecl TestGenLinearSolve(int,int)" (?TestGenLinearSolve@@YAHHH@Z) 1>tCmplxSolve.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: class LaGenMatComplex & __thiscall LaGenMatComplex::operator=(struct doublecomplex)" (__imp_??4LaGenMatComplex@@QAEAAV0@Udoublecomplex@@@Z) referenced in function "public: class LaVectorComplex & __thiscall LaVectorComplex::operator=(double)" (??4LaVectorComplex@@QAEAAV0@N@Z) 1>E:\GNU\lapackpp-2.4.12\testing\tCmplxSolve\Debug\tCmplxSolve.exe : fatal error LNK1120: 17 unresolved externals 1>Build log was saved at "file://e:\GNU\lapackpp-2.4.12\testing\tCmplxSolve\tCmplxSolve\Debug\BuildLog.htm" 1>tCmplxSolve - 18 error(s), 1 warning(s) ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ========== |
From: Aosheng R. <ro...@gm...> - 2006-08-18 16:41:49
|
I tested tCmplxSolve.cc but failed, even if I add #define LA_COMPLEX_SUPPORT that is missing in the original code. -------------------------------------------------------------------------------------------------- #define LA_COMPLEX_SUPPORT // added #include "lafnames.h" /* macros for LAPACK++ filenames */ #include LA_GEN_MAT_COMPLEX_H #include LA_VECTOR_DOUBLE_H #include "blaspp.h" #include LA_SOLVE_DOUBLE_H #include LA_GENERATE_MAT_DOUBLE_H #include LA_EXCEPTION_H #include LA_UTIL_H #include "lasvd.h" ---------------------------------------------------------------------------------------------------- The error message are pasted as follows ---------------------------------------------------------------------------------------------------- 1>------ Build started: Project: TestCmx, Configuration: Debug Win32 ------ 1>Compiling... 1>tCmplxSolve.cc 1>e:\gnu\lapackpp-2.4.12\include\gmc.h(101) : warning C4251: 'LaGenMatComplex::v' : class 'VectorComplex' needs to have dll-interface to be used by clients of class 'LaGenMatComplex' 1> e:\gnu\lapackpp-2.4.12\include\vc.h(58) : see declaration of 'VectorComplex' 1>e:\gnu\lapackpp-2.4.12\include\gmc.h(665) : error C2375: 'operator <<' : redefinition; different linkage 1> e:\gnu\lapackpp-2.4.12\include\gmc.h(580) : see declaration of 'operator <<' 1>e:\gnu\lapackpp-2.4.12\include\laexcp.h(51) : warning C4275: non dll-interface class 'std::runtime_error' used as base for dll-interface class 'LaException' 1> d:\microsoft visual studio\vc\include\stdexcept(149) : see declaration of 'std::runtime_error' 1> e:\gnu\lapackpp-2.4.12\include\laexcp.h(50) : see declaration of 'LaException' 1>e:\gnu\lapackpp-2.4.12\testing\tcmplxsolve.cc(89) : error C2264: 'operator <<' : error in function definition or declaration; function not called 1>e:\gnu\lapackpp-2.4.12\testing\tcmplxsolve.cc(89) : error C2088: '<<' : illegal for class 1>e:\gnu\lapackpp-2.4.12\testing\tcmplxsolve.cc(91) : error C2264: 'operator <<' : error in function definition or declaration; function not called 1>e:\gnu\lapackpp-2.4.12\testing\tcmplxsolve.cc(91) : error C2088: '<<' : illegal for class 1>e:\gnu\lapackpp-2.4.12\testing\tcmplxsolve.cc(107) : error C2264: 'operator <<' : error in function definition or declaration; function not called 1>e:\gnu\lapackpp-2.4.12\testing\tcmplxsolve.cc(107) : error C2088: '<<' : illegal for class 1>e:\gnu\lapackpp-2.4.12\testing\tcmplxsolve.cc(109) : error C2264: 'operator <<' : error in function definition or declaration; function not called 1>e:\gnu\lapackpp-2.4.12\testing\tcmplxsolve.cc(109) : error C2088: '<<' : illegal for class 1>e:\gnu\lapackpp-2.4.12\testing\tcmplxsolve.cc(124) : error C2264: 'operator <<' : error in function definition or declaration; function not called 1>e:\gnu\lapackpp-2.4.12\testing\tcmplxsolve.cc(124) : error C2088: '<<' : illegal for class 1>e:\gnu\lapackpp-2.4.12\testing\tcmplxsolve.cc(126) : error C2264: 'operator <<' : error in function definition or declaration; function not called 1>e:\gnu\lapackpp-2.4.12\testing\tcmplxsolve.cc(126) : error C2088: '<<' : illegal for class 1>e:\gnu\lapackpp-2.4.12\testing\tcmplxsolve.cc(214) : error C2264: 'operator <<' : error in function definition or declaration; function not called 1>e:\gnu\lapackpp-2.4.12\testing\tcmplxsolve.cc(214) : error C2088: '<<' : illegal for class 1>e:\gnu\lapackpp-2.4.12\testing\tcmplxsolve.cc(223) : error C2264: 'operator <<' : error in function definition or declaration; function not called 1>e:\gnu\lapackpp-2.4.12\testing\tcmplxsolve.cc(223) : error C2088: '<<' : illegal for class 1>Build log was saved at " file://e:\GNU\lapackpp-2.4.12\testing\TestCmx\TestCmx\Debug\BuildLog.htm<file:///e:/GNU/lapackpp-2.4.12/testing/TestCmx/TestCmx/Debug/BuildLog.htm> " 1>TestCmx - 17 error(s), 2 warning(s) ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ========== ---------------------------------------------------------------------------------------------------- It seems that complex definition of lapackpp on windows may have problems? The error messages above are almost the same as my application. For your reference, I describe my installation as follows: Step1: Install lapackpp2.4.11-setup.exe and generate liblapack32.lib and libblas32.lib Step2: CVS lapackpp 2.4.12 with new updates (the inverse of complex value matrix added by Christian) Step3: make dist and generate lapackpp 2.4.12 and install it using MSVC++ 2005 Step4: Create a project and Testing..... Does Christian help me figure out the problem? Regards, ------------- |
From: Aosheng R. <ro...@gm...> - 2006-08-18 15:38:26
|
What I have done with CVS. Basically I follow your instructions and CVS. These are what I did: ********************************************************************** 1) Visit https://sourceforge.net/cvs/?group_id=99696 When I am required to CVS, I choose the packagename as lapackpp. 2) ./autogen.sh ./configure make dist 3) Move lapackpp 2.4.12.tar.gz from Linux to Windows 4) Unpack .tar.gz and Compile it. The Compiling of lapackpp package on window looks successful. I get dynamic library lapackpp.dll and static library lapackpp.lib. I compile tGenSolve.cc under Testing dir and run it. The results look correct. The problem right now may be related to complex-value matrix. The error messages also indicate the errors come from the complex-value matrix in gmc.h. BTW, I use the same lapackpp package and the same application program for testing on Linux and Windows. I would do more tests and try to find the problems. I would report my testing status. Regards, |
From: Christian S. <sti...@tu...> - 2006-08-18 15:08:49
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Aosheng Rong schrieb: > I compiled lapackpp 2.4.12 on windows and run your tGenSolve with > Testing Dir. It works. But when I compile my application that is > transplanted into Windows from Linux, I got the following compiling > errors(See below). My application has been succefully compiled under > Linux using lapackpp 2.4.12. > > 1>e:\gnu\lapackpp-2.4.12\include\gmc.h(665) : error C2375: 'operator <<' > : redefinition; different linkage > 1> e:\gnu\lapackpp- 2.4.12\include\gmc.h(580) : see declaration > of 'operator <<' Any error about "linkage" on Windows refers to missing "DLLIMPORT" macros. In this case the error says that in gmc.h:665 the operator<< is defined *with* DLLIMPORT whereas in gmc.h:580 it is defined without it. Solution: Change line 580 so that it reads friend DLLIMPORT std::ostream& operator<<(std::ostream&, const LaGenMatComplex&); I've changed this in CVS, so if you simply make a "cvs update" in your existing copy from CVS, then you will get this change already. Christian -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2.1 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iQCVAwUBROXX8WXAi+BfhivFAQJUkQP/a+u+MTkX+lHjk3eLd6KOYT/EKimNiXaZ EcDA0IsN5lGJM2DWF3RZrH8LVDQsg3DLiSaTFFJSN5p/GcPym/Uu4WEC3BGxso70 FR1LSizTyGlvdx8K7/1tvaE+HqEV1bqm/LT5XfJa4eTmrqEY/8uozRzG6UMsYxTk Jb4mB8+eJhM= =yk1S -----END PGP SIGNATURE----- |
From: Aosheng R. <ro...@gm...> - 2006-08-18 14:10:04
|
Christaian, Yes, I VCS lapackpp 2.4.12 with an addition of inverse of the complex-value matrix. I tested that it works on linux. But I have trouble on windows. I compiled lapackpp 2.4.12 on windows and run your tGenSolve with Testing Dir. It works. But when I compile my application that is transplanted into Windows from Linux, I got the following compiling errors(See below). My application has been succefully compiled under Linux using lapackpp 2.4.12. -------------------------------------------------------------Compiling Error Messages------------------------------------------------------------------------- 1>------ Build started: Project: Test5, Configuration: Debug Win32 ------ 1>Compiling... 1>SplitPowerPlane_driver.cc 1>e:\gnu\lapackpp-2.4.12\include\gmc.h(101) : warning C4251: 'LaGenMatComplex::v' : class 'VectorComplex' needs to have dll-interface to be used by clients of class 'LaGenMatComplex' 1> e:\gnu\lapackpp-2.4.12\include\vc.h(58) : see declaration of 'VectorComplex' 1>e:\gnu\lapackpp-2.4.12\include\gmc.h(665) : error C2375: 'operator <<' : redefinition; different linkage 1> e:\gnu\lapackpp-2.4.12\include\gmc.h(580) : see declaration of 'operator <<' 1>e:\gnu\lapackpp-2.4.12\include\gfqrc.h(54) : warning C4251: 'LaGenQRFactComplex::_tau' : class 'LaVectorComplex' needs to have dll-interface to be used by clients of class 'LaGenQRFactComplex' 1> e:\gnu\lapackpp-2.4.12\include\lavc.h(51) : see declaration of 'LaVectorComplex' 1>e:\gnu\lapackpp-2.4.12\include\gfqrc.h(56) : warning C4251: 'LaGenQRFactComplex::_work' : class 'LaVectorComplex' needs to have dll-interface to be used by clients of class 'LaGenQRFactComplex' 1> e:\gnu\lapackpp-2.4.12\include\lavc.h(51) : see declaration of 'LaVectorComplex' 1>e:\gnu\lapackpp-2.4.12\include\laexcp.h(51) : warning C4275: non dll-interface class 'std::runtime_error' used as base for dll-interface class 'LaException' 1> d:\microsoft visual studio\vc\include\stdexcept(149) : see declaration of 'std::runtime_error' 1> e:\gnu\lapackpp-2.4.12\include\laexcp.h(50) : see declaration of 'LaException' 1>SplitPowerPlane.cc 1>e:\gnu\lapackpp-2.4.12\include\gmc.h(101) : warning C4251: 'LaGenMatComplex::v' : class 'VectorComplex' needs to have dll-interface to be used by clients of class 'LaGenMatComplex' 1> e:\gnu\lapackpp-2.4.12\include\vc.h(58) : see declaration of 'VectorComplex' 1>e:\gnu\lapackpp-2.4.12\include\gmc.h(665) : error C2375: 'operator <<' : redefinition; different linkage 1> e:\gnu\lapackpp-2.4.12\include\gmc.h(580) : see declaration of 'operator <<' 1>e:\gnu\lapackpp-2.4.12\include\gfqrc.h(54) : warning C4251: 'LaGenQRFactComplex::_tau' : class 'LaVectorComplex' needs to have dll-interface to be used by clients of class 'LaGenQRFactComplex' 1> e:\gnu\lapackpp-2.4.12\include\lavc.h(51) : see declaration of 'LaVectorComplex' 1>e:\gnu\lapackpp-2.4.12\include\gfqrc.h(56) : warning C4251: 'LaGenQRFactComplex::_work' : class 'LaVectorComplex' needs to have dll-interface to be used by clients of class 'LaGenQRFactComplex' 1> e:\gnu\lapackpp-2.4.12\include\lavc.h(51) : see declaration of 'LaVectorComplex' 1>e:\gnu\lapackpp-2.4.12\include\laexcp.h(51) : warning C4275: non dll-interface class 'std::runtime_error' used as base for dll-interface class 'LaException' 1> d:\microsoft visual studio\vc\include\stdexcept(149) : see declaration of 'std::runtime_error' 1> e:\gnu\lapackpp-2.4.12\include\laexcp.h(50) : see declaration of 'LaException' 1>Generating Code... 1>Build log was saved at " file://f:\SplitPowerPlane\Test5\Test5\Debug\BuildLog.htm<file:///f:/SplitPowerPlane/Test5/Test5/Debug/BuildLog.htm> " 1>Test5 - 2 error(s), 8 warning(s) ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ========== --------------------------------------------------------------End of Error Messages ---------------------------------------------------------------------------- It seems that gmc.h has problem with complex operators. I need more tests to make sure where the errors come from: lapackpp or my application. Regards, ------------- Aosheng |
From: Christian S. <sti...@tu...> - 2006-08-18 08:12:11
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Aosheng Rong schrieb: > Many thanks go to Dr.Stimming for adding the inverse of complex-value > matrix to lapackpp. Did you actually retrieve the code from CVS and test it? If yes, please confirm so that we can be sure this code is working correctly. > Thought: I wonder If the COMPLEX type in LAPACKPP is identical with > the complex<double> in GNU C++. No, it is not. http://lapackpp.sourceforge.net/html/lacomplex_8h.html http://lapackpp.sourceforge.net/html/classla_1_1complex.html > Right now, the Complex type in > LAPACKPP is the structure - type, instead of class - type, as in C++. > Within the LAPACKPP class, Class-Type COMPLEX in C++ is converted to the > Structure-Type COMPLEX, compatible with Fortran LAPACK. The direct > benifit from such a definition of Class-Type COMPLEX is that one can do > operations on the product and division using complex<double> type in > GNU C++, once results are obtained from the LAPACKPP. With the present > definition of COMPLEX, we have to do term-by-term calculation based on > the decomposition of real and imaginary parts. You need to manually convert the COMPLEX values into a LaComplex value, which will then have the automatic conversion operators to std::complex<double>, as follows: std::complex<double> z; z = z * LaComplex( myMatrix(0, 2) ); which will do the automatic conversion for you. (At least I *thought* this should work.) Christian -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2.1 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iQCVAwUBROV2QmXAi+BfhivFAQJZ7wP+P9fEOrujLVMwi5vDQ+KnGvydX/8sYeQK sWjDpFgaaNkM0ECQsOhDtJBNC48NETdV57Z9T0nJ0Y1nsLKtbZHGBaTvAFnkPgpc L6upCNCM+KYOhU4HOD5qO8veuHLuwce+7OXIpsQ5EmsQuiWJyNU05AyL3kqXXLzx n9fdzjh02mM= =mk4V -----END PGP SIGNATURE----- |
From: Aosheng R. <ro...@gm...> - 2006-08-17 21:29:42
|
Many thanks go to Dr.Stimming for adding the inverse of complex-value matrix to lapackpp. As Dr. Stimming said that many times we could ignore the inverse of a matrix and re-arrange algorithms for the same purpose. But for some cases, we are lazy to do so and rely on a direct inverse of the matrix. LAPACKPP is definitely one of the most useful packages for engineering applications. Right now, I have a random thought that may increase the significant efforts of Dr. Stimming. Also I am not sure if such a thought makes sense to the other people. My thought is Just for discussion. Thought: I wonder If the COMPLEX type in LAPACKPP is identical with the complex<double> in GNU C++. Right now, the Complex type in LAPACKPP is the structure - type, instead of class - type, as in C++. Within the LAPACKPP class, Class-Type COMPLEX in C++ is converted to the Structure-Type COMPLEX, compatible with Fortran LAPACK. The direct benifit from such a definition of Class-Type COMPLEX is that one can do operations on the product and division using complex<double> type in GNU C++, once results are obtained from the LAPACKPP. With the present definition of COMPLEX, we have to do term-by-term calculation based on the decomposition of real and imaginary parts. I appreciate the wonderful job of Dr. Stimming who brings us an easy to implement interface of LAPACK with C++. Regards, ------------- Rong |
From: Christian S. <sti...@tu...> - 2006-08-17 08:37:19
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Dear Aosheng, please direct questions about lapackpp to the mailing list lapackpp-devel, not only to individual developers. Thanks. Aosheng Rong schrieb: > From your description, it seems that your setup.exe package is > extactly identical with LAPACK on windows. If I am right, the > lapack32.lib and blas32.lib generated from your setup.exe package are > exactly equivalent to the liblapack.a and libblas.lib on LINUX platform. For you as a user, you can probably view it this way, except that on Linux in contrast to Windows there is no extra distinction between lib and dll necessary. > With regard to the "complex inverse matrix", I am sorry for making you > confused. I mean that your lapackpp had better include the subroutine > for the inverse of complex-value matrix. I noticed that you have > declared the inverse of double-precision matrix, but you missed the > declaration of the inverse of complex-value matrix. Do you mean the function LaLUInverseIP()? You should rather say this exact function name because otherwise I have to guess what you mean. Well, I don't like inverse matrices -- usually they mean the programmer didn't spend enough thinking to restructure the code so that LaLinearSolve is used instead of explicitly calculating an inverse matrix. But since you asked for it, I will add it to CVS. Can you retrieve the source code from CVS and try to compile it to test the changes? https://sourceforge.net/cvs/?group_id=99696 , probably easiest on Linux. Then on Linux, run the following commands (also explained in README): ./autogen.sh ./configure make dist and this will create a new .tar.gz package which you can then use on Windows. Christian -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2.1 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iQCVAwUBROQqsmXAi+BfhivFAQKhcgP/dOx3+kWSeMGpFlJOO4wgkWk6hmaSk+Md I2tYUmqimmGD3FLFYuicy96lge9l8lnKpAjQQz4ugqlyw3+cGhzPclwC4jx+EInO exxPvq7WH3DIKSIym1Gn35+WAKcd+wJdI2Trp9kL7WH+4WkijMUQM8vk166hxltT C+1YJJhwGqo= =IkpV -----END PGP SIGNATURE----- |
From: Christian S. <sti...@tu...> - 2006-08-17 07:35:47
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Dear Aosheng, Aosheng Rong schrieb: > Thank you very much for your free software. I am very comfortable with > your lapackpp on RHEL linux AS4. nice to hear. Thank you very much. > For some reason, I need to work on windows right now. But I have trouble > with installing your lapackpp using MS VC++. > > 1) I understand that your lapackpp need the lapack lib. But where is the > lapack on Windows. The lapack packages on windows available from > internet seem not work on Windows. From your instruction, we need to run > setup.exe version before we install .vcproj file in source > package(tar.gz). But I can not find your setup.exe package in your > latest version 2.4.12. However, I noticed that you have both .exe > and tar.gz in version 2.4.11. The underlying lapack32.lib plus lapack32.dll plud blas32.lib plus blas32.dll *could* be compiled by everyone, "simply" by retrieving the original LAPACK.tgz source package plus applying the contrib/lapack.diff patch included in our lapackpp source package. *However* I understand not everyone is familiar in doing so. Also, these libraries haven't changed at all during the last 2-3 years. So I ship these four files in compiled form in the lapackpp-setup.exe packages, but they are really identical from version to version. So to answer your question: The lapack32.lib etc. files in the older setup.exe packages are still up to date. Please simply use them from the older setup.exe packages -- but make sure you *don't* use the lapackpp header files from the older setup.exe packages. > As you may know, many people are confused with and have trouble with > installing lapack on windows. I am not sure if your setup.exe package > provides liblapack.lib and libblas32.lib,which are identical with > counterpart in fortran version? Yes they are. > 2) I notice that your package did not include headers for the complex > inverse matrix . Can you include the complex inverse matrix in > your future release? What do you mean by "complex inverse matrix"? There are matrices of complex numbers in include/gmc.h, although they will only be compiled when LA_COMPLEX_SUPPORT is defined, which by default is not the case for MSVC. Is this what you are looking for? Christian -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2.1 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iQCVAwUBROQcN2XAi+BfhivFAQJnyQP/Q4fAP7g/S8GoqSAS26dDmvrcTaKdY1Yq NwH4q9udMhF2wAIqldDtNw2wgr4R7oFzcOuEPZKWRWdA47wWz4NrYW00fCv5dy2n IBD6GZ2vdHdzlTuf2s1yuzQ6OkXpO0yw5pC4qgLAxswt2OoGVIYyQa/MaeA+b3S/ dZVfVrApWS4= =w46G -----END PGP SIGNATURE----- |
From: Do bi <mrc...@ya...> - 2006-08-10 17:53:34
|
Thanks Chris it now works. It failed the last time because I added both the include directory obtained from the lapack exe and that of the lapack2.4.12 that you sent, to the additional include directories. --------------------------------- How low will we go? Check out Yahoo! Messengers low PC-to-Phone call rates. |
From: Do bi <mrc...@ya...> - 2006-08-10 17:14:41
|
I got the file from the tar.gz you sent, did al the linking, it compiles, my project compiles well, but when I try to use diad(0) etc I receive error LNK2019: unresolved external symbol "__declspec(dllimport) public: class LaVectorDouble __thiscall LaTridiagMatDouble::diag(int)" (__imp_?diag@LaTridiagMatDouble@@QAE?AVLaVectorDouble@@H@Z) referenced in function _wmain Christian Stimming <sti...@tu...> wrote: -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Do bi schrieb: > I now have CVS. How do I get lapackpp? Thanks. Where are the files? https://sourceforge.net/cvs/?group_id=99696 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2.1 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iQCVAwUBRNtOe2XAi+BfhivFAQKaEAP/cWhXakXw1nfKnGIzArJnGGGQ7dneuEb1 RimIIG8KSzSR9OwsXqnZe+/+iqQkYQn/MgzAgn7GYwFr09pKoHn/GhJmy8RUxbPC skeTG+Sv/Glpt1bqeFjSfe/CEgluaTX/tZRoBnygbZAEhdH+nhHDL8gGBb9WX9i6 w/mwEnSzyjY= =PmhP -----END PGP SIGNATURE----- __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com |
From: Christian S. <sti...@tu...> - 2006-08-10 15:19:38
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Do bi schrieb: > I now have CVS. How do I get lapackpp? Thanks. Where are the files? https://sourceforge.net/cvs/?group_id=99696 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2.1 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iQCVAwUBRNtOe2XAi+BfhivFAQKaEAP/cWhXakXw1nfKnGIzArJnGGGQ7dneuEb1 RimIIG8KSzSR9OwsXqnZe+/+iqQkYQn/MgzAgn7GYwFr09pKoHn/GhJmy8RUxbPC skeTG+Sv/Glpt1bqeFjSfe/CEgluaTX/tZRoBnygbZAEhdH+nhHDL8gGBb9WX9i6 w/mwEnSzyjY= =PmhP -----END PGP SIGNATURE----- |
From: Do bi <mrc...@ya...> - 2006-08-10 15:15:49
|
I now have CVS. How do I get lapackpp? Thanks. Where are the files? --------------------------------- Do you Yahoo!? Next-gen email? Have it all with the all-new Yahoo! Mail Beta. |
From: Do bi <mrc...@ya...> - 2006-08-10 13:47:50
|
Hi Chris, The tar.gz file you sent, when extracted, produces a lapack-2.4.12 directory contains only one file of a few kilobytes. There is no prioject or test programme in it. Christian Stimming <sti...@tu...> wrote: -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Attached you find an updated lapackpp-2.4.12.tar.gz where this linker error should be fixed. ALso, I have added a test program into the project where these functions are really tested. Do bi schrieb: > > LaTridiagMatDouble Mat(M); > LaTridiagFactDouble Matfact; > LaTridiagMatFactorize(Mat, Matfact); > > _*Error:*_ > error LNK2001: unresolved external symbol _dgttrf_ > > const LaTridiagMatDouble Mat(M); produces same error > Why? > Thanks > > ------------------------------------------------------------------------ > Yahoo! Messenger with Voice. Make PC-to-Phone Calls > > to the US (and 30+ countries) for 2¢/min or less. > > > ------------------------------------------------------------------------ > > ------------------------------------------------------------------------- > Using Tomcat but need to do more? Need to support web services, security? > Get stuff done quickly with pre-integrated technology to make your job easier > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > > > ------------------------------------------------------------------------ > > _______________________________________________ > lapackpp-devel mailing list > lap...@li... > https://lists.sourceforge.net/lists/listinfo/lapackpp-devel -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2.1 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iQCVAwUBRNsxqWXAi+BfhivFAQJkmQP+LCH4ct1yt81EuK1MTMdBp3ocFwV47wyy 7Ibc6DvywBCsCNVzXjn0nGCjll5/yVeyUXsI9aAH6BcwUmvhTdZbM1Q/wqr3fA4l L3w7Rk7krhNkwIHP3WshgykiN4faKcIdjCUTUVwQQCNlivqbICvL5NBEYKju3KFx Q0jJTztyqpo= =5qke -----END PGP SIGNATURE----- --------------------------------- Do you Yahoo!? Next-gen email? Have it all with the all-new Yahoo! Mail Beta. |
From: Christian S. <sti...@tu...> - 2006-08-10 12:50:21
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Do bi schrieb: > LaTridiagMatDouble Mat(M); > LaTridiagFactDouble Matfact; > LaTridiagMatFactorize(Mat, Matfact); > > _*Error:*_ > error LNK2001: unresolved external symbol _dgttrf_ > > const LaTridiagMatDouble Mat(M); produces same error > Why? An error in lapackpp because I haven't tested the linking of these functions on Windows/MSVC, only on Windows/gcc. This is fixed in CVS. Since you can't use CVS, I'll send you a .tar.gz in a separate email. Christian -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2.1 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iQCVAwUBRNsrg2XAi+BfhivFAQJxOQP/YJUNYIX3hKWzyb/tdur6peXg6xLONaVu /6heF2ay6/e38bjeXTl89OWHaAiDO2TvCacoI9zoP7zpticgQMnCvKfDz5qcmYUs FOQFAtmWO34dd0lGT2DFcnl1qj/zPFPq1+RulFTjAN4ZWMylWdgS+nIpvGzPmAYh UQBOzqRg6KI= =0lAs -----END PGP SIGNATURE----- |
From: Do bi <mrc...@ya...> - 2006-08-10 11:48:12
|
LaTridiagMatDouble Mat(M); LaTridiagFactDouble Matfact; LaTridiagMatFactorize(Mat, Matfact); Error: error LNK2001: unresolved external symbol _dgttrf_ const LaTridiagMatDouble Mat(M); produces same error Why? Thanks --------------------------------- Yahoo! Messenger with Voice. Make PC-to-Phone Calls to the US (and 30+ countries) for 2¢/min or less. |
From: Christian S. <sti...@tu...> - 2006-08-10 10:20:09
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 > I downloaded lapackpp-2.4.12.tar.gz, compiled the vcproj file, do all > the includes and linking, and my programme compiles without error. Then > try to run my exe programme and it crashes and the message reads: > ..exe-Entry Point Not Found > The procedure entry > point?diag@LaTridiagMatDouble@@QQEQQVLavectorDouble@@H@Z could > not be located in dynamic link library lapackpp.dll > I am very brateful for your help. You said compiling *and* *linking* works without error? Then the lapackpp-2.4.12 source code doesn't have an error. The error at run time means that the exe is finding a different (older) version of lapackpp.dll somewhere in your search path. Solution: Check your c:\WINDOWS (or WINNT) directory for a file lapackpp.dll (only the file with "pp", not the ones without!) and if it is older than the one you newly compiled from lapackpp-2.4.12.tar.gz, then replace it with the newly compiled one. Christian -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2.1 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iQCVAwUBRNsIQGXAi+BfhivFAQIwkQP/ZwhYyw82ZOHuCNVxjQxD2z+aDw1fKGFo s5jGiobFlNkTTap9fKsGCyxT9fUax3sYxVw8DlRD0zpYIjS2Bg480dY1O9RJlsVq Gv0fXY8r8vyX55wy8UJelGF1ZKBX/NJFgLqrYSo3T56jdPcbVhR4DYlRGDyiD2bg 42+xMiXFHvU= =vkvf -----END PGP SIGNATURE----- |
From: Christian S. <sti...@tu...> - 2006-08-10 09:55:19
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Do bi schrieb: > The tar.gz fuile for lapack....12 is there, but > lapackpp-2.4.12-setup.exe > <http://prdownloads.sourceforge.net/lapackpp/lapackpp-2.4.11-setup.exe?download> > is absent. What to do? If you compile lapackpp yourself, you don't need the 2.4.12 setup.exe file. The older one was sufficient for you. Christian -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2.1 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iQCVAwUBRNsCZWXAi+BfhivFAQIfWAP/QhNkrL+Oc3zFFVGxdVzw9cy5rp6NuTQ5 rmLtGGgbjlrCJ6sdU2g+5sIwIsWsiG7Q75iPLpj9CDuuocxTrQSx3xzQ5tW+Uk6N JbJoQtUDOOgQLfSV/mKWXZ3lNtxco36gXdkY3uI2cEjWq6IwwSuyNF119Jh3vDOt Umvthhfmz/A= =URC+ -----END PGP SIGNATURE----- |
From: Do bi <mrc...@ya...> - 2006-08-10 09:52:36
|
The tar.gz fuile for lapack....12 is there, but lapackpp-2.4.12-setup.exe is absent. What to do? Regards Do bi --------------------------------- Do you Yahoo!? Next-gen email? Have it all with the all-new Yahoo! Mail Beta. |
From: Do bi <mrc...@ya...> - 2006-08-10 09:40:01
|
Hi, you sent lapackpp-2.4.12.tar.gz to the forge wbsite, but I remember there used to be two directories to be downloaded: both lapackpp-2.4.12.tar.gz and lapackpp.tar.gz I downloaded lapackpp-2.4.12.tar.gz, compiled the vcproj file, do all the includes and linking, and my programme compiles without error. Then try to run my exe programme and it crashes and the message reads: ..exe-Entry Point Not Found The procedure entry point?diag@LaTridiagMatDouble@@QQEQQVLavectorDouble@@H@Z could not be located in dynamic link library lapackpp.dll I am very brateful for your help. --------------------------------- Talk is cheap. Use Yahoo! Messenger to make PC-to-Phone calls. Great rates starting at 1¢/min. |
From: hjhfjf <bqz...@si...> - 2006-08-09 00:30:04
|
ICDO0rmry77OqsT6LbzSzaXTw6OstaXOu9PDo6y5+sTaoaK5+rzKxeTLzaOss/a/2sa0z+TTw6Os vNPDy8Gsy/jTw87lo6298LL6xrfM4bmp0tTPwtPF1sq3/s7xDQqjqDA2LjguNrj80MKw5izQwtT2 zfi14zc2uPYs0MLU9snMxrcxMDDW1qOsvbW828nMxrcxNzDW1qOpo7og0uK8+9fJ0a/H67eiy821 vSB6aGFvemhhbzA3NkAxNjMuY29tIA0KDQogICAxo6y1zdPazcW5urzbus3F+reivNssuN+1tbjf 1sosMTczONbWuqzLsMnMxrehow0KICAgICAgyczGt7fWwOCjus7lKr3wKrXnKrmko6zLrirFryq7 ryq5pKOsuaQqvt8qtqQqwOCjrM3BKsS+KsjVKtTTLS0tuPy24KGjoaOhow0KDQogICAyo6zIq8fy Nza80tCh0M3BrMv4s6zK0M/Ws6G/tLv1LM/Ws6Gyybm6LNbKwb/I/bD8t/7O8aGjDQogICAgICDS 0cnot/7O8c34teOjqNChKtDNKsGsKsv4KrOsKsrQo6mzx8rQo7rH4LW6o6zRzMyoo6zN/rqjo6zA s873o6zGvbbIo6y9utbdo6y438Pco6y9usTPo6zW7rPHo6zI1dXVo6y7xrW6o6zAs9H0o6y6o9H0 o6ywssfwoaLOxLXHoaLXzbKpoaLOq7e7zquzx6GiutPEz8Ll0fShosa9tqXJvaGivbnX96Gizqu3 u7L90tijrLXC1t0sutOxsbqqtaYsva3L1bOj1t0svri9rSzJvc73vfqzxyzV472tzanP56OsurzW 3aOswazUxrjbo6zMq7LWoaLO3s79oaLMqbCyoaLI2bPJoaLDwLn6wuXJvO22tcggMzS49rPHytC5 sjc2vNKhow0KDQogICAzo6y24LnmuPHIq8a31tbSu9W+ubrG68q9o6y5+sTao6iyu8/eyqG33aOp zuWjrb3w19u6z8Xky82jrMO/1tayu8/eyv3Bv6Oov8my8M/ksvC60MXku/WjqaOsw7+xyjUwMNSq 0tTJz8Pis6TNvtTLt9GhozMwMDDUqtLUyc/Iw8D7z8K4oTMtNbj2sNm31rXjoaMNCiAgICAgIMGs 0PjF5MvNtcTF5MvNteq+rc/6ycy/yc6qxuS1sbXYs8fK0DMwzfK49tLUyc+/zbuntPO55sSjw+K3 0b+qt6KjrM34yc/D4iq30Sq54yq45qOsw+K30dT5y821sbXYsvrJ+rXEzfjJz7Xn19O2qLWloaMN Cg0KICAgNaOsIMfg1La8r83Fw8C5+sLlybzttrfWuavLvqOo0MfG2sH5uaS+37mry76jqFNhdHVy ZGF5IFRvb2xzIEluYy6jqaOps8nBoqOowarPtbe9t6i8+7i9wryjqaOsufq8ys7lo6298MirxrfW 1tfbus/F5MvNo6y24Ma31tbGtM/ks/a/2qOsw7/W1rK7z97K/cG/o6i/ybLwz+Sy8LrQxeS79aOp DQoNCiAgIDYsICC7ttOtuPfOu7nzsfa+zb380KHQzcGsy/izrMrQo6i78s34yc+jqdPkv+y5us7v oaMNCiAgICAgICC7ttOtuPfOu7OnvNLAtM7SuavLvrmp06bJzMa3oaMNCiAgICAgICC7ttOtuPe5 +sTauavLvqOszeLDs7mry76jrLqjzeK5q8u+ssm5usXky83JzMa3DQoNCiAgIDcsINPQ0uK80yrD y8fgo63UtrOsytDBrMv4teosyczGt8Xky83Q6Mfz1d/H67Xju/ej9y2j96P3LqPmo/Uto/Gj6aPu o+ej+aP1o+Gj7i6j46Pvo+3H4KOt1LYgzuWjrb3wzfgNCiAgICAgILXju/cgaHR0cDovL3Fpbmd5 dWFuLm1mZHgubmV0IA0KDQqhsLzTKsPLyMjP36Gx5K/AwLLpv7S80yrDy7vyxeQqy823vcq9vLDS qsfzoaMNCiDNxrz2vNMqw8u12Mf4o7rJvbaroaK607GxoaK608TPoaK9rcvVoaKwsrvVyqHE2s/Y vLbK0NLUyc+zx8rQoaMNCiDNxrz2xeQqy826z9f3o7rO5cqh0tTUtsqht93H+NPyoaMNCi0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpsYXBhY2twcC1kZXZlbEBs aXN0cy5zb3VyY2Vmb3JnZS5uZXRsYXBhY2twcC1kZXZlbGJxenZ2c3d0QHNpbmEuY29tDQq4vcK8 o7oNCsirx/I3Nrj20KHQzcGsy/izrMrQtdjWt7Xnu7Cjug0Kw8C5+sLlybzttqO6DQogICAgICAg IMPAufrC5cm87bawo7b7w8nM2Mf4zta2+8LqvdYgMzkwM7rFo6gzOTAzIFZlbG1hIEF2ZS5FTCBN b250ZSwgQ0E5MTczMaOpILXnu7CjujAwMS02MjYtMjY0LTA4NzcNCrn6xNo6DQoxIMfgtbrNxbW6 t9ayvzrH4LW6ytDUxsTPwrczOLrFKLarxr3CtzIxusW98LPHtefTsNS60LG21MPmKaH6ofqh+qH6 ofqh+rXnu7A6ODI2MjUyMTANCjIgICAgILarsr+31rK/OsfgtbrK0LjfzO/CtzExusXM77zSu6jU sKOotPO4o9S0zve687LgNTDD1ymh+qH6ofqh+qH6ofogtee7sDo4NTczNDIwOA0KMyAgICAgutOx scK3t9ayvzrH4LW6ytDEz8f4utOxscK3NzK6xaOoutOxscK30+vdt8/Ywre2odfTwre/2rnVvce0 pqOpofq157uwOjgyODExNzE1DQo0ICAgICC087jb0rvCt7fWsr+jusfgtbrK0LTzuNvSu8K3MTS6 xaOovsm79crQs6GjqaH6ofqh+qH6ofqh+qH6ofqh+qH6ILXnu7A6ODM4MTYxNTkNCjUgICAgIMyo tqu31rK/OsfgtbrK0MrQsbHH+LXCyqLCtzU5usUozKi2q8H5wrfUw8C01uC16sPFx7DWsdffMTAw w9cpofogtee7sDo4MzYxOTE2Mw0KNiAgICAguKHJvbrzt9ayvzrH4LW6ytC4ocm9uvPLxNChx/g2 NrrFwqXPws34teMozazQy8K3MTY4usUpofqh+qH6ofqh+iC157uwOjg4NzU3MDgzDQo3ICAgICCw sMm90rvCt7fWsr86x+C1usrQsLDJvdK7wrcxMrrFvNeh+qH6ofqh+qH6ofqh+qH6ofqh+qH6ofqh +qH6ofqh+rXnu7A6ODM3NTk2NjENCjggICAgILqjs8e31rK/OsfgtbrK0Liny7PCtzS6xaOoyt+y y8X6t6LK0LOh0LG21MPmo6mh+qH6ofqh+qH6ofqh+qH6ofogtee7sDo4NTYyODI0OQ0KOSAgICAg y8S3vbfWsr86x+C1usrQyMvD8cK3MzQ2usW816OoyPCy/cK3sbGy4LnVzeS0pqOpofqh+qH6ofqh +qH6ofqh+iC157uwOjg0ODUyMzE0DQoxMCAgICDJzMfwwre31rK/o7rH4LW6ytDLxLe9x/jJzMfw wrcxMLrFofqh+qH6ofqh+qH6ofqh+qH6ofqh+qH6ofqh+qH6ILXnu7A6ODQ4ODk1ODINCjExICAg IMTPt+HCt7fWsr+jusfgtbrK0MvEt73H+MTPt+HCtzI0usUtN6H6ofqh+qH6ofqh+qH6ofqh+qH6 ofqh+qH6ofogtee7sDo4NDg3Mzg3Mw0KMTIgICAgsaO2+bfWsr86x+C1usrQMzA4ufq1wDI0usXL xLe9x/jO5b3wvaiyxMrQs6FDx/gyMrrFo6ixo7b5tOWjqaH6ofq157uwOjg2MDIzNjM3DQoxMyAg ICDA7rTlt9ayvzrH4LW6ytDA7rTlutOxsbTlucXV8sK30KGz1L3WNLrFwqXN+LXjNC0xMrrFKLuq wqHJzM/DuvPUurXnu7A6ODcwNjIyMDUNCjE0ICAgILH2tKjCt7fWsr+jusfgtbrK0MDustfH+LH2 tKjCtzI2usWjqMH1vNLPwrrTw6u5q7XYtOWxsTIwMMPXo6mh+qH6tee7sDo4Nzk3MzAzNw0KMTUg ICAgste/2rfWsr86x+C1usrQste/2sf408DGvcK317DKzrLEwc/K0LOhQ8f4Mjm6xSjI/dbQ0LG2 1MPmKaH6ofqh+iC157uwOjg0NjU3NjExDQoxNiAgICDV8buqwre31rK/o7rH4LW6ytDV8buqwrc4 MrrFo6ixsbe9vaiyxMrQs6GjqaH6ofqh+qH6ofqh+qH6ofqh+qH6ILXnu7A6ODQ2MjU5NzINCjE3 ICAgILuiyb3Ct7fWsr86x+C1usrQu6LJvcK3NDCjrTG6xaOou6LJvcK3NjPW0NGn0KPO99DQNTAw w9fN+LXjo6mh+qH6tee7sDo4Nzk3NzgyMw0KMTggICAgsrq2q7fWsr86x+C1usrQwcnR9M73wre4 37/G1LDXsMrOs8dOLTI1usWh+qH6ofqh+qH6ofqh+qH6ofqh+qH6ofq157uwOjg4NjEzODMyDQox OSAgICDW0Lqrt9ayvzrH4LW6ytDW0LqrtOXX27rPytCzobarMTAww9eh+qH6ofqh+qH6ofqh+qH6 ofqh+qH6ofqh+qH6ILXnu7A6ODg3MDM5MzMNCjIwICAgIMmz19O/2rfWsr86x+C1usrQ4cDJvcf4 ybPX07/avNK1w8DWs6zK0LbUw+ah+qH6ofqh+qH6ofqh+qH6ofqh+qH6tee7sDo4ODgwNzgzMw0K MjEgICAgzfW459evt9ayvzrH4LW6ytCzx9H0x/jN9bjn16+91rXAsOzKwrSmzfnO9zQwMMPXofqh +qH6ofqh+qH6ofqh+iC157uwOjg3ODQyMjYyDQoyMiAgICCzx9H0t9ayvzrH4LW6s8fR9Mf41f3R 9L3WsbHNt7PH19PN+LXjt7+jqLPH0fTH+NX90fTEz8K3MTK6xaOpofqh+rXnu7A6ODc3NTg0MjEN CjIzICAgILPH0fS12rb+t9ayvzrH4LW6ytCzx9H0x/i6zdH0wrc1Mje6xaOoufq79bGxMjAww9ej rNDCu6rK6bXqsbHQsbbUtee7sDo4Nzg2MDA3MQ0KMjQgICAgwqbJvbrzt9ayv6O6x+C1usrQwqbJ vbrzvK+xsbbLo6jH4LjWxM/DxbarsuCjrDIywreztdfc1b6jqaH6ofqh+iC157uwOjg0ODE3ODM1 DQoyNSAgICDLq7K6t9ayvzrH4LW6ytDLq7K6tOW05c6v0LG21MPmo6jQ7LzStOXO9823o6mh+qH6 ofqh+qH6ofqh+qH6ofqh+rXnu7A6ODQ4MTg2MTkNCjI2ICAgIMH3zaS31rK/Osfgtbqzx9H0x/jB 982k17DKzrLEwc/K0LOhxNozxcUxOLrFKMH3zaSx9brTwrcxusUpofqh+qH6tee7sDo4NDkwNTM1 Mg0KMjcgICAgz6e4o9Xyt9ayvzrH4LW6s8fR9Mf4z6e4o9Xy3LDUt9Chx/jI/brFwqW2q6OowPvI urHjwPuzrMrQtqs1MMPXo6m157uwOjg3OTg3Njc2DQoyOCAgICC8rLrpzLK31rK/OsfgtbrK0LPH 0fS8rLrpzLLW0NDEvdbW0Ln608rV/sXUofqh+qH6ofqh+qH6ofqh+qH6ofqh+rXnu7A6ODc4MDIw MTkNCjI5ICAgILvGtbq31rK/OrvGtbq/qreix/jO5NLEyb3Ct7jE1Oy5pLPM19u6z8KlMzS6xc34 teMouqO79crQs6HEzzEwMMPXtee7sDo4Njk3MDEyNw0KMzAgICAgu8a1urXatv631rK/Osfgtbq7 xrW6x/jVq8zDtbq91tPrs+fD97W6zvfCt727sua/2sj9waq80rXnxM81MMPXofq157uwOjg2ODUz Nzk5DQozMSAgICDQwbCyt9ayvzq7xrW60MGwstXyu8a609bQwrcyMjYtMbrFKL+qzdjCt7Lmv9q2 q8TPvce2q8TP168xusXCpTQjILXnu7A6ODY4MTQyMjANCjMyICAgIMa9tsi31rK/Osa9tsjK0LOj 1t3Ct8TPts6jrMfgtbrCt7Lmv9rEzzUww9fCt7arofqh+qH6ofqh+qH6ofqh+qH6tee7sDo4ODMx ODc5Mw0KMzMgICAgvbrEz7fWsr86vbrEz8rQyMvD8cK3NDA5usUou6q1wsnMw7PX27rPwqUxusXC pTa6xbe/LMjLw/HSvdS6tqs1MDC157uwOjg2MTMxOTE2DQozNCAgICC9usTPtdq2/rfWsr86x+C1 ur26xM/K0NbpuqPW0MK3MTg5usUoxam05dDF08PJ59CxttTD5imh+qH6ofqh+qH6ILXnu7A6ODYx NzU5MTENCjM1ICAgIL261t212rb+t9ayvzrH4LW6vbrW3crQs6PW3cK3NDEyusUowfrW3cnMs8ex sTIww9cpofqh+qH6ofqh+qH6ofogtee7sDo4MTEyOTYzNw0KMzYgICAgvbrW3bfWsr86vbrW3crQ 1qPW3c73wrczOLrFo6zWo9bdzvfCt7Xa0rvDxaOss6TNvtW+zvcyMDDD16H6ofqh+iC157uwOjg3 MjYwMzE5DQozNyAgICDN9cyot9ayvzrH4LW6vbrEz8rQu7fMqLGxwrc3ObrFzfXMqNXyuuzCzLXG KNStwM/XqsXMKc35tqsxMDDD1y6h+rXnu7A6ODMxMzc3NzYNCjM4ICAgIMCzzve31rK/OsCzzve9 u82owsO53SizpM2+1b4pxM82MMPXLMK3tquy4C4owLPO98rQx+C1usK3MzUtNbrFKaH6tee7sDo4 NjY0NjI4OA0KMznRzMyot9ayvzrRzMyoytDWpe63x/jWpe63zc3CtzE4usUoufq299ewys6yxMHP ytCzoULH+De6xSmh+qH6ofqh+qH6ofq157uwOjA1MzUtNjI0OTg4Mg0KNDAgICAgwLPJvbfWsr86 0czMqMrQwLPJvcf40620urTzvdYxNjG6xaOos/W80sK3v9q0pqOpofqh+qH6ofqh+qH6ofqh+iC1 57uwOjA1MzUtNjcxMTYyNw0KNDEgICAgwLPR9LfWsr86wLPR9MrQ1tDSvdS61f221MPmueOzob3W zvfK16H6ofqh+qH6ofqh+qH6ofqh+qH6ofqh+qH6ofq157uwOjA1MzUtNzE3MzY2Mw0KNDIgICAg 1qXut7fWsr860czMqMrQ1qXut8f40NK4o8quwfm05bjbs8e9qLLEytCzoTE1M7rFofqh+qH6ofqh +qH6ofqh+iC157uwOjA1MzUtMjk5NjUxMg0KNDMgICAguKPJvbfWsr860czMqMrQuKPJvcf4uKO6 o8K3zvey4MbRzeW9qLLEytCzoaOoyrjG6cb7s7XF5Lz+09DP3rmry76157uwOjA1MzUtNjMwMDIy Mw0KNDQgICAguqPR9LfWsr860czMqLqj0fTK0Lqj1f7CtzEyObrFo6jI/cGqvNK15873w+YsuanP +ryvzcXCpc/Co6mh+qH6ofq157uwOjA1MzUtMzIyODI4Mw0KNDXOq7e71u6zx7fWsr861u6zx8rQ ytCzob3W1tC2zizIy8Pxwrey5r/asbE1MDDD18K3tquh+qH6ofqh+qH6ofqh+qH6ofq157uwOjA1 MzYtNjU2Mzk4Nw0KNDYgICAguN/D3LfWsr86uN/D3MrQs6S34b3Wxam34bTlzq+2qzUww9fCt8TP LqH6ofqh+qH6ofqh+qH6ofqh+qH6ofqh+iC157uwOjA1MzYtMjkxMTk5OA0KNDcgICAgsv3S2LfW sr86zqu3u7L90tjK0L27zai91szsy67K0LOhtqszMDDD18K3sbGjqL27zai7/LLptPO207bUw+aj qSC157uwOjA1MzYtNzExMTQ1Ng0KNDggICAgsLLH8LfWsr86sLLH8MrQzuXA77rTx8W2qzUww9fC t8TPofqh+qH6ofqh+qH6ofqh+qH6ofqh+qH6ofqh+qH6ofq157uwOjA1MzYtNDM5MDU5Ng0KNDkg ICAgzquzx7fWsr86zqu3u8rQzquzx8f4z/LR9MK30+vO1MH6vda9u7Lmwre/2s73sbG9x6H6ofqh +qH6ofqh+qH6ofq157uwOjA1MzYtMjEwOTgyNg0KNTDN/rqjt9ayvzrN/rqjytDKwLL9tPO1wDEw NC00usUoxvvUy87luavLvrar4vyjqaH6ofqh+qH6ofqh+qH6ofqh+qH6ofq157uwOjA2MzEtNTg5 NjM5Mg0KNTEgICAgu6jUsMK3t9ayv6O6zf66o8rQu7e05Mf4u6jUsMTPwrc0OC0yusWjqLGxubXF ybP2y/nO9zEwMMPXwrexsbOk1fe157uwOjA2MzEtNTIyOTExOQ0KNTIgICAgzsS1x7fWsr+jus7E tcfK0NLlztrQocnMxrfF+reiytCzoULH+DGjrTIzusWjrMjLw/G5q7Cy0LG21MPmofqh+iC157uw OjA2MzEtODQ2OTMxOA0KNTMgICAgyNmzybfWsr+jusjZs8nK0L2o0rW91tDC16+xscf4OTGjrTIy usWh+qH6ofqh+qH6ofqh+qH6ofqh+qH6ofqh+iC157uwOjA2MzEtMzYxNzc4OQ0KNTTXzbKpsqnJ vbfWsr86182yqcrQsqnJvcf40MKyqcK31tC2zr2o1v7M1bTJs6fO96H6ofqh+qH6ofqh+qH6ofqh +qH6ofq157uwOjA1MzMtMjY0NTc3OA0KNTUgICAgsMu2uLfWsr+jutfNsqnK0LKpyb3H+LDLtrjV 8tbQ0MTCt9bQufrN+M2ottTD5qOo1K266NTLzu/XyqOpofqh+iC157uwOiAwNTMzLTQ1MTg3NDYN CjU2ICAgINbctOW31rK/o7rXzbKpytDW3LTlx/ixo7CyvdbEz7bLo6jH+NK91LrN+bGxMTUww9ej qaH6ofqh+qH6ofqh+qH6tee7sDogMDUzMy02NDMwNjU2DQo1NyAgICDXzbSot9ayv6O6182yqcrQ 1820qMf41cWyqcK31820qLvws7XVvsTP1tDQxdL40NC21MPmofqh+qH6ofqh+qH6ILXnu7A6MDUz My01MTgwOTQzDQo1OLXC1t231rK/OrXC1t3K0NDCuv7Ez8K3wrOxsbmpy67X3Lmry77TqtK1zPy2 qzIww9eh+qH6ofqh+qH6ofqh+qH6ofqh+rXnu7A6MDUzNC0yMTg1ODkyDQo1OSAgICC1wtbdtdq2 /rfWsr+jurXC1t3K0LXayq7W0NGnzfnEzzYww9eh+qH6ofqh+qH6ofqh+qH6ofqh+qH6ofqh+qH6 ILXnu7A6MDUzNC0yMzI3ODAwDQo2MCAgICC1wtbdtdrI/bfWsr+jurXC1t3K0Lart+fO98K3zPq1 wMfFzvczMDDD18K3xM+h+qH6ofqh+qH6ofqh+qH6ofqh+rXnu7A6MDUzNC01MDgxMTU3DQo2McjV 1dW31rK/OsjV1dXK0NDLuqPCt7b+1tDO98e9zeIss6TNvtW+tqvEzzMwMMPXofqh+qH6ofqh+qH6 ofqh+qH6ofqh+rXnu7A6MDYzMy04MjI4NTEzDQo2MsypsLK31rK/OsypsLLK0Laruv65q9Swtqsy MDDD18K3sbGjqNOttLq088/D0LG21MPmo6mh+qH6ofqh+qH6ofqh+qH6ILXnu7A6MDUzOC0yMTQ0 MDQwDQo2M9Xjva3Nqc/nt9ayvzrV472tyqHNqc/nytDV8dDLzvfCt9bQufq5pMnM0vjQ0Li9wqW2 qzEtMsnMxswou+G8xrrLy+PW0LXnu7A6MDU3My04Mjc1MTgwDQo2NCAgICC6vNbdt9ayvzrV472t yqG6vNbdytDKr8fFwrczOTm6xdXjva3O5b3ws8fO5b3wxt+91jE2LTE3usWh+qH6ofqh+rXnu7A6 MDU3MS04ODEyNjU0MA0KNjW607Gxuqq1prfWsr86utOxscqhuqq1psrQt+W35b/zx/jQwsrQx/jM q9DQtqvCt87lwrfG+7O11b621MPmofqh+qH6ofq157uwOjAzMTAtNTMzMDEwMQ0KNja608TPwuXR 9LfWsr86utPEz8qhwuXR9MrQvafO98f41um9rcK31tC2y6Oo1um9rcK30KHRp8TPMzDD16Opofqh +qH6ofq157uwOjAzNzktNjQ5MjAzMTYNCjY3ICAgIMLl0fS12rb+t9ayvzq608TPyqHC5dH0ytDJ s7OnxM/Ct87lvfC7+rXnytCzoSi7r7mkytCzob+t1MO088/DMcKltee7sDowMzc5LTYzMjY4NTY2 DQo2OCAgICDGvbalyb231rK/OrrTxM/Koca9tqXJvb2oyejCt7arts7Ds9LXueOzocTPx/gxvdY3 MbrFofqh+qH6ofqh+qH6ILXnu7A6MDM3NS0zMjg5MTg2DQo2OSAgICC9udf3t9ayvzq608TPyqG9 udf3ytC2q7u3wre9udf3yNWxqMnnsbE1MMPXwre2q6H6ofqh+qH6ofqh+qH6ofqh+rXnu7A6MDM5 MS0zOTE1ODg5DQo3ML2ty9Wzo9bdt9ayvzq9rcvVyqGzo9bdytC7xsm9wrczOTm6xbGmt+G3/srO ytCzocTaKDgtMTA3Mimh+qH6ofqh+qH6ILXnu7A6MDUxOS01MTY2NTIyDQo3MSAgICDBrNTGuNu3 1rK/OsGs1Ma428rQ0MLG1sf4veK3xbarwrc5NbrFo6i98Mj9vcfP8s73MTAww9ejqaH6ofqh+qH6 ILXnu7A6MDUxOC01NjI4ODA4DQo3MiAgICDMq7LWt9ayvzrMq7LWytDO5dHzycyzx8qutv60sTEw NLrFofqh+qH6ofqh+qH6ofqh+qH6ofqh+qH6ofqh+qH6ILXnu7A6MDUxMi01MzEwNTUzOA0KNzMg ICAgzt7O/bfWsr86zt7O/crQzv27ptewys6yxMHPytCzocTaRcf4MzmjrTQwusWh+qH6ofqh+qH6 ofqh+qH6ofqh+iC157uwOjA1MTAtODI0MDY0MDINCjc0ICAgIL64va231rK/Or64va3K0L2t1t7C tzE3RaOotLq9rbuos8fEz6Opofqh+qH6ofqh+qH6ofqh+qH6ofqh+qH6ofogtee7sDowNTIzLTI2 MDYzMzMNCjc1yb3O9736s8e31rK/Osm9zve9+rPHt+/MqM73vdbK0Ln6y7C+1rbUw+You8a7qr3W us2378yozve91r27sua/2s35zvcxtee7sDowMzU2LTIyMzIwOTENCg0KzbPSu8XG2NKhtsfgKtS2 Ks7lKr3wuakqu/WhtyzNs9K7vNu48aOouPezrMrQ0+vN+MnPvNu48dK71sKjqaOsDQrNs9K7yczG t6OszbPSu7f+zvGjrL7NvfzIobv1o6y7ttOtu925y6GjDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0wODoyOToyNGxh cGFja3BwLWRldmVsQGxpc3RzLnNvdXJjZWZvcmdlLm5ldA0KuL28/qO6vNu48aOst/7O8c34teO1 2Na3ss6/vKOoMDYuNy40uPzQwrDmLNDC1PbN+LXjNza49izQwtT2yczGtzEwMNbWo6y9tbzbyczG tzE3MNbWo6mjug0KICAgICAgICAgICAgICAgICAgIMnMxre1xNfu0MK827jxx+vU2rmry77N+NW+ 1vfSs8/C1NgNCiAgICAgICAgICAgICAgICAgICANCiDSu6Giy/i+387lvfAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgt+HKokNUNDExOEEgICAgICAgICAgMjYuMjUNCsz6udLL+CAgICAgICAg ICAgICAgICAgICAgICAgICAgICDWtMrWw8XL+LfhyqIzQzI4NkUgICAgt+HKosXGNTYuMjUNCiDI urflMzYyKDI1bW0pyLq35cXGIDEuMDggICAgICAgICC34cqiQzMyODQgICAgICAgICAgICAgICAg ICAgNDUuMDANCiAgICAgICAgICAgIDM2MygzMm1tKSAgICAgICAxLjQ0ICAgICAgICAgM0MzMDA4 MShDMzI4NkQpICAgICAgNTEuODcNCiAgICAgICAgICAgIDM2NCgzOG1tKSAgICAgICAxLjgwICAg ICAgICAgM0MzMDA3RihDMzI4M0QpICAgICAgNTEuODcNCiAgICAgICAgICAgIDM2NSg1MG1tKSAg ICAgIDMuMDAgICAgICAgICAgy9y41sPFICAgICAgICDKpdDFKLy0MjguNzUNCiAgICAgICAgICAg IDM2Nig2M21tKSAgICAgICA0LjU2ICAgICAgICAgxr2/qiAgICAgICAgICAgICAgICAgNC41Ng0K ICAgICAgICDI/bu3MzYxKDIwbW0pyP27t8XGMS40NiAgICDH8sv4ICA1ODMxODa+q8a3uuzpt7Gm wPvAtA0KMTEuOTMNCiAgICAgICAgICAgIDM2MigyNW1tKSAgICAgIDEuNzEgICAgICAgICAgNTgz MdXmuuzpt9K7vLYgICAgICAgMTAuMDANCiAgICAgICAgICAgIDM2MygzMm1tKSAgICAgIDIuMzIg ICAgICAgICAgNTgzMVNTLkJTybO98C5QQrfCvfAgMTAuMjUNCiAgICAgICAgICAgIDM2NCgzOG1t KSAgICAgIDIuNzggICAgICAgICAgNTgzMc2twK3LvyAgICAgICAgICAgMTEuNjMNCiAgICAgICAg ICAgIDM2NSg1MG1tKSAgICAgIDQuODEgICAgICAgICAgNTgzMbK70OK41sCty78gICAgICAgMTEu NjMNCiAgICAgICAgICAgIDM2Nig2M21tKSAgICAgIDcuNTggICDW0Lzky/ggICAgICAgICAgICAg ICAgICAgICAgMS4wNg0Ks6TBu7nSy/jI/bu3MzYzICAgICAgyP27t8XGMy45NSAgILPpzOvL+CA4 MDOn5jE2bW0gICAgICDF7sCzICAyLjQ0DQogICAgICAgICAgICAgICAgMzY0ICAgICAgICA0Ljg4 ICAgICAgICAgIDMwM0KjqNPFo6kgICAgIMXuwLMgIDIuOTMNCiAgICAgICAgICAgICAgICAzNjUg ICAgICAgIDguNjQgIMSmzdCztcv4M3gxMDC52L3ayr0gICDJ6tLlxcYNCjE1LjYzDQogza250sv4 IMj9u7cyNjEoMjBtbSnI/bu3xcY0LjI0ICAgICAgICAgILTWuNbAwiAgICAgICAgICAgICAgIDYu NjANCiAgICAgICAgICAgIDI2MigyNW1tKSAgICAgIDUuNzIgICAgICAgICAgtNa41sDCKLHqMS4z w9ejqSAgICAgNy43NQ0KICAgICAgICAgICAgMjYzKDMybW0pICAgICAgOC45NCAgICAgICAgICDP uLjWwMLL+CAgICAgICAgICAgICA0LjU2DQogICAgICAgICAgICAyNjQoMzhtbSkgICAgICAxMi4x MyAgICAgICAgILjWwMLL+DkwMCAgICAgICAgICAgIDUuMTYNCiAgICAgICAgICAgIDI2NSg1MG1t KSAgICAgIDIxLjM1ICAgICAgICAguNbAwsv4NjWjqMvcwc/L+M23o6kgMi44Nw0KICAgICAgICAg ICAgMjY2KDYzbW0pICAgICAgMzYuNjAgICAgICAgICC41sDCy/g4MKOoy9zBz8v4zbejqSAzLjEz DQqzpMG7za250iAgICAyNjIoMjVtbSnI/bu3xcY2LjI2ICAgICAgICAgIEE4ML6rxrcgICAgICAg ICAgICAgIDguMjYNCiAgICAgICAgICAgIDI2MygzMm1tKSAgICAgIDkuODAgICAgICAgICAgQTEy ML6rxrcgICAgICAgICAgICAgMTAuMjUNCiAgICAgICAgICAgIDI2NCgzOG1tKSAgICAgIDEzLjAy ICAgICAgICAgOS02Nc3ywPvFxiAgICAgICAgICAgMi4zMw0KICAgICAgICAgICAgMjY1KDUwbW0p ICAgICAgMjIuNzIgICAgICAgICCy5cv4ICAgICAgICAgICAgICAgICAxMi43NQ0Kta/X08PFy/gx MDEgICAgICAgICAgzfLX1iggOS4xNSAgICAgICAgICDUrdfTy/ggICAgICAgICAgICAgICA3Ljg4 DQogICAgICAgIDEwMaOo08WjqSAgICAgt8nR4yAxMi4yNSAgICAgICAgILe9uMuy5cv4ICAgICAg ICAgICAgIDE2LjI1DQogICAgICAgIDExNi0yICAgICAgICAgxe7AsyAxNS4wMCAgICAgICAgIDg2 N7Lly/ggICAgICAgICAgICAgIDIxLjI1DQogICAgICAgIDExNy0yo6jTxaOpICAgyP248SAxNi4w MCAgICAgICAgIDgwuNbAwrGovq/L+CAgICAgICAgIDIwLjAwDQogICAgICAgIDExNy0yICAgICAg ICDN8tfWKCA2Ljk1ICDG+7O1t73P8sv4ICAgICAgICAgICAgINXjva0gIDMwLjAwDQogICAgICAg IDYxNDAtNCAgICAgICDM7LeiKCA2LjAwICC158a/s7WztTg1MSAgICAgICAgICAgICAgICAgIDgu MTMNCiAgICAgICAgOTM5QSjTxSktNjE2NCAgICAgIDkuMDAgICDUwtHAy/ggICAgICAgICAgICAg ICAgICAgICAgMS4yMA0KICAgICAgICA5MjE5KMz6w8UpICAg1tDLs8XGMTQuMzggIMG0zPXL+CDX 1NDQs7UgICAgICAgIMbWva0NCsj9Mi4yMg0KICAgICAgICA5MjE5KMS+w8WjqSAgICAgICAgMTUu MDAgICAgICAgICAwLjhNICAgICAgICAgICAgICAgICA1LjI1DQogICAgICAgIDkyMTkozPrDxSkg ICC+3ramxcYxMS43MSAgICAgICAgIDEuMk0gICAgICAgICAgICAgICAgIDYuNzUNCiAgICAgICAg OTIxOSjEvsPFKSAgICAgICAgIDEyLjIwICAgICAgICAgt8C+4jHD1yAgICAgICAgICAgICAgMTUu MDANCiAgICAgICAgOTIxObbGsNejqMz6INbQy7PFxjE0LjE1ICAgICAgICAgt8C+4jEuMsPXICAg ICAgICAgICAgMTYuMjUNCiAgICAgICAgOTIxObbGsNejqMS+w8WjqSAgIDE1LjAwICCx1cPFxvcg ICAtMDY4ICAgICAgICAgueO2qyAgMzUuMDANCiAgICAgICAgMjAwONSy1vm158TUs9cgICAgIDMy LjUwICAgICAgICAgo60wNzggICAgICAgICAgICAgICAgNDYuODANCiAgICAgICAgODM4M7XnxNSz 1yAgIL3wwPsoIDIxLjg4IMbw1ti7rLO1MC41VCAgICAgICAgICAgvfLBpiAgMTMuMTMNCiAgICAg ICAgODA4M7XnxNTL+CAgICAgICAgIDE2Ljg4ICAgICAgICAgMVQgICAgICAgICAgICAgICAgICAg MjEuMDANCiAgICAgICAgMTEyONfUtq/F9sv4ICAgICAgIDUwLjYzICAgICAgICAgMlQgICAgICAg ICAgICAgICAgICAgMzMuNTANCsLBy9y0sMv4ODAxo6MgICAgICAgICAgICAgIDkuMDAgIM3yz/LC 1g0KIDO05yAgICAgICAgICAgICAgICAgIDUuNzUNCsLBus+98MPFNjA3UFMgICAgICAgILGmwPvA tDEyLjE5ICAgICAgICAgNLTnICAgICAgICAgICAgICAgICAgNy4wMA0Kvu3BscPFy/ggICjSu9fW y/gpICAgyP27t8XGOC4xMyAgICAgICAgICA1tOcgICAgICAgICAgICAgICAgICA4LjI1DQogICAg ICAgIKOoyq7X1rPXo6kgICAgICAgICA5LjM4ICC2qM/ywtYNCiAztOcgICAgICAgICAgICAgICAg ICA0LjUwDQogw8XE2sv4IDkwMSAgICAgICAgICC3ydHjxcYzLjU0ICAgICAgICAgIDS05yAgICAg ICAgICAgICAgICAgIDUuNzUNCrfAtcHDxcPFOTQ3MiAgICAgICAgICCzo9bdIDI1LjAwICAgICAg ICAgNbTnICAgICAgICAgICAgICAgICAgNy4wMA0KsqPBp8PFy/ggICAgICAgICAgICAgINHHuuog Mi40NCAgICC/27X1ICA1MG1tICAgICAgICAgICC438PcDQogMC4xNA0KsqPBp8PFw8W1pcv4zbct MTE3ICAgILnjtqsgMzkuMDQgICAgICAgICA2NW1tICAgICAgICAgICAgICAgICAwLjE2DQogICAg ICAgIMury/jNty0xMTggICAgICAgICA1My43NSAgICAgICAgIDc1bW0gICAgICAgICAgICAgICAg IDAuMTgNCta0ytbDxcv4MjAwMLD8utogICAgILGmwPvAtDE5LjEwICAgICAgICAgMTAwbW0gICAg ICAgICAgICAgICAgMC4yOQ0KICAgICAgICC98Mzhy78gICAgICAgICAgICAgMTYuODggICAgICAg ICAxMjVtbSAgICAgICAgICAgICAgICAwLjQ0DQogICAgICAgILfhyqJGVDQ5ODMgICC34cqixcYy NS4wMCAgIM3kv9sgICAgICAgICAgICAgICAgICAgICAgIDAuNDENCiAgICAgICAgt+HKokZUNDYx OEEgICAgICAgIDI1LjAwICAg1rG/2yAgICAgICAgICAgICAgICAgICAgICAgMC40MQ0KICAgICAg ICC34cqiQ1Q0MzE4QSAgICAgICAgMjYuMjUgICDDxc78ICC+q8a3ODEwICAgICAgICDQocrAICA0 LjM4DQogICAgICAgILfhyqJDNTAwMSAgICAgICAgICA0NS4wMCAgICAgICAgIMmzvfAgICAgICAg ICAgICAgICAgIDQuMDANCiAgICAgICAgt+HKokMyMDkyQSAgICAgICAgIDQ1LjAwICAgICAgICAg vfC7qLHfICAgICAgICAgICAgICAgMy42Mw0KICAgICAgICC34cqiM0M0MDEyRSAgICAgICAgNTYu MjUgICAgICAgICC/ybX3QdDNICAgICAgICAgICAgICA0LjA2DQogIMX21ukgILK70OK41ii08ykg ICC98MX0KCAwLjQ3ICAgICAgICAgILrauvrM0sPFzvwgICAguPDA+7TvIDYuNTANCiAgICAgICAg tMkgICAgICAgICAgIMnu0MUoIDAuMzggICAgICAgICAg0MK/7rXYw8XO/CAgICAgICAgICAgMy43 NQ0KICAgICAgICC0yaOo08WjqSAgICAgICAgICAgMC43NSAgtv6horXnuaS158b3DQogILSwwtYg ICAgICAgICAgICAgICC98Ma7zfUwLjYwDQogILLlz/ogIMz6NzVtbSAgICAgICC438PcDQogMC4y MSAgILXntsix7SBERDI4MqOoNS0xMEGjqbuqwaLFxg0KMjIuNTANCiAgICAgICAgzPoxMDBtbSAg ICAgICAgICAgIDAuMjggICAgICAgICAgREQyODKjqDEwLTIwQaOpICAgICAgMjIuNTANCiAgICAg ICAgzPoxMjVtbSAgICAgICAgICAgIDAuMzMgICAgICAgICAgREQ4NjKjqDUtMjBBo6kgICAgICAg MzcuNTANCiAgICAgICAgzPoxNTBtbSAgICAgICAgICAgIDAuMzUgICAgICAgICAgREQ4NjKjqDEw LTQwQaOpICAgICAgMzguNDYNCiAgICAgICAgsLTFpbfAtcEgICAgICDV472tIDIuNjMgICAgICAg ICAgyP3P4ERUODYyo6g1LTIwQaOpICAgMTAyLjUwDQogICAgICAgILK70OK41jc1bW0oy9y34ikg ICAxLjUwICAgICAgICAgIMj9z+BEVDg2MqOoMzAtMTAwQaOpIDEyMS4yNQ0KICAgICAgICCyu9Di uNY3NW1tICAgIMur0NsgMC41NCAgICAgICAgICBERFM0OTW159fTyr0oMi41LTEwQSkxOC43Ng0K ICAgICAgICCyu9DiuNYxMDBtbSAgICAgICAgMS4zMiAgICAgICAgICBERFM0OTW159fTyr0oNS0y MEEpICAxOC43Ng0KICAgICAgICCyu9DiuNYxMjVtbSAgICAgICAgMS43NSAgICAgICAgICDH4LW6 REQyMDA2o6gxMCDH4LW6ICA2MC45NQ0KICC6z9KzICDLq9DkNzVtbSAgICAguN/D3A0KIDAuNzEg ICAgICAgICAgICBERDIwMDYoMjAtNDBBKSAgICAgNjMuMjUNCiAgICAgICAgy6vQ5DEwMG1tICAg ICAgICAgIDEuMDcgICAgICAgICAgICAgICAgREQ4NjIoNUEtMjBBKSAgNjYuNzANCiAgICAgICAg y6vQ5DEyNW1to6i68aOpICAgIDEuODEgICAgICAgICAgIEREODYyLTSjqDEwLTQwQaOpICAgNzgu MjANCiAgICAgICAgtsbNrTIiICAgICAgICDV472tIDAuMzUgICAgICAgICAgICAgICDI/c/gMTAt NDBBICAgICAgMTg2LjMwDQogICAgICAgILbGza0yLjUiICAgICAgICAgICAwLjQ2ICAgICAgICAg IEREUzMzNLXn19PKvSg1LTIwQSkgIDUzLjEwDQogICAgICAgILbGza0zIiAgICAgICAgICAgICAw Ljg3ICAgICAgICAgIEREUzMzNLXn19PKvSgxMC00MEEpIDUzLjEwDQogICAgICAgILS/za0yIiAg ICAgICC66sypxcYxLjEzICAgICAgICAgIDMqMzAoMTAwQSlEVDg2Mi00ICAgIDIzNS43NQ0KICAg ICAgICC0v82tMi41IiAgICAgICAgICAgMS4zOCAgIMXFxvjJyCAgIM78tqXKvTEyQiAgILbgu9TF xg0KMzQuNTANCiAgICAgICAgsrvQ4rjWMi41tOcgICDOwtbdIDAuNjAgICAgICAgICAgICDO/Lal yr0xNkIgICAgICAgICAgMzcuNTANCiAgICAgICAgsrvQ4rjWM7TnICAgICAgICAgIDEuNzUgICAg ICAgICAgICDO/Lalyr0xOEIgICAgICAgICAgMzkuNTANCiAgICAgICAgsrvQ4rjWNLTnICAgICAg ICAgIDMuNTcgICAgICAgICAgICAgIM7PxaPKvSAgICAgICAgICAgMzIuMDANCiAgICAgICAgsrvQ 4rjWNbTnICAgICAgICAgIDcuMjUgICAgICAgICAgx73KvUtIRy0xNTAgICAgICAgICAgMjIuNTAN CiAgICAgICAgsrvQ4rjWNLTno6jX1sXCtvvC7TcuNzUgICAgICAgICAgICAgICBLSEctMTAwICAg ICAgICAgMTguNzUNCiAgICAgICAgsrvQ4rjWtsbNrTEwMG1tICAgIDkuMzggICAgICAgICAgS0hH LTIwMCAgICAgICAgICAgICAgMzIuNTANCiAgICAgICAgsrvQ4rjWtsbNrTEyNW1tICAgIDExLjI1 ICAgICAgICAgs/i3vzI1QiAgICAgICAgICAgICAgMzQuNTANCiAgICAgICAgy6vJq8a9zbcxMDBt bcypwPbLuTIuNjggICAgICAgICAgzPq/xyi437W1KTMwMG1tICAgICAgNTMuODgNCiAgICAgICAg y6vJq8a9zbcxMjVtbSAgICAgIDQuNjMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNjgu MjUNCiAgICAgICAgxr3NtzEwMG1tKLjfICCwwsuzIDkuMTMgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgODAuNjMNCiAgICAgICAgxr3NtzEyNW1tKLjftbUpICAgIDEyLjg4IMvcwc/Fxcb4 p+YxMDAgICAgICAgICAgICAgICAgNC42Mw0KICAgICAgICC7yrnaMTAwbW0ouN+1tSkgICAgOC40 MiAgICAgICAgICCn5jE1MCAgICAgICAgICAgICAgICAzLjYzDQogICAgICAgILvKudoxMjVtbSi4 37W1KSAgICAxMS4wNCAgICAgICAgIKfmMTUwo6i807rxo6kgICAgICAgIDUuNjMNCiAgICAgICAg MTI1bW2jqLjftbW68aOpICAgIDE0Ljc1INPN0cy7+rfA0+rDsaOo0MKjqSAgICAgILj2ICAgNC4z OA0KILC1us/SsyC7urPlyr0gICAgICAguujQxcXGMS4wMCAgIM3y08Ox7SDQ5NXk0NQgICAgICAg ICAgICAgICA1LjYwDQogICAgICAgILu6s+XKvaOo19TQtsq9o6kgICAxLjEzICAgICAgICAgINa4 1evKvSAgTUYtNDcgvfC0qMXGIDI3LjUwDQrP+8n5u6y1wDEyoa6jqNPFo6kgICDV472tDQogMS44 OCAgICAgICAgICBBODMwMiAgICAgICAgICAgICAgICAyNy41MA0KICAgICAgICAxNKGwo6jTxaOp ICAgICAgICAgMi4yNCAgICAgICAgICDK/dfW0M05MjA1ICAgICAgICAgICAyOC43NQ0KICAgICAg ICAxNqGwo6jTxaOpICAgICAgICAgMi41MCAgx6/QzbXnwfdNRzI4ICAgICAgICAgIL3wtKjFxiAz OC4xMw0KICAgICAgICAxOKGwo6jTxaOpICAgICAgICAgMi45MiAgICAgICAgICDK/dfWyr0gICAg ICAgICAgICAgICAyOC43NQ0KICAgICAgICAyMKGwo6jTxaOpICAgICAgICAgMy4yNSAgINXXxbex 7SCjqNKhse2jqTEwMDBWILary7Moyc82OC4zMg0KyP292rustcAxMiIgICAgICAgICAgueO2q73S Ni4xNSAgtefK08/fDQogv+20+NPDICAgICAgICC6o7rnxcYgMi4xNQ0KICAgICAgICAxNCIgICAg ICAgICAgICAgICAgNy4xOCAgICAgICAgICC2/rfWxeSjqNPFo6kgICAgICAgICAzLjk0DQogICAg ICAgIDE2IiAgICAgICAgICAgICAgICA4LjIwICAgICAgICAgIMj9t9bF5KOoNM23o6kgICAgICAg IDIuMzkNCiAgICAgICAgMTgiICAgICAgICAgICAgICAgICA5LjIzICAgICAgICAgy8S31sXko6g1 zbejqSAgICAgICAgMi42NA0KICAgICAgICAyMCIgICAgICAgICAgICAgICAgMTAuMjUg0KHQzbbP wre1pbyrMTYvMjAvMjUvM7CutcLBpg0KMy43OA0KICAgICAgICAyMiIgICAgICAgICAgICAgICAg MTEuMjggICAgICAgICDLq7yrMTYvMjAvMjUvMzIvNDAvNjM3LjUwDQogIMCtytYgILK70OK41ja0 5yAgICAgueO2qyAxLjk0ICAgICAgICAgIMj9vKszMi80MC82M0EgICAgICAgIDExLjM0DQogICAg ICAgILK70OK41ji05yAgICAgICAgICA0LjAwICAgICAgICAgIMj9vKsxMDBBICAgICAgICAgICAg IDQwLjYyDQogICAgICAgILmt0M03NW1tICAgICAguN/D3CAwLjA3ICAgICAgICAgILWlvKvM19ew MTYvMjAvMzIvNDAvNjExLjAwDQogICAgICAgICAgICAxMDBtbSAgICAgICAgICAwLjA5ICAgICAg ICAgIMurvKvM19ewMjAvMjUvMzIvNDAvNjE1LjAwDQogICAgICAgICAgICAxMjVtbSAgICAgICAg ICAwLjE1ICC/1cb4v6q52LustcAxw9cgICAgICAgICAgICAgIDEuNzUNCiAgICAgICAgICAgIDE1 MG1tICAgICAgICAgIDAuMTggIMvcv8e2z8K3NDAvMjkwLTMyQSAgICAgICAgICAgMTcuNTANCrzS vt/ArcrWODA2LTY0ICAgICAgICC547arIDIuMjUgICAgICAgICAgNDAvMjkwLTQwQSAgICAgICAg ICAgMTcuNTANCiAgICAgICAgODA2LTk2ICAgICAgICAgICAgIDIuODggICAgICAgICAgMTAwLzI5 MC02M0EgICAgICAgICAgMjUuMDANCiAgICAgICAgODA2LTEyOCAgICAgICAgICAgIDMuNTAgICAg ICAgICAgMTAwLzI5MC0xMDBBICAgICAgICAgMjUuMDANCiAgICAgICAgODA4LTY0ICAgICAgICAg ICAgIDEuODggICAgICAgICAgNDAvMzkwLTMyQSAgICAgICAgICAgMjUuMDANCiAgICAgICAgODA4 LTk2ICAgICAgICAgICAgIDIuMzggICAgICAgICAgNDAvMzkwLTQwQSAgICAgICAgICAgMjUuMDAN CiAgICAgICAgODA4LTEyOCAgICAgICAgICAgIDIuODggICAgICAgICAgMTAwLzM5MC02M0EgICAg ICAgICAgMzUuMDANCrbPwrfG90RaNDAvNDkwLTQwQSAgICAgICAgIDM4Ljc1ICAgICAgICAgMTAw LzM5MC0xMDBBICAgICAgICAgMzUuMDANCiAgICAgICAgMTAwLzQ5MC02M0EgICAgICAgIDQ1LjAw ILbPwrfG90RaNDAvNDkwLTMyQSAgICAgICAgICAgMzguNzUNCiAgICAgICAgMTAwLzQ5MC0xMDBB ICAgICAgIDQ1LjAwINWitba/qrnYyP3P4DMwQSAgICAgICCyqcKhxcYgMTIuNTANCrW5y7O/qrnY MTVBICAgICAgICAgILCutcLBpjguNzUgICAgICAgICAgyP3P4DYwQSAgICAgICAgICAgICAgMjIu NTANCiAgICAgICAgMzBBICAgICAgICAgICAgICAgIDE1LjAwIMj9v9ey5df5MTZBo6jTxaOpICAg ICAgyqTT7iAgMS42OQ0KICAgICAgICA2MEEgICAgICAgICAgICAgICAgMTUuMDAgv9W197Ll1/mh sDg2obHQzbTJv9W19yC4u8DWICAzLjUxDQq9u8H3vdO0pUNKMjAtNjNBICAgICCwrrXCwaY5OS4w MCC158rTyP3NqKOo08WjqSAgICAgICAgICAgICAgIDAuNDgNCiAgICAgICAgQ0oyMC0xMDBBICAg ICAgICAgIDEyMi41MLXnytOy5c23zbnNtyAgICAgICAgICAgICAgICAgMC4xOQ0KICAgICAgICBD SjIwLTE2MEEgICAgICAgICAgMTc0LjQ2ICAgICAgICDNuc23o6jTxaOpICAgICAgICAgICAwLjIx DQogICAgICAgIENKMjAtMjUwQSAgICCwrrXCwaYzNDIuMDAgICAgICAgILC8zbcgICAgICAgICAg ICAgICAgIDAuMTYNCiAgICAgICAgQ0pUSaGqMjBBICAgICAgICAgIDM1LjAwICAgICAgICAgza3E uCAgICAgICAgICAgICAgICAgMC41Nw0KICAgICAgICBDSlRJoao0MEEgICAgICAgICAgNTAuMDAg ICAgICAgICDNrbmrICAgICAgICAgICAgICAgICAwLjQ5DQrQodDNts/Ct0RaMThMLTIwQSAgICCw rrXCwPs3LjUxICDP8MakyP3P4DE2QbLl1/kgICAgICAgINX9xbUgIDYuMjUNCiAgICAgICAgRFox OEwtMzJBICAgICAgICAgICA5LjM4ICAgICAgICAgMjBBsuXX+SAgICAgICAgICAgICAgNy4xMw0K zdG/28b3ICBEWjQ3LTFQICAgICAgICAgICAgNy41MCAgICAgICAgICAzMEGy5df5ICAgICAgICAg ICAgICA4LjM4DQogICAgICAgIERaNDctMlAgICAgICAgICAgICA3LjUwICAgICAgICAgIDE2QbLl zbcgICAgICAgICAgICAgIDMuMTkNCiDWuMq+tcYgQUQxMSAgICAgICAgICDB+MrQIDEuNzUgICAg ICAgICAgMjBBsuXNtyAgICAgICAgICAgICAgMy42Mw0KICAgICAgICBBRDE2ICAgICAgICAgICAg ICAgMS45MiAgICAgICAgICAzMEGy5c23ICAgICAgICAgICAgICA0LjI1DQogILC0xaUgIFkzsLTF pTExICAgICAgICAgICAyLjI1ICC158b3suXX+brNys81NTMtMTZBICAgus3Kz8XGIDE1LjYwDQog ICAgICAgIND916oxMVgyICAgICAgICAgICAyLjUwICAgICAgICAgILrNys81NTQtMTZBICAgICAg ICAgIDE3LjIzDQogICAgICAgILT4y/gxMVkyICAgICAgICAgICA1LjEzICAgICAgICAgILrNys81 NTUtMTZBICAgICAgICAgIDE4Ljc1DQogICAgICAgILyxzaMxMVpTICAgICAgICAgICAzLjAwICAg ICAgICAgILrNys8wMDEtMTZBICAgICAgICAgIDguNTANCiAgICAgICAgv9jWxrb+waogICAgICAg ICAgIDMuMDAgICAgICAgICAgvKq647uqwu3O3s/fQTK8qrrjxcYgNS41MQ0KICAgICAgICDG8Lav taXBqiAgICAgICAgICAgMS4zOCAgICAgICAgICC8qrrjMjE3NyAgICAgICAgICAgICA4LjEzDQog ICAgICAgIMbwtq+2/sGqICAgICAgICAgICAxLjY4ICAgICAgICAgILyquuMyMDYwICAgICAgICAg ICAgIDExLjEzDQogtee7sM/kICAgICAgICAgICAgICAgsqnCoSAxNC4zOCAgICAgICAgILyquuMy MDYwzuXD1yAgICAgICAgIDE1LjI1DQogtefK08/kICAgICAgICAgICAgICAgICAgICAxMy4xMyAg ICAgICAgILyquuMyMTk5ICAgICAgICAgICAgIDEyLjUxDQogtq/Bps/kIDMwMCo0MDAgICAgICAg ICAgICAyOC43NSAgICAgICAgILyquuMyMTk5zuXD1yAgICAgICAgIDE2LjUwDQogICAgICAgIDQw MCo1MDAgICAgICAgICAgICA0Ni4yNSAgICAgICAgILyquuMyMTIyICAgICAgICAgICAgIDE0LjAw DQogteex7c/kIMP3z+Qxu6c2u9jCtyAgICAgICAyNy41MCAgICAgICAgILyquuMyMDYgICAgICAg ICAgICAgIDYuNzUNCiAgICAgICAgsLXP5DG7pza72MK3ICAgICAgIDI3LjYwICAgICAgICAgvKq6 4zIwNyAgICAgICAgICAgICAgOC43NQ0KICAgICAgICDD98/kMrunMTC72MK3ICAgICAgNDAuMDAg ICAgICAgICC8qrrjMjA3y8TD18/fICAgICAgICAxMS4wMA0KICAgICAgICCwtc/kMrunMTC72MK3 ICAgICAgMzkuNjAgICAgICAgICC8qrrjMjA4ICAgICAgICAgICAgICAxMC4wMA0KxeS158P3z+Q0 zrsgICAgICAgICAgICAgICAgNi41MCAgICAgICAgICC8qrrjMjA4zuXD18/fICAgICAgICAxMi41 MA0KICAgICAgICA2zrsgICAgICAgICAgICAgICAgOS4wMCAgICAgICAgICC8qrrjMjA5ICAgICAg ICAgICAgICAxMS4yNQ0KICAgICAgICA4zrsgICAgICAgICAgICAgICAgMTEuMjUgICAgICAgICC8 qrrjMjEzMyAgICAgICAgICAgICAxMS4yNg0KICAgICAgICAxMM67ICAgICAgICAgICAgICAgMTMu NzUgICAgICAgICC8qrrjMjEzOCAgICAgICAgICAgICAxMy4xMw0KICAgICAgICAxMs67ICAgICAg ICAgICAgICAgMTYuMjUgICAgICAgICC8qrrjMDI3ICAgICAgICAgICAgICA2LjEwDQq2z8K3xvcN CiAyxqUgICAgICAgICAgICAgICAgNC4zOCAgICAgICAgICC8qrrjODIzICAgICAgICAgICAgICA2 LjI2DQogICAgICAgIDTGpSAgICAgICAgICAgICAgICA1LjI1ICAgICAgICAgILyquuO7qsLtMTAx ICAgICAgICAgIDEwLjAxDQogICAgICAgIDbGpSAgICAgICAgICAgICAgICA3Ljc1ICAgICAgICAg ILyquuM2MDcgICAgICAgICAgICAgIDkuMDANCiAgICAgICAgOMalICAgICAgICAgICAgICAgIDEw LjAwICAgICAgICAgvKq647uqwu0xMDUtNsPXICAgICAgMTIuMzENCiAgICAgICAgMTDGpSAgICAg ICAgICAgICAgIDEyLjUwICAgICAgICAgvfHM7M7lv9cgICAgICC98czsxcYgMS4wMA0KICAgICAg ICAxMsalICAgICAgICAgICAgICAgMTUuMDAgICAgICAgICC98czsxt+/1yAgICAgICAgICAgICAx LjEzDQq3wMuuvbrGpLb+suXNtyAgICAgICAg1fG7qiAwLjk4ICAgICAgICAgIL3xzOy+xb/XICAg ICAgICAgICAgIDEuMzINCiAgICAgICAgyP2y5c23ICAgICAgICAgICAgIDEuMjUgICAgICAgICAg vfHM7Mqutv6/1yAgICAgICAgICAgMS42Mw0Ktv7Nt7LlzbcxMEGjqLmrxaOjqSAguavFo8XGMS42 OCAgICAgICAgICDEvs7GvsW/1yAgICAgILqjuujFxiAxLjg4DQogICAgICAgILe9suUxMEGjqLmr xaOjqSAgICAxLjg4ICAgICAgICAgIMS+zsbKrrb+v9cgICAgICAgICAgIDIuMTMNCiAgICAgICAg taXTwyAgICAgICAgICDApNDLIDAuMzggICAgICAgICAgtv6/1zEwQaOo08WjqSC8qrrjxcYgMC43 OQ0KICAgICAgICDEvs7GICAgICAgICAgIL3gusYgMC40MCAgICAgICAgICDI/b/XMTBBo6jTxaOp ICAgICAgICAwLjg5DQogICAgICAgIMG908OjqNPFo6kgICDUo7fhxcYwLjI0ICAgICAgICAgIERY LTIwMTFLKLT4tcYgtqvQxcXGIDIuODgNCsj9zbey5c23MTBBo6i5q8Wjo6kgILmrxaPFxjIuNzUg ICAgICAgICAgus3KzzEwOSi98MX0KSC6zcrPxcYgNC4yNQ0KICAgICAgICAxMEHTxaOpICAgICAg ICAgICAgMC40OCAgICAgICAgICC2q9DFvsW/1zgwMyAgICAgICAgICAxLjk3DQogICAgICAgIDEw QSjTxbb+o6k4MjHI8MP3xcYwLjkyICAgICAgICAgILT4z9/O5b/XICAgICAgICAgICAgIDIuNzUN CiAgICAgICAgMTZBICg4MjEzKSAgICAgICAgIDEuMTYgICAgICAgICAgyPDD90FTLTkwMijAvCAg yPDD9yAgMi4zMQ0K1aK1tr+qudi1pc/gMTBBICAgICAgsqnCocXGNC4yNSAgICAgICAgICC12M3P xt+/1zE2QbDXICC66rTvICAxLjA2DQogICAgICAgILWlz+AxNUEgICAgICAgICAgICA1LjAwICAg ICAgICAgILTJtdjNzyAgICAgICAgILnjtqsgIDIuMDcNCiAgICAgICAgtaXP4DMwQSAgICAgICAg ICAgIDYuODggICAgICAgICAgyq6/18/wxqS12M3PMTYg08C8ryAgMy44OA0KICAgICAgICC1pc/g NjBBICAgICAgICAgICAgMTMuNTAgICAgICAgICCx5LLlICAgICAgICAgICAgICAgICAxLjM4DQog ICAgICAgIMj9z+AxNUEgICAgICAgICAgICA4LjUwICC5q8WjsuXX+UdOMTAzRC0xLjhNICAguavF o8XGIDIwLjE2DQq5q8WjsuXX+UdONjA3LTEuOE0gICC5q8WjxcYxNS4yNCAgICAgICAgIEdOMTA5 Sy0zTSAgICAgICAgICAgIDMwLjM2DQogICAgICAgIEdONjA4LTZNICAgICAgICAgICAzMC4zNiAg ICAgICAgIEdONjA2LTEuOE0gICAgICAgICAgIDEzLjkyDQogICAgICAgIEdONjA5LTNNICAgICAg ICAgICAyMy4xNiC66NHjtPOw5curwaogICAgICAgICAgILro0eMgIDYuOTYNCiAgICAgICAgR04y MTItM00gICAgICAgICAgIDIzLjY0ICAgICAgICAgyP3BqiAgICAgICAgICAgICAgICAgOS42Mw0K ICAgICAgICBHTjYwMi0zTSAgICAgICAgICAgMzIuNDUguujR47+qudi1pcGqICAgICAgICAgICAg ICAgICAyLjk4DQogICAgICAgIEdONjAxLTEuOE0gICAgICAgICAyNC4xMyAgICAgICAgIMurwaog ICAgICAgICAgICAgICAgIDUuMDANCiAgICAgICAgMjA2LTEuOE0gICAgICAgICAgIDMxLjkwICAg ICAgICAgyP3BqiAgICAgICAgICAgICAgICAgNy4xMA0KICAgICAgICBHTjQwMVctMS44TSAgICAg ICAgMTguODQgICAgICAgICDI/b/XICAgICAgICAgICAgICAgICA0LjA1DQogICAgICAgIEdONDAx Vy00TSAgICAgICAgICAyNy40OCAgICAgICAgIL/VtfcgICAgICAgICAgICAgICAgIDQuNzgNCiAg ICAgICAgNDAyLTEuOE0gICAgICAgICAgIDI0LjcyICAgICAgICAgzuW/17T4sLLIq8PFICAgICAg ICAgNS42MQ0KICAgICAgICBHTjIwNi0zTSAgICAgICAgICAgMzQuNTEgICAgICAgICDI/byrtPi9 07XYICAgICAgICAgICA3LjAzDQogICAgICAgIDQwNkQtMS44TSAgICAgICAgICAyNy43MiAgICAg ICAgILXnu7AgICAgICAgICAgICAgICAgIDcuMDMNCiAgICAgICAgR04zMDEtMk0gICAgICAgICAg IDE4LjI2ICAgICAgICAgtefK0yAgICAgICAgICAgICAgICAgOS41MA0KICAgICAgICBHTjMwMS00 TSAgICAgICAgICAgMjYuOTAgICAgICAgICDN+MLnICAgICAgICAgICAgICAgICA1LjI5DQogICAg ICAgIEdONDAxLc7ez98gICAgICAgICA5LjcyICC6wLmsMTE4IEhHMDIwtefX08q9vdrE3L+qudij qDIwLjAwDQogICAgICAgIEdONDAzLTJNICAgICAgICAgICAyOS4zOCAgICAgICAgIEhHMDIxs6Sw 5dOrueLI/c67ICAgIDQuMDgNCiAgICAgICAgR040MDdXzt7P3yAgICAgICAgIDEzLjU2ICAgICAg ICAgSEcwMjWzpLDl06u54svEzrsgICAgNS4xMw0KICAgICAgICBHTjQwN1ctMk0gICAgICAgICAg MjAuNTkgICAgICAgICBIRzAyMrOksOXTq7nitv7Ou8j9v9c0LjA4DQogICAgICAgIEdONDA3V6Gq NMPXICAgICAgICAyOS4yNyAgICAgICAgIEhHTzIzs6Sw5dOrueLSu867wfm/1zQuMDgNCrXPt+Gy 5df5ICAgICBCMDIgICAgILXPt+HFxjIwLjc1ICAgICAgICAgSEcwMjezpLDl06u54rb+zrvB+b/X NS4xMw0KICAgICAgICAgICAgIEIwMyAgICAgICAgICAgMjMuODggICAgICAgICBIRzAyNLOksOW+ xb/XICAgICAgICA0LjA4DQogICAgICAgICAgICAgOTE0ICAgICAgICAgICAxNS4wMCAgICAgICAg IEhHMDEys6Sw5dK7ytPSu7uwICAgIDQuMjANCiAgICAgICAgICAgICA5MTUgICAgICAgICAgIDE2 Ljc1ICAgICAgICAgSEcwMTOzpLDltefK08j9v9cgICAgNC4yMA0KICAgICAgICAgICAgIDkwMSAg ICAgICAgICAgMTEuNTAgICAgICAgICBIRzAxNLOksOW157uwyP2/1yAgICA0LjIwDQogICAgICAg ICAgICAgOTAyICAgICAgICAgICAxMS41MCC6wLmstPOw5dK7zrsgICAgICAgICAgusC5rMXGDQox Ljc4DQogICAgICAgICAgICAgOTAzICAgICAgICAgICAxMi41MCAgICAgICAgILb+zrsgICAgICAg ICAgICAgICAgIDIuNDMNCiAgICAgICAgICAgICA5MDQgICAgICAgICAgIDEyLjUwICAgICAgICAg yP3OuyAgICAgICAgICAgICAgICAgMy4wOQ0KICAgICAgICAgICAgIDcxMSAgICAgICAgICAgMTQu NjMgICAgICAgICDSu867zuW/1yAgICAgICAgICAgICAyLjk1DQogICAgICAgICAgICAgNzEyICAg ICAgICAgICAxNi4xMyAgICAgICAgINK7zru2/r/XICAgICAgICAgICAgIDIuNDMNCiAgICAgICAg ICAgIFhQMTAgICAgICAgICAgIDQxLjI1ICAgICAgICAgtv7Ou7b+v9cgICAgICAgICAgICAgMy4w OQ0KICAgICAgICAgICAgv9W19yAgICAgICAgICAgMTEuMDAgICAgICAgICDO5b/XICAgICAgICAg ICAgICAgICAyLjMwDQogINSqzKggIMvcwc8gICAgICAgICAgICAgICAwLjIwICAgICAgICAgILXn u7AgICAgICAgICAgICAgICAgIDIuMzYNCsn5ueK/2LXGv9ogICAgICAgICAgILPJtrzRxzMuMTMg ICAgICAgICAgtefK0yAgICAgICAgICAgICAgICAgMi4zNg0KINf5tca/2iCjqNb50L7KvaOpICAg ILKpwqEgMC43OSAgusC5rL+qudjSu867ICAgICAgICAgILrAuazFxg0KMS4wOQ0KICAgICAgICDL 3MHPICAgICAgICAgINL4wfogMC40OCAgICAgICAgICC2/s67ICAgICAgICAgICAgICAgICAxLjcw DQogICAgICAgIMvcwc+jqLTzo6kgICAgsqnCoSAwLjY4ICAgICAgICAgIMj9zrsgICAgICAgICAg ICAgICAgIDIuMzQNCiAgICAgICAgzNW0ySAgICAgICAgICAgICAgIDAuNjAgICAgICAgICAgy8TO uyAgICAgICAgICAgICAgICAgMi45OQ0KICAgICAgICC807rxICAgICAgICAgvKq6xsXGMC42MiAg ICAgICAgICC2/r/XICAgICAgICAgILrAuazFxg0KMS4wOQ0KILX1z9+6zyAgICAgICAgICAgICAg ICAgICAgMC4zNiAgICAgICAgICDI/b/XICAgICAgICAgICAgICAgICAxLjQ5DQrArc/fv6q52KOo utqjqSAgICAgICAgvKq6xiAwLjQzICAgICAgICAgIMj9v9cxNkEgICAgICAgICAgICAgIDEuOTEN CiAgICAgICAgo6iw16OpICAgICAgICDUwcPeIDAuNDggICAgICAgICAgy8S/1yAgICAgICAgICAg ICAgICAgMS43MA0KtLLNt7+qudijqNPFo6kgICAgICAg08C8r8XGMC4zNCAgICAgICAgICDO5b/X ICAgICAgICAgICAgICAgICAxLjkxDQq1xr/awt2/2s2tsNfC3r/ao6jTxSAg1LS3oiAwLjc1ICAg ICAgICAgILfAy67O5b/XKLrAuawpICAgICAgIDEuOTgNCiAgICAgICAgsNfJq6Oo08WjqSAgICC8 qrrGIDAuMzggICAgICAgICAg0rvOu7b+v9cgICAgICAgICAgICAgMS43MA0KICAgICAgICC62smr ICAgICAgICAgICAgICAgMC4zMyAgICAgICAgICDSu867zuW/1yAgICAgICAgICAgICAyLjQ5DQog ICAgICAgILfA0+q1xr/aICAgICAgICAgICAwLjM1ICAgICAgICAgILb+zrvO5b/XICAgICAgICAg ICAgIDMuMTENCiAgICAgICAgtMm3wMuutca/2iAgICAgICAgIDAuNDggICAgICAgICAgtefK0yAg ICAgICAgICAgICAgICAgMS42Nw0KICAgICAgICC2/rLlzbe1xr/aICAgICAgICAgMC43NSAgICAg ICAgICC157uwICAgICAgICAgICAgICAgICAxLjY4DQogICAgICAgILfWu/C19bXGv9ogICAgICAg ICAwLjgxICAgICAgICAgINK7ytPSu7uwICAgICAgICAgICAgIDIuNDENCiAgw8XB5SAgvNLTw6Oo zNrA1jA4MrnjtqsNCiAyLjk1ICAgICAgICAgILXnytOhorXnu7DLq8GqICAgICAgIDIuNDENCiAg ICAgICAgu+HLtbuwMDE0ONDNICAgICAgIDQuOTIgICAgICAgICAgw+aw5SAgICAgICAgICAgICAg ICAgMC42Mw0KICAgICAgICDKrrb+ytfS9MDW0M0gICAgICAgNC45MiAgICAgICAgICC198vZICAg ICAgICAgICAgICAgICAzLjY4DQogICAgICAgILbUvbLQzTA4OTTQzSAgICAgICAxNS45OSAgICAg ICAgIMn5ueK/2CAgICAgICAgICAgICAgIDUuNzUNCiAgICAgICAgtv66z9K7vbvB97Xn19MwMzM4 IDkuODQgICAgICAgICAgtefE1LLl1/kgICAgICAgICAgICAgNC4wMQ0KICAgICAgICC2/rrP0rvS o7/YIDAyODggICAgMTguNDUgusC5rCC/qiC6wLmsusC7qtK7zrsgILrAuazFxg0KMi4xNg0KICAg ICAgICDO3s/f0qO/2DAzODggICAgICAgMTUuNjAgICAgICAgICC6wLmsusC7qrb+zrsgICAgICAg ICAyLjk1DQogICAgICAgIL/JytMgICAgICAgICC6o7XRxcYzMzcuNTAgICAgICAgILrAuay6wLuq yP3OuyAgICAgICAgIDMuNzQNCsKl0+621L2y1rGwtNb3u/ogICAgILqjtdHFxjQwMC4wMCAgICAg ICAgusC5rLrAu6rLxM67ICAgICAgICAgNC41Mw0KwqXT7r/JytO31rv6ICAgICAgICAguqO10cXG MjI1LjAwICAgICAgICC6wLmsusC7qtK7zrvO5b/XICAgICAzLjg4DQq66NHjtPOw5bWlwaogICAg ICAgICAguujR4yA0Ljk1ICAgICAgICAgILrAuay6wLuq0rvOu7b+v9cgICAgIDIuOTUNCrrAuawg v6ogusC5rLrAu6q157uwILrAuazFxjMuMjIgICAgICAgICAgusC5rLrAu6q2/s67tv6/1yAgICAg My43NA0KICAgICAgICC6wLmsusC7qrXnytMgICAgICAgMy4yMiAgICAgICAgICC6wLmsusC7qs7l v9cgICAgICAgICAzLjA5DQogICAgICAgILrAuay6wLuqtefE1CAgICAgICA1LjkxICDI1bnitca8 3LXnuNDLq9anvNyjqLT4IMuztcIgIDI2LjQwDQogICAgICAgILrAuay6wLuqxt+/1yAgICAgICAz Ljg4ICAgICAgICAgIMbwu9TG9yAgICAgICAgICAgICAgIDAuMjgNCiAgICAgICAgusC5rLrAu6q/ 1bX3MTZBICAgIDMuMjEgICAgICAgICAgtfXBtDAuOE2jqDQwzPWjqSAgICAgMTAuMDANCiAgw+aw 5SAgo6i1zbzbo6kgICAgINL4wfrFxjAuMTcgICDV8sH3xvcgMjBXoaIzMFehojQwVyDRx8P3KLPJ My41MA0Ktee7sL3Tz9+6zyAgICAgICAgICAgICAgICAgMC4zMCAgICAgICAgICA0MFe157jQICAg ICAgICDLs7XCICA4LjQwDQogICAgICAgIDExOMvcwc9B0M0gICDLq7eixcYwLjI0ICAgICAgICAg IDMyd7Xn19MgICAgICAgtPPX1Mi7IDQuMDANCiAgICAgICAgMTE4y9zBz0LQzSAgICAgICAgIDAu MzUgICAgICAgICAgMzJ3ICAgICAgICAgICC98Mj9vccgNC40Mw0KICAgICAgICAxMTjL3MHPQ9DN ICAgICAgICAgMC40OCAgICAgICAgICDSu83P0rsgICAgICAgICC/obuqICA0Ljk4DQogILC1us8g IFBWQyjW0LrF1+jIvCnLq7eixcYwLjI0ICAgICAgICAgINK7zc/Su6Oo0cfD9zEzILPJtrwgIDYu MDANCiAgICAgICAgUFZDo6jX6Mi8o6kgICAgICAgIDAuMzAgICAgICAgICAg0rvNz7b+ICAgICAg ICAgICAgICAgNy44OA0KICDD97rPICBQVkOjqNfoyLyjqSAgICAgICAgMC40OCAgICAgICAgICDM +r/H0rvNz9K7o6gwMzGjqSAgICAxMC42Mw0Kv6q52LfAvaajqM24w/ejqSAgICAgICAgICAgMC45 MCAgICAgICAgICDM+r/H0rvNz7b+o6gwMzKjqSAgICAxMi41MA0KICAgICAgICCjqLDXyaujqSAg ICAgICAgICAgMC44NCAgICDMqLXGICBNVC0zMDEgICAgICAgICDLs7XCICAxNy44OA0KICC1xrT4 ICCjqLvGueKjqSAgICAgINTAx78gMzAwLjAwICAgICAgICC80LDlyr0gMTA4LTEwOEIgICAgICA1 LjI1DQogIMfyxd0gIDEwV824w/ehorLKyau66tfWxcYwLjQyICAgICAgICAgIDgwMy0yMDggICAg ICAgICAgICAgIDcuNTYNCrXGxd0yMjBWMTUvMjUvNDBXICAgICAgICAgIDAuNDUgICAgICAgICAg u6TR27zQsOXKvTgwMi04MDUgICAgOC45MA0KICAgICAgICA2MFcgICAgICAgICAgICAgICAgMC41 MSAgICAgICAgICC7pNHbODAxLTgwMiAgICAgICAgICA5Ljc2DQogICAgICAgIDEwMFcgICAgICAg ICAgICAgICAwLjU4ICDMqLXGtca53Luk0dsxMVejqLb+1esguqPQxcXGIDEuNzENCiAgICAgICAg MTUwVyAgICAgICAgICAgICAgIDAuODYgICAgICAgICAgu6TR2zExV6Ooy8TV66OpICAgICAgMy42 MA0KICAgICAgICAyMDBXICAgICAgICAguurX1sXGMC45MyAgICAgICAgICC7pNHbMjdXo6jLxMXF y8S3vdXro6k2Ljg4DQq1xsXdMzZ2IDQwdyAgICAgICAgICAgICAgICAwLjU0ICAgICAgICAgICAg ICAgIDhXICAgICAgICAgICAgIDEuNDQNCiAgICAgICAgNjB3ICAgICAgICAgICAgICAgIDAuNjAg IMLtwrfN5LXG0KHN5LjLICAgICAgICAgICAgICAgNC4wMA0KICAgICAgICAxMDB3ICAgICAgICAg ICAgICAgMC42NiAgICAgICAgICC0883kuMsgICAgICAgICAgICAgICA2LjAwDQrXsMrOtcbF3cSl ybOhos24w/cvMTW66tfWxcYwLjY4ICDI/c2ot8DLrjMwMFg1MLXG1dYgICAgICAgICAgIDIuNzUN CsLd0P292sTcMTFXoaIxM1ehojE1V8brwrPD9zYuMTAgICAgICAgICAgMzUwWDUwtcbV1iAgICAg ICAgICAgNC4wMA0KICAgICAgICAyNFehojI2V6GiMjhXICAgICAgOC4xMyAgICAgICAgICAzNTBY NzC1xtXWICAgICAgICAgICA0LjAwDQrR9LniyP27+cj9VTE1V6GiMjBXICAg0fS54iAxMS4zMyAg ICAgICAgINChzbcgICAgICAgICAgICAgICAgIDIuMDYNCrrq19a92sTcy6tVNS83LzkvMTMvMbrq 19bFxjMuMTIgICAgICAgICAgtPPNtyAgICAgICAgICAgICAgICAgNC41MA0KICAgICAgICDI/VUy OC8zMC8zMlcgICAgICAgNi42MCAgIM78tqW1xiDQoSAgICAgICAgICAgINHHv8vBpiAxMy43NQ0K yP3Qx73axNzLq1U1LzcvOS8xMy8xyP3Qx8XGMy40MiAgICAgICAgICDW0CAgICAgICAgICAgICAg ICAgICAyMC4wMA0KICAgICAgICDI/VUzMFcgICAgICAgICAgICAgNy40MyAgICAgICAgICC08yAg ICAgICAgICAgICAgICAgICAyNS42Mw0KIL3axNy1xiA0VTU1VyAgICAgICAgxuvCs8P3MTguNzUg ICAgICAgICC086OoNDBXo6kgICAgICAgICAgICAzMS44OA0KICAgICAgICA0VTY1VyAgICAgICAg ICAgICAgMjAuMDAgICAgICAgICAyNTIxsNfJqyAgICAgICAgICAgICA0LjAwDQogICAgICAgIMj9 u/nJqzRVMzVXICAgICAgICAxMS44OCAgICAgICAgIDI1MjHu0cCty78gICAgICAgICAgIDQuMjUN CiAgICAgICAgyP27+cmrNFU0NVcgICAgICAgIDExLjg4ICAgzbK1xiAgMjUyMb3wwK3LvyAgICAg ICAgICAgNC4yNQ0KICAgICAgICDI/bv5yavUssfyyr0yuurX1sXGMTEuNDAgICAgICAgICAzMDIx sNfJqyAgICAgICAgICAgICA1LjI1DQogMkS1xrncIDIxV8j9u/nJqyAgICAgICAgICAzLjAwICAg ICAgICAgIDMwMjHu0cCty78gICAgICAgICAgIDUuNTANCiAgICAgICAgMzhXyP27+cmrICAgICAg ICAgIDQuMjUgICAgICAgICAgMzAyMb3wwK3LvyAgICAgICAgICAgNS41MA0K1LLFzL3axNy1xtXW MTZXICAgICAgIMCz0fQgMi4xNiAgICDJ5LXGICDX+cq9ODAx7tHArcu/ICAgICAgICA2LjM4DQog ICAgICAgICAgICAgICAgIDI4VyAgICAgICAzLjg0ICAgICAgICAgINf5yr04MDHJs73wICAgICAg ICAgIDYuMzgNCiAgICAgICAgtca53DE2VyAgICAgILqj0MXFxjEuNzggICAgICAgICAg1/nKvTgw Mcmz0vggICAgICAgICAgNi4zOA0KICAgICAgICC1xrncMjhXICAgICAguqPQxcXGMi42NCAgICAg ICAgICA3MjEzwK298CAgICAgICDD+8XJICAzLjAwDQogICAgICAgILXGv9oxNlcgICAgICC98Mj9 vcczLjEyICAgICAgICAgIDcyMTOyu9DiuNYgICAgICAgICAgIDMuNTANCiAgICAgICAgICAgICAg ICAgMjhXICAgICAgIDQuNTAgICAgICAgICAgtcaxrSAgICAgICAgICAgICAgICAgMS4wNg0K1LLQ zrXGudwzMlcgICAgICAgICAgINXjva0gNS4wNCAgICAgICAgICCx5NG5xvcgICAgICAgICAgICAg ICAzLjc1DQogICAgICAgIDMyd6Ooz7i/2qOpICDUo9H0xcYyLjU4ICAgICAgICAgILXGxd0gICAg ICAgICAgICAgICAgIDAuNjMNCiAgICAgICAgyP27+cmrMzJ3KM+4v9opICAgIDMuNTAgICAgua+1 xiAgMTI1VyAgICAgICAgICC66tfWxcYgNC4yNw0KICAgICAgICAyOFcgICAgICAgICAg1KPR9MXG Mi41OCAgICAgICAgICAxNjBXICAgICAgICAgICAgICAgICA0LjMwDQogICAgICAgIDIyV8+4ICAg ICAgICAgICAgICAyLjUwICAgICAgICAgIDI1MFcgICAgICAgICAgICAgICAgIDguMDUNCiAgICAg ICAgMzJXICAgICAgICAgILfJwPvG1jE1LjAwICAgICAgICAgNDUwVyAgICAgICAgICAgICAgICAg MTEuNTINCiAgICAgICAgNDBXICAgICAgICAgILzN1MbI2SA4LjM4ICC14s7ZtcYgvNwxMDAwVyAg ICAgICDBrNTGuNsgMS44OA0KyNW54rXGudwyMFcgICAgICAgICAguqO5pMXGMi4xNiAgICAgICAg ICC53DEwMDBXo6jTxaOpICAgICAgICAxLjEzDQogICAgICAgIDMwVyAgICAgICAgICAgICAgICAy LjQwICDHv8GmzL3V1cPUssogICAgICAgICAgv7W1x7GmIDUxLjI1DQogICAgICAgIDQwVyAgICAg ICAgICAgICAgICAyLjY0ICAgICAgICAgIKOoutrJq6OpICAgICAgICAgICAgIDQwLjAwDQogICAg ICAgIDIwV6Oot/DJvaOpICC38Mm9xcYzLjAxICDMvdXVtca1xjE1V6GiMjVXICAgICAgICAgICAg IDEuMjUNCiAgICAgICAgMzBXo6i38Mm9o6kgICAgICAgIDMuMTQgIM/7t8DTpryxtcYgICAgICAg ICAgICCw2cD7sLIgNDMuNzUNCiAgICAgICAgNDBXo6i38Mm9o6kgICAgICAgIDMuMjYgICCz5LXn tcYgu6LNt++utecgICAgICAgICAgICAgOC40MA0KICAgICAgICA0MFejqLfJwPvG1qOpt8nA+8bW IDUuODIgICAgICAgICDMqbjqtvtMRUQ5ODggIMypuOq2+yAyMS4yNQ0KyNW54rXGvNwyMFcgICAg ICAgICAgILPJtrwgNS4xMyAgICAgICAgICDMqbjqtvs2MDA4ICAgICAgICAgICAyOS42Mw0KICAg ICAgICAzMFcgICAgICAgICAgICAgICAgNS41MCAgICAgICAgICC2t8WjzfU4ViAgICAgILa3xaPN 9SA1My43NQ0KICAgICAgICA0MFcgICAgICAgICAgICAgICAgNS44OCAgICC157PYICDLq8K5MSAg ICAgICAgIMurwrnFxiAxLjYyDQogICAgICAgIDQwV6Ooy6u53KOpICAgy7O1wiAxOC4xMyAgICAg ICAgIMurwrkyICAgICAgICAgICAgICAgIDEuNDANCiAgICAgICAgtee40LWl1qe83KOotPjV1qOp IDE2LjIwICAgICAgICAgy6vCuTWhojcgICAgICAgICAgICAgMS43NA0KIMrWtefNsiCz5LXnyta1 58q9KLTzusUpICAgMjAuMzggIMrWtefNsiBMRUTHv7niMaOjMr3aICAgICAgICA2LjUwDQq1582y tefW6TIuNVahojMuOFYgICC7os23xcYwLjA2ICAgICAgICAgIExFRMe/ueIxo6MzvdogICAgICAg IDcuMDANCiAgICAgICAgNlahojhWoaIxMlYgICAgICAgIDAuMTIgICAgICAgICAgzPq/xzEiMr3a ICAgICD2+dPjxcYgMi42NA0KINbpueLV1iAxMrTnICAgICAgICAgICAgICAgNi4yNCAgICAgICAg ICAgICAgICAgIDEiMr3aILuizbfFxiA0LjI1DQogICAgICAgIDE0tOcgICAgICAgICAgICAgICA2 Ljg4ICAgICAgICAgICAgICAgICAgMSIzvdog9vnT48XGIDMuODUNCiAgtcbNtyAgRTI3ICAgICAg ICAgICAgICAgIDMuNzUgICAgICAgICAgs+S158rWtefKvSi4ySAg0cW48SAgNi42Mw0KICAgICAg ICBFNDAgICAgICAgICAgICAgICAgNS4wMCAgzazW4bXnwMK0+L3TzbcxLjVNICAgICAgICAgICAx LjYzDQogtee5pLD8ICAgICAgICAgICAgICAgICAgICA0LjYzICAgICAgICAgICAgICAgICAgICAg ICAyTSAgICAgIDIuMDMNCiAgICAgICAgt6uyvCAgICAgICAgICAgICAgIDUuNTAgICAgICAgICAg ICAgICAgICAgICAgIDNNICAgICAgMi44Nw0Kvbqx+tDQtcYgICAgICAgICAgICAgICAgICAgMS41 MCAgICAgICAgICAgICAgICAgICAgICAgNU0gICAgICA0LjUwDQogICAgICAgIDXD18/fICAgICAg ICAgICAgICA2LjUwICAgICAgICAgICAgICAgICAgICAgICAxME0gICAgIDguNTcNCiAgICAgICAg MTDD18/fICAgICAgICAgICAgICA3Ljc1IMLB0L67pMzXMi41xr23vaOoseqjqSAgwMi3uyAgNzEu MTMNCsvE08O157mktbYgICAgICAgICAgIL3w0rbFxjIuNTYgICAgICAgICAgNMa9t72jqLHqo6kg ICAgICAgICAgODkuMzgNCiCy4rXnscogMDEyscrQzSAgICAgICAgICAgIDAuNjkgICAgICAgICAg Nsa9t72jqLHqo6kgICAgICAgICAgMTI4Ljc1DQogICAgICAgIDk2OCAgICAgICAgICAgMjY4ICAw LjU0ICC7pMzXz98gIDEuNca9t70gICAgICAgwMi3uyAgIDE3NS4wMA0KICAgICAgICAzMDEgICAg ICAgICAgILXHw/cgMC42MCAgICAgICAgICAxLjXGvbe9o6ix6qOpICAgICAgICAyMzcuNDANCiAg ICAgICAgyv3X1tDNICAgICAgINX9xbWjqDEuNDggICAgICAgICAgMi41xr23vSAgICAgICAgICAg ICAgMTc1LjAwDQogtefA08z6IDMwV6OovfC678XGo6m98LrvxcY1LjYzICAgICAgICAgIDIuNca9 t72jqLHq17yjqSAgICAgIDMyNi41Nw0KICAgICAgICA1MFejqL3wuu/FxqOpICAgICAgNi44OCAg ICAgICAgICA0xr23vaOoseqjqSAgICAgICAgICA0NzYuNzUNCiAgICAgICAgMTAwV6OovfC678XG o6kgICAgIDExLjI2ICAgICAgICAgNMa9t72jqLTWo6kgICAgICAgICAgMzczLjEzDQogICAgICAg IDIwMFejqL3wuu/FxqOpICAgICAyMi41MCDI7bukzNfP3zJ4MC43Nca9t70gICAgIMDIt7sgIDEw My4zMg0KICAgICAgICDO/M79sPSjqL3wuu/FxqOpICAgNS4zOCAgICAgICAgICAyeDHGvbe9ICAg ICAgICAgICAgICAxMDcuMTkNCiAgICAgICAgytbHucq9o6i98LrvxcajqSAgIDMyLjU1ICAgICAg ICAgMngxLjXGvbe9o6ix6te8o6kgICAgMTc0LjM1DQogICAgICAgIDMwV7OkytnD/CAgICAgICAg ICA1LjYzICAgICAgICAgIDJ4Mi41xr23vaOoserXvKOpICAgIDQwOC43NQ0KICAgICAgICA1MFez pMrZw/wgICAgICAgICAgNi44OCAgICAgICAgICAzeDHGvbe9o6ix6te8o6kgICAgICAyMzUuNzAN CiC6uM79zPUgNTAwv8sgIDYzQSAgICAgICAgIDExLjg4ICAgICAgICAgM3gxLjXGvbe9o6ix6te8 o6kgICAgMzIyLjg5DQogICAgICAgIDUwML/Lo6jTxaOpIDk5QSAgICAzMC4wMCAgICAgICAgIDN4 Mi41xr23vaOoserXvKOpICAgIDQ1Mi45Ng0KurjO/cu/KCAwLjNrZyAgICAgICAgy8nP48XGNy41 MCAgvbrWys/fy6szMsu/ICAgICAgICAgICDAyLe7ICA1MC4zNw0KICAgICAgICAwLjRrZyAgICAg ICAgICAgICAgMTAuNjMgICAgICAgICA0OMu/p+YxLjMgICAgICAgICAgICA3My42MQ0KICAgICAg ICAwLjRrZ6OoU042M0EgIL/GttwgMjEuMjUgICAgICAgICA0OMu/p+YxLjUgICAgICAgICAgICAx MTkuMjENCiC6uM79uOAgICAgICAgICAgICAgICAgICAgIDAuNjAgICAgICAgICAgMC41xr23vSAg ICAgICAgICAgICAgOTIuMTQNCiCxo8/Vy78gMTAvMTUvMjBBICAgICAgICAgIDIuMDggICAgICAg ICAgMC43Nca9t70gICAgICAgICAgICAgMTMyLjY0DQrL3MHPtaXP3zEuNca9t72jqLHqo6kgwMi3 uyAxMjIuMjkgICAgICAgIDHGvbe9o6jG1aOpICAgICAgICAgIDc0LjI3DQogICAgICAgIDIuNca9 t72jqLHqo6kgICAgICAxODkuMjEgICAgICAgIDHGvbe9o6ix6te8o6kgICAgICAgIDE2MC44MA0K ICAgICAgICA0xr23vaOoseqjqSAgICAgICAgMjk5LjYzING5z9+y2yAyNXgxNCgyw9cpICAgICAg ICAgICAxLjI1DQogICAgICAgIDbGvbe9o6ix6qOpICAgICAgICA0ODQuNzEgICAgICAgIDMweDE1 KDLD1ykgICAgICAgICAgIDIuMDANCiAgICAgICAgMS41xr23vSAgICAgICAgICAgIDg3LjE4ICAg ICAgICAgNDB4MTkoMsPXKSAgICAgICAgICAgMi4zMg0KICAgICAgICAyLjXGvbe9ICAgICAgICAg ICAgMTE2LjI0vfDK9LXnz9+jqLD8y9yn5jE2IKOpNTDD1yAgICA0Mi41MA0KICAgICAgICA0xr23 vSAgICAgICAgICAgICAgMTkwLjMyICAgICAgICCjqLD8y9yn5jIwo6kgICAgICAgICA1Ni4yNQ0K ICAgICAgICA2xr23vSAgICAgICAgICAgICAgMjk4LjY2ICAgICAgICCn5jE2KDYww9cpICAgICAg ICAgICA0MC44MA0KINL0z+zP3yA0MNC+o6g3NcPXo6kgICAgICAgNDguODAgICAgICAgICC90823 ICAgICAgICAgICAgICAgICAwLjIxDQogzfjC58/fIKOoMjAww9ejqSAgICAgsLLG1SAxOTMuNzUg u8bAr7ncIKfmNiAgICAgICAgICAgICAgICAgIDAuMjkNCiAgICAgICAgMzA1w9ejqLOszuXA4KOp ICAgIDQyMC4wMCAgICAgICAgp+Y4ICAgICAgICAgICAgICAgICAgMC4zNQ0KIMa90NDP3yCjqMbV o6kgICAgICAgICAgICAgMzguMTQgICAgICAgICCn5jEwICAgICAgICAgICAgICAgICAwLjUwDQog ICAgICAgIDAuNca9t72jqLHqo6kgICAgICA2My45NiAgyMjL9bncIKfmNCAgICAgICAgICAgICAg ICAgIDU3LjUwDQogtee7sM/fILb+0L7K0sTaICAgICAgICAgICAxNy45MyAgICAgICAgIKfmOCAg ICAgICAgICAgICAgICAgIDQwLjAwDQogICAgICAgIMvE0L7K0sTaICAgICAgICAgICAzMy41NSDL 3MHPtKnP36fmMTYoMTXD1ykgICAgICAgICAgIDUuMDANCiAgICAgICAgytLN4iAgICAgICAgICAg ICAgIDE5LjY4ICAgICAgICAgp+YyMCgxNcPXKSAgICAgICAgICAgNy41MA0Ktee7sLPJ0M0xME0g ICAgICAgICAgICAgICAgMS4wMCAgvdPP37bL19MxNsa9t70gICAgICAgICAgICAgICAxLjYwDQog ICAgICAgIDhNICAgICAgICAgICAgICAgICAwLjY2ICAgICAgICAgIDI1xr23vSAgICAgICAgICAg ICAgIDIuMDANCiAgICAgICAgNU0gICAgICAgICAgICAgICAgIDAuNjMgICAgICAgICAgMzXGvbe9 ICAgICAgICAgICAgICAgMi41MA0KICAgICAgICAzTSAgICAgICAgICAgICAgICAgMC4zOCAgv6q/ 2r3Tz980MEEgICAgICAgICAgICAgICAgICAwLjM4DQogICAgICAgIDJNICAgICAgICAgICAgICAg ICAwLjI2ICAgICAgICAgIDYwQSAgICAgICAgICAgICAgICAgIDAuNTANCiC3wMuuz98gMs/gMS41 xr23vSAgICAgICAgIDE0My43NSAgICAgICAgMTAwQSAgICAgICAgICAgICAgICAgMC43OA0KICAg ICAgICAyz+AyLjXGvbe9ICAgICAgICAgMjAyLjk1tefP37+otqQ1IyAgICAgICAgICAgIMurt6LF xiAwLjc1DQogICAgICAgIDPP4DIuNca9t70gICAgICAgICAzMTMuNjUgICAgICAgIDYjICAgICAg ICAgICAgICAgICAgIDAuNzUNCs2s1uG158DCtefK09PDo6jG1c2oo6kgICAgIDQ3Ljk3ICAgICAg ICAgNyMgICAgICAgICAgICAgICAgICAgMC43NQ0KICAgICAgICAgICAgICAgICAgICAgIKOo08Ug NTcuODEgICAgICAgICA4IyAgICAgICAgICAgICAgICAgICAwLjc1DQogICAgICAgICAgICAgIKOo za3Lv834o6kgICA2NS4wMCAgICAgICAgIDkjICAgICAgICAgICAgICAgICAgIDAuNzUNCiAgICAg ICAgICAgICCjqMurzfijqSAgICAgIDg3LjUwICAgICAgICAgMTAjICAgICAgICAgICAgICAgICAg Ny41MA0Ktee3ubn4z9+horXnuvjP36Gi7NkgutOxsc7EMy45MCAgICAgICAgICAxMiMgICAgICAg ICAgICAgICAgICA3LjUwDQogyMi1w7/sIKOo0rujqSAgICAgICC607GxuuMyLjk0ICAgICAgICAg IDE2IyAgICAgICAgICAgICAgICAgIDcuNTANCiAgICAgICAgo6i2/qOpuN+1tSAgICAgICAgIDMu MDAgICAgICAgICAgMjAjICAgICAgICAgICAgICAgICAgNy41MA0KICAgICAgICCjqNfUtq+2z7Xn o6kgICAgICAgNS4wMCAgICAgICAgICAyNSMgICAgICAgICAgICAgICAgICA3LjUwDQogICAgICAg IKOov9qxrdPDo6kgICAgICAgICAxLjEzICCwssir0bnP3zUjICAgICAgICAgICAgINXjva0gIDM1 LjAwDQq157q4w+bV1r61xqwozbjD96OpICAgICAgICAwLjA2ICAgICAgICAgIDYjICAgICAgICAg ICAgICAgICAgIDQzLjc1DQogICAgICAgILXnurjR2761ICAgICAgICAgICAwLjY2ICAgICAgICAg IDgjICAgICAgICAgICAgICAgICAgIDQxLjI1DQogICAgICAgILT4vrXGrKOoutrJqyAgvfDIqiAx Ljk1ICAgwdzUobenIKOoODYwNKOpICAgICAgIMTPsLIgIDUwLjAwDQogICAgICAgILT4vrXGrKOo uuzJq6OpICAgICAyLjI1ICDMq9H0xNzLrrenICAgICAgICAgICAgICAgICAgIDMzLjEzDQogICAg ICAgIL61xqwgICAgICAgICAgICAgICAwLjE1ICC087HjvcXMpLenICAgICAgICAgICAgICAgICAg IDQzLjc1DQogICAgICAgIM23v/jKvaOoutqjqSAgICAgICA1LjAwICDLxM2os+XPtKOo0KGx46Op ICAgICAgICAgICAgIDIwLjYzDQogICAgICAgILbg08O3wLukvrUgICAgICAgICAzLjAwICAgICAg ICAgIKOotPOx46OpICAgICAgICAgICAgIDI1LjAwDQogtee6uMevICAgICAgICAgICAgICDTwLfl xcYxMS41MCAgtdjCqdfTIMzY1sayu9DiuNa12MKpILOx1t0gIDguNzYNCiC157q4zPUgp+YyLjUg ICAyMGtnL7Tzx8XFxjI1LjMwICAgICAgICAgzNjWxrK70OK41rXYwqk0ICAgICAgMTAuNjMNCiAg ICAgICAgp+YzLjIgICAyMGtnL8/kICA1azIzLjAwICDB3NShxvcgxefNtzEwM0O0+rzcICDRxb3g wNYNCjQuMzgNCiC158Kv19MgMTAwMFcgICAgICAgICAgICAgIDQuNTAgICAgICAgICAgxefNtzM3 MDFDtPq83KOo08WjqSAgNS4xMw0KICAgICAgICAxNTAwVyAgICAgICAgICAgICAgNS43NiAgICAg ICAgICDM19ewMzAwN0NIo6i+q9ewo6kgICAxMi4yMA0KICAgICAgICAyMDAwVyAgICAgICAgICAg ICAgNS43NiAgICAgICAgICDM19ewvqvXsKOo0MKjqS1NLTMwNUE4LjEzDQogICAgICAgIDMwMDBX ICAgICAgICAgICAgICA2Ljk2ICAgICAgICAgIMn9vbVILTE0MkOjqE0tODAwQ6OpIDI3LjYwDQog ICAgICAgIDE1MDBXsLwtMjAwMFewvCAgICA2LjQ4ICAgICAgICAgIMXnzbczMDAyQ0ijqNDE0+pB LTI3IDE3LjA4DQogtefCr8u/IDEwMDBXICAgICAgICAgICAgICAwLjUwICAgICAgICAgIMXnzbe8 3EI2MDdDLTgtNiAgICAgIDAuNzINCiAgICAgICAgMTUwMFcgICAgICAgICAgICAgIDAuODEgICAg ICAgICAgxefNt8uuudwxLjVNICAgvfC07yAgNS4xMw0KICAgICAgICAyMDAwVyAgICAgICAgICAg ICAgMC45NCAgICDDusb4ICC89dG5t6cgICAgICAgIMurt6LFxiA1LjU2DQrI/aGiy67Fr7LEwc8g ICAgICAgICAgICAgICAgICAgICAgICAgICAgILz10bm3pzEwMDgtNaOoILTIz6ogIDEyLjYwDQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgILz10bm3pzEwMDgtMqOot9ay 5qOpIDEwLjIwDQrA5MjIwb3Tw7OkvrGyy8XoSzIxODa/tbb7xMk3MS4yNSAgICAgICAgILz10bm3 pzMwOC0yo6i0+LHto6kgIDYuODgNCiAgICAgICAgs6S+sbLLxeijqMbVo6lLMjEyNjU2LjI1ICAg ICAgICAg1tDRubenNTA4LTGjqLfAsayjqSAgMTUuNjMNCiAgICAgICAgwb3Tw7jftbWjqEs5MTAy o6kgIDY4Ljc1ICAgICAgICAg1tDRubz10bm3p6Oo08XLq7eixcYgNy41MA0KICAgICAgICC2/sGq o6hLMjAwMqOpICAgICAgNjAuMDAgICAgICAgICC53DEwa2cgICAgICAgICDB+r/aICA5OS44MA0K ICAgICAgICDI/cGqo6hLMjAwM6OpICAgICAgNjUuMDAgIM+00sK7+iDJz8uuudwgICAgICAgICAg ICAgICAwLjczDQogIMuu1+wgINHr19bFxjEvMiAgICDR69fWxcYzLjYwICAgICAgICAgIM/Cy665 3CAgICAgICAgICAgICAgIDEuMjUNCiAgICAgICAg0evX1sXGMy80ICAgICAgICAgIDUuMTcgIMPm xejPwsuusrvQ4rjWo6g2NWNto6kg0+DSpiAgOC43NQ0KICAgICAgICDTwNDLxcYxLzKhojMv08DQ y8XGMS45OCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLjY2DQogICAgICAgIMXXueLN rcuu1+wxLzIiICAgICA4LjEzICDLrsH6y6653DEvMiKhojMvNCKhojEiIMrZueIgIDkzLjc1DQog ICAgICAgIMXXueLNrcuu1+wzLzQiICAgICA4LjUwICDLrsa9udwxLjYjoaI4I6GiMTAjICAgICAg ICAgIDEyLjgxDQogICAgICAgIMvcwc8xLzIiICAgICAgvfHIqiAwLjc0ICDG+7O1y67HuaOox8mw 78rWo6kgICAgICAgICAgIDEzLjc1DQogICAgICAgIMvcwc8zLzQiICAgICAgICAgICAwLjczICDG +7O1y6653KOoMTDD16OpICAgICAgICAgICAgIDI2LjI1DQogICAgICAgIMvcwc+/7L+qy67X7CDQ wre8xcYxLjc1ICC/1bX3xcXLrrncICAgICAgICAgICAgICAgICAgIDE1LjAwDQogICAgICAgIMvc wc+/7L+qy67X7CDQwre8xcYxLjc1ICAg0fXG+LncIDI5w9cvMTK97yAgICAgICAgICAgIDM2LjI1 DQogICAgICAgIMvcwc+/7L+qy67X7LK7tPi/qDExLjYzICAg0tLIsrncICAgICAgICAgICAgICAg ICAgICAgIDM2LjI1DQogICAgICAgIMvcwc+/7L+qy67X7LK7tPi/qDMxLjYzICAgILfnudwgIDEw w9ejqLDXyau807rxo6kgICAgIDcuNTANCiAgICAgICAgv+y/qrTJy67X7DEvMiC93bTvIDkuMjUg ICDCwcvcudwgMTZtbaOowOShosjIo6m/qsypxcYgMS43MQ0KICAgICAgICAgICAgICAgICAitPi/ qM23MS8yMTAuMDAgICAgICAgICAyMG1to6jA5KGiyMijqSAgICAgICAyLjM1DQogICAgICAgIL/s v6q0ycuu1+wzLzQiICAgICAxMS43NSAgtdjFr7ncIDE2IKOoMTAww9cvz+SjqSAgICAgIDE2OC4w MA0KICAgICAgICAgICAgICAgICAitPi/qM23My80MTIuNTAgICAgICAgICAyMKOoMjAww9cvwKaj qSAgICAgICA0NTYuMDANCiAgICAgICAgv+y/qsDky67X7DEvMiIgICAgIDIuMTMgILK70OK41sjt MzAwbW0gICAgICAgICC98LTvxcYNCjMuMjUNCiAgICAgICAgv+y/qsDky67X7DMvNCIgICAgIDIu MTMgICAgICAgICAgNDAwbW0gICAgICAgICAgICAgICAgMy42OQ0KICAgICAgICC/7L+qtMnLrtfs KLS/9s7UtMXGOC43NSAgICAgICAgICA1MDBtbSAgICAgICAgICAgICAgICA0LjEzDQogICAgICAg ICAgICAgICAgICAgICAgICAgICA5Ljc2ICAgICAgICAgIDYwMG1tICAgICAgICAgICAgICAgIDQu NTYNCiAgICAgICAgw+bF6KOotL/NraOpIMPAvNHFxjkuMDAgICAgICAgICAgNzAwbW0gICAgICAg ICAgICAgICAgNS4wMA0KICAgICAgICCyy8Xoo6i0v82to6kg9s7UtMXGMTguOTEgICAgICAgICA4 MDBtbSAgICAgICAgICAgICAgICA1LjQ0DQogICAgICAgILbszbejqLS/za2jqSCxpsW1xcYxOC4x MiAgICAgICAgIDEwMDBtbSAgICAgICAgICAgICAgIDYuMzENCiAgy66x7SAgufqx6sr919bKvTEv MiC9rbuoIDMyLjUwICDI/b3Ht6cgtL/NrSAgICAgICAgICDMq9OixcYoMTAuMDANCiAgICAgICAg ufqx6sr919bKvTMvNKGwICAgIDQzLjEzICDWsb3Ht6cgtL/NrSAgICAgICAgICDEz7CyICAgMTEu ODgNCiAgICAgICAgyv3X1sq9MS8yobEgICDE/rKoIDE5LjM4ILK70OK41sfyt6cgICAgICAgICAg ICDQwr6pweogNi4zNg0KICAgICAgICDK/dfWyr0zLzShsCAgICAgICAgMjIuNTAgwsHL3LncvP7N rcfyt6cxLzInICAgICAgICAgICA5Ljg4DQogICAgICAgIL3TzbcxLzIiICAgICAgICAgICA2LjE5 ICAgza3H8renIDEvMiIgICAgICAgICAgINXjva0gIDYuODgNCiAgICAgICAgvdPNtzMvNCIgICAg ICAgICAgIDEwLjgwICAgICAgICAgMy80IiAgICAgICAgICAgICAgICAgOS4xMw0KwbPF6Mily66j qNPFo6kgICAgICAgINPg0qYgNi4wMCAgICAgICAgICAgMSIgICAgICAgICAgICAgICAgICAxNS4x Mw0KICAgICAgICAozNfXsCkgICAgICAgICAgICAgNS43NSAgICAgICAgICAxLzIiKMfgvajXvNOq IMvVw/fFxiA4Ljc1DQq92Na5t6coIDE1bW0gICAgICAgICDR69fWxcY1LjAwICAgICAgICAgIDMv NCIox+C9qNe806rWpCkgICAgIDExLjc1DQogICAgICAgIDIwbW0gICAgICAgICAgICAgICA2Ljc3 ICAgza3VorenIDEvMiIgICAgICAgICAgINXjva0gIDguNzUNCiAgICAgICAgMjVtbSAgICAgICAg ICAgICAgIDguNzYgICAgICAgICAgMy80IiAgICAgICAgICAgICAgICAgMTEuODgNCiAgICAgICAg MzJtbSAgICAgICAgICAgICAgIDE1LjYwICAgICAgICAgIDEiICAgICAgICAgICAgICAgICAgMTgu MjUNCiAgICAgICAgNDBtbSAgICAgICAgICAgICAgIDI0LjAwICAgICAgICAgMS8yIijH4L2o17zT qiDL1cP3xcYgMTAuMzgNCiAgtL/NrSAgyP3NqDEvMiAgICAgICDV472tIDMuODggICAgICAgICAg My80IijH4L2o17zTqtakKSAgICAgMTUuMDANCiAgICAgICAgzeTNtzEvMiAgICAgICAgICAgIDMu MTkgICAgICAgICAgMSIox+C9qNe806rWpCnL1cP3xcYgMTkuNzUNCiAgICAgICAgzeK90zEvMiAg ICAgICAgICAgIDIuMjEgIFBQLVK2xtC/UFAtUsTay7/N5M23MjW6q9PuxcYgMi41NQ0KICAgICAg ICDE2r3TMS8yICAgICAgICAgICAgMS41MCAgICAgICAgICBQUC1Stci+tsj9zagyMCAgICAgICAw LjMxDQogICAgICAgILK50MQ2obGx5DShsCAgICAgICAxLjUwICAgICAgICAgIFBQLVK1yL62yP3N qDI1ICAgICAgIDAuNTENCs2tKMLBy9wg1rG908Tay78xLzIiICAgICAgIDQuMzMgICAgICAgICAg UFAtUtLsvrbI/c2oMjUqMjAgICAgMC4zOA0KICAgICAgICDWsb3TxNrLvzMvNCIgICAgICAgNS45 NCAgICAgICAgICBQUC1SzeTNtzIwICAgICAgICAgICAwLjI1DQogICAgICAgINaxvdPN4su/MS8y IiAgICAgICA0LjAzICAgICAgICAgIFBQLVLN5M23MjUgICAgICAgICAgIDAuMzgNCiAgICAgICAg 1rG9083iy78zLzQiICAgICAgIDYuMTkgICAgICAgICAgUFAtUs3iy7/Wsb3TMjAqMTUgICAgMS44 OA0KICAgICAgICDE2tHAzeTNtzEvMiIgICAgICAgNS41MSAgICAgICAgICBQUC1SzeLLv9axvdMy NSoxNSAgICAyLjAwDQogICAgICAgIMTa0cDN5M23My80IiAgICAgICA4LjA1ICAgICAgICAgIFBQ LVLN4su/1rG90zI1KjIwICAgIDIuNjMNCiAgICAgICAgtci+ts3kzbcxLzIiICAgICAgIDUuNzMg ICAgICAgICAgUFAtUs3iy7/N5M23MjAqMTUgICAgMi4wNg0KICAgICAgICC1yL62zeTNtzMvNCIg ICAgICAgOC42OSAgICAgICAgICBQUC1SzeLLv83kzbcyNSoxNSAgICAyLjQ0DQogICAgICAgILT4 1/nE2tHAzeTNtyAgICAgICA3LjExICAgICAgICAgIFBQLVLN4su/zeTNtzI1KjIwICAgIDMuMDYN CiAgICAgICAgxNrRwMj9zagxLzIiICAgICAgIDcuNzQgICAgICAgICAgUFAtUsfyt6cyMCAgICAg ICAgICAgMS4xOQ0KICAgICAgICDE2tHAyP3NqDMvNCIgICAgICAgMTIuMzggICAgICAgICBQUC1S x/K3pzI1ICAgICAgICAgICAxLjc1DQogICAgICAgILXIvrbI/c2oMS8yIiAgICAgICA4LjQyICAg ICAgICAgIFBQLVK92Na5t6cyMCAgICAgICAgIDQuNzUNCiAgICAgICAgtci+tsj9zagzLzQiICAg ICAgIDEzLjAwICAgICAgICAgUFAtUr3Y1rm3pzI1ICAgICAgICAgNi4yNQ0KICAgICAgICDN4tHA zeTNtzEvMiIgICAgICAgNC43MCAgy8ShoruvuaS9urT4DQogICAgICAgIM3i0cDN5M23My80IiAg ICAgICA4LjY2DQogICAgICAgILXIvrbWsb3TMS8yIiAgICAgICA1LjUwICAg19TF58CvICAgICAg ICAgICAgICAgICAgICAgIDQuNTENCrbG0L+53Lz+zeTNtzEvMiIgICAgICC607GxIDAuNTcgICDX 1MXnxuEgzOzAtqGiz8rCzKGiueLXzbKpxusgNS40OQ0KICAgICAgICAgICAgICAgICAgMy80IiAg ICAgMC44NyAgICAgICAgICC67MmroaK7xsmroaLS+LvSoaK62smrDQogICAgICAgICAgICAgICAg IDEiICAgICAgICAxLjM4ICAgICAgICAgILbGuPUgICAgICAgICAgICAgICAgIDcuNTYNCiAgICAg ICAgyP3NqDEvMiIgICAgICAgICAgIDAuODcgICC98Mr0xuEgx+C54r3woaLJwbni0vihor3wyasg NS41MA0KICAgICAgICAgICAgICAgICAzLzQiICAgICAgMS4zNiAgINL4t9vG4SAwLjM1a2cgICAg ICAgIMbrwrPFxiA0Ljg5DQogICAgICAgICAgICAgICAgICAgMSIgICAgICAxLjk4ICAgICAgICAg IDAuNmtnICAgICAgICAgICAgICAgIDcuOTcNCiAgICAgICAgxNq90zEvMiIgICAgICAgICAgIDAu NDYgICAgICAgICAgMmtnICAgICAgICAgICAgICAgICAgMjQuNjQNCiAgICAgICAgICAgICAgICAg My80IiAgICAgIDAuNjMgICAgICAgICAgMTJrZyAgICAgICAgICAgICAgICAgMTQ5LjY2DQogICAg ICAgICAgICAgICAgIDEiICAgICAgICAxLjAwICDTzcbhoaGhoTAuOGtnsNe0xSAgICAgxuvCs8XG IDEyLjExDQogICAgICAgIM3ivdMxLzIiICAgICAgICAgICAwLjUxICAgICAgICAgIDIuN2tnsNe0 xSAgICAgICAgICAgIDM3LjUxDQogICAgICAgICAgICAgICAgIDMvNCIgICAgICAwLjczICAgICAg ICAgIDAuNGtnsNcgICAgICAgICAgICAgIDQuNTANCiAgICAgICAgICAgICAgICAgMSIgICAgICAg IDEuMjEgICAgICAgICAgMC42a2ew1yAgICAgICAgICAgICAgNi4xMg0KICAgICAgICC77r3TMS8y IiAgICAgICAgICAgMS4yOCAgICAgICAgICAyLjNrZ7DXICAgICAgICAgICAgICAxOS44NQ0KICAg ICAgICAgICAgICAgICAzLzQiICAgICAgMS42NCAgICAgICAgICAxNmtnsNcgICAgICAgICAgICAg ICAxMzUuMDANCiAgICAgICAgu+690zEiICAgICAgICAgICAgIDIuMzAgICAgICAgICAgMC40a2fW 0MLMICAgICAgICAgICAgNC42MQ0KICAgICAgICA2seQ0srnQxCAgICAgICAgICAgMC4zNyAgICAg ICAgICAwLjZrZ9bQwswgICAgICAgICAgICA2LjIzDQogICAgICAgIMu/tsIxLzIiICAgICAgICAg ICAwLjIyICAgICAgICAgIDIuM2tn1tDCzCAgICAgICAgICAgIDE5Ljk2DQogICAgICAgIMu/tsIg My80IiAgICAgICAgICAwLjMxICAgICAgICAgIDE3a2fW0MLMICAgICAgICAgICAgIDEzNi42NA0K ICAgICAgICAgICAgICAgICAxIiAgICAgICAgMC40MyAgICAgICAgICAwLjZrZ7TQwswgICAgICAg ICAgICA2LjM1DQpQUC1StsbQv1BQLVLWsbncKMDky666q9PuxcYxMS41MCAgICAgICAgIDIuM2tn tNDCzCAgICAgICAgICAgIDIwLjc2DQogICAgICAgIFBQLVLWsbncKMjIy64pMjUgICAxMy41MCAg ICAgICAgIDE3a2e00MLMICAgICAgICAgICAgIDE0MS4xMg0KICAgICAgICBQUC1S1rG53CjA5Muu KTIwICAgNy40MCAgICAgICAgICAwLjRrZ8zswLYgICAgICAgICAgICA0LjYxDQogICAgICAgIFBQ LVLWsbncKMjIy64pMjAgICA4Ljc1ICAgICAgICAgIDAuNmtnzOzAtiAgICAgICAgICAgIDYuMjMN CiAgICAgICAgUFAtUrXIvrbWsb3TMjAgICAgIDAuMTYgICAgICAgICAgMi4za2fM7MC2ICAgICAg ICAgICAgMjAuMjYNCiAgICAgICAgUFAtUrXIvrbWsb3TMjUgICAgIDAuMjUgICAgICAgICAgMTdr Z8zswLYgICAgICAgICAgICAgMTM3Ljc2DQogICAgICAgIFBQLVLS7L621rG90zI1KjIwICAwLjIx ICAgICAgICAgIDAuNGtntPO67CAgICAgICAgICAgIDUuMDcNCiAgICAgICAgUFAtUsTay7/I/c2o MjAqMTUgIDEuODEgICAgICAgICAgMC42a2e087rsICAgICAgICAgICAgNy4wMw0KICAgICAgICBQ UC1SxNrLv8j9zagyNSoxNSAgMi4xMyAgICAgICAgICAyLjNrZ7TzuuwgICAgICAgICAgICAyMy4z MQ0KICAgICAgICBQUC1SxNrLv8j9zagyNSoyMCAgMi43MCAgICAgICAgICAxN2tntPO67CAgICAg ICAgICAgICAxNjEuMjgNCiAgICAgICAgUFAtUsTay7/Wsb3TMjAqMTUgIDEuMzEgICAgICAgICAg MC40a2fW0LvGICAgICAgICAgICAgNC43Mw0KICAgICAgICBQUC1SxNrLv9axvdMyNSoxNSAgMS41 NiAgICAgICAgICAwLjZrZ9bQu8YgICAgICAgICAgICA2LjQ2DQogICAgICAgIFBQLVLE2su/1rG9 0zI1KjIwICAyLjI1ICAgICAgICAgIDIuM2tn1tC7xiAgICAgICAgICAgIDIxLjExDQogICAgICAg IFBQLVLE2su/zeTNtzIwKjE1ICAxLjY5ICAgICAgICAgIDE3a2fW0LvGICAgICAgICAgICAgIDE0 NS42MA0KICAgICAgICBQUC1SxNrLv83kzbcyNSoxNSAgMS45NCAgICAgICAgICAwLjZrZ8TMu8Yg ICAgICAgICAgICA2LjIzDQrTzcbhoaGhoTIuM2tnzPq67CAgICDG68KzxcYxNy4zMCAgICAgICAg IDIuM2tnxMy7xiAgICAgICAgICAgIDIwLjI2DQogICAgICAgIDE3a2fM+rrsICAgICAgICAgICAx MTMuMTAgICAgICAgIDE3a2fEzLvGICAgICAgICAgICAgIDEzNy43Ng0KICAgICAgICAwLjRrZ7ra ICAgICAgICAgICAgNC42MSAgICAgICAgICAwLjZrZ9bQu9IgICAgICAgICAgICA2LjAwDQogICAg ICAgIDAuNmtnutogICAgICAgICAgICA2LjIzICAgICAgICAgIDIuM2tn1tC70iAgICAgICAgICAg IDE5LjM5DQogICAgICAgIDIuM2tnutogICAgICAgICAgICAyMC4zMiAgICAgICAgIDE3a2fW0LvS ICAgICAgICAgICAgIDEzMC4zOA0KICAgICAgICAxN2tnutogICAgICAgICAgICAgMTM2LjE1ICAg ICAgICAwLjRrZ8z6uuwgICAgICAgICAgICA0LjA0DQogICAgICAgIDAuNmtntdiw5cbhICAgICAg ICA1Ljg4ICAgICAgICAgIDAuNmtnzPq67CAgICAgICAgICAgIDUuMzkNCiAgICAgICAgMi4za2e1 2LDlxuEgICAgICAgIDE4LjkyINPNxuEgICAgutrJqzE3a2cgICAgICAgvMPE/iAgMTIyLjk0DQog ICAgICAgIDAuNmtnx+XG4SAgICAgICAgICA3LjMxICAgICAgICAgIMTMu8YwLjZrZyAgICAgICAg ICAgIDUuODYNCiAgICAgICAgMi4ya2fH5cbhICAgICAgICAgIDI2LjY1ICAgICAgICAgxMy7xjIu MGtnICAgICAgICAgICAgMTcuNjQNCiAgICAgICAgMTRrZ8flxuEgICAgICAgICAgIDE0MC4yNyAg ICAgICAgxMy7xjE1a2cgICAgICAgICAgICAgMTE0LjAwDQrTzcbhICAgILOstMWw18mrMS4wa2cg vMPE/iAxNC45MCAgICAgICAgILTQwswwLjZrZyAgICAgICAgICAgIDUuOTYNCiAgICAgICAgs6y0 xbDXyaszLjBrZyAgICAgIDQzLjUxICAgICAgICAgtNDCzDIuMGtnICAgICAgICAgICAgMTguMTIN CiAgICAgICAgs6y0xbDXyasxNmtnICAgICAgIDIwMi45MyAgICAgICAgtNDCzDE1a2cgICAgICAg ICAgICAgMTE2LjUyDQogICAgICAgILOstMW62smrMS4wa2cgICAgICAxMi4yMyAgsNe68cbhIDFr ZyAgICAgICAgICAgIMfgtbogIDQuNDQNCiAgICAgICAgs6y0xbrayaszLjBrZyAgICAgIDM1LjA4 ICAgICAgICAgMTNrZyAgICAgICAgICAgICAgICAgNDMuNzUNCiAgICAgICAgs6y0xbrayasxNmtn ICAgICAgIDE1Ny44NLjfueK12LDlxuEgICAgICAgICAgICAgyc+6oyAgOTYuMDANCiAgICAgICAg s6y0xbTzuuwxLjBrZyAgICAgIDEzLjczIMS+xvfG4SAgw+bG4SAouN+1tSkgICAgICAgICAgMTEy LjUwDQogICAgICAgILOstMW087rsMy4wa2cgICAgICAzOS45MiAgICAgICAgILXXxuEgKLjftbUp ICAgICAgICAgIDk4Ljc1DQogICAgICAgILOstMW087rsMTZrZyAgICAgICAxODEuMDS198bhy9zB z82wICAgICAgICAgICAgICAgICAgIDAuNDUNCiAgICAgICAgs6y0xdbQwswxLjBrZyAgICAgIDEy LjQ1INPNxuHF58e5ICAgICAgICAgICAgICC7qr2txcYgMTUuMDANCiAgICAgICAgs6y0xdbQwswz LjBrZyAgICAgIDM1LjcyICAgICAgICAgtffRuTEuNWtnICAgICAgICAgICAgNDUuMDANCiAgICAg ICAgs6y0xdbQwswxNmtnICAgICAgIDE2MC43OCDI6b26xuEgMjDJ/S/M+s2wICAgICD2zsypsNcg NjEuNTANCiAgICAgICAgs6y0xcC8yasxLjBrZyAgICAgIDEyLjc4ICAgICAgICAgMjDJ/S+1283+ y7kgICAgyc+6oyAgMTA2LjgwDQogICAgICAgILOstMXAvMmrMy4wa2cgICAgICAzNy4wMCAgILDX vbogIDUwML/LICAgICAgICAg9s7A2sXGIDEuNTANCiAgICAgICAgs6y0xcC8yasxNmtnICAgICAg IDE3MC4yNSAgICAgICAgMmtnICAgICAgICAgICAgICAgICAgNS4yMQ0KICAgICAgICCzrLTFu8bJ qzEuMGtnICAgICAgMTMuMDAgICAgICAgICA0a2cgICAgICAgICAgICAgICAgICAxNC42NA0KICAg ICAgICCzrLTFu8bJqzMuMGtnICAgICAgMzcuNzQgICAgICAgICAyMGtnICAgICAgICAgICAgICAg ICA0OC44MA0KICAgICAgICCzrLTFu8bJqzE2a2cgICAgICAgMTcwLjc1INWztcPAziAwLjFrZyAg ICAgICAgIMbm1LXFxiAxLjEzDQogICAgICAgILOstMW927rsMS4wa2cgICAgICAxMy4wMCAgICAg ICAgIDAuNWtnICAgICAgICAgICAgICAgIDQuNzkNCiAgICAgICAgs6y0xb3buuwzLjBrZyAgICAg IDM3Ljc0ICAgICAgICAgMC44a2cgICAgICAgICAgICAgICAgOS4xNg0KICAgICAgICCzrLTFvdu6 7DE2a2cgICAgICAgMTcwLjc1IMGitcPAziAwLjFrZyAgICAgICAgICCw9rK6ICAxLjE5DQogICAg ICAgILDXyaswLjNrZyAgICAgICAgICAzLjE0ICAgICAgICAgIDAuNWtnKMLMKSAgICAgICAgICAg IDYuMjUNCiAgICAgICAgsNfJqzAuNmtnICAgICAgICAgIDUuNzkgICAgICAgICAgMC44a2couuwp ICAgICAgICAgICAgOS45MA0KICAgICAgICCw18mrMi4wa2cgICAgICAgICAgMTcuMjIgICAgICAg ICAyLjVrZyAgICAgICAgICAgICAgICAyOS4xNQ0KICAgICAgICCw18mrMTdrZyAgICAgICAgICAg MTI2LjA4IDk2Nr26ICCx6te8MC44a2cgICAgILGmx7/Fxg0KNy43NQ0KICAgICAgICDW0MLMMC4z a2cgICAgICAgICAgMy4yMCAgICAgICAgICAxLjZrZyAgICAgICAgICAgICAgICAxNy4wOQ0KICAg ICAgICDW0MLMMC42a2cgICAgICAgICAgNS44OSAgICAgICAgICA5LjVrZyAgICAgICAgICAgICAg ICA5Ni4yNQ0KICAgICAgICDW0MLMMi4wa2cgICAgICAgICAgMTcuNzYgIDk2OL26ICAxLjZrZyAg ICAgICAgICAgICAgICAxNy4wOQ0KICAgICAgICDW0MLMMTVrZyAgICAgICAgICAgMTE1Ljc3ICAg ICAgICA5LjVrZyAgICAgICAgICAgICAgICA5Ni4yNQ0KICAgICAgICDAvMmrMC4za2cgICAgICAg ICAgMy4yMSAgILTyvbrHuSCjqMbVo6kgICAgICAgINPxu7fFxigzLjA1DQogICAgICAgIMC8yasw LjZrZyAgICAgICAgICA1LjgzICAgICAgICAgIKOo08WjqSAgICAgICAgIMzsvfIgIDQuNzUNCiAg ICAgICAgwLzJqzIuMGtnICAgICAgICAgIDE3LjY0IFBQUsjIyNsgLTYzICAgICAgICAgICAg08C/ tSAgNzEuMjUNCiAgICAgICAgwLzJqzE1a2cgICAgICAg... [truncated message content] |
From: Do bi <mrc...@ya...> - 2006-08-08 09:03:35
|
Thanks Chris for the small code. Brilliant! Christian Stimming <sti...@tu...> wrote: -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Do bi schrieb: > Hi. You briefly explained with enough code how to create a tridiagonal > matrix on > http://lapackpp.sourceforge.net/html/classLaTridiagMatDouble.html#_details > which is > LaVectorDouble newdiag(N); > newdiag(0) = ...; > LaTriagMatDouble triagmat(N); > triagmat.diag(0).inject(newdiag); // correct > // but don't write this: > triagmat.diag(0) = newdiag; // wrong! > and easily understood and very helpful. Can you please write a similar > size of code to solve a tridiagonal matrix? Sure: #include // for LaTridiagFactDouble class // define A LaTridiagMatDouble A(N); A.diag(0).inject(...); // fill the matrix with values // define X and B LaGenMatDouble B(N,1); B = ...; // fill B with values from somewhere // To solve Ax=b: LaTridiagFactDouble Afact; LaGenMatDouble X(N,1); LaTridiagMatFactorize(A, Afact); // calculate LU factorization LaLinearSolve(Afact, X, B); // solve; result is in X Regards, Christian -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2.1 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iQCVAwUBRNhIn2XAi+BfhivFAQLS0wP+MZEGreWLkbBGxk2EGVHAY86kL4YDiXfO uGgCXCu31hy/1kXRQI32GNpvZEhTgeiP3kA232Y651MBrXY1LjAgAMEcYKHf9DT+ OzUFsvNXnm4cTzepuphgr1jyqiDL0VjbQBmLdOf/e1RfB/kmxEmB/A4GQPAL3Lvw yueID2dzOPg= =aggs -----END PGP SIGNATURE----- --------------------------------- Do you Yahoo!? Next-gen email? Have it all with the all-new Yahoo! Mail Beta. |