<?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>232200</bug_id>
          
          <creation_ts>2021-10-23 10:05:11 -0700</creation_ts>
          <short_desc>[Cocoa] Adopt bridge_cast and makeVector in a few more places, including cases where adoptCF/NS was used incorrectly</short_desc>
          <delta_ts>2021-10-24 11:24:30 -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>WebKit Misc.</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>232218</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>andersca</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1808089</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-10-23 10:05:11 -0700</bug_when>
    <thetext>[Cocoa] Adopt bridge_cast and makeVector in a few more places, including cases where adoptCF/NS was used incorrectly</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1808147</commentid>
    <comment_count>1</comment_count>
      <attachid>442286</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-10-23 17:35:33 -0700</bug_when>
    <thetext>Created attachment 442286
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1808230</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-10-24 11:13:28 -0700</bug_when>
    <thetext>Committed r284763 (243472@main): &lt;https://commits.webkit.org/243472@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 442286.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1808233</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-10-24 11:14:39 -0700</bug_when>
    <thetext>&lt;rdar://problem/84595427&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442286</attachid>
            <date>2021-10-23 17:35:33 -0700</date>
            <delta_ts>2021-10-24 11:13:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232200-20211023173532.patch</filename>
            <type>text/plain</type>
            <size>22314</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0NzQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGQxYjMxNDNjZTQ3ZGZiODY5MzYwMTYx
ZGM4NzAwMDY5NWYyZTE0MDUuLmM3MGU4MDI1ODYxOTk2MDc4Y2VjODhiZTg0YzU3NzZhODhiMTUw
YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMTAtMjMgIERhcmluIEFkbGVyICA8ZGFyaW5A
YXBwbGUuY29tPgorCisgICAgICAgIFtDb2NvYV0gQWRvcHQgYnJpZGdlX2Nhc3QgYW5kIG1ha2VW
ZWN0b3IgaW4gYSBmZXcgbW9yZSBwbGFjZXMsIGluY2x1ZGluZyBjYXNlcyB3aGVyZSBhZG9wdENG
L05TIHdhcyB1c2VkIGluY29ycmVjdGx5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMzIyMDAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIHd0Zi9jb2NvYS9VUkxDb2NvYS5tbToKKyAgICAgICAgKFdURjo6
VVJMOjpVUkwpOiBVc2UgYnJpZGdlX2Nhc3QuCisgICAgICAgIChXVEY6OlVSTDo6Y3JlYXRlQ0ZV
UkwgY29uc3QpOiBEaXR0bywgdXNpbmcgdGhlIFJldGFpblB0ciB2ZXJzaW9uIHRvIGF2b2lkCisg
ICAgICAgIHJldGFpbiBjb3VudCBjaHVybi4KKwogMjAyMS0xMC0yMyAgQWxhbiBCdWp0YXMgIDx6
YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11bSUZDXSBCcmVha2luZyBiZWZvcmUgaHlw
aGVuIGlzIG9ubHkgYWxsb3dlZCB3aGVuIGxpbmUtYnJlYWsgaXMgbG9vc2UKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRl
eCA5MTVhMjkwMjExZjYxMDgxOWFhYzIxN2UyNDkwNmYwOGJjN2NkYTNkLi5iOWVjYjFiNDg0Y2Vl
MjUxZDRiY2JkYzVlZGNjOTM5ODhmODAwOTgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzAgQEAK
KzIwMjEtMTAtMjMgIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgorCisgICAgICAgIFtD
b2NvYV0gQWRvcHQgYnJpZGdlX2Nhc3QgYW5kIG1ha2VWZWN0b3IgaW4gYSBmZXcgbW9yZSBwbGFj
ZXMsIGluY2x1ZGluZyBjYXNlcyB3aGVyZSBhZG9wdENGL05TIHdhcyB1c2VkIGluY29ycmVjdGx5
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzIyMDAK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRm
b3JtL2NvY29hL1NoYXJlZEJ1ZmZlckNvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6U2hhcmVk
QnVmZmVyOjpjcmVhdGUpOiBVc2UgYnJpZGdlX2Nhc3QuCisgICAgICAgIChXZWJDb3JlOjpTaGFy
ZWRCdWZmZXI6OmFwcGVuZCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6U2hhcmVkQnVmZmVy
OjpjcmVhdGVOU0RhdGEgY29uc3QpOiBEaXR0by4gSGVyZSB3ZSBhcmUgcmVwbGFjaW5nCisgICAg
ICAgIGEgbGVha1JlZi9hZG9wdE5TIHBhaXIsIHNvIHRoaXMgZml4ZXMgYW4gQVJDIGluY29tcGF0
aWJpbGl0eS4KKyAgICAgICAgKFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcjo6Y3JlYXRlQ0ZEYXRhIGNv
bnN0KTogRGl0dG8uIEhlcmUgd2UgYXJlIHJlcGxhY2luZworICAgICAgICBhIGxlYWtSZWYvYWRv
cHRDRiBwYWlyLCBzbyB0aGlzIGZpeGVzIGFuIEFSQyBpbmNvbXBhdGliaWxpdHkuCisgICAgICAg
IChXZWJDb3JlOjpTaGFyZWRCdWZmZXI6OmNyZWF0ZUZyb21SZWFkaW5nRmlsZSk6IFR3ZWFrZWQg
Y29kaW5nIHN0eWxlLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvSEVWQ1V0
aWxpdGllc0NvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6cGFyc2VTdHJpbmdBcnJheUZyb21E
aWN0aW9uYXJ5VG9VSW50MTZWZWN0b3IpOiBVc2UgZHluYW1pY19jZl9jYXN0LAorICAgICAgICBk
eW5hbWljX29iamNfY2FzdCwgYW5kIG1ha2VWZWN0b3IgdG8gcmVkdWNlIGNvZGUgd2l0aG91dCBi
ZWhhdmlvciBjaGFuZ2VzLgorCisgICAgICAgICogcGxhdGZvcm0vbWFjL1Bhc3RlYm9hcmRXcml0
ZXIubW06CisgICAgICAgIChXZWJDb3JlOjp0b1VUSSk6IFVzZSBicmlkZ2VfY2FzdC4KKyAgICAg
ICAgKFdlYkNvcmU6OnRvVVRJVW5sZXNzQWxyZWFkeVVUSSk6IFVzZSBicmlkZ2VfY2FzdCBhZnRl
ciBkb2luZyBhZG9wdENGCisgICAgICAgIHJhdGhlciB0aGFuIGZpcnN0IGNhc3RpbmcgYW5kIHRo
ZW4gZG9pbmcgYW4gYWRvcHROUywgcmVseWluZyBvbiBpdCBkb2luZyB0aGUKKyAgICAgICAgY29y
cmVjdCB0aGluZyBmb3IgYSBDRiBvYmplY3QuIFRoaXMgZml4ZXMgYW4gQVJDIGluY29tcGF0aWJp
bGl0eS4KKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZVBhc3RlYm9hcmRXcml0ZXIpOiBEaXR0by4K
KwogMjAyMS0xMC0yMyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAg
IGFuY2hvci5yZWxMaXN0LnN1cHBvcnRzKCJvcGVuZXIiKSBzaG91bGQgcmV0dXJuIHRydWUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKaW5kZXggODI4ZjlkZmQ5YWVmMzVjODBiNzJmNzBjNTA2NjNiNTk2Mzc5Zjg3NC4uYjQ1YWZm
NTdmNGRmZTFlMGIxZmEyMDAzY2ViNjhhZWI4ZWUyOGE5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwz
NyBAQAorMjAyMS0xMC0yMyAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CisKKyAgICAg
ICAgW0NvY29hXSBBZG9wdCBicmlkZ2VfY2FzdCBhbmQgbWFrZVZlY3RvciBpbiBhIGZldyBtb3Jl
IHBsYWNlcywgaW5jbHVkaW5nIGNhc2VzIHdoZXJlIGFkb3B0Q0YvTlMgd2FzIHVzZWQgaW5jb3Jy
ZWN0bHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIz
MjIwMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
U2hhcmVkL0NvY29hL0FyZ3VtZW50Q29kZXJzQ29jb2EubW06CisgICAgICAgICgtW1dLU2VjdXJl
Q29kaW5nVVJMV3JhcHBlciBlbmNvZGVXaXRoQ29kZXI6XSk6IFVzZSBicmlkZ2VfY2FzdC4KKyAg
ICAgICAgKC1bV0tTZWN1cmVDb2RpbmdVUkxXcmFwcGVyIGluaXRXaXRoQ29kZXI6XSk6IFVzZSBi
cmlkZ2VfY2FzdAorICAgICAgICBhZnRlciBjYWxsaW5nIGFkb3B0Q0YgcmF0aGVyIHRoYW4gZmly
c3QgZG9pbmcgYSBicmlkZ2luZyBjYXN0IGFuZAorICAgICAgICB0aGVuIGRvaW5nIGFkb3B0TlMg
YW5kIHJlbHlpbmcgb24gaXQgY29ycmVjdGx5IGFkb3B0aW5nIGEgQ0Ygb2JqZWN0LgorICAgICAg
ICBUaGlzIGZpeGVzIGFuIEFSQyBpbmNvbXBhdGliaWxpdHkuCisgICAgICAgIChJUEM6OmVuY29k
ZURhdGFJbnRlcm5hbCk6IFVzZSBicmlkZ2VfY2FzdC4KKyAgICAgICAgKElQQzo6ZGVjb2RlRGF0
YUludGVybmFsKTogVXNlIGJyaWRnZV9jYXN0L1dURk1vdmUgaW5zdGVhZCBvZgorICAgICAgICBh
ZG9wdE5TL2Nhc3QvbGVha1JlZi4gVGhpcyBmaXhlcyBhbiBBUkMgaW5jb21wYXRpYmlsaXR5Cisg
ICAgICAgIChJUEM6OmVuY29kZURhdGVJbnRlcm5hbCk6IFVzZSBicmlkZ2VfY2FzdC4KKyAgICAg
ICAgKElQQzo6ZGVjb2RlRGF0ZUludGVybmFsKTogVXNlIGJyaWRnZV9jYXN0L1dURk1vdmUgYXMg
YWJvdmUuCisgICAgICAgIChJUEM6OmVuY29kZU51bWJlckludGVybmFsKTogVXNlIGJyaWRnZV9j
YXN0LgorICAgICAgICAoSVBDOjpkZWNvZGVOdW1iZXJJbnRlcm5hbCk6IFVzZSBicmlkZ2VfY2Fz
dC9XVEZNb3ZlIGFzIGFib3ZlLgorICAgICAgICAoSVBDOjpkZWNvZGVTZWN1cmVDb2RpbmdJbnRl
cm5hbCk6IFVzZSBicmlkZ2VfY2FzdC4KKyAgICAgICAgKElQQzo6ZW5jb2RlU3RyaW5nSW50ZXJu
YWwpOiBVc2UgYnJpZGdlX2Nhc3QuCisgICAgICAgIChJUEM6OmRlY29kZVN0cmluZ0ludGVybmFs
KTogVXNlIGJyaWRnZV9jYXN0L1dURk1vdmUgYXMgYWJvdmUuCisgICAgICAgIChJUEM6OmVuY29k
ZVVSTEludGVybmFsKTogVXNlIGJyaWRnZV9jYXN0LgorICAgICAgICAoSVBDOjpkZWNvZGVVUkxJ
bnRlcm5hbCk6IFVzZSBicmlkZ2VfY2FzdC9XVEZNb3ZlIGFzIGFib3ZlLgorCisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Nvbm5lY3Rpb24ubW06CisgICAgICAgIChkaWRSZWNlaXZl
TWVzc2FnZSk6IFVzZSBicmlkZ2VfY2FzdCBhbmQgcmVtb3ZlIHVubmVlZGVkIHVzZSBvZgorICAg
ICAgICBSZXRhaW5QdHIvZ2V0IG9uIHRoZSBib2R5LgorCisgICAgICAgICogVUlQcm9jZXNzL1Bs
dWdpbnMvbWFjL1BsdWdpbkluZm9TdG9yZU1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6UGx1Z2lu
SW5mb1N0b3JlOjpwbHVnaW5QYXRoc0luRGlyZWN0b3J5KTogVXNlIGJyaWRnZV9jYXN0CisgICAg
ICAgIGFuZCBtYWtlVmVjdG9ydC4KKwogMjAyMS0xMC0yMiAgSmVhbi1ZdmVzIEF2ZW5hcmQgIDxq
eWFAYXBwbGUuY29tPgogCiAgICAgICAgIHZpZGVvIGFwcGVhcnMgYmxhbmsgd2l0aCBvbmx5IGF1
ZGlvIHBsYXlpbmcgaWYgdmlkZW8gZWxlbWVudCBpc24ndCBhcHBlbmRlZCB0byB0aGUgZG9tIHRy
ZWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL2NvY29hL1VSTENvY29hLm1tIGIvU291cmNl
L1dURi93dGYvY29jb2EvVVJMQ29jb2EubW0KaW5kZXggY2E0ODIwOTBlMjEwYjIyZWNkZWU2ZjVm
Mjc0MGU3NjdhNzE4OWJlYy4uMjdkN2RjMzY2MmZhZjU0NmQwMDFhOGUyMmNiNzA3ZDkwYjZmY2Iw
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvY29jb2EvVVJMQ29jb2EubW0KKysrIGIvU291
cmNlL1dURi93dGYvY29jb2EvVVJMQ29jb2EubW0KQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29w
eXJpZ2h0IChDKSAyMDA0LCAyMDA4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
IENvcHlyaWdodCAoQykgMjAwNC0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjksNiArMjksNyBAQAogI2ltcG9y
dCA8d3RmL1VSTFBhcnNlci5oPgogI2ltcG9ydCA8d3RmL2NmL0NGVVJMRXh0cmFzLmg+CiAjaW1w
b3J0IDx3dGYvY29jb2EvTlNVUkxFeHRyYXMuaD4KKyNpbXBvcnQgPHd0Zi9jb2NvYS9UeXBlQ2Fz
dHNDb2NvYS5oPgogI2ltcG9ydCA8d3RmL3RleHQvQ1N0cmluZy5oPgogCiBAaW50ZXJmYWNlIE5T
U3RyaW5nIChXVEZOU1VSTEV4dHJhcykKQEAgLTM3LDE3ICszOCwxNyBAQCBAZW5kCiAKIG5hbWVz
cGFjZSBXVEYgewogCi1VUkw6OlVSTChOU1VSTCAqdXJsKQorVVJMOjpVUkwoTlNVUkwgKmNvY29h
VVJMKQogewotICAgIGlmICghdXJsKSB7CisgICAgaWYgKCFjb2NvYVVSTCkgewogICAgICAgICBp
bnZhbGlkYXRlKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICAvLyBGSVhNRTogV2h5
IGlzIGl0IE9LIHRvIGlnbm9yZSBiYXNlIFVSTCBoZXJlPwotICAgIENTdHJpbmcgdXJsQnl0ZXM7
Ci0gICAgV1RGOjpnZXRVUkxCeXRlcygoX19icmlkZ2UgQ0ZVUkxSZWYpdXJsLCB1cmxCeXRlcyk7
Ci0gICAgVVJMUGFyc2VyIHBhcnNlcih1cmxCeXRlcy5kYXRhKCkpOworICAgIENTdHJpbmcgYnl0
ZXM7CisgICAgV1RGOjpnZXRVUkxCeXRlcyhicmlkZ2VfY2FzdChjb2NvYVVSTCksIGJ5dGVzKTsK
KyAgICBVUkxQYXJzZXIgcGFyc2VyKGJ5dGVzLmRhdGEoKSk7CiAgICAgKnRoaXMgPSBwYXJzZXIu
cmVzdWx0KCk7CiB9CiAKQEAgLTY1LDcgKzY2LDcgQEAgUmV0YWluUHRyPENGVVJMUmVmPiBVUkw6
OmNyZWF0ZUNGVVJMKCkgY29uc3QKIAogICAgIGlmIChpc0VtcHR5KCkpIHsKICAgICAgICAgLy8g
V2UgdXNlIHRoZSB0b2xsLWZyZWUgYnJpZGdlIGJldHdlZW4gTlNVUkwgYW5kIENGVVJMIHRvIGNy
ZWF0ZSBhIENGVVJMUmVmIHN1cHBvcnRpbmcgYm90aCBlbXB0eSBhbmQgbnVsbCB2YWx1ZXMuCi0g
ICAgICAgIHJldHVybiAoX19icmlkZ2UgQ0ZVUkxSZWYpYWRvcHROUyhbW05TVVJMIGFsbG9jXSBp
bml0V2l0aFN0cmluZzpAIiJdKS5nZXQoKTsKKyAgICAgICAgcmV0dXJuIGJyaWRnZV9jYXN0KGFk
b3B0TlMoW1tOU1VSTCBhbGxvY10gaW5pdFdpdGhTdHJpbmc6QCIiXSkpOwogICAgIH0KIAogICAg
IFJldGFpblB0cjxDRlVSTFJlZj4gY2ZVUkw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jb2NvYS9TaGFyZWRCdWZmZXJDb2NvYS5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2NvY29hL1NoYXJlZEJ1ZmZlckNvY29hLm1tCmluZGV4IDI4MTAwNTNkZTdjOTcwMjk4M2Jk
MDQzMDljZDkwZWM0ZTkxNDllMWIuLmRiZDgzMjBkM2M0MzA1YTliYmI2ZmFiZjYzOTRiZTEyNGNl
MGVjYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1NoYXJlZEJ1
ZmZlckNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1NoYXJlZEJ1
ZmZlckNvY29hLm1tCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNi0y
MDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAw
Ni0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
ICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwpAQCAtMzEsNiArMzEsNyBAQAogI2ltcG9ydCA8SmF2YVNjcmlwdENvcmUv
SW5pdGlhbGl6ZVRocmVhZGluZy5oPgogI2ltcG9ydCA8c3RyaW5nLmg+CiAjaW1wb3J0IDx3dGYv
TWFpblRocmVhZC5oPgorI2ltcG9ydCA8d3RmL2NvY29hL1R5cGVDYXN0c0NvY29hLmg+CiAjaW1w
b3J0IDx3dGYvY29jb2EvVmVjdG9yQ29jb2EuaD4KIAogQGludGVyZmFjZSBXZWJDb3JlU2hhcmVk
QnVmZmVyRGF0YSA6IE5TRGF0YQpAQCAtODQsMTkgKzg1LDE5IEBAIEBlbmQKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1SZWY8U2hhcmVkQnVmZmVyPiBTaGFyZWRCdWZmZXI6OmNyZWF0ZShOU0Rh
dGEgKm5zRGF0YSkKK1JlZjxTaGFyZWRCdWZmZXI+IFNoYXJlZEJ1ZmZlcjo6Y3JlYXRlKE5TRGF0
YSAqZGF0YSkKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTaGFyZWRCdWZmZXIoKF9fYnJp
ZGdlIENGRGF0YVJlZiluc0RhdGEpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBTaGFyZWRC
dWZmZXIoYnJpZGdlX2Nhc3QoZGF0YSkpKTsKIH0KIAotdm9pZCBTaGFyZWRCdWZmZXI6OmFwcGVu
ZChOU0RhdGEgKm5zRGF0YSkKK3ZvaWQgU2hhcmVkQnVmZmVyOjphcHBlbmQoTlNEYXRhICpkYXRh
KQogewotICAgIHJldHVybiBhcHBlbmQoKF9fYnJpZGdlIENGRGF0YVJlZiluc0RhdGEpOworICAg
IHJldHVybiBhcHBlbmQoYnJpZGdlX2Nhc3QoZGF0YSkpOwogfQogCiBSZXRhaW5QdHI8TlNEYXRh
PiBTaGFyZWRCdWZmZXI6OmNyZWF0ZU5TRGF0YSgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIGFkb3B0
TlMoKE5TRGF0YSAqKWNyZWF0ZUNGRGF0YSgpLmxlYWtSZWYoKSk7CisgICAgcmV0dXJuIGJyaWRn
ZV9jYXN0KGNyZWF0ZUNGRGF0YSgpKTsKIH0KIAogUmV0YWluUHRyPENGRGF0YVJlZj4gU2hhcmVk
QnVmZmVyOjpjcmVhdGVDRkRhdGEoKSBjb25zdApAQCAtMTA1LDEzICsxMDYsMTIgQEAgUmV0YWlu
UHRyPENGRGF0YVJlZj4gU2hhcmVkQnVmZmVyOjpjcmVhdGVDRkRhdGEoKSBjb25zdAogICAgIGlm
ICghbV9zZWdtZW50cy5zaXplKCkpCiAgICAgICAgIHJldHVybiBhZG9wdENGKENGRGF0YUNyZWF0
ZShudWxscHRyLCBudWxscHRyLCAwKSk7CiAgICAgQVNTRVJUKG1fc2VnbWVudHMuc2l6ZSgpID09
IDEpOwotICAgIHJldHVybiBhZG9wdENGKChfX2JyaWRnZSBDRkRhdGFSZWYpbV9zZWdtZW50c1sw
XS5zZWdtZW50LT5jcmVhdGVOU0RhdGEoKS5sZWFrUmVmKCkpOworICAgIHJldHVybiBicmlkZ2Vf
Y2FzdChtX3NlZ21lbnRzWzBdLnNlZ21lbnQtPmNyZWF0ZU5TRGF0YSgpKTsKIH0KIAogUmVmUHRy
PFNoYXJlZEJ1ZmZlcj4gU2hhcmVkQnVmZmVyOjpjcmVhdGVGcm9tUmVhZGluZ0ZpbGUoY29uc3Qg
U3RyaW5nJiBmaWxlUGF0aCkKIHsKLSAgICBOU0RhdGEgKnJlc291cmNlRGF0YSA9IFtOU0RhdGEg
ZGF0YVdpdGhDb250ZW50c09mRmlsZTpmaWxlUGF0aF07Ci0gICAgaWYgKHJlc291cmNlRGF0YSkg
CisgICAgaWYgKGF1dG8gcmVzb3VyY2VEYXRhID0gW05TRGF0YSBkYXRhV2l0aENvbnRlbnRzT2ZG
aWxlOmZpbGVQYXRoXSkKICAgICAgICAgcmV0dXJuIFNoYXJlZEJ1ZmZlcjo6Y3JlYXRlKHJlc291
cmNlRGF0YSk7CiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9IRVZDVXRpbGl0aWVzQ29jb2EubW0gYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9IRVZDVXRpbGl0aWVzQ29jb2EubW0K
aW5kZXggZjA4MmNjMWNlMGFkN2U0MTVjZmQ0NjdjMWEwNmJlMDUwMzhhNTEwMS4uZGMwMzA2YTll
ODVjMzlkYWY3MzcwZjYyMzQ3ZjAyYmE4OTE1OTBhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvSEVWQ1V0aWxpdGllc0NvY29hLm1tCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL0hFVkNVdGlsaXRpZXNDb2NvYS5t
bQpAQCAtMzIsNiArMzIsOCBAQAogI2ltcG9ydCAiSEVWQ1V0aWxpdGllcy5oIgogI2ltcG9ydCAi
TWVkaWFDYXBhYmlsaXRpZXNJbmZvLmgiCiAjaW1wb3J0IDx3dGYvY2YvVHlwZUNhc3RzQ0YuaD4K
KyNpbXBvcnQgPHd0Zi9jb2NvYS9UeXBlQ2FzdHNDb2NvYS5oPgorI2ltcG9ydCA8d3RmL2NvY29h
L1ZlY3RvckNvY29hLmg+CiAjaW1wb3J0IDx3dGYvdGV4dC9TdHJpbmdUb0ludGVnZXJDb252ZXJz
aW9uLmg+CiAKICNpbXBvcnQgIlZpZGVvVG9vbGJveFNvZnRMaW5rLmgiCkBAIC0xMzYsMjEgKzEz
OCwxMiBAQCBzdGF0aWMgQ01WaWRlb0NvZGVjVHlwZSBjb2RlY1R5cGUoRG9WaVBhcmFtZXRlcnM6
OkNvZGVjIGNvZGVjKQogCiBzdGF0aWMgc3RkOjpvcHRpb25hbDxWZWN0b3I8dWludDE2X3Q+PiBw
YXJzZVN0cmluZ0FycmF5RnJvbURpY3Rpb25hcnlUb1VJbnQxNlZlY3RvcihDRkRpY3Rpb25hcnlS
ZWYgZGljdGlvbmFyeSwgY29uc3Qgdm9pZCoga2V5KQogewotICAgIGF1dG8gdmFsdWUgPSBDRkRp
Y3Rpb25hcnlHZXRWYWx1ZShkaWN0aW9uYXJ5LCBrZXkpOwotICAgIGlmICghdmFsdWUgfHwgQ0ZH
ZXRUeXBlSUQodmFsdWUpICE9IENGQXJyYXlHZXRUeXBlSUQoKSkKKyAgICBhdXRvIGFycmF5ID0g
ZHluYW1pY19jZl9jYXN0PENGQXJyYXlSZWY+KENGRGljdGlvbmFyeUdldFZhbHVlKGRpY3Rpb25h
cnksIGtleSkpOworICAgIGlmICghYXJyYXkpCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7
Ci0gICAgTlNBcnJheSAqYXJyYXkgPSAoX19icmlkZ2UgTlNBcnJheSAqKXZhbHVlOwotICAgIFZl
Y3Rvcjx1aW50MTZfdD4gdmVjdG9yOwotICAgIHZlY3Rvci5yZXNlcnZlSW5pdGlhbENhcGFjaXR5
KGFycmF5LmNvdW50KTsKLSAgICBmb3IgKGlkIHZhbHVlIGluIGFycmF5KSB7Ci0gICAgICAgIGlm
ICghW3ZhbHVlIGlzS2luZE9mQ2xhc3M6TlNTdHJpbmcuY2xhc3NdKQotICAgICAgICAgICAgcmV0
dXJuIHN0ZDo6bnVsbG9wdDsKLSAgICAgICAgYXV0byBudW1lcmljVmFsdWUgPSBwYXJzZUludGVn
ZXI8dWludDE2X3Q+KFN0cmluZygoTlNTdHJpbmcgKil2YWx1ZSkpOwotICAgICAgICBpZiAoIW51
bWVyaWNWYWx1ZSkKLSAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7Ci0gICAgICAgIHZl
Y3Rvci51bmNoZWNrZWRBcHBlbmQoKm51bWVyaWNWYWx1ZSk7Ci0gICAgfQotICAgIHJldHVybiB2
ZWN0b3I7CisgICAgcmV0dXJuIG1ha2VWZWN0b3IoYnJpZGdlX2Nhc3QoYXJyYXkpLCBbXSAoaWQg
dmFsdWUpIHsKKyAgICAgICAgcmV0dXJuIHBhcnNlSW50ZWdlcjx1aW50MTZfdD4oU3RyaW5nKGR5
bmFtaWNfb2JqY19jYXN0PE5TU3RyaW5nPih2YWx1ZSkpKTsKKyAgICB9KTsKIH0KIAogc3RkOjpv
cHRpb25hbDxNZWRpYUNhcGFiaWxpdGllc0luZm8+IHZhbGlkYXRlRG9WaVBhcmFtZXRlcnMoY29u
c3QgRG9WaVBhcmFtZXRlcnMmIHBhcmFtZXRlcnMsIGJvb2wgaGFzQWxwaGFDaGFubmVsLCBib29s
IGhkclN1cHBvcnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvUGFz
dGVib2FyZFdyaXRlci5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QYXN0ZWJvYXJk
V3JpdGVyLm1tCmluZGV4IGUwMzg3YWMzMmUzMDZkMzAxZWZmNjYzYjgwZTk5NjJkYzY1ODMyZWEu
LjM1M2QwMDZiOTBjYmNlNjA5ZTZkZmQzN2MyODA4MTMxZjIxNGI4ZGEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QYXN0ZWJvYXJkV3JpdGVyLm1tCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QYXN0ZWJvYXJkV3JpdGVyLm1tCkBAIC0zMywyMCArMzMs
MjEgQEAKICNpbXBvcnQgIlBhc3RlYm9hcmRXcml0ZXJEYXRhLmgiCiAjaW1wb3J0ICJTaGFyZWRC
dWZmZXIuaCIKICNpbXBvcnQgPHBhbC9zcGkvbWFjL05TUGFzdGVib2FyZFNQSS5oPgorI2ltcG9y
dCA8d3RmL2NvY29hL1R5cGVDYXN0c0NvY29hLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
c3RhdGljIFJldGFpblB0cjxOU1N0cmluZz4gdG9VVEkoTlNTdHJpbmcgKnBhc3RlYm9hcmRUeXBl
KQogewogQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfQkVHSU4KLSAgICByZXR1cm4gYWRv
cHROUygoX19icmlkZ2UgTlNTdHJpbmcgKilVVFR5cGVDcmVhdGVQcmVmZXJyZWRJZGVudGlmaWVy
Rm9yVGFnKGtVVFRhZ0NsYXNzTlNQYm9hcmRUeXBlLCAoX19icmlkZ2UgQ0ZTdHJpbmdSZWYpcGFz
dGVib2FyZFR5cGUsIG51bGxwdHIpKTsKKyAgICByZXR1cm4gYnJpZGdlX2Nhc3QoYWRvcHRDRihV
VFR5cGVDcmVhdGVQcmVmZXJyZWRJZGVudGlmaWVyRm9yVGFnKGtVVFRhZ0NsYXNzTlNQYm9hcmRU
eXBlLCBicmlkZ2VfY2FzdChwYXN0ZWJvYXJkVHlwZSksIG51bGxwdHIpKSk7CiBBTExPV19ERVBS
RUNBVEVEX0RFQ0xBUkFUSU9OU19FTkQKIH0KIAogc3RhdGljIFJldGFpblB0cjxOU1N0cmluZz4g
dG9VVElVbmxlc3NBbHJlYWR5VVRJKE5TU3RyaW5nICp0eXBlKQogewogQUxMT1dfREVQUkVDQVRF
RF9ERUNMQVJBVElPTlNfQkVHSU4KLSAgICBpZiAoVVRUeXBlSXNEZWNsYXJlZCgoX19icmlkZ2Ug
Q0ZTdHJpbmdSZWYpdHlwZSkgfHwgVVRUeXBlSXNEeW5hbWljKChfX2JyaWRnZSBDRlN0cmluZ1Jl
Zil0eXBlKSkgeworICAgIGlmIChVVFR5cGVJc0RlY2xhcmVkKGJyaWRnZV9jYXN0KHR5cGUpKSB8
fCBVVFR5cGVJc0R5bmFtaWMoYnJpZGdlX2Nhc3QodHlwZSkpKSB7CiAgICAgICAgIC8vIFRoaXMg
aXMgYWxyZWFkeSBhIFVUSS4KICAgICAgICAgcmV0dXJuIHR5cGU7CiAgICAgfQpAQCAtNjIsOSAr
NjMsOSBAQCBSZXRhaW5QdHI8aWQgPE5TUGFzdGVib2FyZFdyaXRpbmc+PiBjcmVhdGVQYXN0ZWJv
YXJkV3JpdGVyKGNvbnN0IFBhc3RlYm9hcmRXcml0ZQogICAgIGlmIChhdXRvJiBwbGFpblRleHQg
PSBkYXRhLnBsYWluVGV4dCgpKSB7CiAgICAgICAgIFtwYXN0ZWJvYXJkSXRlbSBzZXRTdHJpbmc6
cGxhaW5UZXh0LT50ZXh0IGZvclR5cGU6TlNQYXN0ZWJvYXJkVHlwZVN0cmluZ107CiAgICAgICAg
IGlmIChwbGFpblRleHQtPmNhblNtYXJ0Q29weU9yRGVsZXRlKSB7Ci1BTExPV19ERVBSRUNBVEVE
X0RFQ0xBUkFUSU9OU19CRUdJTgotICAgICAgICAgICAgYXV0byBzbWFydFBhc3RlVHlwZSA9IGFk
b3B0TlMoKF9fYnJpZGdlIE5TU3RyaW5nICopVVRUeXBlQ3JlYXRlUHJlZmVycmVkSWRlbnRpZmll
ckZvclRhZyhrVVRUYWdDbGFzc05TUGJvYXJkVHlwZSwgKF9fYnJpZGdlIENGU3RyaW5nUmVmKV9O
WFNtYXJ0UGFzdGUsIG51bGxwdHIpKTsKLUFMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0VO
RAorICAgICAgICAgICAgQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfQkVHSU4KKyAgICAg
ICAgICAgIGF1dG8gc21hcnRQYXN0ZVR5cGUgPSBicmlkZ2VfY2FzdChhZG9wdENGKFVUVHlwZUNy
ZWF0ZVByZWZlcnJlZElkZW50aWZpZXJGb3JUYWcoa1VUVGFnQ2xhc3NOU1Bib2FyZFR5cGUsIGJy
aWRnZV9jYXN0KF9OWFNtYXJ0UGFzdGUpLCBudWxscHRyKSkpOworICAgICAgICAgICAgQUxMT1df
REVQUkVDQVRFRF9ERUNMQVJBVElPTlNfRU5ECiAgICAgICAgICAgICBbcGFzdGVib2FyZEl0ZW0g
c2V0RGF0YTpbTlNEYXRhIGRhdGFdIGZvclR5cGU6c21hcnRQYXN0ZVR5cGUuZ2V0KCldOwogICAg
ICAgICB9CiAgICAgfQpAQCAtMTA2LDE1ICsxMDcsMTUgQEAgQUxMT1dfREVQUkVDQVRFRF9ERUNM
QVJBVElPTlNfRU5ECiAKICAgICBpZiAoYXV0byYgd2ViQ29udGVudCA9IGRhdGEud2ViQ29udGVu
dCgpKSB7CiAgICAgICAgIGlmICh3ZWJDb250ZW50LT5jYW5TbWFydENvcHlPckRlbGV0ZSkgewot
QUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfQkVHSU4KLSAgICAgICAgICAgIGF1dG8gc21h
cnRQYXN0ZVR5cGUgPSBhZG9wdE5TKChfX2JyaWRnZSBOU1N0cmluZyAqKVVUVHlwZUNyZWF0ZVBy
ZWZlcnJlZElkZW50aWZpZXJGb3JUYWcoa1VUVGFnQ2xhc3NOU1Bib2FyZFR5cGUsIChfX2JyaWRn
ZSBDRlN0cmluZ1JlZilfTlhTbWFydFBhc3RlLCBudWxscHRyKSk7Ci1BTExPV19ERVBSRUNBVEVE
X0RFQ0xBUkFUSU9OU19FTkQKKyAgICAgICAgICAgIEFMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJ
T05TX0JFR0lOCisgICAgICAgICAgICBhdXRvIHNtYXJ0UGFzdGVUeXBlID0gYnJpZGdlX2Nhc3Qo
YWRvcHRDRihVVFR5cGVDcmVhdGVQcmVmZXJyZWRJZGVudGlmaWVyRm9yVGFnKGtVVFRhZ0NsYXNz
TlNQYm9hcmRUeXBlLCBicmlkZ2VfY2FzdChfTlhTbWFydFBhc3RlKSwgbnVsbHB0cikpKTsKKyAg
ICAgICAgICAgIEFMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0VORAogICAgICAgICAgICAg
W3Bhc3RlYm9hcmRJdGVtIHNldERhdGE6W05TRGF0YSBkYXRhXSBmb3JUeXBlOnNtYXJ0UGFzdGVU
eXBlLmdldCgpXTsKICAgICAgICAgfQogICAgICAgICBpZiAod2ViQ29udGVudC0+ZGF0YUluV2Vi
QXJjaGl2ZUZvcm1hdCkgewotQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfQkVHSU4KLSAg
ICAgICAgICAgIGF1dG8gd2ViQXJjaGl2ZVR5cGUgPSBhZG9wdE5TKChfX2JyaWRnZSBOU1N0cmlu
ZyAqKVVUVHlwZUNyZWF0ZVByZWZlcnJlZElkZW50aWZpZXJGb3JUYWcoa1VUVGFnQ2xhc3NOU1Bi
b2FyZFR5cGUsIChfX2JyaWRnZSBDRlN0cmluZ1JlZilAIkFwcGxlIFdlYiBBcmNoaXZlIHBhc3Rl
Ym9hcmQgdHlwZSIsIG51bGxwdHIpKTsKLUFMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0VO
RAorICAgICAgICAgICAgQUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfQkVHSU4KKyAgICAg
ICAgICAgIGF1dG8gd2ViQXJjaGl2ZVR5cGUgPSBicmlkZ2VfY2FzdChhZG9wdENGKFVUVHlwZUNy
ZWF0ZVByZWZlcnJlZElkZW50aWZpZXJGb3JUYWcoa1VUVGFnQ2xhc3NOU1Bib2FyZFR5cGUsIENG
U1RSKCJBcHBsZSBXZWIgQXJjaGl2ZSBwYXN0ZWJvYXJkIHR5cGUiKSwgbnVsbHB0cikpKTsKKyAg
ICAgICAgICAgIEFMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJT05TX0VORAogICAgICAgICAgICAg
W3Bhc3RlYm9hcmRJdGVtIHNldERhdGE6d2ViQ29udGVudC0+ZGF0YUluV2ViQXJjaGl2ZUZvcm1h
dC0+Y3JlYXRlTlNEYXRhKCkuZ2V0KCkgZm9yVHlwZTp3ZWJBcmNoaXZlVHlwZS5nZXQoKV07CiAg
ICAgICAgIH0KICAgICAgICAgaWYgKHdlYkNvbnRlbnQtPmRhdGFJblJURkRGb3JtYXQpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db2NvYS9Bcmd1bWVudENvZGVyc0NvY29hLm1t
IGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29jb2EvQXJndW1lbnRDb2RlcnNDb2NvYS5tbQppbmRl
eCBkYTRkMTFjOWMwYTI0YWY3YWZjNTFkMzFiZmY4NTcwNTcyYzcwNGYwLi5kOTFkMjBhMGUzNWIw
ZmVlZmIwNjZjYjJjMGViNjhiYmUzZjZmYTYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9Db2NvYS9Bcmd1bWVudENvZGVyc0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL0NvY29hL0FyZ3VtZW50Q29kZXJzQ29jb2EubW0KQEAgLTEwNSw3ICsxMDUsNyBAQCAtICh2
b2lkKWVuY29kZVdpdGhDb2RlcjooTlNDb2RlciAqKWNvZGVyCiAgICAgICAgIFtjb2RlciBlbmNv
ZGVPYmplY3Q6YmFzZVVSTCBmb3JLZXk6YmFzZVVSTEtleV07CiAKICAgICBXVEY6OlVSTENoYXJC
dWZmZXIgdXJsQnl0ZXM7Ci0gICAgV1RGOjpnZXRVUkxCeXRlcygoX19icmlkZ2UgQ0ZVUkxSZWYp
bV93cmFwcGVkVVJMLmdldCgpLCB1cmxCeXRlcyk7CisgICAgV1RGOjpnZXRVUkxCeXRlcyhicmlk
Z2VfY2FzdChtX3dyYXBwZWRVUkwuZ2V0KCkpLCB1cmxCeXRlcyk7CiAgICAgW2NvZGVyIGVuY29k
ZUJ5dGVzOnVybEJ5dGVzLmRhdGEoKSBsZW5ndGg6dXJsQnl0ZXMuc2l6ZSgpXTsKIH0KIApAQCAt
MTI0LDcgKzEyNCw3IEBAIC0gKF9OdWxsYWJsZSBpbnN0YW5jZXR5cGUpaW5pdFdpdGhDb2Rlcjoo
TlNDb2RlciAqKWNvZGVyCiAKICAgICBOU1VJbnRlZ2VyIGxlbmd0aDsKICAgICBpZiAoYXV0byBi
eXRlcyA9IChVSW50OCAqKVtjb2RlciBkZWNvZGVCeXRlc1dpdGhSZXR1cm5lZExlbmd0aDombGVu
Z3RoXSkgewotICAgICAgICBtX3dyYXBwZWRVUkwgPSBhZG9wdE5TKChfX2JyaWRnZSBOU1VSTCop
Q0ZVUkxDcmVhdGVBYnNvbHV0ZVVSTFdpdGhCeXRlcyhudWxscHRyLCBieXRlcywgbGVuZ3RoLCBr
Q0ZTdHJpbmdFbmNvZGluZ1VURjgsIChfX2JyaWRnZSBDRlVSTFJlZiliYXNlVVJMLmdldCgpLCB0
cnVlKSk7CisgICAgICAgIG1fd3JhcHBlZFVSTCA9IGJyaWRnZV9jYXN0KGFkb3B0Q0YoQ0ZVUkxD
cmVhdGVBYnNvbHV0ZVVSTFdpdGhCeXRlcyhudWxscHRyLCBieXRlcywgbGVuZ3RoLCBrQ0ZTdHJp
bmdFbmNvZGluZ1VURjgsIGJyaWRnZV9jYXN0KGJhc2VVUkwuZ2V0KCkpLCB0cnVlKSkpOwogICAg
ICAgICBpZiAoIW1fd3JhcHBlZFVSTCkKICAgICAgICAgICAgIExPR19FUlJPUigiRmFpbGVkIHRv
IGRlY29kZSBOU1VSTCBkdWUgdG8gaW52YWxpZCBlbmNvZGluZyBvZiBsZW5ndGggJWQuIFN1YnN0
aXR1dGluZyBhIGJsYW5rIFVSTCIsIGxlbmd0aCk7CiAgICAgfQpAQCAtMjc5LDcgKzI3OSw3IEBA
IHN0YXRpYyBpbmxpbmUgc3RkOjpvcHRpb25hbDxSZXRhaW5QdHI8aWQ+PiBkZWNvZGVDb2xvcklu
dGVybmFsKERlY29kZXImIGRlY29kZXIpCiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBlbmNvZGVEYXRh
SW50ZXJuYWwoRW5jb2RlciYgZW5jb2RlciwgTlNEYXRhICpkYXRhKQogewotICAgIGVuY29kZXIg
PDwgKF9fYnJpZGdlIENGRGF0YVJlZilkYXRhOworICAgIGVuY29kZXIgPDwgYnJpZGdlX2Nhc3Qo
ZGF0YSk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgc3RkOjpvcHRpb25hbDxSZXRhaW5QdHI8aWQ+PiBk
ZWNvZGVEYXRhSW50ZXJuYWwoRGVjb2RlciYgZGVjb2RlcikKQEAgLTI4NywxNCArMjg3LDE0IEBA
IHN0YXRpYyBpbmxpbmUgc3RkOjpvcHRpb25hbDxSZXRhaW5QdHI8aWQ+PiBkZWNvZGVEYXRhSW50
ZXJuYWwoRGVjb2RlciYgZGVjb2RlcikKICAgICBSZXRhaW5QdHI8Q0ZEYXRhUmVmPiBkYXRhOwog
ICAgIGlmICghZGVjb2Rlci5kZWNvZGUoZGF0YSkpCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxv
cHQ7Ci0gICAgcmV0dXJuIHsgYWRvcHROUygoTlNEYXRhICopZGF0YS5sZWFrUmVmKCkpIH07Cisg
ICAgcmV0dXJuIHsgYnJpZGdlX2Nhc3QoV1RGTW92ZShkYXRhKSkgfTsKIH0KIAogI3ByYWdtYSBt
YXJrIC0gTlNEYXRlCiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBlbmNvZGVEYXRlSW50ZXJuYWwoRW5j
b2RlciYgZW5jb2RlciwgTlNEYXRlICpkYXRlKQogewotICAgIGVuY29kZXIgPDwgKF9fYnJpZGdl
IENGRGF0ZVJlZilkYXRlOworICAgIGVuY29kZXIgPDwgYnJpZGdlX2Nhc3QoZGF0ZSk7CiB9CiAK
IHN0YXRpYyBpbmxpbmUgc3RkOjpvcHRpb25hbDxSZXRhaW5QdHI8aWQ+PiBkZWNvZGVEYXRlSW50
ZXJuYWwoRGVjb2RlciYgZGVjb2RlcikKQEAgLTMwMiw3ICszMDIsNyBAQCBzdGF0aWMgaW5saW5l
IHN0ZDo6b3B0aW9uYWw8UmV0YWluUHRyPGlkPj4gZGVjb2RlRGF0ZUludGVybmFsKERlY29kZXIm
IGRlY29kZXIpCiAgICAgUmV0YWluUHRyPENGRGF0ZVJlZj4gZGF0ZTsKICAgICBpZiAoIWRlY29k
ZXIuZGVjb2RlKGRhdGUpKQogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwotICAgIHJldHVy
biB7IGFkb3B0TlMoKE5TRGF0ZSAqKWRhdGUubGVha1JlZigpKSB9OworICAgIHJldHVybiB7IGJy
aWRnZV9jYXN0KFdURk1vdmUoZGF0ZSkpIH07CiB9CiAKICNwcmFnbWEgbWFyayAtIE5TRGljdGlv
bmFyeQpAQCAtMzg3LDcgKzM4Nyw3IEBAIHN0YXRpYyBzdGQ6Om9wdGlvbmFsPFJldGFpblB0cjxp
ZD4+IGRlY29kZUZvbnRJbnRlcm5hbChEZWNvZGVyJiBkZWNvZGVyKQogCiBzdGF0aWMgaW5saW5l
IHZvaWQgZW5jb2RlTnVtYmVySW50ZXJuYWwoRW5jb2RlciYgZW5jb2RlciwgTlNOdW1iZXIgKm51
bWJlcikKIHsKLSAgICBlbmNvZGVyIDw8IChfX2JyaWRnZSBDRk51bWJlclJlZiludW1iZXI7Cisg
ICAgZW5jb2RlciA8PCBicmlkZ2VfY2FzdChudW1iZXIpOwogfQogCiBzdGF0aWMgaW5saW5lIHN0
ZDo6b3B0aW9uYWw8UmV0YWluUHRyPGlkPj4gZGVjb2RlTnVtYmVySW50ZXJuYWwoRGVjb2RlciYg
ZGVjb2RlcikKQEAgLTM5NSw3ICszOTUsNyBAQCBzdGF0aWMgaW5saW5lIHN0ZDo6b3B0aW9uYWw8
UmV0YWluUHRyPGlkPj4gZGVjb2RlTnVtYmVySW50ZXJuYWwoRGVjb2RlciYgZGVjb2RlcgogICAg
IFJldGFpblB0cjxDRk51bWJlclJlZj4gbnVtYmVyOwogICAgIGlmICghZGVjb2Rlci5kZWNvZGUo
bnVtYmVyKSkKICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKLSAgICByZXR1cm4geyBhZG9w
dE5TKChOU051bWJlciAqKW51bWJlci5sZWFrUmVmKCkpIH07CisgICAgcmV0dXJuIHsgYnJpZGdl
X2Nhc3QoV1RGTW92ZShudW1iZXIpKSB9OwogfQogCiAjcHJhZ21hIG1hcmsgLSBpZCA8TlNTZWN1
cmVDb2Rpbmc+CkBAIC00MjQsNyArNDI0LDcgQEAgc3RhdGljIHN0ZDo6b3B0aW9uYWw8UmV0YWlu
UHRyPGlkPj4gZGVjb2RlU2VjdXJlQ29kaW5nSW50ZXJuYWwoRGVjb2RlciYgZGVjb2RlciwKICAg
ICBpZiAoIWRlY29kZXIuZGVjb2RlKGRhdGEpKQogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0
OwogCi0gICAgYXV0byB1bmFyY2hpdmVyID0gYWRvcHROUyhbW05TS2V5ZWRVbmFyY2hpdmVyIGFs
bG9jXSBpbml0Rm9yUmVhZGluZ0Zyb21EYXRhOihfX2JyaWRnZSBOU0RhdGEgKilkYXRhLmdldCgp
IGVycm9yOm51bGxwdHJdKTsKKyAgICBhdXRvIHVuYXJjaGl2ZXIgPSBhZG9wdE5TKFtbTlNLZXll
ZFVuYXJjaGl2ZXIgYWxsb2NdIGluaXRGb3JSZWFkaW5nRnJvbURhdGE6YnJpZGdlX2Nhc3QoZGF0
YS5nZXQoKSkgZXJyb3I6bnVsbHB0cl0pOwogICAgIHVuYXJjaGl2ZXIuZ2V0KCkuZGVjb2RpbmdG
YWlsdXJlUG9saWN5ID0gTlNEZWNvZGluZ0ZhaWx1cmVQb2xpY3lSYWlzZUV4Y2VwdGlvbjsKIAog
ICAgIGF1dG8gZGVsZWdhdGUgPSBhZG9wdE5TKFtbV0tTZWN1cmVDb2RpbmdBcmNoaXZpbmdEZWxl
Z2F0ZSBhbGxvY10gaW5pdF0pOwpAQCAtNDUwLDcgKzQ1MCw3IEBAIHN0YXRpYyBzdGQ6Om9wdGlv
bmFsPFJldGFpblB0cjxpZD4+IGRlY29kZVNlY3VyZUNvZGluZ0ludGVybmFsKERlY29kZXImIGRl
Y29kZXIsCiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBlbmNvZGVTdHJpbmdJbnRlcm5hbChFbmNvZGVy
JiBlbmNvZGVyLCBOU1N0cmluZyAqc3RyaW5nKQogewotICAgIGVuY29kZXIgPDwgKF9fYnJpZGdl
IENGU3RyaW5nUmVmKXN0cmluZzsKKyAgICBlbmNvZGVyIDw8IGJyaWRnZV9jYXN0KHN0cmluZyk7
CiB9CiAKIHN0YXRpYyBpbmxpbmUgc3RkOjpvcHRpb25hbDxSZXRhaW5QdHI8aWQ+PiBkZWNvZGVT
dHJpbmdJbnRlcm5hbChEZWNvZGVyJiBkZWNvZGVyKQpAQCAtNDU4LDE0ICs0NTgsMTQgQEAgc3Rh
dGljIGlubGluZSBzdGQ6Om9wdGlvbmFsPFJldGFpblB0cjxpZD4+IGRlY29kZVN0cmluZ0ludGVy
bmFsKERlY29kZXImIGRlY29kZXIKICAgICBSZXRhaW5QdHI8Q0ZTdHJpbmdSZWY+IHN0cmluZzsK
ICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHN0cmluZykpCiAgICAgICAgIHJldHVybiBzdGQ6Om51
bGxvcHQ7Ci0gICAgcmV0dXJuIHsgYWRvcHROUygoTlNTdHJpbmcgKilzdHJpbmcubGVha1JlZigp
KSB9OworICAgIHJldHVybiB7IGJyaWRnZV9jYXN0KFdURk1vdmUoc3RyaW5nKSkgfTsKIH0KIAog
I3ByYWdtYSBtYXJrIC0gTlNVUkwKIAogc3RhdGljIGlubGluZSB2b2lkIGVuY29kZVVSTEludGVy
bmFsKEVuY29kZXImIGVuY29kZXIsIE5TVVJMICpVUkwpCiB7Ci0gICAgZW5jb2RlciA8PCAoX19i
cmlkZ2UgQ0ZVUkxSZWYpVVJMOworICAgIGVuY29kZXIgPDwgYnJpZGdlX2Nhc3QoVVJMKTsKIH0K
IAogc3RhdGljIGlubGluZSBzdGQ6Om9wdGlvbmFsPFJldGFpblB0cjxpZD4+IGRlY29kZVVSTElu
dGVybmFsKERlY29kZXImIGRlY29kZXIpCkBAIC00NzMsNyArNDczLDcgQEAgc3RhdGljIGlubGlu
ZSBzdGQ6Om9wdGlvbmFsPFJldGFpblB0cjxpZD4+IGRlY29kZVVSTEludGVybmFsKERlY29kZXIm
IGRlY29kZXIpCiAgICAgUmV0YWluUHRyPENGVVJMUmVmPiBVUkw7CiAgICAgaWYgKCFkZWNvZGVy
LmRlY29kZShVUkwpKQogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwotICAgIHJldHVybiB7
IGFkb3B0TlMoKE5TVVJMICopVVJMLmxlYWtSZWYoKSkgfTsKKyAgICByZXR1cm4geyBicmlkZ2Vf
Y2FzdChXVEZNb3ZlKFVSTCkpIH07CiB9CiAKICNwcmFnbWEgbWFyayAtIEVudHJ5IFBvaW50IEVu
Y29kZXIgLyBEZWNvZGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tDb25uZWN0aW9uLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29h
L1dLQ29ubmVjdGlvbi5tbQppbmRleCAwNGQzM2M5NDdlMDI4Y2ZlMmQ5NWM5NzhhYzNlMmQxMjlk
NDUwYTVjLi45N2ZkMTg3ZmE2NWI4YzExMTA3ODU1OTYwZmRkYzE5YzAxM2JkN2JiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tDb25uZWN0aW9uLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS0Nvbm5lY3Rpb24ubW0KQEAg
LTMzLDYgKzMzLDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvV2ViQ29yZU9iakNFeHRyYXMuaD4KICNp
bXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KICNpbXBvcnQgPHd0Zi9XZWFrT2JqQ1B0ci5oPgorI2lt
cG9ydCA8d3RmL2NvY29hL1R5cGVDYXN0c0NvY29hLmg+CiAjaW1wb3J0IDx3dGYvdGV4dC9XVEZT
dHJpbmcuaD4KIAogQUxMT1dfREVQUkVDQVRFRF9JTVBMRU1FTlRBVElPTlNfQkVHSU4KQEAgLTU5
LDkgKzYwLDkgQEAgc3RhdGljIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoV0tDb25uZWN0aW9uUmVm
LCBXS1N0cmluZ1JlZiBtZXNzYWdlTmFtZSwgV0tUeXBlUmUKICAgICBhdXRvIGRlbGVnYXRlID0g
Y29ubmVjdGlvbi0+X2RlbGVnYXRlLmdldCgpOwogCiAgICAgaWYgKFtkZWxlZ2F0ZSByZXNwb25k
c1RvU2VsZWN0b3I6QHNlbGVjdG9yKGNvbm5lY3Rpb246ZGlkUmVjZWl2ZU1lc3NhZ2VXaXRoTmFt
ZTpib2R5OildKSB7Ci0gICAgICAgIFJldGFpblB0cjxDRlN0cmluZ1JlZj4gbnNNZXNzYWdlTmFt
ZSA9IGFkb3B0Q0YoV0tTdHJpbmdDb3B5Q0ZTdHJpbmcoa0NGQWxsb2NhdG9yRGVmYXVsdCwgbWVz
c2FnZU5hbWUpKTsKLSAgICAgICAgUmV0YWluUHRyPGlkPiBuc01lc3NhZ2VCb2R5ID0gc3RhdGlj
X2Nhc3Q8V2ViS2l0OjpPYmpDT2JqZWN0R3JhcGgqPihXZWJLaXQ6OnRvSW1wbChtZXNzYWdlQm9k
eSkpLT5yb290T2JqZWN0KCk7Ci0gICAgICAgIFtkZWxlZ2F0ZSBjb25uZWN0aW9uOmNvbm5lY3Rp
b24gZGlkUmVjZWl2ZU1lc3NhZ2VXaXRoTmFtZTooX19icmlkZ2UgTlNTdHJpbmcgKiluc01lc3Nh
Z2VOYW1lLmdldCgpIGJvZHk6bnNNZXNzYWdlQm9keS5nZXQoKV07CisgICAgICAgIGF1dG8gbmFt
ZSA9IGJyaWRnZV9jYXN0KGFkb3B0Q0YoV0tTdHJpbmdDb3B5Q0ZTdHJpbmcoa0NGQWxsb2NhdG9y
RGVmYXVsdCwgbWVzc2FnZU5hbWUpKSk7CisgICAgICAgIGlkIGJvZHkgPSBzdGF0aWNfY2FzdDxX
ZWJLaXQ6Ok9iakNPYmplY3RHcmFwaCo+KFdlYktpdDo6dG9JbXBsKG1lc3NhZ2VCb2R5KSktPnJv
b3RPYmplY3QoKTsKKyAgICAgICAgW2RlbGVnYXRlIGNvbm5lY3Rpb246Y29ubmVjdGlvbiBkaWRS
ZWNlaXZlTWVzc2FnZVdpdGhOYW1lOm5hbWUuZ2V0KCkgYm9keTpib2R5XTsKICAgICB9CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BsdWdpbnMvbWFjL1BsdWdpbklu
Zm9TdG9yZU1hYy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BsdWdpbnMvbWFjL1BsdWdp
bkluZm9TdG9yZU1hYy5tbQppbmRleCAyOWI0NTk1YWI0ODY2MDlkY2MwNjA3NzFmMmUwMjVkMzA4
ZWYzNmYzLi4yNmYxYjIyZjQ5Y2M2NDVmN2YxMThmNjExNTQwNTc4NTFkYWY2NzZlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QbHVnaW5zL21hYy9QbHVnaW5JbmZvU3RvcmVN
YWMubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGx1Z2lucy9tYWMvUGx1Z2luSW5m
b1N0b3JlTWFjLm1tCkBAIC0zNCw2ICszNCw4IEBACiAjaW1wb3J0IDxXZWJDb3JlL1BsdWdpbkJs
b2NrbGlzdC5oPgogI2ltcG9ydCA8cHdkLmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+Cisj
aW1wb3J0IDx3dGYvY29jb2EvVHlwZUNhc3RzQ29jb2EuaD4KKyNpbXBvcnQgPHd0Zi9jb2NvYS9W
ZWN0b3JDb2NvYS5oPgogI2ltcG9ydCA8d3RmL3RleHQvQ1N0cmluZy5oPgogCiBuYW1lc3BhY2Ug
V2ViS2l0IHsKQEAgLTU1LDE0ICs1NywxMCBAQCBWZWN0b3I8U3RyaW5nPiBQbHVnaW5JbmZvU3Rv
cmU6OnBsdWdpbnNEaXJlY3RvcmllcygpCiAgICAgCiBWZWN0b3I8U3RyaW5nPiBQbHVnaW5JbmZv
U3RvcmU6OnBsdWdpblBhdGhzSW5EaXJlY3RvcnkoY29uc3QgU3RyaW5nJiBkaXJlY3RvcnkpCiB7
Ci0gICAgVmVjdG9yPFN0cmluZz4gcGx1Z2luUGF0aHM7Ci0KLSAgICBSZXRhaW5QdHI8Q0ZTdHJp
bmdSZWY+IGRpcmVjdG9yeUNGU3RyaW5nID0gZGlyZWN0b3J5LmNyZWF0ZUNGU3RyaW5nKCk7Ci0g
ICAgTlNBcnJheSAqZmlsZW5hbWVzID0gW1tOU0ZpbGVNYW5hZ2VyIGRlZmF1bHRNYW5hZ2VyXSBj
b250ZW50c09mRGlyZWN0b3J5QXRQYXRoOihfX2JyaWRnZSBOU1N0cmluZyAqKWRpcmVjdG9yeUNG
U3RyaW5nLmdldCgpIGVycm9yOm5pbF07Ci0gICAgZm9yIChOU1N0cmluZyAqZmlsZW5hbWUgaW4g
ZmlsZW5hbWVzKQotICAgICAgICBwbHVnaW5QYXRocy5hcHBlbmQoWyhfX2JyaWRnZSBOU1N0cmlu
ZyAqKWRpcmVjdG9yeUNGU3RyaW5nLmdldCgpIHN0cmluZ0J5QXBwZW5kaW5nUGF0aENvbXBvbmVu
dDpmaWxlbmFtZV0pOwotICAgIAotICAgIHJldHVybiBwbHVnaW5QYXRoczsKKyAgICBhdXRvIGRp
cmVjdG9yeU5TU3RyaW5nID0gYnJpZGdlX2Nhc3QoZGlyZWN0b3J5LmNyZWF0ZUNGU3RyaW5nKCkp
OworICAgIHJldHVybiBtYWtlVmVjdG9yKFtbTlNGaWxlTWFuYWdlciBkZWZhdWx0TWFuYWdlcl0g
Y29udGVudHNPZkRpcmVjdG9yeUF0UGF0aDpkaXJlY3RvcnlOU1N0cmluZy5nZXQoKSBlcnJvcjpu
aWxdLCBbJl0gKGlkIGZpbGVuYW1lKSAtPiBzdGQ6Om9wdGlvbmFsPFN0cmluZz4geworICAgICAg
ICByZXR1cm4gW2RpcmVjdG9yeU5TU3RyaW5nIHN0cmluZ0J5QXBwZW5kaW5nUGF0aENvbXBvbmVu
dDpmaWxlbmFtZV07CisgICAgfSk7CiB9CiAKIFZlY3RvcjxTdHJpbmc+IFBsdWdpbkluZm9TdG9y
ZTo6aW5kaXZpZHVhbFBsdWdpblBhdGhzKCkK
</data>

          </attachment>
      

    </bug>

</bugzilla>