<?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>173096</bug_id>
          
          <creation_ts>2017-06-08 05:23:04 -0700</creation_ts>
          <short_desc>[GStreamer][EME] Remove the legacy code that was not even official and is deprecated</short_desc>
          <delta_ts>2017-06-09 01:03:53 -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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Xabier Rodríguez Calvar">calvaris</reporter>
          <assigned_to name="Xabier Rodríguez Calvar">calvaris</assigned_to>
          <cc>achristensen</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jiewen_tan</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1316871</commentid>
    <comment_count>0</comment_count>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2017-06-08 05:23:04 -0700</bug_when>
    <thetext>[GStreamer][EME] Remove the legacy code that was not even official and is deprecated</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1316872</commentid>
    <comment_count>1</comment_count>
      <attachid>312295</attachid>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2017-06-08 05:27:46 -0700</bug_when>
    <thetext>Created attachment 312295
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1317275</commentid>
    <comment_count>2</comment_count>
      <attachid>312295</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-06-09 01:03:51 -0700</bug_when>
    <thetext>Comment on attachment 312295
Patch

Clearing flags on attachment: 312295

Committed r217966: &lt;http://trac.webkit.org/changeset/217966&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1317276</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-06-09 01:03:53 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>312295</attachid>
            <date>2017-06-08 05:27:46 -0700</date>
            <delta_ts>2017-06-09 01:03:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173096-20170608142744.patch</filename>
            <type>text/plain</type>
            <size>35916</size>
            <attacher name="Xabier Rodríguez Calvar">calvaris</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE3ODc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjJlMjNkNjg5ZWY0OGEx
MjE5MDExMzE2OTJkZGU3YzhiNDc3MzljMi4uYjRlMzA3OTJhNDY0OWY2Y2UwOTNjYzk2OWFmYjFm
ZGU3YTgzY2I4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU0IEBACisyMDE3LTA2LTA4ICBYYWJp
ZXIgUm9kcmlndWV6IENhbHZhciAgPGNhbHZhcmlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dT
dHJlYW1lcl1bRU1FXSBSZW1vdmUgdGhlIGxlZ2FjeSBjb2RlIHRoYXQgd2FzIG5vdCBldmVuIG9m
ZmljaWFsIGFuZCBpcyBkZXByZWNhdGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNzMwOTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBXZSBhcmUgcmVtb3ZpbmcgdGhlIExFR0FDWV9FTkNSWVBURURfTUVE
SUEgY29kZSB0aGF0IHdlIHdhcyBub3QKKyAgICAgICAgb2ZmaWNpYWwsIGlzIGRlcHJlY2F0ZWQg
YW5kIHdlIGFyZSBub3QgcGxhbm5pbmcgdG8gc3VwcG9ydCBpdAorICAgICAgICBhbnltb3JlIGlu
IGFueSB3YXkuCisKKyAgICAgICAgVGhpcyBhbHNvIGhlbHBzIGltcGxlbWVudGluZyBjdXJyZW50
IEVOQ1JZUFRFRF9NRURJQSBpbiBhIGNsZWFuZXIKKyAgICAgICAgd2F5LgorCisgICAgICAgICog
cGxhdGZvcm0vR1N0cmVhbWVyLmNtYWtlOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dz
dHJlYW1lci9HU3RyZWFtZXJVdGlsaXRpZXMuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2dzdHJlYW1lci9HU3RyZWFtZXJVdGlsaXRpZXMuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6aGFuZGxlTWVzc2FnZSk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0
ZUdTdHJlYW1lckJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6cmVnaXN0ZXJXZWJLaXRHU3Ry
ZWFtZXJFbGVtZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXJCYXNlOjp+TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZSk6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpoYW5kbGVTeW5jTWVzc2Fn
ZSk6CisgICAgICAgIChXZWJDb3JlOjpleHRyYWN0RXZlbnRzQW5kU3lzdGVtc0Zyb21NZXNzYWdl
KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
ckJhc2U6Om5lZWRLZXkpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyQmFzZTo6c2V0Q0RNU2Vzc2lvbik6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjprZXlBZGRlZCk6IERlbGV0
ZWQuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpo
YW5kbGVQcm90ZWN0aW9uRXZlbnQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6cmVjZWl2ZWRHZW5lcmF0ZUtleVJlcXVlc3QpOiBE
ZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6a2V5U3lzdGVtSWRUb1V1aWQpOiBEZWxldGVkLgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6Y3JlYXRl
U2Vzc2lvbik6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXJCYXNlOjpkaXNwYXRjaERlY3J5cHRpb25LZXkpOiBEZWxldGVkLgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJC
YXNlLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL2VtZS9XZWJLaXRD
bGVhcktleURlY3J5cHRvckdTdHJlYW1lci5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyL2VtZS9XZWJLaXRDbGVhcktleURlY3J5cHRvckdTdHJlYW1lci5oOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9lbWUvV2ViS2l0Q29tbW9uRW5jcnlw
dGlvbkRlY3J5cHRvckdTdHJlYW1lci5jcHA6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL2VtZS9XZWJLaXRDb21tb25FbmNyeXB0aW9uRGVjcnlwdG9yR1N0cmVhbWVyLmg6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9BcHBlbmRQaXBlbGlu
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBcHBlbmRQaXBlbGluZTo6QXBwZW5kUGlwZWxpbmUp
OgorICAgICAgICAoV2ViQ29yZTo6QXBwZW5kUGlwZWxpbmU6OnBhcnNlRGVtdXhlclNyY1BhZENh
cHMpOgorICAgICAgICAoV2ViQ29yZTo6QXBwZW5kUGlwZWxpbmU6OmNvbm5lY3REZW11eGVyU3Jj
UGFkVG9BcHBzaW5rRnJvbUFueVRocmVhZCk6CisgICAgICAgIChXZWJDb3JlOjpBcHBlbmRQaXBl
bGluZTo6ZGlzY29ubmVjdERlbXV4ZXJTcmNQYWRGcm9tQXBwc2lua0Zyb21BbnlUaHJlYWQpOgor
ICAgICAgICAoV2ViQ29yZTo6YXBwZW5kUGlwZWxpbmVFbGVtZW50TWVzc2FnZUNhbGxiYWNrKTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFwcGVuZFBpcGVsaW5lOjpkaXNwYXRjaFBlbmRp
bmdEZWNyeXB0aW9uS2V5KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFwcGVuZFBpcGVs
aW5lOjpkaXNwYXRjaERlY3J5cHRpb25LZXkpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6
QXBwZW5kUGlwZWxpbmU6OmhhbmRsZUVsZW1lbnRNZXNzYWdlKTogRGVsZXRlZC4KKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL0FwcGVuZFBpcGVsaW5lLmg6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9NZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXJNU0UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWVyTVNFOjpkaXNwYXRjaERlY3J5cHRpb25LZXkpOiBEZWxldGVkLgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
TVNFLmg6CisKIDIwMTctMDYtMDcgIFphbiBEb2JlcnNlayAgPHpkb2JlcnNla0BpZ2FsaWEuY29t
PgogCiAgICAgICAgIFtHQ3J5cHRdIFJTQS1QU1Mgc3VwcG9ydApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vR1N0cmVhbWVyLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vR1N0cmVhbWVyLmNtYWtlCmluZGV4IGNhNjhhNzY5MDIxOWVjZjBmMjAxYTQ2ODg4ODQwNTM0
YzRkZDFlZTguLjIwMWE4NDMyNjc5Y2UzOTViNGNjZDY1MjBjZWRlMTY3OTgwZWUyOGIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0dTdHJlYW1lci5jbWFrZQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9HU3RyZWFtZXIuY21ha2UKQEAgLTEzMSw3ICsxMzEsNyBAQCBp
ZiAoRU5BQkxFX1dFQl9BVURJTykKICAgICApCiBlbmRpZiAoKQogCi1pZiAoRU5BQkxFX0xFR0FD
WV9FTkNSWVBURURfTUVESUEgT1IgRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkKK2lmIChFTkFCTEVf
RU5DUllQVEVEX01FRElBKQogICAgIGxpc3QoQVBQRU5EIFdlYkNvcmVfSU5DTFVERV9ESVJFQ1RP
UklFUwogICAgICAgICAke0xJQkdDUllQVF9JTkNMVURFX0RJUlN9CiAgICAgKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dTdHJlYW1lclV0
aWxpdGllcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
R1N0cmVhbWVyVXRpbGl0aWVzLmNwcAppbmRleCA3NzA2NzUyNjZiZWVmMTE2NmY3YzhkMDMxODMy
ZjkxZmFjMzFhMmZjLi42MTVkYzI5MmFkNjZmMzZkYzUzMWMyMzNjZmIxN2UyMjdjYWQwZGMwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvR1N0
cmVhbWVyVXRpbGl0aWVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvR1N0cmVhbWVyVXRpbGl0aWVzLmNwcApAQCAtMTk3LDcgKzE5Nyw3IEBAIGJv
b2wgZ3N0UmVnaXN0cnlIYXNFbGVtZW50Rm9yTWVkaWFUeXBlKEdMaXN0KiBlbGVtZW50RmFjdG9y
aWVzLCBjb25zdCBjaGFyKiBjYXBzCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotI2lmIEdTVF9D
SEVDS19WRVJTSU9OKDEsIDUsIDMpICYmIChFTkFCTEUoTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkg
fHwgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkpCisjaWYgR1NUX0NIRUNLX1ZFUlNJT04oMSwgNSwg
MykgJiYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKIEdzdEVsZW1lbnQqIGNyZWF0ZUdzdERlY3J5
cHRvcihjb25zdCBnY2hhciogcHJvdGVjdGlvblN5c3RlbSkKIHsKICAgICBHc3RFbGVtZW50KiBk
ZWNyeXB0b3IgPSBudWxscHRyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL0dTdHJlYW1lclV0aWxpdGllcy5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dTdHJlYW1lclV0aWxpdGllcy5oCmluZGV4IGY3
OWE4Y2Y2ZjNhYzQ2NWI1OGFjZDFmNmEwZGY1NGVjYWM5NDE2MjguLmJmZjhkZDI5NTNlY2ViMjhm
YTA4NTM5MDY2NWY2NmEzMWViMTNkMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dzdHJlYW1lci9HU3RyZWFtZXJVdGlsaXRpZXMuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvR1N0cmVhbWVyVXRpbGl0aWVzLmgK
QEAgLTY1LDcgKzY1LDcgQEAgdW5zaWduZWQgZ2V0R3N0UGxheUZsYWcoY29uc3QgY2hhciogbmlj
ayk7CiBHc3RDbG9ja1RpbWUgdG9Hc3RDbG9ja1RpbWUoZmxvYXQgdGltZSk7CiBib29sIGdzdFJl
Z2lzdHJ5SGFzRWxlbWVudEZvck1lZGlhVHlwZShHTGlzdCogZWxlbWVudEZhY3RvcmllcywgY29u
c3QgY2hhciogY2Fwc1N0cmluZyk7CiAKLSNpZiBHU1RfQ0hFQ0tfVkVSU0lPTigxLCA1LCAzKSAm
JiAoRU5BQkxFKExFR0FDWV9FTkNSWVBURURfTUVESUEpIHx8IEVOQUJMRShFTkNSWVBURURfTUVE
SUEpKQorI2lmIEdTVF9DSEVDS19WRVJTSU9OKDEsIDUsIDMpICYmIEVOQUJMRShFTkNSWVBURURf
TUVESUEpCiBHc3RFbGVtZW50KiBjcmVhdGVHc3REZWNyeXB0b3IoY29uc3QgZ2NoYXIqIHByb3Rl
Y3Rpb25TeXN0ZW0pOwogI2VuZGlmCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXIuY3BwCmluZGV4IDliMTc2MjA0NTg3YWVlMGMwNGY0ZDE2NGQ4ZDg1MDRk
OGFmMzIzYjEuLmJiZjAyMDA3NTAyZmUzN2EwNWNmODAwZjY2ZmIwNzczNmFiMjI2YmQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCkBAIC0xMDMw
LDE0ICsxMDMwLDYgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmhhbmRsZU1l
c3NhZ2UoR3N0TWVzc2FnZSogbWVzc2FnZSkKICAgICAgICAgICAgICAgICBtX3BsYXllci0+Y2xp
ZW50KCkucmVxdWVzdEluc3RhbGxNaXNzaW5nUGx1Z2lucyhTdHJpbmc6OmZyb21VVEY4KGRldGFp
bC5nZXQoKSksIFN0cmluZzo6ZnJvbVVURjgoZGVzY3JpcHRpb24uZ2V0KCkpLCAqbV9taXNzaW5n
UGx1Z2luc0NhbGxiYWNrKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQotI2lmIEVOQUJMRShM
RUdBQ1lfRU5DUllQVEVEX01FRElBKQotICAgICAgICBlbHNlIGlmIChnc3Rfc3RydWN0dXJlX2hh
c19uYW1lKHN0cnVjdHVyZSwgImRybS1rZXktbmVlZGVkIikpIHsKLSAgICAgICAgICAgIEdTVF9E
RUJVRygiZHJtLWtleS1uZWVkZWQgbWVzc2FnZSBmcm9tICVzIiwgR1NUX01FU1NBR0VfU1JDX05B
TUUobWVzc2FnZSkpOwotICAgICAgICAgICAgR1JlZlB0cjxHc3RFdmVudD4gZXZlbnQ7Ci0gICAg
ICAgICAgICBnc3Rfc3RydWN0dXJlX2dldChzdHJ1Y3R1cmUsICJldmVudCIsIEdTVF9UWVBFX0VW
RU5ULCAmZXZlbnQub3V0UHRyKCksIG51bGxwdHIpOwotICAgICAgICAgICAgaGFuZGxlUHJvdGVj
dGlvbkV2ZW50KGV2ZW50LmdldCgpKTsKLSAgICAgICAgfQotI2VuZGlmCiAjaWYgRU5BQkxFKFZJ
REVPX1RSQUNLKSAmJiBVU0UoR1NUUkVBTUVSX01QRUdUUykKICAgICAgICAgZWxzZSB7CiAgICAg
ICAgICAgICBHc3RNcGVndHNTZWN0aW9uKiBzZWN0aW9uID0gZ3N0X21lc3NhZ2VfcGFyc2VfbXBl
Z3RzX3NlY3Rpb24obWVzc2FnZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyQmFzZS5jcHAKaW5kZXggZDU2MTUyYTkzMDVmYTExNmFlNTc3Mjk0YWY5
YzFjMmE0MmIxYjNlNy4uZjM5M2NlY2FhNGUxZGZlYTE0OGZhYmI5YTYzOTJhZmY3OTUwMjkzMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01l
ZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNl
LmNwcApAQCAtOTMsMTQgKzkzLDkgQEAKICNlbmRpZgogI2VuZGlmIC8vIFVTRShURVhUVVJFX01B
UFBFUl9HTCkKIAotI2lmIEVOQUJMRShMRUdBQ1lfRU5DUllQVEVEX01FRElBKSB8fCBFTkFCTEUo
RU5DUllQVEVEX01FRElBKQorI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCiAjaW5jbHVkZSAi
U2hhcmVkQnVmZmVyLmgiCiAjaW5jbHVkZSAiV2ViS2l0Q2xlYXJLZXlEZWNyeXB0b3JHU3RyZWFt
ZXIuaCIKLSNpZiBFTkFCTEUoTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkKLSNpbmNsdWRlIDxydW50
aW1lL0pTQ0lubGluZXMuaD4KLSNpbmNsdWRlIDxydW50aW1lL1R5cGVkQXJyYXlJbmxpbmVzLmg+
Ci0jaW5jbHVkZSA8cnVudGltZS9VaW50OEFycmF5Lmg+Ci0jZW5kaWYKICNlbmRpZgogCiBHU1Rf
REVCVUdfQ0FURUdPUlkod2Via2l0X21lZGlhX3BsYXllcl9kZWJ1Zyk7CkBAIC0xMTAsMTMgKzEw
NSw5IEBAIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotI2lm
IEVOQUJMRShMRUdBQ1lfRU5DUllQVEVEX01FRElBKQotc3RhdGljIEF0b21pY1N0cmluZyBrZXlT
eXN0ZW1JZFRvVXVpZChjb25zdCBBdG9taWNTdHJpbmcmKTsKLSNlbmRpZgotCiB2b2lkIHJlZ2lz
dGVyV2ViS2l0R1N0cmVhbWVyRWxlbWVudHMoKQogewotI2lmIEVOQUJMRShMRUdBQ1lfRU5DUllQ
VEVEX01FRElBKSB8fCBFTkFCTEUoRU5DUllQVEVEX01FRElBKQorI2lmIEVOQUJMRShFTkNSWVBU
RURfTUVESUEpCiAgICAgaWYgKCF3ZWJraXRHc3RDaGVja1ZlcnNpb24oMSwgNiwgMSkpCiAgICAg
ICAgIHJldHVybjsKIApAQCAtMjMwLDkgKzIyMSw2IEBAIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJl
YW1lckJhc2U6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UoTWVkaWFQbGF5ZXIqIHBs
CiAKIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6On5NZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXJCYXNlKCkKIHsKLSNpZiBFTkFCTEUoTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkKLSAg
ICBtX3Byb3RlY3Rpb25Db25kaXRpb24ubm90aWZ5T25lKCk7Ci0jZW5kaWYKICAgICBtX25vdGlm
aWVyLmNhbmNlbFBlbmRpbmdOb3RpZmljYXRpb25zKCk7CiAKICAgICBjYW5jZWxSZXBhaW50KCk7
CkBAIC0yNTQsMTAgKzI0Miw2IEBAIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6On5N
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlKCkKICAgICBpZiAobV92b2x1bWVFbGVtZW50
KQogICAgICAgICBnX3NpZ25hbF9oYW5kbGVyc19kaXNjb25uZWN0X21hdGNoZWQobV92b2x1bWVF
bGVtZW50LmdldCgpLCBHX1NJR05BTF9NQVRDSF9EQVRBLCAwLCAwLCBudWxscHRyLCBudWxscHRy
LCB0aGlzKTsKIAotI2lmIEVOQUJMRShMRUdBQ1lfRU5DUllQVEVEX01FRElBKQotICAgIG1fY2Rt
U2Vzc2lvbiA9IG51bGxwdHI7Ci0jZW5kaWYKLQogICAgIGlmIChtX3BpcGVsaW5lKQogICAgICAg
ICBnc3RfZWxlbWVudF9zZXRfc3RhdGUobV9waXBlbGluZS5nZXQoKSwgR1NUX1NUQVRFX05VTEwp
OwogfQpAQCAtMjY3LDMxICsyNTEsNiBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
ckJhc2U6OnNldFBpcGVsaW5lKEdzdEVsZW1lbnQqIHBpcGVsaW5lKQogICAgIG1fcGlwZWxpbmUg
PSBwaXBlbGluZTsKIH0KIAotI2lmIEVOQUJMRShMRUdBQ1lfRU5DUllQVEVEX01FRElBKQotc3Rh
dGljIHN0ZDo6cGFpcjxWZWN0b3I8R1JlZlB0cjxHc3RFdmVudD4+LCBWZWN0b3I8U3RyaW5nPj4g
ZXh0cmFjdEV2ZW50c0FuZFN5c3RlbXNGcm9tTWVzc2FnZShHc3RNZXNzYWdlKiBtZXNzYWdlKQot
ewotICAgIGNvbnN0IEdzdFN0cnVjdHVyZSogc3RydWN0dXJlID0gZ3N0X21lc3NhZ2VfZ2V0X3N0
cnVjdHVyZShtZXNzYWdlKTsKLQotICAgIGNvbnN0IEdWYWx1ZSogc3RyZWFtRW5jcnlwdGlvbkFs
bG93ZWRTeXN0ZW1zVmFsdWUgPSBnc3Rfc3RydWN0dXJlX2dldF92YWx1ZShzdHJ1Y3R1cmUsICJz
dHJlYW0tZW5jcnlwdGlvbi1zeXN0ZW1zIik7Ci0gICAgQVNTRVJUKHN0cmVhbUVuY3J5cHRpb25B
bGxvd2VkU3lzdGVtc1ZhbHVlICYmIEdfVkFMVUVfSE9MRFMoc3RyZWFtRW5jcnlwdGlvbkFsbG93
ZWRTeXN0ZW1zVmFsdWUsIEdfVFlQRV9TVFJWKSk7Ci0gICAgY29uc3QgY2hhcioqIHN0cmVhbUVu
Y3J5cHRpb25BbGxvd2VkU3lzdGVtcyA9IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhcioqPihn
X3ZhbHVlX2dldF9ib3hlZChzdHJlYW1FbmNyeXB0aW9uQWxsb3dlZFN5c3RlbXNWYWx1ZSkpOwot
ICAgIEFTU0VSVChzdHJlYW1FbmNyeXB0aW9uQWxsb3dlZFN5c3RlbXMpOwotICAgIFZlY3RvcjxT
dHJpbmc+IHN0cmVhbUVuY3J5cHRpb25BbGxvd2VkU3lzdGVtc1ZlY3RvcjsKLSAgICB1bnNpZ25l
ZCBpOwotICAgIGZvciAoaSA9IDA7IHN0cmVhbUVuY3J5cHRpb25BbGxvd2VkU3lzdGVtc1tpXTsg
KytpKQotICAgICAgICBzdHJlYW1FbmNyeXB0aW9uQWxsb3dlZFN5c3RlbXNWZWN0b3IuYXBwZW5k
KHN0cmVhbUVuY3J5cHRpb25BbGxvd2VkU3lzdGVtc1tpXSk7Ci0KLSAgICBjb25zdCBHVmFsdWUq
IHN0cmVhbUVuY3J5cHRpb25FdmVudHNMaXN0ID0gZ3N0X3N0cnVjdHVyZV9nZXRfdmFsdWUoc3Ry
dWN0dXJlLCAic3RyZWFtLWVuY3J5cHRpb24tZXZlbnRzIik7Ci0gICAgQVNTRVJUKHN0cmVhbUVu
Y3J5cHRpb25FdmVudHNMaXN0ICYmIEdTVF9WQUxVRV9IT0xEU19MSVNUKHN0cmVhbUVuY3J5cHRp
b25FdmVudHNMaXN0KSk7Ci0gICAgdW5zaWduZWQgc3RyZWFtRW5jcnlwdGlvbkV2ZW50c0xpc3RT
aXplID0gZ3N0X3ZhbHVlX2xpc3RfZ2V0X3NpemUoc3RyZWFtRW5jcnlwdGlvbkV2ZW50c0xpc3Qp
OwotICAgIFZlY3RvcjxHUmVmUHRyPEdzdEV2ZW50Pj4gc3RyZWFtRW5jcnlwdGlvbkV2ZW50c1Zl
Y3RvcjsKLSAgICBmb3IgKGkgPSAwOyBpIDwgc3RyZWFtRW5jcnlwdGlvbkV2ZW50c0xpc3RTaXpl
OyArK2kpCi0gICAgICAgIHN0cmVhbUVuY3J5cHRpb25FdmVudHNWZWN0b3IuYXBwZW5kKEdSZWZQ
dHI8R3N0RXZlbnQ+KHN0YXRpY19jYXN0PEdzdEV2ZW50Kj4oZ192YWx1ZV9nZXRfYm94ZWQoZ3N0
X3ZhbHVlX2xpc3RfZ2V0X3ZhbHVlKHN0cmVhbUVuY3J5cHRpb25FdmVudHNMaXN0LCBpKSkpKSk7
Ci0KLSAgICByZXR1cm4gc3RkOjptYWtlX3BhaXIoc3RyZWFtRW5jcnlwdGlvbkV2ZW50c1ZlY3Rv
ciwgc3RyZWFtRW5jcnlwdGlvbkFsbG93ZWRTeXN0ZW1zVmVjdG9yKTsKLX0KLSNlbmRpZgotCiBi
b29sIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OmhhbmRsZVN5bmNNZXNzYWdlKEdz
dE1lc3NhZ2UqIG1lc3NhZ2UpCiB7CiAgICAgVU5VU0VEX1BBUkFNKG1lc3NhZ2UpOwpAQCAtMzA5
LDg0ICsyNjgsNiBAQCBib29sIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OmhhbmRs
ZVN5bmNNZXNzYWdlKEdzdE1lc3NhZ2UqIG1lc3NhZ2UpCiAgICAgfQogI2VuZGlmIC8vIFVTRShH
U1RSRUFNRVJfR0wpCiAKLSNpZiBFTkFCTEUoTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkKLSAgICBp
ZiAoIWdfc3RyY21wMChjb250ZXh0VHlwZSwgImRybS1wcmVmZXJyZWQtZGVjcnlwdGlvbi1zeXN0
ZW0taWQiKSkgewotICAgICAgICBpZiAoaXNNYWluVGhyZWFkKCkpIHsKLSAgICAgICAgICAgIEdT
VF9FUlJPUigiY2FuJ3QgaGFuZGxlIGRybS1wcmVmZXJyZWQtZGVjcnlwdGlvbi1zeXN0ZW0taWQg
bmVlZCBjb250ZXh0IG1lc3NhZ2UgaW4gdGhlIG1haW4gdGhyZWFkIik7Ci0gICAgICAgICAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAg
fQotICAgICAgICBHU1RfREVCVUcoImhhbmRsaW5nIGRybS1wcmVmZXJyZWQtZGVjcnlwdGlvbi1z
eXN0ZW0taWQgbmVlZCBjb250ZXh0IG1lc3NhZ2UiKTsKLSAgICAgICAgc3RkOjpwYWlyPFZlY3Rv
cjxHUmVmUHRyPEdzdEV2ZW50Pj4sIFZlY3RvcjxTdHJpbmc+PiBzdHJlYW1FbmNyeXB0aW9uSW5m
b3JtYXRpb24gPSBleHRyYWN0RXZlbnRzQW5kU3lzdGVtc0Zyb21NZXNzYWdlKG1lc3NhZ2UpOwot
ICAgICAgICBHU1RfVFJBQ0UoImZvdW5kICUiIEdfR1NJWkVfRk9STUFUICIgcHJvdGVjdGlvbiBl
dmVudHMiLCBzdHJlYW1FbmNyeXB0aW9uSW5mb3JtYXRpb24uZmlyc3Quc2l6ZSgpKTsKLSAgICAg
ICAgVmVjdG9yPHVpbnQ4X3Q+IGNvbmNhdGVuYXRlZEluaXREYXRhQ2h1bmtzOwotICAgICAgICB1
bnNpZ25lZCBjb25jYXRlbmF0ZWRJbml0RGF0YUNodW5rc051bWJlciA9IDA7Ci0gICAgICAgIFN0
cmluZyBldmVudEtleVN5c3RlbUlkU3RyaW5nOwotICAgICAgICBmb3IgKGF1dG8mIGV2ZW50IDog
c3RyZWFtRW5jcnlwdGlvbkluZm9ybWF0aW9uLmZpcnN0KSB7Ci0gICAgICAgICAgICBHU1RfVFJB
Q0UoImhhbmRsaW5nIHByb3RlY3Rpb24gZXZlbnQgJXUiLCBHU1RfRVZFTlRfU0VRTlVNKGV2ZW50
LmdldCgpKSk7Ci0gICAgICAgICAgICBjb25zdCBjaGFyKiBldmVudEtleVN5c3RlbUlkID0gbnVs
bHB0cjsKLSAgICAgICAgICAgIEdzdEJ1ZmZlciogZGF0YSA9IG51bGxwdHI7Ci0gICAgICAgICAg
ICBnc3RfZXZlbnRfcGFyc2VfcHJvdGVjdGlvbihldmVudC5nZXQoKSwgJmV2ZW50S2V5U3lzdGVt
SWQsICZkYXRhLCBudWxscHRyKTsKLQotICAgICAgICAgICAgLy8gSGVyZSB3ZSByZWNlaXZlIHRo
ZSBEUk0gaW5pdCBkYXRhIGZyb20gdGhlIHBpcGVsaW5lOiB3ZSB3aWxsIGVtaXQKLSAgICAgICAg
ICAgIC8vIHRoZSBuZWVka2V5IGV2ZW50IHdpdGggdGhhdCBkYXRhIGFuZCB0aGUgYnJvd3NlciBt
aWdodCBjcmVhdGUgYQotICAgICAgICAgICAgLy8gQ0RNU2Vzc2lvbiBmcm9tIHRoaXMgZXZlbnQg
aGFuZGxlci4gSWYgc3VjaCBhIHNlc3Npb24gd2FzIGNyZWF0ZWQKLSAgICAgICAgICAgIC8vIFdl
IHdpbGwgZW1pdCB0aGUgbWVzc2FnZSBldmVudCBmcm9tIHRoZSBzZXNzaW9uIHRvIHByb3ZpZGUg
dGhlCi0gICAgICAgICAgICAvLyBEUk0gY2hhbGxlbmdlIHRvIHRoZSBicm93c2VyIGFuZCB3YWl0
IGZvciBhbiB1cGRhdGUuIElmIG9uIHRoZQotICAgICAgICAgICAgLy8gY29udHJhcnkgbm8gc2Vz
c2lvbiB3YXMgY3JlYXRlZCB3ZSB3b24ndCB3YWl0IGFuZCBsZXQgdGhlIHBpcGVsaW5lCi0gICAg
ICAgICAgICAvLyBlcnJvciBvdXQgYnkgaXRzZWxmLgotICAgICAgICAgICAgR3N0TWFwSW5mbyBt
YXBJbmZvOwotICAgICAgICAgICAgaWYgKCFnc3RfYnVmZmVyX21hcChkYXRhLCAmbWFwSW5mbywg
R1NUX01BUF9SRUFEKSkgewotICAgICAgICAgICAgICAgIEdTVF9XQVJOSU5HKCJjYW5ub3QgbWFw
ICVzIHByb3RlY3Rpb24gZGF0YSIsIGV2ZW50S2V5U3lzdGVtSWQpOwotICAgICAgICAgICAgICAg
IGJyZWFrOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBHU1RfVFJBQ0UoImFwcGVuZGlu
ZyBpbml0IGRhdGEgZm9yICVzIG9mIHNpemUgJSIgR19HU0laRV9GT1JNQVQsIGV2ZW50S2V5U3lz
dGVtSWQsIG1hcEluZm8uc2l6ZSk7Ci0gICAgICAgICAgICBHU1RfTUVNRFVNUCgiaW5pdCBkYXRh
IiwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCB1bnNpZ25lZCBjaGFyICo+KG1hcEluZm8uZGF0YSks
IG1hcEluZm8uc2l6ZSk7Ci0gICAgICAgICAgICBjb25jYXRlbmF0ZWRJbml0RGF0YUNodW5rcy5h
cHBlbmQobWFwSW5mby5kYXRhLCBtYXBJbmZvLnNpemUpOwotICAgICAgICAgICAgKytjb25jYXRl
bmF0ZWRJbml0RGF0YUNodW5rc051bWJlcjsKLSAgICAgICAgICAgIGV2ZW50S2V5U3lzdGVtSWRT
dHJpbmcgPSBldmVudEtleVN5c3RlbUlkOwotICAgICAgICAgICAgaWYgKHN0cmVhbUVuY3J5cHRp
b25JbmZvcm1hdGlvbi5zZWNvbmQuY29udGFpbnMoZXZlbnRLZXlTeXN0ZW1JZCkpIHsKLSAgICAg
ICAgICAgICAgICBHU1RfVFJBQ0UoImNvbnNpZGVyaW5nIGluaXQgZGF0YSBoYW5kbGVkIGZvciAl
cyIsIGV2ZW50S2V5U3lzdGVtSWQpOwotICAgICAgICAgICAgICAgIG1faGFuZGxlZFByb3RlY3Rp
b25FdmVudHMuYWRkKEdTVF9FVkVOVF9TRVFOVU0oZXZlbnQuZ2V0KCkpKTsKLSAgICAgICAgICAg
IH0KLSAgICAgICAgICAgIGdzdF9idWZmZXJfdW5tYXAoZGF0YSwgJm1hcEluZm8pOwotICAgICAg
ICB9Ci0KLSAgICAgICAgaWYgKCFjb25jYXRlbmF0ZWRJbml0RGF0YUNodW5rc051bWJlcikKLSAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgICAgICBpZiAoY29uY2F0ZW5hdGVkSW5pdERh
dGFDaHVua3NOdW1iZXIgPiAxKQotICAgICAgICAgICAgZXZlbnRLZXlTeXN0ZW1JZFN0cmluZyA9
IGVtcHR5U3RyaW5nKCk7Ci0KLSAgICAgICAgUnVuTG9vcDo6bWFpbigpLmRpc3BhdGNoKFt0aGlz
LCBldmVudEtleVN5c3RlbUlkU3RyaW5nLCBpbml0RGF0YSA9IFdURk1vdmUoY29uY2F0ZW5hdGVk
SW5pdERhdGFDaHVua3MpXSB7Ci0gICAgICAgICAgICBHU1RfREVCVUcoInNjaGVkdWxpbmcga2V5
TmVlZGVkIGV2ZW50IGZvciAlcyB3aXRoIGNvbmNhdGVuYXRlZCBpbml0IGRhdGFzIHNpemUgb2Yg
JSIgR19HU0laRV9GT1JNQVQsIGV2ZW50S2V5U3lzdGVtSWRTdHJpbmcudXRmOCgpLmRhdGEoKSwg
aW5pdERhdGEuc2l6ZSgpKTsKLSAgICAgICAgICAgIEdTVF9NRU1EVU1QKCJpbml0IGRhdGFzIiwg
aW5pdERhdGEuZGF0YSgpLCBpbml0RGF0YS5zaXplKCkpOwotCi0gICAgICAgICAgICAvLyBGSVhN
RTogUHJvdmlkZSBhIHNvbWVob3cgdmFsaWQgc2Vzc2lvbklkLgotICAgICAgICAgICAgUmVmUHRy
PFVpbnQ4QXJyYXk+IGluaXREYXRhQXJyYXkgPSBVaW50OEFycmF5OjpjcmVhdGUoaW5pdERhdGEu
ZGF0YSgpLCBpbml0RGF0YS5zaXplKCkpOwotICAgICAgICAgICAgbmVlZEtleShpbml0RGF0YUFy
cmF5KTsKLSAgICAgICAgfSk7Ci0KLSAgICAgICAgR1NUX0lORk8oIndhaXRpbmcgZm9yIGEga2V5
IHJlcXVlc3QgdG8gYXJyaXZlIik7Ci0gICAgICAgIExvY2tIb2xkZXIgbG9jayhtX3Byb3RlY3Rp
b25NdXRleCk7Ci0gICAgICAgIG1fcHJvdGVjdGlvbkNvbmRpdGlvbi53YWl0Rm9yKG1fcHJvdGVj
dGlvbk11dGV4LCBTZWNvbmRzKDQpLCBbdGhpc10gewotICAgICAgICAgICAgcmV0dXJuICF0aGlz
LT5tX2xhc3RHZW5lcmF0ZUtleVJlcXVlc3RLZXlTeXN0ZW1VdWlkLmlzRW1wdHkoKTsKLSAgICAg
ICAgfSk7Ci0gICAgICAgIGlmICghbV9sYXN0R2VuZXJhdGVLZXlSZXF1ZXN0S2V5U3lzdGVtVXVp
ZC5pc0VtcHR5KCkpIHsKLSAgICAgICAgICAgIEdTVF9JTkZPKCJnb3QgYSBrZXkgcmVxdWVzdCwg
Y29udGludWluZyB3aXRoICVzIG9uICVzIiwgbV9sYXN0R2VuZXJhdGVLZXlSZXF1ZXN0S2V5U3lz
dGVtVXVpZC51dGY4KCkuZGF0YSgpLCBHU1RfTUVTU0FHRV9TUkNfTkFNRShtZXNzYWdlKSk7Ci0K
LSAgICAgICAgICAgIEdSZWZQdHI8R3N0Q29udGV4dD4gY29udGV4dCA9IGFkb3B0R1JlZihnc3Rf
Y29udGV4dF9uZXcoImRybS1wcmVmZXJyZWQtZGVjcnlwdGlvbi1zeXN0ZW0taWQiLCBGQUxTRSkp
OwotICAgICAgICAgICAgR3N0U3RydWN0dXJlKiBjb250ZXh0U3RydWN0dXJlID0gZ3N0X2NvbnRl
eHRfd3JpdGFibGVfc3RydWN0dXJlKGNvbnRleHQuZ2V0KCkpOwotICAgICAgICAgICAgZ3N0X3N0
cnVjdHVyZV9zZXQoY29udGV4dFN0cnVjdHVyZSwgImRlY3J5cHRpb24tc3lzdGVtLWlkIiwgR19U
WVBFX1NUUklORywgbV9sYXN0R2VuZXJhdGVLZXlSZXF1ZXN0S2V5U3lzdGVtVXVpZC51dGY4KCku
ZGF0YSgpLCBudWxscHRyKTsKLSAgICAgICAgICAgIGdzdF9lbGVtZW50X3NldF9jb250ZXh0KEdT
VF9FTEVNRU5UKEdTVF9NRVNTQUdFX1NSQyhtZXNzYWdlKSksIGNvbnRleHQuZ2V0KCkpOwotICAg
ICAgICB9IGVsc2UKLSAgICAgICAgICAgIEdTVF9XQVJOSU5HKCJkaWQgbm90IGdldCBhIHByb3Bl
ciBrZXkgcmVxdWVzdCIpOwotCi0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLSNlbmRpZiAv
LyBFTkFCTEUoTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkKLQogICAgIHJldHVybiBmYWxzZTsKIH0K
IApAQCAtMTEyMCw3NiArMTAwMSw2IEBAIHVuc2lnbmVkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJl
YW1lckJhc2U6OnZpZGVvRGVjb2RlZEJ5dGVDb3VudCgpIGNvbnN0CiAgICAgcmV0dXJuIHN0YXRp
Y19jYXN0PHVuc2lnbmVkPihwb3NpdGlvbik7CiB9CiAKLSNpZiBFTkFCTEUoTEVHQUNZX0VOQ1JZ
UFRFRF9NRURJQSkKLXZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6bmVlZEtl
eShSZWZQdHI8VWludDhBcnJheT4gaW5pdERhdGEpCi17Ci0gICAgaWYgKCFtX3BsYXllci0+a2V5
TmVlZGVkKGluaXREYXRhLmdldCgpKSkKLSAgICAgICAgR1NUX0lORk8oIm5vIGV2ZW50IGhhbmRs
ZXIgZm9yIGtleSBuZWVkZWQiKTsKLX0KLQotdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXJCYXNlOjpzZXRDRE1TZXNzaW9uKENETVNlc3Npb24qIHNlc3Npb24pCi17Ci0gICAgR1NUX0RF
QlVHKCJzZXR0aW5nIENETSBzZXNzaW9uIHRvICVwIiwgc2Vzc2lvbik7Ci0gICAgbV9jZG1TZXNz
aW9uID0gc2Vzc2lvbjsKLX0KLQotdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNl
OjprZXlBZGRlZCgpCi17Ci19Ci0KLXZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFz
ZTo6aGFuZGxlUHJvdGVjdGlvbkV2ZW50KEdzdEV2ZW50KiBldmVudCkKLXsKLSAgICBpZiAobV9o
YW5kbGVkUHJvdGVjdGlvbkV2ZW50cy5jb250YWlucyhHU1RfRVZFTlRfU0VRTlVNKGV2ZW50KSkp
IHsKLSAgICAgICAgR1NUX0RFQlVHKCJldmVudCAldSBhbHJlYWR5IGhhbmRsZWQiLCBHU1RfRVZF
TlRfU0VRTlVNKGV2ZW50KSk7Ci0gICAgICAgIG1faGFuZGxlZFByb3RlY3Rpb25FdmVudHMucmVt
b3ZlKEdTVF9FVkVOVF9TRVFOVU0oZXZlbnQpKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQot
ICAgIGNvbnN0IGdjaGFyKiBldmVudEtleVN5c3RlbUlkID0gbnVsbHB0cjsKLSAgICBHc3RCdWZm
ZXIqIGRhdGEgPSBudWxscHRyOwotICAgIGdzdF9ldmVudF9wYXJzZV9wcm90ZWN0aW9uKGV2ZW50
LCAmZXZlbnRLZXlTeXN0ZW1JZCwgJmRhdGEsIG51bGxwdHIpOwotCi0gICAgR3N0TWFwSW5mbyBt
YXBJbmZvOwotICAgIGlmICghZ3N0X2J1ZmZlcl9tYXAoZGF0YSwgJm1hcEluZm8sIEdTVF9NQVBf
UkVBRCkpIHsKLSAgICAgICAgR1NUX1dBUk5JTkcoImNhbm5vdCBtYXAgJXMgcHJvdGVjdGlvbiBk
YXRhIiwgZXZlbnRLZXlTeXN0ZW1JZCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBH
U1RfREVCVUcoInNjaGVkdWxpbmcga2V5TmVlZGVkIGV2ZW50IGZvciAlcyB3aXRoIGluaXQgZGF0
YSBzaXplIG9mICUiIEdfR1NJWkVfRk9STUFULCBldmVudEtleVN5c3RlbUlkLCBtYXBJbmZvLnNp
emUpOwotICAgIEdTVF9NRU1EVU1QKCJpbml0IGRhdGFzIiwgbWFwSW5mby5kYXRhLCBtYXBJbmZv
LnNpemUpOwotICAgIFJlZlB0cjxVaW50OEFycmF5PiBpbml0RGF0YUFycmF5ID0gVWludDhBcnJh
eTo6Y3JlYXRlKG1hcEluZm8uZGF0YSwgbWFwSW5mby5zaXplKTsKLSAgICBuZWVkS2V5KGluaXRE
YXRhQXJyYXkpOwotICAgIGdzdF9idWZmZXJfdW5tYXAoZGF0YSwgJm1hcEluZm8pOwotfQotCi12
b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OnJlY2VpdmVkR2VuZXJhdGVLZXlS
ZXF1ZXN0KGNvbnN0IFN0cmluZyYga2V5U3lzdGVtKQotewotICAgIEdTVF9ERUJVRygicmVjZWl2
ZWQgZ2VuZXJhdGUga2V5IHJlcXVlc3QgZm9yICVzIiwga2V5U3lzdGVtLnV0ZjgoKS5kYXRhKCkp
OwotICAgIG1fbGFzdEdlbmVyYXRlS2V5UmVxdWVzdEtleVN5c3RlbVV1aWQgPSBrZXlTeXN0ZW1J
ZFRvVXVpZChrZXlTeXN0ZW0pOwotICAgIG1fcHJvdGVjdGlvbkNvbmRpdGlvbi5ub3RpZnlPbmUo
KTsKLX0KLQotc3RhdGljIEF0b21pY1N0cmluZyBrZXlTeXN0ZW1JZFRvVXVpZChjb25zdCBBdG9t
aWNTdHJpbmcmIGlkKQotewotICAgIGlmIChlcXVhbElnbm9yaW5nQVNDSUlDYXNlKGlkLCBDTEVB
Ul9LRVlfUFJPVEVDVElPTl9TWVNURU1fSUQpKQotICAgICAgICByZXR1cm4gQXRvbWljU3RyaW5n
KENMRUFSX0tFWV9QUk9URUNUSU9OX1NZU1RFTV9VVUlEKTsKLQotICAgIHJldHVybiB7IH07Ci19
Ci0KLXN0ZDo6dW5pcXVlX3B0cjxDRE1TZXNzaW9uPiBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXJCYXNlOjpjcmVhdGVTZXNzaW9uKGNvbnN0IFN0cmluZyYga2V5U3lzdGVtLCBDRE1TZXNzaW9u
Q2xpZW50KikKLXsKLSAgICBHU1RfSU5GTygiUmVxdWVzdGVkIENETVNlc3Npb24gZm9yIEtleVN5
c3RlbSAlczogUmV0dXJuaW5nIG51bGwuIiwga2V5U3lzdGVtLnV0ZjgoKS5kYXRhKCkpOwotICAg
IHJldHVybiBudWxscHRyOwotfQotCi12b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJh
c2U6OmRpc3BhdGNoRGVjcnlwdGlvbktleShHc3RCdWZmZXIqIGJ1ZmZlcikKLXsKLSAgICBnc3Rf
ZWxlbWVudF9zZW5kX2V2ZW50KG1fcGlwZWxpbmUuZ2V0KCksIGdzdF9ldmVudF9uZXdfY3VzdG9t
KEdTVF9FVkVOVF9DVVNUT01fRE9XTlNUUkVBTV9PT0IsCi0gICAgICAgIGdzdF9zdHJ1Y3R1cmVf
bmV3KCJkcm0tY2lwaGVyIiwgImtleSIsIEdTVF9UWVBFX0JVRkZFUiwgYnVmZmVyLCBudWxscHRy
KSkpOwotfQotI2VuZGlmCi0KIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6
c3VwcG9ydHNLZXlTeXN0ZW0oY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0sIGNvbnN0IFN0cmluZyYg
bWltZVR5cGUpCiB7CiAgICAgR1NUX0lORk8oIkNoZWNraW5nIGZvciBLZXlTeXN0ZW0gc3VwcG9y
dCB3aXRoICVzIGFuZCB0eXBlICVzOiBmYWxzZS4iLCBrZXlTeXN0ZW0udXRmOCgpLmRhdGEoKSwg
bWltZVR5cGUudXRmOCgpLmRhdGEoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lckJhc2UuaAppbmRleCAwMTI3NjRiZGQ2YWJmYzllZWM1OTc0NmM1YjNi
MDdlY2E4NzE2ZmRkLi5kNzZlYzZkNzcxOGRjNjUyNzMyNGY0NjJhY2E0NzAyMGY0NTlmNDE0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmgK
QEAgLTExNywxNSArMTE3LDYgQEAgcHVibGljOgogI2VuZGlmCiAjZW5kaWYKIAotI2lmIEVOQUJM
RShMRUdBQ1lfRU5DUllQVEVEX01FRElBKQotICAgIHZvaWQgbmVlZEtleShSZWZQdHI8VWludDhB
cnJheT4pOwotICAgIHZvaWQgc2V0Q0RNU2Vzc2lvbihDRE1TZXNzaW9uKikgb3ZlcnJpZGU7Ci0g
ICAgdm9pZCBrZXlBZGRlZCgpIG92ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaERl
Y3J5cHRpb25LZXkoR3N0QnVmZmVyKik7Ci0gICAgdm9pZCBoYW5kbGVQcm90ZWN0aW9uRXZlbnQo
R3N0RXZlbnQqKTsKLSAgICB2b2lkIHJlY2VpdmVkR2VuZXJhdGVLZXlSZXF1ZXN0KGNvbnN0IFN0
cmluZyYpOwotI2VuZGlmCi0KICAgICBzdGF0aWMgYm9vbCBzdXBwb3J0c0tleVN5c3RlbShjb25z
dCBTdHJpbmcmIGtleVN5c3RlbSwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSk7CiAgICAgc3RhdGlj
IE1lZGlhUGxheWVyOjpTdXBwb3J0c1R5cGUgZXh0ZW5kZWRTdXBwb3J0c1R5cGUoY29uc3QgTWVk
aWFFbmdpbmVTdXBwb3J0UGFyYW1ldGVycyYsIE1lZGlhUGxheWVyOjpTdXBwb3J0c1R5cGUpOwog
CkBAIC0yMjQsMTQgKzIxNSw2IEBAIHByb3RlY3RlZDoKICNlbmRpZgogCiAgICAgSW1hZ2VPcmll
bnRhdGlvbiBtX3ZpZGVvU291cmNlT3JpZW50YXRpb247Ci0jaWYgRU5BQkxFKExFR0FDWV9FTkNS
WVBURURfTUVESUEpCi0gICAgc3RkOjp1bmlxdWVfcHRyPENETVNlc3Npb24+IGNyZWF0ZVNlc3Np
b24oY29uc3QgU3RyaW5nJiwgQ0RNU2Vzc2lvbkNsaWVudCopIG92ZXJyaWRlOwotICAgIENETVNl
c3Npb24qIG1fY2RtU2Vzc2lvbiB7IG51bGxwdHIgfTsKLSAgICBMb2NrIG1fcHJvdGVjdGlvbk11
dGV4OwotICAgIENvbmRpdGlvbiBtX3Byb3RlY3Rpb25Db25kaXRpb247Ci0gICAgU3RyaW5nIG1f
bGFzdEdlbmVyYXRlS2V5UmVxdWVzdEtleVN5c3RlbVV1aWQ7Ci0gICAgSGFzaFNldDx1aW50MzJf
dD4gbV9oYW5kbGVkUHJvdGVjdGlvbkV2ZW50czsKLSNlbmRpZgogfTsKIAogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL2VtZS9XZWJLaXRD
bGVhcktleURlY3J5cHRvckdTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvZW1lL1dlYktpdENsZWFyS2V5RGVjcnlwdG9yR1N0cmVhbWVyLmNw
cAppbmRleCBkYzY5NzA4OWZlZDliOTY1NzJkNmI1NTRmNDhmNjY0ODJhY2QxYTI1Li5iZjZjNzZi
NzRlODMwOWViNGM0YjIyMjFlNThlODgyNWYzNGRkZGI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvZW1lL1dlYktpdENsZWFyS2V5RGVjcnlw
dG9yR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvZW1lL1dlYktpdENsZWFyS2V5RGVjcnlwdG9yR1N0cmVhbWVyLmNwcApAQCAtMjIs
NyArMjIsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYktpdENsZWFyS2V5
RGVjcnlwdG9yR1N0cmVhbWVyLmgiCiAKLSNpZiAoRU5BQkxFKExFR0FDWV9FTkNSWVBURURfTUVE
SUEpIHx8IEVOQUJMRShFTkNSWVBURURfTUVESUEpKSAmJiBVU0UoR1NUUkVBTUVSKQorI2lmIEVO
QUJMRShFTkNSWVBURURfTUVESUEpICYmIFVTRShHU1RSRUFNRVIpCiAKICNpbmNsdWRlICJHUmVm
UHRyR1N0cmVhbWVyLmgiCiAjaW5jbHVkZSA8Z2NyeXB0Lmg+CkBAIC0yNTcsNCArMjU3LDQgQEAg
c3RhdGljIHZvaWQgd2ViS2l0TWVkaWFDbGVhcktleURlY3J5cHRvclJlbGVhc2VDaXBoZXIoV2Vi
S2l0TWVkaWFDb21tb25FbmNyeXB0aW8KICAgICBnY3J5X2NpcGhlcl9jbG9zZShwcml2LT5oYW5k
bGUpOwogfQogCi0jZW5kaWYgLy8gKEVOQUJMRShMRUdBQ1lfRU5DUllQVEVEX01FRElBKSB8fCBF
TkFCTEUoRU5DUllQVEVEX01FRElBKSkgJiYgVVNFKEdTVFJFQU1FUikKKyNlbmRpZiAvLyBFTkFC
TEUoRU5DUllQVEVEX01FRElBKSAmJiBVU0UoR1NUUkVBTUVSKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL2VtZS9XZWJLaXRDbGVhcktleURl
Y3J5cHRvckdTdHJlYW1lci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL2VtZS9XZWJLaXRDbGVhcktleURlY3J5cHRvckdTdHJlYW1lci5oCmluZGV4IDMwY2Zh
Mjk5YmNjNGQ4OGNlMDFkYzc4YTdlY2RmMDhjOTAwNjM0M2IuLjgxMzg0OTcyNjVlMzA2OTA1ODJk
YmZlMzc0MGEyYjE3NjFjZTBmZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dzdHJlYW1lci9lbWUvV2ViS2l0Q2xlYXJLZXlEZWNyeXB0b3JHU3RyZWFtZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvZW1lL1dl
YktpdENsZWFyS2V5RGVjcnlwdG9yR1N0cmVhbWVyLmgKQEAgLTIxLDcgKzIxLDcgQEAKIAogI3By
YWdtYSBvbmNlCiAKLSNpZiAoRU5BQkxFKExFR0FDWV9FTkNSWVBURURfTUVESUEpIHx8IEVOQUJM
RShFTkNSWVBURURfTUVESUEpKSAmJiBVU0UoR1NUUkVBTUVSKQorI2lmIEVOQUJMRShFTkNSWVBU
RURfTUVESUEpICYmIFVTRShHU1RSRUFNRVIpCiAKICNpbmNsdWRlICJXZWJLaXRDb21tb25FbmNy
eXB0aW9uRGVjcnlwdG9yR1N0cmVhbWVyLmgiCiAKQEAgLTU0LDQgKzU0LDQgQEAgc3RydWN0IF9X
ZWJLaXRNZWRpYUNsZWFyS2V5RGVjcnlwdENsYXNzIHsKIAogR19FTkRfREVDTFMKIAotI2VuZGlm
IC8vIChFTkFCTEUoTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgfHwgRU5BQkxFKEVOQ1JZUFRFRF9N
RURJQSkpICYmIFVTRShHU1RSRUFNRVIpCisjZW5kaWYgLy8gRU5BQkxFKEVOQ1JZUFRFRF9NRURJ
QSkgJiYgVVNFKEdTVFJFQU1FUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dzdHJlYW1lci9lbWUvV2ViS2l0Q29tbW9uRW5jcnlwdGlvbkRlY3J5cHRvckdT
dHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
ZW1lL1dlYktpdENvbW1vbkVuY3J5cHRpb25EZWNyeXB0b3JHU3RyZWFtZXIuY3BwCmluZGV4IDM4
OTgwODA1MDY5MGJhN2UzOTgwYzY3ODAxY2YzN2MzYWM0MjY5MDEuLjI1ZWI3MTk5N2E3Y2VjZDgx
NTc1OTA5MzA2YjRmODliMTA2MTllNWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dzdHJlYW1lci9lbWUvV2ViS2l0Q29tbW9uRW5jcnlwdGlvbkRlY3J5cHRv
ckdTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL2VtZS9XZWJLaXRDb21tb25FbmNyeXB0aW9uRGVjcnlwdG9yR1N0cmVhbWVyLmNwcApA
QCAtMjMsNyArMjMsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYktpdENv
bW1vbkVuY3J5cHRpb25EZWNyeXB0b3JHU3RyZWFtZXIuaCIKIAotI2lmIChFTkFCTEUoTEVHQUNZ
X0VOQ1JZUFRFRF9NRURJQSkgfHwgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkpICYmIFVTRShHU1RS
RUFNRVIpCisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkgJiYgVVNFKEdTVFJFQU1FUikKIAog
I2luY2x1ZGUgIkdSZWZQdHJHU3RyZWFtZXIuaCIKICNpbmNsdWRlIDx3dGYvQ29uZGl0aW9uLmg+
CkBAIC0zNTksNCArMzU5LDQgQEAgc3RhdGljIHZvaWQgd2ViS2l0TWVkaWFDb21tb25FbmNyeXB0
aW9uRGVjcnlwdERlZmF1bHRSZWxlYXNlQ2lwaGVyKFdlYktpdE1lZGlhQ28KIHsKIH0KIAotI2Vu
ZGlmIC8vIChFTkFCTEUoTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgfHwgRU5BQkxFKEVOQ1JZUFRF
RF9NRURJQSkpICYmIFVTRShHU1RSRUFNRVIpCisjZW5kaWYgLy8gRU5BQkxFKEVOQ1JZUFRFRF9N
RURJQSkgJiYgVVNFKEdTVFJFQU1FUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dzdHJlYW1lci9lbWUvV2ViS2l0Q29tbW9uRW5jcnlwdGlvbkRlY3J5cHRv
ckdTdHJlYW1lci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L2VtZS9XZWJLaXRDb21tb25FbmNyeXB0aW9uRGVjcnlwdG9yR1N0cmVhbWVyLmgKaW5kZXggZGNh
ZTgyNzkwZmJiY2U1OTdkYzBhZmJiMTczYjRiNzc5YzExYjE1Ny4uMGE2NDczYzJiZDdiNzIxYmQ2
ZjJhZWYyYzYzNTU4YWY5NDNhZjM5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL2VtZS9XZWJLaXRDb21tb25FbmNyeXB0aW9uRGVjcnlwdG9y
R1N0cmVhbWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL2VtZS9XZWJLaXRDb21tb25FbmNyeXB0aW9uRGVjcnlwdG9yR1N0cmVhbWVyLmgKQEAgLTIy
LDcgKzIyLDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiAoRU5BQkxFKExFR0FDWV9FTkNSWVBU
RURfTUVESUEpIHx8IEVOQUJMRShFTkNSWVBURURfTUVESUEpKSAmJiBVU0UoR1NUUkVBTUVSKQor
I2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpICYmIFVTRShHU1RSRUFNRVIpCiAKICNpbmNsdWRl
IDxnc3QvYmFzZS9nc3RiYXNldHJhbnNmb3JtLmg+CiAjaW5jbHVkZSA8Z3N0L2dzdC5oPgpAQCAt
NjEsNCArNjEsNCBAQCBzdHJ1Y3QgX1dlYktpdE1lZGlhQ29tbW9uRW5jcnlwdGlvbkRlY3J5cHRD
bGFzcyB7CiAKIEdfRU5EX0RFQ0xTCiAKLSNlbmRpZiAvLyAoRU5BQkxFKExFR0FDWV9FTkNSWVBU
RURfTUVESUEpIHx8IEVOQUJMRShFTkNSWVBURURfTUVESUEpKSAmJiBVU0UoR1NUUkVBTUVSKQor
I2VuZGlmIC8vIEVOQUJMRShFTkNSWVBURURfTUVESUEpICYmIFVTRShHU1RSRUFNRVIpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL0Fw
cGVuZFBpcGVsaW5lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9tc2UvQXBwZW5kUGlwZWxpbmUuY3BwCmluZGV4IGM0ZjJiMDZiYzAxM2Y5NTkyZDA3YzY0
MWFhNjE1YTk2MTNlZWZjNWIuLmZiNjMwYWUwYWEwODEwYjI0N2M1ZTUwMDgzOWZjOGZmMjUwOWEw
YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1l
ci9tc2UvQXBwZW5kUGlwZWxpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dzdHJlYW1lci9tc2UvQXBwZW5kUGlwZWxpbmUuY3BwCkBAIC05MywxMyArOTMsNiBA
QCBzdGF0aWMgdm9pZCBhcHBlbmRQaXBlbGluZUFwcGxpY2F0aW9uTWVzc2FnZUNhbGxiYWNrKEdz
dEJ1cyosIEdzdE1lc3NhZ2UqIG1lc3NhZwogICAgIGFwcGVuZFBpcGVsaW5lLT5oYW5kbGVBcHBs
aWNhdGlvbk1lc3NhZ2UobWVzc2FnZSk7CiB9CiAKLSNpZiBFTkFCTEUoTEVHQUNZX0VOQ1JZUFRF
RF9NRURJQSkKLXN0YXRpYyB2b2lkIGFwcGVuZFBpcGVsaW5lRWxlbWVudE1lc3NhZ2VDYWxsYmFj
ayhHc3RCdXMqLCBHc3RNZXNzYWdlKiBtZXNzYWdlLCBBcHBlbmRQaXBlbGluZSogYXBwZW5kUGlw
ZWxpbmUpCi17Ci0gICAgYXBwZW5kUGlwZWxpbmUtPmhhbmRsZUVsZW1lbnRNZXNzYWdlKG1lc3Nh
Z2UpOwotfQotI2VuZGlmCi0KIEFwcGVuZFBpcGVsaW5lOjpBcHBlbmRQaXBlbGluZShSZWY8TWVk
aWFTb3VyY2VDbGllbnRHU3RyZWFtZXJNU0U+IG1lZGlhU291cmNlQ2xpZW50LCBSZWY8U291cmNl
QnVmZmVyUHJpdmF0ZUdTdHJlYW1lcj4gc291cmNlQnVmZmVyUHJpdmF0ZSwgTWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyTVNFJiBwbGF5ZXJQcml2YXRlKQogICAgIDogbV9tZWRpYVNvdXJjZUNs
aWVudChtZWRpYVNvdXJjZUNsaWVudC5nZXQoKSkKICAgICAsIG1fc291cmNlQnVmZmVyUHJpdmF0
ZShzb3VyY2VCdWZmZXJQcml2YXRlLmdldCgpKQpAQCAtMTI2LDkgKzExOSw2IEBAIEFwcGVuZFBp
cGVsaW5lOjpBcHBlbmRQaXBlbGluZShSZWY8TWVkaWFTb3VyY2VDbGllbnRHU3RyZWFtZXJNU0U+
IG1lZGlhU291cmNlQ2xpCiAKICAgICBnX3NpZ25hbF9jb25uZWN0KG1fYnVzLmdldCgpLCAic3lu
Yy1tZXNzYWdlOjpuZWVkLWNvbnRleHQiLCBHX0NBTExCQUNLKGFwcGVuZFBpcGVsaW5lTmVlZENv
bnRleHRNZXNzYWdlQ2FsbGJhY2spLCB0aGlzKTsKICAgICBnX3NpZ25hbF9jb25uZWN0KG1fYnVz
LmdldCgpLCAibWVzc2FnZTo6YXBwbGljYXRpb24iLCBHX0NBTExCQUNLKGFwcGVuZFBpcGVsaW5l
QXBwbGljYXRpb25NZXNzYWdlQ2FsbGJhY2spLCB0aGlzKTsKLSNpZiBFTkFCTEUoTEVHQUNZX0VO
Q1JZUFRFRF9NRURJQSkKLSAgICBnX3NpZ25hbF9jb25uZWN0KG1fYnVzLmdldCgpLCAibWVzc2Fn
ZTo6ZWxlbWVudCIsIEdfQ0FMTEJBQ0soYXBwZW5kUGlwZWxpbmVFbGVtZW50TWVzc2FnZUNhbGxi
YWNrKSwgdGhpcyk7Ci0jZW5kaWYKIAogICAgIC8vIFdlIGFzc2lnbiB0aGUgY3JlYXRlZCBpbnN0
YW5jZXMgaGVyZSBpbnN0ZWFkIG9mIGFkb3B0UmVmKCkgYmVjYXVzZSBnc3RfYmluX2FkZF9tYW55
KCkKICAgICAvLyBiZWxvdyB3aWxsIGFscmVhZHkgdGFrZSB0aGUgaW5pdGlhbCByZWZlcmVuY2Ug
YW5kIHdlIG5lZWQgYW4gYWRkaXRpb25hbCBvbmUgZm9yIHVzLgpAQCAtMjI3LDMzICsyMTcsNiBA
QCBBcHBlbmRQaXBlbGluZTo6fkFwcGVuZFBpcGVsaW5lKCkKICAgICBtX2RlbXV4ZXJTcmNQYWRD
YXBzID0gbnVsbHB0cjsKIH07CiAKLSNpZiBFTkFCTEUoTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkK
LXZvaWQgQXBwZW5kUGlwZWxpbmU6OmRpc3BhdGNoUGVuZGluZ0RlY3J5cHRpb25LZXkoKQotewot
ICAgIEFTU0VSVChtX2RlY3J5cHRvcik7Ci0gICAgQVNTRVJUKG1fcGVuZGluZ0tleSk7Ci0gICAg
QVNTRVJUKG1fYXBwZW5kU3RhdGUgPT0gS2V5TmVnb3RpYXRpb24pOwotICAgIEdTVF9UUkFDRSgi
ZGlzcGF0Y2hpbmcga2V5IHRvIGFwcGVuZCBwaXBlbGluZSAlcCIsIHRoaXMpOwotICAgIGdzdF9l
bGVtZW50X3NlbmRfZXZlbnQobV9waXBlbGluZS5nZXQoKSwgZ3N0X2V2ZW50X25ld19jdXN0b20o
R1NUX0VWRU5UX0NVU1RPTV9ET1dOU1RSRUFNX09PQiwKLSAgICAgICAgZ3N0X3N0cnVjdHVyZV9u
ZXcoImRybS1jaXBoZXIiLCAia2V5IiwgR1NUX1RZUEVfQlVGRkVSLCBtX3BlbmRpbmdLZXkuZ2V0
KCksIG51bGxwdHIpKSk7Ci0gICAgbV9wZW5kaW5nS2V5LmNsZWFyKCk7Ci0gICAgc2V0QXBwZW5k
U3RhdGUoQXBwZW5kU3RhdGU6Ok9uZ29pbmcpOwotfQotCi12b2lkIEFwcGVuZFBpcGVsaW5lOjpk
aXNwYXRjaERlY3J5cHRpb25LZXkoR3N0QnVmZmVyKiBidWZmZXIpCi17Ci0gICAgaWYgKG1fYXBw
ZW5kU3RhdGUgPT0gQXBwZW5kU3RhdGU6OktleU5lZ290aWF0aW9uKSB7Ci0gICAgICAgIEdTVF9U
UkFDRSgiYXBwZW5kIHBpcGVsaW5lICVwIGluIGtleSBuZWdvdGlhdGlvbiIsIHRoaXMpOwotICAg
ICAgICBtX3BlbmRpbmdLZXkgPSBidWZmZXI7Ci0gICAgICAgIGlmIChtX2RlY3J5cHRvcikKLSAg
ICAgICAgICAgIGRpc3BhdGNoUGVuZGluZ0RlY3J5cHRpb25LZXkoKTsKLSAgICAgICAgZWxzZQot
ICAgICAgICAgICAgR1NUX1RSQUNFKCJubyBkZWNyeXB0b3IgeWV0LCB3YWl0aW5nIGZvciBpdCIp
OwotICAgIH0gZWxzZQotICAgICAgICBHU1RfVFJBQ0UoImFwcGVuZCBwaXBlbGluZSAlcCBub3Qg
aW4ga2V5IG5lZ290aWF0aW9uIiwgdGhpcyk7Ci19Ci0jZW5kaWYKLQogdm9pZCBBcHBlbmRQaXBl
bGluZTo6Y2xlYXJQbGF5ZXJQcml2YXRlKCkKIHsKICAgICBBU1NFUlQoV1RGOjppc01haW5UaHJl
YWQoKSk7CkBAIC0yOTQsMjQgKzI1Nyw2IEBAIHZvaWQgQXBwZW5kUGlwZWxpbmU6OmhhbmRsZU5l
ZWRDb250ZXh0U3luY01lc3NhZ2UoR3N0TWVzc2FnZSogbWVzc2FnZSkKICAgICAgICAgbV9wbGF5
ZXJQcml2YXRlLT5oYW5kbGVTeW5jTWVzc2FnZShtZXNzYWdlKTsKIH0KIAotI2lmIEVOQUJMRShM
RUdBQ1lfRU5DUllQVEVEX01FRElBKQotdm9pZCBBcHBlbmRQaXBlbGluZTo6aGFuZGxlRWxlbWVu
dE1lc3NhZ2UoR3N0TWVzc2FnZSogbWVzc2FnZSkKLXsKLSAgICBBU1NFUlQoV1RGOjppc01haW5U
aHJlYWQoKSk7Ci0KLSAgICBjb25zdCBHc3RTdHJ1Y3R1cmUqIHN0cnVjdHVyZSA9IGdzdF9tZXNz
YWdlX2dldF9zdHJ1Y3R1cmUobWVzc2FnZSk7Ci0gICAgR1NUX1RSQUNFKCIlcyBtZXNzYWdlIGZy
b20gJXMiLCBnc3Rfc3RydWN0dXJlX2dldF9uYW1lKHN0cnVjdHVyZSksIEdTVF9NRVNTQUdFX1NS
Q19OQU1FKG1lc3NhZ2UpKTsKLSAgICBpZiAobV9wbGF5ZXJQcml2YXRlICYmIGdzdF9zdHJ1Y3R1
cmVfaGFzX25hbWUoc3RydWN0dXJlLCAiZHJtLWtleS1uZWVkZWQiKSkgewotICAgICAgICBzZXRB
cHBlbmRTdGF0ZShBcHBlbmRQaXBlbGluZTo6QXBwZW5kU3RhdGU6OktleU5lZ290aWF0aW9uKTsK
LQotICAgICAgICBHU1RfREVCVUcoInNlbmRpbmcgZHJtLWtleS1uZWVkZWQgbWVzc2FnZSBmcm9t
ICVzIHRvIHRoZSBwbGF5ZXIiLCBHU1RfTUVTU0FHRV9TUkNfTkFNRShtZXNzYWdlKSk7Ci0gICAg
ICAgIEdSZWZQdHI8R3N0RXZlbnQ+IGV2ZW50OwotICAgICAgICBnc3Rfc3RydWN0dXJlX2dldChz
dHJ1Y3R1cmUsICJldmVudCIsIEdTVF9UWVBFX0VWRU5ULCAmZXZlbnQub3V0UHRyKCksIG51bGxw
dHIpOwotICAgICAgICBtX3BsYXllclByaXZhdGUtPmhhbmRsZVByb3RlY3Rpb25FdmVudChldmVu
dC5nZXQoKSk7Ci0gICAgfQotfQotI2VuZGlmCi0KIHZvaWQgQXBwZW5kUGlwZWxpbmU6OmhhbmRs
ZUFwcGxpY2F0aW9uTWVzc2FnZShHc3RNZXNzYWdlKiBtZXNzYWdlKQogewogICAgIEFTU0VSVChX
VEY6OmlzTWFpblRocmVhZCgpKTsKQEAgLTU3Nyw3ICs1MjIsNyBAQCB2b2lkIEFwcGVuZFBpcGVs
aW5lOjpwYXJzZURlbXV4ZXJTcmNQYWRDYXBzKEdzdENhcHMqIGRlbXV4ZXJTcmNQYWRDYXBzKQog
ICAgIEdzdFN0cnVjdHVyZSogc3RydWN0dXJlID0gZ3N0X2NhcHNfZ2V0X3N0cnVjdHVyZShtX2Rl
bXV4ZXJTcmNQYWRDYXBzLmdldCgpLCAwKTsKICAgICBib29sIHNpemVDb25maWd1cmVkID0gZmFs
c2U7CiAKLSNpZiBHU1RfQ0hFQ0tfVkVSU0lPTigxLCA1LCAzKSAmJiAoRU5BQkxFKExFR0FDWV9F
TkNSWVBURURfTUVESUEpIHx8IEVOQUJMRShFTkNSWVBURURfTUVESUEpKQorI2lmIEdTVF9DSEVD
S19WRVJTSU9OKDEsIDUsIDMpICYmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCiAgICAgaWYgKGdz
dF9zdHJ1Y3R1cmVfaGFzX25hbWUoc3RydWN0dXJlLCAiYXBwbGljYXRpb24veC1jZW5jIikpIHsK
ICAgICAgICAgLy8gQW55IHByZXZpb3VzIGRlY3J5cHRvciBzaG91bGQgaGF2ZSBiZWVuIHJlbW92
ZWQgZnJvbSB0aGUgcGlwZWxpbmUgYnkgZGlzY29ubmVjdEZyb21BcHBTaW5rRnJvbVN0cmVhbWlu
Z1RocmVhZCgpCiAgICAgICAgIEFTU0VSVCghbV9kZWNyeXB0b3IpOwpAQCAtOTg0LDcgKzkyOSw3
IEBAIHZvaWQgQXBwZW5kUGlwZWxpbmU6OmNvbm5lY3REZW11eGVyU3JjUGFkVG9BcHBzaW5rRnJv
bUFueVRocmVhZChHc3RQYWQqIGRlbXV4ZXJTCiAgICAgICAgIGlmICghcGFyZW50KQogICAgICAg
ICAgICAgZ3N0X2Jpbl9hZGQoR1NUX0JJTihtX3BpcGVsaW5lLmdldCgpKSwgbV9hcHBzaW5rLmdl
dCgpKTsKIAotI2lmIEVOQUJMRShMRUdBQ1lfRU5DUllQVEVEX01FRElBKSB8fCBFTkFCTEUoRU5D
UllQVEVEX01FRElBKQorI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCiAgICAgICAgIGlmICht
X2RlY3J5cHRvcikgewogICAgICAgICAgICAgZ3N0X29iamVjdF9yZWYobV9kZWNyeXB0b3IuZ2V0
KCkpOwogICAgICAgICAgICAgZ3N0X2Jpbl9hZGQoR1NUX0JJTihtX3BpcGVsaW5lLmdldCgpKSwg
bV9kZWNyeXB0b3IuZ2V0KCkpOwpAQCAtOTk3LDE2ICs5NDIsMTEgQEAgdm9pZCBBcHBlbmRQaXBl
bGluZTo6Y29ubmVjdERlbXV4ZXJTcmNQYWRUb0FwcHNpbmtGcm9tQW55VGhyZWFkKEdzdFBhZCog
ZGVtdXhlclMKIAogICAgICAgICAgICAgZ3N0X2VsZW1lbnRfc3luY19zdGF0ZV93aXRoX3BhcmVu
dChtX2FwcHNpbmsuZ2V0KCkpOwogICAgICAgICAgICAgZ3N0X2VsZW1lbnRfc3luY19zdGF0ZV93
aXRoX3BhcmVudChtX2RlY3J5cHRvci5nZXQoKSk7Ci0KLSNpZiBFTkFCTEUoTEVHQUNZX0VOQ1JZ
UFRFRF9NRURJQSkKLSAgICAgICAgICAgIGlmIChtX3BlbmRpbmdLZXkpCi0gICAgICAgICAgICAg
ICAgZGlzcGF0Y2hQZW5kaW5nRGVjcnlwdGlvbktleSgpOwotI2VuZGlmCiAgICAgICAgIH0gZWxz
ZSB7CiAjZW5kaWYKICAgICAgICAgICAgIGdzdF9wYWRfbGluayhkZW11eGVyU3JjUGFkLCBhcHBz
aW5rU2lua1BhZC5nZXQoKSk7CiAgICAgICAgICAgICBnc3RfZWxlbWVudF9zeW5jX3N0YXRlX3dp
dGhfcGFyZW50KG1fYXBwc2luay5nZXQoKSk7Ci0jaWYgRU5BQkxFKExFR0FDWV9FTkNSWVBURURf
TUVESUEpIHx8IEVOQUJMRShFTkNSWVBURURfTUVESUEpCisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9N
RURJQSkKICAgICAgICAgfQogI2VuZGlmCiAgICAgICAgIGdzdF9lbGVtZW50X3NldF9zdGF0ZSht
X3BpcGVsaW5lLmdldCgpLCBHU1RfU1RBVEVfUEFVU0VEKTsKQEAgLTEwOTYsNyArMTAzNiw3IEBA
IHZvaWQgQXBwZW5kUGlwZWxpbmU6OmRpc2Nvbm5lY3REZW11eGVyU3JjUGFkRnJvbUFwcHNpbmtG
cm9tQW55VGhyZWFkKEdzdFBhZCogZGVtCiAKICAgICBHU1RfREVCVUcoIkRpc2Nvbm5lY3Rpbmcg
YXBwc2luayIpOwogCi0jaWYgRU5BQkxFKExFR0FDWV9FTkNSWVBURURfTUVESUEpIHx8IEVOQUJM
RShFTkNSWVBURURfTUVESUEpCisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKICAgICBpZiAo
bV9kZWNyeXB0b3IpIHsKICAgICAgICAgZ3N0X2VsZW1lbnRfdW5saW5rKG1fZGVjcnlwdG9yLmdl
dCgpLCBtX2FwcHNpbmsuZ2V0KCkpOwogICAgICAgICBnc3RfZWxlbWVudF91bmxpbmsobV9kZW11
eC5nZXQoKSwgbV9kZWNyeXB0b3IuZ2V0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9BcHBlbmRQaXBlbGluZS5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9BcHBlbmRQaXBlbGluZS5o
CmluZGV4IDMwMTI2NWViOTBlN2JkNmNlYjM1YWI0Mzg0NzVmNGNmYTg5ZDFmODcuLmNjOTg3ZGZm
Mjg5Yzc3NDUxYWEyZGUwYmIwN2ZmNTQxZDQ0MGMyNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvQXBwZW5kUGlwZWxpbmUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL0FwcGVuZFBp
cGVsaW5lLmgKQEAgLTQ5LDkgKzQ5LDYgQEAgcHVibGljOgogCiAgICAgdm9pZCBoYW5kbGVOZWVk
Q29udGV4dFN5bmNNZXNzYWdlKEdzdE1lc3NhZ2UqKTsKICAgICB2b2lkIGhhbmRsZUFwcGxpY2F0
aW9uTWVzc2FnZShHc3RNZXNzYWdlKik7Ci0jaWYgRU5BQkxFKExFR0FDWV9FTkNSWVBURURfTUVE
SUEpCi0gICAgdm9pZCBoYW5kbGVFbGVtZW50TWVzc2FnZShHc3RNZXNzYWdlKik7Ci0jZW5kaWYK
IAogICAgIGdpbnQgaWQoKTsKICAgICBBcHBlbmRTdGF0ZSBhcHBlbmRTdGF0ZSgpIHsgcmV0dXJu
IG1fYXBwZW5kU3RhdGU7IH0KQEAgLTU5LDkgKzU2LDYgQEAgcHVibGljOgogCiAgICAgR3N0Rmxv
d1JldHVybiBoYW5kbGVOZXdBcHBzaW5rU2FtcGxlKEdzdEVsZW1lbnQqKTsKICAgICBHc3RGbG93
UmV0dXJuIHB1c2hOZXdCdWZmZXIoR3N0QnVmZmVyKik7Ci0jaWYgRU5BQkxFKExFR0FDWV9FTkNS
WVBURURfTUVESUEpCi0gICAgdm9pZCBkaXNwYXRjaERlY3J5cHRpb25LZXkoR3N0QnVmZmVyKik7
Ci0jZW5kaWYKIAogICAgIC8vIFRha2VzIG93bmVyc2hpcCBvZiBjYXBzLgogICAgIHZvaWQgcGFy
c2VEZW11eGVyU3JjUGFkQ2FwcyhHc3RDYXBzKik7CkBAIC05Nyw5ICs5MSw2IEBAIHByaXZhdGU6
CiAgICAgdm9pZCBoYW5kbGVBcHBzcmNOZWVkRGF0YVJlY2VpdmVkKCk7CiAgICAgdm9pZCByZW1v
dmVBcHBzcmNEYXRhTGVhdmluZ1Byb2JlKCk7CiAgICAgdm9pZCBzZXRBcHBzcmNEYXRhTGVhdmlu
Z1Byb2JlKCk7Ci0jaWYgRU5BQkxFKExFR0FDWV9FTkNSWVBURURfTUVESUEpCi0gICAgdm9pZCBk
aXNwYXRjaFBlbmRpbmdEZWNyeXB0aW9uS2V5KCk7Ci0jZW5kaWYKIAogcHJpdmF0ZToKICAgICBS
ZWY8TWVkaWFTb3VyY2VDbGllbnRHU3RyZWFtZXJNU0U+IG1fbWVkaWFTb3VyY2VDbGllbnQ7CkBA
IC0xMTcsNyArMTA4LDcgQEAgcHJpdmF0ZToKICAgICBHUmVmUHRyPEdzdEJ1cz4gbV9idXM7CiAg
ICAgR1JlZlB0cjxHc3RFbGVtZW50PiBtX2FwcHNyYzsKICAgICBHUmVmUHRyPEdzdEVsZW1lbnQ+
IG1fZGVtdXg7Ci0jaWYgRU5BQkxFKExFR0FDWV9FTkNSWVBURURfTUVESUEpIHx8IEVOQUJMRShF
TkNSWVBURURfTUVESUEpCisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKICAgICBHUmVmUHRy
PEdzdEVsZW1lbnQ+IG1fZGVjcnlwdG9yOwogI2VuZGlmCiAgICAgLy8gVGhlIGRlbXV4ZXIgaGFz
IG9uZSBzcmMgc3RyZWFtIG9ubHksIHNvIG9ubHkgb25lIGFwcHNpbmsgaXMgbmVlZGVkIGFuZCBs
aW5rZWQgdG8gaXQuCkBAIC0xNTUsOSArMTQ2LDYgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8V2Vi
Q29yZTo6VHJhY2tQcml2YXRlQmFzZT4gbV90cmFjazsKIAogICAgIEdSZWZQdHI8R3N0QnVmZmVy
PiBtX3BlbmRpbmdCdWZmZXI7Ci0jaWYgRU5BQkxFKExFR0FDWV9FTkNSWVBURURfTUVESUEpCi0g
ICAgR1JlZlB0cjxHc3RCdWZmZXI+IG1fcGVuZGluZ0tleTsKLSNlbmRpZgogfTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dzdHJlYW1lci9tc2UvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9tc2UvTWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyTVNFLmNwcAppbmRleCBkY2YwZmVmODAwYmYwYjAyYmM0Nzg4MjE4
ZDUzYjNjZjcwYTFhMjliLi5lYWFjM2Q2MDUzZTllYzFiZDE5YmQ3NjYwNWMzOGU4MmNmOTc3ZWM0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
bXNlL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9NZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXJNU0UuY3BwCkBAIC04NzksMTQgKzg3OSw2IEBAIE1lZGlhUGxheWVyOjpTdXBwb3J0c1R5
cGUgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFOjpzdXBwb3J0c1R5cGUoY29uc3QgTWVk
CiAgICAgcmV0dXJuIGV4dGVuZGVkU3VwcG9ydHNUeXBlKHBhcmFtZXRlcnMsIHJlc3VsdCk7CiB9
CiAKLSNpZiBFTkFCTEUoTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkKLXZvaWQgTWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyTVNFOjpkaXNwYXRjaERlY3J5cHRpb25LZXkoR3N0QnVmZmVyKiBidWZm
ZXIpCi17Ci0gICAgZm9yIChhdXRvIGl0IDogbV9hcHBlbmRQaXBlbGluZXNNYXApCi0gICAgICAg
IGl0LnZhbHVlLT5kaXNwYXRjaERlY3J5cHRpb25LZXkoYnVmZmVyKTsKLX0KLSNlbmRpZgotCiB2
b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lck1TRTo6bWFya0VuZE9mU3RyZWFtKE1lZGlh
U291cmNlUHJpdmF0ZTo6RW5kT2ZTdHJlYW1TdGF0dXMgc3RhdHVzKQogewogICAgIGlmIChzdGF0
dXMgIT0gTWVkaWFTb3VyY2VQcml2YXRlOjpFb3NOb0Vycm9yKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL21zZS9NZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXJNU0UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9tc2UvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyTVNFLmgKaW5kZXggMGQzZWJiOTAy
YTBjZGJjYTkzY2MyMTBhNzI5OWJmNTc5NTUxZTNmYi4uZTg1MjZlZjU3YTU1MDY2MzdkMTFiMmFm
M2IwNDg4MDgzOTM1MTJiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3N0cmVhbWVyL21zZS9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJNU0UuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvbXNlL01lZGlhUGxh
eWVyUHJpdmF0ZUdTdHJlYW1lck1TRS5oCkBAIC04MCwxMCArODAsNiBAQCBwdWJsaWM6CiAKICAg
ICB2b2lkIG1hcmtFbmRPZlN0cmVhbShNZWRpYVNvdXJjZVByaXZhdGU6OkVuZE9mU3RyZWFtU3Rh
dHVzKTsKIAotI2lmIEVOQUJMRShMRUdBQ1lfRU5DUllQVEVEX01FRElBKQotICAgIHZvaWQgZGlz
cGF0Y2hEZWNyeXB0aW9uS2V5KEdzdEJ1ZmZlciopIG92ZXJyaWRlOwotI2VuZGlmCi0KICAgICB2
b2lkIHRyYWNrRGV0ZWN0ZWQoUmVmUHRyPEFwcGVuZFBpcGVsaW5lPiwgUmVmUHRyPFdlYkNvcmU6
OlRyYWNrUHJpdmF0ZUJhc2U+IG9sZFRyYWNrLCBSZWZQdHI8V2ViQ29yZTo6VHJhY2tQcml2YXRl
QmFzZT4gbmV3VHJhY2spOwogICAgIHZvaWQgbm90aWZ5U2Vla05lZWRzRGF0YUZvclRpbWUoY29u
c3QgTWVkaWFUaW1lJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9PcHRpb25zV1BFLmNt
YWtlIGIvU291cmNlL2NtYWtlL09wdGlvbnNXUEUuY21ha2UKaW5kZXggMTZkZThjY2UzMzRiMGZk
ZWRlNzNiNjdjMGU1ZmJlM2M0OGVhNGU4ZS4uZGMyNDkyOWRmZTUyYTlmYWZiODhjYzVjNThiNzNj
MTllMjg3ZmY0OSAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL09wdGlvbnNXUEUuY21ha2UKKysr
IGIvU291cmNlL2NtYWtlL09wdGlvbnNXUEUuY21ha2UKQEAgLTE3LDcgKzE3LDYgQEAgV0VCS0lU
X09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0NTU19SRUdJT05TIFBVQkxJQyBPTikK
IFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xF
VkVMNCBQVUJMSUMgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVf
REFUQUJBU0VfUFJPQ0VTUyBQUklWQVRFIE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRf
VkFMVUUoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTiBQVUJMSUMgT0ZGKQotV0VCS0lUX09QVElP
Tl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEgUFVCTElD
IE9GRikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9HQU1FUEFEIFBV
QkxJQyBPRkYpCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfR0VPTE9D
QVRJT04gUFVCTElDIE9GRikKIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJM
RV9JTkRFWEVEX0RBVEFCQVNFIFBSSVZBVEUgT04pCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNGQzZmVjMjNlYjQzNDFiYWZh
NDRkZWYwMzE2YTk2ZTkzNmIxMmU3MC4uODg0YmMyMWJkODE2ZGVhZjFjNmQxOWI5NTIzNWQ0ODY2
MzE1MDUyNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDE3LTA2LTA4ICBYYWJpZXIgUm9kcmln
dWV6IENhbHZhciAgPGNhbHZhcmlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dTdHJlYW1lcl1b
RU1FXSBSZW1vdmUgdGhlIGxlZ2FjeSBjb2RlIHRoYXQgd2FzIG5vdCBldmVuIG9mZmljaWFsIGFu
ZCBpcyBkZXByZWNhdGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNzMwOTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIHBsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zOiBNYXJrIGxlZ2FjeSB0ZXN0
cyBhcyBkZXByZWNhdGVkCisKIDIwMTctMDYtMDcgIFphbiBEb2JlcnNlayAgPHpkb2JlcnNla0Bp
Z2FsaWEuY29tPgogCiAgICAgICAgIFtHQ3J5cHRdIFJTQS1QU1Mgc3VwcG9ydApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBhOTcyN2JiNzE3MmViMDJjZGZl
ODk1MjNiOGI0NDIzYzhmNmY4ZWRiLi5lMGY3Njk0MmVhOGM0NmM1YmQ0ZWQxYjlkNzM3NjJjNjY1
YTBiZGUzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0
aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwpAQCAt
MTIyMCw3ICsxMjIwLDcgQEAgd2Via2l0Lm9yZy9iLzg5MDUyIGZhc3QvY3NzL2ltYWdlLW9yaWVu
dGF0aW9uIFsgU2tpcCBdCiAjIENTUyBpbWFnZS1yZXNvbHV0aW9uIGlzIG5vdCB5ZXQgZW5hYmxl
ZC4KIHdlYmtpdC5vcmcvYi84NTI2MiBmYXN0L2Nzcy9pbWFnZS1yZXNvbHV0aW9uIFsgU2tpcCBd
CiAKLSMgTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSBpcyBkaXNhYmxlZAorIyBMRUdBQ1lfRU5DUllQ
VEVEX01FRElBIGlzIGRlcHJlY2F0ZWQKIGZhc3QvZXZlbnRzL3dlYmtpdC1tZWRpYS1rZXktZXZl
bnRzLWNvbnN0cnVjdG9yLmh0bWwgWyBTa2lwIF0KIAogIyBldmVudFNlbmRlci5jYWxsQWZ0ZXJT
Y3JvbGxpbmdDb21wbGV0ZXMgZG9lc24ndCB3b3JrLgpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIv
Q2hhbmdlTG9nCmluZGV4IGEyZWNlNWFkMTlmMDFiODI2NTI5MzE3Zjk2ZGQ5NjU0MmRiNTNlZGUu
LmZjYTBmNTRmYjQ2NTIwYzhlOGMzMTI2M2JkZTYzOTk0NDQwMTZjOTEgMTAwNjQ0Ci0tLSBhL0No
YW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxNy0wNi0wOCAgWGFi
aWVyIFJvZHJpZ3VleiBDYWx2YXIgIDxjYWx2YXJpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtH
U3RyZWFtZXJdW0VNRV0gUmVtb3ZlIHRoZSBsZWdhY3kgY29kZSB0aGF0IHdhcyBub3QgZXZlbiBv
ZmZpY2lhbCBhbmQgaXMgZGVwcmVjYXRlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTczMDk2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBTb3VyY2UvY21ha2UvT3B0aW9uc1dQRS5jbWFrZTogUmVtb3Zl
IExFR0FDWV9FTkNSWVBURURfTUVESUEgc3VwcG9ydAorCiAyMDE3LTA2LTA3ICBaYW4gRG9iZXJz
ZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR0NyeXB0XSBSU0EtUFNTIHN1
cHBvcnQK
</data>

          </attachment>
      

    </bug>

</bugzilla>