<?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>112371</bug_id>
          
          <creation_ts>2013-03-14 11:35:30 -0700</creation_ts>
          <short_desc>Web Inspector: Paint rectangles shown on hover over Timeline&apos;s paint records occasionally have wrong offsets</short_desc>
          <delta_ts>2013-03-21 09:00:36 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>112787</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andrey Kosyakov">caseq</reporter>
          <assigned_to name="Andrey Kosyakov">caseq</assigned_to>
          <cc>apavlov</cc>
    
    <cc>eric</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>paulirish</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>vsevik</cc>
    
    <cc>web-inspector-bugs</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>855363</commentid>
    <comment_count>0</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2013-03-14 11:35:30 -0700</bug_when>
    <thetext>1. Navigate to www.ign.com.
2. Open Web Inspector, start timeline record.
3. Reload the page.
4. Let it run for a few seconds, then stop timeline.
5. Filter paint records, hover over them.
6. Note many paint rectangles are shown at top left corner (0, 0)

This apparently happens for sub-frames.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>857088</commentid>
    <comment_count>1</comment_count>
      <attachid>193555</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2013-03-18 07:16:24 -0700</bug_when>
    <thetext>Created attachment 193555
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858391</commentid>
    <comment_count>2</comment_count>
      <attachid>193555</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2013-03-19 10:03:07 -0700</bug_when>
    <thetext>Comment on attachment 193555
Patch

A test?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858507</commentid>
    <comment_count>3</comment_count>
      <attachid>193874</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2013-03-19 11:20:25 -0700</bug_when>
    <thetext>Created attachment 193874
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859131</commentid>
    <comment_count>4</comment_count>
      <attachid>193874</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2013-03-20 00:46:07 -0700</bug_when>
    <thetext>Comment on attachment 193874
Patch

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

&gt; Source/WebCore/inspector/InspectorInstrumentation.cpp:538
&gt; +void InspectorInstrumentation::didPaintImpl(InstrumentingAgents*  instrumentingAgents, Frame* frame, GraphicsContext* context, const LayoutRect&amp; rect)

Extra space here.

&gt; Source/WebCore/inspector/InspectorTimelineAgent.cpp:304
&gt; +    LayoutRect rectInRootCoordinates = frame-&gt;view()-&gt;contentsToRootView(pixelSnappedIntRect(rect));

So that&apos;s the actual fix? Looks like two changes in one patch to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859255</commentid>
    <comment_count>5</comment_count>
      <attachid>194023</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2013-03-20 04:39:31 -0700</bug_when>
    <thetext>Created attachment 194023
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859488</commentid>
    <comment_count>6</comment_count>
      <attachid>194023</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-03-20 09:24:24 -0700</bug_when>
    <thetext>Comment on attachment 194023
Patch

A good testcase for this would test highlight rects inside an iframe which is css-transformed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>860375</commentid>
    <comment_count>7</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2013-03-21 08:37:15 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 194023 [details])
&gt; A good testcase for this would test highlight rects inside an iframe which is css-transformed.

Thanks, but unfortunately we&apos;re not there yet -- transformed layers are off, too. I&apos;m working on it right now, though (see bug 112919)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>860396</commentid>
    <comment_count>8</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2013-03-21 09:00:36 -0700</bug_when>
    <thetext>Committed r146476: &lt;http://trac.webkit.org/changeset/146476&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193555</attachid>
            <date>2013-03-18 07:16:24 -0700</date>
            <delta_ts>2013-03-19 11:20:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112371-20130318181216.patch</filename>
            <type>text/plain</type>
            <size>11006</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2MDQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGI5YTdkNDY0M2VjODgy
ODVmMzU2MGEwNWM3N2ZjNTdjMDlkY2VjZS4uZWFlZmRjZGJkNzMwNWY4YjUyZjQyY2Q4NWZiMWQy
MzYzY2I0YTZhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEzLTAzLTE4ICBBbmRy
ZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogUGFpbnQgcmVjdGFuZ2xlcyBzaG93biBvbiBob3ZlciBvdmVyIFRpbWVsaW5lJ3MgcGFpbnQg
cmVjb3JkcyBvY2Nhc2lvbmFsbHkgaGF2ZSB3cm9uZyBvZmZzZXRzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTIzNzEKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAtIGRvIG5vdCB1c2UgSW5zcGVjdG9yQ29v
a2lzIGZvciB7ZGlkLHdpbGx9UGFpbnQoKSwgcGFzcyBmcmFtZSB0byBkaWRQYWludCBpbnN0ZWFk
OworICAgICAgICAtIGNvbnZlcnQgcGFpbnQgY29vcmRpbmF0ZXMgdG8gcm9vdCB2aWV3LgorCisg
ICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHA6CisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
d2lsbFBhaW50SW1wbCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246OmRpZFBhaW50SW1wbCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1l
bnRhdGlvbi5oOgorICAgICAgICAoSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uKToKKyAgICAgICAg
KFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbFBhaW50KToKKyAgICAgICAg
KFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkUGFpbnQpOgorICAgICAgICAq
IGluc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRpZFBhaW50KToKKyAgICAgICAgKiBpbnNwZWN0b3Iv
SW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oOgorICAgICAgICAoSW5zcGVjdG9yVGltZWxpbmVBZ2Vu
dCk6CisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJh
bWVWaWV3OjpwYWludENvbnRlbnRzKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJC
YWNraW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6cGFpbnRD
b250ZW50cyk6CisKIDIwMTMtMDItMjIgIEFuZHJleSBLb3N5YWtvdiAgPGNhc2VxQGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBtYWtlIG51bWJlciBvZiBzdGFjayBmcmFt
ZXMgdG8gY2FwdHVyZSBpbiBUaW1lbGluZSBhIHNldHRpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKaW5kZXggZmYwZjBi
ODYzYzZmOWNlZjllZDBhZTE4ZDk4NjFmN2VjODM4OWJkOS4uY2NjYmZlOWFlYTliOWY0Yjg2MGNh
NjczMjk3ZTc1ODI1OTA5NzQ1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKQEAgLTUyNSwyNSArNTI1LDIxIEBAIHZv
aWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWREaXNwYXRjaFhIUkxvYWRFdmVudEltcGwo
Y29uc3QgSW5zcGVjdG9ySW5zdHJ1CiAgICAgICAgIHRpbWVsaW5lQWdlbnQtPmRpZERpc3BhdGNo
WEhSTG9hZEV2ZW50KCk7CiB9CiAKLUluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSBJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxQYWludEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyog
aW5zdHJ1bWVudGluZ0FnZW50cywgRnJhbWUqIGZyYW1lKQordm9pZCBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246OndpbGxQYWludEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGlu
Z0FnZW50cywgRnJhbWUqIGZyYW1lKQogewogI2lmIFBMQVRGT1JNKENIUk9NSVVNKQogICAgIFRS
QUNFX0VWRU5UX0lOU1RBTlQxKCJpbnN0cnVtZW50YXRpb24iLCBJbnN0cnVtZW50YXRpb25FdmVu
dHM6OlBhaW50LCBJbnN0cnVtZW50YXRpb25FdmVudEFyZ3VtZW50czo6UGFnZUlkLCBmcmFtZSA/
IHJlaW50ZXJwcmV0X2Nhc3Q8dW5zaWduZWQgbG9uZyBsb25nPihmcmFtZS0+cGFnZSgpKSA6IDAp
OwogI2VuZGlmCiAKLSAgICBpbnQgdGltZWxpbmVBZ2VudElkID0gMDsKLSAgICBpZiAoSW5zcGVj
dG9yVGltZWxpbmVBZ2VudCogdGltZWxpbmVBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPmlu
c3BlY3RvclRpbWVsaW5lQWdlbnQoKSkgeworICAgIGlmIChJbnNwZWN0b3JUaW1lbGluZUFnZW50
KiB0aW1lbGluZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yVGltZWxpbmVB
Z2VudCgpKQogICAgICAgICB0aW1lbGluZUFnZW50LT53aWxsUGFpbnQoZnJhbWUpOwotICAgICAg
ICB0aW1lbGluZUFnZW50SWQgPSB0aW1lbGluZUFnZW50LT5pZCgpOwotICAgIH0KLSAgICByZXR1
cm4gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llKGluc3RydW1lbnRpbmdBZ2VudHMsIHRp
bWVsaW5lQWdlbnRJZCk7CiB9CiAKLXZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRQ
YWludEltcGwoY29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJiBjb29raWUsIEdy
YXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgTGF5b3V0UmVjdCYgcmVjdCkKK3ZvaWQgSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRQYWludEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyog
IGluc3RydW1lbnRpbmdBZ2VudHMsIEZyYW1lKiBmcmFtZSwgR3JhcGhpY3NDb250ZXh0KiBjb250
ZXh0LCBjb25zdCBMYXlvdXRSZWN0JiByZWN0KQogewotICAgIGlmIChJbnNwZWN0b3JUaW1lbGlu
ZUFnZW50KiB0aW1lbGluZUFnZW50ID0gcmV0cmlldmVUaW1lbGluZUFnZW50KGNvb2tpZSkpCi0g
ICAgICAgIHRpbWVsaW5lQWdlbnQtPmRpZFBhaW50KHJlY3QpOwotICAgIGlmIChJbnNwZWN0b3JQ
YWdlQWdlbnQqIHBhZ2VBZ2VudCA9IGNvb2tpZS5pbnN0cnVtZW50aW5nQWdlbnRzKCktPmluc3Bl
Y3RvclBhZ2VBZ2VudCgpKQorICAgIGlmIChJbnNwZWN0b3JUaW1lbGluZUFnZW50KiB0aW1lbGlu
ZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yVGltZWxpbmVBZ2VudCgpKQor
ICAgICAgICB0aW1lbGluZUFnZW50LT5kaWRQYWludChmcmFtZSwgcmVjdCk7CisgICAgaWYgKElu
c3BlY3RvclBhZ2VBZ2VudCogcGFnZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVj
dG9yUGFnZUFnZW50KCkpCiAgICAgICAgIHBhZ2VBZ2VudC0+ZGlkUGFpbnQoY29udGV4dCwgcmVj
dCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0
cnVtZW50YXRpb24uaAppbmRleCBiNGE4MzIyZDEzZjc3YzFiYzVmNGI4YjUzYWI0NTU2MzM5ODRk
NjRkLi4xNGVjNDA1MjVkOTIyMjhkZmE4NDA4Mjg5YWE4NDMwYzJiOTMxYmE0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCkBA
IC0xNjksOCArMTY5LDggQEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGRpZERpc3BhdGNoWEhS
TG9hZEV2ZW50KGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSYpOwogICAgIHN0
YXRpYyB2b2lkIHdpbGxTY3JvbGxMYXllcihGcmFtZSopOwogICAgIHN0YXRpYyB2b2lkIGRpZFNj
cm9sbExheWVyKEZyYW1lKik7Ci0gICAgc3RhdGljIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNv
b2tpZSB3aWxsUGFpbnQoRnJhbWUqKTsKLSAgICBzdGF0aWMgdm9pZCBkaWRQYWludChjb25zdCBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUmLCBHcmFwaGljc0NvbnRleHQqLCBjb25zdCBM
YXlvdXRSZWN0Jik7CisgICAgc3RhdGljIHZvaWQgd2lsbFBhaW50KEZyYW1lKik7CisgICAgc3Rh
dGljIHZvaWQgZGlkUGFpbnQoRnJhbWUqLCBHcmFwaGljc0NvbnRleHQqLCBjb25zdCBMYXlvdXRS
ZWN0Jik7CiAgICAgc3RhdGljIHZvaWQgd2lsbENvbXBvc2l0ZShQYWdlKik7CiAgICAgc3RhdGlj
IHZvaWQgZGlkQ29tcG9zaXRlKFBhZ2UqKTsKICAgICBzdGF0aWMgSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uQ29va2llIHdpbGxSZWNhbGN1bGF0ZVN0eWxlKERvY3VtZW50Kik7CkBAIC0zNzMsOCAr
MzczLDggQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgdm9pZCBkaWREaXNwYXRjaFhIUkxvYWRFdmVu
dEltcGwoY29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJik7CiAgICAgc3RhdGlj
IHZvaWQgd2lsbFNjcm9sbExheWVySW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgRnJhbWUqKTsK
ICAgICBzdGF0aWMgdm9pZCBkaWRTY3JvbGxMYXllckltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyop
OwotICAgIHN0YXRpYyBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgd2lsbFBhaW50SW1w
bChJbnN0cnVtZW50aW5nQWdlbnRzKiwgRnJhbWUqKTsKLSAgICBzdGF0aWMgdm9pZCBkaWRQYWlu
dEltcGwoY29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJiwgR3JhcGhpY3NDb250
ZXh0KiwgY29uc3QgTGF5b3V0UmVjdCYpOworICAgIHN0YXRpYyB2b2lkIHdpbGxQYWludEltcGwo
SW5zdHJ1bWVudGluZ0FnZW50cyosIEZyYW1lKik7CisgICAgc3RhdGljIHZvaWQgZGlkUGFpbnRJ
bXBsKEluc3RydW1lbnRpbmdBZ2VudHMqLCBGcmFtZSosIEdyYXBoaWNzQ29udGV4dCosIGNvbnN0
IExheW91dFJlY3QmKTsKICAgICBzdGF0aWMgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2ll
IHdpbGxSZWNhbGN1bGF0ZVN0eWxlSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgRnJhbWUqKTsK
ICAgICBzdGF0aWMgdm9pZCBkaWRSZWNhbGN1bGF0ZVN0eWxlSW1wbChjb25zdCBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb25Db29raWUmKTsKICAgICBzdGF0aWMgdm9pZCBkaWRTY2hlZHVsZVN0eWxl
UmVjYWxjdWxhdGlvbkltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIERvY3VtZW50Kik7CkBAIC0x
MTAxLDI0ICsxMTAxLDIzIEBAIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
ZGlkRGlzcGF0Y2hYSFJMb2FkRXZlbnQoY29uc3QgSW5zcGVjdG9ySW5zCiAjZW5kaWYKIH0KIAot
aW5saW5lIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OndpbGxQYWludChGcmFtZSogZnJhbWUpCitpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb246OndpbGxQYWludChGcmFtZSogZnJhbWUpCiB7CiAjaWYgRU5BQkxFKElOU1BF
Q1RPUikKLSAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFMoSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uQ29va2llKCkpOworICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyh2b2lkKCkp
OwogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5z
dHJ1bWVudGluZ0FnZW50c0ZvckZyYW1lKGZyYW1lKSkKICAgICAgICAgcmV0dXJuIHdpbGxQYWlu
dEltcGwoaW5zdHJ1bWVudGluZ0FnZW50cywgZnJhbWUpOwogI2Vsc2UKICAgICBVTlVTRURfUEFS
QU0oZnJhbWUpOwogI2VuZGlmCi0gICAgcmV0dXJuIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNv
b2tpZSgpOwogfQogCi1pbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFBh
aW50KGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSYgY29va2llLCBHcmFwaGlj
c0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IExheW91dFJlY3QmIHJlY3QpCitpbmxpbmUgdm9pZCBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFBhaW50KEZyYW1lKiBmcmFtZSwgR3JhcGhpY3ND
b250ZXh0KiBjb250ZXh0LCBjb25zdCBMYXlvdXRSZWN0JiByZWN0KQogewogI2lmIEVOQUJMRShJ
TlNQRUNUT1IpCiAgICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRTKHZvaWQoKSk7Ci0gICAg
aWYgKGNvb2tpZS5pc1ZhbGlkKCkpCi0gICAgICAgIGRpZFBhaW50SW1wbChjb29raWUsIGNvbnRl
eHQsIHJlY3QpOworICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdl
bnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckZyYW1lKGZyYW1lKSkKKyAgICAgICAgZGlkUGFp
bnRJbXBsKGluc3RydW1lbnRpbmdBZ2VudHMsIGZyYW1lLCBjb250ZXh0LCByZWN0KTsKICNlbHNl
CiAgICAgVU5VU0VEX1BBUkFNKGNvb2tpZSk7CiAgICAgVU5VU0VEX1BBUkFNKGNvbnRleHQpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdl
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQu
Y3BwCmluZGV4IDgyODU1ZTIyNjY2MDcxZTQ3YmU1MzUxMjM5MTlkYjU2MTBhNDc0YmYuLmIxNjgy
NWI4OWE2YmM4NGJhMzRkZmMxZGIyMzQ4MzQzZmY1MmMwMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKQEAgLTMwMywxMSAr
MzAzLDEyIEBAIHZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6d2lsbFBhaW50KEZyYW1lKiBm
cmFtZSkKICAgICBwdXNoQ3VycmVudFJlY29yZChJbnNwZWN0b3JPYmplY3Q6OmNyZWF0ZSgpLCBU
aW1lbGluZVJlY29yZFR5cGU6OlBhaW50LCB0cnVlLCBmcmFtZSwgdHJ1ZSk7CiB9CiAKLXZvaWQg
SW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkUGFpbnQoY29uc3QgTGF5b3V0UmVjdCYgcmVjdCkK
K3ZvaWQgSW5zcGVjdG9yVGltZWxpbmVBZ2VudDo6ZGlkUGFpbnQoRnJhbWUqIGZyYW1lLCBjb25z
dCBMYXlvdXRSZWN0JiByZWN0KQogewogICAgIFRpbWVsaW5lUmVjb3JkRW50cnkgZW50cnkgPSBt
X3JlY29yZFN0YWNrLmxhc3QoKTsKICAgICBBU1NFUlQoZW50cnkudHlwZSA9PSBUaW1lbGluZVJl
Y29yZFR5cGU6OlBhaW50KTsKLSAgICBUaW1lbGluZVJlY29yZEZhY3Rvcnk6OmFkZFJlY3REYXRh
KGVudHJ5LmRhdGEuZ2V0KCksIHJlY3QpOworICAgIExheW91dFJlY3QgcmVjdEluUm9vdENvb3Jk
aW5hdGVzID0gZnJhbWUtPnZpZXcoKS0+Y29udGVudHNUb1Jvb3RWaWV3KHBpeGVsU25hcHBlZElu
dFJlY3QocmVjdCkpOworICAgIFRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6YWRkUmVjdERhdGEoZW50
cnkuZGF0YS5nZXQoKSwgcmVjdEluUm9vdENvb3JkaW5hdGVzKTsKICAgICBkaWRDb21wbGV0ZUN1
cnJlbnRSZWNvcmQoVGltZWxpbmVSZWNvcmRUeXBlOjpQYWludCk7CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oCmluZGV4IGU3Njgy
YThiZWIxYjIwY2Y1YzVlZTA4ZTRjOTI2ZGIyOGEwMTVkNzQuLjBjNGIyYzZmNjEyODFmNzA0ZGRl
MjFlZmRmY2E5NjliNTFmMGNiMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaApAQCAtMTMxLDcgKzEzMSw3IEBAIHB1YmxpYzoKICAg
ICB2b2lkIGRpZFJlY2FsY3VsYXRlU3R5bGUoKTsKIAogICAgIHZvaWQgd2lsbFBhaW50KEZyYW1l
Kik7Ci0gICAgdm9pZCBkaWRQYWludChjb25zdCBMYXlvdXRSZWN0Jik7CisgICAgdm9pZCBkaWRQ
YWludChGcmFtZSosIGNvbnN0IExheW91dFJlY3QmKTsKIAogICAgIHZvaWQgd2lsbFNjcm9sbChG
cmFtZSopOwogICAgIHZvaWQgZGlkU2Nyb2xsKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAK
aW5kZXggMDQxZTRlM2E3NTA0ZTg3NGQ4OGJjOGE3NDI2OWM4NzgzZjUxOTIwZS4uMDcwNzVjOTk3
ZDk0OWRhNzc3NDg5NDc1NWEzYTljYjUwYzEwMzdmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3
LmNwcApAQCAtMzM1NSw3ICszMzU1LDcgQEAgdm9pZCBGcmFtZVZpZXc6OnBhaW50Q29udGVudHMo
R3JhcGhpY3NDb250ZXh0KiBwLCBjb25zdCBJbnRSZWN0JiByZWN0KQogICAgIGlmICghZnJhbWUo
KSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2ll
IGNvb2tpZSA9IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbFBhaW50KG1fZnJhbWUuZ2V0
KCkpOworICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbFBhaW50KG1fZnJhbWUuZ2V0
KCkpOwogCiAgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gbV9mcmFtZS0+ZG9jdW1lbnQoKTsKIApA
QCAtMzQ1MCw3ICszNDUwLDcgQEAgdm9pZCBGcmFtZVZpZXc6OnBhaW50Q29udGVudHMoR3JhcGhp
Y3NDb250ZXh0KiBwLCBjb25zdCBJbnRSZWN0JiByZWN0KQogICAgIGlmIChpc1RvcExldmVsUGFp
bnRlcikKICAgICAgICAgc0N1cnJlbnRQYWludFRpbWVTdGFtcCA9IDA7CiAKLSAgICBJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb246OmRpZFBhaW50KGNvb2tpZSwgcCwgcmVjdCk7CisgICAgSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRQYWludChtX2ZyYW1lLmdldCgpLCBwLCByZWN0KTsKIH0K
IAogdm9pZCBGcmFtZVZpZXc6OnNldFBhaW50QmVoYXZpb3IoUGFpbnRCZWhhdmlvciBiZWhhdmlv
cikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tp
bmcuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAK
aW5kZXggY2VlNWEwZmFjZDEwOWE2ZGI5ZGUyNmUxOTAwNWNjMzhiNWYyODdhMC4uNzM3ZTc4ZjEy
MmU5ZWNhNjA4M2JhNDU5ZTYyN2NjNTBkNDkxOTRiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKQEAgLTE4OTUsNyArMTg5NSw4IEBAIHZv
aWQgUmVuZGVyTGF5ZXJCYWNraW5nOjpwYWludENvbnRlbnRzKGNvbnN0IEdyYXBoaWNzTGF5ZXIq
IGdyYXBoaWNzTGF5ZXIsIEdyYXBoCiAgICAgICAgIHx8IGdyYXBoaWNzTGF5ZXIgPT0gbV9iYWNr
Z3JvdW5kTGF5ZXIuZ2V0KCkKICAgICAgICAgfHwgZ3JhcGhpY3NMYXllciA9PSBtX21hc2tMYXll
ci5nZXQoKQogICAgICAgICB8fCBncmFwaGljc0xheWVyID09IG1fc2Nyb2xsaW5nQ29udGVudHNM
YXllci5nZXQoKSkgewotICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgY29v
a2llID0gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsUGFpbnQobV9vd25pbmdMYXllci0+
cmVuZGVyZXIoKS0+ZnJhbWUoKSk7CisgICAgICAgIEZyYW1lKiBmcmFtZSA9IG1fb3duaW5nTGF5
ZXItPnJlbmRlcmVyKCktPmZyYW1lKCk7CisgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6d2lsbFBhaW50KGZyYW1lKTsKIAogICAgICAgICAvLyBUaGUgZGlydHlSZWN0IGlzIGluIHRo
ZSBjb29yZHMgb2YgdGhlIHBhaW50aW5nIHJvb3QuCiAgICAgICAgIEludFJlY3QgZGlydHlSZWN0
ID0gY2xpcDsKQEAgLTE5MDYsOSArMTkwNyw5IEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjpw
YWludENvbnRlbnRzKGNvbnN0IEdyYXBoaWNzTGF5ZXIqIGdyYXBoaWNzTGF5ZXIsIEdyYXBoCiAg
ICAgICAgIHBhaW50SW50b0xheWVyKGdyYXBoaWNzTGF5ZXIsICZjb250ZXh0LCBkaXJ0eVJlY3Qs
IFBhaW50QmVoYXZpb3JOb3JtYWwsIHBhaW50aW5nUGhhc2UpOwogCiAgICAgICAgIGlmIChtX3Vz
aW5nVGlsZWRDYWNoZUxheWVyKQotICAgICAgICAgICAgbV9vd25pbmdMYXllci0+cmVuZGVyZXIo
KS0+ZnJhbWUoKS0+dmlldygpLT5zZXRMYXN0UGFpbnRUaW1lKGN1cnJlbnRUaW1lKCkpOworICAg
ICAgICAgICAgZnJhbWUtPnZpZXcoKS0+c2V0TGFzdFBhaW50VGltZShjdXJyZW50VGltZSgpKTsK
IAotICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFBhaW50KGNvb2tpZSwgJmNv
bnRleHQsIGNsaXApOworICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFBhaW50
KGZyYW1lLCAmY29udGV4dCwgY2xpcCk7CiAgICAgfSBlbHNlIGlmIChncmFwaGljc0xheWVyID09
IGxheWVyRm9ySG9yaXpvbnRhbFNjcm9sbGJhcigpKSB7CiAgICAgICAgIHBhaW50U2Nyb2xsYmFy
KG1fb3duaW5nTGF5ZXItPmhvcml6b250YWxTY3JvbGxiYXIoKSwgY29udGV4dCwgY2xpcCk7CiAg
ICAgfSBlbHNlIGlmIChncmFwaGljc0xheWVyID09IGxheWVyRm9yVmVydGljYWxTY3JvbGxiYXIo
KSkgewo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193874</attachid>
            <date>2013-03-19 11:20:25 -0700</date>
            <delta_ts>2013-03-20 04:39:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112371-20130319221614.patch</filename>
            <type>text/plain</type>
            <size>18035</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2MjE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTRkMzM1NzViZGNmNzY5
YmE2MGUzZWY2MDg5Y2I3NTNiODI0NWExZi4uNTg5NzhkNTJiYmEzOTFiNjU5MjU1M2RiNmExMjYx
YTlmMzkyZDU2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEzLTAzLTE4ICBBbmRy
ZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogUGFpbnQgcmVjdGFuZ2xlcyBzaG93biBvbiBob3ZlciBvdmVyIFRpbWVsaW5lJ3MgcGFpbnQg
cmVjb3JkcyBvY2Nhc2lvbmFsbHkgaGF2ZSB3cm9uZyBvZmZzZXRzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTIzNzEKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAtIGRvIG5vdCB1c2UgSW5zcGVjdG9yQ29v
a2lzIGZvciB7ZGlkLHdpbGx9UGFpbnQoKSwgcGFzcyBmcmFtZSB0byBkaWRQYWludCBpbnN0ZWFk
OworICAgICAgICAtIGNvbnZlcnQgcGFpbnQgY29vcmRpbmF0ZXMgdG8gcm9vdCB2aWV3LgorCisg
ICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHA6CisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
d2lsbFBhaW50SW1wbCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246OmRpZFBhaW50SW1wbCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1l
bnRhdGlvbi5oOgorICAgICAgICAoSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uKToKKyAgICAgICAg
KFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbFBhaW50KToKKyAgICAgICAg
KFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkUGFpbnQpOgorICAgICAgICAq
IGluc3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Okluc3BlY3RvclRpbWVsaW5lQWdlbnQ6OmRpZFBhaW50KToKKyAgICAgICAgKiBpbnNwZWN0b3Iv
SW5zcGVjdG9yVGltZWxpbmVBZ2VudC5oOgorICAgICAgICAoSW5zcGVjdG9yVGltZWxpbmVBZ2Vu
dCk6CisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJh
bWVWaWV3OjpwYWludENvbnRlbnRzKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJC
YWNraW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6cGFpbnRD
b250ZW50cyk6CisKIDIwMTMtMDMtMTkgIEFsZXhlaSBGaWxpcHBvdiAgPGFscGhAY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IEluY3JlYXNlIERhdGFHcmlkIGRlZmF1bHQg
Zm9udCBzaXplLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckluc3RydW1lbnRhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uLmNwcAppbmRleCBmZjBmMGI4NjNjNmY5Y2VmOWVkMGFlMThkOTg2MWY3
ZWM4Mzg5YmQ5Li5jY2NiZmU5YWVhOWI5ZjRiODYwY2E2NzMyOTdlNzU4MjU5MDk3NDVmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uLmNwcApAQCAtNTI1LDI1ICs1MjUsMjEgQEAgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246OmRpZERpc3BhdGNoWEhSTG9hZEV2ZW50SW1wbChjb25zdCBJbnNwZWN0b3JJbnN0cnUKICAg
ICAgICAgdGltZWxpbmVBZ2VudC0+ZGlkRGlzcGF0Y2hYSFJMb2FkRXZlbnQoKTsKIH0KIAotSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2ls
bFBhaW50SW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCBGcmFt
ZSogZnJhbWUpCit2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbFBhaW50SW1wbChJ
bnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCBGcmFtZSogZnJhbWUpCiB7
CiAjaWYgUExBVEZPUk0oQ0hST01JVU0pCiAgICAgVFJBQ0VfRVZFTlRfSU5TVEFOVDEoImluc3Ry
dW1lbnRhdGlvbiIsIEluc3RydW1lbnRhdGlvbkV2ZW50czo6UGFpbnQsIEluc3RydW1lbnRhdGlv
bkV2ZW50QXJndW1lbnRzOjpQYWdlSWQsIGZyYW1lID8gcmVpbnRlcnByZXRfY2FzdDx1bnNpZ25l
ZCBsb25nIGxvbmc+KGZyYW1lLT5wYWdlKCkpIDogMCk7CiAjZW5kaWYKIAotICAgIGludCB0aW1l
bGluZUFnZW50SWQgPSAwOwotICAgIGlmIChJbnNwZWN0b3JUaW1lbGluZUFnZW50KiB0aW1lbGlu
ZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yVGltZWxpbmVBZ2VudCgpKSB7
CisgICAgaWYgKEluc3BlY3RvclRpbWVsaW5lQWdlbnQqIHRpbWVsaW5lQWdlbnQgPSBpbnN0cnVt
ZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JUaW1lbGluZUFnZW50KCkpCiAgICAgICAgIHRpbWVsaW5l
QWdlbnQtPndpbGxQYWludChmcmFtZSk7Ci0gICAgICAgIHRpbWVsaW5lQWdlbnRJZCA9IHRpbWVs
aW5lQWdlbnQtPmlkKCk7Ci0gICAgfQotICAgIHJldHVybiBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b25Db29raWUoaW5zdHJ1bWVudGluZ0FnZW50cywgdGltZWxpbmVBZ2VudElkKTsKIH0KIAotdm9p
ZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFBhaW50SW1wbChjb25zdCBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb25Db29raWUmIGNvb2tpZSwgR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBj
b25zdCBMYXlvdXRSZWN0JiByZWN0KQordm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRp
ZFBhaW50SW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiAgaW5zdHJ1bWVudGluZ0FnZW50cywgRnJh
bWUqIGZyYW1lLCBHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IExheW91dFJlY3QmIHJl
Y3QpCiB7Ci0gICAgaWYgKEluc3BlY3RvclRpbWVsaW5lQWdlbnQqIHRpbWVsaW5lQWdlbnQgPSBy
ZXRyaWV2ZVRpbWVsaW5lQWdlbnQoY29va2llKSkKLSAgICAgICAgdGltZWxpbmVBZ2VudC0+ZGlk
UGFpbnQocmVjdCk7Ci0gICAgaWYgKEluc3BlY3RvclBhZ2VBZ2VudCogcGFnZUFnZW50ID0gY29v
a2llLmluc3RydW1lbnRpbmdBZ2VudHMoKS0+aW5zcGVjdG9yUGFnZUFnZW50KCkpCisgICAgaWYg
KEluc3BlY3RvclRpbWVsaW5lQWdlbnQqIHRpbWVsaW5lQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdl
bnRzLT5pbnNwZWN0b3JUaW1lbGluZUFnZW50KCkpCisgICAgICAgIHRpbWVsaW5lQWdlbnQtPmRp
ZFBhaW50KGZyYW1lLCByZWN0KTsKKyAgICBpZiAoSW5zcGVjdG9yUGFnZUFnZW50KiBwYWdlQWdl
bnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JQYWdlQWdlbnQoKSkKICAgICAgICAg
cGFnZUFnZW50LT5kaWRQYWludChjb250ZXh0LCByZWN0KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCmluZGV4IGI0YTgz
MjJkMTNmNzdjMWJjNWY0YjhiNTNhYjQ1NTYzMzk4NGQ2NGQuLjE0ZWM0MDUyNWQ5MjIyOGRmYTg0
MDgyODlhYTg0MzBjMmI5MzFiYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKQEAgLTE2OSw4ICsxNjksOCBAQCBwdWJsaWM6
CiAgICAgc3RhdGljIHZvaWQgZGlkRGlzcGF0Y2hYSFJMb2FkRXZlbnQoY29uc3QgSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uQ29va2llJik7CiAgICAgc3RhdGljIHZvaWQgd2lsbFNjcm9sbExheWVy
KEZyYW1lKik7CiAgICAgc3RhdGljIHZvaWQgZGlkU2Nyb2xsTGF5ZXIoRnJhbWUqKTsKLSAgICBz
dGF0aWMgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llIHdpbGxQYWludChGcmFtZSopOwot
ICAgIHN0YXRpYyB2b2lkIGRpZFBhaW50KGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNv
b2tpZSYsIEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IExheW91dFJlY3QmKTsKKyAgICBzdGF0aWMg
dm9pZCB3aWxsUGFpbnQoRnJhbWUqKTsKKyAgICBzdGF0aWMgdm9pZCBkaWRQYWludChGcmFtZSos
IEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IExheW91dFJlY3QmKTsKICAgICBzdGF0aWMgdm9pZCB3
aWxsQ29tcG9zaXRlKFBhZ2UqKTsKICAgICBzdGF0aWMgdm9pZCBkaWRDb21wb3NpdGUoUGFnZSop
OwogICAgIHN0YXRpYyBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgd2lsbFJlY2FsY3Vs
YXRlU3R5bGUoRG9jdW1lbnQqKTsKQEAgLTM3Myw4ICszNzMsOCBAQCBwcml2YXRlOgogICAgIHN0
YXRpYyB2b2lkIGRpZERpc3BhdGNoWEhSTG9hZEV2ZW50SW1wbChjb25zdCBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb25Db29raWUmKTsKICAgICBzdGF0aWMgdm9pZCB3aWxsU2Nyb2xsTGF5ZXJJbXBs
KEluc3RydW1lbnRpbmdBZ2VudHMqLCBGcmFtZSopOwogICAgIHN0YXRpYyB2b2lkIGRpZFNjcm9s
bExheWVySW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKik7Ci0gICAgc3RhdGljIEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbkNvb2tpZSB3aWxsUGFpbnRJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqLCBG
cmFtZSopOwotICAgIHN0YXRpYyB2b2lkIGRpZFBhaW50SW1wbChjb25zdCBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb25Db29raWUmLCBHcmFwaGljc0NvbnRleHQqLCBjb25zdCBMYXlvdXRSZWN0Jik7
CisgICAgc3RhdGljIHZvaWQgd2lsbFBhaW50SW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgRnJh
bWUqKTsKKyAgICBzdGF0aWMgdm9pZCBkaWRQYWludEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyos
IEZyYW1lKiwgR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgTGF5b3V0UmVjdCYpOwogICAgIHN0YXRp
YyBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgd2lsbFJlY2FsY3VsYXRlU3R5bGVJbXBs
KEluc3RydW1lbnRpbmdBZ2VudHMqLCBGcmFtZSopOwogICAgIHN0YXRpYyB2b2lkIGRpZFJlY2Fs
Y3VsYXRlU3R5bGVJbXBsKGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSYpOwog
ICAgIHN0YXRpYyB2b2lkIGRpZFNjaGVkdWxlU3R5bGVSZWNhbGN1bGF0aW9uSW1wbChJbnN0cnVt
ZW50aW5nQWdlbnRzKiwgRG9jdW1lbnQqKTsKQEAgLTExMDEsMjQgKzExMDEsMjMgQEAgaW5saW5l
IHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWREaXNwYXRjaFhIUkxvYWRFdmVudChj
b25zdCBJbnNwZWN0b3JJbnMKICNlbmRpZgogfQogCi1pbmxpbmUgSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uQ29va2llIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbFBhaW50KEZyYW1lKiBm
cmFtZSkKK2lubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbFBhaW50KEZy
YW1lKiBmcmFtZSkKIHsKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQotICAgIEZBU1RfUkVUVVJOX0lG
X05PX0ZST05URU5EUyhJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUoKSk7CisgICAgRkFT
VF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRTKHZvaWQoKSk7CiAgICAgaWYgKEluc3RydW1lbnRpbmdB
Z2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRnJhbWUo
ZnJhbWUpKQogICAgICAgICByZXR1cm4gd2lsbFBhaW50SW1wbChpbnN0cnVtZW50aW5nQWdlbnRz
LCBmcmFtZSk7CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShmcmFtZSk7CiAjZW5kaWYKLSAgICBy
ZXR1cm4gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llKCk7CiB9CiAKLWlubGluZSB2b2lk
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkUGFpbnQoY29uc3QgSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uQ29va2llJiBjb29raWUsIEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3Qg
TGF5b3V0UmVjdCYgcmVjdCkKK2lubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
ZGlkUGFpbnQoRnJhbWUqIGZyYW1lLCBHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IExh
eW91dFJlY3QmIHJlY3QpCiB7CiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKICAgICBGQVNUX1JFVFVS
Tl9JRl9OT19GUk9OVEVORFModm9pZCgpKTsKLSAgICBpZiAoY29va2llLmlzVmFsaWQoKSkKLSAg
ICAgICAgZGlkUGFpbnRJbXBsKGNvb2tpZSwgY29udGV4dCwgcmVjdCk7CisgICAgaWYgKEluc3Ry
dW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRz
Rm9yRnJhbWUoZnJhbWUpKQorICAgICAgICBkaWRQYWludEltcGwoaW5zdHJ1bWVudGluZ0FnZW50
cywgZnJhbWUsIGNvbnRleHQsIHJlY3QpOwogI2Vsc2UKICAgICBVTlVTRURfUEFSQU0oY29va2ll
KTsKICAgICBVTlVTRURfUEFSQU0oY29udGV4dCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKaW5kZXggYTU2NDQ1ZjhlY2RkMGU4
OTc4MzE5MTg1NzA5M2RjMzQwYjAxNTcxNS4uZjdiZGE2Y2JmMzU3OTcwYzFhNTZlZWVmYWFjZGRj
YzQwOTNhMWE0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
clRpbWVsaW5lQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JUaW1lbGluZUFnZW50LmNwcApAQCAtMjk3LDExICsyOTcsMTIgQEAgdm9pZCBJbnNwZWN0b3JU
aW1lbGluZUFnZW50Ojp3aWxsUGFpbnQoRnJhbWUqIGZyYW1lKQogICAgIHB1c2hDdXJyZW50UmVj
b3JkKEluc3BlY3Rvck9iamVjdDo6Y3JlYXRlKCksIFRpbWVsaW5lUmVjb3JkVHlwZTo6UGFpbnQs
IHRydWUsIGZyYW1lLCB0cnVlKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50Ojpk
aWRQYWludChjb25zdCBMYXlvdXRSZWN0JiByZWN0KQordm9pZCBJbnNwZWN0b3JUaW1lbGluZUFn
ZW50OjpkaWRQYWludChGcmFtZSogZnJhbWUsIGNvbnN0IExheW91dFJlY3QmIHJlY3QpCiB7CiAg
ICAgVGltZWxpbmVSZWNvcmRFbnRyeSBlbnRyeSA9IG1fcmVjb3JkU3RhY2subGFzdCgpOwogICAg
IEFTU0VSVChlbnRyeS50eXBlID09IFRpbWVsaW5lUmVjb3JkVHlwZTo6UGFpbnQpOwotICAgIFRp
bWVsaW5lUmVjb3JkRmFjdG9yeTo6YWRkUmVjdERhdGEoZW50cnkuZGF0YS5nZXQoKSwgcmVjdCk7
CisgICAgTGF5b3V0UmVjdCByZWN0SW5Sb290Q29vcmRpbmF0ZXMgPSBmcmFtZS0+dmlldygpLT5j
b250ZW50c1RvUm9vdFZpZXcocGl4ZWxTbmFwcGVkSW50UmVjdChyZWN0KSk7CisgICAgVGltZWxp
bmVSZWNvcmRGYWN0b3J5OjphZGRSZWN0RGF0YShlbnRyeS5kYXRhLmdldCgpLCByZWN0SW5Sb290
Q29vcmRpbmF0ZXMpOwogICAgIGRpZENvbXBsZXRlQ3VycmVudFJlY29yZChUaW1lbGluZVJlY29y
ZFR5cGU6OlBhaW50KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JUaW1lbGluZUFnZW50LmgKaW5kZXggMmU0MDE1ZjY0YTEzMGQ0NjkxMTE4MzkyNTExMzU4
MTljMDM3Nzg0NS4uYjBkYTM1ZmNjNDQzYWU1ODEzNTFiOGFmMWNjNWFkOTVmZGNjNWRlNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5o
CkBAIC0xMjksNyArMTI5LDcgQEAgcHVibGljOgogICAgIHZvaWQgZGlkUmVjYWxjdWxhdGVTdHls
ZSgpOwogCiAgICAgdm9pZCB3aWxsUGFpbnQoRnJhbWUqKTsKLSAgICB2b2lkIGRpZFBhaW50KGNv
bnN0IExheW91dFJlY3QmKTsKKyAgICB2b2lkIGRpZFBhaW50KEZyYW1lKiwgY29uc3QgTGF5b3V0
UmVjdCYpOwogCiAgICAgdm9pZCB3aWxsU2Nyb2xsKEZyYW1lKik7CiAgICAgdm9pZCBkaWRTY3Jv
bGwoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAppbmRleCAwNDFlNGUzYTc1MDRlODc0ZDg4
YmM4YTc0MjY5Yzg3ODNmNTE5MjBlLi4wNzA3NWM5OTdkOTQ5ZGE3Nzc0ODk0NzU1YTNhOWNiNTBj
MTAzN2ZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCkBAIC0zMzU1LDcgKzMzNTUsNyBA
QCB2b2lkIEZyYW1lVmlldzo6cGFpbnRDb250ZW50cyhHcmFwaGljc0NvbnRleHQqIHAsIGNvbnN0
IEludFJlY3QmIHJlY3QpCiAgICAgaWYgKCFmcmFtZSgpKQogICAgICAgICByZXR1cm47CiAKLSAg
ICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgY29va2llID0gSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjp3aWxsUGFpbnQobV9mcmFtZS5nZXQoKSk7CisgICAgSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjp3aWxsUGFpbnQobV9mcmFtZS5nZXQoKSk7CiAKICAgICBEb2N1bWVudCogZG9j
dW1lbnQgPSBtX2ZyYW1lLT5kb2N1bWVudCgpOwogCkBAIC0zNDUwLDcgKzM0NTAsNyBAQCB2b2lk
IEZyYW1lVmlldzo6cGFpbnRDb250ZW50cyhHcmFwaGljc0NvbnRleHQqIHAsIGNvbnN0IEludFJl
Y3QmIHJlY3QpCiAgICAgaWYgKGlzVG9wTGV2ZWxQYWludGVyKQogICAgICAgICBzQ3VycmVudFBh
aW50VGltZVN0YW1wID0gMDsKIAotICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkUGFp
bnQoY29va2llLCBwLCByZWN0KTsKKyAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFBh
aW50KG1fZnJhbWUuZ2V0KCksIHAsIHJlY3QpOwogfQogCiB2b2lkIEZyYW1lVmlldzo6c2V0UGFp
bnRCZWhhdmlvcihQYWludEJlaGF2aW9yIGJlaGF2aW9yKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAppbmRleCBjZWU1YTBmYWNkMTA5YTZkYjlk
ZTI2ZTE5MDA1Y2MzOGI1ZjI4N2EwLi43MzdlNzhmMTIyZTllY2E2MDgzYmE0NTllNjI3Y2M1MGQ0
OTE5NGI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJC
YWNraW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNr
aW5nLmNwcApAQCAtMTg5NSw3ICsxODk1LDggQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnBh
aW50Q29udGVudHMoY29uc3QgR3JhcGhpY3NMYXllciogZ3JhcGhpY3NMYXllciwgR3JhcGgKICAg
ICAgICAgfHwgZ3JhcGhpY3NMYXllciA9PSBtX2JhY2tncm91bmRMYXllci5nZXQoKQogICAgICAg
ICB8fCBncmFwaGljc0xheWVyID09IG1fbWFza0xheWVyLmdldCgpCiAgICAgICAgIHx8IGdyYXBo
aWNzTGF5ZXIgPT0gbV9zY3JvbGxpbmdDb250ZW50c0xheWVyLmdldCgpKSB7Ci0gICAgICAgIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSBjb29raWUgPSBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OndpbGxQYWludChtX293bmluZ0xheWVyLT5yZW5kZXJlcigpLT5mcmFtZSgpKTsKKyAg
ICAgICAgRnJhbWUqIGZyYW1lID0gbV9vd25pbmdMYXllci0+cmVuZGVyZXIoKS0+ZnJhbWUoKTsK
KyAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsUGFpbnQoZnJhbWUpOwogCiAg
ICAgICAgIC8vIFRoZSBkaXJ0eVJlY3QgaXMgaW4gdGhlIGNvb3JkcyBvZiB0aGUgcGFpbnRpbmcg
cm9vdC4KICAgICAgICAgSW50UmVjdCBkaXJ0eVJlY3QgPSBjbGlwOwpAQCAtMTkwNiw5ICsxOTA3
LDkgQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnBhaW50Q29udGVudHMoY29uc3QgR3JhcGhp
Y3NMYXllciogZ3JhcGhpY3NMYXllciwgR3JhcGgKICAgICAgICAgcGFpbnRJbnRvTGF5ZXIoZ3Jh
cGhpY3NMYXllciwgJmNvbnRleHQsIGRpcnR5UmVjdCwgUGFpbnRCZWhhdmlvck5vcm1hbCwgcGFp
bnRpbmdQaGFzZSk7CiAKICAgICAgICAgaWYgKG1fdXNpbmdUaWxlZENhY2hlTGF5ZXIpCi0gICAg
ICAgICAgICBtX293bmluZ0xheWVyLT5yZW5kZXJlcigpLT5mcmFtZSgpLT52aWV3KCktPnNldExh
c3RQYWludFRpbWUoY3VycmVudFRpbWUoKSk7CisgICAgICAgICAgICBmcmFtZS0+dmlldygpLT5z
ZXRMYXN0UGFpbnRUaW1lKGN1cnJlbnRUaW1lKCkpOwogCi0gICAgICAgIEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbjo6ZGlkUGFpbnQoY29va2llLCAmY29udGV4dCwgY2xpcCk7CisgICAgICAgIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkUGFpbnQoZnJhbWUsICZjb250ZXh0LCBjbGlwKTsK
ICAgICB9IGVsc2UgaWYgKGdyYXBoaWNzTGF5ZXIgPT0gbGF5ZXJGb3JIb3Jpem9udGFsU2Nyb2xs
YmFyKCkpIHsKICAgICAgICAgcGFpbnRTY3JvbGxiYXIobV9vd25pbmdMYXllci0+aG9yaXpvbnRh
bFNjcm9sbGJhcigpLCBjb250ZXh0LCBjbGlwKTsKICAgICB9IGVsc2UgaWYgKGdyYXBoaWNzTGF5
ZXIgPT0gbGF5ZXJGb3JWZXJ0aWNhbFNjcm9sbGJhcigpKSB7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMjQ3NDlkMmY3Yjdh
ZWU1MDlmNjlhNWU5Mzg1OWZkMDc0NmI1ODdhNy4uM2M2NmFkOWNhZmIxN2UxOTE4YmIwMTRhYmFi
YWU4YmJjYTRiNGZlZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEzLTAzLTE5ICBBbmRyZXkg
S29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3Rvcjog
UGFpbnQgcmVjdGFuZ2xlcyBzaG93biBvbiBob3ZlciBvdmVyIFRpbWVsaW5lJ3MgcGFpbnQgcmVj
b3JkcyBvY2Nhc2lvbmFsbHkgaGF2ZSB3cm9uZyBvZmZzZXRzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTIzNzEKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0dHAvdGVzdHMvaW5zcGVjdG9yL3RpbWVs
aW5lLXRlc3QuanM6CisgICAgICAgIChpbml0aWFsaXplX1RpbWVsaW5lLkluc3BlY3RvclRlc3Qu
c3RhcnRUaW1lbGluZS5JbnNwZWN0b3JUZXN0Ll9hZGRUaW1lbGluZUV2ZW50KToKKyAgICAgICAg
KGluaXRpYWxpemVfVGltZWxpbmUuSW5zcGVjdG9yVGVzdC5zdGFydFRpbWVsaW5lKToKKyAgICAg
ICAgKGluaXRpYWxpemVfVGltZWxpbmUuYWRkRXZlbnQpOgorICAgICAgICAoaW5pdGlhbGl6ZV9U
aW1lbGluZS5hZGRSZWNvcmQpOgorICAgICAgICAoaW5pdGlhbGl6ZV9UaW1lbGluZS5JbnNwZWN0
b3JUZXN0LndhaXRGb3JSZWNvcmRUeXBlKToKKyAgICAgICAgKGluaXRpYWxpemVfVGltZWxpbmUu
SW5zcGVjdG9yVGVzdC5zdG9wVGltZWxpbmUpOgorICAgICAgICAqIGluc3BlY3Rvci90aW1lbGlu
ZS90aW1lbGluZS1wYWludC1leHBlY3RlZC50eHQ6CisgICAgICAgICogaW5zcGVjdG9yL3RpbWVs
aW5lL3RpbWVsaW5lLXBhaW50Lmh0bWw6CisKIDIwMTMtMDMtMTkgIFphbiBEb2JlcnNlayAgPHpk
b2JlcnNla0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgR1RLIGdhcmRlbmluZywK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lLXRl
c3QuanMgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci90aW1lbGluZS10ZXN0Lmpz
CmluZGV4IGVmZWYxMTFlNjhmNzVhODk0MTQ0NDkxNDFlMzM3MTBmOThmM2FhZWMuLjJjZWY4NmRh
YTM2YmVjMjU1YTFiNmEyMDhkZTc5MjBjOWRlZjdiZTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lLXRlc3QuanMKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUtdGVzdC5qcwpAQCAtMzYsMjUgKzM2LDMwIEBA
IEluc3BlY3RvclRlc3Quc3RhcnRUaW1lbGluZSA9IGZ1bmN0aW9uKGNhbGxiYWNrKQogICAgICAg
ICBmb3IgKHZhciBpID0gMDsgcmVjb3JkLmNoaWxkcmVuICYmIGkgPCByZWNvcmQuY2hpbGRyZW4u
bGVuZ3RoOyArK2kpCiAgICAgICAgICAgICBhZGRSZWNvcmQocmVjb3JkLmNoaWxkcmVuW2ldKTsK
ICAgICB9Ci0gICAgV2ViSW5zcGVjdG9yLnRpbWVsaW5lTWFuYWdlci5hZGRFdmVudExpc3RlbmVy
KFdlYkluc3BlY3Rvci5UaW1lbGluZU1hbmFnZXIuRXZlbnRUeXBlcy5UaW1lbGluZUV2ZW50UmVj
b3JkZWQsIGZ1bmN0aW9uKGV2ZW50KSB7CisgICAgSW5zcGVjdG9yVGVzdC5fYWRkVGltZWxpbmVF
dmVudCA9IGZ1bmN0aW9uKGV2ZW50KQorICAgIHsKICAgICAgICAgYWRkUmVjb3JkKGV2ZW50LmRh
dGEpOwotICAgIH0pOworICAgIH0KKyAgICBXZWJJbnNwZWN0b3IudGltZWxpbmVNYW5hZ2VyLmFk
ZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLlRpbWVsaW5lTWFuYWdlci5FdmVudFR5cGVzLlRp
bWVsaW5lRXZlbnRSZWNvcmRlZCwgSW5zcGVjdG9yVGVzdC5fYWRkVGltZWxpbmVFdmVudCk7CiB9
OwogCiAKIEluc3BlY3RvclRlc3Qud2FpdEZvclJlY29yZFR5cGUgPSBmdW5jdGlvbihyZWNvcmRU
eXBlLCBjYWxsYmFjaykKIHsKLSAgICBXZWJJbnNwZWN0b3IudGltZWxpbmVNYW5hZ2VyLmFkZEV2
ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLlRpbWVsaW5lTWFuYWdlci5FdmVudFR5cGVzLlRpbWVs
aW5lRXZlbnRSZWNvcmRlZCwgZnVuY3Rpb24oZXZlbnQpIHsKLSAgICAgICAgICAgIGFkZFJlY29y
ZChldmVudC5kYXRhKTsKLSAgICB9KTsKKyAgICBXZWJJbnNwZWN0b3IudGltZWxpbmVNYW5hZ2Vy
LmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLlRpbWVsaW5lTWFuYWdlci5FdmVudFR5cGVz
LlRpbWVsaW5lRXZlbnRSZWNvcmRlZCwgYWRkRXZlbnQpOwogCisgICAgZnVuY3Rpb24gYWRkRXZl
bnQoZXZlbnQpCisgICAgeworICAgICAgICBhZGRSZWNvcmQoZXZlbnQuZGF0YSk7CisgICAgfQog
ICAgIGZ1bmN0aW9uIGFkZFJlY29yZChyZWNvcmQpCiAgICAgewogICAgICAgICBpZiAocmVjb3Jk
LnR5cGUgIT09IFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsLlJlY29yZFR5cGVbcmVjb3JkVHlw
ZV0pIHsKICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyByZWNvcmQuY2hpbGRyZW4gJiYgaSA8
IHJlY29yZC5jaGlsZHJlbi5sZW5ndGg7ICsraSkKICAgICAgICAgICAgICAgICBhZGRSZWNvcmQo
cmVjb3JkLmNoaWxkcmVuW2ldKTsKLSAgICAgICAgICAgIHJldHVybiA7CisgICAgICAgICAgICBy
ZXR1cm47CiAgICAgICAgIH0KKyAgICAgICAgV2ViSW5zcGVjdG9yLnRpbWVsaW5lTWFuYWdlci5y
ZW1vdmVFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5UaW1lbGluZU1hbmFnZXIuRXZlbnRUeXBl
cy5UaW1lbGluZUV2ZW50UmVjb3JkZWQsIGFkZEV2ZW50KTsKICAgICAgICAgY2FsbGJhY2socmVj
b3JkKTsKICAgICB9CiB9CkBAIC02Myw2ICs2OCw3IEBAIEluc3BlY3RvclRlc3Quc3RvcFRpbWVs
aW5lID0gZnVuY3Rpb24oY2FsbGJhY2spCiB7CiAgICAgZnVuY3Rpb24gZGlkU3RvcCgpCiAgICAg
eworICAgICAgICBXZWJJbnNwZWN0b3IudGltZWxpbmVNYW5hZ2VyLnJlbW92ZUV2ZW50TGlzdGVu
ZXIoV2ViSW5zcGVjdG9yLlRpbWVsaW5lTWFuYWdlci5FdmVudFR5cGVzLlRpbWVsaW5lRXZlbnRS
ZWNvcmRlZCwgSW5zcGVjdG9yVGVzdC5fYWRkVGltZWxpbmVFdmVudCk7CiAgICAgICAgIFdlYklu
c3BlY3Rvci5wYW5lbCgidGltZWxpbmUiKS50b2dnbGVUaW1lbGluZUJ1dHRvbi50b2dnbGVkID0g
ZmFsc2U7CiAgICAgICAgIFdlYkluc3BlY3Rvci5wYW5lbCgidGltZWxpbmUiKS5fbW9kZWwuX2Nv
bGxlY3Rpb25FbmFibGVkID0gZmFsc2U7CiAgICAgICAgIGNhbGxiYWNrKEluc3BlY3RvclRlc3Qu
X3RpbWVsaW5lUmVjb3Jkcyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGlt
ZWxpbmUvcmVzb3VyY2VzL3RpbWVsaW5lLWlmcmFtZS1wYWludC5odG1sIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL3RpbWVsaW5lL3Jlc291cmNlcy90aW1lbGluZS1pZnJhbWUtcGFpbnQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yZWExN2M5YzBlZWUwOTkyNDkzNGRjYmY5ZTUzNGZmMjdlNGMwNjYyCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3Jlc291cmNlcy90
aW1lbGluZS1pZnJhbWUtcGFpbnQuaHRtbApAQCAtMCwwICsxLDYgQEAKKzxodG1sPgorPGhlYWQ+
Cis8Ym9keSBzdHlsZT0ibWFyZ2luOiAwIj4KKyAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OiBibG9j
azsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAxNXB4OyB0b3A6IDE1cHg7IHdpZHRoOiAyMHB4
OyBoZWlnaHQ6IDIwcHg7IGJhY2tncm91bmQtY29sb3I6IGJsdWUiPjwvZGl2PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVs
aW5lLXBhaW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90
aW1lbGluZS1wYWludC1leHBlY3RlZC50eHQKaW5kZXggOTU4MGZkYTUwN2ZhM2NmOTg2ZTk4MjM3
YTgyMDA2Y2Q5MDUxYWQ5Ny4uYzE0NWNkNTcwOTE1YjZlNDM2NjA4ZjdhZjU0NTVmODc0ZjI0Njk1
ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLXBh
aW50LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUvdGlt
ZWxpbmUtcGFpbnQtZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNiBAQAogVGVzdHMgdGhlIFRpbWVs
aW5lIEFQSSBpbnN0cnVtZW50YXRpb24gb2YgYSBwYWludCBldmVudAogCisKIFBhaW50IFByb3Bl
cnRpZXM6CiB7CiAgICAgY2hpbGRyZW4gOiA8b2JqZWN0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLXBhaW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtcGFpbnQuaHRtbAppbmRleCAxYTNmZDk2ZWQ2NDNi
NjFiMmU4Mjk4ODI5NWIwNmU4ODQ5ZTU0ZjkwLi5hNzYyODAwZDVjZDUzZjllMGEzNTZlODUxMzgy
N2RjODY4MzcyN2QxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUv
dGltZWxpbmUtcGFpbnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUv
dGltZWxpbmUtcGFpbnQuaHRtbApAQCAtNCwxOCArNCwyNSBAQAogPHNjcmlwdCBzcmM9Ii4uLy4u
L2h0dHAvdGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lLXRlc3QuanMiPjwvc2NyaXB0PgogPHNjcmlw
dD4KIAotZnVuY3Rpb24gcGVyZm9ybUFjdGlvbnMoKQorZnVuY3Rpb24gZGlzcGxheSgpCiB7CiAg
ICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQogICAgICAgICB0ZXN0UnVubmVyLmRpc3BsYXkoKTsK
IH0KIAorZnVuY3Rpb24gdXBkYXRlU3ViZnJhbWVBbmREaXNwbGF5KCkKK3sKKyAgICBmcmFtZXNb
MF0uZG9jdW1lbnQuYm9keS5jaGlsZHJlblswXS5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSAiZ3Jl
ZW4iOworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgdGVzdFJ1bm5lci5kaXNw
bGF5SW52YWxpZGF0ZWRSZWdpb24oKTsKK30KKwogZnVuY3Rpb24gdGVzdCgpCiB7CiAgICAgSW5z
cGVjdG9yVGVzdC5zdGFydFRpbWVsaW5lKHN0ZXAxKTsKICAgICBmdW5jdGlvbiBzdGVwMSgpCiAg
ICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJwZXJmb3JtQWN0aW9u
cygpIiwgc3RlcDIpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJkaXNw
bGF5KCkiLCBzdGVwMik7CiAgICAgfQogCiAgICAgZnVuY3Rpb24gc3RlcDIoKQpAQCAtMzIsNiAr
MzksMzUgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
ICAgICB9CiAgICAgICAgIH0KKyAgICAgICAgSW5zcGVjdG9yVGVzdC5zdGFydFRpbWVsaW5lKHN0
ZXA0KTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwNCgpCisgICAgeworICAgICAgICBJbnNw
ZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJ1cGRhdGVTdWJmcmFtZUFuZERpc3BsYXkoKSIsIHN0
ZXA1KTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVwNSgpCisgICAgeworICAgICAgICBJbnNw
ZWN0b3JUZXN0LnN0b3BUaW1lbGluZShzdGVwNik7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3Rl
cDYocmVjb3JkcykKKyAgICB7CisgICAgICAgIHZhciBwYWludFJlY29yZDsKKyAgICAgICAgZm9y
ICh2YXIgaSA9IDA7IGkgPCByZWNvcmRzLmxlbmd0aDsgKytpKSB7CisgICAgICAgICAgICB2YXIg
cmVjb3JkID0gcmVjb3Jkc1tpXTsKKyAgICAgICAgICAgIGlmIChyZWNvcmQudHlwZSA9PT0gV2Vi
SW5zcGVjdG9yLlRpbWVsaW5lTW9kZWwuUmVjb3JkVHlwZS5QYWludCAmJiByZWNvcmQuY2hpbGRy
ZW4gJiYgcmVjb3JkLmNoaWxkcmVuLmxlbmd0aCkgeworICAgICAgICAgICAgICAgIHBhaW50UmVj
b3JkID0gcmVjb3JkOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAg
ICAgICB9CisgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0VHJ1ZShwYWludFJlY29yZCwgIlBh
aW50IHJlY29yZCB3aXRoIHN1YmZyYW1lIHBhaW50IG5vdCBmb3VuZCIpOworICAgICAgICB2YXIg
c3ViZnJhbWVQYWludCA9IHBhaW50UmVjb3JkLmNoaWxkcmVuWzBdOworICAgICAgICBJbnNwZWN0
b3JUZXN0LmFzc2VydEdyZWF0ZXJPckVxdWFsKHN1YmZyYW1lUGFpbnQuZGF0YS54LCBwYWludFJl
Y29yZC5kYXRhLngpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydEdyZWF0ZXJPckVxdWFs
KHN1YmZyYW1lUGFpbnQuZGF0YS55LCBwYWludFJlY29yZC5kYXRhLnkpOworICAgICAgICBJbnNw
ZWN0b3JUZXN0LmFzc2VydEdyZWF0ZXJPckVxdWFsKHBhaW50UmVjb3JkLmRhdGEueCArIHBhaW50
UmVjb3JkLmRhdGEud2lkdGgsIHN1YmZyYW1lUGFpbnQuZGF0YS54ICsgc3ViZnJhbWVQYWludC5k
YXRhLndpZHRoKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRHcmVhdGVyT3JFcXVhbChw
YWludFJlY29yZC5kYXRhLnkgKyBwYWludFJlY29yZC5kYXRhLmhlaWdodCwgc3ViZnJhbWVQYWlu
dC5kYXRhLnkgKyBzdWJmcmFtZVBhaW50LmRhdGEuaGVpZ2h0KTsKICAgICAgICAgSW5zcGVjdG9y
VGVzdC5jb21wbGV0ZVRlc3QoKTsKICAgICB9CiB9CkBAIC00Myw2ICs3OSw2IEBAIGZ1bmN0aW9u
IHRlc3QoKQogPHA+CiBUZXN0cyB0aGUgVGltZWxpbmUgQVBJIGluc3RydW1lbnRhdGlvbiBvZiBh
IHBhaW50IGV2ZW50CiA8L3A+Ci0KKzxpZnJhbWUgc3JjPSJyZXNvdXJjZXMvdGltZWxpbmUtaWZy
YW1lLXBhaW50Lmh0bWwiIHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDQwcHg7IHRv
cDogNDBweDsgd2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyBib3JkZXI6IG5vbmUiPjwvaWZy
YW1lPgogPC9ib2R5PgogPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>194023</attachid>
            <date>2013-03-20 04:39:31 -0700</date>
            <delta_ts>2013-03-20 23:04:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112371-20130320153520.patch</filename>
            <type>text/plain</type>
            <size>12633</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2MzIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmRkMjUzYWY0ZGFiNDky
ZGFmNGI1MzBiYjg0NGExMWM1OTdiOGQwNi4uZTI3ZDI3MzI2NGUzNThmNjE5ZDc1YTliYTFkOTY0
YjJiM2RlNGZiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEzLTAzLTE4ICBBbmRy
ZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogUGFpbnQgcmVjdGFuZ2xlcyBzaG93biBvbiBob3ZlciBvdmVyIFRpbWVsaW5lJ3MgcGFpbnQg
cmVjb3JkcyBvY2Nhc2lvbmFsbHkgaGF2ZSB3cm9uZyBvZmZzZXRzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTIzNzEKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAtIHBhc3MgZnJhbWUgdG8gSW5zcGVjdG9y
VGltZWxpbmVBZ2VudDo6ZGlkUGFpbnQoKTsKKyAgICAgICAgLSBjb252ZXJ0IHBhaW50IGNvb3Jk
aW5hdGVzIHRvIHJvb3Qgdmlldy4KKworICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JJbnN0
cnVtZW50YXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxQYWludEltcGwpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRQYWludEltcGwpOgorICAgICAgICAqIGlu
c3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaDoKKyAgICAgICAgKEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246OndpbGxQYWludCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246OmRpZFBhaW50KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2Vu
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JUaW1lbGluZUFnZW50OjpkaWRQYWlu
dCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaDoKKyAgICAg
ICAgKEluc3BlY3RvclRpbWVsaW5lQWdlbnQpOgorCiAyMDEzLTAzLTIwICBBbmRyZXkgS29zeWFr
b3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogZG8gbm90
IHVzZSBpbnNwZWN0b3IgY29va2llIGluIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6e3dpbGws
ZGlkfVBhaW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb24uY3BwCmluZGV4IDFiMzkyYzM2ODJkMjI4Mjc1OTM0MDg1MzJlMTNlNzM2
ZmQxMGUzN2QuLmNjY2JmZTlhZWE5YjlmNGI4NjBjYTY3MzI5N2U3NTgyNTkwOTc0NWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRp
b24uY3BwCkBAIC01MzUsMTAgKzUzNSwxMCBAQCB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6d2lsbFBhaW50SW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQQogICAg
ICAgICB0aW1lbGluZUFnZW50LT53aWxsUGFpbnQoZnJhbWUpOwogfQogCi12b2lkIEluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6ZGlkUGFpbnRJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqICBpbnN0
cnVtZW50aW5nQWdlbnRzLCBHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IExheW91dFJl
Y3QmIHJlY3QpCit2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkUGFpbnRJbXBsKElu
c3RydW1lbnRpbmdBZ2VudHMqICBpbnN0cnVtZW50aW5nQWdlbnRzLCBGcmFtZSogZnJhbWUsIEdy
YXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgTGF5b3V0UmVjdCYgcmVjdCkKIHsKICAgICBp
ZiAoSW5zcGVjdG9yVGltZWxpbmVBZ2VudCogdGltZWxpbmVBZ2VudCA9IGluc3RydW1lbnRpbmdB
Z2VudHMtPmluc3BlY3RvclRpbWVsaW5lQWdlbnQoKSkKLSAgICAgICAgdGltZWxpbmVBZ2VudC0+
ZGlkUGFpbnQocmVjdCk7CisgICAgICAgIHRpbWVsaW5lQWdlbnQtPmRpZFBhaW50KGZyYW1lLCBy
ZWN0KTsKICAgICBpZiAoSW5zcGVjdG9yUGFnZUFnZW50KiBwYWdlQWdlbnQgPSBpbnN0cnVtZW50
aW5nQWdlbnRzLT5pbnNwZWN0b3JQYWdlQWdlbnQoKSkKICAgICAgICAgcGFnZUFnZW50LT5kaWRQ
YWludChjb250ZXh0LCByZWN0KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaAppbmRleCA4ZDU4MmFhMmUwOGZjZWExODZhYjJh
NWMzZjQxYWE5YzBkYmZjZjE4Li41NmU1ZTBkYmU3OWFhZDc4OWYwNDBkNDg4Yjk4NGNiMzI5ZGNh
YjM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbi5oCkBAIC0zNzQsNyArMzc0LDcgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgdm9p
ZCB3aWxsU2Nyb2xsTGF5ZXJJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqLCBGcmFtZSopOwogICAg
IHN0YXRpYyB2b2lkIGRpZFNjcm9sbExheWVySW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKik7CiAg
ICAgc3RhdGljIHZvaWQgd2lsbFBhaW50SW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgRnJhbWUq
KTsKLSAgICBzdGF0aWMgdm9pZCBkaWRQYWludEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIEdy
YXBoaWNzQ29udGV4dCosIGNvbnN0IExheW91dFJlY3QmKTsKKyAgICBzdGF0aWMgdm9pZCBkaWRQ
YWludEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIEZyYW1lKiwgR3JhcGhpY3NDb250ZXh0Kiwg
Y29uc3QgTGF5b3V0UmVjdCYpOwogICAgIHN0YXRpYyBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25D
b29raWUgd2lsbFJlY2FsY3VsYXRlU3R5bGVJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqLCBGcmFt
ZSopOwogICAgIHN0YXRpYyB2b2lkIGRpZFJlY2FsY3VsYXRlU3R5bGVJbXBsKGNvbnN0IEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSYpOwogICAgIHN0YXRpYyB2b2lkIGRpZFNjaGVkdWxl
U3R5bGVSZWNhbGN1bGF0aW9uSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgRG9jdW1lbnQqKTsK
QEAgLTExMTcsNyArMTExNyw3IEBAIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6ZGlkUGFpbnQoRnJhbWUqIGZyYW1lLCBHcmFwaGljc0NvbnRleHQqIGNvCiAjaWYgRU5BQkxF
KElOU1BFQ1RPUikKICAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFModm9pZCgpKTsKICAg
ICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1l
bnRpbmdBZ2VudHNGb3JGcmFtZShmcmFtZSkpCi0gICAgICAgIGRpZFBhaW50SW1wbChpbnN0cnVt
ZW50aW5nQWdlbnRzLCBjb250ZXh0LCByZWN0KTsKKyAgICAgICAgZGlkUGFpbnRJbXBsKGluc3Ry
dW1lbnRpbmdBZ2VudHMsIGZyYW1lLCBjb250ZXh0LCByZWN0KTsKICNlbHNlCiAgICAgVU5VU0VE
X1BBUkFNKGZyYW1lKTsKICAgICBVTlVTRURfUEFSQU0oY29udGV4dCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGltZWxpbmVBZ2VudC5jcHAKaW5kZXggYTU2
NDQ1ZjhlY2RkMGU4OTc4MzE5MTg1NzA5M2RjMzQwYjAxNTcxNS4uZjdiZGE2Y2JmMzU3OTcwYzFh
NTZlZWVmYWFjZGRjYzQwOTNhMWE0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmNwcApAQCAtMjk3LDExICsyOTcsMTIgQEAgdm9p
ZCBJbnNwZWN0b3JUaW1lbGluZUFnZW50Ojp3aWxsUGFpbnQoRnJhbWUqIGZyYW1lKQogICAgIHB1
c2hDdXJyZW50UmVjb3JkKEluc3BlY3Rvck9iamVjdDo6Y3JlYXRlKCksIFRpbWVsaW5lUmVjb3Jk
VHlwZTo6UGFpbnQsIHRydWUsIGZyYW1lLCB0cnVlKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JUaW1l
bGluZUFnZW50OjpkaWRQYWludChjb25zdCBMYXlvdXRSZWN0JiByZWN0KQordm9pZCBJbnNwZWN0
b3JUaW1lbGluZUFnZW50OjpkaWRQYWludChGcmFtZSogZnJhbWUsIGNvbnN0IExheW91dFJlY3Qm
IHJlY3QpCiB7CiAgICAgVGltZWxpbmVSZWNvcmRFbnRyeSBlbnRyeSA9IG1fcmVjb3JkU3RhY2su
bGFzdCgpOwogICAgIEFTU0VSVChlbnRyeS50eXBlID09IFRpbWVsaW5lUmVjb3JkVHlwZTo6UGFp
bnQpOwotICAgIFRpbWVsaW5lUmVjb3JkRmFjdG9yeTo6YWRkUmVjdERhdGEoZW50cnkuZGF0YS5n
ZXQoKSwgcmVjdCk7CisgICAgTGF5b3V0UmVjdCByZWN0SW5Sb290Q29vcmRpbmF0ZXMgPSBmcmFt
ZS0+dmlldygpLT5jb250ZW50c1RvUm9vdFZpZXcocGl4ZWxTbmFwcGVkSW50UmVjdChyZWN0KSk7
CisgICAgVGltZWxpbmVSZWNvcmRGYWN0b3J5OjphZGRSZWN0RGF0YShlbnRyeS5kYXRhLmdldCgp
LCByZWN0SW5Sb290Q29vcmRpbmF0ZXMpOwogICAgIGRpZENvbXBsZXRlQ3VycmVudFJlY29yZChU
aW1lbGluZVJlY29yZFR5cGU6OlBhaW50KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvclRpbWVsaW5lQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JUaW1lbGluZUFnZW50LmgKaW5kZXggMmU0MDE1ZjY0YTEzMGQ0Njkx
MTE4MzkyNTExMzU4MTljMDM3Nzg0NS4uYjBkYTM1ZmNjNDQzYWU1ODEzNTFiOGFmMWNjNWFkOTVm
ZGNjNWRlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclRp
bWVsaW5lQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yVGlt
ZWxpbmVBZ2VudC5oCkBAIC0xMjksNyArMTI5LDcgQEAgcHVibGljOgogICAgIHZvaWQgZGlkUmVj
YWxjdWxhdGVTdHlsZSgpOwogCiAgICAgdm9pZCB3aWxsUGFpbnQoRnJhbWUqKTsKLSAgICB2b2lk
IGRpZFBhaW50KGNvbnN0IExheW91dFJlY3QmKTsKKyAgICB2b2lkIGRpZFBhaW50KEZyYW1lKiwg
Y29uc3QgTGF5b3V0UmVjdCYpOwogCiAgICAgdm9pZCB3aWxsU2Nyb2xsKEZyYW1lKik7CiAgICAg
dm9pZCBkaWRTY3JvbGwoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA5ZmU2ZTM0ZmY1NDQ1YTAyMTgwMmM3YzM5ZDBkMDEz
ZDA5Y2ZmZTAwLi44MzQxMjBjYjZmODdjNDE1MjRlZjg5ZTEzN2YxNzA5ZDBlN2RlYmZkIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMjAgQEAKKzIwMTMtMDMtMTkgIEFuZHJleSBLb3N5YWtvdiAgPGNhc2VxQGNo
cm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBQYWludCByZWN0YW5nbGVzIHNo
b3duIG9uIGhvdmVyIG92ZXIgVGltZWxpbmUncyBwYWludCByZWNvcmRzIG9jY2FzaW9uYWxseSBo
YXZlIHdyb25nIG9mZnNldHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTExMjM3MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvdGltZWxpbmUtdGVzdC5qczoKKyAgICAg
ICAgKGluaXRpYWxpemVfVGltZWxpbmUuSW5zcGVjdG9yVGVzdC5zdGFydFRpbWVsaW5lLkluc3Bl
Y3RvclRlc3QuX2FkZFRpbWVsaW5lRXZlbnQpOgorICAgICAgICAoaW5pdGlhbGl6ZV9UaW1lbGlu
ZS5JbnNwZWN0b3JUZXN0LnN0YXJ0VGltZWxpbmUpOgorICAgICAgICAoaW5pdGlhbGl6ZV9UaW1l
bGluZS5hZGRFdmVudCk6CisgICAgICAgIChpbml0aWFsaXplX1RpbWVsaW5lLmFkZFJlY29yZCk6
CisgICAgICAgIChpbml0aWFsaXplX1RpbWVsaW5lLkluc3BlY3RvclRlc3Qud2FpdEZvclJlY29y
ZFR5cGUpOgorICAgICAgICAoaW5pdGlhbGl6ZV9UaW1lbGluZS5JbnNwZWN0b3JUZXN0LnN0b3BU
aW1lbGluZSk6CisgICAgICAgICogaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLXBhaW50LWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBpbnNwZWN0b3IvdGltZWxpbmUvdGltZWxpbmUtcGFpbnQu
aHRtbDoKKwogMjAxMy0wMy0yMCAgS3J6eXN6dG9mIEN6ZWNoICA8ay5jemVjaEBzYW1zdW5nLmNv
bT4KIAogICAgICAgICBbRUZMXSBhY2Nlc3NpYmlsaXR5L2FyaWEtc2Nyb2xsYmFyLXJvbGUuaHRt
bCBpcyBmYWlsaW5nCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rv
ci90aW1lbGluZS10ZXN0LmpzIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvdGlt
ZWxpbmUtdGVzdC5qcwppbmRleCBlZmVmMTExZTY4Zjc1YTg5NDE0NDQ5MTQxZTMzNzEwZjk4ZjNh
YWVjLi4yY2VmODZkYWEzNmJlYzI1NWExYjZhMjA4ZGU3OTIwYzlkZWY3YmUxIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci90aW1lbGluZS10ZXN0LmpzCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lLXRlc3QuanMKQEAgLTM2
LDI1ICszNiwzMCBAQCBJbnNwZWN0b3JUZXN0LnN0YXJ0VGltZWxpbmUgPSBmdW5jdGlvbihjYWxs
YmFjaykKICAgICAgICAgZm9yICh2YXIgaSA9IDA7IHJlY29yZC5jaGlsZHJlbiAmJiBpIDwgcmVj
b3JkLmNoaWxkcmVuLmxlbmd0aDsgKytpKQogICAgICAgICAgICAgYWRkUmVjb3JkKHJlY29yZC5j
aGlsZHJlbltpXSk7CiAgICAgfQotICAgIFdlYkluc3BlY3Rvci50aW1lbGluZU1hbmFnZXIuYWRk
RXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuVGltZWxpbmVNYW5hZ2VyLkV2ZW50VHlwZXMuVGlt
ZWxpbmVFdmVudFJlY29yZGVkLCBmdW5jdGlvbihldmVudCkgeworICAgIEluc3BlY3RvclRlc3Qu
X2FkZFRpbWVsaW5lRXZlbnQgPSBmdW5jdGlvbihldmVudCkKKyAgICB7CiAgICAgICAgIGFkZFJl
Y29yZChldmVudC5kYXRhKTsKLSAgICB9KTsKKyAgICB9CisgICAgV2ViSW5zcGVjdG9yLnRpbWVs
aW5lTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5UaW1lbGluZU1hbmFnZXIu
RXZlbnRUeXBlcy5UaW1lbGluZUV2ZW50UmVjb3JkZWQsIEluc3BlY3RvclRlc3QuX2FkZFRpbWVs
aW5lRXZlbnQpOwogfTsKIAogCiBJbnNwZWN0b3JUZXN0LndhaXRGb3JSZWNvcmRUeXBlID0gZnVu
Y3Rpb24ocmVjb3JkVHlwZSwgY2FsbGJhY2spCiB7Ci0gICAgV2ViSW5zcGVjdG9yLnRpbWVsaW5l
TWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5UaW1lbGluZU1hbmFnZXIuRXZl
bnRUeXBlcy5UaW1lbGluZUV2ZW50UmVjb3JkZWQsIGZ1bmN0aW9uKGV2ZW50KSB7Ci0gICAgICAg
ICAgICBhZGRSZWNvcmQoZXZlbnQuZGF0YSk7Ci0gICAgfSk7CisgICAgV2ViSW5zcGVjdG9yLnRp
bWVsaW5lTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5UaW1lbGluZU1hbmFn
ZXIuRXZlbnRUeXBlcy5UaW1lbGluZUV2ZW50UmVjb3JkZWQsIGFkZEV2ZW50KTsKIAorICAgIGZ1
bmN0aW9uIGFkZEV2ZW50KGV2ZW50KQorICAgIHsKKyAgICAgICAgYWRkUmVjb3JkKGV2ZW50LmRh
dGEpOworICAgIH0KICAgICBmdW5jdGlvbiBhZGRSZWNvcmQocmVjb3JkKQogICAgIHsKICAgICAg
ICAgaWYgKHJlY29yZC50eXBlICE9PSBXZWJJbnNwZWN0b3IuVGltZWxpbmVNb2RlbC5SZWNvcmRU
eXBlW3JlY29yZFR5cGVdKSB7CiAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgcmVjb3JkLmNo
aWxkcmVuICYmIGkgPCByZWNvcmQuY2hpbGRyZW4ubGVuZ3RoOyArK2kpCiAgICAgICAgICAgICAg
ICAgYWRkUmVjb3JkKHJlY29yZC5jaGlsZHJlbltpXSk7Ci0gICAgICAgICAgICByZXR1cm4gOwor
ICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CisgICAgICAgIFdlYkluc3BlY3Rvci50aW1l
bGluZU1hbmFnZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuVGltZWxpbmVNYW5h
Z2VyLkV2ZW50VHlwZXMuVGltZWxpbmVFdmVudFJlY29yZGVkLCBhZGRFdmVudCk7CiAgICAgICAg
IGNhbGxiYWNrKHJlY29yZCk7CiAgICAgfQogfQpAQCAtNjMsNiArNjgsNyBAQCBJbnNwZWN0b3JU
ZXN0LnN0b3BUaW1lbGluZSA9IGZ1bmN0aW9uKGNhbGxiYWNrKQogewogICAgIGZ1bmN0aW9uIGRp
ZFN0b3AoKQogICAgIHsKKyAgICAgICAgV2ViSW5zcGVjdG9yLnRpbWVsaW5lTWFuYWdlci5yZW1v
dmVFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5UaW1lbGluZU1hbmFnZXIuRXZlbnRUeXBlcy5U
aW1lbGluZUV2ZW50UmVjb3JkZWQsIEluc3BlY3RvclRlc3QuX2FkZFRpbWVsaW5lRXZlbnQpOwog
ICAgICAgICBXZWJJbnNwZWN0b3IucGFuZWwoInRpbWVsaW5lIikudG9nZ2xlVGltZWxpbmVCdXR0
b24udG9nZ2xlZCA9IGZhbHNlOwogICAgICAgICBXZWJJbnNwZWN0b3IucGFuZWwoInRpbWVsaW5l
IikuX21vZGVsLl9jb2xsZWN0aW9uRW5hYmxlZCA9IGZhbHNlOwogICAgICAgICBjYWxsYmFjayhJ
bnNwZWN0b3JUZXN0Ll90aW1lbGluZVJlY29yZHMpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL3RpbWVsaW5lL3Jlc291cmNlcy90aW1lbGluZS1pZnJhbWUtcGFpbnQuaHRtbCBi
L0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS9yZXNvdXJjZXMvdGltZWxpbmUtaWZyYW1l
LXBhaW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmVhMTdjOWMwZWVlMDk5MjQ5MzRkY2JmOWU1MzRmZjI3
ZTRjMDY2MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGlu
ZS9yZXNvdXJjZXMvdGltZWxpbmUtaWZyYW1lLXBhaW50Lmh0bWwKQEAgLTAsMCArMSw2IEBACis8
aHRtbD4KKzxoZWFkPgorPGJvZHkgc3R5bGU9Im1hcmdpbjogMCI+CisgICAgPGRpdiBzdHlsZT0i
ZGlzcGxheTogYmxvY2s7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogMTVweDsgdG9wOiAxNXB4
OyB3aWR0aDogMjBweDsgaGVpZ2h0OiAyMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlIj48L2Rp
dj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90
aW1lbGluZS90aW1lbGluZS1wYWludC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvdGltZWxpbmUvdGltZWxpbmUtcGFpbnQtZXhwZWN0ZWQudHh0CmluZGV4IDk1ODBmZGE1MDdm
YTNjZjk4NmU5ODIzN2E4MjAwNmNkOTA1MWFkOTcuLmMxNDVjZDU3MDkxNWI2ZTQzNjYwOGY3YWY1
NDU1Zjg3NGYyNDY5NWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGlu
ZS90aW1lbGluZS1wYWludC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L3RpbWVsaW5lL3RpbWVsaW5lLXBhaW50LWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDYgQEAKIFRl
c3RzIHRoZSBUaW1lbGluZSBBUEkgaW5zdHJ1bWVudGF0aW9uIG9mIGEgcGFpbnQgZXZlbnQKIAor
CiBQYWludCBQcm9wZXJ0aWVzOgogewogICAgIGNoaWxkcmVuIDogPG9iamVjdD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci90aW1lbGluZS90aW1lbGluZS1wYWludC5odG1sIGIv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL3RpbWVsaW5lL3RpbWVsaW5lLXBhaW50Lmh0bWwKaW5kZXgg
MWEzZmQ5NmVkNjQzYjYxYjJlODI5ODgyOTViMDZlODg0OWU1NGY5MC4uYTc2MjgwMGQ1Y2Q1M2Y5
ZTBhMzU2ZTg1MTM4MjdkYzg2ODM3MjdkMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL3RpbWVsaW5lL3RpbWVsaW5lLXBhaW50Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL3RpbWVsaW5lL3RpbWVsaW5lLXBhaW50Lmh0bWwKQEAgLTQsMTggKzQsMjUgQEAKIDxzY3Jp
cHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci90aW1lbGluZS10ZXN0LmpzIj48L3Nj
cmlwdD4KIDxzY3JpcHQ+CiAKLWZ1bmN0aW9uIHBlcmZvcm1BY3Rpb25zKCkKK2Z1bmN0aW9uIGRp
c3BsYXkoKQogewogICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICAgICAgdGVzdFJ1bm5l
ci5kaXNwbGF5KCk7CiB9CiAKK2Z1bmN0aW9uIHVwZGF0ZVN1YmZyYW1lQW5kRGlzcGxheSgpCit7
CisgICAgZnJhbWVzWzBdLmRvY3VtZW50LmJvZHkuY2hpbGRyZW5bMF0uc3R5bGUuYmFja2dyb3Vu
ZENvbG9yID0gImdyZWVuIjsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRl
c3RSdW5uZXIuZGlzcGxheUludmFsaWRhdGVkUmVnaW9uKCk7Cit9CisKIGZ1bmN0aW9uIHRlc3Qo
KQogewogICAgIEluc3BlY3RvclRlc3Quc3RhcnRUaW1lbGluZShzdGVwMSk7CiAgICAgZnVuY3Rp
b24gc3RlcDEoKQogICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgi
cGVyZm9ybUFjdGlvbnMoKSIsIHN0ZXAyKTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0
ZUluUGFnZSgiZGlzcGxheSgpIiwgc3RlcDIpOwogICAgIH0KIAogICAgIGZ1bmN0aW9uIHN0ZXAy
KCkKQEAgLTMyLDYgKzM5LDM1IEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICAgICAgfQogICAgICAgICB9CisgICAgICAgIEluc3BlY3RvclRlc3Quc3Rh
cnRUaW1lbGluZShzdGVwNCk7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDQoKQorICAgIHsK
KyAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0ZUluUGFnZSgidXBkYXRlU3ViZnJhbWVBbmRE
aXNwbGF5KCkiLCBzdGVwNSk7CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDUoKQorICAgIHsK
KyAgICAgICAgSW5zcGVjdG9yVGVzdC5zdG9wVGltZWxpbmUoc3RlcDYpOworICAgIH0KKworICAg
IGZ1bmN0aW9uIHN0ZXA2KHJlY29yZHMpCisgICAgeworICAgICAgICB2YXIgcGFpbnRSZWNvcmQ7
CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcmVjb3Jkcy5sZW5ndGg7ICsraSkgeworICAg
ICAgICAgICAgdmFyIHJlY29yZCA9IHJlY29yZHNbaV07CisgICAgICAgICAgICBpZiAocmVjb3Jk
LnR5cGUgPT09IFdlYkluc3BlY3Rvci5UaW1lbGluZU1vZGVsLlJlY29yZFR5cGUuUGFpbnQgJiYg
cmVjb3JkLmNoaWxkcmVuICYmIHJlY29yZC5jaGlsZHJlbi5sZW5ndGgpIHsKKyAgICAgICAgICAg
ICAgICBwYWludFJlY29yZCA9IHJlY29yZDsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydFRydWUocGFp
bnRSZWNvcmQsICJQYWludCByZWNvcmQgd2l0aCBzdWJmcmFtZSBwYWludCBub3QgZm91bmQiKTsK
KyAgICAgICAgdmFyIHN1YmZyYW1lUGFpbnQgPSBwYWludFJlY29yZC5jaGlsZHJlblswXTsKKyAg
ICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRHcmVhdGVyT3JFcXVhbChzdWJmcmFtZVBhaW50LmRh
dGEueCwgcGFpbnRSZWNvcmQuZGF0YS54KTsKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRH
cmVhdGVyT3JFcXVhbChzdWJmcmFtZVBhaW50LmRhdGEueSwgcGFpbnRSZWNvcmQuZGF0YS55KTsK
KyAgICAgICAgSW5zcGVjdG9yVGVzdC5hc3NlcnRHcmVhdGVyT3JFcXVhbChwYWludFJlY29yZC5k
YXRhLnggKyBwYWludFJlY29yZC5kYXRhLndpZHRoLCBzdWJmcmFtZVBhaW50LmRhdGEueCArIHN1
YmZyYW1lUGFpbnQuZGF0YS53aWR0aCk7CisgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0R3Jl
YXRlck9yRXF1YWwocGFpbnRSZWNvcmQuZGF0YS55ICsgcGFpbnRSZWNvcmQuZGF0YS5oZWlnaHQs
IHN1YmZyYW1lUGFpbnQuZGF0YS55ICsgc3ViZnJhbWVQYWludC5kYXRhLmhlaWdodCk7CiAgICAg
ICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CiAgICAgfQogfQpAQCAtNDMsNiArNzks
NiBAQCBmdW5jdGlvbiB0ZXN0KCkKIDxwPgogVGVzdHMgdGhlIFRpbWVsaW5lIEFQSSBpbnN0cnVt
ZW50YXRpb24gb2YgYSBwYWludCBldmVudAogPC9wPgotCis8aWZyYW1lIHNyYz0icmVzb3VyY2Vz
L3RpbWVsaW5lLWlmcmFtZS1wYWludC5odG1sIiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBs
ZWZ0OiA0MHB4OyB0b3A6IDQwcHg7IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgYm9yZGVy
OiBub25lIj48L2lmcmFtZT4KIDwvYm9keT4KIDwvaHRtbD4K
</data>
<flag name="review"
          id="215714"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>