<?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>159977</bug_id>
          
          <creation_ts>2016-07-20 10:50:56 -0700</creation_ts>
          <short_desc>REGRESSION(r203423): The test for this change is failing on Mac Release WK2 (Requested by ryanhaddad on #webkit).</short_desc>
          <delta_ts>2016-07-20 10:57:10 -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>WebKit 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>
          
          <blocked>159833</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>eric.carlson</cc>
    
    <cc>ryanhaddad</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1212801</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-07-20 10:50:56 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/203423 broke the build:
The test for this change is failing on Mac Release WK2 (Requested by ryanhaddad on #webkit).

This is an automatic bug report generated by webkitbot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1212803</commentid>
    <comment_count>1</comment_count>
      <attachid>284126</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-07-20 10:51:34 -0700</bug_when>
    <thetext>Created attachment 284126
ROLLOUT of r203423

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1212804</commentid>
    <comment_count>2</comment_count>
      <attachid>284126</attachid>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2016-07-20 10:57:05 -0700</bug_when>
    <thetext>Comment on attachment 284126
ROLLOUT of r203423

Clearing flags on attachment: 284126

Committed r203459: &lt;http://trac.webkit.org/changeset/203459&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1212805</commentid>
    <comment_count>3</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2016-07-20 10:57:10 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>284126</attachid>
            <date>2016-07-20 10:51:34 -0700</date>
            <delta_ts>2016-07-20 10:57:05 -0700</delta_ts>
            <desc>ROLLOUT of r203423</desc>
            <filename>bug-159977-20160720105036.patch</filename>
            <type>text/plain</type>
            <size>32570</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAzNDU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzA1ZWFhMmExNDcwZjJi
M2ZjMzQyMWEwN2NlYjFkNTgyM2ZmZGIxYy4uYmMyNzU2NDhiY2ZkZjg5NmFmOTM2Y2ZjNmQzZTFj
YWNjYzRmNjY0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE2LTA3LTIwICBDb21t
aXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KKworICAgICAgICBVbnJldmlld2Vk
LCByb2xsaW5nIG91dCByMjAzNDIzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTU5OTc3CisKKyAgICAgICAgVGhlIHRlc3QgZm9yIHRoaXMgY2hhbmdl
IGlzIGZhaWxpbmcgb24gTWFjIFJlbGVhc2UgV0syCisgICAgICAgIChSZXF1ZXN0ZWQgYnkgcnlh
bmhhZGRhZCBvbiAjd2Via2l0KS4KKworICAgICAgICBSZXZlcnRlZCBjaGFuZ2VzZXQ6CisKKyAg
ICAgICAgIkhUTUxWaWRlb0VsZW1lbnQgZnJhbWVzIGRvIG5vdCB1cGRhdGUgb24gaU9TIHdoZW4g
c3JjIGlzIGEKKyAgICAgICAgTWVkaWFTdHJlYW0gYmxvYiIKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1OTgzMworICAgICAgICBodHRwOi8vdHJhYy53
ZWJraXQub3JnL2NoYW5nZXNldC8yMDM0MjMKKwogMjAxNi0wNy0yMCAgQ2hyaXMgRHVtZXogIDxj
ZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCBudWxsIGhhbmRsaW5nIG9mIEhUTUxTZWxl
Y3RFbGVtZW50LnZhbHVlIGF0dHJpYnV0ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGFmOTNkMzMxNzQxNDIzZjYwYjIxMGUwOWM0
ODQ3YmUxMjM4YTBkZWEuLjBjZTY3YWI1NjNmMmQzZGMwYzkwNjJmNGJlMGQzZTc4Mjc3NDc5MDEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKQEAgLTk4NSw3ICs5ODUsNiBAQAogCQkxQUZFMTE5QTBDQkZGQ0M0MDAzMDE3RkEgLyogSlNT
UUxSZXN1bHRTZXRSb3dMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAxQUZFMTE5ODBDQkZGQ0M0MDAzMDE3RkEgLyogSlNTUUxSZXN1bHRTZXRSb3dM
aXN0LmggKi87IH07CiAJCTFCMTI0RDhEMUQzODBCNzAwMEVDREZCMCAvKiBNZWRpYVNhbXBsZUFW
Rk9iakMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFC
MTI0RDhDMUQzODBCNzAwMEVDREZCMCAvKiBNZWRpYVNhbXBsZUFWRk9iakMuaCAqLzsgfTsKIAkJ
MUIxMjREOEYxRDM4MEJCNjAwRUNERkIwIC8qIE1lZGlhU2FtcGxlQVZGT2JqQy5tbSBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFCMTI0RDhFMUQzODBCQjYw
MEVDREZCMCAvKiBNZWRpYVNhbXBsZUFWRk9iakMubW0gKi87IH07Ci0JCTFCRjlEQjNDMUQzOTcz
QUQwMDI2QUVCNyAvKiBNZWRpYVNhbXBsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQ0Q2NDFFQzcxODFFRDYwMTAwRUU0QzQxIC8qIE1lZGlhU2FtcGxl
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUMw
MTA3MDAxOTI1OTRERjAwOEE0MjAxIC8qIElubGluZVRleHRCb3hTdHlsZS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzAxMDZGRTE5MjU5NERGMDA4
QTQyMDEgLyogSW5saW5lVGV4dEJveFN0eWxlLmNwcCAqLzsgfTsKIAkJMUMwMTA3MDExOTI1OTRE
RjAwOEE0MjAxIC8qIElubGluZVRleHRCb3hTdHlsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUMwMTA2RkYxOTI1OTRERjAwOEE0MjAxIC8qIElubGlu
ZVRleHRCb3hTdHlsZS5oICovOyB9OwogCQkxQzA5MzlFQTFBMTNFMTI5MDBCNzg4RTUgLyogQ2Fj
aGVkU1ZHRm9udC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAxQzA5MzlFODFBMTNFMTI5MDBCNzg4RTUgLyogQ2FjaGVkU1ZHRm9udC5jcHAgKi87IH07
CkBAIC0yNzA0MCw3ICsyNzAzOSw2IEBACiAJCQkJNzU3OTNFQzkwRDBDRTcyRDAwN0ZDMEFDIC8q
IEpTTWVzc2FnZUV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUFERUREQTBFNzZCRDkzMDA0
QTFBNUUgLyogSlNNZXNzYWdlUG9ydC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDFGNTg0QzcxMDQ2
NTJDQjAwOUNBQTY0IC8qIEpTTWVzc2FnZVBvcnRDdXN0b20uaCBpbiBIZWFkZXJzICovLAotCQkJ
CTFCRjlEQjNDMUQzOTczQUQwMDI2QUVCNyAvKiBNZWRpYVNhbXBsZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMkQ2RjNFOTUxQzFGODU1NTAwNjFEQkQ0IC8qIEpTTW9ja1BhZ2VPdmVybGF5LmggaW4g
SGVhZGVycyAqLywKIAkJCQlFMzg4Mzg5OTFCQUQxNDVGMDBENjJFRTMgLyogSlNNb2R1bGVMb2Fk
ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4NjYyOUQxMDlEQTJCNDgwMDk2MzNBNSAvKiBKU01v
dXNlRXZlbnQuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhU2FtcGxlQVZGT2JqQy5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhU2FtcGxlQVZGT2Jq
Qy5oCmluZGV4IDhiMmEzMGI2ZWRiYzNhNDE4MTdkOGM5MGVhNzg0ZGVhZThhYmU4MGYuLmZhNGZm
NTIzZjhjN2QyOWUwMDczNDhmZDU2NjM0M2JjZTFmYTlmYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVNhbXBsZUFWRk9iakMu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVk
aWFTYW1wbGVBVkZPYmpDLmgKQEAgLTMyLDggKzMyLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBjbGFzcyBNZWRpYVNhbXBsZUFWRk9iakMgZmluYWwgOiBwdWJsaWMgTWVkaWFTYW1wbGUgewog
cHVibGljOgotICAgIHN0YXRpYyBSZWY8TWVkaWFTYW1wbGVBVkZPYmpDPiBjcmVhdGUoQ01TYW1w
bGVCdWZmZXJSZWYgc2FtcGxlLCBpbnQgdHJhY2tJRCkgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBN
ZWRpYVNhbXBsZUFWRk9iakMoc2FtcGxlLCB0cmFja0lEKSk7IH0KLSAgICBzdGF0aWMgUmVmPE1l
ZGlhU2FtcGxlQVZGT2JqQz4gY3JlYXRlKENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSkgeyByZXR1
cm4gYWRvcHRSZWYoKm5ldyBNZWRpYVNhbXBsZUFWRk9iakMoc2FtcGxlKSk7IH0KKyAgICBzdGF0
aWMgUmVmUHRyPE1lZGlhU2FtcGxlQVZGT2JqQz4gY3JlYXRlKENNU2FtcGxlQnVmZmVyUmVmIHNh
bXBsZSwgaW50IHRyYWNrSUQpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBNZWRpYVNhbXBsZUFWRk9i
akMoc2FtcGxlLCB0cmFja0lEKSk7IH0KKyAgICBzdGF0aWMgUmVmUHRyPE1lZGlhU2FtcGxlQVZG
T2JqQz4gY3JlYXRlKENNU2FtcGxlQnVmZmVyUmVmIHNhbXBsZSkgeyByZXR1cm4gYWRvcHRSZWYo
bmV3IE1lZGlhU2FtcGxlQVZGT2JqQyhzYW1wbGUpKTsgfQogCiBwcml2YXRlOgogICAgIE1lZGlh
U2FtcGxlQVZGT2JqQyhDTVNhbXBsZUJ1ZmZlclJlZiBzYW1wbGUpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXll
clByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZG
T2JqQy5oCmluZGV4IGZiZjgxYWYxOGM5OWVjNmM0OGE4OTJiYzAyOWFkODgxOWJkN2VmZmYuLjIw
Yzk0NjA2NTg5MWYxNWEwMDUzMjU2ZjA4NTUxNmM5NjE1MzM5ODkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVy
UHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFt
QVZGT2JqQy5oCkBAIC0yOSw3ICsyOSw2IEBACiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkgJiYg
VVNFKEFWRk9VTkRBVElPTikKIAogI2luY2x1ZGUgIk1lZGlhUGxheWVyUHJpdmF0ZS5oIgotI2lu
Y2x1ZGUgIk1lZGlhU2FtcGxlLmgiCiAjaW5jbHVkZSAiTWVkaWFTdHJlYW1Qcml2YXRlLmgiCiAj
aW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+CiAjaW5jbHVkZSA8d3RmL01lZGlhVGltZS5oPgpAQCAt
MzcsNyArMzYsNiBAQAogI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CiAKIE9CSkNfQ0xBU1MgQVZT
YW1wbGVCdWZmZXJBdWRpb1JlbmRlcmVyOwotT0JKQ19DTEFTUyBBVlNhbXBsZUJ1ZmZlckRpc3Bs
YXlMYXllcjsKIE9CSkNfQ0xBU1MgQVZTdHJlYW1TZXNzaW9uOwogdHlwZWRlZiBzdHJ1Y3Qgb3Bh
cXVlQ01TYW1wbGVCdWZmZXIgKkNNU2FtcGxlQnVmZmVyUmVmOwogCkBAIC01Myw3ICs1MSw3IEBA
IGNsYXNzIFZpZGVvVHJhY2tQcml2YXRlTWVkaWFTdHJlYW07CiBjbGFzcyBWaWRlb0Z1bGxzY3Jl
ZW5MYXllck1hbmFnZXI7CiAjZW5kaWYKIAotY2xhc3MgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFT
dHJlYW1BVkZPYmpDIDogcHVibGljIE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSwgcHVibGlj
IE1lZGlhU3RyZWFtUHJpdmF0ZTo6T2JzZXJ2ZXIsIHB1YmxpYyBNZWRpYVN0cmVhbVRyYWNrUHJp
dmF0ZTo6T2JzZXJ2ZXIgeworY2xhc3MgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZP
YmpDIDogcHVibGljIE1lZGlhUGxheWVyUHJpdmF0ZUludGVyZmFjZSwgcHVibGljIE1lZGlhU3Ry
ZWFtUHJpdmF0ZTo6T2JzZXJ2ZXIgewogcHVibGljOgogICAgIGV4cGxpY2l0IE1lZGlhUGxheWVy
UHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQyhNZWRpYVBsYXllciopOwogICAgIHZpcnR1YWwgfk1l
ZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQygpOwpAQCAtNzIsOSArNzAsNiBAQCBw
dWJsaWM6CiAKICAgICBXZWFrUHRyPE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2Jq
Qz4gY3JlYXRlV2Vha1B0cigpIHsgcmV0dXJuIG1fd2Vha1B0ckZhY3RvcnkuY3JlYXRlV2Vha1B0
cigpOyB9CiAKLSAgICB2b2lkIGVuc3VyZUxheWVyKCk7Ci0gICAgdm9pZCBkZXN0cm95TGF5ZXIo
KTsKLQogcHJpdmF0ZToKICAgICAvLyBNZWRpYVBsYXllclByaXZhdGVJbnRlcmZhY2UKIApAQCAt
MTIyLDE0ICsxMTcsMTAgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgc2V0U2l6ZShjb25zdCBJbnRT
aXplJikgb3ZlcnJpZGUgeyAvKiBOby1vcCAqLyB9CiAKLSAgICB2b2lkIGVucXVldWVBdWRpb1Nh
bXBsZUJ1ZmZlckZyb21UcmFjayhNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZSYsIFBsYXRmb3JtU2Ft
cGxlKTsKLSAgICB2b2lkIGVucXVldWVWaWRlb1NhbXBsZUJ1ZmZlckZyb21UcmFjayhNZWRpYVN0
cmVhbVRyYWNrUHJpdmF0ZSYsIFBsYXRmb3JtU2FtcGxlKTsKLQogICAgIHZvaWQgcGFpbnQoR3Jh
cGhpY3NDb250ZXh0JiwgY29uc3QgRmxvYXRSZWN0Jikgb3ZlcnJpZGU7CiAgICAgdm9pZCBwYWlu
dEN1cnJlbnRGcmFtZUluQ29udGV4dChHcmFwaGljc0NvbnRleHQmLCBjb25zdCBGbG9hdFJlY3Qm
KSBvdmVycmlkZTsKICAgICBib29sIG1ldGFEYXRhQXZhaWxhYmxlKCkgY29uc3QgeyByZXR1cm4g
bV9tZWRpYVN0cmVhbVByaXZhdGUgJiYgbV9yZWFkeVN0YXRlID49IE1lZGlhUGxheWVyOjpIYXZl
TWV0YWRhdGE7IH0KIAotICAgIHZvaWQgYWNjZWxlcmF0ZWRSZW5kZXJpbmdTdGF0ZUNoYW5nZWQo
KSBvdmVycmlkZTsKICAgICBib29sIHN1cHBvcnRzQWNjZWxlcmF0ZWRSZW5kZXJpbmcoKSBjb25z
dCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CiAKICAgICBib29sIGhhc1NpbmdsZVNlY3VyaXR5
T3JpZ2luKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQpAQCAtMTQ4LDYgKzEzOSw3
IEBAIHByaXZhdGU6CiAgICAgdm9pZCB1cGRhdGVSZWFkeVN0YXRlKCk7CiAKICAgICB2b2lkIHVw
ZGF0ZUludHJpbnNpY1NpemUoY29uc3QgRmxvYXRTaXplJik7CisgICAgdm9pZCBjcmVhdGVQcmV2
aWV3TGF5ZXJzKCk7CiAgICAgdm9pZCB1cGRhdGVUcmFja3MoKTsKICAgICB2b2lkIHJlbmRlcmlu
Z01vZGVDaGFuZ2VkKCk7CiAKQEAgLTE2OCwxMyArMTYwLDYgQEAgcHJpdmF0ZToKICAgICB2b2lk
IGRpZEFkZFRyYWNrKE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlJikgb3ZlcnJpZGU7CiAgICAgdm9p
ZCBkaWRSZW1vdmVUcmFjayhNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZSYpIG92ZXJyaWRlOwogCi0g
ICAgLy8gTWVkaWFTdHJlYW1Qcml2YXRlVHJhY2s6Ok9ic2VydmVyCi0gICAgdm9pZCB0cmFja0Vu
ZGVkKE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlJikgb3ZlcnJpZGUgeyB9OwotICAgIHZvaWQgdHJh
Y2tNdXRlZENoYW5nZWQoTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUmKSBvdmVycmlkZSB7IH07Ci0g
ICAgdm9pZCB0cmFja1NldHRpbmdzQ2hhbmdlZChNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZSYpIG92
ZXJyaWRlIHsgfTsKLSAgICB2b2lkIHRyYWNrRW5hYmxlZENoYW5nZWQoTWVkaWFTdHJlYW1UcmFj
a1ByaXZhdGUmKSBvdmVycmlkZSB7IH07Ci0gICAgdm9pZCBzYW1wbGVCdWZmZXJVcGRhdGVkKE1l
ZGlhU3RyZWFtVHJhY2tQcml2YXRlJiwgTWVkaWFTYW1wbGUmKSBvdmVycmlkZTsKLQogI2lmIFBM
QVRGT1JNKE1BQykgJiYgRU5BQkxFKFZJREVPX1BSRVNFTlRBVElPTl9NT0RFKQogICAgIHZvaWQg
c2V0VmlkZW9GdWxsc2NyZWVuTGF5ZXIoUGxhdGZvcm1MYXllciosIHN0ZDo6ZnVuY3Rpb248dm9p
ZCgpPiBjb21wbGV0aW9uSGFuZGxlcikgb3ZlcnJpZGU7CiAgICAgdm9pZCBzZXRWaWRlb0Z1bGxz
Y3JlZW5GcmFtZShGbG9hdFJlY3QpIG92ZXJyaWRlOwpAQCAtMTgzLDcgKzE2OCw4IEBAIHByaXZh
dGU6CiAgICAgTWVkaWFQbGF5ZXIqIG1fcGxheWVyIHsgbnVsbHB0ciB9OwogICAgIFdlYWtQdHJG
YWN0b3J5PE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQz4gbV93ZWFrUHRyRmFj
dG9yeTsKICAgICBSZWZQdHI8TWVkaWFTdHJlYW1Qcml2YXRlPiBtX21lZGlhU3RyZWFtUHJpdmF0
ZTsKLSAgICBSZXRhaW5QdHI8QVZTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXI+IG1fc2FtcGxlQnVm
ZmVyRGlzcGxheUxheWVyOworICAgIG11dGFibGUgUmV0YWluUHRyPENBTGF5ZXI+IG1fcHJldmll
d0xheWVyOworICAgIG11dGFibGUgUmV0YWluUHRyPFBsYXRmb3JtTGF5ZXI+IG1fdmlkZW9CYWNr
Z3JvdW5kTGF5ZXI7CiAgICAgUmV0YWluUHRyPENHSW1hZ2VSZWY+IG1fcGF1c2VkSW1hZ2U7CiAg
ICAgc3RkOjp1bmlxdWVfcHRyPENsb2NrPiBtX2Nsb2NrOwogCkBAIC0xOTksNyArMTg1LDYgQEAg
cHJpdmF0ZToKICAgICBib29sIG1fbXV0ZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9oYXZlRXZl
clBsYXllZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2VuZGVkIHsgZmFsc2UgfTsKLSAgICBib29s
IG1faGFzRXZlckVucXVldWVkVmlkZW9GcmFtZSB7IGZhbHNlIH07CiAKICNpZiBQTEFURk9STShN
QUMpICYmIEVOQUJMRShWSURFT19QUkVTRU5UQVRJT05fTU9ERSkKICAgICBzdGQ6OnVuaXF1ZV9w
dHI8VmlkZW9GdWxsc2NyZWVuTGF5ZXJNYW5hZ2VyPiBtX3ZpZGVvRnVsbHNjcmVlbkxheWVyTWFu
YWdlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91
bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxh
eWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQy5tbQppbmRleCAyY2U4Zjk4NTkwMDYwZTA5MDIz
ZTk0ZGM3OTBlODhjYTEzNmYyMWMzLi5mNGMxNDU3YmJiMjU1NzU0ZjAwYTA2MjVlZTgzZTA0ZGE3
YzZlZmNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakMubW0KKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVk
aWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDLm1tCkBAIC0zNiw3ICszNiw2IEBACiAj
aW1wb3J0ICJMb2dnaW5nLmgiCiAjaW1wb3J0ICJNZWRpYVN0cmVhbVByaXZhdGUuaCIKICNpbXBv
cnQgIlZpZGVvVHJhY2tQcml2YXRlTWVkaWFTdHJlYW0uaCIKLSNpbXBvcnQgPEFWRm91bmRhdGlv
bi9BVlNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5oPgogI2ltcG9ydCA8UXVhcnR6Q29yZS9DQUxh
eWVyLmg+CiAjaW1wb3J0IDxRdWFydHpDb3JlL0NBVHJhbnNhY3Rpb24uaD4KICNpbXBvcnQgPG9i
amNfcnVudGltZS5oPgpAQCAtNTMsOCArNTIsNiBAQAogCiBTT0ZUX0xJTktfRlJBTUVXT1JLX09Q
VElPTkFMKEFWRm91bmRhdGlvbikKIAotU09GVF9MSU5LX0NMQVNTX09QVElPTkFMKEFWRm91bmRh
dGlvbiwgQVZTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIpCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogI3ByYWdtYSBtYXJrIC0KQEAgLTc0LDE3ICs3MSw4IEBAIE1lZGlhUGxheWVyUHJpdmF0ZU1l
ZGlhU3RyZWFtQVZGT2JqQzo6TWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDKE1l
ZGlhCiBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakM6On5NZWRpYVBsYXllclBy
aXZhdGVNZWRpYVN0cmVhbUFWRk9iakMoKQogewogICAgIExPRyhNZWRpYSwgIk1lZGlhUGxheWVy
UHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQzo6fk1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFt
QVZGT2JqQyglcCkiLCB0aGlzKTsKLSAgICBpZiAobV9tZWRpYVN0cmVhbVByaXZhdGUpIHsKKyAg
ICBpZiAobV9tZWRpYVN0cmVhbVByaXZhdGUpCiAgICAgICAgIG1fbWVkaWFTdHJlYW1Qcml2YXRl
LT5yZW1vdmVPYnNlcnZlcigqdGhpcyk7Ci0KLSAgICAgICAgZm9yIChhdXRvJiB0cmFjayA6IG1f
bWVkaWFTdHJlYW1Qcml2YXRlLT50cmFja3MoKSkKLSAgICAgICAgICAgIHRyYWNrLT5yZW1vdmVP
YnNlcnZlcigqdGhpcyk7Ci0gICAgfQotCi0gICAgbV9hdWRpb1RyYWNrTWFwLmNsZWFyKCk7Ci0g
ICAgbV92aWRlb1RyYWNrTWFwLmNsZWFyKCk7Ci0KLSAgICBkZXN0cm95TGF5ZXIoKTsKIH0KIAog
I3ByYWdtYSBtYXJrIC0KQEAgLTk5LDcgKzg3LDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVN
ZWRpYVN0cmVhbUFWRk9iakM6OnJlZ2lzdGVyTWVkaWFFbmdpbmUoTWVkaWFFbmdpbmVSZWdpc3QK
IAogYm9vbCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakM6OmlzQXZhaWxhYmxl
KCkKIHsKLSAgICByZXR1cm4gQVZGb3VuZGF0aW9uTGlicmFyeSgpICYmIGlzQ29yZU1lZGlhRnJh
bWV3b3JrQXZhaWxhYmxlKCkgJiYgZ2V0QVZTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXJDbGFzcygp
OworICAgIHJldHVybiBBVkZvdW5kYXRpb25MaWJyYXJ5KCkgJiYgaXNDb3JlTWVkaWFGcmFtZXdv
cmtBdmFpbGFibGUoKTsKIH0KIAogdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFW
Rk9iakM6OmdldFN1cHBvcnRlZFR5cGVzKEhhc2hTZXQ8U3RyaW5nLCBBU0NJSUNhc2VJbnNlbnNp
dGl2ZUhhc2g+JiB0eXBlcykKQEAgLTExNyw2MCArMTA1LDYgQEAgTWVkaWFQbGF5ZXI6OlN1cHBv
cnRzVHlwZSBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakM6OnN1cHBvcnRzVHlw
ZShjb24KIH0KIAogI3ByYWdtYSBtYXJrIC0KLSNwcmFnbWEgbWFyayBBVlNhbXBsZUJ1ZmZlciBN
ZXRob2RzCi0KLXZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDOjplbnF1
ZXVlQXVkaW9TYW1wbGVCdWZmZXJGcm9tVHJhY2soTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUmLCBQ
bGF0Zm9ybVNhbXBsZSkKLXsKLSAgICAvLyBGSVhNRTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE1OTgzNgotfQotCi12b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlh
U3RyZWFtQVZGT2JqQzo6ZW5xdWV1ZVZpZGVvU2FtcGxlQnVmZmVyRnJvbVRyYWNrKE1lZGlhU3Ry
ZWFtVHJhY2tQcml2YXRlJiB0cmFjaywgUGxhdGZvcm1TYW1wbGUgcGxhdGZvcm1TYW1wbGUpCi17
Ci0gICAgaWYgKCZ0cmFjayAhPSBtX21lZGlhU3RyZWFtUHJpdmF0ZS0+YWN0aXZlVmlkZW9UcmFj
aygpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBpZiAobV9kaXNwbGF5TW9kZSA9PSBMaXZlUHJl
dmlldyAmJiBbbV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIgaXNSZWFkeUZvck1vcmVNZWRpYURh
dGFdKSB7Ci0gICAgICAgIFttX3NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllciBlbnF1ZXVlU2FtcGxl
QnVmZmVyOnBsYXRmb3JtU2FtcGxlLnNhbXBsZS5jbVNhbXBsZUJ1ZmZlcl07Ci0gICAgICAgIAot
ICAgICAgICBpZiAoIW1faGFzRXZlckVucXVldWVkVmlkZW9GcmFtZSkgewotICAgICAgICAgICAg
bV9oYXNFdmVyRW5xdWV1ZWRWaWRlb0ZyYW1lID0gdHJ1ZTsKLSAgICAgICAgICAgIG1fcGxheWVy
LT5maXJzdFZpZGVvRnJhbWVBdmFpbGFibGUoKTsKLSAgICAgICAgfQotICAgIH0KLX0KLQotdm9p
ZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakM6OmVuc3VyZUxheWVyKCkKLXsK
LSAgICBpZiAobV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIpCi0gICAgICAgIHJldHVybjsKLSAg
ICAKLSAgICBtX3NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllciA9IGFkb3B0TlMoW2FsbG9jQVZTYW1w
bGVCdWZmZXJEaXNwbGF5TGF5ZXJJbnN0YW5jZSgpIGluaXRdKTsKLSNpZm5kZWYgTkRFQlVHCi0g
ICAgW21fc2FtcGxlQnVmZmVyRGlzcGxheUxheWVyIHNldE5hbWU6QCJNZWRpYVBsYXllclByaXZh
dGVNZWRpYVN0cmVhbUFWRk9iakMgQVZTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIiXTsKLSNlbmRp
ZgotICAgIAotICAgIHJlbmRlcmluZ01vZGVDaGFuZ2VkKCk7Ci0gICAgCi0jaWYgUExBVEZPUk0o
TUFDKSAmJiBFTkFCTEUoVklERU9fUFJFU0VOVEFUSU9OX01PREUpCi0gICAgbV92aWRlb0Z1bGxz
Y3JlZW5MYXllck1hbmFnZXItPnNldFZpZGVvTGF5ZXIobV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5
ZXIuZ2V0KCksIHNuYXBwZWRJbnRSZWN0KG1fcGxheWVyLT5jbGllbnQoKS5tZWRpYVBsYXllckNv
bnRlbnRCb3hSZWN0KCkpLnNpemUoKSk7Ci0jZW5kaWYKLX0KLQotdm9pZCBNZWRpYVBsYXllclBy
aXZhdGVNZWRpYVN0cmVhbUFWRk9iakM6OmRlc3Ryb3lMYXllcigpCi17Ci0gICAgaWYgKCFtX3Nh
bXBsZUJ1ZmZlckRpc3BsYXlMYXllcikKLSAgICAgICAgcmV0dXJuOwotICAgIAotICAgIFttX3Nh
bXBsZUJ1ZmZlckRpc3BsYXlMYXllciBmbHVzaF07Ci0gICAgbV9zYW1wbGVCdWZmZXJEaXNwbGF5
TGF5ZXIgPSBudWxscHRyOwotICAgIHJlbmRlcmluZ01vZGVDaGFuZ2VkKCk7Ci0gICAgCi0jaWYg
UExBVEZPUk0oTUFDKSAmJiBFTkFCTEUoVklERU9fUFJFU0VOVEFUSU9OX01PREUpCi0gICAgbV92
aWRlb0Z1bGxzY3JlZW5MYXllck1hbmFnZXItPmRpZERlc3Ryb3lWaWRlb0xheWVyKCk7Ci0jZW5k
aWYKLX0KLQotI3ByYWdtYSBtYXJrIC0KICNwcmFnbWEgbWFyayBNZWRpYVBsYXllclByaXZhdGVJ
bnRlcmZhY2UgT3ZlcnJpZGVzCiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1B
VkZPYmpDOjpsb2FkKGNvbnN0IFN0cmluZyYpCkBAIC0xOTUsNiArMTI5LDcgQEAgdm9pZCBNZWRp
YVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakM6OmxvYWQoTWVkaWFTdHJlYW1Qcml2YXRl
JiBzdHJlYW0pCiB7CiAgICAgTE9HKE1lZGlhLCAiTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJl
YW1BVkZPYmpDOjpsb2FkKCVwKSIsIHRoaXMpOwogCisgICAgbV9wcmV2aWV3TGF5ZXIgPSBudWxs
cHRyOwogICAgIG1faW50cmluc2ljU2l6ZSA9IEZsb2F0U2l6ZSgpOwogCiAgICAgbV9tZWRpYVN0
cmVhbVByaXZhdGUgPSAmc3RyZWFtOwpAQCAtMjIyLDE5ICsxNTcsMTkgQEAgdm9pZCBNZWRpYVBs
YXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakM6OnByZXBhcmVUb1BsYXkoKQogCiBQbGF0Zm9y
bUxheWVyKiBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakM6OnBsYXRmb3JtTGF5
ZXIoKSBjb25zdAogewotICAgIGlmICghbV9zYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIgfHwgbV9k
aXNwbGF5TW9kZSA9PSBOb25lKQorICAgIGlmICghbV92aWRlb0JhY2tncm91bmRMYXllciB8fCBt
X2Rpc3BsYXlNb2RlID09IE5vbmUpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCiAjaWYgUExB
VEZPUk0oTUFDKSAmJiBFTkFCTEUoVklERU9fUFJFU0VOVEFUSU9OX01PREUpCiAgICAgcmV0dXJu
IG1fdmlkZW9GdWxsc2NyZWVuTGF5ZXJNYW5hZ2VyLT52aWRlb0lubGluZUxheWVyKCk7CiAjZWxz
ZQotICAgIHJldHVybiBtX3NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllci5nZXQoKTsKKyAgICByZXR1
cm4gbV92aWRlb0JhY2tncm91bmRMYXllci5nZXQoKTsKICNlbmRpZgogfQogCiBNZWRpYVBsYXll
clByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakM6OkRpc3BsYXlNb2RlIE1lZGlhUGxheWVyUHJpdmF0
ZU1lZGlhU3RyZWFtQVZGT2JqQzo6Y3VycmVudERpc3BsYXlNb2RlKCkgY29uc3QKIHsKLSAgICBp
ZiAobV9lbmRlZCB8fCBtX2ludHJpbnNpY1NpemUuaXNFbXB0eSgpIHx8ICFtZXRhRGF0YUF2YWls
YWJsZSgpIHx8ICFtX3NhbXBsZUJ1ZmZlckRpc3BsYXlMYXllcikKKyAgICBpZiAobV9lbmRlZCB8
fCBtX2ludHJpbnNpY1NpemUuaXNFbXB0eSgpIHx8ICFtZXRhRGF0YUF2YWlsYWJsZSgpIHx8ICFt
X3ZpZGVvQmFja2dyb3VuZExheWVyKQogICAgICAgICByZXR1cm4gTm9uZTsKIAogICAgIGlmICht
X21lZGlhU3RyZWFtUHJpdmF0ZS0+YWN0aXZlVmlkZW9UcmFjaygpICYmICFtX21lZGlhU3RyZWFt
UHJpdmF0ZS0+YWN0aXZlVmlkZW9UcmFjaygpLT5lbmFibGVkKCkpCkBAIC0yNTksNiArMTk0LDUx
IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDOjp1cGRhdGVEaXNw
bGF5TW9kZSgpCiAKICAgICBpZiAobV9kaXNwbGF5TW9kZSA9PSBOb25lKQogICAgICAgICByZXR1
cm47CisKKyAgICBbQ0FUcmFuc2FjdGlvbiBiZWdpbl07CisgICAgW0NBVHJhbnNhY3Rpb24gc2V0
QW5pbWF0aW9uRHVyYXRpb246MF07CisgICAgW0NBVHJhbnNhY3Rpb24gc2V0RGlzYWJsZUFjdGlv
bnM6WUVTXTsKKworICAgIGRvIHsKKyAgICAgICAgaWYgKG1fZGlzcGxheU1vZGUgPCBMaXZlUHJl
dmlldykgeworCisgICAgICAgICAgICBpZiAobV9kaXNwbGF5TW9kZSA9PSBQYXVzZWRJbWFnZSkg
eworICAgICAgICAgICAgICAgIGlmIChtX3ZpZGVvQmFja2dyb3VuZExheWVyLmdldCgpLmNvbnRl
bnRzKQorICAgICAgICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAgICAgICAgIFJlZlB0
cjxJbWFnZT4gaW1hZ2UgPSBtX21lZGlhU3RyZWFtUHJpdmF0ZS0+Y3VycmVudEZyYW1lSW1hZ2Uo
KTsKKyAgICAgICAgICAgICAgICBpZiAoIWltYWdlKSB7CisgICAgICAgICAgICAgICAgICAgIG1f
ZGlzcGxheU1vZGUgPSBQYWludEl0QmxhY2s7CisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVl
OworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIG1fcGF1c2VkSW1hZ2UgPSBp
bWFnZS0+Z2V0Q0dJbWFnZVJlZigpOworICAgICAgICAgICAgICAgIGlmICghbV9wYXVzZWRJbWFn
ZSkgeworICAgICAgICAgICAgICAgICAgICBtX2Rpc3BsYXlNb2RlID0gUGFpbnRJdEJsYWNrOwor
ICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAg
ICAgICAgICAgICBtX3ZpZGVvQmFja2dyb3VuZExheWVyLmdldCgpLmNvbnRlbnRzID0gKGlkKW1f
cGF1c2VkSW1hZ2UuZ2V0KCk7CisgICAgICAgICAgICAgICAgbV92aWRlb0JhY2tncm91bmRMYXll
ci5nZXQoKS5iYWNrZ3JvdW5kQ29sb3IgPSBuaWw7CisgICAgICAgICAgICB9IGVsc2UgeworICAg
ICAgICAgICAgICAgIG1fdmlkZW9CYWNrZ3JvdW5kTGF5ZXIuZ2V0KCkuY29udGVudHMgPSBuaWw7
CisgICAgICAgICAgICAgICAgbV92aWRlb0JhY2tncm91bmRMYXllci5nZXQoKS5iYWNrZ3JvdW5k
Q29sb3IgPSBjYWNoZWRDR0NvbG9yKENvbG9yOjpibGFjayk7CisgICAgICAgICAgICAgICAgbV9w
YXVzZWRJbWFnZSA9IG51bGxwdHI7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIG1fcHJl
dmlld0xheWVyLmdldCgpLmhpZGRlbiA9IHRydWU7CisKKyAgICAgICAgfSBlbHNlIHsKKworICAg
ICAgICAgICAgbV9wcmV2aWV3TGF5ZXIuZ2V0KCkuaGlkZGVuID0gZmFsc2U7CisgICAgICAgICAg
ICBtX3ZpZGVvQmFja2dyb3VuZExheWVyLmdldCgpLmNvbnRlbnRzID0gbmlsOworICAgICAgICAg
ICAgbV9wYXVzZWRJbWFnZSA9IG51bGxwdHI7CisgICAgICAgIH0KKworICAgICAgICBicmVhazsK
KyAgICB9IHdoaWxlICgxKTsKKworICAgIFtDQVRyYW5zYWN0aW9uIGNvbW1pdF07CiB9CiAKIHZv
aWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDOjpwbGF5KCkKQEAgLTQwNyw2
ICszODcsNDQgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakM6OnVw
ZGF0ZUludHJpbnNpY1NpemUoY29uc3QgRmxvYXRTaXplJgogICAgICAgICByZXR1cm47CiAKICAg
ICBtX2ludHJpbnNpY1NpemUgPSBzaXplOworCisgICAgaWYgKG1fdmlkZW9CYWNrZ3JvdW5kTGF5
ZXIgfHwgIW1fcGxheWVyIHx8ICFtX3BsYXllci0+Y2xpZW50KCkubWVkaWFQbGF5ZXJSZW5kZXJp
bmdDYW5CZUFjY2VsZXJhdGVkKG1fcGxheWVyKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYg
KCFtX21lZGlhU3RyZWFtUHJpdmF0ZSB8fCAhbV9tZWRpYVN0cmVhbVByaXZhdGUtPnBsYXRmb3Jt
TGF5ZXIoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgY3JlYXRlUHJldmlld0xheWVycygpOwor
fQorCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQzo6Y3JlYXRlUHJl
dmlld0xheWVycygpCit7CisgICAgaWYgKCFtX3ZpZGVvQmFja2dyb3VuZExheWVyKSB7CisgICAg
ICAgIG1fdmlkZW9CYWNrZ3JvdW5kTGF5ZXIgPSBhZG9wdE5TKFtbQ0FMYXllciBhbGxvY10gaW5p
dF0pOworICAgICAgICBtX3ZpZGVvQmFja2dyb3VuZExheWVyLmdldCgpLm5hbWUgPSBAIk1lZGlh
UGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQyBwcmV2aWV3IGJhY2tncm91bmQgbGF5ZXIi
OworCisjaWYgUExBVEZPUk0oTUFDKSAmJiBFTkFCTEUoVklERU9fUFJFU0VOVEFUSU9OX01PREUp
CisgICAgICAgIG1fdmlkZW9GdWxsc2NyZWVuTGF5ZXJNYW5hZ2VyLT5zZXRWaWRlb0xheWVyKG1f
dmlkZW9CYWNrZ3JvdW5kTGF5ZXIuZ2V0KCksIHNuYXBwZWRJbnRSZWN0KG1fcGxheWVyLT5jbGll
bnQoKS5tZWRpYVBsYXllckNvbnRlbnRCb3hSZWN0KCkpLnNpemUoKSk7CisjZW5kaWYKKyAgICB9
CisKKyAgICBpZiAoIW1fcHJldmlld0xheWVyKSB7CisgICAgICAgIG1fcHJldmlld0xheWVyID0g
bV9tZWRpYVN0cmVhbVByaXZhdGUtPnBsYXRmb3JtTGF5ZXIoKTsKKyAgICAgICAgaWYgKG1fcHJl
dmlld0xheWVyKSB7CisgICAgICAgICAgICBtX3ByZXZpZXdMYXllci5nZXQoKS5jb250ZW50c0dy
YXZpdHkgPSBrQ0FHcmF2aXR5UmVzaXplQXNwZWN0OworICAgICAgICAgICAgbV9wcmV2aWV3TGF5
ZXIuZ2V0KCkuYW5jaG9yUG9pbnQgPSBDR1BvaW50WmVybzsKKyAgICAgICAgICAgIGlmICghbV9w
bGF5aW5nKQorICAgICAgICAgICAgICAgIG1fcHJldmlld0xheWVyLmdldCgpLmhpZGRlbiA9IHRy
dWU7CisKKyAgICAgICAgICAgIFttX3ZpZGVvQmFja2dyb3VuZExheWVyIGFkZFN1YmxheWVyOm1f
cHJldmlld0xheWVyLmdldCgpXTsKKyNpZiBQTEFURk9STShNQUMpCisgICAgICAgICAgICBbbV9w
cmV2aWV3TGF5ZXIgc2V0RnJhbWU6W21fdmlkZW9CYWNrZ3JvdW5kTGF5ZXIgYm91bmRzXV07Cisg
ICAgICAgICAgICBbbV9wcmV2aWV3TGF5ZXIgc2V0QXV0b3Jlc2l6aW5nTWFzazooa0NBTGF5ZXJX
aWR0aFNpemFibGUgfCBrQ0FMYXllckhlaWdodFNpemFibGUpXTsKKyNlbmRpZgorICAgICAgICB9
CisgICAgfQorCisgICAgcmVuZGVyaW5nTW9kZUNoYW5nZWQoKTsKIH0KIAogdm9pZCBNZWRpYVBs
YXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakM6OnJlbmRlcmluZ01vZGVDaGFuZ2VkKCkKQEAg
LTQ1NSwyNiArNDczLDYgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9i
akM6OmRpZFJlbW92ZVRyYWNrKE1lZGlhU3RyZWFtVHJhY2tQcml2YXQKICAgICB1cGRhdGVUcmFj
a3MoKTsKIH0KIAotdm9pZCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0cmVhbUFWRk9iakM6OnNh
bXBsZUJ1ZmZlclVwZGF0ZWQoTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUmIHRyYWNrLCBNZWRpYVNh
bXBsZSYgbWVkaWFTYW1wbGUpCi17Ci0gICAgQVNTRVJUKHRyYWNrLmlkKCkgPT0gbWVkaWFTYW1w
bGUudHJhY2tJRCgpKTsKLSAgICBBU1NFUlQobWVkaWFTYW1wbGUucGxhdGZvcm1TYW1wbGUoKS50
eXBlID09IFBsYXRmb3JtU2FtcGxlOjpDTVNhbXBsZUJ1ZmZlclR5cGUpOwotICAgIEFTU0VSVCht
X21lZGlhU3RyZWFtUHJpdmF0ZSk7Ci0KLSAgICAKLSAgICBzd2l0Y2ggKHRyYWNrLnR5cGUoKSkg
ewotICAgIGNhc2UgUmVhbHRpbWVNZWRpYVNvdXJjZTo6Tm9uZToKLSAgICAgICAgLy8gRG8gbm90
aGluZy4KLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNlOjpBdWRp
bzoKLSAgICAgICAgLy8gRklYTUU6IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNTk4MzYKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBSZWFsdGltZU1lZGlhU291cmNl
OjpWaWRlbzoKLSAgICAgICAgZW5xdWV1ZVZpZGVvU2FtcGxlQnVmZmVyRnJvbVRyYWNrKHRyYWNr
LCBtZWRpYVNhbXBsZS5wbGF0Zm9ybVNhbXBsZSgpKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQot
fQotCiAjaWYgUExBVEZPUk0oTUFDKSAmJiBFTkFCTEUoVklERU9fUFJFU0VOVEFUSU9OX01PREUp
CiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQzo6c2V0VmlkZW9GdWxs
c2NyZWVuTGF5ZXIoUGxhdGZvcm1MYXllciAqdmlkZW9GdWxsc2NyZWVuTGF5ZXIsIHN0ZDo6ZnVu
Y3Rpb248dm9pZCgpPiBjb21wbGV0aW9uSGFuZGxlcikKIHsKQEAgLTQ4OCw3ICs0ODYsNyBAQCB2
b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFtQVZGT2JqQzo6c2V0VmlkZW9GdWxsc2Ny
ZWVuRnJhbWUoRmxvYXRSZWN0IGZyYQogI2VuZGlmCiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBSZWZU
LCB0eXBlbmFtZSBQYXNzUmVmVD4KLXZvaWQgdXBkYXRlVHJhY2tzT2ZUeXBlKEhhc2hNYXA8U3Ry
aW5nLCBSZWZUPiYgdHJhY2tNYXAsIFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGUgdHJhY2tUeXBl
LCBNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZVZlY3RvciYgY3VycmVudFRyYWNrcywgUmVmVCAoKml0
ZW1GYWN0b3J5KShNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZSYpLCBNZWRpYVBsYXllciogcGxheWVy
LCB2b2lkIChNZWRpYVBsYXllcjo6KnJlbW92ZWRGdW5jdGlvbikoUGFzc1JlZlQpLCB2b2lkIChN
ZWRpYVBsYXllcjo6KmFkZGVkRnVuY3Rpb24pKFBhc3NSZWZUKSwgc3RkOjpmdW5jdGlvbjx2b2lk
KFJlZlQsIGludCk+IGNvbmZpZ3VyZUNhbGxiYWNrLCBNZWRpYVBsYXllclByaXZhdGVNZWRpYVN0
cmVhbUFWRk9iakMqIHRyYWNrT2JzZXJ2ZXIpCit2b2lkIHVwZGF0ZVRyYWNrc09mVHlwZShIYXNo
TWFwPFN0cmluZywgUmVmVD4mIHRyYWNrTWFwLCBSZWFsdGltZU1lZGlhU291cmNlOjpUeXBlIHRy
YWNrVHlwZSwgTWVkaWFTdHJlYW1UcmFja1ByaXZhdGVWZWN0b3ImIGN1cnJlbnRUcmFja3MsIFJl
ZlQgKCppdGVtRmFjdG9yeSkoTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUmKSwgTWVkaWFQbGF5ZXIq
IHBsYXllciwgdm9pZCAoTWVkaWFQbGF5ZXI6OipyZW1vdmVkRnVuY3Rpb24pKFBhc3NSZWZUKSwg
dm9pZCAoTWVkaWFQbGF5ZXI6OiphZGRlZEZ1bmN0aW9uKShQYXNzUmVmVCksIHN0ZDo6ZnVuY3Rp
b248dm9pZChSZWZULCBpbnQpPiBjb25maWd1cmVDYWxsYmFjaykKIHsKICAgICBWZWN0b3I8UmVm
VD4gcmVtb3ZlZFRyYWNrczsKICAgICBWZWN0b3I8UmVmVD4gYWRkZWRUcmFja3M7CkBAIC01MjEs
MzcgKzUxOSw0MSBAQCB2b2lkIHVwZGF0ZVRyYWNrc09mVHlwZShIYXNoTWFwPFN0cmluZywgUmVm
VD4mIHRyYWNrTWFwLCBSZWFsdGltZU1lZGlhU291cmNlOjpUeQogICAgIGZvciAoY29uc3QgYXV0
byYgdHJhY2sgOiB0cmFja01hcC52YWx1ZXMoKSkKICAgICAgICAgY29uZmlndXJlQ2FsbGJhY2so
dHJhY2ssIGluZGV4KyspOwogCi0gICAgZm9yIChhdXRvJiB0cmFjayA6IHJlbW92ZWRUcmFja3Mp
IHsKKyAgICBmb3IgKGF1dG8mIHRyYWNrIDogcmVtb3ZlZFRyYWNrcykKICAgICAgICAgKHBsYXll
ci0+KnJlbW92ZWRGdW5jdGlvbikodHJhY2spOwotICAgICAgICB0cmFjay0+c3RyZWFtVHJhY2so
KS0+cmVtb3ZlT2JzZXJ2ZXIoKnRyYWNrT2JzZXJ2ZXIpOwotICAgIH0KIAotICAgIGZvciAoYXV0
byYgdHJhY2sgOiBhZGRlZFRyYWNrcykgeworICAgIGZvciAoYXV0byYgdHJhY2sgOiBhZGRlZFRy
YWNrcykKICAgICAgICAgKHBsYXllci0+KmFkZGVkRnVuY3Rpb24pKHRyYWNrKTsKLSAgICAgICAg
dHJhY2stPnN0cmVhbVRyYWNrKCktPmFkZE9ic2VydmVyKCp0cmFja09ic2VydmVyKTsKLSAgICB9
CiB9CiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDOjp1cGRhdGVU
cmFja3MoKQogewogICAgIE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlVmVjdG9yIGN1cnJlbnRUcmFj
a3MgPSBtX21lZGlhU3RyZWFtUHJpdmF0ZS0+dHJhY2tzKCk7CisgICAgYm9vbCBzZWxlY3RlZFZp
ZGVvVHJhY2tDaGFuZ2VkID0gZmFsc2U7CiAKICAgICBzdGQ6OmZ1bmN0aW9uPHZvaWQoUmVmUHRy
PEF1ZGlvVHJhY2tQcml2YXRlTWVkaWFTdHJlYW0+LCBpbnQpPiBlbmFibGVBdWRpb1RyYWNrID0g
W3RoaXNdKGF1dG8gdHJhY2ssIGludCBpbmRleCkKICAgICB7CiAgICAgICAgIHRyYWNrLT5zZXRU
cmFja0luZGV4KGluZGV4KTsKICAgICAgICAgdHJhY2stPnNldEVuYWJsZWQodHJhY2stPnN0cmVh
bVRyYWNrKCktPmVuYWJsZWQoKSAmJiAhdHJhY2stPnN0cmVhbVRyYWNrKCktPm11dGVkKCkpOwog
ICAgIH07Ci0gICAgdXBkYXRlVHJhY2tzT2ZUeXBlKG1fYXVkaW9UcmFja01hcCwgUmVhbHRpbWVN
ZWRpYVNvdXJjZTo6QXVkaW8sIGN1cnJlbnRUcmFja3MsICZBdWRpb1RyYWNrUHJpdmF0ZU1lZGlh
U3RyZWFtOjpjcmVhdGUsIG1fcGxheWVyLCAmTWVkaWFQbGF5ZXI6OnJlbW92ZUF1ZGlvVHJhY2ss
ICZNZWRpYVBsYXllcjo6YWRkQXVkaW9UcmFjaywgZW5hYmxlQXVkaW9UcmFjaywgdGhpcyk7Cisg
ICAgdXBkYXRlVHJhY2tzT2ZUeXBlKG1fYXVkaW9UcmFja01hcCwgUmVhbHRpbWVNZWRpYVNvdXJj
ZTo6QXVkaW8sIGN1cnJlbnRUcmFja3MsICZBdWRpb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtOjpj
cmVhdGUsIG1fcGxheWVyLCAmTWVkaWFQbGF5ZXI6OnJlbW92ZUF1ZGlvVHJhY2ssICZNZWRpYVBs
YXllcjo6YWRkQXVkaW9UcmFjaywgZW5hYmxlQXVkaW9UcmFjayk7CiAKLSAgICBzdGQ6OmZ1bmN0
aW9uPHZvaWQoUmVmUHRyPFZpZGVvVHJhY2tQcml2YXRlTWVkaWFTdHJlYW0+LCBpbnQpPiBlbmFi
bGVWaWRlb1RyYWNrID0gW3RoaXNdKGF1dG8gdHJhY2ssIGludCBpbmRleCkKKyAgICBzdGQ6OmZ1
bmN0aW9uPHZvaWQoUmVmUHRyPFZpZGVvVHJhY2tQcml2YXRlTWVkaWFTdHJlYW0+LCBpbnQpPiBl
bmFibGVWaWRlb1RyYWNrID0gW3RoaXMsICZzZWxlY3RlZFZpZGVvVHJhY2tDaGFuZ2VkXShhdXRv
IHRyYWNrLCBpbnQgaW5kZXgpCiAgICAgeworICAgICAgICBib29sIHdhc1NlbGVjdGVkID0gdHJh
Y2stPnNlbGVjdGVkKCk7CiAgICAgICAgIHRyYWNrLT5zZXRUcmFja0luZGV4KGluZGV4KTsKICAg
ICAgICAgdHJhY2stPnNldFNlbGVjdGVkKHRyYWNrLT5zdHJlYW1UcmFjaygpID09IG1fbWVkaWFT
dHJlYW1Qcml2YXRlLT5hY3RpdmVWaWRlb1RyYWNrKCkpOwotCi0gICAgICAgIGlmICh0cmFjay0+
c2VsZWN0ZWQoKSkKLSAgICAgICAgICAgIGVuc3VyZUxheWVyKCk7CisgICAgICAgIGlmICh3YXNT
ZWxlY3RlZCAhPSB0cmFjay0+c2VsZWN0ZWQoKSkKKyAgICAgICAgICAgIHNlbGVjdGVkVmlkZW9U
cmFja0NoYW5nZWQgPSB0cnVlOwogICAgIH07Ci0gICAgdXBkYXRlVHJhY2tzT2ZUeXBlKG1fdmlk
ZW9UcmFja01hcCwgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VmlkZW8sIGN1cnJlbnRUcmFja3MsICZW
aWRlb1RyYWNrUHJpdmF0ZU1lZGlhU3RyZWFtOjpjcmVhdGUsIG1fcGxheWVyLCAmTWVkaWFQbGF5
ZXI6OnJlbW92ZVZpZGVvVHJhY2ssICZNZWRpYVBsYXllcjo6YWRkVmlkZW9UcmFjaywgZW5hYmxl
VmlkZW9UcmFjaywgdGhpcyk7CisgICAgdXBkYXRlVHJhY2tzT2ZUeXBlKG1fdmlkZW9UcmFja01h
cCwgUmVhbHRpbWVNZWRpYVNvdXJjZTo6VmlkZW8sIGN1cnJlbnRUcmFja3MsICZWaWRlb1RyYWNr
UHJpdmF0ZU1lZGlhU3RyZWFtOjpjcmVhdGUsIG1fcGxheWVyLCAmTWVkaWFQbGF5ZXI6OnJlbW92
ZVZpZGVvVHJhY2ssICZNZWRpYVBsYXllcjo6YWRkVmlkZW9UcmFjaywgZW5hYmxlVmlkZW9UcmFj
ayk7CisKKyAgICBpZiAoc2VsZWN0ZWRWaWRlb1RyYWNrQ2hhbmdlZCkgeworICAgICAgICBpZiAo
bV9wcmV2aWV3TGF5ZXIpCisgICAgICAgICAgICBtX3ByZXZpZXdMYXllciA9IG51bGxwdHI7CisK
KyAgICAgICAgY3JlYXRlUHJldmlld0xheWVycygpOworICAgIH0KIH0KIAogc3RkOjp1bmlxdWVf
cHRyPFBsYXRmb3JtVGltZVJhbmdlcz4gTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZP
YmpDOjpzZWVrYWJsZSgpIGNvbnN0CkBAIC01OTEsMTQgKzU5Myw2IEBAIHZvaWQgTWVkaWFQbGF5
ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZPYmpDOjpwYWludEN1cnJlbnRGcmFtZUluQ29udGV4dChH
cmFwaGljc0NvCiAgICAgfQogfQogCi12b2lkIE1lZGlhUGxheWVyUHJpdmF0ZU1lZGlhU3RyZWFt
QVZGT2JqQzo6YWNjZWxlcmF0ZWRSZW5kZXJpbmdTdGF0ZUNoYW5nZWQoKQotewotICAgIGlmICht
X3BsYXllci0+Y2xpZW50KCkubWVkaWFQbGF5ZXJSZW5kZXJpbmdDYW5CZUFjY2VsZXJhdGVkKG1f
cGxheWVyKSkKLSAgICAgICAgZW5zdXJlTGF5ZXIoKTsKLSAgICBlbHNlCi0gICAgICAgIGRlc3Ry
b3lMYXllcigpOwotfQotCiBTdHJpbmcgTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1BVkZP
YmpDOjplbmdpbmVEZXNjcmlwdGlvbigpIGNvbnN0CiB7CiAgICAgc3RhdGljIE5ldmVyRGVzdHJv
eWVkPFN0cmluZz4gZGVzY3JpcHRpb24oQVNDSUlMaXRlcmFsKCJBVkZvdW5kYXRpb24gTWVkaWFT
dHJlYW0gRW5naW5lIikpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vTWVkaWFTdHJlYW1Qcml2YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL01lZGlhU3RyZWFtUHJpdmF0ZS5jcHAKaW5kZXggN2I5YWE1ZDQzNDQzZjZi
NjU2OTNkMmU1ZjM1M2NhN2JiOGViYTEyZi4uMTg3MmNkMmM4YmMzMjk1NTgzMjZjZmZmMWQ5NmZh
N2VkNzVhODIyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJl
YW0vTWVkaWFTdHJlYW1Qcml2YXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVByaXZhdGUuY3BwCkBAIC0yNTcsNyArMjU3LDcgQEAgdm9p
ZCBNZWRpYVN0cmVhbVByaXZhdGU6OnVwZGF0ZUFjdGl2ZVZpZGVvVHJhY2soKQogewogICAgIG1f
YWN0aXZlVmlkZW9UcmFjayA9IG51bGxwdHI7CiAgICAgZm9yIChhdXRvJiB0cmFjayA6IG1fdHJh
Y2tTZXQudmFsdWVzKCkpIHsKLSAgICAgICAgaWYgKCF0cmFjay0+ZW5kZWQoKSAmJiB0cmFjay0+
dHlwZSgpID09IFJlYWx0aW1lTWVkaWFTb3VyY2U6OlR5cGU6OlZpZGVvKSB7CisgICAgICAgIGlm
ICghdHJhY2stPmVuZGVkKCkgJiYgdHJhY2stPnR5cGUoKSA9PSBSZWFsdGltZU1lZGlhU291cmNl
OjpUeXBlOjpWaWRlbyAmJiAhdHJhY2stPmVuZGVkKCkpIHsKICAgICAgICAgICAgIG1fYWN0aXZl
VmlkZW9UcmFjayA9IHRyYWNrLmdldCgpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3Ry
ZWFtVHJhY2tQcml2YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFt
L01lZGlhU3RyZWFtVHJhY2tQcml2YXRlLmNwcAppbmRleCAxNTY4ODY1ZGI0ZTkzNzdmYTBmMTIz
OWE2YmJhM2ZjOGQxNzE4NTU4Li42ODI0ZWU0ZmJiNzNjODA4NTc0MzllNTgxZTE2NGEzMmMwOGM2
YzJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRp
YVN0cmVhbVRyYWNrUHJpdmF0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUuY3BwCkBAIC0yMTMsMTMgKzIxMyw2IEBA
IGJvb2wgTWVkaWFTdHJlYW1UcmFja1ByaXZhdGU6OnByZXZlbnRTb3VyY2VGcm9tU3RvcHBpbmco
KQogICAgIHJldHVybiAhbV9pc0VuZGVkOwogfQogCi12b2lkIE1lZGlhU3RyZWFtVHJhY2tQcml2
YXRlOjpzb3VyY2VIYXNNb3JlTWVkaWFEYXRhKE1lZGlhU2FtcGxlJiBtZWRpYVNhbXBsZSkKLXsK
LSAgICBtZWRpYVNhbXBsZS5zZXRUcmFja0lEKGlkKCkpOwotICAgIGZvciAoYXV0byYgb2JzZXJ2
ZXIgOiBtX29ic2VydmVycykKLSAgICAgICAgb2JzZXJ2ZXItPnNhbXBsZUJ1ZmZlclVwZGF0ZWQo
KnRoaXMsIG1lZGlhU2FtcGxlKTsKLX0KLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5k
aWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2tQcml2YXRlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZS5oCmluZGV4
IDEyMjgyZDk3NjdlYTQ1MTdjZjczMWQyZGE0M2EzZjljMmFjZGRkNDYuLjg1OGFiNTNiYjhiMWUx
YWEzNTMxZTBlYWY4NGMyYjFkZTE1NjYwMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2tQcml2YXRlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUuaApA
QCAtMzcsNyArMzcsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEF1ZGlvU291cmNl
UHJvdmlkZXI7CiBjbGFzcyBHcmFwaGljc0NvbnRleHQ7Ci1jbGFzcyBNZWRpYVNhbXBsZTsKIGNs
YXNzIE1lZGlhU291cmNlU2V0dGluZ3M7CiBjbGFzcyBSZWFsdGltZU1lZGlhU291cmNlQ2FwYWJp
bGl0aWVzOwogCkBAIC01MSw3ICs1MCw2IEBAIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB2b2lk
IHRyYWNrTXV0ZWRDaGFuZ2VkKE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlJikgPSAwOwogICAgICAg
ICB2aXJ0dWFsIHZvaWQgdHJhY2tTZXR0aW5nc0NoYW5nZWQoTWVkaWFTdHJlYW1UcmFja1ByaXZh
dGUmKSA9IDA7CiAgICAgICAgIHZpcnR1YWwgdm9pZCB0cmFja0VuYWJsZWRDaGFuZ2VkKE1lZGlh
U3RyZWFtVHJhY2tQcml2YXRlJikgPSAwOwotICAgICAgICB2aXJ0dWFsIHZvaWQgc2FtcGxlQnVm
ZmVyVXBkYXRlZChNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZSYsIE1lZGlhU2FtcGxlJikgeyB9Owog
ICAgIH07CiAgICAgCiAgICAgc3RhdGljIFJlZlB0cjxNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZT4g
Y3JlYXRlKFJlZlB0cjxSZWFsdGltZU1lZGlhU291cmNlPiYmKTsKQEAgLTEwNiw3ICsxMDQsNiBA
QCBwcml2YXRlOgogICAgIHZvaWQgc291cmNlTXV0ZWRDaGFuZ2VkKCkgZmluYWw7CiAgICAgdm9p
ZCBzb3VyY2VTZXR0aW5nc0NoYW5nZWQoKSBmaW5hbDsKICAgICBib29sIHByZXZlbnRTb3VyY2VG
cm9tU3RvcHBpbmcoKSBmaW5hbDsKLSAgICB2b2lkIHNvdXJjZUhhc01vcmVNZWRpYURhdGEoTWVk
aWFTYW1wbGUmKSBmaW5hbDsKIAogICAgIFZlY3RvcjxPYnNlcnZlcio+IG1fb2JzZXJ2ZXJzOwog
ICAgIFJlZlB0cjxSZWFsdGltZU1lZGlhU291cmNlPiBtX3NvdXJjZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2UuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJj
ZS5jcHAKaW5kZXggMjdjNTM3ODNhNmY2Mjk5NTIxMTZjZTAwMjc2Mjg4ZGVmYmE4OWU5My4uMjI2
YWVlMDU2YjAzZmJlNDYzYWM2NmI2Yzk2NDkzZDU0MjE2MWYxYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJj
ZS5jcHAKQEAgLTk2LDEyICs5Niw2IEBAIHZvaWQgUmVhbHRpbWVNZWRpYVNvdXJjZTo6c2V0dGlu
Z3NEaWRDaGFuZ2VkKCkKICAgICAgICAgb2JzZXJ2ZXItPnNvdXJjZVNldHRpbmdzQ2hhbmdlZCgp
OwogfQogCi12b2lkIFJlYWx0aW1lTWVkaWFTb3VyY2U6Om1lZGlhRGF0YVVwZGF0ZWQoTWVkaWFT
YW1wbGUmIG1lZGlhU2FtcGxlKQotewotICAgIGZvciAoYXV0byYgb2JzZXJ2ZXIgOiBtX29ic2Vy
dmVycykKLSAgICAgICAgb2JzZXJ2ZXItPnNvdXJjZUhhc01vcmVNZWRpYURhdGEobWVkaWFTYW1w
bGUpOwotfQotCiBib29sIFJlYWx0aW1lTWVkaWFTb3VyY2U6OnJlYWRvbmx5KCkgY29uc3QKIHsK
ICAgICByZXR1cm4gbV9yZWFkb25seTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2UuaAppbmRleCA0NzI5ZmEzOGQ2
ZGY1NDhjOGU0ZWE2OTU5NDgzNDcyOWYyOTY3NGU0Li5jMWY1ZTk4YWMzMzk2MzBhNDQyZWI3NTRm
YThiODBhYWFlYjlkYmMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXN0cmVhbS9SZWFsdGltZU1lZGlhU291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZS5oCkBAIC0zOSw3ICszOSw2IEBACiAj
aW5jbHVkZSAiQXVkaW9Tb3VyY2VQcm92aWRlci5oIgogI2luY2x1ZGUgIkltYWdlLmgiCiAjaW5j
bHVkZSAiTWVkaWFDb25zdHJhaW50cy5oIgotI2luY2x1ZGUgIk1lZGlhU2FtcGxlLmgiCiAjaW5j
bHVkZSAiUGxhdGZvcm1MYXllci5oIgogI2luY2x1ZGUgIlJlYWx0aW1lTWVkaWFTb3VyY2VDYXBh
YmlsaXRpZXMuaCIKICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgpAQCAtNjcsOSArNjYsNiBA
QCBwdWJsaWM6CiAKICAgICAgICAgLy8gT2JzZXJ2ZXIgc3RhdGUgcXVlcmllcy4KICAgICAgICAg
dmlydHVhbCBib29sIHByZXZlbnRTb3VyY2VGcm9tU3RvcHBpbmcoKSA9IDA7Ci0gICAgICAgIAot
ICAgICAgICAvLyBNZWRpYSBkYXRhIGNoYW5nZXMuCi0gICAgICAgIHZpcnR1YWwgdm9pZCBzb3Vy
Y2VIYXNNb3JlTWVkaWFEYXRhKE1lZGlhU2FtcGxlJikgPSAwOwogICAgIH07CiAKICAgICB2aXJ0
dWFsIH5SZWFsdGltZU1lZGlhU291cmNlKCkgeyB9CkBAIC05MSw3ICs4Nyw2IEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIFJlZlB0cjxSZWFsdGltZU1lZGlhU291cmNlQ2FwYWJpbGl0aWVzPiBjYXBh
YmlsaXRpZXMoKSA9IDA7CiAgICAgdmlydHVhbCBjb25zdCBSZWFsdGltZU1lZGlhU291cmNlU2V0
dGluZ3MmIHNldHRpbmdzKCkgPSAwOwogICAgIHZvaWQgc2V0dGluZ3NEaWRDaGFuZ2VkKCk7Ci0g
ICAgdm9pZCBtZWRpYURhdGFVcGRhdGVkKE1lZGlhU2FtcGxlJik7CiAgICAgCiAgICAgYm9vbCBz
dG9wcGVkKCkgY29uc3QgeyByZXR1cm4gbV9zdG9wcGVkOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVlZpZGVvQ2FwdHVyZVNvdXJjZS5t
bSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL21hYy9BVlZpZGVvQ2FwdHVy
ZVNvdXJjZS5tbQppbmRleCBjOWYxZWIxZDY0NjgzNTE1NzI1ZWZlZDAyM2RkMTg3ZTg0MjI5NGIz
Li5kODdjYmM0OTE5ZjQ2OThlZmY0Njg2N2I3NjczNTE5OWYxYTliNzQ1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9tYWMvQVZWaWRlb0NhcHR1cmVTb3Vy
Y2UubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbWFjL0FWVmlk
ZW9DYXB0dXJlU291cmNlLm1tCkBAIC0zNCw3ICszNCw2IEBACiAjaW1wb3J0ICJJbnRSZWN0Lmgi
CiAjaW1wb3J0ICJMb2dnaW5nLmgiCiAjaW1wb3J0ICJNZWRpYUNvbnN0cmFpbnRzLmgiCi0jaW1w
b3J0ICJNZWRpYVNhbXBsZUFWRk9iakMuaCIKICNpbXBvcnQgIk5vdEltcGxlbWVudGVkLmgiCiAj
aW1wb3J0ICJQbGF0Zm9ybUxheWVyLmgiCiAjaW1wb3J0ICJSZWFsdGltZU1lZGlhU291cmNlQ2Vu
dGVyLmgiCkBAIC0yOTksOSArMjk4LDcgQEAgdm9pZCBBVlZpZGVvQ2FwdHVyZVNvdXJjZTo6cHJv
Y2Vzc05ld0ZyYW1lKFJldGFpblB0cjxDTVNhbXBsZUJ1ZmZlclJlZj4gc2FtcGxlQnUKICAgICB9
CiAKICAgICBpZiAoc2V0dGluZ3NDaGFuZ2VkKQotICAgICAgICBzZXR0aW5nc0RpZENoYW5nZWQo
KTsKLQotICAgIG1lZGlhRGF0YVVwZGF0ZWQoTWVkaWFTYW1wbGVBVkZPYmpDOjpjcmVhdGUoc2Ft
cGxlQnVmZmVyLmdldCgpKSk7CisgICAgICAgIHRoaXMtPnNldHRpbmdzRGlkQ2hhbmdlZCgpOwog
fQogCiB2b2lkIEFWVmlkZW9DYXB0dXJlU291cmNlOjpjYXB0dXJlT3V0cHV0RGlkT3V0cHV0U2Ft
cGxlQnVmZmVyRnJvbUNvbm5lY3Rpb24oQVZDYXB0dXJlT3V0cHV0VHlwZSosIENNU2FtcGxlQnVm
ZmVyUmVmIHNhbXBsZUJ1ZmZlciwgQVZDYXB0dXJlQ29ubmVjdGlvblR5cGUqKQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGUw
OTgyMmI0MzE0NTc4NGE5OGJlOWIxOTQwOWYwNzQ5ZjM0OGZiMWEuLmMyNzM4ODcyYjViYmZmZTE1
MmE4NmQxMjQzZjMzMTA5ZTFjOTgzM2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxNi0wNy0y
MCAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CisKKyAgICAgICAgVW5y
ZXZpZXdlZCwgcm9sbGluZyBvdXQgcjIwMzQyMy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE1OTk3NworCisgICAgICAgIFRoZSB0ZXN0IGZvciB0aGlz
IGNoYW5nZSBpcyBmYWlsaW5nIG9uIE1hYyBSZWxlYXNlIFdLMgorICAgICAgICAoUmVxdWVzdGVk
IGJ5IHJ5YW5oYWRkYWQgb24gI3dlYmtpdCkuCisKKyAgICAgICAgUmV2ZXJ0ZWQgY2hhbmdlc2V0
OgorCisgICAgICAgICJIVE1MVmlkZW9FbGVtZW50IGZyYW1lcyBkbyBub3QgdXBkYXRlIG9uIGlP
UyB3aGVuIHNyYyBpcyBhCisgICAgICAgIE1lZGlhU3RyZWFtIGJsb2IiCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTk4MzMKKyAgICAgICAgaHR0cDov
L3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMjAzNDIzCisKIDIwMTYtMDctMjAgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggbnVsbCBoYW5kbGluZyBvZiBI
VE1MU2VsZWN0RWxlbWVudC52YWx1ZSBhdHRyaWJ1dGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0tdmlkZW8tZWxlbWVudC1kaXNwbGF5cy1idWZm
ZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9NZWRpYVN0cmVh
bS12aWRlby1lbGVtZW50LWRpc3BsYXlzLWJ1ZmZlci1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDkxODViNTU5MzQwMDNhNmI2NTIzNGM3ZGIxMjk2YjRjZDI2NTM1
OGYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS12aWRlby1lbGVtZW50LWRpc3BsYXlz
LWJ1ZmZlci1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxNyArMCwwIEBACi1UZXN0
cyB0aGF0IHRoZSBzdHJlYW0gZGlzcGxheXMgY2FwdHVyZWQgYnVmZmVycyB0byB0aGUgdmlkZW8g
ZWxlbWVudC4KLQotT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgotCi0KLVBBU1MgbWVkaWFEZXZp
Y2VzLmdldFVzZXJNZWRpYSBnZW5lcmF0ZWQgYSBzdHJlYW0gc3VjY2Vzc2Z1bGx5LgotdmlkZW8u
c3JjID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwobWVkaWFTdHJlYW0pCi12aWRlby5wbGF5
KCkKLQotID09PSBjaGVja2luZyBwaXhlbHMgPT09Ci1QQVNTIGlzUGl4ZWxUcmFuc3BhcmVudChi
dWZmZXIpIGlzIHRydWUKLVBBU1MgaXNQaXhlbFRyYW5zcGFyZW50KGJ1ZmZlcikgaXMgZmFsc2UK
LVBBU1MgaXNQaXhlbEJsYWNrKGJ1ZmZlcikgaXMgZmFsc2UKLVBBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS12aWRlby1lbGVtZW50LWRpc3BsYXlzLWJ1ZmZl
ci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbS12aWRlby1l
bGVtZW50LWRpc3BsYXlzLWJ1ZmZlci5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAxN2VhOTA3MTc1NjBmY2Q0YWZjNTNlOTgyM2I2NGI4ZGUxZjhmYjEzLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFz
dHJlYW0vTWVkaWFTdHJlYW0tdmlkZW8tZWxlbWVudC1kaXNwbGF5cy1idWZmZXIuaHRtbAorKysg
L2Rldi9udWxsCkBAIC0xLDcxICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVh
ZD4KLSAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KLSAgICA8c2NyaXB0IHNyYz0iLi9yZXNvdXJjZXMvZ2V0VXNlck1lZGlhLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InN0YXJ0KCkiPgotPHAgaWQ9ImRl
c2NyaXB0aW9uIj48L3A+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KLTx2aWRlbyBjb250cm9s
cyB3aWR0aD0iNjgwIiBoZWlnaHQ9IjM2MCI+PC92aWRlbz4KLTxjYW52YXMgd2lkdGg9IjY4MCIg
aGVpZ2h0PSIzNjAiPjwvY2FudmFzPgotPHNjcmlwdD4KLSAgICBsZXQgbWVkaWFTdHJlYW07Ci0g
ICAgbGV0IHZpZGVvOwotICAgIGxldCBjYW52YXM7Ci0gICAgbGV0IGNvbnRleHQ7Ci0gICAgCi0g
ICAgbGV0IGJ1ZmZlcjsKLSAgICAKLSAgICBmdW5jdGlvbiBpc1BpeGVsVHJhbnNwYXJlbnQocGl4
ZWwpCi0gICAgewotICAgICAgICByZXR1cm4gcGl4ZWxbMF0gPT09IDAgJiYgcGl4ZWxbMV0gPT09
IDAgJiYgcGl4ZWxbMl0gPT09IDAgJiYgcGl4ZWxbM10gPT09IDA7Ci0gICAgfQotCi0gICAgZnVu
Y3Rpb24gaXNQaXhlbEJsYWNrKHBpeGVsKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHBpeGVsWzBd
ID09PSAyNTUgJiYgcGl4ZWxbMV0gPT09IDI1NSAmJiBwaXhlbFsyXSA9PT0gMjU1ICYmIHBpeGVs
WzNdID09PSAyNTU7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gdmVyaWZ5RnJhbWVzQmVpbmdEaXNw
bGF5ZWQoKQotICAgIHsKLSAgICAgICAgZGVidWcoJzxicj4gPT09IGNoZWNraW5nIHBpeGVscyA9
PT0nKTsKLQotICAgICAgICBjb250ZXh0LmNsZWFyUmVjdCgwLCAwLCBjYW52YXMud2lkdGgsIGNh
bnZhcy5oZWlnaHQpOwotICAgICAgICAKLSAgICAgICAgYnVmZmVyID0gY29udGV4dC5nZXRJbWFn
ZURhdGEoMCwgMCwgMSwgMSkuZGF0YTsKLSAgICAgICAgc2hvdWxkQmVUcnVlKCdpc1BpeGVsVHJh
bnNwYXJlbnQoYnVmZmVyKScpOwotICAgICAgICAKLSAgICAgICAgY29udGV4dC5kcmF3SW1hZ2Uo
dmlkZW8sIDAsIDAsIGNhbnZhcy53aWR0aCwgY2FudmFzLmhlaWdodCk7Ci0gICAgICAgIAotICAg
ICAgICBidWZmZXIgPSBjb250ZXh0LmdldEltYWdlRGF0YSgwLCAwLCAxLCAxKS5kYXRhOwotICAg
ICAgICBzaG91bGRCZUZhbHNlKCdpc1BpeGVsVHJhbnNwYXJlbnQoYnVmZmVyKScpOwotICAgICAg
ICBzaG91bGRCZUZhbHNlKCdpc1BpeGVsQmxhY2soYnVmZmVyKScpOwotCi0gICAgICAgIGZpbmlz
aEpTVGVzdCgpOwotICAgIH0KLQotICAgIGZ1bmN0aW9uIGNhbnBsYXkoKQotICAgIHsKLSAgICAg
ICAgZXZhbEFuZExvZygndmlkZW8ucGxheSgpJyk7Ci0gICAgfQotCi0gICAgZnVuY3Rpb24gc3Rh
cnQoKQotICAgIHsKLSAgICAgICAgZGVzY3JpcHRpb24oIlRlc3RzIHRoYXQgdGhlIHN0cmVhbSBk
aXNwbGF5cyBjYXB0dXJlZCBidWZmZXJzIHRvIHRoZSB2aWRlbyBlbGVtZW50LiIpOwotCi0gICAg
ICAgIGNhbnZhcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2NhbnZhcycpOwotICAgICAgICBj
b250ZXh0ID0gY2FudmFzLmdldENvbnRleHQoJzJkJyk7Ci0KLSAgICAgICAgdmlkZW8gPSBkb2N1
bWVudC5xdWVyeVNlbGVjdG9yKCd2aWRlbycpOwotICAgICAgICB2aWRlby5hZGRFdmVudExpc3Rl
bmVyKCdjYW5wbGF5JywgY2FucGxheSwgZmFsc2UpOwotICAgICAgICB2aWRlby5hZGRFdmVudExp
c3RlbmVyKCdjYW5wbGF5dGhyb3VnaCcsIHZlcmlmeUZyYW1lc0JlaW5nRGlzcGxheWVkLCBmYWxz
ZSk7Ci0KLSAgICAgICAgZ2V0VXNlck1lZGlhKCJhbGxvdyIsIHt2aWRlbzp0cnVlfSwgc2V0dXBW
aWRlb0VsZW1lbnRXaXRoU3RyZWFtKTsKLSAgICB9Ci0KLSAgICB3aW5kb3cuanNUZXN0SXNBc3lu
YyA9IHRydWU7Ci08L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL3Jlc291
cmNlcy9nZXRVc2VyTWVkaWEtaGVscGVyLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVh
bS9yZXNvdXJjZXMvZ2V0VXNlck1lZGlhLWhlbHBlci5qcwppbmRleCA4N2ZjZjkyZjM2MDlmMGE5
YzI4MWE4OTZlM2I4NDQyNzI4NDdjMTNjLi5jMGFiOGQ5NmU1OTQ0NGE4NmZkYWRkZmMzNGY2NWY4
NDZlOGYzYWU1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhc3RyZWFtL3Jlc291
cmNlcy9nZXRVc2VyTWVkaWEtaGVscGVyLmpzCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWFz
dHJlYW0vcmVzb3VyY2VzL2dldFVzZXJNZWRpYS1oZWxwZXIuanMKQEAgLTI0LDEwICsyNCwzIEBA
IGZ1bmN0aW9uIGRlZmF1bHRSZWplY3RPckNhdGNoKGUpIHsKICAgICB0ZXN0RmFpbGVkKCdnZXRV
c2VyTWVkaWEgZmFpbGVkOicgKyBlKTsKICAgICBmaW5pc2hKU1Rlc3QoKTsKIH0KLQotZnVuY3Rp
b24gc2V0dXBWaWRlb0VsZW1lbnRXaXRoU3RyZWFtKHN0cmVhbSkKLXsKLSAgICBtZWRpYVN0cmVh
bSA9IHN0cmVhbTsKLSAgICB0ZXN0UGFzc2VkKCdtZWRpYURldmljZXMuZ2V0VXNlck1lZGlhIGdl
bmVyYXRlZCBhIHN0cmVhbSBzdWNjZXNzZnVsbHkuJyk7Ci0gICAgZXZhbEFuZExvZygndmlkZW8u
c3JjID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwobWVkaWFTdHJlYW0pJyk7Ci19ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>