From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by mx.groups.io with SMTP id smtpd.web09.82455.1638303357249486652 for ; Tue, 30 Nov 2021 12:15:57 -0800 Authentication-Results: mx.groups.io; dkim=missing; spf=none, err=permanent DNS error (domain: linux.intel.com, ip: 192.55.52.136, mailfrom: maciej.rabeda@linux.intel.com) X-IronPort-AV: E=McAfee;i="6200,9189,10184"; a="216326161" X-IronPort-AV: E=Sophos;i="5.87,277,1631602800"; d="png'150?scan'150,208,217,150";a="216326161" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Nov 2021 12:15:56 -0800 X-IronPort-AV: E=Sophos;i="5.87,277,1631602800"; d="png'150?scan'150,208,217,150";a="459749770" Received: from pkapica-mobl.ger.corp.intel.com (HELO [10.249.131.244]) ([10.249.131.244]) by orsmga006-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Nov 2021 12:15:53 -0800 Message-ID: Date: Tue, 30 Nov 2021 21:15:47 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.3.2 Subject: Re: [edk2-devel] CdePkgBlog 2021-11-14 From: "Maciej Rabeda" To: devel@edk2.groups.io, KILIAN_KEGEL@OUTLOOK.COM Cc: Rebecca Cran , "tim.lewis@insyde.com" , Mike Kinney , "afish@apple.com" , Leif Lindholm Reply-To: devel@edk2.groups.io, maciej.rabeda@linux.intel.com References: <0fb201d783ff$75096c90$5f1c45b0$@insyde.com> <20210804110321.ru56hfsyrfrviuwk@leviathan> <10E41009-D3D6-4166-8843-1D04ECA6CC59@apple.com> <16984DDFBF70DC40.16396@groups.io> <9d11fe9d-b712-0c43-78e4-ff185112336b@linux.intel.com> <16BC4B25BB307B73.14741@groups.io> In-Reply-To: <16BC4B25BB307B73.14741@groups.io> X-Groupsio-MsgNum: 84167 Content-Type: multipart/alternative; boundary="------------6kxSJEJEFcECj4B10AfxzgdD" Content-Language: pl --------------6kxSJEJEFcECj4B10AfxzgdD Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Statement correction On 30-Nov-21 11:09, Maciej Rabeda wrote: > Hi Kilian, > > CdePkg *has not* been integrated into EDK2. It is simply in > edk2-staging, and that's a large difference. > As for "satisfies all my needs" - it does not for the reasons I have > previously outlined. > > Reiterating: unless Torito C library *is released* as source code > under an EDK2-compatible license, I cannot use it. Period. > > Thanks, > Maciej > > On 24-Nov-21 21:21, Kilian Kegel wrote: >> >> Hi Maciej, >> >> *CdePkg* is already integrated into EDK2 and satisfies all your needs >> for pre-/post-memory >> >> PEI, DXE, (SMM in latest releases only), BDS and UEFI Shell too. >> >> I have introduced *CdePkg* for POST usage 2 years ago without any >> interest of the “Tianocore Community”: >> >> https://edk2.groups.io/g/devel/message/51562?p=,,,20,0,0,0::Created,,CdePkg,20,2,0,65191785 >> >> 1. Klick on the email link above >> 2. Klick on the first link in that email, that goes to the >> edk2-staging\cdepkg folder >> >> 3. read the HOWTO: >> https://github.com/tianocore/edk2-staging/blob/CdePkg/README.md#howto >> >> *and go for emulation – that works perfectly.* >> >> 4. I simply can’t do more for you, than to urgently encourage to try >> it out yourself, test it, see what it can do for you >> >> This time *toro C Library* (that is absolutely the same as the >> library part of the latest >> >> CdePkg >> https://github.com/KilianKegel/CdePkg/blob/master/CdeLib/CdeLib.mak#L15) >> >> for UEFI Shell will be discussed first, since “Tianocore Community” >> is now aware of serious problems of edk2libc >> >> and probably ready to examine my solution,that lacks all of those issues. >> >> You, Maciej, can support *CdePkg/ toro C Library* by >> >> 1. testing *CdePkg* >> 2. giving feedback to the community >> 3. updating *CdePkg* to latest AAEON WhiskeyLake platform (that is >> on my Desk for months but I simply don’t have time to get it >> running…) >> >> (MinnowBoard is deprecated now) >> >> The license issue /can not/ be discussed /before/ there is any >> serious interest in *CdePkg* and *toro C Library*. >> >> But if you are seeking  for a free solution, that >> >> * requires unknown additional working hours >> * requires a couple of high motivated maintainers, specialized in >> Standard C >> * countless patches will spam your inbox folder for years >> * additionally with unpredictable result >> >> please use  edk2libc, PDCLIB or adjust NewLib for your needs. >> >> >Unless those problems are solved, I simply cannot use it. >> >> Right, but you are invited to take a test drive! >> >> In the EDK2 Emulator. Debugging with the best Debugtool ever seen… >> >> Try to get SysPrep and Redfish running in the Emulator. >> >> Really, just do it! >> >> > How can I verify what was actually implemented inside? >> >> I will publish source code of *toro C Library* beginning 2022 and >> discuss the design details along those files. >> >> But, did you check glibc’s fopen-source before using it? >> >> Have you ever seen >> Microsoft/Borland/Symantec/ARM/IBM/Dinkumware/Greenhill/IAR … C >> Libraries source code? >> >> Thanks, >> >> Kilian >> >> Sent from Mail for >> Windows >> >> *From: *Rabeda, Maciej >> *Sent: *Monday, November 22, 2021 05:31 PM >> *To: *devel@edk2.groups.io; KILIAN_KEGEL@OUTLOOK.COM >> *Cc: *Rebecca Cran ; >> tim.lewis@insyde.com; Mike Kinney >> ; afish@apple.com; Leif Lindholm >> ; Richardson, Brian >> >> *Subject: *Re: [edk2-devel] CdePkgBlog 2021-11-14 >> >> Hi Kilian, >> >> From my point of view, the main problem with adoption of CdePkg to >> EDK2 is that it relies on Torito C library. >> >> 1. Torito C library License >> (https://github.com/KilianKegel/toro-C-Library/blob/master/LICENSE.md) >> only allows for creating UEFI Shell applications. >> * What about applications that do not rely on ShellPkg >> (example: SysPrep application that might want to use Redfish, >> which depends on C standard library)? >> * What about drivers/libraries that rely on C standard library? >> * How is that compatible with EDK2 BSD-2-Clause-Patent? >> 2. Torito C is pre-compiled. >> * How can I verify what was actually implemented inside? >> Industry would have to trust your tests, perform own set of >> tests or/and disassemble it (doable, but unacceptable >> effort-wise). >> >> Unless those problems are solved, I simply cannot use it. >> >> Thanks, >> Maciej >> >> On 14-Nov-21 20:51, Kilian Kegel wrote: >> >> Hi All, >> >> as announced last summer, I’d like to start a comprehensive >> tutorial on >> >> how to use Standard C / ANSI C in the UEFI environment and how to >> design and implement >> >> such a library for Shell and POST usage. >> >> Since most parts of that comprehensive work are already done, >> >> I will report, demonstrate and discuss implementation principles >> and details on edk2.groups.io >> >> as a kind of “blog” on a biweekly basis. >> >> Please checkout my first CdePkgBlog >> https://github.com/tianocore/edk2-staging/tree/CdePkg/blogs/2021-11-14#cdepkgblog-2021-11-14 >> >> and enjoy the breathtaking build speed if compiler and linker are >> used exclusively to create MY LEGACY TOOLBOX, >> >> a handy set of one-trick-ponies that I have been using for about >> 25 years. >> >> Have fun, >> >> Kilian >> > > --------------6kxSJEJEFcECj4B10AfxzgdD Content-Type: multipart/related; boundary="------------pFGI2Im6h6KHoNi4t6PfR1w6" --------------pFGI2Im6h6KHoNi4t6PfR1w6 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit Statement correction

On 30-Nov-21 11:09, Maciej Rabeda wrote:
Hi Kilian,

CdePkg *has not* been integrated into EDK2. It is simply in edk2-staging, and that's a large difference.
As for "satisfies all my needs" - it does not for the reasons I have previously outlined.

Reiterating: unless Torito C library is released as source code under an EDK2-compatible license, I cannot use it. Period.

Thanks,
Maciej

On 24-Nov-21 21:21, Kilian Kegel wrote:

Hi Maciej,

 

CdePkg is already integrated into EDK2 and satisfies all your needs for pre-/post-memory

PEI, DXE, (SMM in latest releases only), BDS and UEFI Shell too.

 

I have introduced CdePkg for POST usage 2 years ago without any interest of the “Tianocore Community”:

https://edk2.groups.io/g/devel/message/51562?p=,,,20,0,0,0::Created,,CdePkg,20,2,0,65191785

 

  1. Klick on the email link above
  2. Klick on the first link in that email, that goes to the edk2-staging\cdepkg folder

 

  1. read the HOWTO: https://github.com/tianocore/edk2-staging/blob/CdePkg/README.md#howto

               and go for emulation – that works perfectly.

  1. I simply can’t do more for you, than to urgently encourage to try it out yourself, test it, see what it can do for you

 

This time toro C Library (that is absolutely the same as the library part of the latest

CdePkg https://github.com/KilianKegel/CdePkg/blob/master/CdeLib/CdeLib.mak#L15)

for UEFI Shell will be discussed first, since “Tianocore Community” is now aware of serious problems of edk2libc

and probably ready to examine my solution, that lacks all of those issues.

 

You, Maciej, can support CdePkg/ toro C Library by

 

  1. testing CdePkg
  2. giving feedback to the community
  3. updating CdePkg to latest AAEON WhiskeyLake platform (that is on my Desk for months but I simply don’t have time to get it running…)

(MinnowBoard is deprecated now)

 

The license issue can not be discussed before there is any serious interest in CdePkg and toro C Library.

 

But if you are seeking  for a free solution, that

  • requires unknown additional working hours
  • requires a couple of high motivated maintainers, specialized in Standard C
  • countless  patches will spam your inbox folder for years
  • additionally with unpredictable result

please use  edk2libc, PDCLIB or adjust NewLib for your needs.

 

>Unless those problems are solved, I simply cannot use it.

Right, but you are invited to take a test drive!

In the EDK2 Emulator. Debugging with the best Debugtool ever seen…

Try to get SysPrep and Redfish running in the Emulator.

Really, just do it!

 

> How can I verify what was actually implemented inside?

I will publish source code of toro C Library beginning 2022 and discuss the design details along those files.

But, did you check glibc’s fopen-source before using it?

Have you ever seen Microsoft/Borland/Symantec/ARM/IBM/Dinkumware/Greenhill/IAR … C Libraries source code?

 

Thanks,

Kilian

 

 

Sent from Mail for Windows

 

From: Rabeda, Maciej
Sent: Monday, November 22, 2021 05:31 PM
To: devel@edk2.groups.io; KILIAN_KEGEL@OUTLOOK.COM
Cc: Rebecca Cran; tim.lewis@insyde.com; Mike Kinney; afish@apple.com; Leif Lindholm; Richardson, Brian
Subject: Re: [edk2-devel] CdePkgBlog 2021-11-14

 

Hi Kilian,

From my point of view, the main problem with adoption of CdePkg to EDK2 is that it relies on Torito C library.

  1. Torito C library License (https://github.com/KilianKegel/toro-C-Library/blob/master/LICENSE.md) only allows for creating UEFI Shell applications.
    • What about applications that do not rely on ShellPkg (example: SysPrep application that might want to use Redfish, which depends on C standard library)?
    • What about drivers/libraries that rely on C standard library?
    • How is that compatible with EDK2 BSD-2-Clause-Patent?
  2. Torito C is pre-compiled.
    • How can I verify what was actually implemented inside? Industry would have to trust your tests, perform own set of tests or/and disassemble it (doable, but unacceptable effort-wise).

Unless those problems are solved, I simply cannot use it.

Thanks,
Maciej

On 14-Nov-21 20:51, Kilian Kegel wrote:

Hi All,

 

as announced last summer, I’d like to start a comprehensive tutorial on

how to use Standard C / ANSI C in the UEFI environment and how to design and implement

such a library for Shell and POST usage.

 

Since most parts of that comprehensive work are already done,

I will report, demonstrate and discuss implementation principles and details on edk2.groups.io

as a kind of “blog” on a biweekly basis.

 

Please checkout my first CdePkgBlog https://github.com/tianocore/edk2-staging/tree/CdePkg/blogs/2021-11-14#cdepkgblog-2021-11-14

and enjoy the breathtaking build speed if compiler and linker are used exclusively to create MY LEGACY TOOLBOX,

a handy set of one-trick-ponies that I have been using for about 25 years.

 

Have fun,

Kilian

 

 

 



--------------pFGI2Im6h6KHoNi4t6PfR1w6 Content-Type: image/png; name="3F1FECE7AF8044E584BF5D0CF3028E97.png" Content-Disposition: inline; filename="3F1FECE7AF8044E584BF5D0CF3028E97.png" Content-Id: Content-Transfer-Encoding: base64 iVBORw0KGgoAAAANSUhEUgAAAskAAAEICAIAAAAiC/42AAAAAXNSR0IArs4c6QAAAARnQU1BAACx jwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAADYGSURBVHhe7Z1Li6bJdef7g8yqmG/Q0AhsTzOy LTwkNCNML4wwGDGCwcINwp4CGTQrDRZ4UwtttDBapEHDGBsvCl8GjGkwGCFhyhbGNEJoMMZGizZI m4be1MSJ27lExPNe8snM9836/Xihnohzzv+ciOd2Kisz663XAAAAAPtBbwEAAAB7Qm8BAAAAe0Jv AQAAAHtyr73FJ//+r42f/OzTOgkAAABPmXvoLT792T/92Yvf+tX/9Jm3Pe/83H/+1d968Wc//KT6 AQAAwBNk397i05/8zYvf+Ow7tZlY8M5nf+Nbf0+DAQAA8DTZsbf45O9fvB+/VrHk3V//g3/kX0kA AACeHnv1Fp/+44vPH/h6ReQz73+T9gIAAOCpsU9v8fHLD96tHcNJvPuVv/xplQAAAIAnwR69xcd/ +ps/X5uFk3n3qx/ytQsAAIAnxA69xatvfK42Cmfx/rf+uQoBAADA9XP33uLDr579RYvC577xqkoB AADA1XPn3uL7X//F2iOczee/+aMqBgAAANfOXXuLf/uDX6sdwh344GVVAwAAgGvnrr3FRy/eqw3C HeALFwAAAE+Gi+gt3nvxUZUDAACAK+cieovf/FN+DhUAAOCJcOfv5Xz5QW0Qzufnv/phFQMAAIBr 5869xd2/mfOdD17yZQsAAICnwp17i9f//K33a5NwHu986Y/4vd8AAABPhrv3Fq8//avnd/jtWZ/7 +vf5qgUAAMDTYYfe4vXrj7/zxRP/D9QG/1kZAADAE2OX3uLM/wj1nc+/4D9ZBwAAeGLs1Fu8fv3p //vOl05pL9757FdeflxjAQAA4MmwW28hfPy333j/M7V32OTdX//W339SgwAAAOApsWtvIXzywz/+ H//155bffvGZX/5v3/izH9JXAAAAPFV27y0Kn/z7P3z4hy++9ttf/sLNLyVuvvDl3/7aiz/88J9+ xvdXAAAAPG3uqbcAAACANxR6CwAAANiTu/cWn/7sJ//6o+/+xZ9k/uK7/3L4eyk+/dk/fVjck/+P /vXf+e4LAACAp8P5vcWnP/m726994VeGb9t85+d+5Qu/8+IPP/wH3zRICyLfg/E7X/jl4UdJJORr f8w3YwAAADwBzuotPv3J3xz5w6Yn8c5nf+PF3/I7LwAAAK6a03uLo3+JxXnwqy8AAACumhN7i4// 6qv/5cz/OuR41r8L/KMX77393ouP6ijz8oMc88HLepwPjF+fuzOjkqRJhIp2YL+iAQAAHpqTeouP vvn5e28sCu9+MP2F4LG3yI3F5NU+6UHuTnjhl8bifjoAegsAALheTugtHq6zEN754nfG7sL1DKvG InHvvcV9NhYJegsAALheju4tfvpHX3rAzkJ496sfxn8Z0Z5h2lj0V7LpLcaOoGOn33vxUo3z17pT nzpZfWfO1Wbee/HCFLQKsUUDAABcF8f2Fv/8rffrG/DheOdLf/TTmr5SuoCP8qt68nUJ9/Yfegv/ ws4aZVje700vj2Yv9hJfnCd2MfearMhw3EfLEF8qAADANXFkb/Fvf/Br8k58YN754KX/ykV9Nac3 8ntyEF+//ZUsfkNvEVCDfasnTLBDAjR39EhWN9VVQgEm2TIkxgAAAFwRR/YWf/mVB/4HkcIvfv37 tYBCfjHrmzm+gPsr2bQH8TVdJCrFYLyFMOzkhMWQRZyPk22Ix6DmihworrFoAACA6+G43uJH3/x8 ffc9MOEF61/U5mVfcK/tatDXdHZXTTWE1//QDVQ0IFEagz7MxlnQqNZlliEhFQAAwFVxXG9R3qSP wBe/477jIr6o5R1sJvor2fi5V7l5X+cllXFQjUkaM4E+YeQCy7zrkBgDAABwRVx4bxHe8VKHn5K3 cH8P91ey8etzctBjS1iNC6pjkkJXapRdaa5ZstuzTeWboYS00TJkSAUAAHA1XHtv0WrLs/2VbPzM a9quov7AR/QWwrAze+Hn7qDPllHFuqoh/gzqPGSWCgAA4Dq4rt7iKZD6hie4KgAAgMZ1fb/FNSJf g9Bmwo8AAACeHsf1Fj/9zhfry/5h+fmvflgruGZcZ0ZjAQAAT5zjeovXP/3Lr7xbX44PyOe+/v35 /4cKAAAAl8qRvcXr1x//7dcf8r8qe/vtz7z/zcX/tA4AAACXy9G9ReLTn/zd7e99+Qs3v3TP3Hzh y7/3xz/8pGYFAACAa+KU3gIAAADgEPQWAAAAsCf0FgAAALAn9BYAAACwJ/QWAAAAsCf0FgAAALAn 9BYAAACwJ/QWAAAAsCf0FgAAALAn9BYAAACwJ/QWAAAAsCf0FgAAALAn9BYAAACwJ/QWAAAAsCf0 FgAAALAn9BYAAACwJ/QWAAAAsCf0FgAAALAn9BYAAACwJ/QWAAAAsCf0FgAAALAn9BYAAACwJ/QW AAAAsCf0FgAAALAn9BYAAACwJ/QWAAAAsCf0FgAAALAnx/cWtzdvvXVzWweNV8+fvfXs+atwaJlP GzFxmFHN4jlSjIuU14fb21e3t09gSQAA8MayX2+x4KjeYkNimrbyZHoL5QkuCQAA3jDoLS4LegsA ALh2LuPfRDbepuf2FmJrWB/Rq+h0EXreTZJQHXv6XMvzLizxmqarhYp1WLLcamFe+NbW/Oz5/5HB VAcAAOCSeZq9hRi6JQ+yxDhdB/nYD2x57VhqCYOmJqN6HCrWocsyCKuPraMLBVUAAIBL5bTeYop5 Fbb3pmE+bd6U+RU60EMmabttkfLYUnSca+hvbu9nSpXDqcHFuHk79FnmITa39Q+iAAAAF8uT/LrF ImaYlvg84YX8yER5ATcyMSGNDkO50xDnI4MyHzQBAAAul3vvLSRunDaTq7jK1lt1I+UsZpjuE17I j0yUF3AjExPS6DCUOw0JPtUQJAEAAC6Y++8tZD7GWa1VXGXrtbqVcjIfp3XsLX5kCvC1uJGJ8V5i qEOvOw8JPmIp32SqigAAABfN/fcW2RDfl2a8jCtM01a2U/ao7uYqsQMv5EemAF+LG5kYl0WcmpvX tcNljibgpgAAAC6ZB+gthPqGrDi3/CqeML52B7ZSWlnrYyrRaS/kR6YAX4sbjTGFm1t1C+WaoZWq sV05jxdZAQAALo/jewt4HIZm4vaG3gIAAC4YeosLJ7UW5msdidsbPwYAALgs6C0uF/lHk/APSDJ5 Q2sBAACXDL0FAAAA7Am9BQAAAOwJvQUAAADsCb0FAAAA7Am9BQAAAOwJvQUAAADsCb0FAAAA7Am9 BQAAAOwJvQUAAADsCb0FAAAA7Am9BQAAAOwJvQUAAADsCb0FAAAA7Am9BQAAAOwJvQUAAADsCb0F AAAA7Am9BQAAAOwJvQUAAADsCb0FAAAA7Am9BQAAAOwJvQUAAADsCb0FAAAA7Am9BQAAAOwJvQUA AADsCb0FAAAA7Am9BQAAAOwJvQUAAADsCb0FAAAA7Am9BQAAAOwJvQUAAADsyfG9xavnz9569vxV OAzc3rz11s1tHSg6raFrkSN5dXt7UvSitoB4CYc9r4nj1n40t7eXuTtHLvN+rhxHT3Hny7wgMsqW YLmAD5Xr9So9qFjvVPbOV9wR7JCx7N0uhZvzvi7MnoVzdvsu9+HDnyB4szirt5ALc35ZLi7Y2bTT O5m7RS+5J9lHZ88HyQU/lI4p7QFOsU2xQzqRGFmJyh4ctwszSlyx3qnsh79K7pxxh1OlGLFFYXmT +7w4nZb84XcY4ATO6y3S8fyqXlzvs+m73cl3i17yVO/XPdd1wXt0TGn3dOVYwq1yt3QioG99M7FY qezBcbvgX2YlrgSO1pN5+Kvkzhl3Ldmc97muccjE8UEefocBTuCs3uL2xt4Eco0Xnj1/Pr/e9TZQ FXsvyXGiRdZhZnb3GHtQyCxuuF5EyXyrEVpao8nq2vpUcbx5XrzTbJGTlRdETeMmxeREZl53J2Gr UB/nMgwNpuBErzkH1JIFF3xKSqM/KcAqJZpH2aFhwyPzjIkSrzuspyKhFYXLz5SaKDGmwCYyX70j VrK5kpBis3Zbozd0ilwwpjA3ozI3t+VY65qvbyJbAvOUs1bx7tsF08y0uoxETa84CTF3T5rR6oUu lhXqcgSXxcZU6WXGgb6CRPWyU7PlOExy52tEciHVWBaSPWroLIMErzKPqzUzZcIuIGEWf7Cqknlx UWui5dMdYMaZ/ybSyRduvd7qRTy5+uJ1LCr9KIepsvj2kZV3qE4iX//Nyw0svYgs2qNdCi001GUH Jb6ncHJl0Ix51B07ftrkXC7E1pUIw4bo9k0pWeowaznl5mezuEHIocNgULzBaJVNaRkXm7KRscQ3 m40fjm3IfCucRXL0gRVzxEoOrcSmWEf4aFeJQebnVTWKR8DmcDiDTVhlsl2tVaA7BsFnz6JMw9dt VlcU+oJkqPHZWIdLhWIZDGt/xxDsBu14Sa6we9ks8biPum6eXWTwuha3Q13LHbpjn0eOt6sqqbuT LWQ4tlkANrljb+GvaXctWvx1XFTKUe6WrWxydVmmaf10KGIYV/p0qHIhFRPreBKvQx+2KMWGGJfo reNgWcgGTClL5aUhWpaGJeo32TC7s41lxhCvAiEi+ikmpc2e4l0h1mY4dSV2ehkhR67WsJhCDl8s qiBh6lH967DYXCkm+4wSVz1vbqyYUMOaYs3dhpa4mj7OEtbiEGuVkwijrIJRurL0d8RpM15EOKQ+ 59OCTOEZmTcLqV+AWclvGY2So8jWgaebDlYlR+GMaEzIEPwANrlbbzHMLa53fx2XiHylFuL1G4lp EybzUISkm4T0IkKAHZr6h6WI36H4OBpEKuJVDMYj6CaSsUwEnZVsQayNqteFKi3VOSmDIZKX1ih+ IcuYtLDMOARU02pekYlG9TRBcjgwqWxZyVBAwU4vI2xpHVe8IP6z+U5xMBmKbg6owYGlSUW8dS6e GbJ3kqebFs880Q8cdjeqVabMuvtwLrD2d4zByW+ecIr4DEhQDDaJNGZWdrXPTRmRqtgMY7nGsZoO VFVMYU/6MMzPMgIseeTeIh3mP3uMeMYsM0zmoYhhotCLCHY7NPUPSzkmPo4GkU61WIegayeCzkJW /IUqYvRSwFT5nJSL5MUgVKP6hSxD0soy4xBQTav5hJiEajae5lDcXfyCZSVDAQU7vYqQA7vaFdkv eqaCrL5bhRRb/WtswJhMmCMG9uxGPLOWMSVmxDNP9INCS1WnjFV3PdOHQaCz8ncMweuEM3K1U58Y HHTFJn8OhWfjUFHDGbKrUPLYjM1Ux91kfYTpas2k0IdhflQD2OCx/01EjsTaolYKEVtNvOQXt0Cf trGJhVTwMuON+DhalCIkU/zuqOitY2+RHBPZUFcOquOl8tIQLCZlDGmEeRMRCot1NpYZzWGmCyxT xhTiWMfGFHVXaJqgG9NU7PQywpS0iUSY10ZCInWmjqrZexfbLEvxW+U31iro5VtczT2TEZOWbMYi oQF+VNzqOCjoMEpXlv6OOG3GiwiH+MyWe9RC8u5Fp4MpA12tH7hDIefpGQ9VFZ10uJQFOMwFfC9n Quwtzh57fYe97l2Ijzf0CJs5EQtpsTl1M9jBRnwcWb1ILtSbXe124GopgaNsdmrTeeAeJF7ZiZ2U 0q9Qsao1YB6xEtjM2AdltDquIzvfDFa5mXKWNvBRBo0QjyNWYlKsI3I2NUnMTKs6DnTfvIaIyR7Q hazyBetk0Dnzezk1IOs1ryperWYTBTM0anUkhrW/Q+a7YRjMIhy5Rp/c1NsMWXeyEBvtlr6B1bVi Ev/xf/iP5WNcSu6mbKOLZahKhDSBHdoS8/FRBQMId+0tEvWiSyx/Sml2HXu9fNm3YbkHKquLuTr5 Kz+ziOhFhJXYoRZaMJVoxEZ8HEU9RxaPVolvOJuWUr4vbCrr65VRqSUH6M/nmeoTp6as/l5E8EJ5 lEPkyHiHoWWesQToz3G6IjWpv/xUSpLJqOWslupo/IJyJ1ZyeCWaYjNCa09MhRrOc3DVNbQf2tSF uMg+XWZXKYO1SLZhF0wTa5m8Z7MrTkJcgBYv8zIq5qyg58MPTVCb3fR39BUkjotw2PDVUlY/g1qD 01B9DfP0s4S9q+ifaheRHNC0TPTWz6D2ZfihlulurxADMHB8bwF74545sIYH2aXQ3lPmDZPfOpyb hyO0FP1TzZvICTv/kZMeWJxqOBZ6i0eDO/VY6C0uhtZcWDg1D0RoJsKnOjny6erNhB8dRv7yoyfX jwAOQG/xGJQnNDfqkdBbXBLyjlE4L/dO6CFWn+odcafr1K9ZuFaSUw2nQG8BAHCJhO5h+1NjAC4D egsAgMsi9A3HfGokwGVAbwEAcCmEjmH6mXqWSYALgd4CAOCRCY3C6lO9M8H0kJ9aAcAaegsAgEcj vLann+rqCT4P/6l1AMygtwAAeATCq3r6qa4zguejfGopAAP0FgAAD0p4Q08/1XWTEPLwn1oHwAC9 BQDAQxBezKtP9T6CEPjwn1oHwMDRvcW//OC93/3rF/9SR4GPvvfjj+qhO74zP/7gd7/7sh6/fvnt P//ge/V4RnJWh17GRy//+u3f/8FJJZ0Rsjt9sXdZyCVw6KwF9CSu1ys+b9ePXh7Hc5dLdIezkG6l qvDxy+99nKd2I5X33kvVTJvfNurPt8revLsbdtv7p+3/UQoDuhWx8kO4m/1UHv5WCq/k6ae6XjbX WDM8Cjv0FvZG3fmm/d533/72j+uxPE2OfZHcsaSHf/QM1MVeQCV35ISzltF3xmLt4tBfQuJzYnvx 6FuaCsj1f/zi93UhO5E0200qN+yfm9un9BmLvTq6twivc9Esm3leb2Fu8LN70DN4yGsgvIynn+p6 DVxv5fDAXHRv4R43rs84wB1LeshHz5y22Mev5I6cctYyh3qLJOhekCe/Yx57S/vr/x56i3ST1qWJ +LDz08nMub2FBp7VW6Rz0XYgiZ/Zg57BA1wD4R28+lTv6+Ha64cH48Te4mV6spevhdbniNylbeZ/ /m89TtZyA7/oX5W1N7O8Idq8PuzC07Y/hQXzGLJJv/tCHxP1cWNL2iwjPJ50uFW5x+Ry7wnztWi3 BCcrC5ekZWgflMkzqRlxXUitRE5HDZRP28Pi81ID3fN6WpUwPx3rVXz7B/KW0iXnl1b1dBnLQurA 1uzecLoJ7738QTgLZb1yHKMK4SRabFW1/qpjZswadTJzqKpyR3xPF2XLUNlyxrXyJJu2yNSW1ZJ/ yaI6y+3aPI/Fs9RmTSNG/4OX3t9cD+aqnm11T2QzVuV6JZg973er7q3/NIX5BTk/I4JZS/DPS6um 7r9xaa1P3LGEt+/qU72vjaexCngATuot9C2bb0jz7LDz85s2P0zLsX0MTR9YheTWpHK4fe74Z1B1 U6mxDPcWrCWF1D58HuLIbu55msOzv8tefZxsfRra529/K+tiZd5KDSsV8iYcqnxZlQ0vyjn8wCo0 u4YI2TpZiDtrY2H22K4lF+CqDThZh7wk2lnrUhvHfsmHqzpwR7hjrUQKNrJ93/IrzSzkqO2Ky08i 9bzIfD8LU+xZk+OuY4sf3cx5T+RidDeyQt6Wvi5XoRzrjmXBliiZ3KJ6ol7AsAndx6Zwbm5d1q2f xLzYHrt54o4gvHenn+p6tTyx5cD9cVpvoU+W/igxN+rk2D7geoh7FixJ4fqESrFVVp4dOl8eytWk z76NMowpPCvn4YJZrCFWUonO6uYr8eGyJ82kix0WYqtSfOXTxa6rsu9g5dhV5MpdVWZdZiEpiy42 0fXtwhMy785C/hrMuPmZ7OxkFSlj+mJYb6MxHaqqbam5fvqK4nXlKtHXv90odxkLy+2SA1OYO30p bzPFkxKJmyDrLcVLVaZ4uxWyLnnd2k8XKRXmr+KYyt0aE26ZKaQdp3rcVownbn1GlnuVC47Zs3JZ /nBpbZ24g4SX7vipflfOk1wU3Afnfr+FGdrn1Oo402/dfNOWZ9P61k0PAr3P05NFH6Du2WeyqGmj jKl/xoe7wmLSzHRyeAgaNV+Jf+zaKF2sC/HhCbONs4UndLisKj79K8euIg9bDf1TBXUhrtT2kesn qMWzUD1dJZX8dukbNUGWoIk6Q0brWd98B6oqptUdEebdyzLtQze5nfcv1OV2uVL7pwSmvL3m4fQF fDpbs6w06lepxQVfEIXqb3xiiNtYd3nMt6WzPiPrvVpnl4PqaXZp68QdJrx07ad6PAme8NJgXx6l t2j0B+XkBk7OetubPmPjaaWmjTKm/hkf7kqKSTPTycljvT+hfCX+GWqizGJXC5HUZt985dPFLqua P8qPXkWeN0OLWYhUOMkyqMW1yDWWXx7udLQ3mZtseyIfW3l/9ywu15npQFXFtLojwrzZOjGprNt5 9RE2t8ufl04yachQQyWd1lyATxeK18vPo5swIQemAnyFMaTtnj1Z9pNqmF+Quu2Vrrzcq3X2so01 l+7DsGlxlzYJL93xU/2unCe5KLgP7rm3sM/B4datDK8xIU26R213iI8euf9rRn2UrEpKmKF/9OSH 4xguzCufPwQHZ3Xzsj5cN8EudrGQsGPrynW4rmr+AD12FXk4nj4hnrX5Y/qYtYhPPFOTnd9iWr8/ BfZaOqaqsEU69NeVWXuKNelcdn8WtrfLnpdOCnHzs9PqKrEn0chK8Yu9Devy+OW31G6NCXO3moJT rClmfkEuz8h6r4a1dOXFpbU8cUcS3rvTT3W9Wp7YcuD+2KG3cLe9OZYb2D9l6rE+yITpoyTF6k2e clkHG54fDe1pZR4NoQzz5DLDXFIzSRktvFTenkrLR0x26887ccshTjb71Gp9Jd0/0wueLHZYiN2B 8ii3lWsKO1xW5dX66ThyFQn7LjEP/clC9MGdBcu6cqLqmY9na8lnp/jHF8YCK7u6XJ1PLqkv+Yiq rGbCDM3qmmyWevlt4++v/HgXbG+X7n/fjR9/4E5KPRFW0+xhwm5juYRs8VqnRFVlceslReION097 deV5o9aKSfNx7b4AsS7PiEvn9sqty8qKT9suuy0mthz7k3Ic4e07/VTXK+TJLATumz16i3oPl9tb j8sN7H/kslLv2/LRZ6I8MtrrWXMl5/AuMeGTn0HNxDJaijCsbtlTw4vPtPLwDjCVuBdefmCVj1vI bLEZefDJQy35+MXOF2LzfvA9fez6FHE4rUrIT+f6CYsd/INmRrcxffoehrPmsvT3ilBfFemz+hnU muL3f/B/zcL7JyaqTKrK6JY6n5TLvH6saetnUPs2+qFunf4oYxK0q+4bIpPhuhKO2K70qWtPziFc cJ5mMwu6wPAzqLLGSZT4m230TJZfh0bN3K3Jvykn5yhr167rml8nwnyvcsH6M6h+gX5dfTg7cecQ 3sGrT/W+Hq69fngwju4tTsffwPeFZDn3/gc4jvT60TfTqaTX1aL7eeN42Lt1sxk6gl1OXHgZTz/V 9Rq43srhgbm63kL/ji7I35bu9PgAmCB/D/Z/Cz/hSpZXmr6TvNQbxuPeraf2Fvd44sIrefqprqcT dB7yUysAGLjGr1vII6B9/ZPGAu4FuXr7ZXbqZZxfoi38jW0sCo94t57aW9z7iQsv5tWneh9BCHz4 T60DYOAeewsAAAiE1/PqU703CSEP/6l1AAzQWwAAPALhPT39VNcZwfNRPrUUgAF6CwCARyO8raef 6uoJPo/yqaUADNBbAAA8MuGdvfpU78yGCeDRobcAALgIQruw+kydyyTAhUBvAQBwWYS+4ZhPjQS4 DOgtAAAukdA9bH9qDMBlQG8BAHC5hB5i9aneAJcBvQUAwKUTOonxU/0ALgN6CwCAqyG0FP1TzQCX Ab0FAMCVERqL9KkGgMuA3gIA4CqhsYCLhd4CAAAA9oTeAgAAAPaE3gIAAAD2hN4CAAAA9oTeAgAA APaE3gIAAAD2hN4CAAAA9oTeAgAAAPaE3gIAAAD2hN4CAAAA9oTeAgAAAPaE3gIAAAD2hN4CAAAA 9oTeAgAAAPaE3gIAAAD2hN4CAAAA9oTeAgAAAPbkyN7i1fNnb825uX39+vam/HkJSKXPnr+qo6No ixvDXt3elqkzVGf4bdwSlC09uKnTs6IxxXyXsk9edt+wx2Zd+WNdrO1kxdyz+TrnXZtjJp7ljSWV S6mx8jsosw+6iB1upw1annOzTK8SEW2Cflc72+aiuLwCp0GDp/cahXSLBd0AP2+ZFmNYFrxhgTee 079uMbmcLukKs/f/cayqt0qnqw7Mb+2VqBR1cFNXT4saVsx3LPsEdtikB+CRLlY9VyF5N5itq3PG U8M77iwvllQuo8jMd1NmIOke6emwq7jXK+XOJ3kqIOW3sg9k2DIvbRODTJmdkqHbuTxhYoL/YC/I 7Kq6CSe6Awj0FssAazhZNSICQt+mNrHYuPxMOLSpRWN4lLS40Xy/3HmTHoTHuVjziXl2czOekX4h GEOd0zL9xOQsT5dU/TRfnZidpQ2ZwPGeAyX0/q8RyXO3LNOrxMpOHZQt89I2MxzOKbMbHrOgudCS E90BhP16i+flkSM4c30UZdYXqEgUnj1/7jKs4u18opnsvRjQHO5ebKyqFt+iKoUVfIaJcKDIBWMK czMqc3NbjntJdrFxayYaZcqZq3h37oppZlqdIIY+reWFvcp0PSNkIibignhMrxyRa4YaazJ0vxxv aukFu8pNIcdeXRbrk2huJcWtGlfxiVyA1NMPOkX92bMsUyVqxrHMSYrBt1NW7Q3iPXENMmWQyrQb N5yE6aSKN5F61zy7+YX8Z6X4qb7gCrOmlcFtZGMSOC8wOfbqXIaEiMS5LNNSTh2ULfPSNjNoTpvd YQyiMPXxHCheEJeCvWUklb0tm1AUdLWqlKktKuWJxhFLgItnt95CJ2XULg57XK6eEJqxhnqJ1VFW tsLWoFLGIvGTSzPLtvlhMAnwhhzhRzW7PQ7rNeQCTcEjxSOgS/LY3C5fVbFxYq4K3TMolhfbpG7x K9N6lJAsk7U4n5yijdzAUuptFhnV4xxhkmTHNjQDE5LQCkwtWaqGFtk2csHWzSJOOm1SF60WvwrP 5KjimQ+tY5OpTUq2+DKFOpPpJWdG30oTts5rnIzN1slK3iJTo28tJRhu/nteeSM5TbK0VZRdslTL YJiuT5S7wZwyP8jHi/0RW4vpWNmpg7JlXtpGQ96imnItaeoye3pmdUJWqQ5VsYzKQEO7kBzoVmpB Vsl5BSVbkUbDNbNbb2EuBvVIR+4imV81QdFcjjFXHHfUME8RZ814HpCwBjk2mdUkR66iaYk5fFF6 QcLUo/qXYTG5SkzyGU6lfiHeZq9xTbLmbkODOJZp8Zk4ONTbHwtxXImyMs515hK14j5f0fEiqR6G UCOcLK4kK7XEZzbK6+js2G1l5OOKNR7ZshOS2dCMU1+h+B9cUMXJ1EETrZnryCf0WYqtjIKIYM0B q1Mjm18xiYxPbQwB8bPR1kXHcjStJRGjMlF2pIdMzD3VVFuYaWqBybqo1tYleJ1J0LKCQjDnXS9j c5hRT1uDHsuRS9QDvFLUhSfAfXy/hb9+IsOlrldixcV792SyEy5BqWCMEYaixW0rIGENwUmHIjzg MgniP5vvFAeToehKQI0NZKmZKVSpTMULQ/aGGOq0EVstw3hvbbglunUJqxVHQgo0hZVD67UQSvSU YhlwrgbnXCoOykOixjSPrrqYS2Q5Mf5rGJ7iUSgxVX70bWLzBUWcTNQsUnU48wxk26SwMhVKGpfk 0lmsa2eyQslTp81hJYlomkmSzNRmtbaCEydrC9uaa+u4xkbZ8CFsO9Egp+7RZITUZJzEPpADZkoF lxqul3vtLeTg8JWyvpQHi06Ij1DTagVDTEbtlUMBCWsITn0oB154TvaLnqkGq+/2qqxP/GtoICsN UZ4Y2bOreGGpI4YwXWITfi2C9db9rQwTmTjbJXzmoQ470Y7lz67VHYbQnlIOnGWOuJn1asVBeUhU kfkZzbfY26hly9idcVSvbK/6E9/i5WsS76msk/E1NaUaN/GMZFsUSfgpN7LFunSWum6Py1AQ5Tpt Dgs6IWqTJBnxGmx2cis4sWVe2rY1h5U0loaMWKPqiYnUPZqsULPJn3VulrsyJCnkiMVZhevi/r9u Mb+0LCHcRMVcfbwOmV+zcdaM5wEJawhOOpRCptEBiRC0aInUmTqqZuddTLMkxW2Z3piroJdvgTX3 REccp/ISokupWO8YuVASHTvddYN/zOfGxXf8Hs0SH0LFoCmc6JRluEmRCcNGDggGNxcdJGGl5y0+ 83G0GaqUalffdZ1maWNNLYUblcFEcBBJuCkXWdOXkRtYx2qYrdUhfjbaBug4WhzJ2BQaVnU7eNu8 tB3QXNhltpSVt2dwmEQdSBTMRtZtQcJ5FqO7D7W2SFRybBrhSrjX3qIc+osvxgp2Ph/P481ADvvF l+ebZXFZZtk2Pwzm17HomqqMkxk6rVCYIzsOdN+6CI8uKWAN83QJZ54MOkd8L6dfl9kZi53OKVqE G1jKqpvFJNHMhezYtN1AKDJ2ysTn5NWUj/vI61g/xdQU8oQSw7BSIuK8LaMcB6GCFqNzBi2jDyK1 4MDM18nEmopMC1NR8ZiUNhdJuKlJYPce666WpcEh0n0+h7ja60CO2/yIC0vkcnW8HbxpXtoOaCZy UXbFecJX5XfEbUXjUCK71nqayiiqBaGc3s3kaI0QhzLySjbhmAWuknvuLRL1eiuEQEW9Zn8DbZhw P63X5sZ1aSoxHocDkm5w8sOcvLGQKjjPwVXr2/wZ1Di7zBjMRbINu2KaWOqIYQgQJr6CbpgdChsB 5mdQ1ctmrtgC+hZUciY76eM1NF5dpsRRteDz5lF29CnisFDkh+mmKTrl0LlUa6jHlao2IzVnERdw MrGmItFDVdG6V7pXFEmEKY1LU/OcBSeyNCiiZU2ayG6ACOlogg1LOF9bhaU6bWkvbQcLyviqRv9Q 2UzwiESaJf4Mqt3YKJRzB2VXbw+OSr5slTiiVLhMTu8t7p90OS2eGbAL7W6v92wdPsae8+QAgC1u b3hCXCWX0FvIC0ZfbH4E94H7q0TlUfac3gIANri94W1wnVzG1y3mXzaDe0Te6spj7Tm9BQCsefX8 hvfBdXKJ/yYCAAAA1wu9BQAAAOwJvQUAAADsCb0FAAAA7Am9BQAAAOwJvQUAAADsCb0FAAAA7Am9 BQAAAOzJSb3F7a3+kugzfttSC78/1oXt9EuaJr/Q0qlO0vhfUjWp4aDD/lzSr6x6dXt7xu/GkRPx sCtIe3b/v2HMXMCPcI5OvkF3vKPvvtwDCmLuPNbvirsGptfg+sl6JrsLwqVxfG9hbt1zrou7PzuO YF3YTumHBPmJpcIhTbZa/+Ce9YbxG3TLnXMlJSRsh7N5IunkPeCpCZfSvXNyvn0LvLvaWiHfVdYm rjvW/rSY3pNn3qjwBkNvcRJjAj/j0sxzymwLmNR7zt5eL+etNm3ho2yRVHvv13Bjpyv2aE7Ot2+B d1dbKchZGwzTSRCm9+R5Nyq8yRzZW8h9W0k3ZLnQ5H/eLdiLLt+0Srl9ffiIsatWyXKreiZ0mqWF zArzDx4bbgsydcwLLQnsLeZnTJrRtWIMuY5poinZvaJRJaeWbpOaiPxfmVebllmKmW+y2w+3lGUh ffPLrIn3whmj0tVXGQ2l5G7La/H/TbsKW41ji144ZrL3vKxV5WY+EQpvtDRmbWKW6VyNKaPNO0rc /I5clCYhbd+e3fxCtgqD9rRSM1Vm7KYlmkopbHF9qUipvdtsQlNzml5eYEFBKRXY7dhCBM3VpIJu u4qcXbJLPK9qorBe51GXtA2frLwwrzKFhq3sSICpT4vvAYlexbgqmzDR1IOjySKYpZhZp2Xn4Qo4 ++sWeq7zqFqMUyJfMFOLwYYXtyp8RpajQkwK5yOHfd6n6DgfIfnZcUgzUUhYEfEqONkJ4tl94tI0 lXWLx30kgxKQhbqTlbXHTsqqjoV0Szb1kWZ0OJ+s1UZuYHEhiZzVldDNptJsaAXYQT42eiamFmHL jskr3s9IeP/sVobOIAEl2kz3yVHcVlTIPt1gI/Jxy2QHJUSl5sLFb1Lp+riM6rBkcfmr33BsQ3rC YqrDrBtMMwWHL+0QOUXPIaN6XBKokFmjHyyrigoy3lhn81xV5MJlWpUVW5gb5GPNbjHCKluKbwF5 ZA2a21diUgZHk8WoJSRkSO/84To4v7foF8PGaTcx9jqxSLCb745nZIk+OlafdORkuo+4zBMouaaI KV/TDHmUWZUGI2dYlh3r7iXENMav+5TcmlFj5MhV0mLSn1Z1uxDnOcHWaI+FOK5o7QWfxll9aTGo jH24DF3OWEQUyoiTm5x6JXxBLlHBpFMNmWxyC2XrInQdI5jRcQxZ1byodB2QmNee0PQhOlajaEgo 5UiF5DYtf45PYZIE+ZBcx8FgwtZLzBy3TvXyTnNCMWa8ER0K0eKtfx/LwcaqvIJxVEE5cgIt5oA0 XDh7fL9FGNaLolFjTLhD5gey4xlZZMol6Vn7gYtq6EVecSKGoYhSf58yqzSHgVGkk9Vmxo2yQ6I+ jAWYtGoKteiwVBJIMccXYl3ttMWmj+HZOAZGNz92o65u0xSS36xoU7JiI0elhGgMxBobNdpkMp5G 3hSWffOxr1YZymqOQ4B45okYspIu2QvOPgYYz2YKWfowZh/VZKJRPZ3PYYXCYnpB9F4UPCSXQJnY qGqMyYhDo5p9EW5kROSwsljfssqYwmGi1EsmnX8zjTkEU5tVMI46FKWBEqOmMQVcOjv3Fu1iqI4m xhxa8kU4mU+ckUV8nFg3uYMDF2qT91KZUFNG07vjmWtmaSjMC9wo2+ZP9GGYjxtYTKGYPpQDF904 vpCOzB+xn0P4XC/O+rEbudW4onViDF+srjAoJWRuUqiQTYkaMomWjJksYBxcYXXgizUMws1ziOgT MWSp3RAHrdQHNNtgCln6cFlwMQnVbDxtxi0Fx+BXSe6T6SjSo73MINomBoNflzXJ+Ih1+tGgX+yZ YfGDs07EdRqmhcik82+mmKNVU529gnHsQznw0gPZRbCJ4NLZt7cwPoK9bIKpI/PzS+aMLCFkFmO8 t5kWHBMI1tEFTRXybJUwh8osxWbZIU0fRqGQuIQEJx1Oa0scX0hgarXpY71xXIk6fuxGfjXzIG/Z WF0hCmVkcrZXwxKWjk3WBPhMabT8bsVErLvrxAp0HC0+3xJ1MwEh1lQTsuhwGTKrq459zDppIDhm Vt4mW6bHhrKiZh8Hg8kTFMLQZvYabhSjOiFvIU7qeOpeMCnUK+bt42AIumKdK+hQQqz0iiAAl87x vYU5tcddJjJI1CtteWWIwVhU4owsWavb8qimFzdz2I6tk5O1AYZQU8LPhKicyvr73LVel2aeN+FD zdomOetQDlv2HN5G6hMWZIY5g5pUKysdWYiPN8aGnXYZQ3pDCrHzXtiNzGpkvhvswIcHR7u6jFG0 hGJFI49ceB40t+6S6UUY/VBYrsvNWKp2tdq0+bhlsgOTKhPHjUWlLsD5uEqDqhnKoSuyjux8M5g0 zZJYKQwUo7HlEqe+pfhWsVmXaJiFeAk7WFYVFKxfc5yu041UxNRWRxrSsYW5wcJfMHWqVymw5TO1 G29BIvowJ1w4mmFWU1OXMFkSIR4unuN7i3Kq82kPp9kOq1Pm5jaP6tWh4XlosUHqYGUTdmgDbJbi oz8p1S/McC/Vi76g01Z2Wqj3KDg/nybjQ4IxESSnaSvzskNONzTi+ee/qrr6iINJ6YeuNFvYUYVs xBuqVIszyouA7GNsPqsbrVezCCiYGoLNCzpWazViaVZG1TgNMAliYVkoVNopcbMLX/A11MlhLbUg N5eZVpqwAdZnvCNdiA41yH9NZrVncUvWCiPqKZiSPDmF//HPQliIYCVdYq3fVjUqHLdON7Iibkmh NmVepU/hMCnUq0xOLjBbUMbny6PsHBz90AZZLymgs6gXLpQTegu4buT+fRq3Z3riuMfZQ/GoO7jx Nhge3HAum7t8Do91rQI8MvQWT5b8d4H+nPSjK+dxXvKP+prYTk5vsRN37i1EQM+EHwG8QdBbPGXk 0dZ5Ko1F5uG7i+2X+32S28Lt5PQWO3Hn3qKdrgonBd5U6C0AAABgT+gtAAAAYE/oLQAAAGBP6C0A AABgT+gtAAAAYE/oLQAAAGBP6C0AAABgT+gtAAAAYE9O7S0e5DcI3d7W315zPb8SyP3CnLFm90us 3C/nOW6J+it99OhSN2eHXz+04m5LvqfCkuxWTf1iPhKpcmAo23uNq1pdj37ecmhnlrt3qdchADwi p/UWBx6ju2CfYVfy2JKSbZn5wd+fw/lxbp7Kedzdj1vi7MF+qZszq3Un7rbkeyssCS+qOiPlJESm TAIZuoR5wsQE/8FekNkTajvRHQDeaE7pLeTJfv9PF/sMu9TXp2fy1DVTkzXYqeOWOHuwX+rm3ONL 6G5Lvr/CpK6p8hkpD53quaTMbnjMguZCS050B4A3mhN6i+HhIk+8xvKpY5zs//K9QHJURLE8U/V/ 9vXBxnmtOi8yr0X/K+Vj1lWWrzk1pcwdKGC5PXWJW3silOT+aL05yacbsq9dUaJVI9NtF549/19+ GYcL070Quq+vUPWz2VbSyhAWFSaMRS8gyXFUrVqj/e+uhXklpXgbZVRXxSdSxFCAqnTvDYVGqaAO Krq+5UqNQRSmPp5ZooCuwO6epDKntWeOgrZWOW6oT4pYX6hHLAEALpXje4vw5JBhv/vzI8E+VhrW S46PeGLYPOVR455P1eQzumIMOWXzsgNfiw13UjZLCbFi3q3QSzKUSGFSo8ROpgMiUaT1qGRtsUOp KqohQjZahW4Si1vTVl3enpXqMFboU7sEzbas0IXk+ToapPrAYFOUWqxszxjzeYvN7jJ2L2FRggR1 N5vHDywuJJOTVfHR2jAV1LUKc9/MWqpg11gVy6gMeqgmFkXdhMW8lRWDibAVaTQAXCFH9xbhXk+P AXfnTx8FcdI/exbEB4w+xIyeHOl8wkZ14qSOYyXdkg5chZoyhKhWRSYUJ5LIK1E0UhNsodn0KEYu Sw14BbsIE3dcWYrxX+ong5Nc5ugK0cMUeEStWkjGVBMsZmxkBWdwOWalWcmCnY0e84g8HdFEyTpb amJWkDIJWuRvBLPZPXMomMS2Bj2ONTuLMQVdALhizuwt8mMg4h4gQnx6eY0FNigE6FCcBuJjaUzX n3KryuTPgWlIVDBUkYW11t4KG4ucodn0SCJdjm6a1uaWpgoutwTmieOqSkhEowb4ClXFFdCwScYK 40Ks4MFah/muNkYkU5kIGV3IgNWYV2HkNpI6QgWBtXVegFBrj2HbiQY5dQ8mO9RjfzRQTLEEGReM PgBcIWf2FvIQOHz7x0eH11hgg0JAH+bH1fq5WBnS6cSqso11hZCo4DlQoEkzFDlFs+mRRLoU3RRq k6FQp7yCz11njihKXIRxGSt9mV+IripUqYITrAOfxDAYutpg0YmQ0VUyzdKYl2HkNpI6QgWBRdCG ISPWqHpiInUPJjdsA/mzim9s3aIECc4swgDg4rnL1y3WD6aKj9l8yij2eRMEdHiU0vDo0nGMb5aN dQWxPpyHdHPMlDHrCktcoMn1KEbqWH0EP7L1TnLLlH7L5JoYapa5qtAkDiwr3MiSEOtWreuFB4sZ B0sfrouvRMmCnY0e84jVdGedqGzDvNJJ1IFEwWxk5dBsuR+Wkf222XlBmc0SQhoAuCaO/15OudXN c0AeCzpePT/Eqz0fcsThp4V9pITHixnmhGqyeQyuSDvwtdhoF2LXJQazQjPMIS57XIOL9FLWdY1G 6FERdmlMQZpQRj2DDHo5s9xF9WBJNl2I8RVaoZy8F6YS6wqdqViM4KFabZHV18j2SuxAjtt8wgxd iJMWZDypw00vkzpCBRNyqE0WtAb7vLpDiewS83EbBbUontM7aV+f0fUl2ISjLABcE8f3FvlmNw+M /hApqGXywCi4v2N6L0uNEMfwfPFDo3zo/VIJNdYfo0v46Pm6QsGToSGszJXq0wVTZlyMZtOjshv1 J/gSmjPUFvYgj7K5KIRc2ayzU5+MWXJykFHxixW6WBNka8xJK7ZCQUOGL1KEWieo8Ck/g1oHcbgo PiFi0zpqlmabJ3WEChZYoZm/K3UueEQizRJ/BtUsNgxr7qA837qhhCPdAODSOaG3yA+RO93idxbY DZ5WS4ZXxavnN7O35iUw1PpIXM6FDQBwCZzSW+RX8imPcnnk6jPXjx4XeosVw2syTVzqTl3KK/3E 2wIA4KlzWm9x+mNUXuKdy3lH0VvMKCcr7MvtzUVu1LTWR+HUWwIA4Mlzam8BAAAAsAW9BQAAAOwJ vQUAAADsCb0FAAAA7Am9BQAAAOwJvQUAAADsCb0FAAAA7Am9BQAAAOwJvQUAAADsCb0FAAAA7Am9 BQAAAOwJvQUAAADsCb0FAAAA7Am9BQAAAOwJvQUAAADsCb0FAAAA7Am9BQAAAOwJvQUAAADsCb0F AAAA7Mfr1/8flayp6Qy1ndsAAAAASUVORK5CYII= --------------pFGI2Im6h6KHoNi4t6PfR1w6-- --------------6kxSJEJEFcECj4B10AfxzgdD--