<?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>211157</bug_id>
          
          <creation_ts>2020-04-28 17:18:02 -0700</creation_ts>
          <short_desc>Remove unnecessary BinarySemaphore waits on the main thread in the network process</short_desc>
          <delta_ts>2022-07-01 11:57:10 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>238938</dup_id>
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>beidson</cc>
    
    <cc>cdumez</cc>
    
    <cc>ggaren</cc>
    
    <cc>sihui_liu</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1646774</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-04-28 17:18:02 -0700</bug_when>
    <thetext>Remove unnecessary BinarySemaphore waits on the main thread in the network process</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1646775</commentid>
    <comment_count>1</comment_count>
      <attachid>397911</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-04-28 17:18:58 -0700</bug_when>
    <thetext>Created attachment 397911
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1647455</commentid>
    <comment_count>2</comment_count>
      <attachid>397911</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-04-30 11:46:25 -0700</bug_when>
    <thetext>Comment on attachment 397911
Patch

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

&gt; Source/WebKit/NetworkProcess/WebStorage/StorageManagerSet.cpp:124
&gt; +    m_queue-&gt;dispatch([this, completionHandler = WTFMove(completionHandler)] () mutable {

How is capturing |this| safe here?

&gt; Source/WebKit/NetworkProcess/WebStorage/StorageManagerSet.cpp:131
&gt; +        RunLoop::main().dispatch([this, completionHandler = WTFMove(completionHandler)] () mutable {

How is capturing |this| safe here?

&gt; Source/WebKit/NetworkProcess/WebStorage/StorageManagerSet.cpp:146
&gt; +    m_queue-&gt;dispatch([this, completionHandler = WTFMove(completionHandler)] () mutable {

How is capturing |this| safe here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1647464</commentid>
    <comment_count>3</comment_count>
      <attachid>397911</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-04-30 11:56:37 -0700</bug_when>
    <thetext>Comment on attachment 397911
Patch

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

&gt;&gt; Source/WebKit/NetworkProcess/WebStorage/StorageManagerSet.cpp:146
&gt;&gt; +    m_queue-&gt;dispatch([this, completionHandler = WTFMove(completionHandler)] () mutable {
&gt; 
&gt; How is capturing |this| safe here?

It&apos;s just as safe as it was.  I had the same concern so looked into the lifetime, and it turns out this lives as long as the NetworkProcess, which is a singleton which is never destroyed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1647467</commentid>
    <comment_count>4</comment_count>
      <attachid>397911</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-04-30 11:58:29 -0700</bug_when>
    <thetext>Comment on attachment 397911
Patch

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

&gt;&gt;&gt; Source/WebKit/NetworkProcess/WebStorage/StorageManagerSet.cpp:146
&gt;&gt;&gt; +    m_queue-&gt;dispatch([this, completionHandler = WTFMove(completionHandler)] () mutable {
&gt;&gt; 
&gt;&gt; How is capturing |this| safe here?
&gt; 
&gt; It&apos;s just as safe as it was.  I had the same concern so looked into the lifetime, and it turns out this lives as long as the NetworkProcess, which is a singleton which is never destroyed.

&gt; It&apos;s just as safe as it was.

Not convinced this is a true statement. We used to hang the main thread while the task was getting processed on the background thread, and the StorageManagerSet only gets destroyed on the main thread.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1647473</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-04-30 12:01:13 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #4)
&gt; Comment on attachment 397911 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=397911&amp;action=review
&gt; 
&gt; &gt;&gt;&gt; Source/WebKit/NetworkProcess/WebStorage/StorageManagerSet.cpp:146
&gt; &gt;&gt;&gt; +    m_queue-&gt;dispatch([this, completionHandler = WTFMove(completionHandler)] () mutable {
&gt; &gt;&gt; 
&gt; &gt;&gt; How is capturing |this| safe here?
&gt; &gt; 
&gt; &gt; It&apos;s just as safe as it was.  I had the same concern so looked into the lifetime, and it turns out this lives as long as the NetworkProcess, which is a singleton which is never destroyed.
&gt; 
&gt; &gt; It&apos;s just as safe as it was.
&gt; 
&gt; Not convinced this is a true statement. We used to hang the main thread
&gt; while the task was getting processed on the background thread, and the
&gt; StorageManagerSet only gets destroyed on the main thread.

The argument about it living as long as the NetworkProcess is valid though. I am looking into this more so I am 100% sure it is still safe, despite the behavior change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1647477</commentid>
    <comment_count>6</comment_count>
      <attachid>397911</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-04-30 12:06:40 -0700</bug_when>
    <thetext>Comment on attachment 397911
Patch

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

&gt; Source/WebKit/NetworkProcess/WebStorage/StorageManagerSet.h:-50
&gt; -    static Ref&lt;StorageManagerSet&gt; create();

WorkQueueMessageReceiver is ThreadSafeRefCounted and gets ref&apos;d/deref&apos;d by the Connection. Dropping the factory to use UniqueRef does not seem right.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1647479</commentid>
    <comment_count>7</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-04-30 12:08:03 -0700</bug_when>
    <thetext>*gasp*
You&apos;re right.  Will fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1647484</commentid>
    <comment_count>8</comment_count>
      <attachid>398077</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-04-30 12:15:55 -0700</bug_when>
    <thetext>Created attachment 398077
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1647496</commentid>
    <comment_count>9</comment_count>
      <attachid>398077</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-04-30 12:29:34 -0700</bug_when>
    <thetext>Comment on attachment 398077
Patch

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

r=me with fix

&gt; Source/WebKit/NetworkProcess/WebStorage/StorageManagerSet.cpp:157
&gt; +        RunLoop::main().dispatch(WTFMove(completionHandler));

You need to WTFMove(protectedThis) too or you may cause StorageManagerSet to get destroyed on the background queue, which would hit the assertion in the destructor.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1647499</commentid>
    <comment_count>10</comment_count>
      <attachid>398082</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-04-30 12:34:11 -0700</bug_when>
    <thetext>Created attachment 398082
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1647500</commentid>
    <comment_count>11</comment_count>
      <attachid>398082</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-04-30 12:36:55 -0700</bug_when>
    <thetext>Comment on attachment 398082
Patch

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

&gt; Source/WebKit/NetworkProcess/WebStorage/StorageManagerSet.cpp:157
&gt; +        RunLoop::main().dispatch(WTFMove(completionHandler));

WTFMove(protectedThis)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1880064</commentid>
    <comment_count>12</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2022-07-01 11:57:10 -0700</bug_when>
    <thetext>This code was removed in https://bugs.webkit.org/show_bug.cgi?id=238938

*** This bug has been marked as a duplicate of bug 238938 ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>397911</attachid>
            <date>2020-04-28 17:18:58 -0700</date>
            <delta_ts>2020-04-30 12:15:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211157-20200428171858.patch</filename>
            <type>text/plain</type>
            <size>8124</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjA4NTgpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDIwLTA0LTI4ICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVtb3ZlIHVubmVj
ZXNzYXJ5IEJpbmFyeVNlbWFwaG9yZSB3YWl0cyBvbiB0aGUgbWFpbiB0aHJlYWQgaW4gdGhlIG5l
dHdvcmsgcHJvY2VzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjExMTU3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJL
aXQ6Ok5ldHdvcmtQcm9jZXNzOjpOZXR3b3JrUHJvY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6Ok5l
dHdvcmtQcm9jZXNzOjpkaWRDbG9zZSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNz
OjpzeW5jTG9jYWxTdG9yYWdlKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJv
Y2Vzcy5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1dlYlN0b3JhZ2UvU3RvcmFnZU1hbmFn
ZXJTZXQuY3BwOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdlTWFuYWdlclNldDo6flN0b3JhZ2VN
YW5hZ2VyU2V0KToKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZU1hbmFnZXJTZXQ6OndhaXRVbnRp
bFRhc2tzRmluaXNoZWQpOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdlTWFuYWdlclNldDo6d2Fp
dFVudGlsU3luY2luZ0xvY2FsU3RvcmFnZUZpbmlzaGVkKToKKyAgICAgICAgKFdlYktpdDo6U3Rv
cmFnZU1hbmFnZXJTZXQ6OmNyZWF0ZSk6IERlbGV0ZWQuCisgICAgICAgICogTmV0d29ya1Byb2Nl
c3MvV2ViU3RvcmFnZS9TdG9yYWdlTWFuYWdlclNldC5oOgorCiAyMDIwLTA0LTI4ICBEYW5pZWwg
QmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KIAogICAgICAgICBNb3ZlIFdlYlBhZ2U6OnRleHRJ
bnB1dENvbnRleHRzSW5SZWN0KCkgdG8gV2ViUGFnZUlPUy5tbQpJbmRleDogU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAJKHJldmlzaW9uIDI2MDgz
MSkKKysrIFNvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xNDcsNyArMTQ3LDcgQEAgc3RhdGljIGlubGluZSBNZXNzYWdlUG9y
dENoYW5uZWxSZWdpc3RyeQogCiBOZXR3b3JrUHJvY2Vzczo6TmV0d29ya1Byb2Nlc3MoQXV4aWxp
YXJ5UHJvY2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyYmIHBhcmFtZXRlcnMpCiAgICAgOiBt
X2Rvd25sb2FkTWFuYWdlcigqdGhpcykKLSAgICAsIG1fc3RvcmFnZU1hbmFnZXJTZXQoU3RvcmFn
ZU1hbmFnZXJTZXQ6OmNyZWF0ZSgpKQorICAgICwgbV9zdG9yYWdlTWFuYWdlclNldChtYWtlVW5p
cXVlUmVmPFN0b3JhZ2VNYW5hZ2VyU2V0PigpKQogI2lmIEVOQUJMRShDT05URU5UX0VYVEVOU0lP
TlMpCiAgICAgLCBtX25ldHdvcmtDb250ZW50UnVsZUxpc3RNYW5hZ2VyKCp0aGlzKQogI2VuZGlm
CkBAIC0yNjMsMTQgKzI2MywxMyBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzOjpkaWRDbG9zZShJUEM6
OkNvbm5lCiAgICAgICAgIEFTU0VSVChSdW5Mb29wOjppc01haW4oKSk7CiAgICAgICAgIHN0b3BS
dW5Mb29wKCk7CiAgICAgfSk7Ci0KLSAgICAvLyBNYWtlIHN1cmUgd2UgZmx1c2ggYWxsIGNvb2tp
ZXMgYW5kIHJlc291cmNlIGxvYWQgc3RhdGlzdGljcyB0byBkaXNrIGJlZm9yZSBleGl0aW5nLgog
I2lmIEVOQUJMRShSRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpCiAgICAgZm9yRWFjaE5ldHdvcmtT
ZXNzaW9uKFsmXSAoYXV0byYgbmV0d29ya1Nlc3Npb24pIHsKICAgICAgICAgbmV0d29ya1Nlc3Np
b24uZGVzdHJveVJlc291cmNlTG9hZFN0YXRpc3RpY3MoW2NhbGxiYWNrQWdncmVnYXRvciA9IGNh
bGxiYWNrQWdncmVnYXRvci5jb3B5UmVmKCldIHsgfSk7CiAgICAgfSk7CiAjZW5kaWYKICAgICBw
bGF0Zm9ybVN5bmNBbGxDb29raWVzKFtjYWxsYmFja0FnZ3JlZ2F0b3IgPSBjYWxsYmFja0FnZ3Jl
Z2F0b3IuY29weVJlZigpXSB7IH0pOworICAgIG1fc3RvcmFnZU1hbmFnZXJTZXQtPndhaXRVbnRp
bFRhc2tzRmluaXNoZWQoW2NhbGxiYWNrQWdncmVnYXRvciA9IGNhbGxiYWNrQWdncmVnYXRvci5j
b3B5UmVmKCldIHsgfSk7CiB9CiAKIHZvaWQgTmV0d29ya1Byb2Nlc3M6OmRpZENyZWF0ZURvd25s
b2FkKCkKQEAgLTI0NDgsOCArMjQ0Nyw3IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3M6OnNldFNlc3Np
b25TdG9yYWdlUXUKIAogdm9pZCBOZXR3b3JrUHJvY2Vzczo6c3luY0xvY2FsU3RvcmFnZShDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0gICAgbV9zdG9y
YWdlTWFuYWdlclNldC0+d2FpdFVudGlsU3luY2luZ0xvY2FsU3RvcmFnZUZpbmlzaGVkKCk7Ci0g
ICAgY29tcGxldGlvbkhhbmRsZXIoKTsKKyAgICBtX3N0b3JhZ2VNYW5hZ2VyU2V0LT53YWl0VW50
aWxTeW5jaW5nTG9jYWxTdG9yYWdlRmluaXNoZWQoV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikp
OwogfQogCiB2b2lkIE5ldHdvcmtQcm9jZXNzOjpjbGVhckxlZ2FjeVByaXZhdGVCcm93c2luZ0xv
Y2FsU3RvcmFnZSgpCkluZGV4OiBTb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQ
cm9jZXNzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrUHJvY2Vzcy5oCShyZXZpc2lvbiAyNjA4MzEpCisrKyBTb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtQcm9jZXNzLmgJKHdvcmtpbmcgY29weSkKQEAgLTUzNiw3ICs1MzYsNyBA
QCBwcml2YXRlOgogICAgIEhhc2hNYXA8UEFMOjpTZXNzaW9uSUQsIHN0ZDo6dW5pcXVlX3B0cjxX
ZWJDb3JlOjpOZXR3b3JrU3RvcmFnZVNlc3Npb24+PiBtX25ldHdvcmtTdG9yYWdlU2Vzc2lvbnM7
CiAgICAgbXV0YWJsZSBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6TmV0d29ya1N0b3JhZ2VTZXNz
aW9uPiBtX2RlZmF1bHROZXR3b3JrU3RvcmFnZVNlc3Npb247CiAKLSAgICBSZWZQdHI8U3RvcmFn
ZU1hbmFnZXJTZXQ+IG1fc3RvcmFnZU1hbmFnZXJTZXQ7CisgICAgVW5pcXVlUmVmPFN0b3JhZ2VN
YW5hZ2VyU2V0PiBtX3N0b3JhZ2VNYW5hZ2VyU2V0OwogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAg
ICAgdm9pZCBwbGF0Zm9ybUluaXRpYWxpemVOZXR3b3JrUHJvY2Vzc0NvY29hKGNvbnN0IE5ldHdv
cmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJik7CkluZGV4OiBTb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL1dlYlN0b3JhZ2UvU3RvcmFnZU1hbmFnZXJTZXQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvV2ViU3RvcmFnZS9TdG9yYWdlTWFuYWdlclNl
dC5jcHAJKHJldmlzaW9uIDI2MDgzMSkKKysrIFNvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
V2ViU3RvcmFnZS9TdG9yYWdlTWFuYWdlclNldC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM1LDEx
ICszNSw2IEBACiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1SZWY8U3RvcmFnZU1hbmFnZXJTZXQ+
IFN0b3JhZ2VNYW5hZ2VyU2V0OjpjcmVhdGUoKQotewotICAgIHJldHVybiBhZG9wdFJlZigqbmV3
IFN0b3JhZ2VNYW5hZ2VyU2V0KTsKLX0KLQogU3RvcmFnZU1hbmFnZXJTZXQ6OlN0b3JhZ2VNYW5h
Z2VyU2V0KCkKICAgICA6IG1fcXVldWUoV29ya1F1ZXVlOjpjcmVhdGUoImNvbS5hcHBsZS5XZWJL
aXQuV2ViU3RvcmFnZSIpKQogewpAQCAtNTIsOCArNDcsNyBAQCBTdG9yYWdlTWFuYWdlclNldDo6
U3RvcmFnZU1hbmFnZXJTZXQoKQogU3RvcmFnZU1hbmFnZXJTZXQ6On5TdG9yYWdlTWFuYWdlclNl
dCgpCiB7CiAgICAgQVNTRVJUKFJ1bkxvb3A6OmlzTWFpbigpKTsKLQotICAgIHdhaXRVbnRpbFRh
c2tzRmluaXNoZWQoKTsKKyAgICBBU1NFUlQobV93YWl0ZWRVbnRpbFRhc2tzRmluaXNoZWQpOwog
fQogCiB2b2lkIFN0b3JhZ2VNYW5hZ2VyU2V0OjphZGQoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklE
LCBjb25zdCBTdHJpbmcmIGxvY2FsU3RvcmFnZURpcmVjdG9yeSwgU2FuZGJveEV4dGVuc2lvbjo6
SGFuZGxlJiBsb2NhbFN0b3JhZ2VEaXJlY3RvcnlIYW5kbGUpCkBAIC0xMjMsMzggKzExNyw0MCBA
QCB2b2lkIFN0b3JhZ2VNYW5hZ2VyU2V0OjpyZW1vdmVDb25uZWN0aW9uCiAgICAgfSk7CiB9CiAK
LXZvaWQgU3RvcmFnZU1hbmFnZXJTZXQ6OndhaXRVbnRpbFRhc2tzRmluaXNoZWQoKQordm9pZCBT
dG9yYWdlTWFuYWdlclNldDo6d2FpdFVudGlsVGFza3NGaW5pc2hlZChDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgQVNTRVJUKFJ1bkxvb3A6Omlz
TWFpbigpKTsKIAotICAgIEJpbmFyeVNlbWFwaG9yZSBzZW1hcGhvcmU7Ci0gICAgbV9xdWV1ZS0+
ZGlzcGF0Y2goW3RoaXMsICZzZW1hcGhvcmVdIHsKKyAgICBtX3F1ZXVlLT5kaXNwYXRjaChbdGhp
cywgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0gKCkgbXV0
YWJsZSB7CiAgICAgICAgIGZvciAoYXV0byYgc3RvcmFnZU1hbmFnZXIgOiBtX3N0b3JhZ2VNYW5h
Z2Vycy52YWx1ZXMoKSkKICAgICAgICAgICAgIHN0b3JhZ2VNYW5hZ2VyLT5jbGVhclN0b3JhZ2VO
YW1lc3BhY2VzKCk7CiAKICAgICAgICAgbV9zdG9yYWdlTWFuYWdlcnMuY2xlYXIoKTsKICAgICAg
ICAgbV9zdG9yYWdlQXJlYXMuY2xlYXIoKTsKIAotICAgICAgICBzZW1hcGhvcmUuc2lnbmFsKCk7
CisgICAgICAgIFJ1bkxvb3A6Om1haW4oKS5kaXNwYXRjaChbdGhpcywgY29tcGxldGlvbkhhbmRs
ZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0gKCkgbXV0YWJsZSB7CisjaWYgQVNTRVJU
X0VOQUJMRUQKKyAgICAgICAgICAgIG1fd2FpdGVkVW50aWxUYXNrc0ZpbmlzaGVkID0gdHJ1ZTsK
KyNlbHNlCisgICAgICAgICAgICBVTlVTRURfUEFSQU0odGhpcyk7CisjZW5kaWYKKyAgICAgICAg
ICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CisgICAgICAgIH0pOwogICAgIH0pOwotICAgIHNlbWFw
aG9yZS53YWl0KCk7CiB9CiAKLXZvaWQgU3RvcmFnZU1hbmFnZXJTZXQ6OndhaXRVbnRpbFN5bmNp
bmdMb2NhbFN0b3JhZ2VGaW5pc2hlZCgpCit2b2lkIFN0b3JhZ2VNYW5hZ2VyU2V0Ojp3YWl0VW50
aWxTeW5jaW5nTG9jYWxTdG9yYWdlRmluaXNoZWQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYm
IGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIEFTU0VSVChSdW5Mb29wOjppc01haW4oKSk7CiAK
LSAgICBCaW5hcnlTZW1hcGhvcmUgc2VtYXBob3JlOwotICAgIG1fcXVldWUtPmRpc3BhdGNoKFt0
aGlzLCAmc2VtYXBob3JlXSB7CisgICAgbV9xdWV1ZS0+ZGlzcGF0Y2goW3RoaXMsIGNvbXBsZXRp
b25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildICgpIG11dGFibGUgewogICAg
ICAgICBmb3IgKGNvbnN0IGF1dG8mIHN0b3JhZ2VBcmVhIDogbV9zdG9yYWdlQXJlYXMudmFsdWVz
KCkpIHsKICAgICAgICAgICAgIEFTU0VSVChzdG9yYWdlQXJlYSk7CiAgICAgICAgICAgICBpZiAo
c3RvcmFnZUFyZWEpCiAgICAgICAgICAgICAgICAgc3RvcmFnZUFyZWEtPnN5bmNUb0RhdGFiYXNl
KCk7CiAgICAgICAgIH0KLQotICAgICAgICBzZW1hcGhvcmUuc2lnbmFsKCk7CisgICAgICAgIFJ1
bkxvb3A6Om1haW4oKS5kaXNwYXRjaChXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiAgICAg
fSk7Ci0gICAgc2VtYXBob3JlLndhaXQoKTsKIH0KIAogdm9pZCBTdG9yYWdlTWFuYWdlclNldDo6
c3VzcGVuZChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCklu
ZGV4OiBTb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1dlYlN0b3JhZ2UvU3RvcmFnZU1hbmFn
ZXJTZXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1dlYlN0
b3JhZ2UvU3RvcmFnZU1hbmFnZXJTZXQuaAkocmV2aXNpb24gMjYwODMxKQorKysgU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9XZWJTdG9yYWdlL1N0b3JhZ2VNYW5hZ2VyU2V0LmgJKHdvcmtp
bmcgY29weSkKQEAgLTQ3LDcgKzQ3LDcgQEAgdXNpbmcgRGVsZXRlQ2FsbGJhY2sgPSBDb21wbGV0
aW9uSGFuZGxlcgogCiBjbGFzcyBTdG9yYWdlTWFuYWdlclNldCA6IHB1YmxpYyBJUEM6OkNvbm5l
Y3Rpb246OldvcmtRdWV1ZU1lc3NhZ2VSZWNlaXZlciB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJl
ZjxTdG9yYWdlTWFuYWdlclNldD4gY3JlYXRlKCk7CisgICAgU3RvcmFnZU1hbmFnZXJTZXQoKTsK
ICAgICB+U3RvcmFnZU1hbmFnZXJTZXQoKTsKIAogICAgIHZvaWQgYWRkKFBBTDo6U2Vzc2lvbklE
LCBjb25zdCBTdHJpbmcmIGxvY2FsU3RvcmFnZURpcmVjdG9yeSwgU2FuZGJveEV4dGVuc2lvbjo6
SGFuZGxlJiBsb2NhbFN0b3JhZ2VEaXJlY3RvcnlIYW5kbGUpOwpAQCAtNTcsOCArNTcsOCBAQCBw
dWJsaWM6CiAgICAgdm9pZCBhZGRDb25uZWN0aW9uKElQQzo6Q29ubmVjdGlvbiYpOwogICAgIHZv
aWQgcmVtb3ZlQ29ubmVjdGlvbihJUEM6OkNvbm5lY3Rpb24mKTsKIAotICAgIHZvaWQgd2FpdFVu
dGlsVGFza3NGaW5pc2hlZCgpOwotICAgIHZvaWQgd2FpdFVudGlsU3luY2luZ0xvY2FsU3RvcmFn
ZUZpbmlzaGVkKCk7CisgICAgdm9pZCB3YWl0VW50aWxUYXNrc0ZpbmlzaGVkKENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoKT4mJik7CisgICAgdm9pZCB3YWl0VW50aWxTeW5jaW5nTG9jYWxTdG9yYWdl
RmluaXNoZWQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKICAgICB2b2lkIHN1c3BlbmQo
Q29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKICAgICB2b2lkIHJlc3VtZSgpOwogCkBAIC03
NCw4ICs3NCw2IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpZFJlY2VpdmVTeW5jTWVzc2FnZShJUEM6
OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImLCBzdGQ6OnVuaXF1ZV9wdHI8SVBDOjpFbmNvZGVy
PiYgcmVwbHlFbmNvZGVyKTsKIAogcHJpdmF0ZToKLSAgICBTdG9yYWdlTWFuYWdlclNldCgpOwot
CiAgICAgLy8gTWVzc2FnZSBIYW5kbGVycwogICAgIHZvaWQgY29ubmVjdFRvTG9jYWxTdG9yYWdl
QXJlYShJUEM6OkNvbm5lY3Rpb24mLCBQQUw6OlNlc3Npb25JRCAsIFN0b3JhZ2VOYW1lc3BhY2VJ
ZGVudGlmaWVyLCBTZWN1cml0eU9yaWdpbkRhdGEmJiwgQ29ubmVjdFRvU3RvcmFnZUFyZWFDYWxs
YmFjayYmKTsKICAgICB2b2lkIGNvbm5lY3RUb1RyYW5zaWVudExvY2FsU3RvcmFnZUFyZWEoSVBD
OjpDb25uZWN0aW9uJiwgUEFMOjpTZXNzaW9uSUQgLCBTdG9yYWdlTmFtZXNwYWNlSWRlbnRpZmll
ciwgU2VjdXJpdHlPcmlnaW5EYXRhJiYsIFNlY3VyaXR5T3JpZ2luRGF0YSYmLCBDb25uZWN0VG9T
dG9yYWdlQXJlYUNhbGxiYWNrJiYpOwpAQCAtMTAyLDYgKzEwMCw5IEBAIHByaXZhdGU6CiAgICAg
U3RhdGUgbV9zdGF0ZSB7IFN0YXRlOjpSdW5uaW5nIH07CiAgICAgTG9jayBtX3N0YXRlTG9jazsK
ICAgICBDb25kaXRpb24gbV9zdGF0ZUNoYW5nZUNvbmRpdGlvbjsKKyNpZiBBU1NFUlRfRU5BQkxF
RAorICAgIGJvb2wgbV93YWl0ZWRVbnRpbFRhc2tzRmluaXNoZWQgeyBmYWxzZSB9OworI2VuZGlm
CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>398077</attachid>
            <date>2020-04-30 12:15:55 -0700</date>
            <delta_ts>2020-04-30 12:34:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211157-20200430121554.patch</filename>
            <type>text/plain</type>
            <size>6666</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjA5MzUpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDIwLTA0LTMwICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVtb3ZlIHVubmVj
ZXNzYXJ5IEJpbmFyeVNlbWFwaG9yZSB3YWl0cyBvbiB0aGUgbWFpbiB0aHJlYWQgaW4gdGhlIG5l
dHdvcmsgcHJvY2VzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjExMTU3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJL
aXQ6Ok5ldHdvcmtQcm9jZXNzOjpOZXR3b3JrUHJvY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6Ok5l
dHdvcmtQcm9jZXNzOjpkaWRDbG9zZSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNz
OjpzeW5jTG9jYWxTdG9yYWdlKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJv
Y2Vzcy5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1dlYlN0b3JhZ2UvU3RvcmFnZU1hbmFn
ZXJTZXQuY3BwOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdlTWFuYWdlclNldDo6flN0b3JhZ2VN
YW5hZ2VyU2V0KToKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZU1hbmFnZXJTZXQ6OndhaXRVbnRp
bFRhc2tzRmluaXNoZWQpOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdlTWFuYWdlclNldDo6d2Fp
dFVudGlsU3luY2luZ0xvY2FsU3RvcmFnZUZpbmlzaGVkKToKKyAgICAgICAgKFdlYktpdDo6U3Rv
cmFnZU1hbmFnZXJTZXQ6OmNyZWF0ZSk6IERlbGV0ZWQuCisgICAgICAgICogTmV0d29ya1Byb2Nl
c3MvV2ViU3RvcmFnZS9TdG9yYWdlTWFuYWdlclNldC5oOgorCiAyMDIwLTA0LTI5ICBTaW1vbiBG
cmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFVzZSBpbml0aWFsaXpl
cnMgaW4gUGxhdGZvcm1Nb3VzZUV2ZW50IGFuZCBXZWJFdmVudApJbmRleDogU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAJKHJldmlzaW9uIDI2MDkz
NSkKKysrIFNvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0yNjAsMTQgKzI2MCwxMyBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzOjpk
aWRDbG9zZShJUEM6OkNvbm5lCiAgICAgICAgIEFTU0VSVChSdW5Mb29wOjppc01haW4oKSk7CiAg
ICAgICAgIHN0b3BSdW5Mb29wKCk7CiAgICAgfSk7Ci0KLSAgICAvLyBNYWtlIHN1cmUgd2UgZmx1
c2ggYWxsIGNvb2tpZXMgYW5kIHJlc291cmNlIGxvYWQgc3RhdGlzdGljcyB0byBkaXNrIGJlZm9y
ZSBleGl0aW5nLgogI2lmIEVOQUJMRShSRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpCiAgICAgZm9y
RWFjaE5ldHdvcmtTZXNzaW9uKFsmXSAoYXV0byYgbmV0d29ya1Nlc3Npb24pIHsKICAgICAgICAg
bmV0d29ya1Nlc3Npb24uZGVzdHJveVJlc291cmNlTG9hZFN0YXRpc3RpY3MoW2NhbGxiYWNrQWdn
cmVnYXRvciA9IGNhbGxiYWNrQWdncmVnYXRvci5jb3B5UmVmKCldIHsgfSk7CiAgICAgfSk7CiAj
ZW5kaWYKICAgICBwbGF0Zm9ybVN5bmNBbGxDb29raWVzKFtjYWxsYmFja0FnZ3JlZ2F0b3IgPSBj
YWxsYmFja0FnZ3JlZ2F0b3IuY29weVJlZigpXSB7IH0pOworICAgIG1fc3RvcmFnZU1hbmFnZXJT
ZXQtPndhaXRVbnRpbFRhc2tzRmluaXNoZWQoW2NhbGxiYWNrQWdncmVnYXRvciA9IGNhbGxiYWNr
QWdncmVnYXRvci5jb3B5UmVmKCldIHsgfSk7CiB9CiAKIHZvaWQgTmV0d29ya1Byb2Nlc3M6OmRp
ZENyZWF0ZURvd25sb2FkKCkKQEAgLTI0NDAsOCArMjQzOSw3IEBAIHZvaWQgTmV0d29ya1Byb2Nl
c3M6OnNldFNlc3Npb25TdG9yYWdlUXUKIAogdm9pZCBOZXR3b3JrUHJvY2Vzczo6c3luY0xvY2Fs
U3RvcmFnZShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7
Ci0gICAgbV9zdG9yYWdlTWFuYWdlclNldC0+d2FpdFVudGlsU3luY2luZ0xvY2FsU3RvcmFnZUZp
bmlzaGVkKCk7Ci0gICAgY29tcGxldGlvbkhhbmRsZXIoKTsKKyAgICBtX3N0b3JhZ2VNYW5hZ2Vy
U2V0LT53YWl0VW50aWxTeW5jaW5nTG9jYWxTdG9yYWdlRmluaXNoZWQoV1RGTW92ZShjb21wbGV0
aW9uSGFuZGxlcikpOwogfQogCiB2b2lkIE5ldHdvcmtQcm9jZXNzOjpjbGVhckxlZ2FjeVByaXZh
dGVCcm93c2luZ0xvY2FsU3RvcmFnZSgpCkluZGV4OiBTb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtQcm9jZXNzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCShyZXZpc2lvbiAyNjA5MzUpCisrKyBTb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgJKHdvcmtpbmcgY29weSkKQEAgLTUz
Myw3ICs1MzMsNyBAQCBwcml2YXRlOgogICAgIEhhc2hNYXA8UEFMOjpTZXNzaW9uSUQsIHN0ZDo6
dW5pcXVlX3B0cjxXZWJDb3JlOjpOZXR3b3JrU3RvcmFnZVNlc3Npb24+PiBtX25ldHdvcmtTdG9y
YWdlU2Vzc2lvbnM7CiAgICAgbXV0YWJsZSBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6TmV0d29y
a1N0b3JhZ2VTZXNzaW9uPiBtX2RlZmF1bHROZXR3b3JrU3RvcmFnZVNlc3Npb247CiAKLSAgICBS
ZWZQdHI8U3RvcmFnZU1hbmFnZXJTZXQ+IG1fc3RvcmFnZU1hbmFnZXJTZXQ7CisgICAgUmVmPFN0
b3JhZ2VNYW5hZ2VyU2V0PiBtX3N0b3JhZ2VNYW5hZ2VyU2V0OwogCiAjaWYgUExBVEZPUk0oQ09D
T0EpCiAgICAgdm9pZCBwbGF0Zm9ybUluaXRpYWxpemVOZXR3b3JrUHJvY2Vzc0NvY29hKGNvbnN0
IE5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJik7CkluZGV4OiBTb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL1dlYlN0b3JhZ2UvU3RvcmFnZU1hbmFnZXJTZXQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvV2ViU3RvcmFnZS9TdG9yYWdlTWFu
YWdlclNldC5jcHAJKHJldmlzaW9uIDI2MDkzNSkKKysrIFNvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvV2ViU3RvcmFnZS9TdG9yYWdlTWFuYWdlclNldC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTUyLDggKzUyLDcgQEAgU3RvcmFnZU1hbmFnZXJTZXQ6OlN0b3JhZ2VNYW5hZ2VyU2V0KCkKIFN0
b3JhZ2VNYW5hZ2VyU2V0Ojp+U3RvcmFnZU1hbmFnZXJTZXQoKQogewogICAgIEFTU0VSVChSdW5M
b29wOjppc01haW4oKSk7Ci0KLSAgICB3YWl0VW50aWxUYXNrc0ZpbmlzaGVkKCk7CisgICAgQVNT
RVJUKG1fd2FpdGVkVW50aWxUYXNrc0ZpbmlzaGVkKTsKIH0KIAogdm9pZCBTdG9yYWdlTWFuYWdl
clNldDo6YWRkKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgY29uc3QgU3RyaW5nJiBsb2NhbFN0
b3JhZ2VEaXJlY3RvcnksIFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSYgbG9jYWxTdG9yYWdlRGly
ZWN0b3J5SGFuZGxlKQpAQCAtMTIzLDM4ICsxMjIsNDAgQEAgdm9pZCBTdG9yYWdlTWFuYWdlclNl
dDo6cmVtb3ZlQ29ubmVjdGlvbgogICAgIH0pOwogfQogCi12b2lkIFN0b3JhZ2VNYW5hZ2VyU2V0
Ojp3YWl0VW50aWxUYXNrc0ZpbmlzaGVkKCkKK3ZvaWQgU3RvcmFnZU1hbmFnZXJTZXQ6OndhaXRV
bnRpbFRhc2tzRmluaXNoZWQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25I
YW5kbGVyKQogewogICAgIEFTU0VSVChSdW5Mb29wOjppc01haW4oKSk7CiAKLSAgICBCaW5hcnlT
ZW1hcGhvcmUgc2VtYXBob3JlOwotICAgIG1fcXVldWUtPmRpc3BhdGNoKFt0aGlzLCAmc2VtYXBo
b3JlXSB7CisgICAgbV9xdWV1ZS0+ZGlzcGF0Y2goW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtl
UmVmKCp0aGlzKSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVy
KV0gKCkgbXV0YWJsZSB7CiAgICAgICAgIGZvciAoYXV0byYgc3RvcmFnZU1hbmFnZXIgOiBtX3N0
b3JhZ2VNYW5hZ2Vycy52YWx1ZXMoKSkKICAgICAgICAgICAgIHN0b3JhZ2VNYW5hZ2VyLT5jbGVh
clN0b3JhZ2VOYW1lc3BhY2VzKCk7CiAKICAgICAgICAgbV9zdG9yYWdlTWFuYWdlcnMuY2xlYXIo
KTsKICAgICAgICAgbV9zdG9yYWdlQXJlYXMuY2xlYXIoKTsKIAotICAgICAgICBzZW1hcGhvcmUu
c2lnbmFsKCk7CisgICAgICAgIFJ1bkxvb3A6Om1haW4oKS5kaXNwYXRjaChbdGhpcywgcHJvdGVj
dGVkVGhpcyA9IFdURk1vdmUocHJvdGVjdGVkVGhpcyksIGNvbXBsZXRpb25IYW5kbGVyID0gV1RG
TW92ZShjb21wbGV0aW9uSGFuZGxlcildICgpIG11dGFibGUgeworI2lmIEFTU0VSVF9FTkFCTEVE
CisgICAgICAgICAgICBtX3dhaXRlZFVudGlsVGFza3NGaW5pc2hlZCA9IHRydWU7CisjZWxzZQor
ICAgICAgICAgICAgVU5VU0VEX1BBUkFNKHRoaXMpOworI2VuZGlmCisgICAgICAgICAgICBjb21w
bGV0aW9uSGFuZGxlcigpOworICAgICAgICB9KTsKICAgICB9KTsKLSAgICBzZW1hcGhvcmUud2Fp
dCgpOwogfQogCi12b2lkIFN0b3JhZ2VNYW5hZ2VyU2V0Ojp3YWl0VW50aWxTeW5jaW5nTG9jYWxT
dG9yYWdlRmluaXNoZWQoKQordm9pZCBTdG9yYWdlTWFuYWdlclNldDo6d2FpdFVudGlsU3luY2lu
Z0xvY2FsU3RvcmFnZUZpbmlzaGVkKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0
aW9uSGFuZGxlcikKIHsKICAgICBBU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOwogCi0gICAgQmlu
YXJ5U2VtYXBob3JlIHNlbWFwaG9yZTsKLSAgICBtX3F1ZXVlLT5kaXNwYXRjaChbdGhpcywgJnNl
bWFwaG9yZV0geworICAgIG1fcXVldWUtPmRpc3BhdGNoKFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0g
bWFrZVJlZigqdGhpcyksIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFu
ZGxlcildICgpIG11dGFibGUgewogICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIHN0b3JhZ2VBcmVh
IDogbV9zdG9yYWdlQXJlYXMudmFsdWVzKCkpIHsKICAgICAgICAgICAgIEFTU0VSVChzdG9yYWdl
QXJlYSk7CiAgICAgICAgICAgICBpZiAoc3RvcmFnZUFyZWEpCiAgICAgICAgICAgICAgICAgc3Rv
cmFnZUFyZWEtPnN5bmNUb0RhdGFiYXNlKCk7CiAgICAgICAgIH0KLQotICAgICAgICBzZW1hcGhv
cmUuc2lnbmFsKCk7CisgICAgICAgIFJ1bkxvb3A6Om1haW4oKS5kaXNwYXRjaChXVEZNb3ZlKGNv
bXBsZXRpb25IYW5kbGVyKSk7CiAgICAgfSk7Ci0gICAgc2VtYXBob3JlLndhaXQoKTsKIH0KIAog
dm9pZCBTdG9yYWdlTWFuYWdlclNldDo6c3VzcGVuZChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+
JiYgY29tcGxldGlvbkhhbmRsZXIpCkluZGV4OiBTb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L1dlYlN0b3JhZ2UvU3RvcmFnZU1hbmFnZXJTZXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL1dlYlN0b3JhZ2UvU3RvcmFnZU1hbmFnZXJTZXQuaAkocmV2aXNp
b24gMjYwOTM1KQorKysgU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9XZWJTdG9yYWdlL1N0
b3JhZ2VNYW5hZ2VyU2V0LmgJKHdvcmtpbmcgY29weSkKQEAgLTU3LDggKzU3LDggQEAgcHVibGlj
OgogICAgIHZvaWQgYWRkQ29ubmVjdGlvbihJUEM6OkNvbm5lY3Rpb24mKTsKICAgICB2b2lkIHJl
bW92ZUNvbm5lY3Rpb24oSVBDOjpDb25uZWN0aW9uJik7CiAKLSAgICB2b2lkIHdhaXRVbnRpbFRh
c2tzRmluaXNoZWQoKTsKLSAgICB2b2lkIHdhaXRVbnRpbFN5bmNpbmdMb2NhbFN0b3JhZ2VGaW5p
c2hlZCgpOworICAgIHZvaWQgd2FpdFVudGlsVGFza3NGaW5pc2hlZChDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKCk+JiYpOworICAgIHZvaWQgd2FpdFVudGlsU3luY2luZ0xvY2FsU3RvcmFnZUZpbmlz
aGVkKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAgdm9pZCBzdXNwZW5kKENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAgdm9pZCByZXN1bWUoKTsKIApAQCAtMTAyLDYg
KzEwMiw5IEBAIHByaXZhdGU6CiAgICAgU3RhdGUgbV9zdGF0ZSB7IFN0YXRlOjpSdW5uaW5nIH07
CiAgICAgTG9jayBtX3N0YXRlTG9jazsKICAgICBDb25kaXRpb24gbV9zdGF0ZUNoYW5nZUNvbmRp
dGlvbjsKKyNpZiBBU1NFUlRfRU5BQkxFRAorICAgIGJvb2wgbV93YWl0ZWRVbnRpbFRhc2tzRmlu
aXNoZWQgeyBmYWxzZSB9OworI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>398082</attachid>
            <date>2020-04-30 12:34:11 -0700</date>
            <delta_ts>2020-04-30 12:36:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211157-20200430123410.patch</filename>
            <type>text/plain</type>
            <size>7102</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNjA5MzUpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDIwLTA0LTMwICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVtb3ZlIHVubmVj
ZXNzYXJ5IEJpbmFyeVNlbWFwaG9yZSB3YWl0cyBvbiB0aGUgbWFpbiB0aHJlYWQgaW4gdGhlIG5l
dHdvcmsgcHJvY2VzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjExMTU3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQ2hyaXMgRHVtZXouCisKKyAgICAg
ICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6
Ok5ldHdvcmtQcm9jZXNzOjpOZXR3b3JrUHJvY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdv
cmtQcm9jZXNzOjpkaWRDbG9zZSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjpz
eW5jTG9jYWxTdG9yYWdlKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vz
cy5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1dlYlN0b3JhZ2UvU3RvcmFnZU1hbmFnZXJT
ZXQuY3BwOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdlTWFuYWdlclNldDo6flN0b3JhZ2VNYW5h
Z2VyU2V0KToKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZU1hbmFnZXJTZXQ6OndhaXRVbnRpbFRh
c2tzRmluaXNoZWQpOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdlTWFuYWdlclNldDo6d2FpdFVu
dGlsU3luY2luZ0xvY2FsU3RvcmFnZUZpbmlzaGVkKToKKyAgICAgICAgKFdlYktpdDo6U3RvcmFn
ZU1hbmFnZXJTZXQ6OmNyZWF0ZSk6IERlbGV0ZWQuCisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mv
V2ViU3RvcmFnZS9TdG9yYWdlTWFuYWdlclNldC5oOgorCiAyMDIwLTA0LTI5ICBTaW1vbiBGcmFz
ZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFVzZSBpbml0aWFsaXplcnMg
aW4gUGxhdGZvcm1Nb3VzZUV2ZW50IGFuZCBXZWJFdmVudApJbmRleDogU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAJKHJldmlzaW9uIDI2MDkzNSkK
KysrIFNvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNjAsMTQgKzI2MCwxMyBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzOjpkaWRD
bG9zZShJUEM6OkNvbm5lCiAgICAgICAgIEFTU0VSVChSdW5Mb29wOjppc01haW4oKSk7CiAgICAg
ICAgIHN0b3BSdW5Mb29wKCk7CiAgICAgfSk7Ci0KLSAgICAvLyBNYWtlIHN1cmUgd2UgZmx1c2gg
YWxsIGNvb2tpZXMgYW5kIHJlc291cmNlIGxvYWQgc3RhdGlzdGljcyB0byBkaXNrIGJlZm9yZSBl
eGl0aW5nLgogI2lmIEVOQUJMRShSRVNPVVJDRV9MT0FEX1NUQVRJU1RJQ1MpCiAgICAgZm9yRWFj
aE5ldHdvcmtTZXNzaW9uKFsmXSAoYXV0byYgbmV0d29ya1Nlc3Npb24pIHsKICAgICAgICAgbmV0
d29ya1Nlc3Npb24uZGVzdHJveVJlc291cmNlTG9hZFN0YXRpc3RpY3MoW2NhbGxiYWNrQWdncmVn
YXRvciA9IGNhbGxiYWNrQWdncmVnYXRvci5jb3B5UmVmKCldIHsgfSk7CiAgICAgfSk7CiAjZW5k
aWYKICAgICBwbGF0Zm9ybVN5bmNBbGxDb29raWVzKFtjYWxsYmFja0FnZ3JlZ2F0b3IgPSBjYWxs
YmFja0FnZ3JlZ2F0b3IuY29weVJlZigpXSB7IH0pOworICAgIG1fc3RvcmFnZU1hbmFnZXJTZXQt
PndhaXRVbnRpbFRhc2tzRmluaXNoZWQoW2NhbGxiYWNrQWdncmVnYXRvciA9IGNhbGxiYWNrQWdn
cmVnYXRvci5jb3B5UmVmKCldIHsgfSk7CiB9CiAKIHZvaWQgTmV0d29ya1Byb2Nlc3M6OmRpZENy
ZWF0ZURvd25sb2FkKCkKQEAgLTI0NDAsOCArMjQzOSw3IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3M6
OnNldFNlc3Npb25TdG9yYWdlUXUKIAogdm9pZCBOZXR3b3JrUHJvY2Vzczo6c3luY0xvY2FsU3Rv
cmFnZShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7Ci0g
ICAgbV9zdG9yYWdlTWFuYWdlclNldC0+d2FpdFVudGlsU3luY2luZ0xvY2FsU3RvcmFnZUZpbmlz
aGVkKCk7Ci0gICAgY29tcGxldGlvbkhhbmRsZXIoKTsKKyAgICBtX3N0b3JhZ2VNYW5hZ2VyU2V0
LT53YWl0VW50aWxTeW5jaW5nTG9jYWxTdG9yYWdlRmluaXNoZWQoV1RGTW92ZShjb21wbGV0aW9u
SGFuZGxlcikpOwogfQogCiB2b2lkIE5ldHdvcmtQcm9jZXNzOjpjbGVhckxlZ2FjeVByaXZhdGVC
cm93c2luZ0xvY2FsU3RvcmFnZSgpCkluZGV4OiBTb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L05ldHdvcmtQcm9jZXNzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCShyZXZpc2lvbiAyNjA5MzUpCisrKyBTb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgJKHdvcmtpbmcgY29weSkKQEAgLTUzMyw3
ICs1MzMsNyBAQCBwcml2YXRlOgogICAgIEhhc2hNYXA8UEFMOjpTZXNzaW9uSUQsIHN0ZDo6dW5p
cXVlX3B0cjxXZWJDb3JlOjpOZXR3b3JrU3RvcmFnZVNlc3Npb24+PiBtX25ldHdvcmtTdG9yYWdl
U2Vzc2lvbnM7CiAgICAgbXV0YWJsZSBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6TmV0d29ya1N0
b3JhZ2VTZXNzaW9uPiBtX2RlZmF1bHROZXR3b3JrU3RvcmFnZVNlc3Npb247CiAKLSAgICBSZWZQ
dHI8U3RvcmFnZU1hbmFnZXJTZXQ+IG1fc3RvcmFnZU1hbmFnZXJTZXQ7CisgICAgUmVmPFN0b3Jh
Z2VNYW5hZ2VyU2V0PiBtX3N0b3JhZ2VNYW5hZ2VyU2V0OwogCiAjaWYgUExBVEZPUk0oQ09DT0Ep
CiAgICAgdm9pZCBwbGF0Zm9ybUluaXRpYWxpemVOZXR3b3JrUHJvY2Vzc0NvY29hKGNvbnN0IE5l
dHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJik7CkluZGV4OiBTb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL1dlYlN0b3JhZ2UvU3RvcmFnZU1hbmFnZXJTZXQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvV2ViU3RvcmFnZS9TdG9yYWdlTWFuYWdl
clNldC5jcHAJKHJldmlzaW9uIDI2MDkzNSkKKysrIFNvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvV2ViU3RvcmFnZS9TdG9yYWdlTWFuYWdlclNldC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUy
LDggKzUyLDcgQEAgU3RvcmFnZU1hbmFnZXJTZXQ6OlN0b3JhZ2VNYW5hZ2VyU2V0KCkKIFN0b3Jh
Z2VNYW5hZ2VyU2V0Ojp+U3RvcmFnZU1hbmFnZXJTZXQoKQogewogICAgIEFTU0VSVChSdW5Mb29w
Ojppc01haW4oKSk7Ci0KLSAgICB3YWl0VW50aWxUYXNrc0ZpbmlzaGVkKCk7CisgICAgQVNTRVJU
KG1fd2FpdGVkVW50aWxUYXNrc0ZpbmlzaGVkKTsKIH0KIAogdm9pZCBTdG9yYWdlTWFuYWdlclNl
dDo6YWRkKFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgY29uc3QgU3RyaW5nJiBsb2NhbFN0b3Jh
Z2VEaXJlY3RvcnksIFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSYgbG9jYWxTdG9yYWdlRGlyZWN0
b3J5SGFuZGxlKQpAQCAtMTIzLDM4ICsxMjIsNDAgQEAgdm9pZCBTdG9yYWdlTWFuYWdlclNldDo6
cmVtb3ZlQ29ubmVjdGlvbgogICAgIH0pOwogfQogCi12b2lkIFN0b3JhZ2VNYW5hZ2VyU2V0Ojp3
YWl0VW50aWxUYXNrc0ZpbmlzaGVkKCkKK3ZvaWQgU3RvcmFnZU1hbmFnZXJTZXQ6OndhaXRVbnRp
bFRhc2tzRmluaXNoZWQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNvbXBsZXRpb25IYW5k
bGVyKQogewogICAgIEFTU0VSVChSdW5Mb29wOjppc01haW4oKSk7CiAKLSAgICBCaW5hcnlTZW1h
cGhvcmUgc2VtYXBob3JlOwotICAgIG1fcXVldWUtPmRpc3BhdGNoKFt0aGlzLCAmc2VtYXBob3Jl
XSB7CisgICAgbV9xdWV1ZS0+ZGlzcGF0Y2goW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVm
KCp0aGlzKSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0g
KCkgbXV0YWJsZSB7CiAgICAgICAgIGZvciAoYXV0byYgc3RvcmFnZU1hbmFnZXIgOiBtX3N0b3Jh
Z2VNYW5hZ2Vycy52YWx1ZXMoKSkKICAgICAgICAgICAgIHN0b3JhZ2VNYW5hZ2VyLT5jbGVhclN0
b3JhZ2VOYW1lc3BhY2VzKCk7CiAKICAgICAgICAgbV9zdG9yYWdlTWFuYWdlcnMuY2xlYXIoKTsK
ICAgICAgICAgbV9zdG9yYWdlQXJlYXMuY2xlYXIoKTsKIAotICAgICAgICBzZW1hcGhvcmUuc2ln
bmFsKCk7CisgICAgICAgIFJ1bkxvb3A6Om1haW4oKS5kaXNwYXRjaChbdGhpcywgcHJvdGVjdGVk
VGhpcyA9IFdURk1vdmUocHJvdGVjdGVkVGhpcyksIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92
ZShjb21wbGV0aW9uSGFuZGxlcildICgpIG11dGFibGUgeworI2lmIEFTU0VSVF9FTkFCTEVECisg
ICAgICAgICAgICBtX3dhaXRlZFVudGlsVGFza3NGaW5pc2hlZCA9IHRydWU7CisjZWxzZQorICAg
ICAgICAgICAgVU5VU0VEX1BBUkFNKHRoaXMpOworI2VuZGlmCisgICAgICAgICAgICBjb21wbGV0
aW9uSGFuZGxlcigpOworICAgICAgICB9KTsKICAgICB9KTsKLSAgICBzZW1hcGhvcmUud2FpdCgp
OwogfQogCi12b2lkIFN0b3JhZ2VNYW5hZ2VyU2V0Ojp3YWl0VW50aWxTeW5jaW5nTG9jYWxTdG9y
YWdlRmluaXNoZWQoKQordm9pZCBTdG9yYWdlTWFuYWdlclNldDo6d2FpdFVudGlsU3luY2luZ0xv
Y2FsU3RvcmFnZUZpbmlzaGVkKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJiBjb21wbGV0aW9u
SGFuZGxlcikKIHsKICAgICBBU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOwogCi0gICAgQmluYXJ5
U2VtYXBob3JlIHNlbWFwaG9yZTsKLSAgICBtX3F1ZXVlLT5kaXNwYXRjaChbdGhpcywgJnNlbWFw
aG9yZV0geworICAgIG1fcXVldWUtPmRpc3BhdGNoKFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFr
ZVJlZigqdGhpcyksIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxl
cildICgpIG11dGFibGUgewogICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIHN0b3JhZ2VBcmVhIDog
bV9zdG9yYWdlQXJlYXMudmFsdWVzKCkpIHsKICAgICAgICAgICAgIEFTU0VSVChzdG9yYWdlQXJl
YSk7CiAgICAgICAgICAgICBpZiAoc3RvcmFnZUFyZWEpCiAgICAgICAgICAgICAgICAgc3RvcmFn
ZUFyZWEtPnN5bmNUb0RhdGFiYXNlKCk7CiAgICAgICAgIH0KLQotICAgICAgICBzZW1hcGhvcmUu
c2lnbmFsKCk7CisgICAgICAgIFJ1bkxvb3A6Om1haW4oKS5kaXNwYXRjaChXVEZNb3ZlKGNvbXBs
ZXRpb25IYW5kbGVyKSk7CiAgICAgfSk7Ci0gICAgc2VtYXBob3JlLndhaXQoKTsKIH0KIAogdm9p
ZCBTdG9yYWdlTWFuYWdlclNldDo6c3VzcGVuZChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+JiYg
Y29tcGxldGlvbkhhbmRsZXIpCkBAIC0yMzMsNyArMjM0LDkgQEAgdm9pZCBTdG9yYWdlTWFuYWdl
clNldDo6ZGVsZXRlU2Vzc2lvblN0bwogICAgICAgICBBU1NFUlQoc3RvcmFnZU1hbmFnZXIpOwog
CiAgICAgICAgIHN0b3JhZ2VNYW5hZ2VyLT5kZWxldGVTZXNzaW9uU3RvcmFnZUVudHJpZXNGb3JP
cmlnaW5zKGNvcGllZE9yaWdpbkRhdGFzKTsKLSAgICAgICAgUnVuTG9vcDo6bWFpbigpLmRpc3Bh
dGNoKFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKKyAgICAgICAgUnVuTG9vcDo6bWFpbigp
LmRpc3BhdGNoKFtjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIp
LCBwcm90ZWN0ZWRUaGlzID0gV1RGTW92ZShwcm90ZWN0ZWRUaGlzKV0gKCkgbXV0YWJsZSB7Cisg
ICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcigpOworICAgICAgICB9KTsKICAgICB9KTsKIH0K
IApJbmRleDogU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9XZWJTdG9yYWdlL1N0b3JhZ2VN
YW5hZ2VyU2V0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9X
ZWJTdG9yYWdlL1N0b3JhZ2VNYW5hZ2VyU2V0LmgJKHJldmlzaW9uIDI2MDkzNSkKKysrIFNvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvV2ViU3RvcmFnZS9TdG9yYWdlTWFuYWdlclNldC5oCSh3
b3JraW5nIGNvcHkpCkBAIC01Nyw4ICs1Nyw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGFkZENvbm5l
Y3Rpb24oSVBDOjpDb25uZWN0aW9uJik7CiAgICAgdm9pZCByZW1vdmVDb25uZWN0aW9uKElQQzo6
Q29ubmVjdGlvbiYpOwogCi0gICAgdm9pZCB3YWl0VW50aWxUYXNrc0ZpbmlzaGVkKCk7Ci0gICAg
dm9pZCB3YWl0VW50aWxTeW5jaW5nTG9jYWxTdG9yYWdlRmluaXNoZWQoKTsKKyAgICB2b2lkIHdh
aXRVbnRpbFRhc2tzRmluaXNoZWQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKKyAgICB2
b2lkIHdhaXRVbnRpbFN5bmNpbmdMb2NhbFN0b3JhZ2VGaW5pc2hlZChDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKCk+JiYpOwogICAgIHZvaWQgc3VzcGVuZChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+
JiYpOwogICAgIHZvaWQgcmVzdW1lKCk7CiAKQEAgLTEwMiw2ICsxMDIsOSBAQCBwcml2YXRlOgog
ICAgIFN0YXRlIG1fc3RhdGUgeyBTdGF0ZTo6UnVubmluZyB9OwogICAgIExvY2sgbV9zdGF0ZUxv
Y2s7CiAgICAgQ29uZGl0aW9uIG1fc3RhdGVDaGFuZ2VDb25kaXRpb247CisjaWYgQVNTRVJUX0VO
QUJMRUQKKyAgICBib29sIG1fd2FpdGVkVW50aWxUYXNrc0ZpbmlzaGVkIHsgZmFsc2UgfTsKKyNl
bmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0Cg==
</data>
<flag name="commit-queue"
          id="413474"
          type_id="3"
          status="-"
          setter="cdumez"
    />
          </attachment>
      

    </bug>

</bugzilla>