<?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>214588</bug_id>
          
          <creation_ts>2020-07-21 01:54:02 -0700</creation_ts>
          <short_desc>Fetch/XHR loads done by extensions should opt out of response sanitisation done in network process</short_desc>
          <delta_ts>2020-07-21 11:13:23 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Page Loading</component>
          <version>WebKit Local 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>ews-watchlist</cc>
    
    <cc>japhet</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1673399</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-07-21 01:54:02 -0700</bug_when>
    <thetext>Fetch/XHR loads done by extensions should opt out of response sanitisation done in network process</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673401</commentid>
    <comment_count>1</comment_count>
      <attachid>404804</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-07-21 02:00:24 -0700</bug_when>
    <thetext>Created attachment 404804
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673404</commentid>
    <comment_count>2</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-07-21 02:07:36 -0700</bug_when>
    <thetext>&lt;rdar://problem/65060560&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673407</commentid>
    <comment_count>3</comment_count>
      <attachid>404806</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-07-21 03:59:28 -0700</bug_when>
    <thetext>Created attachment 404806
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673447</commentid>
    <comment_count>4</comment_count>
      <attachid>404806</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-07-21 08:41:00 -0700</bug_when>
    <thetext>Comment on attachment 404806
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=404806&amp;action=review

&gt; Source/WebKit/WebProcess/WebPage/WebPage.cpp:7148
&gt; +    // FIXME: We should probably have this mechanism done between UIProcess and NetworkProcess directly.

I agree, but since this will only be done for a few long-lived pages, this is ok for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673523</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-07-21 11:13:23 -0700</bug_when>
    <thetext>Committed r264664: &lt;https://trac.webkit.org/changeset/264664&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 404806.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404804</attachid>
            <date>2020-07-21 02:00:24 -0700</date>
            <delta_ts>2020-07-21 03:59:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214588-20200721110022.patch</filename>
            <type>text/plain</type>
            <size>30559</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0NTkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTlhMzY2NGVjYWYyN2Nk
ZTBmMmNmNmUyMTA5ODYyZTZmOTFiOTQyOS4uNGJhNWJhMDI1NmY2NWFiODI5MTIzZGI2M2NlZGEx
NmE5NTc0NDRkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDIwLTA3LTIxICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBGZXRjaC9YSFIgbG9hZHMg
ZG9uZSBieSBleHRlbnNpb25zIHNob3VsZCBvcHQgb3V0IG9mIHJlc3BvbnNlIHNhbml0aXNhdGlv
biBkb25lIGluIG5ldHdvcmsgcHJvY2VzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjE0NTg4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgSW50cm9kdWNlIGEgbmV3IFJlc291cmNlTG9hZGVyT3B0aW9ucyBm
aWVsZCB0byBzd2l0Y2ggb24vb2ZmIHJlc3BvbnNlIGhlYWRlciBzYW5pdGl6YXRpb24gZG9uZSBp
biBuZXR3b3JrIHByb2Nlc3MuCisgICAgICAgIFN3aXRjaCBvZmYgc2FuaXRpemF0aW9uIGZvciBs
b2FkcyBkb25lIGJ5IGV4dGVuc2lvbnMuCisgICAgICAgIE1ha2Ugc3VyZSB0byBub3QgcmV1c2Ug
Y2FjaGVkIGVudHJpZXMgaW4gbWVtb3J5IGNhY2hlIGlmIG5ldyBvcHRpb24gaXMgbm90IG1hdGNo
aW5nLgorICAgICAgICBDb3ZlcmVkIGJ5IEFQSSB0ZXN0LgorCisgICAgICAgICogbG9hZGVyL0Ny
b3NzT3JpZ2luUHJlZmxpZ2h0Q2hlY2tlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDcm9zc09y
aWdpblByZWZsaWdodENoZWNrZXI6OmRvUHJlZmxpZ2h0KToKKyAgICAgICAgKiBsb2FkZXIvRG9j
dW1lbnRUaHJlYWRhYmxlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50VGhy
ZWFkYWJsZUxvYWRlcjo6RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyKToKKyAgICAgICAgKFdlYkNv
cmU6OkRvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6cmVzcG9uc2VSZWNlaXZlZCk6CisgICAgICAg
ICogbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5oOgorICAgICAgICAqIGxvYWRlci9G
cmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6bG9hZFJlc291
cmNlU3luY2hyb25vdXNseSk6CisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmg6CisgICAg
ICAgICogbG9hZGVyL0xvYWRlclN0cmF0ZWd5Lmg6CisgICAgICAgICogbG9hZGVyL1Jlc291cmNl
TG9hZGVyT3B0aW9ucy5oOgorICAgICAgICAoV2ViQ29yZTo6UmVzb3VyY2VMb2FkZXJPcHRpb25z
OjpyZXNwb25zZUFjY2Vzcyk6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZUxvYWRlck9wdGlv
bnM6OlJlc291cmNlTG9hZGVyT3B0aW9ucyk6CisgICAgICAgICogbG9hZGVyL2NhY2hlL0NhY2hl
ZFJlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hlZFJlc291cmNlTG9h
ZGVyOjpkZXRlcm1pbmVSZXZhbGlkYXRpb25Qb2xpY3kgY29uc3QpOgorCiAyMDIwLTA3LTIwICBZ
b3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBHZW5lcmF0ZUNlcnRp
ZmljYXRlQXN5bmMgc2hvdWxkIGJlIGNhbGxlZCBvbiBzaWduYWxpbmcgdGhyZWFkCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmlu
ZGV4IDA3YWQ5MDI5NGVmMGY2YmM0YzEyZWZiN2JmNTM2M2NlYTk4MjRmMGIuLjY2MmY4ODI2NmEw
ZTJiYTM1OTE3ZjY5ZjNjZTUyYWMwYmVjMGYxYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAK
KzIwMjAtMDctMjEgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAg
IEZldGNoL1hIUiBsb2FkcyBkb25lIGJ5IGV4dGVuc2lvbnMgc2hvdWxkIG9wdCBvdXQgb2YgcmVz
cG9uc2Ugc2FuaXRpc2F0aW9uIGRvbmUgaW4gbmV0d29yayBwcm9jZXNzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQ1ODgKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQcmV2aW91c2x5LCB0aGUgYm9vbGVh
biB0byBkbyBuZXR3b3JrIHNlY3VyaXR5IGNoZWNrcyBpbiBuZXR3b3JrIHByb2Nlc3Mgd2FzIGFs
c28gdXNlZCB0byBzYW5pdGl6ZSByZXNwb25zZSBoZWFkZXJzLgorICAgICAgICBXZSBpbnRyb2R1
Y2UgYSBuZXcgYm9vbGVhbiBqdXN0IGZvciByZXNwb25zZSBoZWFkZXIgc2FuaXRpemF0aW9uIGFu
ZCBhbm90aGVyIGZvciBkb2luZyBsb2FkIHNlY3VyaXR5IGNoZWNrcyBpbiBuZXR3b3JrIHByb2Nl
c3MuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9BZENsaWNrQXR0cmlidXRpb25NYW5hZ2Vy
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6QWRDbGlja0F0dHJpYnV0aW9uTWFuYWdlcjo6ZmlyZUNv
bnZlcnNpb25SZXF1ZXN0KToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3Vy
Y2VMb2FkUGFyYW1ldGVycy5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSZXNvdXJjZUxv
YWRQYXJhbWV0ZXJzOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUmVz
b3VyY2VMb2FkUGFyYW1ldGVyczo6ZGVjb2RlKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNz
L05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSZXNv
dXJjZUxvYWRlcjo6c2FuaXRpemVSZXNwb25zZUlmUG9zc2libGUpOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YkxvYWRlclN0cmF0ZWd5OjpzY2hlZHVsZUxvYWRGcm9tTmV0d29ya1Byb2Nlc3MpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJMb2FkZXJTdHJhdGVneTo6bG9hZFJlc291cmNlU3luY2hyb25vdXNseSk6
CisgICAgICAgIChXZWJLaXQ6OldlYkxvYWRlclN0cmF0ZWd5OjpzdGFydFBpbmdMb2FkKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViTG9hZGVyU3RyYXRlZ3k6OnByZWNvbm5lY3RUbyk6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5Lmg6CisKIDIwMjAtMDctMjAg
IFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIE5ldHdvcmtDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzIHNob3VsZCBub3QgaGFuZGxlIE5ldHdvcmtSVENQcm92aWRlciBt
ZXNzYWdlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L0NoYW5nZUxvZwppbmRleCBlOWY5ZGQ4Njc0NTQ0ZjFlN2M4NDQ1YzFl
ZjE0NjBhMzNlNzBjODJkLi40NTA4YjVjYjc0NTdmNWU5NWRlZDgxMzlhZjUxNGQzNmZlMTYxNzNm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIwLTA3LTIxICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBGZXRjaC9YSFIgbG9hZHMg
ZG9uZSBieSBleHRlbnNpb25zIHNob3VsZCBvcHQgb3V0IG9mIHJlc3BvbnNlIHNhbml0aXNhdGlv
biBkb25lIGluIG5ldHdvcmsgcHJvY2VzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjE0NTg4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJSZXNvdXJjZUxvYWRTY2hlZHVs
ZXIuY3BwOgorICAgICAgICAoV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyOjpsb2FkUmVzb3VyY2VT
eW5jaHJvbm91c2x5KToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJSZXNvdXJjZUxvYWRT
Y2hlZHVsZXIuaDoKKwogMjAyMC0wNy0wNSAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyNjM5NjAuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvQ3Jvc3NPcmlnaW5QcmVmbGlnaHRDaGVja2Vy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpblByZWZsaWdodENoZWNrZXIu
Y3BwCmluZGV4IGZjOGIwYjgzNzIxZTZkNDE0NDk3YjdjOTlhY2NkYWRkYzRmNDBhZDMuLjg0ZjY2
YTIzNDU3YWZkYjdhZTE5NjU3ODExZTA1M2ViOGViZTBhYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpblByZWZsaWdodENoZWNrZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9Dcm9zc09yaWdpblByZWZsaWdodENoZWNrZXIuY3BwCkBAIC0xMzUs
NyArMTM1LDcgQEAgdm9pZCBDcm9zc09yaWdpblByZWZsaWdodENoZWNrZXI6OmRvUHJlZmxpZ2h0
KERvY3VtZW50VGhyZWFkYWJsZUxvYWRlciYgbG9hZGVyLAogICAgIFJlc291cmNlUmVzcG9uc2Ug
cmVzcG9uc2U7CiAgICAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gZGF0YTsKIAotICAgIHVuc2lnbmVk
IGlkZW50aWZpZXIgPSBsb2FkZXIuZG9jdW1lbnQoKS5mcmFtZSgpLT5sb2FkZXIoKS5sb2FkUmVz
b3VyY2VTeW5jaHJvbm91c2x5KHByZWZsaWdodFJlcXVlc3QsIENsaWVudENyZWRlbnRpYWxQb2xp
Y3k6OkNhbm5vdEFza0NsaWVudEZvckNyZWRlbnRpYWxzLCBGZXRjaE9wdGlvbnMgeyB9LCB7IH0s
IGVycm9yLCByZXNwb25zZSwgZGF0YSk7CisgICAgdW5zaWduZWQgaWRlbnRpZmllciA9IGxvYWRl
ci5kb2N1bWVudCgpLmZyYW1lKCktPmxvYWRlcigpLmxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHko
cHJlZmxpZ2h0UmVxdWVzdCwgQ2xpZW50Q3JlZGVudGlhbFBvbGljeTo6Q2Fubm90QXNrQ2xpZW50
Rm9yQ3JlZGVudGlhbHMsIFJlc291cmNlTG9hZGVyT3B0aW9ucyB7IH0sIHsgfSwgZXJyb3IsIHJl
c3BvbnNlLCBkYXRhKTsKIAogICAgIGlmICghZXJyb3IuaXNOdWxsKCkpIHsKICAgICAgICAgLy8g
SWYgdGhlIHByZWZsaWdodCB3YXMgY2FuY2VsbGVkIGJ5IHVuZGVybHlpbmcgY29kZSwgaXQgcHJv
YmFibHkgbWVhbnMgdGhlIHJlcXVlc3Qgd2FzIGJsb2NrZWQgZHVlIHRvIHNvbWUgYWNjZXNzIGNv
bnRyb2wgcG9saWN5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50
VGhyZWFkYWJsZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJl
YWRhYmxlTG9hZGVyLmNwcAppbmRleCBlZTZiZDE1OWY4ODQ3N2JiYjNjNDRkOWU4ZTY5OTU2M2Nj
M2MxODRhLi4yNjk1NWFlYWVkNzM5ODk3MmE5MWVlYjUzOTU1NGVlOTFjYjY3YWMzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmNwcApA
QCAtMTYxLDcgKzE2MSw3IEBAIERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6RG9jdW1lbnRUaHJl
YWRhYmxlTG9hZGVyKERvY3VtZW50JiBkb2N1bWVudCwgVGhyZWFkYWJsCiAgICAgaWYgKHNob3Vs
ZERpc2FibGVDT1JTKSB7CiAgICAgICAgIG1fb3B0aW9ucy5tb2RlID0gRmV0Y2hPcHRpb25zOjpN
b2RlOjpOb0NvcnM7CiAgICAgICAgIG1fb3B0aW9ucy5maWx0ZXJpbmdQb2xpY3kgPSBSZXNwb25z
ZUZpbHRlcmluZ1BvbGljeTo6RGlzYWJsZTsKLSAgICAgICAgbV9yZXNwb25zZXNDYW5CZU9wYXF1
ZSA9IGZhbHNlOworICAgICAgICBtX29wdGlvbnMucmVzcG9uc2VBY2Nlc3MgPSBSZXNwb25zZUFj
Y2Vzczo6RnVsbDsKICAgICB9CiAKICAgICBtX29wdGlvbnMuY3NwUmVzcG9uc2VIZWFkZXJzID0g
bV9vcHRpb25zLmNvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50ICE9IENvbnRlbnRTZWN1
cml0eVBvbGljeUVuZm9yY2VtZW50OjpEb05vdEVuZm9yY2UgPyB0aGlzLT5jb250ZW50U2VjdXJp
dHlQb2xpY3koKS5yZXNwb25zZUhlYWRlcnMoKSA6IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3Bv
bnNlSGVhZGVycyB7IH07CkBAIC0zNzIsNyArMzcyLDcgQEAgdm9pZCBEb2N1bWVudFRocmVhZGFi
bGVMb2FkZXI6OmRhdGFTZW50KENhY2hlZFJlc291cmNlJiByZXNvdXJjZSwgdW5zaWduZWQgbG9u
Zwogdm9pZCBEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6OnJlc3BvbnNlUmVjZWl2ZWQoQ2FjaGVk
UmVzb3VyY2UmIHJlc291cmNlLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIEFTU0VS
VF9VTlVTRUQocmVzb3VyY2UsICZyZXNvdXJjZSA9PSBtX3Jlc291cmNlKTsKLSAgICBpZiAoIW1f
cmVzcG9uc2VzQ2FuQmVPcGFxdWUpIHsKKyAgICBpZiAob3B0aW9ucygpLnJlc3BvbnNlQWNjZXNz
ID09IFJlc3BvbnNlQWNjZXNzOjpGdWxsICYmIHJlc3BvbnNlLnRhaW50aW5nKCkgIT0gUmVzb3Vy
Y2VSZXNwb25zZTo6VGFpbnRpbmc6OkJhc2ljKSB7CiAgICAgICAgIFJlc291cmNlUmVzcG9uc2Ug
cmVzcG9uc2VXaXRob3V0VGFpbnRpbmcgPSByZXNwb25zZTsKICAgICAgICAgcmVzcG9uc2VXaXRo
b3V0VGFpbnRpbmcuc2V0VGFpbnRpbmcoUmVzb3VyY2VSZXNwb25zZTo6VGFpbnRpbmc6OkJhc2lj
KTsKICAgICAgICAgZGlkUmVjZWl2ZVJlc3BvbnNlKG1fcmVzb3VyY2UtPmlkZW50aWZpZXIoKSwg
cmVzcG9uc2VXaXRob3V0VGFpbnRpbmcpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Rv
Y3VtZW50VGhyZWFkYWJsZUxvYWRlci5oCmluZGV4IDYzYzFhOWUzMzZmZThkNDYwMjE0ZTMxYWRh
ZDRkMjkxNDhhZGUzNDcuLjM2MDc4N2U5YzkzMjBmNGQ5OGMxNDdjMmUwZjdlMTYyYWQ5NDMyNWIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2Fk
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVy
LmgKQEAgLTEyMyw3ICsxMjMsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFRocmVh
ZGFibGVMb2FkZXJDbGllbnQqIG1fY2xpZW50OwogICAgICAgICBEb2N1bWVudCYgbV9kb2N1bWVu
dDsKICAgICAgICAgVGhyZWFkYWJsZUxvYWRlck9wdGlvbnMgbV9vcHRpb25zOwotICAgICAgICBi
b29sIG1fcmVzcG9uc2VzQ2FuQmVPcGFxdWUgeyB0cnVlIH07CiAgICAgICAgIFJlZlB0cjxTZWN1
cml0eU9yaWdpbj4gbV9vcmlnaW47CiAgICAgICAgIFN0cmluZyBtX3JlZmVycmVyOwogICAgICAg
ICBib29sIG1fc2FtZU9yaWdpblJlcXVlc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRnJhbWVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVy
LmNwcAppbmRleCBiODU5NTlhM2E1OGFlOTMzMWQ0NGY0YWU0ZWM5NDFiNzA1NzA4ZTFiLi44ODAw
NzJkNjhmNGZiOGRjMGM5MzY5MzViMjNkMjk5NmRlOGZjZTgzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9GcmFtZUxvYWRlci5jcHAKQEAgLTMwNTYsNyArMzA1Niw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6
OmxvYWRQb3N0UmVxdWVzdChGcmFtZUxvYWRSZXF1ZXN0JiYgcmVxdWVzdCwgY29uc3QgU3RyaW5n
JiByZWZlCiAgICAgfSk7CiB9CiAKLXVuc2lnbmVkIGxvbmcgRnJhbWVMb2FkZXI6OmxvYWRSZXNv
dXJjZVN5bmNocm9ub3VzbHkoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBDbGllbnRD
cmVkZW50aWFsUG9saWN5IGNsaWVudENyZWRlbnRpYWxQb2xpY3ksIGNvbnN0IEZldGNoT3B0aW9u
cyYgb3B0aW9ucywgY29uc3QgSFRUUEhlYWRlck1hcCYgb3JpZ2luYWxSZXF1ZXN0SGVhZGVycywg
UmVzb3VyY2VFcnJvciYgZXJyb3IsIFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBSZWZQdHI8
U2hhcmVkQnVmZmVyPiYgZGF0YSkKK3Vuc2lnbmVkIGxvbmcgRnJhbWVMb2FkZXI6OmxvYWRSZXNv
dXJjZVN5bmNocm9ub3VzbHkoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBDbGllbnRD
cmVkZW50aWFsUG9saWN5IGNsaWVudENyZWRlbnRpYWxQb2xpY3ksIGNvbnN0IFJlc291cmNlTG9h
ZGVyT3B0aW9ucyYgb3B0aW9ucywgY29uc3QgSFRUUEhlYWRlck1hcCYgb3JpZ2luYWxSZXF1ZXN0
SGVhZGVycywgUmVzb3VyY2VFcnJvciYgZXJyb3IsIFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNl
LCBSZWZQdHI8U2hhcmVkQnVmZmVyPiYgZGF0YSkKIHsKICAgICBBU1NFUlQobV9mcmFtZS5kb2N1
bWVudCgpKTsKICAgICBTdHJpbmcgcmVmZXJyZXIgPSBTZWN1cml0eVBvbGljeTo6Z2VuZXJhdGVS
ZWZlcnJlckhlYWRlcihtX2ZyYW1lLmRvY3VtZW50KCktPnJlZmVycmVyUG9saWN5KCksIHJlcXVl
c3QudXJsKCksIG91dGdvaW5nUmVmZXJyZXIoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvRnJhbWVMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ci5oCmluZGV4IDI1MTQzMzdlNzU1MGIxMDNjM2YxOGY1ZWE0NWY1ZjM3NTkxOTU1N2MuLmY2YWMx
MzY1ZGY0NmMxNWNjYTkxYWY4YjhkMzY3Mjg5ZjVjNDgxZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9G
cmFtZUxvYWRlci5oCkBAIC0xMjksNyArMTI5LDcgQEAgcHVibGljOgogI2lmIEVOQUJMRShXRUJf
QVJDSElWRSkgfHwgRU5BQkxFKE1IVE1MKQogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgbG9hZEFy
Y2hpdmUoUmVmPEFyY2hpdmU+JiYpOwogI2VuZGlmCi0gICAgdW5zaWduZWQgbG9uZyBsb2FkUmVz
b3VyY2VTeW5jaHJvbm91c2x5KGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIENsaWVudENyZWRlbnRp
YWxQb2xpY3ksIGNvbnN0IEZldGNoT3B0aW9ucyYsIGNvbnN0IEhUVFBIZWFkZXJNYXAmLCBSZXNv
dXJjZUVycm9yJiwgUmVzb3VyY2VSZXNwb25zZSYsIFJlZlB0cjxTaGFyZWRCdWZmZXI+JiBkYXRh
KTsKKyAgICB1bnNpZ25lZCBsb25nIGxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoY29uc3QgUmVz
b3VyY2VSZXF1ZXN0JiwgQ2xpZW50Q3JlZGVudGlhbFBvbGljeSwgY29uc3QgUmVzb3VyY2VMb2Fk
ZXJPcHRpb25zJiwgY29uc3QgSFRUUEhlYWRlck1hcCYsIFJlc291cmNlRXJyb3ImLCBSZXNvdXJj
ZVJlc3BvbnNlJiwgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4mIGRhdGEpOwogCiAgICAgV0VCQ09SRV9F
WFBPUlQgdm9pZCBjaGFuZ2VMb2NhdGlvbihjb25zdCBVUkwmLCBjb25zdCBTdHJpbmcmIHRhcmdl
dCwgRXZlbnQqLCBMb2NrSGlzdG9yeSwgTG9ja0JhY2tGb3J3YXJkTGlzdCwgY29uc3QgUmVmZXJy
ZXJQb2xpY3kmLCBTaG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5LCBPcHRpb25hbDxOZXdGcmFt
ZU9wZW5lclBvbGljeT4gPSBXVEY6Om51bGxvcHQsIGNvbnN0IEF0b21TdHJpbmcmIGRvd25sb2Fk
QXR0cmlidXRlID0gbnVsbEF0b20oKSwgY29uc3QgU3lzdGVtUHJldmlld0luZm8mID0geyB9LCBP
cHRpb25hbDxBZENsaWNrQXR0cmlidXRpb24+JiYgPSBXVEY6Om51bGxvcHQpOwogICAgIHZvaWQg
Y2hhbmdlTG9jYXRpb24oRnJhbWVMb2FkUmVxdWVzdCYmLCBFdmVudCogPSBudWxscHRyLCBPcHRp
b25hbDxBZENsaWNrQXR0cmlidXRpb24+JiYgPSBXVEY6Om51bGxvcHQpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0xvYWRlclN0cmF0ZWd5LmggYi9Tb3VyY2UvV2ViQ29yZS9s
b2FkZXIvTG9hZGVyU3RyYXRlZ3kuaAppbmRleCA1NzlkOTAzOGYzMTdkNDVkMjdjODRhMjdlM2Yy
MWNmZjBhZThmZGRmLi43NDQ4ZDNiYTlkNTY5NTQxYjAwYzdjZjgxMTIxYzEzOTcwYWMzY2Q1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTG9hZGVyU3RyYXRlZ3kuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sb2FkZXIvTG9hZGVyU3RyYXRlZ3kuaApAQCAtMjUsNyArMjUsNiBAQAog
CiAjcHJhZ21hIG9uY2UKIAotI2luY2x1ZGUgIkZldGNoT3B0aW9ucy5oIgogI2luY2x1ZGUgIlBh
Z2VJZGVudGlmaWVyLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VMb2FkUHJpb3JpdHkuaCIKICNpbmNs
dWRlICJSZXNvdXJjZUxvYWRlck9wdGlvbnMuaCIKQEAgLTU3LDcgKzU2LDcgQEAgc3RydWN0IEZl
dGNoT3B0aW9uczsKIGNsYXNzIFdFQkNPUkVfRVhQT1JUIExvYWRlclN0cmF0ZWd5IHsKIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIHZvaWQgbG9hZFJlc291cmNlKEZyYW1lJiwgQ2FjaGVkUmVzb3VyY2Um
LCBSZXNvdXJjZVJlcXVlc3QmJiwgY29uc3QgUmVzb3VyY2VMb2FkZXJPcHRpb25zJiwgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChSZWZQdHI8U3VicmVzb3VyY2VMb2FkZXI+JiYpPiYmKSA9IDA7Ci0g
ICAgdmlydHVhbCB2b2lkIGxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoRnJhbWVMb2FkZXImLCB1
bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIENsaWVudENy
ZWRlbnRpYWxQb2xpY3ksIGNvbnN0IEZldGNoT3B0aW9ucyYsIGNvbnN0IEhUVFBIZWFkZXJNYXAm
LCBSZXNvdXJjZUVycm9yJiwgUmVzb3VyY2VSZXNwb25zZSYsIFZlY3RvcjxjaGFyPiYgZGF0YSkg
PSAwOworICAgIHZpcnR1YWwgdm9pZCBsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KEZyYW1lTG9h
ZGVyJiwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBD
bGllbnRDcmVkZW50aWFsUG9saWN5LCBjb25zdCBSZXNvdXJjZUxvYWRlck9wdGlvbnMmLCBjb25z
dCBIVFRQSGVhZGVyTWFwJiwgUmVzb3VyY2VFcnJvciYsIFJlc291cmNlUmVzcG9uc2UmLCBWZWN0
b3I8Y2hhcj4mIGRhdGEpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgcGFnZUxvYWRDb21wbGV0ZWQo
UGFnZSYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgYnJvd3NpbmdDb250ZXh0UmVtb3ZlZChGcmFt
ZSYpID0gMDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9h
ZGVyT3B0aW9ucy5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1Jlc291cmNlTG9hZGVyT3B0aW9u
cy5oCmluZGV4IDYwNTMwZDM1OTRlYzYyMTNiNjliOTNmZTUxMDA5MWNkOTIyYjE4MGIuLjYwODY3
ZjllMDEwYTYzZThlZGVhYTQwNDFhNTNlMjM0MDM0ZGNjNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9SZXNvdXJjZUxvYWRlck9wdGlvbnMuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvUmVzb3VyY2VMb2FkZXJPcHRpb25zLmgKQEAgLTE0NSw2ICsxNDUsMTIgQEAgZW51
bSBjbGFzcyBMb2FkZWRGcm9tT3BhcXVlU291cmNlIDogdWludDhfdCB7CiB9Owogc3RhdGljIGNv
bnN0ZXhwciB1bnNpZ25lZCBiaXRXaWR0aE9mTG9hZGVkRnJvbU9wYXF1ZVNvdXJjZSA9IDE7CiAK
K2VudW0gY2xhc3MgUmVzcG9uc2VBY2Nlc3MgOiB1aW50OF90IHsKKyAgICBTYW5pdGl6ZWQsCisg
ICAgRnVsbAorfTsKK3N0YXRpYyBjb25zdGV4cHIgdW5zaWduZWQgYml0V2lkdGhPZlJlc3BvbnNl
QWNjZXNzID0gMTsKKwogc3RydWN0IFJlc291cmNlTG9hZGVyT3B0aW9ucyA6IHB1YmxpYyBGZXRj
aE9wdGlvbnMgewogICAgIFJlc291cmNlTG9hZGVyT3B0aW9ucygpCiAgICAgICAgIDogUmVzb3Vy
Y2VMb2FkZXJPcHRpb25zKEZldGNoT3B0aW9ucygpKQpAQCAtMTcwLDYgKzE3Niw3IEBAIHN0cnVj
dCBSZXNvdXJjZUxvYWRlck9wdGlvbnMgOiBwdWJsaWMgRmV0Y2hPcHRpb25zIHsKICAgICAgICAg
LCBjbGllbnRDcmVkZW50aWFsUG9saWN5KENsaWVudENyZWRlbnRpYWxQb2xpY3k6OkNhbm5vdEFz
a0NsaWVudEZvckNyZWRlbnRpYWxzKQogICAgICAgICAsIHByZWZsaWdodFBvbGljeShQcmVmbGln
aHRQb2xpY3k6OkNvbnNpZGVyKQogICAgICAgICAsIGxvYWRlZEZyb21PcGFxdWVTb3VyY2UoTG9h
ZGVkRnJvbU9wYXF1ZVNvdXJjZTo6Tm8pCisgICAgICAgICwgcmVzcG9uc2VBY2Nlc3MoUmVzcG9u
c2VBY2Nlc3M6OlNhbml0aXplZCkKICAgICB7IH0KIAogICAgIFJlc291cmNlTG9hZGVyT3B0aW9u
cyhTZW5kQ2FsbGJhY2tQb2xpY3kgc2VuZExvYWRDYWxsYmFja3MsIENvbnRlbnRTbmlmZmluZ1Bv
bGljeSBzbmlmZkNvbnRlbnQsIERhdGFCdWZmZXJpbmdQb2xpY3kgZGF0YUJ1ZmZlcmluZ1BvbGlj
eSwgU3RvcmVkQ3JlZGVudGlhbHNQb2xpY3kgc3RvcmVkQ3JlZGVudGlhbHNQb2xpY3ksIENsaWVu
dENyZWRlbnRpYWxQb2xpY3kgY3JlZGVudGlhbFBvbGljeSwgRmV0Y2hPcHRpb25zOjpDcmVkZW50
aWFscyBjcmVkZW50aWFscywgU2VjdXJpdHlDaGVja1BvbGljeSBzZWN1cml0eUNoZWNrLCBGZXRj
aE9wdGlvbnM6Ok1vZGUgbW9kZSwgQ2VydGlmaWNhdGVJbmZvUG9saWN5IGNlcnRpZmljYXRlSW5m
b1BvbGljeSwgQ29udGVudFNlY3VyaXR5UG9saWN5SW1wb3NpdGlvbiBjb250ZW50U2VjdXJpdHlQ
b2xpY3lJbXBvc2l0aW9uLCBEZWZlcnNMb2FkaW5nUG9saWN5IGRlZmVyc0xvYWRpbmdQb2xpY3ks
IENhY2hpbmdQb2xpY3kgY2FjaGluZ1BvbGljeSkKQEAgLTE5MCw3ICsxOTcsNyBAQCBzdHJ1Y3Qg
UmVzb3VyY2VMb2FkZXJPcHRpb25zIDogcHVibGljIEZldGNoT3B0aW9ucyB7CiAgICAgICAgICwg
Y2xpZW50Q3JlZGVudGlhbFBvbGljeShjcmVkZW50aWFsUG9saWN5KQogICAgICAgICAsIHByZWZs
aWdodFBvbGljeShQcmVmbGlnaHRQb2xpY3k6OkNvbnNpZGVyKQogICAgICAgICAsIGxvYWRlZEZy
b21PcGFxdWVTb3VyY2UoTG9hZGVkRnJvbU9wYXF1ZVNvdXJjZTo6Tm8pCi0KKyAgICAgICAgLCBy
ZXNwb25zZUFjY2VzcyhSZXNwb25zZUFjY2Vzczo6U2FuaXRpemVkKQogICAgIHsKICAgICAgICAg
dGhpcy0+Y3JlZGVudGlhbHMgPSBjcmVkZW50aWFsczsKICAgICAgICAgdGhpcy0+bW9kZSA9IG1v
ZGU7CkBAIC0yMjAsNiArMjI3LDcgQEAgc3RydWN0IFJlc291cmNlTG9hZGVyT3B0aW9ucyA6IHB1
YmxpYyBGZXRjaE9wdGlvbnMgewogICAgIENsaWVudENyZWRlbnRpYWxQb2xpY3kgY2xpZW50Q3Jl
ZGVudGlhbFBvbGljeSA6IGJpdFdpZHRoT2ZDbGllbnRDcmVkZW50aWFsUG9saWN5OwogICAgIFBy
ZWZsaWdodFBvbGljeSBwcmVmbGlnaHRQb2xpY3kgOiBiaXRXaWR0aE9mUHJlZmxpZ2h0UG9saWN5
OwogICAgIExvYWRlZEZyb21PcGFxdWVTb3VyY2UgbG9hZGVkRnJvbU9wYXF1ZVNvdXJjZSA6IGJp
dFdpZHRoT2ZMb2FkZWRGcm9tT3BhcXVlU291cmNlOworICAgIFJlc3BvbnNlQWNjZXNzIHJlc3Bv
bnNlQWNjZXNzIDogYml0V2lkdGhPZlJlc3BvbnNlQWNjZXNzOwogfTsKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hl
ZFJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9jYWNoZS9DYWNoZWRS
ZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggM2E3MTEyNzdhOGFhN2M0ZjAzNTkwYzJmZTU3ODNhMjRh
ZjgyYTY0OC4uODk3Y2FmYjFjMWM5NTBmNWY1NTFiMzUyMWM3ZjY4ZTU2MmNiMTQwYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL2NhY2hlL0NhY2hlZFJlc291cmNlTG9hZGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvY2FjaGUvQ2FjaGVkUmVzb3VyY2VMb2FkZXIu
Y3BwCkBAIC0xMTE2LDYgKzExMTYsMTEgQEAgQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OlJldmFsaWRh
dGlvblBvbGljeSBDYWNoZWRSZXNvdXJjZUxvYWRlcjo6ZGV0ZXJtaW5lUmV2YWxpZGEKICAgICB9
CiAjZW5kaWYKIAorICAgIGlmIChjYWNoZWRSZXNvdXJjZVJlcXVlc3Qub3B0aW9ucygpLnJlc3Bv
bnNlQWNjZXNzICE9IGV4aXN0aW5nUmVzb3VyY2UtPm9wdGlvbnMoKS5yZXNwb25zZUFjY2Vzcykg
eworICAgICAgICBMT0coUmVzb3VyY2VMb2FkaW5nLCAiQ2FjaGVkUmVzb3VyY2VMb2FkZXI6OmRl
dGVybWluZVJldmFsaWRhdGlvblBvbGljeSByZWxvYWRpbmcgYmVjYXVzZSByZXNwb25zZSBhY2Nl
c3MgZGlmZmVycyIpOworICAgICAgICByZXR1cm4gUmVsb2FkOworICAgIH0KKwogICAgIC8vIFdl
IGFscmVhZHkgaGF2ZSBhIHByZWxvYWQgZ29pbmcgZm9yIHRoaXMgVVJMLgogICAgIGlmIChmb3JQ
cmVsb2FkID09IEZvclByZWxvYWQ6OlllcyAmJiBleGlzdGluZ1Jlc291cmNlLT5pc1ByZWxvYWRl
ZCgpKQogICAgICAgICByZXR1cm4gVXNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9BZENsaWNrQXR0cmlidXRpb25NYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvQWRDbGlja0F0dHJpYnV0aW9uTWFuYWdlci5jcHAKaW5kZXggZDhiMTBm
NmZiZWEyODMyNTNjMjFjOTUzYTVjMzZkZTRjNGIzMjZmZi4uOTVhNTkxODhlYTlhMGEwNDVkMzU0
N2M2MGIxODAxNDc3ZDg0ZDlkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9BZENsaWNrQXR0cmlidXRpb25NYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL0FkQ2xpY2tBdHRyaWJ1dGlvbk1hbmFnZXIuY3BwCkBAIC0xOTksNyArMTk5
LDcgQEAgdm9pZCBBZENsaWNrQXR0cmlidXRpb25NYW5hZ2VyOjpmaXJlQ29udmVyc2lvblJlcXVl
c3QoY29uc3QgQWRDbGlja0F0dHJpYnV0aW9uJgogICAgIGxvYWRQYXJhbWV0ZXJzLnN0b3JlZENy
ZWRlbnRpYWxzUG9saWN5ID0gU3RvcmVkQ3JlZGVudGlhbHNQb2xpY3k6OkVwaGVtZXJhbFN0YXRl
bGVzczsKICAgICBsb2FkUGFyYW1ldGVycy5vcHRpb25zID0gb3B0aW9uczsKICAgICBsb2FkUGFy
YW1ldGVycy5zaG91bGRDbGVhclJlZmVycmVyT25IVFRQU1RvSFRUUFJlZGlyZWN0ID0gdHJ1ZTsK
LSAgICBsb2FkUGFyYW1ldGVycy5zaG91bGRSZXN0cmljdEhUVFBSZXNwb25zZUFjY2VzcyA9IGZh
bHNlOworICAgIGxvYWRQYXJhbWV0ZXJzLnNob3VsZFNhbml0aXplSFRUUFJlc3BvbnNlID0gZmFs
c2U7CiAKICNpZiBFTkFCTEUoQ09OVEVOVF9FWFRFTlNJT05TKQogICAgIGxvYWRQYXJhbWV0ZXJz
Lm1haW5Eb2N1bWVudFVSTCA9IFdURk1vdmUoY29udmVyc2lvblJlZmVycmVyVVJMKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBh
cmFtZXRlcnMuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3Vy
Y2VMb2FkUGFyYW1ldGVycy5jcHAKaW5kZXggM2U0YjIzYzdhYjEwMDBkODI5ZjBmMTk4Y2ExY2Yy
MmVmNjM5MzM2OS4uMDcwNWU0MWZjNTc5ZmM2Mjg3MDlkOTI3NGU3ZDVhMzk0NjU1MTg1MyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2Fk
UGFyYW1ldGVycy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
UmVzb3VyY2VMb2FkUGFyYW1ldGVycy5jcHAKQEAgLTk4LDcgKzk4LDggQEAgdm9pZCBOZXR3b3Jr
UmVzb3VyY2VMb2FkUGFyYW1ldGVyczo6ZW5jb2RlKElQQzo6RW5jb2RlciYgZW5jb2RlcikgY29u
c3QKICAgICBlbmNvZGVyIDw8IGNzcFJlc3BvbnNlSGVhZGVyczsKICAgICBlbmNvZGVyIDw8IG9y
aWdpbmFsUmVxdWVzdEhlYWRlcnM7CiAKLSAgICBlbmNvZGVyIDw8IHNob3VsZFJlc3RyaWN0SFRU
UFJlc3BvbnNlQWNjZXNzOworICAgIGVuY29kZXIgPDwgc2hvdWxkRG9TZWN1cml0eUNoZWNrczsK
KyAgICBlbmNvZGVyIDw8IHNob3VsZFNhbml0aXplSFRUUFJlc3BvbnNlOwogCiAgICAgZW5jb2Rl
ciA8PCBwcmVmbGlnaHRQb2xpY3k7CiAKQEAgLTIzMiwxMSArMjMzLDExIEBAIE9wdGlvbmFsPE5l
dHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzPiBOZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVy
czo6ZGVjb2RlKElQCiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQub3JpZ2luYWxSZXF1
ZXN0SGVhZGVycykpCiAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAKLSAgICBPcHRpb25h
bDxib29sPiBzaG91bGRSZXN0cmljdEhUVFBSZXNwb25zZUFjY2VzczsKLSAgICBkZWNvZGVyID4+
IHNob3VsZFJlc3RyaWN0SFRUUFJlc3BvbnNlQWNjZXNzOwotICAgIGlmICghc2hvdWxkUmVzdHJp
Y3RIVFRQUmVzcG9uc2VBY2Nlc3MpCisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQuc2hv
dWxkRG9TZWN1cml0eUNoZWNrcykpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisKKyAg
ICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5zaG91bGRTYW5pdGl6ZUhUVFBSZXNwb25zZSkp
CiAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Ci0gICAgcmVzdWx0LnNob3VsZFJlc3RyaWN0
SFRUUFJlc3BvbnNlQWNjZXNzID0gKnNob3VsZFJlc3RyaWN0SFRUUFJlc3BvbnNlQWNjZXNzOwog
CiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQucHJlZmxpZ2h0UG9saWN5KSkKICAgICAg
ICAgcmV0dXJuIFdURjo6bnVsbG9wdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuaCBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMuaAppbmRleCAwY2Ux
NjdlOWUwZWUzYWExZTY1ZmQ0OWFlMThlYjYwYjdhOTAyNTk1Li44N2VmMGYyNDE4MWJiM2M0ZDAx
NTcwYjM0YzAzYzVjNzUxYTdmY2QzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmgKKysrIGIvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5oCkBAIC01Niw3
ICs1Niw4IEBAIHB1YmxpYzoKICAgICBXZWJDb3JlOjpGZXRjaE9wdGlvbnMgb3B0aW9uczsKICAg
ICBPcHRpb25hbDxXZWJDb3JlOjpDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnM+
IGNzcFJlc3BvbnNlSGVhZGVyczsKICAgICBXZWJDb3JlOjpIVFRQSGVhZGVyTWFwIG9yaWdpbmFs
UmVxdWVzdEhlYWRlcnM7Ci0gICAgYm9vbCBzaG91bGRSZXN0cmljdEhUVFBSZXNwb25zZUFjY2Vz
cyB7IGZhbHNlIH07CisgICAgYm9vbCBzaG91bGREb1NlY3VyaXR5Q2hlY2tzIHsgZmFsc2UgfTsK
KyAgICBib29sIHNob3VsZFNhbml0aXplSFRUUFJlc3BvbnNlIHsgdHJ1ZSB9OwogICAgIFdlYkNv
cmU6OlByZWZsaWdodFBvbGljeSBwcmVmbGlnaHRQb2xpY3kgeyBXZWJDb3JlOjpQcmVmbGlnaHRQ
b2xpY3k6OkNvbnNpZGVyIH07CiAgICAgYm9vbCBzaG91bGRFbmFibGVDcm9zc09yaWdpblJlc291
cmNlUG9saWN5IHsgZmFsc2UgfTsKICAgICBWZWN0b3I8UmVmUHRyPFdlYkNvcmU6OlNlY3VyaXR5
T3JpZ2luPj4gZnJhbWVBbmNlc3Rvck9yaWdpbnM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggNDQ4OGNhZGZk
ZjFiZTk2OTc3YWY5NzRjYTFhZTM5NTU4YWU5NTJhOC4uM2ZhMGVkNzllYjU2Njc4ZGY1YjI0Yjcw
ZTdlMTExZjVkMDJkYWU0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcApAQCAtMTE3LDcgKzExNyw3IEBAIE5ldHdv
cmtSZXNvdXJjZUxvYWRlcjo6TmV0d29ya1Jlc291cmNlTG9hZGVyKE5ldHdvcmtSZXNvdXJjZUxv
YWRQYXJhbWV0ZXJzJiYgcGFyCiAgICAgLy8gICAgICAgIE9uY2UgYnVnIDExNjIzMyBpcyByZXNv
bHZlZCwgdGhpcyBBU1NFUlQgY2FuIGp1c3QgYmUgIm1fd2ViUGFnZUlEICYmIG1fd2ViRnJhbWVJ
RCIKICAgICBBU1NFUlQoKG1fcGFyYW1ldGVycy53ZWJQYWdlSUQgJiYgbV9wYXJhbWV0ZXJzLndl
YkZyYW1lSUQpIHx8IG1fcGFyYW1ldGVycy5jbGllbnRDcmVkZW50aWFsUG9saWN5ID09IENsaWVu
dENyZWRlbnRpYWxQb2xpY3k6OkNhbm5vdEFza0NsaWVudEZvckNyZWRlbnRpYWxzKTsKIAotICAg
IGlmIChzeW5jaHJvbm91c1JlcGx5IHx8IHBhcmFtZXRlcnMuc2hvdWxkUmVzdHJpY3RIVFRQUmVz
cG9uc2VBY2Nlc3MgfHwgcGFyYW1ldGVycy5vcHRpb25zLmtlZXBBbGl2ZSkgeworICAgIGlmIChz
eW5jaHJvbm91c1JlcGx5IHx8IHBhcmFtZXRlcnMuc2hvdWxkRG9TZWN1cml0eUNoZWNrcyB8fCBw
YXJhbWV0ZXJzLm9wdGlvbnMua2VlcEFsaXZlKSB7CiAgICAgICAgIE5ldHdvcmtMb2FkQ2hlY2tl
cjo6TG9hZFR5cGUgcmVxdWVzdExvYWRUeXBlID0gaXNNYWluRnJhbWVMb2FkKCkgPyBOZXR3b3Jr
TG9hZENoZWNrZXI6OkxvYWRUeXBlOjpNYWluRnJhbWUgOiBOZXR3b3JrTG9hZENoZWNrZXI6Okxv
YWRUeXBlOjpPdGhlcjsKICAgICAgICAgbV9uZXR3b3JrTG9hZENoZWNrZXIgPSBtYWtlVW5pcXVl
PE5ldHdvcmtMb2FkQ2hlY2tlcj4oY29ubmVjdGlvbi5uZXR3b3JrUHJvY2VzcygpLCB0aGlzLCAg
JmNvbm5lY3Rpb24uc2NoZW1lUmVnaXN0cnkoKSwgRmV0Y2hPcHRpb25zIHsgbV9wYXJhbWV0ZXJz
Lm9wdGlvbnMgfSwgc2Vzc2lvbklEKCksIG1fcGFyYW1ldGVycy53ZWJQYWdlUHJveHlJRCwgSFRU
UEhlYWRlck1hcCB7IG1fcGFyYW1ldGVycy5vcmlnaW5hbFJlcXVlc3RIZWFkZXJzIH0sIFVSTCB7
IG1fcGFyYW1ldGVycy5yZXF1ZXN0LnVybCgpIH0sIG1fcGFyYW1ldGVycy5zb3VyY2VPcmlnaW4u
Y29weVJlZigpLCBtX3BhcmFtZXRlcnMudG9wT3JpZ2luLmNvcHlSZWYoKSwgbV9wYXJhbWV0ZXJz
LnByZWZsaWdodFBvbGljeSwgb3JpZ2luYWxSZXF1ZXN0KCkuaHR0cFJlZmVycmVyKCksIG1fcGFy
YW1ldGVycy5pc0hUVFBTVXBncmFkZUVuYWJsZWQsIHNob3VsZENhcHR1cmVFeHRyYU5ldHdvcmtM
b2FkTWV0cmljcygpLCByZXF1ZXN0TG9hZFR5cGUpOwogICAgICAgICBpZiAobV9wYXJhbWV0ZXJz
LmNzcFJlc3BvbnNlSGVhZGVycykKQEAgLTkwOCw3ICs5MDgsNyBAQCB2b2lkIE5ldHdvcmtSZXNv
dXJjZUxvYWRlcjo6ZGlkRmluaXNoV2l0aFJlZGlyZWN0UmVzcG9uc2UoV2ViQ29yZTo6UmVzb3Vy
Y2VSZXF1ZQogCiBSZXNvdXJjZVJlc3BvbnNlIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6c2FuaXRp
emVSZXNwb25zZUlmUG9zc2libGUoUmVzb3VyY2VSZXNwb25zZSYmIHJlc3BvbnNlLCBSZXNvdXJj
ZVJlc3BvbnNlOjpTYW5pdGl6YXRpb25UeXBlIHR5cGUpCiB7Ci0gICAgaWYgKG1fcGFyYW1ldGVy
cy5zaG91bGRSZXN0cmljdEhUVFBSZXNwb25zZUFjY2VzcykKKyAgICBpZiAobV9wYXJhbWV0ZXJz
LnNob3VsZFNhbml0aXplSFRUUFJlc3BvbnNlKQogICAgICAgICByZXNwb25zZS5zYW5pdGl6ZUhU
VFBIZWFkZXJGaWVsZHModHlwZSk7CiAKICAgICByZXR1cm4gV1RGTW92ZShyZXNwb25zZSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJh
dGVneS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJh
dGVneS5jcHAKaW5kZXggNjRhMDE0ZDA5NTZhYzA4ZjViYTZhOGJmNjMwYzZlMzc5ZDc0OTlmNy4u
ZDc2ZDkxZTkzYjhkYzdlYjQwODZkMDA1MTU5YzUyYzc5NjhkNjNkYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmNwcApA
QCAtMzc4LDcgKzM3OCw4IEBAIHZvaWQgV2ViTG9hZGVyU3RyYXRlZ3k6OnNjaGVkdWxlTG9hZEZy
b21OZXR3b3JrUHJvY2VzcyhSZXNvdXJjZUxvYWRlciYgcmVzb3VyY2VMCiAgICAgICAgIH0KICAg
ICB9CiAKLSAgICBsb2FkUGFyYW1ldGVycy5zaG91bGRSZXN0cmljdEhUVFBSZXNwb25zZUFjY2Vz
cyA9IHNob3VsZFBlcmZvcm1TZWN1cml0eUNoZWNrcygpOworICAgIGxvYWRQYXJhbWV0ZXJzLnNo
b3VsZERvU2VjdXJpdHlDaGVja3MgPSBzaG91bGRQZXJmb3JtU2VjdXJpdHlDaGVja3MoKTsKKyAg
ICBsb2FkUGFyYW1ldGVycy5zaG91bGRTYW5pdGl6ZUhUVFBSZXNwb25zZSA9IGxvYWRQYXJhbWV0
ZXJzLnNob3VsZERvU2VjdXJpdHlDaGVja3MgJiYgKHJlc291cmNlTG9hZGVyLm9wdGlvbnMoKS5y
ZXNwb25zZUFjY2VzcyAhPSBSZXNwb25zZUFjY2Vzczo6RnVsbCk7CiAKICAgICBsb2FkUGFyYW1l
dGVycy5pc01haW5GcmFtZU5hdmlnYXRpb24gPSByZXNvdXJjZUxvYWRlci5mcmFtZSgpICYmIHJl
c291cmNlTG9hZGVyLmZyYW1lKCktPmlzTWFpbkZyYW1lKCkgJiYgcmVzb3VyY2VMb2FkZXIub3B0
aW9ucygpLm1vZGUgPT0gRmV0Y2hPcHRpb25zOjpNb2RlOjpOYXZpZ2F0ZTsKIApAQCAtNTQ2LDcg
KzU0Nyw3IEBAIE9wdGlvbmFsPFdlYkxvYWRlclN0cmF0ZWd5OjpTeW5jTG9hZFJlc3VsdD4gV2Vi
TG9hZGVyU3RyYXRlZ3k6OnRyeUxvYWRpbmdTeW5jaHJvCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IAotdm9pZCBXZWJMb2FkZXJTdHJhdGVneTo6bG9hZFJlc291cmNlU3luY2hyb25vdXNseShGcmFt
ZUxvYWRlciYgZnJhbWVMb2FkZXIsIHVuc2lnbmVkIGxvbmcgcmVzb3VyY2VMb2FkSWRlbnRpZmll
ciwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBDbGllbnRDcmVkZW50aWFsUG9saWN5
IGNsaWVudENyZWRlbnRpYWxQb2xpY3ksICBjb25zdCBGZXRjaE9wdGlvbnMmIG9wdGlvbnMsIGNv
bnN0IEhUVFBIZWFkZXJNYXAmIG9yaWdpbmFsUmVxdWVzdEhlYWRlcnMsIFJlc291cmNlRXJyb3Im
IGVycm9yLCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgVmVjdG9yPGNoYXI+JiBkYXRhKQor
dm9pZCBXZWJMb2FkZXJTdHJhdGVneTo6bG9hZFJlc291cmNlU3luY2hyb25vdXNseShGcmFtZUxv
YWRlciYgZnJhbWVMb2FkZXIsIHVuc2lnbmVkIGxvbmcgcmVzb3VyY2VMb2FkSWRlbnRpZmllciwg
Y29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBDbGllbnRDcmVkZW50aWFsUG9saWN5IGNs
aWVudENyZWRlbnRpYWxQb2xpY3ksICBjb25zdCBSZXNvdXJjZUxvYWRlck9wdGlvbnMmIG9wdGlv
bnMsIGNvbnN0IEhUVFBIZWFkZXJNYXAmIG9yaWdpbmFsUmVxdWVzdEhlYWRlcnMsIFJlc291cmNl
RXJyb3ImIGVycm9yLCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgVmVjdG9yPGNoYXI+JiBk
YXRhKQogewogICAgIGF1dG8qIHdlYkZyYW1lTG9hZGVyQ2xpZW50ID0gdG9XZWJGcmFtZUxvYWRl
ckNsaWVudChmcmFtZUxvYWRlci5jbGllbnQoKSk7CiAgICAgYXV0byogd2ViRnJhbWUgPSB3ZWJG
cmFtZUxvYWRlckNsaWVudCA/ICZ3ZWJGcmFtZUxvYWRlckNsaWVudC0+d2ViRnJhbWUoKSA6IG51
bGxwdHI7CkBAIC01OTIsNyArNTkzLDggQEAgdm9pZCBXZWJMb2FkZXJTdHJhdGVneTo6bG9hZFJl
c291cmNlU3luY2hyb25vdXNseShGcmFtZUxvYWRlciYgZnJhbWVMb2FkZXIsIHVuc2kKICAgICBs
b2FkUGFyYW1ldGVycy5zdG9yZWRDcmVkZW50aWFsc1BvbGljeSA9IG9wdGlvbnMuY3JlZGVudGlh
bHMgPT0gRmV0Y2hPcHRpb25zOjpDcmVkZW50aWFsczo6T21pdCA/IFN0b3JlZENyZWRlbnRpYWxz
UG9saWN5OjpEb05vdFVzZSA6IFN0b3JlZENyZWRlbnRpYWxzUG9saWN5OjpVc2U7CiAgICAgbG9h
ZFBhcmFtZXRlcnMuY2xpZW50Q3JlZGVudGlhbFBvbGljeSA9IGNsaWVudENyZWRlbnRpYWxQb2xp
Y3k7CiAgICAgbG9hZFBhcmFtZXRlcnMuc2hvdWxkQ2xlYXJSZWZlcnJlck9uSFRUUFNUb0hUVFBS
ZWRpcmVjdCA9IHNob3VsZENsZWFyUmVmZXJyZXJPbkhUVFBTVG9IVFRQUmVkaXJlY3Qod2ViRnJh
bWUgPyB3ZWJGcmFtZS0+Y29yZUZyYW1lKCkgOiBudWxscHRyKTsKLSAgICBsb2FkUGFyYW1ldGVy
cy5zaG91bGRSZXN0cmljdEhUVFBSZXNwb25zZUFjY2VzcyA9IHNob3VsZFBlcmZvcm1TZWN1cml0
eUNoZWNrcygpOworICAgIGxvYWRQYXJhbWV0ZXJzLnNob3VsZERvU2VjdXJpdHlDaGVja3MgPSBz
aG91bGRQZXJmb3JtU2VjdXJpdHlDaGVja3MoKTsKKyAgICBsb2FkUGFyYW1ldGVycy5zaG91bGRT
YW5pdGl6ZUhUVFBSZXNwb25zZSA9IGxvYWRQYXJhbWV0ZXJzLnNob3VsZERvU2VjdXJpdHlDaGVj
a3MgJiYgKG9wdGlvbnMucmVzcG9uc2VBY2Nlc3MgIT0gUmVzcG9uc2VBY2Nlc3M6OkZ1bGwpOwog
CiAgICAgbG9hZFBhcmFtZXRlcnMub3B0aW9ucyA9IG9wdGlvbnM7CiAgICAgbG9hZFBhcmFtZXRl
cnMuc291cmNlT3JpZ2luID0gJmRvY3VtZW50LT5zZWN1cml0eU9yaWdpbigpOwpAQCAtNjc3LDcg
KzY3OSw3IEBAIHZvaWQgV2ViTG9hZGVyU3RyYXRlZ3k6OnN0YXJ0UGluZ0xvYWQoRnJhbWUmIGZy
YW1lLCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvCiAgICAgbG9hZFBhcmFtZXRlcnMub3B0
aW9ucyA9IG9wdGlvbnM7CiAgICAgbG9hZFBhcmFtZXRlcnMub3JpZ2luYWxSZXF1ZXN0SGVhZGVy
cyA9IG9yaWdpbmFsUmVxdWVzdEhlYWRlcnM7CiAgICAgbG9hZFBhcmFtZXRlcnMuc2hvdWxkQ2xl
YXJSZWZlcnJlck9uSFRUUFNUb0hUVFBSZWRpcmVjdCA9IHNob3VsZENsZWFyUmVmZXJyZXJPbkhU
VFBTVG9IVFRQUmVkaXJlY3QoJmZyYW1lKTsKLSAgICBsb2FkUGFyYW1ldGVycy5zaG91bGRSZXN0
cmljdEhUVFBSZXNwb25zZUFjY2VzcyA9IHNob3VsZFBlcmZvcm1TZWN1cml0eUNoZWNrcygpOwor
ICAgIGxvYWRQYXJhbWV0ZXJzLnNob3VsZERvU2VjdXJpdHlDaGVja3MgPSBzaG91bGRQZXJmb3Jt
U2VjdXJpdHlDaGVja3MoKTsKICAgICBpZiAocG9saWN5Q2hlY2sgPT0gQ29udGVudFNlY3VyaXR5
UG9saWN5SW1wb3NpdGlvbjo6RG9Qb2xpY3lDaGVjayAmJiAhZG9jdW1lbnQtPnNob3VsZEJ5cGFz
c01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSgpKSB7CiAgICAgICAgIGlmIChhdXRvKiBj
b250ZW50U2VjdXJpdHlQb2xpY3kgPSBkb2N1bWVudC0+Y29udGVudFNlY3VyaXR5UG9saWN5KCkp
CiAgICAgICAgICAgICBsb2FkUGFyYW1ldGVycy5jc3BSZXNwb25zZUhlYWRlcnMgPSBjb250ZW50
U2VjdXJpdHlQb2xpY3ktPnJlc3BvbnNlSGVhZGVycygpOwpAQCAtNzQ5LDcgKzc1MSw3IEBAIHZv
aWQgV2ViTG9hZGVyU3RyYXRlZ3k6OnByZWNvbm5lY3RUbyhXZWJDb3JlOjpSZXNvdXJjZVJlcXVl
c3QmJiByZXF1ZXN0LCBXZWJQYWdlCiAjZW5kaWYKICAgICBwYXJhbWV0ZXJzLnN0b3JlZENyZWRl
bnRpYWxzUG9saWN5ID0gc3RvcmVkQ3JlZGVudGlhbHNQb2xpY3k7CiAgICAgcGFyYW1ldGVycy5z
aG91bGRQcmVjb25uZWN0T25seSA9IFByZWNvbm5lY3RPbmx5OjpZZXM7Ci0gICAgcGFyYW1ldGVy
cy5zaG91bGRSZXN0cmljdEhUVFBSZXNwb25zZUFjY2VzcyA9IHNob3VsZFBlcmZvcm1TZWN1cml0
eUNoZWNrcygpOworICAgIHBhcmFtZXRlcnMuc2hvdWxkRG9TZWN1cml0eUNoZWNrcyA9IHNob3Vs
ZFBlcmZvcm1TZWN1cml0eUNoZWNrcygpOwogICAgIC8vIEZJWE1FOiBVc2UgdGhlIHByb3BlciBk
ZXN0aW5hdGlvbiBvbmNlIGFsbCBmZXRjaCBvcHRpb25zIGFyZSBwYXNzZWQuCiAgICAgcGFyYW1l
dGVycy5vcHRpb25zLmRlc3RpbmF0aW9uID0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6RW1w
dHlTdHJpbmc7CiAgICAgcGFyYW1ldGVycy5pc05hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluID0g
d2ViRnJhbWUuaXNUb3BGcmFtZU5hdmlnYXRpbmdUb0FwcEJvdW5kRG9tYWluKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5o
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvV2ViTG9hZGVyU3RyYXRlZ3kuaApp
bmRleCAzN2M0Y2NlY2FiODY2MWM0MTRjZmU2Yzg3OWFhYmNkZjliZjMyNTVkLi40ZjAzMmJiZmYw
NTA4Y2JlNTVkNDY0NzBjM2MyNGM2OWQ4ZWY4MTQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvTmV0d29yay9XZWJMb2FkZXJTdHJhdGVneS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYkxvYWRlclN0cmF0ZWd5LmgKQEAgLTUyLDcgKzUyLDcg
QEAgcHVibGljOgogICAgIH5XZWJMb2FkZXJTdHJhdGVneSgpIGZpbmFsOwogICAgIAogICAgIHZv
aWQgbG9hZFJlc291cmNlKFdlYkNvcmU6OkZyYW1lJiwgV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2Um
LCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmJiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VMb2Fk
ZXJPcHRpb25zJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChSZWZQdHI8V2ViQ29yZTo6U3VicmVz
b3VyY2VMb2FkZXI+JiYpPiYmKSBmaW5hbDsKLSAgICB2b2lkIGxvYWRSZXNvdXJjZVN5bmNocm9u
b3VzbHkoV2ViQ29yZTo6RnJhbWVMb2FkZXImLCB1bnNpZ25lZCBsb25nIHJlc291cmNlTG9hZElk
ZW50aWZpZXIsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIFdlYkNvcmU6OkNsaWVu
dENyZWRlbnRpYWxQb2xpY3ksIGNvbnN0IFdlYkNvcmU6OkZldGNoT3B0aW9ucyYsIGNvbnN0IFdl
YkNvcmU6OkhUVFBIZWFkZXJNYXAmLCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJiwgV2ViQ29yZTo6
UmVzb3VyY2VSZXNwb25zZSYsIFZlY3RvcjxjaGFyPiYgZGF0YSkgZmluYWw7CisgICAgdm9pZCBs
b2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KFdlYkNvcmU6OkZyYW1lTG9hZGVyJiwgdW5zaWduZWQg
bG9uZyByZXNvdXJjZUxvYWRJZGVudGlmaWVyLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVl
c3QmLCBXZWJDb3JlOjpDbGllbnRDcmVkZW50aWFsUG9saWN5LCBjb25zdCBXZWJDb3JlOjpSZXNv
dXJjZUxvYWRlck9wdGlvbnMmLCBjb25zdCBXZWJDb3JlOjpIVFRQSGVhZGVyTWFwJiwgV2ViQ29y
ZTo6UmVzb3VyY2VFcnJvciYsIFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmLCBWZWN0b3I8Y2hh
cj4mIGRhdGEpIGZpbmFsOwogICAgIHZvaWQgcGFnZUxvYWRDb21wbGV0ZWQoV2ViQ29yZTo6UGFn
ZSYpIGZpbmFsOwogICAgIHZvaWQgYnJvd3NpbmdDb250ZXh0UmVtb3ZlZChXZWJDb3JlOjpGcmFt
ZSYpIGZpbmFsOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L1dlYkNvcmVTdXBw
b3J0L1dlYlJlc291cmNlTG9hZFNjaGVkdWxlci5jcHAgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L1dl
YkNvcmVTdXBwb3J0L1dlYlJlc291cmNlTG9hZFNjaGVkdWxlci5jcHAKaW5kZXggNGE4ZTFkN2Rl
NjBiMTJhMDMxNjlhNzBkZTM5NTZjNWVhMzA0ZjhmZS4uMjI5ZDZkOGMwNDUzY2RiY2M3MDBjZjg2
MjkzNWZjNmNmYjI2NzRlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9XZWJDb3Jl
U3VwcG9ydC9XZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXRM
ZWdhY3kvV2ViQ29yZVN1cHBvcnQvV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyLmNwcApAQCAtMTA2
LDcgKzEwNiw3IEBAIHZvaWQgV2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyOjpsb2FkUmVzb3VyY2Uo
RnJhbWUmIGZyYW1lLCBDYWNoZWRSZXNvdXJjZSYgcmVzb3VyCiAgICAgfSk7CiB9CiAKLXZvaWQg
V2ViUmVzb3VyY2VMb2FkU2NoZWR1bGVyOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KEZyYW1l
TG9hZGVyJiBmcmFtZUxvYWRlciwgdW5zaWduZWQgbG9uZywgY29uc3QgUmVzb3VyY2VSZXF1ZXN0
JiByZXF1ZXN0LCBDbGllbnRDcmVkZW50aWFsUG9saWN5LCBjb25zdCBGZXRjaE9wdGlvbnMmIG9w
dGlvbnMsIGNvbnN0IEhUVFBIZWFkZXJNYXAmLCBSZXNvdXJjZUVycm9yJiBlcnJvciwgUmVzb3Vy
Y2VSZXNwb25zZSYgcmVzcG9uc2UsIFZlY3RvcjxjaGFyPiYgZGF0YSkKK3ZvaWQgV2ViUmVzb3Vy
Y2VMb2FkU2NoZWR1bGVyOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KEZyYW1lTG9hZGVyJiBm
cmFtZUxvYWRlciwgdW5zaWduZWQgbG9uZywgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0
LCBDbGllbnRDcmVkZW50aWFsUG9saWN5LCBjb25zdCBSZXNvdXJjZUxvYWRlck9wdGlvbnMmIG9w
dGlvbnMsIGNvbnN0IEhUVFBIZWFkZXJNYXAmLCBSZXNvdXJjZUVycm9yJiBlcnJvciwgUmVzb3Vy
Y2VSZXNwb25zZSYgcmVzcG9uc2UsIFZlY3RvcjxjaGFyPiYgZGF0YSkKIHsKICAgICBSZXNvdXJj
ZUhhbmRsZTo6bG9hZFJlc291cmNlU3luY2hyb25vdXNseShmcmFtZUxvYWRlci5uZXR3b3JraW5n
Q29udGV4dCgpLCByZXF1ZXN0LCBvcHRpb25zLmNyZWRlbnRpYWxzID09IEZldGNoT3B0aW9uczo6
Q3JlZGVudGlhbHM6Ok9taXQgPyBTdG9yZWRDcmVkZW50aWFsc1BvbGljeTo6RG9Ob3RVc2UgOiBT
dG9yZWRDcmVkZW50aWFsc1BvbGljeTo6VXNlLCBlcnJvciwgcmVzcG9uc2UsIGRhdGEpOwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9XZWJDb3JlU3VwcG9ydC9XZWJSZXNvdXJj
ZUxvYWRTY2hlZHVsZXIuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvV2ViQ29yZVN1cHBvcnQvV2Vi
UmVzb3VyY2VMb2FkU2NoZWR1bGVyLmgKaW5kZXggMjBmYjQ4N2IzNTM3NDJiODBkZjIyMDJhMTcx
ODE5MDk0NTE2YmQ2MS4uM2YyYzA1MWRiNTA4NTk1NjRmYjA0NjNjNzFjNDA3OWE1NTEzY2EyYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9XZWJDb3JlU3VwcG9ydC9XZWJSZXNvdXJj
ZUxvYWRTY2hlZHVsZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L1dlYkNvcmVTdXBwb3J0
L1dlYlJlc291cmNlTG9hZFNjaGVkdWxlci5oCkBAIC00NSw3ICs0NSw3IEBAIHB1YmxpYzoKICAg
ICBXZWJSZXNvdXJjZUxvYWRTY2hlZHVsZXIoKTsKIAogICAgIHZvaWQgbG9hZFJlc291cmNlKFdl
YkNvcmU6OkZyYW1lJiwgV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2UmLCBXZWJDb3JlOjpSZXNvdXJj
ZVJlcXVlc3QmJiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VMb2FkZXJPcHRpb25zJiwgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChSZWZQdHI8V2ViQ29yZTo6U3VicmVzb3VyY2VMb2FkZXI+JiYpPiYm
KSBmaW5hbDsKLSAgICB2b2lkIGxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoV2ViQ29yZTo6RnJh
bWVMb2FkZXImLCB1bnNpZ25lZCBsb25nLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Qm
LCBXZWJDb3JlOjpDbGllbnRDcmVkZW50aWFsUG9saWN5LCBjb25zdCBXZWJDb3JlOjpGZXRjaE9w
dGlvbnMmLCBjb25zdCBXZWJDb3JlOjpIVFRQSGVhZGVyTWFwJiwgV2ViQ29yZTo6UmVzb3VyY2VF
cnJvciYsIFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmLCBWZWN0b3I8Y2hhcj4mKSBmaW5hbDsK
KyAgICB2b2lkIGxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoV2ViQ29yZTo6RnJhbWVMb2FkZXIm
LCB1bnNpZ25lZCBsb25nLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmLCBXZWJDb3Jl
OjpDbGllbnRDcmVkZW50aWFsUG9saWN5LCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUxvYWRlck9w
dGlvbnMmLCBjb25zdCBXZWJDb3JlOjpIVFRQSGVhZGVyTWFwJiwgV2ViQ29yZTo6UmVzb3VyY2VF
cnJvciYsIFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmLCBWZWN0b3I8Y2hhcj4mKSBmaW5hbDsK
ICAgICB2b2lkIHBhZ2VMb2FkQ29tcGxldGVkKFdlYkNvcmU6OlBhZ2UmKSBmaW5hbDsKICAgICB2
b2lkIGJyb3dzaW5nQ29udGV4dFJlbW92ZWQoV2ViQ29yZTo6RnJhbWUmKSBmaW5hbDsKIApkaWZm
IC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDhjOTFmZTQ2
NjU3ODQyNGRlNjEyMWI4ODkyMWY2YzVlODI2ZDVhNGYuLmU5YWVjNzdkZjdjYWU4MjI3MjNmZjQy
YjRhMmVjZWUyMGM1YWZmMmMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29s
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMC0wNy0yMSAgWW91ZW5uIEZhYmxldCAg
PHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgRmV0Y2gvWEhSIGxvYWRzIGRvbmUgYnkgZXh0
ZW5zaW9ucyBzaG91bGQgb3B0IG91dCBvZiByZXNwb25zZSBzYW5pdGlzYXRpb24gZG9uZSBpbiBu
ZXR3b3JrIHByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxNDU4OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFVwZGF0ZSB0ZXN0IHRvIGNoZWNrIGZvciBoZWFkZXIuIE1pbm9yIG1vZGVybml6YXRp
b24gb2YgdGhlIEpTIHNjcmlwdCB0byBpbXByaW92ZSByZWFkYWJpbGl0eS4KKworICAgICAgICAq
IFRlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV0tVUkxTY2hlbWVIYW5kbGVyLTEubW06
CisKIDIwMjAtMDctMTkgIFNhbSBXZWluaWcgIDx3ZWluaWdAYXBwbGUuY29tPgogCiAgICAgICAg
IFJlbmFtZSBDb2xvcjo6dHJhbnNwYXJlbnQgdG8gQ29sb3I6OnRyYW5zcGFyZW50QmxhY2sgdG8g
bW9yZSBjbGVhcmx5IHN0YXRlIHdoYXQgaXQgaXMKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV0tVUkxTY2hlbWVIYW5kbGVyLTEubW0gYi9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdENvY29hL1dLVVJMU2NoZW1lSGFuZGxlci0xLm1tCmlu
ZGV4IDNmNGYwMzkyOGFiMjNlNjMwY2UzYWZhZTZjYWFhMWI4NmJhOGVjZjEuLjQ2MGUzNmJjNzgy
N2EzMzY3NzgxZGZlNGNkNzhlOGEyZjRlYjYzYzcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV0tVUkxTY2hlbWVIYW5kbGVyLTEubW0KKysrIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XS1VSTFNjaGVtZUhhbmRsZXItMS5t
bQpAQCAtODM2LDcgKzgzNiw3IEBAIFRFU1QoVVJMU2NoZW1lSGFuZGxlciwgQ09SUykKIFRFU1Qo
VVJMU2NoZW1lSGFuZGxlciwgRGlzYWJsZUNPUlMpCiB7CiAgICAgVGVzdFdlYktpdEFQSTo6SFRU
UFNlcnZlciBzZXJ2ZXIoewotICAgICAgICB7ICIvc3VicmVzb3VyY2UiLCB7IHt7ICJDb250ZW50
LVR5cGUiLCAiYXBwbGljYXRpb24vanNvbiIgfX0sICJ7XCJ0ZXN0a2V5XCI6XCJ0ZXN0dmFsdWVc
In0iIH0gfQorICAgICAgICB7ICIvc3VicmVzb3VyY2UiLCB7IHt7ICJDb250ZW50LVR5cGUiLCAi
YXBwbGljYXRpb24vanNvbiIgfSwgeyAiaGVhZGVyTmFtZSIsICJoZWFkZXJWYWx1ZSIgfX0sICJ7
XCJ0ZXN0S2V5XCI6XCJ0ZXN0VmFsdWVcIn0iIH0gfQogICAgIH0pOwogCiAgICAgYm9vbCBjb3Jz
c3VjY2VzcyA9IGZhbHNlOwpAQCAtODQ5LDE0ICs4NDksMTMgQEAgVEVTVChVUkxTY2hlbWVIYW5k
bGVyLCBEaXNhYmxlQ09SUykKICAgICBbY29uZmlndXJhdGlvbiBzZXRVUkxTY2hlbWVIYW5kbGVy
OmhhbmRsZXIuZ2V0KCkgZm9yVVJMU2NoZW1lOkAiY29ycyJdOwogCiAgICAgTlNTdHJpbmcgKnRl
c3RKUyA9IFtOU1N0cmluZyBzdHJpbmdXaXRoRm9ybWF0OgotICAgICAgICBAImZldGNoKCdodHRw
Oi8vMTI3LjAuMC4xOiVkL3N1YnJlc291cmNlJykudGhlbihmdW5jdGlvbihyKXsiCi0gICAgICAg
ICAgICAici5qc29uKCkudGhlbihmdW5jdGlvbihvYmplY3QpIHsiCi0gICAgICAgICAgICAgICAg
ImlmIChvYmplY3QudGVzdGtleSA9PSAndGVzdHZhbHVlJykgeyIKLSAgICAgICAgICAgICAgICAg
ICAgImZldGNoKCcvY29yc3N1Y2Nlc3MnKSIKLSAgICAgICAgICAgICAgICAifSBlbHNlIHsiCi0g
ICAgICAgICAgICAgICAgICAgICJmZXRjaCgnL2NvcnNmYWlsdXJlJykiCi0gICAgICAgICAgICAg
ICAgIn0iCi0gICAgICAgICAgICAifSkuY2F0Y2goZnVuY3Rpb24oKXtmZXRjaCgnL2NvcnNmYWls
dXJlJyl9KSIKKyAgICAgICAgQCJmZXRjaCgnaHR0cDovLzEyNy4wLjAuMTolZC9zdWJyZXNvdXJj
ZScpLnRoZW4oYXN5bmMgKHIpID0+IHsiCisgICAgICAgICAgICAiaWYgKHIuaGVhZGVycy5nZXQo
J2hlYWRlck5hbWUnKSAhPSAnaGVhZGVyVmFsdWUnKSIKKyAgICAgICAgICAgICAgICAicmV0dXJu
IGZldGNoKCcvY29yc2ZhaWx1cmUnKTsiCisgICAgICAgICAgICAiY29uc3Qgb2JqZWN0ID0gYXdh
aXQgci5qc29uKCk7IgorICAgICAgICAgICAgImlmIChvYmplY3QudGVzdEtleSAhPSAndGVzdFZh
bHVlJykiCisgICAgICAgICAgICAgICAgInJldHVybiBmZXRjaCgnL2NvcnNmYWlsdXJlJyk7Igor
ICAgICAgICAgICAgImZldGNoKCcvY29yc3N1Y2Nlc3MnKTsiCiAgICAgICAgICJ9KS5jYXRjaChm
dW5jdGlvbigpe2ZldGNoKCcvY29yc2ZhaWx1cmUnKX0pIgogICAgICAgICAsIHNlcnZlci5wb3J0
KCldOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404806</attachid>
            <date>2020-07-21 03:59:28 -0700</date>
            <delta_ts>2020-07-21 11:13:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-214588-20200721125926.patch</filename>
            <type>text/plain</type>
            <size>16402</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0NTkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDA3YWQ5MDI5NGVmMGY2YmM0
YzEyZWZiN2JmNTM2M2NlYTk4MjRmMGIuLjAwM2Y4MjMzZmNjZjc1ZWY3ZmQzM2VjMGEyMDg2ZDA1
YjNkOTAyMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMjAtMDctMjEgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIEZldGNoL1hIUiBsb2FkcyBkb25l
IGJ5IGV4dGVuc2lvbnMgc2hvdWxkIG9wdCBvdXQgb2YgcmVzcG9uc2Ugc2FuaXRpc2F0aW9uIGRv
bmUgaW4gbmV0d29yayBwcm9jZXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMTQ1ODgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzY1MDYwNTYwPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNlbmQgdG8g
bmV0d29yayBwcm9jZXNzIHRoZSBDT1JTIGRpc2FibGluZyBwYXR0ZXJucy4KKyAgICAgICAgRGlz
YWJsZSBzYW5pdGl6YXRpb24gZm9yIGZldGNoL3hociBsb2FkcyB3aG9zZSBwYWdlcyBoYXZlIGEg
bWF0Y2hpbmcgcGF0dGVybi4KKworICAgICAgICBDb3ZlcmVkIGJ5IEFQSSB0ZXN0LgorCisgICAg
ICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6c2V0Q09SU0Rp
c2FibGluZ1BhdHRlcm5zKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVj
dGlvblRvV2ViUHJvY2Vzcy5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNz
L05ldHdvcmtQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6OnNo
b3VsZERpc2FibGVDT1JTRm9yUmVxdWVzdFRvIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6TmV0
d29ya1Byb2Nlc3M6OnNldENPUlNEaXNhYmxpbmdQYXR0ZXJucyk6CisgICAgICAgICogTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpzaG91bGRTYW5pdGl6ZVJl
c3BvbnNlKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Jlc291cmNlTG9hZGVyOjpzYW5pdGl6
ZVJlc3BvbnNlSWZQb3NzaWJsZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpwYXJzZUFuZEFsbG93QWNjZXNzVG9DT1JTRGlzYWJs
aW5nUGF0dGVybnMpOgorICAgICAgICAoV2ViS2l0OjptX2xpbWl0c05hdmlnYXRpb25zVG9BcHBC
b3VuZERvbWFpbnMpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjp+V2ViUGFnZSk6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2U6OnVwZGF0ZUNPUlNEaXNhYmxpbmdQYXR0ZXJucyk6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2U6OnN5bmNocm9uaXplQ09SU0Rpc2FibGluZ1BhdHRlcm5zV2l0
aE5ldHdvcmtQcm9jZXNzKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5o
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYlByb2Nlc3M6OmVuc3VyZU5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbik6CisKIDIwMjAtMDct
MjAgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIE5ldHdvcmtD
b25uZWN0aW9uVG9XZWJQcm9jZXNzIHNob3VsZCBub3QgaGFuZGxlIE5ldHdvcmtSVENQcm92aWRl
ciBtZXNzYWdlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcAppbmRleCBkMjNlYjAyMzU0OTJm
MjY1OWI3MTliODIxZmU5ZThhZDBiOWU3ODEyLi5kMzI1M2Y5MmQwYTY0NjlmNTA5OGU1Mjg2ZGM0
ZDc2ZjI0NGYwZjI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05l
dHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcApAQCAtMTE1Miw2ICsx
MTUyLDExIEBAIHZvaWQgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmJyb2FkY2FzdENv
bnNvbGVNZXNzYWdlKEpTQzo6TWVzc2FnZVNvdXJjZSBzCiAgICAgY29ubmVjdGlvbigpLnNlbmQo
TWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbjo6QnJvYWRjYXN0Q29uc29sZU1lc3Nh
Z2Uoc291cmNlLCBsZXZlbCwgbWVzc2FnZSksIDApOwogfQogCit2b2lkIE5ldHdvcmtDb25uZWN0
aW9uVG9XZWJQcm9jZXNzOjpzZXRDT1JTRGlzYWJsaW5nUGF0dGVybnMoV2ViQ29yZTo6UGFnZUlk
ZW50aWZpZXIgcGFnZUlkZW50aWZpZXIsIFZlY3RvcjxTdHJpbmc+JiYgcGF0dGVybnMpCit7Cisg
ICAgbmV0d29ya1Byb2Nlc3MoKS5zZXRDT1JTRGlzYWJsaW5nUGF0dGVybnMocGFnZUlkZW50aWZp
ZXIsIFdURk1vdmUocGF0dGVybnMpKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICN1
bmRlZiBORVRXT1JLX1BST0NFU1NfTUVTU0FHRV9DSEVDS19DT01QTEVUSU9OCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9X
ZWJQcm9jZXNzLmgKaW5kZXggNjc2YTQ4YmFmNmJiYWE1MTNlNTZlYTI2ZTgxNTZmMzNlYTUwOTg0
NS4uOTMzZTkwM2MxZjE4MmJjM2JmN2M3N2FkMzg0NTMzNWI1YzUyNTk5ZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vz
cy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25U
b1dlYlByb2Nlc3MuaApAQCAtMjUwLDYgKzI1MCw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjaGVj
a1JlbW90ZVBvcnRGb3JBY3Rpdml0eShjb25zdCBXZWJDb3JlOjpNZXNzYWdlUG9ydElkZW50aWZp
ZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpOwogICAgIHZvaWQgZGlkRGVsaXZl
ck1lc3NhZ2VQb3J0TWVzc2FnZXModWludDY0X3QgbWVzc2FnZUJhdGNoSWRlbnRpZmllcik7CiAK
KyAgICB2b2lkIHNldENPUlNEaXNhYmxpbmdQYXR0ZXJucyhXZWJDb3JlOjpQYWdlSWRlbnRpZmll
ciwgVmVjdG9yPFN0cmluZz4mJik7CisKICNpZiBVU0UoTElCV0VCUlRDKQogICAgIE5ldHdvcmtS
VENQcm92aWRlciYgcnRjUHJvdmlkZXIoKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5tZXNzYWdl
cy5pbiBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dl
YlByb2Nlc3MubWVzc2FnZXMuaW4KaW5kZXggZjkxNzNjZTBmODY5OTBjMmEwYzRmODMzY2UyYmM4
YWQ2ODAyZTlkOC4uN2FhNTkzMGJjYmEzNjJiMWQ0NWRhMmE5OWI3ZGFiNmU1MTY1YTc5YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRv
V2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCkBAIC05Niw0ICs5Niw1
IEBAIG1lc3NhZ2VzIC0+IE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzIExlZ2FjeVJlY2Vp
dmVyIHsKICAgICBDaGVja1JlbW90ZVBvcnRGb3JBY3Rpdml0eShzdHJ1Y3QgV2ViQ29yZTo6TWVz
c2FnZVBvcnRJZGVudGlmaWVyIHBvcnQpIC0+IChib29sIGhhc0FjdGl2aXR5KSBBc3luYwogICAg
IERpZERlbGl2ZXJNZXNzYWdlUG9ydE1lc3NhZ2VzKHVpbnQ2NF90IG1lc3NhZ2VCYXRjaElkZW50
aWZpZXIpCiAgICAgUmVnaXN0ZXJVUkxTY2hlbWVzQXNDT1JTRW5hYmxlZChWZWN0b3I8U3RyaW5n
PiBzY2hlbWVzKTsKKyAgICBTZXRDT1JTRGlzYWJsaW5nUGF0dGVybnMoV2ViQ29yZTo6UGFnZUlk
ZW50aWZpZXIgcGFnZUlkZW50aWZpZXIsIFZlY3RvcjxTdHJpbmc+IHBhdHRlcm5zKQogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAppbmRleCBl
MGY5ZjQxNzU1ZmYyNzI0ZDcxNzUwZDEzNmY5NWIzZGNkMDY0OGIxLi5mZTQwNDAwNmFkZGUwNzUw
ODJiOGI2M2E3ZjMyNWVhMTNkN2MxMDExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcApAQCAtODAsNiArODAsNyBAQAogI2luY2x1ZGUgPFdl
YkNvcmUvU2VjdXJpdHlPcmlnaW4uaD4KICNpbmNsdWRlIDxXZWJDb3JlL1NlY3VyaXR5T3JpZ2lu
RGF0YS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU3RvcmFnZVF1b3RhTWFuYWdlci5oPgorI2luY2x1
ZGUgPFdlYkNvcmUvVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmg+CiAjaW5jbHVkZSA8d3RmL0FsZ29y
aXRobXMuaD4KICNpbmNsdWRlIDx3dGYvQ2FsbGJhY2tBZ2dyZWdhdG9yLmg+CiAjaW5jbHVkZSA8
d3RmL09wdGlvblNldC5oPgpAQCAtMjgyOCw0ICsyODI5LDI4IEBAIHZvaWQgTmV0d29ya1Byb2Nl
c3M6OmNsZWFyQnVuZGxlSWRlbnRpZmllcihDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29t
cGxldGlvCiAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKIH0KIAorYm9vbCBOZXR3b3JrUHJvY2Vz
czo6c2hvdWxkRGlzYWJsZUNPUlNGb3JSZXF1ZXN0VG8oUGFnZUlkZW50aWZpZXIgcGFnZUlkZW50
aWZpZXIsIGNvbnN0IFVSTCYgdXJsKSBjb25zdAoreworICAgIHJldHVybiBXVEY6OmFueU9mKG1f
ZXh0ZW5zaW9uQ09SU0Rpc2FibGluZ1BhdHRlcm5zLmdldChwYWdlSWRlbnRpZmllciksIFsmXSAo
Y29uc3QgYXV0byYgcGF0dGVybikgeworICAgICAgICByZXR1cm4gcGF0dGVybi5tYXRjaGVzKHVy
bCk7CisgICAgfSk7Cit9CisKK3ZvaWQgTmV0d29ya1Byb2Nlc3M6OnNldENPUlNEaXNhYmxpbmdQ
YXR0ZXJucyhQYWdlSWRlbnRpZmllciBwYWdlSWRlbnRpZmllciwgVmVjdG9yPFN0cmluZz4mJiBw
YXR0ZXJucykKK3sKKyAgICBWZWN0b3I8VXNlckNvbnRlbnRVUkxQYXR0ZXJuPiBwYXJzZWRQYXR0
ZXJuczsKKyAgICBwYXJzZWRQYXR0ZXJucy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KHBhdHRlcm5z
LnNpemUoKSk7CisgICAgZm9yIChhdXRvJiYgcGF0dGVybiA6IFdURk1vdmUocGF0dGVybnMpKSB7
CisgICAgICAgIFVzZXJDb250ZW50VVJMUGF0dGVybiBwYXJzZWRQYXR0ZXJuKFdURk1vdmUocGF0
dGVybikpOworICAgICAgICBpZiAocGFyc2VkUGF0dGVybi5pc1ZhbGlkKCkpCisgICAgICAgICAg
ICBwYXJzZWRQYXR0ZXJucy51bmNoZWNrZWRBcHBlbmQoV1RGTW92ZShwYXJzZWRQYXR0ZXJuKSk7
CisgICAgfQorICAgIHBhcnNlZFBhdHRlcm5zLnNocmlua1RvRml0KCk7CisgICAgaWYgKHBhcnNl
ZFBhdHRlcm5zLmlzRW1wdHkoKSkgeworICAgICAgICBtX2V4dGVuc2lvbkNPUlNEaXNhYmxpbmdQ
YXR0ZXJucy5yZW1vdmUocGFnZUlkZW50aWZpZXIpOworICAgICAgICByZXR1cm47CisgICAgfQor
ICAgIG1fZXh0ZW5zaW9uQ09SU0Rpc2FibGluZ1BhdHRlcm5zLnNldChwYWdlSWRlbnRpZmllciwg
V1RGTW92ZShwYXJzZWRQYXR0ZXJucykpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaCBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaAppbmRleCAxYjA2
NDQ5ZTBiNjRhYjI5NjliNmQ1OTM1N2UwMmY4MGM5ZWM1ZTMzLi40ZGZhMTRjODc4M2RhMjI2YzMy
ODA0MGEzMmQ1OWM1YTU5MzcwNzM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrUHJvY2Vzcy5oCkBAIC04Myw2ICs4Myw3IEBAIGNsYXNzIFN0b3JhZ2VRdW90YU1h
bmFnZXI7CiBjbGFzcyBOZXR3b3JrU3RvcmFnZVNlc3Npb247CiBjbGFzcyBSZXNvdXJjZUVycm9y
OwogY2xhc3MgU1dTZXJ2ZXI7CitjbGFzcyBVc2VyQ29udGVudFVSTFBhdHRlcm47CiBlbnVtIGNs
YXNzIEhUVFBDb29raWVBY2NlcHRQb2xpY3kgOiB1aW50OF90OwogZW51bSBjbGFzcyBJbmNsdWRl
SHR0cE9ubHlDb29raWVzIDogYm9vbDsKIGVudW0gY2xhc3MgU3RvcmVkQ3JlZGVudGlhbHNQb2xp
Y3kgOiB1aW50OF90OwpAQCAtMzYzLDYgKzM2NCw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHVwZGF0
ZUJ1bmRsZUlkZW50aWZpZXIoU3RyaW5nJiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7
CiAgICAgdm9pZCBjbGVhckJ1bmRsZUlkZW50aWZpZXIoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgp
PiYmKTsKIAorICAgIGJvb2wgc2hvdWxkRGlzYWJsZUNPUlNGb3JSZXF1ZXN0VG8oV2ViQ29yZTo6
UGFnZUlkZW50aWZpZXIsIGNvbnN0IFVSTCYpIGNvbnN0OworICAgIHZvaWQgc2V0Q09SU0Rpc2Fi
bGluZ1BhdHRlcm5zKFdlYkNvcmU6OlBhZ2VJZGVudGlmaWVyLCBWZWN0b3I8U3RyaW5nPiYmKTsK
KwogcHJpdmF0ZToKICAgICB2b2lkIHBsYXRmb3JtSW5pdGlhbGl6ZU5ldHdvcmtQcm9jZXNzKGNv
bnN0IE5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJik7CiAgICAgc3RkOjp1bmlxdWVf
cHRyPFdlYkNvcmU6Ok5ldHdvcmtTdG9yYWdlU2Vzc2lvbj4gcGxhdGZvcm1DcmVhdGVEZWZhdWx0
U3RvcmFnZVNlc3Npb24oKSBjb25zdDsKQEAgLTU5OSw2ICs2MDMsOCBAQCBwcml2YXRlOgogCiAg
ICAgc3RhdGljIGNvbnN0IFNlY29uZHMgZGVmYXVsdFNlcnZpY2VXb3JrZXJGZXRjaFRpbWVvdXQ7
CiAgICAgU2Vjb25kcyBtX3NlcnZpY2VXb3JrZXJGZXRjaFRpbWVvdXQgeyBkZWZhdWx0U2Vydmlj
ZVdvcmtlckZldGNoVGltZW91dCB9OworCisgICAgSGFzaE1hcDxXZWJDb3JlOjpQYWdlSWRlbnRp
ZmllciwgVmVjdG9yPFdlYkNvcmU6OlVzZXJDb250ZW50VVJMUGF0dGVybj4+IG1fZXh0ZW5zaW9u
Q09SU0Rpc2FibGluZ1BhdHRlcm5zOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRl
ci5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRl
ci5jcHAKaW5kZXggNDQ4OGNhZGZkZjFiZTk2OTc3YWY5NzRjYTFhZTM5NTU4YWU5NTJhOC4uOTVj
MmIyYmMyZTJlMjk5YWZkNWE1MjkzYTQyNDUwYjI2ZTFiNGMyZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcApAQCAt
OTA2LDkgKzkwNiwxOSBAQCB2b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6ZGlkRmluaXNoV2l0
aFJlZGlyZWN0UmVzcG9uc2UoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZQogICAgIGNsZWFudXAoTG9h
ZFJlc3VsdDo6U3VjY2Vzcyk7CiB9CiAKK3N0YXRpYyBib29sIHNob3VsZFNhbml0aXplUmVzcG9u
c2UoY29uc3QgTmV0d29ya1Byb2Nlc3MmIHByb2Nlc3MsIE9wdGlvbmFsPFBhZ2VJZGVudGlmaWVy
PiBwYWdlSWRlbnRpZmllciwgY29uc3QgRmV0Y2hPcHRpb25zJiBvcHRpb25zLCBjb25zdCBVUkwm
IHVybCkKK3sKKyAgICBpZiAoIXBhZ2VJZGVudGlmaWVyIHx8IG9wdGlvbnMuZGVzdGluYXRpb24g
IT0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6RW1wdHlTdHJpbmcgfHwgb3B0aW9ucy5tb2Rl
ICE9IEZldGNoT3B0aW9uczo6TW9kZTo6Tm9Db3JzKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAg
ICByZXR1cm4gIXByb2Nlc3Muc2hvdWxkRGlzYWJsZUNPUlNGb3JSZXF1ZXN0VG8oKnBhZ2VJZGVu
dGlmaWVyLCB1cmwpOworfQorCiBSZXNvdXJjZVJlc3BvbnNlIE5ldHdvcmtSZXNvdXJjZUxvYWRl
cjo6c2FuaXRpemVSZXNwb25zZUlmUG9zc2libGUoUmVzb3VyY2VSZXNwb25zZSYmIHJlc3BvbnNl
LCBSZXNvdXJjZVJlc3BvbnNlOjpTYW5pdGl6YXRpb25UeXBlIHR5cGUpCiB7Ci0gICAgaWYgKG1f
cGFyYW1ldGVycy5zaG91bGRSZXN0cmljdEhUVFBSZXNwb25zZUFjY2VzcykKKyAgICBpZiAoIW1f
cGFyYW1ldGVycy5zaG91bGRSZXN0cmljdEhUVFBSZXNwb25zZUFjY2VzcykKKyAgICAgICAgcmV0
dXJuIFdURk1vdmUocmVzcG9uc2UpOworCisgICAgaWYgKHNob3VsZFNhbml0aXplUmVzcG9uc2Uo
bV9jb25uZWN0aW9uLT5uZXR3b3JrUHJvY2VzcygpLCBwYWdlSUQoKSwgcGFyYW1ldGVycygpLm9w
dGlvbnMsIG9yaWdpbmFsUmVxdWVzdCgpLnVybCgpKSkKICAgICAgICAgcmVzcG9uc2Uuc2FuaXRp
emVIVFRQSGVhZGVyRmllbGRzKHR5cGUpOwogCiAgICAgcmV0dXJuIFdURk1vdmUocmVzcG9uc2Up
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCAx
OGI2ZTAxYTdkNTE2NzAyNzU4NDE2MjM5YTcwZjhhOTYyYTQ5OTY3Li41YTU5MzRjNDgyMWY4Mzk4
Y2Y4ODQzNmQyYWJmNjQ1YWJiMTQzOGJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtMzkzLDEyICszOTMsMTIgQEAgUmVmPFdlYlBhZ2U+IFdl
YlBhZ2U6OmNyZWF0ZShQYWdlSWRlbnRpZmllciBwYWdlSUQsIFdlYlBhZ2VDcmVhdGlvblBhcmFt
ZXRlcnMmJgogICAgIHJldHVybiBwYWdlOwogfQogCi1zdGF0aWMgVmVjdG9yPFVzZXJDb250ZW50
VVJMUGF0dGVybj4gcGFyc2VBbmRBbGxvd0FjY2Vzc1RvQ09SU0Rpc2FibGluZ1BhdHRlcm5zKFZl
Y3RvcjxTdHJpbmc+JiYgaW5wdXQpCitzdGF0aWMgVmVjdG9yPFVzZXJDb250ZW50VVJMUGF0dGVy
bj4gcGFyc2VBbmRBbGxvd0FjY2Vzc1RvQ09SU0Rpc2FibGluZ1BhdHRlcm5zKGNvbnN0IFZlY3Rv
cjxTdHJpbmc+JiBpbnB1dCkKIHsKICAgICBWZWN0b3I8VXNlckNvbnRlbnRVUkxQYXR0ZXJuPiBw
YXJzZWRQYXR0ZXJuczsKICAgICBwYXJzZWRQYXR0ZXJucy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5
KGlucHV0LnNpemUoKSk7Ci0gICAgZm9yIChhdXRvJiYgcGF0dGVybiA6IFdURk1vdmUoaW5wdXQp
KSB7Ci0gICAgICAgIFVzZXJDb250ZW50VVJMUGF0dGVybiBwYXJzZWRQYXR0ZXJuKFdURk1vdmUo
cGF0dGVybikpOworICAgIGZvciAoY29uc3QgYXV0byYgcGF0dGVybiA6IGlucHV0KSB7CisgICAg
ICAgIFVzZXJDb250ZW50VVJMUGF0dGVybiBwYXJzZWRQYXR0ZXJuKHBhdHRlcm4pOwogICAgICAg
ICBpZiAocGFyc2VkUGF0dGVybi5pc1ZhbGlkKCkpIHsKICAgICAgICAgICAgIFdlYkNvcmU6OlNl
Y3VyaXR5UG9saWN5OjphbGxvd0FjY2Vzc1RvKHBhcnNlZFBhdHRlcm4pOwogICAgICAgICAgICAg
cGFyc2VkUGF0dGVybnMudW5jaGVja2VkQXBwZW5kKFdURk1vdmUocGFyc2VkUGF0dGVybikpOwpA
QCAtNTQ4LDggKzU0OCwxMiBAQCBXZWJQYWdlOjpXZWJQYWdlKFBhZ2VJZGVudGlmaWVyIHBhZ2VJ
RCwgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyYmIHBhcmFtZXRlcnMpCiAjaWYgUExBVEZPUk0o
SU9TX0ZBTUlMWSkgJiYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKICAgICBwYWdlQ29uZmln
dXJhdGlvbi5kZXZpY2VPcmllbnRhdGlvblVwZGF0ZVByb3ZpZGVyID0gV2ViRGV2aWNlT3JpZW50
YXRpb25VcGRhdGVQcm92aWRlcjo6Y3JlYXRlKCp0aGlzKTsKICNlbmRpZgotICAgIAotICAgIHBh
Z2VDb25maWd1cmF0aW9uLmNvcnNEaXNhYmxpbmdQYXR0ZXJucyA9IHBhcnNlQW5kQWxsb3dBY2Nl
c3NUb0NPUlNEaXNhYmxpbmdQYXR0ZXJucyhXVEZNb3ZlKHBhcmFtZXRlcnMuY29yc0Rpc2FibGlu
Z1BhdHRlcm5zKSk7CisKKyAgICBtX2NvcnNEaXNhYmxpbmdQYXR0ZXJucyA9IFdURk1vdmUocGFy
YW1ldGVycy5jb3JzRGlzYWJsaW5nUGF0dGVybnMpOworICAgIGlmICghbV9jb3JzRGlzYWJsaW5n
UGF0dGVybnMuaXNFbXB0eSgpKQorICAgICAgICBzeW5jaHJvbml6ZUNPUlNEaXNhYmxpbmdQYXR0
ZXJuc1dpdGhOZXR3b3JrUHJvY2VzcygpOworICAgIHBhZ2VDb25maWd1cmF0aW9uLmNvcnNEaXNh
YmxpbmdQYXR0ZXJucyA9IHBhcnNlQW5kQWxsb3dBY2Nlc3NUb0NPUlNEaXNhYmxpbmdQYXR0ZXJu
cyhtX2NvcnNEaXNhYmxpbmdQYXR0ZXJucyk7CisKICAgICBwYWdlQ29uZmlndXJhdGlvbi51c2Vy
U2NyaXB0c1Nob3VsZFdhaXRVbnRpbE5vdGlmaWNhdGlvbiA9IHBhcmFtZXRlcnMudXNlclNjcmlw
dHNTaG91bGRXYWl0VW50aWxOb3RpZmljYXRpb247CiAgICAgcGFnZUNvbmZpZ3VyYXRpb24ubG9h
ZHNTdWJyZXNvdXJjZXMgPSBwYXJhbWV0ZXJzLmxvYWRzU3VicmVzb3VyY2VzOwogICAgIHBhZ2VD
b25maWd1cmF0aW9uLmxvYWRzRnJvbU5ldHdvcmsgPSBwYXJhbWV0ZXJzLmxvYWRzRnJvbU5ldHdv
cms7CkBAIC04NzAsNiArODc0LDExIEBAIFdlYlBhZ2U6On5XZWJQYWdlKCkKIHsKICAgICBBU1NF
UlQoIW1fcGFnZSk7CiAKKyAgICBpZiAoIW1fY29yc0Rpc2FibGluZ1BhdHRlcm5zLmlzRW1wdHko
KSkgeworICAgICAgICBtX2NvcnNEaXNhYmxpbmdQYXR0ZXJucy5jbGVhcigpOworICAgICAgICBz
eW5jaHJvbml6ZUNPUlNEaXNhYmxpbmdQYXR0ZXJuc1dpdGhOZXR3b3JrUHJvY2VzcygpOworICAg
IH0KKwogICAgIHBsYXRmb3JtRGV0YWNoKCk7CiAgICAgCiAgICAgbV9zYW5kYm94RXh0ZW5zaW9u
VHJhY2tlci5pbnZhbGlkYXRlKCk7CkBAIC03MTI2LDggKzcxMzUsMTggQEAgdm9pZCBXZWJQYWdl
OjpzZXRPdmVycmlkZGVuTWVkaWFUeXBlKGNvbnN0IFN0cmluZyYgbWVkaWFUeXBlKQogCiB2b2lk
IFdlYlBhZ2U6OnVwZGF0ZUNPUlNEaXNhYmxpbmdQYXR0ZXJucyhWZWN0b3I8U3RyaW5nPiYmIHBh
dHRlcm5zKQogewotICAgIGlmIChtX3BhZ2UpCi0gICAgICAgIG1fcGFnZS0+c2V0Q09SU0Rpc2Fi
bGluZ1BhdHRlcm5zKHBhcnNlQW5kQWxsb3dBY2Nlc3NUb0NPUlNEaXNhYmxpbmdQYXR0ZXJucyhX
VEZNb3ZlKHBhdHRlcm5zKSkpOworICAgIGlmICghbV9wYWdlKQorICAgICAgICByZXR1cm47CisK
KyAgICBtX2NvcnNEaXNhYmxpbmdQYXR0ZXJucyA9IFdURk1vdmUocGF0dGVybnMpOworICAgIHN5
bmNocm9uaXplQ09SU0Rpc2FibGluZ1BhdHRlcm5zV2l0aE5ldHdvcmtQcm9jZXNzKCk7CisgICAg
bV9wYWdlLT5zZXRDT1JTRGlzYWJsaW5nUGF0dGVybnMocGFyc2VBbmRBbGxvd0FjY2Vzc1RvQ09S
U0Rpc2FibGluZ1BhdHRlcm5zKG1fY29yc0Rpc2FibGluZ1BhdHRlcm5zKSk7Cit9CisKK3ZvaWQg
V2ViUGFnZTo6c3luY2hyb25pemVDT1JTRGlzYWJsaW5nUGF0dGVybnNXaXRoTmV0d29ya1Byb2Nl
c3MoKQoreworICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgcHJvYmFibHkgaGF2ZSB0aGlzIG1lY2hh
bmlzbSBkb25lIGJldHdlZW4gVUlQcm9jZXNzIGFuZCBOZXR3b3JrUHJvY2VzcyBkaXJlY3RseS4K
KyAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5lbnN1cmVOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rp
b24oKS5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3M6OlNldENPUlNEaXNhYmxpbmdQYXR0ZXJucyhtX2lkZW50aWZpZXIsIG1fY29yc0Rpc2Fi
bGluZ1BhdHRlcm5zKSwgMCk7CiB9CiAKIGJvb2wgV2ViUGFnZTo6c2hvdWxkVXNlUmVtb3RlUmVu
ZGVyaW5nRm9yKFJlbmRlcmluZ1B1cnBvc2UgcHVycG9zZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCAzZGM5NDlhOTA3MTI1NzA4NDg0NDRhNTU3NDU2
M2VmNWRjNTJiZjU2Li5hMTU0NzZjMjQ2OWU0ODdjZGIxOTlhMDg4YThkNWJhMDYxNDg1OGViIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC0xMzQ0LDYg
KzEzNDQsOCBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgdm9pZCB1cGRhdGVQcmVmZXJlbmNlc0dl
bmVyYXRlZChjb25zdCBXZWJQcmVmZXJlbmNlc1N0b3JlJik7CiAKKyAgICB2b2lkIHN5bmNocm9u
aXplQ09SU0Rpc2FibGluZ1BhdHRlcm5zV2l0aE5ldHdvcmtQcm9jZXNzKCk7CisKIHByaXZhdGU6
CiAgICAgV2ViUGFnZShXZWJDb3JlOjpQYWdlSWRlbnRpZmllciwgV2ViUGFnZUNyZWF0aW9uUGFy
YW1ldGVycyYmKTsKIApAQCAtMjEzMiw2ICsyMTM0LDcgQEAgcHJpdmF0ZToKICAgICAKICAgICBi
b29sIG1fbGltaXRzTmF2aWdhdGlvbnNUb0FwcEJvdW5kRG9tYWlucyB7IGZhbHNlIH07CiAgICAg
Ym9vbCBtX25hdmlnYXRpb25IYXNPY2N1cmVkIHsgZmFsc2UgfTsKKyAgICBWZWN0b3I8U3RyaW5n
PiBtX2NvcnNEaXNhYmxpbmdQYXR0ZXJuczsKIH07CiAKICNpZiAhUExBVEZPUk0oSU9TX0ZBTUlM
WSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcCBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAppbmRleCA2M2JlZmMwMzll
MjkyZTFiYmYxYjcyZjE1MmYxZWMxZDM0Mjg3ZjgyLi45NWVmMzljNzhiNzg5MWMyYWRlNDUyMDBk
ZWQzYTEwMTBlYmU0MDRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3Bw
CkBAIC0xMTQ0LDYgKzExNDQsOCBAQCBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24mIFdlYlByb2Nl
c3M6OmVuc3VyZU5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbigpCiAgICAgICAgIGlmICghRG9jdW1l
bnQ6OmFsbERvY3VtZW50cygpLmlzRW1wdHkoKSkKICAgICAgICAgICAgIG1fbmV0d29ya1Byb2Nl
c3NDb25uZWN0aW9uLT5zZXJ2aWNlV29ya2VyQ29ubmVjdGlvbigpLnJlZ2lzdGVyU2VydmljZVdv
cmtlckNsaWVudHMoKTsKICNlbmRpZgorICAgICAgICBmb3IgKGF1dG8mIHdlYlBhZ2UgOiBtX3Bh
Z2VNYXAudmFsdWVzKCkpCisgICAgICAgICAgICB3ZWJQYWdlLT5zeW5jaHJvbml6ZUNPUlNEaXNh
YmxpbmdQYXR0ZXJuc1dpdGhOZXR3b3JrUHJvY2VzcygpOwogICAgIH0KICAgICAKICAgICByZXR1
cm4gKm1fbmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdl
TG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDhjOTFmZTQ2NjU3ODQyNGRlNjEyMWI4ODkyMWY2
YzVlODI2ZDVhNGYuLmU5YWVjNzdkZjdjYWU4MjI3MjNmZjQyYjRhMmVjZWUyMGM1YWZmMmMgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNCBAQAorMjAyMC0wNy0yMSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisK
KyAgICAgICAgRmV0Y2gvWEhSIGxvYWRzIGRvbmUgYnkgZXh0ZW5zaW9ucyBzaG91bGQgb3B0IG91
dCBvZiByZXNwb25zZSBzYW5pdGlzYXRpb24gZG9uZSBpbiBuZXR3b3JrIHByb2Nlc3MKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNDU4OAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZSB0ZXN0IHRv
IGNoZWNrIGZvciBoZWFkZXIuIE1pbm9yIG1vZGVybml6YXRpb24gb2YgdGhlIEpTIHNjcmlwdCB0
byBpbXByaW92ZSByZWFkYWJpbGl0eS4KKworICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0Q29jb2EvV0tVUkxTY2hlbWVIYW5kbGVyLTEubW06CisKIDIwMjAtMDctMTkgIFNhbSBX
ZWluaWcgIDx3ZWluaWdAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbmFtZSBDb2xvcjo6dHJhbnNw
YXJlbnQgdG8gQ29sb3I6OnRyYW5zcGFyZW50QmxhY2sgdG8gbW9yZSBjbGVhcmx5IHN0YXRlIHdo
YXQgaXQgaXMKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29j
b2EvV0tVUkxTY2hlbWVIYW5kbGVyLTEubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdENvY29hL1dLVVJMU2NoZW1lSGFuZGxlci0xLm1tCmluZGV4IDNmNGYwMzkyOGFiMjNlNjMw
Y2UzYWZhZTZjYWFhMWI4NmJhOGVjZjEuLjQ2MGUzNmJjNzgyN2EzMzY3NzgxZGZlNGNkNzhlOGEy
ZjRlYjYzYzcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29j
b2EvV0tVUkxTY2hlbWVIYW5kbGVyLTEubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJLaXRDb2NvYS9XS1VSTFNjaGVtZUhhbmRsZXItMS5tbQpAQCAtODM2LDcgKzgzNiw3IEBA
IFRFU1QoVVJMU2NoZW1lSGFuZGxlciwgQ09SUykKIFRFU1QoVVJMU2NoZW1lSGFuZGxlciwgRGlz
YWJsZUNPUlMpCiB7CiAgICAgVGVzdFdlYktpdEFQSTo6SFRUUFNlcnZlciBzZXJ2ZXIoewotICAg
ICAgICB7ICIvc3VicmVzb3VyY2UiLCB7IHt7ICJDb250ZW50LVR5cGUiLCAiYXBwbGljYXRpb24v
anNvbiIgfX0sICJ7XCJ0ZXN0a2V5XCI6XCJ0ZXN0dmFsdWVcIn0iIH0gfQorICAgICAgICB7ICIv
c3VicmVzb3VyY2UiLCB7IHt7ICJDb250ZW50LVR5cGUiLCAiYXBwbGljYXRpb24vanNvbiIgfSwg
eyAiaGVhZGVyTmFtZSIsICJoZWFkZXJWYWx1ZSIgfX0sICJ7XCJ0ZXN0S2V5XCI6XCJ0ZXN0VmFs
dWVcIn0iIH0gfQogICAgIH0pOwogCiAgICAgYm9vbCBjb3Jzc3VjY2VzcyA9IGZhbHNlOwpAQCAt
ODQ5LDE0ICs4NDksMTMgQEAgVEVTVChVUkxTY2hlbWVIYW5kbGVyLCBEaXNhYmxlQ09SUykKICAg
ICBbY29uZmlndXJhdGlvbiBzZXRVUkxTY2hlbWVIYW5kbGVyOmhhbmRsZXIuZ2V0KCkgZm9yVVJM
U2NoZW1lOkAiY29ycyJdOwogCiAgICAgTlNTdHJpbmcgKnRlc3RKUyA9IFtOU1N0cmluZyBzdHJp
bmdXaXRoRm9ybWF0OgotICAgICAgICBAImZldGNoKCdodHRwOi8vMTI3LjAuMC4xOiVkL3N1YnJl
c291cmNlJykudGhlbihmdW5jdGlvbihyKXsiCi0gICAgICAgICAgICAici5qc29uKCkudGhlbihm
dW5jdGlvbihvYmplY3QpIHsiCi0gICAgICAgICAgICAgICAgImlmIChvYmplY3QudGVzdGtleSA9
PSAndGVzdHZhbHVlJykgeyIKLSAgICAgICAgICAgICAgICAgICAgImZldGNoKCcvY29yc3N1Y2Nl
c3MnKSIKLSAgICAgICAgICAgICAgICAifSBlbHNlIHsiCi0gICAgICAgICAgICAgICAgICAgICJm
ZXRjaCgnL2NvcnNmYWlsdXJlJykiCi0gICAgICAgICAgICAgICAgIn0iCi0gICAgICAgICAgICAi
fSkuY2F0Y2goZnVuY3Rpb24oKXtmZXRjaCgnL2NvcnNmYWlsdXJlJyl9KSIKKyAgICAgICAgQCJm
ZXRjaCgnaHR0cDovLzEyNy4wLjAuMTolZC9zdWJyZXNvdXJjZScpLnRoZW4oYXN5bmMgKHIpID0+
IHsiCisgICAgICAgICAgICAiaWYgKHIuaGVhZGVycy5nZXQoJ2hlYWRlck5hbWUnKSAhPSAnaGVh
ZGVyVmFsdWUnKSIKKyAgICAgICAgICAgICAgICAicmV0dXJuIGZldGNoKCcvY29yc2ZhaWx1cmUn
KTsiCisgICAgICAgICAgICAiY29uc3Qgb2JqZWN0ID0gYXdhaXQgci5qc29uKCk7IgorICAgICAg
ICAgICAgImlmIChvYmplY3QudGVzdEtleSAhPSAndGVzdFZhbHVlJykiCisgICAgICAgICAgICAg
ICAgInJldHVybiBmZXRjaCgnL2NvcnNmYWlsdXJlJyk7IgorICAgICAgICAgICAgImZldGNoKCcv
Y29yc3N1Y2Nlc3MnKTsiCiAgICAgICAgICJ9KS5jYXRjaChmdW5jdGlvbigpe2ZldGNoKCcvY29y
c2ZhaWx1cmUnKX0pIgogICAgICAgICAsIHNlcnZlci5wb3J0KCldOwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>