<?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>143175</bug_id>
          
          <creation_ts>2015-03-27 22:38:47 -0700</creation_ts>
          <short_desc>More modern loops in RenderLayer.cpp</short_desc>
          <delta_ts>2015-03-29 13:30: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>New Bugs</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="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1080889</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-03-27 22:38:47 -0700</bug_when>
    <thetext>More modern loops in RenderLayer.cpp</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1080890</commentid>
    <comment_count>1</comment_count>
      <attachid>249643</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-03-27 22:39:38 -0700</bug_when>
    <thetext>Created attachment 249643
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1081038</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-03-29 13:30:51 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/182108</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>249643</attachid>
            <date>2015-03-27 22:39:38 -0700</date>
            <delta_ts>2015-03-27 22:43:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-143175-20150327223858.patch</filename>
            <type>text/plain</type>
            <size>12531</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyMTA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWM1YTA1ODQ3NmM1YzI0
MmUzNjczNWY3Mjg1YzlhZmNjZjcyZDdlMy4uMDk5YjdmOWEzNDg1Mzg3MTQzMzQ3ODI0ZmVmNDU5
N2FkNGMxYjM1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI1IEBACiAyMDE1LTAzLTI3ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCisgICAgICAgIE1vcmUgbW9kZXJu
IGxvb3BzIGluIFJlbmRlckxheWVyLmNwcAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTQzMTc1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVXNlIG1vZGVybiBsb29wcyBpbiBtb3JlIHBsYWNlcyBpbiBSZW5k
ZXJMYXllci5hcHAuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnVwZGF0ZTNEVHJhbnNmb3JtZWREZXNjZW5kYW50
U3RhdHVzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpwYWludCk6CisgICAgICAg
IChXZWJDb3JlOjpwZXJmb3JtT3ZlcmxhcFRlc3RzKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckxheWVyOjpwYWludEZpeGVkTGF5ZXJzSW5OYW1lZEZsb3dzKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckxheWVyOjpwYWludExpc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6
OmNvbGxlY3RGcmFnbWVudHMpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnVwZGF0
ZVBhaW50aW5nSW5mb0ZvckZyYWdtZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXll
cjo6cGFpbnRUcmFuc2Zvcm1lZExheWVySW50b0ZyYWdtZW50cyk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJMYXllcjo6Y2FsY3VsYXRlQ2xpcFJlY3RzKToKKworMjAxNS0wMy0yNyAgU2ltb24g
RnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKwogICAgICAgICBudWxscHRyIGNsZWFu
dXAgaW4gUmVuZGVyTGF5ZXIKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE0MzE3NAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNw
cAppbmRleCA0OGZmNGFmMzk1MjVlZTc3ZDUzNWE4NjEyOTg0YTJmMjk3ODA3MDI3Li45MjIwNTg5
YzY1YjhlMjMyMDQ1ZmRmOWNjZWU0NzkyYTg3YTY5MThmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllci5jcHAKQEAgLTEyODEsMTQgKzEyODEsMTQgQEAgYm9vbCBSZW5kZXJM
YXllcjo6dXBkYXRlM0RUcmFuc2Zvcm1lZERlc2NlbmRhbnRTdGF0dXMoKQogICAgICAgICAvLyBU
cmFuc2Zvcm1lZCBvciBwcmVzZXJ2ZS0zZCBkZXNjZW5kYW50cyBjYW4gb25seSBiZSBpbiB0aGUg
ei1vcmRlciBsaXN0cywgbm90CiAgICAgICAgIC8vIGluIHRoZSBub3JtYWwgZmxvdyBsaXN0LCBz
byB3ZSBvbmx5IG5lZWQgdG8gY2hlY2sgdGhvc2UuCiAgICAgICAgIGlmIChWZWN0b3I8UmVuZGVy
TGF5ZXIqPiogcG9zaXRpdmVaT3JkZXJMaXN0ID0gcG9zWk9yZGVyTGlzdCgpKSB7Ci0gICAgICAg
ICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgcG9zaXRpdmVaT3JkZXJMaXN0LT5zaXplKCk7
ICsraSkKLSAgICAgICAgICAgICAgICBtX2hhczNEVHJhbnNmb3JtZWREZXNjZW5kYW50IHw9IHBv
c2l0aXZlWk9yZGVyTGlzdC0+YXQoaSktPnVwZGF0ZTNEVHJhbnNmb3JtZWREZXNjZW5kYW50U3Rh
dHVzKCk7CisgICAgICAgICAgICBmb3IgKGF1dG8gbGF5ZXIgOiAqcG9zaXRpdmVaT3JkZXJMaXN0
KQorICAgICAgICAgICAgICAgIG1faGFzM0RUcmFuc2Zvcm1lZERlc2NlbmRhbnQgfD0gbGF5ZXIt
PnVwZGF0ZTNEVHJhbnNmb3JtZWREZXNjZW5kYW50U3RhdHVzKCk7CiAgICAgICAgIH0KIAogICAg
ICAgICAvLyBOb3cgY2hlY2sgb3VyIG5lZ2F0aXZlIHotaW5kZXggY2hpbGRyZW4uCiAgICAgICAg
IGlmIChWZWN0b3I8UmVuZGVyTGF5ZXIqPiogbmVnYXRpdmVaT3JkZXJMaXN0ID0gbmVnWk9yZGVy
TGlzdCgpKSB7Ci0gICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbmVnYXRpdmVa
T3JkZXJMaXN0LT5zaXplKCk7ICsraSkKLSAgICAgICAgICAgICAgICBtX2hhczNEVHJhbnNmb3Jt
ZWREZXNjZW5kYW50IHw9IG5lZ2F0aXZlWk9yZGVyTGlzdC0+YXQoaSktPnVwZGF0ZTNEVHJhbnNm
b3JtZWREZXNjZW5kYW50U3RhdHVzKCk7CisgICAgICAgICAgICBmb3IgKGF1dG8gbGF5ZXIgOiAq
bmVnYXRpdmVaT3JkZXJMaXN0KQorICAgICAgICAgICAgICAgIG1faGFzM0RUcmFuc2Zvcm1lZERl
c2NlbmRhbnQgfD0gbGF5ZXItPnVwZGF0ZTNEVHJhbnNmb3JtZWREZXNjZW5kYW50U3RhdHVzKCk7
CiAgICAgICAgIH0KICAgICAgICAgCiAgICAgICAgIG1fM0RUcmFuc2Zvcm1lZERlc2NlbmRhbnRT
dGF0dXNEaXJ0eSA9IGZhbHNlOwpAQCAtMzc0Myw5ICszNzQzLDggQEAgdm9pZCBSZW5kZXJMYXll
cjo6cGFpbnQoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBMYXlvdXRSZWN0JiBkYW1h
Z2VSZWN0LAogICAgIExheWVyUGFpbnRpbmdJbmZvIHBhaW50aW5nSW5mbyh0aGlzLCBlbmNsb3Np
bmdJbnRSZWN0KGRhbWFnZVJlY3QpLCBwYWludEJlaGF2aW9yLCBzdWJwaXhlbEFjY3VtdWxhdGlv
biwgc3VidHJlZVBhaW50Um9vdCwgJm92ZXJsYXBUZXN0UmVxdWVzdHMpOwogICAgIHBhaW50TGF5
ZXIoY29udGV4dCwgcGFpbnRpbmdJbmZvLCBwYWludEZsYWdzKTsKIAotICAgIE92ZXJsYXBUZXN0
UmVxdWVzdE1hcDo6aXRlcmF0b3IgZW5kID0gb3ZlcmxhcFRlc3RSZXF1ZXN0cy5lbmQoKTsKLSAg
ICBmb3IgKE92ZXJsYXBUZXN0UmVxdWVzdE1hcDo6aXRlcmF0b3IgaXQgPSBvdmVybGFwVGVzdFJl
cXVlc3RzLmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkKLSAgICAgICAgaXQtPmtleS0+c2V0T3Zl
cmxhcFRlc3RSZXN1bHQoZmFsc2UpOworICAgIGZvciAoYXV0byBpdCA6IG92ZXJsYXBUZXN0UmVx
dWVzdHMpCisgICAgICAgIGl0LmtleS0+c2V0T3ZlcmxhcFRlc3RSZXN1bHQoZmFsc2UpOwogfQog
CiB2b2lkIFJlbmRlckxheWVyOjpwYWludE92ZXJsYXlTY3JvbGxiYXJzKEdyYXBoaWNzQ29udGV4
dCogY29udGV4dCwgY29uc3QgTGF5b3V0UmVjdCYgZGFtYWdlUmVjdCwgUGFpbnRCZWhhdmlvciBw
YWludEJlaGF2aW9yLCBSZW5kZXJPYmplY3QqIHN1YnRyZWVQYWludFJvb3QpCkBAIC0zODEzLDE3
ICszODEyLDE2IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnJlc3RvcmVDbGlwKEdyYXBoaWNzQ29udGV4
dCogY29udGV4dCwgY29uc3QgTGF5b3V0UmVjdCYgcGFpbnRECiBzdGF0aWMgdm9pZCBwZXJmb3Jt
T3ZlcmxhcFRlc3RzKE92ZXJsYXBUZXN0UmVxdWVzdE1hcCYgb3ZlcmxhcFRlc3RSZXF1ZXN0cywg
Y29uc3QgUmVuZGVyTGF5ZXIqIHJvb3RMYXllciwgY29uc3QgUmVuZGVyTGF5ZXIqIGxheWVyKQog
ewogICAgIFZlY3RvcjxPdmVybGFwVGVzdFJlcXVlc3RDbGllbnQqPiBvdmVybGFwcGVkUmVxdWVz
dENsaWVudHM7Ci0gICAgT3ZlcmxhcFRlc3RSZXF1ZXN0TWFwOjppdGVyYXRvciBlbmQgPSBvdmVy
bGFwVGVzdFJlcXVlc3RzLmVuZCgpOwogICAgIExheW91dFJlY3QgYm91bmRpbmdCb3ggPSBsYXll
ci0+Ym91bmRpbmdCb3gocm9vdExheWVyLCBsYXllci0+b2Zmc2V0RnJvbUFuY2VzdG9yKHJvb3RM
YXllcikpOwotICAgIGZvciAoT3ZlcmxhcFRlc3RSZXF1ZXN0TWFwOjppdGVyYXRvciBpdCA9IG92
ZXJsYXBUZXN0UmVxdWVzdHMuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAgICAgIGlm
ICghYm91bmRpbmdCb3guaW50ZXJzZWN0cyhpdC0+dmFsdWUpKQorICAgIGZvciAoYXV0byBpdCA6
IG92ZXJsYXBUZXN0UmVxdWVzdHMpIHsKKyAgICAgICAgaWYgKCFib3VuZGluZ0JveC5pbnRlcnNl
Y3RzKGl0LnZhbHVlKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAgIGl0LT5rZXkt
PnNldE92ZXJsYXBUZXN0UmVzdWx0KHRydWUpOwotICAgICAgICBvdmVybGFwcGVkUmVxdWVzdENs
aWVudHMuYXBwZW5kKGl0LT5rZXkpOworICAgICAgICBpdC5rZXktPnNldE92ZXJsYXBUZXN0UmVz
dWx0KHRydWUpOworICAgICAgICBvdmVybGFwcGVkUmVxdWVzdENsaWVudHMuYXBwZW5kKGl0Lmtl
eSk7CiAgICAgfQotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgb3ZlcmxhcHBlZFJlcXVlc3RD
bGllbnRzLnNpemUoKTsgKytpKQotICAgICAgICBvdmVybGFwVGVzdFJlcXVlc3RzLnJlbW92ZShv
dmVybGFwcGVkUmVxdWVzdENsaWVudHNbaV0pOworICAgIGZvciAoYXV0byBjbGllbnQgOiBvdmVy
bGFwcGVkUmVxdWVzdENsaWVudHMpCisgICAgICAgIG92ZXJsYXBUZXN0UmVxdWVzdHMucmVtb3Zl
KGNsaWVudCk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgYm9vbCBzaG91bGREb1NvZnR3YXJlUGFpbnQo
Y29uc3QgUmVuZGVyTGF5ZXIqIGxheWVyLCBib29sIHBhaW50aW5nUmVmbGVjdGlvbikKQEAgLTQx
NzcsMTAgKzQxNzUsOCBAQCB2b2lkIFJlbmRlckxheWVyOjpwYWludEZpeGVkTGF5ZXJzSW5OYW1l
ZEZsb3dzKEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgTAogICAgIHJlbmRlcmVyKCku
dmlldygpLmZsb3dUaHJlYWRDb250cm9sbGVyKCkuY29sbGVjdEZpeGVkUG9zaXRpb25lZExheWVy
cyhmaXhlZExheWVycyk7CiAKICAgICAvLyBQYWludCB0aGUgbGF5ZXJzCi0gICAgZm9yIChzaXpl
X3QgaSA9IDA7IGkgPCBmaXhlZExheWVycy5zaXplKCk7ICsraSkgewotICAgICAgICBSZW5kZXJM
YXllciogZml4ZWRMYXllciA9IGZpeGVkTGF5ZXJzLmF0KGkpOworICAgIGZvciAoYXV0byBmaXhl
ZExheWVyIDogZml4ZWRMYXllcnMpCiAgICAgICAgIGZpeGVkTGF5ZXItPnBhaW50TGF5ZXIoY29u
dGV4dCwgcGFpbnRpbmdJbmZvLCBwYWludEZsYWdzKTsKLSAgICB9CiB9CiAKIHZvaWQgUmVuZGVy
TGF5ZXI6OnBhaW50TGF5ZXJDb250ZW50cyhHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0
IExheWVyUGFpbnRpbmdJbmZvJiBwYWludGluZ0luZm8sIFBhaW50TGF5ZXJGbGFncyBwYWludEZs
YWdzKQpAQCAtNDQwMCw4ICs0Mzk2LDcgQEAgdm9pZCBSZW5kZXJMYXllcjo6cGFpbnRMaXN0KFZl
Y3RvcjxSZW5kZXJMYXllcio+KiBsaXN0LCBHcmFwaGljc0NvbnRleHQqIGNvbnRleHQKICAgICBM
YXllckxpc3RNdXRhdGlvbkRldGVjdG9yIG11dGF0aW9uQ2hlY2tlcih0aGlzKTsKICNlbmRpZgog
Ci0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBsaXN0LT5zaXplKCk7ICsraSkgewotICAgICAg
ICBSZW5kZXJMYXllciogY2hpbGRMYXllciA9IGxpc3QtPmF0KGkpOworICAgIGZvciAoYXV0byBj
aGlsZExheWVyIDogKmxpc3QpIHsKICAgICAgICAgaWYgKGNoaWxkTGF5ZXItPmlzRmxvd1RocmVh
ZENvbGxlY3RpbmdHcmFwaGljc0xheWVyc1VuZGVyUmVnaW9ucygpKQogICAgICAgICAgICAgY29u
dGludWU7CiAgICAgICAgIGNoaWxkTGF5ZXItPnBhaW50TGF5ZXIoY29udGV4dCwgcGFpbnRpbmdJ
bmZvLCBwYWludEZsYWdzKTsKQEAgLTQ1NDIsOSArNDUzNyw3IEBAIHZvaWQgUmVuZGVyTGF5ZXI6
OmNvbGxlY3RGcmFnbWVudHMoTGF5ZXJGcmFnbWVudHMmIGZyYWdtZW50cywgY29uc3QgUmVuZGVy
TGF5ZXIqCiAgICAgICAgIGFuY2VzdG9yQ2xpcFJlY3QuaW50ZXJzZWN0KGRpcnR5UmVjdCk7CiAg
ICAgfQogCi0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBmcmFnbWVudHMuc2l6ZSgpOyArK2kp
IHsKLSAgICAgICAgTGF5ZXJGcmFnbWVudCYgZnJhZ21lbnQgPSBmcmFnbWVudHMuYXQoaSk7Ci0g
ICAgICAgIAorICAgIGZvciAoYXV0byYgZnJhZ21lbnQgOiBmcmFnbWVudHMpIHsKICAgICAgICAg
Ly8gU2V0IG91ciBmb3VyIHJlY3RzIHdpdGggYWxsIGNsaXBwaW5nIGFwcGxpZWQgdGhhdCB3YXMg
aW50ZXJuYWwgdG8gdGhlIGZsb3cgdGhyZWFkLgogICAgICAgICBmcmFnbWVudC5zZXRSZWN0cyhs
YXllckJvdW5kc0luRmxvd1RocmVhZCwgYmFja2dyb3VuZFJlY3RJbkZsb3dUaHJlYWQsIGZvcmVn
cm91bmRSZWN0SW5GbG93VGhyZWFkLCBvdXRsaW5lUmVjdEluRmxvd1RocmVhZCwgJmxheWVyQm91
bmRpbmdCb3hJbkZsb3dUaHJlYWQpOwogICAgICAgICAKQEAgLTQ1NjcsOCArNDU2MCw3IEBAIHZv
aWQgUmVuZGVyTGF5ZXI6OmNvbGxlY3RGcmFnbWVudHMoTGF5ZXJGcmFnbWVudHMmIGZyYWdtZW50
cywgY29uc3QgUmVuZGVyTGF5ZXIqCiB2b2lkIFJlbmRlckxheWVyOjp1cGRhdGVQYWludGluZ0lu
Zm9Gb3JGcmFnbWVudHMoTGF5ZXJGcmFnbWVudHMmIGZyYWdtZW50cywgY29uc3QgTGF5ZXJQYWlu
dGluZ0luZm8mIGxvY2FsUGFpbnRpbmdJbmZvLCBQYWludExheWVyRmxhZ3MgbG9jYWxQYWludEZs
YWdzLAogICAgIGJvb2wgc2hvdWxkUGFpbnRDb250ZW50LCBjb25zdCBMYXlvdXRTaXplJiBvZmZz
ZXRGcm9tUm9vdCkKIHsKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGZyYWdtZW50cy5zaXpl
KCk7ICsraSkgewotICAgICAgICBMYXllckZyYWdtZW50JiBmcmFnbWVudCA9IGZyYWdtZW50cy5h
dChpKTsKKyAgICBmb3IgKGF1dG8mIGZyYWdtZW50IDogZnJhZ21lbnRzKSB7CiAgICAgICAgIGZy
YWdtZW50LnNob3VsZFBhaW50Q29udGVudCA9IHNob3VsZFBhaW50Q29udGVudDsKICAgICAgICAg
aWYgKHRoaXMgIT0gbG9jYWxQYWludGluZ0luZm8ucm9vdExheWVyIHx8ICEobG9jYWxQYWludEZs
YWdzICYgUGFpbnRMYXllclBhaW50aW5nT3ZlcmZsb3dDb250ZW50cykpIHsKICAgICAgICAgICAg
IExheW91dFNpemUgbmV3T2Zmc2V0RnJvbVJvb3QgPSBvZmZzZXRGcm9tUm9vdCArIGZyYWdtZW50
LnBhZ2luYXRpb25PZmZzZXQ7CkBAIC00NTg3LDkgKzQ1NzksNyBAQCB2b2lkIFJlbmRlckxheWVy
OjpwYWludFRyYW5zZm9ybWVkTGF5ZXJJbnRvRnJhZ21lbnRzKEdyYXBoaWNzQ29udGV4dCogY29u
dGV4dCwgYwogICAgICAgICAocGFpbnRGbGFncyAmIFBhaW50TGF5ZXJUZW1wb3JhcnlDbGlwUmVj
dHMpID8gVGVtcG9yYXJ5Q2xpcFJlY3RzIDogUGFpbnRpbmdDbGlwUmVjdHMsIElnbm9yZU92ZXJs
YXlTY3JvbGxiYXJTaXplLAogICAgICAgICAocGFpbnRGbGFncyAmIFBhaW50TGF5ZXJQYWludGlu
Z092ZXJmbG93Q29udGVudHMpID8gSWdub3JlT3ZlcmZsb3dDbGlwIDogUmVzcGVjdE92ZXJmbG93
Q2xpcCwgb2Zmc2V0T2ZQYWdpbmF0aW9uTGF5ZXJGcm9tUm9vdCwgJnRyYW5zZm9ybWVkRXh0ZW50
KTsKICAgICAKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGVuY2xvc2luZ1BhZ2luYXRpb25G
cmFnbWVudHMuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgY29uc3QgTGF5ZXJGcmFnbWVudCYgZnJh
Z21lbnQgPSBlbmNsb3NpbmdQYWdpbmF0aW9uRnJhZ21lbnRzLmF0KGkpOwotICAgICAgICAKKyAg
ICBmb3IgKGNvbnN0IGF1dG8mIGZyYWdtZW50IDogZW5jbG9zaW5nUGFnaW5hdGlvbkZyYWdtZW50
cykgewogICAgICAgICAvLyBBcHBseSB0aGUgcGFnZS9jb2x1bW4gY2xpcCBmb3IgdGhpcyBmcmFn
bWVudCwgYXMgd2VsbCBhcyBhbnkgY2xpcHMgZXN0YWJsaXNoZWQgYnkgbGF5ZXJzIGluIGJldHdl
ZW4gdXMgYW5kCiAgICAgICAgIC8vIHRoZSBlbmNsb3NpbmcgcGFnaW5hdGlvbiBsYXllci4KICAg
ICAgICAgTGF5b3V0UmVjdCBjbGlwUmVjdCA9IGZyYWdtZW50LmJhY2tncm91bmRSZWN0LnJlY3Qo
KTsKQEAgLTU5NDMsOSArNTkzMyw3IEBAIExheW91dFJlY3QgUmVuZGVyTGF5ZXI6OmNhbGN1bGF0
ZUxheWVyQm91bmRzKGNvbnN0IFJlbmRlckxheWVyKiBhbmNlc3RvckxheWVyLCBjCiAjZW5kaWYK
IAogICAgIGlmIChWZWN0b3I8UmVuZGVyTGF5ZXIqPiogbmVnWk9yZGVyTGlzdCA9IHRoaXMtPm5l
Z1pPcmRlckxpc3QoKSkgewotICAgICAgICBzaXplX3QgbGlzdFNpemUgPSBuZWdaT3JkZXJMaXN0
LT5zaXplKCk7Ci0gICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbGlzdFNpemU7ICsraSkg
ewotICAgICAgICAgICAgUmVuZGVyTGF5ZXIqIGN1ckxheWVyID0gbmVnWk9yZGVyTGlzdC0+YXQo
aSk7CisgICAgICAgIGZvciAoYXV0byBjdXJMYXllciA6ICpuZWdaT3JkZXJMaXN0KSB7CiAgICAg
ICAgICAgICBpZiAoZmxhZ3MgJiBJbmNsdWRlQ29tcG9zaXRlZERlc2NlbmRhbnRzIHx8ICFjdXJM
YXllci0+aXNDb21wb3NpdGVkKCkpIHsKICAgICAgICAgICAgICAgICBMYXlvdXRSZWN0IGNoaWxk
VW5pb25Cb3VuZHMgPSBjdXJMYXllci0+Y2FsY3VsYXRlTGF5ZXJCb3VuZHModGhpcywgY3VyTGF5
ZXItPm9mZnNldEZyb21BbmNlc3Rvcih0aGlzKSwgZGVzY2VuZGFudEZsYWdzKTsKICAgICAgICAg
ICAgICAgICB1bmlvbkJvdW5kcy51bml0ZShjaGlsZFVuaW9uQm91bmRzKTsKQEAgLTU5NTQsOSAr
NTk0Miw3IEBAIExheW91dFJlY3QgUmVuZGVyTGF5ZXI6OmNhbGN1bGF0ZUxheWVyQm91bmRzKGNv
bnN0IFJlbmRlckxheWVyKiBhbmNlc3RvckxheWVyLCBjCiAgICAgfQogCiAgICAgaWYgKFZlY3Rv
cjxSZW5kZXJMYXllcio+KiBwb3NaT3JkZXJMaXN0ID0gdGhpcy0+cG9zWk9yZGVyTGlzdCgpKSB7
Ci0gICAgICAgIHNpemVfdCBsaXN0U2l6ZSA9IHBvc1pPcmRlckxpc3QtPnNpemUoKTsKLSAgICAg
ICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBsaXN0U2l6ZTsgKytpKSB7Ci0gICAgICAgICAgICBS
ZW5kZXJMYXllciogY3VyTGF5ZXIgPSBwb3NaT3JkZXJMaXN0LT5hdChpKTsKKyAgICAgICAgZm9y
IChhdXRvIGN1ckxheWVyIDogKnBvc1pPcmRlckxpc3QpIHsKICAgICAgICAgICAgIC8vIFRoZSBS
ZW5kZXJOYW1lZEZsb3dUaHJlYWQgaXMgaWdub3JlZCB3aGVuIHdlIGNhbGN1bGF0ZSB0aGUgYm91
bmRzIG9mIHRoZSBSZW5kZXJWaWV3LgogICAgICAgICAgICAgaWYgKChmbGFncyAmIEluY2x1ZGVD
b21wb3NpdGVkRGVzY2VuZGFudHMgfHwgIWN1ckxheWVyLT5pc0NvbXBvc2l0ZWQoKSkgJiYgIWN1
ckxheWVyLT5pc0Zsb3dUaHJlYWRDb2xsZWN0aW5nR3JhcGhpY3NMYXllcnNVbmRlclJlZ2lvbnMo
KSkgewogICAgICAgICAgICAgICAgIExheW91dFJlY3QgY2hpbGRVbmlvbkJvdW5kcyA9IGN1ckxh
eWVyLT5jYWxjdWxhdGVMYXllckJvdW5kcyh0aGlzLCBjdXJMYXllci0+b2Zmc2V0RnJvbUFuY2Vz
dG9yKHRoaXMpLCBkZXNjZW5kYW50RmxhZ3MpOwpAQCAtNTk2Niw5ICs1OTUyLDcgQEAgTGF5b3V0
UmVjdCBSZW5kZXJMYXllcjo6Y2FsY3VsYXRlTGF5ZXJCb3VuZHMoY29uc3QgUmVuZGVyTGF5ZXIq
IGFuY2VzdG9yTGF5ZXIsIGMKICAgICB9CiAKICAgICBpZiAoVmVjdG9yPFJlbmRlckxheWVyKj4q
IG5vcm1hbEZsb3dMaXN0ID0gdGhpcy0+bm9ybWFsRmxvd0xpc3QoKSkgewotICAgICAgICBzaXpl
X3QgbGlzdFNpemUgPSBub3JtYWxGbG93TGlzdC0+c2l6ZSgpOwotICAgICAgICBmb3IgKHNpemVf
dCBpID0gMDsgaSA8IGxpc3RTaXplOyArK2kpIHsKLSAgICAgICAgICAgIFJlbmRlckxheWVyKiBj
dXJMYXllciA9IG5vcm1hbEZsb3dMaXN0LT5hdChpKTsKKyAgICAgICAgZm9yIChhdXRvIGN1ckxh
eWVyIDogKm5vcm1hbEZsb3dMaXN0KSB7CiAgICAgICAgICAgICAvLyBSZW5kZXJWaWV3IHdpbGwg
YWx3YXlzIHJldHVybiB0aGUgc2l6ZSBvZiB0aGUgZG9jdW1lbnQsIGJlZm9yZSByZWFjaGluZyB0
aGlzIHBvaW50LAogICAgICAgICAgICAgLy8gc28gdGhlcmUncyBubyB3YXkgd2UgY291bGQgaGl0
IGEgUmVuZGVyTmFtZWRGbG93VGhyZWFkIGhlcmUuCiAgICAgICAgICAgICBBU1NFUlQoIWN1ckxh
eWVyLT5pc0Zsb3dUaHJlYWRDb2xsZWN0aW5nR3JhcGhpY3NMYXllcnNVbmRlclJlZ2lvbnMoKSk7
CkBAIC02MTQwLDcgKzYxMjQsNyBAQCBib29sIFJlbmRlckxheWVyOjpsaXN0QmFja2dyb3VuZElz
S25vd25Ub0JlT3BhcXVlSW5SZWN0KGNvbnN0IFZlY3RvcjxSZW5kZXJMYXllcgogICAgIGlmICgh
bGlzdCB8fCBsaXN0LT5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGZv
ciAoVmVjdG9yPFJlbmRlckxheWVyKj46OmNvbnN0X3JldmVyc2VfaXRlcmF0b3IgaXRlciA9IGxp
c3QtPnJiZWdpbigpOyBpdGVyICE9IGxpc3QtPnJlbmQoKTsgKytpdGVyKSB7CisgICAgZm9yIChh
dXRvIGl0ZXIgPSBsaXN0LT5yYmVnaW4oKTsgaXRlciAhPSBsaXN0LT5yZW5kKCk7ICsraXRlcikg
ewogICAgICAgICBjb25zdCBSZW5kZXJMYXllciogY2hpbGRMYXllciA9ICppdGVyOwogICAgICAg
ICBpZiAoY2hpbGRMYXllci0+aXNDb21wb3NpdGVkKCkpCiAgICAgICAgICAgICBjb250aW51ZTsK
QEAgLTYzMTMsMzcgKzYyOTcsMjUgQEAgdm9pZCBSZW5kZXJMYXllcjo6dXBkYXRlRGVzY2VuZGFu
dHNMYXllckxpc3RzSWZOZWVkZWQoYm9vbCByZWN1cnNpdmUpCiAgICAgCiAgICAgaWYgKGlzU3Rh
Y2tpbmdDb250YWluZXIoKSkgewogICAgICAgICBpZiAoVmVjdG9yPFJlbmRlckxheWVyKj4qIGxp
c3QgPSBuZWdaT3JkZXJMaXN0KCkpIHsKLSAgICAgICAgICAgIHNpemVfdCBsaXN0U2l6ZSA9IGxp
c3QtPnNpemUoKTsKLSAgICAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbGlzdFNpemU7
ICsraSkgewotICAgICAgICAgICAgICAgIFJlbmRlckxheWVyKiBjaGlsZExheWVyID0gbGlzdC0+
YXQoaSk7CisgICAgICAgICAgICBmb3IgKGF1dG8gY2hpbGRMYXllciA6ICpsaXN0KQogICAgICAg
ICAgICAgICAgIGxheWVyc1RvVXBkYXRlLmFwcGVuZChjaGlsZExheWVyKTsKLSAgICAgICAgICAg
IH0KICAgICAgICAgfQogICAgIH0KICAgICAKICAgICBpZiAoVmVjdG9yPFJlbmRlckxheWVyKj4q
IGxpc3QgPSBub3JtYWxGbG93TGlzdCgpKSB7Ci0gICAgICAgIHNpemVfdCBsaXN0U2l6ZSA9IGxp
c3QtPnNpemUoKTsKLSAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBsaXN0U2l6ZTsgKytp
KSB7Ci0gICAgICAgICAgICBSZW5kZXJMYXllciogY2hpbGRMYXllciA9IGxpc3QtPmF0KGkpOwor
ICAgICAgICBmb3IgKGF1dG8gY2hpbGRMYXllciA6ICpsaXN0KQogICAgICAgICAgICAgbGF5ZXJz
VG9VcGRhdGUuYXBwZW5kKGNoaWxkTGF5ZXIpOwotICAgICAgICB9CiAgICAgfQogICAgIAogICAg
IGlmIChpc1N0YWNraW5nQ29udGFpbmVyKCkpIHsKICAgICAgICAgaWYgKFZlY3RvcjxSZW5kZXJM
YXllcio+KiBsaXN0ID0gcG9zWk9yZGVyTGlzdCgpKSB7Ci0gICAgICAgICAgICBzaXplX3QgbGlz
dFNpemUgPSBsaXN0LT5zaXplKCk7Ci0gICAgICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8
IGxpc3RTaXplOyArK2kpIHsKLSAgICAgICAgICAgICAgICBSZW5kZXJMYXllciogY2hpbGRMYXll
ciA9IGxpc3QtPmF0KGkpOworICAgICAgICAgICAgZm9yIChhdXRvIGNoaWxkTGF5ZXIgOiAqbGlz
dCkKICAgICAgICAgICAgICAgICBsYXllcnNUb1VwZGF0ZS5hcHBlbmQoY2hpbGRMYXllcik7Ci0g
ICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CiAgICAgCi0gICAgc2l6ZV90IGxpc3RTaXpl
ID0gbGF5ZXJzVG9VcGRhdGUuc2l6ZSgpOwotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbGlz
dFNpemU7ICsraSkgewotICAgICAgICBSZW5kZXJMYXllciogY2hpbGRMYXllciA9IGxheWVyc1Rv
VXBkYXRlLmF0KGkpOworICAgIGZvciAoYXV0byBjaGlsZExheWVyIDogbGF5ZXJzVG9VcGRhdGUp
IHsKICAgICAgICAgY2hpbGRMYXllci0+dXBkYXRlTGF5ZXJMaXN0c0lmTmVlZGVkKCk7Ci0gICAg
ICAgIAogICAgICAgICBpZiAocmVjdXJzaXZlKQogICAgICAgICAgICAgY2hpbGRMYXllci0+dXBk
YXRlRGVzY2VuZGFudHNMYXllckxpc3RzSWZOZWVkZWQodHJ1ZSk7CiAgICAgfQpAQCAtNjk2OCw5
ICs2OTQwLDcgQEAgdm9pZCBSZW5kZXJMYXllcjo6cGFpbnRGbG93VGhyZWFkSWZSZWdpb25Gb3JG
cmFnbWVudHMoY29uc3QgTGF5ZXJGcmFnbWVudHMmIGZyYWcKICAgICAgICAgICAgIHJlZ2lvbkNs
aXBSZWN0Lm1vdmUob2Zmc2V0RnJvbUFuY2VzdG9yKHBhaW50aW5nSW5mby5yb290TGF5ZXIpKTsK
ICAgICB9CiAgICAgCi0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBmcmFnbWVudHMuc2l6ZSgp
OyArK2kpIHsKLSAgICAgICAgY29uc3QgTGF5ZXJGcmFnbWVudCYgZnJhZ21lbnQgPSBmcmFnbWVu
dHMuYXQoaSk7Ci0KKyAgICBmb3IgKGNvbnN0IGF1dG8mIGZyYWdtZW50IDogZnJhZ21lbnRzKSB7
CiAgICAgICAgIENsaXBSZWN0IGNsaXBSZWN0ID0gZnJhZ21lbnQuZm9yZWdyb3VuZFJlY3Q7CiAg
ICAgICAgIGlmIChmbG93RnJhZ21lbnQtPnNob3VsZENsaXBGbG93VGhyZWFkQ29udGVudCgpKQog
ICAgICAgICAgICAgY2xpcFJlY3QuaW50ZXJzZWN0KHJlZ2lvbkNsaXBSZWN0KTsK
</data>
<flag name="review"
          id="274473"
          type_id="1"
          status="+"
          setter="rniwa"
    />
          </attachment>
      

    </bug>

</bugzilla>