<?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>199450</bug_id>
          
          <creation_ts>2019-07-03 09:57:59 -0700</creation_ts>
          <short_desc>Strengthen updating/removing of service worker registrations</short_desc>
          <delta_ts>2019-07-03 14:16:50 -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>Service Workers</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1549898</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-07-03 09:57:59 -0700</bug_when>
    <thetext>Strengthen updating/removing of registrations from the database</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549899</commentid>
    <comment_count>1</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-07-03 09:58:28 -0700</bug_when>
    <thetext>&lt;rdar://problem/51891395&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549906</commentid>
    <comment_count>2</comment_count>
      <attachid>373394</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-07-03 10:04:25 -0700</bug_when>
    <thetext>Created attachment 373394
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549941</commentid>
    <comment_count>3</comment_count>
      <attachid>373401</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-07-03 11:14:42 -0700</bug_when>
    <thetext>Created attachment 373401
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549950</commentid>
    <comment_count>4</comment_count>
      <attachid>373405</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-07-03 12:44:15 -0700</bug_when>
    <thetext>Created attachment 373405
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549991</commentid>
    <comment_count>5</comment_count>
      <attachid>373405</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-07-03 14:16:49 -0700</bug_when>
    <thetext>Comment on attachment 373405
Patch

Clearing flags on attachment: 373405

Committed r247104: &lt;https://trac.webkit.org/changeset/247104&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1549992</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-07-03 14:16:50 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>373394</attachid>
            <date>2019-07-03 10:04:25 -0700</date>
            <delta_ts>2019-07-03 11:14:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199450-20190703100424.patch</filename>
            <type>text/plain</type>
            <size>14530</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3MDczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGM5YzJjMGFmNTNkY2Nh
Y2IwYjc2YTY0ZjU3ZWU4NjFmNzQzMzYzZS4uOThkOGQxZmU5ODZhY2VjOGRjNmM2NDhkY2VkNThl
NjhiNDhkNjc1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDE5LTA3LTAzICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBTdHJlbmd0aGVuIHVwZGF0
aW5nL3JlbW92aW5nIG9mIHJlZ2lzdHJhdGlvbnMgZnJvbSB0aGUgZGF0YWJhc2UKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5OTQ1MAorICAgICAgICBy
ZGFyOi8vcHJvYmxlbS81MTg5MTM5NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFNXU2VydmVyV29ya2VyIGlzIHJlZiBjb3VudGVkIGFuZCBoYXMgYSBy
ZWYgdG8gaXRzIFNXU2VydmVyLgorICAgICAgICBUaGVyZSBpcyB0aHVzIGEgcG9zc2liaWxpdHkg
Zm9yIFNXU2VydmVyV29ya2VyIHRvIGxpdmUgbG9uZ2VyIHRoYW4gaXRzIFNXU2VydmVyLgorICAg
ICAgICBUbyBtaXRpZ2F0ZSB0aGlzLCBoYXZlIFNXU2VydmVyV29ya2VyIHVzZSBhIFdlYWtQdHI8
U1dTZXJ2ZXI+LgorICAgICAgICBNYWtlIGFsc28gc3VyZSB0aGF0IFJlZ2lzdHJhdGlvblN0b3Jl
IHVwZGF0ZWQgcmVnaXN0cmF0aW9uIG1hcCBkb2VzIG5vdCBnZXQgY29ycnVwdGVkIGJ5IGNoZWNr
aW5nCisgICAgICAgIHRoZSByZWdpc3RyYXRpb24ga2V5cyBleHBsaWNpdGx5LgorCisgICAgICAg
IENvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2Uv
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleS5oOgorICAgICAgICAoV2ViQ29yZTo6U2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbktleTo6b3BlcmF0b3IhPSBjb25zdCk6CisgICAgICAgICogd29y
a2Vycy9zZXJ2aWNlL3NlcnZlci9SZWdpc3RyYXRpb25TdG9yZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZWdpc3RyYXRpb25TdG9yZTo6dXBkYXRlUmVnaXN0cmF0aW9uKToKKyAgICAgICAgKFdl
YkNvcmU6OlJlZ2lzdHJhdGlvblN0b3JlOjpyZW1vdmVSZWdpc3RyYXRpb24pOgorICAgICAgICAo
V2ViQ29yZTo6UmVnaXN0cmF0aW9uU3RvcmU6OmFkZFJlZ2lzdHJhdGlvbkZyb21EYXRhYmFzZSk6
CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9SZWdpc3RyYXRpb25TdG9yZS5oOgor
ICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U1dTZXJ2ZXI6OnJlbW92ZVJlZ2lzdHJhdGlvbik6CisgICAgICAgICogd29ya2Vy
cy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9z
ZXJ2ZXIvU1dTZXJ2ZXJXb3JrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1dTZXJ2ZXJXb3Jr
ZXI6OlNXU2VydmVyV29ya2VyKToKKyAgICAgICAgKFdlYkNvcmU6Om1fc2NyaXB0UmVzb3VyY2VN
YXApOgorICAgICAgICAoV2ViQ29yZTo6U1dTZXJ2ZXJXb3JrZXI6OmNvbnRleHREYXRhIGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OlNXU2VydmVyV29ya2VyOjp0ZXJtaW5hdGUpOgorICAgICAg
ICAoV2ViQ29yZTo6U1dTZXJ2ZXJXb3JrZXI6OnNjcmlwdENvbnRleHRGYWlsZWRUb1N0YXJ0KToK
KyAgICAgICAgKFdlYkNvcmU6OlNXU2VydmVyV29ya2VyOjpzY3JpcHRDb250ZXh0U3RhcnRlZCk6
CisgICAgICAgIChXZWJDb3JlOjpTV1NlcnZlcldvcmtlcjo6ZGlkRmluaXNoSW5zdGFsbCk6Cisg
ICAgICAgIChXZWJDb3JlOjpTV1NlcnZlcldvcmtlcjo6ZGlkRmluaXNoQWN0aXZhdGlvbik6Cisg
ICAgICAgIChXZWJDb3JlOjpTV1NlcnZlcldvcmtlcjo6Y29udGV4dFRlcm1pbmF0ZWQpOgorICAg
ICAgICAoV2ViQ29yZTo6U1dTZXJ2ZXJXb3JrZXI6OmZpbmRDbGllbnRCeUlkZW50aWZpZXIgY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6U1dTZXJ2ZXJXb3JrZXI6Om1hdGNoQWxsKToKKyAgICAg
ICAgKFdlYkNvcmU6OlNXU2VydmVyV29ya2VyOjp1c2VyQWdlbnQgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6U1dTZXJ2ZXJXb3JrZXI6OmNsYWltKToKKyAgICAgICAgKFdlYkNvcmU6OlNXU2Vy
dmVyV29ya2VyOjpza2lwV2FpdGluZyk6CisgICAgICAgIChXZWJDb3JlOjpTV1NlcnZlcldvcmtl
cjo6c2V0SGFzUGVuZGluZ0V2ZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpTV1NlcnZlcldvcmtl
cjo6c2V0U3RhdGUpOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJX
b3JrZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNXU2VydmVyV29ya2VyOjpzZXJ2ZXIpOgorCiAy
MDE5LTA3LTAyICBBbmRyZXMgR29uemFsZXogIDxhbmRyZXNnXzIyQGFwcGxlLmNvbT4KIAogICAg
ICAgICBFbmhhbmNlIHN1cHBvcnQgb2YgYXJpYS1oYXNwb3B1cCBwZXIgQVJJQSAxLjEgc3BlY2lm
aWNhdGlvbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleS5oCmluZGV4IDVmMjEzNzY1NGRiNGMzYzc0
ZDViZjc1MjA3NTZjNDQzYTgxMmFkNTguLmM1MDJjNGI5ZTY2Zjg2NTE3NTk2YjM1ZWUyNjViMjgy
NTQ1NDllNDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
ZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkuaApAQCAtNDEsNiArNDEsNyBAQCBw
dWJsaWM6CiAgICAgdW5zaWduZWQgaGFzaCgpIGNvbnN0OwogCiAgICAgYm9vbCBvcGVyYXRvcj09
KGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmKSBjb25zdDsKKyAgICBib29sIG9w
ZXJhdG9yIT0oY29uc3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYga2V5KSBjb25zdCB7
IHJldHVybiAhKCp0aGlzID09IGtleSk7IH0KICAgICBXRUJDT1JFX0VYUE9SVCBib29sIGlzTWF0
Y2hpbmcoY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRhJiB0b3BPcmlnaW4sIGNvbnN0IFVSTCYgY2xp
ZW50VVJMKSBjb25zdDsKICAgICBib29sIG9yaWdpbklzTWF0Y2hpbmcoY29uc3QgU2VjdXJpdHlP
cmlnaW5EYXRhJiB0b3BPcmlnaW4sIGNvbnN0IFVSTCYgY2xpZW50VVJMKSBjb25zdDsKICAgICBz
aXplX3Qgc2NvcGVMZW5ndGgoKSBjb25zdCB7IHJldHVybiBtX3Njb3BlLnN0cmluZygpLmxlbmd0
aCgpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVy
L1JlZ2lzdHJhdGlvblN0b3JlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9z
ZXJ2ZXIvUmVnaXN0cmF0aW9uU3RvcmUuY3BwCmluZGV4IGJiMmUxNGRkODI1MmUwMWY5ODRmZTIx
MjczMTExNDlmOWVjYTcyMmIuLmY1YTQ0YWQ4ZGE0NTVhZTczZjBhZTNmYWM5NjE4ODA2MDA5MWFi
MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvUmVn
aXN0cmF0aW9uU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9z
ZXJ2ZXIvUmVnaXN0cmF0aW9uU3RvcmUuY3BwCkBAIC0xMDQsMjEgKzEwNCwzNSBAQCB2b2lkIFJl
Z2lzdHJhdGlvblN0b3JlOjplbmRTdXNwZW5zaW9uKCkKIAogdm9pZCBSZWdpc3RyYXRpb25TdG9y
ZTo6dXBkYXRlUmVnaXN0cmF0aW9uKGNvbnN0IFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YSYgZGF0
YSkKIHsKKyAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOworICAgIEFTU0VSVChkYXRhLnJlZ2lz
dHJhdGlvbi5rZXkgIT0gU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleTo6ZW1wdHlLZXkoKSk7
CisgICAgaWYgKGRhdGEucmVnaXN0cmF0aW9uLmtleSA9PSBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uS2V5OjplbXB0eUtleSgpKQorICAgICAgICByZXR1cm47CisKICAgICBtX3VwZGF0ZWRSZWdp
c3RyYXRpb25zLnNldChkYXRhLnJlZ2lzdHJhdGlvbi5rZXksIGRhdGEpOwogICAgIHNjaGVkdWxl
RGF0YWJhc2VQdXNoSWZOZWNlc3NhcnkoKTsKIH0KIAotdm9pZCBSZWdpc3RyYXRpb25TdG9yZTo6
cmVtb3ZlUmVnaXN0cmF0aW9uKFNXU2VydmVyUmVnaXN0cmF0aW9uJiByZWdpc3RyYXRpb24pCit2
b2lkIFJlZ2lzdHJhdGlvblN0b3JlOjpyZW1vdmVSZWdpc3RyYXRpb24oY29uc3QgU2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbktleSYga2V5KQogeworICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7
CisgICAgQVNTRVJUKGtleSAhPSBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5OjplbXB0eUtl
eSgpKTsKKyAgICBpZiAoa2V5ID09IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXk6OmVtcHR5
S2V5KCkpCisgICAgICAgIHJldHVybjsKKwogICAgIFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YSBj
b250ZXh0RGF0YTsKLSAgICBjb250ZXh0RGF0YS5yZWdpc3RyYXRpb24ua2V5ID0gcmVnaXN0cmF0
aW9uLmtleSgpOwotICAgIG1fdXBkYXRlZFJlZ2lzdHJhdGlvbnMuc2V0KHJlZ2lzdHJhdGlvbi5r
ZXkoKSwgV1RGTW92ZShjb250ZXh0RGF0YSkpOworICAgIGNvbnRleHREYXRhLnJlZ2lzdHJhdGlv
bi5rZXkgPSBrZXk7CisgICAgbV91cGRhdGVkUmVnaXN0cmF0aW9ucy5zZXQoa2V5LCBXVEZNb3Zl
KGNvbnRleHREYXRhKSk7CiAgICAgc2NoZWR1bGVEYXRhYmFzZVB1c2hJZk5lY2Vzc2FyeSgpOwog
fQogCi12b2lkIFJlZ2lzdHJhdGlvblN0b3JlOjphZGRSZWdpc3RyYXRpb25Gcm9tRGF0YWJhc2Uo
U2VydmljZVdvcmtlckNvbnRleHREYXRhJiYgY29udGV4dCkKK3ZvaWQgUmVnaXN0cmF0aW9uU3Rv
cmU6OmFkZFJlZ2lzdHJhdGlvbkZyb21EYXRhYmFzZShTZXJ2aWNlV29ya2VyQ29udGV4dERhdGEm
JiBkYXRhKQogewotICAgIG1fc2VydmVyLmFkZFJlZ2lzdHJhdGlvbkZyb21TdG9yZShXVEZNb3Zl
KGNvbnRleHQpKTsKKyAgICBBU1NFUlQoZGF0YS5yZWdpc3RyYXRpb24ua2V5ICE9IFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb25LZXk6OmVtcHR5S2V5KCkpOworICAgIGlmIChkYXRhLnJlZ2lzdHJh
dGlvbi5rZXkgPT0gU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleTo6ZW1wdHlLZXkoKSkKKyAg
ICAgICAgcmV0dXJuOworCisgICAgbV9zZXJ2ZXIuYWRkUmVnaXN0cmF0aW9uRnJvbVN0b3JlKFdU
Rk1vdmUoZGF0YSkpOwogfQogCiB2b2lkIFJlZ2lzdHJhdGlvblN0b3JlOjpkYXRhYmFzZUZhaWxl
ZFRvT3BlbigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2Vy
dmVyL1JlZ2lzdHJhdGlvblN0b3JlLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
c2VydmVyL1JlZ2lzdHJhdGlvblN0b3JlLmgKaW5kZXggMWRkNWE4Y2Q2ZmMxYmI2OTc3MmI2MTJi
N2VkZmQyYjUxZTAzNjY0ZC4uNWRkN2IyZWRhMjRkZWEzYmZlNzJjMzIzZDJiNDhhMThkOTg2NmY3
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9SZWdp
c3RyYXRpb25TdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2
ZXIvUmVnaXN0cmF0aW9uU3RvcmUuaApAQCAtNTcsNyArNTcsNyBAQCBwdWJsaWM6CiAKICAgICAv
LyBDYWxsYmFja3MgZnJvbSB0aGUgU1dTZXJ2ZXIKICAgICB2b2lkIHVwZGF0ZVJlZ2lzdHJhdGlv
bihjb25zdCBTZXJ2aWNlV29ya2VyQ29udGV4dERhdGEmKTsKLSAgICB2b2lkIHJlbW92ZVJlZ2lz
dHJhdGlvbihTV1NlcnZlclJlZ2lzdHJhdGlvbiYpOworICAgIHZvaWQgcmVtb3ZlUmVnaXN0cmF0
aW9uKGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmKTsKIAogICAgIC8vIENhbGxi
YWNrcyBmcm9tIHRoZSBkYXRhYmFzZQogICAgIHZvaWQgYWRkUmVnaXN0cmF0aW9uRnJvbURhdGFi
YXNlKFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YSYmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5jcHAKaW5kZXggYzc2MjkwM2NjOTNmODI0
NGRjOTk1MmU3MWVjYzg3OTdhZDY4ZDMyMy4uNGM5OThlMTMwNDUzYTcyNTU3MjQyOWRmMTZiNTVl
MDc3NTE5Yjg2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3Nl
cnZlci9TV1NlcnZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3Nl
cnZlci9TV1NlcnZlci5jcHAKQEAgLTE3Nyw3ICsxNzcsNyBAQCB2b2lkIFNXU2VydmVyOjpyZW1v
dmVSZWdpc3RyYXRpb24oY29uc3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYga2V5KQog
CiAgICAgbV9vcmlnaW5TdG9yZS0+cmVtb3ZlKHRvcE9yaWdpbik7CiAgICAgaWYgKG1fcmVnaXN0
cmF0aW9uU3RvcmUpCi0gICAgICAgIG1fcmVnaXN0cmF0aW9uU3RvcmUtPnJlbW92ZVJlZ2lzdHJh
dGlvbigqcmVnaXN0cmF0aW9uKTsKKyAgICAgICAgbV9yZWdpc3RyYXRpb25TdG9yZS0+cmVtb3Zl
UmVnaXN0cmF0aW9uKGtleSk7CiB9CiAKIFZlY3RvcjxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
RGF0YT4gU1dTZXJ2ZXI6OmdldFJlZ2lzdHJhdGlvbnMoY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRh
JiB0b3BPcmlnaW4sIGNvbnN0IFVSTCYgY2xpZW50VVJMKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5oIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5oCmluZGV4IDNjOTdlODc5NTg5OWY1OTg2
ZGVmNTNkZmUwNjllMzEwOGRlNWM0NmQuLjU1OTljNmI0MjJlOTdjZjJlZGIxN2E1NGJjOTQ3MjAw
NmU2MmUyN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2
ZXIvU1dTZXJ2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVy
L1NXU2VydmVyLmgKQEAgLTYyLDcgKzYyLDcgQEAgc3RydWN0IFNlcnZpY2VXb3JrZXJGZXRjaFJl
c3VsdDsKIHN0cnVjdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YTsKIGNsYXNzIFRpbWVy
OwogCi1jbGFzcyBTV1NlcnZlciB7CitjbGFzcyBTV1NlcnZlciA6IHB1YmxpYyBDYW5NYWtlV2Vh
a1B0cjxTV1NlcnZlcj4gewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgog
ICAgIGNsYXNzIENvbm5lY3Rpb24gOiBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8Q29ubmVjdGlvbj4g
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1Nl
cnZlcldvcmtlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NX
U2VydmVyV29ya2VyLmNwcAppbmRleCA4NzNiNTAyOWI1MjBhZTgxOGVlYjJkNTgyOWM3NGJhYTA1
OTM3NmJiLi42N2E2MDY5MWQyZjYzZTg3ZjE5Njg2NzFmNDAyYWNmYjYwYTkzNmRjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyV29ya2Vy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVy
V29ya2VyLmNwcApAQCAtNDgsNyArNDgsNyBAQCBTV1NlcnZlcldvcmtlciogU1dTZXJ2ZXJXb3Jr
ZXI6OmV4aXN0aW5nV29ya2VyRm9ySWRlbnRpZmllcihTZXJ2aWNlV29ya2VySWRlbnRpZgogCiAv
LyBGSVhNRTogVXNlIHItdmFsdWUgcmVmZXJlbmNlcyBmb3Igc2NyaXB0IGFuZCBjb250ZW50U2Vj
dXJpdHlQb2xpY3kKIFNXU2VydmVyV29ya2VyOjpTV1NlcnZlcldvcmtlcihTV1NlcnZlciYgc2Vy
dmVyLCBTV1NlcnZlclJlZ2lzdHJhdGlvbiYgcmVnaXN0cmF0aW9uLCBjb25zdCBVUkwmIHNjcmlw
dFVSTCwgY29uc3QgU3RyaW5nJiBzY3JpcHQsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJl
c3BvbnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5LCBTdHJpbmcmJiByZWZlcnJlclBv
bGljeSwgV29ya2VyVHlwZSB0eXBlLCBTZXJ2aWNlV29ya2VySWRlbnRpZmllciBpZGVudGlmaWVy
LCBIYXNoTWFwPFVSTCwgU2VydmljZVdvcmtlckNvbnRleHREYXRhOjpJbXBvcnRlZFNjcmlwdD4m
JiBzY3JpcHRSZXNvdXJjZU1hcCkKLSAgICA6IG1fc2VydmVyKHNlcnZlcikKKyAgICA6IG1fc2Vy
dmVyKG1ha2VXZWFrUHRyKHNlcnZlcikpCiAgICAgLCBtX3JlZ2lzdHJhdGlvbktleShyZWdpc3Ry
YXRpb24ua2V5KCkpCiAgICAgLCBtX2RhdGEgeyBpZGVudGlmaWVyLCBzY3JpcHRVUkwsIFNlcnZp
Y2VXb3JrZXJTdGF0ZTo6UmVkdW5kYW50LCB0eXBlLCByZWdpc3RyYXRpb24uaWRlbnRpZmllcigp
IH0KICAgICAsIG1fc2NyaXB0KHNjcmlwdCkKQEAgLTYyLDcgKzYyLDcgQEAgU1dTZXJ2ZXJXb3Jr
ZXI6OlNXU2VydmVyV29ya2VyKFNXU2VydmVyJiBzZXJ2ZXIsIFNXU2VydmVyUmVnaXN0cmF0aW9u
JiByZWdpc3RyYXQKICAgICBhdXRvIHJlc3VsdCA9IGFsbFdvcmtlcnMoKS5hZGQoaWRlbnRpZmll
ciwgdGhpcyk7CiAgICAgQVNTRVJUX1VOVVNFRChyZXN1bHQsIHJlc3VsdC5pc05ld0VudHJ5KTsK
IAotICAgIEFTU0VSVChtX3NlcnZlci5nZXRSZWdpc3RyYXRpb24obV9yZWdpc3RyYXRpb25LZXkp
KTsKKyAgICBBU1NFUlQobV9zZXJ2ZXItPmdldFJlZ2lzdHJhdGlvbihtX3JlZ2lzdHJhdGlvbktl
eSkpOwogfQogCiBTV1NlcnZlcldvcmtlcjo6flNXU2VydmVyV29ya2VyKCkKQEAgLTc1LDE2ICs3
NSwxNiBAQCBTV1NlcnZlcldvcmtlcjo6flNXU2VydmVyV29ya2VyKCkKIAogU2VydmljZVdvcmtl
ckNvbnRleHREYXRhIFNXU2VydmVyV29ya2VyOjpjb250ZXh0RGF0YSgpIGNvbnN0CiB7Ci0gICAg
YXV0byogcmVnaXN0cmF0aW9uID0gbV9zZXJ2ZXIuZ2V0UmVnaXN0cmF0aW9uKG1fcmVnaXN0cmF0
aW9uS2V5KTsKKyAgICBhdXRvKiByZWdpc3RyYXRpb24gPSBtX3NlcnZlci0+Z2V0UmVnaXN0cmF0
aW9uKG1fcmVnaXN0cmF0aW9uS2V5KTsKICAgICBBU1NFUlQocmVnaXN0cmF0aW9uKTsKIAotICAg
IHJldHVybiB7IFdURjo6bnVsbG9wdCwgcmVnaXN0cmF0aW9uLT5kYXRhKCksIG1fZGF0YS5pZGVu
dGlmaWVyLCBtX3NjcmlwdCwgbV9jb250ZW50U2VjdXJpdHlQb2xpY3ksIG1fcmVmZXJyZXJQb2xp
Y3ksIG1fZGF0YS5zY3JpcHRVUkwsIG1fZGF0YS50eXBlLCBtX3NlcnZlci5zZXNzaW9uSUQoKSwg
ZmFsc2UsIG1fc2NyaXB0UmVzb3VyY2VNYXAgfTsKKyAgICByZXR1cm4geyBXVEY6Om51bGxvcHQs
IHJlZ2lzdHJhdGlvbi0+ZGF0YSgpLCBtX2RhdGEuaWRlbnRpZmllciwgbV9zY3JpcHQsIG1fY29u
dGVudFNlY3VyaXR5UG9saWN5LCBtX3JlZmVycmVyUG9saWN5LCBtX2RhdGEuc2NyaXB0VVJMLCBt
X2RhdGEudHlwZSwgbV9zZXJ2ZXItPnNlc3Npb25JRCgpLCBmYWxzZSwgbV9zY3JpcHRSZXNvdXJj
ZU1hcCB9OwogfQogCiB2b2lkIFNXU2VydmVyV29ya2VyOjp0ZXJtaW5hdGUoKQogewogICAgIGlm
IChpc1J1bm5pbmcoKSkKLSAgICAgICAgbV9zZXJ2ZXIudGVybWluYXRlV29ya2VyKCp0aGlzKTsK
KyAgICAgICAgbV9zZXJ2ZXItPnRlcm1pbmF0ZVdvcmtlcigqdGhpcyk7CiB9CiAKIGNvbnN0IENs
aWVudE9yaWdpbiYgU1dTZXJ2ZXJXb3JrZXI6Om9yaWdpbigpIGNvbnN0CkBAIC0xMDIsNDcgKzEw
Miw0NyBAQCBTV1NlcnZlclRvQ29udGV4dENvbm5lY3Rpb24qIFNXU2VydmVyV29ya2VyOjpjb250
ZXh0Q29ubmVjdGlvbigpCiAKIHZvaWQgU1dTZXJ2ZXJXb3JrZXI6OnNjcmlwdENvbnRleHRGYWls
ZWRUb1N0YXJ0KGNvbnN0IE9wdGlvbmFsPFNlcnZpY2VXb3JrZXJKb2JEYXRhSWRlbnRpZmllcj4m
IGpvYkRhdGFJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCiB7Ci0gICAgbV9zZXJ2
ZXIuc2NyaXB0Q29udGV4dEZhaWxlZFRvU3RhcnQoam9iRGF0YUlkZW50aWZpZXIsICp0aGlzLCBt
ZXNzYWdlKTsKKyAgICBtX3NlcnZlci0+c2NyaXB0Q29udGV4dEZhaWxlZFRvU3RhcnQoam9iRGF0
YUlkZW50aWZpZXIsICp0aGlzLCBtZXNzYWdlKTsKIH0KIAogdm9pZCBTV1NlcnZlcldvcmtlcjo6
c2NyaXB0Q29udGV4dFN0YXJ0ZWQoY29uc3QgT3B0aW9uYWw8U2VydmljZVdvcmtlckpvYkRhdGFJ
ZGVudGlmaWVyPiYgam9iRGF0YUlkZW50aWZpZXIpCiB7Ci0gICAgbV9zZXJ2ZXIuc2NyaXB0Q29u
dGV4dFN0YXJ0ZWQoam9iRGF0YUlkZW50aWZpZXIsICp0aGlzKTsKKyAgICBtX3NlcnZlci0+c2Ny
aXB0Q29udGV4dFN0YXJ0ZWQoam9iRGF0YUlkZW50aWZpZXIsICp0aGlzKTsKIH0KIAogdm9pZCBT
V1NlcnZlcldvcmtlcjo6ZGlkRmluaXNoSW5zdGFsbChjb25zdCBPcHRpb25hbDxTZXJ2aWNlV29y
a2VySm9iRGF0YUlkZW50aWZpZXI+JiBqb2JEYXRhSWRlbnRpZmllciwgYm9vbCB3YXNTdWNjZXNz
ZnVsKQogewotICAgIG1fc2VydmVyLmRpZEZpbmlzaEluc3RhbGwoam9iRGF0YUlkZW50aWZpZXIs
ICp0aGlzLCB3YXNTdWNjZXNzZnVsKTsKKyAgICBtX3NlcnZlci0+ZGlkRmluaXNoSW5zdGFsbChq
b2JEYXRhSWRlbnRpZmllciwgKnRoaXMsIHdhc1N1Y2Nlc3NmdWwpOwogfQogCiB2b2lkIFNXU2Vy
dmVyV29ya2VyOjpkaWRGaW5pc2hBY3RpdmF0aW9uKCkKIHsKLSAgICBtX3NlcnZlci5kaWRGaW5p
c2hBY3RpdmF0aW9uKCp0aGlzKTsKKyAgICBtX3NlcnZlci0+ZGlkRmluaXNoQWN0aXZhdGlvbigq
dGhpcyk7CiB9CiAKIHZvaWQgU1dTZXJ2ZXJXb3JrZXI6OmNvbnRleHRUZXJtaW5hdGVkKCkKIHsK
LSAgICBtX3NlcnZlci53b3JrZXJDb250ZXh0VGVybWluYXRlZCgqdGhpcyk7CisgICAgbV9zZXJ2
ZXItPndvcmtlckNvbnRleHRUZXJtaW5hdGVkKCp0aGlzKTsKIH0KIAogT3B0aW9uYWw8U2Vydmlj
ZVdvcmtlckNsaWVudERhdGE+IFNXU2VydmVyV29ya2VyOjpmaW5kQ2xpZW50QnlJZGVudGlmaWVy
KGNvbnN0IFNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyJiBjbGllbnRJZCkgY29uc3QKIHsK
LSAgICByZXR1cm4gbV9zZXJ2ZXIuc2VydmljZVdvcmtlckNsaWVudFdpdGhPcmlnaW5CeUlEKG9y
aWdpbigpLCBjbGllbnRJZCk7CisgICAgcmV0dXJuIG1fc2VydmVyLT5zZXJ2aWNlV29ya2VyQ2xp
ZW50V2l0aE9yaWdpbkJ5SUQob3JpZ2luKCksIGNsaWVudElkKTsKIH0KIAogdm9pZCBTV1NlcnZl
cldvcmtlcjo6bWF0Y2hBbGwoY29uc3QgU2VydmljZVdvcmtlckNsaWVudFF1ZXJ5T3B0aW9ucyYg
b3B0aW9ucywgU2VydmljZVdvcmtlckNsaWVudHNNYXRjaEFsbENhbGxiYWNrJiYgY2FsbGJhY2sp
CiB7Ci0gICAgcmV0dXJuIG1fc2VydmVyLm1hdGNoQWxsKCp0aGlzLCBvcHRpb25zLCBXVEZNb3Zl
KGNhbGxiYWNrKSk7CisgICAgcmV0dXJuIG1fc2VydmVyLT5tYXRjaEFsbCgqdGhpcywgb3B0aW9u
cywgV1RGTW92ZShjYWxsYmFjaykpOwogfQogCiBTdHJpbmcgU1dTZXJ2ZXJXb3JrZXI6OnVzZXJB
Z2VudCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fc2VydmVyLnNlcnZpY2VXb3JrZXJDbGllbnRV
c2VyQWdlbnQob3JpZ2luKCkpOworICAgIHJldHVybiBtX3NlcnZlci0+c2VydmljZVdvcmtlckNs
aWVudFVzZXJBZ2VudChvcmlnaW4oKSk7CiB9CiAKIHZvaWQgU1dTZXJ2ZXJXb3JrZXI6OmNsYWlt
KCkKIHsKLSAgICByZXR1cm4gbV9zZXJ2ZXIuY2xhaW0oKnRoaXMpOworICAgIHJldHVybiBtX3Nl
cnZlci0+Y2xhaW0oKnRoaXMpOwogfQogCiB2b2lkIFNXU2VydmVyV29ya2VyOjpzZXRTY3JpcHRS
ZXNvdXJjZShVUkwmJiB1cmwsIFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YTo6SW1wb3J0ZWRTY3Jp
cHQmJiBzY3JpcHQpCkBAIC0xNTQsNyArMTU0LDcgQEAgdm9pZCBTV1NlcnZlcldvcmtlcjo6c2tp
cFdhaXRpbmcoKQogewogICAgIG1faXNTa2lwV2FpdGluZ0ZsYWdTZXQgPSB0cnVlOwogCi0gICAg
YXV0byogcmVnaXN0cmF0aW9uID0gbV9zZXJ2ZXIuZ2V0UmVnaXN0cmF0aW9uKG1fcmVnaXN0cmF0
aW9uS2V5KTsKKyAgICBhdXRvKiByZWdpc3RyYXRpb24gPSBtX3NlcnZlci0+Z2V0UmVnaXN0cmF0
aW9uKG1fcmVnaXN0cmF0aW9uS2V5KTsKICAgICBBU1NFUlQocmVnaXN0cmF0aW9uIHx8IGlzVGVy
bWluYXRpbmcoKSk7CiAgICAgaWYgKHJlZ2lzdHJhdGlvbikKICAgICAgICAgcmVnaXN0cmF0aW9u
LT50cnlBY3RpdmF0ZSgpOwpAQCAtMTcwLDcgKzE3MCw3IEBAIHZvaWQgU1dTZXJ2ZXJXb3JrZXI6
OnNldEhhc1BlbmRpbmdFdmVudHMoYm9vbCBoYXNQZW5kaW5nRXZlbnRzKQogICAgICAgICByZXR1
cm47CiAKICAgICAvLyBEbyB0cnlDbGVhci90cnlBY3RpdmF0ZSwgYXMgcGVyIGh0dHBzOi8vdzNj
LmdpdGh1Yi5pby9TZXJ2aWNlV29ya2VyLyN3YWl0LXVudGlsLW1ldGhvZC4KLSAgICBhdXRvKiBy
ZWdpc3RyYXRpb24gPSBtX3NlcnZlci5nZXRSZWdpc3RyYXRpb24obV9yZWdpc3RyYXRpb25LZXkp
OworICAgIGF1dG8qIHJlZ2lzdHJhdGlvbiA9IG1fc2VydmVyLT5nZXRSZWdpc3RyYXRpb24obV9y
ZWdpc3RyYXRpb25LZXkpOwogICAgIGlmICghcmVnaXN0cmF0aW9uKQogICAgICAgICByZXR1cm47
CiAKQEAgLTE5NSw3ICsxOTUsNyBAQCB2b2lkIFNXU2VydmVyV29ya2VyOjpzZXRTdGF0ZShTZXJ2
aWNlV29ya2VyU3RhdGUgc3RhdGUpCiAKICAgICBtX2RhdGEuc3RhdGUgPSBzdGF0ZTsKIAotICAg
IGF1dG8qIHJlZ2lzdHJhdGlvbiA9IG1fc2VydmVyLmdldFJlZ2lzdHJhdGlvbihtX3JlZ2lzdHJh
dGlvbktleSk7CisgICAgYXV0byogcmVnaXN0cmF0aW9uID0gbV9zZXJ2ZXItPmdldFJlZ2lzdHJh
dGlvbihtX3JlZ2lzdHJhdGlvbktleSk7CiAgICAgQVNTRVJUKHJlZ2lzdHJhdGlvbiB8fCBzdGF0
ZSA9PSBTZXJ2aWNlV29ya2VyU3RhdGU6OlJlZHVuZGFudCk7CiAgICAgaWYgKHJlZ2lzdHJhdGlv
bikgewogICAgICAgICByZWdpc3RyYXRpb24tPmZvckVhY2hDb25uZWN0aW9uKFsmXShhdXRvJiBj
b25uZWN0aW9uKSB7CkBAIC0yMTYsNyArMjE2LDcgQEAgdm9pZCBTV1NlcnZlcldvcmtlcjo6Y2Fs
bFdoZW5BY3RpdmF0ZWRIYW5kbGVyKGJvb2wgc3VjY2VzcykKIAogdm9pZCBTV1NlcnZlcldvcmtl
cjo6c2V0U3RhdGUoU3RhdGUgc3RhdGUpCiB7Ci0gICAgQVNTRVJUKHN0YXRlICE9IFN0YXRlOjpS
dW5uaW5nIHx8IG1fc2VydmVyLmdldFJlZ2lzdHJhdGlvbihtX3JlZ2lzdHJhdGlvbktleSkpOwor
ICAgIEFTU0VSVChzdGF0ZSAhPSBTdGF0ZTo6UnVubmluZyB8fCBtX3NlcnZlci0+Z2V0UmVnaXN0
cmF0aW9uKG1fcmVnaXN0cmF0aW9uS2V5KSk7CiAgICAgbV9zdGF0ZSA9IHN0YXRlOwogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVy
V29ya2VyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVy
V29ya2VyLmgKaW5kZXggODViN2U3MWRmYmJlOGYwZmMzZWZkYTY5Y2IyMDgyZTBiY2Y3NWM0ZS4u
NDFlMTA1Mzk0NWI1YmU2NWJmNGNkZmIzMmJlY2M1N2MxYmRlYzhkOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlcldvcmtlci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJXb3JrZXIuaApA
QCAtNzMsNyArNzMsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1Rlcm1pbmF0aW5nKCkgY29uc3Qg
eyByZXR1cm4gbV9zdGF0ZSA9PSBTdGF0ZTo6VGVybWluYXRpbmc7IH0KICAgICB2b2lkIHNldFN0
YXRlKFN0YXRlKTsKIAotICAgIFNXU2VydmVyJiBzZXJ2ZXIoKSB7IHJldHVybiBtX3NlcnZlcjsg
fQorICAgIFNXU2VydmVyJiBzZXJ2ZXIoKSB7IHJldHVybiAqbV9zZXJ2ZXI7IH0KICAgICBjb25z
dCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5JiByZWdpc3RyYXRpb25LZXkoKSBjb25zdCB7
IHJldHVybiBtX3JlZ2lzdHJhdGlvbktleTsgfQogICAgIGNvbnN0IFVSTCYgc2NyaXB0VVJMKCkg
Y29uc3QgeyByZXR1cm4gbV9kYXRhLnNjcmlwdFVSTDsgfQogICAgIGNvbnN0IFN0cmluZyYgc2Ny
aXB0KCkgY29uc3QgeyByZXR1cm4gbV9zY3JpcHQ7IH0KQEAgLTExNyw3ICsxMTcsNyBAQCBwcml2
YXRlOgogCiAgICAgdm9pZCBjYWxsV2hlbkFjdGl2YXRlZEhhbmRsZXIoYm9vbCBzdWNjZXNzKTsK
IAotICAgIFNXU2VydmVyJiBtX3NlcnZlcjsKKyAgICBXZWFrUHRyPFNXU2VydmVyPiBtX3NlcnZl
cjsKICAgICBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5IG1fcmVnaXN0cmF0aW9uS2V5Owog
ICAgIFNlcnZpY2VXb3JrZXJEYXRhIG1fZGF0YTsKICAgICBTdHJpbmcgbV9zY3JpcHQ7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>373401</attachid>
            <date>2019-07-03 11:14:42 -0700</date>
            <delta_ts>2019-07-03 12:44:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199450-20190703111441.patch</filename>
            <type>text/plain</type>
            <size>14718</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3MDczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGM5YzJjMGFmNTNkY2Nh
Y2IwYjc2YTY0ZjU3ZWU4NjFmNzQzMzYzZS4uOThkOGQxZmU5ODZhY2VjOGRjNmM2NDhkY2VkNThl
NjhiNDhkNjc1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDE5LTA3LTAzICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBTdHJlbmd0aGVuIHVwZGF0
aW5nL3JlbW92aW5nIG9mIHJlZ2lzdHJhdGlvbnMgZnJvbSB0aGUgZGF0YWJhc2UKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5OTQ1MAorICAgICAgICBy
ZGFyOi8vcHJvYmxlbS81MTg5MTM5NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFNXU2VydmVyV29ya2VyIGlzIHJlZiBjb3VudGVkIGFuZCBoYXMgYSBy
ZWYgdG8gaXRzIFNXU2VydmVyLgorICAgICAgICBUaGVyZSBpcyB0aHVzIGEgcG9zc2liaWxpdHkg
Zm9yIFNXU2VydmVyV29ya2VyIHRvIGxpdmUgbG9uZ2VyIHRoYW4gaXRzIFNXU2VydmVyLgorICAg
ICAgICBUbyBtaXRpZ2F0ZSB0aGlzLCBoYXZlIFNXU2VydmVyV29ya2VyIHVzZSBhIFdlYWtQdHI8
U1dTZXJ2ZXI+LgorICAgICAgICBNYWtlIGFsc28gc3VyZSB0aGF0IFJlZ2lzdHJhdGlvblN0b3Jl
IHVwZGF0ZWQgcmVnaXN0cmF0aW9uIG1hcCBkb2VzIG5vdCBnZXQgY29ycnVwdGVkIGJ5IGNoZWNr
aW5nCisgICAgICAgIHRoZSByZWdpc3RyYXRpb24ga2V5cyBleHBsaWNpdGx5LgorCisgICAgICAg
IENvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2Uv
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleS5oOgorICAgICAgICAoV2ViQ29yZTo6U2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbktleTo6b3BlcmF0b3IhPSBjb25zdCk6CisgICAgICAgICogd29y
a2Vycy9zZXJ2aWNlL3NlcnZlci9SZWdpc3RyYXRpb25TdG9yZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZWdpc3RyYXRpb25TdG9yZTo6dXBkYXRlUmVnaXN0cmF0aW9uKToKKyAgICAgICAgKFdl
YkNvcmU6OlJlZ2lzdHJhdGlvblN0b3JlOjpyZW1vdmVSZWdpc3RyYXRpb24pOgorICAgICAgICAo
V2ViQ29yZTo6UmVnaXN0cmF0aW9uU3RvcmU6OmFkZFJlZ2lzdHJhdGlvbkZyb21EYXRhYmFzZSk6
CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9SZWdpc3RyYXRpb25TdG9yZS5oOgor
ICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U1dTZXJ2ZXI6OnJlbW92ZVJlZ2lzdHJhdGlvbik6CisgICAgICAgICogd29ya2Vy
cy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9z
ZXJ2ZXIvU1dTZXJ2ZXJXb3JrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1dTZXJ2ZXJXb3Jr
ZXI6OlNXU2VydmVyV29ya2VyKToKKyAgICAgICAgKFdlYkNvcmU6Om1fc2NyaXB0UmVzb3VyY2VN
YXApOgorICAgICAgICAoV2ViQ29yZTo6U1dTZXJ2ZXJXb3JrZXI6OmNvbnRleHREYXRhIGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OlNXU2VydmVyV29ya2VyOjp0ZXJtaW5hdGUpOgorICAgICAg
ICAoV2ViQ29yZTo6U1dTZXJ2ZXJXb3JrZXI6OnNjcmlwdENvbnRleHRGYWlsZWRUb1N0YXJ0KToK
KyAgICAgICAgKFdlYkNvcmU6OlNXU2VydmVyV29ya2VyOjpzY3JpcHRDb250ZXh0U3RhcnRlZCk6
CisgICAgICAgIChXZWJDb3JlOjpTV1NlcnZlcldvcmtlcjo6ZGlkRmluaXNoSW5zdGFsbCk6Cisg
ICAgICAgIChXZWJDb3JlOjpTV1NlcnZlcldvcmtlcjo6ZGlkRmluaXNoQWN0aXZhdGlvbik6Cisg
ICAgICAgIChXZWJDb3JlOjpTV1NlcnZlcldvcmtlcjo6Y29udGV4dFRlcm1pbmF0ZWQpOgorICAg
ICAgICAoV2ViQ29yZTo6U1dTZXJ2ZXJXb3JrZXI6OmZpbmRDbGllbnRCeUlkZW50aWZpZXIgY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6U1dTZXJ2ZXJXb3JrZXI6Om1hdGNoQWxsKToKKyAgICAg
ICAgKFdlYkNvcmU6OlNXU2VydmVyV29ya2VyOjp1c2VyQWdlbnQgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6U1dTZXJ2ZXJXb3JrZXI6OmNsYWltKToKKyAgICAgICAgKFdlYkNvcmU6OlNXU2Vy
dmVyV29ya2VyOjpza2lwV2FpdGluZyk6CisgICAgICAgIChXZWJDb3JlOjpTV1NlcnZlcldvcmtl
cjo6c2V0SGFzUGVuZGluZ0V2ZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpTV1NlcnZlcldvcmtl
cjo6c2V0U3RhdGUpOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJX
b3JrZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNXU2VydmVyV29ya2VyOjpzZXJ2ZXIpOgorCiAy
MDE5LTA3LTAyICBBbmRyZXMgR29uemFsZXogIDxhbmRyZXNnXzIyQGFwcGxlLmNvbT4KIAogICAg
ICAgICBFbmhhbmNlIHN1cHBvcnQgb2YgYXJpYS1oYXNwb3B1cCBwZXIgQVJJQSAxLjEgc3BlY2lm
aWNhdGlvbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleS5oCmluZGV4IDVmMjEzNzY1NGRiNGMzYzc0
ZDViZjc1MjA3NTZjNDQzYTgxMmFkNTguLjcyZDk4OGM4ZmFlYjQ1Yjc1MGQ4ZjM0MGZiYjIzNzRm
MTdkOGY0OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
ZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkuaApAQCAtNDEsNiArNDEsOCBAQCBw
dWJsaWM6CiAgICAgdW5zaWduZWQgaGFzaCgpIGNvbnN0OwogCiAgICAgYm9vbCBvcGVyYXRvcj09
KGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmKSBjb25zdDsKKyAgICBib29sIG9w
ZXJhdG9yIT0oY29uc3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYga2V5KSBjb25zdCB7
IHJldHVybiAhKCp0aGlzID09IGtleSk7IH0KKyAgICBib29sIGlzRW1wdHkoKSBjb25zdCB7IHJl
dHVybiAqdGhpcyA9PSBlbXB0eUtleSgpOyB9CiAgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBpc01h
dGNoaW5nKGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0YSYgdG9wT3JpZ2luLCBjb25zdCBVUkwmIGNs
aWVudFVSTCkgY29uc3Q7CiAgICAgYm9vbCBvcmlnaW5Jc01hdGNoaW5nKGNvbnN0IFNlY3VyaXR5
T3JpZ2luRGF0YSYgdG9wT3JpZ2luLCBjb25zdCBVUkwmIGNsaWVudFVSTCkgY29uc3Q7CiAgICAg
c2l6ZV90IHNjb3BlTGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gbV9zY29wZS5zdHJpbmcoKS5sZW5n
dGgoKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZl
ci9SZWdpc3RyYXRpb25TdG9yZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
c2VydmVyL1JlZ2lzdHJhdGlvblN0b3JlLmNwcAppbmRleCBiYjJlMTRkZDgyNTJlMDFmOTg0ZmUy
MTI3MzExMTQ5ZjllY2E3MjJiLi4yODA1NWM2NGJmMmUzNGFlOWVmNzBkNDRmYWQ0NGMwMzU5ZTcx
ZDY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1Jl
Z2lzdHJhdGlvblN0b3JlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
c2VydmVyL1JlZ2lzdHJhdGlvblN0b3JlLmNwcApAQCAtMTA0LDIxICsxMDQsMzUgQEAgdm9pZCBS
ZWdpc3RyYXRpb25TdG9yZTo6ZW5kU3VzcGVuc2lvbigpCiAKIHZvaWQgUmVnaXN0cmF0aW9uU3Rv
cmU6OnVwZGF0ZVJlZ2lzdHJhdGlvbihjb25zdCBTZXJ2aWNlV29ya2VyQ29udGV4dERhdGEmIGRh
dGEpCiB7CisgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKKyAgICBBU1NFUlQoIWRhdGEucmVn
aXN0cmF0aW9uLmtleS5pc0VtcHR5KCkpOworICAgIGlmIChkYXRhLnJlZ2lzdHJhdGlvbi5rZXku
aXNFbXB0eSgpKQorICAgICAgICByZXR1cm47CisKICAgICBtX3VwZGF0ZWRSZWdpc3RyYXRpb25z
LnNldChkYXRhLnJlZ2lzdHJhdGlvbi5rZXksIGRhdGEpOwogICAgIHNjaGVkdWxlRGF0YWJhc2VQ
dXNoSWZOZWNlc3NhcnkoKTsKIH0KIAotdm9pZCBSZWdpc3RyYXRpb25TdG9yZTo6cmVtb3ZlUmVn
aXN0cmF0aW9uKFNXU2VydmVyUmVnaXN0cmF0aW9uJiByZWdpc3RyYXRpb24pCit2b2lkIFJlZ2lz
dHJhdGlvblN0b3JlOjpyZW1vdmVSZWdpc3RyYXRpb24oY29uc3QgU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbktleSYga2V5KQogeworICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CisgICAgQVNT
RVJUKCFrZXkuaXNFbXB0eSgpKTsKKyAgICBpZiAoa2V5LmlzRW1wdHkoKSkKKyAgICAgICAgcmV0
dXJuOworCiAgICAgU2VydmljZVdvcmtlckNvbnRleHREYXRhIGNvbnRleHREYXRhOwotICAgIGNv
bnRleHREYXRhLnJlZ2lzdHJhdGlvbi5rZXkgPSByZWdpc3RyYXRpb24ua2V5KCk7Ci0gICAgbV91
cGRhdGVkUmVnaXN0cmF0aW9ucy5zZXQocmVnaXN0cmF0aW9uLmtleSgpLCBXVEZNb3ZlKGNvbnRl
eHREYXRhKSk7CisgICAgY29udGV4dERhdGEucmVnaXN0cmF0aW9uLmtleSA9IGtleTsKKyAgICBt
X3VwZGF0ZWRSZWdpc3RyYXRpb25zLnNldChrZXksIFdURk1vdmUoY29udGV4dERhdGEpKTsKICAg
ICBzY2hlZHVsZURhdGFiYXNlUHVzaElmTmVjZXNzYXJ5KCk7CiB9CiAKLXZvaWQgUmVnaXN0cmF0
aW9uU3RvcmU6OmFkZFJlZ2lzdHJhdGlvbkZyb21EYXRhYmFzZShTZXJ2aWNlV29ya2VyQ29udGV4
dERhdGEmJiBjb250ZXh0KQordm9pZCBSZWdpc3RyYXRpb25TdG9yZTo6YWRkUmVnaXN0cmF0aW9u
RnJvbURhdGFiYXNlKFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YSYmIGRhdGEpCiB7Ci0gICAgbV9z
ZXJ2ZXIuYWRkUmVnaXN0cmF0aW9uRnJvbVN0b3JlKFdURk1vdmUoY29udGV4dCkpOworICAgIEFT
U0VSVCghZGF0YS5yZWdpc3RyYXRpb24ua2V5LmlzRW1wdHkoKSk7CisgICAgaWYgKGRhdGEucmVn
aXN0cmF0aW9uLmtleS5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybjsKKworICAgIG1fc2VydmVy
LmFkZFJlZ2lzdHJhdGlvbkZyb21TdG9yZShXVEZNb3ZlKGRhdGEpKTsKIH0KIAogdm9pZCBSZWdp
c3RyYXRpb25TdG9yZTo6ZGF0YWJhc2VGYWlsZWRUb09wZW4oKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9SZWdpc3RyYXRpb25TdG9yZS5oIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9SZWdpc3RyYXRpb25TdG9yZS5oCmlu
ZGV4IDFkZDVhOGNkNmZjMWJiNjk3NzJiNjEyYjdlZGZkMmI1MWUwMzY2NGQuLjVkZDdiMmVkYTI0
ZGVhM2JmZTcyYzMyM2QyYjQ4YTE4ZDk4NjZmNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvUmVnaXN0cmF0aW9uU3RvcmUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1JlZ2lzdHJhdGlvblN0b3JlLmgKQEAgLTU3
LDcgKzU3LDcgQEAgcHVibGljOgogCiAgICAgLy8gQ2FsbGJhY2tzIGZyb20gdGhlIFNXU2VydmVy
CiAgICAgdm9pZCB1cGRhdGVSZWdpc3RyYXRpb24oY29uc3QgU2VydmljZVdvcmtlckNvbnRleHRE
YXRhJik7Ci0gICAgdm9pZCByZW1vdmVSZWdpc3RyYXRpb24oU1dTZXJ2ZXJSZWdpc3RyYXRpb24m
KTsKKyAgICB2b2lkIHJlbW92ZVJlZ2lzdHJhdGlvbihjb25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uS2V5Jik7CiAKICAgICAvLyBDYWxsYmFja3MgZnJvbSB0aGUgZGF0YWJhc2UKICAgICB2
b2lkIGFkZFJlZ2lzdHJhdGlvbkZyb21EYXRhYmFzZShTZXJ2aWNlV29ya2VyQ29udGV4dERhdGEm
Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NX
U2VydmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2
ZXIuY3BwCmluZGV4IGM3NjI5MDNjYzkzZjgyNDRkYzk5NTJlNzFlY2M4Nzk3YWQ2OGQzMjMuLjMz
OTRiZWIyMTJiNDIzMWQ5Mjg5MTA2YjdmZDk4NjY3MjA0ZGNmOTMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3BwCkBAIC04Myw3ICs4
Myw3IEBAIFNXU2VydmVyOjp+U1dTZXJ2ZXIoKQogU1dTZXJ2ZXJXb3JrZXIqIFNXU2VydmVyOjp3
b3JrZXJCeUlEKFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIGlkZW50aWZpZXIpIGNvbnN0CiB7CiAg
ICAgYXV0byogd29ya2VyID0gU1dTZXJ2ZXJXb3JrZXI6OmV4aXN0aW5nV29ya2VyRm9ySWRlbnRp
ZmllcihpZGVudGlmaWVyKTsKLSAgICBBU1NFUlQoIXdvcmtlciB8fCAmd29ya2VyLT5zZXJ2ZXIo
KSA9PSB0aGlzKTsKKyAgICBBU1NFUlQoIXdvcmtlciB8fCB3b3JrZXItPnNlcnZlcigpID09IHRo
aXMpOwogICAgIHJldHVybiB3b3JrZXI7CiB9CiAKQEAgLTE3Nyw3ICsxNzcsNyBAQCB2b2lkIFNX
U2VydmVyOjpyZW1vdmVSZWdpc3RyYXRpb24oY29uc3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
bktleSYga2V5KQogCiAgICAgbV9vcmlnaW5TdG9yZS0+cmVtb3ZlKHRvcE9yaWdpbik7CiAgICAg
aWYgKG1fcmVnaXN0cmF0aW9uU3RvcmUpCi0gICAgICAgIG1fcmVnaXN0cmF0aW9uU3RvcmUtPnJl
bW92ZVJlZ2lzdHJhdGlvbigqcmVnaXN0cmF0aW9uKTsKKyAgICAgICAgbV9yZWdpc3RyYXRpb25T
dG9yZS0+cmVtb3ZlUmVnaXN0cmF0aW9uKGtleSk7CiB9CiAKIFZlY3RvcjxTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uRGF0YT4gU1dTZXJ2ZXI6OmdldFJlZ2lzdHJhdGlvbnMoY29uc3QgU2VjdXJp
dHlPcmlnaW5EYXRhJiB0b3BPcmlnaW4sIGNvbnN0IFVSTCYgY2xpZW50VVJMKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5oIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5oCmluZGV4IDNjOTdl
ODc5NTg5OWY1OTg2ZGVmNTNkZmUwNjllMzEwOGRlNWM0NmQuLjU1OTljNmI0MjJlOTdjZjJlZGIx
N2E1NGJjOTQ3MjAwNmU2MmUyN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2Uvc2VydmVyL1NXU2VydmVyLmgKQEAgLTYyLDcgKzYyLDcgQEAgc3RydWN0IFNlcnZpY2VX
b3JrZXJGZXRjaFJlc3VsdDsKIHN0cnVjdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YTsK
IGNsYXNzIFRpbWVyOwogCi1jbGFzcyBTV1NlcnZlciB7CitjbGFzcyBTV1NlcnZlciA6IHB1Ymxp
YyBDYW5NYWtlV2Vha1B0cjxTV1NlcnZlcj4gewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVE
OwogcHVibGljOgogICAgIGNsYXNzIENvbm5lY3Rpb24gOiBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8
Q29ubmVjdGlvbj4gewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L3NlcnZlci9TV1NlcnZlcldvcmtlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2Uvc2VydmVyL1NXU2VydmVyV29ya2VyLmNwcAppbmRleCA4NzNiNTAyOWI1MjBhZTgxOGVlYjJk
NTgyOWM3NGJhYTA1OTM3NmJiLi42N2E2MDY5MWQyZjYzZTg3ZjE5Njg2NzFmNDAyYWNmYjYwYTkz
NmRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NX
U2VydmVyV29ya2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2Vy
dmVyL1NXU2VydmVyV29ya2VyLmNwcApAQCAtNDgsNyArNDgsNyBAQCBTV1NlcnZlcldvcmtlciog
U1dTZXJ2ZXJXb3JrZXI6OmV4aXN0aW5nV29ya2VyRm9ySWRlbnRpZmllcihTZXJ2aWNlV29ya2Vy
SWRlbnRpZgogCiAvLyBGSVhNRTogVXNlIHItdmFsdWUgcmVmZXJlbmNlcyBmb3Igc2NyaXB0IGFu
ZCBjb250ZW50U2VjdXJpdHlQb2xpY3kKIFNXU2VydmVyV29ya2VyOjpTV1NlcnZlcldvcmtlcihT
V1NlcnZlciYgc2VydmVyLCBTV1NlcnZlclJlZ2lzdHJhdGlvbiYgcmVnaXN0cmF0aW9uLCBjb25z
dCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiBzY3JpcHQsIGNvbnN0IENvbnRlbnRTZWN1
cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5LCBTdHJpbmcm
JiByZWZlcnJlclBvbGljeSwgV29ya2VyVHlwZSB0eXBlLCBTZXJ2aWNlV29ya2VySWRlbnRpZmll
ciBpZGVudGlmaWVyLCBIYXNoTWFwPFVSTCwgU2VydmljZVdvcmtlckNvbnRleHREYXRhOjpJbXBv
cnRlZFNjcmlwdD4mJiBzY3JpcHRSZXNvdXJjZU1hcCkKLSAgICA6IG1fc2VydmVyKHNlcnZlcikK
KyAgICA6IG1fc2VydmVyKG1ha2VXZWFrUHRyKHNlcnZlcikpCiAgICAgLCBtX3JlZ2lzdHJhdGlv
bktleShyZWdpc3RyYXRpb24ua2V5KCkpCiAgICAgLCBtX2RhdGEgeyBpZGVudGlmaWVyLCBzY3Jp
cHRVUkwsIFNlcnZpY2VXb3JrZXJTdGF0ZTo6UmVkdW5kYW50LCB0eXBlLCByZWdpc3RyYXRpb24u
aWRlbnRpZmllcigpIH0KICAgICAsIG1fc2NyaXB0KHNjcmlwdCkKQEAgLTYyLDcgKzYyLDcgQEAg
U1dTZXJ2ZXJXb3JrZXI6OlNXU2VydmVyV29ya2VyKFNXU2VydmVyJiBzZXJ2ZXIsIFNXU2VydmVy
UmVnaXN0cmF0aW9uJiByZWdpc3RyYXQKICAgICBhdXRvIHJlc3VsdCA9IGFsbFdvcmtlcnMoKS5h
ZGQoaWRlbnRpZmllciwgdGhpcyk7CiAgICAgQVNTRVJUX1VOVVNFRChyZXN1bHQsIHJlc3VsdC5p
c05ld0VudHJ5KTsKIAotICAgIEFTU0VSVChtX3NlcnZlci5nZXRSZWdpc3RyYXRpb24obV9yZWdp
c3RyYXRpb25LZXkpKTsKKyAgICBBU1NFUlQobV9zZXJ2ZXItPmdldFJlZ2lzdHJhdGlvbihtX3Jl
Z2lzdHJhdGlvbktleSkpOwogfQogCiBTV1NlcnZlcldvcmtlcjo6flNXU2VydmVyV29ya2VyKCkK
QEAgLTc1LDE2ICs3NSwxNiBAQCBTV1NlcnZlcldvcmtlcjo6flNXU2VydmVyV29ya2VyKCkKIAog
U2VydmljZVdvcmtlckNvbnRleHREYXRhIFNXU2VydmVyV29ya2VyOjpjb250ZXh0RGF0YSgpIGNv
bnN0CiB7Ci0gICAgYXV0byogcmVnaXN0cmF0aW9uID0gbV9zZXJ2ZXIuZ2V0UmVnaXN0cmF0aW9u
KG1fcmVnaXN0cmF0aW9uS2V5KTsKKyAgICBhdXRvKiByZWdpc3RyYXRpb24gPSBtX3NlcnZlci0+
Z2V0UmVnaXN0cmF0aW9uKG1fcmVnaXN0cmF0aW9uS2V5KTsKICAgICBBU1NFUlQocmVnaXN0cmF0
aW9uKTsKIAotICAgIHJldHVybiB7IFdURjo6bnVsbG9wdCwgcmVnaXN0cmF0aW9uLT5kYXRhKCks
IG1fZGF0YS5pZGVudGlmaWVyLCBtX3NjcmlwdCwgbV9jb250ZW50U2VjdXJpdHlQb2xpY3ksIG1f
cmVmZXJyZXJQb2xpY3ksIG1fZGF0YS5zY3JpcHRVUkwsIG1fZGF0YS50eXBlLCBtX3NlcnZlci5z
ZXNzaW9uSUQoKSwgZmFsc2UsIG1fc2NyaXB0UmVzb3VyY2VNYXAgfTsKKyAgICByZXR1cm4geyBX
VEY6Om51bGxvcHQsIHJlZ2lzdHJhdGlvbi0+ZGF0YSgpLCBtX2RhdGEuaWRlbnRpZmllciwgbV9z
Y3JpcHQsIG1fY29udGVudFNlY3VyaXR5UG9saWN5LCBtX3JlZmVycmVyUG9saWN5LCBtX2RhdGEu
c2NyaXB0VVJMLCBtX2RhdGEudHlwZSwgbV9zZXJ2ZXItPnNlc3Npb25JRCgpLCBmYWxzZSwgbV9z
Y3JpcHRSZXNvdXJjZU1hcCB9OwogfQogCiB2b2lkIFNXU2VydmVyV29ya2VyOjp0ZXJtaW5hdGUo
KQogewogICAgIGlmIChpc1J1bm5pbmcoKSkKLSAgICAgICAgbV9zZXJ2ZXIudGVybWluYXRlV29y
a2VyKCp0aGlzKTsKKyAgICAgICAgbV9zZXJ2ZXItPnRlcm1pbmF0ZVdvcmtlcigqdGhpcyk7CiB9
CiAKIGNvbnN0IENsaWVudE9yaWdpbiYgU1dTZXJ2ZXJXb3JrZXI6Om9yaWdpbigpIGNvbnN0CkBA
IC0xMDIsNDcgKzEwMiw0NyBAQCBTV1NlcnZlclRvQ29udGV4dENvbm5lY3Rpb24qIFNXU2VydmVy
V29ya2VyOjpjb250ZXh0Q29ubmVjdGlvbigpCiAKIHZvaWQgU1dTZXJ2ZXJXb3JrZXI6OnNjcmlw
dENvbnRleHRGYWlsZWRUb1N0YXJ0KGNvbnN0IE9wdGlvbmFsPFNlcnZpY2VXb3JrZXJKb2JEYXRh
SWRlbnRpZmllcj4mIGpvYkRhdGFJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCiB7
Ci0gICAgbV9zZXJ2ZXIuc2NyaXB0Q29udGV4dEZhaWxlZFRvU3RhcnQoam9iRGF0YUlkZW50aWZp
ZXIsICp0aGlzLCBtZXNzYWdlKTsKKyAgICBtX3NlcnZlci0+c2NyaXB0Q29udGV4dEZhaWxlZFRv
U3RhcnQoam9iRGF0YUlkZW50aWZpZXIsICp0aGlzLCBtZXNzYWdlKTsKIH0KIAogdm9pZCBTV1Nl
cnZlcldvcmtlcjo6c2NyaXB0Q29udGV4dFN0YXJ0ZWQoY29uc3QgT3B0aW9uYWw8U2VydmljZVdv
cmtlckpvYkRhdGFJZGVudGlmaWVyPiYgam9iRGF0YUlkZW50aWZpZXIpCiB7Ci0gICAgbV9zZXJ2
ZXIuc2NyaXB0Q29udGV4dFN0YXJ0ZWQoam9iRGF0YUlkZW50aWZpZXIsICp0aGlzKTsKKyAgICBt
X3NlcnZlci0+c2NyaXB0Q29udGV4dFN0YXJ0ZWQoam9iRGF0YUlkZW50aWZpZXIsICp0aGlzKTsK
IH0KIAogdm9pZCBTV1NlcnZlcldvcmtlcjo6ZGlkRmluaXNoSW5zdGFsbChjb25zdCBPcHRpb25h
bDxTZXJ2aWNlV29ya2VySm9iRGF0YUlkZW50aWZpZXI+JiBqb2JEYXRhSWRlbnRpZmllciwgYm9v
bCB3YXNTdWNjZXNzZnVsKQogewotICAgIG1fc2VydmVyLmRpZEZpbmlzaEluc3RhbGwoam9iRGF0
YUlkZW50aWZpZXIsICp0aGlzLCB3YXNTdWNjZXNzZnVsKTsKKyAgICBtX3NlcnZlci0+ZGlkRmlu
aXNoSW5zdGFsbChqb2JEYXRhSWRlbnRpZmllciwgKnRoaXMsIHdhc1N1Y2Nlc3NmdWwpOwogfQog
CiB2b2lkIFNXU2VydmVyV29ya2VyOjpkaWRGaW5pc2hBY3RpdmF0aW9uKCkKIHsKLSAgICBtX3Nl
cnZlci5kaWRGaW5pc2hBY3RpdmF0aW9uKCp0aGlzKTsKKyAgICBtX3NlcnZlci0+ZGlkRmluaXNo
QWN0aXZhdGlvbigqdGhpcyk7CiB9CiAKIHZvaWQgU1dTZXJ2ZXJXb3JrZXI6OmNvbnRleHRUZXJt
aW5hdGVkKCkKIHsKLSAgICBtX3NlcnZlci53b3JrZXJDb250ZXh0VGVybWluYXRlZCgqdGhpcyk7
CisgICAgbV9zZXJ2ZXItPndvcmtlckNvbnRleHRUZXJtaW5hdGVkKCp0aGlzKTsKIH0KIAogT3B0
aW9uYWw8U2VydmljZVdvcmtlckNsaWVudERhdGE+IFNXU2VydmVyV29ya2VyOjpmaW5kQ2xpZW50
QnlJZGVudGlmaWVyKGNvbnN0IFNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyJiBjbGllbnRJ
ZCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9zZXJ2ZXIuc2VydmljZVdvcmtlckNsaWVudFdpdGhP
cmlnaW5CeUlEKG9yaWdpbigpLCBjbGllbnRJZCk7CisgICAgcmV0dXJuIG1fc2VydmVyLT5zZXJ2
aWNlV29ya2VyQ2xpZW50V2l0aE9yaWdpbkJ5SUQob3JpZ2luKCksIGNsaWVudElkKTsKIH0KIAog
dm9pZCBTV1NlcnZlcldvcmtlcjo6bWF0Y2hBbGwoY29uc3QgU2VydmljZVdvcmtlckNsaWVudFF1
ZXJ5T3B0aW9ucyYgb3B0aW9ucywgU2VydmljZVdvcmtlckNsaWVudHNNYXRjaEFsbENhbGxiYWNr
JiYgY2FsbGJhY2spCiB7Ci0gICAgcmV0dXJuIG1fc2VydmVyLm1hdGNoQWxsKCp0aGlzLCBvcHRp
b25zLCBXVEZNb3ZlKGNhbGxiYWNrKSk7CisgICAgcmV0dXJuIG1fc2VydmVyLT5tYXRjaEFsbCgq
dGhpcywgb3B0aW9ucywgV1RGTW92ZShjYWxsYmFjaykpOwogfQogCiBTdHJpbmcgU1dTZXJ2ZXJX
b3JrZXI6OnVzZXJBZ2VudCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fc2VydmVyLnNlcnZpY2VX
b3JrZXJDbGllbnRVc2VyQWdlbnQob3JpZ2luKCkpOworICAgIHJldHVybiBtX3NlcnZlci0+c2Vy
dmljZVdvcmtlckNsaWVudFVzZXJBZ2VudChvcmlnaW4oKSk7CiB9CiAKIHZvaWQgU1dTZXJ2ZXJX
b3JrZXI6OmNsYWltKCkKIHsKLSAgICByZXR1cm4gbV9zZXJ2ZXIuY2xhaW0oKnRoaXMpOworICAg
IHJldHVybiBtX3NlcnZlci0+Y2xhaW0oKnRoaXMpOwogfQogCiB2b2lkIFNXU2VydmVyV29ya2Vy
OjpzZXRTY3JpcHRSZXNvdXJjZShVUkwmJiB1cmwsIFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YTo6
SW1wb3J0ZWRTY3JpcHQmJiBzY3JpcHQpCkBAIC0xNTQsNyArMTU0LDcgQEAgdm9pZCBTV1NlcnZl
cldvcmtlcjo6c2tpcFdhaXRpbmcoKQogewogICAgIG1faXNTa2lwV2FpdGluZ0ZsYWdTZXQgPSB0
cnVlOwogCi0gICAgYXV0byogcmVnaXN0cmF0aW9uID0gbV9zZXJ2ZXIuZ2V0UmVnaXN0cmF0aW9u
KG1fcmVnaXN0cmF0aW9uS2V5KTsKKyAgICBhdXRvKiByZWdpc3RyYXRpb24gPSBtX3NlcnZlci0+
Z2V0UmVnaXN0cmF0aW9uKG1fcmVnaXN0cmF0aW9uS2V5KTsKICAgICBBU1NFUlQocmVnaXN0cmF0
aW9uIHx8IGlzVGVybWluYXRpbmcoKSk7CiAgICAgaWYgKHJlZ2lzdHJhdGlvbikKICAgICAgICAg
cmVnaXN0cmF0aW9uLT50cnlBY3RpdmF0ZSgpOwpAQCAtMTcwLDcgKzE3MCw3IEBAIHZvaWQgU1dT
ZXJ2ZXJXb3JrZXI6OnNldEhhc1BlbmRpbmdFdmVudHMoYm9vbCBoYXNQZW5kaW5nRXZlbnRzKQog
ICAgICAgICByZXR1cm47CiAKICAgICAvLyBEbyB0cnlDbGVhci90cnlBY3RpdmF0ZSwgYXMgcGVy
IGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9TZXJ2aWNlV29ya2VyLyN3YWl0LXVudGlsLW1ldGhvZC4K
LSAgICBhdXRvKiByZWdpc3RyYXRpb24gPSBtX3NlcnZlci5nZXRSZWdpc3RyYXRpb24obV9yZWdp
c3RyYXRpb25LZXkpOworICAgIGF1dG8qIHJlZ2lzdHJhdGlvbiA9IG1fc2VydmVyLT5nZXRSZWdp
c3RyYXRpb24obV9yZWdpc3RyYXRpb25LZXkpOwogICAgIGlmICghcmVnaXN0cmF0aW9uKQogICAg
ICAgICByZXR1cm47CiAKQEAgLTE5NSw3ICsxOTUsNyBAQCB2b2lkIFNXU2VydmVyV29ya2VyOjpz
ZXRTdGF0ZShTZXJ2aWNlV29ya2VyU3RhdGUgc3RhdGUpCiAKICAgICBtX2RhdGEuc3RhdGUgPSBz
dGF0ZTsKIAotICAgIGF1dG8qIHJlZ2lzdHJhdGlvbiA9IG1fc2VydmVyLmdldFJlZ2lzdHJhdGlv
bihtX3JlZ2lzdHJhdGlvbktleSk7CisgICAgYXV0byogcmVnaXN0cmF0aW9uID0gbV9zZXJ2ZXIt
PmdldFJlZ2lzdHJhdGlvbihtX3JlZ2lzdHJhdGlvbktleSk7CiAgICAgQVNTRVJUKHJlZ2lzdHJh
dGlvbiB8fCBzdGF0ZSA9PSBTZXJ2aWNlV29ya2VyU3RhdGU6OlJlZHVuZGFudCk7CiAgICAgaWYg
KHJlZ2lzdHJhdGlvbikgewogICAgICAgICByZWdpc3RyYXRpb24tPmZvckVhY2hDb25uZWN0aW9u
KFsmXShhdXRvJiBjb25uZWN0aW9uKSB7CkBAIC0yMTYsNyArMjE2LDcgQEAgdm9pZCBTV1NlcnZl
cldvcmtlcjo6Y2FsbFdoZW5BY3RpdmF0ZWRIYW5kbGVyKGJvb2wgc3VjY2VzcykKIAogdm9pZCBT
V1NlcnZlcldvcmtlcjo6c2V0U3RhdGUoU3RhdGUgc3RhdGUpCiB7Ci0gICAgQVNTRVJUKHN0YXRl
ICE9IFN0YXRlOjpSdW5uaW5nIHx8IG1fc2VydmVyLmdldFJlZ2lzdHJhdGlvbihtX3JlZ2lzdHJh
dGlvbktleSkpOworICAgIEFTU0VSVChzdGF0ZSAhPSBTdGF0ZTo6UnVubmluZyB8fCBtX3NlcnZl
ci0+Z2V0UmVnaXN0cmF0aW9uKG1fcmVnaXN0cmF0aW9uS2V5KSk7CiAgICAgbV9zdGF0ZSA9IHN0
YXRlOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2Vy
dmVyL1NXU2VydmVyV29ya2VyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2Vy
dmVyL1NXU2VydmVyV29ya2VyLmgKaW5kZXggODViN2U3MWRmYmJlOGYwZmMzZWZkYTY5Y2IyMDgy
ZTBiY2Y3NWM0ZS4uZjFjOWFiYjgzYTc5OGFmNTBmZGIwYjQ4ODAwZDBjMzg2MWE2M2IwZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlcldv
cmtlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2
ZXJXb3JrZXIuaApAQCAtNzMsNyArNzMsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1Rlcm1pbmF0
aW5nKCkgY29uc3QgeyByZXR1cm4gbV9zdGF0ZSA9PSBTdGF0ZTo6VGVybWluYXRpbmc7IH0KICAg
ICB2b2lkIHNldFN0YXRlKFN0YXRlKTsKIAotICAgIFNXU2VydmVyJiBzZXJ2ZXIoKSB7IHJldHVy
biBtX3NlcnZlcjsgfQorICAgIFNXU2VydmVyKiBzZXJ2ZXIoKSB7IHJldHVybiBtX3NlcnZlci5n
ZXQoKTsgfQogICAgIGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmIHJlZ2lzdHJh
dGlvbktleSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVnaXN0cmF0aW9uS2V5OyB9CiAgICAgY29uc3Qg
VVJMJiBzY3JpcHRVUkwoKSBjb25zdCB7IHJldHVybiBtX2RhdGEuc2NyaXB0VVJMOyB9CiAgICAg
Y29uc3QgU3RyaW5nJiBzY3JpcHQoKSBjb25zdCB7IHJldHVybiBtX3NjcmlwdDsgfQpAQCAtMTE3
LDcgKzExNyw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGNhbGxXaGVuQWN0aXZhdGVkSGFuZGxl
cihib29sIHN1Y2Nlc3MpOwogCi0gICAgU1dTZXJ2ZXImIG1fc2VydmVyOworICAgIFdlYWtQdHI8
U1dTZXJ2ZXI+IG1fc2VydmVyOwogICAgIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkgbV9y
ZWdpc3RyYXRpb25LZXk7CiAgICAgU2VydmljZVdvcmtlckRhdGEgbV9kYXRhOwogICAgIFN0cmlu
ZyBtX3NjcmlwdDsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>373405</attachid>
            <date>2019-07-03 12:44:15 -0700</date>
            <delta_ts>2019-07-03 14:16:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199450-20190703124415.patch</filename>
            <type>text/plain</type>
            <size>15386</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3MDczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGM5YzJjMGFmNTNkY2Nh
Y2IwYjc2YTY0ZjU3ZWU4NjFmNzQzMzYzZS4uYjE5ZDJkMzkzZWNhNjZmMDVlYjhiMzZhNGExNGFm
MDZjZWEzMDQ0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDE5LTA3LTAzICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBTdHJlbmd0aGVuIHVwZGF0
aW5nL3JlbW92aW5nIG9mIHJlZ2lzdHJhdGlvbnMgZnJvbSB0aGUgZGF0YWJhc2UKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5OTQ1MAorICAgICAgICBy
ZGFyOi8vcHJvYmxlbS81MTg5MTM5NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFNXU2VydmVyV29ya2VyIGlzIHJlZiBjb3VudGVkIGFuZCBoYXMgYSBy
ZWYgdG8gaXRzIFNXU2VydmVyLgorICAgICAgICBUaGVyZSBpcyB0aHVzIGEgcG9zc2liaWxpdHkg
Zm9yIFNXU2VydmVyV29ya2VyIHRvIGxpdmUgbG9uZ2VyIHRoYW4gaXRzIFNXU2VydmVyLgorICAg
ICAgICBUbyBtaXRpZ2F0ZSB0aGlzLCBoYXZlIFNXU2VydmVyV29ya2VyIHVzZSBhIFdlYWtQdHI8
U1dTZXJ2ZXI+IGFuZAorICAgICAgICBjaGVjayB3aGV0aGVyIFNXU2VydmVyIGlzIG51bGwgd2hl
biByZWNlaXZpbmcgbWVzc2FnZXMgZnJvbSBXZWJQcm9jZXNzLgorICAgICAgICBNYWtlIGFsc28g
c3VyZSB0aGF0IFJlZ2lzdHJhdGlvblN0b3JlIHVwZGF0ZWQgcmVnaXN0cmF0aW9uIG1hcCBkb2Vz
IG5vdCBnZXQgY29ycnVwdGVkIGJ5IGNoZWNraW5nCisgICAgICAgIHRoZSByZWdpc3RyYXRpb24g
a2V5cyBleHBsaWNpdGx5LgorCisgICAgICAgIENvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMuCisK
KyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleS5o
OgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleTo6b3BlcmF0
b3IhPSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
S2V5Ojppc0VtcHR5IGNvbnN0KToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1Jl
Z2lzdHJhdGlvblN0b3JlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlZ2lzdHJhdGlvblN0b3Jl
Ojp1cGRhdGVSZWdpc3RyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UmVnaXN0cmF0aW9uU3Rv
cmU6OnJlbW92ZVJlZ2lzdHJhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSZWdpc3RyYXRpb25T
dG9yZTo6YWRkUmVnaXN0cmF0aW9uRnJvbURhdGFiYXNlKToKKyAgICAgICAgKiB3b3JrZXJzL3Nl
cnZpY2Uvc2VydmVyL1JlZ2lzdHJhdGlvblN0b3JlLmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2
aWNlL3NlcnZlci9TV1NlcnZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTV1NlcnZlcjo6d29y
a2VyQnlJRCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpTV1NlcnZlcjo6cmVtb3ZlUmVnaXN0
cmF0aW9uKToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmg6Cisg
ICAgICAgICogd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlcldvcmtlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTV1NlcnZlcldvcmtlcjo6U1dTZXJ2ZXJXb3JrZXIpOgorICAgICAgICAo
V2ViQ29yZTo6bV9zY3JpcHRSZXNvdXJjZU1hcCk6CisgICAgICAgIChXZWJDb3JlOjpTV1NlcnZl
cldvcmtlcjo6Y29udGV4dERhdGEgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6U1dTZXJ2ZXJX
b3JrZXI6OnRlcm1pbmF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTV1NlcnZlcldvcmtlcjo6c2Ny
aXB0Q29udGV4dEZhaWxlZFRvU3RhcnQpOgorICAgICAgICAoV2ViQ29yZTo6U1dTZXJ2ZXJXb3Jr
ZXI6OnNjcmlwdENvbnRleHRTdGFydGVkKToKKyAgICAgICAgKFdlYkNvcmU6OlNXU2VydmVyV29y
a2VyOjpkaWRGaW5pc2hJbnN0YWxsKToKKyAgICAgICAgKFdlYkNvcmU6OlNXU2VydmVyV29ya2Vy
OjpkaWRGaW5pc2hBY3RpdmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNXU2VydmVyV29ya2Vy
Ojpjb250ZXh0VGVybWluYXRlZCk6CisgICAgICAgIChXZWJDb3JlOjpTV1NlcnZlcldvcmtlcjo6
ZmluZENsaWVudEJ5SWRlbnRpZmllciBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpTV1NlcnZl
cldvcmtlcjo6bWF0Y2hBbGwpOgorICAgICAgICAoV2ViQ29yZTo6U1dTZXJ2ZXJXb3JrZXI6OnVz
ZXJBZ2VudCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpTV1NlcnZlcldvcmtlcjo6Y2xhaW0p
OgorICAgICAgICAoV2ViQ29yZTo6U1dTZXJ2ZXJXb3JrZXI6OnNraXBXYWl0aW5nKToKKyAgICAg
ICAgKFdlYkNvcmU6OlNXU2VydmVyV29ya2VyOjpzZXRIYXNQZW5kaW5nRXZlbnRzKToKKyAgICAg
ICAgKFdlYkNvcmU6OlNXU2VydmVyV29ya2VyOjpzZXRTdGF0ZSk6CisgICAgICAgICogd29ya2Vy
cy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlcldvcmtlci5oOgorICAgICAgICAoV2ViQ29yZTo6U1dT
ZXJ2ZXJXb3JrZXI6OnNlcnZlcik6CisKIDIwMTktMDctMDIgIEFuZHJlcyBHb256YWxleiAgPGFu
ZHJlc2dfMjJAYXBwbGUuY29tPgogCiAgICAgICAgIEVuaGFuY2Ugc3VwcG9ydCBvZiBhcmlhLWhh
c3BvcHVwIHBlciBBUklBIDEuMSBzcGVjaWZpY2F0aW9uLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkuaCBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5
LmgKaW5kZXggNWYyMTM3NjU0ZGI0YzNjNzRkNWJmNzUyMDc1NmM0NDNhODEyYWQ1OC4uNzJkOTg4
YzhmYWViNDViNzUwZDhmMzQwZmJiMjM3NGYxN2Q4ZjQ5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
bktleS5oCkBAIC00MSw2ICs0MSw4IEBAIHB1YmxpYzoKICAgICB1bnNpZ25lZCBoYXNoKCkgY29u
c3Q7CiAKICAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
bktleSYpIGNvbnN0OworICAgIGJvb2wgb3BlcmF0b3IhPShjb25zdCBTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uS2V5JiBrZXkpIGNvbnN0IHsgcmV0dXJuICEoKnRoaXMgPT0ga2V5KTsgfQorICAg
IGJvb2wgaXNFbXB0eSgpIGNvbnN0IHsgcmV0dXJuICp0aGlzID09IGVtcHR5S2V5KCk7IH0KICAg
ICBXRUJDT1JFX0VYUE9SVCBib29sIGlzTWF0Y2hpbmcoY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRh
JiB0b3BPcmlnaW4sIGNvbnN0IFVSTCYgY2xpZW50VVJMKSBjb25zdDsKICAgICBib29sIG9yaWdp
bklzTWF0Y2hpbmcoY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRhJiB0b3BPcmlnaW4sIGNvbnN0IFVS
TCYgY2xpZW50VVJMKSBjb25zdDsKICAgICBzaXplX3Qgc2NvcGVMZW5ndGgoKSBjb25zdCB7IHJl
dHVybiBtX3Njb3BlLnN0cmluZygpLmxlbmd0aCgpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1JlZ2lzdHJhdGlvblN0b3JlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvUmVnaXN0cmF0aW9uU3RvcmUuY3BwCmlu
ZGV4IGJiMmUxNGRkODI1MmUwMWY5ODRmZTIxMjczMTExNDlmOWVjYTcyMmIuLjI4MDU1YzY0YmYy
ZTM0YWU5ZWY3MGQ0NGZhZDQ0YzAzNTllNzFkNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvUmVnaXN0cmF0aW9uU3RvcmUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvUmVnaXN0cmF0aW9uU3RvcmUuY3BwCkBA
IC0xMDQsMjEgKzEwNCwzNSBAQCB2b2lkIFJlZ2lzdHJhdGlvblN0b3JlOjplbmRTdXNwZW5zaW9u
KCkKIAogdm9pZCBSZWdpc3RyYXRpb25TdG9yZTo6dXBkYXRlUmVnaXN0cmF0aW9uKGNvbnN0IFNl
cnZpY2VXb3JrZXJDb250ZXh0RGF0YSYgZGF0YSkKIHsKKyAgICBBU1NFUlQoaXNNYWluVGhyZWFk
KCkpOworICAgIEFTU0VSVCghZGF0YS5yZWdpc3RyYXRpb24ua2V5LmlzRW1wdHkoKSk7CisgICAg
aWYgKGRhdGEucmVnaXN0cmF0aW9uLmtleS5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybjsKKwog
ICAgIG1fdXBkYXRlZFJlZ2lzdHJhdGlvbnMuc2V0KGRhdGEucmVnaXN0cmF0aW9uLmtleSwgZGF0
YSk7CiAgICAgc2NoZWR1bGVEYXRhYmFzZVB1c2hJZk5lY2Vzc2FyeSgpOwogfQogCi12b2lkIFJl
Z2lzdHJhdGlvblN0b3JlOjpyZW1vdmVSZWdpc3RyYXRpb24oU1dTZXJ2ZXJSZWdpc3RyYXRpb24m
IHJlZ2lzdHJhdGlvbikKK3ZvaWQgUmVnaXN0cmF0aW9uU3RvcmU6OnJlbW92ZVJlZ2lzdHJhdGlv
bihjb25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5JiBrZXkpCiB7CisgICAgQVNTRVJU
KGlzTWFpblRocmVhZCgpKTsKKyAgICBBU1NFUlQoIWtleS5pc0VtcHR5KCkpOworICAgIGlmIChr
ZXkuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm47CisKICAgICBTZXJ2aWNlV29ya2VyQ29udGV4
dERhdGEgY29udGV4dERhdGE7Ci0gICAgY29udGV4dERhdGEucmVnaXN0cmF0aW9uLmtleSA9IHJl
Z2lzdHJhdGlvbi5rZXkoKTsKLSAgICBtX3VwZGF0ZWRSZWdpc3RyYXRpb25zLnNldChyZWdpc3Ry
YXRpb24ua2V5KCksIFdURk1vdmUoY29udGV4dERhdGEpKTsKKyAgICBjb250ZXh0RGF0YS5yZWdp
c3RyYXRpb24ua2V5ID0ga2V5OworICAgIG1fdXBkYXRlZFJlZ2lzdHJhdGlvbnMuc2V0KGtleSwg
V1RGTW92ZShjb250ZXh0RGF0YSkpOwogICAgIHNjaGVkdWxlRGF0YWJhc2VQdXNoSWZOZWNlc3Nh
cnkoKTsKIH0KIAotdm9pZCBSZWdpc3RyYXRpb25TdG9yZTo6YWRkUmVnaXN0cmF0aW9uRnJvbURh
dGFiYXNlKFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YSYmIGNvbnRleHQpCit2b2lkIFJlZ2lzdHJh
dGlvblN0b3JlOjphZGRSZWdpc3RyYXRpb25Gcm9tRGF0YWJhc2UoU2VydmljZVdvcmtlckNvbnRl
eHREYXRhJiYgZGF0YSkKIHsKLSAgICBtX3NlcnZlci5hZGRSZWdpc3RyYXRpb25Gcm9tU3RvcmUo
V1RGTW92ZShjb250ZXh0KSk7CisgICAgQVNTRVJUKCFkYXRhLnJlZ2lzdHJhdGlvbi5rZXkuaXNF
bXB0eSgpKTsKKyAgICBpZiAoZGF0YS5yZWdpc3RyYXRpb24ua2V5LmlzRW1wdHkoKSkKKyAgICAg
ICAgcmV0dXJuOworCisgICAgbV9zZXJ2ZXIuYWRkUmVnaXN0cmF0aW9uRnJvbVN0b3JlKFdURk1v
dmUoZGF0YSkpOwogfQogCiB2b2lkIFJlZ2lzdHJhdGlvblN0b3JlOjpkYXRhYmFzZUZhaWxlZFRv
T3BlbigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVy
L1JlZ2lzdHJhdGlvblN0b3JlLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2Vy
dmVyL1JlZ2lzdHJhdGlvblN0b3JlLmgKaW5kZXggMWRkNWE4Y2Q2ZmMxYmI2OTc3MmI2MTJiN2Vk
ZmQyYjUxZTAzNjY0ZC4uNWRkN2IyZWRhMjRkZWEzYmZlNzJjMzIzZDJiNDhhMThkOTg2NmY3NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9SZWdpc3Ry
YXRpb25TdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIv
UmVnaXN0cmF0aW9uU3RvcmUuaApAQCAtNTcsNyArNTcsNyBAQCBwdWJsaWM6CiAKICAgICAvLyBD
YWxsYmFja3MgZnJvbSB0aGUgU1dTZXJ2ZXIKICAgICB2b2lkIHVwZGF0ZVJlZ2lzdHJhdGlvbihj
b25zdCBTZXJ2aWNlV29ya2VyQ29udGV4dERhdGEmKTsKLSAgICB2b2lkIHJlbW92ZVJlZ2lzdHJh
dGlvbihTV1NlcnZlclJlZ2lzdHJhdGlvbiYpOworICAgIHZvaWQgcmVtb3ZlUmVnaXN0cmF0aW9u
KGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmKTsKIAogICAgIC8vIENhbGxiYWNr
cyBmcm9tIHRoZSBkYXRhYmFzZQogICAgIHZvaWQgYWRkUmVnaXN0cmF0aW9uRnJvbURhdGFiYXNl
KFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YSYmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5jcHAKaW5kZXggYzc2MjkwM2NjOTNmODI0NGRj
OTk1MmU3MWVjYzg3OTdhZDY4ZDMyMy4uMzM5NGJlYjIxMmI0MjMxZDkyODkxMDZiN2ZkOTg2Njcy
MDRkY2Y5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZl
ci9TV1NlcnZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZl
ci9TV1NlcnZlci5jcHAKQEAgLTgzLDcgKzgzLDcgQEAgU1dTZXJ2ZXI6On5TV1NlcnZlcigpCiBT
V1NlcnZlcldvcmtlciogU1dTZXJ2ZXI6OndvcmtlckJ5SUQoU2VydmljZVdvcmtlcklkZW50aWZp
ZXIgaWRlbnRpZmllcikgY29uc3QKIHsKICAgICBhdXRvKiB3b3JrZXIgPSBTV1NlcnZlcldvcmtl
cjo6ZXhpc3RpbmdXb3JrZXJGb3JJZGVudGlmaWVyKGlkZW50aWZpZXIpOwotICAgIEFTU0VSVCgh
d29ya2VyIHx8ICZ3b3JrZXItPnNlcnZlcigpID09IHRoaXMpOworICAgIEFTU0VSVCghd29ya2Vy
IHx8IHdvcmtlci0+c2VydmVyKCkgPT0gdGhpcyk7CiAgICAgcmV0dXJuIHdvcmtlcjsKIH0KIApA
QCAtMTc3LDcgKzE3Nyw3IEBAIHZvaWQgU1dTZXJ2ZXI6OnJlbW92ZVJlZ2lzdHJhdGlvbihjb25z
dCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5JiBrZXkpCiAKICAgICBtX29yaWdpblN0b3Jl
LT5yZW1vdmUodG9wT3JpZ2luKTsKICAgICBpZiAobV9yZWdpc3RyYXRpb25TdG9yZSkKLSAgICAg
ICAgbV9yZWdpc3RyYXRpb25TdG9yZS0+cmVtb3ZlUmVnaXN0cmF0aW9uKCpyZWdpc3RyYXRpb24p
OworICAgICAgICBtX3JlZ2lzdHJhdGlvblN0b3JlLT5yZW1vdmVSZWdpc3RyYXRpb24oa2V5KTsK
IH0KIAogVmVjdG9yPFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhPiBTV1NlcnZlcjo6Z2V0
UmVnaXN0cmF0aW9ucyhjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEmIHRvcE9yaWdpbiwgY29uc3Qg
VVJMJiBjbGllbnRVUkwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2Uvc2VydmVyL1NXU2VydmVyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2Vy
dmVyL1NXU2VydmVyLmgKaW5kZXggM2M5N2U4Nzk1ODk5ZjU5ODZkZWY1M2RmZTA2OWUzMTA4ZGU1
YzQ2ZC4uNTU5OWM2YjQyMmU5N2NmMmVkYjE3YTU0YmM5NDcyMDA2ZTYyZTI3YyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuaApAQCAtNjIs
NyArNjIsNyBAQCBzdHJ1Y3QgU2VydmljZVdvcmtlckZldGNoUmVzdWx0Owogc3RydWN0IFNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhOwogY2xhc3MgVGltZXI7CiAKLWNsYXNzIFNXU2VydmVy
IHsKK2NsYXNzIFNXU2VydmVyIDogcHVibGljIENhbk1ha2VXZWFrUHRyPFNXU2VydmVyPiB7CiAg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgY2xhc3MgQ29ubmVjdGlv
biA6IHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxDb25uZWN0aW9uPiB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyV29ya2VyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJXb3JrZXIuY3BwCmlu
ZGV4IDg3M2I1MDI5YjUyMGFlODE4ZWViMmQ1ODI5Yzc0YmFhMDU5Mzc2YmIuLjlkOTFkMGI1Y2Q3
NDg2Mjg5NTc3YWY5NWFjMWExZDVmOTRjNTFkODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJXb3JrZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJXb3JrZXIuY3BwCkBAIC00OCw3
ICs0OCw3IEBAIFNXU2VydmVyV29ya2VyKiBTV1NlcnZlcldvcmtlcjo6ZXhpc3RpbmdXb3JrZXJG
b3JJZGVudGlmaWVyKFNlcnZpY2VXb3JrZXJJZGVudGlmCiAKIC8vIEZJWE1FOiBVc2Ugci12YWx1
ZSByZWZlcmVuY2VzIGZvciBzY3JpcHQgYW5kIGNvbnRlbnRTZWN1cml0eVBvbGljeQogU1dTZXJ2
ZXJXb3JrZXI6OlNXU2VydmVyV29ya2VyKFNXU2VydmVyJiBzZXJ2ZXIsIFNXU2VydmVyUmVnaXN0
cmF0aW9uJiByZWdpc3RyYXRpb24sIGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcm
IHNjcmlwdCwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250
ZW50U2VjdXJpdHlQb2xpY3ksIFN0cmluZyYmIHJlZmVycmVyUG9saWN5LCBXb3JrZXJUeXBlIHR5
cGUsIFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIGlkZW50aWZpZXIsIEhhc2hNYXA8VVJMLCBTZXJ2
aWNlV29ya2VyQ29udGV4dERhdGE6OkltcG9ydGVkU2NyaXB0PiYmIHNjcmlwdFJlc291cmNlTWFw
KQotICAgIDogbV9zZXJ2ZXIoc2VydmVyKQorICAgIDogbV9zZXJ2ZXIobWFrZVdlYWtQdHIoc2Vy
dmVyKSkKICAgICAsIG1fcmVnaXN0cmF0aW9uS2V5KHJlZ2lzdHJhdGlvbi5rZXkoKSkKICAgICAs
IG1fZGF0YSB7IGlkZW50aWZpZXIsIHNjcmlwdFVSTCwgU2VydmljZVdvcmtlclN0YXRlOjpSZWR1
bmRhbnQsIHR5cGUsIHJlZ2lzdHJhdGlvbi5pZGVudGlmaWVyKCkgfQogICAgICwgbV9zY3JpcHQo
c2NyaXB0KQpAQCAtNjIsNyArNjIsNyBAQCBTV1NlcnZlcldvcmtlcjo6U1dTZXJ2ZXJXb3JrZXIo
U1dTZXJ2ZXImIHNlcnZlciwgU1dTZXJ2ZXJSZWdpc3RyYXRpb24mIHJlZ2lzdHJhdAogICAgIGF1
dG8gcmVzdWx0ID0gYWxsV29ya2VycygpLmFkZChpZGVudGlmaWVyLCB0aGlzKTsKICAgICBBU1NF
UlRfVU5VU0VEKHJlc3VsdCwgcmVzdWx0LmlzTmV3RW50cnkpOwogCi0gICAgQVNTRVJUKG1fc2Vy
dmVyLmdldFJlZ2lzdHJhdGlvbihtX3JlZ2lzdHJhdGlvbktleSkpOworICAgIEFTU0VSVChtX3Nl
cnZlci0+Z2V0UmVnaXN0cmF0aW9uKG1fcmVnaXN0cmF0aW9uS2V5KSk7CiB9CiAKIFNXU2VydmVy
V29ya2VyOjp+U1dTZXJ2ZXJXb3JrZXIoKQpAQCAtNzUsMTYgKzc1LDE2IEBAIFNXU2VydmVyV29y
a2VyOjp+U1dTZXJ2ZXJXb3JrZXIoKQogCiBTZXJ2aWNlV29ya2VyQ29udGV4dERhdGEgU1dTZXJ2
ZXJXb3JrZXI6OmNvbnRleHREYXRhKCkgY29uc3QKIHsKLSAgICBhdXRvKiByZWdpc3RyYXRpb24g
PSBtX3NlcnZlci5nZXRSZWdpc3RyYXRpb24obV9yZWdpc3RyYXRpb25LZXkpOworICAgIGF1dG8q
IHJlZ2lzdHJhdGlvbiA9IG1fc2VydmVyLT5nZXRSZWdpc3RyYXRpb24obV9yZWdpc3RyYXRpb25L
ZXkpOwogICAgIEFTU0VSVChyZWdpc3RyYXRpb24pOwogCi0gICAgcmV0dXJuIHsgV1RGOjpudWxs
b3B0LCByZWdpc3RyYXRpb24tPmRhdGEoKSwgbV9kYXRhLmlkZW50aWZpZXIsIG1fc2NyaXB0LCBt
X2NvbnRlbnRTZWN1cml0eVBvbGljeSwgbV9yZWZlcnJlclBvbGljeSwgbV9kYXRhLnNjcmlwdFVS
TCwgbV9kYXRhLnR5cGUsIG1fc2VydmVyLnNlc3Npb25JRCgpLCBmYWxzZSwgbV9zY3JpcHRSZXNv
dXJjZU1hcCB9OworICAgIHJldHVybiB7IFdURjo6bnVsbG9wdCwgcmVnaXN0cmF0aW9uLT5kYXRh
KCksIG1fZGF0YS5pZGVudGlmaWVyLCBtX3NjcmlwdCwgbV9jb250ZW50U2VjdXJpdHlQb2xpY3ks
IG1fcmVmZXJyZXJQb2xpY3ksIG1fZGF0YS5zY3JpcHRVUkwsIG1fZGF0YS50eXBlLCBtX3NlcnZl
ci0+c2Vzc2lvbklEKCksIGZhbHNlLCBtX3NjcmlwdFJlc291cmNlTWFwIH07CiB9CiAKIHZvaWQg
U1dTZXJ2ZXJXb3JrZXI6OnRlcm1pbmF0ZSgpCiB7CiAgICAgaWYgKGlzUnVubmluZygpKQotICAg
ICAgICBtX3NlcnZlci50ZXJtaW5hdGVXb3JrZXIoKnRoaXMpOworICAgICAgICBtX3NlcnZlci0+
dGVybWluYXRlV29ya2VyKCp0aGlzKTsKIH0KIAogY29uc3QgQ2xpZW50T3JpZ2luJiBTV1NlcnZl
cldvcmtlcjo6b3JpZ2luKCkgY29uc3QKQEAgLTEwMiw0NyArMTAyLDY4IEBAIFNXU2VydmVyVG9D
b250ZXh0Q29ubmVjdGlvbiogU1dTZXJ2ZXJXb3JrZXI6OmNvbnRleHRDb25uZWN0aW9uKCkKIAog
dm9pZCBTV1NlcnZlcldvcmtlcjo6c2NyaXB0Q29udGV4dEZhaWxlZFRvU3RhcnQoY29uc3QgT3B0
aW9uYWw8U2VydmljZVdvcmtlckpvYkRhdGFJZGVudGlmaWVyPiYgam9iRGF0YUlkZW50aWZpZXIs
IGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKIHsKLSAgICBtX3NlcnZlci5zY3JpcHRDb250ZXh0RmFp
bGVkVG9TdGFydChqb2JEYXRhSWRlbnRpZmllciwgKnRoaXMsIG1lc3NhZ2UpOworICAgIEFTU0VS
VChtX3NlcnZlcik7CisgICAgaWYgKG1fc2VydmVyKQorICAgICAgICBtX3NlcnZlci0+c2NyaXB0
Q29udGV4dEZhaWxlZFRvU3RhcnQoam9iRGF0YUlkZW50aWZpZXIsICp0aGlzLCBtZXNzYWdlKTsK
IH0KIAogdm9pZCBTV1NlcnZlcldvcmtlcjo6c2NyaXB0Q29udGV4dFN0YXJ0ZWQoY29uc3QgT3B0
aW9uYWw8U2VydmljZVdvcmtlckpvYkRhdGFJZGVudGlmaWVyPiYgam9iRGF0YUlkZW50aWZpZXIp
CiB7Ci0gICAgbV9zZXJ2ZXIuc2NyaXB0Q29udGV4dFN0YXJ0ZWQoam9iRGF0YUlkZW50aWZpZXIs
ICp0aGlzKTsKKyAgICBBU1NFUlQobV9zZXJ2ZXIpOworICAgIGlmIChtX3NlcnZlcikKKyAgICAg
ICAgbV9zZXJ2ZXItPnNjcmlwdENvbnRleHRTdGFydGVkKGpvYkRhdGFJZGVudGlmaWVyLCAqdGhp
cyk7CiB9CiAKIHZvaWQgU1dTZXJ2ZXJXb3JrZXI6OmRpZEZpbmlzaEluc3RhbGwoY29uc3QgT3B0
aW9uYWw8U2VydmljZVdvcmtlckpvYkRhdGFJZGVudGlmaWVyPiYgam9iRGF0YUlkZW50aWZpZXIs
IGJvb2wgd2FzU3VjY2Vzc2Z1bCkKIHsKLSAgICBtX3NlcnZlci5kaWRGaW5pc2hJbnN0YWxsKGpv
YkRhdGFJZGVudGlmaWVyLCAqdGhpcywgd2FzU3VjY2Vzc2Z1bCk7CisgICAgQVNTRVJUKG1fc2Vy
dmVyKTsKKyAgICBpZiAobV9zZXJ2ZXIpCisgICAgICAgIG1fc2VydmVyLT5kaWRGaW5pc2hJbnN0
YWxsKGpvYkRhdGFJZGVudGlmaWVyLCAqdGhpcywgd2FzU3VjY2Vzc2Z1bCk7CiB9CiAKIHZvaWQg
U1dTZXJ2ZXJXb3JrZXI6OmRpZEZpbmlzaEFjdGl2YXRpb24oKQogewotICAgIG1fc2VydmVyLmRp
ZEZpbmlzaEFjdGl2YXRpb24oKnRoaXMpOworICAgIEFTU0VSVChtX3NlcnZlcik7CisgICAgaWYg
KG1fc2VydmVyKQorICAgICAgICBtX3NlcnZlci0+ZGlkRmluaXNoQWN0aXZhdGlvbigqdGhpcyk7
CiB9CiAKIHZvaWQgU1dTZXJ2ZXJXb3JrZXI6OmNvbnRleHRUZXJtaW5hdGVkKCkKIHsKLSAgICBt
X3NlcnZlci53b3JrZXJDb250ZXh0VGVybWluYXRlZCgqdGhpcyk7CisgICAgQVNTRVJUKG1fc2Vy
dmVyKTsKKyAgICBpZiAobV9zZXJ2ZXIpCisgICAgICAgIG1fc2VydmVyLT53b3JrZXJDb250ZXh0
VGVybWluYXRlZCgqdGhpcyk7CiB9CiAKIE9wdGlvbmFsPFNlcnZpY2VXb3JrZXJDbGllbnREYXRh
PiBTV1NlcnZlcldvcmtlcjo6ZmluZENsaWVudEJ5SWRlbnRpZmllcihjb25zdCBTZXJ2aWNlV29y
a2VyQ2xpZW50SWRlbnRpZmllciYgY2xpZW50SWQpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fc2Vy
dmVyLnNlcnZpY2VXb3JrZXJDbGllbnRXaXRoT3JpZ2luQnlJRChvcmlnaW4oKSwgY2xpZW50SWQp
OworICAgIEFTU0VSVChtX3NlcnZlcik7CisgICAgaWYgKCFtX3NlcnZlcikKKyAgICAgICAgcmV0
dXJuIHsgfTsKKyAgICByZXR1cm4gbV9zZXJ2ZXItPnNlcnZpY2VXb3JrZXJDbGllbnRXaXRoT3Jp
Z2luQnlJRChvcmlnaW4oKSwgY2xpZW50SWQpOwogfQogCiB2b2lkIFNXU2VydmVyV29ya2VyOjpt
YXRjaEFsbChjb25zdCBTZXJ2aWNlV29ya2VyQ2xpZW50UXVlcnlPcHRpb25zJiBvcHRpb25zLCBT
ZXJ2aWNlV29ya2VyQ2xpZW50c01hdGNoQWxsQ2FsbGJhY2smJiBjYWxsYmFjaykKIHsKLSAgICBy
ZXR1cm4gbV9zZXJ2ZXIubWF0Y2hBbGwoKnRoaXMsIG9wdGlvbnMsIFdURk1vdmUoY2FsbGJhY2sp
KTsKKyAgICBBU1NFUlQobV9zZXJ2ZXIpOworICAgIGlmICghbV9zZXJ2ZXIpCisgICAgICAgIHJl
dHVybiBjYWxsYmFjayh7IH0pOworICAgIHJldHVybiBtX3NlcnZlci0+bWF0Y2hBbGwoKnRoaXMs
IG9wdGlvbnMsIFdURk1vdmUoY2FsbGJhY2spKTsKIH0KIAogU3RyaW5nIFNXU2VydmVyV29ya2Vy
Ojp1c2VyQWdlbnQoKSBjb25zdAogewotICAgIHJldHVybiBtX3NlcnZlci5zZXJ2aWNlV29ya2Vy
Q2xpZW50VXNlckFnZW50KG9yaWdpbigpKTsKKyAgICBBU1NFUlQobV9zZXJ2ZXIpOworICAgIGlm
ICghbV9zZXJ2ZXIpCisgICAgICAgIHJldHVybiB7IH07CisgICAgcmV0dXJuIG1fc2VydmVyLT5z
ZXJ2aWNlV29ya2VyQ2xpZW50VXNlckFnZW50KG9yaWdpbigpKTsKIH0KIAogdm9pZCBTV1NlcnZl
cldvcmtlcjo6Y2xhaW0oKQogewotICAgIHJldHVybiBtX3NlcnZlci5jbGFpbSgqdGhpcyk7Cisg
ICAgQVNTRVJUKG1fc2VydmVyKTsKKyAgICBpZiAobV9zZXJ2ZXIpCisgICAgICAgIG1fc2VydmVy
LT5jbGFpbSgqdGhpcyk7CiB9CiAKIHZvaWQgU1dTZXJ2ZXJXb3JrZXI6OnNldFNjcmlwdFJlc291
cmNlKFVSTCYmIHVybCwgU2VydmljZVdvcmtlckNvbnRleHREYXRhOjpJbXBvcnRlZFNjcmlwdCYm
IHNjcmlwdCkKQEAgLTE1NCw3ICsxNzUsNyBAQCB2b2lkIFNXU2VydmVyV29ya2VyOjpza2lwV2Fp
dGluZygpCiB7CiAgICAgbV9pc1NraXBXYWl0aW5nRmxhZ1NldCA9IHRydWU7CiAKLSAgICBhdXRv
KiByZWdpc3RyYXRpb24gPSBtX3NlcnZlci5nZXRSZWdpc3RyYXRpb24obV9yZWdpc3RyYXRpb25L
ZXkpOworICAgIGF1dG8qIHJlZ2lzdHJhdGlvbiA9IG1fc2VydmVyLT5nZXRSZWdpc3RyYXRpb24o
bV9yZWdpc3RyYXRpb25LZXkpOwogICAgIEFTU0VSVChyZWdpc3RyYXRpb24gfHwgaXNUZXJtaW5h
dGluZygpKTsKICAgICBpZiAocmVnaXN0cmF0aW9uKQogICAgICAgICByZWdpc3RyYXRpb24tPnRy
eUFjdGl2YXRlKCk7CkBAIC0xNzAsNyArMTkxLDcgQEAgdm9pZCBTV1NlcnZlcldvcmtlcjo6c2V0
SGFzUGVuZGluZ0V2ZW50cyhib29sIGhhc1BlbmRpbmdFdmVudHMpCiAgICAgICAgIHJldHVybjsK
IAogICAgIC8vIERvIHRyeUNsZWFyL3RyeUFjdGl2YXRlLCBhcyBwZXIgaHR0cHM6Ly93M2MuZ2l0
aHViLmlvL1NlcnZpY2VXb3JrZXIvI3dhaXQtdW50aWwtbWV0aG9kLgotICAgIGF1dG8qIHJlZ2lz
dHJhdGlvbiA9IG1fc2VydmVyLmdldFJlZ2lzdHJhdGlvbihtX3JlZ2lzdHJhdGlvbktleSk7Cisg
ICAgYXV0byogcmVnaXN0cmF0aW9uID0gbV9zZXJ2ZXItPmdldFJlZ2lzdHJhdGlvbihtX3JlZ2lz
dHJhdGlvbktleSk7CiAgICAgaWYgKCFyZWdpc3RyYXRpb24pCiAgICAgICAgIHJldHVybjsKIApA
QCAtMTk1LDcgKzIxNiw3IEBAIHZvaWQgU1dTZXJ2ZXJXb3JrZXI6OnNldFN0YXRlKFNlcnZpY2VX
b3JrZXJTdGF0ZSBzdGF0ZSkKIAogICAgIG1fZGF0YS5zdGF0ZSA9IHN0YXRlOwogCi0gICAgYXV0
byogcmVnaXN0cmF0aW9uID0gbV9zZXJ2ZXIuZ2V0UmVnaXN0cmF0aW9uKG1fcmVnaXN0cmF0aW9u
S2V5KTsKKyAgICBhdXRvKiByZWdpc3RyYXRpb24gPSBtX3NlcnZlci0+Z2V0UmVnaXN0cmF0aW9u
KG1fcmVnaXN0cmF0aW9uS2V5KTsKICAgICBBU1NFUlQocmVnaXN0cmF0aW9uIHx8IHN0YXRlID09
IFNlcnZpY2VXb3JrZXJTdGF0ZTo6UmVkdW5kYW50KTsKICAgICBpZiAocmVnaXN0cmF0aW9uKSB7
CiAgICAgICAgIHJlZ2lzdHJhdGlvbi0+Zm9yRWFjaENvbm5lY3Rpb24oWyZdKGF1dG8mIGNvbm5l
Y3Rpb24pIHsKQEAgLTIxNiw3ICsyMzcsNyBAQCB2b2lkIFNXU2VydmVyV29ya2VyOjpjYWxsV2hl
bkFjdGl2YXRlZEhhbmRsZXIoYm9vbCBzdWNjZXNzKQogCiB2b2lkIFNXU2VydmVyV29ya2VyOjpz
ZXRTdGF0ZShTdGF0ZSBzdGF0ZSkKIHsKLSAgICBBU1NFUlQoc3RhdGUgIT0gU3RhdGU6OlJ1bm5p
bmcgfHwgbV9zZXJ2ZXIuZ2V0UmVnaXN0cmF0aW9uKG1fcmVnaXN0cmF0aW9uS2V5KSk7CisgICAg
QVNTRVJUKHN0YXRlICE9IFN0YXRlOjpSdW5uaW5nIHx8IG1fc2VydmVyLT5nZXRSZWdpc3RyYXRp
b24obV9yZWdpc3RyYXRpb25LZXkpKTsKICAgICBtX3N0YXRlID0gc3RhdGU7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJXb3Jr
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJXb3Jr
ZXIuaAppbmRleCA4NWI3ZTcxZGZiYmU4ZjBmYzNlZmRhNjljYjIwODJlMGJjZjc1YzRlLi5mMWM5
YWJiODNhNzk4YWY1MGZkYjBiNDg4MDBkMGMzODYxYTYzYjBlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyV29ya2VyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlcldvcmtlci5oCkBAIC03
Myw3ICs3Myw3IEBAIHB1YmxpYzoKICAgICBib29sIGlzVGVybWluYXRpbmcoKSBjb25zdCB7IHJl
dHVybiBtX3N0YXRlID09IFN0YXRlOjpUZXJtaW5hdGluZzsgfQogICAgIHZvaWQgc2V0U3RhdGUo
U3RhdGUpOwogCi0gICAgU1dTZXJ2ZXImIHNlcnZlcigpIHsgcmV0dXJuIG1fc2VydmVyOyB9Cisg
ICAgU1dTZXJ2ZXIqIHNlcnZlcigpIHsgcmV0dXJuIG1fc2VydmVyLmdldCgpOyB9CiAgICAgY29u
c3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYgcmVnaXN0cmF0aW9uS2V5KCkgY29uc3Qg
eyByZXR1cm4gbV9yZWdpc3RyYXRpb25LZXk7IH0KICAgICBjb25zdCBVUkwmIHNjcmlwdFVSTCgp
IGNvbnN0IHsgcmV0dXJuIG1fZGF0YS5zY3JpcHRVUkw7IH0KICAgICBjb25zdCBTdHJpbmcmIHNj
cmlwdCgpIGNvbnN0IHsgcmV0dXJuIG1fc2NyaXB0OyB9CkBAIC0xMTcsNyArMTE3LDcgQEAgcHJp
dmF0ZToKIAogICAgIHZvaWQgY2FsbFdoZW5BY3RpdmF0ZWRIYW5kbGVyKGJvb2wgc3VjY2Vzcyk7
CiAKLSAgICBTV1NlcnZlciYgbV9zZXJ2ZXI7CisgICAgV2Vha1B0cjxTV1NlcnZlcj4gbV9zZXJ2
ZXI7CiAgICAgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSBtX3JlZ2lzdHJhdGlvbktleTsK
ICAgICBTZXJ2aWNlV29ya2VyRGF0YSBtX2RhdGE7CiAgICAgU3RyaW5nIG1fc2NyaXB0Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>