<?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>99461</bug_id>
          
          <creation_ts>2012-10-16 05:48:24 -0700</creation_ts>
          <short_desc>Web Inspector: add timeline instrumentation for scrolling of a layer</short_desc>
          <delta_ts>2012-10-22 10:17:27 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andrey Kosyakov">caseq</reporter>
          <assigned_to name="Andrey Kosyakov">caseq</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>eric</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>nduca</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>743089</commentid>
    <comment_count>0</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-10-16 05:48:24 -0700</bug_when>
    <thetext>Layer scrolling can be rather expensive -- for example, scrolling gmail with 100 conversations per page is ca. 6ms, which is currently not accounted by timeline.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>743091</commentid>
    <comment_count>1</comment_count>
      <attachid>168931</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-10-16 05:50:35 -0700</bug_when>
    <thetext>Created attachment 168931
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>743103</commentid>
    <comment_count>2</comment_count>
      <attachid>168931</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-10-16 06:17:58 -0700</bug_when>
    <thetext>Comment on attachment 168931
Patch

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

r- for didScroll vs didScrollLayer

&gt; Source/WebCore/ChangeLog:8
&gt; +        - added timeline instrumentation for scrolling of a layer;

What does it give to the user? Is there a way to address scrolling slowness?

&gt; Source/WebCore/inspector/InspectorInstrumentation.h:147
&gt; +    static void didScrollLayer(Frame*);

What is the difference with didScroll ?

&gt; Source/WebCore/inspector/InspectorTimelineAgent.h:111
&gt; +    void willScroll(Frame*);

Nit: we should come up with more dense way of instrumenting simple signals.

&gt; Source/WebCore/rendering/RenderLayer.cpp:1712
&gt; +    InspectorInstrumentation::willScrollLayer(frame);

Is there a TRACE_EVENT for this? Should we start with tracing it there and add it into the instrumentation if it proves to be valuable?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>743107</commentid>
    <comment_count>3</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-10-16 06:29:39 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 168931 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=168931&amp;action=review
&gt; 
&gt; r- for didScroll vs didScrollLayer

&gt; &gt; Source/WebCore/ChangeLog:8
&gt; &gt; +        - added timeline instrumentation for scrolling of a layer;
&gt; 
&gt; What does it give to the user? 

It just closes the instrumentation gap -- we show where we spend considerable amount of time.

&gt; Is there a way to address scrolling slowness?

There may be, but I imagine it&apos;s an effort of a different magnitude. I think there&apos;s still value in adding instrumentation for this first.

&gt; &gt; Source/WebCore/inspector/InspectorInstrumentation.h:147
&gt; &gt; +    static void didScrollLayer(Frame*);
&gt; 
&gt; What is the difference with didScroll ?

didScroll is for scrolling a view, while didScrollLayer is for scrolling a layer. The code paths appear to be somewhat different. It would be trivial to instrument both, but so far I failed to create a scenario where scrolling a view would be sufficiently slow, so the idea was to instrument only what we know to be slow.

&gt; &gt; Source/WebCore/inspector/InspectorTimelineAgent.h:111
&gt; &gt; +    void willScroll(Frame*);
&gt; 
&gt; Nit: we should come up with more dense way of instrumenting simple signals.

Totally agree. I do have some ideas for that, but I see this as a separate issue.

&gt; &gt; Source/WebCore/rendering/RenderLayer.cpp:1712
&gt; &gt; +    InspectorInstrumentation::willScrollLayer(frame);
&gt; 
&gt; Is there a TRACE_EVENT for this? Should we start with tracing it there and add it into the instrumentation if it proves to be valuable?

I did have it internally before adding inspector instrumentation. Will add to the patch as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>743184</commentid>
    <comment_count>4</comment_count>
      <attachid>168955</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-10-16 08:54:15 -0700</bug_when>
    <thetext>Created attachment 168955
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747504</commentid>
    <comment_count>5</comment_count>
      <attachid>168955</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-10-22 07:00:07 -0700</bug_when>
    <thetext>Comment on attachment 168955
Patch

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

&gt; LayoutTests/inspector/timeline/timeline-enum-stability-expected.txt:32
&gt; +    Scroll : &quot;Scroll&quot;

ScrollLayer</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747656</commentid>
    <comment_count>6</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-10-22 10:17:27 -0700</bug_when>
    <thetext>Committed r132088: &lt;http://trac.webkit.org/changeset/132088&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>168931</attachid>
            <date>2012-10-16 05:50:35 -0700</date>
            <delta_ts>2012-10-16 08:54:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-99461-20121016164923.patch</filename>
            <type>text/plain</type>
            <size>11871</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxNDQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2MyOGM1OGZkZDQwM2Mw
ZmYyZmQyMzZhNzIwNzFmZDUwZDgzMzU0NS4uYjJjYzg1NTdkNGYyOGRkMTY4ZDhkNzM3ZjZjYzlm
ZjcxMjQ2YmMzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEyLTEwLTE2ICBBbmRy
ZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogYWRkIHRpbWVsaW5lIGluc3RydW1lbnRhdGlvbiBmb3Igc2Nyb2xsaW5nIG9mIGEgbGF5ZXIK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk5NDYxCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgLSBhZGRlZCB0
aW1lbGluZSBpbnN0cnVtZW50YXRpb24gZm9yIHNjcm9sbGluZyBvZiBhIGxheWVyOworCisgICAg
ICAgICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHA6CisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2ls
bFNjcm9sbExheWVySW1wbCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OmRpZFNjcm9sbExheWVySW1wbCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rv
ckluc3RydW1lbnRhdGlvbi5oOgorICAgICAgICAoSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uKToK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbFNjcm9sbExh
eWVyKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjpkaWRTY3JvbGxMYXllcik6CisgICAgICAgICogaW5zcGVjdG9yL0luc3Bl
Y3RvclRpbWVsaW5lQWdlbnQuY3BwOgorICAgICAgICAoVGltZWxpbmVSZWNvcmRUeXBlKToKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OndpbGxTY3JvbGwpOgorICAg
ICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50
OjpkaWRTY3JvbGwpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50
Lmg6CisgICAgICAgIChJbnNwZWN0b3JUaW1lbGluZUFnZW50KToKKyAgICAgICAgKiBpbnNwZWN0
b3IvZnJvbnQtZW5kL1RpbWVsaW5lTW9kZWwuanM6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250
LWVuZC9UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuX2luaXRSZWNvcmRTdHlsZXMpOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXll
cjo6c2Nyb2xsVG8pOgorCiAyMDEyLTEwLTE2ICBMdWtlIE1hY3BoZXJzb24gICA8bWFjcGhlcnNv
bkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgSGFuZGxlIENTU1Byb3BlcnR5T3BhY2l0eSBpbiBT
dHlsZUJ1aWxkZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JJbnN0cnVtZW50YXRpb24uY3BwCmluZGV4IDgxZGRlZDNlMDVmMGE3NWMxOGVkYWQwMWE4Y2Fl
MzE4YTk2ZGI0ZWUuLjA4ZjJiMGQ5ZTc0YzFmMjBjZDUyMTlkNDI3MmM3YmYwOGY1ZDU0ODEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRp
b24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50
YXRpb24uY3BwCkBAIC01MTUsNiArNTE1LDE4IEBAIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjpkaWRQYWludEltcGwoY29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llCiAg
ICAgICAgIHBhZ2VBZ2VudC0+ZGlkUGFpbnQoKTsKIH0KIAordm9pZCBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246OndpbGxTY3JvbGxMYXllckltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1
bWVudGluZ0FnZW50cywgRnJhbWUqIGZyYW1lKQoreworICAgIGlmIChJbnNwZWN0b3JUaW1lbGlu
ZUFnZW50KiB0aW1lbGluZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yVGlt
ZWxpbmVBZ2VudCgpKQorICAgICAgICB0aW1lbGluZUFnZW50LT53aWxsU2Nyb2xsKGZyYW1lKTsK
K30KKwordm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFNjcm9sbExheWVySW1wbChJ
bnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzKQoreworICAgIGlmIChJbnNw
ZWN0b3JUaW1lbGluZUFnZW50KiB0aW1lbGluZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+
aW5zcGVjdG9yVGltZWxpbmVBZ2VudCgpKQorICAgICAgICB0aW1lbGluZUFnZW50LT5kaWRTY3Jv
bGwoKTsKK30KKwogdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxDb21wb3NpdGVJ
bXBsKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMpCiB7CiAgICAgaWYg
KEluc3BlY3RvclRpbWVsaW5lQWdlbnQqIHRpbWVsaW5lQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdl
bnRzLT5pbnNwZWN0b3JUaW1lbGluZUFnZW50KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKaW5kZXggNDU4ODg2NWM2Yjk3ZGYx
MTE2MzU3OWNkNjVmOTYzMzI4MjVlOGU3ZS4uNDY5ZTY4NjkwMGUwNGJmMGJhYjlkYjkxNGU3Mzdk
OGEzN2EwYmJmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckluc3RydW1lbnRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JJbnN0cnVtZW50YXRpb24uaApAQCAtMTQzLDYgKzE0Myw4IEBAIHB1YmxpYzoKICAgICBzdGF0
aWMgdm9pZCBkaWREaXNwYXRjaFhIUkxvYWRFdmVudChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb25Db29raWUmKTsKICAgICBzdGF0aWMgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2ll
IHdpbGxQYWludChGcmFtZSosIEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IExheW91dFJlY3QmKTsK
ICAgICBzdGF0aWMgdm9pZCBkaWRQYWludChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25D
b29raWUmKTsKKyAgICBzdGF0aWMgdm9pZCB3aWxsU2Nyb2xsTGF5ZXIoRnJhbWUqKTsKKyAgICBz
dGF0aWMgdm9pZCBkaWRTY3JvbGxMYXllcihGcmFtZSopOwogICAgIHN0YXRpYyB2b2lkIHdpbGxD
b21wb3NpdGUoUGFnZSopOwogICAgIHN0YXRpYyB2b2lkIGRpZENvbXBvc2l0ZShQYWdlKik7CiAg
ICAgc3RhdGljIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSB3aWxsUmVjYWxjdWxhdGVT
dHlsZShEb2N1bWVudCopOwpAQCAtMzMzLDYgKzMzNSw4IEBAIHByaXZhdGU6CiAgICAgc3RhdGlj
IHZvaWQgZGlkRGlzcGF0Y2hYSFJMb2FkRXZlbnRJbXBsKGNvbnN0IEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbkNvb2tpZSYpOwogICAgIHN0YXRpYyBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29r
aWUgd2lsbFBhaW50SW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgR3JhcGhpY3NDb250ZXh0Kiwg
Y29uc3QgTGF5b3V0UmVjdCYsIEZyYW1lKik7CiAgICAgc3RhdGljIHZvaWQgZGlkUGFpbnRJbXBs
KGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSYpOworICAgIHN0YXRpYyB2b2lk
IHdpbGxTY3JvbGxMYXllckltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIEZyYW1lKik7CisgICAg
c3RhdGljIHZvaWQgZGlkU2Nyb2xsTGF5ZXJJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqKTsKICAg
ICBzdGF0aWMgdm9pZCB3aWxsQ29tcG9zaXRlSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKik7CiAg
ICAgc3RhdGljIHZvaWQgZGlkQ29tcG9zaXRlSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKik7CiAg
ICAgc3RhdGljIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSB3aWxsUmVjYWxjdWxhdGVT
dHlsZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIEZyYW1lKik7CkBAIC05MTgsNiArOTIyLDI0
IEBAIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkUGFpbnQoY29uc3Qg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29vCiAjZW5kaWYKIH0KIAoraW5saW5lIHZvaWQgSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsU2Nyb2xsTGF5ZXIoRnJhbWUqIGZyYW1lKQorewor
I2lmIEVOQUJMRShJTlNQRUNUT1IpCisgICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRTKHZv
aWQoKSk7CisgICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMg
PSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRnJhbWUoZnJhbWUpKQorICAgICAgICB3aWxsU2Nyb2xs
TGF5ZXJJbXBsKGluc3RydW1lbnRpbmdBZ2VudHMsIGZyYW1lKTsKKyNlbmRpZgorfQorCitpbmxp
bmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFNjcm9sbExheWVyKEZyYW1lKiBm
cmFtZSkKK3sKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZS
T05URU5EUyh2b2lkKCkpOworICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50
aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckZyYW1lKGZyYW1lKSkKKyAgICAgICAg
ZGlkU2Nyb2xsTGF5ZXJJbXBsKGluc3RydW1lbnRpbmdBZ2VudHMpOworI2VuZGlmCit9CisKIGlu
bGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbENvbXBvc2l0ZShQYWdlKiBw
YWdlKQogewogI2lmIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKaW5kZXggMWEyMjgxNTI5N2UxOTE0
NmEwMTRlNGFjNWY5NWVjMDkxMzFjZDA4YS4uYjAxNGE5OWZmOTBjNzRmMTBhODJkMTEwNTg5NWZh
NGUzZGZhNzUwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
clRpbWVsaW5lQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JUaW1lbGluZUFnZW50LmNwcApAQCAtNzMsNiArNzMsNyBAQCBzdGF0aWMgY29uc3QgY2hhciBS
ZWNhbGN1bGF0ZVN0eWxlc1tdID0gIlJlY2FsY3VsYXRlU3R5bGVzIjsKIHN0YXRpYyBjb25zdCBj
aGFyIEludmFsaWRhdGVMYXlvdXRbXSA9ICJJbnZhbGlkYXRlTGF5b3V0IjsKIHN0YXRpYyBjb25z
dCBjaGFyIExheW91dFtdID0gIkxheW91dCI7CiBzdGF0aWMgY29uc3QgY2hhciBQYWludFtdID0g
IlBhaW50IjsKK3N0YXRpYyBjb25zdCBjaGFyIFNjcm9sbFtdID0gIlNjcm9sbCI7CiBzdGF0aWMg
Y29uc3QgY2hhciBEZWNvZGVJbWFnZVtdID0gIkRlY29kZUltYWdlIjsKIHN0YXRpYyBjb25zdCBj
aGFyIFJlc2l6ZUltYWdlW10gPSAiUmVzaXplSW1hZ2UiOwogc3RhdGljIGNvbnN0IGNoYXIgQ29t
cG9zaXRlTGF5ZXJzW10gPSAiQ29tcG9zaXRlTGF5ZXJzIjsKQEAgLTI3OCw2ICsyNzksMTYgQEAg
dm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRQYWludCgpCiAgICAgZGlkQ29tcGxldGVD
dXJyZW50UmVjb3JkKFRpbWVsaW5lUmVjb3JkVHlwZTo6UGFpbnQpOwogfQogCit2b2lkIEluc3Bl
Y3RvclRpbWVsaW5lQWdlbnQ6OndpbGxTY3JvbGwoRnJhbWUqIGZyYW1lKQoreworICAgIHB1c2hD
dXJyZW50UmVjb3JkKEluc3BlY3Rvck9iamVjdDo6Y3JlYXRlKCksIFRpbWVsaW5lUmVjb3JkVHlw
ZTo6U2Nyb2xsLCBmYWxzZSwgZnJhbWUpOworfQorCit2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdl
bnQ6OmRpZFNjcm9sbCgpCit7CisgICAgZGlkQ29tcGxldGVDdXJyZW50UmVjb3JkKFRpbWVsaW5l
UmVjb3JkVHlwZTo6U2Nyb2xsKTsKK30KKwogdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50Ojp3
aWxsRGVjb2RlSW1hZ2UoY29uc3QgU3RyaW5nJiBpbWFnZVR5cGUpCiB7CiAgICAgcHVzaEN1cnJl
bnRSZWNvcmQoVGltZWxpbmVSZWNvcmRGYWN0b3J5OjpjcmVhdGVEZWNvZGVJbWFnZURhdGEoaW1h
Z2VUeXBlKSwgVGltZWxpbmVSZWNvcmRUeXBlOjpEZWNvZGVJbWFnZSwgdHJ1ZSwgMCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5o
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaAppbmRl
eCA4ZjA0OGNmY2IyN2MwMDdjOTg1NDMzMTQ3OGNjOWYwN2JlMDU0YjdkLi40YjdiYzc3ODBiY2U0
ZTA3NGNjOTY3MjU4Mjg0OGI3ZGI3NGM2NDFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKQEAgLTEwOCw2ICsxMDgsOSBAQCBwdWJs
aWM6CiAgICAgdm9pZCB3aWxsUGFpbnQoY29uc3QgTGF5b3V0UmVjdCYsIEZyYW1lKik7CiAgICAg
dm9pZCBkaWRQYWludCgpOwogCisgICAgdm9pZCB3aWxsU2Nyb2xsKEZyYW1lKik7CisgICAgdm9p
ZCBkaWRTY3JvbGwoKTsKKwogICAgIHZvaWQgd2lsbENvbXBvc2l0ZSgpOwogICAgIHZvaWQgZGlk
Q29tcG9zaXRlKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvVGltZWxpbmVNb2RlbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvVGltZWxpbmVNb2RlbC5qcwppbmRleCA1ZDlkNGM5NmNlMzVlZmE0NjZmM2JjNGVlMTViYTdl
ZGMxZmM3ZDllLi43MDg1ODJjNjlhODMxMmFmMmZlODQwYjM1NTVlZWZjNWM2M2M3YWM4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lTW9kZWwu
anMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZU1vZGVs
LmpzCkBAIC01Niw2ICs1Niw3IEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsLlJlY29yZFR5
cGUgPSB7CiAgICAgSW52YWxpZGF0ZUxheW91dDogIkludmFsaWRhdGVMYXlvdXQiLAogICAgIExh
eW91dDogIkxheW91dCIsCiAgICAgUGFpbnQ6ICJQYWludCIsCisgICAgU2Nyb2xsOiAiU2Nyb2xs
IiwKICAgICBEZWNvZGVJbWFnZTogIkRlY29kZUltYWdlIiwKICAgICBSZXNpemVJbWFnZTogIlJl
c2l6ZUltYWdlIiwKICAgICBDb21wb3NpdGVMYXllcnM6ICJDb21wb3NpdGVMYXllcnMiLApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZVByZXNl
bnRhdGlvbk1vZGVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1l
bGluZVByZXNlbnRhdGlvbk1vZGVsLmpzCmluZGV4IGJhYTFhMWM4ZGM0OTZhYmQzMTc5MTNhYzkw
M2YzZGZmMjdkNzQ1NjkuLmQwYzIxYmM5NGRjOWM0MzE1ZTkzOWFlNWNjYTNjMmFlYTkyZmJjNzkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVQ
cmVzZW50YXRpb25Nb2RlbC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL1RpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuanMKQEAgLTc3LDYgKzc3LDcgQEAgV2ViSW5z
cGVjdG9yLlRpbWVsaW5lUHJlc2VudGF0aW9uTW9kZWwuX2luaXRSZWNvcmRTdHlsZXMgPSBmdW5j
dGlvbigpCiAgICAgcmVjb3JkU3R5bGVzW3JlY29yZFR5cGVzLkludmFsaWRhdGVMYXlvdXRdID0g
eyB0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJJbnZhbGlkYXRlIExheW91dCIpLCBjYXRl
Z29yeTogY2F0ZWdvcmllc1sicmVuZGVyaW5nIl0gfTsKICAgICByZWNvcmRTdHlsZXNbcmVjb3Jk
VHlwZXMuTGF5b3V0XSA9IHsgdGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiTGF5b3V0Iiks
IGNhdGVnb3J5OiBjYXRlZ29yaWVzWyJyZW5kZXJpbmciXSB9OwogICAgIHJlY29yZFN0eWxlc1ty
ZWNvcmRUeXBlcy5QYWludF0gPSB7IHRpdGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlBhaW50
IiksIGNhdGVnb3J5OiBjYXRlZ29yaWVzWyJwYWludGluZyJdIH07CisgICAgcmVjb3JkU3R5bGVz
W3JlY29yZFR5cGVzLlNjcm9sbF0gPSB7IHRpdGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlNj
cm9sbCIpLCBjYXRlZ29yeTogY2F0ZWdvcmllc1sicGFpbnRpbmciXSB9OwogICAgIHJlY29yZFN0
eWxlc1tyZWNvcmRUeXBlcy5EZWNvZGVJbWFnZV0gPSB7IHRpdGxlOiBXZWJJbnNwZWN0b3IuVUlT
dHJpbmcoIkltYWdlIERlY29kZSIpLCBjYXRlZ29yeTogY2F0ZWdvcmllc1sicGFpbnRpbmciXSB9
OwogICAgIHJlY29yZFN0eWxlc1tyZWNvcmRUeXBlcy5SZXNpemVJbWFnZV0gPSB7IHRpdGxlOiBX
ZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkltYWdlIFJlc2l6ZSIpLCBjYXRlZ29yeTogY2F0ZWdvcmll
c1sicGFpbnRpbmciXSB9OwogICAgIHJlY29yZFN0eWxlc1tyZWNvcmRUeXBlcy5Db21wb3NpdGVM
YXllcnNdID0geyB0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJDb21wb3NpdGUgTGF5ZXJz
IiksIGNhdGVnb3J5OiBjYXRlZ29yaWVzWyJwYWludGluZyJdIH07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyLmNwcAppbmRleCAxZTZhMzc5OTU1NzVhYjcxZDFhMDAzZDJjOTUx
ODgyOTViOTA2YjM2Li42NDNkZDEyOGZmYTc1Y2RhNjk1YTQyZjFmMTVhZTcyZTNmNjcwY2RkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKQEAgLTE3MDgsNiArMTcw
OCw5IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnNjcm9sbFRvKGludCB4LCBpbnQgeSkKICAgICAgICAg
cmV0dXJuOwogICAgIG1fc2Nyb2xsT2Zmc2V0ID0gbmV3U2Nyb2xsT2Zmc2V0OwogCisgICAgRnJh
bWUqIGZyYW1lID0gcmVuZGVyZXIoKS0+ZnJhbWUoKTsKKyAgICBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OndpbGxTY3JvbGxMYXllcihmcmFtZSk7CisKICAgICAvLyBVcGRhdGUgdGhlIHBvc2l0
aW9ucyBvZiBvdXIgY2hpbGQgbGF5ZXJzIChpZiBuZWVkZWQgYXMgb25seSBmaXhlZCBsYXllcnMg
c2hvdWxkIGJlIGltcGFjdGVkIGJ5IGEgc2Nyb2xsKS4KICAgICAvLyBXZSBkb24ndCB1cGRhdGUg
Y29tcG9zaXRpbmcgbGF5ZXJzLCBiZWNhdXNlIHdlIG5lZWQgdG8gZG8gYSBkZWVwIHVwZGF0ZSBm
cm9tIHRoZSBjb21wb3NpdGluZyBhbmNlc3Rvci4KICAgICB1cGRhdGVMYXllclBvc2l0aW9uc0Fm
dGVyU2Nyb2xsKCk7CkBAIC0xNzM0LDcgKzE3MzcsNiBAQCB2b2lkIFJlbmRlckxheWVyOjpzY3Jv
bGxUbyhpbnQgeCwgaW50IHkpCiAgICAgfQogCiAgICAgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCog
cmVwYWludENvbnRhaW5lciA9IHJlbmRlcmVyKCktPmNvbnRhaW5lckZvclJlcGFpbnQoKTsKLSAg
ICBGcmFtZSogZnJhbWUgPSByZW5kZXJlcigpLT5mcmFtZSgpOwogICAgIGlmIChmcmFtZSkgewog
ICAgICAgICAvLyBUaGUgY2FyZXQgcmVjdCBuZWVkcyB0byBiZSBpbnZhbGlkYXRlZCBhZnRlciBz
Y3JvbGxpbmcKICAgICAgICAgZnJhbWUtPnNlbGVjdGlvbigpLT5zZXRDYXJldFJlY3ROZWVkc1Vw
ZGF0ZSgpOwpAQCAtMTc1Miw2ICsxNzU0LDggQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsVG8o
aW50IHgsIGludCB5KQogICAgIC8vIFNjaGVkdWxlIHRoZSBzY3JvbGwgRE9NIGV2ZW50LgogICAg
IGlmIChyZW5kZXJlcigpLT5ub2RlKCkpCiAgICAgICAgIHJlbmRlcmVyKCktPm5vZGUoKS0+ZG9j
dW1lbnQoKS0+ZXZlbnRRdWV1ZSgpLT5lbnF1ZXVlT3JEaXNwYXRjaFNjcm9sbEV2ZW50KHJlbmRl
cmVyKCktPm5vZGUoKSwgRG9jdW1lbnRFdmVudFF1ZXVlOjpTY3JvbGxFdmVudEVsZW1lbnRUYXJn
ZXQpOworCisgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRTY3JvbGxMYXllcihmcmFt
ZSk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgYm9vbCBmcmFtZUVsZW1lbnRBbmRWaWV3UGVybWl0U2Ny
b2xsKEhUTUxGcmFtZUVsZW1lbnQqIGZyYW1lRWxlbWVudCwgRnJhbWVWaWV3KiBmcmFtZVZpZXcp
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCmluZGV4IDI2ZDcwM2FmZWE2ZTFiYzYwOTRkYTc1MDMyMDY1Yjg5MTI5NDBmMWEuLjg1ZDQ3
Y2Y0ZTMzZTQzNGQ4NmFkMTk1NDc2NzhhOTI3ZTNlYTQ0NjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBA
QAorMjAxMi0xMC0xNiAgQW5kcmV5IEtvc3lha292ICA8Y2FzZXFAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIFdlYiBJbnNwZWN0b3I6IGFkZCB0aW1lbGluZSBpbnN0cnVtZW50YXRpb24gZm9yIHNj
cm9sbGluZyBvZiBhIGxheWVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD05OTQ2MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIC0gYWRkZWQgU2Nyb2xsIHJlY29yZCB0eXBlOworCisgICAgICAgICogaW5zcGVj
dG9yL3RpbWVsaW5lL3RpbWVsaW5lLWVudW0tc3RhYmlsaXR5LWV4cGVjdGVkLnR4dDoKKwogMjAx
Mi0xMC0xNiAgWmFuIERvYmVyc2VrICA8emFuZG9iZXJzZWtAZ21haWwuY29tPgogCiAgICAgICAg
IFVucmV2aWV3ZWQgR1RLIGdhcmRlbmluZy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci90aW1lbGluZS90aW1lbGluZS1lbnVtLXN0YWJpbGl0eS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZW51bS1zdGFiaWxpdHktZXhwZWN0
ZWQudHh0CmluZGV4IGU4OTJlODdmMDYyZDIzNjgzNWYxZjE1ZmI0ZGU5ODQ0MzE0NThjN2MuLjY3
NzI2YjZlYzllODRmYjBjMWJhYWQxZTdiM2I0YzczNTUzOGRjYTIgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1lbnVtLXN0YWJpbGl0eS1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWVudW0t
c3RhYmlsaXR5LWV4cGVjdGVkLnR4dApAQCAtMjksNiArMjksNyBAQCBBcHBsaWNhdGlvbnMgb3V0
c2lkZSBvZiBXZWJLaXQgZGVwZW5kIG9uIHRoZSBzdGFiaWxpdHkgb2YgdGhlIG1hcHBpbmcgb2Yg
dGhlc2UgdAogICAgIFJvb3QgOiAiUm9vdCIKICAgICBTY2hlZHVsZVJlc291cmNlUmVxdWVzdCA6
ICJTY2hlZHVsZVJlc291cmNlUmVxdWVzdCIKICAgICBTY2hlZHVsZVN0eWxlUmVjYWxjdWxhdGlv
biA6ICJTY2hlZHVsZVN0eWxlUmVjYWxjdWxhdGlvbiIKKyAgICBTY3JvbGwgOiAiU2Nyb2xsIgog
ICAgIFRpbWUgOiAiVGltZSIKICAgICBUaW1lRW5kIDogIlRpbWVFbmQiCiAgICAgVGltZVN0YW1w
IDogIlRpbWVTdGFtcCIK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>168955</attachid>
            <date>2012-10-16 08:54:15 -0700</date>
            <delta_ts>2012-10-22 07:00:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-99461-20121016195303.patch</filename>
            <type>text/plain</type>
            <size>12942</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxNDQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2MyOGM1OGZkZDQwM2Mw
ZmYyZmQyMzZhNzIwNzFmZDUwZDgzMzU0NS4uMThkMmE2MDY3NjY5YzViZTE4MzczYTYzNzZlMmE4
ODFjMDdkOGE2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEyLTEwLTE2ICBBbmRy
ZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogYWRkIHRpbWVsaW5lIGluc3RydW1lbnRhdGlvbiBmb3Igc2Nyb2xsaW5nIG9mIGEgbGF5ZXIK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk5NDYxCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgLSBhZGRlZCB0
aW1lbGluZSBpbnN0cnVtZW50YXRpb24gZm9yIHNjcm9sbGluZyBvZiBhIGxheWVyOworICAgICAg
ICAtIGFkZGVkIFRSQUNFX0VWRU5UIGZvciBTY3JvbGxhYmxlQXJlYTo6c2Nyb2xsUG9zaXRpb25D
aGFuZ2VkKCkKKworICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24u
Y3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb246OndpbGxTY3JvbGxMYXllckltcGwpOgorICAgICAgICAoV2ViQ29yZTo6SW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRTY3JvbGxMYXllckltcGwpOgorICAgICAgICAqIGlu
c3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaDoKKyAgICAgICAgKEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246OndpbGxTY3JvbGxMYXllcik6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNv
cmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkU2Nyb2xsTGF5ZXIpOgorICAgICAgICAq
IGluc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcDoKKyAgICAgICAgKFRpbWVsaW5l
UmVjb3JkVHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50Ojp3
aWxsU2Nyb2xsKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVj
dG9yVGltZWxpbmVBZ2VudDo6ZGlkU2Nyb2xsKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVj
dG9yVGltZWxpbmVBZ2VudC5oOgorICAgICAgICAoSW5zcGVjdG9yVGltZWxpbmVBZ2VudCk6Cisg
ICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZU1vZGVsLmpzOgorICAgICAgICAq
IGluc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5qczoKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLl9pbml0UmVjb3JkU3R5
bGVzKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyTGF5ZXI6OnNjcm9sbFRvKToKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxh
YmxlQXJlYS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxhYmxlQXJlYTo6c2Nyb2xsUG9z
aXRpb25DaGFuZ2VkKToKKwogMjAxMi0xMC0xNiAgTHVrZSBNYWNwaGVyc29uICAgPG1hY3BoZXJz
b25AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEhhbmRsZSBDU1NQcm9wZXJ0eU9wYWNpdHkgaW4g
U3R5bGVCdWlsZGVyLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uLmNwcAppbmRleCA4MWRkZWQzZTA1ZjBhNzVjMThlZGFkMDFhOGNh
ZTMxOGE5NmRiNGVlLi4wOGYyYjBkOWU3NGMxZjIwY2Q1MjE5ZDQyNzJjN2JmMDhmNWQ1NDgxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uLmNwcApAQCAtNTE1LDYgKzUxNSwxOCBAQCB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRh
dGlvbjo6ZGlkUGFpbnRJbXBsKGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZQog
ICAgICAgICBwYWdlQWdlbnQtPmRpZFBhaW50KCk7CiB9CiAKK3ZvaWQgSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjp3aWxsU2Nyb2xsTGF5ZXJJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3Ry
dW1lbnRpbmdBZ2VudHMsIEZyYW1lKiBmcmFtZSkKK3sKKyAgICBpZiAoSW5zcGVjdG9yVGltZWxp
bmVBZ2VudCogdGltZWxpbmVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvclRp
bWVsaW5lQWdlbnQoKSkKKyAgICAgICAgdGltZWxpbmVBZ2VudC0+d2lsbFNjcm9sbChmcmFtZSk7
Cit9CisKK3ZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRTY3JvbGxMYXllckltcGwo
SW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cykKK3sKKyAgICBpZiAoSW5z
cGVjdG9yVGltZWxpbmVBZ2VudCogdGltZWxpbmVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMt
Pmluc3BlY3RvclRpbWVsaW5lQWdlbnQoKSkKKyAgICAgICAgdGltZWxpbmVBZ2VudC0+ZGlkU2Ny
b2xsKCk7Cit9CisKIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsQ29tcG9zaXRl
SW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzKQogewogICAgIGlm
IChJbnNwZWN0b3JUaW1lbGluZUFnZW50KiB0aW1lbGluZUFnZW50ID0gaW5zdHJ1bWVudGluZ0Fn
ZW50cy0+aW5zcGVjdG9yVGltZWxpbmVBZ2VudCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCmluZGV4IDQ1ODg4NjVjNmI5N2Rm
MTExNjM1NzljZDY1Zjk2MzMyODI1ZThlN2UuLjQ2OWU2ODY5MDBlMDRiZjBiYWI5ZGI5MTRlNzM3
ZDhhMzdhMGJiZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JJbnN0cnVtZW50YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uLmgKQEAgLTE0Myw2ICsxNDMsOCBAQCBwdWJsaWM6CiAgICAgc3Rh
dGljIHZvaWQgZGlkRGlzcGF0Y2hYSFJMb2FkRXZlbnQoY29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uQ29va2llJik7CiAgICAgc3RhdGljIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tp
ZSB3aWxsUGFpbnQoRnJhbWUqLCBHcmFwaGljc0NvbnRleHQqLCBjb25zdCBMYXlvdXRSZWN0Jik7
CiAgICAgc3RhdGljIHZvaWQgZGlkUGFpbnQoY29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
Q29va2llJik7CisgICAgc3RhdGljIHZvaWQgd2lsbFNjcm9sbExheWVyKEZyYW1lKik7CisgICAg
c3RhdGljIHZvaWQgZGlkU2Nyb2xsTGF5ZXIoRnJhbWUqKTsKICAgICBzdGF0aWMgdm9pZCB3aWxs
Q29tcG9zaXRlKFBhZ2UqKTsKICAgICBzdGF0aWMgdm9pZCBkaWRDb21wb3NpdGUoUGFnZSopOwog
ICAgIHN0YXRpYyBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgd2lsbFJlY2FsY3VsYXRl
U3R5bGUoRG9jdW1lbnQqKTsKQEAgLTMzMyw2ICszMzUsOCBAQCBwcml2YXRlOgogICAgIHN0YXRp
YyB2b2lkIGRpZERpc3BhdGNoWEhSTG9hZEV2ZW50SW1wbChjb25zdCBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb25Db29raWUmKTsKICAgICBzdGF0aWMgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29v
a2llIHdpbGxQYWludEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIEdyYXBoaWNzQ29udGV4dCos
IGNvbnN0IExheW91dFJlY3QmLCBGcmFtZSopOwogICAgIHN0YXRpYyB2b2lkIGRpZFBhaW50SW1w
bChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUmKTsKKyAgICBzdGF0aWMgdm9p
ZCB3aWxsU2Nyb2xsTGF5ZXJJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqLCBGcmFtZSopOworICAg
IHN0YXRpYyB2b2lkIGRpZFNjcm9sbExheWVySW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKik7CiAg
ICAgc3RhdGljIHZvaWQgd2lsbENvbXBvc2l0ZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyopOwog
ICAgIHN0YXRpYyB2b2lkIGRpZENvbXBvc2l0ZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyopOwog
ICAgIHN0YXRpYyBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgd2lsbFJlY2FsY3VsYXRl
U3R5bGVJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqLCBGcmFtZSopOwpAQCAtOTE4LDYgKzkyMiwy
NCBAQCBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFBhaW50KGNvbnN0
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvbwogI2VuZGlmCiB9CiAKK2lubGluZSB2b2lkIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbFNjcm9sbExheWVyKEZyYW1lKiBmcmFtZSkKK3sK
KyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyh2
b2lkKCkpOworICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRz
ID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckZyYW1lKGZyYW1lKSkKKyAgICAgICAgd2lsbFNjcm9s
bExheWVySW1wbChpbnN0cnVtZW50aW5nQWdlbnRzLCBmcmFtZSk7CisjZW5kaWYKK30KKworaW5s
aW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRTY3JvbGxMYXllcihGcmFtZSog
ZnJhbWUpCit7CisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKyAgICBGQVNUX1JFVFVSTl9JRl9OT19G
Uk9OVEVORFModm9pZCgpKTsKKyAgICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVu
dGluZ0FnZW50cyA9IGluc3RydW1lbnRpbmdBZ2VudHNGb3JGcmFtZShmcmFtZSkpCisgICAgICAg
IGRpZFNjcm9sbExheWVySW1wbChpbnN0cnVtZW50aW5nQWdlbnRzKTsKKyNlbmRpZgorfQorCiBp
bmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxDb21wb3NpdGUoUGFnZSog
cGFnZSkKIHsKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwCmluZGV4IDFhMjI4MTUyOTdlMTkx
NDZhMDE0ZTRhYzVmOTVlYzA5MTMxY2QwOGEuLmIwMTRhOTlmZjkwYzc0ZjEwYTgyZDExMDU4OTVm
YTRlM2RmYTc1MDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JUaW1lbGluZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yVGltZWxpbmVBZ2VudC5jcHAKQEAgLTczLDYgKzczLDcgQEAgc3RhdGljIGNvbnN0IGNoYXIg
UmVjYWxjdWxhdGVTdHlsZXNbXSA9ICJSZWNhbGN1bGF0ZVN0eWxlcyI7CiBzdGF0aWMgY29uc3Qg
Y2hhciBJbnZhbGlkYXRlTGF5b3V0W10gPSAiSW52YWxpZGF0ZUxheW91dCI7CiBzdGF0aWMgY29u
c3QgY2hhciBMYXlvdXRbXSA9ICJMYXlvdXQiOwogc3RhdGljIGNvbnN0IGNoYXIgUGFpbnRbXSA9
ICJQYWludCI7CitzdGF0aWMgY29uc3QgY2hhciBTY3JvbGxbXSA9ICJTY3JvbGwiOwogc3RhdGlj
IGNvbnN0IGNoYXIgRGVjb2RlSW1hZ2VbXSA9ICJEZWNvZGVJbWFnZSI7CiBzdGF0aWMgY29uc3Qg
Y2hhciBSZXNpemVJbWFnZVtdID0gIlJlc2l6ZUltYWdlIjsKIHN0YXRpYyBjb25zdCBjaGFyIENv
bXBvc2l0ZUxheWVyc1tdID0gIkNvbXBvc2l0ZUxheWVycyI7CkBAIC0yNzgsNiArMjc5LDE2IEBA
IHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkUGFpbnQoKQogICAgIGRpZENvbXBsZXRl
Q3VycmVudFJlY29yZChUaW1lbGluZVJlY29yZFR5cGU6OlBhaW50KTsKIH0KIAordm9pZCBJbnNw
ZWN0b3JUaW1lbGluZUFnZW50Ojp3aWxsU2Nyb2xsKEZyYW1lKiBmcmFtZSkKK3sKKyAgICBwdXNo
Q3VycmVudFJlY29yZChJbnNwZWN0b3JPYmplY3Q6OmNyZWF0ZSgpLCBUaW1lbGluZVJlY29yZFR5
cGU6OlNjcm9sbCwgZmFsc2UsIGZyYW1lKTsKK30KKwordm9pZCBJbnNwZWN0b3JUaW1lbGluZUFn
ZW50OjpkaWRTY3JvbGwoKQoreworICAgIGRpZENvbXBsZXRlQ3VycmVudFJlY29yZChUaW1lbGlu
ZVJlY29yZFR5cGU6OlNjcm9sbCk7Cit9CisKIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6
d2lsbERlY29kZUltYWdlKGNvbnN0IFN0cmluZyYgaW1hZ2VUeXBlKQogewogICAgIHB1c2hDdXJy
ZW50UmVjb3JkKFRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6Y3JlYXRlRGVjb2RlSW1hZ2VEYXRhKGlt
YWdlVHlwZSksIFRpbWVsaW5lUmVjb3JkVHlwZTo6RGVjb2RlSW1hZ2UsIHRydWUsIDApOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKaW5k
ZXggOGYwNDhjZmNiMjdjMDA3Yzk4NTQzMzE0NzhjYzlmMDdiZTA1NGI3ZC4uNGI3YmM3NzgwYmNl
NGUwNzRjYzk2NzI1ODI4NDhiN2RiNzRjNjQxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCkBAIC0xMDgsNiArMTA4LDkgQEAgcHVi
bGljOgogICAgIHZvaWQgd2lsbFBhaW50KGNvbnN0IExheW91dFJlY3QmLCBGcmFtZSopOwogICAg
IHZvaWQgZGlkUGFpbnQoKTsKIAorICAgIHZvaWQgd2lsbFNjcm9sbChGcmFtZSopOworICAgIHZv
aWQgZGlkU2Nyb2xsKCk7CisKICAgICB2b2lkIHdpbGxDb21wb3NpdGUoKTsKICAgICB2b2lkIGRp
ZENvbXBvc2l0ZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL1RpbWVsaW5lTW9kZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL1RpbWVsaW5lTW9kZWwuanMKaW5kZXggNWQ5ZDRjOTZjZTM1ZWZhNDY2ZjNiYzRlZTE1YmE3
ZWRjMWZjN2Q5ZS4uNzA4NTgyYzY5YTgzMTJhZjJmZTg0MGIzNTU1ZWVmYzVjNjNjN2FjOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZU1vZGVs
LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVNb2Rl
bC5qcwpAQCAtNTYsNiArNTYsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVNb2RlbC5SZWNvcmRU
eXBlID0gewogICAgIEludmFsaWRhdGVMYXlvdXQ6ICJJbnZhbGlkYXRlTGF5b3V0IiwKICAgICBM
YXlvdXQ6ICJMYXlvdXQiLAogICAgIFBhaW50OiAiUGFpbnQiLAorICAgIFNjcm9sbDogIlNjcm9s
bCIsCiAgICAgRGVjb2RlSW1hZ2U6ICJEZWNvZGVJbWFnZSIsCiAgICAgUmVzaXplSW1hZ2U6ICJS
ZXNpemVJbWFnZSIsCiAgICAgQ29tcG9zaXRlTGF5ZXJzOiAiQ29tcG9zaXRlTGF5ZXJzIiwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVQcmVz
ZW50YXRpb25Nb2RlbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGlt
ZWxpbmVQcmVzZW50YXRpb25Nb2RlbC5qcwppbmRleCBiYWExYTFjOGRjNDk2YWJkMzE3OTEzYWM5
MDNmM2RmZjI3ZDc0NTY5Li5kMGMyMWJjOTRkYzljNDMxNWU5MzlhZTVjY2EzYzJhZWE5MmZiYzc5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5l
UHJlc2VudGF0aW9uTW9kZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLmpzCkBAIC03Nyw2ICs3Nyw3IEBAIFdlYklu
c3BlY3Rvci5UaW1lbGluZVByZXNlbnRhdGlvbk1vZGVsLl9pbml0UmVjb3JkU3R5bGVzID0gZnVu
Y3Rpb24oKQogICAgIHJlY29yZFN0eWxlc1tyZWNvcmRUeXBlcy5JbnZhbGlkYXRlTGF5b3V0XSA9
IHsgdGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiSW52YWxpZGF0ZSBMYXlvdXQiKSwgY2F0
ZWdvcnk6IGNhdGVnb3JpZXNbInJlbmRlcmluZyJdIH07CiAgICAgcmVjb3JkU3R5bGVzW3JlY29y
ZFR5cGVzLkxheW91dF0gPSB7IHRpdGxlOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkxheW91dCIp
LCBjYXRlZ29yeTogY2F0ZWdvcmllc1sicmVuZGVyaW5nIl0gfTsKICAgICByZWNvcmRTdHlsZXNb
cmVjb3JkVHlwZXMuUGFpbnRdID0geyB0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJQYWlu
dCIpLCBjYXRlZ29yeTogY2F0ZWdvcmllc1sicGFpbnRpbmciXSB9OworICAgIHJlY29yZFN0eWxl
c1tyZWNvcmRUeXBlcy5TY3JvbGxdID0geyB0aXRsZTogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJT
Y3JvbGwiKSwgY2F0ZWdvcnk6IGNhdGVnb3JpZXNbInBhaW50aW5nIl0gfTsKICAgICByZWNvcmRT
dHlsZXNbcmVjb3JkVHlwZXMuRGVjb2RlSW1hZ2VdID0geyB0aXRsZTogV2ViSW5zcGVjdG9yLlVJ
U3RyaW5nKCJJbWFnZSBEZWNvZGUiKSwgY2F0ZWdvcnk6IGNhdGVnb3JpZXNbInBhaW50aW5nIl0g
fTsKICAgICByZWNvcmRTdHlsZXNbcmVjb3JkVHlwZXMuUmVzaXplSW1hZ2VdID0geyB0aXRsZTog
V2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJJbWFnZSBSZXNpemUiKSwgY2F0ZWdvcnk6IGNhdGVnb3Jp
ZXNbInBhaW50aW5nIl0gfTsKICAgICByZWNvcmRTdHlsZXNbcmVjb3JkVHlwZXMuQ29tcG9zaXRl
TGF5ZXJzXSA9IHsgdGl0bGU6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiQ29tcG9zaXRlIExheWVy
cyIpLCBjYXRlZ29yeTogY2F0ZWdvcmllc1sicGFpbnRpbmciXSB9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwCmluZGV4IDY5YmQ0ZjFlYWY0MWYxYmMzZmZmMGRi
ZWM4YTk2ZmE0M2FmMjc0MzkuLmU5OWI3YTNiNzZiNDkzNzMxNzQ2NzQ5MzFjMjIyYTk4NzJmOWU4
YzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHAKQEAgLTQw
LDYgKzQwLDEwIEBACiAjaW5jbHVkZSAiU2Nyb2xsYmFyVGhlbWUuaCIKICNpbmNsdWRlIDx3dGYv
UGFzc093blB0ci5oPgogCisjaWYgUExBVEZPUk0oQ0hST01JVU0pCisjaW5jbHVkZSAiVHJhY2VF
dmVudC5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RydWN0IFNhbWVTaXpl
QXNTY3JvbGxhYmxlQXJlYSB7CkBAIC0xNDIsNiArMTQ2LDEwIEBAIHZvaWQgU2Nyb2xsYWJsZUFy
ZWE6Om5vdGlmeVNjcm9sbFBvc2l0aW9uQ2hhbmdlZChjb25zdCBJbnRQb2ludCYgcG9zaXRpb24p
CiAKIHZvaWQgU2Nyb2xsYWJsZUFyZWE6OnNjcm9sbFBvc2l0aW9uQ2hhbmdlZChjb25zdCBJbnRQ
b2ludCYgcG9zaXRpb24pCiB7CisjaWYgUExBVEZPUk0oQ0hST01JVU0pCisgICAgVFJBQ0VfRVZF
TlQwKCJ3ZWJraXQiLCAiU2Nyb2xsYWJsZUFyZWE6OnNjcm9sbFBvc2l0aW9uQ2hhbmdlZCIpOwor
I2VuZGlmCisKICAgICBJbnRQb2ludCBvbGRQb3NpdGlvbiA9IHNjcm9sbFBvc2l0aW9uKCk7CiAg
ICAgLy8gVGVsbCB0aGUgZGVyaXZlZCBjbGFzcyB0byBzY3JvbGwgaXRzIGNvbnRlbnRzLgogICAg
IHNldFNjcm9sbE9mZnNldChwb3NpdGlvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyLmNwcAppbmRleCAxZTZhMzc5OTU1NzVhYjcxZDFhMDAzZDJjOTUxODgyOTViOTA2YjM2
Li42NDNkZDEyOGZmYTc1Y2RhNjk1YTQyZjFmMTVhZTcyZTNmNjcwY2RkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKQEAgLTE3MDgsNiArMTcwOCw5IEBAIHZvaWQg
UmVuZGVyTGF5ZXI6OnNjcm9sbFRvKGludCB4LCBpbnQgeSkKICAgICAgICAgcmV0dXJuOwogICAg
IG1fc2Nyb2xsT2Zmc2V0ID0gbmV3U2Nyb2xsT2Zmc2V0OwogCisgICAgRnJhbWUqIGZyYW1lID0g
cmVuZGVyZXIoKS0+ZnJhbWUoKTsKKyAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxT
Y3JvbGxMYXllcihmcmFtZSk7CisKICAgICAvLyBVcGRhdGUgdGhlIHBvc2l0aW9ucyBvZiBvdXIg
Y2hpbGQgbGF5ZXJzIChpZiBuZWVkZWQgYXMgb25seSBmaXhlZCBsYXllcnMgc2hvdWxkIGJlIGlt
cGFjdGVkIGJ5IGEgc2Nyb2xsKS4KICAgICAvLyBXZSBkb24ndCB1cGRhdGUgY29tcG9zaXRpbmcg
bGF5ZXJzLCBiZWNhdXNlIHdlIG5lZWQgdG8gZG8gYSBkZWVwIHVwZGF0ZSBmcm9tIHRoZSBjb21w
b3NpdGluZyBhbmNlc3Rvci4KICAgICB1cGRhdGVMYXllclBvc2l0aW9uc0FmdGVyU2Nyb2xsKCk7
CkBAIC0xNzM0LDcgKzE3MzcsNiBAQCB2b2lkIFJlbmRlckxheWVyOjpzY3JvbGxUbyhpbnQgeCwg
aW50IHkpCiAgICAgfQogCiAgICAgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogcmVwYWludENvbnRh
aW5lciA9IHJlbmRlcmVyKCktPmNvbnRhaW5lckZvclJlcGFpbnQoKTsKLSAgICBGcmFtZSogZnJh
bWUgPSByZW5kZXJlcigpLT5mcmFtZSgpOwogICAgIGlmIChmcmFtZSkgewogICAgICAgICAvLyBU
aGUgY2FyZXQgcmVjdCBuZWVkcyB0byBiZSBpbnZhbGlkYXRlZCBhZnRlciBzY3JvbGxpbmcKICAg
ICAgICAgZnJhbWUtPnNlbGVjdGlvbigpLT5zZXRDYXJldFJlY3ROZWVkc1VwZGF0ZSgpOwpAQCAt
MTc1Miw2ICsxNzU0LDggQEAgdm9pZCBSZW5kZXJMYXllcjo6c2Nyb2xsVG8oaW50IHgsIGludCB5
KQogICAgIC8vIFNjaGVkdWxlIHRoZSBzY3JvbGwgRE9NIGV2ZW50LgogICAgIGlmIChyZW5kZXJl
cigpLT5ub2RlKCkpCiAgICAgICAgIHJlbmRlcmVyKCktPm5vZGUoKS0+ZG9jdW1lbnQoKS0+ZXZl
bnRRdWV1ZSgpLT5lbnF1ZXVlT3JEaXNwYXRjaFNjcm9sbEV2ZW50KHJlbmRlcmVyKCktPm5vZGUo
KSwgRG9jdW1lbnRFdmVudFF1ZXVlOjpTY3JvbGxFdmVudEVsZW1lbnRUYXJnZXQpOworCisgICAg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRTY3JvbGxMYXllcihmcmFtZSk7CiB9CiAKIHN0
YXRpYyBpbmxpbmUgYm9vbCBmcmFtZUVsZW1lbnRBbmRWaWV3UGVybWl0U2Nyb2xsKEhUTUxGcmFt
ZUVsZW1lbnQqIGZyYW1lRWxlbWVudCwgRnJhbWVWaWV3KiBmcmFtZVZpZXcpIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDI2
ZDcwM2FmZWE2ZTFiYzYwOTRkYTc1MDMyMDY1Yjg5MTI5NDBmMWEuLjg1ZDQ3Y2Y0ZTMzZTQzNGQ4
NmFkMTk1NDc2NzhhOTI3ZTNlYTQ0NjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMi0xMC0x
NiAgQW5kcmV5IEtvc3lha292ICA8Y2FzZXFAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJ
bnNwZWN0b3I6IGFkZCB0aW1lbGluZSBpbnN0cnVtZW50YXRpb24gZm9yIHNjcm9sbGluZyBvZiBh
IGxheWVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05
OTQ2MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIC0g
YWRkZWQgU2Nyb2xsIHJlY29yZCB0eXBlOworCisgICAgICAgICogaW5zcGVjdG9yL3RpbWVsaW5l
L3RpbWVsaW5lLWVudW0tc3RhYmlsaXR5LWV4cGVjdGVkLnR4dDoKKwogMjAxMi0xMC0xNiAgWmFu
IERvYmVyc2VrICA8emFuZG9iZXJzZWtAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQg
R1RLIGdhcmRlbmluZy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGlu
ZS90aW1lbGluZS1lbnVtLXN0YWJpbGl0eS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtZW51bS1zdGFiaWxpdHktZXhwZWN0ZWQudHh0CmluZGV4
IGU4OTJlODdmMDYyZDIzNjgzNWYxZjE1ZmI0ZGU5ODQ0MzE0NThjN2MuLjY3NzI2YjZlYzllODRm
YjBjMWJhYWQxZTdiM2I0YzczNTUzOGRjYTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci90aW1lbGluZS90aW1lbGluZS1lbnVtLXN0YWJpbGl0eS1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLWVudW0tc3RhYmlsaXR5LWV4
cGVjdGVkLnR4dApAQCAtMjksNiArMjksNyBAQCBBcHBsaWNhdGlvbnMgb3V0c2lkZSBvZiBXZWJL
aXQgZGVwZW5kIG9uIHRoZSBzdGFiaWxpdHkgb2YgdGhlIG1hcHBpbmcgb2YgdGhlc2UgdAogICAg
IFJvb3QgOiAiUm9vdCIKICAgICBTY2hlZHVsZVJlc291cmNlUmVxdWVzdCA6ICJTY2hlZHVsZVJl
c291cmNlUmVxdWVzdCIKICAgICBTY2hlZHVsZVN0eWxlUmVjYWxjdWxhdGlvbiA6ICJTY2hlZHVs
ZVN0eWxlUmVjYWxjdWxhdGlvbiIKKyAgICBTY3JvbGwgOiAiU2Nyb2xsIgogICAgIFRpbWUgOiAi
VGltZSIKICAgICBUaW1lRW5kIDogIlRpbWVFbmQiCiAgICAgVGltZVN0YW1wIDogIlRpbWVTdGFt
cCIK
</data>
<flag name="review"
          id="182079"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>