<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>50881</bug_id>
          
          <creation_ts>2010-12-11 19:06:32 -0800</creation_ts>
          <short_desc>Optimize FEGaussian blur</short_desc>
          <delta_ts>2014-03-21 12:03:11 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>SVG</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dglazkov</cc>
    
    <cc>dino</cc>
    
    <cc>eric</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>krit</cc>
    
    <cc>savagobr</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zherczeg</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>320731</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-12-11 19:06:32 -0800</bug_when>
    <thetext>I&apos;ve been playing with FEGaussian blur for CSS shadows, and have some optimizations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>320732</commentid>
    <comment_count>1</comment_count>
      <attachid>76311</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-12-11 19:14:43 -0800</bug_when>
    <thetext>Created attachment 76311
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>320733</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-11 19:20:36 -0800</bug_when>
    <thetext>Attachment 76311 did not build on chromium:
Build output: http://queues.webkit.org/results/7000058</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>320748</commentid>
    <comment_count>3</comment_count>
      <attachid>76312</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-12-11 19:42:17 -0800</bug_when>
    <thetext>Created attachment 76312
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>320751</commentid>
    <comment_count>4</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2010-12-11 20:00:39 -0800</bug_when>
    <thetext>Attachment 76311 did not build on win:
Build output: http://queues.webkit.org/results/6918061</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>320753</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-12-11 20:57:18 -0800</bug_when>
    <thetext>Using the fixed-point math (BlurSumShift) from ContextShadow gets us to 2x performance, with some very minor pixel differences.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>320755</commentid>
    <comment_count>6</comment_count>
      <attachid>76312</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-12-11 22:39:12 -0800</bug_when>
    <thetext>Comment on attachment 76312
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=76312&amp;action=review

&gt; WebCore/ChangeLog:15
&gt; +        These changes giave a 1.42x performance improvement.

Typo: giave.

&gt; WebCore/platform/graphics/filters/FEGaussianBlur.cpp:133
&gt; +inline void boxBlurAlphaOnly(ByteArray* srcPixelArray, ByteArray* dstPixelArray,
&gt; +                    unsigned dx, int dxLeft, int dxRight, int stride, int strideLine, int effectWidth, int effectHeight)

Weird alignment here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>320762</commentid>
    <comment_count>7</comment_count>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2010-12-12 01:35:11 -0800</bug_when>
    <thetext>How and on what test case you measured the perf impovement? You could also add a new WebCore/manual-test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>320843</commentid>
    <comment_count>8</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2010-12-12 08:35:37 -0800</bug_when>
    <thetext>I&apos;d also like to see a perf test for gaussian blur in general, not only for this patch.

(In reply to comment #5)
&gt; Using the fixed-point math (BlurSumShift) from ContextShadow gets us to 2x performance, with some very minor pixel differences.

Did your last patch still cause some pixel differences? Alex and others spend a lot of time in making FEGaussianBlur as compatible and comparable  as possible with other viewers. Would like to know if the difference is noticeable.
Even so, can you update the pixel results please?

PS: Thanks for working on filters :-).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>320847</commentid>
    <comment_count>9</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-12-12 09:08:04 -0800</bug_when>
    <thetext>The patch posted here is math-identical with the current code.

I&apos;ll update pixel results if I post another patch with the fixed-point math.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>320848</commentid>
    <comment_count>10</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-12-12 09:09:26 -0800</bug_when>
    <thetext>I was measuring perf with some custom code that blurred a 382x382 rectangle.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>322262</commentid>
    <comment_count>11</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-12-14 15:14:20 -0800</bug_when>
    <thetext>Attachment 76312 was posted by a committer and has review+, assigning to Simon Fraser for commit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407668</commentid>
    <comment_count>12</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-05-22 10:10:50 -0700</bug_when>
    <thetext>Any news on this bug? Simon, do you land the patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407677</commentid>
    <comment_count>13</comment_count>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2011-05-22 10:36:56 -0700</bug_when>
    <thetext>I doubt it is still apply...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>423188</commentid>
    <comment_count>14</comment_count>
      <attachid>76312</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-06-18 12:44:50 -0700</bug_when>
    <thetext>Comment on attachment 76312
Patch

Clearing review flag on this old patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>925388</commentid>
    <comment_count>15</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-09-05 21:27:56 -0700</bug_when>
    <thetext>Bah, I pretty much rewrote this patch from scratch today.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>925419</commentid>
    <comment_count>16</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2013-09-05 23:36:26 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; Bah, I pretty much rewrote this patch from scratch today.

Where is this patch? Can we mark this one as duplicated or do you reuse this bug report?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>925421</commentid>
    <comment_count>17</comment_count>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2013-09-05 23:50:41 -0700</bug_when>
    <thetext>Looks nice.

I am just thinking that the following part:

// Fill the kernel
for (int i = 0; i &lt; maxKernelSize; ++i) {
    unsigned offset = line + i * stride;
    unsigned char* srcPtr = srcPixelArray-&gt;data() + offset;
    sumR += *srcPtr++;
    sumG += *srcPtr++;
    sumB += *srcPtr++;
    sumA += *srcPtr;
}

could be changed to:

unsigned char* srcPtr = srcPixelArray-&gt;data() + line;
for (int i = 0; i &lt; maxKernelSize; ++i, srcPtr += stride) {
    sumR += srcPtr[0];
    sumG += srcPtr[1];
    sumB += srcPtr[2];
    sumA += srcPtr[3];
} 

or:
unsigned char* srcPtr = srcPixelArray-&gt;data() + line;
unsigned char* end = srcPtr + maxKernelSize * stride;
while (srcPtr &lt; end) {
    sumR += srcPtr[0];
    sumG += srcPtr[1];
    sumB += srcPtr[2];
    sumA += srcPtr[3];
    srcPtr += stride
}

Something similar could be done in the internal loop.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>925604</commentid>
    <comment_count>18</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-09-06 08:55:28 -0700</bug_when>
    <thetext>The real killer right now is bug 120813, which swamps any other optimization twiddling we try to do in this function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>992753</commentid>
    <comment_count>19</comment_count>
      <attachid>227342</attachid>
    <who name="Adenilson Cavalcanti Silva">savagobr</who>
    <bug_when>2014-03-20 15:02:48 -0700</bug_when>
    <thetext>Created attachment 227342
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>992754</commentid>
    <comment_count>20</comment_count>
    <who name="Adenilson Cavalcanti Silva">savagobr</who>
    <bug_when>2014-03-20 15:03:44 -0700</bug_when>
    <thetext>I observed an improvement of 7 to 10% in SVG perf test MtSaintHelens.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>992756</commentid>
    <comment_count>21</comment_count>
      <attachid>227343</attachid>
    <who name="Adenilson Cavalcanti Silva">savagobr</who>
    <bug_when>2014-03-20 15:05:07 -0700</bug_when>
    <thetext>Created attachment 227343
6 executions (3 vanilla, 3 patched)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>993166</commentid>
    <comment_count>22</comment_count>
      <attachid>227342</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2014-03-21 10:02:45 -0700</bug_when>
    <thetext>Comment on attachment 227342
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=227342&amp;action=review

smfr or dino, do you have further input?

&gt; Source/WebCore/platform/graphics/filters/FEGaussianBlur.cpp:94
&gt; +inline void boxBlurAlphaOnly(Uint8ClampedArray* srcPixelArray, Uint8ClampedArray* dstPixelArray,

is it really not possible to combine that with the code following? Looks sad that we have a separate code path just for SourceAlpha cases.

Ah, looked at the following code again... So you save iterating 4 times through the image data.

&gt; Source/WebCore/platform/graphics/filters/FEGaussianBlur.cpp:142
&gt; +    if (alphaImage) {
&gt; +        return boxBlurAlphaOnly(srcPixelArray, dstPixelArray, dx, dxLeft, dxRight, stride, strideLine,
&gt; +            effectWidth, effectHeight, maxKernelSize);
&gt; +    }

You can omit braces here.

&gt; Source/WebCore/platform/graphics/filters/FEGaussianBlur.cpp:225
&gt; +

no unnecessary new lines

&gt; Source/WebCore/platform/graphics/filters/FEGaussianBlur.cpp:244
&gt; +

no unnecessary new lines

&gt; Source/WebCore/platform/graphics/filters/FEGaussianBlur.cpp:259
&gt; +

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>993170</commentid>
    <comment_count>23</comment_count>
      <attachid>227342</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-03-21 10:09:20 -0700</bug_when>
    <thetext>Comment on attachment 227342
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=227342&amp;action=review

&gt; Source/WebCore/platform/graphics/filters/FEGaussianBlur.cpp:95
&gt; +inline void boxBlurAlphaOnly(Uint8ClampedArray* srcPixelArray, Uint8ClampedArray* dstPixelArray,
&gt; +    unsigned dx, int&amp; dxLeft, int&amp; dxRight, int&amp; stride, int&amp; strideLine, int&amp; effectWidth, int&amp; effectHeight, const int&amp; maxKernelSize)

The Uint8ClampedArray* should be Uint8ClampedArray&amp; (in the caller too).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>993179</commentid>
    <comment_count>24</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2014-03-21 10:18:02 -0700</bug_when>
    <thetext>(In reply to comment #23)
&gt; (From update of attachment 227342 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=227342&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/filters/FEGaussianBlur.cpp:95
&gt; &gt; +inline void boxBlurAlphaOnly(Uint8ClampedArray* srcPixelArray, Uint8ClampedArray* dstPixelArray,
&gt; &gt; +    unsigned dx, int&amp; dxLeft, int&amp; dxRight, int&amp; stride, int&amp; strideLine, int&amp; effectWidth, int&amp; effectHeight, const int&amp; maxKernelSize)
&gt; 
&gt; The Uint8ClampedArray* should be Uint8ClampedArray&amp; (in the caller too).

Adenilson investigates in a potential regression. If it turns out to be a false negative r=me as well. Otherwise we need to investigate the reason first.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>993206</commentid>
    <comment_count>25</comment_count>
      <attachid>227457</attachid>
    <who name="Adenilson Cavalcanti Silva">savagobr</who>
    <bug_when>2014-03-21 10:57:01 -0700</bug_when>
    <thetext>Created attachment 227457
filters (css3/svg) and fast tests results in Vanilla (trunk of today)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>993209</commentid>
    <comment_count>26</comment_count>
      <attachid>227459</attachid>
    <who name="Adenilson Cavalcanti Silva">savagobr</who>
    <bug_when>2014-03-21 10:58:00 -0700</bug_when>
    <thetext>Created attachment 227459
Patched resultsfilters (css3/svg) and fast tests results</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>993226</commentid>
    <comment_count>27</comment_count>
      <attachid>227465</attachid>
    <who name="Adenilson Cavalcanti Silva">savagobr</who>
    <bug_when>2014-03-21 11:20:59 -0700</bug_when>
    <thetext>Created attachment 227465
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>993245</commentid>
    <comment_count>28</comment_count>
      <attachid>227465</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-03-21 12:03:03 -0700</bug_when>
    <thetext>Comment on attachment 227465
Patch

Clearing flags on attachment: 227465

Committed r166084: &lt;http://trac.webkit.org/changeset/166084&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>993246</commentid>
    <comment_count>29</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-03-21 12:03:11 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>76311</attachid>
            <date>2010-12-11 19:14:43 -0800</date>
            <delta_ts>2010-12-11 19:42:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-50881-20101211191441.patch</filename>
            <type>text/plain</type>
            <size>11806</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NTY5YTkxYWM2NWE2YTU3ODgwYTQ1NTc2MjdkMmYzMmNkOWI4N2IwNy4uMTJiMjg4Y2EwMmFiOTc2
ZmM5YTViYzc0NDkyZDAzNzBhNTNjOTVkMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOCBAQAorMjAxMC0xMi0xMSAgU2lt
b24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBPcHRpbWl6ZSBGRUdhdXNzaWFuIGJsdXIKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUwODgxCisKKyAg
ICAgICAgVXNlIGFuIEludFNpemUgZm9yIGtlcm5lbFNpemUgdG8gbWFrZSB0aGUgY29kZSBhIGxp
dHRsZSBjbGVhbmVyLgorCisgICAgICAgIFNlcGFyYXRlIG91dCB0aGUgYWxwaGEtb25seSBhbmQg
UkdCQSBib3ggYmx1ciBtZXRob2RzIHRvIGF2b2lkCisgICAgICAgIHN3aXRjaGluZyBpbiBhbiBp
bm5lciBsb29wLCBhbmQgYWxsb3dpbmcgbW9yZSBvcHRpbWl6YXRpb25zLgorICAgICAgICAKKyAg
ICAgICAgUmF0aGVyIHRoYW4gbG9vcCBmb3IgY2hhbm5lbHMsIGRvIFJHQkEgaW4gb25lIGdvLgor
ICAgICAgICAKKyAgICAgICAgVGhlc2UgY2hhbmdlcyBnaWF2ZSBhIDEuNDJ4IHBlcmZvcm1hbmNl
IGltcHJvdmVtZW50LgorICAgICAgICAKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0
ZXJzL0ZFR2F1c3NpYW5CbHVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmJveEJsdXIpOgorICAg
ICAgICAoV2ViQ29yZTo6Ym94Qmx1ckFscGhhT25seSk6CisgICAgICAgIChXZWJDb3JlOjpjYWxj
dWxhdGVLZXJuZWxTaXplKToKKyAgICAgICAgKFdlYkNvcmU6OkZFR2F1c3NpYW5CbHVyOjpkZXRl
cm1pbmVBYnNvbHV0ZVBhaW50UmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpGRUdhdXNzaWFuQmx1
cjo6YXBwbHkpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVHYXVzc2lh
bkJsdXIuaDogUmVtb3ZlIGNhbGN1bGF0ZVN0ZERldmlhdGlvbigpLAorICAgICAgICB3aGljaCB3
YXMgdW51c2VkLgorCiAyMDEwLTEyLTA4ICBOaWNvbGFzIER1ZnJlc25lICA8bmljb2xhcy5kdWZy
ZXNuZUBjb2xsYWJvcmEuY28udWs+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTWFydGluIFJvYmlu
c29uLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFR2F1
c3NpYW5CbHVyLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUdhdXNz
aWFuQmx1ci5jcHAKaW5kZXggODc2ZTRiM2Q3NzJhM2ZjNmVmMmEzYTE3MDJlNzMwOGJiNjNkZjBl
MC4uMWQyOGE4NjQxNTIxY2E3NWFkNzIwZjJiYjYwYTE0MThkOWVhYTcxNCAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFR2F1c3NpYW5CbHVyLmNwcAorKysg
Yi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVHYXVzc2lhbkJsdXIuY3BwCkBA
IC0zMCwxMyArMzAsMTcgQEAKICNpbmNsdWRlICJGaWx0ZXIuaCIKICNpbmNsdWRlICJHcmFwaGlj
c0NvbnRleHQuaCIKICNpbmNsdWRlICJJbWFnZURhdGEuaCIKKyNpbXBvcnQgPHd0Zi9VbnVzZWRQ
YXJhbS5oPgogCiAjaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KIAotdXNpbmcgc3RkOjptYXg7
Cit1c2luZyBuYW1lc3BhY2Ugc3RkOwogCiBzdGF0aWMgY29uc3QgZmxvYXQgZ0dhdXNzaWFuS2Vy
bmVsRmFjdG9yID0gMyAvIDQuZiAqIHNxcnRmKDIgKiBwaUZsb2F0KTsKLXN0YXRpYyBjb25zdCB1
bnNpZ25lZCBnTWF4S2VybmVsU2l6ZSA9IDEwMDA7CisKKy8vIExpbWl0IHRoZSBrZXJuZWwgc2l6
ZSB0byAxMDAwLiBBIGJpZ2dlciByYWRpdXMgd29uJ3QgbWFrZSBhIGJpZyBkaWZmZXJlbmNlIGZv
ciB0aGUgcmVzdWx0IGltYWdlIGJ1dAorLy8gaW5mbGF0ZXMgdGhlIGFic29sdXRlIHBhaW50IHJl
Y3QgdG8gbXVjaC4gVGhpcyBpcyBjb21wYXRpYmxlIHdpdGggRmlyZWZveCcgYmVoYXZpb3IuCitz
dGF0aWMgY29uc3QgaW50IGdNYXhLZXJuZWxTaXplID0gMTAwMDsKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCkBAIC03MywyOCArNzcsODMgQEAgdm9pZCBGRUdhdXNzaWFuQmx1cjo6c2V0U3RkRGV2
aWF0aW9uWShmbG9hdCB5KQogfQogCiBpbmxpbmUgdm9pZCBib3hCbHVyKEJ5dGVBcnJheSogc3Jj
UGl4ZWxBcnJheSwgQnl0ZUFycmF5KiBkc3RQaXhlbEFycmF5LAotICAgICAgICAgICAgICAgICAg
ICB1bnNpZ25lZCBkeCwgaW50IGR4TGVmdCwgaW50IGR4UmlnaHQsIGludCBzdHJpZGUsIGludCBz
dHJpZGVMaW5lLCBpbnQgZWZmZWN0V2lkdGgsIGludCBlZmZlY3RIZWlnaHQsIGJvb2wgYWxwaGFJ
bWFnZSkKKyAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgZHgsIGludCBkeExlZnQsIGludCBk
eFJpZ2h0LCBpbnQgc3RyaWRlLCBpbnQgc3RyaWRlTGluZSwgaW50IGVmZmVjdFdpZHRoLCBpbnQg
ZWZmZWN0SGVpZ2h0KQogeworICAgIGNvbnN0IGludCBtYXhLZXJuZWxTaXplID0gbWluKGR4Umln
aHQsIGVmZmVjdFdpZHRoKTsKKwogICAgIGZvciAoaW50IHkgPSAwOyB5IDwgZWZmZWN0SGVpZ2h0
OyArK3kpIHsKICAgICAgICAgaW50IGxpbmUgPSB5ICogc3RyaWRlTGluZTsKLSAgICAgICAgZm9y
IChpbnQgY2hhbm5lbCA9IDM7IGNoYW5uZWwgPj0gMDsgLS1jaGFubmVsKSB7Ci0gICAgICAgICAg
ICBpbnQgc3VtID0gMDsKLSAgICAgICAgICAgIC8vIEZpbGwgdGhlIGtlcm5lbAotICAgICAgICAg
ICAgaW50IG1heEtlcm5lbFNpemUgPSBzdGQ6Om1pbihkeFJpZ2h0LCBlZmZlY3RXaWR0aCk7Ci0g
ICAgICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IG1heEtlcm5lbFNpemU7ICsraSkKLSAgICAg
ICAgICAgICAgICBzdW0gKz0gc3JjUGl4ZWxBcnJheS0+Z2V0KGxpbmUgKyBpICogc3RyaWRlICsg
Y2hhbm5lbCk7Ci0KLSAgICAgICAgICAgIC8vIEJsdXJyaW5nCi0gICAgICAgICAgICBmb3IgKGlu
dCB4ID0gMDsgeCA8IGVmZmVjdFdpZHRoOyArK3gpIHsKLSAgICAgICAgICAgICAgICBpbnQgcGl4
ZWxCeXRlT2Zmc2V0ID0gbGluZSArIHggKiBzdHJpZGUgKyBjaGFubmVsOwotICAgICAgICAgICAg
ICAgIGRzdFBpeGVsQXJyYXktPnNldChwaXhlbEJ5dGVPZmZzZXQsIHN0YXRpY19jYXN0PHVuc2ln
bmVkIGNoYXI+KHN1bSAvIGR4KSk7Ci0gICAgICAgICAgICAgICAgaWYgKHggPj0gZHhMZWZ0KQot
ICAgICAgICAgICAgICAgICAgICBzdW0gLT0gc3JjUGl4ZWxBcnJheS0+Z2V0KHBpeGVsQnl0ZU9m
ZnNldCAtIGR4TGVmdCAqIHN0cmlkZSk7Ci0gICAgICAgICAgICAgICAgaWYgKHggKyBkeFJpZ2h0
IDwgZWZmZWN0V2lkdGgpCi0gICAgICAgICAgICAgICAgICAgIHN1bSArPSBzcmNQaXhlbEFycmF5
LT5nZXQocGl4ZWxCeXRlT2Zmc2V0ICsgZHhSaWdodCAqIHN0cmlkZSk7CisKKyAgICAgICAgaW50
IHN1bVIgPSAwOworICAgICAgICBpbnQgc3VtRyA9IDA7CisgICAgICAgIGludCBzdW1CID0gMDsK
KyAgICAgICAgaW50IHN1bUEgPSAwOworCisgICAgICAgIC8vIEZpbGwgdGhlIGtlcm5lbAorICAg
ICAgICBmb3IgKGludCBpID0gMDsgaSA8IG1heEtlcm5lbFNpemU7ICsraSkgeworICAgICAgICAg
ICAgdW5zaWduZWQgb2Zmc2V0ID0gbGluZSArIGkgKiBzdHJpZGU7CisgICAgICAgICAgICB1bnNp
Z25lZCBjaGFyKiBzcmNQdHIgPSBzcmNQaXhlbEFycmF5LT5kYXRhKCkgKyBvZmZzZXQ7CisgICAg
ICAgICAgICBzdW1SICs9ICpzcmNQdHIrKzsKKyAgICAgICAgICAgIHN1bUcgKz0gKnNyY1B0cisr
OworICAgICAgICAgICAgc3VtQiArPSAqc3JjUHRyKys7CisgICAgICAgICAgICBzdW1BICs9ICpz
cmNQdHI7CisgICAgICAgIH0KKworICAgICAgICAvLyBCbHVycmluZworICAgICAgICBmb3IgKGlu
dCB4ID0gMDsgeCA8IGVmZmVjdFdpZHRoOyArK3gpIHsKKyAgICAgICAgICAgIHVuc2lnbmVkIHBp
eGVsQnl0ZU9mZnNldCA9IGxpbmUgKyB4ICogc3RyaWRlOworICAgICAgICAgICAgdW5zaWduZWQg
Y2hhciogZHN0UHRyID0gZHN0UGl4ZWxBcnJheS0+ZGF0YSgpICsgcGl4ZWxCeXRlT2Zmc2V0Owor
CisgICAgICAgICAgICAqZHN0UHRyKysgPSBzdGF0aWNfY2FzdDx1bnNpZ25lZCBjaGFyPihzdW1S
IC8gZHgpOworICAgICAgICAgICAgKmRzdFB0cisrID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQgY2hh
cj4oc3VtRyAvIGR4KTsKKyAgICAgICAgICAgICpkc3RQdHIrKyA9IHN0YXRpY19jYXN0PHVuc2ln
bmVkIGNoYXI+KHN1bUIgLyBkeCk7CisgICAgICAgICAgICAqZHN0UHRyID0gc3RhdGljX2Nhc3Q8
dW5zaWduZWQgY2hhcj4oc3VtQSAvIGR4KTsKKworICAgICAgICAgICAgaWYgKHggPj0gZHhMZWZ0
KSB7CisgICAgICAgICAgICAgICAgdW5zaWduZWQgbGVmdE9mZnNldCA9IHBpeGVsQnl0ZU9mZnNl
dCAtIGR4TGVmdCAqIHN0cmlkZTsKKyAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiBzcmNQ
dHIgPSBzcmNQaXhlbEFycmF5LT5kYXRhKCkgKyBsZWZ0T2Zmc2V0OworICAgICAgICAgICAgICAg
IHN1bVIgLT0gKnNyY1B0cisrOworICAgICAgICAgICAgICAgIHN1bUcgLT0gKnNyY1B0cisrOwor
ICAgICAgICAgICAgICAgIHN1bUIgLT0gKnNyY1B0cisrOworICAgICAgICAgICAgICAgIHN1bUEg
LT0gKnNyY1B0cjsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaWYgKHggKyBkeFJpZ2h0
IDwgZWZmZWN0V2lkdGgpIHsKKyAgICAgICAgICAgICAgICB1bnNpZ25lZCByaWdodE9mZnNldCA9
IHBpeGVsQnl0ZU9mZnNldCArIGR4UmlnaHQgKiBzdHJpZGU7CisgICAgICAgICAgICAgICAgdW5z
aWduZWQgY2hhciogc3JjUHRyID0gc3JjUGl4ZWxBcnJheS0+ZGF0YSgpICsgcmlnaHRPZmZzZXQ7
CisgICAgICAgICAgICAgICAgc3VtUiArPSAqc3JjUHRyKys7CisgICAgICAgICAgICAgICAgc3Vt
RyArPSAqc3JjUHRyKys7CisgICAgICAgICAgICAgICAgc3VtQiArPSAqc3JjUHRyKys7CisgICAg
ICAgICAgICAgICAgc3VtQSArPSAqc3JjUHRyOwogICAgICAgICAgICAgfQotICAgICAgICAgICAg
aWYgKGFscGhhSW1hZ2UpIC8vIFNvdXJjZSBpbWFnZSBpcyBibGFjaywgaXQganVzdCBoYXMgZGlm
ZmVyZW50IGFscGhhIHZhbHVlcwotICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9Cisg
ICAgfQorfQorCitpbmxpbmUgdm9pZCBib3hCbHVyQWxwaGFPbmx5KEJ5dGVBcnJheSogc3JjUGl4
ZWxBcnJheSwgQnl0ZUFycmF5KiBkc3RQaXhlbEFycmF5LAorICAgICAgICAgICAgICAgICAgICB1
bnNpZ25lZCBkeCwgaW50IGR4TGVmdCwgaW50IGR4UmlnaHQsIGludCBzdHJpZGUsIGludCBzdHJp
ZGVMaW5lLCBpbnQgZWZmZWN0V2lkdGgsIGludCBlZmZlY3RIZWlnaHQpCit7CisgICAgY29uc3Qg
aW50IG1heEtlcm5lbFNpemUgPSBtaW4oZHhSaWdodCwgZWZmZWN0V2lkdGgpOworICAgIGNvbnN0
IGludCBjaGFubmVsID0gMzsgLy8gYWxwaGEKKyAgICAKKyAgICBmb3IgKGludCB5ID0gMDsgeSA8
IGVmZmVjdEhlaWdodDsgKyt5KSB7CisgICAgICAgIGludCBsaW5lID0geSAqIHN0cmlkZUxpbmU7
CisKKyAgICAgICAgaW50IHN1bSA9IDA7CisgICAgICAgIC8vIEZpbGwgdGhlIGtlcm5lbAorICAg
ICAgICBmb3IgKGludCBpID0gMDsgaSA8IG1heEtlcm5lbFNpemU7ICsraSkKKyAgICAgICAgICAg
IHN1bSArPSBzcmNQaXhlbEFycmF5LT5nZXQobGluZSArIGkgKiBzdHJpZGUgKyBjaGFubmVsKTsK
KworICAgICAgICAvLyBCbHVycmluZworICAgICAgICBmb3IgKGludCB4ID0gMDsgeCA8IGVmZmVj
dFdpZHRoOyArK3gpIHsKKyAgICAgICAgICAgIGludCBwaXhlbEJ5dGVPZmZzZXQgPSBsaW5lICsg
eCAqIHN0cmlkZSArIGNoYW5uZWw7CisgICAgICAgICAgICBkc3RQaXhlbEFycmF5LT5zZXQocGl4
ZWxCeXRlT2Zmc2V0LCBzdGF0aWNfY2FzdDx1bnNpZ25lZCBjaGFyPihzdW0gLyBkeCkpOworCisg
ICAgICAgICAgICBpZiAoeCA+PSBkeExlZnQpCisgICAgICAgICAgICAgICAgc3VtIC09IHNyY1Bp
eGVsQXJyYXktPmdldChwaXhlbEJ5dGVPZmZzZXQgLSBkeExlZnQgKiBzdHJpZGUpOworCisgICAg
ICAgICAgICBpZiAoeCArIGR4UmlnaHQgPCBlZmZlY3RXaWR0aCkKKyAgICAgICAgICAgICAgICBz
dW0gKz0gc3JjUGl4ZWxBcnJheS0+Z2V0KHBpeGVsQnl0ZU9mZnNldCArIGR4UmlnaHQgKiBzdHJp
ZGUpOwogICAgICAgICB9CiAgICAgfQogfQpAQCAtMTI3LDI0ICsxODYsMjQgQEAgaW5saW5lIHZv
aWQga2VybmVsUG9zaXRpb24oaW50IGJveEJsdXIsIHVuc2lnbmVkJiBzdGQsIGludCYgZExlZnQs
IGludCYgZFJpZ2h0KQogICAgIH0KIH0KIAotaW5saW5lIHZvaWQgY2FsY3VsYXRlS2VybmVsU2l6
ZShGaWx0ZXIqIGZpbHRlciwgdW5zaWduZWQmIGtlcm5lbFNpemVYLCB1bnNpZ25lZCYga2VybmVs
U2l6ZVksIGZsb2F0IHN0ZFgsIGZsb2F0IHN0ZFkpCitpbmxpbmUgSW50U2l6ZSBjYWxjdWxhdGVL
ZXJuZWxTaXplKEZpbHRlciogZmlsdGVyLCBmbG9hdCBzdGRYLCBmbG9hdCBzdGRZKQogewogICAg
IHN0ZFggPSBmaWx0ZXItPmFwcGx5SG9yaXpvbnRhbFNjYWxlKHN0ZFgpOwogICAgIHN0ZFkgPSBm
aWx0ZXItPmFwcGx5VmVydGljYWxTY2FsZShzdGRZKTsKICAgICAKLSAgICBrZXJuZWxTaXplWCA9
IDA7Ci0gICAgaWYgKHN0ZFgpCi0gICAgICAgIGtlcm5lbFNpemVYID0gbWF4PHVuc2lnbmVkPigy
LCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oZmxvb3JmKHN0ZFggKiBnR2F1c3NpYW5LZXJuZWxGYWN0
b3IgKyAwLjVmKSkpOwotICAgIGtlcm5lbFNpemVZID0gMDsKLSAgICBpZiAoc3RkWSkKLSAgICAg
ICAga2VybmVsU2l6ZVkgPSBtYXg8dW5zaWduZWQ+KDIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihm
bG9vcmYoc3RkWSAqIGdHYXVzc2lhbktlcm5lbEZhY3RvciArIDAuNWYpKSk7CisgICAgSW50U2l6
ZSBrZXJuZWxTaXplOwogICAgIAotICAgIC8vIExpbWl0IHRoZSBrZXJuZWwgc2l6ZSB0byAxMDAw
LiBBIGJpZ2dlciByYWRpdXMgd29uJ3QgbWFrZSBhIGJpZyBkaWZmZXJlbmNlIGZvciB0aGUgcmVz
dWx0IGltYWdlIGJ1dAotICAgIC8vIGluZmxhdGVzIHRoZSBhYnNvbHV0ZSBwYWludCByZWN0IHRv
IG11Y2guIFRoaXMgaXMgY29tcGF0aWJsZSB3aXRoIEZpcmVmb3gnIGJlaGF2aW9yLgotICAgIGlm
IChrZXJuZWxTaXplWCA+IGdNYXhLZXJuZWxTaXplKQotICAgICAgICBrZXJuZWxTaXplWCA9IGdN
YXhLZXJuZWxTaXplOwotICAgIGlmIChrZXJuZWxTaXplWSA+IGdNYXhLZXJuZWxTaXplKQotICAg
ICAgICBrZXJuZWxTaXplWSA9IGdNYXhLZXJuZWxTaXplOworICAgIGlmIChzdGRYKSB7CisgICAg
ICAgIGludCBzaXplID0gbWF4KDIsIHN0YXRpY19jYXN0PGludD4oZmxvb3JmKHN0ZFggKiBnR2F1
c3NpYW5LZXJuZWxGYWN0b3IgKyAwLjVmKSkpOworICAgICAgICBrZXJuZWxTaXplLnNldFdpZHRo
KG1pbihzaXplLCBnTWF4S2VybmVsU2l6ZSkpOworICAgIH0KKworICAgIGlmIChzdGRZKSB7Cisg
ICAgICAgIGludCBzaXplID0gbWF4KDIsIHN0YXRpY19jYXN0PGludD4oZmxvb3JmKHN0ZFkgKiBn
R2F1c3NpYW5LZXJuZWxGYWN0b3IgKyAwLjVmKSkpOworICAgICAgICBrZXJuZWxTaXplLnNldEhl
aWdodChtaW4oc2l6ZSwgZ01heEtlcm5lbFNpemUpKTsKKyAgICB9CisKKyAgICByZXR1cm4ga2Vy
bmVsU2l6ZTsKIH0KIAogdm9pZCBGRUdhdXNzaWFuQmx1cjo6ZGV0ZXJtaW5lQWJzb2x1dGVQYWlu
dFJlY3QoKQpAQCAtMTUyLDEzICsyMTEsMTEgQEAgdm9pZCBGRUdhdXNzaWFuQmx1cjo6ZGV0ZXJt
aW5lQWJzb2x1dGVQYWludFJlY3QoKQogICAgIEZsb2F0UmVjdCBhYnNvbHV0ZVBhaW50UmVjdCA9
IGlucHV0RWZmZWN0KDApLT5hYnNvbHV0ZVBhaW50UmVjdCgpOwogICAgIGFic29sdXRlUGFpbnRS
ZWN0LmludGVyc2VjdChtYXhFZmZlY3RSZWN0KCkpOwogCi0gICAgdW5zaWduZWQga2VybmVsU2l6
ZVggPSAwOwotICAgIHVuc2lnbmVkIGtlcm5lbFNpemVZID0gMDsKLSAgICBjYWxjdWxhdGVLZXJu
ZWxTaXplKGZpbHRlcigpLCBrZXJuZWxTaXplWCwga2VybmVsU2l6ZVksIG1fc3RkWCwgbV9zdGRZ
KTsKKyAgICBJbnRTaXplIGtlcm5lbFNpemUgPSBjYWxjdWxhdGVLZXJuZWxTaXplKGZpbHRlcigp
LCBtX3N0ZFgsIG1fc3RkWSk7CiAKICAgICAvLyBXZSB0YWtlIHRoZSBoYWxmIGtlcm5lbCBzaXpl
IGFuZCBtdWx0aXBseSBpdCB3aXRoIHRocmVlLCBiZWNhdXNlIHdlIHJ1biBib3ggYmx1ciB0aHJl
ZSB0aW1lcy4KLSAgICBhYnNvbHV0ZVBhaW50UmVjdC5pbmZsYXRlWCgzICoga2VybmVsU2l6ZVgg
KiAwLjVmKTsKLSAgICBhYnNvbHV0ZVBhaW50UmVjdC5pbmZsYXRlWSgzICoga2VybmVsU2l6ZVkg
KiAwLjVmKTsKKyAgICBhYnNvbHV0ZVBhaW50UmVjdC5pbmZsYXRlWCgzICoga2VybmVsU2l6ZS53
aWR0aCgpICogMC41Zik7CisgICAgYWJzb2x1dGVQYWludFJlY3QuaW5mbGF0ZVkoMyAqIGtlcm5l
bFNpemUuaGVpZ2h0KCkgKiAwLjVmKTsKICAgICBzZXRBYnNvbHV0ZVBhaW50UmVjdChlbmNsb3Np
bmdJbnRSZWN0KGFic29sdXRlUGFpbnRSZWN0KSk7CiB9CiAKQEAgLTE4MywyMyArMjQwLDI4IEBA
IHZvaWQgRkVHYXVzc2lhbkJsdXI6OmFwcGx5KCkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAot
ICAgIHVuc2lnbmVkIGtlcm5lbFNpemVYID0gMDsKLSAgICB1bnNpZ25lZCBrZXJuZWxTaXplWSA9
IDA7Ci0gICAgY2FsY3VsYXRlS2VybmVsU2l6ZShmaWx0ZXIoKSwga2VybmVsU2l6ZVgsIGtlcm5l
bFNpemVZLCBtX3N0ZFgsIG1fc3RkWSk7CisgICAgSW50U2l6ZSBrZXJuZWxTaXplID0gY2FsY3Vs
YXRlS2VybmVsU2l6ZShmaWx0ZXIoKSwgbV9zdGRYLCBtX3N0ZFkpOwogCiAgICAgQnl0ZUFycmF5
KiBzcmNQaXhlbEFycmF5ID0gc3JjSW1hZ2VEYXRhLT5kYXRhKCktPmRhdGEoKTsKICAgICBSZWZQ
dHI8SW1hZ2VEYXRhPiB0bXBJbWFnZURhdGEgPSBJbWFnZURhdGE6OmNyZWF0ZShpbWFnZVJlY3Qu
d2lkdGgoKSwgaW1hZ2VSZWN0LmhlaWdodCgpKTsKICAgICBCeXRlQXJyYXkqIHRtcFBpeGVsQXJy
YXkgPSB0bXBJbWFnZURhdGEtPmRhdGEoKS0+ZGF0YSgpOwogCiAgICAgaW50IHN0cmlkZSA9IDQg
KiBpbWFnZVJlY3Qud2lkdGgoKTsKKwogICAgIGludCBkeExlZnQgPSAwOwogICAgIGludCBkeFJp
Z2h0ID0gMDsKICAgICBpbnQgZHlMZWZ0ID0gMDsKICAgICBpbnQgZHlSaWdodCA9IDA7CisgICAg
dW5zaWduZWQga2VybmVsU2l6ZVggPSBrZXJuZWxTaXplLndpZHRoKCk7CisgICAgdW5zaWduZWQg
a2VybmVsU2l6ZVkgPSBrZXJuZWxTaXplLmhlaWdodCgpOworCiAgICAgZm9yIChpbnQgaSA9IDA7
IGkgPCAzOyArK2kpIHsKICAgICAgICAgaWYgKGtlcm5lbFNpemVYKSB7CiAgICAgICAgICAgICBr
ZXJuZWxQb3NpdGlvbihpLCBrZXJuZWxTaXplWCwgZHhMZWZ0LCBkeFJpZ2h0KTsKLSAgICAgICAg
ICAgIGJveEJsdXIoc3JjUGl4ZWxBcnJheSwgdG1wUGl4ZWxBcnJheSwga2VybmVsU2l6ZVgsIGR4
TGVmdCwgZHhSaWdodCwgNCwgc3RyaWRlLCBpbWFnZVJlY3Qud2lkdGgoKSwgaW1hZ2VSZWN0Lmhl
aWdodCgpLCBpc0FscGhhSW1hZ2UoKSk7CisgICAgICAgICAgICBpZiAoaXNBbHBoYUltYWdlKCkp
CisgICAgICAgICAgICAgICAgYm94Qmx1ckFscGhhT25seShzcmNQaXhlbEFycmF5LCB0bXBQaXhl
bEFycmF5LCBrZXJuZWxTaXplWCwgZHhMZWZ0LCBkeFJpZ2h0LCA0LCBzdHJpZGUsIGltYWdlUmVj
dC53aWR0aCgpLCBpbWFnZVJlY3QuaGVpZ2h0KCkpOworICAgICAgICAgICAgZWxzZQorICAgICAg
ICAgICAgICAgIGJveEJsdXIoc3JjUGl4ZWxBcnJheSwgdG1wUGl4ZWxBcnJheSwga2VybmVsU2l6
ZVgsIGR4TGVmdCwgZHhSaWdodCwgNCwgc3RyaWRlLCBpbWFnZVJlY3Qud2lkdGgoKSwgaW1hZ2VS
ZWN0LmhlaWdodCgpKTsKICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgIEJ5dGVBcnJheSog
YXV4UGl4ZWxBcnJheSA9IHRtcFBpeGVsQXJyYXk7CiAgICAgICAgICAgICB0bXBQaXhlbEFycmF5
ID0gc3JjUGl4ZWxBcnJheTsKQEAgLTIwOCw3ICsyNzAsMTAgQEAgdm9pZCBGRUdhdXNzaWFuQmx1
cjo6YXBwbHkoKQogCiAgICAgICAgIGlmIChrZXJuZWxTaXplWSkgewogICAgICAgICAgICAga2Vy
bmVsUG9zaXRpb24oaSwga2VybmVsU2l6ZVksIGR5TGVmdCwgZHlSaWdodCk7Ci0gICAgICAgICAg
ICBib3hCbHVyKHRtcFBpeGVsQXJyYXksIHNyY1BpeGVsQXJyYXksIGtlcm5lbFNpemVZLCBkeUxl
ZnQsIGR5UmlnaHQsIHN0cmlkZSwgNCwgaW1hZ2VSZWN0LmhlaWdodCgpLCBpbWFnZVJlY3Qud2lk
dGgoKSwgaXNBbHBoYUltYWdlKCkpOworICAgICAgICAgICAgaWYgKGlzQWxwaGFJbWFnZSgpKQor
ICAgICAgICAgICAgICAgIGJveEJsdXJBbHBoYU9ubHkodG1wUGl4ZWxBcnJheSwgc3JjUGl4ZWxB
cnJheSwga2VybmVsU2l6ZVksIGR5TGVmdCwgZHlSaWdodCwgc3RyaWRlLCA0LCBpbWFnZVJlY3Qu
aGVpZ2h0KCksIGltYWdlUmVjdC53aWR0aCgpKTsKKyAgICAgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgICAgICBib3hCbHVyKHRtcFBpeGVsQXJyYXksIHNyY1BpeGVsQXJyYXksIGtlcm5lbFNpemVZ
LCBkeUxlZnQsIGR5UmlnaHQsIHN0cmlkZSwgNCwgaW1hZ2VSZWN0LmhlaWdodCgpLCBpbWFnZVJl
Y3Qud2lkdGgoKSk7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBCeXRlQXJyYXkqIGF1
eFBpeGVsQXJyYXkgPSB0bXBQaXhlbEFycmF5OwogICAgICAgICAgICAgdG1wUGl4ZWxBcnJheSA9
IHNyY1BpeGVsQXJyYXk7CkBAIC0yMzMsMTIgKzI5OCw2IEBAIFRleHRTdHJlYW0mIEZFR2F1c3Np
YW5CbHVyOjpleHRlcm5hbFJlcHJlc2VudGF0aW9uKFRleHRTdHJlYW0mIHRzLCBpbnQgaW5kZW50
KSBjCiAgICAgcmV0dXJuIHRzOwogfQogCi1mbG9hdCBGRUdhdXNzaWFuQmx1cjo6Y2FsY3VsYXRl
U3RkRGV2aWF0aW9uKGZsb2F0IHJhZGl1cykKLXsKLSAgICAvLyBCbHVyIHJhZGl1cyByZXByZXNl
bnRzIDIvMyB0aW1lcyB0aGUga2VybmVsIHNpemUsIHRoZSBkZXN0IHBpeGVsIGlzIGhhbGYgb2Yg
dGhlIHJhZGl1cyBhcHBsaWVkIDMgdGltZXMKLSAgICByZXR1cm4gbWF4KChyYWRpdXMgKiAyIC8g
My5mIC0gMC41ZikgLyBnR2F1c3NpYW5LZXJuZWxGYWN0b3IsIDAuZik7Ci19Ci0KIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShGSUxURVJTKQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFR2F1c3NpYW5CbHVyLmggYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVHYXVzc2lhbkJsdXIuaAppbmRleCA3OWY5
YTQ1NzdmMTMzZTVkY2ZmYmNhNzc1NzJkZmY4NGViZjIwMjQxLi44ZjQ1MGM0ZTgyZWRlNjQ4ZjE3
Zjk2NzdhYzBjM2QzZWY3MWFlNWNjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2ZpbHRlcnMvRkVHYXVzc2lhbkJsdXIuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2ZpbHRlcnMvRkVHYXVzc2lhbkJsdXIuaApAQCAtMzgsOCArMzgsNiBAQCBwdWJsaWM6CiAg
ICAgZmxvYXQgc3RkRGV2aWF0aW9uWSgpIGNvbnN0OwogICAgIHZvaWQgc2V0U3RkRGV2aWF0aW9u
WShmbG9hdCk7CiAKLSAgICBzdGF0aWMgZmxvYXQgY2FsY3VsYXRlU3RkRGV2aWF0aW9uKGZsb2F0
KTsKLQogICAgIHZpcnR1YWwgdm9pZCBhcHBseSgpOwogICAgIHZpcnR1YWwgdm9pZCBkdW1wKCk7
CiAgICAgCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>76312</attachid>
            <date>2010-12-11 19:42:17 -0800</date>
            <delta_ts>2011-06-18 12:44:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-50881-20101211194215.patch</filename>
            <type>text/plain</type>
            <size>11702</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NTY5YTkxYWM2NWE2YTU3ODgwYTQ1NTc2MjdkMmYzMmNkOWI4N2IwNy4uMTJiMjg4Y2EwMmFiOTc2
ZmM5YTViYzc0NDkyZDAzNzBhNTNjOTVkMCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOCBAQAorMjAxMC0xMi0xMSAgU2lt
b24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBPcHRpbWl6ZSBGRUdhdXNzaWFuIGJsdXIKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUwODgxCisKKyAg
ICAgICAgVXNlIGFuIEludFNpemUgZm9yIGtlcm5lbFNpemUgdG8gbWFrZSB0aGUgY29kZSBhIGxp
dHRsZSBjbGVhbmVyLgorCisgICAgICAgIFNlcGFyYXRlIG91dCB0aGUgYWxwaGEtb25seSBhbmQg
UkdCQSBib3ggYmx1ciBtZXRob2RzIHRvIGF2b2lkCisgICAgICAgIHN3aXRjaGluZyBpbiBhbiBp
bm5lciBsb29wLCBhbmQgYWxsb3dpbmcgbW9yZSBvcHRpbWl6YXRpb25zLgorICAgICAgICAKKyAg
ICAgICAgUmF0aGVyIHRoYW4gbG9vcCBmb3IgY2hhbm5lbHMsIGRvIFJHQkEgaW4gb25lIGdvLgor
ICAgICAgICAKKyAgICAgICAgVGhlc2UgY2hhbmdlcyBnaWF2ZSBhIDEuNDJ4IHBlcmZvcm1hbmNl
IGltcHJvdmVtZW50LgorICAgICAgICAKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9maWx0
ZXJzL0ZFR2F1c3NpYW5CbHVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmJveEJsdXIpOgorICAg
ICAgICAoV2ViQ29yZTo6Ym94Qmx1ckFscGhhT25seSk6CisgICAgICAgIChXZWJDb3JlOjpjYWxj
dWxhdGVLZXJuZWxTaXplKToKKyAgICAgICAgKFdlYkNvcmU6OkZFR2F1c3NpYW5CbHVyOjpkZXRl
cm1pbmVBYnNvbHV0ZVBhaW50UmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpGRUdhdXNzaWFuQmx1
cjo6YXBwbHkpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVHYXVzc2lh
bkJsdXIuaDogUmVtb3ZlIGNhbGN1bGF0ZVN0ZERldmlhdGlvbigpLAorICAgICAgICB3aGljaCB3
YXMgdW51c2VkLgorCiAyMDEwLTEyLTA4ICBOaWNvbGFzIER1ZnJlc25lICA8bmljb2xhcy5kdWZy
ZXNuZUBjb2xsYWJvcmEuY28udWs+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTWFydGluIFJvYmlu
c29uLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFR2F1
c3NpYW5CbHVyLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUdhdXNz
aWFuQmx1ci5jcHAKaW5kZXggODc2ZTRiM2Q3NzJhM2ZjNmVmMmEzYTE3MDJlNzMwOGJiNjNkZjBl
MC4uNDcxMWZiN2FkMzA4ZWM3N2UwMmMwN2YyNTY5MzkxMTE0ODY3NjIwYiAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFR2F1c3NpYW5CbHVyLmNwcAorKysg
Yi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVHYXVzc2lhbkJsdXIuY3BwCkBA
IC0zMywxMCArMzMsMTMgQEAKIAogI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFzLmg+CiAKLXVzaW5n
IHN0ZDo6bWF4OwordXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAogc3RhdGljIGNvbnN0IGZsb2F0IGdH
YXVzc2lhbktlcm5lbEZhY3RvciA9IDMgLyA0LmYgKiBzcXJ0ZigyICogcGlGbG9hdCk7Ci1zdGF0
aWMgY29uc3QgdW5zaWduZWQgZ01heEtlcm5lbFNpemUgPSAxMDAwOworCisvLyBMaW1pdCB0aGUg
a2VybmVsIHNpemUgdG8gMTAwMC4gQSBiaWdnZXIgcmFkaXVzIHdvbid0IG1ha2UgYSBiaWcgZGlm
ZmVyZW5jZSBmb3IgdGhlIHJlc3VsdCBpbWFnZSBidXQKKy8vIGluZmxhdGVzIHRoZSBhYnNvbHV0
ZSBwYWludCByZWN0IHRvIG11Y2guIFRoaXMgaXMgY29tcGF0aWJsZSB3aXRoIEZpcmVmb3gnIGJl
aGF2aW9yLgorc3RhdGljIGNvbnN0IGludCBnTWF4S2VybmVsU2l6ZSA9IDEwMDA7CiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIApAQCAtNzMsMjggKzc2LDgzIEBAIHZvaWQgRkVHYXVzc2lhbkJsdXI6
OnNldFN0ZERldmlhdGlvblkoZmxvYXQgeSkKIH0KIAogaW5saW5lIHZvaWQgYm94Qmx1cihCeXRl
QXJyYXkqIHNyY1BpeGVsQXJyYXksIEJ5dGVBcnJheSogZHN0UGl4ZWxBcnJheSwKLSAgICAgICAg
ICAgICAgICAgICAgdW5zaWduZWQgZHgsIGludCBkeExlZnQsIGludCBkeFJpZ2h0LCBpbnQgc3Ry
aWRlLCBpbnQgc3RyaWRlTGluZSwgaW50IGVmZmVjdFdpZHRoLCBpbnQgZWZmZWN0SGVpZ2h0LCBi
b29sIGFscGhhSW1hZ2UpCisgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGR4LCBpbnQgZHhM
ZWZ0LCBpbnQgZHhSaWdodCwgaW50IHN0cmlkZSwgaW50IHN0cmlkZUxpbmUsIGludCBlZmZlY3RX
aWR0aCwgaW50IGVmZmVjdEhlaWdodCkKIHsKKyAgICBjb25zdCBpbnQgbWF4S2VybmVsU2l6ZSA9
IG1pbihkeFJpZ2h0LCBlZmZlY3RXaWR0aCk7CisKICAgICBmb3IgKGludCB5ID0gMDsgeSA8IGVm
ZmVjdEhlaWdodDsgKyt5KSB7CiAgICAgICAgIGludCBsaW5lID0geSAqIHN0cmlkZUxpbmU7Ci0g
ICAgICAgIGZvciAoaW50IGNoYW5uZWwgPSAzOyBjaGFubmVsID49IDA7IC0tY2hhbm5lbCkgewot
ICAgICAgICAgICAgaW50IHN1bSA9IDA7Ci0gICAgICAgICAgICAvLyBGaWxsIHRoZSBrZXJuZWwK
LSAgICAgICAgICAgIGludCBtYXhLZXJuZWxTaXplID0gc3RkOjptaW4oZHhSaWdodCwgZWZmZWN0
V2lkdGgpOwotICAgICAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBtYXhLZXJuZWxTaXplOyAr
K2kpCi0gICAgICAgICAgICAgICAgc3VtICs9IHNyY1BpeGVsQXJyYXktPmdldChsaW5lICsgaSAq
IHN0cmlkZSArIGNoYW5uZWwpOwotCi0gICAgICAgICAgICAvLyBCbHVycmluZwotICAgICAgICAg
ICAgZm9yIChpbnQgeCA9IDA7IHggPCBlZmZlY3RXaWR0aDsgKyt4KSB7Ci0gICAgICAgICAgICAg
ICAgaW50IHBpeGVsQnl0ZU9mZnNldCA9IGxpbmUgKyB4ICogc3RyaWRlICsgY2hhbm5lbDsKLSAg
ICAgICAgICAgICAgICBkc3RQaXhlbEFycmF5LT5zZXQocGl4ZWxCeXRlT2Zmc2V0LCBzdGF0aWNf
Y2FzdDx1bnNpZ25lZCBjaGFyPihzdW0gLyBkeCkpOwotICAgICAgICAgICAgICAgIGlmICh4ID49
IGR4TGVmdCkKLSAgICAgICAgICAgICAgICAgICAgc3VtIC09IHNyY1BpeGVsQXJyYXktPmdldChw
aXhlbEJ5dGVPZmZzZXQgLSBkeExlZnQgKiBzdHJpZGUpOwotICAgICAgICAgICAgICAgIGlmICh4
ICsgZHhSaWdodCA8IGVmZmVjdFdpZHRoKQotICAgICAgICAgICAgICAgICAgICBzdW0gKz0gc3Jj
UGl4ZWxBcnJheS0+Z2V0KHBpeGVsQnl0ZU9mZnNldCArIGR4UmlnaHQgKiBzdHJpZGUpOworCisg
ICAgICAgIGludCBzdW1SID0gMDsKKyAgICAgICAgaW50IHN1bUcgPSAwOworICAgICAgICBpbnQg
c3VtQiA9IDA7CisgICAgICAgIGludCBzdW1BID0gMDsKKworICAgICAgICAvLyBGaWxsIHRoZSBr
ZXJuZWwKKyAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBtYXhLZXJuZWxTaXplOyArK2kpIHsK
KyAgICAgICAgICAgIHVuc2lnbmVkIG9mZnNldCA9IGxpbmUgKyBpICogc3RyaWRlOworICAgICAg
ICAgICAgdW5zaWduZWQgY2hhciogc3JjUHRyID0gc3JjUGl4ZWxBcnJheS0+ZGF0YSgpICsgb2Zm
c2V0OworICAgICAgICAgICAgc3VtUiArPSAqc3JjUHRyKys7CisgICAgICAgICAgICBzdW1HICs9
ICpzcmNQdHIrKzsKKyAgICAgICAgICAgIHN1bUIgKz0gKnNyY1B0cisrOworICAgICAgICAgICAg
c3VtQSArPSAqc3JjUHRyOworICAgICAgICB9CisKKyAgICAgICAgLy8gQmx1cnJpbmcKKyAgICAg
ICAgZm9yIChpbnQgeCA9IDA7IHggPCBlZmZlY3RXaWR0aDsgKyt4KSB7CisgICAgICAgICAgICB1
bnNpZ25lZCBwaXhlbEJ5dGVPZmZzZXQgPSBsaW5lICsgeCAqIHN0cmlkZTsKKyAgICAgICAgICAg
IHVuc2lnbmVkIGNoYXIqIGRzdFB0ciA9IGRzdFBpeGVsQXJyYXktPmRhdGEoKSArIHBpeGVsQnl0
ZU9mZnNldDsKKworICAgICAgICAgICAgKmRzdFB0cisrID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQg
Y2hhcj4oc3VtUiAvIGR4KTsKKyAgICAgICAgICAgICpkc3RQdHIrKyA9IHN0YXRpY19jYXN0PHVu
c2lnbmVkIGNoYXI+KHN1bUcgLyBkeCk7CisgICAgICAgICAgICAqZHN0UHRyKysgPSBzdGF0aWNf
Y2FzdDx1bnNpZ25lZCBjaGFyPihzdW1CIC8gZHgpOworICAgICAgICAgICAgKmRzdFB0ciA9IHN0
YXRpY19jYXN0PHVuc2lnbmVkIGNoYXI+KHN1bUEgLyBkeCk7CisKKyAgICAgICAgICAgIGlmICh4
ID49IGR4TGVmdCkgeworICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxlZnRPZmZzZXQgPSBwaXhl
bEJ5dGVPZmZzZXQgLSBkeExlZnQgKiBzdHJpZGU7CisgICAgICAgICAgICAgICAgdW5zaWduZWQg
Y2hhciogc3JjUHRyID0gc3JjUGl4ZWxBcnJheS0+ZGF0YSgpICsgbGVmdE9mZnNldDsKKyAgICAg
ICAgICAgICAgICBzdW1SIC09ICpzcmNQdHIrKzsKKyAgICAgICAgICAgICAgICBzdW1HIC09ICpz
cmNQdHIrKzsKKyAgICAgICAgICAgICAgICBzdW1CIC09ICpzcmNQdHIrKzsKKyAgICAgICAgICAg
ICAgICBzdW1BIC09ICpzcmNQdHI7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGlmICh4
ICsgZHhSaWdodCA8IGVmZmVjdFdpZHRoKSB7CisgICAgICAgICAgICAgICAgdW5zaWduZWQgcmln
aHRPZmZzZXQgPSBwaXhlbEJ5dGVPZmZzZXQgKyBkeFJpZ2h0ICogc3RyaWRlOworICAgICAgICAg
ICAgICAgIHVuc2lnbmVkIGNoYXIqIHNyY1B0ciA9IHNyY1BpeGVsQXJyYXktPmRhdGEoKSArIHJp
Z2h0T2Zmc2V0OworICAgICAgICAgICAgICAgIHN1bVIgKz0gKnNyY1B0cisrOworICAgICAgICAg
ICAgICAgIHN1bUcgKz0gKnNyY1B0cisrOworICAgICAgICAgICAgICAgIHN1bUIgKz0gKnNyY1B0
cisrOworICAgICAgICAgICAgICAgIHN1bUEgKz0gKnNyY1B0cjsKICAgICAgICAgICAgIH0KLSAg
ICAgICAgICAgIGlmIChhbHBoYUltYWdlKSAvLyBTb3VyY2UgaW1hZ2UgaXMgYmxhY2ssIGl0IGp1
c3QgaGFzIGRpZmZlcmVudCBhbHBoYSB2YWx1ZXMKLSAgICAgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgfQorICAgIH0KK30KKworaW5saW5lIHZvaWQgYm94Qmx1ckFscGhhT25seShCeXRlQXJy
YXkqIHNyY1BpeGVsQXJyYXksIEJ5dGVBcnJheSogZHN0UGl4ZWxBcnJheSwKKyAgICAgICAgICAg
ICAgICAgICAgdW5zaWduZWQgZHgsIGludCBkeExlZnQsIGludCBkeFJpZ2h0LCBpbnQgc3RyaWRl
LCBpbnQgc3RyaWRlTGluZSwgaW50IGVmZmVjdFdpZHRoLCBpbnQgZWZmZWN0SGVpZ2h0KQorewor
ICAgIGNvbnN0IGludCBtYXhLZXJuZWxTaXplID0gbWluKGR4UmlnaHQsIGVmZmVjdFdpZHRoKTsK
KyAgICBjb25zdCBpbnQgY2hhbm5lbCA9IDM7IC8vIGFscGhhCisgICAgCisgICAgZm9yIChpbnQg
eSA9IDA7IHkgPCBlZmZlY3RIZWlnaHQ7ICsreSkgeworICAgICAgICBpbnQgbGluZSA9IHkgKiBz
dHJpZGVMaW5lOworCisgICAgICAgIGludCBzdW0gPSAwOworICAgICAgICAvLyBGaWxsIHRoZSBr
ZXJuZWwKKyAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBtYXhLZXJuZWxTaXplOyArK2kpCisg
ICAgICAgICAgICBzdW0gKz0gc3JjUGl4ZWxBcnJheS0+Z2V0KGxpbmUgKyBpICogc3RyaWRlICsg
Y2hhbm5lbCk7CisKKyAgICAgICAgLy8gQmx1cnJpbmcKKyAgICAgICAgZm9yIChpbnQgeCA9IDA7
IHggPCBlZmZlY3RXaWR0aDsgKyt4KSB7CisgICAgICAgICAgICBpbnQgcGl4ZWxCeXRlT2Zmc2V0
ID0gbGluZSArIHggKiBzdHJpZGUgKyBjaGFubmVsOworICAgICAgICAgICAgZHN0UGl4ZWxBcnJh
eS0+c2V0KHBpeGVsQnl0ZU9mZnNldCwgc3RhdGljX2Nhc3Q8dW5zaWduZWQgY2hhcj4oc3VtIC8g
ZHgpKTsKKworICAgICAgICAgICAgaWYgKHggPj0gZHhMZWZ0KQorICAgICAgICAgICAgICAgIHN1
bSAtPSBzcmNQaXhlbEFycmF5LT5nZXQocGl4ZWxCeXRlT2Zmc2V0IC0gZHhMZWZ0ICogc3RyaWRl
KTsKKworICAgICAgICAgICAgaWYgKHggKyBkeFJpZ2h0IDwgZWZmZWN0V2lkdGgpCisgICAgICAg
ICAgICAgICAgc3VtICs9IHNyY1BpeGVsQXJyYXktPmdldChwaXhlbEJ5dGVPZmZzZXQgKyBkeFJp
Z2h0ICogc3RyaWRlKTsKICAgICAgICAgfQogICAgIH0KIH0KQEAgLTEyNywyNCArMTg1LDI0IEBA
IGlubGluZSB2b2lkIGtlcm5lbFBvc2l0aW9uKGludCBib3hCbHVyLCB1bnNpZ25lZCYgc3RkLCBp
bnQmIGRMZWZ0LCBpbnQmIGRSaWdodCkKICAgICB9CiB9CiAKLWlubGluZSB2b2lkIGNhbGN1bGF0
ZUtlcm5lbFNpemUoRmlsdGVyKiBmaWx0ZXIsIHVuc2lnbmVkJiBrZXJuZWxTaXplWCwgdW5zaWdu
ZWQmIGtlcm5lbFNpemVZLCBmbG9hdCBzdGRYLCBmbG9hdCBzdGRZKQoraW5saW5lIEludFNpemUg
Y2FsY3VsYXRlS2VybmVsU2l6ZShGaWx0ZXIqIGZpbHRlciwgZmxvYXQgc3RkWCwgZmxvYXQgc3Rk
WSkKIHsKICAgICBzdGRYID0gZmlsdGVyLT5hcHBseUhvcml6b250YWxTY2FsZShzdGRYKTsKICAg
ICBzdGRZID0gZmlsdGVyLT5hcHBseVZlcnRpY2FsU2NhbGUoc3RkWSk7CiAgICAgCi0gICAga2Vy
bmVsU2l6ZVggPSAwOwotICAgIGlmIChzdGRYKQotICAgICAgICBrZXJuZWxTaXplWCA9IG1heDx1
bnNpZ25lZD4oMiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGZsb29yZihzdGRYICogZ0dhdXNzaWFu
S2VybmVsRmFjdG9yICsgMC41ZikpKTsKLSAgICBrZXJuZWxTaXplWSA9IDA7Ci0gICAgaWYgKHN0
ZFkpCi0gICAgICAgIGtlcm5lbFNpemVZID0gbWF4PHVuc2lnbmVkPigyLCBzdGF0aWNfY2FzdDx1
bnNpZ25lZD4oZmxvb3JmKHN0ZFkgKiBnR2F1c3NpYW5LZXJuZWxGYWN0b3IgKyAwLjVmKSkpOwor
ICAgIEludFNpemUga2VybmVsU2l6ZTsKICAgICAKLSAgICAvLyBMaW1pdCB0aGUga2VybmVsIHNp
emUgdG8gMTAwMC4gQSBiaWdnZXIgcmFkaXVzIHdvbid0IG1ha2UgYSBiaWcgZGlmZmVyZW5jZSBm
b3IgdGhlIHJlc3VsdCBpbWFnZSBidXQKLSAgICAvLyBpbmZsYXRlcyB0aGUgYWJzb2x1dGUgcGFp
bnQgcmVjdCB0byBtdWNoLiBUaGlzIGlzIGNvbXBhdGlibGUgd2l0aCBGaXJlZm94JyBiZWhhdmlv
ci4KLSAgICBpZiAoa2VybmVsU2l6ZVggPiBnTWF4S2VybmVsU2l6ZSkKLSAgICAgICAga2VybmVs
U2l6ZVggPSBnTWF4S2VybmVsU2l6ZTsKLSAgICBpZiAoa2VybmVsU2l6ZVkgPiBnTWF4S2VybmVs
U2l6ZSkKLSAgICAgICAga2VybmVsU2l6ZVkgPSBnTWF4S2VybmVsU2l6ZTsKKyAgICBpZiAoc3Rk
WCkgeworICAgICAgICBpbnQgc2l6ZSA9IG1heCgyLCBzdGF0aWNfY2FzdDxpbnQ+KGZsb29yZihz
dGRYICogZ0dhdXNzaWFuS2VybmVsRmFjdG9yICsgMC41ZikpKTsKKyAgICAgICAga2VybmVsU2l6
ZS5zZXRXaWR0aChtaW4oc2l6ZSwgZ01heEtlcm5lbFNpemUpKTsKKyAgICB9CisKKyAgICBpZiAo
c3RkWSkgeworICAgICAgICBpbnQgc2l6ZSA9IG1heCgyLCBzdGF0aWNfY2FzdDxpbnQ+KGZsb29y
ZihzdGRZICogZ0dhdXNzaWFuS2VybmVsRmFjdG9yICsgMC41ZikpKTsKKyAgICAgICAga2VybmVs
U2l6ZS5zZXRIZWlnaHQobWluKHNpemUsIGdNYXhLZXJuZWxTaXplKSk7CisgICAgfQorCisgICAg
cmV0dXJuIGtlcm5lbFNpemU7CiB9CiAKIHZvaWQgRkVHYXVzc2lhbkJsdXI6OmRldGVybWluZUFi
c29sdXRlUGFpbnRSZWN0KCkKQEAgLTE1MiwxMyArMjEwLDExIEBAIHZvaWQgRkVHYXVzc2lhbkJs
dXI6OmRldGVybWluZUFic29sdXRlUGFpbnRSZWN0KCkKICAgICBGbG9hdFJlY3QgYWJzb2x1dGVQ
YWludFJlY3QgPSBpbnB1dEVmZmVjdCgwKS0+YWJzb2x1dGVQYWludFJlY3QoKTsKICAgICBhYnNv
bHV0ZVBhaW50UmVjdC5pbnRlcnNlY3QobWF4RWZmZWN0UmVjdCgpKTsKIAotICAgIHVuc2lnbmVk
IGtlcm5lbFNpemVYID0gMDsKLSAgICB1bnNpZ25lZCBrZXJuZWxTaXplWSA9IDA7Ci0gICAgY2Fs
Y3VsYXRlS2VybmVsU2l6ZShmaWx0ZXIoKSwga2VybmVsU2l6ZVgsIGtlcm5lbFNpemVZLCBtX3N0
ZFgsIG1fc3RkWSk7CisgICAgSW50U2l6ZSBrZXJuZWxTaXplID0gY2FsY3VsYXRlS2VybmVsU2l6
ZShmaWx0ZXIoKSwgbV9zdGRYLCBtX3N0ZFkpOwogCiAgICAgLy8gV2UgdGFrZSB0aGUgaGFsZiBr
ZXJuZWwgc2l6ZSBhbmQgbXVsdGlwbHkgaXQgd2l0aCB0aHJlZSwgYmVjYXVzZSB3ZSBydW4gYm94
IGJsdXIgdGhyZWUgdGltZXMuCi0gICAgYWJzb2x1dGVQYWludFJlY3QuaW5mbGF0ZVgoMyAqIGtl
cm5lbFNpemVYICogMC41Zik7Ci0gICAgYWJzb2x1dGVQYWludFJlY3QuaW5mbGF0ZVkoMyAqIGtl
cm5lbFNpemVZICogMC41Zik7CisgICAgYWJzb2x1dGVQYWludFJlY3QuaW5mbGF0ZVgoMyAqIGtl
cm5lbFNpemUud2lkdGgoKSAqIDAuNWYpOworICAgIGFic29sdXRlUGFpbnRSZWN0LmluZmxhdGVZ
KDMgKiBrZXJuZWxTaXplLmhlaWdodCgpICogMC41Zik7CiAgICAgc2V0QWJzb2x1dGVQYWludFJl
Y3QoZW5jbG9zaW5nSW50UmVjdChhYnNvbHV0ZVBhaW50UmVjdCkpOwogfQogCkBAIC0xODMsMjMg
KzIzOSwyOCBAQCB2b2lkIEZFR2F1c3NpYW5CbHVyOjphcHBseSgpCiAgICAgICAgIHJldHVybjsK
ICAgICB9CiAKLSAgICB1bnNpZ25lZCBrZXJuZWxTaXplWCA9IDA7Ci0gICAgdW5zaWduZWQga2Vy
bmVsU2l6ZVkgPSAwOwotICAgIGNhbGN1bGF0ZUtlcm5lbFNpemUoZmlsdGVyKCksIGtlcm5lbFNp
emVYLCBrZXJuZWxTaXplWSwgbV9zdGRYLCBtX3N0ZFkpOworICAgIEludFNpemUga2VybmVsU2l6
ZSA9IGNhbGN1bGF0ZUtlcm5lbFNpemUoZmlsdGVyKCksIG1fc3RkWCwgbV9zdGRZKTsKIAogICAg
IEJ5dGVBcnJheSogc3JjUGl4ZWxBcnJheSA9IHNyY0ltYWdlRGF0YS0+ZGF0YSgpLT5kYXRhKCk7
CiAgICAgUmVmUHRyPEltYWdlRGF0YT4gdG1wSW1hZ2VEYXRhID0gSW1hZ2VEYXRhOjpjcmVhdGUo
aW1hZ2VSZWN0LndpZHRoKCksIGltYWdlUmVjdC5oZWlnaHQoKSk7CiAgICAgQnl0ZUFycmF5KiB0
bXBQaXhlbEFycmF5ID0gdG1wSW1hZ2VEYXRhLT5kYXRhKCktPmRhdGEoKTsKIAogICAgIGludCBz
dHJpZGUgPSA0ICogaW1hZ2VSZWN0LndpZHRoKCk7CisKICAgICBpbnQgZHhMZWZ0ID0gMDsKICAg
ICBpbnQgZHhSaWdodCA9IDA7CiAgICAgaW50IGR5TGVmdCA9IDA7CiAgICAgaW50IGR5UmlnaHQg
PSAwOworICAgIHVuc2lnbmVkIGtlcm5lbFNpemVYID0ga2VybmVsU2l6ZS53aWR0aCgpOworICAg
IHVuc2lnbmVkIGtlcm5lbFNpemVZID0ga2VybmVsU2l6ZS5oZWlnaHQoKTsKKwogICAgIGZvciAo
aW50IGkgPSAwOyBpIDwgMzsgKytpKSB7CiAgICAgICAgIGlmIChrZXJuZWxTaXplWCkgewogICAg
ICAgICAgICAga2VybmVsUG9zaXRpb24oaSwga2VybmVsU2l6ZVgsIGR4TGVmdCwgZHhSaWdodCk7
Ci0gICAgICAgICAgICBib3hCbHVyKHNyY1BpeGVsQXJyYXksIHRtcFBpeGVsQXJyYXksIGtlcm5l
bFNpemVYLCBkeExlZnQsIGR4UmlnaHQsIDQsIHN0cmlkZSwgaW1hZ2VSZWN0LndpZHRoKCksIGlt
YWdlUmVjdC5oZWlnaHQoKSwgaXNBbHBoYUltYWdlKCkpOworICAgICAgICAgICAgaWYgKGlzQWxw
aGFJbWFnZSgpKQorICAgICAgICAgICAgICAgIGJveEJsdXJBbHBoYU9ubHkoc3JjUGl4ZWxBcnJh
eSwgdG1wUGl4ZWxBcnJheSwga2VybmVsU2l6ZVgsIGR4TGVmdCwgZHhSaWdodCwgNCwgc3RyaWRl
LCBpbWFnZVJlY3Qud2lkdGgoKSwgaW1hZ2VSZWN0LmhlaWdodCgpKTsKKyAgICAgICAgICAgIGVs
c2UKKyAgICAgICAgICAgICAgICBib3hCbHVyKHNyY1BpeGVsQXJyYXksIHRtcFBpeGVsQXJyYXks
IGtlcm5lbFNpemVYLCBkeExlZnQsIGR4UmlnaHQsIDQsIHN0cmlkZSwgaW1hZ2VSZWN0LndpZHRo
KCksIGltYWdlUmVjdC5oZWlnaHQoKSk7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBC
eXRlQXJyYXkqIGF1eFBpeGVsQXJyYXkgPSB0bXBQaXhlbEFycmF5OwogICAgICAgICAgICAgdG1w
UGl4ZWxBcnJheSA9IHNyY1BpeGVsQXJyYXk7CkBAIC0yMDgsNyArMjY5LDEwIEBAIHZvaWQgRkVH
YXVzc2lhbkJsdXI6OmFwcGx5KCkKIAogICAgICAgICBpZiAoa2VybmVsU2l6ZVkpIHsKICAgICAg
ICAgICAgIGtlcm5lbFBvc2l0aW9uKGksIGtlcm5lbFNpemVZLCBkeUxlZnQsIGR5UmlnaHQpOwot
ICAgICAgICAgICAgYm94Qmx1cih0bXBQaXhlbEFycmF5LCBzcmNQaXhlbEFycmF5LCBrZXJuZWxT
aXplWSwgZHlMZWZ0LCBkeVJpZ2h0LCBzdHJpZGUsIDQsIGltYWdlUmVjdC5oZWlnaHQoKSwgaW1h
Z2VSZWN0LndpZHRoKCksIGlzQWxwaGFJbWFnZSgpKTsKKyAgICAgICAgICAgIGlmIChpc0FscGhh
SW1hZ2UoKSkKKyAgICAgICAgICAgICAgICBib3hCbHVyQWxwaGFPbmx5KHRtcFBpeGVsQXJyYXks
IHNyY1BpeGVsQXJyYXksIGtlcm5lbFNpemVZLCBkeUxlZnQsIGR5UmlnaHQsIHN0cmlkZSwgNCwg
aW1hZ2VSZWN0LmhlaWdodCgpLCBpbWFnZVJlY3Qud2lkdGgoKSk7CisgICAgICAgICAgICBlbHNl
CisgICAgICAgICAgICAgICAgYm94Qmx1cih0bXBQaXhlbEFycmF5LCBzcmNQaXhlbEFycmF5LCBr
ZXJuZWxTaXplWSwgZHlMZWZ0LCBkeVJpZ2h0LCBzdHJpZGUsIDQsIGltYWdlUmVjdC5oZWlnaHQo
KSwgaW1hZ2VSZWN0LndpZHRoKCkpOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgQnl0
ZUFycmF5KiBhdXhQaXhlbEFycmF5ID0gdG1wUGl4ZWxBcnJheTsKICAgICAgICAgICAgIHRtcFBp
eGVsQXJyYXkgPSBzcmNQaXhlbEFycmF5OwpAQCAtMjMzLDEyICsyOTcsNiBAQCBUZXh0U3RyZWFt
JiBGRUdhdXNzaWFuQmx1cjo6ZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihUZXh0U3RyZWFtJiB0cywg
aW50IGluZGVudCkgYwogICAgIHJldHVybiB0czsKIH0KIAotZmxvYXQgRkVHYXVzc2lhbkJsdXI6
OmNhbGN1bGF0ZVN0ZERldmlhdGlvbihmbG9hdCByYWRpdXMpCi17Ci0gICAgLy8gQmx1ciByYWRp
dXMgcmVwcmVzZW50cyAyLzMgdGltZXMgdGhlIGtlcm5lbCBzaXplLCB0aGUgZGVzdCBwaXhlbCBp
cyBoYWxmIG9mIHRoZSByYWRpdXMgYXBwbGllZCAzIHRpbWVzCi0gICAgcmV0dXJuIG1heCgocmFk
aXVzICogMiAvIDMuZiAtIDAuNWYpIC8gZ0dhdXNzaWFuS2VybmVsRmFjdG9yLCAwLmYpOwotfQot
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoRklMVEVSUykKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUdhdXNzaWFuQmx1
ci5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFR2F1c3NpYW5CbHVyLmgK
aW5kZXggNzlmOWE0NTc3ZjEzM2U1ZGNmZmJjYTc3NTcyZGZmODRlYmYyMDI0MS4uOGY0NTBjNGU4
MmVkZTY0OGYxN2Y5Njc3YWMwYzNkM2VmNzFhZTVjYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFR2F1c3NpYW5CbHVyLmgKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZFR2F1c3NpYW5CbHVyLmgKQEAgLTM4LDggKzM4LDYgQEAg
cHVibGljOgogICAgIGZsb2F0IHN0ZERldmlhdGlvblkoKSBjb25zdDsKICAgICB2b2lkIHNldFN0
ZERldmlhdGlvblkoZmxvYXQpOwogCi0gICAgc3RhdGljIGZsb2F0IGNhbGN1bGF0ZVN0ZERldmlh
dGlvbihmbG9hdCk7Ci0KICAgICB2aXJ0dWFsIHZvaWQgYXBwbHkoKTsKICAgICB2aXJ0dWFsIHZv
aWQgZHVtcCgpOwogICAgIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>227342</attachid>
            <date>2014-03-20 15:02:48 -0700</date>
            <delta_ts>2014-03-21 11:20:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-50881-20140320150226.patch</filename>
            <type>text/plain</type>
            <size>11694</size>
            <attacher name="Adenilson Cavalcanti Silva">savagobr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY2MDAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDFhNzE2MDFjYmNhY2Yz
MzcxNGQ0MTg1ZWVjOTg0YWM0YjMzODgxNi4uY2Y2ZGU4Mjc5NjdkZjNjZWU5OTk4YTk1ZmIwZDEz
NWRhODM1YTE1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDE0LTAzLTIwICBBZGVu
aWxzb24gQ2F2YWxjYW50aSAgPGNhdmFsY2FudGlpQGdtYWlsLmNvbT4KKworICAgICAgICBPcHRp
bWl6ZSBGRUdhdXNzaWFuIGJsdXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTUwODgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQ3VycmVudGx5IGJveEJsdXIoKSB3aWxsIGNhbGN1bGF0ZSB0aGUgZmlsdGVy
IGZvciBlYWNoIGNoYW5uZWwgaW4KKyAgICAgICAgYSBsb29wIGFuZCBhbHNvIHVzZXMgVWludDhD
bGFtcGVkQXJyYXk6OnNldCgpIHRvIHdyaXRlIHRoZQorICAgICAgICByZXN1bHRpbmcgcGl4ZWxz
IGludG8gZGVzdGluYXRpb24gYXJyYXkuCisKKyAgICAgICAgVXNpbmcgVWludDhDbGFtcGVkQXJy
YXk6OnNldCgpIHJlcXVpcmVzIGxvdHMgb2YgdW5uZWNlc3NhcnkgdHlwZQorICAgICAgICBjb252
ZXJzaW9ucywgbm90IHRvIG1lbnRpb24gb3RoZXIgZnVuY3Rpb24gY2FsbHMuIFRoaXMgcGF0Y2gK
KyAgICAgICAgdXBkYXRlcyB0aGUgb3JpZ2luYWwgd3JpdHRlbiBieSBTaW1vbiBGcmFzZXIgdG8g
YXBwbHkgY2xlYW5seSB0byBjdXJyZW50CisgICAgICAgIHRydW5rLgorCisgICAgICAgIEl0IGFs
c28gaW1wbGVtZW50cyBjb2RlIHRvIGhhbmRsZSBFZGdlTW9kZXMgYW5kIGZpbmFsbHkgYXZvaWRz
IHVzZQorICAgICAgICBvZiA6OnNldCgpIGluIHRoZSBuZXdseSBhZGRlZCBib3hCbHVyQWxwaGFP
bmx5KCkKKyAgICAgICAgZnVuY3Rpb24uIEFzc2lnbm1lbnQgb2YgY2FsY3VsYXRlZCBwaXhlbCB2
YWx1ZXMgcmVseSBvbiBwb2ludGVycy4KKworICAgICAgICBObyBuZXcgdGVzdHMsIG5vIGNoYW5n
ZSBvbiBiZWhhdmlvci4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVH
YXVzc2lhbkJsdXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Ym94Qmx1ckFscGhhT25seSk6IFNw
ZWNpYWxpemVkIHZlcnNpb24gZm9yIGFscGhhIG9ubHkgY2FzZXMuCisgICAgICAgIChXZWJDb3Jl
Ojpib3hCbHVyKToKKwogMjAxNC0wMy0yMCAgVGhpYWdvIGRlIEJhcnJvcyBMYWNlcmRhICA8dGhp
YWdvLmxhY2VyZGFAb3BlbmJvc3NhLm9yZz4KIAogICAgICAgICBbV2ViUlRDXSBNb3ZpbmcgUlRD
Q29uZmlndXJhdGlvbiBhbmQgUlRDSWNlU2VydmVyIHRvIE1vZHVsZXMvbWVkaWFzdHJlYW0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVHYXVz
c2lhbkJsdXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9G
RUdhdXNzaWFuQmx1ci5jcHAKaW5kZXggYzVkNzQxNTRjYmJiYzU3YmU5YmQyZjBkNWE2MTI0YWRj
ZjliMjMyNi4uZjg4MGEwODE1OThiZDEwMjQ1NWJjNGQyNmNmZTBlMjYwZWMzM2Y4NyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUdhdXNzaWFu
Qmx1ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9G
RUdhdXNzaWFuQmx1ci5jcHAKQEAgLTkwLDYyICs5MCwxODIgQEAgdm9pZCBGRUdhdXNzaWFuQmx1
cjo6c2V0RWRnZU1vZGUoRWRnZU1vZGVUeXBlIGVkZ2VNb2RlKQogICAgIG1fZWRnZU1vZGUgPSBl
ZGdlTW9kZTsKIH0KIAorLy8gVGhpcyBmdW5jdGlvbiBvbmx5IG9wZXJhdGVzIG9uIEFscGhhIGNo
YW5uZWwuCitpbmxpbmUgdm9pZCBib3hCbHVyQWxwaGFPbmx5KFVpbnQ4Q2xhbXBlZEFycmF5KiBz
cmNQaXhlbEFycmF5LCBVaW50OENsYW1wZWRBcnJheSogZHN0UGl4ZWxBcnJheSwKKyAgICB1bnNp
Z25lZCBkeCwgaW50JiBkeExlZnQsIGludCYgZHhSaWdodCwgaW50JiBzdHJpZGUsIGludCYgc3Ry
aWRlTGluZSwgaW50JiBlZmZlY3RXaWR0aCwgaW50JiBlZmZlY3RIZWlnaHQsIGNvbnN0IGludCYg
bWF4S2VybmVsU2l6ZSkKK3sKKyAgICB1bnNpZ25lZCBjaGFyKiBzcmNEYXRhID0gc3JjUGl4ZWxB
cnJheS0+ZGF0YSgpOworICAgIHVuc2lnbmVkIGNoYXIqIGRzdERhdGEgPSBkc3RQaXhlbEFycmF5
LT5kYXRhKCk7CisgICAgLy8gTWVtb3J5IGFsaWdubWVudCBpczogUkdCQSwgemVyby1pbmRleCBi
YXNlZC4KKyAgICBjb25zdCBpbnQgY2hhbm5lbCA9IDM7CisKKyAgICBmb3IgKGludCB5ID0gMDsg
eSA8IGVmZmVjdEhlaWdodDsgKyt5KSB7CisgICAgICAgIGludCBsaW5lID0geSAqIHN0cmlkZUxp
bmU7CisgICAgICAgIGludCBzdW0gPSAwOworCisgICAgICAgIC8vIEZpbGwgdGhlIGtlcm5lbC4K
KyAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBtYXhLZXJuZWxTaXplOyArK2kpIHsKKyAgICAg
ICAgICAgIHVuc2lnbmVkIG9mZnNldCA9IGxpbmUgKyBpICogc3RyaWRlOworICAgICAgICAgICAg
dW5zaWduZWQgY2hhciogc3JjUHRyID0gc3JjRGF0YSArIG9mZnNldDsKKyAgICAgICAgICAgIHN1
bSArPSBzcmNQdHJbY2hhbm5lbF07CisgICAgICAgIH0KKworICAgICAgICAvLyBCbHVycmluZy4K
KyAgICAgICAgZm9yIChpbnQgeCA9IDA7IHggPCBlZmZlY3RXaWR0aDsgKyt4KSB7CisgICAgICAg
ICAgICB1bnNpZ25lZCBwaXhlbEJ5dGVPZmZzZXQgPSBsaW5lICsgeCAqIHN0cmlkZSArIGNoYW5u
ZWw7CisgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiBkc3RQdHIgPSBkc3REYXRhICsgcGl4ZWxC
eXRlT2Zmc2V0OworICAgICAgICAgICAgKmRzdFB0ciA9IHN0YXRpY19jYXN0PHVuc2lnbmVkIGNo
YXI+KHN1bSAvIGR4KTsKKworICAgICAgICAgICAgLy8gU2hpZnQga2VybmVsLgorICAgICAgICAg
ICAgaWYgKHggPj0gZHhMZWZ0KSB7CisgICAgICAgICAgICAgICAgdW5zaWduZWQgbGVmdE9mZnNl
dCA9IHBpeGVsQnl0ZU9mZnNldCAtIGR4TGVmdCAqIHN0cmlkZTsKKyAgICAgICAgICAgICAgICB1
bnNpZ25lZCBjaGFyKiBzcmNQdHIgPSBzcmNEYXRhICsgbGVmdE9mZnNldDsKKyAgICAgICAgICAg
ICAgICBzdW0gLT0gKnNyY1B0cjsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaWYgKHgg
KyBkeFJpZ2h0IDwgZWZmZWN0V2lkdGgpIHsKKyAgICAgICAgICAgICAgICB1bnNpZ25lZCByaWdo
dE9mZnNldCA9IHBpeGVsQnl0ZU9mZnNldCArIGR4UmlnaHQgKiBzdHJpZGU7CisgICAgICAgICAg
ICAgICAgdW5zaWduZWQgY2hhciogc3JjUHRyID0gc3JjRGF0YSArIHJpZ2h0T2Zmc2V0OworICAg
ICAgICAgICAgICAgIHN1bSArPSAqc3JjUHRyOworICAgICAgICAgICAgfQorICAgICAgICB9Cisg
ICAgfQorfQorCiBpbmxpbmUgdm9pZCBib3hCbHVyKFVpbnQ4Q2xhbXBlZEFycmF5KiBzcmNQaXhl
bEFycmF5LCBVaW50OENsYW1wZWRBcnJheSogZHN0UGl4ZWxBcnJheSwKICAgICB1bnNpZ25lZCBk
eCwgaW50IGR4TGVmdCwgaW50IGR4UmlnaHQsIGludCBzdHJpZGUsIGludCBzdHJpZGVMaW5lLCBp
bnQgZWZmZWN0V2lkdGgsIGludCBlZmZlY3RIZWlnaHQsIGJvb2wgYWxwaGFJbWFnZSwgRWRnZU1v
ZGVUeXBlIGVkZ2VNb2RlKQogeworICAgIGNvbnN0IGludCBtYXhLZXJuZWxTaXplID0gc3RkOjpt
aW4oZHhSaWdodCwgZWZmZWN0V2lkdGgpOworICAgIGlmIChhbHBoYUltYWdlKSB7CisgICAgICAg
IHJldHVybiBib3hCbHVyQWxwaGFPbmx5KHNyY1BpeGVsQXJyYXksIGRzdFBpeGVsQXJyYXksIGR4
LCBkeExlZnQsIGR4UmlnaHQsIHN0cmlkZSwgc3RyaWRlTGluZSwKKyAgICAgICAgICAgIGVmZmVj
dFdpZHRoLCBlZmZlY3RIZWlnaHQsIG1heEtlcm5lbFNpemUpOworICAgIH0KKworICAgIHVuc2ln
bmVkIGNoYXIqIHNyY0RhdGEgPSBzcmNQaXhlbEFycmF5LT5kYXRhKCk7CisgICAgdW5zaWduZWQg
Y2hhciogZHN0RGF0YSA9IGRzdFBpeGVsQXJyYXktPmRhdGEoKTsKKworICAgIC8vIENvbmNlcm5p
bmcgdGhlIGFycmF5IHdpZHRoL2xlbmd0aDogaXQgaXMgRWxlbWVudCBzaXplICsgTWFyZ2luICsg
Qm9yZGVyLiBUaGUgbnVtYmVyIG9mIHBpeGVscyB3aWxsIGJlCisgICAgLy8gUCA9IHdpZHRoICog
aGVpZ2h0ICogY2hhbm5lbHMuCiAgICAgZm9yIChpbnQgeSA9IDA7IHkgPCBlZmZlY3RIZWlnaHQ7
ICsreSkgewogICAgICAgICBpbnQgbGluZSA9IHkgKiBzdHJpZGVMaW5lOwotICAgICAgICBmb3Ig
KGludCBjaGFubmVsID0gMzsgY2hhbm5lbCA+PSAwOyAtLWNoYW5uZWwpIHsKLSAgICAgICAgICAg
IGludCBzdW0gPSAwOwotICAgICAgICAgICAgLy8gVGhlIGNvZGUgZm9yIGVkZ2VNb2RlPSdub25l
JyBpcyB0aGUgY29tbW9uIGNhc2UgYW5kIGhpZ2hseSBvcHRpbWl6ZWQuCi0gICAgICAgICAgICAv
LyBGdXJ0aGVybW9yZSwgdGhpcyBjb2RlIHBhdGggYWZmZWN0cyBtb3JlIHRoYW4ganVzdCB0aGUg
aW5wdXQgYXJlYS4KLSAgICAgICAgICAgIGlmIChlZGdlTW9kZSA9PSBFREdFTU9ERV9OT05FKSB7
Ci0gICAgICAgICAgICAgICAgLy8gRmlsbCB0aGUga2VybmVsCi0gICAgICAgICAgICAgICAgaW50
IG1heEtlcm5lbFNpemUgPSBzdGQ6Om1pbihkeFJpZ2h0LCBlZmZlY3RXaWR0aCk7Ci0gICAgICAg
ICAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBtYXhLZXJuZWxTaXplOyArK2kpCi0gICAgICAg
ICAgICAgICAgICAgIHN1bSArPSBzcmNQaXhlbEFycmF5LT5pdGVtKGxpbmUgKyBpICogc3RyaWRl
ICsgY2hhbm5lbCk7Ci0KLSAgICAgICAgICAgICAgICAvLyBCbHVycmluZwotICAgICAgICAgICAg
ICAgIGZvciAoaW50IHggPSAwOyB4IDwgZWZmZWN0V2lkdGg7ICsreCkgewotICAgICAgICAgICAg
ICAgICAgICBpbnQgcGl4ZWxCeXRlT2Zmc2V0ID0gbGluZSArIHggKiBzdHJpZGUgKyBjaGFubmVs
OwotICAgICAgICAgICAgICAgICAgICBkc3RQaXhlbEFycmF5LT5zZXQocGl4ZWxCeXRlT2Zmc2V0
LCBzdGF0aWNfY2FzdDx1bnNpZ25lZCBjaGFyPihzdW0gLyBkeCkpOwotICAgICAgICAgICAgICAg
ICAgICAvLyBTaGlmdCBrZXJuZWwuCi0gICAgICAgICAgICAgICAgICAgIGlmICh4ID49IGR4TGVm
dCkKLSAgICAgICAgICAgICAgICAgICAgICAgIHN1bSAtPSBzcmNQaXhlbEFycmF5LT5pdGVtKHBp
eGVsQnl0ZU9mZnNldCAtIGR4TGVmdCAqIHN0cmlkZSk7Ci0gICAgICAgICAgICAgICAgICAgIGlm
ICh4ICsgZHhSaWdodCA8IGVmZmVjdFdpZHRoKQotICAgICAgICAgICAgICAgICAgICAgICAgc3Vt
ICs9IHNyY1BpeGVsQXJyYXktPml0ZW0ocGl4ZWxCeXRlT2Zmc2V0ICsgZHhSaWdodCAqIHN0cmlk
ZSk7CisgICAgICAgIGludCBzdW1SID0gMCwgc3VtRyA9IDAsIHN1bUIgPSAwLCBzdW1BID0gMDsK
KworICAgICAgICBpZiAoZWRnZU1vZGUgPT0gRURHRU1PREVfTk9ORSkgeworICAgICAgICAgICAg
Ly8gRmlsbCB0aGUga2VybmVsLgorICAgICAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBtYXhL
ZXJuZWxTaXplOyArK2kpIHsKKyAgICAgICAgICAgICAgICB1bnNpZ25lZCBvZmZzZXQgPSBsaW5l
ICsgaSAqIHN0cmlkZTsKKyAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiBzcmNQdHIgPSBz
cmNEYXRhICsgb2Zmc2V0OworICAgICAgICAgICAgICAgIHN1bVIgKz0gKnNyY1B0cisrOworICAg
ICAgICAgICAgICAgIHN1bUcgKz0gKnNyY1B0cisrOworICAgICAgICAgICAgICAgIHN1bUIgKz0g
KnNyY1B0cisrOworICAgICAgICAgICAgICAgIHN1bUEgKz0gKnNyY1B0cjsKKyAgICAgICAgICAg
IH0KKworICAgICAgICAgICAgLy8gQmx1cnJpbmcuCisgICAgICAgICAgICBmb3IgKGludCB4ID0g
MDsgeCA8IGVmZmVjdFdpZHRoOyArK3gpIHsKKyAgICAgICAgICAgICAgICB1bnNpZ25lZCBwaXhl
bEJ5dGVPZmZzZXQgPSBsaW5lICsgeCAqIHN0cmlkZTsKKyAgICAgICAgICAgICAgICB1bnNpZ25l
ZCBjaGFyKiBkc3RQdHIgPSBkc3REYXRhICsgcGl4ZWxCeXRlT2Zmc2V0OworCisgICAgICAgICAg
ICAgICAgKmRzdFB0cisrID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQgY2hhcj4oc3VtUiAvIGR4KTsK
KyAgICAgICAgICAgICAgICAqZHN0UHRyKysgPSBzdGF0aWNfY2FzdDx1bnNpZ25lZCBjaGFyPihz
dW1HIC8gZHgpOworICAgICAgICAgICAgICAgICpkc3RQdHIrKyA9IHN0YXRpY19jYXN0PHVuc2ln
bmVkIGNoYXI+KHN1bUIgLyBkeCk7CisgICAgICAgICAgICAgICAgKmRzdFB0ciA9IHN0YXRpY19j
YXN0PHVuc2lnbmVkIGNoYXI+KHN1bUEgLyBkeCk7CisKKyAgICAgICAgICAgICAgICAvLyBTaGlm
dCBrZXJuZWwuCisgICAgICAgICAgICAgICAgaWYgKHggPj0gZHhMZWZ0KSB7CisgICAgICAgICAg
ICAgICAgICAgIHVuc2lnbmVkIGxlZnRPZmZzZXQgPSBwaXhlbEJ5dGVPZmZzZXQgLSBkeExlZnQg
KiBzdHJpZGU7CisgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIHNyY1B0ciA9IHNy
Y0RhdGEgKyBsZWZ0T2Zmc2V0OworICAgICAgICAgICAgICAgICAgICBzdW1SIC09IHNyY1B0clsw
XTsKKyAgICAgICAgICAgICAgICAgICAgc3VtRyAtPSBzcmNQdHJbMV07CisgICAgICAgICAgICAg
ICAgICAgIHN1bUIgLT0gc3JjUHRyWzJdOworICAgICAgICAgICAgICAgICAgICBzdW1BIC09IHNy
Y1B0clszXTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBpZiAoeCArIGR4
UmlnaHQgPCBlZmZlY3RXaWR0aCkgeworICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCByaWdo
dE9mZnNldCA9IHBpeGVsQnl0ZU9mZnNldCArIGR4UmlnaHQgKiBzdHJpZGU7CisgICAgICAgICAg
ICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIHNyY1B0ciA9IHNyY0RhdGEgKyByaWdodE9mZnNldDsK
KyAgICAgICAgICAgICAgICAgICAgc3VtUiArPSBzcmNQdHJbMF07CisgICAgICAgICAgICAgICAg
ICAgIHN1bUcgKz0gc3JjUHRyWzFdOworICAgICAgICAgICAgICAgICAgICBzdW1CICs9IHNyY1B0
clsyXTsKKyAgICAgICAgICAgICAgICAgICAgc3VtQSArPSBzcmNQdHJbM107CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfQorCisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAv
LyBGSVhNRTogQWRkIHN1cHBvcnQgZm9yICd3cmFwJyBoZXJlLgorICAgICAgICAgICAgLy8gR2V0
IGVkZ2UgdmFsdWVzIGZvciBlZGdlTW9kZSAnZHVwbGljYXRlJy4KKyAgICAgICAgICAgIHVuc2ln
bmVkIGNoYXIqIGVkZ2VWYWx1ZUxlZnQgPSBzcmNEYXRhICsgbGluZTsKKyAgICAgICAgICAgIHVu
c2lnbmVkIGNoYXIqIGVkZ2VWYWx1ZVJpZ2h0ICA9IHNyY0RhdGEgKyAobGluZSArIChlZmZlY3RX
aWR0aCAtIDEpICogc3RyaWRlKTsKKworICAgICAgICAgICAgLy8gRmlsbCB0aGUga2VybmVsLgor
ICAgICAgICAgICAgZm9yIChpbnQgaSA9IGR4TGVmdCAqIC0xOyBpIDwgZHhSaWdodDsgKytpKSB7
CisgICAgICAgICAgICAgICAgLy8gSXMgdGhpcyByaWdodCBmb3IgbmVnYXRpdmUgdmFsdWVzIG9m
ICdpJz8KKyAgICAgICAgICAgICAgICB1bnNpZ25lZCBvZmZzZXQgPSBsaW5lICsgaSAqIHN0cmlk
ZTsKKyAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiBzcmNQdHIgPSBzcmNEYXRhICsgb2Zm
c2V0OworCisgICAgICAgICAgICAgICAgaWYgKGkgPCAwKSB7CisgICAgICAgICAgICAgICAgICAg
IHN1bVIgKz0gZWRnZVZhbHVlTGVmdFswXTsKKyAgICAgICAgICAgICAgICAgICAgc3VtRyArPSBl
ZGdlVmFsdWVMZWZ0WzFdOworICAgICAgICAgICAgICAgICAgICBzdW1CICs9IGVkZ2VWYWx1ZUxl
ZnRbMl07CisgICAgICAgICAgICAgICAgICAgIHN1bUEgKz0gZWRnZVZhbHVlTGVmdFszXTsKKwor
ICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaSA+PSBlZmZlY3RXaWR0aCkgeworCisgICAgICAg
ICAgICAgICAgICAgIHN1bVIgKz0gZWRnZVZhbHVlUmlnaHRbMF07CisgICAgICAgICAgICAgICAg
ICAgIHN1bUcgKz0gZWRnZVZhbHVlUmlnaHRbMV07CisgICAgICAgICAgICAgICAgICAgIHN1bUIg
Kz0gZWRnZVZhbHVlUmlnaHRbMl07CisgICAgICAgICAgICAgICAgICAgIHN1bUEgKz0gZWRnZVZh
bHVlUmlnaHRbM107CisKKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAg
ICAgICBzdW1SICs9ICpzcmNQdHIrKzsKKyAgICAgICAgICAgICAgICAgICAgc3VtRyArPSAqc3Jj
UHRyKys7CisgICAgICAgICAgICAgICAgICAgIHN1bUIgKz0gKnNyY1B0cisrOworICAgICAgICAg
ICAgICAgICAgICBzdW1BICs9ICpzcmNQdHI7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAg
ICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAvLyBGSVhNRTogQWRkIHN1cHBvcnQgZm9yICd3
cmFwJyBoZXJlLgotICAgICAgICAgICAgICAgIC8vIEdldCBlZGdlIHZhbHVlcyBmb3IgZWRnZU1v
ZGUgJ2R1cGxpY2F0ZScuCi0gICAgICAgICAgICAgICAgaW50IGVkZ2VWYWx1ZUxlZnQgPSBzcmNQ
aXhlbEFycmF5LT5pdGVtKGxpbmUgKyBjaGFubmVsKTsKLSAgICAgICAgICAgICAgICBpbnQgZWRn
ZVZhbHVlUmlnaHQgPSBzcmNQaXhlbEFycmF5LT5pdGVtKGxpbmUgKyAoZWZmZWN0V2lkdGggLSAx
KSAqIHN0cmlkZSArIGNoYW5uZWwpOwotICAgICAgICAgICAgICAgIC8vIEZpbGwgdGhlIGtlcm5l
bAotICAgICAgICAgICAgICAgIGZvciAoaW50IGkgPSBkeExlZnQgKiAtMTsgaSA8IGR4UmlnaHQ7
ICsraSkgewotICAgICAgICAgICAgICAgICAgICBpZiAoaSA8IDApCi0gICAgICAgICAgICAgICAg
ICAgICAgICBzdW0gKz0gZWRnZVZhbHVlTGVmdDsKLSAgICAgICAgICAgICAgICAgICAgZWxzZSBp
ZiAoaSA+PSBlZmZlY3RXaWR0aCkKLSAgICAgICAgICAgICAgICAgICAgICAgIHN1bSArPSBlZGdl
VmFsdWVSaWdodDsKLSAgICAgICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAg
ICAgICAgc3VtICs9IHNyY1BpeGVsQXJyYXktPml0ZW0obGluZSArIGkgKiBzdHJpZGUgKyBjaGFu
bmVsKTsKKworICAgICAgICAgICAgfQorCisgICAgICAgICAgICAvLyBCbHVycmluZy4KKyAgICAg
ICAgICAgIGZvciAoaW50IHggPSAwOyB4IDwgZWZmZWN0V2lkdGg7ICsreCkgeworICAgICAgICAg
ICAgICAgIHVuc2lnbmVkIHBpeGVsQnl0ZU9mZnNldCA9IGxpbmUgKyB4ICogc3RyaWRlOworICAg
ICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIGRzdFB0ciA9IGRzdERhdGEgKyBwaXhlbEJ5dGVP
ZmZzZXQ7CisKKyAgICAgICAgICAgICAgICAqZHN0UHRyKysgPSBzdGF0aWNfY2FzdDx1bnNpZ25l
ZCBjaGFyPihzdW1SIC8gZHgpOworICAgICAgICAgICAgICAgICpkc3RQdHIrKyA9IHN0YXRpY19j
YXN0PHVuc2lnbmVkIGNoYXI+KHN1bUcgLyBkeCk7CisgICAgICAgICAgICAgICAgKmRzdFB0cisr
ID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQgY2hhcj4oc3VtQiAvIGR4KTsKKyAgICAgICAgICAgICAg
ICAqZHN0UHRyID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQgY2hhcj4oc3VtQSAvIGR4KTsKKworICAg
ICAgICAgICAgICAgIC8vIFNoaWZ0IGtlcm5lbC4KKyAgICAgICAgICAgICAgICBpZiAoeCA8IGR4
TGVmdCkgeworICAgICAgICAgICAgICAgICAgICBzdW1SIC09IGVkZ2VWYWx1ZUxlZnRbMF07Cisg
ICAgICAgICAgICAgICAgICAgIHN1bUcgLT0gZWRnZVZhbHVlTGVmdFsxXTsKKyAgICAgICAgICAg
ICAgICAgICAgc3VtQiAtPSBlZGdlVmFsdWVMZWZ0WzJdOworICAgICAgICAgICAgICAgICAgICBz
dW1BIC09IGVkZ2VWYWx1ZUxlZnRbM107CisKKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAg
ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBsZWZ0T2Zmc2V0ID0gcGl4ZWxCeXRlT2Zmc2V0IC0g
ZHhMZWZ0ICogc3RyaWRlOworICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiBzcmNQ
dHIgPSBzcmNEYXRhICsgbGVmdE9mZnNldDsKKyAgICAgICAgICAgICAgICAgICAgc3VtUiAtPSBz
cmNQdHJbMF07CisgICAgICAgICAgICAgICAgICAgIHN1bUcgLT0gc3JjUHRyWzFdOworICAgICAg
ICAgICAgICAgICAgICBzdW1CIC09IHNyY1B0clsyXTsKKyAgICAgICAgICAgICAgICAgICAgc3Vt
QSAtPSBzcmNQdHJbM107CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIC8vIEJs
dXJyaW5nCi0gICAgICAgICAgICAgICAgZm9yIChpbnQgeCA9IDA7IHggPCBlZmZlY3RXaWR0aDsg
Kyt4KSB7Ci0gICAgICAgICAgICAgICAgICAgIGludCBwaXhlbEJ5dGVPZmZzZXQgPSBsaW5lICsg
eCAqIHN0cmlkZSArIGNoYW5uZWw7Ci0gICAgICAgICAgICAgICAgICAgIGRzdFBpeGVsQXJyYXkt
PnNldChwaXhlbEJ5dGVPZmZzZXQsIHN0YXRpY19jYXN0PHVuc2lnbmVkIGNoYXI+KHN1bSAvIGR4
KSk7Ci0gICAgICAgICAgICAgICAgICAgIC8vIFNoaWZ0IGtlcm5lbC4KLSAgICAgICAgICAgICAg
ICAgICAgaWYgKHggPCBkeExlZnQpCi0gICAgICAgICAgICAgICAgICAgICAgICBzdW0gLT0gZWRn
ZVZhbHVlTGVmdDsKLSAgICAgICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAg
ICAgICAgc3VtIC09IHNyY1BpeGVsQXJyYXktPml0ZW0ocGl4ZWxCeXRlT2Zmc2V0IC0gZHhMZWZ0
ICogc3RyaWRlKTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHggKyBkeFJpZ2h0ID49IGVmZmVj
dFdpZHRoKQotICAgICAgICAgICAgICAgICAgICAgICAgc3VtICs9IGVkZ2VWYWx1ZVJpZ2h0Owot
ICAgICAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgICAgICBzdW0gKz0g
c3JjUGl4ZWxBcnJheS0+aXRlbShwaXhlbEJ5dGVPZmZzZXQgKyBkeFJpZ2h0ICogc3RyaWRlKTsK
KworICAgICAgICAgICAgICAgIGlmICh4ICsgZHhSaWdodCA+PSBlZmZlY3RXaWR0aCkgeworICAg
ICAgICAgICAgICAgICAgICBzdW1SICs9IGVkZ2VWYWx1ZVJpZ2h0WzBdOworICAgICAgICAgICAg
ICAgICAgICBzdW1HICs9IGVkZ2VWYWx1ZVJpZ2h0WzFdOworICAgICAgICAgICAgICAgICAgICBz
dW1CICs9IGVkZ2VWYWx1ZVJpZ2h0WzJdOworICAgICAgICAgICAgICAgICAgICBzdW1BICs9IGVk
Z2VWYWx1ZVJpZ2h0WzNdOworCisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAg
ICAgICAgICAgdW5zaWduZWQgcmlnaHRPZmZzZXQgPSBwaXhlbEJ5dGVPZmZzZXQgKyBkeFJpZ2h0
ICogc3RyaWRlOworICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiBzcmNQdHIgPSBz
cmNEYXRhICsgcmlnaHRPZmZzZXQ7CisgICAgICAgICAgICAgICAgICAgIHN1bVIgKz0gc3JjUHRy
WzBdOworICAgICAgICAgICAgICAgICAgICBzdW1HICs9IHNyY1B0clsxXTsKKyAgICAgICAgICAg
ICAgICAgICAgc3VtQiArPSBzcmNQdHJbMl07CisgICAgICAgICAgICAgICAgICAgIHN1bUEgKz0g
c3JjUHRyWzNdOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
IGlmIChhbHBoYUltYWdlKSAvLyBTb3VyY2UgaW1hZ2UgaXMgYmxhY2ssIGl0IGp1c3QgaGFzIGRp
ZmZlcmVudCBhbHBoYSB2YWx1ZXMKLSAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQog
ICAgIH0KIH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>227343</attachid>
            <date>2014-03-20 15:05:07 -0700</date>
            <delta_ts>2014-03-20 15:05:07 -0700</delta_ts>
            <desc>6 executions (3 vanilla, 3 patched)</desc>
            <filename>Screen Shot 2014-03-20 at 12.43.05 PM.png</filename>
            <type>image/png</type>
            <size>74398</size>
            <attacher name="Adenilson Cavalcanti Silva">savagobr</attacher>
            
              <data encoding="base64">iVBORw0KGgoAAAANSUhEUgAAA7sAAADECAIAAADRZKEoAAABiWlDQ1BJQ0MgUHJvZmlsZQAAKBWt
kT1LA0EQht+L0SgJGCRoCpEFRSzu5IxFTLTJB5iIRYgKane5nImQj+NyIfoD7Gy0EG0U9S+INhaW
YqGFIAjB3yAEAiLhnL1DUgUbB3bn2XdnP2YGcJmKrpfcAMoV08gux9nm1jbzNOGFDyOIYkxRa3os
k1mlkB7WfoPAt14lftdO+ut96aBxcTOwcjYRNcUeh35lb16rqYAwSIKar6ll4hKxqOqGSXxKLDVM
nfMjccCgDxI3ORcc/uScs9nFUwkY69kE4AoS+3MOz3AuOLzAWS0qeYpJEYvOH4iAoVSSheWIFLNX
/ziVS3XK0zZeLZ9W2Vgj76cxjhSSYAhDRgQSYqa2R/kCiaq+b+wWiiaLUWU1lqiW9bqpGSJLV9RZ
kYXkOZnH8Z5xD7Sydi+E0ZeuVr0EIpNA32FXy50Ad/dA8KmrTZ0Dw4vA7bOuGIpzH81C2/3XurYz
H7LjBV8c6P+wrNY04DkGOkeW9X1lWZ1rep969lD6ASR3aeChS7yTAAABnWlUWHRYTUw6Y29tLmFk
b2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0i
WE1QIENvcmUgNS40LjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3Jn
LzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjph
Ym91dD0iIgogICAgICAgICAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYv
MS4wLyI+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj45NTU8L2V4aWY6UGl4ZWxYRGlt
ZW5zaW9uPgogICAgICAgICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MTk2PC9leGlmOlBpeGVsWURp
bWVuc2lvbj4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1l
dGE+Cg4A0rEAAEAASURBVHgB7J0HmFXV1ffPvdNnmA5Dh6ELDEWKIFFARLFhRSOoMRosSQBjCDZU
1CRgULChwYAVxYqooEF6UaT3Xoc+wwxM7/fOfL9z/jObw8xgzJt8eZO8dz88m7XX/q+y11l733XP
PfeOp07rTr26dpz05GPNmzb1eDwVFRX0tPLychGWZcGkZygCWg2OCDe/JsxgvF6v3++XFD3NLWis
gMc6YDj0hpYeegky6+io9FlDZkVISiJaixGXBiHdzJq08RBCeJRDuL0yzohpkNKmVUC7VUmJAGZK
bqsHLJ/d2owGt6Bot8KaMIPBmUD8a8ZHnED8TV4ZwsQKAiYhokEE8l+hICw0aNMrSgwD54/JIhFE
KXD+EAqlijs44rizSPlDTwPJ1LkEpUcA0Yi4h2LSwwzEnzjUjI84xEcEPS3w+uuOFQFRCim1/g+e
/zk5Oenp6cHBwZ7Lbr79vSmTiAi1FFmiMCk6JmTMKlImcEyp6YVB4kFBQcDEQRtD8YmvwNKjHo4h
oCXl1ina9IBFyxPRNRViV+aq4YU0VhgaJKo0xGFo+FKOHknRi+M2baQglEAi6LEiVdCISNzIypaU
C0DvxlSjpUHi7imkaFqRdAbir0sfiD+JoVSBMJkDEcj/artJwTH7CKIaLQ59tXiKD7OaQnOqVMML
GYh/tXAF4q8IKFtqpatFjMQzQYMOnP8EIfD6azIncP5oRxCHf2L9yfakVibT9u/f71m7fkOjBvUx
496Z2pY65bWZ4Wgowg2AxjnjInqgYdIkW1OzKhthMI03Pp/PlDsQEgEAQTOqRCAizUa/VJlZt35o
8AJIlQEzdOuRlDwxRt0EYJmGYI0hISGogpASaKMQGqR7IW6jhoaoJitz8KXKrRCkZiViAIAD8VdI
3eEKxF8xCeS/e6doZ2mnKz7kSeD8UVjMCeMemgPKzAbOHyIQOP9JEpMJ2kri6OA1nMD5Ezh/TDJA
EA33UCkkPrSZNUEzADMrjgEg+6+pf8jk4uLioKefGmdqPrlCb6oNvNGri5gagocQGEKLRMRgxGTI
FE1IEfSatSecJpjBaIMxYzRDCCNPmGIoc4YAowaHJnE4bj3i0yMrsJlFs4JgFq4pgelpRqfUiiM3
jGkwam79oqVZpjEHzNFa6Qw0MNMbN2Bq1UwZ2UD8FT16YqKgKXoKPr1ibgiGCqmJIVMI0sSBkAb1
Aks8EH8nToH8tz/UJj2UOWSIwiICvlq1WCmF1DNlZAU2s2gOnD/EhIAQCkJqImOiqilhiGQg/gTB
nUUKCL1hKt+Im5AiTGAh1AQzmED8CQVhJA7Eh2BC0IupYeD1l8gobZR1SjlxlFTiKICiFVLlp2IL
niYOBDDTC/zvFn/cCw8P9xw5cgT/FAK3o3CUK2bZWo+QZnmaZQpZepoA9EYbTEVNswKIKSn3rGh6
o9kohDAuIW4sGrCR1SUxgrIri1Ii39zWjSyElIsjKfesNNDTNCtzbm3wmUXKQVUWZwYPkndFzLL3
IAxGXhlBs1i3J0aJTAsMLeuyq95oExIl4kuDmJIy+qVNQ6NZeHqacQlxYxE8U5JSH4g/AQnEX4lB
KMgWmgiYRCaQ/+wR9+5zbx9ixZQ40O4paMLo3l9wNHRrU7QFDsTfnXuKHrEKxJ/0qDVn4NMIFL0J
HUMaQdMUfMlCGDCEmjs/kTJKmJWSQPwVt0D8/63qn9zc3LfeeouexwdIVNKVy1RUVPTUU08xpOGt
JzU1VVnOWITyW+is9PStS5fsXrfu2IF9TDdp2bpN9+6d+vVPbNgQACKAadoADEVIT9aptO1rluzf
sTrt4D44DVq0btWhV4ee/RPq2rLKFYkb0yJgnsxM+37D8m17Nhw4cpAd2aJpi05tu/Xu1rd+vYYy
Wq03zhgNhgOhhlrNMpS4CHN0Gp3Ca9uLNj0YmqZQKL7RbKYgzJQhxARswmXUQrhFDLIaAL5s4YBE
GNKMQnf84RudRo80MPzh+BtBR32lfmNFmt29cUaCTBmOMS28hsYNiED8TbRN9AyHoNEU+f978fcf
3rE5v06bDs1ilE6EhWjQ/+/mf9bB9d9tOuyJqtepd+/msZVnq/ENV3FSDotQzstz0QILE8h/omHC
AuEOlMeft2Pz3qjWnZPjQv/v5X/l64sJjsmx/9381wVy98pkc+EgDEfO05tZ9xQrCuT/D+U/Ufu/
e/7/q/NfoV6yZAkVsx5chpOdnT1o0CBlKX3QqFGjdMGYU3IriaEPbt2yYNpfNs75Iq4ov3Pdes0i
InOOHd783cqTR4/EJCXF1K0nEXO9OdHgaHhw96Yls6buXvRJPU9295YJLeuGFZxI3b56eVr60eiE
+nGJ9bWFhJce9fB37Nny0dy3Fqz52h9T3LR9vdhGEceyjq7esOr4iaOJsXXrJiSBwYqapKDFNEog
xISvxhAmTjIUTBi57WYaWmCJiyklhgNhrLgJImuQssLtZJjgZc64ASFBuSSFQrqtQEuPgUmP8EKK
I230NIkYPUZWHIY0weBAiy+OpmwtLj3QBuPM2CbgiC+kABIXbURgmoXDFMYsRKrcvcBGifACGKbb
JWMoEH/FykQJQlfnfyH+/iMzHn/qW6tdz5ZxuFGet+2VR57dFtHx/GbROMnwpYffCu7Zq3Gk/akL
DT+r8r/467t+NSmyx7Au9pZ3X/3DS6Y+9cWpi3u35psEFRXF3743+YUPd593cZc438Gpv3vudJve
LeOCtV6THtJgG7Csw0venDhj7srly5ctW7ZqR1pE/WaNYsNMXklQ5qA1pEeQvmDP58MemLQus3Df
/M/Del/bqV6Y+OqNEonDNE16/hfi7+xxzp+y1IVPPvPGt6u+Xb589apV3y5evJjlf/PN51sLW/dq
G288x8+q+BvfbUIrMjCzbZ3IFCyZ+uxfvlr6/YoVS5cuPZAV1LRV03DPP+P8Kdr94K8f9/a4rktS
KD44tmxnINTkD7SYxj15a0OrGhiY/4vxV1QVN+MGhJw3njP8++NvL1KaTSi0Xg0VA2PCDBUl8c2s
BDUFrSE9UupF2BNOSA3fDOFIHMI0zZqFwxdGbmtYrRfYaBCe3nAgUKuhmyCAxhlJBV5/A/GvljkM
adXyhMxJTEw8ceIEFTNTNO4xt2nTBkLJFqykBAcBVyqgs0+eXPH++xnr1z58Sd/ml10adkl/q8Iq
WbI0dcHC15Z++53liR45ytxpRlA5CkFq5mSdXDVvRumOFQ/eN6DBJdeExQ9id5Senn9i+ZfvTF/8
vaciOn50fGIDPDBG5Q1KuLv8+cIPd5zYdMeIq6/ufE2DmB5MHc9d9eXmOR+/Od9aWBEfm5hUt4H8
ZKq0tBQpmpaEQtEARNNDSz8ETRz5DA0BE7f1AQE0YMHEYagGEjw0szRZNIT00NO0P6WTHg4wCBo6
pU2mReOz8QQwNHi3UXuFVWuEb9twmqE1Cw8T0PDlmGDQ8lw6jXJjVHqMCaSElCoN6aWHniZmIP7E
gRaIP0FQVkAoCZXtfm9CdM7+j5fu+Hn/psF+f8GB9Qv37bPWHrrjJw3ZtKd3r1x8oPC6aGYqtwni
VflfEZkclBwZVlZWRngVYaWlL2Pr/vXxqjUOzH/5uU++u+Gpd1sGV5QVlG3Zv62+oyFz618/2hh2
288HxlflrWTpy7J3bV+/+7wBVzXK2rL4r+u+/XrOo2++eUH8GRP4cK78T10/Pyjo9tkz70vweMvy
s7ML/2POn/KouKbNm4bHhqd+9tm3ltW021U9moeV5NZr076uYk6vK1gVfzsGmlL4N3/17ra4gbf9
pClMNQGgs7es3e75yfXdw9fNXrRu3brZex6Y9btL7NvvTkPt//D8CY1s7PVGhdtupG/+6uMNoUPv
vDQRdYHzxwmsib92B7zA+W+CUHn+VB0sDMWx07qq9hBN9MxLIeLnyP/KGgMRJ/Z2Z+hA/ImGdiUE
cSYgija9piBo/+b1T1ZW1meffUaJrPOKFekSq2do/2SGLrabgN65bOmpNWuGtW3BIWvt21e8azdM
T3BQs+Rmw1olf7h69a4uy3rdNETrN+kChtp894alpTtX3HJFq6SU9lb2seKM123ZkJCkDh1uueLQ
J/NX7N7Qvfdlt+ITTbL0CvfqTSu2H9/YZ3DH9q3aHCrbvyttJ7IRIaGdW3c4NvjoyjkbAFxz6RAl
KyKmqIWmSScEUuhkCK0LBoffwZDDEmcWJo0hYAgJSoQhF9iedjVgvH5LiWYlCMRIQaBZs/Q0vV+B
L2+N8xJBgziGkDaUiCMTwtCLQNYsRzDxsaVVyzRTWqZMI2VWA59mTMgZsxC0MYUSOFJCL1nbA+ew
QERqJcVQOmVFUlIrjnFY4oCNQikXTCJMybow6oEF4u+E3z6sCdR/QvzDu13Z4Z03Np8oGZQcFnR8
53ZS1Nq6M8vqXdfjObD6r0EXPZJMzlacOYi0NLLD4w3yWsFcdDKBncx7zcq1hwUFBwexAYoPzB/z
+vfNf/7iiN7xOYVlVlTHmStWlOadzi+tyNk/b+kca+BPB8SE2Gnmzn8PH64FdXjgkdFtg713fvP8
3c/PO5JW1Dsx2mS1rMgushDaKdDRkTFBiZFlp06f+o+Jf+X5E9bgojGPD2Bp5dc3vuLuP19176if
tg21PFZ5SWF+sU/LVASgSS334QCnosJ3cNbcRVf2G1p118BsZ+LjCQpufvntI289L/i3w6feccfH
O09k+f3xzguntrk7/mijwachi1FbQ1URLEJMv6+8yPldJ5AFB79ZOtcaeOulCWFM/gflf+D8t2sp
rrhJGF0+rqmTCIHX33Pnf+D1t6o2U87YO79q75t00hki/j9Y/3zxxRfNmzfnqQxuBSo5laU6qeDY
FTMDGgSGcUJE2sb1nSJCG/l9Zdt3hETHeMPDbWRxcVlebqNyX0p4aPqGDd6bbwGvzSApegqajNQN
nZtExNUJpeINio4NCouA7yst9uflwGTq0MH1Pt8QCdKrttNw16EtddvGRMWG7Ti+o05EbFio/Qtu
aaUluYV5kbHh9drF7D689RprCA4TIE5hZKUBGENnKWduKrMiGhimIMCYlULAMUNhAEDQ01ArE6K1
UvDGnBxmVqogkOWCmRiKj2mmNGuckTY0yAfjhpFFFbNGc00CALLSI/0MIYg/PjAr5yUopBvPrPyn
B0zTEG9NSYpyhiBRAkBW1MORfglqFjB8mlQBwCKNWaYgkGWWHhpCvYbCQEsVBEpkQrRWKuXCyAqz
UiXZQPwVIqLxbxN/K6nzRV7vW9uOFTZvUbFz4347E/I2H8jwxSekbVjsHfBYK5/PX5G7781nn1hw
EMfr3PzQ+Bu6Uk6XV3i8nrLUea9NfmtZGsXq1Q+Mu7039xy9JIc3OspTtn/82Le87X7x0rDWWbnF
Nr9o29jr/9TmkVcGeuc/9kEajCd/9tPo9rdPeea6UOf3KyuziFLca51Oz8qKsOKSmyPoCfYzlbFt
zvg/zsSS1aDfU7+/r12d8iDfgcm/eiVxyMBjb723ybrh0dtTJ7y3z2vtu/+n77Ya9syj17Xz5+3/
eMpLn29KRyj6/BseG3FLs3Dyv2jxS2PXNb2hw5H3Z662Hpv+Quarj29NufX801+89hUrrP+r559u
uGvmE9OXI9X3znG/vqoDKX16x9eTXnrvYB4867yB9z/4i36U8IcXvPzizvYjLyl7dsJ7zCQP/OWj
v+gb7WzG7N2L/zJ1umPZstrf9fbTV4b58zZ88upzn21AQ4urH3j89t517PcGleePryQ/u8zejKWZ
hSy5MOdEVlaMHTR2UPaeNyY8sTAVss6QMX+4qVt9vz9v3expkz9ZDcuyzv/92w95Fk56P89rffyH
4R/ntb79Dw9d3QpZxZNdS0Q9xQU5Odl+f2SLZl7vqvwyX4U3lAMhf/3HU56fvREtuDT2tl5RHDhZ
u2a+PPnrXfZSO9z+xyeubll4dMkjT20c8eJv2kVz/uQsfe7BtV3HPnR5c/sn/fGwoqJw/xcPv3/C
XNAXn7y6eOe85595x84Xyxr2zPRrWkcGzh9CETj/yUniQHLqdcHkP5kPkx6O8tZJLhtGk4iRBcYs
/MoNUoOQtqr8R9q2SB+Iv4mhovefFf+oqCgcLikpYRUXXnjh6tWrKZ1ZCJfbvsZUzAxMXaIVKtWK
D6SeFx4aU1wUkXXKW1JkOVWvVVIUXFRUUVJ8XnjIstSD0oK4qV3EKcpJbdo0hho7xCr0+j3e0jIs
eXxF3ooCmEztSku1jTtNIniJdRgZeUcb9kjwRFolnmJveUVZqf34Wpm/tJRhREWD5okZ648igkUZ
dfdo0OWRS5oyYOlHmxYIAQckhHwQACkA4giDTinRljC0wQhGLwI9KJE24o4UVmhi0ospMD1TchsR
wDRpYEq0kYVDY1YcOSBaU+IoZY0P4CVCD1NI00vExJ+hMIDBuE2okpYSMIK5e6YC8SdogfiTFcof
pXpQ/ZQuXu/GvRlXNi9dd8B77b03Lp/+2b70ovMr9i/xeh9uwwMOx/78y3ErOt019cNLT85/9ann
n2g6ZWrPeCusjvfE51Pf6XHr+Ikp22dO/OCVh+o1mDYoObK8IspbsPXNZ9/a7e3/yp9uqsh1ykzS
tdw6WlCQXFEa1uwntzX58IPjje4Z96tWdeJCfD62iVKXC4R7vLpF2DcBClcsXMoui46MLEn95jcT
Puw7YuKLF0V88LsHnnmy/rTJN2CpqODkX9+ZOfC+h//YslGjetbPjx58d3nXB569ql4dnq4+8da9
jy+yLnj6lT81D9k39ZHxY+8peP7duxp4vOVZGVvW/mVLz6EPP965VWRQesHJ1e+/vLrTjeMn3jZ/
wvipD/3Ksjo9PHH8yc8ef2fGrIH927UOs0qLyrrf+fTY3q1Ornj18Wl/WT2o98DGoVZZ0ck17zyx
Jmbo4+Obpn48cebrKwZccHWL8LLD80f8/h2r0aBnptzSqOLU3iOlnFm7PvrjpC9LH3z5rS7+rY+P
fvHVRs1H96/P6lg7TReFnjfTMLl/r2tUUXHidTv4d0/9cED6N1OenjSu2ZSp3QrWvDhr7XVPTB3a
ztq9K6NhiBXW98beMzfv6jvssatahcXa3952HQ72W5gCy0c1nrZr2ftrvN7eXRuE2DmAS5O/LP3t
K2939m3BpdcaNR8zoGHqwmnz9nQc//aIRnmHDxYm2FekKCuj4Jjfa+vks4SijIKDhXbdY3+0wKUq
90e0vGhYkw8/PN5o+JO/5IJG+I+++ocZh/qPfPv+XlkH9gc1itTqAucPQQucP0oGhaJm/utQYrYq
/wOvv3Y5qGgQOiKmrS0me8rZlTYfjqENxsiKQM9/RPzz8vKio7n5YK/d1D/dunXbvn07dfMll1wC
s3///nPnztWSVf/Y95hZnlg6VcknoBEh3rigiMioyLDICCsi0goLA2fxGSlR83jiLU8EtxWqHngg
Rrq3p3CHhQeFxUcFx0eHxEVzg9kT4nw5htsb4V6/tyIsuyQs244p5rBujOp6hIcHx0bXqRMZGR0R
gRr+ASihEgvh49mK2Jiy/HD7brlkcRsCQRyQuA4L6dSVA8NyWC0A+KbhgNEDLbCJBgRSvL2gRwMN
cXMSMTQWIdBpVCl6DOFLG7PoNybEp4cjnyFQSC8kGuADoIcP09wzhsYfYwuCJs0m/hrysYK8BYCU
YNJvOOKLKaPQGmIXmLvJHwEMX+4Zb+HLqJRojWAC8Scy5vpCEx93z9R/d/wtb/1ebb1vbj2UdV7J
QW/nUf365b75+Y5DJ07mbfF6b2pbx5e3c9V3Xu/ll5xnncxN7HhBnHft/uM5PePDSrgZevkj8x7s
k1dQ0vnpJ9fd9NCC9UcHJbetsCK9+Ru+2+P1tm0eXZZXZs4f++axl40dFNqo99VdPnqjsOV57VsH
+4qLS7kASks78oh7t4391S+t/HyG/e6ZdF0z7/oPF6Cu73lR6elBva/v99XUlQcLru8QzDt1b7/R
U39zUb2SsrJSn+f85vXfi2veuXXroPKyrB3zqPiHPTemc0M2cM9Hf3/nTQ/O+G7vjTe2DeH+gLfX
/Z+Ou7KisKisJLe0yOvp9ctZ464oLyyLvL7ttzMaTPn8kYbUyLcOfXftMo4KNkvTi++4y1uWfTqn
cedLiEBhqX3IeLzYb/LwtCl9Evy+8+9o/OHD3D7gryftX4u3TZ554TcdgwrLKuL7NLMKT22dNfew
t/NdrUKLCv1Jrb3eFUs3Fl1yZWQt549OHvvkZPlF+9fawR9wXkV6TlKn3nHedQfScjvVsQ/M1K3b
05pddH6vhsX5Bf641p0ae483atemTQt/WXGpz85hmg6c0Dre/E+f+dmnNif6sgc+Hd2/JDO3omTf
Z7ZLd7cILij02i59u2xT4YCGVij3jndv33y48UXtu/JOoYTP5sK4bjz3zGnKhUIpXwu1twmk/Ypj
+T31LuSCTi9s2a59m1B/SWmafXt8/67dxzpe0KGrv7igzHEncP4Ezn+9RLJ3lJza9QqLevh6bVL+
w+RFil5IHcUAmNULXOD1lzgQDW0uhUvxUSTtfVr1ogbmPyX+77333m233VanTh1KZ55d5gnmfv36
cV+5a9eurBemisarr76axWq9rLTyHrMySb2iENeqdfbxo1ZMrBUXY8UlWrExnGIW93Kysqzg7Gxf
RUz9xiBpaKEptxgSstikllnlaS2j6gRFRXujoq3QaPie0jyrKDjIV5ZthcXVb2QEkeViSANEw3rJ
5Xk5EUFhMaERMaGxUUG2bIE/L9ubg+byfKtx3RZwWAAiEFweZzl2h/+a0kWVWveiNIuIZNULIFlE
WAgwGvGixygwJQGEYOrlAzRS0IANH4ImAArZcsgKZpRAMOV2UiLokQ/qYeIJvQSrLVN8qaKXw+ik
1tcQGiZSChR4hqaBockHmWMIBo6GIBnSGMKEoNe6QDIbiL8dwbPznxAF4k+quPI/tEPfTt6313zf
tMTb+IKkoKSOnbzfbVqzInRV7A1PR5T4C0JCCNri155Y7JwnHm9s3TohdgZ6vI3jI9MyTqOtorSA
5AsK1uY97Wl9x5+G5j/yxw/uneiZ8uDAOs57S6TBcCSVlhTkFVC0esryC4vCq+c/X4D2emNvufuX
bRITmrU9r0F40amck7u3nPR6MyY8+Bsn56nH2oaxQcvLgTasG5KZlaP8L0TWU55bWGi/lbfdbtwm
rjS/iBuifBJn/+IEj92ycErdxu2aF2Zm2eeCZT+R3bht86JT2b7y8mJ/obdx88i8U3n+imK0e73B
FfbZdXzNzFee//SwZUUl1SmwV2EfRH7MNRrQOaogp6CCB46jbDjbsGjvGrwdEFtyKt/ZkiXF5ZY3
1A7ijnd+O+od26bXGxcVgitlNc4fZ9KOEocbErwjp1/86uME327e2MTI4LAWV43/RerYN6eO+Wpq
Up9hD/3i8kR/YbGH270FfHncSfnKGwGieW8Te/VDL15jjf31xBPZhVkns0M5H6R6x9ujH5Bmb6zj
UvsbHr119xMfTxn3yauegXc9eVvfFijhC37lTsqQOKH2HWuuvx//dUH9ZUVcSZaOF4V8lGAl/eKF
UWmjp0x6dJkVlfKrx37dvUEoMcSMHfuq8wq10HDEVx84/52LYXe6dnYOOCeYOEQMjh18pzGkMYQJ
QU88Jch84PxXKIgPBAHRngqc/6SK8oTI/HvWP3Xr1v3kk0/45bh58+Y1atQoOTl5/fr1Xbp04Xwz
+Y/zOi5M/tsVszYGPZecdWqY0OX84xkZhYn1QuLivI0bWYn1LO7dZGaUB4UWBocezymo1/V8kyVK
FGTRQHQSmnRNPz63OCQoPDLYEx5TER4PwPnaThHMtCJ/fOMuIJVbkpJpFLZq2HFbxtKw8pAoT2Rc
KGe+LRtcxk3i0kJ/UXFGSUqj9m6fUcKSwKCBnoZCmgiYNIa6eM6MvfmZ1RShgdCQnimQOhokCJMm
DOKSMhwImHovAl35CuT6/BdV7gPaLS5n3GsxFmWOHnH5o7vdsosgBGrxVrRMQyNizGlKqiRIb8wx
i7hZKTDDAcOQHlUGD23EmUWQIS0QfxOHQPzPnf/+uh37eL1vfPKVlfKzO4C16dMj6I35X1tBQ29t
UkY++e07mkMmfPCzjlFOPCuKc0/lFNklsieEuHrs/C8PZhgVUo443xIMOuVPSvnZS/edenDah49O
C//TL/rw+3AV5U5mOhuknOcOvJlOcWerxAh9VT5jLanrhee39JaXlWadymEyNqVL49mHG73y5VPN
7L0A3pd3KquwyHkyqqQ4KKhOpfiZ3Cf7cTt9z7Gils3tn4UoKzjJNvHoBMLz4hLOVvi2O/awgOLV
SRIeIi4v8ZVTc4PlCX/bveJdUyZ/lnP92Nm/6B1s7X/wut+yxQHbiyjy55X6I+ww2De8UVhRUafD
xY28s3aeKKyI43Fu5wM03ixgJfaSR99/8ELHqKfCX3T6dD5HPkNFwBalOXUPHBTam91ehTv4VnFu
Zm5xWcurfvfVdaO2L/zLo699NLtjyt29Y9FPPIk/sqzUdf7YX9uMjowIiWn/x4euuuf5d579NGHc
kI68TzAuIULDpczM3EJf3VvHz/xp3uGvX3zs7Xde79J9Qkvbh9T0zNLkBiHlxce2nQyKsWPDk+wo
sONjm7NjlVlQzhHNNSgLbtD3xbkDM3Ytm/DQS1P/svjFJwYpdewwOQlAX7XcwPlfLf/t2AbOf4JQ
dSA4yem8CNpZWrVfyD0A9IHXX8JiNpQJkZj/ofVPREREXFwc5XJycjI0xxrf+WNF9pHoqn90ypn6
x04IGmtmQjhxmvXuXda69eri0px69Uvi6/qjY/lXklgvp34Sz0L7WrcGANLETkmmfdisbZ+yiLbr
92XklvpLKvwcyfwrKS9nuH5vZml42+btfoJ/gCUuu/S0zm161g1tfnhrRnmJx+vjhhLnfRBERYkH
Zt2Q5M5tLhASWYlrSTA1hICDb/RwdODKli65oZnSqqVQs4jAxD3FgaE4UgttVi09Wog0EFaZc4Ts
jQdYvQRFyzF5KCvV4g8MjKagabpgKKcxxLQ0o5ah6cVnSuakQebcMGZhyn/4NKMNAj5NhuilnGUC
M4ZEayhVZhZCzsuuNKAQMD2zhmYKDBw1zQKDGYj/f1n8vfXb9ODnLYKCerRP9Pl9iW1SoIOCUjrW
s4+g0Bb9BgQHz358/Jzvtx88uG/D90vXHytg64RGBWd+9s7S7Sf4lGzlx1MPB8Xe2K8t2UJ6Umfm
5p9OHDj6mWEpJevfe+aj9ex2Uoh3qBTOZFFCw+Tg4KKTh0/m5RUpUU1PJcd91cLTBQWFPF2gHVqW
fPGgoKDNf3jq7Y17UlP37/x24bcnSqnMpLDysyZbA7JYcPZCZIs+3YOCPn9vzoHsooKs/Z+/PTso
qPuFLbjfzSYK8vJ0gTl/8BfnlP+8i3YGXOJyP7WgUwSXh4YSj9ysPbu3fPby64eDgwtOZxEZXAXM
WYZFTlL8dlZX3vSCaygfX5jy0Y5jmTknD65fn+oLbXX7za0Ll0+c9PGKfQcP7t6yZsGiLZy6CNp6
XK8E5aV2AYoe7dOI1v0J/udPmOAv2XiiqOj4+i/nr9x9NCuqQVtugvCbdM5agguXLt+fVVCmu8Gu
A8FZb7mvrDCk210P/CT2+IKXP912ujyk5W03ty5a8dzzH6/Yn5q6e8taXCqz/AdWzF+4anNaflD9
ds2Dg2OigitCYxvh0rr1W47sW/fyAxO3BQVFET77nbkdfwLEgZDYKDkoqDDjSEZhYWlFSercT75Z
t/2QLzoJFUExifYtbecwtAMVOP+dy811pxENRcb0EDDJRhMxYMSNIYSTp4HzP/D6aycPKUEjW7St
oMVkqPz5z61/OH55Xrl9+/aRkZGsghqMZ5f/Zv4Ha9mciUARIyKcXISjTr2kNtdcm7powaJ9+5pY
nvpBITxMln48/ej+veVxcS0uGRiRkAgMKQwjiAZk4dDqxNVv0fWGw9u+XPrd3ibJWUkN7J9ePpmW
djQ1s7QiuUXXa6Jik2SLKyFz2tWoSoxL6pMyaN2uhRtW7ExuUtSgof3HC06cSD945FCkN6lnl8sA
AJZdbDErWRYCk4ZCmNr2RAHHsAVTfvKALxgJAhMSjsRBAlNMxKE3+u21OYkiDj1gNMCExgR6DEdI
zUIzJYwUCibr9NXiD4cGBinUGkPykykImrFYLf4ypx6MloMSRNDpdkwuwYGQRSkXDD5DmjQg7qaF
gSNZMLZPgfgTtap3IIpGIP4ExFeW0ON875bNXdomhpT7y4IT23YICtrd5eL6fL2XzVcR/6u3JoQ9
M/adSePshLOsa8Y81zrBW1ri9caEzJ3yzEcO88axL3bnoecSqyI0kse1uPtclJ3Z8vpxvyt4bPJf
33qtUcORfSr4qnNosL1x4rpc1Tfmu49efOoja+Czr94Q5cp/K5TnmIuwym90sEFwjxz2Jl35+lPe
p37//vixcx1rrR6cfF6Mp4KfYEAhHHTSezxR3jpUmzwF4fVb9UdPGfvCY89OGrvIFqlz4ZhXftnA
KigGxoHjqfziPNvTqfvsp9U5fyosnjWzi2B7y9n3TaM4QayoFjcP7jj56zfHrbSa9Ln2svYZi6Y/
UzFqfN+QRM4zTNtBAuX1hjm/hBNU/9IpY4vGPvvJK39Ybptucv1z5zdrOuSphz0vPf/xS99/bPOs
Vjc83yU53M7Hs86fkJhY+1hwIPa29cX9+q1nw555zAR/8Jjnm4Sc+nzGZ5/PsEENzr/9pm71PMX+
/vfdPvuPM194Yk2/X4+/sa39pXL84hwgjLpVjqHS/Nxevxq3fucji1977/znftnh5qfGWC9N+vil
VZUuXT+xU70jmz/+eLtjnofI7/t925DygoSUX3SLffvrN3d8bfW84/7BC6et42fvCHK5Hf8QJ/5c
0P6xuqCXjX+h28F578+Z976txdt+5D29Qjmn7TAFzv/Ky62LHjj/7XCcnf/2ZndeuMkdHc6B11+9
fP+frX9Y+AUXXMDhTG5whvxQ/bNt2zYQpJRShxwSDZM71Tz/nLZpQ8aePblpJ5iKadCwXtu2Dbp2
89apw+cU6EVKJz9SOkClISwszF+Sm5a6MvP4lvycQzDrxDav26hzwxY/4RHl4mJeU+zSHFk0yCLa
KHBxmlZYkrsrdf2htN2nsvitp4rEuIbNG7Zr36JHRGg0GGRpyEqDDgW5gdsopAFAoVkaJuDIQ0nZ
KhwMgmwYARBUka1ZiYNnqGQSH80MkZL/ABgiqyAIrE2oKXpmASPIrJAMpdk4KeWKBkzANAj4Ikwv
uwylFoBMC2zWAkCOAQMjc8gKwFB6ZBGw4i8lxhnNokF4YJqS/+qNG8hC08CAZChxYxGO9EgJGDQE
4k/E/tvjHxSVYD+cnH0ys6SCPwcXlliXH0ouOpmZx6c5dpIERybWjeOXKXhIIzy8TmluWk6JNzY+
LjSMW7plfJeNKjm4KOt0vv0rcqHRdePDyzIzcsg2jrg6CUl1Qj3lRTkn86z69eNKstKziqjhIurV
jynOybfCgguzcilPTf6Hx9aLi/DkncrMLz3r/PGE1qmXEJ6XUxAUFBYVFZydfrKwIqJ+/djS7JPZ
xZV5G5nQIC60NONkNt+/Q2FFUHi9unVKCktYQlhkaEFmJgvgYeb4+klhZblppwuc/A+Oq18vrDQn
I4d7vuVRCQ1iQkpOpmfhUkhkQmJMcP6pU4V+T1R8YqivoKg8PCa83Fdulfk8Vml2cWhCYqQ/Iz2b
nzvyBkexOpzJKbHvuUbG1I0Lr8grKg0Oj4oIKsk4mcPvucUk1o3wlBSVe0O9IaFBpZmn8kqd+wUk
GBuN0NkbMywmKT6yKCsdPQztTRoUXrduPMHnlkloaKS/ICPLH9UwMcy+m1sRFBFWnnM6t9hfHlon
PjHCw1cS7bq4yNYmtYSWBYaX5bFeFHJx69WPD/H4szNOFZRWRCfWjfSUlFjBIZ7gsGBfenpOVL16
ob4Svq/pDYkIssNSSMTikpKswjyCGOIvLg+LCinN5ipWeFzxD4mMT4wqy+eHm4IKc8ri6saUFxXx
y08R0ZElWadziuzXBdaCSzR7mYHzJ3D+Oy/N7FNSwuQ/NLtSr1yV+V9b/UP+KIVMLmlIjyxKIKQW
AAqxQvqJphcg8PpLBP49488fPY2JieFK0ah8Dh06dNVVV8XHx+siis9lpXEpaazCvu6bNm1iIK5Y
QMWBCOX4jIykZ4ohi0c1P1bHw9EMkSJpYJqKx2iHGR4ezk1vI4sxiuzCwkI0ABPSrQQTYmIdhdil
ZIcGY2QxrayFyRRNRySC4tDTEEeEKcDi0AtDTxMfcQ1FmF4iiBuXtEyjTTEFT8MQfPRoKEKmRaON
IbNGrfRo1t3XjD8iEhRMtgwMphyrNf5M0Yx+WZdCmOIzhACmtBYTi1ogb13gMxSfngbYvXwtDb5x
FSIQf+JmRz8Qfyftf3z+k0bsE92jtzOK1yQ7twikxX3dUp+91/6e/A+yn2moKPfZ3xWrbMpntJqd
hU5X/vPgA6989vnxo/MfBfbu5kauvQ3+gfx3HgHBW/sXIrjHyiPRvJnAT3lI76h3br7qAPRyq5jn
lytYIDCavUOD+O4hP+ppv5eAg8iPjH9IaCjrZu3odna0feMYBfAULvv8CQoODQku44vFrqPjb54/
9oXkqjoRkpOca3zqZz8Y4jx6rvjb6wRTUbnA2uJvhYQEl/tZrh0W/oyNHXOWFzh/nAjoMhGZwPlD
KikaPz7/zcFSmaLOZoPm/zP5//edP4HX37/j/PkXx58/VsIPZXBldbpS02ZkZAwdOpSfnONE4aLX
dv5U2BWzEsIcxwzdW04Zw2JEsBU5N91pZPLSJBYc0ZykCCp3YVIr4wocAcCYoxyMykE0w1TJRQ8f
DlPY1TLgQLAYtEkKPTqyUQuHXiLwIcQ0hmCqiS9aMHqZMEMwBlCNCVIXWBaBAaCXIfzBYTh4rvVC
G+XSKTDiEG5nGAJ2H3kogQmSBpImWyLMUHqYglNNJ6aRlQM/Mv6EV1akUDrlBnoC8XdHW4FycwLx
D+Q/OaC9o61nkgQ+jQ0FX7Rg9OaI0KY2m44pmpsJMnD+EECdjYHzX4nkzhBok2Bki5IQWOD8V6zo
FRYId6wYstcCr786cBQr+/T5rzt/6tevr/2iK04ycJhk8ztwzi3gc9U/Qffff78yRqGhR5JmNhtK
xUERGmkyAJ8mWQASNxwTYvASxANhjIi5BogjyJApaAhxEIFAAzenmRJeO1+GjEJg0EzB1xRgswTB
pJ9ZCHRqKLX00iAkvZSYHrARNLNiCgNTkYGQfhEcT1oLTNOkQQphakivBp7mdh6MhogwBQwONA2a
XkzR6mULWo0hGHoNJSIlmoKjWcGkkB678BUu4eHAl+kq9ZXRYwq+pgDLZ4ORfmaNQuMbhCwasJSY
XqYlCMaYgBANMxD/QPyVDPSkCs2kEzQJZjgANBRS+axZ8emRpSek8AP5r72suBEZYgJNg6ZXuESr
B0CDVoNWYDWUCEwITYlgVjAppA/En5gQokD8lSE65KEVFgjRDAPnP0liAmJyhsiowYEAAKEDzc3X
jquEVr3CKrYSMYJSQo8emDRJ/cfFv6CggB9dps/Nzc3Pz4fgCQhF5gfOn6B77rlHoVQggJrIEguu
gQmutJirongpcJoCL6bRYPhGLXholLjFJagpd4lpXAIvVUjJH0QMByZN4kYVQxpgOPJZePHpYRpV
knKvVArha4qhVBk+hGbp0cZQ791Ry1BMLAomoxrKjWqmBUBKGGlgaJyEI0GthSmjGUJThglHGgzf
qJUelLjFJaipQPxN9ALxJwI0AkIL5D8bRHGgJyzaXHZonKbto3BBqylo2rPCV80Ezh87hkSD4Jmg
EaLA+UNACAsxoQXOf4Kg/RU4f7RZTOUQOH/IDcVEoVCqqNcOMnwIbSv40P9I/RN07733urcotLRz
YWRVvZyjdzvBFM2IMAWAJr4hJAKMBlOngDYAQ2ahzcdqUkIPWD3aRACmSTm3n7VsfXpipiCkQeLQ
wCRiFMKkgRSHWbNY+DDhyBA94vQ0TUmQIRhDa0WGY9TCUUO/3DCC8KFBqtdQtAwZl8yUCGbdBLTM
qUcDDSbNEBIBQIMpb9FvQwPxd66CwkU0CFEg/iZ5CEgg/4mGUsLeLVWbK3D+6FQhOGbLwHGHyMRK
SPv0CZw/VS8c2mIKCL2GRAxayRY4/xWTwPlDHJQS7s0VOH90qhAcs2XguEP0/+n8sZ/K0OZUasoD
4wdMOQRH+xmCRoGrkktDTdWa3OY4AIkIGPVSiyAcGoUvAOlh5dIPRhwpoQeJuAhgjmjlPV2Qxhn4
koWAbxoApJjSrCEkyBR3OJSLiAhjvBXHLQiNID2C0mDsqo4XE0H4cttwMAQti0xBy1UIt1oplH45
IA2B+BMld6AUlkD8iYPyjeCIoDeNWXLJidyZncWsoqdsDOQ/cQicPyQJcQicP4HzX8cFRwQE+aAX
MgilB4TOHHOMQChtRNCbFjh/FEDFhwASGWhaoP4hCERDaab+3/P8CRo+fLjxVamvnu3BAty91iMm
F5iaj1nALAxCl9/gxWSoVIDACj14nUHSA1Ma3D5IVgA5YzgQcNQQQRUwmji4BK0tLaQEmTUYIeUJ
TADq5Z7haygwAIZGITQcGrMSR4pmAEwZjsCakjZomKKlQRhxpFYaqvXuqUD8FY1A/ImDQkH+BPKf
fUc0tBm1BwPnDwEJnD9mj+iYJTcgFBn1HMJKGPE1FBgAQ8VQpzccGrOB88eEgmgEzh9SiIDQkxhK
p8D5Q0C0d7SbtINEawf9Z9U/9u8Qc1eJXNequMwsg8vMDypnZmbyG3Wn+K3QwkJgWqQSQrTACgE9
QxZPwYo2lXQmIhAI0kx03LLMqswVU2CQ4tNLMz8216BBA/4COF9yhCOLzKqB52eeuTmE28ePHz95
8iSPckshdkW4XUXK8ajyz+mJllFofhePPzvetGnThIQEZKWBQKHf0PxehEKELX72jiUgLjAYaCHp
CYgWCJPI0Mt5AxAYlxDfvn17z549+VU+ZpGSRWgtUyKiay4KPYj8QPyrXWgFBD14RU8zVlAFjTZ6
+PKQXiIwjUsSAaOlyUMhbY1VVwoCbYYvDYBxydDMioYA7JY14hA0bCkygmnJSDGFTho0vYbMyrQE
NdSUeoExzZAesFEeiD8xUTMxZBiIP9lFqpimmJisg9Aeh28IBVBDBO00DeS/s2cD5w+ZQEqQLfSB
84ftQxDcewc6cP7oVKHX6UFvGvH5gddfsmvVqlX8fTtzLiFonz7nOH9M5M3Z5Y4/slwLvXDrMul6
0QOTWmgIDc0LLkw5KbUGIDBqwUu5ef3lt96SkpIaN25cr1498AgCEMaA0Z+enk7Vx8/D8WU+hliR
e+BRDt7tFUPJmlmtgqqP2hJbiYn83Sj79it66NGghdgEcUReC5A30kWhTOnWo0ePNm3aIA/G3dAi
GAR8qRNHMDdfAHpJmf4HBM2UkYXApT179qxfv75z584Usma1ioiGFK+43b17d9wG49bjViX33Bxo
NbmHrb17927YsIEkI4hMKTgSVA9mx44dVLfY4g+Uu4MgJeqrFNv/S1BIhiZi4ovz7LPP8qOAZIwt
EGiBCAQiEIhAIAKBCAQiEIjA/zQCVH4rVqy44447VGm4641qKpmqWckYjBE0HNUwtUqJaZAQEv+B
+scNhgaZlZWlqq9Dhw7cxKSQpbqlGFOBxLrAUInxl/ioxFq3bq1itVZDbifdAC0Bc6ow161b17Fj
R8p0g2GKIhOjtl33fVMmVJgDPXbsGB6cf/75MPXjbrLHsNZmZk04qsEEoIePeRHCmCm5riE0/tHT
BObnpqngGe7bt48KVUwwaDNvBXCbcpnGLEtDv7S5nUGDNLuZbk+geWfTrVs3kNTNVN6KF73eWnG1
iIlsESK0ydYPKKzmhhmKMD0muLvMSulragtwAhEIRCAQgUAEAhEIRCAQgR8fAcoVFS2qNP5m/ePW
bIoTVWL0NLcGAdwihjZThtCUGYpw90ZWVrjvSyUGgLpZ90kBaAomNP3Ro0cp+QSjEhPf6BEBEylN
UWW5MWaKqg894A8cOMDjDKgCSaPqU4VJeWz/hRG3RmhiQc9d7ssuu0w3q41G+LIqjgSNH+4hTA3p
Aa9Zs6ZXr14QNKYwb2YhjE7DlLjA9G5MixYtvvvuOwH0DsOUy6RFWlrawIEDpV/iIN1XVyY0BV3T
hADSn5ycjC0wNMNHG0MACpGsCy9bhFhg6aeH79YgWkz1UggS5dTK+juLRkmACEQgEIFABAIRCEQg
EIFABP4HEaBc5iFSlS6Im3pDhLsgkXLKEgMzGFPGGEJgow0+Jv6R+keeGLUQsqWqz3hC0YUVTVHB
UomZqk9MeimhN+5BiFZ9aAASYUqcli1brly5ktLXgds3XiEIIBwA9lO5NAZ4QKPoZMg0DwGbvxZo
rDIFLW9E07udY1aqDEbeEEd5afhuPcKIYxRKv2Eagj8Fjm9YQYqGzyBp0s8UN2iVGczCR1C9hoYJ
YaYmTZo0evRoMwVfjQjw09ZoE9gYRSF2ZUtMMIhIA7M0M6zU5YqbMS0CgMFDkwEkN80IGmLDjoyF
3+7cm3o8NDwsyBtcWlLcpnnDS/q069ahnsEEiEAEAhEIRCAQgUAEAhEIREARoMCg2KBWsUuTquKE
KdEQpiapNWJm1lQs1WT/WfWP451dXFVzg0qMckuVGD5QoIKEEJ4v2sXGxsoH1oi422FKuM8++2zZ
smU8FIBaHlPu16/fjTfeSKGoVUgPtAhs6U+ZwEEn2uh1v5ki0y6cweGBKk6mhQBkGhxFVl4a1SKk
Vy5CA5ZOLYahAAzhUw6iVmBpg66Gl6AwBimvNGUsog23wdBQCx9ChhyezTRWRNAbGBho2l//+lce
YXnyySeJg2HCB4wGs3xx6BUrpmjCaF1MyU8ImixCAJMSlEPLN83SA5CU+AwNAW3a9E83Ll5+6Laf
Dxr3QLxhLt+d++rURX26Nxg+xH5+JtACEQhEIBCBQAQCEQhE4P9OBN54443rr7++5vfNTARUUVBo
UX7AZGiKE4amFHEza8KMNqNEGIa11z/lvsKCouCIOiHeM1/E/+H6Rwrx03gCnupIDos23hrr4M3D
GIDd9eTatWufeuopPrcnOC1atECEavjjjz9+77334PPgA5rdeNVpcLAFWEMIFohdWuXXy/ipB5S6
cSiSE4AkDCEX6aG1BtHoNUyVsALDlCyqjDamaG5xaA3p8QEpGjoZIk4TX1IMIdCmxTAUUrNYZwom
GpByNFkfffQR36MUBxiL57uDPLDCmwkBuA9/8ODBBx988I9//KPeeYiPHsCmKMcQND2NKfQzRCFg
WYSAI1nTA7vgggsY8mgKvfxUz5TE8VmXxPhsxEVQLn/6eUb3mwY2PS9uZXpZ+ulCopNxujA0KqpV
v4vfmbYAD4bfYj+CU0vzZSz9YPqnq4817jr0weE/CXcQvqxtH8za2//2G5pqXItYgHXOCASi54Sm
eM3sT8p63/yThmfl0L8+OOeyeGLN7OU5HX56WbtzXsh/9gQWF+Z0uONfaNGs4Bym7WuU0eKKq7v+
gx9D1X6tjfV/A8J34LtZb3+w4nRC14efHN408MXpf+CSnCOXfkjjufbgD8nUmPunKKmh9b+fwa8d
8JjvpZdeOmDAAO76nWvBplypFUAxkp66/1SxXzd4YxKSkurGhwTZNQ94KhOayh6GKmCMntrrn/Li
jd9/37p3v7qRlT/FZgTPVf+oHMKQG4lyKi5NqZcbMiqOalcE8ZZeTL7Dx21QvjJITIqKiqhyURse
Hs4XBIExRdFMHQheIvTowRYwu8g7++6y3PBSqwECyk+zGQ/gYJIpHtKARjuNoSGgaUzRQMLfv3//
1KlTIVBCD98AoGHaUL8fp6vNvv766zxnDVh8wejhYF1KRMOEgyosshhKTGgtFYJFAlAvVfTyn69b
8vw4Dwfz+3Tx8fG33noribVz587HH398yJAh5Bm39JOTk4nAyJEjeSYGKWRpKKTHBGrxgaaY4gAW
aQKAkasSAWamIGB2dZrAcAAYpGzBNJHBRLXGwxiffbS6KK55TJPY9WnWrmzP/B3Ze3Osgsi41xcf
nLRgy7qsimlvrQBWTVDDPW//6sp7l3bo2zs23Lf6tUERE9bCLzm0/N6R49Mqn22pVa46s2D7axE9
X8t2sWtyPP4DIyJ6fmXrLfj47oiIEZ+XVOG3T785YtB0+wf//qlt5YSeg6Zv/6eq/NvK/gfR+9tK
PQWvRXBx3AH2/CtWd+aS/Qgfz4L41w27d/nR4rN450itku3TIyJ6rj335a/MJf+eERERTy44Kp3b
p5NDd2+vzKG0JyMiXtt0VnwEO9flSF83/ufXfl1NYNNrPSMGvXduRypjvpadcnMlzH/0K46O16ou
zdoXBvV0NlG1hTPE4r01LHpKtrOMKs9LvnqyZ0TEQwf8sGuPScH29zCnNujuCSuP/oCzZ3KmdtMe
Px4NWZLqdtUkldtQRM+7P15bGXY3uIqu/VpXzf7D/7uS0LnoVcsf8cLaH3dI+Q981nHgz0936N01
3ir6e461f9j1H6egZNPNVdfU/f/07T9wcX+k5u1smarW88npy/5hjedI4x9051x78AeFqk/+U5RU
V/rfO+anuv785z8/9thjqk/mzZv3pz/9icKm1hWrNDIViwjVLfQM7fom50SWLyQ2Nqo0I2PXtk2r
9h4vdn42l1kwBmaUUMaoMeWuairrn/LyhIgIpzy0UZL6m/UPSFTJH1mUCTjIUnppil7LpBpWCQoH
JBjZysnJee655/hhBm6MUly9884777//PreW3377bYYwu3TpAoBnNmRRUiihSSHWYSpuuKQgY67y
UWbVoIBA636n8Q8OzqEIPmLw6eUuU/wG3uLFi/lZNx69lQGm4KtCFxhZNMPXkCk0CIP3PGXCL7jx
cIl+aBmwAOBlTrbgM8QEgugxzggGU/oxJPfoaSxVzwTfeeed/Mg0gtyWHzt2LL8cxxMtvNvgrJEq
hjzpMn78eNIObTTxtShUIUuDSW9cwiuQOGzchhBNLw0EGXFW6l44s/IcAg22r1VFv2jT/3XxhqW7
/BVFe5odb9EpNDosxNv2vKY8PvLtjrS9JwuK8kqtRtFbjtRfuGJH945JRqqK8O1YOTdl0rpf/zQF
Tv7+yOW+NvZUCL/FkVDLs9JVYjX/3/HlWynDXjvzRIhl1eQU71/8hnXl4w3t9ebmWdaxzCLe1VXq
yrVO19T6D3KOfP7Mtju2t/4Htfzd4n9/9Go1sXvGXV2+GJD96R1OiMKvWL7I16bycw8H/69YnfuS
1erkDzFTrPCaD9zXFpzgxgMWzevRxl5n8UdD4j4ZtO7Te+yENK0yl4KbDxxqDf1i87jLuUuYv/Gb
DwBsP/TnlHbhviOrnrP6ft/GnYBV0rJY495KSGiClRJdLcmTr5g2r2cMjvj2z6jT8Yvvsz89vypB
HXWVMW96pJc1+ovU4jtSwq0Tm5cxtWRt6q8vwHrGwseWXzmvaZXts/6XxYizeAzKeICuh2U7snHa
7UOesz7d+/tWwZbvnDEptqyULzfPaZWz6g99h16a1yr705+e5eMZ/WdyptbF8k2VGGIQ5o6BO6ls
Q59untPdOvLBs33v7BvZI/9VHKu92de69pl/nHt2EnJwjFl3ZFTInsVjL72z7956mfPvsB85/MHm
8+Va1jWjfn3Hv+4DhR/0p/pkeKc/H9z7An8tN3frnV2u7fXpulHdE4t9VnzDv7kyNNW+ZapMlKVb
1pNfbr6nU/DGuVOvHXlFgwszf53yY9RWKajxv8mlc+yRGgIwat+DP+yw2QkkAABAAElEQVR5DT21
HR01QAGGHYGvv/56wYIFf1csqGRo1CTUG6o9TCUDnwLHHxxUv3GzxglhLdu0TF27fGduERUoRZvb
CjUMUoaDKlr1+of7jJRJVMmUan7+rywgf0z9Y7RhAidVHamOYsisfGbWNuw0aJgg5ZVgc+bM4W93
UN0xZJbfhBAhMCUZOgF88cUXt9xyC1NEAPcgpAfF0DTxVcIhYt9jpsQEhFJKOlgQWhgEUwgwC4EK
aHGYQpAqmWL3ww8/RG+7du34xTeYKAFGT5NyejRIDwR6UAJT2ri/iyzL4OGS2bNnc4sXgBEBI7zs
MqRhHT9RpcXDASOXdOVkDhEaqnAPJLflc51GQcxDGtyN5+f9QMJHFkHARPCZZ57Bc2gpYQrl1NwA
7Hg5nw44XlS+Z0I/GNuS0+SMmAiiBG26AaAhU2DAGie5tw2TBhJVuGpfKFdbvnJXRXILq1HMiYz0
yChntqJ8wZr987/bE15eEZ8UYyXWseolbNx+0iVUSe6Zce/QD6xto3/OD/PRbnx44qKqW9HGUMmR
lWN68GFFeI+7Xz3g3M8rOfDV5eGXf3TW/Y+0uc9su39QR5eJmhzPrq9et8Zd2cgBOa/xntAzApUG
MffkEMdeePiMShOZs58cYnsQPmT2dt0TLPhoxN2vLljwJMAer2Z7MmdPuNsBhN89Y7tR6T+w8hVr
ZP/W9q7wZ641asdMX2rubZ8Bp62dcPflbiVpK6dXjsOHzFib6fGkvTqkx4SlRypFMpcOCR+xqaBk
6asjJNXj7smV3jkZVaU5e8GrYwTAOW7w1FALkOUMmb5y7YwR9sIvHzH9SImnYPuMLvd8YM29Jy48
fIS9qJItn7yxKeOM439zdXs+GjPkyRmz5V6PuxU6rt2Qy8fM/qpyaWNmrNWb8QMLXq1c7BDbSdPM
Jds+Y8TlTy5wwNwHtXU4rvhXTh7iuFfzGnnCeB94/PvJzqUzyYNmrrTz9YKSBZPvDr98whG/x59/
4I3xs4/7Pdtn/O7OudbckcSB2BovTC5FdLl2uPXGssP4UXJoyVw0Wet2HAd3eOUcq+8dHaI9NdNV
Fvcsqr5kxxH7jTqxfvLy8BHTN0FmbJn97rdHPP49v+l4j0X0LyLtzwTExLxRyqXMrtqPi/5da17B
jblLttn+Zm56xkq5squd43u+mmxfzvDwMdMrg+zxxFjWkU/OviIgEQ+LCslcOuHCkXOnrFg4uJmT
seeOCe9mk5Ibte5145DhvPUsJRh7Zowwmc917zHiIyd47pzBCKbsVnJkqZNo4UPGjF+y3Eqo4jNl
FugAcSyhSXKjRuf1+tmwhyxr7+nK7KvlWqO9Sk3N2Vr2yI/b5vLirHPD48m1Upq3SEo676Jb7xtp
WadzyaWaF115/tHsV4n/hDcmX9QF6NwulVvJ42ezVx4yl7+6YI/MaL98ZOfr5WsLtCVXvuqcK5dP
WJCduUnH4N0TvtIZ9CM3sqO8+iEA8+z0CElq1KwZLzDJjUmRBi1aJDWyx9Eh1WC2smpbtdqWqTYL
nvcKsUlNkhq1HnT3z/uyJau+23O2A7VoLtnzUY/wMTqDSw7MvrzHmD2VCeBc7Op7pPZD2NbrNMuK
SV01W8f0mBmbSNpqnjvx/+irGc5pefmYtWlpCyY4Z8flT27Kdg6es87VKr2B/2tEgLvLlMuUcXyD
jXt8XC1KlCuuuOLRRx/lt4RrwCsZlBw0ygwaFYjKGAoPmE7xUkYVWJKfffr06fTjp6ywCm+RXRza
JU156Z7N33JjdPHiladyixxwaUHuqXUrF+MG3N0Hjxc7XG4QZx4/uHDRosWLFu0/dDSDorHMLnWY
LCnMWb1o0cKFC5et21FQovqn7PDuzfuPnji0Z+PChd/mFdv1D/7QI6KyCusSN6UXdZTKP00xy/Kh
JcvSoOm3bt1KRarKGFkDRly1HFMAtmzZwpSZRRA9NHSChADGLF4xhGk/HUI4oWj4IXUggAKCQIUI
1izXmeI5Bz4C4PlgADwmwp9jQS9+MIU2mDImPYapWMDEFkwaNEa52PxeNHoAUDfz5ok76phjloZR
esByAwJxOPRwaFgUEx8ACwmBDzTJyito4rh3714eA+d5ZZ7HGDVqFB9qcNeZupna/ZFHHkEtDUH0
yAqyOENvlg+t6hnrMNXAV5H2//zcydVXX33VVVfxSD4XhjZ48GA49GS2nEQ/TYL0MioH3P3uQ8VW
QlTdpOgTx9KPn0j3+HNXr9sXWl7es1m95nWjWySEN4gNadUpuTDY/ksr1Vrj/sN5zU0Z+cB0p93R
YO6sg4VnYYp3j24zYPOwOamp64cdHd3h8flE1ld0Yrm1PM/5JEJg3+HvJ1rDB5x35tZFTQ633/76
2LZJV3Y5S3+NwffTBkzMvWsL9ubNOS+GO1q+JU80GTqxw6rU1HmTrKHdH99vX1urNG3m6MGDT9//
weLpV3q2fT706ZnTVu3du37F8G5nlrmLO9ojr27mmChOP2D1eXrL3tTF04a/MmL8lvyzDRfvfiD5
4qdntp2zfseOVYt/1imR6cKsklvmYHbLlGFz7xn7eb7VsGOHbU+P/0ai2z4fPzelfXIdX4HVft56
TM9KmPnY298dPluvb/4TAwePfmXcByv27lg/b3g31lNDrS1RmjZ3xICLZzQes3jOpOXTR3yyJatO
6/7T7Gvz0LwVq0Zd2RrM8SUzjxXan/6o/c3VlZWemjvxnqFLWs5bMW9c8syh3X+7rdi+dnOXvzL0
po/vmLdi1qRhr9xz8UvfZXBDdfLg0TFTFh9N3bL4t71wsqqduWSJTROWT/zADn7xvlkT0TFnH7cg
ffunPza3a7cmtV6jsGTr6ZsGH7hi1uI50xJmViaPozkmMtzaOOW2wY8dnfPGb5txPzV3z8zlqwp9
VnL/O0emWNawKStW/TK56sapO5ea96BUfWVzBh9QbJiZMnLSyJRXFu3Ej7VvzLzmF73Ca0tXx+Ly
O6stWStMIMNOjE/sPjFmylP32N+OLTu1aubM7XnBje+cRo2V8sDzK6aP6l/liHUm5vVSxvE2/vtU
snr+xJTxUx6y5n6R6rMyNs63Uu7qEG9lbZzS+abHHlixY++qd5aMuHjqxizbYFiMtW3iPWdfEdgU
SZvmTr7iiqcfmrXjHvtGtd1+MCanD+7ctuTdJ26abr3zwo3susLcVVsyKnOjLG/ztlWZUlItZxy9
+0e3uWJ672lbUnfcl3x6pmNdYPozC6xilRVZxSc2TntuopVyXRssnWM/VsFr3a217JEfuc0dtWeS
sMqKRYr6MtZ8wVuVzo0iarvoyvM7h34xbda8awfc8Lx9NftOm7di1GXJlja7ddf61NRVH1wyenDn
8WwBLr2zX+5c2Wfe4hdYqbMlB6zvPmvxrEnLnx7coElv64F586aNnPn0uE3OxfyRGxlPax4CtaeH
vbwyClxeumzSqi2LamzVs7ZMcC0bmexCo+XLWvLWn5dbVrtE+0OOWhyoodlXlrfN2qzXA1/R8eXb
Nuc4Z6+tj3b2HvGd4xAW1unnDr1iaArhHM+x89DW/Oqb3Yn/nTe9lLB4xZzhy1+5ODl58N5LFq+Y
NWz5xJfn7HfpCZB/IwJLliwBce211/bt25fHTamSKV2oKyiBfkCSYkNVHAUM9YZTfdgdZYz4/vKK
Ep/9EX1ZScH+1OKQpnE2rrxs06JluYmdrr7u2gEXtt64Zn1RmV2rcDuwTff+115//WUXdz15dG9h
qV32ZKWl7jp4/OLLrr7m6kF1ygsdcbty85cWrFy9oeXFA2+44Zr2sbmrNx3gXiamg6yiw3t3pYc1
vnRg3yBucjtlG3imVAGa+pMpHIOP86q7cEELsR12Gr7CAcMUgjxTwBSlnXn0QqtmCJMpAJULd+pG
Y12G7KVXVWVSC8COr714p1EFMgTEtGTkJRzBpJFby9S13KDl7+EhIjAAKmbcBgwhPFMMwWjZ4ku/
Ka9VeoKnbuZXo6ll+T1qHjrhVjlVJrOsH7tSS0+TcnSiBICYrACaKcCIQNDkm9JIceQtTsOGDW+7
7TaeYtFviMDnDQDDe++9l3vQCoUR15LptRZUAUAEb+nh0+Aw6xZEnODojw7ylUoanD59+nB5IHgP
h/OI0GSIHnETEwj3lBUWbsWQveGJ0eG7d2VYyXW6tknIKqzwNazYezg/siTYqiiPqxMZXG7fuDIK
RUQ379G7n7W3Bb/vnQIntEM/64xl24GCXcunW9b0S9uzos5X9rPe35vvGRTf6d7S0nvdqg4sm2kN
v691yBn9NTnWiTVPW8O2chvQRnlK6GOd21KOIo/FuNR5KjzFWr7z8GnP5QMG2TPFG1+daA2eckXD
EE/dS25PsW5dvHti6xRPSR7M1a/da1c5+Rvn0R9NPZ14Y6/mtoxa1vwRy8et+ESrju409A+dLF9x
cf1Lrk+xnjtj2MHm71poL3Pr5EHtqI5at3aYrQePhCguzu/QqZ+1xZboc8d0a+Lw79Puvbzh4XdG
LB/12ZsJnujBI3kx9hXne67vZ725hw93mmuBTvi2/WXitn4TVoy9qRcqmzt6a6pl7Syn34TFC0Zf
xGqmpIz+ZO2h3/U6v3fXwdaqZn16dXMqtnwCZOusvIh/e3W20pQJ6Z+NpgTr++KHT8+9ddmuF1rY
H52nfHNs4SV812tA28lvzXxz9cHf9Y7jdXHupgN5N/e+6CJ711c21yVrdP4VKdaANYenJxdxsWkz
Nx6e3t5aPtMa9Uyb1AdrvUap1qjP9j1/jf2e5cUpX3YbseDwnwbVt69+3vzXxzw6Om/uvrmXN7MX
57HvR9sfOEQ379Il0erXh0XbCanmzqWQxl1HWdb32470zF9i3TT8qj4RowdtSZvY4tPl1u1vti7Y
9WbNdHWyssaSL0rykH/Llzxx1z0vD55ybNa9+u6bk4dhoZ7oLr3bWdaWzn16uZ7KcMc8qd+4lKc/
2Z59c/1XrAFbBw/+ZsTE7SeyM794pd/9GxI8/rkzR1sp47o3i4q0Ol1lWW+tPDSyW0KtV6RTe/vO
8/THnraswZN6tzZ79FwxsfPA2vbH4d23bYMYdl4Te197PIlKDlhags2DVZUzDtOGFOxePN3qt2Li
nby9PW/k5ClfTrd3SG1J5fCWX9zAfl2xrIc2nB6ZgLribbXux0pDJbXO1rZHrB+zze0K/exzg9U1
sbaNuPbyqcuWsf7hK567zn/Oi259uHPuja3sBCv2VV7N88I5LtjsKSveHdkJ9Tc9/O7gp3/2wrwH
LvqZfXWscYc++11D22q+fcJM3/D2z1Is37bBltXiw53P39jKKk7qd88rGw9lD0iI/7EbuaNV4xDw
LaotPWyzzpVwLggR9a2sCescWX2rureMb3f1WedzjdG9G4y2tVtTVh8b3JyK+UdpdjJNHwPiV+UO
tbPKPqvhnLVH8jfaL141DmHbKE35NWV1+r3nx/va7rAes5Ou2mY/rvhvGNvQKj4w2Joe/e7pt2+t
A93PejGvyImJo8mmHKWB7hwRoEZihr8xp0hRupwDWMmmooBS+aFyUxMqOVTDcJPQCrLSd248WGg/
a5DcvV+HRsFZmYWWvzgvLi4lMezksROREVENY4LzCvKDoyKCI2LCg8oz0tNDg0MTwiKogEMqyo/s
Pty8+yVstFNF5U06pOR+u5aCklo3O/1IdHRyRHnRkSPZMU1ah2UeKiwpDQvylPmt2LY9L2gRn5+b
R91GUUwhhG9yTE5S4OEPfDxnvfJWNRIrgkMlRlNlSK/F8tGTikOidNNNNxEx8QG8++67s2bN4uuS
cIDxIb+0YU5lGCaA0aj30AwTGgx8u/5zpuwqWWjEJIB/cGhMgaEXwZfnfvOb3/DLD5TO+lsbqiPp
JWikJCuTqNWqMCwAhJoqXUywfsr/tm3b3n777fz8HtoQQRAYzghm3IMJgCFe0SMuGiRSzMIxIkxJ
FSa4qQxfz7XAx5kLL7xw2LBhu3bt4ma50QMfGHpEYEtuS4QhdulFIGVHx1U384A5Q8BM8a1MCJ4G
oVc7fPgwyo2faBaYsrUKcub/81rFhoaE1Y0NrxcbFR0VXVTiOZnlu7ZvfN3okHUHChd9nx0VGnxw
f3qTvAOW1fuMWCXl40ahfQfCaWduYGpM7xgc3sup9RgOu6MWD6z8ZS/OeejlqUaI15saHGv/959a
w651Xr9sYHg0Rddh3so5r4qOaIsYlF8y+o1RX/e6phsvaqNWfPWHXvGR9aknRgyYM6JKveNl6Snr
kj5txKpz/m2fjVty4629nrasyd/sG3GJXaJZGZsetQav7lJ1xy5j9VPDLp64zEpJSdlmtajSVfW/
/YTc4G7NndK0ind4yV9+MWjEMgpMOP1upgtvdxl3Fl9ftr9vz0Uvo3wghrLmTnrwxkdnotfaZg2+
Dj2uFhzJKlt0cl6Cq9g11TLDcq4b1LUSYt/gtluZZd9vslO8ZvtRq0O88jnd4EZtedWvaolx9m0m
WkhoopUYFmoFt3tm8ZSZA4a3nz588LjPpo+9RlE765LFd7w7xVq8dle7Y28Onr74tlUD3t+4q13m
VOuhl5tZ57hGltWwcUKlpRgu4+bMYqu+/eD6skd/uyxlwgqVywJU9U5Clroz8excCm7ef7h14/yl
bQtnjrr5hVbnnbSsPy+Yb82xHnqBm9V2wKza0rXGksE5KfjyTOvdnXfX/KkIn1xwR//smHfsd5v1
9Lwl3zSxBvdp17Btf8tavvQba7p1x1Y2S97xzZS1T3drTkrabVhlXtR+RajUJn/zTdroQYMa/25r
7vP2u7azWs2Y9Ht3zYIU3+G/3N+6V/3InYWvnQW371n/jVaVpu7lVd8yjop+c3dOPT2p/c+mF4cE
S2ft17rKXq2zteyRH7nNUXtWEtpmiNbwXzxw/WN/aN6zVztOj/x0m1vbRR/conFlKM+6mvZmT6yK
QPD5gwZbU3Odq83zHvXYsGr2CdMt2aZ99n3f5LYkMM0G6j3Ej93ItRwC50oPx8KZrjZYLVvVlR61
zNrxGjd363X5M7rdOpE7w476H6XZfdRXXvwzvtmUO6q1H8Jn4Qf3bG+fK8VnNrfLcxtp4u8rzrX6
DdLT1jYm8Sw9gcH/JALcAeSpDEpAd6XhVqRyRYWTSg44IqhSuE1XVuJv1OmiTg1CNq9Yk5WVmREU
RQFEhRReUbH+2xUqWOMTmvI3kKEL87K2rt1YwCtQXHRocFiiXf5YEVFRaZnH4+rWobYpLS2k+iku
LgoJC8rLyyovz1m+eDfmQkNjoqMbU25SqZUjHlaWfsJ+yBhX8Y1e1RRIVV9MwdFCHD8rf0VNIsCY
oq4TGAAcGvdb4XOzkuJ4//79FHi4JHHis3nzZn4wDQ5PFigs0k+vqk9IlokqlWrUZlg8U3RS78oz
oIg5RiufJ0YMpbIHn/uj3IvlF9P4FIDLQ40rd/FYP7gBHrB6wMxKnB7l0iOCKfkHkZeXx/KuvPJK
Hrflpi8cMBKhRxscGgTuMQUhWYZ4jv8MjSGsQEvEXAaQ9913H4KU4wLQ026++eZNmzZ9//330EgB
o6cxhKZByBloIsCUw7Zhckw9iwUJTUtNTT1y5AiX6tChQ7Yuv//gwYMwGUIIpp4plKOQHg5roeGz
af16tAwvKY8ND62XGFc/KS65RVzjRnUbhXvjPVb/lpH33tCgYWKEtzSoe8cmRuQsAtVGn31XqnIS
tk35iWenBRlYdtq7P485S9gZ5Gx5fVu/67rVPzNTk+MtXPnnmaNu6xNaCYrp0rOf1Sk5tkom98iy
Tj/pYitP7D55k+/Etq9u2/byxa+t9pYX77Wsez46UOWB7/7uNoodRN5USSde+8Ts/Izdb4zq9NtB
43bYu8N7dM2n1uBbOkYKUvrB/RdPbPLGCZ9v06YP+1m54VV+VGqwlzlnb6b9TrGylW6mXG47Yxt2
Z70x2DotduMbXhs857k/T548whp1f/dI76llk2989NiCA/nondHPSq0WvfJiXq42782qUsrj8LWq
PXs5Z66I69I4S65S/yNXx0uNt3KhmYfm2Mr+H3vnAVfVlS38ey+X3hFQASt2xd5iLzEmGo0mmmZ6
NMVJeZmZJE5JMplMSaal53tvkphJYnQ0OinYUEGlKEVFBRERpIPSy4V7gQt8/30WHBEwMZPMfN97
j/37uV177dX2Wmvvs865516csYTP4Z3b3GIyVRgqNKED5zxmt1Ulbf1V+Mu3bj5VrRncKWS9Fqxf
tvm+Z9b/LPX2BTNmLFoXft9Lv/xx6uurJ35DjFyc2/QbVV0zf4gKHc+iwn716lOpP5v9wq5s3TNt
+abZdzkhGXbOJafxS583vLX2iQ/CFo/sZeo9Zp3h8No7Xw771aKBEF8lXbtdsqmR4Kx5fo3hvpF3
HCnvYIh4WYnyanefmr0yo0y9wq6ba9h8531/WHP7GLJ26vNzP1h73weGp2YPxbnewcO4y3pPfdFa
a588NklT0H1EKMiMvWf+bv/+uYa3wpa9q9tyNZ+AbyZV3QY+8Mzr6vXiRpOz0ZDaYNVUNOZmhBN3
aWyT9pxpzyW1LoO+rqaKdnyXBSIByt79ht79+0PKsF/uUhvr6vtRKeputvs9cm3b3NT53EBHjSFs
4q3Lb1x43UiVTbSrBr3G1GFDX3bmFR5oSTuFu1zUxmC57c5i0PGEgZfnH4pE84miuvaN3PUQuGp6
dJCvwO6zqJutquxTDLSus2SXT8igsXynYY3hiWk/PlUP1bVK1rdAVXmZgttau7or9kg3h3A7vfqf
glgPx+VYdLD8Cv+Db2o/3jvQXGbsKLoHvtID/fv3x1H8elpHNEOQTHVECixFBbOcVVoxomobADm7
KFeA6VuMhtYGS0lZ7ajJI22FZ/OKyxUxdUlLy8zFy/nYn7bo+umOqvBpPHvidJ+ZN9x+xx2Lr5/X
S3sA3GBrhNjXwwFRlEktza28FIxqitiAvkGtrSG33A75HStWLF64cAivYCgbWlua6tUXybCNHkYa
0plCgsD0TDFEFDUelALTA4MRgGKvY/0ZGhoKhpKSn8vgZeXNmzfLUrZs2cKruSCZgoDffgAvKkSp
sqr9hziQjwPFNsFfrtbRKmaJQfRirlgPDAMKBEnPqwXUytOn8yHvLFbCm8diED0NYqEUaYIRlQIr
Iq2BhBcJs2fP5r0FZFZVVWFM+7xaDA0CMADiXIasBIwMhZ5ZkMDI7NjAgOfNFewXAM+KNCW6qYkv
AnLPwUstIlB4xRv0IEUCSgWJEGiA4ZVZYdQxDJmigBbDuDuhCQtTNPAQC0bvAZjCY53a0vlhvZuL
rPVObk6u3j5GX3+Di48hOdPo1mroZTQ0VVtKS1v9W8uWzB3VifFahh4j568xpCz6+V+zKnk9oSg1
NYs7fltW+Erzwi3pbe8CFyX+I2XufeN42tPeumIMljNvHA67dWpQO4mh97DphpT170Skc9tRmRXx
59cM0wfxbMyeGhGRmlfpOyQsLEyj9Qj7j6cM79/xdHhqKRbkpSZnVV75YAx78hIiErIMvgOmzZwO
j/Y4xBa38f11D7X9vDRiG7huuDk1WUoPvv3mYcPhpLPqVcT0Hb+YsPA36TaDtkzDHU+/kVxUWVmU
npBaxKz2pM5uKU3d8gnVZg0CaGNufiws5a1fvW/48JGZDGsuUnFAaM1L2MIDbL8Gbqo7NI+wh54y
HH7moY9jsyyW0uSDB/Ns3YvtwKNAhNKa+IHIlNycSr4036ld0+qUYYe3fpGcx4tF4e++aDA8f8sE
CVL4uxsPVtrteQf/c32K4fH5Q1VEw2NLbS4jp0wRryt9XUI2ZM4KHg+nGJ6f2d8cNOV67jEOG9Yt
4rPtq8TIeaDhmRfeUXErTfjr+nDDr2a2P8oduOI//nLyvTWvrRz+m4i8TmtrqDAcvliAeYLvmktB
k6ZrRi4ZSTaZQ6YvU4Rr5o2h7zZdNTldlqywPMha8MLHea+Ghc/re3+Cepf1cnPpNZAFxh7De4Ls
5HODwXc07+HQFkwIoR85fZwaPDV/gMo/86wHXjUcXv/KlmSLzUZGJWeJdC0iCV0jQrCthoD525M+
JF36/ngHu6xj6+QTEqQgMy8r9eCffv0MUXYya08+f/WP5KK88N8sXfmWiryqi7tr2roOv/FORFFp
1pYfz34mRRIS0i4LFHaW7zvroy+4S1n5CsG6SqzbVHU3290eueZt3iUJdaPaNH5T0HWSKwCPgVPn
Gg7/9J0Icqwo+fPfvG9Yt35hh9PrCuJvGHR7PnSiVxu5m0PgaunRibs7su626uX06G5WCSW7DC53
vcGdz2dTnt1i6zY/u+cNP302Lyv2r/0X/aqTcQw77pGuh7A9L6LjZaIrO5jLlnc73YP8pzwwf/58
+Pidh0OHDvFomQbAEKRMdSuVmoTCgyqoU/2jlSTSUcaqMqnM0jplWL9L+RnVFmuLyTG4tTXq673p
5zKysjIzzmXYGqltGn28va1lxZmZ55OTThRT3TbYWihIAhyyT5618L2w+rqkwzHVVLfag0sHV5/W
1uzoQ3GZWaqlp+dS62iVD4WQKqWAaRgBLKZghgDgxXIhYAk0FgglPVP0UApGZ5k5cyYSoKGumzhx
IlUy7xJ//vnnqampDEEyBQHlqy4csSJNykgEghGB8hoFsBk27KCegxQ6iBjS05im5mMKGmAwEFA1
0rR5ZTGuh4C3GnjqzC0OQqAUAikr5Q4AxWI9Q2ZlwSjCDp5S87MVvOlBoSy1shgn7CiCWNeIcLnJ
EGlQQibm0QsLlbEgYcQeeIU9MjISGn0IIGagAhgzABArxDKFfBHOFAAGc18CDCAEALCISSjV1w4N
BAzhQgh3F7oE0QuLEIt8WTJTHRss0iaP6b3mxtBPEgov9fEYEOIe4ObIk0RjvcGtpTW3umlLlL2y
rPy2WcGQtXN0/N/o4q2GSKaXj+GUFoXT3jJ2DXsvY7dh2JLh769XuLnvVUcNMViLww2HF1i1t44N
9vjNb61Zl8HblIpAta4YQ+mp8JSwxyf4XSYKvvHZL18+u2LpmA0aT9i6je+vGmI0WFI3L73nMw1l
WLN7x1Sj0XH5H/M3Gu9ZOb7t3Yb3TlYP8dN+h0FZrZQareeWzlT1K23DtpMjXY0G29kPwg2/fH9A
uz7PZb98df2ie/u/b5j79KsblhvWT1k1pTrKsfxsymFDDSnpEfbemS9rR6+YEq7Mmft6UlTYsIc3
zF1x7/j3DYanX94Q9tKG/gsDq6Pu9wie9cxyw0PZry4d6YnuITc9uM4wY9HgAEPYOuRu2DDv7YVl
Dyk/yjvaGJ/9nnX5w/OGP6ysW5NU9153Ym/jc96GtuWoFQ1yVh/xjF31y+XPLBof8NqrSWXPTnS8
THONq1O1UPi9Uwbfq1TP3Xbm57hD7nLe/z+LJJ7rNh55OMzTaMvZvnLeSkVmCHt60128cctH9F1C
5jp0+tN8R+3VJcqtA6biqV0bbh+pXhPuPkZUpGHeR8b31SK8/PXsZxfAp5Zn4AM+48RHN+6vqV20
dLD3kYsPuYEUj3kufWXDMytWBrw290h11DSPbnLJMXjyqjBDyoLrglX4PSfdtMYQXjtnQqCKdXfp
qmk0ZGxdFKClcNuSlRmkfkOzMfjZ+DNV00fP7Ouf0fAXhdR+PMJxwOxN68LumTf4GZXzj3p09jns
frNWLDcc9pw0SL2aHzx6lsHw1svLJhM5NTf92ZPbGsbfPkXetVr+3skvhgTyJQE88sHMKyJiMDqq
iluLvt/EB7J3FwxacsczU8/8Sd0CdOOT0Yo4ZeX4wer/sDUbj7w60dVomb8uzHDPlP5vGda9vvFl
w0MZXm7KOR23ib6u5Ukbn57y0NLPNhDrVzfM3ZCmJVuXLSOREgMMA5b/fNO61+5Z+sKq6k++cT92
kwmPdrNHsgOuaZs7dk1CPUASVuWEqwa9zXhINOL2od/0rUmb7piyNEBLzDWv7v6TOnlobS7S4A6u
MzpqZ6T6XR8EATs7Ohlduz0fut3IXQ+BBQO6TQ/N0Mu6us2i+w1dt+rlLXPxzc6ztkI9uwx+s//2
5YZBK+7988p5v1zcJT+7SPa03/TqXMPDU8i05a+//vQzz2S3n7h6Ll3eIxffc+l0CFtq+Fyr7TLR
0f8d4Cs2u9tl/zv68xGNtiXaQifbQ+Hag6jgnta9B3jatHjx4oiICF45oOlEINsfROk4BajE5o7Z
ZqMsEZjyQ2oYoaMOAdDKVUoaIy8SOAb2H967Ivn42SlTR/aeO2NSWvSR+KPwUueMGT/ByWTsP6xf
YvKZzMqaEeMmDe3jePzk8RFjxvUdPG64JfHkieMInLJgXlVqGsVji7HVWmefPX1aXFRsbM55FDk5
+Y2fOIxakEfHzXaexl7xg3cQUCBJaST1J7AM0S4GYz8Ne2gAVHoQUI8JEhrw/MrCrl27eNWW+pi3
mamVwQMgnLKNqgwCykX8IK6Qug4YIVBK9YhYKe3AKOH8gWgmpICTnqKQCfD8cAlT8GM0PeIgAKBB
I+KgBEnBBw0vjhQXc7OhHujSRAFcTPGr2nwTjinUQy+iIADmN5j5C9XIAUkPEl5WCyC26r3QM8tP
2vFLFEpHe5EKwCxc5JCYDQZ14k1eUKagFwxIWQVTSBZ1IGnYzyvUIJliRbI0fvCOLIRXzGDVMgUG
XbfccgsS4BXtsDALLAtBDjBt6NChwJgBF0NokCbywbNwXT4AT7sfe+wxKc017rbur9tP7jxZO2jS
sHHDXNzcHAKMBmdr81enbbnns68f5frIreM6En932G6prDW4unpodw5XsNtSFriPfya/YVmQ9myX
ua4Ygz38PueNC898cf+IK3ihrSytsDY5unoF+F5+ysP382x2u4uHR7tExWTjt8R5qnEl8rI0vnpn
s5tdPFw0nsrY3/jPdS5rftb3MoWI0ATYkdVO2pHAwIRNu01r02yzVBpcfJF5VQ7FbqustHv6Kmst
lRYXDbhCqmg2m3XvXZtYkaHW3WnV17i6lP9aMH7r/VT5hspKs6daBc2S8l/e4/eerPtipL3SZvZs
85emSvOw2cNDXv28asjErG77TjEidVXCs1qrwbdDfLvl7YiUYCpLusmljoRXgzulq12lhmaI/col
X41fx1sqKw2uykvd+1ynuxpgt1XW2jUBGkWbR/gyca1re0SuxtoJf9knnSb0obboa/Qz0mqvDMp3
XWCnWOtWCNBltps9cg3b/DslYaegd7Ko61DyvdtzoCtx95jvspG1E6zDIaAkdkqP7pV0Qyamt29V
kaTOP8F0nb2a4K4GdOFVXtVPj27l6HtEff+5wyHcLXFX5LcndleeHsw1eIASMCoqiu9EQcvLGAsW
LOA7PN3yUSBSNfGbBwBSzlFpcFZBLOUQBQmA94ABLRXFVVVWVeS0tAQNGuRhbjx/vsBocugTEuLu
6AiSci8rKxN6H3//Xl6eBpPZUluDTBcX1+zsC1RCQYMGQgdLRXmZb0BAQU4OVRPqKHX6Dx5kbFYS
+It5587lAPgMHIjG6mr15/OkCkIUpZFWkbV1YLCNJ8T88hhkYKmAWYgsAVP37dvHd/vAsBxmwdOA
IaMi5Vfd+AN2/MIvckBiDFUy7+UiDYfweB6ZCMEbUrZReuErXjmWCk3v4YXMLA+JkcJYUOJHqeSg
BqCHAEHAPHXmcSxc2AQSI9CHBWDku3qsDTx2Iw16etgZClJKbWhkweCJNxIgQ5TQA4tkGGkYCQGA
yKQXMoSABMYSevDIxHh6jIRL6OHlnRURAgtD6OkFliEaaXCxBLwMAC+isBYCjIFYMLpqtKCdWTEM
ShmKP4ERCAsNgBsGMGInEsRITAKQlaIRMgjkUTc0NDAd26OrJ0waeWlf7NnDp+qsjh6+bs0tFuug
3p53rhx+lafLHbm/FXb09PPrlsheWjz+6U2zgy//TEZXDM5r6rfhqRvUjUEnIa5+gcGdUMSa9O2C
dG3/o+VdZjSEo2vHv0VRUmLY8PnyDk+0NRpdhKNnR+IOAjtPuHq2rbrzRAcennHpvvH087xipn2g
axbEtYltp+0i8hpXZ6/l9ZMlfBDgq9vHprPz8u7X/NkzItrJyVcaedWQta+pm/+vlKD2rCJitW1f
NOyGpVuUHszucqlbjk7ITunqKPmku70T9TcM9bTv3uffwClTjpdzQyHaPOIov5PzrdwdCXSfdERe
AXda9BVznQdI6xSU77rATrHupKDL7GU/6HvkGrb5d0rC77J+ZW4XGzut4RqGekZ94/nQJqgbfZ3S
42oau5B1FdUxPbrOXk0wR22Hs0FRdeH9dq/qewRpVzlXr6qfiX+K6ZsE9syJB3ic3O0T5a7+0QoK
VSNRsVB1UI1QfkjFIrUKLBQhlLHUP1KqQZaXkQEeAuqf3MxM2JEDI0jqn5KiotJiJRi8Xv8gP/98
psgEz49DQExhA4b+QsZ56IVd6p/is2c5MtElZCCRDAyZIAHgpWEDs5Sa1L7QIA0CeNECAEaKMcjE
foSwIh4w8wvCvLKSlZXF278gMZVXnPlVPoZ8dw7JMMKOKLENGjBiM7MoRQVIepqRd1/EJjSBhULm
4uLieBEEJA0ewWMZQwikiQKkIwg8vVCKPlRiOj3EmMufKRFfgIGMKfAAyKQHZnkIQSY96lgANLoK
ANGCy44cOcIfCEQL0RXtzEoRHxsby4spYgw9YiEQAHaayKGnMSvmoY6hwNgjABhMQiDOBUYO9EjA
MIGjo6NFl6wCLmbFeFkgXKIa+UIDRkxCAhhYRDW9UILhUfTjjz9OXKHsaT0e+AYPWEqzCmq8hoQG
aA+X2wktRekF9oEjtB91a8f1/N/jgR4P9HigxwP/Oz1A6cVzU959pdKQKkhKESl1pAgRWK9/xFEU
KlDSutY/IgdeKiLh+v71D9LQixzdMMokGtUdVR/fmpMySWzDKgAMoxLjW3CUTFJ9gYGdJvUngPz9
DeEFyXPlsrIyyJDcqf6EGAwCFy5c2LX+ZFb9PgZWwizL1svBoKAghAYHBzMrlS76YMB01Ihr4AJg
KA5llnIWMhmiWMhQzA958F6E+AKkrAQyAOTTECVcwAik8biXXoaiCI8AYJX8BpywowVArUT7rQze
8eCvdvOwXWYxBnXYL8Ih030NniZORCyNWTBQUiijiyF3SIgCiRngadCLRpDo4iuD4iKG4CV+9Eig
hx482rFN94YYAF7uENDCFNpFMvdPmh7VCWVP3+OBq3nAM3DIyMAuk57BI0d2QfYgejzQ44EeD/R4
4H+lB6ScoMyQKoUhFQjtavUPdSB+gkDKQhhVRaIVWlJNMcUQmAIGgOEPUv9QKYkuKYcQzpDqi0qM
P3LHLFUTvVgOHoAhRRplYb9+/eSxKfbISoUMI6nTECUrklkxu1P9Kavgz05T/VLKIplF0cOIQHGF
Kt4xTkjBIgIYU6hKeZcADB8v8qqAOAV8x9cGGNLEAoQCi3Qk6H4EiSbKZVEPzCwa4RJeYKZA0qSS
ZigAUxgAJRgAamj8wq+z8UkEQ5q4gB51ogjf8cPUwNxOUX2CRyxKEci7LBJg6HVHoAKYnibEzPLo
mp/s4MXwCxcu8Nd0kCDLQaMQ04OhVuZFIoTzk35U2DTwWCv2CBcYCBCOAawCACHQCEatQauVdS6x
QZeDqJ7W44EeD/R4oMcDPR7o8UCPB/45D1BRwEiJIuwMqUaAqUOA6Wkd6x/KEmapo2hMQUyJAlKq
KWGBXrgYMvWD1D/IF70ACEcsBapUfVRiUi5DgGp6aDAPw3h2SdWHGRSr/IUQ8BCAFwIKMKZYAj2w
SGZWeGV1IGmUqfz4REFBwYgRI2SxQiOiYFdDvtnGmGnG8goLyijvKDepUGGmPOchNvZBg3QAoUeB
2C0LYCjSBU8PGVM0uJgCI0N6fQqZwDThEjLWxpAmvNCAZ6m0kJAQ6lRPT0+sFWkiQQjEI9wcZGdn
c6MgdwlMQSnSpEcdlkNMD0bXrmuEheVzn8FdC3cI4NFC0+ll4biL92D40WXdRWol2qpFFL3OArvM
0otJTIlMMEq69hkBUxTr/PYIiwUv7EyJDZK4IgEkjgVmdUJG1EQmZMiRYIkPWayYJE4TLnpxAoBo
RwJkpL6oo8cMpsCzWO43GCIZehSJKGYZgmRKtKAXenoRxZRIEy1iLbNy98IUeHpsRhSzAMgRMvDA
YgOzskxduzDSC73g6eEVUbCjSBgxA3ZmaULPFEh6MNCA7Jj/gheNzCKKvsf/+AF3SfQBZNjj/578
JxN6zh85YXrOn57zX64sZAKNSwknJBtEhvScnNKDl5yRiwt+g+xfcf1FEe+XenioL9/LAS6q5QCn
lysds3JZ1I2UhUBAE7P1Kf38x3iQghcaiBnSi1iQ0NBLQyazTIHUly8eYAoaesEDUwHz56Up/AB0
FRBAL9dokBRpVGJUffxZOopVXSlTNFmRmCQYxAqgWyWm4nn+7PTgwYN5ukqlDrJr/WPcvn27CKV+
ZxpZSMEg1NCoTUHSoIGfKbGGHowMpZchvW6NYBhCrFN2HCKQoewuiBmiUc8hYYcXGpDSU2ZhJ71g
qGCEUeRDDJ5lkxlUPwiU8gteyOhpYoyERDQCC15Ui0CQKOKeAfPAwCWM9GBwCBrBAxAt/IsiMEgA
g1gRBTE0NKZYGj1TgmEKGL2CEbGyHKRR7kMvUYBA5AAIRqSJWCR0HIIEIyrooYeXBo3oopchvRiA
M0UvNAB6OESy0IMUdrgARDIARgIjR0Qxi0YwAPTiDXhFlyDFD0wBwCXL1LV0Eihmi0AxgB5e7IRX
VEODz8Gjmik5bmQVolfIRK/OJcaITJEvfhCM+Fl6WIQYQDBoFDvFvI5DRCGBXhr08NKEEgnMypBe
hj3+x1d4o8f/+tYjMSQ3JG3EP5KZ9D35j0PYWbii03FBFoEXd9HjKE6GnvNHDhw9f2RILznWc/5I
wvyPP394l5eHcRJ9uTCRAOwg2Urg2S/0eEOdPh2KE/GPnj/QwwWBTsnlmFkOK9lxTIkokQaZXCLp
dS6RIDJFPvtU6hBooBQ7IQOPRooxmqhmVigZQkbPkOs+japPppBJgxIVIkr6jkMUMex46sJCyYci
kEyJfBjJDYbQA6vKQ3jkISI8YNDNmgF4Ri1awcMDkimqb6kLWY+QMYRMeEUusCxPGEECsBh5CUSQ
9OARK4DA4g4sgx0MQ7SIatjFepkVG+CliZEYAw3L4+fqhAs8xPQ0sZZeHCGMzOIgql54xRKhZwgl
MGT0NCGQRaECPB4Dyc2N/HQdGIZQwgiMWOwXT4LEAOTDjtlCyRA8vfgfShGrczFFE0ZYgJH//4n/
sYSFYD+G0RiyaizH/8AADMV4Wfs/7X8YkUBDLALRJX4AwP/MoosGgZgB0ON/HNLjf9mqkjA4BOAH
PH968l9yTDb7v//87/F/j/97zn+56smF71uvv1Qp7BrIvlP98//V9ZecZ8l6/cpa5PwBzwsFNACa
uOUHOf+lNhNFUn868EcLKUGk0MH1qGFITwMpFQkYMQUC8SBDYBqywAgMGYBYLEYLIzALExr9bAUJ
o06AHDAMAVAtNT4sIAWvV5MMIaDHPAhEMjBIBNKLKAAaBLJmYAwTdRAjDQnMyrr0JYCBUqboZZn0
QiAG6wTgRY5OIPRiErrEgfTYIPUlvJgnesFAIw0a4YIADD1N2JEJhp4GIzbohjFEmm48ZCIZAhqw
MAL3+L/H/+SP5AN51ZP/bArZzrgFWA4N/APA1us5f3rOH7JCjlx6OWMlYfAMU3LS9pz/Pdffnuuv
vkFkv/zPrn8c+EPhPA1l/8tFgmsGx4HUahwNLB5YTk9gpiCQp6cAcDEFAC9TpI4A4GWKWSnpxJUQ
iDcBBAMZh45ODLvg5bolBxNCaDo9MHgaGGDJV70HCawfZEIgpoqd9CCpn6BBHatDu04gjGKP2EDP
UFyEUmC4QIoidMErtok0wSMfLSxW1DEFL7DIhAuAoYjq8T+ukCj0+F9ySfJE8o1EogleMhM8DQx4
PfOZApb068l/cRT+wZPiFvFPz/kjOdNz/vSc/+wIGn6gJytoXI96zh+O1p76h2SQaxA96dFT/+jX
Xwf+Qp52/VW1oHhHLrrA4EHKJVkYqGwYkk9MSTkIgdAwJbMC0MMivb4VpTylZwp2hAgNugCkCZJt
TNGJZL3WRC8NSmSCF5nQgGQovEzBThPhUo8yFAKGvH1B7BEiU3ysgxyZFRakCTtGgmEKYlhQhHC4
IBDDmAIDu9KnLYQphrIW7NdNFfnQQICdCJElIB8tugTRJcRQwg4LQ2BB0sPIEC6mYBc5QgNMY1YA
enRJjwqUMoQRYnpgWa/QiM3ANFlLj/97/N+T/2wWNg47QnaW7Epg8LKnes4fXEHTjx0d6Dl/es5/
9o5+inJlYdhz/WWz9Fx/5Qj971r/fPrpp7waS0Jz2NHk8iBLAknGUy+C57cj+BIiJSZIog4ZjbqK
IU0kwAUls3JcQiAXXUFCo7NIqQqjlJjQi/vo5aBBKfQMuSZBBsAQyUpZe1WnA+BRIdpBigHkJUjk
CxmzIhM8ZmOJGCn0DEW4CBEaqYwRwiy8Hd91hgzJkDHFm9nCTo/x4MUYAGymhxg854UMIQMpelEq
LPRYxRCZ9Eigh1JEIQGYHiRyhIAhxOIikFAiRLiQD0BjCZDJwqGBADIxABgbaABipMgXDGIhA6YX
yxVpe+iRLD7UlCgtYie90IhtDGWlYvz39L94RoykR3KP//+d/v+35T8JKUlO2kheEW5JIdYrU4L/
X5X//zb/42TcS/+v9j/yOWf+u5w///P8r53o/23O/x7//7+9/l6j/zmfqRXZ1xzackpzkmA521wq
HKkWpESRA5y6CAKIaXLOy1VeuCgbwH+f+hM5CKTmlCsLQ6nEMAwzQOqAPsRUaFiFVB0AUg0qUVu2
bGEsIpALBSUgIqQ4hkIRaRUti6GJLJBXSNEuabJgeqYgEGViDUiGsCtxWh0GHgD/gkc+jSFIAEFC
DCwyMUnIhJdepuh1+dAD08OCFzraADs/TSIBE0fgGuEVYmCRiQQwElQwwIKnR7IIB4kxSACJIoZw
0YCFDIwIBIAFJAD+FJMgY1YMYJaE0BkRInjkg2RKxIKEEgyeQQ54CJhCoCgCFkUMRaloYckiipfi
yXimRL4IZAqBMMKOkaxa6GUWUaICLVBCBruIhUsAoYRMlIoZQvaD+x97UIpwGvagusf//07/kwCS
A/9q/6OFQNN68h9Xk+SyxzX3qz1I68l/0gO3/I/Mf9ZFfP8n5T8rovVcf9m5ZCyukLwlyv+Nrr/X
eP7Ioujl6sxjVim1wcjlg+WzaooNCCgYaJQK/7r6E3X8Qgg/Aczvj/EjDdggGsGzxcQG4iJ4kMwy
BGAKpG6kbrxx8+bNDKQkldqIcLIASOFEKMjExMTTp0+jlcLLx8dn/Pjx/JFqalBMiY6OPnXqFD+p
wU0Av148YcKEKVOm4A6udtR2iMICHASMNLwmhRR4JNP//Oc/hxiCP/7xj88++6zAv//973/2s58J
/Nprrz3//PMC/+EPf0Aai9FXiJHIkV/gYxWyTnok6+pQqtOLXrho0MPLinTbMAMMU0jQbQbGZgxA
NV7CM9CwcJaviWlzKzQQIJMGniGJgjqG9EzBBQAee8RCkNJkSM+U0KBFpqAHxn4MkAJC5CNNNEoB
DVKEQIYEYFgEAyWiZEgvKuhhh0C0iDfo4ZWoQckQXrGfXpwjeEzSfYUEuCCgIRAu0Su6ZL3AzAol
MqGhgQG+dv8jitbjf1z3/8T/hO/fk/8sUJIWjRJx8qcn//9t/hefo47W439OM5zQc/5/n/Of7cw1
gnSi/6fPf9j/PedPT/6T8/90/SP7RaoITnKpdjjA8arAxJFLP5lAgxiY9g31J0K416KaghGrYCGF
6OXpHkgaGFRACSwCpf4ESYFBgcpvxvGLw9RsUNJgZwoDxEJ6MDQw7HSGNESBoUcUSGAko9Rh1apV
kiKMZUmsFgY5JkBSp+bl5fE3Ne6+++677rpr0KBB58+f51ec+UMs/PUT/jQg3x188MEHp02bhvRD
hw7FxcXNnDkTBdgERvwiPQsGKYqwm1n+QkpoaCiLoQrX4YkTJ+rwpEmTqNSFZsyYMfAiWdZDDyxO
xGakYTNIVDCEEqVSbjIFJY0FQkADZhYaMQMCYHoaU/hIGJlFGhiZEho0yvNahsDIgQwYMoiV9Mby
MwlHjyanFFhc+/f1lldJRIL4ARKhh0VkMgsgsJgkjhLV9ISKXuyBXeSAgczQ3FRvqau3kUwiQKkS
s6EEppc8YBoPNJZnJsafa/EP9nZSFwOEgFdytMxjRWIASACGwgUBPoFGiGUJQgmyO/83Xiy81NTq
4uqsAo0W2vfxP3ppiPp2/7c/+0cdZmMqDUbaD+x/e+XJ2OjE02m51Y4D+nqTBOJGFAGwXtFL39H/
+JyFiG3fzf8ORgLdaCf63Moqb3yj/01NFZnHj2U1egf6uKjkpH0f/7Ooq/i/vqK0wtZk9nBXt3bK
19/P/3KriSjUYTN66b8p/6HQHA79v8r/rdUn42KPp6bn1zqH9uvFEcMav9X/JNs/ef5YLfZGu7aj
CbNavrbEq/m/2VCbl5SQ0ezX18tJDpu2z75+6PxvqCitrLUZXF3UjT1W0To6/Lv6H3b2Mr3OKAeO
ZLW493ucP//U+d9UkXI09siJ04V1buxonvSyQCz8Zv9jMNaKN7T0v2b/t9pt9TZbI1du/h6begiH
Ill+t/lPoI8eSWvyCfQ0t13jv4//4b3K+dNUerHMZjd7ebj8IP5nReLGf8350+X6ey3nT3NVytE4
ju78WpdBwb4EGOd/q/9lIYS4Iufk4Ziksxn55oAQX5e2Z1KwdwwH+QAlAaVX539zo63eam+msqIs
wxPq2nQV/yuBhprcxIQMm2cvPzdFDfF3vP5eY/6rWNc1mjzdVQVFw+zvU/8gAT9wPuhVJpYjUDYR
DhSfsHAWBZIGzNLgEkyn+hMCpuCiQSAJCQuXCWA5YKFhlh69qAOgCZCVlUWlyl/YplyGGAn0mIFM
LJQhGsHAwhAkMAAEAgAjXK5K9G1fBWOdYNEHwMWJCeRikIh48803eaDNg1VuBYYMGTJ9+vSUlJT/
/M///MUvfsEfrMYgefa8bNkyquennnoK3ciRhhxVmGv1seiWxTDLkCl4UQSBwPQQgEEXvQ4LnmXg
LHqmMJJZzAYjlqNLAHXL0lq85fUthQFzn7hvMn8sG3VwMYsiuBjSC0YsYUrsAY8HcTd4lEKPCp0X
DFqYFQJYsAQYGigZkgDJWzdG5BsChw+vz62pH9fkoXkfAhrxEEZRKvLBIJ9ZMQlYcgiTwDCLWGHU
ZCgyLCQLuTc7c3DvrqRMpEkLmHHnPdP6imcEI45FFGbDjjR+rvpwwuG5YycPMCqx2I80CGiSLuJ2
zCiO/fRvMQVtol0C5y6/dUaoL0KYImqYIfZAAC/9Ff63l3y8abPBMPHxn8z3+CH8L87pxv/12Zv+
8nlhwOynH5rhom1CLMGB0LMQDMN74l6s/UH9bzm1/cP9BYbAYcNcCqy2iS2yTFR/s/8xiaBgJBZ+
s/8xGxqa3V5zLiYiPOE8XNL8p69+YNaAb/I/n1fYKw7FH5o9cuwgo/qEBGmiGoEM6QUDfOnolk9i
9UAHzF1+29QBiuWa8t9SsPHjbQbDhCefv8Hth/A/HxkRMskljLyc/w25m/60pdB/1pMPTPdsy391
iRIClsZysPlf4H970ub/UoEePtwl32qfZnK7lvzXXCHmiWHibULf1f+sVxK1sbHqbPS+XYkdd/Rd
D8wM0Xm7yX+yvLFU7egxkwZ/m/9LE7ZtOlKIl1RzCZx98y0zQv0wEvnkkqQEcPfnT33xxo/Z0RPW
/3Shzw/hf1aN6m7On/oLW97cWhg4encjZwAAQABJREFU9yfrZmESDXvERXgPO7Hw28+ff8b/rYmf
fXCgUAXalm9pmKyebukaZe90639WgVVQYiTW4loMBvjG86f+XPS+r+IztEiojqN77dxBLI3Wvf85
upvKYpJi5oyZOFz7CjuUkmDiHIaimvOnKO6zTXF6oP3nLL9tzrAAjIReFgIlFnZ//lhy/vbpFoNh
0jO/uFEl6/f2P3pRh3miGoGinWd2cR+8Hl0avOaZ+4KNP9T191r835T8+QftO7reNqmFHY2RGIaR
tKv5HxqavfzEh58fNHDwD7BWN7ImVWnxH4y6/2WNDMkKNnVKVOTODqd3wIy71s4dCE33/tfKnpbm
Cjb17JHjhnyb/4viNm8+WoQu1VwC5iy7dXK/yw93ibgYRt/F/6bmurKPPmFTT3riuYVeWj2GVd+v
/lFlK0LwIavDIvSSkAxxHUWLjmRKaPAeMLMwArDFoI+MjIyIiIB3/vz5S5cuBcmQB7JIXrRo0ZIl
S4SXXnjxM+wIhxIakDTYS0pKeC2CqwlT4GkgmUIpnmEoPgGDBKYwQ/CwsH9lU8PLFG5RjGBhRjE9
E3J+ifWyEpA8Y5adBsxRxU9h87cEWRV/R/rChQsyxVsZlZWV9NDAjmh6DGIBYMQI1IOUGw4sQOm7
774rZLz18d5778EFJeX422+/LdaDf+edd4DBp6amQqxbBSwuZlaWjUCQCFF+cfT1xHEmT542iwHM
ArBAAIwHQCYNgcIFDCNDpIkiehpImYIFCSIHPGQQg5FogRFprmajwXPRy7+4x9vBlpacwR8ygRKN
zAIgjV7kiGpgvAQSCYgClvWiTkVICy2zTDGkx4H0yEnf++HuFJvRa8bjTy4b0qu16NyxtLreTMEo
3pPlyJC7CNHr5evPrIe57d4XmeCFRkKDRjHS3Zck81q57iHPgsMf704+vO3wkOdu8VOrUX9FHD+I
PbIu9IJhCSBhN3kOf+UXzzV7BjaXX2K10IjfUATwT/hf7OzG/669vIzGQpMPaccNprhLHEjSYw8N
g/8F/nd0d1SBfuXF+9yaqy+cK7SySO1Fpm/2P1axFmjwEsuRdXXrfyyXQKfs/HBPGoG+bv3TKwZ5
N13MOHHW2o81wgsBSllgZ/+zwz38oPF2Qcm3+N+rV1ugvYuiP9p54vC26EE/XtLH6fIHMqjAWozs
xv/eo377ws+a3P1bKi7V/xD+l/s3NKKOBV7Of7O3CrSDL3awWuyBRhzIlpH4gsEP4ky8Bw3sMtTz
/7v738FF7ejrX/7FvV6m+vRTWWykb89/7SM87CcE3+p/TIUS48/v+0jb0dc9/uRyStmi9GNp9YGy
0qv639HRSdvRnk7qGPzm/Pf2d2JH3/LwA34XYzfuPBGzPW7os8t6X+P54z7sN7/cYPcIsBXn/SD+
Z9VYy8IxW2LUdv64aDva6MUVguc8LJyLjkQNGGLav8b/Jg8ntaN//ct73Vtrs9LyLJj43c9/4vit
58+FAxu/PmXl6F7/1PLBvs0E+ozFHyeQvd9w/rt6qh3N0Y0HJCuulv/evVSgV6x70K849sPw49Hb
Ygb/eIlvq7rufHv+e42QHd1aWWL7Ifwvu6C789/Yy8NoKOUgbct/FkVKsDrJDc393/n6ew3+N3nI
0f3Cfe6tlqy03Jrvcv1tMruyokU/efne8R62kgvZZbZvPn/O7Pp4V6o6vR97Yhmbujjj+Nn6QGLN
YiV8rPeK/Neuv2YPXwi8XInjt+S/bwCVnOetjz7sXahO75jt0YP+Y0nfazx/XIawqbXL9MXGH6j+
kSOXpenhI/QkNgshe1mp5IMcjAyhh4AeFoac/zDed999vXv3PnPmTEZGBoyUyGvXrg0ODk5PT09L
S0PCjTfeSE8j3PqBAC/EsIOnB6ZY5Y9sk/PAyEcpAA0CMQa9Yhv0MssUAgUvuSSisA1KVRuBlcgB
MGSCXudHCrBYIEgwPG8GU11djWik0AAwC15mWb/YJFqFHXrwzMoVkSRDHY+lxU2//e1vb775ZoF/
97vfLV++XOCXXnpJp3n55ZdBwkiPOgRKE+1IE/OkZ4QuBw8H3NlqsiTuDY9PLVbfpAua/eTd0xoa
rEWnD0ccPF2jRPS788nVfc2tJSe++vSo8a5HlgebS/Z9uC3fZ/q9qya5OdjTonbtOp6lWMcuWn59
mJvRWJGVuPtAfFG1+orkzDt/dF2IKyvVot6ctO3/HMozORgin3gwcuptj83sb8pJioqMSUeRs3/o
/MU3jQgwt5af+s/t8T4DRhhyTlaNvf3BGX0lS5AmsZDYYD9iQSIZ38qSIWC9YBzqs+LPUFsP/tnr
j/iXFVjqHYLDbhxhrDifV1makbDvUEyxpnLSnIXzxoZQNBYm7//6UKrN4D1klKqYTQ7UQy2W4tP7
9hw8X2ozOAfNv+Xm8cHueE/3JJWvyRQwYtzgoMnDak8++dUlWwt3GSbr+ZiIXccvYFifkXNXL59e
fXLnJ/svTFh277whnty8pO36W5Lnovtneu/a+mVpyKwlMwZ52Mtidu2OzyrDB2HX37Z4fFDe0e1/
j2lZvnbFMJ+muK0bT9iHr7lzdq+mgr+/tXfMg/eP7aVqStZLFsliGdJwAgsHyRSe4fqqaDQrCTQE
ZlNd0p6d8alFKjBBcx5bPcHVZMg7EbXvUIoW6P5rnrkzgJdmTu3aFG+4Y+2yIIfi/R/tyPWe+uBd
17m02s4dDv9ae7zXd/SC25ZOZnvV5Z/cue9oUY2SN+uuJ6YFqQ8fNJPqTn7xkQR6/f1tgc5OioqK
VYF28R8ye+HCsSEeDcVJ7+9I8B00ypCTXBl2+yNz+2M2wcXJrIVMBgYjy5T1dvS/wAQ6KV0L9F8e
Cay6WG019R1zwzBDeXpOecm5hOij8YXVKremzF00a3Qfqui8Y/u/PpzaYPAaMiqAOEs06y+lRuyO
yixrMLgEXX/ritEB6msGspVwY0trW6D7TRtZfWL9V5esxmb8X38+Zu/OYyrzccjyG8ZZz0QQ6PE3
37NwuA+3mae+/PC45/X3zfIJ3/RVacjs5bOHODeXxYTvic9UgR67aNX8Uf6lyTs3R9tveeS2UFNV
wvbNx+0j7rp9hl9z8aY/7B19/31j/NQRhgEd8x+foBEnM3VF/tvrsdLBXUuJxvKTURHtgZ712OpJ
xkZbXnLk/kOpWqAH3PHErSHOpuKkLzcnGO56dEVw88X9H27L873uobumOzRZzh3e07auMQtuWzLZ
nW+H5J/ctf9ocY06IQj01L7qU0LN/9bkf2w8lM+Ojnriwajptz8xPaj5QmLUoSPn1PbyG7Rgyc1h
Qa62osQPPj/qM3CkMedkZdjqdXP7S54gREIswVXbVluXLFn3Pwcaukx154+27ehHAyoKa60OIWNv
HGWqOptdWpaReCAmTnb05LnXzw0L5oOTrKMRO2POEOihowJRZDCquwvrpTN7VaBtBHre8qUTgvnk
Q91ZoUupUDvaf+T40H4uo6pO/IhAt9pbG5prco5GfpV4HrKgMQtvXTKp4thXm6Nyxy+9e9GoXtzc
pXy98bj34vtmeO7c+mVJ0Iyls0Kd6grj9+/XAu0yZuHKhWMC849uJ9ArH10d6tmQ8PmmxMah9949
z9Oa+7c/7wt78IGxvbTTWHsKq+c/9zB4o7v8V+no4KH832yvTI7aezSlSAWm78wn7p5ubrHnnoiM
jD6jBTrknh+vCTIbixL/semo4Y51y0IcSyM+/JxA37dqkpODPTNm19faR3B9xyxYsXgCD74secn6
jp5x++Mz+rsTC83/thPbNx7Uju4fPRA5bdX6mf2NFxIjD8a1Hd1zFl4/YYC3tTDh4+3x7GhjTnL5
qNvWzu3P5iXWrILg0gMLBpksEOd39D9IAmG2XohN4RPCwT/7yzp2dFWdsf+EpaNay8/nV15KP3og
OraIHe0SMGn2ggXj+3NNyE7YuzP6jK19R3OpR5e9ImPvnqhM7eiedwuBxmeqGsCluKrVwDBgeNig
kMnDbz1+Uu3oVhPHZ2bM119qDzuDx95w88LRlqSvPovKmbji/vmhHs3NtvQ9nx7zWHj/bN9w7ehe
Pmeog7U4ft++o9qOHr1gxY0TQoqPfbkl2r587a2D3OsSdvz9ZOuo+9bM9azP+ewdtaPH+qtyB0uu
Lf9tJqO6J6J6aGmtOqEFWju6Z6+/YzKnfE3uiT0HEuT4nXnH+pkDPAoTdnwWr3Z0P6eyXe9vzfed
du+qya4t1qzYvbIuEhgreTpVV3Byy94jF2tV4nCNnhak0knzf+2pLy8f3ezoaX3t+cmHD0SfVTva
f8j8xTeODHRsKT3x0dYjvoNHG7JPVI5e9djCwWxhRHGkf7A5GidH/fWJKJ/ZT62ZztMIJBPWjv6H
WJxgKzsdnyaX6Ud7V12stzuFjL1pRGtZdrGlKDW2bVO7BEyZc/3MUb0pu/KOHQiPvrypuRojvLUm
K3zPQXV6a5fpcUFuJC1otLi7uxN1B4dAYh08aVj1CXWZNhl4jGLNims75aRusZzavSkye+Ly+xcM
82posGTt++yo24IH5/h9/dE/ykJmLps91LWpJH7P3iPnS0m+0QtuWTw+uOTE158dti9fd2uoR33i
ji2c3mvunOXdWLDp9Yixax8e7q4M6JT/Kvfa7/+BaZKTeENOP8lPkPosqUJcGMre4XxgtrCw8Kab
bgI4d+5cZmbm7t27b7jhBkpEMBCDRAtFMwYgkAag10goEvnSsyshZhYbaLBDDAZ1TIFBNT0Y6AHo
aSCFSzebIYraHjXLNHSIQDQT9EQFDDA9gpiikRkSLcXcrgyhSGBK6JnCLJBilpgCgTQMBRBpfFNw
wYIF9CB1GCE6DJkOI5MpMCxYYORgA3rFy8DiQQDVIDWZ+FvjpakxcemlvZY+9eY7rz1321QcZqjO
+CImrX7U6t++/cZLz68OclQLdHNrNtubnA0tRoNLXX1zfaM7Z2HOoW0Rp3IXPf7r3z21tCTt4KEz
lc3NlSe+ii2pG/zMa2++9uJzU/urKlN8wj3hggcem0454TPnyZ+/ePMYv/yjO8KPZnrMe/DXLz4e
UpV7YOuWCzaTg6dHvd1elJXqMGHuorDemMlC8AANM1gLQwkqPY3F6p9CQkyDzGatr0bP9CWuGaeK
K2rr62uL8zIzcitqcmI/23201Djn2Zd/dnNI1amDO/afr67Njf1HbLrd57qnnrvTtzAXCa0tzUZr
3o7N+7PNs379518v8SuJ+UdMeevlPEYFNx3Upaf2x+7927u7ylnTzSM9TUVxX0ScyhOHlJ2P2598
adB0VtycEp/O9aG5Omd/Zv3MuWNMZofS0pqCfLuTc3PMps3Hch0ff+UPTy4KPntoW3JZ0+AJI83m
gpzyentd8Zlia3PpyfJak6X4fIl50PhgdZuIdkkesghrJe7iBByCo/CS5IBKQ0UBeWtlelxseonv
kifeePvV51ZN9eHLlxXpX8aerR99x+/eefOl51f1NqlN4ulBoJs9nZ1MRrfa+mZrkxcByD28bfeJ
nEWPv/LbJ5aUnos+cKqUPxJ//MuYkvrBP/7Dm7//xU+mhLiiAnYaj24XPtgW6Cc2/HLJKO9LSV/s
jM90n3v/yy88FlSVc3DH5+dq7M7eXvXNzYWZKabxcwg0i8J4hLAcyVgCTeYAsyKqRvBgaOIB1g7e
Wl9XowJ9k8eFM0Vl1TU1lUW55zMLqptLjn1+4Nglgwr0kqCq5KjPI7NqCfQXcenNKtB3+WmBZj/b
a7IIdI7jHAK91Lfk0LaoCoNKM+xBBS94AahAH4j7+v03VaDnLhvhacqP2bH3ZO71j71M5uOQ6PTa
/lOnEejUhLMW/F95IfKC9bq5YxwczaUlNQW5lN11Rz7bcizH8bGXX33i+uC0g1vT650Gjh9hNhfm
VjQYGkpTiurtJScq6sy2kqwSc+jkwd5iAP5kyayUBoaTh6E4ip6m578KNIeL2VydEU+g/ZY+SaB/
eusUT95Is2R+FZsuO/qFZ1f2NSuB3l4tHBbcNTXbHQl0faMHl+H86O2sSyXwk0tL06P3J19saipj
R5fWD2FHv/rCs5ND1OteYltLizuBvk7b0U/87IWbRngUJXyxOzGLQL/y0uPBNfn7//7ZmQpbs4sr
gWZHE+gbxquXKGhychJWnIxAhrIuVsRsR/+LOgItO9orN72wtLqqqqwgJ4NyubE4cUtEQqlp7k9e
en5pcNXJqO37zlVWZ0d/dfRcs890Au1TmCM+NFpzt2/el+M46+U/vbzUr4Q9X9qskk1cSk8pyhGe
EnV054dva4G+eaizvfjol7tOZItDStIPHzhZMnTWDB+zPTXxXC22VuccyKqfNmMoC2BHFxa2OJgb
E7Z+TqAf//VrT1wflH7487Rah6GTRhHorJJadvSpwvrm0lMllS32iuxSc+iEEFfE4ARWDaDnv9jc
bf6rQENst5efPRJ7toSj+/W3Xn121XQylaM7/Mg5Av27d9984dlV/urPVTW6uNoJtLsZFieLFmhu
xYriduxOVjtaAn0ojTq0Wnb0M6++QaCn9neT/Nf8z45+XI7up37+EoHOP7JjV0Km+xwt0FW5B3ds
Tymtc/DwkB1tHD9n8URVLhNWVtR+/qvqWdZIz+cesljd/8yysqYGqwr0dTd75pzNKSq1WKou5med
yy235MZt3hNfou3opUGVHN0R6RW1uTFfHjln95725HN3ydHNBjDZ8lWgzSrQHN0Eutqsdg3qWBGq
KZjZ0WcOJe7e+I4c3QS6MGb7zuNtgb6UFnU4rUoCfTruDDvaufEigWZHc02Vo7vJXntky7YkAv3K
H9jR56J3nK4yaEd3UU651dlQlXbRar90vLi0saaQozt0Yn93VOMQlf0d8h9YHNU1/9UVhu1vNFZl
xMecbT+6V6tAc/wmfx0nxy/X2WkDPTn/PTzUjuYa3dRorrOyoz0pVvKiP29bF9fo9MNRp8vU0f1F
TJl1CIH+w0vPTR/ohWqioPnfd9FDEuh5XKMXhTpzX/31kfPsaK7RwVU5B7ZuPm9paXV1U4E+f9o0
fi6B1q+/nsMXr+e2zWyefsuTL66dz95mI3NASYgv+1870EA22mza6b3E7fxpTu/KyjJO7/P5Vexf
tamNc3/6qw3EmtP7UI7NWniUWLOptVirTW2krrNk/2PLgRzH2WpT9+IyHV3Woh4ocLCgl+S3G1Ss
T0ce2f2Rdpmeu4zLdGGsnHKv6HXL8DkzOb1PH01jU5vqC/eer5sxd4y9pbW8rLawoNlossVt2pKY
beb0fmpRELE+VdE8YJx2epfbjI1lcnqX1RgtxZkl5sFj+6hHwl3zX4t826dqeBsCfEJWADMFQJNE
paexCgFkp7BknMbq6HNycni0PHLkyIEDBwLv27evtLSUKnno0KFgeEGZ9zTgRSw5D4ArxB7YsQ0k
MsGDRKzIh1j2IBjIhB0kX8zbsWOHXIKFAC6GYg9kSAOj6FkAnAxEKz0ZAAY2LqWyTpQBQCPJIcpE
N5YxCwZz6aEBL05hzQxFOABk4KVniG6muAvnsbnci+swunS4I42YASOAMl3bh8A0ziYsRz5IABpC
cJW6VjY19R4RBr5038fvbIyodXMnIOagEcOZzfzqjbc2na018x24doEmV7MDVxkeJJvc+TS2sSq/
At6805FRp0sw+2IjvybRZ/AAlpn5zp/e3XOmytNZXZPEqqamukZzYL9e8PYK8nJpsVdX51QajYF3
3zbJ5DL03tsGmky1VRWWVmWasffiZ19au2beSD98yIErThOHM8sSWDsNr4ptMpQ1gnFyxUb8W1/b
qu7P8D+8NGt5MQYvfvwWf5PX4ntuhaSkur6mRBm/YO1tAwNGPLrhNghgsdVWlIMtK4jcc5hp3lsm
yGgRddA4mFyZjooIP3Aiy9R72e/uDS231lYVVMCUfzrqwKmLAHy5r6Zl2IoRJmNVQnZlU0X2SaNx
/nQ/9QkP9pn4ZykrtnBiWlMP7jtdZYNFJUKv0fg/veBSeVEBdTbIvLLiizmpxpmzPRtVnmAGSFk7
iyLEWEVCgpS0ZgiNhFoFmgi0tvYaMhqzy/Z/8t7HB2q4XPFsPmSkCvT5L/7yxifpFidPdRW2a+43
muwNLQZlIB9ztjRUVeSpQOefjjyYWoqWizZeYQyUQL/9x3f3pVt81eGs7mU17zU2OAQOUIH2C/F1
N7bWlWbiy8C7b53o6DZ8zYoBfAxTU20VRb0XP/fiQ2sWhgVKWhJuiTWLkjWyQGSyuRh29L8s38mV
Z6D4wlrZpB6uQwkNvJXFBcA3/mhlL5Pnkvu0QFfV1pcr4+drgV77nPrjRLwN02CRQOdH7o2+xHpN
l1rUqaWqUlRoxmiB3vv1wZMXVKDvGVzT3EDmI6qAV/BOw2S8aCX1x9wynEAn5dW0lmWdIKGm+zVw
WIkPHW1VhbUq0CkH96VWq5vtxob6Fn8V6LS84kt5uRLo3Ev5BRdSjDNnOVfXsXDM6JT/4ofu8l/l
icmgnmDpO/rdjyLq3D1J2ZaAIfqOTqsxeztqpwR5YTSxufmYCScSbFOLpbpAdnTUAW1dl5qorX21
QJ9/54/v7D9X5+3WdsnX/M+5FthfC3Swt1urvaYqG7cErrltktF56L23qkDXVltdndTFQ+3odffO
G+kjgWZ1nGMshzUCQyC9hLij/5li6OTqAWA028qtV+R/zSUVaHZ0kFvAjfeqQJfWWi2lJQDzH751
QK/h67RAs2BLZam2o/MP7Yu9qJ4yXuR5H0oJseygllZuBsoi93wVlcyOvvl3a0IrGq3VWqDJ/MgU
FehLjS11hhHLVaAT8y3GqmwV6Bn+mGRWgeZUbKqRHZ1ycH+KtqOb+VaTj9po7Oiyyzu6KD9LBdrd
pk5motwp//GDWq72XJYFdsx/8ESOs6890H977+N9/D4RKesUrO3ozK/+8von5+qc/Vy1B0iOmqjW
ZmoHUtnkZiDQ5dqOzjt9QBK42MZl23dQ+9G972yth7N6cINtqFMnqKMEuldfLxcHk60qRwX67tsm
OrgMu2clga61NuBSlYTs6JfW3nN9mD8romnsKt9kCQxlUUxB39H/6FJIZ2zESku57Yr8t5QWqkCv
XxFg9l60ZiUkBNpapu3odauG9B79yPNqR2NE+44uiNobTR4Q6AZr2/mPV9HIY0ICfWD3F1Hajv7N
mkG1rU1luSo7ClIPHTitju6LDfY643BtRyfk1xqKzyWRUDMDOWnlVHR0a7ZcrGO91pSofSnV6ui2
N1lbe43RAl1SeCFbdnR+WVF5wRnjzJmudTw4v3z9xQzJf9wCDLv0HfK/Re1P5VFj7+Fj4NWO7v21
fI1K5YZ/qBast//wTkRajaeLOv/V8o0mZ457k5aNbkYDW7L9Gn3glHZSNXJbEqgF+jzX6L1pFi8X
7TTQTjy7vb7e6K/taB+u0QYOBG1Hc3SbXYe17ega9bGbsurG519+5L4Fo3uhF7NpDXXW3v1JBlPf
oCB3VzP7isRm8+rXX2g0/yuNxNrZzR1ig0Mdl2mGTMn5bynVLtPrb+nt5HvDPSrWlyqr60pLIJ6/
bvXgwFGPbLgNpJJcV0nYTOUFByNiLqltcZFLnyQbaUYj1iZTOZua09sYyKYeXFZfU55bjqi8U/u4
TAMQ63rjyOXDjaZqtak5vdFznR81myM+NbqbnRqqC2uJhS314P5TlVZYeCpi8B8z3GRK45fZ8vP4
3pISWFZclp9qmjXb3arqE1ZEEzvFJAzuCDCUBg1rJ//hggAkvZQ9YJhFDkh6skV8SLh50rx48WI/
Pz/qZn5wgvcxeC+Z15rBjBo16uzZs7m5ucjBCVerP5EMAb3oBRb/iyWa99Qh4Ks1LASWAkPzgPrO
ohgGO3hFACcigBhDJKYzFAUCwIMglDGEhinRxxB68Qj1MWS6HRAzBMks9MD0Qimi6LGGH5VDIFzJ
ycnAECDw+PHjf/7zn5FA451m8CCh4T1mkc8QXnqE0GM/lMihF9sUZ6uRGw2zg5m7P0e/+W+8GLxn
z67I5PiP0+Nn3PnoWP/An7798uGdu3ZGJe/8W1ri9Ntun9yXBzAkPx9HtxhbuW3kIUdLq7P2RVVD
n+D+QW7O60ZNcff1aba1znvx7f6Hdu0Mj0zcsynx2Ix1q8fjBYwhbPa6CrsJ3payiqqWJjPsjo7u
NRcuNLU02+r5ZhpPONW1G5vdjVWp6RmyIgkBy9edpi2h7UYFmNUxhcMRAEBv8vSGqyH5WOGkxX21
V4ZYO5Qe7urGyFhVVERON6oPHB2Nzrz7zv/uDeX5RTZbeYUiaG129lAvnRv8e/frH+w6ZN1UJw8f
x4ZGg9rY4Lmr5kGko+PI519fd/K3z0eURWyN7DspiC+LsiJD76CQEHeXR8ZMd/Pxbm2oHrF0seOF
yNOJMT4XysY98JCltFp9LKj53+zei2+oOhoC/AeEeDuEjp7i0quXR12d49RxjtlnYnadsU1Z81hI
3AfhMQfPWc03P9aroqmaVeAWIisLZ+3AYGi4CCRDGt7Gzma7VQs0r5mYW7xmvfPr/uHhX0cmH/kk
7ci0VQ9N7Bv007d+Fb17d3hkcvhHZxNmrFo1PpBPAlmCycnsQNmMkUaDg6OHBDqwb3CIl5sKtA+B
bpn74tv9tEAn7Pk04fish1aO5v0b8b+1qqRJBbr1YkmZg8HRVQt0bU6u2cnR0sRX4Mwmd0o1FWi3
1rL0rGYyFiRLgJ1VAEi8JOclezksoNf9Dz07qJmX7gj0iWMF4xcFOalzR+S4u6lv/rZWFJR5GMvq
tUA7uHuopHB0t5UUFNutZZUQqDPR0x2kwb9Pv35BrqHrpvKCs7O9nkcT2pbBn22BfmPdyd+oQP89
ss+UYBctdQl0v36erutGTcUhDVUlwwl0duSpxMPeWeXjHphhq6xV3NpmMbn68t1jR0NgwMB+fuZh
o6aQdS4NdW4q0KmHdqfaJt/1aP+jH34dF51hNS9bH2gxVMuJIOtlXZL/WKwbJieMpAHpr2WUuulx
6T33rV+F7Nq1MzI54eP0hOmr144NCHiWHb1rF4He82na8em33RLmxwpZN19Pd/VwJFeQ29zipG1C
Q+++wWpdo6eyo+31zfNfeqf/wZ3s6KM7/3Y04bp1qycYrFYswf/VJYWNWqCLL5WYjU4uKtAeBLq5
lQddKtD8pkCroQQPuxkqz5xTO1rPUu7kWQtDSgdZIENSV4dZGg2MSgZ3FaaGE4kF467ni1AgmYJe
Am2oLChsMLTW26BxdHDz4Lk6djRW5BfbGitVoNXNtZt6aZ1Ah/QLdiHQZnd/txZLo7rhRCM2cBKz
oze8+cjJV57bW7Zv2+F+EwL56QvZ0QTa5eERk70C/FutVcOX3uCYHZV8NMo7ix09o6682m7U/E9p
a/JsC/SAEF/zkNFTnfx83S21jtPUjo7erXb04yFx74fHHs6wqR1d3qi+39I1/3GLNFYqEW/P/1Yt
o/isz+DUd94bL4bs3sM5Hf/x2fjpqx8eb+7z3Du/PqRixdF9NmH6rasn9mnSjm4Dn+87ajtajm4V
G0PfkAH9PVweHqnW1WRpItADDu4MD4+M3/1JfNKMtavGcWET/9eWFWs7urno4iUqNjm6Lbl5PDmw
NKr37oyuHLDqcuNmrEg5q/6wArCEm4VAwInESulxOFMsh3VBpvufdFIx9fRilqP74uQbA03qzGcI
Gd/mV1qqikvthqZataPNJldXL6LDji7NK2q2lKij29Bid+G4UoHm6O7noh3dvjzNbFXnPwTkUqMK
9IgNbz6a/Mpz7Oh/xA4Y20suRobAPkEh7oMeHjmFn2Fori1v29EJh70I9P0P1pfV8WxO+d/Y0urk
1XZ09w/ycxwyarIjgbZaXKaPJ9CHCfTUe9YHx/41/EiM2tGPB1S3VKEch2AGDa9K/uMHVkfDS53y
n4Cx3TnUzX3mvflSyK7dBProx2lH2dET/N3141eC9fBtY+UabTCrylFdoylPW51VbAh0cP8QN6dH
xkzTLkmGBezoqPCdO6Pid/0tPnHmAytGsQHE/xzdzdqOLimrMPBJgMp/taMNJqPFqoQ5ePJjAfiA
HV1+Ok29/8CQMLEEFBVVqK8mN9QWlRic2LcsSluuqj0AFLtWIEHPFEcymMbkE3njF/LyJs4RvCvn
CLIqC4sbWlu009vs4ObioZDu9cWFFw3VF8sxwMHMY0f1LJlYh/QLcgldO9XJPcDDaGlQTlaBVl9O
pR4g1o9osd639WDwxD4uXNqVT0IGDvB0HTlmuqu3p12LtfmdqFPEOrN87P0z2dR8qMxNJh/IGF1U
iWDmMj0w2MeBTe2sYl3nMm2sOfvMoT3Emsv0kQ/Do6PO2Rxvfty/xlDDpzsY1in/xVe4i7Uzy2J1
h+heIjHAM6uubt9Wf27cuJHfhvP09Lzhhhv4RTXgDz74QPu0wYPnzePGjZM3hBGFTKThEzSii6GE
Gwz2gAEvU2K2bgZTbFsMJr5QgkcOlGK8kIkEyADUWw1Q02MHyQ0pRBxwIJUG7bKBUJAQi1lMATMF
AIYeAnoaSDBabqmXusBwUosRDAHoMUiQK1as4OftVq5cCRKYn9q45ZZbYOE95tWrV4PBHnpg/po3
eJTK+pVZWmqKNNEo8qGBks8BVPVtNHCtuHR8d2Se4/X38SX7AMHxs2DbIvOGL77n+QfngGk2qsxr
VReposSk1PgvNhdprHzLYsBYf8CySnvwgGBvD4fyizX2xqI9m/abQxc+/dyDSly9+lCJGIh27km0
sr/VrrzqFqzYiw7HZ9fX5scfzTYaPQYGuuIpJV77+pdmqnpwyHKAHeyV6ek5lia1H6zlubzthK+M
RlsRP5Kifp2i7SKqrPUaf/8EENlfbd3No53KyvLi7JToI+c8Bg8Fe3BvfLWt9lR0HHDoMH83b7WK
mIiD2dnJW3ccAaZqdPIfrOwvL2t279snwMdYx0eq6v5YLFFupOw12vjAbeEj6snWsf1JtWavge0O
6duvr6+XubIUCxuqfSdgS3V2Rq6x34IhDvW6/xsMdief0UpNUWW9a7++gd6O1rIam7HZ2n/KdJVl
RuPY0P79x4YYbTVG4+hhfuqBHKphwBIAlq8Wq6U7GACJNT0+h4wsoGc9BLo8eW/EBYfr720LtMnY
2lB2fFtU/vDF9z77wGyIWowqTM1NrKsoISk1etunEmieMw8ep6ysqG7pE9LXx9Oh/FK1g7Fs72eR
jkOuf+rZB9RcnQNsGIBVmESRI2FU532ra4gW6ENHMqsqsmLjLhiN7qF9vdUy5DlB+ycw+BZ2emNj
+blzuU0O6vlEfVluViFfPuHsa8w5e7aC99A0J6BLpYT3hAe0QId/HpF5sbyioqwg8+ThuHSPwcMQ
fmhvQkl12bFDKtCDh/h5+SpLYyMOZWQkSaBbDa1OAYNU+MtLCXRQbz9HW2W1+vxKbWexBz08SSrK
LJVAH9+XWGV0b8/8poCg3jikqoxHwo21flqgL2TkGUMWDnUkJdv832BSgVZqCqusbsF9Azwc6spq
rC2NFgk0CseG9hswvp8Eeoh3PdrZ3SyQEIslwMQUk8Cwdna6zCIUPOceVuJOiIuSdkbmO+s72sSn
tBXJWyPzhi5a85y2oynukNOiHn8UJR1PO7Tlk2LFi7Veg7RAl1c19w7p28vHqeJSrclQumfTAYfB
C5/8qRboevVFJLSI/x0dnTVWo7qimL20QBcejDtvqc6NjSXQHgMDXHgNExqDdoLAKGbDTrLZLRfT
0rJtreoiQaAvFKtvgLCt8jMyyurVaQk9ZETf5DOxLdDbIzIKS8vLSy/lpB6KPes8UO3oQ3uTSmvK
k6PV5g0d4te2o/cezMk5+fftCslJ5xIwWAt0WZNr7z7+3jytrrSqTYQWUaQ50Jp/tnj+OrWjk/bE
VRrcJNDl1S29g5VDOOLY0bW+Eyeyo7VAs6OpTtr8T9Xu6jtKC3Sl1ZVAezrYSmvqDfb6fu07mjcq
B4zrZ2yoZUcP9VXPHVkdBqBRzKAnuAwJK97QPQASV+ASpvh+Ag4sTd57sMB58f1PP6gd3RA0lp/4
+4FcAi07utVB/c5PUyMrK0pIPB33uexoksp5wFi1F8oqmtjRvl6OZUVVBJod7TR8cduOrueJymX/
c6FTenkdXJ0/7nJ0H4zNKCvJOBqnHd0B7Ud3+/eYoZZ1sRB73UX1cbtVVdI1F7My8ipYmnqf9vz5
clvbRtMwLc0e4+To/nLLzozCkrKyEgIdyztdg9SOPrjnKDv6pAR6qL+7t7aj90VfuHDi838cVQay
cX0HKqw6unv3DfBxsJZXqcu1ajhN21ZMq6N7gRbohF0xHN165gf1D/bzdiTQnKAWv4mcLlUXzrGj
54eaeD2jzf8NRruT7xilhi/sePQL7u3j1FhR19TaVBcyWR3d7Oiw0JCB7Ts61Ft981kz7or8B4lJ
4Ml/Ai1GMqQxlBOSfVKUuFML9FP3T1O5BWGLvThic5R5yPVP/OR+ZUV9h6M74XTM55uKlAx2UNu6
SivtffoFebmbyi9Ww7vzk32OQxc9+VPhbQs02jV7jOrA47qvzh+5Rhdyja6pzE5Q12j3gQRaKNqf
3Wjnj8pY1mJ20Kw2KXsQaC3JTs/lRQkluyQ7s6hWfY2Pj3qzsvLr+ajDUy7TF8K3R5wrLK2trSLW
cQlZnqGyqRPLLZWnY9T+HRzq03Z674vJzDy24wsVa76c4NE7VIt1eYtHcHBvP2JdUa+OR5xH5rMj
5PTOSyuav3YlLMf2JahNHabcqHyikt/MKWfnlwx7TWZTV2Wl5xn7EWs+ImiPdavN5KnFmtPbvV9Q
oBevzlXXmVpswVOmtV2mhw5Ul2m1qUcN8bF1uP62PbWU6OMF2ezKHe0PXvXQU8LqhSXmqQT4xvpz
//79xcXF/NgFf+tj4cKFlMu7du3ib5F4e3sPGjRowYIFlMsIRxcOoachFgyq2ZjiJQkTimSWIX4T
sm3btv3973//8ssvcSMN4Qw//fRTOaawFjKEEH2Rrxx+xx13gKXBQM8EEqFgDoCWnZ1dXl7OKyMx
MTH8KZPMzEym+H078CNGjODZcGRkJL/6ER8fzzNg3EG68MPJMOomIllcJvKVk7QGDfipU6fiEUTh
aIGHDRumwzyNR6bgQ0NDkYB8cQRmaC5SzqLJInUC/JZ9Kq3Ga/C4UG97xcmvwg8c3B91usgWMOH2
O6b51VYVf/1VeGzUgcOn8kwB09beOcVgbfDu43fm+LmSS4VN/YeYK6qbvQdPGOoZOG1pf1vOkfjE
pPj4pGOnSn2Gjwp0PrnzqwNxB2G2mfrduv7W3s31vFSBDWjHKsuF09lOgyYN68V1sP/MmwOrM5JO
nT6TdqGqOeDm9c9MdK6uqa9ITskJGDJusK+6cmC52mNSIFZnfLk3YfDESb7O5qqUrbsqQ6cO8DLa
q3Z/scc4aHQ/L/WIAi0QG5saBy26Y7Ch7NS583mZ59LTz2VcKCj3HjNr5qKZvWsTjiefTU0rqmke
tXT9mgmeLUHje+UdS88vunCh4rrZYYUFJcPGT/F07nvzvJCc00cSjx1L4GqTVjNk4jAPsypTUIGi
5qqC1NzmsLABNvexE43nknOyq1p7zVl1dz9rTlx8IjwJSScveQ0dGejSVOsyfGB1UkZFwOw7ZnrU
WewYqfm/77BJIf5Tl82zZp9MTDqhcaR6DBvfy7HZuVfvrIRTtoAF149yNru7JiZf8Jh20+xAh8ZW
pZpGjtCLW/ASAIZJ5oDXMQ6m5gsnUqs9B44f4mOvPP11+H490Kun+NpqS7/66uuYyP3Rp/IJ9EOr
JzbXWX2D/FWgi/Pt/ULNlSrQ4wa79bnu5n623LijKtCJBNp39Ihe5uTwL/YT6GgV6JWP39K31Uby
if857KvPn8x2Ghw2yJPP5PvNWBJYdS7pdErqmSwV6B/9eLxDebW1kkAHDps01F9VXSyBxMZy5d7q
819GJPYbPdrdZLCc3UGgpw3yMTRVRny9zxQaFuLZ9rEJLC026+DFdw5qLT197nxORvrZs+kq0D5h
8+bcMCOwhkCnnzlbXNM8+uYf3T3evTlogm/usf/L3pXARVV9/zswwzCssqqgAgIKIrjnFopmqeUC
2eKCvzRLLa00LVN/fy0t/WmmYotlluWaZe79xMol/SluoAIKKijIogKyw8wwA/P/3neZYRsQEJHB
ez/6uO/cc84993vuve+8O/e9dy35TkJCdp/+nVNS0j06d7GStR0Z4JxwmTr6zJmzl6Kz2/u1l9Ff
d0sXwARHl/j6uRZZUEdHJNzKM27l/+LYNnL0/PPh6BwXLt8zd/NqaVYiN/dsly04+pWnrRUFxaQU
/9aePds69Bo5UJ5w+bzg6AuXr1h4+LWUGRm3sL95LlJhP2iIjwyLTucvUUf3bVGCaR8OrdT/gQzm
BIwIJDSduRtEJNxlJ1y6kmPVvkdHu6KMS/v3lzravutL4/q1VOan7d27Xzeip4ztqczJs3FyYCNa
zUa0lVtnV9M2TweWdeBzF9OsOnRykMLRf58+dqTU0UGtSuRwtBafktz4y7ckrt09bZWKfFf/ka1y
b5y7HIURnUUdjRGdm52feSk6wdGzu7stXVlE/4TBrCHKzNj9h8+5de1mJTHKu/rbH5ntuzmbFSsz
/xQc3VpGOzkqov1ZIXcXHI0RnXiDOvrazeRM607+/Yf4t8o/Gx5x7Uosc/Q4P1mJUze7pAuxyXdu
3szq5++bnJzm4dvVStZmxEBnjOjzdESfv3wl271bB5MSekMCMGFSUebtK4klfl3c8k19ehpdv5iQ
UCBxGjhmvHPhTfR8Ogucv5Rm5dnZyYIozd3bZLIRPdBWVViixb91h96urXo8769IuMxG9IXL0VZe
PVvjx2drOFoY0T6muhHdxxrLNfSZG9QOG3T9n41fNoejFD0BFx3WH3DNvXURjnbr6WVflH5x3/6/
jv55hE3dY3pYKgvu7xMczUb0lFfoiLZubX814lr6vdSitsLUbeXazdOqZZ8X2ilvsxHNpm4vewkc
/efJI9oRHWSvymOOhj2YbHLjLt2StO/uaUM0qrb9n2+Zc+NcZFRMbAIc/fxb7/aQ5uUpsunU7dkN
IxrN0RpM7/pUWdcP/HWhjY8PdXTM74ey3bs6yYyKczGiMXXD0QwBHEmRwvXZVzB1R16Pw7Mn1NHx
SRlW3gOefvZpYeqOjS4d0RO6mpefupmjPf16WEidRg1uy0Y0nHb5Sk6HXt4mJTQkRXeCVcXZScLU
7Zon7dRbfIOOaInz00GvOBfeYtcyjOg06w6etmJ1gayDCxvRrw6wKVIQzP8C/nC0W6seIwYqhKkb
1/fzl6LN2ndqZS42s291/cwlhcMzz3YyNZJJz2FEPzXM31FchEVa7QUaGdb/gQzyMAwJhsE8JC1R
lHXj4q0Ce98eHsZZl/fu+xOOjrojXKOfsi0sVNFReerYkZORmH5HT33BsURuyabueynaEd2+l1cL
TN10phI6MBydZt2xo50k8o99mLqPnIBsm6C3qKNhBxsF8EB23KUEE3QSG7jdpf8Ih+xr54RrNB3R
b8/uaYbvG2SGR97CiGZTN5oAm4VOgnvfrIvRiR6du9nSgEqUEXvg7/+Zdn+qDV6uHbt7f6abTxtz
cXFe7L7QC26+vlJFfofnJ7Qn6WxQX7kSg0GdYe0zaMBzfR1yzkVchK9xmcbsjcu0ulUX+6QLMUmp
dPYWLtMenbtamjqPHNTm1uVT587j0kRn7469fczxc4qwko0WqbPg65Iu3T0U5r49jXCZTsgzavn0
i2OdCxPChLgFl+n0Fl6dWpmpC0w92+Eyfd/+6ZcHtCiSY8tWsfLmpSu5rTv0ad+6J3ytHdTwtWXH
7g5SjbG1ffy5SKXD4AAPEX4eZ7N3P1uiEpVekWEG7W/a+IdZxcYybIPTWTdgfQCux8TOwAQdpewU
FAjiCAZIsfgTMSf2YLRv3x6vyEC4nJycjAAa7zJGrIwA2t/fH6EzE0TttHsJsyirjlUNCvZyYMMF
FCIPZgTBsJZJIQOdCD6x/QN0GIAj8jAJISjrqzhCkGljR/rNP2YolAo/29H2o1acgo4M4m6E+TDR
1dUVa+NJSUmIm6HUz88Pr34DQ9++fVu3bo3wHzE0SpHHejBeqgpx1nKGBbuQYO8Hiw5RBHQQ3dvZ
2SEixwsxDhw4wPJYcsa3UarSsX9FF/VDFvrRGN31CacAjrUT5pUY2fn6tZWos69GJ5i5dHKxxEPh
2E6ENQpQ4jT2nn5u1lgPxhqBxEiREncjrbDEzN6tYytpQbGEPvyHn6NK8q5dS84pLPHw7WRrUoJt
nEYSU3Fh0uWEYu/OLlgHo2hKRLnJcfF382EJTAIFv6G4+na2M8qNjozHCMNulzae7e1NNUWILUyM
c5JuxN/Ns2jV0butlSonMZI+g0wTaw6aYGLv4dPWIuXKpQy1kZ1H13ZGKeGx94pFWAdwzUu4fDOT
3sagETiCGaGFq3dHRzNRXl4hWgdvm5OsS1FJNq4d3ezMsIOyRCTW5KXcSEgvKjHt0LWTVFlApDKV
QmlubpqTdPVmhtLUrp1nO3uikONpXnOpUUrM1dR8GtIBQHjW0bOLk3lx8pWoNKXG2atLawuJMvNW
9K1CF68OdtISharE2ERmlJ94OS4Dxti179zOWlJccOdiTEoZ/qqsq1cSlVJbj/bO5kZFSrVYamaS
E38xAbs2zFr5dWwtLim4ejG2xNETwrhbvxSTjKGDeyQ0ED0EvQUdCUc2IIES1SzcaLGeQD0utu/s
29akODfqcpy5a+f2LUSAGis/cHR8XLLSsq1PO0sggdjMxFiZGHM1Ta6xauXRoaU0Xy02w6oxnv9T
ZUdejlOJZGgXPFWgUElMzY0Lbkcmlvj4ueHRPFqv1CgzITYpk97YaPGXunTuZG+cH3npBn5NwDKz
q7cnxJVqDWqS30u6kZolsnbt4taiOC/p8o10WI6+CqCQoFDq6Onbzio5+mJaEd7/2sNZc/vi9XRj
aUufTk6KlJibmYCfBo5sSIK9jad7KwtjOJr2IzMzWUnm1Wt3Ldu6t7OW4sWEoJH81Ks3UrGp2N23
o3kxnqo2LZJTR+cmx8any42tnTu1b6mRF0Kpqbgk+erVjCI6zbG2OHh2cbEWJV+NTlOUOHt3cZCK
FBlxMUkqdx9vK+zsoS2SAZCL19Ngko2Ld1tsE1akR924W4a/Ojsq8maRqZ1XBxdTDcaKxEQmKUTV
+BKCiX33Tm2MivNjLl1T2rp1cbURKTMuxyTDJQCzUv/HqW6GYoMCPKiFjnSNTY+e7cXoUdEJsnad
4GihB5oYKbOuxyYorVy6tG8BRyP+hKPv3rp1J6/I2LpNZ2fzwhIJHv4Ty6Saosyoy/FwdLuOng4y
Uih0R3Tg6CTi5dMOUwn1jZjkpcQnZRaVw1/m5tfZluRER91kjnbz9rQxKcaIM5IY5afejLuTi0fs
O7tYF2Xdioy/r+ulyKA5spYdMaITLp7L1EjsO3RvR5LOXkmVyFp38WtXcDsqLqP0VlnbcJO2Hdzt
pJrc3AL4VGZpKSm6F3M9DY52aWGKEY0pqCQv5cq1ZCMT6/adO5oWFWJEF8kVFhay7NtX4tMVMnsX
j7b2IqUcmwEtTI1vR0fh+Xx4GcYg2bh1drMxSo29Cke37ujbykysvH8zOkFeHhBR7q2oW1kA3Ma1
k6uNVJ2fGnE1uQz/okyMaIWJDRxtUoxpxwSOzktAQ5QY0d3gaHVuzKXrRq07ejlbQvYSZIUxW6n/
A2nW91jDgTaqAIWG1NKWXbq6GhdlxV5NFLf29LA1Rg+kI1qVc0PraEzd9GdzI0Xyjev3Copl9m7e
rU3zVMZmuOxKJcbCbKDUSDGimaPZ1M1GtEZ4hYWxiVH27WuJGXSqQdWCGaYY0bai3IvhsdhDI5FY
e/h6WYqU9K5QYlRwJ+F6SpaZY4dO7ayUmTdjbuM3sdIrDtMgsXf3bWeZHH3pnlLTyqunsyg5Mu5+
iZFtZx9nRWrsdbyWRBspYu7C9yicPdwczYzYiJbIZJi6I6+ktHDtgGUR9AmRWIqp+/qtNEzdbj6e
GNG48ShR4TldKUZ0XFohHO3exhZzKhxtZkISIyPT6UI7nVvQllYdu7Wx1Ny6GJ6uErX16d7KzFiV
fftyXC6uFwCETXHo+eiuYLZv3xkjuqTwbnRcWhn+yvuxMUm5xKKTlysb0Zi6MVbgaJF5a0zdElIY
c/Ga2t4dU7em8F7ktVS8/R7aYAB8DUyYJfAprMKUjvmclcLXLI/px6NblxbGRUlXooudfNq3MGKO
Jor7sdHxRVLHLt091QUF0IDrLEZl3J08C0d3XKNzhY1BRlIJUWXjOqsoMUG7MPeyES3KS7iaIvL2
cUGwBhswojFIb94rQB4zCYwxMbFw8fFuQXJwyaA/r2NF1stDd43OTY6/lZaP9x3B0erc27hGl84/
2u9lyBw8fVysc25jAs6HK23d/NpZ50VewFXApGNPP1FSdOw9hUUrL6825hj1aSr0XAsnd7fWluKc
nHz0Jam5OWbvyCvJNm4d2ewNXxfnJMHXGmOLdl7u8LWRzFxZKLe0NMuIv3QrUyW1bdfBxYEo6OwN
X9+OphM1MKTTLyG27Tu7tjBKuhJ1T17shMu0OebIxKhbBRjUaBTmYlx0SU58dAKefCW2rj7t8CJW
+b3L1+5AHGONXj3V2dFRt9Rm9p7ubWU0GhBJTCWFSVeT80WFxLqXbzuROu9aVJzSxqWLq21Jwd3w
aGw+pLcLzADW/3XuZqMJFzs4DjWCDZ0KRzbA4X3WJUCBIGOALJpTPv78559/8CI5LJIiDRgw4O7d
u6GhoViuxamHh0e/fv3wFCB1rjCNsPtwdgqTWNiAImyi2L9/P1ZjkWGVwl+oUVcv3pKMUxi2e/du
ZBB5slJE6qw5UMIY0BzWaWnEDF1MBcpQH/IoY9Xj+PfffyOcbdOmDd4lhyLsTEIpIlqE53gf85gx
YzAYYDGILJ5G4Dto0CCMGdgBOjI6aKAfeSSGGozAJ/1wilqwPo2t3BDB6YULF0BHXThFUM4+9QdZ
7PuGIDMSRcjgCFlwwmwIgoJT1hxkUIo8aqFEidRYpIFNWK/HKfiF5ylRip3d9Gs6UEJBkZkbFyvx
aBirnamFZiPsTjUWlaiLFEXU3yhl8IEPCpGHYagO/KxeWMKuEIyI2rFvGCvquEoAE2AIBuyBQYYJ
4hQZeBoZVjUzG9pYXToYGQJQC06UUvRExhbmMk0JfnQphOUwBrKABh+hgb2ggBkJRBM8UWFE0ARI
IUEVjtAPOvo+5juwQS2SgA+d6VDKEvLQDF/DEtSL3U+mJmKlvAC1Q4oBBUEU6ccf86axBNXjY2bA
SKefmqp9ihl5ZjyqQKU6tagaedbHYDPTDyIEQQdnBfxFxvh4FkBEGRQKSjR4qhjtg6MhW4o/Hi0v
gvH0xgA8UIUMxZ/+TgUfqOVK2m2QUAr9oAFr1AU2Vi+OKIUZOMJgtIiqEpvIpBKlHM/8lW5PYsxQ
woxBTwMbpJBYhrWUqWKWQESHD0pZAr+EPjCkQetUGHHY1CvoxI5s3NwVq7Cvraz/oxEaFX2uEe1F
vVCODI6meHQGX2ASPuwCCnSiFNWV9X+h81TAH31XYgxAsFEInLAZgjAJsqxpyFfAH2hgq7ARhhBB
RTCStQVH8EP2gf0fJrFuAIORmH6YhBqRhwGsXngKIxroo99q8cdAxpZEfHq9dEcZZRabmIkJ4KqM
P3a8khINfs8XkERF1MvoTugl1eFfsf/DEXA0RjRrIwMEehg+yICOfHn8YSeMR5HOv/rxN8HYpf0Q
+gE7NEMV/tDpC7tVhdUdVh1GbkmRAiMLLWVmsHrp/mu8G1FOn+CpLf4lxBKXcmwm03YtqEKqFn9M
5gxX5AYAAEAASURBVOh8xuhoKvQ31MJsYL5DM9FYnbNgRmX8hb4HOvTjiIpYMyGIpMMHpXQkYwkD
DMK9NNQiK1xeMIXSN9OzNmJ4mBqVYNhWxr9YQx8LhKeL6TiFcjBAPx23tev/EMd8glkLsmgR08/w
Z/ZX6v8gghN1sSbXhL8Z/bwVHA3UCxVFpfM/xqPwPg1ha14p/hi52EMA1+ggRRVoARYVMHWzHltb
/EsIRjTwYBeCB+NPPSCGBEabXDf/C3MvGliGf/XXX+ADEGAtwx8ZnX8r9P9iDSZPTG5wOLMKbJCl
UJfHXyozIWqlSlixKj//i00wIWAmhLkMf1QEX0Aheg5UgQhrq51/Soi5TErxFTokDIM4EiyBDbAc
ZiBfCX8QwYNS6H8A/sUaMzNTIK8b1OCnsweQxKYy7TCnlmN3r1KO7s5qRKVIyMvMzVXClQU1go02
7YH4C4EHMIE2ZicEkdGPvzDxwhBcphHooAKwoV4k1MUqhc0193/GDINREXBDBkYiA3EoQSm7juMU
Cac4MoXgR0KNEAE/YlkWzmIhGaEmZHGK1VjwIHpGgiwibAwZZhKzEHnIokZ4hFEOHTrUsWNHVAE6
iJgXUQUy0IOKmA0oPXbsGCgDBw7U0Zm1OGWJtQiV0ogZ1aBiKGK6oAVMrBMggwXqlJQULCEjjyJI
ImDHx7HxXmiE+Vgeht1MKbRhTRuxNV78AQoziLWBnYIBpzjCGkZHHgjiCKORIMLwZebCHtSIPOjg
gRJQcMoo7Kgjoojx4MgEoRA8yCPDBFEpFRbcDwraCP0MRFYEbcgIlxtaKTMGFNChliUI4hRKkIEb
oFzHwJrMKFCOUx0nZFEXjhCEWvCwRoEIBMDMinAEHTwQZAzII4OKUAsSU8vEwQNxUJCBIGOA8Thl
7UWGcTJBMDNtoLNKwQwi9LMjlIAfPCgFBWyoF6UgMiigFqeoERlmMDSzDKNABKfIQ5ypQh4ZHKEW
zDgioRQU6EGmlvizhjPlqAVKoIHj32j4A3mWAPsjxR+eRR9DFTiiRnbK+78Wfjq4Hin+gB2YNwL+
uI6gUZgBUCM74rTJzj/ND3/MqI0z/6MWXFDQqR5m/uf4Yw7E2MdgeSzX31rij3kDYxkWwuNYEEQe
TkcHAJ1NXDhFKbSxSQynSDXEn2ADM/QwzWg+CxigDT0KmCAyQRES04kM5hAcwYkMW2OGCPJgRoIq
5JkxVExILGIOCAjAGUrBA3HWZNZvGT/EjfGkHRoADl0xZEBBM9i8iY0j+GUcWkABG+qGifhoNsJ8
9qQg4wdAyIAHMTTYkFgDWMNQxDyNDOjQzAzCKTQzTjaoIIhSHMHAmKETPCzKZOigiLUcgpDSaUAG
CTWiFEXI4AgKq1pnCfSDAUQkxo/qkNHZDAamlmlgRoIBtUMhwAEFVjHzcGTWQhurlOmHLKMwBhCR
QWImQRX0MAZ0F6aT6WGWgB9JpxB5nTEsDxFQmFWUVWCAflAgxU5xhJ3sCOWMiFIkIIAiZHBEgjYI
sgwzg/GDgdEhC+WMCDZGhBJkQAQbqxqnsOpR4I8qOP6PEX94tnHwZ+MC/Q0JTkd3YvknvP83Gv5s
RDPMHyn+mDEwAdLZxxDmn+aHP2CHfwX4H+38D+h0HQlOR9fi11+Du/7Wsv/jCoUQEe6Gl1nAoIuC
GBHTO4rAhgQGFgghj1LGACJ40C11GsCD2kEBGwuXGTPYcFFg/Cz+BJ1VyhRCCvuY8So6cLJOyBh0
JjE2aH766ad9fHwQ1oIBRChh1x1wQhZEGIOEjDH2HEOX7moEVraLlHFAGBmIgYcJQDtUMI2QZw0D
A3qATgR0JPCgFHQmy4wDEcyojlXKNEMhQAEnK0URM5opYaUIK3EKvJABGxigBEdIsTykYDl4mE7w
MDtxCsOYJciAmfGDk51CJ+NhRZACs04PMtAMBpSyIpyCWEkhazsqZTphGzMbp0wWFJRCEHqQARF5
ZNActB0JnEwziMiAn9WCI4pQHTOyvB60HaVIEGGNQoYlsIHCaoclyIMNGlCqq5qVoi5WHYqQwZFV
DRHYhjw7BTMokIU2HMHJTnXVgfJI8Ue9DAdUhLZw/BsZf1QHFwD2R40/xgI6Nut1qA6+Zn5Hr0MG
dHQ5EGHPE9X/Gw1/Ng80Av5wKBK6ExJzKzJNdv5pfvhjNDUO/qgF/sVoRY2AEYn1LnbKr7/Nqf+j
LZi0MYrhXLYGyroZm7FBx/TOOgNKWTdgzQcDSpEaKv6Ewkwh4ck/NrGgp0E/8uiK6ITIoGfCPBCx
h4KtC7MwA4aBWWcSmMHDpEQ7duyAJBrJmoH2oAxiYGJNZXScooh1blQDBpxCEBm0kNkBOhJTzWSR
R62ABmzIg4g8sxuc0Mw0MIOYLIMbdJ25EAQneBiRMYMCPTiiVJfYKeqCErAhAwqOrFHQj00jrKXM
HigEAzsiA/NQKRhQCnFdXqcfekAEv46CDNSCGWgiz2xjpdDDIGYZXeugHEqYfsYJhcwq8DNTmQEc
f+YLhhKOHH/WcwAFuivv/xg4GCl8/uHzD5siMCiQQZfAvAFMkAEFRz7/AwQgw6+/7ILCr7+sP7DI
hx2bX/wDL1+/fh1bHlq2bIk2IrgChQWfGAhsOKDVILLZAxl0D+SRAQPjYVMK8gwfZIzxOmQmgymG
RXVsisFRd4oMdLH4D8xITB0yrGJ2CjYYBDYQoQ1HSKGIlQpypbJMM6MjD2YUgBkZiIMOIuNHHvMd
sxsmsVPUwjTomscqgjigQRGOLCFARwY6mULGz6pjRdAMWdQFzdCPPDbfgBmnyDMKy+OIBFmWoJZJ
QQMzlWEKEWRYdTrEUC+TxRGC0AARdmQm4YhTSCEDDWgyjrpTZGCMThurVydIzRJ6ANg4/hx/dAPW
+XHk/V83OtggZWOHjSzdqGEjEUMMGT7/8PkH3QN9g8//bLDw6y/6A7/+sokUMyRLTTn+YVM9nhfE
A3V45RpMxZwG+9ncjjyLndAQcMK5jF+XASco2obSOLb8qQgf1IZGRkUB8myEQC9bD4YkdDEesKGU
1Q0iMihl4R1kGQWc7FlAZhmLI1mVEAcPjhBkeWRYX2SXK7AhMSLEIYuNARBh1qMIGegHhVXKisDJ
itgRmlkCM6NAIWsL6MgwzSwARb2IMlEREugswgA/kq5dWMQCD+pFKSuCZqiCCE5LK9PGxLqhhSKY
Bx4wQzMT0dnDimADamHYoggJeVB0xqBeCIKZ8aAulEIzBEFEBqU6OxkFnBx/wMLxBwjoUQwK3v+B
A4YPxgiO6Bssjwyff/j8g/lWN+UCDfQKJN28yud/jB0kNpkAHwwiBg4yoPPrL0OAX3/RGR57/IMV
T8TKeCFySkoKXlCBF7ghWEKCj9gR3RiTP7oxhjwyLIEIy0Fk/RwZ0EHBkc0GcC4S2ERvvvkmJEFl
ilgeZUy4VJ/2D6PjTCcCKdTBqgEdGRwZERmohQgyTJDZxIjgYadQhTyITBBH0FmICSlGB5G1kOlh
1TFxxgMlrJHgZzboLGFs5ZWDU6eZGaMrhR7kWaWMR8cJOkphGI46q0Asz6A71SGAUkaEt8orBwPo
LDGFjMLykOL4M2DLwwtwOP6sY6C38P4PEJAw0pGQwWhCBkdGREY3utmAYogxInjYKToV8mxEMyWg
8/mHzz98/ik/96I/YKSwccSGG59/MF0g0dmHzz8slNGGQwwW0NBh2LHZxD/U39rG8r8cAY4AR4Aj
wBHgCHAEOAIcAY5AZQTKNhVULuHnHAGOAEeAI8AR4AhwBDgCHAGOAH635CBwBDgCHAGOAEeAI8AR
4AhwBDgCNSDAI+YawOFFHAGOAEeAI8AR4AhwBDgCHAG+xsz7AEeAI8AR4AhwBDgCHAGOAEegRgT4
GnON8PBCjgBHgCPAEeAIcAQ4AhyBJx4BHjE/8V2AA8AR4AhwBDgCHAGOAEeAI1AjAjxirhEeXsgR
4AhwBDgCHAGOAEeAI/DEI0A/GGhY6e7du3l5eezN2IZl+aO2Fi+Zt7KycnR0fNQVGYT+9PT0nJwc
vHXfIKzlRnIEOAL1QwAfR7C1tW3RokX9xLkUR4AjwBGoJQKGFDHjs4ebNm0yNzf38/PDFFnLFj4M
G+JyfCLVUKKujIyMmzdvdu7ceejQoQ/T6mYgu3LlSnzFzdfX19HBAZ+Aa2otwuey2JfMm5ph3B6O
gGEhgCk6LS0tKSkJk56Pj49hGc+t5QhwBAwLAUP65t+OHTukUukAf3+JiYmZTIbPhD9SrPE1RITL
SBERESYmJo+0rgZUjg+pt27d+kleaT58+DC+LD/yhRek+Ma8TNbUfIdwWV5YiCXw20lJWB5rQNdz
VRyBJxYB/LzWoUMHjPgnFgHecI4AR+BRI2BIa8yxsbGTJ02SIZmZAZdG+L43AnQkbALBkjbWLB+1
MxpEf35+PnYjPMkR88WLF8eMGWNmYWHWWP2kTo7D5hkLS8urMTEJCQm4xtdJljNzBDgCehEoFBKP
mPWCw4kcAY5AgyBQfcSsTvxp+YYbxJQoFKwm05aeAc+N9veyeeiKFaErl94dMmtSdwf8OE1MTas3
onJVWEDFqmEjxMrlK+7bt290dLQBzcW13eRddxcrUk9+Pm/RUbM393833rI8Rk0pL5fLra2scGPV
yP2kThj06tXrzJkzoqa3Y6ROreDMHIEmggAmPUPZPtdEEONmcAQ4AnVFoPpgVX5/36JlewkJCAgQ
lN4/fjwKmU2RmZN8HzJoViVsXfYNGTmpU9Kzsh7DwzM/7F4HhY0fBmGBGdNxMwxu6u7iq7sWLdp6
fNb6/2vimwmwjtv4/aSuYw/8zbBT1QMFLsIR4AhwBDgCHIEmj0D1EbMQEwWsjzw23Ze1QhG//ymP
0T8fujbJt8/DtsuO2JmaELEEjzdbSWR10lZ1ATUv+nv7HjMrKhl19OjAwYPnfHHm7sxudQjHKyop
O0NkU01wU/jHJ898GkqI+4wDW4PtCbn26yeT1uB82E9HFnekm0eacKq7i82sWpCATWumD27CrSo1
rWo/0Wtz9Oa5PULMIk8t6ShsgLx9avOcd0P2R5M3ln3y8XsjHNTxX8xZfUcmdFG53HX0+zOfc1fc
PrVszscr9p8Y9cayxZ++JzsV8umhO3baXiyXt373izlOaae+XLH29zM32/uNmfXvd/q761+Rr6ZT
6bE0/o+1wTtMf/lxuouwo/7u5T/WfL7jRDwJnDFt6jh/m+LkrWu2ZUilVFKpdBo44ZU+bYruXv5x
zYafT0QMCJwx9e1x0ks7fjidYS2wCFz2Y2cHO2Re/uXn7UejUpw9B4+fMrZLmwbosoZiKrfziXW9
ngHGSRwBjgBH4EEIVB8xC5ItilQ6Dabug97wJRsR6dKUvn/lv0fP24DcrJB9C94d5UBI6pnt86ZO
2EpXogPXn1g73d8FQfa4N84uP/SZF8IRdfzKl+e2Wb55vBeVJyVJS58NxBr2Xr/hVpH7x/vqDykE
1gqHqmuHYrHduAHjSIuUHftPENJ51DhfUtBWauP5zrh3XCzFVfkrqKvdiRAw633lgkgkF1TEhyVm
T3SwyYuJQLhMkyDCsk36WHsX5+5a+srqvSRqr99C23OfjYK/P583dRH87Ru4fu2q6YPdCcnbtXBu
Ru8Xkv49+nRw+LEPu8cf/XbuM2/RXyqClyxf8UEfJ1N0iTfnHntmdOufJ887TkjwikPffDgMvk+P
2D61xwRwovNsOrF2kr8LclXFaXnt0gP9nhV/7s/Qg6/N+ZKQUdkqjUZK1LcPeg5+Ez1oyqibGxeM
KXC+sum5u6EbN6JXsTSu93SNJu7fnoO/JJ2nTBn1w8YF+9OcTz97ZvvG/VoW/B3wr/9M/ito8CfR
ZNS4Ufu3f7I/Unrnwvt679tqEzHnJUefPnVy8ZqdhAzML6YSxXdPBk3/lLgPDByYvPfrDxWOuz7u
dz9s794IrRHDfF8WiVLWB03/hbgHBg7cu/frE1mOP/WJDt37j5YFf7uPeDfw7Nzp38eTgcMG/hP6
/Ykb0r+2Bdd2HJZTpMsaiqnczifW9bq+yjMcAY4AR6CuCDwgYs7Oyc5TK4gccbM65fzO96LIVCdr
QhS7pjm+vCFw24lwL9W5Sc+MXntrn2q524y+E7JXHEp41fXyzvmjB7i6pmn6FybsPX56HqQRMctz
Du3dG/R/akKESo3sAueFLDr+3tSQGb3baBfoamF+1UhI2iHwx8OBRB1NLHvtGDnt5x/fQG2Km38U
5hcSlUYef/Dtj36387aL/O9XmbYzF8wPuLT845WZtosWfDE/qDMh+ac2fj7rnZXRiIE++3jp+y/o
jWxgVzXBjS6Mjoi8nd/L+s6Z0phETiNmVfLBr9ct/eUf4tF95vS5E/3dk0/+sO5AeuvW8gu/hDqP
nfdiT7J77oqU7sOmzJ072N2yOOva9u/WfrWHRj5B74fMeLWPZVHCD//+Jt3Nl/wv1HnyK1G/h/q+
tnBinzaF8Yc/XrW3x5Slr/bEuvZDpdq7OG3ms2/0/W1j37fXjvERZ5152bnv3uAVJyKHZx1bOfoZ
j9wTaR/6m2ac3vDWsg0Bs1bMG942MXShx/Bls9Yfiulv/tu7A/o6Xw/P3eJZmLp179qtewO3HQmb
d33n8LeG9xqSO9X6sGOPCb6zNkXO7BH+1YTJAyZ55R5rfUqPePdaB3RV+wl8/cfid3++37YbOXPR
e8Ui6eevzTkgYKeRgFtD4o7/jjuuXb/vfMHp9ujD4RIXWV7yxROk8/5rJwc5ErHwGL48dgtC7A93
/f7JC47/Gn0kXeLiHfBi3iR0anHWua/bDZw7ctXSXsYJn0eD6dDOTwLOeQ4duCTsep7mKQs9bqqm
UxWeXL/iQE6rjiTymtusaZIti9eU9ioT2qtIcvgRQjxWrV7p73B30OmrYieZPP16BPEI2beply0x
Ft7rUpRw8BdCJq1a/Za/7chBZ7PETu49nz09mhBj49zoncOmrB74/gxfyZ0t8WD6euVbPaPbvTVl
Q9Rtuahz3VaZDcVUbucT63o9446TOAIcAY5APRAwqkEGl/jji57Brgm8uMfKytb7mbcImfphoLs6
/uDLG8iCI1+P9/frPnj6r79NJWs3ReZTTfeV+cTKddSHm2PCwz3FCI7pgjRblCaVt76a+Q4ZFEiI
z6AR7jYPCNzLG0ljG71JrtJQPk2hUKoqTP3hwA+3CouQ2XFgx1cr5c8FTYk+8dX44S8VPjd2LDmx
ZPySi3ma6M3vDHlnZe/PN21bF/DDwpfGfnFWr268KKO6RJ/dGj5tWgA5Gn1HcS/uHxIwbXIADbCN
FH8uG7P0l5R3ln4xv5foq7njt17NKbp//Z9/9vyidHkmqMc/v6x4b+7ffnMmk4jQ+V8cURjd/3nY
vxAuT56/dP64gD2r35u39aqRqIgK/PTVnrg2bZza5kdEfLXngsrIKOavzf9E5Lp6Ouq1qjxcNefr
5OIkxz7P+dgRn/6Du7vH7FyxlwSGrXvf39t71Lur1weQeVv/UQiV+S45cmzNh8N8TQ+tWEam/rZ8
+jAPb//52w4RsvV/N7KYPdtidowf3GfY9AUrCNlz7saNv74mZEnomkm+7r6TPv91RXDX7Mz0GsRr
bhQr1evH1JgdB35YueSHTK/Wpj5TdhYWpq0bSdkFZvmVs/h9JPqljjKZZcdVh1LsnewLs9Gm6FEd
bSxtbGSvLIvO1CRcPAv+lZTJZuCqQxp7J6kGu6aNjVWxnwycSzp/+tXbvTTSLm/MBNMHMz+YOWPJ
CTLlX93M9ZgDPXrdB+L9hFB4fcOe3PaOMs+XVp0//8/8ALCjUyGpbkXHERI3d3Tv3v1Gbz6VYdvS
TlWAu9K490b79/P37z3vx5v5RnevI2YnP1Em/ymbT4lsW5oa4V12Eonm9ndTVhOPdxaO8zMy9R4z
Dkxr/rP2P8s3RJCgUT4W1VlULd1QTOV2NnvXo8PzxBHgCHAEHh0CNUXMiIF9lxxKy83EK+IzM1PC
ti0gZMPvF7LUqiIYtOwZZ5FIgiUvb4TPhBRJvf9v2xKy6GVXW5lIZLXm71ixrHIc3KJSO9SqbFBU
bFtDpbJqT/WEHoxkLATMREP3YQiJqtCUvoQu5Nzq2R/NGAvKyJDPZs/+8E0aKGk0eafpShzRKHPz
lXSd+8SO81la8fJ/6dJedQlipFXXgcPjTl+OvHSeBPTt3I5+XUWkSjqCKJFYi9S5KlO6NHroYoqw
Ih2w9aM335wwApSA+R+8Nm76hABkiSgv5QIhPd7dNGPM8DFzEEeT8NNX8oR3KXhM/vLshVVDfLtP
QHxzPOxGdkrkpjgyfFIPW/02UXW1S3VzMSGFUKtAcIaEYHtvX1uJSII+4PjWcULSMliBnbXgZ0XC
RRA3vIzeABaJ83DIlN47kUAvV/wMgGTqGEDuFxWGHz5OAhwoRkhirw+3rBnW8m714ozvAcfy7tPl
6SZen/+LyTn7cWAHRmTbeoW8KiONRpkffLf3j03/d+KHD3qtPXn/ntJ/5NiQvcf/+O4DcmBpr7XH
VLlp4Bn5wXd//bFp5IkfXu71baogfHHToh8I+W7zm/b0NDHqMrg0BYUFtFOeiUzBro8qCSX6/ScS
UaA8ph84+8uMIW6Mh0En5EtyshAxk8mLv1z/6fTwPV+M23oxN1PVI2D4/C83rV88mRz/btzWC8WF
9OYkYPLi79d/GhC+Z8643zIE4Wv7vt5DyOL/vCz0nbtx18FFFErhZifqRjp9wLVuyVBM5XY2e9fT
rswTR4AjwBF4ZAjUFDGjUncHRwdLGwcHBxsbpz6vjMWS8KFzt1SqXBStD8/UqORylSozIWzfvnnu
6sQir5dPaTSZKXEnfluxYd6EtccTEUgT0kL3lQYaH1dNksqBdVWW8pQqgUcZgbIJIbJAEs5ojmaU
RSqNqhABIhgQvajwR1hYlNJSH1sTojFpExKyMmROF2mZvrJcTUEEFMhN2nbqTcJXvfPJoYB+HR1N
aPwBEfr7tkdL/JJu0rrfgrlzJ/s5CAEwERWLioqF8FKFfaksJxKV0O85W5oIP7yLZJYeOKNKcGzT
2lZMLRB3GzEXIfPP6zd8S8j00T1NKVFPopK1TrV3ccfSkJaqVhUlE7IgTs66gDzmxL4jS8aUK0cw
bNcGfEuOAHfaS3JTjvy2r39beltCSDZhwTViNULsiFm77r7kvlCCgzr+24VLT96zqF5cy1nj3zLn
VcgRYmtvQ1+koUvQwvLmPfxxGzNi3IQhA18eNwPkM1ekvcd9t3rVlCE9B04YNxaUmDjbHv74+8K4
CX0HvhxMmY4n5Wk08ms/vHeA+IeM7kAXk/MuHvj3STIiZMvGdRu3fDuWXFl6IErPjRiE9TiPkVBm
bdtC8HopDyil/OadewYgGB4xqt9Tw0eMBzUy3qTLiE8++vClfn5PjRrxPCi3kmw698RfMHV/avgo
ynT+HjYKFSXuXn6c9FgwxM0cauXX/lkXTgIWrPh04acrPn6exH37Txzu0eqYoNsgTOV2NnfXw8M8
cQQ4AhyBR4fAAyLmbES8ZUniiLyJxNL72amEvPXdzni5mGRFrhrZd/Toc+p7f/Xt4b3+aLylk3uv
XvSSbmaC34DtsRL5y+6IrLzU7e/1OF6mSsgJYdO9awk0wKx1wjsQqkkaGhATjbaUxsIaelYhQ3IE
BkoDq4lzF3xY9YqDx1N9Oluc3vDhriuZRlr58n/BXF0cQRHKV7Vo1ykAGUJ6dS5dPhVJ7V1wHkdc
O3XraJ7166pV8XnFNP4tVVUxJyIi27ZdEH+tWnPg0rULv/+4Lo54POVpLUTM+arSyq29/RH8HN/9
X0LGDO7iWJ1JguraHmrv4vIa3Z4Ows8MX+2OUIvFKRd+8R4w+stwXczLGJ36L/Eli778OxaLnXkn
Ns145uXRtwr13B1BzDfgZRL11tr9sQpFeujqN95adlRi61ZL8fJWlc+Xd58uX+p23XlJCet7SoFi
0aodIQe37Tx29uAubBPxGeB3bU2nTp5tVv958X87t+HHiBFDnrK1aYVatm3befHiwd2U6VkXs5Lc
Gyd+xKLvpP5mgh4zJw/0qoOnD56NPfvXMcj5eDhZlauzNAs9NXkQXaJcYgNRLVAsHJ3QC/4IvRB9
4q/tuCl7yvv25hEjhg3aHHbtUugf6BwB/bratqCD9eAfodeunfibMj3d1lwkTw7fja7zYk8aL4tE
5q1ccV92/NKJ6MToM+cg5+HaCj2ubolibgimcjubveupi3niCHAEOAKPDAE9EYy2Lgl+d0d8rD3F
z+XOfQPJhm/2Jr7xf6vi9qV5jPbY8BYt9Z0VlvluaxvFoSWHhz/jMY8JBK/fNsDJVPzivgUBoyf0
WAau4FmBZG2ZNuQs3V4LJpNf9jMNy/y/PtU9cVdBAidYw6tMYucaY3NWLHAwNhP8EfiFjLEDGKwY
Dbz5Go3xgHd3roh7dd6LfanZPm///fazel/ky4IIVk/Fo0hKo2CR2NS5/yBy/Ngg3/bWxTcohYgc
X/vvd2nvTZv5CmIR4jnhk7H+7bL3YN1ZjlBIIqbbAcxM6Coi0yASOU3Zv/bWqFkfT0FUTMigD1a/
9pSIxEAAP9KDjRJJu8CFz2//7L+eU57zNGUUgVzPQ91cDA9hYZklm+7vRm675zehx9oJlBCwYN/m
SV6IjEuLhT+D5x9YnzxyuDcN3ZBCjiSMchHnRZniZwdGYUd3E4mD//wT65MHjPZeJJBWHIrrg/Vq
feLlBWvOM79X5BFoVrRLaPuQxoR2GnP25J/b6IU75kSOmzLyC9CenrN+ai8fRejkf4YtepGuK5NX
Vywd18nYtNP5HXN6jZviLzBtXD/BTqPBqzZQ7ufdulSxXf8v1kweNnvRMzup3NvfhAwEk7ZKStIm
rVu156V/BbIljqVeRxeQ0h8szOguKBFp9+yMtVOuz1o4DWE66TllydguHZQ/jjn/eshMoec8/8H7
ozzFUs/da6e8OGvheIFp2ZLR2IaRq6Z9xsuzZali254LFo55/bOQ12gPJRM+WdQHTDRb+yRoMgBT
uZ1PrOtr35k5J0eAI8ARqAkBkf4reU0iujJFamomkcgcHcoe3MtLT03LlYutbF0cyiLgrPR0tdjU
wQZBUNWkzstTyyxr9dm/xYsXv/vOO2LdJo+qyupLUWRn5KvFLexbVHcDERUVhc8N1kt9cW5WbrGx
1MaKhjy1SMqs9FwiltrYWOlhLi6M2PPF65/+/u/fTr/kWa1CfJ6wY8eOesTrTNLj4vI61HlZWQqs
MuO5OMTB+lNWeqpcJbHE7p7qwNXKKfKy8hRqU5sKnLUX16ohD9lPsjPu4kOU9mWdQZ2dgQcAxa3s
ywJ9dBiQLOztLapvlDo/O5v2qhYtqundmzZtGjRokM7sumZys9KVRGprY2VcKkl7mpIYO5TrOUqB
ZG5rY6ZlqlpLcWFubkGxMR7ulVbPVFWsLhRDMZXbWRev1oq3MSF1cnLCBsJamcWZOAIcAY5A3RGo
/oL/YF2mmKEqcVk6OFlWmbKwD7oSW7lTseUDI6ly3Mg+RIhfUVG5M6m1HV3yrV41VqiERapyMrXN
iq1t6YOAtU6mto7VRp8xW/u9vgbLih8O7WBex7XAWtdfgVGPi8uXI1TWPq9Xnlwhb+PgVHbzVKGk
8omppY3whGQFeu3FK4jV5MxKjJVPre1aWoNW1hmMre3sQCkjEIIOU4mpsha8y8vc2o4uYFcQrMRW
305F1Vjbli7ea3Xq6Wmm1rbVdiadmLm1rWCnltDwfw3FVG5ng/veUCBt8IZzhRwBjkDzQ+BhIubH
g0aJpqTxKxYC5kaJUWtsm8uIfVv7qNu0x/7mGvl4Ib6Q8zj6SV2Bf5iIua51cX6OAEeAI8AR4Ahw
BOqNgOFFzBrhSb56N7jegk0huLFwbN+l0sJivdvT3AUfVz+pE65NoVPVyWDOzBHgCHAEOAIcgScT
AQOMmPU+QvUovZeVlYW3fvDg5lFi3MC6SzQag1iF552qgR3P1XEEOAIcAY4AR+DRIGBIEbNYLM7O
ybGwoN8lezRo6Nd6+fJlPEhnKMEN7DQRvpOsvzFPALVly5bpaWl4Bghvp2iyXouIiICFTda8J6Cb
8CY2KwRwUXjC571m5U7eGI5Ak0TAkCLmp59++sqVKwqFoqioqFu3bo/6sWjUkpCQEBcXh7cIYI25
SbqvslEsArOt27OGlZUY+nm/fv3OnT+P7pGRkeHn5+fs7NykWgSrLl68eP/+/d69ezfyvV+TwoEb
wxFoEAR0t53m5o/4CdYGMZcr4QhwBAwWgYd5u9xjaDS+1409Evn5+Qhny7+74BGZglVtzMI4PiL9
Da4WFw+swVd9h0mDV9TEFWZmZiIwLSgowP1VI/STuqIhlUrhprpKcX6OAEdALwJYXca6hp2dnd5S
TuQIcAQ4Ag2CgIFFzA3SZq6EI8AR4AhwBDgCHAGOAEeAI1B7BBp1Q3DtzeKcHAGOAEeAI8AR4Ahw
BDgCHIEmggCPmJuII7gZHAGOAEeAI8AR4AhwBDgCTRQBHjE3UcdwszgCHAGOAEeAI8AR4AhwBJoI
AjxibiKO4GZwBDgCHAGOAEeAI8AR4Ag0UQR4xNxEHcPN4ghwBDgCHAGOAEeAI8ARaCII8Ii5iTiC
m8ER4AhwBDgCHAGOAEeAI9BEEeARcxN1DDeLI8AR4AhwBDgCHAGOAEegiSAgPn36dBMxhZvBEeAI
cAQ4AhwBjgBHgCPAEWiCCNCv2fn6+jZBy7hJDYJAVFRU4/i30SpqEFgelxKOUr2R59Bx6OqNQHMS
5AOheXiT+9Hg/AiX0Yi5CX5G2OCgbMoGN5p/G62ipoz2A23jKD0QouoYOHTVIfNAOofugRAZEAP3
pgE5qwZTuR9rAKdpFvF9zE3TL9wqjgBHgCPAEeAIcAQ4AhyBpoIAX2NuKp54dHY02o1so1X06LBq
BM0cpXqDzKHj0NUbgeYkyAdC8/Am96PB+ZFHzAbnsjob3GjDstEqqjMETUmAo1Rvb3DoOHT1RqA5
CfKB0Dy8yf1ocH7kuzIMzmXcYI4AR4AjwBHgCHAEOAIcgUZFgK4xl2hKGrVOXlnjItAQ/lUrFGqx
qSntLtWnhqioeu3NpYSjVG9Pcug4dPVGoDkJ8oHQPLzJ/WhwfhR2ZZRoDM5ubnDtEdBU8G/+jrdc
3/mNLDsaN9WvBZTkX/3JdcBcQqadv/uZWzUR8dWfJg+Y+9/nlx3dPLX91fDoXGLXuYenRRULKlZU
pZgTBAQ4SvXuCBw6Dl29EWhOgnwgNA9vcj8anB/5rgyDc9nDGqws0KshKVOhl06JElu//v2f92tn
SdS35w8dMWLo3Jvqapl5AUeAI8AR4AhwBDgCHIFmhoCwxqzha8zNzK0VmlPx8QKNiVAIIqPrfC/W
aG4e2bDyt9t9hnTL+HvL/qvEteeQOfOn+9mLjc0t3d3tperU7Yu/O0XFT/3fh9+t+Wyqm2kNFVUo
4ic6BBjsulOeqT0CHLraY1WJk0NXCRCDPuXeNGj36YznftRBYSgZHjEbiqfqb2fFYakhLEYGVbhT
0pbSU/nt/+3adWjXLuI9fDi5eui/V0/9N93u5s9jQd+8+VB/9yFPR/+X2XHqfLqcSlSwqvJ5hUJ+
UooAR6neXYFDx6GrNwLNSZAPhObhTe5Hg/Mj35VhcC5rGINNSOU9yyqq2Bz/vadt/ufnnw//8zkl
5CqF/ReUbiV2mvPbPy9R6vB/jizwrrjATMk8cQQ4AhwBjgBHgCPAEWiOCPA15ubo1Yptqngjq1Lk
0OKMHKwR0zgYmzEE9raWYo1ayL78fA+ISN16ITjeZaUxxoluWVpeJDCTAkhXefRPy8dY+FE/Ahwl
/bjUgsqhqwVI+lk4dPpxMUwq96Zh+q2y1dyPlRFp8uc8Ym7yLnpoAysOS/P2T/cjp0/vPxz5Tv9B
cH9aYgqtoZ9HKxNNkrBjw8JMSkU0Kl2crN3JQTRitqfDTCawVDKtYkWVCvlpKQIcpXp3BQ4dh67e
CDQnQT4Qmoc3uR8Nzo88YjY4l9XZ4IrD0tjZ04eQ0zEbxr0if7e/Tcrn636HRu/+bjQGFmJkJdaa
acQsnFAiEq2U/i0iwps2fv/x22Fzpo1oSbtPWSrlKyPwnB4EOEp6QKkdiUNXO5z0cHHo9IBisCTu
TYN1XQXDuR8rwGEIJxVDHkOwWGdjzM6Zg2fRaK9S+uZkQpCHtBJR76k6JzkyNkXS0svX1VovQ7Mk
uo5YcvT7FoPf/Pz0lnWnhRaO+ff2/8x4WtcV2Ms0KrRdgNPBTkYs2o59t1/outNbPl099rURLats
zKgg9bAnyoOLpq++0mHD9vml/syJ2fjFyu3fh5J+w8ZP/XDSUG/YnHBs44/H0mUyVplcbjXowxmD
YNe9iD1ffPblltOk35hnZ899+2lX02MbVx9LJ6WMAructJ/6wauWCce+Wbv5wtVc4uIz+Z0ZI7q3
fFjDH5P8/bMbXw489M7Rn4O8Sx1TBQT0c2UFHORy5+em/uvpNqQKtsUJx1b/eIxokUWb5HIy6PX3
B7mSqINbvtt06A4hrX1Gz3hvvLedru88ppY/dLUcuoeG8OEV8PH+8Bg2EQ3clU3EEfUxg0+GNaAm
OnXqlJubWw0cTbYoZufiZzb8r5+NzenTQuDn3a+fDck6nTXpyL6J2oihZuPVcVvaDZjnveTIkTe8
K3Mqc+4pzFtaG3wocOvWLb3+VeffT86Qi8Vqiax1S7ta3WDoIFIqlchLpRWkqqtIJ1WHjPJ+XFJa
UvgvE2Z/T8iwg9d/7I4IUJ3wn3b91mE5fNgwEhoaQ8ibP5375Lk2Z795KehTFvkLNfRbcX3XRBKz
s8Mzs3E+bFi/0FCU9tsT89P1KR3mlWNk3PuOTx0dMAl5dJ8YoSOtOHK9Sv9R37tX0LJlA9xWNSRK
QgPY4X5yXGpK1JqgGaGELDkc84YvNTVfDwi7epvGvOP2TPkbzWFLDv84ybIqth+0Du0wdFG5Smj2
3wdjnrvx7wGzoQCAYXcP9cPp25+4Vhwoyvv3VHYNfD/Foavki9qfPiLoam/AAzib73h/QMPrVdyk
vcldWWufNkE/PgnXkVr7Rw8jXEYvdAb604DXKx+nvALz83+d0nF2KPnPV5smeglLazlxm5eH7Ps7
JrtFix79J7zzdlAbKclPOPv9+g1/bA0l3n17DBn+6uRgH3nYsmU/QT7m0OerTaa+PbF3hQCwKO5t
768/iPiud6WdBxAwtKTXv8bmti70wT+a9DKwIr1HExMTvVJ11aNTrkw+vmjx761GjOlw59DU3WTP
sg5BQWWxGp5NxLaQ5CM7EC73nfvrrtn9lQmn9p28KTEDPe/ahdPEe+HZ0LfbQB2L2zSKPV/TcHlN
6LVXfC2i/txz6V6+JlccvOPmy8UgG0tJ8poX+q+KIXO3rfEqPgZS34Whu972Tdgzr//MrXuPXgv2
6g5iuZR/YHyn9A9PffScazliPbP1Rqlcffl/rll6ILvDsKfI7qk7hh75Oe+ZAWV4UbiwjUb5px4Q
FBqjQuyrGfaf0B8m+uItKAywpD//UxVb886v3bwZjEqBV+QPc0cu2u39xoaJ3aT//HIVxP8cCZ3o
RX6d4jI79PvoO/NdMMbKpWu/jB+WOOPqiqAGuMkop5ZDVw6MumUbArq61VgD9xM13mvAod5FTceb
3JX1diIEH7cfn9DryMO4rPm8Xa5IRaMhoo5b3GngR1/uznbxdiFhW1fN7D1hS4464fP+L67aGtp/
4ZIXvLO3frlo5IRf80lRMl2pJCQ7MTouVXi3Gj0rTRJJaxL6Yvexf8Tla0n876NCQJWVtDV096qZ
E6Z+tpXEZMg6Tbl5M/Fm5O5h5SrMv0efUAyL3j9vyksTlv6S17JXUH8EydkZibjp+az3sCHOLkOm
LN5C3aW8dWY3ldywYemUIS+tPZLQtm9Qb4R0YiyLI4kjti5FuNx34e7ZAW1MLVri94Wwo7v+OP7H
Lwe3QuqV5zpQ4QrJ2NKFfDm5/7xfoyqQH9/Jveituzcumjp1USiJURJrxLaJiRFLyuNVDQj5yVew
Dh360bAhFLCX1uyJwO8F1WBbildx3D6Ey4S8s/H/XrAg0o59+qPd+3bs+POPn3+FLvKOT6sK4TJI
EktvsnVmpyk/JCMqb2KJQ/fYHcLH+2N3QUMZwF3ZUEg+Fj18Mqwr7DRixo2OISfYT1vNmpB/4/RG
nHi98+WK5V+s2TkU+bCPTsZnZFIWrxZ27Ye9+fHyT1b/+HFPqcuz3x5fDerQf3258eNA8yoQUAkS
NnVgx43/S6pSaDAEtKFxbH2YivCKOwo2GfrVofD4hG87m2tMTIxNzGVmlAj30hbk5AnPHIZujTez
CgvdvWjyM69vjtTk3zso3PX07d59qFdM6MaPBo5ec1dTlE4FSczuC2btskK3rpowsOPBJBXDQXXr
4EjEmeSNz998ChTjFq3agTVs49QJU7+k8V9fJwvhGUjGXXqkRiBtnT3spTWH8ysU1e0ESuomoJ+b
mAj2TFi++0p8QnBHc2PgZWxuUW4g4CFNvSAoMoRXoxCv7t1fJDFhq2aOfGtzjH5sS6u++800umC/
/O+ZLsKLBlu0a4vTsI0fTZ66KAy5vk4tBHpFS1GAwHxR76GLwzMUFYvqeQZ99ZSsIMahqwDHYzl5
csb7o4C3gQZCw5jGXVlvHJuAH5/EybDe/oIgXEYj5hIDT0KcgKspbUbi5XNoEYn9ckiXjj59Xj1M
T0hiXqvnZiJ4jl31fjB2ZMxfvOFUfLZRSYm8SEGLlUX6AGAxEi2/FH9PH4Nh0GB/4xj6cBUJPhz6
3FAfB4kRPMNSqQsEx5YYS6gvJqw7unPt91H7Pkb+8P6zWbLOv50PCwu7uHP58u9/29UX1Nio5CzW
I/puufjn2u//3DGHkneHXhWUFh3ZtAanU36Y0k6oJ/znJegkfWd+ez4mateyCQgFX/10v1xrge4v
0wjBsFNxuTpq3TPQUHchPRIMrwkv9bSU6OAqYUaygVBSpB8ES7/XAdj5qP8uX772/I45sOfw/v/J
9WIrVJt+5vdVsbiX+SKwg4wSiq6vHLUYUgu2nIy5+CeFNmz+j2fSK5uoGz2x/0u4V1i5tF7nHLp6
wUaFGgq6ehtQRZD13+Y/3qs0vAEITcyb3JX19GlT8CNz3hN1HamntwQxuKz57MpAY5Bae3Shf4K+
OH/jxo2Y8//dtWvHjn2jWhbZ9w9e98UP+/btWDZngheJ/WHBF1eFJUvKbMI2c9Js1TTz26Mhwd2q
0jml4REo/b6gfsUyE7ribGNjiaOpjG6kRlImnvrp522HrwrLqWKSxajmDj28aE4mONbOzgp5e1vh
E4X3Izb+QAPAUf2cBd6CuHC6Tjro2YEtza279xG2L9/NFG6khPJKh6AvLu6c3rIS8TGe1rDnoRoQ
Yv/a9/O2XbHZdAuThTUFEwNAL7ZCkfLktmXIzAweULrpXZmXQQuGBvR3MbfzGjoUN6LkdMRtStOT
hu4IOxDo1bCbmfVUUx8Sh64+qDWoDB/vDQrn41TGXfk40X/ouvlkWGsIaUzBVptrLdLUGLXmC6vt
Vm19+hByZs+cZW7KXuT8gtV7COmzJ/Sll8bNxa6M+esX+3l7tqAtsBTjp2QV/YLd4c3rt7Z5Z8JA
9woNUxXh1/73d5x+r5+ztoIK5QZ00mj217si7WIyoTsndMhqNMJNjaYIRA1xD3iBkD1fTXzHctWo
xF0LwPXc0K42xne++OorQr5KX7ZKGr0LsTDpM9DNzNH0jaBlc/e89OYny0aZbl6ARWTSu2sbaClI
u04DZMrDajLr9mwQObxn2ej3FB/3uBu6HIWke/vSQnrCkiYPu6WnrL+66Hm6e0dLrd/fh1aAapkO
HFmm1EgtjIzqOFAfCMbnTn/11Z9f/X1z2Rtdjs/9GJLj//V0ly6OVbG1ghrlzWMYQOS5gV0cS2sy
a9vdixyOPbxoztqXuig3fkyxHTnQs7wdoGiK7uC2dW/E2m52DTm9VKoFFdU9MR04sgxToM2XUjl0
dce1LhLajvpEjPe6AFNbXm1/rS3/o+PjrnwYbB+3H1n9wqxXdlXTGiWQCWmGk+HDuKw5RMys/RLm
YNteXx8MmT/ivT2rF9BrPXnum9DPu3mZ71l1NWjuj8vfGseYZ4S872OiUbfyCUKkELtnwb+8Xkho
X2EpzNhm0Z5T/bo5absPkzPIY6M1od4VaTTCmrGVCd0Qq8NYYyysa5qzd2UYOw059fP8/q8tXz73
DFi8xq9aPqmrMeka+s37w95e/fUC3BEhFJ5x8LvxCPWsXvr0m1t33v76hwWUl8z4JvT5dibQnXef
rpA+N9SbhoO0hLQfOfeziDsLt/+5+uM/cdpn/GdfzB5QwQzKpenw7vYrz/erEknTsrombc11lSvP
z2xne+919FLkSgcCIR31gSBuufiziNyF2/csmEvHR9D8nxcOb2dM2lXFltqpYQ/EmsvKELEd+/XG
2Gfe2LNn9RlhgM0IOTi+Y2VgxG1e2hP+Ulfbhmirrn3aG4VyhHpkOXT1AK2BRZ6o8d7A2AnqGnhc
PYSJ3JUPAV5DribUy4wndDKsF1alQvR9zM7O7Bfqh9HT1GTxQthsNRG3KP+qYbxiOZv+3m5h19K8
bCOGWqksJsbGUnEZqak15mHsSUlJqZN/AZwa+NS9yrpWVPcaqIS64P69fLVYbNHSrpyN8GwGqKYt
W1b4lkbOvZR8NTFFJyjnb731Uq20oKJavawPR2wclMrbqBeEgpz7+QoBGmupjlk/trriChk6vqDA
wr5lOQUVOBr8hENXb0gbH7p6m1pJUH+fNJzxXqk5DXJqoN7krqzkfcPyY7O5jlTyQp1O4TIaMTs5
OdVJjDMbEAKpqal18m/0d8NGJr51adnoCivutWhwXSuqhcpmyMJRqrdTOXQcunoj0JwE+UBoHt7k
fjQ4P8Jlwq6M0ofsDc5+bnCtENDUxb9ic2+yY1bXjMyTX01yruOye50qqpXpzZGJo1Rvr3LoOHT1
RqA5CfKB0Dy8yf1ocH6kMVGJhr5+iKfmikCd/FtChL1Nfy3xH3V715YPutqW/Wr/QHzqVNEDtTVX
Bo5SvT3LoePQ1RuB5iTIB0Lz8Cb3o8H5sbm9Xc7gHNB0Db4WlpRe7WvWmq7Z3DKOAEeAI8AR4Ahw
BDgCDY2AsCuj3PsJGlo/1/f4EajTg9XavvDs5uNr+jrTr9/VvgF1Yq692mbGyVGqt0M5dBy6eiPQ
nAT5QGge3uR+NDg/8ojZ4FxWZ4PrNiyL7hIy6tczq7ra1vndN3WrqM7taCYCHKV6O5JDx6GrNwLN
SZAPhObhTe5Hg/NjHZ/tMrj2cYPriIDYOejXMy8iXOaJI8AR4AhwBDgCHAGOAEeAIcDXmJt/T6jT
jazbYHzUpU4SZQDWU6xMwROR4yjV280cOg5dvRFoToJ8IDQPb3I/GpwfecRscC6rs8GNNiwbraI6
Q9CUBDhK9fYGh45DV28EmpMgHwjNw5vcjwbnR/6uDINzGTeYI8AR4AhwBDgCHAGOAEegURHga8yN
CvdjqazRbmQbraLHAmNDVcpRqjeSHDoOXb0RaE6CfCA0D29yPxqcH2nEXFLCv2BicI6rg8GN5t9G
q6gOjW96rBylevuEQ8ehqzcCzUmQD4Tm4U3uR4PzI9+VYXAu4wZzBDgCHAGOAEeAI8AR4Ag0KgJ8
V0ajwv1YKmu0n34araLHAmNDVcpRqjeSHDoOXb0RaE6CfCA0D29yPxqcH0WnTp0yOKO5wRwBjgBH
gCPAEeAIcAQ4AhyBRkNAxO9yGg1rXhFHgCPAEeAIcAQ4AhwBjoAhIsD3MRui17jNHAGOAEeAI8AR
4AhwBDgCjYcAj5gbD2teE0eAI8AR4AhwBDgCHAGOgCEiwCNmQ/Qat5kjwBHgCHAEOAIcAY4AR6Dx
EOARc+NhzWviCHAEOAIcAY4AR4AjwBEwRAR4xGyIXuM2cwQ4AhwBjgBHgCPAEeAINB4CPGJuPKx5
TRwBjgBHgCPQXBHIKUxJzE0pqPETugWKtMT8NGVFCAoKU1IKcyrQiguUNeqpwMxPGggBdbFSqf1X
s0qlMq2qr7kfawbt0ZSq7+cnphQWPFC5Unk/pcrQo2M2/766vHCNQ49+wYQnjsATi0D89olvJM8+
9mH3JxaB2jSco1QblPTycOj0wlIboiFBV5Ky9dK8UAWRib2n+c3raar/wnoh9t21mZkyQuRG/p/1
muZiTGGIv/354uTLyDjbz13RoSsyKanfzUs4SYhsrM/aEdbmlMnwU9P3prrw5KRL3+mQHuP9XZCN
fvATb3+5MPmsrZhkqtvP7bGkq5QKcT/qoGvETMHhyGlb8mmF7R3nLvLoqn/gEfXJq+9/l51J+Yz8
Vzw1zZmuFRccjZz1Yz6xJfJMk5Ff93zVuhZDj68xUwx5emIRUGUk3zeVPLHNr2XDOUq1BKoqG4eu
Kia1pBgQdBdi54UWDQ7pt/X7pxZWFy6j1a3t/vVZr63f9/t6cMnJ0ExhUbkk/ufky8O8f9ja/fWU
jK+vFFNsbqZdmdh961bvvvuSb9QSq6bP1vS9KTaSDXOav7Xf1q295juT9n7V3qvknEw+C5ete2rr
TOubXydeoeBzPz6WLlh4dku+7fzeW7d2n3Yz7cdrwvDRZ0jB1Wz5NIwpYegdvC8MPdWNHVT2+3X9
QnoXHTiQRVepHzj0eMSsD15OexIQyIpYOXvaW+8dj9q4aNq0hSdTK/wy8yQAUKs2cpRqBZM+Jg6d
PlRqRTMs6Eri92eTMZ5DxYqcmicRZ4eeLrg9L8lXEdJCLCyHaRTZxNvfWkpMew8zkl/Pp/s1LE1l
R28e3JN6zVaSF5+bVrPOWuH5eJkMxZumPYNdfQDV/ftHU8yeda8xOJIIpWKRTGbE/fjYuleBPIGQ
pzzwW42pkzPJvFVQabuTzjDz4B5r/U1xqsbQK7dCJmVr0iZa4gOHXjVr2LqKeIYj0FwRsHQbM21m
m8INx8nombP92zjysaDP0xwlfajUisahqxVM+pgMCjq1IvUmVqeufXxM+Hk3pOerdvraxGjKnD1T
rvxOiPcK4Rd/ZX50ppGLvRB+4UKeVaQgRNrV891bVz7+PV9OxCcuWDi5WDlWr88QSgzKm4Qow5LP
+rv8q3pkrf3beC+8MuVvIyIvkc3v3RGc3I/Vw/UIS8xb9HcmS9clePmXHEshJE1Jh4+++sTmQmyc
mBByknT5zA77LxAje79kenPp2WC6S4oM+04Yjw8cejXeRumrmdM4As0EAbGNu5dv/4HBAd36+Hq5
2/CAWa9fOUp6YakNkUNXG5T08hgWdCWF2HM8swf9ede/6MAh4eddvc0CUWodtLXP12PNYtbdjMep
scSBlBQJq8h0AsICGFLincNXBZKM5KqMqtkTLXAaxsGwvKm8uK+o/RAWVOnHN+fk3Zje7f5vbY8V
Y0zlO5O4H/XD1BhU445L/Oa2LgiPU9MFZFdz/fvOmSXXEj5fmKqc2+MDFxb2KmP+UNi+7hOyym9W
exJ6LIeuTz9w6FUbMaeGzh608kyDtTl1v5/fuqwGU1dRkTrx29lLz6Q/qh+v8lLjIyIioqLi8ypW
2whnisSjCxf+ZLD7BdTpifGJqZVhy0vPwp2gLqkV2lTOgVqSohxNJ1Exo6iNvooi7EyRuH/79lPk
mVdNI3btCo3PenBV+rQ0AC0rFTBV6L7qvPT4+MS8ChbpA1Odlxgfn1qRr6pB+hDWR6sqCUqTQUmf
dfowIaRSh8AvcVX6YVnzFQ/sYobfwfRBR6r0ujJMdP2ujKQoP2QVQoetPK6rqaVi96Q9NrHC+Ncr
1qR7XWWLxWYe7Yk8RwXYiouwdMV+pqfrjkffPR0cfOlg6WP8JTnqxs7iAAAe90lEQVRX0q/l4A0Y
RmKJ9j0YYlP39uToyVw1UcWcKpH1sKKrXy5tXp/u2MHbacX3PV4OvXmw4ks0KtfOzqt4UyArslLT
K7spK7WiR4ga3kx9sEuqdhgMrGbozcQ7/5VX3JJR2Y8k/46adGjhbi5xdjOV3aE/C5BH50dcC+jl
ofz4wxSXmpiYWiGeqsMVEz9lwOXlry+G7EepRddgn2mdSTIRj+ltVrruVcVlypNX31yamje3+xI3
xYUrhcLmjeLMTNLS3drO2sLTlZBsNZ32Hjj0qouYU78evvbVUXRPD7xz9NvZfiLRoInTJk5cGqtI
37Vy4cKFs9eFJiIiXzd7tpCnt1mpZ7ZPHOQn8guaPXva0l2xgmzp4ejno+3eHmRD1BHbV85euC5K
8HXqyZ8gHUoDUUXo0oWhFQPDvPjQ2UHQNmjatImVtJXXTPPq3MNrF126K69Mr3BeuYpEtAqmL90e
FYvKkb6Nr9gpddJpF35funSOn1/QpcqTj47loTLq1DMrKYwLly6lhsyevfRootYU+e1ly/bd1V3B
HqqeRhbO2zVb4ujq4epsNfHbM6wFivhd6EhWjrYbIrRQqmNnyLTp2W8ZNS/qWy1J9uy6iOrtVocu
HSSSWTm++JNWHYn69mWd7De6WqpXQUws7C1IURHdWfg4Ut7+2X62ziPfcHWUBH3LpkBF7C6JlaOH
h6uVZKL2PlAPmEQRO1ti5erh4Wwl+fZMerXG60PY0FDS2zg9mOjpYEQPW2roYl0nkckmR2lHW5Vq
mkEHq9ImStDT66p2CXVqqKQcTD9FCYNMEbtQJBM6rFXQtzWMTVqNOnGXrbPz+kjtpR2ytMe62sp0
HZuyVZse89is1q7KBUbuM9sP3hI5Kfj0+2fNxg7DpmSWSlT04fwS3dSS/7/4pTPOBAefnrZF7T+1
rTvlMnKB7C/Rk4LPr2rp9FFPrai1/SByd17w2bX+7YZZM23VHvV4U+BV73/P1tlxvW5uBLGyR+jo
6O7s6uFsK1tXwxyir8Ng/mmO3iw4mXrT39mvAtiV/ej8YrvegruDV2W7zmhHd2U8Ij+mn1yJa4Fr
kKujbNB+bVQQu2u2lbOrq7Nt0LrSNc1aXzFpD1g3UWTr7Br0xrJLbJHIoP1YHP85HVDBq/J9V/QI
KlthruSywnObsxEf3lwVMWXGlbUX5cKMb9b7det7C3FPe3rGUdMxw+1KpR8w9DT6UuaJJcR3fa5Q
FPdbMCFTwxLSwrfNIiQgLDd335IA9JD1YWkaTea+BcjSfNqJFcgs2BeZEnMoAHwh4WWKM0/4koBw
OSWkhK0HW/C2OMiu8EU24ATUaFSgrogUOJiYKm4q2DaFpaWEo1bfFWXaVPLcXLmKcdV8BGc5vspV
ZEb+BjtnrT+SIlRByJIUrTpaRW45Yyhdvj4g8ARDRMumEfh0Z9qMqrJ5cjmzt5wxWl7hb254CPGd
tWlbSCDsCdm0wJesCMuswFHhRCVoU+VWaBy1uAJX9SewD4WwvXwLS89U1dlYvbrqSlL2wbnU6WmH
SjPglKclpMSgo6wI1zYwNyzQdwXtAjBJOOKQG74iYMkJ4UxH05ZV/EvVHUFfDdE1PnxF4BKhS2ka
sC0VK23Is9wwXxIoDI00jKSQSLRDdWgWGkQ7/BFkWM/XB2YK5aODNO0IFdUhUNk8fQgbGEqVmySc
68NETwfTx5YWtm2b0ANzI0NI4LbyA6FSVQbfwSq1h53q6XUaPV0i7UTINmHizQ0PJMExwljE2ESv
o4ilHSkb13pr0ci3BdMpPkQ72OO2BTPZQ1O1HVu/oEFSVUXZGYr8yqYXKypNYQqFHjbIZhcpKsvW
8lyfNyEqj9kG8ElA6XVcUFbZI6o48ASEqzBJ4zJb0xxSZZrSNFdvqtT6HFHFjxp1foY8u5JzG9yP
uXFhYXF0ag9bgggljDpRFYOALATBUhqusL4srKr9FRORHcYeu+AKXcLQ/ajKlmdkKGrnMtbgikeF
3mFbkaf8md415qwtAxat2PCqJR1wJCc1OXDTh31cHLqPX75t1mBzieWoD74IIL4+HR0IsenpP4vM
OjS9j80/G+YFrA//bJSvk9ewbYcWtDHBYwylKeL7GWTF8u50nwlxbOeE49bvz2alnz0URUjga11t
UnetW7wTxK8+X7du5brtJ2n8L08PI8EfT+rj4NR9eeSmkW3MqDBJxe2RRGZlJZMELd3Pbp0VsdtF
SH6z2QoImOJ3LRSJghYunAhOiWhaBBY41HqqsPEdERQQ/Pr0wU5O3WduCvANCaSWkaxdS4NoFVYy
0cR1sWW35/IiWlqWonYtFUyxEokm0mVydfxCP1HQ7IUT/SQwb9pPbPUlL3TlRBHWaSTUxm+oKSxl
hX5Ll7dLV9WLcnxfnjhp/NuDAgJff3fSxOAApbAqEbt9Gm3ZtO3Mitjts3EmQq2SoGlBEisryVK6
zE8qW6Kto/JfLEliyd5PBPsGTaPgyPyWJqqJIj50oggLtTJq4rMbdSZWFq/jed7dWEKCOsHpDq6B
5HhsinBXZ+rg4uRsRS+j5dOd2KiIk2eiym0uML2fnBQVceZMVErNy+tQ5+pgTdCRyqXkpFhBFPeU
BpEs2FABVHhiF13/+hESPKgTci5dAqOibgI4vWDeB9/IrhikNi6ehFyp8Yn6qggTQ0Opsiv1YkKq
dDC9bA59xo/vbgONl37ZOHVagDAzVdbPzptFB9PbtEq9jvJU7hIO/u+Op+8pTz//+96pE7x0G/3t
BMDExJe0KJvlq1SSF7FugtmiE+unKrRTZ05GcvBHz0K4/8yQqLBYYUaoImawBLHE2k5atshV2g6j
0ofxdc2SSvWwQdZaol1e1rHWIVPVm1kbXvnPtvAjUwnbJE11VfWIPCeDBM/wExOHgIkB5HyNs23l
KpqrN8XG+hxRxY/E2NzO1Fo3JpivGtyPlu59+rhjjlcUKnwDHITepS5MJlNf8DYlDoNCfKMiE9gw
qt0VUx27YRHZ9NOr4vSyPYgG7kextamdnbR2LtM3oKR6h60+zlJa+fCZ5eWRWPBdorsLSTlCF48D
gmctWbGe3e6ADatfAesjsRqIsvV0YSwNGWGFrIo+eTjC6yO6JcXwkIBZ61cEB04NDlyybdvUwJBM
VWZk2D66ohyyLyzsxInwBOG+LWVFAK121oIl63/TrbjKww/tOxIWHhm2zZf4ald8VSp5whLf8gvA
aVi9DlwfptLIceccuC1Go7+K3PWBxDd4KhKqYoviYSEByCVg+VaVtg02zTqibU9myP+3d+7BTV3p
AT+AbOyAAUNsgt3GZm0errmGUJKYMKQKTLswWYjy6mZAmcE7rTL0QRymDYl38U6VkI1oBhAtcWBa
xKwxCVUeONuMks0YvGJAJBtnqbRBDJW7SroijQDZXJtcGSmo3zlXV77SPbJlx87a1nf+sK6OzvP3
ncd3z/nOsWqNOeSyQow2P1Q84qbhGmB9OugCBkZXEIoDL39sSUZ0wgtdW0CKSQG72dTipS+L1Ekd
TGmMV0HyOZpaYdFdhCxcUizQZmtlr5WwSioFHKDLK/ACFkFo8QWdZkGwuAJOs97s4pZEzkT7F2IS
oz0UpEv+zoDfwqB1WAVibqNrwW67qcE+wHqbNsGBfCQ3XTJvcbbZYPVCvWouQob9a8xSB93CMFsa
IDSp98nrWLQF6s1WC/NrHbhIdJlQtTribjISvcliaaDJ2YHqGHcS3cKBVkL/xNd4vDaod4Ozo60e
fGXp82BKXhv83OJ02Wg42PxJU1Me4fFGiVc1HhMWLqWBpWuHdLXGMAA3Jc9x3sCUaiR9clpd+iYh
tRhgeUsZhNjun9Jg+7f+kpKnXwKw9QPDis9qsMjrYDHRpoeOT5upjFRJURMVPYZGgCNN2HcSGmCb
zmvQW5XxUyuRmLvJIG9nwZQEM1/aMSSmzQKlOTQhZRBaC5lFktygYYBrDdDZUfI2waTABnuxSdmO
FjObMSMB2O8FJ+jhj6GJ6XgoxwwkowpCVM/yIx0f6x0JC4WYGAyGQgG3y9lqgwV90sTUPskHs7XZ
57MrunUQfmNmFX6zXhDo/G+CfQNwdPrv1zvphrvB6g7AthwxeIMdRr2sDkoge7rRkHARkebqczvb
Ws2gP7Cd02CHDRRlqrpbwHLBoOreVNdUFGhIAr7qZR3dbdWDcslS1WTBgtm9AcjH0SDvEoJaDLqH
waCnDj4M9XZFD0nSmEHth2YHAQQBgkG4BnhroDsjdJCiCrGeCKx4YquFKUTAQ9A3OfupSkGf158y
ZSRlwcoMSYHRQkJjptWEOcptgUkoEoG6mV3cksTjaj5oCS3uWKyDDaOSDE30trK9UygivKDYWK/U
xByWh+R3WRvMVitVXuXezpJh/VzZqFUlLILmm2qOQl8tZJKqgMmPKQpN4kcJto9JAl3Ce4w9hFww
UbV6gyG/ExpKi1fuAqLLbm2wWBv0oPU75I0/Lky/y94A4cwQrsE/eM04hMcHpTRV4zKB7k8nElUD
SxMsRm3P9AOZZMjZju8GxkXHb3XxoKlNItQmKCYZECIE6wKC2R0U/dS+zhRvsJpcYKiBXm9paqo3
wOu5yeGHhh1xmASzkw56kpf29ZThT5MGemRGgCNN2gWIydJkgZdpwWRxAH2eRKhBF1OsQSRuZc7i
ZcrJAqXJA/Vt/DiQE8mxhTmmBUWomZncd6hK0/8qK4cdcMaM+EFhk5cvqcIWNwLEXpnAnMHDZBjX
1C76+dubT9TXrytRPHuaioufOx0Raldv3PJ3QFmEi3TguuiKh6z6xsrKx032TWCcAVvverOwo/HQ
5+GynafcvzoAy591At2769xbd8L+j/fTILK7Sbqv3yhZdyAYsi/Ou9l7TT6pHoGNu6+6e6j9hOf0
ac+VHndT8WxzpEJYvWZj/Q4zOXEV7BQ636vzNBxo3rtzm3HtHNJNjybHHTvIzY46Mo9o+Fp8uzAS
vuaJ32mdmgXkFSaz5paWFBaWFM8UPH1QhIIlywi57yn7KeoOv/Kzuu8vyo9nAYEhRjzLO+j/Mt2w
z37K7T5lP/zKjrq1d0A4SEDe343cvCbHCv/3KY/gYwbH7u2zth46qyTW+c9/WVlVbk4+ckSziKSc
3Jeg3gkvGoAdzCV98a22CL8k8WxSP6JQQjD4gEpcC8dPo0SJ/9yphbvZWqzo/qN9dWcH3JlLTXHA
73lltdt27byHXCB62wMlif0rVoobivASp7l7/J+B0U4R5c38aIAe/0UPWTorLoPwuz9+ACxHjqls
ZSBMNAJU+k/yJ06C06iG2xXxDVjQP+CPUrCdLKxeXFRYtgTmuKtfy2IpqH1s2666uy60k6YfrZLB
cWGW1T62a1dd7sl2Q9MTZfFaaCjxCI8zSmkExGUCLYI280QDg07Jb4fhtj2N9TvUJhkadCzf8d3A
uOh4rS5dk+h02Dwqkwwp+CVZWlVVVFBWXS2QS2w2gDxS0eXPf9TZ1rZiYfm86cSw/uF7S2Fk1C34
s6WNexzQsS/88h3BvLKQWzb0HCoBjjTz//yQs+2HK8q/N4+QpQ9uvBfo8yRCCkoWeF46BMf2ey6c
aidGuv9PXao0CScLlKbMauT+ciCTzk/PddJrTHQ5ufGMdMXVRrLD0RklPeePewT9ItqNMpwxdaVL
jMQTgotZQNEAI8AcMKpCOQ5RgsladQT2iA30WF7CiXSLGBxbNxaMTYk1SLowC4eWlDVY2NW3N+hZ
UPqnHmwhYjE/Tc4uL5LRFCPeehbCaINfg2bQEcB8gVp3xOCQCfsF/tC1WLr1wJycrbw6K3rBGIM5
vdGohwdYxhZtRtkr/hcsH3x2lgm8kDEbefihxQfv2KlZeG1sr0NocLlgvRyckdZF8jFTAOYB686t
UDYRzquoHAsWEx2qcEZLa0ipmg0KIJfJZJfoiRnq2Kq7wM5KUgyxiI8V0ZhYVRfdchloYLDeoGEk
d1K2pP69Q6zAphYnsxdxulogcJP7cmpJaGSek2T4gs0JNjWQi5NyMthO0wOH4ChpwWRLWOPwkhiK
H2QnS8topQtMzKmrCcc/KW/5eAorgcHiAB9wXlrBuLM4Eq1RamUp2qgVkOySpM/84WiLEpMYHLJx
ixKa+ymFgn4/2M0M4iTY8PBRax2Vi7CoyStlcIIyKYwqOP9RbE30GmMcvpcesaXO2qYsHPNgAjo9
C2a0UqMaxaVS4hEeMiUxGPANRglsiBJOxWBEKCmVU3/ymGgbGLQwbTukybDFGNXGFPUajQZG0w0F
g8lNhxZA5dKgi4UCfp8/qIIJaQ21gamy6X/Utrp0TYLuSyStY0les9zsYAxpkrfvIF0tOppZfChW
9hvBVIPZ2kGrrU8Mff2F0jxl2DcjIqdxjho6TSn/8B5aabIywZTERmCTDWaxuNNIRGpTxNlvNMiR
JjeLoUmTKyalXP2fvJGWNvtgSDXIQfCR6Qj9+Y6BJw7khHRAL7IrVp2yoSz0oriqMIQZE2w+LRCR
OlOLMnWNihzFYOrY1T8/qEe08SbHFKsMydlil+2IEw0oIoZESRJh0E9psokQqgcIHILgChG/0+5M
qEuqYPxHSlSJCabHQZptMBjs94No9HqK5J7DTyuNb1IWacLQzgiZDJ6LfKVGosS85CA/MIlmTYX3
80j5ZVCS9FmxuzdYEQesSvoE0vwCEsyozYBMQ6FgKFmlgBpx1Qwpgxsw5MaaQWUiDrOejh3gBHNK
s1dXymeHl0Oi18MfY9yeMwKm8/CVOr2ZbnqC8ztgDwacoJp71MmkfaYFDiVeAygPCi6pAjyYEYkB
Tgon55FKiUc4Y0oxJ1NzaHUFM3v35FbETxkpziBP0iNKSZMrj4kmEAwZadoh65ua8KnoNAHAI3N0
LLafvv/FbcN4ycV46GIiU9/jFofy3DbsBsbNNaXVpasXYNJGZw02teFlgo6KI5TBRAImHGZ9vDUN
2DdFrz3eEeN2mVDYUUQXufHr1/5r/2uf7d8Pf71vX5R4h/TjvMLOz/Y7byRRCve07fbCAZuRd1pp
Zp4HTNraSVUrTV4WGUozxhMTp4CckTbRElSXfnz7jjCO5AhToXYepYpWsswynzEhrnq6YWIYYTl6
5VVL6MBG2Voa+r23fxlMEeWQ5DhGRJaiMXMaMXohgQlKIASHkxx0UT0E791JC2lJFQ7BMptsZA/X
uMUPyohwerKBRmWHO2WTeodJbwcvtwX2LZISGOdf/C4nW6wfmFKgxUprD0Sa9MTmZWpWNlFKJ2R5
w8Sgvm0zNSgXnfbawdhEbWCpPOj3DPumZIfT21ZYQw3Avox8rDDGu21txNCFf7v7zObNZ158+3dv
vOiCh9e+Ukofifb2Jt0QF3njzOZ/DyWp1JHu5s1nmpO8WHRNXCXRGJjpjYaCnUj/u3ngiYmTM2+k
hc1hzRWiIyBNlCOH/6BeGcrRD53RSrfsA7CMkuiV2mtkhybHsSGyhHVp/H0eP5BA1hAoqA+dKaBm
YNG+NP+NPoFCviwxJ0+YIz8V3P0rkRliRuMG4RByVsWsg68d6w27KubWXOy8XFnRb7udSGc8PpTV
rqbFjopAqWhauhGjZNO2x2iwrl+/2l7//mJm0Z9NlGjdta7n3NbNt7tcVsuHN7U/Kj48dPS31Pu8
JmoDUzioPzPsm5HLneS5fVVgjvkjOFjjDpDli1kqo4ZuavUjxbMvkSceLq94+I8rjB8dvBx5qjjn
+gcXXmruDtCs89b9k2CsmBL8wHf8DFwV+fmR3Cs5JLfm8fIVvddOHvvfj8HvyCWSEyU1dz6+Yjrc
iqWJmxM8+sn296NVT9659KT/DUh0Q9XBHxZOU9MZb8/pxMSpR+pIC2NOWUmBmHSF6Ah0BJQjh/2g
XpnJsefLNqI/8icFYDxfbSCO/wmS5fAMjl5yevFGzpIVQiGbRoYmx7EhsnTz36DsMAASGO8EdAWF
tCd3HtveCBfbraC6M88VPmg3VVblvyoQjwdujJc3gfNY1PCb29aS+lZ6KzIhtdv2PfT8hrp9HqIv
/v7CctCYeamNS7/wxSP5VXVg++YX5LEvbS0utv4LMe9Qap5dlLRQTr78/H3Od2uLWrqn5mp/TfFJ
QlewrNF4tCb/KLQ2D1w7yLBP4AaWggI04Iz6Zth/yqPfOTc+i3UGu2k6o4wuSvKl4KGD0e8Fuk8T
3YYFOeT8pZ3NvfdY7t5VOuX6f7qf/qm38uiSqvLC6rlXP+q7bcGSwhnRyfOmgC49tax6+tyPviYL
CpfM+CZalAN+vLg1tcble8jH25u/mPH8sgNFkf+L3Ma7blaDbOx6cMXEKS53pKXh+pclWKwR6Qgo
R44EBvbKUI4Fy7br2//0hWOutTdfPkHmrLxCSAXJyZ3u2Xf0xLzbP91x/wm4RnZvhW7IM+ZYEBlq
zAO3Efx1ghPwHHumZnOvK9QMHTiN63rvwCH4Z5bPPTDjrb8p3/v2xeZN8jrWlWPPFG/+fVOoeSNb
UCWdvzzuukrTEEjwZm5+2vTSZDOWvfMWb4lFHjr2t7Prjzzzzha5+tzyXrHXndjufV31WxZRUtWa
PYbPrX2p3TSzZfeXH7TvO7675siz65QbTVKDwvdkdF3nDxyFawf/Y3X+xW3l9//iomnT4rwJ3MA4
POBVYdC+mTejnJAbErukKJd4rrNkRhvdLYlMf/AHd94Vnbf06Gf/evzKfbnd8M+wPft/8zEUJH/y
7NLc6zcmz1xUtKqy83CkaNWywri+q5tesWpO2eGrOauKlikq8PXfauMSMm3yNDK5tP6uv6/OgRrN
5MIZT55cMXEqkG6kTQ06Mh0B5ZjKdbDvmcoxb4vDP33/z52XZsI/gi+vmUfTzVveHIuxDLbOnTTj
rU8an60tHLIcx4DIJtK0Ppi88XckkEQg/P4L96xvXOoKvr7oq9OfSncvL6Gqb/jzd9eXP9RuahEP
bmILquLv2smqI1UFBbrFC4U9V9mFWtHOF3IqG+Gw0Yd/9dXpk+Lda8rySMXGZ18kX5L1vzj4yBeT
8n/+ZGxnulXrpFKM8S/Rrk8/+f18uo+my1XuEuNRotWIdn4Iq/UB2SSDfc8WSrT2Gqdb1OFs646Q
0CdniGHlxntL5RCaBka9U9Gxq6b+Da4dJDpYZmbXDuZNzAamwcY8MuybpasM7Xscnas3zT71arv5
AEzQYPVAb2wcPXTRW1J+7tzS24rJLQK6wLVvdKth2Jjyg13Vq2E2vS6e7+jNZwoxNdjqutkLvwW7
zn9B5q8onBOF4t3qpl6R4PkrX8y/Y1klPy77P4m3IPjEmKB5YspwpGWtgd3wSOBCNHmHa0Q6AsqR
oR3SnwzlCPpx2WPP7rxybv8OuE5Nz5YJ4AK8Hl1JUQFcGQvXyK5k18gOVY5jQWQTo0MOSeoYGAkw
Apfbn230wOLQyuKj8N3aEZI1ZrjPtx2+f50wPC17qrWhqpyu9oBZgitYAx+Xncca4ePE1uKcrXBb
hkukGjO4wpWPkLXlkzYTc6tvIqjLtE7ie6Yaygmc3ux9dDF7AhUvhRL1dr/1MjEfUkwysopSnErS
h65w+eo10c43l6+lDeyceetiZsqTCTpS8kBrw97KSZNognDtYNwQcEI2sCRm8S+Z9k2d4UDbgdJK
6HHEZBdXs/8NMJro+rre+VkIlpJfMZ6lJZ09/YmfFs+bU7Trwm9+vOXsQVb4/DV3/sMa+jRt/fx1
T3c+/RFcd0xmb6j4yQrwKvyLdbnbnz57mnrd9uhP7lhRW50a9/7ek3/tPgx5nOzYAsHGvxEzVIIn
JvBOHUM4Iy1cFX3kyRl1tAOR4kk74ArRLcxC6VuOtChHCnTILkM59rz5zMbH97XDyNXmf305mxnD
fkdpFfRS6uAa2UcrmO9QZswxIrJJcDxSrgb+RQJIIE4gGo7q8pLeJsM9V3qihUXyiYWs4xTu6uoh
uiJZ4UvUXktJ65MIjA9qAlpQWh9YhOvp6olqsKvTycJnLagoYCKFyY3zu0fXF7kRnaybNkUxuJBF
c6uvLzZl6pSksaTvm74pU6aqvfhxJ5hweWKCfyM21kZavixQjonWmIEcw10wW+pSp8touKsHphHo
qeq2n0h3+A/fpchQYx6+nDAmEkACSAAJIAEkgASQQDYQmJwNlcQ6IgEkgASQABJAAkgACSCBYRNA
jXnY6DAiEkACSAAJIAEkgASQQFYQQI05K8SMlUQCSAAJIAEkgASQABIYNgHUmIeNDiMiASSABJAA
EkACSAAJZAUB1JizQsxYSSSABJAAEkACSAAJIIFhE0CNedjoMCISQAJIAAkgASSABJBAVhBAjTkr
xIyVRAJIAAkgASSABJAAEhg2AdSYh40OIyIBJIAEkAASQAJIAAlkBQHUmLNCzFhJJIAEkAASQAJI
AAkggWETQI152OgwIhJAAkgACSABJIAEkEBWEECNOSvEjJVEAkgACSABJIAEkAASGDYB1JiHjQ4j
IgEkgASQABJAAkgACWQFAdSYs0LMWEkkgASQABJAAkgACSCBYRNAjXnY6DAiEkACSAAJIAEkgASQ
QFYQQI05K8SMlUQCSAAJIAEkgASQABIYNgHUmIeNDiMiASSABJAAEkACSAAJZAWB/wf88q76AJH/
dwAAAABJRU5ErkJggg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>227457</attachid>
            <date>2014-03-21 10:57:01 -0700</date>
            <delta_ts>2014-03-21 10:57:01 -0700</delta_ts>
            <desc>filters (css3/svg) and fast tests results in Vanilla (trunk of today)</desc>
            <filename>tests_vanilla.txt</filename>
            <type>text/plain</type>
            <size>5503</size>
            <attacher name="Adenilson Cavalcanti Silva">savagobr</attacher>
            
              <data encoding="base64">dGltZSAuL1Rvb2xzL1NjcmlwdHMvcnVuLXdlYmtpdC10ZXN0cyAtLXJlbGVhc2UgY3NzMy9maWx0
ZXJzClVzaW5nIHBvcnQgJ21hYy1tYXZlcmlja3MnClRlc3QgY29uZmlndXJhdGlvbjogPG1hdmVy
aWNrcywgeDg2XzY0LCByZWxlYXNlPgpQbGFjaW5nIHRlc3QgcmVzdWx0cyBpbiAvVXNlcnMvYS5j
YXZhbGNhbnRpL2FwcHMvd2Via2l0L1dlYmtpdC9XZWJLaXRCdWlsZC9SZWxlYXNlL2xheW91dC10
ZXN0LXJlc3VsdHMKQmFzZWxpbmUgc2VhcmNoIHBhdGg6IG1hYy13azEgLT4gbWFjIC0+IGdlbmVy
aWMKVXNpbmcgUmVsZWFzZSBidWlsZApQaXhlbCB0ZXN0cyBkaXNhYmxlZApSZWd1bGFyIHRpbWVv
dXQ6IDM1MDAwLCBzbG93IHRlc3QgdGltZW91dDogMTc1MDAwCkNvbW1hbmQgbGluZTogL1VzZXJz
L2EuY2F2YWxjYW50aS9hcHBzL3dlYmtpdC9XZWJraXQvV2ViS2l0QnVpbGQvUmVsZWFzZS9EdW1w
UmVuZGVyVHJlZSAtCgpGb3VuZCA5OCB0ZXN0czsgcnVubmluZyA5Niwgc2tpcHBpbmcgMi4KUnVu
bmluZyAxIER1bXBSZW5kZXJUcmVlLiAgICAgICAKCkFsbCA5NiB0ZXN0cyByYW4gYXMgZXhwZWN0
ZWQuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAKCgpyZWFsCTBtNS4wNTdzCnVzZXIJMG01LjMyOHMKc3lzCTBtMC44ODhzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09CmEuY2F2YWxjYW50aSB+L3dlYmtpdCAkIHRpbWUgLi9Ub29s
cy9TY3JpcHRzL3J1bi13ZWJraXQtdGVzdHMgLS1yZWxlYXNlIHN2Zy9maWx0ZXJzClVzaW5nIHBv
cnQgJ21hYy1tYXZlcmlja3MnClRlc3QgY29uZmlndXJhdGlvbjogPG1hdmVyaWNrcywgeDg2XzY0
LCByZWxlYXNlPgpQbGFjaW5nIHRlc3QgcmVzdWx0cyBpbiAvVXNlcnMvYS5jYXZhbGNhbnRpL2Fw
cHMvd2Via2l0L1dlYmtpdC9XZWJLaXRCdWlsZC9SZWxlYXNlL2xheW91dC10ZXN0LXJlc3VsdHMK
QmFzZWxpbmUgc2VhcmNoIHBhdGg6IG1hYy13azEgLT4gbWFjIC0+IGdlbmVyaWMKVXNpbmcgUmVs
ZWFzZSBidWlsZApQaXhlbCB0ZXN0cyBkaXNhYmxlZApSZWd1bGFyIHRpbWVvdXQ6IDM1MDAwLCBz
bG93IHRlc3QgdGltZW91dDogMTc1MDAwCkNvbW1hbmQgbGluZTogL1VzZXJzL2EuY2F2YWxjYW50
aS9hcHBzL3dlYmtpdC9XZWJraXQvV2ViS2l0QnVpbGQvUmVsZWFzZS9EdW1wUmVuZGVyVHJlZSAt
CgpGb3VuZCAxMDkgdGVzdHM7IHJ1bm5pbmcgMTA5LCBza2lwcGluZyAwLgpSdW5uaW5nIDEgRHVt
cFJlbmRlclRyZWUuICAgICAgIAoKWzcvMTA5XSBzdmcvZmlsdGVycy9jb2xvci1zcGFjZS1jb252
ZXJzaW9uLnN2ZyBmYWlsZWQgdW5leHBlY3RlZGx5IChyZWZlcmVuY2UgbWlzbWF0Y2gpCls4My8x
MDldIHN2Zy9maWx0ZXJzL2ZpbHRlci1jeWNsZS5odG1sIGZhaWxlZCB1bmV4cGVjdGVkbHkgKHJl
ZmVyZW5jZSBtaXNtYXRjaCkgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKUmV0cnlpbmcgMiB1bmV4cGVjdGVkIGZh
aWx1cmUocykgLi4uCgpSdW5uaW5nIDEgRHVtcFJlbmRlclRyZWUuCgpbMS8yXSBzdmcvZmlsdGVy
cy9jb2xvci1zcGFjZS1jb252ZXJzaW9uLnN2ZyBmYWlsZWQgdW5leHBlY3RlZGx5IChyZWZlcmVu
Y2UgbWlzbWF0Y2gpClsyLzJdIHN2Zy9maWx0ZXJzL2ZpbHRlci1jeWNsZS5odG1sIGZhaWxlZCB1
bmV4cGVjdGVkbHkgKHJlZmVyZW5jZSBtaXNtYXRjaCkKCjEwNyB0ZXN0cyByYW4gYXMgZXhwZWN0
ZWQsIDIgZGlkbid0OgoKClJlZ3Jlc3Npb25zOiBVbmV4cGVjdGVkIGltYWdlLW9ubHkgZmFpbHVy
ZXMgKDIpCiAgc3ZnL2ZpbHRlcnMvY29sb3Itc3BhY2UtY29udmVyc2lvbi5zdmcgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KICBzdmcvZmlsdGVycy9maWx0ZXItY3ljbGUuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQoKCnJlYWwJMG02LjI0OXMKdXNlcgkwbTUuMjQ1cwpzeXMJMG0xLjE4OXMKCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09CmEuY2F2YWxjYW50aSB+L3dlYmtpdCAkIHRpbWUgLi9Ub29s
cy9TY3JpcHRzL3J1bi13ZWJraXQtdGVzdHMgLS1yZWxlYXNlIGZhc3QKVXNpbmcgcG9ydCAnbWFj
LW1hdmVyaWNrcycKVGVzdCBjb25maWd1cmF0aW9uOiA8bWF2ZXJpY2tzLCB4ODZfNjQsIHJlbGVh
c2U+ClBsYWNpbmcgdGVzdCByZXN1bHRzIGluIC9Vc2Vycy9hLmNhdmFsY2FudGkvYXBwcy93ZWJr
aXQvV2Via2l0L1dlYktpdEJ1aWxkL1JlbGVhc2UvbGF5b3V0LXRlc3QtcmVzdWx0cwpCYXNlbGlu
ZSBzZWFyY2ggcGF0aDogbWFjLXdrMSAtPiBtYWMgLT4gZ2VuZXJpYwpVc2luZyBSZWxlYXNlIGJ1
aWxkClBpeGVsIHRlc3RzIGRpc2FibGVkClJlZ3VsYXIgdGltZW91dDogMzUwMDAsIHNsb3cgdGVz
dCB0aW1lb3V0OiAxNzUwMDAKQ29tbWFuZCBsaW5lOiAvVXNlcnMvYS5jYXZhbGNhbnRpL2FwcHMv
d2Via2l0L1dlYmtpdC9XZWJLaXRCdWlsZC9SZWxlYXNlL0R1bXBSZW5kZXJUcmVlIC0KCkZvdW5k
IDEwMzYyIHRlc3RzOyBydW5uaW5nIDk0MjgsIHNraXBwaW5nIDkzNC4KUnVubmluZyA4IER1bXBS
ZW5kZXJUcmVlcyBpbiBwYXJhbGxlbC4KCiAgZmFzdC9iYWNrZ3JvdW5kcy9ncmFkaWVudC1iYWNr
Z3JvdW5kLXNoYWRvdy5odG1sIC0+IHJlZiB0ZXN0IGhhc2hlcyBkaWRuJ3QgbWF0Y2ggYnV0IGRp
ZmYgcGFzc2VkClsxMzg4Lzk0MjhdIGZhc3QvY3NzL2NvbXB1dGVkLWltYWdlLXdpZHRoLXdpdGgt
cGVyY2VudC1oZWlnaHQuaHRtbCBmYWlsZWQgdW5leHBlY3RlZGx5IChyZWZlcmVuY2UgbWlzbWF0
Y2gpICAgICAgCiAgZmFzdC9ncmFkaWVudHMvY3NzMy1jb2xvci1zdG9wLWludmFsaWQuaHRtbCAt
PiByZWYgdGVzdCBoYXNoZXMgZGlkbid0IG1hdGNoIGJ1dCBkaWZmIHBhc3NlZCAgICAgICAgICAg
ICAgICAgIApbNDU1NS85NDI4XSBmYXN0L2hpZHBpL2ltYWdlLXNyY3NldC1yZWxhdGl2ZS1zdmct
Y2FudmFzLmh0bWwgcGFzc2VkIHVuZXhwZWN0ZWRseSAgICAgICAKICBmYXN0L2ltYWdlcy9wZGYt
YXMtaW1hZ2UtY3JvcC1ib3guaHRtbCAtPiByZWYgdGVzdCBoYXNoZXMgZGlkbid0IG1hdGNoIGJ1
dCBkaWZmIHBhc3NlZCAgICAgICAgICAgICAgIApbNTA5My85NDI4XSBmYXN0L2ltYWdlcy9wZGYt
YXMtaW1hZ2Utd2l0aC1hbm5vdGF0aW9ucy5odG1sIGZhaWxlZCB1bmV4cGVjdGVkbHkgKHJlZmVy
ZW5jZSBtaXNtYXRjaCkKWzczOTIvOTQyOF0gZmFzdC9zY3JvbGxpbmcvc2Nyb2xsLXNlbGVjdC1s
aXN0Lmh0bWwgcGFzc2VkIHVuZXhwZWN0ZWRseSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIApbNzc3MS85NDI4XSBmYXN0L3N1Yi1waXhlbC9maWxlLXVwbG9hZC1jb250cm9s
LWF0LWZyYWN0aW9uYWwtb2Zmc2V0Lmh0bWwgcGFzc2VkIHVuZXhwZWN0ZWRseSAgICAgICAgICAg
IApbODIwNS85NDI4XSBmYXN0L2NhbnZhcy93ZWJnbC93ZWJnbC1jb21wcmVzc2VkLXRleHR1cmUt
c2l6ZS1saW1pdC5odG1sIGZhaWxlZCB1bmV4cGVjdGVkbHkgKHRlc3QgdGltZWQgb3V0KQpbOTEz
Ni85NDI4XSBwbGF0Zm9ybS9tYWMvZmFzdC9sb2FkZXIvZmlsZS11cmwtbWltZXR5cGVzLTMuaHRt
bCBmYWlsZWQgdW5leHBlY3RlZGx5ICh0ZXh0IGRpZmYpICAgICAgICAKWzkyMDUvOTQyOF0gcGxh
dGZvcm0vbWFjL2Zhc3QvdGV4dC92ZXJ0aWNhbC1uby1zaWRld2F5cy5odG1sIGZhaWxlZCB1bmV4
cGVjdGVkbHkgKHRleHQgZGlmZikgICAgICAgICAgICAKWzkyMzgvOTQyOF0gcGxhdGZvcm0vbWFj
L2Zhc3QvbG9hZGVyL25vbi1odG1sLWxvYWQtZXZlbnQuaHRtbCBmYWlsZWQgdW5leHBlY3RlZGx5
ICh0ZXh0IGRpZmYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIApSZXRyeWluZyA2
IHVuZXhwZWN0ZWQgZmFpbHVyZShzKSAuLi4KClJ1bm5pbmcgMSBEdW1wUmVuZGVyVHJlZS4KClsx
LzZdIGZhc3QvY2FudmFzL3dlYmdsL3dlYmdsLWNvbXByZXNzZWQtdGV4dHVyZS1zaXplLWxpbWl0
Lmh0bWwgZmFpbGVkIHVuZXhwZWN0ZWRseSAodGVzdCB0aW1lZCBvdXQpClsyLzZdIGZhc3QvY3Nz
L2NvbXB1dGVkLWltYWdlLXdpZHRoLXdpdGgtcGVyY2VudC1oZWlnaHQuaHRtbCBmYWlsZWQgdW5l
eHBlY3RlZGx5IChyZWZlcmVuY2UgbWlzbWF0Y2gpClszLzZdIGZhc3QvaW1hZ2VzL3BkZi1hcy1p
bWFnZS13aXRoLWFubm90YXRpb25zLmh0bWwgZmFpbGVkIHVuZXhwZWN0ZWRseSAocmVmZXJlbmNl
IG1pc21hdGNoKQpbNC82XSBwbGF0Zm9ybS9tYWMvZmFzdC9sb2FkZXIvZmlsZS11cmwtbWltZXR5
cGVzLTMuaHRtbCBmYWlsZWQgdW5leHBlY3RlZGx5ICh0ZXh0IGRpZmYpCls1LzZdIHBsYXRmb3Jt
L21hYy9mYXN0L2xvYWRlci9ub24taHRtbC1sb2FkLWV2ZW50Lmh0bWwgZmFpbGVkIHVuZXhwZWN0
ZWRseSAodGV4dCBkaWZmKQpbNi82XSBwbGF0Zm9ybS9tYWMvZmFzdC90ZXh0L3ZlcnRpY2FsLW5v
LXNpZGV3YXlzLmh0bWwgZmFpbGVkIHVuZXhwZWN0ZWRseSAodGV4dCBkaWZmLCBpbWFnZSBkaWZm
KQoKOTQxOSB0ZXN0cyByYW4gYXMgZXhwZWN0ZWQsIDkgZGlkbid0OgoKCkV4cGVjdGVkIHRvIGZh
aWwsIGJ1dCBwYXNzZWQ6ICgzKQogIGZhc3QvaGlkcGkvaW1hZ2Utc3Jjc2V0LXJlbGF0aXZlLXN2
Zy1jYW52YXMuaHRtbAogIGZhc3Qvc2Nyb2xsaW5nL3Njcm9sbC1zZWxlY3QtbGlzdC5odG1sCiAg
ZmFzdC9zdWItcGl4ZWwvZmlsZS11cGxvYWQtY29udHJvbC1hdC1mcmFjdGlvbmFsLW9mZnNldC5o
dG1sCgoKUmVncmVzc2lvbnM6IFVuZXhwZWN0ZWQgdGV4dC1vbmx5IGZhaWx1cmVzICgzKQogIHBs
YXRmb3JtL21hYy9mYXN0L2xvYWRlci9maWxlLXVybC1taW1ldHlwZXMtMy5odG1sIFsgRmFpbHVy
ZSBdCiAgcGxhdGZvcm0vbWFjL2Zhc3QvbG9hZGVyL25vbi1odG1sLWxvYWQtZXZlbnQuaHRtbCBb
IEZhaWx1cmUgXQogIHBsYXRmb3JtL21hYy9mYXN0L3RleHQvdmVydGljYWwtbm8tc2lkZXdheXMu
aHRtbCBbIEZhaWx1cmUgXQoKUmVncmVzc2lvbnM6IFVuZXhwZWN0ZWQgaW1hZ2Utb25seSBmYWls
dXJlcyAoMikKICBmYXN0L2Nzcy9jb21wdXRlZC1pbWFnZS13aWR0aC13aXRoLXBlcmNlbnQtaGVp
Z2h0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KICBmYXN0L2ltYWdlcy9wZGYtYXMtaW1hZ2Ut
d2l0aC1hbm5vdGF0aW9ucy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCgpSZWdyZXNzaW9uczog
VW5leHBlY3RlZCB0aW1lb3V0cyAoMSkKICBmYXN0L2NhbnZhcy93ZWJnbC93ZWJnbC1jb21wcmVz
c2VkLXRleHR1cmUtc2l6ZS1saW1pdC5odG1sIFsgVGltZW91dCBdCgoKcmVhbAkzbTUzLjQyN3MK
dXNlcgkxMG0xMS4wMjZzCnN5cwkxbTEwLjQyNXMKCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>227459</attachid>
            <date>2014-03-21 10:58:00 -0700</date>
            <delta_ts>2014-03-21 10:58:00 -0700</delta_ts>
            <desc>Patched resultsfilters (css3/svg) and fast tests results</desc>
            <filename>tests_patched.txt</filename>
            <type>text/plain</type>
            <size>5896</size>
            <attacher name="Adenilson Cavalcanti Silva">savagobr</attacher>
            
              <data encoding="base64">YS5jYXZhbGNhbnRpIH4vYXBwcy93ZWJraXQvV2Via2l0ICQgdGltZSAuL1Rvb2xzL1NjcmlwdHMv
cnVuLXdlYmtpdC10ZXN0cyAtLXJlbGVhc2UgY3NzMy9maWx0ZXJzClVzaW5nIHBvcnQgJ21hYy1t
YXZlcmlja3MnClRlc3QgY29uZmlndXJhdGlvbjogPG1hdmVyaWNrcywgeDg2XzY0LCByZWxlYXNl
PgpQbGFjaW5nIHRlc3QgcmVzdWx0cyBpbiAvVXNlcnMvYS5jYXZhbGNhbnRpL2FwcHMvd2Via2l0
L1dlYmtpdC9XZWJLaXRCdWlsZC9SZWxlYXNlL2xheW91dC10ZXN0LXJlc3VsdHMKQmFzZWxpbmUg
c2VhcmNoIHBhdGg6IG1hYy13azEgLT4gbWFjIC0+IGdlbmVyaWMKVXNpbmcgUmVsZWFzZSBidWls
ZApQaXhlbCB0ZXN0cyBkaXNhYmxlZApSZWd1bGFyIHRpbWVvdXQ6IDM1MDAwLCBzbG93IHRlc3Qg
dGltZW91dDogMTc1MDAwCkNvbW1hbmQgbGluZTogL1VzZXJzL2EuY2F2YWxjYW50aS9hcHBzL3dl
YmtpdC9XZWJraXQvV2ViS2l0QnVpbGQvUmVsZWFzZS9EdW1wUmVuZGVyVHJlZSAtCgpGb3VuZCA5
OCB0ZXN0czsgcnVubmluZyA5Niwgc2tpcHBpbmcgMi4KUnVubmluZyAxIER1bXBSZW5kZXJUcmVl
LiAgICAgICAKCkFsbCA5NiB0ZXN0cyByYW4gYXMgZXhwZWN0ZWQuICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKCgpyZWFsCTBtNS4x
ODZzCnVzZXIJMG00LjgxOXMKc3lzCTBtMC45MzVzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
CmEuY2F2YWxjYW50aSB+L2FwcHMvd2Via2l0L1dlYmtpdCAkIHRpbWUgLi9Ub29scy9TY3JpcHRz
L3J1bi13ZWJraXQtdGVzdHMgLS1yZWxlYXNlIHN2Zy9maWx0ZXJzClVzaW5nIHBvcnQgJ21hYy1t
YXZlcmlja3MnClRlc3QgY29uZmlndXJhdGlvbjogPG1hdmVyaWNrcywgeDg2XzY0LCByZWxlYXNl
PgpQbGFjaW5nIHRlc3QgcmVzdWx0cyBpbiAvVXNlcnMvYS5jYXZhbGNhbnRpL2FwcHMvd2Via2l0
L1dlYmtpdC9XZWJLaXRCdWlsZC9SZWxlYXNlL2xheW91dC10ZXN0LXJlc3VsdHMKQmFzZWxpbmUg
c2VhcmNoIHBhdGg6IG1hYy13azEgLT4gbWFjIC0+IGdlbmVyaWMKVXNpbmcgUmVsZWFzZSBidWls
ZApQaXhlbCB0ZXN0cyBkaXNhYmxlZApSZWd1bGFyIHRpbWVvdXQ6IDM1MDAwLCBzbG93IHRlc3Qg
dGltZW91dDogMTc1MDAwCkNvbW1hbmQgbGluZTogL1VzZXJzL2EuY2F2YWxjYW50aS9hcHBzL3dl
YmtpdC9XZWJraXQvV2ViS2l0QnVpbGQvUmVsZWFzZS9EdW1wUmVuZGVyVHJlZSAtCgpGb3VuZCAx
MDkgdGVzdHM7IHJ1bm5pbmcgMTA5LCBza2lwcGluZyAwLgpSdW5uaW5nIDEgRHVtcFJlbmRlclRy
ZWUuICAgICAgIAoKWzcvMTA5XSBzdmcvZmlsdGVycy9jb2xvci1zcGFjZS1jb252ZXJzaW9uLnN2
ZyBmYWlsZWQgdW5leHBlY3RlZGx5IChyZWZlcmVuY2UgbWlzbWF0Y2gpCls4My8xMDldIHN2Zy9m
aWx0ZXJzL2ZpbHRlci1jeWNsZS5odG1sIGZhaWxlZCB1bmV4cGVjdGVkbHkgKHJlZmVyZW5jZSBt
aXNtYXRjaCkgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIApSZXRyeWluZyAyIHVuZXhwZWN0ZWQgZmFpbHVyZShz
KSAuLi4KClJ1bm5pbmcgMSBEdW1wUmVuZGVyVHJlZS4KClsxLzJdIHN2Zy9maWx0ZXJzL2NvbG9y
LXNwYWNlLWNvbnZlcnNpb24uc3ZnIGZhaWxlZCB1bmV4cGVjdGVkbHkgKHJlZmVyZW5jZSBtaXNt
YXRjaCkKWzIvMl0gc3ZnL2ZpbHRlcnMvZmlsdGVyLWN5Y2xlLmh0bWwgZmFpbGVkIHVuZXhwZWN0
ZWRseSAocmVmZXJlbmNlIG1pc21hdGNoKQoKMTA3IHRlc3RzIHJhbiBhcyBleHBlY3RlZCwgMiBk
aWRuJ3Q6CgoKUmVncmVzc2lvbnM6IFVuZXhwZWN0ZWQgaW1hZ2Utb25seSBmYWlsdXJlcyAoMikK
ICBzdmcvZmlsdGVycy9jb2xvci1zcGFjZS1jb252ZXJzaW9uLnN2ZyBbIEltYWdlT25seUZhaWx1
cmUgXQogIHN2Zy9maWx0ZXJzL2ZpbHRlci1jeWNsZS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
CgoKcmVhbAkwbTYuMzgxcwp1c2VyCTBtNS4yNDhzCnN5cwkwbTEuMjU5cwoKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KYS5jYXZhbGNhbnRpIH4vYXBwcy93ZWJraXQvV2Via2l0ICQgdGltZSAu
L1Rvb2xzL1NjcmlwdHMvcnVuLXdlYmtpdC10ZXN0cyAtLXJlbGVhc2UgZmFzdApVc2luZyBwb3J0
ICdtYWMtbWF2ZXJpY2tzJwpUZXN0IGNvbmZpZ3VyYXRpb246IDxtYXZlcmlja3MsIHg4Nl82NCwg
cmVsZWFzZT4KUGxhY2luZyB0ZXN0IHJlc3VsdHMgaW4gL1VzZXJzL2EuY2F2YWxjYW50aS9hcHBz
L3dlYmtpdC9XZWJraXQvV2ViS2l0QnVpbGQvUmVsZWFzZS9sYXlvdXQtdGVzdC1yZXN1bHRzCkJh
c2VsaW5lIHNlYXJjaCBwYXRoOiBtYWMtd2sxIC0+IG1hYyAtPiBnZW5lcmljClVzaW5nIFJlbGVh
c2UgYnVpbGQKUGl4ZWwgdGVzdHMgZGlzYWJsZWQKUmVndWxhciB0aW1lb3V0OiAzNTAwMCwgc2xv
dyB0ZXN0IHRpbWVvdXQ6IDE3NTAwMApDb21tYW5kIGxpbmU6IC9Vc2Vycy9hLmNhdmFsY2FudGkv
YXBwcy93ZWJraXQvV2Via2l0L1dlYktpdEJ1aWxkL1JlbGVhc2UvRHVtcFJlbmRlclRyZWUgLQoK
Rm91bmQgMTAzNjIgdGVzdHM7IHJ1bm5pbmcgOTQyOCwgc2tpcHBpbmcgOTM0LgpSdW5uaW5nIDgg
RHVtcFJlbmRlclRyZWVzIGluIHBhcmFsbGVsLgoKICBmYXN0L2JhY2tncm91bmRzL2dyYWRpZW50
LWJhY2tncm91bmQtc2hhZG93Lmh0bWwgLT4gcmVmIHRlc3QgaGFzaGVzIGRpZG4ndCBtYXRjaCBi
dXQgZGlmZiBwYXNzZWQKWzEzOTAvOTQyOF0gZmFzdC9jc3MvY29tcHV0ZWQtaW1hZ2Utd2lkdGgt
d2l0aC1wZXJjZW50LWhlaWdodC5odG1sIGZhaWxlZCB1bmV4cGVjdGVkbHkgKHJlZmVyZW5jZSBt
aXNtYXRjaCkgICAgICAgCiAgZmFzdC9ncmFkaWVudHMvY3NzMy1jb2xvci1zdG9wLWludmFsaWQu
aHRtbCAtPiByZWYgdGVzdCBoYXNoZXMgZGlkbid0IG1hdGNoIGJ1dCBkaWZmIHBhc3NlZCAgICAg
ICAgICAgICAgICAgICAgCls0NDIzLzk0MjhdIGZhc3QvaGlkcGkvaW1hZ2Utc3Jjc2V0LXBuZy1j
YW52YXMuaHRtbCBmYWlsZWQgdW5leHBlY3RlZGx5IChyZWZlcmVuY2UgbWlzbWF0Y2gpCls0NDgz
Lzk0MjhdIGZhc3QvaGlkcGkvaW1hZ2Utc3Jjc2V0LXJlbGF0aXZlLXN2Zy1jYW52YXMuaHRtbCBw
YXNzZWQgdW5leHBlY3RlZGx5ICAgICAgCiAgZmFzdC9pbWFnZXMvcGRmLWFzLWltYWdlLWNyb3At
Ym94Lmh0bWwgLT4gcmVmIHRlc3QgaGFzaGVzIGRpZG4ndCBtYXRjaCBidXQgZGlmZiBwYXNzZWQK
WzUxMDYvOTQyOF0gZmFzdC9pbWFnZXMvcGRmLWFzLWltYWdlLXdpdGgtYW5ub3RhdGlvbnMuaHRt
bCBmYWlsZWQgdW5leHBlY3RlZGx5IChyZWZlcmVuY2UgbWlzbWF0Y2gpCls3Mzk1Lzk0MjhdIGZh
c3Qvc2Nyb2xsaW5nL3Njcm9sbC1zZWxlY3QtbGlzdC5odG1sIHBhc3NlZCB1bmV4cGVjdGVkbHkg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCls3ODExLzk0
MjhdIGZhc3Qvc3ViLXBpeGVsL2ZpbGUtdXBsb2FkLWNvbnRyb2wtYXQtZnJhY3Rpb25hbC1vZmZz
ZXQuaHRtbCBwYXNzZWQgdW5leHBlY3RlZGx5ICAgICAKWzgxMDUvOTQyOF0gZmFzdC9jYW52YXMv
d2ViZ2wvd2ViZ2wtY29tcHJlc3NlZC10ZXh0dXJlLXNpemUtbGltaXQuaHRtbCBmYWlsZWQgdW5l
eHBlY3RlZGx5ICh0ZXN0IHRpbWVkIG91dCkgICAgIApbOTE3Ny85NDI4XSBwbGF0Zm9ybS9tYWMv
ZmFzdC9sb2FkZXIvZmlsZS11cmwtbWltZXR5cGVzLTMuaHRtbCBmYWlsZWQgdW5leHBlY3RlZGx5
ICh0ZXh0IGRpZmYpICAgICAgICAgICAgICAgICAgICAgICAgICAKWzkyODYvOTQyOF0gcGxhdGZv
cm0vbWFjL2Zhc3QvbG9hZGVyL25vbi1odG1sLWxvYWQtZXZlbnQuaHRtbCBmYWlsZWQgdW5leHBl
Y3RlZGx5ICh0ZXh0IGRpZmYpCls5MzAwLzk0MjhdIHBsYXRmb3JtL21hYy9mYXN0L3RleHQvdmVy
dGljYWwtbm8tc2lkZXdheXMuaHRtbCBmYWlsZWQgdW5leHBlY3RlZGx5ICh0ZXh0IGRpZmYpCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKUmV0cnlpbmcgNyB1bmV4cGVjdGVk
IGZhaWx1cmUocykgLi4uCgpSdW5uaW5nIDEgRHVtcFJlbmRlclRyZWUuCgpbMS83XSBmYXN0L2Nh
bnZhcy93ZWJnbC93ZWJnbC1jb21wcmVzc2VkLXRleHR1cmUtc2l6ZS1saW1pdC5odG1sIGZhaWxl
ZCB1bmV4cGVjdGVkbHkgKHRlc3QgdGltZWQgb3V0KQpbMi83XSBmYXN0L2Nzcy9jb21wdXRlZC1p
bWFnZS13aWR0aC13aXRoLXBlcmNlbnQtaGVpZ2h0Lmh0bWwgZmFpbGVkIHVuZXhwZWN0ZWRseSAo
cmVmZXJlbmNlIG1pc21hdGNoKQpbMy83XSBmYXN0L2hpZHBpL2ltYWdlLXNyY3NldC1wbmctY2Fu
dmFzLmh0bWwgZmFpbGVkIHVuZXhwZWN0ZWRseSAocmVmZXJlbmNlIG1pc21hdGNoKQpbNC83XSBm
YXN0L2ltYWdlcy9wZGYtYXMtaW1hZ2Utd2l0aC1hbm5vdGF0aW9ucy5odG1sIGZhaWxlZCB1bmV4
cGVjdGVkbHkgKHJlZmVyZW5jZSBtaXNtYXRjaCkKWzUvN10gcGxhdGZvcm0vbWFjL2Zhc3QvbG9h
ZGVyL2ZpbGUtdXJsLW1pbWV0eXBlcy0zLmh0bWwgZmFpbGVkIHVuZXhwZWN0ZWRseSAodGV4dCBk
aWZmKQpbNi83XSBwbGF0Zm9ybS9tYWMvZmFzdC9sb2FkZXIvbm9uLWh0bWwtbG9hZC1ldmVudC5o
dG1sIGZhaWxlZCB1bmV4cGVjdGVkbHkgKHRleHQgZGlmZikKWzcvN10gcGxhdGZvcm0vbWFjL2Zh
c3QvdGV4dC92ZXJ0aWNhbC1uby1zaWRld2F5cy5odG1sIGZhaWxlZCB1bmV4cGVjdGVkbHkgKHRl
eHQgZGlmZiwgaW1hZ2UgZGlmZikKCjk0MTggdGVzdHMgcmFuIGFzIGV4cGVjdGVkLCAxMCBkaWRu
J3Q6CgoKRXhwZWN0ZWQgdG8gZmFpbCwgYnV0IHBhc3NlZDogKDMpCiAgZmFzdC9oaWRwaS9pbWFn
ZS1zcmNzZXQtcmVsYXRpdmUtc3ZnLWNhbnZhcy5odG1sCiAgZmFzdC9zY3JvbGxpbmcvc2Nyb2xs
LXNlbGVjdC1saXN0Lmh0bWwKICBmYXN0L3N1Yi1waXhlbC9maWxlLXVwbG9hZC1jb250cm9sLWF0
LWZyYWN0aW9uYWwtb2Zmc2V0Lmh0bWwKCgpSZWdyZXNzaW9uczogVW5leHBlY3RlZCB0ZXh0LW9u
bHkgZmFpbHVyZXMgKDMpCiAgcGxhdGZvcm0vbWFjL2Zhc3QvbG9hZGVyL2ZpbGUtdXJsLW1pbWV0
eXBlcy0zLmh0bWwgWyBGYWlsdXJlIF0KICBwbGF0Zm9ybS9tYWMvZmFzdC9sb2FkZXIvbm9uLWh0
bWwtbG9hZC1ldmVudC5odG1sIFsgRmFpbHVyZSBdCiAgcGxhdGZvcm0vbWFjL2Zhc3QvdGV4dC92
ZXJ0aWNhbC1uby1zaWRld2F5cy5odG1sIFsgRmFpbHVyZSBdCgpSZWdyZXNzaW9uczogVW5leHBl
Y3RlZCBpbWFnZS1vbmx5IGZhaWx1cmVzICgzKQogIGZhc3QvY3NzL2NvbXB1dGVkLWltYWdlLXdp
ZHRoLXdpdGgtcGVyY2VudC1oZWlnaHQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogIGZhc3Qv
aGlkcGkvaW1hZ2Utc3Jjc2V0LXBuZy1jYW52YXMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQog
IGZhc3QvaW1hZ2VzL3BkZi1hcy1pbWFnZS13aXRoLWFubm90YXRpb25zLmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KClJlZ3Jlc3Npb25zOiBVbmV4cGVjdGVkIHRpbWVvdXRzICgxKQogIGZhc3Qv
Y2FudmFzL3dlYmdsL3dlYmdsLWNvbXByZXNzZWQtdGV4dHVyZS1zaXplLWxpbWl0Lmh0bWwgWyBU
aW1lb3V0IF0KCgpyZWFsCTNtNTUuNjM4cwp1c2VyCTltNTMuNjA3cwpzeXMJMW01LjA2NXMKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>227465</attachid>
            <date>2014-03-21 11:20:59 -0700</date>
            <delta_ts>2014-03-21 12:03:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-50881-20140321112038.patch</filename>
            <type>text/plain</type>
            <size>11783</size>
            <attacher name="Adenilson Cavalcanti Silva">savagobr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY2MDAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDFhNzE2MDFjYmNhY2Yz
MzcxNGQ0MTg1ZWVjOTg0YWM0YjMzODgxNi4uY2Y2ZGU4Mjc5NjdkZjNjZWU5OTk4YTk1ZmIwZDEz
NWRhODM1YTE1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDE0LTAzLTIwICBBZGVu
aWxzb24gQ2F2YWxjYW50aSAgPGNhdmFsY2FudGlpQGdtYWlsLmNvbT4KKworICAgICAgICBPcHRp
bWl6ZSBGRUdhdXNzaWFuIGJsdXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTUwODgxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQ3VycmVudGx5IGJveEJsdXIoKSB3aWxsIGNhbGN1bGF0ZSB0aGUgZmlsdGVy
IGZvciBlYWNoIGNoYW5uZWwgaW4KKyAgICAgICAgYSBsb29wIGFuZCBhbHNvIHVzZXMgVWludDhD
bGFtcGVkQXJyYXk6OnNldCgpIHRvIHdyaXRlIHRoZQorICAgICAgICByZXN1bHRpbmcgcGl4ZWxz
IGludG8gZGVzdGluYXRpb24gYXJyYXkuCisKKyAgICAgICAgVXNpbmcgVWludDhDbGFtcGVkQXJy
YXk6OnNldCgpIHJlcXVpcmVzIGxvdHMgb2YgdW5uZWNlc3NhcnkgdHlwZQorICAgICAgICBjb252
ZXJzaW9ucywgbm90IHRvIG1lbnRpb24gb3RoZXIgZnVuY3Rpb24gY2FsbHMuIFRoaXMgcGF0Y2gK
KyAgICAgICAgdXBkYXRlcyB0aGUgb3JpZ2luYWwgd3JpdHRlbiBieSBTaW1vbiBGcmFzZXIgdG8g
YXBwbHkgY2xlYW5seSB0byBjdXJyZW50CisgICAgICAgIHRydW5rLgorCisgICAgICAgIEl0IGFs
c28gaW1wbGVtZW50cyBjb2RlIHRvIGhhbmRsZSBFZGdlTW9kZXMgYW5kIGZpbmFsbHkgYXZvaWRz
IHVzZQorICAgICAgICBvZiA6OnNldCgpIGluIHRoZSBuZXdseSBhZGRlZCBib3hCbHVyQWxwaGFP
bmx5KCkKKyAgICAgICAgZnVuY3Rpb24uIEFzc2lnbm1lbnQgb2YgY2FsY3VsYXRlZCBwaXhlbCB2
YWx1ZXMgcmVseSBvbiBwb2ludGVycy4KKworICAgICAgICBObyBuZXcgdGVzdHMsIG5vIGNoYW5n
ZSBvbiBiZWhhdmlvci4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVH
YXVzc2lhbkJsdXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Ym94Qmx1ckFscGhhT25seSk6IFNw
ZWNpYWxpemVkIHZlcnNpb24gZm9yIGFscGhhIG9ubHkgY2FzZXMuCisgICAgICAgIChXZWJDb3Jl
Ojpib3hCbHVyKToKKwogMjAxNC0wMy0yMCAgVGhpYWdvIGRlIEJhcnJvcyBMYWNlcmRhICA8dGhp
YWdvLmxhY2VyZGFAb3BlbmJvc3NhLm9yZz4KIAogICAgICAgICBbV2ViUlRDXSBNb3ZpbmcgUlRD
Q29uZmlndXJhdGlvbiBhbmQgUlRDSWNlU2VydmVyIHRvIE1vZHVsZXMvbWVkaWFzdHJlYW0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRkVHYXVz
c2lhbkJsdXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9G
RUdhdXNzaWFuQmx1ci5jcHAKaW5kZXggYzVkNzQxNTRjYmJiYzU3YmU5YmQyZjBkNWE2MTI0YWRj
ZjliMjMyNi4uZTM3MTU3NWJiODhhNjM2OTViYzc4ZWZlZjc5NjZjZGJiZTAxYjI2NCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GRUdhdXNzaWFu
Qmx1ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9G
RUdhdXNzaWFuQmx1ci5jcHAKQEAgLTkwLDYyICs5MCwxNzYgQEAgdm9pZCBGRUdhdXNzaWFuQmx1
cjo6c2V0RWRnZU1vZGUoRWRnZU1vZGVUeXBlIGVkZ2VNb2RlKQogICAgIG1fZWRnZU1vZGUgPSBl
ZGdlTW9kZTsKIH0KIAotaW5saW5lIHZvaWQgYm94Qmx1cihVaW50OENsYW1wZWRBcnJheSogc3Jj
UGl4ZWxBcnJheSwgVWludDhDbGFtcGVkQXJyYXkqIGRzdFBpeGVsQXJyYXksCisvLyBUaGlzIGZ1
bmN0aW9uIG9ubHkgb3BlcmF0ZXMgb24gQWxwaGEgY2hhbm5lbC4KK2lubGluZSB2b2lkIGJveEJs
dXJBbHBoYU9ubHkoY29uc3QgVWludDhDbGFtcGVkQXJyYXkqIHNyY1BpeGVsQXJyYXksIFVpbnQ4
Q2xhbXBlZEFycmF5KiBkc3RQaXhlbEFycmF5LAorICAgIHVuc2lnbmVkIGR4LCBpbnQmIGR4TGVm
dCwgaW50JiBkeFJpZ2h0LCBpbnQmIHN0cmlkZSwgaW50JiBzdHJpZGVMaW5lLCBpbnQmIGVmZmVj
dFdpZHRoLCBpbnQmIGVmZmVjdEhlaWdodCwgY29uc3QgaW50JiBtYXhLZXJuZWxTaXplKQorewor
ICAgIHVuc2lnbmVkIGNoYXIqIHNyY0RhdGEgPSBzcmNQaXhlbEFycmF5LT5kYXRhKCk7CisgICAg
dW5zaWduZWQgY2hhciogZHN0RGF0YSA9IGRzdFBpeGVsQXJyYXktPmRhdGEoKTsKKyAgICAvLyBN
ZW1vcnkgYWxpZ25tZW50IGlzOiBSR0JBLCB6ZXJvLWluZGV4IGJhc2VkLgorICAgIGNvbnN0IGlu
dCBjaGFubmVsID0gMzsKKworICAgIGZvciAoaW50IHkgPSAwOyB5IDwgZWZmZWN0SGVpZ2h0OyAr
K3kpIHsKKyAgICAgICAgaW50IGxpbmUgPSB5ICogc3RyaWRlTGluZTsKKyAgICAgICAgaW50IHN1
bSA9IDA7CisKKyAgICAgICAgLy8gRmlsbCB0aGUga2VybmVsLgorICAgICAgICBmb3IgKGludCBp
ID0gMDsgaSA8IG1heEtlcm5lbFNpemU7ICsraSkgeworICAgICAgICAgICAgdW5zaWduZWQgb2Zm
c2V0ID0gbGluZSArIGkgKiBzdHJpZGU7CisgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiBzcmNQ
dHIgPSBzcmNEYXRhICsgb2Zmc2V0OworICAgICAgICAgICAgc3VtICs9IHNyY1B0cltjaGFubmVs
XTsKKyAgICAgICAgfQorCisgICAgICAgIC8vIEJsdXJyaW5nLgorICAgICAgICBmb3IgKGludCB4
ID0gMDsgeCA8IGVmZmVjdFdpZHRoOyArK3gpIHsKKyAgICAgICAgICAgIHVuc2lnbmVkIHBpeGVs
Qnl0ZU9mZnNldCA9IGxpbmUgKyB4ICogc3RyaWRlICsgY2hhbm5lbDsKKyAgICAgICAgICAgIHVu
c2lnbmVkIGNoYXIqIGRzdFB0ciA9IGRzdERhdGEgKyBwaXhlbEJ5dGVPZmZzZXQ7CisgICAgICAg
ICAgICAqZHN0UHRyID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQgY2hhcj4oc3VtIC8gZHgpOworCisg
ICAgICAgICAgICAvLyBTaGlmdCBrZXJuZWwuCisgICAgICAgICAgICBpZiAoeCA+PSBkeExlZnQp
IHsKKyAgICAgICAgICAgICAgICB1bnNpZ25lZCBsZWZ0T2Zmc2V0ID0gcGl4ZWxCeXRlT2Zmc2V0
IC0gZHhMZWZ0ICogc3RyaWRlOworICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIHNyY1B0
ciA9IHNyY0RhdGEgKyBsZWZ0T2Zmc2V0OworICAgICAgICAgICAgICAgIHN1bSAtPSAqc3JjUHRy
OworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBpZiAoeCArIGR4UmlnaHQgPCBlZmZlY3RX
aWR0aCkgeworICAgICAgICAgICAgICAgIHVuc2lnbmVkIHJpZ2h0T2Zmc2V0ID0gcGl4ZWxCeXRl
T2Zmc2V0ICsgZHhSaWdodCAqIHN0cmlkZTsKKyAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFy
KiBzcmNQdHIgPSBzcmNEYXRhICsgcmlnaHRPZmZzZXQ7CisgICAgICAgICAgICAgICAgc3VtICs9
ICpzcmNQdHI7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9Cit9CisKK2lubGluZSB2
b2lkIGJveEJsdXIoY29uc3QgVWludDhDbGFtcGVkQXJyYXkqIHNyY1BpeGVsQXJyYXksIFVpbnQ4
Q2xhbXBlZEFycmF5KiBkc3RQaXhlbEFycmF5LAogICAgIHVuc2lnbmVkIGR4LCBpbnQgZHhMZWZ0
LCBpbnQgZHhSaWdodCwgaW50IHN0cmlkZSwgaW50IHN0cmlkZUxpbmUsIGludCBlZmZlY3RXaWR0
aCwgaW50IGVmZmVjdEhlaWdodCwgYm9vbCBhbHBoYUltYWdlLCBFZGdlTW9kZVR5cGUgZWRnZU1v
ZGUpCiB7CisgICAgY29uc3QgaW50IG1heEtlcm5lbFNpemUgPSBzdGQ6Om1pbihkeFJpZ2h0LCBl
ZmZlY3RXaWR0aCk7CisgICAgaWYgKGFscGhhSW1hZ2UpIHsKKyAgICAgICAgcmV0dXJuIGJveEJs
dXJBbHBoYU9ubHkoc3JjUGl4ZWxBcnJheSwgZHN0UGl4ZWxBcnJheSwgZHgsIGR4TGVmdCwgZHhS
aWdodCwgc3RyaWRlLCBzdHJpZGVMaW5lLAorICAgICAgICAgICAgZWZmZWN0V2lkdGgsIGVmZmVj
dEhlaWdodCwgbWF4S2VybmVsU2l6ZSk7CisgICAgfQorCisgICAgdW5zaWduZWQgY2hhciogc3Jj
RGF0YSA9IHNyY1BpeGVsQXJyYXktPmRhdGEoKTsKKyAgICB1bnNpZ25lZCBjaGFyKiBkc3REYXRh
ID0gZHN0UGl4ZWxBcnJheS0+ZGF0YSgpOworCisgICAgLy8gQ29uY2VybmluZyB0aGUgYXJyYXkg
d2lkdGgvbGVuZ3RoOiBpdCBpcyBFbGVtZW50IHNpemUgKyBNYXJnaW4gKyBCb3JkZXIuIFRoZSBu
dW1iZXIgb2YgcGl4ZWxzIHdpbGwgYmUKKyAgICAvLyBQID0gd2lkdGggKiBoZWlnaHQgKiBjaGFu
bmVscy4KICAgICBmb3IgKGludCB5ID0gMDsgeSA8IGVmZmVjdEhlaWdodDsgKyt5KSB7CiAgICAg
ICAgIGludCBsaW5lID0geSAqIHN0cmlkZUxpbmU7Ci0gICAgICAgIGZvciAoaW50IGNoYW5uZWwg
PSAzOyBjaGFubmVsID49IDA7IC0tY2hhbm5lbCkgewotICAgICAgICAgICAgaW50IHN1bSA9IDA7
Ci0gICAgICAgICAgICAvLyBUaGUgY29kZSBmb3IgZWRnZU1vZGU9J25vbmUnIGlzIHRoZSBjb21t
b24gY2FzZSBhbmQgaGlnaGx5IG9wdGltaXplZC4KLSAgICAgICAgICAgIC8vIEZ1cnRoZXJtb3Jl
LCB0aGlzIGNvZGUgcGF0aCBhZmZlY3RzIG1vcmUgdGhhbiBqdXN0IHRoZSBpbnB1dCBhcmVhLgot
ICAgICAgICAgICAgaWYgKGVkZ2VNb2RlID09IEVER0VNT0RFX05PTkUpIHsKLSAgICAgICAgICAg
ICAgICAvLyBGaWxsIHRoZSBrZXJuZWwKLSAgICAgICAgICAgICAgICBpbnQgbWF4S2VybmVsU2l6
ZSA9IHN0ZDo6bWluKGR4UmlnaHQsIGVmZmVjdFdpZHRoKTsKLSAgICAgICAgICAgICAgICBmb3Ig
KGludCBpID0gMDsgaSA8IG1heEtlcm5lbFNpemU7ICsraSkKLSAgICAgICAgICAgICAgICAgICAg
c3VtICs9IHNyY1BpeGVsQXJyYXktPml0ZW0obGluZSArIGkgKiBzdHJpZGUgKyBjaGFubmVsKTsK
LQotICAgICAgICAgICAgICAgIC8vIEJsdXJyaW5nCi0gICAgICAgICAgICAgICAgZm9yIChpbnQg
eCA9IDA7IHggPCBlZmZlY3RXaWR0aDsgKyt4KSB7Ci0gICAgICAgICAgICAgICAgICAgIGludCBw
aXhlbEJ5dGVPZmZzZXQgPSBsaW5lICsgeCAqIHN0cmlkZSArIGNoYW5uZWw7Ci0gICAgICAgICAg
ICAgICAgICAgIGRzdFBpeGVsQXJyYXktPnNldChwaXhlbEJ5dGVPZmZzZXQsIHN0YXRpY19jYXN0
PHVuc2lnbmVkIGNoYXI+KHN1bSAvIGR4KSk7Ci0gICAgICAgICAgICAgICAgICAgIC8vIFNoaWZ0
IGtlcm5lbC4KLSAgICAgICAgICAgICAgICAgICAgaWYgKHggPj0gZHhMZWZ0KQotICAgICAgICAg
ICAgICAgICAgICAgICAgc3VtIC09IHNyY1BpeGVsQXJyYXktPml0ZW0ocGl4ZWxCeXRlT2Zmc2V0
IC0gZHhMZWZ0ICogc3RyaWRlKTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHggKyBkeFJpZ2h0
IDwgZWZmZWN0V2lkdGgpCi0gICAgICAgICAgICAgICAgICAgICAgICBzdW0gKz0gc3JjUGl4ZWxB
cnJheS0+aXRlbShwaXhlbEJ5dGVPZmZzZXQgKyBkeFJpZ2h0ICogc3RyaWRlKTsKKyAgICAgICAg
aW50IHN1bVIgPSAwLCBzdW1HID0gMCwgc3VtQiA9IDAsIHN1bUEgPSAwOworCisgICAgICAgIGlm
IChlZGdlTW9kZSA9PSBFREdFTU9ERV9OT05FKSB7CisgICAgICAgICAgICAvLyBGaWxsIHRoZSBr
ZXJuZWwuCisgICAgICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IG1heEtlcm5lbFNpemU7ICsr
aSkgeworICAgICAgICAgICAgICAgIHVuc2lnbmVkIG9mZnNldCA9IGxpbmUgKyBpICogc3RyaWRl
OworICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIHNyY1B0ciA9IHNyY0RhdGEgKyBvZmZz
ZXQ7CisgICAgICAgICAgICAgICAgc3VtUiArPSAqc3JjUHRyKys7CisgICAgICAgICAgICAgICAg
c3VtRyArPSAqc3JjUHRyKys7CisgICAgICAgICAgICAgICAgc3VtQiArPSAqc3JjUHRyKys7Cisg
ICAgICAgICAgICAgICAgc3VtQSArPSAqc3JjUHRyOworICAgICAgICAgICAgfQorCisgICAgICAg
ICAgICAvLyBCbHVycmluZy4KKyAgICAgICAgICAgIGZvciAoaW50IHggPSAwOyB4IDwgZWZmZWN0
V2lkdGg7ICsreCkgeworICAgICAgICAgICAgICAgIHVuc2lnbmVkIHBpeGVsQnl0ZU9mZnNldCA9
IGxpbmUgKyB4ICogc3RyaWRlOworICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIGRzdFB0
ciA9IGRzdERhdGEgKyBwaXhlbEJ5dGVPZmZzZXQ7CisKKyAgICAgICAgICAgICAgICAqZHN0UHRy
KysgPSBzdGF0aWNfY2FzdDx1bnNpZ25lZCBjaGFyPihzdW1SIC8gZHgpOworICAgICAgICAgICAg
ICAgICpkc3RQdHIrKyA9IHN0YXRpY19jYXN0PHVuc2lnbmVkIGNoYXI+KHN1bUcgLyBkeCk7Cisg
ICAgICAgICAgICAgICAgKmRzdFB0cisrID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQgY2hhcj4oc3Vt
QiAvIGR4KTsKKyAgICAgICAgICAgICAgICAqZHN0UHRyID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQg
Y2hhcj4oc3VtQSAvIGR4KTsKKworICAgICAgICAgICAgICAgIC8vIFNoaWZ0IGtlcm5lbC4KKyAg
ICAgICAgICAgICAgICBpZiAoeCA+PSBkeExlZnQpIHsKKyAgICAgICAgICAgICAgICAgICAgdW5z
aWduZWQgbGVmdE9mZnNldCA9IHBpeGVsQnl0ZU9mZnNldCAtIGR4TGVmdCAqIHN0cmlkZTsKKyAg
ICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciogc3JjUHRyID0gc3JjRGF0YSArIGxlZnRP
ZmZzZXQ7CisgICAgICAgICAgICAgICAgICAgIHN1bVIgLT0gc3JjUHRyWzBdOworICAgICAgICAg
ICAgICAgICAgICBzdW1HIC09IHNyY1B0clsxXTsKKyAgICAgICAgICAgICAgICAgICAgc3VtQiAt
PSBzcmNQdHJbMl07CisgICAgICAgICAgICAgICAgICAgIHN1bUEgLT0gc3JjUHRyWzNdOwogICAg
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgLy8g
RklYTUU6IEFkZCBzdXBwb3J0IGZvciAnd3JhcCcgaGVyZS4KLSAgICAgICAgICAgICAgICAvLyBH
ZXQgZWRnZSB2YWx1ZXMgZm9yIGVkZ2VNb2RlICdkdXBsaWNhdGUnLgotICAgICAgICAgICAgICAg
IGludCBlZGdlVmFsdWVMZWZ0ID0gc3JjUGl4ZWxBcnJheS0+aXRlbShsaW5lICsgY2hhbm5lbCk7
Ci0gICAgICAgICAgICAgICAgaW50IGVkZ2VWYWx1ZVJpZ2h0ID0gc3JjUGl4ZWxBcnJheS0+aXRl
bShsaW5lICsgKGVmZmVjdFdpZHRoIC0gMSkgKiBzdHJpZGUgKyBjaGFubmVsKTsKLSAgICAgICAg
ICAgICAgICAvLyBGaWxsIHRoZSBrZXJuZWwKLSAgICAgICAgICAgICAgICBmb3IgKGludCBpID0g
ZHhMZWZ0ICogLTE7IGkgPCBkeFJpZ2h0OyArK2kpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYg
KGkgPCAwKQotICAgICAgICAgICAgICAgICAgICAgICAgc3VtICs9IGVkZ2VWYWx1ZUxlZnQ7Ci0g
ICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGkgPj0gZWZmZWN0V2lkdGgpCi0gICAgICAgICAg
ICAgICAgICAgICAgICBzdW0gKz0gZWRnZVZhbHVlUmlnaHQ7Ci0gICAgICAgICAgICAgICAgICAg
IGVsc2UKLSAgICAgICAgICAgICAgICAgICAgICAgIHN1bSArPSBzcmNQaXhlbEFycmF5LT5pdGVt
KGxpbmUgKyBpICogc3RyaWRlICsgY2hhbm5lbCk7CisKKyAgICAgICAgICAgICAgICBpZiAoeCAr
IGR4UmlnaHQgPCBlZmZlY3RXaWR0aCkgeworICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBy
aWdodE9mZnNldCA9IHBpeGVsQnl0ZU9mZnNldCArIGR4UmlnaHQgKiBzdHJpZGU7CisgICAgICAg
ICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIHNyY1B0ciA9IHNyY0RhdGEgKyByaWdodE9mZnNl
dDsKKyAgICAgICAgICAgICAgICAgICAgc3VtUiArPSBzcmNQdHJbMF07CisgICAgICAgICAgICAg
ICAgICAgIHN1bUcgKz0gc3JjUHRyWzFdOworICAgICAgICAgICAgICAgICAgICBzdW1CICs9IHNy
Y1B0clsyXTsKKyAgICAgICAgICAgICAgICAgICAgc3VtQSArPSBzcmNQdHJbM107CiAgICAgICAg
ICAgICAgICAgfQotICAgICAgICAgICAgICAgIC8vIEJsdXJyaW5nCi0gICAgICAgICAgICAgICAg
Zm9yIChpbnQgeCA9IDA7IHggPCBlZmZlY3RXaWR0aDsgKyt4KSB7Ci0gICAgICAgICAgICAgICAg
ICAgIGludCBwaXhlbEJ5dGVPZmZzZXQgPSBsaW5lICsgeCAqIHN0cmlkZSArIGNoYW5uZWw7Ci0g
ICAgICAgICAgICAgICAgICAgIGRzdFBpeGVsQXJyYXktPnNldChwaXhlbEJ5dGVPZmZzZXQsIHN0
YXRpY19jYXN0PHVuc2lnbmVkIGNoYXI+KHN1bSAvIGR4KSk7Ci0gICAgICAgICAgICAgICAgICAg
IC8vIFNoaWZ0IGtlcm5lbC4KLSAgICAgICAgICAgICAgICAgICAgaWYgKHggPCBkeExlZnQpCi0g
ICAgICAgICAgICAgICAgICAgICAgICBzdW0gLT0gZWRnZVZhbHVlTGVmdDsKLSAgICAgICAgICAg
ICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICAgICAgc3VtIC09IHNyY1BpeGVsQXJy
YXktPml0ZW0ocGl4ZWxCeXRlT2Zmc2V0IC0gZHhMZWZ0ICogc3RyaWRlKTsKLSAgICAgICAgICAg
ICAgICAgICAgaWYgKHggKyBkeFJpZ2h0ID49IGVmZmVjdFdpZHRoKQotICAgICAgICAgICAgICAg
ICAgICAgICAgc3VtICs9IGVkZ2VWYWx1ZVJpZ2h0OwotICAgICAgICAgICAgICAgICAgICBlbHNl
Ci0gICAgICAgICAgICAgICAgICAgICAgICBzdW0gKz0gc3JjUGl4ZWxBcnJheS0+aXRlbShwaXhl
bEJ5dGVPZmZzZXQgKyBkeFJpZ2h0ICogc3RyaWRlKTsKKyAgICAgICAgICAgIH0KKworICAgICAg
ICB9IGVsc2UgeworICAgICAgICAgICAgLy8gRklYTUU6IEFkZCBzdXBwb3J0IGZvciAnd3JhcCcg
aGVyZS4KKyAgICAgICAgICAgIC8vIEdldCBlZGdlIHZhbHVlcyBmb3IgZWRnZU1vZGUgJ2R1cGxp
Y2F0ZScuCisgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiBlZGdlVmFsdWVMZWZ0ID0gc3JjRGF0
YSArIGxpbmU7CisgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiBlZGdlVmFsdWVSaWdodCAgPSBz
cmNEYXRhICsgKGxpbmUgKyAoZWZmZWN0V2lkdGggLSAxKSAqIHN0cmlkZSk7CisKKyAgICAgICAg
ICAgIC8vIEZpbGwgdGhlIGtlcm5lbC4KKyAgICAgICAgICAgIGZvciAoaW50IGkgPSBkeExlZnQg
KiAtMTsgaSA8IGR4UmlnaHQ7ICsraSkgeworICAgICAgICAgICAgICAgIC8vIElzIHRoaXMgcmln
aHQgZm9yIG5lZ2F0aXZlIHZhbHVlcyBvZiAnaSc/CisgICAgICAgICAgICAgICAgdW5zaWduZWQg
b2Zmc2V0ID0gbGluZSArIGkgKiBzdHJpZGU7CisgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hh
ciogc3JjUHRyID0gc3JjRGF0YSArIG9mZnNldDsKKworICAgICAgICAgICAgICAgIGlmIChpIDwg
MCkgeworICAgICAgICAgICAgICAgICAgICBzdW1SICs9IGVkZ2VWYWx1ZUxlZnRbMF07CisgICAg
ICAgICAgICAgICAgICAgIHN1bUcgKz0gZWRnZVZhbHVlTGVmdFsxXTsKKyAgICAgICAgICAgICAg
ICAgICAgc3VtQiArPSBlZGdlVmFsdWVMZWZ0WzJdOworICAgICAgICAgICAgICAgICAgICBzdW1B
ICs9IGVkZ2VWYWx1ZUxlZnRbM107CisgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChpID49IGVm
ZmVjdFdpZHRoKSB7CisgICAgICAgICAgICAgICAgICAgIHN1bVIgKz0gZWRnZVZhbHVlUmlnaHRb
MF07CisgICAgICAgICAgICAgICAgICAgIHN1bUcgKz0gZWRnZVZhbHVlUmlnaHRbMV07CisgICAg
ICAgICAgICAgICAgICAgIHN1bUIgKz0gZWRnZVZhbHVlUmlnaHRbMl07CisgICAgICAgICAgICAg
ICAgICAgIHN1bUEgKz0gZWRnZVZhbHVlUmlnaHRbM107CisgICAgICAgICAgICAgICAgfSBlbHNl
IHsKKyAgICAgICAgICAgICAgICAgICAgc3VtUiArPSAqc3JjUHRyKys7CisgICAgICAgICAgICAg
ICAgICAgIHN1bUcgKz0gKnNyY1B0cisrOworICAgICAgICAgICAgICAgICAgICBzdW1CICs9ICpz
cmNQdHIrKzsKKyAgICAgICAgICAgICAgICAgICAgc3VtQSArPSAqc3JjUHRyOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgLy8gQmx1cnJpbmcuCisgICAg
ICAgICAgICBmb3IgKGludCB4ID0gMDsgeCA8IGVmZmVjdFdpZHRoOyArK3gpIHsKKyAgICAgICAg
ICAgICAgICB1bnNpZ25lZCBwaXhlbEJ5dGVPZmZzZXQgPSBsaW5lICsgeCAqIHN0cmlkZTsKKyAg
ICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyKiBkc3RQdHIgPSBkc3REYXRhICsgcGl4ZWxCeXRl
T2Zmc2V0OworCisgICAgICAgICAgICAgICAgKmRzdFB0cisrID0gc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQgY2hhcj4oc3VtUiAvIGR4KTsKKyAgICAgICAgICAgICAgICAqZHN0UHRyKysgPSBzdGF0aWNf
Y2FzdDx1bnNpZ25lZCBjaGFyPihzdW1HIC8gZHgpOworICAgICAgICAgICAgICAgICpkc3RQdHIr
KyA9IHN0YXRpY19jYXN0PHVuc2lnbmVkIGNoYXI+KHN1bUIgLyBkeCk7CisgICAgICAgICAgICAg
ICAgKmRzdFB0ciA9IHN0YXRpY19jYXN0PHVuc2lnbmVkIGNoYXI+KHN1bUEgLyBkeCk7CisKKyAg
ICAgICAgICAgICAgICAvLyBTaGlmdCBrZXJuZWwuCisgICAgICAgICAgICAgICAgaWYgKHggPCBk
eExlZnQpIHsKKyAgICAgICAgICAgICAgICAgICAgc3VtUiAtPSBlZGdlVmFsdWVMZWZ0WzBdOwor
ICAgICAgICAgICAgICAgICAgICBzdW1HIC09IGVkZ2VWYWx1ZUxlZnRbMV07CisgICAgICAgICAg
ICAgICAgICAgIHN1bUIgLT0gZWRnZVZhbHVlTGVmdFsyXTsKKyAgICAgICAgICAgICAgICAgICAg
c3VtQSAtPSBlZGdlVmFsdWVMZWZ0WzNdOworICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAg
ICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxlZnRPZmZzZXQgPSBwaXhlbEJ5dGVPZmZzZXQgLSBk
eExlZnQgKiBzdHJpZGU7CisgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIqIHNyY1B0
ciA9IHNyY0RhdGEgKyBsZWZ0T2Zmc2V0OworICAgICAgICAgICAgICAgICAgICBzdW1SIC09IHNy
Y1B0clswXTsKKyAgICAgICAgICAgICAgICAgICAgc3VtRyAtPSBzcmNQdHJbMV07CisgICAgICAg
ICAgICAgICAgICAgIHN1bUIgLT0gc3JjUHRyWzJdOworICAgICAgICAgICAgICAgICAgICBzdW1B
IC09IHNyY1B0clszXTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBpZiAo
eCArIGR4UmlnaHQgPj0gZWZmZWN0V2lkdGgpIHsKKyAgICAgICAgICAgICAgICAgICAgc3VtUiAr
PSBlZGdlVmFsdWVSaWdodFswXTsKKyAgICAgICAgICAgICAgICAgICAgc3VtRyArPSBlZGdlVmFs
dWVSaWdodFsxXTsKKyAgICAgICAgICAgICAgICAgICAgc3VtQiArPSBlZGdlVmFsdWVSaWdodFsy
XTsKKyAgICAgICAgICAgICAgICAgICAgc3VtQSArPSBlZGdlVmFsdWVSaWdodFszXTsKKyAgICAg
ICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCByaWdodE9m
ZnNldCA9IHBpeGVsQnl0ZU9mZnNldCArIGR4UmlnaHQgKiBzdHJpZGU7CisgICAgICAgICAgICAg
ICAgICAgIHVuc2lnbmVkIGNoYXIqIHNyY1B0ciA9IHNyY0RhdGEgKyByaWdodE9mZnNldDsKKyAg
ICAgICAgICAgICAgICAgICAgc3VtUiArPSBzcmNQdHJbMF07CisgICAgICAgICAgICAgICAgICAg
IHN1bUcgKz0gc3JjUHRyWzFdOworICAgICAgICAgICAgICAgICAgICBzdW1CICs9IHNyY1B0clsy
XTsKKyAgICAgICAgICAgICAgICAgICAgc3VtQSArPSBzcmNQdHJbM107CiAgICAgICAgICAgICAg
ICAgfQogICAgICAgICAgICAgfQotICAgICAgICAgICAgaWYgKGFscGhhSW1hZ2UpIC8vIFNvdXJj
ZSBpbWFnZSBpcyBibGFjaywgaXQganVzdCBoYXMgZGlmZmVyZW50IGFscGhhIHZhbHVlcwotICAg
ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgfQogfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>