<?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>211884</bug_id>
          
          <creation_ts>2020-05-14 02:12:37 -0700</creation_ts>
          <short_desc>Cursor should not update on a 20ms timer</short_desc>
          <delta_ts>2020-05-15 14:27:15 -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>UI Events</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=209494</see_also>
          <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="Antoine Quint">graouts</reporter>
          <assigned_to name="Antoine Quint">graouts</assigned_to>
          <cc>cdumez</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>graouts</cc>
    
    <cc>kangil.han</cc>
    
    <cc>koivisto</cc>
    
    <cc>Lawrence.j</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1652552</commentid>
    <comment_count>0</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-05-14 02:12:37 -0700</bug_when>
    <thetext>In EventHandler, the cursor is updated on a timer scheduled with 20ms:

    // The amount of time to wait for a cursor update on style and layout changes
    // Set to 50Hz, no need to be faster than common screen refresh rate
    static const Seconds cursorUpdateInterval { 20_ms };

If the cursor should be updated only as the display refreshes, then it should be timed when the display refreshes and not use some canned timer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1652553</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-05-14 02:12:56 -0700</bug_when>
    <thetext>&lt;rdar://problem/63220368&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1652559</commentid>
    <comment_count>2</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-05-14 02:19:28 -0700</bug_when>
    <thetext>Should we be calling EventHandler::updateCursor() under Page::updateRendering() and schedule a page rendering instead of using m_cursorUpdateTimer.startOneShot(cursorUpdateInterval)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1652573</commentid>
    <comment_count>3</comment_count>
      <attachid>399346</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-05-14 03:23:13 -0700</bug_when>
    <thetext>Created attachment 399346
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1652574</commentid>
    <comment_count>4</comment_count>
      <attachid>399347</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-05-14 03:26:13 -0700</bug_when>
    <thetext>Created attachment 399347
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1652577</commentid>
    <comment_count>5</comment_count>
      <attachid>399348</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-05-14 03:37:46 -0700</bug_when>
    <thetext>Created attachment 399348
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1652579</commentid>
    <comment_count>6</comment_count>
      <attachid>399349</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-05-14 03:43:16 -0700</bug_when>
    <thetext>Created attachment 399349
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1652586</commentid>
    <comment_count>7</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-05-14 04:58:04 -0700</bug_when>
    <thetext>*** Bug 209494 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1652589</commentid>
    <comment_count>8</comment_count>
      <attachid>399349</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2020-05-14 05:07:25 -0700</bug_when>
    <thetext>Comment on attachment 399349
Patch

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

&gt; Source/WebCore/dom/Document.cpp:8520
&gt; +void Document::updateCursorIfNeeded()
&gt; +{
&gt; +    if (frame())
&gt; +        frame()-&gt;eventHandler().updateCursorIfNeeded();
&gt; +}

Maybe this function is not needed at all?

&gt; Source/WebCore/page/EventHandler.cpp:3153
&gt; +    m_scheduledCursorUpdate = true;

m_hasScheduledCursorUpdate?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1652591</commentid>
    <comment_count>9</comment_count>
      <attachid>399349</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2020-05-14 05:11:49 -0700</bug_when>
    <thetext>Comment on attachment 399349
Patch

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

&gt; LayoutTests/fast/events/mouse-cursor-no-mousemove.html:52
&gt; +    await new Promise(resolve =&gt; setTimeout(resolve, 100));

Why not use rAF here too?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1652592</commentid>
    <comment_count>10</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-05-14 05:18:16 -0700</bug_when>
    <thetext>(In reply to Antti Koivisto from comment #9)
&gt; Comment on attachment 399349 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=399349&amp;action=review
&gt; 
&gt; &gt; LayoutTests/fast/events/mouse-cursor-no-mousemove.html:52
&gt; &gt; +    await new Promise(resolve =&gt; setTimeout(resolve, 100));
&gt; 
&gt; Why not use rAF here too?

This part of the test tests an ancient change where a synthetic &quot;mousemove&quot; was seemingly dispatched when changing &quot;cursor&quot; styles and we want to make sure it doesn&apos;t happen. I&apos;m not sure what a good timeout is here because I don&apos;t know what the old timer was, but at any rate nothing should happen during that time. I just reduced it from by 50ms since this was the timer for the check that is now performed with a rAF.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1652593</commentid>
    <comment_count>11</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-05-14 05:31:09 -0700</bug_when>
    <thetext>Committed r261686: &lt;https://trac.webkit.org/changeset/261686&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1652629</commentid>
    <comment_count>12</comment_count>
      <attachid>399349</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-05-14 08:18:52 -0700</bug_when>
    <thetext>Comment on attachment 399349
Patch

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

&gt; Source/WebCore/page/Page.cpp:1367
&gt; +    forEachDocument([] (Document&amp; document) {
&gt; +        document.updateCursorIfNeeded();
&gt; +    });

Shouldn&apos;t this happen after anything that can change style? If style is changed in a rAF callback, it should be reflected.

&gt;&gt;&gt; LayoutTests/fast/events/mouse-cursor-no-mousemove.html:52
&gt;&gt;&gt; +    await new Promise(resolve =&gt; setTimeout(resolve, 100));
&gt;&gt; 
&gt;&gt; Why not use rAF here too?
&gt; 
&gt; This part of the test tests an ancient change where a synthetic &quot;mousemove&quot; was seemingly dispatched when changing &quot;cursor&quot; styles and we want to make sure it doesn&apos;t happen. I&apos;m not sure what a good timeout is here because I don&apos;t know what the old timer was, but at any rate nothing should happen during that time. I just reduced it from by 50ms since this was the timer for the check that is now performed with a rAF.

await UIHelper.delayFor() or await UIHelper.animationFrame().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1652668</commentid>
    <comment_count>13</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-05-14 09:27:24 -0700</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #12)
&gt; Comment on attachment 399349 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=399349&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/page/Page.cpp:1367
&gt; &gt; +    forEachDocument([] (Document&amp; document) {
&gt; &gt; +        document.updateCursorIfNeeded();
&gt; &gt; +    });
&gt; 
&gt; Shouldn&apos;t this happen after anything that can change style? If style is
&gt; changed in a rAF callback, it should be reflected.

That makes sense, I&apos;ll address this in a followup.

&gt; &gt;&gt;&gt; LayoutTests/fast/events/mouse-cursor-no-mousemove.html:52
&gt; &gt;&gt;&gt; +    await new Promise(resolve =&gt; setTimeout(resolve, 100));
&gt; &gt;&gt; 
&gt; &gt;&gt; Why not use rAF here too?
&gt; &gt; 
&gt; &gt; This part of the test tests an ancient change where a synthetic &quot;mousemove&quot; was seemingly dispatched when changing &quot;cursor&quot; styles and we want to make sure it doesn&apos;t happen. I&apos;m not sure what a good timeout is here because I don&apos;t know what the old timer was, but at any rate nothing should happen during that time. I just reduced it from by 50ms since this was the timer for the check that is now performed with a rAF.
&gt; 
&gt; await UIHelper.delayFor() or await UIHelper.animationFrame().

Why? Just changing one line with another line doesn&apos;t simplify the test, and I don&apos;t need to pull in another test file. This code is straightforward.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1652671</commentid>
    <comment_count>14</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-05-14 09:34:38 -0700</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1652672</commentid>
    <comment_count>15</comment_count>
      <attachid>399371</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-05-14 09:34:40 -0700</bug_when>
    <thetext>Created attachment 399371
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1652696</commentid>
    <comment_count>16</comment_count>
      <attachid>399371</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-05-14 10:59:54 -0700</bug_when>
    <thetext>Comment on attachment 399371
Patch

I think you should add a test that changes cursor style in rAF, and then uses internals.getCurrentCursorInfo to see if got the new cursor.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1652720</commentid>
    <comment_count>17</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-05-14 11:39:48 -0700</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #16)
&gt; Comment on attachment 399371 [details]
&gt; Patch
&gt; 
&gt; I think you should add a test that changes cursor style in rAF, and then
&gt; uses internals.getCurrentCursorInfo to see if got the new cursor.

Good call! Will do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1653032</commentid>
    <comment_count>18</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-05-15 06:19:37 -0700</bug_when>
    <thetext>Committed r261741: &lt;https://trac.webkit.org/changeset/261741&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1653154</commentid>
    <comment_count>19</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2020-05-15 13:16:24 -0700</bug_when>
    <thetext>The test added with this change is consistently failing on iOS:

--- /Volumes/Data/slave/ios-simulator-13-release-tests-wk2/build/layout-test-results/fast/events/mouse-cursor-udpate-during-raf-expected.txt
+++ /Volumes/Data/slave/ios-simulator-13-release-tests-wk2/build/layout-test-results/fast/events/mouse-cursor-udpate-during-raf-actual.txt
@@ -5,13 +5,13 @@
 
 
 Moved pointer over the target, cursor should be Pointer.
-Cursor info: type=Pointer hotSpot=0,0
+Cursor info: FAIL: Cursor details not available on this platform.
 
 Setting cursor via CSS during next animation frame, cursor should be Pointer still.
-Cursor info: type=Pointer hotSpot=0,0
+Cursor info: FAIL: Cursor details not available on this platform.
 
 Waited until next run loop, cursor should be Help.
-Cursor info: type=Help hotSpot=0,0
+Cursor info: FAIL: Cursor details not available on this platform.
 
 PASS successfullyParsed is true</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1653170</commentid>
    <comment_count>20</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-05-15 14:21:55 -0700</bug_when>
    <thetext>Oops, I guess this test makes no sense on iOS and needs to be skipped!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1653176</commentid>
    <comment_count>21</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-05-15 14:27:15 -0700</bug_when>
    <thetext>Committed r261760: &lt;https://trac.webkit.org/changeset/261760&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>399346</attachid>
            <date>2020-05-14 03:23:13 -0700</date>
            <delta_ts>2020-05-14 03:26:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211884-20200514122312.patch</filename>
            <type>text/plain</type>
            <size>10059</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxNjc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjQ0NjYyNzMzN2I1YjJi
Y2IyOWYwZWMyYmY2MWQ5YzdkNzYxZjcwYS4uYTM3MDA3OGIzZjNmZGIwOGY0MzI1Mjc5ODJkZjgz
NjU0YmJjZGVlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIwLTA1LTE0ICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CisKKyAgICAgICAgQ3Vyc29yIHNob3VsZCBu
b3QgdXBkYXRlIG9uIGEgMjBtcyB0aW1lcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjExODg0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82MzIyMDM2
OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRh
dGUgdGhlIGN1cnNvciBkdXJpbmcgcGFnZSByZW5kZXJpbmcgcmF0aGVyIHRoYW4gdXNpbmcgYSAy
MG1zIHRpbWVyLgorCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkRvY3VtZW50Ojp1cGRhdGVDdXJzb3JJZk5lZWRlZCk6CisgICAgICAgICogZG9tL0RvY3Vt
ZW50Lmg6CisgICAgICAgICogcGFnZS9FdmVudEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RXZlbnRIYW5kbGVyOjpFdmVudEhhbmRsZXIpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRI
YW5kbGVyOjpjbGVhcik6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OnVwZGF0ZUN1
cnNvcklmTmVlZGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6aGFuZGxlTW91
c2VNb3ZlRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpzY2hlZHVsZUN1
cnNvclVwZGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OmN1cnNvclVwZGF0
ZVRpbWVyRmlyZWQpOiBEZWxldGVkLgorICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmg6Cisg
ICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnVwZGF0ZVJl
bmRlcmluZyk6CisKIDIwMjAtMDUtMDYgIFNlcmdpbyBWaWxsYXIgU2VuaW4gIDxzdmlsbGFyQGln
YWxpYS5jb20+CiAKICAgICAgICAgW1dlYlhSXSBJbXBsZW1lbnQgV2ViR0xSZW5kZXJpbmdDb250
ZXh0QmFzZTo6bWFrZVhSQ29tcGF0aWJsZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCBi
ZWY0ODY5NDAzOTc5MDg4NjE5MmViM2ZhYjA3MjhmMjU0NDJiNzM1Li5jMmY4MzA3MDJlMjQ3NjY5
MTgwZjliNDk0YzhlMzE0Yzc4YTNkNGEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTg1
MTMsNiArODUxMywxMiBAQCB2b2lkIERvY3VtZW50OjpzZXRBcHBsZVBheUlzQWN0aXZlKCkKIAog
I2VuZGlmCiAKK3ZvaWQgRG9jdW1lbnQ6OnVwZGF0ZUN1cnNvcklmTmVlZGVkKCkKK3sKKyAgICBp
ZiAoZnJhbWUoKSkKKyAgICAgICAgZnJhbWUoKS0+ZXZlbnRIYW5kbGVyKCkudXBkYXRlQ3Vyc29y
SWZOZWVkZWQoKTsKK30KKwogTWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXImIERvY3VtZW50Ojpt
ZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlcigpCiB7CiAgICAgcmV0dXJuIE1lc3NhZ2VQb3J0Q2hh
bm5lbFByb3ZpZGVyOjpzaW5nbGV0b24oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggNzdlY2I3
YTAzMTMzOWZjMTdiZWM1NTNmMzVmYjYzNjc1NzNkMGM0My4uMTU0NWI1NmU0M2U4NDMwYTcwNjlm
ZWM4ZTNmYTUyYWQyN2NmMzE4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTE1ODgsNiArMTU4
OCw4IEBAIHB1YmxpYzoKICAgICBGcmFtZVNlbGVjdGlvbiYgc2VsZWN0aW9uKCkgeyByZXR1cm4g
bV9zZWxlY3Rpb247IH0KICAgICBjb25zdCBGcmFtZVNlbGVjdGlvbiYgc2VsZWN0aW9uKCkgY29u
c3QgeyByZXR1cm4gbV9zZWxlY3Rpb247IH0KIAorICAgIHZvaWQgdXBkYXRlQ3Vyc29ySWZOZWVk
ZWQoKTsKKwogcHJvdGVjdGVkOgogICAgIGVudW0gQ29uc3RydWN0aW9uRmxhZ3MgeyBTeW50aGVz
aXplZCA9IDEsIE5vblJlbmRlcmVkUGxhY2Vob2xkZXIgPSAxIDw8IDEgfTsKICAgICBEb2N1bWVu
dChGcmFtZSosIGNvbnN0IFVSTCYsIHVuc2lnbmVkID0gRGVmYXVsdERvY3VtZW50Q2xhc3MsIHVu
c2lnbmVkIGNvbnN0cnVjdGlvbkZsYWdzID0gMCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxl
ci5jcHAKaW5kZXggY2Y5N2VhNDZjMTM2ZTU3ZmJmOGQzN2VhOTU0ZTJjYzNkZDA0OTUwMS4uODJm
Mjc2NjI2NmQ0NjQxNzkxYjE3YzY3YzQwODdiZGRjMzM1ZWZkNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RXZlbnRIYW5kbGVyLmNwcApAQCAtMzk1LDcgKzM5NSw2IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpl
dmVudExvb3BIYW5kbGVNb3VzZURyYWdnZWQoY29uc3QgTW91c2VFdmVudFdpdGhIaXRUZXN0UmVz
dWx0CiBFdmVudEhhbmRsZXI6OkV2ZW50SGFuZGxlcihGcmFtZSYgZnJhbWUpCiAgICAgOiBtX2Zy
YW1lKGZyYW1lKQogICAgICwgbV9ob3ZlclRpbWVyKCp0aGlzLCAmRXZlbnRIYW5kbGVyOjpob3Zl
clRpbWVyRmlyZWQpCi0gICAgLCBtX2N1cnNvclVwZGF0ZVRpbWVyKCp0aGlzLCAmRXZlbnRIYW5k
bGVyOjpjdXJzb3JVcGRhdGVUaW1lckZpcmVkKQogI2lmIFBMQVRGT1JNKE1BQykKICAgICAsIG1f
Y2xlYXJMYXRjaGluZ1N0YXRlVGltZXIoKnRoaXMsICZFdmVudEhhbmRsZXI6OmNsZWFyTGF0Y2hl
ZFN0YXRlVGltZXJGaXJlZCkKICNlbmRpZgpAQCAtNDMyLDcgKzQzMSw3IEBAIERyYWdTdGF0ZSYg
RXZlbnRIYW5kbGVyOjpkcmFnU3RhdGUoKQogdm9pZCBFdmVudEhhbmRsZXI6OmNsZWFyKCkKIHsK
ICAgICBtX2hvdmVyVGltZXIuc3RvcCgpOwotICAgIG1fY3Vyc29yVXBkYXRlVGltZXIuc3RvcCgp
OworICAgIG1fc2NoZWR1bGVkQ3Vyc29yVXBkYXRlID0gZmFsc2U7CiAjaWYgIUVOQUJMRShJT1Nf
VE9VQ0hfRVZFTlRTKQogICAgIG1fZmFrZU1vdXNlTW92ZUV2ZW50VGltZXIuc3RvcCgpOwogI2Vu
ZGlmCkBAIC0xNDE2LDEwICsxNDE1LDEwIEBAIGJvb2wgRXZlbnRIYW5kbGVyOjp1c2VIYW5kQ3Vy
c29yKE5vZGUqIG5vZGUsIGJvb2wgaXNPdmVyTGluaywgYm9vbCBzaGlmdEtleSkKICAgICByZXR1
cm4gKChpc092ZXJMaW5rIHx8IGlzU3VibWl0SW1hZ2Uobm9kZSkpICYmICghZWRpdGFibGUgfHwg
ZWRpdGFibGVMaW5rRW5hYmxlZCkpOwogfQogCi12b2lkIEV2ZW50SGFuZGxlcjo6Y3Vyc29yVXBk
YXRlVGltZXJGaXJlZCgpCit2b2lkIEV2ZW50SGFuZGxlcjo6dXBkYXRlQ3Vyc29ySWZOZWVkZWQo
KQogewotICAgIEFTU0VSVChtX2ZyYW1lLmRvY3VtZW50KCkpOwotICAgIHVwZGF0ZUN1cnNvcigp
OworICAgIGlmIChzdGQ6OmV4Y2hhbmdlKG1fc2NoZWR1bGVkQ3Vyc29yVXBkYXRlLCBmYWxzZSkp
CisgICAgICAgIHVwZGF0ZUN1cnNvcigpOwogfQogCiB2b2lkIEV2ZW50SGFuZGxlcjo6dXBkYXRl
Q3Vyc29yKCkKQEAgLTE5ODIsNyArMTk4MSw3IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVN
b3VzZU1vdmVFdmVudChjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIHBsYXRmb3JtTW91c2VFCiAg
ICAgaWYgKG1faG92ZXJUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICBtX2hvdmVyVGltZXIuc3Rv
cCgpOwogCi0gICAgbV9jdXJzb3JVcGRhdGVUaW1lci5zdG9wKCk7CisgICAgbV9zY2hlZHVsZWRD
dXJzb3JVcGRhdGUgPSBmYWxzZTsKIAogI2lmICFFTkFCTEUoSU9TX1RPVUNIX0VWRU5UUykKICAg
ICBjYW5jZWxGYWtlTW91c2VNb3ZlRXZlbnQoKTsKQEAgLTMxNDEsMTMgKzMxNDAsMTggQEAgdm9p
ZCBFdmVudEhhbmRsZXI6OnNjaGVkdWxlSG92ZXJTdGF0ZVVwZGF0ZSgpCiAKIHZvaWQgRXZlbnRI
YW5kbGVyOjpzY2hlZHVsZUN1cnNvclVwZGF0ZSgpCiB7Ci0gICAgaWYgKFBhZ2UqIHBhZ2UgPSBt
X2ZyYW1lLnBhZ2UoKSkgewotICAgICAgICBpZiAoIXBhZ2UtPmNocm9tZSgpLmNsaWVudCgpLnN1
cHBvcnRzU2V0dGluZ0N1cnNvcigpKQotICAgICAgICAgICAgcmV0dXJuOwotICAgIH0KKyAgICBp
ZiAobV9zY2hlZHVsZWRDdXJzb3JVcGRhdGUpCisgICAgICAgIHJldHVybjsKKworICAgIGF1dG8q
IHBhZ2UgPSBtX2ZyYW1lLnBhZ2UoKTsKKyAgICBpZiAoIXBhZ2UpCisgICAgICAgIHJldHVybjsK
KworICAgIGlmICghcGFnZS0+Y2hyb21lKCkuY2xpZW50KCkuc3VwcG9ydHNTZXR0aW5nQ3Vyc29y
KCkpCisgICAgICAgIHJldHVybjsKIAotICAgIGlmICghbV9jdXJzb3JVcGRhdGVUaW1lci5pc0Fj
dGl2ZSgpKQotICAgICAgICBtX2N1cnNvclVwZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdChjdXJzb3JV
cGRhdGVJbnRlcnZhbCk7CisgICAgbV9zY2hlZHVsZWRDdXJzb3JVcGRhdGUgPSB0cnVlOworICAg
IHBhZ2UtPnNjaGVkdWxlUmVuZGVyaW5nVXBkYXRlKCk7CiB9CiAKIHZvaWQgRXZlbnRIYW5kbGVy
OjpkaXNwYXRjaEZha2VNb3VzZU1vdmVFdmVudFNvb24oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5k
bGVyLmgKaW5kZXggZWYxZDQ4ZTRkZWU1ZjQ2Yzg5ODk1Y2ZhYzZjNzFlNjJhMjczYzk2NS4uMjI0
OTU1ZDczNDg0ZmE2NDA1Y2Y2NzhjZDJjZmNiOGExMzQ5MmRiYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2
ZW50SGFuZGxlci5oCkBAIC0zMTksNiArMzE5LDcgQEAgcHVibGljOgogI2VuZGlmCiAKICAgICBi
b29sIHVzZUhhbmRDdXJzb3IoTm9kZSosIGJvb2wgaXNPdmVyTGluaywgYm9vbCBzaGlmdEtleSk7
CisgICAgdm9pZCB1cGRhdGVDdXJzb3JJZk5lZWRlZCgpOwogICAgIHZvaWQgdXBkYXRlQ3Vyc29y
KCk7CiAKICAgICBib29sIGlzSGFuZGxpbmdXaGVlbEV2ZW50KCkgY29uc3QgeyByZXR1cm4gbV9p
c0hhbmRsaW5nV2hlZWxFdmVudDsgfQpAQCAtMzc1LDcgKzM3Niw2IEBAIHByaXZhdGU6CiAgICAg
dm9pZCB1cGRhdGVDdXJzb3IoRnJhbWVWaWV3JiwgY29uc3QgSGl0VGVzdFJlc3VsdCYsIGJvb2wg
c2hpZnRLZXkpOwogCiAgICAgdm9pZCBob3ZlclRpbWVyRmlyZWQoKTsKLSAgICB2b2lkIGN1cnNv
clVwZGF0ZVRpbWVyRmlyZWQoKTsKIAogICAgIGJvb2wgbG9naWNhbFNjcm9sbE92ZXJmbG93KFNj
cm9sbExvZ2ljYWxEaXJlY3Rpb24sIFNjcm9sbEdyYW51bGFyaXR5LCBOb2RlKiBzdGFydGluZ05v
ZGUgPSBudWxscHRyKTsKICAgICAKQEAgLTUzMyw3ICs1MzMsNyBAQCBwcml2YXRlOgogI2VuZGlm
CiAKICAgICBUaW1lciBtX2hvdmVyVGltZXI7Ci0gICAgVGltZXIgbV9jdXJzb3JVcGRhdGVUaW1l
cjsKKyAgICBib29sIG1fc2NoZWR1bGVkQ3Vyc29yVXBkYXRlIHsgZmFsc2UgfTsKIAogI2lmIFBM
QVRGT1JNKE1BQykKICAgICBUaW1lciBtX2NsZWFyTGF0Y2hpbmdTdGF0ZVRpbWVyOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGFnZS5jcHAKaW5kZXggODc2ZmE3MTI5NTc4MDAxZDY4ZTQwM2JjNzA0NGIyMWZhMGIwMzRlYi4u
YWU3OTQ0NGQ2NTQzZjM2MzY3NGI0NTVmZDRmYjAyMjk5ZDlmMTQxMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2Uu
Y3BwCkBAIC0xMzYyLDYgKzEzNjIsMTAgQEAgdm9pZCBQYWdlOjp1cGRhdGVSZW5kZXJpbmcoKQog
CiAgICAgLy8gRmx1c2ggYXV0b2ZvY3VzIGNhbmRpZGF0ZXMKIAorICAgIGZvckVhY2hEb2N1bWVu
dChbXSAoRG9jdW1lbnQmIGRvY3VtZW50KSB7CisgICAgICAgIGRvY3VtZW50LnVwZGF0ZUN1cnNv
cklmTmVlZGVkKCk7CisgICAgfSk7CisKICAgICBmb3JFYWNoRG9jdW1lbnQoW10gKERvY3VtZW50
JiBkb2N1bWVudCkgewogICAgICAgICBkb2N1bWVudC5ydW5SZXNpemVTdGVwcygpOwogICAgIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCmluZGV4IDNlMzRhY2E1ZmQ4YWI0OTY5M2NiODBlY2JkNjJiOTU0Zjk1MTI3YjQuLjc5NGMy
MWMxMDM3NDJmMjlkNDkzOTY1NTRjM2JhOWU1ODliMzQ5ODIgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBA
QAorMjAyMC0wNS0xNCAgQW50b2luZSBRdWludCAgPGdyYW91dHNAYXBwbGUuY29tPgorCisgICAg
ICAgIEN1cnNvciBzaG91bGQgbm90IHVwZGF0ZSBvbiBhIDIwbXMgdGltZXIKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMTg4NAorICAgICAgICA8cmRh
cjovL3Byb2JsZW0vNjMyMjAzNjg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVXBkYXRlIGEgKGZsYWt5KSB0ZXN0IHRvIG5vdCB1c2Ugc2V0VGltZW91
dCgpIHRvIHRlc3QgYSBjdXJzb3IgY2hhbmdlIGFuZCBpbnN0ZWFkIHVzZSByZXF1ZXN0QW5pbWF0
aW9uRnJhbWUoKQorICAgICAgICBzaW5jZSBjdXJzb3IgdXBkYXRlcyBhcmUgbm93IGd1YXJhbnRl
ZWQgdG8gYmUgcnVuIGJlZm9yZSB0aGUgbmV4dCByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKSBjYWxs
YmFjay4KKworICAgICAgICAqIGZhc3QvZXZlbnRzL21vdXNlLWN1cnNvci1uby1tb3VzZW1vdmUu
aHRtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIw
MjAtMDUtMTMgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAg
ICAgICBmYXN0L3RleHQvbXVsdGlwbGUtY29kZXVuaXQtdmVydGljYWwtdXByaWdodC5odG1sIGlz
IGZhaWxpbmcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1cnNv
ci1uby1tb3VzZW1vdmUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1cnNv
ci1uby1tb3VzZW1vdmUuaHRtbAppbmRleCBjMDcyMGE0OWViMTdmYmUwODg4MDg0M2Q2YTFiMjlm
ODNlYmMwMDdkLi4xOWIxNjI5ODFhNmNlMDhkYTc4Yzc2NTIxOTk4ZjQyZjM2YjU3NjFhIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3Itbm8tbW91c2Vtb3Zl
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLW5vLW1vdXNl
bW92ZS5odG1sCkBAIC0xNCw3ICsxNCw2IEBACiA8YnIvPgogPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CiA8c2NyaXB0PgotdmFyIENVUlNPUl9VUERBVEVfREVMQVkgPSA1MDsKIAogZGVzY3JpcHRp
b24oIlRlc3QgdGhhdCB0aGVyZSBpcyBubyBtb3VzZW1vdmUgZXZlbnQgZmlyZWQgd2hlbiBjaGFu
Z2luZyBjdXJzb3IuIik7CiAKQEAgLTI4LDggKzI3LDEyIEBAIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikgewogICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKIH0KIAotLy8gQ2FuJ3QgZG8g
YW55dGhpbmcgdXNlZnVsIGhlcmUgd2l0aG91dCBldmVudFNlbmRlcgotaWYgKHdpbmRvdy5ldmVu
dFNlbmRlcikgeworKGFzeW5jIGZ1bmN0aW9uKCkKK3sKKyAgICAvLyBDYW4ndCBkbyBhbnl0aGlu
ZyB1c2VmdWwgaGVyZSB3aXRob3V0IGV2ZW50U2VuZGVyCisgICAgaWYgKCF3aW5kb3cuZXZlbnRT
ZW5kZXIpCisgICAgICAgIHJldHVybjsKKwogICAgIHZhciBub2RlID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ3RhcmdldCcpOwogICAgIGRlYnVnKCdURVNUIENBU0U6ICcgKyBub2RlLnRleHRD
b250ZW50KTsKICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyhub2RlLm9mZnNldExlZnQgKyAz
LCBub2RlLm9mZnNldFRvcCArIDMpOwpAQCAtMzksMTcgKzQyLDE3IEBAIGlmICh3aW5kb3cuZXZl
bnRTZW5kZXIpIHsKICAgICAgICAgZmluaXNoSlNUZXN0KCk7CiAgICAgfSk7CiAgICAgbm9kZS5z
dHlsZS5jdXJzb3IgPSAnaGVscCc7Ci0gICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKLSAgICAg
ICAgZGVidWcoJ0N1cnNvciBJbmZvOiAnICsgd2luZG93LmludGVybmFscy5nZXRDdXJyZW50Q3Vy
c29ySW5mbygpKTsKLSAgICAgICAgZGVidWcoJycpOwotICAgIH0sIENVUlNPUl9VUERBVEVfREVM
QVkpOworCisgICAgLy8gQ3Vyc29yIHdpbGwgYmUgdXBkYXRlZCBkdXJpbmcgdGhlIG5leHQgYW5p
bWF0aW9uIGZyYW1lLgorICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlcXVlc3RBbmltYXRpb25GcmFt
ZSk7CisgICAgZGVidWcoJ0N1cnNvciBJbmZvOiAnICsgd2luZG93LmludGVybmFscy5nZXRDdXJy
ZW50Q3Vyc29ySW5mbygpKTsKKyAgICBkZWJ1ZygnJyk7CiAKICAgICAvLyBHaXZlIHNvbWUgdGlt
ZSBmb3IgdGhlIGNoYW5nZSB0byByZXNvbHZlLiBGYWtlIG1vdXNlbW92ZSBldmVudCB0aGF0IGNh
dXNlZCBidWcsIGlzIHVzaW5nIGEgdGltZXIKLSAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewot
ICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdC1jb250YWluZXInKS5zdHlsZS5k
aXNwbGF5ID0gJ25vbmUnOwotICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKLSAgICB9LCAxNTApOwot
fQorICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gc2V0VGltZW91dChyZXNvbHZlKSwg
MTAwKTsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdC1jb250YWluZXInKS5zdHls
ZS5kaXNwbGF5ID0gJ25vbmUnOworICAgIGZpbmlzaEpTVGVzdCgpOworfSkoKTsKIAogPC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3Rh
dGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKaW5k
ZXggZjI3YjliZTI1OWUyYmVhNGQ5N2EwOWQ5ZTNmNjhjOTkzOGIyMzIwZS4uY2RkYjliYTcyNDNi
NmU2YmQyMTQwZWEzNTZlZDEwNWE2N2JmN2I4YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy13azEvVGVzdEV4cGVjdGF0aW9ucwpAQCAtOTM2LDggKzkzNiw2IEBAIHdlYmtpdC5vcmcv
Yi8yMDkxODIgWyBEZWJ1ZyBdIGluc3BlY3Rvci9kZWJ1Z2dlci9zZXRTaG91bGRCbGFja2JveFVS
TC5odG1sIFsgUGFzCiAKIHdlYmtpdC5vcmcvYi8yMDkzNTMgWyBSZWxlYXNlIF0gbWVkaWEvdmlk
ZW8tYmFja2dyb3VuZC10YWItcGxheWJhY2suaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiAKLXdlYmtp
dC5vcmcvYi8yMDk0OTQgZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLW5vLW1vdXNlbW92ZS5odG1s
IFsgUGFzcyBGYWlsdXJlIF0KLQogd2Via2l0Lm9yZy9iLzIwOTU2MCBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLXJlc3BvbnNlLXVwbG9hZC1ldmVudC1wcm9ncmVzcy5o
dG0gWyBQYXNzIENyYXNoIEZhaWx1cmUgXQogCiB3ZWJraXQub3JnL2IvMjA5ODgyIFsgRGVidWcg
XSBpbnNwZWN0b3IvcGFnZS9vdmVycmlkZVNldHRpbmctSUNFQ2FuZGlkYXRlRmlsdGVyaW5nRW5h
YmxlZC5odG1sIFsgUGFzcyBUaW1lb3V0IF0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>399347</attachid>
            <date>2020-05-14 03:26:13 -0700</date>
            <delta_ts>2020-05-14 03:37:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211884-20200514122612.patch</filename>
            <type>text/plain</type>
            <size>10125</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxNjc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjQ0NjYyNzMzN2I1YjJi
Y2IyOWYwZWMyYmY2MWQ5YzdkNzYxZjcwYS4uYTM3MDA3OGIzZjNmZGIwOGY0MzI1Mjc5ODJkZjgz
NjU0YmJjZGVlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIwLTA1LTE0ICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CisKKyAgICAgICAgQ3Vyc29yIHNob3VsZCBu
b3QgdXBkYXRlIG9uIGEgMjBtcyB0aW1lcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjExODg0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82MzIyMDM2
OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRh
dGUgdGhlIGN1cnNvciBkdXJpbmcgcGFnZSByZW5kZXJpbmcgcmF0aGVyIHRoYW4gdXNpbmcgYSAy
MG1zIHRpbWVyLgorCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkRvY3VtZW50Ojp1cGRhdGVDdXJzb3JJZk5lZWRlZCk6CisgICAgICAgICogZG9tL0RvY3Vt
ZW50Lmg6CisgICAgICAgICogcGFnZS9FdmVudEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RXZlbnRIYW5kbGVyOjpFdmVudEhhbmRsZXIpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRI
YW5kbGVyOjpjbGVhcik6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OnVwZGF0ZUN1
cnNvcklmTmVlZGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6aGFuZGxlTW91
c2VNb3ZlRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpzY2hlZHVsZUN1
cnNvclVwZGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OmN1cnNvclVwZGF0
ZVRpbWVyRmlyZWQpOiBEZWxldGVkLgorICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmg6Cisg
ICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnVwZGF0ZVJl
bmRlcmluZyk6CisKIDIwMjAtMDUtMDYgIFNlcmdpbyBWaWxsYXIgU2VuaW4gIDxzdmlsbGFyQGln
YWxpYS5jb20+CiAKICAgICAgICAgW1dlYlhSXSBJbXBsZW1lbnQgV2ViR0xSZW5kZXJpbmdDb250
ZXh0QmFzZTo6bWFrZVhSQ29tcGF0aWJsZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCBi
ZWY0ODY5NDAzOTc5MDg4NjE5MmViM2ZhYjA3MjhmMjU0NDJiNzM1Li5lYzBkYTM2NmFiYjljMmJh
ZjJkZWM4NWExZGUwMGM1OGYyNDNlOTU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTg1
MTMsNiArODUxMywxMiBAQCB2b2lkIERvY3VtZW50OjpzZXRBcHBsZVBheUlzQWN0aXZlKCkKIAog
I2VuZGlmCiAKK3ZvaWQgRG9jdW1lbnQ6OnVwZGF0ZUN1cnNvcklmTmVlZGVkKCkKK3sKKyAgICBm
b3IgKEZyYW1lKiBmcmFtZSA9IG1fZnJhbWU7IGZyYW1lOyBmcmFtZSA9IGZyYW1lLT50cmVlKCku
dHJhdmVyc2VOZXh0KG1fZnJhbWUpKQorICAgICAgICBmcmFtZS0+ZXZlbnRIYW5kbGVyKCkudXBk
YXRlQ3Vyc29ySWZOZWVkZWQoKTsKK30KKwogTWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXImIERv
Y3VtZW50OjptZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlcigpCiB7CiAgICAgcmV0dXJuIE1lc3Nh
Z2VQb3J0Q2hhbm5lbFByb3ZpZGVyOjpzaW5nbGV0b24oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5k
ZXggNzdlY2I3YTAzMTMzOWZjMTdiZWM1NTNmMzVmYjYzNjc1NzNkMGM0My4uMTU0NWI1NmU0M2U4
NDMwYTcwNjlmZWM4ZTNmYTUyYWQyN2NmMzE4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTE1
ODgsNiArMTU4OCw4IEBAIHB1YmxpYzoKICAgICBGcmFtZVNlbGVjdGlvbiYgc2VsZWN0aW9uKCkg
eyByZXR1cm4gbV9zZWxlY3Rpb247IH0KICAgICBjb25zdCBGcmFtZVNlbGVjdGlvbiYgc2VsZWN0
aW9uKCkgY29uc3QgeyByZXR1cm4gbV9zZWxlY3Rpb247IH0KIAorICAgIHZvaWQgdXBkYXRlQ3Vy
c29ySWZOZWVkZWQoKTsKKwogcHJvdGVjdGVkOgogICAgIGVudW0gQ29uc3RydWN0aW9uRmxhZ3Mg
eyBTeW50aGVzaXplZCA9IDEsIE5vblJlbmRlcmVkUGxhY2Vob2xkZXIgPSAxIDw8IDEgfTsKICAg
ICBEb2N1bWVudChGcmFtZSosIGNvbnN0IFVSTCYsIHVuc2lnbmVkID0gRGVmYXVsdERvY3VtZW50
Q2xhc3MsIHVuc2lnbmVkIGNvbnN0cnVjdGlvbkZsYWdzID0gMCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2
ZW50SGFuZGxlci5jcHAKaW5kZXggY2Y5N2VhNDZjMTM2ZTU3ZmJmOGQzN2VhOTU0ZTJjYzNkZDA0
OTUwMS4uODJmMjc2NjI2NmQ0NjQxNzkxYjE3YzY3YzQwODdiZGRjMzM1ZWZkNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcApAQCAtMzk1LDcgKzM5NSw2IEBAIGJvb2wgRXZlbnRI
YW5kbGVyOjpldmVudExvb3BIYW5kbGVNb3VzZURyYWdnZWQoY29uc3QgTW91c2VFdmVudFdpdGhI
aXRUZXN0UmVzdWx0CiBFdmVudEhhbmRsZXI6OkV2ZW50SGFuZGxlcihGcmFtZSYgZnJhbWUpCiAg
ICAgOiBtX2ZyYW1lKGZyYW1lKQogICAgICwgbV9ob3ZlclRpbWVyKCp0aGlzLCAmRXZlbnRIYW5k
bGVyOjpob3ZlclRpbWVyRmlyZWQpCi0gICAgLCBtX2N1cnNvclVwZGF0ZVRpbWVyKCp0aGlzLCAm
RXZlbnRIYW5kbGVyOjpjdXJzb3JVcGRhdGVUaW1lckZpcmVkKQogI2lmIFBMQVRGT1JNKE1BQykK
ICAgICAsIG1fY2xlYXJMYXRjaGluZ1N0YXRlVGltZXIoKnRoaXMsICZFdmVudEhhbmRsZXI6OmNs
ZWFyTGF0Y2hlZFN0YXRlVGltZXJGaXJlZCkKICNlbmRpZgpAQCAtNDMyLDcgKzQzMSw3IEBAIERy
YWdTdGF0ZSYgRXZlbnRIYW5kbGVyOjpkcmFnU3RhdGUoKQogdm9pZCBFdmVudEhhbmRsZXI6OmNs
ZWFyKCkKIHsKICAgICBtX2hvdmVyVGltZXIuc3RvcCgpOwotICAgIG1fY3Vyc29yVXBkYXRlVGlt
ZXIuc3RvcCgpOworICAgIG1fc2NoZWR1bGVkQ3Vyc29yVXBkYXRlID0gZmFsc2U7CiAjaWYgIUVO
QUJMRShJT1NfVE9VQ0hfRVZFTlRTKQogICAgIG1fZmFrZU1vdXNlTW92ZUV2ZW50VGltZXIuc3Rv
cCgpOwogI2VuZGlmCkBAIC0xNDE2LDEwICsxNDE1LDEwIEBAIGJvb2wgRXZlbnRIYW5kbGVyOjp1
c2VIYW5kQ3Vyc29yKE5vZGUqIG5vZGUsIGJvb2wgaXNPdmVyTGluaywgYm9vbCBzaGlmdEtleSkK
ICAgICByZXR1cm4gKChpc092ZXJMaW5rIHx8IGlzU3VibWl0SW1hZ2Uobm9kZSkpICYmICghZWRp
dGFibGUgfHwgZWRpdGFibGVMaW5rRW5hYmxlZCkpOwogfQogCi12b2lkIEV2ZW50SGFuZGxlcjo6
Y3Vyc29yVXBkYXRlVGltZXJGaXJlZCgpCit2b2lkIEV2ZW50SGFuZGxlcjo6dXBkYXRlQ3Vyc29y
SWZOZWVkZWQoKQogewotICAgIEFTU0VSVChtX2ZyYW1lLmRvY3VtZW50KCkpOwotICAgIHVwZGF0
ZUN1cnNvcigpOworICAgIGlmIChzdGQ6OmV4Y2hhbmdlKG1fc2NoZWR1bGVkQ3Vyc29yVXBkYXRl
LCBmYWxzZSkpCisgICAgICAgIHVwZGF0ZUN1cnNvcigpOwogfQogCiB2b2lkIEV2ZW50SGFuZGxl
cjo6dXBkYXRlQ3Vyc29yKCkKQEAgLTE5ODIsNyArMTk4MSw3IEBAIGJvb2wgRXZlbnRIYW5kbGVy
OjpoYW5kbGVNb3VzZU1vdmVFdmVudChjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIHBsYXRmb3Jt
TW91c2VFCiAgICAgaWYgKG1faG92ZXJUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICBtX2hvdmVy
VGltZXIuc3RvcCgpOwogCi0gICAgbV9jdXJzb3JVcGRhdGVUaW1lci5zdG9wKCk7CisgICAgbV9z
Y2hlZHVsZWRDdXJzb3JVcGRhdGUgPSBmYWxzZTsKIAogI2lmICFFTkFCTEUoSU9TX1RPVUNIX0VW
RU5UUykKICAgICBjYW5jZWxGYWtlTW91c2VNb3ZlRXZlbnQoKTsKQEAgLTMxNDEsMTMgKzMxNDAs
MTggQEAgdm9pZCBFdmVudEhhbmRsZXI6OnNjaGVkdWxlSG92ZXJTdGF0ZVVwZGF0ZSgpCiAKIHZv
aWQgRXZlbnRIYW5kbGVyOjpzY2hlZHVsZUN1cnNvclVwZGF0ZSgpCiB7Ci0gICAgaWYgKFBhZ2Uq
IHBhZ2UgPSBtX2ZyYW1lLnBhZ2UoKSkgewotICAgICAgICBpZiAoIXBhZ2UtPmNocm9tZSgpLmNs
aWVudCgpLnN1cHBvcnRzU2V0dGluZ0N1cnNvcigpKQotICAgICAgICAgICAgcmV0dXJuOwotICAg
IH0KKyAgICBpZiAobV9zY2hlZHVsZWRDdXJzb3JVcGRhdGUpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGF1dG8qIHBhZ2UgPSBtX2ZyYW1lLnBhZ2UoKTsKKyAgICBpZiAoIXBhZ2UpCisgICAgICAg
IHJldHVybjsKKworICAgIGlmICghcGFnZS0+Y2hyb21lKCkuY2xpZW50KCkuc3VwcG9ydHNTZXR0
aW5nQ3Vyc29yKCkpCisgICAgICAgIHJldHVybjsKIAotICAgIGlmICghbV9jdXJzb3JVcGRhdGVU
aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2N1cnNvclVwZGF0ZVRpbWVyLnN0YXJ0T25lU2hv
dChjdXJzb3JVcGRhdGVJbnRlcnZhbCk7CisgICAgbV9zY2hlZHVsZWRDdXJzb3JVcGRhdGUgPSB0
cnVlOworICAgIHBhZ2UtPnNjaGVkdWxlUmVuZGVyaW5nVXBkYXRlKCk7CiB9CiAKIHZvaWQgRXZl
bnRIYW5kbGVyOjpkaXNwYXRjaEZha2VNb3VzZU1vdmVFdmVudFNvb24oKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RXZlbnRIYW5kbGVyLmgKaW5kZXggZWYxZDQ4ZTRkZWU1ZjQ2Yzg5ODk1Y2ZhYzZjNzFlNjJhMjcz
Yzk2NS4uMjI0OTU1ZDczNDg0ZmE2NDA1Y2Y2NzhjZDJjZmNiOGExMzQ5MmRiYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0V2ZW50SGFuZGxlci5oCkBAIC0zMTksNiArMzE5LDcgQEAgcHVibGljOgogI2VuZGlm
CiAKICAgICBib29sIHVzZUhhbmRDdXJzb3IoTm9kZSosIGJvb2wgaXNPdmVyTGluaywgYm9vbCBz
aGlmdEtleSk7CisgICAgdm9pZCB1cGRhdGVDdXJzb3JJZk5lZWRlZCgpOwogICAgIHZvaWQgdXBk
YXRlQ3Vyc29yKCk7CiAKICAgICBib29sIGlzSGFuZGxpbmdXaGVlbEV2ZW50KCkgY29uc3QgeyBy
ZXR1cm4gbV9pc0hhbmRsaW5nV2hlZWxFdmVudDsgfQpAQCAtMzc1LDcgKzM3Niw2IEBAIHByaXZh
dGU6CiAgICAgdm9pZCB1cGRhdGVDdXJzb3IoRnJhbWVWaWV3JiwgY29uc3QgSGl0VGVzdFJlc3Vs
dCYsIGJvb2wgc2hpZnRLZXkpOwogCiAgICAgdm9pZCBob3ZlclRpbWVyRmlyZWQoKTsKLSAgICB2
b2lkIGN1cnNvclVwZGF0ZVRpbWVyRmlyZWQoKTsKIAogICAgIGJvb2wgbG9naWNhbFNjcm9sbE92
ZXJmbG93KFNjcm9sbExvZ2ljYWxEaXJlY3Rpb24sIFNjcm9sbEdyYW51bGFyaXR5LCBOb2RlKiBz
dGFydGluZ05vZGUgPSBudWxscHRyKTsKICAgICAKQEAgLTUzMyw3ICs1MzMsNyBAQCBwcml2YXRl
OgogI2VuZGlmCiAKICAgICBUaW1lciBtX2hvdmVyVGltZXI7Ci0gICAgVGltZXIgbV9jdXJzb3JV
cGRhdGVUaW1lcjsKKyAgICBib29sIG1fc2NoZWR1bGVkQ3Vyc29yVXBkYXRlIHsgZmFsc2UgfTsK
IAogI2lmIFBMQVRGT1JNKE1BQykKICAgICBUaW1lciBtX2NsZWFyTGF0Y2hpbmdTdGF0ZVRpbWVy
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXggODc2ZmE3MTI5NTc4MDAxZDY4ZTQwM2JjNzA0NGIyMWZh
MGIwMzRlYi4uYWU3OTQ0NGQ2NTQzZjM2MzY3NGI0NTVmZDRmYjAyMjk5ZDlmMTQxMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BhZ2UuY3BwCkBAIC0xMzYyLDYgKzEzNjIsMTAgQEAgdm9pZCBQYWdlOjp1cGRhdGVSZW5k
ZXJpbmcoKQogCiAgICAgLy8gRmx1c2ggYXV0b2ZvY3VzIGNhbmRpZGF0ZXMKIAorICAgIGZvckVh
Y2hEb2N1bWVudChbXSAoRG9jdW1lbnQmIGRvY3VtZW50KSB7CisgICAgICAgIGRvY3VtZW50LnVw
ZGF0ZUN1cnNvcklmTmVlZGVkKCk7CisgICAgfSk7CisKICAgICBmb3JFYWNoRG9jdW1lbnQoW10g
KERvY3VtZW50JiBkb2N1bWVudCkgewogICAgICAgICBkb2N1bWVudC5ydW5SZXNpemVTdGVwcygp
OwogICAgIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IDNlMzRhY2E1ZmQ4YWI0OTY5M2NiODBlY2JkNjJiOTU0Zjk1MTI3
YjQuLjc5NGMyMWMxMDM3NDJmMjlkNDkzOTY1NTRjM2JhOWU1ODliMzQ5ODIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAyMC0wNS0xNCAgQW50b2luZSBRdWludCAgPGdyYW91dHNAYXBwbGUuY29t
PgorCisgICAgICAgIEN1cnNvciBzaG91bGQgbm90IHVwZGF0ZSBvbiBhIDIwbXMgdGltZXIKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMTg4NAorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vNjMyMjAzNjg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIGEgKGZsYWt5KSB0ZXN0IHRvIG5vdCB1c2Ug
c2V0VGltZW91dCgpIHRvIHRlc3QgYSBjdXJzb3IgY2hhbmdlIGFuZCBpbnN0ZWFkIHVzZSByZXF1
ZXN0QW5pbWF0aW9uRnJhbWUoKQorICAgICAgICBzaW5jZSBjdXJzb3IgdXBkYXRlcyBhcmUgbm93
IGd1YXJhbnRlZWQgdG8gYmUgcnVuIGJlZm9yZSB0aGUgbmV4dCByZXF1ZXN0QW5pbWF0aW9uRnJh
bWUoKSBjYWxsYmFjay4KKworICAgICAgICAqIGZhc3QvZXZlbnRzL21vdXNlLWN1cnNvci1uby1t
b3VzZW1vdmUuaHRtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlv
bnM6CisKIDIwMjAtMDUtMTMgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNv
bT4KIAogICAgICAgICBmYXN0L3RleHQvbXVsdGlwbGUtY29kZXVuaXQtdmVydGljYWwtdXByaWdo
dC5odG1sIGlzIGZhaWxpbmcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL21v
dXNlLWN1cnNvci1uby1tb3VzZW1vdmUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL21v
dXNlLWN1cnNvci1uby1tb3VzZW1vdmUuaHRtbAppbmRleCBjMDcyMGE0OWViMTdmYmUwODg4MDg0
M2Q2YTFiMjlmODNlYmMwMDdkLi4xOWIxNjI5ODFhNmNlMDhkYTc4Yzc2NTIxOTk4ZjQyZjM2YjU3
NjFhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3Itbm8t
bW91c2Vtb3ZlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvbW91c2UtY3Vyc29y
LW5vLW1vdXNlbW92ZS5odG1sCkBAIC0xNCw3ICsxNCw2IEBACiA8YnIvPgogPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CiA8c2NyaXB0PgotdmFyIENVUlNPUl9VUERBVEVfREVMQVkgPSA1MDsKIAog
ZGVzY3JpcHRpb24oIlRlc3QgdGhhdCB0aGVyZSBpcyBubyBtb3VzZW1vdmUgZXZlbnQgZmlyZWQg
d2hlbiBjaGFuZ2luZyBjdXJzb3IuIik7CiAKQEAgLTI4LDggKzI3LDEyIEBAIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikgewogICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKIH0KIAotLy8g
Q2FuJ3QgZG8gYW55dGhpbmcgdXNlZnVsIGhlcmUgd2l0aG91dCBldmVudFNlbmRlcgotaWYgKHdp
bmRvdy5ldmVudFNlbmRlcikgeworKGFzeW5jIGZ1bmN0aW9uKCkKK3sKKyAgICAvLyBDYW4ndCBk
byBhbnl0aGluZyB1c2VmdWwgaGVyZSB3aXRob3V0IGV2ZW50U2VuZGVyCisgICAgaWYgKCF3aW5k
b3cuZXZlbnRTZW5kZXIpCisgICAgICAgIHJldHVybjsKKwogICAgIHZhciBub2RlID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ3RhcmdldCcpOwogICAgIGRlYnVnKCdURVNUIENBU0U6ICcgKyBu
b2RlLnRleHRDb250ZW50KTsKICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyhub2RlLm9mZnNl
dExlZnQgKyAzLCBub2RlLm9mZnNldFRvcCArIDMpOwpAQCAtMzksMTcgKzQyLDE3IEBAIGlmICh3
aW5kb3cuZXZlbnRTZW5kZXIpIHsKICAgICAgICAgZmluaXNoSlNUZXN0KCk7CiAgICAgfSk7CiAg
ICAgbm9kZS5zdHlsZS5jdXJzb3IgPSAnaGVscCc7Ci0gICAgc2V0VGltZW91dChmdW5jdGlvbigp
IHsKLSAgICAgICAgZGVidWcoJ0N1cnNvciBJbmZvOiAnICsgd2luZG93LmludGVybmFscy5nZXRD
dXJyZW50Q3Vyc29ySW5mbygpKTsKLSAgICAgICAgZGVidWcoJycpOwotICAgIH0sIENVUlNPUl9V
UERBVEVfREVMQVkpOworCisgICAgLy8gQ3Vyc29yIHdpbGwgYmUgdXBkYXRlZCBkdXJpbmcgdGhl
IG5leHQgYW5pbWF0aW9uIGZyYW1lLgorICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlcXVlc3RBbmlt
YXRpb25GcmFtZSk7CisgICAgZGVidWcoJ0N1cnNvciBJbmZvOiAnICsgd2luZG93LmludGVybmFs
cy5nZXRDdXJyZW50Q3Vyc29ySW5mbygpKTsKKyAgICBkZWJ1ZygnJyk7CiAKICAgICAvLyBHaXZl
IHNvbWUgdGltZSBmb3IgdGhlIGNoYW5nZSB0byByZXNvbHZlLiBGYWtlIG1vdXNlbW92ZSBldmVu
dCB0aGF0IGNhdXNlZCBidWcsIGlzIHVzaW5nIGEgdGltZXIKLSAgICBzZXRUaW1lb3V0KGZ1bmN0
aW9uKCkgewotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdC1jb250YWluZXIn
KS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwotICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKLSAgICB9
LCAxNTApOwotfQorICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gc2V0VGltZW91dChy
ZXNvbHZlKSwgMTAwKTsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdC1jb250YWlu
ZXInKS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOworICAgIGZpbmlzaEpTVGVzdCgpOworfSkoKTsK
IAogPC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rl
c3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3Rh
dGlvbnMKaW5kZXggZjI3YjliZTI1OWUyYmVhNGQ5N2EwOWQ5ZTNmNjhjOTkzOGIyMzIwZS4uY2Rk
YjliYTcyNDNiNmU2YmQyMTQwZWEzNTZlZDEwNWE2N2JmN2I4YyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucwpAQCAtOTM2LDggKzkzNiw2IEBAIHdl
YmtpdC5vcmcvYi8yMDkxODIgWyBEZWJ1ZyBdIGluc3BlY3Rvci9kZWJ1Z2dlci9zZXRTaG91bGRC
bGFja2JveFVSTC5odG1sIFsgUGFzCiAKIHdlYmtpdC5vcmcvYi8yMDkzNTMgWyBSZWxlYXNlIF0g
bWVkaWEvdmlkZW8tYmFja2dyb3VuZC10YWItcGxheWJhY2suaHRtbCBbIFBhc3MgRmFpbHVyZSBd
CiAKLXdlYmtpdC5vcmcvYi8yMDk0OTQgZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLW5vLW1vdXNl
bW92ZS5odG1sIFsgUGFzcyBGYWlsdXJlIF0KLQogd2Via2l0Lm9yZy9iLzIwOTU2MCBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLXJlc3BvbnNlLXVwbG9hZC1ldmVudC1w
cm9ncmVzcy5odG0gWyBQYXNzIENyYXNoIEZhaWx1cmUgXQogCiB3ZWJraXQub3JnL2IvMjA5ODgy
IFsgRGVidWcgXSBpbnNwZWN0b3IvcGFnZS9vdmVycmlkZVNldHRpbmctSUNFQ2FuZGlkYXRlRmls
dGVyaW5nRW5hYmxlZC5odG1sIFsgUGFzcyBUaW1lb3V0IF0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>399348</attachid>
            <date>2020-05-14 03:37:46 -0700</date>
            <delta_ts>2020-05-14 03:43:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211884-20200514123745.patch</filename>
            <type>text/plain</type>
            <size>10125</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxNjc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjQ0NjYyNzMzN2I1YjJi
Y2IyOWYwZWMyYmY2MWQ5YzdkNzYxZjcwYS4uYTM3MDA3OGIzZjNmZGIwOGY0MzI1Mjc5ODJkZjgz
NjU0YmJjZGVlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIwLTA1LTE0ICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CisKKyAgICAgICAgQ3Vyc29yIHNob3VsZCBu
b3QgdXBkYXRlIG9uIGEgMjBtcyB0aW1lcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjExODg0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82MzIyMDM2
OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRh
dGUgdGhlIGN1cnNvciBkdXJpbmcgcGFnZSByZW5kZXJpbmcgcmF0aGVyIHRoYW4gdXNpbmcgYSAy
MG1zIHRpbWVyLgorCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkRvY3VtZW50Ojp1cGRhdGVDdXJzb3JJZk5lZWRlZCk6CisgICAgICAgICogZG9tL0RvY3Vt
ZW50Lmg6CisgICAgICAgICogcGFnZS9FdmVudEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RXZlbnRIYW5kbGVyOjpFdmVudEhhbmRsZXIpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRI
YW5kbGVyOjpjbGVhcik6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OnVwZGF0ZUN1
cnNvcklmTmVlZGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6aGFuZGxlTW91
c2VNb3ZlRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpzY2hlZHVsZUN1
cnNvclVwZGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OmN1cnNvclVwZGF0
ZVRpbWVyRmlyZWQpOiBEZWxldGVkLgorICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmg6Cisg
ICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnVwZGF0ZVJl
bmRlcmluZyk6CisKIDIwMjAtMDUtMDYgIFNlcmdpbyBWaWxsYXIgU2VuaW4gIDxzdmlsbGFyQGln
YWxpYS5jb20+CiAKICAgICAgICAgW1dlYlhSXSBJbXBsZW1lbnQgV2ViR0xSZW5kZXJpbmdDb250
ZXh0QmFzZTo6bWFrZVhSQ29tcGF0aWJsZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCBi
ZWY0ODY5NDAzOTc5MDg4NjE5MmViM2ZhYjA3MjhmMjU0NDJiNzM1Li5lYzBkYTM2NmFiYjljMmJh
ZjJkZWM4NWExZGUwMGM1OGYyNDNlOTU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTg1
MTMsNiArODUxMywxMiBAQCB2b2lkIERvY3VtZW50OjpzZXRBcHBsZVBheUlzQWN0aXZlKCkKIAog
I2VuZGlmCiAKK3ZvaWQgRG9jdW1lbnQ6OnVwZGF0ZUN1cnNvcklmTmVlZGVkKCkKK3sKKyAgICBm
b3IgKEZyYW1lKiBmcmFtZSA9IG1fZnJhbWU7IGZyYW1lOyBmcmFtZSA9IGZyYW1lLT50cmVlKCku
dHJhdmVyc2VOZXh0KG1fZnJhbWUpKQorICAgICAgICBmcmFtZS0+ZXZlbnRIYW5kbGVyKCkudXBk
YXRlQ3Vyc29ySWZOZWVkZWQoKTsKK30KKwogTWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXImIERv
Y3VtZW50OjptZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlcigpCiB7CiAgICAgcmV0dXJuIE1lc3Nh
Z2VQb3J0Q2hhbm5lbFByb3ZpZGVyOjpzaW5nbGV0b24oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5k
ZXggNzdlY2I3YTAzMTMzOWZjMTdiZWM1NTNmMzVmYjYzNjc1NzNkMGM0My4uMTU0NWI1NmU0M2U4
NDMwYTcwNjlmZWM4ZTNmYTUyYWQyN2NmMzE4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTE1
ODgsNiArMTU4OCw4IEBAIHB1YmxpYzoKICAgICBGcmFtZVNlbGVjdGlvbiYgc2VsZWN0aW9uKCkg
eyByZXR1cm4gbV9zZWxlY3Rpb247IH0KICAgICBjb25zdCBGcmFtZVNlbGVjdGlvbiYgc2VsZWN0
aW9uKCkgY29uc3QgeyByZXR1cm4gbV9zZWxlY3Rpb247IH0KIAorICAgIHZvaWQgdXBkYXRlQ3Vy
c29ySWZOZWVkZWQoKTsKKwogcHJvdGVjdGVkOgogICAgIGVudW0gQ29uc3RydWN0aW9uRmxhZ3Mg
eyBTeW50aGVzaXplZCA9IDEsIE5vblJlbmRlcmVkUGxhY2Vob2xkZXIgPSAxIDw8IDEgfTsKICAg
ICBEb2N1bWVudChGcmFtZSosIGNvbnN0IFVSTCYsIHVuc2lnbmVkID0gRGVmYXVsdERvY3VtZW50
Q2xhc3MsIHVuc2lnbmVkIGNvbnN0cnVjdGlvbkZsYWdzID0gMCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2
ZW50SGFuZGxlci5jcHAKaW5kZXggY2Y5N2VhNDZjMTM2ZTU3ZmJmOGQzN2VhOTU0ZTJjYzNkZDA0
OTUwMS4uODJmMjc2NjI2NmQ0NjQxNzkxYjE3YzY3YzQwODdiZGRjMzM1ZWZkNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcApAQCAtMzk1LDcgKzM5NSw2IEBAIGJvb2wgRXZlbnRI
YW5kbGVyOjpldmVudExvb3BIYW5kbGVNb3VzZURyYWdnZWQoY29uc3QgTW91c2VFdmVudFdpdGhI
aXRUZXN0UmVzdWx0CiBFdmVudEhhbmRsZXI6OkV2ZW50SGFuZGxlcihGcmFtZSYgZnJhbWUpCiAg
ICAgOiBtX2ZyYW1lKGZyYW1lKQogICAgICwgbV9ob3ZlclRpbWVyKCp0aGlzLCAmRXZlbnRIYW5k
bGVyOjpob3ZlclRpbWVyRmlyZWQpCi0gICAgLCBtX2N1cnNvclVwZGF0ZVRpbWVyKCp0aGlzLCAm
RXZlbnRIYW5kbGVyOjpjdXJzb3JVcGRhdGVUaW1lckZpcmVkKQogI2lmIFBMQVRGT1JNKE1BQykK
ICAgICAsIG1fY2xlYXJMYXRjaGluZ1N0YXRlVGltZXIoKnRoaXMsICZFdmVudEhhbmRsZXI6OmNs
ZWFyTGF0Y2hlZFN0YXRlVGltZXJGaXJlZCkKICNlbmRpZgpAQCAtNDMyLDcgKzQzMSw3IEBAIERy
YWdTdGF0ZSYgRXZlbnRIYW5kbGVyOjpkcmFnU3RhdGUoKQogdm9pZCBFdmVudEhhbmRsZXI6OmNs
ZWFyKCkKIHsKICAgICBtX2hvdmVyVGltZXIuc3RvcCgpOwotICAgIG1fY3Vyc29yVXBkYXRlVGlt
ZXIuc3RvcCgpOworICAgIG1fc2NoZWR1bGVkQ3Vyc29yVXBkYXRlID0gZmFsc2U7CiAjaWYgIUVO
QUJMRShJT1NfVE9VQ0hfRVZFTlRTKQogICAgIG1fZmFrZU1vdXNlTW92ZUV2ZW50VGltZXIuc3Rv
cCgpOwogI2VuZGlmCkBAIC0xNDE2LDEwICsxNDE1LDEwIEBAIGJvb2wgRXZlbnRIYW5kbGVyOjp1
c2VIYW5kQ3Vyc29yKE5vZGUqIG5vZGUsIGJvb2wgaXNPdmVyTGluaywgYm9vbCBzaGlmdEtleSkK
ICAgICByZXR1cm4gKChpc092ZXJMaW5rIHx8IGlzU3VibWl0SW1hZ2Uobm9kZSkpICYmICghZWRp
dGFibGUgfHwgZWRpdGFibGVMaW5rRW5hYmxlZCkpOwogfQogCi12b2lkIEV2ZW50SGFuZGxlcjo6
Y3Vyc29yVXBkYXRlVGltZXJGaXJlZCgpCit2b2lkIEV2ZW50SGFuZGxlcjo6dXBkYXRlQ3Vyc29y
SWZOZWVkZWQoKQogewotICAgIEFTU0VSVChtX2ZyYW1lLmRvY3VtZW50KCkpOwotICAgIHVwZGF0
ZUN1cnNvcigpOworICAgIGlmIChzdGQ6OmV4Y2hhbmdlKG1fc2NoZWR1bGVkQ3Vyc29yVXBkYXRl
LCBmYWxzZSkpCisgICAgICAgIHVwZGF0ZUN1cnNvcigpOwogfQogCiB2b2lkIEV2ZW50SGFuZGxl
cjo6dXBkYXRlQ3Vyc29yKCkKQEAgLTE5ODIsNyArMTk4MSw3IEBAIGJvb2wgRXZlbnRIYW5kbGVy
OjpoYW5kbGVNb3VzZU1vdmVFdmVudChjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIHBsYXRmb3Jt
TW91c2VFCiAgICAgaWYgKG1faG92ZXJUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICBtX2hvdmVy
VGltZXIuc3RvcCgpOwogCi0gICAgbV9jdXJzb3JVcGRhdGVUaW1lci5zdG9wKCk7CisgICAgbV9z
Y2hlZHVsZWRDdXJzb3JVcGRhdGUgPSBmYWxzZTsKIAogI2lmICFFTkFCTEUoSU9TX1RPVUNIX0VW
RU5UUykKICAgICBjYW5jZWxGYWtlTW91c2VNb3ZlRXZlbnQoKTsKQEAgLTMxNDEsMTMgKzMxNDAs
MTggQEAgdm9pZCBFdmVudEhhbmRsZXI6OnNjaGVkdWxlSG92ZXJTdGF0ZVVwZGF0ZSgpCiAKIHZv
aWQgRXZlbnRIYW5kbGVyOjpzY2hlZHVsZUN1cnNvclVwZGF0ZSgpCiB7Ci0gICAgaWYgKFBhZ2Uq
IHBhZ2UgPSBtX2ZyYW1lLnBhZ2UoKSkgewotICAgICAgICBpZiAoIXBhZ2UtPmNocm9tZSgpLmNs
aWVudCgpLnN1cHBvcnRzU2V0dGluZ0N1cnNvcigpKQotICAgICAgICAgICAgcmV0dXJuOwotICAg
IH0KKyAgICBpZiAobV9zY2hlZHVsZWRDdXJzb3JVcGRhdGUpCisgICAgICAgIHJldHVybjsKKwor
ICAgIGF1dG8qIHBhZ2UgPSBtX2ZyYW1lLnBhZ2UoKTsKKyAgICBpZiAoIXBhZ2UpCisgICAgICAg
IHJldHVybjsKKworICAgIGlmICghcGFnZS0+Y2hyb21lKCkuY2xpZW50KCkuc3VwcG9ydHNTZXR0
aW5nQ3Vyc29yKCkpCisgICAgICAgIHJldHVybjsKIAotICAgIGlmICghbV9jdXJzb3JVcGRhdGVU
aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2N1cnNvclVwZGF0ZVRpbWVyLnN0YXJ0T25lU2hv
dChjdXJzb3JVcGRhdGVJbnRlcnZhbCk7CisgICAgbV9zY2hlZHVsZWRDdXJzb3JVcGRhdGUgPSB0
cnVlOworICAgIHBhZ2UtPnNjaGVkdWxlUmVuZGVyaW5nVXBkYXRlKCk7CiB9CiAKIHZvaWQgRXZl
bnRIYW5kbGVyOjpkaXNwYXRjaEZha2VNb3VzZU1vdmVFdmVudFNvb24oKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RXZlbnRIYW5kbGVyLmgKaW5kZXggZWYxZDQ4ZTRkZWU1ZjQ2Yzg5ODk1Y2ZhYzZjNzFlNjJhMjcz
Yzk2NS4uMjI0OTU1ZDczNDg0ZmE2NDA1Y2Y2NzhjZDJjZmNiOGExMzQ5MmRiYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0V2ZW50SGFuZGxlci5oCkBAIC0zMTksNiArMzE5LDcgQEAgcHVibGljOgogI2VuZGlm
CiAKICAgICBib29sIHVzZUhhbmRDdXJzb3IoTm9kZSosIGJvb2wgaXNPdmVyTGluaywgYm9vbCBz
aGlmdEtleSk7CisgICAgdm9pZCB1cGRhdGVDdXJzb3JJZk5lZWRlZCgpOwogICAgIHZvaWQgdXBk
YXRlQ3Vyc29yKCk7CiAKICAgICBib29sIGlzSGFuZGxpbmdXaGVlbEV2ZW50KCkgY29uc3QgeyBy
ZXR1cm4gbV9pc0hhbmRsaW5nV2hlZWxFdmVudDsgfQpAQCAtMzc1LDcgKzM3Niw2IEBAIHByaXZh
dGU6CiAgICAgdm9pZCB1cGRhdGVDdXJzb3IoRnJhbWVWaWV3JiwgY29uc3QgSGl0VGVzdFJlc3Vs
dCYsIGJvb2wgc2hpZnRLZXkpOwogCiAgICAgdm9pZCBob3ZlclRpbWVyRmlyZWQoKTsKLSAgICB2
b2lkIGN1cnNvclVwZGF0ZVRpbWVyRmlyZWQoKTsKIAogICAgIGJvb2wgbG9naWNhbFNjcm9sbE92
ZXJmbG93KFNjcm9sbExvZ2ljYWxEaXJlY3Rpb24sIFNjcm9sbEdyYW51bGFyaXR5LCBOb2RlKiBz
dGFydGluZ05vZGUgPSBudWxscHRyKTsKICAgICAKQEAgLTUzMyw3ICs1MzMsNyBAQCBwcml2YXRl
OgogI2VuZGlmCiAKICAgICBUaW1lciBtX2hvdmVyVGltZXI7Ci0gICAgVGltZXIgbV9jdXJzb3JV
cGRhdGVUaW1lcjsKKyAgICBib29sIG1fc2NoZWR1bGVkQ3Vyc29yVXBkYXRlIHsgZmFsc2UgfTsK
IAogI2lmIFBMQVRGT1JNKE1BQykKICAgICBUaW1lciBtX2NsZWFyTGF0Y2hpbmdTdGF0ZVRpbWVy
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZS5jcHAKaW5kZXggODc2ZmE3MTI5NTc4MDAxZDY4ZTQwM2JjNzA0NGIyMWZh
MGIwMzRlYi4uYWU3OTQ0NGQ2NTQzZjM2MzY3NGI0NTVmZDRmYjAyMjk5ZDlmMTQxMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1BhZ2UuY3BwCkBAIC0xMzYyLDYgKzEzNjIsMTAgQEAgdm9pZCBQYWdlOjp1cGRhdGVSZW5k
ZXJpbmcoKQogCiAgICAgLy8gRmx1c2ggYXV0b2ZvY3VzIGNhbmRpZGF0ZXMKIAorICAgIGZvckVh
Y2hEb2N1bWVudChbXSAoRG9jdW1lbnQmIGRvY3VtZW50KSB7CisgICAgICAgIGRvY3VtZW50LnVw
ZGF0ZUN1cnNvcklmTmVlZGVkKCk7CisgICAgfSk7CisKICAgICBmb3JFYWNoRG9jdW1lbnQoW10g
KERvY3VtZW50JiBkb2N1bWVudCkgewogICAgICAgICBkb2N1bWVudC5ydW5SZXNpemVTdGVwcygp
OwogICAgIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IDNlMzRhY2E1ZmQ4YWI0OTY5M2NiODBlY2JkNjJiOTU0Zjk1MTI3
YjQuLjc5NGMyMWMxMDM3NDJmMjlkNDkzOTY1NTRjM2JhOWU1ODliMzQ5ODIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAyMC0wNS0xNCAgQW50b2luZSBRdWludCAgPGdyYW91dHNAYXBwbGUuY29t
PgorCisgICAgICAgIEN1cnNvciBzaG91bGQgbm90IHVwZGF0ZSBvbiBhIDIwbXMgdGltZXIKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMTg4NAorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vNjMyMjAzNjg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIGEgKGZsYWt5KSB0ZXN0IHRvIG5vdCB1c2Ug
c2V0VGltZW91dCgpIHRvIHRlc3QgYSBjdXJzb3IgY2hhbmdlIGFuZCBpbnN0ZWFkIHVzZSByZXF1
ZXN0QW5pbWF0aW9uRnJhbWUoKQorICAgICAgICBzaW5jZSBjdXJzb3IgdXBkYXRlcyBhcmUgbm93
IGd1YXJhbnRlZWQgdG8gYmUgcnVuIGJlZm9yZSB0aGUgbmV4dCByZXF1ZXN0QW5pbWF0aW9uRnJh
bWUoKSBjYWxsYmFjay4KKworICAgICAgICAqIGZhc3QvZXZlbnRzL21vdXNlLWN1cnNvci1uby1t
b3VzZW1vdmUuaHRtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlv
bnM6CisKIDIwMjAtMDUtMTMgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNv
bT4KIAogICAgICAgICBmYXN0L3RleHQvbXVsdGlwbGUtY29kZXVuaXQtdmVydGljYWwtdXByaWdo
dC5odG1sIGlzIGZhaWxpbmcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL21v
dXNlLWN1cnNvci1uby1tb3VzZW1vdmUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL21v
dXNlLWN1cnNvci1uby1tb3VzZW1vdmUuaHRtbAppbmRleCBjMDcyMGE0OWViMTdmYmUwODg4MDg0
M2Q2YTFiMjlmODNlYmMwMDdkLi5jMTc2MzkwY2I3NmFjNDE5M2I2NDNkZDNmMGNiYjkyZDRlMjVj
OGM5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3Itbm8t
bW91c2Vtb3ZlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvbW91c2UtY3Vyc29y
LW5vLW1vdXNlbW92ZS5odG1sCkBAIC0xNCw3ICsxNCw2IEBACiA8YnIvPgogPGRpdiBpZD0iY29u
c29sZSI+PC9kaXY+CiA8c2NyaXB0PgotdmFyIENVUlNPUl9VUERBVEVfREVMQVkgPSA1MDsKIAog
ZGVzY3JpcHRpb24oIlRlc3QgdGhhdCB0aGVyZSBpcyBubyBtb3VzZW1vdmUgZXZlbnQgZmlyZWQg
d2hlbiBjaGFuZ2luZyBjdXJzb3IuIik7CiAKQEAgLTI4LDggKzI3LDEyIEBAIGlmICh3aW5kb3cu
dGVzdFJ1bm5lcikgewogICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKIH0KIAotLy8g
Q2FuJ3QgZG8gYW55dGhpbmcgdXNlZnVsIGhlcmUgd2l0aG91dCBldmVudFNlbmRlcgotaWYgKHdp
bmRvdy5ldmVudFNlbmRlcikgeworKGFzeW5jIGZ1bmN0aW9uKCkKK3sKKyAgICAvLyBDYW4ndCBk
byBhbnl0aGluZyB1c2VmdWwgaGVyZSB3aXRob3V0IGV2ZW50U2VuZGVyCisgICAgaWYgKCF3aW5k
b3cuZXZlbnRTZW5kZXIpCisgICAgICAgIHJldHVybjsKKwogICAgIHZhciBub2RlID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ3RhcmdldCcpOwogICAgIGRlYnVnKCdURVNUIENBU0U6ICcgKyBu
b2RlLnRleHRDb250ZW50KTsKICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyhub2RlLm9mZnNl
dExlZnQgKyAzLCBub2RlLm9mZnNldFRvcCArIDMpOwpAQCAtMzksMTcgKzQyLDE3IEBAIGlmICh3
aW5kb3cuZXZlbnRTZW5kZXIpIHsKICAgICAgICAgZmluaXNoSlNUZXN0KCk7CiAgICAgfSk7CiAg
ICAgbm9kZS5zdHlsZS5jdXJzb3IgPSAnaGVscCc7Ci0gICAgc2V0VGltZW91dChmdW5jdGlvbigp
IHsKLSAgICAgICAgZGVidWcoJ0N1cnNvciBJbmZvOiAnICsgd2luZG93LmludGVybmFscy5nZXRD
dXJyZW50Q3Vyc29ySW5mbygpKTsKLSAgICAgICAgZGVidWcoJycpOwotICAgIH0sIENVUlNPUl9V
UERBVEVfREVMQVkpOworCisgICAgLy8gQ3Vyc29yIHdpbGwgYmUgdXBkYXRlZCBkdXJpbmcgdGhl
IG5leHQgYW5pbWF0aW9uIGZyYW1lLgorICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlcXVlc3RBbmlt
YXRpb25GcmFtZSk7CisgICAgZGVidWcoJ0N1cnNvciBJbmZvOiAnICsgd2luZG93LmludGVybmFs
cy5nZXRDdXJyZW50Q3Vyc29ySW5mbygpKTsKKyAgICBkZWJ1ZygnJyk7CiAKICAgICAvLyBHaXZl
IHNvbWUgdGltZSBmb3IgdGhlIGNoYW5nZSB0byByZXNvbHZlLiBGYWtlIG1vdXNlbW92ZSBldmVu
dCB0aGF0IGNhdXNlZCBidWcsIGlzIHVzaW5nIGEgdGltZXIKLSAgICBzZXRUaW1lb3V0KGZ1bmN0
aW9uKCkgewotICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdC1jb250YWluZXIn
KS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwotICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKLSAgICB9
LCAxNTApOwotfQorICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gc2V0VGltZW91dChy
ZXNvbHZlLCAxMDApKTsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdC1jb250YWlu
ZXInKS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOworICAgIGZpbmlzaEpTVGVzdCgpOworfSkoKTsK
IAogPC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rl
c3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3Rh
dGlvbnMKaW5kZXggZjI3YjliZTI1OWUyYmVhNGQ5N2EwOWQ5ZTNmNjhjOTkzOGIyMzIwZS4uY2Rk
YjliYTcyNDNiNmU2YmQyMTQwZWEzNTZlZDEwNWE2N2JmN2I4YyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0aW9ucwpAQCAtOTM2LDggKzkzNiw2IEBAIHdl
YmtpdC5vcmcvYi8yMDkxODIgWyBEZWJ1ZyBdIGluc3BlY3Rvci9kZWJ1Z2dlci9zZXRTaG91bGRC
bGFja2JveFVSTC5odG1sIFsgUGFzCiAKIHdlYmtpdC5vcmcvYi8yMDkzNTMgWyBSZWxlYXNlIF0g
bWVkaWEvdmlkZW8tYmFja2dyb3VuZC10YWItcGxheWJhY2suaHRtbCBbIFBhc3MgRmFpbHVyZSBd
CiAKLXdlYmtpdC5vcmcvYi8yMDk0OTQgZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLW5vLW1vdXNl
bW92ZS5odG1sIFsgUGFzcyBGYWlsdXJlIF0KLQogd2Via2l0Lm9yZy9iLzIwOTU2MCBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLXJlc3BvbnNlLXVwbG9hZC1ldmVudC1w
cm9ncmVzcy5odG0gWyBQYXNzIENyYXNoIEZhaWx1cmUgXQogCiB3ZWJraXQub3JnL2IvMjA5ODgy
IFsgRGVidWcgXSBpbnNwZWN0b3IvcGFnZS9vdmVycmlkZVNldHRpbmctSUNFQ2FuZGlkYXRlRmls
dGVyaW5nRW5hYmxlZC5odG1sIFsgUGFzcyBUaW1lb3V0IF0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>399349</attachid>
            <date>2020-05-14 03:43:16 -0700</date>
            <delta_ts>2020-05-14 09:34:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211884-20200514124315.patch</filename>
            <type>text/plain</type>
            <size>10059</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxNjc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjQ0NjYyNzMzN2I1YjJi
Y2IyOWYwZWMyYmY2MWQ5YzdkNzYxZjcwYS4uYTM3MDA3OGIzZjNmZGIwOGY0MzI1Mjc5ODJkZjgz
NjU0YmJjZGVlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIwLTA1LTE0ICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CisKKyAgICAgICAgQ3Vyc29yIHNob3VsZCBu
b3QgdXBkYXRlIG9uIGEgMjBtcyB0aW1lcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjExODg0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82MzIyMDM2
OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRh
dGUgdGhlIGN1cnNvciBkdXJpbmcgcGFnZSByZW5kZXJpbmcgcmF0aGVyIHRoYW4gdXNpbmcgYSAy
MG1zIHRpbWVyLgorCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkRvY3VtZW50Ojp1cGRhdGVDdXJzb3JJZk5lZWRlZCk6CisgICAgICAgICogZG9tL0RvY3Vt
ZW50Lmg6CisgICAgICAgICogcGFnZS9FdmVudEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RXZlbnRIYW5kbGVyOjpFdmVudEhhbmRsZXIpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRI
YW5kbGVyOjpjbGVhcik6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OnVwZGF0ZUN1
cnNvcklmTmVlZGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6aGFuZGxlTW91
c2VNb3ZlRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpzY2hlZHVsZUN1
cnNvclVwZGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OmN1cnNvclVwZGF0
ZVRpbWVyRmlyZWQpOiBEZWxldGVkLgorICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmg6Cisg
ICAgICAgICogcGFnZS9QYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6OnVwZGF0ZVJl
bmRlcmluZyk6CisKIDIwMjAtMDUtMDYgIFNlcmdpbyBWaWxsYXIgU2VuaW4gIDxzdmlsbGFyQGln
YWxpYS5jb20+CiAKICAgICAgICAgW1dlYlhSXSBJbXBsZW1lbnQgV2ViR0xSZW5kZXJpbmdDb250
ZXh0QmFzZTo6bWFrZVhSQ29tcGF0aWJsZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCBi
ZWY0ODY5NDAzOTc5MDg4NjE5MmViM2ZhYjA3MjhmMjU0NDJiNzM1Li5jMmY4MzA3MDJlMjQ3NjY5
MTgwZjliNDk0YzhlMzE0Yzc4YTNkNGEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTg1
MTMsNiArODUxMywxMiBAQCB2b2lkIERvY3VtZW50OjpzZXRBcHBsZVBheUlzQWN0aXZlKCkKIAog
I2VuZGlmCiAKK3ZvaWQgRG9jdW1lbnQ6OnVwZGF0ZUN1cnNvcklmTmVlZGVkKCkKK3sKKyAgICBp
ZiAoZnJhbWUoKSkKKyAgICAgICAgZnJhbWUoKS0+ZXZlbnRIYW5kbGVyKCkudXBkYXRlQ3Vyc29y
SWZOZWVkZWQoKTsKK30KKwogTWVzc2FnZVBvcnRDaGFubmVsUHJvdmlkZXImIERvY3VtZW50Ojpt
ZXNzYWdlUG9ydENoYW5uZWxQcm92aWRlcigpCiB7CiAgICAgcmV0dXJuIE1lc3NhZ2VQb3J0Q2hh
bm5lbFByb3ZpZGVyOjpzaW5nbGV0b24oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggNzdlY2I3
YTAzMTMzOWZjMTdiZWM1NTNmMzVmYjYzNjc1NzNkMGM0My4uMTU0NWI1NmU0M2U4NDMwYTcwNjlm
ZWM4ZTNmYTUyYWQyN2NmMzE4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTE1ODgsNiArMTU4
OCw4IEBAIHB1YmxpYzoKICAgICBGcmFtZVNlbGVjdGlvbiYgc2VsZWN0aW9uKCkgeyByZXR1cm4g
bV9zZWxlY3Rpb247IH0KICAgICBjb25zdCBGcmFtZVNlbGVjdGlvbiYgc2VsZWN0aW9uKCkgY29u
c3QgeyByZXR1cm4gbV9zZWxlY3Rpb247IH0KIAorICAgIHZvaWQgdXBkYXRlQ3Vyc29ySWZOZWVk
ZWQoKTsKKwogcHJvdGVjdGVkOgogICAgIGVudW0gQ29uc3RydWN0aW9uRmxhZ3MgeyBTeW50aGVz
aXplZCA9IDEsIE5vblJlbmRlcmVkUGxhY2Vob2xkZXIgPSAxIDw8IDEgfTsKICAgICBEb2N1bWVu
dChGcmFtZSosIGNvbnN0IFVSTCYsIHVuc2lnbmVkID0gRGVmYXVsdERvY3VtZW50Q2xhc3MsIHVu
c2lnbmVkIGNvbnN0cnVjdGlvbkZsYWdzID0gMCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxl
ci5jcHAKaW5kZXggY2Y5N2VhNDZjMTM2ZTU3ZmJmOGQzN2VhOTU0ZTJjYzNkZDA0OTUwMS4uODJm
Mjc2NjI2NmQ0NjQxNzkxYjE3YzY3YzQwODdiZGRjMzM1ZWZkNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RXZlbnRIYW5kbGVyLmNwcApAQCAtMzk1LDcgKzM5NSw2IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpl
dmVudExvb3BIYW5kbGVNb3VzZURyYWdnZWQoY29uc3QgTW91c2VFdmVudFdpdGhIaXRUZXN0UmVz
dWx0CiBFdmVudEhhbmRsZXI6OkV2ZW50SGFuZGxlcihGcmFtZSYgZnJhbWUpCiAgICAgOiBtX2Zy
YW1lKGZyYW1lKQogICAgICwgbV9ob3ZlclRpbWVyKCp0aGlzLCAmRXZlbnRIYW5kbGVyOjpob3Zl
clRpbWVyRmlyZWQpCi0gICAgLCBtX2N1cnNvclVwZGF0ZVRpbWVyKCp0aGlzLCAmRXZlbnRIYW5k
bGVyOjpjdXJzb3JVcGRhdGVUaW1lckZpcmVkKQogI2lmIFBMQVRGT1JNKE1BQykKICAgICAsIG1f
Y2xlYXJMYXRjaGluZ1N0YXRlVGltZXIoKnRoaXMsICZFdmVudEhhbmRsZXI6OmNsZWFyTGF0Y2hl
ZFN0YXRlVGltZXJGaXJlZCkKICNlbmRpZgpAQCAtNDMyLDcgKzQzMSw3IEBAIERyYWdTdGF0ZSYg
RXZlbnRIYW5kbGVyOjpkcmFnU3RhdGUoKQogdm9pZCBFdmVudEhhbmRsZXI6OmNsZWFyKCkKIHsK
ICAgICBtX2hvdmVyVGltZXIuc3RvcCgpOwotICAgIG1fY3Vyc29yVXBkYXRlVGltZXIuc3RvcCgp
OworICAgIG1fc2NoZWR1bGVkQ3Vyc29yVXBkYXRlID0gZmFsc2U7CiAjaWYgIUVOQUJMRShJT1Nf
VE9VQ0hfRVZFTlRTKQogICAgIG1fZmFrZU1vdXNlTW92ZUV2ZW50VGltZXIuc3RvcCgpOwogI2Vu
ZGlmCkBAIC0xNDE2LDEwICsxNDE1LDEwIEBAIGJvb2wgRXZlbnRIYW5kbGVyOjp1c2VIYW5kQ3Vy
c29yKE5vZGUqIG5vZGUsIGJvb2wgaXNPdmVyTGluaywgYm9vbCBzaGlmdEtleSkKICAgICByZXR1
cm4gKChpc092ZXJMaW5rIHx8IGlzU3VibWl0SW1hZ2Uobm9kZSkpICYmICghZWRpdGFibGUgfHwg
ZWRpdGFibGVMaW5rRW5hYmxlZCkpOwogfQogCi12b2lkIEV2ZW50SGFuZGxlcjo6Y3Vyc29yVXBk
YXRlVGltZXJGaXJlZCgpCit2b2lkIEV2ZW50SGFuZGxlcjo6dXBkYXRlQ3Vyc29ySWZOZWVkZWQo
KQogewotICAgIEFTU0VSVChtX2ZyYW1lLmRvY3VtZW50KCkpOwotICAgIHVwZGF0ZUN1cnNvcigp
OworICAgIGlmIChzdGQ6OmV4Y2hhbmdlKG1fc2NoZWR1bGVkQ3Vyc29yVXBkYXRlLCBmYWxzZSkp
CisgICAgICAgIHVwZGF0ZUN1cnNvcigpOwogfQogCiB2b2lkIEV2ZW50SGFuZGxlcjo6dXBkYXRl
Q3Vyc29yKCkKQEAgLTE5ODIsNyArMTk4MSw3IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVN
b3VzZU1vdmVFdmVudChjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIHBsYXRmb3JtTW91c2VFCiAg
ICAgaWYgKG1faG92ZXJUaW1lci5pc0FjdGl2ZSgpKQogICAgICAgICBtX2hvdmVyVGltZXIuc3Rv
cCgpOwogCi0gICAgbV9jdXJzb3JVcGRhdGVUaW1lci5zdG9wKCk7CisgICAgbV9zY2hlZHVsZWRD
dXJzb3JVcGRhdGUgPSBmYWxzZTsKIAogI2lmICFFTkFCTEUoSU9TX1RPVUNIX0VWRU5UUykKICAg
ICBjYW5jZWxGYWtlTW91c2VNb3ZlRXZlbnQoKTsKQEAgLTMxNDEsMTMgKzMxNDAsMTggQEAgdm9p
ZCBFdmVudEhhbmRsZXI6OnNjaGVkdWxlSG92ZXJTdGF0ZVVwZGF0ZSgpCiAKIHZvaWQgRXZlbnRI
YW5kbGVyOjpzY2hlZHVsZUN1cnNvclVwZGF0ZSgpCiB7Ci0gICAgaWYgKFBhZ2UqIHBhZ2UgPSBt
X2ZyYW1lLnBhZ2UoKSkgewotICAgICAgICBpZiAoIXBhZ2UtPmNocm9tZSgpLmNsaWVudCgpLnN1
cHBvcnRzU2V0dGluZ0N1cnNvcigpKQotICAgICAgICAgICAgcmV0dXJuOwotICAgIH0KKyAgICBp
ZiAobV9zY2hlZHVsZWRDdXJzb3JVcGRhdGUpCisgICAgICAgIHJldHVybjsKKworICAgIGF1dG8q
IHBhZ2UgPSBtX2ZyYW1lLnBhZ2UoKTsKKyAgICBpZiAoIXBhZ2UpCisgICAgICAgIHJldHVybjsK
KworICAgIGlmICghcGFnZS0+Y2hyb21lKCkuY2xpZW50KCkuc3VwcG9ydHNTZXR0aW5nQ3Vyc29y
KCkpCisgICAgICAgIHJldHVybjsKIAotICAgIGlmICghbV9jdXJzb3JVcGRhdGVUaW1lci5pc0Fj
dGl2ZSgpKQotICAgICAgICBtX2N1cnNvclVwZGF0ZVRpbWVyLnN0YXJ0T25lU2hvdChjdXJzb3JV
cGRhdGVJbnRlcnZhbCk7CisgICAgbV9zY2hlZHVsZWRDdXJzb3JVcGRhdGUgPSB0cnVlOworICAg
IHBhZ2UtPnNjaGVkdWxlUmVuZGVyaW5nVXBkYXRlKCk7CiB9CiAKIHZvaWQgRXZlbnRIYW5kbGVy
OjpkaXNwYXRjaEZha2VNb3VzZU1vdmVFdmVudFNvb24oKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5k
bGVyLmgKaW5kZXggZWYxZDQ4ZTRkZWU1ZjQ2Yzg5ODk1Y2ZhYzZjNzFlNjJhMjczYzk2NS4uMjI0
OTU1ZDczNDg0ZmE2NDA1Y2Y2NzhjZDJjZmNiOGExMzQ5MmRiYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2
ZW50SGFuZGxlci5oCkBAIC0zMTksNiArMzE5LDcgQEAgcHVibGljOgogI2VuZGlmCiAKICAgICBi
b29sIHVzZUhhbmRDdXJzb3IoTm9kZSosIGJvb2wgaXNPdmVyTGluaywgYm9vbCBzaGlmdEtleSk7
CisgICAgdm9pZCB1cGRhdGVDdXJzb3JJZk5lZWRlZCgpOwogICAgIHZvaWQgdXBkYXRlQ3Vyc29y
KCk7CiAKICAgICBib29sIGlzSGFuZGxpbmdXaGVlbEV2ZW50KCkgY29uc3QgeyByZXR1cm4gbV9p
c0hhbmRsaW5nV2hlZWxFdmVudDsgfQpAQCAtMzc1LDcgKzM3Niw2IEBAIHByaXZhdGU6CiAgICAg
dm9pZCB1cGRhdGVDdXJzb3IoRnJhbWVWaWV3JiwgY29uc3QgSGl0VGVzdFJlc3VsdCYsIGJvb2wg
c2hpZnRLZXkpOwogCiAgICAgdm9pZCBob3ZlclRpbWVyRmlyZWQoKTsKLSAgICB2b2lkIGN1cnNv
clVwZGF0ZVRpbWVyRmlyZWQoKTsKIAogICAgIGJvb2wgbG9naWNhbFNjcm9sbE92ZXJmbG93KFNj
cm9sbExvZ2ljYWxEaXJlY3Rpb24sIFNjcm9sbEdyYW51bGFyaXR5LCBOb2RlKiBzdGFydGluZ05v
ZGUgPSBudWxscHRyKTsKICAgICAKQEAgLTUzMyw3ICs1MzMsNyBAQCBwcml2YXRlOgogI2VuZGlm
CiAKICAgICBUaW1lciBtX2hvdmVyVGltZXI7Ci0gICAgVGltZXIgbV9jdXJzb3JVcGRhdGVUaW1l
cjsKKyAgICBib29sIG1fc2NoZWR1bGVkQ3Vyc29yVXBkYXRlIHsgZmFsc2UgfTsKIAogI2lmIFBM
QVRGT1JNKE1BQykKICAgICBUaW1lciBtX2NsZWFyTGF0Y2hpbmdTdGF0ZVRpbWVyOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGFnZS5jcHAKaW5kZXggODc2ZmE3MTI5NTc4MDAxZDY4ZTQwM2JjNzA0NGIyMWZhMGIwMzRlYi4u
YWU3OTQ0NGQ2NTQzZjM2MzY3NGI0NTVmZDRmYjAyMjk5ZDlmMTQxMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2Uu
Y3BwCkBAIC0xMzYyLDYgKzEzNjIsMTAgQEAgdm9pZCBQYWdlOjp1cGRhdGVSZW5kZXJpbmcoKQog
CiAgICAgLy8gRmx1c2ggYXV0b2ZvY3VzIGNhbmRpZGF0ZXMKIAorICAgIGZvckVhY2hEb2N1bWVu
dChbXSAoRG9jdW1lbnQmIGRvY3VtZW50KSB7CisgICAgICAgIGRvY3VtZW50LnVwZGF0ZUN1cnNv
cklmTmVlZGVkKCk7CisgICAgfSk7CisKICAgICBmb3JFYWNoRG9jdW1lbnQoW10gKERvY3VtZW50
JiBkb2N1bWVudCkgewogICAgICAgICBkb2N1bWVudC5ydW5SZXNpemVTdGVwcygpOwogICAgIH0p
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCmluZGV4IDNlMzRhY2E1ZmQ4YWI0OTY5M2NiODBlY2JkNjJiOTU0Zjk1MTI3YjQuLjc5NGMy
MWMxMDM3NDJmMjlkNDkzOTY1NTRjM2JhOWU1ODliMzQ5ODIgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBA
QAorMjAyMC0wNS0xNCAgQW50b2luZSBRdWludCAgPGdyYW91dHNAYXBwbGUuY29tPgorCisgICAg
ICAgIEN1cnNvciBzaG91bGQgbm90IHVwZGF0ZSBvbiBhIDIwbXMgdGltZXIKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxMTg4NAorICAgICAgICA8cmRh
cjovL3Byb2JsZW0vNjMyMjAzNjg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVXBkYXRlIGEgKGZsYWt5KSB0ZXN0IHRvIG5vdCB1c2Ugc2V0VGltZW91
dCgpIHRvIHRlc3QgYSBjdXJzb3IgY2hhbmdlIGFuZCBpbnN0ZWFkIHVzZSByZXF1ZXN0QW5pbWF0
aW9uRnJhbWUoKQorICAgICAgICBzaW5jZSBjdXJzb3IgdXBkYXRlcyBhcmUgbm93IGd1YXJhbnRl
ZWQgdG8gYmUgcnVuIGJlZm9yZSB0aGUgbmV4dCByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKSBjYWxs
YmFjay4KKworICAgICAgICAqIGZhc3QvZXZlbnRzL21vdXNlLWN1cnNvci1uby1tb3VzZW1vdmUu
aHRtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIw
MjAtMDUtMTMgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAg
ICAgICBmYXN0L3RleHQvbXVsdGlwbGUtY29kZXVuaXQtdmVydGljYWwtdXByaWdodC5odG1sIGlz
IGZhaWxpbmcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1cnNv
ci1uby1tb3VzZW1vdmUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1cnNv
ci1uby1tb3VzZW1vdmUuaHRtbAppbmRleCBjMDcyMGE0OWViMTdmYmUwODg4MDg0M2Q2YTFiMjlm
ODNlYmMwMDdkLi5jMTc2MzkwY2I3NmFjNDE5M2I2NDNkZDNmMGNiYjkyZDRlMjVjOGM5IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3Itbm8tbW91c2Vtb3Zl
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLW5vLW1vdXNl
bW92ZS5odG1sCkBAIC0xNCw3ICsxNCw2IEBACiA8YnIvPgogPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+CiA8c2NyaXB0PgotdmFyIENVUlNPUl9VUERBVEVfREVMQVkgPSA1MDsKIAogZGVzY3JpcHRp
b24oIlRlc3QgdGhhdCB0aGVyZSBpcyBubyBtb3VzZW1vdmUgZXZlbnQgZmlyZWQgd2hlbiBjaGFu
Z2luZyBjdXJzb3IuIik7CiAKQEAgLTI4LDggKzI3LDEyIEBAIGlmICh3aW5kb3cudGVzdFJ1bm5l
cikgewogICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKIH0KIAotLy8gQ2FuJ3QgZG8g
YW55dGhpbmcgdXNlZnVsIGhlcmUgd2l0aG91dCBldmVudFNlbmRlcgotaWYgKHdpbmRvdy5ldmVu
dFNlbmRlcikgeworKGFzeW5jIGZ1bmN0aW9uKCkKK3sKKyAgICAvLyBDYW4ndCBkbyBhbnl0aGlu
ZyB1c2VmdWwgaGVyZSB3aXRob3V0IGV2ZW50U2VuZGVyCisgICAgaWYgKCF3aW5kb3cuZXZlbnRT
ZW5kZXIpCisgICAgICAgIHJldHVybjsKKwogICAgIHZhciBub2RlID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ3RhcmdldCcpOwogICAgIGRlYnVnKCdURVNUIENBU0U6ICcgKyBub2RlLnRleHRD
b250ZW50KTsKICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyhub2RlLm9mZnNldExlZnQgKyAz
LCBub2RlLm9mZnNldFRvcCArIDMpOwpAQCAtMzksMTcgKzQyLDE3IEBAIGlmICh3aW5kb3cuZXZl
bnRTZW5kZXIpIHsKICAgICAgICAgZmluaXNoSlNUZXN0KCk7CiAgICAgfSk7CiAgICAgbm9kZS5z
dHlsZS5jdXJzb3IgPSAnaGVscCc7Ci0gICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKLSAgICAg
ICAgZGVidWcoJ0N1cnNvciBJbmZvOiAnICsgd2luZG93LmludGVybmFscy5nZXRDdXJyZW50Q3Vy
c29ySW5mbygpKTsKLSAgICAgICAgZGVidWcoJycpOwotICAgIH0sIENVUlNPUl9VUERBVEVfREVM
QVkpOworCisgICAgLy8gQ3Vyc29yIHdpbGwgYmUgdXBkYXRlZCBkdXJpbmcgdGhlIG5leHQgYW5p
bWF0aW9uIGZyYW1lLgorICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlcXVlc3RBbmltYXRpb25GcmFt
ZSk7CisgICAgZGVidWcoJ0N1cnNvciBJbmZvOiAnICsgd2luZG93LmludGVybmFscy5nZXRDdXJy
ZW50Q3Vyc29ySW5mbygpKTsKKyAgICBkZWJ1ZygnJyk7CiAKICAgICAvLyBHaXZlIHNvbWUgdGlt
ZSBmb3IgdGhlIGNoYW5nZSB0byByZXNvbHZlLiBGYWtlIG1vdXNlbW92ZSBldmVudCB0aGF0IGNh
dXNlZCBidWcsIGlzIHVzaW5nIGEgdGltZXIKLSAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewot
ICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdC1jb250YWluZXInKS5zdHlsZS5k
aXNwbGF5ID0gJ25vbmUnOwotICAgICAgICBmaW5pc2hKU1Rlc3QoKTsKLSAgICB9LCAxNTApOwot
fQorICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gc2V0VGltZW91dChyZXNvbHZlLCAx
MDApKTsKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndGVzdC1jb250YWluZXInKS5zdHls
ZS5kaXNwbGF5ID0gJ25vbmUnOworICAgIGZpbmlzaEpTVGVzdCgpOworfSkoKTsKIAogPC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3Rh
dGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKaW5k
ZXggZjI3YjliZTI1OWUyYmVhNGQ5N2EwOWQ5ZTNmNjhjOTkzOGIyMzIwZS4uY2RkYjliYTcyNDNi
NmU2YmQyMTQwZWEzNTZlZDEwNWE2N2JmN2I4YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy13azEvVGVzdEV4cGVjdGF0aW9ucwpAQCAtOTM2LDggKzkzNiw2IEBAIHdlYmtpdC5vcmcv
Yi8yMDkxODIgWyBEZWJ1ZyBdIGluc3BlY3Rvci9kZWJ1Z2dlci9zZXRTaG91bGRCbGFja2JveFVS
TC5odG1sIFsgUGFzCiAKIHdlYmtpdC5vcmcvYi8yMDkzNTMgWyBSZWxlYXNlIF0gbWVkaWEvdmlk
ZW8tYmFja2dyb3VuZC10YWItcGxheWJhY2suaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiAKLXdlYmtp
dC5vcmcvYi8yMDk0OTQgZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLW5vLW1vdXNlbW92ZS5odG1s
IFsgUGFzcyBGYWlsdXJlIF0KLQogd2Via2l0Lm9yZy9iLzIwOTU2MCBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3hoci9zZW5kLXJlc3BvbnNlLXVwbG9hZC1ldmVudC1wcm9ncmVzcy5o
dG0gWyBQYXNzIENyYXNoIEZhaWx1cmUgXQogCiB3ZWJraXQub3JnL2IvMjA5ODgyIFsgRGVidWcg
XSBpbnNwZWN0b3IvcGFnZS9vdmVycmlkZVNldHRpbmctSUNFQ2FuZGlkYXRlRmlsdGVyaW5nRW5h
YmxlZC5odG1sIFsgUGFzcyBUaW1lb3V0IF0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>399371</attachid>
            <date>2020-05-14 09:34:40 -0700</date>
            <delta_ts>2020-05-14 10:59:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211884-20200514183439.patch</filename>
            <type>text/plain</type>
            <size>3474</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjYxNjg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGE5NzlkN2Y3MTJlMzQy
YWY2OTdmMzI4MmY1MzI1MDcwZDM0MTdiNy4uMmQ2NTFhNDM5MWQwYjhiY2FmZjRhMWEzZWNlYzg2
OTU5YjQ4MmZlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTA1LTE0ICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CisKKyAgICAgICAgQ3Vyc29yIHNob3VsZCBu
b3QgdXBkYXRlIG9uIGEgMjBtcyB0aW1lcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjExODg0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS82MzIyMDM2
OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRh
dGUgY3Vyc29ycyBhZnRlciByQUYgY2FsbGJhY2tzIGhhdmUgYmVlbiBzZXJ2aWVkIGFuZCBsYXlv
dXQgaGFzIGJlZW4gdXBkYXRlZC4KKworICAgICAgICAqIHBhZ2UvUGFnZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpQYWdlOjp1cGRhdGVSZW5kZXJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6UGFn
ZTo6ZG9BZnRlclVwZGF0ZVJlbmRlcmluZyk6CisKIDIwMjAtMDUtMTQgIEFudG9pbmUgUXVpbnQg
IDxncmFvdXRzQGFwcGxlLmNvbT4KIAogICAgICAgICBDdXJzb3Igc2hvdWxkIG5vdCB1cGRhdGUg
b24gYSAyMG1zIHRpbWVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlLmNwcAppbmRleCA0YWJjN2U3ZTg4M2VmNmVhNzRm
NDJlOGNiODZhNWViOTJmNWI0YzI0Li4wN2JlYjRlNjZlMjgwYzJhZGFkOGEwMjBmZjA3ZTgxYWJh
NDM4ZGZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5jcHAKQEAgLTEzNjMsMTEgKzEzNjMsNiBAQCB2b2lkIFBh
Z2U6OnVwZGF0ZVJlbmRlcmluZygpCiAKICAgICAvLyBGbHVzaCBhdXRvZm9jdXMgY2FuZGlkYXRl
cwogCi0gICAgZm9yRWFjaERvY3VtZW50KFtdIChEb2N1bWVudCYgZG9jdW1lbnQpIHsKLSAgICAg
ICAgaWYgKGF1dG8qIGZyYW1lID0gZG9jdW1lbnQuZnJhbWUoKSkKLSAgICAgICAgICAgIGZyYW1l
LT5ldmVudEhhbmRsZXIoKS51cGRhdGVDdXJzb3JJZk5lZWRlZCgpOwotICAgIH0pOwotCiAgICAg
Zm9yRWFjaERvY3VtZW50KFtdIChEb2N1bWVudCYgZG9jdW1lbnQpIHsKICAgICAgICAgZG9jdW1l
bnQucnVuUmVzaXplU3RlcHMoKTsKICAgICB9KTsKQEAgLTE0MjUsNiArMTQyMCwxMSBAQCB2b2lk
IFBhZ2U6OmRvQWZ0ZXJVcGRhdGVSZW5kZXJpbmcoKQogICAgIC8vIENvZGUgaGVyZSBzaG91bGQg
ZG8gb25jZS1wZXItZnJhbWUgd29yayB0aGF0IG5lZWRzIHRvIGJlIGRvbmUgYmVmb3JlIHBhaW50
aW5nLCBhbmQgcmVxdWlyZXMKICAgICAvLyBsYXlvdXQgdG8gYmUgdXAtdG8tZGF0ZS4gSXQgc2hv
dWxkIG5vdCBydW4gc2NyaXB0LCB0cmlnZ2VyIGxheW91dCwgb3IgZGlydHkgbGF5b3V0LgogCisg
ICAgZm9yRWFjaERvY3VtZW50KFtdIChEb2N1bWVudCYgZG9jdW1lbnQpIHsKKyAgICAgICAgaWYg
KGF1dG8qIGZyYW1lID0gZG9jdW1lbnQuZnJhbWUoKSkKKyAgICAgICAgICAgIGZyYW1lLT5ldmVu
dEhhbmRsZXIoKS51cGRhdGVDdXJzb3JJZk5lZWRlZCgpOworICAgIH0pOworCiAgICAgZm9yRWFj
aERvY3VtZW50KFtdIChEb2N1bWVudCYgZG9jdW1lbnQpIHsKICAgICAgICAgZG9jdW1lbnQuZW5x
dWV1ZVBhaW50VGltaW5nRW50cnlJZk5lZWRlZCgpOwogICAgIH0pOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGJiZDBlZGE3
N2YwMzVjY2I1NWRmNGM0NGM3NTllZDVhZGQzYmI5Y2MuLmYzMWVkYTFkZTllMGMyODc0MTFmZDI4
Nzc3YmEyNDhlMGQyYzdkOGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAyMC0wNS0xNCAgQW50
b2luZSBRdWludCAgPGdyYW91dHNAYXBwbGUuY29tPgorCisgICAgICAgIEN1cnNvciBzaG91bGQg
bm90IHVwZGF0ZSBvbiBhIDIwbXMgdGltZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIxMTg4NAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjMyMjAz
Njg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2lu
Y2UgY3Vyc29yIHVwZGF0ZSBoYXBwZW5zIGluIFBhZ2U6OnVwZGF0ZVJlbmRlcmluZygpIGFmdGVy
IHJBRiBjYWxsYmFja3MgaGF2ZSBiZWVuIHNlcnZpY2VkLAorICAgICAgICB3YWl0IHVudGlsIHRo
ZSBuZXh0IHJ1biBsb29wIGFmdGVyIGFuIGFuaW1hdGlvbiBmcmFtZSB0byBjaGVjayB0aGUgbmV3
IGN1cnNvci4KKworICAgICAgICAqIGZhc3QvZXZlbnRzL21vdXNlLWN1cnNvci1uby1tb3VzZW1v
dmUuaHRtbDoKKwogMjAyMC0wNS0xNCAgQW50b2luZSBRdWludCAgPGdyYW91dHNAYXBwbGUuY29t
PgogCiAgICAgICAgIEN1cnNvciBzaG91bGQgbm90IHVwZGF0ZSBvbiBhIDIwbXMgdGltZXIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1cnNvci1uby1tb3VzZW1v
dmUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL21vdXNlLWN1cnNvci1uby1tb3VzZW1v
dmUuaHRtbAppbmRleCBjMTc2MzkwY2I3NmFjNDE5M2I2NDNkZDNmMGNiYjkyZDRlMjVjOGM5Li4z
Y2Q1NzE2NjcyNTZlZmE3MzI4ZDM5NDY4YWZkNTgxNWYxZjlhN2Q1IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2V2ZW50cy9tb3VzZS1jdXJzb3Itbm8tbW91c2Vtb3ZlLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvbW91c2UtY3Vyc29yLW5vLW1vdXNlbW92ZS5odG1sCkBA
IC00Myw4ICs0Myw5IEBAIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgIH0pOwogICAgIG5v
ZGUuc3R5bGUuY3Vyc29yID0gJ2hlbHAnOwogCi0gICAgLy8gQ3Vyc29yIHdpbGwgYmUgdXBkYXRl
ZCBkdXJpbmcgdGhlIG5leHQgYW5pbWF0aW9uIGZyYW1lLgorICAgIC8vIEN1cnNvciB3aWxsIGJl
IHVwZGF0ZWQgaW1tZWRpYXRlbHkgYWZ0ZXIgdGhlIG5leHQgYW5pbWF0aW9uIGZyYW1lLgogICAg
IGF3YWl0IG5ldyBQcm9taXNlKHJlcXVlc3RBbmltYXRpb25GcmFtZSk7CisgICAgYXdhaXQgbmV3
IFByb21pc2Uoc2V0VGltZW91dCk7CiAgICAgZGVidWcoJ0N1cnNvciBJbmZvOiAnICsgd2luZG93
LmludGVybmFscy5nZXRDdXJyZW50Q3Vyc29ySW5mbygpKTsKICAgICBkZWJ1ZygnJyk7CiAK
</data>
<flag name="review"
          id="414796"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>