<?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>80222</bug_id>
          
          <creation_ts>2012-03-04 11:53:41 -0800</creation_ts>
          <short_desc>RetainPtr: Use adoptCF function instead of AdoptCF constructor argument</short_desc>
          <delta_ts>2014-05-05 20:13:21 -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>andersca</cc>
    
    <cc>benjamin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>570270</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-03-04 11:53:41 -0800</bug_when>
    <thetext>We should change clients of RetainPtr to use the adoptCF function instead of the adoptCF constructor argument. Then we should get rid of the AdoptCF constructor or make it private.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>887181</commentid>
    <comment_count>1</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-05-09 18:12:12 -0700</bug_when>
    <thetext>This is mostly done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>894178</commentid>
    <comment_count>2</comment_count>
      <attachid>203014</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-05-27 16:23:08 -0700</bug_when>
    <thetext>Created attachment 203014
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>894180</commentid>
    <comment_count>3</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-05-27 16:23:17 -0700</bug_when>
    <thetext>*** Bug 80223 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>894182</commentid>
    <comment_count>4</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-05-27 16:31:26 -0700</bug_when>
    <thetext>This will break iOS so I can’t land it until I do some work on the internal code there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1006515</commentid>
    <comment_count>5</comment_count>
      <attachid>230797</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-05-04 17:24:25 -0700</bug_when>
    <thetext>Created attachment 230797
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1006516</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-05-04 17:25:59 -0700</bug_when>
    <thetext>Attachment 230797 did not pass style-queue:


ERROR: Source/WTF/wtf/RetainPtr.h:51:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
ERROR: Source/WTF/wtf/RetainPtr.h:62:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WTF/wtf/RetainPtr.h:107:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
Total errors found: 3 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1006842</commentid>
    <comment_count>7</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-05-05 20:13:21 -0700</bug_when>
    <thetext>Committed r168348: &lt;http://trac.webkit.org/changeset/168348&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>203014</attachid>
            <date>2013-05-27 16:23:08 -0700</date>
            <delta_ts>2014-05-04 17:24:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80222-20130527162148.patch</filename>
            <type>text/plain</type>
            <size>5063</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUwNzc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDE4MmFkODcxZTU4M2RiOGExYmM5NTVh
MTY2ZmYzMmI5MWFmYjYwMzUuLmQ4ODc1YWNkODQyZjAwMWI0MzFjZjQxOTQ5ZDMyNWJiNTRlMTZi
NWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTMtMDUtMjcgIERhcmluIEFkbGVyICA8ZGFyaW5A
YXBwbGUuY29tPgorCisgICAgICAgIFJldGFpblB0cjogVXNlIGFkb3B0Q0YgZnVuY3Rpb24gaW5z
dGVhZCBvZiBBZG9wdENGIGNvbnN0cnVjdG9yIGFyZ3VtZW50CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDIyMgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFsbCB0aGUgY2xpZW50cyBhcmUgZ29uZSwgc28g
d2UgY2FuIG5vdyByZW1vdmUgQWRvcHRDRiBhbmQgQWRvcHROUy4KKworICAgICAgICAqIHd0Zi9S
ZXRhaW5QdHIuaDogUmVtb3ZlZCB0aGUgcHVibGljIGNvbnN0cnVjdG9ycyB0aGF0IGxldCB5b3Ug
c3BlY2lmeSBBZG9wdENGCisgICAgICAgIGFuZCBBZG9wdE5TLiBJbnN0ZWFkLCBtYWRlIHRoZSBh
ZG9wdENGIGFuZCBhZG9wdE5TIGZ1bmN0aW9ucyBiZSBmcmllbmRzIGFuZCB1c2UKKyAgICAgICAg
YSBwcml2YXRlIGNvbnN0cnVjdG9yIHRoYXQgdGFrZXMgYW4gQWRvcHQgYXJndW1lbnQuCisgICAg
ICAgIChXVEY6OmFkb3B0Q0YpOiBNb3ZlZCB0aGUgT2JqZWN0aXZlLUMgY2xhc3MgY2hlY2sgaW4g
aGVyZS4KKyAgICAgICAgKFdURjo6YWRvcHROUyk6IE1vdmVkIHRoZSBjb2RlIHRvIENGUmV0YWlu
IGFzIG5lZWRlZCBmb3IgZ2FyYmFnZSBjb2xsZWN0aW9uIGluIGhlcmUuCisgICAgICAgIChXVEY6
OnJldGFpblB0cik6IFJlbW92ZWQgYW4gdW5uZWVkZWQgZXhwbGljaXQgdHlwZSBjb252ZXJzaW9u
LgorCiAyMDEzLTA1LTI3ICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQub3JnPgog
CiAgICAgICAgIFVzZSBJQ1VfSU5DTFVERV9ESVJTIGluIEJsYWNrQmVycnkgQ01ha2UgZmlsZXMK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1JldGFpblB0ci5oIGIvU291cmNlL1dURi93dGYv
UmV0YWluUHRyLmgKaW5kZXggOTFlNzZmNTFlYzNhMDVhYzhkYWJiMTUzNTBkZjY3MGNiMWI4ODM5
ZS4uMzhmMzZmMjVjNDlkOGY3YWQwMmIyNGYzZTA5NDI3YzJjMDEyN2Y5YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dURi93dGYvUmV0YWluUHRyLmgKKysrIGIvU291cmNlL1dURi93dGYvUmV0YWluUHRy
LmgKQEAgLTQ3LDQ3ICs0NywxNCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAvLyBVbmxpa2UgbW9z
dCBtb3N0IG9mIG91ciBzbWFydCBwb2ludGVycywgUmV0YWluUHRyIGNhbiB0YWtlIGVpdGhlciB0
aGUgcG9pbnRlciB0eXBlIG9yIHRoZSBwb2ludGVkLXRvIHR5cGUsCiAgICAgLy8gc28gYm90aCBS
ZXRhaW5QdHI8TlNEaWN0aW9uYXJ5PiBhbmQgUmV0YWluUHRyPENGRGljdGlvbmFyeVJlZj4gd2ls
bCB3b3JrLgogCi0gICAgZW51bSBBZG9wdENGVGFnIHsgQWRvcHRDRiB9OwotICAgIGVudW0gQWRv
cHROU1RhZyB7IEFkb3B0TlMgfTsKLSAgICAKLSNpZmRlZiBfX09CSkNfXwotI2lmZGVmIE9CSkNf
Tk9fR0MKLSAgICBpbmxpbmUgdm9pZCBhZG9wdE5TUmVmZXJlbmNlKGlkKQotICAgIHsKLSAgICB9
Ci0jZWxzZQotICAgIGlubGluZSB2b2lkIGFkb3B0TlNSZWZlcmVuY2UoaWQgcHRyKQotICAgIHsK
LSAgICAgICAgaWYgKHB0cikgewotICAgICAgICAgICAgQ0ZSZXRhaW4ocHRyKTsKLSAgICAgICAg
ICAgIFtwdHIgcmVsZWFzZV07Ci0gICAgICAgIH0KLSAgICB9Ci0jZW5kaWYKLSNlbmRpZgotCiAg
ICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3MgUmV0YWluUHRyIHsKICAgICBwdWJsaWM6CiAg
ICAgICAgIHR5cGVkZWYgdHlwZW5hbWUgUmVtb3ZlUG9pbnRlcjxUPjo6VHlwZSBWYWx1ZVR5cGU7
CiAgICAgICAgIHR5cGVkZWYgVmFsdWVUeXBlKiBQdHJUeXBlOwogCi0gICAgICAgIFJldGFpblB0
cigpIDogbV9wdHIoMCkge30KKyAgICAgICAgUmV0YWluUHRyKCkgOiBtX3B0cigwKSB7IH0KICAg
ICAgICAgUmV0YWluUHRyKFB0clR5cGUgcHRyKSA6IG1fcHRyKHB0cikgeyBpZiAocHRyKSBDRlJl
dGFpbihwdHIpOyB9CiAKLSAgICAgICAgUmV0YWluUHRyKEFkb3B0Q0ZUYWcsIFB0clR5cGUgcHRy
KQotICAgICAgICAgICAgOiBtX3B0cihwdHIpCi0gICAgICAgIHsKLSNpZmRlZiBfX09CSkNfXwot
ICAgICAgICAgICAgc3RhdGljX2Fzc2VydCghc3RkOjppc19jb252ZXJ0aWJsZTxULCBpZD46OnZh
bHVlLCAiRG9uJ3QgdXNlIGFkb3B0Q0Ygd2l0aCBPYmplY3RpdmUtQyBwb2ludGVyIHR5cGVzLCB1
c2UgYWRvcHROUy4iKTsKLSNlbmRpZgotICAgICAgICB9Ci0KLSAgICAgICAgUmV0YWluUHRyKEFk
b3B0TlNUYWcsIFB0clR5cGUgcHRyKQotICAgICAgICAgICAgOiBtX3B0cihwdHIpCi0gICAgICAg
IHsKLSAgICAgICAgICAgIGFkb3B0TlNSZWZlcmVuY2UocHRyKTsKLSAgICAgICAgfQotICAgICAg
ICAKICAgICAgICAgUmV0YWluUHRyKGNvbnN0IFJldGFpblB0ciYgbykgOiBtX3B0cihvLm1fcHRy
KSB7IGlmIChQdHJUeXBlIHB0ciA9IG1fcHRyKSBDRlJldGFpbihwdHIpOyB9CiAKICNpZiBDT01Q
SUxFUl9TVVBQT1JUUyhDWFhfUlZBTFVFX1JFRkVSRU5DRVMpCkBAIC0xMzMsOSArMTAwLDE4IEBA
IG5hbWVzcGFjZSBXVEYgewogCiAgICAgICAgIHZvaWQgc3dhcChSZXRhaW5QdHImKTsKIAorICAg
ICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBVPiBmcmllbmQgUmV0YWluUHRyPFU+IGFkb3B0Q0YoVSBD
Rl9SRUxFQVNFU19BUkdVTUVOVCk7CisgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIFU+IGZyaWVu
ZCBSZXRhaW5QdHI8VT4gYWRvcHROUyhVIE5TX1JFTEVBU0VTX0FSR1VNRU5UKTsKKwogICAgIHBy
aXZhdGU6CiAgICAgICAgIHN0YXRpYyBQdHJUeXBlIGhhc2hUYWJsZURlbGV0ZWRWYWx1ZSgpIHsg
cmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8UHRyVHlwZT4oLTEpOyB9CiAKKyAgICAgICAgZW51bSBB
ZG9wdFRhZyB7IEFkb3B0IH07CisgICAgICAgIFJldGFpblB0cihQdHJUeXBlIHB0ciwgQWRvcHRU
YWcpCisgICAgICAgICAgICA6IG1fcHRyKHB0cikKKyAgICAgICAgeworICAgICAgICB9CisKICAg
ICAgICAgUHRyVHlwZSBtX3B0cjsKICAgICB9OwogCkBAIC0yNjgsMjMgKzI0NCwzMSBAQCBuYW1l
c3BhY2UgV1RGIHsKICAgICAgICAgcmV0dXJuIGEgIT0gYi5nZXQoKTsgCiAgICAgfQogCi0gICAg
dGVtcGxhdGU8dHlwZW5hbWUgVD4gaW5saW5lIFJldGFpblB0cjxUPiBhZG9wdENGKFQgQ0ZfUkVM
RUFTRVNfQVJHVU1FTlQpIFdBUk5fVU5VU0VEX1JFVFVSTjsKKyAgICB0ZW1wbGF0ZTx0eXBlbmFt
ZSBUPiBpbmxpbmUgUmV0YWluUHRyPFQ+IGFkb3B0Q0YoVCBDRl9SRUxFQVNFU19BUkdVTUVOVCk7
CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gaW5saW5lIFJldGFpblB0cjxUPiBhZG9wdENGKFQg
bykKICAgICB7Ci0gICAgICAgIHJldHVybiBSZXRhaW5QdHI8VD4oQWRvcHRDRiwgbyk7CisjaWZk
ZWYgX19PQkpDX18KKyAgICAgICAgc3RhdGljX2Fzc2VydCghc3RkOjppc19jb252ZXJ0aWJsZTxU
LCBpZD46OnZhbHVlLCAiRG9uJ3QgdXNlIGFkb3B0Q0Ygd2l0aCBPYmplY3RpdmUtQyBwb2ludGVy
IHR5cGVzLCB1c2UgYWRvcHROUy4iKTsKKyNlbmRpZgorICAgICAgICByZXR1cm4gUmV0YWluUHRy
PFQ+KG8sIFJldGFpblB0cjxUPjo6QWRvcHQpOwogICAgIH0KIAotICAgIHRlbXBsYXRlPHR5cGVu
YW1lIFQ+IGlubGluZSBSZXRhaW5QdHI8VD4gYWRvcHROUyhUIE5TX1JFTEVBU0VTX0FSR1VNRU5U
KSBXQVJOX1VOVVNFRF9SRVRVUk47CisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gaW5saW5lIFJl
dGFpblB0cjxUPiBhZG9wdE5TKFQgTlNfUkVMRUFTRVNfQVJHVU1FTlQpOwogICAgIHRlbXBsYXRl
PHR5cGVuYW1lIFQ+IGlubGluZSBSZXRhaW5QdHI8VD4gYWRvcHROUyhUIG8pCiAgICAgewotICAg
ICAgICByZXR1cm4gUmV0YWluUHRyPFQ+KEFkb3B0TlMsIG8pOworI2lmIGRlZmluZWQgX19PQkpD
X18gJiYgIWRlZmluZWQgT0JKQ19OT19HQworICAgICAgICBpZiAobykgeworICAgICAgICAgICAg
Q0ZSZXRhaW4obyk7CisgICAgICAgICAgICBbbyByZWxlYXNlXTsKKyAgICAgICAgfQorI2VuZGlm
CisgICAgICAgIHJldHVybiBSZXRhaW5QdHI8VD4obywgUmV0YWluUHRyPFQ+OjpBZG9wdCk7CiAg
ICAgfQogCiAgICAgLy8gSGVscGVyIGZ1bmN0aW9uIGZvciBjcmVhdGluZyBhIFJldGFpblB0ciB1
c2luZyB0ZW1wbGF0ZSBhcmd1bWVudCBkZWR1Y3Rpb24uCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUg
VD4gaW5saW5lIFJldGFpblB0cjxUPiByZXRhaW5QdHIoVCkgV0FSTl9VTlVTRURfUkVUVVJOOwog
ICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGlubGluZSBSZXRhaW5QdHI8VD4gcmV0YWluUHRyKFQg
bykKICAgICB7Ci0gICAgICAgIHJldHVybiBSZXRhaW5QdHI8VD4obyk7CisgICAgICAgIHJldHVy
biBvOwogICAgIH0KIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFA+IHN0cnVjdCBIYXNoVHJhaXRz
PFJldGFpblB0cjxQPiA+IDogU2ltcGxlQ2xhc3NIYXNoVHJhaXRzPFJldGFpblB0cjxQPiA+IHsg
fTsKQEAgLTMyMiwxMyArMzA2LDEyIEBAIG5hbWVzcGFjZSBXVEYgewogICAgICAgICB9CiAgICAg
ICAgIHN0YXRpYyBjb25zdCBib29sIHNhZmVUb0NvbXBhcmVUb0VtcHR5T3JEZWxldGVkID0gZmFs
c2U7CiAgICAgfTsKKwogfSAvLyBuYW1lc3BhY2UgV1RGCiAKLXVzaW5nIFdURjo6QWRvcHRDRjsK
LXVzaW5nIFdURjo6QWRvcHROUzsKK3VzaW5nIFdURjo6UmV0YWluUHRyOwogdXNpbmcgV1RGOjph
ZG9wdENGOwogdXNpbmcgV1RGOjphZG9wdE5TOwotdXNpbmcgV1RGOjpSZXRhaW5QdHI7CiB1c2lu
ZyBXVEY6OnJldGFpblB0cjsKIAogI2VuZGlmIC8vIFdURl9SZXRhaW5QdHJfaAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>230797</attachid>
            <date>2014-05-04 17:24:25 -0700</date>
            <delta_ts>2014-05-05 09:17:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80222-20140504172403.patch</filename>
            <type>text/plain</type>
            <size>13052</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY4MjQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDcyMGFjNjA2YzFkNDYyYzExMTdhZmVk
NmZlYWJmNjdiZGQyYmY0MjguLjM5MzAyZTlhZDY1NjE0ZWU5NTAyOGVkNzNkMDFkMjViNTgyN2E5
MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTQtMDUtMDQgIERhcmluIEFkbGVyICA8ZGFyaW5A
YXBwbGUuY29tPgorCisgICAgICAgIFJldGFpblB0cjogVXNlIGFkb3B0Q0YgZnVuY3Rpb24gaW5z
dGVhZCBvZiBBZG9wdENGIGNvbnN0cnVjdG9yIGFyZ3VtZW50CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDIyMgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFsbCB0aGUgY2xpZW50cyBhcmUgZ29uZSwgc28g
d2UgY2FuIG5vdyByZW1vdmUgQWRvcHRDRiBhbmQgQWRvcHROUy4KKworICAgICAgICAqIHd0Zi9S
ZXRhaW5QdHIuaDogUmVtb3ZlZCB0aGUgcHVibGljIGNvbnN0cnVjdG9ycyB0aGF0IGxldCB5b3Ug
c3BlY2lmeSBBZG9wdENGCisgICAgICAgIGFuZCBBZG9wdE5TLiBJbnN0ZWFkLCBtYWRlIHRoZSBh
ZG9wdENGIGFuZCBhZG9wdE5TIGZ1bmN0aW9ucyBiZSBmcmllbmRzIGFuZCB1c2UKKyAgICAgICAg
YSBwcml2YXRlIGNvbnN0cnVjdG9yIHRoYXQgdGFrZXMgYW4gQWRvcHQgYXJndW1lbnQuCisgICAg
ICAgIChXVEY6OmFkb3B0Q0YpOiBNb3ZlZCB0aGUgT2JqZWN0aXZlLUMgY2xhc3MgY2hlY2sgaW4g
aGVyZS4KKyAgICAgICAgKFdURjo6YWRvcHROUyk6IE1vdmVkIHRoZSBjb2RlIHRvIGRlYWwgd2l0
aCB0aGUgQ0ZSZXRhaW4gZm9yIGdhcmJhZ2UgY29sbGVjdGlvbgorICAgICAgICBpbiBoZXJlOyBp
dCB1c2VkIHRvIGJlIHNwcmVhZCBhY3Jvc3MgdGhlIGNvbnN0cnVjdG9yIGFuZCBhZG9wdE5TUmVm
ZXJlbmNlLgorCiAyMDE0LTA1LTAxICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29t
PgogCiAgICAgICAgIEZpeCBoYW5kbGluZyBvZiBhdHRyaWJ1dGVzIHByaW9yIHRvIGNvbXBpbGlu
ZyBzaGFkZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1JldGFpblB0ci5oIGIvU291cmNl
L1dURi93dGYvUmV0YWluUHRyLmgKaW5kZXggOWNmNTI2NzAxZWVmOTQ4MTc3NWFlYWU3OTA4NWQx
YzRjMzY5Y2I2Yy4uNTEwNWY5NGE1ZDAwMzIxOTdlNTIxNmIwMDhmOWM2MTBkNDliMDZiOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dURi93dGYvUmV0YWluUHRyLmgKKysrIGIvU291cmNlL1dURi93dGYv
UmV0YWluUHRyLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogIENvcHlyaWdodCAoQykgMjAwNSwg
MjAwNiwgMjAwNywgMjAwOCwgMjAxMCwgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKiAgQ29weXJpZ2h0IChDKSAyMDA1LCAyMDA2LCAyMDA3LCAyMDA4LCAyMDEwLCAyMDEz
LCAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiAgVGhpcyBsaWJy
YXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICog
IG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljCkBAIC00OCwyOSArNDgsMTAgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgLy8gVW5saWtlIG1v
c3QgbW9zdCBvZiBvdXIgc21hcnQgcG9pbnRlcnMsIFJldGFpblB0ciBjYW4gdGFrZSBlaXRoZXIg
dGhlIHBvaW50ZXIgdHlwZSBvciB0aGUgcG9pbnRlZC10byB0eXBlLAogICAgIC8vIHNvIGJvdGgg
UmV0YWluUHRyPE5TRGljdGlvbmFyeT4gYW5kIFJldGFpblB0cjxDRkRpY3Rpb25hcnlSZWY+IHdp
bGwgd29yay4KIAotI2lmICFQTEFURk9STShJT1MpCi0gICAgI2RlZmluZSBBZG9wdENGIERlcHJl
Y2F0ZWRBZG9wdENGCi0gICAgI2RlZmluZSBBZG9wdE5TIERlcHJlY2F0ZWRBZG9wdE5TCi0jZW5k
aWYKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBSZXRhaW5QdHI7CiAKLSAgICBlbnVt
IEFkb3B0Q0ZUYWcgeyBBZG9wdENGIH07Ci0gICAgZW51bSBBZG9wdE5TVGFnIHsgQWRvcHROUyB9
OwotICAgIAotI2lmIGRlZmluZWQoX19PQkpDX18pICYmICFfX2hhc19mZWF0dXJlKG9iamNfYXJj
KQotI2lmZGVmIE9CSkNfTk9fR0MKLSAgICBpbmxpbmUgdm9pZCBhZG9wdE5TUmVmZXJlbmNlKGlk
KQotICAgIHsKLSAgICB9Ci0jZWxzZQotICAgIGlubGluZSB2b2lkIGFkb3B0TlNSZWZlcmVuY2Uo
aWQgcHRyKQotICAgIHsKLSAgICAgICAgaWYgKHB0cikgewotICAgICAgICAgICAgQ0ZSZXRhaW4o
cHRyKTsKLSAgICAgICAgICAgIFtwdHIgcmVsZWFzZV07Ci0gICAgICAgIH0KLSAgICB9Ci0jZW5k
aWYKLSNlbmRpZgorICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IFJldGFpblB0cjxUPiBhZG9wdENG
KFQgQ0ZfUkVMRUFTRVNfQVJHVU1FTlQpIFdBUk5fVU5VU0VEX1JFVFVSTjsKKyAgICB0ZW1wbGF0
ZTx0eXBlbmFtZSBUPiBSZXRhaW5QdHI8VD4gYWRvcHROUyhUIE5TX1JFTEVBU0VTX0FSR1VNRU5U
KSBXQVJOX1VOVVNFRF9SRVRVUk47CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBS
ZXRhaW5QdHIgewogICAgIHB1YmxpYzoKQEAgLTc4LDI3ICs1OSw5IEBAIG5hbWVzcGFjZSBXVEYg
ewogICAgICAgICB0eXBlZGVmIFZhbHVlVHlwZSogUHRyVHlwZTsKICAgICAgICAgdHlwZWRlZiBD
RlR5cGVSZWYgU3RvcmFnZVR5cGU7CiAKLSAgICAgICAgUmV0YWluUHRyKCkgOiBtX3B0cigwKSB7
fQorICAgICAgICBSZXRhaW5QdHIoKSA6IG1fcHRyKG51bGxwdHIpIHsgfQogICAgICAgICBSZXRh
aW5QdHIoUHRyVHlwZSBwdHIpIDogbV9wdHIodG9TdG9yYWdlVHlwZShwdHIpKSB7IGlmIChtX3B0
cikgQ0ZSZXRhaW4obV9wdHIpOyB9CiAKLSAgICAgICAgUmV0YWluUHRyKEFkb3B0Q0ZUYWcsIFB0
clR5cGUgcHRyKQotICAgICAgICAgICAgOiBtX3B0cih0b1N0b3JhZ2VUeXBlKHB0cikpCi0gICAg
ICAgIHsKLSNpZmRlZiBfX09CSkNfXwotICAgICAgICAgICAgc3RhdGljX2Fzc2VydCgoIXN0ZDo6
aXNfY29udmVydGlibGU8VCwgaWQ+Ojp2YWx1ZSksICJEb24ndCB1c2UgYWRvcHRDRiB3aXRoIE9i
amVjdGl2ZS1DIHBvaW50ZXIgdHlwZXMsIHVzZSBhZG9wdE5TLiIpOwotI2VuZGlmCi0gICAgICAg
IH0KLQotI2lmIF9faGFzX2ZlYXR1cmUob2JqY19hcmMpCi0gICAgICAgIFJldGFpblB0cihBZG9w
dE5TVGFnLCBQdHJUeXBlIHB0cikgOiBtX3B0cih0b1N0b3JhZ2VUeXBlKHB0cikpIHsgaWYgKG1f
cHRyKSBDRlJldGFpbihtX3B0cik7IH0KLSNlbHNlCi0gICAgICAgIFJldGFpblB0cihBZG9wdE5T
VGFnLCBQdHJUeXBlIHB0cikKLSAgICAgICAgICAgIDogbV9wdHIodG9TdG9yYWdlVHlwZShwdHIp
KQotICAgICAgICB7Ci0gICAgICAgICAgICBhZG9wdE5TUmVmZXJlbmNlKHB0cik7Ci0gICAgICAg
IH0KLSNlbmRpZgotICAgICAgICAKICAgICAgICAgUmV0YWluUHRyKGNvbnN0IFJldGFpblB0ciYg
bykgOiBtX3B0cihvLm1fcHRyKSB7IGlmIChTdG9yYWdlVHlwZSBwdHIgPSBtX3B0cikgQ0ZSZXRh
aW4ocHRyKTsgfQogCiAgICAgICAgIFJldGFpblB0cihSZXRhaW5QdHImJiBvKSA6IG1fcHRyKHRv
U3RvcmFnZVR5cGUoby5sZWFrUmVmKCkpKSB7IH0KQEAgLTEyNCw3ICs4Nyw3IEBAIG5hbWVzcGFj
ZSBXVEYgewogICAgIAogICAgICAgICAvLyBUaGlzIGNvbnZlcnNpb24gb3BlcmF0b3IgYWxsb3dz
IGltcGxpY2l0IGNvbnZlcnNpb24gdG8gYm9vbCBidXQgbm90IHRvIG90aGVyIGludGVnZXIgdHlw
ZXMuCiAgICAgICAgIHR5cGVkZWYgU3RvcmFnZVR5cGUgUmV0YWluUHRyOjoqVW5zcGVjaWZpZWRC
b29sVHlwZTsKLSAgICAgICAgb3BlcmF0b3IgVW5zcGVjaWZpZWRCb29sVHlwZSgpIGNvbnN0IHsg
cmV0dXJuIG1fcHRyID8gJlJldGFpblB0cjo6bV9wdHIgOiAwOyB9CisgICAgICAgIG9wZXJhdG9y
IFVuc3BlY2lmaWVkQm9vbFR5cGUoKSBjb25zdCB7IHJldHVybiBtX3B0ciA/ICZSZXRhaW5QdHI6
Om1fcHRyIDogbnVsbHB0cjsgfQogICAgICAgICAKICAgICAgICAgUmV0YWluUHRyJiBvcGVyYXRv
cj0oY29uc3QgUmV0YWluUHRyJik7CiAgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIFU+IFJldGFp
blB0ciYgb3BlcmF0b3I9KGNvbnN0IFJldGFpblB0cjxVPiYpOwpAQCAtMTM2LDcgKzk5LDEzIEBA
IG5hbWVzcGFjZSBXVEYgewogCiAgICAgICAgIHZvaWQgc3dhcChSZXRhaW5QdHImKTsKIAorICAg
ICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBVPiBmcmllbmQgUmV0YWluUHRyPFU+IGFkb3B0Q0YoVSBD
Rl9SRUxFQVNFU19BUkdVTUVOVCkgV0FSTl9VTlVTRURfUkVUVVJOOworICAgICAgICB0ZW1wbGF0
ZTx0eXBlbmFtZSBVPiBmcmllbmQgUmV0YWluUHRyPFU+IGFkb3B0TlMoVSBOU19SRUxFQVNFU19B
UkdVTUVOVCkgV0FSTl9VTlVTRURfUkVUVVJOOworCiAgICAgcHJpdmF0ZToKKyAgICAgICAgZW51
bSBBZG9wdFRhZyB7IEFkb3B0IH07CisgICAgICAgIFJldGFpblB0cihQdHJUeXBlIHB0ciwgQWRv
cHRUYWcpIDogbV9wdHIodG9TdG9yYWdlVHlwZShwdHIpKSB7IH0KKwogICAgICAgICBzdGF0aWMg
UHRyVHlwZSBoYXNoVGFibGVEZWxldGVkVmFsdWUoKSB7IHJldHVybiByZWludGVycHJldF9jYXN0
PFB0clR5cGU+KC0xKTsgfQogCiAjaWYgZGVmaW5lZCAoX19PQkpDX18pICYmIF9faGFzX2ZlYXR1
cmUob2JqY19hcmMpCkBAIC0xNjUsNiArMTM0LDkgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgICAg
IFN0b3JhZ2VUeXBlIG1fcHRyOwogICAgIH07CiAKKyAgICAvLyBIZWxwZXIgZnVuY3Rpb24gZm9y
IGNyZWF0aW5nIGEgUmV0YWluUHRyIHVzaW5nIHRlbXBsYXRlIGFyZ3VtZW50IGRlZHVjdGlvbi4K
KyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBpbmxpbmUgUmV0YWluUHRyPFQ+IHJldGFpblB0cihU
KSBXQVJOX1VOVVNFRF9SRVRVUk47CisKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiB0ZW1wbGF0
ZTx0eXBlbmFtZSBVPiBpbmxpbmUgUmV0YWluUHRyPFQ+OjpSZXRhaW5QdHIoY29uc3QgUmV0YWlu
UHRyPFU+JiBvKQogICAgICAgICA6IG1fcHRyKHRvU3RvcmFnZVR5cGUoby5nZXQoKSkpCiAgICAg
ewpAQCAtMTc1LDcgKzE0Nyw3IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIHRlbXBsYXRlPHR5cGVu
YW1lIFQ+IGlubGluZSB2b2lkIFJldGFpblB0cjxUPjo6Y2xlYXIoKQogICAgIHsKICAgICAgICAg
aWYgKFN0b3JhZ2VUeXBlIHB0ciA9IG1fcHRyKSB7Ci0gICAgICAgICAgICBtX3B0ciA9IDA7Cisg
ICAgICAgICAgICBtX3B0ciA9IG51bGxwdHI7CiAgICAgICAgICAgICBDRlJlbGVhc2UocHRyKTsK
ICAgICAgICAgfQogICAgIH0KQEAgLTE4Myw3ICsxNTUsNyBAQCBuYW1lc3BhY2UgV1RGIHsKICAg
ICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBpbmxpbmUgdHlwZW5hbWUgUmV0YWluUHRyPFQ+OjpQdHJU
eXBlIFJldGFpblB0cjxUPjo6bGVha1JlZigpCiAgICAgewogICAgICAgICBQdHJUeXBlIHB0ciA9
IGZyb21TdG9yYWdlVHlwZShtX3B0cik7Ci0gICAgICAgIG1fcHRyID0gMDsKKyAgICAgICAgbV9w
dHIgPSBudWxscHRyOwogICAgICAgICByZXR1cm4gcHRyOwogICAgIH0KIApAQCAtMjY5LDIzICsy
NDEsMzIgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgICAgIHJldHVybiBhICE9IGIuZ2V0KCk7IAog
ICAgIH0KIAotICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGlubGluZSBSZXRhaW5QdHI8VD4gYWRv
cHRDRihUIENGX1JFTEVBU0VTX0FSR1VNRU5UKSBXQVJOX1VOVVNFRF9SRVRVUk47Ci0gICAgdGVt
cGxhdGU8dHlwZW5hbWUgVD4gaW5saW5lIFJldGFpblB0cjxUPiBhZG9wdENGKFQgQ0ZfUkVMRUFT
RVNfQVJHVU1FTlQgbykKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBpbmxpbmUgUmV0YWluUHRy
PFQ+IGFkb3B0Q0YoVCBDRl9SRUxFQVNFU19BUkdVTUVOVCBwdHIpCiAgICAgewotICAgICAgICBy
ZXR1cm4gUmV0YWluUHRyPFQ+KEFkb3B0Q0YsIG8pOworI2lmZGVmIF9fT0JKQ19fCisgICAgICAg
IHN0YXRpY19hc3NlcnQoKCFzdGQ6OmlzX2NvbnZlcnRpYmxlPFQsIGlkPjo6dmFsdWUpLCAiRG9u
J3QgdXNlIGFkb3B0Q0Ygd2l0aCBPYmplY3RpdmUtQyBwb2ludGVyIHR5cGVzLCB1c2UgYWRvcHRO
Uy4iKTsKKyNlbmRpZgorICAgICAgICByZXR1cm4gUmV0YWluUHRyPFQ+KHB0ciwgUmV0YWluUHRy
PFQ+OjpBZG9wdCk7CiAgICAgfQogCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gaW5saW5lIFJl
dGFpblB0cjxUPiBhZG9wdE5TKFQgTlNfUkVMRUFTRVNfQVJHVU1FTlQpIFdBUk5fVU5VU0VEX1JF
VFVSTjsKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBpbmxpbmUgUmV0YWluUHRyPFQ+IGFkb3B0
TlMoVCBOU19SRUxFQVNFU19BUkdVTUVOVCBvKQorI2lmZGVmIF9fT0JKQ19fCisgICAgdGVtcGxh
dGU8dHlwZW5hbWUgVD4gaW5saW5lIFJldGFpblB0cjxUPiBhZG9wdE5TKFQgTlNfUkVMRUFTRVNf
QVJHVU1FTlQgcHRyKQogICAgIHsKLSAgICAgICAgcmV0dXJuIFJldGFpblB0cjxUPihBZG9wdE5T
LCBvKTsKKyNpZiBfX2hhc19mZWF0dXJlKG9iamNfYXJjKQorICAgICAgICByZXR1cm4gcHRyOwor
I2VsaWYgZGVmaW5lZChPQkpDX05PX0dDKQorICAgICAgICByZXR1cm4gUmV0YWluUHRyPFQ+KHB0
ciwgUmV0YWluUHRyPFQ+OjpBZG9wdCk7CisjZWxzZQorICAgICAgICBSZXRhaW5QdHI8VD4gcmVz
dWx0ID0gcHRyOworICAgICAgICBbcHRyIHJlbGVhc2VdOworICAgICAgICByZXR1cm4gcmVzdWx0
OworI2VuZGlmCiAgICAgfQorI2VuZGlmCiAKLSAgICAvLyBIZWxwZXIgZnVuY3Rpb24gZm9yIGNy
ZWF0aW5nIGEgUmV0YWluUHRyIHVzaW5nIHRlbXBsYXRlIGFyZ3VtZW50IGRlZHVjdGlvbi4KLSAg
ICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBpbmxpbmUgUmV0YWluUHRyPFQ+IHJldGFpblB0cihUKSBX
QVJOX1VOVVNFRF9SRVRVUk47Ci0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gaW5saW5lIFJldGFp
blB0cjxUPiByZXRhaW5QdHIoVCBvKQorICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGlubGluZSBS
ZXRhaW5QdHI8VD4gcmV0YWluUHRyKFQgcHRyKQogICAgIHsKLSAgICAgICAgcmV0dXJuIG87Cisg
ICAgICAgIHJldHVybiBwdHI7CiAgICAgfQogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgUD4gc3Ry
dWN0IEhhc2hUcmFpdHM8UmV0YWluUHRyPFA+PiA6IFNpbXBsZUNsYXNzSGFzaFRyYWl0czxSZXRh
aW5QdHI8UD4+IHsgfTsKQEAgLTMyNCwxMSArMzA1LDYgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAg
ICAgIHN0YXRpYyBjb25zdCBib29sIHNhZmVUb0NvbXBhcmVUb0VtcHR5T3JEZWxldGVkID0gZmFs
c2U7CiAgICAgfTsKIAotI2lmICFQTEFURk9STShJT1MpCi0gICAgI3VuZGVmIEFkb3B0Q0YKLSAg
ICAjdW5kZWYgQWRvcHROUwotI2VuZGlmCi0KIH0gLy8gbmFtZXNwYWNlIFdURgogCiB1c2luZyBX
VEY6OlJldGFpblB0cjsKQEAgLTMzNiwxMSArMzEyLDYgQEAgdXNpbmcgV1RGOjphZG9wdENGOwog
dXNpbmcgV1RGOjphZG9wdE5TOwogdXNpbmcgV1RGOjpyZXRhaW5QdHI7CiAKLSNpZiBQTEFURk9S
TShJT1MpCi11c2luZyBXVEY6OkFkb3B0Q0Y7Ci11c2luZyBXVEY6OkFkb3B0TlM7Ci0jZW5kaWYK
LQogI2VuZGlmIC8vIFVTRShDRikgfHwgZGVmaW5lZChfX09CSkNfXykKIAogI2VuZGlmIC8vIFdU
Rl9SZXRhaW5QdHJfaApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdl
TG9nCmluZGV4IDMwN2Q4N2NiMzIxYTA2NjIwODkzZGJlMWJkMDY4YmMyNWZkOTkxYTAuLjI0YWVh
YWE2ZDNkMWUzZmUwZjhkZDQyZDkyOGJiZThiYjkwYWM5ZDIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0No
YW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAxNC0wNS0w
NCAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CisKKyAgICAgICAgUmV0YWluUHRyOiBV
c2UgYWRvcHRDRiBmdW5jdGlvbiBpbnN0ZWFkIG9mIEFkb3B0Q0YgY29uc3RydWN0b3IgYXJndW1l
bnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwMjIy
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBEdW1w
UmVuZGVyVHJlZS9tYWMvVGVzdFJ1bm5lck1hYy5tbToKKyAgICAgICAgKC1bQVBJVGVzdERlbGVn
YXRlSVBob25lIGluaXRXaXRoVGVzdFJ1bm5lcjp1dGY4RGF0YTpiYXNlVVJMOl0pOiBVcGRhdGVk
IHRvCisgICAgICAgIGRvIG1vcmUgd29yayBoZXJlIHNvIHdlIGRvbid0IHVzZSBSZXRhaW5QdHIg
bG9jYWwgdmFyaWFibGVzLgorICAgICAgICAoLVtBUElUZXN0RGVsZWdhdGVJUGhvbmUgZGVhbGxv
Y10pOiBBZGRlZC4KKyAgICAgICAgKC1bQVBJVGVzdERlbGVnYXRlSVBob25lIHJ1bl0pOiBBZGRl
ZCBhbiBlYXJseSBleGl0IGlmIHRoZSB3ZWIgdmlldyBpcyBhbHJlYWR5CisgICAgICAgIGNyZWF0
ZWQuIFVwZGF0ZWQgZm9yIGNoYW5nZXMgdG8gbWVtYmVyIG5hbWVzIGFuZCB0eXBlcy4KKyAgICAg
ICAgKC1bQVBJVGVzdERlbGVnYXRlSVBob25lIF9jbGVhblVwXSk6IEFkZGVkIGNvZGUgdG8gc2V0
IHdlYlZpZXcgdG8gbmlsIGFuZAorICAgICAgICB1cGRhdGVkIGZvciBjaGFuZ2VzIHRvIG1lbWJl
ciBuYW1lcyBhbmQgdHlwZXMuIENoYW5nZWQgdG8gdHdvIHdvcmQgc3BlbGxpbmcuCisgICAgICAg
ICgtW0FQSVRlc3REZWxlZ2F0ZUlQaG9uZSB3ZWJWaWV3OmRpZEZhaWxMb2FkV2l0aEVycm9yOmZv
ckZyYW1lOl0pOiBVcGRhdGVkCisgICAgICAgIG5hbWUgb2YgX2NsZWFuVXAgbWV0aG9kLgorICAg
ICAgICAoLVtBUElUZXN0RGVsZWdhdGVJUGhvbmUgd2ViVmlldzpkaWRGYWlsUHJvdmlzaW9uYWxM
b2FkV2l0aEVycm9yOmZvckZyYW1lOl0pOgorICAgICAgICBEaXR0by4KKyAgICAgICAgKC1bQVBJ
VGVzdERlbGVnYXRlSVBob25lIHdlYlZpZXc6ZGlkRmluaXNoTG9hZEZvckZyYW1lOl0pOiBEaXR0
by4KKwogMjAxNC0wNS0wMiAgTWFyayBSb3dlICA8bXJvd2VAYXBwbGUuY29tPgogCiAgICAgICAg
IDxodHRwczovL3dlYmtpdC5vcmcvYi8xMzI1MDU+IE1ha2UgaXQgcG9zc2libGUgdG8gdGVsbCBj
b3B5LXdlYmtpdGxpYnJhcmllcy10by1wcm9kdWN0LWRpcmVjdG9yeSB3aGljaCBPUyBYIHZlcnNp
b24gdG8gY29weSBmb3IKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9UZXN0
UnVubmVyTWFjLm1tIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL1Rlc3RSdW5uZXJNYWMubW0K
aW5kZXggMjk0MGE3MDc1MTQ0MjJjOWMwZDFiYzUxZTQ5NGM5NTYzZTc3MjI1ZS4uYzM5Mjc1ZTc3
NGE5ODFhNGYxMTM0MmU1OWYyODFhMjkyNTk2NWFkNiAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJl
bmRlclRyZWUvbWFjL1Rlc3RSdW5uZXJNYWMubW0KKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUv
bWFjL1Rlc3RSdW5uZXJNYWMubW0KQEAgLTkyMiw3NyArOTIyLDg4IEBAIC0gKHZvaWQpd2ViVmll
dzooV2ViVmlldyAqKXNlbmRlciBkaWRGaW5pc2hMb2FkRm9yRnJhbWU6KFdlYkZyYW1lICopZnJh
bWUKIEBlbmQKIAogI2lmIFBMQVRGT1JNKElPUykKKwogQGludGVyZmFjZSBBUElUZXN0RGVsZWdh
dGVJUGhvbmUgOiBOU09iamVjdAogewotICAgIFRlc3RSdW5uZXIqIG1fbGF5b3V0VGVzdFJ1bm5l
cjsKLSAgICBKU1N0cmluZ1JlZiBtX3V0ZjhEYXRhOwotICAgIEpTU3RyaW5nUmVmIG1fYmFzZVVS
TDsKLSAgICBXZWJWaWV3ICptX3dlYlZpZXc7CisgICAgVGVzdFJ1bm5lciYgdGVzdFJ1bm5lcjsK
KyAgICBOU0RhdGEgKmRhdGE7CisgICAgTlNVUkwgKmJhc2VVUkw7CisgICAgV2ViVmlldyAqd2Vi
VmlldzsKIH0KLQotLSAoaWQpaW5pdFdpdGhUZXN0UnVubmVyOihUZXN0UnVubmVyKilsYXlvdXRU
ZXN0UnVubmVyIHV0ZjhEYXRhOihKU1N0cmluZ1JlZil1dGY4RGF0YSBiYXNlVVJMOihKU1N0cmlu
Z1JlZiliYXNlVVJMOworLSAoaWQpaW5pdFdpdGhUZXN0UnVubmVyOihUZXN0UnVubmVyKil0ZXN0
UnVubmVyIHV0ZjhEYXRhOihKU1N0cmluZ1JlZilkYXRhIGJhc2VVUkw6KEpTU3RyaW5nUmVmKWJh
c2VVUkw7CiAtICh2b2lkKXJ1bjsKIEBlbmQKIAogQGltcGxlbWVudGF0aW9uIEFQSVRlc3REZWxl
Z2F0ZUlQaG9uZQogCi0tIChpZClpbml0V2l0aFRlc3RSdW5uZXI6KFRlc3RSdW5uZXIqKWxheW91
dFRlc3RSdW5uZXIgdXRmOERhdGE6KEpTU3RyaW5nUmVmKXV0ZjhEYXRhIGJhc2VVUkw6KEpTU3Ry
aW5nUmVmKWJhc2VVUkwKKy0gKGlkKWluaXRXaXRoVGVzdFJ1bm5lcjooVGVzdFJ1bm5lciopcnVu
bmVyIHV0ZjhEYXRhOihKU1N0cmluZ1JlZilkYXRhIGJhc2VVUkw6KEpTU3RyaW5nUmVmKWJhc2VV
UkwKIHsKICAgICBzZWxmID0gW3N1cGVyIGluaXRdOwogICAgIGlmICghc2VsZikKICAgICAgICAg
cmV0dXJuIG5pbDsKIAotICAgIG1fbGF5b3V0VGVzdFJ1bm5lciA9IGxheW91dFRlc3RSdW5uZXI7
Ci0gICAgbV91dGY4RGF0YSA9IHV0ZjhEYXRhOwotICAgIG1fYmFzZVVSTCA9IGJhc2VVUkw7Cisg
ICAgdGVzdFJ1bm5lciA9ICpydW5uZXI7CisgICAgZGF0YSA9IFtbKE5TU3RyaW5nICopYWRvcHRD
RihKU1N0cmluZ0NvcHlDRlN0cmluZyhrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBkYXRhKSkuZ2V0KCkg
ZGF0YVVzaW5nRW5jb2Rpbmc6TlNVVEY4U3RyaW5nRW5jb2RpbmddIHJldGFpbl07CisgICAgYmFz
ZVVSTCA9IFtbTlNVUkwgVVJMV2l0aFN0cmluZzooTlNTdHJpbmcgKilhZG9wdENGKEpTU3RyaW5n
Q29weUNGU3RyaW5nKGtDRkFsbG9jYXRvckRlZmF1bHQsIGJhc2VVUkwpLmdldCgpKV0gcmV0YWlu
XTsKICAgICByZXR1cm4gc2VsZjsKIH0KIAorLSAodm9pZClkZWFsbG9jCit7CisgICAgW2RhdGEg
cmVsZWFzZV07CisgICAgW2Jhc2VVUkwgcmVsZWFzZV07CisgICAgW3N1cGVyIGRlYWxsb2NdOwor
fQorCiAtICh2b2lkKXJ1bgogewotICAgIG1fbGF5b3V0VGVzdFJ1bm5lci0+c2V0V2FpdFRvRHVt
cCh0cnVlKTsKKyAgICBpZiAod2ViVmlldykKKyAgICAgICAgcmV0dXJuOwogCi0gICAgUmV0YWlu
UHRyPENGU3RyaW5nUmVmPiB1dGY4RGF0YUNGKEFkb3B0Q0YsIEpTU3RyaW5nQ29weUNGU3RyaW5n
KGtDRkFsbG9jYXRvckRlZmF1bHQsIG1fdXRmOERhdGEpKTsKLSAgICBSZXRhaW5QdHI8Q0ZTdHJp
bmdSZWY+IGJhc2VVUkxDRihBZG9wdENGLCBKU1N0cmluZ0NvcHlDRlN0cmluZyhrQ0ZBbGxvY2F0
b3JEZWZhdWx0LCBtX2Jhc2VVUkwpKTsKLSAgICBtX3V0ZjhEYXRhID0gTlVMTDsKLSAgICBtX2Jh
c2VVUkwgPSBOVUxMOworICAgIHRlc3RSdW5uZXIuc2V0V2FpdFRvRHVtcCh0cnVlKTsKIAogICAg
IFdlYlRocmVhZExvY2soKTsKLSAgICBtX3dlYlZpZXcgPSBbW1dlYlZpZXcgYWxsb2NdIGluaXRX
aXRoRnJhbWU6TlNaZXJvUmVjdCBmcmFtZU5hbWU6QCIiIGdyb3VwTmFtZTpAIiJdOwotICAgIFtt
X3dlYlZpZXcgc2V0RnJhbWVMb2FkRGVsZWdhdGU6c2VsZl07CiAKLSAgICBbW21fd2ViVmlldyBt
YWluRnJhbWVdIGxvYWREYXRhOlsoTlNTdHJpbmcgKil1dGY4RGF0YUNGLmdldCgpIGRhdGFVc2lu
Z0VuY29kaW5nOk5TVVRGOFN0cmluZ0VuY29kaW5nXSBNSU1FVHlwZTpAInRleHQvaHRtbCIgdGV4
dEVuY29kaW5nTmFtZTpAInV0Zi04IiBiYXNlVVJMOltOU1VSTCBVUkxXaXRoU3RyaW5nOihOU1N0
cmluZyAqKWJhc2VVUkxDRi5nZXQoKV1dOworICAgIHdlYlZpZXcgPSBbW1dlYlZpZXcgYWxsb2Nd
IGluaXRXaXRoRnJhbWU6TlNaZXJvUmVjdCBmcmFtZU5hbWU6QCIiIGdyb3VwTmFtZTpAIiJdOwor
ICAgIFt3ZWJWaWV3IHNldEZyYW1lTG9hZERlbGVnYXRlOnNlbGZdOworICAgIFtbd2ViVmlldyBt
YWluRnJhbWVdIGxvYWREYXRhOmRhdGEgTUlNRVR5cGU6QCJ0ZXh0L2h0bWwiIHRleHRFbmNvZGlu
Z05hbWU6QCJ1dGYtOCIgYmFzZVVSTDpiYXNlVVJMXTsKIH0KIAotLSAodm9pZClfY2xlYW51cAor
LSAodm9pZClfY2xlYW5VcAogeworICAgIGlmICghd2ViVmlldykKKyAgICAgICAgcmV0dXJuOwor
CiAgICAgV2ViVGhyZWFkTG9jaygpOwotICAgIFttX3dlYlZpZXcgX2NsZWFyRGVsZWdhdGVzXTsK
LSAgICBbbV93ZWJWaWV3IGNsb3NlXTsKLSAgICBbbV93ZWJWaWV3IHJlbGVhc2VdOwogCi0gICAg
bV9sYXlvdXRUZXN0UnVubmVyLT5ub3RpZnlEb25lKCk7CisgICAgW3dlYlZpZXcgX2NsZWFyRGVs
ZWdhdGVzXTsKKyAgICBbd2ViVmlldyBjbG9zZV07CisgICAgW3dlYlZpZXcgcmVsZWFzZV07Cisg
ICAgd2ViVmlldyA9IG5pbDsKKworICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwogfQogCiAt
ICh2b2lkKXdlYlZpZXc6KFdlYlZpZXcgKilzZW5kZXIgZGlkRmFpbExvYWRXaXRoRXJyb3I6KE5T
RXJyb3IgKillcnJvciBmb3JGcmFtZTooV2ViRnJhbWUgKilmcmFtZQogewogICAgIHByaW50Zigi
QVBJIFRlc3QgbG9hZCBmYWlsZWRcbiIpOwotICAgIFtzZWxmIF9jbGVhbnVwXTsKKyAgICBbc2Vs
ZiBfY2xlYW5VcF07CiB9CiAKIC0gKHZvaWQpd2ViVmlldzooV2ViVmlldyAqKXNlbmRlciBkaWRG
YWlsUHJvdmlzaW9uYWxMb2FkV2l0aEVycm9yOihOU0Vycm9yICopZXJyb3IgZm9yRnJhbWU6KFdl
YkZyYW1lICopZnJhbWUKIHsKICAgICBwcmludGYoIkFQSSBUZXN0IGxvYWQgZmFpbGVkIHByb3Zp
c2lvbmFsXG4iKTsKLSAgICBbc2VsZiBfY2xlYW51cF07CisgICAgW3NlbGYgX2NsZWFuVXBdOwog
fQogCiAtICh2b2lkKXdlYlZpZXc6KFdlYlZpZXcgKilzZW5kZXIgZGlkRmluaXNoTG9hZEZvckZy
YW1lOihXZWJGcmFtZSAqKWZyYW1lCiB7CiAgICAgcHJpbnRmKCJBUEkgVGVzdCBsb2FkIHN1Y2Nl
ZWRlZFxuIik7Ci0gICAgW3NlbGYgX2NsZWFudXBdOworICAgIFtzZWxmIF9jbGVhblVwXTsKIH0K
IAogQGVuZAorCiAjZW5kaWYKIAogdm9pZCBUZXN0UnVubmVyOjphcGlUZXN0TmV3V2luZG93RGF0
YUxvYWRCYXNlVVJMKEpTU3RyaW5nUmVmIHV0ZjhEYXRhLCBKU1N0cmluZ1JlZiBiYXNlVVJMKQo=
</data>
<flag name="review"
          id="255183"
          type_id="1"
          status="+"
          setter="ap"
    />
          </attachment>
      

    </bug>

</bugzilla>