<?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>87027</bug_id>
          
          <creation_ts>2012-05-21 10:13:06 -0700</creation_ts>
          <short_desc>Cleanup of Calls to operationStrCat and operationNewArray and Use Constructor after r117729</short_desc>
          <delta_ts>2012-05-21 17:48:47 -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></keywords>
          <priority>P3</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>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>629226</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2012-05-21 10:13:06 -0700</bug_when>
    <thetext>The DFS JIT code that generates calls to operationStrCat and operationNewArray should directly provide the data buffer instead of providing the ScratchBuffer pointer.  This would eliminate the need for operationStrCat and operationNewArray from having to call dataBuffer() on the ScratchBuffer object.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629250</commentid>
    <comment_count>1</comment_count>
      <attachid>143057</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2012-05-21 10:42:43 -0700</bug_when>
    <thetext>Created attachment 143057
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629726</commentid>
    <comment_count>2</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2012-05-21 16:57:10 -0700</bug_when>
    <thetext>Comment #15 from https://bugs.webkit.org/show_bug.cgi?id=86553 after the change set landed suggests that we should add a create() method and use the constructor for ScratchBuffer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629735</commentid>
    <comment_count>3</comment_count>
      <attachid>143140</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2012-05-21 17:06:57 -0700</bug_when>
    <thetext>Created attachment 143140
Updated Patch with create() addition</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>629781</commentid>
    <comment_count>4</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2012-05-21 17:48:47 -0700</bug_when>
    <thetext>Committed r117860: &lt;http://trac.webkit.org/changeset/117860&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143057</attachid>
            <date>2012-05-21 10:42:43 -0700</date>
            <delta_ts>2012-05-21 17:06:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>87027.patch</filename>
            <type>text/plain</type>
            <size>4076</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTE3Nzk2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBA
CisyMDEyLTA1LTIxICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgorCisgICAg
ICAgIENsZWFudXAgb2YgQ2FsbHMgdG8gb3BlcmF0aW9uU3RyQ2F0IGFuZCBvcGVyYXRpb25OZXdB
cnJheSBhZnRlciByMTE3NzI5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD04NzAyNworCisgICAgICAgIE5lZWQgYSBzaG9ydCBkZXNjcmlwdGlvbiBhbmQg
YnVnIFVSTCAoT09QUyEpCisKKyAgICAgICAgQ2hhbmdlIGNhbGxzIHRvIG9wZXJhdGlvblN0ckNh
dCBhbmQgb3BlcmF0aW9uTmV3QXJyYXkgdG8gcHJvdmlkZSB0aGUKKyAgICAgICAgcG9pbnRlciB0
byB0aGUgRW5jb2RlZEpTVmFsdWUqIGRhdGEgYnVmZmVyIGluc3RlYWQgb2YgdGhlIFNjcmF0Y2hC
dWZmZXIKKyAgICAgICAgdGhhdCBjb250YWlucyBpdC4gIFRoaXMgaXMgYSBjbGVhbi11cCB0byBy
MTE3NzI5LgorCisgICAgICAgICogZGZnL0RGR09wZXJhdGlvbnMuY3BwOgorICAgICAgICAqIGRm
Zy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxh
dGl2ZUpJVDo6Y29tcGlsZSk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3Bw
OgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlKToKKwogMjAxMi0w
NS0yMSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAg
ICAgVW5yZXZpZXdlZC4gRml4IG1ha2UgZGlzdGNoZWNrLgpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdPcGVyYXRpb25zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMuY3BwCShyZXZpc2lvbiAxMTc3ODIpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09wZXJhdGlvbnMuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC05NzksMjAgKzk3OSwyMCBAQCBFbmNvZGVkSlNWYWx1ZSBERkdfT1BFUkFUSU9OIG9wZXJhdGlv
blRvCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShKU1ZhbHVlOjpkZWNvZGUodmFsdWUpLnRv
UHJpbWl0aXZlKGV4ZWMpKTsKIH0KIAotRW5jb2RlZEpTVmFsdWUgREZHX09QRVJBVElPTiBvcGVy
YXRpb25TdHJDYXQoRXhlY1N0YXRlKiBleGVjLCB2b2lkKiBzY3JhdGNoLCBzaXplX3Qgc2l6ZSkK
K0VuY29kZWRKU1ZhbHVlIERGR19PUEVSQVRJT04gb3BlcmF0aW9uU3RyQ2F0KEV4ZWNTdGF0ZSog
ZXhlYywgdm9pZCogYnVmZmVyLCBzaXplX3Qgc2l6ZSkKIHsKICAgICBKU0dsb2JhbERhdGEqIGds
b2JhbERhdGEgPSAmZXhlYy0+Z2xvYmFsRGF0YSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNl
ciB0cmFjZXIoZ2xvYmFsRGF0YSwgZXhlYyk7CiAKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2Rl
KGpzU3RyaW5nKGV4ZWMsIHN0YXRpY19jYXN0PFJlZ2lzdGVyKj4oc3RhdGljX2Nhc3Q8U2NyYXRj
aEJ1ZmZlcio+KHNjcmF0Y2gpLT5kYXRhQnVmZmVyKCkpLCBzaXplKSk7CisgICAgcmV0dXJuIEpT
VmFsdWU6OmVuY29kZShqc1N0cmluZyhleGVjLCBzdGF0aWNfY2FzdDxSZWdpc3Rlcio+KGJ1ZmZl
ciksIHNpemUpKTsKIH0KIAotRW5jb2RlZEpTVmFsdWUgREZHX09QRVJBVElPTiBvcGVyYXRpb25O
ZXdBcnJheShFeGVjU3RhdGUqIGV4ZWMsIHZvaWQqIHNjcmF0Y2gsIHNpemVfdCBzaXplKQorRW5j
b2RlZEpTVmFsdWUgREZHX09QRVJBVElPTiBvcGVyYXRpb25OZXdBcnJheShFeGVjU3RhdGUqIGV4
ZWMsIHZvaWQqIGJ1ZmZlciwgc2l6ZV90IHNpemUpCiB7CiAgICAgSlNHbG9iYWxEYXRhKiBnbG9i
YWxEYXRhID0gJmV4ZWMtPmdsb2JhbERhdGEoKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIg
dHJhY2VyKGdsb2JhbERhdGEsIGV4ZWMpOwogCi0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShj
b25zdHJ1Y3RBcnJheShleGVjLCBzdGF0aWNfY2FzdDxKU1ZhbHVlKj4oc3RhdGljX2Nhc3Q8U2Ny
YXRjaEJ1ZmZlcio+KHNjcmF0Y2gpLT5kYXRhQnVmZmVyKCkpLCBzaXplKSk7CisgICAgcmV0dXJu
IEpTVmFsdWU6OmVuY29kZShjb25zdHJ1Y3RBcnJheShleGVjLCBzdGF0aWNfY2FzdDxKU1ZhbHVl
Kj4oYnVmZmVyKSwgc2l6ZSkpOwogfQogCiBFbmNvZGVkSlNWYWx1ZSBERkdfT1BFUkFUSU9OIG9w
ZXJhdGlvbk5ld0FycmF5QnVmZmVyKEV4ZWNTdGF0ZSogZXhlYywgc2l6ZV90IHN0YXJ0LCBzaXpl
X3Qgc2l6ZSkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVK
SVQzMl82NC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdT
cGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAkocmV2aXNpb24gMTE3NzgyKQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMjk4Miw3ICsyOTgyLDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlJiBu
b2RlKQogICAgICAgICBHUFJSZXN1bHQgcmVzdWx0UGF5bG9hZCh0aGlzKTsKICAgICAgICAgR1BS
UmVzdWx0MiByZXN1bHRUYWcodGhpcyk7CiAgICAgICAgIAotICAgICAgICBjYWxsT3BlcmF0aW9u
KG9wID09IFN0ckNhdCA/IG9wZXJhdGlvblN0ckNhdCA6IG9wZXJhdGlvbk5ld0FycmF5LCByZXN1
bHRUYWcuZ3ByKCksIHJlc3VsdFBheWxvYWQuZ3ByKCksIHN0YXRpY19jYXN0PHZvaWQgKj4oc2Ny
YXRjaEJ1ZmZlciksIG5vZGUubnVtQ2hpbGRyZW4oKSk7CisgICAgICAgIGNhbGxPcGVyYXRpb24o
b3AgPT0gU3RyQ2F0ID8gb3BlcmF0aW9uU3RyQ2F0IDogb3BlcmF0aW9uTmV3QXJyYXksIHJlc3Vs
dFRhZy5ncHIoKSwgcmVzdWx0UGF5bG9hZC5ncHIoKSwgc3RhdGljX2Nhc3Q8dm9pZCAqPihidWZm
ZXIpLCBub2RlLm51bUNoaWxkcmVuKCkpOwogCiAgICAgICAgIGlmIChzY3JhdGNoU2l6ZSkgewog
ICAgICAgICAgICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2godGhpcyk7CkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAJKHJldmlzaW9u
IDExNzc4MikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2
NC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI5NzksNyArMjk3OSw3IEBAIHZvaWQgU3BlY3VsYXRp
dmVKSVQ6OmNvbXBpbGUoTm9kZSYgbm9kZSkKIAogICAgICAgICBHUFJSZXN1bHQgcmVzdWx0KHRo
aXMpOwogICAgICAgICAKLSAgICAgICAgY2FsbE9wZXJhdGlvbihvcCA9PSBTdHJDYXQgPyBvcGVy
YXRpb25TdHJDYXQgOiBvcGVyYXRpb25OZXdBcnJheSwgcmVzdWx0LmdwcigpLCBzdGF0aWNfY2Fz
dDx2b2lkICo+KHNjcmF0Y2hCdWZmZXIpLCBub2RlLm51bUNoaWxkcmVuKCkpOworICAgICAgICBj
YWxsT3BlcmF0aW9uKG9wID09IFN0ckNhdCA/IG9wZXJhdGlvblN0ckNhdCA6IG9wZXJhdGlvbk5l
d0FycmF5LCByZXN1bHQuZ3ByKCksIHN0YXRpY19jYXN0PHZvaWQgKj4oYnVmZmVyKSwgbm9kZS5u
dW1DaGlsZHJlbigpKTsKIAogICAgICAgICBpZiAoc2NyYXRjaFNpemUpIHsKICAgICAgICAgICAg
IEdQUlRlbXBvcmFyeSBzY3JhdGNoKHRoaXMpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>143140</attachid>
            <date>2012-05-21 17:06:57 -0700</date>
            <delta_ts>2012-05-21 17:08:38 -0700</delta_ts>
            <desc>Updated Patch with create() addition</desc>
            <filename>87027-2.patch</filename>
            <type>text/plain</type>
            <size>5784</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTE3ODQ0KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBA
CisyMDEyLTA1LTIxICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgorCisgICAg
ICAgIENsZWFudXAgb2YgQ2FsbHMgdG8gb3BlcmF0aW9uU3RyQ2F0IGFuZCBvcGVyYXRpb25OZXdB
cnJheSBhbmQgVXNlIENvbnN0cnVjdG9yIGFmdGVyIHIxMTc3MjkKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg3MDI3CisKKyAgICAgICAgTmVlZCBhIHNo
b3J0IGRlc2NyaXB0aW9uIGFuZCBidWcgVVJMIChPT1BTISkKKworICAgICAgICBDaGFuZ2UgY2Fs
bHMgdG8gb3BlcmF0aW9uU3RyQ2F0IGFuZCBvcGVyYXRpb25OZXdBcnJheSB0byBwcm92aWRlIHRo
ZQorICAgICAgICBwb2ludGVyIHRvIHRoZSBFbmNvZGVkSlNWYWx1ZSogZGF0YSBidWZmZXIgaW5z
dGVhZCBvZiB0aGUgU2NyYXRjaEJ1ZmZlcgorICAgICAgICB0aGF0IGNvbnRhaW5zIGl0LiAgQWRk
ZWQgYSBTY3JhdGNoQnVmZmVyOjpjcmVhdGUoKSBmdW5jdGlvbi4KKyAgICAgICAgVGhpcyBpcyBh
IGNsZWFuLXVwIHRvIHIxMTc3MjkuCisKKyAgICAgICAgKiBkZmcvREZHT3BlcmF0aW9ucy5jcHA6
CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwOgorICAgICAgICAoSlND
OjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3Vs
YXRpdmVKSVQ2NC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBp
bGUpOgorICAgICAgICAqIHJ1bnRpbWUvSlNHbG9iYWxEYXRhLmg6CisgICAgICAgIChKU0M6OlNj
cmF0Y2hCdWZmZXI6OmNyZWF0ZSk6CisgICAgICAgIChKU0M6OlNjcmF0Y2hCdWZmZXI6OmRhdGFC
dWZmZXIpOgorICAgICAgICAoSlNDOjpKU0dsb2JhbERhdGE6OnNjcmF0Y2hCdWZmZXJGb3JTaXpl
KToKKwogMjAxMi0wNC0zMCAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgogCiAgICAg
ICAgIEJ5dGVjb2RlIGR1bXBzIHNob3VsZCBjb250YWluIGRhdGEgYWJvdXQgdGhlIHN0YXRlIG9m
IGdldF9ieV9pZCBjYWNoZXMKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT3Bl
cmF0aW9ucy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdP
cGVyYXRpb25zLmNwcAkocmV2aXNpb24gMTE3NzgzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdPcGVyYXRpb25zLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTc5LDIwICs5NzksMjAg
QEAgRW5jb2RlZEpTVmFsdWUgREZHX09QRVJBVElPTiBvcGVyYXRpb25UbwogICAgIHJldHVybiBK
U1ZhbHVlOjplbmNvZGUoSlNWYWx1ZTo6ZGVjb2RlKHZhbHVlKS50b1ByaW1pdGl2ZShleGVjKSk7
CiB9CiAKLUVuY29kZWRKU1ZhbHVlIERGR19PUEVSQVRJT04gb3BlcmF0aW9uU3RyQ2F0KEV4ZWNT
dGF0ZSogZXhlYywgdm9pZCogc2NyYXRjaCwgc2l6ZV90IHNpemUpCitFbmNvZGVkSlNWYWx1ZSBE
RkdfT1BFUkFUSU9OIG9wZXJhdGlvblN0ckNhdChFeGVjU3RhdGUqIGV4ZWMsIHZvaWQqIGJ1ZmZl
ciwgc2l6ZV90IHNpemUpCiB7CiAgICAgSlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhID0gJmV4ZWMt
Pmdsb2JhbERhdGEoKTsKICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJhY2VyKGdsb2JhbERh
dGEsIGV4ZWMpOwogCi0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1N0cmluZyhleGVjLCBz
dGF0aWNfY2FzdDxSZWdpc3Rlcio+KHN0YXRpY19jYXN0PFNjcmF0Y2hCdWZmZXIqPihzY3JhdGNo
KS0+ZGF0YUJ1ZmZlcigpKSwgc2l6ZSkpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNT
dHJpbmcoZXhlYywgc3RhdGljX2Nhc3Q8UmVnaXN0ZXIqPihidWZmZXIpLCBzaXplKSk7CiB9CiAK
LUVuY29kZWRKU1ZhbHVlIERGR19PUEVSQVRJT04gb3BlcmF0aW9uTmV3QXJyYXkoRXhlY1N0YXRl
KiBleGVjLCB2b2lkKiBzY3JhdGNoLCBzaXplX3Qgc2l6ZSkKK0VuY29kZWRKU1ZhbHVlIERGR19P
UEVSQVRJT04gb3BlcmF0aW9uTmV3QXJyYXkoRXhlY1N0YXRlKiBleGVjLCB2b2lkKiBidWZmZXIs
IHNpemVfdCBzaXplKQogewogICAgIEpTR2xvYmFsRGF0YSogZ2xvYmFsRGF0YSA9ICZleGVjLT5n
bG9iYWxEYXRhKCk7CiAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2VyIHRyYWNlcihnbG9iYWxEYXRh
LCBleGVjKTsKIAotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoY29uc3RydWN0QXJyYXkoZXhl
Yywgc3RhdGljX2Nhc3Q8SlNWYWx1ZSo+KHN0YXRpY19jYXN0PFNjcmF0Y2hCdWZmZXIqPihzY3Jh
dGNoKS0+ZGF0YUJ1ZmZlcigpKSwgc2l6ZSkpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUo
Y29uc3RydWN0QXJyYXkoZXhlYywgc3RhdGljX2Nhc3Q8SlNWYWx1ZSo+KGJ1ZmZlciksIHNpemUp
KTsKIH0KIAogRW5jb2RlZEpTVmFsdWUgREZHX09QRVJBVElPTiBvcGVyYXRpb25OZXdBcnJheUJ1
ZmZlcihFeGVjU3RhdGUqIGV4ZWMsIHNpemVfdCBzdGFydCwgc2l6ZV90IHNpemUpCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82
NC5jcHAJKHJldmlzaW9uIDExNzc4MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
U3BlY3VsYXRpdmVKSVQzMl82NC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI5ODIsNyArMjk4Miw3
IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSYgbm9kZSkKICAgICAgICAgR1BS
UmVzdWx0IHJlc3VsdFBheWxvYWQodGhpcyk7CiAgICAgICAgIEdQUlJlc3VsdDIgcmVzdWx0VGFn
KHRoaXMpOwogICAgICAgICAKLSAgICAgICAgY2FsbE9wZXJhdGlvbihvcCA9PSBTdHJDYXQgPyBv
cGVyYXRpb25TdHJDYXQgOiBvcGVyYXRpb25OZXdBcnJheSwgcmVzdWx0VGFnLmdwcigpLCByZXN1
bHRQYXlsb2FkLmdwcigpLCBzdGF0aWNfY2FzdDx2b2lkICo+KHNjcmF0Y2hCdWZmZXIpLCBub2Rl
Lm51bUNoaWxkcmVuKCkpOworICAgICAgICBjYWxsT3BlcmF0aW9uKG9wID09IFN0ckNhdCA/IG9w
ZXJhdGlvblN0ckNhdCA6IG9wZXJhdGlvbk5ld0FycmF5LCByZXN1bHRUYWcuZ3ByKCksIHJlc3Vs
dFBheWxvYWQuZ3ByKCksIHN0YXRpY19jYXN0PHZvaWQgKj4oYnVmZmVyKSwgbm9kZS5udW1DaGls
ZHJlbigpKTsKIAogICAgICAgICBpZiAoc2NyYXRjaFNpemUpIHsKICAgICAgICAgICAgIEdQUlRl
bXBvcmFyeSBzY3JhdGNoKHRoaXMpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCShyZXZpc2lvbiAxMTc3ODMpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0yOTc5LDcgKzI5NzksNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5v
ZGUmIG5vZGUpCiAKICAgICAgICAgR1BSUmVzdWx0IHJlc3VsdCh0aGlzKTsKICAgICAgICAgCi0g
ICAgICAgIGNhbGxPcGVyYXRpb24ob3AgPT0gU3RyQ2F0ID8gb3BlcmF0aW9uU3RyQ2F0IDogb3Bl
cmF0aW9uTmV3QXJyYXksIHJlc3VsdC5ncHIoKSwgc3RhdGljX2Nhc3Q8dm9pZCAqPihzY3JhdGNo
QnVmZmVyKSwgbm9kZS5udW1DaGlsZHJlbigpKTsKKyAgICAgICAgY2FsbE9wZXJhdGlvbihvcCA9
PSBTdHJDYXQgPyBvcGVyYXRpb25TdHJDYXQgOiBvcGVyYXRpb25OZXdBcnJheSwgcmVzdWx0Lmdw
cigpLCBzdGF0aWNfY2FzdDx2b2lkICo+KGJ1ZmZlciksIG5vZGUubnVtQ2hpbGRyZW4oKSk7CiAK
ICAgICAgICAgaWYgKHNjcmF0Y2hTaXplKSB7CiAgICAgICAgICAgICBHUFJUZW1wb3Jhcnkgc2Ny
YXRjaCh0aGlzKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xvYmFs
RGF0YS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2xv
YmFsRGF0YS5oCShyZXZpc2lvbiAxMTc3ODMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0dsb2JhbERhdGEuaAkod29ya2luZyBjb3B5KQpAQCAtMTMzLDEyICsxMzMsMTggQEAg
bmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHsKICAgICAgICAgfQogCisgICAgICAgIHN0YXRpYyBT
Y3JhdGNoQnVmZmVyKiBjcmVhdGUoc2l6ZV90IHNpemUpCisgICAgICAgIHsKKyAgICAgICAgICAg
IFNjcmF0Y2hCdWZmZXIqIHJlc3VsdCA9IG5ldyAoZmFzdE1hbGxvYyhTY3JhdGNoQnVmZmVyOjph
bGxvY2F0aW9uU2l6ZShzaXplKSkpIFNjcmF0Y2hCdWZmZXI7CisKKyAgICAgICAgICAgIHJldHVy
biByZXN1bHQ7CisgICAgICAgIH0KKwogICAgICAgICBzdGF0aWMgc2l6ZV90IGFsbG9jYXRpb25T
aXplKHNpemVfdCBidWZmZXJTaXplKSB7IHJldHVybiBzaXplb2Yoc2l6ZV90KSArIGJ1ZmZlclNp
emU7IH0KICAgICAgICAgdm9pZCBzZXRBY3RpdmVMZW5ndGgoc2l6ZV90IGFjdGl2ZUxlbmd0aCkg
eyBtX2FjdGl2ZUxlbmd0aCA9IGFjdGl2ZUxlbmd0aDsgfQogICAgICAgICBzaXplX3QgYWN0aXZl
TGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gbV9hY3RpdmVMZW5ndGg7IH07CiAgICAgICAgIHNpemVf
dCogYWN0aXZlTGVuZ3RoUHRyKCkgeyByZXR1cm4gJm1fYWN0aXZlTGVuZ3RoOyB9OwogICAgICAg
ICB2b2lkKiBkYXRhQnVmZmVyKCkgeyByZXR1cm4gbV9idWZmZXI7IH0KLSAgICAgICAgdm9pZCB2
aXNpdEVuY29kZWRKU1ZhbHVlcyhTbG90VmlzaXRvciYpOwogCiAgICAgICAgIHNpemVfdCBtX2Fj
dGl2ZUxlbmd0aDsKICAgICAgICAgdm9pZCogbV9idWZmZXJbMF07CkBAIC0zMTQsNyArMzIwLDcg
QEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICAgICAgLy8gbWF4KHNjcmF0Y2ggYnVmZmVy
IHNpemUpICogNC4KICAgICAgICAgICAgICAgICBzaXplT2ZMYXN0U2NyYXRjaEJ1ZmZlciA9IHNp
emUgKiAyOwogCi0gICAgICAgICAgICAgICAgc2NyYXRjaEJ1ZmZlcnMuYXBwZW5kKHN0YXRpY19j
YXN0PFNjcmF0Y2hCdWZmZXIqPihmYXN0TWFsbG9jKFNjcmF0Y2hCdWZmZXI6OmFsbG9jYXRpb25T
aXplKHNpemVPZkxhc3RTY3JhdGNoQnVmZmVyKSkpKTsKKyAgICAgICAgICAgICAgICBzY3JhdGNo
QnVmZmVycy5hcHBlbmQoU2NyYXRjaEJ1ZmZlcjo6Y3JlYXRlKHNpemVPZkxhc3RTY3JhdGNoQnVm
ZmVyKSk7CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIFNjcmF0Y2hCdWZmZXIqIHJlc3Vs
dCA9IHNjcmF0Y2hCdWZmZXJzLmxhc3QoKTsK
</data>
<flag name="review"
          id="149633"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>