<?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>71073</bug_id>
          
          <creation_ts>2011-10-27 16:15:13 -0700</creation_ts>
          <short_desc>ENH: Add 8 bit string support to JSC JIT</short_desc>
          <delta_ts>2011-10-27 18:10:11 -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>JavaScriptCore</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Saboff">msaboff</reporter>
          <assigned_to name="Michael Saboff">msaboff</assigned_to>
          <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>492062</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2011-10-27 16:15:13 -0700</bug_when>
    <thetext>Add support to check string size and access characters appropriately.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492065</commentid>
    <comment_count>1</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2011-10-27 16:16:22 -0700</bug_when>
    <thetext>&lt;rdar://problem/10225124&gt; Update JIT to access 8-bit Strings</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492090</commentid>
    <comment_count>2</comment_count>
      <attachid>112781</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2011-10-27 16:37:09 -0700</bug_when>
    <thetext>Created attachment 112781
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492096</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-27 16:40:01 -0700</bug_when>
    <thetext>Attachment 112781 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/JavaScriptCore/ChangeLog&apos;, u&apos;Source...&quot; exit_code: 1

Source/JavaScriptCore/assembler/X86Assembler.h:1234:  movzbl_mr is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 1 in 9 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492162</commentid>
    <comment_count>4</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2011-10-27 18:10:11 -0700</bug_when>
    <thetext>Committed r98674: &lt;http://trac.webkit.org/changeset/98674&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>112781</attachid>
            <date>2011-10-27 16:37:09 -0700</date>
            <delta_ts>2011-10-27 18:01:43 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>71073.patch</filename>
            <type>text/plain</type>
            <size>14311</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTg2NTQpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzIgQEAK
KzIwMTEtMTAtMjcgIE1pY2hhZWwgU2Fib2ZmICA8bXNhYm9mZkBhcHBsZS5jb20+CisKKyAgICAg
ICAgRU5IOiBBZGQgOCBiaXQgc3RyaW5nIHN1cHBvcnQgdG8gSlNDIEpJVAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEwNzMKKworICAgICAgICBDaGFu
Z2VkIHRoZSBKSVQgU3RyaW5nIGNoYXJhY3RlciBhY2Nlc3MgZ2VuZXJhdGlvbiB0byBjcmVhdGUg
Y29kZQorICAgICAgICB0byBjaGVjayB0aGUgY2hhcmFjdGVyIHNpemUgYW5kIGxvYWQ4KCkgb3Ig
bG9hZDE2KCkgYXMgYXBwcm9yaWF0ZS4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4NkNvbW1vbi5oOgor
ICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6bG9hZDgpOgorICAgICAgICAq
IGFzc2VtYmxlci9YODZBc3NlbWJsZXIuaDoKKyAgICAgICAgKEpTQzo6WDg2QXNzZW1ibGVyOjpt
b3Z6YmxfbXIpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHA6CisgICAgICAg
IChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVHZXRDaGFyQ29kZUF0KToKKyAgICAg
ICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUdldEJ5VmFsT25TdHJpbmcpOgor
ICAgICAgICAqIGppdC9KSVRJbmxpbmVNZXRob2RzLmg6CisgICAgICAgIChKU0M6OkpJVDo6ZW1p
dExvYWRDaGFyYWN0ZXJTdHJpbmcpOgorICAgICAgICAqIGppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5j
cHA6CisgICAgICAgIChKU0M6OkpJVDo6c3RyaW5nR2V0QnlWYWxTdHViR2VuZXJhdG9yKToKKyAg
ICAgICAgKiBqaXQvSklUUHJvcGVydHlBY2Nlc3MzMl82NC5jcHA6CisgICAgICAgIChKU0M6OkpJ
VDo6c3RyaW5nR2V0QnlWYWxTdHViR2VuZXJhdG9yKToKKyAgICAgICAgKiBqaXQvSlNJbnRlcmZh
Y2VKSVQuaDoKKyAgICAgICAgKEpTQzo6VGh1bmtIZWxwZXJzOjpzdHJpbmdJbXBsRmxhZ3NPZmZz
ZXQpOgorICAgICAgICAoSlNDOjpUaHVua0hlbHBlcnM6OnN0cmluZ0ltcGw4Qml0RmxhZyk6Cisg
ICAgICAgICogaml0L1RodW5rR2VuZXJhdG9ycy5jcHA6CisgICAgICAgIChKU0M6OnN0cmluZ0No
YXJMb2FkKToKKwogMjAxMS0xMC0yNyAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhdmlkIEtpbHplci4KSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2
Q29tbW9uLmgJKHJldmlzaW9uIDk4NjU0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2Vt
Ymxlci9NYWNyb0Fzc2VtYmxlclg4NkNvbW1vbi5oCSh3b3JraW5nIGNvcHkpCkBAIC00ODEsNiAr
NDgxLDExIEBAIHB1YmxpYzoKICAgICAgICAgbV9hc3NlbWJsZXIubW92emJsX21yKGFkZHJlc3Mu
b2Zmc2V0LCBhZGRyZXNzLmJhc2UsIGFkZHJlc3MuaW5kZXgsIGFkZHJlc3Muc2NhbGUsIGRlc3Qp
OwogICAgIH0KIAorICAgIHZvaWQgbG9hZDgoQWRkcmVzcyBhZGRyZXNzLCBSZWdpc3RlcklEIGRl
c3QpCisgICAgeworICAgICAgICBtX2Fzc2VtYmxlci5tb3Z6YmxfbXIoYWRkcmVzcy5vZmZzZXQs
IGFkZHJlc3MuYmFzZSwgZGVzdCk7CisgICAgfQorICAgIAogICAgIHZvaWQgbG9hZDE2KEJhc2VJ
bmRleCBhZGRyZXNzLCBSZWdpc3RlcklEIGRlc3QpCiAgICAgewogICAgICAgICBtX2Fzc2VtYmxl
ci5tb3Z6d2xfbXIoYWRkcmVzcy5vZmZzZXQsIGFkZHJlc3MuYmFzZSwgYWRkcmVzcy5pbmRleCwg
YWRkcmVzcy5zY2FsZSwgZGVzdCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1i
bGVyL1g4NkFzc2VtYmxlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9h
c3NlbWJsZXIvWDg2QXNzZW1ibGVyLmgJKHJldmlzaW9uIDk4NjU0KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Fzc2VtYmxlci9YODZBc3NlbWJsZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMTIz
MSw2ICsxMjMxLDExIEBAIHB1YmxpYzoKICAgICAgICAgbV9mb3JtYXR0ZXIudHdvQnl0ZU9wKE9Q
Ml9NT1ZaWF9HdkV3LCBkc3QsIGJhc2UsIGluZGV4LCBzY2FsZSwgb2Zmc2V0KTsKICAgICB9CiAK
KyAgICB2b2lkIG1vdnpibF9tcihpbnQgb2Zmc2V0LCBSZWdpc3RlcklEIGJhc2UsIFJlZ2lzdGVy
SUQgZHN0KQorICAgIHsKKyAgICAgICAgbV9mb3JtYXR0ZXIudHdvQnl0ZU9wKE9QMl9NT1ZaWF9H
dkViLCBkc3QsIGJhc2UsIG9mZnNldCk7CisgICAgfQorICAgIAogICAgIHZvaWQgbW92emJsX21y
KGludCBvZmZzZXQsIFJlZ2lzdGVySUQgYmFzZSwgUmVnaXN0ZXJJRCBpbmRleCwgaW50IHNjYWxl
LCBSZWdpc3RlcklEIGRzdCkKICAgICB7CiAgICAgICAgIG1fZm9ybWF0dGVyLnR3b0J5dGVPcChP
UDJfTU9WWlhfR3ZFYiwgZHN0LCBiYXNlLCBpbmRleCwgc2NhbGUsIG9mZnNldCk7CkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAkocmV2
aXNpb24gOTg2NTQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZl
SklULmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTgxLDI4ICs1ODEsMzggQEAgdm9pZCBTcGVjdWxh
dGl2ZUpJVDo6Y29tcGlsZUdldENoYXJDb2RlQQogICAgIEFTU0VSVChub2RlLmNoaWxkMygpID09
IE5vTm9kZSk7CiAgICAgU3BlY3VsYXRlQ2VsbE9wZXJhbmQgc3RyaW5nKHRoaXMsIG5vZGUuY2hp
bGQxKCkpOwogICAgIFNwZWN1bGF0ZVN0cmljdEludDMyT3BlcmFuZCBpbmRleCh0aGlzLCBub2Rl
LmNoaWxkMigpKTsKLSAgICAKKwogICAgIEdQUlJlZyBzdHJpbmdSZWcgPSBzdHJpbmcuZ3ByKCk7
CiAgICAgR1BSUmVnIGluZGV4UmVnID0gaW5kZXguZ3ByKCk7Ci0gICAgCisKICAgICBpZiAoIWlz
U3RyaW5nUHJlZGljdGlvbihtX3N0YXRlLmZvck5vZGUobm9kZS5jaGlsZDEoKSkubV90eXBlKSkK
ICAgICAgICAgc3BlY3VsYXRpb25DaGVjayhtX2ppdC5icmFuY2hQdHIoTWFjcm9Bc3NlbWJsZXI6
Ok5vdEVxdWFsLCBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhzdHJpbmdSZWcpLCBNYWNyb0Fzc2Vt
Ymxlcjo6VHJ1c3RlZEltbVB0cihtX2ppdC5nbG9iYWxEYXRhKCktPmpzU3RyaW5nVlB0cikpKTsK
LSAgICAKKwogICAgIC8vIHVuc2lnbmVkIGNvbXBhcmlzb24gc28gd2UgY2FuIGZpbHRlciBvdXQg
bmVnYXRpdmUgaW5kaWNlcyBhbmQgaW5kaWNlcyB0aGF0IGFyZSB0b28gbGFyZ2UKICAgICBzcGVj
dWxhdGlvbkNoZWNrKG1faml0LmJyYW5jaDMyKE1hY3JvQXNzZW1ibGVyOjpBYm92ZU9yRXF1YWws
IGluZGV4UmVnLCBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhzdHJpbmdSZWcsIEpTU3RyaW5nOjpv
ZmZzZXRPZkxlbmd0aCgpKSkpOwotICAgIAorCiAgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2godGhp
cyk7CiAgICAgR1BSUmVnIHNjcmF0Y2hSZWcgPSBzY3JhdGNoLmdwcigpOwogCiAgICAgbV9qaXQu
bG9hZFB0cihNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhzdHJpbmdSZWcsIEpTU3RyaW5nOjpvZmZz
ZXRPZlZhbHVlKCkpLCBzY3JhdGNoUmVnKTsKLSAgICAKKwogICAgIC8vIFNwZWN1bGF0ZSB0aGF0
IHdlJ3JlIG5vdCBhY2Nlc3NpbmcgYSByb3BlCiAgICAgc3BlY3VsYXRpb25DaGVjayhtX2ppdC5i
cmFuY2hUZXN0MzIoTWFjcm9Bc3NlbWJsZXI6Olplcm8sIHNjcmF0Y2hSZWcpKTsKLSAgICAKKwog
ICAgIC8vIExvYWQgdGhlIGNoYXJhY3RlciBpbnRvIHNjcmF0Y2hSZWcKKyAgICBKSVRDb21waWxl
cjo6SnVtcCBpczE2Qml0ID0gbV9qaXQuYnJhbmNoVGVzdDMyKE1hY3JvQXNzZW1ibGVyOjpaZXJv
LCBNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhzY3JhdGNoUmVnLCBTdHJpbmdJbXBsOjpmbGFnc09m
ZnNldCgpKSwgVHJ1c3RlZEltbTMyKFN0cmluZ0ltcGw6OmZsYWdJczhCaXQoKSkpOworCisgICAg
bV9qaXQubG9hZFB0cihNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhzY3JhdGNoUmVnLCBTdHJpbmdJ
bXBsOjpkYXRhT2Zmc2V0KCkpLCBzY3JhdGNoUmVnKTsKKyAgICBtX2ppdC5sb2FkOChNYWNyb0Fz
c2VtYmxlcjo6QmFzZUluZGV4KHNjcmF0Y2hSZWcsIGluZGV4UmVnLCBNYWNyb0Fzc2VtYmxlcjo6
VGltZXNPbmUsIDApLCBzY3JhdGNoUmVnKTsKKyAgICBKSVRDb21waWxlcjo6SnVtcCBjb250OEJp
dCA9IG1faml0Lmp1bXAoKTsKKworICAgIGlzMTZCaXQubGluaygmbV9qaXQpOworCiAgICAgbV9q
aXQubG9hZFB0cihNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhzY3JhdGNoUmVnLCBTdHJpbmdJbXBs
OjpkYXRhT2Zmc2V0KCkpLCBzY3JhdGNoUmVnKTsKICAgICBtX2ppdC5sb2FkMTYoTWFjcm9Bc3Nl
bWJsZXI6OkJhc2VJbmRleChzY3JhdGNoUmVnLCBpbmRleFJlZywgTWFjcm9Bc3NlbWJsZXI6OlRp
bWVzVHdvLCAwKSwgc2NyYXRjaFJlZyk7CiAKKyAgICBjb250OEJpdC5saW5rKCZtX2ppdCk7CisK
ICAgICBpbnRlZ2VyUmVzdWx0KHNjcmF0Y2hSZWcsIG1fY29tcGlsZUluZGV4KTsKIH0KIApAQCAt
NjExLDcgKzYyMSw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVHZXRCeVZhbE9uU3QK
ICAgICBBU1NFUlQobm9kZS5jaGlsZDMoKSA9PSBOb05vZGUpOwogICAgIFNwZWN1bGF0ZUNlbGxP
cGVyYW5kIGJhc2UodGhpcywgbm9kZS5jaGlsZDEoKSk7CiAgICAgU3BlY3VsYXRlU3RyaWN0SW50
MzJPcGVyYW5kIHByb3BlcnR5KHRoaXMsIG5vZGUuY2hpbGQyKCkpOwotICAgIAorCiAgICAgR1BS
UmVnIGJhc2VSZWcgPSBiYXNlLmdwcigpOwogICAgIEdQUlJlZyBwcm9wZXJ0eVJlZyA9IHByb3Bl
cnR5LmdwcigpOwogCkBAIC02MjMsMTggKzYzMywzMCBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpj
b21waWxlR2V0QnlWYWxPblN0CiAKICAgICBHUFJUZW1wb3Jhcnkgc2NyYXRjaCh0aGlzKTsKICAg
ICBHUFJSZWcgc2NyYXRjaFJlZyA9IHNjcmF0Y2guZ3ByKCk7Ci0gICAgCisKICAgICBtX2ppdC5s
b2FkUHRyKE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKGJhc2VSZWcsIEpTU3RyaW5nOjpvZmZzZXRP
ZlZhbHVlKCkpLCBzY3JhdGNoUmVnKTsKIAogICAgIC8vIFNwZWN1bGF0ZSB0aGF0IHdlJ3JlIG5v
dCBhY2Nlc3NpbmcgYSByb3BlCiAgICAgc3BlY3VsYXRpb25DaGVjayhtX2ppdC5icmFuY2hUZXN0
MzIoTWFjcm9Bc3NlbWJsZXI6Olplcm8sIHNjcmF0Y2hSZWcpKTsKLSAgICAKKwogICAgIC8vIExv
YWQgdGhlIGNoYXJhY3RlciBpbnRvIHNjcmF0Y2hSZWcKKyAgICBKSVRDb21waWxlcjo6SnVtcCBp
czE2Qml0ID0gbV9qaXQuYnJhbmNoVGVzdDMyKE1hY3JvQXNzZW1ibGVyOjpaZXJvLCBNYWNyb0Fz
c2VtYmxlcjo6QWRkcmVzcyhzY3JhdGNoUmVnLCBTdHJpbmdJbXBsOjpmbGFnc09mZnNldCgpKSwg
VHJ1c3RlZEltbTMyKFN0cmluZ0ltcGw6OmZsYWdJczhCaXQoKSkpOworCisgICAgbV9qaXQubG9h
ZFB0cihNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhzY3JhdGNoUmVnLCBTdHJpbmdJbXBsOjpkYXRh
T2Zmc2V0KCkpLCBzY3JhdGNoUmVnKTsKKyAgICBtX2ppdC5sb2FkOChNYWNyb0Fzc2VtYmxlcjo6
QmFzZUluZGV4KHNjcmF0Y2hSZWcsIHByb3BlcnR5UmVnLCBNYWNyb0Fzc2VtYmxlcjo6VGltZXNP
bmUsIDApLCBzY3JhdGNoUmVnKTsKKyAgICBKSVRDb21waWxlcjo6SnVtcCBjb250OEJpdCA9IG1f
aml0Lmp1bXAoKTsKKworICAgIGlzMTZCaXQubGluaygmbV9qaXQpOworCiAgICAgbV9qaXQubG9h
ZFB0cihNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhzY3JhdGNoUmVnLCBTdHJpbmdJbXBsOjpkYXRh
T2Zmc2V0KCkpLCBzY3JhdGNoUmVnKTsKICAgICBtX2ppdC5sb2FkMTYoTWFjcm9Bc3NlbWJsZXI6
OkJhc2VJbmRleChzY3JhdGNoUmVnLCBwcm9wZXJ0eVJlZywgTWFjcm9Bc3NlbWJsZXI6OlRpbWVz
VHdvLCAwKSwgc2NyYXRjaFJlZyk7CiAKICAgICAvLyBXZSBvbmx5IHN1cHBvcnQgYXNjaWkgY2hh
cmFjdGVycwogICAgIHNwZWN1bGF0aW9uQ2hlY2sobV9qaXQuYnJhbmNoMzIoTWFjcm9Bc3NlbWJs
ZXI6OkFib3ZlT3JFcXVhbCwgc2NyYXRjaFJlZywgVHJ1c3RlZEltbTMyKDB4MTAwKSkpOworCisg
ICAgLy8gOCBiaXQgc3RyaW5nIHZhbHVlcyBkb24ndCBuZWVkIHRoZSBpcyBhc2NpaSBjaGVjawor
ICAgIGNvbnQ4Qml0LmxpbmsoJm1faml0KTsKKwogICAgIEdQUlRlbXBvcmFyeSBzbWFsbFN0cmlu
Z3ModGhpcyk7CiAgICAgR1BSUmVnIHNtYWxsU3RyaW5nc1JlZyA9IHNtYWxsU3RyaW5ncy5ncHIo
KTsKICAgICBtX2ppdC5tb3ZlKE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tUHRyKG1faml0Lmds
b2JhbERhdGEoKS0+c21hbGxTdHJpbmdzLnNpbmdsZUNoYXJhY3RlclN0cmluZ3MoKSksIHNtYWxs
U3RyaW5nc1JlZyk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVElubGluZU1l
dGhvZHMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVElubGlu
ZU1ldGhvZHMuaAkocmV2aXNpb24gOTg2NTQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0pJVElubGluZU1ldGhvZHMuaAkod29ya2luZyBjb3B5KQpAQCAtODgsOCArODgsMTcgQEAgQUxX
QVlTX0lOTElORSB2b2lkIEpJVDo6ZW1pdExvYWRDaGFyYWN0ZQogICAgIGZhaWx1cmVzLmFwcGVu
ZChicmFuY2gzMihOb3RFcXVhbCwgTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3Moc3JjLCBUaHVua0hl
bHBlcnM6OmpzU3RyaW5nTGVuZ3RoT2Zmc2V0KCkpLCBUcnVzdGVkSW1tMzIoMSkpKTsKICAgICBs
b2FkUHRyKE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKHNyYywgVGh1bmtIZWxwZXJzOjpqc1N0cmlu
Z1ZhbHVlT2Zmc2V0KCkpLCBkc3QpOwogICAgIGZhaWx1cmVzLmFwcGVuZChicmFuY2hUZXN0MzIo
WmVybywgZHN0KSk7CisgICAgbG9hZFB0cihNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhkc3QsIFRo
dW5rSGVscGVyczo6c3RyaW5nSW1wbEZsYWdzT2Zmc2V0KCkpLCByZWdUMSk7CiAgICAgbG9hZFB0
cihNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhkc3QsIFRodW5rSGVscGVyczo6c3RyaW5nSW1wbERh
dGFPZmZzZXQoKSksIGRzdCk7CisKKyAgICBKdW1wTGlzdCBpczE2Qml0OworICAgIEp1bXBMaXN0
IGNvbnQ4Qml0OworICAgIGlzMTZCaXQuYXBwZW5kKGJyYW5jaFRlc3QzMihaZXJvLCByZWdUMSwg
VHJ1c3RlZEltbTMyKFRodW5rSGVscGVyczo6c3RyaW5nSW1wbDhCaXRGbGFnKCkpKSk7CisgICAg
bG9hZDgoTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3MoZHN0LCAwKSwgZHN0KTsKKyAgICBjb250OEJp
dC5hcHBlbmQoanVtcCgpKTsKKyAgICBpczE2Qml0LmxpbmsodGhpcyk7CiAgICAgbG9hZDE2KE1h
Y3JvQXNzZW1ibGVyOjpBZGRyZXNzKGRzdCwgMCksIGRzdCk7CisgICAgY29udDhCaXQubGluayh0
aGlzKTsKIH0KIAogQUxXQVlTX0lOTElORSB2b2lkIEpJVDo6ZW1pdEdldEZyb21DYWxsRnJhbWVI
ZWFkZXIzMihSZWdpc3RlckZpbGU6OkNhbGxGcmFtZUhlYWRlckVudHJ5IGVudHJ5LCBSZWdpc3Rl
cklEIHRvLCBSZWdpc3RlcklEIGZyb20pCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0pJVFByb3BlcnR5QWNjZXNzMzJfNjQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MzMl82NC5jcHAJKHJldmlzaW9uIDk4NjU0KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2VzczMyXzY0LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMTc2LDEzICsxNzYsMjMgQEAgSklUOjpDb2RlUmVmIEpJVDo6c3Ry
aW5nR2V0QnlWYWxTdHViR2VuZQogICAgIGppdC5sb2FkMzIoQWRkcmVzcyhyZWdUMCwgVGh1bmtI
ZWxwZXJzOjpqc1N0cmluZ0xlbmd0aE9mZnNldCgpKSwgcmVnVDEpOwogICAgIGppdC5sb2FkUHRy
KEFkZHJlc3MocmVnVDAsIFRodW5rSGVscGVyczo6anNTdHJpbmdWYWx1ZU9mZnNldCgpKSwgcmVn
VDApOwogICAgIGZhaWx1cmVzLmFwcGVuZChqaXQuYnJhbmNoVGVzdDMyKFplcm8sIHJlZ1QwKSk7
Ci0gICAgaml0LmxvYWRQdHIoQWRkcmVzcyhyZWdUMCwgVGh1bmtIZWxwZXJzOjpzdHJpbmdJbXBs
RGF0YU9mZnNldCgpKSwgcmVnVDApOwogICAgIAogICAgIC8vIERvIGFuIHVuc2lnbmVkIGNvbXBh
cmUgdG8gc2ltdWx0YW5lb3VzbHkgZmlsdGVyIG5lZ2F0aXZlIGluZGljZXMgYXMgd2VsbCBhcyBp
bmRpY2VzIHRoYXQgYXJlIHRvbyBsYXJnZQogICAgIGZhaWx1cmVzLmFwcGVuZChqaXQuYnJhbmNo
MzIoQWJvdmVPckVxdWFsLCByZWdUMiwgcmVnVDEpKTsKICAgICAKICAgICAvLyBMb2FkIHRoZSBj
aGFyYWN0ZXIKKyAgICBKdW1wTGlzdCBpczE2Qml0OworICAgIEp1bXBMaXN0IGNvbnQ4Qml0Owor
ICAgIC8vIExvYWQgdGhlIHN0cmluZyBmbGFncworICAgIGppdC5sb2FkUHRyKEFkZHJlc3MocmVn
VDAsIFRodW5rSGVscGVyczo6c3RyaW5nSW1wbEZsYWdzT2Zmc2V0KCkpLCByZWdUMSk7CisgICAg
aml0LmxvYWRQdHIoQWRkcmVzcyhyZWdUMCwgVGh1bmtIZWxwZXJzOjpzdHJpbmdJbXBsRGF0YU9m
ZnNldCgpKSwgcmVnVDApOworICAgIGlzMTZCaXQuYXBwZW5kKGppdC5icmFuY2hUZXN0MzIoWmVy
bywgcmVnVDEsIFRydXN0ZWRJbW0zMihUaHVua0hlbHBlcnM6OnN0cmluZ0ltcGw4Qml0RmxhZygp
KSkpOworICAgIGppdC5sb2FkOChCYXNlSW5kZXgocmVnVDAsIHJlZ1QyLCBUaW1lc09uZSwgMCks
IHJlZ1QwKTsKKyAgICBjb250OEJpdC5hcHBlbmQoaml0Lmp1bXAoKSk7CisgICAgaXMxNkJpdC5s
aW5rKCZqaXQpOwogICAgIGppdC5sb2FkMTYoQmFzZUluZGV4KHJlZ1QwLCByZWdUMiwgVGltZXNU
d28sIDApLCByZWdUMCk7CisKKyAgICBjb250OEJpdC5saW5rKCZqaXQpOwogICAgIAogICAgIGZh
aWx1cmVzLmFwcGVuZChqaXQuYnJhbmNoMzIoQWJvdmVPckVxdWFsLCByZWdUMCwgVHJ1c3RlZElt
bTMyKDB4MTAwKSkpOwogICAgIGppdC5tb3ZlKFRydXN0ZWRJbW1QdHIoZ2xvYmFsRGF0YS0+c21h
bGxTdHJpbmdzLnNpbmdsZUNoYXJhY3RlclN0cmluZ3MoKSksIHJlZ1QxKTsKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwCShyZXZpc2lv
biA5ODY1NCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3Mu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MCwxNCArNjAsMjMgQEAgSklUOjpDb2RlUmVmIEpJVDo6
c3RyaW5nR2V0QnlWYWxTdHViR2VuZQogICAgIGppdC5sb2FkMzIoQWRkcmVzcyhyZWdUMCwgVGh1
bmtIZWxwZXJzOjpqc1N0cmluZ0xlbmd0aE9mZnNldCgpKSwgcmVnVDIpOwogICAgIGppdC5sb2Fk
UHRyKEFkZHJlc3MocmVnVDAsIFRodW5rSGVscGVyczo6anNTdHJpbmdWYWx1ZU9mZnNldCgpKSwg
cmVnVDApOwogICAgIGZhaWx1cmVzLmFwcGVuZChqaXQuYnJhbmNoVGVzdDMyKFplcm8sIHJlZ1Qw
KSk7Ci0gICAgaml0LmxvYWRQdHIoQWRkcmVzcyhyZWdUMCwgVGh1bmtIZWxwZXJzOjpzdHJpbmdJ
bXBsRGF0YU9mZnNldCgpKSwgcmVnVDApOwotICAgIAorCiAgICAgLy8gRG8gYW4gdW5zaWduZWQg
Y29tcGFyZSB0byBzaW11bHRhbmVvdXNseSBmaWx0ZXIgbmVnYXRpdmUgaW5kaWNlcyBhcyB3ZWxs
IGFzIGluZGljZXMgdGhhdCBhcmUgdG9vIGxhcmdlCiAgICAgZmFpbHVyZXMuYXBwZW5kKGppdC5i
cmFuY2gzMihBYm92ZU9yRXF1YWwsIHJlZ1QxLCByZWdUMikpOwogICAgIAogICAgIC8vIExvYWQg
dGhlIGNoYXJhY3RlcgorICAgIEp1bXBMaXN0IGlzMTZCaXQ7CisgICAgSnVtcExpc3QgY29udDhC
aXQ7CisgICAgLy8gTG9hZCB0aGUgc3RyaW5nIGZsYWdzCisgICAgaml0LmxvYWRQdHIoQWRkcmVz
cyhyZWdUMCwgVGh1bmtIZWxwZXJzOjpzdHJpbmdJbXBsRmxhZ3NPZmZzZXQoKSksIHJlZ1QyKTsK
KyAgICBqaXQubG9hZFB0cihBZGRyZXNzKHJlZ1QwLCBUaHVua0hlbHBlcnM6OnN0cmluZ0ltcGxE
YXRhT2Zmc2V0KCkpLCByZWdUMCk7CisgICAgaXMxNkJpdC5hcHBlbmQoaml0LmJyYW5jaFRlc3Qz
MihaZXJvLCByZWdUMiwgVHJ1c3RlZEltbTMyKFRodW5rSGVscGVyczo6c3RyaW5nSW1wbDhCaXRG
bGFnKCkpKSk7CisgICAgaml0LmxvYWQ4KEJhc2VJbmRleChyZWdUMCwgcmVnVDEsIFRpbWVzT25l
LCAwKSwgcmVnVDApOworICAgIGNvbnQ4Qml0LmFwcGVuZChqaXQuanVtcCgpKTsKKyAgICBpczE2
Qml0LmxpbmsoJmppdCk7CiAgICAgaml0LmxvYWQxNihCYXNlSW5kZXgocmVnVDAsIHJlZ1QxLCBU
aW1lc1R3bywgMCksIHJlZ1QwKTsKLSAgICAKKyAgICBjb250OEJpdC5saW5rKCZqaXQpOworCiAg
ICAgZmFpbHVyZXMuYXBwZW5kKGppdC5icmFuY2gzMihBYm92ZU9yRXF1YWwsIHJlZ1QwLCBUcnVz
dGVkSW1tMzIoMHgxMDApKSk7CiAgICAgaml0Lm1vdmUoVHJ1c3RlZEltbVB0cihnbG9iYWxEYXRh
LT5zbWFsbFN0cmluZ3Muc2luZ2xlQ2hhcmFjdGVyU3RyaW5ncygpKSwgcmVnVDEpOwogICAgIGpp
dC5sb2FkUHRyKEJhc2VJbmRleChyZWdUMSwgcmVnVDAsIFNjYWxlUHRyLCAwKSwgcmVnVDApOwpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KU0ludGVyZmFjZUpJVC5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSlNJbnRlcmZhY2VKSVQuaAkocmV2aXNp
b24gOTg2NTQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pTSW50ZXJmYWNlSklULmgJ
KHdvcmtpbmcgY29weSkKQEAgLTIxNSw2ICsyMTUsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICB9
OwogCiAgICAgc3RydWN0IFRodW5rSGVscGVycyB7CisgICAgICAgIHN0YXRpYyB1bnNpZ25lZCBz
dHJpbmdJbXBsRmxhZ3NPZmZzZXQoKSB7IHJldHVybiBTdHJpbmdJbXBsOjpmbGFnc09mZnNldCgp
OyB9CisgICAgICAgIHN0YXRpYyB1bnNpZ25lZCBzdHJpbmdJbXBsOEJpdEZsYWcoKSB7IHJldHVy
biBTdHJpbmdJbXBsOjpmbGFnSXM4Qml0KCk7IH0KICAgICAgICAgc3RhdGljIHVuc2lnbmVkIHN0
cmluZ0ltcGxEYXRhT2Zmc2V0KCkgeyByZXR1cm4gU3RyaW5nSW1wbDo6ZGF0YU9mZnNldCgpOyB9
CiAgICAgICAgIHN0YXRpYyB1bnNpZ25lZCBqc1N0cmluZ0xlbmd0aE9mZnNldCgpIHsgcmV0dXJu
IE9CSkVDVF9PRkZTRVRPRihKU1N0cmluZywgbV9sZW5ndGgpOyB9CiAgICAgICAgIHN0YXRpYyB1
bnNpZ25lZCBqc1N0cmluZ1ZhbHVlT2Zmc2V0KCkgeyByZXR1cm4gT0JKRUNUX09GRlNFVE9GKEpT
U3RyaW5nLCBtX3ZhbHVlKTsgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9UaHVu
a0dlbmVyYXRvcnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
VGh1bmtHZW5lcmF0b3JzLmNwcAkocmV2aXNpb24gOTg2NTQpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L1RodW5rR2VuZXJhdG9ycy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQzLDcgKzQz
LDYgQEAgc3RhdGljIHZvaWQgc3RyaW5nQ2hhckxvYWQoU3BlY2lhbGl6ZWRUaAogICAgIGppdC5s
b2FkMzIoTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3MoU3BlY2lhbGl6ZWRUaHVua0pJVDo6cmVnVDAs
IFRodW5rSGVscGVyczo6anNTdHJpbmdMZW5ndGhPZmZzZXQoKSksIFNwZWNpYWxpemVkVGh1bmtK
SVQ6OnJlZ1QyKTsKICAgICBqaXQubG9hZFB0cihNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhTcGVj
aWFsaXplZFRodW5rSklUOjpyZWdUMCwgVGh1bmtIZWxwZXJzOjpqc1N0cmluZ1ZhbHVlT2Zmc2V0
KCkpLCBTcGVjaWFsaXplZFRodW5rSklUOjpyZWdUMCk7CiAgICAgaml0LmFwcGVuZEZhaWx1cmUo
aml0LmJyYW5jaFRlc3QzMihNYWNyb0Fzc2VtYmxlcjo6WmVybywgU3BlY2lhbGl6ZWRUaHVua0pJ
VDo6cmVnVDApKTsKLSAgICBqaXQubG9hZFB0cihNYWNyb0Fzc2VtYmxlcjo6QWRkcmVzcyhTcGVj
aWFsaXplZFRodW5rSklUOjpyZWdUMCwgVGh1bmtIZWxwZXJzOjpzdHJpbmdJbXBsRGF0YU9mZnNl
dCgpKSwgU3BlY2lhbGl6ZWRUaHVua0pJVDo6cmVnVDApOwogCiAgICAgLy8gbG9hZCBpbmRleAog
ICAgIGppdC5sb2FkSW50MzJBcmd1bWVudCgwLCBTcGVjaWFsaXplZFRodW5rSklUOjpyZWdUMSk7
IC8vIHJlZ1QxIGNvbnRhaW5zIHRoZSBpbmRleApAQCAtNTIsNyArNTEsMTcgQEAgc3RhdGljIHZv
aWQgc3RyaW5nQ2hhckxvYWQoU3BlY2lhbGl6ZWRUaAogICAgIGppdC5hcHBlbmRGYWlsdXJlKGpp
dC5icmFuY2gzMihNYWNyb0Fzc2VtYmxlcjo6QWJvdmVPckVxdWFsLCBTcGVjaWFsaXplZFRodW5r
SklUOjpyZWdUMSwgU3BlY2lhbGl6ZWRUaHVua0pJVDo6cmVnVDIpKTsKIAogICAgIC8vIExvYWQg
dGhlIGNoYXJhY3RlcgorICAgIFNwZWNpYWxpemVkVGh1bmtKSVQ6Okp1bXBMaXN0IGlzMTZCaXQ7
CisgICAgU3BlY2lhbGl6ZWRUaHVua0pJVDo6SnVtcExpc3QgY29udDhCaXQ7CisgICAgLy8gTG9h
ZCB0aGUgc3RyaW5nIGZsYWdzCisgICAgaml0LmxvYWRQdHIoTWFjcm9Bc3NlbWJsZXI6OkFkZHJl
c3MoU3BlY2lhbGl6ZWRUaHVua0pJVDo6cmVnVDAsIFRodW5rSGVscGVyczo6c3RyaW5nSW1wbEZs
YWdzT2Zmc2V0KCkpLCBTcGVjaWFsaXplZFRodW5rSklUOjpyZWdUMik7CisgICAgaml0LmxvYWRQ
dHIoTWFjcm9Bc3NlbWJsZXI6OkFkZHJlc3MoU3BlY2lhbGl6ZWRUaHVua0pJVDo6cmVnVDAsIFRo
dW5rSGVscGVyczo6c3RyaW5nSW1wbERhdGFPZmZzZXQoKSksIFNwZWNpYWxpemVkVGh1bmtKSVQ6
OnJlZ1QwKTsKKyAgICBpczE2Qml0LmFwcGVuZChqaXQuYnJhbmNoVGVzdDMyKE1hY3JvQXNzZW1i
bGVyOjpaZXJvLCBTcGVjaWFsaXplZFRodW5rSklUOjpyZWdUMiwgTWFjcm9Bc3NlbWJsZXI6OlRy
dXN0ZWRJbW0zMihUaHVua0hlbHBlcnM6OnN0cmluZ0ltcGw4Qml0RmxhZygpKSkpOworICAgIGpp
dC5sb2FkOChNYWNyb0Fzc2VtYmxlcjo6QmFzZUluZGV4KFNwZWNpYWxpemVkVGh1bmtKSVQ6OnJl
Z1QwLCBTcGVjaWFsaXplZFRodW5rSklUOjpyZWdUMSwgTWFjcm9Bc3NlbWJsZXI6OlRpbWVzT25l
LCAwKSwgU3BlY2lhbGl6ZWRUaHVua0pJVDo6cmVnVDApOworICAgIGNvbnQ4Qml0LmFwcGVuZChq
aXQuanVtcCgpKTsKKyAgICBpczE2Qml0LmxpbmsoJmppdCk7CiAgICAgaml0LmxvYWQxNihNYWNy
b0Fzc2VtYmxlcjo6QmFzZUluZGV4KFNwZWNpYWxpemVkVGh1bmtKSVQ6OnJlZ1QwLCBTcGVjaWFs
aXplZFRodW5rSklUOjpyZWdUMSwgTWFjcm9Bc3NlbWJsZXI6OlRpbWVzVHdvLCAwKSwgU3BlY2lh
bGl6ZWRUaHVua0pJVDo6cmVnVDApOworICAgIGNvbnQ4Qml0LmxpbmsoJmppdCk7CiB9CiAKIHN0
YXRpYyB2b2lkIGNoYXJUb1N0cmluZyhTcGVjaWFsaXplZFRodW5rSklUJiBqaXQsIEpTR2xvYmFs
RGF0YSogZ2xvYmFsRGF0YSwgTWFjcm9Bc3NlbWJsZXI6OlJlZ2lzdGVySUQgc3JjLCBNYWNyb0Fz
c2VtYmxlcjo6UmVnaXN0ZXJJRCBkc3QsIE1hY3JvQXNzZW1ibGVyOjpSZWdpc3RlcklEIHNjcmF0
Y2gpCg==
</data>
<flag name="review"
          id="110938"
          type_id="1"
          status="+"
          setter="barraclough"
    />
          </attachment>
      

    </bug>

</bugzilla>