<?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>124651</bug_id>
          
          <creation_ts>2013-11-20 03:27:06 -0800</creation_ts>
          <short_desc>Don&apos;t paint simple text runs outside the paint rect</short_desc>
          <delta_ts>2013-11-20 07:12:06 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>952528</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-11-20 03:27:06 -0800</bug_when>
    <thetext>optimize</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>952532</commentid>
    <comment_count>1</comment_count>
      <attachid>217416</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-11-20 03:43:51 -0800</bug_when>
    <thetext>Created attachment 217416
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>952555</commentid>
    <comment_count>2</comment_count>
      <attachid>217416</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2013-11-20 06:53:19 -0800</bug_when>
    <thetext>Comment on attachment 217416
patch

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

&gt; Source/WebCore/rendering/SimpleLineLayoutFunctions.cpp:90
&gt;          auto run = *it;

I think this copies the run. Maybe it should be const auto&amp; instead?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>952560</commentid>
    <comment_count>3</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-11-20 07:12:06 -0800</bug_when>
    <thetext>https://trac.webkit.org/r159560</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>217416</attachid>
            <date>2013-11-20 03:43:51 -0800</date>
            <delta_ts>2013-11-20 06:53:18 -0800</delta_ts>
            <desc>patch</desc>
            <filename>simple-line-ranges.patch</filename>
            <type>text/plain</type>
            <size>9683</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1OTU1OCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ4IEBACisyMDEzLTExLTIwICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBEb24ndCBwYWludCBzaW1wbGUg
dGV4dCBydW5zIG91dHNpZGUgdGhlIHBhaW50IHJlY3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNDY1MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAgVGhpcyBzcGVlZHMgdXAgcGFydGlhbCBw
YWludHMgZm9yIGxvbmcgdGV4dCBwYXJhZ3JhcGhzLiAKKyAgICAgICAgQWxzbyBhZGQgdGhlIHNh
bWUgb3B0aW1pemF0aW9uIGZvciBoaXQgdGVzdGluZy4KKworICAgICAgICAqIHJlbmRlcmluZy9T
aW1wbGVMaW5lTGF5b3V0RnVuY3Rpb25zLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUxp
bmVMYXlvdXQ6OnBhaW50Rmxvdyk6CisgICAgICAgIAorICAgICAgICAgICAgSXRlcmF0ZSBvdmVy
IHRoZSBydW4gcmFuZ2UgdGhhdCBuZWVkcyBwYWludGluZy4KKworICAgICAgICAoV2ViQ29yZTo6
U2ltcGxlTGluZUxheW91dDo6aGl0VGVzdEZsb3cpOgorICAgICAgICAKKyAgICAgICAgICAgIEl0
ZXJhdGUgb3ZlciB0aGUgbGluZSByYW5nZSB0aGF0IG5lZWRzIHBhaW50aW5nLgorCisgICAgICAg
ICogcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXRSZXNvbHZlci5oOgorICAgICAgICAoV2ViQ29y
ZTo6U2ltcGxlTGluZUxheW91dDo6UmFuZ2U6OlJhbmdlKToKKyAgICAgICAgKFdlYkNvcmU6OlNp
bXBsZUxpbmVMYXlvdXQ6OlJhbmdlOjpiZWdpbik6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVM
aW5lTGF5b3V0OjpSYW5nZTo6ZW5kKToKKyAgICAgICAgCisgICAgICAgICAgICBBZGQgUmFuZ2Ug
dHlwZS4KKworICAgICAgICAoV2ViQ29yZTo6U2ltcGxlTGluZUxheW91dDo6UnVuUmVzb2x2ZXI6
Okl0ZXJhdG9yOjpJdGVyYXRvcik6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVMaW5lTGF5b3V0
OjpSdW5SZXNvbHZlcjo6SXRlcmF0b3I6Om9wZXJhdG9yKyspOgorICAgICAgICAoV2ViQ29yZTo6
U2ltcGxlTGluZUxheW91dDo6UnVuUmVzb2x2ZXI6Okl0ZXJhdG9yOjphZHZhbmNlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlNpbXBsZUxpbmVMYXlvdXQ6OlJ1blJlc29sdmVyOjpJdGVyYXRvcjo6YWR2
YW5jZUxpbmVzKToKKyAgICAgICAgCisgICAgICAgICAgICBPcHRpbWl6ZSBjYXNlIHdoZXJlIHJ1
bkNvdW50PT1saW5lQ291bnQuIEluIHRoaXMgY2FzZSB3ZSBjYW4ganVzdCBkaXJlY3RseSBqdW1w
CisgICAgICAgICAgICB0byB0aGUgcmlnaHQgcnVuL2xpbmUuCisKKyAgICAgICAgKFdlYkNvcmU6
OlNpbXBsZUxpbmVMYXlvdXQ6OlJ1blJlc29sdmVyOjpiZWdpbik6CisgICAgICAgIChXZWJDb3Jl
OjpTaW1wbGVMaW5lTGF5b3V0OjpSdW5SZXNvbHZlcjo6ZW5kKToKKyAgICAgICAgKFdlYkNvcmU6
OlNpbXBsZUxpbmVMYXlvdXQ6OlJ1blJlc29sdmVyOjpsaW5lSW5kZXhGb3JIZWlnaHQpOgorICAg
ICAgICAoV2ViQ29yZTo6U2ltcGxlTGluZUxheW91dDo6UnVuUmVzb2x2ZXI6OnJhbmdlRm9yUmVj
dCk6CisgICAgICAgIAorICAgICAgICAgICAgR2V0IHRoZSByYW5nZSBjb3JyZXNwb25kaW5nIHRv
IGEgcmVjdC4gVGhpcyBjdXJyZW50bHkgY2FyZXMgYWJvdXQgeSBjb29yZGluYXRlcyBvbmx5Lgor
CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVMaW5lTGF5b3V0OjpMaW5lUmVzb2x2ZXI6Okl0ZXJh
dG9yOjpvcGVyYXRvcisrKToKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUxpbmVMYXlvdXQ6Okxp
bmVSZXNvbHZlcjo6SXRlcmF0b3I6Om9wZXJhdG9yKik6CisgICAgICAgIChXZWJDb3JlOjpTaW1w
bGVMaW5lTGF5b3V0OjpMaW5lUmVzb2x2ZXI6OnJhbmdlRm9yUmVjdCk6CisKIDIwMTMtMTEtMjAg
IEFuZHJlaSBCdWN1ciAgPGFidWN1ckBhZG9iZS5jb20+CiAKICAgICAgICAgW0NTU1JlZ2lvbnNd
IE1vdmUgcmVnaW9uIHN0eWxpbmcgY29kZSBpbnRvIFJlbmRlck5hbWVkRmxvd0ZyYWdtZW50Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dEZ1bmN0aW9ucy5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlv
dXRGdW5jdGlvbnMuY3BwCShyZXZpc2lvbiAxNTk1NTgpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvU2ltcGxlTGluZUxheW91dEZ1bmN0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTgx
LDkgKzgxLDE1IEBAIHZvaWQgcGFpbnRGbG93KGNvbnN0IFJlbmRlckJsb2NrRmxvdyYgZmwKIAog
ICAgIHVwZGF0ZUdyYXBoaWNzQ29udGV4dChjb250ZXh0LCB0ZXh0UGFpbnRTdHlsZSk7CiAKKyAg
ICBMYXlvdXRSZWN0IHBhaW50UmVjdCA9IHBhaW50SW5mby5yZWN0OworICAgIHBhaW50UmVjdC5t
b3ZlQnkoLXBhaW50T2Zmc2V0KTsKKwogICAgIGF1dG8gcmVzb2x2ZXIgPSBydW5SZXNvbHZlcihm
bG93LCBsYXlvdXQpOwotICAgIGZvciAoYXV0byBpdCA9IHJlc29sdmVyLmJlZ2luKCksIGVuZCA9
IHJlc29sdmVyLmVuZCgpOyBpdCAhPSBlbmQ7ICsraXQpIHsKKyAgICBhdXRvIHJhbmdlID0gcmVz
b2x2ZXIucmFuZ2VGb3JSZWN0KHBhaW50UmVjdCk7CisgICAgZm9yIChhdXRvIGl0ID0gcmFuZ2Uu
YmVnaW4oKSwgZW5kID0gcmFuZ2UuZW5kKCk7IGl0ICE9IGVuZDsgKytpdCkgewogICAgICAgICBh
dXRvIHJ1biA9ICppdDsKKyAgICAgICAgaWYgKCFydW4ucmVjdCgpLmludGVyc2VjdHMocGFpbnRS
ZWN0KSkKKyAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICBUZXh0UnVuIHRleHRSdW4ocnVu
LnRleHQoKSk7CiAgICAgICAgIHRleHRSdW4uc2V0VGFiU2l6ZSghc3R5bGUuY29sbGFwc2VXaGl0
ZVNwYWNlKCksIHN0eWxlLnRhYlNpemUoKSk7CiAgICAgICAgIGNvbnRleHQuZHJhd1RleHQoZm9u
dCwgdGV4dFJ1biwgcnVuLmJhc2VsaW5lKCkgKyBwYWludE9mZnNldCk7CkBAIC0xMDYsOCArMTEy
LDEyIEBAIGJvb2wgaGl0VGVzdEZsb3coY29uc3QgUmVuZGVyQmxvY2tGbG93JiAKIAogICAgIFJl
bmRlclRleHQmIHRleHRSZW5kZXJlciA9IHRvUmVuZGVyVGV4dCgqZmxvdy5maXJzdENoaWxkKCkp
OwogCisgICAgTGF5b3V0UmVjdCByYW5nZVJlY3QgPSBsb2NhdGlvbkluQ29udGFpbmVyLmJvdW5k
aW5nQm94KCk7CisgICAgcmFuZ2VSZWN0Lm1vdmVCeSgtYWNjdW11bGF0ZWRPZmZzZXQpOworCiAg
ICAgYXV0byByZXNvbHZlciA9IGxpbmVSZXNvbHZlcihmbG93LCBsYXlvdXQpOwotICAgIGZvciAo
YXV0byBpdCA9IHJlc29sdmVyLmJlZ2luKCksIGVuZCA9IHJlc29sdmVyLmVuZCgpOyBpdCAhPSBl
bmQ7ICsraXQpIHsKKyAgICBhdXRvIHJhbmdlID0gcmVzb2x2ZXIucmFuZ2VGb3JSZWN0KHJhbmdl
UmVjdCk7CisgICAgZm9yIChhdXRvIGl0ID0gcmFuZ2UuYmVnaW4oKSwgZW5kID0gcmFuZ2UuZW5k
KCk7IGl0ICE9IGVuZDsgKytpdCkgewogICAgICAgICBhdXRvIGxpbmVSZWN0ID0gKml0OwogICAg
ICAgICBsaW5lUmVjdC5tb3ZlQnkoYWNjdW11bGF0ZWRPZmZzZXQpOwogICAgICAgICBpZiAoIWxv
Y2F0aW9uSW5Db250YWluZXIuaW50ZXJzZWN0cyhsaW5lUmVjdCkpCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dFJlc29sdmVyLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXRSZXNvbHZlci5oCShyZXZp
c2lvbiAxNTk1NTgpCisrKyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91
dFJlc29sdmVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTM2LDYgKzM2LDE5IEBACiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiBuYW1lc3BhY2UgU2ltcGxlTGluZUxheW91dCB7CiAKK3RlbXBsYXRlIDxjbGFz
cyBJdGVyYXRvclR5cGU+CitjbGFzcyBSYW5nZSB7CitwdWJsaWM6CisgICAgUmFuZ2UoSXRlcmF0
b3JUeXBlIGJlZ2luLCBJdGVyYXRvclR5cGUgZW5kKSA6IG1fYmVnaW4oYmVnaW4pLCBtX2VuZChl
bmQpIHsgfQorCisgICAgSXRlcmF0b3JUeXBlIGJlZ2luKCkgY29uc3QgeyByZXR1cm4gbV9iZWdp
bjsgfQorICAgIEl0ZXJhdG9yVHlwZSBlbmQoKSBjb25zdCB7IHJldHVybiBtX2VuZDsgfQorCitw
cml2YXRlOgorICAgIEl0ZXJhdG9yVHlwZSBtX2JlZ2luOworICAgIEl0ZXJhdG9yVHlwZSBtX2Vu
ZDsKK307CisKIGNsYXNzIFJ1blJlc29sdmVyIHsKIHB1YmxpYzoKICAgICBjbGFzcyBJdGVyYXRv
cjsKQEAgLTU5LDE0ICs3MiwxOCBAQCBwdWJsaWM6CiAKICAgICBjbGFzcyBJdGVyYXRvciB7CiAg
ICAgcHVibGljOgotICAgICAgICBJdGVyYXRvcihjb25zdCBSdW5SZXNvbHZlciYsIHVuc2lnbmVk
IGxpbmVJbmRleCk7CisgICAgICAgIEl0ZXJhdG9yKGNvbnN0IFJ1blJlc29sdmVyJiwgdW5zaWdu
ZWQgcnVuSW5kZXgsIHVuc2lnbmVkIGxpbmVJbmRleCk7CiAKICAgICAgICAgSXRlcmF0b3ImIG9w
ZXJhdG9yKysoKTsKKwogICAgICAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgSXRlcmF0b3ImKSBj
b25zdDsKICAgICAgICAgYm9vbCBvcGVyYXRvciE9KGNvbnN0IEl0ZXJhdG9yJikgY29uc3Q7CiAK
ICAgICAgICAgUnVuIG9wZXJhdG9yKigpIGNvbnN0OwogCisgICAgICAgIEl0ZXJhdG9yJiBhZHZh
bmNlKCk7CisgICAgICAgIEl0ZXJhdG9yJiBhZHZhbmNlTGluZXModW5zaWduZWQpOworCiAgICAg
ICAgIGNvbnN0IFJ1blJlc29sdmVyJiByZXNvbHZlcigpIGNvbnN0IHsgcmV0dXJuIG1fcmVzb2x2
ZXI7IH0KICAgICAgICAgY29uc3QgU2ltcGxlTGluZUxheW91dDo6UnVuJiBzaW1wbGVSdW4oKSBj
b25zdDsKICAgICAgICAgdW5zaWduZWQgbGluZUluZGV4KCkgY29uc3QgeyByZXR1cm4gbV9saW5l
SW5kZXg7IH0KQEAgLTgyLDcgKzk5LDExIEBAIHB1YmxpYzoKICAgICBJdGVyYXRvciBiZWdpbigp
IGNvbnN0OwogICAgIEl0ZXJhdG9yIGVuZCgpIGNvbnN0OwogCisgICAgUmFuZ2U8SXRlcmF0b3I+
IHJhbmdlRm9yUmVjdChjb25zdCBMYXlvdXRSZWN0JikgY29uc3Q7CisKIHByaXZhdGU6CisgICAg
dW5zaWduZWQgbGluZUluZGV4Rm9ySGVpZ2h0KExheW91dFVuaXQpIGNvbnN0OworCiAgICAgY29u
c3QgTGF5b3V0JiBtX2xheW91dDsKICAgICBjb25zdCBTdHJpbmcgbV9zdHJpbmc7CiAgICAgY29u
c3QgTGF5b3V0VW5pdCBtX2xpbmVIZWlnaHQ7CkBAIC0xMTYsNiArMTM3LDggQEAgcHVibGljOgog
ICAgIEl0ZXJhdG9yIGJlZ2luKCkgY29uc3Q7CiAgICAgSXRlcmF0b3IgZW5kKCkgY29uc3Q7CiAK
KyAgICBSYW5nZTxJdGVyYXRvcj4gcmFuZ2VGb3JSZWN0KGNvbnN0IExheW91dFJlY3QmKSBjb25z
dDsKKwogcHJpdmF0ZToKICAgICBSdW5SZXNvbHZlciBtX3J1blJlc29sdmVyOwogfTsKQEAgLTE2
OSwxOSArMTkyLDE2IEBAIGlubGluZSB1bnNpZ25lZCBSdW5SZXNvbHZlcjo6UnVuOjpsaW5lSW4K
ICAgICByZXR1cm4gbV9pdGVyYXRvci5saW5lSW5kZXgoKTsKIH0KIAotaW5saW5lIFJ1blJlc29s
dmVyOjpJdGVyYXRvcjo6SXRlcmF0b3IoY29uc3QgUnVuUmVzb2x2ZXImIHJlc29sdmVyLCB1bnNp
Z25lZCBydW5JbmRleCkKK2lubGluZSBSdW5SZXNvbHZlcjo6SXRlcmF0b3I6Okl0ZXJhdG9yKGNv
bnN0IFJ1blJlc29sdmVyJiByZXNvbHZlciwgdW5zaWduZWQgcnVuSW5kZXgsIHVuc2lnbmVkIGxp
bmVJbmRleCkKICAgICA6IG1fcmVzb2x2ZXIocmVzb2x2ZXIpCiAgICAgLCBtX3J1bkluZGV4KHJ1
bkluZGV4KQotICAgICwgbV9saW5lSW5kZXgoMCkKKyAgICAsIG1fbGluZUluZGV4KGxpbmVJbmRl
eCkKIHsKIH0KIAogaW5saW5lIFJ1blJlc29sdmVyOjpJdGVyYXRvciYgUnVuUmVzb2x2ZXI6Okl0
ZXJhdG9yOjpvcGVyYXRvcisrKCkKIHsKLSAgICBpZiAoc2ltcGxlUnVuKCkuaXNFbmRPZkxpbmUp
Ci0gICAgICAgICsrbV9saW5lSW5kZXg7Ci0gICAgKyttX3J1bkluZGV4OwotICAgIHJldHVybiAq
dGhpczsKKyAgICByZXR1cm4gYWR2YW5jZSgpOwogfQogCiBpbmxpbmUgYm9vbCBSdW5SZXNvbHZl
cjo6SXRlcmF0b3I6Om9wZXJhdG9yPT0oY29uc3QgSXRlcmF0b3ImIG90aGVyKSBjb25zdApAQCAt
MjAwLDYgKzIyMCwyOSBAQCBpbmxpbmUgUnVuUmVzb2x2ZXI6OlJ1biBSdW5SZXNvbHZlcjo6SXRl
CiAgICAgcmV0dXJuIFJ1bigqdGhpcyk7CiB9CiAKK2lubGluZSBSdW5SZXNvbHZlcjo6SXRlcmF0
b3ImIFJ1blJlc29sdmVyOjpJdGVyYXRvcjo6YWR2YW5jZSgpCit7CisgICAgaWYgKHNpbXBsZVJ1
bigpLmlzRW5kT2ZMaW5lKQorICAgICAgICArK21fbGluZUluZGV4OworICAgICsrbV9ydW5JbmRl
eDsKKyAgICByZXR1cm4gKnRoaXM7Cit9CisKK2lubGluZSBSdW5SZXNvbHZlcjo6SXRlcmF0b3Im
IFJ1blJlc29sdmVyOjpJdGVyYXRvcjo6YWR2YW5jZUxpbmVzKHVuc2lnbmVkIGxpbmVDb3VudCkK
K3sKKyAgICB1bnNpZ25lZCBydW5Db3VudCA9IG1fcmVzb2x2ZXIubV9sYXlvdXQucnVuQ291bnQo
KTsKKyAgICBpZiAocnVuQ291bnQgPT0gbV9yZXNvbHZlci5tX2xheW91dC5saW5lQ291bnQoKSkg
eworICAgICAgICBtX3J1bkluZGV4ID0gc3RkOjptaW4ocnVuQ291bnQsIG1fcnVuSW5kZXggKyBs
aW5lQ291bnQpOworICAgICAgICBtX2xpbmVJbmRleCA9IG1fcnVuSW5kZXg7CisgICAgICAgIHJl
dHVybiAqdGhpczsKKyAgICB9CisgICAgdW5zaWduZWQgdGFyZ2V0ID0gbV9saW5lSW5kZXggKyBs
aW5lQ291bnQ7CisgICAgd2hpbGUgKG1fbGluZUluZGV4IDwgdGFyZ2V0ICYmIG1fcnVuSW5kZXgg
PCBydW5Db3VudCkKKyAgICAgICAgYWR2YW5jZSgpOworCisgICAgcmV0dXJuICp0aGlzOworfQor
CiBpbmxpbmUgY29uc3QgU2ltcGxlTGluZUxheW91dDo6UnVuJiBSdW5SZXNvbHZlcjo6SXRlcmF0
b3I6OnNpbXBsZVJ1bigpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1fcmVzb2x2ZXIubV9sYXlvdXQu
cnVuQXQobV9ydW5JbmRleCk7CkBAIC0yMTgsMTIgKzI2MSwzNSBAQCBpbmxpbmUgUnVuUmVzb2x2
ZXI6OlJ1blJlc29sdmVyKGNvbnN0IFJlCiAKIGlubGluZSBSdW5SZXNvbHZlcjo6SXRlcmF0b3Ig
UnVuUmVzb2x2ZXI6OmJlZ2luKCkgY29uc3QKIHsKLSAgICByZXR1cm4gSXRlcmF0b3IoKnRoaXMs
IDApOworICAgIHJldHVybiBJdGVyYXRvcigqdGhpcywgMCwgMCk7CiB9CiAKIGlubGluZSBSdW5S
ZXNvbHZlcjo6SXRlcmF0b3IgUnVuUmVzb2x2ZXI6OmVuZCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJu
IEl0ZXJhdG9yKCp0aGlzLCBtX2xheW91dC5ydW5Db3VudCgpKTsKKyAgICByZXR1cm4gSXRlcmF0
b3IoKnRoaXMsIG1fbGF5b3V0LnJ1bkNvdW50KCksIG1fbGF5b3V0LmxpbmVDb3VudCgpKTsKK30K
KworaW5saW5lIHVuc2lnbmVkIFJ1blJlc29sdmVyOjpsaW5lSW5kZXhGb3JIZWlnaHQoTGF5b3V0
VW5pdCBoZWlnaHQpIGNvbnN0Cit7CisgICAgQVNTRVJUKG1fbGluZUhlaWdodCk7CisgICAgZmxv
YXQgeSA9IHN0ZDo6bWF4PGZsb2F0PihoZWlnaHQgLSBtX2NvbnRlbnRPZmZzZXQueSgpIC0gbV9i
YXNlbGluZSArIG1fYXNjZW50LCAwKTsKKyAgICByZXR1cm4gc3RkOjptaW48dW5zaWduZWQ+KHkg
LyBtX2xpbmVIZWlnaHQsIG1fbGF5b3V0LmxpbmVDb3VudCgpIC0gMSk7Cit9CisKK2lubGluZSBS
YW5nZTxSdW5SZXNvbHZlcjo6SXRlcmF0b3I+IFJ1blJlc29sdmVyOjpyYW5nZUZvclJlY3QoY29u
c3QgTGF5b3V0UmVjdCYgcmVjdCkgY29uc3QKK3sKKyAgICBpZiAoIW1fbGluZUhlaWdodCkKKyAg
ICAgICAgcmV0dXJuIFJhbmdlPEl0ZXJhdG9yPihiZWdpbigpLCBlbmQoKSk7CisKKyAgICB1bnNp
Z25lZCBmaXJzdExpbmUgPSBsaW5lSW5kZXhGb3JIZWlnaHQocmVjdC55KCkpOworICAgIHVuc2ln
bmVkIGxhc3RMaW5lID0gbGluZUluZGV4Rm9ySGVpZ2h0KHJlY3QubWF4WSgpKTsKKworICAgIGF1
dG8gcmFuZ2VCZWdpbiA9IGJlZ2luKCkuYWR2YW5jZUxpbmVzKGZpcnN0TGluZSk7CisgICAgaWYg
KHJhbmdlQmVnaW4gPT0gZW5kKCkpCisgICAgICAgIHJldHVybiBSYW5nZTxJdGVyYXRvcj4oZW5k
KCksIGVuZCgpKTsKKyAgICBhdXRvIHJhbmdlRW5kID0gcmFuZ2VCZWdpbjsKKyAgICByYW5nZUVu
ZC5hZHZhbmNlTGluZXMobGFzdExpbmUgLSBmaXJzdExpbmUgKyAxKTsKKyAgICByZXR1cm4gUmFu
Z2U8SXRlcmF0b3I+KHJhbmdlQmVnaW4sIHJhbmdlRW5kKTsKIH0KIAogaW5saW5lIExpbmVSZXNv
bHZlcjo6SXRlcmF0b3I6Okl0ZXJhdG9yKFJ1blJlc29sdmVyOjpJdGVyYXRvciBydW5JdGVyYXRv
cikKQEAgLTIzMyw5ICsyOTksNyBAQCBpbmxpbmUgTGluZVJlc29sdmVyOjpJdGVyYXRvcjo6SXRl
cmF0b3IoCiAKIGlubGluZSBMaW5lUmVzb2x2ZXI6Okl0ZXJhdG9yJiBMaW5lUmVzb2x2ZXI6Okl0
ZXJhdG9yOjpvcGVyYXRvcisrKCkKIHsKLSAgICB1bnNpZ25lZCBwcmV2aW91c0xpbmUgPSBtX3J1
bkl0ZXJhdG9yLmxpbmVJbmRleCgpOwotICAgIHdoaWxlICgoKyttX3J1bkl0ZXJhdG9yKS5saW5l
SW5kZXgoKSA9PSBwcmV2aW91c0xpbmUpIHsgfQotCisgICAgbV9ydW5JdGVyYXRvci5hZHZhbmNl
TGluZXMoMSk7CiAgICAgcmV0dXJuICp0aGlzOwogfQogCkBAIC0yNTQsNyArMzE4LDcgQEAgaW5s
aW5lIGNvbnN0IExheW91dFJlY3QgTGluZVJlc29sdmVyOjpJdAogICAgIHVuc2lnbmVkIGN1cnJl
bnRMaW5lID0gbV9ydW5JdGVyYXRvci5saW5lSW5kZXgoKTsKICAgICBhdXRvIGl0ID0gbV9ydW5J
dGVyYXRvcjsKICAgICBMYXlvdXRSZWN0IHJlY3QgPSAoKml0KS5yZWN0KCk7Ci0gICAgd2hpbGUg
KCgrK2l0KS5saW5lSW5kZXgoKSA9PSBjdXJyZW50TGluZSkKKyAgICB3aGlsZSAoaXQuYWR2YW5j
ZSgpLmxpbmVJbmRleCgpID09IGN1cnJlbnRMaW5lKQogICAgICAgICByZWN0LnVuaXRlKCgqaXQp
LnJlY3QoKSk7CiAKICAgICByZXR1cm4gcmVjdDsKQEAgLTI3NSw2ICszMzksMTIgQEAgaW5saW5l
IExpbmVSZXNvbHZlcjo6SXRlcmF0b3IgTGluZVJlc29sdgogICAgIHJldHVybiBJdGVyYXRvciht
X3J1blJlc29sdmVyLmVuZCgpKTsKIH0KIAoraW5saW5lIFJhbmdlPExpbmVSZXNvbHZlcjo6SXRl
cmF0b3I+IExpbmVSZXNvbHZlcjo6cmFuZ2VGb3JSZWN0KGNvbnN0IExheW91dFJlY3QmIHJlY3Qp
IGNvbnN0Cit7CisgICAgYXV0byBydW5SYW5nZSA9IG1fcnVuUmVzb2x2ZXIucmFuZ2VGb3JSZWN0
KHJlY3QpOworICAgIHJldHVybiBSYW5nZTxJdGVyYXRvcj4oSXRlcmF0b3IocnVuUmFuZ2UuYmVn
aW4oKSksIEl0ZXJhdG9yKHJ1blJhbmdlLmVuZCgpKSk7Cit9CisKIGlubGluZSBSdW5SZXNvbHZl
ciBydW5SZXNvbHZlcihjb25zdCBSZW5kZXJCbG9ja0Zsb3cmIGZsb3csIGNvbnN0IExheW91dCYg
bGF5b3V0KQogewogICAgIHJldHVybiBSdW5SZXNvbHZlcihmbG93LCBsYXlvdXQpOwo=
</data>
<flag name="review"
          id="240547"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>