<?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>112758</bug_id>
          
          <creation_ts>2013-03-19 17:40:10 -0700</creation_ts>
          <short_desc>[V8] Simplify implementation of EnforceRange conversions</short_desc>
          <delta_ts>2013-03-20 11:20:04 -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>0</everconfirmed>
          <reporter name="Michael Pruett">michael</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>haraken</cc>
    
    <cc>japhet</cc>
    
    <cc>jsbell</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>858908</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Pruett">michael</who>
    <bug_when>2013-03-19 17:40:10 -0700</bug_when>
    <thetext>The implementation of EnforceRange in conversion functions in V8Bindings.cpp involves some repetition which could be refactored into a common helper method.

Furthermore the formula for rounding to the nearest integer not greater in absolute value can be stated in a more concise manner.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858915</commentid>
    <comment_count>1</comment_count>
    <who name="Michael Pruett">michael</who>
    <bug_when>2013-03-19 17:51:11 -0700</bug_when>
    <thetext>Rounding to the nearest integer not greater in absolute value, currently accomplished using the following formula in V8Binding.cpp:

  x = (x &lt; 0 ? -1 : 1) * floor(fabs(x))

can be expressed more succinctly:

  x = trunc(x)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859034</commentid>
    <comment_count>2</comment_count>
      <attachid>193977</attachid>
    <who name="Michael Pruett">michael</who>
    <bug_when>2013-03-19 20:52:51 -0700</bug_when>
    <thetext>Created attachment 193977
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859040</commentid>
    <comment_count>3</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2013-03-19 21:04:05 -0700</bug_when>
    <thetext>Nice, thanks for the cleanup.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859045</commentid>
    <comment_count>4</comment_count>
      <attachid>193979</attachid>
    <who name="Michael Pruett">michael</who>
    <bug_when>2013-03-19 21:14:24 -0700</bug_when>
    <thetext>Created attachment 193979
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859046</commentid>
    <comment_count>5</comment_count>
      <attachid>193979</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-03-19 21:15:04 -0700</bug_when>
    <thetext>Comment on attachment 193979
Patch

Great.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859570</commentid>
    <comment_count>6</comment_count>
      <attachid>193979</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-20 11:20:01 -0700</bug_when>
    <thetext>Comment on attachment 193979
Patch

Clearing flags on attachment: 193979

Committed r146365: &lt;http://trac.webkit.org/changeset/146365&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859572</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-20 11:20:04 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193977</attachid>
            <date>2013-03-19 20:52:51 -0700</date>
            <delta_ts>2013-03-19 21:14:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>v8-enforcerange.patch</filename>
            <type>text/plain</type>
            <size>5068</size>
            <attacher name="Michael Pruett">michael</attacher>
            
              <data encoding="base64">RnJvbTogTWljaGFlbCBQcnVldHQgPG1pY2hhZWxANjhrLm9yZz4KRGF0ZTogVHVlLCAxOSBNYXIg
MjAxMyAyMDozMTowMyAtMDcwMApTdWJqZWN0OiBbVjhdIFNpbXBsaWZ5IGltcGxlbWVudGF0aW9u
IG9mIEVuZm9yY2VSYW5nZSBjb252ZXJzaW9ucwoKLS0tCiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cgICAgICAgICAgICAgICAgIHwgICAyMyArKysrKysrKysrCiBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9WOEJpbmRpbmcuY3BwIHwgICA3NCArKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0t
LS0KIDIgZmlsZXMgY2hhbmdlZCwgNDUgaW5zZXJ0aW9ucygrKSwgNTIgZGVsZXRpb25zKC0pCgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCmluZGV4IDRmMmVjMjUuLjYzZjg3OGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBA
QAorMjAxMy0wMy0xOSAgTWljaGFlbCBQcnVldHQgIDxtaWNoYWVsQDY4ay5vcmc+CisKKyAgICAg
ICAgW1Y4XSBTaW1wbGlmeSBpbXBsZW1lbnRhdGlvbiBvZiBFbmZvcmNlUmFuZ2UgY29udmVyc2lv
bnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMjc1
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZhY3Rv
ciBvdXQgRW5mb3JjZVJhbmdlIGNvbnZlcnNpb24gaW50byBhIGhlbHBlciBtZXRob2QuCisgICAg
ICAgIFNpbXBsaWZ5IGNhbGN1bGF0aW9uIGZvciB0cnVuY2F0aW9uLgorCisgICAgICAgIFRlc3Rz
OiBmYXN0L2pzL3dlYmlkbC10eXBlLW1hcHBpbmcuaHRtbAorICAgICAgICAgICAgICAgc3RvcmFn
ZS9pbmRleGVkZGIvY3Vyc29yLWFkdmFuY2UuaHRtbAorICAgICAgICAgICAgICAgc3RvcmFnZS9p
bmRleGVkZGIvY3Vyc29yLWFkdmFuY2Utd29ya2Vycy5odG1sCisgICAgICAgICAgICAgICBzdG9y
YWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLWJhZC1wYXJhbWV0ZXJzLmh0bWwKKworICAgICAgICAq
IGJpbmRpbmdzL3Y4L1Y4QmluZGluZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjplbmZvcmNlUmFu
Z2UpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjp0b0ludDMyKToKKyAg
ICAgICAgKFdlYkNvcmU6OnRvVUludDMyKToKKyAgICAgICAgKFdlYkNvcmU6OnRvSW50NjQpOgor
ICAgICAgICAoV2ViQ29yZTo6dG9VSW50NjQpOgorCiAyMDEzLTAzLTE4ICBPamFuIFZhZmFpICA8
b2phbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgTWFrZSBpbnRyaW5zaWMgc2l6ZSBrZXl3b3Jk
cyBvbiBmbGV4Ym94ZXMgd29yawpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvVjhCaW5kaW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4QmluZGluZy5j
cHAKaW5kZXggYjRiYTgxMi4uYjgyYWMxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvVjhCaW5kaW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9W
OEJpbmRpbmcuY3BwCkBAIC0xMDgsNiArMTA4LDIwIEBAIGNvbnN0IGludDMyX3Qga01pbkludDMy
ID0gLWtNYXhJbnQzMiAtIDE7CiBjb25zdCB1aW50MzJfdCBrTWF4VUludDMyID0gMHhmZmZmZmZm
ZjsKIGNvbnN0IGludDY0X3Qga0pTTWF4SW50ZWdlciA9IDB4MjAwMDAwMDAwMDAwMDBMTCAtIDE7
IC8vIDJeNTMgLSAxLCBtYXhpbXVtIGludGVnZXIgZXhhY3RseSByZXByZXNlbnRhYmxlIGluIEVD
TUFTY3JpcHQuCiAKK3N0YXRpYyBkb3VibGUgZW5mb3JjZVJhbmdlKGRvdWJsZSB4LCBkb3VibGUg
bWluaW11bSwgZG91YmxlIG1heGltdW0sIGJvb2wmIG9rKQoreworICAgIGlmIChzdGQ6OmlzbmFu
KHgpIHx8IHN0ZDo6aXNpbmYoeCkpIHsKKyAgICAgICAgb2sgPSBmYWxzZTsKKyAgICAgICAgcmV0
dXJuIDA7CisgICAgfQorICAgIHggPSB0cnVuYyh4KTsKKyAgICBpZiAoeCA8IG1pbmltdW0gfHwg
eCA+IG1heGltdW0pIHsKKyAgICAgICAgb2sgPSBmYWxzZTsKKyAgICAgICAgcmV0dXJuIDA7Cisg
ICAgfQorICAgIHJldHVybiB4OworfQorCiBpbnQzMl90IHRvSW50MzIodjg6OkhhbmRsZTx2ODo6
VmFsdWU+IHZhbHVlLCBJbnRlZ2VyQ29udmVyc2lvbkNvbmZpZ3VyYXRpb24gY29uZmlndXJhdGlv
biwgYm9vbCYgb2spCiB7CiAgICAgb2sgPSB0cnVlOwpAQCAtMTIzLDIwICsxMzcsOCBAQCBpbnQz
Ml90IHRvSW50MzIodjg6OkhhbmRsZTx2ODo6VmFsdWU+IHZhbHVlLCBJbnRlZ2VyQ29udmVyc2lv
bkNvbmZpZ3VyYXRpb24gY29uZgogICAgICAgICByZXR1cm4gMDsKICAgICB9CiAKLSAgICBpZiAo
Y29uZmlndXJhdGlvbiA9PSBFbmZvcmNlUmFuZ2UpIHsKLSAgICAgICAgZG91YmxlIHggPSBudW1i
ZXJPYmplY3QtPlZhbHVlKCk7Ci0gICAgICAgIGlmIChzdGQ6OmlzbmFuKHgpIHx8IHN0ZDo6aXNp
bmYoeCkpIHsKLSAgICAgICAgICAgIG9rID0gZmFsc2U7Ci0gICAgICAgICAgICByZXR1cm4gMDsK
LSAgICAgICAgfQotICAgICAgICB4ID0gKHggPCAwID8gLTEgOiAxKSAqIGZsb29yKGZhYnMoeCkp
OwotICAgICAgICBpZiAoeCA8IGtNaW5JbnQzMiB8fCB4ID4ga01heEludDMyKSB7Ci0gICAgICAg
ICAgICBvayA9IGZhbHNlOwotICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAgIH0KLQotICAg
ICAgICByZXR1cm4geDsKLSAgICB9CisgICAgaWYgKGNvbmZpZ3VyYXRpb24gPT0gRW5mb3JjZVJh
bmdlKQorICAgICAgICByZXR1cm4gZW5mb3JjZVJhbmdlKG51bWJlck9iamVjdC0+VmFsdWUoKSwg
a01pbkludDMyLCBrTWF4SW50MzIsIG9rKTsKIAogICAgIC8vIERvZXMgdGhlIHZhbHVlIGNvbnZl
cnQgdG8gbmFuIG9yIHRvIGFuIGluZmluaXR5PwogICAgIGRvdWJsZSBudW1iZXJWYWx1ZSA9IG51
bWJlck9iamVjdC0+VmFsdWUoKTsKQEAgLTE3MiwyMCArMTc0LDggQEAgdWludDMyX3QgdG9VSW50
MzIodjg6OkhhbmRsZTx2ODo6VmFsdWU+IHZhbHVlLCBJbnRlZ2VyQ29udmVyc2lvbkNvbmZpZ3Vy
YXRpb24gY28KICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQogCi0gICAgaWYgKGNvbmZpZ3VyYXRp
b24gPT0gRW5mb3JjZVJhbmdlKSB7Ci0gICAgICAgIGRvdWJsZSB4ID0gbnVtYmVyT2JqZWN0LT5W
YWx1ZSgpOwotICAgICAgICBpZiAoc3RkOjppc25hbih4KSB8fCBzdGQ6OmlzaW5mKHgpKSB7Ci0g
ICAgICAgICAgICBvayA9IGZhbHNlOwotICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAgIH0K
LSAgICAgICAgeCA9ICh4IDwgMCA/IC0xIDogMSkgKiBmbG9vcihmYWJzKHgpKTsKLSAgICAgICAg
aWYgKHggPCAwIHx8IHggPiBrTWF4VUludDMyKSB7Ci0gICAgICAgICAgICBvayA9IGZhbHNlOwot
ICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAgIH0KLQotICAgICAgICByZXR1cm4geDsKLSAg
ICB9CisgICAgaWYgKGNvbmZpZ3VyYXRpb24gPT0gRW5mb3JjZVJhbmdlKQorICAgICAgICByZXR1
cm4gZW5mb3JjZVJhbmdlKG51bWJlck9iamVjdC0+VmFsdWUoKSwgMCwga01heFVJbnQzMiwgb2sp
OwogCiAgICAgLy8gRG9lcyB0aGUgdmFsdWUgY29udmVydCB0byBuYW4gb3IgdG8gYW4gaW5maW5p
dHk/CiAgICAgZG91YmxlIG51bWJlclZhbHVlID0gbnVtYmVyT2JqZWN0LT5WYWx1ZSgpOwpAQCAt
MjExLDE4ICsyMDEsOCBAQCBpbnQ2NF90IHRvSW50NjQodjg6OkhhbmRsZTx2ODo6VmFsdWU+IHZh
bHVlLCBJbnRlZ2VyQ29udmVyc2lvbkNvbmZpZ3VyYXRpb24gY29uZgogCiAgICAgZG91YmxlIHgg
PSBudW1iZXJPYmplY3QtPlZhbHVlKCk7CiAKLSAgICBpZiAoY29uZmlndXJhdGlvbiA9PSBFbmZv
cmNlUmFuZ2UpIHsKLSAgICAgICAgaWYgKHN0ZDo6aXNuYW4oeCkgfHwgc3RkOjppc2luZih4KSkg
ewotICAgICAgICAgICAgb2sgPSBmYWxzZTsKLSAgICAgICAgICAgIHJldHVybiAwOwotICAgICAg
ICB9Ci0gICAgICAgIHggPSAoeCA8IDAgPyAtMSA6IDEpICogZmxvb3IoZmFicyh4KSk7Ci0gICAg
ICAgIGlmICh4IDwgLWtKU01heEludGVnZXIgfHwgeCA+IGtKU01heEludGVnZXIpIHsKLSAgICAg
ICAgICAgIG9rID0gZmFsc2U7Ci0gICAgICAgICAgICByZXR1cm4gMDsKLSAgICAgICAgfQotICAg
ICAgICByZXR1cm4geDsKLSAgICB9CisgICAgaWYgKGNvbmZpZ3VyYXRpb24gPT0gRW5mb3JjZVJh
bmdlKQorICAgICAgICByZXR1cm4gZW5mb3JjZVJhbmdlKHgsIC1rSlNNYXhJbnRlZ2VyLCBrSlNN
YXhJbnRlZ2VyLCBvayk7CiAKICAgICAvLyBOYU5zIGFuZCArLy1JbmZpbml0eSBzaG91bGQgYmUg
MCwgb3RoZXJ3aXNlIG1vZHVsbyAyXjY0LgogICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBpbnRlZ2Vy
OwpAQCAtMjU5LDE4ICsyMzksOCBAQCB1aW50NjRfdCB0b1VJbnQ2NCh2ODo6SGFuZGxlPHY4OjpW
YWx1ZT4gdmFsdWUsIEludGVnZXJDb252ZXJzaW9uQ29uZmlndXJhdGlvbiBjbwogCiAgICAgZG91
YmxlIHggPSBudW1iZXJPYmplY3QtPlZhbHVlKCk7CiAKLSAgICBpZiAoY29uZmlndXJhdGlvbiA9
PSBFbmZvcmNlUmFuZ2UpIHsKLSAgICAgICAgaWYgKHN0ZDo6aXNuYW4oeCkgfHwgc3RkOjppc2lu
Zih4KSkgewotICAgICAgICAgICAgb2sgPSBmYWxzZTsKLSAgICAgICAgICAgIHJldHVybiAwOwot
ICAgICAgICB9Ci0gICAgICAgIHggPSAoeCA8IDAgPyAtMSA6IDEpICogZmxvb3IoZmFicyh4KSk7
Ci0gICAgICAgIGlmICh4IDwgMCB8fCB4ID4ga0pTTWF4SW50ZWdlcikgewotICAgICAgICAgICAg
b2sgPSBmYWxzZTsKLSAgICAgICAgICAgIHJldHVybiAwOwotICAgICAgICB9Ci0gICAgICAgIHJl
dHVybiB4OwotICAgIH0KKyAgICBpZiAoY29uZmlndXJhdGlvbiA9PSBFbmZvcmNlUmFuZ2UpCisg
ICAgICAgIHJldHVybiBlbmZvcmNlUmFuZ2UoeCwgMCwga0pTTWF4SW50ZWdlciwgb2spOwogCiAg
ICAgLy8gTmFOcyBhbmQgKy8tSW5maW5pdHkgc2hvdWxkIGJlIDAsIG90aGVyd2lzZSBtb2R1bG8g
Ml42NC4KICAgICB1bnNpZ25lZCBsb25nIGxvbmcgaW50ZWdlcjsKLS0gCjEuNy45LjUKCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193979</attachid>
            <date>2013-03-19 21:14:24 -0700</date>
            <delta_ts>2013-03-20 11:20:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>v8-enforcerange.patch</filename>
            <type>text/plain</type>
            <size>5070</size>
            <attacher name="Michael Pruett">michael</attacher>
            
              <data encoding="base64">RnJvbTogTWljaGFlbCBQcnVldHQgPG1pY2hhZWxANjhrLm9yZz4KRGF0ZTogVHVlLCAxOSBNYXIg
MjAxMyAyMDozMTowMyAtMDcwMApTdWJqZWN0OiBbVjhdIFNpbXBsaWZ5IGltcGxlbWVudGF0aW9u
IG9mIEVuZm9yY2VSYW5nZSBjb252ZXJzaW9ucwoKLS0tCiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cgICAgICAgICAgICAgICAgIHwgICAyMyArKysrKysrKysrCiBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9WOEJpbmRpbmcuY3BwIHwgICA3NCArKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0t
LS0KIDIgZmlsZXMgY2hhbmdlZCwgNDUgaW5zZXJ0aW9ucygrKSwgNTIgZGVsZXRpb25zKC0pCgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCmluZGV4IDRmMmVjMjUuLmI1MDgzOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBA
QAorMjAxMy0wMy0xOSAgTWljaGFlbCBQcnVldHQgIDxtaWNoYWVsQDY4ay5vcmc+CisKKyAgICAg
ICAgW1Y4XSBTaW1wbGlmeSBpbXBsZW1lbnRhdGlvbiBvZiBFbmZvcmNlUmFuZ2UgY29udmVyc2lv
bnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMjc1
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZhY3Rv
ciBvdXQgRW5mb3JjZVJhbmdlIGNvbnZlcnNpb24gaW50byBhIGhlbHBlciBmdW5jdGlvbi4KKyAg
ICAgICAgU2ltcGxpZnkgY2FsY3VsYXRpb24gZm9yIHRydW5jYXRpb24uCisKKyAgICAgICAgVGVz
dHM6IGZhc3QvanMvd2ViaWRsLXR5cGUtbWFwcGluZy5odG1sCisgICAgICAgICAgICAgICBzdG9y
YWdlL2luZGV4ZWRkYi9jdXJzb3ItYWR2YW5jZS5odG1sCisgICAgICAgICAgICAgICBzdG9yYWdl
L2luZGV4ZWRkYi9jdXJzb3ItYWR2YW5jZS13b3JrZXJzLmh0bWwKKyAgICAgICAgICAgICAgIHN0
b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNpb24tYmFkLXBhcmFtZXRlcnMuaHRtbAorCisgICAgICAg
ICogYmluZGluZ3MvdjgvVjhCaW5kaW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmVuZm9yY2VS
YW5nZSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OnRvSW50MzIpOgor
ICAgICAgICAoV2ViQ29yZTo6dG9VSW50MzIpOgorICAgICAgICAoV2ViQ29yZTo6dG9JbnQ2NCk6
CisgICAgICAgIChXZWJDb3JlOjp0b1VJbnQ2NCk6CisKIDIwMTMtMDMtMTggIE9qYW4gVmFmYWkg
IDxvamFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBNYWtlIGludHJpbnNpYyBzaXplIGtleXdv
cmRzIG9uIGZsZXhib3hlcyB3b3JrCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9WOEJpbmRpbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhCaW5kaW5n
LmNwcAppbmRleCBiNGJhODEyLi5iODJhYzEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9WOEJpbmRpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L1Y4QmluZGluZy5jcHAKQEAgLTEwOCw2ICsxMDgsMjAgQEAgY29uc3QgaW50MzJfdCBrTWluSW50
MzIgPSAta01heEludDMyIC0gMTsKIGNvbnN0IHVpbnQzMl90IGtNYXhVSW50MzIgPSAweGZmZmZm
ZmZmOwogY29uc3QgaW50NjRfdCBrSlNNYXhJbnRlZ2VyID0gMHgyMDAwMDAwMDAwMDAwMExMIC0g
MTsgLy8gMl41MyAtIDEsIG1heGltdW0gaW50ZWdlciBleGFjdGx5IHJlcHJlc2VudGFibGUgaW4g
RUNNQVNjcmlwdC4KIAorc3RhdGljIGRvdWJsZSBlbmZvcmNlUmFuZ2UoZG91YmxlIHgsIGRvdWJs
ZSBtaW5pbXVtLCBkb3VibGUgbWF4aW11bSwgYm9vbCYgb2spCit7CisgICAgaWYgKHN0ZDo6aXNu
YW4oeCkgfHwgc3RkOjppc2luZih4KSkgeworICAgICAgICBvayA9IGZhbHNlOworICAgICAgICBy
ZXR1cm4gMDsKKyAgICB9CisgICAgeCA9IHRydW5jKHgpOworICAgIGlmICh4IDwgbWluaW11bSB8
fCB4ID4gbWF4aW11bSkgeworICAgICAgICBvayA9IGZhbHNlOworICAgICAgICByZXR1cm4gMDsK
KyAgICB9CisgICAgcmV0dXJuIHg7Cit9CisKIGludDMyX3QgdG9JbnQzMih2ODo6SGFuZGxlPHY4
OjpWYWx1ZT4gdmFsdWUsIEludGVnZXJDb252ZXJzaW9uQ29uZmlndXJhdGlvbiBjb25maWd1cmF0
aW9uLCBib29sJiBvaykKIHsKICAgICBvayA9IHRydWU7CkBAIC0xMjMsMjAgKzEzNyw4IEBAIGlu
dDMyX3QgdG9JbnQzMih2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdmFsdWUsIEludGVnZXJDb252ZXJz
aW9uQ29uZmlndXJhdGlvbiBjb25mCiAgICAgICAgIHJldHVybiAwOwogICAgIH0KIAotICAgIGlm
IChjb25maWd1cmF0aW9uID09IEVuZm9yY2VSYW5nZSkgewotICAgICAgICBkb3VibGUgeCA9IG51
bWJlck9iamVjdC0+VmFsdWUoKTsKLSAgICAgICAgaWYgKHN0ZDo6aXNuYW4oeCkgfHwgc3RkOjpp
c2luZih4KSkgewotICAgICAgICAgICAgb2sgPSBmYWxzZTsKLSAgICAgICAgICAgIHJldHVybiAw
OwotICAgICAgICB9Ci0gICAgICAgIHggPSAoeCA8IDAgPyAtMSA6IDEpICogZmxvb3IoZmFicyh4
KSk7Ci0gICAgICAgIGlmICh4IDwga01pbkludDMyIHx8IHggPiBrTWF4SW50MzIpIHsKLSAgICAg
ICAgICAgIG9rID0gZmFsc2U7Ci0gICAgICAgICAgICByZXR1cm4gMDsKLSAgICAgICAgfQotCi0g
ICAgICAgIHJldHVybiB4OwotICAgIH0KKyAgICBpZiAoY29uZmlndXJhdGlvbiA9PSBFbmZvcmNl
UmFuZ2UpCisgICAgICAgIHJldHVybiBlbmZvcmNlUmFuZ2UobnVtYmVyT2JqZWN0LT5WYWx1ZSgp
LCBrTWluSW50MzIsIGtNYXhJbnQzMiwgb2spOwogCiAgICAgLy8gRG9lcyB0aGUgdmFsdWUgY29u
dmVydCB0byBuYW4gb3IgdG8gYW4gaW5maW5pdHk/CiAgICAgZG91YmxlIG51bWJlclZhbHVlID0g
bnVtYmVyT2JqZWN0LT5WYWx1ZSgpOwpAQCAtMTcyLDIwICsxNzQsOCBAQCB1aW50MzJfdCB0b1VJ
bnQzMih2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdmFsdWUsIEludGVnZXJDb252ZXJzaW9uQ29uZmln
dXJhdGlvbiBjbwogICAgICAgICByZXR1cm4gMDsKICAgICB9CiAKLSAgICBpZiAoY29uZmlndXJh
dGlvbiA9PSBFbmZvcmNlUmFuZ2UpIHsKLSAgICAgICAgZG91YmxlIHggPSBudW1iZXJPYmplY3Qt
PlZhbHVlKCk7Ci0gICAgICAgIGlmIChzdGQ6OmlzbmFuKHgpIHx8IHN0ZDo6aXNpbmYoeCkpIHsK
LSAgICAgICAgICAgIG9rID0gZmFsc2U7Ci0gICAgICAgICAgICByZXR1cm4gMDsKLSAgICAgICAg
fQotICAgICAgICB4ID0gKHggPCAwID8gLTEgOiAxKSAqIGZsb29yKGZhYnMoeCkpOwotICAgICAg
ICBpZiAoeCA8IDAgfHwgeCA+IGtNYXhVSW50MzIpIHsKLSAgICAgICAgICAgIG9rID0gZmFsc2U7
Ci0gICAgICAgICAgICByZXR1cm4gMDsKLSAgICAgICAgfQotCi0gICAgICAgIHJldHVybiB4Owot
ICAgIH0KKyAgICBpZiAoY29uZmlndXJhdGlvbiA9PSBFbmZvcmNlUmFuZ2UpCisgICAgICAgIHJl
dHVybiBlbmZvcmNlUmFuZ2UobnVtYmVyT2JqZWN0LT5WYWx1ZSgpLCAwLCBrTWF4VUludDMyLCBv
ayk7CiAKICAgICAvLyBEb2VzIHRoZSB2YWx1ZSBjb252ZXJ0IHRvIG5hbiBvciB0byBhbiBpbmZp
bml0eT8KICAgICBkb3VibGUgbnVtYmVyVmFsdWUgPSBudW1iZXJPYmplY3QtPlZhbHVlKCk7CkBA
IC0yMTEsMTggKzIwMSw4IEBAIGludDY0X3QgdG9JbnQ2NCh2ODo6SGFuZGxlPHY4OjpWYWx1ZT4g
dmFsdWUsIEludGVnZXJDb252ZXJzaW9uQ29uZmlndXJhdGlvbiBjb25mCiAKICAgICBkb3VibGUg
eCA9IG51bWJlck9iamVjdC0+VmFsdWUoKTsKIAotICAgIGlmIChjb25maWd1cmF0aW9uID09IEVu
Zm9yY2VSYW5nZSkgewotICAgICAgICBpZiAoc3RkOjppc25hbih4KSB8fCBzdGQ6OmlzaW5mKHgp
KSB7Ci0gICAgICAgICAgICBvayA9IGZhbHNlOwotICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAg
ICAgIH0KLSAgICAgICAgeCA9ICh4IDwgMCA/IC0xIDogMSkgKiBmbG9vcihmYWJzKHgpKTsKLSAg
ICAgICAgaWYgKHggPCAta0pTTWF4SW50ZWdlciB8fCB4ID4ga0pTTWF4SW50ZWdlcikgewotICAg
ICAgICAgICAgb2sgPSBmYWxzZTsKLSAgICAgICAgICAgIHJldHVybiAwOwotICAgICAgICB9Ci0g
ICAgICAgIHJldHVybiB4OwotICAgIH0KKyAgICBpZiAoY29uZmlndXJhdGlvbiA9PSBFbmZvcmNl
UmFuZ2UpCisgICAgICAgIHJldHVybiBlbmZvcmNlUmFuZ2UoeCwgLWtKU01heEludGVnZXIsIGtK
U01heEludGVnZXIsIG9rKTsKIAogICAgIC8vIE5hTnMgYW5kICsvLUluZmluaXR5IHNob3VsZCBi
ZSAwLCBvdGhlcndpc2UgbW9kdWxvIDJeNjQuCiAgICAgdW5zaWduZWQgbG9uZyBsb25nIGludGVn
ZXI7CkBAIC0yNTksMTggKzIzOSw4IEBAIHVpbnQ2NF90IHRvVUludDY0KHY4OjpIYW5kbGU8djg6
OlZhbHVlPiB2YWx1ZSwgSW50ZWdlckNvbnZlcnNpb25Db25maWd1cmF0aW9uIGNvCiAKICAgICBk
b3VibGUgeCA9IG51bWJlck9iamVjdC0+VmFsdWUoKTsKIAotICAgIGlmIChjb25maWd1cmF0aW9u
ID09IEVuZm9yY2VSYW5nZSkgewotICAgICAgICBpZiAoc3RkOjppc25hbih4KSB8fCBzdGQ6Omlz
aW5mKHgpKSB7Ci0gICAgICAgICAgICBvayA9IGZhbHNlOwotICAgICAgICAgICAgcmV0dXJuIDA7
Ci0gICAgICAgIH0KLSAgICAgICAgeCA9ICh4IDwgMCA/IC0xIDogMSkgKiBmbG9vcihmYWJzKHgp
KTsKLSAgICAgICAgaWYgKHggPCAwIHx8IHggPiBrSlNNYXhJbnRlZ2VyKSB7Ci0gICAgICAgICAg
ICBvayA9IGZhbHNlOwotICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAgIH0KLSAgICAgICAg
cmV0dXJuIHg7Ci0gICAgfQorICAgIGlmIChjb25maWd1cmF0aW9uID09IEVuZm9yY2VSYW5nZSkK
KyAgICAgICAgcmV0dXJuIGVuZm9yY2VSYW5nZSh4LCAwLCBrSlNNYXhJbnRlZ2VyLCBvayk7CiAK
ICAgICAvLyBOYU5zIGFuZCArLy1JbmZpbml0eSBzaG91bGQgYmUgMCwgb3RoZXJ3aXNlIG1vZHVs
byAyXjY0LgogICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBpbnRlZ2VyOwotLSAKMS43LjkuNQoK
</data>

          </attachment>
      

    </bug>

</bugzilla>