<?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>225767</bug_id>
          
          <creation_ts>2021-05-13 08:56:15 -0700</creation_ts>
          <short_desc>Introduce FileSystem::hardLinkCount()</short_desc>
          <delta_ts>2021-05-14 00:15:20 -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>Web Template Framework</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>benjamin</cc>
    
    <cc>cgarcia</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>koivisto</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1759699</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-05-13 08:56:15 -0700</bug_when>
    <thetext>Introduce FileSystem::hardLinkCount() to replace our platform-specific implementation in NetworkCacheBlobStorage.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1759708</commentid>
    <comment_count>1</comment_count>
      <attachid>428520</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-05-13 09:16:20 -0700</bug_when>
    <thetext>Created attachment 428520
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1759718</commentid>
    <comment_count>2</comment_count>
      <attachid>428524</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-05-13 09:56:47 -0700</bug_when>
    <thetext>Created attachment 428524
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1759731</commentid>
    <comment_count>3</comment_count>
      <attachid>428529</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-05-13 10:32:30 -0700</bug_when>
    <thetext>Created attachment 428529
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1759738</commentid>
    <comment_count>4</comment_count>
      <attachid>428530</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-05-13 10:37:34 -0700</bug_when>
    <thetext>Created attachment 428530
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1759775</commentid>
    <comment_count>5</comment_count>
      <attachid>428530</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-05-13 12:09:23 -0700</bug_when>
    <thetext>Comment on attachment 428530
Patch

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

&gt; Source/WTF/wtf/FileSystem.h:172
&gt; +WTF_EXPORT_PRIVATE Optional&lt;uint64_t&gt; hardLinkCount(const String&amp; path);

We could consider in future using Expected instead of Optional here if callers might need to know what specific error occurred.

&gt; Source/WebKit/NetworkProcess/cache/NetworkCacheBlobStorage.cpp:71
&gt; +        if (linkCount &amp;&amp; *linkCount == 1)
&gt; +            FileSystem::deleteFile(path);

Does this single failure of hardLinkCount orphan a file forever and mean it will never get cleaned up? Obviously not new to this refactoring.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1759776</commentid>
    <comment_count>6</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-05-13 12:17:51 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #5)
&gt; Comment on attachment 428530 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=428530&amp;action=review
&gt; 
&gt; &gt; Source/WTF/wtf/FileSystem.h:172
&gt; &gt; +WTF_EXPORT_PRIVATE Optional&lt;uint64_t&gt; hardLinkCount(const String&amp; path);
&gt; 
&gt; We could consider in future using Expected instead of Optional here if
&gt; callers might need to know what specific error occurred.
&gt; 
&gt; &gt; Source/WebKit/NetworkProcess/cache/NetworkCacheBlobStorage.cpp:71
&gt; &gt; +        if (linkCount &amp;&amp; *linkCount == 1)
&gt; &gt; +            FileSystem::deleteFile(path);
&gt; 
&gt; Does this single failure of hardLinkCount orphan a file forever and mean it
&gt; will never get cleaned up? Obviously not new to this refactoring.

Antti is in cc and I believe he wrote this code. I am not sure how to best deal with this so I am not planning to address it in this patch.

There could be several issues for hardLinkCount() to fail:
1. The file doesn&apos;t exist: No harm in this case not to delete the file
2. Permission issue: What are the odds deleteFile() is going to succeed then?

Also, if we fail to get the hardlink count, there is really no way for sure for us to know the file is not useful anymore and is safe to be deleted.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1759778</commentid>
    <comment_count>7</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-05-13 12:23:39 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #6)
&gt; 1. The file doesn&apos;t exist: No harm in this case not to delete the file

Agreed.

&gt; 2. Permission issue: What are the odds deleteFile() is going to succeed then?

The question for us to ask is: Why would this happen in practice? What would we want for a user affected by this?

&gt; Also, if we fail to get the hardlink count, there is really no way for sure
&gt; for us to know the file is not useful anymore and is safe to be deleted.

Absolutely, that’s right.

We still have to ask the bigger question and figure out if there’s any issue here that has to be dealt with; that doesn’t necessarily mean this code would change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1759786</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-05-13 12:43:45 -0700</bug_when>
    <thetext>Committed r277446 (237694@main): &lt;https://commits.webkit.org/237694@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 428530.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1759787</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-05-13 12:44:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/77981837&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1760025</commentid>
    <comment_count>10</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-05-14 00:15:20 -0700</bug_when>
    <thetext>&gt; Does this single failure of hardLinkCount orphan a file forever and mean it
&gt; will never get cleaned up? Obviously not new to this refactoring.

No, we&apos;ll just try again on next synchronize().

The most likely reason this would fail is probably that the file already got deleted (by another instance of NetworkProcess running in the same cache directory for example). This is ok.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>428520</attachid>
            <date>2021-05-13 09:16:20 -0700</date>
            <delta_ts>2021-05-13 10:13:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-225767-20210513091619.patch</filename>
            <type>text/plain</type>
            <size>7375</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3NDM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDZhNDIyODRjMWY1ZDlhOTIyODlkM2Jh
ODNlMGU4ZmE1NTBlNzAyZmUuLjA3MTBjOWRhYTRhNTMwYjRkYmIwOTc3YjM5MzgzZmY1ZTIwMmEx
Y2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMDUtMTMgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBJbnRyb2R1Y2UgRmlsZVN5c3RlbTo6aGFyZExpbmtDb3Vu
dCgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjU3
NjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbnRy
b2R1Y2UgRmlsZVN5c3RlbTo6aGFyZExpbmtDb3VudCgpIHRvIHJlcGxhY2Ugb3VyIHBsYXRmb3Jt
LXNwZWNpZmljIGltcGxlbWVudGF0aW9uCisgICAgICAgIGluIE5ldHdvcmtDYWNoZUJsb2JTdG9y
YWdlLgorCisgICAgICAgICogd3RmL0ZpbGVTeXN0ZW0uY3BwOgorICAgICAgICAoV1RGOjpGaWxl
U3lzdGVtSW1wbDo6aGFyZExpbmtDb3VudCk6CisgICAgICAgICogd3RmL0ZpbGVTeXN0ZW0uaDoK
KwogMjAyMS0wNS0xMiAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+CiAKICAgICAgICAg
SW1wbGVtZW50IHNvbWUgY29tbW9uIEJhc2VsaW5lIEpJVCBzbG93IHBhdGhzIHVzaW5nIEpJVCB0
aHVua3MuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCmluZGV4IDNmOTA3MDM1MWIxZWFmMWI5ZGE1MzE2YWZlN2ZhMGUzNWViZjAx
MDguLjk3M2IyMDc4NThmNDIyYzcxZWYzN2I2MzczNGYwNmQ1MmEyYWEwZTggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMjEtMDUtMTMgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNv
bT4KKworICAgICAgICBJbnRyb2R1Y2UgRmlsZVN5c3RlbTo6aGFyZExpbmtDb3VudCgpCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjU3NjcKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBMZXZlcmFnZSB0aGUg
RmlsZVN5c3RlbSBBUEkgaW5zdGVhZCBvZiBoYXZpbmcgcGxhdGZvcm0tc3BlY2lmaWMgY29kZS4K
KworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUJsb2JTdG9yYWdl
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpCbG9iU3RvcmFnZTo6c3luY2hy
b25pemUpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OkJsb2JTdG9yYWdlOjpzaGFy
ZUNvdW50KToKKwogMjAyMS0wNS0xMyAgUGVuZyBMaXUgIDxwZW5nLmxpdTZAYXBwbGUuY29tPgog
CiAgICAgICAgIFN1YnRpdGxlcyBpbiBTYWZhcmkgZmFpbCB0byBhcHBlYXIgYWZ0ZXIgc3dpdGNo
aW5nIGxhbmd1YWdlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9GaWxlU3lzdGVtLmNwcCBi
L1NvdXJjZS9XVEYvd3RmL0ZpbGVTeXN0ZW0uY3BwCmluZGV4IDI1NjJhYTllNGQyNGYyNjQ2N2Qy
ZTUwNzMwMDM4YjI5YzRlYTgyZDUuLjQ1MzA0MGVmMmNlN2RmMWE0ZDk3MjIzMGIwYjI3YTMyYTYz
ZGI4ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0ZpbGVTeXN0ZW0uY3BwCisrKyBiL1Nv
dXJjZS9XVEYvd3RmL0ZpbGVTeXN0ZW0uY3BwCkBAIC02NjMsNiArNjYzLDEzIEBAIGJvb2wgaGFy
ZExpbmtPckNvcHlGaWxlKGNvbnN0IFN0cmluZyYgdGFyZ2V0UGF0aCwgY29uc3QgU3RyaW5nJiBs
aW5rUGF0aCkKICAgICByZXR1cm4gIWVjOwogfQogCitPcHRpb25hbDx1bnNpZ25lZD4gaGFyZExp
bmtDb3VudChjb25zdCBTdHJpbmcmIHBhdGgpCit7CisgICAgc3RkOjplcnJvcl9jb2RlIGVjOwor
ICAgIGF1dG8gbGlua0NvdW50ID0gc3RkOjpmaWxlc3lzdGVtOjpoYXJkX2xpbmtfY291bnQodG9T
dGRGaWxlU3lzdGVtUGF0aChwYXRoKSwgZWMpOworICAgIHJldHVybiBlYyA/IFdURjo6bnVsbG9w
dCA6IG1ha2VPcHRpb25hbDx1bnNpZ25lZD4obGlua0NvdW50KTsKK30KKwogYm9vbCBkZWxldGVO
b25FbXB0eURpcmVjdG9yeShjb25zdCBTdHJpbmcmIHBhdGgpCiB7CiAgICAgc3RkOjplcnJvcl9j
b2RlIGVjOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvRmlsZVN5c3RlbS5oIGIvU291cmNl
L1dURi93dGYvRmlsZVN5c3RlbS5oCmluZGV4IDk2NWNjMzU3NDRhZWZmMTcwMjA1YWMxNzE2OTc4
YmM3OTYxODY1MjMuLjY0NzFiYjQ2M2YxZjczZmY1NWNhMWY2NTg5ZmE3MjY1Y2IyNjQyYWYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0ZpbGVTeXN0ZW0uaAorKysgYi9Tb3VyY2UvV1RGL3d0
Zi9GaWxlU3lzdGVtLmgKQEAgLTE2OSw2ICsxNjksNyBAQCBXVEZfRVhQT1JUX1BSSVZBVEUgYm9v
bCBhcHBlbmRGaWxlQ29udGVudHNUb0ZpbGVIYW5kbGUoY29uc3QgU3RyaW5nJiBwYXRoLCBQbGF0
ZgogV1RGX0VYUE9SVF9QUklWQVRFIGJvb2wgaGFyZExpbmsoY29uc3QgU3RyaW5nJiB0YXJnZXRQ
YXRoLCBjb25zdCBTdHJpbmcmIGxpbmtQYXRoKTsKIC8vIEhhcmQgbGlua3MgYSBmaWxlIGlmIHBv
c3NpYmxlLCBjb3BpZXMgaXQgaWYgbm90LgogV1RGX0VYUE9SVF9QUklWQVRFIGJvb2wgaGFyZExp
bmtPckNvcHlGaWxlKGNvbnN0IFN0cmluZyYgdGFyZ2V0UGF0aCwgY29uc3QgU3RyaW5nJiBsaW5r
UGF0aCk7CitXVEZfRVhQT1JUX1BSSVZBVEUgT3B0aW9uYWw8dW5zaWduZWQ+IGhhcmRMaW5rQ291
bnQoY29uc3QgU3RyaW5nJiBwYXRoKTsKIAogI2lmIFVTRShGSUxFX0xPQ0spCiBXVEZfRVhQT1JU
X1BSSVZBVEUgYm9vbCBsb2NrRmlsZShQbGF0Zm9ybUZpbGVIYW5kbGUsIE9wdGlvblNldDxGaWxl
TG9ja01vZGU+KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2Fj
aGUvTmV0d29ya0NhY2hlQmxvYlN0b3JhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVCbG9iU3RvcmFnZS5jcHAKaW5kZXggMTA0MThkZmI0NTRl
NWNmMjEzMGRhOGQ4OTRkNzlhNDI5ODNjNWViYy4uMzQ4YjIxYjlkODc1NGY0MjI3MGYzMjBkYjJk
YmZmYzBmODMyY2E0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9j
YWNoZS9OZXR3b3JrQ2FjaGVCbG9iU3RvcmFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVCbG9iU3RvcmFnZS5jcHAKQEAgLTY1LDE0ICs2
NSwxNSBAQCB2b2lkIEJsb2JTdG9yYWdlOjpzeW5jaHJvbml6ZSgpCiAgICAgICAgIGlmICh0eXBl
ICE9IERpcmVjdG9yeUVudHJ5VHlwZTo6RmlsZSkKICAgICAgICAgICAgIHJldHVybjsKICAgICAg
ICAgYXV0byBwYXRoID0gRmlsZVN5c3RlbTo6cGF0aEJ5QXBwZW5kaW5nQ29tcG9uZW50KGJsb2JE
aXJlY3RvcnksIG5hbWUpOwotICAgICAgICBhdXRvIGZpbGVQYXRoID0gRmlsZVN5c3RlbTo6Zmls
ZVN5c3RlbVJlcHJlc2VudGF0aW9uKHBhdGgpOwotICAgICAgICBzdHJ1Y3Qgc3RhdCBzdGF0Owot
ICAgICAgICA6OnN0YXQoZmlsZVBhdGguZGF0YSgpLCAmc3RhdCk7CisgICAgICAgIGF1dG8gbGlu
a0NvdW50ID0gRmlsZVN5c3RlbTo6aGFyZExpbmtDb3VudChwYXRoKTsKICAgICAgICAgLy8gTm8g
Y2xpZW50cyBsZWZ0IGZvciB0aGlzIGJsb2IuCi0gICAgICAgIGlmIChzdGF0LnN0X25saW5rID09
IDEpCi0gICAgICAgICAgICB1bmxpbmsoZmlsZVBhdGguZGF0YSgpKTsKLSAgICAgICAgZWxzZQot
ICAgICAgICAgICAgbV9hcHByb3hpbWF0ZVNpemUgKz0gc3RhdC5zdF9zaXplOworICAgICAgICBp
ZiAobGlua0NvdW50ICYmICpsaW5rQ291bnQgPT0gMSkKKyAgICAgICAgICAgIEZpbGVTeXN0ZW06
OmRlbGV0ZUZpbGUocGF0aCk7CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgbG9uZyBsb25n
IGZpbGVTaXplID0gMDsKKyAgICAgICAgICAgIEZpbGVTeXN0ZW06OmdldEZpbGVTaXplKHBhdGgs
IGZpbGVTaXplKTsKKyAgICAgICAgICAgIG1fYXBwcm94aW1hdGVTaXplICs9IGZpbGVTaXplOwor
ICAgICAgICB9CiAgICAgfSk7CiAKICAgICBMT0coTmV0d29ya0NhY2hlU3RvcmFnZSwgIihOZXR3
b3JrUHJvY2VzcykgYmxvYiBzeW5jaHJvbml6YXRpb24gY29tcGxldGVkIGFwcHJveGltYXRlU2l6
ZT0lenUiLCBhcHByb3hpbWF0ZVNpemUoKSk7CkBAIC0xNDEsMTIgKzE0MiwxMSBAQCB1bnNpZ25l
ZCBCbG9iU3RvcmFnZTo6c2hhcmVDb3VudChjb25zdCBTdHJpbmcmIHBhdGgpCiB7CiAgICAgQVNT
RVJUKCFSdW5Mb29wOjppc01haW4oKSk7CiAKLSAgICBhdXRvIGxpbmtQYXRoID0gRmlsZVN5c3Rl
bTo6ZmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uKHBhdGgpOwotICAgIHN0cnVjdCBzdGF0IHN0YXQ7
Ci0gICAgaWYgKDo6c3RhdChsaW5rUGF0aC5kYXRhKCksICZzdGF0KSA8IDApCisgICAgYXV0byBs
aW5rQ291bnQgPSBGaWxlU3lzdGVtOjpoYXJkTGlua0NvdW50KHBhdGgpOworICAgIGlmICghbGlu
a0NvdW50KQogICAgICAgICByZXR1cm4gMDsKICAgICAvLyBMaW5rIGNvdW50IGlzIDIgaW4gdGhl
IHNpbmdsZSBjbGllbnQgY2FzZSAodGhlIGJsb2IgZmlsZSBhbmQgYSBsaW5rKS4KLSAgICByZXR1
cm4gc3RhdC5zdF9ubGluayAtIDE7CisgICAgcmV0dXJuICpsaW5rQ291bnQgLSAxOwogfQogCiB9
CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZWUx
MjQyMDA0Mjk5MmZhN2FhNGQ3YjQ2ODg2YjFhOTBjMWM5NTYzNi4uNDI3MWRkNTdjMGU1M2FkZDZm
NWVjYWE2Yzk4OTU2MTYxYTE5MTcxYyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBi
L1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTA1LTEzICBDaHJpcyBEdW1l
eiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgSW50cm9kdWNlIEZpbGVTeXN0ZW06Omhh
cmRMaW5rQ291bnQoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjI1NzY3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkIEFQSSB0ZXN0IGNvdmVyYWdlLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9U
ZXN0cy9XVEYvRmlsZVN5c3RlbS5jcHA6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpURVNUX0Yp
OgorCiAyMDIxLTA1LTEzICBEbWl0cnkgQmV6aGV0c2tvdiAgPGRiZXpoZXRza292QGlnYWxpYS5j
b20+CiAKICAgICAgICAgQWRkIGRiZXpoZXRza292IGFzIGEgY29tbWl0ZXIKZGlmZiAtLWdpdCBh
L1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0ZpbGVTeXN0ZW0uY3BwIGIvVG9vbHMvVGVz
dFdlYktpdEFQSS9UZXN0cy9XVEYvRmlsZVN5c3RlbS5jcHAKaW5kZXggMTM3YTAxNzkwMzVlYzgw
MzVlMTc0NjY2YWQyMzc2NDhjNDBjYzVlMy4uNGI0ZmRhZTJmZTI3ODM2YTgxMmYwZjNhYTdhOGM5
ODBlMGMxODk5MSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvRmls
ZVN5c3RlbS5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvRmlsZVN5c3Rl
bS5jcHAKQEAgLTY1OSw2ICs2NTksMzkgQEAgVEVTVF9GKEZpbGVTeXN0ZW1UZXN0LCBjcmVhdGVI
YXJkTGlua09yQ29weUZpbGUpCiAgICAgRVhQRUNUX0VRKGxpbmtGaWxlU2l6ZSwgZmlsZVNpemUp
OwogfQogCitURVNUX0YoRmlsZVN5c3RlbVRlc3QsIGhhcmRMaW5rQ291bnQpCit7CisgICAgYXV0
byBsaW5rQ291bnQgPSBGaWxlU3lzdGVtOjpoYXJkTGlua0NvdW50KHRlbXBGaWxlUGF0aCgpKTsK
KyAgICBBU1NFUlRfVFJVRSghIWxpbmtDb3VudCk7CisgICAgRVhQRUNUX0VRKCpsaW5rQ291bnQs
IDFVKTsKKworICAgIGF1dG8gaGFyZGxpbmsxUGF0aCA9IEZpbGVTeXN0ZW06OnBhdGhCeUFwcGVu
ZGluZ0NvbXBvbmVudCh0ZW1wRW1wdHlGb2xkZXJQYXRoKCksICJ0ZW1wRmlsZS1oYXJkbGluazEi
KTsKKyAgICBFWFBFQ1RfVFJVRShGaWxlU3lzdGVtOjpoYXJkTGluayh0ZW1wRmlsZVBhdGgoKSwg
aGFyZGxpbmsxUGF0aCkpOworICAgIGxpbmtDb3VudCA9IEZpbGVTeXN0ZW06OmhhcmRMaW5rQ291
bnQodGVtcEZpbGVQYXRoKCkpOworICAgIEFTU0VSVF9UUlVFKCEhbGlua0NvdW50KTsKKyAgICBF
WFBFQ1RfRVEoKmxpbmtDb3VudCwgMlUpOworCisgICAgYXV0byBoYXJkbGluazJQYXRoID0gRmls
ZVN5c3RlbTo6cGF0aEJ5QXBwZW5kaW5nQ29tcG9uZW50KHRlbXBFbXB0eUZvbGRlclBhdGgoKSwg
InRlbXBGaWxlLWhhcmRsaW5rMiIpOworICAgIEVYUEVDVF9UUlVFKEZpbGVTeXN0ZW06OmhhcmRM
aW5rKHRlbXBGaWxlUGF0aCgpLCBoYXJkbGluazJQYXRoKSk7CisgICAgbGlua0NvdW50ID0gRmls
ZVN5c3RlbTo6aGFyZExpbmtDb3VudCh0ZW1wRmlsZVBhdGgoKSk7CisgICAgQVNTRVJUX1RSVUUo
ISFsaW5rQ291bnQpOworICAgIEVYUEVDVF9FUSgqbGlua0NvdW50LCAzVSk7CisKKyAgICBFWFBF
Q1RfVFJVRShGaWxlU3lzdGVtOjpkZWxldGVGaWxlKGhhcmRsaW5rMVBhdGgpKTsKKyAgICBsaW5r
Q291bnQgPSBGaWxlU3lzdGVtOjpoYXJkTGlua0NvdW50KHRlbXBGaWxlUGF0aCgpKTsKKyAgICBB
U1NFUlRfVFJVRSghIWxpbmtDb3VudCk7CisgICAgRVhQRUNUX0VRKCpsaW5rQ291bnQsIDJVKTsK
KworICAgIEVYUEVDVF9UUlVFKEZpbGVTeXN0ZW06OmRlbGV0ZUZpbGUoaGFyZGxpbmsyUGF0aCkp
OworICAgIGxpbmtDb3VudCA9IEZpbGVTeXN0ZW06OmhhcmRMaW5rQ291bnQodGVtcEZpbGVQYXRo
KCkpOworICAgIEFTU0VSVF9UUlVFKCEhbGlua0NvdW50KTsKKyAgICBFWFBFQ1RfRVEoKmxpbmtD
b3VudCwgMVUpOworCisgICAgRVhQRUNUX1RSVUUoRmlsZVN5c3RlbTo6ZGVsZXRlRmlsZSh0ZW1w
RmlsZVBhdGgoKSkpOworICAgIGxpbmtDb3VudCA9IEZpbGVTeXN0ZW06OmhhcmRMaW5rQ291bnQo
dGVtcEZpbGVQYXRoKCkpOworICAgIEVYUEVDVF9UUlVFKCFsaW5rQ291bnQpOworfQorCiBzdGF0
aWMgdm9pZCBydW5HZXRGaWxlTW9kaWZpY2F0aW9uVGltZVRlc3QoY29uc3QgU3RyaW5nJiBwYXRo
LCBGdW5jdGlvbjxPcHRpb25hbDxXYWxsVGltZT4oY29uc3QgU3RyaW5nJik+JiYgZ2V0RmlsZU1v
ZGlmaWNhdGlvblRpbWUpCiB7CiAgICAgYXV0byBtb2RpZmljYXRpb25UaW1lID0gZ2V0RmlsZU1v
ZGlmaWNhdGlvblRpbWUocGF0aCk7Cg==
</data>
<flag name="commit-queue"
          id="449450"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>428524</attachid>
            <date>2021-05-13 09:56:47 -0700</date>
            <delta_ts>2021-05-13 10:32:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-225767-20210513095646.patch</filename>
            <type>text/plain</type>
            <size>7312</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3NDM3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGUyNDhiNDFlNTZkY2Q5MzBkYmRlMjAx
MTM2NzVhZTE4YTkxZTk2OGQuLmJkYWYwOTJkYTFjN2NjMmVkOTQ5NTBjZjk4MDU0YWFiYmQ0MmFk
ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMDUtMTMgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBJbnRyb2R1Y2UgRmlsZVN5c3RlbTo6aGFyZExpbmtDb3Vu
dCgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjU3
NjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbnRy
b2R1Y2UgRmlsZVN5c3RlbTo6aGFyZExpbmtDb3VudCgpIHRvIHJlcGxhY2Ugb3VyIHBsYXRmb3Jt
LXNwZWNpZmljIGltcGxlbWVudGF0aW9uCisgICAgICAgIGluIE5ldHdvcmtDYWNoZUJsb2JTdG9y
YWdlLgorCisgICAgICAgICogd3RmL0ZpbGVTeXN0ZW0uY3BwOgorICAgICAgICAoV1RGOjpGaWxl
U3lzdGVtSW1wbDo6aGFyZExpbmtDb3VudCk6CisgICAgICAgICogd3RmL0ZpbGVTeXN0ZW0uaDoK
KwogMjAyMS0wNS0xMyAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAg
UmVtb3ZlIFN0cmluZ0J1aWxkZXI6OmFwcGVuZE51bWJlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCAzYTU3MmY4NWNm
NmFmNDY1ZjQ3YjJlZTJkZmRkMWQ1OWI5YTJmMjliLi4xM2E5OTNkNDIyY2I5Zjg3YzdlZWIwNWI0
MDc5YTcwZGI0YzE3NzYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIxLTA1LTEzICBD
aHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgSW50cm9kdWNlIEZpbGVT
eXN0ZW06OmhhcmRMaW5rQ291bnQoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjI1NzY3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgTGV2ZXJhZ2UgdGhlIEZpbGVTeXN0ZW0gQVBJIGluc3RlYWQgb2YgaGF2
aW5nIHBsYXRmb3JtLXNwZWNpZmljIGNvZGUuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9j
YWNoZS9OZXR3b3JrQ2FjaGVCbG9iU3RvcmFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdv
cmtDYWNoZTo6QmxvYlN0b3JhZ2U6OnN5bmNocm9uaXplKToKKyAgICAgICAgKFdlYktpdDo6TmV0
d29ya0NhY2hlOjpCbG9iU3RvcmFnZTo6c2hhcmVDb3VudCk6CisKIDIwMjEtMDUtMTMgIERhcmlu
IEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBTdHJpbmdCdWlsZGVy
OjphcHBlbmROdW1iZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0ZpbGVTeXN0ZW0uY3Bw
IGIvU291cmNlL1dURi93dGYvRmlsZVN5c3RlbS5jcHAKaW5kZXggMjU2MmFhOWU0ZDI0ZjI2NDY3
ZDJlNTA3MzAwMzhiMjljNGVhODJkNS4uNDUzMDQwZWYyY2U3ZGYxYTRkOTcyMjMwYjBiMjdhMzJh
NjNkYjhmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvRmlsZVN5c3RlbS5jcHAKKysrIGIv
U291cmNlL1dURi93dGYvRmlsZVN5c3RlbS5jcHAKQEAgLTY2Myw2ICs2NjMsMTMgQEAgYm9vbCBo
YXJkTGlua09yQ29weUZpbGUoY29uc3QgU3RyaW5nJiB0YXJnZXRQYXRoLCBjb25zdCBTdHJpbmcm
IGxpbmtQYXRoKQogICAgIHJldHVybiAhZWM7CiB9CiAKK09wdGlvbmFsPHVuc2lnbmVkPiBoYXJk
TGlua0NvdW50KGNvbnN0IFN0cmluZyYgcGF0aCkKK3sKKyAgICBzdGQ6OmVycm9yX2NvZGUgZWM7
CisgICAgYXV0byBsaW5rQ291bnQgPSBzdGQ6OmZpbGVzeXN0ZW06OmhhcmRfbGlua19jb3VudCh0
b1N0ZEZpbGVTeXN0ZW1QYXRoKHBhdGgpLCBlYyk7CisgICAgcmV0dXJuIGVjID8gV1RGOjpudWxs
b3B0IDogbWFrZU9wdGlvbmFsPHVuc2lnbmVkPihsaW5rQ291bnQpOworfQorCiBib29sIGRlbGV0
ZU5vbkVtcHR5RGlyZWN0b3J5KGNvbnN0IFN0cmluZyYgcGF0aCkKIHsKICAgICBzdGQ6OmVycm9y
X2NvZGUgZWM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9GaWxlU3lzdGVtLmggYi9Tb3Vy
Y2UvV1RGL3d0Zi9GaWxlU3lzdGVtLmgKaW5kZXggOTY1Y2MzNTc0NGFlZmYxNzAyMDVhYzE3MTY5
NzhiYzc5NjE4NjUyMy4uYjFmZDIyMWMyMTEyNmNhOWY4M2UyMTYyZDdhZGZkYjRjY2Q3NjJmNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvRmlsZVN5c3RlbS5oCisrKyBiL1NvdXJjZS9XVEYv
d3RmL0ZpbGVTeXN0ZW0uaApAQCAtMTY5LDYgKzE2OSw3IEBAIFdURl9FWFBPUlRfUFJJVkFURSBi
b29sIGFwcGVuZEZpbGVDb250ZW50c1RvRmlsZUhhbmRsZShjb25zdCBTdHJpbmcmIHBhdGgsIFBs
YXRmCiBXVEZfRVhQT1JUX1BSSVZBVEUgYm9vbCBoYXJkTGluayhjb25zdCBTdHJpbmcmIHRhcmdl
dFBhdGgsIGNvbnN0IFN0cmluZyYgbGlua1BhdGgpOwogLy8gSGFyZCBsaW5rcyBhIGZpbGUgaWYg
cG9zc2libGUsIGNvcGllcyBpdCBpZiBub3QuCiBXVEZfRVhQT1JUX1BSSVZBVEUgYm9vbCBoYXJk
TGlua09yQ29weUZpbGUoY29uc3QgU3RyaW5nJiB0YXJnZXRQYXRoLCBjb25zdCBTdHJpbmcmIGxp
bmtQYXRoKTsKK1dURl9FWFBPUlRfUFJJVkFURSBPcHRpb25hbDx1aW50NjRfdD4gaGFyZExpbmtD
b3VudChjb25zdCBTdHJpbmcmIHBhdGgpOwogCiAjaWYgVVNFKEZJTEVfTE9DSykKIFdURl9FWFBP
UlRfUFJJVkFURSBib29sIGxvY2tGaWxlKFBsYXRmb3JtRmlsZUhhbmRsZSwgT3B0aW9uU2V0PEZp
bGVMb2NrTW9kZT4pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9j
YWNoZS9OZXR3b3JrQ2FjaGVCbG9iU3RvcmFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUJsb2JTdG9yYWdlLmNwcAppbmRleCAxMDQxOGRmYjQ1
NGU1Y2YyMTMwZGE4ZDg5NGQ3OWE0Mjk4M2M1ZWJjLi4zNDhiMjFiOWQ4NzU0ZjQyMjcwZjMyMGRi
MmRiZmZjMGY4MzJjYTQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L2NhY2hlL05ldHdvcmtDYWNoZUJsb2JTdG9yYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUJsb2JTdG9yYWdlLmNwcApAQCAtNjUsMTQg
KzY1LDE1IEBAIHZvaWQgQmxvYlN0b3JhZ2U6OnN5bmNocm9uaXplKCkKICAgICAgICAgaWYgKHR5
cGUgIT0gRGlyZWN0b3J5RW50cnlUeXBlOjpGaWxlKQogICAgICAgICAgICAgcmV0dXJuOwogICAg
ICAgICBhdXRvIHBhdGggPSBGaWxlU3lzdGVtOjpwYXRoQnlBcHBlbmRpbmdDb21wb25lbnQoYmxv
YkRpcmVjdG9yeSwgbmFtZSk7Ci0gICAgICAgIGF1dG8gZmlsZVBhdGggPSBGaWxlU3lzdGVtOjpm
aWxlU3lzdGVtUmVwcmVzZW50YXRpb24ocGF0aCk7Ci0gICAgICAgIHN0cnVjdCBzdGF0IHN0YXQ7
Ci0gICAgICAgIDo6c3RhdChmaWxlUGF0aC5kYXRhKCksICZzdGF0KTsKKyAgICAgICAgYXV0byBs
aW5rQ291bnQgPSBGaWxlU3lzdGVtOjpoYXJkTGlua0NvdW50KHBhdGgpOwogICAgICAgICAvLyBO
byBjbGllbnRzIGxlZnQgZm9yIHRoaXMgYmxvYi4KLSAgICAgICAgaWYgKHN0YXQuc3Rfbmxpbmsg
PT0gMSkKLSAgICAgICAgICAgIHVubGluayhmaWxlUGF0aC5kYXRhKCkpOwotICAgICAgICBlbHNl
Ci0gICAgICAgICAgICBtX2FwcHJveGltYXRlU2l6ZSArPSBzdGF0LnN0X3NpemU7CisgICAgICAg
IGlmIChsaW5rQ291bnQgJiYgKmxpbmtDb3VudCA9PSAxKQorICAgICAgICAgICAgRmlsZVN5c3Rl
bTo6ZGVsZXRlRmlsZShwYXRoKTsKKyAgICAgICAgZWxzZSB7CisgICAgICAgICAgICBsb25nIGxv
bmcgZmlsZVNpemUgPSAwOworICAgICAgICAgICAgRmlsZVN5c3RlbTo6Z2V0RmlsZVNpemUocGF0
aCwgZmlsZVNpemUpOworICAgICAgICAgICAgbV9hcHByb3hpbWF0ZVNpemUgKz0gZmlsZVNpemU7
CisgICAgICAgIH0KICAgICB9KTsKIAogICAgIExPRyhOZXR3b3JrQ2FjaGVTdG9yYWdlLCAiKE5l
dHdvcmtQcm9jZXNzKSBibG9iIHN5bmNocm9uaXphdGlvbiBjb21wbGV0ZWQgYXBwcm94aW1hdGVT
aXplPSV6dSIsIGFwcHJveGltYXRlU2l6ZSgpKTsKQEAgLTE0MSwxMiArMTQyLDExIEBAIHVuc2ln
bmVkIEJsb2JTdG9yYWdlOjpzaGFyZUNvdW50KGNvbnN0IFN0cmluZyYgcGF0aCkKIHsKICAgICBB
U1NFUlQoIVJ1bkxvb3A6OmlzTWFpbigpKTsKIAotICAgIGF1dG8gbGlua1BhdGggPSBGaWxlU3lz
dGVtOjpmaWxlU3lzdGVtUmVwcmVzZW50YXRpb24ocGF0aCk7Ci0gICAgc3RydWN0IHN0YXQgc3Rh
dDsKLSAgICBpZiAoOjpzdGF0KGxpbmtQYXRoLmRhdGEoKSwgJnN0YXQpIDwgMCkKKyAgICBhdXRv
IGxpbmtDb3VudCA9IEZpbGVTeXN0ZW06OmhhcmRMaW5rQ291bnQocGF0aCk7CisgICAgaWYgKCFs
aW5rQ291bnQpCiAgICAgICAgIHJldHVybiAwOwogICAgIC8vIExpbmsgY291bnQgaXMgMiBpbiB0
aGUgc2luZ2xlIGNsaWVudCBjYXNlICh0aGUgYmxvYiBmaWxlIGFuZCBhIGxpbmspLgotICAgIHJl
dHVybiBzdGF0LnN0X25saW5rIC0gMTsKKyAgICByZXR1cm4gKmxpbmtDb3VudCAtIDE7CiB9CiAK
IH0KZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA3
MzMxNzdlOGZiYjNiM2E4NzllNzRiMjFmNTdmZmY3MGQ0ZGM5NThmLi5lN2M5MjAyZmJiNzBiY2Ni
OTg1MTJkMzc1NTRkOWJlOWI0ODEwOTNkIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysr
IGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMDUtMTMgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBJbnRyb2R1Y2UgRmlsZVN5c3RlbTo6
aGFyZExpbmtDb3VudCgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMjU3NjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBBZGQgQVBJIHRlc3QgY292ZXJhZ2UuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dURi9GaWxlU3lzdGVtLmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1Rf
Rik6CisKIDIwMjEtMDUtMTMgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAg
ICAgIFJlbW92ZSBTdHJpbmdCdWlsZGVyOjphcHBlbmROdW1iZXIKZGlmZiAtLWdpdCBhL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0ZpbGVTeXN0ZW0uY3BwIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XVEYvRmlsZVN5c3RlbS5jcHAKaW5kZXggMTM3YTAxNzkwMzVlYzgwMzVlMTc0
NjY2YWQyMzc2NDhjNDBjYzVlMy4uNGI0ZmRhZTJmZTI3ODM2YTgxMmYwZjNhYTdhOGM5ODBlMGMx
ODk5MSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvRmlsZVN5c3Rl
bS5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvRmlsZVN5c3RlbS5jcHAK
QEAgLTY1OSw2ICs2NTksMzkgQEAgVEVTVF9GKEZpbGVTeXN0ZW1UZXN0LCBjcmVhdGVIYXJkTGlu
a09yQ29weUZpbGUpCiAgICAgRVhQRUNUX0VRKGxpbmtGaWxlU2l6ZSwgZmlsZVNpemUpOwogfQog
CitURVNUX0YoRmlsZVN5c3RlbVRlc3QsIGhhcmRMaW5rQ291bnQpCit7CisgICAgYXV0byBsaW5r
Q291bnQgPSBGaWxlU3lzdGVtOjpoYXJkTGlua0NvdW50KHRlbXBGaWxlUGF0aCgpKTsKKyAgICBB
U1NFUlRfVFJVRSghIWxpbmtDb3VudCk7CisgICAgRVhQRUNUX0VRKCpsaW5rQ291bnQsIDFVKTsK
KworICAgIGF1dG8gaGFyZGxpbmsxUGF0aCA9IEZpbGVTeXN0ZW06OnBhdGhCeUFwcGVuZGluZ0Nv
bXBvbmVudCh0ZW1wRW1wdHlGb2xkZXJQYXRoKCksICJ0ZW1wRmlsZS1oYXJkbGluazEiKTsKKyAg
ICBFWFBFQ1RfVFJVRShGaWxlU3lzdGVtOjpoYXJkTGluayh0ZW1wRmlsZVBhdGgoKSwgaGFyZGxp
bmsxUGF0aCkpOworICAgIGxpbmtDb3VudCA9IEZpbGVTeXN0ZW06OmhhcmRMaW5rQ291bnQodGVt
cEZpbGVQYXRoKCkpOworICAgIEFTU0VSVF9UUlVFKCEhbGlua0NvdW50KTsKKyAgICBFWFBFQ1Rf
RVEoKmxpbmtDb3VudCwgMlUpOworCisgICAgYXV0byBoYXJkbGluazJQYXRoID0gRmlsZVN5c3Rl
bTo6cGF0aEJ5QXBwZW5kaW5nQ29tcG9uZW50KHRlbXBFbXB0eUZvbGRlclBhdGgoKSwgInRlbXBG
aWxlLWhhcmRsaW5rMiIpOworICAgIEVYUEVDVF9UUlVFKEZpbGVTeXN0ZW06OmhhcmRMaW5rKHRl
bXBGaWxlUGF0aCgpLCBoYXJkbGluazJQYXRoKSk7CisgICAgbGlua0NvdW50ID0gRmlsZVN5c3Rl
bTo6aGFyZExpbmtDb3VudCh0ZW1wRmlsZVBhdGgoKSk7CisgICAgQVNTRVJUX1RSVUUoISFsaW5r
Q291bnQpOworICAgIEVYUEVDVF9FUSgqbGlua0NvdW50LCAzVSk7CisKKyAgICBFWFBFQ1RfVFJV
RShGaWxlU3lzdGVtOjpkZWxldGVGaWxlKGhhcmRsaW5rMVBhdGgpKTsKKyAgICBsaW5rQ291bnQg
PSBGaWxlU3lzdGVtOjpoYXJkTGlua0NvdW50KHRlbXBGaWxlUGF0aCgpKTsKKyAgICBBU1NFUlRf
VFJVRSghIWxpbmtDb3VudCk7CisgICAgRVhQRUNUX0VRKCpsaW5rQ291bnQsIDJVKTsKKworICAg
IEVYUEVDVF9UUlVFKEZpbGVTeXN0ZW06OmRlbGV0ZUZpbGUoaGFyZGxpbmsyUGF0aCkpOworICAg
IGxpbmtDb3VudCA9IEZpbGVTeXN0ZW06OmhhcmRMaW5rQ291bnQodGVtcEZpbGVQYXRoKCkpOwor
ICAgIEFTU0VSVF9UUlVFKCEhbGlua0NvdW50KTsKKyAgICBFWFBFQ1RfRVEoKmxpbmtDb3VudCwg
MVUpOworCisgICAgRVhQRUNUX1RSVUUoRmlsZVN5c3RlbTo6ZGVsZXRlRmlsZSh0ZW1wRmlsZVBh
dGgoKSkpOworICAgIGxpbmtDb3VudCA9IEZpbGVTeXN0ZW06OmhhcmRMaW5rQ291bnQodGVtcEZp
bGVQYXRoKCkpOworICAgIEVYUEVDVF9UUlVFKCFsaW5rQ291bnQpOworfQorCiBzdGF0aWMgdm9p
ZCBydW5HZXRGaWxlTW9kaWZpY2F0aW9uVGltZVRlc3QoY29uc3QgU3RyaW5nJiBwYXRoLCBGdW5j
dGlvbjxPcHRpb25hbDxXYWxsVGltZT4oY29uc3QgU3RyaW5nJik+JiYgZ2V0RmlsZU1vZGlmaWNh
dGlvblRpbWUpCiB7CiAgICAgYXV0byBtb2RpZmljYXRpb25UaW1lID0gZ2V0RmlsZU1vZGlmaWNh
dGlvblRpbWUocGF0aCk7Cg==
</data>
<flag name="commit-queue"
          id="449455"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>428529</attachid>
            <date>2021-05-13 10:32:30 -0700</date>
            <delta_ts>2021-05-13 10:40:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-225767-20210513103229.patch</filename>
            <type>text/plain</type>
            <size>7335</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3NDM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGFlMDhkMDdhNGU4ZjVkNmRhNGU3NThm
NWQzNzU0ZTRhYWVhYzliNzAuLjkyOGJhNTRjM2ExMGZjMzM2ODdkOGU0MDA2YjFmMjgyODRlNDJm
Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMDUtMTMgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBJbnRyb2R1Y2UgRmlsZVN5c3RlbTo6aGFyZExpbmtDb3Vu
dCgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjU3
NjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbnRy
b2R1Y2UgRmlsZVN5c3RlbTo6aGFyZExpbmtDb3VudCgpIHRvIHJlcGxhY2Ugb3VyIHBsYXRmb3Jt
LXNwZWNpZmljIGltcGxlbWVudGF0aW9uCisgICAgICAgIGluIE5ldHdvcmtDYWNoZUJsb2JTdG9y
YWdlLgorCisgICAgICAgICogd3RmL0ZpbGVTeXN0ZW0uY3BwOgorICAgICAgICAoV1RGOjpGaWxl
U3lzdGVtSW1wbDo6aGFyZExpbmtDb3VudCk6CisgICAgICAgICogd3RmL0ZpbGVTeXN0ZW0uaDoK
KwogMjAyMS0wNS0xMyAgQWxpY2lhIEJveWEgR2FyY8OtYSAgPGFib3lhQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgW1dURl0gQWRkIGhvbGRMb2NrKCkgb3ZlcmxvYWQgZm9yIFdURjo6RGF0YU11dGV4
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCmluZGV4IDNhNTcyZjg1Y2Y2YWY0NjVmNDdiMmVlMmRmZGQxZDU5YjlhMmYyOWIuLjEz
YTk5M2Q0MjJjYjlmODdjN2VlYjA1YjQwNzlhNzBkYjRjMTc3NjIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTYgQEAKKzIwMjEtMDUtMTMgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKwor
ICAgICAgICBJbnRyb2R1Y2UgRmlsZVN5c3RlbTo6aGFyZExpbmtDb3VudCgpCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjU3NjcKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBMZXZlcmFnZSB0aGUgRmlsZVN5
c3RlbSBBUEkgaW5zdGVhZCBvZiBoYXZpbmcgcGxhdGZvcm0tc3BlY2lmaWMgY29kZS4KKworICAg
ICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUJsb2JTdG9yYWdlLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpCbG9iU3RvcmFnZTo6c3luY2hyb25pemUp
OgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OkJsb2JTdG9yYWdlOjpzaGFyZUNvdW50
KToKKwogMjAyMS0wNS0xMyAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgUmVtb3ZlIFN0cmluZ0J1aWxkZXI6OmFwcGVuZE51bWJlcgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dURi93dGYvRmlsZVN5c3RlbS5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9GaWxlU3lzdGVtLmNwcApp
bmRleCAyNTYyYWE5ZTRkMjRmMjY0NjdkMmU1MDczMDAzOGIyOWM0ZWE4MmQ1Li5iNzE3MTVkZWUx
YmQ2ZmVjNDFkNWUzYTRmMmJlMTFlYzE5ZjQwOWI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0
Zi9GaWxlU3lzdGVtLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9GaWxlU3lzdGVtLmNwcApAQCAt
NjYzLDYgKzY2MywxMyBAQCBib29sIGhhcmRMaW5rT3JDb3B5RmlsZShjb25zdCBTdHJpbmcmIHRh
cmdldFBhdGgsIGNvbnN0IFN0cmluZyYgbGlua1BhdGgpCiAgICAgcmV0dXJuICFlYzsKIH0KIAor
T3B0aW9uYWw8dWludDY0X3Q+IGhhcmRMaW5rQ291bnQoY29uc3QgU3RyaW5nJiBwYXRoKQorewor
ICAgIHN0ZDo6ZXJyb3JfY29kZSBlYzsKKyAgICBhdXRvIGxpbmtDb3VudCA9IHN0ZDo6ZmlsZXN5
c3RlbTo6aGFyZF9saW5rX2NvdW50KHRvU3RkRmlsZVN5c3RlbVBhdGgocGF0aCksIGVjKTsKKyAg
ICByZXR1cm4gZWMgPyBXVEY6Om51bGxvcHQgOiBtYWtlT3B0aW9uYWw8dWludDY0X3Q+KGxpbmtD
b3VudCk7Cit9CisKIGJvb2wgZGVsZXRlTm9uRW1wdHlEaXJlY3RvcnkoY29uc3QgU3RyaW5nJiBw
YXRoKQogewogICAgIHN0ZDo6ZXJyb3JfY29kZSBlYzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYv
d3RmL0ZpbGVTeXN0ZW0uaCBiL1NvdXJjZS9XVEYvd3RmL0ZpbGVTeXN0ZW0uaAppbmRleCA5NjVj
YzM1NzQ0YWVmZjE3MDIwNWFjMTcxNjk3OGJjNzk2MTg2NTIzLi5iMWZkMjIxYzIxMTI2Y2E5Zjgz
ZTIxNjJkN2FkZmRiNGNjZDc2MmY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9GaWxlU3lz
dGVtLmgKKysrIGIvU291cmNlL1dURi93dGYvRmlsZVN5c3RlbS5oCkBAIC0xNjksNiArMTY5LDcg
QEAgV1RGX0VYUE9SVF9QUklWQVRFIGJvb2wgYXBwZW5kRmlsZUNvbnRlbnRzVG9GaWxlSGFuZGxl
KGNvbnN0IFN0cmluZyYgcGF0aCwgUGxhdGYKIFdURl9FWFBPUlRfUFJJVkFURSBib29sIGhhcmRM
aW5rKGNvbnN0IFN0cmluZyYgdGFyZ2V0UGF0aCwgY29uc3QgU3RyaW5nJiBsaW5rUGF0aCk7CiAv
LyBIYXJkIGxpbmtzIGEgZmlsZSBpZiBwb3NzaWJsZSwgY29waWVzIGl0IGlmIG5vdC4KIFdURl9F
WFBPUlRfUFJJVkFURSBib29sIGhhcmRMaW5rT3JDb3B5RmlsZShjb25zdCBTdHJpbmcmIHRhcmdl
dFBhdGgsIGNvbnN0IFN0cmluZyYgbGlua1BhdGgpOworV1RGX0VYUE9SVF9QUklWQVRFIE9wdGlv
bmFsPHVpbnQ2NF90PiBoYXJkTGlua0NvdW50KGNvbnN0IFN0cmluZyYgcGF0aCk7CiAKICNpZiBV
U0UoRklMRV9MT0NLKQogV1RGX0VYUE9SVF9QUklWQVRFIGJvb2wgbG9ja0ZpbGUoUGxhdGZvcm1G
aWxlSGFuZGxlLCBPcHRpb25TZXQ8RmlsZUxvY2tNb2RlPik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUJsb2JTdG9yYWdlLmNwcCBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlQmxvYlN0b3Jh
Z2UuY3BwCmluZGV4IDEwNDE4ZGZiNDU0ZTVjZjIxMzBkYThkODk0ZDc5YTQyOTgzYzVlYmMuLjM0
OGIyMWI5ZDg3NTRmNDIyNzBmMzIwZGIyZGJmZmMwZjgzMmNhNDUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlQmxvYlN0b3JhZ2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlQmxv
YlN0b3JhZ2UuY3BwCkBAIC02NSwxNCArNjUsMTUgQEAgdm9pZCBCbG9iU3RvcmFnZTo6c3luY2hy
b25pemUoKQogICAgICAgICBpZiAodHlwZSAhPSBEaXJlY3RvcnlFbnRyeVR5cGU6OkZpbGUpCiAg
ICAgICAgICAgICByZXR1cm47CiAgICAgICAgIGF1dG8gcGF0aCA9IEZpbGVTeXN0ZW06OnBhdGhC
eUFwcGVuZGluZ0NvbXBvbmVudChibG9iRGlyZWN0b3J5LCBuYW1lKTsKLSAgICAgICAgYXV0byBm
aWxlUGF0aCA9IEZpbGVTeXN0ZW06OmZpbGVTeXN0ZW1SZXByZXNlbnRhdGlvbihwYXRoKTsKLSAg
ICAgICAgc3RydWN0IHN0YXQgc3RhdDsKLSAgICAgICAgOjpzdGF0KGZpbGVQYXRoLmRhdGEoKSwg
JnN0YXQpOworICAgICAgICBhdXRvIGxpbmtDb3VudCA9IEZpbGVTeXN0ZW06OmhhcmRMaW5rQ291
bnQocGF0aCk7CiAgICAgICAgIC8vIE5vIGNsaWVudHMgbGVmdCBmb3IgdGhpcyBibG9iLgotICAg
ICAgICBpZiAoc3RhdC5zdF9ubGluayA9PSAxKQotICAgICAgICAgICAgdW5saW5rKGZpbGVQYXRo
LmRhdGEoKSk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIG1fYXBwcm94aW1hdGVTaXplICs9
IHN0YXQuc3Rfc2l6ZTsKKyAgICAgICAgaWYgKGxpbmtDb3VudCAmJiAqbGlua0NvdW50ID09IDEp
CisgICAgICAgICAgICBGaWxlU3lzdGVtOjpkZWxldGVGaWxlKHBhdGgpOworICAgICAgICBlbHNl
IHsKKyAgICAgICAgICAgIGxvbmcgbG9uZyBmaWxlU2l6ZSA9IDA7CisgICAgICAgICAgICBGaWxl
U3lzdGVtOjpnZXRGaWxlU2l6ZShwYXRoLCBmaWxlU2l6ZSk7CisgICAgICAgICAgICBtX2FwcHJv
eGltYXRlU2l6ZSArPSBmaWxlU2l6ZTsKKyAgICAgICAgfQogICAgIH0pOwogCiAgICAgTE9HKE5l
dHdvcmtDYWNoZVN0b3JhZ2UsICIoTmV0d29ya1Byb2Nlc3MpIGJsb2Igc3luY2hyb25pemF0aW9u
IGNvbXBsZXRlZCBhcHByb3hpbWF0ZVNpemU9JXp1IiwgYXBwcm94aW1hdGVTaXplKCkpOwpAQCAt
MTQxLDEyICsxNDIsMTEgQEAgdW5zaWduZWQgQmxvYlN0b3JhZ2U6OnNoYXJlQ291bnQoY29uc3Qg
U3RyaW5nJiBwYXRoKQogewogICAgIEFTU0VSVCghUnVuTG9vcDo6aXNNYWluKCkpOwogCi0gICAg
YXV0byBsaW5rUGF0aCA9IEZpbGVTeXN0ZW06OmZpbGVTeXN0ZW1SZXByZXNlbnRhdGlvbihwYXRo
KTsKLSAgICBzdHJ1Y3Qgc3RhdCBzdGF0OwotICAgIGlmICg6OnN0YXQobGlua1BhdGguZGF0YSgp
LCAmc3RhdCkgPCAwKQorICAgIGF1dG8gbGlua0NvdW50ID0gRmlsZVN5c3RlbTo6aGFyZExpbmtD
b3VudChwYXRoKTsKKyAgICBpZiAoIWxpbmtDb3VudCkKICAgICAgICAgcmV0dXJuIDA7CiAgICAg
Ly8gTGluayBjb3VudCBpcyAyIGluIHRoZSBzaW5nbGUgY2xpZW50IGNhc2UgKHRoZSBibG9iIGZp
bGUgYW5kIGEgbGluaykuCi0gICAgcmV0dXJuIHN0YXQuc3RfbmxpbmsgLSAxOworICAgIHJldHVy
biAqbGlua0NvdW50IC0gMTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIv
VG9vbHMvQ2hhbmdlTG9nCmluZGV4IDczMzE3N2U4ZmJiM2IzYTg3OWU3NGIyMWY1N2ZmZjcwZDRk
Yzk1OGYuLmU3YzkyMDJmYmI3MGJjY2I5ODUxMmQzNzU1NGQ5YmU5YjQ4MTA5M2QgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBA
QAorMjAyMS0wNS0xMyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAg
IEludHJvZHVjZSBGaWxlU3lzdGVtOjpoYXJkTGlua0NvdW50KCkKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNTc2NworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBBUEkgdGVzdCBjb3ZlcmFnZS4KKwor
ICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0ZpbGVTeXN0ZW0uY3BwOgorICAgICAg
ICAoVGVzdFdlYktpdEFQSTo6VEVTVF9GKToKKwogMjAyMS0wNS0xMyAgRGFyaW4gQWRsZXIgIDxk
YXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIFN0cmluZ0J1aWxkZXI6OmFwcGVuZE51
bWJlcgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvRmlsZVN5c3Rl
bS5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9GaWxlU3lzdGVtLmNwcAppbmRl
eCAxMzdhMDE3OTAzNWVjODAzNWUxNzQ2NjZhZDIzNzY0OGM0MGNjNWUzLi40YjRmZGFlMmZlMjc4
MzZhODEyZjBmM2FhN2E4Yzk4MGUwYzE4OTkxIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dURi9GaWxlU3lzdGVtLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dURi9GaWxlU3lzdGVtLmNwcApAQCAtNjU5LDYgKzY1OSwzOSBAQCBURVNUX0YoRmlsZVN5
c3RlbVRlc3QsIGNyZWF0ZUhhcmRMaW5rT3JDb3B5RmlsZSkKICAgICBFWFBFQ1RfRVEobGlua0Zp
bGVTaXplLCBmaWxlU2l6ZSk7CiB9CiAKK1RFU1RfRihGaWxlU3lzdGVtVGVzdCwgaGFyZExpbmtD
b3VudCkKK3sKKyAgICBhdXRvIGxpbmtDb3VudCA9IEZpbGVTeXN0ZW06OmhhcmRMaW5rQ291bnQo
dGVtcEZpbGVQYXRoKCkpOworICAgIEFTU0VSVF9UUlVFKCEhbGlua0NvdW50KTsKKyAgICBFWFBF
Q1RfRVEoKmxpbmtDb3VudCwgMVUpOworCisgICAgYXV0byBoYXJkbGluazFQYXRoID0gRmlsZVN5
c3RlbTo6cGF0aEJ5QXBwZW5kaW5nQ29tcG9uZW50KHRlbXBFbXB0eUZvbGRlclBhdGgoKSwgInRl
bXBGaWxlLWhhcmRsaW5rMSIpOworICAgIEVYUEVDVF9UUlVFKEZpbGVTeXN0ZW06OmhhcmRMaW5r
KHRlbXBGaWxlUGF0aCgpLCBoYXJkbGluazFQYXRoKSk7CisgICAgbGlua0NvdW50ID0gRmlsZVN5
c3RlbTo6aGFyZExpbmtDb3VudCh0ZW1wRmlsZVBhdGgoKSk7CisgICAgQVNTRVJUX1RSVUUoISFs
aW5rQ291bnQpOworICAgIEVYUEVDVF9FUSgqbGlua0NvdW50LCAyVSk7CisKKyAgICBhdXRvIGhh
cmRsaW5rMlBhdGggPSBGaWxlU3lzdGVtOjpwYXRoQnlBcHBlbmRpbmdDb21wb25lbnQodGVtcEVt
cHR5Rm9sZGVyUGF0aCgpLCAidGVtcEZpbGUtaGFyZGxpbmsyIik7CisgICAgRVhQRUNUX1RSVUUo
RmlsZVN5c3RlbTo6aGFyZExpbmsodGVtcEZpbGVQYXRoKCksIGhhcmRsaW5rMlBhdGgpKTsKKyAg
ICBsaW5rQ291bnQgPSBGaWxlU3lzdGVtOjpoYXJkTGlua0NvdW50KHRlbXBGaWxlUGF0aCgpKTsK
KyAgICBBU1NFUlRfVFJVRSghIWxpbmtDb3VudCk7CisgICAgRVhQRUNUX0VRKCpsaW5rQ291bnQs
IDNVKTsKKworICAgIEVYUEVDVF9UUlVFKEZpbGVTeXN0ZW06OmRlbGV0ZUZpbGUoaGFyZGxpbmsx
UGF0aCkpOworICAgIGxpbmtDb3VudCA9IEZpbGVTeXN0ZW06OmhhcmRMaW5rQ291bnQodGVtcEZp
bGVQYXRoKCkpOworICAgIEFTU0VSVF9UUlVFKCEhbGlua0NvdW50KTsKKyAgICBFWFBFQ1RfRVEo
KmxpbmtDb3VudCwgMlUpOworCisgICAgRVhQRUNUX1RSVUUoRmlsZVN5c3RlbTo6ZGVsZXRlRmls
ZShoYXJkbGluazJQYXRoKSk7CisgICAgbGlua0NvdW50ID0gRmlsZVN5c3RlbTo6aGFyZExpbmtD
b3VudCh0ZW1wRmlsZVBhdGgoKSk7CisgICAgQVNTRVJUX1RSVUUoISFsaW5rQ291bnQpOworICAg
IEVYUEVDVF9FUSgqbGlua0NvdW50LCAxVSk7CisKKyAgICBFWFBFQ1RfVFJVRShGaWxlU3lzdGVt
OjpkZWxldGVGaWxlKHRlbXBGaWxlUGF0aCgpKSk7CisgICAgbGlua0NvdW50ID0gRmlsZVN5c3Rl
bTo6aGFyZExpbmtDb3VudCh0ZW1wRmlsZVBhdGgoKSk7CisgICAgRVhQRUNUX1RSVUUoIWxpbmtD
b3VudCk7Cit9CisKIHN0YXRpYyB2b2lkIHJ1bkdldEZpbGVNb2RpZmljYXRpb25UaW1lVGVzdChj
b25zdCBTdHJpbmcmIHBhdGgsIEZ1bmN0aW9uPE9wdGlvbmFsPFdhbGxUaW1lPihjb25zdCBTdHJp
bmcmKT4mJiBnZXRGaWxlTW9kaWZpY2F0aW9uVGltZSkKIHsKICAgICBhdXRvIG1vZGlmaWNhdGlv
blRpbWUgPSBnZXRGaWxlTW9kaWZpY2F0aW9uVGltZShwYXRoKTsK
</data>
<flag name="commit-queue"
          id="449457"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>428530</attachid>
            <date>2021-05-13 10:37:34 -0700</date>
            <delta_ts>2021-05-13 12:43:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-225767-20210513103733.patch</filename>
            <type>text/plain</type>
            <size>7329</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3NDM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGFlMDhkMDdhNGU4ZjVkNmRhNGU3NThm
NWQzNzU0ZTRhYWVhYzliNzAuLjkyOGJhNTRjM2ExMGZjMzM2ODdkOGU0MDA2YjFmMjgyODRlNDJm
Y2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMDUtMTMgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICBJbnRyb2R1Y2UgRmlsZVN5c3RlbTo6aGFyZExpbmtDb3Vu
dCgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjU3
NjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbnRy
b2R1Y2UgRmlsZVN5c3RlbTo6aGFyZExpbmtDb3VudCgpIHRvIHJlcGxhY2Ugb3VyIHBsYXRmb3Jt
LXNwZWNpZmljIGltcGxlbWVudGF0aW9uCisgICAgICAgIGluIE5ldHdvcmtDYWNoZUJsb2JTdG9y
YWdlLgorCisgICAgICAgICogd3RmL0ZpbGVTeXN0ZW0uY3BwOgorICAgICAgICAoV1RGOjpGaWxl
U3lzdGVtSW1wbDo6aGFyZExpbmtDb3VudCk6CisgICAgICAgICogd3RmL0ZpbGVTeXN0ZW0uaDoK
KwogMjAyMS0wNS0xMyAgQWxpY2lhIEJveWEgR2FyY8OtYSAgPGFib3lhQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgW1dURl0gQWRkIGhvbGRMb2NrKCkgb3ZlcmxvYWQgZm9yIFdURjo6RGF0YU11dGV4
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCmluZGV4IDNhNTcyZjg1Y2Y2YWY0NjVmNDdiMmVlMmRmZGQxZDU5YjlhMmYyOWIuLjEz
YTk5M2Q0MjJjYjlmODdjN2VlYjA1YjQwNzlhNzBkYjRjMTc3NjIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTYgQEAKKzIwMjEtMDUtMTMgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKwor
ICAgICAgICBJbnRyb2R1Y2UgRmlsZVN5c3RlbTo6aGFyZExpbmtDb3VudCgpCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjU3NjcKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBMZXZlcmFnZSB0aGUgRmlsZVN5
c3RlbSBBUEkgaW5zdGVhZCBvZiBoYXZpbmcgcGxhdGZvcm0tc3BlY2lmaWMgY29kZS4KKworICAg
ICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUJsb2JTdG9yYWdlLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpCbG9iU3RvcmFnZTo6c3luY2hyb25pemUp
OgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OkJsb2JTdG9yYWdlOjpzaGFyZUNvdW50
KToKKwogMjAyMS0wNS0xMyAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgUmVtb3ZlIFN0cmluZ0J1aWxkZXI6OmFwcGVuZE51bWJlcgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dURi93dGYvRmlsZVN5c3RlbS5jcHAgYi9Tb3VyY2UvV1RGL3d0Zi9GaWxlU3lzdGVtLmNwcApp
bmRleCAyNTYyYWE5ZTRkMjRmMjY0NjdkMmU1MDczMDAzOGIyOWM0ZWE4MmQ1Li5hMGNlNWYyM2Vh
ZTU5Y2MxNDNjODVmMjQxOWM3ODhkNmExMTI5ZWM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0
Zi9GaWxlU3lzdGVtLmNwcAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9GaWxlU3lzdGVtLmNwcApAQCAt
NjYzLDYgKzY2MywxMyBAQCBib29sIGhhcmRMaW5rT3JDb3B5RmlsZShjb25zdCBTdHJpbmcmIHRh
cmdldFBhdGgsIGNvbnN0IFN0cmluZyYgbGlua1BhdGgpCiAgICAgcmV0dXJuICFlYzsKIH0KIAor
T3B0aW9uYWw8dWludDY0X3Q+IGhhcmRMaW5rQ291bnQoY29uc3QgU3RyaW5nJiBwYXRoKQorewor
ICAgIHN0ZDo6ZXJyb3JfY29kZSBlYzsKKyAgICB1aW50NjRfdCBsaW5rQ291bnQgPSBzdGQ6OmZp
bGVzeXN0ZW06OmhhcmRfbGlua19jb3VudCh0b1N0ZEZpbGVTeXN0ZW1QYXRoKHBhdGgpLCBlYyk7
CisgICAgcmV0dXJuIGVjID8gV1RGOjpudWxsb3B0IDogbWFrZU9wdGlvbmFsKGxpbmtDb3VudCk7
Cit9CisKIGJvb2wgZGVsZXRlTm9uRW1wdHlEaXJlY3RvcnkoY29uc3QgU3RyaW5nJiBwYXRoKQog
ewogICAgIHN0ZDo6ZXJyb3JfY29kZSBlYzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0Zp
bGVTeXN0ZW0uaCBiL1NvdXJjZS9XVEYvd3RmL0ZpbGVTeXN0ZW0uaAppbmRleCA5NjVjYzM1NzQ0
YWVmZjE3MDIwNWFjMTcxNjk3OGJjNzk2MTg2NTIzLi5iMWZkMjIxYzIxMTI2Y2E5ZjgzZTIxNjJk
N2FkZmRiNGNjZDc2MmY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9GaWxlU3lzdGVtLmgK
KysrIGIvU291cmNlL1dURi93dGYvRmlsZVN5c3RlbS5oCkBAIC0xNjksNiArMTY5LDcgQEAgV1RG
X0VYUE9SVF9QUklWQVRFIGJvb2wgYXBwZW5kRmlsZUNvbnRlbnRzVG9GaWxlSGFuZGxlKGNvbnN0
IFN0cmluZyYgcGF0aCwgUGxhdGYKIFdURl9FWFBPUlRfUFJJVkFURSBib29sIGhhcmRMaW5rKGNv
bnN0IFN0cmluZyYgdGFyZ2V0UGF0aCwgY29uc3QgU3RyaW5nJiBsaW5rUGF0aCk7CiAvLyBIYXJk
IGxpbmtzIGEgZmlsZSBpZiBwb3NzaWJsZSwgY29waWVzIGl0IGlmIG5vdC4KIFdURl9FWFBPUlRf
UFJJVkFURSBib29sIGhhcmRMaW5rT3JDb3B5RmlsZShjb25zdCBTdHJpbmcmIHRhcmdldFBhdGgs
IGNvbnN0IFN0cmluZyYgbGlua1BhdGgpOworV1RGX0VYUE9SVF9QUklWQVRFIE9wdGlvbmFsPHVp
bnQ2NF90PiBoYXJkTGlua0NvdW50KGNvbnN0IFN0cmluZyYgcGF0aCk7CiAKICNpZiBVU0UoRklM
RV9MT0NLKQogV1RGX0VYUE9SVF9QUklWQVRFIGJvb2wgbG9ja0ZpbGUoUGxhdGZvcm1GaWxlSGFu
ZGxlLCBPcHRpb25TZXQ8RmlsZUxvY2tNb2RlPik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUJsb2JTdG9yYWdlLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlQmxvYlN0b3JhZ2UuY3Bw
CmluZGV4IDEwNDE4ZGZiNDU0ZTVjZjIxMzBkYThkODk0ZDc5YTQyOTgzYzVlYmMuLjM0OGIyMWI5
ZDg3NTRmNDIyNzBmMzIwZGIyZGJmZmMwZjgzMmNhNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlQmxvYlN0b3JhZ2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlQmxvYlN0b3Jh
Z2UuY3BwCkBAIC02NSwxNCArNjUsMTUgQEAgdm9pZCBCbG9iU3RvcmFnZTo6c3luY2hyb25pemUo
KQogICAgICAgICBpZiAodHlwZSAhPSBEaXJlY3RvcnlFbnRyeVR5cGU6OkZpbGUpCiAgICAgICAg
ICAgICByZXR1cm47CiAgICAgICAgIGF1dG8gcGF0aCA9IEZpbGVTeXN0ZW06OnBhdGhCeUFwcGVu
ZGluZ0NvbXBvbmVudChibG9iRGlyZWN0b3J5LCBuYW1lKTsKLSAgICAgICAgYXV0byBmaWxlUGF0
aCA9IEZpbGVTeXN0ZW06OmZpbGVTeXN0ZW1SZXByZXNlbnRhdGlvbihwYXRoKTsKLSAgICAgICAg
c3RydWN0IHN0YXQgc3RhdDsKLSAgICAgICAgOjpzdGF0KGZpbGVQYXRoLmRhdGEoKSwgJnN0YXQp
OworICAgICAgICBhdXRvIGxpbmtDb3VudCA9IEZpbGVTeXN0ZW06OmhhcmRMaW5rQ291bnQocGF0
aCk7CiAgICAgICAgIC8vIE5vIGNsaWVudHMgbGVmdCBmb3IgdGhpcyBibG9iLgotICAgICAgICBp
ZiAoc3RhdC5zdF9ubGluayA9PSAxKQotICAgICAgICAgICAgdW5saW5rKGZpbGVQYXRoLmRhdGEo
KSk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIG1fYXBwcm94aW1hdGVTaXplICs9IHN0YXQu
c3Rfc2l6ZTsKKyAgICAgICAgaWYgKGxpbmtDb3VudCAmJiAqbGlua0NvdW50ID09IDEpCisgICAg
ICAgICAgICBGaWxlU3lzdGVtOjpkZWxldGVGaWxlKHBhdGgpOworICAgICAgICBlbHNlIHsKKyAg
ICAgICAgICAgIGxvbmcgbG9uZyBmaWxlU2l6ZSA9IDA7CisgICAgICAgICAgICBGaWxlU3lzdGVt
OjpnZXRGaWxlU2l6ZShwYXRoLCBmaWxlU2l6ZSk7CisgICAgICAgICAgICBtX2FwcHJveGltYXRl
U2l6ZSArPSBmaWxlU2l6ZTsKKyAgICAgICAgfQogICAgIH0pOwogCiAgICAgTE9HKE5ldHdvcmtD
YWNoZVN0b3JhZ2UsICIoTmV0d29ya1Byb2Nlc3MpIGJsb2Igc3luY2hyb25pemF0aW9uIGNvbXBs
ZXRlZCBhcHByb3hpbWF0ZVNpemU9JXp1IiwgYXBwcm94aW1hdGVTaXplKCkpOwpAQCAtMTQxLDEy
ICsxNDIsMTEgQEAgdW5zaWduZWQgQmxvYlN0b3JhZ2U6OnNoYXJlQ291bnQoY29uc3QgU3RyaW5n
JiBwYXRoKQogewogICAgIEFTU0VSVCghUnVuTG9vcDo6aXNNYWluKCkpOwogCi0gICAgYXV0byBs
aW5rUGF0aCA9IEZpbGVTeXN0ZW06OmZpbGVTeXN0ZW1SZXByZXNlbnRhdGlvbihwYXRoKTsKLSAg
ICBzdHJ1Y3Qgc3RhdCBzdGF0OwotICAgIGlmICg6OnN0YXQobGlua1BhdGguZGF0YSgpLCAmc3Rh
dCkgPCAwKQorICAgIGF1dG8gbGlua0NvdW50ID0gRmlsZVN5c3RlbTo6aGFyZExpbmtDb3VudChw
YXRoKTsKKyAgICBpZiAoIWxpbmtDb3VudCkKICAgICAgICAgcmV0dXJuIDA7CiAgICAgLy8gTGlu
ayBjb3VudCBpcyAyIGluIHRoZSBzaW5nbGUgY2xpZW50IGNhc2UgKHRoZSBibG9iIGZpbGUgYW5k
IGEgbGluaykuCi0gICAgcmV0dXJuIHN0YXQuc3RfbmxpbmsgLSAxOworICAgIHJldHVybiAqbGlu
a0NvdW50IC0gMTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMv
Q2hhbmdlTG9nCmluZGV4IDczMzE3N2U4ZmJiM2IzYTg3OWU3NGIyMWY1N2ZmZjcwZDRkYzk1OGYu
LmU3YzkyMDJmYmI3MGJjY2I5ODUxMmQzNzU1NGQ5YmU5YjQ4MTA5M2QgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAy
MS0wNS0xMyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIEludHJv
ZHVjZSBGaWxlU3lzdGVtOjpoYXJkTGlua0NvdW50KCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNTc2NworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBBUEkgdGVzdCBjb3ZlcmFnZS4KKworICAgICAg
ICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0ZpbGVTeXN0ZW0uY3BwOgorICAgICAgICAoVGVz
dFdlYktpdEFQSTo6VEVTVF9GKToKKwogMjAyMS0wNS0xMyAgRGFyaW4gQWRsZXIgIDxkYXJpbkBh
cHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIFN0cmluZ0J1aWxkZXI6OmFwcGVuZE51bWJlcgpk
aWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvRmlsZVN5c3RlbS5jcHAg
Yi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9GaWxlU3lzdGVtLmNwcAppbmRleCAxMzdh
MDE3OTAzNWVjODAzNWUxNzQ2NjZhZDIzNzY0OGM0MGNjNWUzLi40YjRmZGFlMmZlMjc4MzZhODEy
ZjBmM2FhN2E4Yzk4MGUwYzE4OTkxIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dURi9GaWxlU3lzdGVtLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dU
Ri9GaWxlU3lzdGVtLmNwcApAQCAtNjU5LDYgKzY1OSwzOSBAQCBURVNUX0YoRmlsZVN5c3RlbVRl
c3QsIGNyZWF0ZUhhcmRMaW5rT3JDb3B5RmlsZSkKICAgICBFWFBFQ1RfRVEobGlua0ZpbGVTaXpl
LCBmaWxlU2l6ZSk7CiB9CiAKK1RFU1RfRihGaWxlU3lzdGVtVGVzdCwgaGFyZExpbmtDb3VudCkK
K3sKKyAgICBhdXRvIGxpbmtDb3VudCA9IEZpbGVTeXN0ZW06OmhhcmRMaW5rQ291bnQodGVtcEZp
bGVQYXRoKCkpOworICAgIEFTU0VSVF9UUlVFKCEhbGlua0NvdW50KTsKKyAgICBFWFBFQ1RfRVEo
KmxpbmtDb3VudCwgMVUpOworCisgICAgYXV0byBoYXJkbGluazFQYXRoID0gRmlsZVN5c3RlbTo6
cGF0aEJ5QXBwZW5kaW5nQ29tcG9uZW50KHRlbXBFbXB0eUZvbGRlclBhdGgoKSwgInRlbXBGaWxl
LWhhcmRsaW5rMSIpOworICAgIEVYUEVDVF9UUlVFKEZpbGVTeXN0ZW06OmhhcmRMaW5rKHRlbXBG
aWxlUGF0aCgpLCBoYXJkbGluazFQYXRoKSk7CisgICAgbGlua0NvdW50ID0gRmlsZVN5c3RlbTo6
aGFyZExpbmtDb3VudCh0ZW1wRmlsZVBhdGgoKSk7CisgICAgQVNTRVJUX1RSVUUoISFsaW5rQ291
bnQpOworICAgIEVYUEVDVF9FUSgqbGlua0NvdW50LCAyVSk7CisKKyAgICBhdXRvIGhhcmRsaW5r
MlBhdGggPSBGaWxlU3lzdGVtOjpwYXRoQnlBcHBlbmRpbmdDb21wb25lbnQodGVtcEVtcHR5Rm9s
ZGVyUGF0aCgpLCAidGVtcEZpbGUtaGFyZGxpbmsyIik7CisgICAgRVhQRUNUX1RSVUUoRmlsZVN5
c3RlbTo6aGFyZExpbmsodGVtcEZpbGVQYXRoKCksIGhhcmRsaW5rMlBhdGgpKTsKKyAgICBsaW5r
Q291bnQgPSBGaWxlU3lzdGVtOjpoYXJkTGlua0NvdW50KHRlbXBGaWxlUGF0aCgpKTsKKyAgICBB
U1NFUlRfVFJVRSghIWxpbmtDb3VudCk7CisgICAgRVhQRUNUX0VRKCpsaW5rQ291bnQsIDNVKTsK
KworICAgIEVYUEVDVF9UUlVFKEZpbGVTeXN0ZW06OmRlbGV0ZUZpbGUoaGFyZGxpbmsxUGF0aCkp
OworICAgIGxpbmtDb3VudCA9IEZpbGVTeXN0ZW06OmhhcmRMaW5rQ291bnQodGVtcEZpbGVQYXRo
KCkpOworICAgIEFTU0VSVF9UUlVFKCEhbGlua0NvdW50KTsKKyAgICBFWFBFQ1RfRVEoKmxpbmtD
b3VudCwgMlUpOworCisgICAgRVhQRUNUX1RSVUUoRmlsZVN5c3RlbTo6ZGVsZXRlRmlsZShoYXJk
bGluazJQYXRoKSk7CisgICAgbGlua0NvdW50ID0gRmlsZVN5c3RlbTo6aGFyZExpbmtDb3VudCh0
ZW1wRmlsZVBhdGgoKSk7CisgICAgQVNTRVJUX1RSVUUoISFsaW5rQ291bnQpOworICAgIEVYUEVD
VF9FUSgqbGlua0NvdW50LCAxVSk7CisKKyAgICBFWFBFQ1RfVFJVRShGaWxlU3lzdGVtOjpkZWxl
dGVGaWxlKHRlbXBGaWxlUGF0aCgpKSk7CisgICAgbGlua0NvdW50ID0gRmlsZVN5c3RlbTo6aGFy
ZExpbmtDb3VudCh0ZW1wRmlsZVBhdGgoKSk7CisgICAgRVhQRUNUX1RSVUUoIWxpbmtDb3VudCk7
Cit9CisKIHN0YXRpYyB2b2lkIHJ1bkdldEZpbGVNb2RpZmljYXRpb25UaW1lVGVzdChjb25zdCBT
dHJpbmcmIHBhdGgsIEZ1bmN0aW9uPE9wdGlvbmFsPFdhbGxUaW1lPihjb25zdCBTdHJpbmcmKT4m
JiBnZXRGaWxlTW9kaWZpY2F0aW9uVGltZSkKIHsKICAgICBhdXRvIG1vZGlmaWNhdGlvblRpbWUg
PSBnZXRGaWxlTW9kaWZpY2F0aW9uVGltZShwYXRoKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>