<?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>151910</bug_id>
          
          <creation_ts>2015-12-04 21:55:59 -0800</creation_ts>
          <short_desc>Web Inspector: Comparisons in setters should use the massaged value (&quot; = x || 0/false/null/etc&quot;)</short_desc>
          <delta_ts>2015-12-06 22:15:49 -0800</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 Inspector</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Matt Baker">mattbaker</reporter>
          <assigned_to name="Matt Baker">mattbaker</assigned_to>
          <cc>bburg</cc>
    
    <cc>commit-queue</cc>
    
    <cc>graouts</cc>
    
    <cc>hi</cc>
    
    <cc>joepeck</cc>
    
    <cc>mattbaker</cc>
    
    <cc>nvasilyev</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1146599</commentid>
    <comment_count>0</comment_count>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2015-12-04 21:55:59 -0800</bug_when>
    <thetext>* SUMMARY
Comparisons in setters should use the massaged value (&quot; = x || 0/false/null/etc&quot;). The following idiom is being used in a number of places:

set foo(x)
{
    if (this._x === x)
        return;

    this._x = x || &lt;default&gt;; // Typical default values: 0|false|null|{}|[]
    this.needsLayout();       // Or another method with side effects
}

At the very least this will result in unnecessary work being done when the default value is passed in. At worst, this can cause an infinite recursion when a view with such a property attempts to set it to the default value during layout. The pattern should be changed to:

set foo(x)
{
    x = x || &lt;default&gt;;
    if (this._x === x)
        return;

    this._x = x;
    this.needsLayout();
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1146600</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-12-04 21:56:11 -0800</bug_when>
    <thetext>&lt;rdar://problem/23772319&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1146602</commentid>
    <comment_count>2</comment_count>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2015-12-04 22:05:21 -0800</bug_when>
    <thetext>(In reply to comment #0)
&gt; * SUMMARY
&gt; Comparisons in setters should use the massaged value (&quot; = x ||
&gt; 0/false/null/etc&quot;). The following idiom is being used in a number of places:
&gt; 
&gt; set foo(x)
&gt; {
&gt;     if (this._x === x)
&gt;         return;
&gt; 
&gt;     this._x = x || &lt;default&gt;; // Typical default values: 0|false|null|{}|[]
&gt;     this.needsLayout();       // Or another method with side effects
&gt; }
&gt; 
&gt; At the very least this will result in unnecessary work being done when the
&gt; default value is passed in.

This should read:

...this will result in unnecessary work when a falsy value not equal to the default is passed in, and the current value is equal to the default.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1146608</commentid>
    <comment_count>3</comment_count>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2015-12-04 22:34:20 -0800</bug_when>
    <thetext>It isn&apos;t necessary to make the change when the default is NaN, since NaN !== NaN.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1146610</commentid>
    <comment_count>4</comment_count>
      <attachid>266708</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2015-12-04 22:51:51 -0800</bug_when>
    <thetext>Created attachment 266708
[Patch] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1146617</commentid>
    <comment_count>5</comment_count>
      <attachid>266710</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2015-12-05 00:15:41 -0800</bug_when>
    <thetext>Created attachment 266710
[Patch] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1146619</commentid>
    <comment_count>6</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2015-12-05 00:33:00 -0800</bug_when>
    <thetext>So quick question on this: if we used a default argument instead (e.g. function(x = &quot;&quot;) ) would the default value (&quot;&quot;) get set whenever the function is called with a falsy value, or only if its called with NO values?

function()      -  x = &quot;&quot;
function(null)  -  is x = &quot;&quot; or x = null?

Just double checking that I understand how the spec works :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1146630</commentid>
    <comment_count>7</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2015-12-05 06:52:14 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; So quick question on this: if we used a default argument instead (e.g.
&gt; function(x = &quot;&quot;) ) would the default value (&quot;&quot;) get set whenever the
&gt; function is called with a falsy value, or only if its called with NO values?
&gt; 
&gt; function()      -  x = &quot;&quot;
&gt; function(null)  -  is x = &quot;&quot; or x = null?
&gt; 
&gt; Just double checking that I understand how the spec works :)

Sadly default values would not help here. The default is only used if the argument is excluded and maybe undefined is passed, not sure on that part though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1146632</commentid>
    <comment_count>8</comment_count>
      <attachid>266710</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2015-12-05 07:01:06 -0800</bug_when>
    <thetext>Comment on attachment 266710
[Patch] Proposed Fix

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

&gt; Source/WebInspectorUI/UserInterface/Models/TimelineMarker.js:48
&gt; +        x = x || 0;

While we are at it, it might be best to assert x is a number.

&gt; Source/WebInspectorUI/UserInterface/Models/TimelineMarker.js:49
&gt;          if (this._time === x)

If put a new line between.

&gt; Source/WebInspectorUI/UserInterface/Views/DataGrid.js:1328
&gt; +        x = x || false;

Similarly, we might want to just do: x = !!x; for the booleans. That way we know the value is only true or false, not false and anything else.

&gt; Source/WebInspectorUI/UserInterface/Views/DataGrid.js:1414
&gt; +        x = x || {};

Could assert x is an object.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1146647</commentid>
    <comment_count>9</comment_count>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2015-12-05 12:44:13 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #6)
&gt; &gt; So quick question on this: if we used a default argument instead (e.g.
&gt; &gt; function(x = &quot;&quot;) ) would the default value (&quot;&quot;) get set whenever the
&gt; &gt; function is called with a falsy value, or only if its called with NO values?
&gt; &gt; 
&gt; &gt; function()      -  x = &quot;&quot;
&gt; &gt; function(null)  -  is x = &quot;&quot; or x = null?
&gt; &gt; 
&gt; &gt; Just double checking that I understand how the spec works :)
&gt; 
&gt; Sadly default values would not help here. The default is only used if the
&gt; argument is excluded and maybe undefined is passed, not sure on that part
&gt; though.

A parameter is initialized to the default value when no value or undefined is passed in. This isn&apos;t equivalent to the &quot;x || 0&quot; style being used now, but it may actually be preferable. For example, with the current method it&apos;s impossible to set TimerRuler&apos;s duration to zero, as 0 || NaN will evaluate to NaN. We should evaluate these cases and see if default parameters would be appropriate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1146649</commentid>
    <comment_count>10</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2015-12-05 14:11:59 -0800</bug_when>
    <thetext>Do default parameters even work for setters? Only in x.foo = undefined? It&apos;s not like you can call a setter with no arguments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1146651</commentid>
    <comment_count>11</comment_count>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2015-12-05 15:03:16 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; Do default parameters even work for setters? Only in x.foo = undefined? It&apos;s
&gt; not like you can call a setter with no arguments.

Probably not! Instead of massaging the input maybe we should just assert that the value is of the expected type, so we don&apos;t miss any subtle bugs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1146691</commentid>
    <comment_count>12</comment_count>
      <attachid>266710</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2015-12-06 12:40:57 -0800</bug_when>
    <thetext>Comment on attachment 266710
[Patch] Proposed Fix

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

&gt;&gt; Source/WebInspectorUI/UserInterface/Views/DataGrid.js:1328
&gt;&gt; +        x = x || false;
&gt; 
&gt; Similarly, we might want to just do: x = !!x; for the booleans. That way we know the value is only true or false, not false and anything else.

I wonder why we&apos;re being so paranoid with these inputs. It makes sense to check inputs in certain cases, such as data coming across the protocol, but here it seems like overkill. Just a thought.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1146745</commentid>
    <comment_count>13</comment_count>
      <attachid>266749</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2015-12-06 20:38:53 -0800</bug_when>
    <thetext>Created attachment 266749
[Patch] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1146756</commentid>
    <comment_count>14</comment_count>
      <attachid>266749</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-12-06 22:15:46 -0800</bug_when>
    <thetext>Comment on attachment 266749
[Patch] Proposed Fix

Clearing flags on attachment: 266749

Committed r193612: &lt;http://trac.webkit.org/changeset/193612&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1146757</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-12-06 22:15:49 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>266708</attachid>
            <date>2015-12-04 22:51:51 -0800</date>
            <delta_ts>2015-12-05 00:15:39 -0800</delta_ts>
            <desc>[Patch] Proposed Fix</desc>
            <filename>bug-151910-20151204225125.patch</filename>
            <type>text/plain</type>
            <size>15807</size>
            <attacher name="Matt Baker">mattbaker</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkzNTEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCBl
MTlhMTliNDNhOThiOGU2YTY4MzUxM2I0YmM4ZWFjMWI1NTZjNDdjLi4yY2I5YzMwMjMzZjM2MDI4
NDYyODE4NmI1NGI1NzBlOWZiMTk0NWFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw1NCBAQAorMjAxNS0xMi0wNCAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5jb20+
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQ29tcGFyaXNvbnMgaW4gc2V0dGVycyBzaG91bGQg
dXNlIHRoZSBtYXNzYWdlZCB2YWx1ZSAoIiA9IHggfHwgMC9mYWxzZS9udWxsL2V0YyIpCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTE5MTAKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGVkIHNldHRl
cnMgd2l0aCBkZWZhdWx0IHZhbHVlcyB0byBjb252ZXJ0IGZhbHN5IGlucHV0cyB0byB0aGUgZGVm
YXVsdCB2YWx1ZQorICAgICAgICBiZWZvcmUgdGVzdGluZyBhZ2FpbnN0IHRoZSBjdXJyZW50IHZh
bHVlLiBUaGlzIGV4Y2x1ZGVzIHNldHRlcnMgdXNpbmcgYW4gb2JqZWN0CisgICAgICAgIGxpdGVy
YWwgb3IgTmFOIGFzIHRoZSBkZWZhdWx0LgorCisgICAgICAgICogVXNlckludGVyZmFjZS9Nb2Rl
bHMvVGltZWxpbmVNYXJrZXIuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVNYXJr
ZXIucHJvdG90eXBlLnNldCB0aW1lKToKKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3Mv
RGF0YUdyaWQuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGF0YUdyaWROb2RlLnByb3RvdHlw
ZS5zZXQgaGlkZGVuKToKKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvR2VuZXJhbFRy
ZWVFbGVtZW50LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkdlbmVyYWxUcmVlRWxlbWVudC5w
cm90b3R5cGUuc2V0IG1haW5UaXRsZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuR2VuZXJhbFRy
ZWVFbGVtZW50LnByb3RvdHlwZS5zZXQgc3VidGl0bGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LkdlbmVyYWxUcmVlRWxlbWVudC5wcm90b3R5cGUuc2V0IHN0YXR1cyk6CisKKyAgICAgICAgKiBV
c2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lT3ZlcnZpZXcuanM6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuVGltZWxpbmVPdmVydmlldy5wcm90b3R5cGUuc2V0IHN0YXJ0VGltZSk6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldy5wcm90b3R5cGUuc2V0IGN1cnJlbnRUaW1l
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3LnByb3RvdHlwZS5zZXQg
ZW5kVGltZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldy5wcm90b3R5
cGUuc2V0IHNjcm9sbFN0YXJ0VGltZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVP
dmVydmlldy5wcm90b3R5cGUuc2V0IHNlbGVjdGlvblN0YXJ0VGltZSk6CisKKyAgICAgICAgKiBV
c2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lT3ZlcnZpZXdHcmFwaC5qczoKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3R3JhcGgucHJvdG90eXBlLnNldCB6ZXJvVGltZSk6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlld0dyYXBoLnByb3RvdHlwZS5z
ZXQgc3RhcnRUaW1lKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3R3Jh
cGgucHJvdG90eXBlLnNldCBlbmRUaW1lKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGlu
ZU92ZXJ2aWV3R3JhcGgucHJvdG90eXBlLnNldCBjdXJyZW50VGltZSk6CisKKyAgICAgICAgKiBV
c2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUnVsZXIuanM6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuVGltZWxpbmVSdWxlci5wcm90b3R5cGUuc2V0IGFsbG93c0NsaXBwZWRMYWJlbHMpOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUnVsZXIucHJvdG90eXBlLnNldCBmb3JtYXRMYWJl
bENhbGxiYWNrKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVJ1bGVyLnByb3RvdHlw
ZS5zZXQgYWxsb3dzVGltZVJhbmdlU2VsZWN0aW9uKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5U
aW1lbGluZVJ1bGVyLnByb3RvdHlwZS5zZXQgemVyb1RpbWUpOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLlRpbWVsaW5lUnVsZXIucHJvdG90eXBlLnNldCBzdGFydFRpbWUpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLlRpbWVsaW5lUnVsZXIucHJvdG90eXBlLnNldCBlbmRUaW1lKToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5UaW1lbGluZVJ1bGVyLnByb3RvdHlwZS5zZXQgc2Vjb25kc1BlclBpeGVs
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVJ1bGVyLnByb3RvdHlwZS5zZXQgc2Vs
ZWN0aW9uU3RhcnRUaW1lKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVJ1bGVyLnBy
b3RvdHlwZS5zZXQgc2VsZWN0aW9uRW5kVGltZSk6CisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNl
L1ZpZXdzL1RpbWVsaW5lVmlldy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVZp
ZXcucHJvdG90eXBlLnNldCB6ZXJvVGltZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxp
bmVWaWV3LnByb3RvdHlwZS5zZXQgc3RhcnRUaW1lKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5U
aW1lbGluZVZpZXcucHJvdG90eXBlLnNldCBlbmRUaW1lKToKKwogMjAxNS0xMi0wNCAgQ29tbWl0
IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwg
cm9sbGluZyBvdXQgcjE5MzQ4Ni4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL01vZGVscy9UaW1lbGluZU1hcmtlci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9UaW1lbGluZU1hcmtlci5qcwppbmRleCA5MmRmMzEy
YmRhNDQ3Y2VmMmFjMTI1ZTg4ODRiOTMyZThiZDAxZGU4Li44YzkxYmI0MWJiNDgyMzUxMGNiZmEw
ODI2NmVhOTM1MzA5ZTgzM2NjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9Nb2RlbHMvVGltZWxpbmVNYXJrZXIuanMKKysrIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1RpbWVsaW5lTWFya2VyLmpzCkBAIC00NSwxMCAr
NDUsMTEgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lTWFya2VyID0gY2xhc3MgVGltZWxpbmVNYXJr
ZXIgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZWN0CiAKICAgICBzZXQgdGltZSh4KQogICAgIHsK
KyAgICAgICAgeCA9IHggfHwgMDsKICAgICAgICAgaWYgKHRoaXMuX3RpbWUgPT09IHgpCiAgICAg
ICAgICAgICByZXR1cm47CiAKLSAgICAgICAgdGhpcy5fdGltZSA9IHggfHwgMDsKKyAgICAgICAg
dGhpcy5fdGltZSA9IHg7CiAKICAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMo
V2ViSW5zcGVjdG9yLlRpbWVsaW5lTWFya2VyLkV2ZW50LlRpbWVDaGFuZ2VkKTsKICAgICB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9EYXRh
R3JpZC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RhdGFH
cmlkLmpzCmluZGV4IGEwMjE5ZjY2MzJlZDVhMjRlOTMxZWY0YTRiZGExNjVkZDY0NjY1YWEuLmEx
MDQwNWIyNDUwMDcyMTFmYmQ5YWMwMmJlZTYzYmMzMmE3ZGYzZTkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RhdGFHcmlkLmpzCisrKyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RhdGFHcmlkLmpzCkBAIC0x
MzI1LDEwICsxMzI1LDExIEBAIFdlYkluc3BlY3Rvci5EYXRhR3JpZE5vZGUgPSBjbGFzcyBEYXRh
R3JpZE5vZGUgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZWN0CiAKICAgICBzZXQgaGlkZGVuKHgp
CiAgICAgewotICAgICAgICBpZiAoeCA9PT0gdGhpcy5faGlkZGVuKQorICAgICAgICB4ID0geCB8
fCBmYWxzZTsKKyAgICAgICAgaWYgKHRoaXMuX2hpZGRlbiA9PT0geCkKICAgICAgICAgICAgIHJl
dHVybjsKIAotICAgICAgICB0aGlzLl9oaWRkZW4gPSB4IHx8IGZhbHNlOworICAgICAgICB0aGlz
Ll9oaWRkZW4gPSB4OwogICAgICAgICBpZiAodGhpcy5fZWxlbWVudCkKICAgICAgICAgICAgIHRo
aXMuX2VsZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZSgiaGlkZGVuIiwgdGhpcy5faGlkZGVuKTsKICAg
ICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9HZW5lcmFsVHJlZUVsZW1lbnQuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9HZW5lcmFsVHJlZUVsZW1lbnQuanMKaW5kZXggMDAwYzg0NmRlYTFiMmYxZDI0
NDA4YWRmZmE2MTRhNzVjZmUwODM1OC4uYjM1ZDY1MDJmZjA3MjA2NjM2OGYwZmZlZDE0NDkyMTJh
NjU5MGJmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvR2VuZXJhbFRyZWVFbGVtZW50LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL0dlbmVyYWxUcmVlRWxlbWVudC5qcwpAQCAtMTUzLDcgKzE1Mywx
MSBAQCBXZWJJbnNwZWN0b3IuR2VuZXJhbFRyZWVFbGVtZW50ID0gY2xhc3MgR2VuZXJhbFRyZWVF
bGVtZW50IGV4dGVuZHMgV2ViSW5zcGVjdG9yLgogCiAgICAgc2V0IG1haW5UaXRsZSh4KQogICAg
IHsKLSAgICAgICAgdGhpcy5fbWFpblRpdGxlID0geCB8fCAiIjsKKyAgICAgICAgeCA9IHggfHwg
IiI7CisgICAgICAgIGlmICh0aGlzLl9tYWluVGl0bGUgPT09IHgpCisgICAgICAgICAgICByZXR1
cm47CisKKyAgICAgICAgdGhpcy5fbWFpblRpdGxlID0geDsKICAgICAgICAgdGhpcy5fdXBkYXRl
VGl0bGVFbGVtZW50cygpOwogICAgICAgICB0aGlzLmRpZENoYW5nZSgpOwogICAgICAgICB0aGlz
LmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuR2VuZXJhbFRyZWVFbGVtZW50
LkV2ZW50Lk1haW5UaXRsZURpZENoYW5nZSk7CkBAIC0xNjYsNyArMTcwLDExIEBAIFdlYkluc3Bl
Y3Rvci5HZW5lcmFsVHJlZUVsZW1lbnQgPSBjbGFzcyBHZW5lcmFsVHJlZUVsZW1lbnQgZXh0ZW5k
cyBXZWJJbnNwZWN0b3IuCiAKICAgICBzZXQgc3VidGl0bGUoeCkKICAgICB7Ci0gICAgICAgIHRo
aXMuX3N1YnRpdGxlID0geCB8fCAiIjsKKyAgICAgICAgeCA9IHggfHwgIiI7CisgICAgICAgIGlm
ICh0aGlzLl9zdWJ0aXRsZSA9PT0geCkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICB0
aGlzLl9zdWJ0aXRsZSA9IHg7CiAgICAgICAgIHRoaXMuX3VwZGF0ZVRpdGxlRWxlbWVudHMoKTsK
ICAgICAgICAgdGhpcy5kaWRDaGFuZ2UoKTsKICAgICB9CkBAIC0xNzgsNiArMTg2LDcgQEAgV2Vi
SW5zcGVjdG9yLkdlbmVyYWxUcmVlRWxlbWVudCA9IGNsYXNzIEdlbmVyYWxUcmVlRWxlbWVudCBl
eHRlbmRzIFdlYkluc3BlY3Rvci4KIAogICAgIHNldCBzdGF0dXMoeCkKICAgICB7CisgICAgICAg
IHggPSB4IHx8ICIiOwogICAgICAgICBpZiAodGhpcy5fc3RhdHVzID09PSB4KQogICAgICAgICAg
ICAgcmV0dXJuOwogCkBAIC0xODYsNyArMTk1LDcgQEAgV2ViSW5zcGVjdG9yLkdlbmVyYWxUcmVl
RWxlbWVudCA9IGNsYXNzIEdlbmVyYWxUcmVlRWxlbWVudCBleHRlbmRzIFdlYkluc3BlY3Rvci4K
ICAgICAgICAgICAgIHRoaXMuX3N0YXR1c0VsZW1lbnQuY2xhc3NOYW1lID0gV2ViSW5zcGVjdG9y
LkdlbmVyYWxUcmVlRWxlbWVudC5TdGF0dXNFbGVtZW50U3R5bGVDbGFzc05hbWU7CiAgICAgICAg
IH0KIAotICAgICAgICB0aGlzLl9zdGF0dXMgPSB4IHx8ICIiOworICAgICAgICB0aGlzLl9zdGF0
dXMgPSB4OwogICAgICAgICB0aGlzLl91cGRhdGVTdGF0dXNFbGVtZW50KCk7CiAgICAgfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1l
bGluZU92ZXJ2aWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvVGltZWxpbmVPdmVydmlldy5qcwppbmRleCAwMWVlNjFiOWVkYjA3ODU3Y2Q3NTY5YjA1ODg3
NGM1NzdjNGExM2RiLi4wZDIwYTFiMzMwYTc1ZDdjZjc1MTdlMjM2MzY0Yzc4YzA2YWYyN2M1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1l
bGluZU92ZXJ2aWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL1RpbWVsaW5lT3ZlcnZpZXcuanMKQEAgLTEwNiwxMCArMTA2LDExIEBAIFdlYkluc3Bl
Y3Rvci5UaW1lbGluZU92ZXJ2aWV3ID0gY2xhc3MgVGltZWxpbmVPdmVydmlldyBleHRlbmRzIFdl
Ykluc3BlY3Rvci5WaWV3CiAKICAgICBzZXQgc3RhcnRUaW1lKHgpCiAgICAgeworICAgICAgICB4
ID0geCB8fCAwOwogICAgICAgICBpZiAodGhpcy5fc3RhcnRUaW1lID09PSB4KQogICAgICAgICAg
ICAgcmV0dXJuOwogCi0gICAgICAgIHRoaXMuX3N0YXJ0VGltZSA9IHggfHwgMDsKKyAgICAgICAg
dGhpcy5fc3RhcnRUaW1lID0geDsKIAogICAgICAgICB0aGlzLm5lZWRzTGF5b3V0KCk7CiAgICAg
fQpAQCAtMTIxLDEwICsxMjIsMTEgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcgPSBj
bGFzcyBUaW1lbGluZU92ZXJ2aWV3IGV4dGVuZHMgV2ViSW5zcGVjdG9yLlZpZXcKIAogICAgIHNl
dCBjdXJyZW50VGltZSh4KQogICAgIHsKKyAgICAgICAgeCA9IHggfHwgMDsKICAgICAgICAgaWYg
KHRoaXMuX2N1cnJlbnRUaW1lID09PSB4KQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAg
IHRoaXMuX2N1cnJlbnRUaW1lID0geCB8fCAwOworICAgICAgICB0aGlzLl9jdXJyZW50VGltZSA9
IHg7CiAgICAgICAgIHRoaXMuX3JldmVhbEN1cnJlbnRUaW1lID0gdHJ1ZTsKIAogICAgICAgICB0
aGlzLm5lZWRzTGF5b3V0KCk7CkBAIC0xNzcsMTAgKzE3OSwxMSBAQCBXZWJJbnNwZWN0b3IuVGlt
ZWxpbmVPdmVydmlldyA9IGNsYXNzIFRpbWVsaW5lT3ZlcnZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0
b3IuVmlldwogCiAgICAgc2V0IGVuZFRpbWUoeCkKICAgICB7CisgICAgICAgIHggPSB4IHx8IDA7
CiAgICAgICAgIGlmICh0aGlzLl9lbmRUaW1lID09PSB4KQogICAgICAgICAgICAgcmV0dXJuOwog
Ci0gICAgICAgIHRoaXMuX2VuZFRpbWUgPSB4IHx8IDA7CisgICAgICAgIHRoaXMuX2VuZFRpbWUg
PSB4OwogCiAgICAgICAgIHRoaXMubmVlZHNMYXlvdXQoKTsKICAgICB9CkBAIC0xOTIsMTAgKzE5
NSwxMSBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldyA9IGNsYXNzIFRpbWVsaW5lT3Zl
cnZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuVmlldwogCiAgICAgc2V0IHNjcm9sbFN0YXJ0VGlt
ZSh4KQogICAgIHsKKyAgICAgICAgeCA9IHggfHwgMDsKICAgICAgICAgaWYgKHRoaXMuX3Njcm9s
bFN0YXJ0VGltZSA9PT0geCkKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICB0aGlzLl9z
Y3JvbGxTdGFydFRpbWUgPSB4IHx8IDA7CisgICAgICAgIHRoaXMuX3Njcm9sbFN0YXJ0VGltZSA9
IHg7CiAKICAgICAgICAgdGhpcy5uZWVkc0xheW91dCgpOwogICAgIH0KQEAgLTIxOSw4ICsyMjMs
MTAgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcgPSBjbGFzcyBUaW1lbGluZU92ZXJ2
aWV3IGV4dGVuZHMgV2ViSW5zcGVjdG9yLlZpZXcKICAgICBzZXQgc2VsZWN0aW9uU3RhcnRUaW1l
KHgpCiAgICAgewogICAgICAgICB4ID0geCB8fCAwOworICAgICAgICBpZiAodGhpcy5fdGltZWxp
bmVSdWxlci5zZWxlY3Rpb25TdGFydFRpbWUgPT09IHgpCisgICAgICAgICAgICByZXR1cm47CiAK
LSAgICAgICAgdmFyIHNlbGVjdGlvbkR1cmF0aW9uID0gdGhpcy5zZWxlY3Rpb25EdXJhdGlvbjsK
KyAgICAgICAgbGV0IHNlbGVjdGlvbkR1cmF0aW9uID0gdGhpcy5zZWxlY3Rpb25EdXJhdGlvbjsK
ICAgICAgICAgdGhpcy5fdGltZWxpbmVSdWxlci5zZWxlY3Rpb25TdGFydFRpbWUgPSB4OwogICAg
ICAgICB0aGlzLl90aW1lbGluZVJ1bGVyLnNlbGVjdGlvbkVuZFRpbWUgPSB4ICsgc2VsZWN0aW9u
RHVyYXRpb247CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvVGltZWxpbmVPdmVydmlld0dyYXBoLmpzIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVPdmVydmlld0dyYXBoLmpzCmluZGV4
IDk2OTBjZjEyMWUxZTBjMTg5Y2M0ZjRjZTA3ZTNhNzY3YjAyMGFiOTYuLmQ4NGEyYmM0NDEwMzc0
MzM3Zjc4OTIzYzU0NDZhYTZmYTlmNTFkNmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lT3ZlcnZpZXdHcmFwaC5qcworKysgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZU92ZXJ2aWV3
R3JhcGguanMKQEAgLTcxLDEwICs3MSwxMSBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmll
d0dyYXBoID0gY2xhc3MgVGltZWxpbmVPdmVydmlld0dyYXBoIGV4dGVuZHMgV2ViSW5zcAogCiAg
ICAgc2V0IHplcm9UaW1lKHgpCiAgICAgeworICAgICAgICB4ID0geCB8fCAwOwogICAgICAgICBp
ZiAodGhpcy5femVyb1RpbWUgPT09IHgpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAg
dGhpcy5femVyb1RpbWUgPSB4IHx8IDA7CisgICAgICAgIHRoaXMuX3plcm9UaW1lID0geDsKIAog
ICAgICAgICB0aGlzLm5lZWRzTGF5b3V0KCk7CiAgICAgfQpAQCAtODYsMTAgKzg3LDExIEBAIFdl
Ykluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3R3JhcGggPSBjbGFzcyBUaW1lbGluZU92ZXJ2aWV3
R3JhcGggZXh0ZW5kcyBXZWJJbnNwCiAKICAgICBzZXQgc3RhcnRUaW1lKHgpCiAgICAgeworICAg
ICAgICB4ID0geCB8fCAwOwogICAgICAgICBpZiAodGhpcy5fc3RhcnRUaW1lID09PSB4KQogICAg
ICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIHRoaXMuX3N0YXJ0VGltZSA9IHggfHwgMDsKKyAg
ICAgICAgdGhpcy5fc3RhcnRUaW1lID0geDsKIAogICAgICAgICB0aGlzLm5lZWRzTGF5b3V0KCk7
CiAgICAgfQpAQCAtMTAxLDEwICsxMDMsMTEgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZp
ZXdHcmFwaCA9IGNsYXNzIFRpbWVsaW5lT3ZlcnZpZXdHcmFwaCBleHRlbmRzIFdlYkluc3AKIAog
ICAgIHNldCBlbmRUaW1lKHgpCiAgICAgeworICAgICAgICB4ID0geCB8fCAwOwogICAgICAgICBp
ZiAodGhpcy5fZW5kVGltZSA9PT0geCkKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICB0
aGlzLl9lbmRUaW1lID0geCB8fCAwOworICAgICAgICB0aGlzLl9lbmRUaW1lID0geDsKIAogICAg
ICAgICB0aGlzLm5lZWRzTGF5b3V0KCk7CiAgICAgfQpAQCAtMTE2LDEyICsxMTksMTMgQEAgV2Vi
SW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXdHcmFwaCA9IGNsYXNzIFRpbWVsaW5lT3ZlcnZpZXdH
cmFwaCBleHRlbmRzIFdlYkluc3AKIAogICAgIHNldCBjdXJyZW50VGltZSh4KQogICAgIHsKKyAg
ICAgICAgeCA9IHggfHwgMDsKICAgICAgICAgaWYgKHRoaXMuX2N1cnJlbnRUaW1lID09PSB4KQog
ICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIHZhciBvbGRDdXJyZW50VGltZSA9IHRoaXMu
X2N1cnJlbnRUaW1lOworICAgICAgICBsZXQgb2xkQ3VycmVudFRpbWUgPSB0aGlzLl9jdXJyZW50
VGltZTsKIAotICAgICAgICB0aGlzLl9jdXJyZW50VGltZSA9IHggfHwgMDsKKyAgICAgICAgdGhp
cy5fY3VycmVudFRpbWUgPSB4OwogCiAgICAgICAgIGlmICgodGhpcy5fc3RhcnRUaW1lIDw9IG9s
ZEN1cnJlbnRUaW1lICYmIG9sZEN1cnJlbnRUaW1lIDw9IHRoaXMuX2VuZFRpbWUpIHx8ICh0aGlz
Ll9zdGFydFRpbWUgPD0gdGhpcy5fY3VycmVudFRpbWUgJiYgdGhpcy5fY3VycmVudFRpbWUgPD0g
dGhpcy5fZW5kVGltZSkpCiAgICAgICAgICAgICB0aGlzLm5lZWRzTGF5b3V0KCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJ1
bGVyLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxp
bmVSdWxlci5qcwppbmRleCA2NmQ3MGZlMjY0OTYyODM4ZWY0ZDYwMTcwMTc3MDU3NTYyMmM3ZDE5
Li41ZDFiYTcyYTFkODAyMzM5YmE5YWNiMjdlMzY1N2NmOWRkYTk3MjYzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJ1bGVyLmpz
CisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5l
UnVsZXIuanMKQEAgLTY1LDEwICs2NSwxMSBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVSdWxlciA9
IGNsYXNzIFRpbWVsaW5lUnVsZXIgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuVmlldwogCiAgICAgc2V0
IGFsbG93c0NsaXBwZWRMYWJlbHMoeCkKICAgICB7CisgICAgICAgIHggPSB4IHx8IGZhbHNlOwog
ICAgICAgICBpZiAodGhpcy5fYWxsb3dzQ2xpcHBlZExhYmVscyA9PT0geCkKICAgICAgICAgICAg
IHJldHVybjsKIAotICAgICAgICB0aGlzLl9hbGxvd3NDbGlwcGVkTGFiZWxzID0geCB8fCBmYWxz
ZTsKKyAgICAgICAgdGhpcy5fYWxsb3dzQ2xpcHBlZExhYmVscyA9IHg7CiAKICAgICAgICAgdGhp
cy5uZWVkc0xheW91dCgpOwogICAgIH0KQEAgLTc3LDEwICs3OCwxMSBAQCBXZWJJbnNwZWN0b3Iu
VGltZWxpbmVSdWxlciA9IGNsYXNzIFRpbWVsaW5lUnVsZXIgZXh0ZW5kcyBXZWJJbnNwZWN0b3Iu
VmlldwogICAgIHsKICAgICAgICAgY29uc29sZS5hc3NlcnQodHlwZW9mIHggPT09ICJmdW5jdGlv
biIgfHwgIXgsIHgpOwogCisgICAgICAgIHggPSB4IHx8IG51bGw7CiAgICAgICAgIGlmICh0aGlz
Ll9mb3JtYXRMYWJlbENhbGxiYWNrID09PSB4KQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAg
ICAgIHRoaXMuX2Zvcm1hdExhYmVsQ2FsbGJhY2sgPSB4IHx8IG51bGw7CisgICAgICAgIHRoaXMu
X2Zvcm1hdExhYmVsQ2FsbGJhY2sgPSB4OwogCiAgICAgICAgIHRoaXMubmVlZHNMYXlvdXQoKTsK
ICAgICB9CkBAIC05MiwxMCArOTQsMTEgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUnVsZXIgPSBj
bGFzcyBUaW1lbGluZVJ1bGVyIGV4dGVuZHMgV2ViSW5zcGVjdG9yLlZpZXcKIAogICAgIHNldCBh
bGxvd3NUaW1lUmFuZ2VTZWxlY3Rpb24oeCkKICAgICB7CisgICAgICAgIHggPSB4IHx8IGZhbHNl
OwogICAgICAgICBpZiAodGhpcy5fYWxsb3dzVGltZVJhbmdlU2VsZWN0aW9uID09PSB4KQogICAg
ICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIHRoaXMuX2FsbG93c1RpbWVSYW5nZVNlbGVjdGlv
biA9IHggfHwgZmFsc2U7CisgICAgICAgIHRoaXMuX2FsbG93c1RpbWVSYW5nZVNlbGVjdGlvbiA9
IHg7CiAKICAgICAgICAgaWYgKHgpIHsKICAgICAgICAgICAgIHRoaXMuX21vdXNlRG93bkV2ZW50
TGlzdGVuZXIgPSB0aGlzLl9oYW5kbGVNb3VzZURvd24uYmluZCh0aGlzKTsKQEAgLTE1OCwxMCAr
MTYxLDExIEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVJ1bGVyID0gY2xhc3MgVGltZWxpbmVSdWxl
ciBleHRlbmRzIFdlYkluc3BlY3Rvci5WaWV3CiAKICAgICBzZXQgemVyb1RpbWUoeCkKICAgICB7
CisgICAgICAgIHggPSB4IHx8IDA7CiAgICAgICAgIGlmICh0aGlzLl96ZXJvVGltZSA9PT0geCkK
ICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICB0aGlzLl96ZXJvVGltZSA9IHggfHwgMDsK
KyAgICAgICAgdGhpcy5femVyb1RpbWUgPSB4OwogCiAgICAgICAgIHRoaXMubmVlZHNMYXlvdXQo
KTsKICAgICB9CkBAIC0xNzMsMTAgKzE3NywxMSBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVSdWxl
ciA9IGNsYXNzIFRpbWVsaW5lUnVsZXIgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuVmlldwogCiAgICAg
c2V0IHN0YXJ0VGltZSh4KQogICAgIHsKKyAgICAgICAgeCA9IHggfHwgMDsKICAgICAgICAgaWYg
KHRoaXMuX3N0YXJ0VGltZSA9PT0geCkKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICB0
aGlzLl9zdGFydFRpbWUgPSB4IHx8IDA7CisgICAgICAgIHRoaXMuX3N0YXJ0VGltZSA9IHg7CiAK
ICAgICAgICAgaWYgKCFpc05hTih0aGlzLl9kdXJhdGlvbikpCiAgICAgICAgICAgICB0aGlzLl9l
bmRUaW1lID0gdGhpcy5fc3RhcnRUaW1lICsgdGhpcy5fZHVyYXRpb247CkBAIC0yMTYsMTAgKzIy
MSwxMSBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVSdWxlciA9IGNsYXNzIFRpbWVsaW5lUnVsZXIg
ZXh0ZW5kcyBXZWJJbnNwZWN0b3IuVmlldwogCiAgICAgc2V0IGVuZFRpbWUoeCkKICAgICB7Cisg
ICAgICAgIHggPSB4IHx8IDA7CiAgICAgICAgIGlmICh0aGlzLl9lbmRUaW1lID09PSB4KQogICAg
ICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIHRoaXMuX2VuZFRpbWUgPSB4IHx8IDA7CisgICAg
ICAgIHRoaXMuX2VuZFRpbWUgPSB4OwogICAgICAgICB0aGlzLl9lbmRUaW1lUGlubmVkID0gdHJ1
ZTsKIAogICAgICAgICB0aGlzLm5lZWRzTGF5b3V0KCk7CkBAIC0yMzQsMTAgKzI0MCwxMSBAQCBX
ZWJJbnNwZWN0b3IuVGltZWxpbmVSdWxlciA9IGNsYXNzIFRpbWVsaW5lUnVsZXIgZXh0ZW5kcyBX
ZWJJbnNwZWN0b3IuVmlldwogCiAgICAgc2V0IHNlY29uZHNQZXJQaXhlbCh4KQogICAgIHsKKyAg
ICAgICAgeCA9IHggfHwgMDsKICAgICAgICAgaWYgKHRoaXMuX3NlY29uZHNQZXJQaXhlbCA9PT0g
eCkKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICB0aGlzLl9zZWNvbmRzUGVyUGl4ZWwg
PSB4IHx8IDA7CisgICAgICAgIHRoaXMuX3NlY29uZHNQZXJQaXhlbCA9IHg7CiAgICAgICAgIHRo
aXMuX2VuZFRpbWVQaW5uZWQgPSBmYWxzZTsKICAgICAgICAgdGhpcy5fY3VycmVudFNsaWNlVGlt
ZSA9IDA7CiAKQEAgLTI2NCwxMSArMjcxLDExIEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVJ1bGVy
ID0gY2xhc3MgVGltZWxpbmVSdWxlciBleHRlbmRzIFdlYkluc3BlY3Rvci5WaWV3CiAKICAgICBz
ZXQgc2VsZWN0aW9uU3RhcnRUaW1lKHgpCiAgICAgewotICAgICAgICB4ID0gdGhpcy5fc25hcFZh
bHVlKHgpOworICAgICAgICB4ID0gdGhpcy5fc25hcFZhbHVlKHgpIHx8IDA7CiAgICAgICAgIGlm
ICh0aGlzLl9zZWxlY3Rpb25TdGFydFRpbWUgPT09IHgpCiAgICAgICAgICAgICByZXR1cm47CiAK
LSAgICAgICAgdGhpcy5fc2VsZWN0aW9uU3RhcnRUaW1lID0geCB8fCAwOworICAgICAgICB0aGlz
Ll9zZWxlY3Rpb25TdGFydFRpbWUgPSB4OwogICAgICAgICB0aGlzLl90aW1lUmFuZ2VTZWxlY3Rp
b25DaGFuZ2VkID0gdHJ1ZTsKIAogICAgICAgICB0aGlzLl9uZWVkc1NlbGVjdGlvbkxheW91dCgp
OwpAQCAtMjgxLDExICsyODgsMTEgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUnVsZXIgPSBjbGFz
cyBUaW1lbGluZVJ1bGVyIGV4dGVuZHMgV2ViSW5zcGVjdG9yLlZpZXcKIAogICAgIHNldCBzZWxl
Y3Rpb25FbmRUaW1lKHgpCiAgICAgewotICAgICAgICB4ID0gdGhpcy5fc25hcFZhbHVlKHgpOwor
ICAgICAgICB4ID0gdGhpcy5fc25hcFZhbHVlKHgpIHx8IDA7CiAgICAgICAgIGlmICh0aGlzLl9z
ZWxlY3Rpb25FbmRUaW1lID09PSB4KQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIHRo
aXMuX3NlbGVjdGlvbkVuZFRpbWUgPSB4IHx8IDA7CisgICAgICAgIHRoaXMuX3NlbGVjdGlvbkVu
ZFRpbWUgPSB4OwogICAgICAgICB0aGlzLl90aW1lUmFuZ2VTZWxlY3Rpb25DaGFuZ2VkID0gdHJ1
ZTsKIAogICAgICAgICB0aGlzLl9uZWVkc1NlbGVjdGlvbkxheW91dCgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVWaWV3Lmpz
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVWaWV3
LmpzCmluZGV4IDIwNWJkNDdiM2FmN2I2OTY0YWFlMzc4NDZhYjQ2NmNlOWIzOTRiYzYuLjIxYmNl
NThmNzgwOTFiMTFhMTcwNzQxNzg0MjliZDQwYTVkNWJlZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lVmlldy5qcworKysgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVZpZXcuanMK
QEAgLTkwLDEwICs5MCwxMSBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVWaWV3ID0gY2xhc3MgVGlt
ZWxpbmVWaWV3IGV4dGVuZHMgV2ViSW5zcGVjdG9yLkNvbnRlbnRWaWV3CiAKICAgICBzZXQgemVy
b1RpbWUoeCkKICAgICB7CisgICAgICAgIHggPSB4IHx8IDA7CiAgICAgICAgIGlmICh0aGlzLl96
ZXJvVGltZSA9PT0geCkKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICB0aGlzLl96ZXJv
VGltZSA9IHggfHwgMDsKKyAgICAgICAgdGhpcy5femVyb1RpbWUgPSB4OwogCiAgICAgICAgIHRo
aXMubmVlZHNMYXlvdXQoKTsKICAgICB9CkBAIC0xMDUsMTAgKzEwNiwxMSBAQCBXZWJJbnNwZWN0
b3IuVGltZWxpbmVWaWV3ID0gY2xhc3MgVGltZWxpbmVWaWV3IGV4dGVuZHMgV2ViSW5zcGVjdG9y
LkNvbnRlbnRWaWV3CiAKICAgICBzZXQgc3RhcnRUaW1lKHgpCiAgICAgeworICAgICAgICB4ID0g
eCB8fCAwOwogICAgICAgICBpZiAodGhpcy5fc3RhcnRUaW1lID09PSB4KQogICAgICAgICAgICAg
cmV0dXJuOwogCi0gICAgICAgIHRoaXMuX3N0YXJ0VGltZSA9IHggfHwgMDsKKyAgICAgICAgdGhp
cy5fc3RhcnRUaW1lID0geDsKIAogICAgICAgICB0aGlzLm5lZWRzTGF5b3V0KCk7CiAgICAgfQpA
QCAtMTIwLDEwICsxMjIsMTEgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lVmlldyA9IGNsYXNzIFRp
bWVsaW5lVmlldyBleHRlbmRzIFdlYkluc3BlY3Rvci5Db250ZW50VmlldwogCiAgICAgc2V0IGVu
ZFRpbWUoeCkKICAgICB7CisgICAgICAgIHggPSB4IHx8IDA7CiAgICAgICAgIGlmICh0aGlzLl9l
bmRUaW1lID09PSB4KQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIHRoaXMuX2VuZFRp
bWUgPSB4IHx8IDA7CisgICAgICAgIHRoaXMuX2VuZFRpbWUgPSB4OwogCiAgICAgICAgIHRoaXMu
bmVlZHNMYXlvdXQoKTsKICAgICB9CkBAIC0xMzUsMTIgKzEzOCwxMyBAQCBXZWJJbnNwZWN0b3Iu
VGltZWxpbmVWaWV3ID0gY2xhc3MgVGltZWxpbmVWaWV3IGV4dGVuZHMgV2ViSW5zcGVjdG9yLkNv
bnRlbnRWaWV3CiAKICAgICBzZXQgY3VycmVudFRpbWUoeCkKICAgICB7CisgICAgICAgIHggPSB4
IHx8IDA7CiAgICAgICAgIGlmICh0aGlzLl9jdXJyZW50VGltZSA9PT0geCkKICAgICAgICAgICAg
IHJldHVybjsKIAotICAgICAgICB2YXIgb2xkQ3VycmVudFRpbWUgPSB0aGlzLl9jdXJyZW50VGlt
ZTsKKyAgICAgICAgbGV0IG9sZEN1cnJlbnRUaW1lID0gdGhpcy5fY3VycmVudFRpbWU7CiAKLSAg
ICAgICAgdGhpcy5fY3VycmVudFRpbWUgPSB4IHx8IDA7CisgICAgICAgIHRoaXMuX2N1cnJlbnRU
aW1lID0geDsKIAogICAgICAgICBmdW5jdGlvbiBjaGVja0lmTGF5b3V0SXNOZWVkZWQoY3VycmVu
dFRpbWUpCiAgICAgICAgIHsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>266710</attachid>
            <date>2015-12-05 00:15:41 -0800</date>
            <delta_ts>2015-12-06 20:38:51 -0800</delta_ts>
            <desc>[Patch] Proposed Fix</desc>
            <filename>bug-151910-20151205001514.patch</filename>
            <type>text/plain</type>
            <size>16142</size>
            <attacher name="Matt Baker">mattbaker</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkzNTEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCBl
MTlhMTliNDNhOThiOGU2YTY4MzUxM2I0YmM4ZWFjMWI1NTZjNDdjLi5iMGI3YTllNTExYzAyNGFj
NjNkNzJmODBmMmIwOTE4MmMwNjE0ODhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw1NCBAQAorMjAxNS0xMi0wNSAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5jb20+
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQ29tcGFyaXNvbnMgaW4gc2V0dGVycyBzaG91bGQg
dXNlIHRoZSBtYXNzYWdlZCB2YWx1ZSAoIiA9IHggfHwgMC9mYWxzZS9udWxsL2V0YyIpCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTE5MTAKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGVkIHNldHRl
cnMgdGhhdCB1c2UgZGVmYXVsdCB2YWx1ZXMgdG8gY29udmVydCBmYWxzeSBpbnB1dHMgdG8gdGhl
IGRlZmF1bHQgYmVmb3JlCisgICAgICAgIHRlc3RpbmcgYWdhaW5zdCB0aGUgY3VycmVudCB2YWx1
ZS4gVGhpcyBleGNsdWRlcyBzZXR0ZXJzIHdpdGggYSBkZWZhdWx0IG9mIE5hTi4KKworICAgICAg
ICAqIFVzZXJJbnRlcmZhY2UvTW9kZWxzL1RpbWVsaW5lTWFya2VyLmpzOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLlRpbWVsaW5lTWFya2VyLnByb3RvdHlwZS5zZXQgdGltZSk6CisKKyAgICAgICAg
KiBVc2VySW50ZXJmYWNlL1ZpZXdzL0RhdGFHcmlkLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LkRhdGFHcmlkTm9kZS5wcm90b3R5cGUuc2V0IGhpZGRlbik6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuRGF0YUdyaWROb2RlLnByb3RvdHlwZS5zZXQgZGF0YSk6CisKKyAgICAgICAgKiBVc2VySW50
ZXJmYWNlL1ZpZXdzL0dlbmVyYWxUcmVlRWxlbWVudC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5HZW5lcmFsVHJlZUVsZW1lbnQucHJvdG90eXBlLnNldCBtYWluVGl0bGUpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLkdlbmVyYWxUcmVlRWxlbWVudC5wcm90b3R5cGUuc2V0IHN1YnRpdGxlKToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5HZW5lcmFsVHJlZUVsZW1lbnQucHJvdG90eXBlLnNldCBz
dGF0dXMpOgorCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZU92ZXJ2aWV3
LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcucHJvdG90eXBlLnNl
dCBzdGFydFRpbWUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcucHJv
dG90eXBlLnNldCBjdXJyZW50VGltZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVP
dmVydmlldy5wcm90b3R5cGUuc2V0IGVuZFRpbWUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRp
bWVsaW5lT3ZlcnZpZXcucHJvdG90eXBlLnNldCBzY3JvbGxTdGFydFRpbWUpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcucHJvdG90eXBlLnNldCBzZWxlY3Rpb25TdGFy
dFRpbWUpOgorCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZU92ZXJ2aWV3
R3JhcGguanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlld0dyYXBoLnBy
b3RvdHlwZS5zZXQgemVyb1RpbWUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3Zl
cnZpZXdHcmFwaC5wcm90b3R5cGUuc2V0IHN0YXJ0VGltZSk6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuVGltZWxpbmVPdmVydmlld0dyYXBoLnByb3RvdHlwZS5zZXQgZW5kVGltZSk6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlld0dyYXBoLnByb3RvdHlwZS5zZXQgY3VycmVu
dFRpbWUpOgorCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJ1bGVyLmpz
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUnVsZXIucHJvdG90eXBlLnNldCBhbGxv
d3NDbGlwcGVkTGFiZWxzKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVJ1bGVyLnBy
b3RvdHlwZS5zZXQgZm9ybWF0TGFiZWxDYWxsYmFjayk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
VGltZWxpbmVSdWxlci5wcm90b3R5cGUuc2V0IGFsbG93c1RpbWVSYW5nZVNlbGVjdGlvbik6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVSdWxlci5wcm90b3R5cGUuc2V0IHplcm9UaW1l
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVJ1bGVyLnByb3RvdHlwZS5zZXQgc3Rh
cnRUaW1lKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVJ1bGVyLnByb3RvdHlwZS5z
ZXQgZW5kVGltZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVSdWxlci5wcm90b3R5
cGUuc2V0IHNlY29uZHNQZXJQaXhlbCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVS
dWxlci5wcm90b3R5cGUuc2V0IHNlbGVjdGlvblN0YXJ0VGltZSk6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuVGltZWxpbmVSdWxlci5wcm90b3R5cGUuc2V0IHNlbGVjdGlvbkVuZFRpbWUpOgorCisg
ICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVZpZXcuanM6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuVGltZWxpbmVWaWV3LnByb3RvdHlwZS5zZXQgemVyb1RpbWUpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lVmlldy5wcm90b3R5cGUuc2V0IHN0YXJ0VGltZSk6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVWaWV3LnByb3RvdHlwZS5zZXQgZW5kVGltZSk6
CisKIDIwMTUtMTItMDQgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgog
CiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxOTM0ODYuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvVGltZWxpbmVNYXJrZXIu
anMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvVGltZWxpbmVN
YXJrZXIuanMKaW5kZXggOTJkZjMxMmJkYTQ0N2NlZjJhYzEyNWU4ODg0YjkzMmU4YmQwMWRlOC4u
OGM5MWJiNDFiYjQ4MjM1MTBjYmZhMDgyNjZlYTkzNTMwOWU4MzNjYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1RpbWVsaW5lTWFya2VyLmpz
CisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9UaW1lbGlu
ZU1hcmtlci5qcwpAQCAtNDUsMTAgKzQ1LDExIEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZU1hcmtl
ciA9IGNsYXNzIFRpbWVsaW5lTWFya2VyIGV4dGVuZHMgV2ViSW5zcGVjdG9yLk9iamVjdAogCiAg
ICAgc2V0IHRpbWUoeCkKICAgICB7CisgICAgICAgIHggPSB4IHx8IDA7CiAgICAgICAgIGlmICh0
aGlzLl90aW1lID09PSB4KQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIHRoaXMuX3Rp
bWUgPSB4IHx8IDA7CisgICAgICAgIHRoaXMuX3RpbWUgPSB4OwogCiAgICAgICAgIHRoaXMuZGlz
cGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5UaW1lbGluZU1hcmtlci5FdmVudC5U
aW1lQ2hhbmdlZCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvRGF0YUdyaWQuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9EYXRhR3JpZC5qcwppbmRleCBhMDIxOWY2NjMyZWQ1YTI0ZTkzMWVm
NGE0YmRhMTY1ZGQ2NDY2NWFhLi5hZDZlNjExOTFjZTkwZGQ3Y2VmZjkzZmZjNDEyOGJiZDdlOTkx
YmNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9EYXRhR3JpZC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9EYXRhR3JpZC5qcwpAQCAtMTMyNSwxMCArMTMyNSwxMSBAQCBXZWJJbnNwZWN0b3IuRGF0
YUdyaWROb2RlID0gY2xhc3MgRGF0YUdyaWROb2RlIGV4dGVuZHMgV2ViSW5zcGVjdG9yLk9iamVj
dAogCiAgICAgc2V0IGhpZGRlbih4KQogICAgIHsKLSAgICAgICAgaWYgKHggPT09IHRoaXMuX2hp
ZGRlbikKKyAgICAgICAgeCA9IHggfHwgZmFsc2U7CisgICAgICAgIGlmICh0aGlzLl9oaWRkZW4g
PT09IHgpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgdGhpcy5faGlkZGVuID0geCB8
fCBmYWxzZTsKKyAgICAgICAgdGhpcy5faGlkZGVuID0geDsKICAgICAgICAgaWYgKHRoaXMuX2Vs
ZW1lbnQpCiAgICAgICAgICAgICB0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoImhpZGRl
biIsIHRoaXMuX2hpZGRlbik7CiAgICAgfQpAQCAtMTQxMCw3ICsxNDExLDExIEBAIFdlYkluc3Bl
Y3Rvci5EYXRhR3JpZE5vZGUgPSBjbGFzcyBEYXRhR3JpZE5vZGUgZXh0ZW5kcyBXZWJJbnNwZWN0
b3IuT2JqZWN0CiAKICAgICBzZXQgZGF0YSh4KQogICAgIHsKLSAgICAgICAgdGhpcy5fZGF0YSA9
IHggfHwge307CisgICAgICAgIHggPSB4IHx8IHt9OworICAgICAgICBpZiAoT2JqZWN0LnNoYWxs
b3dFcXVhbCh0aGlzLl9kYXRhLCB4KSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICB0
aGlzLl9kYXRhID0geDsKICAgICAgICAgdGhpcy5uZWVkc1JlZnJlc2goKTsKICAgICB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0dlbmVy
YWxUcmVlRWxlbWVudC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL0dlbmVyYWxUcmVlRWxlbWVudC5qcwppbmRleCAwMDBjODQ2ZGVhMWIyZjFkMjQ0MDhhZGZm
YTYxNGE3NWNmZTA4MzU4Li5iMzVkNjUwMmZmMDcyMDY2MzY4ZjBmZmVkMTQ0OTIxMmE2NTkwYmY4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9H
ZW5lcmFsVHJlZUVsZW1lbnQuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvR2VuZXJhbFRyZWVFbGVtZW50LmpzCkBAIC0xNTMsNyArMTUzLDExIEBAIFdl
Ykluc3BlY3Rvci5HZW5lcmFsVHJlZUVsZW1lbnQgPSBjbGFzcyBHZW5lcmFsVHJlZUVsZW1lbnQg
ZXh0ZW5kcyBXZWJJbnNwZWN0b3IuCiAKICAgICBzZXQgbWFpblRpdGxlKHgpCiAgICAgewotICAg
ICAgICB0aGlzLl9tYWluVGl0bGUgPSB4IHx8ICIiOworICAgICAgICB4ID0geCB8fCAiIjsKKyAg
ICAgICAgaWYgKHRoaXMuX21haW5UaXRsZSA9PT0geCkKKyAgICAgICAgICAgIHJldHVybjsKKwor
ICAgICAgICB0aGlzLl9tYWluVGl0bGUgPSB4OwogICAgICAgICB0aGlzLl91cGRhdGVUaXRsZUVs
ZW1lbnRzKCk7CiAgICAgICAgIHRoaXMuZGlkQ2hhbmdlKCk7CiAgICAgICAgIHRoaXMuZGlzcGF0
Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5HZW5lcmFsVHJlZUVsZW1lbnQuRXZlbnQu
TWFpblRpdGxlRGlkQ2hhbmdlKTsKQEAgLTE2Niw3ICsxNzAsMTEgQEAgV2ViSW5zcGVjdG9yLkdl
bmVyYWxUcmVlRWxlbWVudCA9IGNsYXNzIEdlbmVyYWxUcmVlRWxlbWVudCBleHRlbmRzIFdlYklu
c3BlY3Rvci4KIAogICAgIHNldCBzdWJ0aXRsZSh4KQogICAgIHsKLSAgICAgICAgdGhpcy5fc3Vi
dGl0bGUgPSB4IHx8ICIiOworICAgICAgICB4ID0geCB8fCAiIjsKKyAgICAgICAgaWYgKHRoaXMu
X3N1YnRpdGxlID09PSB4KQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIHRoaXMuX3N1
YnRpdGxlID0geDsKICAgICAgICAgdGhpcy5fdXBkYXRlVGl0bGVFbGVtZW50cygpOwogICAgICAg
ICB0aGlzLmRpZENoYW5nZSgpOwogICAgIH0KQEAgLTE3OCw2ICsxODYsNyBAQCBXZWJJbnNwZWN0
b3IuR2VuZXJhbFRyZWVFbGVtZW50ID0gY2xhc3MgR2VuZXJhbFRyZWVFbGVtZW50IGV4dGVuZHMg
V2ViSW5zcGVjdG9yLgogCiAgICAgc2V0IHN0YXR1cyh4KQogICAgIHsKKyAgICAgICAgeCA9IHgg
fHwgIiI7CiAgICAgICAgIGlmICh0aGlzLl9zdGF0dXMgPT09IHgpCiAgICAgICAgICAgICByZXR1
cm47CiAKQEAgLTE4Niw3ICsxOTUsNyBAQCBXZWJJbnNwZWN0b3IuR2VuZXJhbFRyZWVFbGVtZW50
ID0gY2xhc3MgR2VuZXJhbFRyZWVFbGVtZW50IGV4dGVuZHMgV2ViSW5zcGVjdG9yLgogICAgICAg
ICAgICAgdGhpcy5fc3RhdHVzRWxlbWVudC5jbGFzc05hbWUgPSBXZWJJbnNwZWN0b3IuR2VuZXJh
bFRyZWVFbGVtZW50LlN0YXR1c0VsZW1lbnRTdHlsZUNsYXNzTmFtZTsKICAgICAgICAgfQogCi0g
ICAgICAgIHRoaXMuX3N0YXR1cyA9IHggfHwgIiI7CisgICAgICAgIHRoaXMuX3N0YXR1cyA9IHg7
CiAgICAgICAgIHRoaXMuX3VwZGF0ZVN0YXR1c0VsZW1lbnQoKTsKICAgICB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lT3Zl
cnZpZXcuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1l
bGluZU92ZXJ2aWV3LmpzCmluZGV4IDAxZWU2MWI5ZWRiMDc4NTdjZDc1NjliMDU4ODc0YzU3N2M0
YTEzZGIuLjBkMjBhMWIzMzBhNzVkN2NmNzUxN2UyMzYzNjRjNzhjMDZhZjI3YzUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lT3Zl
cnZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
VGltZWxpbmVPdmVydmlldy5qcwpAQCAtMTA2LDEwICsxMDYsMTEgQEAgV2ViSW5zcGVjdG9yLlRp
bWVsaW5lT3ZlcnZpZXcgPSBjbGFzcyBUaW1lbGluZU92ZXJ2aWV3IGV4dGVuZHMgV2ViSW5zcGVj
dG9yLlZpZXcKIAogICAgIHNldCBzdGFydFRpbWUoeCkKICAgICB7CisgICAgICAgIHggPSB4IHx8
IDA7CiAgICAgICAgIGlmICh0aGlzLl9zdGFydFRpbWUgPT09IHgpCiAgICAgICAgICAgICByZXR1
cm47CiAKLSAgICAgICAgdGhpcy5fc3RhcnRUaW1lID0geCB8fCAwOworICAgICAgICB0aGlzLl9z
dGFydFRpbWUgPSB4OwogCiAgICAgICAgIHRoaXMubmVlZHNMYXlvdXQoKTsKICAgICB9CkBAIC0x
MjEsMTAgKzEyMiwxMSBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldyA9IGNsYXNzIFRp
bWVsaW5lT3ZlcnZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuVmlldwogCiAgICAgc2V0IGN1cnJl
bnRUaW1lKHgpCiAgICAgeworICAgICAgICB4ID0geCB8fCAwOwogICAgICAgICBpZiAodGhpcy5f
Y3VycmVudFRpbWUgPT09IHgpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgdGhpcy5f
Y3VycmVudFRpbWUgPSB4IHx8IDA7CisgICAgICAgIHRoaXMuX2N1cnJlbnRUaW1lID0geDsKICAg
ICAgICAgdGhpcy5fcmV2ZWFsQ3VycmVudFRpbWUgPSB0cnVlOwogCiAgICAgICAgIHRoaXMubmVl
ZHNMYXlvdXQoKTsKQEAgLTE3NywxMCArMTc5LDExIEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZU92
ZXJ2aWV3ID0gY2xhc3MgVGltZWxpbmVPdmVydmlldyBleHRlbmRzIFdlYkluc3BlY3Rvci5WaWV3
CiAKICAgICBzZXQgZW5kVGltZSh4KQogICAgIHsKKyAgICAgICAgeCA9IHggfHwgMDsKICAgICAg
ICAgaWYgKHRoaXMuX2VuZFRpbWUgPT09IHgpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAg
ICAgdGhpcy5fZW5kVGltZSA9IHggfHwgMDsKKyAgICAgICAgdGhpcy5fZW5kVGltZSA9IHg7CiAK
ICAgICAgICAgdGhpcy5uZWVkc0xheW91dCgpOwogICAgIH0KQEAgLTE5MiwxMCArMTk1LDExIEBA
IFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3ID0gY2xhc3MgVGltZWxpbmVPdmVydmlldyBl
eHRlbmRzIFdlYkluc3BlY3Rvci5WaWV3CiAKICAgICBzZXQgc2Nyb2xsU3RhcnRUaW1lKHgpCiAg
ICAgeworICAgICAgICB4ID0geCB8fCAwOwogICAgICAgICBpZiAodGhpcy5fc2Nyb2xsU3RhcnRU
aW1lID09PSB4KQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIHRoaXMuX3Njcm9sbFN0
YXJ0VGltZSA9IHggfHwgMDsKKyAgICAgICAgdGhpcy5fc2Nyb2xsU3RhcnRUaW1lID0geDsKIAog
ICAgICAgICB0aGlzLm5lZWRzTGF5b3V0KCk7CiAgICAgfQpAQCAtMjE5LDggKzIyMywxMCBAQCBX
ZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldyA9IGNsYXNzIFRpbWVsaW5lT3ZlcnZpZXcgZXh0
ZW5kcyBXZWJJbnNwZWN0b3IuVmlldwogICAgIHNldCBzZWxlY3Rpb25TdGFydFRpbWUoeCkKICAg
ICB7CiAgICAgICAgIHggPSB4IHx8IDA7CisgICAgICAgIGlmICh0aGlzLl90aW1lbGluZVJ1bGVy
LnNlbGVjdGlvblN0YXJ0VGltZSA9PT0geCkKKyAgICAgICAgICAgIHJldHVybjsKIAotICAgICAg
ICB2YXIgc2VsZWN0aW9uRHVyYXRpb24gPSB0aGlzLnNlbGVjdGlvbkR1cmF0aW9uOworICAgICAg
ICBsZXQgc2VsZWN0aW9uRHVyYXRpb24gPSB0aGlzLnNlbGVjdGlvbkR1cmF0aW9uOwogICAgICAg
ICB0aGlzLl90aW1lbGluZVJ1bGVyLnNlbGVjdGlvblN0YXJ0VGltZSA9IHg7CiAgICAgICAgIHRo
aXMuX3RpbWVsaW5lUnVsZXIuc2VsZWN0aW9uRW5kVGltZSA9IHggKyBzZWxlY3Rpb25EdXJhdGlv
bjsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9UaW1lbGluZU92ZXJ2aWV3R3JhcGguanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZU92ZXJ2aWV3R3JhcGguanMKaW5kZXggOTY5MGNm
MTIxZTFlMGMxODljYzRmNGNlMDdlM2E3NjdiMDIwYWI5Ni4uZDg0YTJiYzQ0MTAzNzQzMzdmNzg5
MjNjNTQ0NmFhNmZhOWY1MWQ2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVPdmVydmlld0dyYXBoLmpzCisrKyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lT3ZlcnZpZXdHcmFwaC5q
cwpAQCAtNzEsMTAgKzcxLDExIEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3R3JhcGgg
PSBjbGFzcyBUaW1lbGluZU92ZXJ2aWV3R3JhcGggZXh0ZW5kcyBXZWJJbnNwCiAKICAgICBzZXQg
emVyb1RpbWUoeCkKICAgICB7CisgICAgICAgIHggPSB4IHx8IDA7CiAgICAgICAgIGlmICh0aGlz
Ll96ZXJvVGltZSA9PT0geCkKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICB0aGlzLl96
ZXJvVGltZSA9IHggfHwgMDsKKyAgICAgICAgdGhpcy5femVyb1RpbWUgPSB4OwogCiAgICAgICAg
IHRoaXMubmVlZHNMYXlvdXQoKTsKICAgICB9CkBAIC04NiwxMCArODcsMTEgQEAgV2ViSW5zcGVj
dG9yLlRpbWVsaW5lT3ZlcnZpZXdHcmFwaCA9IGNsYXNzIFRpbWVsaW5lT3ZlcnZpZXdHcmFwaCBl
eHRlbmRzIFdlYkluc3AKIAogICAgIHNldCBzdGFydFRpbWUoeCkKICAgICB7CisgICAgICAgIHgg
PSB4IHx8IDA7CiAgICAgICAgIGlmICh0aGlzLl9zdGFydFRpbWUgPT09IHgpCiAgICAgICAgICAg
ICByZXR1cm47CiAKLSAgICAgICAgdGhpcy5fc3RhcnRUaW1lID0geCB8fCAwOworICAgICAgICB0
aGlzLl9zdGFydFRpbWUgPSB4OwogCiAgICAgICAgIHRoaXMubmVlZHNMYXlvdXQoKTsKICAgICB9
CkBAIC0xMDEsMTAgKzEwMywxMSBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlld0dyYXBo
ID0gY2xhc3MgVGltZWxpbmVPdmVydmlld0dyYXBoIGV4dGVuZHMgV2ViSW5zcAogCiAgICAgc2V0
IGVuZFRpbWUoeCkKICAgICB7CisgICAgICAgIHggPSB4IHx8IDA7CiAgICAgICAgIGlmICh0aGlz
Ll9lbmRUaW1lID09PSB4KQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIHRoaXMuX2Vu
ZFRpbWUgPSB4IHx8IDA7CisgICAgICAgIHRoaXMuX2VuZFRpbWUgPSB4OwogCiAgICAgICAgIHRo
aXMubmVlZHNMYXlvdXQoKTsKICAgICB9CkBAIC0xMTYsMTIgKzExOSwxMyBAQCBXZWJJbnNwZWN0
b3IuVGltZWxpbmVPdmVydmlld0dyYXBoID0gY2xhc3MgVGltZWxpbmVPdmVydmlld0dyYXBoIGV4
dGVuZHMgV2ViSW5zcAogCiAgICAgc2V0IGN1cnJlbnRUaW1lKHgpCiAgICAgeworICAgICAgICB4
ID0geCB8fCAwOwogICAgICAgICBpZiAodGhpcy5fY3VycmVudFRpbWUgPT09IHgpCiAgICAgICAg
ICAgICByZXR1cm47CiAKLSAgICAgICAgdmFyIG9sZEN1cnJlbnRUaW1lID0gdGhpcy5fY3VycmVu
dFRpbWU7CisgICAgICAgIGxldCBvbGRDdXJyZW50VGltZSA9IHRoaXMuX2N1cnJlbnRUaW1lOwog
Ci0gICAgICAgIHRoaXMuX2N1cnJlbnRUaW1lID0geCB8fCAwOworICAgICAgICB0aGlzLl9jdXJy
ZW50VGltZSA9IHg7CiAKICAgICAgICAgaWYgKCh0aGlzLl9zdGFydFRpbWUgPD0gb2xkQ3VycmVu
dFRpbWUgJiYgb2xkQ3VycmVudFRpbWUgPD0gdGhpcy5fZW5kVGltZSkgfHwgKHRoaXMuX3N0YXJ0
VGltZSA8PSB0aGlzLl9jdXJyZW50VGltZSAmJiB0aGlzLl9jdXJyZW50VGltZSA8PSB0aGlzLl9l
bmRUaW1lKSkKICAgICAgICAgICAgIHRoaXMubmVlZHNMYXlvdXQoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUnVsZXIuanMg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVJ1bGVy
LmpzCmluZGV4IDY2ZDcwZmUyNjQ5NjI4MzhlZjRkNjAxNzAxNzcwNTc1NjIyYzdkMTkuLjVkMWJh
NzJhMWQ4MDIzMzliYTlhY2IyN2UzNjU3Y2Y5ZGRhOTcyNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUnVsZXIuanMKKysrIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVSdWxlci5q
cwpAQCAtNjUsMTAgKzY1LDExIEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVJ1bGVyID0gY2xhc3Mg
VGltZWxpbmVSdWxlciBleHRlbmRzIFdlYkluc3BlY3Rvci5WaWV3CiAKICAgICBzZXQgYWxsb3dz
Q2xpcHBlZExhYmVscyh4KQogICAgIHsKKyAgICAgICAgeCA9IHggfHwgZmFsc2U7CiAgICAgICAg
IGlmICh0aGlzLl9hbGxvd3NDbGlwcGVkTGFiZWxzID09PSB4KQogICAgICAgICAgICAgcmV0dXJu
OwogCi0gICAgICAgIHRoaXMuX2FsbG93c0NsaXBwZWRMYWJlbHMgPSB4IHx8IGZhbHNlOworICAg
ICAgICB0aGlzLl9hbGxvd3NDbGlwcGVkTGFiZWxzID0geDsKIAogICAgICAgICB0aGlzLm5lZWRz
TGF5b3V0KCk7CiAgICAgfQpAQCAtNzcsMTAgKzc4LDExIEBAIFdlYkluc3BlY3Rvci5UaW1lbGlu
ZVJ1bGVyID0gY2xhc3MgVGltZWxpbmVSdWxlciBleHRlbmRzIFdlYkluc3BlY3Rvci5WaWV3CiAg
ICAgewogICAgICAgICBjb25zb2xlLmFzc2VydCh0eXBlb2YgeCA9PT0gImZ1bmN0aW9uIiB8fCAh
eCwgeCk7CiAKKyAgICAgICAgeCA9IHggfHwgbnVsbDsKICAgICAgICAgaWYgKHRoaXMuX2Zvcm1h
dExhYmVsQ2FsbGJhY2sgPT09IHgpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgdGhp
cy5fZm9ybWF0TGFiZWxDYWxsYmFjayA9IHggfHwgbnVsbDsKKyAgICAgICAgdGhpcy5fZm9ybWF0
TGFiZWxDYWxsYmFjayA9IHg7CiAKICAgICAgICAgdGhpcy5uZWVkc0xheW91dCgpOwogICAgIH0K
QEAgLTkyLDEwICs5NCwxMSBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVSdWxlciA9IGNsYXNzIFRp
bWVsaW5lUnVsZXIgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuVmlldwogCiAgICAgc2V0IGFsbG93c1Rp
bWVSYW5nZVNlbGVjdGlvbih4KQogICAgIHsKKyAgICAgICAgeCA9IHggfHwgZmFsc2U7CiAgICAg
ICAgIGlmICh0aGlzLl9hbGxvd3NUaW1lUmFuZ2VTZWxlY3Rpb24gPT09IHgpCiAgICAgICAgICAg
ICByZXR1cm47CiAKLSAgICAgICAgdGhpcy5fYWxsb3dzVGltZVJhbmdlU2VsZWN0aW9uID0geCB8
fCBmYWxzZTsKKyAgICAgICAgdGhpcy5fYWxsb3dzVGltZVJhbmdlU2VsZWN0aW9uID0geDsKIAog
ICAgICAgICBpZiAoeCkgewogICAgICAgICAgICAgdGhpcy5fbW91c2VEb3duRXZlbnRMaXN0ZW5l
ciA9IHRoaXMuX2hhbmRsZU1vdXNlRG93bi5iaW5kKHRoaXMpOwpAQCAtMTU4LDEwICsxNjEsMTEg
QEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUnVsZXIgPSBjbGFzcyBUaW1lbGluZVJ1bGVyIGV4dGVu
ZHMgV2ViSW5zcGVjdG9yLlZpZXcKIAogICAgIHNldCB6ZXJvVGltZSh4KQogICAgIHsKKyAgICAg
ICAgeCA9IHggfHwgMDsKICAgICAgICAgaWYgKHRoaXMuX3plcm9UaW1lID09PSB4KQogICAgICAg
ICAgICAgcmV0dXJuOwogCi0gICAgICAgIHRoaXMuX3plcm9UaW1lID0geCB8fCAwOworICAgICAg
ICB0aGlzLl96ZXJvVGltZSA9IHg7CiAKICAgICAgICAgdGhpcy5uZWVkc0xheW91dCgpOwogICAg
IH0KQEAgLTE3MywxMCArMTc3LDExIEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVJ1bGVyID0gY2xh
c3MgVGltZWxpbmVSdWxlciBleHRlbmRzIFdlYkluc3BlY3Rvci5WaWV3CiAKICAgICBzZXQgc3Rh
cnRUaW1lKHgpCiAgICAgeworICAgICAgICB4ID0geCB8fCAwOwogICAgICAgICBpZiAodGhpcy5f
c3RhcnRUaW1lID09PSB4KQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIHRoaXMuX3N0
YXJ0VGltZSA9IHggfHwgMDsKKyAgICAgICAgdGhpcy5fc3RhcnRUaW1lID0geDsKIAogICAgICAg
ICBpZiAoIWlzTmFOKHRoaXMuX2R1cmF0aW9uKSkKICAgICAgICAgICAgIHRoaXMuX2VuZFRpbWUg
PSB0aGlzLl9zdGFydFRpbWUgKyB0aGlzLl9kdXJhdGlvbjsKQEAgLTIxNiwxMCArMjIxLDExIEBA
IFdlYkluc3BlY3Rvci5UaW1lbGluZVJ1bGVyID0gY2xhc3MgVGltZWxpbmVSdWxlciBleHRlbmRz
IFdlYkluc3BlY3Rvci5WaWV3CiAKICAgICBzZXQgZW5kVGltZSh4KQogICAgIHsKKyAgICAgICAg
eCA9IHggfHwgMDsKICAgICAgICAgaWYgKHRoaXMuX2VuZFRpbWUgPT09IHgpCiAgICAgICAgICAg
ICByZXR1cm47CiAKLSAgICAgICAgdGhpcy5fZW5kVGltZSA9IHggfHwgMDsKKyAgICAgICAgdGhp
cy5fZW5kVGltZSA9IHg7CiAgICAgICAgIHRoaXMuX2VuZFRpbWVQaW5uZWQgPSB0cnVlOwogCiAg
ICAgICAgIHRoaXMubmVlZHNMYXlvdXQoKTsKQEAgLTIzNCwxMCArMjQwLDExIEBAIFdlYkluc3Bl
Y3Rvci5UaW1lbGluZVJ1bGVyID0gY2xhc3MgVGltZWxpbmVSdWxlciBleHRlbmRzIFdlYkluc3Bl
Y3Rvci5WaWV3CiAKICAgICBzZXQgc2Vjb25kc1BlclBpeGVsKHgpCiAgICAgeworICAgICAgICB4
ID0geCB8fCAwOwogICAgICAgICBpZiAodGhpcy5fc2Vjb25kc1BlclBpeGVsID09PSB4KQogICAg
ICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIHRoaXMuX3NlY29uZHNQZXJQaXhlbCA9IHggfHwg
MDsKKyAgICAgICAgdGhpcy5fc2Vjb25kc1BlclBpeGVsID0geDsKICAgICAgICAgdGhpcy5fZW5k
VGltZVBpbm5lZCA9IGZhbHNlOwogICAgICAgICB0aGlzLl9jdXJyZW50U2xpY2VUaW1lID0gMDsK
IApAQCAtMjY0LDExICsyNzEsMTEgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUnVsZXIgPSBjbGFz
cyBUaW1lbGluZVJ1bGVyIGV4dGVuZHMgV2ViSW5zcGVjdG9yLlZpZXcKIAogICAgIHNldCBzZWxl
Y3Rpb25TdGFydFRpbWUoeCkKICAgICB7Ci0gICAgICAgIHggPSB0aGlzLl9zbmFwVmFsdWUoeCk7
CisgICAgICAgIHggPSB0aGlzLl9zbmFwVmFsdWUoeCkgfHwgMDsKICAgICAgICAgaWYgKHRoaXMu
X3NlbGVjdGlvblN0YXJ0VGltZSA9PT0geCkKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAg
ICB0aGlzLl9zZWxlY3Rpb25TdGFydFRpbWUgPSB4IHx8IDA7CisgICAgICAgIHRoaXMuX3NlbGVj
dGlvblN0YXJ0VGltZSA9IHg7CiAgICAgICAgIHRoaXMuX3RpbWVSYW5nZVNlbGVjdGlvbkNoYW5n
ZWQgPSB0cnVlOwogCiAgICAgICAgIHRoaXMuX25lZWRzU2VsZWN0aW9uTGF5b3V0KCk7CkBAIC0y
ODEsMTEgKzI4OCwxMSBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVSdWxlciA9IGNsYXNzIFRpbWVs
aW5lUnVsZXIgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuVmlldwogCiAgICAgc2V0IHNlbGVjdGlvbkVu
ZFRpbWUoeCkKICAgICB7Ci0gICAgICAgIHggPSB0aGlzLl9zbmFwVmFsdWUoeCk7CisgICAgICAg
IHggPSB0aGlzLl9zbmFwVmFsdWUoeCkgfHwgMDsKICAgICAgICAgaWYgKHRoaXMuX3NlbGVjdGlv
bkVuZFRpbWUgPT09IHgpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgdGhpcy5fc2Vs
ZWN0aW9uRW5kVGltZSA9IHggfHwgMDsKKyAgICAgICAgdGhpcy5fc2VsZWN0aW9uRW5kVGltZSA9
IHg7CiAgICAgICAgIHRoaXMuX3RpbWVSYW5nZVNlbGVjdGlvbkNoYW5nZWQgPSB0cnVlOwogCiAg
ICAgICAgIHRoaXMuX25lZWRzU2VsZWN0aW9uTGF5b3V0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVZpZXcuanMgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVZpZXcuanMKaW5k
ZXggMjA1YmQ0N2IzYWY3YjY5NjRhYWUzNzg0NmFiNDY2Y2U5YjM5NGJjNi4uMjFiY2U1OGY3ODA5
MWIxMWExNzA3NDE3ODQyOWJkNDBhNWQ1YmVmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVWaWV3LmpzCisrKyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lVmlldy5qcwpAQCAtOTAs
MTAgKzkwLDExIEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVZpZXcgPSBjbGFzcyBUaW1lbGluZVZp
ZXcgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuQ29udGVudFZpZXcKIAogICAgIHNldCB6ZXJvVGltZSh4
KQogICAgIHsKKyAgICAgICAgeCA9IHggfHwgMDsKICAgICAgICAgaWYgKHRoaXMuX3plcm9UaW1l
ID09PSB4KQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIHRoaXMuX3plcm9UaW1lID0g
eCB8fCAwOworICAgICAgICB0aGlzLl96ZXJvVGltZSA9IHg7CiAKICAgICAgICAgdGhpcy5uZWVk
c0xheW91dCgpOwogICAgIH0KQEAgLTEwNSwxMCArMTA2LDExIEBAIFdlYkluc3BlY3Rvci5UaW1l
bGluZVZpZXcgPSBjbGFzcyBUaW1lbGluZVZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuQ29udGVu
dFZpZXcKIAogICAgIHNldCBzdGFydFRpbWUoeCkKICAgICB7CisgICAgICAgIHggPSB4IHx8IDA7
CiAgICAgICAgIGlmICh0aGlzLl9zdGFydFRpbWUgPT09IHgpCiAgICAgICAgICAgICByZXR1cm47
CiAKLSAgICAgICAgdGhpcy5fc3RhcnRUaW1lID0geCB8fCAwOworICAgICAgICB0aGlzLl9zdGFy
dFRpbWUgPSB4OwogCiAgICAgICAgIHRoaXMubmVlZHNMYXlvdXQoKTsKICAgICB9CkBAIC0xMjAs
MTAgKzEyMiwxMSBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVWaWV3ID0gY2xhc3MgVGltZWxpbmVW
aWV3IGV4dGVuZHMgV2ViSW5zcGVjdG9yLkNvbnRlbnRWaWV3CiAKICAgICBzZXQgZW5kVGltZSh4
KQogICAgIHsKKyAgICAgICAgeCA9IHggfHwgMDsKICAgICAgICAgaWYgKHRoaXMuX2VuZFRpbWUg
PT09IHgpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgdGhpcy5fZW5kVGltZSA9IHgg
fHwgMDsKKyAgICAgICAgdGhpcy5fZW5kVGltZSA9IHg7CiAKICAgICAgICAgdGhpcy5uZWVkc0xh
eW91dCgpOwogICAgIH0KQEAgLTEzNSwxMiArMTM4LDEzIEBAIFdlYkluc3BlY3Rvci5UaW1lbGlu
ZVZpZXcgPSBjbGFzcyBUaW1lbGluZVZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuQ29udGVudFZp
ZXcKIAogICAgIHNldCBjdXJyZW50VGltZSh4KQogICAgIHsKKyAgICAgICAgeCA9IHggfHwgMDsK
ICAgICAgICAgaWYgKHRoaXMuX2N1cnJlbnRUaW1lID09PSB4KQogICAgICAgICAgICAgcmV0dXJu
OwogCi0gICAgICAgIHZhciBvbGRDdXJyZW50VGltZSA9IHRoaXMuX2N1cnJlbnRUaW1lOworICAg
ICAgICBsZXQgb2xkQ3VycmVudFRpbWUgPSB0aGlzLl9jdXJyZW50VGltZTsKIAotICAgICAgICB0
aGlzLl9jdXJyZW50VGltZSA9IHggfHwgMDsKKyAgICAgICAgdGhpcy5fY3VycmVudFRpbWUgPSB4
OwogCiAgICAgICAgIGZ1bmN0aW9uIGNoZWNrSWZMYXlvdXRJc05lZWRlZChjdXJyZW50VGltZSkK
ICAgICAgICAgewo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>266749</attachid>
            <date>2015-12-06 20:38:53 -0800</date>
            <delta_ts>2015-12-06 22:15:46 -0800</delta_ts>
            <desc>[Patch] Proposed Fix</desc>
            <filename>bug-151910-20151206203826.patch</filename>
            <type>text/plain</type>
            <size>19086</size>
            <attacher name="Matt Baker">mattbaker</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkzNjA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCBl
MTlhMTliNDNhOThiOGU2YTY4MzUxM2I0YmM4ZWFjMWI1NTZjNDdjLi40OTgyZjMxOTk3NzRhZWFi
ZjUwZmRmNDg5ZmI0Y2YxYzAyZTYzZTQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw2NSBAQAorMjAxNS0xMi0wNiAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5jb20+
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQ29tcGFyaXNvbnMgaW4gc2V0dGVycyBzaG91bGQg
dXNlIHRoZSBtYXNzYWdlZCB2YWx1ZSAoIiA9IHggfHwgMC9mYWxzZS9udWxsL2V0YyIpCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTE5MTAKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGVkIHNldHRl
cnMgdGhhdCB1c2UgZGVmYXVsdCB2YWx1ZXMgdG8gY29udmVydCBmYWxzeSBpbnB1dHMgdG8gdGhl
IGRlZmF1bHQgdmFsdWUKKyAgICAgICAgYmVmb3JlIGNvbXBhcmlpbmcgYWdhaW5zdCB0aGUgY3Vy
cmVudCB2YWx1ZS4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvTW9kZWxzL1RpbWVsaW5lTWFy
a2VyLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lTWFya2VyLnByb3RvdHlwZS5z
ZXQgdGltZSk6CisgICAgICAgIEFzc2VydCBuZXcgdmFsdWUgaXMgYSBudW1iZXIuCisKKyAgICAg
ICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0RhdGFHcmlkLmpzOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLkRhdGFHcmlkTm9kZS5wcm90b3R5cGUuc2V0IGhpZGRlbik6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuRGF0YUdyaWROb2RlLnByb3RvdHlwZS5zZXQgZGF0YSk6CisgICAgICAgIEFzc2VydCBu
ZXcgdmFsdWUgaXMgb2YgdHlwZSBvYmplY3QuIFVzZSBzaGFsbG93RXF1YWwgY29tcGFyZSBiZWZv
cmUgc2V0dGluZyB2YWx1ZS4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvR2VuZXJh
bFRyZWVFbGVtZW50LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkdlbmVyYWxUcmVlRWxlbWVu
dC5wcm90b3R5cGUuc2V0IGNsYXNzTmFtZXMpOgorICAgICAgICBVc2Ugc2hhbGxvd0VxdWFsIGNv
bXBhcmUgYmVmb3JlIHNldHRpbmcgdmFsdWUuCisgICAgICAgIChXZWJJbnNwZWN0b3IuR2VuZXJh
bFRyZWVFbGVtZW50LnByb3RvdHlwZS5zZXQgbWFpblRpdGxlKToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5HZW5lcmFsVHJlZUVsZW1lbnQucHJvdG90eXBlLnNldCBzdWJ0aXRsZSk6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuR2VuZXJhbFRyZWVFbGVtZW50LnByb3RvdHlwZS5zZXQgc3RhdHVzKToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5HZW5lcmFsVHJlZUVsZW1lbnQucHJvdG90eXBlLnNldCB0
b29sdGlwSGFuZGxlZFNlcGFyYXRlbHkpOgorCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3
cy9UaW1lbGluZU92ZXJ2aWV3LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3Zl
cnZpZXcucHJvdG90eXBlLnNldCBzdGFydFRpbWUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRp
bWVsaW5lT3ZlcnZpZXcucHJvdG90eXBlLnNldCBjdXJyZW50VGltZSk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuVGltZWxpbmVPdmVydmlldy5wcm90b3R5cGUuc2V0IGVuZFRpbWUpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcucHJvdG90eXBlLnNldCBzY3JvbGxTdGFy
dFRpbWUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcucHJvdG90eXBl
LnNldCBzZWxlY3Rpb25TdGFydFRpbWUpOgorICAgICAgICBDaGVjayBjdXJyZW50IHJ1bGVyIHNl
bGVjdGlvblN0YXJ0VGltZSBiZWZvcmUgc2V0dGluZyB2YWx1ZS4KKworICAgICAgICAqIFVzZXJJ
bnRlcmZhY2UvVmlld3MvVGltZWxpbmVPdmVydmlld0dyYXBoLmpzOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5wcm90b3R5cGUuc2V0IHplcm9UaW1lKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3R3JhcGgucHJvdG90eXBlLnNldCBz
dGFydFRpbWUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXdHcmFwaC5w
cm90b3R5cGUuc2V0IGVuZFRpbWUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lT3Zl
cnZpZXdHcmFwaC5wcm90b3R5cGUuc2V0IGN1cnJlbnRUaW1lKToKKworICAgICAgICAqIFVzZXJJ
bnRlcmZhY2UvVmlld3MvVGltZWxpbmVSdWxlci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5U
aW1lbGluZVJ1bGVyKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVJ1bGVyLnByb3Rv
dHlwZS5zZXQgYWxsb3dzQ2xpcHBlZExhYmVscyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGlt
ZWxpbmVSdWxlci5wcm90b3R5cGUuc2V0IGZvcm1hdExhYmVsQ2FsbGJhY2spOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLlRpbWVsaW5lUnVsZXIucHJvdG90eXBlLnNldCBhbGxvd3NUaW1lUmFuZ2VT
ZWxlY3Rpb24pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUnVsZXIucHJvdG90eXBl
LnNldCB6ZXJvVGltZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVSdWxlci5wcm90
b3R5cGUuc2V0IHN0YXJ0VGltZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVSdWxl
ci5wcm90b3R5cGUuc2V0IGVuZFRpbWUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5l
UnVsZXIucHJvdG90eXBlLnNldCBzZWNvbmRzUGVyUGl4ZWwpOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLlRpbWVsaW5lUnVsZXIucHJvdG90eXBlLnNldCBzZWxlY3Rpb25TdGFydFRpbWUpOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUnVsZXIucHJvdG90eXBlLnNldCBzZWxlY3Rpb25F
bmRUaW1lKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVJ1bGVyLnByb3RvdHlwZS5z
ZXQgZHVyYXRpb24pOiBEZWxldGVkLgorICAgICAgICBUaGUgcnVsZXIgZHVyYXRpb24gYW5kICJw
aW5uZWQiIHN0YXRlIGFyZSBjb250cm9sbGVkIGJ5IHNldHRpbmcgYW4gZW5kCisgICAgICAgIHRp
bWUuIFJlbW92ZWQgc2luY2UgaXQgd2Fzbid0IGJlaW5nIHVzZWQsIGFuZCB0aGVyZSBzaG91bGRu
J3QgYmUgdHdvCisgICAgICAgIHdheXMgdG8gdGhlIGV4YWN0IHNhbWUgdGhpbmcuCisKKyAgICAg
ICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lVmlldy5qczoKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5UaW1lbGluZVZpZXcucHJvdG90eXBlLnNldCB6ZXJvVGltZSk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuVGltZWxpbmVWaWV3LnByb3RvdHlwZS5zZXQgc3RhcnRUaW1lKToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVZpZXcucHJvdG90eXBlLnNldCBlbmRUaW1lKToKKwog
MjAxNS0xMi0wNCAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjE5MzQ4Ni4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9UaW1lbGluZU1hcmtlci5qcyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9UaW1lbGluZU1hcmtl
ci5qcwppbmRleCA5MmRmMzEyYmRhNDQ3Y2VmMmFjMTI1ZTg4ODRiOTMyZThiZDAxZGU4Li5kZWUw
MzhjYjBlZjllMGM4NDAwMWU3YjY2OWZkNTYzOGRmY2FhNjMyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvVGltZWxpbmVNYXJrZXIuanMKKysr
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1RpbWVsaW5lTWFy
a2VyLmpzCkBAIC00NSwxMCArNDUsMTQgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lTWFya2VyID0g
Y2xhc3MgVGltZWxpbmVNYXJrZXIgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZWN0CiAKICAgICBz
ZXQgdGltZSh4KQogICAgIHsKKyAgICAgICAgY29uc29sZS5hc3NlcnQodHlwZW9mIHggPT09ICJu
dW1iZXIiLCAiVGltZSBzaG91bGQgYmUgYSBudW1iZXIuIik7CisKKyAgICAgICAgeCA9IHggfHwg
MDsKKwogICAgICAgICBpZiAodGhpcy5fdGltZSA9PT0geCkKICAgICAgICAgICAgIHJldHVybjsK
IAotICAgICAgICB0aGlzLl90aW1lID0geCB8fCAwOworICAgICAgICB0aGlzLl90aW1lID0geDsK
IAogICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuVGlt
ZWxpbmVNYXJrZXIuRXZlbnQuVGltZUNoYW5nZWQpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RhdGFHcmlkLmpzIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRGF0YUdyaWQuanMKaW5kZXggYTAy
MTlmNjYzMmVkNWEyNGU5MzFlZjRhNGJkYTE2NWRkNjQ2NjVhYS4uODFmZmI3N2ZiM2U2NmM3Yzhk
MzlkMzU2OWE4Nzg5ZTRiMDQ2ZTY4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvRGF0YUdyaWQuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRGF0YUdyaWQuanMKQEAgLTEzMjUsMTAgKzEzMjUsMTIg
QEAgV2ViSW5zcGVjdG9yLkRhdGFHcmlkTm9kZSA9IGNsYXNzIERhdGFHcmlkTm9kZSBleHRlbmRz
IFdlYkluc3BlY3Rvci5PYmplY3QKIAogICAgIHNldCBoaWRkZW4oeCkKICAgICB7Ci0gICAgICAg
IGlmICh4ID09PSB0aGlzLl9oaWRkZW4pCisgICAgICAgIHggPSAhIXg7CisKKyAgICAgICAgaWYg
KHRoaXMuX2hpZGRlbiA9PT0geCkKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICB0aGlz
Ll9oaWRkZW4gPSB4IHx8IGZhbHNlOworICAgICAgICB0aGlzLl9oaWRkZW4gPSB4OwogICAgICAg
ICBpZiAodGhpcy5fZWxlbWVudCkKICAgICAgICAgICAgIHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0
LnRvZ2dsZSgiaGlkZGVuIiwgdGhpcy5faGlkZGVuKTsKICAgICB9CkBAIC0xNDEwLDcgKzE0MTIs
MTQgQEAgV2ViSW5zcGVjdG9yLkRhdGFHcmlkTm9kZSA9IGNsYXNzIERhdGFHcmlkTm9kZSBleHRl
bmRzIFdlYkluc3BlY3Rvci5PYmplY3QKIAogICAgIHNldCBkYXRhKHgpCiAgICAgewotICAgICAg
ICB0aGlzLl9kYXRhID0geCB8fCB7fTsKKyAgICAgICAgY29uc29sZS5hc3NlcnQodHlwZW9mIHgg
PT09ICJvYmplY3QiLCAiRGF0YSBzaG91bGQgYmUgYW4gb2JqZWN0LiIpOworCisgICAgICAgIHgg
PSB4IHx8IHt9OworCisgICAgICAgIGlmIChPYmplY3Quc2hhbGxvd0VxdWFsKHRoaXMuX2RhdGEs
IHgpKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIHRoaXMuX2RhdGEgPSB4OwogICAg
ICAgICB0aGlzLm5lZWRzUmVmcmVzaCgpOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvR2VuZXJhbFRyZWVFbGVtZW50LmpzIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvR2VuZXJhbFRyZWVFbGVt
ZW50LmpzCmluZGV4IDAwMGM4NDZkZWExYjJmMWQyNDQwOGFkZmZhNjE0YTc1Y2ZlMDgzNTguLjJh
ZWQyZTA3Y2Y1MTA0ZThhMjA4MjU5MThmNWFiNjA5MTE1NzNkNmIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0dlbmVyYWxUcmVlRWxlbWVudC5q
cworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9HZW5lcmFs
VHJlZUVsZW1lbnQuanMKQEAgLTc2LDE4ICs3NiwyMSBAQCBXZWJJbnNwZWN0b3IuR2VuZXJhbFRy
ZWVFbGVtZW50ID0gY2xhc3MgR2VuZXJhbFRyZWVFbGVtZW50IGV4dGVuZHMgV2ViSW5zcGVjdG9y
LgogCiAgICAgc2V0IGNsYXNzTmFtZXMoeCkKICAgICB7Ci0gICAgICAgIGlmICh0aGlzLl9saXN0
SXRlbU5vZGUgJiYgdGhpcy5fY2xhc3NOYW1lcykgewotICAgICAgICAgICAgdGhpcy5fbGlzdEl0
ZW1Ob2RlLmNsYXNzTGlzdC5yZW1vdmUoLi4udGhpcy5fY2xhc3NOYW1lcyk7Ci0gICAgICAgIH0K
KyAgICAgICAgeCA9IHggfHwgW107CiAKICAgICAgICAgaWYgKHR5cGVvZiB4ID09PSAic3RyaW5n
IikKICAgICAgICAgICAgIHggPSBbeF07CiAKLSAgICAgICAgdGhpcy5fY2xhc3NOYW1lcyA9IHgg
fHwgW107CisgICAgICAgIGlmIChPYmplY3Quc2hhbGxvd0VxdWFsKHRoaXMuX2NsYXNzTmFtZXMs
IHgpKQorICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIGlmICh0aGlzLl9saXN0SXRlbU5v
ZGUpIHsKKyAgICAgICAgaWYgKHRoaXMuX2xpc3RJdGVtTm9kZSAmJiB0aGlzLl9jbGFzc05hbWVz
KQorICAgICAgICAgICAgdGhpcy5fbGlzdEl0ZW1Ob2RlLmNsYXNzTGlzdC5yZW1vdmUoLi4udGhp
cy5fY2xhc3NOYW1lcyk7CisKKyAgICAgICAgdGhpcy5fY2xhc3NOYW1lcyA9IHg7CisKKyAgICAg
ICAgaWYgKHRoaXMuX2xpc3RJdGVtTm9kZSkKICAgICAgICAgICAgIHRoaXMuX2xpc3RJdGVtTm9k
ZS5jbGFzc0xpc3QuYWRkKC4uLnRoaXMuX2NsYXNzTmFtZXMpOwotICAgICAgICB9CiAgICAgfQog
CiAgICAgYWRkQ2xhc3NOYW1lKGNsYXNzTmFtZSkKQEAgLTE1Myw3ICsxNTYsMTIgQEAgV2ViSW5z
cGVjdG9yLkdlbmVyYWxUcmVlRWxlbWVudCA9IGNsYXNzIEdlbmVyYWxUcmVlRWxlbWVudCBleHRl
bmRzIFdlYkluc3BlY3Rvci4KIAogICAgIHNldCBtYWluVGl0bGUoeCkKICAgICB7Ci0gICAgICAg
IHRoaXMuX21haW5UaXRsZSA9IHggfHwgIiI7CisgICAgICAgIHggPSB4IHx8ICIiOworCisgICAg
ICAgIGlmICh0aGlzLl9tYWluVGl0bGUgPT09IHgpCisgICAgICAgICAgICByZXR1cm47CisKKyAg
ICAgICAgdGhpcy5fbWFpblRpdGxlID0geDsKICAgICAgICAgdGhpcy5fdXBkYXRlVGl0bGVFbGVt
ZW50cygpOwogICAgICAgICB0aGlzLmRpZENoYW5nZSgpOwogICAgICAgICB0aGlzLmRpc3BhdGNo
RXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuR2VuZXJhbFRyZWVFbGVtZW50LkV2ZW50Lk1h
aW5UaXRsZURpZENoYW5nZSk7CkBAIC0xNjYsNyArMTc0LDEyIEBAIFdlYkluc3BlY3Rvci5HZW5l
cmFsVHJlZUVsZW1lbnQgPSBjbGFzcyBHZW5lcmFsVHJlZUVsZW1lbnQgZXh0ZW5kcyBXZWJJbnNw
ZWN0b3IuCiAKICAgICBzZXQgc3VidGl0bGUoeCkKICAgICB7Ci0gICAgICAgIHRoaXMuX3N1YnRp
dGxlID0geCB8fCAiIjsKKyAgICAgICAgeCA9IHggfHwgIiI7CisKKyAgICAgICAgaWYgKHRoaXMu
X3N1YnRpdGxlID09PSB4KQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIHRoaXMuX3N1
YnRpdGxlID0geDsKICAgICAgICAgdGhpcy5fdXBkYXRlVGl0bGVFbGVtZW50cygpOwogICAgICAg
ICB0aGlzLmRpZENoYW5nZSgpOwogICAgIH0KQEAgLTE3OCw2ICsxOTEsOCBAQCBXZWJJbnNwZWN0
b3IuR2VuZXJhbFRyZWVFbGVtZW50ID0gY2xhc3MgR2VuZXJhbFRyZWVFbGVtZW50IGV4dGVuZHMg
V2ViSW5zcGVjdG9yLgogCiAgICAgc2V0IHN0YXR1cyh4KQogICAgIHsKKyAgICAgICAgeCA9IHgg
fHwgIiI7CisKICAgICAgICAgaWYgKHRoaXMuX3N0YXR1cyA9PT0geCkKICAgICAgICAgICAgIHJl
dHVybjsKIApAQCAtMTg2LDcgKzIwMSw3IEBAIFdlYkluc3BlY3Rvci5HZW5lcmFsVHJlZUVsZW1l
bnQgPSBjbGFzcyBHZW5lcmFsVHJlZUVsZW1lbnQgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuCiAgICAg
ICAgICAgICB0aGlzLl9zdGF0dXNFbGVtZW50LmNsYXNzTmFtZSA9IFdlYkluc3BlY3Rvci5HZW5l
cmFsVHJlZUVsZW1lbnQuU3RhdHVzRWxlbWVudFN0eWxlQ2xhc3NOYW1lOwogICAgICAgICB9CiAK
LSAgICAgICAgdGhpcy5fc3RhdHVzID0geCB8fCAiIjsKKyAgICAgICAgdGhpcy5fc3RhdHVzID0g
eDsKICAgICAgICAgdGhpcy5fdXBkYXRlU3RhdHVzRWxlbWVudCgpOwogICAgIH0KIApAQCAtMjAy
LDcgKzIxNyw3IEBAIFdlYkluc3BlY3Rvci5HZW5lcmFsVHJlZUVsZW1lbnQgPSBjbGFzcyBHZW5l
cmFsVHJlZUVsZW1lbnQgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuCiAKICAgICBzZXQgdG9vbHRpcEhh
bmRsZWRTZXBhcmF0ZWx5KHgpCiAgICAgewotICAgICAgICB0aGlzLl90b29sdGlwSGFuZGxlZFNl
cGFyYXRlbHkgPSB4IHx8IGZhbHNlOworICAgICAgICB0aGlzLl90b29sdGlwSGFuZGxlZFNlcGFy
YXRlbHkgPSAhIXg7CiAgICAgfQogCiAgICAgLy8gT3ZlcnJpZGVzIGZyb20gVHJlZUVsZW1lbnQg
KFByaXZhdGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9UaW1lbGluZU92ZXJ2aWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvVGltZWxpbmVPdmVydmlldy5qcwppbmRleCAwMWVlNjFiOWVkYjA3ODU3
Y2Q3NTY5YjA1ODg3NGM1NzdjNGExM2RiLi5lMjBhNTFmNTQ5ZjY5ZjAwMmRmZWFiNmQxMmMwZjNh
OGM1ZWM3ZmVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9UaW1lbGluZU92ZXJ2aWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lT3ZlcnZpZXcuanMKQEAgLTEwNiwxMCArMTA2LDEy
IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3ID0gY2xhc3MgVGltZWxpbmVPdmVydmll
dyBleHRlbmRzIFdlYkluc3BlY3Rvci5WaWV3CiAKICAgICBzZXQgc3RhcnRUaW1lKHgpCiAgICAg
eworICAgICAgICB4ID0geCB8fCAwOworCiAgICAgICAgIGlmICh0aGlzLl9zdGFydFRpbWUgPT09
IHgpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgdGhpcy5fc3RhcnRUaW1lID0geCB8
fCAwOworICAgICAgICB0aGlzLl9zdGFydFRpbWUgPSB4OwogCiAgICAgICAgIHRoaXMubmVlZHNM
YXlvdXQoKTsKICAgICB9CkBAIC0xMjEsMTAgKzEyMywxMiBAQCBXZWJJbnNwZWN0b3IuVGltZWxp
bmVPdmVydmlldyA9IGNsYXNzIFRpbWVsaW5lT3ZlcnZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0b3Iu
VmlldwogCiAgICAgc2V0IGN1cnJlbnRUaW1lKHgpCiAgICAgeworICAgICAgICB4ID0geCB8fCAw
OworCiAgICAgICAgIGlmICh0aGlzLl9jdXJyZW50VGltZSA9PT0geCkKICAgICAgICAgICAgIHJl
dHVybjsKIAotICAgICAgICB0aGlzLl9jdXJyZW50VGltZSA9IHggfHwgMDsKKyAgICAgICAgdGhp
cy5fY3VycmVudFRpbWUgPSB4OwogICAgICAgICB0aGlzLl9yZXZlYWxDdXJyZW50VGltZSA9IHRy
dWU7CiAKICAgICAgICAgdGhpcy5uZWVkc0xheW91dCgpOwpAQCAtMTc3LDEwICsxODEsMTIgQEAg
V2ViSW5zcGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXcgPSBjbGFzcyBUaW1lbGluZU92ZXJ2aWV3IGV4
dGVuZHMgV2ViSW5zcGVjdG9yLlZpZXcKIAogICAgIHNldCBlbmRUaW1lKHgpCiAgICAgeworICAg
ICAgICB4ID0geCB8fCAwOworCiAgICAgICAgIGlmICh0aGlzLl9lbmRUaW1lID09PSB4KQogICAg
ICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIHRoaXMuX2VuZFRpbWUgPSB4IHx8IDA7CisgICAg
ICAgIHRoaXMuX2VuZFRpbWUgPSB4OwogCiAgICAgICAgIHRoaXMubmVlZHNMYXlvdXQoKTsKICAg
ICB9CkBAIC0xOTIsMTAgKzE5OCwxMiBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldyA9
IGNsYXNzIFRpbWVsaW5lT3ZlcnZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuVmlldwogCiAgICAg
c2V0IHNjcm9sbFN0YXJ0VGltZSh4KQogICAgIHsKKyAgICAgICAgeCA9IHggfHwgMDsKKwogICAg
ICAgICBpZiAodGhpcy5fc2Nyb2xsU3RhcnRUaW1lID09PSB4KQogICAgICAgICAgICAgcmV0dXJu
OwogCi0gICAgICAgIHRoaXMuX3Njcm9sbFN0YXJ0VGltZSA9IHggfHwgMDsKKyAgICAgICAgdGhp
cy5fc2Nyb2xsU3RhcnRUaW1lID0geDsKIAogICAgICAgICB0aGlzLm5lZWRzTGF5b3V0KCk7CiAg
ICAgfQpAQCAtMjIwLDcgKzIyOCwxMCBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlldyA9
IGNsYXNzIFRpbWVsaW5lT3ZlcnZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuVmlldwogICAgIHsK
ICAgICAgICAgeCA9IHggfHwgMDsKIAotICAgICAgICB2YXIgc2VsZWN0aW9uRHVyYXRpb24gPSB0
aGlzLnNlbGVjdGlvbkR1cmF0aW9uOworICAgICAgICBpZiAodGhpcy5fdGltZWxpbmVSdWxlci5z
ZWxlY3Rpb25TdGFydFRpbWUgPT09IHgpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAg
bGV0IHNlbGVjdGlvbkR1cmF0aW9uID0gdGhpcy5zZWxlY3Rpb25EdXJhdGlvbjsKICAgICAgICAg
dGhpcy5fdGltZWxpbmVSdWxlci5zZWxlY3Rpb25TdGFydFRpbWUgPSB4OwogICAgICAgICB0aGlz
Ll90aW1lbGluZVJ1bGVyLnNlbGVjdGlvbkVuZFRpbWUgPSB4ICsgc2VsZWN0aW9uRHVyYXRpb247
CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvVGltZWxpbmVPdmVydmlld0dyYXBoLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVPdmVydmlld0dyYXBoLmpzCmluZGV4IDk2OTBjZjEy
MWUxZTBjMTg5Y2M0ZjRjZTA3ZTNhNzY3YjAyMGFiOTYuLjE1ZTU0NDEyMDMyODc4MzU5Yjk1NjI2
ZjZmOTkwYmM1ZDUzYjk1NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lT3ZlcnZpZXdHcmFwaC5qcworKysgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZU92ZXJ2aWV3R3JhcGguanMK
QEAgLTcxLDEwICs3MSwxMiBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVPdmVydmlld0dyYXBoID0g
Y2xhc3MgVGltZWxpbmVPdmVydmlld0dyYXBoIGV4dGVuZHMgV2ViSW5zcAogCiAgICAgc2V0IHpl
cm9UaW1lKHgpCiAgICAgeworICAgICAgICB4ID0geCB8fCAwOworCiAgICAgICAgIGlmICh0aGlz
Ll96ZXJvVGltZSA9PT0geCkKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICB0aGlzLl96
ZXJvVGltZSA9IHggfHwgMDsKKyAgICAgICAgdGhpcy5femVyb1RpbWUgPSB4OwogCiAgICAgICAg
IHRoaXMubmVlZHNMYXlvdXQoKTsKICAgICB9CkBAIC04NiwxMCArODgsMTIgQEAgV2ViSW5zcGVj
dG9yLlRpbWVsaW5lT3ZlcnZpZXdHcmFwaCA9IGNsYXNzIFRpbWVsaW5lT3ZlcnZpZXdHcmFwaCBl
eHRlbmRzIFdlYkluc3AKIAogICAgIHNldCBzdGFydFRpbWUoeCkKICAgICB7CisgICAgICAgIHgg
PSB4IHx8IDA7CisKICAgICAgICAgaWYgKHRoaXMuX3N0YXJ0VGltZSA9PT0geCkKICAgICAgICAg
ICAgIHJldHVybjsKIAotICAgICAgICB0aGlzLl9zdGFydFRpbWUgPSB4IHx8IDA7CisgICAgICAg
IHRoaXMuX3N0YXJ0VGltZSA9IHg7CiAKICAgICAgICAgdGhpcy5uZWVkc0xheW91dCgpOwogICAg
IH0KQEAgLTEwMSwxMCArMTA1LDEyIEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZU92ZXJ2aWV3R3Jh
cGggPSBjbGFzcyBUaW1lbGluZU92ZXJ2aWV3R3JhcGggZXh0ZW5kcyBXZWJJbnNwCiAKICAgICBz
ZXQgZW5kVGltZSh4KQogICAgIHsKKyAgICAgICAgeCA9IHggfHwgMDsKKwogICAgICAgICBpZiAo
dGhpcy5fZW5kVGltZSA9PT0geCkKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICB0aGlz
Ll9lbmRUaW1lID0geCB8fCAwOworICAgICAgICB0aGlzLl9lbmRUaW1lID0geDsKIAogICAgICAg
ICB0aGlzLm5lZWRzTGF5b3V0KCk7CiAgICAgfQpAQCAtMTE2LDEyICsxMjIsMTQgQEAgV2ViSW5z
cGVjdG9yLlRpbWVsaW5lT3ZlcnZpZXdHcmFwaCA9IGNsYXNzIFRpbWVsaW5lT3ZlcnZpZXdHcmFw
aCBleHRlbmRzIFdlYkluc3AKIAogICAgIHNldCBjdXJyZW50VGltZSh4KQogICAgIHsKKyAgICAg
ICAgeCA9IHggfHwgMDsKKwogICAgICAgICBpZiAodGhpcy5fY3VycmVudFRpbWUgPT09IHgpCiAg
ICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgdmFyIG9sZEN1cnJlbnRUaW1lID0gdGhpcy5f
Y3VycmVudFRpbWU7CisgICAgICAgIGxldCBvbGRDdXJyZW50VGltZSA9IHRoaXMuX2N1cnJlbnRU
aW1lOwogCi0gICAgICAgIHRoaXMuX2N1cnJlbnRUaW1lID0geCB8fCAwOworICAgICAgICB0aGlz
Ll9jdXJyZW50VGltZSA9IHg7CiAKICAgICAgICAgaWYgKCh0aGlzLl9zdGFydFRpbWUgPD0gb2xk
Q3VycmVudFRpbWUgJiYgb2xkQ3VycmVudFRpbWUgPD0gdGhpcy5fZW5kVGltZSkgfHwgKHRoaXMu
X3N0YXJ0VGltZSA8PSB0aGlzLl9jdXJyZW50VGltZSAmJiB0aGlzLl9jdXJyZW50VGltZSA8PSB0
aGlzLl9lbmRUaW1lKSkKICAgICAgICAgICAgIHRoaXMubmVlZHNMYXlvdXQoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUnVs
ZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGlu
ZVJ1bGVyLmpzCmluZGV4IDY2ZDcwZmUyNjQ5NjI4MzhlZjRkNjAxNzAxNzcwNTc1NjIyYzdkMTku
LjRjODNiZjU0MzFlZDU3MGYxNDEwNWU2ODc0MGY4NGJiMWZiZjdmMWEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lUnVsZXIuanMK
KysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVS
dWxlci5qcwpAQCAtNDcsNiArNDcsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVSdWxlciA9IGNs
YXNzIFRpbWVsaW5lUnVsZXIgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuVmlldwogICAgICAgICB0aGlz
Ll9zZWxlY3Rpb25TdGFydFRpbWUgPSAwOwogICAgICAgICB0aGlzLl9zZWxlY3Rpb25FbmRUaW1l
ID0gSW5maW5pdHk7CiAgICAgICAgIHRoaXMuX2VuZFRpbWVQaW5uZWQgPSBmYWxzZTsKKyAgICAg
ICAgdGhpcy5fc25hcEludGVydmFsID0gMDsKICAgICAgICAgdGhpcy5fYWxsb3dzQ2xpcHBlZExh
YmVscyA9IGZhbHNlOwogICAgICAgICB0aGlzLl9hbGxvd3NUaW1lUmFuZ2VTZWxlY3Rpb24gPSBm
YWxzZTsKICAgICAgICAgdGhpcy5fbWluaW11bVNlbGVjdGlvbkR1cmF0aW9uID0gMC4wMTsKQEAg
LTY1LDEwICs2NiwxMiBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVSdWxlciA9IGNsYXNzIFRpbWVs
aW5lUnVsZXIgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuVmlldwogCiAgICAgc2V0IGFsbG93c0NsaXBw
ZWRMYWJlbHMoeCkKICAgICB7CisgICAgICAgIHggPSAhIXg7CisKICAgICAgICAgaWYgKHRoaXMu
X2FsbG93c0NsaXBwZWRMYWJlbHMgPT09IHgpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAg
ICAgdGhpcy5fYWxsb3dzQ2xpcHBlZExhYmVscyA9IHggfHwgZmFsc2U7CisgICAgICAgIHRoaXMu
X2FsbG93c0NsaXBwZWRMYWJlbHMgPSB4OwogCiAgICAgICAgIHRoaXMubmVlZHNMYXlvdXQoKTsK
ICAgICB9CkBAIC03NywxMCArODAsMTIgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUnVsZXIgPSBj
bGFzcyBUaW1lbGluZVJ1bGVyIGV4dGVuZHMgV2ViSW5zcGVjdG9yLlZpZXcKICAgICB7CiAgICAg
ICAgIGNvbnNvbGUuYXNzZXJ0KHR5cGVvZiB4ID09PSAiZnVuY3Rpb24iIHx8ICF4LCB4KTsKIAor
ICAgICAgICB4ID0geCB8fCBudWxsOworCiAgICAgICAgIGlmICh0aGlzLl9mb3JtYXRMYWJlbENh
bGxiYWNrID09PSB4KQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIHRoaXMuX2Zvcm1h
dExhYmVsQ2FsbGJhY2sgPSB4IHx8IG51bGw7CisgICAgICAgIHRoaXMuX2Zvcm1hdExhYmVsQ2Fs
bGJhY2sgPSB4OwogCiAgICAgICAgIHRoaXMubmVlZHNMYXlvdXQoKTsKICAgICB9CkBAIC05Miwx
MCArOTcsMTIgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUnVsZXIgPSBjbGFzcyBUaW1lbGluZVJ1
bGVyIGV4dGVuZHMgV2ViSW5zcGVjdG9yLlZpZXcKIAogICAgIHNldCBhbGxvd3NUaW1lUmFuZ2VT
ZWxlY3Rpb24oeCkKICAgICB7CisgICAgICAgIHggPSAhIXg7CisKICAgICAgICAgaWYgKHRoaXMu
X2FsbG93c1RpbWVSYW5nZVNlbGVjdGlvbiA9PT0geCkKICAgICAgICAgICAgIHJldHVybjsKIAot
ICAgICAgICB0aGlzLl9hbGxvd3NUaW1lUmFuZ2VTZWxlY3Rpb24gPSB4IHx8IGZhbHNlOworICAg
ICAgICB0aGlzLl9hbGxvd3NUaW1lUmFuZ2VTZWxlY3Rpb24gPSB4OwogCiAgICAgICAgIGlmICh4
KSB7CiAgICAgICAgICAgICB0aGlzLl9tb3VzZURvd25FdmVudExpc3RlbmVyID0gdGhpcy5faGFu
ZGxlTW91c2VEb3duLmJpbmQodGhpcyk7CkBAIC0xNTgsMTAgKzE2NSwxMiBAQCBXZWJJbnNwZWN0
b3IuVGltZWxpbmVSdWxlciA9IGNsYXNzIFRpbWVsaW5lUnVsZXIgZXh0ZW5kcyBXZWJJbnNwZWN0
b3IuVmlldwogCiAgICAgc2V0IHplcm9UaW1lKHgpCiAgICAgeworICAgICAgICB4ID0geCB8fCAw
OworCiAgICAgICAgIGlmICh0aGlzLl96ZXJvVGltZSA9PT0geCkKICAgICAgICAgICAgIHJldHVy
bjsKIAotICAgICAgICB0aGlzLl96ZXJvVGltZSA9IHggfHwgMDsKKyAgICAgICAgdGhpcy5femVy
b1RpbWUgPSB4OwogCiAgICAgICAgIHRoaXMubmVlZHNMYXlvdXQoKTsKICAgICB9CkBAIC0xNzMs
MTAgKzE4MiwxMiBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVSdWxlciA9IGNsYXNzIFRpbWVsaW5l
UnVsZXIgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuVmlldwogCiAgICAgc2V0IHN0YXJ0VGltZSh4KQog
ICAgIHsKKyAgICAgICAgeCA9IHggfHwgMDsKKwogICAgICAgICBpZiAodGhpcy5fc3RhcnRUaW1l
ID09PSB4KQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIHRoaXMuX3N0YXJ0VGltZSA9
IHggfHwgMDsKKyAgICAgICAgdGhpcy5fc3RhcnRUaW1lID0geDsKIAogICAgICAgICBpZiAoIWlz
TmFOKHRoaXMuX2R1cmF0aW9uKSkKICAgICAgICAgICAgIHRoaXMuX2VuZFRpbWUgPSB0aGlzLl9z
dGFydFRpbWUgKyB0aGlzLl9kdXJhdGlvbjsKQEAgLTE5MSwyMiArMjAyLDYgQEAgV2ViSW5zcGVj
dG9yLlRpbWVsaW5lUnVsZXIgPSBjbGFzcyBUaW1lbGluZVJ1bGVyIGV4dGVuZHMgV2ViSW5zcGVj
dG9yLlZpZXcKICAgICAgICAgcmV0dXJuIHRoaXMuZW5kVGltZSAtIHRoaXMuc3RhcnRUaW1lOwog
ICAgIH0KIAotICAgIHNldCBkdXJhdGlvbih4KQotICAgIHsKLSAgICAgICAgaWYgKHRoaXMuX2R1
cmF0aW9uID09PSB4KQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIHRoaXMuX2R1cmF0
aW9uID0geCB8fCBOYU47Ci0KLSAgICAgICAgaWYgKCFpc05hTih0aGlzLl9kdXJhdGlvbikpIHsK
LSAgICAgICAgICAgIHRoaXMuX2VuZFRpbWUgPSB0aGlzLl9zdGFydFRpbWUgKyB0aGlzLl9kdXJh
dGlvbjsKLSAgICAgICAgICAgIHRoaXMuX2VuZFRpbWVQaW5uZWQgPSB0cnVlOwotICAgICAgICB9
IGVsc2UKLSAgICAgICAgICAgIHRoaXMuX2VuZFRpbWVQaW5uZWQgPSBmYWxzZTsKLQotICAgICAg
ICB0aGlzLm5lZWRzTGF5b3V0KCk7Ci0gICAgfQotCiAgICAgZ2V0IGVuZFRpbWUoKQogICAgIHsK
ICAgICAgICAgaWYgKCF0aGlzLl9lbmRUaW1lUGlubmVkICYmIHRoaXMubGF5b3V0UGVuZGluZykK
QEAgLTIxNiwxMCArMjExLDEyIEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVJ1bGVyID0gY2xhc3Mg
VGltZWxpbmVSdWxlciBleHRlbmRzIFdlYkluc3BlY3Rvci5WaWV3CiAKICAgICBzZXQgZW5kVGlt
ZSh4KQogICAgIHsKKyAgICAgICAgeCA9IHggfHwgMDsKKwogICAgICAgICBpZiAodGhpcy5fZW5k
VGltZSA9PT0geCkKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICB0aGlzLl9lbmRUaW1l
ID0geCB8fCAwOworICAgICAgICB0aGlzLl9lbmRUaW1lID0geDsKICAgICAgICAgdGhpcy5fZW5k
VGltZVBpbm5lZCA9IHRydWU7CiAKICAgICAgICAgdGhpcy5uZWVkc0xheW91dCgpOwpAQCAtMjM0
LDEwICsyMzEsMTIgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUnVsZXIgPSBjbGFzcyBUaW1lbGlu
ZVJ1bGVyIGV4dGVuZHMgV2ViSW5zcGVjdG9yLlZpZXcKIAogICAgIHNldCBzZWNvbmRzUGVyUGl4
ZWwoeCkKICAgICB7CisgICAgICAgIHggPSB4IHx8IDA7CisKICAgICAgICAgaWYgKHRoaXMuX3Nl
Y29uZHNQZXJQaXhlbCA9PT0geCkKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICB0aGlz
Ll9zZWNvbmRzUGVyUGl4ZWwgPSB4IHx8IDA7CisgICAgICAgIHRoaXMuX3NlY29uZHNQZXJQaXhl
bCA9IHg7CiAgICAgICAgIHRoaXMuX2VuZFRpbWVQaW5uZWQgPSBmYWxzZTsKICAgICAgICAgdGhp
cy5fY3VycmVudFNsaWNlVGltZSA9IDA7CiAKQEAgLTI2NCwxMSArMjYzLDEyIEBAIFdlYkluc3Bl
Y3Rvci5UaW1lbGluZVJ1bGVyID0gY2xhc3MgVGltZWxpbmVSdWxlciBleHRlbmRzIFdlYkluc3Bl
Y3Rvci5WaWV3CiAKICAgICBzZXQgc2VsZWN0aW9uU3RhcnRUaW1lKHgpCiAgICAgewotICAgICAg
ICB4ID0gdGhpcy5fc25hcFZhbHVlKHgpOworICAgICAgICB4ID0gdGhpcy5fc25hcFZhbHVlKHgp
IHx8IDA7CisKICAgICAgICAgaWYgKHRoaXMuX3NlbGVjdGlvblN0YXJ0VGltZSA9PT0geCkKICAg
ICAgICAgICAgIHJldHVybjsKIAotICAgICAgICB0aGlzLl9zZWxlY3Rpb25TdGFydFRpbWUgPSB4
IHx8IDA7CisgICAgICAgIHRoaXMuX3NlbGVjdGlvblN0YXJ0VGltZSA9IHg7CiAgICAgICAgIHRo
aXMuX3RpbWVSYW5nZVNlbGVjdGlvbkNoYW5nZWQgPSB0cnVlOwogCiAgICAgICAgIHRoaXMuX25l
ZWRzU2VsZWN0aW9uTGF5b3V0KCk7CkBAIC0yODEsMTEgKzI4MSwxMiBAQCBXZWJJbnNwZWN0b3Iu
VGltZWxpbmVSdWxlciA9IGNsYXNzIFRpbWVsaW5lUnVsZXIgZXh0ZW5kcyBXZWJJbnNwZWN0b3Iu
VmlldwogCiAgICAgc2V0IHNlbGVjdGlvbkVuZFRpbWUoeCkKICAgICB7Ci0gICAgICAgIHggPSB0
aGlzLl9zbmFwVmFsdWUoeCk7CisgICAgICAgIHggPSB0aGlzLl9zbmFwVmFsdWUoeCkgfHwgMDsK
KwogICAgICAgICBpZiAodGhpcy5fc2VsZWN0aW9uRW5kVGltZSA9PT0geCkKICAgICAgICAgICAg
IHJldHVybjsKIAotICAgICAgICB0aGlzLl9zZWxlY3Rpb25FbmRUaW1lID0geCB8fCAwOworICAg
ICAgICB0aGlzLl9zZWxlY3Rpb25FbmRUaW1lID0geDsKICAgICAgICAgdGhpcy5fdGltZVJhbmdl
U2VsZWN0aW9uQ2hhbmdlZCA9IHRydWU7CiAKICAgICAgICAgdGhpcy5fbmVlZHNTZWxlY3Rpb25M
YXlvdXQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL1RpbWVsaW5lVmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL1RpbWVsaW5lVmlldy5qcwppbmRleCAyMDViZDQ3YjNhZjdiNjk2NGFhZTM3ODQ2
YWI0NjZjZTliMzk0YmM2Li4xMGMwN2NkMmEyODkxOWJlMzdmYTA1YzJmZjUxMzdhYjZiZWZkZjg4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9U
aW1lbGluZVZpZXcuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvVGltZWxpbmVWaWV3LmpzCkBAIC05MCwxMCArOTAsMTIgQEAgV2ViSW5zcGVjdG9yLlRp
bWVsaW5lVmlldyA9IGNsYXNzIFRpbWVsaW5lVmlldyBleHRlbmRzIFdlYkluc3BlY3Rvci5Db250
ZW50VmlldwogCiAgICAgc2V0IHplcm9UaW1lKHgpCiAgICAgeworICAgICAgICB4ID0geCB8fCAw
OworCiAgICAgICAgIGlmICh0aGlzLl96ZXJvVGltZSA9PT0geCkKICAgICAgICAgICAgIHJldHVy
bjsKIAotICAgICAgICB0aGlzLl96ZXJvVGltZSA9IHggfHwgMDsKKyAgICAgICAgdGhpcy5femVy
b1RpbWUgPSB4OwogCiAgICAgICAgIHRoaXMubmVlZHNMYXlvdXQoKTsKICAgICB9CkBAIC0xMDUs
MTAgKzEwNywxMiBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVWaWV3ID0gY2xhc3MgVGltZWxpbmVW
aWV3IGV4dGVuZHMgV2ViSW5zcGVjdG9yLkNvbnRlbnRWaWV3CiAKICAgICBzZXQgc3RhcnRUaW1l
KHgpCiAgICAgeworICAgICAgICB4ID0geCB8fCAwOworCiAgICAgICAgIGlmICh0aGlzLl9zdGFy
dFRpbWUgPT09IHgpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgdGhpcy5fc3RhcnRU
aW1lID0geCB8fCAwOworICAgICAgICB0aGlzLl9zdGFydFRpbWUgPSB4OwogCiAgICAgICAgIHRo
aXMubmVlZHNMYXlvdXQoKTsKICAgICB9CkBAIC0xMjAsMTAgKzEyNCwxMiBAQCBXZWJJbnNwZWN0
b3IuVGltZWxpbmVWaWV3ID0gY2xhc3MgVGltZWxpbmVWaWV3IGV4dGVuZHMgV2ViSW5zcGVjdG9y
LkNvbnRlbnRWaWV3CiAKICAgICBzZXQgZW5kVGltZSh4KQogICAgIHsKKyAgICAgICAgeCA9IHgg
fHwgMDsKKwogICAgICAgICBpZiAodGhpcy5fZW5kVGltZSA9PT0geCkKICAgICAgICAgICAgIHJl
dHVybjsKIAotICAgICAgICB0aGlzLl9lbmRUaW1lID0geCB8fCAwOworICAgICAgICB0aGlzLl9l
bmRUaW1lID0geDsKIAogICAgICAgICB0aGlzLm5lZWRzTGF5b3V0KCk7CiAgICAgfQpAQCAtMTM1
LDEyICsxNDEsMTQgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lVmlldyA9IGNsYXNzIFRpbWVsaW5l
VmlldyBleHRlbmRzIFdlYkluc3BlY3Rvci5Db250ZW50VmlldwogCiAgICAgc2V0IGN1cnJlbnRU
aW1lKHgpCiAgICAgeworICAgICAgICB4ID0geCB8fCAwOworCiAgICAgICAgIGlmICh0aGlzLl9j
dXJyZW50VGltZSA9PT0geCkKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICB2YXIgb2xk
Q3VycmVudFRpbWUgPSB0aGlzLl9jdXJyZW50VGltZTsKKyAgICAgICAgbGV0IG9sZEN1cnJlbnRU
aW1lID0gdGhpcy5fY3VycmVudFRpbWU7CiAKLSAgICAgICAgdGhpcy5fY3VycmVudFRpbWUgPSB4
IHx8IDA7CisgICAgICAgIHRoaXMuX2N1cnJlbnRUaW1lID0geDsKIAogICAgICAgICBmdW5jdGlv
biBjaGVja0lmTGF5b3V0SXNOZWVkZWQoY3VycmVudFRpbWUpCiAgICAgICAgIHsK
</data>

          </attachment>
      

    </bug>

</bugzilla>