<?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>120223</bug_id>
          
          <creation_ts>2013-08-23 12:52:03 -0700</creation_ts>
          <short_desc>Cut down repeated code in RefPtr and RetainPtr by using copy/move-and-swap for assignment operators</short_desc>
          <delta_ts>2013-09-12 01:11:48 -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>Web Template Framework</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>1</everconfirmed>
          <reporter name="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>mikhail.pozdnyakov</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>920378</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-08-23 12:52:03 -0700</bug_when>
    <thetext>Cut down repeated code in RefPtr and RetainPtr by using copy/move-and-swap for assignment operators</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>920380</commentid>
    <comment_count>1</comment_count>
      <attachid>209496</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-08-23 12:54:01 -0700</bug_when>
    <thetext>Created attachment 209496
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>920381</commentid>
    <comment_count>2</comment_count>
      <attachid>209497</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-08-23 13:03:10 -0700</bug_when>
    <thetext>Created attachment 209497
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>920421</commentid>
    <comment_count>3</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-08-23 13:42:04 -0700</bug_when>
    <thetext>Committed r154519: &lt;http://trac.webkit.org/changeset/154519&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>928192</commentid>
    <comment_count>4</comment_count>
    <who name="Mikhail Pozdnyakov">mikhail.pozdnyakov</who>
    <bug_when>2013-09-12 01:11:48 -0700</bug_when>
    <thetext>What do you think about:

 template&lt;typename T&gt; inline RefPtr&lt;T&gt;&amp; RefPtr&lt;T&gt;::operator=(RefPtr o)
 {
     swap(o);
     return *this;
 }

This looks even shorter :)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>209496</attachid>
            <date>2013-08-23 12:54:01 -0700</date>
            <delta_ts>2013-08-23 13:03:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-120223-20130823125400.patch</filename>
            <type>text/plain</type>
            <size>5816</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU0NTA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDFkZDYyODU3Yzk2ZmE5M2Q4YzllNDNl
NzE1Y2NhYjIwMTAyY2ZmOTUuLjVmNjZiZTRkNWRlYzU1NzhiYjk4OWUzNjJhYWIyZTFiYjNlZjBi
MDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTMtMDgtMjMgIERhcmluIEFkbGVyICA8ZGFyaW5A
YXBwbGUuY29tPgorCisgICAgICAgIEN1dCBkb3duIHJlcGVhdGVkIGNvZGUgaW4gUmVmUHRyIGFu
ZCBSZXRhaW5QdHIgYnkgdXNpbmcgY29weS9tb3ZlLWFuZC1zd2FwIGZvciBhc3NpZ25tZW50IG9w
ZXJhdG9ycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTIwMjIzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiB3dGYvUmVmUHRyLmg6IFN3aXRjaCB0byBjb3B5LWFuZC1zd2FwIGluIHRoZSBhc3NpZ25tZW50
IG9wZXJhdG9ycy4gVGhlIG1vdmUgb25lcyBhbHJlYWR5IHdlcmUgZG9uZQorICAgICAgICB0aGF0
IHdheS4KKyAgICAgICAgKiB3dGYvUmV0YWluUHRyLmg6IERpdHRvLCBleGNlcHQgZm9yIHRoZSBt
b3ZlIG9uZXMgdG9vLgorCiAyMDEzLTA4LTIyICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5j
b20+CiAKICAgICAgICAgYnVpbGQtanNjIC0tZnRsLWppdCBzaG91bGQgd29yawpkaWZmIC0tZ2l0
IGEvU291cmNlL1dURi93dGYvUmVmUHRyLmggYi9Tb3VyY2UvV1RGL3d0Zi9SZWZQdHIuaAppbmRl
eCAyZmEyMjUxYjg2NmFhYjc0YWU1MjgxOTBhZDY3NzhmNjRkNTRiY2Q2Li5hOWE2NTJmNGY1NDAy
YjMwNjBhOWE2YzE3YzQ4Y2JhNGY2YTJlNDI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9S
ZWZQdHIuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9SZWZQdHIuaApAQCAtMSw1ICsxLDUgQEAKIC8q
Ci0gKiAgQ29weXJpZ2h0IChDKSAyMDA1LCAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5LCAyMDEwIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqICBDb3B5cmlnaHQgKEMpIDIwMDUsIDIw
MDYsIDIwMDcsIDIwMDgsIDIwMDksIDIwMTAsIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICoKICAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy
ZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTEwOSw0OCArMTA5LDM5IEBAIG5hbWVz
cGFjZSBXVEYgewogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gaW5saW5lIFJlZlB0cjxUPiYg
UmVmUHRyPFQ+OjpvcGVyYXRvcj0oY29uc3QgUmVmUHRyPFQ+JiBvKQogICAgIHsKLSAgICAgICAg
VCogb3B0ciA9IG8uZ2V0KCk7Ci0gICAgICAgIHJlZklmTm90TnVsbChvcHRyKTsKLSAgICAgICAg
VCogcHRyID0gbV9wdHI7Ci0gICAgICAgIG1fcHRyID0gb3B0cjsKLSAgICAgICAgZGVyZWZJZk5v
dE51bGwocHRyKTsKKyAgICAgICAgUmVmUHRyPFQ+IHB0ciA9IG87CisgICAgICAgIHN3YXAocHRy
KTsKICAgICAgICAgcmV0dXJuICp0aGlzOwogICAgIH0KICAgICAKICAgICB0ZW1wbGF0ZTx0eXBl
bmFtZSBUPiB0ZW1wbGF0ZTx0eXBlbmFtZSBVPiBpbmxpbmUgUmVmUHRyPFQ+JiBSZWZQdHI8VD46
Om9wZXJhdG9yPShjb25zdCBSZWZQdHI8VT4mIG8pCiAgICAgewotICAgICAgICBUKiBvcHRyID0g
by5nZXQoKTsKLSAgICAgICAgcmVmSWZOb3ROdWxsKG9wdHIpOwotICAgICAgICBUKiBwdHIgPSBt
X3B0cjsKLSAgICAgICAgbV9wdHIgPSBvcHRyOwotICAgICAgICBkZXJlZklmTm90TnVsbChwdHIp
OworICAgICAgICBSZWZQdHI8VD4gcHRyID0gbzsKKyAgICAgICAgc3dhcChwdHIpOwogICAgICAg
ICByZXR1cm4gKnRoaXM7CiAgICAgfQogICAgIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGlu
bGluZSBSZWZQdHI8VD4mIFJlZlB0cjxUPjo6b3BlcmF0b3I9KFQqIG9wdHIpCiAgICAgewotICAg
ICAgICByZWZJZk5vdE51bGwob3B0cik7Ci0gICAgICAgIFQqIHB0ciA9IG1fcHRyOwotICAgICAg
ICBtX3B0ciA9IG9wdHI7Ci0gICAgICAgIGRlcmVmSWZOb3ROdWxsKHB0cik7CisgICAgICAgIFJl
ZlB0cjxUPiBwdHIgPSBvcHRyOworICAgICAgICBzd2FwKHB0cik7CiAgICAgICAgIHJldHVybiAq
dGhpczsKICAgICB9CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBpbmxpbmUgUmVmUHRyPFQ+
JiBSZWZQdHI8VD46Om9wZXJhdG9yPShjb25zdCBQYXNzUmVmUHRyPFQ+JiBvKQogICAgIHsKLSAg
ICAgICAgVCogcHRyID0gbV9wdHI7Ci0gICAgICAgIG1fcHRyID0gby5sZWFrUmVmKCk7Ci0gICAg
ICAgIGRlcmVmSWZOb3ROdWxsKHB0cik7CisgICAgICAgIFJlZlB0cjxUPiBwdHIgPSBvOworICAg
ICAgICBzd2FwKHB0cik7CiAgICAgICAgIHJldHVybiAqdGhpczsKICAgICB9CiAKICAgICB0ZW1w
bGF0ZTx0eXBlbmFtZSBUPiB0ZW1wbGF0ZTx0eXBlbmFtZSBVPiBpbmxpbmUgUmVmUHRyPFQ+JiBS
ZWZQdHI8VD46Om9wZXJhdG9yPShjb25zdCBQYXNzUmVmUHRyPFU+JiBvKQogICAgIHsKLSAgICAg
ICAgVCogcHRyID0gbV9wdHI7Ci0gICAgICAgIG1fcHRyID0gby5sZWFrUmVmKCk7Ci0gICAgICAg
IGRlcmVmSWZOb3ROdWxsKHB0cik7CisgICAgICAgIFJlZlB0cjxUPiBwdHIgPSBvOworICAgICAg
ICBzd2FwKHB0cik7CiAgICAgICAgIHJldHVybiAqdGhpczsKICAgICB9CisKICNpZiBDT01QSUxF
Ul9TVVBQT1JUUyhDWFhfUlZBTFVFX1JFRkVSRU5DRVMpCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUg
VD4gaW5saW5lIFJlZlB0cjxUPiYgUmVmUHRyPFQ+OjpvcGVyYXRvcj0oUmVmUHRyPFQ+JiYgbykK
ICAgICB7CkBAIC0xNjYsNiArMTU3LDcgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgICAgIHJldHVy
biAqdGhpczsKICAgICB9CiAjZW5kaWYKKwogICAgIHRlbXBsYXRlPGNsYXNzIFQ+IGlubGluZSB2
b2lkIFJlZlB0cjxUPjo6c3dhcChSZWZQdHI8VD4mIG8pCiAgICAgewogICAgICAgICBzdGQ6OnN3
YXAobV9wdHIsIG8ubV9wdHIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUmV0YWluUHRy
LmggYi9Tb3VyY2UvV1RGL3d0Zi9SZXRhaW5QdHIuaAppbmRleCAyMWFjYTkzZjVhOWZkMzNmM2Yw
MDZhMTc2Nzk2YzhiM2NmNTFkOTNkLi5lNDJjYzFjMjAwYmY1ZDI4YmU3MTViYTc1YjY5NGMyNWJm
ZGU4ZjY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9SZXRhaW5QdHIuaAorKysgYi9Tb3Vy
Y2UvV1RGL3d0Zi9SZXRhaW5QdHIuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiAgQ29weXJpZ2h0
IChDKSAyMDA1LCAyMDA2LCAyMDA3LCAyMDA4LCAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqICBDb3B5cmlnaHQgKEMpIDIwMDUsIDIwMDYsIDIwMDcsIDIwMDgsIDIwMTAs
IDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqICBUaGlzIGxpYnJh
cnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiAg
bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMKQEAgLTE4OCw2NyArMTg4LDQ0IEBAIG5hbWVzcGFjZSBXVEYgewogCiAgICAgdGVtcGxhdGU8
dHlwZW5hbWUgVD4gaW5saW5lIFJldGFpblB0cjxUPiYgUmV0YWluUHRyPFQ+OjpvcGVyYXRvcj0o
Y29uc3QgUmV0YWluUHRyPFQ+JiBvKQogICAgIHsKLSAgICAgICAgUHRyVHlwZSBvcHRyID0gby5n
ZXQoKTsKLSAgICAgICAgaWYgKG9wdHIpCi0gICAgICAgICAgICByZXRhaW4ob3B0cik7Ci0gICAg
ICAgIFB0clR5cGUgcHRyID0gbV9wdHI7Ci0gICAgICAgIG1fcHRyID0gb3B0cjsKLSAgICAgICAg
aWYgKHB0cikKLSAgICAgICAgICAgIHJlbGVhc2UocHRyKTsKKyAgICAgICAgUmV0YWluUHRyPFQ+
IHB0ciA9IG87CisgICAgICAgIHN3YXAocHRyKTsKICAgICAgICAgcmV0dXJuICp0aGlzOwogICAg
IH0KIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHRlbXBsYXRlPHR5cGVuYW1lIFU+IGlubGlu
ZSBSZXRhaW5QdHI8VD4mIFJldGFpblB0cjxUPjo6b3BlcmF0b3I9KGNvbnN0IFJldGFpblB0cjxV
PiYgbykKICAgICB7Ci0gICAgICAgIFB0clR5cGUgb3B0ciA9IG8uZ2V0KCk7Ci0gICAgICAgIGlm
IChvcHRyKQotICAgICAgICAgICAgcmV0YWluKG9wdHIpOwotICAgICAgICBQdHJUeXBlIHB0ciA9
IG1fcHRyOwotICAgICAgICBtX3B0ciA9IG9wdHI7Ci0gICAgICAgIGlmIChwdHIpCi0gICAgICAg
ICAgICByZWxlYXNlKHB0cik7CisgICAgICAgIFJldGFpblB0cjxUPiBwdHIgPSBvOworICAgICAg
ICBzd2FwKHB0cik7CiAgICAgICAgIHJldHVybiAqdGhpczsKICAgICB9CiAKICAgICB0ZW1wbGF0
ZTx0eXBlbmFtZSBUPiBpbmxpbmUgUmV0YWluUHRyPFQ+JiBSZXRhaW5QdHI8VD46Om9wZXJhdG9y
PShQdHJUeXBlIG9wdHIpCiAgICAgewotICAgICAgICBpZiAob3B0cikKLSAgICAgICAgICAgIHJl
dGFpbihvcHRyKTsKLSAgICAgICAgUHRyVHlwZSBwdHIgPSBtX3B0cjsKLSAgICAgICAgbV9wdHIg
PSBvcHRyOwotICAgICAgICBpZiAocHRyKQotICAgICAgICAgICAgcmVsZWFzZShwdHIpOworICAg
ICAgICBSZXRhaW5QdHI8VD4gcHRyID0gb3B0cjsKKyAgICAgICAgc3dhcChwdHIpOwogICAgICAg
ICByZXR1cm4gKnRoaXM7CiAgICAgfQogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gdGVtcGxh
dGU8dHlwZW5hbWUgVT4gaW5saW5lIFJldGFpblB0cjxUPiYgUmV0YWluUHRyPFQ+OjpvcGVyYXRv
cj0oVSogb3B0cikKICAgICB7Ci0gICAgICAgIGlmIChvcHRyKQotICAgICAgICAgICAgcmV0YWlu
KG9wdHIpOwotICAgICAgICBQdHJUeXBlIHB0ciA9IG1fcHRyOwotICAgICAgICBtX3B0ciA9IG9w
dHI7Ci0gICAgICAgIGlmIChwdHIpCi0gICAgICAgICAgICByZWxlYXNlKHB0cik7CisgICAgICAg
IFJldGFpblB0cjxUPiBwdHIgPSBvcHRyOworICAgICAgICBzd2FwKHB0cik7CiAgICAgICAgIHJl
dHVybiAqdGhpczsKICAgICB9CiAKICNpZiBDT01QSUxFUl9TVVBQT1JUUyhDWFhfUlZBTFVFX1JF
RkVSRU5DRVMpCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gaW5saW5lIFJldGFpblB0cjxUPiYg
UmV0YWluUHRyPFQ+OjpvcGVyYXRvcj0oUmV0YWluUHRyPFQ+JiYgbykKICAgICB7Ci0gICAgICAg
IFB0clR5cGUgcHRyID0gbV9wdHI7Ci0gICAgICAgIG1fcHRyID0gby5sZWFrUmVmKCk7Ci0gICAg
ICAgIGlmIChwdHIpCi0gICAgICAgICAgICByZWxlYXNlKHB0cik7Ci0KKyAgICAgICAgUmV0YWlu
UHRyPFQ+IHB0ciA9IHN0ZDo6bW92ZShvKTsKKyAgICAgICAgc3dhcChwdHIpOwogICAgICAgICBy
ZXR1cm4gKnRoaXM7CiAgICAgfQogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gdGVtcGxhdGU8
dHlwZW5hbWUgVT4gaW5saW5lIFJldGFpblB0cjxUPiYgUmV0YWluUHRyPFQ+OjpvcGVyYXRvcj0o
UmV0YWluUHRyPFU+JiYgbykKICAgICB7Ci0gICAgICAgIFB0clR5cGUgcHRyID0gbV9wdHI7Ci0g
ICAgICAgIG1fcHRyID0gby5sZWFrUmVmKCk7Ci0gICAgICAgIGlmIChwdHIpCi0gICAgICAgICAg
ICByZWxlYXNlKHB0cik7CisgICAgICAgIFJldGFpblB0cjxUPiBwdHIgPSBzdGQ6Om1vdmUobyk7
CisgICAgICAgIHN3YXAocHRyKTsKICAgICAgICAgcmV0dXJuICp0aGlzOwogICAgIH0KICNlbmRp
Zgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>209497</attachid>
            <date>2013-08-23 13:03:10 -0700</date>
            <delta_ts>2013-08-23 13:18:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-120223-20130823130309.patch</filename>
            <type>text/plain</type>
            <size>7251</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU0NTA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDFkZDYyODU3Yzk2ZmE5M2Q4YzllNDNl
NzE1Y2NhYjIwMTAyY2ZmOTUuLjVmNjZiZTRkNWRlYzU1NzhiYjk4OWUzNjJhYWIyZTFiYjNlZjBi
MDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTMtMDgtMjMgIERhcmluIEFkbGVyICA8ZGFyaW5A
YXBwbGUuY29tPgorCisgICAgICAgIEN1dCBkb3duIHJlcGVhdGVkIGNvZGUgaW4gUmVmUHRyIGFu
ZCBSZXRhaW5QdHIgYnkgdXNpbmcgY29weS9tb3ZlLWFuZC1zd2FwIGZvciBhc3NpZ25tZW50IG9w
ZXJhdG9ycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTIwMjIzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiB3dGYvUmVmUHRyLmg6IFN3aXRjaCB0byBjb3B5LWFuZC1zd2FwIGluIHRoZSBhc3NpZ25tZW50
IG9wZXJhdG9ycy4gVGhlIG1vdmUgb25lcyBhbHJlYWR5IHdlcmUgZG9uZQorICAgICAgICB0aGF0
IHdheS4KKyAgICAgICAgKiB3dGYvUmV0YWluUHRyLmg6IERpdHRvLCBleGNlcHQgZm9yIHRoZSBt
b3ZlIG9uZXMgdG9vLgorCiAyMDEzLTA4LTIyICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5j
b20+CiAKICAgICAgICAgYnVpbGQtanNjIC0tZnRsLWppdCBzaG91bGQgd29yawpkaWZmIC0tZ2l0
IGEvU291cmNlL1dURi93dGYvUmVmUHRyLmggYi9Tb3VyY2UvV1RGL3d0Zi9SZWZQdHIuaAppbmRl
eCAyZmEyMjUxYjg2NmFhYjc0YWU1MjgxOTBhZDY3NzhmNjRkNTRiY2Q2Li5iOGJmY2Y2NGFkZGVk
MWNmODIxNzc2ZjkyMzg1YjIxNTAzOGJhZGUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9S
ZWZQdHIuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9SZWZQdHIuaApAQCAtMSw1ICsxLDUgQEAKIC8q
Ci0gKiAgQ29weXJpZ2h0IChDKSAyMDA1LCAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5LCAyMDEwIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqICBDb3B5cmlnaHQgKEMpIDIwMDUsIDIw
MDYsIDIwMDcsIDIwMDgsIDIwMDksIDIwMTAsIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICoKICAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy
ZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTEwNyw2NiArMTA3LDYwIEBAIG5hbWVz
cGFjZSBXVEYgewogICAgICAgICBkZXJlZklmTm90TnVsbChwdHIpOwogICAgIH0KIAotICAgIHRl
bXBsYXRlPHR5cGVuYW1lIFQ+IGlubGluZSBSZWZQdHI8VD4mIFJlZlB0cjxUPjo6b3BlcmF0b3I9
KGNvbnN0IFJlZlB0cjxUPiYgbykKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBpbmxpbmUgUmVm
UHRyPFQ+JiBSZWZQdHI8VD46Om9wZXJhdG9yPShjb25zdCBSZWZQdHImIG8pCiAgICAgewotICAg
ICAgICBUKiBvcHRyID0gby5nZXQoKTsKLSAgICAgICAgcmVmSWZOb3ROdWxsKG9wdHIpOwotICAg
ICAgICBUKiBwdHIgPSBtX3B0cjsKLSAgICAgICAgbV9wdHIgPSBvcHRyOwotICAgICAgICBkZXJl
ZklmTm90TnVsbChwdHIpOworICAgICAgICBSZWZQdHIgcHRyID0gbzsKKyAgICAgICAgc3dhcChw
dHIpOwogICAgICAgICByZXR1cm4gKnRoaXM7CiAgICAgfQogICAgIAogICAgIHRlbXBsYXRlPHR5
cGVuYW1lIFQ+IHRlbXBsYXRlPHR5cGVuYW1lIFU+IGlubGluZSBSZWZQdHI8VD4mIFJlZlB0cjxU
Pjo6b3BlcmF0b3I9KGNvbnN0IFJlZlB0cjxVPiYgbykKICAgICB7Ci0gICAgICAgIFQqIG9wdHIg
PSBvLmdldCgpOwotICAgICAgICByZWZJZk5vdE51bGwob3B0cik7Ci0gICAgICAgIFQqIHB0ciA9
IG1fcHRyOwotICAgICAgICBtX3B0ciA9IG9wdHI7Ci0gICAgICAgIGRlcmVmSWZOb3ROdWxsKHB0
cik7CisgICAgICAgIFJlZlB0ciBwdHIgPSBvOworICAgICAgICBzd2FwKHB0cik7CiAgICAgICAg
IHJldHVybiAqdGhpczsKICAgICB9CiAgICAgCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gaW5s
aW5lIFJlZlB0cjxUPiYgUmVmUHRyPFQ+OjpvcGVyYXRvcj0oVCogb3B0cikKICAgICB7Ci0gICAg
ICAgIHJlZklmTm90TnVsbChvcHRyKTsKLSAgICAgICAgVCogcHRyID0gbV9wdHI7Ci0gICAgICAg
IG1fcHRyID0gb3B0cjsKLSAgICAgICAgZGVyZWZJZk5vdE51bGwocHRyKTsKKyAgICAgICAgUmVm
UHRyIHB0ciA9IG9wdHI7CisgICAgICAgIHN3YXAocHRyKTsKICAgICAgICAgcmV0dXJuICp0aGlz
OwogICAgIH0KIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGlubGluZSBSZWZQdHI8VD4mIFJl
ZlB0cjxUPjo6b3BlcmF0b3I9KGNvbnN0IFBhc3NSZWZQdHI8VD4mIG8pCiAgICAgewotICAgICAg
ICBUKiBwdHIgPSBtX3B0cjsKLSAgICAgICAgbV9wdHIgPSBvLmxlYWtSZWYoKTsKLSAgICAgICAg
ZGVyZWZJZk5vdE51bGwocHRyKTsKKyAgICAgICAgUmVmUHRyIHB0ciA9IG87CisgICAgICAgIHN3
YXAocHRyKTsKICAgICAgICAgcmV0dXJuICp0aGlzOwogICAgIH0KIAogICAgIHRlbXBsYXRlPHR5
cGVuYW1lIFQ+IHRlbXBsYXRlPHR5cGVuYW1lIFU+IGlubGluZSBSZWZQdHI8VD4mIFJlZlB0cjxU
Pjo6b3BlcmF0b3I9KGNvbnN0IFBhc3NSZWZQdHI8VT4mIG8pCiAgICAgewotICAgICAgICBUKiBw
dHIgPSBtX3B0cjsKLSAgICAgICAgbV9wdHIgPSBvLmxlYWtSZWYoKTsKLSAgICAgICAgZGVyZWZJ
Zk5vdE51bGwocHRyKTsKKyAgICAgICAgUmVmUHRyIHB0ciA9IG87CisgICAgICAgIHN3YXAocHRy
KTsKICAgICAgICAgcmV0dXJuICp0aGlzOwogICAgIH0KKwogI2lmIENPTVBJTEVSX1NVUFBPUlRT
KENYWF9SVkFMVUVfUkVGRVJFTkNFUykKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBpbmxpbmUg
UmVmUHRyPFQ+JiBSZWZQdHI8VD46Om9wZXJhdG9yPShSZWZQdHI8VD4mJiBvKQorCisgICAgdGVt
cGxhdGU8dHlwZW5hbWUgVD4gaW5saW5lIFJlZlB0cjxUPiYgUmVmUHRyPFQ+OjpvcGVyYXRvcj0o
UmVmUHRyJiYgbykKICAgICB7Ci0gICAgICAgIFJlZlB0cjxUPiBwdHIgPSBzdGQ6Om1vdmUobyk7
CisgICAgICAgIFJlZlB0ciBwdHIgPSBzdGQ6Om1vdmUobyk7CiAgICAgICAgIHN3YXAocHRyKTsK
ICAgICAgICAgcmV0dXJuICp0aGlzOwogICAgIH0KIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+
IHRlbXBsYXRlPHR5cGVuYW1lIFU+IGlubGluZSBSZWZQdHI8VD4mIFJlZlB0cjxUPjo6b3BlcmF0
b3I9KFJlZlB0cjxVPiYmIG8pCiAgICAgewotICAgICAgICBSZWZQdHI8VD4gcHRyID0gc3RkOjpt
b3ZlKG8pOworICAgICAgICBSZWZQdHIgcHRyID0gc3RkOjptb3ZlKG8pOwogICAgICAgICBzd2Fw
KHB0cik7CiAgICAgICAgIHJldHVybiAqdGhpczsKICAgICB9CisKICNlbmRpZgotICAgIHRlbXBs
YXRlPGNsYXNzIFQ+IGlubGluZSB2b2lkIFJlZlB0cjxUPjo6c3dhcChSZWZQdHI8VD4mIG8pCisK
KyAgICB0ZW1wbGF0ZTxjbGFzcyBUPiBpbmxpbmUgdm9pZCBSZWZQdHI8VD46OnN3YXAoUmVmUHRy
JiBvKQogICAgIHsKICAgICAgICAgc3RkOjpzd2FwKG1fcHRyLCBvLm1fcHRyKTsKICAgICB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9SZXRhaW5QdHIuaCBiL1NvdXJjZS9XVEYvd3RmL1Jl
dGFpblB0ci5oCmluZGV4IDIxYWNhOTNmNWE5ZmQzM2YzZjAwNmExNzY3OTZjOGIzY2Y1MWQ5M2Qu
LjFjMjU5MDEyZWFmMzE2NTNhYTE1YTdhMGEyNjk1YTRiNTk0MDVlNmEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XVEYvd3RmL1JldGFpblB0ci5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1JldGFpblB0ci5o
CkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqICBDb3B5cmlnaHQgKEMpIDIwMDUsIDIwMDYsIDIwMDcs
IDIwMDgsIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogIENvcHlyaWdo
dCAoQykgMjAwNSwgMjAwNiwgMjAwNywgMjAwOCwgMjAxMCwgMjAxMyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgogICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5
b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRl
cm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMTg2LDc0ICsxODYsNTMg
QEAgbmFtZXNwYWNlIFdURiB7CiAgICAgICAgIHJldHVybiBwdHI7CiAgICAgfQogCi0gICAgdGVt
cGxhdGU8dHlwZW5hbWUgVD4gaW5saW5lIFJldGFpblB0cjxUPiYgUmV0YWluUHRyPFQ+OjpvcGVy
YXRvcj0oY29uc3QgUmV0YWluUHRyPFQ+JiBvKQorICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGlu
bGluZSBSZXRhaW5QdHI8VD4mIFJldGFpblB0cjxUPjo6b3BlcmF0b3I9KGNvbnN0IFJldGFpblB0
ciYgbykKICAgICB7Ci0gICAgICAgIFB0clR5cGUgb3B0ciA9IG8uZ2V0KCk7Ci0gICAgICAgIGlm
IChvcHRyKQotICAgICAgICAgICAgcmV0YWluKG9wdHIpOwotICAgICAgICBQdHJUeXBlIHB0ciA9
IG1fcHRyOwotICAgICAgICBtX3B0ciA9IG9wdHI7Ci0gICAgICAgIGlmIChwdHIpCi0gICAgICAg
ICAgICByZWxlYXNlKHB0cik7CisgICAgICAgIFJldGFpblB0ciBwdHIgPSBvOworICAgICAgICBz
d2FwKHB0cik7CiAgICAgICAgIHJldHVybiAqdGhpczsKICAgICB9CiAKICAgICB0ZW1wbGF0ZTx0
eXBlbmFtZSBUPiB0ZW1wbGF0ZTx0eXBlbmFtZSBVPiBpbmxpbmUgUmV0YWluUHRyPFQ+JiBSZXRh
aW5QdHI8VD46Om9wZXJhdG9yPShjb25zdCBSZXRhaW5QdHI8VT4mIG8pCiAgICAgewotICAgICAg
ICBQdHJUeXBlIG9wdHIgPSBvLmdldCgpOwotICAgICAgICBpZiAob3B0cikKLSAgICAgICAgICAg
IHJldGFpbihvcHRyKTsKLSAgICAgICAgUHRyVHlwZSBwdHIgPSBtX3B0cjsKLSAgICAgICAgbV9w
dHIgPSBvcHRyOwotICAgICAgICBpZiAocHRyKQotICAgICAgICAgICAgcmVsZWFzZShwdHIpOwor
ICAgICAgICBSZXRhaW5QdHIgcHRyID0gbzsKKyAgICAgICAgc3dhcChwdHIpOwogICAgICAgICBy
ZXR1cm4gKnRoaXM7CiAgICAgfQogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gaW5saW5lIFJl
dGFpblB0cjxUPiYgUmV0YWluUHRyPFQ+OjpvcGVyYXRvcj0oUHRyVHlwZSBvcHRyKQogICAgIHsK
LSAgICAgICAgaWYgKG9wdHIpCi0gICAgICAgICAgICByZXRhaW4ob3B0cik7Ci0gICAgICAgIFB0
clR5cGUgcHRyID0gbV9wdHI7Ci0gICAgICAgIG1fcHRyID0gb3B0cjsKLSAgICAgICAgaWYgKHB0
cikKLSAgICAgICAgICAgIHJlbGVhc2UocHRyKTsKKyAgICAgICAgUmV0YWluUHRyIHB0ciA9IG9w
dHI7CisgICAgICAgIHN3YXAocHRyKTsKICAgICAgICAgcmV0dXJuICp0aGlzOwogICAgIH0KIAog
ICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHRlbXBsYXRlPHR5cGVuYW1lIFU+IGlubGluZSBSZXRh
aW5QdHI8VD4mIFJldGFpblB0cjxUPjo6b3BlcmF0b3I9KFUqIG9wdHIpCiAgICAgewotICAgICAg
ICBpZiAob3B0cikKLSAgICAgICAgICAgIHJldGFpbihvcHRyKTsKLSAgICAgICAgUHRyVHlwZSBw
dHIgPSBtX3B0cjsKLSAgICAgICAgbV9wdHIgPSBvcHRyOwotICAgICAgICBpZiAocHRyKQotICAg
ICAgICAgICAgcmVsZWFzZShwdHIpOworICAgICAgICBSZXRhaW5QdHIgcHRyID0gb3B0cjsKKyAg
ICAgICAgc3dhcChwdHIpOwogICAgICAgICByZXR1cm4gKnRoaXM7CiAgICAgfQogCiAjaWYgQ09N
UElMRVJfU1VQUE9SVFMoQ1hYX1JWQUxVRV9SRUZFUkVOQ0VTKQotICAgIHRlbXBsYXRlPHR5cGVu
YW1lIFQ+IGlubGluZSBSZXRhaW5QdHI8VD4mIFJldGFpblB0cjxUPjo6b3BlcmF0b3I9KFJldGFp
blB0cjxUPiYmIG8pCi0gICAgewotICAgICAgICBQdHJUeXBlIHB0ciA9IG1fcHRyOwotICAgICAg
ICBtX3B0ciA9IG8ubGVha1JlZigpOwotICAgICAgICBpZiAocHRyKQotICAgICAgICAgICAgcmVs
ZWFzZShwdHIpOwogCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gaW5saW5lIFJldGFpblB0cjxU
PiYgUmV0YWluUHRyPFQ+OjpvcGVyYXRvcj0oUmV0YWluUHRyJiYgbykKKyAgICB7CisgICAgICAg
IFJldGFpblB0ciBwdHIgPSBzdGQ6Om1vdmUobyk7CisgICAgICAgIHN3YXAocHRyKTsKICAgICAg
ICAgcmV0dXJuICp0aGlzOwogICAgIH0KIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IHRlbXBs
YXRlPHR5cGVuYW1lIFU+IGlubGluZSBSZXRhaW5QdHI8VD4mIFJldGFpblB0cjxUPjo6b3BlcmF0
b3I9KFJldGFpblB0cjxVPiYmIG8pCiAgICAgewotICAgICAgICBQdHJUeXBlIHB0ciA9IG1fcHRy
OwotICAgICAgICBtX3B0ciA9IG8ubGVha1JlZigpOwotICAgICAgICBpZiAocHRyKQotICAgICAg
ICAgICAgcmVsZWFzZShwdHIpOworICAgICAgICBSZXRhaW5QdHIgcHRyID0gc3RkOjptb3ZlKG8p
OworICAgICAgICBzd2FwKHB0cik7CiAgICAgICAgIHJldHVybiAqdGhpczsKICAgICB9CisKICNl
bmRpZgogCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gaW5saW5lIHZvaWQgUmV0YWluUHRyPFQ+
Ojpzd2FwKFJldGFpblB0cjxUPiYgbykKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBpbmxpbmUg
dm9pZCBSZXRhaW5QdHI8VD46OnN3YXAoUmV0YWluUHRyJiBvKQogICAgIHsKICAgICAgICAgc3Rk
Ojpzd2FwKG1fcHRyLCBvLm1fcHRyKTsKICAgICB9CkBAIC0yNjksMTUgKzI0OCwxNSBAQCBuYW1l
c3BhY2UgV1RGIHsKICAgICB9CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBV
PiBpbmxpbmUgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFJldGFpblB0cjxUPiYgYSwgVSogYikKLSAg
ICB7IAorICAgIHsKICAgICAgICAgcmV0dXJuIGEuZ2V0KCkgPT0gYjsgCiAgICAgfQotICAgIAor
CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgVT4gaW5saW5lIGJvb2wgb3BlcmF0
b3I9PShUKiBhLCBjb25zdCBSZXRhaW5QdHI8VT4mIGIpIAogICAgIHsKICAgICAgICAgcmV0dXJu
IGEgPT0gYi5nZXQoKTsgCiAgICAgfQotICAgIAorCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVCwg
dHlwZW5hbWUgVT4gaW5saW5lIGJvb2wgb3BlcmF0b3IhPShjb25zdCBSZXRhaW5QdHI8VD4mIGEs
IGNvbnN0IFJldGFpblB0cjxVPiYgYikKICAgICB7IAogICAgICAgICByZXR1cm4gYS5nZXQoKSAh
PSBiLmdldCgpOyAK
</data>
<flag name="review"
          id="231524"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>