<?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>123459</bug_id>
          
          <creation_ts>2013-10-29 12:46:56 -0700</creation_ts>
          <short_desc>Make SimpleLineLayout::Layout a variable size object</short_desc>
          <delta_ts>2013-10-30 03:23:40 -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>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>
          <dependson>123505</dependson>
          
          <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>
    
    <cc>ossy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>944540</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-10-29 12:46:56 -0700</bug_when>
    <thetext>less memory</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>944544</commentid>
    <comment_count>1</comment_count>
      <attachid>215411</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-10-29 12:51:53 -0700</bug_when>
    <thetext>Created attachment 215411
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>944546</commentid>
    <comment_count>2</comment_count>
      <attachid>215412</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-10-29 12:58:39 -0700</bug_when>
    <thetext>Created attachment 215412
better patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>944547</commentid>
    <comment_count>3</comment_count>
      <attachid>215412</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-10-29 13:00:16 -0700</bug_when>
    <thetext>Comment on attachment 215412
better patch

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

Very cool. r=me

&gt; Source/WebCore/rendering/SimpleLineLayout.cpp:61
&gt; -#endif
&gt; +#endif       

why

&gt; Source/WebCore/rendering/SimpleLineLayout.h:62
&gt; +    Run runs[0];

You may need some #pragma tomfoolery to placate MSVC. See ElementData.h</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>944570</commentid>
    <comment_count>4</comment_count>
      <attachid>215412</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-10-29 13:40:57 -0700</bug_when>
    <thetext>Comment on attachment 215412
better patch

Attachment 215412 did not pass win-ews (win):
Output: http://webkit-queues.appspot.com/results/16938053</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>944580</commentid>
    <comment_count>5</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2013-10-29 13:48:39 -0700</bug_when>
    <thetext>https://trac.webkit.org/r158214</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>944843</commentid>
    <comment_count>6</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-10-30 03:23:40 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; https://trac.webkit.org/r158214

It made almost all tests crash on GTK and EFL, see https://bugs.webkit.org/show_bug.cgi?id=123505 for details.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>215411</attachid>
            <date>2013-10-29 12:51:53 -0700</date>
            <delta_ts>2013-10-29 12:58:39 -0700</delta_ts>
            <desc>patch</desc>
            <filename>simple-line-variable-length.patch</filename>
            <type>text/plain</type>
            <size>7823</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1ODIxMCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBACisyMDEzLTEwLTI5ICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIFNpbXBsZUxpbmVMYXlv
dXQ6OkxheW91dCBhIHZhcmlhYmxlIGxlbmd0aCBvYmplY3QKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMzQ1OQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIExlc3MgbWVtb3J5LCBsZXNzIGluZGlyZWN0aW9u
LgorCisgICAgICAgICogcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U2ltcGxlTGluZUxheW91dDo6Y2FuVXNlRm9yKToKKyAgICAgICAgKFdlYkNvcmU6
OlNpbXBsZUxpbmVMYXlvdXQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVMaW5l
TGF5b3V0OjpMYXlvdXQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVMaW5lTGF5
b3V0OjpMYXlvdXQ6OkxheW91dCk6CisgICAgICAgICogcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlv
dXQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dEZ1bmN0aW9ucy5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVMaW5lTGF5b3V0OjpoaXRUZXN0Rmxvdyk6CisgICAg
ICAgICogcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXRGdW5jdGlvbnMuaDoKKyAgICAgICAgKFdl
YkNvcmU6OlNpbXBsZUxpbmVMYXlvdXQ6OmNvbXB1dGVGbG93Rmlyc3RMaW5lQmFzZWxpbmUpOgor
ICAgICAgICAoV2ViQ29yZTo6U2ltcGxlTGluZUxheW91dDo6Y29tcHV0ZUZsb3dMYXN0TGluZUJh
c2VsaW5lKToKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUxpbmVMYXlvdXQ6OmZpbmRUZXh0Q2Fy
ZXRNaW5pbXVtT2Zmc2V0KToKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUxpbmVMYXlvdXQ6OmZp
bmRUZXh0Q2FyZXRNYXhpbXVtT2Zmc2V0KToKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUxpbmVM
YXlvdXQ6OmNvbnRhaW5zVGV4dENhcmV0T2Zmc2V0KToKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBs
ZUxpbmVMYXlvdXQ6OmlzVGV4dFJlbmRlcmVkKToKKyAgICAgICAgKiByZW5kZXJpbmcvU2ltcGxl
TGluZUxheW91dFJlc29sdmVyLmg6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVMaW5lTGF5b3V0
OjpSdW5SZXNvbHZlcjo6ZW5kKToKKwogMjAxMy0xMC0yOSAgQW5kcmVhcyBLbGluZyAgPGFrbGlu
Z0BhcHBsZS5jb20+CiAKICAgICAgICAgTW92ZSBtb3JlIG9mIFNWRyByZXNvdXJjZXMgY2FjaGUg
dG8gdXNpbmcgUmVuZGVyRWxlbWVudC4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9T
aW1wbGVMaW5lTGF5b3V0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvU2ltcGxlTGluZUxheW91dC5jcHAJKHJldmlzaW9uIDE1ODE5NikKKysrIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTgs
NyArNTgsNyBAQCBib29sIGNhblVzZUZvcihjb25zdCBSZW5kZXJCbG9ja0Zsb3cmIGZsCiAgICAg
Ly8gRklYTUU6IE5vbi1tYWMgcGxhdGZvcm1zIGFyZSBoaXR0aW5nIEFTU0VSVChydW4uY2hhcmFj
dGVyc0xlbmd0aCgpID49IHJ1bi5sZW5ndGgoKSkKICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIzMzM4CiAgICAgcmV0dXJuIGZhbHNlOwotI2VuZGlmCisj
ZW5kaWYgICAgICAgCiAgICAgaWYgKCFmbG93LmZpcnN0Q2hpbGQoKSkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogICAgIC8vIFRoaXMgY3VycmVudGx5IGNvdmVycyA8YmxvY2tmbG93PiN0ZXh0PC9i
bG9ja2Zsb3c+IGNhc2UuCkBAIC0yMzYsOCArMjM2LDYgQEAgc3RhdGljIHZvaWQgYWRqdXN0UnVu
T2Zmc2V0cyhWZWN0b3I8UnVuLAogCiBzdGQ6OnVuaXF1ZV9wdHI8TGF5b3V0PiBjcmVhdGUoUmVu
ZGVyQmxvY2tGbG93JiBmbG93KQogewotICAgIGF1dG8gbGF5b3V0ID0gc3RkOjptYWtlX3VuaXF1
ZTxMYXlvdXQ+KCk7Ci0KICAgICBSZW5kZXJUZXh0JiB0ZXh0UmVuZGVyZXIgPSB0b1JlbmRlclRl
eHQoKmZsb3cuZmlyc3RDaGlsZCgpKTsKICAgICBBU1NFUlQoIXRleHRSZW5kZXJlci5maXJzdFRl
eHRCb3goKSk7CiAKQEAgLTI1MCw2ICsyNDgsOSBAQCBzdGQ6OnVuaXF1ZV9wdHI8TGF5b3V0PiBj
cmVhdGUoUmVuZGVyQmxvCiAgICAgTGF6eUxpbmVCcmVha0l0ZXJhdG9yIGxpbmVCcmVha0l0ZXJh
dG9yKHRleHRSZW5kZXJlci50ZXh0KCksIHN0eWxlLmxvY2FsZSgpKTsKICAgICBpbnQgbmV4dEJy
ZWFrYWJsZSA9IC0xOwogCisgICAgVmVjdG9yPFJ1biwgMTA+IHJ1bnM7CisgICAgdW5zaWduZWQg
bGluZUNvdW50ID0gMDsKKwogICAgIHVuc2lnbmVkIGxpbmVFbmRPZmZzZXQgPSAwOwogICAgIHdo
aWxlIChsaW5lRW5kT2Zmc2V0IDwgdGV4dExlbmd0aCkgewogICAgICAgICBsaW5lRW5kT2Zmc2V0
ID0gc2tpcFdoaXRlc3BhY2VzKHRleHRSZW5kZXJlciwgbGluZUVuZE9mZnNldCwgdGV4dExlbmd0
aCk7CkBAIC0zMTgsMTYgKzMxOSwyOCBAQCBzdGQ6OnVuaXF1ZV9wdHI8TGF5b3V0PiBjcmVhdGUo
UmVuZGVyQmxvCiAgICAgICAgIGFkanVzdFJ1bk9mZnNldHMobGluZVJ1bnMsIHRleHRBbGlnbiwg
bGluZVdpZHRoLmNvbW1pdHRlZFdpZHRoKCksIGxpbmVXaWR0aC5hdmFpbGFibGVXaWR0aCgpKTsK
IAogICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbGluZVJ1bnMuc2l6ZSgpOyArK2kp
Ci0gICAgICAgICAgICBsYXlvdXQtPnJ1bnMuYXBwZW5kKGxpbmVSdW5zW2ldKTsKKyAgICAgICAg
ICAgIHJ1bnMuYXBwZW5kKGxpbmVSdW5zW2ldKTsKIAotICAgICAgICBsYXlvdXQtPnJ1bnMubGFz
dCgpLmlzRW5kT2ZMaW5lID0gdHJ1ZTsKLSAgICAgICAgbGF5b3V0LT5saW5lQ291bnQrKzsKKyAg
ICAgICAgcnVucy5sYXN0KCkuaXNFbmRPZkxpbmUgPSB0cnVlOworICAgICAgICArK2xpbmVDb3Vu
dDsKICAgICB9CiAKICAgICB0ZXh0UmVuZGVyZXIuY2xlYXJOZWVkc0xheW91dCgpOwogCi0gICAg
bGF5b3V0LT5ydW5zLnNocmlua1RvRml0KCk7Ci0gICAgcmV0dXJuIGxheW91dDsKKyAgICByZXR1
cm4gTGF5b3V0OjpjcmVhdGUocnVucywgbGluZUNvdW50KTsKK30KKworc3RkOjp1bmlxdWVfcHRy
PExheW91dD4gTGF5b3V0OjpjcmVhdGUoVmVjdG9yPFJ1biwgMTA+IHJ1blZlY3RvciwgdW5zaWdu
ZWQgbGluZUNvdW50KQoreworICAgIHZvaWQqIHNsb3QgPSBXVEY6OmZhc3RNYWxsb2Moc2l6ZW9m
KExheW91dCkgKyBzaXplb2YoUnVuKSAqIHJ1blZlY3Rvci5zaXplKCkpOworICAgIHJldHVybiBz
dGQ6OnVuaXF1ZV9wdHI8TGF5b3V0PihuZXcgKE5vdE51bGwsIHNsb3QpIExheW91dChydW5WZWN0
b3IsIGxpbmVDb3VudCkpOworfQorCitMYXlvdXQ6OkxheW91dChWZWN0b3I8UnVuLCAxMD4gcnVu
VmVjdG9yLCB1bnNpZ25lZCBsaW5lQ291bnQpCisgICAgOiBydW5Db3VudChydW5WZWN0b3Iuc2l6
ZSgpKQorICAgICwgbGluZUNvdW50KGxpbmVDb3VudCkKK3sKKyAgICBtZW1jcHkocnVucywgcnVu
VmVjdG9yLmRhdGEoKSwgcnVuQ291bnQgKiBzaXplb2YoUnVuKSk7CiB9CiAKIH0KSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXQuaAkocmV2aXNpb24gMTU4
MTk2KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXQuaAkod29y
a2luZyBjb3B5KQpAQCAtNTQsMTAgKzU0LDE0IEBAIHN0cnVjdCBSdW4gewogfTsKIAogc3RydWN0
IExheW91dCB7Ci0gICAgTGF5b3V0KCkgOiBsaW5lQ291bnQoMCkgeyB9CisgICAgc3RhdGljIHN0
ZDo6dW5pcXVlX3B0cjxMYXlvdXQ+IGNyZWF0ZShWZWN0b3I8UnVuLCAxMD4sIHVuc2lnbmVkIGxp
bmVDb3VudCk7CiAKKyAgICB1bnNpZ25lZCBydW5Db3VudDsKICAgICB1bnNpZ25lZCBsaW5lQ291
bnQ7Ci0gICAgVmVjdG9yPFJ1bj4gcnVuczsKKyAgICBSdW4gcnVuc1swXTsKKworcHJpdmF0ZToK
KyAgICBMYXlvdXQoVmVjdG9yPFJ1biwgMTA+LCB1bnNpZ25lZCBsaW5lQ291bnQpOwogfTsKIAog
c3RkOjp1bmlxdWVfcHRyPExheW91dD4gY3JlYXRlKFJlbmRlckJsb2NrRmxvdyYpOwpJbmRleDog
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXRGdW5jdGlvbnMuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0RnVu
Y3Rpb25zLmNwcAkocmV2aXNpb24gMTU4MTk2KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1NpbXBsZUxpbmVMYXlvdXRGdW5jdGlvbnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03NCw3ICs3
NCw3IEBAIGJvb2wgaGl0VGVzdEZsb3coY29uc3QgUmVuZGVyQmxvY2tGbG93JiAKICAgICBpZiAo
aGl0VGVzdEFjdGlvbiAhPSBIaXRUZXN0Rm9yZWdyb3VuZCkKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogCi0gICAgaWYgKGxheW91dC5ydW5zLmlzRW1wdHkoKSkKKyAgICBpZiAoIWxheW91dC5ydW5D
b3VudCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgUmVuZGVyU3R5bGUmIHN0eWxlID0g
Zmxvdy5zdHlsZSgpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVM
YXlvdXRGdW5jdGlvbnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
U2ltcGxlTGluZUxheW91dEZ1bmN0aW9ucy5oCShyZXZpc2lvbiAxNTgxOTApCisrKyBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dEZ1bmN0aW9ucy5oCSh3b3JraW5nIGNv
cHkpCkBAIC03MCwzNCArNzAsMzQgQEAgaW5saW5lIExheW91dFVuaXQgY29tcHV0ZUZsb3dIZWln
aHQoY29ucwogCiBpbmxpbmUgTGF5b3V0VW5pdCBjb21wdXRlRmxvd0ZpcnN0TGluZUJhc2VsaW5l
KGNvbnN0IFJlbmRlckJsb2NrRmxvdyYgZmxvdywgY29uc3QgTGF5b3V0JiBsYXlvdXQpCiB7Ci0g
ICAgQVNTRVJUX1VOVVNFRChsYXlvdXQsICFsYXlvdXQucnVucy5pc0VtcHR5KCkpOworICAgIEFT
U0VSVF9VTlVTRUQobGF5b3V0LCBsYXlvdXQucnVuQ291bnQpOwogICAgIHJldHVybiBmbG93LmJv
cmRlckFuZFBhZGRpbmdCZWZvcmUoKSArIGJhc2VsaW5lRnJvbUZsb3coZmxvdyk7CiB9CiAKIGlu
bGluZSBMYXlvdXRVbml0IGNvbXB1dGVGbG93TGFzdExpbmVCYXNlbGluZShjb25zdCBSZW5kZXJC
bG9ja0Zsb3cmIGZsb3csIGNvbnN0IExheW91dCYgbGF5b3V0KQogewotICAgIEFTU0VSVCghbGF5
b3V0LnJ1bnMuaXNFbXB0eSgpKTsKLSAgICByZXR1cm4gZmxvdy5ib3JkZXJBbmRQYWRkaW5nQmVm
b3JlKCkgKyBsaW5lSGVpZ2h0RnJvbUZsb3coZmxvdykgKiAobGF5b3V0LnJ1bnMuc2l6ZSgpIC0g
MSkgKyBiYXNlbGluZUZyb21GbG93KGZsb3cpOworICAgIEFTU0VSVChsYXlvdXQucnVuQ291bnQp
OworICAgIHJldHVybiBmbG93LmJvcmRlckFuZFBhZGRpbmdCZWZvcmUoKSArIGxpbmVIZWlnaHRG
cm9tRmxvdyhmbG93KSAqIChsYXlvdXQucnVuQ291bnQgLSAxKSArIGJhc2VsaW5lRnJvbUZsb3co
Zmxvdyk7CiB9CiAKIGlubGluZSB1bnNpZ25lZCBmaW5kVGV4dENhcmV0TWluaW11bU9mZnNldChj
b25zdCBSZW5kZXJUZXh0JiwgY29uc3QgTGF5b3V0JiBsYXlvdXQpCiB7Ci0gICAgaWYgKGxheW91
dC5ydW5zLmlzRW1wdHkoKSkKKyAgICBpZiAoIWxheW91dC5ydW5Db3VudCkKICAgICAgICAgcmV0
dXJuIDA7CiAgICAgcmV0dXJuIGxheW91dC5ydW5zWzBdLnRleHRPZmZzZXQ7CiB9CiAKIGlubGlu
ZSB1bnNpZ25lZCBmaW5kVGV4dENhcmV0TWF4aW11bU9mZnNldChjb25zdCBSZW5kZXJUZXh0JiBy
ZW5kZXJlciwgY29uc3QgTGF5b3V0JiBsYXlvdXQpCiB7Ci0gICAgaWYgKGxheW91dC5ydW5zLmlz
RW1wdHkoKSkKKyAgICBpZiAoIWxheW91dC5ydW5Db3VudCkKICAgICAgICAgcmV0dXJuIHJlbmRl
cmVyLnRleHRMZW5ndGgoKTsKLSAgICBhdXRvJiBsYXN0ID0gbGF5b3V0LnJ1bnNbbGF5b3V0LnJ1
bnMuc2l6ZSgpIC0gMV07CisgICAgYXV0byYgbGFzdCA9IGxheW91dC5ydW5zW2xheW91dC5ydW5D
b3VudCAtIDFdOwogICAgIHJldHVybiBsYXN0LnRleHRPZmZzZXQgKyBsYXN0LnRleHRMZW5ndGg7
CiB9CiAKIGlubGluZSBib29sIGNvbnRhaW5zVGV4dENhcmV0T2Zmc2V0KGNvbnN0IFJlbmRlclRl
eHQmLCBjb25zdCBMYXlvdXQmIGxheW91dCwgdW5zaWduZWQgb2Zmc2V0KQogewotICAgIGZvciAo
dW5zaWduZWQgaSA9IDA7IGkgPCBsYXlvdXQucnVucy5zaXplKCk7ICsraSkgeworICAgIGZvciAo
dW5zaWduZWQgaSA9IDA7IGkgPCBsYXlvdXQucnVuQ291bnQ7ICsraSkgewogICAgICAgICBhdXRv
JiBsaW5lID0gbGF5b3V0LnJ1bnNbaV07CiAgICAgICAgIGlmIChvZmZzZXQgPCBsaW5lLnRleHRP
ZmZzZXQpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC0xMDksNyArMTA5LDcgQEAgaW5s
aW5lIGJvb2wgY29udGFpbnNUZXh0Q2FyZXRPZmZzZXQoY29ucwogCiBpbmxpbmUgYm9vbCBpc1Rl
eHRSZW5kZXJlZChjb25zdCBSZW5kZXJUZXh0JiwgY29uc3QgTGF5b3V0JiBsYXlvdXQpCiB7Ci0g
ICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGxheW91dC5ydW5zLnNpemUoKTsgKytpKSB7Cisg
ICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGxheW91dC5ydW5Db3VudDsgKytpKSB7CiAgICAg
ICAgIGlmIChsYXlvdXQucnVuc1tpXS50ZXh0TGVuZ3RoKQogICAgICAgICAgICAgcmV0dXJuIHRy
dWU7CiAgICAgfQpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlv
dXRSZXNvbHZlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1w
bGVMaW5lTGF5b3V0UmVzb2x2ZXIuaAkocmV2aXNpb24gMTU4MTk2KQorKysgU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXRSZXNvbHZlci5oCSh3b3JraW5nIGNvcHkpCkBA
IC0yMTAsNyArMjEwLDcgQEAgaW5saW5lIFJ1blJlc29sdmVyOjpJdGVyYXRvciBSdW5SZXNvbHZl
cgogCiBpbmxpbmUgUnVuUmVzb2x2ZXI6Okl0ZXJhdG9yIFJ1blJlc29sdmVyOjplbmQoKSBjb25z
dAogewotICAgIHJldHVybiBJdGVyYXRvcigqdGhpcywgbV9sYXlvdXQucnVucy5zaXplKCkpOwor
ICAgIHJldHVybiBJdGVyYXRvcigqdGhpcywgbV9sYXlvdXQucnVuQ291bnQpOwogfQogCiBpbmxp
bmUgTGluZVJlc29sdmVyOjpJdGVyYXRvcjo6SXRlcmF0b3IoUnVuUmVzb2x2ZXI6Okl0ZXJhdG9y
IHJ1bkl0ZXJhdG9yKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>215412</attachid>
            <date>2013-10-29 12:58:39 -0700</date>
            <delta_ts>2013-10-29 13:40:57 -0700</delta_ts>
            <desc>better patch</desc>
            <filename>simple-line-variable-length-2.patch</filename>
            <type>text/plain</type>
            <size>7869</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1ODIxMCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBACisyMDEzLTEwLTI5ICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIFNpbXBsZUxpbmVMYXlv
dXQ6OkxheW91dCBhIHZhcmlhYmxlIGxlbmd0aCBvYmplY3QKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMzQ1OQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIExlc3MgbWVtb3J5LCBsZXNzIGluZGlyZWN0aW9u
LgorCisgICAgICAgICogcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U2ltcGxlTGluZUxheW91dDo6Y2FuVXNlRm9yKToKKyAgICAgICAgKFdlYkNvcmU6
OlNpbXBsZUxpbmVMYXlvdXQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVMaW5l
TGF5b3V0OjpMYXlvdXQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVMaW5lTGF5
b3V0OjpMYXlvdXQ6OkxheW91dCk6CisgICAgICAgICogcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlv
dXQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dEZ1bmN0aW9ucy5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVMaW5lTGF5b3V0OjpoaXRUZXN0Rmxvdyk6CisgICAg
ICAgICogcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXRGdW5jdGlvbnMuaDoKKyAgICAgICAgKFdl
YkNvcmU6OlNpbXBsZUxpbmVMYXlvdXQ6OmNvbXB1dGVGbG93Rmlyc3RMaW5lQmFzZWxpbmUpOgor
ICAgICAgICAoV2ViQ29yZTo6U2ltcGxlTGluZUxheW91dDo6Y29tcHV0ZUZsb3dMYXN0TGluZUJh
c2VsaW5lKToKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUxpbmVMYXlvdXQ6OmZpbmRUZXh0Q2Fy
ZXRNaW5pbXVtT2Zmc2V0KToKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUxpbmVMYXlvdXQ6OmZp
bmRUZXh0Q2FyZXRNYXhpbXVtT2Zmc2V0KToKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUxpbmVM
YXlvdXQ6OmNvbnRhaW5zVGV4dENhcmV0T2Zmc2V0KToKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBs
ZUxpbmVMYXlvdXQ6OmlzVGV4dFJlbmRlcmVkKToKKyAgICAgICAgKiByZW5kZXJpbmcvU2ltcGxl
TGluZUxheW91dFJlc29sdmVyLmg6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVMaW5lTGF5b3V0
OjpSdW5SZXNvbHZlcjo6ZW5kKToKKwogMjAxMy0xMC0yOSAgQW5kcmVhcyBLbGluZyAgPGFrbGlu
Z0BhcHBsZS5jb20+CiAKICAgICAgICAgTW92ZSBtb3JlIG9mIFNWRyByZXNvdXJjZXMgY2FjaGUg
dG8gdXNpbmcgUmVuZGVyRWxlbWVudC4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9T
aW1wbGVMaW5lTGF5b3V0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvU2ltcGxlTGluZUxheW91dC5jcHAJKHJldmlzaW9uIDE1ODE5NikKKysrIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTgs
NyArNTgsNyBAQCBib29sIGNhblVzZUZvcihjb25zdCBSZW5kZXJCbG9ja0Zsb3cmIGZsCiAgICAg
Ly8gRklYTUU6IE5vbi1tYWMgcGxhdGZvcm1zIGFyZSBoaXR0aW5nIEFTU0VSVChydW4uY2hhcmFj
dGVyc0xlbmd0aCgpID49IHJ1bi5sZW5ndGgoKSkKICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIzMzM4CiAgICAgcmV0dXJuIGZhbHNlOwotI2VuZGlmCisj
ZW5kaWYgICAgICAgCiAgICAgaWYgKCFmbG93LmZpcnN0Q2hpbGQoKSkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogICAgIC8vIFRoaXMgY3VycmVudGx5IGNvdmVycyA8YmxvY2tmbG93PiN0ZXh0PC9i
bG9ja2Zsb3c+IGNhc2UuCkBAIC0yMzYsOCArMjM2LDYgQEAgc3RhdGljIHZvaWQgYWRqdXN0UnVu
T2Zmc2V0cyhWZWN0b3I8UnVuLAogCiBzdGQ6OnVuaXF1ZV9wdHI8TGF5b3V0PiBjcmVhdGUoUmVu
ZGVyQmxvY2tGbG93JiBmbG93KQogewotICAgIGF1dG8gbGF5b3V0ID0gc3RkOjptYWtlX3VuaXF1
ZTxMYXlvdXQ+KCk7Ci0KICAgICBSZW5kZXJUZXh0JiB0ZXh0UmVuZGVyZXIgPSB0b1JlbmRlclRl
eHQoKmZsb3cuZmlyc3RDaGlsZCgpKTsKICAgICBBU1NFUlQoIXRleHRSZW5kZXJlci5maXJzdFRl
eHRCb3goKSk7CiAKQEAgLTI1MCw2ICsyNDgsOSBAQCBzdGQ6OnVuaXF1ZV9wdHI8TGF5b3V0PiBj
cmVhdGUoUmVuZGVyQmxvCiAgICAgTGF6eUxpbmVCcmVha0l0ZXJhdG9yIGxpbmVCcmVha0l0ZXJh
dG9yKHRleHRSZW5kZXJlci50ZXh0KCksIHN0eWxlLmxvY2FsZSgpKTsKICAgICBpbnQgbmV4dEJy
ZWFrYWJsZSA9IC0xOwogCisgICAgTGF5b3V0OjpSdW5WZWN0b3IgcnVuczsKKyAgICB1bnNpZ25l
ZCBsaW5lQ291bnQgPSAwOworCiAgICAgdW5zaWduZWQgbGluZUVuZE9mZnNldCA9IDA7CiAgICAg
d2hpbGUgKGxpbmVFbmRPZmZzZXQgPCB0ZXh0TGVuZ3RoKSB7CiAgICAgICAgIGxpbmVFbmRPZmZz
ZXQgPSBza2lwV2hpdGVzcGFjZXModGV4dFJlbmRlcmVyLCBsaW5lRW5kT2Zmc2V0LCB0ZXh0TGVu
Z3RoKTsKQEAgLTMxOCwxNiArMzE5LDI4IEBAIHN0ZDo6dW5pcXVlX3B0cjxMYXlvdXQ+IGNyZWF0
ZShSZW5kZXJCbG8KICAgICAgICAgYWRqdXN0UnVuT2Zmc2V0cyhsaW5lUnVucywgdGV4dEFsaWdu
LCBsaW5lV2lkdGguY29tbWl0dGVkV2lkdGgoKSwgbGluZVdpZHRoLmF2YWlsYWJsZVdpZHRoKCkp
OwogCiAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBsaW5lUnVucy5zaXplKCk7ICsr
aSkKLSAgICAgICAgICAgIGxheW91dC0+cnVucy5hcHBlbmQobGluZVJ1bnNbaV0pOworICAgICAg
ICAgICAgcnVucy5hcHBlbmQobGluZVJ1bnNbaV0pOwogCi0gICAgICAgIGxheW91dC0+cnVucy5s
YXN0KCkuaXNFbmRPZkxpbmUgPSB0cnVlOwotICAgICAgICBsYXlvdXQtPmxpbmVDb3VudCsrOwor
ICAgICAgICBydW5zLmxhc3QoKS5pc0VuZE9mTGluZSA9IHRydWU7CisgICAgICAgICsrbGluZUNv
dW50OwogICAgIH0KIAogICAgIHRleHRSZW5kZXJlci5jbGVhck5lZWRzTGF5b3V0KCk7CiAKLSAg
ICBsYXlvdXQtPnJ1bnMuc2hyaW5rVG9GaXQoKTsKLSAgICByZXR1cm4gbGF5b3V0OworICAgIHJl
dHVybiBMYXlvdXQ6OmNyZWF0ZShydW5zLCBsaW5lQ291bnQpOworfQorCitzdGQ6OnVuaXF1ZV9w
dHI8TGF5b3V0PiBMYXlvdXQ6OmNyZWF0ZShjb25zdCBSdW5WZWN0b3ImIHJ1blZlY3RvciwgdW5z
aWduZWQgbGluZUNvdW50KQoreworICAgIHZvaWQqIHNsb3QgPSBXVEY6OmZhc3RNYWxsb2Moc2l6
ZW9mKExheW91dCkgKyBzaXplb2YoUnVuKSAqIHJ1blZlY3Rvci5zaXplKCkpOworICAgIHJldHVy
biBzdGQ6OnVuaXF1ZV9wdHI8TGF5b3V0PihuZXcgKE5vdE51bGwsIHNsb3QpIExheW91dChydW5W
ZWN0b3IsIGxpbmVDb3VudCkpOworfQorCitMYXlvdXQ6OkxheW91dChjb25zdCBSdW5WZWN0b3Im
IHJ1blZlY3RvciwgdW5zaWduZWQgbGluZUNvdW50KQorICAgIDogcnVuQ291bnQocnVuVmVjdG9y
LnNpemUoKSkKKyAgICAsIGxpbmVDb3VudChsaW5lQ291bnQpCit7CisgICAgbWVtY3B5KHJ1bnMs
IHJ1blZlY3Rvci5kYXRhKCksIHJ1bkNvdW50ICogc2l6ZW9mKFJ1bikpOwogfQogCiB9CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0LmgJKHJldmlzaW9u
IDE1ODE5NikKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTU0LDEwICs1NCwxNSBAQCBzdHJ1Y3QgUnVuIHsKIH07CiAKIHN0
cnVjdCBMYXlvdXQgewotICAgIExheW91dCgpIDogbGluZUNvdW50KDApIHsgfQorICAgIHR5cGVk
ZWYgVmVjdG9yPFJ1biwgMTA+IFJ1blZlY3RvcjsKKyAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRy
PExheW91dD4gY3JlYXRlKGNvbnN0IFJ1blZlY3RvciYsIHVuc2lnbmVkIGxpbmVDb3VudCk7CiAK
KyAgICB1bnNpZ25lZCBydW5Db3VudDsKICAgICB1bnNpZ25lZCBsaW5lQ291bnQ7Ci0gICAgVmVj
dG9yPFJ1bj4gcnVuczsKKyAgICBSdW4gcnVuc1swXTsKKworcHJpdmF0ZToKKyAgICBMYXlvdXQo
Y29uc3QgUnVuVmVjdG9yJiwgdW5zaWduZWQgbGluZUNvdW50KTsKIH07CiAKIHN0ZDo6dW5pcXVl
X3B0cjxMYXlvdXQ+IGNyZWF0ZShSZW5kZXJCbG9ja0Zsb3cmKTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0RnVuY3Rpb25zLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dEZ1bmN0aW9ucy5jcHAJ
KHJldmlzaW9uIDE1ODE5NikKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5l
TGF5b3V0RnVuY3Rpb25zLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzQsNyArNzQsNyBAQCBib29s
IGhpdFRlc3RGbG93KGNvbnN0IFJlbmRlckJsb2NrRmxvdyYgCiAgICAgaWYgKGhpdFRlc3RBY3Rp
b24gIT0gSGl0VGVzdEZvcmVncm91bmQpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGlm
IChsYXlvdXQucnVucy5pc0VtcHR5KCkpCisgICAgaWYgKCFsYXlvdXQucnVuQ291bnQpCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKIAogICAgIFJlbmRlclN0eWxlJiBzdHlsZSA9IGZsb3cuc3R5bGUo
KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0RnVuY3Rp
b25zLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVM
YXlvdXRGdW5jdGlvbnMuaAkocmV2aXNpb24gMTU4MTkwKQorKysgU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXRGdW5jdGlvbnMuaAkod29ya2luZyBjb3B5KQpAQCAtNzAs
MzQgKzcwLDM0IEBAIGlubGluZSBMYXlvdXRVbml0IGNvbXB1dGVGbG93SGVpZ2h0KGNvbnMKIAog
aW5saW5lIExheW91dFVuaXQgY29tcHV0ZUZsb3dGaXJzdExpbmVCYXNlbGluZShjb25zdCBSZW5k
ZXJCbG9ja0Zsb3cmIGZsb3csIGNvbnN0IExheW91dCYgbGF5b3V0KQogewotICAgIEFTU0VSVF9V
TlVTRUQobGF5b3V0LCAhbGF5b3V0LnJ1bnMuaXNFbXB0eSgpKTsKKyAgICBBU1NFUlRfVU5VU0VE
KGxheW91dCwgbGF5b3V0LnJ1bkNvdW50KTsKICAgICByZXR1cm4gZmxvdy5ib3JkZXJBbmRQYWRk
aW5nQmVmb3JlKCkgKyBiYXNlbGluZUZyb21GbG93KGZsb3cpOwogfQogCiBpbmxpbmUgTGF5b3V0
VW5pdCBjb21wdXRlRmxvd0xhc3RMaW5lQmFzZWxpbmUoY29uc3QgUmVuZGVyQmxvY2tGbG93JiBm
bG93LCBjb25zdCBMYXlvdXQmIGxheW91dCkKIHsKLSAgICBBU1NFUlQoIWxheW91dC5ydW5zLmlz
RW1wdHkoKSk7Ci0gICAgcmV0dXJuIGZsb3cuYm9yZGVyQW5kUGFkZGluZ0JlZm9yZSgpICsgbGlu
ZUhlaWdodEZyb21GbG93KGZsb3cpICogKGxheW91dC5ydW5zLnNpemUoKSAtIDEpICsgYmFzZWxp
bmVGcm9tRmxvdyhmbG93KTsKKyAgICBBU1NFUlQobGF5b3V0LnJ1bkNvdW50KTsKKyAgICByZXR1
cm4gZmxvdy5ib3JkZXJBbmRQYWRkaW5nQmVmb3JlKCkgKyBsaW5lSGVpZ2h0RnJvbUZsb3coZmxv
dykgKiAobGF5b3V0LnJ1bkNvdW50IC0gMSkgKyBiYXNlbGluZUZyb21GbG93KGZsb3cpOwogfQog
CiBpbmxpbmUgdW5zaWduZWQgZmluZFRleHRDYXJldE1pbmltdW1PZmZzZXQoY29uc3QgUmVuZGVy
VGV4dCYsIGNvbnN0IExheW91dCYgbGF5b3V0KQogewotICAgIGlmIChsYXlvdXQucnVucy5pc0Vt
cHR5KCkpCisgICAgaWYgKCFsYXlvdXQucnVuQ291bnQpCiAgICAgICAgIHJldHVybiAwOwogICAg
IHJldHVybiBsYXlvdXQucnVuc1swXS50ZXh0T2Zmc2V0OwogfQogCiBpbmxpbmUgdW5zaWduZWQg
ZmluZFRleHRDYXJldE1heGltdW1PZmZzZXQoY29uc3QgUmVuZGVyVGV4dCYgcmVuZGVyZXIsIGNv
bnN0IExheW91dCYgbGF5b3V0KQogewotICAgIGlmIChsYXlvdXQucnVucy5pc0VtcHR5KCkpCisg
ICAgaWYgKCFsYXlvdXQucnVuQ291bnQpCiAgICAgICAgIHJldHVybiByZW5kZXJlci50ZXh0TGVu
Z3RoKCk7Ci0gICAgYXV0byYgbGFzdCA9IGxheW91dC5ydW5zW2xheW91dC5ydW5zLnNpemUoKSAt
IDFdOworICAgIGF1dG8mIGxhc3QgPSBsYXlvdXQucnVuc1tsYXlvdXQucnVuQ291bnQgLSAxXTsK
ICAgICByZXR1cm4gbGFzdC50ZXh0T2Zmc2V0ICsgbGFzdC50ZXh0TGVuZ3RoOwogfQogCiBpbmxp
bmUgYm9vbCBjb250YWluc1RleHRDYXJldE9mZnNldChjb25zdCBSZW5kZXJUZXh0JiwgY29uc3Qg
TGF5b3V0JiBsYXlvdXQsIHVuc2lnbmVkIG9mZnNldCkKIHsKLSAgICBmb3IgKHVuc2lnbmVkIGkg
PSAwOyBpIDwgbGF5b3V0LnJ1bnMuc2l6ZSgpOyArK2kpIHsKKyAgICBmb3IgKHVuc2lnbmVkIGkg
PSAwOyBpIDwgbGF5b3V0LnJ1bkNvdW50OyArK2kpIHsKICAgICAgICAgYXV0byYgbGluZSA9IGxh
eW91dC5ydW5zW2ldOwogICAgICAgICBpZiAob2Zmc2V0IDwgbGluZS50ZXh0T2Zmc2V0KQogICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMTA5LDcgKzEwOSw3IEBAIGlubGluZSBib29sIGNv
bnRhaW5zVGV4dENhcmV0T2Zmc2V0KGNvbnMKIAogaW5saW5lIGJvb2wgaXNUZXh0UmVuZGVyZWQo
Y29uc3QgUmVuZGVyVGV4dCYsIGNvbnN0IExheW91dCYgbGF5b3V0KQogewotICAgIGZvciAodW5z
aWduZWQgaSA9IDA7IGkgPCBsYXlvdXQucnVucy5zaXplKCk7ICsraSkgeworICAgIGZvciAodW5z
aWduZWQgaSA9IDA7IGkgPCBsYXlvdXQucnVuQ291bnQ7ICsraSkgewogICAgICAgICBpZiAobGF5
b3V0LnJ1bnNbaV0udGV4dExlbmd0aCkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0K
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0UmVzb2x2ZXIu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91
dFJlc29sdmVyLmgJKHJldmlzaW9uIDE1ODE5NikKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9TaW1wbGVMaW5lTGF5b3V0UmVzb2x2ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMjEwLDcgKzIx
MCw3IEBAIGlubGluZSBSdW5SZXNvbHZlcjo6SXRlcmF0b3IgUnVuUmVzb2x2ZXIKIAogaW5saW5l
IFJ1blJlc29sdmVyOjpJdGVyYXRvciBSdW5SZXNvbHZlcjo6ZW5kKCkgY29uc3QKIHsKLSAgICBy
ZXR1cm4gSXRlcmF0b3IoKnRoaXMsIG1fbGF5b3V0LnJ1bnMuc2l6ZSgpKTsKKyAgICByZXR1cm4g
SXRlcmF0b3IoKnRoaXMsIG1fbGF5b3V0LnJ1bkNvdW50KTsKIH0KIAogaW5saW5lIExpbmVSZXNv
bHZlcjo6SXRlcmF0b3I6Okl0ZXJhdG9yKFJ1blJlc29sdmVyOjpJdGVyYXRvciBydW5JdGVyYXRv
cikK
</data>
<flag name="review"
          id="238135"
          type_id="1"
          status="+"
          setter="kling"
    />
    <flag name="commit-queue"
          id="238139"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
      

    </bug>

</bugzilla>