<?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>179776</bug_id>
          
          <creation_ts>2017-11-16 09:28:21 -0800</creation_ts>
          <short_desc>Service Worker should get the body of intercepted requests</short_desc>
          <delta_ts>2017-11-16 18:42:03 -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 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>1372645</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-11-16 09:28:21 -0800</bug_when>
    <thetext>Currently they do not. Let&apos;s start with simple SharedBuffer-like bodies</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1372773</commentid>
    <comment_count>1</comment_count>
      <attachid>327098</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-11-16 13:15:11 -0800</bug_when>
    <thetext>Created attachment 327098
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1372781</commentid>
    <comment_count>2</comment_count>
      <attachid>327102</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-11-16 13:36:17 -0800</bug_when>
    <thetext>Created attachment 327102
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1372862</commentid>
    <comment_count>3</comment_count>
      <attachid>327124</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-11-16 16:19:35 -0800</bug_when>
    <thetext>Created attachment 327124
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1372947</commentid>
    <comment_count>4</comment_count>
      <attachid>327124</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-11-16 18:36:07 -0800</bug_when>
    <thetext>Comment on attachment 327124
Patch

Clearing flags on attachment: 327124

Committed r224956: &lt;https://trac.webkit.org/changeset/224956&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1372948</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-11-16 18:36:08 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1372950</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-11-16 18:42:03 -0800</bug_when>
    <thetext>&lt;rdar://problem/35606095&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>327098</attachid>
            <date>2017-11-16 13:15:11 -0800</date>
            <delta_ts>2017-11-16 13:36:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-179776-20171116131511.patch</filename>
            <type>text/plain</type>
            <size>39048</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI0OTA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDc5ZGY1NGQyYWI1Zjhm
YzdiNmI0NDgxNmNlMjBhMTc2YTIyYzZmOS4uNzEzOWM3NjBiN2Y2OTM1NDAxZjNlMTc3MDU5Njky
NDkyNTgyZDAzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM1IEBACiAyMDE3LTExLTE2ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAorICAgICAgICBTZXJ2aWNlIFdvcmtlciBz
aG91bGQgZ2V0IHRoZSBib2R5IG9mIGludGVyY2VwdGVkIHJlcXVlc3RzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzk3NzYKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBodHRwL3Rlc3RzL3dvcmtl
cnMvc2VydmljZS9zZXJ2aWNlLXdvcmtlci1yZXF1ZXN0LXdpdGgtYm9keS5odHRwcy5odG1sCisK
KyAgICAgICAgTWFrZSB1c2Ugb2YgRmV0Y2hCb2R5Q29uc3VtZXIgdG8gc3RvcmUgcmF3IGRhdGEg
Zm9yIEZldGNoUmVxdWVzdC4KKyAgICAgICAgVGhpcyBpcyB1c2VkIHdoZW4gc2V0dGluZyBGZXRj
aFJlcXVlc3QgYm9keSBmcm9tIGEgRm9ybURhdGEuCisgICAgICAgIElmIEZvcm1EYXRhIGlzIG9u
bHkgYnl0ZXMgKG5vIGJsb2IsIG5vIGZpbGUpLCBGZXRjaEJvZHlDb25zdW1lciB3aWxsIHN0b3Jl
IHRoYXQgZGF0YS4KKyAgICAgICAgVGhpcyBhbGxvd3MgU2VydmljZSBXb3JrZXIgdG8gZ2V0IGFj
Y2VzcyB0byBzaW1wbGUgcmVxdWVzdCBib2RpZXMuCisKKyAgICAgICAgKiBNb2R1bGVzL2ZldGNo
L0ZldGNoQm9keS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGZXRjaEJvZHk6OmZyb21Gb3JtRGF0
YSk6CisgICAgICAgIChXZWJDb3JlOjpGZXRjaEJvZHk6OmNvbnN1bWUpOgorICAgICAgICAoV2Vi
Q29yZTo6RmV0Y2hCb2R5Ojpib2R5QXNGb3JtRGF0YSBjb25zdCk6IE1ha2luZyBzdXJlIGJvZHkg
aXMgc2V0IGFwcHJvcHJpYXRlbHkgd2hlbiB1c2VkIHRvIG1ha2UgZmV0Y2ggbG9hZC4KKyAgICAg
ICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoQm9keS5oOiBNYWtpbmcgc29tZSBtZXRob2RzIHByaXZh
dGUuCisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHlDb25zdW1lci5oOiBBZGRpbmcg
YWNjZXNzb3JzLgorICAgICAgICAoV2ViQ29yZTo6RmV0Y2hCb2R5Q29uc3VtZXI6Omhhc0RhdGEg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RmV0Y2hCb2R5Q29uc3VtZXI6OmRhdGEgY29uc3Qp
OgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0Lmg6CisgICAgICAgIChXZWJD
b3JlOjpGZXRjaFJlcXVlc3Q6OkZldGNoUmVxdWVzdCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0
d29yay9Gb3JtRGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb3JtRGF0YTo6YXNTaGFyZWRC
dWZmZXIgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvRm9ybURhdGEuaDoKKyAg
ICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyRmV0Y2guY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckZldGNoOjpkaXNwYXRjaEZldGNoRXZlbnQp
OiBTZXR0aW5nIEZldGNoUmVxdWVzdCBib2R5IGJhc2VkIG9uIGdpdmVuIEZvcm1EYXRhLgorCisy
MDE3LTExLTE2ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKwogICAgICAgICBG
ZXRjaExvYWRlciBzaG91bGQgdW5yZWdpc3RlciBpdHMgYmxvYiBVUkwKICAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3OTc2OAogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDJk
ZDJjYzVmNDIxZDU4NjVhYWQ4ZmE3ZGQ4M2VmNTZkMjc3MGU3YTQuLjk1NzI3MzE5M2Q2YjFlZGI2
OGRiOTM4MmQ3OTczNDRlMjYxNTI1YjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzIgQEAKKzIwMTct
MTEtMTYgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFNlcnZp
Y2UgV29ya2VyIHNob3VsZCBnZXQgdGhlIGJvZHkgb2YgaW50ZXJjZXB0ZWQgcmVxdWVzdHMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3OTc3NgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFBhc3MgYSBGb3Jt
RGF0YVJlZmVyZW5jZSB3aGVuIHN0YXJ0aW5nIGZldGNoIElQQy4KKyAgICAgICAgQ29udmVydCB0
aGlzIEZvcm1EYXRhUmVmZXJlbmNlIGluIGEgRm9ybURhdGEgYW5kIHVzaW5nIGl0IHRvIHNldCB0
aGUgRmV0Y2hSZXF1ZXN0IGJvZHkgcHJvcGVybHkgaW4gU2VydmljZSBXb3JrZXIgcHJvY2Vzcy4K
KyAgICAgICAgRm9yYmlkIGZldGNoIGludGVyY2VwdGlvbiB3aGVuIFVSTCBpcyBub3QgSFRUUC9I
VFRQUy4KKworICAgICAgICAqIFBsYXRmb3JtL0lQQy9Gb3JtRGF0YVJlZmVyZW5jZS5oOgorICAg
ICAgICAoSVBDOjpGb3JtRGF0YVJlZmVyZW5jZTo6Rm9ybURhdGFSZWZlcmVuY2UpOgorICAgICAg
ICAoSVBDOjpGb3JtRGF0YVJlZmVyZW5jZTo6dGFrZURhdGEpOgorICAgICAgICAoSVBDOjpGb3Jt
RGF0YVJlZmVyZW5jZTo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKElQQzo6Rm9ybURhdGFSZWZl
cmVuY2U6OmRlY29kZSk6CisgICAgICAgICogU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9X
ZWJTV1NlcnZlckNvbm5lY3Rpb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJTV1NlcnZlckNv
bm5lY3Rpb246OnN0YXJ0RmV0Y2gpOgorICAgICAgICAqIFN0b3JhZ2VQcm9jZXNzL1NlcnZpY2VX
b3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmg6CisgICAgICAgICogU3RvcmFnZVByb2Nlc3Mv
U2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW46CisgICAgICAg
ICogV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYlNXQ2xpZW50Q29ubmVjdGlvbjo6c3RhcnRGZXRjaCk6CisgICAgICAgICog
V2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246OnN0YXJ0RmV0Y2gp
OgorICAgICAgICAqIFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVj
dGlvbi5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2Vy
Q29ubmVjdGlvbi5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1N0b3JhZ2UvV2Vi
U2VydmljZVdvcmtlclByb3ZpZGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViU2VydmljZVdv
cmtlclByb3ZpZGVyOjpoYW5kbGVGZXRjaCk6CisKIDIwMTctMTEtMTUgIEFsZXggQ2hyaXN0ZW5z
ZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZlcnQgcjIyNDg4NQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHkuY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHkuY3BwCmluZGV4IDJlMTVjZDcw
M2YwMjNkOTcyZGE2NDUzMWNlODk1ZGFmN2M1ZDcwZDkuLjYzMjdiNWNjNGI5OGYxMDIzYTQwY2I3
NGI0ZTAxZGQ3MTM1NzNiMDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0
Y2gvRmV0Y2hCb2R5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNo
Qm9keS5jcHAKQEAgLTY5LDYgKzY5LDIxIEBAIEZldGNoQm9keSBGZXRjaEJvZHk6OmV4dHJhY3Qo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgSW5pdCYmIHZhbHVlLCBTdHJpCiAgICAg
fSk7CiB9CiAKK3N0ZDo6b3B0aW9uYWw8RmV0Y2hCb2R5PiBGZXRjaEJvZHk6OmZyb21Gb3JtRGF0
YShGb3JtRGF0YSogZm9ybURhdGEpCit7CisgICAgaWYgKCFmb3JtRGF0YSB8fCBmb3JtRGF0YS0+
aXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgaWYgKGF1dG8g
YnVmZmVyID0gZm9ybURhdGEtPmFzU2hhcmVkQnVmZmVyKCkpIHsKKyAgICAgICAgRmV0Y2hCb2R5
IGJvZHk7CisgICAgICAgIGJvZHkubV9jb25zdW1lci5zZXREYXRhKGJ1ZmZlci5yZWxlYXNlTm9u
TnVsbCgpKTsKKyAgICAgICAgcmV0dXJuIGJvZHk7CisgICAgfQorCisgICAgLy8gRklYTUU6IFN1
cHBvcnQgYmxvYiBhbmQgZm9ybSBkYXRhIGJvZGllcy4KKyAgICByZXR1cm4gc3RkOjpudWxsb3B0
OworfQorCiB2b2lkIEZldGNoQm9keTo6YXJyYXlCdWZmZXIoRmV0Y2hCb2R5T3duZXImIG93bmVy
LCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2UpCiB7CiAgICAgbV9jb25zdW1lci5zZXRU
eXBlKEZldGNoQm9keUNvbnN1bWVyOjpUeXBlOjpBcnJheUJ1ZmZlcik7CkBAIC0xMzQsNyArMTQ5
LDcgQEAgdm9pZCBGZXRjaEJvZHk6OmNvbnN1bWUoRmV0Y2hCb2R5T3duZXImIG93bmVyLCBSZWY8
RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2UpCiAgICAgfQogICAgIGlmIChpc0Zvcm1EYXRhKCkp
IHsKICAgICAgICAgLy8gRklYTUU6IFN1cHBvcnQgY29uc3VtaW5nIEZvcm1EYXRhLgotICAgICAg
ICBwcm9taXNlLT5yZWplY3QoKTsKKyAgICAgICAgcHJvbWlzZS0+cmVqZWN0KE5vdFN1cHBvcnRl
ZEVycm9yKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtMjMxLDYgKzI0Niw5IEBAIFJl
ZlB0cjxGb3JtRGF0YT4gRmV0Y2hCb2R5Ojpib2R5QXNGb3JtRGF0YShTY3JpcHRFeGVjdXRpb25D
b250ZXh0JiBjb250ZXh0KSBjb25zCiAgICAgICAgIGJvZHktPmdlbmVyYXRlRmlsZXMoJmRvd25j
YXN0PERvY3VtZW50Pihjb250ZXh0KSk7CiAgICAgICAgIHJldHVybiBib2R5OwogICAgIH0KKyAg
ICBpZiAoYXV0byogZGF0YSA9IG1fY29uc3VtZXIuZGF0YSgpKQorICAgICAgICByZXR1cm4gRm9y
bURhdGE6OmNyZWF0ZShkYXRhLT5kYXRhKCksIGRhdGEtPnNpemUoKSk7CisKICAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKICAgICByZXR1cm4gbnVsbHB0cjsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2ZldGNoL0ZldGNoQm9keS5oCmluZGV4IGRiYWE4NDRhMDkxZmFjNzY2NGU5ZWQyZDAyMmI0
NmYyMTU3MWRjNGYuLjZkY2UxMTY0OTk5YzUyYTEzM2Y2ZGZkZWEwYjdmMWFkYWRkOTk3NzYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHkuaApAQCAtNTQsMTggKzU0LDEy
IEBAIHB1YmxpYzoKICAgICB2b2lkIGNvbnN1bWVBc1N0cmVhbShGZXRjaEJvZHlPd25lciYsIEZl
dGNoQm9keVNvdXJjZSYpOwogI2VuZGlmCiAKLSAgICBib29sIGlzQmxvYigpIGNvbnN0IHsgcmV0
dXJuIFdURjo6aG9sZHNfYWx0ZXJuYXRpdmU8UmVmPGNvbnN0IEJsb2I+PihtX2RhdGEpOyB9Ci0g
ICAgYm9vbCBpc0Zvcm1EYXRhKCkgY29uc3QgeyByZXR1cm4gV1RGOjpob2xkc19hbHRlcm5hdGl2
ZTxSZWY8Rm9ybURhdGE+PihtX2RhdGEpOyB9Ci0gICAgYm9vbCBpc0FycmF5QnVmZmVyKCkgY29u
c3QgeyByZXR1cm4gV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxSZWY8Y29uc3QgQXJyYXlCdWZmZXI+
PihtX2RhdGEpOyB9Ci0gICAgYm9vbCBpc0FycmF5QnVmZmVyVmlldygpIGNvbnN0IHsgcmV0dXJu
IFdURjo6aG9sZHNfYWx0ZXJuYXRpdmU8UmVmPGNvbnN0IEFycmF5QnVmZmVyVmlldz4+KG1fZGF0
YSk7IH0KLSAgICBib29sIGlzVVJMU2VhcmNoUGFyYW1zKCkgY29uc3QgeyByZXR1cm4gV1RGOjpo
b2xkc19hbHRlcm5hdGl2ZTxSZWY8Y29uc3QgVVJMU2VhcmNoUGFyYW1zPj4obV9kYXRhKTsgfQot
ICAgIGJvb2wgaXNUZXh0KCkgY29uc3QgeyByZXR1cm4gV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxT
dHJpbmc+KG1fZGF0YSk7IH0KLSAgICBib29sIGhhc1JlYWRhYmxlU3RyZWFtKCkgY29uc3QgeyBy
ZXR1cm4gISFtX3JlYWRhYmxlU3RyZWFtOyB9Ci0KICAgICB1c2luZyBJbml0ID0gVmFyaWFudDxS
ZWZQdHI8QmxvYj4sIFJlZlB0cjxBcnJheUJ1ZmZlclZpZXc+LCBSZWZQdHI8QXJyYXlCdWZmZXI+
LCBSZWZQdHI8RE9NRm9ybURhdGE+LCBSZWZQdHI8VVJMU2VhcmNoUGFyYW1zPiwgUmVmUHRyPFJl
YWRhYmxlU3RyZWFtPiwgU3RyaW5nPjsKICAgICBzdGF0aWMgRmV0Y2hCb2R5IGV4dHJhY3QoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYsIEluaXQmJiwgU3RyaW5nJik7CiAgICAgRmV0Y2hCb2R5KCkg
PSBkZWZhdWx0OwogCisgICAgc3RhdGljIHN0ZDo6b3B0aW9uYWw8RmV0Y2hCb2R5PiBmcm9tRm9y
bURhdGEoRm9ybURhdGEqKTsKKwogICAgIHZvaWQgbG9hZGluZ0ZhaWxlZCgpOwogICAgIHZvaWQg
bG9hZGluZ1N1Y2NlZWRlZCgpOwogCkBAIC04MSw2ICs3NSw4IEBAIHB1YmxpYzoKICAgICB2b2lk
IGNsZWFuQ29uc3VtZXIoKSB7IG1fY29uc3VtZXIuY2xlYW4oKTsgfQogCiAgICAgRmV0Y2hCb2R5
IGNsb25lKCk7CisKKyAgICBib29sIGhhc1JlYWRhYmxlU3RyZWFtKCkgY29uc3QgeyByZXR1cm4g
ISFtX3JlYWRhYmxlU3RyZWFtOyB9CiAgICAgY29uc3QgUmVhZGFibGVTdHJlYW0qIHJlYWRhYmxl
U3RyZWFtKCkgY29uc3QgeyByZXR1cm4gbV9yZWFkYWJsZVN0cmVhbS5nZXQoKTsgfQogICAgIFJl
YWRhYmxlU3RyZWFtKiByZWFkYWJsZVN0cmVhbSgpIHsgcmV0dXJuIG1fcmVhZGFibGVTdHJlYW0u
Z2V0KCk7IH0KICAgICB2b2lkIHNldFJlYWRhYmxlU3RyZWFtKFJlZjxSZWFkYWJsZVN0cmVhbT4m
JiBzdHJlYW0pCkBAIC0xMDYsNiArMTAyLDEzIEBAIHByaXZhdGU6CiAgICAgdm9pZCBjb25zdW1l
VGV4dChSZWY8RGVmZXJyZWRQcm9taXNlPiYmLCBjb25zdCBTdHJpbmcmKTsKICAgICB2b2lkIGNv
bnN1bWVCbG9iKEZldGNoQm9keU93bmVyJiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJik7CiAKKyAg
ICBib29sIGlzQmxvYigpIGNvbnN0IHsgcmV0dXJuIFdURjo6aG9sZHNfYWx0ZXJuYXRpdmU8UmVm
PGNvbnN0IEJsb2I+PihtX2RhdGEpOyB9CisgICAgYm9vbCBpc0Zvcm1EYXRhKCkgY29uc3QgeyBy
ZXR1cm4gV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxSZWY8Rm9ybURhdGE+PihtX2RhdGEpOyB9Cisg
ICAgYm9vbCBpc0FycmF5QnVmZmVyKCkgY29uc3QgeyByZXR1cm4gV1RGOjpob2xkc19hbHRlcm5h
dGl2ZTxSZWY8Y29uc3QgQXJyYXlCdWZmZXI+PihtX2RhdGEpOyB9CisgICAgYm9vbCBpc0FycmF5
QnVmZmVyVmlldygpIGNvbnN0IHsgcmV0dXJuIFdURjo6aG9sZHNfYWx0ZXJuYXRpdmU8UmVmPGNv
bnN0IEFycmF5QnVmZmVyVmlldz4+KG1fZGF0YSk7IH0KKyAgICBib29sIGlzVVJMU2VhcmNoUGFy
YW1zKCkgY29uc3QgeyByZXR1cm4gV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxSZWY8Y29uc3QgVVJM
U2VhcmNoUGFyYW1zPj4obV9kYXRhKTsgfQorICAgIGJvb2wgaXNUZXh0KCkgY29uc3QgeyByZXR1
cm4gV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxTdHJpbmc+KG1fZGF0YSk7IH0KKwogICAgIGNvbnN0
IEJsb2ImIGJsb2JCb2R5KCkgY29uc3QgeyByZXR1cm4gV1RGOjpnZXQ8UmVmPGNvbnN0IEJsb2I+
PihtX2RhdGEpLmdldCgpOyB9CiAgICAgRm9ybURhdGEmIGZvcm1EYXRhQm9keSgpIHsgcmV0dXJu
IFdURjo6Z2V0PFJlZjxGb3JtRGF0YT4+KG1fZGF0YSkuZ2V0KCk7IH0KICAgICBjb25zdCBGb3Jt
RGF0YSYgZm9ybURhdGFCb2R5KCkgY29uc3QgeyByZXR1cm4gV1RGOjpnZXQ8UmVmPEZvcm1EYXRh
Pj4obV9kYXRhKS5nZXQoKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9m
ZXRjaC9GZXRjaEJvZHlDb25zdW1lci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9G
ZXRjaEJvZHlDb25zdW1lci5oCmluZGV4IDdhMzQwNTQ5YzFlMjcxMGNhNTk4MmYxNDg4OGJkM2Yz
MmZiNWM0ZmMuLmI0NjdkYjY2ZWFhZmRlYTJkZmNiOWZmY2Y1ZGQ4ODNlYTcyMTI5ZGMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5Q29uc3VtZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoQm9keUNvbnN1bWVyLmgKQEAg
LTQ4LDYgKzQ4LDggQEAgcHVibGljOgogICAgIHZvaWQgYXBwZW5kKGNvbnN0IGNoYXIqIGRhdGEs
IHVuc2lnbmVkKTsKICAgICB2b2lkIGFwcGVuZChjb25zdCB1bnNpZ25lZCBjaGFyKiBkYXRhLCB1
bnNpZ25lZCk7CiAKKyAgICBib29sIGhhc0RhdGEoKSBjb25zdCB7IHJldHVybiAhIW1fYnVmZmVy
OyB9CisgICAgY29uc3QgU2hhcmVkQnVmZmVyKiBkYXRhKCkgY29uc3QgeyByZXR1cm4gbV9idWZm
ZXIuZ2V0KCk7IH0KICAgICB2b2lkIHNldERhdGEoUmVmPFNoYXJlZEJ1ZmZlcj4mJiBkYXRhKSB7
IG1fYnVmZmVyID0gV1RGTW92ZShkYXRhKTsgfQogCiAgICAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4g
dGFrZURhdGEoKTsKQEAgLTY0LDggKzY2LDYgQEAgcHVibGljOgogICAgIHZvaWQgcmVzb2x2ZShS
ZWY8RGVmZXJyZWRQcm9taXNlPiYmLCBSZWFkYWJsZVN0cmVhbSopOwogICAgIHZvaWQgcmVzb2x2
ZVdpdGhEYXRhKFJlZjxEZWZlcnJlZFByb21pc2U+JiYsIGNvbnN0IHVuc2lnbmVkIGNoYXIqLCB1
bnNpZ25lZCk7CiAKLSAgICBib29sIGhhc0RhdGEoKSBjb25zdCB7IHJldHVybiAhIW1fYnVmZmVy
OyB9Ci0KICAgICB2b2lkIGxvYWRpbmdGYWlsZWQoKTsKICAgICB2b2lkIGxvYWRpbmdTdWNjZWVk
ZWQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJl
cXVlc3QuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0LmgKaW5k
ZXggYTA0MjNjZWFmMDllZjVjYzNjODdlOGY4NWI4NjM1M2Y5ZjcyYjQwZi4uMDU2ODUxNzVkODZi
YmQ3ZjcwM2E3ZmE1NmY1MjFmYjk1MmE5ODdmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2ZldGNoL0ZldGNoUmVxdWVzdC5oCkBAIC0xMDQsNiArMTA0LDcgQEAgaW5saW5lIEZldGNoUmVx
dWVzdDo6RmV0Y2hSZXF1ZXN0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIHN0ZDo6
b3B0aW9uYWwKICAgICAsIG1fb3B0aW9ucyhXVEZNb3ZlKG9wdGlvbnMpKQogICAgICwgbV9yZWZl
cnJlcihXVEZNb3ZlKHJlZmVycmVyKSkKIHsKKyAgICB1cGRhdGVDb250ZW50VHlwZSgpOwogfQog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvRm9ybURhdGEuY3BwCmluZGV4IDcyNDQyM2VlYTVjYTVkZTc4N2U1OGVjMDQ5MTA3M2UyZTFk
MjIwNjcuLjNjOGVlMDhkMTU5MTkzZGEwZmM3MDVhMGFjZmQ4MzQyOGU1YjdjMmMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGEuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGEuY3BwCkBAIC00MjgsNCArNDI4
LDEzIEBAIHVpbnQ2NF90IEZvcm1EYXRhOjpsZW5ndGhJbkJ5dGVzKCkgY29uc3QKICAgICByZXR1
cm4gKm1fbGVuZ3RoSW5CeXRlczsKIH0KIAorUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gRm9ybURhdGE6
OmFzU2hhcmVkQnVmZmVyKCkgY29uc3QKK3sKKyAgICBmb3IgKGF1dG8mIGVsZW1lbnQgOiBtX2Vs
ZW1lbnRzKSB7CisgICAgICAgIGlmIChlbGVtZW50Lm1fdHlwZSAhPSBGb3JtRGF0YUVsZW1lbnQ6
OlR5cGU6OkRhdGEpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9CisgICAgcmV0
dXJuIFNoYXJlZEJ1ZmZlcjo6Y3JlYXRlKGZsYXR0ZW4oKSk7Cit9CisKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9y
bURhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGEuaAppbmRl
eCBmZTRmNThlMTg5ZTZlNzYzZWM3ZDQyYTI3M2FjMTQ3NGRmM2Y4ZjQ2Li42ZjlhN2E3MmJmZjk4
MjI2NTc5NjVkMzkwNmExNTMyZjBkZmE1OGY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9Gb3JtRGF0YS5oCkBAIC0zMSw2ICszMSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IGNsYXNzIERPTUZvcm1EYXRhOwogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBGaWxlOworY2xhc3Mg
U2hhcmVkQnVmZmVyOwogY2xhc3MgVGV4dEVuY29kaW5nOwogCiBjbGFzcyBGb3JtRGF0YUVsZW1l
bnQgewpAQCAtMjM0LDYgKzIzNSw4IEBAIHB1YmxpYzoKICAgICBjb25zdCBWZWN0b3I8Rm9ybURh
dGFFbGVtZW50PiYgZWxlbWVudHMoKSBjb25zdCB7IHJldHVybiBtX2VsZW1lbnRzOyB9CiAgICAg
Y29uc3QgVmVjdG9yPGNoYXI+JiBib3VuZGFyeSgpIGNvbnN0IHsgcmV0dXJuIG1fYm91bmRhcnk7
IH0KIAorICAgIFJlZlB0cjxTaGFyZWRCdWZmZXI+IGFzU2hhcmVkQnVmZmVyKCkgY29uc3Q7CisK
ICAgICB2b2lkIGdlbmVyYXRlRmlsZXMoRG9jdW1lbnQqKTsKICAgICB2b2lkIHJlbW92ZUdlbmVy
YXRlZEZpbGVzSWZOZWVkZWQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlckZldGNoLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJGZXRjaC5jcHAKaW5kZXggYjg1
ZDY0YmJiMGIyNjhlNWIyODk1YzI5NTE2MjljZDVkZjU3ZWUwNC4uN2EyYjAzZmRkNTYxNjBmMmU1
YzhlNWQ1YzUxMjQ0ODIzMmJhZDYzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlckZldGNoLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyRmV0Y2guY3BwCkBAIC05
Myw5ICs5Myw5IEBAIFJlZjxGZXRjaEV2ZW50PiBkaXNwYXRjaEZldGNoRXZlbnQoUmVmPENsaWVu
dD4mJiBjbGllbnQsIFdvcmtlckdsb2JhbFNjb3BlJiBnbG9iCiB7CiAgICAgQVNTRVJUKGdsb2Jh
bFNjb3BlLmlzU2VydmljZVdvcmtlckdsb2JhbFNjb3BlKCkpOwogCi0gICAgLy8gRklYTUU6IFNl
dCByZXF1ZXN0IGJvZHkgYW5kIHJlZmVycmVyLgorICAgIC8vIEZJWE1FOiBTZXQgcmVxdWVzdCBy
ZWZlcnJlci4KICAgICBhdXRvIHJlcXVlc3RIZWFkZXJzID0gRmV0Y2hIZWFkZXJzOjpjcmVhdGUo
RmV0Y2hIZWFkZXJzOjpHdWFyZDo6SW1tdXRhYmxlLCBIVFRQSGVhZGVyTWFwIHsgcmVxdWVzdC5o
dHRwSGVhZGVyRmllbGRzKCkgfSk7Ci0gICAgYXV0byBmZXRjaFJlcXVlc3QgPSBGZXRjaFJlcXVl
c3Q6OmNyZWF0ZShnbG9iYWxTY29wZSwgc3RkOjpudWxsb3B0LCBXVEZNb3ZlKHJlcXVlc3RIZWFk
ZXJzKSwgIFdURk1vdmUocmVxdWVzdCksIFdURk1vdmUob3B0aW9ucyksIHsgfSk7CisgICAgYXV0
byBmZXRjaFJlcXVlc3QgPSBGZXRjaFJlcXVlc3Q6OmNyZWF0ZShnbG9iYWxTY29wZSwgRmV0Y2hC
b2R5Ojpmcm9tRm9ybURhdGEocmVxdWVzdC5odHRwQm9keSgpKSwgV1RGTW92ZShyZXF1ZXN0SGVh
ZGVycyksICBXVEZNb3ZlKHJlcXVlc3QpLCBXVEZNb3ZlKG9wdGlvbnMpLCB7IH0pOwogCiAgICAg
Ly8gRklYTUU6IEluaXRpYWxpemUgb3RoZXIgRmV0Y2hFdmVudDo6SW5pdCBmaWVsZHMuCiAgICAg
RmV0Y2hFdmVudDo6SW5pdCBpbml0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9y
bS9JUEMvRm9ybURhdGFSZWZlcmVuY2UuaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0Zv
cm1EYXRhUmVmZXJlbmNlLmgKaW5kZXggY2Q5ZGE2YTdkNDM5MzUwMDllNmUyNTkyYWJkMGU0Zjk0
MzQxODdlYi4uYTZkMmVhODY3NzBiNDcyYWNiMzY2OWRkMjg4NmJiZjFkODQ0Y2VlMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvRm9ybURhdGFSZWZlcmVuY2UuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9Gb3JtRGF0YVJlZmVyZW5jZS5oCkBAIC0yOCwy
NyArMjgsNDAgQEAKICNpbmNsdWRlICJEZWNvZGVyLmgiCiAjaW5jbHVkZSAiRW5jb2Rlci5oIgog
I2luY2x1ZGUgPFdlYkNvcmUvRm9ybURhdGEuaD4KLSNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAK
IG5hbWVzcGFjZSBJUEMgewogCisvLyBGSVhNRTogSW4gY2FzZSBvZiBmaWxlIGJhc2VkIGZvcm0g
ZGF0YSwgd2Ugc2hvdWxkIHBhc3Mgc2FuZGJveCBleHRlbnNpb25zIGFzIHdlbGwuCiBjbGFzcyBG
b3JtRGF0YVJlZmVyZW5jZSB7CiBwdWJsaWM6CiAgICAgRm9ybURhdGFSZWZlcmVuY2UoKSA9IGRl
ZmF1bHQ7Ci0KLSAgICBleHBsaWNpdCBGb3JtRGF0YVJlZmVyZW5jZShSZWY8V2ViQ29yZTo6Rm9y
bURhdGE+JiYgZGF0YSkKKyAgICBleHBsaWNpdCBGb3JtRGF0YVJlZmVyZW5jZShSZWZQdHI8V2Vi
Q29yZTo6Rm9ybURhdGE+JiYgZGF0YSkKICAgICAgICAgOiBtX2RhdGEoV1RGTW92ZShkYXRhKSkK
ICAgICB7CiAgICAgfQogCi0gICAgUmVmPFdlYkNvcmU6OkZvcm1EYXRhPiB0YWtlRGF0YSgpIHsg
cmV0dXJuIG1fZGF0YS5yZWxlYXNlTm9uTnVsbCgpOyB9CisgICAgUmVmUHRyPFdlYkNvcmU6OkZv
cm1EYXRhPiB0YWtlRGF0YSgpIHsgcmV0dXJuIFdURk1vdmUobV9kYXRhKTsgfQorCisgICAgdm9p
ZCBlbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKKyAgICB7CisgICAgICAgIGVuY29kZXIg
PDwgISFtX2RhdGE7CisgICAgICAgIGlmIChtX2RhdGEpCisgICAgICAgICAgICBlbmNvZGVyIDw8
ICptX2RhdGE7CisgICAgfQogCi0gICAgdm9pZCBlbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29u
c3QgeyBlbmNvZGVyIDw8ICptX2RhdGE7IH0KICAgICBzdGF0aWMgc3RkOjpvcHRpb25hbDxGb3Jt
RGF0YVJlZmVyZW5jZT4gZGVjb2RlKERlY29kZXImIGRlY29kZXIpCiAgICAgeworICAgICAgICBz
dGQ6Om9wdGlvbmFsPGJvb2w+IGhhc0Zvcm1EYXRhOworICAgICAgICBkZWNvZGVyID4+IGhhc0Zv
cm1EYXRhOworICAgICAgICBpZiAoIWhhc0Zvcm1EYXRhKQorICAgICAgICAgICAgcmV0dXJuIHN0
ZDo6bnVsbG9wdDsKKyAgICAgICAgaWYgKCFoYXNGb3JtRGF0YS52YWx1ZSgpKQorICAgICAgICAg
ICAgcmV0dXJuIEZvcm1EYXRhUmVmZXJlbmNlIHsgfTsKKwogICAgICAgICBhdXRvIGZvcm1EYXRh
ID0gV2ViQ29yZTo6Rm9ybURhdGE6OmRlY29kZShkZWNvZGVyKTsKICAgICAgICAgaWYgKCFmb3Jt
RGF0YSkKICAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKICAgICAgICAgcmV0dXJu
IEZvcm1EYXRhUmVmZXJlbmNlIHsgZm9ybURhdGEucmVsZWFzZU5vbk51bGwoKSB9OwogICAgIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2Vy
L1dlYlNXU2VydmVyQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNz
L1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcAppbmRleCBiN2E5MDI5MjBh
MzEyMWY5YjFkZDgyN2I1M2JlOTczOThhYzgyMzVlLi5jMWYxNTRlMzVlMDBiM2VmOTRjYTIyMzZh
OTVlOTVjZjA5Y2JlMDZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNz
L1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNw
cApAQCAtMTA3LDkgKzEwNyw5IEBAIHZvaWQgV2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjp1cGRhdGVX
b3JrZXJTdGF0ZUluQ2xpZW50KFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIHdvCiAgICAgc2VuZChN
ZXNzYWdlczo6V2ViU1dDbGllbnRDb25uZWN0aW9uOjpVcGRhdGVXb3JrZXJTdGF0ZSh3b3JrZXIs
IHN0YXRlKSk7CiB9CiAKLXZvaWQgV2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpzdGFydEZldGNoKHVp
bnQ2NF90IGZldGNoSWRlbnRpZmllciwgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VySWRlbnRp
Zmllcj4gc2VydmljZVdvcmtlcklkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVx
dWVzdCwgY29uc3QgRmV0Y2hPcHRpb25zJiBvcHRpb25zKQordm9pZCBXZWJTV1NlcnZlckNvbm5l
Y3Rpb246OnN0YXJ0RmV0Y2godWludDY0X3QgZmV0Y2hJZGVudGlmaWVyLCBzdGQ6Om9wdGlvbmFs
PFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyPiBzZXJ2aWNlV29ya2VySWRlbnRpZmllciwgY29uc3Qg
UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBGZXRjaE9wdGlvbnMmIG9wdGlvbnMsIGNv
bnN0IElQQzo6Rm9ybURhdGFSZWZlcmVuY2UmIGZvcm1EYXRhKQogewotICAgIHNlbmRUb0NvbnRl
eHRQcm9jZXNzKE1lc3NhZ2VzOjpXZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbjo6U3RhcnRG
ZXRjaChpZGVudGlmaWVyKCksIGZldGNoSWRlbnRpZmllciwgc2VydmljZVdvcmtlcklkZW50aWZp
ZXIsIHJlcXVlc3QsIG9wdGlvbnMpKTsKKyAgICBzZW5kVG9Db250ZXh0UHJvY2VzcyhNZXNzYWdl
czo6V2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246OlN0YXJ0RmV0Y2ggeyBpZGVudGlmaWVy
KCksIGZldGNoSWRlbnRpZmllciwgc2VydmljZVdvcmtlcklkZW50aWZpZXIsIHJlcXVlc3QsIG9w
dGlvbnMsIGZvcm1EYXRhIH0pOwogfQogCiB2b2lkIFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6cG9z
dE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZShTZXJ2aWNlV29ya2VySWRlbnRpZmll
ciBkZXN0aW5hdGlvblNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBjb25zdCBJUEM6OkRhdGFSZWZl
cmVuY2UmIG1lc3NhZ2UsIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhJiYgc291cmNlKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2Vy
dmVyQ29ubmVjdGlvbi5oIGIvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29y
a2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5oCmluZGV4IDJmZGVmM2NmYWUzNDMyYTlhZDliMDAy
MDMyNzkxODg0Njc2NzRjZjguLjNmMTMyNzJjZjYyMDU1MmRjNmVjZDdhNWFlY2ZiNzVjODliMDQ2
ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtl
ci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9j
ZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmgKQEAgLTc0LDcgKzc0LDcg
QEAgcHJpdmF0ZToKICAgICB2b2lkIHVwZGF0ZVdvcmtlclN0YXRlSW5DbGllbnQoV2ViQ29yZTo6
U2VydmljZVdvcmtlcklkZW50aWZpZXIsIFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJTdGF0ZSkgZmlu
YWw7CiAgICAgdm9pZCBmaXJlVXBkYXRlRm91bmRFdmVudChXZWJDb3JlOjpTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uSWRlbnRpZmllcikgZmluYWw7CiAKLSAgICB2b2lkIHN0YXJ0RmV0Y2godWlu
dDY0X3QgZmV0Y2hJZGVudGlmaWVyLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNlcnZpY2VXb3Jr
ZXJJZGVudGlmaWVyPiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgV2Vi
Q29yZTo6RmV0Y2hPcHRpb25zJik7CisgICAgdm9pZCBzdGFydEZldGNoKHVpbnQ2NF90IGZldGNo
SWRlbnRpZmllciwgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmll
cj4sIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFdlYkNvcmU6OkZldGNo
T3B0aW9ucyYsIGNvbnN0IElQQzo6Rm9ybURhdGFSZWZlcmVuY2UmKTsKIAogICAgIHZvaWQgcG9z
dE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZShXZWJDb3JlOjpTZXJ2aWNlV29ya2Vy
SWRlbnRpZmllciBkZXN0aW5hdGlvbklkZW50aWZpZXIsIGNvbnN0IElQQzo6RGF0YVJlZmVyZW5j
ZSYgbWVzc2FnZSwgV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudERhdGEmJiBzb3VyY2UpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIv
V2ViU1dTZXJ2ZXJDb25uZWN0aW9uLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9TdG9yYWdl
UHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5tZXNzYWdlcy5pbgpp
bmRleCAwYThhNDhlZTUwYmNiMmM5YjJmYTI1Y2YxZTU2NmFiM2EwZWYxMTNiLi42Mjg5OTZkZjc3
YmI3ZTYyYzNhZTk0MDYzYWM4YjEzZDQxYWJiMTQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLm1lc3Nh
Z2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9X
ZWJTV1NlcnZlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW4KQEAgLTI5LDcgKzI5LDcgQEAgbWVzc2Fn
ZXMgLT4gV2ViU1dTZXJ2ZXJDb25uZWN0aW9uIHsKICAgICBBZGRTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uSW5TZXJ2ZXIoV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSBrZXks
IFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyIGlkZW50aWZpZXIp
CiAgICAgUmVtb3ZlU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkluU2VydmVyKFdlYkNvcmU6OlNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkga2V5LCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uSWRlbnRpZmllciBpZGVudGlmaWVyKQogCi0gICAgU3RhcnRGZXRjaCh1aW50NjRf
dCBpZGVudGlmaWVyLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlm
aWVyPiBzZXJ2aWNlV29ya2VySWRlbnRpZmllciwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IHJl
cXVlc3QsIHN0cnVjdCBXZWJDb3JlOjpGZXRjaE9wdGlvbnMgb3B0aW9ucykKKyAgICBTdGFydEZl
dGNoKHVpbnQ2NF90IGlkZW50aWZpZXIsIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2VydmljZVdv
cmtlcklkZW50aWZpZXI+IHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBXZWJDb3JlOjpSZXNvdXJj
ZVJlcXVlc3QgcmVxdWVzdCwgc3RydWN0IFdlYkNvcmU6OkZldGNoT3B0aW9ucyBvcHRpb25zLCBJ
UEM6OkZvcm1EYXRhUmVmZXJlbmNlIHJlcXVlc3RCb2R5KQogICAgIFBvc3RNZXNzYWdlVG9TZXJ2
aWNlV29ya2VyR2xvYmFsU2NvcGUoV2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50aWZpZXIgZGVz
dGluYXRpb25TZXJ2aWNlV29ya2VySWRlbnRpZmllciwgSVBDOjpEYXRhUmVmZXJlbmNlIG1lc3Nh
Z2UsIHN0cnVjdCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSBzb3VyY2UpCiAKICAg
ICBEaWRSZXNvbHZlUmVnaXN0cmF0aW9uUHJvbWlzZShXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uS2V5IGtleSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9T
dG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uY3BwCmluZGV4IDQzYzU3NjliZjY0MGFj
MzAwOWM5NTU5YTM3NGU5MjkzMGNiNmMzNTEuLjA0NWUxNDFjNmFhMjEyYWNlNjVlY2NiZDcxZTQ5
OWNmNDYyYTdkYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdl
L1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmNwcApAQCAtMjksNiArMjksNyBAQAogI2lm
IEVOQUJMRShTRVJWSUNFX1dPUktFUikKIAogI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKKyNp
bmNsdWRlICJGb3JtRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNs
dWRlICJTZXJ2aWNlV29ya2VyQ2xpZW50RmV0Y2guaCIKICNpbmNsdWRlICJTdG9yYWdlVG9XZWJQ
cm9jZXNzQ29ubmVjdGlvbk1lc3NhZ2VzLmgiCkBAIC0xNDksNyArMTUwLDcgQEAgUmVmPFNlcnZp
Y2VXb3JrZXJDbGllbnRGZXRjaD4gV2ViU1dDbGllbnRDb25uZWN0aW9uOjpzdGFydEZldGNoKFdl
YlNlcnZpY2VXb3JrZXIKIHsKICAgICBBU1NFUlQobG9hZGVyLT5vcHRpb25zKCkuc2VydmljZVdv
cmtlcnNNb2RlICE9IFNlcnZpY2VXb3JrZXJzTW9kZTo6Tm9uZSAmJiBsb2FkZXItPm9wdGlvbnMo
KS5zZXJ2aWNlV29ya2VySWRlbnRpZmllcik7CiAKLSAgICBzZW5kKE1lc3NhZ2VzOjpXZWJTV1Nl
cnZlckNvbm5lY3Rpb246OlN0YXJ0RmV0Y2goaWRlbnRpZmllciwgbG9hZGVyLT5vcHRpb25zKCku
c2VydmljZVdvcmtlcklkZW50aWZpZXIsIGxvYWRlci0+b3JpZ2luYWxSZXF1ZXN0KCksIGxvYWRl
ci0+b3B0aW9ucygpKSk7CisgICAgc2VuZChNZXNzYWdlczo6V2ViU1dTZXJ2ZXJDb25uZWN0aW9u
OjpTdGFydEZldGNoIHsgaWRlbnRpZmllciwgbG9hZGVyLT5vcHRpb25zKCkuc2VydmljZVdvcmtl
cklkZW50aWZpZXIsIGxvYWRlci0+b3JpZ2luYWxSZXF1ZXN0KCksIGxvYWRlci0+b3B0aW9ucygp
LCBJUEM6OkZvcm1EYXRhUmVmZXJlbmNlIHsgbG9hZGVyLT5vcmlnaW5hbFJlcXVlc3QoKS5odHRw
Qm9keSgpIH0gfSk7CiAgICAgcmV0dXJuIFNlcnZpY2VXb3JrZXJDbGllbnRGZXRjaDo6Y3JlYXRl
KHByb3ZpZGVyLCBXVEZNb3ZlKGxvYWRlciksIGlkZW50aWZpZXIsIG1fY29ubmVjdGlvbi5nZXQo
KSwgV1RGTW92ZShjYWxsYmFjaykpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlv
bi5jcHAKaW5kZXggY2RkOTVkODA0NmRmNzAxYTE3MGE3ZjBmMWM0YTcwYjE3NzUwMjFmYi4uMGE5
NzM3NGI2Y2ViNjI4YTU4YzY5OTRiYjNmZTlmYTdmNDM0NDFkOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24u
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1h
bmFnZXJDb25uZWN0aW9uLmNwcApAQCAtMjksNiArMjksNyBAQAogI2lmIEVOQUJMRShTRVJWSUNF
X1dPUktFUikKIAogI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKKyNpbmNsdWRlICJGb3JtRGF0
YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJTdG9yYWdlUHJv
Y2Vzc01lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViQ2FjaGVTdG9yYWdlUHJvdmlkZXIuaCIKQEAg
LTEzMSw3ICsxMzIsNyBAQCB2b2lkIFdlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjpzZXJ2
aWNlV29ya2VyU3RhcnRlZFdpdGhNZXNzYWdlKFNlcnZpY2VXb3JrZQogICAgICAgICBtX2Nvbm5l
Y3Rpb25Ub1N0b3JhZ2VQcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJTV1NlcnZlclRvQ29udGV4
dENvbm5lY3Rpb246OlNjcmlwdENvbnRleHRGYWlsZWRUb1N0YXJ0KHNlcnZpY2VXb3JrZXJJZGVu
dGlmaWVyLCBleGNlcHRpb25NZXNzYWdlKSwgMCk7CiB9CiAKLXZvaWQgV2ViU1dDb250ZXh0TWFu
YWdlckNvbm5lY3Rpb246OnN0YXJ0RmV0Y2godWludDY0X3Qgc2VydmVyQ29ubmVjdGlvbklkZW50
aWZpZXIsIHVpbnQ2NF90IGZldGNoSWRlbnRpZmllciwgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29y
a2VySWRlbnRpZmllcj4gc2VydmljZVdvcmtlcklkZW50aWZpZXIsIFJlc291cmNlUmVxdWVzdCYm
IHJlcXVlc3QsIEZldGNoT3B0aW9ucyYmIG9wdGlvbnMpCit2b2lkIFdlYlNXQ29udGV4dE1hbmFn
ZXJDb25uZWN0aW9uOjpzdGFydEZldGNoKHVpbnQ2NF90IHNlcnZlckNvbm5lY3Rpb25JZGVudGlm
aWVyLCB1aW50NjRfdCBmZXRjaElkZW50aWZpZXIsIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtl
cklkZW50aWZpZXI+IHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBSZXNvdXJjZVJlcXVlc3QmJiBy
ZXF1ZXN0LCBGZXRjaE9wdGlvbnMmJiBvcHRpb25zLCBJUEM6OkZvcm1EYXRhUmVmZXJlbmNlJiYg
Zm9ybURhdGEpCiB7CiAgICAgYXV0byogc2VydmljZVdvcmtlclRocmVhZFByb3h5ID0gc2Vydmlj
ZVdvcmtlcklkZW50aWZpZXIgPyBTV0NvbnRleHRNYW5hZ2VyOjpzaW5nbGV0b24oKS5zZXJ2aWNl
V29ya2VyVGhyZWFkUHJveHkoKnNlcnZpY2VXb3JrZXJJZGVudGlmaWVyKSA6IG51bGxwdHI7CiAg
ICAgaWYgKCFzZXJ2aWNlV29ya2VyVGhyZWFkUHJveHkpIHsKQEAgLTE0MCw2ICsxNDEsOCBAQCB2
b2lkIFdlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjpzdGFydEZldGNoKHVpbnQ2NF90IHNl
cnZlckNvbm5lY3Rpb25JZGVudGlmaQogICAgIH0KIAogICAgIGF1dG8gY2xpZW50ID0gV2ViU2Vy
dmljZVdvcmtlckZldGNoVGFza0NsaWVudDo6Y3JlYXRlKG1fY29ubmVjdGlvblRvU3RvcmFnZVBy
b2Nlc3MuY29weVJlZigpLCBzZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllciwgZmV0Y2hJZGVudGlm
aWVyKTsKKworICAgIHJlcXVlc3Quc2V0SFRUUEJvZHkoZm9ybURhdGEudGFrZURhdGEoKSk7CiAg
ICAgc2VydmljZVdvcmtlclRocmVhZFByb3h5LT50aHJlYWQoKS5wb3N0RmV0Y2hUYXNrKFdURk1v
dmUoY2xpZW50KSwgV1RGTW92ZShyZXF1ZXN0KSwgV1RGTW92ZShvcHRpb25zKSk7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1h
bmFnZXJDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJT
V0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5oCmluZGV4IDhlNGQ1NmJlNzU0ODgwMTE1NDliYjU3
YThiNDJmZGYyMmQzMWJiMGIuLmI5YjE4MGFjMTcwNDhmMjQ3MTJkZjA4ZTA4NzJmNTFhZWI1NmZi
MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29u
dGV4dE1hbmFnZXJDb25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0
b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uaApAQCAtMzEsNiArMzEsMTAgQEAK
ICNpbmNsdWRlICJNZXNzYWdlUmVjZWl2ZXIuaCIKICNpbmNsdWRlIDxXZWJDb3JlL1NXQ29udGV4
dE1hbmFnZXIuaD4KIAorbmFtZXNwYWNlIElQQyB7CitjbGFzcyBGb3JtRGF0YVJlZmVyZW5jZTsK
K30KKwogbmFtZXNwYWNlIFdlYkNvcmUgewogc3RydWN0IEZldGNoT3B0aW9uczsKIGNsYXNzIFJl
c291cmNlUmVxdWVzdDsKQEAgLTU5LDcgKzYzLDcgQEAgcHJpdmF0ZToKICAgICAvLyBJUEMgbWVz
c2FnZXMuCiAgICAgdm9pZCBzZXJ2aWNlV29ya2VyU3RhcnRlZFdpdGhNZXNzYWdlKFdlYkNvcmU6
OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGV4Y2VwdGlvbk1lc3NhZ2Up
IGZpbmFsOwogICAgIHZvaWQgaW5zdGFsbFNlcnZpY2VXb3JrZXIoY29uc3QgV2ViQ29yZTo6U2Vy
dmljZVdvcmtlckNvbnRleHREYXRhJik7Ci0gICAgdm9pZCBzdGFydEZldGNoKHVpbnQ2NF90IHNl
cnZlckNvbm5lY3Rpb25JZGVudGlmaWVyLCB1aW50NjRfdCBmZXRjaElkZW50aWZpZXIsIHN0ZDo6
b3B0aW9uYWw8V2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50aWZpZXI+LCBXZWJDb3JlOjpSZXNv
dXJjZVJlcXVlc3QmJiwgV2ViQ29yZTo6RmV0Y2hPcHRpb25zJiYpOworICAgIHZvaWQgc3RhcnRG
ZXRjaCh1aW50NjRfdCBzZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllciwgdWludDY0X3QgZmV0Y2hJ
ZGVudGlmaWVyLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVy
PiwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYsIFdlYkNvcmU6OkZldGNoT3B0aW9ucyYmLCBJ
UEM6OkZvcm1EYXRhUmVmZXJlbmNlJiYpOwogICAgIHZvaWQgcG9zdE1lc3NhZ2VUb1NlcnZpY2VX
b3JrZXJHbG9iYWxTY29wZShXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllciBkZXN0aW5h
dGlvbklkZW50aWZpZXIsIGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgbWVzc2FnZSwgV2ViQ29y
ZTo6U2VydmljZVdvcmtlckNsaWVudERhdGEmJiBzb3VyY2UpOwogICAgIHZvaWQgZmlyZUluc3Rh
bGxFdmVudChXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllcik7CiAgICAgdm9pZCBmaXJl
QWN0aXZhdGVFdmVudChXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllcik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2Vy
Q29ubmVjdGlvbi5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdl
L1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLm1lc3NhZ2VzLmluCmluZGV4IDczMzFhOGRl
ZDgwYWMwYjFhNTAzY2M4ZWMzNDlmMGJiNWJlNzk0NDguLjcxMWYxOWJlMTQ1YTU2MmM3ZTVmN2Zk
ZDMyMTY1Yjg5ZGM4ZGE1OGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9T
dG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLm1lc3NhZ2VzLmluCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0
aW9uLm1lc3NhZ2VzLmluCkBAIC0yNCw3ICsyNCw3IEBACiAKIG1lc3NhZ2VzIC0+IFdlYlNXQ29u
dGV4dE1hbmFnZXJDb25uZWN0aW9uIHsKICAgICBJbnN0YWxsU2VydmljZVdvcmtlcihzdHJ1Y3Qg
V2ViQ29yZTo6U2VydmljZVdvcmtlckNvbnRleHREYXRhIGNvbnRleHREYXRhKQotICAgIFN0YXJ0
RmV0Y2godWludDY0X3Qgc2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIsIHVpbnQ2NF90IGZldGNo
SWRlbnRpZmllciwgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmll
cj4gc2VydmljZVdvcmtlcklkZW50aWZpZXIsIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCByZXF1
ZXN0LCBzdHJ1Y3QgV2ViQ29yZTo6RmV0Y2hPcHRpb25zIG9wdGlvbnMpCisgICAgU3RhcnRGZXRj
aCh1aW50NjRfdCBzZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllciwgdWludDY0X3QgZmV0Y2hJZGVu
dGlmaWVyLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyPiBz
ZXJ2aWNlV29ya2VySWRlbnRpZmllciwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3Qs
IHN0cnVjdCBXZWJDb3JlOjpGZXRjaE9wdGlvbnMgb3B0aW9ucywgSVBDOjpGb3JtRGF0YVJlZmVy
ZW5jZSByZXF1ZXN0Qm9keSkKICAgICBQb3N0TWVzc2FnZVRvU2VydmljZVdvcmtlckdsb2JhbFNj
b3BlKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIGRlc3RpbmF0aW9uSWRlbnRpZmll
ciwgSVBDOjpEYXRhUmVmZXJlbmNlIG1lc3NhZ2UsIHN0cnVjdCBXZWJDb3JlOjpTZXJ2aWNlV29y
a2VyQ2xpZW50RGF0YSBzb3VyY2UpCiAgICAgRmlyZUluc3RhbGxFdmVudChXZWJDb3JlOjpTZXJ2
aWNlV29ya2VySWRlbnRpZmllciBpZGVudGlmaWVyKQogICAgIEZpcmVBY3RpdmF0ZUV2ZW50KFdl
YkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIGlkZW50aWZpZXIpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTZXJ2aWNlV29ya2VyUHJvdmlkZXIu
Y3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2VydmljZVdvcmtlclBy
b3ZpZGVyLmNwcAppbmRleCAzNzgyZGE2YzlkZmY5N2FlNjc1MThhZTdkYzYzNTNjZWQ4MjUxNzQx
Li45OTk2N2Q3YjE4ZjkxMTdjZDU1MzJjODZlMGI2MzFmNzI2ODFhM2EzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTZXJ2aWNlV29ya2VyUHJvdmlkZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNlcnZpY2VXb3Jr
ZXJQcm92aWRlci5jcHAKQEAgLTcyLDcgKzcyLDcgQEAgc3RhdGljIGlubGluZSBib29sIHNob3Vs
ZEhhbmRsZUZldGNoKGNvbnN0IFJlc291cmNlTG9hZGVyT3B0aW9ucyYgb3B0aW9ucykKIAogdm9p
ZCBXZWJTZXJ2aWNlV29ya2VyUHJvdmlkZXI6OmhhbmRsZUZldGNoKFJlc291cmNlTG9hZGVyJiBs
b2FkZXIsIENhY2hlZFJlc291cmNlKiByZXNvdXJjZSwgUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklE
LCBTZXJ2aWNlV29ya2VyQ2xpZW50RmV0Y2g6OkNhbGxiYWNrJiYgY2FsbGJhY2spCiB7Ci0gICAg
aWYgKCFzaG91bGRIYW5kbGVGZXRjaChsb2FkZXIub3B0aW9ucygpKSkgeworICAgIGlmICghbG9h
ZGVyLnJlcXVlc3QoKS51cmwoKS5wcm90b2NvbElzSW5IVFRQRmFtaWx5KCkgfHwgIXNob3VsZEhh
bmRsZUZldGNoKGxvYWRlci5vcHRpb25zKCkpKSB7CiAgICAgICAgIGNhbGxiYWNrKFNlcnZpY2VX
b3JrZXJDbGllbnRGZXRjaDo6UmVzdWx0OjpVbmhhbmRsZWQpOwogICAgICAgICByZXR1cm47CiAg
ICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCmluZGV4IDU5MjcwNjlmZjFjNGJkMjlhYjJkYWM5NTcyMDg3OTViZjA2MDk3M2EuLjAx
YmRkZWU4M2VmMGQwNGVhNTY0NzE3ZjRmMWUzNjgyOTJlN2JjYWIgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NiBAQAorMjAxNy0xMS0xNiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAg
ICAgICAgU2VydmljZSBXb3JrZXIgc2hvdWxkIGdldCB0aGUgYm9keSBvZiBpbnRlcmNlcHRlZCBy
ZXF1ZXN0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTc5Nzc2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBodHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9yZXNvdXJjZXMvc2VydmljZS13b3JrZXItZmV0
Y2guanM6CisgICAgICAgICogaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2Uvc2VydmljZS13b3Jr
ZXItZmV0Y2guaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvd29ya2Vy
cy9zZXJ2aWNlL3Jlc291cmNlcy9zZXJ2aWNlLXdvcmtlci1yZXF1ZXN0LXdpdGgtYm9keS13b3Jr
ZXIuanM6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL3NlcnZp
Y2Utd29ya2VyLXJlcXVlc3Qtd2l0aC1ib2R5Lmh0dHBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2Uvc2VydmljZS13b3JrZXItcmVxdWVz
dC13aXRoLWJvZHkuaHR0cHMuaHRtbDogQWRkZWQuCisKIDIwMTctMTEtMTUgIFlvdWVubiBGYWJs
ZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFNlcnZpY2UgV29ya2VyIGZldGNoIHNo
b3VsZCBoYW5kbGUgZW1wdHkgcmVzcG9uc2VzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpp
bmRleCBlY2IzZjM0OGY1OGI3YThhNDQ0NDBkYTFkMzc0OGM0MGZhOTE5YzA2Li45MmE5MTQyYjUz
ZTUwMTU2MTE4N2E3M2FiZmZmNTBmYTc4NjAwNTM1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxNy0xMS0xNiAgWW91ZW5uIEZhYmxldCAgPHlvdWVu
bkBhcHBsZS5jb20+CisKKyAgICAgICAgU2VydmljZSBXb3JrZXIgc2hvdWxkIGdldCB0aGUgYm9k
eSBvZiBpbnRlcmNlcHRlZCByZXF1ZXN0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTc5Nzc2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL2ZldGNoLWV2ZW50Lmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLXJl
cXVlc3QteGhyLmh0dHBzLWV4cGVjdGVkLnR4dDoKKwogMjAxNy0xMS0xNSAgWW91ZW5uIEZhYmxl
dCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgU29tZSBzZXJ2aWNlIHdvcmtlciB0ZXN0
cyBhcmUgZmxha3kgZHVlIHRvIGNvbnNvbGUgbG9nIG1lc3NhZ2VzCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9yZXNvdXJjZXMvc2VydmljZS13b3Jr
ZXItZmV0Y2guanMgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9yZXNv
dXJjZXMvc2VydmljZS13b3JrZXItZmV0Y2guanMKaW5kZXggYWNlYzRjYjI5M2MzOGMyMzRjNmJm
MTdiYjRmYTJlNGJiM2YzZGMyZi4uYjNlYjcwMTgzYjUyYjdjMTUyNmMxOTM5YTUzYTAxOTg3ODI3
ZmI4ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2Uv
cmVzb3VyY2VzL3NlcnZpY2Utd29ya2VyLWZldGNoLmpzCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvd29ya2Vycy9zZXJ2aWNlL3Jlc291cmNlcy9zZXJ2aWNlLXdvcmtlci1mZXRjaC5qcwpA
QCAtMTIsOSArMTIsMTcgQEAgYXN5bmMgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgIGxvZygiR290
IGltYWdlIHJlc3BvbnNlIHdpdGggYnVmZmVyIGJ5dGUgbGVuZ3RoIGJlaW5nICIgKyBidWZmZXIu
Ynl0ZUxlbmd0aCk7CiAKICAgICAgICAgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCgiL3Jlc291cmNl
cy9zcXVhcmUxMDAucG5nLmJvZHlhc2FuZW1wdHlzdHJlYW0iKTsKLSAgICAgICAgdmFyIGJ1ZmZl
ciA9ICBhd2FpdCByZXNwb25zZS5hcnJheUJ1ZmZlcigpOworICAgICAgICBidWZmZXIgPSAgYXdh
aXQgcmVzcG9uc2UuYXJyYXlCdWZmZXIoKTsKICAgICAgICAgbG9nKCJHb3Qgc2hvdWxkLWJlLWVt
cHR5IHJlc3BvbnNlIHdpdGggYnVmZmVyIGJ5dGUgbGVuZ3RoIGJlaW5nICIgKyBidWZmZXIuYnl0
ZUxlbmd0aCArICIgYW5kIHN0YXR1cyBpcyAiICsgcmVzcG9uc2Uuc3RhdHVzVGV4dCk7CiAKKyAg
ICAgICAgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCgiZGF0YTp0ZXh0L3BsYWluO2Jhc2U2NCxjbVZ6
Y0c5dWMyVW5jeUJpYjJSNSIpOworICAgICAgICB2YXIgdGV4dCAgPSAgYXdhaXQgcmVzcG9uc2Uu
dGV4dCgpOworICAgICAgICBsb2coIkdvdCBkYXRhIFVSTCByZXNwb25zZSB3aXRoIGRhdGE9XCIi
ICsgdGV4dCArICJcIiBhbmQgc3RhdHVzIGlzICIgKyByZXNwb25zZS5zdGF0dXNUZXh0KTsKKwor
ICAgICAgICByZXNwb25zZSA9IGF3YWl0IGZldGNoKHdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJM
KG5ldyBCbG9iKFsiUEFTUyJdKSkpOworICAgICAgICB0ZXh0ID0gIGF3YWl0IHJlc3BvbnNlLnRl
eHQoKTsKKyAgICAgICAgbG9nKCJHb3QgYmxvYiByZXNwb25zZSB3aXRoIGRhdGE9XCIiICsgdGV4
dCArICJcIiBhbmQgc3RhdHVzIGlzICIgKyByZXNwb25zZS5zdGF0dXNUZXh0KTsKKwogICAgICAg
ICByZXNwb25zZSA9IGF3YWl0IGZldGNoKCJzdGF0dXMiKTsKICAgICAgICAgbG9nKCJTdGF0dXMg
aXMgIiArIHJlc3BvbnNlLnN0YXR1c1RleHQpOwogICAgIH0gY2F0Y2goZSkgewpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvcmVzb3VyY2VzL3NlcnZp
Y2Utd29ya2VyLXJlcXVlc3Qtd2l0aC1ib2R5LXdvcmtlci5qcyBiL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvd29ya2Vycy9zZXJ2aWNlL3Jlc291cmNlcy9zZXJ2aWNlLXdvcmtlci1yZXF1ZXN0LXdp
dGgtYm9keS13b3JrZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjdiNjcwMWJiMGM2Yjk2ZDI1YmJlNmY2Zjkz
MGU1NDg1YTVjMDEwZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
d29ya2Vycy9zZXJ2aWNlL3Jlc291cmNlcy9zZXJ2aWNlLXdvcmtlci1yZXF1ZXN0LXdpdGgtYm9k
eS13b3JrZXIuanMKQEAgLTAsMCArMSwyMSBAQAorc2VsZi5hZGRFdmVudExpc3RlbmVyKCJmZXRj
aCIsIChldmVudCkgPT4geworICAgIGlmIChldmVudC5yZXF1ZXN0LnVybC5lbmRzV2l0aCgicmVx
dWVzdC13aXRoLXRleHQtYm9keS5mcm9tc2VydmljZXdvcmtlciIpKSB7CisgICAgICAgIGV2ZW50
LnJlc3BvbmRXaXRoKAorICAgICAgICAgICAgZXZlbnQucmVxdWVzdC50ZXh0KCkudGhlbih2YWx1
ZSA9PiB7CisgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBSZXNwb25zZSh2YWx1ZSk7CisgICAg
ICAgICAgICB9KQorICAgICAgICApOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGlmIChl
dmVudC5yZXF1ZXN0LnVybC5lbmRzV2l0aCgicmVxdWVzdC13aXRoLWNsb25lZC10ZXh0LWJvZHku
ZnJvbXNlcnZpY2V3b3JrZXIiKSkgeworICAgICAgICBldmVudC5yZXNwb25kV2l0aCgKKyAgICAg
ICAgICAgIGV2ZW50LnJlcXVlc3QuY2xvbmUoKS50ZXh0KCkudGhlbih2YWx1ZSA9PiB7CisgICAg
ICAgICAgICAgICAgcmV0dXJuIG5ldyBSZXNwb25zZSh2YWx1ZSk7CisgICAgICAgICAgICB9KQor
ICAgICAgICApOworICAgIH0KKyAgICBpZiAoZXZlbnQucmVxdWVzdC51cmwuZW5kc1dpdGgoInBv
c3QtZWNoby5jZ2kiKSkgeworICAgICAgICBldmVudC5yZXNwb25kV2l0aChmZXRjaChldmVudC5y
ZXF1ZXN0KSk7CisgICAgICAgIHJldHVybjsKKyAgICB9Cit9KTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL3NlcnZpY2Utd29ya2VyLWZldGNoLmh0
dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNl
L3NlcnZpY2Utd29ya2VyLWZldGNoLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCAxNWExN2IwYmZm
NDllYzZiNGI5NTNjMGJkMzFmMGY0YTc2OTFkYTRjLi4xZDVhNzI3NThhZmVmZGRhNzhmNzA2OWI4
MTIxMDhlMWRiNTMyNGMxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtl
cnMvc2VydmljZS9zZXJ2aWNlLXdvcmtlci1mZXRjaC5odHRwcy1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2Uvc2VydmljZS13b3JrZXItZmV0
Y2guaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0yLDUgKzIsNyBAQAogU3RhdHVzIGlzIG5vIHN0YXR1
cwogR290IGltYWdlIHJlc3BvbnNlIHdpdGggYnVmZmVyIGJ5dGUgbGVuZ3RoIGJlaW5nIDEyOTQw
CiBHb3Qgc2hvdWxkLWJlLWVtcHR5IHJlc3BvbnNlIHdpdGggYnVmZmVyIGJ5dGUgbGVuZ3RoIGJl
aW5nIDAgYW5kIHN0YXR1cyBpcyBFbXB0eSBzdHJlYW0KK0dvdCBkYXRhIFVSTCByZXNwb25zZSB3
aXRoIGRhdGE9InJlc3BvbnNlJ3MgYm9keSIgYW5kIHN0YXR1cyBpcyBPSworR290IGJsb2IgcmVz
cG9uc2Ugd2l0aCBkYXRhPSJQQVNTIiBhbmQgc3RhdHVzIGlzIE9LCiBTdGF0dXMgaXMgaHR0cHM6
Ly8xMjcuMC4wLjE6ODQ0My9yZXNvdXJjZXMvc3F1YXJlMTAwLnBuZyB0aHJvdWdoIGZldGNoCiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL3NlcnZp
Y2Utd29ya2VyLXJlcXVlc3Qtd2l0aC1ib2R5Lmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL3NlcnZpY2Utd29ya2VyLXJlcXVlc3Qtd2l0
aC1ib2R5Lmh0dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MTBjYzUwMjQyMDgxNDA2OWYx
MWIzNjNlNTQ1ZTdkMjdhNDhjOTQzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93b3JrZXJzL3NlcnZpY2Uvc2VydmljZS13b3JrZXItcmVxdWVzdC13aXRoLWJvZHku
aHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOCBAQAorCisKK1BBU1MgU2V0dXAgdGVzdCAK
K1BBU1MgUmVxdWVzdCB3aXRoIHRleHQgYm9keSAKK1BBU1MgUmVxdWVzdCB3aXRoIGFycmF5QnVm
ZmVyIGJvZHkgCitQQVNTIFJlcXVlc3Qgd2l0aCBjbG9uZWQgdGV4dCBib2R5IAorUEFTUyBSZXF1
ZXN0IHdpdGggdGV4dCBib2R5IHRoZW4gZmV0Y2hlZCAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2Uvc2VydmljZS13b3JrZXItcmVxdWVzdC13aXRo
LWJvZHkuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNl
L3NlcnZpY2Utd29ya2VyLXJlcXVlc3Qtd2l0aC1ib2R5Lmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NzU0MzYyZmFhMzFiZGQ4ODBmZGQ4Y2U2MzA0YTAyODUxYjY0NDkxYwotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL3NlcnZpY2Utd29ya2Vy
LXJlcXVlc3Qtd2l0aC1ib2R5Lmh0dHBzLmh0bWwKQEAgLTAsMCArMSw2MyBAQAorPGh0bWw+Cis8
aGVhZD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
KzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2FzeW5jIGZ1bmN0aW9uIGludGVyY2VwdGVkRnJh
bWUod29ya2VyVVJMLCBzY29wZVVSTCkKK3sKKyAgICB2YXIgcmVnaXN0cmF0aW9uID0gYXdhaXQg
bmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIod29ya2VyVVJMLCB7IHNjb3BlIDogc2Nv
cGVVUkwgfSk7CisgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgICAgIGlm
IChyZWdpc3RyYXRpb24uYWN0aXZlKQorICAgICAgICAgICAgcmVzb2x2ZSgpOworICAgICAgICB3
b3JrZXIgPSByZWdpc3RyYXRpb24uaW5zdGFsbGluZzsKKyAgICAgICAgaWYgKHdvcmtlci5zdGF0
ZSA9PT0gImFjdGl2YXRlZCIpCisgICAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAgIHdvcmtl
ci5hZGRFdmVudExpc3RlbmVyKCJzdGF0ZWNoYW5nZSIsICgpID0+IHsKKyAgICAgICAgICAgIGlm
ICh3b3JrZXIuc3RhdGUgPT09ICJhY3RpdmF0ZWQiKQorICAgICAgICAgICAgICAgIHJlc29sdmUo
KTsKKyAgICAgICAgfSk7CisgICAgfSk7CisKKyAgICByZXR1cm4gYXdhaXQgbmV3IFByb21pc2Uo
KHJlc29sdmUpID0+IHsKKyAgICAgICAgdmFyIGZyYW1lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgnaWZyYW1lJyk7CisgICAgICAgIGZyYW1lLnNyYyA9IHNjb3BlVVJMOworICAgICAgICBmcmFt
ZS5vbmxvYWQgPSBmdW5jdGlvbigpIHsgcmVzb2x2ZShmcmFtZSk7IH07CisgICAgICAgIGRvY3Vt
ZW50LmJvZHkuYXBwZW5kQ2hpbGQoZnJhbWUpOworICAgIH0pOworfQorCit2YXIgZmV0Y2g7CisK
K3Byb21pc2VfdGVzdChhc3luYyAodGVzdCkgPT4geworICAgIHZhciBmcmFtZSA9IGF3YWl0IGlu
dGVyY2VwdGVkRnJhbWUoInJlc291cmNlcy9zZXJ2aWNlLXdvcmtlci1yZXF1ZXN0LXdpdGgtYm9k
eS13b3JrZXIuanMiLCAiLyIpOworICAgIGZldGNoID0gZnJhbWUuY29udGVudFdpbmRvdy5mZXRj
aDsKK30sICJTZXR1cCB0ZXN0Iik7CisKK3Byb21pc2VfdGVzdChhc3luYyAodGVzdCkgPT4gewor
ICAgIHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goInJlcXVlc3Qtd2l0aC10ZXh0LWJvZHkuZnJvbXNl
cnZpY2V3b3JrZXIiLCB7IG1ldGhvZDogIlBPU1QiLCBib2R5OiAiUEFTUyIgfSk7CisgICAgdmFy
IGJ1ZmZlciA9ICBhd2FpdCByZXNwb25zZS50ZXh0KCk7CisgICAgYXNzZXJ0X2VxdWFscyhidWZm
ZXIsICJQQVNTIik7Cit9LCAiUmVxdWVzdCB3aXRoIHRleHQgYm9keSIpOworCitwcm9taXNlX3Rl
c3QoYXN5bmMgKHRlc3QpID0+IHsKKyAgICByZXNwb25zZSA9IGF3YWl0IGZldGNoKCJyZXF1ZXN0
LXdpdGgtdGV4dC1ib2R5LmZyb21zZXJ2aWNld29ya2VyIiwgeyBtZXRob2Q6ICJQT1NUIiwgYm9k
eTogbmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKCJQQVNTIikgfSk7CisgICAgdmFyIGJ1ZmZlciA9
ICBhd2FpdCByZXNwb25zZS50ZXh0KCk7CisgICAgYXNzZXJ0X2VxdWFscyhidWZmZXIsICJQQVNT
Iik7Cit9LCAiUmVxdWVzdCB3aXRoIGFycmF5QnVmZmVyIGJvZHkiKTsKKworcHJvbWlzZV90ZXN0
KGFzeW5jICh0ZXN0KSA9PiB7CisgICAgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCgicmVxdWVzdC13
aXRoLWNsb25lZC10ZXh0LWJvZHkuZnJvbXNlcnZpY2V3b3JrZXIiLCB7IG1ldGhvZDogIlBPU1Qi
LCBib2R5OiAiUEFTUyIgfSk7CisgICAgdmFyIGJ1ZmZlciA9ICBhd2FpdCByZXNwb25zZS50ZXh0
KCk7CisgICAgYXNzZXJ0X2VxdWFscyhidWZmZXIsICJQQVNTIik7Cit9LCAiUmVxdWVzdCB3aXRo
IGNsb25lZCB0ZXh0IGJvZHkiKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7Cisg
ICAgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCgiL3htbGh0dHByZXF1ZXN0L3Jlc291cmNlcy9wb3N0
LWVjaG8uY2dpIiwgeyBtZXRob2Q6ICJQT1NUIiwgYm9keTogIlBBU1MiIH0pOworICAgIHZhciBi
dWZmZXIgPSAgYXdhaXQgcmVzcG9uc2UudGV4dCgpOworICAgIGFzc2VydF9lcXVhbHMoYnVmZmVy
LCAiUEFTUyIpOworfSwgIlJlcXVlc3Qgd2l0aCB0ZXh0IGJvZHkgdGhlbiBmZXRjaGVkIik7Cis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L2ZldGNoLWV2ZW50Lmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNo
LWV2ZW50Lmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCAyMWUxMjE2M2RlODJmMWQ1NDBiMTI3YTNk
YTM4YWRmYWY2NjFmY2Q5Li5mYjBiMmY4MjEwMmFhNWQzZDY4YTIzYzZhNDdkMmQwZWNmNGFmNGI3
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1ldmVudC5odHRwcy1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtZXZlbnQuaHR0cHMtZXhwZWN0ZWQu
dHh0CkBAIC04LDE0ICs4LDE0IEBAIEZBSUwgU2VydmljZSBXb3JrZXIgcmVzcG9uZHMgdG8gZmV0
Y2ggZXZlbnQgd2l0aCBhbiBleGlzdGluZyBjbGllbnQgaWQgYXNzZXJ0X3VuCiBQQVNTIFNlcnZp
Y2UgV29ya2VyIGRvZXMgbm90IHJlc3BvbmQgdG8gZmV0Y2ggZXZlbnQgCiBQQVNTIFNlcnZpY2Ug
V29ya2VyIHJlc3BvbmRzIHRvIGZldGNoIGV2ZW50IHdpdGggbnVsbCByZXNwb25zZSBib2R5IAog
UEFTUyBTZXJ2aWNlIFdvcmtlciBmZXRjaGVzIG90aGVyIGZpbGUgaW4gZmV0Y2ggZXZlbnQgCi1G
QUlMIFNlcnZpY2UgV29ya2VyIHJlc3BvbmRzIHRvIGZldGNoIGV2ZW50IHdpdGggUE9TVCBmb3Jt
IGFzc2VydF91bnJlYWNoZWQ6IHVuZXhwZWN0ZWQgcmVqZWN0aW9uOiBhc3NlcnRfZXF1YWxzOiBl
eHBlY3RlZCAiUE9TVDphcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ6dGVzdE5hbWUx
PXRlc3RWYWx1ZTEmdGVzdE5hbWUyPXRlc3RWYWx1ZTIiIGJ1dCBnb3QgIlBPU1Q6YXBwbGljYXRp
b24veC13d3ctZm9ybS11cmxlbmNvZGVkOiIgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitQQVNT
IFNlcnZpY2UgV29ya2VyIHJlc3BvbmRzIHRvIGZldGNoIGV2ZW50IHdpdGggUE9TVCBmb3JtIAog
UEFTUyBNdWx0aXBsZSBjYWxscyBvZiByZXNwb25kV2l0aCBtdXN0IHRocm93IEludmFsaWRTdGF0
ZUVycm9ycyAKIFBBU1MgU2VydmljZSBXb3JrZXIgZXZlbnQucmVzcG9uZFdpdGggbXVzdCBzZXQg
dGhlIHVzZWQgZmxhZyAKIFBBU1MgU2VydmljZSBXb3JrZXIgc2hvdWxkIGV4cG9zZSBGZXRjaEV2
ZW50IFVSTCBmcmFnbWVudHMuIAogRkFJTCBTZXJ2aWNlIFdvcmtlciByZXNwb25kcyB0byBmZXRj
aCBldmVudCB3aXRoIHRoZSBjb3JyZWN0IGNhY2hlIHR5cGVzIGFzc2VydF91bnJlYWNoZWQ6IHVu
ZXhwZWN0ZWQgcmVqZWN0aW9uOiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAibm8tY2FjaGUiIGJ1
dCBnb3QgImRlZmF1bHQiIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQogUEFTUyBTZXJ2aWNlIFdv
cmtlciBzaG91bGQgaW50ZXJjZXB0IEV2ZW50U291cmNlIAogUEFTUyBTZXJ2aWNlIFdvcmtlciBy
ZXNwb25kcyB0byBmZXRjaCBldmVudCB3aXRoIHRoZSBjb3JyZWN0IGludGVncml0eV9tZXRhZGF0
YSAKLUZBSUwgRmV0Y2hFdmVudCNib2R5IGlzIGEgc3RyaW5nIGFzc2VydF9lcXVhbHM6IGV4cGVj
dGVkICJpIGFtIHRoZSByZXF1ZXN0IGJvZHkiIGJ1dCBnb3QgIiIKK1BBU1MgRmV0Y2hFdmVudCNi
b2R5IGlzIGEgc3RyaW5nIAogRkFJTCBGZXRjaEV2ZW50I2JvZHkgaXMgYSBibG9iIGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkICJpdCdzIG1lIHRoZSBibG9iIGFuZCBtb3JlIGJsb2IhIiBidXQgZ290
ICIiCiBQQVNTIFNlcnZpY2UgV29ya2VyIHJlc3BvbmRzIHRvIGZldGNoIGV2ZW50IHdpdGggdGhl
IGNvcnJlY3Qga2VlcGFsaXZlIHZhbHVlIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9mZXRjaC1yZXF1ZXN0LXhoci5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9mZXRjaC1yZXF1ZXN0LXhoci5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggZjM0MjE0MTE1NDcy
ZDg5MzQ1ZGIxMDVmYjRkMDliZjI5ZWFlYTNmMi4uZTJkYTgzYTAzMDEyNjAzODAyNWVmNzMyNmIw
OGNhNjg2OWViNTZmZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtcmVxdWVz
dC14aHIuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLXJl
cXVlc3QteGhyLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtNCwxMSArNCwxMSBAQCBGQUlMIGV2ZW50
LnJlcXVlc3QgaGFzIHRoZSBleHBlY3RlZCBoZWFkZXJzIGZvciBzYW1lLW9yaWdpbiBHRVQuIHBy
b21pc2VfdGVzdDogVQogRkFJTCBldmVudC5yZXF1ZXN0IGhhcyB0aGUgZXhwZWN0ZWQgaGVhZGVy
cyBmb3Igc2FtZS1vcmlnaW4gUE9TVC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiRXJyb3I6IGFzc2VydF9hcnJheV9lcXVhbHM6IGV2ZW50LnJl
cXVlc3QgaGFzIHRoZSBleHBlY3RlZCBoZWFkZXJzIGZvciBzYW1lLW9yaWdpbiBQT1NULiBsZW5n
dGhzIGRpZmZlciwgZXhwZWN0ZWQgMiBnb3QgNSIKIEZBSUwgZXZlbnQucmVxdWVzdCBoYXMgdGhl
IGV4cGVjdGVkIGhlYWRlcnMgZm9yIGNyb3NzLW9yaWdpbiBHRVQuIHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkVycm9yOiBhc3NlcnRfYXJyYXlf
ZXF1YWxzOiBldmVudC5yZXF1ZXN0IGhhcyB0aGUgZXhwZWN0ZWQgaGVhZGVycyBmb3IgY3Jvc3Mt
b3JpZ2luIEdFVC4gbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVkIDEgZ290IDQiCiBGQUlMIGV2ZW50
LnJlcXVlc3QgaGFzIHRoZSBleHBlY3RlZCBoZWFkZXJzIGZvciBjcm9zcy1vcmlnaW4gUE9TVC4g
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiRXJy
b3I6IGFzc2VydF9hcnJheV9lcXVhbHM6IGV2ZW50LnJlcXVlc3QgaGFzIHRoZSBleHBlY3RlZCBo
ZWFkZXJzIGZvciBjcm9zcy1vcmlnaW4gUE9TVC4gbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVkIDIg
Z290IDUiCi1GQUlMIEZldGNoRXZlbnQjcmVxdWVzdC5ib2R5IGNvbnRhaW5zIFhIUiByZXF1ZXN0
IGRhdGEgKHN0cmluZykgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiRXJyb3I6IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0ZXN0IHN0cmluZyIg
YnV0IGdvdCAiIiIKK1BBU1MgRmV0Y2hFdmVudCNyZXF1ZXN0LmJvZHkgY29udGFpbnMgWEhSIHJl
cXVlc3QgZGF0YSAoc3RyaW5nKSAKIEZBSUwgRmV0Y2hFdmVudCNyZXF1ZXN0LmJvZHkgY29udGFp
bnMgWEhSIHJlcXVlc3QgZGF0YSAoYmxvYikgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiRXJyb3I6IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0
ZXN0IGJsb2IiIGJ1dCBnb3QgIiIiCi1GQUlMIEZldGNoRXZlbnQjcmVxdWVzdC5tZXRob2QgaXMg
c2V0IHRvIFhIUiBtZXRob2QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiRXJyb3I6IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0ZXN0IHN0cmlu
ZyB4eHgiIGJ1dCBnb3QgIiIiCi1GQUlMIFhIUiB1c2luZyBPUFRJT05TIG1ldGhvZCBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJFcnJvcjogYXNz
ZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRlc3Qgc3RyaW5nIHh4eCIgYnV0IGdvdCAiIiIKLUZBSUwg
WEhSIHdpdGggZm9ybSBkYXRhIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIkVycm9yOiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiLS0tLS0tV2Vi
S2l0Rm9ybUJvdW5kYXJ5WFFjVFVCZkNnMmhGVDB6VVxyXG5Db250ZW50LURpc3Bvc2l0aW9uOiBm
b3JtLWRhdGE7IG5hbWU9XCJzYW1wbGUgc3RyaW5nXCJcclxuXHJcbjEyMzQ1Njc4OTBcclxuLS0t
LS0tV2ViS2l0Rm9ybUJvdW5kYXJ5WFFjVFVCZkNnMmhGVDB6VVxyXG5Db250ZW50LURpc3Bvc2l0
aW9uOiBmb3JtLWRhdGE7IG5hbWU9XCJzYW1wbGUgYmxvYlwiOyBmaWxlbmFtZT1cImJsb2JcIlxy
XG5Db250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbVxyXG5cclxuYmxvYiBjb250
ZW50XHJcbi0tLS0tLVdlYktpdEZvcm1Cb3VuZGFyeVhRY1RVQmZDZzJoRlQwelVcclxuQ29udGVu
dC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPVwic2FtcGxlIGZpbGVcIjsgZmlsZW5hbWU9
XCJmaWxlLmRhdFwiXHJcbkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtXHJc
blxyXG5maWxlIGNvbnRlbnRcclxuLS0tLS0tV2ViS2l0Rm9ybUJvdW5kYXJ5WFFjVFVCZkNnMmhG
VDB6VS0tXHJcbiIgYnV0IGdvdCAiIiIKK1BBU1MgRmV0Y2hFdmVudCNyZXF1ZXN0Lm1ldGhvZCBp
cyBzZXQgdG8gWEhSIG1ldGhvZCAKK1BBU1MgWEhSIHVzaW5nIE9QVElPTlMgbWV0aG9kIAorRkFJ
TCBYSFIgd2l0aCBmb3JtIGRhdGEgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiRXJyb3I6IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICItLS0tLS1X
ZWJLaXRGb3JtQm91bmRhcnl2akVRdTlnVjF1UDZBUU9HXHJcbkNvbnRlbnQtRGlzcG9zaXRpb246
IGZvcm0tZGF0YTsgbmFtZT1cInNhbXBsZSBzdHJpbmdcIlxyXG5cclxuMTIzNDU2Nzg5MFxyXG4t
LS0tLS1XZWJLaXRGb3JtQm91bmRhcnl2akVRdTlnVjF1UDZBUU9HXHJcbkNvbnRlbnQtRGlzcG9z
aXRpb246IGZvcm0tZGF0YTsgbmFtZT1cInNhbXBsZSBibG9iXCI7IGZpbGVuYW1lPVwiYmxvYlwi
XHJcbkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtXHJcblxyXG5ibG9iIGNv
bnRlbnRcclxuLS0tLS0tV2ViS2l0Rm9ybUJvdW5kYXJ5dmpFUXU5Z1YxdVA2QVFPR1xyXG5Db250
ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9XCJzYW1wbGUgZmlsZVwiOyBmaWxlbmFt
ZT1cImZpbGUuZGF0XCJcclxuQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW1c
clxuXHJcbmZpbGUgY29udGVudFxyXG4tLS0tLS1XZWJLaXRGb3JtQm91bmRhcnl2akVRdTlnVjF1
UDZBUU9HLS1cclxuIiBidXQgZ290ICIiIgogRkFJTCBYSFIgd2l0aCBtb2RlL2NyZWRlbnRpYWxz
IHNldCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJFcnJvcjogYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImluY2x1ZGUiIGJ1dCBnb3QgInNhbWUt
b3JpZ2luIiIKIFBBU1MgWEhSIHRvIGRhdGEgVVJMIAogUEFTUyByZXN0b3JlIGdsb2JhbCBzdGF0
ZSAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>327102</attachid>
            <date>2017-11-16 13:36:17 -0800</date>
            <delta_ts>2017-11-16 16:19:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-179776-20171116133616.patch</filename>
            <type>text/plain</type>
            <size>39057</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI0OTA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDc5ZGY1NGQyYWI1Zjhm
YzdiNmI0NDgxNmNlMjBhMTc2YTIyYzZmOS4uNzEzOWM3NjBiN2Y2OTM1NDAxZjNlMTc3MDU5Njky
NDkyNTgyZDAzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM1IEBACiAyMDE3LTExLTE2ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAorICAgICAgICBTZXJ2aWNlIFdvcmtlciBz
aG91bGQgZ2V0IHRoZSBib2R5IG9mIGludGVyY2VwdGVkIHJlcXVlc3RzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzk3NzYKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBodHRwL3Rlc3RzL3dvcmtl
cnMvc2VydmljZS9zZXJ2aWNlLXdvcmtlci1yZXF1ZXN0LXdpdGgtYm9keS5odHRwcy5odG1sCisK
KyAgICAgICAgTWFrZSB1c2Ugb2YgRmV0Y2hCb2R5Q29uc3VtZXIgdG8gc3RvcmUgcmF3IGRhdGEg
Zm9yIEZldGNoUmVxdWVzdC4KKyAgICAgICAgVGhpcyBpcyB1c2VkIHdoZW4gc2V0dGluZyBGZXRj
aFJlcXVlc3QgYm9keSBmcm9tIGEgRm9ybURhdGEuCisgICAgICAgIElmIEZvcm1EYXRhIGlzIG9u
bHkgYnl0ZXMgKG5vIGJsb2IsIG5vIGZpbGUpLCBGZXRjaEJvZHlDb25zdW1lciB3aWxsIHN0b3Jl
IHRoYXQgZGF0YS4KKyAgICAgICAgVGhpcyBhbGxvd3MgU2VydmljZSBXb3JrZXIgdG8gZ2V0IGFj
Y2VzcyB0byBzaW1wbGUgcmVxdWVzdCBib2RpZXMuCisKKyAgICAgICAgKiBNb2R1bGVzL2ZldGNo
L0ZldGNoQm9keS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGZXRjaEJvZHk6OmZyb21Gb3JtRGF0
YSk6CisgICAgICAgIChXZWJDb3JlOjpGZXRjaEJvZHk6OmNvbnN1bWUpOgorICAgICAgICAoV2Vi
Q29yZTo6RmV0Y2hCb2R5Ojpib2R5QXNGb3JtRGF0YSBjb25zdCk6IE1ha2luZyBzdXJlIGJvZHkg
aXMgc2V0IGFwcHJvcHJpYXRlbHkgd2hlbiB1c2VkIHRvIG1ha2UgZmV0Y2ggbG9hZC4KKyAgICAg
ICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoQm9keS5oOiBNYWtpbmcgc29tZSBtZXRob2RzIHByaXZh
dGUuCisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHlDb25zdW1lci5oOiBBZGRpbmcg
YWNjZXNzb3JzLgorICAgICAgICAoV2ViQ29yZTo6RmV0Y2hCb2R5Q29uc3VtZXI6Omhhc0RhdGEg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RmV0Y2hCb2R5Q29uc3VtZXI6OmRhdGEgY29uc3Qp
OgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0Lmg6CisgICAgICAgIChXZWJD
b3JlOjpGZXRjaFJlcXVlc3Q6OkZldGNoUmVxdWVzdCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0
d29yay9Gb3JtRGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb3JtRGF0YTo6YXNTaGFyZWRC
dWZmZXIgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvRm9ybURhdGEuaDoKKyAg
ICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyRmV0Y2guY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckZldGNoOjpkaXNwYXRjaEZldGNoRXZlbnQp
OiBTZXR0aW5nIEZldGNoUmVxdWVzdCBib2R5IGJhc2VkIG9uIGdpdmVuIEZvcm1EYXRhLgorCisy
MDE3LTExLTE2ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKwogICAgICAgICBG
ZXRjaExvYWRlciBzaG91bGQgdW5yZWdpc3RlciBpdHMgYmxvYiBVUkwKICAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3OTc2OAogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDJk
ZDJjYzVmNDIxZDU4NjVhYWQ4ZmE3ZGQ4M2VmNTZkMjc3MGU3YTQuLjk1NzI3MzE5M2Q2YjFlZGI2
OGRiOTM4MmQ3OTczNDRlMjYxNTI1YjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzIgQEAKKzIwMTct
MTEtMTYgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFNlcnZp
Y2UgV29ya2VyIHNob3VsZCBnZXQgdGhlIGJvZHkgb2YgaW50ZXJjZXB0ZWQgcmVxdWVzdHMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3OTc3NgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFBhc3MgYSBGb3Jt
RGF0YVJlZmVyZW5jZSB3aGVuIHN0YXJ0aW5nIGZldGNoIElQQy4KKyAgICAgICAgQ29udmVydCB0
aGlzIEZvcm1EYXRhUmVmZXJlbmNlIGluIGEgRm9ybURhdGEgYW5kIHVzaW5nIGl0IHRvIHNldCB0
aGUgRmV0Y2hSZXF1ZXN0IGJvZHkgcHJvcGVybHkgaW4gU2VydmljZSBXb3JrZXIgcHJvY2Vzcy4K
KyAgICAgICAgRm9yYmlkIGZldGNoIGludGVyY2VwdGlvbiB3aGVuIFVSTCBpcyBub3QgSFRUUC9I
VFRQUy4KKworICAgICAgICAqIFBsYXRmb3JtL0lQQy9Gb3JtRGF0YVJlZmVyZW5jZS5oOgorICAg
ICAgICAoSVBDOjpGb3JtRGF0YVJlZmVyZW5jZTo6Rm9ybURhdGFSZWZlcmVuY2UpOgorICAgICAg
ICAoSVBDOjpGb3JtRGF0YVJlZmVyZW5jZTo6dGFrZURhdGEpOgorICAgICAgICAoSVBDOjpGb3Jt
RGF0YVJlZmVyZW5jZTo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKElQQzo6Rm9ybURhdGFSZWZl
cmVuY2U6OmRlY29kZSk6CisgICAgICAgICogU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9X
ZWJTV1NlcnZlckNvbm5lY3Rpb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJTV1NlcnZlckNv
bm5lY3Rpb246OnN0YXJ0RmV0Y2gpOgorICAgICAgICAqIFN0b3JhZ2VQcm9jZXNzL1NlcnZpY2VX
b3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmg6CisgICAgICAgICogU3RvcmFnZVByb2Nlc3Mv
U2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW46CisgICAgICAg
ICogV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYlNXQ2xpZW50Q29ubmVjdGlvbjo6c3RhcnRGZXRjaCk6CisgICAgICAgICog
V2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246OnN0YXJ0RmV0Y2gp
OgorICAgICAgICAqIFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVj
dGlvbi5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2Vy
Q29ubmVjdGlvbi5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1N0b3JhZ2UvV2Vi
U2VydmljZVdvcmtlclByb3ZpZGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViU2VydmljZVdv
cmtlclByb3ZpZGVyOjpoYW5kbGVGZXRjaCk6CisKIDIwMTctMTEtMTUgIEFsZXggQ2hyaXN0ZW5z
ZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZlcnQgcjIyNDg4NQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHkuY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHkuY3BwCmluZGV4IDJlMTVjZDcw
M2YwMjNkOTcyZGE2NDUzMWNlODk1ZGFmN2M1ZDcwZDkuLmZhOThkZDgwZTRhMjZkZTRjYTE3Nzhm
M2Y1NDBlMjFiYTM0MDdlYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0
Y2gvRmV0Y2hCb2R5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNo
Qm9keS5jcHAKQEAgLTY5LDYgKzY5LDIxIEBAIEZldGNoQm9keSBGZXRjaEJvZHk6OmV4dHJhY3Qo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgSW5pdCYmIHZhbHVlLCBTdHJpCiAgICAg
fSk7CiB9CiAKK3N0ZDo6b3B0aW9uYWw8RmV0Y2hCb2R5PiBGZXRjaEJvZHk6OmZyb21Gb3JtRGF0
YShGb3JtRGF0YSogZm9ybURhdGEpCit7CisgICAgaWYgKCFmb3JtRGF0YSB8fCBmb3JtRGF0YS0+
aXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgaWYgKGF1dG8g
YnVmZmVyID0gZm9ybURhdGEtPmFzU2hhcmVkQnVmZmVyKCkpIHsKKyAgICAgICAgRmV0Y2hCb2R5
IGJvZHk7CisgICAgICAgIGJvZHkubV9jb25zdW1lci5zZXREYXRhKGJ1ZmZlci5yZWxlYXNlTm9u
TnVsbCgpKTsKKyAgICAgICAgcmV0dXJuIFdURk1vdmUoYm9keSk7CisgICAgfQorCisgICAgLy8g
RklYTUU6IFN1cHBvcnQgYmxvYiBhbmQgZm9ybSBkYXRhIGJvZGllcy4KKyAgICByZXR1cm4gc3Rk
OjpudWxsb3B0OworfQorCiB2b2lkIEZldGNoQm9keTo6YXJyYXlCdWZmZXIoRmV0Y2hCb2R5T3du
ZXImIG93bmVyLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2UpCiB7CiAgICAgbV9jb25z
dW1lci5zZXRUeXBlKEZldGNoQm9keUNvbnN1bWVyOjpUeXBlOjpBcnJheUJ1ZmZlcik7CkBAIC0x
MzQsNyArMTQ5LDcgQEAgdm9pZCBGZXRjaEJvZHk6OmNvbnN1bWUoRmV0Y2hCb2R5T3duZXImIG93
bmVyLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2UpCiAgICAgfQogICAgIGlmIChpc0Zv
cm1EYXRhKCkpIHsKICAgICAgICAgLy8gRklYTUU6IFN1cHBvcnQgY29uc3VtaW5nIEZvcm1EYXRh
LgotICAgICAgICBwcm9taXNlLT5yZWplY3QoKTsKKyAgICAgICAgcHJvbWlzZS0+cmVqZWN0KE5v
dFN1cHBvcnRlZEVycm9yKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtMjMxLDYgKzI0
Niw5IEBAIFJlZlB0cjxGb3JtRGF0YT4gRmV0Y2hCb2R5Ojpib2R5QXNGb3JtRGF0YShTY3JpcHRF
eGVjdXRpb25Db250ZXh0JiBjb250ZXh0KSBjb25zCiAgICAgICAgIGJvZHktPmdlbmVyYXRlRmls
ZXMoJmRvd25jYXN0PERvY3VtZW50Pihjb250ZXh0KSk7CiAgICAgICAgIHJldHVybiBib2R5Owog
ICAgIH0KKyAgICBpZiAoYXV0byogZGF0YSA9IG1fY29uc3VtZXIuZGF0YSgpKQorICAgICAgICBy
ZXR1cm4gRm9ybURhdGE6OmNyZWF0ZShkYXRhLT5kYXRhKCksIGRhdGEtPnNpemUoKSk7CisKICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICByZXR1cm4gbnVsbHB0cjsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5LmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoQm9keS5oCmluZGV4IGRiYWE4NDRhMDkxZmFjNzY2NGU5
ZWQyZDAyMmI0NmYyMTU3MWRjNGYuLjZkY2UxMTY0OTk5YzUyYTEzM2Y2ZGZkZWEwYjdmMWFkYWRk
OTk3NzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHkuaApAQCAtNTQs
MTggKzU0LDEyIEBAIHB1YmxpYzoKICAgICB2b2lkIGNvbnN1bWVBc1N0cmVhbShGZXRjaEJvZHlP
d25lciYsIEZldGNoQm9keVNvdXJjZSYpOwogI2VuZGlmCiAKLSAgICBib29sIGlzQmxvYigpIGNv
bnN0IHsgcmV0dXJuIFdURjo6aG9sZHNfYWx0ZXJuYXRpdmU8UmVmPGNvbnN0IEJsb2I+PihtX2Rh
dGEpOyB9Ci0gICAgYm9vbCBpc0Zvcm1EYXRhKCkgY29uc3QgeyByZXR1cm4gV1RGOjpob2xkc19h
bHRlcm5hdGl2ZTxSZWY8Rm9ybURhdGE+PihtX2RhdGEpOyB9Ci0gICAgYm9vbCBpc0FycmF5QnVm
ZmVyKCkgY29uc3QgeyByZXR1cm4gV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxSZWY8Y29uc3QgQXJy
YXlCdWZmZXI+PihtX2RhdGEpOyB9Ci0gICAgYm9vbCBpc0FycmF5QnVmZmVyVmlldygpIGNvbnN0
IHsgcmV0dXJuIFdURjo6aG9sZHNfYWx0ZXJuYXRpdmU8UmVmPGNvbnN0IEFycmF5QnVmZmVyVmll
dz4+KG1fZGF0YSk7IH0KLSAgICBib29sIGlzVVJMU2VhcmNoUGFyYW1zKCkgY29uc3QgeyByZXR1
cm4gV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxSZWY8Y29uc3QgVVJMU2VhcmNoUGFyYW1zPj4obV9k
YXRhKTsgfQotICAgIGJvb2wgaXNUZXh0KCkgY29uc3QgeyByZXR1cm4gV1RGOjpob2xkc19hbHRl
cm5hdGl2ZTxTdHJpbmc+KG1fZGF0YSk7IH0KLSAgICBib29sIGhhc1JlYWRhYmxlU3RyZWFtKCkg
Y29uc3QgeyByZXR1cm4gISFtX3JlYWRhYmxlU3RyZWFtOyB9Ci0KICAgICB1c2luZyBJbml0ID0g
VmFyaWFudDxSZWZQdHI8QmxvYj4sIFJlZlB0cjxBcnJheUJ1ZmZlclZpZXc+LCBSZWZQdHI8QXJy
YXlCdWZmZXI+LCBSZWZQdHI8RE9NRm9ybURhdGE+LCBSZWZQdHI8VVJMU2VhcmNoUGFyYW1zPiwg
UmVmUHRyPFJlYWRhYmxlU3RyZWFtPiwgU3RyaW5nPjsKICAgICBzdGF0aWMgRmV0Y2hCb2R5IGV4
dHJhY3QoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIEluaXQmJiwgU3RyaW5nJik7CiAgICAgRmV0
Y2hCb2R5KCkgPSBkZWZhdWx0OwogCisgICAgc3RhdGljIHN0ZDo6b3B0aW9uYWw8RmV0Y2hCb2R5
PiBmcm9tRm9ybURhdGEoRm9ybURhdGEqKTsKKwogICAgIHZvaWQgbG9hZGluZ0ZhaWxlZCgpOwog
ICAgIHZvaWQgbG9hZGluZ1N1Y2NlZWRlZCgpOwogCkBAIC04MSw2ICs3NSw4IEBAIHB1YmxpYzoK
ICAgICB2b2lkIGNsZWFuQ29uc3VtZXIoKSB7IG1fY29uc3VtZXIuY2xlYW4oKTsgfQogCiAgICAg
RmV0Y2hCb2R5IGNsb25lKCk7CisKKyAgICBib29sIGhhc1JlYWRhYmxlU3RyZWFtKCkgY29uc3Qg
eyByZXR1cm4gISFtX3JlYWRhYmxlU3RyZWFtOyB9CiAgICAgY29uc3QgUmVhZGFibGVTdHJlYW0q
IHJlYWRhYmxlU3RyZWFtKCkgY29uc3QgeyByZXR1cm4gbV9yZWFkYWJsZVN0cmVhbS5nZXQoKTsg
fQogICAgIFJlYWRhYmxlU3RyZWFtKiByZWFkYWJsZVN0cmVhbSgpIHsgcmV0dXJuIG1fcmVhZGFi
bGVTdHJlYW0uZ2V0KCk7IH0KICAgICB2b2lkIHNldFJlYWRhYmxlU3RyZWFtKFJlZjxSZWFkYWJs
ZVN0cmVhbT4mJiBzdHJlYW0pCkBAIC0xMDYsNiArMTAyLDEzIEBAIHByaXZhdGU6CiAgICAgdm9p
ZCBjb25zdW1lVGV4dChSZWY8RGVmZXJyZWRQcm9taXNlPiYmLCBjb25zdCBTdHJpbmcmKTsKICAg
ICB2b2lkIGNvbnN1bWVCbG9iKEZldGNoQm9keU93bmVyJiwgUmVmPERlZmVycmVkUHJvbWlzZT4m
Jik7CiAKKyAgICBib29sIGlzQmxvYigpIGNvbnN0IHsgcmV0dXJuIFdURjo6aG9sZHNfYWx0ZXJu
YXRpdmU8UmVmPGNvbnN0IEJsb2I+PihtX2RhdGEpOyB9CisgICAgYm9vbCBpc0Zvcm1EYXRhKCkg
Y29uc3QgeyByZXR1cm4gV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxSZWY8Rm9ybURhdGE+PihtX2Rh
dGEpOyB9CisgICAgYm9vbCBpc0FycmF5QnVmZmVyKCkgY29uc3QgeyByZXR1cm4gV1RGOjpob2xk
c19hbHRlcm5hdGl2ZTxSZWY8Y29uc3QgQXJyYXlCdWZmZXI+PihtX2RhdGEpOyB9CisgICAgYm9v
bCBpc0FycmF5QnVmZmVyVmlldygpIGNvbnN0IHsgcmV0dXJuIFdURjo6aG9sZHNfYWx0ZXJuYXRp
dmU8UmVmPGNvbnN0IEFycmF5QnVmZmVyVmlldz4+KG1fZGF0YSk7IH0KKyAgICBib29sIGlzVVJM
U2VhcmNoUGFyYW1zKCkgY29uc3QgeyByZXR1cm4gV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxSZWY8
Y29uc3QgVVJMU2VhcmNoUGFyYW1zPj4obV9kYXRhKTsgfQorICAgIGJvb2wgaXNUZXh0KCkgY29u
c3QgeyByZXR1cm4gV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxTdHJpbmc+KG1fZGF0YSk7IH0KKwog
ICAgIGNvbnN0IEJsb2ImIGJsb2JCb2R5KCkgY29uc3QgeyByZXR1cm4gV1RGOjpnZXQ8UmVmPGNv
bnN0IEJsb2I+PihtX2RhdGEpLmdldCgpOyB9CiAgICAgRm9ybURhdGEmIGZvcm1EYXRhQm9keSgp
IHsgcmV0dXJuIFdURjo6Z2V0PFJlZjxGb3JtRGF0YT4+KG1fZGF0YSkuZ2V0KCk7IH0KICAgICBj
b25zdCBGb3JtRGF0YSYgZm9ybURhdGFCb2R5KCkgY29uc3QgeyByZXR1cm4gV1RGOjpnZXQ8UmVm
PEZvcm1EYXRhPj4obV9kYXRhKS5nZXQoKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9mZXRjaC9GZXRjaEJvZHlDb25zdW1lci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9mZXRjaC9GZXRjaEJvZHlDb25zdW1lci5oCmluZGV4IDdhMzQwNTQ5YzFlMjcxMGNhNTk4MmYx
NDg4OGJkM2YzMmZiNWM0ZmMuLmI0NjdkYjY2ZWFhZmRlYTJkZmNiOWZmY2Y1ZGQ4ODNlYTcyMTI5
ZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5Q29u
c3VtZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoQm9keUNvbnN1
bWVyLmgKQEAgLTQ4LDYgKzQ4LDggQEAgcHVibGljOgogICAgIHZvaWQgYXBwZW5kKGNvbnN0IGNo
YXIqIGRhdGEsIHVuc2lnbmVkKTsKICAgICB2b2lkIGFwcGVuZChjb25zdCB1bnNpZ25lZCBjaGFy
KiBkYXRhLCB1bnNpZ25lZCk7CiAKKyAgICBib29sIGhhc0RhdGEoKSBjb25zdCB7IHJldHVybiAh
IW1fYnVmZmVyOyB9CisgICAgY29uc3QgU2hhcmVkQnVmZmVyKiBkYXRhKCkgY29uc3QgeyByZXR1
cm4gbV9idWZmZXIuZ2V0KCk7IH0KICAgICB2b2lkIHNldERhdGEoUmVmPFNoYXJlZEJ1ZmZlcj4m
JiBkYXRhKSB7IG1fYnVmZmVyID0gV1RGTW92ZShkYXRhKTsgfQogCiAgICAgUmVmUHRyPFNoYXJl
ZEJ1ZmZlcj4gdGFrZURhdGEoKTsKQEAgLTY0LDggKzY2LDYgQEAgcHVibGljOgogICAgIHZvaWQg
cmVzb2x2ZShSZWY8RGVmZXJyZWRQcm9taXNlPiYmLCBSZWFkYWJsZVN0cmVhbSopOwogICAgIHZv
aWQgcmVzb2x2ZVdpdGhEYXRhKFJlZjxEZWZlcnJlZFByb21pc2U+JiYsIGNvbnN0IHVuc2lnbmVk
IGNoYXIqLCB1bnNpZ25lZCk7CiAKLSAgICBib29sIGhhc0RhdGEoKSBjb25zdCB7IHJldHVybiAh
IW1fYnVmZmVyOyB9Ci0KICAgICB2b2lkIGxvYWRpbmdGYWlsZWQoKTsKICAgICB2b2lkIGxvYWRp
bmdTdWNjZWVkZWQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRj
aC9GZXRjaFJlcXVlc3QuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1
ZXN0LmgKaW5kZXggYTA0MjNjZWFmMDllZjVjYzNjODdlOGY4NWI4NjM1M2Y5ZjcyYjQwZi4uMDU2
ODUxNzVkODZiYmQ3ZjcwM2E3ZmE1NmY1MjFmYjk1MmE5ODdmNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5oCkBAIC0xMDQsNiArMTA0LDcgQEAgaW5saW5l
IEZldGNoUmVxdWVzdDo6RmV0Y2hSZXF1ZXN0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRl
eHQsIHN0ZDo6b3B0aW9uYWwKICAgICAsIG1fb3B0aW9ucyhXVEZNb3ZlKG9wdGlvbnMpKQogICAg
ICwgbV9yZWZlcnJlcihXVEZNb3ZlKHJlZmVycmVyKSkKIHsKKyAgICB1cGRhdGVDb250ZW50VHlw
ZSgpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvRm9ybURhdGEuY3BwCmluZGV4IDcyNDQyM2VlYTVjYTVkZTc4N2U1OGVjMDQ5
MTA3M2UyZTFkMjIwNjcuLjNjOGVlMDhkMTU5MTkzZGEwZmM3MDVhMGFjZmQ4MzQyOGU1YjdjMmMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGEuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGEuY3BwCkBAIC00
MjgsNCArNDI4LDEzIEBAIHVpbnQ2NF90IEZvcm1EYXRhOjpsZW5ndGhJbkJ5dGVzKCkgY29uc3QK
ICAgICByZXR1cm4gKm1fbGVuZ3RoSW5CeXRlczsKIH0KIAorUmVmUHRyPFNoYXJlZEJ1ZmZlcj4g
Rm9ybURhdGE6OmFzU2hhcmVkQnVmZmVyKCkgY29uc3QKK3sKKyAgICBmb3IgKGF1dG8mIGVsZW1l
bnQgOiBtX2VsZW1lbnRzKSB7CisgICAgICAgIGlmIChlbGVtZW50Lm1fdHlwZSAhPSBGb3JtRGF0
YUVsZW1lbnQ6OlR5cGU6OkRhdGEpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9
CisgICAgcmV0dXJuIFNoYXJlZEJ1ZmZlcjo6Y3JlYXRlKGZsYXR0ZW4oKSk7Cit9CisKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvRm9ybURhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURh
dGEuaAppbmRleCBmZTRmNThlMTg5ZTZlNzYzZWM3ZDQyYTI3M2FjMTQ3NGRmM2Y4ZjQ2Li42Zjlh
N2E3MmJmZjk4MjI2NTc5NjVkMzkwNmExNTMyZjBkZmE1OGY0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0YS5oCkBAIC0zMSw2ICszMSw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIGNsYXNzIERPTUZvcm1EYXRhOwogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBGaWxl
OworY2xhc3MgU2hhcmVkQnVmZmVyOwogY2xhc3MgVGV4dEVuY29kaW5nOwogCiBjbGFzcyBGb3Jt
RGF0YUVsZW1lbnQgewpAQCAtMjM0LDYgKzIzNSw4IEBAIHB1YmxpYzoKICAgICBjb25zdCBWZWN0
b3I8Rm9ybURhdGFFbGVtZW50PiYgZWxlbWVudHMoKSBjb25zdCB7IHJldHVybiBtX2VsZW1lbnRz
OyB9CiAgICAgY29uc3QgVmVjdG9yPGNoYXI+JiBib3VuZGFyeSgpIGNvbnN0IHsgcmV0dXJuIG1f
Ym91bmRhcnk7IH0KIAorICAgIFJlZlB0cjxTaGFyZWRCdWZmZXI+IGFzU2hhcmVkQnVmZmVyKCkg
Y29uc3Q7CisKICAgICB2b2lkIGdlbmVyYXRlRmlsZXMoRG9jdW1lbnQqKTsKICAgICB2b2lkIHJl
bW92ZUdlbmVyYXRlZEZpbGVzSWZOZWVkZWQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlckZldGNoLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJGZXRjaC5jcHAK
aW5kZXggYjg1ZDY0YmJiMGIyNjhlNWIyODk1YzI5NTE2MjljZDVkZjU3ZWUwNC4uN2EyYjAzZmRk
NTYxNjBmMmU1YzhlNWQ1YzUxMjQ0ODIzMmJhZDYzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlckZldGNoLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyRmV0Y2gu
Y3BwCkBAIC05Myw5ICs5Myw5IEBAIFJlZjxGZXRjaEV2ZW50PiBkaXNwYXRjaEZldGNoRXZlbnQo
UmVmPENsaWVudD4mJiBjbGllbnQsIFdvcmtlckdsb2JhbFNjb3BlJiBnbG9iCiB7CiAgICAgQVNT
RVJUKGdsb2JhbFNjb3BlLmlzU2VydmljZVdvcmtlckdsb2JhbFNjb3BlKCkpOwogCi0gICAgLy8g
RklYTUU6IFNldCByZXF1ZXN0IGJvZHkgYW5kIHJlZmVycmVyLgorICAgIC8vIEZJWE1FOiBTZXQg
cmVxdWVzdCByZWZlcnJlci4KICAgICBhdXRvIHJlcXVlc3RIZWFkZXJzID0gRmV0Y2hIZWFkZXJz
OjpjcmVhdGUoRmV0Y2hIZWFkZXJzOjpHdWFyZDo6SW1tdXRhYmxlLCBIVFRQSGVhZGVyTWFwIHsg
cmVxdWVzdC5odHRwSGVhZGVyRmllbGRzKCkgfSk7Ci0gICAgYXV0byBmZXRjaFJlcXVlc3QgPSBG
ZXRjaFJlcXVlc3Q6OmNyZWF0ZShnbG9iYWxTY29wZSwgc3RkOjpudWxsb3B0LCBXVEZNb3ZlKHJl
cXVlc3RIZWFkZXJzKSwgIFdURk1vdmUocmVxdWVzdCksIFdURk1vdmUob3B0aW9ucyksIHsgfSk7
CisgICAgYXV0byBmZXRjaFJlcXVlc3QgPSBGZXRjaFJlcXVlc3Q6OmNyZWF0ZShnbG9iYWxTY29w
ZSwgRmV0Y2hCb2R5Ojpmcm9tRm9ybURhdGEocmVxdWVzdC5odHRwQm9keSgpKSwgV1RGTW92ZShy
ZXF1ZXN0SGVhZGVycyksICBXVEZNb3ZlKHJlcXVlc3QpLCBXVEZNb3ZlKG9wdGlvbnMpLCB7IH0p
OwogCiAgICAgLy8gRklYTUU6IEluaXRpYWxpemUgb3RoZXIgRmV0Y2hFdmVudDo6SW5pdCBmaWVs
ZHMuCiAgICAgRmV0Y2hFdmVudDo6SW5pdCBpbml0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9QbGF0Zm9ybS9JUEMvRm9ybURhdGFSZWZlcmVuY2UuaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZv
cm0vSVBDL0Zvcm1EYXRhUmVmZXJlbmNlLmgKaW5kZXggY2Q5ZGE2YTdkNDM5MzUwMDllNmUyNTky
YWJkMGU0Zjk0MzQxODdlYi4uYTZkMmVhODY3NzBiNDcyYWNiMzY2OWRkMjg4NmJiZjFkODQ0Y2Vl
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvRm9ybURhdGFSZWZlcmVu
Y2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9Gb3JtRGF0YVJlZmVyZW5jZS5o
CkBAIC0yOCwyNyArMjgsNDAgQEAKICNpbmNsdWRlICJEZWNvZGVyLmgiCiAjaW5jbHVkZSAiRW5j
b2Rlci5oIgogI2luY2x1ZGUgPFdlYkNvcmUvRm9ybURhdGEuaD4KLSNpbmNsdWRlIDx3dGYvVmVj
dG9yLmg+CiAKIG5hbWVzcGFjZSBJUEMgewogCisvLyBGSVhNRTogSW4gY2FzZSBvZiBmaWxlIGJh
c2VkIGZvcm0gZGF0YSwgd2Ugc2hvdWxkIHBhc3Mgc2FuZGJveCBleHRlbnNpb25zIGFzIHdlbGwu
CiBjbGFzcyBGb3JtRGF0YVJlZmVyZW5jZSB7CiBwdWJsaWM6CiAgICAgRm9ybURhdGFSZWZlcmVu
Y2UoKSA9IGRlZmF1bHQ7Ci0KLSAgICBleHBsaWNpdCBGb3JtRGF0YVJlZmVyZW5jZShSZWY8V2Vi
Q29yZTo6Rm9ybURhdGE+JiYgZGF0YSkKKyAgICBleHBsaWNpdCBGb3JtRGF0YVJlZmVyZW5jZShS
ZWZQdHI8V2ViQ29yZTo6Rm9ybURhdGE+JiYgZGF0YSkKICAgICAgICAgOiBtX2RhdGEoV1RGTW92
ZShkYXRhKSkKICAgICB7CiAgICAgfQogCi0gICAgUmVmPFdlYkNvcmU6OkZvcm1EYXRhPiB0YWtl
RGF0YSgpIHsgcmV0dXJuIG1fZGF0YS5yZWxlYXNlTm9uTnVsbCgpOyB9CisgICAgUmVmUHRyPFdl
YkNvcmU6OkZvcm1EYXRhPiB0YWtlRGF0YSgpIHsgcmV0dXJuIFdURk1vdmUobV9kYXRhKTsgfQor
CisgICAgdm9pZCBlbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKKyAgICB7CisgICAgICAg
IGVuY29kZXIgPDwgISFtX2RhdGE7CisgICAgICAgIGlmIChtX2RhdGEpCisgICAgICAgICAgICBl
bmNvZGVyIDw8ICptX2RhdGE7CisgICAgfQogCi0gICAgdm9pZCBlbmNvZGUoRW5jb2RlciYgZW5j
b2RlcikgY29uc3QgeyBlbmNvZGVyIDw8ICptX2RhdGE7IH0KICAgICBzdGF0aWMgc3RkOjpvcHRp
b25hbDxGb3JtRGF0YVJlZmVyZW5jZT4gZGVjb2RlKERlY29kZXImIGRlY29kZXIpCiAgICAgewor
ICAgICAgICBzdGQ6Om9wdGlvbmFsPGJvb2w+IGhhc0Zvcm1EYXRhOworICAgICAgICBkZWNvZGVy
ID4+IGhhc0Zvcm1EYXRhOworICAgICAgICBpZiAoIWhhc0Zvcm1EYXRhKQorICAgICAgICAgICAg
cmV0dXJuIHN0ZDo6bnVsbG9wdDsKKyAgICAgICAgaWYgKCFoYXNGb3JtRGF0YS52YWx1ZSgpKQor
ICAgICAgICAgICAgcmV0dXJuIEZvcm1EYXRhUmVmZXJlbmNlIHsgfTsKKwogICAgICAgICBhdXRv
IGZvcm1EYXRhID0gV2ViQ29yZTo6Rm9ybURhdGE6OmRlY29kZShkZWNvZGVyKTsKICAgICAgICAg
aWYgKCFmb3JtRGF0YSkKICAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKICAgICAg
ICAgcmV0dXJuIEZvcm1EYXRhUmVmZXJlbmNlIHsgZm9ybURhdGEucmVsZWFzZU5vbk51bGwoKSB9
OwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2
aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1N0b3Jh
Z2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcAppbmRleCBi
N2E5MDI5MjBhMzEyMWY5YjFkZDgyN2I1M2JlOTczOThhYzgyMzVlLi5jMWYxNTRlMzVlMDBiM2Vm
OTRjYTIyMzZhOTVlOTVjZjA5Y2JlMDZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1N0b3Jh
Z2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25u
ZWN0aW9uLmNwcApAQCAtMTA3LDkgKzEwNyw5IEBAIHZvaWQgV2ViU1dTZXJ2ZXJDb25uZWN0aW9u
Ojp1cGRhdGVXb3JrZXJTdGF0ZUluQ2xpZW50KFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIHdvCiAg
ICAgc2VuZChNZXNzYWdlczo6V2ViU1dDbGllbnRDb25uZWN0aW9uOjpVcGRhdGVXb3JrZXJTdGF0
ZSh3b3JrZXIsIHN0YXRlKSk7CiB9CiAKLXZvaWQgV2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpzdGFy
dEZldGNoKHVpbnQ2NF90IGZldGNoSWRlbnRpZmllciwgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29y
a2VySWRlbnRpZmllcj4gc2VydmljZVdvcmtlcklkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVx
dWVzdCYgcmVxdWVzdCwgY29uc3QgRmV0Y2hPcHRpb25zJiBvcHRpb25zKQordm9pZCBXZWJTV1Nl
cnZlckNvbm5lY3Rpb246OnN0YXJ0RmV0Y2godWludDY0X3QgZmV0Y2hJZGVudGlmaWVyLCBzdGQ6
Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyPiBzZXJ2aWNlV29ya2VySWRlbnRpZmll
ciwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBGZXRjaE9wdGlvbnMmIG9w
dGlvbnMsIGNvbnN0IElQQzo6Rm9ybURhdGFSZWZlcmVuY2UmIGZvcm1EYXRhKQogewotICAgIHNl
bmRUb0NvbnRleHRQcm9jZXNzKE1lc3NhZ2VzOjpXZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlv
bjo6U3RhcnRGZXRjaChpZGVudGlmaWVyKCksIGZldGNoSWRlbnRpZmllciwgc2VydmljZVdvcmtl
cklkZW50aWZpZXIsIHJlcXVlc3QsIG9wdGlvbnMpKTsKKyAgICBzZW5kVG9Db250ZXh0UHJvY2Vz
cyhNZXNzYWdlczo6V2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246OlN0YXJ0RmV0Y2ggeyBp
ZGVudGlmaWVyKCksIGZldGNoSWRlbnRpZmllciwgc2VydmljZVdvcmtlcklkZW50aWZpZXIsIHJl
cXVlc3QsIG9wdGlvbnMsIGZvcm1EYXRhIH0pOwogfQogCiB2b2lkIFdlYlNXU2VydmVyQ29ubmVj
dGlvbjo6cG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZShTZXJ2aWNlV29ya2Vy
SWRlbnRpZmllciBkZXN0aW5hdGlvblNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBjb25zdCBJUEM6
OkRhdGFSZWZlcmVuY2UmIG1lc3NhZ2UsIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhJiYgc291cmNl
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2Vy
L1dlYlNXU2VydmVyQ29ubmVjdGlvbi5oIGIvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9T
ZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5oCmluZGV4IDJmZGVmM2NmYWUzNDMy
YTlhZDliMDAyMDMyNzkxODg0Njc2NzRjZjguLjNmMTMyNzJjZjYyMDU1MmRjNmVjZDdhNWFlY2Zi
NzVjODliMDQ2ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU2Vy
dmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1N0
b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmgKQEAgLTc0
LDcgKzc0LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHVwZGF0ZVdvcmtlclN0YXRlSW5DbGllbnQo
V2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50aWZpZXIsIFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJT
dGF0ZSkgZmluYWw7CiAgICAgdm9pZCBmaXJlVXBkYXRlRm91bmRFdmVudChXZWJDb3JlOjpTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcikgZmluYWw7CiAKLSAgICB2b2lkIHN0YXJ0
RmV0Y2godWludDY0X3QgZmV0Y2hJZGVudGlmaWVyLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNl
cnZpY2VXb3JrZXJJZGVudGlmaWVyPiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0Jiwg
Y29uc3QgV2ViQ29yZTo6RmV0Y2hPcHRpb25zJik7CisgICAgdm9pZCBzdGFydEZldGNoKHVpbnQ2
NF90IGZldGNoSWRlbnRpZmllciwgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpTZXJ2aWNlV29ya2Vy
SWRlbnRpZmllcj4sIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFdlYkNv
cmU6OkZldGNoT3B0aW9ucyYsIGNvbnN0IElQQzo6Rm9ybURhdGFSZWZlcmVuY2UmKTsKIAogICAg
IHZvaWQgcG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZShXZWJDb3JlOjpTZXJ2
aWNlV29ya2VySWRlbnRpZmllciBkZXN0aW5hdGlvbklkZW50aWZpZXIsIGNvbnN0IElQQzo6RGF0
YVJlZmVyZW5jZSYgbWVzc2FnZSwgV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudERhdGEmJiBz
b3VyY2UpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZp
Y2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktp
dC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5tZXNz
YWdlcy5pbgppbmRleCAwYThhNDhlZTUwYmNiMmM5YjJmYTI1Y2YxZTU2NmFiM2EwZWYxMTNiLi42
Mjg5OTZkZjc3YmI3ZTYyYzNhZTk0MDYzYWM4YjEzZDQxYWJiMTQ4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0
aW9uLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU2Vydmlj
ZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW4KQEAgLTI5LDcgKzI5LDcg
QEAgbWVzc2FnZXMgLT4gV2ViU1dTZXJ2ZXJDb25uZWN0aW9uIHsKICAgICBBZGRTZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uSW5TZXJ2ZXIoV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
bktleSBrZXksIFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyIGlk
ZW50aWZpZXIpCiAgICAgUmVtb3ZlU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkluU2VydmVyKFdl
YkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkga2V5LCBXZWJDb3JlOjpTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciBpZGVudGlmaWVyKQogCi0gICAgU3RhcnRGZXRj
aCh1aW50NjRfdCBpZGVudGlmaWVyLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNlcnZpY2VXb3Jr
ZXJJZGVudGlmaWVyPiBzZXJ2aWNlV29ya2VySWRlbnRpZmllciwgV2ViQ29yZTo6UmVzb3VyY2VS
ZXF1ZXN0IHJlcXVlc3QsIHN0cnVjdCBXZWJDb3JlOjpGZXRjaE9wdGlvbnMgb3B0aW9ucykKKyAg
ICBTdGFydEZldGNoKHVpbnQ2NF90IGlkZW50aWZpZXIsIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6
U2VydmljZVdvcmtlcklkZW50aWZpZXI+IHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBXZWJDb3Jl
OjpSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdCwgc3RydWN0IFdlYkNvcmU6OkZldGNoT3B0aW9ucyBv
cHRpb25zLCBJUEM6OkZvcm1EYXRhUmVmZXJlbmNlIHJlcXVlc3RCb2R5KQogICAgIFBvc3RNZXNz
YWdlVG9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUoV2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50
aWZpZXIgZGVzdGluYXRpb25TZXJ2aWNlV29ya2VySWRlbnRpZmllciwgSVBDOjpEYXRhUmVmZXJl
bmNlIG1lc3NhZ2UsIHN0cnVjdCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSBzb3Vy
Y2UpCiAKICAgICBEaWRSZXNvbHZlUmVnaXN0cmF0aW9uUHJvbWlzZShXZWJDb3JlOjpTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uS2V5IGtleSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uY3BwCmluZGV4IDQzYzU3
NjliZjY0MGFjMzAwOWM5NTU5YTM3NGU5MjkzMGNiNmMzNTEuLjA0NWUxNDFjNmFhMjEyYWNlNjVl
Y2NiZDcxZTQ5OWNmNDYyYTdkYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmNwcApAQCAtMjksNiArMjks
NyBAQAogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKIAogI2luY2x1ZGUgIkRhdGFSZWZlcmVu
Y2UuaCIKKyNpbmNsdWRlICJGb3JtRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIkxvZ2dpbmcu
aCIKICNpbmNsdWRlICJTZXJ2aWNlV29ya2VyQ2xpZW50RmV0Y2guaCIKICNpbmNsdWRlICJTdG9y
YWdlVG9XZWJQcm9jZXNzQ29ubmVjdGlvbk1lc3NhZ2VzLmgiCkBAIC0xNDksNyArMTUwLDcgQEAg
UmVmPFNlcnZpY2VXb3JrZXJDbGllbnRGZXRjaD4gV2ViU1dDbGllbnRDb25uZWN0aW9uOjpzdGFy
dEZldGNoKFdlYlNlcnZpY2VXb3JrZXIKIHsKICAgICBBU1NFUlQobG9hZGVyLT5vcHRpb25zKCku
c2VydmljZVdvcmtlcnNNb2RlICE9IFNlcnZpY2VXb3JrZXJzTW9kZTo6Tm9uZSAmJiBsb2FkZXIt
Pm9wdGlvbnMoKS5zZXJ2aWNlV29ya2VySWRlbnRpZmllcik7CiAKLSAgICBzZW5kKE1lc3NhZ2Vz
OjpXZWJTV1NlcnZlckNvbm5lY3Rpb246OlN0YXJ0RmV0Y2goaWRlbnRpZmllciwgbG9hZGVyLT5v
cHRpb25zKCkuc2VydmljZVdvcmtlcklkZW50aWZpZXIsIGxvYWRlci0+b3JpZ2luYWxSZXF1ZXN0
KCksIGxvYWRlci0+b3B0aW9ucygpKSk7CisgICAgc2VuZChNZXNzYWdlczo6V2ViU1dTZXJ2ZXJD
b25uZWN0aW9uOjpTdGFydEZldGNoIHsgaWRlbnRpZmllciwgbG9hZGVyLT5vcHRpb25zKCkuc2Vy
dmljZVdvcmtlcklkZW50aWZpZXIsIGxvYWRlci0+b3JpZ2luYWxSZXF1ZXN0KCksIGxvYWRlci0+
b3B0aW9ucygpLCBJUEM6OkZvcm1EYXRhUmVmZXJlbmNlIHsgbG9hZGVyLT5vcmlnaW5hbFJlcXVl
c3QoKS5odHRwQm9keSgpIH0gfSk7CiAgICAgcmV0dXJuIFNlcnZpY2VXb3JrZXJDbGllbnRGZXRj
aDo6Y3JlYXRlKHByb3ZpZGVyLCBXVEZNb3ZlKGxvYWRlciksIGlkZW50aWZpZXIsIG1fY29ubmVj
dGlvbi5nZXQoKSwgV1RGTW92ZShjYWxsYmFjaykpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2Vy
Q29ubmVjdGlvbi5jcHAKaW5kZXggY2RkOTVkODA0NmRmNzAxYTE3MGE3ZjBmMWM0YTcwYjE3NzUw
MjFmYi4uMGE5NzM3NGI2Y2ViNjI4YTU4YzY5OTRiYjNmZTlmYTdmNDM0NDFkOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNv
bm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNX
Q29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcApAQCAtMjksNiArMjksNyBAQAogI2lmIEVOQUJM
RShTRVJWSUNFX1dPUktFUikKIAogI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKKyNpbmNsdWRl
ICJGb3JtRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJT
dG9yYWdlUHJvY2Vzc01lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViQ2FjaGVTdG9yYWdlUHJvdmlk
ZXIuaCIKQEAgLTEzMSw3ICsxMzIsNyBAQCB2b2lkIFdlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0
aW9uOjpzZXJ2aWNlV29ya2VyU3RhcnRlZFdpdGhNZXNzYWdlKFNlcnZpY2VXb3JrZQogICAgICAg
ICBtX2Nvbm5lY3Rpb25Ub1N0b3JhZ2VQcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJTV1NlcnZl
clRvQ29udGV4dENvbm5lY3Rpb246OlNjcmlwdENvbnRleHRGYWlsZWRUb1N0YXJ0KHNlcnZpY2VX
b3JrZXJJZGVudGlmaWVyLCBleGNlcHRpb25NZXNzYWdlKSwgMCk7CiB9CiAKLXZvaWQgV2ViU1dD
b250ZXh0TWFuYWdlckNvbm5lY3Rpb246OnN0YXJ0RmV0Y2godWludDY0X3Qgc2VydmVyQ29ubmVj
dGlvbklkZW50aWZpZXIsIHVpbnQ2NF90IGZldGNoSWRlbnRpZmllciwgc3RkOjpvcHRpb25hbDxT
ZXJ2aWNlV29ya2VySWRlbnRpZmllcj4gc2VydmljZVdvcmtlcklkZW50aWZpZXIsIFJlc291cmNl
UmVxdWVzdCYmIHJlcXVlc3QsIEZldGNoT3B0aW9ucyYmIG9wdGlvbnMpCit2b2lkIFdlYlNXQ29u
dGV4dE1hbmFnZXJDb25uZWN0aW9uOjpzdGFydEZldGNoKHVpbnQ2NF90IHNlcnZlckNvbm5lY3Rp
b25JZGVudGlmaWVyLCB1aW50NjRfdCBmZXRjaElkZW50aWZpZXIsIHN0ZDo6b3B0aW9uYWw8U2Vy
dmljZVdvcmtlcklkZW50aWZpZXI+IHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBSZXNvdXJjZVJl
cXVlc3QmJiByZXF1ZXN0LCBGZXRjaE9wdGlvbnMmJiBvcHRpb25zLCBJUEM6OkZvcm1EYXRhUmVm
ZXJlbmNlJiYgZm9ybURhdGEpCiB7CiAgICAgYXV0byogc2VydmljZVdvcmtlclRocmVhZFByb3h5
ID0gc2VydmljZVdvcmtlcklkZW50aWZpZXIgPyBTV0NvbnRleHRNYW5hZ2VyOjpzaW5nbGV0b24o
KS5zZXJ2aWNlV29ya2VyVGhyZWFkUHJveHkoKnNlcnZpY2VXb3JrZXJJZGVudGlmaWVyKSA6IG51
bGxwdHI7CiAgICAgaWYgKCFzZXJ2aWNlV29ya2VyVGhyZWFkUHJveHkpIHsKQEAgLTE0MCw2ICsx
NDEsOCBAQCB2b2lkIFdlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjpzdGFydEZldGNoKHVp
bnQ2NF90IHNlcnZlckNvbm5lY3Rpb25JZGVudGlmaQogICAgIH0KIAogICAgIGF1dG8gY2xpZW50
ID0gV2ViU2VydmljZVdvcmtlckZldGNoVGFza0NsaWVudDo6Y3JlYXRlKG1fY29ubmVjdGlvblRv
U3RvcmFnZVByb2Nlc3MuY29weVJlZigpLCBzZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllciwgZmV0
Y2hJZGVudGlmaWVyKTsKKworICAgIHJlcXVlc3Quc2V0SFRUUEJvZHkoZm9ybURhdGEudGFrZURh
dGEoKSk7CiAgICAgc2VydmljZVdvcmtlclRocmVhZFByb3h5LT50aHJlYWQoKS5wb3N0RmV0Y2hU
YXNrKFdURk1vdmUoY2xpZW50KSwgV1RGTW92ZShyZXF1ZXN0KSwgV1RGTW92ZShvcHRpb25zKSk7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNX
Q29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3Rv
cmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5oCmluZGV4IDhlNGQ1NmJlNzU0ODgw
MTE1NDliYjU3YThiNDJmZGYyMmQzMWJiMGIuLmI5YjE4MGFjMTcwNDhmMjQ3MTJkZjA4ZTA4NzJm
NTFhZWI1NmZiMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdl
L1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uaApAQCAtMzEsNiAr
MzEsMTAgQEAKICNpbmNsdWRlICJNZXNzYWdlUmVjZWl2ZXIuaCIKICNpbmNsdWRlIDxXZWJDb3Jl
L1NXQ29udGV4dE1hbmFnZXIuaD4KIAorbmFtZXNwYWNlIElQQyB7CitjbGFzcyBGb3JtRGF0YVJl
ZmVyZW5jZTsKK30KKwogbmFtZXNwYWNlIFdlYkNvcmUgewogc3RydWN0IEZldGNoT3B0aW9uczsK
IGNsYXNzIFJlc291cmNlUmVxdWVzdDsKQEAgLTU5LDcgKzYzLDcgQEAgcHJpdmF0ZToKICAgICAv
LyBJUEMgbWVzc2FnZXMuCiAgICAgdm9pZCBzZXJ2aWNlV29ya2VyU3RhcnRlZFdpdGhNZXNzYWdl
KFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGV4Y2VwdGlv
bk1lc3NhZ2UpIGZpbmFsOwogICAgIHZvaWQgaW5zdGFsbFNlcnZpY2VXb3JrZXIoY29uc3QgV2Vi
Q29yZTo6U2VydmljZVdvcmtlckNvbnRleHREYXRhJik7Ci0gICAgdm9pZCBzdGFydEZldGNoKHVp
bnQ2NF90IHNlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyLCB1aW50NjRfdCBmZXRjaElkZW50aWZp
ZXIsIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50aWZpZXI+LCBXZWJD
b3JlOjpSZXNvdXJjZVJlcXVlc3QmJiwgV2ViQ29yZTo6RmV0Y2hPcHRpb25zJiYpOworICAgIHZv
aWQgc3RhcnRGZXRjaCh1aW50NjRfdCBzZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllciwgdWludDY0
X3QgZmV0Y2hJZGVudGlmaWVyLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJ
ZGVudGlmaWVyPiwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYsIFdlYkNvcmU6OkZldGNoT3B0
aW9ucyYmLCBJUEM6OkZvcm1EYXRhUmVmZXJlbmNlJiYpOwogICAgIHZvaWQgcG9zdE1lc3NhZ2VU
b1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZShXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmll
ciBkZXN0aW5hdGlvbklkZW50aWZpZXIsIGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgbWVzc2Fn
ZSwgV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudERhdGEmJiBzb3VyY2UpOwogICAgIHZvaWQg
ZmlyZUluc3RhbGxFdmVudChXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllcik7CiAgICAg
dm9pZCBmaXJlQWN0aXZhdGVFdmVudChXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllcik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRl
eHRNYW5hZ2VyQ29ubmVjdGlvbi5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLm1lc3NhZ2VzLmluCmluZGV4
IDczMzFhOGRlZDgwYWMwYjFhNTAzY2M4ZWMzNDlmMGJiNWJlNzk0NDguLjcxMWYxOWJlMTQ1YTU2
MmM3ZTVmN2ZkZDMyMTY1Yjg5ZGM4ZGE1OGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLm1lc3NhZ2VzLmlu
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFn
ZXJDb25uZWN0aW9uLm1lc3NhZ2VzLmluCkBAIC0yNCw3ICsyNCw3IEBACiAKIG1lc3NhZ2VzIC0+
IFdlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uIHsKICAgICBJbnN0YWxsU2VydmljZVdvcmtl
cihzdHJ1Y3QgV2ViQ29yZTo6U2VydmljZVdvcmtlckNvbnRleHREYXRhIGNvbnRleHREYXRhKQot
ICAgIFN0YXJ0RmV0Y2godWludDY0X3Qgc2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIsIHVpbnQ2
NF90IGZldGNoSWRlbnRpZmllciwgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpTZXJ2aWNlV29ya2Vy
SWRlbnRpZmllcj4gc2VydmljZVdvcmtlcklkZW50aWZpZXIsIFdlYkNvcmU6OlJlc291cmNlUmVx
dWVzdCByZXF1ZXN0LCBzdHJ1Y3QgV2ViQ29yZTo6RmV0Y2hPcHRpb25zIG9wdGlvbnMpCisgICAg
U3RhcnRGZXRjaCh1aW50NjRfdCBzZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllciwgdWludDY0X3Qg
ZmV0Y2hJZGVudGlmaWVyLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVu
dGlmaWVyPiBzZXJ2aWNlV29ya2VySWRlbnRpZmllciwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0
IHJlcXVlc3QsIHN0cnVjdCBXZWJDb3JlOjpGZXRjaE9wdGlvbnMgb3B0aW9ucywgSVBDOjpGb3Jt
RGF0YVJlZmVyZW5jZSByZXF1ZXN0Qm9keSkKICAgICBQb3N0TWVzc2FnZVRvU2VydmljZVdvcmtl
ckdsb2JhbFNjb3BlKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIGRlc3RpbmF0aW9u
SWRlbnRpZmllciwgSVBDOjpEYXRhUmVmZXJlbmNlIG1lc3NhZ2UsIHN0cnVjdCBXZWJDb3JlOjpT
ZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSBzb3VyY2UpCiAgICAgRmlyZUluc3RhbGxFdmVudChXZWJD
b3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllciBpZGVudGlmaWVyKQogICAgIEZpcmVBY3RpdmF0
ZUV2ZW50KFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIGlkZW50aWZpZXIpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTZXJ2aWNlV29ya2Vy
UHJvdmlkZXIuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2Vydmlj
ZVdvcmtlclByb3ZpZGVyLmNwcAppbmRleCAzNzgyZGE2YzlkZmY5N2FlNjc1MThhZTdkYzYzNTNj
ZWQ4MjUxNzQxLi45OTk2N2Q3YjE4ZjkxMTdjZDU1MzJjODZlMGI2MzFmNzI2ODFhM2EzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTZXJ2aWNlV29ya2Vy
UHJvdmlkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNl
cnZpY2VXb3JrZXJQcm92aWRlci5jcHAKQEAgLTcyLDcgKzcyLDcgQEAgc3RhdGljIGlubGluZSBi
b29sIHNob3VsZEhhbmRsZUZldGNoKGNvbnN0IFJlc291cmNlTG9hZGVyT3B0aW9ucyYgb3B0aW9u
cykKIAogdm9pZCBXZWJTZXJ2aWNlV29ya2VyUHJvdmlkZXI6OmhhbmRsZUZldGNoKFJlc291cmNl
TG9hZGVyJiBsb2FkZXIsIENhY2hlZFJlc291cmNlKiByZXNvdXJjZSwgUEFMOjpTZXNzaW9uSUQg
c2Vzc2lvbklELCBTZXJ2aWNlV29ya2VyQ2xpZW50RmV0Y2g6OkNhbGxiYWNrJiYgY2FsbGJhY2sp
CiB7Ci0gICAgaWYgKCFzaG91bGRIYW5kbGVGZXRjaChsb2FkZXIub3B0aW9ucygpKSkgeworICAg
IGlmICghbG9hZGVyLnJlcXVlc3QoKS51cmwoKS5wcm90b2NvbElzSW5IVFRQRmFtaWx5KCkgfHwg
IXNob3VsZEhhbmRsZUZldGNoKGxvYWRlci5vcHRpb25zKCkpKSB7CiAgICAgICAgIGNhbGxiYWNr
KFNlcnZpY2VXb3JrZXJDbGllbnRGZXRjaDo6UmVzdWx0OjpVbmhhbmRsZWQpOwogICAgICAgICBy
ZXR1cm47CiAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDU5MjcwNjlmZjFjNGJkMjlhYjJkYWM5NTcyMDg3OTViZjA2
MDk3M2EuLjAxYmRkZWU4M2VmMGQwNGVhNTY0NzE3ZjRmMWUzNjgyOTJlN2JjYWIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNiBAQAorMjAxNy0xMS0xNiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5j
b20+CisKKyAgICAgICAgU2VydmljZSBXb3JrZXIgc2hvdWxkIGdldCB0aGUgYm9keSBvZiBpbnRl
cmNlcHRlZCByZXF1ZXN0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTc5Nzc2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBodHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9yZXNvdXJjZXMvc2VydmljZS13
b3JrZXItZmV0Y2guanM6CisgICAgICAgICogaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2Uvc2Vy
dmljZS13b3JrZXItZmV0Y2guaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVz
dHMvd29ya2Vycy9zZXJ2aWNlL3Jlc291cmNlcy9zZXJ2aWNlLXdvcmtlci1yZXF1ZXN0LXdpdGgt
Ym9keS13b3JrZXIuanM6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd29ya2Vycy9zZXJ2
aWNlL3NlcnZpY2Utd29ya2VyLXJlcXVlc3Qtd2l0aC1ib2R5Lmh0dHBzLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2Uvc2VydmljZS13b3Jr
ZXItcmVxdWVzdC13aXRoLWJvZHkuaHR0cHMuaHRtbDogQWRkZWQuCisKIDIwMTctMTEtMTUgIFlv
dWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFNlcnZpY2UgV29ya2Vy
IGZldGNoIHNob3VsZCBoYW5kbGUgZW1wdHkgcmVzcG9uc2VzCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0No
YW5nZUxvZwppbmRleCBlY2IzZjM0OGY1OGI3YThhNDQ0NDBkYTFkMzc0OGM0MGZhOTE5YzA2Li45
MmE5MTQyYjUzZTUwMTU2MTE4N2E3M2FiZmZmNTBmYTc4NjAwNTM1IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxNy0xMS0xNiAgWW91ZW5uIEZhYmxl
dCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgU2VydmljZSBXb3JrZXIgc2hvdWxkIGdl
dCB0aGUgYm9keSBvZiBpbnRlcmNlcHRlZCByZXF1ZXN0cworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc5Nzc2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWV2ZW50Lmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L2ZldGNoLXJlcXVlc3QteGhyLmh0dHBzLWV4cGVjdGVkLnR4dDoKKwogMjAxNy0xMS0xNSAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgU29tZSBzZXJ2aWNlIHdv
cmtlciB0ZXN0cyBhcmUgZmxha3kgZHVlIHRvIGNvbnNvbGUgbG9nIG1lc3NhZ2VzCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9yZXNvdXJjZXMvc2Vy
dmljZS13b3JrZXItZmV0Y2guanMgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2Vy
dmljZS9yZXNvdXJjZXMvc2VydmljZS13b3JrZXItZmV0Y2guanMKaW5kZXggYWNlYzRjYjI5M2Mz
OGMyMzRjNmJmMTdiYjRmYTJlNGJiM2YzZGMyZi4uYjNlYjcwMTgzYjUyYjdjMTUyNmMxOTM5YTUz
YTAxOTg3ODI3ZmI4ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJz
L3NlcnZpY2UvcmVzb3VyY2VzL3NlcnZpY2Utd29ya2VyLWZldGNoLmpzCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL3Jlc291cmNlcy9zZXJ2aWNlLXdvcmtlci1m
ZXRjaC5qcwpAQCAtMTIsOSArMTIsMTcgQEAgYXN5bmMgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAg
IGxvZygiR290IGltYWdlIHJlc3BvbnNlIHdpdGggYnVmZmVyIGJ5dGUgbGVuZ3RoIGJlaW5nICIg
KyBidWZmZXIuYnl0ZUxlbmd0aCk7CiAKICAgICAgICAgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCgi
L3Jlc291cmNlcy9zcXVhcmUxMDAucG5nLmJvZHlhc2FuZW1wdHlzdHJlYW0iKTsKLSAgICAgICAg
dmFyIGJ1ZmZlciA9ICBhd2FpdCByZXNwb25zZS5hcnJheUJ1ZmZlcigpOworICAgICAgICBidWZm
ZXIgPSAgYXdhaXQgcmVzcG9uc2UuYXJyYXlCdWZmZXIoKTsKICAgICAgICAgbG9nKCJHb3Qgc2hv
dWxkLWJlLWVtcHR5IHJlc3BvbnNlIHdpdGggYnVmZmVyIGJ5dGUgbGVuZ3RoIGJlaW5nICIgKyBi
dWZmZXIuYnl0ZUxlbmd0aCArICIgYW5kIHN0YXR1cyBpcyAiICsgcmVzcG9uc2Uuc3RhdHVzVGV4
dCk7CiAKKyAgICAgICAgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCgiZGF0YTp0ZXh0L3BsYWluO2Jh
c2U2NCxjbVZ6Y0c5dWMyVW5jeUJpYjJSNSIpOworICAgICAgICB2YXIgdGV4dCAgPSAgYXdhaXQg
cmVzcG9uc2UudGV4dCgpOworICAgICAgICBsb2coIkdvdCBkYXRhIFVSTCByZXNwb25zZSB3aXRo
IGRhdGE9XCIiICsgdGV4dCArICJcIiBhbmQgc3RhdHVzIGlzICIgKyByZXNwb25zZS5zdGF0dXNU
ZXh0KTsKKworICAgICAgICByZXNwb25zZSA9IGF3YWl0IGZldGNoKHdpbmRvdy5VUkwuY3JlYXRl
T2JqZWN0VVJMKG5ldyBCbG9iKFsiUEFTUyJdKSkpOworICAgICAgICB0ZXh0ID0gIGF3YWl0IHJl
c3BvbnNlLnRleHQoKTsKKyAgICAgICAgbG9nKCJHb3QgYmxvYiByZXNwb25zZSB3aXRoIGRhdGE9
XCIiICsgdGV4dCArICJcIiBhbmQgc3RhdHVzIGlzICIgKyByZXNwb25zZS5zdGF0dXNUZXh0KTsK
KwogICAgICAgICByZXNwb25zZSA9IGF3YWl0IGZldGNoKCJzdGF0dXMiKTsKICAgICAgICAgbG9n
KCJTdGF0dXMgaXMgIiArIHJlc3BvbnNlLnN0YXR1c1RleHQpOwogICAgIH0gY2F0Y2goZSkgewpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvcmVzb3Vy
Y2VzL3NlcnZpY2Utd29ya2VyLXJlcXVlc3Qtd2l0aC1ib2R5LXdvcmtlci5qcyBiL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL3Jlc291cmNlcy9zZXJ2aWNlLXdvcmtlci1y
ZXF1ZXN0LXdpdGgtYm9keS13b3JrZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjdiNjcwMWJiMGM2Yjk2ZDI1
YmJlNmY2ZjkzMGU1NDg1YTVjMDEwZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL3Jlc291cmNlcy9zZXJ2aWNlLXdvcmtlci1yZXF1ZXN0
LXdpdGgtYm9keS13b3JrZXIuanMKQEAgLTAsMCArMSwyMSBAQAorc2VsZi5hZGRFdmVudExpc3Rl
bmVyKCJmZXRjaCIsIChldmVudCkgPT4geworICAgIGlmIChldmVudC5yZXF1ZXN0LnVybC5lbmRz
V2l0aCgicmVxdWVzdC13aXRoLXRleHQtYm9keS5mcm9tc2VydmljZXdvcmtlciIpKSB7CisgICAg
ICAgIGV2ZW50LnJlc3BvbmRXaXRoKAorICAgICAgICAgICAgZXZlbnQucmVxdWVzdC50ZXh0KCku
dGhlbih2YWx1ZSA9PiB7CisgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBSZXNwb25zZSh2YWx1
ZSk7CisgICAgICAgICAgICB9KQorICAgICAgICApOworICAgICAgICByZXR1cm47CisgICAgfQor
ICAgIGlmIChldmVudC5yZXF1ZXN0LnVybC5lbmRzV2l0aCgicmVxdWVzdC13aXRoLWNsb25lZC10
ZXh0LWJvZHkuZnJvbXNlcnZpY2V3b3JrZXIiKSkgeworICAgICAgICBldmVudC5yZXNwb25kV2l0
aCgKKyAgICAgICAgICAgIGV2ZW50LnJlcXVlc3QuY2xvbmUoKS50ZXh0KCkudGhlbih2YWx1ZSA9
PiB7CisgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBSZXNwb25zZSh2YWx1ZSk7CisgICAgICAg
ICAgICB9KQorICAgICAgICApOworICAgIH0KKyAgICBpZiAoZXZlbnQucmVxdWVzdC51cmwuZW5k
c1dpdGgoInBvc3QtZWNoby5jZ2kiKSkgeworICAgICAgICBldmVudC5yZXNwb25kV2l0aChmZXRj
aChldmVudC5yZXF1ZXN0KSk7CisgICAgICAgIHJldHVybjsKKyAgICB9Cit9KTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL3NlcnZpY2Utd29ya2Vy
LWZldGNoLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vy
cy9zZXJ2aWNlL3NlcnZpY2Utd29ya2VyLWZldGNoLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCAx
NWExN2IwYmZmNDllYzZiNGI5NTNjMGJkMzFmMGY0YTc2OTFkYTRjLi4xZDVhNzI3NThhZmVmZGRh
NzhmNzA2OWI4MTIxMDhlMWRiNTMyNGMxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3dvcmtlcnMvc2VydmljZS9zZXJ2aWNlLXdvcmtlci1mZXRjaC5odHRwcy1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2Uvc2VydmljZS13
b3JrZXItZmV0Y2guaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0yLDUgKzIsNyBAQAogU3RhdHVzIGlz
IG5vIHN0YXR1cwogR290IGltYWdlIHJlc3BvbnNlIHdpdGggYnVmZmVyIGJ5dGUgbGVuZ3RoIGJl
aW5nIDEyOTQwCiBHb3Qgc2hvdWxkLWJlLWVtcHR5IHJlc3BvbnNlIHdpdGggYnVmZmVyIGJ5dGUg
bGVuZ3RoIGJlaW5nIDAgYW5kIHN0YXR1cyBpcyBFbXB0eSBzdHJlYW0KK0dvdCBkYXRhIFVSTCBy
ZXNwb25zZSB3aXRoIGRhdGE9InJlc3BvbnNlJ3MgYm9keSIgYW5kIHN0YXR1cyBpcyBPSworR290
IGJsb2IgcmVzcG9uc2Ugd2l0aCBkYXRhPSJQQVNTIiBhbmQgc3RhdHVzIGlzIE9LCiBTdGF0dXMg
aXMgaHR0cHM6Ly8xMjcuMC4wLjE6ODQ0My9yZXNvdXJjZXMvc3F1YXJlMTAwLnBuZyB0aHJvdWdo
IGZldGNoCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2
aWNlL3NlcnZpY2Utd29ya2VyLXJlcXVlc3Qtd2l0aC1ib2R5Lmh0dHBzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL3NlcnZpY2Utd29ya2VyLXJl
cXVlc3Qtd2l0aC1ib2R5Lmh0dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MTBjYzUwMjQy
MDgxNDA2OWYxMWIzNjNlNTQ1ZTdkMjdhNDhjOTQzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2Uvc2VydmljZS13b3JrZXItcmVxdWVzdC13
aXRoLWJvZHkuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOCBAQAorCisKK1BBU1MgU2V0
dXAgdGVzdCAKK1BBU1MgUmVxdWVzdCB3aXRoIHRleHQgYm9keSAKK1BBU1MgUmVxdWVzdCB3aXRo
IGFycmF5QnVmZmVyIGJvZHkgCitQQVNTIFJlcXVlc3Qgd2l0aCBjbG9uZWQgdGV4dCBib2R5IAor
UEFTUyBSZXF1ZXN0IHdpdGggdGV4dCBib2R5IHRoZW4gZmV0Y2hlZCAKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2Uvc2VydmljZS13b3JrZXItcmVx
dWVzdC13aXRoLWJvZHkuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vy
cy9zZXJ2aWNlL3NlcnZpY2Utd29ya2VyLXJlcXVlc3Qtd2l0aC1ib2R5Lmh0dHBzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNzU0MzYyZmFhMzFiZGQ4ODBmZGQ4Y2U2MzA0YTAyODUxYjY0NDkxYwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL3NlcnZp
Y2Utd29ya2VyLXJlcXVlc3Qtd2l0aC1ib2R5Lmh0dHBzLmh0bWwKQEAgLTAsMCArMSw2MyBAQAor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2FzeW5jIGZ1bmN0aW9uIGludGVy
Y2VwdGVkRnJhbWUod29ya2VyVVJMLCBzY29wZVVSTCkKK3sKKyAgICB2YXIgcmVnaXN0cmF0aW9u
ID0gYXdhaXQgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0ZXIod29ya2VyVVJMLCB7IHNj
b3BlIDogc2NvcGVVUkwgfSk7CisgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7Cisg
ICAgICAgIGlmIChyZWdpc3RyYXRpb24uYWN0aXZlKQorICAgICAgICAgICAgcmVzb2x2ZSgpOwor
ICAgICAgICB3b3JrZXIgPSByZWdpc3RyYXRpb24uaW5zdGFsbGluZzsKKyAgICAgICAgaWYgKHdv
cmtlci5zdGF0ZSA9PT0gImFjdGl2YXRlZCIpCisgICAgICAgICAgICByZXNvbHZlKCk7CisgICAg
ICAgIHdvcmtlci5hZGRFdmVudExpc3RlbmVyKCJzdGF0ZWNoYW5nZSIsICgpID0+IHsKKyAgICAg
ICAgICAgIGlmICh3b3JrZXIuc3RhdGUgPT09ICJhY3RpdmF0ZWQiKQorICAgICAgICAgICAgICAg
IHJlc29sdmUoKTsKKyAgICAgICAgfSk7CisgICAgfSk7CisKKyAgICByZXR1cm4gYXdhaXQgbmV3
IFByb21pc2UoKHJlc29sdmUpID0+IHsKKyAgICAgICAgdmFyIGZyYW1lID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgnaWZyYW1lJyk7CisgICAgICAgIGZyYW1lLnNyYyA9IHNjb3BlVVJMOworICAg
ICAgICBmcmFtZS5vbmxvYWQgPSBmdW5jdGlvbigpIHsgcmVzb2x2ZShmcmFtZSk7IH07CisgICAg
ICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZnJhbWUpOworICAgIH0pOworfQorCit2YXIg
ZmV0Y2g7CisKK3Byb21pc2VfdGVzdChhc3luYyAodGVzdCkgPT4geworICAgIHZhciBmcmFtZSA9
IGF3YWl0IGludGVyY2VwdGVkRnJhbWUoInJlc291cmNlcy9zZXJ2aWNlLXdvcmtlci1yZXF1ZXN0
LXdpdGgtYm9keS13b3JrZXIuanMiLCAiLyIpOworICAgIGZldGNoID0gZnJhbWUuY29udGVudFdp
bmRvdy5mZXRjaDsKK30sICJTZXR1cCB0ZXN0Iik7CisKK3Byb21pc2VfdGVzdChhc3luYyAodGVz
dCkgPT4geworICAgIHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goInJlcXVlc3Qtd2l0aC10ZXh0LWJv
ZHkuZnJvbXNlcnZpY2V3b3JrZXIiLCB7IG1ldGhvZDogIlBPU1QiLCBib2R5OiAiUEFTUyIgfSk7
CisgICAgdmFyIGJ1ZmZlciA9ICBhd2FpdCByZXNwb25zZS50ZXh0KCk7CisgICAgYXNzZXJ0X2Vx
dWFscyhidWZmZXIsICJQQVNTIik7Cit9LCAiUmVxdWVzdCB3aXRoIHRleHQgYm9keSIpOworCitw
cm9taXNlX3Rlc3QoYXN5bmMgKHRlc3QpID0+IHsKKyAgICByZXNwb25zZSA9IGF3YWl0IGZldGNo
KCJyZXF1ZXN0LXdpdGgtdGV4dC1ib2R5LmZyb21zZXJ2aWNld29ya2VyIiwgeyBtZXRob2Q6ICJQ
T1NUIiwgYm9keTogbmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKCJQQVNTIikgfSk7CisgICAgdmFy
IGJ1ZmZlciA9ICBhd2FpdCByZXNwb25zZS50ZXh0KCk7CisgICAgYXNzZXJ0X2VxdWFscyhidWZm
ZXIsICJQQVNTIik7Cit9LCAiUmVxdWVzdCB3aXRoIGFycmF5QnVmZmVyIGJvZHkiKTsKKworcHJv
bWlzZV90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7CisgICAgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCgi
cmVxdWVzdC13aXRoLWNsb25lZC10ZXh0LWJvZHkuZnJvbXNlcnZpY2V3b3JrZXIiLCB7IG1ldGhv
ZDogIlBPU1QiLCBib2R5OiAiUEFTUyIgfSk7CisgICAgdmFyIGJ1ZmZlciA9ICBhd2FpdCByZXNw
b25zZS50ZXh0KCk7CisgICAgYXNzZXJ0X2VxdWFscyhidWZmZXIsICJQQVNTIik7Cit9LCAiUmVx
dWVzdCB3aXRoIGNsb25lZCB0ZXh0IGJvZHkiKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jICh0ZXN0
KSA9PiB7CisgICAgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCgiL3htbGh0dHByZXF1ZXN0L3Jlc291
cmNlcy9wb3N0LWVjaG8uY2dpIiwgeyBtZXRob2Q6ICJQT1NUIiwgYm9keTogIlBBU1MiIH0pOwor
ICAgIHZhciBidWZmZXIgPSAgYXdhaXQgcmVzcG9uc2UudGV4dCgpOworICAgIGFzc2VydF9lcXVh
bHMoYnVmZmVyLCAiUEFTUyIpOworfSwgIlJlcXVlc3Qgd2l0aCB0ZXh0IGJvZHkgdGhlbiBmZXRj
aGVkIik7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL2ZldGNoLWV2ZW50Lmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL2ZldGNoLWV2ZW50Lmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCAyMWUxMjE2M2RlODJmMWQ1
NDBiMTI3YTNkYTM4YWRmYWY2NjFmY2Q5Li5mYjBiMmY4MjEwMmFhNWQzZDY4YTIzYzZhNDdkMmQw
ZWNmNGFmNGI3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1ldmVudC5odHRw
cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtZXZlbnQuaHR0cHMt
ZXhwZWN0ZWQudHh0CkBAIC04LDE0ICs4LDE0IEBAIEZBSUwgU2VydmljZSBXb3JrZXIgcmVzcG9u
ZHMgdG8gZmV0Y2ggZXZlbnQgd2l0aCBhbiBleGlzdGluZyBjbGllbnQgaWQgYXNzZXJ0X3VuCiBQ
QVNTIFNlcnZpY2UgV29ya2VyIGRvZXMgbm90IHJlc3BvbmQgdG8gZmV0Y2ggZXZlbnQgCiBQQVNT
IFNlcnZpY2UgV29ya2VyIHJlc3BvbmRzIHRvIGZldGNoIGV2ZW50IHdpdGggbnVsbCByZXNwb25z
ZSBib2R5IAogUEFTUyBTZXJ2aWNlIFdvcmtlciBmZXRjaGVzIG90aGVyIGZpbGUgaW4gZmV0Y2gg
ZXZlbnQgCi1GQUlMIFNlcnZpY2UgV29ya2VyIHJlc3BvbmRzIHRvIGZldGNoIGV2ZW50IHdpdGgg
UE9TVCBmb3JtIGFzc2VydF91bnJlYWNoZWQ6IHVuZXhwZWN0ZWQgcmVqZWN0aW9uOiBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCAiUE9TVDphcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ6
dGVzdE5hbWUxPXRlc3RWYWx1ZTEmdGVzdE5hbWUyPXRlc3RWYWx1ZTIiIGJ1dCBnb3QgIlBPU1Q6
YXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkOiIgUmVhY2hlZCB1bnJlYWNoYWJsZSBj
b2RlCitQQVNTIFNlcnZpY2UgV29ya2VyIHJlc3BvbmRzIHRvIGZldGNoIGV2ZW50IHdpdGggUE9T
VCBmb3JtIAogUEFTUyBNdWx0aXBsZSBjYWxscyBvZiByZXNwb25kV2l0aCBtdXN0IHRocm93IElu
dmFsaWRTdGF0ZUVycm9ycyAKIFBBU1MgU2VydmljZSBXb3JrZXIgZXZlbnQucmVzcG9uZFdpdGgg
bXVzdCBzZXQgdGhlIHVzZWQgZmxhZyAKIFBBU1MgU2VydmljZSBXb3JrZXIgc2hvdWxkIGV4cG9z
ZSBGZXRjaEV2ZW50IFVSTCBmcmFnbWVudHMuIAogRkFJTCBTZXJ2aWNlIFdvcmtlciByZXNwb25k
cyB0byBmZXRjaCBldmVudCB3aXRoIHRoZSBjb3JyZWN0IGNhY2hlIHR5cGVzIGFzc2VydF91bnJl
YWNoZWQ6IHVuZXhwZWN0ZWQgcmVqZWN0aW9uOiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAibm8t
Y2FjaGUiIGJ1dCBnb3QgImRlZmF1bHQiIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQogUEFTUyBT
ZXJ2aWNlIFdvcmtlciBzaG91bGQgaW50ZXJjZXB0IEV2ZW50U291cmNlIAogUEFTUyBTZXJ2aWNl
IFdvcmtlciByZXNwb25kcyB0byBmZXRjaCBldmVudCB3aXRoIHRoZSBjb3JyZWN0IGludGVncml0
eV9tZXRhZGF0YSAKLUZBSUwgRmV0Y2hFdmVudCNib2R5IGlzIGEgc3RyaW5nIGFzc2VydF9lcXVh
bHM6IGV4cGVjdGVkICJpIGFtIHRoZSByZXF1ZXN0IGJvZHkiIGJ1dCBnb3QgIiIKK1BBU1MgRmV0
Y2hFdmVudCNib2R5IGlzIGEgc3RyaW5nIAogRkFJTCBGZXRjaEV2ZW50I2JvZHkgaXMgYSBibG9i
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJpdCdzIG1lIHRoZSBibG9iIGFuZCBtb3JlIGJsb2Ih
IiBidXQgZ290ICIiCiBQQVNTIFNlcnZpY2UgV29ya2VyIHJlc3BvbmRzIHRvIGZldGNoIGV2ZW50
IHdpdGggdGhlIGNvcnJlY3Qga2VlcGFsaXZlIHZhbHVlIAogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9mZXRjaC1yZXF1ZXN0LXhoci5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9mZXRjaC1yZXF1ZXN0LXhoci5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggZjM0
MjE0MTE1NDcyZDg5MzQ1ZGIxMDVmYjRkMDliZjI5ZWFlYTNmMi4uZTJkYTgzYTAzMDEyNjAzODAy
NWVmNzMyNmIwOGNhNjg2OWViNTZmZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0
Y2gtcmVxdWVzdC14aHIuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L2ZldGNoLXJlcXVlc3QteGhyLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtNCwxMSArNCwxMSBAQCBG
QUlMIGV2ZW50LnJlcXVlc3QgaGFzIHRoZSBleHBlY3RlZCBoZWFkZXJzIGZvciBzYW1lLW9yaWdp
biBHRVQuIHByb21pc2VfdGVzdDogVQogRkFJTCBldmVudC5yZXF1ZXN0IGhhcyB0aGUgZXhwZWN0
ZWQgaGVhZGVycyBmb3Igc2FtZS1vcmlnaW4gUE9TVC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiRXJyb3I6IGFzc2VydF9hcnJheV9lcXVhbHM6
IGV2ZW50LnJlcXVlc3QgaGFzIHRoZSBleHBlY3RlZCBoZWFkZXJzIGZvciBzYW1lLW9yaWdpbiBQ
T1NULiBsZW5ndGhzIGRpZmZlciwgZXhwZWN0ZWQgMiBnb3QgNSIKIEZBSUwgZXZlbnQucmVxdWVz
dCBoYXMgdGhlIGV4cGVjdGVkIGhlYWRlcnMgZm9yIGNyb3NzLW9yaWdpbiBHRVQuIHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkVycm9yOiBhc3Nl
cnRfYXJyYXlfZXF1YWxzOiBldmVudC5yZXF1ZXN0IGhhcyB0aGUgZXhwZWN0ZWQgaGVhZGVycyBm
b3IgY3Jvc3Mtb3JpZ2luIEdFVC4gbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVkIDEgZ290IDQiCiBG
QUlMIGV2ZW50LnJlcXVlc3QgaGFzIHRoZSBleHBlY3RlZCBoZWFkZXJzIGZvciBjcm9zcy1vcmln
aW4gUE9TVC4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9i
amVjdCAiRXJyb3I6IGFzc2VydF9hcnJheV9lcXVhbHM6IGV2ZW50LnJlcXVlc3QgaGFzIHRoZSBl
eHBlY3RlZCBoZWFkZXJzIGZvciBjcm9zcy1vcmlnaW4gUE9TVC4gbGVuZ3RocyBkaWZmZXIsIGV4
cGVjdGVkIDIgZ290IDUiCi1GQUlMIEZldGNoRXZlbnQjcmVxdWVzdC5ib2R5IGNvbnRhaW5zIFhI
UiByZXF1ZXN0IGRhdGEgKHN0cmluZykgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiRXJyb3I6IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0ZXN0
IHN0cmluZyIgYnV0IGdvdCAiIiIKK1BBU1MgRmV0Y2hFdmVudCNyZXF1ZXN0LmJvZHkgY29udGFp
bnMgWEhSIHJlcXVlc3QgZGF0YSAoc3RyaW5nKSAKIEZBSUwgRmV0Y2hFdmVudCNyZXF1ZXN0LmJv
ZHkgY29udGFpbnMgWEhSIHJlcXVlc3QgZGF0YSAoYmxvYikgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiRXJyb3I6IGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkICJ0ZXN0IGJsb2IiIGJ1dCBnb3QgIiIiCi1GQUlMIEZldGNoRXZlbnQjcmVxdWVzdC5t
ZXRob2QgaXMgc2V0IHRvIFhIUiBtZXRob2QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiRXJyb3I6IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0
ZXN0IHN0cmluZyB4eHgiIGJ1dCBnb3QgIiIiCi1GQUlMIFhIUiB1c2luZyBPUFRJT05TIG1ldGhv
ZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJF
cnJvcjogYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInRlc3Qgc3RyaW5nIHh4eCIgYnV0IGdvdCAi
IiIKLUZBSUwgWEhSIHdpdGggZm9ybSBkYXRhIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkVycm9yOiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAi
LS0tLS0tV2ViS2l0Rm9ybUJvdW5kYXJ5WFFjVFVCZkNnMmhGVDB6VVxyXG5Db250ZW50LURpc3Bv
c2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9XCJzYW1wbGUgc3RyaW5nXCJcclxuXHJcbjEyMzQ1Njc4
OTBcclxuLS0tLS0tV2ViS2l0Rm9ybUJvdW5kYXJ5WFFjVFVCZkNnMmhGVDB6VVxyXG5Db250ZW50
LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9XCJzYW1wbGUgYmxvYlwiOyBmaWxlbmFtZT1c
ImJsb2JcIlxyXG5Db250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbVxyXG5cclxu
YmxvYiBjb250ZW50XHJcbi0tLS0tLVdlYktpdEZvcm1Cb3VuZGFyeVhRY1RVQmZDZzJoRlQwelVc
clxuQ29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPVwic2FtcGxlIGZpbGVcIjsg
ZmlsZW5hbWU9XCJmaWxlLmRhdFwiXHJcbkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vb2N0ZXQt
c3RyZWFtXHJcblxyXG5maWxlIGNvbnRlbnRcclxuLS0tLS0tV2ViS2l0Rm9ybUJvdW5kYXJ5WFFj
VFVCZkNnMmhGVDB6VS0tXHJcbiIgYnV0IGdvdCAiIiIKK1BBU1MgRmV0Y2hFdmVudCNyZXF1ZXN0
Lm1ldGhvZCBpcyBzZXQgdG8gWEhSIG1ldGhvZCAKK1BBU1MgWEhSIHVzaW5nIE9QVElPTlMgbWV0
aG9kIAorRkFJTCBYSFIgd2l0aCBmb3JtIGRhdGEgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiRXJyb3I6IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
ICItLS0tLS1XZWJLaXRGb3JtQm91bmRhcnl2akVRdTlnVjF1UDZBUU9HXHJcbkNvbnRlbnQtRGlz
cG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT1cInNhbXBsZSBzdHJpbmdcIlxyXG5cclxuMTIzNDU2
Nzg5MFxyXG4tLS0tLS1XZWJLaXRGb3JtQm91bmRhcnl2akVRdTlnVjF1UDZBUU9HXHJcbkNvbnRl
bnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT1cInNhbXBsZSBibG9iXCI7IGZpbGVuYW1l
PVwiYmxvYlwiXHJcbkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtXHJcblxy
XG5ibG9iIGNvbnRlbnRcclxuLS0tLS0tV2ViS2l0Rm9ybUJvdW5kYXJ5dmpFUXU5Z1YxdVA2QVFP
R1xyXG5Db250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9XCJzYW1wbGUgZmlsZVwi
OyBmaWxlbmFtZT1cImZpbGUuZGF0XCJcclxuQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9vY3Rl
dC1zdHJlYW1cclxuXHJcbmZpbGUgY29udGVudFxyXG4tLS0tLS1XZWJLaXRGb3JtQm91bmRhcnl2
akVRdTlnVjF1UDZBUU9HLS1cclxuIiBidXQgZ290ICIiIgogRkFJTCBYSFIgd2l0aCBtb2RlL2Ny
ZWRlbnRpYWxzIHNldCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJFcnJvcjogYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImluY2x1ZGUiIGJ1dCBn
b3QgInNhbWUtb3JpZ2luIiIKIFBBU1MgWEhSIHRvIGRhdGEgVVJMIAogUEFTUyByZXN0b3JlIGds
b2JhbCBzdGF0ZSAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>327124</attachid>
            <date>2017-11-16 16:19:35 -0800</date>
            <delta_ts>2017-11-16 18:36:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-179776-20171116161935.patch</filename>
            <type>text/plain</type>
            <size>46699</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI0OTA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDc5ZGY1NGQyYWI1Zjhm
YzdiNmI0NDgxNmNlMjBhMTc2YTIyYzZmOS4uNzEzOWM3NjBiN2Y2OTM1NDAxZjNlMTc3MDU5Njky
NDkyNTgyZDAzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM1IEBACiAyMDE3LTExLTE2ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAorICAgICAgICBTZXJ2aWNlIFdvcmtlciBz
aG91bGQgZ2V0IHRoZSBib2R5IG9mIGludGVyY2VwdGVkIHJlcXVlc3RzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzk3NzYKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBodHRwL3Rlc3RzL3dvcmtl
cnMvc2VydmljZS9zZXJ2aWNlLXdvcmtlci1yZXF1ZXN0LXdpdGgtYm9keS5odHRwcy5odG1sCisK
KyAgICAgICAgTWFrZSB1c2Ugb2YgRmV0Y2hCb2R5Q29uc3VtZXIgdG8gc3RvcmUgcmF3IGRhdGEg
Zm9yIEZldGNoUmVxdWVzdC4KKyAgICAgICAgVGhpcyBpcyB1c2VkIHdoZW4gc2V0dGluZyBGZXRj
aFJlcXVlc3QgYm9keSBmcm9tIGEgRm9ybURhdGEuCisgICAgICAgIElmIEZvcm1EYXRhIGlzIG9u
bHkgYnl0ZXMgKG5vIGJsb2IsIG5vIGZpbGUpLCBGZXRjaEJvZHlDb25zdW1lciB3aWxsIHN0b3Jl
IHRoYXQgZGF0YS4KKyAgICAgICAgVGhpcyBhbGxvd3MgU2VydmljZSBXb3JrZXIgdG8gZ2V0IGFj
Y2VzcyB0byBzaW1wbGUgcmVxdWVzdCBib2RpZXMuCisKKyAgICAgICAgKiBNb2R1bGVzL2ZldGNo
L0ZldGNoQm9keS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGZXRjaEJvZHk6OmZyb21Gb3JtRGF0
YSk6CisgICAgICAgIChXZWJDb3JlOjpGZXRjaEJvZHk6OmNvbnN1bWUpOgorICAgICAgICAoV2Vi
Q29yZTo6RmV0Y2hCb2R5Ojpib2R5QXNGb3JtRGF0YSBjb25zdCk6IE1ha2luZyBzdXJlIGJvZHkg
aXMgc2V0IGFwcHJvcHJpYXRlbHkgd2hlbiB1c2VkIHRvIG1ha2UgZmV0Y2ggbG9hZC4KKyAgICAg
ICAgKiBNb2R1bGVzL2ZldGNoL0ZldGNoQm9keS5oOiBNYWtpbmcgc29tZSBtZXRob2RzIHByaXZh
dGUuCisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHlDb25zdW1lci5oOiBBZGRpbmcg
YWNjZXNzb3JzLgorICAgICAgICAoV2ViQ29yZTo6RmV0Y2hCb2R5Q29uc3VtZXI6Omhhc0RhdGEg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6RmV0Y2hCb2R5Q29uc3VtZXI6OmRhdGEgY29uc3Qp
OgorICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1ZXN0Lmg6CisgICAgICAgIChXZWJD
b3JlOjpGZXRjaFJlcXVlc3Q6OkZldGNoUmVxdWVzdCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0
d29yay9Gb3JtRGF0YS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb3JtRGF0YTo6YXNTaGFyZWRC
dWZmZXIgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvRm9ybURhdGEuaDoKKyAg
ICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyRmV0Y2guY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckZldGNoOjpkaXNwYXRjaEZldGNoRXZlbnQp
OiBTZXR0aW5nIEZldGNoUmVxdWVzdCBib2R5IGJhc2VkIG9uIGdpdmVuIEZvcm1EYXRhLgorCisy
MDE3LTExLTE2ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKwogICAgICAgICBG
ZXRjaExvYWRlciBzaG91bGQgdW5yZWdpc3RlciBpdHMgYmxvYiBVUkwKICAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3OTc2OAogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDJk
ZDJjYzVmNDIxZDU4NjVhYWQ4ZmE3ZGQ4M2VmNTZkMjc3MGU3YTQuLjk1NzI3MzE5M2Q2YjFlZGI2
OGRiOTM4MmQ3OTczNDRlMjYxNTI1YjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzIgQEAKKzIwMTct
MTEtMTYgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFNlcnZp
Y2UgV29ya2VyIHNob3VsZCBnZXQgdGhlIGJvZHkgb2YgaW50ZXJjZXB0ZWQgcmVxdWVzdHMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3OTc3NgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFBhc3MgYSBGb3Jt
RGF0YVJlZmVyZW5jZSB3aGVuIHN0YXJ0aW5nIGZldGNoIElQQy4KKyAgICAgICAgQ29udmVydCB0
aGlzIEZvcm1EYXRhUmVmZXJlbmNlIGluIGEgRm9ybURhdGEgYW5kIHVzaW5nIGl0IHRvIHNldCB0
aGUgRmV0Y2hSZXF1ZXN0IGJvZHkgcHJvcGVybHkgaW4gU2VydmljZSBXb3JrZXIgcHJvY2Vzcy4K
KyAgICAgICAgRm9yYmlkIGZldGNoIGludGVyY2VwdGlvbiB3aGVuIFVSTCBpcyBub3QgSFRUUC9I
VFRQUy4KKworICAgICAgICAqIFBsYXRmb3JtL0lQQy9Gb3JtRGF0YVJlZmVyZW5jZS5oOgorICAg
ICAgICAoSVBDOjpGb3JtRGF0YVJlZmVyZW5jZTo6Rm9ybURhdGFSZWZlcmVuY2UpOgorICAgICAg
ICAoSVBDOjpGb3JtRGF0YVJlZmVyZW5jZTo6dGFrZURhdGEpOgorICAgICAgICAoSVBDOjpGb3Jt
RGF0YVJlZmVyZW5jZTo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKElQQzo6Rm9ybURhdGFSZWZl
cmVuY2U6OmRlY29kZSk6CisgICAgICAgICogU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9X
ZWJTV1NlcnZlckNvbm5lY3Rpb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJTV1NlcnZlckNv
bm5lY3Rpb246OnN0YXJ0RmV0Y2gpOgorICAgICAgICAqIFN0b3JhZ2VQcm9jZXNzL1NlcnZpY2VX
b3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmg6CisgICAgICAgICogU3RvcmFnZVByb2Nlc3Mv
U2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW46CisgICAgICAg
ICogV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYlNXQ2xpZW50Q29ubmVjdGlvbjo6c3RhcnRGZXRjaCk6CisgICAgICAgICog
V2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246OnN0YXJ0RmV0Y2gp
OgorICAgICAgICAqIFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVj
dGlvbi5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2Vy
Q29ubmVjdGlvbi5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1N0b3JhZ2UvV2Vi
U2VydmljZVdvcmtlclByb3ZpZGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViU2VydmljZVdv
cmtlclByb3ZpZGVyOjpoYW5kbGVGZXRjaCk6CisKIDIwMTctMTEtMTUgIEFsZXggQ2hyaXN0ZW5z
ZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZlcnQgcjIyNDg4NQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHkuY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHkuY3BwCmluZGV4IDJlMTVjZDcw
M2YwMjNkOTcyZGE2NDUzMWNlODk1ZGFmN2M1ZDcwZDkuLmZhOThkZDgwZTRhMjZkZTRjYTE3Nzhm
M2Y1NDBlMjFiYTM0MDdlYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0
Y2gvRmV0Y2hCb2R5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNo
Qm9keS5jcHAKQEAgLTY5LDYgKzY5LDIxIEBAIEZldGNoQm9keSBGZXRjaEJvZHk6OmV4dHJhY3Qo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgSW5pdCYmIHZhbHVlLCBTdHJpCiAgICAg
fSk7CiB9CiAKK3N0ZDo6b3B0aW9uYWw8RmV0Y2hCb2R5PiBGZXRjaEJvZHk6OmZyb21Gb3JtRGF0
YShGb3JtRGF0YSogZm9ybURhdGEpCit7CisgICAgaWYgKCFmb3JtRGF0YSB8fCBmb3JtRGF0YS0+
aXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgaWYgKGF1dG8g
YnVmZmVyID0gZm9ybURhdGEtPmFzU2hhcmVkQnVmZmVyKCkpIHsKKyAgICAgICAgRmV0Y2hCb2R5
IGJvZHk7CisgICAgICAgIGJvZHkubV9jb25zdW1lci5zZXREYXRhKGJ1ZmZlci5yZWxlYXNlTm9u
TnVsbCgpKTsKKyAgICAgICAgcmV0dXJuIFdURk1vdmUoYm9keSk7CisgICAgfQorCisgICAgLy8g
RklYTUU6IFN1cHBvcnQgYmxvYiBhbmQgZm9ybSBkYXRhIGJvZGllcy4KKyAgICByZXR1cm4gc3Rk
OjpudWxsb3B0OworfQorCiB2b2lkIEZldGNoQm9keTo6YXJyYXlCdWZmZXIoRmV0Y2hCb2R5T3du
ZXImIG93bmVyLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2UpCiB7CiAgICAgbV9jb25z
dW1lci5zZXRUeXBlKEZldGNoQm9keUNvbnN1bWVyOjpUeXBlOjpBcnJheUJ1ZmZlcik7CkBAIC0x
MzQsNyArMTQ5LDcgQEAgdm9pZCBGZXRjaEJvZHk6OmNvbnN1bWUoRmV0Y2hCb2R5T3duZXImIG93
bmVyLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2UpCiAgICAgfQogICAgIGlmIChpc0Zv
cm1EYXRhKCkpIHsKICAgICAgICAgLy8gRklYTUU6IFN1cHBvcnQgY29uc3VtaW5nIEZvcm1EYXRh
LgotICAgICAgICBwcm9taXNlLT5yZWplY3QoKTsKKyAgICAgICAgcHJvbWlzZS0+cmVqZWN0KE5v
dFN1cHBvcnRlZEVycm9yKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtMjMxLDYgKzI0
Niw5IEBAIFJlZlB0cjxGb3JtRGF0YT4gRmV0Y2hCb2R5Ojpib2R5QXNGb3JtRGF0YShTY3JpcHRF
eGVjdXRpb25Db250ZXh0JiBjb250ZXh0KSBjb25zCiAgICAgICAgIGJvZHktPmdlbmVyYXRlRmls
ZXMoJmRvd25jYXN0PERvY3VtZW50Pihjb250ZXh0KSk7CiAgICAgICAgIHJldHVybiBib2R5Owog
ICAgIH0KKyAgICBpZiAoYXV0byogZGF0YSA9IG1fY29uc3VtZXIuZGF0YSgpKQorICAgICAgICBy
ZXR1cm4gRm9ybURhdGE6OmNyZWF0ZShkYXRhLT5kYXRhKCksIGRhdGEtPnNpemUoKSk7CisKICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICByZXR1cm4gbnVsbHB0cjsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5LmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoQm9keS5oCmluZGV4IGRiYWE4NDRhMDkxZmFjNzY2NGU5
ZWQyZDAyMmI0NmYyMTU3MWRjNGYuLjZkY2UxMTY0OTk5YzUyYTEzM2Y2ZGZkZWEwYjdmMWFkYWRk
OTk3NzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaEJvZHkuaApAQCAtNTQs
MTggKzU0LDEyIEBAIHB1YmxpYzoKICAgICB2b2lkIGNvbnN1bWVBc1N0cmVhbShGZXRjaEJvZHlP
d25lciYsIEZldGNoQm9keVNvdXJjZSYpOwogI2VuZGlmCiAKLSAgICBib29sIGlzQmxvYigpIGNv
bnN0IHsgcmV0dXJuIFdURjo6aG9sZHNfYWx0ZXJuYXRpdmU8UmVmPGNvbnN0IEJsb2I+PihtX2Rh
dGEpOyB9Ci0gICAgYm9vbCBpc0Zvcm1EYXRhKCkgY29uc3QgeyByZXR1cm4gV1RGOjpob2xkc19h
bHRlcm5hdGl2ZTxSZWY8Rm9ybURhdGE+PihtX2RhdGEpOyB9Ci0gICAgYm9vbCBpc0FycmF5QnVm
ZmVyKCkgY29uc3QgeyByZXR1cm4gV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxSZWY8Y29uc3QgQXJy
YXlCdWZmZXI+PihtX2RhdGEpOyB9Ci0gICAgYm9vbCBpc0FycmF5QnVmZmVyVmlldygpIGNvbnN0
IHsgcmV0dXJuIFdURjo6aG9sZHNfYWx0ZXJuYXRpdmU8UmVmPGNvbnN0IEFycmF5QnVmZmVyVmll
dz4+KG1fZGF0YSk7IH0KLSAgICBib29sIGlzVVJMU2VhcmNoUGFyYW1zKCkgY29uc3QgeyByZXR1
cm4gV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxSZWY8Y29uc3QgVVJMU2VhcmNoUGFyYW1zPj4obV9k
YXRhKTsgfQotICAgIGJvb2wgaXNUZXh0KCkgY29uc3QgeyByZXR1cm4gV1RGOjpob2xkc19hbHRl
cm5hdGl2ZTxTdHJpbmc+KG1fZGF0YSk7IH0KLSAgICBib29sIGhhc1JlYWRhYmxlU3RyZWFtKCkg
Y29uc3QgeyByZXR1cm4gISFtX3JlYWRhYmxlU3RyZWFtOyB9Ci0KICAgICB1c2luZyBJbml0ID0g
VmFyaWFudDxSZWZQdHI8QmxvYj4sIFJlZlB0cjxBcnJheUJ1ZmZlclZpZXc+LCBSZWZQdHI8QXJy
YXlCdWZmZXI+LCBSZWZQdHI8RE9NRm9ybURhdGE+LCBSZWZQdHI8VVJMU2VhcmNoUGFyYW1zPiwg
UmVmUHRyPFJlYWRhYmxlU3RyZWFtPiwgU3RyaW5nPjsKICAgICBzdGF0aWMgRmV0Y2hCb2R5IGV4
dHJhY3QoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIEluaXQmJiwgU3RyaW5nJik7CiAgICAgRmV0
Y2hCb2R5KCkgPSBkZWZhdWx0OwogCisgICAgc3RhdGljIHN0ZDo6b3B0aW9uYWw8RmV0Y2hCb2R5
PiBmcm9tRm9ybURhdGEoRm9ybURhdGEqKTsKKwogICAgIHZvaWQgbG9hZGluZ0ZhaWxlZCgpOwog
ICAgIHZvaWQgbG9hZGluZ1N1Y2NlZWRlZCgpOwogCkBAIC04MSw2ICs3NSw4IEBAIHB1YmxpYzoK
ICAgICB2b2lkIGNsZWFuQ29uc3VtZXIoKSB7IG1fY29uc3VtZXIuY2xlYW4oKTsgfQogCiAgICAg
RmV0Y2hCb2R5IGNsb25lKCk7CisKKyAgICBib29sIGhhc1JlYWRhYmxlU3RyZWFtKCkgY29uc3Qg
eyByZXR1cm4gISFtX3JlYWRhYmxlU3RyZWFtOyB9CiAgICAgY29uc3QgUmVhZGFibGVTdHJlYW0q
IHJlYWRhYmxlU3RyZWFtKCkgY29uc3QgeyByZXR1cm4gbV9yZWFkYWJsZVN0cmVhbS5nZXQoKTsg
fQogICAgIFJlYWRhYmxlU3RyZWFtKiByZWFkYWJsZVN0cmVhbSgpIHsgcmV0dXJuIG1fcmVhZGFi
bGVTdHJlYW0uZ2V0KCk7IH0KICAgICB2b2lkIHNldFJlYWRhYmxlU3RyZWFtKFJlZjxSZWFkYWJs
ZVN0cmVhbT4mJiBzdHJlYW0pCkBAIC0xMDYsNiArMTAyLDEzIEBAIHByaXZhdGU6CiAgICAgdm9p
ZCBjb25zdW1lVGV4dChSZWY8RGVmZXJyZWRQcm9taXNlPiYmLCBjb25zdCBTdHJpbmcmKTsKICAg
ICB2b2lkIGNvbnN1bWVCbG9iKEZldGNoQm9keU93bmVyJiwgUmVmPERlZmVycmVkUHJvbWlzZT4m
Jik7CiAKKyAgICBib29sIGlzQmxvYigpIGNvbnN0IHsgcmV0dXJuIFdURjo6aG9sZHNfYWx0ZXJu
YXRpdmU8UmVmPGNvbnN0IEJsb2I+PihtX2RhdGEpOyB9CisgICAgYm9vbCBpc0Zvcm1EYXRhKCkg
Y29uc3QgeyByZXR1cm4gV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxSZWY8Rm9ybURhdGE+PihtX2Rh
dGEpOyB9CisgICAgYm9vbCBpc0FycmF5QnVmZmVyKCkgY29uc3QgeyByZXR1cm4gV1RGOjpob2xk
c19hbHRlcm5hdGl2ZTxSZWY8Y29uc3QgQXJyYXlCdWZmZXI+PihtX2RhdGEpOyB9CisgICAgYm9v
bCBpc0FycmF5QnVmZmVyVmlldygpIGNvbnN0IHsgcmV0dXJuIFdURjo6aG9sZHNfYWx0ZXJuYXRp
dmU8UmVmPGNvbnN0IEFycmF5QnVmZmVyVmlldz4+KG1fZGF0YSk7IH0KKyAgICBib29sIGlzVVJM
U2VhcmNoUGFyYW1zKCkgY29uc3QgeyByZXR1cm4gV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxSZWY8
Y29uc3QgVVJMU2VhcmNoUGFyYW1zPj4obV9kYXRhKTsgfQorICAgIGJvb2wgaXNUZXh0KCkgY29u
c3QgeyByZXR1cm4gV1RGOjpob2xkc19hbHRlcm5hdGl2ZTxTdHJpbmc+KG1fZGF0YSk7IH0KKwog
ICAgIGNvbnN0IEJsb2ImIGJsb2JCb2R5KCkgY29uc3QgeyByZXR1cm4gV1RGOjpnZXQ8UmVmPGNv
bnN0IEJsb2I+PihtX2RhdGEpLmdldCgpOyB9CiAgICAgRm9ybURhdGEmIGZvcm1EYXRhQm9keSgp
IHsgcmV0dXJuIFdURjo6Z2V0PFJlZjxGb3JtRGF0YT4+KG1fZGF0YSkuZ2V0KCk7IH0KICAgICBj
b25zdCBGb3JtRGF0YSYgZm9ybURhdGFCb2R5KCkgY29uc3QgeyByZXR1cm4gV1RGOjpnZXQ8UmVm
PEZvcm1EYXRhPj4obV9kYXRhKS5nZXQoKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9mZXRjaC9GZXRjaEJvZHlDb25zdW1lci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9mZXRjaC9GZXRjaEJvZHlDb25zdW1lci5oCmluZGV4IDdhMzQwNTQ5YzFlMjcxMGNhNTk4MmYx
NDg4OGJkM2YzMmZiNWM0ZmMuLmI0NjdkYjY2ZWFhZmRlYTJkZmNiOWZmY2Y1ZGQ4ODNlYTcyMTI5
ZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hCb2R5Q29u
c3VtZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoQm9keUNvbnN1
bWVyLmgKQEAgLTQ4LDYgKzQ4LDggQEAgcHVibGljOgogICAgIHZvaWQgYXBwZW5kKGNvbnN0IGNo
YXIqIGRhdGEsIHVuc2lnbmVkKTsKICAgICB2b2lkIGFwcGVuZChjb25zdCB1bnNpZ25lZCBjaGFy
KiBkYXRhLCB1bnNpZ25lZCk7CiAKKyAgICBib29sIGhhc0RhdGEoKSBjb25zdCB7IHJldHVybiAh
IW1fYnVmZmVyOyB9CisgICAgY29uc3QgU2hhcmVkQnVmZmVyKiBkYXRhKCkgY29uc3QgeyByZXR1
cm4gbV9idWZmZXIuZ2V0KCk7IH0KICAgICB2b2lkIHNldERhdGEoUmVmPFNoYXJlZEJ1ZmZlcj4m
JiBkYXRhKSB7IG1fYnVmZmVyID0gV1RGTW92ZShkYXRhKTsgfQogCiAgICAgUmVmUHRyPFNoYXJl
ZEJ1ZmZlcj4gdGFrZURhdGEoKTsKQEAgLTY0LDggKzY2LDYgQEAgcHVibGljOgogICAgIHZvaWQg
cmVzb2x2ZShSZWY8RGVmZXJyZWRQcm9taXNlPiYmLCBSZWFkYWJsZVN0cmVhbSopOwogICAgIHZv
aWQgcmVzb2x2ZVdpdGhEYXRhKFJlZjxEZWZlcnJlZFByb21pc2U+JiYsIGNvbnN0IHVuc2lnbmVk
IGNoYXIqLCB1bnNpZ25lZCk7CiAKLSAgICBib29sIGhhc0RhdGEoKSBjb25zdCB7IHJldHVybiAh
IW1fYnVmZmVyOyB9Ci0KICAgICB2b2lkIGxvYWRpbmdGYWlsZWQoKTsKICAgICB2b2lkIGxvYWRp
bmdTdWNjZWVkZWQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRj
aC9GZXRjaFJlcXVlc3QuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hSZXF1
ZXN0LmgKaW5kZXggYTA0MjNjZWFmMDllZjVjYzNjODdlOGY4NWI4NjM1M2Y5ZjcyYjQwZi4uMDU2
ODUxNzVkODZiYmQ3ZjcwM2E3ZmE1NmY1MjFmYjk1MmE5ODdmNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaFJlcXVlc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2ZldGNoL0ZldGNoUmVxdWVzdC5oCkBAIC0xMDQsNiArMTA0LDcgQEAgaW5saW5l
IEZldGNoUmVxdWVzdDo6RmV0Y2hSZXF1ZXN0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRl
eHQsIHN0ZDo6b3B0aW9uYWwKICAgICAsIG1fb3B0aW9ucyhXVEZNb3ZlKG9wdGlvbnMpKQogICAg
ICwgbV9yZWZlcnJlcihXVEZNb3ZlKHJlZmVycmVyKSkKIHsKKyAgICB1cGRhdGVDb250ZW50VHlw
ZSgpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvRm9ybURhdGEuY3BwCmluZGV4IDcyNDQyM2VlYTVjYTVkZTc4N2U1OGVjMDQ5
MTA3M2UyZTFkMjIwNjcuLjNjOGVlMDhkMTU5MTkzZGEwZmM3MDVhMGFjZmQ4MzQyOGU1YjdjMmMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGEuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURhdGEuY3BwCkBAIC00
MjgsNCArNDI4LDEzIEBAIHVpbnQ2NF90IEZvcm1EYXRhOjpsZW5ndGhJbkJ5dGVzKCkgY29uc3QK
ICAgICByZXR1cm4gKm1fbGVuZ3RoSW5CeXRlczsKIH0KIAorUmVmUHRyPFNoYXJlZEJ1ZmZlcj4g
Rm9ybURhdGE6OmFzU2hhcmVkQnVmZmVyKCkgY29uc3QKK3sKKyAgICBmb3IgKGF1dG8mIGVsZW1l
bnQgOiBtX2VsZW1lbnRzKSB7CisgICAgICAgIGlmIChlbGVtZW50Lm1fdHlwZSAhPSBGb3JtRGF0
YUVsZW1lbnQ6OlR5cGU6OkRhdGEpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9
CisgICAgcmV0dXJuIFNoYXJlZEJ1ZmZlcjo6Y3JlYXRlKGZsYXR0ZW4oKSk7Cit9CisKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvRm9ybURhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvRm9ybURh
dGEuaAppbmRleCBmZTRmNThlMTg5ZTZlNzYzZWM3ZDQyYTI3M2FjMTQ3NGRmM2Y4ZjQ2Li42Zjlh
N2E3MmJmZjk4MjI2NTc5NjVkMzkwNmExNTMyZjBkZmE1OGY0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL0Zvcm1EYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9Gb3JtRGF0YS5oCkBAIC0zMSw2ICszMSw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIGNsYXNzIERPTUZvcm1EYXRhOwogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBGaWxl
OworY2xhc3MgU2hhcmVkQnVmZmVyOwogY2xhc3MgVGV4dEVuY29kaW5nOwogCiBjbGFzcyBGb3Jt
RGF0YUVsZW1lbnQgewpAQCAtMjM0LDYgKzIzNSw4IEBAIHB1YmxpYzoKICAgICBjb25zdCBWZWN0
b3I8Rm9ybURhdGFFbGVtZW50PiYgZWxlbWVudHMoKSBjb25zdCB7IHJldHVybiBtX2VsZW1lbnRz
OyB9CiAgICAgY29uc3QgVmVjdG9yPGNoYXI+JiBib3VuZGFyeSgpIGNvbnN0IHsgcmV0dXJuIG1f
Ym91bmRhcnk7IH0KIAorICAgIFJlZlB0cjxTaGFyZWRCdWZmZXI+IGFzU2hhcmVkQnVmZmVyKCkg
Y29uc3Q7CisKICAgICB2b2lkIGdlbmVyYXRlRmlsZXMoRG9jdW1lbnQqKTsKICAgICB2b2lkIHJl
bW92ZUdlbmVyYXRlZEZpbGVzSWZOZWVkZWQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlckZldGNoLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJGZXRjaC5jcHAK
aW5kZXggYjg1ZDY0YmJiMGIyNjhlNWIyODk1YzI5NTE2MjljZDVkZjU3ZWUwNC4uN2EyYjAzZmRk
NTYxNjBmMmU1YzhlNWQ1YzUxMjQ0ODIzMmJhZDYzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlckZldGNoLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyRmV0Y2gu
Y3BwCkBAIC05Myw5ICs5Myw5IEBAIFJlZjxGZXRjaEV2ZW50PiBkaXNwYXRjaEZldGNoRXZlbnQo
UmVmPENsaWVudD4mJiBjbGllbnQsIFdvcmtlckdsb2JhbFNjb3BlJiBnbG9iCiB7CiAgICAgQVNT
RVJUKGdsb2JhbFNjb3BlLmlzU2VydmljZVdvcmtlckdsb2JhbFNjb3BlKCkpOwogCi0gICAgLy8g
RklYTUU6IFNldCByZXF1ZXN0IGJvZHkgYW5kIHJlZmVycmVyLgorICAgIC8vIEZJWE1FOiBTZXQg
cmVxdWVzdCByZWZlcnJlci4KICAgICBhdXRvIHJlcXVlc3RIZWFkZXJzID0gRmV0Y2hIZWFkZXJz
OjpjcmVhdGUoRmV0Y2hIZWFkZXJzOjpHdWFyZDo6SW1tdXRhYmxlLCBIVFRQSGVhZGVyTWFwIHsg
cmVxdWVzdC5odHRwSGVhZGVyRmllbGRzKCkgfSk7Ci0gICAgYXV0byBmZXRjaFJlcXVlc3QgPSBG
ZXRjaFJlcXVlc3Q6OmNyZWF0ZShnbG9iYWxTY29wZSwgc3RkOjpudWxsb3B0LCBXVEZNb3ZlKHJl
cXVlc3RIZWFkZXJzKSwgIFdURk1vdmUocmVxdWVzdCksIFdURk1vdmUob3B0aW9ucyksIHsgfSk7
CisgICAgYXV0byBmZXRjaFJlcXVlc3QgPSBGZXRjaFJlcXVlc3Q6OmNyZWF0ZShnbG9iYWxTY29w
ZSwgRmV0Y2hCb2R5Ojpmcm9tRm9ybURhdGEocmVxdWVzdC5odHRwQm9keSgpKSwgV1RGTW92ZShy
ZXF1ZXN0SGVhZGVycyksICBXVEZNb3ZlKHJlcXVlc3QpLCBXVEZNb3ZlKG9wdGlvbnMpLCB7IH0p
OwogCiAgICAgLy8gRklYTUU6IEluaXRpYWxpemUgb3RoZXIgRmV0Y2hFdmVudDo6SW5pdCBmaWVs
ZHMuCiAgICAgRmV0Y2hFdmVudDo6SW5pdCBpbml0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9QbGF0Zm9ybS9JUEMvRm9ybURhdGFSZWZlcmVuY2UuaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZv
cm0vSVBDL0Zvcm1EYXRhUmVmZXJlbmNlLmgKaW5kZXggY2Q5ZGE2YTdkNDM5MzUwMDllNmUyNTky
YWJkMGU0Zjk0MzQxODdlYi4uYTZkMmVhODY3NzBiNDcyYWNiMzY2OWRkMjg4NmJiZjFkODQ0Y2Vl
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvRm9ybURhdGFSZWZlcmVu
Y2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9Gb3JtRGF0YVJlZmVyZW5jZS5o
CkBAIC0yOCwyNyArMjgsNDAgQEAKICNpbmNsdWRlICJEZWNvZGVyLmgiCiAjaW5jbHVkZSAiRW5j
b2Rlci5oIgogI2luY2x1ZGUgPFdlYkNvcmUvRm9ybURhdGEuaD4KLSNpbmNsdWRlIDx3dGYvVmVj
dG9yLmg+CiAKIG5hbWVzcGFjZSBJUEMgewogCisvLyBGSVhNRTogSW4gY2FzZSBvZiBmaWxlIGJh
c2VkIGZvcm0gZGF0YSwgd2Ugc2hvdWxkIHBhc3Mgc2FuZGJveCBleHRlbnNpb25zIGFzIHdlbGwu
CiBjbGFzcyBGb3JtRGF0YVJlZmVyZW5jZSB7CiBwdWJsaWM6CiAgICAgRm9ybURhdGFSZWZlcmVu
Y2UoKSA9IGRlZmF1bHQ7Ci0KLSAgICBleHBsaWNpdCBGb3JtRGF0YVJlZmVyZW5jZShSZWY8V2Vi
Q29yZTo6Rm9ybURhdGE+JiYgZGF0YSkKKyAgICBleHBsaWNpdCBGb3JtRGF0YVJlZmVyZW5jZShS
ZWZQdHI8V2ViQ29yZTo6Rm9ybURhdGE+JiYgZGF0YSkKICAgICAgICAgOiBtX2RhdGEoV1RGTW92
ZShkYXRhKSkKICAgICB7CiAgICAgfQogCi0gICAgUmVmPFdlYkNvcmU6OkZvcm1EYXRhPiB0YWtl
RGF0YSgpIHsgcmV0dXJuIG1fZGF0YS5yZWxlYXNlTm9uTnVsbCgpOyB9CisgICAgUmVmUHRyPFdl
YkNvcmU6OkZvcm1EYXRhPiB0YWtlRGF0YSgpIHsgcmV0dXJuIFdURk1vdmUobV9kYXRhKTsgfQor
CisgICAgdm9pZCBlbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKKyAgICB7CisgICAgICAg
IGVuY29kZXIgPDwgISFtX2RhdGE7CisgICAgICAgIGlmIChtX2RhdGEpCisgICAgICAgICAgICBl
bmNvZGVyIDw8ICptX2RhdGE7CisgICAgfQogCi0gICAgdm9pZCBlbmNvZGUoRW5jb2RlciYgZW5j
b2RlcikgY29uc3QgeyBlbmNvZGVyIDw8ICptX2RhdGE7IH0KICAgICBzdGF0aWMgc3RkOjpvcHRp
b25hbDxGb3JtRGF0YVJlZmVyZW5jZT4gZGVjb2RlKERlY29kZXImIGRlY29kZXIpCiAgICAgewor
ICAgICAgICBzdGQ6Om9wdGlvbmFsPGJvb2w+IGhhc0Zvcm1EYXRhOworICAgICAgICBkZWNvZGVy
ID4+IGhhc0Zvcm1EYXRhOworICAgICAgICBpZiAoIWhhc0Zvcm1EYXRhKQorICAgICAgICAgICAg
cmV0dXJuIHN0ZDo6bnVsbG9wdDsKKyAgICAgICAgaWYgKCFoYXNGb3JtRGF0YS52YWx1ZSgpKQor
ICAgICAgICAgICAgcmV0dXJuIEZvcm1EYXRhUmVmZXJlbmNlIHsgfTsKKwogICAgICAgICBhdXRv
IGZvcm1EYXRhID0gV2ViQ29yZTo6Rm9ybURhdGE6OmRlY29kZShkZWNvZGVyKTsKICAgICAgICAg
aWYgKCFmb3JtRGF0YSkKICAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKICAgICAg
ICAgcmV0dXJuIEZvcm1EYXRhUmVmZXJlbmNlIHsgZm9ybURhdGEucmVsZWFzZU5vbk51bGwoKSB9
OwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2
aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1N0b3Jh
Z2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcAppbmRleCBi
N2E5MDI5MjBhMzEyMWY5YjFkZDgyN2I1M2JlOTczOThhYzgyMzVlLi5jMWYxNTRlMzVlMDBiM2Vm
OTRjYTIyMzZhOTVlOTVjZjA5Y2JlMDZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1N0b3Jh
Z2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25u
ZWN0aW9uLmNwcApAQCAtMTA3LDkgKzEwNyw5IEBAIHZvaWQgV2ViU1dTZXJ2ZXJDb25uZWN0aW9u
Ojp1cGRhdGVXb3JrZXJTdGF0ZUluQ2xpZW50KFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIHdvCiAg
ICAgc2VuZChNZXNzYWdlczo6V2ViU1dDbGllbnRDb25uZWN0aW9uOjpVcGRhdGVXb3JrZXJTdGF0
ZSh3b3JrZXIsIHN0YXRlKSk7CiB9CiAKLXZvaWQgV2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpzdGFy
dEZldGNoKHVpbnQ2NF90IGZldGNoSWRlbnRpZmllciwgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29y
a2VySWRlbnRpZmllcj4gc2VydmljZVdvcmtlcklkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVx
dWVzdCYgcmVxdWVzdCwgY29uc3QgRmV0Y2hPcHRpb25zJiBvcHRpb25zKQordm9pZCBXZWJTV1Nl
cnZlckNvbm5lY3Rpb246OnN0YXJ0RmV0Y2godWludDY0X3QgZmV0Y2hJZGVudGlmaWVyLCBzdGQ6
Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyPiBzZXJ2aWNlV29ya2VySWRlbnRpZmll
ciwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBGZXRjaE9wdGlvbnMmIG9w
dGlvbnMsIGNvbnN0IElQQzo6Rm9ybURhdGFSZWZlcmVuY2UmIGZvcm1EYXRhKQogewotICAgIHNl
bmRUb0NvbnRleHRQcm9jZXNzKE1lc3NhZ2VzOjpXZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlv
bjo6U3RhcnRGZXRjaChpZGVudGlmaWVyKCksIGZldGNoSWRlbnRpZmllciwgc2VydmljZVdvcmtl
cklkZW50aWZpZXIsIHJlcXVlc3QsIG9wdGlvbnMpKTsKKyAgICBzZW5kVG9Db250ZXh0UHJvY2Vz
cyhNZXNzYWdlczo6V2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246OlN0YXJ0RmV0Y2ggeyBp
ZGVudGlmaWVyKCksIGZldGNoSWRlbnRpZmllciwgc2VydmljZVdvcmtlcklkZW50aWZpZXIsIHJl
cXVlc3QsIG9wdGlvbnMsIGZvcm1EYXRhIH0pOwogfQogCiB2b2lkIFdlYlNXU2VydmVyQ29ubmVj
dGlvbjo6cG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZShTZXJ2aWNlV29ya2Vy
SWRlbnRpZmllciBkZXN0aW5hdGlvblNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBjb25zdCBJUEM6
OkRhdGFSZWZlcmVuY2UmIG1lc3NhZ2UsIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhJiYgc291cmNl
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2Vy
L1dlYlNXU2VydmVyQ29ubmVjdGlvbi5oIGIvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9T
ZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5oCmluZGV4IDJmZGVmM2NmYWUzNDMy
YTlhZDliMDAyMDMyNzkxODg0Njc2NzRjZjguLjNmMTMyNzJjZjYyMDU1MmRjNmVjZDdhNWFlY2Zi
NzVjODliMDQ2ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU2Vy
dmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1N0
b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmgKQEAgLTc0
LDcgKzc0LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHVwZGF0ZVdvcmtlclN0YXRlSW5DbGllbnQo
V2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50aWZpZXIsIFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJT
dGF0ZSkgZmluYWw7CiAgICAgdm9pZCBmaXJlVXBkYXRlRm91bmRFdmVudChXZWJDb3JlOjpTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcikgZmluYWw7CiAKLSAgICB2b2lkIHN0YXJ0
RmV0Y2godWludDY0X3QgZmV0Y2hJZGVudGlmaWVyLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNl
cnZpY2VXb3JrZXJJZGVudGlmaWVyPiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0Jiwg
Y29uc3QgV2ViQ29yZTo6RmV0Y2hPcHRpb25zJik7CisgICAgdm9pZCBzdGFydEZldGNoKHVpbnQ2
NF90IGZldGNoSWRlbnRpZmllciwgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpTZXJ2aWNlV29ya2Vy
SWRlbnRpZmllcj4sIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFdlYkNv
cmU6OkZldGNoT3B0aW9ucyYsIGNvbnN0IElQQzo6Rm9ybURhdGFSZWZlcmVuY2UmKTsKIAogICAg
IHZvaWQgcG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZShXZWJDb3JlOjpTZXJ2
aWNlV29ya2VySWRlbnRpZmllciBkZXN0aW5hdGlvbklkZW50aWZpZXIsIGNvbnN0IElQQzo6RGF0
YVJlZmVyZW5jZSYgbWVzc2FnZSwgV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudERhdGEmJiBz
b3VyY2UpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZp
Y2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktp
dC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5tZXNz
YWdlcy5pbgppbmRleCAwYThhNDhlZTUwYmNiMmM5YjJmYTI1Y2YxZTU2NmFiM2EwZWYxMTNiLi42
Mjg5OTZkZjc3YmI3ZTYyYzNhZTk0MDYzYWM4YjEzZDQxYWJiMTQ4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0
aW9uLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU2Vydmlj
ZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW4KQEAgLTI5LDcgKzI5LDcg
QEAgbWVzc2FnZXMgLT4gV2ViU1dTZXJ2ZXJDb25uZWN0aW9uIHsKICAgICBBZGRTZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uSW5TZXJ2ZXIoV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
bktleSBrZXksIFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyIGlk
ZW50aWZpZXIpCiAgICAgUmVtb3ZlU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkluU2VydmVyKFdl
YkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkga2V5LCBXZWJDb3JlOjpTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciBpZGVudGlmaWVyKQogCi0gICAgU3RhcnRGZXRj
aCh1aW50NjRfdCBpZGVudGlmaWVyLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNlcnZpY2VXb3Jr
ZXJJZGVudGlmaWVyPiBzZXJ2aWNlV29ya2VySWRlbnRpZmllciwgV2ViQ29yZTo6UmVzb3VyY2VS
ZXF1ZXN0IHJlcXVlc3QsIHN0cnVjdCBXZWJDb3JlOjpGZXRjaE9wdGlvbnMgb3B0aW9ucykKKyAg
ICBTdGFydEZldGNoKHVpbnQ2NF90IGlkZW50aWZpZXIsIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6
U2VydmljZVdvcmtlcklkZW50aWZpZXI+IHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBXZWJDb3Jl
OjpSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdCwgc3RydWN0IFdlYkNvcmU6OkZldGNoT3B0aW9ucyBv
cHRpb25zLCBJUEM6OkZvcm1EYXRhUmVmZXJlbmNlIHJlcXVlc3RCb2R5KQogICAgIFBvc3RNZXNz
YWdlVG9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUoV2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50
aWZpZXIgZGVzdGluYXRpb25TZXJ2aWNlV29ya2VySWRlbnRpZmllciwgSVBDOjpEYXRhUmVmZXJl
bmNlIG1lc3NhZ2UsIHN0cnVjdCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSBzb3Vy
Y2UpCiAKICAgICBEaWRSZXNvbHZlUmVnaXN0cmF0aW9uUHJvbWlzZShXZWJDb3JlOjpTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uS2V5IGtleSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uY3BwCmluZGV4IDQzYzU3
NjliZjY0MGFjMzAwOWM5NTU5YTM3NGU5MjkzMGNiNmMzNTEuLjA0NWUxNDFjNmFhMjEyYWNlNjVl
Y2NiZDcxZTQ5OWNmNDYyYTdkYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmNwcApAQCAtMjksNiArMjks
NyBAQAogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKIAogI2luY2x1ZGUgIkRhdGFSZWZlcmVu
Y2UuaCIKKyNpbmNsdWRlICJGb3JtRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIkxvZ2dpbmcu
aCIKICNpbmNsdWRlICJTZXJ2aWNlV29ya2VyQ2xpZW50RmV0Y2guaCIKICNpbmNsdWRlICJTdG9y
YWdlVG9XZWJQcm9jZXNzQ29ubmVjdGlvbk1lc3NhZ2VzLmgiCkBAIC0xNDksNyArMTUwLDcgQEAg
UmVmPFNlcnZpY2VXb3JrZXJDbGllbnRGZXRjaD4gV2ViU1dDbGllbnRDb25uZWN0aW9uOjpzdGFy
dEZldGNoKFdlYlNlcnZpY2VXb3JrZXIKIHsKICAgICBBU1NFUlQobG9hZGVyLT5vcHRpb25zKCku
c2VydmljZVdvcmtlcnNNb2RlICE9IFNlcnZpY2VXb3JrZXJzTW9kZTo6Tm9uZSAmJiBsb2FkZXIt
Pm9wdGlvbnMoKS5zZXJ2aWNlV29ya2VySWRlbnRpZmllcik7CiAKLSAgICBzZW5kKE1lc3NhZ2Vz
OjpXZWJTV1NlcnZlckNvbm5lY3Rpb246OlN0YXJ0RmV0Y2goaWRlbnRpZmllciwgbG9hZGVyLT5v
cHRpb25zKCkuc2VydmljZVdvcmtlcklkZW50aWZpZXIsIGxvYWRlci0+b3JpZ2luYWxSZXF1ZXN0
KCksIGxvYWRlci0+b3B0aW9ucygpKSk7CisgICAgc2VuZChNZXNzYWdlczo6V2ViU1dTZXJ2ZXJD
b25uZWN0aW9uOjpTdGFydEZldGNoIHsgaWRlbnRpZmllciwgbG9hZGVyLT5vcHRpb25zKCkuc2Vy
dmljZVdvcmtlcklkZW50aWZpZXIsIGxvYWRlci0+b3JpZ2luYWxSZXF1ZXN0KCksIGxvYWRlci0+
b3B0aW9ucygpLCBJUEM6OkZvcm1EYXRhUmVmZXJlbmNlIHsgbG9hZGVyLT5vcmlnaW5hbFJlcXVl
c3QoKS5odHRwQm9keSgpIH0gfSk7CiAgICAgcmV0dXJuIFNlcnZpY2VXb3JrZXJDbGllbnRGZXRj
aDo6Y3JlYXRlKHByb3ZpZGVyLCBXVEZNb3ZlKGxvYWRlciksIGlkZW50aWZpZXIsIG1fY29ubmVj
dGlvbi5nZXQoKSwgV1RGTW92ZShjYWxsYmFjaykpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRleHRNYW5hZ2Vy
Q29ubmVjdGlvbi5jcHAKaW5kZXggY2RkOTVkODA0NmRmNzAxYTE3MGE3ZjBmMWM0YTcwYjE3NzUw
MjFmYi4uMGE5NzM3NGI2Y2ViNjI4YTU4YzY5OTRiYjNmZTlmYTdmNDM0NDFkOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNv
bm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNX
Q29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcApAQCAtMjksNiArMjksNyBAQAogI2lmIEVOQUJM
RShTRVJWSUNFX1dPUktFUikKIAogI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKKyNpbmNsdWRl
ICJGb3JtRGF0YVJlZmVyZW5jZS5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJT
dG9yYWdlUHJvY2Vzc01lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViQ2FjaGVTdG9yYWdlUHJvdmlk
ZXIuaCIKQEAgLTEzMSw3ICsxMzIsNyBAQCB2b2lkIFdlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0
aW9uOjpzZXJ2aWNlV29ya2VyU3RhcnRlZFdpdGhNZXNzYWdlKFNlcnZpY2VXb3JrZQogICAgICAg
ICBtX2Nvbm5lY3Rpb25Ub1N0b3JhZ2VQcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJTV1NlcnZl
clRvQ29udGV4dENvbm5lY3Rpb246OlNjcmlwdENvbnRleHRGYWlsZWRUb1N0YXJ0KHNlcnZpY2VX
b3JrZXJJZGVudGlmaWVyLCBleGNlcHRpb25NZXNzYWdlKSwgMCk7CiB9CiAKLXZvaWQgV2ViU1dD
b250ZXh0TWFuYWdlckNvbm5lY3Rpb246OnN0YXJ0RmV0Y2godWludDY0X3Qgc2VydmVyQ29ubmVj
dGlvbklkZW50aWZpZXIsIHVpbnQ2NF90IGZldGNoSWRlbnRpZmllciwgc3RkOjpvcHRpb25hbDxT
ZXJ2aWNlV29ya2VySWRlbnRpZmllcj4gc2VydmljZVdvcmtlcklkZW50aWZpZXIsIFJlc291cmNl
UmVxdWVzdCYmIHJlcXVlc3QsIEZldGNoT3B0aW9ucyYmIG9wdGlvbnMpCit2b2lkIFdlYlNXQ29u
dGV4dE1hbmFnZXJDb25uZWN0aW9uOjpzdGFydEZldGNoKHVpbnQ2NF90IHNlcnZlckNvbm5lY3Rp
b25JZGVudGlmaWVyLCB1aW50NjRfdCBmZXRjaElkZW50aWZpZXIsIHN0ZDo6b3B0aW9uYWw8U2Vy
dmljZVdvcmtlcklkZW50aWZpZXI+IHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBSZXNvdXJjZVJl
cXVlc3QmJiByZXF1ZXN0LCBGZXRjaE9wdGlvbnMmJiBvcHRpb25zLCBJUEM6OkZvcm1EYXRhUmVm
ZXJlbmNlJiYgZm9ybURhdGEpCiB7CiAgICAgYXV0byogc2VydmljZVdvcmtlclRocmVhZFByb3h5
ID0gc2VydmljZVdvcmtlcklkZW50aWZpZXIgPyBTV0NvbnRleHRNYW5hZ2VyOjpzaW5nbGV0b24o
KS5zZXJ2aWNlV29ya2VyVGhyZWFkUHJveHkoKnNlcnZpY2VXb3JrZXJJZGVudGlmaWVyKSA6IG51
bGxwdHI7CiAgICAgaWYgKCFzZXJ2aWNlV29ya2VyVGhyZWFkUHJveHkpIHsKQEAgLTE0MCw2ICsx
NDEsOCBAQCB2b2lkIFdlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjpzdGFydEZldGNoKHVp
bnQ2NF90IHNlcnZlckNvbm5lY3Rpb25JZGVudGlmaQogICAgIH0KIAogICAgIGF1dG8gY2xpZW50
ID0gV2ViU2VydmljZVdvcmtlckZldGNoVGFza0NsaWVudDo6Y3JlYXRlKG1fY29ubmVjdGlvblRv
U3RvcmFnZVByb2Nlc3MuY29weVJlZigpLCBzZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllciwgZmV0
Y2hJZGVudGlmaWVyKTsKKworICAgIHJlcXVlc3Quc2V0SFRUUEJvZHkoZm9ybURhdGEudGFrZURh
dGEoKSk7CiAgICAgc2VydmljZVdvcmtlclRocmVhZFByb3h5LT50aHJlYWQoKS5wb3N0RmV0Y2hU
YXNrKFdURk1vdmUoY2xpZW50KSwgV1RGTW92ZShyZXF1ZXN0KSwgV1RGTW92ZShvcHRpb25zKSk7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNX
Q29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3Rv
cmFnZS9XZWJTV0NvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5oCmluZGV4IDhlNGQ1NmJlNzU0ODgw
MTE1NDliYjU3YThiNDJmZGYyMmQzMWJiMGIuLmI5YjE4MGFjMTcwNDhmMjQ3MTJkZjA4ZTA4NzJm
NTFhZWI1NmZiMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdl
L1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1N0b3JhZ2UvV2ViU1dDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uaApAQCAtMzEsNiAr
MzEsMTAgQEAKICNpbmNsdWRlICJNZXNzYWdlUmVjZWl2ZXIuaCIKICNpbmNsdWRlIDxXZWJDb3Jl
L1NXQ29udGV4dE1hbmFnZXIuaD4KIAorbmFtZXNwYWNlIElQQyB7CitjbGFzcyBGb3JtRGF0YVJl
ZmVyZW5jZTsKK30KKwogbmFtZXNwYWNlIFdlYkNvcmUgewogc3RydWN0IEZldGNoT3B0aW9uczsK
IGNsYXNzIFJlc291cmNlUmVxdWVzdDsKQEAgLTU5LDcgKzYzLDcgQEAgcHJpdmF0ZToKICAgICAv
LyBJUEMgbWVzc2FnZXMuCiAgICAgdm9pZCBzZXJ2aWNlV29ya2VyU3RhcnRlZFdpdGhNZXNzYWdl
KFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGV4Y2VwdGlv
bk1lc3NhZ2UpIGZpbmFsOwogICAgIHZvaWQgaW5zdGFsbFNlcnZpY2VXb3JrZXIoY29uc3QgV2Vi
Q29yZTo6U2VydmljZVdvcmtlckNvbnRleHREYXRhJik7Ci0gICAgdm9pZCBzdGFydEZldGNoKHVp
bnQ2NF90IHNlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyLCB1aW50NjRfdCBmZXRjaElkZW50aWZp
ZXIsIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50aWZpZXI+LCBXZWJD
b3JlOjpSZXNvdXJjZVJlcXVlc3QmJiwgV2ViQ29yZTo6RmV0Y2hPcHRpb25zJiYpOworICAgIHZv
aWQgc3RhcnRGZXRjaCh1aW50NjRfdCBzZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllciwgdWludDY0
X3QgZmV0Y2hJZGVudGlmaWVyLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJ
ZGVudGlmaWVyPiwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYsIFdlYkNvcmU6OkZldGNoT3B0
aW9ucyYmLCBJUEM6OkZvcm1EYXRhUmVmZXJlbmNlJiYpOwogICAgIHZvaWQgcG9zdE1lc3NhZ2VU
b1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZShXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmll
ciBkZXN0aW5hdGlvbklkZW50aWZpZXIsIGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgbWVzc2Fn
ZSwgV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudERhdGEmJiBzb3VyY2UpOwogICAgIHZvaWQg
ZmlyZUluc3RhbGxFdmVudChXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllcik7CiAgICAg
dm9pZCBmaXJlQWN0aXZhdGVFdmVudChXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllcik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NvbnRl
eHRNYW5hZ2VyQ29ubmVjdGlvbi5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLm1lc3NhZ2VzLmluCmluZGV4
IDczMzFhOGRlZDgwYWMwYjFhNTAzY2M4ZWMzNDlmMGJiNWJlNzk0NDguLjcxMWYxOWJlMTQ1YTU2
MmM3ZTVmN2ZkZDMyMTY1Yjg5ZGM4ZGE1OGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLm1lc3NhZ2VzLmlu
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ29udGV4dE1hbmFn
ZXJDb25uZWN0aW9uLm1lc3NhZ2VzLmluCkBAIC0yNCw3ICsyNCw3IEBACiAKIG1lc3NhZ2VzIC0+
IFdlYlNXQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uIHsKICAgICBJbnN0YWxsU2VydmljZVdvcmtl
cihzdHJ1Y3QgV2ViQ29yZTo6U2VydmljZVdvcmtlckNvbnRleHREYXRhIGNvbnRleHREYXRhKQot
ICAgIFN0YXJ0RmV0Y2godWludDY0X3Qgc2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIsIHVpbnQ2
NF90IGZldGNoSWRlbnRpZmllciwgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpTZXJ2aWNlV29ya2Vy
SWRlbnRpZmllcj4gc2VydmljZVdvcmtlcklkZW50aWZpZXIsIFdlYkNvcmU6OlJlc291cmNlUmVx
dWVzdCByZXF1ZXN0LCBzdHJ1Y3QgV2ViQ29yZTo6RmV0Y2hPcHRpb25zIG9wdGlvbnMpCisgICAg
U3RhcnRGZXRjaCh1aW50NjRfdCBzZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllciwgdWludDY0X3Qg
ZmV0Y2hJZGVudGlmaWVyLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVu
dGlmaWVyPiBzZXJ2aWNlV29ya2VySWRlbnRpZmllciwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0
IHJlcXVlc3QsIHN0cnVjdCBXZWJDb3JlOjpGZXRjaE9wdGlvbnMgb3B0aW9ucywgSVBDOjpGb3Jt
RGF0YVJlZmVyZW5jZSByZXF1ZXN0Qm9keSkKICAgICBQb3N0TWVzc2FnZVRvU2VydmljZVdvcmtl
ckdsb2JhbFNjb3BlKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIGRlc3RpbmF0aW9u
SWRlbnRpZmllciwgSVBDOjpEYXRhUmVmZXJlbmNlIG1lc3NhZ2UsIHN0cnVjdCBXZWJDb3JlOjpT
ZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSBzb3VyY2UpCiAgICAgRmlyZUluc3RhbGxFdmVudChXZWJD
b3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllciBpZGVudGlmaWVyKQogICAgIEZpcmVBY3RpdmF0
ZUV2ZW50KFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIGlkZW50aWZpZXIpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTZXJ2aWNlV29ya2Vy
UHJvdmlkZXIuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2Vydmlj
ZVdvcmtlclByb3ZpZGVyLmNwcAppbmRleCAzNzgyZGE2YzlkZmY5N2FlNjc1MThhZTdkYzYzNTNj
ZWQ4MjUxNzQxLi45OTk2N2Q3YjE4ZjkxMTdjZDU1MzJjODZlMGI2MzFmNzI2ODFhM2EzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTZXJ2aWNlV29ya2Vy
UHJvdmlkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNl
cnZpY2VXb3JrZXJQcm92aWRlci5jcHAKQEAgLTcyLDcgKzcyLDcgQEAgc3RhdGljIGlubGluZSBi
b29sIHNob3VsZEhhbmRsZUZldGNoKGNvbnN0IFJlc291cmNlTG9hZGVyT3B0aW9ucyYgb3B0aW9u
cykKIAogdm9pZCBXZWJTZXJ2aWNlV29ya2VyUHJvdmlkZXI6OmhhbmRsZUZldGNoKFJlc291cmNl
TG9hZGVyJiBsb2FkZXIsIENhY2hlZFJlc291cmNlKiByZXNvdXJjZSwgUEFMOjpTZXNzaW9uSUQg
c2Vzc2lvbklELCBTZXJ2aWNlV29ya2VyQ2xpZW50RmV0Y2g6OkNhbGxiYWNrJiYgY2FsbGJhY2sp
CiB7Ci0gICAgaWYgKCFzaG91bGRIYW5kbGVGZXRjaChsb2FkZXIub3B0aW9ucygpKSkgeworICAg
IGlmICghbG9hZGVyLnJlcXVlc3QoKS51cmwoKS5wcm90b2NvbElzSW5IVFRQRmFtaWx5KCkgfHwg
IXNob3VsZEhhbmRsZUZldGNoKGxvYWRlci5vcHRpb25zKCkpKSB7CiAgICAgICAgIGNhbGxiYWNr
KFNlcnZpY2VXb3JrZXJDbGllbnRGZXRjaDo6UmVzdWx0OjpVbmhhbmRsZWQpOwogICAgICAgICBy
ZXR1cm47CiAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDU5MjcwNjlmZjFjNGJkMjlhYjJkYWM5NTcyMDg3OTViZjA2
MDk3M2EuLjAxYmRkZWU4M2VmMGQwNGVhNTY0NzE3ZjRmMWUzNjgyOTJlN2JjYWIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNiBAQAorMjAxNy0xMS0xNiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5j
b20+CisKKyAgICAgICAgU2VydmljZSBXb3JrZXIgc2hvdWxkIGdldCB0aGUgYm9keSBvZiBpbnRl
cmNlcHRlZCByZXF1ZXN0cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTc5Nzc2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBodHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9yZXNvdXJjZXMvc2VydmljZS13
b3JrZXItZmV0Y2guanM6CisgICAgICAgICogaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2Uvc2Vy
dmljZS13b3JrZXItZmV0Y2guaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVz
dHMvd29ya2Vycy9zZXJ2aWNlL3Jlc291cmNlcy9zZXJ2aWNlLXdvcmtlci1yZXF1ZXN0LXdpdGgt
Ym9keS13b3JrZXIuanM6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvd29ya2Vycy9zZXJ2
aWNlL3NlcnZpY2Utd29ya2VyLXJlcXVlc3Qtd2l0aC1ib2R5Lmh0dHBzLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2Uvc2VydmljZS13b3Jr
ZXItcmVxdWVzdC13aXRoLWJvZHkuaHR0cHMuaHRtbDogQWRkZWQuCisKIDIwMTctMTEtMTUgIFlv
dWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFNlcnZpY2UgV29ya2Vy
IGZldGNoIHNob3VsZCBoYW5kbGUgZW1wdHkgcmVzcG9uc2VzCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0No
YW5nZUxvZwppbmRleCBlY2IzZjM0OGY1OGI3YThhNDQ0NDBkYTFkMzc0OGM0MGZhOTE5YzA2Li44
ZjVjMDg2YzUxY2Y2OWM2YjllODA1ZDYxMjUwOGU2ZTBmZDYyNjQ5IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxNy0xMS0xNiAgWW91ZW5uIEZhYmxl
dCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgU2VydmljZSBXb3JrZXIgc2hvdWxkIGdl
dCB0aGUgYm9keSBvZiBpbnRlcmNlcHRlZCByZXF1ZXN0cworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc5Nzc2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ZldGNoL2FwaS9yZXF1ZXN0L3JlcXVlc3QtY29uc3VtZS1lbXB0eS1leHBlY3RlZC50eHQ6
CisgICAgICAgICogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvcmVx
dWVzdC9yZXF1ZXN0LWluaXQtMDAyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9yZXNwb25zZS9yZXNwb25zZS1jb25zdW1l
LWVtcHR5LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ZldGNoL2FwaS9yZXNwb25zZS9yZXNwb25zZS1jb25zdW1lLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9yZXNw
b25zZS9yZXNwb25zZS1pbml0LTAwMi1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1ldmVudC5odHRw
cy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9mZXRjaC1yZXF1ZXN0LXhoci5odHRwcy1leHBlY3RlZC50eHQ6
CisKIDIwMTctMTEtMTUgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAg
ICAgIFNvbWUgc2VydmljZSB3b3JrZXIgdGVzdHMgYXJlIGZsYWt5IGR1ZSB0byBjb25zb2xlIGxv
ZyBtZXNzYWdlcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3Nl
cnZpY2UvcmVzb3VyY2VzL3NlcnZpY2Utd29ya2VyLWZldGNoLmpzIGIvTGF5b3V0VGVzdHMvaHR0
cC90ZXN0cy93b3JrZXJzL3NlcnZpY2UvcmVzb3VyY2VzL3NlcnZpY2Utd29ya2VyLWZldGNoLmpz
CmluZGV4IGFjZWM0Y2IyOTNjMzhjMjM0YzZiZjE3YmI0ZmEyZTRiYjNmM2RjMmYuLmIzZWI3MDE4
M2I1MmI3YzE1MjZjMTkzOWE1M2EwMTk4NzgyN2ZiOGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL3Jlc291cmNlcy9zZXJ2aWNlLXdvcmtlci1mZXRj
aC5qcworKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9yZXNvdXJj
ZXMvc2VydmljZS13b3JrZXItZmV0Y2guanMKQEAgLTEyLDkgKzEyLDE3IEBAIGFzeW5jIGZ1bmN0
aW9uIHRlc3QoKQogICAgICAgICBsb2coIkdvdCBpbWFnZSByZXNwb25zZSB3aXRoIGJ1ZmZlciBi
eXRlIGxlbmd0aCBiZWluZyAiICsgYnVmZmVyLmJ5dGVMZW5ndGgpOwogCiAgICAgICAgIHJlc3Bv
bnNlID0gYXdhaXQgZmV0Y2goIi9yZXNvdXJjZXMvc3F1YXJlMTAwLnBuZy5ib2R5YXNhbmVtcHR5
c3RyZWFtIik7Ci0gICAgICAgIHZhciBidWZmZXIgPSAgYXdhaXQgcmVzcG9uc2UuYXJyYXlCdWZm
ZXIoKTsKKyAgICAgICAgYnVmZmVyID0gIGF3YWl0IHJlc3BvbnNlLmFycmF5QnVmZmVyKCk7CiAg
ICAgICAgIGxvZygiR290IHNob3VsZC1iZS1lbXB0eSByZXNwb25zZSB3aXRoIGJ1ZmZlciBieXRl
IGxlbmd0aCBiZWluZyAiICsgYnVmZmVyLmJ5dGVMZW5ndGggKyAiIGFuZCBzdGF0dXMgaXMgIiAr
IHJlc3BvbnNlLnN0YXR1c1RleHQpOwogCisgICAgICAgIHJlc3BvbnNlID0gYXdhaXQgZmV0Y2go
ImRhdGE6dGV4dC9wbGFpbjtiYXNlNjQsY21WemNHOXVjMlVuY3lCaWIyUjUiKTsKKyAgICAgICAg
dmFyIHRleHQgID0gIGF3YWl0IHJlc3BvbnNlLnRleHQoKTsKKyAgICAgICAgbG9nKCJHb3QgZGF0
YSBVUkwgcmVzcG9uc2Ugd2l0aCBkYXRhPVwiIiArIHRleHQgKyAiXCIgYW5kIHN0YXR1cyBpcyAi
ICsgcmVzcG9uc2Uuc3RhdHVzVGV4dCk7CisKKyAgICAgICAgcmVzcG9uc2UgPSBhd2FpdCBmZXRj
aCh3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChuZXcgQmxvYihbIlBBU1MiXSkpKTsKKyAgICAg
ICAgdGV4dCA9ICBhd2FpdCByZXNwb25zZS50ZXh0KCk7CisgICAgICAgIGxvZygiR290IGJsb2Ig
cmVzcG9uc2Ugd2l0aCBkYXRhPVwiIiArIHRleHQgKyAiXCIgYW5kIHN0YXR1cyBpcyAiICsgcmVz
cG9uc2Uuc3RhdHVzVGV4dCk7CisKICAgICAgICAgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCgic3Rh
dHVzIik7CiAgICAgICAgIGxvZygiU3RhdHVzIGlzICIgKyByZXNwb25zZS5zdGF0dXNUZXh0KTsK
ICAgICB9IGNhdGNoKGUpIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29y
a2Vycy9zZXJ2aWNlL3Jlc291cmNlcy9zZXJ2aWNlLXdvcmtlci1yZXF1ZXN0LXdpdGgtYm9keS13
b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9yZXNvdXJj
ZXMvc2VydmljZS13b3JrZXItcmVxdWVzdC13aXRoLWJvZHktd29ya2VyLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjY3YjY3MDFiYjBjNmI5NmQyNWJiZTZmNmY5MzBlNTQ4NWE1YzAxMGQKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9yZXNvdXJjZXMvc2Vy
dmljZS13b3JrZXItcmVxdWVzdC13aXRoLWJvZHktd29ya2VyLmpzCkBAIC0wLDAgKzEsMjEgQEAK
K3NlbGYuYWRkRXZlbnRMaXN0ZW5lcigiZmV0Y2giLCAoZXZlbnQpID0+IHsKKyAgICBpZiAoZXZl
bnQucmVxdWVzdC51cmwuZW5kc1dpdGgoInJlcXVlc3Qtd2l0aC10ZXh0LWJvZHkuZnJvbXNlcnZp
Y2V3b3JrZXIiKSkgeworICAgICAgICBldmVudC5yZXNwb25kV2l0aCgKKyAgICAgICAgICAgIGV2
ZW50LnJlcXVlc3QudGV4dCgpLnRoZW4odmFsdWUgPT4geworICAgICAgICAgICAgICAgIHJldHVy
biBuZXcgUmVzcG9uc2UodmFsdWUpOworICAgICAgICAgICAgfSkKKyAgICAgICAgKTsKKyAgICAg
ICAgcmV0dXJuOworICAgIH0KKyAgICBpZiAoZXZlbnQucmVxdWVzdC51cmwuZW5kc1dpdGgoInJl
cXVlc3Qtd2l0aC1jbG9uZWQtdGV4dC1ib2R5LmZyb21zZXJ2aWNld29ya2VyIikpIHsKKyAgICAg
ICAgZXZlbnQucmVzcG9uZFdpdGgoCisgICAgICAgICAgICBldmVudC5yZXF1ZXN0LmNsb25lKCku
dGV4dCgpLnRoZW4odmFsdWUgPT4geworICAgICAgICAgICAgICAgIHJldHVybiBuZXcgUmVzcG9u
c2UodmFsdWUpOworICAgICAgICAgICAgfSkKKyAgICAgICAgKTsKKyAgICB9CisgICAgaWYgKGV2
ZW50LnJlcXVlc3QudXJsLmVuZHNXaXRoKCJwb3N0LWVjaG8uY2dpIikpIHsKKyAgICAgICAgZXZl
bnQucmVzcG9uZFdpdGgoZmV0Y2goZXZlbnQucmVxdWVzdCkpOworICAgICAgICByZXR1cm47Cisg
ICAgfQorfSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2Vy
dmljZS9zZXJ2aWNlLXdvcmtlci1mZXRjaC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9zZXJ2aWNlLXdvcmtlci1mZXRjaC5odHRwcy1l
eHBlY3RlZC50eHQKaW5kZXggMTVhMTdiMGJmZjQ5ZWM2YjRiOTUzYzBiZDMxZjBmNGE3NjkxZGE0
Yy4uMWQ1YTcyNzU4YWZlZmRkYTc4ZjcwNjliODEyMTA4ZTFkYjUzMjRjMSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2Uvc2VydmljZS13b3JrZXItZmV0
Y2guaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vy
cy9zZXJ2aWNlL3NlcnZpY2Utd29ya2VyLWZldGNoLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMiw1
ICsyLDcgQEAKIFN0YXR1cyBpcyBubyBzdGF0dXMKIEdvdCBpbWFnZSByZXNwb25zZSB3aXRoIGJ1
ZmZlciBieXRlIGxlbmd0aCBiZWluZyAxMjk0MAogR290IHNob3VsZC1iZS1lbXB0eSByZXNwb25z
ZSB3aXRoIGJ1ZmZlciBieXRlIGxlbmd0aCBiZWluZyAwIGFuZCBzdGF0dXMgaXMgRW1wdHkgc3Ry
ZWFtCitHb3QgZGF0YSBVUkwgcmVzcG9uc2Ugd2l0aCBkYXRhPSJyZXNwb25zZSdzIGJvZHkiIGFu
ZCBzdGF0dXMgaXMgT0sKK0dvdCBibG9iIHJlc3BvbnNlIHdpdGggZGF0YT0iUEFTUyIgYW5kIHN0
YXR1cyBpcyBPSwogU3RhdHVzIGlzIGh0dHBzOi8vMTI3LjAuMC4xOjg0NDMvcmVzb3VyY2VzL3Nx
dWFyZTEwMC5wbmcgdGhyb3VnaCBmZXRjaAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL3dvcmtlcnMvc2VydmljZS9zZXJ2aWNlLXdvcmtlci1yZXF1ZXN0LXdpdGgtYm9keS5o
dHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2Vydmlj
ZS9zZXJ2aWNlLXdvcmtlci1yZXF1ZXN0LXdpdGgtYm9keS5odHRwcy1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNzEwY2M1MDI0MjA4MTQwNjlmMTFiMzYzZTU0NWU3ZDI3YTQ4Yzk0MwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlL3NlcnZp
Y2Utd29ya2VyLXJlcXVlc3Qtd2l0aC1ib2R5Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDggQEAKKworCitQQVNTIFNldHVwIHRlc3QgCitQQVNTIFJlcXVlc3Qgd2l0aCB0ZXh0IGJvZHkg
CitQQVNTIFJlcXVlc3Qgd2l0aCBhcnJheUJ1ZmZlciBib2R5IAorUEFTUyBSZXF1ZXN0IHdpdGgg
Y2xvbmVkIHRleHQgYm9keSAKK1BBU1MgUmVxdWVzdCB3aXRoIHRleHQgYm9keSB0aGVuIGZldGNo
ZWQgCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNl
L3NlcnZpY2Utd29ya2VyLXJlcXVlc3Qtd2l0aC1ib2R5Lmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZS9zZXJ2aWNlLXdvcmtlci1yZXF1ZXN0LXdpdGgt
Ym9keS5odHRwcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc1NDM2MmZhYTMxYmRkODgwZmRkOGNlNjMwNGEw
Mjg1MWI2NDQ5MWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3dv
cmtlcnMvc2VydmljZS9zZXJ2aWNlLXdvcmtlci1yZXF1ZXN0LXdpdGgtYm9keS5odHRwcy5odG1s
CkBAIC0wLDAgKzEsNjMgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNl
cy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+Cith
c3luYyBmdW5jdGlvbiBpbnRlcmNlcHRlZEZyYW1lKHdvcmtlclVSTCwgc2NvcGVVUkwpCit7Cisg
ICAgdmFyIHJlZ2lzdHJhdGlvbiA9IGF3YWl0IG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLnJlZ2lz
dGVyKHdvcmtlclVSTCwgeyBzY29wZSA6IHNjb3BlVVJMIH0pOworICAgIGF3YWl0IG5ldyBQcm9t
aXNlKHJlc29sdmUgPT4geworICAgICAgICBpZiAocmVnaXN0cmF0aW9uLmFjdGl2ZSkKKyAgICAg
ICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAgd29ya2VyID0gcmVnaXN0cmF0aW9uLmluc3RhbGxp
bmc7CisgICAgICAgIGlmICh3b3JrZXIuc3RhdGUgPT09ICJhY3RpdmF0ZWQiKQorICAgICAgICAg
ICAgcmVzb2x2ZSgpOworICAgICAgICB3b3JrZXIuYWRkRXZlbnRMaXN0ZW5lcigic3RhdGVjaGFu
Z2UiLCAoKSA9PiB7CisgICAgICAgICAgICBpZiAod29ya2VyLnN0YXRlID09PSAiYWN0aXZhdGVk
IikKKyAgICAgICAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAgIH0pOworICAgIH0pOworCisg
ICAgcmV0dXJuIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CisgICAgICAgIHZhciBm
cmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpOworICAgICAgICBmcmFtZS5z
cmMgPSBzY29wZVVSTDsKKyAgICAgICAgZnJhbWUub25sb2FkID0gZnVuY3Rpb24oKSB7IHJlc29s
dmUoZnJhbWUpOyB9OworICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGZyYW1lKTsK
KyAgICB9KTsKK30KKwordmFyIGZldGNoOworCitwcm9taXNlX3Rlc3QoYXN5bmMgKHRlc3QpID0+
IHsKKyAgICB2YXIgZnJhbWUgPSBhd2FpdCBpbnRlcmNlcHRlZEZyYW1lKCJyZXNvdXJjZXMvc2Vy
dmljZS13b3JrZXItcmVxdWVzdC13aXRoLWJvZHktd29ya2VyLmpzIiwgIi8iKTsKKyAgICBmZXRj
aCA9IGZyYW1lLmNvbnRlbnRXaW5kb3cuZmV0Y2g7Cit9LCAiU2V0dXAgdGVzdCIpOworCitwcm9t
aXNlX3Rlc3QoYXN5bmMgKHRlc3QpID0+IHsKKyAgICByZXNwb25zZSA9IGF3YWl0IGZldGNoKCJy
ZXF1ZXN0LXdpdGgtdGV4dC1ib2R5LmZyb21zZXJ2aWNld29ya2VyIiwgeyBtZXRob2Q6ICJQT1NU
IiwgYm9keTogIlBBU1MiIH0pOworICAgIHZhciBidWZmZXIgPSAgYXdhaXQgcmVzcG9uc2UudGV4
dCgpOworICAgIGFzc2VydF9lcXVhbHMoYnVmZmVyLCAiUEFTUyIpOworfSwgIlJlcXVlc3Qgd2l0
aCB0ZXh0IGJvZHkiKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7CisgICAgcmVz
cG9uc2UgPSBhd2FpdCBmZXRjaCgicmVxdWVzdC13aXRoLXRleHQtYm9keS5mcm9tc2VydmljZXdv
cmtlciIsIHsgbWV0aG9kOiAiUE9TVCIsIGJvZHk6IG5ldyBUZXh0RW5jb2RlcigpLmVuY29kZSgi
UEFTUyIpIH0pOworICAgIHZhciBidWZmZXIgPSAgYXdhaXQgcmVzcG9uc2UudGV4dCgpOworICAg
IGFzc2VydF9lcXVhbHMoYnVmZmVyLCAiUEFTUyIpOworfSwgIlJlcXVlc3Qgd2l0aCBhcnJheUJ1
ZmZlciBib2R5Iik7CisKK3Byb21pc2VfdGVzdChhc3luYyAodGVzdCkgPT4geworICAgIHJlc3Bv
bnNlID0gYXdhaXQgZmV0Y2goInJlcXVlc3Qtd2l0aC1jbG9uZWQtdGV4dC1ib2R5LmZyb21zZXJ2
aWNld29ya2VyIiwgeyBtZXRob2Q6ICJQT1NUIiwgYm9keTogIlBBU1MiIH0pOworICAgIHZhciBi
dWZmZXIgPSAgYXdhaXQgcmVzcG9uc2UudGV4dCgpOworICAgIGFzc2VydF9lcXVhbHMoYnVmZmVy
LCAiUEFTUyIpOworfSwgIlJlcXVlc3Qgd2l0aCBjbG9uZWQgdGV4dCBib2R5Iik7CisKK3Byb21p
c2VfdGVzdChhc3luYyAodGVzdCkgPT4geworICAgIHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goIi94
bWxodHRwcmVxdWVzdC9yZXNvdXJjZXMvcG9zdC1lY2hvLmNnaSIsIHsgbWV0aG9kOiAiUE9TVCIs
IGJvZHk6ICJQQVNTIiB9KTsKKyAgICB2YXIgYnVmZmVyID0gIGF3YWl0IHJlc3BvbnNlLnRleHQo
KTsKKyAgICBhc3NlcnRfZXF1YWxzKGJ1ZmZlciwgIlBBU1MiKTsKK30sICJSZXF1ZXN0IHdpdGgg
dGV4dCBib2R5IHRoZW4gZmV0Y2hlZCIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Zl
dGNoL2FwaS9yZXF1ZXN0L3JlcXVlc3QtY29uc3VtZS1lbXB0eS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9yZXF1ZXN0
L3JlcXVlc3QtY29uc3VtZS1lbXB0eS1leHBlY3RlZC50eHQKaW5kZXggM2U2NzE5YmM1ZjhhNDRk
MjcwYTI3ZmJhMmIyMjYyZjdlY2Q4NjNhNS4uODYzZjFkZDQzY2I4NDY1ODFkMmFhY2RhYTQ3NWI1
ZGFjYTdmYjE4YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9mZXRjaC9hcGkvcmVxdWVzdC9yZXF1ZXN0LWNvbnN1bWUtZW1wdHktZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZmV0Y2gvYXBpL3JlcXVlc3QvcmVxdWVzdC1jb25zdW1lLWVtcHR5LWV4cGVjdGVkLnR4dApAQCAt
MTEsNiArMTEsNiBAQCBQQVNTIENvbnN1bWUgZW1wdHkgdGV4dCByZXF1ZXN0IGJvZHkgYXMgYXJy
YXlCdWZmZXIKIFBBU1MgQ29uc3VtZSBlbXB0eSBibG9iIHJlcXVlc3QgYm9keSBhcyB0ZXh0IAog
UEFTUyBDb25zdW1lIGVtcHR5IHRleHQgcmVxdWVzdCBib2R5IGFzIHRleHQgCiBQQVNTIENvbnN1
bWUgZW1wdHkgVVJMU2VhcmNoUGFyYW1zIHJlcXVlc3QgYm9keSBhcyB0ZXh0IAotRkFJTCBDb25z
dW1lIGVtcHR5IEZvcm1EYXRhIHJlcXVlc3QgYm9keSBhcyB0ZXh0IHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiB1bmRlZmluZWQKK0ZBSUwgQ29uc3VtZSBlbXB0
eSBGb3JtRGF0YSByZXF1ZXN0IGJvZHkgYXMgdGV4dCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogVGhlIG9wZXJh
dGlvbiBpcyBub3Qgc3VwcG9ydGVkLiIKIFBBU1MgQ29uc3VtZSBlbXB0eSBBcnJheUJ1ZmZlciBy
ZXF1ZXN0IGJvZHkgYXMgdGV4dCAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvcmVxdWVzdC9yZXF1ZXN0LWluaXQtMDAy
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZmV0Y2gvYXBpL3JlcXVlc3QvcmVxdWVzdC1pbml0LTAwMi1leHBlY3RlZC50eHQKaW5kZXgg
YTczMzUwMTZmMzY0MWEwOTY3NTEzNTU2YjBlNjBhNDFhN2ZlMjAzOC4uMDA5YTAwZGQ0YzEwYThl
NzAzMmY2MTM0MzgyZmQ1ZDNkNzc0OTRjYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvcmVxdWVzdC9yZXF1ZXN0LWluaXQt
MDAyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ZldGNoL2FwaS9yZXF1ZXN0L3JlcXVlc3QtaW5pdC0wMDItZXhwZWN0ZWQudHh0
CkBAIC0zLDcgKzMsNyBAQCBQQVNTIEluaXRpYWxpemUgUmVxdWVzdCB3aXRoIGhlYWRlcnMgdmFs
dWVzCiBQQVNTIEluaXRpYWxpemUgUmVxdWVzdCdzIGJvZHkgd2l0aCB1bmRlZmluZWQgCiBQQVNT
IEluaXRpYWxpemUgUmVxdWVzdCdzIGJvZHkgd2l0aCBudWxsIAogUEFTUyBJbml0aWFsaXplIFJl
cXVlc3QncyBib2R5IHdpdGggYXBwbGljYXRpb24vb2N0ZXQtYmluYXJ5IAotRkFJTCBJbml0aWFs
aXplIFJlcXVlc3QncyBib2R5IHdpdGggbXVsdGlwYXJ0L2Zvcm0tZGF0YSBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogdW5kZWZpbmVkCitGQUlMIEluaXRpYWxp
emUgUmVxdWVzdCdzIGJvZHkgd2l0aCBtdWx0aXBhcnQvZm9ybS1kYXRhIHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9y
OiBUaGUgb3BlcmF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQuIgogUEFTUyBJbml0aWFsaXplIFJlcXVl
c3QncyBib2R5IHdpdGggdGV4dC9wbGFpbjtjaGFyc2V0PVVURi04IAogUEFTUyBJbml0aWFsaXpl
IFJlcXVlc3QncyBib2R5IHdpdGggYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkO2No
YXJzZXQ9VVRGLTggCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL3Jlc3BvbnNlL3Jlc3BvbnNlLWNvbnN1bWUtZW1wdHkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9mZXRjaC9hcGkvcmVzcG9uc2UvcmVzcG9uc2UtY29uc3VtZS1lbXB0eS1leHBlY3RlZC50eHQK
aW5kZXggMjIyNTYyZGQyOTM2YzQ1MmFiZjc5N2NmMTllNzk3M2MxZGZmZTg3OS4uZmE4YzZmNDI4
NGNiY2M2MzA5MDA2YzExNmM5M2ViOWE2OGYxNTAxZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvcmVzcG9uc2UvcmVzcG9u
c2UtY29uc3VtZS1lbXB0eS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvcmVzcG9uc2UvcmVzcG9uc2UtY29uc3Vt
ZS1lbXB0eS1leHBlY3RlZC50eHQKQEAgLTExLDYgKzExLDYgQEAgUEFTUyBDb25zdW1lIGVtcHR5
IHRleHQgcmVzcG9uc2UgYm9keSBhcyBhcnJheUJ1ZmZlcgogUEFTUyBDb25zdW1lIGVtcHR5IGJs
b2IgcmVzcG9uc2UgYm9keSBhcyB0ZXh0IAogUEFTUyBDb25zdW1lIGVtcHR5IHRleHQgcmVzcG9u
c2UgYm9keSBhcyB0ZXh0IAogUEFTUyBDb25zdW1lIGVtcHR5IFVSTFNlYXJjaFBhcmFtcyByZXNw
b25zZSBib2R5IGFzIHRleHQgCi1GQUlMIENvbnN1bWUgZW1wdHkgRm9ybURhdGEgcmVzcG9uc2Ug
Ym9keSBhcyB0ZXh0IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiB1bmRlZmluZWQKK0ZBSUwgQ29uc3VtZSBlbXB0eSBGb3JtRGF0YSByZXNwb25zZSBib2R5IGFz
IHRleHQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVj
dCAiTm90U3VwcG9ydGVkRXJyb3I6IFRoZSBvcGVyYXRpb24gaXMgbm90IHN1cHBvcnRlZC4iCiBQ
QVNTIENvbnN1bWUgZW1wdHkgQXJyYXlCdWZmZXIgcmVzcG9uc2UgYm9keSBhcyB0ZXh0IAogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Zl
dGNoL2FwaS9yZXNwb25zZS9yZXNwb25zZS1jb25zdW1lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL3Jlc3BvbnNlL3Jl
c3BvbnNlLWNvbnN1bWUtZXhwZWN0ZWQudHh0CmluZGV4IDRiOWE0YjBjZWYwYjdkM2U4NjE1OWQw
NTcwZjhlYjYzMjY0ZDBhNDAuLjVmYjhkZTg3MWYxNjMxYTgzMzQyNTM4OGU0NTcyOTQwMzRjMGJm
MGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZmV0Y2gvYXBpL3Jlc3BvbnNlL3Jlc3BvbnNlLWNvbnN1bWUtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL3Jl
c3BvbnNlL3Jlc3BvbnNlLWNvbnN1bWUtZXhwZWN0ZWQudHh0CkBAIC0xNyw5ICsxNyw5IEBAIEZB
SUwgQ29uc3VtZSByZXNwb25zZSdzIGJvZHk6IGZyb20gYmxvYiB3aXRoIGNvcnJlY3QgdXJsZW5j
b2RlZCB0eXBlIHRvIGZvcm1EYXRhCiBGQUlMIENvbnN1bWUgcmVzcG9uc2UncyBib2R5OiBmcm9t
IGJsb2Igd2l0aG91dCBjb3JyZWN0IHVybGVuY29kZWQgdHlwZSB0byBmb3JtRGF0YSAoZXJyb3Ig
Y2FzZSkgYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsgdGhyb3cgZSB9IiB0
aHJldyBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBUaGUgb3BlcmF0aW9uIGlzIG5vdCBzdXBw
b3J0ZWQuIiAoIk5vdFN1cHBvcnRlZEVycm9yIikgZXhwZWN0ZWQgb2JqZWN0ICJUeXBlRXJyb3Ii
ICgiVHlwZUVycm9yIikKIEZBSUwgQ29uc3VtZSByZXNwb25zZSdzIGJvZHk6IGZyb20gRm9ybURh
dGEgdG8gZm9ybURhdGEgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IFRoZSBvcGVyYXRpb24gaXMgbm90IHN1cHBv
cnRlZC4iCiBGQUlMIENvbnN1bWUgcmVzcG9uc2UncyBib2R5OiBmcm9tIEZvcm1EYXRhIHdpdGhv
dXQgY29ycmVjdCB0eXBlIHRvIGZvcm1EYXRhIChlcnJvciBjYXNlKSBhc3NlcnRfdGhyb3dzOiBm
dW5jdGlvbiAiZnVuY3Rpb24gKCkgeyB0aHJvdyBlIH0iIHRocmV3IG9iamVjdCAiTm90U3VwcG9y
dGVkRXJyb3I6IFRoZSBvcGVyYXRpb24gaXMgbm90IHN1cHBvcnRlZC4iICgiTm90U3VwcG9ydGVk
RXJyb3IiKSBleHBlY3RlZCBvYmplY3QgIlR5cGVFcnJvciIgKCJUeXBlRXJyb3IiKQotRkFJTCBD
b25zdW1lIHJlc3BvbnNlJ3MgYm9keTogZnJvbSBGb3JtRGF0YSB0byBibG9iIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiB1bmRlZmluZWQKLUZBSUwgQ29uc3Vt
ZSByZXNwb25zZSdzIGJvZHk6IGZyb20gRm9ybURhdGEgdG8gdGV4dCBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogdW5kZWZpbmVkCi1GQUlMIENvbnN1bWUgcmVz
cG9uc2UncyBib2R5OiBmcm9tIEZvcm1EYXRhIHRvIGFycmF5QnVmZmVyIHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiB1bmRlZmluZWQKK0ZBSUwgQ29uc3VtZSBy
ZXNwb25zZSdzIGJvZHk6IGZyb20gRm9ybURhdGEgdG8gYmxvYiBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogVGhl
IG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkLiIKK0ZBSUwgQ29uc3VtZSByZXNwb25zZSdzIGJv
ZHk6IGZyb20gRm9ybURhdGEgdG8gdGV4dCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogVGhlIG9wZXJhdGlvbiBp
cyBub3Qgc3VwcG9ydGVkLiIKK0ZBSUwgQ29uc3VtZSByZXNwb25zZSdzIGJvZHk6IGZyb20gRm9y
bURhdGEgdG8gYXJyYXlCdWZmZXIgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IFRoZSBvcGVyYXRpb24gaXMgbm90
IHN1cHBvcnRlZC4iCiBGQUlMIENvbnN1bWUgcmVzcG9uc2UncyBib2R5OiBmcm9tIFVSTFNlYXJj
aFBhcmFtcyB0byBmb3JtRGF0YSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogVGhlIG9wZXJhdGlvbiBpcyBub3Qg
c3VwcG9ydGVkLiIKIEZBSUwgQ29uc3VtZSByZXNwb25zZSdzIGJvZHk6IGZyb20gVVJMU2VhcmNo
UGFyYW1zIHdpdGhvdXQgY29ycmVjdCB0eXBlIHRvIGZvcm1EYXRhIChlcnJvciBjYXNlKSBhc3Nl
cnRfdGhyb3dzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeyB0aHJvdyBlIH0iIHRocmV3IG9iamVj
dCAiTm90U3VwcG9ydGVkRXJyb3I6IFRoZSBvcGVyYXRpb24gaXMgbm90IHN1cHBvcnRlZC4iICgi
Tm90U3VwcG9ydGVkRXJyb3IiKSBleHBlY3RlZCBvYmplY3QgIlR5cGVFcnJvciIgKCJUeXBlRXJy
b3IiKQogRkFJTCBDb25zdW1lIHJlc3BvbnNlJ3MgYm9keTogZnJvbSBVUkxTZWFyY2hQYXJhbXMg
dG8gYmxvYiBhc3NlcnRfZXF1YWxzOiBCbG9iIGJvZHkgdHlwZSBzaG91bGQgYmUgY29tcHV0ZWQg
ZnJvbSB0aGUgcmVzcG9uc2UgQ29udGVudC1UeXBlIGV4cGVjdGVkICJhcHBsaWNhdGlvbi94LXd3
dy1mb3JtLXVybGVuY29kZWQ7Y2hhcnNldD11dGYtOCIgYnV0IGdvdCAiYXBwbGljYXRpb24veC13
d3ctZm9ybS11cmxlbmNvZGVkIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvcmVzcG9uc2UvcmVzcG9uc2UtaW5pdC0wMDIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9mZXRjaC9hcGkvcmVzcG9uc2UvcmVzcG9uc2UtaW5pdC0wMDItZXhwZWN0ZWQudHh0CmluZGV4
IGVkMTYwYzA0NjM1MWIyY2U3ZmQ2OTBhZGU1ZGRiMzdlMDQzMzNjYTMuLjY1ZTk2OGI1MmIwOWIy
ZjUwNjQwYjhkOWVmMDg2YWFkMWZjNWQyZmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL3Jlc3BvbnNlL3Jlc3BvbnNlLWlu
aXQtMDAyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9yZXNwb25zZS9yZXNwb25zZS1pbml0LTAwMi1leHBlY3Rl
ZC50eHQKQEAgLTEsNyArMSw3IEBACiAKIFBBU1MgSW5pdGlhbGl6ZSBSZXNwb25zZSB3aXRoIGhl
YWRlcnMgdmFsdWVzIAogUEFTUyBJbml0aWFsaXplIFJlc3BvbnNlJ3MgYm9keSB3aXRoIGFwcGxp
Y2F0aW9uL29jdGV0LWJpbmFyeSAKLUZBSUwgSW5pdGlhbGl6ZSBSZXNwb25zZSdzIGJvZHkgd2l0
aCBtdWx0aXBhcnQvZm9ybS1kYXRhIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiB1bmRlZmluZWQKK0ZBSUwgSW5pdGlhbGl6ZSBSZXNwb25zZSdzIGJvZHkgd2l0
aCBtdWx0aXBhcnQvZm9ybS1kYXRhIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBUaGUgb3BlcmF0aW9uIGlzIG5v
dCBzdXBwb3J0ZWQuIgogUEFTUyBJbml0aWFsaXplIFJlc3BvbnNlJ3MgYm9keSB3aXRoIGFwcGxp
Y2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDtjaGFyc2V0PVVURi04IAogUEFTUyBJbml0aWFs
aXplIFJlc3BvbnNlJ3MgYm9keSB3aXRoIHRleHQvcGxhaW47Y2hhcnNldD1VVEYtOCAKIFBBU1Mg
UmVhZCBSZXNwb25zZSdzIGJvZHkgYXMgcmVhZGFibGVTdHJlYW0gCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9mZXRjaC1ldmVudC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9mZXRjaC1ldmVudC5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggMjFlMTIxNjNkZTgy
ZjFkNTQwYjEyN2EzZGEzOGFkZmFmNjYxZmNkOS4uZmIwYjJmODIxMDJhYTVkM2Q2OGEyM2M2YTQ3
ZDJkMGVjZjRhZjRiNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gtZXZlbnQu
aHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ZldGNoLWV2ZW50Lmh0
dHBzLWV4cGVjdGVkLnR4dApAQCAtOCwxNCArOCwxNCBAQCBGQUlMIFNlcnZpY2UgV29ya2VyIHJl
c3BvbmRzIHRvIGZldGNoIGV2ZW50IHdpdGggYW4gZXhpc3RpbmcgY2xpZW50IGlkIGFzc2VydF91
bgogUEFTUyBTZXJ2aWNlIFdvcmtlciBkb2VzIG5vdCByZXNwb25kIHRvIGZldGNoIGV2ZW50IAog
UEFTUyBTZXJ2aWNlIFdvcmtlciByZXNwb25kcyB0byBmZXRjaCBldmVudCB3aXRoIG51bGwgcmVz
cG9uc2UgYm9keSAKIFBBU1MgU2VydmljZSBXb3JrZXIgZmV0Y2hlcyBvdGhlciBmaWxlIGluIGZl
dGNoIGV2ZW50IAotRkFJTCBTZXJ2aWNlIFdvcmtlciByZXNwb25kcyB0byBmZXRjaCBldmVudCB3
aXRoIFBPU1QgZm9ybSBhc3NlcnRfdW5yZWFjaGVkOiB1bmV4cGVjdGVkIHJlamVjdGlvbjogYXNz
ZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlBPU1Q6YXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNv
ZGVkOnRlc3ROYW1lMT10ZXN0VmFsdWUxJnRlc3ROYW1lMj10ZXN0VmFsdWUyIiBidXQgZ290ICJQ
T1NUOmFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDoiIFJlYWNoZWQgdW5yZWFjaGFi
bGUgY29kZQorUEFTUyBTZXJ2aWNlIFdvcmtlciByZXNwb25kcyB0byBmZXRjaCBldmVudCB3aXRo
IFBPU1QgZm9ybSAKIFBBU1MgTXVsdGlwbGUgY2FsbHMgb2YgcmVzcG9uZFdpdGggbXVzdCB0aHJv
dyBJbnZhbGlkU3RhdGVFcnJvcnMgCiBQQVNTIFNlcnZpY2UgV29ya2VyIGV2ZW50LnJlc3BvbmRX
aXRoIG11c3Qgc2V0IHRoZSB1c2VkIGZsYWcgCiBQQVNTIFNlcnZpY2UgV29ya2VyIHNob3VsZCBl
eHBvc2UgRmV0Y2hFdmVudCBVUkwgZnJhZ21lbnRzLiAKIEZBSUwgU2VydmljZSBXb3JrZXIgcmVz
cG9uZHMgdG8gZmV0Y2ggZXZlbnQgd2l0aCB0aGUgY29ycmVjdCBjYWNoZSB0eXBlcyBhc3NlcnRf
dW5yZWFjaGVkOiB1bmV4cGVjdGVkIHJlamVjdGlvbjogYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQg
Im5vLWNhY2hlIiBidXQgZ290ICJkZWZhdWx0IiBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKIFBB
U1MgU2VydmljZSBXb3JrZXIgc2hvdWxkIGludGVyY2VwdCBFdmVudFNvdXJjZSAKIFBBU1MgU2Vy
dmljZSBXb3JrZXIgcmVzcG9uZHMgdG8gZmV0Y2ggZXZlbnQgd2l0aCB0aGUgY29ycmVjdCBpbnRl
Z3JpdHlfbWV0YWRhdGEgCi1GQUlMIEZldGNoRXZlbnQjYm9keSBpcyBhIHN0cmluZyBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCAiaSBhbSB0aGUgcmVxdWVzdCBib2R5IiBidXQgZ290ICIiCitQQVNT
IEZldGNoRXZlbnQjYm9keSBpcyBhIHN0cmluZyAKIEZBSUwgRmV0Y2hFdmVudCNib2R5IGlzIGEg
YmxvYiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiaXQncyBtZSB0aGUgYmxvYiBhbmQgbW9yZSBi
bG9iISIgYnV0IGdvdCAiIgogUEFTUyBTZXJ2aWNlIFdvcmtlciByZXNwb25kcyB0byBmZXRjaCBl
dmVudCB3aXRoIHRoZSBjb3JyZWN0IGtlZXBhbGl2ZSB2YWx1ZSAKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvZmV0Y2gtcmVxdWVzdC14aHIuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvZmV0Y2gtcmVxdWVzdC14aHIuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4
IGYzNDIxNDExNTQ3MmQ4OTM0NWRiMTA1ZmI0ZDA5YmYyOWVhZWEzZjIuLmUyZGE4M2EwMzAxMjYw
MzgwMjVlZjczMjZiMDhjYTY4NjllYjU2ZmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L2ZldGNoLXJlcXVlc3QteGhyLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9mZXRjaC1yZXF1ZXN0LXhoci5odHRwcy1leHBlY3RlZC50eHQKQEAgLTQsMTEgKzQsMTEg
QEAgRkFJTCBldmVudC5yZXF1ZXN0IGhhcyB0aGUgZXhwZWN0ZWQgaGVhZGVycyBmb3Igc2FtZS1v
cmlnaW4gR0VULiBwcm9taXNlX3Rlc3Q6IFUKIEZBSUwgZXZlbnQucmVxdWVzdCBoYXMgdGhlIGV4
cGVjdGVkIGhlYWRlcnMgZm9yIHNhbWUtb3JpZ2luIFBPU1QuIHByb21pc2VfdGVzdDogVW5oYW5k
bGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkVycm9yOiBhc3NlcnRfYXJyYXlfZXF1
YWxzOiBldmVudC5yZXF1ZXN0IGhhcyB0aGUgZXhwZWN0ZWQgaGVhZGVycyBmb3Igc2FtZS1vcmln
aW4gUE9TVC4gbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVkIDIgZ290IDUiCiBGQUlMIGV2ZW50LnJl
cXVlc3QgaGFzIHRoZSBleHBlY3RlZCBoZWFkZXJzIGZvciBjcm9zcy1vcmlnaW4gR0VULiBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJFcnJvcjog
YXNzZXJ0X2FycmF5X2VxdWFsczogZXZlbnQucmVxdWVzdCBoYXMgdGhlIGV4cGVjdGVkIGhlYWRl
cnMgZm9yIGNyb3NzLW9yaWdpbiBHRVQuIGxlbmd0aHMgZGlmZmVyLCBleHBlY3RlZCAxIGdvdCA0
IgogRkFJTCBldmVudC5yZXF1ZXN0IGhhcyB0aGUgZXhwZWN0ZWQgaGVhZGVycyBmb3IgY3Jvc3Mt
b3JpZ2luIFBPU1QuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIkVycm9yOiBhc3NlcnRfYXJyYXlfZXF1YWxzOiBldmVudC5yZXF1ZXN0IGhhcyB0
aGUgZXhwZWN0ZWQgaGVhZGVycyBmb3IgY3Jvc3Mtb3JpZ2luIFBPU1QuIGxlbmd0aHMgZGlmZmVy
LCBleHBlY3RlZCAyIGdvdCA1IgotRkFJTCBGZXRjaEV2ZW50I3JlcXVlc3QuYm9keSBjb250YWlu
cyBYSFIgcmVxdWVzdCBkYXRhIChzdHJpbmcpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkVycm9yOiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAi
dGVzdCBzdHJpbmciIGJ1dCBnb3QgIiIiCitQQVNTIEZldGNoRXZlbnQjcmVxdWVzdC5ib2R5IGNv
bnRhaW5zIFhIUiByZXF1ZXN0IGRhdGEgKHN0cmluZykgCiBGQUlMIEZldGNoRXZlbnQjcmVxdWVz
dC5ib2R5IGNvbnRhaW5zIFhIUiByZXF1ZXN0IGRhdGEgKGJsb2IpIHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkVycm9yOiBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAidGVzdCBibG9iIiBidXQgZ290ICIiIgotRkFJTCBGZXRjaEV2ZW50I3JlcXVl
c3QubWV0aG9kIGlzIHNldCB0byBYSFIgbWV0aG9kIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkVycm9yOiBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCAidGVzdCBzdHJpbmcgeHh4IiBidXQgZ290ICIiIgotRkFJTCBYSFIgdXNpbmcgT1BUSU9OUyBt
ZXRob2QgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVj
dCAiRXJyb3I6IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJ0ZXN0IHN0cmluZyB4eHgiIGJ1dCBn
b3QgIiIiCi1GQUlMIFhIUiB3aXRoIGZvcm0gZGF0YSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJFcnJvcjogYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgIi0tLS0tLVdlYktpdEZvcm1Cb3VuZGFyeVhRY1RVQmZDZzJoRlQwelVcclxuQ29udGVudC1E
aXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPVwic2FtcGxlIHN0cmluZ1wiXHJcblxyXG4xMjM0
NTY3ODkwXHJcbi0tLS0tLVdlYktpdEZvcm1Cb3VuZGFyeVhRY1RVQmZDZzJoRlQwelVcclxuQ29u
dGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPVwic2FtcGxlIGJsb2JcIjsgZmlsZW5h
bWU9XCJibG9iXCJcclxuQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW1cclxu
XHJcbmJsb2IgY29udGVudFxyXG4tLS0tLS1XZWJLaXRGb3JtQm91bmRhcnlYUWNUVUJmQ2cyaEZU
MHpVXHJcbkNvbnRlbnQtRGlzcG9zaXRpb246IGZvcm0tZGF0YTsgbmFtZT1cInNhbXBsZSBmaWxl
XCI7IGZpbGVuYW1lPVwiZmlsZS5kYXRcIlxyXG5Db250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL29j
dGV0LXN0cmVhbVxyXG5cclxuZmlsZSBjb250ZW50XHJcbi0tLS0tLVdlYktpdEZvcm1Cb3VuZGFy
eVhRY1RVQmZDZzJoRlQwelUtLVxyXG4iIGJ1dCBnb3QgIiIiCitQQVNTIEZldGNoRXZlbnQjcmVx
dWVzdC5tZXRob2QgaXMgc2V0IHRvIFhIUiBtZXRob2QgCitQQVNTIFhIUiB1c2luZyBPUFRJT05T
IG1ldGhvZCAKK0ZBSUwgWEhSIHdpdGggZm9ybSBkYXRhIHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIkVycm9yOiBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAiLS0tLS0tV2ViS2l0Rm9ybUJvdW5kYXJ5dmpFUXU5Z1YxdVA2QVFPR1xyXG5Db250ZW50
LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9XCJzYW1wbGUgc3RyaW5nXCJcclxuXHJcbjEy
MzQ1Njc4OTBcclxuLS0tLS0tV2ViS2l0Rm9ybUJvdW5kYXJ5dmpFUXU5Z1YxdVA2QVFPR1xyXG5D
b250ZW50LURpc3Bvc2l0aW9uOiBmb3JtLWRhdGE7IG5hbWU9XCJzYW1wbGUgYmxvYlwiOyBmaWxl
bmFtZT1cImJsb2JcIlxyXG5Db250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbVxy
XG5cclxuYmxvYiBjb250ZW50XHJcbi0tLS0tLVdlYktpdEZvcm1Cb3VuZGFyeXZqRVF1OWdWMXVQ
NkFRT0dcclxuQ29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPVwic2FtcGxlIGZp
bGVcIjsgZmlsZW5hbWU9XCJmaWxlLmRhdFwiXHJcbkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24v
b2N0ZXQtc3RyZWFtXHJcblxyXG5maWxlIGNvbnRlbnRcclxuLS0tLS0tV2ViS2l0Rm9ybUJvdW5k
YXJ5dmpFUXU5Z1YxdVA2QVFPRy0tXHJcbiIgYnV0IGdvdCAiIiIKIEZBSUwgWEhSIHdpdGggbW9k
ZS9jcmVkZW50aWFscyBzZXQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiRXJyb3I6IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJpbmNsdWRlIiBi
dXQgZ290ICJzYW1lLW9yaWdpbiIiCiBQQVNTIFhIUiB0byBkYXRhIFVSTCAKIFBBU1MgcmVzdG9y
ZSBnbG9iYWwgc3RhdGUgCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>