<?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>89516</bug_id>
          
          <creation_ts>2012-06-19 14:35:42 -0700</creation_ts>
          <short_desc>[Qt][Mac] REGRESSION(r120742): It broke the build</short_desc>
          <delta_ts>2012-06-19 17:20:51 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>OS X 10.7</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt, QtTriaged</keywords>
          <priority>P1</priority>
          <bug_severity>Blocker</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>89400</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Csaba Osztrogonác">ossy</reporter>
          <assigned_to name="Mark Hahnenberg">mhahnenberg</assigned_to>
          <cc>ggaren</cc>
    
    <cc>gustavo</cc>
    
    <cc>jesus</cc>
    
    <cc>menard</cc>
    
    <cc>mhahnenberg</cc>
    
    <cc>philn</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>652827</commentid>
    <comment_count>0</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-06-19 14:35:42 -0700</bug_when>
    <thetext>../../../../Source/JavaScriptCore/runtime/GCActivityCallback.cpp: In constructor ‘JSC::DefaultGCActivityCallback::DefaultGCActivityCallback(JSC::Heap*)’:
../../../../Source/JavaScriptCore/runtime/GCActivityCallback.cpp:37: error: no matching function for call to ‘JSC::GCActivityCallback::GCActivityCallback(JSC::JSGlobalData*)’
../../../../Source/JavaScriptCore/runtime/GCActivityCallback.h:54: note: candidates are: JSC::GCActivityCallback::GCActivityCallback(JSC::JSGlobalData*, __CFRunLoop*)
../../../../Source/JavaScriptCore/runtime/GCActivityCallback.h:44: note:                 JSC::GCActivityCallback::GCActivityCallback(const JSC::GCActivityCallback&amp;)

Could you check it, please?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>652833</commentid>
    <comment_count>1</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2012-06-19 14:40:25 -0700</bug_when>
    <thetext>Why is USE(CF) true on Qt platforms?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>652838</commentid>
    <comment_count>2</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2012-06-19 14:44:10 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; Why is USE(CF) true on Qt platforms?

Ah, I see, on Darwin. Okay, working on a fix for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>652873</commentid>
    <comment_count>3</comment_count>
      <attachid>148439</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2012-06-19 15:16:10 -0700</bug_when>
    <thetext>Created attachment 148439
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>652881</commentid>
    <comment_count>4</comment_count>
      <attachid>148440</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2012-06-19 15:27:32 -0700</bug_when>
    <thetext>Created attachment 148440
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>652890</commentid>
    <comment_count>5</comment_count>
      <attachid>148442</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2012-06-19 15:35:56 -0700</bug_when>
    <thetext>Created attachment 148442
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>652918</commentid>
    <comment_count>6</comment_count>
      <attachid>148442</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2012-06-19 16:07:05 -0700</bug_when>
    <thetext>Comment on attachment 148442
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>653024</commentid>
    <comment_count>7</comment_count>
      <attachid>148442</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-19 17:20:45 -0700</bug_when>
    <thetext>Comment on attachment 148442
Patch

Clearing flags on attachment: 148442

Committed r120778: &lt;http://trac.webkit.org/changeset/120778&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>653025</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-19 17:20:51 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>148439</attachid>
            <date>2012-06-19 15:16:10 -0700</date>
            <delta_ts>2012-06-19 15:27:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-89516-20120619151610.patch</filename>
            <type>text/plain</type>
            <size>16424</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTIwNzU4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBA
CisyMDEyLTA2LTE5ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CisK
KyAgICAgICAgW1F0XVtNYWNdIFJFR1JFU1NJT04ocjEyMDc0Mik6IEl0IGJyb2tlIHRoZSBidWls
ZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODk1MTYK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmlu
ZyBHQ0FjdGl2aXR5Q2FsbGJhY2tDRi5jcHAgYmVjYXVzZSBpdCBkb2Vzbid0IG1lc2ggd2VsbCB3
aXRoIGNyb3NzLXBsYXRmb3JtIAorICAgICAgICBjb2RlIG9uIERhcndpbiAoZS5nLiBRdCkuIFdl
IG5vdyB1c2UgcGxhaW4gb2wnIHZhbmlsbGEgaWZkZWZzIHRvIGhhbmRsZSBwbGF0Zm9ybXMgCisg
ICAgICAgIHdpdGhvdXQgQ0Ygc3VwcG9ydC4gVGhlc2UgaWYtZGVmcyB3aWxsIHByb2JhYmx5IGRp
c2FwcGVhciBpbiB0aGUgZnV0dXJlIHdoZW4gd2UgCisgICAgICAgIHVzZSBjcm9zcy1wbGF0Zm9y
bSB0aW1lcnMgaW4gSGVhcFRpbWVyLgorCisgICAgICAgICogSmF2YVNjcmlwdENvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBydW50aW1lL0dDQWN0aXZpdHlDYWxsYmFj
ay5jcHA6CisgICAgICAgIChKU0MpOgorICAgICAgICAoSlNDOjpEZWZhdWx0R0NBY3Rpdml0eUNh
bGxiYWNrOjpEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrKToKKyAgICAgICAgKEpTQzo6RGVmYXVs
dEdDQWN0aXZpdHlDYWxsYmFjazo6ZG9Xb3JrKToKKyAgICAgICAgKEpTQzo6RGVmYXVsdEdDQWN0
aXZpdHlDYWxsYmFjazo6c2NoZWR1bGVUaW1lcik6CisgICAgICAgIChKU0M6OkRlZmF1bHRHQ0Fj
dGl2aXR5Q2FsbGJhY2s6OmNhbmNlbFRpbWVyKToKKyAgICAgICAgKEpTQzo6RGVmYXVsdEdDQWN0
aXZpdHlDYWxsYmFjazo6ZGlkQWxsb2NhdGUpOgorICAgICAgICAoSlNDOjpEZWZhdWx0R0NBY3Rp
dml0eUNhbGxiYWNrOjp3aWxsQ29sbGVjdCk6CisgICAgICAgIChKU0M6OkRlZmF1bHRHQ0FjdGl2
aXR5Q2FsbGJhY2s6OmNhbmNlbCk6CisgICAgICAgICogcnVudGltZS9HQ0FjdGl2aXR5Q2FsbGJh
Y2tDRi5jcHA6IFJlbW92ZWQuIE1vdmVkIGFsbCBjb2RlIG92ZXIgdG8gR0NBY3Rpdml0eUNhbGxi
YWNrLmNwcC4KKwogMjAxMi0wNi0xOSAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+CiAK
ICAgICAgICAgQ29kZUJsb2NrOjpuZWVkc0NhbGxSZXR1cm5JbmRpY2VzKCkgaXMgbm8gbG9uZ2Vy
IG5lZWRlZC4KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAxMjA3
NTUpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtNjY2LDEyICs2NjYsMTIgQEAKIAkJQzJD
OEQwMkQxNEEzQzZFMDAwNTc4RTY1IC8qIENvcGllZFNwYWNlSW5saW5lTWV0aG9kcy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzJDOEQwMkIxNEEzQzZC
MjAwNTc4RTY1IC8qIENvcGllZFNwYWNlSW5saW5lTWV0aG9kcy5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUMyQzhEMDMwMTRBM0NFRkMwMDU3OEU2
NSAvKiBDb3BpZWRCbG9jay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQzJDOEQwMkUxNEEzQ0VGQzAwNTc4RTY1IC8qIENvcGllZEJsb2NrLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQzJDOEQwMzExNEEz
Q0VGQzAwNTc4RTY1IC8qIEhlYXBCbG9jay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQzJDOEQwMkYxNEEzQ0VGQzAwNTc4RTY1IC8qIEhlYXBCbG9jay5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUMyRDU4
QzM0MTU5MTJGRUUwMDIxQTg0NCAvKiBHQ0FjdGl2aXR5Q2FsbGJhY2suY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzJENThDMzMxNTkxMkZFRTAwMjFB
ODQ0IC8qIEdDQWN0aXZpdHlDYWxsYmFjay5jcHAgKi87IH07CiAJCUMyRTUyNkJEMTU5MEVGMDAw
MDU0RTQ4RCAvKiBIZWFwVGltZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQzJFNTI2QkIxNTkwRUYwMDAwNTRFNDhEIC8qIEhlYXBUaW1lci5jcHAg
Ki87IH07CiAJCUMyRTUyNkJFMTU5MEVGMDAwMDU0RTQ4RCAvKiBIZWFwVGltZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyRTUyNkJDMTU5MEVGMDAw
MDU0RTQ4RCAvKiBIZWFwVGltZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQlDMkVBQTNGQTE0OUE4MzVFMDBGQ0UxMTIgLyogQ29waWVkU3BhY2Uu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyRUFBM0Y4
MTQ5QTgzMDgwMEZDRTExMiAvKiBDb3BpZWRTcGFjZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUMyRUFEMkZDMTRGMDI0OTgwMEE0QjE1OSAvKiBD
b3BpZWRBbGxvY2F0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEMyRUFEMkZCMTRGMDI0OTgwMEE0QjE1OSAvKiBDb3BpZWRBbGxvY2F0b3IuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlEREY3QUJENDEx
RjYwRUQyMDAxMDhFMzYgLyogR0NBY3Rpdml0eUNhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBEREY3QUJEMjExRjYwRUQyMDAxMDhFMzYgLyog
R0NBY3Rpdml0eUNhbGxiYWNrLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKLQkJRERGN0FCRDUxMUY2MEVEMjAwMTA4RTM2IC8qIEdDQWN0aXZpdHlDYWxs
YmFja0NGLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IERERjdBQkQzMTFGNjBFRDIwMDEwOEUzNiAvKiBHQ0FjdGl2aXR5Q2FsbGJhY2tDRi5jcHAgKi87
IH07CiAJCUUxMjRBOEY3MEU1NTU3NzUwMDMwOTFGMSAvKiBPcGFxdWVKU1N0cmluZy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTEyNEE4RjUwRTU1NTc3
NTAwMzA5MUYxIC8qIE9wYXF1ZUpTU3RyaW5nLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTEyNEE4RjgwRTU1NTc3NTAwMzA5MUYxIC8qIE9wYXF1
ZUpTU3RyaW5nLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEUxMjRBOEY2MEU1NTU3NzUwMDMwOTFGMSAvKiBPcGFxdWVKU1N0cmluZy5jcHAgKi87IH07
CiAJCUUxNzg2MzZEMEQ5QkVFQzMwMEQ3NEU3NSAvKiBJbml0aWFsaXplVGhyZWFkaW5nLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxNzg2MzZDMEQ5
QkVFQzMwMEQ3NEU3NSAvKiBJbml0aWFsaXplVGhyZWFkaW5nLmNwcCAqLzsgfTsKQEAgLTEzODYs
NiArMTM4Niw3IEBACiAJCUMyQzhEMDJCMTRBM0M2QjIwMDU3OEU2NSAvKiBDb3BpZWRTcGFjZUlu
bGluZU1ldGhvZHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29waWVkU3Bh
Y2VJbmxpbmVNZXRob2RzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMyQzhEMDJF
MTRBM0NFRkMwMDU3OEU2NSAvKiBDb3BpZWRCbG9jay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBDb3BpZWRCbG9jay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlD
MkM4RDAyRjE0QTNDRUZDMDA1NzhFNjUgLyogSGVhcEJsb2NrLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEhlYXBCbG9jay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlDMkQ1OEMzMzE1OTEyRkVFMDAyMUE4NDQgLyogR0NBY3Rpdml0eUNhbGxiYWNrLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEdDQWN0aXZpdHlDYWxsYmFjay5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMyRTUyNkJCMTU5MEVGMDAwMDU0RTQ4RCAv
KiBIZWFwVGltZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSGVh
cFRpbWVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzJFNTI2QkMxNTkwRUYw
MDAwNTRFNDhEIC8qIEhlYXBUaW1lci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBIZWFwVGltZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzJFQUEzRjgxNDlB
ODMwODAwRkNFMTEyIC8qIENvcGllZFNwYWNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IENvcGllZFNwYWNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMzkz
LDcgKzEzOTQsNiBAQAogCQlEMjEyMDIyODBBRDQzMTBDMDBFRDc5QjYgLyogRGF0ZUNvbnZlcnNp
b24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERhdGVDb252ZXJz
aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDIxMjAyMjkwQUQ0MzEwQzAw
RUQ3OUI2IC8qIERhdGVDb252ZXJzaW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBEYXRlQ29udmVyc2lvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlEREY3
QUJEMjExRjYwRUQyMDAxMDhFMzYgLyogR0NBY3Rpdml0eUNhbGxiYWNrLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdDQWN0aXZpdHlDYWxsYmFjay5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwotCQlEREY3QUJEMzExRjYwRUQyMDAxMDhFMzYgLyogR0NBY3Rpdml0eUNh
bGxiYWNrQ0YuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gR0NBY3Rp
dml0eUNhbGxiYWNrQ0YuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMTI0QThG
NTBFNTU1Nzc1MDAzMDkxRjEgLyogT3BhcXVlSlNTdHJpbmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gT3BhcXVlSlNTdHJpbmcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRTEyNEE4RjYwRTU1NTc3NTAwMzA5MUYxIC8qIE9wYXF1ZUpTU3RyaW5nLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE9wYXF1ZUpTU3RyaW5nLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTE3ODYzM0YwRDlCRUMwMDAwRDc0RTc1IC8qIElu
aXRpYWxpemVUaHJlYWRpbmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5p
dGlhbGl6ZVRocmVhZGluZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTkxOSw2
ICsxOTE5LDcgQEAKIAkJN0VGNkUwQkIwRUI3QTFFQzAwNzlBRkFGIC8qIHJ1bnRpbWUgKi8gPSB7
CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCUMyRDU4QzMzMTU5MTJG
RUUwMDIxQTg0NCAvKiBHQ0FjdGl2aXR5Q2FsbGJhY2suY3BwICovLAogCQkJCUJDRjYwNTExMEUy
MDNFRjgwMEI5QTY0RCAvKiBBcmdMaXN0LmNwcCAqLywKIAkJCQlCQ0Y2MDUxMjBFMjAzRUY4MDBC
OUE2NEQgLyogQXJnTGlzdC5oICovLAogCQkJCUJDMjU3REU1MEUxRjUxQzUwMDE2QjZDOSAvKiBB
cmd1bWVudHMuY3BwICovLApAQCAtMTk3NCw3ICsxOTc1LDYgQEAKIAkJCQlGNjkyQTg1QzAyNTU1
OTdEMDFGRjYwRjcgLyogRnVuY3Rpb25Qcm90b3R5cGUuY3BwICovLAogCQkJCUY2OTJBODVEMDI1
NTU5N0QwMUZGNjBGNyAvKiBGdW5jdGlvblByb3RvdHlwZS5oICovLAogCQkJCURERjdBQkQyMTFG
NjBFRDIwMDEwOEUzNiAvKiBHQ0FjdGl2aXR5Q2FsbGJhY2suaCAqLywKLQkJCQlEREY3QUJEMzEx
RjYwRUQyMDAxMDhFMzYgLyogR0NBY3Rpdml0eUNhbGxiYWNrQ0YuY3BwICovLAogCQkJCUJDMDJF
OUI4MEUxODQ1NDUwMDBGOTI5NyAvKiBHZXR0ZXJTZXR0ZXIuY3BwICovLAogCQkJCUJDMzM3QkRF
MEUxQUYwQjgwMDc2OTE4QSAvKiBHZXR0ZXJTZXR0ZXIuaCAqLywKIAkJCQk5MzNBMzQ5RDAzOEFF
ODBGMDA4NjM1Q0UgLyogSWRlbnRpZmllci5jcHAgKi8sCkBAIC0zMTY2LDcgKzMxNjYsNiBAQAog
CQkJCTg2REI2NDY0MEY5NUM2RkMwMEQ3RDkyMSAvKiBFeGVjdXRhYmxlQWxsb2NhdG9yRml4ZWRW
TVBvb2wuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTQ3RjM5Q0IxMDdFQzM3NjAwNDI3QTQ4IC8q
IEZ1bmN0aW9uQ29uc3RydWN0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTQ3RjM5Q0MxMDdF
QzM3NjAwNDI3QTQ4IC8qIEZ1bmN0aW9uUHJvdG90eXBlLmNwcCBpbiBTb3VyY2VzICovLAotCQkJ
CURERjdBQkQ1MTFGNjBFRDIwMDEwOEUzNiAvKiBHQ0FjdGl2aXR5Q2FsbGJhY2tDRi5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQkxNDI4MDg1NTEwN0VDMEU3MDAxM0U3QjIgLyogR2V0dGVyU2V0dGVy
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0MkUzMTM1MTM0RkYwQTYwMEFGQURCNSAvKiBIYW5k
bGVTZXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTQyRTMxMzcxMzRGRjBBNjAwQUZBREI1IC8q
IEhhbmRsZVN0YWNrLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMzM0MSw2ICszMzQwLDcgQEAKIAkJ
CQkwRkY0Mjc0QTE1OEVCRTkxMDA0Q0I5RkYgLyogdWRpczg2LmMgaW4gU291cmNlcyAqLywKIAkJ
CQkwRkY0Mjc0RDE1OEVCRkU2MDA0Q0I5RkYgLyogdWRpczg2X2l0YWJfaG9sZGVyLmMgaW4gU291
cmNlcyAqLywKIAkJCQlDMkU1MjZCRDE1OTBFRjAwMDA1NEU0OEQgLyogSGVhcFRpbWVyLmNwcCBp
biBTb3VyY2VzICovLAorCQkJCUMyRDU4QzM0MTU5MTJGRUUwMDIxQTg0NCAvKiBHQ0FjdGl2aXR5
Q2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1l
bnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9HQ0FjdGl2aXR5Q2FsbGJhY2suY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0dDQWN0aXZpdHlDYWxsYmFjay5jcHAJKHJldmlzaW9uIDEyMDc1
NSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0dDQWN0aXZpdHlDYWxsYmFjay5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTI5LDEwICsyOSw5OSBAQAogI2luY2x1ZGUgImNvbmZpZy5o
IgogI2luY2x1ZGUgIkdDQWN0aXZpdHlDYWxsYmFjay5oIgogCisjaW5jbHVkZSAiQVBJU2hpbXMu
aCIKICNpbmNsdWRlICJIZWFwLmgiCisjaW5jbHVkZSAiSlNHbG9iYWxEYXRhLmgiCisjaW5jbHVk
ZSAiSlNMb2NrLmgiCisjaW5jbHVkZSAiSlNPYmplY3QuaCIKKyNpbmNsdWRlICJTY29wZUNoYWlu
LmgiCisjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgorI2luY2x1ZGUgPHd0Zi9XVEZUaHJlYWRE
YXRhLmg+CisKKyNpZiAhVVNFKENGKQorI2Vycm9yICJUaGlzIGZpbGUgc2hvdWxkIG9ubHkgYmUg
dXNlZCBvbiBDRiBwbGF0Zm9ybXMuIgorI2VuZGlmCisKIAogbmFtZXNwYWNlIEpTQyB7CiAKKyNp
ZiBVU0UoQ0YpCisKK2NvbnN0IGRvdWJsZSBnY1RpbWVTbGljZVBlck1CID0gMC4wMTsgLy8gUGVy
Y2VudGFnZSBvZiBDUFUgdGltZSB3ZSB3aWxsIHNwZW5kIHRvIHJlY2xhaW0gMSBNQgorY29uc3Qg
ZG91YmxlIG1heEdDVGltZVNsaWNlID0gMC4wNTsgLy8gVGhlIG1heGltdW0gYW1vdW50IG9mIENQ
VSB0aW1lIHdlIHdhbnQgdG8gdXNlIGZvciBvcHBvcnR1bmlzdGljIHRpbWVyLXRyaWdnZXJlZCBj
b2xsZWN0aW9ucy4KK2NvbnN0IGRvdWJsZSB0aW1lclNsb3AgPSAyLjA7IC8vIEZ1ZGdlIGZhY3Rv
ciB0byBhdm9pZCBwZXJmb3JtYW5jZSBjb3N0IG9mIHJlc2V0dGluZyB0aW1lci4KK2NvbnN0IGRv
dWJsZSBwYWdpbmdUaW1lT3V0ID0gMC4xOyAvLyBUaW1lIGluIHNlY29uZHMgdG8gYWxsb3cgb3Bw
b3J0dW5pc3RpYyB0aW1lciB0byBpdGVyYXRlIG92ZXIgYWxsIGJsb2NrcyB0byBzZWUgaWYgdGhl
IEhlYXAgaXMgcGFnZWQgb3V0LgorY29uc3QgQ0ZUaW1lSW50ZXJ2YWwgaG91ciA9IDYwICogNjA7
CisKK0RlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6OkRlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2so
SGVhcCogaGVhcCkKKyAgICA6IEdDQWN0aXZpdHlDYWxsYmFjayhoZWFwLT5nbG9iYWxEYXRhKCks
IENGUnVuTG9vcEdldEN1cnJlbnQoKSkKKyAgICAsIG1fZGVsYXkoc19kZWNhZGUpCit7Cit9CisK
K0RlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6OkRlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2soSGVh
cCogaGVhcCwgQ0ZSdW5Mb29wUmVmIHJ1bkxvb3ApCisgICAgOiBHQ0FjdGl2aXR5Q2FsbGJhY2so
aGVhcC0+Z2xvYmFsRGF0YSgpLCBydW5Mb29wKQorICAgICwgbV9kZWxheShzX2RlY2FkZSkKK3sK
K30KKwordm9pZCBEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjpkb1dvcmsoKQoreworICAgIEhl
YXAqIGhlYXAgPSAmbV9nbG9iYWxEYXRhLT5oZWFwOworICAgIGlmICghaXNFbmFibGVkKCkpCisg
ICAgICAgIHJldHVybjsKKyAgICAKKyAgICBBUElFbnRyeVNoaW0gc2hpbShtX2dsb2JhbERhdGEp
OworI2lmICFQTEFURk9STShJT1MpCisgICAgZG91YmxlIHN0YXJ0VGltZSA9IFdURjo6bW9ub3Rv
bmljYWxseUluY3JlYXNpbmdUaW1lKCk7CisgICAgaWYgKGhlYXAtPmlzUGFnZWRPdXQoc3RhcnRU
aW1lICsgcGFnaW5nVGltZU91dCkpIHsKKyAgICAgICAgaGVhcC0+YWN0aXZpdHlDYWxsYmFjaygp
LT5jYW5jZWwoKTsKKyAgICAgICAgaGVhcC0+aW5jcmVhc2VMYXN0R0NMZW5ndGgocGFnaW5nVGlt
ZU91dCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisjZW5kaWYKKyAgICBoZWFwLT5jb2xsZWN0
QWxsR2FyYmFnZSgpOworfQorICAgIAordm9pZCBEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjpz
Y2hlZHVsZVRpbWVyKGRvdWJsZSBuZXdEZWxheSkKK3sKKyAgICBpZiAobmV3RGVsYXkgKiB0aW1l
clNsb3AgPiBtX2RlbGF5KQorICAgICAgICByZXR1cm47CisgICAgZG91YmxlIGRlbHRhID0gbV9k
ZWxheSAtIG5ld0RlbGF5OworICAgIG1fZGVsYXkgPSBuZXdEZWxheTsKKyAgICBDRlJ1bkxvb3BU
aW1lclNldE5leHRGaXJlRGF0ZShtX3RpbWVyLmdldCgpLCBDRlJ1bkxvb3BUaW1lckdldE5leHRG
aXJlRGF0ZShtX3RpbWVyLmdldCgpKSAtIGRlbHRhKTsKK30KKwordm9pZCBEZWZhdWx0R0NBY3Rp
dml0eUNhbGxiYWNrOjpjYW5jZWxUaW1lcigpCit7CisgICAgbV9kZWxheSA9IHNfZGVjYWRlOwor
ICAgIENGUnVuTG9vcFRpbWVyU2V0TmV4dEZpcmVEYXRlKG1fdGltZXIuZ2V0KCksIENGQWJzb2x1
dGVUaW1lR2V0Q3VycmVudCgpICsgc19kZWNhZGUpOworfQorCit2b2lkIERlZmF1bHRHQ0FjdGl2
aXR5Q2FsbGJhY2s6OmRpZEFsbG9jYXRlKHNpemVfdCBieXRlcykKK3sKKyAgICAvLyBUaGUgZmly
c3QgYnl0ZSBhbGxvY2F0ZWQgaW4gYW4gYWxsb2NhdGlvbiBjeWNsZSB3aWxsIHJlcG9ydCAwIGJ5
dGVzIHRvIGRpZEFsbG9jYXRlLiAKKyAgICAvLyBXZSBwcmV0ZW5kIGl0J3Mgb25lIGJ5dGUgc28g
dGhhdCB3ZSBkb24ndCBpZ25vcmUgdGhpcyBhbGxvY2F0aW9uIGVudGlyZWx5LgorICAgIGlmICgh
Ynl0ZXMpCisgICAgICAgIGJ5dGVzID0gMTsKKyAgICBIZWFwKiBoZWFwID0gc3RhdGljX2Nhc3Q8
SGVhcCo+KCZtX2dsb2JhbERhdGEtPmhlYXApOworICAgIGRvdWJsZSBnY1RpbWVTbGljZSA9IHN0
ZDo6bWluKChzdGF0aWNfY2FzdDxkb3VibGU+KGJ5dGVzKSAvIE1CKSAqIGdjVGltZVNsaWNlUGVy
TUIsIG1heEdDVGltZVNsaWNlKTsKKyAgICBkb3VibGUgbmV3RGVsYXkgPSBoZWFwLT5sYXN0R0NM
ZW5ndGgoKSAvIGdjVGltZVNsaWNlOworICAgIHNjaGVkdWxlVGltZXIobmV3RGVsYXkpOworfQor
Cit2b2lkIERlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6OndpbGxDb2xsZWN0KCkKK3sKKyAgICBj
YW5jZWxUaW1lcigpOworfQorCit2b2lkIERlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6OmNhbmNl
bCgpCit7CisgICAgY2FuY2VsVGltZXIoKTsKK30KKworI2Vsc2UKKwogRGVmYXVsdEdDQWN0aXZp
dHlDYWxsYmFjazo6RGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjayhIZWFwKiBoZWFwKQogICAgIDog
R0NBY3Rpdml0eUNhbGxiYWNrKGhlYXAtPmdsb2JhbERhdGEoKSkKIHsKQEAgLTU0LDUgKzE0Myw3
IEBAIHZvaWQgRGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6Y2FuY2VsKCkKIHsKIH0KIAorI2Vu
ZGlmCisKIH0KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvR0NBY3Rpdml0
eUNhbGxiYWNrQ0YuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0dDQWN0aXZpdHlDYWxsYmFja0NGLmNwcAkocmV2aXNpb24gMTIwNzU1KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvR0NBY3Rpdml0eUNhbGxiYWNrQ0YuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDEyMCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwotICogYXJlIG1ldDoKLSAqCi0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuIAotICogMi4gIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uIAotICogMy4gIE5l
aXRoZXIgdGhlIG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5vciB0aGUg
bmFtZXMgb2YKLSAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkCi0gKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdp
dGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLiAKLSAqCi0gKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIg
QU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAotICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQotICogRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWQotICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKLSAqIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsK
LSAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORAotICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRgotICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVk
ZSAiR0NBY3Rpdml0eUNhbGxiYWNrLmgiCi0KLSNpbmNsdWRlICJBUElTaGltcy5oIgotI2luY2x1
ZGUgIkhlYXAuaCIKLSNpbmNsdWRlICJKU0dsb2JhbERhdGEuaCIKLSNpbmNsdWRlICJKU0xvY2su
aCIKLSNpbmNsdWRlICJKU09iamVjdC5oIgotI2luY2x1ZGUgIlNjb3BlQ2hhaW4uaCIKLSNpbmNs
dWRlIDx3dGYvUmV0YWluUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL1dURlRocmVhZERhdGEuaD4KLQot
I2lmICFVU0UoQ0YpCi0jZXJyb3IgIlRoaXMgZmlsZSBzaG91bGQgb25seSBiZSB1c2VkIG9uIENG
IHBsYXRmb3Jtcy4iCi0jZW5kaWYKLQotbmFtZXNwYWNlIEpTQyB7Ci0KLWNvbnN0IGRvdWJsZSBn
Y1RpbWVTbGljZVBlck1CID0gMC4wMTsgLy8gUGVyY2VudGFnZSBvZiBDUFUgdGltZSB3ZSB3aWxs
IHNwZW5kIHRvIHJlY2xhaW0gMSBNQgotY29uc3QgZG91YmxlIG1heEdDVGltZVNsaWNlID0gMC4w
NTsgLy8gVGhlIG1heGltdW0gYW1vdW50IG9mIENQVSB0aW1lIHdlIHdhbnQgdG8gdXNlIGZvciBv
cHBvcnR1bmlzdGljIHRpbWVyLXRyaWdnZXJlZCBjb2xsZWN0aW9ucy4KLWNvbnN0IGRvdWJsZSB0
aW1lclNsb3AgPSAyLjA7IC8vIEZ1ZGdlIGZhY3RvciB0byBhdm9pZCBwZXJmb3JtYW5jZSBjb3N0
IG9mIHJlc2V0dGluZyB0aW1lci4KLWNvbnN0IGRvdWJsZSBwYWdpbmdUaW1lT3V0ID0gMC4xOyAv
LyBUaW1lIGluIHNlY29uZHMgdG8gYWxsb3cgb3Bwb3J0dW5pc3RpYyB0aW1lciB0byBpdGVyYXRl
IG92ZXIgYWxsIGJsb2NrcyB0byBzZWUgaWYgdGhlIEhlYXAgaXMgcGFnZWQgb3V0LgotY29uc3Qg
Q0ZUaW1lSW50ZXJ2YWwgaG91ciA9IDYwICogNjA7Ci0KLURlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJh
Y2s6OkRlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2soSGVhcCogaGVhcCkKLSAgICA6IEdDQWN0aXZp
dHlDYWxsYmFjayhoZWFwLT5nbG9iYWxEYXRhKCksIENGUnVuTG9vcEdldEN1cnJlbnQoKSkKLSAg
ICAsIG1fZGVsYXkoc19kZWNhZGUpCi17Ci19Ci0KLURlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6
OkRlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2soSGVhcCogaGVhcCwgQ0ZSdW5Mb29wUmVmIHJ1bkxv
b3ApCi0gICAgOiBHQ0FjdGl2aXR5Q2FsbGJhY2soaGVhcC0+Z2xvYmFsRGF0YSgpLCBydW5Mb29w
KQotICAgICwgbV9kZWxheShzX2RlY2FkZSkKLXsKLX0KLQotdm9pZCBEZWZhdWx0R0NBY3Rpdml0
eUNhbGxiYWNrOjpkb1dvcmsoKQotewotICAgIEhlYXAqIGhlYXAgPSAmbV9nbG9iYWxEYXRhLT5o
ZWFwOwotICAgIGlmICghaXNFbmFibGVkKCkpCi0gICAgICAgIHJldHVybjsKLSAgICAKLSAgICBB
UElFbnRyeVNoaW0gc2hpbShtX2dsb2JhbERhdGEpOwotI2lmICFQTEFURk9STShJT1MpCi0gICAg
ZG91YmxlIHN0YXJ0VGltZSA9IFdURjo6bW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7Ci0g
ICAgaWYgKGhlYXAtPmlzUGFnZWRPdXQoc3RhcnRUaW1lICsgcGFnaW5nVGltZU91dCkpIHsKLSAg
ICAgICAgaGVhcC0+YWN0aXZpdHlDYWxsYmFjaygpLT5jYW5jZWwoKTsKLSAgICAgICAgaGVhcC0+
aW5jcmVhc2VMYXN0R0NMZW5ndGgocGFnaW5nVGltZU91dCk7Ci0gICAgICAgIHJldHVybjsKLSAg
ICB9Ci0jZW5kaWYKLSAgICBoZWFwLT5jb2xsZWN0QWxsR2FyYmFnZSgpOwotfQotICAgIAotdm9p
ZCBEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjpzY2hlZHVsZVRpbWVyKGRvdWJsZSBuZXdEZWxh
eSkKLXsKLSAgICBpZiAobmV3RGVsYXkgKiB0aW1lclNsb3AgPiBtX2RlbGF5KQotICAgICAgICBy
ZXR1cm47Ci0gICAgZG91YmxlIGRlbHRhID0gbV9kZWxheSAtIG5ld0RlbGF5OwotICAgIG1fZGVs
YXkgPSBuZXdEZWxheTsKLSAgICBDRlJ1bkxvb3BUaW1lclNldE5leHRGaXJlRGF0ZShtX3RpbWVy
LmdldCgpLCBDRlJ1bkxvb3BUaW1lckdldE5leHRGaXJlRGF0ZShtX3RpbWVyLmdldCgpKSAtIGRl
bHRhKTsKLX0KLQotdm9pZCBEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjpjYW5jZWxUaW1lcigp
Ci17Ci0gICAgbV9kZWxheSA9IHNfZGVjYWRlOwotICAgIENGUnVuTG9vcFRpbWVyU2V0TmV4dEZp
cmVEYXRlKG1fdGltZXIuZ2V0KCksIENGQWJzb2x1dGVUaW1lR2V0Q3VycmVudCgpICsgc19kZWNh
ZGUpOwotfQotCi12b2lkIERlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6OmRpZEFsbG9jYXRlKHNp
emVfdCBieXRlcykKLXsKLSAgICAvLyBUaGUgZmlyc3QgYnl0ZSBhbGxvY2F0ZWQgaW4gYW4gYWxs
b2NhdGlvbiBjeWNsZSB3aWxsIHJlcG9ydCAwIGJ5dGVzIHRvIGRpZEFsbG9jYXRlLiAKLSAgICAv
LyBXZSBwcmV0ZW5kIGl0J3Mgb25lIGJ5dGUgc28gdGhhdCB3ZSBkb24ndCBpZ25vcmUgdGhpcyBh
bGxvY2F0aW9uIGVudGlyZWx5LgotICAgIGlmICghYnl0ZXMpCi0gICAgICAgIGJ5dGVzID0gMTsK
LSAgICBIZWFwKiBoZWFwID0gc3RhdGljX2Nhc3Q8SGVhcCo+KCZtX2dsb2JhbERhdGEtPmhlYXAp
OwotICAgIGRvdWJsZSBnY1RpbWVTbGljZSA9IHN0ZDo6bWluKChzdGF0aWNfY2FzdDxkb3VibGU+
KGJ5dGVzKSAvIE1CKSAqIGdjVGltZVNsaWNlUGVyTUIsIG1heEdDVGltZVNsaWNlKTsKLSAgICBk
b3VibGUgbmV3RGVsYXkgPSBoZWFwLT5sYXN0R0NMZW5ndGgoKSAvIGdjVGltZVNsaWNlOwotICAg
IHNjaGVkdWxlVGltZXIobmV3RGVsYXkpOwotfQotCi12b2lkIERlZmF1bHRHQ0FjdGl2aXR5Q2Fs
bGJhY2s6OndpbGxDb2xsZWN0KCkKLXsKLSAgICBjYW5jZWxUaW1lcigpOwotfQotCi12b2lkIERl
ZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6OmNhbmNlbCgpCi17Ci0gICAgY2FuY2VsVGltZXIoKTsK
LX0KLQotfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>148440</attachid>
            <date>2012-06-19 15:27:32 -0700</date>
            <delta_ts>2012-06-19 15:35:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-89516-20120619152732.patch</filename>
            <type>text/plain</type>
            <size>16341</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTIwNzU4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBA
CisyMDEyLTA2LTE5ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CisK
KyAgICAgICAgW1F0XVtNYWNdIFJFR1JFU1NJT04ocjEyMDc0Mik6IEl0IGJyb2tlIHRoZSBidWls
ZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODk1MTYK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmlu
ZyBHQ0FjdGl2aXR5Q2FsbGJhY2tDRi5jcHAgYmVjYXVzZSBpdCBkb2Vzbid0IG1lc2ggd2VsbCB3
aXRoIGNyb3NzLXBsYXRmb3JtIAorICAgICAgICBjb2RlIG9uIERhcndpbiAoZS5nLiBRdCkuIFdl
IG5vdyB1c2UgcGxhaW4gb2wnIHZhbmlsbGEgaWZkZWZzIHRvIGhhbmRsZSBwbGF0Zm9ybXMgCisg
ICAgICAgIHdpdGhvdXQgQ0Ygc3VwcG9ydC4gVGhlc2UgaWYtZGVmcyB3aWxsIHByb2JhYmx5IGRp
c2FwcGVhciBpbiB0aGUgZnV0dXJlIHdoZW4gd2UgCisgICAgICAgIHVzZSBjcm9zcy1wbGF0Zm9y
bSB0aW1lcnMgaW4gSGVhcFRpbWVyLgorCisgICAgICAgICogSmF2YVNjcmlwdENvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBydW50aW1lL0dDQWN0aXZpdHlDYWxsYmFj
ay5jcHA6CisgICAgICAgIChKU0MpOgorICAgICAgICAoSlNDOjpEZWZhdWx0R0NBY3Rpdml0eUNh
bGxiYWNrOjpEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrKToKKyAgICAgICAgKEpTQzo6RGVmYXVs
dEdDQWN0aXZpdHlDYWxsYmFjazo6ZG9Xb3JrKToKKyAgICAgICAgKEpTQzo6RGVmYXVsdEdDQWN0
aXZpdHlDYWxsYmFjazo6c2NoZWR1bGVUaW1lcik6CisgICAgICAgIChKU0M6OkRlZmF1bHRHQ0Fj
dGl2aXR5Q2FsbGJhY2s6OmNhbmNlbFRpbWVyKToKKyAgICAgICAgKEpTQzo6RGVmYXVsdEdDQWN0
aXZpdHlDYWxsYmFjazo6ZGlkQWxsb2NhdGUpOgorICAgICAgICAoSlNDOjpEZWZhdWx0R0NBY3Rp
dml0eUNhbGxiYWNrOjp3aWxsQ29sbGVjdCk6CisgICAgICAgIChKU0M6OkRlZmF1bHRHQ0FjdGl2
aXR5Q2FsbGJhY2s6OmNhbmNlbCk6CisgICAgICAgICogcnVudGltZS9HQ0FjdGl2aXR5Q2FsbGJh
Y2tDRi5jcHA6IFJlbW92ZWQuIE1vdmVkIGFsbCBjb2RlIG92ZXIgdG8gR0NBY3Rpdml0eUNhbGxi
YWNrLmNwcC4KKwogMjAxMi0wNi0xOSAgTWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+CiAK
ICAgICAgICAgQ29kZUJsb2NrOjpuZWVkc0NhbGxSZXR1cm5JbmRpY2VzKCkgaXMgbm8gbG9uZ2Vy
IG5lZWRlZC4KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAxMjA3
NTUpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtNjY2LDEyICs2NjYsMTIgQEAKIAkJQzJD
OEQwMkQxNEEzQzZFMDAwNTc4RTY1IC8qIENvcGllZFNwYWNlSW5saW5lTWV0aG9kcy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzJDOEQwMkIxNEEzQzZC
MjAwNTc4RTY1IC8qIENvcGllZFNwYWNlSW5saW5lTWV0aG9kcy5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUMyQzhEMDMwMTRBM0NFRkMwMDU3OEU2
NSAvKiBDb3BpZWRCbG9jay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQzJDOEQwMkUxNEEzQ0VGQzAwNTc4RTY1IC8qIENvcGllZEJsb2NrLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQzJDOEQwMzExNEEz
Q0VGQzAwNTc4RTY1IC8qIEhlYXBCbG9jay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQzJDOEQwMkYxNEEzQ0VGQzAwNTc4RTY1IC8qIEhlYXBCbG9jay5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUMyRDU4
QzM0MTU5MTJGRUUwMDIxQTg0NCAvKiBHQ0FjdGl2aXR5Q2FsbGJhY2suY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzJENThDMzMxNTkxMkZFRTAwMjFB
ODQ0IC8qIEdDQWN0aXZpdHlDYWxsYmFjay5jcHAgKi87IH07CiAJCUMyRTUyNkJEMTU5MEVGMDAw
MDU0RTQ4RCAvKiBIZWFwVGltZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQzJFNTI2QkIxNTkwRUYwMDAwNTRFNDhEIC8qIEhlYXBUaW1lci5jcHAg
Ki87IH07CiAJCUMyRTUyNkJFMTU5MEVGMDAwMDU0RTQ4RCAvKiBIZWFwVGltZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyRTUyNkJDMTU5MEVGMDAw
MDU0RTQ4RCAvKiBIZWFwVGltZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQlDMkVBQTNGQTE0OUE4MzVFMDBGQ0UxMTIgLyogQ29waWVkU3BhY2Uu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyRUFBM0Y4
MTQ5QTgzMDgwMEZDRTExMiAvKiBDb3BpZWRTcGFjZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUMyRUFEMkZDMTRGMDI0OTgwMEE0QjE1OSAvKiBD
b3BpZWRBbGxvY2F0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEMyRUFEMkZCMTRGMDI0OTgwMEE0QjE1OSAvKiBDb3BpZWRBbGxvY2F0b3IuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlEREY3QUJENDEx
RjYwRUQyMDAxMDhFMzYgLyogR0NBY3Rpdml0eUNhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBEREY3QUJEMjExRjYwRUQyMDAxMDhFMzYgLyog
R0NBY3Rpdml0eUNhbGxiYWNrLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKLQkJRERGN0FCRDUxMUY2MEVEMjAwMTA4RTM2IC8qIEdDQWN0aXZpdHlDYWxs
YmFja0NGLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IERERjdBQkQzMTFGNjBFRDIwMDEwOEUzNiAvKiBHQ0FjdGl2aXR5Q2FsbGJhY2tDRi5jcHAgKi87
IH07CiAJCUUxMjRBOEY3MEU1NTU3NzUwMDMwOTFGMSAvKiBPcGFxdWVKU1N0cmluZy5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTEyNEE4RjUwRTU1NTc3
NTAwMzA5MUYxIC8qIE9wYXF1ZUpTU3RyaW5nLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRTEyNEE4RjgwRTU1NTc3NTAwMzA5MUYxIC8qIE9wYXF1
ZUpTU3RyaW5nLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEUxMjRBOEY2MEU1NTU3NzUwMDMwOTFGMSAvKiBPcGFxdWVKU1N0cmluZy5jcHAgKi87IH07
CiAJCUUxNzg2MzZEMEQ5QkVFQzMwMEQ3NEU3NSAvKiBJbml0aWFsaXplVGhyZWFkaW5nLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxNzg2MzZDMEQ5
QkVFQzMwMEQ3NEU3NSAvKiBJbml0aWFsaXplVGhyZWFkaW5nLmNwcCAqLzsgfTsKQEAgLTEzODYs
NiArMTM4Niw3IEBACiAJCUMyQzhEMDJCMTRBM0M2QjIwMDU3OEU2NSAvKiBDb3BpZWRTcGFjZUlu
bGluZU1ldGhvZHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29waWVkU3Bh
Y2VJbmxpbmVNZXRob2RzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMyQzhEMDJF
MTRBM0NFRkMwMDU3OEU2NSAvKiBDb3BpZWRCbG9jay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBDb3BpZWRCbG9jay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlD
MkM4RDAyRjE0QTNDRUZDMDA1NzhFNjUgLyogSGVhcEJsb2NrLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEhlYXBCbG9jay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlDMkQ1OEMzMzE1OTEyRkVFMDAyMUE4NDQgLyogR0NBY3Rpdml0eUNhbGxiYWNrLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEdDQWN0aXZpdHlDYWxsYmFjay5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMyRTUyNkJCMTU5MEVGMDAwMDU0RTQ4RCAv
KiBIZWFwVGltZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSGVh
cFRpbWVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzJFNTI2QkMxNTkwRUYw
MDAwNTRFNDhEIC8qIEhlYXBUaW1lci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBIZWFwVGltZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzJFQUEzRjgxNDlB
ODMwODAwRkNFMTEyIC8qIENvcGllZFNwYWNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IENvcGllZFNwYWNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMzkz
LDcgKzEzOTQsNiBAQAogCQlEMjEyMDIyODBBRDQzMTBDMDBFRDc5QjYgLyogRGF0ZUNvbnZlcnNp
b24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERhdGVDb252ZXJz
aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDIxMjAyMjkwQUQ0MzEwQzAw
RUQ3OUI2IC8qIERhdGVDb252ZXJzaW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBEYXRlQ29udmVyc2lvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlEREY3
QUJEMjExRjYwRUQyMDAxMDhFMzYgLyogR0NBY3Rpdml0eUNhbGxiYWNrLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdDQWN0aXZpdHlDYWxsYmFjay5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwotCQlEREY3QUJEMzExRjYwRUQyMDAxMDhFMzYgLyogR0NBY3Rpdml0eUNh
bGxiYWNrQ0YuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gR0NBY3Rp
dml0eUNhbGxiYWNrQ0YuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMTI0QThG
NTBFNTU1Nzc1MDAzMDkxRjEgLyogT3BhcXVlSlNTdHJpbmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gT3BhcXVlSlNTdHJpbmcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRTEyNEE4RjYwRTU1NTc3NTAwMzA5MUYxIC8qIE9wYXF1ZUpTU3RyaW5nLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE9wYXF1ZUpTU3RyaW5nLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTE3ODYzM0YwRDlCRUMwMDAwRDc0RTc1IC8qIElu
aXRpYWxpemVUaHJlYWRpbmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5p
dGlhbGl6ZVRocmVhZGluZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTkxOSw2
ICsxOTE5LDcgQEAKIAkJN0VGNkUwQkIwRUI3QTFFQzAwNzlBRkFGIC8qIHJ1bnRpbWUgKi8gPSB7
CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCUMyRDU4QzMzMTU5MTJG
RUUwMDIxQTg0NCAvKiBHQ0FjdGl2aXR5Q2FsbGJhY2suY3BwICovLAogCQkJCUJDRjYwNTExMEUy
MDNFRjgwMEI5QTY0RCAvKiBBcmdMaXN0LmNwcCAqLywKIAkJCQlCQ0Y2MDUxMjBFMjAzRUY4MDBC
OUE2NEQgLyogQXJnTGlzdC5oICovLAogCQkJCUJDMjU3REU1MEUxRjUxQzUwMDE2QjZDOSAvKiBB
cmd1bWVudHMuY3BwICovLApAQCAtMTk3NCw3ICsxOTc1LDYgQEAKIAkJCQlGNjkyQTg1QzAyNTU1
OTdEMDFGRjYwRjcgLyogRnVuY3Rpb25Qcm90b3R5cGUuY3BwICovLAogCQkJCUY2OTJBODVEMDI1
NTU5N0QwMUZGNjBGNyAvKiBGdW5jdGlvblByb3RvdHlwZS5oICovLAogCQkJCURERjdBQkQyMTFG
NjBFRDIwMDEwOEUzNiAvKiBHQ0FjdGl2aXR5Q2FsbGJhY2suaCAqLywKLQkJCQlEREY3QUJEMzEx
RjYwRUQyMDAxMDhFMzYgLyogR0NBY3Rpdml0eUNhbGxiYWNrQ0YuY3BwICovLAogCQkJCUJDMDJF
OUI4MEUxODQ1NDUwMDBGOTI5NyAvKiBHZXR0ZXJTZXR0ZXIuY3BwICovLAogCQkJCUJDMzM3QkRF
MEUxQUYwQjgwMDc2OTE4QSAvKiBHZXR0ZXJTZXR0ZXIuaCAqLywKIAkJCQk5MzNBMzQ5RDAzOEFF
ODBGMDA4NjM1Q0UgLyogSWRlbnRpZmllci5jcHAgKi8sCkBAIC0zMTY2LDcgKzMxNjYsNiBAQAog
CQkJCTg2REI2NDY0MEY5NUM2RkMwMEQ3RDkyMSAvKiBFeGVjdXRhYmxlQWxsb2NhdG9yRml4ZWRW
TVBvb2wuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTQ3RjM5Q0IxMDdFQzM3NjAwNDI3QTQ4IC8q
IEZ1bmN0aW9uQ29uc3RydWN0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTQ3RjM5Q0MxMDdF
QzM3NjAwNDI3QTQ4IC8qIEZ1bmN0aW9uUHJvdG90eXBlLmNwcCBpbiBTb3VyY2VzICovLAotCQkJ
CURERjdBQkQ1MTFGNjBFRDIwMDEwOEUzNiAvKiBHQ0FjdGl2aXR5Q2FsbGJhY2tDRi5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQkxNDI4MDg1NTEwN0VDMEU3MDAxM0U3QjIgLyogR2V0dGVyU2V0dGVy
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0MkUzMTM1MTM0RkYwQTYwMEFGQURCNSAvKiBIYW5k
bGVTZXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTQyRTMxMzcxMzRGRjBBNjAwQUZBREI1IC8q
IEhhbmRsZVN0YWNrLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMzM0MSw2ICszMzQwLDcgQEAKIAkJ
CQkwRkY0Mjc0QTE1OEVCRTkxMDA0Q0I5RkYgLyogdWRpczg2LmMgaW4gU291cmNlcyAqLywKIAkJ
CQkwRkY0Mjc0RDE1OEVCRkU2MDA0Q0I5RkYgLyogdWRpczg2X2l0YWJfaG9sZGVyLmMgaW4gU291
cmNlcyAqLywKIAkJCQlDMkU1MjZCRDE1OTBFRjAwMDA1NEU0OEQgLyogSGVhcFRpbWVyLmNwcCBp
biBTb3VyY2VzICovLAorCQkJCUMyRDU4QzM0MTU5MTJGRUUwMDIxQTg0NCAvKiBHQ0FjdGl2aXR5
Q2FsbGJhY2suY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1l
bnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9HQ0FjdGl2aXR5Q2FsbGJhY2suY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0dDQWN0aXZpdHlDYWxsYmFjay5jcHAJKHJldmlzaW9uIDEyMDc1
NSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0dDQWN0aXZpdHlDYWxsYmFjay5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTI5LDEwICsyOSw5NCBAQAogI2luY2x1ZGUgImNvbmZpZy5o
IgogI2luY2x1ZGUgIkdDQWN0aXZpdHlDYWxsYmFjay5oIgogCisjaW5jbHVkZSAiQVBJU2hpbXMu
aCIKICNpbmNsdWRlICJIZWFwLmgiCisjaW5jbHVkZSAiSlNHbG9iYWxEYXRhLmgiCisjaW5jbHVk
ZSAiSlNMb2NrLmgiCisjaW5jbHVkZSAiSlNPYmplY3QuaCIKKyNpbmNsdWRlICJTY29wZUNoYWlu
LmgiCisjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgorI2luY2x1ZGUgPHd0Zi9XVEZUaHJlYWRE
YXRhLmg+CiAKIG5hbWVzcGFjZSBKU0MgewogCisjaWYgVVNFKENGKQorCitjb25zdCBkb3VibGUg
Z2NUaW1lU2xpY2VQZXJNQiA9IDAuMDE7IC8vIFBlcmNlbnRhZ2Ugb2YgQ1BVIHRpbWUgd2Ugd2ls
bCBzcGVuZCB0byByZWNsYWltIDEgTUIKK2NvbnN0IGRvdWJsZSBtYXhHQ1RpbWVTbGljZSA9IDAu
MDU7IC8vIFRoZSBtYXhpbXVtIGFtb3VudCBvZiBDUFUgdGltZSB3ZSB3YW50IHRvIHVzZSBmb3Ig
b3Bwb3J0dW5pc3RpYyB0aW1lci10cmlnZ2VyZWQgY29sbGVjdGlvbnMuCitjb25zdCBkb3VibGUg
dGltZXJTbG9wID0gMi4wOyAvLyBGdWRnZSBmYWN0b3IgdG8gYXZvaWQgcGVyZm9ybWFuY2UgY29z
dCBvZiByZXNldHRpbmcgdGltZXIuCitjb25zdCBkb3VibGUgcGFnaW5nVGltZU91dCA9IDAuMTsg
Ly8gVGltZSBpbiBzZWNvbmRzIHRvIGFsbG93IG9wcG9ydHVuaXN0aWMgdGltZXIgdG8gaXRlcmF0
ZSBvdmVyIGFsbCBibG9ja3MgdG8gc2VlIGlmIHRoZSBIZWFwIGlzIHBhZ2VkIG91dC4KK2NvbnN0
IENGVGltZUludGVydmFsIGhvdXIgPSA2MCAqIDYwOworCitEZWZhdWx0R0NBY3Rpdml0eUNhbGxi
YWNrOjpEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrKEhlYXAqIGhlYXApCisgICAgOiBHQ0FjdGl2
aXR5Q2FsbGJhY2soaGVhcC0+Z2xvYmFsRGF0YSgpLCBDRlJ1bkxvb3BHZXRDdXJyZW50KCkpCisg
ICAgLCBtX2RlbGF5KHNfZGVjYWRlKQoreworfQorCitEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNr
OjpEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrKEhlYXAqIGhlYXAsIENGUnVuTG9vcFJlZiBydW5M
b29wKQorICAgIDogR0NBY3Rpdml0eUNhbGxiYWNrKGhlYXAtPmdsb2JhbERhdGEoKSwgcnVuTG9v
cCkKKyAgICAsIG1fZGVsYXkoc19kZWNhZGUpCit7Cit9CisKK3ZvaWQgRGVmYXVsdEdDQWN0aXZp
dHlDYWxsYmFjazo6ZG9Xb3JrKCkKK3sKKyAgICBIZWFwKiBoZWFwID0gJm1fZ2xvYmFsRGF0YS0+
aGVhcDsKKyAgICBpZiAoIWlzRW5hYmxlZCgpKQorICAgICAgICByZXR1cm47CisgICAgCisgICAg
QVBJRW50cnlTaGltIHNoaW0obV9nbG9iYWxEYXRhKTsKKyNpZiAhUExBVEZPUk0oSU9TKQorICAg
IGRvdWJsZSBzdGFydFRpbWUgPSBXVEY6Om1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwor
ICAgIGlmIChoZWFwLT5pc1BhZ2VkT3V0KHN0YXJ0VGltZSArIHBhZ2luZ1RpbWVPdXQpKSB7Cisg
ICAgICAgIGhlYXAtPmFjdGl2aXR5Q2FsbGJhY2soKS0+Y2FuY2VsKCk7CisgICAgICAgIGhlYXAt
PmluY3JlYXNlTGFzdEdDTGVuZ3RoKHBhZ2luZ1RpbWVPdXQpOworICAgICAgICByZXR1cm47Cisg
ICAgfQorI2VuZGlmCisgICAgaGVhcC0+Y29sbGVjdEFsbEdhcmJhZ2UoKTsKK30KKyAgICAKK3Zv
aWQgRGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6c2NoZWR1bGVUaW1lcihkb3VibGUgbmV3RGVs
YXkpCit7CisgICAgaWYgKG5ld0RlbGF5ICogdGltZXJTbG9wID4gbV9kZWxheSkKKyAgICAgICAg
cmV0dXJuOworICAgIGRvdWJsZSBkZWx0YSA9IG1fZGVsYXkgLSBuZXdEZWxheTsKKyAgICBtX2Rl
bGF5ID0gbmV3RGVsYXk7CisgICAgQ0ZSdW5Mb29wVGltZXJTZXROZXh0RmlyZURhdGUobV90aW1l
ci5nZXQoKSwgQ0ZSdW5Mb29wVGltZXJHZXROZXh0RmlyZURhdGUobV90aW1lci5nZXQoKSkgLSBk
ZWx0YSk7Cit9CisKK3ZvaWQgRGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6Y2FuY2VsVGltZXIo
KQoreworICAgIG1fZGVsYXkgPSBzX2RlY2FkZTsKKyAgICBDRlJ1bkxvb3BUaW1lclNldE5leHRG
aXJlRGF0ZShtX3RpbWVyLmdldCgpLCBDRkFic29sdXRlVGltZUdldEN1cnJlbnQoKSArIHNfZGVj
YWRlKTsKK30KKwordm9pZCBEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjpkaWRBbGxvY2F0ZShz
aXplX3QgYnl0ZXMpCit7CisgICAgLy8gVGhlIGZpcnN0IGJ5dGUgYWxsb2NhdGVkIGluIGFuIGFs
bG9jYXRpb24gY3ljbGUgd2lsbCByZXBvcnQgMCBieXRlcyB0byBkaWRBbGxvY2F0ZS4gCisgICAg
Ly8gV2UgcHJldGVuZCBpdCdzIG9uZSBieXRlIHNvIHRoYXQgd2UgZG9uJ3QgaWdub3JlIHRoaXMg
YWxsb2NhdGlvbiBlbnRpcmVseS4KKyAgICBpZiAoIWJ5dGVzKQorICAgICAgICBieXRlcyA9IDE7
CisgICAgSGVhcCogaGVhcCA9IHN0YXRpY19jYXN0PEhlYXAqPigmbV9nbG9iYWxEYXRhLT5oZWFw
KTsKKyAgICBkb3VibGUgZ2NUaW1lU2xpY2UgPSBzdGQ6Om1pbigoc3RhdGljX2Nhc3Q8ZG91Ymxl
PihieXRlcykgLyBNQikgKiBnY1RpbWVTbGljZVBlck1CLCBtYXhHQ1RpbWVTbGljZSk7CisgICAg
ZG91YmxlIG5ld0RlbGF5ID0gaGVhcC0+bGFzdEdDTGVuZ3RoKCkgLyBnY1RpbWVTbGljZTsKKyAg
ICBzY2hlZHVsZVRpbWVyKG5ld0RlbGF5KTsKK30KKwordm9pZCBEZWZhdWx0R0NBY3Rpdml0eUNh
bGxiYWNrOjp3aWxsQ29sbGVjdCgpCit7CisgICAgY2FuY2VsVGltZXIoKTsKK30KKwordm9pZCBE
ZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjpjYW5jZWwoKQoreworICAgIGNhbmNlbFRpbWVyKCk7
Cit9CisKKyNlbHNlCisKIERlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6OkRlZmF1bHRHQ0FjdGl2
aXR5Q2FsbGJhY2soSGVhcCogaGVhcCkKICAgICA6IEdDQWN0aXZpdHlDYWxsYmFjayhoZWFwLT5n
bG9iYWxEYXRhKCkpCiB7CkBAIC01NCw1ICsxMzgsNyBAQCB2b2lkIERlZmF1bHRHQ0FjdGl2aXR5
Q2FsbGJhY2s6OmNhbmNlbCgpCiB7CiB9CiAKKyNlbmRpZgorCiB9CiAKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0dDQWN0aXZpdHlDYWxsYmFja0NGLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9HQ0FjdGl2aXR5Q2FsbGJhY2tDRi5j
cHAJKHJldmlzaW9uIDEyMDc1NSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0dD
QWN0aXZpdHlDYWxsYmFja0NGLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSwxMjAgKzAsMCBAQAot
LyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKgotICogMS4g
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLiAKLSAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
LSAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLiAKLSAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENv
bXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCi0gKiAgICAgaXRzIGNvbnRy
aWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZl
ZAotICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4gCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQKLSAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUKLSAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKLSAqIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTCi0gKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Ci0gKiBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKLSAq
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKLSAqIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8K
LQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkdDQWN0aXZpdHlDYWxsYmFjay5oIgot
Ci0jaW5jbHVkZSAiQVBJU2hpbXMuaCIKLSNpbmNsdWRlICJIZWFwLmgiCi0jaW5jbHVkZSAiSlNH
bG9iYWxEYXRhLmgiCi0jaW5jbHVkZSAiSlNMb2NrLmgiCi0jaW5jbHVkZSAiSlNPYmplY3QuaCIK
LSNpbmNsdWRlICJTY29wZUNoYWluLmgiCi0jaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgotI2lu
Y2x1ZGUgPHd0Zi9XVEZUaHJlYWREYXRhLmg+Ci0KLSNpZiAhVVNFKENGKQotI2Vycm9yICJUaGlz
IGZpbGUgc2hvdWxkIG9ubHkgYmUgdXNlZCBvbiBDRiBwbGF0Zm9ybXMuIgotI2VuZGlmCi0KLW5h
bWVzcGFjZSBKU0MgewotCi1jb25zdCBkb3VibGUgZ2NUaW1lU2xpY2VQZXJNQiA9IDAuMDE7IC8v
IFBlcmNlbnRhZ2Ugb2YgQ1BVIHRpbWUgd2Ugd2lsbCBzcGVuZCB0byByZWNsYWltIDEgTUIKLWNv
bnN0IGRvdWJsZSBtYXhHQ1RpbWVTbGljZSA9IDAuMDU7IC8vIFRoZSBtYXhpbXVtIGFtb3VudCBv
ZiBDUFUgdGltZSB3ZSB3YW50IHRvIHVzZSBmb3Igb3Bwb3J0dW5pc3RpYyB0aW1lci10cmlnZ2Vy
ZWQgY29sbGVjdGlvbnMuCi1jb25zdCBkb3VibGUgdGltZXJTbG9wID0gMi4wOyAvLyBGdWRnZSBm
YWN0b3IgdG8gYXZvaWQgcGVyZm9ybWFuY2UgY29zdCBvZiByZXNldHRpbmcgdGltZXIuCi1jb25z
dCBkb3VibGUgcGFnaW5nVGltZU91dCA9IDAuMTsgLy8gVGltZSBpbiBzZWNvbmRzIHRvIGFsbG93
IG9wcG9ydHVuaXN0aWMgdGltZXIgdG8gaXRlcmF0ZSBvdmVyIGFsbCBibG9ja3MgdG8gc2VlIGlm
IHRoZSBIZWFwIGlzIHBhZ2VkIG91dC4KLWNvbnN0IENGVGltZUludGVydmFsIGhvdXIgPSA2MCAq
IDYwOwotCi1EZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjpEZWZhdWx0R0NBY3Rpdml0eUNhbGxi
YWNrKEhlYXAqIGhlYXApCi0gICAgOiBHQ0FjdGl2aXR5Q2FsbGJhY2soaGVhcC0+Z2xvYmFsRGF0
YSgpLCBDRlJ1bkxvb3BHZXRDdXJyZW50KCkpCi0gICAgLCBtX2RlbGF5KHNfZGVjYWRlKQotewot
fQotCi1EZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjpEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNr
KEhlYXAqIGhlYXAsIENGUnVuTG9vcFJlZiBydW5Mb29wKQotICAgIDogR0NBY3Rpdml0eUNhbGxi
YWNrKGhlYXAtPmdsb2JhbERhdGEoKSwgcnVuTG9vcCkKLSAgICAsIG1fZGVsYXkoc19kZWNhZGUp
Ci17Ci19Ci0KLXZvaWQgRGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6ZG9Xb3JrKCkKLXsKLSAg
ICBIZWFwKiBoZWFwID0gJm1fZ2xvYmFsRGF0YS0+aGVhcDsKLSAgICBpZiAoIWlzRW5hYmxlZCgp
KQotICAgICAgICByZXR1cm47Ci0gICAgCi0gICAgQVBJRW50cnlTaGltIHNoaW0obV9nbG9iYWxE
YXRhKTsKLSNpZiAhUExBVEZPUk0oSU9TKQotICAgIGRvdWJsZSBzdGFydFRpbWUgPSBXVEY6Om1v
bm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwotICAgIGlmIChoZWFwLT5pc1BhZ2VkT3V0KHN0
YXJ0VGltZSArIHBhZ2luZ1RpbWVPdXQpKSB7Ci0gICAgICAgIGhlYXAtPmFjdGl2aXR5Q2FsbGJh
Y2soKS0+Y2FuY2VsKCk7Ci0gICAgICAgIGhlYXAtPmluY3JlYXNlTGFzdEdDTGVuZ3RoKHBhZ2lu
Z1RpbWVPdXQpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotI2VuZGlmCi0gICAgaGVhcC0+Y29s
bGVjdEFsbEdhcmJhZ2UoKTsKLX0KLSAgICAKLXZvaWQgRGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFj
azo6c2NoZWR1bGVUaW1lcihkb3VibGUgbmV3RGVsYXkpCi17Ci0gICAgaWYgKG5ld0RlbGF5ICog
dGltZXJTbG9wID4gbV9kZWxheSkKLSAgICAgICAgcmV0dXJuOwotICAgIGRvdWJsZSBkZWx0YSA9
IG1fZGVsYXkgLSBuZXdEZWxheTsKLSAgICBtX2RlbGF5ID0gbmV3RGVsYXk7Ci0gICAgQ0ZSdW5M
b29wVGltZXJTZXROZXh0RmlyZURhdGUobV90aW1lci5nZXQoKSwgQ0ZSdW5Mb29wVGltZXJHZXRO
ZXh0RmlyZURhdGUobV90aW1lci5nZXQoKSkgLSBkZWx0YSk7Ci19Ci0KLXZvaWQgRGVmYXVsdEdD
QWN0aXZpdHlDYWxsYmFjazo6Y2FuY2VsVGltZXIoKQotewotICAgIG1fZGVsYXkgPSBzX2RlY2Fk
ZTsKLSAgICBDRlJ1bkxvb3BUaW1lclNldE5leHRGaXJlRGF0ZShtX3RpbWVyLmdldCgpLCBDRkFi
c29sdXRlVGltZUdldEN1cnJlbnQoKSArIHNfZGVjYWRlKTsKLX0KLQotdm9pZCBEZWZhdWx0R0NB
Y3Rpdml0eUNhbGxiYWNrOjpkaWRBbGxvY2F0ZShzaXplX3QgYnl0ZXMpCi17Ci0gICAgLy8gVGhl
IGZpcnN0IGJ5dGUgYWxsb2NhdGVkIGluIGFuIGFsbG9jYXRpb24gY3ljbGUgd2lsbCByZXBvcnQg
MCBieXRlcyB0byBkaWRBbGxvY2F0ZS4gCi0gICAgLy8gV2UgcHJldGVuZCBpdCdzIG9uZSBieXRl
IHNvIHRoYXQgd2UgZG9uJ3QgaWdub3JlIHRoaXMgYWxsb2NhdGlvbiBlbnRpcmVseS4KLSAgICBp
ZiAoIWJ5dGVzKQotICAgICAgICBieXRlcyA9IDE7Ci0gICAgSGVhcCogaGVhcCA9IHN0YXRpY19j
YXN0PEhlYXAqPigmbV9nbG9iYWxEYXRhLT5oZWFwKTsKLSAgICBkb3VibGUgZ2NUaW1lU2xpY2Ug
PSBzdGQ6Om1pbigoc3RhdGljX2Nhc3Q8ZG91YmxlPihieXRlcykgLyBNQikgKiBnY1RpbWVTbGlj
ZVBlck1CLCBtYXhHQ1RpbWVTbGljZSk7Ci0gICAgZG91YmxlIG5ld0RlbGF5ID0gaGVhcC0+bGFz
dEdDTGVuZ3RoKCkgLyBnY1RpbWVTbGljZTsKLSAgICBzY2hlZHVsZVRpbWVyKG5ld0RlbGF5KTsK
LX0KLQotdm9pZCBEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjp3aWxsQ29sbGVjdCgpCi17Ci0g
ICAgY2FuY2VsVGltZXIoKTsKLX0KLQotdm9pZCBEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjpj
YW5jZWwoKQotewotICAgIGNhbmNlbFRpbWVyKCk7Ci19Ci0KLX0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>148442</attachid>
            <date>2012-06-19 15:35:56 -0700</date>
            <delta_ts>2012-06-19 17:20:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-89516-20120619153556.patch</filename>
            <type>text/plain</type>
            <size>16918</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTIwNzYxKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI4IEBA
CisyMDEyLTA2LTE5ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CisK
KyAgICAgICAgW1F0XVtNYWNdIFJFR1JFU1NJT04ocjEyMDc0Mik6IEl0IGJyb2tlIHRoZSBidWls
ZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODk1MTYK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmlu
ZyBHQ0FjdGl2aXR5Q2FsbGJhY2tDRi5jcHAgYmVjYXVzZSBpdCBkb2Vzbid0IG1lc2ggd2VsbCB3
aXRoIGNyb3NzLXBsYXRmb3JtIAorICAgICAgICBjb2RlIG9uIERhcndpbiAoZS5nLiBRdCkuIFdl
IG5vdyB1c2UgcGxhaW4gb2wnIHZhbmlsbGEgaWZkZWZzIHRvIGhhbmRsZSBwbGF0Zm9ybXMgCisg
ICAgICAgIHdpdGhvdXQgQ0Ygc3VwcG9ydC4gVGhlc2UgaWYtZGVmcyB3aWxsIHByb2JhYmx5IGRp
c2FwcGVhciBpbiB0aGUgZnV0dXJlIHdoZW4gd2UgCisgICAgICAgIHVzZSBjcm9zcy1wbGF0Zm9y
bSB0aW1lcnMgaW4gSGVhcFRpbWVyLgorCisgICAgICAgICogSmF2YVNjcmlwdENvcmUudmNwcm9q
L0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvajoKKyAgICAgICAgKiBKYXZhU2Ny
aXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHJ1bnRpbWUvR0NB
Y3Rpdml0eUNhbGxiYWNrLmNwcDoKKyAgICAgICAgKEpTQyk6CisgICAgICAgIChKU0M6OkRlZmF1
bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6OkRlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2spOgorICAgICAg
ICAoSlNDOjpEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjpkb1dvcmspOgorICAgICAgICAoSlND
OjpEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjpzY2hlZHVsZVRpbWVyKToKKyAgICAgICAgKEpT
Qzo6RGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6Y2FuY2VsVGltZXIpOgorICAgICAgICAoSlND
OjpEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjpkaWRBbGxvY2F0ZSk6CisgICAgICAgIChKU0M6
OkRlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6OndpbGxDb2xsZWN0KToKKyAgICAgICAgKEpTQzo6
RGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6Y2FuY2VsKToKKyAgICAgICAgKiBydW50aW1lL0dD
QWN0aXZpdHlDYWxsYmFja0NGLmNwcDogUmVtb3ZlZC4KKwogMjAxMi0wNi0xOSAgTWFyayBMYW0g
IDxtYXJrLmxhbUBhcHBsZS5jb20+CiAKICAgICAgICAgQ29kZUJsb2NrOjpuZWVkc0NhbGxSZXR1
cm5JbmRpY2VzKCkgaXMgbm8gbG9uZ2VyIG5lZWRlZC4KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUu
dmNwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29y
ZS52Y3Byb2ovSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qCShyZXZpc2lvbiAx
MjA3NTUpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmNwcm9qL0ph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjcHJvagkod29ya2luZyBjb3B5KQpAQCAtNzE0
LDcgKzcxNCw3IEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBh
dGg9Ii4uXC4uXHJ1bnRpbWVcR0NBY3Rpdml0eUNhbGxiYWNrQ0YuY3BwIgorCQkJCVJlbGF0aXZl
UGF0aD0iLi5cLi5ccnVudGltZVxHQ0FjdGl2aXR5Q2FsbGJhY2suY3BwIgogCQkJCT4KIAkJCTwv
RmlsZT4KIAkJCTxGaWxlCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNp
b24gMTIwNzU1KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTY2NiwxMiArNjY2LDEyIEBA
CiAJCUMyQzhEMDJEMTRBM0M2RTAwMDU3OEU2NSAvKiBDb3BpZWRTcGFjZUlubGluZU1ldGhvZHMu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyQzhEMDJC
MTRBM0M2QjIwMDU3OEU2NSAvKiBDb3BpZWRTcGFjZUlubGluZU1ldGhvZHMuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDMkM4RDAzMDE0QTNDRUZD
MDA1NzhFNjUgLyogQ29waWVkQmxvY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEMyQzhEMDJFMTRBM0NFRkMwMDU3OEU2NSAvKiBDb3BpZWRCbG9jay5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUMyQzhE
MDMxMTRBM0NFRkMwMDU3OEU2NSAvKiBIZWFwQmxvY2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyQzhEMDJGMTRBM0NFRkMwMDU3OEU2NSAvKiBIZWFw
QmxvY2suaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owor
CQlDMkQ1OEMzNDE1OTEyRkVFMDAyMUE4NDQgLyogR0NBY3Rpdml0eUNhbGxiYWNrLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyRDU4QzMzMTU5MTJG
RUUwMDIxQTg0NCAvKiBHQ0FjdGl2aXR5Q2FsbGJhY2suY3BwICovOyB9OwogCQlDMkU1MjZCRDE1
OTBFRjAwMDA1NEU0OEQgLyogSGVhcFRpbWVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyRTUyNkJCMTU5MEVGMDAwMDU0RTQ4RCAvKiBIZWFwVGlt
ZXIuY3BwICovOyB9OwogCQlDMkU1MjZCRTE1OTBFRjAwMDA1NEU0OEQgLyogSGVhcFRpbWVyLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMkU1MjZCQzE1
OTBFRjAwMDA1NEU0OEQgLyogSGVhcFRpbWVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQzJFQUEzRkExNDlBODM1RTAwRkNFMTEyIC8qIENvcGll
ZFNwYWNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
MkVBQTNGODE0OUE4MzA4MDBGQ0UxMTIgLyogQ29waWVkU3BhY2UuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDMkVBRDJGQzE0RjAyNDk4MDBBNEIx
NTkgLyogQ29waWVkQWxsb2NhdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBDMkVBRDJGQjE0RjAyNDk4MDBBNEIxNTkgLyogQ29waWVkQWxsb2NhdG9y
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRERG
N0FCRDQxMUY2MEVEMjAwMTA4RTM2IC8qIEdDQWN0aXZpdHlDYWxsYmFjay5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRERGN0FCRDIxMUY2MEVEMjAwMTA4
RTM2IC8qIEdDQWN0aXZpdHlDYWxsYmFjay5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07Ci0JCURERjdBQkQ1MTFGNjBFRDIwMDEwOEUzNiAvKiBHQ0FjdGl2
aXR5Q2FsbGJhY2tDRi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBEREY3QUJEMzExRjYwRUQyMDAxMDhFMzYgLyogR0NBY3Rpdml0eUNhbGxiYWNrQ0Yu
Y3BwICovOyB9OwogCQlFMTI0QThGNzBFNTU1Nzc1MDAzMDkxRjEgLyogT3BhcXVlSlNTdHJpbmcu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxMjRBOEY1
MEU1NTU3NzUwMDMwOTFGMSAvKiBPcGFxdWVKU1N0cmluZy5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUxMjRBOEY4MEU1NTU3NzUwMDMwOTFGMSAv
KiBPcGFxdWVKU1N0cmluZy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBFMTI0QThGNjBFNTU1Nzc1MDAzMDkxRjEgLyogT3BhcXVlSlNTdHJpbmcuY3Bw
ICovOyB9OwogCQlFMTc4NjM2RDBEOUJFRUMzMDBENzRFNzUgLyogSW5pdGlhbGl6ZVRocmVhZGlu
Zy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMTc4
NjM2QzBEOUJFRUMzMDBENzRFNzUgLyogSW5pdGlhbGl6ZVRocmVhZGluZy5jcHAgKi87IH07CkBA
IC0xMzg2LDYgKzEzODYsNyBAQAogCQlDMkM4RDAyQjE0QTNDNkIyMDA1NzhFNjUgLyogQ29waWVk
U3BhY2VJbmxpbmVNZXRob2RzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENv
cGllZFNwYWNlSW5saW5lTWV0aG9kcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlD
MkM4RDAyRTE0QTNDRUZDMDA1NzhFNjUgLyogQ29waWVkQmxvY2suaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gQ29waWVkQmxvY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQzJDOEQwMkYxNEEzQ0VGQzAwNTc4RTY1IC8qIEhlYXBCbG9jay5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBIZWFwQmxvY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJQzJENThDMzMxNTkxMkZFRTAwMjFBODQ0IC8qIEdDQWN0aXZpdHlDYWxsYmFjay5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBHQ0FjdGl2aXR5Q2FsbGJh
Y2suY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMkU1MjZCQjE1OTBFRjAwMDA1
NEU0OEQgLyogSGVhcFRpbWVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEhlYXBUaW1lci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMyRTUyNkJD
MTU5MEVGMDAwMDU0RTQ4RCAvKiBIZWFwVGltZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gSGVhcFRpbWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUMyRUFB
M0Y4MTQ5QTgzMDgwMEZDRTExMiAvKiBDb3BpZWRTcGFjZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBDb3BpZWRTcGFjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpA
QCAtMTM5Myw3ICsxMzk0LDYgQEAKIAkJRDIxMjAyMjgwQUQ0MzEwQzAwRUQ3OUI2IC8qIERhdGVD
b252ZXJzaW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEYXRl
Q29udmVyc2lvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQyMTIwMjI5MEFE
NDMxMEMwMEVENzlCNiAvKiBEYXRlQ29udmVyc2lvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gRGF0ZUNvbnZlcnNpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJRERGN0FCRDIxMUY2MEVEMjAwMTA4RTM2IC8qIEdDQWN0aXZpdHlDYWxsYmFjay5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHQ0FjdGl2aXR5Q2FsbGJhY2suaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRERGN0FCRDMxMUY2MEVEMjAwMTA4RTM2IC8qIEdDQWN0
aXZpdHlDYWxsYmFja0NGLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEdDQWN0aXZpdHlDYWxsYmFja0NGLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
RTEyNEE4RjUwRTU1NTc3NTAwMzA5MUYxIC8qIE9wYXF1ZUpTU3RyaW5nLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE9wYXF1ZUpTU3RyaW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUUxMjRBOEY2MEU1NTU3NzUwMDMwOTFGMSAvKiBPcGFxdWVKU1N0cmluZy5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBPcGFxdWVKU1N0cmluZy5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxNzg2MzNGMEQ5QkVDMDAwMEQ3NEU3
NSAvKiBJbml0aWFsaXplVGhyZWFkaW5nLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEluaXRpYWxpemVUaHJlYWRpbmcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTE5MTksNiArMTkxOSw3IEBACiAJCTdFRjZFMEJCMEVCN0ExRUMwMDc5QUZBRiAvKiBydW50aW1l
ICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQlDMkQ1OEMz
MzE1OTEyRkVFMDAyMUE4NDQgLyogR0NBY3Rpdml0eUNhbGxiYWNrLmNwcCAqLywKIAkJCQlCQ0Y2
MDUxMTBFMjAzRUY4MDBCOUE2NEQgLyogQXJnTGlzdC5jcHAgKi8sCiAJCQkJQkNGNjA1MTIwRTIw
M0VGODAwQjlBNjREIC8qIEFyZ0xpc3QuaCAqLywKIAkJCQlCQzI1N0RFNTBFMUY1MUM1MDAxNkI2
QzkgLyogQXJndW1lbnRzLmNwcCAqLywKQEAgLTE5NzQsNyArMTk3NSw2IEBACiAJCQkJRjY5MkE4
NUMwMjU1NTk3RDAxRkY2MEY3IC8qIEZ1bmN0aW9uUHJvdG90eXBlLmNwcCAqLywKIAkJCQlGNjky
QTg1RDAyNTU1OTdEMDFGRjYwRjcgLyogRnVuY3Rpb25Qcm90b3R5cGUuaCAqLywKIAkJCQlEREY3
QUJEMjExRjYwRUQyMDAxMDhFMzYgLyogR0NBY3Rpdml0eUNhbGxiYWNrLmggKi8sCi0JCQkJRERG
N0FCRDMxMUY2MEVEMjAwMTA4RTM2IC8qIEdDQWN0aXZpdHlDYWxsYmFja0NGLmNwcCAqLywKIAkJ
CQlCQzAyRTlCODBFMTg0NTQ1MDAwRjkyOTcgLyogR2V0dGVyU2V0dGVyLmNwcCAqLywKIAkJCQlC
QzMzN0JERTBFMUFGMEI4MDA3NjkxOEEgLyogR2V0dGVyU2V0dGVyLmggKi8sCiAJCQkJOTMzQTM0
OUQwMzhBRTgwRjAwODYzNUNFIC8qIElkZW50aWZpZXIuY3BwICovLApAQCAtMzE2Niw3ICszMTY2
LDYgQEAKIAkJCQk4NkRCNjQ2NDBGOTVDNkZDMDBEN0Q5MjEgLyogRXhlY3V0YWJsZUFsbG9jYXRv
ckZpeGVkVk1Qb29sLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0N0YzOUNCMTA3RUMzNzYwMDQy
N0E0OCAvKiBGdW5jdGlvbkNvbnN0cnVjdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0N0Yz
OUNDMTA3RUMzNzYwMDQyN0E0OCAvKiBGdW5jdGlvblByb3RvdHlwZS5jcHAgaW4gU291cmNlcyAq
LywKLQkJCQlEREY3QUJENTExRjYwRUQyMDAxMDhFMzYgLyogR0NBY3Rpdml0eUNhbGxiYWNrQ0Yu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTQyODA4NTUxMDdFQzBFNzAwMTNFN0IyIC8qIEdldHRl
clNldHRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxNDJFMzEzNTEzNEZGMEE2MDBBRkFEQjUg
LyogSGFuZGxlU2V0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0MkUzMTM3MTM0RkYwQTYwMEFG
QURCNSAvKiBIYW5kbGVTdGFjay5jcHAgaW4gU291cmNlcyAqLywKQEAgLTMzNDEsNiArMzM0MCw3
IEBACiAJCQkJMEZGNDI3NEExNThFQkU5MTAwNENCOUZGIC8qIHVkaXM4Ni5jIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMEZGNDI3NEQxNThFQkZFNjAwNENCOUZGIC8qIHVkaXM4Nl9pdGFiX2hvbGRlci5j
IGluIFNvdXJjZXMgKi8sCiAJCQkJQzJFNTI2QkQxNTkwRUYwMDAwNTRFNDhEIC8qIEhlYXBUaW1l
ci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlDMkQ1OEMzNDE1OTEyRkVFMDAyMUE4NDQgLyogR0NB
Y3Rpdml0eUNhbGxiYWNrLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JE
ZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvR0NBY3Rpdml0eUNhbGxiYWNrLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9HQ0FjdGl2aXR5Q2FsbGJhY2suY3BwCShyZXZpc2lv
biAxMjA3NTUpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9HQ0FjdGl2aXR5Q2Fs
bGJhY2suY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOSwxMCArMjksOTQgQEAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJHQ0FjdGl2aXR5Q2FsbGJhY2suaCIKIAorI2luY2x1ZGUgIkFQ
SVNoaW1zLmgiCiAjaW5jbHVkZSAiSGVhcC5oIgorI2luY2x1ZGUgIkpTR2xvYmFsRGF0YS5oIgor
I2luY2x1ZGUgIkpTTG9jay5oIgorI2luY2x1ZGUgIkpTT2JqZWN0LmgiCisjaW5jbHVkZSAiU2Nv
cGVDaGFpbi5oIgorI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KKyNpbmNsdWRlIDx3dGYvV1RG
VGhyZWFkRGF0YS5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIAorI2lmIFVTRShDRikKKworY29uc3Qg
ZG91YmxlIGdjVGltZVNsaWNlUGVyTUIgPSAwLjAxOyAvLyBQZXJjZW50YWdlIG9mIENQVSB0aW1l
IHdlIHdpbGwgc3BlbmQgdG8gcmVjbGFpbSAxIE1CCitjb25zdCBkb3VibGUgbWF4R0NUaW1lU2xp
Y2UgPSAwLjA1OyAvLyBUaGUgbWF4aW11bSBhbW91bnQgb2YgQ1BVIHRpbWUgd2Ugd2FudCB0byB1
c2UgZm9yIG9wcG9ydHVuaXN0aWMgdGltZXItdHJpZ2dlcmVkIGNvbGxlY3Rpb25zLgorY29uc3Qg
ZG91YmxlIHRpbWVyU2xvcCA9IDIuMDsgLy8gRnVkZ2UgZmFjdG9yIHRvIGF2b2lkIHBlcmZvcm1h
bmNlIGNvc3Qgb2YgcmVzZXR0aW5nIHRpbWVyLgorY29uc3QgZG91YmxlIHBhZ2luZ1RpbWVPdXQg
PSAwLjE7IC8vIFRpbWUgaW4gc2Vjb25kcyB0byBhbGxvdyBvcHBvcnR1bmlzdGljIHRpbWVyIHRv
IGl0ZXJhdGUgb3ZlciBhbGwgYmxvY2tzIHRvIHNlZSBpZiB0aGUgSGVhcCBpcyBwYWdlZCBvdXQu
Citjb25zdCBDRlRpbWVJbnRlcnZhbCBob3VyID0gNjAgKiA2MDsKKworRGVmYXVsdEdDQWN0aXZp
dHlDYWxsYmFjazo6RGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjayhIZWFwKiBoZWFwKQorICAgIDog
R0NBY3Rpdml0eUNhbGxiYWNrKGhlYXAtPmdsb2JhbERhdGEoKSwgQ0ZSdW5Mb29wR2V0Q3VycmVu
dCgpKQorICAgICwgbV9kZWxheShzX2RlY2FkZSkKK3sKK30KKworRGVmYXVsdEdDQWN0aXZpdHlD
YWxsYmFjazo6RGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjayhIZWFwKiBoZWFwLCBDRlJ1bkxvb3BS
ZWYgcnVuTG9vcCkKKyAgICA6IEdDQWN0aXZpdHlDYWxsYmFjayhoZWFwLT5nbG9iYWxEYXRhKCks
IHJ1bkxvb3ApCisgICAgLCBtX2RlbGF5KHNfZGVjYWRlKQoreworfQorCit2b2lkIERlZmF1bHRH
Q0FjdGl2aXR5Q2FsbGJhY2s6OmRvV29yaygpCit7CisgICAgSGVhcCogaGVhcCA9ICZtX2dsb2Jh
bERhdGEtPmhlYXA7CisgICAgaWYgKCFpc0VuYWJsZWQoKSkKKyAgICAgICAgcmV0dXJuOworICAg
IAorICAgIEFQSUVudHJ5U2hpbSBzaGltKG1fZ2xvYmFsRGF0YSk7CisjaWYgIVBMQVRGT1JNKElP
UykKKyAgICBkb3VibGUgc3RhcnRUaW1lID0gV1RGOjptb25vdG9uaWNhbGx5SW5jcmVhc2luZ1Rp
bWUoKTsKKyAgICBpZiAoaGVhcC0+aXNQYWdlZE91dChzdGFydFRpbWUgKyBwYWdpbmdUaW1lT3V0
KSkgeworICAgICAgICBoZWFwLT5hY3Rpdml0eUNhbGxiYWNrKCktPmNhbmNlbCgpOworICAgICAg
ICBoZWFwLT5pbmNyZWFzZUxhc3RHQ0xlbmd0aChwYWdpbmdUaW1lT3V0KTsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KKyNlbmRpZgorICAgIGhlYXAtPmNvbGxlY3RBbGxHYXJiYWdlKCk7Cit9Cisg
ICAgCit2b2lkIERlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6OnNjaGVkdWxlVGltZXIoZG91Ymxl
IG5ld0RlbGF5KQoreworICAgIGlmIChuZXdEZWxheSAqIHRpbWVyU2xvcCA+IG1fZGVsYXkpCisg
ICAgICAgIHJldHVybjsKKyAgICBkb3VibGUgZGVsdGEgPSBtX2RlbGF5IC0gbmV3RGVsYXk7Cisg
ICAgbV9kZWxheSA9IG5ld0RlbGF5OworICAgIENGUnVuTG9vcFRpbWVyU2V0TmV4dEZpcmVEYXRl
KG1fdGltZXIuZ2V0KCksIENGUnVuTG9vcFRpbWVyR2V0TmV4dEZpcmVEYXRlKG1fdGltZXIuZ2V0
KCkpIC0gZGVsdGEpOworfQorCit2b2lkIERlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6OmNhbmNl
bFRpbWVyKCkKK3sKKyAgICBtX2RlbGF5ID0gc19kZWNhZGU7CisgICAgQ0ZSdW5Mb29wVGltZXJT
ZXROZXh0RmlyZURhdGUobV90aW1lci5nZXQoKSwgQ0ZBYnNvbHV0ZVRpbWVHZXRDdXJyZW50KCkg
KyBzX2RlY2FkZSk7Cit9CisKK3ZvaWQgRGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6ZGlkQWxs
b2NhdGUoc2l6ZV90IGJ5dGVzKQoreworICAgIC8vIFRoZSBmaXJzdCBieXRlIGFsbG9jYXRlZCBp
biBhbiBhbGxvY2F0aW9uIGN5Y2xlIHdpbGwgcmVwb3J0IDAgYnl0ZXMgdG8gZGlkQWxsb2NhdGUu
IAorICAgIC8vIFdlIHByZXRlbmQgaXQncyBvbmUgYnl0ZSBzbyB0aGF0IHdlIGRvbid0IGlnbm9y
ZSB0aGlzIGFsbG9jYXRpb24gZW50aXJlbHkuCisgICAgaWYgKCFieXRlcykKKyAgICAgICAgYnl0
ZXMgPSAxOworICAgIEhlYXAqIGhlYXAgPSBzdGF0aWNfY2FzdDxIZWFwKj4oJm1fZ2xvYmFsRGF0
YS0+aGVhcCk7CisgICAgZG91YmxlIGdjVGltZVNsaWNlID0gc3RkOjptaW4oKHN0YXRpY19jYXN0
PGRvdWJsZT4oYnl0ZXMpIC8gTUIpICogZ2NUaW1lU2xpY2VQZXJNQiwgbWF4R0NUaW1lU2xpY2Up
OworICAgIGRvdWJsZSBuZXdEZWxheSA9IGhlYXAtPmxhc3RHQ0xlbmd0aCgpIC8gZ2NUaW1lU2xp
Y2U7CisgICAgc2NoZWR1bGVUaW1lcihuZXdEZWxheSk7Cit9CisKK3ZvaWQgRGVmYXVsdEdDQWN0
aXZpdHlDYWxsYmFjazo6d2lsbENvbGxlY3QoKQoreworICAgIGNhbmNlbFRpbWVyKCk7Cit9CisK
K3ZvaWQgRGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6Y2FuY2VsKCkKK3sKKyAgICBjYW5jZWxU
aW1lcigpOworfQorCisjZWxzZQorCiBEZWZhdWx0R0NBY3Rpdml0eUNhbGxiYWNrOjpEZWZhdWx0
R0NBY3Rpdml0eUNhbGxiYWNrKEhlYXAqIGhlYXApCiAgICAgOiBHQ0FjdGl2aXR5Q2FsbGJhY2so
aGVhcC0+Z2xvYmFsRGF0YSgpKQogewpAQCAtNTQsNSArMTM4LDcgQEAgdm9pZCBEZWZhdWx0R0NB
Y3Rpdml0eUNhbGxiYWNrOjpjYW5jZWwoKQogewogfQogCisjZW5kaWYKKwogfQogCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9HQ0FjdGl2aXR5Q2FsbGJhY2tDRi5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvR0NBY3Rpdml0eUNhbGxi
YWNrQ0YuY3BwCShyZXZpc2lvbiAxMjA3NTUpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9HQ0FjdGl2aXR5Q2FsbGJhY2tDRi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsMTIwICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICoK
LSAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCi0gKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gCi0gKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBB
cHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgotICogICAgIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQKLSAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uIAotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCi0gKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVECi0gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCi0gKiBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUwotICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwotICogTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5ECi0gKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCi0gKiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJHQ0FjdGl2aXR5Q2FsbGJh
Y2suaCIKLQotI2luY2x1ZGUgIkFQSVNoaW1zLmgiCi0jaW5jbHVkZSAiSGVhcC5oIgotI2luY2x1
ZGUgIkpTR2xvYmFsRGF0YS5oIgotI2luY2x1ZGUgIkpTTG9jay5oIgotI2luY2x1ZGUgIkpTT2Jq
ZWN0LmgiCi0jaW5jbHVkZSAiU2NvcGVDaGFpbi5oIgotI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIu
aD4KLSNpbmNsdWRlIDx3dGYvV1RGVGhyZWFkRGF0YS5oPgotCi0jaWYgIVVTRShDRikKLSNlcnJv
ciAiVGhpcyBmaWxlIHNob3VsZCBvbmx5IGJlIHVzZWQgb24gQ0YgcGxhdGZvcm1zLiIKLSNlbmRp
ZgotCi1uYW1lc3BhY2UgSlNDIHsKLQotY29uc3QgZG91YmxlIGdjVGltZVNsaWNlUGVyTUIgPSAw
LjAxOyAvLyBQZXJjZW50YWdlIG9mIENQVSB0aW1lIHdlIHdpbGwgc3BlbmQgdG8gcmVjbGFpbSAx
IE1CCi1jb25zdCBkb3VibGUgbWF4R0NUaW1lU2xpY2UgPSAwLjA1OyAvLyBUaGUgbWF4aW11bSBh
bW91bnQgb2YgQ1BVIHRpbWUgd2Ugd2FudCB0byB1c2UgZm9yIG9wcG9ydHVuaXN0aWMgdGltZXIt
dHJpZ2dlcmVkIGNvbGxlY3Rpb25zLgotY29uc3QgZG91YmxlIHRpbWVyU2xvcCA9IDIuMDsgLy8g
RnVkZ2UgZmFjdG9yIHRvIGF2b2lkIHBlcmZvcm1hbmNlIGNvc3Qgb2YgcmVzZXR0aW5nIHRpbWVy
LgotY29uc3QgZG91YmxlIHBhZ2luZ1RpbWVPdXQgPSAwLjE7IC8vIFRpbWUgaW4gc2Vjb25kcyB0
byBhbGxvdyBvcHBvcnR1bmlzdGljIHRpbWVyIHRvIGl0ZXJhdGUgb3ZlciBhbGwgYmxvY2tzIHRv
IHNlZSBpZiB0aGUgSGVhcCBpcyBwYWdlZCBvdXQuCi1jb25zdCBDRlRpbWVJbnRlcnZhbCBob3Vy
ID0gNjAgKiA2MDsKLQotRGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6RGVmYXVsdEdDQWN0aXZp
dHlDYWxsYmFjayhIZWFwKiBoZWFwKQotICAgIDogR0NBY3Rpdml0eUNhbGxiYWNrKGhlYXAtPmds
b2JhbERhdGEoKSwgQ0ZSdW5Mb29wR2V0Q3VycmVudCgpKQotICAgICwgbV9kZWxheShzX2RlY2Fk
ZSkKLXsKLX0KLQotRGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6RGVmYXVsdEdDQWN0aXZpdHlD
YWxsYmFjayhIZWFwKiBoZWFwLCBDRlJ1bkxvb3BSZWYgcnVuTG9vcCkKLSAgICA6IEdDQWN0aXZp
dHlDYWxsYmFjayhoZWFwLT5nbG9iYWxEYXRhKCksIHJ1bkxvb3ApCi0gICAgLCBtX2RlbGF5KHNf
ZGVjYWRlKQotewotfQotCi12b2lkIERlZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6OmRvV29yaygp
Ci17Ci0gICAgSGVhcCogaGVhcCA9ICZtX2dsb2JhbERhdGEtPmhlYXA7Ci0gICAgaWYgKCFpc0Vu
YWJsZWQoKSkKLSAgICAgICAgcmV0dXJuOwotICAgIAotICAgIEFQSUVudHJ5U2hpbSBzaGltKG1f
Z2xvYmFsRGF0YSk7Ci0jaWYgIVBMQVRGT1JNKElPUykKLSAgICBkb3VibGUgc3RhcnRUaW1lID0g
V1RGOjptb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKLSAgICBpZiAoaGVhcC0+aXNQYWdl
ZE91dChzdGFydFRpbWUgKyBwYWdpbmdUaW1lT3V0KSkgewotICAgICAgICBoZWFwLT5hY3Rpdml0
eUNhbGxiYWNrKCktPmNhbmNlbCgpOwotICAgICAgICBoZWFwLT5pbmNyZWFzZUxhc3RHQ0xlbmd0
aChwYWdpbmdUaW1lT3V0KTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSNlbmRpZgotICAgIGhl
YXAtPmNvbGxlY3RBbGxHYXJiYWdlKCk7Ci19Ci0gICAgCi12b2lkIERlZmF1bHRHQ0FjdGl2aXR5
Q2FsbGJhY2s6OnNjaGVkdWxlVGltZXIoZG91YmxlIG5ld0RlbGF5KQotewotICAgIGlmIChuZXdE
ZWxheSAqIHRpbWVyU2xvcCA+IG1fZGVsYXkpCi0gICAgICAgIHJldHVybjsKLSAgICBkb3VibGUg
ZGVsdGEgPSBtX2RlbGF5IC0gbmV3RGVsYXk7Ci0gICAgbV9kZWxheSA9IG5ld0RlbGF5OwotICAg
IENGUnVuTG9vcFRpbWVyU2V0TmV4dEZpcmVEYXRlKG1fdGltZXIuZ2V0KCksIENGUnVuTG9vcFRp
bWVyR2V0TmV4dEZpcmVEYXRlKG1fdGltZXIuZ2V0KCkpIC0gZGVsdGEpOwotfQotCi12b2lkIERl
ZmF1bHRHQ0FjdGl2aXR5Q2FsbGJhY2s6OmNhbmNlbFRpbWVyKCkKLXsKLSAgICBtX2RlbGF5ID0g
c19kZWNhZGU7Ci0gICAgQ0ZSdW5Mb29wVGltZXJTZXROZXh0RmlyZURhdGUobV90aW1lci5nZXQo
KSwgQ0ZBYnNvbHV0ZVRpbWVHZXRDdXJyZW50KCkgKyBzX2RlY2FkZSk7Ci19Ci0KLXZvaWQgRGVm
YXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6ZGlkQWxsb2NhdGUoc2l6ZV90IGJ5dGVzKQotewotICAg
IC8vIFRoZSBmaXJzdCBieXRlIGFsbG9jYXRlZCBpbiBhbiBhbGxvY2F0aW9uIGN5Y2xlIHdpbGwg
cmVwb3J0IDAgYnl0ZXMgdG8gZGlkQWxsb2NhdGUuIAotICAgIC8vIFdlIHByZXRlbmQgaXQncyBv
bmUgYnl0ZSBzbyB0aGF0IHdlIGRvbid0IGlnbm9yZSB0aGlzIGFsbG9jYXRpb24gZW50aXJlbHku
Ci0gICAgaWYgKCFieXRlcykKLSAgICAgICAgYnl0ZXMgPSAxOwotICAgIEhlYXAqIGhlYXAgPSBz
dGF0aWNfY2FzdDxIZWFwKj4oJm1fZ2xvYmFsRGF0YS0+aGVhcCk7Ci0gICAgZG91YmxlIGdjVGlt
ZVNsaWNlID0gc3RkOjptaW4oKHN0YXRpY19jYXN0PGRvdWJsZT4oYnl0ZXMpIC8gTUIpICogZ2NU
aW1lU2xpY2VQZXJNQiwgbWF4R0NUaW1lU2xpY2UpOwotICAgIGRvdWJsZSBuZXdEZWxheSA9IGhl
YXAtPmxhc3RHQ0xlbmd0aCgpIC8gZ2NUaW1lU2xpY2U7Ci0gICAgc2NoZWR1bGVUaW1lcihuZXdE
ZWxheSk7Ci19Ci0KLXZvaWQgRGVmYXVsdEdDQWN0aXZpdHlDYWxsYmFjazo6d2lsbENvbGxlY3Qo
KQotewotICAgIGNhbmNlbFRpbWVyKCk7Ci19Ci0KLXZvaWQgRGVmYXVsdEdDQWN0aXZpdHlDYWxs
YmFjazo6Y2FuY2VsKCkKLXsKLSAgICBjYW5jZWxUaW1lcigpOwotfQotCi19Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>