<?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>30578</bug_id>
          
          <creation_ts>2009-10-20 10:09:54 -0700</creation_ts>
          <short_desc>WebInspector: Adds XHR Instrumentation to WebInspector Timeline</short_desc>
          <delta_ts>2009-10-27 12:31:10 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>OS X 10.5</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>0</everconfirmed>
          <reporter name="Eric Ayers">zundel</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>knorton</cc>
    
    <cc>pfeldman</cc>
    
    <cc>timothy</cc>
    
    <cc>zundel</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>156179</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Ayers">zundel</who>
    <bug_when>2009-10-20 10:09:54 -0700</bug_when>
    <thetext>This change instruments XMLHttpRequest.cpp so that any ready state change or load events are forwarded to the Timeline Inpsector Agent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156202</commentid>
    <comment_count>1</comment_count>
      <attachid>41513</attachid>
    <who name="Eric Ayers">zundel</who>
    <bug_when>2009-10-20 10:57:56 -0700</bug_when>
    <thetext>Created attachment 41513
WebInspector: adds XHR instrumentation to XMLHttpRequest for the TimelineAgent</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156292</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Ayers">zundel</who>
    <bug_when>2009-10-20 13:59:40 -0700</bug_when>
    <thetext>Note: This patch conflicts with 30600.  Which ever patch lands first, the other will need to be modified before committing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156324</commentid>
    <comment_count>3</comment_count>
      <attachid>41513</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2009-10-20 15:51:18 -0700</bug_when>
    <thetext>Comment on attachment 41513
WebInspector: adds XHR instrumentation to XMLHttpRequest for the TimelineAgent

Given that you require frontend to be present at all times timeline events are fired, there is no need to create native structures for all of your event types. Just dump them into the frontend using some static serializer methods. You should be able to get rid of them all together actually (*TimelineItem).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156407</commentid>
    <comment_count>4</comment_count>
    <who name="Eric Ayers">zundel</who>
    <bug_when>2009-10-20 23:07:54 -0700</bug_when>
    <thetext>Some info for reference only:

Patch 30600 landed.

Pavel&apos;s comments are explained in more detail at  https://bugs.webkit.org/show_bug.cgi?id=30467#attach_41335

Original code review for adding these instrumentation points: 
https://bugs.webkit.org/show_bug.cgi?id=25503</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158288</commentid>
    <comment_count>5</comment_count>
      <attachid>41969</attachid>
    <who name="Kelly Norton">knorton</who>
    <bug_when>2009-10-27 11:40:20 -0700</bug_when>
    <thetext>Created attachment 41969
Updates original patch after recent changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158316</commentid>
    <comment_count>6</comment_count>
      <attachid>41969</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-10-27 12:31:07 -0700</bug_when>
    <thetext>Comment on attachment 41969
Updates original patch after recent changes.

Clearing flags on attachment: 41969

Committed r50167: &lt;http://trac.webkit.org/changeset/50167&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158317</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-10-27 12:31:10 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41513</attachid>
            <date>2009-10-20 10:57:56 -0700</date>
            <delta_ts>2009-10-20 15:51:17 -0700</delta_ts>
            <desc>WebInspector: adds XHR instrumentation to XMLHttpRequest for the TimelineAgent</desc>
            <filename>webkit-add-xhr-timeline.patch</filename>
            <type>text/plain</type>
            <size>27321</size>
            <attacher name="Eric Ayers">zundel</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0OTg2MSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjQgQEAKKzIwMDktMTAtMjAgIEVyaWMgWi4gQXllcnMgIDx6dW5kZWxAZ29vZ2xl
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBX
ZWJJbnNwZWN0b3I6IEFkZHMgWEhSIGluc3RydW1lbnRhdGlvbiB0byB0aGUgVGltZWxpbmUuCisK
KyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJD
b3JlLnZjcHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6
CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6d2lsbFhIUlJlYWR5U3RhdGVDaGFu
Z2UpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkWEhSUmVh
ZHlTdGF0ZUNoYW5nZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50
Ojp3aWxsWEhSTG9hZCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50
OjpkaWRYSFJMb2FkKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2Vu
dC5oOgorICAgICAgICAqIGluc3BlY3Rvci9UaW1lbGluZUl0ZW0uaDoKKyAgICAgICAgKFdlYkNv
cmU6Oik6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZUFnZW50LmpzOgor
ICAgICAgICAqIHhtbC9YTUxIdHRwUmVxdWVzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpYTUxI
dHRwUmVxdWVzdDo6Y2FsbFJlYWR5U3RhdGVDaGFuZ2VMaXN0ZW5lcik6CisKIDIwMDktMTAtMjAg
IEpvc2VwaCBQZWNvcmFybyAgPGpvZXBlY2tAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBUaW1vdGh5IEhhdGNoZXIuCkluZGV4OiBXZWJDb3JlL0dOVW1ha2VmaWxlLmFtCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvR05VbWFrZWZpbGUuYW0JKHJldmlzaW9uIDQ5ODI3KQorKysgV2Vi
Q29yZS9HTlVtYWtlZmlsZS5hbQkod29ya2luZyBjb3B5KQpAQCAtMTE5MSw2ICsxMTkxLDEwIEBA
IHdlYmNvcmVfc291cmNlcyArPSBcCiAJV2ViQ29yZS9pbnNwZWN0b3IvSmF2YVNjcmlwdFByb2Zp
bGVOb2RlLmggXAogCVdlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lSXRlbS5jcHAgXAogCVdlYkNv
cmUvaW5zcGVjdG9yL1RpbWVsaW5lSXRlbS5oIFwKKwlXZWJDb3JlL2luc3BlY3Rvci9YSFJMb2Fk
VGltZWxpbmVJdGVtLmNwcCBcCisJV2ViQ29yZS9pbnNwZWN0b3IvWEhSTG9hZFRpbWVsaW5lSXRl
bS5oIFwKKwlXZWJDb3JlL2luc3BlY3Rvci9YSFJSZWFkeVN0YXRlQ2hhbmdlVGltZWxpbmVJdGVt
LmNwcCBcCisJV2ViQ29yZS9pbnNwZWN0b3IvWEhSUmVhZHlTdGF0ZUNoYW5nZVRpbWVsaW5lSXRl
bS5oIFwKIAlXZWJDb3JlL2xvYWRlci9DYWNoZS5jcHAgXAogCVdlYkNvcmUvbG9hZGVyL0NhY2hl
LmggXAogCVdlYkNvcmUvbG9hZGVyL0NhY2hlUG9saWN5LmggXApJbmRleDogV2ViQ29yZS9XZWJD
b3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUu
dmNwcm9qL1dlYkNvcmUudmNwcm9qCShyZXZpc2lvbiA0OTgyNykKKysrIFdlYkNvcmUvV2ViQ29y
ZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oJKHdvcmtpbmcgY29weSkKQEAgLTM1MzQyLDYgKzM1MzQy
LDIyIEBACiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxpbnNwZWN0b3JcVGltZWxpbmVJdGVtLmgiDQog
CQkJCT4NCiAJCQk8L0ZpbGU+DQorCQkJPEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxpbnNw
ZWN0b3JcWEhSTG9hZFRpbWVsaW5lSXRlbS5jcHAiDQorCQkJCT4NCisJCQk8L0ZpbGU+DQorCQkJ
PEZpbGUNCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxpbnNwZWN0b3JcWEhSTG9hZFRpbWVsaW5lSXRl
bS5oIg0KKwkJCQk+DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0i
Li5caW5zcGVjdG9yXFhIUlJlYWR5U3RhdGVDaGFuZ2VUaW1lbGluZUl0ZW0uY3BwIg0KKwkJCQk+
DQorCQkJPC9GaWxlPg0KKwkJCTxGaWxlDQorCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5zcGVjdG9y
XFhIUlJlYWR5U3RhdGVDaGFuZ2VUaW1lbGluZUl0ZW0uaCINCisJCQkJPg0KKwkJCTwvRmlsZT4N
CiAJCQk8RmlsdGVyDQogCQkJCU5hbWU9ImZyb250LWVuZCINCiAJCQkJPg0KSW5kZXg6IFdlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiA0OTgyNykKKysr
IFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkp
CkBAIC0xMjA4LDYgKzEyMDgsMTEgQEAKIAkJNzY5M0JBRDMxMDZDMkRDQTAwN0IwODIzIC8qIFBs
dWdpbkhhbHRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA3NjkzQkFDRjEwNkMyRENBMDA3QjA4MjMgLyogUGx1Z2luSGFsdGVyLmNwcCAqLzsgfTsK
IAkJNzY5M0JBRDQxMDZDMkRDQTAwN0IwODIzIC8qIFBsdWdpbkhhbHRlci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzY5M0JBRDAxMDZDMkRDQTAwN0Iw
ODIzIC8qIFBsdWdpbkhhbHRlci5oICovOyB9OwogCQk3NjkzQkFENTEwNkMyRENBMDA3QjA4MjMg
LyogUGx1Z2luSGFsdGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA3NjkzQkFEMTEwNkMyRENBMDA3QjA4MjMgLyogUGx1Z2luSGFsdGVyQ2xp
ZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJ
NzgyQjc0MzExMDgzQkUyNDAwQjRGQjVBIC8qIFhIUlJlYWR5U3RhdGVDaGFuZ2VUaW1lbGluZUl0
ZW0uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzgy
Qjc0MkYxMDgzQkUyNDAwQjRGQjVBIC8qIFhIUlJlYWR5U3RhdGVDaGFuZ2VUaW1lbGluZUl0ZW0u
Y3BwICovOyB9OworCQk3ODJCNzQzMjEwODNCRTI0MDBCNEZCNUEgLyogWEhSUmVhZHlTdGF0ZUNo
YW5nZVRpbWVsaW5lSXRlbS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNzgyQjc0MzAxMDgzQkUyNDAwQjRGQjVBIC8qIFhIUlJlYWR5U3RhdGVDaGFuZ2VU
aW1lbGluZUl0ZW0uaCAqLzsgfTsKKwkJNzgyQjc1NDMxMDg0RDNDNTAwQjRGQjVBIC8qIFhNTEh0
dHBSZXF1ZXN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDc4MkI3NTQyMTA4NEQzQzUwMEI0RkI1QSAvKiBYTUxIdHRwUmVxdWVzdC5jcHAgKi87IH07
CisJCTc4MkI3NjkyMTA4NTI3MjkwMEI0RkI1QSAvKiBYSFJMb2FkVGltZWxpbmVJdGVtLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc4MkI3NjkwMTA4
NTI3MjkwMEI0RkI1QSAvKiBYSFJMb2FkVGltZWxpbmVJdGVtLmNwcCAqLzsgfTsKKwkJNzgyQjc2
OTMxMDg1MjcyOTAwQjRGQjVBIC8qIFhIUkxvYWRUaW1lbGluZUl0ZW0uaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc4MkI3NjkxMTA4NTI3MjkwMEI0RkI1
QSAvKiBYSFJMb2FkVGltZWxpbmVJdGVtLmggKi87IH07CiAJCTdBMUU4OEY1MTAxQ0MzODQwMDBD
NERGNSAvKiBTY3JpcHRBcnJheS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA3QTFFODhGMzEwMUNDMzg0MDAwQzRERjUgLyogU2NyaXB0QXJyYXkuY3Bw
ICovOyB9OwogCQk3QTFFODhGNjEwMUNDMzg0MDAwQzRERjUgLyogU2NyaXB0QXJyYXkuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdBMUU4OEY0MTAxQ0Mz
ODQwMDBDNERGNSAvKiBTY3JpcHRBcnJheS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTdBMjQ1ODdCMTAyMUVBRjQwMDBBMDBBQSAvKiBJbnNwZWN0
b3JET01BZ2VudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA3QTI0NTg3OTEwMjFFQUY0MDAwQTAwQUEgLyogSW5zcGVjdG9yRE9NQWdlbnQuY3BwICov
OyB9OwpAQCAtNDI2MSw3ICs0MjY2LDYgQEAKIAkJQkM3NzJCM0UwQzRFQTkxRTAwODMyODVGIC8q
IENTU1BhcnNlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gQkM3NzJCMzgwQzRFQTkxRTAwODMyODVGIC8qIENTU1BhcnNlci5oICovOyB9OwogCQlCQzc3
MkIzRjBDNEVBOTFFMDA4MzI4NUYgLyogQ1NTU3R5bGVTZWxlY3Rvci5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzc3MkIzOTBDNEVBOTFFMDA4MzI4
NUYgLyogQ1NTU3R5bGVTZWxlY3Rvci5jcHAgKi87IH07CiAJCUJDNzcyQjQwMEM0RUE5MUUwMDgz
Mjg1RiAvKiBDU1NTdHlsZVNlbGVjdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBCQzc3MkIzQTBDNEVBOTFFMDA4MzI4NUYgLyogQ1NTU3R5bGVTZWxl
Y3Rvci5oICovOyB9OwotCQlCQzc3MkM0NjBDNEVCMkM2MDA4MzI4NUYgLyogWE1MSHR0cFJlcXVl
c3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM3
NzJDNDQwQzRFQjJDNjAwODMyODVGIC8qIFhNTEh0dHBSZXF1ZXN0LmNwcCAqLzsgfTsKIAkJQkM3
NzJDNDcwQzRFQjJDNjAwODMyODVGIC8qIFhNTEh0dHBSZXF1ZXN0LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzc3MkM0NTBDNEVCMkM2MDA4MzI4NUYg
LyogWE1MSHR0cFJlcXVlc3QuaCAqLzsgfTsKIAkJQkM3NzJDNEUwQzRFQjMwNDAwODMyODVGIC8q
IE1JTUVUeXBlUmVnaXN0cnkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQkM3NzJDNEMwQzRFQjMwNDAwODMyODVGIC8qIE1JTUVUeXBlUmVnaXN0cnku
Y3BwICovOyB9OwogCQlCQzc3MkM0RjBDNEVCMzA0MDA4MzI4NUYgLyogTUlNRVR5cGVSZWdpc3Ry
eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM3NzJD
NEQwQzRFQjMwNDAwODMyODVGIC8qIE1JTUVUeXBlUmVnaXN0cnkuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtNjQ5OCw2ICs2NTAyLDExIEBACiAJ
CTc2OTNCQUNGMTA2QzJEQ0EwMDdCMDgyMyAvKiBQbHVnaW5IYWx0ZXIuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUGx1Z2luSGFsdGVyLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNzY5M0JBRDAxMDZDMkRDQTAwN0IwODIzIC8qIFBsdWdpbkhhbHRl
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQbHVnaW5IYWx0ZXIuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzY5M0JBRDExMDZDMkRDQTAwN0IwODIzIC8qIFBs
dWdpbkhhbHRlckNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQbHVn
aW5IYWx0ZXJDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzgyQjc0MkYx
MDgzQkUyNDAwQjRGQjVBIC8qIFhIUlJlYWR5U3RhdGVDaGFuZ2VUaW1lbGluZUl0ZW0uY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gWEhSUmVhZHlTdGF0ZUNoYW5nZVRp
bWVsaW5lSXRlbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTc4MkI3NDMwMTA4
M0JFMjQwMEI0RkI1QSAvKiBYSFJSZWFkeVN0YXRlQ2hhbmdlVGltZWxpbmVJdGVtLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFhIUlJlYWR5U3RhdGVDaGFuZ2VUaW1lbGluZUl0
ZW0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzgyQjc1NDIxMDg0RDNDNTAwQjRG
QjVBIC8qIFhNTEh0dHBSZXF1ZXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFhNTEh0dHBSZXF1ZXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
NzgyQjc2OTAxMDg1MjcyOTAwQjRGQjVBIC8qIFhIUkxvYWRUaW1lbGluZUl0ZW0uY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gWEhSTG9hZFRpbWVsaW5lSXRlbS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTc4MkI3NjkxMTA4NTI3MjkwMEI0RkI1QSAv
KiBYSFJMb2FkVGltZWxpbmVJdGVtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFhIUkxvYWRUaW1lbGluZUl0ZW0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0Ex
RTg4RjMxMDFDQzM4NDAwMEM0REY1IC8qIFNjcmlwdEFycmF5LmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNjcmlwdEFycmF5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJN0ExRTg4RjQxMDFDQzM4NDAwMEM0REY1IC8qIFNjcmlwdEFycmF5LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNjcmlwdEFycmF5Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTdBMjQ1ODc5MTAyMUVBRjQwMDBBMDBBQSAvKiBJbnNwZWN0b3JE
T01BZ2VudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbnNwZWN0
b3JET01BZ2VudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC05Mzg1LDcgKzkz
OTQsNiBAQAogCQlCQzc3MkIzODBDNEVBOTFFMDA4MzI4NUYgLyogQ1NTUGFyc2VyLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDU1NQYXJzZXIuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJQkM3NzJCMzkwQzRFQTkxRTAwODMyODVGIC8qIENTU1N0eWxlU2VsZWN0
b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU1N0eWxlU2Vs
ZWN0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzc3MkIzQTBDNEVBOTFF
MDA4MzI4NUYgLyogQ1NTU3R5bGVTZWxlY3Rvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gQ1NTU3R5bGVTZWxlY3Rvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owot
CQlCQzc3MkM0NDBDNEVCMkM2MDA4MzI4NUYgLyogWE1MSHR0cFJlcXVlc3QuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFhNTEh0dHBSZXF1ZXN0LmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkM3NzJDNDUwQzRFQjJDNjAwODMyODVGIC8qIFhNTEh0
dHBSZXF1ZXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
MzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBYTUxIdHRwUmVx
dWVzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzc3MkM0QzBDNEVCMzA0MDA4
MzI4NUYgLyogTUlNRVR5cGVSZWdpc3RyeS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gTUlNRVR5cGVSZWdpc3RyeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUJDNzcyQzREMEM0RUIzMDQwMDgzMjg1RiAvKiBNSU1FVHlwZVJlZ2lzdHJ5LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNSU1FVHlwZVJlZ2lzdHJ5Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMDM4OSw2ICsxMDM5NywxMCBAQAogCQkJCUJDQzY0
RjVGMERDRkI4NEUwMDgxRUYzQiAvKiBsb2NhbGl6ZWRTdHJpbmdzLmpzICovLAogCQkJCTc1QTk0
QTAxMTA0Qjc0RkIwMDA2NjczQyAvKiBUaW1lbGluZUl0ZW0uY3BwICovLAogCQkJCTc1QTk0QTAy
MTA0Qjc0RkIwMDA2NjczQyAvKiBUaW1lbGluZUl0ZW0uaCAqLywKKwkJCQk3ODJCNzY5MDEwODUy
NzI5MDBCNEZCNUEgLyogWEhSTG9hZFRpbWVsaW5lSXRlbS5jcHAgKi8sCisJCQkJNzgyQjc2OTEx
MDg1MjcyOTAwQjRGQjVBIC8qIFhIUkxvYWRUaW1lbGluZUl0ZW0uaCAqLywKKwkJCQk3ODJCNzQy
RjEwODNCRTI0MDBCNEZCNUEgLyogWEhSUmVhZHlTdGF0ZUNoYW5nZVRpbWVsaW5lSXRlbS5jcHAg
Ki8sCisJCQkJNzgyQjc0MzAxMDgzQkUyNDAwQjRGQjVBIC8qIFhIUlJlYWR5U3RhdGVDaGFuZ2VU
aW1lbGluZUl0ZW0uaCAqLywKIAkJCSk7CiAJCQlwYXRoID0gaW5zcGVjdG9yOwogCQkJc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTE0OTIwLDEzICsxNDkzMiwxMyBAQAogCQlFMUYwNDI0MzA5
ODM5Mzg5MDA2Njk0RUEgLyogeG1sICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGls
ZHJlbiA9ICgKKwkJCQk3ODJCNzU0MjEwODREM0M1MDBCNEZCNUEgLyogWE1MSHR0cFJlcXVlc3Qu
Y3BwICovLAogCQkJCTFBQ0U1M0UxMEE4RDE4RTcwMDIyOTQ3RCAvKiBET01QYXJzZXIuY3BwICov
LAogCQkJCTFBQ0U1M0UyMEE4RDE4RTcwMDIyOTQ3RCAvKiBET01QYXJzZXIuaCAqLywKIAkJCQkx
QUNFNTNFMzBBOEQxOEU3MDAyMjk0N0QgLyogRE9NUGFyc2VyLmlkbCAqLywKIAkJCQlFMTBCOUI2
QjBCNzQ3NTk5MDAzRUQ4OTAgLyogTmF0aXZlWFBhdGhOU1Jlc29sdmVyLmNwcCAqLywKIAkJCQlF
MTBCOUI2QTBCNzQ3NTk5MDAzRUQ4OTAgLyogTmF0aXZlWFBhdGhOU1Jlc29sdmVyLmggKi8sCiAJ
CQkJQTgzM0M3RjYwQTJDRjFEODAwRDU3NjY0IC8qIHhtbGF0dHJzLmluICovLAotCQkJCUJDNzcy
QzQ0MEM0RUIyQzYwMDgzMjg1RiAvKiBYTUxIdHRwUmVxdWVzdC5jcHAgKi8sCiAJCQkJQkM3NzJD
NDUwQzRFQjJDNjAwODMyODVGIC8qIFhNTEh0dHBSZXF1ZXN0LmggKi8sCiAJCQkJQkMzNDhCQTcw
REI3RjFCODAwNEFCQUI5IC8qIFhNTEh0dHBSZXF1ZXN0LmlkbCAqLywKIAkJCQlCQzYwRDlDNzBE
MkEyOUU1MDBCOTkxOEYgLyogWE1MSHR0cFJlcXVlc3RFeGNlcHRpb24uaCAqLywKQEAgLTE4MDI5
LDYgKzE4MDQxLDggQEAKIAkJCQkwQjkwNTZGOTBGMjY4NUYzMDA5NUZGNkEgLyogV29ya2VyVGhy
ZWFkYWJsZUxvYWRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTMzMDlFMjQwOTlFNjQ5MjAwNTZF
NTgxIC8qIFdyYXBDb250ZW50c0luRHVtbXlTcGFuQ29tbWFuZC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNjU2NTgyMDIwOUQxNTA4RDAwMEU2MUQ3IC8qIFhMaW5rTmFtZXMuaCBpbiBIZWFkZXJzICov
LAorCQkJCTc4MkI3NDMyMTA4M0JFMjQwMEI0RkI1QSAvKiBYSFJSZWFkeVN0YXRlQ2hhbmdlVGlt
ZWxpbmVJdGVtLmggaW4gSGVhZGVycyAqLywKKwkJCQk3ODJCNzY5MzEwODUyNzI5MDBCNEZCNUEg
LyogWEhSTG9hZFRpbWVsaW5lSXRlbS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM3NzJDNDcwQzRF
QjJDNjAwODMyODVGIC8qIFhNTEh0dHBSZXF1ZXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzYw
RDlDOTBEMkEyOUU1MDBCOTkxOEYgLyogWE1MSHR0cFJlcXVlc3RFeGNlcHRpb24uaCBpbiBIZWFk
ZXJzICovLAogCQkJCUY5RjBFRDdBMERCNTBDQTIwMEQxNkRCOSAvKiBYTUxIdHRwUmVxdWVzdFBy
b2dyZXNzRXZlbnQuaCBpbiBIZWFkZXJzICovLApAQCAtMjAxNjMsOCArMjAxNzcsMTAgQEAKIAkJ
CQkyRTQzNDY1NDBGNTQ2QTgyMDBCMEYxQkEgLyogV29ya2VyVGhyZWFkLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTBCOTA1NkY4MEYyNjg1RjMwMDk1RkY2QSAvKiBXb3JrZXJUaHJlYWRhYmxlTG9h
ZGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzMzA5RTIzMDk5RTY0OTIwMDU2RTU4MSAvKiBX
cmFwQ29udGVudHNJbkR1bW15U3BhbkNvbW1hbmQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNzgy
Qjc2OTIxMDg1MjcyOTAwQjRGQjVBIC8qIFhIUkxvYWRUaW1lbGluZUl0ZW0uY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJNzgyQjc0MzExMDgzQkUyNDAwQjRGQjVBIC8qIFhIUlJlYWR5U3RhdGVDaGFu
Z2VUaW1lbGluZUl0ZW0uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTgzM0M3Q0MwQTJDRjA3NDAw
RDU3NjY0IC8qIFhMaW5rTmFtZXMuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJQkM3NzJDNDYwQzRF
QjJDNjAwODMyODVGIC8qIFhNTEh0dHBSZXF1ZXN0LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTc4
MkI3NTQzMTA4NEQzQzUwMEI0RkI1QSAvKiBYTUxIdHRwUmVxdWVzdC5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlCQ0RGRDQ4RjBFMzA1MjkwMDA5RDEwQUQgLyogWE1MSHR0cFJlcXVlc3RVcGxvYWQu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTgzM0M4MEMwQTJDRjI1NjAwRDU3NjY0IC8qIFhNTE5h
bWVzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBQ0U1M0VBMEE4RDE4RTcwMDIyOTQ3RCAvKiBY
TUxTZXJpYWxpemVyLmNwcCBpbiBTb3VyY2VzICovLApJbmRleDogV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAJKHJldmlzaW9uIDQ5ODI3KQorKysgV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTM3LDYgKzM3LDggQEAKICNpbmNsdWRlICJFdmVudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckZy
b250ZW5kLmgiCiAjaW5jbHVkZSAiVGltZWxpbmVJdGVtLmgiCisjaW5jbHVkZSAiWEhSTG9hZFRp
bWVsaW5lSXRlbS5oIgorI2luY2x1ZGUgIlhIUlJlYWR5U3RhdGVDaGFuZ2VUaW1lbGluZUl0ZW0u
aCIKIAogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgogCkBAIC0xMDgsNiArMTEwLDI4IEBA
IHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkV3JpdGVIVE0KICAgICBBU1NFUlQobV9j
dXJyZW50VGltZWxpbmVJdGVtLT50eXBlKCkgPT0gUGFyc2VIVE1MVGltZWxpbmVJdGVtVHlwZSk7
CiAgICAgZGlkQ29tcGxldGVDdXJyZW50UmVjb3JkKCk7CiB9CisgICAgCit2b2lkIEluc3BlY3Rv
clRpbWVsaW5lQWdlbnQ6OndpbGxYSFJSZWFkeVN0YXRlQ2hhbmdlKGNvbnN0IFN0cmluZyYgdXJs
LCBpbnQgcmVhZHlTdGF0ZSkKK3sKKyAgICBtX2N1cnJlbnRUaW1lbGluZUl0ZW0gPSBuZXcgWEhS
UmVhZHlTdGF0ZUNoYW5nZVRpbWVsaW5lSXRlbShtX2N1cnJlbnRUaW1lbGluZUl0ZW0ucmVsZWFz
ZSgpLCBzZXNzaW9uVGltZUluTWlsbGlzZWNvbmRzKCksIHVybCwgcmVhZHlTdGF0ZSk7Cit9Cisg
ICAgCit2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRpZFhIUlJlYWR5U3RhdGVDaGFuZ2Uo
KQoreworICAgIEFTU0VSVChtX2N1cnJlbnRUaW1lbGluZUl0ZW0tPnR5cGUoKSA9PSBYSFJSZWFk
eVN0YXRlQ2hhbmdlVGltZWxpbmVJdGVtVHlwZSk7CisgICAgZGlkQ29tcGxldGVDdXJyZW50UmVj
b3JkKCk7Cit9ICAgIAorCit2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OndpbGxYSFJMb2Fk
KGNvbnN0IFN0cmluZyYgdXJsKQoreworICAgIG1fY3VycmVudFRpbWVsaW5lSXRlbSA9IG5ldyBY
SFJMb2FkVGltZWxpbmVJdGVtKG1fY3VycmVudFRpbWVsaW5lSXRlbS5yZWxlYXNlKCksIHNlc3Np
b25UaW1lSW5NaWxsaXNlY29uZHMoKSwgdXJsKTsKK30KKyAgICAKK3ZvaWQgSW5zcGVjdG9yVGlt
ZWxpbmVBZ2VudDo6ZGlkWEhSTG9hZCgpCit7CisgICAgQVNTRVJUKG1fY3VycmVudFRpbWVsaW5l
SXRlbS0+dHlwZSgpID09IFhIUkxvYWRUaW1lbGluZUl0ZW1UeXBlKTsKKyAgICBkaWRDb21wbGV0
ZUN1cnJlbnRSZWNvcmQoKTsKK30gICAgCiAKIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6
cmVzZXQoKQogewpJbmRleDogV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2Vu
dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdl
bnQuaAkocmV2aXNpb24gNDk4MjcpCisrKyBXZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1l
bGluZUFnZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTU4LDggKzU4LDEzIEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAgICAgdm9pZCBkaWRSZWNhbGN1bGF0ZVN0eWxlKCk7CiAgICAgICAgIHZv
aWQgd2lsbFBhaW50KCk7CiAgICAgICAgIHZvaWQgZGlkUGFpbnQoKTsKLSAgICAgICAgdm9pZCBk
aWRXcml0ZUhUTUwoKTsKICAgICAgICAgdm9pZCB3aWxsV3JpdGVIVE1MKCk7CisgICAgICAgIHZv
aWQgZGlkV3JpdGVIVE1MKCk7CisgICAgICAgIHZvaWQgd2lsbFhIUlJlYWR5U3RhdGVDaGFuZ2Uo
Y29uc3QgU3RyaW5nJiwgaW50KTsKKyAgICAgICAgdm9pZCBkaWRYSFJSZWFkeVN0YXRlQ2hhbmdl
KCk7CisgICAgICAgIHZvaWQgd2lsbFhIUkxvYWQoY29uc3QgU3RyaW5nJik7CisgICAgICAgIHZv
aWQgZGlkWEhSTG9hZCgpOworCiAgICAgcHJpdmF0ZToKICAgICAgICAgZG91YmxlIHNlc3Npb25U
aW1lSW5NaWxsaXNlY29uZHMoKTsKIApJbmRleDogV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVJ
dGVtLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVJdGVtLmgJKHJl
dmlzaW9uIDQ5ODI3KQorKysgV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVJdGVtLmgJKHdvcmtp
bmcgY29weSkKQEAgLTUxLDYgKzUxLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBS
ZWNhbGN1bGF0ZVN0eWxlc1RpbWVsaW5lSXRlbVR5cGUgPSAyLAogICAgICAgICBQYWludFRpbWVs
aW5lSXRlbVR5cGUgPSAzLAogICAgICAgICBQYXJzZUhUTUxUaW1lbGluZUl0ZW1UeXBlID0gNCwK
KyAgICAgICAgWEhSUmVhZHlTdGF0ZUNoYW5nZVRpbWVsaW5lSXRlbVR5cGUgPSA1LAorICAgICAg
ICBYSFJMb2FkVGltZWxpbmVJdGVtVHlwZSA9IDYKICAgICB9OwogCiAgICAgY2xhc3MgVGltZWxp
bmVJdGVtIHsKQEAgLTcwLDExICs3MiwxMSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAg
IHZvaWQgc2V0RW5kVGltZShkb3VibGUgZW5kVGltZSkgeyBtX2VuZFRpbWUgPSBlbmRUaW1lOyB9
CiAKICAgICAgICAgVGltZWxpbmVJdGVtVHlwZSB0eXBlKCkgeyByZXR1cm4gbV9pdGVtVHlwZTsg
fQorCiAgICAgcHJvdGVjdGVkOgogICAgICAgICB2aXJ0dWFsIFNjcmlwdE9iamVjdCBjb252ZXJ0
VG9TY3JpcHRPYmplY3QoSW5zcGVjdG9yRnJvbnRlbmQqKTsKIAogICAgICAgICBTY3JpcHRBcnJh
eSBjb252ZXJ0Q2hpbGRyZW5Ub1NjcmlwdEFycmF5KEluc3BlY3RvckZyb250ZW5kKik7Ci0gICAg
ICAKICAgICBwcml2YXRlOgogICAgICAgICBkb3VibGUgbV9zdGFydFRpbWU7CiAgICAgICAgIGRv
dWJsZSBtX2VuZFRpbWU7CkluZGV4OiBXZWJDb3JlL2luc3BlY3Rvci9YSFJMb2FkVGltZWxpbmVJ
dGVtLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2luc3BlY3Rvci9YSFJMb2FkVGltZWxpbmVJ
dGVtLmNwcAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvaW5zcGVjdG9yL1hIUkxvYWRUaW1lbGlu
ZUl0ZW0uY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDU3IEBACisvKgorKiBDb3B5cmlnaHQg
KEMpIDIwMDkgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyoKKyogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUKKyogbWV0OgorKgorKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorKiBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisqICAg
ICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUKKyogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lcgorKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisqIGRpc3RyaWJ1dGlvbi4KKyogICAgICogTmVp
dGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworKiBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbQorKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorKgorKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisqIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgor
KiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVAorKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorKiBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwK
KyogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZCisqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiWEhSTG9hZFRpbWVsaW5l
SXRlbS5oIgorCisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKworI2luY2x1ZGUgIkluc3BlY3RvckZy
b250ZW5kLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworWEhSTG9hZFRpbWVsaW5lSXRlbTo6
WEhSTG9hZFRpbWVsaW5lSXRlbShQYXNzT3duUHRyPFRpbWVsaW5lSXRlbT4gcHJldmlvdXMsIGRv
dWJsZSBzdGFydFRpbWUsIGNvbnN0IFN0cmluZyYgdXJsKQorICAgIDogVGltZWxpbmVJdGVtKHBy
ZXZpb3VzLCBzdGFydFRpbWUsIFhIUkxvYWRUaW1lbGluZUl0ZW1UeXBlKQorICAgICwgbV91cmwo
dXJsKQoreworfQorCitTY3JpcHRPYmplY3QgWEhSTG9hZFRpbWVsaW5lSXRlbTo6Y29udmVydFRv
U2NyaXB0T2JqZWN0KEluc3BlY3RvckZyb250ZW5kKiBmcm9udGVuZCkKK3sKKyAgICBTY3JpcHRP
YmplY3Qgc2VsZk9iaiA9IFRpbWVsaW5lSXRlbTo6Y29udmVydFRvU2NyaXB0T2JqZWN0KGZyb250
ZW5kKTsKKyAgICBTY3JpcHRPYmplY3QgZGF0YU9iaiA9IGZyb250ZW5kLT5uZXdTY3JpcHRPYmpl
Y3QoKTsKKyAgICBkYXRhT2JqLnNldCgidXJsIiwgbV91cmwpOworICAgIHNlbGZPYmouc2V0KCJk
YXRhIiwgZGF0YU9iaik7CisgICAgcmV0dXJuIHNlbGZPYmo7Cit9CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCkluZGV4OiBXZWJDb3JlL2lu
c3BlY3Rvci9YSFJMb2FkVGltZWxpbmVJdGVtLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9pbnNw
ZWN0b3IvWEhSTG9hZFRpbWVsaW5lSXRlbS5oCShyZXZpc2lvbiAwKQorKysgV2ViQ29yZS9pbnNw
ZWN0b3IvWEhSTG9hZFRpbWVsaW5lSXRlbS5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDU3IEBA
CisvKgorKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyoKKyogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyogbWV0OgorKgorKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorKiBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisqIGRpc3RyaWJ1
dGlvbi4KKyogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5h
bWVzIG9mIGl0cworKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorKgorKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisqICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
CisqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUgorKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorKiBPV05FUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyogU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwKKyogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisqIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisqLworCisjaWZuZGVmIFhIUkxvYWRUaW1lbGluZUl0ZW1f
aAorI2RlZmluZSBYSFJMb2FkVGltZWxpbmVJdGVtX2gKKworI2luY2x1ZGUgIlRpbWVsaW5lSXRl
bS5oIgorI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KyAgICAKKyAgICBjbGFzcyBJbnNwZWN0b3JGcm9udGVuZDsKKworICAgIGNsYXNzIFhIUkxvYWRU
aW1lbGluZUl0ZW0gOiBwdWJsaWMgVGltZWxpbmVJdGVtIHsKKyAgICBwdWJsaWM6CisgICAgICAg
IFhIUkxvYWRUaW1lbGluZUl0ZW0oUGFzc093blB0cjxUaW1lbGluZUl0ZW0+LCBkb3VibGUsIGNv
bnN0IFN0cmluZyYpOworCisgICAgICAgIHZpcnR1YWwgflhIUkxvYWRUaW1lbGluZUl0ZW0oKSB7
IH0KKworICAgIHByb3RlY3RlZDoKKyAgICAgICAgdmlydHVhbCBTY3JpcHRPYmplY3QgY29udmVy
dFRvU2NyaXB0T2JqZWN0KEluc3BlY3RvckZyb250ZW5kKik7CisKKyAgICBwcml2YXRlOgorICAg
ICAgICBTdHJpbmcgbV91cmw7CisgICAgfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisj
ZW5kaWYgLy8gIWRlZmluZWQoWEhSTG9hZFRpbWVsaW5lSXRlbV9oKQorCkluZGV4OiBXZWJDb3Jl
L2luc3BlY3Rvci9YSFJSZWFkeVN0YXRlQ2hhbmdlVGltZWxpbmVJdGVtLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL2luc3BlY3Rvci9YSFJSZWFkeVN0YXRlQ2hhbmdlVGltZWxpbmVJdGVtLmNw
cAkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvaW5zcGVjdG9yL1hIUlJlYWR5U3RhdGVDaGFuZ2VU
aW1lbGluZUl0ZW0uY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDU5IEBACisvKgorKiBDb3B5
cmlnaHQgKEMpIDIwMDkgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyoKKyogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyogbWV0OgorKgorKiAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorKiBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUKKyogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisqIGRpc3RyaWJ1dGlvbi4KKyogICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwor
KiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbQorKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorKgorKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisqICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisqIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUgorKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVAorKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyogU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorKiBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwKKyogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZCisqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiWEhSUmVhZHlT
dGF0ZUNoYW5nZVRpbWVsaW5lSXRlbS5oIgorCisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKworI2lu
Y2x1ZGUgIkluc3BlY3RvckZyb250ZW5kLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworWEhS
UmVhZHlTdGF0ZUNoYW5nZVRpbWVsaW5lSXRlbTo6WEhSUmVhZHlTdGF0ZUNoYW5nZVRpbWVsaW5l
SXRlbShQYXNzT3duUHRyPFRpbWVsaW5lSXRlbT4gcHJldmlvdXMsIGRvdWJsZSBzdGFydFRpbWUs
IGNvbnN0IFN0cmluZyYgdXJsLCBpbnQgcmVhZHlTdGF0ZSkKKyAgICA6IFRpbWVsaW5lSXRlbShw
cmV2aW91cywgc3RhcnRUaW1lLCBYSFJSZWFkeVN0YXRlQ2hhbmdlVGltZWxpbmVJdGVtVHlwZSkK
KyAgICAsIG1fdXJsKHVybCkKKyAgICAsIG1fcmVhZHlTdGF0ZShyZWFkeVN0YXRlKQoreworfQor
CitTY3JpcHRPYmplY3QgWEhSUmVhZHlTdGF0ZUNoYW5nZVRpbWVsaW5lSXRlbTo6Y29udmVydFRv
U2NyaXB0T2JqZWN0KEluc3BlY3RvckZyb250ZW5kKiBmcm9udGVuZCkKK3sKKyAgICBTY3JpcHRP
YmplY3Qgc2VsZk9iaiA9IFRpbWVsaW5lSXRlbTo6Y29udmVydFRvU2NyaXB0T2JqZWN0KGZyb250
ZW5kKTsKKyAgICBTY3JpcHRPYmplY3QgZGF0YU9iaiA9IGZyb250ZW5kLT5uZXdTY3JpcHRPYmpl
Y3QoKTsKKyAgICBkYXRhT2JqLnNldCgidXJsIiwgbV91cmwpOworICAgIGRhdGFPYmouc2V0KCJy
ZWFkeVN0YXRlIiwgbV9yZWFkeVN0YXRlKTsKKyAgICBzZWxmT2JqLnNldCgiZGF0YSIsIGRhdGFP
YmopOworICAgIHJldHVybiBzZWxmT2JqOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
KyNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpJbmRleDogV2ViQ29yZS9pbnNwZWN0b3IvWEhS
UmVhZHlTdGF0ZUNoYW5nZVRpbWVsaW5lSXRlbS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaW5z
cGVjdG9yL1hIUlJlYWR5U3RhdGVDaGFuZ2VUaW1lbGluZUl0ZW0uaAkocmV2aXNpb24gMCkKKysr
IFdlYkNvcmUvaW5zcGVjdG9yL1hIUlJlYWR5U3RhdGVDaGFuZ2VUaW1lbGluZUl0ZW0uaAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSw1OCBAQAorLyoKKyogQ29weXJpZ2h0IChDKSAyMDA5IEdvb2ds
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisqCisqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlCisqIG1ldDoKKyoKKyogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisqIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIKKyogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZQorKiBkaXN0cmlidXRpb24uCisqICAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyogY29udHJpYnV0b3JzIG1heSBi
ZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyogdGhp
cyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyoK
KyogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUworKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyogQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQK
KyogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsCisqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisqIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WQorKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorKi8KKworI2lm
bmRlZiBYSFJSZWFkeVN0YXRlQ2hhbmdlVGltZWxpbmVJdGVtX2gKKyNkZWZpbmUgWEhSUmVhZHlT
dGF0ZUNoYW5nZVRpbWVsaW5lSXRlbV9oCisKKyNpbmNsdWRlICJUaW1lbGluZUl0ZW0uaCIKKyNp
bmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisgICAgCisg
ICAgY2xhc3MgSW5zcGVjdG9yRnJvbnRlbmQ7CisKKyAgICBjbGFzcyBYSFJSZWFkeVN0YXRlQ2hh
bmdlVGltZWxpbmVJdGVtIDogcHVibGljIFRpbWVsaW5lSXRlbSB7CisgICAgcHVibGljOgorICAg
ICAgICBYSFJSZWFkeVN0YXRlQ2hhbmdlVGltZWxpbmVJdGVtKFBhc3NPd25QdHI8VGltZWxpbmVJ
dGVtPiwgZG91YmxlLCBjb25zdCBTdHJpbmcmLCBpbnQpOworCisgICAgICAgIHZpcnR1YWwgflhI
UlJlYWR5U3RhdGVDaGFuZ2VUaW1lbGluZUl0ZW0oKSB7IH0KKworICAgIHByb3RlY3RlZDoKKyAg
ICAgICAgdmlydHVhbCBTY3JpcHRPYmplY3QgY29udmVydFRvU2NyaXB0T2JqZWN0KEluc3BlY3Rv
ckZyb250ZW5kKik7CisKKyAgICBwcml2YXRlOgorICAgICAgICBTdHJpbmcgbV91cmw7CisgICAg
ICAgIGludCBtX3JlYWR5U3RhdGU7CisgICAgfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
CisjZW5kaWYgLy8gIWRlZmluZWQoWEhSUmVhZHlTdGF0ZUNoYW5nZVRpbWVsaW5lSXRlbV9oKQor
CkluZGV4OiBXZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVBZ2VudC5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVBZ2VudC5qcwko
cmV2aXNpb24gNDk4MjcpCisrKyBXZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVB
Z2VudC5qcwkod29ya2luZyBjb3B5KQpAQCAtMzQsMTEgKzM0LDEzIEBAIFdlYkluc3BlY3Rvci5U
aW1lbGluZUFnZW50ID0gZnVuY3Rpb24oKSAKIAogLy8gTXVzdCBiZSBrZXB0IGluIHN5bmMgd2l0
aCBUaW1lbGluZUl0ZW0uaAogV2ViSW5zcGVjdG9yLlRpbWVsaW5lQWdlbnQuSXRlbVR5cGUgPSB7
Ci0gICAgRE9NRGlzcGF0Y2ggICAgICAgOiAwLAotICAgIExheW91dCAgICAgICAgICAgIDogMSwK
LSAgICBSZWNhbGN1bGF0ZVN0eWxlcyA6IDIsCi0gICAgUGFpbnQgICAgICAgICAgICAgOiAzLAot
ICAgIFBhcnNlSFRNTCAgICAgICAgIDogNAorICAgIERPTURpc3BhdGNoICAgICAgICAgOiAwLAor
ICAgIExheW91dCAgICAgICAgICAgICAgOiAxLAorICAgIFJlY2FsY3VsYXRlU3R5bGVzICAgOiAy
LAorICAgIFBhaW50ICAgICAgICAgICAgICAgOiAzLAorICAgIFBhcnNlSFRNTCAgICAgICAgICAg
OiA0LAorICAgIFhIUlJlYWR5U3RhdGVDaGFuZ2UgOiA1LAorICAgIFhIUkxvYWQgICAgICAgICAg
ICAgOiA2CiB9OwogCiBXZWJJbnNwZWN0b3IuYWRkSXRlbVRvVGltZWxpbmUgPSBmdW5jdGlvbihy
ZWNvcmQpIHsKSW5kZXg6IFdlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAJKHJldmlzaW9uIDQ5ODI3KQorKysg
V2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw2ICsz
Myw3IEBACiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2luY2x1ZGUgIkZpbGUuaCIKICNpbmNs
dWRlICJIVFRQUGFyc2Vycy5oIgorI2luY2x1ZGUgIkluc3BlY3RvclRpbWVsaW5lQWdlbnQuaCIK
ICNpbmNsdWRlICJSZXNvdXJjZUVycm9yLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXF1ZXN0Lmgi
CiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKQEAgLTI0OCwxMCArMjQ5LDMzIEBAIHZvaWQg
WE1MSHR0cFJlcXVlc3Q6OmNhbGxSZWFkeVN0YXRlQ2hhbmcKICAgICBpZiAoIXNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKSkKICAgICAgICAgcmV0dXJuOwogCisjaWYgRU5BQkxFKElOU1BFQ1RPUikK
KyAgICBJbnNwZWN0b3JUaW1lbGluZUFnZW50KiB0aW1lbGluZUFnZW50ID0gZG9jdW1lbnQoKS0+
aW5zcGVjdG9yVGltZWxpbmVBZ2VudCgpOworICAgIGlmICh0aW1lbGluZUFnZW50KSAKKyAgICAg
ICAgdGltZWxpbmVBZ2VudC0+d2lsbFhIUlJlYWR5U3RhdGVDaGFuZ2UobV91cmwuc3RyaW5nKCks
IG1fc3RhdGUpOworI2VuZGlmCisKICAgICBkaXNwYXRjaEV2ZW50KFhNTEh0dHBSZXF1ZXN0UHJv
Z3Jlc3NFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5yZWFkeXN0YXRlY2hhbmdlRXZlbnQpKTsK
IAotICAgIGlmIChtX3N0YXRlID09IERPTkUgJiYgIW1fZXJyb3IpCisjaWYgRU5BQkxFKElOU1BF
Q1RPUikKKyAgICBpZiAodGltZWxpbmVBZ2VudCkgCisgICAgICAgIHRpbWVsaW5lQWdlbnQtPmRp
ZFhIUlJlYWR5U3RhdGVDaGFuZ2UoKTsKKyNlbmRpZgorCisgICAgaWYgKG1fc3RhdGUgPT0gRE9O
RSAmJiAhbV9lcnJvcikgeworCisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKyAgICAgICAgaWYgKHRp
bWVsaW5lQWdlbnQpCisgICAgICAgICAgICB0aW1lbGluZUFnZW50LT53aWxsWEhSTG9hZChtX3Vy
bC5zdHJpbmcoKSk7CisjZW5kaWYgICAgICAgIAorCiAgICAgICAgIGRpc3BhdGNoRXZlbnQoWE1M
SHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmxvYWRFdmVudCkp
OworCisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKyAgICAgICAgaWYgKHRpbWVsaW5lQWdlbnQpCisg
ICAgICAgICAgICB0aW1lbGluZUFnZW50LT5kaWRYSFJMb2FkKCk7CisjZW5kaWYKKyAgICB9CiB9
CiAKIHZvaWQgWE1MSHR0cFJlcXVlc3Q6OnNldFdpdGhDcmVkZW50aWFscyhib29sIHZhbHVlLCBF
eGNlcHRpb25Db2RlJiBlYykK
</data>
<flag name="review"
          id="22926"
          type_id="1"
          status="-"
          setter="pfeldman"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41969</attachid>
            <date>2009-10-27 11:40:20 -0700</date>
            <delta_ts>2009-10-27 12:31:07 -0700</delta_ts>
            <desc>Updates original patch after recent changes.</desc>
            <filename>Timeline-xhr.diff</filename>
            <type>text/plain</type>
            <size>7884</size>
            <attacher name="Kelly Norton">knorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YjgzZWFlYy4uYTNlZmYzZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAwOS0xMC0yNyAgS2VsbHkgTm9ydG9u
ICA8a25vcnRvbkBnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZHMgWE1MSHR0cFJlcXVlc3Qgc3VwcG9ydCB0byBJbnNwZWN0b3JU
aW1lbGluZUFnZW50LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MzA1NzgKKworICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OndpbGxDaGFu
Z2VYSFJSZWFkeVN0YXRlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclRpbWVsaW5lQWdl
bnQ6OmRpZENoYW5nZVhIUlJlYWR5U3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
VGltZWxpbmVBZ2VudDo6d2lsbExvYWRYSFIpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9y
VGltZWxpbmVBZ2VudDo6ZGlkTG9hZFhIUik6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rv
clRpbWVsaW5lQWdlbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6Oik6CisgICAgICAgICogaW5zcGVj
dG9yL1RpbWVsaW5lUmVjb3JkRmFjdG9yeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUaW1lbGlu
ZVJlY29yZEZhY3Rvcnk6OmNyZWF0ZVhIUlJlYWR5U3RhdGVDaGFuZ2VUaW1lbGluZVJlY29yZCk6
CisgICAgICAgIChXZWJDb3JlOjpUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmNyZWF0ZVhIUkxvYWRU
aW1lbGluZVJlY29yZCk6CisgICAgICAgICogaW5zcGVjdG9yL1RpbWVsaW5lUmVjb3JkRmFjdG9y
eS5oOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvVGltZWxpbmVBZ2VudC5qczoKKyAg
ICAgICAgKiB4bWwvWE1MSHR0cFJlcXVlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6WE1MSHR0
cFJlcXVlc3Q6OmNhbGxSZWFkeVN0YXRlQ2hhbmdlTGlzdGVuZXIpOgorCiAyMDA5LTEwLTI3ICBL
ZWlzaGkgSGF0dG9yaSAgPGNhc2V5LmhhdHRvcmlAZ21haWwuY29tPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IFRpbW90aHkgSGF0Y2hlci4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwIGIvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGlt
ZWxpbmVBZ2VudC5jcHAKaW5kZXggOTIyMDgyNC4uMjAyY2JiYSAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKKysrIGIvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKQEAgLTEyNCw2ICsxMjQsMjYgQEAgdm9p
ZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRGaXJlVGltZXIoKQogICAgIGRpZENvbXBsZXRl
Q3VycmVudFJlY29yZChUaW1lckZpcmVUaW1lbGluZVJlY29yZFR5cGUpOwogfQogCit2b2lkIElu
c3BlY3RvclRpbWVsaW5lQWdlbnQ6OndpbGxDaGFuZ2VYSFJSZWFkeVN0YXRlKGNvbnN0IFN0cmlu
ZyYgdXJsLCBpbnQgcmVhZHlTdGF0ZSkKK3sKKyAgICBwdXNoQ3VycmVudFJlY29yZChUaW1lbGlu
ZVJlY29yZEZhY3Rvcnk6OmNyZWF0ZVhIUlJlYWR5U3RhdGVDaGFuZ2VUaW1lbGluZVJlY29yZCht
X2Zyb250ZW5kLCBjdXJyZW50VGltZUluTWlsbGlzZWNvbmRzKCksIHVybCwgcmVhZHlTdGF0ZSks
CisgICAgICAgIFhIUlJlYWR5U3RhdGVDaGFuZ2VSZWNvcmRUeXBlKTsKK30KKwordm9pZCBJbnNw
ZWN0b3JUaW1lbGluZUFnZW50OjpkaWRDaGFuZ2VYSFJSZWFkeVN0YXRlKCkKK3sKKyAgICBkaWRD
b21wbGV0ZUN1cnJlbnRSZWNvcmQoWEhSUmVhZHlTdGF0ZUNoYW5nZVJlY29yZFR5cGUpOworfQor
Cit2b2lkIEluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OndpbGxMb2FkWEhSKGNvbnN0IFN0cmluZyYg
dXJsKSB7CisgICAgcHVzaEN1cnJlbnRSZWNvcmQoVGltZWxpbmVSZWNvcmRGYWN0b3J5OjpjcmVh
dGVYSFJMb2FkVGltZWxpbmVSZWNvcmQobV9mcm9udGVuZCwgY3VycmVudFRpbWVJbk1pbGxpc2Vj
b25kcygpLCB1cmwpLCBYSFJMb2FkUmVjb3JkVHlwZSk7Cit9CisKK3ZvaWQgSW5zcGVjdG9yVGlt
ZWxpbmVBZ2VudDo6ZGlkTG9hZFhIUigpCit7CisgICAgZGlkQ29tcGxldGVDdXJyZW50UmVjb3Jk
KFhIUkxvYWRSZWNvcmRUeXBlKTsKK30KKwogdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50Ojpy
ZXNldCgpCiB7CiAgICAgbV9yZWNvcmRTdGFjay5jbGVhcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oIGIvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCmluZGV4IGE1Zjg1MTEuLmUyZTFlODIgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaAorKysgYi9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKQEAgLTUxLDYgKzUxLDggQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBUaW1lckluc3RhbGxUaW1lbGluZVJlY29yZFR5
cGUgPSA1LAogICAgICAgICBUaW1lclJlbW92ZVRpbWVsaW5lUmVjb3JkVHlwZSA9IDYsCiAgICAg
ICAgIFRpbWVyRmlyZVRpbWVsaW5lUmVjb3JkVHlwZSA9IDcsCisgICAgICAgIFhIUlJlYWR5U3Rh
dGVDaGFuZ2VSZWNvcmRUeXBlID0gOCwKKyAgICAgICAgWEhSTG9hZFJlY29yZFR5cGUgPSA5LAog
ICAgIH07CiAKICAgICBjbGFzcyBJbnNwZWN0b3JUaW1lbGluZUFnZW50IHsKQEAgLTgxLDYgKzgz
LDExIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCB3aWxsRmlyZVRpbWVyKGlu
dCB0aW1lcklkKTsKICAgICAgICAgdm9pZCBkaWRGaXJlVGltZXIoKTsKIAorICAgICAgICB2b2lk
IHdpbGxDaGFuZ2VYSFJSZWFkeVN0YXRlKGNvbnN0IFN0cmluZyYsIGludCk7CisgICAgICAgIHZv
aWQgZGlkQ2hhbmdlWEhSUmVhZHlTdGF0ZSgpOworICAgICAgICB2b2lkIHdpbGxMb2FkWEhSKGNv
bnN0IFN0cmluZyYpOworICAgICAgICB2b2lkIGRpZExvYWRYSFIoKTsKKwogICAgICAgICBzdGF0
aWMgSW5zcGVjdG9yVGltZWxpbmVBZ2VudCogcmV0cmlldmUoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCopOwogICAgIHByaXZhdGU6CiAgICAgICAgIHN0cnVjdCBUaW1lbGluZVJlY29yZEVudHJ5IHsK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lUmVjb3JkRmFjdG9yeS5jcHAg
Yi9XZWJDb3JlL2luc3BlY3Rvci9UaW1lbGluZVJlY29yZEZhY3RvcnkuY3BwCmluZGV4IDY0Zjc1
NTkuLjNjY2RhYWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lUmVjb3Jk
RmFjdG9yeS5jcHAKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvVGltZWxpbmVSZWNvcmRGYWN0b3J5
LmNwcApAQCAtNzksNiArNzksMjcgQEAgU2NyaXB0T2JqZWN0IFRpbWVsaW5lUmVjb3JkRmFjdG9y
eTo6Y3JlYXRlVGltZXJJbnN0YWxsUmVjb3JkKEluc3BlY3RvckZyb250ZW5kKgogICAgIHJldHVy
biByZWNvcmQ7CiB9CiAKKy8vIHN0YXRpYworU2NyaXB0T2JqZWN0IFRpbWVsaW5lUmVjb3JkRmFj
dG9yeTo6Y3JlYXRlWEhSUmVhZHlTdGF0ZUNoYW5nZVRpbWVsaW5lUmVjb3JkKEluc3BlY3RvckZy
b250ZW5kKiBmcm9udGVuZCwgZG91YmxlIHN0YXJ0VGltZSwgY29uc3QgU3RyaW5nJiB1cmwsIGlu
dCByZWFkeVN0YXRlKQoreworICAgIFNjcmlwdE9iamVjdCByZWNvcmQgPSBjcmVhdGVHZW5lcmlj
UmVjb3JkKGZyb250ZW5kLCBzdGFydFRpbWUpOworICAgIFNjcmlwdE9iamVjdCBkYXRhID0gZnJv
bnRlbmQtPm5ld1NjcmlwdE9iamVjdCgpOworICAgIGRhdGEuc2V0KCJ1cmwiLCB1cmwpOworICAg
IGRhdGEuc2V0KCJyZWFkeVN0YXRlIiwgcmVhZHlTdGF0ZSk7CisgICAgcmVjb3JkLnNldCgiZGF0
YSIsIGRhdGEpOworICAgIHJldHVybiByZWNvcmQ7Cit9CisKKy8vIHN0YXRpYworU2NyaXB0T2Jq
ZWN0IFRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6Y3JlYXRlWEhSTG9hZFRpbWVsaW5lUmVjb3JkKElu
c3BlY3RvckZyb250ZW5kKiBmcm9udGVuZCwgZG91YmxlIHN0YXJ0VGltZSwgY29uc3QgU3RyaW5n
JiB1cmwpCit7CisgICAgU2NyaXB0T2JqZWN0IHJlY29yZCA9IGNyZWF0ZUdlbmVyaWNSZWNvcmQo
ZnJvbnRlbmQsIHN0YXJ0VGltZSk7CisgICAgU2NyaXB0T2JqZWN0IGRhdGEgPSBmcm9udGVuZC0+
bmV3U2NyaXB0T2JqZWN0KCk7CisgICAgZGF0YS5zZXQoInVybCIsIHVybCk7CisgICAgcmVjb3Jk
LnNldCgiZGF0YSIsIGRhdGEpOworICAgIHJldHVybiByZWNvcmQ7Cit9CisKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1IpCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL2luc3BlY3Rvci9UaW1lbGluZVJlY29yZEZhY3RvcnkuaCBiL1dlYkNvcmUvaW5zcGVj
dG9yL1RpbWVsaW5lUmVjb3JkRmFjdG9yeS5oCmluZGV4IGNhZDQxNzIuLmYxYTVmYTUgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lUmVjb3JkRmFjdG9yeS5oCisrKyBiL1dl
YkNvcmUvaW5zcGVjdG9yL1RpbWVsaW5lUmVjb3JkRmFjdG9yeS5oCkBAIC0zMSw2ICszMSw4IEBA
CiAjaWZuZGVmIFRpbWVsaW5lUmVjb3JkRmFjdG9yeV9oCiAjZGVmaW5lIFRpbWVsaW5lUmVjb3Jk
RmFjdG9yeV9oCiAKKyNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgorCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKICAgICBjbGFzcyBFdmVudDsKQEAgLTQ2LDYgKzQ4LDEwIEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAgICAgc3RhdGljIFNjcmlwdE9iamVjdCBjcmVhdGVHZW5lcmljVGltZXJS
ZWNvcmQoSW5zcGVjdG9yRnJvbnRlbmQqLCBkb3VibGUgc3RhcnRUaW1lLCBpbnQgdGltZXJJZCk7
CiAKICAgICAgICAgc3RhdGljIFNjcmlwdE9iamVjdCBjcmVhdGVUaW1lckluc3RhbGxSZWNvcmQo
SW5zcGVjdG9yRnJvbnRlbmQqLCBkb3VibGUgc3RhcnRUaW1lLCBpbnQgdGltZXJJZCwgaW50IHRp
bWVvdXQsIGJvb2wgc2luZ2xlU2hvdCk7CisKKyAgICAgICAgc3RhdGljIFNjcmlwdE9iamVjdCBj
cmVhdGVYSFJSZWFkeVN0YXRlQ2hhbmdlVGltZWxpbmVSZWNvcmQoSW5zcGVjdG9yRnJvbnRlbmQq
LCBkb3VibGUgc3RhcnRUaW1lLCBjb25zdCBTdHJpbmcmIHVybCwgaW50IHJlYWR5U3RhdGUpOwor
CisgICAgICAgIHN0YXRpYyBTY3JpcHRPYmplY3QgY3JlYXRlWEhSTG9hZFRpbWVsaW5lUmVjb3Jk
KEluc3BlY3RvckZyb250ZW5kKiwgZG91YmxlIHN0YXJ0VGltZSwgY29uc3QgU3RyaW5nJiB1cmwp
OwogICAgICAgICAKICAgICBwcml2YXRlOgogICAgICAgICBUaW1lbGluZVJlY29yZEZhY3Rvcnko
KSB7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZUFn
ZW50LmpzIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lQWdlbnQuanMKaW5k
ZXggZmNhYWQ1ZC4uMjg4NmU5MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL1RpbWVsaW5lQWdlbnQuanMKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Rp
bWVsaW5lQWdlbnQuanMKQEAgLTM0LDE0ICszNCwxNiBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVB
Z2VudCA9IGZ1bmN0aW9uKCkgewogCiAvLyBNdXN0IGJlIGtlcHQgaW4gc3luYyB3aXRoIFRpbWVs
aW5lSXRlbS5oCiBXZWJJbnNwZWN0b3IuVGltZWxpbmVBZ2VudC5SZWNvcmRUeXBlID0gewotICAg
IERPTURpc3BhdGNoICAgICAgIDogMCwKLSAgICBMYXlvdXQgICAgICAgICAgICA6IDEsCi0gICAg
UmVjYWxjdWxhdGVTdHlsZXMgOiAyLAotICAgIFBhaW50ICAgICAgICAgICAgIDogMywKLSAgICBQ
YXJzZUhUTUwgICAgICAgICA6IDQsCi0gICAgVGltZXJJbnN0YWxsICAgICAgOiA1LAotICAgIFRp
bWVyUmVtb3ZlICAgICAgIDogNiwKLSAgICBUaW1lckZpcmUgICAgICAgICA6IDcsICAgIAorICAg
IERPTURpc3BhdGNoICAgICAgICAgOiAwLAorICAgIExheW91dCAgICAgICAgICAgICAgOiAxLAor
ICAgIFJlY2FsY3VsYXRlU3R5bGVzICAgOiAyLAorICAgIFBhaW50ICAgICAgICAgICAgICAgOiAz
LAorICAgIFBhcnNlSFRNTCAgICAgICAgICAgOiA0LAorICAgIFRpbWVySW5zdGFsbCAgICAgICAg
OiA1LAorICAgIFRpbWVyUmVtb3ZlICAgICAgICAgOiA2LAorICAgIFRpbWVyRmlyZSAgICAgICAg
ICAgOiA3LAorICAgIFhIUlJlYWR5U3RhdGVDaGFuZ2UgOiA4LAorICAgIFhIUkxvYWQgICAgICAg
ICAgICAgOiA5LAogfTsKIAogV2ViSW5zcGVjdG9yLmFkZFJlY29yZFRvVGltZWxpbmUgPSBmdW5j
dGlvbihyZWNvcmQpIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNw
cCBiL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAppbmRleCAzYzM0YmFmLi44N2E2NTQw
IDEwMDY0NAotLS0gYS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKKysrIGIvV2ViQ29y
ZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiRXZl
bnROYW1lcy5oIgogI2luY2x1ZGUgIkZpbGUuaCIKICNpbmNsdWRlICJIVFRQUGFyc2Vycy5oIgor
I2luY2x1ZGUgIkluc3BlY3RvclRpbWVsaW5lQWdlbnQuaCIKICNpbmNsdWRlICJSZXNvdXJjZUVy
cm9yLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VSZXF1ZXN0LmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlP
cmlnaW4uaCIKQEAgLTI1MCwxMCArMjUxLDMyIEBAIHZvaWQgWE1MSHR0cFJlcXVlc3Q6OmNhbGxS
ZWFkeVN0YXRlQ2hhbmdlTGlzdGVuZXIoKQogICAgIGlmICghc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpKQogICAgICAgICByZXR1cm47CiAKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorICAgIEluc3Bl
Y3RvclRpbWVsaW5lQWdlbnQqIHRpbWVsaW5lQWdlbnQgPSBJbnNwZWN0b3JUaW1lbGluZUFnZW50
OjpyZXRyaWV2ZShzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOworICAgIGlmICh0aW1lbGluZUFn
ZW50KQorICAgICAgICB0aW1lbGluZUFnZW50LT53aWxsQ2hhbmdlWEhSUmVhZHlTdGF0ZShtX3Vy
bC5zdHJpbmcoKSwgbV9zdGF0ZSk7CisjZW5kaWYKKwogICAgIGRpc3BhdGNoRXZlbnQoWE1MSHR0
cFJlcXVlc3RQcm9ncmVzc0V2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLnJlYWR5c3RhdGVjaGFu
Z2VFdmVudCkpOwogCi0gICAgaWYgKG1fc3RhdGUgPT0gRE9ORSAmJiAhbV9lcnJvcikKKyNpZiBF
TkFCTEUoSU5TUEVDVE9SKQorICAgIGlmICh0aW1lbGluZUFnZW50KQorICAgICAgICB0aW1lbGlu
ZUFnZW50LT5kaWRDaGFuZ2VYSFJSZWFkeVN0YXRlKCk7CisjZW5kaWYKKworICAgIGlmIChtX3N0
YXRlID09IERPTkUgJiYgIW1fZXJyb3IpIHsKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorICAgICAg
ICBpZiAodGltZWxpbmVBZ2VudCkKKyAgICAgICAgICAgIHRpbWVsaW5lQWdlbnQtPndpbGxMb2Fk
WEhSKG1fdXJsLnN0cmluZygpKTsKKyNlbmRpZgorCiAgICAgICAgIGRpc3BhdGNoRXZlbnQoWE1M
SHR0cFJlcXVlc3RQcm9ncmVzc0V2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmxvYWRFdmVudCkp
OworCisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKyAgICAgICAgaWYgKHRpbWVsaW5lQWdlbnQpCisg
ICAgICAgICAgICB0aW1lbGluZUFnZW50LT5kaWRMb2FkWEhSKCk7CisjZW5kaWYKKyAgICB9CiB9
CiAKIHZvaWQgWE1MSHR0cFJlcXVlc3Q6OnNldFdpdGhDcmVkZW50aWFscyhib29sIHZhbHVlLCBF
eGNlcHRpb25Db2RlJiBlYykK
</data>

          </attachment>
      

    </bug>

</bugzilla>