<?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>124010</bug_id>
          
          <creation_ts>2013-11-07 12:53:59 -0800</creation_ts>
          <short_desc>FTL should support NewArray</short_desc>
          <delta_ts>2013-11-07 17:54:18 -0800</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>112840</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>barraclough</cc>
    
    <cc>ggaren</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mhahnenberg</cc>
    
    <cc>msaboff</cc>
    
    <cc>nrotem</cc>
    
    <cc>oliver</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>948390</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-11-07 12:53:59 -0800</bug_when>
    <thetext>Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>948391</commentid>
    <comment_count>1</comment_count>
      <attachid>216328</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-11-07 12:54:50 -0800</bug_when>
    <thetext>Created attachment 216328
work in progress</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>948436</commentid>
    <comment_count>2</comment_count>
      <attachid>216336</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-11-07 15:14:49 -0800</bug_when>
    <thetext>Created attachment 216336
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>948492</commentid>
    <comment_count>3</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-11-07 17:54:18 -0800</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/158891</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>216328</attachid>
            <date>2013-11-07 12:54:50 -0800</date>
            <delta_ts>2013-11-07 15:14:49 -0800</delta_ts>
            <desc>work in progress</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>10507</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENhcGFiaWxpdGllcy5jcHAJ
KHJldmlzaW9uIDE1ODgyNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ2FwYWJp
bGl0aWVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjMsNiArNjMsNyBAQCBpbmxpbmUgQ2FwYWJp
bGl0eUxldmVsIGNhbkNvbXBpbGUoTm9kZSogCiAgICAgY2FzZSBQaGFudG9tUHV0U3RydWN0dXJl
OgogICAgIGNhc2UgR2V0QnV0dGVyZmx5OgogICAgIGNhc2UgTmV3T2JqZWN0OgorICAgIGNhc2Ug
TmV3QXJyYXk6CiAgICAgY2FzZSBHZXRCeU9mZnNldDoKICAgICBjYXNlIFB1dEJ5T2Zmc2V0Ogog
ICAgIGNhc2UgR2V0R2xvYmFsVmFyOgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9G
VExMb3dlckRGR1RvTExWTS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAJKHJldmlzaW9uIDE1ODgyNikKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0zNzEsNiArMzcxLDkgQEAgcHJpdmF0ZToKICAgICAgICAgY2FzZSBOZXdPYmplY3Q6CiAgICAg
ICAgICAgICBjb21waWxlTmV3T2JqZWN0KCk7CiAgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
Y2FzZSBOZXdBcnJheToKKyAgICAgICAgICAgIGNvbXBpbGVOZXdBcnJheSgpOworICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgIGNhc2UgU3RyaW5nQ2hhckF0OgogICAgICAgICAgICAgY29tcGls
ZVN0cmluZ0NoYXJBdCgpOwogICAgICAgICAgICAgYnJlYWs7CkBAIC0xNzUxLDcgKzE3NTQsNyBA
QCBwcml2YXRlOgogICAgICAgICAKICAgICAgICAgTEJhc2ljQmxvY2sgbGFzdE5leHQgPSBtX291
dC5pbnNlcnROZXdCbG9ja3NCZWZvcmUoc2xvd1BhdGgpOwogICAgICAgICAKLSAgICAgICAgVmFs
dWVGcm9tQmxvY2sgZmFzdFJlc3VsdCA9IG1fb3V0LmFuY2hvcihhbGxvY2F0ZSgKKyAgICAgICAg
VmFsdWVGcm9tQmxvY2sgZmFzdFJlc3VsdCA9IG1fb3V0LmFuY2hvcihhbGxvY2F0ZU9iamVjdCgK
ICAgICAgICAgICAgIG1fb3V0LmNvbnN0SW50UHRyKGFsbG9jYXRvciksIG1fb3V0LmNvbnN0SW50
UHRyKHN0cnVjdHVyZSksIG1fb3V0LmludFB0clplcm8sIHNsb3dQYXRoKSk7CiAgICAgICAgIAog
ICAgICAgICBtX291dC5qdW1wKGNvbnRpbnVhdGlvbik7CkBAIC0xNzY2LDYgKzE3NjksNzYgQEAg
cHJpdmF0ZToKICAgICAgICAgc2V0SlNWYWx1ZShtX291dC5waGkobV9vdXQuaW50UHRyLCBmYXN0
UmVzdWx0LCBzbG93UmVzdWx0KSk7CiAgICAgfQogICAgIAorICAgIHZvaWQgY29tcGlsZU5ld0Fy
cmF5KCkKKyAgICB7CisgICAgICAgIC8vIEZpcnN0IHNwZWN1bGF0ZSBhcHByb3ByaWF0ZWx5IG9u
IGFsbCBvZiB0aGUgY2hpbGRyZW4uIERvIHRoaXMgdW5jb25kaXRpb25hbGx5IHVwIGhlcmUKKyAg
ICAgICAgLy8gYmVjYXVzZSBzb21lIG9mIHRoZSBzbG93IHBhdGhzIG1heSBvdGhlcndpc2UgZm9y
Z2V0IHRvIGRvIGl0LiBJdCdzIHNvcnQgb2YgYXJndWFibGUKKyAgICAgICAgLy8gdGhhdCBkb2lu
ZyB0aGUgc3BlY3VsYXRpb25zIHVwIGhlcmUgbWlnaHQgYmUgdW5wcm9maXRhYmxlIGZvciBSQSAt
IHNvIHdlIGNhbiBjb25zaWRlcgorICAgICAgICAvLyBzaW5raW5nIHRoaXMgdG8gYmVsb3cgdGhl
IGFsbG9jYXRpb24gZmFzdCBwYXRoIGlmIHdlIGZpbmQgdGhhdCB0aGlzIGhhcyBhIGxvdCBvZgor
ICAgICAgICAvLyByZWdpc3RlciBwcmVzc3VyZS4KKyAgICAgICAgZm9yICh1bnNpZ25lZCBvcGVy
YW5kSW5kZXggPSAwOyBvcGVyYW5kSW5kZXggPCBtX25vZGUtPm51bUNoaWxkcmVuKCk7ICsrb3Bl
cmFuZEluZGV4KQorICAgICAgICAgICAgc3BlY3VsYXRlKG1fZ3JhcGgudmFyQXJnQ2hpbGQobV9u
b2RlLCBvcGVyYW5kSW5kZXgpKTsKKyAgICAgICAgCisgICAgICAgIEpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QgPSBtX2dyYXBoLmdsb2JhbE9iamVjdEZvcihtX25vZGUtPmNvZGVPcmlnaW4p
OworICAgICAgICBpZiAoIWdsb2JhbE9iamVjdC0+aXNIYXZpbmdBQmFkVGltZSgpICYmICFoYXNB
cnJheVN0b3JhZ2Uobm9kZS0+aW5kZXhpbmdUeXBlKCkpKSB7CisgICAgICAgICAgICBTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSA9IGdsb2JhbE9iamVjdC0+YXJyYXlTdHJ1Y3R1cmVGb3JJbmRleGluZ1R5
cGVEdXJpbmdBbGxvY2F0aW9uKAorICAgICAgICAgICAgICAgIG1fbm9kZS0+aW5kZXhpbmdUeXBl
KCkpOworICAgICAgICAgICAgCisgICAgICAgICAgICBSRUxFQVNFX0FTU0VSVChzdHJ1Y3R1cmUt
PmluZGV4aW5nVHlwZSgpID09IG1fbm9kZS0+aW5kZXhpbmdUeXBlKCkpOworICAgICAgICAgICAg
QVNTRVJUKAorICAgICAgICAgICAgICAgIGhhc1VuZGVjaWRlZChzdHJ1Y3R1cmUtPmluZGV4aW5n
VHlwZSgpKQorICAgICAgICAgICAgICAgIHx8IGhhc0ludDMyKHN0cnVjdHVyZS0+aW5kZXhpbmdU
eXBlKCkpCisgICAgICAgICAgICAgICAgfHwgaGFzRG91YmxlKHN0cnVjdHVyZS0+aW5kZXhpbmdU
eXBlKCkpCisgICAgICAgICAgICAgICAgfHwgaGFzQ29udGlndW91cyhzdHJ1Y3R1cmUtPmluZGV4
aW5nVHlwZSgpKSk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIHVuc2lnbmVkIG51bUVsZW1l
bnRzID0gbV9ub2RlLT5udW1DaGlsZHJlbigpOworICAgICAgICAgICAgCisgICAgICAgICAgICBB
cnJheVZhbHVlcyBhcnJheVZhbHVlcyA9IGFsbG9jYXRlSlNBcnJheShzdHJ1Y3R1cmUsIG51bUVs
ZW1lbnRzKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBvcGVyYW5k
SW5kZXggPSAwOyBvcGVyYW5kSW5kZXggPCBtX25vZGUtPm51bUNoaWxkcmVuKCk7ICsrb3BlcmFu
ZEluZGV4KSB7CisgICAgICAgICAgICAgICAgRWRnZSBlZGdlID0gbV9ncmFwaC52YXJBcmdDaGls
ZChtX25vZGUsIG9wZXJhbmRJbmRleCk7CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAg
ICAgc3dpdGNoIChtX25vZGUtPmluZGV4aW5nVHlwZSgpKSB7CisgICAgICAgICAgICAgICAgY2Fz
ZSBBTExfQkxBTktfSU5ERVhJTkdfVFlQRVM6CisgICAgICAgICAgICAgICAgY2FzZSBBTExfVU5E
RUNJREVEX0lOREVYSU5HX1RZUEVTOgorICAgICAgICAgICAgICAgICAgICBDUkFTSCgpOworICAg
ICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAg
ICAgICAgY2FzZSBBTExfRE9VQkxFX0lOREVYSU5HX1RZUEVTOgorICAgICAgICAgICAgICAgICAg
ICBtX291dC5zdG9yZURvdWJsZSgKKyAgICAgICAgICAgICAgICAgICAgICAgIGxvd0RvdWJsZShl
ZGdlKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5VmFsdWVzLmJ1dHRlcmZseSwgbV9o
ZWFwcy5pbmRleGVkRG91YmxlUHJvcGVydGllc1tvcGVyYW5kSW5kZXhdKTsKKyAgICAgICAgICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIGNh
c2UgQUxMX0lOVDMyX0lOREVYSU5HX1RZUEVTOgorICAgICAgICAgICAgICAgICAgICBtX291dC5z
dG9yZTY0KAorICAgICAgICAgICAgICAgICAgICAgICAgbG93SlNWYWx1ZShlZGdlKSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGFycmF5VmFsdWVzLmJ1dHRlcmZseSwgbV9oZWFwcy5pbmRleGVk
SW50MzJQcm9wZXJ0aWVzW29wZXJhbmRJbmRleF0pOworICAgICAgICAgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgY2FzZSBBTExfQ09OVElH
VU9VU19JTkRFWElOR19UWVBFUzoKKyAgICAgICAgICAgICAgICAgICAgbV9vdXQuc3RvcmU2NCgK
KyAgICAgICAgICAgICAgICAgICAgICAgIGxvd0pTVmFsdWUoZWRnZSksCisgICAgICAgICAgICAg
ICAgICAgICAgICBhcnJheVZhbHVlcy5idXR0ZXJmbHksCisgICAgICAgICAgICAgICAgICAgICAg
ICBtX2hlYXBzLmluZGV4ZWRDb250aWd1b3VzUHJvcGVydGllc1tvcGVyYW5kSW5kZXhdKTsKKyAg
ICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAg
ICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgICAgIENSQVNIKCk7CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgICAgCisgICAgICAgICAgICBzZXRKU1Zh
bHVlKGFycmF5VmFsdWVzLmFycmF5KTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQor
ICAgICAgICAKKyAgICAgICAgaWYgKCFtX25vZGUtPm51bUNoaWxkcmVuKCkpIHsKKyAgICAgICAg
ICAgIC8vIEZJWE1FCisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIC8vIEZJWE1FCisgICAg
fQorICAgIAogICAgIHZvaWQgY29tcGlsZVN0cmluZ0NoYXJBdCgpCiAgICAgewogICAgICAgICBM
VmFsdWUgYmFzZSA9IGxvd0NlbGwobV9ub2RlLT5jaGlsZDEoKSk7CkBAIC0yMzg5LDEwICsyNDYy
LDkgQEAgcHJpdmF0ZToKICAgICAgICAgaW5mby5tX2lzSW52YWxpZGF0aW9uUG9pbnQgPSB0cnVl
OwogICAgIH0KICAgICAKLSAgICBMVmFsdWUgYWxsb2NhdGUoCi0gICAgICAgIExWYWx1ZSBhbGxv
Y2F0b3IsIExWYWx1ZSBzdHJ1Y3R1cmUsIExWYWx1ZSBidXR0ZXJmbHksIExCYXNpY0Jsb2NrIHNs
b3dQYXRoKQorICAgIExWYWx1ZSBhbGxvY2F0ZUNlbGwoTFZhbHVlIGFsbG9jYXRvciwgTFZhbHVl
IHN0cnVjdHVyZSwgTEJhc2ljQmxvY2sgc2xvd1BhdGgpCiAgICAgewotICAgICAgICBMQmFzaWNC
bG9jayBzdWNjZXNzID0gRlRMX05FV19CTE9DSyhtX291dCwgKCJhbGxvY2F0aW9uIHN1Y2Nlc3Mi
KSk7CisgICAgICAgIExCYXNpY0Jsb2NrIHN1Y2Nlc3MgPSBGVExfTkVXX0JMT0NLKG1fb3V0LCAo
Im9iamVjdCBhbGxvY2F0aW9uIHN1Y2Nlc3MiKSk7CiAgICAgICAgIAogICAgICAgICBMVmFsdWUg
cmVzdWx0ID0gbV9vdXQubG9hZFB0cigKICAgICAgICAgICAgIGFsbG9jYXRvciwgbV9oZWFwcy5N
YXJrZWRBbGxvY2F0b3JfZnJlZUxpc3RIZWFkKTsKQEAgLTI0MDYsMTEgKzI0NzgsMTMwIEBAIHBy
aXZhdGU6CiAgICAgICAgICAgICBhbGxvY2F0b3IsIG1faGVhcHMuTWFya2VkQWxsb2NhdG9yX2Zy
ZWVMaXN0SGVhZCk7CiAgICAgICAgIAogICAgICAgICBtX291dC5zdG9yZVB0cihzdHJ1Y3R1cmUs
IHJlc3VsdCwgbV9oZWFwcy5KU0NlbGxfc3RydWN0dXJlKTsKLSAgICAgICAgbV9vdXQuc3RvcmVQ
dHIoYnV0dGVyZmx5LCByZXN1bHQsIG1faGVhcHMuSlNPYmplY3RfYnV0dGVyZmx5KTsKICAgICAg
ICAgCiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQogICAgIAorICAgIExWYWx1ZSBhbGxv
Y2F0ZU9iamVjdCgKKyAgICAgICAgTFZhbHVlIGFsbG9jYXRvciwgTFZhbHVlIHN0cnVjdHVyZSwg
TFZhbHVlIGJ1dHRlcmZseSwgTEJhc2ljQmxvY2sgc2xvd1BhdGgpCisgICAgeworICAgICAgICBM
VmFsdWUgcmVzdWx0ID0gYWxsb2NhdGVDZWxsKGFsbG9jYXRvciwgc3RydWN0dXJlLCBzbG93UGF0
aCk7CisgICAgICAgIG1fb3V0LnN0b3JlUHRyKGJ1dHRlcmZseSwgcmVzdWx0LCBtX2hlYXBzLkpT
T2JqZWN0X2J1dHRlcmZseSk7CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgfQorICAgIAor
ICAgIHRlbXBsYXRlPHR5cGVuYW1lIENsYXNzVHlwZT4KKyAgICBMVmFsdWUgYWxsb2NhdGVPYmpl
Y3QoTFZhbHVlIHN0cnVjdHVyZSwgTFZhbHVlIGJ1dHRlcmZseSwgTEJhc2ljQmxvY2sgc2xvd1Bh
dGgpCisgICAgeworICAgICAgICBNYXJrZWRBbGxvY2F0b3IqIGFsbG9jYXRvcjsKKyAgICAgICAg
c2l6ZV90IHNpemUgPSBDbGFzc1R5cGU6OmFsbG9jYXRpb25TaXplKDApOworICAgICAgICBpZiAo
Q2xhc3NUeXBlOjpuZWVkc0Rlc3RydWN0aW9uICYmIENsYXNzVHlwZTo6aGFzSW1tb3J0YWxTdHJ1
Y3R1cmUpCisgICAgICAgICAgICBhbGxvY2F0b3IgPSAmdm0oKS5oZWFwLmFsbG9jYXRvckZvck9i
amVjdFdpdGhJbW1vcnRhbFN0cnVjdHVyZURlc3RydWN0b3Ioc2l6ZSk7CisgICAgICAgIGVsc2Ug
aWYgKENsYXNzVHlwZTo6bmVlZHNEZXN0cnVjdGlvbikKKyAgICAgICAgICAgIGFsbG9jYXRvciA9
ICZ2bSgpLmhlYXAuYWxsb2NhdG9yRm9yT2JqZWN0V2l0aE5vcm1hbERlc3RydWN0b3Ioc2l6ZSk7
CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGFsbG9jYXRvciA9ICZ2bSgpLmhlYXAuYWxsb2Nh
dG9yRm9yT2JqZWN0V2l0aG91dERlc3RydWN0b3Ioc2l6ZSk7CisgICAgICAgIHJldHVybiBhbGxv
Y2F0ZU9iamVjdChtX291dC5jb25zdEludFB0cihhbGxvY2F0b3IpLCBzdHJ1Y3R1cmUsIGJ1dHRl
cmZseSwgc2xvd1BhdGgpOworICAgIH0KKyAgICAKKyAgICAvLyBSZXR1cm5zIGEgcG9pbnRlciB0
byB0aGUgZW5kIG9mIHRoZSBhbGxvY2F0aW9uLgorICAgIExWYWx1ZSBhbGxvY2F0ZUJhc2ljU3Rv
cmFnZUFuZEdldEVuZChMVmFsdWUgc2l6ZSwgTEJhc2ljQmxvY2sgc2xvd1BhdGgpCisgICAgewor
ICAgICAgICBDb3BpZWRBbGxvY2F0b3IqIGFsbG9jYXRvciA9IHZtKCkuaGVhcC5zdG9yYWdlQWxs
b2NhdG9yKCk7CisgICAgICAgIAorICAgICAgICBMQmFzaWNCbG9jayBzdWNjZXNzID0gRlRMX05F
V19CTE9DSyhtX291dCwgKCJzdG9yYWdlIGFsbG9jYXRpb24gc3VjY2VzcyIpKTsKKyAgICAgICAg
CisgICAgICAgIExWYWx1ZSByZW1haW5pbmcgPSBtX291dC5sb2FkUHRyKG1fb3V0LmFic29sdXRl
KCZhbGxvY2F0b3ItPm1fY3VycmVudFJlbWFpbmluZykpOworICAgICAgICBMVmFsdWUgbmV3UmVt
YWluaW5nID0gbV9vdXQuc3ViKHJlbWFpbmluZywgc2l6ZSk7CisgICAgICAgIAorICAgICAgICBt
X291dC5icmFuY2gobV9vdXQubGVzc1RoYW4obmV3UmVtYWluaW5nLCBtX291dC5pbnRQdHJaZXJv
KSwgc2xvd1BhdGgsIHN1Y2Nlc3MpOworICAgICAgICAKKyAgICAgICAgbV9vdXQuYXBwZW5kVG8o
c3VjY2Vzcyk7CisgICAgICAgIAorICAgICAgICBtX291dC5zdG9yZVB0cihuZXdSZW1haW5pbmcs
IG1fb3V0LmFic29sdXRlKCZhbGxvY2F0b3ItPm1fY3VycmVudFJlbWFpbmluZykpOworICAgICAg
ICByZXR1cm4gbV9vdXQuc3ViKG1fb3V0LmxvYWRQdHIoJmFsbG9jYXRvci0+bV9jdXJyZW50UGF5
bG9hZEVuZCksIG5ld1JlbWFpbmluZyk7CisgICAgfQorICAgIAorICAgIHN0cnVjdCBBcnJheVZh
bHVlcyB7CisgICAgICAgIEFycmF5VmFsdWVzKCkKKyAgICAgICAgICAgIDogYXJyYXkoMCkKKyAg
ICAgICAgICAgICwgYnV0dGVyZmx5KDApCisgICAgICAgIHsKKyAgICAgICAgfQorICAgICAgICAK
KyAgICAgICAgQXJyYXlWYWx1ZXMoTFZhbHVlIGFycmF5LCBMVmFsdWUgYnV0dGVyZmx5KQorICAg
ICAgICAgICAgOiBhcnJheShhcnJheSkKKyAgICAgICAgICAgICwgYnV0dGVyZmx5KGJ1dHRlcmZs
eSkKKyAgICAgICAgeworICAgICAgICB9CisgICAgICAgIAorICAgICAgICBMVmFsdWUgYXJyYXk7
CisgICAgICAgIExWYWx1ZSBidXR0ZXJmbHk7CisgICAgfTsKKyAgICBBcnJheVZhbHVlcyBhbGxv
Y2F0ZUpTQXJyYXkoCisgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlLCB1bnNpZ25lZCBudW1F
bGVtZW50cywgTEJhc2ljQmxvY2sgc2xvd1BhdGgpCisgICAgeworICAgICAgICBBU1NFUlQoCisg
ICAgICAgICAgICBoYXNVbmRlY2lkZWQoc3RydWN0dXJlLT5pbmRleGluZ1R5cGUoKSkKKyAgICAg
ICAgICAgIHx8IGhhc0ludDMyKHN0cnVjdHVyZS0+aW5kZXhpbmdUeXBlKCkpCisgICAgICAgICAg
ICB8fCBoYXNEb3VibGUoc3RydWN0dXJlLT5pbmRleGluZ1R5cGUoKSkKKyAgICAgICAgICAgIHx8
IGhhc0NvbnRpZ3VvdXMoc3RydWN0dXJlLT5pbmRleGluZ1R5cGUoKSkpOworICAgICAgICAKKyAg
ICAgICAgdW5zaWduZWQgdmVjdG9yTGVuZ3RoID0gc3RkOjptYXgoQkFTRV9WRUNUT1JfTEVOLCBu
dW1FbGVtZW50cyk7CisgICAgICAgIAorICAgICAgICBMVmFsdWUgZW5kT2ZTdG9yYWdlID0gYWxs
b2NhdGVCYXNpY1N0b3JhZ2VBbmRHZXRFbmQoCisgICAgICAgICAgICBtX291dC5jb25zdEludFB0
cihzaXplb2YoSlNWYWx1ZSkgKiB2ZWN0b3JMZW5ndGggKyBzaXplb2YoSW5kZXhpbmdIZWFkZXIp
KSwKKyAgICAgICAgICAgIHNsb3dQYXRoKTsKKyAgICAgICAgCisgICAgICAgIExWYWx1ZSBidXR0
ZXJmbHkgPSBtX291dC5zdWIoCisgICAgICAgICAgICBlbmRPZlN0b3JhZ2UsIG1fb3V0LmNvbnN0
SW50UHRyKHNpemVvZihKU1ZhbHVlKSAqIHZlY3Rvckxlbmd0aCkpOworICAgICAgICAKKyAgICAg
ICAgTFZhbHVlIG9iamVjdCA9IGFsbG9jYXRlT2JqZWN0PEpTQXJyYXk+KHN0cnVjdHVyZSwgYnV0
dGVyZmx5LCBzbG93UGF0aCk7CisgICAgICAgIAorICAgICAgICBtX291dC5zdG9yZTMyKG1fb3V0
LmNvbnN0SW50MzIobnVtRWxlbWVudHMpLCBidXR0ZXJmbHksIG1faGVhcHMuQnV0dGVyZmx5X3B1
YmxpY0xlbmd0aCk7CisgICAgICAgIG1fb3V0LnN0b3JlMzIobV9vdXQuY29uc3RJbnQzMih2ZWN0
b3JMZW5ndGgpLCBidXR0ZXJmbHksIG1faGVhcHMuQnV0dGVyZmx5X3ZlY3Rvckxlbmd0aCk7Cisg
ICAgICAgIAorICAgICAgICBpZiAoaGFzRG91YmxlKHN0cnVjdHVyZS0+aW5kZXhpbmdUeXBlKCkp
KSB7CisgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSBudW1FbGVtZW50czsgaSA8IHZlY3Rv
ckxlbmd0aDsgKytpKSB7CisgICAgICAgICAgICAgICAgbV9vdXQuc3RvcmU2NCgKKyAgICAgICAg
ICAgICAgICAgICAgbV9vdXQuY29uc3RJbnQ2NChiaXR3aXNlX2Nhc3Q8aW50NjRfdD4oUU5hTikp
LAorICAgICAgICAgICAgICAgICAgICBidXR0ZXJmbHksIG1faGVhcHMuaW5kZXhlZERvdWJsZVBy
b3BlcnRpZXNbaV0pOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgIAorICAgICAg
ICByZXR1cm4gQXJyYXlWYWx1ZXMob2JqZWN0LCBidXR0ZXJmbHkpOworICAgIH0KKyAgICAKKyAg
ICBBcnJheVZhbHVlcyBhbGxvY2F0ZUpTQXJyYXkoU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIHVuc2ln
bmVkIG51bUVsZW1lbnRzKQorICAgIHsKKyAgICAgICAgTEJhc2ljQmxvY2sgc2xvd1BhdGggPSBG
VExfTkVXX0JMT0NLKG1fb3V0LCAiSlNBcnJheSBhbGxvY2F0aW9uIHNsb3cgcGF0aCIpOworICAg
ICAgICBMQmFzaWNCbG9jayBjb250aW51YXRpb24gPSBGVExfTkVXX0JMT0NLKG1fb3V0LCAiSlNB
cnJheSBhbGxvY2F0aW9uIGNvbnRpbnVhdGlvbiIpOworICAgICAgICAKKyAgICAgICAgTEJhc2lj
QmxvY2sgbGFzdE5leHQgPSBtX291dC5pbnNlcnROZXdCbG9ja3NCZWZvcmUoc2xvd1BhdGgpOwor
ICAgICAgICAKKyAgICAgICAgQXJyYXlWYWx1ZXMgZmFzdFZhbHVlcyA9IGFsbG9jYXRlSlNBcnJh
eShzdHJ1Y3R1cmUsIG51bUVsZW1lbnRzLCBzbG93UGF0aCk7CisgICAgICAgIFZhbHVlRnJvbUJs
b2NrIGZhc3RBcnJheSA9IG1fb3V0LmFuY2hvcihmYXN0VmFsdWVzLmFycmF5KTsKKyAgICAgICAg
VmFsdWVGcm9tQmxvY2sgZmFzdEJ1dHRlcmZseSA9IG1fb3V0LmFuY2hvcihmYXN0VmFsdWVzLmJ1
dHRlcmZseSk7CisgICAgICAgIAorICAgICAgICBtX291dC5qdW1wKGNvbnRpbnVhdGlvbik7Cisg
ICAgICAgIAorICAgICAgICBtX291dC5hcHBlbmRUbyhzbG93UGF0aCwgY29udGludWF0aW9uKTsK
KyAgICAgICAgCisgICAgICAgIFZhbHVlRnJvbUJsb2NrIHNsb3dBcnJheSA9IG1fb3V0LmFuY2hv
cih2bUNhbGwoCisgICAgICAgICAgICBtX291dC5vcGVyYXRpb24ob3BlcmF0aW9uTmV3QXJyYXlX
aXRoU2l6ZSksIG1fY2FsbEZyYW1lLAorICAgICAgICAgICAgbV9vdXQuY29uc3RJbnRQdHIoc3Ry
dWN0dXJlKSwgbV9vdXQuY29uc3RJbnQzMihudW1FbGVtZW50cykpKTsKKyAgICAgICAgVmFsdWVG
cm9tQmxvY2sgc2xvd0J1dHRlcmZseSA9IG1fb3V0LmFuY2hvcigKKyAgICAgICAgICAgIG1fb3V0
LmxvYWRQdHIoc2xvd0FycmF5LnZhbHVlKCksIG1faGVhcHMuSlNPYmplY3RfYnV0dGVyZmx5KSk7
CisKKyAgICAgICAgbV9vdXQuanVtcChjb250aW51YXRpb24pOworICAgICAgICAKKyAgICAgICAg
bV9vdXQuYXBwZW5kVG8oY29udGludWF0aW9uLCBsYXN0TmV4dCk7CisgICAgICAgIAorICAgICAg
ICByZXR1cm4gQXJyYXlWYWx1ZXMoCisgICAgICAgICAgICBtX291dC5waGkobV9vdXQuY29uc3RJ
bnRQdHIsIGZhc3RBcnJheSwgc2xvd0FycmF5KSwKKyAgICAgICAgICAgIG1fb3V0LnBoaShtX291
dC5jb25zdEludFB0ciwgZmFzdEJ1dHRlcmZseSwgc2xvd0J1dHRlcmZseSkpOworICAgIH0KKyAg
ICAKICAgICBMVmFsdWUgYm9vbGlmeShFZGdlIGVkZ2UpCiAgICAgewogICAgICAgICBzd2l0Y2gg
KGVkZ2UudXNlS2luZCgpKSB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>216336</attachid>
            <date>2013-11-07 15:14:49 -0800</date>
            <delta_ts>2013-11-07 15:50:22 -0800</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>15341</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTU4ODI2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBA
CisyMDEzLTExLTA3ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
RlRMIHNob3VsZCBzdXBwb3J0IE5ld0FycmF5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMjQwMTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIGZ0bC9GVExDYXBhYmlsaXRpZXMuY3BwOgorICAgICAgICAo
SlNDOjpGVEw6OmNhbkNvbXBpbGUpOgorICAgICAgICAqIGZ0bC9GVExJbnRyaW5zaWNSZXBvc2l0
b3J5Lmg6CisgICAgICAgICogZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcDoKKyAgICAgICAgKEpT
Qzo6RlRMOjpMb3dlckRGR1RvTExWTTo6Y29tcGlsZU5vZGUpOgorICAgICAgICAoSlNDOjpGVEw6
Okxvd2VyREZHVG9MTFZNOjpjb21waWxlTmV3T2JqZWN0KToKKyAgICAgICAgKEpTQzo6RlRMOjpM
b3dlckRGR1RvTExWTTo6Y29tcGlsZU5ld0FycmF5KToKKyAgICAgICAgKEpTQzo6RlRMOjpMb3dl
ckRGR1RvTExWTTo6YWxsb2NhdGVDZWxsKToKKyAgICAgICAgKEpTQzo6RlRMOjpMb3dlckRGR1Rv
TExWTTo6YWxsb2NhdGVPYmplY3QpOgorICAgICAgICAoSlNDOjpGVEw6Okxvd2VyREZHVG9MTFZN
OjphbGxvY2F0ZUJhc2ljU3RvcmFnZUFuZEdldEVuZCk6CisgICAgICAgIChKU0M6OkZUTDo6TG93
ZXJERkdUb0xMVk06OkFycmF5VmFsdWVzOjpBcnJheVZhbHVlcyk6CisgICAgICAgIChKU0M6OkZU
TDo6TG93ZXJERkdUb0xMVk06OmFsbG9jYXRlSlNBcnJheSk6CisgICAgICAgICogZnRsL0ZUTE91
dHB1dC5oOgorICAgICAgICAoSlNDOjpGVEw6Ok91dHB1dDo6bG9hZERvdWJsZSk6CisgICAgICAg
IChKU0M6OkZUTDo6T3V0cHV0OjpzdG9yZURvdWJsZSk6CisKIDIwMTMtMTEtMDUgIEZpbGlwIFBp
emxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBGVEwgc2hvdWxkIHN1cHBvcnQgQ2hl
Y2tGdW5jdGlvbgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmlsaXRp
ZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ2FwYWJp
bGl0aWVzLmNwcAkocmV2aXNpb24gMTU4ODI2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0
bC9GVExDYXBhYmlsaXRpZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02Myw2ICs2Myw3IEBAIGlu
bGluZSBDYXBhYmlsaXR5TGV2ZWwgY2FuQ29tcGlsZShOb2RlKiAKICAgICBjYXNlIFBoYW50b21Q
dXRTdHJ1Y3R1cmU6CiAgICAgY2FzZSBHZXRCdXR0ZXJmbHk6CiAgICAgY2FzZSBOZXdPYmplY3Q6
CisgICAgY2FzZSBOZXdBcnJheToKICAgICBjYXNlIEdldEJ5T2Zmc2V0OgogICAgIGNhc2UgUHV0
QnlPZmZzZXQ6CiAgICAgY2FzZSBHZXRHbG9iYWxWYXI6CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZnRsL0ZUTEludHJpbnNpY1JlcG9zaXRvcnkuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZnRsL0ZUTEludHJpbnNpY1JlcG9zaXRvcnkuaAkocmV2aXNpb24gMTU4
ODI2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExJbnRyaW5zaWNSZXBvc2l0b3J5
LmgJKHdvcmtpbmcgY29weSkKQEAgLTU3LDYgKzU3LDkgQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVz
cGFjZSBGVEwgewogICAgIG1hY3JvKEpfSklUT3BlcmF0aW9uX0VTc2lKSSwgZnVuY3Rpb25UeXBl
KGludDY0LCBpbnRQdHIsIGludFB0ciwgaW50NjQsIGludFB0cikpIFwKICAgICBtYWNybyhKc3Nf
SklUT3BlcmF0aW9uX0VaLCBmdW5jdGlvblR5cGUoaW50UHRyLCBpbnRQdHIsIGludDMyKSkgXAog
ICAgIG1hY3JvKFBfSklUT3BlcmF0aW9uX0VDLCBmdW5jdGlvblR5cGUoaW50UHRyLCBpbnRQdHIs
IGludFB0cikpIFwKKyAgICBtYWNybyhQX0pJVE9wZXJhdGlvbl9FU3QsIGZ1bmN0aW9uVHlwZShp
bnRQdHIsIGludFB0ciwgaW50UHRyKSkgXAorICAgIG1hY3JvKFBfSklUT3BlcmF0aW9uX0VTdFBT
LCBmdW5jdGlvblR5cGUoaW50UHRyLCBpbnRQdHIsIGludFB0ciwgaW50UHRyLCBpbnRQdHIpKSBc
CisgICAgbWFjcm8oUF9KSVRPcGVyYXRpb25fRVN0WiwgZnVuY3Rpb25UeXBlKGludFB0ciwgaW50
UHRyLCBpbnRQdHIsIGludDMyKSkgXAogICAgIG1hY3JvKFZfSklUT3BlcmF0aW9uX0VPWkQsIGZ1
bmN0aW9uVHlwZSh2b2lkVHlwZSwgaW50UHRyLCBpbnRQdHIsIGludDMyLCBkb3VibGVUeXBlKSkg
XAogICAgIG1hY3JvKFZfSklUT3BlcmF0aW9uX0VPWkosIGZ1bmN0aW9uVHlwZSh2b2lkVHlwZSwg
aW50UHRyLCBpbnRQdHIsIGludDMyLCBpbnQ2NCkpIFwKICAgICBtYWNybyhaX0pJVE9wZXJhdGlv
bl9ELCBmdW5jdGlvblR5cGUoaW50MzIsIGRvdWJsZVR5cGUpKQpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAJKHJldmlzaW9uIDE1ODgy
NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0zNzEsNiArMzcxLDkgQEAgcHJpdmF0ZToKICAgICAgICAgY2FzZSBO
ZXdPYmplY3Q6CiAgICAgICAgICAgICBjb21waWxlTmV3T2JqZWN0KCk7CiAgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgY2FzZSBOZXdBcnJheToKKyAgICAgICAgICAgIGNvbXBpbGVOZXdBcnJh
eSgpOworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgU3RyaW5nQ2hhckF0OgogICAg
ICAgICAgICAgY29tcGlsZVN0cmluZ0NoYXJBdCgpOwogICAgICAgICAgICAgYnJlYWs7CkBAIC0x
NzUxLDcgKzE3NTQsNyBAQCBwcml2YXRlOgogICAgICAgICAKICAgICAgICAgTEJhc2ljQmxvY2sg
bGFzdE5leHQgPSBtX291dC5pbnNlcnROZXdCbG9ja3NCZWZvcmUoc2xvd1BhdGgpOwogICAgICAg
ICAKLSAgICAgICAgVmFsdWVGcm9tQmxvY2sgZmFzdFJlc3VsdCA9IG1fb3V0LmFuY2hvcihhbGxv
Y2F0ZSgKKyAgICAgICAgVmFsdWVGcm9tQmxvY2sgZmFzdFJlc3VsdCA9IG1fb3V0LmFuY2hvcihh
bGxvY2F0ZU9iamVjdCgKICAgICAgICAgICAgIG1fb3V0LmNvbnN0SW50UHRyKGFsbG9jYXRvciks
IG1fb3V0LmNvbnN0SW50UHRyKHN0cnVjdHVyZSksIG1fb3V0LmludFB0clplcm8sIHNsb3dQYXRo
KSk7CiAgICAgICAgIAogICAgICAgICBtX291dC5qdW1wKGNvbnRpbnVhdGlvbik7CkBAIC0xNzY2
LDYgKzE3NjksMTAwIEBAIHByaXZhdGU6CiAgICAgICAgIHNldEpTVmFsdWUobV9vdXQucGhpKG1f
b3V0LmludFB0ciwgZmFzdFJlc3VsdCwgc2xvd1Jlc3VsdCkpOwogICAgIH0KICAgICAKKyAgICB2
b2lkIGNvbXBpbGVOZXdBcnJheSgpCisgICAgeworICAgICAgICAvLyBGaXJzdCBzcGVjdWxhdGUg
YXBwcm9wcmlhdGVseSBvbiBhbGwgb2YgdGhlIGNoaWxkcmVuLiBEbyB0aGlzIHVuY29uZGl0aW9u
YWxseSB1cCBoZXJlCisgICAgICAgIC8vIGJlY2F1c2Ugc29tZSBvZiB0aGUgc2xvdyBwYXRocyBt
YXkgb3RoZXJ3aXNlIGZvcmdldCB0byBkbyBpdC4gSXQncyBzb3J0IG9mIGFyZ3VhYmxlCisgICAg
ICAgIC8vIHRoYXQgZG9pbmcgdGhlIHNwZWN1bGF0aW9ucyB1cCBoZXJlIG1pZ2h0IGJlIHVucHJv
Zml0YWJsZSBmb3IgUkEgLSBzbyB3ZSBjYW4gY29uc2lkZXIKKyAgICAgICAgLy8gc2lua2luZyB0
aGlzIHRvIGJlbG93IHRoZSBhbGxvY2F0aW9uIGZhc3QgcGF0aCBpZiB3ZSBmaW5kIHRoYXQgdGhp
cyBoYXMgYSBsb3Qgb2YKKyAgICAgICAgLy8gcmVnaXN0ZXIgcHJlc3N1cmUuCisgICAgICAgIGZv
ciAodW5zaWduZWQgb3BlcmFuZEluZGV4ID0gMDsgb3BlcmFuZEluZGV4IDwgbV9ub2RlLT5udW1D
aGlsZHJlbigpOyArK29wZXJhbmRJbmRleCkKKyAgICAgICAgICAgIHNwZWN1bGF0ZShtX2dyYXBo
LnZhckFyZ0NoaWxkKG1fbm9kZSwgb3BlcmFuZEluZGV4KSk7CisgICAgICAgIAorICAgICAgICBK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gbV9ncmFwaC5nbG9iYWxPYmplY3RGb3IobV9u
b2RlLT5jb2RlT3JpZ2luKTsKKyAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBnbG9iYWxP
YmplY3QtPmFycmF5U3RydWN0dXJlRm9ySW5kZXhpbmdUeXBlRHVyaW5nQWxsb2NhdGlvbigKKyAg
ICAgICAgICAgIG1fbm9kZS0+aW5kZXhpbmdUeXBlKCkpOworICAgICAgICAKKyAgICAgICAgUkVM
RUFTRV9BU1NFUlQoc3RydWN0dXJlLT5pbmRleGluZ1R5cGUoKSA9PSBtX25vZGUtPmluZGV4aW5n
VHlwZSgpKTsKKyAgICAgICAgCisgICAgICAgIGlmICghZ2xvYmFsT2JqZWN0LT5pc0hhdmluZ0FC
YWRUaW1lKCkgJiYgIWhhc0FycmF5U3RvcmFnZShtX25vZGUtPmluZGV4aW5nVHlwZSgpKSkgewor
ICAgICAgICAgICAgQVNTRVJUKAorICAgICAgICAgICAgICAgIGhhc1VuZGVjaWRlZChzdHJ1Y3R1
cmUtPmluZGV4aW5nVHlwZSgpKQorICAgICAgICAgICAgICAgIHx8IGhhc0ludDMyKHN0cnVjdHVy
ZS0+aW5kZXhpbmdUeXBlKCkpCisgICAgICAgICAgICAgICAgfHwgaGFzRG91YmxlKHN0cnVjdHVy
ZS0+aW5kZXhpbmdUeXBlKCkpCisgICAgICAgICAgICAgICAgfHwgaGFzQ29udGlndW91cyhzdHJ1
Y3R1cmUtPmluZGV4aW5nVHlwZSgpKSk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIHVuc2ln
bmVkIG51bUVsZW1lbnRzID0gbV9ub2RlLT5udW1DaGlsZHJlbigpOworICAgICAgICAgICAgCisg
ICAgICAgICAgICBBcnJheVZhbHVlcyBhcnJheVZhbHVlcyA9IGFsbG9jYXRlSlNBcnJheShzdHJ1
Y3R1cmUsIG51bUVsZW1lbnRzKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgZm9yICh1bnNp
Z25lZCBvcGVyYW5kSW5kZXggPSAwOyBvcGVyYW5kSW5kZXggPCBtX25vZGUtPm51bUNoaWxkcmVu
KCk7ICsrb3BlcmFuZEluZGV4KSB7CisgICAgICAgICAgICAgICAgRWRnZSBlZGdlID0gbV9ncmFw
aC52YXJBcmdDaGlsZChtX25vZGUsIG9wZXJhbmRJbmRleCk7CisgICAgICAgICAgICAgICAgCisg
ICAgICAgICAgICAgICAgc3dpdGNoIChtX25vZGUtPmluZGV4aW5nVHlwZSgpKSB7CisgICAgICAg
ICAgICAgICAgY2FzZSBBTExfQkxBTktfSU5ERVhJTkdfVFlQRVM6CisgICAgICAgICAgICAgICAg
Y2FzZSBBTExfVU5ERUNJREVEX0lOREVYSU5HX1RZUEVTOgorICAgICAgICAgICAgICAgICAgICBD
UkFTSCgpOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAg
CisgICAgICAgICAgICAgICAgY2FzZSBBTExfRE9VQkxFX0lOREVYSU5HX1RZUEVTOgorICAgICAg
ICAgICAgICAgICAgICBtX291dC5zdG9yZURvdWJsZSgKKyAgICAgICAgICAgICAgICAgICAgICAg
IGxvd0RvdWJsZShlZGdlKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5VmFsdWVzLmJ1
dHRlcmZseSwgbV9oZWFwcy5pbmRleGVkRG91YmxlUHJvcGVydGllc1tvcGVyYW5kSW5kZXhdKTsK
KyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgIAorICAgICAg
ICAgICAgICAgIGNhc2UgQUxMX0lOVDMyX0lOREVYSU5HX1RZUEVTOgorICAgICAgICAgICAgICAg
ICAgICBtX291dC5zdG9yZTY0KAorICAgICAgICAgICAgICAgICAgICAgICAgbG93SlNWYWx1ZShl
ZGdlKSwKKyAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5VmFsdWVzLmJ1dHRlcmZseSwgbV9o
ZWFwcy5pbmRleGVkSW50MzJQcm9wZXJ0aWVzW29wZXJhbmRJbmRleF0pOworICAgICAgICAgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgY2Fz
ZSBBTExfQ09OVElHVU9VU19JTkRFWElOR19UWVBFUzoKKyAgICAgICAgICAgICAgICAgICAgbV9v
dXQuc3RvcmU2NCgKKyAgICAgICAgICAgICAgICAgICAgICAgIGxvd0pTVmFsdWUoZWRnZSksCisg
ICAgICAgICAgICAgICAgICAgICAgICBhcnJheVZhbHVlcy5idXR0ZXJmbHksCisgICAgICAgICAg
ICAgICAgICAgICAgICBtX2hlYXBzLmluZGV4ZWRDb250aWd1b3VzUHJvcGVydGllc1tvcGVyYW5k
SW5kZXhdKTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAg
IAorICAgICAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgICAgIENSQVNIKCk7
CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICAgICAgCisgICAgICAg
ICAgICBzZXRKU1ZhbHVlKGFycmF5VmFsdWVzLmFycmF5KTsKKyAgICAgICAgICAgIHJldHVybjsK
KyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgaWYgKCFtX25vZGUtPm51bUNoaWxkcmVuKCkp
IHsKKyAgICAgICAgICAgIHNldEpTVmFsdWUodm1DYWxsKAorICAgICAgICAgICAgICAgIG1fb3V0
Lm9wZXJhdGlvbihvcGVyYXRpb25OZXdFbXB0eUFycmF5KSwgbV9jYWxsRnJhbWUsCisgICAgICAg
ICAgICAgICAgbV9vdXQuY29uc3RJbnRQdHIoc3RydWN0dXJlKSkpOworICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICB9CisgICAgICAgIAorICAgICAgICBzaXplX3Qgc2NyYXRjaFNpemUgPSBz
aXplb2YoRW5jb2RlZEpTVmFsdWUpICogbV9ub2RlLT5udW1DaGlsZHJlbigpOworICAgICAgICBB
U1NFUlQoc2NyYXRjaFNpemUpOworICAgICAgICBTY3JhdGNoQnVmZmVyKiBzY3JhdGNoQnVmZmVy
ID0gdm0oKS5zY3JhdGNoQnVmZmVyRm9yU2l6ZShzY3JhdGNoU2l6ZSk7CisgICAgICAgIEVuY29k
ZWRKU1ZhbHVlKiBidWZmZXIgPSBzdGF0aWNfY2FzdDxFbmNvZGVkSlNWYWx1ZSo+KHNjcmF0Y2hC
dWZmZXItPmRhdGFCdWZmZXIoKSk7CisgICAgICAgIAorICAgICAgICBmb3IgKHVuc2lnbmVkIG9w
ZXJhbmRJbmRleCA9IDA7IG9wZXJhbmRJbmRleCA8IG1fbm9kZS0+bnVtQ2hpbGRyZW4oKTsgKytv
cGVyYW5kSW5kZXgpIHsKKyAgICAgICAgICAgIEVkZ2UgZWRnZSA9IG1fZ3JhcGgudmFyQXJnQ2hp
bGQobV9ub2RlLCBvcGVyYW5kSW5kZXgpOworICAgICAgICAgICAgbV9vdXQuc3RvcmU2NChsb3dK
U1ZhbHVlKGVkZ2UpLCBtX291dC5hYnNvbHV0ZShidWZmZXIgKyBvcGVyYW5kSW5kZXgpKTsKKyAg
ICAgICAgfQorICAgICAgICAKKyAgICAgICAgbV9vdXQuc3RvcmVQdHIoCisgICAgICAgICAgICBt
X291dC5jb25zdEludFB0cihzY3JhdGNoU2l6ZSksIG1fb3V0LmFic29sdXRlKHNjcmF0Y2hCdWZm
ZXItPmFjdGl2ZUxlbmd0aFB0cigpKSk7CisgICAgICAgIAorICAgICAgICBMVmFsdWUgcmVzdWx0
ID0gdm1DYWxsKAorICAgICAgICAgICAgbV9vdXQub3BlcmF0aW9uKG9wZXJhdGlvbk5ld0FycmF5
KSwgbV9jYWxsRnJhbWUsCisgICAgICAgICAgICBtX291dC5jb25zdEludFB0cihzdHJ1Y3R1cmUp
LCBtX291dC5jb25zdEludFB0cihidWZmZXIpLAorICAgICAgICAgICAgbV9vdXQuY29uc3RJbnRQ
dHIobV9ub2RlLT5udW1DaGlsZHJlbigpKSk7CisgICAgICAgIAorICAgICAgICBtX291dC5zdG9y
ZVB0cihtX291dC5pbnRQdHJaZXJvLCBtX291dC5hYnNvbHV0ZShzY3JhdGNoQnVmZmVyLT5hY3Rp
dmVMZW5ndGhQdHIoKSkpOworICAgICAgICAKKyAgICAgICAgc2V0SlNWYWx1ZShyZXN1bHQpOwor
ICAgIH0KKyAgICAKICAgICB2b2lkIGNvbXBpbGVTdHJpbmdDaGFyQXQoKQogICAgIHsKICAgICAg
ICAgTFZhbHVlIGJhc2UgPSBsb3dDZWxsKG1fbm9kZS0+Y2hpbGQxKCkpOwpAQCAtMjM4OSwxMCAr
MjQ4Niw5IEBAIHByaXZhdGU6CiAgICAgICAgIGluZm8ubV9pc0ludmFsaWRhdGlvblBvaW50ID0g
dHJ1ZTsKICAgICB9CiAgICAgCi0gICAgTFZhbHVlIGFsbG9jYXRlKAotICAgICAgICBMVmFsdWUg
YWxsb2NhdG9yLCBMVmFsdWUgc3RydWN0dXJlLCBMVmFsdWUgYnV0dGVyZmx5LCBMQmFzaWNCbG9j
ayBzbG93UGF0aCkKKyAgICBMVmFsdWUgYWxsb2NhdGVDZWxsKExWYWx1ZSBhbGxvY2F0b3IsIExW
YWx1ZSBzdHJ1Y3R1cmUsIExCYXNpY0Jsb2NrIHNsb3dQYXRoKQogICAgIHsKLSAgICAgICAgTEJh
c2ljQmxvY2sgc3VjY2VzcyA9IEZUTF9ORVdfQkxPQ0sobV9vdXQsICgiYWxsb2NhdGlvbiBzdWNj
ZXNzIikpOworICAgICAgICBMQmFzaWNCbG9jayBzdWNjZXNzID0gRlRMX05FV19CTE9DSyhtX291
dCwgKCJvYmplY3QgYWxsb2NhdGlvbiBzdWNjZXNzIikpOwogICAgICAgICAKICAgICAgICAgTFZh
bHVlIHJlc3VsdCA9IG1fb3V0LmxvYWRQdHIoCiAgICAgICAgICAgICBhbGxvY2F0b3IsIG1faGVh
cHMuTWFya2VkQWxsb2NhdG9yX2ZyZWVMaXN0SGVhZCk7CkBAIC0yNDA2LDExICsyNTAyLDEzMiBA
QCBwcml2YXRlOgogICAgICAgICAgICAgYWxsb2NhdG9yLCBtX2hlYXBzLk1hcmtlZEFsbG9jYXRv
cl9mcmVlTGlzdEhlYWQpOwogICAgICAgICAKICAgICAgICAgbV9vdXQuc3RvcmVQdHIoc3RydWN0
dXJlLCByZXN1bHQsIG1faGVhcHMuSlNDZWxsX3N0cnVjdHVyZSk7Ci0gICAgICAgIG1fb3V0LnN0
b3JlUHRyKGJ1dHRlcmZseSwgcmVzdWx0LCBtX2hlYXBzLkpTT2JqZWN0X2J1dHRlcmZseSk7CiAg
ICAgICAgIAogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KICAgICAKKyAgICBMVmFsdWUg
YWxsb2NhdGVPYmplY3QoCisgICAgICAgIExWYWx1ZSBhbGxvY2F0b3IsIExWYWx1ZSBzdHJ1Y3R1
cmUsIExWYWx1ZSBidXR0ZXJmbHksIExCYXNpY0Jsb2NrIHNsb3dQYXRoKQorICAgIHsKKyAgICAg
ICAgTFZhbHVlIHJlc3VsdCA9IGFsbG9jYXRlQ2VsbChhbGxvY2F0b3IsIHN0cnVjdHVyZSwgc2xv
d1BhdGgpOworICAgICAgICBtX291dC5zdG9yZVB0cihidXR0ZXJmbHksIHJlc3VsdCwgbV9oZWFw
cy5KU09iamVjdF9idXR0ZXJmbHkpOworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KKyAg
ICAKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDbGFzc1R5cGU+CisgICAgTFZhbHVlIGFsbG9jYXRl
T2JqZWN0KExWYWx1ZSBzdHJ1Y3R1cmUsIExWYWx1ZSBidXR0ZXJmbHksIExCYXNpY0Jsb2NrIHNs
b3dQYXRoKQorICAgIHsKKyAgICAgICAgTWFya2VkQWxsb2NhdG9yKiBhbGxvY2F0b3I7CisgICAg
ICAgIHNpemVfdCBzaXplID0gQ2xhc3NUeXBlOjphbGxvY2F0aW9uU2l6ZSgwKTsKKyAgICAgICAg
aWYgKENsYXNzVHlwZTo6bmVlZHNEZXN0cnVjdGlvbiAmJiBDbGFzc1R5cGU6Omhhc0ltbW9ydGFs
U3RydWN0dXJlKQorICAgICAgICAgICAgYWxsb2NhdG9yID0gJnZtKCkuaGVhcC5hbGxvY2F0b3JG
b3JPYmplY3RXaXRoSW1tb3J0YWxTdHJ1Y3R1cmVEZXN0cnVjdG9yKHNpemUpOworICAgICAgICBl
bHNlIGlmIChDbGFzc1R5cGU6Om5lZWRzRGVzdHJ1Y3Rpb24pCisgICAgICAgICAgICBhbGxvY2F0
b3IgPSAmdm0oKS5oZWFwLmFsbG9jYXRvckZvck9iamVjdFdpdGhOb3JtYWxEZXN0cnVjdG9yKHNp
emUpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBhbGxvY2F0b3IgPSAmdm0oKS5oZWFwLmFs
bG9jYXRvckZvck9iamVjdFdpdGhvdXREZXN0cnVjdG9yKHNpemUpOworICAgICAgICByZXR1cm4g
YWxsb2NhdGVPYmplY3QobV9vdXQuY29uc3RJbnRQdHIoYWxsb2NhdG9yKSwgc3RydWN0dXJlLCBi
dXR0ZXJmbHksIHNsb3dQYXRoKTsKKyAgICB9CisgICAgCisgICAgLy8gUmV0dXJucyBhIHBvaW50
ZXIgdG8gdGhlIGVuZCBvZiB0aGUgYWxsb2NhdGlvbi4KKyAgICBMVmFsdWUgYWxsb2NhdGVCYXNp
Y1N0b3JhZ2VBbmRHZXRFbmQoTFZhbHVlIHNpemUsIExCYXNpY0Jsb2NrIHNsb3dQYXRoKQorICAg
IHsKKyAgICAgICAgQ29waWVkQWxsb2NhdG9yJiBhbGxvY2F0b3IgPSB2bSgpLmhlYXAuc3RvcmFn
ZUFsbG9jYXRvcigpOworICAgICAgICAKKyAgICAgICAgTEJhc2ljQmxvY2sgc3VjY2VzcyA9IEZU
TF9ORVdfQkxPQ0sobV9vdXQsICgic3RvcmFnZSBhbGxvY2F0aW9uIHN1Y2Nlc3MiKSk7CisgICAg
ICAgIAorICAgICAgICBMVmFsdWUgcmVtYWluaW5nID0gbV9vdXQubG9hZFB0cihtX291dC5hYnNv
bHV0ZSgmYWxsb2NhdG9yLm1fY3VycmVudFJlbWFpbmluZykpOworICAgICAgICBMVmFsdWUgbmV3
UmVtYWluaW5nID0gbV9vdXQuc3ViKHJlbWFpbmluZywgc2l6ZSk7CisgICAgICAgIAorICAgICAg
ICBtX291dC5icmFuY2gobV9vdXQubGVzc1RoYW4obmV3UmVtYWluaW5nLCBtX291dC5pbnRQdHJa
ZXJvKSwgc2xvd1BhdGgsIHN1Y2Nlc3MpOworICAgICAgICAKKyAgICAgICAgbV9vdXQuYXBwZW5k
VG8oc3VjY2Vzcyk7CisgICAgICAgIAorICAgICAgICBtX291dC5zdG9yZVB0cihuZXdSZW1haW5p
bmcsIG1fb3V0LmFic29sdXRlKCZhbGxvY2F0b3IubV9jdXJyZW50UmVtYWluaW5nKSk7CisgICAg
ICAgIHJldHVybiBtX291dC5zdWIoCisgICAgICAgICAgICBtX291dC5sb2FkUHRyKG1fb3V0LmFi
c29sdXRlKCZhbGxvY2F0b3IubV9jdXJyZW50UGF5bG9hZEVuZCkpLCBuZXdSZW1haW5pbmcpOwor
ICAgIH0KKyAgICAKKyAgICBzdHJ1Y3QgQXJyYXlWYWx1ZXMgeworICAgICAgICBBcnJheVZhbHVl
cygpCisgICAgICAgICAgICA6IGFycmF5KDApCisgICAgICAgICAgICAsIGJ1dHRlcmZseSgwKQor
ICAgICAgICB7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIEFycmF5VmFsdWVzKExWYWx1
ZSBhcnJheSwgTFZhbHVlIGJ1dHRlcmZseSkKKyAgICAgICAgICAgIDogYXJyYXkoYXJyYXkpCisg
ICAgICAgICAgICAsIGJ1dHRlcmZseShidXR0ZXJmbHkpCisgICAgICAgIHsKKyAgICAgICAgfQor
ICAgICAgICAKKyAgICAgICAgTFZhbHVlIGFycmF5OworICAgICAgICBMVmFsdWUgYnV0dGVyZmx5
OworICAgIH07CisgICAgQXJyYXlWYWx1ZXMgYWxsb2NhdGVKU0FycmF5KAorICAgICAgICBTdHJ1
Y3R1cmUqIHN0cnVjdHVyZSwgdW5zaWduZWQgbnVtRWxlbWVudHMsIExCYXNpY0Jsb2NrIHNsb3dQ
YXRoKQorICAgIHsKKyAgICAgICAgQVNTRVJUKAorICAgICAgICAgICAgaGFzVW5kZWNpZGVkKHN0
cnVjdHVyZS0+aW5kZXhpbmdUeXBlKCkpCisgICAgICAgICAgICB8fCBoYXNJbnQzMihzdHJ1Y3R1
cmUtPmluZGV4aW5nVHlwZSgpKQorICAgICAgICAgICAgfHwgaGFzRG91YmxlKHN0cnVjdHVyZS0+
aW5kZXhpbmdUeXBlKCkpCisgICAgICAgICAgICB8fCBoYXNDb250aWd1b3VzKHN0cnVjdHVyZS0+
aW5kZXhpbmdUeXBlKCkpKTsKKyAgICAgICAgCisgICAgICAgIHVuc2lnbmVkIHZlY3Rvckxlbmd0
aCA9IHN0ZDo6bWF4KEJBU0VfVkVDVE9SX0xFTiwgbnVtRWxlbWVudHMpOworICAgICAgICAKKyAg
ICAgICAgTFZhbHVlIGVuZE9mU3RvcmFnZSA9IGFsbG9jYXRlQmFzaWNTdG9yYWdlQW5kR2V0RW5k
KAorICAgICAgICAgICAgbV9vdXQuY29uc3RJbnRQdHIoc2l6ZW9mKEpTVmFsdWUpICogdmVjdG9y
TGVuZ3RoICsgc2l6ZW9mKEluZGV4aW5nSGVhZGVyKSksCisgICAgICAgICAgICBzbG93UGF0aCk7
CisgICAgICAgIAorICAgICAgICBMVmFsdWUgYnV0dGVyZmx5ID0gbV9vdXQuc3ViKAorICAgICAg
ICAgICAgZW5kT2ZTdG9yYWdlLCBtX291dC5jb25zdEludFB0cihzaXplb2YoSlNWYWx1ZSkgKiB2
ZWN0b3JMZW5ndGgpKTsKKyAgICAgICAgCisgICAgICAgIExWYWx1ZSBvYmplY3QgPSBhbGxvY2F0
ZU9iamVjdDxKU0FycmF5PigKKyAgICAgICAgICAgIG1fb3V0LmNvbnN0SW50UHRyKHN0cnVjdHVy
ZSksIGJ1dHRlcmZseSwgc2xvd1BhdGgpOworICAgICAgICAKKyAgICAgICAgbV9vdXQuc3RvcmUz
MihtX291dC5jb25zdEludDMyKG51bUVsZW1lbnRzKSwgYnV0dGVyZmx5LCBtX2hlYXBzLkJ1dHRl
cmZseV9wdWJsaWNMZW5ndGgpOworICAgICAgICBtX291dC5zdG9yZTMyKG1fb3V0LmNvbnN0SW50
MzIodmVjdG9yTGVuZ3RoKSwgYnV0dGVyZmx5LCBtX2hlYXBzLkJ1dHRlcmZseV92ZWN0b3JMZW5n
dGgpOworICAgICAgICAKKyAgICAgICAgaWYgKGhhc0RvdWJsZShzdHJ1Y3R1cmUtPmluZGV4aW5n
VHlwZSgpKSkgeworICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gbnVtRWxlbWVudHM7IGkg
PCB2ZWN0b3JMZW5ndGg7ICsraSkgeworICAgICAgICAgICAgICAgIG1fb3V0LnN0b3JlNjQoCisg
ICAgICAgICAgICAgICAgICAgIG1fb3V0LmNvbnN0SW50NjQoYml0d2lzZV9jYXN0PGludDY0X3Q+
KFFOYU4pKSwKKyAgICAgICAgICAgICAgICAgICAgYnV0dGVyZmx5LCBtX2hlYXBzLmluZGV4ZWRE
b3VibGVQcm9wZXJ0aWVzW2ldKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICAK
KyAgICAgICAgcmV0dXJuIEFycmF5VmFsdWVzKG9iamVjdCwgYnV0dGVyZmx5KTsKKyAgICB9Cisg
ICAgCisgICAgQXJyYXlWYWx1ZXMgYWxsb2NhdGVKU0FycmF5KFN0cnVjdHVyZSogc3RydWN0dXJl
LCB1bnNpZ25lZCBudW1FbGVtZW50cykKKyAgICB7CisgICAgICAgIExCYXNpY0Jsb2NrIHNsb3dQ
YXRoID0gRlRMX05FV19CTE9DSyhtX291dCwgKCJKU0FycmF5IGFsbG9jYXRpb24gc2xvdyBwYXRo
IikpOworICAgICAgICBMQmFzaWNCbG9jayBjb250aW51YXRpb24gPSBGVExfTkVXX0JMT0NLKG1f
b3V0LCAoIkpTQXJyYXkgYWxsb2NhdGlvbiBjb250aW51YXRpb24iKSk7CisgICAgICAgIAorICAg
ICAgICBMQmFzaWNCbG9jayBsYXN0TmV4dCA9IG1fb3V0Lmluc2VydE5ld0Jsb2Nrc0JlZm9yZShz
bG93UGF0aCk7CisgICAgICAgIAorICAgICAgICBBcnJheVZhbHVlcyBmYXN0VmFsdWVzID0gYWxs
b2NhdGVKU0FycmF5KHN0cnVjdHVyZSwgbnVtRWxlbWVudHMsIHNsb3dQYXRoKTsKKyAgICAgICAg
VmFsdWVGcm9tQmxvY2sgZmFzdEFycmF5ID0gbV9vdXQuYW5jaG9yKGZhc3RWYWx1ZXMuYXJyYXkp
OworICAgICAgICBWYWx1ZUZyb21CbG9jayBmYXN0QnV0dGVyZmx5ID0gbV9vdXQuYW5jaG9yKGZh
c3RWYWx1ZXMuYnV0dGVyZmx5KTsKKyAgICAgICAgCisgICAgICAgIG1fb3V0Lmp1bXAoY29udGlu
dWF0aW9uKTsKKyAgICAgICAgCisgICAgICAgIG1fb3V0LmFwcGVuZFRvKHNsb3dQYXRoLCBjb250
aW51YXRpb24pOworICAgICAgICAKKyAgICAgICAgVmFsdWVGcm9tQmxvY2sgc2xvd0FycmF5ID0g
bV9vdXQuYW5jaG9yKHZtQ2FsbCgKKyAgICAgICAgICAgIG1fb3V0Lm9wZXJhdGlvbihvcGVyYXRp
b25OZXdBcnJheVdpdGhTaXplKSwgbV9jYWxsRnJhbWUsCisgICAgICAgICAgICBtX291dC5jb25z
dEludFB0cihzdHJ1Y3R1cmUpLCBtX291dC5jb25zdEludDMyKG51bUVsZW1lbnRzKSkpOworICAg
ICAgICBWYWx1ZUZyb21CbG9jayBzbG93QnV0dGVyZmx5ID0gbV9vdXQuYW5jaG9yKAorICAgICAg
ICAgICAgbV9vdXQubG9hZFB0cihzbG93QXJyYXkudmFsdWUoKSwgbV9oZWFwcy5KU09iamVjdF9i
dXR0ZXJmbHkpKTsKKworICAgICAgICBtX291dC5qdW1wKGNvbnRpbnVhdGlvbik7CisgICAgICAg
IAorICAgICAgICBtX291dC5hcHBlbmRUbyhjb250aW51YXRpb24sIGxhc3ROZXh0KTsKKyAgICAg
ICAgCisgICAgICAgIHJldHVybiBBcnJheVZhbHVlcygKKyAgICAgICAgICAgIG1fb3V0LnBoaSht
X291dC5pbnRQdHIsIGZhc3RBcnJheSwgc2xvd0FycmF5KSwKKyAgICAgICAgICAgIG1fb3V0LnBo
aShtX291dC5pbnRQdHIsIGZhc3RCdXR0ZXJmbHksIHNsb3dCdXR0ZXJmbHkpKTsKKyAgICB9Cisg
ICAgCiAgICAgTFZhbHVlIGJvb2xpZnkoRWRnZSBlZGdlKQogICAgIHsKICAgICAgICAgc3dpdGNo
IChlZGdlLnVzZUtpbmQoKSkgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExP
dXRwdXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE91dHB1
dC5oCShyZXZpc2lvbiAxNTg4MjYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE91
dHB1dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOTQsOSArMjk0LDExIEBAIHB1YmxpYzoKICAgICBM
VmFsdWUgbG9hZDMyKExWYWx1ZSBiYXNlLCBjb25zdCBBYnN0cmFjdEZpZWxkJiBmaWVsZCkgeyBy
ZXR1cm4gbG9hZDMyKGFkZHJlc3MoYmFzZSwgZmllbGQpKTsgfQogICAgIExWYWx1ZSBsb2FkNjQo
TFZhbHVlIGJhc2UsIGNvbnN0IEFic3RyYWN0RmllbGQmIGZpZWxkKSB7IHJldHVybiBsb2FkNjQo
YWRkcmVzcyhiYXNlLCBmaWVsZCkpOyB9CiAgICAgTFZhbHVlIGxvYWRQdHIoTFZhbHVlIGJhc2Us
IGNvbnN0IEFic3RyYWN0RmllbGQmIGZpZWxkKSB7IHJldHVybiBsb2FkUHRyKGFkZHJlc3MoYmFz
ZSwgZmllbGQpKTsgfQorICAgIExWYWx1ZSBsb2FkRG91YmxlKExWYWx1ZSBiYXNlLCBjb25zdCBB
YnN0cmFjdEZpZWxkJiBmaWVsZCkgeyByZXR1cm4gbG9hZERvdWJsZShhZGRyZXNzKGJhc2UsIGZp
ZWxkKSk7IH0KICAgICB2b2lkIHN0b3JlMzIoTFZhbHVlIHZhbHVlLCBMVmFsdWUgYmFzZSwgY29u
c3QgQWJzdHJhY3RGaWVsZCYgZmllbGQpIHsgc3RvcmUzMih2YWx1ZSwgYWRkcmVzcyhiYXNlLCBm
aWVsZCkpOyB9CiAgICAgdm9pZCBzdG9yZTY0KExWYWx1ZSB2YWx1ZSwgTFZhbHVlIGJhc2UsIGNv
bnN0IEFic3RyYWN0RmllbGQmIGZpZWxkKSB7IHN0b3JlNjQodmFsdWUsIGFkZHJlc3MoYmFzZSwg
ZmllbGQpKTsgfQogICAgIHZvaWQgc3RvcmVQdHIoTFZhbHVlIHZhbHVlLCBMVmFsdWUgYmFzZSwg
Y29uc3QgQWJzdHJhY3RGaWVsZCYgZmllbGQpIHsgc3RvcmVQdHIodmFsdWUsIGFkZHJlc3MoYmFz
ZSwgZmllbGQpKTsgfQorICAgIHZvaWQgc3RvcmVEb3VibGUoTFZhbHVlIHZhbHVlLCBMVmFsdWUg
YmFzZSwgY29uc3QgQWJzdHJhY3RGaWVsZCYgZmllbGQpIHsgc3RvcmVEb3VibGUodmFsdWUsIGFk
ZHJlc3MoYmFzZSwgZmllbGQpKTsgfQogICAgIAogICAgIExWYWx1ZSBlcXVhbChMVmFsdWUgbGVm
dCwgTFZhbHVlIHJpZ2h0KSB7IHJldHVybiBidWlsZElDbXAobV9idWlsZGVyLCBMTFZNSW50RVEs
IGxlZnQsIHJpZ2h0KTsgfQogICAgIExWYWx1ZSBub3RFcXVhbChMVmFsdWUgbGVmdCwgTFZhbHVl
IHJpZ2h0KSB7IHJldHVybiBidWlsZElDbXAobV9idWlsZGVyLCBMTFZNSW50TkUsIGxlZnQsIHJp
Z2h0KTsgfQo=
</data>
<flag name="review"
          id="239292"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>