<?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>186205</bug_id>
          
          <creation_ts>2018-06-01 13:18:28 -0700</creation_ts>
          <short_desc>REGRESSION (r229872): Unable to log into twitter.com in private sessions</short_desc>
          <delta_ts>2018-10-02 19:25:18 -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>WebKit2</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=186617</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, Regression</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>183921</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>hendrex.jakai</cc>
    
    <cc>shalin_i_parmar</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1429337</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-06-01 13:18:28 -0700</bug_when>
    <thetext>Unable to log into twitter.com in private sessions since http://trac.webkit.org/r230567.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1429339</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-06-01 13:18:44 -0700</bug_when>
    <thetext>&lt;rdar://problem/40670799&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1429348</commentid>
    <comment_count>2</comment_count>
      <attachid>341783</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-06-01 13:45:27 -0700</bug_when>
    <thetext>Created attachment 341783
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1429364</commentid>
    <comment_count>3</comment_count>
      <attachid>341783</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-06-01 14:42:49 -0700</bug_when>
    <thetext>Comment on attachment 341783
Patch

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

&gt; Source/WebCore/workers/service/server/SWServer.cpp:-75
&gt; -    RELEASE_ASSERT(m_jobQueues.isEmpty());

Shouldn&apos;t we also remove the first assert?

&gt; Source/WebKit/UIProcess/WebProcessPool.cpp:734
&gt; +    }

You might be able to use sendToNetworkingProcess/sendToStorageProcess to improve the readability.
Something like:
if (privateBrowsingEnabled) {
   ...
   return;
}

sendToNetworkingProcess(Messages::NetworkProcess::DestroySession(PAL::SessionID::legacyPrivateSessionID()), 0);
sendToStorageProcess(Messages::StorageProcess::DestroySession(PAL::SessionID::legacyPrivateSessionID()), 0);
sendToAllProcesses(Messages::WebProcess::DestroySession(PAL::SessionID::legacyPrivateSessionID()));

&gt; Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp:1482
&gt; +            weakThis-&gt;removePrevalentDomains(domainsToRemove);

Lambdas do not seem to make things better here.
How about passing the weakThis once to WebResourceLoadStatisticsStore, which could then call the removePrevalentDomains/removeAllStorageAccessHandler/grantStorageAccessHandler/... methods directly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1429365</commentid>
    <comment_count>4</comment_count>
      <attachid>341783</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-06-01 14:45:16 -0700</bug_when>
    <thetext>Comment on attachment 341783
Patch

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

&gt;&gt; Source/WebCore/workers/service/server/SWServer.cpp:-75
&gt;&gt; -    RELEASE_ASSERT(m_jobQueues.isEmpty());
&gt; 
&gt; Shouldn&apos;t we also remove the first assert?

I am not sure. It seems to work. When a session is destroyed, all its web processes should have been destroyed so we should no longer have connections to them.

&gt;&gt; Source/WebKit/UIProcess/WebProcessPool.cpp:734
&gt;&gt; +    }
&gt; 
&gt; You might be able to use sendToNetworkingProcess/sendToStorageProcess to improve the readability.
&gt; Something like:
&gt; if (privateBrowsingEnabled) {
&gt;    ...
&gt;    return;
&gt; }
&gt; 
&gt; sendToNetworkingProcess(Messages::NetworkProcess::DestroySession(PAL::SessionID::legacyPrivateSessionID()), 0);
&gt; sendToStorageProcess(Messages::StorageProcess::DestroySession(PAL::SessionID::legacyPrivateSessionID()), 0);
&gt; sendToAllProcesses(Messages::WebProcess::DestroySession(PAL::SessionID::legacyPrivateSessionID()));

Ok.

&gt;&gt; Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp:1482
&gt;&gt; +            weakThis-&gt;removePrevalentDomains(domainsToRemove);
&gt; 
&gt; Lambdas do not seem to make things better here.
&gt; How about passing the weakThis once to WebResourceLoadStatisticsStore, which could then call the removePrevalentDomains/removeAllStorageAccessHandler/grantStorageAccessHandler/... methods directly.

This is a larger refactoring. I&apos;ll try and see how big it ends up being.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1429379</commentid>
    <comment_count>5</comment_count>
      <attachid>341793</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-06-01 15:16:02 -0700</bug_when>
    <thetext>Created attachment 341793
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1429400</commentid>
    <comment_count>6</comment_count>
      <attachid>341793</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-06-01 15:56:35 -0700</bug_when>
    <thetext>Comment on attachment 341793
Patch

Clearing flags on attachment: 341793

Committed r232423: &lt;https://trac.webkit.org/changeset/232423&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1429401</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-06-01 15:56:37 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1433069</commentid>
    <comment_count>8</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-06-14 11:56:10 -0700</bug_when>
    <thetext>*** Bug 186617 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1465867</commentid>
    <comment_count>9</comment_count>
    <who name="">shalin_i_parmar</who>
    <bug_when>2018-10-02 18:42:42 -0700</bug_when>
    <thetext>I still see that this issue is happening for all Safari browsers and it is not consistent, i.e. it send with most of GET requests but not all.

In two of our apps, we see that the request was not being sent with cookies at all for variety of requests including GET and POST.

Please fix this as it is very annoying and hard to detect.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>341783</attachid>
            <date>2018-06-01 13:45:27 -0700</date>
            <delta_ts>2018-06-01 15:16:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-186205-20180601134526.patch</filename>
            <type>text/plain</type>
            <size>15418</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMyMzk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmY2MGQzNzU5Y2RjMTIz
NjYzOGU2NmE3YWM3NTc4Y2MwNjkwNGU2Yy4uMWNiYjMxZDNmN2FlMGI3OTQ2NTYwNzNlZjE5ZGRm
ZDc5YWNjOTEyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE4LTA2LTAxICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUmVncmVzc2lvbihyMjMwNTY3
KTogVW5hYmxlIHRvIGxvZyBpbnRvIHR3aXR0ZXIuY29tIGluIHByaXZhdGUgc2Vzc2lvbnMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NjIwNQorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vNDA2NzA3OTk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgV2Ugd2VyZSB1c2luZyB0aGUgc2FtZSBTV1NlcnZlciBm
b3IgYWxsIHByaXZhdGUgc2Vzc2lvbnMgYW5kIHRoZSBTV1NlcnZlcidzIHNlc3Npb25JRCB3b3Vs
ZAorICAgICAgICBiZSBsZWdhY3lQcml2YXRlU2Vzc2lvbklEKCkuIEFzIGEgcmVzdWx0LCB0aGUg
c2VydmljZSB3b3JrZXIncyBzZXNzaW9uSUQgd291bGQgYmUgbGVnYWN5UHJpdmF0ZVNlc3Npb25J
RCgpCisgICAgICAgIGFzIHdlbGwgYW5kIHdvdWxkIG5vdCBtYXRjaCB0aGUgc2Vzc2lvbklEIG9m
IGl0cyBjbGllbnQgcGFnZXMuIFRoaXMgc2Vzc2lvbklEIG1pc21hdGNoIHdhcworICAgICAgICBj
YXVzaW5nIHRoZSBicmVha2FnZS4KKworICAgICAgICBJbnN0ZWFkIG9mIHVzaW5nIHRoZSBzYW1l
IFNXU2VydmVyIG9mIGFsbCBwcml2YXRlIHNlc3Npb25zLCB3ZSBub3cgZ28gYmFjayB0byB1c2lu
ZyBhIFNXU2VydmVyCisgICAgICAgIHBlciBwcml2YXRlIHNlc3Npb24uIEhvd2V2ZXIsIHdlIG5v
dyBtYWtlIHN1cmUgdGhhdCB0aGUgU1dTZXJ2ZXIgZ2V0cyBkZXN0cm95ZWQgd2hlbmV2ZXIgaXRz
CisgICAgICAgIGNvcnJlc3BvbmRpbmcgc2Vzc2lvbiBnZXRzIGRlc3Ryb3llZC4KKworICAgICAg
ICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U1dTZXJ2ZXI6On5TV1NlcnZlcik6CisKIDIwMTgtMDYtMDEgIFphbGFuIEJ1anRhcyAgPHph
bGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXSBTaW1wbGlmeSB0aGUgZm9ybWF0dGluZyBj
bGFzcyBpbXBsZW1lbnRhdGlvbiBieSBwdXNoaW5nIGRvd24gc29tZSBvZiB0aGUgbG9naWMgdG8g
dGhlIEdlb21ldHJ5IGNsYXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDg0YzdlNDQxOGI2MTBmNDBiODcxYmFiNDYz
ZDk1YmZiMjQ4YjZkYzUuLjBmMWU2ZjJmYjMwMDJjMmNlZGVjMjZkMTI0ZjZjYmVjMzZjOThmOTcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsNDIgQEAKKzIwMTgtMDYtMDEgIENocmlzIER1bWV6ICA8Y2R1
bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBSZWdyZXNzaW9uKHIyMzA1NjcpOiBVbmFibGUgdG8g
bG9nIGludG8gdHdpdHRlci5jb20gaW4gcHJpdmF0ZSBzZXNzaW9ucworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg2MjA1CisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS80MDY3MDc5OT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBXZSB3ZXJlIHVzaW5nIHRoZSBzYW1lIFNXU2VydmVyIGZvciBhbGwgcHJpdmF0
ZSBzZXNzaW9ucyBhbmQgdGhlIFNXU2VydmVyJ3Mgc2Vzc2lvbklEIHdvdWxkCisgICAgICAgIGJl
IGxlZ2FjeVByaXZhdGVTZXNzaW9uSUQoKS4gQXMgYSByZXN1bHQsIHRoZSBzZXJ2aWNlIHdvcmtl
cidzIHNlc3Npb25JRCB3b3VsZCBiZSBsZWdhY3lQcml2YXRlU2Vzc2lvbklEKCkKKyAgICAgICAg
YXMgd2VsbCBhbmQgd291bGQgbm90IG1hdGNoIHRoZSBzZXNzaW9uSUQgb2YgaXRzIGNsaWVudCBw
YWdlcy4gVGhpcyBzZXNzaW9uSUQgbWlzbWF0Y2ggd2FzIAorICAgICAgICBjYXVzaW5nIHRoZSBi
cmVha2FnZS4KKworICAgICAgICBJbnN0ZWFkIG9mIHVzaW5nIHRoZSBzYW1lIFNXU2VydmVyIG9m
IGFsbCBwcml2YXRlIHNlc3Npb25zLCB3ZSBub3cgZ28gYmFjayB0byB1c2luZyBhIFNXU2VydmVy
CisgICAgICAgIHBlciBwcml2YXRlIHNlc3Npb24uIEhvd2V2ZXIsIHdlIG5vdyBtYWtlIHN1cmUg
dGhhdCB0aGUgU1dTZXJ2ZXIgZ2V0cyBkZXN0cm95ZWQgd2hlbmV2ZXIgaXRzCisgICAgICAgIGNv
cnJlc3BvbmRpbmcgc2Vzc2lvbiBnZXRzIGRlc3Ryb3llZC4KKworICAgICAgICAqIE5ldHdvcmtQ
cm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nl
c3M6OmRlc3Ryb3lTZXNzaW9uKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNo
ZVN0b3JhZ2VFbmdpbmUuY3BwOgorICAgICAgICAoV2ViS2l0OjpDYWNoZVN0b3JhZ2U6OkVuZ2lu
ZTo6ZnJvbSk6CisgICAgICAgICogU3RvcmFnZVByb2Nlc3MvU3RvcmFnZVByb2Nlc3MuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpTdG9yYWdlUHJvY2Vzczo6ZGVzdHJveVNlc3Npb24pOgorICAgICAg
ICAoV2ViS2l0OjpTdG9yYWdlUHJvY2Vzczo6c3dTZXJ2ZXJGb3JTZXNzaW9uKToKKyAgICAgICAg
KiBTdG9yYWdlUHJvY2Vzcy9TdG9yYWdlUHJvY2Vzcy5oOgorICAgICAgICAqIFN0b3JhZ2VQcm9j
ZXNzL1N0b3JhZ2VQcm9jZXNzLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQ
cm9jZXNzUG9vbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpzZXRBbnlQ
YWdlR3JvdXBNaWdodEhhdmVQcml2YXRlQnJvd3NpbmdFbmFibGVkKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYnNpdGVEYXRhU3RvcmU6On5XZWJzaXRlRGF0YVN0b3JlKToKKworICAgICAgICAoV2ViS2l0
OjpXZWJzaXRlRGF0YVN0b3JlOjplbmFibGVSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQW5kU2V0VGVz
dGluZ0NhbGxiYWNrKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURh
dGFTdG9yZS5oOgorICAgICAgICAoV2ViS2l0OjpXZWJzaXRlRGF0YVN0b3JlOjp3ZWFrUHRyRmFj
dG9yeSBjb25zdCk6CisgICAgICAgIEZpeCBtZW1vcnkgbGVhayBjYXVzZWQgYnkgYSByZWZlcmVu
Y2UgY3ljbGUgYmV0d2VlbiB0aGUgV2Vic2l0ZURhdGFTdG9yZSBhbmQgaXRzCisgICAgICAgIFdl
YlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZSwgYnkgdXNpbmcgV2Vha1B0ciB0byBicmVhayB0
aGUgY3ljbGUuIFRoaXMgd2FzIGNhdXNpbmcKKyAgICAgICAgdXMgdG8gbGVhayBXZWJzaXRlRGF0
YVN0b3JlIG9iamVjdHMsIHdoaWNoIHdvdWxkIHByZXZlbnQgdGhlIGRlc3RydWN0aW9uIG9mIHNl
c3Npb25zLgorCisKIDIwMTgtMDYtMDEgIE1pY2hhZWwgQ2F0YW56YXJvICA8bWNhdGFuemFyb0Bp
Z2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdIENyYXNoIGluIFdlYktpdEZhdmljb25EYXRhYmFz
ZSB3aGVuIHBhZ2VVUkwgaXMgdW5zZXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
ZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5jcHAKaW5kZXggZGMzMjVkZGQ5YzZlYTVkYjY3NzY2YWJh
YTg0M2U2M2ZjMzdkNDM5MC4uYTI3OTZjY2IwZWY5ZGY3NGVmYTc3ZDIwMmFlNWFmMGYzNzg0N2Zl
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1Nl
cnZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1Nl
cnZlci5jcHAKQEAgLTcxLDggKzcxLDYgQEAgSGFzaFNldDxTV1NlcnZlcio+JiBTV1NlcnZlcjo6
YWxsU2VydmVycygpCiBTV1NlcnZlcjo6flNXU2VydmVyKCkKIHsKICAgICBSRUxFQVNFX0FTU0VS
VChtX2Nvbm5lY3Rpb25zLmlzRW1wdHkoKSk7Ci0gICAgUkVMRUFTRV9BU1NFUlQobV9yZWdpc3Ry
YXRpb25zLmlzRW1wdHkoKSk7Ci0gICAgUkVMRUFTRV9BU1NFUlQobV9qb2JRdWV1ZXMuaXNFbXB0
eSgpKTsKICAgICAKICAgICBhbGxTZXJ2ZXJzKCkucmVtb3ZlKHRoaXMpOwogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAppbmRleCAyOWQ2MjQ2
OWQ0ODdlMDI1ODBlMzVmOWQ3MzljNjU3YmJjMTgxZTNjLi5kYjEzZGJjOTIwMWM2ZjQxYjJjODVl
YTJiNTg3OTJhMmEzZTUwMGYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L05ldHdvcmtQcm9jZXNzLmNwcApAQCAtMzYzLDYgKzM2Myw3IEBAIHZvaWQgTmV0d29ya1Byb2Nl
c3M6OmRlc3Ryb3lTZXNzaW9uKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCkKIHsKICAgICBTZXNz
aW9uVHJhY2tlcjo6ZGVzdHJveVNlc3Npb24oc2Vzc2lvbklEKTsKICAgICBtX3Nlc3Npb25zQ29u
dHJvbGxlZEJ5QXV0b21hdGlvbi5yZW1vdmUoc2Vzc2lvbklEKTsKKyAgICBDYWNoZVN0b3JhZ2U6
OkVuZ2luZTo6ZGVzdHJveUVuZ2luZShzZXNzaW9uSUQpOwogfQogCiB2b2lkIE5ldHdvcmtQcm9j
ZXNzOjpncmFudFNhbmRib3hFeHRlbnNpb25zVG9TdG9yYWdlUHJvY2Vzc0ZvckJsb2JzKGNvbnN0
IFZlY3RvcjxTdHJpbmc+JiBmaWxlbmFtZXMsIEZ1bmN0aW9uPHZvaWQgKCk+JiYgY29tcGxldGlv
bkhhbmRsZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hl
L0NhY2hlU3RvcmFnZUVuZ2luZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2Nh
Y2hlL0NhY2hlU3RvcmFnZUVuZ2luZS5jcHAKaW5kZXggZGRiOGMyNTEyODViNWZiY2M3YTZjMzhk
MzViNzJlMTg0MzBiY2Y3Mi4uZGM4NzI2NDg0NjdlMjYxOWYyZTQ3MzM0ZTU0OGMyYmI1N2JjNjMz
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0
b3JhZ2VFbmdpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUv
Q2FjaGVTdG9yYWdlRW5naW5lLmNwcApAQCAtODIsOSArODIsNiBAQCBFbmdpbmU6On5FbmdpbmUo
KQogCiBFbmdpbmUmIEVuZ2luZTo6ZnJvbShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQpCiB7Ci0g
ICAgaWYgKHNlc3Npb25JRC5pc0VwaGVtZXJhbCgpKQotICAgICAgICBzZXNzaW9uSUQgPSBQQUw6
OlNlc3Npb25JRDo6bGVnYWN5UHJpdmF0ZVNlc3Npb25JRCgpOwotCiAgICAgYXV0byBhZGRSZXN1
bHQgPSBnbG9iYWxFbmdpbmVNYXAoKS5hZGQoc2Vzc2lvbklELCBudWxscHRyKTsKICAgICBpZiAo
YWRkUmVzdWx0LmlzTmV3RW50cnkpCiAgICAgICAgIGFkZFJlc3VsdC5pdGVyYXRvci0+dmFsdWUg
PSBFbmdpbmU6OmNyZWF0ZShOZXR3b3JrUHJvY2Vzczo6c2luZ2xldG9uKCkuY2FjaGVTdG9yYWdl
RGlyZWN0b3J5KHNlc3Npb25JRCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TdG9yYWdl
UHJvY2Vzcy9TdG9yYWdlUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNz
L1N0b3JhZ2VQcm9jZXNzLmNwcAppbmRleCA0MjFjZTc2YzY1YjNjMWI3MTY4YWEyNjM2YjYyOGEw
NWRiNmJhNDIyLi5hNzkwMzE1NmIwYjI5YWEzOGU3ZTY2Njg5OTJiOGFiNDU3YjBlNWZhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1N0b3JhZ2VQcm9jZXNzLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1N0b3JhZ2VQcm9jZXNzLmNwcApAQCAt
Mjg0LDYgKzI4NCwxNiBAQCB2b2lkIFN0b3JhZ2VQcm9jZXNzOjpjcmVhdGVTdG9yYWdlVG9XZWJQ
cm9jZXNzQ29ubmVjdGlvbihib29sIGlzU2VydmljZVdvcmtlclBybwogI2VuZGlmCiB9CiAKK3Zv
aWQgU3RvcmFnZVByb2Nlc3M6OmRlc3Ryb3lTZXNzaW9uKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25J
RCkKK3sKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisgICAgbV9zd1NlcnZlcnMucmVtb3Zl
KHNlc3Npb25JRCk7CisgICAgbV9zd0RhdGFiYXNlUGF0aHMucmVtb3ZlKHNlc3Npb25JRCk7Cisj
ZWxzZQorICAgIFVOVVNFRF9QQVJBTShzZXNzaW9uSUQpOworI2VuZGlmCit9CisKIHZvaWQgU3Rv
cmFnZVByb2Nlc3M6OmZldGNoV2Vic2l0ZURhdGEoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBP
cHRpb25TZXQ8V2Vic2l0ZURhdGFUeXBlPiB3ZWJzaXRlRGF0YVR5cGVzLCB1aW50NjRfdCBjYWxs
YmFja0lEKQogewogICAgIGF1dG8gd2Vic2l0ZURhdGEgPSBzdGQ6Om1ha2VfdW5pcXVlPFdlYnNp
dGVEYXRhPigpOwpAQCAtNDI0LDEwICs0MzQsNiBAQCBTV1NlcnZlciYgU3RvcmFnZVByb2Nlc3M6
OnN3U2VydmVyRm9yU2Vzc2lvbihQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQpCiB7CiAgICAgQVNT
RVJUKHNlc3Npb25JRC5pc1ZhbGlkKCkpOwogCi0gICAgLy8gVXNlIHRoZSBzYW1lIFNXU2VydmVy
IGZvciBhbGwgZXBoZW1lcmFsIHNlc3Npb25zLgotICAgIGlmIChzZXNzaW9uSUQuaXNFcGhlbWVy
YWwoKSkKLSAgICAgICAgc2Vzc2lvbklEID0gUEFMOjpTZXNzaW9uSUQ6OmxlZ2FjeVByaXZhdGVT
ZXNzaW9uSUQoKTsKLQogICAgIGF1dG8gcmVzdWx0ID0gbV9zd1NlcnZlcnMuYWRkKHNlc3Npb25J
RCwgbnVsbHB0cik7CiAgICAgaWYgKCFyZXN1bHQuaXNOZXdFbnRyeSkgewogICAgICAgICBBU1NF
UlQocmVzdWx0Lml0ZXJhdG9yLT52YWx1ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1N0
b3JhZ2VQcm9jZXNzL1N0b3JhZ2VQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9j
ZXNzL1N0b3JhZ2VQcm9jZXNzLmgKaW5kZXggZWEwZjcxMzk3NzY3MzU3Zjg5YWJlNWY0MzViYjdh
MzBjMmIyNjkwNy4uYWIxYmIyZTA5Nzg3NmVlODEzMjYzNmQwYTgzY2NiNjU2MTMwOWUzMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TdG9yYWdlUHJvY2Vzcy5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU3RvcmFnZVByb2Nlc3MuaApAQCAtMTI4
LDYgKzEyOCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBpbml0aWFsaXplV2Vic2l0ZURhdGFTdG9y
ZShjb25zdCBTdG9yYWdlUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYpOwogICAgIHZvaWQgY3Jl
YXRlU3RvcmFnZVRvV2ViUHJvY2Vzc0Nvbm5lY3Rpb24oYm9vbCBpc1NlcnZpY2VXb3JrZXJQcm9j
ZXNzLCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEmJik7CiAKKyAgICB2b2lkIGRlc3Ryb3lT
ZXNzaW9uKFBBTDo6U2Vzc2lvbklEKTsKICAgICB2b2lkIGZldGNoV2Vic2l0ZURhdGEoUEFMOjpT
ZXNzaW9uSUQsIE9wdGlvblNldDxXZWJzaXRlRGF0YVR5cGU+IHdlYnNpdGVEYXRhVHlwZXMsIHVp
bnQ2NF90IGNhbGxiYWNrSUQpOwogICAgIHZvaWQgZGVsZXRlV2Vic2l0ZURhdGEoUEFMOjpTZXNz
aW9uSUQsIE9wdGlvblNldDxXZWJzaXRlRGF0YVR5cGU+IHdlYnNpdGVEYXRhVHlwZXMsIFdhbGxU
aW1lIG1vZGlmaWVkU2luY2UsIHVpbnQ2NF90IGNhbGxiYWNrSUQpOwogICAgIHZvaWQgZGVsZXRl
V2Vic2l0ZURhdGFGb3JPcmlnaW5zKFBBTDo6U2Vzc2lvbklELCBPcHRpb25TZXQ8V2Vic2l0ZURh
dGFUeXBlPiB3ZWJzaXRlRGF0YVR5cGVzLCBjb25zdCBWZWN0b3I8V2ViQ29yZTo6U2VjdXJpdHlP
cmlnaW5EYXRhPiYgb3JpZ2lucywgdWludDY0X3QgY2FsbGJhY2tJRCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1N0b3JhZ2VQcm9jZXNzLm1lc3NhZ2VzLmluIGIv
U291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TdG9yYWdlUHJvY2Vzcy5tZXNzYWdlcy5pbgpp
bmRleCA1NmFhNzQ2ZjdlYmI3YTc0OTYzOTFkM2VkYzM0Zjc4NDU2MzQ1Mzk2Li4zMWEwNTA3ODg0
ZjgyZGU4YTkxNjY0OGFiNjk2MTJlMzYxZDE1NzdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1N0b3JhZ2VQcm9jZXNzL1N0b3JhZ2VQcm9jZXNzLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9X
ZWJLaXQvU3RvcmFnZVByb2Nlc3MvU3RvcmFnZVByb2Nlc3MubWVzc2FnZXMuaW4KQEAgLTM1LDYg
KzM1LDggQEAgbWVzc2FnZXMgLT4gU3RvcmFnZVByb2Nlc3MgTGVnYWN5UmVjZWl2ZXIgewogICAg
IERpZEdldFNhbmRib3hFeHRlbnNpb25zRm9yQmxvYkZpbGVzKHVpbnQ2NF90IHJlcXVlc3RJRCwg
V2ViS2l0OjpTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGVBcnJheSBleHRlbnNpb25zKQogI2VuZGlm
CiAKKyAgICBEZXN0cm95U2Vzc2lvbihQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQpCisKICNpZiBF
TkFCTEUoU0VSVklDRV9XT1JLRVIpCiAgICAgRGlkTm90SGFuZGxlRmV0Y2goV2ViQ29yZTo6U1dT
ZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllciBzZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllciwgV2Vi
Q29yZTo6RmV0Y2hJZGVudGlmaWVyIGZldGNoSWRlbnRpZmllcikKICAgICBEaWRGYWlsRmV0Y2go
V2ViQ29yZTo6U1dTZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllciBzZXJ2ZXJDb25uZWN0aW9uSWRl
bnRpZmllciwgV2ViQ29yZTo6RmV0Y2hJZGVudGlmaWVyIGZldGNoSWRlbnRpZmllcikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAppbmRleCA5YjdhZDgyYzE5NGZh
YTRlMDg3ZjA0NmQwM2I1NzBhOGQ0ZDk4ZmQ3Li5hODllNGY4MWM2NTMzODE1NmVkMmY3YWU0NjE4
MzZjZWQ4OGRiZWQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9j
ZXNzUG9vbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wu
Y3BwCkBAIC03MjgsNiArNzI4LDExIEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnNldEFueVBhZ2VH
cm91cE1pZ2h0SGF2ZVByaXZhdGVCcm93c2luZ0VuYWJsZWQoYm9vbCBwcml2YXRlCiAgICAgICAg
ICAgICBuZXR3b3JrUHJvY2VzcygpLT5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrUHJvY2Vzczo6RGVz
dHJveVNlc3Npb24oUEFMOjpTZXNzaW9uSUQ6OmxlZ2FjeVByaXZhdGVTZXNzaW9uSUQoKSksIDAp
OwogICAgIH0KIAorICAgIGlmIChzdG9yYWdlUHJvY2VzcygpKSB7CisgICAgICAgIGlmICghcHJp
dmF0ZUJyb3dzaW5nRW5hYmxlZCkKKyAgICAgICAgICAgIHN0b3JhZ2VQcm9jZXNzKCktPnNlbmQo
TWVzc2FnZXM6OlN0b3JhZ2VQcm9jZXNzOjpEZXN0cm95U2Vzc2lvbihQQUw6OlNlc3Npb25JRDo6
bGVnYWN5UHJpdmF0ZVNlc3Npb25JRCgpKSwgMCk7CisgICAgfQorCiAgICAgaWYgKHByaXZhdGVC
cm93c2luZ0VuYWJsZWQpCiAgICAgICAgIHNlbmRUb0FsbFByb2Nlc3NlcyhNZXNzYWdlczo6V2Vi
UHJvY2Vzczo6QWRkV2Vic2l0ZURhdGFTdG9yZShXZWJzaXRlRGF0YVN0b3JlUGFyYW1ldGVyczo6
bGVnYWN5UHJpdmF0ZVNlc3Npb25QYXJhbWV0ZXJzKCkpKTsKICAgICBlbHNlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmNw
cCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUu
Y3BwCmluZGV4IDU0ODc2MWEzZmM0OTNjOTFmYzczM2FjZjFiOTgzYzUwZDlkMGU0NGUuLjY4MTky
ZGUxMTI5ZGM0M2Y3MzZiOTFmM2QzNzBmMDZiOWNiOGZmOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwCkBA
IC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAiTmV0d29ya1Byb2Nlc3NNZXNzYWdlcy5oIgogI2lu
Y2x1ZGUgIlN0b3JhZ2VNYW5hZ2VyLmgiCiAjaW5jbHVkZSAiU3RvcmFnZVByb2Nlc3NDcmVhdGlv
blBhcmFtZXRlcnMuaCIKKyNpbmNsdWRlICJTdG9yYWdlUHJvY2Vzc01lc3NhZ2VzLmgiCiAjaW5j
bHVkZSAiV2ViQ29va2llTWFuYWdlclByb3h5LmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzc01lc3Nh
Z2VzLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzc1Bvb2wuaCIKQEAgLTExNiw4ICsxMTcsMTAgQEAg
V2Vic2l0ZURhdGFTdG9yZTo6fldlYnNpdGVEYXRhU3RvcmUoKQogICAgIGlmIChtX3Nlc3Npb25J
RC5pc1ZhbGlkKCkgJiYgbV9zZXNzaW9uSUQgIT0gUEFMOjpTZXNzaW9uSUQ6OmRlZmF1bHRTZXNz
aW9uSUQoKSkgewogICAgICAgICBBU1NFUlQobm9uRGVmYXVsdERhdGFTdG9yZXMoKS5nZXQobV9z
ZXNzaW9uSUQpID09IHRoaXMpOwogICAgICAgICBub25EZWZhdWx0RGF0YVN0b3JlcygpLnJlbW92
ZShtX3Nlc3Npb25JRCk7Ci0gICAgICAgIGZvciAoYXV0byYgcHJvY2Vzc1Bvb2wgOiBXZWJQcm9j
ZXNzUG9vbDo6YWxsUHJvY2Vzc1Bvb2xzKCkpCisgICAgICAgIGZvciAoYXV0byYgcHJvY2Vzc1Bv
b2wgOiBXZWJQcm9jZXNzUG9vbDo6YWxsUHJvY2Vzc1Bvb2xzKCkpIHsKICAgICAgICAgICAgIHBy
b2Nlc3NQb29sLT5zZW5kVG9OZXR3b3JraW5nUHJvY2VzcyhNZXNzYWdlczo6TmV0d29ya1Byb2Nl
c3M6OkRlc3Ryb3lTZXNzaW9uKG1fc2Vzc2lvbklEKSk7CisgICAgICAgICAgICBwcm9jZXNzUG9v
bC0+c2VuZFRvU3RvcmFnZVByb2Nlc3MoTWVzc2FnZXM6OlN0b3JhZ2VQcm9jZXNzOjpEZXN0cm95
U2Vzc2lvbihtX3Nlc3Npb25JRCkpOworICAgICAgICB9CiAgICAgfQogfQogCkBAIC0xNDYyLDE2
ICsxNDY1LDIxIEBAIHZvaWQgV2Vic2l0ZURhdGFTdG9yZTo6ZW5hYmxlUmVzb3VyY2VMb2FkU3Rh
dGlzdGljc0FuZFNldFRlc3RpbmdDYWxsYmFjayhGdW5jdGlvCiAgICAgfQogCiAjaWYgSEFWRShD
Rk5FVFdPUktfU1RPUkFHRV9QQVJUSVRJT05JTkcpCi0gICAgbV9yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzID0gV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpjcmVhdGUobV9jb25maWd1cmF0
aW9uLnJlc291cmNlTG9hZFN0YXRpc3RpY3NEaXJlY3RvcnksIFdURk1vdmUoY2FsbGJhY2spLCBt
X3Nlc3Npb25JRC5pc0VwaGVtZXJhbCgpLCBbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYo
KnRoaXMpXSAoY29uc3QgVmVjdG9yPFN0cmluZz4mIGRvbWFpbnNUb1BhcnRpdGlvbiwgY29uc3Qg
VmVjdG9yPFN0cmluZz4mIGRvbWFpbnNUb0Jsb2NrLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgZG9t
YWluc1RvTmVpdGhlclBhcnRpdGlvbk5vckJsb2NrLCBTaG91bGRDbGVhckZpcnN0IHNob3VsZENs
ZWFyRmlyc3QpIHsKLSAgICAgICAgdXBkYXRlUHJldmFsZW50RG9tYWluc1RvUGFydGl0aW9uT3JC
bG9ja0Nvb2tpZXMoZG9tYWluc1RvUGFydGl0aW9uLCBkb21haW5zVG9CbG9jaywgZG9tYWluc1Rv
TmVpdGhlclBhcnRpdGlvbk5vckJsb2NrLCBzaG91bGRDbGVhckZpcnN0KTsKLSAgICB9LCBbdGhp
cywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpXSAoY29uc3QgU3RyaW5nJiByZXNvdXJj
ZURvbWFpbiwgY29uc3QgU3RyaW5nJiBmaXJzdFBhcnR5RG9tYWluLCB1aW50NjRfdCBmcmFtZUlE
LCB1aW50NjRfdCBwYWdlSUQsIFdURjo6Q29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sIGhhc0Fj
Y2Vzcyk+JiYgY2FsbGJhY2spIHsKLSAgICAgICAgaGFzU3RvcmFnZUFjY2Vzc0ZvckZyYW1lSGFu
ZGxlcihyZXNvdXJjZURvbWFpbiwgZmlyc3RQYXJ0eURvbWFpbiwgZnJhbWVJRCwgcGFnZUlELCBX
VEZNb3ZlKGNhbGxiYWNrKSk7Ci0gICAgfSwgW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVm
KCp0aGlzKV0gKGNvbnN0IFN0cmluZyYgcmVzb3VyY2VEb21haW4sIGNvbnN0IFN0cmluZyYgZmly
c3RQYXJ0eURvbWFpbiwgc3RkOjpvcHRpb25hbDx1aW50NjRfdD4gZnJhbWVJRCwgdWludDY0X3Qg
cGFnZUlELCBXVEY6OkNvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCB3YXNHcmFudGVkKT4mJiBj
YWxsYmFjaykgewotICAgICAgICBncmFudFN0b3JhZ2VBY2Nlc3NIYW5kbGVyKHJlc291cmNlRG9t
YWluLCBmaXJzdFBhcnR5RG9tYWluLCBmcmFtZUlELCBwYWdlSUQsIFdURk1vdmUoY2FsbGJhY2sp
KTsKLSAgICB9LCBbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpXSAoKSB7Ci0g
ICAgICAgIHJlbW92ZUFsbFN0b3JhZ2VBY2Nlc3NIYW5kbGVyKCk7Ci0gICAgfSwgW3RoaXMsIHBy
b3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKV0gKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBkb21h
aW5zVG9SZW1vdmUpIHsKLSAgICAgICAgcmVtb3ZlUHJldmFsZW50RG9tYWlucyhkb21haW5zVG9S
ZW1vdmUpOworICAgIG1fcmVzb3VyY2VMb2FkU3RhdGlzdGljcyA9IFdlYlJlc291cmNlTG9hZFN0
YXRpc3RpY3NTdG9yZTo6Y3JlYXRlKG1fY29uZmlndXJhdGlvbi5yZXNvdXJjZUxvYWRTdGF0aXN0
aWNzRGlyZWN0b3J5LCBXVEZNb3ZlKGNhbGxiYWNrKSwgbV9zZXNzaW9uSUQuaXNFcGhlbWVyYWwo
KSwgW3dlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpXSAoY29uc3QgVmVjdG9yPFN0cmluZz4m
IGRvbWFpbnNUb1BhcnRpdGlvbiwgY29uc3QgVmVjdG9yPFN0cmluZz4mIGRvbWFpbnNUb0Jsb2Nr
LCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgZG9tYWluc1RvTmVpdGhlclBhcnRpdGlvbk5vckJsb2Nr
LCBTaG91bGRDbGVhckZpcnN0IHNob3VsZENsZWFyRmlyc3QpIHsKKyAgICAgICAgaWYgKHdlYWtU
aGlzKQorICAgICAgICAgICAgd2Vha1RoaXMtPnVwZGF0ZVByZXZhbGVudERvbWFpbnNUb1BhcnRp
dGlvbk9yQmxvY2tDb29raWVzKGRvbWFpbnNUb1BhcnRpdGlvbiwgZG9tYWluc1RvQmxvY2ssIGRv
bWFpbnNUb05laXRoZXJQYXJ0aXRpb25Ob3JCbG9jaywgc2hvdWxkQ2xlYXJGaXJzdCk7CisgICAg
fSwgW3dlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpXSAoY29uc3QgU3RyaW5nJiByZXNvdXJj
ZURvbWFpbiwgY29uc3QgU3RyaW5nJiBmaXJzdFBhcnR5RG9tYWluLCB1aW50NjRfdCBmcmFtZUlE
LCB1aW50NjRfdCBwYWdlSUQsIFdURjo6Q29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sIGhhc0Fj
Y2Vzcyk+JiYgY2FsbGJhY2spIHsKKyAgICAgICAgaWYgKHdlYWtUaGlzKQorICAgICAgICAgICAg
d2Vha1RoaXMtPmhhc1N0b3JhZ2VBY2Nlc3NGb3JGcmFtZUhhbmRsZXIocmVzb3VyY2VEb21haW4s
IGZpcnN0UGFydHlEb21haW4sIGZyYW1lSUQsIHBhZ2VJRCwgV1RGTW92ZShjYWxsYmFjaykpOwor
ICAgIH0sIFt3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKCp0aGlzKV0gKGNvbnN0IFN0cmluZyYgcmVz
b3VyY2VEb21haW4sIGNvbnN0IFN0cmluZyYgZmlyc3RQYXJ0eURvbWFpbiwgc3RkOjpvcHRpb25h
bDx1aW50NjRfdD4gZnJhbWVJRCwgdWludDY0X3QgcGFnZUlELCBXVEY6OkNvbXBsZXRpb25IYW5k
bGVyPHZvaWQoYm9vbCB3YXNHcmFudGVkKT4mJiBjYWxsYmFjaykgeworICAgICAgICBpZiAod2Vh
a1RoaXMpCisgICAgICAgICAgICB3ZWFrVGhpcy0+Z3JhbnRTdG9yYWdlQWNjZXNzSGFuZGxlcihy
ZXNvdXJjZURvbWFpbiwgZmlyc3RQYXJ0eURvbWFpbiwgZnJhbWVJRCwgcGFnZUlELCBXVEZNb3Zl
KGNhbGxiYWNrKSk7CisgICAgfSwgW3dlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpXSAoKSB7
CisgICAgICAgIGlmICh3ZWFrVGhpcykKKyAgICAgICAgICAgIHdlYWtUaGlzLT5yZW1vdmVBbGxT
dG9yYWdlQWNjZXNzSGFuZGxlcigpOworICAgIH0sIFt3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKCp0
aGlzKV0gKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBkb21haW5zVG9SZW1vdmUpIHsKKyAgICAgICAg
aWYgKHdlYWtUaGlzKQorICAgICAgICAgICAgd2Vha1RoaXMtPnJlbW92ZVByZXZhbGVudERvbWFp
bnMoZG9tYWluc1RvUmVtb3ZlKTsKICAgICB9KTsKICNlbHNlCiAgICAgbV9yZXNvdXJjZUxvYWRT
dGF0aXN0aWNzID0gV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpjcmVhdGUobV9jb25m
aWd1cmF0aW9uLnJlc291cmNlTG9hZFN0YXRpc3RpY3NEaXJlY3RvcnksIFdURk1vdmUoY2FsbGJh
Y2spLCBtX3Nlc3Npb25JRC5pc0VwaGVtZXJhbCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuaCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuaAppbmRleCBlM2QxZTkw
OGRiMzdkY2NhMzkxZTVjOGFiMTU2YzM4MTUxZWM4NmY1Li4zYWJmOGZmNTFmNDQyYjg1MDhiMzc2
OTI1ZjVhYWQzYThiMDY4NWFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5oCkBAIC0zNyw2ICszNyw3IEBACiAjaW5j
bHVkZSA8d3RmL09wdGlvblNldC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5j
bHVkZSA8d3RmL1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CiAjaW5jbHVkZSA8
d3RmL1dvcmtRdWV1ZS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCkBAIC0x
ODIsNiArMTgzLDggQEAgcHVibGljOgogICAgIHZvaWQgYWRkU2VjS2V5UHJveHlTdG9yZShSZWY8
U2VjS2V5UHJveHlTdG9yZT4mJik7CiAjZW5kaWYKIAorICAgIGF1dG8mIHdlYWtQdHJGYWN0b3J5
KCkgY29uc3QgeyByZXR1cm4gbV93ZWFrRmFjdG9yeTsgfQorCiBwcml2YXRlOgogICAgIGV4cGxp
Y2l0IFdlYnNpdGVEYXRhU3RvcmUoUEFMOjpTZXNzaW9uSUQpOwogICAgIGV4cGxpY2l0IFdlYnNp
dGVEYXRhU3RvcmUoQ29uZmlndXJhdGlvbiwgUEFMOjpTZXNzaW9uSUQpOwpAQCAtMjEyLDYgKzIx
NSw3IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIG1heWJlUmVnaXN0ZXJXaXRoU2Vzc2lvbklETWFw
KCk7CiAKKyAgICBXZWFrUHRyRmFjdG9yeTxXZWJzaXRlRGF0YVN0b3JlPiBtX3dlYWtGYWN0b3J5
OwogICAgIGNvbnN0IFBBTDo6U2Vzc2lvbklEIG1fc2Vzc2lvbklEOwogCiAgICAgY29uc3QgQ29u
ZmlndXJhdGlvbiBtX2NvbmZpZ3VyYXRpb247Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>341793</attachid>
            <date>2018-06-01 15:16:02 -0700</date>
            <delta_ts>2018-06-01 15:56:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-186205-20180601151601.patch</filename>
            <type>text/plain</type>
            <size>16137</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjMyMzk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmY2MGQzNzU5Y2RjMTIz
NjYzOGU2NmE3YWM3NTc4Y2MwNjkwNGU2Yy4uYTM4OGNmYzc3OGE5MmQwZmNkNjI1NjFhYTViMGMx
YjQyMWY1YjY5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE4LTA2LTAxICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUmVncmVzc2lvbihyMjMwNTY3
KTogVW5hYmxlIHRvIGxvZyBpbnRvIHR3aXR0ZXIuY29tIGluIHByaXZhdGUgc2Vzc2lvbnMKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NjIwNQorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vNDA2NzA3OTk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWW91
ZW5uIEZhYmxldC4KKworICAgICAgICBXZSB3ZXJlIHVzaW5nIHRoZSBzYW1lIFNXU2VydmVyIGZv
ciBhbGwgcHJpdmF0ZSBzZXNzaW9ucyBhbmQgdGhlIFNXU2VydmVyJ3Mgc2Vzc2lvbklEIHdvdWxk
CisgICAgICAgIGJlIGxlZ2FjeVByaXZhdGVTZXNzaW9uSUQoKS4gQXMgYSByZXN1bHQsIHRoZSBz
ZXJ2aWNlIHdvcmtlcidzIHNlc3Npb25JRCB3b3VsZCBiZSBsZWdhY3lQcml2YXRlU2Vzc2lvbklE
KCkKKyAgICAgICAgYXMgd2VsbCBhbmQgd291bGQgbm90IG1hdGNoIHRoZSBzZXNzaW9uSUQgb2Yg
aXRzIGNsaWVudCBwYWdlcy4gVGhpcyBzZXNzaW9uSUQgbWlzbWF0Y2ggd2FzCisgICAgICAgIGNh
dXNpbmcgdGhlIGJyZWFrYWdlLgorCisgICAgICAgIEluc3RlYWQgb2YgdXNpbmcgdGhlIHNhbWUg
U1dTZXJ2ZXIgb2YgYWxsIHByaXZhdGUgc2Vzc2lvbnMsIHdlIG5vdyBnbyBiYWNrIHRvIHVzaW5n
IGEgU1dTZXJ2ZXIKKyAgICAgICAgcGVyIHByaXZhdGUgc2Vzc2lvbi4gSG93ZXZlciwgd2Ugbm93
IG1ha2Ugc3VyZSB0aGF0IHRoZSBTV1NlcnZlciBnZXRzIGRlc3Ryb3llZCB3aGVuZXZlciBpdHMK
KyAgICAgICAgY29ycmVzcG9uZGluZyBzZXNzaW9uIGdldHMgZGVzdHJveWVkLgorCisgICAgICAg
ICogd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTV1NlcnZlcjo6flNXU2VydmVyKToKKwogMjAxOC0wNi0wMSAgWmFsYW4gQnVqdGFzICA8emFs
YW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdIFNpbXBsaWZ5IHRoZSBmb3JtYXR0aW5nIGNs
YXNzIGltcGxlbWVudGF0aW9uIGJ5IHB1c2hpbmcgZG93biBzb21lIG9mIHRoZSBsb2dpYyB0byB0
aGUgR2VvbWV0cnkgY2xhc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggODRjN2U0NDE4YjYxMGY0MGI4NzFiYWI0NjNk
OTViZmIyNDhiNmRjNS4uOGI5Y2ZjNDIxMWIzNjE4ZjIwNGIwOWM1MDZlMTRlNDhmMDNiYTNiZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKQEAgLTEsMyArMSw0MiBAQAorMjAxOC0wNi0wMSAgQ2hyaXMgRHVtZXogIDxjZHVt
ZXpAYXBwbGUuY29tPgorCisgICAgICAgIFJlZ3Jlc3Npb24ocjIzMDU2Nyk6IFVuYWJsZSB0byBs
b2cgaW50byB0d2l0dGVyLmNvbSBpbiBwcml2YXRlIHNlc3Npb25zCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODYyMDUKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzQwNjcwNzk5PgorCisgICAgICAgIFJldmlld2VkIGJ5IFlvdWVubiBGYWJsZXQuCisK
KyAgICAgICAgV2Ugd2VyZSB1c2luZyB0aGUgc2FtZSBTV1NlcnZlciBmb3IgYWxsIHByaXZhdGUg
c2Vzc2lvbnMgYW5kIHRoZSBTV1NlcnZlcidzIHNlc3Npb25JRCB3b3VsZAorICAgICAgICBiZSBs
ZWdhY3lQcml2YXRlU2Vzc2lvbklEKCkuIEFzIGEgcmVzdWx0LCB0aGUgc2VydmljZSB3b3JrZXIn
cyBzZXNzaW9uSUQgd291bGQgYmUgbGVnYWN5UHJpdmF0ZVNlc3Npb25JRCgpCisgICAgICAgIGFz
IHdlbGwgYW5kIHdvdWxkIG5vdCBtYXRjaCB0aGUgc2Vzc2lvbklEIG9mIGl0cyBjbGllbnQgcGFn
ZXMuIFRoaXMgc2Vzc2lvbklEIG1pc21hdGNoIHdhcyAKKyAgICAgICAgY2F1c2luZyB0aGUgYnJl
YWthZ2UuCisKKyAgICAgICAgSW5zdGVhZCBvZiB1c2luZyB0aGUgc2FtZSBTV1NlcnZlciBvZiBh
bGwgcHJpdmF0ZSBzZXNzaW9ucywgd2Ugbm93IGdvIGJhY2sgdG8gdXNpbmcgYSBTV1NlcnZlcgor
ICAgICAgICBwZXIgcHJpdmF0ZSBzZXNzaW9uLiBIb3dldmVyLCB3ZSBub3cgbWFrZSBzdXJlIHRo
YXQgdGhlIFNXU2VydmVyIGdldHMgZGVzdHJveWVkIHdoZW5ldmVyIGl0cworICAgICAgICBjb3Jy
ZXNwb25kaW5nIHNlc3Npb24gZ2V0cyBkZXN0cm95ZWQuCisKKyAgICAgICAgKiBOZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNz
OjpkZXN0cm95U2Vzc2lvbik6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVT
dG9yYWdlRW5naW5lLmNwcDoKKyAgICAgICAgKFdlYktpdDo6Q2FjaGVTdG9yYWdlOjpFbmdpbmU6
OmZyb20pOgorICAgICAgICAqIFN0b3JhZ2VQcm9jZXNzL1N0b3JhZ2VQcm9jZXNzLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6U3RvcmFnZVByb2Nlc3M6OmRlc3Ryb3lTZXNzaW9uKToKKyAgICAgICAg
KFdlYktpdDo6U3RvcmFnZVByb2Nlc3M6OnN3U2VydmVyRm9yU2Vzc2lvbik6CisgICAgICAgICog
U3RvcmFnZVByb2Nlc3MvU3RvcmFnZVByb2Nlc3MuaDoKKyAgICAgICAgKiBTdG9yYWdlUHJvY2Vz
cy9TdG9yYWdlUHJvY2Vzcy5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJv
Y2Vzc1Bvb2wuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6c2V0QW55UGFn
ZUdyb3VwTWlnaHRIYXZlUHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCk6CisgICAgICAgICogVUlQcm9j
ZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJzaXRlRGF0YVN0b3JlOjp+V2Vic2l0ZURhdGFTdG9yZSk6CisKKyAgICAgICAgKFdlYktpdDo6
V2Vic2l0ZURhdGFTdG9yZTo6ZW5hYmxlUmVzb3VyY2VMb2FkU3RhdGlzdGljc0FuZFNldFRlc3Rp
bmdDYWxsYmFjayk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRh
U3RvcmUuaDoKKyAgICAgICAgKFdlYktpdDo6V2Vic2l0ZURhdGFTdG9yZTo6d2Vha1B0ckZhY3Rv
cnkgY29uc3QpOgorICAgICAgICBGaXggbWVtb3J5IGxlYWsgY2F1c2VkIGJ5IGEgcmVmZXJlbmNl
IGN5Y2xlIGJldHdlZW4gdGhlIFdlYnNpdGVEYXRhU3RvcmUgYW5kIGl0cworICAgICAgICBXZWJS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUsIGJ5IHVzaW5nIFdlYWtQdHIgdG8gYnJlYWsgdGhl
IGN5Y2xlLiBUaGlzIHdhcyBjYXVzaW5nCisgICAgICAgIHVzIHRvIGxlYWsgV2Vic2l0ZURhdGFT
dG9yZSBvYmplY3RzLCB3aGljaCB3b3VsZCBwcmV2ZW50IHRoZSBkZXN0cnVjdGlvbiBvZiBzZXNz
aW9ucy4KKworCiAyMDE4LTA2LTAxICBNaWNoYWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AaWdh
bGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBDcmFzaCBpbiBXZWJLaXRGYXZpY29uRGF0YWJhc2Ug
d2hlbiBwYWdlVVJMIGlzIHVuc2V0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3BwCmluZGV4IGRjMzI1ZGRkOWM2ZWE1ZGI2Nzc2NmFiYWE4
NDNlNjNmYzM3ZDQzOTAuLmEyMDgyMmFhYTliMTE1MmNhOTQ0N2EwNThjMzFmZDU3YTVmZDY2MmEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2
ZXIuY3BwCkBAIC03MCwxMCArNzAsNiBAQCBIYXNoU2V0PFNXU2VydmVyKj4mIFNXU2VydmVyOjph
bGxTZXJ2ZXJzKCkKIAogU1dTZXJ2ZXI6On5TV1NlcnZlcigpCiB7Ci0gICAgUkVMRUFTRV9BU1NF
UlQobV9jb25uZWN0aW9ucy5pc0VtcHR5KCkpOwotICAgIFJFTEVBU0VfQVNTRVJUKG1fcmVnaXN0
cmF0aW9ucy5pc0VtcHR5KCkpOwotICAgIFJFTEVBU0VfQVNTRVJUKG1fam9iUXVldWVzLmlzRW1w
dHkoKSk7Ci0gICAgCiAgICAgYWxsU2VydmVycygpLnJlbW92ZSh0aGlzKTsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAgYi9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAppbmRleCAyOWQ2
MjQ2OWQ0ODdlMDI1ODBlMzVmOWQ3MzljNjU3YmJjMTgxZTNjLi5kYjEzZGJjOTIwMWM2ZjQxYjJj
ODVlYTJiNTg3OTJhMmEzZTUwMGYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtQcm9jZXNzLmNwcApAQCAtMzYzLDYgKzM2Myw3IEBAIHZvaWQgTmV0d29ya1By
b2Nlc3M6OmRlc3Ryb3lTZXNzaW9uKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCkKIHsKICAgICBT
ZXNzaW9uVHJhY2tlcjo6ZGVzdHJveVNlc3Npb24oc2Vzc2lvbklEKTsKICAgICBtX3Nlc3Npb25z
Q29udHJvbGxlZEJ5QXV0b21hdGlvbi5yZW1vdmUoc2Vzc2lvbklEKTsKKyAgICBDYWNoZVN0b3Jh
Z2U6OkVuZ2luZTo6ZGVzdHJveUVuZ2luZShzZXNzaW9uSUQpOwogfQogCiB2b2lkIE5ldHdvcmtQ
cm9jZXNzOjpncmFudFNhbmRib3hFeHRlbnNpb25zVG9TdG9yYWdlUHJvY2Vzc0ZvckJsb2JzKGNv
bnN0IFZlY3RvcjxTdHJpbmc+JiBmaWxlbmFtZXMsIEZ1bmN0aW9uPHZvaWQgKCk+JiYgY29tcGxl
dGlvbkhhbmRsZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2Nh
Y2hlL0NhY2hlU3RvcmFnZUVuZ2luZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZS5jcHAKaW5kZXggZGRiOGMyNTEyODViNWZiY2M3YTZj
MzhkMzViNzJlMTg0MzBiY2Y3Mi4uZGM4NzI2NDg0NjdlMjYxOWYyZTQ3MzM0ZTU0OGMyYmI1N2Jj
NjMzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNo
ZVN0b3JhZ2VFbmdpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2Fj
aGUvQ2FjaGVTdG9yYWdlRW5naW5lLmNwcApAQCAtODIsOSArODIsNiBAQCBFbmdpbmU6On5Fbmdp
bmUoKQogCiBFbmdpbmUmIEVuZ2luZTo6ZnJvbShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQpCiB7
Ci0gICAgaWYgKHNlc3Npb25JRC5pc0VwaGVtZXJhbCgpKQotICAgICAgICBzZXNzaW9uSUQgPSBQ
QUw6OlNlc3Npb25JRDo6bGVnYWN5UHJpdmF0ZVNlc3Npb25JRCgpOwotCiAgICAgYXV0byBhZGRS
ZXN1bHQgPSBnbG9iYWxFbmdpbmVNYXAoKS5hZGQoc2Vzc2lvbklELCBudWxscHRyKTsKICAgICBp
ZiAoYWRkUmVzdWx0LmlzTmV3RW50cnkpCiAgICAgICAgIGFkZFJlc3VsdC5pdGVyYXRvci0+dmFs
dWUgPSBFbmdpbmU6OmNyZWF0ZShOZXR3b3JrUHJvY2Vzczo6c2luZ2xldG9uKCkuY2FjaGVTdG9y
YWdlRGlyZWN0b3J5KHNlc3Npb25JRCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TdG9y
YWdlUHJvY2Vzcy9TdG9yYWdlUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9j
ZXNzL1N0b3JhZ2VQcm9jZXNzLmNwcAppbmRleCA0MjFjZTc2YzY1YjNjMWI3MTY4YWEyNjM2YjYy
OGEwNWRiNmJhNDIyLi5hNzkwMzE1NmIwYjI5YWEzOGU3ZTY2Njg5OTJiOGFiNDU3YjBlNWZhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1N0b3JhZ2VQcm9jZXNzLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1N0b3JhZ2VQcm9jZXNzLmNwcApA
QCAtMjg0LDYgKzI4NCwxNiBAQCB2b2lkIFN0b3JhZ2VQcm9jZXNzOjpjcmVhdGVTdG9yYWdlVG9X
ZWJQcm9jZXNzQ29ubmVjdGlvbihib29sIGlzU2VydmljZVdvcmtlclBybwogI2VuZGlmCiB9CiAK
K3ZvaWQgU3RvcmFnZVByb2Nlc3M6OmRlc3Ryb3lTZXNzaW9uKFBBTDo6U2Vzc2lvbklEIHNlc3Np
b25JRCkKK3sKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisgICAgbV9zd1NlcnZlcnMucmVt
b3ZlKHNlc3Npb25JRCk7CisgICAgbV9zd0RhdGFiYXNlUGF0aHMucmVtb3ZlKHNlc3Npb25JRCk7
CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShzZXNzaW9uSUQpOworI2VuZGlmCit9CisKIHZvaWQg
U3RvcmFnZVByb2Nlc3M6OmZldGNoV2Vic2l0ZURhdGEoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklE
LCBPcHRpb25TZXQ8V2Vic2l0ZURhdGFUeXBlPiB3ZWJzaXRlRGF0YVR5cGVzLCB1aW50NjRfdCBj
YWxsYmFja0lEKQogewogICAgIGF1dG8gd2Vic2l0ZURhdGEgPSBzdGQ6Om1ha2VfdW5pcXVlPFdl
YnNpdGVEYXRhPigpOwpAQCAtNDI0LDEwICs0MzQsNiBAQCBTV1NlcnZlciYgU3RvcmFnZVByb2Nl
c3M6OnN3U2VydmVyRm9yU2Vzc2lvbihQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQpCiB7CiAgICAg
QVNTRVJUKHNlc3Npb25JRC5pc1ZhbGlkKCkpOwogCi0gICAgLy8gVXNlIHRoZSBzYW1lIFNXU2Vy
dmVyIGZvciBhbGwgZXBoZW1lcmFsIHNlc3Npb25zLgotICAgIGlmIChzZXNzaW9uSUQuaXNFcGhl
bWVyYWwoKSkKLSAgICAgICAgc2Vzc2lvbklEID0gUEFMOjpTZXNzaW9uSUQ6OmxlZ2FjeVByaXZh
dGVTZXNzaW9uSUQoKTsKLQogICAgIGF1dG8gcmVzdWx0ID0gbV9zd1NlcnZlcnMuYWRkKHNlc3Np
b25JRCwgbnVsbHB0cik7CiAgICAgaWYgKCFyZXN1bHQuaXNOZXdFbnRyeSkgewogICAgICAgICBB
U1NFUlQocmVzdWx0Lml0ZXJhdG9yLT52YWx1ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1N0b3JhZ2VQcm9jZXNzL1N0b3JhZ2VQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQ
cm9jZXNzL1N0b3JhZ2VQcm9jZXNzLmgKaW5kZXggZWEwZjcxMzk3NzY3MzU3Zjg5YWJlNWY0MzVi
YjdhMzBjMmIyNjkwNy4uYWIxYmIyZTA5Nzg3NmVlODEzMjYzNmQwYTgzY2NiNjU2MTMwOWUzMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TdG9yYWdlUHJvY2Vzcy5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU3RvcmFnZVByb2Nlc3MuaApAQCAt
MTI4LDYgKzEyOCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBpbml0aWFsaXplV2Vic2l0ZURhdGFT
dG9yZShjb25zdCBTdG9yYWdlUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYpOwogICAgIHZvaWQg
Y3JlYXRlU3RvcmFnZVRvV2ViUHJvY2Vzc0Nvbm5lY3Rpb24oYm9vbCBpc1NlcnZpY2VXb3JrZXJQ
cm9jZXNzLCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEmJik7CiAKKyAgICB2b2lkIGRlc3Ry
b3lTZXNzaW9uKFBBTDo6U2Vzc2lvbklEKTsKICAgICB2b2lkIGZldGNoV2Vic2l0ZURhdGEoUEFM
OjpTZXNzaW9uSUQsIE9wdGlvblNldDxXZWJzaXRlRGF0YVR5cGU+IHdlYnNpdGVEYXRhVHlwZXMs
IHVpbnQ2NF90IGNhbGxiYWNrSUQpOwogICAgIHZvaWQgZGVsZXRlV2Vic2l0ZURhdGEoUEFMOjpT
ZXNzaW9uSUQsIE9wdGlvblNldDxXZWJzaXRlRGF0YVR5cGU+IHdlYnNpdGVEYXRhVHlwZXMsIFdh
bGxUaW1lIG1vZGlmaWVkU2luY2UsIHVpbnQ2NF90IGNhbGxiYWNrSUQpOwogICAgIHZvaWQgZGVs
ZXRlV2Vic2l0ZURhdGFGb3JPcmlnaW5zKFBBTDo6U2Vzc2lvbklELCBPcHRpb25TZXQ8V2Vic2l0
ZURhdGFUeXBlPiB3ZWJzaXRlRGF0YVR5cGVzLCBjb25zdCBWZWN0b3I8V2ViQ29yZTo6U2VjdXJp
dHlPcmlnaW5EYXRhPiYgb3JpZ2lucywgdWludDY0X3QgY2FsbGJhY2tJRCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1N0b3JhZ2VQcm9jZXNzLm1lc3NhZ2VzLmlu
IGIvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TdG9yYWdlUHJvY2Vzcy5tZXNzYWdlcy5p
bgppbmRleCA1NmFhNzQ2ZjdlYmI3YTc0OTYzOTFkM2VkYzM0Zjc4NDU2MzQ1Mzk2Li4zMWEwNTA3
ODg0ZjgyZGU4YTkxNjY0OGFiNjk2MTJlMzYxZDE1NzdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1N0b3JhZ2VQcm9jZXNzL1N0b3JhZ2VQcm9jZXNzLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJj
ZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU3RvcmFnZVByb2Nlc3MubWVzc2FnZXMuaW4KQEAgLTM1
LDYgKzM1LDggQEAgbWVzc2FnZXMgLT4gU3RvcmFnZVByb2Nlc3MgTGVnYWN5UmVjZWl2ZXIgewog
ICAgIERpZEdldFNhbmRib3hFeHRlbnNpb25zRm9yQmxvYkZpbGVzKHVpbnQ2NF90IHJlcXVlc3RJ
RCwgV2ViS2l0OjpTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGVBcnJheSBleHRlbnNpb25zKQogI2Vu
ZGlmCiAKKyAgICBEZXN0cm95U2Vzc2lvbihQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQpCisKICNp
ZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCiAgICAgRGlkTm90SGFuZGxlRmV0Y2goV2ViQ29yZTo6
U1dTZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllciBzZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllciwg
V2ViQ29yZTo6RmV0Y2hJZGVudGlmaWVyIGZldGNoSWRlbnRpZmllcikKICAgICBEaWRGYWlsRmV0
Y2goV2ViQ29yZTo6U1dTZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllciBzZXJ2ZXJDb25uZWN0aW9u
SWRlbnRpZmllciwgV2ViQ29yZTo6RmV0Y2hJZGVudGlmaWVyIGZldGNoSWRlbnRpZmllcikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAppbmRleCA5YjdhZDgyYzE5
NGZhYTRlMDg3ZjA0NmQwM2I1NzBhOGQ0ZDk4ZmQ3Li5lN2U5MTY5MDdkMjQzYjI2NjlkNmM0YmU4
NjEzZDkwNWUyN2U5YjA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
cm9jZXNzUG9vbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bv
b2wuY3BwCkBAIC03MjEsMTcgKzcyMSwxNCBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjp3aW5kb3dT
ZXJ2ZXJDb25uZWN0aW9uU3RhdGVDaGFuZ2VkKCkKIAogdm9pZCBXZWJQcm9jZXNzUG9vbDo6c2V0
QW55UGFnZUdyb3VwTWlnaHRIYXZlUHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChib29sIHByaXZhdGVC
cm93c2luZ0VuYWJsZWQpCiB7Ci0gICAgaWYgKG5ldHdvcmtQcm9jZXNzKCkpIHsKLSAgICAgICAg
aWYgKHByaXZhdGVCcm93c2luZ0VuYWJsZWQpCi0gICAgICAgICAgICBuZXR3b3JrUHJvY2Vzcygp
LT5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrUHJvY2Vzczo6QWRkV2Vic2l0ZURhdGFTdG9yZShXZWJz
aXRlRGF0YVN0b3JlUGFyYW1ldGVyczo6bGVnYWN5UHJpdmF0ZVNlc3Npb25QYXJhbWV0ZXJzKCkp
LCAwKTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgbmV0d29ya1Byb2Nlc3MoKS0+c2VuZChN
ZXNzYWdlczo6TmV0d29ya1Byb2Nlc3M6OkRlc3Ryb3lTZXNzaW9uKFBBTDo6U2Vzc2lvbklEOjps
ZWdhY3lQcml2YXRlU2Vzc2lvbklEKCkpLCAwKTsKLSAgICB9Ci0KLSAgICBpZiAocHJpdmF0ZUJy
b3dzaW5nRW5hYmxlZCkKKyAgICBpZiAocHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCkgeworICAgICAg
ICBzZW5kVG9OZXR3b3JraW5nUHJvY2VzcyhNZXNzYWdlczo6TmV0d29ya1Byb2Nlc3M6OkFkZFdl
YnNpdGVEYXRhU3RvcmUoV2Vic2l0ZURhdGFTdG9yZVBhcmFtZXRlcnM6OmxlZ2FjeVByaXZhdGVT
ZXNzaW9uUGFyYW1ldGVycygpKSk7CiAgICAgICAgIHNlbmRUb0FsbFByb2Nlc3NlcyhNZXNzYWdl
czo6V2ViUHJvY2Vzczo6QWRkV2Vic2l0ZURhdGFTdG9yZShXZWJzaXRlRGF0YVN0b3JlUGFyYW1l
dGVyczo6bGVnYWN5UHJpdmF0ZVNlc3Npb25QYXJhbWV0ZXJzKCkpKTsKLSAgICBlbHNlCisgICAg
fSBlbHNlIHsKKyAgICAgICAgc2VuZFRvTmV0d29ya2luZ1Byb2Nlc3MoTWVzc2FnZXM6Ok5ldHdv
cmtQcm9jZXNzOjpEZXN0cm95U2Vzc2lvbihQQUw6OlNlc3Npb25JRDo6bGVnYWN5UHJpdmF0ZVNl
c3Npb25JRCgpKSk7CisgICAgICAgIHNlbmRUb1N0b3JhZ2VQcm9jZXNzKE1lc3NhZ2VzOjpTdG9y
YWdlUHJvY2Vzczo6RGVzdHJveVNlc3Npb24oUEFMOjpTZXNzaW9uSUQ6OmxlZ2FjeVByaXZhdGVT
ZXNzaW9uSUQoKSkpOwogICAgICAgICBzZW5kVG9BbGxQcm9jZXNzZXMoTWVzc2FnZXM6OldlYlBy
b2Nlc3M6OkRlc3Ryb3lTZXNzaW9uKFBBTDo6U2Vzc2lvbklEOjpsZWdhY3lQcml2YXRlU2Vzc2lv
bklEKCkpKTsKKyAgICB9CiB9CiAKIHZvaWQgKCpzX2ludmFsaWRNZXNzYWdlQ2FsbGJhY2spKFdL
U3RyaW5nUmVmIG1lc3NhZ2VOYW1lKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmUuY3BwIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAKaW5kZXggNTQ4NzYxYTNmYzQ5
M2M5MWZjNzMzYWNmMWI5ODNjNTBkOWQwZTQ0ZS4uNjgxOTJkZTExMjlkYzQzZjczNmI5MWYzZDM3
MGYwNmI5Y2I4ZmY5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0
ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNs
dWRlICJOZXR3b3JrUHJvY2Vzc01lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiU3RvcmFnZU1hbmFnZXIu
aCIKICNpbmNsdWRlICJTdG9yYWdlUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIgorI2luY2x1
ZGUgIlN0b3JhZ2VQcm9jZXNzTWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJDb29raWVNYW5hZ2Vy
UHJveHkuaCIKICNpbmNsdWRlICJXZWJQcm9jZXNzTWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJQ
cm9jZXNzUG9vbC5oIgpAQCAtMTE2LDggKzExNywxMCBAQCBXZWJzaXRlRGF0YVN0b3JlOjp+V2Vi
c2l0ZURhdGFTdG9yZSgpCiAgICAgaWYgKG1fc2Vzc2lvbklELmlzVmFsaWQoKSAmJiBtX3Nlc3Np
b25JRCAhPSBQQUw6OlNlc3Npb25JRDo6ZGVmYXVsdFNlc3Npb25JRCgpKSB7CiAgICAgICAgIEFT
U0VSVChub25EZWZhdWx0RGF0YVN0b3JlcygpLmdldChtX3Nlc3Npb25JRCkgPT0gdGhpcyk7CiAg
ICAgICAgIG5vbkRlZmF1bHREYXRhU3RvcmVzKCkucmVtb3ZlKG1fc2Vzc2lvbklEKTsKLSAgICAg
ICAgZm9yIChhdXRvJiBwcm9jZXNzUG9vbCA6IFdlYlByb2Nlc3NQb29sOjphbGxQcm9jZXNzUG9v
bHMoKSkKKyAgICAgICAgZm9yIChhdXRvJiBwcm9jZXNzUG9vbCA6IFdlYlByb2Nlc3NQb29sOjph
bGxQcm9jZXNzUG9vbHMoKSkgewogICAgICAgICAgICAgcHJvY2Vzc1Bvb2wtPnNlbmRUb05ldHdv
cmtpbmdQcm9jZXNzKE1lc3NhZ2VzOjpOZXR3b3JrUHJvY2Vzczo6RGVzdHJveVNlc3Npb24obV9z
ZXNzaW9uSUQpKTsKKyAgICAgICAgICAgIHByb2Nlc3NQb29sLT5zZW5kVG9TdG9yYWdlUHJvY2Vz
cyhNZXNzYWdlczo6U3RvcmFnZVByb2Nlc3M6OkRlc3Ryb3lTZXNzaW9uKG1fc2Vzc2lvbklEKSk7
CisgICAgICAgIH0KICAgICB9CiB9CiAKQEAgLTE0NjIsMTYgKzE0NjUsMjEgQEAgdm9pZCBXZWJz
aXRlRGF0YVN0b3JlOjplbmFibGVSZXNvdXJjZUxvYWRTdGF0aXN0aWNzQW5kU2V0VGVzdGluZ0Nh
bGxiYWNrKEZ1bmN0aW8KICAgICB9CiAKICNpZiBIQVZFKENGTkVUV09SS19TVE9SQUdFX1BBUlRJ
VElPTklORykKLSAgICBtX3Jlc291cmNlTG9hZFN0YXRpc3RpY3MgPSBXZWJSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzU3RvcmU6OmNyZWF0ZShtX2NvbmZpZ3VyYXRpb24ucmVzb3VyY2VMb2FkU3RhdGlz
dGljc0RpcmVjdG9yeSwgV1RGTW92ZShjYWxsYmFjayksIG1fc2Vzc2lvbklELmlzRXBoZW1lcmFs
KCksIFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyldIChjb25zdCBWZWN0b3I8
U3RyaW5nPiYgZG9tYWluc1RvUGFydGl0aW9uLCBjb25zdCBWZWN0b3I8U3RyaW5nPiYgZG9tYWlu
c1RvQmxvY2ssIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBkb21haW5zVG9OZWl0aGVyUGFydGl0aW9u
Tm9yQmxvY2ssIFNob3VsZENsZWFyRmlyc3Qgc2hvdWxkQ2xlYXJGaXJzdCkgewotICAgICAgICB1
cGRhdGVQcmV2YWxlbnREb21haW5zVG9QYXJ0aXRpb25PckJsb2NrQ29va2llcyhkb21haW5zVG9Q
YXJ0aXRpb24sIGRvbWFpbnNUb0Jsb2NrLCBkb21haW5zVG9OZWl0aGVyUGFydGl0aW9uTm9yQmxv
Y2ssIHNob3VsZENsZWFyRmlyc3QpOwotICAgIH0sIFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFr
ZVJlZigqdGhpcyldIChjb25zdCBTdHJpbmcmIHJlc291cmNlRG9tYWluLCBjb25zdCBTdHJpbmcm
IGZpcnN0UGFydHlEb21haW4sIHVpbnQ2NF90IGZyYW1lSUQsIHVpbnQ2NF90IHBhZ2VJRCwgV1RG
OjpDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wgaGFzQWNjZXNzKT4mJiBjYWxsYmFjaykgewot
ICAgICAgICBoYXNTdG9yYWdlQWNjZXNzRm9yRnJhbWVIYW5kbGVyKHJlc291cmNlRG9tYWluLCBm
aXJzdFBhcnR5RG9tYWluLCBmcmFtZUlELCBwYWdlSUQsIFdURk1vdmUoY2FsbGJhY2spKTsKLSAg
ICB9LCBbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYoKnRoaXMpXSAoY29uc3QgU3RyaW5n
JiByZXNvdXJjZURvbWFpbiwgY29uc3QgU3RyaW5nJiBmaXJzdFBhcnR5RG9tYWluLCBzdGQ6Om9w
dGlvbmFsPHVpbnQ2NF90PiBmcmFtZUlELCB1aW50NjRfdCBwYWdlSUQsIFdURjo6Q29tcGxldGlv
bkhhbmRsZXI8dm9pZChib29sIHdhc0dyYW50ZWQpPiYmIGNhbGxiYWNrKSB7Ci0gICAgICAgIGdy
YW50U3RvcmFnZUFjY2Vzc0hhbmRsZXIocmVzb3VyY2VEb21haW4sIGZpcnN0UGFydHlEb21haW4s
IGZyYW1lSUQsIHBhZ2VJRCwgV1RGTW92ZShjYWxsYmFjaykpOwotICAgIH0sIFt0aGlzLCBwcm90
ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyldICgpIHsKLSAgICAgICAgcmVtb3ZlQWxsU3RvcmFn
ZUFjY2Vzc0hhbmRsZXIoKTsKLSAgICB9LCBbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VSZWYo
KnRoaXMpXSAoY29uc3QgVmVjdG9yPFN0cmluZz4mIGRvbWFpbnNUb1JlbW92ZSkgewotICAgICAg
ICByZW1vdmVQcmV2YWxlbnREb21haW5zKGRvbWFpbnNUb1JlbW92ZSk7CisgICAgbV9yZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzID0gV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlOjpjcmVhdGUo
bV9jb25maWd1cmF0aW9uLnJlc291cmNlTG9hZFN0YXRpc3RpY3NEaXJlY3RvcnksIFdURk1vdmUo
Y2FsbGJhY2spLCBtX3Nlc3Npb25JRC5pc0VwaGVtZXJhbCgpLCBbd2Vha1RoaXMgPSBtYWtlV2Vh
a1B0cigqdGhpcyldIChjb25zdCBWZWN0b3I8U3RyaW5nPiYgZG9tYWluc1RvUGFydGl0aW9uLCBj
b25zdCBWZWN0b3I8U3RyaW5nPiYgZG9tYWluc1RvQmxvY2ssIGNvbnN0IFZlY3RvcjxTdHJpbmc+
JiBkb21haW5zVG9OZWl0aGVyUGFydGl0aW9uTm9yQmxvY2ssIFNob3VsZENsZWFyRmlyc3Qgc2hv
dWxkQ2xlYXJGaXJzdCkgeworICAgICAgICBpZiAod2Vha1RoaXMpCisgICAgICAgICAgICB3ZWFr
VGhpcy0+dXBkYXRlUHJldmFsZW50RG9tYWluc1RvUGFydGl0aW9uT3JCbG9ja0Nvb2tpZXMoZG9t
YWluc1RvUGFydGl0aW9uLCBkb21haW5zVG9CbG9jaywgZG9tYWluc1RvTmVpdGhlclBhcnRpdGlv
bk5vckJsb2NrLCBzaG91bGRDbGVhckZpcnN0KTsKKyAgICB9LCBbd2Vha1RoaXMgPSBtYWtlV2Vh
a1B0cigqdGhpcyldIChjb25zdCBTdHJpbmcmIHJlc291cmNlRG9tYWluLCBjb25zdCBTdHJpbmcm
IGZpcnN0UGFydHlEb21haW4sIHVpbnQ2NF90IGZyYW1lSUQsIHVpbnQ2NF90IHBhZ2VJRCwgV1RG
OjpDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wgaGFzQWNjZXNzKT4mJiBjYWxsYmFjaykgewor
ICAgICAgICBpZiAod2Vha1RoaXMpCisgICAgICAgICAgICB3ZWFrVGhpcy0+aGFzU3RvcmFnZUFj
Y2Vzc0ZvckZyYW1lSGFuZGxlcihyZXNvdXJjZURvbWFpbiwgZmlyc3RQYXJ0eURvbWFpbiwgZnJh
bWVJRCwgcGFnZUlELCBXVEZNb3ZlKGNhbGxiYWNrKSk7CisgICAgfSwgW3dlYWtUaGlzID0gbWFr
ZVdlYWtQdHIoKnRoaXMpXSAoY29uc3QgU3RyaW5nJiByZXNvdXJjZURvbWFpbiwgY29uc3QgU3Ry
aW5nJiBmaXJzdFBhcnR5RG9tYWluLCBzdGQ6Om9wdGlvbmFsPHVpbnQ2NF90PiBmcmFtZUlELCB1
aW50NjRfdCBwYWdlSUQsIFdURjo6Q29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sIHdhc0dyYW50
ZWQpPiYmIGNhbGxiYWNrKSB7CisgICAgICAgIGlmICh3ZWFrVGhpcykKKyAgICAgICAgICAgIHdl
YWtUaGlzLT5ncmFudFN0b3JhZ2VBY2Nlc3NIYW5kbGVyKHJlc291cmNlRG9tYWluLCBmaXJzdFBh
cnR5RG9tYWluLCBmcmFtZUlELCBwYWdlSUQsIFdURk1vdmUoY2FsbGJhY2spKTsKKyAgICB9LCBb
d2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyldICgpIHsKKyAgICAgICAgaWYgKHdlYWtUaGlz
KQorICAgICAgICAgICAgd2Vha1RoaXMtPnJlbW92ZUFsbFN0b3JhZ2VBY2Nlc3NIYW5kbGVyKCk7
CisgICAgfSwgW3dlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpXSAoY29uc3QgVmVjdG9yPFN0
cmluZz4mIGRvbWFpbnNUb1JlbW92ZSkgeworICAgICAgICBpZiAod2Vha1RoaXMpCisgICAgICAg
ICAgICB3ZWFrVGhpcy0+cmVtb3ZlUHJldmFsZW50RG9tYWlucyhkb21haW5zVG9SZW1vdmUpOwog
ICAgIH0pOwogI2Vsc2UKICAgICBtX3Jlc291cmNlTG9hZFN0YXRpc3RpY3MgPSBXZWJSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzU3RvcmU6OmNyZWF0ZShtX2NvbmZpZ3VyYXRpb24ucmVzb3VyY2VMb2Fk
U3RhdGlzdGljc0RpcmVjdG9yeSwgV1RGTW92ZShjYWxsYmFjayksIG1fc2Vzc2lvbklELmlzRXBo
ZW1lcmFsKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURh
dGEvV2Vic2l0ZURhdGFTdG9yZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURh
dGEvV2Vic2l0ZURhdGFTdG9yZS5oCmluZGV4IGUzZDFlOTA4ZGIzN2RjY2EzOTFlNWM4YWIxNTZj
MzgxNTFlYzg2ZjUuLjNhYmY4ZmY1MWY0NDJiODUwOGIzNzY5MjVmNWFhZDNhOGIwNjg1YWIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRh
U3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRl
RGF0YVN0b3JlLmgKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlIDx3dGYvT3B0aW9uU2V0Lmg+
CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+Cisj
aW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KICNpbmNsdWRlIDx3dGYvV29ya1F1ZXVlLmg+CiAjaW5j
bHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKQEAgLTE4Miw2ICsxODMsOCBAQCBwdWJsaWM6
CiAgICAgdm9pZCBhZGRTZWNLZXlQcm94eVN0b3JlKFJlZjxTZWNLZXlQcm94eVN0b3JlPiYmKTsK
ICNlbmRpZgogCisgICAgYXV0byYgd2Vha1B0ckZhY3RvcnkoKSBjb25zdCB7IHJldHVybiBtX3dl
YWtGYWN0b3J5OyB9CisKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgV2Vic2l0ZURhdGFTdG9yZShQ
QUw6OlNlc3Npb25JRCk7CiAgICAgZXhwbGljaXQgV2Vic2l0ZURhdGFTdG9yZShDb25maWd1cmF0
aW9uLCBQQUw6OlNlc3Npb25JRCk7CkBAIC0yMTIsNiArMjE1LDcgQEAgcHJpdmF0ZToKIAogICAg
IHZvaWQgbWF5YmVSZWdpc3RlcldpdGhTZXNzaW9uSURNYXAoKTsKIAorICAgIFdlYWtQdHJGYWN0
b3J5PFdlYnNpdGVEYXRhU3RvcmU+IG1fd2Vha0ZhY3Rvcnk7CiAgICAgY29uc3QgUEFMOjpTZXNz
aW9uSUQgbV9zZXNzaW9uSUQ7CiAKICAgICBjb25zdCBDb25maWd1cmF0aW9uIG1fY29uZmlndXJh
dGlvbjsK
</data>

          </attachment>
      

    </bug>

</bugzilla>