<?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>193170</bug_id>
          
          <creation_ts>2019-01-05 04:01:22 -0800</creation_ts>
          <short_desc>PlatformECKey should use a std::unique_ptr</short_desc>
          <delta_ts>2019-01-07 12:30:21 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>WebKit Local Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=193154</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="David Kilzer (:ddkilzer)">ddkilzer</reporter>
          <assigned_to name="David Kilzer (:ddkilzer)">ddkilzer</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>don.olmstead</cc>
    
    <cc>ggaren</cc>
    
    <cc>jiewen_tan</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1492070</commentid>
    <comment_count>0</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2019-01-05 04:01:22 -0800</bug_when>
    <thetext>PlatformECKey should use a std::unique_ptr.

Although there are no known leaks of PlatformECKey, keeping it in a std::unique_ptr makes it much harder to leak by accident.

This change is very similar to Bug 193154 which changed PlatformRSAKey to use a std::unique_ptr.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1492072</commentid>
    <comment_count>1</comment_count>
      <attachid>358436</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2019-01-05 04:05:56 -0800</bug_when>
    <thetext>Created attachment 358436
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1492133</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-01-06 02:53:26 -0800</bug_when>
    <thetext>&lt;rdar://problem/47070633&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1492340</commentid>
    <comment_count>3</comment_count>
      <attachid>358436</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-01-07 12:30:19 -0800</bug_when>
    <thetext>Comment on attachment 358436
Patch v1

Clearing flags on attachment: 358436

Committed r239692: &lt;https://trac.webkit.org/changeset/239692&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1492341</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-01-07 12:30:21 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>358436</attachid>
            <date>2019-01-05 04:05:56 -0800</date>
            <delta_ts>2019-01-07 12:30:19 -0800</delta_ts>
            <desc>Patch v1</desc>
            <filename>bug-193170-20190105040555.patch</filename>
            <type>text/plain</type>
            <size>22554</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5NjMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2E3NDY0ZGFmZDYwZDVh
ZGVmNmE5OWQ2NDMyM2JhNDU2YWIxZGQ3Ni4uNDVhMGU1YjAyYjU1MGRiNDRhZDg3ZmU3OTFlZjZk
ZTNhMTYwOGRmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDE5LTAxLTA1ICBEYXZp
ZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CisKKyAgICAgICAgUGxhdGZvcm1FQ0tleSBz
aG91bGQgdXNlIGEgc3RkOjp1bmlxdWVfcHRyCisgICAgICAgIDxodHRwczovL3dlYmtpdC5vcmcv
Yi8xOTMxNzA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQnJvYWRseToKKyAgICAgICAgLSBTd2l0Y2ggZnJvbSB1c2luZyByYXcgcG9pbnRlcnMgdG8g
dXNpbmcgc3RkOjp1bmlxdWVfcHRyPD4gdG8KKyAgICAgICAgICBob2xkIFBsYXRmb3JtRUNLZXku
CisgICAgICAgIC0gSW50cm9kdWNlIFBsYXRmb3JtRUNLZXlDb250YWluZXIgdHlwZSB0byBoYW5k
bGUgZGlmZmVyZW50CisgICAgICAgICAgc3RkOjp1bmlxdWVfcHRyPD4gdHlwZXMgb24gZWFjaCBw
bGF0Zm9ybS4KKyAgICAgICAgLSBHZXQgcmlkIG9mIGN1c3RvbSBDcnlwdG9LZXlFQyBkZXN0cnVj
dG9ycyBzaW5jZSB0aGUKKyAgICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8PiBoYW5kbGVzIHRoYXQg
d2l0aCBhIERlbGV0ZXIuCisgICAgICAgIC0gSW5pdGlhbGl6ZSBzdGFjayB2YXJpYWJsZXMgdG8g
bnVsbHB0ci4KKworICAgICAgICAqIGNyeXB0by9nY3J5cHQvQ3J5cHRvS2V5RUNHQ3J5cHQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q3J5cHRvS2V5RUM6OmtleVNpemVJbkJpdHMgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6Q3J5cHRvS2V5RUM6OnBsYXRmb3JtR2VuZXJhdGVQYWlyKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNyeXB0b0tleUVDOjpwbGF0Zm9ybUltcG9ydFJhdyk6CisgICAgICAg
IChXZWJDb3JlOjpDcnlwdG9LZXlFQzo6cGxhdGZvcm1JbXBvcnRKV0tQdWJsaWMpOgorICAgICAg
ICAoV2ViQ29yZTo6Q3J5cHRvS2V5RUM6OnBsYXRmb3JtSW1wb3J0SldLUHJpdmF0ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpDcnlwdG9LZXlFQzo6cGxhdGZvcm1JbXBvcnRTcGtpKToKKyAgICAgICAg
KFdlYkNvcmU6OkNyeXB0b0tleUVDOjpwbGF0Zm9ybUltcG9ydFBrY3M4KToKKyAgICAgICAgKFdl
YkNvcmU6OkNyeXB0b0tleUVDOjpwbGF0Zm9ybUV4cG9ydFJhdyBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpDcnlwdG9LZXlFQzo6cGxhdGZvcm1BZGRGaWVsZEVsZW1lbnRzIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkNyeXB0b0tleUVDOjpwbGF0Zm9ybUV4cG9ydFNwa2kgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6Q3J5cHRvS2V5RUM6OnBsYXRmb3JtRXhwb3J0UGtjczggY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6Q3J5cHRvS2V5RUM6On5DcnlwdG9LZXlFQyk6IERlbGV0ZWQu
CisgICAgICAgICogY3J5cHRvL2tleXMvQ3J5cHRvS2V5RUMuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q3J5cHRvS2V5RUM6OkNyeXB0b0tleUVDKToKKyAgICAgICAgKiBjcnlwdG8va2V5cy9Dcnlw
dG9LZXlFQy5oOgorICAgICAgICAoV2ViQ29yZTo6Q0NFQ0NyeXB0b3JSZWZEZWxldGVyOjpvcGVy
YXRvcigpIGNvbnN0KToKKyAgICAgICAgKiBjcnlwdG8vbWFjL0NyeXB0b0tleUVDTWFjLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNyeXB0b0tleUVDOjprZXlTaXplSW5CaXRzIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkNyeXB0b0tleUVDOjpwbGF0Zm9ybUdlbmVyYXRlUGFpcik6CisgICAg
ICAgIChXZWJDb3JlOjpDcnlwdG9LZXlFQzo6cGxhdGZvcm1JbXBvcnRSYXcpOgorICAgICAgICAo
V2ViQ29yZTo6Q3J5cHRvS2V5RUM6OnBsYXRmb3JtRXhwb3J0UmF3IGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OkNyeXB0b0tleUVDOjpwbGF0Zm9ybUltcG9ydEpXS1B1YmxpYyk6CisgICAgICAg
IChXZWJDb3JlOjpDcnlwdG9LZXlFQzo6cGxhdGZvcm1JbXBvcnRKV0tQcml2YXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkNyeXB0b0tleUVDOjpwbGF0Zm9ybUFkZEZpZWxkRWxlbWVudHMgY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6Q3J5cHRvS2V5RUM6OnBsYXRmb3JtSW1wb3J0U3BraSk6Cisg
ICAgICAgIChXZWJDb3JlOjpDcnlwdG9LZXlFQzo6cGxhdGZvcm1FeHBvcnRTcGtpIGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6OkNyeXB0b0tleUVDOjpwbGF0Zm9ybUltcG9ydFBrY3M4KToKKyAg
ICAgICAgKFdlYkNvcmU6OkNyeXB0b0tleUVDOjpwbGF0Zm9ybUV4cG9ydFBrY3M4IGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6OkNyeXB0b0tleUVDOjp+Q3J5cHRvS2V5RUMpOiBEZWxldGVkLgor
CiAyMDE5LTAxLTA1ICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CiAKICAgICAg
ICAgTGVhayBvZiB0d28gQ0NSU0FDcnlwdG9yUmVmICg0LjAgS2J5dGVzLzEgcGFnZSBlYWNoKSBp
biBjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQgcnVubmluZyBXZWJLaXQgbGF5b3V0IHRlc3Rz
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vZ2NyeXB0L0NyeXB0b0tleUVDR0Ny
eXB0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9nY3J5cHQvQ3J5cHRvS2V5RUNHQ3J5cHQu
Y3BwCmluZGV4IGU4NjJiM2EwMzJiMWE5YmNjNzNlYzk4MTcwYTM5Mjc0N2ViZjE3OGMuLmY3NDk4
MDg1NTA2OTFlZTYxMDU4NjkyNmJlMjJmODM2ZGQ1NmRiNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2NyeXB0by9nY3J5cHQvQ3J5cHRvS2V5RUNHQ3J5cHQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2NyeXB0by9nY3J5cHQvQ3J5cHRvS2V5RUNHQ3J5cHQuY3BwCkBAIC0xLDUgKzEsNSBA
QAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTctMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTMxLDcgKzMxLDYgQEAK
ICNpbmNsdWRlICJDcnlwdG9LZXlQYWlyLmgiCiAjaW5jbHVkZSAiR0NyeXB0VXRpbGl0aWVzLmgi
CiAjaW5jbHVkZSAiSnNvbldlYktleS5oIgotI2luY2x1ZGUgPHBhbC9jcnlwdG8vZ2NyeXB0L0hh
bmRsZS5oPgogI2luY2x1ZGUgPHBhbC9jcnlwdG8vZ2NyeXB0L1V0aWxpdGllcy5oPgogI2luY2x1
ZGUgPHBhbC9jcnlwdG8vdGFzbjEvVXRpbGl0aWVzLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQmFz
ZTY0Lmg+CkBAIC0xMDMsMTYgKzEwMiwxMCBAQCBzdGF0aWMgdW5zaWduZWQgY3VydmVVbmNvbXBy
ZXNzZWRQb2ludFNpemUoQ3J5cHRvS2V5RUM6Ok5hbWVkQ3VydmUgY3VydmUpCiAgICAgcmV0dXJu
IDIgKiBjdXJ2ZVVuY29tcHJlc3NlZEZpZWxkRWxlbWVudFNpemUoY3VydmUpICsgMTsKIH0KIAot
Q3J5cHRvS2V5RUM6On5DcnlwdG9LZXlFQygpCi17Ci0gICAgaWYgKG1fcGxhdGZvcm1LZXkpCi0g
ICAgICAgIFBBTDo6R0NyeXB0OjpIYW5kbGVEZWxldGVyPGdjcnlfc2V4cF90PigpKG1fcGxhdGZv
cm1LZXkpOwotfQotCiBzaXplX3QgQ3J5cHRvS2V5RUM6OmtleVNpemVJbkJpdHMoKSBjb25zdAog
ewogICAgIHNpemVfdCBzaXplID0gY3VydmVTaXplKG1fY3VydmUpOwotICAgIEFTU0VSVChzaXpl
ID09IGdjcnlfcGtfZ2V0X25iaXRzKG1fcGxhdGZvcm1LZXkpKTsKKyAgICBBU1NFUlQoc2l6ZSA9
PSBnY3J5X3BrX2dldF9uYml0cyhtX3BsYXRmb3JtS2V5LmdldCgpKSk7CiAgICAgcmV0dXJuIHNp
emU7CiB9CiAKQEAgLTE0Miw4ICsxMzUsOCBAQCBPcHRpb25hbDxDcnlwdG9LZXlQYWlyPiBDcnlw
dG9LZXlFQzo6cGxhdGZvcm1HZW5lcmF0ZVBhaXIoQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZgogICAg
IGlmICghcHVibGljS2V5U2V4cCB8fCAhcHJpdmF0ZUtleVNleHApCiAgICAgICAgIHJldHVybiBX
VEY6Om51bGxvcHQ7CiAKLSAgICBhdXRvIHB1YmxpY0tleSA9IENyeXB0b0tleUVDOjpjcmVhdGUo
aWRlbnRpZmllciwgY3VydmUsIENyeXB0b0tleVR5cGU6OlB1YmxpYywgcHVibGljS2V5U2V4cC5y
ZWxlYXNlKCksIHRydWUsIHVzYWdlcyk7Ci0gICAgYXV0byBwcml2YXRlS2V5ID0gQ3J5cHRvS2V5
RUM6OmNyZWF0ZShpZGVudGlmaWVyLCBjdXJ2ZSwgQ3J5cHRvS2V5VHlwZTo6UHJpdmF0ZSwgcHJp
dmF0ZUtleVNleHAucmVsZWFzZSgpLCBleHRyYWN0YWJsZSwgdXNhZ2VzKTsKKyAgICBhdXRvIHB1
YmxpY0tleSA9IENyeXB0b0tleUVDOjpjcmVhdGUoaWRlbnRpZmllciwgY3VydmUsIENyeXB0b0tl
eVR5cGU6OlB1YmxpYywgUGxhdGZvcm1FQ0tleUNvbnRhaW5lcihwdWJsaWNLZXlTZXhwLnJlbGVh
c2UoKSksIHRydWUsIHVzYWdlcyk7CisgICAgYXV0byBwcml2YXRlS2V5ID0gQ3J5cHRvS2V5RUM6
OmNyZWF0ZShpZGVudGlmaWVyLCBjdXJ2ZSwgQ3J5cHRvS2V5VHlwZTo6UHJpdmF0ZSwgUGxhdGZv
cm1FQ0tleUNvbnRhaW5lcihwcml2YXRlS2V5U2V4cC5yZWxlYXNlKCkpLCBleHRyYWN0YWJsZSwg
dXNhZ2VzKTsKICAgICByZXR1cm4gQ3J5cHRvS2V5UGFpciB7IFdURk1vdmUocHVibGljS2V5KSwg
V1RGTW92ZShwcml2YXRlS2V5KSB9OwogfQogCkBAIC0xNjAsNyArMTUzLDcgQEAgUmVmUHRyPENy
eXB0b0tleUVDPiBDcnlwdG9LZXlFQzo6cGxhdGZvcm1JbXBvcnRSYXcoQ3J5cHRvQWxnb3JpdGht
SWRlbnRpZmllciBpZGUKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQogCi0gICAgcmV0
dXJuIGNyZWF0ZShpZGVudGlmaWVyLCBjdXJ2ZSwgQ3J5cHRvS2V5VHlwZTo6UHVibGljLCBwbGF0
Zm9ybUtleS5yZWxlYXNlKCksIGV4dHJhY3RhYmxlLCB1c2FnZXMpOworICAgIHJldHVybiBjcmVh
dGUoaWRlbnRpZmllciwgY3VydmUsIENyeXB0b0tleVR5cGU6OlB1YmxpYywgUGxhdGZvcm1FQ0tl
eUNvbnRhaW5lcihwbGF0Zm9ybUtleS5yZWxlYXNlKCkpLCBleHRyYWN0YWJsZSwgdXNhZ2VzKTsK
IH0KIAogUmVmUHRyPENyeXB0b0tleUVDPiBDcnlwdG9LZXlFQzo6cGxhdGZvcm1JbXBvcnRKV0tQ
dWJsaWMoQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBpZGVudGlmaWVyLCBOYW1lZEN1cnZlIGN1
cnZlLCBWZWN0b3I8dWludDhfdD4mJiB4LCBWZWN0b3I8dWludDhfdD4mJiB5LCBib29sIGV4dHJh
Y3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJpdG1hcCB1c2FnZXMpCkBAIC0xODQsNyArMTc3LDcgQEAg
UmVmUHRyPENyeXB0b0tleUVDPiBDcnlwdG9LZXlFQzo6cGxhdGZvcm1JbXBvcnRKV0tQdWJsaWMo
Q3J5cHRvQWxnb3JpdGhtSWRlbnRpZmkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQog
Ci0gICAgcmV0dXJuIGNyZWF0ZShpZGVudGlmaWVyLCBjdXJ2ZSwgQ3J5cHRvS2V5VHlwZTo6UHVi
bGljLCBwbGF0Zm9ybUtleS5yZWxlYXNlKCksIGV4dHJhY3RhYmxlLCB1c2FnZXMpOworICAgIHJl
dHVybiBjcmVhdGUoaWRlbnRpZmllciwgY3VydmUsIENyeXB0b0tleVR5cGU6OlB1YmxpYywgUGxh
dGZvcm1FQ0tleUNvbnRhaW5lcihwbGF0Zm9ybUtleS5yZWxlYXNlKCkpLCBleHRyYWN0YWJsZSwg
dXNhZ2VzKTsKIH0KIAogUmVmUHRyPENyeXB0b0tleUVDPiBDcnlwdG9LZXlFQzo6cGxhdGZvcm1J
bXBvcnRKV0tQcml2YXRlKENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIgaWRlbnRpZmllciwgTmFt
ZWRDdXJ2ZSBjdXJ2ZSwgVmVjdG9yPHVpbnQ4X3Q+JiYgeCwgVmVjdG9yPHVpbnQ4X3Q+JiYgeSwg
VmVjdG9yPHVpbnQ4X3Q+JiYgZCwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VCaXRt
YXAgdXNhZ2VzKQpAQCAtMjA4LDcgKzIwMSw3IEBAIFJlZlB0cjxDcnlwdG9LZXlFQz4gQ3J5cHRv
S2V5RUM6OnBsYXRmb3JtSW1wb3J0SldLUHJpdmF0ZShDcnlwdG9BbGdvcml0aG1JZGVudGlmCiAg
ICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIAotICAgIHJldHVybiBjcmVhdGUoaWRlbnRp
ZmllciwgY3VydmUsIENyeXB0b0tleVR5cGU6OlByaXZhdGUsIHBsYXRmb3JtS2V5LnJlbGVhc2Uo
KSwgZXh0cmFjdGFibGUsIHVzYWdlcyk7CisgICAgcmV0dXJuIGNyZWF0ZShpZGVudGlmaWVyLCBj
dXJ2ZSwgQ3J5cHRvS2V5VHlwZTo6UHJpdmF0ZSwgUGxhdGZvcm1FQ0tleUNvbnRhaW5lcihwbGF0
Zm9ybUtleS5yZWxlYXNlKCkpLCBleHRyYWN0YWJsZSwgdXNhZ2VzKTsKIH0KIAogc3RhdGljIGJv
b2wgc3VwcG9ydGVkQWxnb3JpdGhtSWRlbnRpZmllcihDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVy
IGtleUlkZW50aWZpZXIsIGNvbnN0IFZlY3Rvcjx1aW50OF90PiYgaWRlbnRpZmllcikKQEAgLTM0
NSw3ICszMzgsNyBAQCBSZWZQdHI8Q3J5cHRvS2V5RUM+IENyeXB0b0tleUVDOjpwbGF0Zm9ybUlt
cG9ydFNwa2koQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBpZAogICAgIH0KIAogICAgIC8vIEZp
bmFsbHkgY3JlYXRlIGEgbmV3IENyeXB0b0tleUVDIG9iamVjdCwgdHJhbnNmZXJyaW5nIHRvIGl0
IG93bmVyc2hpcCBvZiB0aGUgYHB1YmxpYy1rZXlgIHMtZXhwcmVzc2lvbi4KLSAgICByZXR1cm4g
Y3JlYXRlKGlkZW50aWZpZXIsIGN1cnZlLCBDcnlwdG9LZXlUeXBlOjpQdWJsaWMsIHBsYXRmb3Jt
S2V5LnJlbGVhc2UoKSwgZXh0cmFjdGFibGUsIHVzYWdlcyk7CisgICAgcmV0dXJuIGNyZWF0ZShp
ZGVudGlmaWVyLCBjdXJ2ZSwgQ3J5cHRvS2V5VHlwZTo6UHVibGljLCBQbGF0Zm9ybUVDS2V5Q29u
dGFpbmVyKHBsYXRmb3JtS2V5LnJlbGVhc2UoKSksIGV4dHJhY3RhYmxlLCB1c2FnZXMpOwogfQog
CiBSZWZQdHI8Q3J5cHRvS2V5RUM+IENyeXB0b0tleUVDOjpwbGF0Zm9ybUltcG9ydFBrY3M4KENy
eXB0b0FsZ29yaXRobUlkZW50aWZpZXIgaWRlbnRpZmllciwgTmFtZWRDdXJ2ZSBjdXJ2ZSwgVmVj
dG9yPHVpbnQ4X3Q+JiYga2V5RGF0YSwgYm9vbCBleHRyYWN0YWJsZSwgQ3J5cHRvS2V5VXNhZ2VC
aXRtYXAgdXNhZ2VzKQpAQCAtNDkwLDEzICs0ODMsMTMgQEAgUmVmUHRyPENyeXB0b0tleUVDPiBD
cnlwdG9LZXlFQzo6cGxhdGZvcm1JbXBvcnRQa2NzOChDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVy
IGkKICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwogICAgIH0KIAotICAgIHJldHVybiBjcmVh
dGUoaWRlbnRpZmllciwgY3VydmUsIENyeXB0b0tleVR5cGU6OlByaXZhdGUsIHBsYXRmb3JtS2V5
LnJlbGVhc2UoKSwgZXh0cmFjdGFibGUsIHVzYWdlcyk7CisgICAgcmV0dXJuIGNyZWF0ZShpZGVu
dGlmaWVyLCBjdXJ2ZSwgQ3J5cHRvS2V5VHlwZTo6UHJpdmF0ZSwgUGxhdGZvcm1FQ0tleUNvbnRh
aW5lcihwbGF0Zm9ybUtleS5yZWxlYXNlKCkpLCBleHRyYWN0YWJsZSwgdXNhZ2VzKTsKIH0KIAog
VmVjdG9yPHVpbnQ4X3Q+IENyeXB0b0tleUVDOjpwbGF0Zm9ybUV4cG9ydFJhdygpIGNvbnN0CiB7
CiAgICAgUEFMOjpHQ3J5cHQ6OkhhbmRsZTxnY3J5X2N0eF90PiBjb250ZXh0OwotICAgIGdjcnlf
ZXJyb3JfdCBlcnJvciA9IGdjcnlfbXBpX2VjX25ldygmY29udGV4dCwgbV9wbGF0Zm9ybUtleSwg
bnVsbHB0cik7CisgICAgZ2NyeV9lcnJvcl90IGVycm9yID0gZ2NyeV9tcGlfZWNfbmV3KCZjb250
ZXh0LCBtX3BsYXRmb3JtS2V5LmdldCgpLCBudWxscHRyKTsKICAgICBpZiAoZXJyb3IgIT0gR1BH
X0VSUl9OT19FUlJPUikgewogICAgICAgICBQQUw6OkdDcnlwdDo6bG9nRXJyb3IoZXJyb3IpOwog
ICAgICAgICByZXR1cm4geyB9OwpAQCAtNTE2LDcgKzUwOSw3IEBAIFZlY3Rvcjx1aW50OF90PiBD
cnlwdG9LZXlFQzo6cGxhdGZvcm1FeHBvcnRSYXcoKSBjb25zdAogYm9vbCBDcnlwdG9LZXlFQzo6
cGxhdGZvcm1BZGRGaWVsZEVsZW1lbnRzKEpzb25XZWJLZXkmIGp3aykgY29uc3QKIHsKICAgICBQ
QUw6OkdDcnlwdDo6SGFuZGxlPGdjcnlfY3R4X3Q+IGNvbnRleHQ7Ci0gICAgZ2NyeV9lcnJvcl90
IGVycm9yID0gZ2NyeV9tcGlfZWNfbmV3KCZjb250ZXh0LCBtX3BsYXRmb3JtS2V5LCBudWxscHRy
KTsKKyAgICBnY3J5X2Vycm9yX3QgZXJyb3IgPSBnY3J5X21waV9lY19uZXcoJmNvbnRleHQsIG1f
cGxhdGZvcm1LZXkuZ2V0KCksIG51bGxwdHIpOwogICAgIGlmIChlcnJvciAhPSBHUEdfRVJSX05P
X0VSUk9SKSB7CiAgICAgICAgIFBBTDo6R0NyeXB0Ojpsb2dFcnJvcihlcnJvcik7CiAgICAgICAg
IHJldHVybiBmYWxzZTsKQEAgLTU5NSw3ICs1ODgsNyBAQCBWZWN0b3I8dWludDhfdD4gQ3J5cHRv
S2V5RUM6OnBsYXRmb3JtRXhwb3J0U3BraSgpIGNvbnN0CiAgICAgICAgIH0KIAogICAgICAgICAv
LyBSZXRyaWV2ZSB0aGUgYHFgIHMtZXhwcmVzc2lvbiwgd2hpY2ggc2hvdWxkIGNvbnRhaW4gdGhl
IHB1YmxpYyBrZXkgZGF0YS4KLSAgICAgICAgUEFMOjpHQ3J5cHQ6OkhhbmRsZTxnY3J5X3NleHBf
dD4gcVNleHAoZ2NyeV9zZXhwX2ZpbmRfdG9rZW4obV9wbGF0Zm9ybUtleSwgInEiLCAwKSk7Cisg
ICAgICAgIFBBTDo6R0NyeXB0OjpIYW5kbGU8Z2NyeV9zZXhwX3Q+IHFTZXhwKGdjcnlfc2V4cF9m
aW5kX3Rva2VuKG1fcGxhdGZvcm1LZXkuZ2V0KCksICJxIiwgMCkpOwogICAgICAgICBpZiAoIXFT
ZXhwKQogICAgICAgICAgICAgcmV0dXJuIHsgfTsKIApAQCAtNjQ5LDcgKzY0Miw3IEBAIFZlY3Rv
cjx1aW50OF90PiBDcnlwdG9LZXlFQzo6cGxhdGZvcm1FeHBvcnRQa2NzOCgpIGNvbnN0CiAKICAg
ICAgICAgLy8gQ29uc3RydWN0IHRoZSBFQyBjb250ZXh0IHRoYXQgd2UnbGwgdXNlIHRvIHJldHJp
ZXZlIHByaXZhdGUgYW5kIHB1YmxpYyBrZXkgZGF0YS4KICAgICAgICAgUEFMOjpHQ3J5cHQ6Okhh
bmRsZTxnY3J5X2N0eF90PiBjb250ZXh0OwotICAgICAgICBnY3J5X2Vycm9yX3QgZXJyb3IgPSBn
Y3J5X21waV9lY19uZXcoJmNvbnRleHQsIG1fcGxhdGZvcm1LZXksIG51bGxwdHIpOworICAgICAg
ICBnY3J5X2Vycm9yX3QgZXJyb3IgPSBnY3J5X21waV9lY19uZXcoJmNvbnRleHQsIG1fcGxhdGZv
cm1LZXkuZ2V0KCksIG51bGxwdHIpOwogICAgICAgICBpZiAoZXJyb3IgIT0gR1BHX0VSUl9OT19F
UlJPUikKICAgICAgICAgICAgIHJldHVybiB7IH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2NyeXB0by9rZXlzL0NyeXB0b0tleUVDLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9r
ZXlzL0NyeXB0b0tleUVDLmNwcAppbmRleCAzNjliOTdmNDQ4YzJjM2FmMzA3MGZjODRhZTE5ZTE4
NjE1NDY1ZTRjLi43ZWE0MTMyZTcyZTdjNWI4ZDM4OTk4ZjFiYzAxZGMwNjlmYmEwZjcxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlFQy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5RUMuY3BwCkBAIC0xLDUgKzEsNSBA
QAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTctMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTUwLDkgKzUwLDkgQEAg
c3RhdGljIE9wdGlvbmFsPENyeXB0b0tleUVDOjpOYW1lZEN1cnZlPiB0b05hbWVkQ3VydmUoY29u
c3QgU3RyaW5nJiBjdXJ2ZSkKICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogfQogCi1DcnlwdG9L
ZXlFQzo6Q3J5cHRvS2V5RUMoQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBpZGVudGlmaWVyLCBO
YW1lZEN1cnZlIGN1cnZlLCBDcnlwdG9LZXlUeXBlIHR5cGUsIFBsYXRmb3JtRUNLZXkgcGxhdGZv
cm1LZXksIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwIHVzYWdlcykKK0Ny
eXB0b0tleUVDOjpDcnlwdG9LZXlFQyhDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGlkZW50aWZp
ZXIsIE5hbWVkQ3VydmUgY3VydmUsIENyeXB0b0tleVR5cGUgdHlwZSwgUGxhdGZvcm1FQ0tleUNv
bnRhaW5lciYmIHBsYXRmb3JtS2V5LCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9LZXlVc2FnZUJp
dG1hcCB1c2FnZXMpCiAgICAgOiBDcnlwdG9LZXkoaWRlbnRpZmllciwgdHlwZSwgZXh0cmFjdGFi
bGUsIHVzYWdlcykKLSAgICAsIG1fcGxhdGZvcm1LZXkocGxhdGZvcm1LZXkpCisgICAgLCBtX3Bs
YXRmb3JtS2V5KFdURk1vdmUocGxhdGZvcm1LZXkpKQogICAgICwgbV9jdXJ2ZShjdXJ2ZSkKIHsK
ICAgICAvLyBPbmx5IENyeXB0b0tleUVDIG9iamVjdHMgZm9yIHN1cHBvcnRlZCBjdXJ2ZXMgc2hv
dWxkIGJlIGNyZWF0ZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8va2V5cy9D
cnlwdG9LZXlFQy5oIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL2tleXMvQ3J5cHRvS2V5RUMuaApp
bmRleCA0MjAwNGU3ZDE1MTQ5ZjdmZTIzOTc5NTcwMTNjNmIwODk3OGY4NzEwLi40MjAzZGE2M2I3
N2FmYzIyNjBkNzFkZWNlYmM4OTk0MzY4NTMwMmVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jcnlwdG8va2V5cy9DcnlwdG9LZXlFQy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0by9r
ZXlzL0NyeXB0b0tleUVDLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAy
MDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAx
Ny0yMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
ICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwpAQCAtMzIsMTQgKzMyLDIyIEBACiAjaWYgRU5BQkxFKFdFQl9DUllQVE8p
CiAKICNpZiBPUyhEQVJXSU4pICYmICFQTEFURk9STShHVEspCi10eXBlZGVmIHN0cnVjdCBfQ0NF
Q0NyeXB0b3IgKkNDRUNDcnlwdG9yUmVmOworI2luY2x1ZGUgIkNvbW1vbkNyeXB0b1V0aWxpdGll
cy5oIgorCiB0eXBlZGVmIENDRUNDcnlwdG9yUmVmIFBsYXRmb3JtRUNLZXk7CituYW1lc3BhY2Ug
V2ViQ29yZSB7CitzdHJ1Y3QgQ0NFQ0NyeXB0b3JSZWZEZWxldGVyIHsKKyAgICB2b2lkIG9wZXJh
dG9yKCkoQ0NFQ0NyeXB0b3JSZWYga2V5KSBjb25zdCB7IENDRUNDcnlwdG9yUmVsZWFzZShrZXkp
OyB9Cit9OworfQordHlwZWRlZiBzdGQ6OnVuaXF1ZV9wdHI8dHlwZW5hbWUgc3RkOjpyZW1vdmVf
cG9pbnRlcjxDQ0VDQ3J5cHRvclJlZj46OnR5cGUsIFdlYkNvcmU6OkNDRUNDcnlwdG9yUmVmRGVs
ZXRlcj4gUGxhdGZvcm1FQ0tleUNvbnRhaW5lcjsKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oR1RL
KSB8fCBQTEFURk9STShXUEUpCi0vLyBnY3J5X3NleHAqIGVxdWF0ZXMgZ2NyeV9zZXhwX3QuCi1z
dHJ1Y3QgZ2NyeV9zZXhwOwotdHlwZWRlZiBnY3J5X3NleHAqIFBsYXRmb3JtRUNLZXk7CisjaW5j
bHVkZSA8cGFsL2NyeXB0by9nY3J5cHQvSGFuZGxlLmg+CisKK3R5cGVkZWYgZ2NyeV9zZXhwX3Qg
UGxhdGZvcm1FQ0tleTsKK3R5cGVkZWYgc3RkOjp1bmlxdWVfcHRyPHR5cGVuYW1lIHN0ZDo6cmVt
b3ZlX3BvaW50ZXI8Z2NyeV9zZXhwX3Q+Ojp0eXBlLCBQQUw6OkdDcnlwdDo6SGFuZGxlRGVsZXRl
cjxnY3J5X3NleHBfdD4+IFBsYXRmb3JtRUNLZXlDb250YWluZXI7CiAjZW5kaWYKIAogCkBAIC01
NSwxMSArNjMsMTEgQEAgcHVibGljOgogICAgICAgICBQNTIxLAogICAgIH07CiAKLSAgICBzdGF0
aWMgUmVmPENyeXB0b0tleUVDPiBjcmVhdGUoQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmllciBpZGVu
dGlmaWVyLCBOYW1lZEN1cnZlIGN1cnZlLCBDcnlwdG9LZXlUeXBlIHR5cGUsIFBsYXRmb3JtRUNL
ZXkgcGxhdGZvcm1LZXksIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwIHVz
YWdlcykKKyAgICBzdGF0aWMgUmVmPENyeXB0b0tleUVDPiBjcmVhdGUoQ3J5cHRvQWxnb3JpdGht
SWRlbnRpZmllciBpZGVudGlmaWVyLCBOYW1lZEN1cnZlIGN1cnZlLCBDcnlwdG9LZXlUeXBlIHR5
cGUsIFBsYXRmb3JtRUNLZXlDb250YWluZXImJiBwbGF0Zm9ybUtleSwgYm9vbCBleHRyYWN0YWJs
ZSwgQ3J5cHRvS2V5VXNhZ2VCaXRtYXAgdXNhZ2VzKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFk
b3B0UmVmKCpuZXcgQ3J5cHRvS2V5RUMoaWRlbnRpZmllciwgY3VydmUsIHR5cGUsIHBsYXRmb3Jt
S2V5LCBleHRyYWN0YWJsZSwgdXNhZ2VzKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3
IENyeXB0b0tleUVDKGlkZW50aWZpZXIsIGN1cnZlLCB0eXBlLCBXVEZNb3ZlKHBsYXRmb3JtS2V5
KSwgZXh0cmFjdGFibGUsIHVzYWdlcykpOwogICAgIH0KLSAgICB2aXJ0dWFsIH5DcnlwdG9LZXlF
QygpOworICAgIHZpcnR1YWwgfkNyeXB0b0tleUVDKCkgPSBkZWZhdWx0OwogCiAgICAgc3RhdGlj
IEV4Y2VwdGlvbk9yPENyeXB0b0tleVBhaXI+IGdlbmVyYXRlUGFpcihDcnlwdG9BbGdvcml0aG1J
ZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGN1cnZlLCBib29sIGV4dHJhY3RhYmxlLCBDcnlwdG9L
ZXlVc2FnZUJpdG1hcCk7CiAgICAgc3RhdGljIFJlZlB0cjxDcnlwdG9LZXlFQz4gaW1wb3J0UmF3
KENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgY3VydmUsIFZlY3Rvcjx1
aW50OF90PiYmIGtleURhdGEsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFw
KTsKQEAgLTc1LDExICs4MywxMSBAQCBwdWJsaWM6CiAgICAgc2l6ZV90IGtleVNpemVJbkJpdHMo
KSBjb25zdDsKICAgICBOYW1lZEN1cnZlIG5hbWVkQ3VydmUoKSBjb25zdCB7IHJldHVybiBtX2N1
cnZlOyB9CiAgICAgU3RyaW5nIG5hbWVkQ3VydmVTdHJpbmcoKSBjb25zdDsKLSAgICBQbGF0Zm9y
bUVDS2V5IHBsYXRmb3JtS2V5KCkgY29uc3QgeyByZXR1cm4gbV9wbGF0Zm9ybUtleTsgfQorICAg
IFBsYXRmb3JtRUNLZXkgcGxhdGZvcm1LZXkoKSBjb25zdCB7IHJldHVybiBtX3BsYXRmb3JtS2V5
LmdldCgpOyB9CiAgICAgc3RhdGljIGJvb2wgaXNWYWxpZEVDQWxnb3JpdGhtKENyeXB0b0FsZ29y
aXRobUlkZW50aWZpZXIpOwogCiBwcml2YXRlOgotICAgIENyeXB0b0tleUVDKENyeXB0b0FsZ29y
aXRobUlkZW50aWZpZXIsIE5hbWVkQ3VydmUsIENyeXB0b0tleVR5cGUsIFBsYXRmb3JtRUNLZXks
IGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwKTsKKyAgICBDcnlwdG9LZXlF
QyhDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyLCBOYW1lZEN1cnZlLCBDcnlwdG9LZXlUeXBlLCBQ
bGF0Zm9ybUVDS2V5Q29udGFpbmVyJiYsIGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdl
Qml0bWFwKTsKIAogICAgIENyeXB0b0tleUNsYXNzIGtleUNsYXNzKCkgY29uc3QgZmluYWwgeyBy
ZXR1cm4gQ3J5cHRvS2V5Q2xhc3M6OkVDOyB9CiAKQEAgLTk3LDcgKzEwNSw3IEBAIHByaXZhdGU6
CiAgICAgVmVjdG9yPHVpbnQ4X3Q+IHBsYXRmb3JtRXhwb3J0U3BraSgpIGNvbnN0OwogICAgIFZl
Y3Rvcjx1aW50OF90PiBwbGF0Zm9ybUV4cG9ydFBrY3M4KCkgY29uc3Q7CiAKLSAgICBQbGF0Zm9y
bUVDS2V5IG1fcGxhdGZvcm1LZXk7CisgICAgUGxhdGZvcm1FQ0tleUNvbnRhaW5lciBtX3BsYXRm
b3JtS2V5OwogICAgIE5hbWVkQ3VydmUgbV9jdXJ2ZTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2NyeXB0by9tYWMvQ3J5cHRvS2V5RUNNYWMuY3BwIGIvU291cmNlL1dlYkNvcmUv
Y3J5cHRvL21hYy9DcnlwdG9LZXlFQ01hYy5jcHAKaW5kZXggMzk2MGI3NDI0YmEwNWYxNjZiMjVl
MTE4NTA0ODI0MjQ5M2RjMWNiMi4uNDQ1ZGYxOThiZWM0MDNkYWRiODdkMWVmNGNlYjg0NjY3OWMy
Mzk5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3J5cHRvL21hYy9DcnlwdG9LZXlFQ01h
Yy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3J5cHRvL21hYy9DcnlwdG9LZXlFQ01hYy5jcHAK
QEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNy0yMDE5IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAt
MjksNyArMjksNiBAQAogI2lmIEVOQUJMRShXRUJfQ1JZUFRPKQogCiAjaW5jbHVkZSAiQ29tbW9u
Q3J5cHRvREVSVXRpbGl0aWVzLmgiCi0jaW5jbHVkZSAiQ29tbW9uQ3J5cHRvVXRpbGl0aWVzLmgi
CiAjaW5jbHVkZSAiSnNvbldlYktleS5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L0Jhc2U2NC5oPgog
CkBAIC05NSwxNCArOTQsOSBAQCBzdGF0aWMgc2l6ZV90IGdldEtleVNpemVGcm9tTmFtZWRDdXJ2
ZShDcnlwdG9LZXlFQzo6TmFtZWRDdXJ2ZSBjdXJ2ZSkKICAgICByZXR1cm4gMDsKIH0KIAotQ3J5
cHRvS2V5RUM6On5DcnlwdG9LZXlFQygpCi17Ci0gICAgQ0NFQ0NyeXB0b3JSZWxlYXNlKG1fcGxh
dGZvcm1LZXkpOwotfQotCiBzaXplX3QgQ3J5cHRvS2V5RUM6OmtleVNpemVJbkJpdHMoKSBjb25z
dAogewotICAgIGludCByZXN1bHQgPSBDQ0VDR2V0S2V5U2l6ZShtX3BsYXRmb3JtS2V5KTsKKyAg
ICBpbnQgcmVzdWx0ID0gQ0NFQ0dldEtleVNpemUobV9wbGF0Zm9ybUtleS5nZXQoKSk7CiAgICAg
cmV0dXJuIHJlc3VsdCA/IHJlc3VsdCA6IDA7CiB9CiAKQEAgLTExNCwxMyArMTA4LDEzIEBAIGJv
b2wgQ3J5cHRvS2V5RUM6OnBsYXRmb3JtU3VwcG9ydGVkQ3VydmUoTmFtZWRDdXJ2ZSBjdXJ2ZSkK
IE9wdGlvbmFsPENyeXB0b0tleVBhaXI+IENyeXB0b0tleUVDOjpwbGF0Zm9ybUdlbmVyYXRlUGFp
cihDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGlkZW50aWZpZXIsIE5hbWVkQ3VydmUgY3VydmUs
IGJvb2wgZXh0cmFjdGFibGUsIENyeXB0b0tleVVzYWdlQml0bWFwIHVzYWdlcykKIHsKICAgICBz
aXplX3Qgc2l6ZSA9IGdldEtleVNpemVGcm9tTmFtZWRDdXJ2ZShjdXJ2ZSk7Ci0gICAgQ0NFQ0Ny
eXB0b3JSZWYgY2NQdWJsaWNLZXk7Ci0gICAgQ0NFQ0NyeXB0b3JSZWYgY2NQcml2YXRlS2V5Owor
ICAgIENDRUNDcnlwdG9yUmVmIGNjUHVibGljS2V5ID0gbnVsbHB0cjsKKyAgICBDQ0VDQ3J5cHRv
clJlZiBjY1ByaXZhdGVLZXkgPSBudWxscHRyOwogICAgIGlmIChDQ0VDQ3J5cHRvckdlbmVyYXRl
UGFpcihzaXplLCAmY2NQdWJsaWNLZXksICZjY1ByaXZhdGVLZXkpKQogICAgICAgICByZXR1cm4g
V1RGOjpudWxsb3B0OwogCi0gICAgYXV0byBwdWJsaWNLZXkgPSBDcnlwdG9LZXlFQzo6Y3JlYXRl
KGlkZW50aWZpZXIsIGN1cnZlLCBDcnlwdG9LZXlUeXBlOjpQdWJsaWMsIGNjUHVibGljS2V5LCB0
cnVlLCB1c2FnZXMpOwotICAgIGF1dG8gcHJpdmF0ZUtleSA9IENyeXB0b0tleUVDOjpjcmVhdGUo
aWRlbnRpZmllciwgY3VydmUsIENyeXB0b0tleVR5cGU6OlByaXZhdGUsIGNjUHJpdmF0ZUtleSwg
ZXh0cmFjdGFibGUsIHVzYWdlcyk7CisgICAgYXV0byBwdWJsaWNLZXkgPSBDcnlwdG9LZXlFQzo6
Y3JlYXRlKGlkZW50aWZpZXIsIGN1cnZlLCBDcnlwdG9LZXlUeXBlOjpQdWJsaWMsIFBsYXRmb3Jt
RUNLZXlDb250YWluZXIoY2NQdWJsaWNLZXkpLCB0cnVlLCB1c2FnZXMpOworICAgIGF1dG8gcHJp
dmF0ZUtleSA9IENyeXB0b0tleUVDOjpjcmVhdGUoaWRlbnRpZmllciwgY3VydmUsIENyeXB0b0tl
eVR5cGU6OlByaXZhdGUsIFBsYXRmb3JtRUNLZXlDb250YWluZXIoY2NQcml2YXRlS2V5KSwgZXh0
cmFjdGFibGUsIHVzYWdlcyk7CiAgICAgcmV0dXJuIENyeXB0b0tleVBhaXIgeyBXVEZNb3ZlKHB1
YmxpY0tleSksIFdURk1vdmUocHJpdmF0ZUtleSkgfTsKIH0KIApAQCAtMTI5LDExICsxMjMsMTEg
QEAgUmVmUHRyPENyeXB0b0tleUVDPiBDcnlwdG9LZXlFQzo6cGxhdGZvcm1JbXBvcnRSYXcoQ3J5
cHRvQWxnb3JpdGhtSWRlbnRpZmllciBpZGUKICAgICBpZiAoIWRvZXNVbmNvbXByZXNzZWRQb2lu
dE1hdGNoTmFtZWRDdXJ2ZShjdXJ2ZSwga2V5RGF0YS5zaXplKCkpKQogICAgICAgICByZXR1cm4g
bnVsbHB0cjsKIAotICAgIENDRUNDcnlwdG9yUmVmIGNjUHVibGljS2V5OworICAgIENDRUNDcnlw
dG9yUmVmIGNjUHVibGljS2V5ID0gbnVsbHB0cjsKICAgICBpZiAoQ0NFQ0NyeXB0b3JJbXBvcnRL
ZXkoa0NDSW1wb3J0S2V5QmluYXJ5LCBrZXlEYXRhLmRhdGEoKSwga2V5RGF0YS5zaXplKCksIGNj
RUNLZXlQdWJsaWMsICZjY1B1YmxpY0tleSkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCi0g
ICAgcmV0dXJuIGNyZWF0ZShpZGVudGlmaWVyLCBjdXJ2ZSwgQ3J5cHRvS2V5VHlwZTo6UHVibGlj
LCBjY1B1YmxpY0tleSwgZXh0cmFjdGFibGUsIHVzYWdlcyk7CisgICAgcmV0dXJuIGNyZWF0ZShp
ZGVudGlmaWVyLCBjdXJ2ZSwgQ3J5cHRvS2V5VHlwZTo6UHVibGljLCBQbGF0Zm9ybUVDS2V5Q29u
dGFpbmVyKGNjUHVibGljS2V5KSwgZXh0cmFjdGFibGUsIHVzYWdlcyk7CiB9CiAKIFZlY3Rvcjx1
aW50OF90PiBDcnlwdG9LZXlFQzo6cGxhdGZvcm1FeHBvcnRSYXcoKSBjb25zdApAQCAtMTQxLDcg
KzEzNSw3IEBAIFZlY3Rvcjx1aW50OF90PiBDcnlwdG9LZXlFQzo6cGxhdGZvcm1FeHBvcnRSYXco
KSBjb25zdAogICAgIHNpemVfdCBleHBlY3RlZFNpemUgPSBrZXlTaXplSW5CaXRzKCkgLyA0ICsg
MTsgLy8gUGVyIFNlY3Rpb24gMi4zLjQgb2YgaHR0cDovL3d3dy5zZWNnLm9yZy9zZWMxLXYyLnBk
ZgogICAgIFZlY3Rvcjx1aW50OF90PiByZXN1bHQoZXhwZWN0ZWRTaXplKTsKICAgICBzaXplX3Qg
c2l6ZSA9IHJlc3VsdC5zaXplKCk7Ci0gICAgaWYgKFVOTElLRUxZKENDRUNDcnlwdG9yRXhwb3J0
S2V5KGtDQ0ltcG9ydEtleUJpbmFyeSwgcmVzdWx0LmRhdGEoKSwgJnNpemUsIGNjRUNLZXlQdWJs
aWMsIG1fcGxhdGZvcm1LZXkpIHx8IHNpemUgIT0gZXhwZWN0ZWRTaXplKSkKKyAgICBpZiAoVU5M
SUtFTFkoQ0NFQ0NyeXB0b3JFeHBvcnRLZXkoa0NDSW1wb3J0S2V5QmluYXJ5LCByZXN1bHQuZGF0
YSgpLCAmc2l6ZSwgY2NFQ0tleVB1YmxpYywgbV9wbGF0Zm9ybUtleS5nZXQoKSkgfHwgc2l6ZSAh
PSBleHBlY3RlZFNpemUpKQogICAgICAgICByZXR1cm4geyB9OwogICAgIHJldHVybiByZXN1bHQ7
CiB9CkBAIC0xNTIsMTEgKzE0NiwxMSBAQCBSZWZQdHI8Q3J5cHRvS2V5RUM+IENyeXB0b0tleUVD
OjpwbGF0Zm9ybUltcG9ydEpXS1B1YmxpYyhDcnlwdG9BbGdvcml0aG1JZGVudGlmaQogICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKIAogICAgIHNpemVfdCBzaXplID0gZ2V0S2V5U2l6ZUZyb21OYW1l
ZEN1cnZlKGN1cnZlKTsKLSAgICBDQ0VDQ3J5cHRvclJlZiBjY1B1YmxpY0tleTsKKyAgICBDQ0VD
Q3J5cHRvclJlZiBjY1B1YmxpY0tleSA9IG51bGxwdHI7CiAgICAgaWYgKENDRUNDcnlwdG9yQ3Jl
YXRlRnJvbURhdGEoc2l6ZSwgeC5kYXRhKCksIHguc2l6ZSgpLCB5LmRhdGEoKSwgeS5zaXplKCks
ICZjY1B1YmxpY0tleSkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCi0gICAgcmV0dXJuIGNy
ZWF0ZShpZGVudGlmaWVyLCBjdXJ2ZSwgQ3J5cHRvS2V5VHlwZTo6UHVibGljLCBjY1B1YmxpY0tl
eSwgZXh0cmFjdGFibGUsIHVzYWdlcyk7CisgICAgcmV0dXJuIGNyZWF0ZShpZGVudGlmaWVyLCBj
dXJ2ZSwgQ3J5cHRvS2V5VHlwZTo6UHVibGljLCBQbGF0Zm9ybUVDS2V5Q29udGFpbmVyKGNjUHVi
bGljS2V5KSwgZXh0cmFjdGFibGUsIHVzYWdlcyk7CiB9CiAKIFJlZlB0cjxDcnlwdG9LZXlFQz4g
Q3J5cHRvS2V5RUM6OnBsYXRmb3JtSW1wb3J0SldLUHJpdmF0ZShDcnlwdG9BbGdvcml0aG1JZGVu
dGlmaWVyIGlkZW50aWZpZXIsIE5hbWVkQ3VydmUgY3VydmUsIFZlY3Rvcjx1aW50OF90PiYmIHgs
IFZlY3Rvcjx1aW50OF90PiYmIHksIFZlY3Rvcjx1aW50OF90PiYmIGQsIGJvb2wgZXh0cmFjdGFi
bGUsIENyeXB0b0tleVVzYWdlQml0bWFwIHVzYWdlcykKQEAgLTE3MiwxMSArMTY2LDExIEBAIFJl
ZlB0cjxDcnlwdG9LZXlFQz4gQ3J5cHRvS2V5RUM6OnBsYXRmb3JtSW1wb3J0SldLUHJpdmF0ZShD
cnlwdG9BbGdvcml0aG1JZGVudGlmCiAgICAgYmluYXJ5SW5wdXQuYXBwZW5kVmVjdG9yKHkpOwog
ICAgIGJpbmFyeUlucHV0LmFwcGVuZFZlY3RvcihkKTsKIAotICAgIENDRUNDcnlwdG9yUmVmIGNj
UHJpdmF0ZUtleTsKKyAgICBDQ0VDQ3J5cHRvclJlZiBjY1ByaXZhdGVLZXkgPSBudWxscHRyOwog
ICAgIGlmIChDQ0VDQ3J5cHRvckltcG9ydEtleShrQ0NJbXBvcnRLZXlCaW5hcnksIGJpbmFyeUlu
cHV0LmRhdGEoKSwgYmluYXJ5SW5wdXQuc2l6ZSgpLCBjY0VDS2V5UHJpdmF0ZSwgJmNjUHJpdmF0
ZUtleSkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCi0gICAgcmV0dXJuIGNyZWF0ZShpZGVu
dGlmaWVyLCBjdXJ2ZSwgQ3J5cHRvS2V5VHlwZTo6UHJpdmF0ZSwgY2NQcml2YXRlS2V5LCBleHRy
YWN0YWJsZSwgdXNhZ2VzKTsKKyAgICByZXR1cm4gY3JlYXRlKGlkZW50aWZpZXIsIGN1cnZlLCBD
cnlwdG9LZXlUeXBlOjpQcml2YXRlLCBQbGF0Zm9ybUVDS2V5Q29udGFpbmVyKGNjUHJpdmF0ZUtl
eSksIGV4dHJhY3RhYmxlLCB1c2FnZXMpOwogfQogCiBib29sIENyeXB0b0tleUVDOjpwbGF0Zm9y
bUFkZEZpZWxkRWxlbWVudHMoSnNvbldlYktleSYgandrKSBjb25zdApAQCAtMTg5LDExICsxODMs
MTEgQEAgYm9vbCBDcnlwdG9LZXlFQzo6cGxhdGZvcm1BZGRGaWVsZEVsZW1lbnRzKEpzb25XZWJL
ZXkmIGp3aykgY29uc3QKICAgICBzaXplX3Qgc2l6ZSA9IHJlc3VsdC5zaXplKCk7CiAgICAgc3dp
dGNoICh0eXBlKCkpIHsKICAgICBjYXNlIENyeXB0b0tleVR5cGU6OlB1YmxpYzoKLSAgICAgICAg
aWYgKFVOTElLRUxZKENDRUNDcnlwdG9yRXhwb3J0S2V5KGtDQ0ltcG9ydEtleUJpbmFyeSwgcmVz
dWx0LmRhdGEoKSwgJnNpemUsIGNjRUNLZXlQdWJsaWMsIG1fcGxhdGZvcm1LZXkpKSkKKyAgICAg
ICAgaWYgKFVOTElLRUxZKENDRUNDcnlwdG9yRXhwb3J0S2V5KGtDQ0ltcG9ydEtleUJpbmFyeSwg
cmVzdWx0LmRhdGEoKSwgJnNpemUsIGNjRUNLZXlQdWJsaWMsIG1fcGxhdGZvcm1LZXkuZ2V0KCkp
KSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBD
cnlwdG9LZXlUeXBlOjpQcml2YXRlOgotICAgICAgICBpZiAoVU5MSUtFTFkoQ0NFQ0NyeXB0b3JF
eHBvcnRLZXkoa0NDSW1wb3J0S2V5QmluYXJ5LCByZXN1bHQuZGF0YSgpLCAmc2l6ZSwgY2NFQ0tl
eVByaXZhdGUsIG1fcGxhdGZvcm1LZXkpKSkKKyAgICAgICAgaWYgKFVOTElLRUxZKENDRUNDcnlw
dG9yRXhwb3J0S2V5KGtDQ0ltcG9ydEtleUJpbmFyeSwgcmVzdWx0LmRhdGEoKSwgJnNpemUsIGNj
RUNLZXlQcml2YXRlLCBtX3BsYXRmb3JtS2V5LmdldCgpKSkpCiAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CiAgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CkBAIC0yNjksMTEgKzI2MywxMSBA
QCBSZWZQdHI8Q3J5cHRvS2V5RUM+IENyeXB0b0tleUVDOjpwbGF0Zm9ybUltcG9ydFNwa2koQ3J5
cHRvQWxnb3JpdGhtSWRlbnRpZmllciBpZAogICAgIGlmICghZG9lc1VuY29tcHJlc3NlZFBvaW50
TWF0Y2hOYW1lZEN1cnZlKGN1cnZlLCBrZXlEYXRhLnNpemUoKSAtIGluZGV4KSkKICAgICAgICAg
cmV0dXJuIG51bGxwdHI7CiAKLSAgICBDQ0VDQ3J5cHRvclJlZiBjY1B1YmxpY0tleTsKKyAgICBD
Q0VDQ3J5cHRvclJlZiBjY1B1YmxpY0tleSA9IG51bGxwdHI7CiAgICAgaWYgKENDRUNDcnlwdG9y
SW1wb3J0S2V5KGtDQ0ltcG9ydEtleUJpbmFyeSwga2V5RGF0YS5kYXRhKCkgKyBpbmRleCwga2V5
RGF0YS5zaXplKCkgLSBpbmRleCwgY2NFQ0tleVB1YmxpYywgJmNjUHVibGljS2V5KSkKICAgICAg
ICAgcmV0dXJuIG51bGxwdHI7CiAKLSAgICByZXR1cm4gY3JlYXRlKGlkZW50aWZpZXIsIGN1cnZl
LCBDcnlwdG9LZXlUeXBlOjpQdWJsaWMsIGNjUHVibGljS2V5LCBleHRyYWN0YWJsZSwgdXNhZ2Vz
KTsKKyAgICByZXR1cm4gY3JlYXRlKGlkZW50aWZpZXIsIGN1cnZlLCBDcnlwdG9LZXlUeXBlOjpQ
dWJsaWMsIFBsYXRmb3JtRUNLZXlDb250YWluZXIoY2NQdWJsaWNLZXkpLCBleHRyYWN0YWJsZSwg
dXNhZ2VzKTsKIH0KIAogVmVjdG9yPHVpbnQ4X3Q+IENyeXB0b0tleUVDOjpwbGF0Zm9ybUV4cG9y
dFNwa2koKSBjb25zdApAQCAtMjgxLDcgKzI3NSw3IEBAIFZlY3Rvcjx1aW50OF90PiBDcnlwdG9L
ZXlFQzo6cGxhdGZvcm1FeHBvcnRTcGtpKCkgY29uc3QKICAgICBzaXplX3QgZXhwZWN0ZWRLZXlT
aXplID0ga2V5U2l6ZUluQml0cygpIC8gNCArIDE7IC8vIFBlciBTZWN0aW9uIDIuMy40IG9mIGh0
dHA6Ly93d3cuc2VjZy5vcmcvc2VjMS12Mi5wZGYKICAgICBWZWN0b3I8dWludDhfdD4ga2V5Qnl0
ZXMoZXhwZWN0ZWRLZXlTaXplKTsKICAgICBzaXplX3Qga2V5U2l6ZSA9IGtleUJ5dGVzLnNpemUo
KTsKLSAgICBpZiAoVU5MSUtFTFkoQ0NFQ0NyeXB0b3JFeHBvcnRLZXkoa0NDSW1wb3J0S2V5Qmlu
YXJ5LCBrZXlCeXRlcy5kYXRhKCksICZrZXlTaXplLCBjY0VDS2V5UHVibGljLCBtX3BsYXRmb3Jt
S2V5KSB8fCBrZXlTaXplICE9IGV4cGVjdGVkS2V5U2l6ZSkpCisgICAgaWYgKFVOTElLRUxZKEND
RUNDcnlwdG9yRXhwb3J0S2V5KGtDQ0ltcG9ydEtleUJpbmFyeSwga2V5Qnl0ZXMuZGF0YSgpLCAm
a2V5U2l6ZSwgY2NFQ0tleVB1YmxpYywgbV9wbGF0Zm9ybUtleS5nZXQoKSkgfHwga2V5U2l6ZSAh
PSBleHBlY3RlZEtleVNpemUpKQogICAgICAgICByZXR1cm4geyB9OwogCiAgICAgLy8gVGhlIGZv
bGxvd2luZyBhZGRlcyBTUEtJIGhlYWRlciB0byBhIHJhdyBFQyBwdWJsaWMga2V5LgpAQCAtMzY2
LDExICszNjAsMTEgQEAgUmVmUHRyPENyeXB0b0tleUVDPiBDcnlwdG9LZXlFQzo6cGxhdGZvcm1J
bXBvcnRQa2NzOChDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGkKICAgICAgICAgcmV0dXJuIG51
bGxwdHI7CiAgICAga2V5QmluYXJ5LmFwcGVuZChrZXlEYXRhLmRhdGEoKSArIHByaXZhdGVLZXlQ
b3MsIGdldEtleVNpemVGcm9tTmFtZWRDdXJ2ZShjdXJ2ZSkgLyA4KTsKIAotICAgIENDRUNDcnlw
dG9yUmVmIGNjUHJpdmF0ZUtleTsKKyAgICBDQ0VDQ3J5cHRvclJlZiBjY1ByaXZhdGVLZXkgPSBu
dWxscHRyOwogICAgIGlmIChDQ0VDQ3J5cHRvckltcG9ydEtleShrQ0NJbXBvcnRLZXlCaW5hcnks
IGtleUJpbmFyeS5kYXRhKCksIGtleUJpbmFyeS5zaXplKCksIGNjRUNLZXlQcml2YXRlLCAmY2NQ
cml2YXRlS2V5KSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKLSAgICByZXR1cm4gY3JlYXRl
KGlkZW50aWZpZXIsIGN1cnZlLCBDcnlwdG9LZXlUeXBlOjpQcml2YXRlLCBjY1ByaXZhdGVLZXks
IGV4dHJhY3RhYmxlLCB1c2FnZXMpOworICAgIHJldHVybiBjcmVhdGUoaWRlbnRpZmllciwgY3Vy
dmUsIENyeXB0b0tleVR5cGU6OlByaXZhdGUsIFBsYXRmb3JtRUNLZXlDb250YWluZXIoY2NQcml2
YXRlS2V5KSwgZXh0cmFjdGFibGUsIHVzYWdlcyk7CiB9CiAKIFZlY3Rvcjx1aW50OF90PiBDcnlw
dG9LZXlFQzo6cGxhdGZvcm1FeHBvcnRQa2NzOCgpIGNvbnN0CkBAIC0zNzksNyArMzczLDcgQEAg
VmVjdG9yPHVpbnQ4X3Q+IENyeXB0b0tleUVDOjpwbGF0Zm9ybUV4cG9ydFBrY3M4KCkgY29uc3QK
ICAgICBzaXplX3QgZXhwZWN0ZWRLZXlTaXplID0ga2V5U2l6ZUluQnl0ZXMgKiAzICsgMTsgLy8g
MDQgKyBYICsgWSArIEQKICAgICBWZWN0b3I8dWludDhfdD4ga2V5Qnl0ZXMoZXhwZWN0ZWRLZXlT
aXplKTsKICAgICBzaXplX3Qga2V5U2l6ZSA9IGtleUJ5dGVzLnNpemUoKTsKLSAgICBpZiAoVU5M
SUtFTFkoQ0NFQ0NyeXB0b3JFeHBvcnRLZXkoa0NDSW1wb3J0S2V5QmluYXJ5LCBrZXlCeXRlcy5k
YXRhKCksICZrZXlTaXplLCBjY0VDS2V5UHJpdmF0ZSwgbV9wbGF0Zm9ybUtleSkgfHwga2V5U2l6
ZSAhPSBleHBlY3RlZEtleVNpemUpKQorICAgIGlmIChVTkxJS0VMWShDQ0VDQ3J5cHRvckV4cG9y
dEtleShrQ0NJbXBvcnRLZXlCaW5hcnksIGtleUJ5dGVzLmRhdGEoKSwgJmtleVNpemUsIGNjRUNL
ZXlQcml2YXRlLCBtX3BsYXRmb3JtS2V5LmdldCgpKSB8fCBrZXlTaXplICE9IGV4cGVjdGVkS2V5
U2l6ZSkpCiAgICAgICAgIHJldHVybiB7IH07CiAKICAgICAvLyBUaGUgZm9sbG93aW5nIGFkZGVz
IFBLQ1M4IGhlYWRlciB0byBhIHJhdyBFQyBwcml2YXRlIGtleS4K
</data>

          </attachment>
      

    </bug>

</bugzilla>