<?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>74232</bug_id>
          
          <creation_ts>2011-12-09 18:04:52 -0800</creation_ts>
          <short_desc>Remove partially implemented per-Element visibility checks from requestAnimationFrame logic</short_desc>
          <delta_ts>2012-04-09 04:42:39 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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>
          <dependson>74231</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="James Robinson">jamesr</reporter>
          <assigned_to name="James Robinson">jamesr</assigned_to>
          <cc>abarth</cc>
    
    <cc>cmarrin</cc>
    
    <cc>dino</cc>
    
    <cc>fishd</cc>
    
    <cc>ojan</cc>
    
    <cc>paulirish</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>518707</commentid>
    <comment_count>0</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-12-09 18:04:52 -0800</bug_when>
    <thetext>Remove partially implemented per-Element visibility checks from requestAnimationFrame logic</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>518716</commentid>
    <comment_count>1</comment_count>
      <attachid>118676</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-12-09 18:18:51 -0800</bug_when>
    <thetext>Created attachment 118676
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>518718</commentid>
    <comment_count>2</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-12-09 18:24:12 -0800</bug_when>
    <thetext>Here&apos;s the thread where some of the details of this element&apos;s behavior were debated on public-web-perf:

http://lists.w3.org/Archives/Public/public-web-perf/2011May/0015.html

the part most relevant to this parameter starts around here:
http://lists.w3.org/Archives/Public/public-web-perf/2011May/0030.html

Another issue is that this parameter is very prone to misuse if it were implemented more thoroughly. For example this code:

function animateRight() {
  e.style.left.px += 10; // using imaginary typed CSSOM syntax
  requestAnimationFrame(animateRight, e);
}

will not behave at all the way the author expects if the element starts offscreen - instead of the element smoothly animating into view, it&apos;ll never animate at all.

For the record I am not at all opposed to someone implementing a better version of this later down the road. I think if it&apos;s going to be done, though, the approach will have to be somewhat different to the one here. I don&apos;t think the current code will be much help to such a future endeavor and it is a significant hindrance to other cleanups and bugfixes I have planned in this area.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>518723</commentid>
    <comment_count>3</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-12-09 18:29:53 -0800</bug_when>
    <thetext>To answer one of Chris&apos; questions in another bug: The functionality that we have actually implemented is that we currently do not fire requestAnimationFrame callbacks when the element parameter was supplied if that element&apos;s style.display is &quot;none&quot; or if that element is part of the DOM tree. If either of these conditions are manipulated by requestAnimationFrame callbacks within the same document, then the expected thing happens (the callback fires eventually if the element gets a renderer, it doesn&apos;t if the element loses its renderer before the associated callback fires).  If either of the conditions change due to a callback running in a *different* document then the firing behavior is buggy and weird (it depends on the order in which we process documents, which is different for Chromium vs WebKit1/2).

The current behavior also means we re-resolve styles after invoking each callback even though it&apos;s typically unnecessary and inefficient.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>597609</commentid>
    <comment_count>4</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2012-04-06 13:28:20 -0700</bug_when>
    <thetext>James, do you want to commit this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>597612</commentid>
    <comment_count>5</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-04-06 13:33:35 -0700</bug_when>
    <thetext>I sure do, I&apos;ll need to rebase it to ToT and retest it.  Will try to do later today.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>597901</commentid>
    <comment_count>6</comment_count>
      <attachid>136119</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-04-06 19:13:18 -0700</bug_when>
    <thetext>Created attachment 136119
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>598232</commentid>
    <comment_count>7</comment_count>
      <attachid>136119</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-09 04:42:33 -0700</bug_when>
    <thetext>Comment on attachment 136119
Patch for landing

Clearing flags on attachment: 136119

Committed r113573: &lt;http://trac.webkit.org/changeset/113573&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>598233</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-09 04:42:39 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118676</attachid>
            <date>2011-12-09 18:18:51 -0800</date>
            <delta_ts>2012-04-06 19:13:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-74232-20111209181850.patch</filename>
            <type>text/plain</type>
            <size>15609</size>
            <attacher name="James Robinson">jamesr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyNTAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODBhMjNiZjM4MmIyN2Vk
MWQ0NWExNGVhMDU1YTBjNmVhNjYzYTk1Yi4uM2RhY2Y1NmFlN2M2YjQ4MjdhMjU0YjQ4ZGU3YzEz
NjAwNzI1ZjQxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM4IEBACiAyMDExLTEyLTA5ICBKYW1l
cyBSb2JpbnNvbiAgPGphbWVzckBjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgUmVtb3ZlIHBhcnRp
YWxseSBpbXBsZW1lbnRlZCBwZXItRWxlbWVudCB2aXNpYmlsaXR5IGNoZWNrcyBmcm9tIHJlcXVl
c3RBbmltYXRpb25GcmFtZSBsb2dpYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzQyMzIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUaGUgaW5pdGlhbCByZXF1ZXN0QW5pbWF0aW9uRnJhbWUgaW1wbGVtZW50
YXRpb24gaGFkIGFuIEVsZW1lbnQgcGFyYW1ldGVyIGFzIHRoZSBzZWNvbmQgYXJndW1lbnQgdG8g
dGhlCisgICAgICAgIGZ1bmN0aW9uLiBUaGlzIGVsZW1lbnQgd2FzIGludGVuZGVkIHRvIGNvbnZl
eSB0aGUgZWxlbWVudCBhc3NvY2lhdGVkIHdpdGggdGhlIGFuaW1hdGlvbiBzbyB0aGF0IHdoZW4g
dGhlIGVsZW1lbnQKKyAgICAgICAgd2FzIG5vdCB2aXNpYmxlIHRoZSBhbmltYXRpb24gY2FsbGJh
Y2sgd291bGQgbm90IGJlIHJ1bi4gVGhlIGNoZWNrZWQgaW4gaW1wbGVtZW50YXRpb24gZG9lcyBh
IHZlcnkgbGltaXRlZCBjaGVjaworICAgICAgICAtIHRlc3RpbmcgZm9yIGRpc3BsYXk6bm9uZSBh
bmQgYmVpbmcgZGV0YWNoZWQgZnJvbSB0aGUgdHJlZSAtIGJ1dCBkb2VzIGl0IGluIGEgd2F5IHRo
YXQgZG9lcyBub3Qgd29yayBjb3JyZWN0bHkKKyAgICAgICAgaWYgYW4gZWxlbWVudCdzIHZpc2li
aWxpdHkgaXMgbWFuaXB1bGF0ZWQgYnkgYSBjYWxsYmFjayBydW5uaW5nIGZyb20gYSBkaWZmZXJl
bnQgZG9jdW1lbnQuIEl0IGFsc28gYWRkcworICAgICAgICBzaWduaWZpY2FudCBjb21wbGV4aXR5
IHRvIHRoZSBjb2RlLCBtYWtpbmcgaXQgbGVzcyBoYWNrYWJsZSBhbmQgZWFzeSB0byBpbnRyb2R1
Y2Ugc3VidGxlIHNlY3VyaXR5IGJ1Z3Mgb3IKKyAgICAgICAgaW5maW5pdGUgbG9vcHMuCisKKyAg
ICAgICAgVGhpcyBwYXRjaCByZW1vdmVzIHRoZSBwYXJhbWV0ZXIuIFNpbmNlIGl0IGhhcyBhbHdh
eXMgYmVlbiBtYXJrZWQgb3B0aW9uYWwsIHRoZXJlIGlzIG5vIHdlYiBjb21wYXQgcmlzay4KKwor
ICAgICAgICBJZiB0aGlzIGZ1bmN0aW9uYWxpdHkgaXMgYWRkZWQgYmFjayBpbiB0aGUgZnV0dXJl
IGl0IG5lZWRzIHRvIGJlIGltcGxlbWVudGVkIGluIGEgd2F5IHRoYXQgY29uc2lkZXJzIGFsbAor
ICAgICAgICBjYWxsYmFja3Mgd2l0aGluIGEgUGFnZSBhbmQgbm90IG9ubHkgdGhvc2Ugd2l0aGlu
IGEgc2luZ2xlIERvY3VtZW50LgorCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkRvY3VtZW50Ojp3ZWJraXRSZXF1ZXN0QW5pbWF0aW9uRnJhbWUpOgorICAg
ICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAqIGRvbS9SZXF1ZXN0QW5pbWF0aW9uRnJh
bWVDYWxsYmFjay5oOgorICAgICAgICAqIGRvbS9TY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyOjpyZWdp
c3RlckNhbGxiYWNrKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdGVkQW5pbWF0aW9uQ29udHJv
bGxlcjo6c2VydmljZVNjcmlwdGVkQW5pbWF0aW9ucyk6CisgICAgICAgICogZG9tL1NjcmlwdGVk
QW5pbWF0aW9uQ29udHJvbGxlci5oOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6d2Via2l0UmVxdWVzdEFuaW1hdGlvbkZyYW1lKToK
KyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5oOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93Lmlk
bDoKKworMjAxMS0xMi0wOSAgSmFtZXMgUm9iaW5zb24gIDxqYW1lc3JAY2hyb21pdW0ub3JnPgor
CiAgICAgICAgIFJlbmFtZSB3ZWJraXRDYW5jZWxSZXF1ZXN0QW5pbWF0aW9uRnJhbWUgdG8gd2Vi
a2l0Q2FuY2VsQW5pbWF0aW9uRnJhbWUgdG8gbWF0Y2ggc3BlYyBjaGFuZ2UKICAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjMxCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuY3BwCmluZGV4IDc5NWNmNDIxMWM5N2I0NDA3MDczNmFhOGYxNTZjNGM0MzA5ZDU2NzAu
LmU3M2JlZWE2NjI4YzNjYThkODI5Mjc1NzFiYTRhNTJiZmMzMzBjMzYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmNwcApAQCAtNTEyNywxMiArNTEyNywxMiBAQCB2b2lkIERvY3VtZW50Ojpsb2FkRXZl
bnREZWxheVRpbWVyRmlyZWQoVGltZXI8RG9jdW1lbnQ+KikKIH0KIAogI2lmIEVOQUJMRShSRVFV
RVNUX0FOSU1BVElPTl9GUkFNRSkKLWludCBEb2N1bWVudDo6d2Via2l0UmVxdWVzdEFuaW1hdGlv
bkZyYW1lKFBhc3NSZWZQdHI8UmVxdWVzdEFuaW1hdGlvbkZyYW1lQ2FsbGJhY2s+IGNhbGxiYWNr
LCBFbGVtZW50KiBhbmltYXRpb25FbGVtZW50KQoraW50IERvY3VtZW50Ojp3ZWJraXRSZXF1ZXN0
QW5pbWF0aW9uRnJhbWUoUGFzc1JlZlB0cjxSZXF1ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmFjaz4g
Y2FsbGJhY2spCiB7CiAgICAgaWYgKCFtX3NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlcikKICAg
ICAgICAgbV9zY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIgPSBTY3JpcHRlZEFuaW1hdGlvbkNv
bnRyb2xsZXI6OmNyZWF0ZSh0aGlzLCBwYWdlKCktPmRpc3BsYXlJRCgpKTsKIAotICAgIHJldHVy
biBtX3NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci0+cmVnaXN0ZXJDYWxsYmFjayhjYWxsYmFj
aywgYW5pbWF0aW9uRWxlbWVudCk7CisgICAgcmV0dXJuIG1fc2NyaXB0ZWRBbmltYXRpb25Db250
cm9sbGVyLT5yZWdpc3RlckNhbGxiYWNrKGNhbGxiYWNrKTsKIH0KIAogdm9pZCBEb2N1bWVudDo6
d2Via2l0Q2FuY2VsQW5pbWF0aW9uRnJhbWUoaW50IGlkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRl
eCAxMTA3Y2Y0Y2Y3MThlNTVjNTkwZWEwOGM0OGY4ZjE5MjRlY2Q2ZTZkLi45YTRlMTQ1NWI3YjQ2
MzJjNDkyM2RjOTU1OWViMjc3YzU4MjBhZDQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtMTEw
NCw3ICsxMTA0LDcgQEAgcHVibGljOgogICAgIGNvbnN0IERvY3VtZW50VGltaW5nKiB0aW1pbmco
KSBjb25zdCB7IHJldHVybiAmbV9kb2N1bWVudFRpbWluZzsgfQogCiAjaWYgRU5BQkxFKFJFUVVF
U1RfQU5JTUFUSU9OX0ZSQU1FKQotICAgIGludCB3ZWJraXRSZXF1ZXN0QW5pbWF0aW9uRnJhbWUo
UGFzc1JlZlB0cjxSZXF1ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmFjaz4sIEVsZW1lbnQqKTsKKyAg
ICBpbnQgd2Via2l0UmVxdWVzdEFuaW1hdGlvbkZyYW1lKFBhc3NSZWZQdHI8UmVxdWVzdEFuaW1h
dGlvbkZyYW1lQ2FsbGJhY2s+KTsKICAgICB2b2lkIHdlYmtpdENhbmNlbEFuaW1hdGlvbkZyYW1l
KGludCBpZCk7CiAgICAgdm9pZCBzZXJ2aWNlU2NyaXB0ZWRBbmltYXRpb25zKERPTVRpbWVTdGFt
cCk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9SZXF1ZXN0QW5pbWF0
aW9uRnJhbWVDYWxsYmFjay5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1JlcXVlc3RBbmltYXRpb25G
cmFtZUNhbGxiYWNrLmgKaW5kZXggM2VkZWI5ZWE4YzllZDQ2OTdiZWM3Zjk4NjQ1YmFjYzQ3MjI5
NDQwYi4uNDIwZjAyM2NhZTViN2I4NjVhNTU3YjU0NmM4NzRmZmNkYjc4YTkxMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL1JlcXVlc3RBbmltYXRpb25GcmFtZUNhbGxiYWNrLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL1JlcXVlc3RBbmltYXRpb25GcmFtZUNhbGxiYWNrLmgKQEAg
LTMxLDggKzMxLDYgQEAKICNpZm5kZWYgUmVxdWVzdEFuaW1hdGlvbkZyYW1lQ2FsbGJhY2tfaAog
I2RlZmluZSBSZXF1ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmFja19oCiAKLSNpbmNsdWRlICJFbGVt
ZW50LmgiCi0jaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291
bnRlZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00Miw3ICs0MCw2IEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIH5SZXF1ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmFjaygpIHsgfQogICAgIHZp
cnR1YWwgYm9vbCBoYW5kbGVFdmVudChET01UaW1lU3RhbXApID0gMDsKIAotICAgIFJlZlB0cjxF
bGVtZW50PiBtX2VsZW1lbnQ7CiAgICAgaW50IG1faWQ7CiAgICAgYm9vbCBtX2ZpcmVkT3JDYW5j
ZWxsZWQ7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0
aW9uQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0ZWRBbmltYXRpb25D
b250cm9sbGVyLmNwcAppbmRleCA4ODc1ZjU1NjgwZTliN2VkMWE5MTZmOGRmNDE5YTVlZGY1MTUw
N2VkLi42Yjk3ZjhiODg2YTdjMTYyOGFhY2QzZDY2ZDk2ZTM2ZGRjMmY3NmE0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmNwcApAQCAt
MjksNyArMjksNiBAQAogI2lmIEVOQUJMRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkKIAogI2lu
Y2x1ZGUgIkRvY3VtZW50LmgiCi0jaW5jbHVkZSAiRWxlbWVudC5oIgogI2luY2x1ZGUgIkZyYW1l
Vmlldy5oIgogI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUg
IlJlcXVlc3RBbmltYXRpb25GcmFtZUNhbGxiYWNrLmgiCkBAIC03NywxMiArNzYsMTEgQEAgdm9p
ZCBTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI6OnJlc3VtZSgpCiAgICAgICAgIHNjaGVkdWxl
QW5pbWF0aW9uKCk7CiB9CiAKLVNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlcjo6Q2FsbGJhY2tJ
ZCBTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI6OnJlZ2lzdGVyQ2FsbGJhY2soUGFzc1JlZlB0
cjxSZXF1ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmFjaz4gY2FsbGJhY2ssIEVsZW1lbnQqIGFuaW1h
dGlvbkVsZW1lbnQpCitTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI6OkNhbGxiYWNrSWQgU2Ny
aXB0ZWRBbmltYXRpb25Db250cm9sbGVyOjpyZWdpc3RlckNhbGxiYWNrKFBhc3NSZWZQdHI8UmVx
dWVzdEFuaW1hdGlvbkZyYW1lQ2FsbGJhY2s+IGNhbGxiYWNrKQogewogICAgIFNjcmlwdGVkQW5p
bWF0aW9uQ29udHJvbGxlcjo6Q2FsbGJhY2tJZCBpZCA9IG1fbmV4dENhbGxiYWNrSWQrKzsKICAg
ICBjYWxsYmFjay0+bV9maXJlZE9yQ2FuY2VsbGVkID0gZmFsc2U7CiAgICAgY2FsbGJhY2stPm1f
aWQgPSBpZDsKLSAgICBjYWxsYmFjay0+bV9lbGVtZW50ID0gYW5pbWF0aW9uRWxlbWVudDsKICAg
ICBtX2NhbGxiYWNrcy5hcHBlbmQoY2FsbGJhY2spOwogCiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjpkaWRSZWdpc3RlckFuaW1hdGlvbkZyYW1lQ2FsbGJhY2sobV9kb2N1bWVudCwgaWQp
OwpAQCAtMTA4LDQ4ICsxMDYsMjQgQEAgdm9pZCBTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI6
OnNlcnZpY2VTY3JpcHRlZEFuaW1hdGlvbnMoRE9NVGltZVN0YW1wIHRpbWUpCiB7CiAgICAgaWYg
KCFtX2NhbGxiYWNrcy5zaXplKCkgfHwgbV9zdXNwZW5kQ291bnQpCiAgICAgICAgIHJldHVybjsK
LSAgICAvLyBXZSB3YW50IHRvIHJ1biB0aGUgY2FsbGJhY2sgZm9yIGFsbCBlbGVtZW50cyBpbiB0
aGUgZG9jdW1lbnQgdGhhdCBoYXZlIHJlZ2lzdGVyZWQKLSAgICAvLyBmb3IgYSBjYWxsYmFjayBh
bmQgdGhhdCBhcmUgdmlzaWJsZS4gIFJ1bm5pbmcgdGhlIGNhbGxiYWNrcyBjYW4gY2F1c2UgbmV3
IGNhbGxiYWNrcwotICAgIC8vIHRvIGJlIHJlZ2lzdGVyZWQsIGV4aXN0aW5nIGNhbGxiYWNrcyB0
byBiZSBjYW5jZWxsZWQsIGFuZCBlbGVtZW50cyB0byBnYWluIG9yIGxvc2UKLSAgICAvLyB2aXNp
YmlsaXR5IHNvIHRoaXMgY29kZSBoYXMgdG8gaXRlcmF0ZSBjYXJlZnVsbHkuCi0KLSAgICAvLyBG
SVhNRTogQ3VycmVudGx5LCB0aGlzIGNvZGUgZG9lc24ndCBkbyBhbnkgdmlzaWJpbGl0eSB0ZXN0
cyBiZXlvbmQgY2hlY2tpbmcgZGlzcGxheToKIAogICAgIC8vIEZpcnN0LCBnZW5lcmF0ZSBhIGxp
c3Qgb2YgY2FsbGJhY2tzIHRvIGNvbnNpZGVyLiAgQ2FsbGJhY2tzIHJlZ2lzdGVyZWQgZnJvbSB0
aGlzIHBvaW50CiAgICAgLy8gb24gYXJlIGNvbnNpZGVyZWQgb25seSBmb3IgdGhlICJuZXh0IiBm
cmFtZSwgbm90IHRoaXMgb25lLgogICAgIENhbGxiYWNrTGlzdCBjYWxsYmFja3MobV9jYWxsYmFj
a3MpOwogCi0gICAgLy8gRmlyaW5nIHRoZSBjYWxsYmFjayBtYXkgY2F1c2UgdGhlIHZpc2liaWxp
dHkgb2Ygb3RoZXIgZWxlbWVudHMgdG8gY2hhbmdlLiAgVG8gYXZvaWQKLSAgICAvLyBtaXNzaW5n
IGFueSBjYWxsYmFja3MsIHdlIGtlZXAgaXRlcmF0aW5nIHRocm91Z2ggdGhlIGxpc3Qgb2YgY2Fu
ZGlhdGUgY2FsbGJhY2tzIGFuZCBmaXJpbmcKLSAgICAvLyB0aGVtIHVudGlsIG5vdGhpbmcgbmV3
IGJlY29tZXMgdmlzaWJsZS4KLSAgICBib29sIGZpcmVkQ2FsbGJhY2s7Ci0KICAgICAvLyBJbnZv
a2luZyBjYWxsYmFja3MgbWF5IGRldGFjaCBlbGVtZW50cyBmcm9tIG91ciBkb2N1bWVudCwgd2hp
Y2ggY2xlYXIncyB0aGUgZG9jdW1lbnQncwogICAgIC8vIHJlZmVyZW5jZSB0byB1cywgc28gdGFr
ZSBhIGRlZmVuc2l2ZSByZWZlcmVuY2UuCiAgICAgUmVmUHRyPFNjcmlwdGVkQW5pbWF0aW9uQ29u
dHJvbGxlcj4gcHJvdGVjdG9yKHRoaXMpOwotICAgIGRvIHsKLSAgICAgICAgZmlyZWRDYWxsYmFj
ayA9IGZhbHNlOwotICAgICAgICAvLyBBIHByZXZpb3VzIGl0ZXJhdGlvbiBtYXkgaGF2ZSBkZXRh
Y2hlZCB0aGlzIERvY3VtZW50IGZyb20gdGhlIERPTSB0cmVlLgotICAgICAgICAvLyBJZiBzbywg
dGhlbiB3ZSBkbyBub3QgbmVlZCB0byBwcm9jZXNzIGFueSBtb3JlIGNhbGxiYWNrcy4KLSAgICAg
ICAgaWYgKCFtX2RvY3VtZW50KQotICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAgICAgLy8g
QSBwcmV2aW91cyBpdGVyYXRpb24gbWF5IGhhdmUgaW52YWxpZGF0ZWQgc3R5bGUgKG9yIGxheW91
dCkuICBVcGRhdGUgc3R5bGVzIGZvciBlYWNoIGl0ZXJhdGlvbgotICAgICAgICAvLyBmb3Igbm93
IHNpbmNlIGFsbCB3ZSBjaGVjayBpcyB0aGUgZXhpc3RlbmNlIG9mIGEgcmVuZGVyZXIuCi0gICAg
ICAgIG1fZG9jdW1lbnQtPnVwZGF0ZVN0eWxlSWZOZWVkZWQoKTsKLSAgICAgICAgZm9yIChzaXpl
X3QgaSA9IDA7IGkgPCBjYWxsYmFja3Muc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgICAgIFJlcXVl
c3RBbmltYXRpb25GcmFtZUNhbGxiYWNrKiBjYWxsYmFjayA9IGNhbGxiYWNrc1tpXS5nZXQoKTsK
LSAgICAgICAgICAgIGlmICghY2FsbGJhY2stPm1fZmlyZWRPckNhbmNlbGxlZCAmJiAoIWNhbGxi
YWNrLT5tX2VsZW1lbnQgfHwgY2FsbGJhY2stPm1fZWxlbWVudC0+cmVuZGVyZXIoKSkpIHsKLSAg
ICAgICAgICAgICAgICBjYWxsYmFjay0+bV9maXJlZE9yQ2FuY2VsbGVkID0gdHJ1ZTsKLSAgICAg
ICAgICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgY29va2llID0gSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsRmlyZUFuaW1hdGlvbkZyYW1lRXZlbnQobV9kb2N1bWVu
dCwgY2FsbGJhY2stPm1faWQpOwotICAgICAgICAgICAgICAgIGNhbGxiYWNrLT5oYW5kbGVFdmVu
dCh0aW1lKTsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZEZp
cmVBbmltYXRpb25GcmFtZUV2ZW50KGNvb2tpZSk7Ci0gICAgICAgICAgICAgICAgZmlyZWRDYWxs
YmFjayA9IHRydWU7Ci0gICAgICAgICAgICAgICAgY2FsbGJhY2tzLnJlbW92ZShpKTsKLSAgICAg
ICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIH0KKworICAgIGZvciAoc2l6ZV90IGkgPSAw
OyBpIDwgY2FsbGJhY2tzLnNpemUoKTsgKytpKSB7CisgICAgICAgIFJlcXVlc3RBbmltYXRpb25G
cmFtZUNhbGxiYWNrKiBjYWxsYmFjayA9IGNhbGxiYWNrc1tpXS5nZXQoKTsKKyAgICAgICAgaWYg
KCFjYWxsYmFjay0+bV9maXJlZE9yQ2FuY2VsbGVkKSB7CisgICAgICAgICAgICBjYWxsYmFjay0+
bV9maXJlZE9yQ2FuY2VsbGVkID0gdHJ1ZTsKKyAgICAgICAgICAgIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbkNvb2tpZSBjb29raWUgPSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxGaXJl
QW5pbWF0aW9uRnJhbWVFdmVudChtX2RvY3VtZW50LCBjYWxsYmFjay0+bV9pZCk7CisgICAgICAg
ICAgICBjYWxsYmFjay0+aGFuZGxlRXZlbnQodGltZSk7CisgICAgICAgICAgICBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OmRpZEZpcmVBbmltYXRpb25GcmFtZUV2ZW50KGNvb2tpZSk7CiAgICAg
ICAgIH0KLSAgICB9IHdoaWxlIChmaXJlZENhbGxiYWNrKTsKKyAgICB9CiAKICAgICAvLyBSZW1v
dmUgYW55IGNhbGxiYWNrcyB3ZSBmaXJlZCBmcm9tIHRoZSBsaXN0IG9mIHBlbmRpbmcgY2FsbGJh
Y2tzLgogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9jYWxsYmFja3Muc2l6ZSgpOykgewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxl
ci5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci5oCmlu
ZGV4IGQyYzljMGMwYjk5NjFjMThkNGJkN2Y1ZDI3ZTAxMjU1ZTZhY2I5OWUuLjUxYzM2Yjk5NGZh
ZDEwMDBlOWMwNDFlMWFhYjg3YjY4NjM4ZDI2MDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9TY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmgKQEAgLTQyLDcgKzQyLDYgQEAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRG9jdW1lbnQ7Ci1jbGFzcyBFbGVtZW50OwogY2xhc3Mg
UmVxdWVzdEFuaW1hdGlvbkZyYW1lQ2FsbGJhY2s7CiAKIGNsYXNzIFNjcmlwdGVkQW5pbWF0aW9u
Q29udHJvbGxlciA6IHB1YmxpYyBSZWZDb3VudGVkPFNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxl
cj4KQEAgLTYwLDcgKzU5LDcgQEAgcHVibGljOgogCiAgICAgdHlwZWRlZiBpbnQgQ2FsbGJhY2tJ
ZDsKIAotICAgIENhbGxiYWNrSWQgcmVnaXN0ZXJDYWxsYmFjayhQYXNzUmVmUHRyPFJlcXVlc3RB
bmltYXRpb25GcmFtZUNhbGxiYWNrPiwgRWxlbWVudCopOworICAgIENhbGxiYWNrSWQgcmVnaXN0
ZXJDYWxsYmFjayhQYXNzUmVmUHRyPFJlcXVlc3RBbmltYXRpb25GcmFtZUNhbGxiYWNrPik7CiAg
ICAgdm9pZCBjYW5jZWxDYWxsYmFjayhDYWxsYmFja0lkKTsKICAgICB2b2lkIHNlcnZpY2VTY3Jp
cHRlZEFuaW1hdGlvbnMoRE9NVGltZVN0YW1wKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9ET01XaW5kb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3Bw
CmluZGV4IGQ0NDUxMmY0ZWNjNDMyZTFkODQ4YTdiMWI2YTgzNjBjZTk3YzI5YTkuLmUwZWEwZDQ4
NTQ2NDIxZGM5NDdhMjdhNzcyNjAyMWU3ZTJiYWE4NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRE9NV2luZG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRv
dy5jcHAKQEAgLTE1NzcsMTAgKzE1NzcsMTAgQEAgdm9pZCBET01XaW5kb3c6OmNsZWFySW50ZXJ2
YWwoaW50IHRpbWVvdXRJZCkKIH0KIAogI2lmIEVOQUJMRShSRVFVRVNUX0FOSU1BVElPTl9GUkFN
RSkKLWludCBET01XaW5kb3c6OndlYmtpdFJlcXVlc3RBbmltYXRpb25GcmFtZShQYXNzUmVmUHRy
PFJlcXVlc3RBbmltYXRpb25GcmFtZUNhbGxiYWNrPiBjYWxsYmFjaywgRWxlbWVudCogZSkKK2lu
dCBET01XaW5kb3c6OndlYmtpdFJlcXVlc3RBbmltYXRpb25GcmFtZShQYXNzUmVmUHRyPFJlcXVl
c3RBbmltYXRpb25GcmFtZUNhbGxiYWNrPiBjYWxsYmFjaykKIHsKICAgICBpZiAoRG9jdW1lbnQq
IGQgPSBkb2N1bWVudCgpKQotICAgICAgICByZXR1cm4gZC0+d2Via2l0UmVxdWVzdEFuaW1hdGlv
bkZyYW1lKGNhbGxiYWNrLCBlKTsKKyAgICAgICAgcmV0dXJuIGQtPndlYmtpdFJlcXVlc3RBbmlt
YXRpb25GcmFtZShjYWxsYmFjayk7CiAgICAgcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdp
bmRvdy5oCmluZGV4IGUzYWVhMTI2MjU0NWZkNzkxNDJkZGZhODU2MmY3Y2RiMzAzY2EwMzkuLjBh
MjFmMDlkMjIxZWVjMTNhNTc1NDBlNzUxODVjMGFiOGQ2NWUzODkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01X
aW5kb3cuaApAQCAtMjUzLDcgKzI1Myw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAg
ICAvLyBXZWJLaXQgYW5pbWF0aW9uIGV4dGVuc2lvbnMKICNpZiBFTkFCTEUoUkVRVUVTVF9BTklN
QVRJT05fRlJBTUUpCi0gICAgICAgIGludCB3ZWJraXRSZXF1ZXN0QW5pbWF0aW9uRnJhbWUoUGFz
c1JlZlB0cjxSZXF1ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmFjaz4sIEVsZW1lbnQqKTsKKyAgICAg
ICAgaW50IHdlYmtpdFJlcXVlc3RBbmltYXRpb25GcmFtZShQYXNzUmVmUHRyPFJlcXVlc3RBbmlt
YXRpb25GcmFtZUNhbGxiYWNrPik7CiAgICAgICAgIHZvaWQgd2Via2l0Q2FuY2VsQW5pbWF0aW9u
RnJhbWUoaW50IGlkKTsKICAgICAgICAgdm9pZCB3ZWJraXRDYW5jZWxSZXF1ZXN0QW5pbWF0aW9u
RnJhbWUoaW50IGlkKSB7IHdlYmtpdENhbmNlbEFuaW1hdGlvbkZyYW1lKGlkKTsgfQogI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKaW5kZXggOWYxYzA3ZWQ0YjQ5MzNjYTczOTg3MjBk
YzZjMzYwMWJlODUyNjZmMi4uYTE2ODlkYjRiNDAzOWVlYWEwOGQ3YmVkZjEzZjE2MGUzNWUzZWI0
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbApAQCAtMjQyLDcgKzI0Miw3IEBAIG1vZHVs
ZSB3aW5kb3cgewogCiAjaWYgZGVmaW5lZChFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUp
CiAgICAgICAgIC8vIFdlYktpdCBhbmltYXRpb24gZXh0ZW5zaW9ucywgYmVpbmcgc3RhbmRhcmRp
emVkIGluIHRoZSBXZWJQZXJmIFdHCi0gICAgICAgIGxvbmcgd2Via2l0UmVxdWVzdEFuaW1hdGlv
bkZyYW1lKGluIFtDYWxsYmFja10gUmVxdWVzdEFuaW1hdGlvbkZyYW1lQ2FsbGJhY2sgY2FsbGJh
Y2ssIGluIFtPcHRpb25hbD1DYWxsV2l0aERlZmF1bHRWYWx1ZV0gRWxlbWVudCBlbGVtZW50KTsK
KyAgICAgICAgbG9uZyB3ZWJraXRSZXF1ZXN0QW5pbWF0aW9uRnJhbWUoaW4gW0NhbGxiYWNrXSBS
ZXF1ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmFjayBjYWxsYmFjayk7CiAgICAgICAgIHZvaWQgd2Vi
a2l0Q2FuY2VsQW5pbWF0aW9uRnJhbWUoaW4gbG9uZyBpZCk7CiAgICAgICAgIHZvaWQgd2Via2l0
Q2FuY2VsUmVxdWVzdEFuaW1hdGlvbkZyYW1lKGluIGxvbmcgaWQpOyAvLyBUaGlzIGlzIGEgZGVw
cmVjYXRlZCBhbGlhcyBmb3Igd2Via2l0Q2FuY2VsQW5pbWF0aW9uRnJhbWUoKS4gUmVtb3ZlIHRo
aXMgd2hlbiByZW1vdmluZyB2ZW5kb3IgcHJlZml4LgogI2VuZGlmCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMDk4NjBhMjQ0
MTBjYTQ0ZmI5YzhiMWY5ZDdkNzliMWZkMGMzNTNmZi4uMzViMDIwNWIwN2UxM2NjYTM1MWU0M2Q3
OTY3MjdjOWYwNzljZTZhZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE4IEBACiAyMDExLTEyLTA5ICBKYW1l
cyBSb2JpbnNvbiAgPGphbWVzckBjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgUmVtb3ZlIHBhcnRp
YWxseSBpbXBsZW1lbnRlZCBwZXItRWxlbWVudCB2aXNpYmlsaXR5IGNoZWNrcyBmcm9tIHJlcXVl
c3RBbmltYXRpb25GcmFtZSBsb2dpYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzQyMzIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBSZW1vdmUgdGVzdHMgZm9yIHJlbW92ZWQgZnVuY3Rpb25hbGl0eS4KKwor
ICAgICAgICAqIGZhc3QvYW5pbWF0aW9uL3JlcXVlc3QtYW5pbWF0aW9uLWZyYW1lLWRpc3BsYXkt
ZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvYW5pbWF0aW9uL3JlcXVlc3Qt
YW5pbWF0aW9uLWZyYW1lLWRpc3BsYXkuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2Fu
aW1hdGlvbi9zY3JpcHQtdGVzdHMvcmVxdWVzdC1hbmltYXRpb24tZnJhbWUtZGlzcGxheS5qczog
UmVtb3ZlZC4KKworMjAxMS0xMi0wOSAgSmFtZXMgUm9iaW5zb24gIDxqYW1lc3JAY2hyb21pdW0u
b3JnPgorCiAgICAgICAgIFJlbmFtZSB3ZWJraXRDYW5jZWxSZXF1ZXN0QW5pbWF0aW9uRnJhbWUg
dG8gd2Via2l0Q2FuY2VsQW5pbWF0aW9uRnJhbWUgdG8gbWF0Y2ggc3BlYyBjaGFuZ2UKICAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjMxCiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvYW5pbWF0aW9uL3JlcXVlc3QtYW5pbWF0aW9uLWZyYW1l
LWRpc3BsYXktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9hbmltYXRpb24vcmVxdWVz
dC1hbmltYXRpb24tZnJhbWUtZGlzcGxheS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGU5ODI2MzhjZWFmNDEyNjYwMmYyN2UyOTM3MTk5ZjczNTA4ODQ2NGMuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9hbmltYXRpb24vcmVxdWVzdC1hbmltYXRpb24tZnJhbWUtZGlzcGxheS1leHBlY3RlZC50
eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMCArMCwwIEBACi1UZXN0cyByZXF1ZXN0QW5pbWF0aW9u
RnJhbWUgY2FsbGJhY2sgaGFuZGxpbmcgb2YgZGlzcGxheTogcHJvcGVydHkgY2hhbmdlZCB3aXRo
aW4gYW5vdGhlciBjYWxsYmFjawotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFT
UyBjYWxsYmFja0ludm9rZWRPbkEgaXMgdHJ1ZQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQotCi1URVNUIENPTVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvYW5p
bWF0aW9uL3JlcXVlc3QtYW5pbWF0aW9uLWZyYW1lLWRpc3BsYXkuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvYW5pbWF0aW9uL3JlcXVlc3QtYW5pbWF0aW9uLWZyYW1lLWRpc3BsYXkuaHRtbApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzgyZDNlMGQzN2JkM2FiMzU4N2NmMmVlNTliZDUy
Njk5NjFkNDI5My4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2FuaW1hdGlvbi9yZXF1ZXN0LWFuaW1hdGlvbi1mcmFtZS1kaXNw
bGF5Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4K
LTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPHNwYW4gaWQ9ImUiPjwvc3Bhbj4KLTxz
cGFuIGlkPSJmIj48L3NwYW4+Ci08c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL3JlcXVlc3QtYW5p
bWF0aW9uLWZyYW1lLWRpc3BsYXkuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9hbmltYXRpb24vc2NyaXB0LXRlc3RzL3JlcXVlc3Qt
YW5pbWF0aW9uLWZyYW1lLWRpc3BsYXkuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2FuaW1hdGlvbi9z
Y3JpcHQtdGVzdHMvcmVxdWVzdC1hbmltYXRpb24tZnJhbWUtZGlzcGxheS5qcwpkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggYmNkNmU5OWM1MmRjNjE0MTMxN2U2ODk4ZWE3MWUzNzVkOGJh
MDVmZi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2FuaW1hdGlvbi9zY3JpcHQtdGVzdHMvcmVxdWVzdC1hbmltYXRpb24tZnJh
bWUtZGlzcGxheS5qcworKysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLWRlc2NyaXB0aW9u
KCJUZXN0cyByZXF1ZXN0QW5pbWF0aW9uRnJhbWUgY2FsbGJhY2sgaGFuZGxpbmcgb2YgZGlzcGxh
eTogcHJvcGVydHkgY2hhbmdlZCB3aXRoaW4gYW5vdGhlciBjYWxsYmFjayIpOwotCi12YXIgZSA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlIik7Ci1lLnN0eWxlLmRpc3BsYXk9Im5vbmUiOwot
dmFyIGNhbGxiYWNrSW52b2tlZE9uQT1mYWxzZTsKLXdpbmRvdy53ZWJraXRSZXF1ZXN0QW5pbWF0
aW9uRnJhbWUoZnVuY3Rpb24oKSB7Ci0gICAgY2FsbGJhY2tJbnZva2VkT25BPXRydWU7Ci19LCBl
KTsKLQotdmFyIGYgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZiIpOwotd2luZG93LndlYmtp
dFJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpIHsKLSAgICBlLnN0eWxlLmRpc3BsYXk9
IiI7Ci19LCBmKTsKLQotaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5kaXNwbGF5KCk7Ci0KLXNldFRpbWVvdXQoZnVuY3Rpb24oKSB7Ci0g
ICAgc2hvdWxkQmVUcnVlKCJjYWxsYmFja0ludm9rZWRPbkEiKTsKLX0sIDEwMCk7Ci0KLWlmICh3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCi0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2Fp
dFVudGlsRG9uZSgpOwotCi1zZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewotICAgIGlzU3VjY2Vzc2Z1
bGx5UGFyc2VkKCk7Ci0gICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwotfSwgMjAwKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>136119</attachid>
            <date>2012-04-06 19:13:18 -0700</date>
            <delta_ts>2012-04-09 04:42:33 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-74232-20120406191317.patch</filename>
            <type>text/plain</type>
            <size>15480</size>
            <attacher name="James Robinson">jamesr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzNTMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWMyYjY4MmRlMzYwYzk3
ODBkMDhhNGUwZmE5MDAxYTBlZTFhZjk4NC4uM2ZmZDY2YTc5YjM4NjNlY2UxNzQ4OTNiZDhlZTkz
YzgzNjNmNzg0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDEyLTA0LTA2ICBKYW1l
cyBSb2JpbnNvbiAgPGphbWVzckBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVtb3ZlIHBhcnRp
YWxseSBpbXBsZW1lbnRlZCBwZXItRWxlbWVudCB2aXNpYmlsaXR5IGNoZWNrcyBmcm9tIHJlcXVl
c3RBbmltYXRpb25GcmFtZSBsb2dpYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzQyMzIKKworICAgICAgICBSZXZpZXdlZCBieSBEZWFuIEphY2tzb24u
CisKKyAgICAgICAgVGhlIGluaXRpYWwgcmVxdWVzdEFuaW1hdGlvbkZyYW1lIGltcGxlbWVudGF0
aW9uIGhhZCBhbiBFbGVtZW50IHBhcmFtZXRlciBhcyB0aGUgc2Vjb25kIGFyZ3VtZW50IHRvIHRo
ZQorICAgICAgICBmdW5jdGlvbi4gVGhpcyBlbGVtZW50IHdhcyBpbnRlbmRlZCB0byBjb252ZXkg
dGhlIGVsZW1lbnQgYXNzb2NpYXRlZCB3aXRoIHRoZSBhbmltYXRpb24gc28gdGhhdCB3aGVuIHRo
ZSBlbGVtZW50CisgICAgICAgIHdhcyBub3QgdmlzaWJsZSB0aGUgYW5pbWF0aW9uIGNhbGxiYWNr
IHdvdWxkIG5vdCBiZSBydW4uIFRoZSBjaGVja2VkIGluIGltcGxlbWVudGF0aW9uIGRvZXMgYSB2
ZXJ5IGxpbWl0ZWQgY2hlY2sKKyAgICAgICAgLSB0ZXN0aW5nIGZvciBkaXNwbGF5Om5vbmUgYW5k
IGJlaW5nIGRldGFjaGVkIGZyb20gdGhlIHRyZWUgLSBidXQgZG9lcyBpdCBpbiBhIHdheSB0aGF0
IGRvZXMgbm90IHdvcmsgY29ycmVjdGx5CisgICAgICAgIGlmIGFuIGVsZW1lbnQncyB2aXNpYmls
aXR5IGlzIG1hbmlwdWxhdGVkIGJ5IGEgY2FsbGJhY2sgcnVubmluZyBmcm9tIGEgZGlmZmVyZW50
IGRvY3VtZW50LiBJdCBhbHNvIGFkZHMKKyAgICAgICAgc2lnbmlmaWNhbnQgY29tcGxleGl0eSB0
byB0aGUgY29kZSwgbWFraW5nIGl0IGxlc3MgaGFja2FibGUgYW5kIGVhc3kgdG8gaW50cm9kdWNl
IHN1YnRsZSBzZWN1cml0eSBidWdzIG9yCisgICAgICAgIGluZmluaXRlIGxvb3BzLgorCisgICAg
ICAgIFRoaXMgcGF0Y2ggcmVtb3ZlcyB0aGUgcGFyYW1ldGVyLiBTaW5jZSBpdCBoYXMgYWx3YXlz
IGJlZW4gbWFya2VkIG9wdGlvbmFsLCB0aGVyZSBpcyBubyB3ZWIgY29tcGF0IHJpc2suCisKKyAg
ICAgICAgSWYgdGhpcyBmdW5jdGlvbmFsaXR5IGlzIGFkZGVkIGJhY2sgaW4gdGhlIGZ1dHVyZSBp
dCBuZWVkcyB0byBiZSBpbXBsZW1lbnRlZCBpbiBhIHdheSB0aGF0IGNvbnNpZGVycyBhbGwKKyAg
ICAgICAgY2FsbGJhY2tzIHdpdGhpbiBhIFBhZ2UgYW5kIG5vdCBvbmx5IHRob3NlIHdpdGhpbiBh
IHNpbmdsZSBEb2N1bWVudC4KKworICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpEb2N1bWVudDo6d2Via2l0UmVxdWVzdEFuaW1hdGlvbkZyYW1lKToKKyAgICAg
ICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKiBkb20vUmVxdWVzdEFuaW1hdGlvbkZyYW1l
Q2FsbGJhY2suaDoKKyAgICAgICAgKiBkb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlcjo6cmVnaXN0
ZXJDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xs
ZXI6OnNlcnZpY2VTY3JpcHRlZEFuaW1hdGlvbnMpOgorICAgICAgICAqIGRvbS9TY3JpcHRlZEFu
aW1hdGlvbkNvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpET01XaW5kb3c6OndlYmtpdFJlcXVlc3RBbmltYXRpb25GcmFtZSk6Cisg
ICAgICAgICogcGFnZS9ET01XaW5kb3cuaDoKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5pZGw6
CisKIDIwMTItMDQtMDYgIEtlaXNoaSBIYXR0b3JpICA8a2Vpc2hpQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgUmVtb3ZlIG9ic29sZXRlIHBhcnRzIG9mIDxkYXRhbGlzdD4gc3VwcG9ydCBjb2RlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCA4YWFkMWEzNjM5OTEwZjY1Yzk4ODY2MmRjZWE0MTdl
YzcyZmI5Y2MwLi5lYzVlZmZjYTUxYTJjNjdlOWRiZjdmOGM3OTY0ZWZkMzI1ZDdmNDVmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTU2NDMsNyArNTY0Myw3IEBAIHZvaWQgRG9jdW1lbnQ6
OmxvYWRFdmVudERlbGF5VGltZXJGaXJlZChUaW1lcjxEb2N1bWVudD4qKQogfQogCiAjaWYgRU5B
QkxFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKQotaW50IERvY3VtZW50Ojp3ZWJraXRSZXF1ZXN0
QW5pbWF0aW9uRnJhbWUoUGFzc1JlZlB0cjxSZXF1ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmFjaz4g
Y2FsbGJhY2ssIEVsZW1lbnQqIGFuaW1hdGlvbkVsZW1lbnQpCitpbnQgRG9jdW1lbnQ6OndlYmtp
dFJlcXVlc3RBbmltYXRpb25GcmFtZShQYXNzUmVmUHRyPFJlcXVlc3RBbmltYXRpb25GcmFtZUNh
bGxiYWNrPiBjYWxsYmFjaykKIHsKICAgICBpZiAoIW1fc2NyaXB0ZWRBbmltYXRpb25Db250cm9s
bGVyKSB7CiAjaWYgVVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJU1BMQVlfTU9OSVRPUikK
QEAgLTU2NTgsNyArNTY1OCw3IEBAIGludCBEb2N1bWVudDo6d2Via2l0UmVxdWVzdEFuaW1hdGlv
bkZyYW1lKFBhc3NSZWZQdHI8UmVxdWVzdEFuaW1hdGlvbkZyYW1lQ2FsbGJhCiAgICAgICAgICAg
ICBtX3NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci0+c3VzcGVuZCgpOwogICAgIH0KIAotICAg
IHJldHVybiBtX3NjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlci0+cmVnaXN0ZXJDYWxsYmFjayhj
YWxsYmFjaywgYW5pbWF0aW9uRWxlbWVudCk7CisgICAgcmV0dXJuIG1fc2NyaXB0ZWRBbmltYXRp
b25Db250cm9sbGVyLT5yZWdpc3RlckNhbGxiYWNrKGNhbGxiYWNrKTsKIH0KIAogdm9pZCBEb2N1
bWVudDo6d2Via2l0Q2FuY2VsQW5pbWF0aW9uRnJhbWUoaW50IGlkKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
aAppbmRleCA5Zjc0YzBmMWZhODJhNGFiYTNkYWM2NTU0YTQ5MjEyZDRhNWM4ODFmLi40ZTc2NDc4
ZmU0MDNhNjQ1M2UzMDI0MzY1MjQ4NGYxNzExOTk4M2I3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApA
QCAtMTEwNiw3ICsxMTA2LDcgQEAgcHVibGljOgogICAgIGNvbnN0IERvY3VtZW50VGltaW5nKiB0
aW1pbmcoKSBjb25zdCB7IHJldHVybiAmbV9kb2N1bWVudFRpbWluZzsgfQogCiAjaWYgRU5BQkxF
KFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKQotICAgIGludCB3ZWJraXRSZXF1ZXN0QW5pbWF0aW9u
RnJhbWUoUGFzc1JlZlB0cjxSZXF1ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmFjaz4sIEVsZW1lbnQq
KTsKKyAgICBpbnQgd2Via2l0UmVxdWVzdEFuaW1hdGlvbkZyYW1lKFBhc3NSZWZQdHI8UmVxdWVz
dEFuaW1hdGlvbkZyYW1lQ2FsbGJhY2s+KTsKICAgICB2b2lkIHdlYmtpdENhbmNlbEFuaW1hdGlv
bkZyYW1lKGludCBpZCk7CiAgICAgdm9pZCBzZXJ2aWNlU2NyaXB0ZWRBbmltYXRpb25zKERPTVRp
bWVTdGFtcCk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9SZXF1ZXN0
QW5pbWF0aW9uRnJhbWVDYWxsYmFjay5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1JlcXVlc3RBbmlt
YXRpb25GcmFtZUNhbGxiYWNrLmgKaW5kZXggM2VkZWI5ZWE4YzllZDQ2OTdiZWM3Zjk4NjQ1YmFj
YzQ3MjI5NDQwYi4uNDIwZjAyM2NhZTViN2I4NjVhNTU3YjU0NmM4NzRmZmNkYjc4YTkxMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1JlcXVlc3RBbmltYXRpb25GcmFtZUNhbGxiYWNr
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1JlcXVlc3RBbmltYXRpb25GcmFtZUNhbGxiYWNr
LmgKQEAgLTMxLDggKzMxLDYgQEAKICNpZm5kZWYgUmVxdWVzdEFuaW1hdGlvbkZyYW1lQ2FsbGJh
Y2tfaAogI2RlZmluZSBSZXF1ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmFja19oCiAKLSNpbmNsdWRl
ICJFbGVtZW50LmgiCi0jaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYv
UmVmQ291bnRlZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00Miw3ICs0MCw2IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIH5SZXF1ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmFjaygpIHsgfQog
ICAgIHZpcnR1YWwgYm9vbCBoYW5kbGVFdmVudChET01UaW1lU3RhbXApID0gMDsKIAotICAgIFJl
ZlB0cjxFbGVtZW50PiBtX2VsZW1lbnQ7CiAgICAgaW50IG1faWQ7CiAgICAgYm9vbCBtX2ZpcmVk
T3JDYW5jZWxsZWQ7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVk
QW5pbWF0aW9uQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0ZWRBbmlt
YXRpb25Db250cm9sbGVyLmNwcAppbmRleCA4MDdlOTEzYWI3NTQ4NGFjZmI0YThhYmIwMTRjZTA3
YTlhNjM5MWQyLi4zODBlMGIyNDUwMWY3MmI3YjY3YjNiNTRiYTk3MGMzZjVjYTA4Y2VmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyLmNw
cApAQCAtMjksNyArMjksNiBAQAogI2lmIEVOQUJMRShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRSkK
IAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCi0jaW5jbHVkZSAiRWxlbWVudC5oIgogI2luY2x1ZGUg
IkZyYW1lVmlldy5oIgogI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgogI2lu
Y2x1ZGUgIlJlcXVlc3RBbmltYXRpb25GcmFtZUNhbGxiYWNrLmgiCkBAIC04MSwxMiArODAsMTEg
QEAgdm9pZCBTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI6OnJlc3VtZSgpCiAgICAgICAgIHNj
aGVkdWxlQW5pbWF0aW9uKCk7CiB9CiAKLVNjcmlwdGVkQW5pbWF0aW9uQ29udHJvbGxlcjo6Q2Fs
bGJhY2tJZCBTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI6OnJlZ2lzdGVyQ2FsbGJhY2soUGFz
c1JlZlB0cjxSZXF1ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmFjaz4gY2FsbGJhY2ssIEVsZW1lbnQq
IGFuaW1hdGlvbkVsZW1lbnQpCitTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI6OkNhbGxiYWNr
SWQgU2NyaXB0ZWRBbmltYXRpb25Db250cm9sbGVyOjpyZWdpc3RlckNhbGxiYWNrKFBhc3NSZWZQ
dHI8UmVxdWVzdEFuaW1hdGlvbkZyYW1lQ2FsbGJhY2s+IGNhbGxiYWNrKQogewogICAgIFNjcmlw
dGVkQW5pbWF0aW9uQ29udHJvbGxlcjo6Q2FsbGJhY2tJZCBpZCA9IG1fbmV4dENhbGxiYWNrSWQr
KzsKICAgICBjYWxsYmFjay0+bV9maXJlZE9yQ2FuY2VsbGVkID0gZmFsc2U7CiAgICAgY2FsbGJh
Y2stPm1faWQgPSBpZDsKLSAgICBjYWxsYmFjay0+bV9lbGVtZW50ID0gYW5pbWF0aW9uRWxlbWVu
dDsKICAgICBtX2NhbGxiYWNrcy5hcHBlbmQoY2FsbGJhY2spOwogCiAgICAgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjpkaWRSZXF1ZXN0QW5pbWF0aW9uRnJhbWUobV9kb2N1bWVudCwgaWQpOwpA
QCAtMTEyLDQ4ICsxMTAsMjQgQEAgdm9pZCBTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI6OnNl
cnZpY2VTY3JpcHRlZEFuaW1hdGlvbnMoRE9NVGltZVN0YW1wIHRpbWUpCiB7CiAgICAgaWYgKCFt
X2NhbGxiYWNrcy5zaXplKCkgfHwgbV9zdXNwZW5kQ291bnQpCiAgICAgICAgIHJldHVybjsKLSAg
ICAvLyBXZSB3YW50IHRvIHJ1biB0aGUgY2FsbGJhY2sgZm9yIGFsbCBlbGVtZW50cyBpbiB0aGUg
ZG9jdW1lbnQgdGhhdCBoYXZlIHJlZ2lzdGVyZWQKLSAgICAvLyBmb3IgYSBjYWxsYmFjayBhbmQg
dGhhdCBhcmUgdmlzaWJsZS4gIFJ1bm5pbmcgdGhlIGNhbGxiYWNrcyBjYW4gY2F1c2UgbmV3IGNh
bGxiYWNrcwotICAgIC8vIHRvIGJlIHJlZ2lzdGVyZWQsIGV4aXN0aW5nIGNhbGxiYWNrcyB0byBi
ZSBjYW5jZWxsZWQsIGFuZCBlbGVtZW50cyB0byBnYWluIG9yIGxvc2UKLSAgICAvLyB2aXNpYmls
aXR5IHNvIHRoaXMgY29kZSBoYXMgdG8gaXRlcmF0ZSBjYXJlZnVsbHkuCi0KLSAgICAvLyBGSVhN
RTogQ3VycmVudGx5LCB0aGlzIGNvZGUgZG9lc24ndCBkbyBhbnkgdmlzaWJpbGl0eSB0ZXN0cyBi
ZXlvbmQgY2hlY2tpbmcgZGlzcGxheToKIAogICAgIC8vIEZpcnN0LCBnZW5lcmF0ZSBhIGxpc3Qg
b2YgY2FsbGJhY2tzIHRvIGNvbnNpZGVyLiAgQ2FsbGJhY2tzIHJlZ2lzdGVyZWQgZnJvbSB0aGlz
IHBvaW50CiAgICAgLy8gb24gYXJlIGNvbnNpZGVyZWQgb25seSBmb3IgdGhlICJuZXh0IiBmcmFt
ZSwgbm90IHRoaXMgb25lLgogICAgIENhbGxiYWNrTGlzdCBjYWxsYmFja3MobV9jYWxsYmFja3Mp
OwogCi0gICAgLy8gRmlyaW5nIHRoZSBjYWxsYmFjayBtYXkgY2F1c2UgdGhlIHZpc2liaWxpdHkg
b2Ygb3RoZXIgZWxlbWVudHMgdG8gY2hhbmdlLiAgVG8gYXZvaWQKLSAgICAvLyBtaXNzaW5nIGFu
eSBjYWxsYmFja3MsIHdlIGtlZXAgaXRlcmF0aW5nIHRocm91Z2ggdGhlIGxpc3Qgb2YgY2FuZGlh
dGUgY2FsbGJhY2tzIGFuZCBmaXJpbmcKLSAgICAvLyB0aGVtIHVudGlsIG5vdGhpbmcgbmV3IGJl
Y29tZXMgdmlzaWJsZS4KLSAgICBib29sIGZpcmVkQ2FsbGJhY2s7Ci0KICAgICAvLyBJbnZva2lu
ZyBjYWxsYmFja3MgbWF5IGRldGFjaCBlbGVtZW50cyBmcm9tIG91ciBkb2N1bWVudCwgd2hpY2gg
Y2xlYXIncyB0aGUgZG9jdW1lbnQncwogICAgIC8vIHJlZmVyZW5jZSB0byB1cywgc28gdGFrZSBh
IGRlZmVuc2l2ZSByZWZlcmVuY2UuCiAgICAgUmVmUHRyPFNjcmlwdGVkQW5pbWF0aW9uQ29udHJv
bGxlcj4gcHJvdGVjdG9yKHRoaXMpOwotICAgIGRvIHsKLSAgICAgICAgZmlyZWRDYWxsYmFjayA9
IGZhbHNlOwotICAgICAgICAvLyBBIHByZXZpb3VzIGl0ZXJhdGlvbiBtYXkgaGF2ZSBkZXRhY2hl
ZCB0aGlzIERvY3VtZW50IGZyb20gdGhlIERPTSB0cmVlLgotICAgICAgICAvLyBJZiBzbywgdGhl
biB3ZSBkbyBub3QgbmVlZCB0byBwcm9jZXNzIGFueSBtb3JlIGNhbGxiYWNrcy4KLSAgICAgICAg
aWYgKCFtX2RvY3VtZW50KQotICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAgICAgLy8gQSBw
cmV2aW91cyBpdGVyYXRpb24gbWF5IGhhdmUgaW52YWxpZGF0ZWQgc3R5bGUgKG9yIGxheW91dCku
ICBVcGRhdGUgc3R5bGVzIGZvciBlYWNoIGl0ZXJhdGlvbgotICAgICAgICAvLyBmb3Igbm93IHNp
bmNlIGFsbCB3ZSBjaGVjayBpcyB0aGUgZXhpc3RlbmNlIG9mIGEgcmVuZGVyZXIuCi0gICAgICAg
IG1fZG9jdW1lbnQtPnVwZGF0ZVN0eWxlSWZOZWVkZWQoKTsKLSAgICAgICAgZm9yIChzaXplX3Qg
aSA9IDA7IGkgPCBjYWxsYmFja3Muc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgICAgIFJlcXVlc3RB
bmltYXRpb25GcmFtZUNhbGxiYWNrKiBjYWxsYmFjayA9IGNhbGxiYWNrc1tpXS5nZXQoKTsKLSAg
ICAgICAgICAgIGlmICghY2FsbGJhY2stPm1fZmlyZWRPckNhbmNlbGxlZCAmJiAoIWNhbGxiYWNr
LT5tX2VsZW1lbnQgfHwgY2FsbGJhY2stPm1fZWxlbWVudC0+cmVuZGVyZXIoKSkpIHsKLSAgICAg
ICAgICAgICAgICBjYWxsYmFjay0+bV9maXJlZE9yQ2FuY2VsbGVkID0gdHJ1ZTsKLSAgICAgICAg
ICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgY29va2llID0gSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uOjp3aWxsRmlyZUFuaW1hdGlvbkZyYW1lKG1fZG9jdW1lbnQsIGNhbGxi
YWNrLT5tX2lkKTsKLSAgICAgICAgICAgICAgICBjYWxsYmFjay0+aGFuZGxlRXZlbnQodGltZSk7
Ci0gICAgICAgICAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRGaXJlQW5pbWF0
aW9uRnJhbWUoY29va2llKTsKLSAgICAgICAgICAgICAgICBmaXJlZENhbGxiYWNrID0gdHJ1ZTsK
LSAgICAgICAgICAgICAgICBjYWxsYmFja3MucmVtb3ZlKGkpOwotICAgICAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICAgICAgfQorCisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBjYWxsYmFj
a3Muc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgUmVxdWVzdEFuaW1hdGlvbkZyYW1lQ2FsbGJhY2sq
IGNhbGxiYWNrID0gY2FsbGJhY2tzW2ldLmdldCgpOworICAgICAgICBpZiAoIWNhbGxiYWNrLT5t
X2ZpcmVkT3JDYW5jZWxsZWQpIHsKKyAgICAgICAgICAgIGNhbGxiYWNrLT5tX2ZpcmVkT3JDYW5j
ZWxsZWQgPSB0cnVlOworICAgICAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2ll
IGNvb2tpZSA9IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbEZpcmVBbmltYXRpb25GcmFt
ZShtX2RvY3VtZW50LCBjYWxsYmFjay0+bV9pZCk7CisgICAgICAgICAgICBjYWxsYmFjay0+aGFu
ZGxlRXZlbnQodGltZSk7CisgICAgICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRp
ZEZpcmVBbmltYXRpb25GcmFtZShjb29raWUpOwogICAgICAgICB9Ci0gICAgfSB3aGlsZSAoZmly
ZWRDYWxsYmFjayk7CisgICAgfQogCiAgICAgLy8gUmVtb3ZlIGFueSBjYWxsYmFja3Mgd2UgZmly
ZWQgZnJvbSB0aGUgbGlzdCBvZiBwZW5kaW5nIGNhbGxiYWNrcy4KICAgICBmb3IgKHNpemVfdCBp
ID0gMDsgaSA8IG1fY2FsbGJhY2tzLnNpemUoKTspIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9TY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9TY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIuaAppbmRleCBkMmM5YzBjMGI5OTYxYzE4ZDRi
ZDdmNWQyN2UwMTI1NWU2YWNiOTllLi41MWMzNmI5OTRmYWQxMDAwZTljMDQxZTFhYWI4N2I2ODYz
OGQyNjA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0ZWRBbmltYXRpb25D
b250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGVkQW5pbWF0aW9uQ29u
dHJvbGxlci5oCkBAIC00Miw3ICs0Miw2IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNz
IERvY3VtZW50OwotY2xhc3MgRWxlbWVudDsKIGNsYXNzIFJlcXVlc3RBbmltYXRpb25GcmFtZUNh
bGxiYWNrOwogCiBjbGFzcyBTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXIgOiBwdWJsaWMgUmVm
Q291bnRlZDxTY3JpcHRlZEFuaW1hdGlvbkNvbnRyb2xsZXI+CkBAIC02MCw3ICs1OSw3IEBAIHB1
YmxpYzoKIAogICAgIHR5cGVkZWYgaW50IENhbGxiYWNrSWQ7CiAKLSAgICBDYWxsYmFja0lkIHJl
Z2lzdGVyQ2FsbGJhY2soUGFzc1JlZlB0cjxSZXF1ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmFjaz4s
IEVsZW1lbnQqKTsKKyAgICBDYWxsYmFja0lkIHJlZ2lzdGVyQ2FsbGJhY2soUGFzc1JlZlB0cjxS
ZXF1ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmFjaz4pOwogICAgIHZvaWQgY2FuY2VsQ2FsbGJhY2so
Q2FsbGJhY2tJZCk7CiAgICAgdm9pZCBzZXJ2aWNlU2NyaXB0ZWRBbmltYXRpb25zKERPTVRpbWVT
dGFtcCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAppbmRleCA5ZDRjM2I0MWY3M2Q0M2Nh
ZjA0ZDg0YTYyOGQ5NjczNDM4NTEwMTk0Li4xYThhZDcxOWVjOGE3MzU2ODQ2ZjYzOWMxMGNhYmRl
OTFhNWM4NTRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCkBAIC0xNDg1LDEwICsxNDg1
LDEwIEBAIHZvaWQgRE9NV2luZG93OjpjbGVhckludGVydmFsKGludCB0aW1lb3V0SWQpCiB9CiAK
ICNpZiBFTkFCTEUoUkVRVUVTVF9BTklNQVRJT05fRlJBTUUpCi1pbnQgRE9NV2luZG93Ojp3ZWJr
aXRSZXF1ZXN0QW5pbWF0aW9uRnJhbWUoUGFzc1JlZlB0cjxSZXF1ZXN0QW5pbWF0aW9uRnJhbWVD
YWxsYmFjaz4gY2FsbGJhY2ssIEVsZW1lbnQqIGUpCitpbnQgRE9NV2luZG93Ojp3ZWJraXRSZXF1
ZXN0QW5pbWF0aW9uRnJhbWUoUGFzc1JlZlB0cjxSZXF1ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmFj
az4gY2FsbGJhY2spCiB7CiAgICAgaWYgKERvY3VtZW50KiBkID0gZG9jdW1lbnQoKSkKLSAgICAg
ICAgcmV0dXJuIGQtPndlYmtpdFJlcXVlc3RBbmltYXRpb25GcmFtZShjYWxsYmFjaywgZSk7Cisg
ICAgICAgIHJldHVybiBkLT53ZWJraXRSZXF1ZXN0QW5pbWF0aW9uRnJhbWUoY2FsbGJhY2spOwog
ICAgIHJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdp
bmRvdy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaAppbmRleCA3MDE0ZDk2YmQw
NzA5NzU4ZTM2MTNlNjdmZmE3YjA2YjNlODg3MWQwLi4xZDNmZjYwN2JiMDMzMGFiMjAwNjQ4MDU3
NzkxZDQyYzBlYzU0M2I3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRv
dy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKQEAgLTI1Miw3ICsyNTIs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgLy8gV2ViS2l0IGFuaW1hdGlvbiBl
eHRlbnNpb25zCiAjaWYgRU5BQkxFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKQotICAgICAgICBp
bnQgd2Via2l0UmVxdWVzdEFuaW1hdGlvbkZyYW1lKFBhc3NSZWZQdHI8UmVxdWVzdEFuaW1hdGlv
bkZyYW1lQ2FsbGJhY2s+LCBFbGVtZW50Kik7CisgICAgICAgIGludCB3ZWJraXRSZXF1ZXN0QW5p
bWF0aW9uRnJhbWUoUGFzc1JlZlB0cjxSZXF1ZXN0QW5pbWF0aW9uRnJhbWVDYWxsYmFjaz4pOwog
ICAgICAgICB2b2lkIHdlYmtpdENhbmNlbEFuaW1hdGlvbkZyYW1lKGludCBpZCk7CiAgICAgICAg
IHZvaWQgd2Via2l0Q2FuY2VsUmVxdWVzdEFuaW1hdGlvbkZyYW1lKGludCBpZCkgeyB3ZWJraXRD
YW5jZWxBbmltYXRpb25GcmFtZShpZCk7IH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cu
aWRsCmluZGV4IGIyMzlkMTU1OTFmZGFiZWRhMGU2ZTQ5NjRlNmQzNTk1ODczMzcyY2MuLjRjYjkw
NjdiMmM0ZmRmYTM5Y2VhODIwMGJjMDEzYjg2MjE0ZGI5ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdp
bmRvdy5pZGwKQEAgLTIxMyw3ICsyMTMsNyBAQCBtb2R1bGUgd2luZG93IHsKIAogI2lmIGRlZmlu
ZWQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKQogICAgICAgICAvLyBXZWJLaXQgYW5p
bWF0aW9uIGV4dGVuc2lvbnMsIGJlaW5nIHN0YW5kYXJkaXplZCBpbiB0aGUgV2ViUGVyZiBXRwot
ICAgICAgICBsb25nIHdlYmtpdFJlcXVlc3RBbmltYXRpb25GcmFtZShpbiBbQ2FsbGJhY2tdIFJl
cXVlc3RBbmltYXRpb25GcmFtZUNhbGxiYWNrIGNhbGxiYWNrLCBpbiBbT3B0aW9uYWw9RGVmYXVs
dElzVW5kZWZpbmVkXSBFbGVtZW50IGVsZW1lbnQpOworICAgICAgICBsb25nIHdlYmtpdFJlcXVl
c3RBbmltYXRpb25GcmFtZShpbiBbQ2FsbGJhY2tdIFJlcXVlc3RBbmltYXRpb25GcmFtZUNhbGxi
YWNrIGNhbGxiYWNrKTsKICAgICAgICAgdm9pZCB3ZWJraXRDYW5jZWxBbmltYXRpb25GcmFtZShp
biBsb25nIGlkKTsKICAgICAgICAgdm9pZCB3ZWJraXRDYW5jZWxSZXF1ZXN0QW5pbWF0aW9uRnJh
bWUoaW4gbG9uZyBpZCk7IC8vIFRoaXMgaXMgYSBkZXByZWNhdGVkIGFsaWFzIGZvciB3ZWJraXRD
YW5jZWxBbmltYXRpb25GcmFtZSgpLiBSZW1vdmUgdGhpcyB3aGVuIHJlbW92aW5nIHZlbmRvciBw
cmVmaXguCiAjZW5kaWYKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwppbmRleCA5NmZmODZmY2ZiZmQ0MDIwYWM4ZjAxMTNiOGViOGFjODIw
ZmFhNWRlLi4zMTk0NWY3MWY1NjFkNjgyNDc5YTZkMDYxOWJjZjI4ZGQzNzBjY2EwIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMTItMDQtMDYgIEphbWVzIFJvYmluc29uICA8amFtZXNyQGNocm9t
aXVtLm9yZz4KKworICAgICAgICBSZW1vdmUgcGFydGlhbGx5IGltcGxlbWVudGVkIHBlci1FbGVt
ZW50IHZpc2liaWxpdHkgY2hlY2tzIGZyb20gcmVxdWVzdEFuaW1hdGlvbkZyYW1lIGxvZ2ljCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NDIzMgorCisg
ICAgICAgIFJldmlld2VkIGJ5IERlYW4gSmFja3Nvbi4KKworICAgICAgICBSZW1vdmUgdGVzdHMg
Zm9yIHJlbW92ZWQgZnVuY3Rpb25hbGl0eS4KKworICAgICAgICAqIGZhc3QvYW5pbWF0aW9uL3Jl
cXVlc3QtYW5pbWF0aW9uLWZyYW1lLWRpc3BsYXktZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAg
ICAgICAqIGZhc3QvYW5pbWF0aW9uL3JlcXVlc3QtYW5pbWF0aW9uLWZyYW1lLWRpc3BsYXkuaHRt
bDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2FuaW1hdGlvbi9zY3JpcHQtdGVzdHMvcmVxdWVz
dC1hbmltYXRpb24tZnJhbWUtZGlzcGxheS5qczogUmVtb3ZlZC4KKwogMjAxMi0wNC0wNiAgS2Vp
c2hpIEhhdHRvcmkgIDxrZWlzaGlAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZW1vdmUgb2Jzb2xl
dGUgcGFydHMgb2YgPGRhdGFsaXN0PiBzdXBwb3J0IGNvZGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvYW5pbWF0aW9uL3JlcXVlc3QtYW5pbWF0aW9uLWZyYW1lLWRpc3BsYXktZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9hbmltYXRpb24vcmVxdWVzdC1hbmltYXRpb24tZnJh
bWUtZGlzcGxheS1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGU5
ODI2MzhjZWFmNDEyNjYwMmYyN2UyOTM3MTk5ZjczNTA4ODQ2NGMuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9hbmltYXRpb24v
cmVxdWVzdC1hbmltYXRpb24tZnJhbWUtZGlzcGxheS1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVs
bApAQCAtMSwxMCArMCwwIEBACi1UZXN0cyByZXF1ZXN0QW5pbWF0aW9uRnJhbWUgY2FsbGJhY2sg
aGFuZGxpbmcgb2YgZGlzcGxheTogcHJvcGVydHkgY2hhbmdlZCB3aXRoaW4gYW5vdGhlciBjYWxs
YmFjawotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3Nh
Z2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCi0KLQotUEFTUyBjYWxsYmFja0ludm9r
ZWRPbkEgaXMgdHJ1ZQotUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotCi1URVNUIENP
TVBMRVRFCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvYW5pbWF0aW9uL3JlcXVlc3Qt
YW5pbWF0aW9uLWZyYW1lLWRpc3BsYXkuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvYW5pbWF0aW9u
L3JlcXVlc3QtYW5pbWF0aW9uLWZyYW1lLWRpc3BsYXkuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggNzgyZDNlMGQzN2JkM2FiMzU4N2NmMmVlNTliZDUyNjk5NjFkNDI5My4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2FuaW1hdGlvbi9yZXF1ZXN0LWFuaW1hdGlvbi1mcmFtZS1kaXNwbGF5Lmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+
Ci08c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
LTwvaGVhZD4KLTxib2R5PgotPHNwYW4gaWQ9ImUiPjwvc3Bhbj4KLTxzcGFuIGlkPSJmIj48L3Nw
YW4+Ci08c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL3JlcXVlc3QtYW5pbWF0aW9uLWZyYW1lLWRp
c3BsYXkuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9hbmltYXRpb24vc2NyaXB0LXRlc3RzL3JlcXVlc3QtYW5pbWF0aW9uLWZyYW1l
LWRpc3BsYXkuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2FuaW1hdGlvbi9zY3JpcHQtdGVzdHMvcmVx
dWVzdC1hbmltYXRpb24tZnJhbWUtZGlzcGxheS5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggYmNkNmU5OWM1MmRjNjE0MTMxN2U2ODk4ZWE3MWUzNzVkOGJhMDVmZi4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Fu
aW1hdGlvbi9zY3JpcHQtdGVzdHMvcmVxdWVzdC1hbmltYXRpb24tZnJhbWUtZGlzcGxheS5qcwor
KysgL2Rldi9udWxsCkBAIC0xLDI5ICswLDAgQEAKLWRlc2NyaXB0aW9uKCJUZXN0cyByZXF1ZXN0
QW5pbWF0aW9uRnJhbWUgY2FsbGJhY2sgaGFuZGxpbmcgb2YgZGlzcGxheTogcHJvcGVydHkgY2hh
bmdlZCB3aXRoaW4gYW5vdGhlciBjYWxsYmFjayIpOwotCi12YXIgZSA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlIik7Ci1lLnN0eWxlLmRpc3BsYXk9Im5vbmUiOwotdmFyIGNhbGxiYWNrSW52
b2tlZE9uQT1mYWxzZTsKLXdpbmRvdy53ZWJraXRSZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rp
b24oKSB7Ci0gICAgY2FsbGJhY2tJbnZva2VkT25BPXRydWU7Ci19LCBlKTsKLQotdmFyIGYgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZiIpOwotd2luZG93LndlYmtpdFJlcXVlc3RBbmltYXRp
b25GcmFtZShmdW5jdGlvbigpIHsKLSAgICBlLnN0eWxlLmRpc3BsYXk9IiI7Ci19LCBmKTsKLQot
aWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICBsYXlvdXRUZXN0Q29udHJvbGxl
ci5kaXNwbGF5KCk7Ci0KLXNldFRpbWVvdXQoZnVuY3Rpb24oKSB7Ci0gICAgc2hvdWxkQmVUcnVl
KCJjYWxsYmFja0ludm9rZWRPbkEiKTsKLX0sIDEwMCk7Ci0KLWlmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpCi0gICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOwot
Ci1zZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewotICAgIGlzU3VjY2Vzc2Z1bGx5UGFyc2VkKCk7Ci0g
ICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKLSAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIubm90aWZ5RG9uZSgpOwotfSwgMjAwKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>