<?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>68755</bug_id>
          
          <creation_ts>2011-09-24 06:15:47 -0700</creation_ts>
          <short_desc>JSVALUE32_64 DFG JIT has bugs in GetById, PutById, and GetByOffset code generation</short_desc>
          <delta_ts>2011-09-27 16:48:17 -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>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="Yuqiang Xian">yuqiang.xian</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>barraclough</cc>
    
    <cc>fpizlo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>472757</commentid>
    <comment_count>0</comment_count>
    <who name="Yuqiang Xian">yuqiang.xian</who>
    <bug_when>2011-09-24 06:15:47 -0700</bug_when>
    <thetext>In JSVALUE32_64 DFG JIT, we need to load/store and repatch both tag and payload of a property for GetById/PutById, and to reorder the loads of tag and payload for GetByOffset as the result tag GPR could reuse the storage GPR.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>472758</commentid>
    <comment_count>1</comment_count>
      <attachid>108583</attachid>
    <who name="Yuqiang Xian">yuqiang.xian</who>
    <bug_when>2011-09-24 06:25:23 -0700</bug_when>
    <thetext>Created attachment 108583
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>474359</commentid>
    <comment_count>2</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-09-27 16:48:17 -0700</bug_when>
    <thetext>Landed in r96171</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>108583</attachid>
            <date>2011-09-24 06:25:23 -0700</date>
            <delta_ts>2011-09-27 16:40:55 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>dfg32_64.68755.patch</filename>
            <type>text/plain</type>
            <size>14935</size>
            <attacher name="Yuqiang Xian">yuqiang.xian</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTU5MDgpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjggQEAK
KzIwMTEtMDktMjQgIFl1cWlhbmcgWGlhbiAgPHl1cWlhbmcueGlhbkBpbnRlbC5jb20+CisKKyAg
ICAgICAgQnVnIGZpeGVzIGZvciBHZXRCeUlkLCBQdXRCeUlkLCBhbmQgR2V0QnlPZmZzZXQgaW4g
SlNWQUxVRTMyXzY0IERGRyBKSVQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTY4NzU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgV2UgbmVlZCB0byBsb2FkL3N0b3JlIGFuZCByZXBhdGNoIGJvdGggdGFnIGFu
ZCBwYXlsb2FkIG9mIGEgcHJvcGVydHkKKyAgICAgICAgZm9yIEdldEJ5SWQvUHV0QnlJZC4gQWxz
byByZW9yZGVyIHRoZSBsb2FkcyBvZiB0YWcgYW5kIHBheWxvYWQgZm9yCisgICAgICAgIEdldEJ5
T2Zmc2V0IGFzIHRoZSByZXN1bHQgdGFnIEdQUiBjb3VsZCByZXVzZSB0aGUgc3RvcmFnZSBHUFIu
CisKKyAgICAgICAgKiBieXRlY29kZS9TdHJ1Y3R1cmVTdHViSW5mby5oOgorICAgICAgICAqIGRm
Zy9ERkdKSVRDb2RlR2VuZXJhdG9yMzJfNjQuY3BwOgorICAgICAgICAoSlNDOjpERkc6OkpJVENv
ZGVHZW5lcmF0b3I6OmNhY2hlZEdldEJ5SWQpOgorICAgICAgICAoSlNDOjpERkc6OkpJVENvZGVH
ZW5lcmF0b3I6OmNhY2hlZFB1dEJ5SWQpOgorICAgICAgICAqIGRmZy9ERkdKSVRDb21waWxlci5o
OgorICAgICAgICAoSlNDOjpERkc6OkpJVENvbXBpbGVyOjphZGRQcm9wZXJ0eUFjY2Vzcyk6Cisg
ICAgICAgIChKU0M6OkRGRzo6SklUQ29tcGlsZXI6OlByb3BlcnR5QWNjZXNzUmVjb3JkOjpQcm9w
ZXJ0eUFjY2Vzc1JlY29yZCk6CisgICAgICAgICogZGZnL0RGR0pJVENvbXBpbGVyMzJfNjQuY3Bw
OgorICAgICAgICAoSlNDOjpERkc6OkpJVENvbXBpbGVyOjpsaW5rKToKKyAgICAgICAgKiBkZmcv
REZHUmVwYXRjaC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6ZGZnUmVwYXRjaEJ5SWRTZWxmQWNj
ZXNzKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHA6CisgICAgICAg
IChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUpOgorCiAyMDExLTA5LTIzICBZdXFp
YW5nIFhpYW4gIDx5dXFpYW5nLnhpYW5AaW50ZWwuY29tPgogCiAgICAgICAgIEFkZCBKU1ZBTFVF
MzJfNjQgc3VwcG9ydCB0byBERkcgSklUCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvU3RydWN0dXJlU3R1YkluZm8uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvU3RydWN0dXJlU3R1YkluZm8uaAkocmV2aXNpb24gOTU5MDgpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3RydWN0dXJlU3R1YkluZm8uaAkod29ya2lu
ZyBjb3B5KQpAQCAtMTQ3LDcgKzE0NywxMiBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdW5p
b24gewogICAgICAgICAgICAgc3RydWN0IHsKICAgICAgICAgICAgICAgICBpbnQxNl90IGRlbHRh
Q2hlY2tJbW1Ub0NhbGw7CisjaWYgVVNFKEpTVkFMVUU2NCkKICAgICAgICAgICAgICAgICBpbnQx
Nl90IGRlbHRhQ2FsbFRvTG9hZE9yU3RvcmU7CisjZWxpZiBVU0UoSlNWQUxVRTMyXzY0KQorICAg
ICAgICAgICAgICAgIGludDE2X3QgZGVsdGFDYWxsVG9UYWdMb2FkT3JTdG9yZTsKKyAgICAgICAg
ICAgICAgICBpbnQxNl90IGRlbHRhQ2FsbFRvUGF5bG9hZExvYWRPclN0b3JlOworI2VuZGlmCiAg
ICAgICAgICAgICB9IHVuc2V0OwogICAgICAgICAgICAgc3RydWN0IHsKICAgICAgICAgICAgICAg
ICBXcml0ZUJhcnJpZXJCYXNlPFN0cnVjdHVyZT4gYmFzZU9iamVjdFN0cnVjdHVyZTsKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSklUQ29kZUdlbmVyYXRvcjMyXzY0LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVENvZGVHZW5lcmF0
b3IzMl82NC5jcHAJKHJldmlzaW9uIDk1OTA4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdKSVRDb2RlR2VuZXJhdG9yMzJfNjQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTc1LDgg
KzExNzUsOCBAQCBKSVRDb21waWxlcjo6Q2FsbCBKSVRDb2RlR2VuZXJhdG9yOjpjYWNoCiAgICAg
SklUQ29tcGlsZXI6Okp1bXAgc3RydWN0dXJlQ2hlY2sgPSBtX2ppdC5icmFuY2hQdHJXaXRoUGF0
Y2goSklUQ29tcGlsZXI6Ok5vdEVxdWFsLCBKSVRDb21waWxlcjo6QWRkcmVzcyhiYXNlUGF5bG9h
ZEdQUiwgSlNDZWxsOjpzdHJ1Y3R1cmVPZmZzZXQoKSksIHN0cnVjdHVyZVRvQ29tcGFyZSwgSklU
Q29tcGlsZXI6OlRydXN0ZWRJbW1QdHIocmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oLTEpKSk7CiAg
ICAgCiAgICAgbV9qaXQubG9hZFB0cihKSVRDb21waWxlcjo6QWRkcmVzcyhiYXNlUGF5bG9hZEdQ
UiwgSlNPYmplY3Q6Om9mZnNldE9mUHJvcGVydHlTdG9yYWdlKCkpLCByZXN1bHRQYXlsb2FkR1BS
KTsKLSAgICBKSVRDb21waWxlcjo6RGF0YUxhYmVsQ29tcGFjdCBsb2FkV2l0aFBhdGNoID0gbV9q
aXQubG9hZFB0cldpdGhDb21wYWN0QWRkcmVzc09mZnNldFBhdGNoKEpJVENvbXBpbGVyOjpBZGRy
ZXNzKHJlc3VsdFBheWxvYWRHUFIsIDApLCByZXN1bHRQYXlsb2FkR1BSKTsKLSAgICBtX2ppdC5t
b3ZlKFRydXN0ZWRJbW0zMihKU1ZhbHVlOjpDZWxsVGFnKSwgcmVzdWx0VGFnR1BSKTsKKyAgICBK
SVRDb21waWxlcjo6RGF0YUxhYmVsQ29tcGFjdCB0YWdMb2FkV2l0aFBhdGNoID0gbV9qaXQubG9h
ZDMyV2l0aENvbXBhY3RBZGRyZXNzT2Zmc2V0UGF0Y2goSklUQ29tcGlsZXI6OkFkZHJlc3MocmVz
dWx0UGF5bG9hZEdQUiwgT0JKRUNUX09GRlNFVE9GKEVuY29kZWRWYWx1ZURlc2NyaXB0b3IsIGFz
Qml0cy50YWcpKSwgcmVzdWx0VGFnR1BSKTsKKyAgICBKSVRDb21waWxlcjo6RGF0YUxhYmVsQ29t
cGFjdCBwYXlsb2FkTG9hZFdpdGhQYXRjaCA9IG1faml0LmxvYWQzMldpdGhDb21wYWN0QWRkcmVz
c09mZnNldFBhdGNoKEpJVENvbXBpbGVyOjpBZGRyZXNzKHJlc3VsdFBheWxvYWRHUFIsIE9CSkVD
VF9PRkZTRVRPRihFbmNvZGVkVmFsdWVEZXNjcmlwdG9yLCBhc0JpdHMucGF5bG9hZCkpLCByZXN1
bHRQYXlsb2FkR1BSKTsKICAgICAKICAgICBKSVRDb21waWxlcjo6SnVtcCBkb25lID0gbV9qaXQu
anVtcCgpOwogCkBAIC0xMjE1LDExICsxMjE1LDEyIEBAIEpJVENvbXBpbGVyOjpDYWxsIEpJVENv
ZGVHZW5lcmF0b3I6OmNhY2gKIAogICAgIGludDE2X3QgY2hlY2tJbW1Ub0NhbGwgPSBzYWZlQ2Fz
dDxpbnQxNl90PihtX2ppdC5kaWZmZXJlbmNlQmV0d2VlbihzdHJ1Y3R1cmVUb0NvbXBhcmUsIGZ1
bmN0aW9uQ2FsbCkpOwogICAgIGludDE2X3QgY2FsbFRvQ2hlY2sgPSBzYWZlQ2FzdDxpbnQxNl90
PihtX2ppdC5kaWZmZXJlbmNlQmV0d2VlbihmdW5jdGlvbkNhbGwsIHN0cnVjdHVyZUNoZWNrKSk7
Ci0gICAgaW50MTZfdCBjYWxsVG9Mb2FkID0gc2FmZUNhc3Q8aW50MTZfdD4obV9qaXQuZGlmZmVy
ZW5jZUJldHdlZW4oZnVuY3Rpb25DYWxsLCBsb2FkV2l0aFBhdGNoKSk7CisgICAgaW50MTZfdCBj
YWxsVG9UYWdMb2FkID0gc2FmZUNhc3Q8aW50MTZfdD4obV9qaXQuZGlmZmVyZW5jZUJldHdlZW4o
ZnVuY3Rpb25DYWxsLCB0YWdMb2FkV2l0aFBhdGNoKSk7CisgICAgaW50MTZfdCBjYWxsVG9QYXls
b2FkTG9hZCA9IHNhZmVDYXN0PGludDE2X3Q+KG1faml0LmRpZmZlcmVuY2VCZXR3ZWVuKGZ1bmN0
aW9uQ2FsbCwgcGF5bG9hZExvYWRXaXRoUGF0Y2gpKTsKICAgICBpbnQxNl90IGNhbGxUb1Nsb3dD
YXNlID0gc2FmZUNhc3Q8aW50MTZfdD4obV9qaXQuZGlmZmVyZW5jZUJldHdlZW4oZnVuY3Rpb25D
YWxsLCBzbG93Q2FzZSkpOwogICAgIGludDE2X3QgY2FsbFRvRG9uZSA9IHNhZmVDYXN0PGludDE2
X3Q+KG1faml0LmRpZmZlcmVuY2VCZXR3ZWVuKGZ1bmN0aW9uQ2FsbCwgZG9uZUxhYmVsKSk7CiAg
ICAgCi0gICAgbV9qaXQuYWRkUHJvcGVydHlBY2Nlc3MoZnVuY3Rpb25DYWxsLCBjaGVja0ltbVRv
Q2FsbCwgY2FsbFRvQ2hlY2ssIGNhbGxUb0xvYWQsIGNhbGxUb1Nsb3dDYXNlLCBjYWxsVG9Eb25l
LCBzYWZlQ2FzdDxpbnQ4X3Q+KGJhc2VQYXlsb2FkR1BSKSwgc2FmZUNhc3Q8aW50OF90PihyZXN1
bHRUYWdHUFIpLCBzYWZlQ2FzdDxpbnQ4X3Q+KHJlc3VsdFBheWxvYWRHUFIpLCBzYWZlQ2FzdDxp
bnQ4X3Q+KHNjcmF0Y2hHUFIpKTsKKyAgICBtX2ppdC5hZGRQcm9wZXJ0eUFjY2VzcyhmdW5jdGlv
bkNhbGwsIGNoZWNrSW1tVG9DYWxsLCBjYWxsVG9DaGVjaywgY2FsbFRvVGFnTG9hZCwgY2FsbFRv
UGF5bG9hZExvYWQsIGNhbGxUb1Nsb3dDYXNlLCBjYWxsVG9Eb25lLCBzYWZlQ2FzdDxpbnQ4X3Q+
KGJhc2VQYXlsb2FkR1BSKSwgc2FmZUNhc3Q8aW50OF90PihyZXN1bHRUYWdHUFIpLCBzYWZlQ2Fz
dDxpbnQ4X3Q+KHJlc3VsdFBheWxvYWRHUFIpLCBzYWZlQ2FzdDxpbnQ4X3Q+KHNjcmF0Y2hHUFIp
KTsKICAgICAKICAgICByZXR1cm4gZnVuY3Rpb25DYWxsOwogfQpAQCAtMTM0Niw3ICsxMzQ3LDgg
QEAgdm9pZCBKSVRDb2RlR2VuZXJhdG9yOjpjYWNoZWRQdXRCeUlkKEdQUgogICAgIHdyaXRlQmFy
cmllcihiYXNlUGF5bG9hZEdQUiwgdmFsdWVUYWdHUFIsIHZhbHVlSW5kZXgsIFdyaXRlQmFycmll
ckZvclByb3BlcnR5QWNjZXNzLCBzY3JhdGNoR1BSKTsKIAogICAgIG1faml0LmxvYWRQdHIoSklU
Q29tcGlsZXI6OkFkZHJlc3MoYmFzZVBheWxvYWRHUFIsIEpTT2JqZWN0OjpvZmZzZXRPZlByb3Bl
cnR5U3RvcmFnZSgpKSwgc2NyYXRjaEdQUik7Ci0gICAgSklUQ29tcGlsZXI6OkRhdGFMYWJlbDMy
IHN0b3JlV2l0aFBhdGNoID0gbV9qaXQuc3RvcmVQdHJXaXRoQWRkcmVzc09mZnNldFBhdGNoKHZh
bHVlUGF5bG9hZEdQUiwgSklUQ29tcGlsZXI6OkFkZHJlc3Moc2NyYXRjaEdQUiwgMCkpOworICAg
IEpJVENvbXBpbGVyOjpEYXRhTGFiZWwzMiB0YWdTdG9yZVdpdGhQYXRjaCA9IG1faml0LnN0b3Jl
MzJXaXRoQWRkcmVzc09mZnNldFBhdGNoKHZhbHVlVGFnR1BSLCBKSVRDb21waWxlcjo6QWRkcmVz
cyhzY3JhdGNoR1BSLCBPQkpFQ1RfT0ZGU0VUT0YoRW5jb2RlZFZhbHVlRGVzY3JpcHRvciwgYXNC
aXRzLnRhZykpKTsKKyAgICBKSVRDb21waWxlcjo6RGF0YUxhYmVsMzIgcGF5bG9hZFN0b3JlV2l0
aFBhdGNoID0gbV9qaXQuc3RvcmUzMldpdGhBZGRyZXNzT2Zmc2V0UGF0Y2godmFsdWVQYXlsb2Fk
R1BSLCBKSVRDb21waWxlcjo6QWRkcmVzcyhzY3JhdGNoR1BSLCBPQkpFQ1RfT0ZGU0VUT0YoRW5j
b2RlZFZhbHVlRGVzY3JpcHRvciwgYXNCaXRzLnBheWxvYWQpKSk7CiAKICAgICBKSVRDb21waWxl
cjo6SnVtcCBkb25lID0gbV9qaXQuanVtcCgpOwogCkBAIC0xMzg0LDExICsxMzg2LDEyIEBAIHZv
aWQgSklUQ29kZUdlbmVyYXRvcjo6Y2FjaGVkUHV0QnlJZChHUFIKIAogICAgIGludDE2X3QgY2hl
Y2tJbW1Ub0NhbGwgPSBzYWZlQ2FzdDxpbnQxNl90PihtX2ppdC5kaWZmZXJlbmNlQmV0d2Vlbihz
dHJ1Y3R1cmVUb0NvbXBhcmUsIGZ1bmN0aW9uQ2FsbCkpOwogICAgIGludDE2X3QgY2FsbFRvQ2hl
Y2sgPSBzYWZlQ2FzdDxpbnQxNl90PihtX2ppdC5kaWZmZXJlbmNlQmV0d2VlbihmdW5jdGlvbkNh
bGwsIHN0cnVjdHVyZUNoZWNrKSk7Ci0gICAgaW50MTZfdCBjYWxsVG9TdG9yZSA9IHNhZmVDYXN0
PGludDE2X3Q+KG1faml0LmRpZmZlcmVuY2VCZXR3ZWVuKGZ1bmN0aW9uQ2FsbCwgc3RvcmVXaXRo
UGF0Y2gpKTsKKyAgICBpbnQxNl90IGNhbGxUb1RhZ1N0b3JlID0gc2FmZUNhc3Q8aW50MTZfdD4o
bV9qaXQuZGlmZmVyZW5jZUJldHdlZW4oZnVuY3Rpb25DYWxsLCB0YWdTdG9yZVdpdGhQYXRjaCkp
OworICAgIGludDE2X3QgY2FsbFRvUGF5bG9hZFN0b3JlID0gc2FmZUNhc3Q8aW50MTZfdD4obV9q
aXQuZGlmZmVyZW5jZUJldHdlZW4oZnVuY3Rpb25DYWxsLCBwYXlsb2FkU3RvcmVXaXRoUGF0Y2gp
KTsKICAgICBpbnQxNl90IGNhbGxUb1Nsb3dDYXNlID0gc2FmZUNhc3Q8aW50MTZfdD4obV9qaXQu
ZGlmZmVyZW5jZUJldHdlZW4oZnVuY3Rpb25DYWxsLCBzbG93Q2FzZSkpOwogICAgIGludDE2X3Qg
Y2FsbFRvRG9uZSA9IHNhZmVDYXN0PGludDE2X3Q+KG1faml0LmRpZmZlcmVuY2VCZXR3ZWVuKGZ1
bmN0aW9uQ2FsbCwgZG9uZUxhYmVsKSk7CiAKLSAgICBtX2ppdC5hZGRQcm9wZXJ0eUFjY2Vzcyhm
dW5jdGlvbkNhbGwsIGNoZWNrSW1tVG9DYWxsLCBjYWxsVG9DaGVjaywgY2FsbFRvU3RvcmUsIGNh
bGxUb1Nsb3dDYXNlLCBjYWxsVG9Eb25lLCBzYWZlQ2FzdDxpbnQ4X3Q+KGJhc2VQYXlsb2FkR1BS
KSwgc2FmZUNhc3Q8aW50OF90Pih2YWx1ZVRhZ0dQUiksIHNhZmVDYXN0PGludDhfdD4odmFsdWVQ
YXlsb2FkR1BSKSwgc2FmZUNhc3Q8aW50OF90PihzY3JhdGNoR1BSKSk7CisgICAgbV9qaXQuYWRk
UHJvcGVydHlBY2Nlc3MoZnVuY3Rpb25DYWxsLCBjaGVja0ltbVRvQ2FsbCwgY2FsbFRvQ2hlY2ss
IGNhbGxUb1RhZ1N0b3JlLCBjYWxsVG9QYXlsb2FkU3RvcmUsIGNhbGxUb1Nsb3dDYXNlLCBjYWxs
VG9Eb25lLCBzYWZlQ2FzdDxpbnQ4X3Q+KGJhc2VQYXlsb2FkR1BSKSwgc2FmZUNhc3Q8aW50OF90
Pih2YWx1ZVRhZ0dQUiksIHNhZmVDYXN0PGludDhfdD4odmFsdWVQYXlsb2FkR1BSKSwgc2FmZUNh
c3Q8aW50OF90PihzY3JhdGNoR1BSKSk7CiB9CiAKIHZvaWQgSklUQ29kZUdlbmVyYXRvcjo6Y2Fj
aGVkR2V0TWV0aG9kKEdQUlJlZyBiYXNlUGF5bG9hZEdQUiwgR1BSUmVnIHJlc3VsdFRhZ0dQUiwg
R1BSUmVnIHJlc3VsdFBheWxvYWRHUFIsIEdQUlJlZyBzY3JhdGNoR1BSLCB1bnNpZ25lZCBpZGVu
dGlmaWVyTnVtYmVyLCBKSVRDb21waWxlcjo6SnVtcCBzbG93UGF0aFRhcmdldCkKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSklUQ29tcGlsZXIzMl82NC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRDb21waWxlcjMyXzY0LmNwcAko
cmV2aXNpb24gOTU5MDgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVENvbXBp
bGVyMzJfNjQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01OTUsNyArNTk1LDggQEAgdm9pZCBKSVRD
b21waWxlcjo6bGluayhMaW5rQnVmZmVyJiBsaW5rQgogICAgICAgICBpbmZvLmNhbGxSZXR1cm5M
b2NhdGlvbiA9IGxpbmtCdWZmZXIubG9jYXRpb25PZihtX3Byb3BlcnR5QWNjZXNzZXNbaV0ubV9m
dW5jdGlvbkNhbGwpOwogICAgICAgICBpbmZvLnUudW5zZXQuZGVsdGFDaGVja0ltbVRvQ2FsbCA9
IG1fcHJvcGVydHlBY2Nlc3Nlc1tpXS5tX2RlbHRhQ2hlY2tJbW1Ub0NhbGw7CiAgICAgICAgIGlu
Zm8uZGVsdGFDYWxsVG9TdHJ1Y3RDaGVjayA9IG1fcHJvcGVydHlBY2Nlc3Nlc1tpXS5tX2RlbHRh
Q2FsbFRvU3RydWN0Q2hlY2s7Ci0gICAgICAgIGluZm8udS51bnNldC5kZWx0YUNhbGxUb0xvYWRP
clN0b3JlID0gbV9wcm9wZXJ0eUFjY2Vzc2VzW2ldLm1fZGVsdGFDYWxsVG9Mb2FkT3JTdG9yZTsK
KyAgICAgICAgaW5mby51LnVuc2V0LmRlbHRhQ2FsbFRvVGFnTG9hZE9yU3RvcmUgPSBtX3Byb3Bl
cnR5QWNjZXNzZXNbaV0ubV9kZWx0YUNhbGxUb1RhZ0xvYWRPclN0b3JlOworICAgICAgICBpbmZv
LnUudW5zZXQuZGVsdGFDYWxsVG9QYXlsb2FkTG9hZE9yU3RvcmUgPSBtX3Byb3BlcnR5QWNjZXNz
ZXNbaV0ubV9kZWx0YUNhbGxUb1BheWxvYWRMb2FkT3JTdG9yZTsKICAgICAgICAgaW5mby5kZWx0
YUNhbGxUb1Nsb3dDYXNlID0gbV9wcm9wZXJ0eUFjY2Vzc2VzW2ldLm1fZGVsdGFDYWxsVG9TbG93
Q2FzZTsKICAgICAgICAgaW5mby5kZWx0YUNhbGxUb0RvbmUgPSBtX3Byb3BlcnR5QWNjZXNzZXNb
aV0ubV9kZWx0YUNhbGxUb0RvbmU7CiAgICAgICAgIGluZm8uYmFzZUdQUiA9IG1fcHJvcGVydHlB
Y2Nlc3Nlc1tpXS5tX2Jhc2VHUFI7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0pJVENvbXBpbGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdKSVRDb21waWxlci5oCShyZXZpc2lvbiA5NTkwOCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHSklUQ29tcGlsZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMzY4LDkgKzM2OCw5IEBA
IHB1YmxpYzoKICAgICAgICAgbV9wcm9wZXJ0eUFjY2Vzc2VzLmFwcGVuZChQcm9wZXJ0eUFjY2Vz
c1JlY29yZChmdW5jdGlvbkNhbGwsIGRlbHRhQ2hlY2tJbW1Ub0NhbGwsIGRlbHRhQ2FsbFRvU3Ry
dWN0Q2hlY2ssIGRlbHRhQ2FsbFRvTG9hZE9yU3RvcmUsIGRlbHRhQ2FsbFRvU2xvd0Nhc2UsIGRl
bHRhQ2FsbFRvRG9uZSwgIGJhc2VHUFIsIHZhbHVlR1BSLCBzY3JhdGNoR1BSKSk7CiAgICAgfQog
I2VsaWYgVVNFKEpTVkFMVUUzMl82NCkKLSAgICB2b2lkIGFkZFByb3BlcnR5QWNjZXNzKEpJVENv
bXBpbGVyOjpDYWxsIGZ1bmN0aW9uQ2FsbCwgaW50MTZfdCBkZWx0YUNoZWNrSW1tVG9DYWxsLCBp
bnQxNl90IGRlbHRhQ2FsbFRvU3RydWN0Q2hlY2ssIGludDE2X3QgZGVsdGFDYWxsVG9Mb2FkT3JT
dG9yZSwgaW50MTZfdCBkZWx0YUNhbGxUb1Nsb3dDYXNlLCBpbnQxNl90IGRlbHRhQ2FsbFRvRG9u
ZSwgaW50OF90IGJhc2VHUFIsIGludDhfdCB2YWx1ZVRhZ0dQUiwgaW50OF90IHZhbHVlR1BSLCBp
bnQ4X3Qgc2NyYXRjaEdQUikKKyAgICB2b2lkIGFkZFByb3BlcnR5QWNjZXNzKEpJVENvbXBpbGVy
OjpDYWxsIGZ1bmN0aW9uQ2FsbCwgaW50MTZfdCBkZWx0YUNoZWNrSW1tVG9DYWxsLCBpbnQxNl90
IGRlbHRhQ2FsbFRvU3RydWN0Q2hlY2ssIGludDE2X3QgZGVsdGFDYWxsVG9UYWdMb2FkT3JTdG9y
ZSwgaW50MTZfdCBkZWx0YUNhbGxUb1BheWxvYWRMb2FkT3JTdG9yZSwgaW50MTZfdCBkZWx0YUNh
bGxUb1Nsb3dDYXNlLCBpbnQxNl90IGRlbHRhQ2FsbFRvRG9uZSwgaW50OF90IGJhc2VHUFIsIGlu
dDhfdCB2YWx1ZVRhZ0dQUiwgaW50OF90IHZhbHVlR1BSLCBpbnQ4X3Qgc2NyYXRjaEdQUikKICAg
ICB7Ci0gICAgICAgIG1fcHJvcGVydHlBY2Nlc3Nlcy5hcHBlbmQoUHJvcGVydHlBY2Nlc3NSZWNv
cmQoZnVuY3Rpb25DYWxsLCBkZWx0YUNoZWNrSW1tVG9DYWxsLCBkZWx0YUNhbGxUb1N0cnVjdENo
ZWNrLCBkZWx0YUNhbGxUb0xvYWRPclN0b3JlLCBkZWx0YUNhbGxUb1Nsb3dDYXNlLCBkZWx0YUNh
bGxUb0RvbmUsICBiYXNlR1BSLCB2YWx1ZVRhZ0dQUiwgdmFsdWVHUFIsIHNjcmF0Y2hHUFIpKTsK
KyAgICAgICAgbV9wcm9wZXJ0eUFjY2Vzc2VzLmFwcGVuZChQcm9wZXJ0eUFjY2Vzc1JlY29yZChm
dW5jdGlvbkNhbGwsIGRlbHRhQ2hlY2tJbW1Ub0NhbGwsIGRlbHRhQ2FsbFRvU3RydWN0Q2hlY2ss
IGRlbHRhQ2FsbFRvVGFnTG9hZE9yU3RvcmUsIGRlbHRhQ2FsbFRvUGF5bG9hZExvYWRPclN0b3Jl
LCBkZWx0YUNhbGxUb1Nsb3dDYXNlLCBkZWx0YUNhbGxUb0RvbmUsICBiYXNlR1BSLCB2YWx1ZVRh
Z0dQUiwgdmFsdWVHUFIsIHNjcmF0Y2hHUFIpKTsKICAgICB9CiAjZW5kaWYKIApAQCAtNDYzLDEy
ICs0NjMsMTcgQEAgcHJpdmF0ZToKICNpZiBVU0UoSlNWQUxVRTY0KQogICAgICAgICBQcm9wZXJ0
eUFjY2Vzc1JlY29yZChDYWxsIGZ1bmN0aW9uQ2FsbCwgaW50MTZfdCBkZWx0YUNoZWNrSW1tVG9D
YWxsLCBpbnQxNl90IGRlbHRhQ2FsbFRvU3RydWN0Q2hlY2ssIGludDE2X3QgZGVsdGFDYWxsVG9M
b2FkT3JTdG9yZSwgaW50MTZfdCBkZWx0YUNhbGxUb1Nsb3dDYXNlLCBpbnQxNl90IGRlbHRhQ2Fs
bFRvRG9uZSwgaW50OF90IGJhc2VHUFIsIGludDhfdCB2YWx1ZUdQUiwgaW50OF90IHNjcmF0Y2hH
UFIpCiAjZWxpZiBVU0UoSlNWQUxVRTMyXzY0KQotICAgICAgICBQcm9wZXJ0eUFjY2Vzc1JlY29y
ZChDYWxsIGZ1bmN0aW9uQ2FsbCwgaW50MTZfdCBkZWx0YUNoZWNrSW1tVG9DYWxsLCBpbnQxNl90
IGRlbHRhQ2FsbFRvU3RydWN0Q2hlY2ssIGludDE2X3QgZGVsdGFDYWxsVG9Mb2FkT3JTdG9yZSwg
aW50MTZfdCBkZWx0YUNhbGxUb1Nsb3dDYXNlLCBpbnQxNl90IGRlbHRhQ2FsbFRvRG9uZSwgaW50
OF90IGJhc2VHUFIsIGludDhfdCB2YWx1ZVRhZ0dQUiwgaW50OF90IHZhbHVlR1BSLCBpbnQ4X3Qg
c2NyYXRjaEdQUikKKyAgICAgICAgUHJvcGVydHlBY2Nlc3NSZWNvcmQoQ2FsbCBmdW5jdGlvbkNh
bGwsIGludDE2X3QgZGVsdGFDaGVja0ltbVRvQ2FsbCwgaW50MTZfdCBkZWx0YUNhbGxUb1N0cnVj
dENoZWNrLCBpbnQxNl90IGRlbHRhQ2FsbFRvVGFnTG9hZE9yU3RvcmUsIGludDE2X3QgZGVsdGFD
YWxsVG9QYXlsb2FkTG9hZE9yU3RvcmUsIGludDE2X3QgZGVsdGFDYWxsVG9TbG93Q2FzZSwgaW50
MTZfdCBkZWx0YUNhbGxUb0RvbmUsIGludDhfdCBiYXNlR1BSLCBpbnQ4X3QgdmFsdWVUYWdHUFIs
IGludDhfdCB2YWx1ZUdQUiwgaW50OF90IHNjcmF0Y2hHUFIpCiAjZW5kaWYKICAgICAgICAgICAg
IDogbV9mdW5jdGlvbkNhbGwoZnVuY3Rpb25DYWxsKQogICAgICAgICAgICAgLCBtX2RlbHRhQ2hl
Y2tJbW1Ub0NhbGwoZGVsdGFDaGVja0ltbVRvQ2FsbCkKICAgICAgICAgICAgICwgbV9kZWx0YUNh
bGxUb1N0cnVjdENoZWNrKGRlbHRhQ2FsbFRvU3RydWN0Q2hlY2spCisjaWYgVVNFKEpTVkFMVUU2
NCkKICAgICAgICAgICAgICwgbV9kZWx0YUNhbGxUb0xvYWRPclN0b3JlKGRlbHRhQ2FsbFRvTG9h
ZE9yU3RvcmUpCisjZWxpZiBVU0UoSlNWQUxVRTMyXzY0KQorICAgICAgICAgICAgLCBtX2RlbHRh
Q2FsbFRvVGFnTG9hZE9yU3RvcmUoZGVsdGFDYWxsVG9UYWdMb2FkT3JTdG9yZSkKKyAgICAgICAg
ICAgICwgbV9kZWx0YUNhbGxUb1BheWxvYWRMb2FkT3JTdG9yZShkZWx0YUNhbGxUb1BheWxvYWRM
b2FkT3JTdG9yZSkKKyNlbmRpZgogICAgICAgICAgICAgLCBtX2RlbHRhQ2FsbFRvU2xvd0Nhc2Uo
ZGVsdGFDYWxsVG9TbG93Q2FzZSkKICAgICAgICAgICAgICwgbV9kZWx0YUNhbGxUb0RvbmUoZGVs
dGFDYWxsVG9Eb25lKQogICAgICAgICAgICAgLCBtX2Jhc2VHUFIoYmFzZUdQUikKQEAgLTQ4Myw3
ICs0ODgsMTIgQEAgcHJpdmF0ZToKICAgICAgICAgSklUQ29tcGlsZXI6OkNhbGwgbV9mdW5jdGlv
bkNhbGw7CiAgICAgICAgIGludDE2X3QgbV9kZWx0YUNoZWNrSW1tVG9DYWxsOwogICAgICAgICBp
bnQxNl90IG1fZGVsdGFDYWxsVG9TdHJ1Y3RDaGVjazsKKyNpZiBVU0UoSlNWQUxVRTY0KQogICAg
ICAgICBpbnQxNl90IG1fZGVsdGFDYWxsVG9Mb2FkT3JTdG9yZTsKKyNlbGlmIFVTRShKU1ZBTFVF
MzJfNjQpCisgICAgICAgIGludDE2X3QgbV9kZWx0YUNhbGxUb1RhZ0xvYWRPclN0b3JlOworICAg
ICAgICBpbnQxNl90IG1fZGVsdGFDYWxsVG9QYXlsb2FkTG9hZE9yU3RvcmU7CisjZW5kaWYKICAg
ICAgICAgaW50MTZfdCBtX2RlbHRhQ2FsbFRvU2xvd0Nhc2U7CiAgICAgICAgIGludDE2X3QgbV9k
ZWx0YUNhbGxUb0RvbmU7CiAgICAgICAgIGludDhfdCBtX2Jhc2VHUFI7CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1JlcGF0Y2guY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHUmVwYXRjaC5jcHAJKHJldmlzaW9uIDk1OTA4KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdSZXBhdGNoLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NTAsMTAgKzUwLDIwIEBAIHN0YXRpYyB2b2lkIGRmZ1JlcGF0Y2hCeUlkU2VsZkFjY2VzcyhDb2QK
IAogICAgIC8vIFBhdGNoIHRoZSBzdHJ1Y3R1cmUgY2hlY2sgJiB0aGUgb2Zmc2V0IG9mIHRoZSBs
b2FkLgogICAgIHJlcGF0Y2hCdWZmZXIucmVwYXRjaChzdHViSW5mby5jYWxsUmV0dXJuTG9jYXRp
b24uZGF0YUxhYmVsUHRyQXRPZmZzZXQoLShpbnRwdHJfdClzdHViSW5mby51LnVuc2V0LmRlbHRh
Q2hlY2tJbW1Ub0NhbGwpLCBzdHJ1Y3R1cmUpOworI2lmIFVTRShKU1ZBTFVFNjQpCiAgICAgaWYg
KGNvbXBhY3QpCiAgICAgICAgIHJlcGF0Y2hCdWZmZXIucmVwYXRjaChzdHViSW5mby5jYWxsUmV0
dXJuTG9jYXRpb24uZGF0YUxhYmVsQ29tcGFjdEF0T2Zmc2V0KHN0dWJJbmZvLnUudW5zZXQuZGVs
dGFDYWxsVG9Mb2FkT3JTdG9yZSksIHNpemVvZihKU1ZhbHVlKSAqIG9mZnNldCk7CiAgICAgZWxz
ZQogICAgICAgICByZXBhdGNoQnVmZmVyLnJlcGF0Y2goc3R1YkluZm8uY2FsbFJldHVybkxvY2F0
aW9uLmRhdGFMYWJlbDMyQXRPZmZzZXQoc3R1YkluZm8udS51bnNldC5kZWx0YUNhbGxUb0xvYWRP
clN0b3JlKSwgc2l6ZW9mKEpTVmFsdWUpICogb2Zmc2V0KTsKKyNlbGlmIFVTRShKU1ZBTFVFMzJf
NjQpCisgICAgaWYgKGNvbXBhY3QpIHsKKyAgICAgICAgcmVwYXRjaEJ1ZmZlci5yZXBhdGNoKHN0
dWJJbmZvLmNhbGxSZXR1cm5Mb2NhdGlvbi5kYXRhTGFiZWxDb21wYWN0QXRPZmZzZXQoc3R1Yklu
Zm8udS51bnNldC5kZWx0YUNhbGxUb1RhZ0xvYWRPclN0b3JlKSwgc2l6ZW9mKEpTVmFsdWUpICog
b2Zmc2V0ICsgT0JKRUNUX09GRlNFVE9GKEVuY29kZWRWYWx1ZURlc2NyaXB0b3IsIGFzQml0cy50
YWcpKTsKKyAgICAgICAgcmVwYXRjaEJ1ZmZlci5yZXBhdGNoKHN0dWJJbmZvLmNhbGxSZXR1cm5M
b2NhdGlvbi5kYXRhTGFiZWxDb21wYWN0QXRPZmZzZXQoc3R1YkluZm8udS51bnNldC5kZWx0YUNh
bGxUb1BheWxvYWRMb2FkT3JTdG9yZSksIHNpemVvZihKU1ZhbHVlKSAqIG9mZnNldCArIE9CSkVD
VF9PRkZTRVRPRihFbmNvZGVkVmFsdWVEZXNjcmlwdG9yLCBhc0JpdHMucGF5bG9hZCkpOworICAg
IH0gZWxzZSB7CisgICAgICAgIHJlcGF0Y2hCdWZmZXIucmVwYXRjaChzdHViSW5mby5jYWxsUmV0
dXJuTG9jYXRpb24uZGF0YUxhYmVsMzJBdE9mZnNldChzdHViSW5mby51LnVuc2V0LmRlbHRhQ2Fs
bFRvVGFnTG9hZE9yU3RvcmUpLCBzaXplb2YoSlNWYWx1ZSkgKiBvZmZzZXQgKyBPQkpFQ1RfT0ZG
U0VUT0YoRW5jb2RlZFZhbHVlRGVzY3JpcHRvciwgYXNCaXRzLnRhZykpOworICAgICAgICByZXBh
dGNoQnVmZmVyLnJlcGF0Y2goc3R1YkluZm8uY2FsbFJldHVybkxvY2F0aW9uLmRhdGFMYWJlbDMy
QXRPZmZzZXQoc3R1YkluZm8udS51bnNldC5kZWx0YUNhbGxUb1BheWxvYWRMb2FkT3JTdG9yZSks
IHNpemVvZihKU1ZhbHVlKSAqIG9mZnNldCArIE9CSkVDVF9PRkZTRVRPRihFbmNvZGVkVmFsdWVE
ZXNjcmlwdG9yLCBhc0JpdHMucGF5bG9hZCkpOworICAgIH0KKyNlbmRpZgogfQogCiBzdGF0aWMg
dm9pZCBlbWl0UmVzdG9yZVNjcmF0Y2goTWFjcm9Bc3NlbWJsZXImIHN0dWJKaXQsIGJvb2wgbmVl
ZFRvUmVzdG9yZVNjcmF0Y2gsIEdQUlJlZyBzY3JhdGNoR1BSLCBNYWNyb0Fzc2VtYmxlcjo6SnVt
cCYgc3VjY2VzcywgTWFjcm9Bc3NlbWJsZXI6Okp1bXAmIGZhaWwsIE1hY3JvQXNzZW1ibGVyOjpK
dW1wTGlzdCBmYWlsdXJlQ2FzZXMpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAJKHJldmlzaW9uIDk1OTA4KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTc0OSw4ICsxNzQ5LDggQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29t
cGlsZShOb2RlJiBub2RlKQogICAgICAgICBzdG9yYWdlLnVzZSgpOwogICAgICAgICBTdG9yYWdl
QWNjZXNzRGF0YSYgc3RvcmFnZUFjY2Vzc0RhdGEgPSBtX2ppdC5ncmFwaCgpLm1fc3RvcmFnZUFj
Y2Vzc0RhdGFbbm9kZS5zdG9yYWdlQWNjZXNzRGF0YUluZGV4KCldOwogICAgICAgICAKLSAgICAg
ICAgbV9qaXQubG9hZDMyKEpJVENvbXBpbGVyOjpBZGRyZXNzKHN0b3JhZ2VHUFIsIHN0b3JhZ2VB
Y2Nlc3NEYXRhLm9mZnNldCAqIHNpemVvZihFbmNvZGVkSlNWYWx1ZSkgKyBPQkpFQ1RfT0ZGU0VU
T0YoRW5jb2RlZFZhbHVlRGVzY3JpcHRvciwgYXNCaXRzLnRhZykpLCByZXN1bHRUYWdHUFIpOwog
ICAgICAgICBtX2ppdC5sb2FkMzIoSklUQ29tcGlsZXI6OkFkZHJlc3Moc3RvcmFnZUdQUiwgc3Rv
cmFnZUFjY2Vzc0RhdGEub2Zmc2V0ICogc2l6ZW9mKEVuY29kZWRKU1ZhbHVlKSArIE9CSkVDVF9P
RkZTRVRPRihFbmNvZGVkVmFsdWVEZXNjcmlwdG9yLCBhc0JpdHMucGF5bG9hZCkpLCByZXN1bHRQ
YXlsb2FkR1BSKTsKKyAgICAgICAgbV9qaXQubG9hZDMyKEpJVENvbXBpbGVyOjpBZGRyZXNzKHN0
b3JhZ2VHUFIsIHN0b3JhZ2VBY2Nlc3NEYXRhLm9mZnNldCAqIHNpemVvZihFbmNvZGVkSlNWYWx1
ZSkgKyBPQkpFQ1RfT0ZGU0VUT0YoRW5jb2RlZFZhbHVlRGVzY3JpcHRvciwgYXNCaXRzLnRhZykp
LCByZXN1bHRUYWdHUFIpOwogICAgICAgICAKICAgICAgICAganNWYWx1ZVJlc3VsdChyZXN1bHRU
YWdHUFIsIHJlc3VsdFBheWxvYWRHUFIsIG1fY29tcGlsZUluZGV4KTsKICAgICAgICAgYnJlYWs7
Cg==
</data>
<flag name="review"
          id="105586"
          type_id="1"
          status="+"
          setter="barraclough"
    />
          </attachment>
      

    </bug>

</bugzilla>