<?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>31283</bug_id>
          
          <creation_ts>2009-11-09 19:36:33 -0800</creation_ts>
          <short_desc>position:fixed and transform on same element breaks fixed behavior</short_desc>
          <delta_ts>2010-03-28 14:52:32 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>CLOSED</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>
          
          <blocked>36652</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>eric</cc>
    
    <cc>hausmann</cc>
    
    <cc>jamesr</cc>
    
    <cc>mitz</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>161925</commentid>
    <comment_count>0</comment_count>
      <attachid>42844</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2009-11-09 19:36:33 -0800</bug_when>
    <thetext>Created attachment 42844
Testcase

If an element has both position:fixed and a transform, then it behaves as if it&apos;s absolutely positioned.

I think the fixed positioning should take effect, and then the transform.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>177314</commentid>
    <comment_count>1</comment_count>
      <attachid>45920</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-01-05 12:39:22 -0800</bug_when>
    <thetext>Created attachment 45920
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>177413</commentid>
    <comment_count>2</comment_count>
      <attachid>45920</attachid>
    <who name="">mitz</who>
    <bug_when>2010-01-05 14:47:59 -0800</bug_when>
    <thetext>Comment on attachment 45920
Patch

&gt; @@ -982,9 +984,14 @@ void RenderBox::mapAbsoluteToLocalPoint(bool fixed, bool useTransforms, Transfor
&gt;      if (style()-&gt;position() == FixedPosition)
&gt;          fixed = true;
&gt;  
&gt; +    bool isFixedPos = style()-&gt;position() == FixedPosition;
&gt;      bool hasTransform = hasLayer() &amp;&amp; layer()-&gt;transform();
&gt; -    if (hasTransform)
&gt; -        fixed = false;  // Elements with transforms act as a containing block for fixed position descendants
&gt; +    if (hasTransform) {
&gt; +        // If this box has a transform, it acts as a fixed position container for fixed descendants,
&gt; +        // and may itself also be fixed position. So propagate &apos;fixed&apos; up only if this box is fixed position.
&gt; +        fixed &amp;= isFixedPos;
&gt; +    } else
&gt; +        fixed |= isFixedPos;

This doesn’t look right.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>177472</commentid>
    <comment_count>3</comment_count>
      <attachid>45943</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-01-05 17:11:57 -0800</bug_when>
    <thetext>Created attachment 45943
Revised patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>179986</commentid>
    <comment_count>4</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-01-12 14:57:32 -0800</bug_when>
    <thetext>This patch is missing the binary data, which is why it&apos;s failing to apply correctly.  Note that &quot;webkit-patch upload&quot; or &quot;webkit-patch post&quot; or &quot;webkit-patch post-commits&quot; all know how to generate git diff --binary patches correctly so that the bots will be able to property process them. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180000</commentid>
    <comment_count>5</comment_count>
      <attachid>46404</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-01-12 15:23:02 -0800</bug_when>
    <thetext>Created attachment 46404
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180018</commentid>
    <comment_count>6</comment_count>
      <attachid>46404</attachid>
    <who name="">mitz</who>
    <bug_when>2010-01-12 16:11:04 -0800</bug_when>
    <thetext>Comment on attachment 46404
Patch

&gt; +    EPosition position;
&gt; +    if ((position = renderer()-&gt;style()-&gt;position()) == FixedPosition) {
&gt; +        if (!ancestorLayer || ancestorLayer == renderer()-&gt;view()-&gt;layer()) {

Please just initialize position first, then do a single if statement:
if (position == FixedPosition &amp;&amp; (!ancestorLayer || ancestorLayer == renderer()-&gt;view()-&gt;layer())) {
…

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>180060</commentid>
    <comment_count>7</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-01-12 18:08:42 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/53173</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>204596</commentid>
    <comment_count>8</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-03-26 08:43:32 -0700</bug_when>
    <thetext>cherry-pick-for-backport: &lt;r53173&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>204597</commentid>
    <comment_count>9</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-03-26 08:44:04 -0700</bug_when>
    <thetext>Revision r53173 cherry-picked into qtwebkit-2.0 with commit 08dfb1202a63ed6d24be50484e3fbf8bbb9697a4</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>42844</attachid>
            <date>2009-11-09 19:36:33 -0800</date>
            <delta_ts>2009-11-09 19:36:33 -0800</delta_ts>
            <desc>Testcase</desc>
            <filename>fixed-transformed.html</filename>
            <type>text/html</type>
            <size>574</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFs
Ly9FTiIKICAgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L2xvb3NlLmR0ZCI+Cgo8aHRtbCBs
YW5nPSJlbiI+CjxoZWFkPgogIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVu
dD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4KICA8dGl0bGU+Rml4ZWQgYW5kIHRyYW5zZm9y
bWVkPC90aXRsZT4KICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiIG1lZGlhPSJzY3JlZW4iPgogICAg
Ym9keSB7CiAgICAgIGhlaWdodDogMTIwMHB4OwogICAgfQogICAgLmJveCB7CiAgICAgIGxlZnQ6
IDEwMHB4OwogICAgICB3aWR0aDogMTAwcHg7CiAgICAgIGhlaWdodDogMTAwcHg7CiAgICAgIGJh
Y2tncm91bmQtY29sb3I6IGJsdWU7CiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUo
MTAwcHgsIDEwMHB4KTsKICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgfQogICAgCiAgPC9zdHls
ZT4KPC9oZWFkPgo8Ym9keT4KCjxkaXYgY2xhc3M9ImJveCI+CjwvZGl2PgoKPC9ib2R5Pgo8L2h0
bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>45920</attachid>
            <date>2010-01-05 12:39:22 -0800</date>
            <delta_ts>2010-01-05 17:11:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>31283_patch.txt</filename>
            <type>text/plain</type>
            <size>10012</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBjNDU2ZThlLi5kMDBjMTJiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTAtMDEt
MDUgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgcG9zaXRpb246Zml4ZWQgYW5kIHRy
YW5zZm9ybSBvbiBzYW1lIGVsZW1lbnQgYnJlYWtzIGZpeGVkIGJlaGF2aW9yCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMTI4MworCisgICAgICAgIFRl
c3QgZm9yIHRyYW5zZm9ybXMgY29tYmluZWQgd2l0aCBmaXhlZCBwb3NpdGlvbmluZy4KKworICAg
ICAgICAqIHBsYXRmb3JtL21hYy90cmFuc2Zvcm1zLzJkL3RyYW5zZm9ybS1maXhlZC1jb250YWlu
ZXItZXhwZWN0ZWQuY2hlY2tzdW06IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy90cmFu
c2Zvcm1zLzJkL3RyYW5zZm9ybS1maXhlZC1jb250YWluZXItZXhwZWN0ZWQucG5nOiBBZGRlZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvdHJhbnNmb3Jtcy8yZC90cmFuc2Zvcm0tZml4ZWQtY29u
dGFpbmVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogdHJhbnNmb3Jtcy8yZC90cmFu
c2Zvcm0tZml4ZWQtY29udGFpbmVyLmh0bWw6IEFkZGVkLgorCiAyMDEwLTAxLTA1ICBEb21pbmlj
IE1henpvbmkgIDxkbWF6em9uaUBnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERh
cmluIEFkbGVyLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RyYW5zZm9y
bXMvMmQvdHJhbnNmb3JtLWZpeGVkLWNvbnRhaW5lci1leHBlY3RlZC5jaGVja3N1bSBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy90cmFuc2Zvcm1zLzJkL3RyYW5zZm9ybS1maXhlZC1jb250YWlu
ZXItZXhwZWN0ZWQuY2hlY2tzdW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
OTBjMzgzYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy90cmFu
c2Zvcm1zLzJkL3RyYW5zZm9ybS1maXhlZC1jb250YWluZXItZXhwZWN0ZWQuY2hlY2tzdW0KQEAg
LTAsMCArMSBAQAorMDVkOWQxMDk2ZGQwOTZjMGI5MDAxNWY3OWEyYWQ2YTgKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdHJh
bnNmb3Jtcy8yZC90cmFuc2Zvcm0tZml4ZWQtY29udGFpbmVyLWV4cGVjdGVkLnBuZyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy90cmFuc2Zvcm1zLzJkL3RyYW5zZm9ybS1maXhlZC1jb250YWlu
ZXItZXhwZWN0ZWQucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmViYTEy
MGYKQmluYXJ5IGZpbGVzIC9kZXYvbnVsbCBhbmQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
dHJhbnNmb3Jtcy8yZC90cmFuc2Zvcm0tZml4ZWQtY29udGFpbmVyLWV4cGVjdGVkLnBuZyBkaWZm
ZXIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy90cmFuc2Zvcm1zLzJkL3Ry
YW5zZm9ybS1maXhlZC1jb250YWluZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL3RyYW5zZm9ybXMvMmQvdHJhbnNmb3JtLWZpeGVkLWNvbnRhaW5lci1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzJjMWM4ZQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy90cmFuc2Zvcm1zLzJkL3RyYW5zZm9y
bS1maXhlZC1jb250YWluZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjEgQEAKK2xheWVyIGF0
ICgwLDApIHNpemUgNzg1eDExNTAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDc4NXg2MDAK
K2xheWVyIGF0ICgwLDApIHNpemUgNzg1eDExNTAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgw
LDApIHNpemUgNzg1eDExNTAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoMCwxNTApIHNpemUg
Nzg1eDEwMDAKKyAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwyNTApIHNpemUgNzg1eDE4Cisg
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDU0NngxOAorICAgICAgICAg
IHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDU0NjogIlRlc3RzIGZpeGVkIHBvc2l0aW9uIGVsZW1l
bnRzIGNvbWJpbmVkIHdpdGggdHJhbnNmb3Jtcy4gWW91IHNob3VsZCBzZWUgbm8gcmVkIGFib3Zl
LiIKK2xheWVyIGF0ICg1MCwyMDApIHNpemUgMTAweDEwMAorICBSZW5kZXJCbG9jayAocG9zaXRp
b25lZCkge0RJVn0gYXQgKDUwLDIwMCkgc2l6ZSAxMDB4MTAwIFtiZ2NvbG9yPSNGRjAwMDBdCits
YXllciBhdCAoMjUwLDIwMCkgc2l6ZSAxMDB4MTAwCisgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVk
KSB7RElWfSBhdCAoMjUwLDIwMCkgc2l6ZSAxMDB4MTAwIFtiZ2NvbG9yPSNGRjAwMDBdCitsYXll
ciBhdCAoNTAsMTUwKSBzaXplIDEwMHgxMDAKKyAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDUwLDAp
IHNpemUgMTAweDEwMAorbGF5ZXIgYXQgKDUwLDIwMCkgc2l6ZSAxMDB4MTAwCisgIFJlbmRlckJs
b2NrIChwb3NpdGlvbmVkKSB7RElWfSBhdCAoMCw1MCkgc2l6ZSAxMDB4MTAwIFtiZ2NvbG9yPSMw
MDgwMDBdCitsYXllciBhdCAoMjUwLDE1MCkgc2l6ZSAxMDB4MTAwCisgIFJlbmRlckJsb2NrIChw
b3NpdGlvbmVkKSB7RElWfSBhdCAoMjUwLDUwKSBzaXplIDEwMHgxMDAKK2xheWVyIGF0ICgyNTAs
MjAwKSBzaXplIDEwMHgxMDAKKyAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsNTApIHNpemUgMTAw
eDEwMCBbYmdjb2xvcj0jMDA4MDAwXQorc2Nyb2xsZWQgdG8gMCwxMDAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3RyYW5zZm9ybXMvMmQvdHJhbnNmb3JtLWZpeGVkLWNvbnRhaW5lci5odG1sIGIv
TGF5b3V0VGVzdHMvdHJhbnNmb3Jtcy8yZC90cmFuc2Zvcm0tZml4ZWQtY29udGFpbmVyLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzk4MThjYwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3RyYW5zZm9ybXMvMmQvdHJhbnNmb3JtLWZpeGVkLWNvbnRhaW5l
ci5odG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBodG1sPgorCis8aHRtbD4KKzxoZWFk
PgorICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiIG1lZGlhPSJzY3JlZW4iPgorICAgIGJvZHkgewor
ICAgICAgbWFyZ2luOiAwOworICAgICAgaGVpZ2h0OiAxMDAwcHg7CisgICAgfQorICAgIAorICAg
IC5ib3ggeworICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
IG91dGxpbmU6IDFweCBzb2xpZCBibGFjazsKKyAgICB9CisKKyAgICAuZml4ZWQgeworICAgICAg
cG9zaXRpb246IGZpeGVkOworICAgIH0KKworICAgIC50cmFuc2Zvcm1lZCB7CisgICAgICAtd2Vi
a2l0LXRyYW5zZm9ybTogcm90YXRlKDApOworICAgIH0KKyAgICAKKyAgICAuaW5kaWNhdG9yIHsK
KyAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDsK
KyAgICB9CisgICAgCisgIDwvc3R5bGU+CisgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
IiBjaGFyc2V0PSJ1dGYtOCI+CisgICAgLy8gU2Nyb2xsIG9uIGxvYWQgdG8gdGVzdCBmaXhlZCBw
b3NpdGlvbmluZy4KKyAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGZ1bmN0aW9u
KCkgeworICAgICAgd2luZG93LnNjcm9sbFRvKDAsIDEwMCk7CisgICAgfSwgZmFsc2UpCisgIDwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisKKyAgPGRpdiBjbGFzcz0iaW5kaWNhdG9yIGJveCIg
c3R5bGU9ImxlZnQ6IDUwcHg7IHRvcDogMjAwcHg7Ij48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iaW5k
aWNhdG9yIGJveCIgc3R5bGU9ImxlZnQ6IDI1MHB4OyB0b3A6IDIwMHB4OyI+PC9kaXY+CisKKyAg
PGRpdiBjbGFzcz0idHJhbnNmb3JtZWQgYm94IiBzdHlsZT0ibWFyZ2luOiAxNTBweCA1MHB4OyI+
CisgICAgPGRpdiBjbGFzcz0iZml4ZWQgYm94IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogZ3Jl
ZW47IG1hcmdpbi10b3A6IDUwcHg7Ij4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+CisKKyAgPGRpdiBj
bGFzcz0idHJhbnNmb3JtZWQgZml4ZWQgYm94IiBzdHlsZT0ibGVmdDogMjUwcHg7IHRvcDogNTBw
eDsiPgorICAgIDxkaXYgY2xhc3M9InRyYW5zZm9ybWVkIGJveCIgc3R5bGU9Im1hcmdpbi10b3A6
IDUwcHg7IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOyI+CisgICAgPC9kaXY+CisgIDwvZGl2Pgor
CisgIDxwPlRlc3RzIGZpeGVkIHBvc2l0aW9uIGVsZW1lbnRzIGNvbWJpbmVkIHdpdGggdHJhbnNm
b3Jtcy4gWW91IHNob3VsZCBzZWUgbm8gcmVkIGFib3ZlLjwvcD4KKworPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdl
TG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjY0NjIxYy4uOWJiNzc4YSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwy
OCBAQAorMjAxMC0wMS0wNSAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBwb3NpdGlv
bjpmaXhlZCBhbmQgdHJhbnNmb3JtIG9uIHNhbWUgZWxlbWVudCBicmVha3MgZml4ZWQgYmVoYXZp
b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMxMjgz
CisKKyAgICAgICAgRml4IGludGVyYWN0aW9ucyBvZiB0cmFuc2Zvcm1zIGFuZCBmaXhlZCBwb3Np
dGlvbmluZywgbmFtZWx5IHRoYXQgZml4ZWQgcG9zaXRpb24KKyAgICAgICAgZWxlbWVudHMgd2l0
aCBhIHRyYW5zZm9ybWVkIGFuY2VzdG9yIGFyZSBwb3NpdGlvbmVkIHJlbGF0aXZlIHRvIHRoYXQg
YW5jZXN0b3IsCisgICAgICAgIGFuZCBhbiBlbGVtZW50IHdpdGggYm90aCBhIHRyYW5zZm9ybSBh
bmQgZml4ZWQgcG9zaXRpb24gcmVzcGVjdHMgdGhhdCBwb3NpdGlvbmluZy4KKyAgICAgICAgCisg
ICAgICAgIFRlc3Q6IHRyYW5zZm9ybXMvMmQvdHJhbnNmb3JtLWZpeGVkLWNvbnRhaW5lci5odG1s
CisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckJveDo6bWFwTG9jYWxUb0NvbnRhaW5lcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJCb3g6Om1hcEFic29sdXRlVG9Mb2NhbFBvaW50KToKKyAgICAgICAgVHJhbnNmb3JtcyBzaG91
bGQgbm90IHVuY29uZGl0aW9uYWxseSBzdG9wIHRoZSBwcm9wYWdhdGlvbiBvZiB0aGUgJ2ZpeGVk
JyBmbGFnIHRvIGFuY2VzdG9ycywKKyAgICAgICAgYnV0IG9ubHkgaWYgdGhlIHRyYW5zZm9ybWVk
IGVsZW1lbnQgaXMgbm90IGl0c2VsZiBmaXhlZC4KKyAgICAgICAgCisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpjb252
ZXJ0VG9MYXllckNvb3Jkcyk6CisgICAgICAgIEZpeCB0aGlzIG1ldGhvZCB0byBiZWhhdmUgY29y
cmVjdGx5IGZvciBmaXhlZCBwb3NpdGlvbiBsYXllcnMgd2hvc2UgY29udGFpbmVyIGlzIG5vdAor
ICAgICAgICB0aGUgcm9vdCwgYnV0IHNvbWUgb3RoZXIgKHByb2JhYmx5IHRyYW5zZm9ybWVkKSBh
bmNlc3Rvci4gSW4gdGhhdCBjYXNlLCB3ZSBjYW4gZmFsbCBpbnRvCisgICAgICAgIHRoZSAicG9z
aXRpb246IGFic29sdXRlIiBjb2RlIHBhdGguCisKIDIwMTAtMDEtMDUgIFlhZWwgQWhhcm9uICA8
eWFlbC5haGFyb25Abm9raWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUm9o
ZGUgQ2hyaXN0aWFuc2VuLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94
LmNwcCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKaW5kZXggMzM5MTkzYS4uMzJl
MTRjMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAorKysgYi9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCkBAIC05NDAsMTkgKzk0MCwyMSBAQCB2b2lk
IFJlbmRlckJveDo6bWFwTG9jYWxUb0NvbnRhaW5lcihSZW5kZXJCb3hNb2RlbE9iamVjdCogcmVw
YWludENvbnRhaW5lciwgYm9vbAogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAgICAg
fQotCi0gICAgaWYgKHN0eWxlKCktPnBvc2l0aW9uKCkgPT0gRml4ZWRQb3NpdGlvbikKLSAgICAg
ICAgZml4ZWQgPSB0cnVlOwotCisgICAgCiAgICAgYm9vbCBjb250YWluZXJTa2lwcGVkOwogICAg
IFJlbmRlck9iamVjdCogbyA9IGNvbnRhaW5lcihyZXBhaW50Q29udGFpbmVyLCAmY29udGFpbmVy
U2tpcHBlZCk7CiAgICAgaWYgKCFvKQogICAgICAgICByZXR1cm47CiAKKyAgICBib29sIGlzRml4
ZWRQb3MgPSBzdHlsZSgpLT5wb3NpdGlvbigpID09IEZpeGVkUG9zaXRpb247CiAgICAgYm9vbCBo
YXNUcmFuc2Zvcm0gPSBoYXNMYXllcigpICYmIGxheWVyKCktPnRyYW5zZm9ybSgpOwotICAgIGlm
IChoYXNUcmFuc2Zvcm0pCi0gICAgICAgIGZpeGVkID0gZmFsc2U7ICAvLyBFbGVtZW50cyB3aXRo
IHRyYW5zZm9ybXMgYWN0IGFzIGEgY29udGFpbmluZyBibG9jayBmb3IgZml4ZWQgcG9zaXRpb24g
ZGVzY2VuZGFudHMKLQorICAgIGlmIChoYXNUcmFuc2Zvcm0pIHsKKyAgICAgICAgLy8gSWYgdGhp
cyBib3ggaGFzIGEgdHJhbnNmb3JtLCBpdCBhY3RzIGFzIGEgZml4ZWQgcG9zaXRpb24gY29udGFp
bmVyIGZvciBmaXhlZCBkZXNjZW5kYW50cywKKyAgICAgICAgLy8gYW5kIG1heSBpdHNlbGYgYWxz
byBiZSBmaXhlZCBwb3NpdGlvbi4gU28gcHJvcGFnYXRlICdmaXhlZCcgdXAgb25seSBpZiB0aGlz
IGJveCBpcyBmaXhlZCBwb3NpdGlvbi4KKyAgICAgICAgZml4ZWQgJj0gaXNGaXhlZFBvczsKKyAg
ICB9IGVsc2UKKyAgICAgICAgZml4ZWQgfD0gaXNGaXhlZFBvczsKKyAgICAKICAgICBJbnRTaXpl
IGNvbnRhaW5lck9mZnNldCA9IG9mZnNldEZyb21Db250YWluZXIobyk7CiAKICAgICBib29sIHBy
ZXNlcnZlM0QgPSB1c2VUcmFuc2Zvcm1zICYmIChvLT5zdHlsZSgpLT5wcmVzZXJ2ZXMzRCgpIHx8
IHN0eWxlKCktPnByZXNlcnZlczNEKCkpOwpAQCAtOTgyLDkgKzk4NCwxNCBAQCB2b2lkIFJlbmRl
ckJveDo6bWFwQWJzb2x1dGVUb0xvY2FsUG9pbnQoYm9vbCBmaXhlZCwgYm9vbCB1c2VUcmFuc2Zv
cm1zLCBUcmFuc2ZvcgogICAgIGlmIChzdHlsZSgpLT5wb3NpdGlvbigpID09IEZpeGVkUG9zaXRp
b24pCiAgICAgICAgIGZpeGVkID0gdHJ1ZTsKIAorICAgIGJvb2wgaXNGaXhlZFBvcyA9IHN0eWxl
KCktPnBvc2l0aW9uKCkgPT0gRml4ZWRQb3NpdGlvbjsKICAgICBib29sIGhhc1RyYW5zZm9ybSA9
IGhhc0xheWVyKCkgJiYgbGF5ZXIoKS0+dHJhbnNmb3JtKCk7Ci0gICAgaWYgKGhhc1RyYW5zZm9y
bSkKLSAgICAgICAgZml4ZWQgPSBmYWxzZTsgIC8vIEVsZW1lbnRzIHdpdGggdHJhbnNmb3JtcyBh
Y3QgYXMgYSBjb250YWluaW5nIGJsb2NrIGZvciBmaXhlZCBwb3NpdGlvbiBkZXNjZW5kYW50cwor
ICAgIGlmIChoYXNUcmFuc2Zvcm0pIHsKKyAgICAgICAgLy8gSWYgdGhpcyBib3ggaGFzIGEgdHJh
bnNmb3JtLCBpdCBhY3RzIGFzIGEgZml4ZWQgcG9zaXRpb24gY29udGFpbmVyIGZvciBmaXhlZCBk
ZXNjZW5kYW50cywKKyAgICAgICAgLy8gYW5kIG1heSBpdHNlbGYgYWxzbyBiZSBmaXhlZCBwb3Np
dGlvbi4gU28gcHJvcGFnYXRlICdmaXhlZCcgdXAgb25seSBpZiB0aGlzIGJveCBpcyBmaXhlZCBw
b3NpdGlvbi4KKyAgICAgICAgZml4ZWQgJj0gaXNGaXhlZFBvczsKKyAgICB9IGVsc2UKKyAgICAg
ICAgZml4ZWQgfD0gaXNGaXhlZFBvczsKICAgICAKICAgICBSZW5kZXJPYmplY3QqIG8gPSBjb250
YWluZXIoKTsKICAgICBpZiAoIW8pCmRpZmYgLS1naXQgYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllci5jcHAgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKaW5kZXggMGQx
ZWFjZi4uZjg0ZDA4MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIu
Y3BwCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtOTg2LDE5ICs5
ODYsMjUgQEAgUmVuZGVyTGF5ZXI6OmNvbnZlcnRUb0xheWVyQ29vcmRzKGNvbnN0IFJlbmRlckxh
eWVyKiBhbmNlc3RvckxheWVyLCBpbnQmIHhQb3MsIGkKIHsKICAgICBpZiAoYW5jZXN0b3JMYXll
ciA9PSB0aGlzKQogICAgICAgICByZXR1cm47Ci0gICAgICAgIAotICAgIGlmIChyZW5kZXJlcigp
LT5zdHlsZSgpLT5wb3NpdGlvbigpID09IEZpeGVkUG9zaXRpb24pIHsKLSAgICAgICAgLy8gQWRk
IGluIHRoZSBvZmZzZXQgb2YgdGhlIHZpZXcuICBXZSBjYW4gb2J0YWluIHRoaXMgYnkgY2FsbGlu
ZwotICAgICAgICAvLyBsb2NhbFRvQWJzb2x1dGUoKSBvbiB0aGUgUmVuZGVyVmlldy4KLSAgICAg
ICAgRmxvYXRQb2ludCBhYnNQb3MgPSByZW5kZXJlcigpLT5sb2NhbFRvQWJzb2x1dGUoRmxvYXRQ
b2ludCgpLCB0cnVlKTsKLSAgICAgICAgeFBvcyArPSBhYnNQb3MueCgpOwotICAgICAgICB5UG9z
ICs9IGFic1Bvcy55KCk7Ci0gICAgICAgIHJldHVybjsKKworICAgIEVQb3NpdGlvbiBwb3NpdGlv
bjsKKyAgICBpZiAoKHBvc2l0aW9uID0gcmVuZGVyZXIoKS0+c3R5bGUoKS0+cG9zaXRpb24oKSkg
PT0gRml4ZWRQb3NpdGlvbikgeworICAgICAgICBpZiAoIWFuY2VzdG9yTGF5ZXIgfHwgYW5jZXN0
b3JMYXllciA9PSByZW5kZXJlcigpLT52aWV3KCktPmxheWVyKCkpIHsKKyAgICAgICAgICAgIC8v
IElmIHRoZSBmaXhlZCBsYXllcidzIGNvbnRhaW5lciBpcyB0aGUgcm9vdCwganVzdCBhZGQgaW4g
dGhlIG9mZnNldCBvZiB0aGUgdmlldy4gV2UgY2FuIG9idGFpbiB0aGlzIGJ5IGNhbGxpbmcKKyAg
ICAgICAgICAgIC8vIGxvY2FsVG9BYnNvbHV0ZSgpIG9uIHRoZSBSZW5kZXJWaWV3LgorICAgICAg
ICAgICAgRmxvYXRQb2ludCBhYnNQb3MgPSByZW5kZXJlcigpLT5sb2NhbFRvQWJzb2x1dGUoRmxv
YXRQb2ludCgpLCB0cnVlKTsKKyAgICAgICAgICAgIHhQb3MgKz0gYWJzUG9zLngoKTsKKyAgICAg
ICAgICAgIHlQb3MgKz0gYWJzUG9zLnkoKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
fQogICAgIH0KICAKICAgICBSZW5kZXJMYXllciogcGFyZW50TGF5ZXI7Ci0gICAgaWYgKHJlbmRl
cmVyKCktPnN0eWxlKCktPnBvc2l0aW9uKCkgPT0gQWJzb2x1dGVQb3NpdGlvbikgewotICAgICAg
ICAvLyBEbyB3aGF0IGVuY2xvc2luZ1Bvc2l0aW9uZWRBbmNlc3RvcigpIGRvZXMsIGJ1dCBjaGVj
ayBmb3IgYW5jZXN0b3JMYXllciBhbG9uZyB0aGUgd2F5CisgICAgLy8gRm9yIGEgZml4ZWQgbGF5
ZXIsIGlmIHdlJ3JlIGFza2luZyBmb3IgY29vcmRzIHJlbGF0aXZlIHRvIHNvbWUgb3RoZXIgYW5j
ZXN0b3IsIHRoZW4gaXQgbXVzdCBiZQorICAgIC8vIGVuY2xvc2VkIGluIGEgZml4ZWQgcG9zaXRp
b24gY29udGFpbmVyIChlLmcuIGEgdHJhbnNmb3JtZWQgZWxlbWVudCksIHNvIGl0IGJlaGF2ZXMg
bGlrZSBhbiBhYnNvbHV0ZWx5CisgICAgLy8gcG9zaXRpb25lZCBlbGVtZW50LgorICAgIGlmIChw
b3NpdGlvbiA9PSBBYnNvbHV0ZVBvc2l0aW9uIHx8IHBvc2l0aW9uID09IEZpeGVkUG9zaXRpb24p
IHsKKyAgICAgICAgLy8gRG8gd2hhdCBlbmNsb3NpbmdQb3NpdGlvbmVkQW5jZXN0b3IoKSBkb2Vz
LCBidXQgY2hlY2sgZm9yIGFuY2VzdG9yTGF5ZXIgYWxvbmcgdGhlIHdheS4KICAgICAgICAgcGFy
ZW50TGF5ZXIgPSBwYXJlbnQoKTsKICAgICAgICAgYm9vbCBmb3VuZEFuY2VzdG9yRmlyc3QgPSBm
YWxzZTsKICAgICAgICAgd2hpbGUgKHBhcmVudExheWVyKSB7Cg==
</data>
<flag name="review"
          id="28084"
          type_id="1"
          status="-"
          setter="mitz"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>45943</attachid>
            <date>2010-01-05 17:11:57 -0800</date>
            <delta_ts>2010-01-12 15:22:58 -0800</delta_ts>
            <desc>Revised patch</desc>
            <filename>31283_patch.txt</filename>
            <type>text/plain</type>
            <size>10122</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBjNDU2ZThlLi5kMDBjMTJiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTAtMDEt
MDUgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgcG9zaXRpb246Zml4ZWQgYW5kIHRy
YW5zZm9ybSBvbiBzYW1lIGVsZW1lbnQgYnJlYWtzIGZpeGVkIGJlaGF2aW9yCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMTI4MworCisgICAgICAgIFRl
c3QgZm9yIHRyYW5zZm9ybXMgY29tYmluZWQgd2l0aCBmaXhlZCBwb3NpdGlvbmluZy4KKworICAg
ICAgICAqIHBsYXRmb3JtL21hYy90cmFuc2Zvcm1zLzJkL3RyYW5zZm9ybS1maXhlZC1jb250YWlu
ZXItZXhwZWN0ZWQuY2hlY2tzdW06IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy90cmFu
c2Zvcm1zLzJkL3RyYW5zZm9ybS1maXhlZC1jb250YWluZXItZXhwZWN0ZWQucG5nOiBBZGRlZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvdHJhbnNmb3Jtcy8yZC90cmFuc2Zvcm0tZml4ZWQtY29u
dGFpbmVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogdHJhbnNmb3Jtcy8yZC90cmFu
c2Zvcm0tZml4ZWQtY29udGFpbmVyLmh0bWw6IEFkZGVkLgorCiAyMDEwLTAxLTA1ICBEb21pbmlj
IE1henpvbmkgIDxkbWF6em9uaUBnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERh
cmluIEFkbGVyLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RyYW5zZm9y
bXMvMmQvdHJhbnNmb3JtLWZpeGVkLWNvbnRhaW5lci1leHBlY3RlZC5jaGVja3N1bSBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy90cmFuc2Zvcm1zLzJkL3RyYW5zZm9ybS1maXhlZC1jb250YWlu
ZXItZXhwZWN0ZWQuY2hlY2tzdW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
OTBjMzgzYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy90cmFu
c2Zvcm1zLzJkL3RyYW5zZm9ybS1maXhlZC1jb250YWluZXItZXhwZWN0ZWQuY2hlY2tzdW0KQEAg
LTAsMCArMSBAQAorMDVkOWQxMDk2ZGQwOTZjMGI5MDAxNWY3OWEyYWQ2YTgKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdHJh
bnNmb3Jtcy8yZC90cmFuc2Zvcm0tZml4ZWQtY29udGFpbmVyLWV4cGVjdGVkLnBuZyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy90cmFuc2Zvcm1zLzJkL3RyYW5zZm9ybS1maXhlZC1jb250YWlu
ZXItZXhwZWN0ZWQucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmViYTEy
MGYKQmluYXJ5IGZpbGVzIC9kZXYvbnVsbCBhbmQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
dHJhbnNmb3Jtcy8yZC90cmFuc2Zvcm0tZml4ZWQtY29udGFpbmVyLWV4cGVjdGVkLnBuZyBkaWZm
ZXIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy90cmFuc2Zvcm1zLzJkL3Ry
YW5zZm9ybS1maXhlZC1jb250YWluZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL3RyYW5zZm9ybXMvMmQvdHJhbnNmb3JtLWZpeGVkLWNvbnRhaW5lci1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzJjMWM4ZQotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy90cmFuc2Zvcm1zLzJkL3RyYW5zZm9y
bS1maXhlZC1jb250YWluZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjEgQEAKK2xheWVyIGF0
ICgwLDApIHNpemUgNzg1eDExNTAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDc4NXg2MDAK
K2xheWVyIGF0ICgwLDApIHNpemUgNzg1eDExNTAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgw
LDApIHNpemUgNzg1eDExNTAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoMCwxNTApIHNpemUg
Nzg1eDEwMDAKKyAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwyNTApIHNpemUgNzg1eDE4Cisg
ICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDU0NngxOAorICAgICAgICAg
IHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDU0NjogIlRlc3RzIGZpeGVkIHBvc2l0aW9uIGVsZW1l
bnRzIGNvbWJpbmVkIHdpdGggdHJhbnNmb3Jtcy4gWW91IHNob3VsZCBzZWUgbm8gcmVkIGFib3Zl
LiIKK2xheWVyIGF0ICg1MCwyMDApIHNpemUgMTAweDEwMAorICBSZW5kZXJCbG9jayAocG9zaXRp
b25lZCkge0RJVn0gYXQgKDUwLDIwMCkgc2l6ZSAxMDB4MTAwIFtiZ2NvbG9yPSNGRjAwMDBdCits
YXllciBhdCAoMjUwLDIwMCkgc2l6ZSAxMDB4MTAwCisgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVk
KSB7RElWfSBhdCAoMjUwLDIwMCkgc2l6ZSAxMDB4MTAwIFtiZ2NvbG9yPSNGRjAwMDBdCitsYXll
ciBhdCAoNTAsMTUwKSBzaXplIDEwMHgxMDAKKyAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDUwLDAp
IHNpemUgMTAweDEwMAorbGF5ZXIgYXQgKDUwLDIwMCkgc2l6ZSAxMDB4MTAwCisgIFJlbmRlckJs
b2NrIChwb3NpdGlvbmVkKSB7RElWfSBhdCAoMCw1MCkgc2l6ZSAxMDB4MTAwIFtiZ2NvbG9yPSMw
MDgwMDBdCitsYXllciBhdCAoMjUwLDE1MCkgc2l6ZSAxMDB4MTAwCisgIFJlbmRlckJsb2NrIChw
b3NpdGlvbmVkKSB7RElWfSBhdCAoMjUwLDUwKSBzaXplIDEwMHgxMDAKK2xheWVyIGF0ICgyNTAs
MjAwKSBzaXplIDEwMHgxMDAKKyAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsNTApIHNpemUgMTAw
eDEwMCBbYmdjb2xvcj0jMDA4MDAwXQorc2Nyb2xsZWQgdG8gMCwxMDAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3RyYW5zZm9ybXMvMmQvdHJhbnNmb3JtLWZpeGVkLWNvbnRhaW5lci5odG1sIGIv
TGF5b3V0VGVzdHMvdHJhbnNmb3Jtcy8yZC90cmFuc2Zvcm0tZml4ZWQtY29udGFpbmVyLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzk4MThjYwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3RyYW5zZm9ybXMvMmQvdHJhbnNmb3JtLWZpeGVkLWNvbnRhaW5l
ci5odG1sCkBAIC0wLDAgKzEsNTYgQEAKKzwhRE9DVFlQRSBodG1sPgorCis8aHRtbD4KKzxoZWFk
PgorICA8c3R5bGUgdHlwZT0idGV4dC9jc3MiIG1lZGlhPSJzY3JlZW4iPgorICAgIGJvZHkgewor
ICAgICAgbWFyZ2luOiAwOworICAgICAgaGVpZ2h0OiAxMDAwcHg7CisgICAgfQorICAgIAorICAg
IC5ib3ggeworICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAg
IG91dGxpbmU6IDFweCBzb2xpZCBibGFjazsKKyAgICB9CisKKyAgICAuZml4ZWQgeworICAgICAg
cG9zaXRpb246IGZpeGVkOworICAgIH0KKworICAgIC50cmFuc2Zvcm1lZCB7CisgICAgICAtd2Vi
a2l0LXRyYW5zZm9ybTogcm90YXRlKDApOworICAgIH0KKyAgICAKKyAgICAuaW5kaWNhdG9yIHsK
KyAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDsK
KyAgICB9CisgICAgCisgIDwvc3R5bGU+CisgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
IiBjaGFyc2V0PSJ1dGYtOCI+CisgICAgLy8gU2Nyb2xsIG9uIGxvYWQgdG8gdGVzdCBmaXhlZCBw
b3NpdGlvbmluZy4KKyAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGZ1bmN0aW9u
KCkgeworICAgICAgd2luZG93LnNjcm9sbFRvKDAsIDEwMCk7CisgICAgfSwgZmFsc2UpCisgIDwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisKKyAgPGRpdiBjbGFzcz0iaW5kaWNhdG9yIGJveCIg
c3R5bGU9ImxlZnQ6IDUwcHg7IHRvcDogMjAwcHg7Ij48L2Rpdj4KKyAgPGRpdiBjbGFzcz0iaW5k
aWNhdG9yIGJveCIgc3R5bGU9ImxlZnQ6IDI1MHB4OyB0b3A6IDIwMHB4OyI+PC9kaXY+CisKKyAg
PGRpdiBjbGFzcz0idHJhbnNmb3JtZWQgYm94IiBzdHlsZT0ibWFyZ2luOiAxNTBweCA1MHB4OyI+
CisgICAgPGRpdiBjbGFzcz0iZml4ZWQgYm94IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogZ3Jl
ZW47IG1hcmdpbi10b3A6IDUwcHg7Ij4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+CisKKyAgPGRpdiBj
bGFzcz0idHJhbnNmb3JtZWQgZml4ZWQgYm94IiBzdHlsZT0ibGVmdDogMjUwcHg7IHRvcDogNTBw
eDsiPgorICAgIDxkaXYgY2xhc3M9InRyYW5zZm9ybWVkIGJveCIgc3R5bGU9Im1hcmdpbi10b3A6
IDUwcHg7IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOyI+CisgICAgPC9kaXY+CisgIDwvZGl2Pgor
CisgIDxwPlRlc3RzIGZpeGVkIHBvc2l0aW9uIGVsZW1lbnRzIGNvbWJpbmVkIHdpdGggdHJhbnNm
b3Jtcy4gWW91IHNob3VsZCBzZWUgbm8gcmVkIGFib3ZlLjwvcD4KKworPC9ib2R5PgorPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdl
TG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjY0NjIxYy4uOWJiNzc4YSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwy
OCBAQAorMjAxMC0wMS0wNSAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBwb3NpdGlv
bjpmaXhlZCBhbmQgdHJhbnNmb3JtIG9uIHNhbWUgZWxlbWVudCBicmVha3MgZml4ZWQgYmVoYXZp
b3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMxMjgz
CisKKyAgICAgICAgRml4IGludGVyYWN0aW9ucyBvZiB0cmFuc2Zvcm1zIGFuZCBmaXhlZCBwb3Np
dGlvbmluZywgbmFtZWx5IHRoYXQgZml4ZWQgcG9zaXRpb24KKyAgICAgICAgZWxlbWVudHMgd2l0
aCBhIHRyYW5zZm9ybWVkIGFuY2VzdG9yIGFyZSBwb3NpdGlvbmVkIHJlbGF0aXZlIHRvIHRoYXQg
YW5jZXN0b3IsCisgICAgICAgIGFuZCBhbiBlbGVtZW50IHdpdGggYm90aCBhIHRyYW5zZm9ybSBh
bmQgZml4ZWQgcG9zaXRpb24gcmVzcGVjdHMgdGhhdCBwb3NpdGlvbmluZy4KKyAgICAgICAgCisg
ICAgICAgIFRlc3Q6IHRyYW5zZm9ybXMvMmQvdHJhbnNmb3JtLWZpeGVkLWNvbnRhaW5lci5odG1s
CisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckJveDo6bWFwTG9jYWxUb0NvbnRhaW5lcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJCb3g6Om1hcEFic29sdXRlVG9Mb2NhbFBvaW50KToKKyAgICAgICAgVHJhbnNmb3JtcyBzaG91
bGQgbm90IHVuY29uZGl0aW9uYWxseSBzdG9wIHRoZSBwcm9wYWdhdGlvbiBvZiB0aGUgJ2ZpeGVk
JyBmbGFnIHRvIGFuY2VzdG9ycywKKyAgICAgICAgYnV0IG9ubHkgaWYgdGhlIHRyYW5zZm9ybWVk
IGVsZW1lbnQgaXMgbm90IGl0c2VsZiBmaXhlZC4KKyAgICAgICAgCisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpjb252
ZXJ0VG9MYXllckNvb3Jkcyk6CisgICAgICAgIEZpeCB0aGlzIG1ldGhvZCB0byBiZWhhdmUgY29y
cmVjdGx5IGZvciBmaXhlZCBwb3NpdGlvbiBsYXllcnMgd2hvc2UgY29udGFpbmVyIGlzIG5vdAor
ICAgICAgICB0aGUgcm9vdCwgYnV0IHNvbWUgb3RoZXIgKHByb2JhYmx5IHRyYW5zZm9ybWVkKSBh
bmNlc3Rvci4gSW4gdGhhdCBjYXNlLCB3ZSBjYW4gZmFsbCBpbnRvCisgICAgICAgIHRoZSAicG9z
aXRpb246IGFic29sdXRlIiBjb2RlIHBhdGguCisKIDIwMTAtMDEtMDUgIFlhZWwgQWhhcm9uICA8
eWFlbC5haGFyb25Abm9raWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUm9o
ZGUgQ2hyaXN0aWFuc2VuLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94
LmNwcCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKaW5kZXggMzM5MTkzYS4uMGMz
NDIzYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAorKysgYi9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCkBAIC05NDEsMTggKzk0MSwyMCBAQCB2b2lk
IFJlbmRlckJveDo6bWFwTG9jYWxUb0NvbnRhaW5lcihSZW5kZXJCb3hNb2RlbE9iamVjdCogcmVw
YWludENvbnRhaW5lciwgYm9vbAogICAgICAgICB9CiAgICAgfQogCi0gICAgaWYgKHN0eWxlKCkt
PnBvc2l0aW9uKCkgPT0gRml4ZWRQb3NpdGlvbikKLSAgICAgICAgZml4ZWQgPSB0cnVlOwotCiAg
ICAgYm9vbCBjb250YWluZXJTa2lwcGVkOwogICAgIFJlbmRlck9iamVjdCogbyA9IGNvbnRhaW5l
cihyZXBhaW50Q29udGFpbmVyLCAmY29udGFpbmVyU2tpcHBlZCk7CiAgICAgaWYgKCFvKQogICAg
ICAgICByZXR1cm47CiAKKyAgICBib29sIGlzRml4ZWRQb3MgPSBzdHlsZSgpLT5wb3NpdGlvbigp
ID09IEZpeGVkUG9zaXRpb247CiAgICAgYm9vbCBoYXNUcmFuc2Zvcm0gPSBoYXNMYXllcigpICYm
IGxheWVyKCktPnRyYW5zZm9ybSgpOwotICAgIGlmIChoYXNUcmFuc2Zvcm0pCi0gICAgICAgIGZp
eGVkID0gZmFsc2U7ICAvLyBFbGVtZW50cyB3aXRoIHRyYW5zZm9ybXMgYWN0IGFzIGEgY29udGFp
bmluZyBibG9jayBmb3IgZml4ZWQgcG9zaXRpb24gZGVzY2VuZGFudHMKLQorICAgIGlmIChoYXNU
cmFuc2Zvcm0pIHsKKyAgICAgICAgLy8gSWYgdGhpcyBib3ggaGFzIGEgdHJhbnNmb3JtLCBpdCBh
Y3RzIGFzIGEgZml4ZWQgcG9zaXRpb24gY29udGFpbmVyIGZvciBmaXhlZCBkZXNjZW5kYW50cywK
KyAgICAgICAgLy8gYW5kIG1heSBpdHNlbGYgYWxzbyBiZSBmaXhlZCBwb3NpdGlvbi4gU28gcHJv
cGFnYXRlICdmaXhlZCcgdXAgb25seSBpZiB0aGlzIGJveCBpcyBmaXhlZCBwb3NpdGlvbi4KKyAg
ICAgICAgZml4ZWQgJj0gaXNGaXhlZFBvczsKKyAgICB9IGVsc2UKKyAgICAgICAgZml4ZWQgfD0g
aXNGaXhlZFBvczsKKyAgICAKICAgICBJbnRTaXplIGNvbnRhaW5lck9mZnNldCA9IG9mZnNldEZy
b21Db250YWluZXIobyk7CiAKICAgICBib29sIHByZXNlcnZlM0QgPSB1c2VUcmFuc2Zvcm1zICYm
IChvLT5zdHlsZSgpLT5wcmVzZXJ2ZXMzRCgpIHx8IHN0eWxlKCktPnByZXNlcnZlczNEKCkpOwpA
QCAtOTc5LDEyICs5ODEsMTQgQEAgdm9pZCBSZW5kZXJCb3g6Om1hcEFic29sdXRlVG9Mb2NhbFBv
aW50KGJvb2wgZml4ZWQsIGJvb2wgdXNlVHJhbnNmb3JtcywgVHJhbnNmb3IKICAgICAvLyBXZSBk
b24ndCBleHBlY3QgYWJzb2x1dGVUb0xvY2FsKCkgdG8gYmUgY2FsbGVkIGR1cmluZyBsYXlvdXQg
KHlldCkKICAgICBBU1NFUlQoIXZpZXcoKSB8fCAhdmlldygpLT5sYXlvdXRTdGF0ZUVuYWJsZWQo
KSk7CiAgICAgCi0gICAgaWYgKHN0eWxlKCktPnBvc2l0aW9uKCkgPT0gRml4ZWRQb3NpdGlvbikK
LSAgICAgICAgZml4ZWQgPSB0cnVlOwotCisgICAgYm9vbCBpc0ZpeGVkUG9zID0gc3R5bGUoKS0+
cG9zaXRpb24oKSA9PSBGaXhlZFBvc2l0aW9uOwogICAgIGJvb2wgaGFzVHJhbnNmb3JtID0gaGFz
TGF5ZXIoKSAmJiBsYXllcigpLT50cmFuc2Zvcm0oKTsKLSAgICBpZiAoaGFzVHJhbnNmb3JtKQot
ICAgICAgICBmaXhlZCA9IGZhbHNlOyAgLy8gRWxlbWVudHMgd2l0aCB0cmFuc2Zvcm1zIGFjdCBh
cyBhIGNvbnRhaW5pbmcgYmxvY2sgZm9yIGZpeGVkIHBvc2l0aW9uIGRlc2NlbmRhbnRzCisgICAg
aWYgKGhhc1RyYW5zZm9ybSkgeworICAgICAgICAvLyBJZiB0aGlzIGJveCBoYXMgYSB0cmFuc2Zv
cm0sIGl0IGFjdHMgYXMgYSBmaXhlZCBwb3NpdGlvbiBjb250YWluZXIgZm9yIGZpeGVkIGRlc2Nl
bmRhbnRzLAorICAgICAgICAvLyBhbmQgbWF5IGl0c2VsZiBhbHNvIGJlIGZpeGVkIHBvc2l0aW9u
LiBTbyBwcm9wYWdhdGUgJ2ZpeGVkJyB1cCBvbmx5IGlmIHRoaXMgYm94IGlzIGZpeGVkIHBvc2l0
aW9uLgorICAgICAgICBmaXhlZCAmPSBpc0ZpeGVkUG9zOworICAgIH0gZWxzZQorICAgICAgICBm
aXhlZCB8PSBpc0ZpeGVkUG9zOwogICAgIAogICAgIFJlbmRlck9iamVjdCogbyA9IGNvbnRhaW5l
cigpOwogICAgIGlmICghbykKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyLmNwcCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAppbmRleCAwZDFlYWNm
Li5mODRkMDgyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAK
KysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC05ODYsMTkgKzk4Niwy
NSBAQCBSZW5kZXJMYXllcjo6Y29udmVydFRvTGF5ZXJDb29yZHMoY29uc3QgUmVuZGVyTGF5ZXIq
IGFuY2VzdG9yTGF5ZXIsIGludCYgeFBvcywgaQogewogICAgIGlmIChhbmNlc3RvckxheWVyID09
IHRoaXMpCiAgICAgICAgIHJldHVybjsKLSAgICAgICAgCi0gICAgaWYgKHJlbmRlcmVyKCktPnN0
eWxlKCktPnBvc2l0aW9uKCkgPT0gRml4ZWRQb3NpdGlvbikgewotICAgICAgICAvLyBBZGQgaW4g
dGhlIG9mZnNldCBvZiB0aGUgdmlldy4gIFdlIGNhbiBvYnRhaW4gdGhpcyBieSBjYWxsaW5nCi0g
ICAgICAgIC8vIGxvY2FsVG9BYnNvbHV0ZSgpIG9uIHRoZSBSZW5kZXJWaWV3LgotICAgICAgICBG
bG9hdFBvaW50IGFic1BvcyA9IHJlbmRlcmVyKCktPmxvY2FsVG9BYnNvbHV0ZShGbG9hdFBvaW50
KCksIHRydWUpOwotICAgICAgICB4UG9zICs9IGFic1Bvcy54KCk7Ci0gICAgICAgIHlQb3MgKz0g
YWJzUG9zLnkoKTsKLSAgICAgICAgcmV0dXJuOworCisgICAgRVBvc2l0aW9uIHBvc2l0aW9uOwor
ICAgIGlmICgocG9zaXRpb24gPSByZW5kZXJlcigpLT5zdHlsZSgpLT5wb3NpdGlvbigpKSA9PSBG
aXhlZFBvc2l0aW9uKSB7CisgICAgICAgIGlmICghYW5jZXN0b3JMYXllciB8fCBhbmNlc3Rvckxh
eWVyID09IHJlbmRlcmVyKCktPnZpZXcoKS0+bGF5ZXIoKSkgeworICAgICAgICAgICAgLy8gSWYg
dGhlIGZpeGVkIGxheWVyJ3MgY29udGFpbmVyIGlzIHRoZSByb290LCBqdXN0IGFkZCBpbiB0aGUg
b2Zmc2V0IG9mIHRoZSB2aWV3LiBXZSBjYW4gb2J0YWluIHRoaXMgYnkgY2FsbGluZworICAgICAg
ICAgICAgLy8gbG9jYWxUb0Fic29sdXRlKCkgb24gdGhlIFJlbmRlclZpZXcuCisgICAgICAgICAg
ICBGbG9hdFBvaW50IGFic1BvcyA9IHJlbmRlcmVyKCktPmxvY2FsVG9BYnNvbHV0ZShGbG9hdFBv
aW50KCksIHRydWUpOworICAgICAgICAgICAgeFBvcyArPSBhYnNQb3MueCgpOworICAgICAgICAg
ICAgeVBvcyArPSBhYnNQb3MueSgpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CiAg
ICAgfQogIAogICAgIFJlbmRlckxheWVyKiBwYXJlbnRMYXllcjsKLSAgICBpZiAocmVuZGVyZXIo
KS0+c3R5bGUoKS0+cG9zaXRpb24oKSA9PSBBYnNvbHV0ZVBvc2l0aW9uKSB7Ci0gICAgICAgIC8v
IERvIHdoYXQgZW5jbG9zaW5nUG9zaXRpb25lZEFuY2VzdG9yKCkgZG9lcywgYnV0IGNoZWNrIGZv
ciBhbmNlc3RvckxheWVyIGFsb25nIHRoZSB3YXkKKyAgICAvLyBGb3IgYSBmaXhlZCBsYXllciwg
aWYgd2UncmUgYXNraW5nIGZvciBjb29yZHMgcmVsYXRpdmUgdG8gc29tZSBvdGhlciBhbmNlc3Rv
ciwgdGhlbiBpdCBtdXN0IGJlCisgICAgLy8gZW5jbG9zZWQgaW4gYSBmaXhlZCBwb3NpdGlvbiBj
b250YWluZXIgKGUuZy4gYSB0cmFuc2Zvcm1lZCBlbGVtZW50KSwgc28gaXQgYmVoYXZlcyBsaWtl
IGFuIGFic29sdXRlbHkKKyAgICAvLyBwb3NpdGlvbmVkIGVsZW1lbnQuCisgICAgaWYgKHBvc2l0
aW9uID09IEFic29sdXRlUG9zaXRpb24gfHwgcG9zaXRpb24gPT0gRml4ZWRQb3NpdGlvbikgewor
ICAgICAgICAvLyBEbyB3aGF0IGVuY2xvc2luZ1Bvc2l0aW9uZWRBbmNlc3RvcigpIGRvZXMsIGJ1
dCBjaGVjayBmb3IgYW5jZXN0b3JMYXllciBhbG9uZyB0aGUgd2F5LgogICAgICAgICBwYXJlbnRM
YXllciA9IHBhcmVudCgpOwogICAgICAgICBib29sIGZvdW5kQW5jZXN0b3JGaXJzdCA9IGZhbHNl
OwogICAgICAgICB3aGlsZSAocGFyZW50TGF5ZXIpIHsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46404</attachid>
            <date>2010-01-12 15:23:02 -0800</date>
            <delta_ts>2010-01-12 16:11:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-31283-20100112152300.patch</filename>
            <type>text/plain</type>
            <size>29364</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBkMGE4ZTllLi44YjczODk1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTAtMDEt
MTIgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgcG9zaXRpb246Zml4ZWQgYW5kIHRy
YW5zZm9ybSBvbiBzYW1lIGVsZW1lbnQgYnJlYWtzIGZpeGVkIGJlaGF2aW9yCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMTI4MworCisgICAgICAgIFRl
c3QgZm9yIHRyYW5zZm9ybXMgY29tYmluZWQgd2l0aCBmaXhlZCBwb3NpdGlvbmluZy4KKworICAg
ICAgICAqIHBsYXRmb3JtL21hYy90cmFuc2Zvcm1zLzJkL3RyYW5zZm9ybS1maXhlZC1jb250YWlu
ZXItZXhwZWN0ZWQuY2hlY2tzdW06IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy90cmFu
c2Zvcm1zLzJkL3RyYW5zZm9ybS1maXhlZC1jb250YWluZXItZXhwZWN0ZWQucG5nOiBBZGRlZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvdHJhbnNmb3Jtcy8yZC90cmFuc2Zvcm0tZml4ZWQtY29u
dGFpbmVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogdHJhbnNmb3Jtcy8yZC90cmFu
c2Zvcm0tZml4ZWQtY29udGFpbmVyLmh0bWw6IEFkZGVkLgorCiAyMDEwLTAxLTEyICBCZXRoIERh
a2luICA8YmRha2luQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2Vpbmln
LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RyYW5zZm9ybXMvMmQvdHJh
bnNmb3JtLWZpeGVkLWNvbnRhaW5lci1leHBlY3RlZC5jaGVja3N1bSBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy90cmFuc2Zvcm1zLzJkL3RyYW5zZm9ybS1maXhlZC1jb250YWluZXItZXhwZWN0
ZWQuY2hlY2tzdW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTBjMzgzYQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy90cmFuc2Zvcm1zLzJk
L3RyYW5zZm9ybS1maXhlZC1jb250YWluZXItZXhwZWN0ZWQuY2hlY2tzdW0KQEAgLTAsMCArMSBA
QAorMDVkOWQxMDk2ZGQwOTZjMGI5MDAxNWY3OWEyYWQ2YTgKXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdHJhbnNmb3Jtcy8y
ZC90cmFuc2Zvcm0tZml4ZWQtY29udGFpbmVyLWV4cGVjdGVkLnBuZyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy90cmFuc2Zvcm1zLzJkL3RyYW5zZm9ybS1maXhlZC1jb250YWluZXItZXhwZWN0
ZWQucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmViYTEyMGZiMjc0NmIwZWU0NjlmYmM4NTUyNTUwOGZhZmE3OTU0
NTIKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDI4NDI0CnpjbWVJYlhJUFd6N0FfMTNCU3BuQj1x
Uzx6S35YP0tQLT4heGZDd2xNaVU/NkAoaUlGWEJtb1FQQWNQX3lBZlZERAp6MGZKUGl2NWJOc0FT
RmFYMn1uLX1wKFROWUJxeis/dnlIUm9lQlpnd3VYQ05fS01pa0w/fFJtfitPeVZyOSR2SUUKei03
M0NNVHRHbHp0R1VAKDh2JWgkQCZXPXZqLXRRdGUjczJFYkNkVTxkMmVJbWl7ezQwQCl2XndKLXop
cjFPJm5hCnpAN3MweD9tR1B8TTw8fjglS18yTHpTfUNvNSlZVT1wPkxTPD45QldQX3VWb21TN1Zh
c3U0VWRJcGhLUWx0fWJ7bQp6QHZVMlIjRHd5RUdkRF4kViE+Vkd7UWIpJmhlcHRjdTBQK1N3JThH
SHB7OVdKclczd0FhKl8lUTM/VHxeNGVCe1QKeml4UXNMK0c2dSFocXF0azhLM25CMHRxan5QTTxn
azhsMUNJYHNNVzk7NUYjPCo5Z2dJWFohYjFSJWtfTlg9WUROCno9SGAyQjtIWVdsZk5EOCkmbjxE
TW9rOS1gaHxkcVYrIWlIe2VfZmhHPlJOP3x5eyhvIVYpJSNDZms+ZFhTfGBIdAp6d1FhfTJVZl5B
YFE7JXU0WT5ifWI7fndLPkhoVHduZXIoO3xXU3Y7cEBPZDc2e3JPV1hgbkpUVD49bjNHPCVyUWMK
emc/QUVyTzlBSXokTEcpPDtRLSZSanBhfU01bzVVakh8Pj94dDVVVzVpZFZKWXtSLVowc3EoX14p
YDByZiNWMktLCnpgPSNARFpZR3s7Ykg1ZjllQSZ6emU8NUpDSzJgKiNqTmdVJTdIV1RLRUY4SlpZ
b3U/T1lDO2dnOU5RK2RXIzUqfQp6dCE1WHVuK1JXZlFocEhfVzNjYnxpSGFiQUJLakJVNnNSVWQk
KjFBPV58UC18THZAQT5ZY0omdzgqbU9DeGJAaCQKelN+UGs2RylFUWwkJEJ6O3ReRz4qUzlgfGUo
eVl3LXJCVkc0bE5valVXYndWTjxINDQkaypSJGxER3NKLUNFKmNgCnpuUkVMOWF9TWRwcnx4Sll7
fEdLO0V2a1cyS2NecGxeeWBPbCZAIyM1OV5+QHpsZit5PGd1ZFo3XilCYDV7QH5Kdwp6YVZQRHco
IUpPfFd+X05zVzZCaDAmRHhjPXhiRF5RaHVnUXEkQ1gyVnBIX0k3e3l9eylgS3R3NTtAZWdLN1Na
Z34Kem44UTgoTmxZYyYpdks5fUd6fU1rYjZDP2sjMWA3NiQ5cTViKmdhJCotbEA4dSRnYk5LJFYz
amR0blptJXs2M3Z+CnpOSnp0UHZeQXNOLX1WLURgKlYraWZaI0hySj1rdjhMUVF+Zzl7a2swdSVp
S2JjZDNuYnU2KDI1eypjJVIqX3Ajbgp6ZGVoUTZiWnVnZj1CQ3Vvd3EzWFJkfndqJiNzK143P19z
Z0tHNlFzZEhzb3RZdVN+JUg9ZWxQWWUteGVmTk1UfFkKemNhKmNzWlB3T0dZekUqfmB9KDhQblNw
Tl8qKFB0bzt2TmJKJFAxWENKIzd+eklMOCl5Ozx4NnFobEI3WEwlbHdeCnpaK2ZAU1oyUTFIZm9y
RDF3fT9gd08telFpSk56cDM+bEdrZXdjPlpDTDZtJkolaE0oekpBe1A/Pn49Pmx7TkBoYwp6REpt
QWR5fFV7eks4UW9AbnVYUk1AblZLQj5PeUB1I2A5ellUZ0ZpYyRxdDdgTHolPDVSODRabDI/Oz9W
VmJTZ0sKenokZ0xVS2d0ZC1xPU1Ie3toTTVDaXdyNT1sKEFVM2BDNnxeci10eGxQa2xXLUEyYmRI
bUs9PXhAV1FgI2tUVyE/CnpvJWBQVmBefT07WEdHSDRKKW5jTnV0OW8+bW0jYGlkTzBMMHNLPUU+
en1NaWg5MnklZ2Z8TmNQQGJyRzdMUjh+Qwp6MW1pMzhLeW5BKT5yO2VQRldOMTw5TmV4VzhAY2U3
aiZmKjFOZ2U8UjdQQ31lX0xYKkcjTFlgWjYzelJwbD5iSFIKejJHUCVpSzVrYzRiP2hybSk2K1NE
TVR3Z1kjfmliPEVjWmJxQVU4aGV1a1clSWk3QV8/RjF4dSVhPV9NT3FQRjBSCnokS1VIMzFCK1I5
eitWKTZ6aDVVQGNDY0pkOWlfIT0yWG1JfSs0P2I3KDx9eTM8NTFLaWxldTAwVyliaDFIO2RuVgp6
O2tzMjBSUERqOGV4U3N7WEpWUCtYN0xYfHdKYShZRTJuX2dMams2QnlTeWIwN1R5ZmRnY0cmSXJU
O15UdTs+LWoKenRGP3BHXmBNMVNFU0pIcDVrRFpNblh7NndsNU0hWXk4NjBsUjdCJjMyNlVqRXot
c0piUmg+akVwUUtXRTBYcll+Cnp7azF8SHVhfTc/XilDTUkoRDxUaCN6Y2QzKkEhJSs4ckFvfTBY
TiYyY0BfN2k1ZHhoXkc5QGhNYUBYbFkoPypQeQp6cih9Y1o7SjtZMExDRzt1eUltI2UlX3t9NFhE
YFA+azM/LTViTmVrTWJZYDxuWUdTNzEjQz9zKFl0WlJYeEw1WDwKeiYxWmpMaj48Kkx2aVN5VEd1
KDBiK1BrLT8kU3QrdmhxUlJmd1I9Jl5zP1lsTkQ/b2FNJHFecXI0fTQjcihLTWgpCno7PFgka0Ry
YCYySGhYfnElc280KXs3aGZtajNXZkM+P0hJNmBNMmVGb1FxQWt3bVNTPU5LLWlKOFY0elU1UTB7
Swp6e0AwQDRgRVlVVld1ZClzM1I+YUQ3UXlAa2Q+IWFgRkAkPzZsOD8+WHBCJVhPSm4hOUVrd0Al
Pk9EKFlyJEF1cXsKeilrRU5Gc2A3VXFYIUQ1JWUpbiVFWF9pelhWRlppUXQrcmVKRXo+Xyt3dk9J
PUR2NGkhaWtgcE58MW1aM3h2SGshCnp4Zm9YTHZqYjc5RUJxXkJEa1A8QFVjWGYjVTtYa1IjN2VF
WVVsPzdxQWokVXtUajd8fDxNLW0odzQyMG8qX2Qlawp6U0hfWjM9ZlVyY2loNDZGZGdCaHtXUTQ1
NnBGc1JgeCF4IVYzY0J4MVBaOWg2c0BLd2pmKWZFTjI1SH1eaSM4ViQKellFQEVLO1RPPTh5cXxf
PSFqSk0la1JtTGNYbnV0c0pmaWA7cEJsUUM5cip5REVHODxTXjdgb29KfGMhaU1kZF5ECnpyZUU8
Zl9ybEtZSzs+Snk4R0otRT9BUSpSS2lCMlBOOXorTWBLU3h1Zjs5UHYydndBaThqODxwKzQmdHok
SU84Twp6OEdsVD1eQVJ6QjRrJUQzWkhWT0smKC04ODBuTFopcFpKSXZpak5XcWBoU3ZQUzlORlNS
QXhSXjQkTyUkK3ZYfGgKeklMTDYqKSY9MmtNbCZFczl7aXhZZVN2Kms9KyZRcyNDWV5aK0Mtb2ps
Zzc7ZXlmVWhVJiUmPDUzP21UK3ViTzNmCno3ZHdJX0YpPHM5QzxfKn1FU0NpYmNBZmpyIWpJPGM9
Qj88ZzJLSj0mX3VtJCF3Z2RsbVMtajEmJXQkPVg5Pyl2OQp6QT1XKktIPChlNmgpLWFBJWVoVkNW
emU5MnFMOVg0NUJMIys+aWw/QzFTPXlXTHUwV3BYOU5jRDwoQl8+TERaWFMKelZickA8IXZUWWZp
P15VYEdNSCMoV3lQY0ArJXM0bXktUnI+RTkrd29CaVJuSjhBUmdMYXlWRkYyZTlrfFMmOHBtCnpi
UD8zalZ5aHl1RG1TZUEkUkhsWkBGZyVCLUE3ejJweXdOSXhlYmc9TUxTZjdoQW5rZkcybW51Q145
c3s2RlF9cAp6SkNMKlZ4TSY1bUwobT1FdC1+ai00JnF4biU5XlIwIUdrI3JOKjRWTi1rPy0xSCVM
KG1uTWVPfTdoT3xGd0glQksKel8pSXRnWFNOVjU7RVM8QCZEYmV6aVZTZzRYMFNJV1pNbSRtZWl5
JnFFbXlmSElOXm51UG9nJmw4VXw+RChSdjVKCnpkNWcoZjh+SXFIMSh4MloqNS13OXlCa1kkSThX
KkMobU16cCt+dklETT8qSll4cnQ1V3VTKSNOQjJgRVYqZ09mOQp6XlZTSWFsdFAlWk9ydVAoTykx
VU49I2JeOU9WRVlyRUg7SjEzYUg4fHpWbGdAYEcjKUdvJVNMKVY7QW1JX0k4RUUKemhffE5KVFlV
IzBhQ0VDTURzT0VXNSFNP3BnIVBrSztSTDJ9V0sxY09uMU8xMT8mcmFkeWV2dkhZbzJWfXg9R1VE
Cnola0pnZF9LMzwqZX5zYEBDdTwkQk9rOVY3ZD8zJn1tUU5MK2c/KXJlYXllXyM2bX5BXzVuWHt3
QDF4NmhNYzY+Kwp6MkxYTmRycndeWlJ4P3NTKnwzPnRgbHhaSztxMGVNZFgqUVR3ck1GOTwwbERO
RkJiQHNEcjUyS2t1YytFcEYxP2QKenhEI35SJVBfSWZWWSVqbCg+TiMzJEAlRXpEWWokUDxmVlhG
e35VdiFmRlZFMXI+P05lYXo7TVErb2NqdVIjbG4pCnpBWGxDZ2JNSElWailsM1YkX2lKTT9qUE5+
e0Yjd05Tdng/IW15fnhlaylgXiQzWkRFPFR3U1FPYGV5Yzd6QntFdwp6LUZMcUdlRHNNa1hBdDZW
Rld1blpLaFJjeD1VbEM/bnAze28mYSp6bmgwYTIpI3JGfD42dTtnU1o0e1lMeTBqeW8KekIlTzY3
RkgwPjV7VSslYF43ZHJoejspVGJgdmNDUzlrTXI7JjtSRDZReWtAWSh4bnsqOFQxUGJSaWg+S3ZX
MWk4CnphQDIlY191ayppQypwO293e2hLeUlIYj9EWUlBVFIyeXpET3AzUlgqM25NMzB2JWRzU3RJ
S3I5bihRaCR7VnRQbAp6TnhYJW1HPXM3Vm1YYktycEFOWFIzcG8weFViUFdhVEZYLWwweE8jVW9h
czdVMj9LbTA1JW5manNNMWMpdnBETVcKemteQW1XR05wdEE5Kk8oKmBzVVF3diZ8Z002e01fVUpP
WURIeCRffWNBbGdeZGo7ODRISXB1VXZgPzFEPnZPJEJ8CnozIThoQU8pcDx8cmAzLTZGciY4WT9C
YFM4N2swZnwwfGNTSlVQez9Qem9zfnU7Qmo2fmB8dmZLaVJ5IXJWQ21nYgp6aTlkZFR4c1ZHcF4w
VipLVFU1fUh4SUJwY3ZSTkxkPllGTlZoOD9reGZvNyVUe0FlMTtMZENjOTEkckZ4ZVNUVC0Kelhw
Xyt2QDdGQUxPSW87ZVAwe3d3JUpkZEhwO3F+OGU2K3QmaXB+X3QmdD5JI3AyNWZga0c/dVRoKF5W
SF9IezRXCno/X0FoeHkwdTBCPXMoPVIkUm01ezwkNkBTRSVWb0ROTHYkU1U5PF83djxEOGpgPmZE
RHQkQnpmMjFfe2VmQTVhZwp6bEloQWNyPkAjVGA7LUBmTjIyXntVXjhEIW9ifUNEWEgrYU9OPHFI
SSNyeXdHNilJckcoNkZadXJUSjBhY3JnSUEKekdrS3sraFh3Sj1tSmJAclAwIXwwUmVZQ1U/dyVh
XzB2Uzl9ZHRNfkpaR1ZINHMkNW8kZytURz5DODxQK089fl5qCnpgb1UqZzsqPWZsLXNBVXdRaU1I
MHZ1MT51ZE1Fdm4mUiQ2K1J2aWVDMi1nP1BlYGp8Mk0pclJScFIkO2UtfGdiQwp6NjE8RDUrK2RC
PkFVZnItcTBhMzNyTUxOK0gkVnBgOTkzNCNPTWRWJWdyWU0/KllsSWxXallwNiE8akk8XmM1NTUK
eihCPUtzJVZePW02bFlOSypjaV92YHhgfGUtZD4+Uz5uPzFnOT9BU090QFV5dTxTSFE+SDRNb3lL
MVRiZi1nQyh4Cno8IUktTz1CfGtMRWk8TyFlVEJMQWpeJG5QcHVmY2hqbzUzOFR+bjVDT3d0Y00q
YDxMTjNKU091I3xNYlJ7e249Ugp6SiVBT2lsaEM4P3lNYyMlV2d2Sz5Jal5ialJqdXgxIyM0U3p0
ViNXdE1TKXdJY3gkN0xTc0pienJLVn1mSml1RDYKenN6d1EhZ0hFZUgtT0BmWGIrZVRaYSlMdG0/
SnI1RHpZcntjYFEpRTdLa2I2WkBAbCRwUCRAald6e0RPUVR+O1hoCnpIeFdEJEojY2pGI2V2b3Ix
LX1MRCkzS1IlRUw/ZUlDUXd7JkNYeGdSYz5oOTMpNjl8MiEjaWdGJXB3O1ZFQFRQPAp6cUIxfXJl
SDhPfSpQPjVxSEUtI2ApUGpWajQpZC1iVGBFWWxvdH0tckVMdnRjS2spfWR4WT8mQktHcGdNMHBE
XkgKenJ6djZ2a2RCWiR5VkpubDh3JGNEaFF+aWo5ZXM3NzJ1WFRpXmlPdyRyN2sybk0/bjJqJmd4
e2ozQFV9JDlyYHIzCnp6aVZBUzxLOWhKNVpwO3tWKDhzJktKI2lUVHE5KXw7QD5kcnNsM3UoQkwh
cTtlQSM4dFUhP1U2emk5TXVzSmBxewp6ZDcqJVFJXlV7a01nSWtlcCNMMn1wI0Jicyo/VUhwYGUq
cS1ZSDxGbGVRSDh9ZHw2aVlJS19Zc3RqS2t5WkpNcCEKejF5cF5NZjRfZz1oMi1DS0BqdD5yQ0Ns
aUUtTDZ2OXo1VjJTTWh8aVBLSTt8dmlAVG9ZK0tETXltaD48VCpoVk18Cno9OE12WEBQd2lAa1ds
TlZRcUBsakh+KEFuSEI/b2lmVW5CbmE8aUxsNnhAZkFjT2FKcWlfO3QrTUA1bjxDKnVvdQp6RzVy
dGBBMVo2VD9nfldqVHdzcHt8SnphNmY5Nl5IZyY4JWlYTDZJQHZmdy00SnFrKTQqekN8QT91PThx
bWwzc2EKelpobU9rMDZ7O1FEYlFtP1MrXlhCNUU1T0RGYzU0T2c9KU9UeUdmM1ZtQ3VxRmc7eClS
aUVaI187ZmJoU1lwYT9fCnpWKCZuZ215Nz1TaDchO25iQ0pZTTBheXwlZmxoRnRfIX11fXlmeHdU
YzN6dGJkbHVqUlkkS1RBQXBXVUI/e2MrQwp6cCgpck1rei0+aldyaDszX2AwRkM4NHI/YyZHfTVO
bl99WTdAcGZSdEM7N1VMVVVubG5hSmVNQ18/e0I3cztaUn4Kel88bVJPOyklRVdNdzBsfDdaTTMl
VWVuOzJrKS1SYi1lMWs/KyVrR3Y0aFpJeDRvSUV0dWlGfFl7eF5eKk1YU1MlCnpyb3tJMWtfdypv
QWooVHBpJE16LSlVUFUpMnlhVClxd0E7YHt1cGlITVFtbll6UCo3YTlKZHlDRGpkMyRjVTNKIwp6
Wj9+QTdsI1ZBej8zMz5NMUFqTWFKNmk9RCpySlp3fDM7MHVCNH0je3pTVTdvdyo1QnFXeH51cS00
TndhK0owZ0IKenBgM3IjX0tKWnlnN1Z3RW44fVgrYChlezM+UFV2OXgzJCFpX1I+ajg5PnxWUWdf
NnArdnVJVT83UU5AeipDRzYyCno7fnZwSTtifDMra29oazNpbEg/WU5sST9NS0BQfG5fbEJubTFP
PWhiWVpfYjthWmZEZ09BSzkyZXhwdClRTjM3Iwp6Q1lteSU/TD9nemN+YFVUZnY4RTRqSyUyKnpp
dSkxcWokZ2pwbzsyMC15Nn1+I0puVjFITElmVmBIKHtmPn1LYFQKelQ5RDxMQ3R7KzM2UD8yeSVW
PD44UXxHVUkqXlI1ZTFNZmM/XjdPdXM+d0BSUj1UKV58S0tSNT1wamhuN287dkNjCno0YWw2b1Jr
LXByVSNOUSVCa3xkMF9ETyt8Q2cjXjw0QGl8eSt5IUtGRTYyZFU2YX07YUM1byVPdWMrMUNVJX5l
bwp6UUUjK2BRT3U8MTVTfismUm0yTCU2UWBVc1l7a3JGeX1ncmcjMkVES3JvV2o1JWQwdlR1VjBF
KismQ1FiRyQjSkIKemUlZkshKFZhayl5M0p8Iz83e012fDBTKzdKPTFQRVorSVNwazAlSjFmUCNN
eFpvS1NLWTlseXtoWmVnOTJLTk8yCno1YWRIJDxXbSFWMXV9aEYzPVg/ejFld08pc2xHc1JSRW82
d2BVR0BQWD9qYlh6fjlJKm0pfkB5YGhzOWpTSW8lZgp6QnctfG87MG5AcWNVNSNkNzxST0dIYyMo
YDxVaWZ2ZE42ViNaQTVsWkRYR0h+dU9sV2FidzIxK2l4JDkpPWVGbFEKejE9fGJnKXxRKl9EVUR5
RntZe1dBZzh7Vn1Wb2xabEI4aFAyNj01VzhjRlBROyhmVUFibmVWUzlodWBxMFQxR0VDCnpMcktH
fGt0ZUVBUGhZaVBZfEtMNCVVXiVoMGhlKUJkOWFAYD9WJURVNUpWYVVeTGdDTDs8dHgmSShTP3Up
QCV0Iwp6QmVmSiNiXj13eT5fcHROZjJ9QzFhcFp+WFZ+OEd+RmQ9dDcwVG4yRT1hREByVmZ4bTkj
Sk9wRUhqcWdYUDgzKTQKemVoI1ViKiVXbHsrRmRAZ1ctY1RxP1Y+OUM2QW5NJkBEQmpgMzVURTc7
aXEtQFF5bX1VKl57NGVfejghZmFRRiNfCnp8MnR5YG9WWV5ZVSRwPX48QX1lIXswK1ZUR21pS2ZO
QmtjZVJ5UXNSQ3Q2RjdCPVp0ZSRlcFdJclpUdHc2NU5+awp6S2xkJG1vdG9NXmleX0JZUnArN1Bt
aUwyfHBPby18JCRscXZROzArMHVZJm44PmxNN1JqI3A3c1dTcTxYZkE0ekIKelpzS0tabGVLdVVj
SH5MbF9RKDFAem18Qnx2PlhgQTN1LUEqUlJEP0NSbktgT2pWMUNZIS1VSXJ6dGpYNDNlMCpMCnpR
fTNHSFg7Sm1acCFSOFlFdXRQQXdPI3QzV31uMzU+SSFPR2JqO2w9MmRYWGFuQkdzYC0/e2klR1RC
QGR1UUh1Mwp6MT8qSncrd3B5OD0kT2U+PVdhS0EmN2k7TW5Mdk1NIVRlaz8hPyRpUXktZzhCPU5I
TVhySVljejlPOzUqM0V5VHwKeip0IyZQek1IWFBXe1luN3R6cFpEaFRgKlBaRX5+ZUJYYSk9eE4m
dmYzNlQwRjRaWitjeEtRanI1eDEke15UMUBZCno1SFdlRmIxMHotRHsmX1c9Y0N6UWlyKHNGQGtQ
KzQ1fSMyJE5tYnBEJTg8dEZBfmBkOUZkOG47NGlQZkRwSCVmbAp6JnZge3FIP1JFa1V5QX5hO19k
Z2BpJnZMSSgme1pILTNJJTtwXilUP21NUW4lJV8lLUZLJmdwdCo8VnklPkc0LUwKek5DXkFmU3gh
LW4mVkxBRTxgZlo0QT9EeUokalBxNzZXSD90eF48dn5kdTdaMUQ/eHVYSjtZdz5QKE9+VSRPZncz
CnpEYDh6S3c+bHpeVFM2cmkkT3FOVCs9S3NeMTJgPD8hc0Y8JmxZWk0+OWskWkZ5XzJleWw0V1Zq
SDdJallFeTF6KQp6cH1LfX1JN3NUaF9MTj5HQ0ppMWZFb1RtTlJvOzNXOylFN1g1dHI4JVdGQkQx
UCZSZX00dEdzbDtZKCE5TCF6QmoKeldoKDd9UT5rWXZOKXFoLWxWLWQzNENFRy1mO011cEhlPkZO
YmUmalp7JDBCNXVWYTg5ZmFhRn5PfHlYSStXO3phCnooMTdmcnNfO29zT3w2MUNjdkJrJns2Jm52
TXlPRWl2IX5ifHNuZmdGSnx5OypDazNAPTc5ZFQ4JT5LVyhePiY+Pwp6M0U2YSVwYV8/NiRuWFJR
Yk99Z1JvKm5VTDB4amFseCl6Sz9lb3ZCKzhKT30hPF5FQ0lgSW5jPCk2OFkhP2pnbWMKekReZDMq
bz9oR1dIKiVFNCtAc0tHaGs/dzJGUlVMbl9Kb2xoZE40Y0ZtNENZOTRmLUIoc0F0ZUVPWD1WRipm
WndhCnpybypOLWVeUjxmUEZaZGptIUlCVSE8WG9PYS1oNik9OVRYdE1NdnYtWkIzfl9QdUlQaShO
eyo8Zj12a3deTkReKQp6ezJndFB1WFRLejN7Uz1FQWJIZjtxKGJ7dHQmcUxIaHVXcWxKX2doYlZC
RTtVTiNtVHhJcmtrdkUxN2x2LUtWcUIKeldyS3h2SmckSkl6SU5FS3pnRD5qblRhNCNRNih2N2Bm
PEIwUjh9NVZTZ0N4azQ7Wn45UkVmSCs8YlFqKEw/Jj4wCnpjNV5hJjJxa0JSJUAoa15ybGVOWXhm
PSVUSmo3cDYjeHQraUArPn5NSE88P3NlWFc1SVQoazQlVWctfDN7UXFwfgp6b3RPOCVwNHZQOyVl
ZHN5diZWbjlCaU50PXZsRDApMDVYcT5NZ0xjKEBvUGFnTmFTfTJqYiNRJTZqdmFfZT1YQDEKekg+
KyskeGdDRCtSODgtQj94bkJhd0c1RCNTeHdMUTtfTHxve0RpfCNJUSlkZVBkTk92NG5NOEtVaz18
LT4rc1dBCnpgc3BuRkMhRn5TaG81bHgzNVRDPipyPF5HOEF8XmNOezdGNTBLeiViaC1ObH0lT01V
UGFiNWhLOSoxM3hxcU07MQp6VENCaXBadEg7c0hGQklXSXJ0Kz8xWn1iYCFyRWFOTERMI3ErdVBG
OExQNC1HVCombUUqUmdWSTFibE4xZCM7TiEKej1QJEJ0NEZXM3h2XnpCUU1fPlRVVDdjanwySj51
IzhgckNDN3AwblE2Sns5OGkyJjFycihiYSp4aS1oSmJKYD5FCnpFZyhSVklARmNIJWNOYzFLMnpf
WD4wQlVgMz5veWQ8JXtLbSEoOUFkKGU8Qm1gLXgyRkxFQnRyQTYqKFQ5X1dYaQp6V359RnxUbUBI
bzhJcWtTaWJtZlEzN0dYJVl6Mns8JlJxZzs+c293VyNgX0BiWXVIKmtCQW5HOSRuS3w/UUpHfkYK
ejQ3KGNKNTEqIzRYQ3YycVNCWUV9cUx2WWNXWlhifXZ0RURMdlFCVnRTcVM4R1Y4ZU1XZitQO1Ez
e2t7RDs2cV4hCnpQJH5tWHJIfUQ9NSpxT2tPMjVUam1FKEBuU0JkfmxZIS1xYDRmTVZGNTxeeG5Z
RU4oS009Uz8mRVRKRUBhPU0lNgp6K01ETlVzSS1ULVRVTmMhdm55Qzx1Vy1tYj9vcU53WDB0Vn54
MFc8ZjJBbG1eT2JuTTxuWjcyMFU2NyFwN3xvX0kKelMpOUlIclkmVnMxRjwjJGl5YismZkBoJn1e
PCE1ZjxwXl8kYyZzIyV5Izc+ZyFaKn1rTk8mYWRlX3BBfj18fExqCnojdXE8fkJyOyVOUnl+R1FQ
cDVLKnZBKDlKclc5a3FpdChVQjxPaGM7P2puRj0lR3l7JUk8R19Jc29fPTlJa3FHeAp6MyVpejhX
S2AwJChUfDgmKVpsIWVkdldKLXtTbzlxYn0zenNeQiE+bnZCNSs3TXFnd0syNz1vKEc3VEZrTFVm
X2AKenk8RU5KWVEqalp1KHl1JWUpV3l5aj88UCNzTyU5OGRrbkIxRH5CbntTfX0wVEduYSgjeDhs
NDt2UiloWWYkNFUhCnolekR7eGw/TCFxN0g2YVZrSGd0QihMTz82WkR6TTFzcm5OZjZNJHtOKENi
XlJNVUNVVysoUDA/N0o9N0dTeGMrSQp6QWxQSlFtYG0pV0MyX0BhKDdBY2l4ZHpMMDtRRnhNWHte
N2FEK2V3cXpqeFVUQ1ZzKzArdjRnOykxMy1OTHxhJGwKekYzTTJEO19KPz9WaWZ8NTc5cU1sPzJo
PDlSQndNVFNFWXVZIUdNPzAtKT1QJnp8QkNrdjNkKFVMc1FxVjthIUkqCnpWI1R5SmtWXzlsXnUx
P3ZMSG58Rzd3K3Q3ZTN0JDZYO3R7Zy1EUSlUMDFLTn5TWEp6TXtZR09mKk82VTBYcms3eAp6SWV2
Rio3WCgrMGlKK3QjIXE+a3RFIUd4dClSemNZWlV0SFBUZUVsYFpPPlBnb31pQGUxP0k8Xl9sc09h
JCZ0XmwKem99bXZnPG18e2FqOVZyNXZjP2pZKUhEeGhGK21jc2goO0hXQSReeVJ4dl9FWiFsQnR9
PmNwKmFkQHhSWFdVZ2JSCnpneCRndSg/Syt0UDJ4eCVmND5JY3Q7I1R1TnpEYllrNndgPFpfWWQ7
Rk9xWVhYdzR+bUxLPEBRWjJgbl9KV0teTQp6YEVkUDd2RnNrMGg3OGtwP0pSd256Kz0mekBiMD1r
XkhrdXs1eDJpKGRmVHtkKStralFrM3tHOF5eQHh7I0FBTm8KeipZTUhrJjRrVWNGUG13TXJhMkR7
R0oyPW5sN2RgTTRyXiQtaFB2S0tIR3FEYHZUTTBEVDtDeHRTaWN3VCtWbEM8CnpeKTZteFctZk9i
RzAlTytKdWJJPTkwblNIdkR+UjE8VTV8Ym9gVD8yPE10WXIxeyV9N0lHPU85NW87UlVOcVNGdQp6
YX19LXtGdUtYOzhHc0RNR042TVBFKUNsKFgtV2YoNkErIWpJbFlfQCp3c0I9PT8helZleXxqR0M3
MDduM0ZLMCsKeiE8LTQ7R2J6eUtYPXRiSCQmdUJNZiRKYVhtKmktZEQxcXpvKmxzUnZRRWxYIzhi
Sz59P1ghSkxZeXFMaXpJc1o3CnpVNFpSN1M8R0JUYSMhZ0s/PEZOZVl2Vj4zdEFfRFNATlgqY1oo
QiEjVUZJc0xpX2lCYFN1aVl5IVIqbXNfdDVEKQp6O2Vjcis8VDh0TV5gSjgyQCRIWXdwITIqM0FR
X2Z0UjZvT000aFJVZWl4SnQ/eXcpRVkqJUc+UHgqfkhxYiU0bGoKektyclQjWW9SMFBrQHNJO2Eh
e30mJURecyllOys8Q2F9aFM+MUB+ayVWSHUyP3VDPUZLeCh5Nlh5blorV0dSQXlfCnpeUXo0fWdr
IVd6dmNFe3V4PXdRSCFMJUltPkRweCF0MXZRK3lvYlApVXthWWJTb0VKUU1jajJCdipCRGt5Qj5A
dQp6IVRPaU5hfmF7M3lNV2NadGhWWFpZUyMlY3ZLU25MRHo9QSMqTUEydTl3QVZTZzIhOTlVRURR
KkdkcFF+Z1Y3QG4KenJed1lYTWtwZWJSVCMpRDxkRSQhMSNyJiM4XzlLYHAoV1V8aUtHU1pvKnNM
VmRsPUh4LWFIVDVEfnFpYHtiOWRjCnpiVTJxNT1XMT1wZlRTQFpGYnA1V0J1e1ZDOD5iQzE3JExs
eShiejdkdjhfZjg/Oyt8PzRjZmpEUXQxZWFvcmhSSwp6R0pEYjlXY311R2VMOD5AKH1Lak9IX2Yq
PGswNUV9Q3JmSyhqR0dPMypafHs7MlpQZFpXZzFHV1V8PG9ZZ3l0RDcKemAmQDNqWW5MNXo1VD55
ZUdaX0xYQjV+U0IrQmR8ZnBsS30mOHhHRXZoS0thfFZ3Q1JeN3EkfD1mSEBWNjt8NXNYCno/aCRy
SFdUVzM9XjNGelRSXmkxRHtUQVd9clkpPUA/QG1zMldWdkxIR2BAWEJfeW80REtPciUqZ256QWBK
eU80cAp6dFpVYmg4ME5BTlR1ZUp5eUoyT3xEZCt7eD03Qyg+JV9ILWFrK09EOzk1eVVISkNyYF5F
YllDbXp1Pl5Ga1coX0kKejRaYD07SkdPUXY5MkJyaUJsV259dmpgWUFLXjxIMmJVMVc/VCQlIUo0
X3M0bztpd0dkZn5oSyZgfDgoc2hSfDJwCnpAI350bk5sY1E5cyktOXEqTSpzWFRURmo9dSg0ekNY
Kkx9ViQ2LWk0NHV3U1Akd0RhNDB1YV5OekQpTEQ2RSR3Ngp6dzs2QjMwTWlXc2o5PnRzeSMoZzhI
Jm4/YGNNOHw8WDxvU1Iwez04KU0wVyR3PU9GV2VTM0ZpRXhucUYyQ0JQR28KekxWOSk8Y2tRO0FP
cHxyeUpZLUdvRzl5V0RFb29TVDwkKjJYNXtsdkA3e3hxNmNUcDhgYEROR1ptQ0Q9TWpQayhTCnpg
bjt9MFVCOUFTK3dfWmxST09yVystell5b1U0ZzFyZWY0ckg+fFJZWU9JUztTby1OLW5iZjtwME0t
RFQoWTh2Qwp6eihKY29IfE99YWREVjR4WDtjcihAa0YzWGhqcXxXeSNhdG8mRnVLQTdHVE1nKF5A
X1Y+JWQxXkdQKmJlMDVZUW0KelFAdzRUaDM3UDJTcSUpTEIjciV+YkF+LWxNUkZHYnVBd2ZrPUsj
Jmt2YUAmbDNuYzl3YTxpRnIkPnJVWD42MFUrCno+V1A0SngzUjJIP21Yd1JnT2R3QXs1UzR9VmhM
OXwxVXBsV2dGYW55IXBfbEYwJSFKZF5UcXRRdXElTVQ0YzY2Swp6T3BkPVpiKW1iRzFVKWk2T1Qz
VUJheU9hTy1wV2wtWGBYYlZuQDIpZmRVVjhtcEdEQDxUSnRjdWNAOD5MIUo/Wm4KekpKM2M1TkRx
akw7QVpaRGVPIXdEZVVPOCNrPTZnOCpkWV9oWU89JUUmclJENkJYSDFTPmF5SmV4ZXREcnlaKSst
CnpuRFpAeUpaM0t9eTFzTGw4NW15JWQqY3dBeUhXcmNmcHl9V0A+IW9URm1weVJuQVM2STM/U2Jo
anp1aUNIejMpKwp6TG0xfTd1TWpSNmokXkxOaz9YcndJYzJRN2h5fT9JK1VzN3I8I2hOJmpXWjZR
cXooJjRrdSs9Ji1EUkRMSUlCOE4KekdMdWNAdmVndXhBdEs+cGxyOS17b2Y5VD9xe2d4SnhQRHJD
Y1BPK3I2bmRBOyRwa09eR09fTjZ3eFk9TU02bnZ3Cnp3KWE2aUwyYXthPlZNOSh3Wnk9QVpjeFgy
VzRZPjFqU0ZobV40TjREWE9OWSF3KVQ3fEd5IylAQVlsbFRtKUlVOAp6am1sfn1Ddz1UX0hCO2dl
WExHUH5acnE1aUEkKHlVNXJKRm8wfjY0c09JRiZpZiRXMiVfZU9LPzNDUShVV1NAc3oKel4lYygo
TXIjJHBXTEArd2dmXn5TPE0lJiVHMHtNY2kwKExvM1N2b3hWTDhvdDJWUnc2PEk1NlVMUTJXYXYy
U1BVCnpiQnAoeFFgV2k9YUowQDt3VmxiZ3hhT0ktaCY9Ul9xR3MmZGN9ZXpqS3AlV0NrbVhOdDtG
Nz9Ab0RtYG1PNCljOAp6M3BNYT5rQE97Yil3dyNxSjRZLUl6d3ZJLTdlVD5ManlTQntlfnk/MTRP
bTNZKSQqaGRAQzVNLV9acnFIa1NCV0oKejglemNpX2FOeH5JRkZxfkVUKlN2U3N4cUI5Vm9fcFlH
YGI0U2gqYF9YSHVFd0JjeC04RVVUIVdwTUc4aiNvXmc2CnpAYj1WT1pDPGM4YXh3bVB3Ky03NF81
TFFpdjl5Zz5pdkY9M0xAbnNWUH18PSYoV3pLMj1qMno2K3hzOUt4cF40Ugp6ZElndV5TQDJydWE1
X3hWQzRATTd5YWRCc2NiUjVPOyEha3srKmVGcE5DT3ZkTVNJRUpnOTlHbVNAKjQmYWheVWIKelRY
c2N9ej4yb15VYU9ic2g+IzFuV0wpRG0pWmJaPW8peSlVKyomNzIpITwpY3tGNGthRDhXSUpZJTtH
Oyp5dk05CnokSWRjTT5mdCtIKCg1Mi0mbUNMfW1SLXgpUSU0ZVowISl6N09NTnMhKm1DQGgla01T
VXQqTk54bkJ+Q1FHViZKdQp6elJxSUw2OThyJmZQaFY0UGRDb2Q+e0NralU3ST49OW99e2BnRmJw
ISh1aFJ4M2lacygzRlJfcnROUlF+O0defmYKemI/ezRRSXJ7ciNVVDMyZFNGM0lnMjQyYWI2VVJB
aDJTYVBhRzBze3dIKCRrWXcmdCRyNjtDX2xGdHwpRmwmZyYmCnpDeHRXOFZgVT49NT0rNF4lN1JQ
VFdTMTQkNz93dW1Gb0dsQWhDfCo2eUU1JDE7WS1xanghYCQhcWpPQEdiSml6Ugp6Qih2QldgPk02
SkQ3cytXeFlkc3M0QzFuZll2X193KzA7RTY8VHNgI1h0fmcqJkU4Vm09Z21XTFcheUBUPDN+KHMK
ejB1QFZOZ3V9cGd6NDdnNz49d01uTTtjcX1DPE0kQUFLQT9DUUZxODJaSk5APz80NTYzKFNpP204
TjFCc2ZmPFh3Cno9b1NpPVBRY0RwOS1FfX5SUmA0Q1JwUlo2U1gySHV1eiV4fj44M3w9ITI9dSsy
MT5sakM5QHJ8M0J8ZTghNDBieQp6dEtMOThrUVlIXkBpWWpPVztNY0gpZTBGUFhPSiNvbU1mP1E1
cnxyckUrbV5fXlJ8JWxXRXNRM1ZNKWI0UlcpYHUKem4zVlByUV5Yd3YmejtOTEBrRExmVW5qUlp5
ZGQhP0l1R1JSOTxnRlZwSSFzb0wjQUQpOTQyQEA3ZlVuVGwmeT9NCnp7bn53UVkkUyRySWlsTzx5
O2d0Z1FTUFlSYHJUJDFVJCo9e2AwTm1YVFIlKyFPalNecjF6MzFeRi1ITTBoaClGMQp6eW0pSlgz
fG91P01+OzAtV3BRb209NSU5T3MzMDM8VHVlPDQyMG58RHgzdkgla2VabnYlRjxmQyFOQWt1T3FH
VHkKeks+RlR6anBMSTs1cTwtNihEXns/cnY2blBfYzNuSHt6PFdMO3FleVlMJFVgb0ZwXkVjX31I
O3VYbVVKZ0ZNP1pJCnopUipnMXhgT1ZQRih2MyY0eFVAamclXipkaz1iX0dEMkZCekQxRG9SQT4y
UWZmV2ZYaGZFSWNGQUEqNDVvP35tPwp6OS1oPzhqaml2YGp2VXNBKnk7ZT1VQi0kfnVjdCRoaFcx
bnM/JU1uVzFrakhldz15RWBgOFVHQGlRe15NJFBYLUAKejlUPEFwQHxhcXsmYjhHPlVUUjhmPVYw
eFhLQD8xcURqTUslZX1jS21Mb0t9dCRyMHhBeTJDeXlVY0Axe1JPeHJnCno4Qlh6PHtrbkRQSk9I
KG0qWlg8aHp4SGhadXdKTj5gPkVURE9zQm52KFc8ZzY8MGJveSpQSF8+QStPWkBLTVdGaQp6P2dL
V2t8NipROHBOMTk+TFFDUGVAYl8hQntrWT9lbllPcyNLNj8yVGRjPWBLSUIqbT9ENSVLN3V0eGE/
K1VmO3AKell3QFJORmBCbnNEaCpLUDdUUmhWJTt3RlFNYylRZV97VjgqSDZvKlheXzZYPjM/UVZE
PnYrWllTYmRwNDgoRUUjCnojSnhmfGw5cnZOUCVRKz1ZWXZCYlAkUyUmPiMkQ0cyN3VJa0NSK2o4
d2Zfan11dzZPYFVPSzJvZENsXjQ7PzRydAp6TWE/Zjk1ZEspN3ozVWh+WTYjRHJTZTA5VUQ+dHxL
IUFzSDw5SkNtTUNqZDQ/LUVlQWd3Y2F9MWtWU1BQKElMZTQKekZMVSFLR0k1cCtGOUVtb2J1bFFl
Mz1nN2xgZnpBIT88JEFmJXZ+SShHYz0ldnd1WGdwNEdRO1p7WERlemQ0X0woCno0UytHdHhkTTNv
VlpsYCREKShOT1NCJWteQnN2a2dWMWpWMjsjRlMyeyVtcHMxbFpxd2lIYld+blVpfW1BPndfOwp6
N2MjPDFkJlIjKSYmWllZTXM5VHp5TENVI0AxUlQ8M3RhOUNrSkAqcDJFR0g2V2E/OSNSMTl5U3VG
ODAmTSleJEgKekEqemNEMnljazxqaHVUOzItND11Typ6Y0NwN09xc2N5fk1Pc2VUKU9KTXRQaWVj
Y0NqJD9ZM248OGRgXzY/fSNCCnpRQzQ9KTwhaSt7V1pJckFAdHc4S0ItbDJLXyF0e1M1bTQ/Tzl9
VGNTQHlONVM3ViMoJDtFbkh7bWlFWXhSQnN+cwp6RFQ5aDdnX0cqWTxYVyE5SVlVa2VieWhRUD9E
RE1MUzhNXmd2dmlyQlRRbjglbDBDTCklKUp4Z0A4Q2o0WjglaUoKelUzUmJ6R0EwPHVlYV9zflM5
KHFoKW9oNXJtQSVBP0N8fEZuVVY+ZnArMWNAMmpuMlZDJTZWM1NxS1ZPR0FIXkgmCnohcXE7QGwo
T0lUaDsrbkdzK31+Ynk+MFYyek1jdypKViQ8ZHQoZS0pLVoyXzh7eXQpVG1GWUteM2tHTFp5YWVh
OAp6bUdrRTIkUWhBWCU+bjUhQlh5Um1IMXxTWENteXk9QVFAZypKSWVjVDU7WHJAajVPUzZvNigt
cV9VOXVFUFMtUWAKekBgZ29HYj43OXNLfWRUIyNLJnRKTW0jVkwmSGM1azIqN1Nrby0xKTcqb2Aj
SjNjO2B7c0wkS3kyVCNoQFh0NGZlCnpyfXAtYmNZWEUxYyVmUUFMPGAhITA3ZnZXbz82aEhpeHZ4
ayl4O0ZHSyEkaz1ZIzE9UDQ0IXU4RFkwK2p3YFo0Kwp6VGFUTDJYUkAzPzA+JUk4VEN9SEtvV1pq
XmtuNTY3VjRzUE1lYkxIK24wNV4lX0toUm4zQ0QrcUcwUEowYm5zPG4Kel9vSlM8OyYkK2JGND9T
dmRZQUp9IXd4VzwxN3o8PWpVMShEez0oKSgmaVh6YChLJSVPYTUoI1owNlFmaSMwNmVRCnoxellH
ezMwYWYjTlM2ejZpNWFDSjN3bkFBOXkkUWQqeT4+ISRUcDI1RjdPUEo+Mip9Rlp7MEF0bC0wQUla
eFFATgp6ZVhPODslWXE5TmI5K3x0aXlWZzRWaUNVdFFsI2EjXiVNKlo7WTJtcGQ8T0AtX2djTk9t
Pnk4eWImez9hUkEzeUQKekYyYFpCSilxcXpTIX5oMVNNRWdnSVIqakkxPnQmaCoqMzRgbyg4O2RB
UF9ANVkheHJ6QEpIVnQkWjZfbCN9RHFzCnpgQzFIKWpJYm57TTx3YmI8X0VLI3lIY15BQSt5ZzA0
bkJjc2AjNUg8dHtfWGhGK0ludEVXKD9LOHN6bk5rVT9MVQp6WH5Re2I3bHN5eVQ0I2l6KXM9Uklz
VUMzMlR6emAhJTJiMzM2KkNlRkEwemp5SE9mYGJZeV5IcHFgWlVtRE5hNFUKel59R1hZSUtUXngm
dGZ7MndlO0Ijb3dlV0wlbG97YjJ5NmxwT2tVTj53Q1pOeGZZMWk0U0UrenBucWdgYjVoPFdeCnox
JlYwbSgkSFBAJSZnbURNbFBJRi1NTUw9YWNzdXJPZjdtfEZ6KTQqKjwtYFZyPyptWmx4RG0tR3NE
SUBXQn1pRQp6cjNLP3BAPXs+P3NJUU07cnB0MWojR28hUStjM2p9PlhWdCo1VWVoTHJvYDx2SDta
KEUjaDEkKFB6Xns+UWAha0UKeisyPSUhXzQqJnliRVota2lrT3clQUwkeGxgWXJwNGs2THl6YjBJ
dVFCekJOciZyRWtkLXExZ3hPfF5mVClJajItCno5dzRfWWczSDE7JXhIeitlNnpwWjhlckpLR3tF
Iz1seHF1d1hhVEVILTxNNiUjRk9EMU13OHp6YEdyNHJve3w8Sgp6aGlsOT0mcDVtRyFgYDBjTWwk
TSUzbGhWb2t6KkcxTlk7YD1OYldrI2cpeSpLa1FAaWs9UzJWb0V7dWJGI2U5RGcKekB3RV4xSUE0
Z3VhezZZaGFycCUoKGRzXyU1d3koaGMlWTQ/R0ZgdkNwQUIrKSolfEdTP0ojWkItKUAybDRORzlR
CnpUZUMlS1U3Z3dZdDJ0LWo0RiNUMGRGelFIKiZeNzMpRCF2IWdAPXxVdF57NkVSTjMweiQxbmBy
aWo+MHlHN1FGLQp6JU5qUCt7PVI+eWVaKSFwekRJP0dHIzcwb3k0JncjeUJwOyk5OzIqNFRpZSZ7
QFVjdFJnUjYtLW9JNSREeURWVl8KejdPNU5OKysyU184JTE9KEBWWCh7RWVAYzN5X3RSKyMxNT1n
YTdpKUdlOXskfj1PTSRGJU9WVk16cGxLPEp5P1h5Cno7WlMpVnMqeTN4PWBnPGkwdyFZRXB7YiZV
MWxpSVJKbHc/cXtUdVZySlp8RDBuei1hRSgtcnQmN3Z4eFk4UGs7KQp6Xnpgd30hfEw+PmcoMDIr
WkRCNDA0Mm17Tk4wQzZ6QSlMfERhc1kyaFMzYFpmQjk+WDIoaDtidmhIekhkbyZaOVkKeihkNjN8
RSFlUzVJQE1MPkh6O3BRPGppWWwwLTBwRjtvOFRVYCs+NSN3SlUhPigtZmxJX2o2UTY7K0I4XlVa
UTRACnpBWT80Q19TaWJDbVRxcnRFbnBzcWpNYUw8NGRxUEtIX2k2U3tXKk41PlFQTylLb0l5QlFg
bzZabSpJbSZ4eFhaYAp6YHlHK3Y3TXVjXzluR1FvZEI9KUlzbHo8KGRwR047WEshaj13M0sxVzlV
NCMrJi1DYWdIRlh9cHRsVTBXdylZRSoKelpWJllANkhmR3ZHfjdyR20mbTBTcTIjLXVCZzx1cnFE
OXxsUyVyPTdJaEVhVkQoUWduZzhqI0A5ISYjfnhgVTcwCnp1P2VeKj1VUiVFV2Y9MUtvWHo8Rm1N
bllQJjFsTVB6Ql9jQHxOOGBsKkcpall8RGRgSXV4NnRzal9HfTlxZTlmKwp6VWxwUCVrNTxNUE45
ckdtd145cztqc0xTVDYhcXBIZV9mb3ZHcG8pJnNEeC1HUDwkLTtfe0dsTWYpaFhYMWc4a14KeilU
eV5LPXFJYl4wWCg8OHU0PlhWQTg8P1FsI3t2Oyg9NllqR1ZTblIjaiZUS0RXM3VxPU8+d08/KV9W
TEtOSjNSCnoyJGo1clM1Tno2eWAtfChUdSYhVD10RGdkbU0+Pl5LTT97REBBbnFUendDOzh3UXNB
aDxMeHRZTzhtOTdQbjVvUgp6WGZFO0cqKnBXRSVCUighXjlSflpgZ3R3PTEqI1FTc3pWZSo9amxA
e2QlPXZlYk51NzlJKXpvO0N2K14xbCRoazIKeilRM0ZZVVVCfGR1fFY+QV93SWp9UXxHdlI8WnAh
KkY4bFJLTEM8anU1cUg8YU82e1pAeFpRe0U5PDJhYUpFSygtCnpkREdrOGVKWT54LXhrWUhtSGZA
RShJfms0dnRqcWRwe1pIOzIoMzBWP1BrViN2bjRaJnhEdC1lNi0mOWxPPl4tVQp6cyZzbTFWdj1a
TGFlVSYwVTtmYW0zJHQhWDB5ZEImQGRNPGM3P2MwJTxwIXBBJH1Jfmdwclkpdyg1TWhRbnBAOEoK
enxJK2xBRFJUdz4lSVM5PmQ2bTw7VVhIP2xCZ2I1NT88bVNjSlExJDVWKVFeTXRmWXNJTE1iZm8r
azUxI1RaV1khCnpaVV5paT8kRDsxcmV9MEV0a0F6SUtsSWFTczQtdTdjYF5DRFpxQ3xpT3xkY04j
Q25CTFl1JFl7elNgU0RRTkpTKgp6YkEqdEZqdGV1VHt6c3gjdzRTU2tsfntXTEcyXmhFYnI2QGx0
Q29UeD5VPjRlVVA3U1o4RThhKUY9K0NVT1UkPW4KenlNcyFUTlBqeHt0S1I4fSo4bU5EQyplZmYm
RGAmUmxzfFVxOE0oJGdmSHhFO1JYMyM0NHhyPG9FQDFPRVBnUzByCnpwOXJiYCY/NSRXUVBSc19t
fjk7R0FqN350TFdUSjBZfThISHJWUElAT3hgNEFLbmxaSj9WQn1qRWoxLT9UOGVvQAp6fEVAezR6
ZkomN0cwajRlTXskeCRoWlQ3ZkwyNXJXJTRKQnhMSjNuU2FYRzB8MGhJbnZuT0FBejlFST1Zczg9
KEEKekJKbD4tTChuamdLTyt4Sj19fEQwbWVRKmpzUFg8QzdrVTtHdFl3YzhaJDA3Wl4mUTt1VW5G
aSpsRSQ2YzBHfV96CnpCI0dxM2trRXpfPmpka3BzfilTdmVsP1o+P0g1RWZ5WipTKDh6OUkoV1JF
dkwoIyMrWGpFQXAhZnp1VmowJV4zPwp6aDsqTTt6NHh2JU1Pc1duJHcwIVFWeVdUIU88enBkPj02
UXRGXnNvSXJ6JCg5PFkpOEV5OHt2KmxRSUg+aE1MRXIKejtFe08qRFcxTChZZnE4RlA7NGs+dDZg
XjdsUmlmX1UoT0Z+byVlKUooOXJheSsoPFl5dUU/TjNRWHl1SENkZlk+CnpBUWBBIzZ3JjJYT1RT
QmAtREc3M010Qz1IWEJwS2hmWStiWnEhSzxTajFiN1NWZ3BzTmFeZC1FSi1nVXJkJDctJQp6Q00k
XipoQVVyO1JwdExxUnI8SXdrJGpFPzBNSm5NSX1WPSplU0hxUnFnPWA9czB8PFAtK1B6QThCZHx0
UG5Ne2AKejdkSTBjajg+V1NrVSsqZjwmIW5NTGczcG56WWFWUlAxPn1pNkcjS0hVUEBYX0Y5JXdS
aEVHO0IpcUVXNHhhaW94CnpvNT5AYlhkMGtTRnZmN1o9fSUpX2RxeDwjKUYlUTxBKFhlOTwkZVZn
VWVmMDt5QkMrb0p6cjshRVBHUSppUW1SfQp6S0BhPFB4Kj8jSzVDPipWJkArYns0TCNULWByTWk/
Zm8wVS1PSUA+fl9UO1I2X05wbiRtd2FGflcyRGJsNkZybSEKenlxfW50bXEpanZGNjdnPGItXlJf
YiM9WDRUSzIrRURxZEFmeDM7VnZfaCVaKHtiJX55JHc3aT1FM1hmTGBlNSt4Cnpja3Z0PTZ3KXBw
ejVlUlAkJCs3bUJocGdtZTZWXmk5U1pVU0FTSEMpOylQNFdfZUE5eF55IVpjLTsxU2hJdFVwRAp6
bXh2IVF7JXg8MjhES2VGXmBNankkdipDKERFMFRqeUxAMGQ2Zkdgb0pvQHNZPHtUMHRvY1FYJjQr
SEwkPClpakwKej5jN3UtYEVMQFVAQF9qPWR8JFojMCNIRXJ3Xjlpe0RMPS1XdT1udSpvJHQwJlBr
MXY4azZxcndIdjsxN1FUZX0qCnpBM2VzSzBlUTdib2xqYHJJMDZPcyMobislUy17YiZMUEQpP1pA
NGA5dDd0QXRBbz4rPWhUYHM1LV5ja3l5P00pPAp6MEN+NSZ7dXJPeWFUNjRES1lCZnZAM3k8Vm5V
SV9GQWxMWW0qKzxeUDlzZS1teUtWRVg/WjlwNCRuV15SXz5zc0AKek0qVT16cHdMZj1gVXlRPVpe
dXNeI1ZoeyNzbSRlblQwUFAyS2l2YWkoVnk7dGtuc1BxZHIpdis3YnplaEBvTTlZCnpmUz1DaVB2
YFRlUHhhSE1gcnEtWHhMRXI5TmNIZGpsQTlMVmlqRmAwPDx9UzJjUygxaklYbVkrPVhWclRVZSUz
Zwp6e2I9Knh4KDZue3Z8OUF+XlVAZEY8SlVOK3JkYHNqc2RJaz5SfGEzYko3S2diTVo0MG9MeTB4
dT9GI3F4ezgjaUgKentoU3ZoOHZodDEoIzF2UHArNmopYXFJKnl4Vi1VVzxtJEAlM0craVo5aXgy
QXNPbUBxZV42Pl9lPkY2OylfcihqCnpWNCR8ZlpFZUI3QXMhXkNUZnlDRl54Sj04KEM5Sm8rd1Y8
Njh9MjhzKUJVQyQpMmRZRVF7UEdRMStDaUB6aWdGSwp6eVhoQWckTig3PVhoRHJLeU1VUiReUGkq
O0VwcGktUGI5OSZwRXNSZU87SiY/c20pWTZDMElCeWByJWYtQCQyJEoKelYheWgleGkkSGkocmFz
S2UyN3oxbz9HU2k7X3NMeDZhZGZ5Sk5OUlJzSXAxSW9lNFQpNjZ5bnpQJC1WOUJBRjc3Cno+TUJR
VmBScHRJQUchc0ZUJXZhJCtqKnY5U1hISkpBWHM0OGVJRVItPD5TWTVQNH5wajlENFpZKFFnKWln
aFp5Tgp6cmwjdHQzJVhzdXs9KXVqTWZTbjVKZG9NV2IzMlhGKCRkPTJtWnZTPnFSem0tQyl3cVhs
Pj4hWk5oQllRK2pDOEYKek4tUXkxQ3A7ZUN6TylwU2soc0YpOTJfanZgbGpze3pBV05KNXUzNDdx
NFFWUCo0S2hkMTQ+RnVRIV9GJGxDTEtGCnpuNHUlYG15K0RYbCt4OCpQYDE/PC1ZIX01azRiK255
emBoPHdqTX1YTVd3d1ZsdUJBYjJgOVI+QiskeEkrRHI/Kgp6SkcjMmtlZXE+REl2eFg3bHtadzc9
RjFhb1FBKjZ9dGFOUlR0YjJPdSl7OTAyd3xSWWFHNEdlODNtdXNgSWMwKkEKelpLKzJsTmpQLTFV
TlpEZDEjZzdxUy08VWslKElsWUV3QXV3IUBZWlZDTD1wcnR2RGU2S3IrO0BDIX1eVCt9cEg0Cnp6
bEpabkI3Wlh4bT1sN18yfV58PGI+PGo0Y1J0bSVyUDVtS2hSMzBwMC0qfHI5fV5ubFJSWU82eXwx
aXQ0NG0kbwp6RzhQO0NGVTtAdGp1U1VhYE5HR29XOTRyflI4N3ljRXs/YTUqVG5XYHl1alR0bHts
YiNDfkNfRUttSH0mVk9JV2kKeldUZWJyVigpQzFaVFV6dUVVVGtfIVpGbWNOTUsxJDhvKT42Pks+
dEMoI0tkeXh3aTJacXk8NDNYPWllfEFVfVE9CnprUnd1SWAjc2FPaitNQjVNNlRvOHJ4WD4pQEAj
S1dsZW9FRnlfLW00VkZDWjQ4Uz5Gfkl1Iy01SmY3cCpPcW9WNwp6cnJrKG1jJn4oUERLcDg5P04h
aW49S0oxPUtyfm4zJVJLcHBAek1uUCEtbyY5cWh7UG51ZFgocG9LU0J5YElpWHYKekN7Xig8KzBp
ZWhLOD14VTZfRzRARFJ0LWBhPUkmKmFYKSM+WileSFo+eH0xKHUlZlNnM0UtJFZATXM1JkR7aGFa
Cno+Kzc0KENyc3s5Jk1sWGdtTStvQWM7PDxjbUZaJX5hSUpfIS0kfT1qdkApUnpxQWg8OypPKyhJ
TlFeTUtnNzQqWAp6ZCR0NFZTdT1idXhONjRCTTxyZiQ7bTB5dFhxP3IrZUBGeyhHKl9mS2E/S3wy
UCopMTN6clZrWWhnO2E8WGxKTEQKeik4KSZtREpkekM/MkxAVkpWWUYlJSsye1ZKcmh7IURvZng0
KHQ+cEsrRkgydlRWe05tSS1nZUk5MX48anR6UUVfCnowRE0wSzttc3ZwVy1ubz5tUiRMTGJqcz5g
VWFrIT1DJFR2RntoNm9RZ2FYYjArSzZSKj1XYmttQWtAJiVLcUpNKQp6I1o3KlErakVkYkNYK3BH
LT54ZEY0SCNCTSR7TGJiNV9VbDVzayFlQGt3NWtUQz9VNU8lQSErKG1AQmkqeS1ReioKel4rVj8k
Q25ZNXshdip0XkAzLTs2V3dWJSktUi0qe1IjdEE7ZztIST8jTm1jZWFzIzBMXmcrQjdhOWE9TERQ
UHt0CnpEN3h8SEcyaFRTLXF9eGVWVDshKG1tTTdzWjZzRGprXkA5ezBQQjdEcTRrXkRHaU8wPjZA
IyNhWDh8S3Yxb2x5VQp6SldhP2ZscVdZO3tCcERaQC15ZFFHbShrMF9wI01HbGZOWFhua1VxMUA3
Vip+VztyTCEkSjB6O1pHRjxTVFdsdDYKei16bWIwKCVuV3FoMUxTekw2YFkxYERHXiRQeEJ6e29r
c34zYiMrZTBBNGwzdUJAfjZzUWhJKHNDLUNJJGlUcFgwCnokTHM1QmxAOUUkMU9mX0hZUHM2X281
cTN0UFg+VHwmcFZKUC07TFRRRWlIWUolIyhSMUMjUFohYE9qNClqZ085dgp6RGYmd3M1Xy1VdTxH
WHNCVEhANzM5X0UrV0VKajZye2JmeT4+VEA/QUFKaGRhdEYocz85fTtSUDIwTTw3RFl8aW0KYW9N
LUk+WVN0JVNAbExvQ0ZnTEx9VFh5RV5vJk56SHV1Y3ZECgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEK
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdHJhbnNmb3Jtcy8yZC90cmFu
c2Zvcm0tZml4ZWQtY29udGFpbmVyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy90cmFuc2Zvcm1zLzJkL3RyYW5zZm9ybS1maXhlZC1jb250YWluZXItZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcyYzFjOGUKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdHJhbnNmb3Jtcy8yZC90cmFuc2Zvcm0t
Zml4ZWQtY29udGFpbmVyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIxIEBACitsYXllciBhdCAo
MCwwKSBzaXplIDc4NXgxMTUwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA3ODV4NjAwCits
YXllciBhdCAoMCwwKSBzaXplIDc4NXgxMTUwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCww
KSBzaXplIDc4NXgxMTUwCisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDAsMTUwKSBzaXplIDc4
NXgxMDAwCisgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMjUwKSBzaXplIDc4NXgxOAorICAg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA1NDZ4MTgKKyAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA1NDY6ICJUZXN0cyBmaXhlZCBwb3NpdGlvbiBlbGVtZW50
cyBjb21iaW5lZCB3aXRoIHRyYW5zZm9ybXMuIFlvdSBzaG91bGQgc2VlIG5vIHJlZCBhYm92ZS4i
CitsYXllciBhdCAoNTAsMjAwKSBzaXplIDEwMHgxMDAKKyAgUmVuZGVyQmxvY2sgKHBvc2l0aW9u
ZWQpIHtESVZ9IGF0ICg1MCwyMDApIHNpemUgMTAweDEwMCBbYmdjb2xvcj0jRkYwMDAwXQorbGF5
ZXIgYXQgKDI1MCwyMDApIHNpemUgMTAweDEwMAorICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkg
e0RJVn0gYXQgKDI1MCwyMDApIHNpemUgMTAweDEwMCBbYmdjb2xvcj0jRkYwMDAwXQorbGF5ZXIg
YXQgKDUwLDE1MCkgc2l6ZSAxMDB4MTAwCisgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICg1MCwwKSBz
aXplIDEwMHgxMDAKK2xheWVyIGF0ICg1MCwyMDApIHNpemUgMTAweDEwMAorICBSZW5kZXJCbG9j
ayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDAsNTApIHNpemUgMTAweDEwMCBbYmdjb2xvcj0jMDA4
MDAwXQorbGF5ZXIgYXQgKDI1MCwxNTApIHNpemUgMTAweDEwMAorICBSZW5kZXJCbG9jayAocG9z
aXRpb25lZCkge0RJVn0gYXQgKDI1MCw1MCkgc2l6ZSAxMDB4MTAwCitsYXllciBhdCAoMjUwLDIw
MCkgc2l6ZSAxMDB4MTAwCisgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDUwKSBzaXplIDEwMHgx
MDAgW2JnY29sb3I9IzAwODAwMF0KK3Njcm9sbGVkIHRvIDAsMTAwCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy90cmFuc2Zvcm1zLzJkL3RyYW5zZm9ybS1maXhlZC1jb250YWluZXIuaHRtbCBiL0xh
eW91dFRlc3RzL3RyYW5zZm9ybXMvMmQvdHJhbnNmb3JtLWZpeGVkLWNvbnRhaW5lci5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc5ODE4Y2MKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy90cmFuc2Zvcm1zLzJkL3RyYW5zZm9ybS1maXhlZC1jb250YWluZXIu
aHRtbApAQCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUgaHRtbD4KKworPGh0bWw+Cis8aGVhZD4K
KyAgPHN0eWxlIHR5cGU9InRleHQvY3NzIiBtZWRpYT0ic2NyZWVuIj4KKyAgICBib2R5IHsKKyAg
ICAgIG1hcmdpbjogMDsKKyAgICAgIGhlaWdodDogMTAwMHB4OworICAgIH0KKyAgICAKKyAgICAu
Ym94IHsKKyAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICBv
dXRsaW5lOiAxcHggc29saWQgYmxhY2s7CisgICAgfQorCisgICAgLmZpeGVkIHsKKyAgICAgIHBv
c2l0aW9uOiBmaXhlZDsKKyAgICB9CisKKyAgICAudHJhbnNmb3JtZWQgeworICAgICAgLXdlYmtp
dC10cmFuc2Zvcm06IHJvdGF0ZSgwKTsKKyAgICB9CisgICAgCisgICAgLmluZGljYXRvciB7Cisg
ICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7Cisg
ICAgfQorICAgIAorICA8L3N0eWxlPgorICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIg
Y2hhcnNldD0idXRmLTgiPgorICAgIC8vIFNjcm9sbCBvbiBsb2FkIHRvIHRlc3QgZml4ZWQgcG9z
aXRpb25pbmcuCisgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBmdW5jdGlvbigp
IHsKKyAgICAgIHdpbmRvdy5zY3JvbGxUbygwLCAxMDApOworICAgIH0sIGZhbHNlKQorICA8L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5PgorCisgIDxkaXYgY2xhc3M9ImluZGljYXRvciBib3giIHN0
eWxlPSJsZWZ0OiA1MHB4OyB0b3A6IDIwMHB4OyI+PC9kaXY+CisgIDxkaXYgY2xhc3M9ImluZGlj
YXRvciBib3giIHN0eWxlPSJsZWZ0OiAyNTBweDsgdG9wOiAyMDBweDsiPjwvZGl2PgorCisgIDxk
aXYgY2xhc3M9InRyYW5zZm9ybWVkIGJveCIgc3R5bGU9Im1hcmdpbjogMTUwcHggNTBweDsiPgor
ICAgIDxkaXYgY2xhc3M9ImZpeGVkIGJveCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6IGdyZWVu
OyBtYXJnaW4tdG9wOiA1MHB4OyI+CisgICAgPC9kaXY+CisgIDwvZGl2PgorCisgIDxkaXYgY2xh
c3M9InRyYW5zZm9ybWVkIGZpeGVkIGJveCIgc3R5bGU9ImxlZnQ6IDI1MHB4OyB0b3A6IDUwcHg7
Ij4KKyAgICA8ZGl2IGNsYXNzPSJ0cmFuc2Zvcm1lZCBib3giIHN0eWxlPSJtYXJnaW4tdG9wOiA1
MHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsiPgorICAgIDwvZGl2PgorICA8L2Rpdj4KKwor
ICA8cD5UZXN0cyBmaXhlZCBwb3NpdGlvbiBlbGVtZW50cyBjb21iaW5lZCB3aXRoIHRyYW5zZm9y
bXMuIFlvdSBzaG91bGQgc2VlIG5vIHJlZCBhYm92ZS48L3A+CisKKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxv
ZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDk3NzM3MWMuLjRkMDdjOGEgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjgg
QEAKKzIwMTAtMDEtMTIgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgcG9zaXRpb246
Zml4ZWQgYW5kIHRyYW5zZm9ybSBvbiBzYW1lIGVsZW1lbnQgYnJlYWtzIGZpeGVkIGJlaGF2aW9y
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zMTI4Mwor
CisgICAgICAgIEZpeCBpbnRlcmFjdGlvbnMgb2YgdHJhbnNmb3JtcyBhbmQgZml4ZWQgcG9zaXRp
b25pbmcsIG5hbWVseSB0aGF0IGZpeGVkIHBvc2l0aW9uCisgICAgICAgIGVsZW1lbnRzIHdpdGgg
YSB0cmFuc2Zvcm1lZCBhbmNlc3RvciBhcmUgcG9zaXRpb25lZCByZWxhdGl2ZSB0byB0aGF0IGFu
Y2VzdG9yLAorICAgICAgICBhbmQgYW4gZWxlbWVudCB3aXRoIGJvdGggYSB0cmFuc2Zvcm0gYW5k
IGZpeGVkIHBvc2l0aW9uIHJlc3BlY3RzIHRoYXQgcG9zaXRpb25pbmcuCisgICAgICAgIAorICAg
ICAgICBUZXN0OiB0cmFuc2Zvcm1zLzJkL3RyYW5zZm9ybS1maXhlZC1jb250YWluZXIuaHRtbAor
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJCb3g6Om1hcExvY2FsVG9Db250YWluZXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
Qm94OjptYXBBYnNvbHV0ZVRvTG9jYWxQb2ludCk6CisgICAgICAgIFRyYW5zZm9ybXMgc2hvdWxk
IG5vdCB1bmNvbmRpdGlvbmFsbHkgc3RvcCB0aGUgcHJvcGFnYXRpb24gb2YgdGhlICdmaXhlZCcg
ZmxhZyB0byBhbmNlc3RvcnMsCisgICAgICAgIGJ1dCBvbmx5IGlmIHRoZSB0cmFuc2Zvcm1lZCBl
bGVtZW50IGlzIG5vdCBpdHNlbGYgZml4ZWQuCisgICAgICAgIAorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6Y29udmVy
dFRvTGF5ZXJDb29yZHMpOgorICAgICAgICBGaXggdGhpcyBtZXRob2QgdG8gYmVoYXZlIGNvcnJl
Y3RseSBmb3IgZml4ZWQgcG9zaXRpb24gbGF5ZXJzIHdob3NlIGNvbnRhaW5lciBpcyBub3QKKyAg
ICAgICAgdGhlIHJvb3QsIGJ1dCBzb21lIG90aGVyIChwcm9iYWJseSB0cmFuc2Zvcm1lZCkgYW5j
ZXN0b3IuIEluIHRoYXQgY2FzZSwgd2UgY2FuIGZhbGwgaW50bworICAgICAgICB0aGUgInBvc2l0
aW9uOiBhYnNvbHV0ZSIgY29kZSBwYXRoLgorCiAyMDEwLTAxLTEyICBCZXRoIERha2luICA8YmRh
a2luQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcCBiL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJveC5jcHAKaW5kZXggMzM5MTkzYS4uMGMzNDIzYyAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
b3guY3BwCkBAIC05NDEsMTggKzk0MSwyMCBAQCB2b2lkIFJlbmRlckJveDo6bWFwTG9jYWxUb0Nv
bnRhaW5lcihSZW5kZXJCb3hNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lciwgYm9vbAogICAg
ICAgICB9CiAgICAgfQogCi0gICAgaWYgKHN0eWxlKCktPnBvc2l0aW9uKCkgPT0gRml4ZWRQb3Np
dGlvbikKLSAgICAgICAgZml4ZWQgPSB0cnVlOwotCiAgICAgYm9vbCBjb250YWluZXJTa2lwcGVk
OwogICAgIFJlbmRlck9iamVjdCogbyA9IGNvbnRhaW5lcihyZXBhaW50Q29udGFpbmVyLCAmY29u
dGFpbmVyU2tpcHBlZCk7CiAgICAgaWYgKCFvKQogICAgICAgICByZXR1cm47CiAKKyAgICBib29s
IGlzRml4ZWRQb3MgPSBzdHlsZSgpLT5wb3NpdGlvbigpID09IEZpeGVkUG9zaXRpb247CiAgICAg
Ym9vbCBoYXNUcmFuc2Zvcm0gPSBoYXNMYXllcigpICYmIGxheWVyKCktPnRyYW5zZm9ybSgpOwot
ICAgIGlmIChoYXNUcmFuc2Zvcm0pCi0gICAgICAgIGZpeGVkID0gZmFsc2U7ICAvLyBFbGVtZW50
cyB3aXRoIHRyYW5zZm9ybXMgYWN0IGFzIGEgY29udGFpbmluZyBibG9jayBmb3IgZml4ZWQgcG9z
aXRpb24gZGVzY2VuZGFudHMKLQorICAgIGlmIChoYXNUcmFuc2Zvcm0pIHsKKyAgICAgICAgLy8g
SWYgdGhpcyBib3ggaGFzIGEgdHJhbnNmb3JtLCBpdCBhY3RzIGFzIGEgZml4ZWQgcG9zaXRpb24g
Y29udGFpbmVyIGZvciBmaXhlZCBkZXNjZW5kYW50cywKKyAgICAgICAgLy8gYW5kIG1heSBpdHNl
bGYgYWxzbyBiZSBmaXhlZCBwb3NpdGlvbi4gU28gcHJvcGFnYXRlICdmaXhlZCcgdXAgb25seSBp
ZiB0aGlzIGJveCBpcyBmaXhlZCBwb3NpdGlvbi4KKyAgICAgICAgZml4ZWQgJj0gaXNGaXhlZFBv
czsKKyAgICB9IGVsc2UKKyAgICAgICAgZml4ZWQgfD0gaXNGaXhlZFBvczsKKyAgICAKICAgICBJ
bnRTaXplIGNvbnRhaW5lck9mZnNldCA9IG9mZnNldEZyb21Db250YWluZXIobyk7CiAKICAgICBi
b29sIHByZXNlcnZlM0QgPSB1c2VUcmFuc2Zvcm1zICYmIChvLT5zdHlsZSgpLT5wcmVzZXJ2ZXMz
RCgpIHx8IHN0eWxlKCktPnByZXNlcnZlczNEKCkpOwpAQCAtOTc5LDEyICs5ODEsMTQgQEAgdm9p
ZCBSZW5kZXJCb3g6Om1hcEFic29sdXRlVG9Mb2NhbFBvaW50KGJvb2wgZml4ZWQsIGJvb2wgdXNl
VHJhbnNmb3JtcywgVHJhbnNmb3IKICAgICAvLyBXZSBkb24ndCBleHBlY3QgYWJzb2x1dGVUb0xv
Y2FsKCkgdG8gYmUgY2FsbGVkIGR1cmluZyBsYXlvdXQgKHlldCkKICAgICBBU1NFUlQoIXZpZXco
KSB8fCAhdmlldygpLT5sYXlvdXRTdGF0ZUVuYWJsZWQoKSk7CiAgICAgCi0gICAgaWYgKHN0eWxl
KCktPnBvc2l0aW9uKCkgPT0gRml4ZWRQb3NpdGlvbikKLSAgICAgICAgZml4ZWQgPSB0cnVlOwot
CisgICAgYm9vbCBpc0ZpeGVkUG9zID0gc3R5bGUoKS0+cG9zaXRpb24oKSA9PSBGaXhlZFBvc2l0
aW9uOwogICAgIGJvb2wgaGFzVHJhbnNmb3JtID0gaGFzTGF5ZXIoKSAmJiBsYXllcigpLT50cmFu
c2Zvcm0oKTsKLSAgICBpZiAoaGFzVHJhbnNmb3JtKQotICAgICAgICBmaXhlZCA9IGZhbHNlOyAg
Ly8gRWxlbWVudHMgd2l0aCB0cmFuc2Zvcm1zIGFjdCBhcyBhIGNvbnRhaW5pbmcgYmxvY2sgZm9y
IGZpeGVkIHBvc2l0aW9uIGRlc2NlbmRhbnRzCisgICAgaWYgKGhhc1RyYW5zZm9ybSkgeworICAg
ICAgICAvLyBJZiB0aGlzIGJveCBoYXMgYSB0cmFuc2Zvcm0sIGl0IGFjdHMgYXMgYSBmaXhlZCBw
b3NpdGlvbiBjb250YWluZXIgZm9yIGZpeGVkIGRlc2NlbmRhbnRzLAorICAgICAgICAvLyBhbmQg
bWF5IGl0c2VsZiBhbHNvIGJlIGZpeGVkIHBvc2l0aW9uLiBTbyBwcm9wYWdhdGUgJ2ZpeGVkJyB1
cCBvbmx5IGlmIHRoaXMgYm94IGlzIGZpeGVkIHBvc2l0aW9uLgorICAgICAgICBmaXhlZCAmPSBp
c0ZpeGVkUG9zOworICAgIH0gZWxzZQorICAgICAgICBmaXhlZCB8PSBpc0ZpeGVkUG9zOwogICAg
IAogICAgIFJlbmRlck9iamVjdCogbyA9IGNvbnRhaW5lcigpOwogICAgIGlmICghbykKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcCBiL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyLmNwcAppbmRleCAwMDYzZWEzLi4wYTZjMzllIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXIuY3BwCkBAIC05ODYsMTkgKzk4NiwyNSBAQCBSZW5kZXJMYXllcjo6Y29udmVy
dFRvTGF5ZXJDb29yZHMoY29uc3QgUmVuZGVyTGF5ZXIqIGFuY2VzdG9yTGF5ZXIsIGludCYgeFBv
cywgaQogewogICAgIGlmIChhbmNlc3RvckxheWVyID09IHRoaXMpCiAgICAgICAgIHJldHVybjsK
LSAgICAgICAgCi0gICAgaWYgKHJlbmRlcmVyKCktPnN0eWxlKCktPnBvc2l0aW9uKCkgPT0gRml4
ZWRQb3NpdGlvbikgewotICAgICAgICAvLyBBZGQgaW4gdGhlIG9mZnNldCBvZiB0aGUgdmlldy4g
IFdlIGNhbiBvYnRhaW4gdGhpcyBieSBjYWxsaW5nCi0gICAgICAgIC8vIGxvY2FsVG9BYnNvbHV0
ZSgpIG9uIHRoZSBSZW5kZXJWaWV3LgotICAgICAgICBGbG9hdFBvaW50IGFic1BvcyA9IHJlbmRl
cmVyKCktPmxvY2FsVG9BYnNvbHV0ZShGbG9hdFBvaW50KCksIHRydWUpOwotICAgICAgICB4UG9z
ICs9IGFic1Bvcy54KCk7Ci0gICAgICAgIHlQb3MgKz0gYWJzUG9zLnkoKTsKLSAgICAgICAgcmV0
dXJuOworCisgICAgRVBvc2l0aW9uIHBvc2l0aW9uOworICAgIGlmICgocG9zaXRpb24gPSByZW5k
ZXJlcigpLT5zdHlsZSgpLT5wb3NpdGlvbigpKSA9PSBGaXhlZFBvc2l0aW9uKSB7CisgICAgICAg
IGlmICghYW5jZXN0b3JMYXllciB8fCBhbmNlc3RvckxheWVyID09IHJlbmRlcmVyKCktPnZpZXco
KS0+bGF5ZXIoKSkgeworICAgICAgICAgICAgLy8gSWYgdGhlIGZpeGVkIGxheWVyJ3MgY29udGFp
bmVyIGlzIHRoZSByb290LCBqdXN0IGFkZCBpbiB0aGUgb2Zmc2V0IG9mIHRoZSB2aWV3LiBXZSBj
YW4gb2J0YWluIHRoaXMgYnkgY2FsbGluZworICAgICAgICAgICAgLy8gbG9jYWxUb0Fic29sdXRl
KCkgb24gdGhlIFJlbmRlclZpZXcuCisgICAgICAgICAgICBGbG9hdFBvaW50IGFic1BvcyA9IHJl
bmRlcmVyKCktPmxvY2FsVG9BYnNvbHV0ZShGbG9hdFBvaW50KCksIHRydWUpOworICAgICAgICAg
ICAgeFBvcyArPSBhYnNQb3MueCgpOworICAgICAgICAgICAgeVBvcyArPSBhYnNQb3MueSgpOwor
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CiAgICAgfQogIAogICAgIFJlbmRlckxheWVy
KiBwYXJlbnRMYXllcjsKLSAgICBpZiAocmVuZGVyZXIoKS0+c3R5bGUoKS0+cG9zaXRpb24oKSA9
PSBBYnNvbHV0ZVBvc2l0aW9uKSB7Ci0gICAgICAgIC8vIERvIHdoYXQgZW5jbG9zaW5nUG9zaXRp
b25lZEFuY2VzdG9yKCkgZG9lcywgYnV0IGNoZWNrIGZvciBhbmNlc3RvckxheWVyIGFsb25nIHRo
ZSB3YXkKKyAgICAvLyBGb3IgYSBmaXhlZCBsYXllciwgaWYgd2UncmUgYXNraW5nIGZvciBjb29y
ZHMgcmVsYXRpdmUgdG8gc29tZSBvdGhlciBhbmNlc3RvciwgdGhlbiBpdCBtdXN0IGJlCisgICAg
Ly8gZW5jbG9zZWQgaW4gYSBmaXhlZCBwb3NpdGlvbiBjb250YWluZXIgKGUuZy4gYSB0cmFuc2Zv
cm1lZCBlbGVtZW50KSwgc28gaXQgYmVoYXZlcyBsaWtlIGFuIGFic29sdXRlbHkKKyAgICAvLyBw
b3NpdGlvbmVkIGVsZW1lbnQuCisgICAgaWYgKHBvc2l0aW9uID09IEFic29sdXRlUG9zaXRpb24g
fHwgcG9zaXRpb24gPT0gRml4ZWRQb3NpdGlvbikgeworICAgICAgICAvLyBEbyB3aGF0IGVuY2xv
c2luZ1Bvc2l0aW9uZWRBbmNlc3RvcigpIGRvZXMsIGJ1dCBjaGVjayBmb3IgYW5jZXN0b3JMYXll
ciBhbG9uZyB0aGUgd2F5LgogICAgICAgICBwYXJlbnRMYXllciA9IHBhcmVudCgpOwogICAgICAg
ICBib29sIGZvdW5kQW5jZXN0b3JGaXJzdCA9IGZhbHNlOwogICAgICAgICB3aGlsZSAocGFyZW50
TGF5ZXIpIHsK
</data>
<flag name="review"
          id="28648"
          type_id="1"
          status="+"
          setter="mitz"
    />
          </attachment>
      

    </bug>

</bugzilla>