<?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>223795</bug_id>
          
          <creation_ts>2021-03-26 05:49:56 -0700</creation_ts>
          <short_desc>Now Playing content isn&apos;t updated when media session&apos;s Metadata is modified</short_desc>
          <delta_ts>2021-03-30 07:12:15 -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>Media</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=222158</see_also>
          <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>223731</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jean-Yves Avenard [:jya]">jean-yves.avenard</reporter>
          <assigned_to name="Jean-Yves Avenard [:jya]">jean-yves.avenard</assigned_to>
          <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1744144</commentid>
    <comment_count>0</comment_count>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2021-03-26 05:49:56 -0700</bug_when>
    <thetext>Currently the Now Playing content is updated when the PlatformMediaSessionManager (MediaSessionManagerCocoa) requests from the PlatformMediaSession (MediaElementSession).

The PlatformMediaSession will retrieve the Media Session metadata and then pass it on.

When the Media Session metadata gets updated (like after retrieving the image data), for the PlatformMediaSessionManager to refresh the Now Playing content, the user must interact with the media element (such as seeking, changing the focus of the window, pausing the video etc).

If no such interaction is to occur, then the Now Playing will show stale data.

We need to notify the PlatformMediaSession that the Metadata got updated and refresh the Now Playing content.

Bug 222158 introduced a mechanism to set observer of the Metadata content. We will use it to fix this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1744145</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-03-26 05:50:04 -0700</bug_when>
    <thetext>&lt;rdar://problem/75883478&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1744146</commentid>
    <comment_count>2</comment_count>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2021-03-26 05:52:12 -0700</bug_when>
    <thetext>Additionally, by implementing the Media Session observer it will allow to set default action when a Media Session handler isn&apos;t defined.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1744149</commentid>
    <comment_count>3</comment_count>
      <attachid>424345</attachid>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2021-03-26 06:17:55 -0700</bug_when>
    <thetext>Created attachment 424345
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1744151</commentid>
    <comment_count>4</comment_count>
      <attachid>424346</attachid>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2021-03-26 06:42:20 -0700</bug_when>
    <thetext>Created attachment 424346
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1744152</commentid>
    <comment_count>5</comment_count>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2021-03-26 06:44:57 -0700</bug_when>
    <thetext>Issue with forward declaration and Optional, changing method prototype to use reference instead</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1744153</commentid>
    <comment_count>6</comment_count>
      <attachid>424347</attachid>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2021-03-26 06:48:16 -0700</bug_when>
    <thetext>Created attachment 424347
Patch

Fix unresolved symbol on TVOS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1744660</commentid>
    <comment_count>7</comment_count>
      <attachid>424345</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-03-28 16:55:39 -0700</bug_when>
    <thetext>Comment on attachment 424345
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=424345&amp;action=review

&gt; Source/WebCore/html/MediaElementSession.cpp:213
&gt; +        session-&gt;removeObserver(*m_observer);

You could give MediaSessionObserver a pointer to the media session and have it call add/removeObserver automatically</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1744677</commentid>
    <comment_count>8</comment_count>
      <attachid>424521</attachid>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2021-03-28 20:53:11 -0700</bug_when>
    <thetext>Created attachment 424521
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1744941</commentid>
    <comment_count>9</comment_count>
      <attachid>424521</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-03-29 15:03:50 -0700</bug_when>
    <thetext>Comment on attachment 424521
Patch

I&apos;m afraid this will need to be rebased.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745013</commentid>
    <comment_count>10</comment_count>
      <attachid>424611</attachid>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2021-03-29 19:19:49 -0700</bug_when>
    <thetext>Created attachment 424611
Patch

rebase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745031</commentid>
    <comment_count>11</comment_count>
      <attachid>424611</attachid>
    <who name="Jean-Yves Avenard [:jya]">jean-yves.avenard</who>
    <bug_when>2021-03-29 22:36:38 -0700</bug_when>
    <thetext>Comment on attachment 424611
Patch

unrelated iPhoto.Framework failure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1745107</commentid>
    <comment_count>12</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-30 07:12:12 -0700</bug_when>
    <thetext>Committed r275203: &lt;https://commits.webkit.org/r275203&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 424611.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424345</attachid>
            <date>2021-03-26 06:17:55 -0700</date>
            <delta_ts>2021-03-26 07:19:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223795-20210327001754.patch</filename>
            <type>text/plain</type>
            <size>13974</size>
            <attacher name="Jean-Yves Avenard [:jya]">jean-yves.avenard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0OTgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWRhMzBlOTc2MjY0NzFk
MjQ1NThmMjYwNjkzYjllMDE5NDM4NmY0Ni4uNmU0ZTY5NDYxYzIxOTkyMTEyYmRjYjU0ZTgwODE1
Y2M4ZGIwZmUzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDIxLTAzLTI2ICBKZWFu
LVl2ZXMgQXZlbmFyZCAgPGp5YUBhcHBsZS5jb20+CisKKyAgICAgICAgTm93IFBsYXlpbmcgY29u
dGVudCBpc24ndCB1cGRhdGVkIHdoZW4gbWVkaWEgc2Vzc2lvbidzIE1ldGFkYXRhIGlzIG1vZGlm
aWVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjM3
OTUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc1ODgzNDc4PgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1hbnVhbGx5IHRlc3RlZC4gRW5zdXJpbmcg
dGhhdCBpbW1lZGlhdGVseSBhZnRlciBtb2RpZnlpbmcgdGhlIE1lZGlhU2Vzc2lvbiBtZXRhZGF0
YSwgTm93UGxheWluZyByZWZsZWN0cyB0aGUgY2hhbmdlLgorCisgICAgICAgICogTW9kdWxlcy9t
ZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNlc3Np
b246Ok9ic2VydmVyOjptZXRhZGF0YUNoYW5nZWQpOiBDaGFuZ2UgbWV0aG9kIHByb3RvdHlwZSB0
byBhdm9pZCB1bm5lY2Vzc2FyeSByZWZjb3VudC4KKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6IEV4cG9ydCBhZGRpdGlvbmFsIGhlYWRlcnMuCisgICAgICAgICog
aHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcDogQWRkIE1lZGlhU2Vzc2lvbk9ic2VydmVyIGNs
YXNzLCB3ZSB1c2Ugc2VwYXJhdGUgcHJveHkgdG8gYXZvaWQgbXVsdGlwbGUgaW5oZXJpdGFuY2Ug
b2YgQ2FuTWFrZVdlYWtQdHIuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNlc3Npb25PYnNlcnZl
cjo6TWVkaWFTZXNzaW9uT2JzZXJ2ZXIpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTZXNzaW9u
T2JzZXJ2ZXI6OmFjdGlvbkhhbmRsZXJzQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRp
YUVsZW1lbnRTZXNzaW9uOjpyZWdpc3RlcldpdGhEb2N1bWVudCk6IEFkZCBNZWRpYUVsZW1lbnRT
ZXNzaW9uIGFzIE1lZGlhIFNlc3Npb24gb2JzZXJ2ZXIgd2hlbiBpdCdzIGFkZGVkIHRvIHRoZSBE
T00uCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVsZW1lbnRTZXNzaW9uOjp1bnJlZ2lzdGVyV2l0
aERvY3VtZW50KTogUmVtb3ZlIE1lZGlhRWxlbWVudFNlc3Npb24gYXMgTWVkaWEgU2Vzc2lvbiBv
YnNlcnZlciB3aGVuIGl0J3MgcmVtb3ZlZCBmcm9tIHRoZSBET00uCisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYUVsZW1lbnRTZXNzaW9uOjpkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQpOiBT
aW1wbGlmeSB3aXRoIG5ldyBtZWRpYVNlc3Npb24oKSBoZWxwZXIuCisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYUVsZW1lbnRTZXNzaW9uOjpub3dQbGF5aW5nSW5mbyBjb25zdCk6IFNpbXBsaWZ5IHdp
dGggbmV3IG1lZGlhU2Vzc2lvbigpIGhlbHBlci4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRWxl
bWVudFNlc3Npb246Om1lZGlhU2Vzc2lvbiBjb25zdCk6IEhlbHBlciB0byByZXRyaWV2ZSBhc3Nv
Y2lhdGVkIG1lZGlhU2Vzc2lvbiBvYmplY3QuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVsZW1l
bnRTZXNzaW9uOjplbnN1cmVJc09ic2VydmluZ01lZGlhU2Vzc2lvbik6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYUVsZW1lbnRTZXNzaW9uOjptZXRhZGF0YUNoYW5nZWQpOiBDYWxsIGNsaWVudENo
YXJhY3RlcmlzdGljc0NoYW5nZWQgd2hpY2ggd2lsbCB0cmlnZ2VyIHRoZSBQbGF0Zm9ybU1lZGlh
U2Vzc2lvbk1hbmFnZXIgdG8gcmVmcmVzaCB0aGUgTm93UGxheWluZ0luZm8gY29udGVudC4KKyAg
ICAgICAgKFdlYkNvcmU6Ok1lZGlhRWxlbWVudFNlc3Npb246OnBvc2l0aW9uU3RhdGVDaGFuZ2Vk
KTogTWV0aG9kIGN1cnJlbnRseSBkb2luZyBub3RoaW5nLiBQcmVwYXJpbmcgZm9yIGZ1dHVyZSBj
aGFuZ2UuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVsZW1lbnRTZXNzaW9uOjpwbGF5YmFja1N0
YXRlQ2hhbmdlZCk6IE1ldGhvZCBjdXJyZW50bHkgZG9pbmcgbm90aGluZy4gUHJlcGFyaW5nIGZv
ciBmdXR1cmUgY2hhbmdlLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbGVtZW50U2Vzc2lvbjo6
YWN0aW9uSGFuZGxlcnNDaGFuZ2VkKTogTWV0aG9kIGN1cnJlbnRseSBkb2luZyBub3RoaW5nLiBQ
cmVwYXJpbmcgZm9yIGZ1dHVyZSBjaGFuZ2UuCisgICAgICAgICogaHRtbC9NZWRpYUVsZW1lbnRT
ZXNzaW9uLmg6IEFkZCBtZXRob2RzLgorICAgICAgICAqIHBsYXRmb3JtL2NvY29hL1JlbW90ZUNv
bW1hbmRMaXN0ZW5lckNvY29hLmg6IFJlbW92ZSB0cmFpbGluZyB3aGl0ZXNwYWNlLgorCiAyMDIx
LTAzLTI1ICBKZWFuLVl2ZXMgQXZlbmFyZCAgPGp5YUBhcHBsZS5jb20+CiAKICAgICAgICAgRml4
IE5vd1BsYXlpbmdJbmZvQXJ0d29yayBvcGVyYXRvcj09IGxvZ2ljLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uLmggYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYVNlc3Npb24uaAppbmRleCA4ZDA1MDdj
ZjA5OTBmZDU1YzUxYzdkMWE5N2Q4YjVkMTljZDhjM2FjLi5mYjI2NmFkMjNhNDU5NjMxZTM3ODc0
YmRjOTFlMGZlMWYyYWE4N2UwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc2Vzc2lvbi9NZWRpYVNlc3Npb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc2Vzc2lvbi9NZWRpYVNlc3Npb24uaApAQCAtMTAyLDcgKzEwMiw3IEBAIHB1YmxpYzoKICAg
ICBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwgfk9ic2VydmVyKCkgPSBkZWZhdWx0OwogCi0gICAg
ICAgIHZpcnR1YWwgdm9pZCBtZXRhZGF0YUNoYW5nZWQoUmVmUHRyPE1lZGlhTWV0YWRhdGE+KSB7
IH0KKyAgICAgICAgdmlydHVhbCB2b2lkIG1ldGFkYXRhQ2hhbmdlZChjb25zdCBSZWZQdHI8TWVk
aWFNZXRhZGF0YT4mKSB7IH0KICAgICAgICAgdmlydHVhbCB2b2lkIHBvc2l0aW9uU3RhdGVDaGFu
Z2VkKE9wdGlvbmFsPE1lZGlhUG9zaXRpb25TdGF0ZT4pIHsgfQogICAgICAgICB2aXJ0dWFsIHZv
aWQgcGxheWJhY2tTdGF0ZUNoYW5nZWQoTWVkaWFTZXNzaW9uUGxheWJhY2tTdGF0ZSkgeyB9CiAg
ICAgICAgIHZpcnR1YWwgdm9pZCBhY3Rpb25IYW5kbGVyc0NoYW5nZWQoKSB7IH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBmMzY4
NWY5NTZiNmViMDI2MWY0OWQ1MjI0NTFiY2Q2OTg4NzNmMGQ1Li41YjE4NTU2MWI3YjM5NWJlNjVm
MzI5NWY5MTYxY2E5NmNlYWM3MDNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNDcyLDYgKzE0NzIsOCBAQAogCQk1MTRDNzY3
QjBDRTkyM0ExMDA3RUYzQ0QgLyogUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE0Qzc2NjYwQ0U5MjNBMTAwN0VG
M0NEIC8qIFJlc291cmNlSGFuZGxlSW50ZXJuYWwuaCAqLzsgfTsKIAkJNTE0Qzc2N0QwQ0U5MjNB
MTAwN0VGM0NEIC8qIFJlc291cmNlUmVxdWVzdEJhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNEM3NjY4MENFOTIzQTEwMDdFRjNDRCAvKiBSZXNv
dXJjZVJlcXVlc3RCYXNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJNTE0Qzc2N0YwQ0U5MjNBMTAwN0VGM0NEIC8qIFJlc291cmNlUmVzcG9uc2VC
YXNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTRD
NzY2QTBDRTkyM0ExMDA3RUYzQ0QgLyogUmVzb3VyY2VSZXNwb25zZUJhc2UuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk1MTU5RjI2ODI2MERGQzNG
MDBCMkRBM0MgLyogTWVkaWFTZXNzaW9uUGxheWJhY2tTdGF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0REREVBMjkyNTM4Q0RDQjAwQTEzMDBDIC8q
IE1lZGlhU2Vzc2lvblBsYXliYWNrU3RhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OworCQk1MTU5RjI2QTI2MERGQzVBMDBCMkRBM0MgLyogTWVkaWFQ
b3NpdGlvblN0YXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDRERERUEzNDI1MzhDRTYyMDBBMTMwMEMgLyogTWVkaWFQb3NpdGlvblN0YXRlLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNTE1QkUxOTAx
RDU0RjVGQjAwREQ3QzY4IC8qIEVtcHR5R2FtZXBhZFByb3ZpZGVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTVCRTE4OTFENTRGNUY2MDBERDdDNjgg
LyogRW1wdHlHYW1lcGFkUHJvdmlkZXIuaCAqLzsgfTsKIAkJNTE1QkUxOTIxRDU0RjVGQjAwREQ3
QzY4IC8qIEdhbWVwYWRQcm92aWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNTE1QkUxOEIxRDU0RjVGNjAwREQ3QzY4IC8qIEdhbWVwYWRQcm92aWRl
ci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTUx
NUJFMTkzMUQ1NEY1RkIwMEREN0M2OCAvKiBHYW1lcGFkUHJvdmlkZXJDbGllbnQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNUJFMThDMUQ1NEY1RjYw
MEREN0M2OCAvKiBHYW1lcGFkUHJvdmlkZXJDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMzM5NjksNiArMzM5NzEsNyBAQAogCQkJCURG
OUFGRDcyMTNGQzMxRDgwMDE1RkVCNyAvKiBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25P
YmpDLmggaW4gSGVhZGVycyAqLywKIAkJCQlDREM4QjVBMzE4MDQ2MzQ3MDAxNkU2ODUgLyogTWVk
aWFQbGF5ZXJQcml2YXRlTWVkaWFTb3VyY2VBVkZPYmpDLmggaW4gSGVhZGVycyAqLywKIAkJCQkx
NTA1MjRGNDFCNzEyRkY2MDA2OTZBQTkgLyogTWVkaWFQbGF5ZXJQcml2YXRlTWVkaWFTdHJlYW1B
VkZPYmpDLmggaW4gSGVhZGVycyAqLywKKwkJCQk1MTU5RjI2QTI2MERGQzVBMDBCMkRBM0MgLyog
TWVkaWFQb3NpdGlvblN0YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MkUyQ0FGQzE5RkYwMjA3
MDAxRUVCNEYgLyogTWVkaWFQcm9kdWNlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNEUxOTU5MkEw
QTM5REFDQzAwMjIwRkU1IC8qIE1lZGlhUXVlcnkuaCBpbiBIZWFkZXJzICovLAogCQkJCTk0OTNC
NkJGMUQ3NEI0MTIwMDg4RTc4MCAvKiBNZWRpYVF1ZXJ5QmxvY2tXYXRjaGVyLmggaW4gSGVhZGVy
cyAqLywKQEAgLTMzOTk4LDYgKzM0MDAxLDcgQEAKIAkJCQk0MTQ0NjBBMjI0MTI5OTQ1MDA4MTRC
RTcgLyogTWVkaWFTZXNzaW9uSWRlbnRpZmllci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDE3RjdB
RUYyMTM5QkY2RjAwRkJBN0VDIC8qIE1lZGlhU2Vzc2lvbk1hbmFnZXJDb2NvYS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMDc2MzhBOTkxODg0NDg3MjAwRTE1QTFCIC8qIE1lZGlhU2Vzc2lvbk1hbmFn
ZXJJT1MuaCBpbiBIZWFkZXJzICovLAorCQkJCTUxNTlGMjY4MjYwREZDM0YwMEIyREEzQyAvKiBN
ZWRpYVNlc3Npb25QbGF5YmFja1N0YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRDNBNDk1RjE3
QTlEMDFCMDAyNzRFNDIgLyogTWVkaWFTb3VyY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUNENjQx
RUIzMTgxOEY1RUQwMEVFNEM0MSAvKiBNZWRpYVNvdXJjZVByaXZhdGUuaCBpbiBIZWFkZXJzICov
LAogCQkJCUNEQzhCNUE3MTgwNDc0RjcwMDE2RTY4NSAvKiBNZWRpYVNvdXJjZVByaXZhdGVBVkZP
YmpDLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVk
aWFFbGVtZW50U2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNl
c3Npb24uY3BwCmluZGV4IDJhNDE2MTFlNWI1NzIwZGJiZjMyZGYzMzdmMmE3Y2EzNmM5OTBiNDQu
LjQ5Yzc2NzMwMjZjMjY1M2ZhMDRlNzNhYTJmNGI2ZTk2YjYxNmFlMDggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcApAQCAtNTYsNyArNTYsOSBAQAogCiAj
aWYgRU5BQkxFKE1FRElBX1NFU1NJT04pCiAjaW5jbHVkZSAiTWVkaWFNZXRhZGF0YS5oIgorI2lu
Y2x1ZGUgIk1lZGlhUG9zaXRpb25TdGF0ZS5oIgogI2luY2x1ZGUgIk1lZGlhU2Vzc2lvbi5oIgor
I2luY2x1ZGUgIk1lZGlhU2Vzc2lvblBsYXliYWNrU3RhdGUuaCIKICNpbmNsdWRlICJOYXZpZ2F0
b3JNZWRpYVNlc3Npb24uaCIKICNlbmRpZgogCkBAIC0xMTQsNiArMTE2LDQwIEBAIHN0YXRpYyBi
b29sIHBhZ2VFeHBsaWNpdGx5QWxsb3dzRWxlbWVudFRvQXV0b3BsYXlJbmxpbmUoY29uc3QgSFRN
TE1lZGlhRWxlbWVudCYKICAgICByZXR1cm4gZG9jdW1lbnQuaXNNZWRpYURvY3VtZW50KCkgJiYg
IWRvY3VtZW50Lm93bmVyRWxlbWVudCgpICYmIHBhZ2UgJiYgcGFnZS0+YWxsb3dzTWVkaWFEb2N1
bWVudElubGluZVBsYXliYWNrKCk7CiB9CiAKKyNpZiBFTkFCTEUoTUVESUFfU0VTU0lPTikKK2Ns
YXNzIE1lZGlhU2Vzc2lvbk9ic2VydmVyIDogcHVibGljIE1lZGlhU2Vzc2lvbjo6T2JzZXJ2ZXIg
eworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOworCitwdWJsaWM6CisgICAgTWVkaWFTZXNz
aW9uT2JzZXJ2ZXIoTWVkaWFFbGVtZW50U2Vzc2lvbiYgc2Vzc2lvbikKKyAgICAgICAgOiBtX3Nl
c3Npb24obWFrZVdlYWtQdHIoc2Vzc2lvbikpCisgICAgeworICAgIH0KKyAgICB2b2lkIG1ldGFk
YXRhQ2hhbmdlZChjb25zdCBSZWZQdHI8TWVkaWFNZXRhZGF0YT4mIG1ldGFkYXRhKSBmaW5hbAor
ICAgIHsKKyAgICAgICAgaWYgKG1fc2Vzc2lvbikKKyAgICAgICAgICAgIG1fc2Vzc2lvbi0+bWV0
YWRhdGFDaGFuZ2VkKG1ldGFkYXRhKTsKKyAgICB9CisgICAgdm9pZCBwb3NpdGlvblN0YXRlQ2hh
bmdlZChPcHRpb25hbDxNZWRpYVBvc2l0aW9uU3RhdGU+IHN0YXRlKSBmaW5hbAorICAgIHsKKyAg
ICAgICAgaWYgKG1fc2Vzc2lvbikKKyAgICAgICAgICAgIG1fc2Vzc2lvbi0+cG9zaXRpb25TdGF0
ZUNoYW5nZWQoc3RhdGUpOworICAgIH0KKyAgICB2b2lkIHBsYXliYWNrU3RhdGVDaGFuZ2VkKE1l
ZGlhU2Vzc2lvblBsYXliYWNrU3RhdGUgc3RhdGUpIGZpbmFsCisgICAgeworICAgICAgICBpZiAo
bV9zZXNzaW9uKQorICAgICAgICAgICAgbV9zZXNzaW9uLT5wbGF5YmFja1N0YXRlQ2hhbmdlZChz
dGF0ZSk7CisgICAgfQorICAgIHZvaWQgYWN0aW9uSGFuZGxlcnNDaGFuZ2VkKCkKKyAgICB7Cisg
ICAgICAgIGlmIChtX3Nlc3Npb24pCisgICAgICAgICAgICBtX3Nlc3Npb24tPmFjdGlvbkhhbmRs
ZXJzQ2hhbmdlZCgpOworICAgIH0KK3ByaXZhdGU6CisgICAgV2Vha1B0cjxNZWRpYUVsZW1lbnRT
ZXNzaW9uPiBtX3Nlc3Npb247Cit9OworI2VuZGlmCisKIE1lZGlhRWxlbWVudFNlc3Npb246Ok1l
ZGlhRWxlbWVudFNlc3Npb24oSFRNTE1lZGlhRWxlbWVudCYgZWxlbWVudCkKICAgICA6IFBsYXRm
b3JtTWVkaWFTZXNzaW9uKFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6c2hhcmVkTWFuYWdl
cigpLCBlbGVtZW50KQogICAgICwgbV9lbGVtZW50KGVsZW1lbnQpCkBAIC0xNjEsNiArMTk3LDcg
QEAgdm9pZCBNZWRpYUVsZW1lbnRTZXNzaW9uOjpyZWdpc3RlcldpdGhEb2N1bWVudChEb2N1bWVu
dCYgZG9jdW1lbnQpCiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShkb2N1bWVudCk7CiAjZW5kaWYK
KyAgICBlbnN1cmVJc09ic2VydmluZ01lZGlhU2Vzc2lvbigpOwogfQogCiB2b2lkIE1lZGlhRWxl
bWVudFNlc3Npb246OnVucmVnaXN0ZXJXaXRoRG9jdW1lbnQoRG9jdW1lbnQmIGRvY3VtZW50KQpA
QCAtMTcwLDYgKzIwNywxMiBAQCB2b2lkIE1lZGlhRWxlbWVudFNlc3Npb246OnVucmVnaXN0ZXJX
aXRoRG9jdW1lbnQoRG9jdW1lbnQmIGRvY3VtZW50KQogI2Vsc2UKICAgICBVTlVTRURfUEFSQU0o
ZG9jdW1lbnQpOwogI2VuZGlmCisjaWYgRU5BQkxFKE1FRElBX1NFU1NJT04pCisgICAgYXV0byog
c2Vzc2lvbiA9IG1lZGlhU2Vzc2lvbigpOworICAgIGlmIChzZXNzaW9uICYmIG1fb2JzZXJ2ZXIp
CisgICAgICAgIHNlc3Npb24tPnJlbW92ZU9ic2VydmVyKCptX29ic2VydmVyKTsKKyAgICBtX29i
c2VydmVyID0gbnVsbHB0cjsKKyNlbmRpZgogfQogCiB2b2lkIE1lZGlhRWxlbWVudFNlc3Npb246
OmNsaWVudFdpbGxCZWdpbkF1dG9wbGF5aW5nKCkKQEAgLTEwMjgsOCArMTA3MSw3IEBAIGJvb2wg
TWVkaWFFbGVtZW50U2Vzc2lvbjo6YWxsb3dzUGxheWJhY2tDb250cm9sc0ZvckF1dG9wbGF5aW5n
QXVkaW8oKSBjb25zdAogI2lmIEVOQUJMRShNRURJQV9TRVNTSU9OKQogdm9pZCBNZWRpYUVsZW1l
bnRTZXNzaW9uOjpkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUmVtb3RlQ29udHJvbENv
bW1hbmRUeXBlIGNvbW1hbmRUeXBlLCBjb25zdCBSZW1vdGVDb21tYW5kQXJndW1lbnQmIGFyZ3Vt
ZW50KQogewotICAgIGF1dG8qIHdpbmRvdyA9IG1fZWxlbWVudC5kb2N1bWVudCgpLmRvbVdpbmRv
dygpOwotICAgIGF1dG8qIHNlc3Npb24gPSB3aW5kb3cgPyAmTmF2aWdhdG9yTWVkaWFTZXNzaW9u
OjptZWRpYVNlc3Npb24od2luZG93LT5uYXZpZ2F0b3IoKSkgOiBudWxscHRyOworICAgIGF1dG8q
IHNlc3Npb24gPSBtZWRpYVNlc3Npb24oKTsKICAgICBpZiAoIXNlc3Npb24gfHwgIXNlc3Npb24t
Pmhhc0FjdGl2ZUFjdGlvbkhhbmRsZXJzKCkpIHsKICAgICAgICAgUGxhdGZvcm1NZWRpYVNlc3Np
b246OmRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChjb21tYW5kVHlwZSwgYXJndW1lbnQp
OwogICAgICAgICByZXR1cm47CkBAIC0xMTA4LDEyICsxMTUwLDExIEBAIE9wdGlvbmFsPE5vd1Bs
YXlpbmdJbmZvPiBNZWRpYUVsZW1lbnRTZXNzaW9uOjpub3dQbGF5aW5nSW5mbygpIGNvbnN0CiAg
ICAgICAgIGN1cnJlbnRUaW1lID0gTWVkaWFQbGF5ZXI6OmludmFsaWRUaW1lKCk7CiAKICNpZiBF
TkFCTEUoTUVESUFfU0VTU0lPTikKLSAgICBhdXRvKiB3aW5kb3cgPSBtX2VsZW1lbnQuZG9jdW1l
bnQoKS5kb21XaW5kb3coKTsKLSAgICBhdXRvKiBzZXNzaW9uTWV0YWRhdGEgPSB3aW5kb3cgPyBO
YXZpZ2F0b3JNZWRpYVNlc3Npb246Om1lZGlhU2Vzc2lvbih3aW5kb3ctPm5hdmlnYXRvcigpKS5t
ZXRhZGF0YSgpIDogbnVsbHB0cjsKKyAgICBhdXRvKiBzZXNzaW9uID0gbWVkaWFTZXNzaW9uKCk7
CisgICAgYXV0byogc2Vzc2lvbk1ldGFkYXRhID0gc2Vzc2lvbiA/IHNlc3Npb24tPm1ldGFkYXRh
KCkgOiBudWxscHRyOwogICAgIGlmIChzZXNzaW9uTWV0YWRhdGEpIHsKICAgICAgICAgT3B0aW9u
YWw8Tm93UGxheWluZ0luZm9BcnR3b3JrPiBhcnR3b3JrOwogICAgICAgICBpZiAoc2Vzc2lvbk1l
dGFkYXRhLT5hcnR3b3JrSW1hZ2UoKSkgewotICAgICAgICAgICAgLy8gRklYTUU6IE9wdGltaXpl
IHNvIHRoYXQgd2Ugb25seSBzZW5kIGFuIGltYWdlIGlmIGl0IGNoYW5nZXMuCiAgICAgICAgICAg
ICBhcnR3b3JrID0gTm93UGxheWluZ0luZm9BcnR3b3JrIHsgc2Vzc2lvbk1ldGFkYXRhLT5hcnR3
b3JrU3JjKCksIHNlc3Npb25NZXRhZGF0YS0+YXJ0d29ya0ltYWdlKCktPm1pbWVUeXBlKCksIHNl
c3Npb25NZXRhZGF0YS0+YXJ0d29ya0ltYWdlKCktPmRhdGEoKSB9OwogICAgICAgICB9CiAgICAg
ICAgIHJldHVybiBOb3dQbGF5aW5nSW5mbyB7IHNlc3Npb25NZXRhZGF0YS0+dGl0bGUoKSwgc2Vz
c2lvbk1ldGFkYXRhLT5hcnRpc3QoKSwgc2Vzc2lvbk1ldGFkYXRhLT5hbGJ1bSgpLCBtX2VsZW1l
bnQuc291cmNlQXBwbGljYXRpb25JZGVudGlmaWVyKCksIGR1cmF0aW9uLCBjdXJyZW50VGltZSwg
c3VwcG9ydHNTZWVraW5nLCBtX2VsZW1lbnQubWVkaWFTZXNzaW9uVW5pcXVlSWRlbnRpZmllcigp
LCBpc1BsYXlpbmcsIGFsbG93c05vd1BsYXlpbmdDb250cm9sc1Zpc2liaWxpdHksIFdURk1vdmUo
YXJ0d29yaykgfTsKQEAgLTEyMDEsNiArMTI0Miw0MCBAQCBTdHJpbmcgY29udmVydEVudW1lcmF0
aW9uVG9TdHJpbmcoY29uc3QgTWVkaWFQbGF5YmFja0RlbmlhbFJlYXNvbiBlbnVtZXJhdGlvblZh
bAogICAgIHJldHVybiB2YWx1ZXNbc3RhdGljX2Nhc3Q8c2l6ZV90PihlbnVtZXJhdGlvblZhbHVl
KV07CiB9CiAKK01lZGlhU2Vzc2lvbiogTWVkaWFFbGVtZW50U2Vzc2lvbjo6bWVkaWFTZXNzaW9u
KCkgY29uc3QKK3sKKyNpZiBFTkFCTEUoTUVESUFfU0VTU0lPTikKKyAgICBhdXRvKiB3aW5kb3cg
PSBtX2VsZW1lbnQuZG9jdW1lbnQoKS5kb21XaW5kb3coKTsKKyAgICBpZiAoIXdpbmRvdykKKyAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgcmV0dXJuICZOYXZpZ2F0b3JNZWRpYVNlc3Npb246
Om1lZGlhU2Vzc2lvbih3aW5kb3ctPm5hdmlnYXRvcigpKTsKKyNlbHNlCisgICAgcmV0dXJuIG51
bGxwdHI7CisjZW5kaWYKK30KKwordm9pZCBNZWRpYUVsZW1lbnRTZXNzaW9uOjplbnN1cmVJc09i
c2VydmluZ01lZGlhU2Vzc2lvbigpCit7CisjaWYgRU5BQkxFKE1FRElBX1NFU1NJT04pCisgICAg
YXV0byogc2Vzc2lvbiA9IG1lZGlhU2Vzc2lvbigpOworICAgIGlmICghc2Vzc2lvbiB8fCBtX29i
c2VydmVyKQorICAgICAgICByZXR1cm47CisgICAgbV9vYnNlcnZlciA9IG1ha2VVbmlxdWU8TWVk
aWFTZXNzaW9uT2JzZXJ2ZXI+KCp0aGlzKTsKKyAgICBzZXNzaW9uLT5hZGRPYnNlcnZlcigqbV9v
YnNlcnZlcik7CisjZW5kaWYKK30KKwordm9pZCBNZWRpYUVsZW1lbnRTZXNzaW9uOjptZXRhZGF0
YUNoYW5nZWQoY29uc3QgUmVmUHRyPE1lZGlhTWV0YWRhdGE+JikKK3sKKyAgICBjbGllbnRDaGFy
YWN0ZXJpc3RpY3NDaGFuZ2VkKCk7Cit9CisKK3ZvaWQgTWVkaWFFbGVtZW50U2Vzc2lvbjo6cG9z
aXRpb25TdGF0ZUNoYW5nZWQoT3B0aW9uYWw8TWVkaWFQb3NpdGlvblN0YXRlPikgeyB9CisKK3Zv
aWQgTWVkaWFFbGVtZW50U2Vzc2lvbjo6cGxheWJhY2tTdGF0ZUNoYW5nZWQoTWVkaWFTZXNzaW9u
UGxheWJhY2tTdGF0ZSkgeyB9CisKK3ZvaWQgTWVkaWFFbGVtZW50U2Vzc2lvbjo6YWN0aW9uSGFu
ZGxlcnNDaGFuZ2VkKCkgeyB9CisKIH0KIAogI2VuZGlmIC8vIEVOQUJMRShWSURFTykKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5oIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmgKaW5kZXggYzczMTliMTk3NDZjZDQ3
MzZjZDk3ODYwNjAzMTc5MTQzOWM3ZGMyOC4uYjA4YTI4NDY4Zjc0MjEwNjRjOTg4ZmYzYjRjZTZi
MTdkYTllZjU4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRT
ZXNzaW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmgK
QEAgLTM2LDYgKzM2LDEwIEBACiAjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+CiAjaW5jbHVkZSA8
d3RmL1R5cGVDYXN0cy5oPgogCisjaWYgRU5BQkxFKE1FRElBX1NFU1NJT04pCisjaW5jbHVkZSA8
bWVtb3J5PgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogZW51bSBjbGFzcyBNZWRp
YVNlc3Npb25NYWluQ29udGVudFB1cnBvc2UgewpAQCAtNTcsNyArNjEsMTIgQEAgZW51bSBjbGFz
cyBNZWRpYVBsYXliYWNrRGVuaWFsUmVhc29uIHsKIAogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBI
VE1MTWVkaWFFbGVtZW50OworY2xhc3MgTWVkaWFNZXRhZGF0YTsKK3N0cnVjdCBNZWRpYVBvc2l0
aW9uU3RhdGU7CitjbGFzcyBNZWRpYVNlc3Npb247CitjbGFzcyBNZWRpYVNlc3Npb25PYnNlcnZl
cjsKIGNsYXNzIFNvdXJjZUJ1ZmZlcjsKK2VudW0gY2xhc3MgTWVkaWFTZXNzaW9uUGxheWJhY2tT
dGF0ZSA6IHVpbnQ4X3Q7CiAKIGNsYXNzIE1lZGlhRWxlbWVudFNlc3Npb24gZmluYWwgOiBwdWJs
aWMgUGxhdGZvcm1NZWRpYVNlc3Npb24KIHsKQEAgLTE3NSw5ICsxODQsMTEgQEAgcHVibGljOgog
ICAgIGNvbnN0IGNoYXIqIGxvZ0NsYXNzTmFtZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuICJNZWRp
YUVsZW1lbnRTZXNzaW9uIjsgfQogI2VuZGlmCiAKLSNpZiBFTkFCTEUoTUVESUFfU0VTU0lPTikK
ICAgICB2b2lkIGRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChSZW1vdGVDb250cm9sQ29t
bWFuZFR5cGUsIGNvbnN0IFJlbW90ZUNvbW1hbmRBcmd1bWVudCYpIGZpbmFsOwotI2VuZGlmCisg
ICAgdm9pZCBtZXRhZGF0YUNoYW5nZWQoY29uc3QgUmVmUHRyPE1lZGlhTWV0YWRhdGE+Jik7Cisg
ICAgdm9pZCBwb3NpdGlvblN0YXRlQ2hhbmdlZChPcHRpb25hbDxNZWRpYVBvc2l0aW9uU3RhdGU+
KTsKKyAgICB2b2lkIHBsYXliYWNrU3RhdGVDaGFuZ2VkKE1lZGlhU2Vzc2lvblBsYXliYWNrU3Rh
dGUpOworICAgIHZvaWQgYWN0aW9uSGFuZGxlcnNDaGFuZ2VkKCk7CiAKIHByaXZhdGU6CiAKQEAg
LTE5Myw2ICsyMDQsOSBAQCBwcml2YXRlOgogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAg
Ym9vbCByZXF1aXJlc1BsYXliYWNrVGFyZ2V0Um91dGVNb25pdG9yaW5nKCkgY29uc3Qgb3ZlcnJp
ZGU7CiAjZW5kaWYKKyAgICB2b2lkIGVuc3VyZUlzT2JzZXJ2aW5nTWVkaWFTZXNzaW9uKCk7Cisg
ICAgTWVkaWFTZXNzaW9uKiBtZWRpYVNlc3Npb24oKSBjb25zdDsKKwogICAgIGJvb2wgdXBkYXRl
SXNNYWluQ29udGVudCgpIGNvbnN0OwogICAgIHZvaWQgbWFpbkNvbnRlbnRDaGVja1RpbWVyRmly
ZWQoKTsKIApAQCAtMjM2LDYgKzI1MCw3IEBAIHByaXZhdGU6CiAgICAgCiAjaWYgRU5BQkxFKE1F
RElBX1NFU1NJT04pCiAgICAgYm9vbCBtX2lzU2NydWJiaW5nIHsgZmFsc2UgfTsKKyAgICBzdGQ6
OnVuaXF1ZV9wdHI8TWVkaWFTZXNzaW9uT2JzZXJ2ZXI+IG1fb2JzZXJ2ZXI7CiAjZW5kaWYKIH07
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1JlbW90ZUNvbW1h
bmRMaXN0ZW5lckNvY29hLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9SZW1vdGVD
b21tYW5kTGlzdGVuZXJDb2NvYS5oCmluZGV4IGZiMGNmYjk3M2ZiMTE4YTM4YmI0YThiNWI2ODgw
N2FhNDE5YjM5MGYuLmE2ZDEwZTk2M2E1MjFmYzEwZmRhY2RhNWM0NGE3OTdmZWNhMmJhYTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1JlbW90ZUNvbW1hbmRMaXN0
ZW5lckNvY29hLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUmVtb3RlQ29t
bWFuZExpc3RlbmVyQ29jb2EuaApAQCAtNDcsNyArNDcsNyBAQCBwcml2YXRlOgogICAgIGNvbnN0
IFJlbW90ZUNvbW1hbmRzU2V0JiBkZWZhdWx0Q29tbWFuZHMoKTsKICAgICBSZW1vdGVDb21tYW5k
c1NldCBtX2N1cnJlbnRDb21tYW5kczsKIH07Ci0gICAgCisKIH0KIAogI2VuZGlmIC8vIFBMQVRG
T1JNKE1BQykK
</data>
<flag name="commit-queue"
          id="443996"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424346</attachid>
            <date>2021-03-26 06:42:20 -0700</date>
            <delta_ts>2021-03-26 06:50:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223795-20210327004219.patch</filename>
            <type>text/plain</type>
            <size>18664</size>
            <attacher name="Jean-Yves Avenard [:jya]">jean-yves.avenard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0OTgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWRhMzBlOTc2MjY0NzFk
MjQ1NThmMjYwNjkzYjllMDE5NDM4NmY0Ni4uMmFhODUyMjM4ZmI5NmRhMjM4YzM2YzkxN2FkYjMz
NjE2YzI2YjE3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDIxLTAzLTI2ICBKZWFu
LVl2ZXMgQXZlbmFyZCAgPGp5YUBhcHBsZS5jb20+CisKKyAgICAgICAgTm93IFBsYXlpbmcgY29u
dGVudCBpc24ndCB1cGRhdGVkIHdoZW4gbWVkaWEgc2Vzc2lvbidzIE1ldGFkYXRhIGlzIG1vZGlm
aWVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjM3
OTUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc1ODgzNDc4PgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1hbnVhbGx5IHRlc3RlZC4gRW5zdXJpbmcg
dGhhdCBpbW1lZGlhdGVseSBhZnRlciBtb2RpZnlpbmcgdGhlIE1lZGlhU2Vzc2lvbiBtZXRhZGF0
YSwgTm93UGxheWluZyByZWZsZWN0cyB0aGUgY2hhbmdlLgorCisgICAgICAgICogTW9kdWxlcy9t
ZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNlc3Np
b246Ok9ic2VydmVyOjptZXRhZGF0YUNoYW5nZWQpOiBDaGFuZ2UgbWV0aG9kIHByb3RvdHlwZSB0
byBhdm9pZCB1bm5lY2Vzc2FyeSByZWZjb3VudC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU2Vz
c2lvbjo6T2JzZXJ2ZXI6OnBvc2l0aW9uU3RhdGVDaGFuZ2VkKTogQ2hhbmdlIG1ldGhvZCBwcm90
b3R5cGUgdG8gcGFzcyBhcmd1bWVudCBieSByZWZlcmVuY2UgcmF0aGVyIHRoYW4gdmFsdWUgKGFu
ZCBlYXNpZXIgZm9yd2FyZCBkZWNsYXJhdGlvbikuCisgICAgICAgICogTW9kdWxlcy9tZWRpYXNl
c3Npb24vTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFTZXNzaW9uQ29vcmRpbmF0b3I6OnBvc2l0aW9uU3RhdGVDaGFuZ2VkKTogIFBhc3MgYXJndW1l
bnQgYnkgcmVmZXJlbmNlIHRoYW4gdmFsdWUuCisgICAgICAgICogTW9kdWxlcy9tZWRpYXNlc3Np
b24vTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3IuaDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6IEV4cG9ydCBhZGRpdGlvbmFsIGhlYWRlcnMuCisgICAgICAgICog
aHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcDogQWRkIE1lZGlhU2Vzc2lvbk9ic2VydmVyIGNs
YXNzLCB3ZSB1c2Ugc2VwYXJhdGUgcHJveHkgdG8gYXZvaWQgbXVsdGlwbGUgaW5oZXJpdGFuY2Ug
b2YgQ2FuTWFrZVdlYWtQdHIuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNlc3Npb25PYnNlcnZl
cjo6TWVkaWFTZXNzaW9uT2JzZXJ2ZXIpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTZXNzaW9u
T2JzZXJ2ZXI6OmFjdGlvbkhhbmRsZXJzQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRp
YUVsZW1lbnRTZXNzaW9uOjpyZWdpc3RlcldpdGhEb2N1bWVudCk6IEFkZCBNZWRpYUVsZW1lbnRT
ZXNzaW9uIGFzIE1lZGlhIFNlc3Npb24gb2JzZXJ2ZXIgd2hlbiBpdCdzIGFkZGVkIHRvIHRoZSBE
T00uCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVsZW1lbnRTZXNzaW9uOjp1bnJlZ2lzdGVyV2l0
aERvY3VtZW50KTogUmVtb3ZlIE1lZGlhRWxlbWVudFNlc3Npb24gYXMgTWVkaWEgU2Vzc2lvbiBv
YnNlcnZlciB3aGVuIGl0J3MgcmVtb3ZlZCBmcm9tIHRoZSBET00uCisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYUVsZW1lbnRTZXNzaW9uOjpkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQpOiBT
aW1wbGlmeSB3aXRoIG5ldyBtZWRpYVNlc3Npb24oKSBoZWxwZXIuCisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYUVsZW1lbnRTZXNzaW9uOjpub3dQbGF5aW5nSW5mbyBjb25zdCk6IFNpbXBsaWZ5IHdp
dGggbmV3IG1lZGlhU2Vzc2lvbigpIGhlbHBlci4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRWxl
bWVudFNlc3Npb246Om1lZGlhU2Vzc2lvbiBjb25zdCk6IEhlbHBlciB0byByZXRyaWV2ZSBhc3Nv
Y2lhdGVkIG1lZGlhU2Vzc2lvbiBvYmplY3QuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVsZW1l
bnRTZXNzaW9uOjplbnN1cmVJc09ic2VydmluZ01lZGlhU2Vzc2lvbik6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYUVsZW1lbnRTZXNzaW9uOjptZXRhZGF0YUNoYW5nZWQpOiBDYWxsIGNsaWVudENo
YXJhY3RlcmlzdGljc0NoYW5nZWQgd2hpY2ggd2lsbCB0cmlnZ2VyIHRoZSBQbGF0Zm9ybU1lZGlh
U2Vzc2lvbk1hbmFnZXIgdG8gcmVmcmVzaCB0aGUgTm93UGxheWluZ0luZm8gY29udGVudC4KKyAg
ICAgICAgKFdlYkNvcmU6Ok1lZGlhRWxlbWVudFNlc3Npb246OnBvc2l0aW9uU3RhdGVDaGFuZ2Vk
KTogTWV0aG9kIGN1cnJlbnRseSBkb2luZyBub3RoaW5nLiBQcmVwYXJpbmcgZm9yIGZ1dHVyZSBj
aGFuZ2UuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVsZW1lbnRTZXNzaW9uOjpwbGF5YmFja1N0
YXRlQ2hhbmdlZCk6IE1ldGhvZCBjdXJyZW50bHkgZG9pbmcgbm90aGluZy4gUHJlcGFyaW5nIGZv
ciBmdXR1cmUgY2hhbmdlLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbGVtZW50U2Vzc2lvbjo6
YWN0aW9uSGFuZGxlcnNDaGFuZ2VkKTogTWV0aG9kIGN1cnJlbnRseSBkb2luZyBub3RoaW5nLiBQ
cmVwYXJpbmcgZm9yIGZ1dHVyZSBjaGFuZ2UuCisgICAgICAgICogaHRtbC9NZWRpYUVsZW1lbnRT
ZXNzaW9uLmg6IEFkZCBtZXRob2RzLgorICAgICAgICAqIHBsYXRmb3JtL2NvY29hL1JlbW90ZUNv
bW1hbmRMaXN0ZW5lckNvY29hLmg6IFJlbW92ZSB0cmFpbGluZyB3aGl0ZXNwYWNlLgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL1BsYXRmb3JtTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3IuaDog
VXBkYXRlIGZvciBuZXcgbWV0aG9kIHByb3RvdHlwaW5nLgorICAgICAgICAqIHRlc3RpbmcvTW9j
a01lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tNZWRp
YVNlc3Npb25Db29yZGluYXRvcjo6cG9zaXRpb25TdGF0ZUNoYW5nZWQpOiBVcGRhdGUgZm9yIG5l
dyBtZXRob2QgcHJvdG90eXBpbmcuCisgICAgICAgICogdGVzdGluZy9Nb2NrTWVkaWFTZXNzaW9u
Q29vcmRpbmF0b3IuaDogVXBkYXRlIGZvciBuZXcgbWV0aG9kIHByb3RvdHlwaW5nLgorCiAyMDIx
LTAzLTI1ICBKZWFuLVl2ZXMgQXZlbmFyZCAgPGp5YUBhcHBsZS5jb20+CiAKICAgICAgICAgRml4
IE5vd1BsYXlpbmdJbmZvQXJ0d29yayBvcGVyYXRvcj09IGxvZ2ljLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uLmggYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYVNlc3Npb24uaAppbmRleCA4ZDA1MDdj
ZjA5OTBmZDU1YzUxYzdkMWE5N2Q4YjVkMTljZDhjM2FjLi4zNWNhNDY2NTA1ZjBiMDExYTUzY2Yy
Y2JiZTRhNWE0MTAyYTFjODgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc2Vzc2lvbi9NZWRpYVNlc3Npb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc2Vzc2lvbi9NZWRpYVNlc3Npb24uaApAQCAtMTAyLDggKzEwMiw4IEBAIHB1YmxpYzoKICAg
ICBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwgfk9ic2VydmVyKCkgPSBkZWZhdWx0OwogCi0gICAg
ICAgIHZpcnR1YWwgdm9pZCBtZXRhZGF0YUNoYW5nZWQoUmVmUHRyPE1lZGlhTWV0YWRhdGE+KSB7
IH0KLSAgICAgICAgdmlydHVhbCB2b2lkIHBvc2l0aW9uU3RhdGVDaGFuZ2VkKE9wdGlvbmFsPE1l
ZGlhUG9zaXRpb25TdGF0ZT4pIHsgfQorICAgICAgICB2aXJ0dWFsIHZvaWQgbWV0YWRhdGFDaGFu
Z2VkKGNvbnN0IFJlZlB0cjxNZWRpYU1ldGFkYXRhPiYpIHsgfQorICAgICAgICB2aXJ0dWFsIHZv
aWQgcG9zaXRpb25TdGF0ZUNoYW5nZWQoY29uc3QgT3B0aW9uYWw8TWVkaWFQb3NpdGlvblN0YXRl
PiYpIHsgfQogICAgICAgICB2aXJ0dWFsIHZvaWQgcGxheWJhY2tTdGF0ZUNoYW5nZWQoTWVkaWFT
ZXNzaW9uUGxheWJhY2tTdGF0ZSkgeyB9CiAgICAgICAgIHZpcnR1YWwgdm9pZCBhY3Rpb25IYW5k
bGVyc0NoYW5nZWQoKSB7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3IuY3BwCmluZGV4IDFk
ZjRlOTIxNTVmMWFjMDE1ZTZjNTE3NGQ0YmVmNjQ4MWU1OTM1NjcuLjMxM2Y3ZTNiNmIxZTY1YjUz
NWZjYTY0OGJiYmM4NzJhMDcxMDk2YTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzZXNzaW9uL01lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYVNlc3Npb25Db29yZGluYXRvci5jcHAK
QEAgLTIwMiw3ICsyMDIsNyBAQCB2b2lkIE1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yOjpzZXRNZWRp
YVNlc3Npb24oTWVkaWFTZXNzaW9uKiBzZXNzaW9uKQogICAgICAgICBtX3Nlc3Npb24tPmFkZE9i
c2VydmVyKCp0aGlzKTsKIH0KIAotdm9pZCBNZWRpYVNlc3Npb25Db29yZGluYXRvcjo6cG9zaXRp
b25TdGF0ZUNoYW5nZWQoT3B0aW9uYWw8TWVkaWFQb3NpdGlvblN0YXRlPiBzdGF0ZSkKK3ZvaWQg
TWVkaWFTZXNzaW9uQ29vcmRpbmF0b3I6OnBvc2l0aW9uU3RhdGVDaGFuZ2VkKGNvbnN0IE9wdGlv
bmFsPE1lZGlhUG9zaXRpb25TdGF0ZT4mIHN0YXRlKQogewogICAgIGlmICghc3RhdGUpIHsKICAg
ICAgICAgbV9wbGF0Zm9ybUNvb3JkaW5hdG9yLT5wb3NpdGlvblN0YXRlQ2hhbmdlZCh7IH0pOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vTWVkaWFTZXNz
aW9uQ29vcmRpbmF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL01l
ZGlhU2Vzc2lvbkNvb3JkaW5hdG9yLmgKaW5kZXggMjQ3Y2VjODgwYjM1M2Y0NmJjYmQ4NzBmZjVk
YmMxOTJjOTk5N2M5Mi4uNjkyNmMwMmIwMTM1NDExNDBjZTUyOTBiM2JkOTEyMGJhY2VmNThjMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vTWVkaWFTZXNz
aW9uQ29vcmRpbmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lv
bi9NZWRpYVNlc3Npb25Db29yZGluYXRvci5oCkBAIC01MSw3ICs1MSw3IEBAIHB1YmxpYzoKICAg
ICB2b2lkIHNldE1lZGlhU2Vzc2lvbihNZWRpYVNlc3Npb24qKTsKIAogICAgIC8vIE1lZGlhU2Vz
c2lvbjo6T2JzZXJ2ZXIKLSAgICB2b2lkIHBvc2l0aW9uU3RhdGVDaGFuZ2VkKE9wdGlvbmFsPE1l
ZGlhUG9zaXRpb25TdGF0ZT4pIGZpbmFsOworICAgIHZvaWQgcG9zaXRpb25TdGF0ZUNoYW5nZWQo
Y29uc3QgT3B0aW9uYWw8TWVkaWFQb3NpdGlvblN0YXRlPiYpIGZpbmFsOwogICAgIHZvaWQgcGxh
eWJhY2tTdGF0ZUNoYW5nZWQoTWVkaWFTZXNzaW9uUGxheWJhY2tTdGF0ZSkgZmluYWw7CiAgICAg
dm9pZCByZWFkeVN0YXRlQ2hhbmdlZChNZWRpYVNlc3Npb25SZWFkeVN0YXRlKSBmaW5hbDsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IGYzNjg1Zjk1NmI2ZWIwMjYxZjQ5ZDUyMjQ1MWJjZDY5ODg3M2YwZDUuLjViMTg1NTYxYjdi
Mzk1YmU2NWYzMjk1ZjkxNjFjYTk2Y2VhYzcwM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE0NzIsNiArMTQ3Miw4IEBACiAJ
CTUxNEM3NjdCMENFOTIzQTEwMDdFRjNDRCAvKiBSZXNvdXJjZUhhbmRsZUludGVybmFsLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTRDNzY2NjBDRTky
M0ExMDA3RUYzQ0QgLyogUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oICovOyB9OwogCQk1MTRDNzY3
RDBDRTkyM0ExMDA3RUYzQ0QgLyogUmVzb3VyY2VSZXF1ZXN0QmFzZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE0Qzc2NjgwQ0U5MjNBMTAwN0VGM0NE
IC8qIFJlc291cmNlUmVxdWVzdEJhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQk1MTRDNzY3RjBDRTkyM0ExMDA3RUYzQ0QgLyogUmVzb3VyY2VS
ZXNwb25zZUJhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDUxNEM3NjZBMENFOTIzQTEwMDdFRjNDRCAvKiBSZXNvdXJjZVJlc3BvbnNlQmFzZS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTUxNTlGMjY4
MjYwREZDM0YwMEIyREEzQyAvKiBNZWRpYVNlc3Npb25QbGF5YmFja1N0YXRlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRERERUEyOTI1MzhDRENCMDBB
MTMwMEMgLyogTWVkaWFTZXNzaW9uUGxheWJhY2tTdGF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTUxNTlGMjZBMjYwREZDNUEwMEIyREEzQyAv
KiBNZWRpYVBvc2l0aW9uU3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IENERERFQTM0MjUzOENFNjIwMEExMzAwQyAvKiBNZWRpYVBvc2l0aW9uU3Rh
dGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1
MTVCRTE5MDFENTRGNUZCMDBERDdDNjggLyogRW1wdHlHYW1lcGFkUHJvdmlkZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNUJFMTg5MUQ1NEY1RjYw
MEREN0M2OCAvKiBFbXB0eUdhbWVwYWRQcm92aWRlci5oICovOyB9OwogCQk1MTVCRTE5MjFENTRG
NUZCMDBERDdDNjggLyogR2FtZXBhZFByb3ZpZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTVCRTE4QjFENTRGNUY2MDBERDdDNjggLyogR2FtZXBh
ZFByb3ZpZGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJNTE1QkUxOTMxRDU0RjVGQjAwREQ3QzY4IC8qIEdhbWVwYWRQcm92aWRlckNsaWVudC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE1QkUxOEMx
RDU0RjVGNjAwREQ3QzY4IC8qIEdhbWVwYWRQcm92aWRlckNsaWVudC5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0zMzk2OSw2ICszMzk3MSw3IEBA
CiAJCQkJREY5QUZENzIxM0ZDMzFEODAwMTVGRUI3IC8qIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91
bmRhdGlvbk9iakMuaCBpbiBIZWFkZXJzICovLAogCQkJCUNEQzhCNUEzMTgwNDYzNDcwMDE2RTY4
NSAvKiBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMuaCBpbiBIZWFkZXJzICov
LAogCQkJCTE1MDUyNEY0MUI3MTJGRjYwMDY5NkFBOSAvKiBNZWRpYVBsYXllclByaXZhdGVNZWRp
YVN0cmVhbUFWRk9iakMuaCBpbiBIZWFkZXJzICovLAorCQkJCTUxNTlGMjZBMjYwREZDNUEwMEIy
REEzQyAvKiBNZWRpYVBvc2l0aW9uU3RhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTUyRTJDQUZD
MTlGRjAyMDcwMDFFRUI0RiAvKiBNZWRpYVByb2R1Y2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQk0
RTE5NTkyQTBBMzlEQUNDMDAyMjBGRTUgLyogTWVkaWFRdWVyeS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJOTQ5M0I2QkYxRDc0QjQxMjAwODhFNzgwIC8qIE1lZGlhUXVlcnlCbG9ja1dhdGNoZXIuaCBp
biBIZWFkZXJzICovLApAQCAtMzM5OTgsNiArMzQwMDEsNyBAQAogCQkJCTQxNDQ2MEEyMjQxMjk5
NDUwMDgxNEJFNyAvKiBNZWRpYVNlc3Npb25JZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk0MTdGN0FFRjIxMzlCRjZGMDBGQkE3RUMgLyogTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkwNzYzOEE5OTE4ODQ0ODcyMDBFMTVBMUIgLyogTWVkaWFTZXNz
aW9uTWFuYWdlcklPUy5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTE1OUYyNjgyNjBERkMzRjAwQjJE
QTNDIC8qIE1lZGlhU2Vzc2lvblBsYXliYWNrU3RhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUNE
M0E0OTVGMTdBOUQwMUIwMDI3NEU0MiAvKiBNZWRpYVNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQ0Q2NDFFQjMxODE4RjVFRDAwRUU0QzQxIC8qIE1lZGlhU291cmNlUHJpdmF0ZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQ0RDOEI1QTcxODA0NzRGNzAwMTZFNjg1IC8qIE1lZGlhU291cmNlUHJp
dmF0ZUFWRk9iakMuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFF
bGVtZW50U2Vzc2lvbi5jcHAKaW5kZXggMmE0MTYxMWU1YjU3MjBkYmJmMzJkZjMzN2YyYTdjYTM2
Yzk5MGI0NC4uYTFhMTFhMjNiMGEzNGU2MDcwYmFhZDkyNTJkZTM4MjdmMTgzM2VkZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwCkBAIC01Niw3ICs1Niw5
IEBACiAKICNpZiBFTkFCTEUoTUVESUFfU0VTU0lPTikKICNpbmNsdWRlICJNZWRpYU1ldGFkYXRh
LmgiCisjaW5jbHVkZSAiTWVkaWFQb3NpdGlvblN0YXRlLmgiCiAjaW5jbHVkZSAiTWVkaWFTZXNz
aW9uLmgiCisjaW5jbHVkZSAiTWVkaWFTZXNzaW9uUGxheWJhY2tTdGF0ZS5oIgogI2luY2x1ZGUg
Ik5hdmlnYXRvck1lZGlhU2Vzc2lvbi5oIgogI2VuZGlmCiAKQEAgLTExNCw2ICsxMTYsNDAgQEAg
c3RhdGljIGJvb2wgcGFnZUV4cGxpY2l0bHlBbGxvd3NFbGVtZW50VG9BdXRvcGxheUlubGluZShj
b25zdCBIVE1MTWVkaWFFbGVtZW50JgogICAgIHJldHVybiBkb2N1bWVudC5pc01lZGlhRG9jdW1l
bnQoKSAmJiAhZG9jdW1lbnQub3duZXJFbGVtZW50KCkgJiYgcGFnZSAmJiBwYWdlLT5hbGxvd3NN
ZWRpYURvY3VtZW50SW5saW5lUGxheWJhY2soKTsKIH0KIAorI2lmIEVOQUJMRShNRURJQV9TRVNT
SU9OKQorY2xhc3MgTWVkaWFTZXNzaW9uT2JzZXJ2ZXIgOiBwdWJsaWMgTWVkaWFTZXNzaW9uOjpP
YnNlcnZlciB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisKK3B1YmxpYzoKKyAgICBN
ZWRpYVNlc3Npb25PYnNlcnZlcihNZWRpYUVsZW1lbnRTZXNzaW9uJiBzZXNzaW9uKQorICAgICAg
ICA6IG1fc2Vzc2lvbihtYWtlV2Vha1B0cihzZXNzaW9uKSkKKyAgICB7CisgICAgfQorICAgIHZv
aWQgbWV0YWRhdGFDaGFuZ2VkKGNvbnN0IFJlZlB0cjxNZWRpYU1ldGFkYXRhPiYgbWV0YWRhdGEp
IGZpbmFsCisgICAgeworICAgICAgICBpZiAobV9zZXNzaW9uKQorICAgICAgICAgICAgbV9zZXNz
aW9uLT5tZXRhZGF0YUNoYW5nZWQobWV0YWRhdGEpOworICAgIH0KKyAgICB2b2lkIHBvc2l0aW9u
U3RhdGVDaGFuZ2VkKGNvbnN0IE9wdGlvbmFsPE1lZGlhUG9zaXRpb25TdGF0ZT4mIHN0YXRlKSBm
aW5hbAorICAgIHsKKyAgICAgICAgaWYgKG1fc2Vzc2lvbikKKyAgICAgICAgICAgIG1fc2Vzc2lv
bi0+cG9zaXRpb25TdGF0ZUNoYW5nZWQoc3RhdGUpOworICAgIH0KKyAgICB2b2lkIHBsYXliYWNr
U3RhdGVDaGFuZ2VkKE1lZGlhU2Vzc2lvblBsYXliYWNrU3RhdGUgc3RhdGUpIGZpbmFsCisgICAg
eworICAgICAgICBpZiAobV9zZXNzaW9uKQorICAgICAgICAgICAgbV9zZXNzaW9uLT5wbGF5YmFj
a1N0YXRlQ2hhbmdlZChzdGF0ZSk7CisgICAgfQorICAgIHZvaWQgYWN0aW9uSGFuZGxlcnNDaGFu
Z2VkKCkKKyAgICB7CisgICAgICAgIGlmIChtX3Nlc3Npb24pCisgICAgICAgICAgICBtX3Nlc3Np
b24tPmFjdGlvbkhhbmRsZXJzQ2hhbmdlZCgpOworICAgIH0KK3ByaXZhdGU6CisgICAgV2Vha1B0
cjxNZWRpYUVsZW1lbnRTZXNzaW9uPiBtX3Nlc3Npb247Cit9OworI2VuZGlmCisKIE1lZGlhRWxl
bWVudFNlc3Npb246Ok1lZGlhRWxlbWVudFNlc3Npb24oSFRNTE1lZGlhRWxlbWVudCYgZWxlbWVu
dCkKICAgICA6IFBsYXRmb3JtTWVkaWFTZXNzaW9uKFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdl
cjo6c2hhcmVkTWFuYWdlcigpLCBlbGVtZW50KQogICAgICwgbV9lbGVtZW50KGVsZW1lbnQpCkBA
IC0xNjEsNiArMTk3LDcgQEAgdm9pZCBNZWRpYUVsZW1lbnRTZXNzaW9uOjpyZWdpc3RlcldpdGhE
b2N1bWVudChEb2N1bWVudCYgZG9jdW1lbnQpCiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShkb2N1
bWVudCk7CiAjZW5kaWYKKyAgICBlbnN1cmVJc09ic2VydmluZ01lZGlhU2Vzc2lvbigpOwogfQog
CiB2b2lkIE1lZGlhRWxlbWVudFNlc3Npb246OnVucmVnaXN0ZXJXaXRoRG9jdW1lbnQoRG9jdW1l
bnQmIGRvY3VtZW50KQpAQCAtMTcwLDYgKzIwNywxMiBAQCB2b2lkIE1lZGlhRWxlbWVudFNlc3Np
b246OnVucmVnaXN0ZXJXaXRoRG9jdW1lbnQoRG9jdW1lbnQmIGRvY3VtZW50KQogI2Vsc2UKICAg
ICBVTlVTRURfUEFSQU0oZG9jdW1lbnQpOwogI2VuZGlmCisjaWYgRU5BQkxFKE1FRElBX1NFU1NJ
T04pCisgICAgYXV0byogc2Vzc2lvbiA9IG1lZGlhU2Vzc2lvbigpOworICAgIGlmIChzZXNzaW9u
ICYmIG1fb2JzZXJ2ZXIpCisgICAgICAgIHNlc3Npb24tPnJlbW92ZU9ic2VydmVyKCptX29ic2Vy
dmVyKTsKKyAgICBtX29ic2VydmVyID0gbnVsbHB0cjsKKyNlbmRpZgogfQogCiB2b2lkIE1lZGlh
RWxlbWVudFNlc3Npb246OmNsaWVudFdpbGxCZWdpbkF1dG9wbGF5aW5nKCkKQEAgLTEwMjgsOCAr
MTA3MSw3IEBAIGJvb2wgTWVkaWFFbGVtZW50U2Vzc2lvbjo6YWxsb3dzUGxheWJhY2tDb250cm9s
c0ZvckF1dG9wbGF5aW5nQXVkaW8oKSBjb25zdAogI2lmIEVOQUJMRShNRURJQV9TRVNTSU9OKQog
dm9pZCBNZWRpYUVsZW1lbnRTZXNzaW9uOjpkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQo
UmVtb3RlQ29udHJvbENvbW1hbmRUeXBlIGNvbW1hbmRUeXBlLCBjb25zdCBSZW1vdGVDb21tYW5k
QXJndW1lbnQmIGFyZ3VtZW50KQogewotICAgIGF1dG8qIHdpbmRvdyA9IG1fZWxlbWVudC5kb2N1
bWVudCgpLmRvbVdpbmRvdygpOwotICAgIGF1dG8qIHNlc3Npb24gPSB3aW5kb3cgPyAmTmF2aWdh
dG9yTWVkaWFTZXNzaW9uOjptZWRpYVNlc3Npb24od2luZG93LT5uYXZpZ2F0b3IoKSkgOiBudWxs
cHRyOworICAgIGF1dG8qIHNlc3Npb24gPSBtZWRpYVNlc3Npb24oKTsKICAgICBpZiAoIXNlc3Np
b24gfHwgIXNlc3Npb24tPmhhc0FjdGl2ZUFjdGlvbkhhbmRsZXJzKCkpIHsKICAgICAgICAgUGxh
dGZvcm1NZWRpYVNlc3Npb246OmRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChjb21tYW5k
VHlwZSwgYXJndW1lbnQpOwogICAgICAgICByZXR1cm47CkBAIC0xMTA4LDEyICsxMTUwLDExIEBA
IE9wdGlvbmFsPE5vd1BsYXlpbmdJbmZvPiBNZWRpYUVsZW1lbnRTZXNzaW9uOjpub3dQbGF5aW5n
SW5mbygpIGNvbnN0CiAgICAgICAgIGN1cnJlbnRUaW1lID0gTWVkaWFQbGF5ZXI6OmludmFsaWRU
aW1lKCk7CiAKICNpZiBFTkFCTEUoTUVESUFfU0VTU0lPTikKLSAgICBhdXRvKiB3aW5kb3cgPSBt
X2VsZW1lbnQuZG9jdW1lbnQoKS5kb21XaW5kb3coKTsKLSAgICBhdXRvKiBzZXNzaW9uTWV0YWRh
dGEgPSB3aW5kb3cgPyBOYXZpZ2F0b3JNZWRpYVNlc3Npb246Om1lZGlhU2Vzc2lvbih3aW5kb3ct
Pm5hdmlnYXRvcigpKS5tZXRhZGF0YSgpIDogbnVsbHB0cjsKKyAgICBhdXRvKiBzZXNzaW9uID0g
bWVkaWFTZXNzaW9uKCk7CisgICAgYXV0byogc2Vzc2lvbk1ldGFkYXRhID0gc2Vzc2lvbiA/IHNl
c3Npb24tPm1ldGFkYXRhKCkgOiBudWxscHRyOwogICAgIGlmIChzZXNzaW9uTWV0YWRhdGEpIHsK
ICAgICAgICAgT3B0aW9uYWw8Tm93UGxheWluZ0luZm9BcnR3b3JrPiBhcnR3b3JrOwogICAgICAg
ICBpZiAoc2Vzc2lvbk1ldGFkYXRhLT5hcnR3b3JrSW1hZ2UoKSkgewotICAgICAgICAgICAgLy8g
RklYTUU6IE9wdGltaXplIHNvIHRoYXQgd2Ugb25seSBzZW5kIGFuIGltYWdlIGlmIGl0IGNoYW5n
ZXMuCiAgICAgICAgICAgICBhcnR3b3JrID0gTm93UGxheWluZ0luZm9BcnR3b3JrIHsgc2Vzc2lv
bk1ldGFkYXRhLT5hcnR3b3JrU3JjKCksIHNlc3Npb25NZXRhZGF0YS0+YXJ0d29ya0ltYWdlKCkt
Pm1pbWVUeXBlKCksIHNlc3Npb25NZXRhZGF0YS0+YXJ0d29ya0ltYWdlKCktPmRhdGEoKSB9Owog
ICAgICAgICB9CiAgICAgICAgIHJldHVybiBOb3dQbGF5aW5nSW5mbyB7IHNlc3Npb25NZXRhZGF0
YS0+dGl0bGUoKSwgc2Vzc2lvbk1ldGFkYXRhLT5hcnRpc3QoKSwgc2Vzc2lvbk1ldGFkYXRhLT5h
bGJ1bSgpLCBtX2VsZW1lbnQuc291cmNlQXBwbGljYXRpb25JZGVudGlmaWVyKCksIGR1cmF0aW9u
LCBjdXJyZW50VGltZSwgc3VwcG9ydHNTZWVraW5nLCBtX2VsZW1lbnQubWVkaWFTZXNzaW9uVW5p
cXVlSWRlbnRpZmllcigpLCBpc1BsYXlpbmcsIGFsbG93c05vd1BsYXlpbmdDb250cm9sc1Zpc2li
aWxpdHksIFdURk1vdmUoYXJ0d29yaykgfTsKQEAgLTEyMDEsNiArMTI0Miw0MCBAQCBTdHJpbmcg
Y29udmVydEVudW1lcmF0aW9uVG9TdHJpbmcoY29uc3QgTWVkaWFQbGF5YmFja0RlbmlhbFJlYXNv
biBlbnVtZXJhdGlvblZhbAogICAgIHJldHVybiB2YWx1ZXNbc3RhdGljX2Nhc3Q8c2l6ZV90Pihl
bnVtZXJhdGlvblZhbHVlKV07CiB9CiAKK01lZGlhU2Vzc2lvbiogTWVkaWFFbGVtZW50U2Vzc2lv
bjo6bWVkaWFTZXNzaW9uKCkgY29uc3QKK3sKKyNpZiBFTkFCTEUoTUVESUFfU0VTU0lPTikKKyAg
ICBhdXRvKiB3aW5kb3cgPSBtX2VsZW1lbnQuZG9jdW1lbnQoKS5kb21XaW5kb3coKTsKKyAgICBp
ZiAoIXdpbmRvdykKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgcmV0dXJuICZOYXZpZ2F0
b3JNZWRpYVNlc3Npb246Om1lZGlhU2Vzc2lvbih3aW5kb3ctPm5hdmlnYXRvcigpKTsKKyNlbHNl
CisgICAgcmV0dXJuIG51bGxwdHI7CisjZW5kaWYKK30KKwordm9pZCBNZWRpYUVsZW1lbnRTZXNz
aW9uOjplbnN1cmVJc09ic2VydmluZ01lZGlhU2Vzc2lvbigpCit7CisjaWYgRU5BQkxFKE1FRElB
X1NFU1NJT04pCisgICAgYXV0byogc2Vzc2lvbiA9IG1lZGlhU2Vzc2lvbigpOworICAgIGlmICgh
c2Vzc2lvbiB8fCBtX29ic2VydmVyKQorICAgICAgICByZXR1cm47CisgICAgbV9vYnNlcnZlciA9
IG1ha2VVbmlxdWU8TWVkaWFTZXNzaW9uT2JzZXJ2ZXI+KCp0aGlzKTsKKyAgICBzZXNzaW9uLT5h
ZGRPYnNlcnZlcigqbV9vYnNlcnZlcik7CisjZW5kaWYKK30KKwordm9pZCBNZWRpYUVsZW1lbnRT
ZXNzaW9uOjptZXRhZGF0YUNoYW5nZWQoY29uc3QgUmVmUHRyPE1lZGlhTWV0YWRhdGE+JikKK3sK
KyAgICBjbGllbnRDaGFyYWN0ZXJpc3RpY3NDaGFuZ2VkKCk7Cit9CisKK3ZvaWQgTWVkaWFFbGVt
ZW50U2Vzc2lvbjo6cG9zaXRpb25TdGF0ZUNoYW5nZWQoY29uc3QgT3B0aW9uYWw8TWVkaWFQb3Np
dGlvblN0YXRlPiYpIHsgfQorCit2b2lkIE1lZGlhRWxlbWVudFNlc3Npb246OnBsYXliYWNrU3Rh
dGVDaGFuZ2VkKE1lZGlhU2Vzc2lvblBsYXliYWNrU3RhdGUpIHsgfQorCit2b2lkIE1lZGlhRWxl
bWVudFNlc3Npb246OmFjdGlvbkhhbmRsZXJzQ2hhbmdlZCgpIHsgfQorCiB9CiAKICNlbmRpZiAv
LyBFTkFCTEUoVklERU8pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxl
bWVudFNlc3Npb24uaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5o
CmluZGV4IGM3MzE5YjE5NzQ2Y2Q0NzM2Y2Q5Nzg2MDYwMzE3OTE0MzljN2RjMjguLmE1NGFjN2Zi
N2Y4ZjkzYjQ1OGFjMDY2M2U4MGM2YzBlZWZhMWRmOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
TWVkaWFFbGVtZW50U2Vzc2lvbi5oCkBAIC0zNiw2ICszNiwxMCBAQAogI2luY2x1ZGUgPHd0Zi9P
cHRpb25hbC5oPgogI2luY2x1ZGUgPHd0Zi9UeXBlQ2FzdHMuaD4KIAorI2lmIEVOQUJMRShNRURJ
QV9TRVNTSU9OKQorI2luY2x1ZGUgPG1lbW9yeT4KKyNlbmRpZgorCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIGVudW0gY2xhc3MgTWVkaWFTZXNzaW9uTWFpbkNvbnRlbnRQdXJwb3NlIHsKQEAgLTU3
LDcgKzYxLDEyIEBAIGVudW0gY2xhc3MgTWVkaWFQbGF5YmFja0RlbmlhbFJlYXNvbiB7CiAKIGNs
YXNzIERvY3VtZW50OwogY2xhc3MgSFRNTE1lZGlhRWxlbWVudDsKK2NsYXNzIE1lZGlhTWV0YWRh
dGE7CitzdHJ1Y3QgTWVkaWFQb3NpdGlvblN0YXRlOworY2xhc3MgTWVkaWFTZXNzaW9uOworY2xh
c3MgTWVkaWFTZXNzaW9uT2JzZXJ2ZXI7CiBjbGFzcyBTb3VyY2VCdWZmZXI7CitlbnVtIGNsYXNz
IE1lZGlhU2Vzc2lvblBsYXliYWNrU3RhdGUgOiB1aW50OF90OwogCiBjbGFzcyBNZWRpYUVsZW1l
bnRTZXNzaW9uIGZpbmFsIDogcHVibGljIFBsYXRmb3JtTWVkaWFTZXNzaW9uCiB7CkBAIC0xNzUs
OSArMTg0LDExIEBAIHB1YmxpYzoKICAgICBjb25zdCBjaGFyKiBsb2dDbGFzc05hbWUoKSBjb25z
dCBmaW5hbCB7IHJldHVybiAiTWVkaWFFbGVtZW50U2Vzc2lvbiI7IH0KICNlbmRpZgogCi0jaWYg
RU5BQkxFKE1FRElBX1NFU1NJT04pCiAgICAgdm9pZCBkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENv
bW1hbmQoUmVtb3RlQ29udHJvbENvbW1hbmRUeXBlLCBjb25zdCBSZW1vdGVDb21tYW5kQXJndW1l
bnQmKSBmaW5hbDsKLSNlbmRpZgorICAgIHZvaWQgbWV0YWRhdGFDaGFuZ2VkKGNvbnN0IFJlZlB0
cjxNZWRpYU1ldGFkYXRhPiYpOworICAgIHZvaWQgcG9zaXRpb25TdGF0ZUNoYW5nZWQoY29uc3Qg
T3B0aW9uYWw8TWVkaWFQb3NpdGlvblN0YXRlPiYpOworICAgIHZvaWQgcGxheWJhY2tTdGF0ZUNo
YW5nZWQoTWVkaWFTZXNzaW9uUGxheWJhY2tTdGF0ZSk7CisgICAgdm9pZCBhY3Rpb25IYW5kbGVy
c0NoYW5nZWQoKTsKIAogcHJpdmF0ZToKIApAQCAtMTkzLDYgKzIwNCw5IEBAIHByaXZhdGU6CiAj
aWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBib29sIHJlcXVpcmVzUGxheWJhY2tUYXJnZXRS
b3V0ZU1vbml0b3JpbmcoKSBjb25zdCBvdmVycmlkZTsKICNlbmRpZgorICAgIHZvaWQgZW5zdXJl
SXNPYnNlcnZpbmdNZWRpYVNlc3Npb24oKTsKKyAgICBNZWRpYVNlc3Npb24qIG1lZGlhU2Vzc2lv
bigpIGNvbnN0OworCiAgICAgYm9vbCB1cGRhdGVJc01haW5Db250ZW50KCkgY29uc3Q7CiAgICAg
dm9pZCBtYWluQ29udGVudENoZWNrVGltZXJGaXJlZCgpOwogCkBAIC0yMzYsNiArMjUwLDcgQEAg
cHJpdmF0ZToKICAgICAKICNpZiBFTkFCTEUoTUVESUFfU0VTU0lPTikKICAgICBib29sIG1faXNT
Y3J1YmJpbmcgeyBmYWxzZSB9OworICAgIHN0ZDo6dW5pcXVlX3B0cjxNZWRpYVNlc3Npb25PYnNl
cnZlcj4gbV9vYnNlcnZlcjsKICNlbmRpZgogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vY29jb2EvUmVtb3RlQ29tbWFuZExpc3RlbmVyQ29jb2EuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2NvY29hL1JlbW90ZUNvbW1hbmRMaXN0ZW5lckNvY29hLmgKaW5kZXgg
ZmIwY2ZiOTczZmIxMThhMzhiYjRhOGI1YjY4ODA3YWE0MTliMzkwZi4uYTZkMTBlOTYzYTUyMWZj
MTBmZGFjZGE1YzQ0YTc5N2ZlY2EyYmFhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY29jb2EvUmVtb3RlQ29tbWFuZExpc3RlbmVyQ29jb2EuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9jb2NvYS9SZW1vdGVDb21tYW5kTGlzdGVuZXJDb2NvYS5oCkBAIC00Nyw3
ICs0Nyw3IEBAIHByaXZhdGU6CiAgICAgY29uc3QgUmVtb3RlQ29tbWFuZHNTZXQmIGRlZmF1bHRD
b21tYW5kcygpOwogICAgIFJlbW90ZUNvbW1hbmRzU2V0IG1fY3VycmVudENvbW1hbmRzOwogfTsK
LSAgICAKKwogfQogCiAjZW5kaWYgLy8gUExBVEZPUk0oTUFDKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGxhdGZvcm1NZWRpYVNlc3Npb25Db29yZGluYXRv
ci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGxhdGZvcm1NZWRpYVNlc3Np
b25Db29yZGluYXRvci5oCmluZGV4IDkxMGRjNTFkMmE2ZjgwYWJjOTdhYTYwN2Q5ZTlhNTEwMTUw
ZjMyZWQuLjBmN2I1YjRlNjhhYjJlZDdhOGJjY2U0NmMxNzliNjEyNDUyM2U3NWUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1BsYXRmb3JtTWVkaWFTZXNzaW9u
Q29vcmRpbmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QbGF0
Zm9ybU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yLmgKQEAgLTc4LDcgKzc4LDcgQEAgcHVibGljOgog
ICAgICAgICBQbGF5aW5nLAogICAgIH07CiAKLSAgICB2aXJ0dWFsIHZvaWQgcG9zaXRpb25TdGF0
ZUNoYW5nZWQoT3B0aW9uYWw8TWVkaWFQb3NpdGlvblN0YXRlPikgPSAwOworICAgIHZpcnR1YWwg
dm9pZCBwb3NpdGlvblN0YXRlQ2hhbmdlZChjb25zdCBPcHRpb25hbDxNZWRpYVBvc2l0aW9uU3Rh
dGU+JikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCByZWFkeVN0YXRlQ2hhbmdlZChNZWRpYVNlc3Np
b25SZWFkeVN0YXRlKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHBsYXliYWNrU3RhdGVDaGFuZ2Vk
KE1lZGlhU2Vzc2lvblBsYXliYWNrU3RhdGUpID0gMDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9Nb2NrTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3IuY3BwIGIvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9Nb2NrTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3IuY3BwCmluZGV4IGMzNzVm
YjYxMzI1MGQ3MWQ3MTE0NTc2NzQ5NDNhNWMwMTc4NTI5ZmEuLmI4MTYyZDBiN2VkZjIzNjhmYTM2
OTIzOTQwYjAzNTJmZWY4ODdmMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
TW9ja01lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL01vY2tNZWRpYVNlc3Npb25Db29yZGluYXRvci5jcHAKQEAgLTkxLDcgKzkxLDcgQEAgdm9p
ZCBNb2NrTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3I6OnNldFRyYWNrKGNvbnN0IFN0cmluZywgU2V0
VHJhY2tDb21wbGV0ZWRDYWxsYmEKICAgICB9KTsKIH0KIAotdm9pZCBNb2NrTWVkaWFTZXNzaW9u
Q29vcmRpbmF0b3I6OnBvc2l0aW9uU3RhdGVDaGFuZ2VkKE9wdGlvbmFsPFBsYXRmb3JtTWVkaWFT
ZXNzaW9uQ29vcmRpbmF0b3I6Ok1lZGlhUG9zaXRpb25TdGF0ZT4pCit2b2lkIE1vY2tNZWRpYVNl
c3Npb25Db29yZGluYXRvcjo6cG9zaXRpb25TdGF0ZUNoYW5nZWQoY29uc3QgT3B0aW9uYWw8UGxh
dGZvcm1NZWRpYVNlc3Npb25Db29yZGluYXRvcjo6TWVkaWFQb3NpdGlvblN0YXRlPiYpCiB7CiAg
ICAgQUxXQVlTX0xPR19JRl9QT1NTSUJMRShMT0dJREVOVElGSUVSKTsKICAgICBtX3N0YXRlQ2hh
bmdlTGlzdGVuZXItPnNjaGVkdWxlQ2FsbGJhY2sobV9jb250ZXh0LmdldCgpLCAicG9zaXRpb25T
dGF0ZUNoYW5nZWQiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja01l
ZGlhU2Vzc2lvbkNvb3JkaW5hdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tNZWRp
YVNlc3Npb25Db29yZGluYXRvci5oCmluZGV4IDg3MGJiNGNiMGJlOTZmODVmZDQ1NzBlOGUzOTNi
NzIzNmZlOGYyYjMuLmI3N2VjYWY5NTEyZjMxMjY3OWVkYjNkZGQzYWUxN2I4YTc1NmFmM2MgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja01lZGlhU2Vzc2lvbkNvb3JkaW5h
dG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrTWVkaWFTZXNzaW9uQ29vcmRp
bmF0b3IuaApAQCAtNTEsNyArNTEsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgcGF1c2UoUGF1c2VD
b21wbGV0ZWRDYWxsYmFjayYmKSBmaW5hbDsKICAgICB2b2lkIHNldFRyYWNrKGNvbnN0IFN0cmlu
ZywgU2V0VHJhY2tDb21wbGV0ZWRDYWxsYmFjayYmKSBmaW5hbDsKIAotICAgIHZvaWQgcG9zaXRp
b25TdGF0ZUNoYW5nZWQoT3B0aW9uYWw8TWVkaWFQb3NpdGlvblN0YXRlPikgZmluYWw7CisgICAg
dm9pZCBwb3NpdGlvblN0YXRlQ2hhbmdlZChjb25zdCBPcHRpb25hbDxNZWRpYVBvc2l0aW9uU3Rh
dGU+JikgZmluYWw7CiAgICAgdm9pZCByZWFkeVN0YXRlQ2hhbmdlZChNZWRpYVNlc3Npb25SZWFk
eVN0YXRlKSBmaW5hbDsKICAgICB2b2lkIHBsYXliYWNrU3RhdGVDaGFuZ2VkKE1lZGlhU2Vzc2lv
blBsYXliYWNrU3RhdGUpIGZpbmFsOwogCg==
</data>
<flag name="commit-queue"
          id="443995"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424347</attachid>
            <date>2021-03-26 06:48:16 -0700</date>
            <delta_ts>2021-03-28 20:53:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223795-20210327004814.patch</filename>
            <type>text/plain</type>
            <size>18576</size>
            <attacher name="Jean-Yves Avenard [:jya]">jean-yves.avenard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0OTgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWRhMzBlOTc2MjY0NzFk
MjQ1NThmMjYwNjkzYjllMDE5NDM4NmY0Ni4uMmFhODUyMjM4ZmI5NmRhMjM4YzM2YzkxN2FkYjMz
NjE2YzI2YjE3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDIxLTAzLTI2ICBKZWFu
LVl2ZXMgQXZlbmFyZCAgPGp5YUBhcHBsZS5jb20+CisKKyAgICAgICAgTm93IFBsYXlpbmcgY29u
dGVudCBpc24ndCB1cGRhdGVkIHdoZW4gbWVkaWEgc2Vzc2lvbidzIE1ldGFkYXRhIGlzIG1vZGlm
aWVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjM3
OTUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc1ODgzNDc4PgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1hbnVhbGx5IHRlc3RlZC4gRW5zdXJpbmcg
dGhhdCBpbW1lZGlhdGVseSBhZnRlciBtb2RpZnlpbmcgdGhlIE1lZGlhU2Vzc2lvbiBtZXRhZGF0
YSwgTm93UGxheWluZyByZWZsZWN0cyB0aGUgY2hhbmdlLgorCisgICAgICAgICogTW9kdWxlcy9t
ZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNlc3Np
b246Ok9ic2VydmVyOjptZXRhZGF0YUNoYW5nZWQpOiBDaGFuZ2UgbWV0aG9kIHByb3RvdHlwZSB0
byBhdm9pZCB1bm5lY2Vzc2FyeSByZWZjb3VudC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU2Vz
c2lvbjo6T2JzZXJ2ZXI6OnBvc2l0aW9uU3RhdGVDaGFuZ2VkKTogQ2hhbmdlIG1ldGhvZCBwcm90
b3R5cGUgdG8gcGFzcyBhcmd1bWVudCBieSByZWZlcmVuY2UgcmF0aGVyIHRoYW4gdmFsdWUgKGFu
ZCBlYXNpZXIgZm9yd2FyZCBkZWNsYXJhdGlvbikuCisgICAgICAgICogTW9kdWxlcy9tZWRpYXNl
c3Npb24vTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFTZXNzaW9uQ29vcmRpbmF0b3I6OnBvc2l0aW9uU3RhdGVDaGFuZ2VkKTogIFBhc3MgYXJndW1l
bnQgYnkgcmVmZXJlbmNlIHRoYW4gdmFsdWUuCisgICAgICAgICogTW9kdWxlcy9tZWRpYXNlc3Np
b24vTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3IuaDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6IEV4cG9ydCBhZGRpdGlvbmFsIGhlYWRlcnMuCisgICAgICAgICog
aHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcDogQWRkIE1lZGlhU2Vzc2lvbk9ic2VydmVyIGNs
YXNzLCB3ZSB1c2Ugc2VwYXJhdGUgcHJveHkgdG8gYXZvaWQgbXVsdGlwbGUgaW5oZXJpdGFuY2Ug
b2YgQ2FuTWFrZVdlYWtQdHIuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNlc3Npb25PYnNlcnZl
cjo6TWVkaWFTZXNzaW9uT2JzZXJ2ZXIpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTZXNzaW9u
T2JzZXJ2ZXI6OmFjdGlvbkhhbmRsZXJzQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRp
YUVsZW1lbnRTZXNzaW9uOjpyZWdpc3RlcldpdGhEb2N1bWVudCk6IEFkZCBNZWRpYUVsZW1lbnRT
ZXNzaW9uIGFzIE1lZGlhIFNlc3Npb24gb2JzZXJ2ZXIgd2hlbiBpdCdzIGFkZGVkIHRvIHRoZSBE
T00uCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVsZW1lbnRTZXNzaW9uOjp1bnJlZ2lzdGVyV2l0
aERvY3VtZW50KTogUmVtb3ZlIE1lZGlhRWxlbWVudFNlc3Npb24gYXMgTWVkaWEgU2Vzc2lvbiBv
YnNlcnZlciB3aGVuIGl0J3MgcmVtb3ZlZCBmcm9tIHRoZSBET00uCisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYUVsZW1lbnRTZXNzaW9uOjpkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQpOiBT
aW1wbGlmeSB3aXRoIG5ldyBtZWRpYVNlc3Npb24oKSBoZWxwZXIuCisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYUVsZW1lbnRTZXNzaW9uOjpub3dQbGF5aW5nSW5mbyBjb25zdCk6IFNpbXBsaWZ5IHdp
dGggbmV3IG1lZGlhU2Vzc2lvbigpIGhlbHBlci4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRWxl
bWVudFNlc3Npb246Om1lZGlhU2Vzc2lvbiBjb25zdCk6IEhlbHBlciB0byByZXRyaWV2ZSBhc3Nv
Y2lhdGVkIG1lZGlhU2Vzc2lvbiBvYmplY3QuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVsZW1l
bnRTZXNzaW9uOjplbnN1cmVJc09ic2VydmluZ01lZGlhU2Vzc2lvbik6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYUVsZW1lbnRTZXNzaW9uOjptZXRhZGF0YUNoYW5nZWQpOiBDYWxsIGNsaWVudENo
YXJhY3RlcmlzdGljc0NoYW5nZWQgd2hpY2ggd2lsbCB0cmlnZ2VyIHRoZSBQbGF0Zm9ybU1lZGlh
U2Vzc2lvbk1hbmFnZXIgdG8gcmVmcmVzaCB0aGUgTm93UGxheWluZ0luZm8gY29udGVudC4KKyAg
ICAgICAgKFdlYkNvcmU6Ok1lZGlhRWxlbWVudFNlc3Npb246OnBvc2l0aW9uU3RhdGVDaGFuZ2Vk
KTogTWV0aG9kIGN1cnJlbnRseSBkb2luZyBub3RoaW5nLiBQcmVwYXJpbmcgZm9yIGZ1dHVyZSBj
aGFuZ2UuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVsZW1lbnRTZXNzaW9uOjpwbGF5YmFja1N0
YXRlQ2hhbmdlZCk6IE1ldGhvZCBjdXJyZW50bHkgZG9pbmcgbm90aGluZy4gUHJlcGFyaW5nIGZv
ciBmdXR1cmUgY2hhbmdlLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbGVtZW50U2Vzc2lvbjo6
YWN0aW9uSGFuZGxlcnNDaGFuZ2VkKTogTWV0aG9kIGN1cnJlbnRseSBkb2luZyBub3RoaW5nLiBQ
cmVwYXJpbmcgZm9yIGZ1dHVyZSBjaGFuZ2UuCisgICAgICAgICogaHRtbC9NZWRpYUVsZW1lbnRT
ZXNzaW9uLmg6IEFkZCBtZXRob2RzLgorICAgICAgICAqIHBsYXRmb3JtL2NvY29hL1JlbW90ZUNv
bW1hbmRMaXN0ZW5lckNvY29hLmg6IFJlbW92ZSB0cmFpbGluZyB3aGl0ZXNwYWNlLgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL1BsYXRmb3JtTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3IuaDog
VXBkYXRlIGZvciBuZXcgbWV0aG9kIHByb3RvdHlwaW5nLgorICAgICAgICAqIHRlc3RpbmcvTW9j
a01lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tNZWRp
YVNlc3Npb25Db29yZGluYXRvcjo6cG9zaXRpb25TdGF0ZUNoYW5nZWQpOiBVcGRhdGUgZm9yIG5l
dyBtZXRob2QgcHJvdG90eXBpbmcuCisgICAgICAgICogdGVzdGluZy9Nb2NrTWVkaWFTZXNzaW9u
Q29vcmRpbmF0b3IuaDogVXBkYXRlIGZvciBuZXcgbWV0aG9kIHByb3RvdHlwaW5nLgorCiAyMDIx
LTAzLTI1ICBKZWFuLVl2ZXMgQXZlbmFyZCAgPGp5YUBhcHBsZS5jb20+CiAKICAgICAgICAgRml4
IE5vd1BsYXlpbmdJbmZvQXJ0d29yayBvcGVyYXRvcj09IGxvZ2ljLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uLmggYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYVNlc3Npb24uaAppbmRleCA4ZDA1MDdj
ZjA5OTBmZDU1YzUxYzdkMWE5N2Q4YjVkMTljZDhjM2FjLi4zNWNhNDY2NTA1ZjBiMDExYTUzY2Yy
Y2JiZTRhNWE0MTAyYTFjODgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc2Vzc2lvbi9NZWRpYVNlc3Npb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc2Vzc2lvbi9NZWRpYVNlc3Npb24uaApAQCAtMTAyLDggKzEwMiw4IEBAIHB1YmxpYzoKICAg
ICBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwgfk9ic2VydmVyKCkgPSBkZWZhdWx0OwogCi0gICAg
ICAgIHZpcnR1YWwgdm9pZCBtZXRhZGF0YUNoYW5nZWQoUmVmUHRyPE1lZGlhTWV0YWRhdGE+KSB7
IH0KLSAgICAgICAgdmlydHVhbCB2b2lkIHBvc2l0aW9uU3RhdGVDaGFuZ2VkKE9wdGlvbmFsPE1l
ZGlhUG9zaXRpb25TdGF0ZT4pIHsgfQorICAgICAgICB2aXJ0dWFsIHZvaWQgbWV0YWRhdGFDaGFu
Z2VkKGNvbnN0IFJlZlB0cjxNZWRpYU1ldGFkYXRhPiYpIHsgfQorICAgICAgICB2aXJ0dWFsIHZv
aWQgcG9zaXRpb25TdGF0ZUNoYW5nZWQoY29uc3QgT3B0aW9uYWw8TWVkaWFQb3NpdGlvblN0YXRl
PiYpIHsgfQogICAgICAgICB2aXJ0dWFsIHZvaWQgcGxheWJhY2tTdGF0ZUNoYW5nZWQoTWVkaWFT
ZXNzaW9uUGxheWJhY2tTdGF0ZSkgeyB9CiAgICAgICAgIHZpcnR1YWwgdm9pZCBhY3Rpb25IYW5k
bGVyc0NoYW5nZWQoKSB7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3IuY3BwCmluZGV4IDFk
ZjRlOTIxNTVmMWFjMDE1ZTZjNTE3NGQ0YmVmNjQ4MWU1OTM1NjcuLjMxM2Y3ZTNiNmIxZTY1YjUz
NWZjYTY0OGJiYmM4NzJhMDcxMDk2YTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzZXNzaW9uL01lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYVNlc3Npb25Db29yZGluYXRvci5jcHAK
QEAgLTIwMiw3ICsyMDIsNyBAQCB2b2lkIE1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yOjpzZXRNZWRp
YVNlc3Npb24oTWVkaWFTZXNzaW9uKiBzZXNzaW9uKQogICAgICAgICBtX3Nlc3Npb24tPmFkZE9i
c2VydmVyKCp0aGlzKTsKIH0KIAotdm9pZCBNZWRpYVNlc3Npb25Db29yZGluYXRvcjo6cG9zaXRp
b25TdGF0ZUNoYW5nZWQoT3B0aW9uYWw8TWVkaWFQb3NpdGlvblN0YXRlPiBzdGF0ZSkKK3ZvaWQg
TWVkaWFTZXNzaW9uQ29vcmRpbmF0b3I6OnBvc2l0aW9uU3RhdGVDaGFuZ2VkKGNvbnN0IE9wdGlv
bmFsPE1lZGlhUG9zaXRpb25TdGF0ZT4mIHN0YXRlKQogewogICAgIGlmICghc3RhdGUpIHsKICAg
ICAgICAgbV9wbGF0Zm9ybUNvb3JkaW5hdG9yLT5wb3NpdGlvblN0YXRlQ2hhbmdlZCh7IH0pOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vTWVkaWFTZXNz
aW9uQ29vcmRpbmF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL01l
ZGlhU2Vzc2lvbkNvb3JkaW5hdG9yLmgKaW5kZXggMjQ3Y2VjODgwYjM1M2Y0NmJjYmQ4NzBmZjVk
YmMxOTJjOTk5N2M5Mi4uNjkyNmMwMmIwMTM1NDExNDBjZTUyOTBiM2JkOTEyMGJhY2VmNThjMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vTWVkaWFTZXNz
aW9uQ29vcmRpbmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lv
bi9NZWRpYVNlc3Npb25Db29yZGluYXRvci5oCkBAIC01MSw3ICs1MSw3IEBAIHB1YmxpYzoKICAg
ICB2b2lkIHNldE1lZGlhU2Vzc2lvbihNZWRpYVNlc3Npb24qKTsKIAogICAgIC8vIE1lZGlhU2Vz
c2lvbjo6T2JzZXJ2ZXIKLSAgICB2b2lkIHBvc2l0aW9uU3RhdGVDaGFuZ2VkKE9wdGlvbmFsPE1l
ZGlhUG9zaXRpb25TdGF0ZT4pIGZpbmFsOworICAgIHZvaWQgcG9zaXRpb25TdGF0ZUNoYW5nZWQo
Y29uc3QgT3B0aW9uYWw8TWVkaWFQb3NpdGlvblN0YXRlPiYpIGZpbmFsOwogICAgIHZvaWQgcGxh
eWJhY2tTdGF0ZUNoYW5nZWQoTWVkaWFTZXNzaW9uUGxheWJhY2tTdGF0ZSkgZmluYWw7CiAgICAg
dm9pZCByZWFkeVN0YXRlQ2hhbmdlZChNZWRpYVNlc3Npb25SZWFkeVN0YXRlKSBmaW5hbDsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IGYzNjg1Zjk1NmI2ZWIwMjYxZjQ5ZDUyMjQ1MWJjZDY5ODg3M2YwZDUuLjViMTg1NTYxYjdi
Mzk1YmU2NWYzMjk1ZjkxNjFjYTk2Y2VhYzcwM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE0NzIsNiArMTQ3Miw4IEBACiAJ
CTUxNEM3NjdCMENFOTIzQTEwMDdFRjNDRCAvKiBSZXNvdXJjZUhhbmRsZUludGVybmFsLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTRDNzY2NjBDRTky
M0ExMDA3RUYzQ0QgLyogUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oICovOyB9OwogCQk1MTRDNzY3
RDBDRTkyM0ExMDA3RUYzQ0QgLyogUmVzb3VyY2VSZXF1ZXN0QmFzZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE0Qzc2NjgwQ0U5MjNBMTAwN0VGM0NE
IC8qIFJlc291cmNlUmVxdWVzdEJhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQk1MTRDNzY3RjBDRTkyM0ExMDA3RUYzQ0QgLyogUmVzb3VyY2VS
ZXNwb25zZUJhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDUxNEM3NjZBMENFOTIzQTEwMDdFRjNDRCAvKiBSZXNvdXJjZVJlc3BvbnNlQmFzZS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTUxNTlGMjY4
MjYwREZDM0YwMEIyREEzQyAvKiBNZWRpYVNlc3Npb25QbGF5YmFja1N0YXRlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRERERUEyOTI1MzhDRENCMDBB
MTMwMEMgLyogTWVkaWFTZXNzaW9uUGxheWJhY2tTdGF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTUxNTlGMjZBMjYwREZDNUEwMEIyREEzQyAv
KiBNZWRpYVBvc2l0aW9uU3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IENERERFQTM0MjUzOENFNjIwMEExMzAwQyAvKiBNZWRpYVBvc2l0aW9uU3Rh
dGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1
MTVCRTE5MDFENTRGNUZCMDBERDdDNjggLyogRW1wdHlHYW1lcGFkUHJvdmlkZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNUJFMTg5MUQ1NEY1RjYw
MEREN0M2OCAvKiBFbXB0eUdhbWVwYWRQcm92aWRlci5oICovOyB9OwogCQk1MTVCRTE5MjFENTRG
NUZCMDBERDdDNjggLyogR2FtZXBhZFByb3ZpZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTVCRTE4QjFENTRGNUY2MDBERDdDNjggLyogR2FtZXBh
ZFByb3ZpZGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJNTE1QkUxOTMxRDU0RjVGQjAwREQ3QzY4IC8qIEdhbWVwYWRQcm92aWRlckNsaWVudC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE1QkUxOEMx
RDU0RjVGNjAwREQ3QzY4IC8qIEdhbWVwYWRQcm92aWRlckNsaWVudC5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0zMzk2OSw2ICszMzk3MSw3IEBA
CiAJCQkJREY5QUZENzIxM0ZDMzFEODAwMTVGRUI3IC8qIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91
bmRhdGlvbk9iakMuaCBpbiBIZWFkZXJzICovLAogCQkJCUNEQzhCNUEzMTgwNDYzNDcwMDE2RTY4
NSAvKiBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMuaCBpbiBIZWFkZXJzICov
LAogCQkJCTE1MDUyNEY0MUI3MTJGRjYwMDY5NkFBOSAvKiBNZWRpYVBsYXllclByaXZhdGVNZWRp
YVN0cmVhbUFWRk9iakMuaCBpbiBIZWFkZXJzICovLAorCQkJCTUxNTlGMjZBMjYwREZDNUEwMEIy
REEzQyAvKiBNZWRpYVBvc2l0aW9uU3RhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTUyRTJDQUZD
MTlGRjAyMDcwMDFFRUI0RiAvKiBNZWRpYVByb2R1Y2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQk0
RTE5NTkyQTBBMzlEQUNDMDAyMjBGRTUgLyogTWVkaWFRdWVyeS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJOTQ5M0I2QkYxRDc0QjQxMjAwODhFNzgwIC8qIE1lZGlhUXVlcnlCbG9ja1dhdGNoZXIuaCBp
biBIZWFkZXJzICovLApAQCAtMzM5OTgsNiArMzQwMDEsNyBAQAogCQkJCTQxNDQ2MEEyMjQxMjk5
NDUwMDgxNEJFNyAvKiBNZWRpYVNlc3Npb25JZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk0MTdGN0FFRjIxMzlCRjZGMDBGQkE3RUMgLyogTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkwNzYzOEE5OTE4ODQ0ODcyMDBFMTVBMUIgLyogTWVkaWFTZXNz
aW9uTWFuYWdlcklPUy5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTE1OUYyNjgyNjBERkMzRjAwQjJE
QTNDIC8qIE1lZGlhU2Vzc2lvblBsYXliYWNrU3RhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUNE
M0E0OTVGMTdBOUQwMUIwMDI3NEU0MiAvKiBNZWRpYVNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQ0Q2NDFFQjMxODE4RjVFRDAwRUU0QzQxIC8qIE1lZGlhU291cmNlUHJpdmF0ZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQ0RDOEI1QTcxODA0NzRGNzAwMTZFNjg1IC8qIE1lZGlhU291cmNlUHJp
dmF0ZUFWRk9iakMuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFF
bGVtZW50U2Vzc2lvbi5jcHAKaW5kZXggMmE0MTYxMWU1YjU3MjBkYmJmMzJkZjMzN2YyYTdjYTM2
Yzk5MGI0NC4uYTFhMTFhMjNiMGEzNGU2MDcwYmFhZDkyNTJkZTM4MjdmMTgzM2VkZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwCkBAIC01Niw3ICs1Niw5
IEBACiAKICNpZiBFTkFCTEUoTUVESUFfU0VTU0lPTikKICNpbmNsdWRlICJNZWRpYU1ldGFkYXRh
LmgiCisjaW5jbHVkZSAiTWVkaWFQb3NpdGlvblN0YXRlLmgiCiAjaW5jbHVkZSAiTWVkaWFTZXNz
aW9uLmgiCisjaW5jbHVkZSAiTWVkaWFTZXNzaW9uUGxheWJhY2tTdGF0ZS5oIgogI2luY2x1ZGUg
Ik5hdmlnYXRvck1lZGlhU2Vzc2lvbi5oIgogI2VuZGlmCiAKQEAgLTExNCw2ICsxMTYsNDAgQEAg
c3RhdGljIGJvb2wgcGFnZUV4cGxpY2l0bHlBbGxvd3NFbGVtZW50VG9BdXRvcGxheUlubGluZShj
b25zdCBIVE1MTWVkaWFFbGVtZW50JgogICAgIHJldHVybiBkb2N1bWVudC5pc01lZGlhRG9jdW1l
bnQoKSAmJiAhZG9jdW1lbnQub3duZXJFbGVtZW50KCkgJiYgcGFnZSAmJiBwYWdlLT5hbGxvd3NN
ZWRpYURvY3VtZW50SW5saW5lUGxheWJhY2soKTsKIH0KIAorI2lmIEVOQUJMRShNRURJQV9TRVNT
SU9OKQorY2xhc3MgTWVkaWFTZXNzaW9uT2JzZXJ2ZXIgOiBwdWJsaWMgTWVkaWFTZXNzaW9uOjpP
YnNlcnZlciB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisKK3B1YmxpYzoKKyAgICBN
ZWRpYVNlc3Npb25PYnNlcnZlcihNZWRpYUVsZW1lbnRTZXNzaW9uJiBzZXNzaW9uKQorICAgICAg
ICA6IG1fc2Vzc2lvbihtYWtlV2Vha1B0cihzZXNzaW9uKSkKKyAgICB7CisgICAgfQorICAgIHZv
aWQgbWV0YWRhdGFDaGFuZ2VkKGNvbnN0IFJlZlB0cjxNZWRpYU1ldGFkYXRhPiYgbWV0YWRhdGEp
IGZpbmFsCisgICAgeworICAgICAgICBpZiAobV9zZXNzaW9uKQorICAgICAgICAgICAgbV9zZXNz
aW9uLT5tZXRhZGF0YUNoYW5nZWQobWV0YWRhdGEpOworICAgIH0KKyAgICB2b2lkIHBvc2l0aW9u
U3RhdGVDaGFuZ2VkKGNvbnN0IE9wdGlvbmFsPE1lZGlhUG9zaXRpb25TdGF0ZT4mIHN0YXRlKSBm
aW5hbAorICAgIHsKKyAgICAgICAgaWYgKG1fc2Vzc2lvbikKKyAgICAgICAgICAgIG1fc2Vzc2lv
bi0+cG9zaXRpb25TdGF0ZUNoYW5nZWQoc3RhdGUpOworICAgIH0KKyAgICB2b2lkIHBsYXliYWNr
U3RhdGVDaGFuZ2VkKE1lZGlhU2Vzc2lvblBsYXliYWNrU3RhdGUgc3RhdGUpIGZpbmFsCisgICAg
eworICAgICAgICBpZiAobV9zZXNzaW9uKQorICAgICAgICAgICAgbV9zZXNzaW9uLT5wbGF5YmFj
a1N0YXRlQ2hhbmdlZChzdGF0ZSk7CisgICAgfQorICAgIHZvaWQgYWN0aW9uSGFuZGxlcnNDaGFu
Z2VkKCkKKyAgICB7CisgICAgICAgIGlmIChtX3Nlc3Npb24pCisgICAgICAgICAgICBtX3Nlc3Np
b24tPmFjdGlvbkhhbmRsZXJzQ2hhbmdlZCgpOworICAgIH0KK3ByaXZhdGU6CisgICAgV2Vha1B0
cjxNZWRpYUVsZW1lbnRTZXNzaW9uPiBtX3Nlc3Npb247Cit9OworI2VuZGlmCisKIE1lZGlhRWxl
bWVudFNlc3Npb246Ok1lZGlhRWxlbWVudFNlc3Npb24oSFRNTE1lZGlhRWxlbWVudCYgZWxlbWVu
dCkKICAgICA6IFBsYXRmb3JtTWVkaWFTZXNzaW9uKFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdl
cjo6c2hhcmVkTWFuYWdlcigpLCBlbGVtZW50KQogICAgICwgbV9lbGVtZW50KGVsZW1lbnQpCkBA
IC0xNjEsNiArMTk3LDcgQEAgdm9pZCBNZWRpYUVsZW1lbnRTZXNzaW9uOjpyZWdpc3RlcldpdGhE
b2N1bWVudChEb2N1bWVudCYgZG9jdW1lbnQpCiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShkb2N1
bWVudCk7CiAjZW5kaWYKKyAgICBlbnN1cmVJc09ic2VydmluZ01lZGlhU2Vzc2lvbigpOwogfQog
CiB2b2lkIE1lZGlhRWxlbWVudFNlc3Npb246OnVucmVnaXN0ZXJXaXRoRG9jdW1lbnQoRG9jdW1l
bnQmIGRvY3VtZW50KQpAQCAtMTcwLDYgKzIwNywxMiBAQCB2b2lkIE1lZGlhRWxlbWVudFNlc3Np
b246OnVucmVnaXN0ZXJXaXRoRG9jdW1lbnQoRG9jdW1lbnQmIGRvY3VtZW50KQogI2Vsc2UKICAg
ICBVTlVTRURfUEFSQU0oZG9jdW1lbnQpOwogI2VuZGlmCisjaWYgRU5BQkxFKE1FRElBX1NFU1NJ
T04pCisgICAgYXV0byogc2Vzc2lvbiA9IG1lZGlhU2Vzc2lvbigpOworICAgIGlmIChzZXNzaW9u
ICYmIG1fb2JzZXJ2ZXIpCisgICAgICAgIHNlc3Npb24tPnJlbW92ZU9ic2VydmVyKCptX29ic2Vy
dmVyKTsKKyAgICBtX29ic2VydmVyID0gbnVsbHB0cjsKKyNlbmRpZgogfQogCiB2b2lkIE1lZGlh
RWxlbWVudFNlc3Npb246OmNsaWVudFdpbGxCZWdpbkF1dG9wbGF5aW5nKCkKQEAgLTEwMjgsOCAr
MTA3MSw3IEBAIGJvb2wgTWVkaWFFbGVtZW50U2Vzc2lvbjo6YWxsb3dzUGxheWJhY2tDb250cm9s
c0ZvckF1dG9wbGF5aW5nQXVkaW8oKSBjb25zdAogI2lmIEVOQUJMRShNRURJQV9TRVNTSU9OKQog
dm9pZCBNZWRpYUVsZW1lbnRTZXNzaW9uOjpkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQo
UmVtb3RlQ29udHJvbENvbW1hbmRUeXBlIGNvbW1hbmRUeXBlLCBjb25zdCBSZW1vdGVDb21tYW5k
QXJndW1lbnQmIGFyZ3VtZW50KQogewotICAgIGF1dG8qIHdpbmRvdyA9IG1fZWxlbWVudC5kb2N1
bWVudCgpLmRvbVdpbmRvdygpOwotICAgIGF1dG8qIHNlc3Npb24gPSB3aW5kb3cgPyAmTmF2aWdh
dG9yTWVkaWFTZXNzaW9uOjptZWRpYVNlc3Npb24od2luZG93LT5uYXZpZ2F0b3IoKSkgOiBudWxs
cHRyOworICAgIGF1dG8qIHNlc3Npb24gPSBtZWRpYVNlc3Npb24oKTsKICAgICBpZiAoIXNlc3Np
b24gfHwgIXNlc3Npb24tPmhhc0FjdGl2ZUFjdGlvbkhhbmRsZXJzKCkpIHsKICAgICAgICAgUGxh
dGZvcm1NZWRpYVNlc3Npb246OmRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChjb21tYW5k
VHlwZSwgYXJndW1lbnQpOwogICAgICAgICByZXR1cm47CkBAIC0xMTA4LDEyICsxMTUwLDExIEBA
IE9wdGlvbmFsPE5vd1BsYXlpbmdJbmZvPiBNZWRpYUVsZW1lbnRTZXNzaW9uOjpub3dQbGF5aW5n
SW5mbygpIGNvbnN0CiAgICAgICAgIGN1cnJlbnRUaW1lID0gTWVkaWFQbGF5ZXI6OmludmFsaWRU
aW1lKCk7CiAKICNpZiBFTkFCTEUoTUVESUFfU0VTU0lPTikKLSAgICBhdXRvKiB3aW5kb3cgPSBt
X2VsZW1lbnQuZG9jdW1lbnQoKS5kb21XaW5kb3coKTsKLSAgICBhdXRvKiBzZXNzaW9uTWV0YWRh
dGEgPSB3aW5kb3cgPyBOYXZpZ2F0b3JNZWRpYVNlc3Npb246Om1lZGlhU2Vzc2lvbih3aW5kb3ct
Pm5hdmlnYXRvcigpKS5tZXRhZGF0YSgpIDogbnVsbHB0cjsKKyAgICBhdXRvKiBzZXNzaW9uID0g
bWVkaWFTZXNzaW9uKCk7CisgICAgYXV0byogc2Vzc2lvbk1ldGFkYXRhID0gc2Vzc2lvbiA/IHNl
c3Npb24tPm1ldGFkYXRhKCkgOiBudWxscHRyOwogICAgIGlmIChzZXNzaW9uTWV0YWRhdGEpIHsK
ICAgICAgICAgT3B0aW9uYWw8Tm93UGxheWluZ0luZm9BcnR3b3JrPiBhcnR3b3JrOwogICAgICAg
ICBpZiAoc2Vzc2lvbk1ldGFkYXRhLT5hcnR3b3JrSW1hZ2UoKSkgewotICAgICAgICAgICAgLy8g
RklYTUU6IE9wdGltaXplIHNvIHRoYXQgd2Ugb25seSBzZW5kIGFuIGltYWdlIGlmIGl0IGNoYW5n
ZXMuCiAgICAgICAgICAgICBhcnR3b3JrID0gTm93UGxheWluZ0luZm9BcnR3b3JrIHsgc2Vzc2lv
bk1ldGFkYXRhLT5hcnR3b3JrU3JjKCksIHNlc3Npb25NZXRhZGF0YS0+YXJ0d29ya0ltYWdlKCkt
Pm1pbWVUeXBlKCksIHNlc3Npb25NZXRhZGF0YS0+YXJ0d29ya0ltYWdlKCktPmRhdGEoKSB9Owog
ICAgICAgICB9CiAgICAgICAgIHJldHVybiBOb3dQbGF5aW5nSW5mbyB7IHNlc3Npb25NZXRhZGF0
YS0+dGl0bGUoKSwgc2Vzc2lvbk1ldGFkYXRhLT5hcnRpc3QoKSwgc2Vzc2lvbk1ldGFkYXRhLT5h
bGJ1bSgpLCBtX2VsZW1lbnQuc291cmNlQXBwbGljYXRpb25JZGVudGlmaWVyKCksIGR1cmF0aW9u
LCBjdXJyZW50VGltZSwgc3VwcG9ydHNTZWVraW5nLCBtX2VsZW1lbnQubWVkaWFTZXNzaW9uVW5p
cXVlSWRlbnRpZmllcigpLCBpc1BsYXlpbmcsIGFsbG93c05vd1BsYXlpbmdDb250cm9sc1Zpc2li
aWxpdHksIFdURk1vdmUoYXJ0d29yaykgfTsKQEAgLTEyMDEsNiArMTI0Miw0MCBAQCBTdHJpbmcg
Y29udmVydEVudW1lcmF0aW9uVG9TdHJpbmcoY29uc3QgTWVkaWFQbGF5YmFja0RlbmlhbFJlYXNv
biBlbnVtZXJhdGlvblZhbAogICAgIHJldHVybiB2YWx1ZXNbc3RhdGljX2Nhc3Q8c2l6ZV90Pihl
bnVtZXJhdGlvblZhbHVlKV07CiB9CiAKK01lZGlhU2Vzc2lvbiogTWVkaWFFbGVtZW50U2Vzc2lv
bjo6bWVkaWFTZXNzaW9uKCkgY29uc3QKK3sKKyNpZiBFTkFCTEUoTUVESUFfU0VTU0lPTikKKyAg
ICBhdXRvKiB3aW5kb3cgPSBtX2VsZW1lbnQuZG9jdW1lbnQoKS5kb21XaW5kb3coKTsKKyAgICBp
ZiAoIXdpbmRvdykKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgcmV0dXJuICZOYXZpZ2F0
b3JNZWRpYVNlc3Npb246Om1lZGlhU2Vzc2lvbih3aW5kb3ctPm5hdmlnYXRvcigpKTsKKyNlbHNl
CisgICAgcmV0dXJuIG51bGxwdHI7CisjZW5kaWYKK30KKwordm9pZCBNZWRpYUVsZW1lbnRTZXNz
aW9uOjplbnN1cmVJc09ic2VydmluZ01lZGlhU2Vzc2lvbigpCit7CisjaWYgRU5BQkxFKE1FRElB
X1NFU1NJT04pCisgICAgYXV0byogc2Vzc2lvbiA9IG1lZGlhU2Vzc2lvbigpOworICAgIGlmICgh
c2Vzc2lvbiB8fCBtX29ic2VydmVyKQorICAgICAgICByZXR1cm47CisgICAgbV9vYnNlcnZlciA9
IG1ha2VVbmlxdWU8TWVkaWFTZXNzaW9uT2JzZXJ2ZXI+KCp0aGlzKTsKKyAgICBzZXNzaW9uLT5h
ZGRPYnNlcnZlcigqbV9vYnNlcnZlcik7CisjZW5kaWYKK30KKwordm9pZCBNZWRpYUVsZW1lbnRT
ZXNzaW9uOjptZXRhZGF0YUNoYW5nZWQoY29uc3QgUmVmUHRyPE1lZGlhTWV0YWRhdGE+JikKK3sK
KyAgICBjbGllbnRDaGFyYWN0ZXJpc3RpY3NDaGFuZ2VkKCk7Cit9CisKK3ZvaWQgTWVkaWFFbGVt
ZW50U2Vzc2lvbjo6cG9zaXRpb25TdGF0ZUNoYW5nZWQoY29uc3QgT3B0aW9uYWw8TWVkaWFQb3Np
dGlvblN0YXRlPiYpIHsgfQorCit2b2lkIE1lZGlhRWxlbWVudFNlc3Npb246OnBsYXliYWNrU3Rh
dGVDaGFuZ2VkKE1lZGlhU2Vzc2lvblBsYXliYWNrU3RhdGUpIHsgfQorCit2b2lkIE1lZGlhRWxl
bWVudFNlc3Npb246OmFjdGlvbkhhbmRsZXJzQ2hhbmdlZCgpIHsgfQorCiB9CiAKICNlbmRpZiAv
LyBFTkFCTEUoVklERU8pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxl
bWVudFNlc3Npb24uaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5o
CmluZGV4IGM3MzE5YjE5NzQ2Y2Q0NzM2Y2Q5Nzg2MDYwMzE3OTE0MzljN2RjMjguLjEyMjljOWY0
ZmNlZjYzYjM4ZGJmYmNjZDAwNTdjZTJhMWRiOTMxYjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
TWVkaWFFbGVtZW50U2Vzc2lvbi5oCkBAIC0zNiw2ICszNiwxMCBAQAogI2luY2x1ZGUgPHd0Zi9P
cHRpb25hbC5oPgogI2luY2x1ZGUgPHd0Zi9UeXBlQ2FzdHMuaD4KIAorI2lmIEVOQUJMRShNRURJ
QV9TRVNTSU9OKQorI2luY2x1ZGUgPG1lbW9yeT4KKyNlbmRpZgorCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIGVudW0gY2xhc3MgTWVkaWFTZXNzaW9uTWFpbkNvbnRlbnRQdXJwb3NlIHsKQEAgLTU3
LDcgKzYxLDEyIEBAIGVudW0gY2xhc3MgTWVkaWFQbGF5YmFja0RlbmlhbFJlYXNvbiB7CiAKIGNs
YXNzIERvY3VtZW50OwogY2xhc3MgSFRNTE1lZGlhRWxlbWVudDsKK2NsYXNzIE1lZGlhTWV0YWRh
dGE7CitzdHJ1Y3QgTWVkaWFQb3NpdGlvblN0YXRlOworY2xhc3MgTWVkaWFTZXNzaW9uOworY2xh
c3MgTWVkaWFTZXNzaW9uT2JzZXJ2ZXI7CiBjbGFzcyBTb3VyY2VCdWZmZXI7CitlbnVtIGNsYXNz
IE1lZGlhU2Vzc2lvblBsYXliYWNrU3RhdGUgOiB1aW50OF90OwogCiBjbGFzcyBNZWRpYUVsZW1l
bnRTZXNzaW9uIGZpbmFsIDogcHVibGljIFBsYXRmb3JtTWVkaWFTZXNzaW9uCiB7CkBAIC0xNzgs
NiArMTg3LDEwIEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoTUVESUFfU0VTU0lPTikKICAgICB2b2lk
IGRpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUs
IGNvbnN0IFJlbW90ZUNvbW1hbmRBcmd1bWVudCYpIGZpbmFsOwogI2VuZGlmCisgICAgdm9pZCBt
ZXRhZGF0YUNoYW5nZWQoY29uc3QgUmVmUHRyPE1lZGlhTWV0YWRhdGE+Jik7CisgICAgdm9pZCBw
b3NpdGlvblN0YXRlQ2hhbmdlZChjb25zdCBPcHRpb25hbDxNZWRpYVBvc2l0aW9uU3RhdGU+Jik7
CisgICAgdm9pZCBwbGF5YmFja1N0YXRlQ2hhbmdlZChNZWRpYVNlc3Npb25QbGF5YmFja1N0YXRl
KTsKKyAgICB2b2lkIGFjdGlvbkhhbmRsZXJzQ2hhbmdlZCgpOwogCiBwcml2YXRlOgogCkBAIC0x
OTMsNiArMjA2LDkgQEAgcHJpdmF0ZToKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIGJv
b2wgcmVxdWlyZXNQbGF5YmFja1RhcmdldFJvdXRlTW9uaXRvcmluZygpIGNvbnN0IG92ZXJyaWRl
OwogI2VuZGlmCisgICAgdm9pZCBlbnN1cmVJc09ic2VydmluZ01lZGlhU2Vzc2lvbigpOworICAg
IE1lZGlhU2Vzc2lvbiogbWVkaWFTZXNzaW9uKCkgY29uc3Q7CisKICAgICBib29sIHVwZGF0ZUlz
TWFpbkNvbnRlbnQoKSBjb25zdDsKICAgICB2b2lkIG1haW5Db250ZW50Q2hlY2tUaW1lckZpcmVk
KCk7CiAKQEAgLTIzNiw2ICsyNTIsNyBAQCBwcml2YXRlOgogICAgIAogI2lmIEVOQUJMRShNRURJ
QV9TRVNTSU9OKQogICAgIGJvb2wgbV9pc1NjcnViYmluZyB7IGZhbHNlIH07CisgICAgc3RkOjp1
bmlxdWVfcHRyPE1lZGlhU2Vzc2lvbk9ic2VydmVyPiBtX29ic2VydmVyOwogI2VuZGlmCiB9Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9SZW1vdGVDb21tYW5k
TGlzdGVuZXJDb2NvYS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUmVtb3RlQ29t
bWFuZExpc3RlbmVyQ29jb2EuaAppbmRleCBmYjBjZmI5NzNmYjExOGEzOGJiNGE4YjViNjg4MDdh
YTQxOWIzOTBmLi5hNmQxMGU5NjNhNTIxZmMxMGZkYWNkYTVjNDRhNzk3ZmVjYTJiYWE3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9SZW1vdGVDb21tYW5kTGlzdGVu
ZXJDb2NvYS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1JlbW90ZUNvbW1h
bmRMaXN0ZW5lckNvY29hLmgKQEAgLTQ3LDcgKzQ3LDcgQEAgcHJpdmF0ZToKICAgICBjb25zdCBS
ZW1vdGVDb21tYW5kc1NldCYgZGVmYXVsdENvbW1hbmRzKCk7CiAgICAgUmVtb3RlQ29tbWFuZHNT
ZXQgbV9jdXJyZW50Q29tbWFuZHM7CiB9OwotICAgIAorCiB9CiAKICNlbmRpZiAvLyBQTEFURk9S
TShNQUMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QbGF0
Zm9ybU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9QbGF0Zm9ybU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yLmgKaW5kZXggOTEwZGM1MWQy
YTZmODBhYmM5N2FhNjA3ZDllOWE1MTAxNTBmMzJlZC4uMGY3YjViNGU2OGFiMmVkN2E4YmNjZTQ2
YzE3OWI2MTI0NTIzZTc1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvUGxhdGZvcm1NZWRpYVNlc3Npb25Db29yZGluYXRvci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL1BsYXRmb3JtTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3IuaApA
QCAtNzgsNyArNzgsNyBAQCBwdWJsaWM6CiAgICAgICAgIFBsYXlpbmcsCiAgICAgfTsKIAotICAg
IHZpcnR1YWwgdm9pZCBwb3NpdGlvblN0YXRlQ2hhbmdlZChPcHRpb25hbDxNZWRpYVBvc2l0aW9u
U3RhdGU+KSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHBvc2l0aW9uU3RhdGVDaGFuZ2VkKGNvbnN0
IE9wdGlvbmFsPE1lZGlhUG9zaXRpb25TdGF0ZT4mKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHJl
YWR5U3RhdGVDaGFuZ2VkKE1lZGlhU2Vzc2lvblJlYWR5U3RhdGUpID0gMDsKICAgICB2aXJ0dWFs
IHZvaWQgcGxheWJhY2tTdGF0ZUNoYW5nZWQoTWVkaWFTZXNzaW9uUGxheWJhY2tTdGF0ZSkgPSAw
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tNZWRpYVNlc3Npb25D
b29yZGluYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tNZWRpYVNlc3Npb25D
b29yZGluYXRvci5jcHAKaW5kZXggYzM3NWZiNjEzMjUwZDcxZDcxMTQ1NzY3NDk0M2E1YzAxNzg1
MjlmYS4uYjgxNjJkMGI3ZWRmMjM2OGZhMzY5MjM5NDBiMDM1MmZlZjg4N2YyOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3IuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja01lZGlhU2Vzc2lvbkNvb3JkaW5hdG9y
LmNwcApAQCAtOTEsNyArOTEsNyBAQCB2b2lkIE1vY2tNZWRpYVNlc3Npb25Db29yZGluYXRvcjo6
c2V0VHJhY2soY29uc3QgU3RyaW5nLCBTZXRUcmFja0NvbXBsZXRlZENhbGxiYQogICAgIH0pOwog
fQogCi12b2lkIE1vY2tNZWRpYVNlc3Npb25Db29yZGluYXRvcjo6cG9zaXRpb25TdGF0ZUNoYW5n
ZWQoT3B0aW9uYWw8UGxhdGZvcm1NZWRpYVNlc3Npb25Db29yZGluYXRvcjo6TWVkaWFQb3NpdGlv
blN0YXRlPikKK3ZvaWQgTW9ja01lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yOjpwb3NpdGlvblN0YXRl
Q2hhbmdlZChjb25zdCBPcHRpb25hbDxQbGF0Zm9ybU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yOjpN
ZWRpYVBvc2l0aW9uU3RhdGU+JikKIHsKICAgICBBTFdBWVNfTE9HX0lGX1BPU1NJQkxFKExPR0lE
RU5USUZJRVIpOwogICAgIG1fc3RhdGVDaGFuZ2VMaXN0ZW5lci0+c2NoZWR1bGVDYWxsYmFjayht
X2NvbnRleHQuZ2V0KCksICJwb3NpdGlvblN0YXRlQ2hhbmdlZCIpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3IuaCBiL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja01lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yLmgKaW5kZXggODcw
YmI0Y2IwYmU5NmY4NWZkNDU3MGU4ZTM5M2I3MjM2ZmU4ZjJiMy4uYjc3ZWNhZjk1MTJmMzEyNjc5
ZWRiM2RkZDNhZTE3YjhhNzU2YWYzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9Nb2NrTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL01vY2tNZWRpYVNlc3Npb25Db29yZGluYXRvci5oCkBAIC01MSw3ICs1MSw3IEBAIHByaXZh
dGU6CiAgICAgdm9pZCBwYXVzZShQYXVzZUNvbXBsZXRlZENhbGxiYWNrJiYpIGZpbmFsOwogICAg
IHZvaWQgc2V0VHJhY2soY29uc3QgU3RyaW5nLCBTZXRUcmFja0NvbXBsZXRlZENhbGxiYWNrJiYp
IGZpbmFsOwogCi0gICAgdm9pZCBwb3NpdGlvblN0YXRlQ2hhbmdlZChPcHRpb25hbDxNZWRpYVBv
c2l0aW9uU3RhdGU+KSBmaW5hbDsKKyAgICB2b2lkIHBvc2l0aW9uU3RhdGVDaGFuZ2VkKGNvbnN0
IE9wdGlvbmFsPE1lZGlhUG9zaXRpb25TdGF0ZT4mKSBmaW5hbDsKICAgICB2b2lkIHJlYWR5U3Rh
dGVDaGFuZ2VkKE1lZGlhU2Vzc2lvblJlYWR5U3RhdGUpIGZpbmFsOwogICAgIHZvaWQgcGxheWJh
Y2tTdGF0ZUNoYW5nZWQoTWVkaWFTZXNzaW9uUGxheWJhY2tTdGF0ZSkgZmluYWw7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424521</attachid>
            <date>2021-03-28 20:53:11 -0700</date>
            <delta_ts>2021-03-29 19:19:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223795-20210329145310.patch</filename>
            <type>text/plain</type>
            <size>18682</size>
            <attacher name="Jean-Yves Avenard [:jya]">jean-yves.avenard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0OTgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWRhMzBlOTc2MjY0NzFk
MjQ1NThmMjYwNjkzYjllMDE5NDM4NmY0Ni4uMmFhODUyMjM4ZmI5NmRhMjM4YzM2YzkxN2FkYjMz
NjE2YzI2YjE3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDIxLTAzLTI2ICBKZWFu
LVl2ZXMgQXZlbmFyZCAgPGp5YUBhcHBsZS5jb20+CisKKyAgICAgICAgTm93IFBsYXlpbmcgY29u
dGVudCBpc24ndCB1cGRhdGVkIHdoZW4gbWVkaWEgc2Vzc2lvbidzIE1ldGFkYXRhIGlzIG1vZGlm
aWVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjM3
OTUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc1ODgzNDc4PgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1hbnVhbGx5IHRlc3RlZC4gRW5zdXJpbmcg
dGhhdCBpbW1lZGlhdGVseSBhZnRlciBtb2RpZnlpbmcgdGhlIE1lZGlhU2Vzc2lvbiBtZXRhZGF0
YSwgTm93UGxheWluZyByZWZsZWN0cyB0aGUgY2hhbmdlLgorCisgICAgICAgICogTW9kdWxlcy9t
ZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNlc3Np
b246Ok9ic2VydmVyOjptZXRhZGF0YUNoYW5nZWQpOiBDaGFuZ2UgbWV0aG9kIHByb3RvdHlwZSB0
byBhdm9pZCB1bm5lY2Vzc2FyeSByZWZjb3VudC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU2Vz
c2lvbjo6T2JzZXJ2ZXI6OnBvc2l0aW9uU3RhdGVDaGFuZ2VkKTogQ2hhbmdlIG1ldGhvZCBwcm90
b3R5cGUgdG8gcGFzcyBhcmd1bWVudCBieSByZWZlcmVuY2UgcmF0aGVyIHRoYW4gdmFsdWUgKGFu
ZCBlYXNpZXIgZm9yd2FyZCBkZWNsYXJhdGlvbikuCisgICAgICAgICogTW9kdWxlcy9tZWRpYXNl
c3Npb24vTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFTZXNzaW9uQ29vcmRpbmF0b3I6OnBvc2l0aW9uU3RhdGVDaGFuZ2VkKTogIFBhc3MgYXJndW1l
bnQgYnkgcmVmZXJlbmNlIHRoYW4gdmFsdWUuCisgICAgICAgICogTW9kdWxlcy9tZWRpYXNlc3Np
b24vTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3IuaDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6IEV4cG9ydCBhZGRpdGlvbmFsIGhlYWRlcnMuCisgICAgICAgICog
aHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcDogQWRkIE1lZGlhU2Vzc2lvbk9ic2VydmVyIGNs
YXNzLCB3ZSB1c2Ugc2VwYXJhdGUgcHJveHkgdG8gYXZvaWQgbXVsdGlwbGUgaW5oZXJpdGFuY2Ug
b2YgQ2FuTWFrZVdlYWtQdHIuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNlc3Npb25PYnNlcnZl
cjo6TWVkaWFTZXNzaW9uT2JzZXJ2ZXIpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTZXNzaW9u
T2JzZXJ2ZXI6OmFjdGlvbkhhbmRsZXJzQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRp
YUVsZW1lbnRTZXNzaW9uOjpyZWdpc3RlcldpdGhEb2N1bWVudCk6IEFkZCBNZWRpYUVsZW1lbnRT
ZXNzaW9uIGFzIE1lZGlhIFNlc3Npb24gb2JzZXJ2ZXIgd2hlbiBpdCdzIGFkZGVkIHRvIHRoZSBE
T00uCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVsZW1lbnRTZXNzaW9uOjp1bnJlZ2lzdGVyV2l0
aERvY3VtZW50KTogUmVtb3ZlIE1lZGlhRWxlbWVudFNlc3Npb24gYXMgTWVkaWEgU2Vzc2lvbiBv
YnNlcnZlciB3aGVuIGl0J3MgcmVtb3ZlZCBmcm9tIHRoZSBET00uCisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYUVsZW1lbnRTZXNzaW9uOjpkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQpOiBT
aW1wbGlmeSB3aXRoIG5ldyBtZWRpYVNlc3Npb24oKSBoZWxwZXIuCisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYUVsZW1lbnRTZXNzaW9uOjpub3dQbGF5aW5nSW5mbyBjb25zdCk6IFNpbXBsaWZ5IHdp
dGggbmV3IG1lZGlhU2Vzc2lvbigpIGhlbHBlci4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRWxl
bWVudFNlc3Npb246Om1lZGlhU2Vzc2lvbiBjb25zdCk6IEhlbHBlciB0byByZXRyaWV2ZSBhc3Nv
Y2lhdGVkIG1lZGlhU2Vzc2lvbiBvYmplY3QuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVsZW1l
bnRTZXNzaW9uOjplbnN1cmVJc09ic2VydmluZ01lZGlhU2Vzc2lvbik6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYUVsZW1lbnRTZXNzaW9uOjptZXRhZGF0YUNoYW5nZWQpOiBDYWxsIGNsaWVudENo
YXJhY3RlcmlzdGljc0NoYW5nZWQgd2hpY2ggd2lsbCB0cmlnZ2VyIHRoZSBQbGF0Zm9ybU1lZGlh
U2Vzc2lvbk1hbmFnZXIgdG8gcmVmcmVzaCB0aGUgTm93UGxheWluZ0luZm8gY29udGVudC4KKyAg
ICAgICAgKFdlYkNvcmU6Ok1lZGlhRWxlbWVudFNlc3Npb246OnBvc2l0aW9uU3RhdGVDaGFuZ2Vk
KTogTWV0aG9kIGN1cnJlbnRseSBkb2luZyBub3RoaW5nLiBQcmVwYXJpbmcgZm9yIGZ1dHVyZSBj
aGFuZ2UuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVsZW1lbnRTZXNzaW9uOjpwbGF5YmFja1N0
YXRlQ2hhbmdlZCk6IE1ldGhvZCBjdXJyZW50bHkgZG9pbmcgbm90aGluZy4gUHJlcGFyaW5nIGZv
ciBmdXR1cmUgY2hhbmdlLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbGVtZW50U2Vzc2lvbjo6
YWN0aW9uSGFuZGxlcnNDaGFuZ2VkKTogTWV0aG9kIGN1cnJlbnRseSBkb2luZyBub3RoaW5nLiBQ
cmVwYXJpbmcgZm9yIGZ1dHVyZSBjaGFuZ2UuCisgICAgICAgICogaHRtbC9NZWRpYUVsZW1lbnRT
ZXNzaW9uLmg6IEFkZCBtZXRob2RzLgorICAgICAgICAqIHBsYXRmb3JtL2NvY29hL1JlbW90ZUNv
bW1hbmRMaXN0ZW5lckNvY29hLmg6IFJlbW92ZSB0cmFpbGluZyB3aGl0ZXNwYWNlLgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL1BsYXRmb3JtTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3IuaDog
VXBkYXRlIGZvciBuZXcgbWV0aG9kIHByb3RvdHlwaW5nLgorICAgICAgICAqIHRlc3RpbmcvTW9j
a01lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tNZWRp
YVNlc3Npb25Db29yZGluYXRvcjo6cG9zaXRpb25TdGF0ZUNoYW5nZWQpOiBVcGRhdGUgZm9yIG5l
dyBtZXRob2QgcHJvdG90eXBpbmcuCisgICAgICAgICogdGVzdGluZy9Nb2NrTWVkaWFTZXNzaW9u
Q29vcmRpbmF0b3IuaDogVXBkYXRlIGZvciBuZXcgbWV0aG9kIHByb3RvdHlwaW5nLgorCiAyMDIx
LTAzLTI1ICBKZWFuLVl2ZXMgQXZlbmFyZCAgPGp5YUBhcHBsZS5jb20+CiAKICAgICAgICAgRml4
IE5vd1BsYXlpbmdJbmZvQXJ0d29yayBvcGVyYXRvcj09IGxvZ2ljLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uLmggYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYVNlc3Npb24uaAppbmRleCA4ZDA1MDdj
ZjA5OTBmZDU1YzUxYzdkMWE5N2Q4YjVkMTljZDhjM2FjLi4zNWNhNDY2NTA1ZjBiMDExYTUzY2Yy
Y2JiZTRhNWE0MTAyYTFjODgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc2Vzc2lvbi9NZWRpYVNlc3Npb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc2Vzc2lvbi9NZWRpYVNlc3Npb24uaApAQCAtMTAyLDggKzEwMiw4IEBAIHB1YmxpYzoKICAg
ICBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwgfk9ic2VydmVyKCkgPSBkZWZhdWx0OwogCi0gICAg
ICAgIHZpcnR1YWwgdm9pZCBtZXRhZGF0YUNoYW5nZWQoUmVmUHRyPE1lZGlhTWV0YWRhdGE+KSB7
IH0KLSAgICAgICAgdmlydHVhbCB2b2lkIHBvc2l0aW9uU3RhdGVDaGFuZ2VkKE9wdGlvbmFsPE1l
ZGlhUG9zaXRpb25TdGF0ZT4pIHsgfQorICAgICAgICB2aXJ0dWFsIHZvaWQgbWV0YWRhdGFDaGFu
Z2VkKGNvbnN0IFJlZlB0cjxNZWRpYU1ldGFkYXRhPiYpIHsgfQorICAgICAgICB2aXJ0dWFsIHZv
aWQgcG9zaXRpb25TdGF0ZUNoYW5nZWQoY29uc3QgT3B0aW9uYWw8TWVkaWFQb3NpdGlvblN0YXRl
PiYpIHsgfQogICAgICAgICB2aXJ0dWFsIHZvaWQgcGxheWJhY2tTdGF0ZUNoYW5nZWQoTWVkaWFT
ZXNzaW9uUGxheWJhY2tTdGF0ZSkgeyB9CiAgICAgICAgIHZpcnR1YWwgdm9pZCBhY3Rpb25IYW5k
bGVyc0NoYW5nZWQoKSB7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3IuY3BwCmluZGV4IDFk
ZjRlOTIxNTVmMWFjMDE1ZTZjNTE3NGQ0YmVmNjQ4MWU1OTM1NjcuLjMxM2Y3ZTNiNmIxZTY1YjUz
NWZjYTY0OGJiYmM4NzJhMDcxMDk2YTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzZXNzaW9uL01lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYVNlc3Npb25Db29yZGluYXRvci5jcHAK
QEAgLTIwMiw3ICsyMDIsNyBAQCB2b2lkIE1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yOjpzZXRNZWRp
YVNlc3Npb24oTWVkaWFTZXNzaW9uKiBzZXNzaW9uKQogICAgICAgICBtX3Nlc3Npb24tPmFkZE9i
c2VydmVyKCp0aGlzKTsKIH0KIAotdm9pZCBNZWRpYVNlc3Npb25Db29yZGluYXRvcjo6cG9zaXRp
b25TdGF0ZUNoYW5nZWQoT3B0aW9uYWw8TWVkaWFQb3NpdGlvblN0YXRlPiBzdGF0ZSkKK3ZvaWQg
TWVkaWFTZXNzaW9uQ29vcmRpbmF0b3I6OnBvc2l0aW9uU3RhdGVDaGFuZ2VkKGNvbnN0IE9wdGlv
bmFsPE1lZGlhUG9zaXRpb25TdGF0ZT4mIHN0YXRlKQogewogICAgIGlmICghc3RhdGUpIHsKICAg
ICAgICAgbV9wbGF0Zm9ybUNvb3JkaW5hdG9yLT5wb3NpdGlvblN0YXRlQ2hhbmdlZCh7IH0pOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vTWVkaWFTZXNz
aW9uQ29vcmRpbmF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL01l
ZGlhU2Vzc2lvbkNvb3JkaW5hdG9yLmgKaW5kZXggMjQ3Y2VjODgwYjM1M2Y0NmJjYmQ4NzBmZjVk
YmMxOTJjOTk5N2M5Mi4uNjkyNmMwMmIwMTM1NDExNDBjZTUyOTBiM2JkOTEyMGJhY2VmNThjMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vTWVkaWFTZXNz
aW9uQ29vcmRpbmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lv
bi9NZWRpYVNlc3Npb25Db29yZGluYXRvci5oCkBAIC01MSw3ICs1MSw3IEBAIHB1YmxpYzoKICAg
ICB2b2lkIHNldE1lZGlhU2Vzc2lvbihNZWRpYVNlc3Npb24qKTsKIAogICAgIC8vIE1lZGlhU2Vz
c2lvbjo6T2JzZXJ2ZXIKLSAgICB2b2lkIHBvc2l0aW9uU3RhdGVDaGFuZ2VkKE9wdGlvbmFsPE1l
ZGlhUG9zaXRpb25TdGF0ZT4pIGZpbmFsOworICAgIHZvaWQgcG9zaXRpb25TdGF0ZUNoYW5nZWQo
Y29uc3QgT3B0aW9uYWw8TWVkaWFQb3NpdGlvblN0YXRlPiYpIGZpbmFsOwogICAgIHZvaWQgcGxh
eWJhY2tTdGF0ZUNoYW5nZWQoTWVkaWFTZXNzaW9uUGxheWJhY2tTdGF0ZSkgZmluYWw7CiAgICAg
dm9pZCByZWFkeVN0YXRlQ2hhbmdlZChNZWRpYVNlc3Npb25SZWFkeVN0YXRlKSBmaW5hbDsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IGYzNjg1Zjk1NmI2ZWIwMjYxZjQ5ZDUyMjQ1MWJjZDY5ODg3M2YwZDUuLjViMTg1NTYxYjdi
Mzk1YmU2NWYzMjk1ZjkxNjFjYTk2Y2VhYzcwM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE0NzIsNiArMTQ3Miw4IEBACiAJ
CTUxNEM3NjdCMENFOTIzQTEwMDdFRjNDRCAvKiBSZXNvdXJjZUhhbmRsZUludGVybmFsLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTRDNzY2NjBDRTky
M0ExMDA3RUYzQ0QgLyogUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oICovOyB9OwogCQk1MTRDNzY3
RDBDRTkyM0ExMDA3RUYzQ0QgLyogUmVzb3VyY2VSZXF1ZXN0QmFzZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE0Qzc2NjgwQ0U5MjNBMTAwN0VGM0NE
IC8qIFJlc291cmNlUmVxdWVzdEJhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQk1MTRDNzY3RjBDRTkyM0ExMDA3RUYzQ0QgLyogUmVzb3VyY2VS
ZXNwb25zZUJhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDUxNEM3NjZBMENFOTIzQTEwMDdFRjNDRCAvKiBSZXNvdXJjZVJlc3BvbnNlQmFzZS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTUxNTlGMjY4
MjYwREZDM0YwMEIyREEzQyAvKiBNZWRpYVNlc3Npb25QbGF5YmFja1N0YXRlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRERERUEyOTI1MzhDRENCMDBB
MTMwMEMgLyogTWVkaWFTZXNzaW9uUGxheWJhY2tTdGF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTUxNTlGMjZBMjYwREZDNUEwMEIyREEzQyAv
KiBNZWRpYVBvc2l0aW9uU3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IENERERFQTM0MjUzOENFNjIwMEExMzAwQyAvKiBNZWRpYVBvc2l0aW9uU3Rh
dGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1
MTVCRTE5MDFENTRGNUZCMDBERDdDNjggLyogRW1wdHlHYW1lcGFkUHJvdmlkZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxNUJFMTg5MUQ1NEY1RjYw
MEREN0M2OCAvKiBFbXB0eUdhbWVwYWRQcm92aWRlci5oICovOyB9OwogCQk1MTVCRTE5MjFENTRG
NUZCMDBERDdDNjggLyogR2FtZXBhZFByb3ZpZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MTVCRTE4QjFENTRGNUY2MDBERDdDNjggLyogR2FtZXBh
ZFByb3ZpZGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJNTE1QkUxOTMxRDU0RjVGQjAwREQ3QzY4IC8qIEdhbWVwYWRQcm92aWRlckNsaWVudC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE1QkUxOEMx
RDU0RjVGNjAwREQ3QzY4IC8qIEdhbWVwYWRQcm92aWRlckNsaWVudC5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0zMzk2OSw2ICszMzk3MSw3IEBA
CiAJCQkJREY5QUZENzIxM0ZDMzFEODAwMTVGRUI3IC8qIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91
bmRhdGlvbk9iakMuaCBpbiBIZWFkZXJzICovLAogCQkJCUNEQzhCNUEzMTgwNDYzNDcwMDE2RTY4
NSAvKiBNZWRpYVBsYXllclByaXZhdGVNZWRpYVNvdXJjZUFWRk9iakMuaCBpbiBIZWFkZXJzICov
LAogCQkJCTE1MDUyNEY0MUI3MTJGRjYwMDY5NkFBOSAvKiBNZWRpYVBsYXllclByaXZhdGVNZWRp
YVN0cmVhbUFWRk9iakMuaCBpbiBIZWFkZXJzICovLAorCQkJCTUxNTlGMjZBMjYwREZDNUEwMEIy
REEzQyAvKiBNZWRpYVBvc2l0aW9uU3RhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTUyRTJDQUZD
MTlGRjAyMDcwMDFFRUI0RiAvKiBNZWRpYVByb2R1Y2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQk0
RTE5NTkyQTBBMzlEQUNDMDAyMjBGRTUgLyogTWVkaWFRdWVyeS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJOTQ5M0I2QkYxRDc0QjQxMjAwODhFNzgwIC8qIE1lZGlhUXVlcnlCbG9ja1dhdGNoZXIuaCBp
biBIZWFkZXJzICovLApAQCAtMzM5OTgsNiArMzQwMDEsNyBAQAogCQkJCTQxNDQ2MEEyMjQxMjk5
NDUwMDgxNEJFNyAvKiBNZWRpYVNlc3Npb25JZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk0MTdGN0FFRjIxMzlCRjZGMDBGQkE3RUMgLyogTWVkaWFTZXNzaW9uTWFuYWdlckNvY29hLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkwNzYzOEE5OTE4ODQ0ODcyMDBFMTVBMUIgLyogTWVkaWFTZXNz
aW9uTWFuYWdlcklPUy5oIGluIEhlYWRlcnMgKi8sCisJCQkJNTE1OUYyNjgyNjBERkMzRjAwQjJE
QTNDIC8qIE1lZGlhU2Vzc2lvblBsYXliYWNrU3RhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUNE
M0E0OTVGMTdBOUQwMUIwMDI3NEU0MiAvKiBNZWRpYVNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQ0Q2NDFFQjMxODE4RjVFRDAwRUU0QzQxIC8qIE1lZGlhU291cmNlUHJpdmF0ZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQ0RDOEI1QTcxODA0NzRGNzAwMTZFNjg1IC8qIE1lZGlhU291cmNlUHJp
dmF0ZUFWRk9iakMuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFF
bGVtZW50U2Vzc2lvbi5jcHAKaW5kZXggMmE0MTYxMWU1YjU3MjBkYmJmMzJkZjMzN2YyYTdjYTM2
Yzk5MGI0NC4uZTE3Njc2ZjhlZGEyNjNhMjA1ZjYzNTcxMTYwOGUzM2M5MGQ1MDVkOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwCkBAIC01Niw3ICs1Niw5
IEBACiAKICNpZiBFTkFCTEUoTUVESUFfU0VTU0lPTikKICNpbmNsdWRlICJNZWRpYU1ldGFkYXRh
LmgiCisjaW5jbHVkZSAiTWVkaWFQb3NpdGlvblN0YXRlLmgiCiAjaW5jbHVkZSAiTWVkaWFTZXNz
aW9uLmgiCisjaW5jbHVkZSAiTWVkaWFTZXNzaW9uUGxheWJhY2tTdGF0ZS5oIgogI2luY2x1ZGUg
Ik5hdmlnYXRvck1lZGlhU2Vzc2lvbi5oIgogI2VuZGlmCiAKQEAgLTExNCw2ICsxMTYsNDYgQEAg
c3RhdGljIGJvb2wgcGFnZUV4cGxpY2l0bHlBbGxvd3NFbGVtZW50VG9BdXRvcGxheUlubGluZShj
b25zdCBIVE1MTWVkaWFFbGVtZW50JgogICAgIHJldHVybiBkb2N1bWVudC5pc01lZGlhRG9jdW1l
bnQoKSAmJiAhZG9jdW1lbnQub3duZXJFbGVtZW50KCkgJiYgcGFnZSAmJiBwYWdlLT5hbGxvd3NN
ZWRpYURvY3VtZW50SW5saW5lUGxheWJhY2soKTsKIH0KIAorI2lmIEVOQUJMRShNRURJQV9TRVNT
SU9OKQorY2xhc3MgTWVkaWFTZXNzaW9uT2JzZXJ2ZXIgOiBwdWJsaWMgTWVkaWFTZXNzaW9uOjpP
YnNlcnZlciB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisKK3B1YmxpYzoKKyAgICBN
ZWRpYVNlc3Npb25PYnNlcnZlcihNZWRpYUVsZW1lbnRTZXNzaW9uJiBzZXNzaW9uLCBjb25zdCBS
ZWY8TWVkaWFTZXNzaW9uPiYgbWVkaWFTZXNzaW9uKQorICAgICAgICA6IG1fc2Vzc2lvbihtYWtl
V2Vha1B0cihzZXNzaW9uKSksIG1fbWVkaWFTZXNzaW9uKG1lZGlhU2Vzc2lvbi5wdHIoKSkKKyAg
ICB7CisgICAgICAgIG1fbWVkaWFTZXNzaW9uLT5hZGRPYnNlcnZlcigqdGhpcyk7CisgICAgfQor
ICAgIH5NZWRpYVNlc3Npb25PYnNlcnZlcigpCisgICAgeworICAgICAgICBtX21lZGlhU2Vzc2lv
bi0+cmVtb3ZlT2JzZXJ2ZXIoKnRoaXMpOworICAgIH0KKyAgICB2b2lkIG1ldGFkYXRhQ2hhbmdl
ZChjb25zdCBSZWZQdHI8TWVkaWFNZXRhZGF0YT4mIG1ldGFkYXRhKSBmaW5hbAorICAgIHsKKyAg
ICAgICAgaWYgKG1fc2Vzc2lvbikKKyAgICAgICAgICAgIG1fc2Vzc2lvbi0+bWV0YWRhdGFDaGFu
Z2VkKG1ldGFkYXRhKTsKKyAgICB9CisgICAgdm9pZCBwb3NpdGlvblN0YXRlQ2hhbmdlZChjb25z
dCBPcHRpb25hbDxNZWRpYVBvc2l0aW9uU3RhdGU+JiBzdGF0ZSkgZmluYWwKKyAgICB7CisgICAg
ICAgIGlmIChtX3Nlc3Npb24pCisgICAgICAgICAgICBtX3Nlc3Npb24tPnBvc2l0aW9uU3RhdGVD
aGFuZ2VkKHN0YXRlKTsKKyAgICB9CisgICAgdm9pZCBwbGF5YmFja1N0YXRlQ2hhbmdlZChNZWRp
YVNlc3Npb25QbGF5YmFja1N0YXRlIHN0YXRlKSBmaW5hbAorICAgIHsKKyAgICAgICAgaWYgKG1f
c2Vzc2lvbikKKyAgICAgICAgICAgIG1fc2Vzc2lvbi0+cGxheWJhY2tTdGF0ZUNoYW5nZWQoc3Rh
dGUpOworICAgIH0KKyAgICB2b2lkIGFjdGlvbkhhbmRsZXJzQ2hhbmdlZCgpCisgICAgeworICAg
ICAgICBpZiAobV9zZXNzaW9uKQorICAgICAgICAgICAgbV9zZXNzaW9uLT5hY3Rpb25IYW5kbGVy
c0NoYW5nZWQoKTsKKyAgICB9Citwcml2YXRlOgorICAgIFdlYWtQdHI8TWVkaWFFbGVtZW50U2Vz
c2lvbj4gbV9zZXNzaW9uOworICAgIFJlZlB0cjxNZWRpYVNlc3Npb24+IG1fbWVkaWFTZXNzaW9u
OworfTsKKyNlbmRpZgorCiBNZWRpYUVsZW1lbnRTZXNzaW9uOjpNZWRpYUVsZW1lbnRTZXNzaW9u
KEhUTUxNZWRpYUVsZW1lbnQmIGVsZW1lbnQpCiAgICAgOiBQbGF0Zm9ybU1lZGlhU2Vzc2lvbihQ
bGF0Zm9ybU1lZGlhU2Vzc2lvbk1hbmFnZXI6OnNoYXJlZE1hbmFnZXIoKSwgZWxlbWVudCkKICAg
ICAsIG1fZWxlbWVudChlbGVtZW50KQpAQCAtMTYxLDYgKzIwMyw3IEBAIHZvaWQgTWVkaWFFbGVt
ZW50U2Vzc2lvbjo6cmVnaXN0ZXJXaXRoRG9jdW1lbnQoRG9jdW1lbnQmIGRvY3VtZW50KQogI2Vs
c2UKICAgICBVTlVTRURfUEFSQU0oZG9jdW1lbnQpOwogI2VuZGlmCisgICAgZW5zdXJlSXNPYnNl
cnZpbmdNZWRpYVNlc3Npb24oKTsKIH0KIAogdm9pZCBNZWRpYUVsZW1lbnRTZXNzaW9uOjp1bnJl
Z2lzdGVyV2l0aERvY3VtZW50KERvY3VtZW50JiBkb2N1bWVudCkKQEAgLTE3MCw2ICsyMTMsOSBA
QCB2b2lkIE1lZGlhRWxlbWVudFNlc3Npb246OnVucmVnaXN0ZXJXaXRoRG9jdW1lbnQoRG9jdW1l
bnQmIGRvY3VtZW50KQogI2Vsc2UKICAgICBVTlVTRURfUEFSQU0oZG9jdW1lbnQpOwogI2VuZGlm
CisjaWYgRU5BQkxFKE1FRElBX1NFU1NJT04pCisgICAgbV9vYnNlcnZlciA9IG51bGxwdHI7Cisj
ZW5kaWYKIH0KIAogdm9pZCBNZWRpYUVsZW1lbnRTZXNzaW9uOjpjbGllbnRXaWxsQmVnaW5BdXRv
cGxheWluZygpCkBAIC0xMDI4LDggKzEwNzQsNyBAQCBib29sIE1lZGlhRWxlbWVudFNlc3Npb246
OmFsbG93c1BsYXliYWNrQ29udHJvbHNGb3JBdXRvcGxheWluZ0F1ZGlvKCkgY29uc3QKICNpZiBF
TkFCTEUoTUVESUFfU0VTU0lPTikKIHZvaWQgTWVkaWFFbGVtZW50U2Vzc2lvbjo6ZGlkUmVjZWl2
ZVJlbW90ZUNvbnRyb2xDb21tYW5kKFJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSBjb21tYW5kVHlw
ZSwgY29uc3QgUmVtb3RlQ29tbWFuZEFyZ3VtZW50JiBhcmd1bWVudCkKIHsKLSAgICBhdXRvKiB3
aW5kb3cgPSBtX2VsZW1lbnQuZG9jdW1lbnQoKS5kb21XaW5kb3coKTsKLSAgICBhdXRvKiBzZXNz
aW9uID0gd2luZG93ID8gJk5hdmlnYXRvck1lZGlhU2Vzc2lvbjo6bWVkaWFTZXNzaW9uKHdpbmRv
dy0+bmF2aWdhdG9yKCkpIDogbnVsbHB0cjsKKyAgICBhdXRvKiBzZXNzaW9uID0gbWVkaWFTZXNz
aW9uKCk7CiAgICAgaWYgKCFzZXNzaW9uIHx8ICFzZXNzaW9uLT5oYXNBY3RpdmVBY3Rpb25IYW5k
bGVycygpKSB7CiAgICAgICAgIFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpkaWRSZWNlaXZlUmVtb3Rl
Q29udHJvbENvbW1hbmQoY29tbWFuZFR5cGUsIGFyZ3VtZW50KTsKICAgICAgICAgcmV0dXJuOwpA
QCAtMTEwOCwxMiArMTE1MywxMSBAQCBPcHRpb25hbDxOb3dQbGF5aW5nSW5mbz4gTWVkaWFFbGVt
ZW50U2Vzc2lvbjo6bm93UGxheWluZ0luZm8oKSBjb25zdAogICAgICAgICBjdXJyZW50VGltZSA9
IE1lZGlhUGxheWVyOjppbnZhbGlkVGltZSgpOwogCiAjaWYgRU5BQkxFKE1FRElBX1NFU1NJT04p
Ci0gICAgYXV0byogd2luZG93ID0gbV9lbGVtZW50LmRvY3VtZW50KCkuZG9tV2luZG93KCk7Ci0g
ICAgYXV0byogc2Vzc2lvbk1ldGFkYXRhID0gd2luZG93ID8gTmF2aWdhdG9yTWVkaWFTZXNzaW9u
OjptZWRpYVNlc3Npb24od2luZG93LT5uYXZpZ2F0b3IoKSkubWV0YWRhdGEoKSA6IG51bGxwdHI7
CisgICAgYXV0byogc2Vzc2lvbiA9IG1lZGlhU2Vzc2lvbigpOworICAgIGF1dG8qIHNlc3Npb25N
ZXRhZGF0YSA9IHNlc3Npb24gPyBzZXNzaW9uLT5tZXRhZGF0YSgpIDogbnVsbHB0cjsKICAgICBp
ZiAoc2Vzc2lvbk1ldGFkYXRhKSB7CiAgICAgICAgIE9wdGlvbmFsPE5vd1BsYXlpbmdJbmZvQXJ0
d29yaz4gYXJ0d29yazsKICAgICAgICAgaWYgKHNlc3Npb25NZXRhZGF0YS0+YXJ0d29ya0ltYWdl
KCkpIHsKLSAgICAgICAgICAgIC8vIEZJWE1FOiBPcHRpbWl6ZSBzbyB0aGF0IHdlIG9ubHkgc2Vu
ZCBhbiBpbWFnZSBpZiBpdCBjaGFuZ2VzLgogICAgICAgICAgICAgYXJ0d29yayA9IE5vd1BsYXlp
bmdJbmZvQXJ0d29yayB7IHNlc3Npb25NZXRhZGF0YS0+YXJ0d29ya1NyYygpLCBzZXNzaW9uTWV0
YWRhdGEtPmFydHdvcmtJbWFnZSgpLT5taW1lVHlwZSgpLCBzZXNzaW9uTWV0YWRhdGEtPmFydHdv
cmtJbWFnZSgpLT5kYXRhKCkgfTsKICAgICAgICAgfQogICAgICAgICByZXR1cm4gTm93UGxheWlu
Z0luZm8geyBzZXNzaW9uTWV0YWRhdGEtPnRpdGxlKCksIHNlc3Npb25NZXRhZGF0YS0+YXJ0aXN0
KCksIHNlc3Npb25NZXRhZGF0YS0+YWxidW0oKSwgbV9lbGVtZW50LnNvdXJjZUFwcGxpY2F0aW9u
SWRlbnRpZmllcigpLCBkdXJhdGlvbiwgY3VycmVudFRpbWUsIHN1cHBvcnRzU2Vla2luZywgbV9l
bGVtZW50Lm1lZGlhU2Vzc2lvblVuaXF1ZUlkZW50aWZpZXIoKSwgaXNQbGF5aW5nLCBhbGxvd3NO
b3dQbGF5aW5nQ29udHJvbHNWaXNpYmlsaXR5LCBXVEZNb3ZlKGFydHdvcmspIH07CkBAIC0xMjAx
LDYgKzEyNDUsMzkgQEAgU3RyaW5nIGNvbnZlcnRFbnVtZXJhdGlvblRvU3RyaW5nKGNvbnN0IE1l
ZGlhUGxheWJhY2tEZW5pYWxSZWFzb24gZW51bWVyYXRpb25WYWwKICAgICByZXR1cm4gdmFsdWVz
W3N0YXRpY19jYXN0PHNpemVfdD4oZW51bWVyYXRpb25WYWx1ZSldOwogfQogCitNZWRpYVNlc3Np
b24qIE1lZGlhRWxlbWVudFNlc3Npb246Om1lZGlhU2Vzc2lvbigpIGNvbnN0Cit7CisjaWYgRU5B
QkxFKE1FRElBX1NFU1NJT04pCisgICAgYXV0byogd2luZG93ID0gbV9lbGVtZW50LmRvY3VtZW50
KCkuZG9tV2luZG93KCk7CisgICAgaWYgKCF3aW5kb3cpCisgICAgICAgIHJldHVybiBudWxscHRy
OworICAgIHJldHVybiAmTmF2aWdhdG9yTWVkaWFTZXNzaW9uOjptZWRpYVNlc3Npb24od2luZG93
LT5uYXZpZ2F0b3IoKSk7CisjZWxzZQorICAgIHJldHVybiBudWxscHRyOworI2VuZGlmCit9CisK
K3ZvaWQgTWVkaWFFbGVtZW50U2Vzc2lvbjo6ZW5zdXJlSXNPYnNlcnZpbmdNZWRpYVNlc3Npb24o
KQoreworI2lmIEVOQUJMRShNRURJQV9TRVNTSU9OKQorICAgIGF1dG8qIHNlc3Npb24gPSBtZWRp
YVNlc3Npb24oKTsKKyAgICBpZiAoIXNlc3Npb24gfHwgbV9vYnNlcnZlcikKKyAgICAgICAgcmV0
dXJuOworICAgIG1fb2JzZXJ2ZXIgPSBtYWtlVW5pcXVlPE1lZGlhU2Vzc2lvbk9ic2VydmVyPigq
dGhpcywgKnNlc3Npb24pOworI2VuZGlmCit9CisKK3ZvaWQgTWVkaWFFbGVtZW50U2Vzc2lvbjo6
bWV0YWRhdGFDaGFuZ2VkKGNvbnN0IFJlZlB0cjxNZWRpYU1ldGFkYXRhPiYpCit7CisgICAgY2xp
ZW50Q2hhcmFjdGVyaXN0aWNzQ2hhbmdlZCgpOworfQorCit2b2lkIE1lZGlhRWxlbWVudFNlc3Np
b246OnBvc2l0aW9uU3RhdGVDaGFuZ2VkKGNvbnN0IE9wdGlvbmFsPE1lZGlhUG9zaXRpb25TdGF0
ZT4mKSB7IH0KKwordm9pZCBNZWRpYUVsZW1lbnRTZXNzaW9uOjpwbGF5YmFja1N0YXRlQ2hhbmdl
ZChNZWRpYVNlc3Npb25QbGF5YmFja1N0YXRlKSB7IH0KKwordm9pZCBNZWRpYUVsZW1lbnRTZXNz
aW9uOjphY3Rpb25IYW5kbGVyc0NoYW5nZWQoKSB7IH0KKwogfQogCiAjZW5kaWYgLy8gRU5BQkxF
KFZJREVPKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVsZW1lbnRTZXNz
aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uaAppbmRleCBj
NzMxOWIxOTc0NmNkNDczNmNkOTc4NjA2MDMxNzkxNDM5YzdkYzI4Li4xMjI5YzlmNGZjZWY2M2Iz
OGRiZmJjY2QwMDU3Y2UyYTFkYjkzMWIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L01lZGlhRWxlbWVudFNlc3Npb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxl
bWVudFNlc3Npb24uaApAQCAtMzYsNiArMzYsMTAgQEAKICNpbmNsdWRlIDx3dGYvT3B0aW9uYWwu
aD4KICNpbmNsdWRlIDx3dGYvVHlwZUNhc3RzLmg+CiAKKyNpZiBFTkFCTEUoTUVESUFfU0VTU0lP
TikKKyNpbmNsdWRlIDxtZW1vcnk+CisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBl
bnVtIGNsYXNzIE1lZGlhU2Vzc2lvbk1haW5Db250ZW50UHVycG9zZSB7CkBAIC01Nyw3ICs2MSwx
MiBAQCBlbnVtIGNsYXNzIE1lZGlhUGxheWJhY2tEZW5pYWxSZWFzb24gewogCiBjbGFzcyBEb2N1
bWVudDsKIGNsYXNzIEhUTUxNZWRpYUVsZW1lbnQ7CitjbGFzcyBNZWRpYU1ldGFkYXRhOworc3Ry
dWN0IE1lZGlhUG9zaXRpb25TdGF0ZTsKK2NsYXNzIE1lZGlhU2Vzc2lvbjsKK2NsYXNzIE1lZGlh
U2Vzc2lvbk9ic2VydmVyOwogY2xhc3MgU291cmNlQnVmZmVyOworZW51bSBjbGFzcyBNZWRpYVNl
c3Npb25QbGF5YmFja1N0YXRlIDogdWludDhfdDsKIAogY2xhc3MgTWVkaWFFbGVtZW50U2Vzc2lv
biBmaW5hbCA6IHB1YmxpYyBQbGF0Zm9ybU1lZGlhU2Vzc2lvbgogewpAQCAtMTc4LDYgKzE4Nywx
MCBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKE1FRElBX1NFU1NJT04pCiAgICAgdm9pZCBkaWRSZWNl
aXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUmVtb3RlQ29udHJvbENvbW1hbmRUeXBlLCBjb25zdCBS
ZW1vdGVDb21tYW5kQXJndW1lbnQmKSBmaW5hbDsKICNlbmRpZgorICAgIHZvaWQgbWV0YWRhdGFD
aGFuZ2VkKGNvbnN0IFJlZlB0cjxNZWRpYU1ldGFkYXRhPiYpOworICAgIHZvaWQgcG9zaXRpb25T
dGF0ZUNoYW5nZWQoY29uc3QgT3B0aW9uYWw8TWVkaWFQb3NpdGlvblN0YXRlPiYpOworICAgIHZv
aWQgcGxheWJhY2tTdGF0ZUNoYW5nZWQoTWVkaWFTZXNzaW9uUGxheWJhY2tTdGF0ZSk7CisgICAg
dm9pZCBhY3Rpb25IYW5kbGVyc0NoYW5nZWQoKTsKIAogcHJpdmF0ZToKIApAQCAtMTkzLDYgKzIw
Niw5IEBAIHByaXZhdGU6CiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICBib29sIHJlcXVp
cmVzUGxheWJhY2tUYXJnZXRSb3V0ZU1vbml0b3JpbmcoKSBjb25zdCBvdmVycmlkZTsKICNlbmRp
ZgorICAgIHZvaWQgZW5zdXJlSXNPYnNlcnZpbmdNZWRpYVNlc3Npb24oKTsKKyAgICBNZWRpYVNl
c3Npb24qIG1lZGlhU2Vzc2lvbigpIGNvbnN0OworCiAgICAgYm9vbCB1cGRhdGVJc01haW5Db250
ZW50KCkgY29uc3Q7CiAgICAgdm9pZCBtYWluQ29udGVudENoZWNrVGltZXJGaXJlZCgpOwogCkBA
IC0yMzYsNiArMjUyLDcgQEAgcHJpdmF0ZToKICAgICAKICNpZiBFTkFCTEUoTUVESUFfU0VTU0lP
TikKICAgICBib29sIG1faXNTY3J1YmJpbmcgeyBmYWxzZSB9OworICAgIHN0ZDo6dW5pcXVlX3B0
cjxNZWRpYVNlc3Npb25PYnNlcnZlcj4gbV9vYnNlcnZlcjsKICNlbmRpZgogfTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUmVtb3RlQ29tbWFuZExpc3RlbmVy
Q29jb2EuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1JlbW90ZUNvbW1hbmRMaXN0
ZW5lckNvY29hLmgKaW5kZXggZmIwY2ZiOTczZmIxMThhMzhiYjRhOGI1YjY4ODA3YWE0MTliMzkw
Zi4uYTZkMTBlOTYzYTUyMWZjMTBmZGFjZGE1YzQ0YTc5N2ZlY2EyYmFhNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUmVtb3RlQ29tbWFuZExpc3RlbmVyQ29jb2Eu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9SZW1vdGVDb21tYW5kTGlzdGVu
ZXJDb2NvYS5oCkBAIC00Nyw3ICs0Nyw3IEBAIHByaXZhdGU6CiAgICAgY29uc3QgUmVtb3RlQ29t
bWFuZHNTZXQmIGRlZmF1bHRDb21tYW5kcygpOwogICAgIFJlbW90ZUNvbW1hbmRzU2V0IG1fY3Vy
cmVudENvbW1hbmRzOwogfTsKLSAgICAKKwogfQogCiAjZW5kaWYgLy8gUExBVEZPUk0oTUFDKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGxhdGZvcm1NZWRp
YVNlc3Npb25Db29yZGluYXRvci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
UGxhdGZvcm1NZWRpYVNlc3Npb25Db29yZGluYXRvci5oCmluZGV4IDkxMGRjNTFkMmE2ZjgwYWJj
OTdhYTYwN2Q5ZTlhNTEwMTUwZjMyZWQuLjBmN2I1YjRlNjhhYjJlZDdhOGJjY2U0NmMxNzliNjEy
NDUyM2U3NWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1Bs
YXRmb3JtTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9QbGF0Zm9ybU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yLmgKQEAgLTc4LDcg
Kzc4LDcgQEAgcHVibGljOgogICAgICAgICBQbGF5aW5nLAogICAgIH07CiAKLSAgICB2aXJ0dWFs
IHZvaWQgcG9zaXRpb25TdGF0ZUNoYW5nZWQoT3B0aW9uYWw8TWVkaWFQb3NpdGlvblN0YXRlPikg
PSAwOworICAgIHZpcnR1YWwgdm9pZCBwb3NpdGlvblN0YXRlQ2hhbmdlZChjb25zdCBPcHRpb25h
bDxNZWRpYVBvc2l0aW9uU3RhdGU+JikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCByZWFkeVN0YXRl
Q2hhbmdlZChNZWRpYVNlc3Npb25SZWFkeVN0YXRlKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHBs
YXliYWNrU3RhdGVDaGFuZ2VkKE1lZGlhU2Vzc2lvblBsYXliYWNrU3RhdGUpID0gMDsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrTWVkaWFTZXNzaW9uQ29vcmRpbmF0
b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrTWVkaWFTZXNzaW9uQ29vcmRpbmF0
b3IuY3BwCmluZGV4IGMzNzVmYjYxMzI1MGQ3MWQ3MTE0NTc2NzQ5NDNhNWMwMTc4NTI5ZmEuLmI4
MTYyZDBiN2VkZjIzNjhmYTM2OTIzOTQwYjAzNTJmZWY4ODdmMjkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja01lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tNZWRpYVNlc3Npb25Db29yZGluYXRvci5jcHAKQEAg
LTkxLDcgKzkxLDcgQEAgdm9pZCBNb2NrTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3I6OnNldFRyYWNr
KGNvbnN0IFN0cmluZywgU2V0VHJhY2tDb21wbGV0ZWRDYWxsYmEKICAgICB9KTsKIH0KIAotdm9p
ZCBNb2NrTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3I6OnBvc2l0aW9uU3RhdGVDaGFuZ2VkKE9wdGlv
bmFsPFBsYXRmb3JtTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3I6Ok1lZGlhUG9zaXRpb25TdGF0ZT4p
Cit2b2lkIE1vY2tNZWRpYVNlc3Npb25Db29yZGluYXRvcjo6cG9zaXRpb25TdGF0ZUNoYW5nZWQo
Y29uc3QgT3B0aW9uYWw8UGxhdGZvcm1NZWRpYVNlc3Npb25Db29yZGluYXRvcjo6TWVkaWFQb3Np
dGlvblN0YXRlPiYpCiB7CiAgICAgQUxXQVlTX0xPR19JRl9QT1NTSUJMRShMT0dJREVOVElGSUVS
KTsKICAgICBtX3N0YXRlQ2hhbmdlTGlzdGVuZXItPnNjaGVkdWxlQ2FsbGJhY2sobV9jb250ZXh0
LmdldCgpLCAicG9zaXRpb25TdGF0ZUNoYW5nZWQiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvTW9ja01lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yLmggYi9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL01vY2tNZWRpYVNlc3Npb25Db29yZGluYXRvci5oCmluZGV4IDg3MGJiNGNiMGJl
OTZmODVmZDQ1NzBlOGUzOTNiNzIzNmZlOGYyYjMuLmI3N2VjYWY5NTEyZjMxMjY3OWVkYjNkZGQz
YWUxN2I4YTc1NmFmM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja01l
ZGlhU2Vzc2lvbkNvb3JkaW5hdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2Nr
TWVkaWFTZXNzaW9uQ29vcmRpbmF0b3IuaApAQCAtNTEsNyArNTEsNyBAQCBwcml2YXRlOgogICAg
IHZvaWQgcGF1c2UoUGF1c2VDb21wbGV0ZWRDYWxsYmFjayYmKSBmaW5hbDsKICAgICB2b2lkIHNl
dFRyYWNrKGNvbnN0IFN0cmluZywgU2V0VHJhY2tDb21wbGV0ZWRDYWxsYmFjayYmKSBmaW5hbDsK
IAotICAgIHZvaWQgcG9zaXRpb25TdGF0ZUNoYW5nZWQoT3B0aW9uYWw8TWVkaWFQb3NpdGlvblN0
YXRlPikgZmluYWw7CisgICAgdm9pZCBwb3NpdGlvblN0YXRlQ2hhbmdlZChjb25zdCBPcHRpb25h
bDxNZWRpYVBvc2l0aW9uU3RhdGU+JikgZmluYWw7CiAgICAgdm9pZCByZWFkeVN0YXRlQ2hhbmdl
ZChNZWRpYVNlc3Npb25SZWFkeVN0YXRlKSBmaW5hbDsKICAgICB2b2lkIHBsYXliYWNrU3RhdGVD
aGFuZ2VkKE1lZGlhU2Vzc2lvblBsYXliYWNrU3RhdGUpIGZpbmFsOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424611</attachid>
            <date>2021-03-29 19:19:49 -0700</date>
            <delta_ts>2021-03-30 07:12:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223795-20210330131947.patch</filename>
            <type>text/plain</type>
            <size>20593</size>
            <attacher name="Jean-Yves Avenard [:jya]">jean-yves.avenard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1MTg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmRmNWZiZmM2MjM5MjI2
YzY2MjkzMGY2YzJlZmFiZGE4YmJmNzFiYS4uYjhkYWMyYTFlYTMxYzFlYzhlMzM4MjY3YTkxYzk5
OGYxY2MxOTFhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDIxLTAzLTI5ICBKZWFu
LVl2ZXMgQXZlbmFyZCAgPGp5YUBhcHBsZS5jb20+CisKKyAgICAgICAgTm93IFBsYXlpbmcgY29u
dGVudCBpc24ndCB1cGRhdGVkIHdoZW4gbWVkaWEgc2Vzc2lvbidzIE1ldGFkYXRhIGlzIG1vZGlm
aWVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjM3
OTUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc1ODgzNDc4PgorCisgICAgICAgIFJldmlld2Vk
IGJ5IEVyaWMgQ2FybHNvbi4KKworICAgICAgICBNYW51YWxseSB0ZXN0ZWQuIEVuc3VyaW5nIHRo
YXQgaW1tZWRpYXRlbHkgYWZ0ZXIgbW9kaWZ5aW5nIHRoZSBNZWRpYVNlc3Npb24gbWV0YWRhdGEs
IE5vd1BsYXlpbmcgcmVmbGVjdHMgdGhlIGNoYW5nZS4KKworICAgICAgICAqIE1vZHVsZXMvbWVk
aWFzZXNzaW9uL01lZGlhU2Vzc2lvbi5oOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTZXNzaW9u
OjpPYnNlcnZlcjo6bWV0YWRhdGFDaGFuZ2VkKTogQ2hhbmdlIG1ldGhvZCBwcm90b3R5cGUgdG8g
YXZvaWQgdW5uZWNlc3NhcnkgcmVmY291bnQuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYVNlc3Np
b246Ok9ic2VydmVyOjpwb3NpdGlvblN0YXRlQ2hhbmdlZCk6IENoYW5nZSBtZXRob2QgcHJvdG90
eXBlIHRvIHBhc3MgYXJndW1lbnQgYnkgcmVmZXJlbmNlIHJhdGhlciB0aGFuIHZhbHVlIChhbmQg
ZWFzaWVyIGZvcndhcmQgZGVjbGFyYXRpb24pLgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzZXNz
aW9uL01lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
U2Vzc2lvbkNvb3JkaW5hdG9yOjpwb3NpdGlvblN0YXRlQ2hhbmdlZCk6ICBQYXNzIGFyZ3VtZW50
IGJ5IHJlZmVyZW5jZSByYXRoZXIgdGhhbiB2YWx1ZS4KKyAgICAgICAgKiBNb2R1bGVzL21lZGlh
c2Vzc2lvbi9NZWRpYVNlc3Npb25Db29yZGluYXRvci5oOgorICAgICAgICAqIE1vZHVsZXMvbWVk
aWFzZXNzaW9uL01lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yUHJpdmF0ZS5oOgorICAgICAgICAqIGh0
bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHA6IEFkZCBNZWRpYVNlc3Npb25PYnNlcnZlciBjbGFz
cywgd2UgdXNlIHNlcGFyYXRlIHByb3h5IHRvIGF2b2lkIG11bHRpcGxlIGluaGVyaXRhbmNlIG9m
IENhbk1ha2VXZWFrUHRyLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTZXNzaW9uT2JzZXJ2ZXI6
Ok1lZGlhU2Vzc2lvbk9ic2VydmVyKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU2Vzc2lvbk9i
c2VydmVyOjp+TWVkaWFTZXNzaW9uT2JzZXJ2ZXIpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFT
ZXNzaW9uT2JzZXJ2ZXI6OmFjdGlvbkhhbmRsZXJzQ2hhbmdlZCk6CisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYUVsZW1lbnRTZXNzaW9uOjpyZWdpc3RlcldpdGhEb2N1bWVudCk6IEFkZCBNZWRpYUVs
ZW1lbnRTZXNzaW9uIGFzIE1lZGlhIFNlc3Npb24gb2JzZXJ2ZXIgd2hlbiBpdCdzIGFkZGVkIHRv
IHRoZSBET00uCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVsZW1lbnRTZXNzaW9uOjp1bnJlZ2lz
dGVyV2l0aERvY3VtZW50KTogUmVtb3ZlIE1lZGlhRWxlbWVudFNlc3Npb24gYXMgTWVkaWEgU2Vz
c2lvbiBvYnNlcnZlciB3aGVuIGl0J3MgcmVtb3ZlZCBmcm9tIHRoZSBET00uCisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYUVsZW1lbnRTZXNzaW9uOjpkaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1h
bmQpOiBTaW1wbGlmeSB3aXRoIG5ldyBtZWRpYVNlc3Npb24oKSBoZWxwZXIuCisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYUVsZW1lbnRTZXNzaW9uOjpub3dQbGF5aW5nSW5mbyBjb25zdCk6IFNpbXBs
aWZ5IHdpdGggbmV3IG1lZGlhU2Vzc2lvbigpIGhlbHBlci4KKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhRWxlbWVudFNlc3Npb246Om1lZGlhU2Vzc2lvbiBjb25zdCk6IEhlbHBlciB0byByZXRyaWV2
ZSBhc3NvY2lhdGVkIG1lZGlhU2Vzc2lvbiBvYmplY3QuCisgICAgICAgIChXZWJDb3JlOjpNZWRp
YUVsZW1lbnRTZXNzaW9uOjplbnN1cmVJc09ic2VydmluZ01lZGlhU2Vzc2lvbik6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYUVsZW1lbnRTZXNzaW9uOjptZXRhZGF0YUNoYW5nZWQpOiBDYWxsIGNs
aWVudENoYXJhY3RlcmlzdGljc0NoYW5nZWQgd2hpY2ggd2lsbCB0cmlnZ2VyIHRoZSBQbGF0Zm9y
bU1lZGlhU2Vzc2lvbk1hbmFnZXIgdG8gcmVmcmVzaCB0aGUgTm93UGxheWluZ0luZm8gY29udGVu
dC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRWxlbWVudFNlc3Npb246OnBvc2l0aW9uU3RhdGVD
aGFuZ2VkKTogTWV0aG9kIGN1cnJlbnRseSBkb2luZyBub3RoaW5nLiBQcmVwYXJpbmcgZm9yIGZ1
dHVyZSBjaGFuZ2UuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVsZW1lbnRTZXNzaW9uOjpwbGF5
YmFja1N0YXRlQ2hhbmdlZCk6IE1ldGhvZCBjdXJyZW50bHkgZG9pbmcgbm90aGluZy4gUHJlcGFy
aW5nIGZvciBmdXR1cmUgY2hhbmdlLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbGVtZW50U2Vz
c2lvbjo6YWN0aW9uSGFuZGxlcnNDaGFuZ2VkKTogTWV0aG9kIGN1cnJlbnRseSBkb2luZyBub3Ro
aW5nLiBQcmVwYXJpbmcgZm9yIGZ1dHVyZSBjaGFuZ2UuCisgICAgICAgICogaHRtbC9NZWRpYUVs
ZW1lbnRTZXNzaW9uLmg6IEFkZCBtZXRob2RzLgorICAgICAgICAqIHBsYXRmb3JtL2NvY29hL1Jl
bW90ZUNvbW1hbmRMaXN0ZW5lckNvY29hLmg6IFJlbW92ZSB0cmFpbGluZyB3aGl0ZXNwYWNlLgor
ICAgICAgICAqIHRlc3RpbmcvTW9ja01lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6Ok1vY2tNZWRpYVNlc3Npb25Db29yZGluYXRvcjo6cG9zaXRpb25TdGF0ZUNo
YW5nZWQpOiBVcGRhdGUgZm9yIG5ldyBtZXRob2QgcHJvdG90eXBpbmcuCisgICAgICAgICogdGVz
dGluZy9Nb2NrTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3IuaDoKKwogMjAyMS0wMy0yOSAgQ2hhbmdT
ZW9rIE9oICA8Y2hhbmdzZW9rQHdlYmtpdC5vcmc+CiAKICAgICAgICAgSW1wbGVtZW50IHJlcGV0
aXRpb24gb2YgYW5pbWF0ZWQgQVZJRgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBhYzM1MjMzYTQ4YzEyZDIxYzQ0MDRm
N2YzOTg1Mzk2NmY5ZTM4MWZjLi5jOGQ4NTdjZDc4YWUyNWZmODY4NTQzMzUxMTY0YzQzZDJmM2Y2
NzQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIxLTAzLTI5ICBKZWFuLVl2ZXMgQXZl
bmFyZCAgPGp5YUBhcHBsZS5jb20+CisKKyAgICAgICAgTm93IFBsYXlpbmcgY29udGVudCBpc24n
dCB1cGRhdGVkIHdoZW4gbWVkaWEgc2Vzc2lvbidzIE1ldGFkYXRhIGlzIG1vZGlmaWVkCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjM3OTUKKworICAg
ICAgICBSZXZpZXdlZCBieSBFcmljIENhcmxzb24uCisKKyAgICAgICAgKiBVSVByb2Nlc3MvTWVk
aWEvTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQcml2YXRlUHJveHkuaDogVXBkYXRlIGZvciBuZXcg
bWV0aG9kIHByb3RvdHlwaW5nLgorICAgICAgICAqIFVJUHJvY2Vzcy9NZWRpYS9SZW1vdGVNZWRp
YVNlc3Npb25Db29yZGluYXRvclByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTWVk
aWFTZXNzaW9uQ29vcmRpbmF0b3JQcm94eTo6cG9zaXRpb25TdGF0ZUNoYW5nZWQpOiBVcGRhdGUg
Zm9yIG5ldyBtZXRob2QgcHJvdG90eXBpbmcuCisgICAgICAgICogV2ViUHJvY2Vzcy9NZWRpYVNl
c3Npb24vUmVtb3RlTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3IuY3BwOiAKKyAgICAgICAgKFdlYktp
dDo6UmVtb3RlTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3I6OnBvc2l0aW9uU3RhdGVDaGFuZ2VkKTog
VXBkYXRlIGZvciBuZXcgbWV0aG9kIHByb3RvdHlwaW5nLgorICAgICAgICAqIFdlYlByb2Nlc3Mv
TWVkaWFTZXNzaW9uL1JlbW90ZU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yLmg6CisKIDIwMjEtMDMt
MjkgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBb
R1BVIFByb2Nlc3NdIFNpbXBsaWZ5IERpc3BsYXlMaXN0OjpJdGVyYXRvciBwYXJ0IDI6IFJlbmFt
ZSBzZXRJdGVtQnVmZmVyQ2xpZW50IHRvIHNldEl0ZW1CdWZmZXJ7V3JpdGluZyxSZWFkaW5nfUNs
aWVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vTWVk
aWFTZXNzaW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYVNl
c3Npb24uaAppbmRleCBiYThkZmQ0MGY4ZjFmNjUyODQyZGRiZTZhMWY5MWZhYWI5ZjFlMDE0Li5h
ZTE0MzgzM2FjOGFhZmQ0MzFiNzE5NGQ3MTU1MGY1NjYwYWNjMDI4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYVNlc3Npb24uaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYVNlc3Npb24uaApAQCAtMTAwLDgg
KzEwMCw4IEBAIHB1YmxpYzoKICAgICBwdWJsaWM6CiAgICAgICAgIHZpcnR1YWwgfk9ic2VydmVy
KCkgPSBkZWZhdWx0OwogCi0gICAgICAgIHZpcnR1YWwgdm9pZCBtZXRhZGF0YUNoYW5nZWQoUmVm
UHRyPE1lZGlhTWV0YWRhdGE+KSB7IH0KLSAgICAgICAgdmlydHVhbCB2b2lkIHBvc2l0aW9uU3Rh
dGVDaGFuZ2VkKE9wdGlvbmFsPE1lZGlhUG9zaXRpb25TdGF0ZT4pIHsgfQorICAgICAgICB2aXJ0
dWFsIHZvaWQgbWV0YWRhdGFDaGFuZ2VkKGNvbnN0IFJlZlB0cjxNZWRpYU1ldGFkYXRhPiYpIHsg
fQorICAgICAgICB2aXJ0dWFsIHZvaWQgcG9zaXRpb25TdGF0ZUNoYW5nZWQoY29uc3QgT3B0aW9u
YWw8TWVkaWFQb3NpdGlvblN0YXRlPiYpIHsgfQogICAgICAgICB2aXJ0dWFsIHZvaWQgcGxheWJh
Y2tTdGF0ZUNoYW5nZWQoTWVkaWFTZXNzaW9uUGxheWJhY2tTdGF0ZSkgeyB9CiAgICAgICAgIHZp
cnR1YWwgdm9pZCBhY3Rpb25IYW5kbGVyc0NoYW5nZWQoKSB7IH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3Iu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uQ29v
cmRpbmF0b3IuY3BwCmluZGV4IDgxMTNlZDJhMzE1MDBlMmFiNGNjMzNhOTkxN2ZkOGVjODkxMTRh
YzcuLjkxOTM0MjM0ZmJjMGViZWZjZmMxZjJjMWRiY2ZlZWEwNGIzNzcyYjIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzZXNzaW9uL01lZGlhU2Vzc2lvbkNvb3JkaW5h
dG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYVNl
c3Npb25Db29yZGluYXRvci5jcHAKQEAgLTE5MCw3ICsxOTAsNyBAQCB2b2lkIE1lZGlhU2Vzc2lv
bkNvb3JkaW5hdG9yOjpzZXRNZWRpYVNlc3Npb24oTWVkaWFTZXNzaW9uKiBzZXNzaW9uKQogICAg
ICAgICBtX3Nlc3Npb24tPmFkZE9ic2VydmVyKCp0aGlzKTsKIH0KIAotdm9pZCBNZWRpYVNlc3Np
b25Db29yZGluYXRvcjo6cG9zaXRpb25TdGF0ZUNoYW5nZWQoT3B0aW9uYWw8TWVkaWFQb3NpdGlv
blN0YXRlPiBzdGF0ZSkKK3ZvaWQgTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3I6OnBvc2l0aW9uU3Rh
dGVDaGFuZ2VkKGNvbnN0IE9wdGlvbmFsPE1lZGlhUG9zaXRpb25TdGF0ZT4mIHN0YXRlKQogewog
ICAgIGlmICghc3RhdGUpIHsKICAgICAgICAgbV9wcml2YXRlQ29vcmRpbmF0b3ItPnBvc2l0aW9u
U3RhdGVDaGFuZ2VkKHsgfSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc2Vzc2lvbi9NZWRpYVNlc3Npb25Db29yZGluYXRvci5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXNlc3Npb24vTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3IuaAppbmRleCBlOTFmNjNl
MmI0MDFlMzJkMTA4NDM1OTUxNDQzODBmNjMwOGIzOTI1Li4wNjk5Y2U4ZmY0Mzc3MjZmMzljZjE3
NmY3NDM5NjU4NGJkZjc3YTJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc2Vzc2lvbi9NZWRpYVNlc3Npb25Db29yZGluYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzZXNzaW9uL01lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yLmgKQEAgLTU5LDcg
KzU5LDcgQEAgcHJpdmF0ZToKICAgICBleHBsaWNpdCBNZWRpYVNlc3Npb25Db29yZGluYXRvcihS
ZWY8TWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQcml2YXRlPiYmKTsKIAogICAgIC8vIE1lZGlhU2Vz
c2lvbjo6T2JzZXJ2ZXIKLSAgICB2b2lkIHBvc2l0aW9uU3RhdGVDaGFuZ2VkKE9wdGlvbmFsPE1l
ZGlhUG9zaXRpb25TdGF0ZT4pIGZpbmFsOworICAgIHZvaWQgcG9zaXRpb25TdGF0ZUNoYW5nZWQo
Y29uc3QgT3B0aW9uYWw8TWVkaWFQb3NpdGlvblN0YXRlPiYpIGZpbmFsOwogICAgIHZvaWQgcGxh
eWJhY2tTdGF0ZUNoYW5nZWQoTWVkaWFTZXNzaW9uUGxheWJhY2tTdGF0ZSkgZmluYWw7CiAgICAg
dm9pZCByZWFkeVN0YXRlQ2hhbmdlZChNZWRpYVNlc3Npb25SZWFkeVN0YXRlKSBmaW5hbDsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNlc3Npb24vTWVkaWFTZXNz
aW9uQ29vcmRpbmF0b3JQcml2YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vz
c2lvbi9NZWRpYVNlc3Npb25Db29yZGluYXRvclByaXZhdGUuaAppbmRleCA3NTM3MmQ5M2M5ZTc5
ZGY4YTI4NzUwODAyYWE3NTEyZGM5MWUxNGM3Li41YWJkZTE1ZWJlYTkyOGI0ZjY3MWVhYThlMzVi
MmE1YzdkY2E3ODBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc2Vz
c2lvbi9NZWRpYVNlc3Npb25Db29yZGluYXRvclByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc2Vzc2lvbi9NZWRpYVNlc3Npb25Db29yZGluYXRvclByaXZhdGUuaApA
QCAtNTgsNyArNTgsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHBhdXNlKENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoT3B0aW9uYWw8RXhjZXB0aW9uPiYmKT4mJikgPSAwOwogICAgIHZpcnR1
YWwgdm9pZCBzZXRUcmFjayhjb25zdCBTdHJpbmcmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKE9w
dGlvbmFsPEV4Y2VwdGlvbj4mJik+JiYpID0gMDsKIAotICAgIHZpcnR1YWwgdm9pZCBwb3NpdGlv
blN0YXRlQ2hhbmdlZChPcHRpb25hbDxNZWRpYVBvc2l0aW9uU3RhdGU+KSA9IDA7CisgICAgdmly
dHVhbCB2b2lkIHBvc2l0aW9uU3RhdGVDaGFuZ2VkKGNvbnN0IE9wdGlvbmFsPE1lZGlhUG9zaXRp
b25TdGF0ZT4mKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHJlYWR5U3RhdGVDaGFuZ2VkKE1lZGlh
U2Vzc2lvblJlYWR5U3RhdGUpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgcGxheWJhY2tTdGF0ZUNo
YW5nZWQoTWVkaWFTZXNzaW9uUGxheWJhY2tTdGF0ZSkgPSAwOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24uY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9NZWRpYUVsZW1lbnRTZXNzaW9uLmNwcAppbmRleCBjMGI4ZWE2OGE3MzlhZTdjMWZlYmI2
M2E4MTU3YWIzM2FjYTIyODhjLi4wZTRiYjVjMmUzYjAzNmJjY2Y2ODE5YTY5Njg2MjFhODlhMGUz
YTQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNlc3Npb24u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAKQEAg
LTU2LDcgKzU2LDkgQEAKIAogI2lmIEVOQUJMRShNRURJQV9TRVNTSU9OKQogI2luY2x1ZGUgIk1l
ZGlhTWV0YWRhdGEuaCIKKyNpbmNsdWRlICJNZWRpYVBvc2l0aW9uU3RhdGUuaCIKICNpbmNsdWRl
ICJNZWRpYVNlc3Npb24uaCIKKyNpbmNsdWRlICJNZWRpYVNlc3Npb25QbGF5YmFja1N0YXRlLmgi
CiAjaW5jbHVkZSAiTmF2aWdhdG9yTWVkaWFTZXNzaW9uLmgiCiAjZW5kaWYKIApAQCAtMTE0LDYg
KzExNiw0NiBAQCBzdGF0aWMgYm9vbCBwYWdlRXhwbGljaXRseUFsbG93c0VsZW1lbnRUb0F1dG9w
bGF5SW5saW5lKGNvbnN0IEhUTUxNZWRpYUVsZW1lbnQmCiAgICAgcmV0dXJuIGRvY3VtZW50Lmlz
TWVkaWFEb2N1bWVudCgpICYmICFkb2N1bWVudC5vd25lckVsZW1lbnQoKSAmJiBwYWdlICYmIHBh
Z2UtPmFsbG93c01lZGlhRG9jdW1lbnRJbmxpbmVQbGF5YmFjaygpOwogfQogCisjaWYgRU5BQkxF
KE1FRElBX1NFU1NJT04pCitjbGFzcyBNZWRpYVNlc3Npb25PYnNlcnZlciA6IHB1YmxpYyBNZWRp
YVNlc3Npb246Ok9ic2VydmVyIHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKKworcHVi
bGljOgorICAgIE1lZGlhU2Vzc2lvbk9ic2VydmVyKE1lZGlhRWxlbWVudFNlc3Npb24mIHNlc3Np
b24sIGNvbnN0IFJlZjxNZWRpYVNlc3Npb24+JiBtZWRpYVNlc3Npb24pCisgICAgICAgIDogbV9z
ZXNzaW9uKG1ha2VXZWFrUHRyKHNlc3Npb24pKSwgbV9tZWRpYVNlc3Npb24obWVkaWFTZXNzaW9u
KQorICAgIHsKKyAgICAgICAgbV9tZWRpYVNlc3Npb24tPmFkZE9ic2VydmVyKCp0aGlzKTsKKyAg
ICB9CisgICAgfk1lZGlhU2Vzc2lvbk9ic2VydmVyKCkKKyAgICB7CisgICAgICAgIG1fbWVkaWFT
ZXNzaW9uLT5yZW1vdmVPYnNlcnZlcigqdGhpcyk7CisgICAgfQorICAgIHZvaWQgbWV0YWRhdGFD
aGFuZ2VkKGNvbnN0IFJlZlB0cjxNZWRpYU1ldGFkYXRhPiYgbWV0YWRhdGEpIGZpbmFsCisgICAg
eworICAgICAgICBpZiAobV9zZXNzaW9uKQorICAgICAgICAgICAgbV9zZXNzaW9uLT5tZXRhZGF0
YUNoYW5nZWQobWV0YWRhdGEpOworICAgIH0KKyAgICB2b2lkIHBvc2l0aW9uU3RhdGVDaGFuZ2Vk
KGNvbnN0IE9wdGlvbmFsPE1lZGlhUG9zaXRpb25TdGF0ZT4mIHN0YXRlKSBmaW5hbAorICAgIHsK
KyAgICAgICAgaWYgKG1fc2Vzc2lvbikKKyAgICAgICAgICAgIG1fc2Vzc2lvbi0+cG9zaXRpb25T
dGF0ZUNoYW5nZWQoc3RhdGUpOworICAgIH0KKyAgICB2b2lkIHBsYXliYWNrU3RhdGVDaGFuZ2Vk
KE1lZGlhU2Vzc2lvblBsYXliYWNrU3RhdGUgc3RhdGUpIGZpbmFsCisgICAgeworICAgICAgICBp
ZiAobV9zZXNzaW9uKQorICAgICAgICAgICAgbV9zZXNzaW9uLT5wbGF5YmFja1N0YXRlQ2hhbmdl
ZChzdGF0ZSk7CisgICAgfQorICAgIHZvaWQgYWN0aW9uSGFuZGxlcnNDaGFuZ2VkKCkKKyAgICB7
CisgICAgICAgIGlmIChtX3Nlc3Npb24pCisgICAgICAgICAgICBtX3Nlc3Npb24tPmFjdGlvbkhh
bmRsZXJzQ2hhbmdlZCgpOworICAgIH0KK3ByaXZhdGU6CisgICAgV2Vha1B0cjxNZWRpYUVsZW1l
bnRTZXNzaW9uPiBtX3Nlc3Npb247CisgICAgUmVmPE1lZGlhU2Vzc2lvbj4gbV9tZWRpYVNlc3Np
b247Cit9OworI2VuZGlmCisKIE1lZGlhRWxlbWVudFNlc3Npb246Ok1lZGlhRWxlbWVudFNlc3Np
b24oSFRNTE1lZGlhRWxlbWVudCYgZWxlbWVudCkKICAgICA6IFBsYXRmb3JtTWVkaWFTZXNzaW9u
KFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6c2hhcmVkTWFuYWdlcigpLCBlbGVtZW50KQog
ICAgICwgbV9lbGVtZW50KGVsZW1lbnQpCkBAIC0xNjEsNiArMjAzLDcgQEAgdm9pZCBNZWRpYUVs
ZW1lbnRTZXNzaW9uOjpyZWdpc3RlcldpdGhEb2N1bWVudChEb2N1bWVudCYgZG9jdW1lbnQpCiAj
ZWxzZQogICAgIFVOVVNFRF9QQVJBTShkb2N1bWVudCk7CiAjZW5kaWYKKyAgICBlbnN1cmVJc09i
c2VydmluZ01lZGlhU2Vzc2lvbigpOwogfQogCiB2b2lkIE1lZGlhRWxlbWVudFNlc3Npb246OnVu
cmVnaXN0ZXJXaXRoRG9jdW1lbnQoRG9jdW1lbnQmIGRvY3VtZW50KQpAQCAtMTcwLDYgKzIxMyw5
IEBAIHZvaWQgTWVkaWFFbGVtZW50U2Vzc2lvbjo6dW5yZWdpc3RlcldpdGhEb2N1bWVudChEb2N1
bWVudCYgZG9jdW1lbnQpCiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShkb2N1bWVudCk7CiAjZW5k
aWYKKyNpZiBFTkFCTEUoTUVESUFfU0VTU0lPTikKKyAgICBtX29ic2VydmVyID0gbnVsbHB0cjsK
KyNlbmRpZgogfQogCiB2b2lkIE1lZGlhRWxlbWVudFNlc3Npb246OmNsaWVudFdpbGxCZWdpbkF1
dG9wbGF5aW5nKCkKQEAgLTEwMjgsOCArMTA3NCw3IEBAIGJvb2wgTWVkaWFFbGVtZW50U2Vzc2lv
bjo6YWxsb3dzUGxheWJhY2tDb250cm9sc0ZvckF1dG9wbGF5aW5nQXVkaW8oKSBjb25zdAogI2lm
IEVOQUJMRShNRURJQV9TRVNTSU9OKQogdm9pZCBNZWRpYUVsZW1lbnRTZXNzaW9uOjpkaWRSZWNl
aXZlUmVtb3RlQ29udHJvbENvbW1hbmQoUmVtb3RlQ29udHJvbENvbW1hbmRUeXBlIGNvbW1hbmRU
eXBlLCBjb25zdCBSZW1vdGVDb21tYW5kQXJndW1lbnQmIGFyZ3VtZW50KQogewotICAgIGF1dG8q
IHdpbmRvdyA9IG1fZWxlbWVudC5kb2N1bWVudCgpLmRvbVdpbmRvdygpOwotICAgIGF1dG8qIHNl
c3Npb24gPSB3aW5kb3cgPyAmTmF2aWdhdG9yTWVkaWFTZXNzaW9uOjptZWRpYVNlc3Npb24od2lu
ZG93LT5uYXZpZ2F0b3IoKSkgOiBudWxscHRyOworICAgIGF1dG8qIHNlc3Npb24gPSBtZWRpYVNl
c3Npb24oKTsKICAgICBpZiAoIXNlc3Npb24gfHwgIXNlc3Npb24tPmhhc0FjdGl2ZUFjdGlvbkhh
bmRsZXJzKCkpIHsKICAgICAgICAgUGxhdGZvcm1NZWRpYVNlc3Npb246OmRpZFJlY2VpdmVSZW1v
dGVDb250cm9sQ29tbWFuZChjb21tYW5kVHlwZSwgYXJndW1lbnQpOwogICAgICAgICByZXR1cm47
CkBAIC0xMTA4LDEyICsxMTUzLDExIEBAIE9wdGlvbmFsPE5vd1BsYXlpbmdJbmZvPiBNZWRpYUVs
ZW1lbnRTZXNzaW9uOjpub3dQbGF5aW5nSW5mbygpIGNvbnN0CiAgICAgICAgIGN1cnJlbnRUaW1l
ID0gTWVkaWFQbGF5ZXI6OmludmFsaWRUaW1lKCk7CiAKICNpZiBFTkFCTEUoTUVESUFfU0VTU0lP
TikKLSAgICBhdXRvKiB3aW5kb3cgPSBtX2VsZW1lbnQuZG9jdW1lbnQoKS5kb21XaW5kb3coKTsK
LSAgICBhdXRvKiBzZXNzaW9uTWV0YWRhdGEgPSB3aW5kb3cgPyBOYXZpZ2F0b3JNZWRpYVNlc3Np
b246Om1lZGlhU2Vzc2lvbih3aW5kb3ctPm5hdmlnYXRvcigpKS5tZXRhZGF0YSgpIDogbnVsbHB0
cjsKKyAgICBhdXRvKiBzZXNzaW9uID0gbWVkaWFTZXNzaW9uKCk7CisgICAgYXV0byogc2Vzc2lv
bk1ldGFkYXRhID0gc2Vzc2lvbiA/IHNlc3Npb24tPm1ldGFkYXRhKCkgOiBudWxscHRyOwogICAg
IGlmIChzZXNzaW9uTWV0YWRhdGEpIHsKICAgICAgICAgT3B0aW9uYWw8Tm93UGxheWluZ0luZm9B
cnR3b3JrPiBhcnR3b3JrOwogICAgICAgICBpZiAoc2Vzc2lvbk1ldGFkYXRhLT5hcnR3b3JrSW1h
Z2UoKSkgewotICAgICAgICAgICAgLy8gRklYTUU6IE9wdGltaXplIHNvIHRoYXQgd2Ugb25seSBz
ZW5kIGFuIGltYWdlIGlmIGl0IGNoYW5nZXMuCiAgICAgICAgICAgICBhcnR3b3JrID0gTm93UGxh
eWluZ0luZm9BcnR3b3JrIHsgc2Vzc2lvbk1ldGFkYXRhLT5hcnR3b3JrU3JjKCksIHNlc3Npb25N
ZXRhZGF0YS0+YXJ0d29ya0ltYWdlKCktPm1pbWVUeXBlKCksIHNlc3Npb25NZXRhZGF0YS0+YXJ0
d29ya0ltYWdlKCktPmRhdGEoKSB9OwogICAgICAgICB9CiAgICAgICAgIHJldHVybiBOb3dQbGF5
aW5nSW5mbyB7IHNlc3Npb25NZXRhZGF0YS0+dGl0bGUoKSwgc2Vzc2lvbk1ldGFkYXRhLT5hcnRp
c3QoKSwgc2Vzc2lvbk1ldGFkYXRhLT5hbGJ1bSgpLCBtX2VsZW1lbnQuc291cmNlQXBwbGljYXRp
b25JZGVudGlmaWVyKCksIGR1cmF0aW9uLCBjdXJyZW50VGltZSwgc3VwcG9ydHNTZWVraW5nLCBt
X2VsZW1lbnQubWVkaWFTZXNzaW9uVW5pcXVlSWRlbnRpZmllcigpLCBpc1BsYXlpbmcsIGFsbG93
c05vd1BsYXlpbmdDb250cm9sc1Zpc2liaWxpdHksIFdURk1vdmUoYXJ0d29yaykgfTsKQEAgLTEy
MDEsNiArMTI0NSwzOSBAQCBTdHJpbmcgY29udmVydEVudW1lcmF0aW9uVG9TdHJpbmcoY29uc3Qg
TWVkaWFQbGF5YmFja0RlbmlhbFJlYXNvbiBlbnVtZXJhdGlvblZhbAogICAgIHJldHVybiB2YWx1
ZXNbc3RhdGljX2Nhc3Q8c2l6ZV90PihlbnVtZXJhdGlvblZhbHVlKV07CiB9CiAKK01lZGlhU2Vz
c2lvbiogTWVkaWFFbGVtZW50U2Vzc2lvbjo6bWVkaWFTZXNzaW9uKCkgY29uc3QKK3sKKyNpZiBF
TkFCTEUoTUVESUFfU0VTU0lPTikKKyAgICBhdXRvKiB3aW5kb3cgPSBtX2VsZW1lbnQuZG9jdW1l
bnQoKS5kb21XaW5kb3coKTsKKyAgICBpZiAoIXdpbmRvdykKKyAgICAgICAgcmV0dXJuIG51bGxw
dHI7CisgICAgcmV0dXJuICZOYXZpZ2F0b3JNZWRpYVNlc3Npb246Om1lZGlhU2Vzc2lvbih3aW5k
b3ctPm5hdmlnYXRvcigpKTsKKyNlbHNlCisgICAgcmV0dXJuIG51bGxwdHI7CisjZW5kaWYKK30K
Kwordm9pZCBNZWRpYUVsZW1lbnRTZXNzaW9uOjplbnN1cmVJc09ic2VydmluZ01lZGlhU2Vzc2lv
bigpCit7CisjaWYgRU5BQkxFKE1FRElBX1NFU1NJT04pCisgICAgYXV0byogc2Vzc2lvbiA9IG1l
ZGlhU2Vzc2lvbigpOworICAgIGlmICghc2Vzc2lvbiB8fCBtX29ic2VydmVyKQorICAgICAgICBy
ZXR1cm47CisgICAgbV9vYnNlcnZlciA9IG1ha2VVbmlxdWU8TWVkaWFTZXNzaW9uT2JzZXJ2ZXI+
KCp0aGlzLCAqc2Vzc2lvbik7CisjZW5kaWYKK30KKwordm9pZCBNZWRpYUVsZW1lbnRTZXNzaW9u
OjptZXRhZGF0YUNoYW5nZWQoY29uc3QgUmVmUHRyPE1lZGlhTWV0YWRhdGE+JikKK3sKKyAgICBj
bGllbnRDaGFyYWN0ZXJpc3RpY3NDaGFuZ2VkKCk7Cit9CisKK3ZvaWQgTWVkaWFFbGVtZW50U2Vz
c2lvbjo6cG9zaXRpb25TdGF0ZUNoYW5nZWQoY29uc3QgT3B0aW9uYWw8TWVkaWFQb3NpdGlvblN0
YXRlPiYpIHsgfQorCit2b2lkIE1lZGlhRWxlbWVudFNlc3Npb246OnBsYXliYWNrU3RhdGVDaGFu
Z2VkKE1lZGlhU2Vzc2lvblBsYXliYWNrU3RhdGUpIHsgfQorCit2b2lkIE1lZGlhRWxlbWVudFNl
c3Npb246OmFjdGlvbkhhbmRsZXJzQ2hhbmdlZCgpIHsgfQorCiB9CiAKICNlbmRpZiAvLyBFTkFC
TEUoVklERU8pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRWxlbWVudFNl
c3Npb24uaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5oCmluZGV4
IGM3MzE5YjE5NzQ2Y2Q0NzM2Y2Q5Nzg2MDYwMzE3OTE0MzljN2RjMjguLjEyMjljOWY0ZmNlZjYz
YjM4ZGJmYmNjZDAwNTdjZTJhMWRiOTMxYjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvTWVkaWFFbGVtZW50U2Vzc2lvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFF
bGVtZW50U2Vzc2lvbi5oCkBAIC0zNiw2ICszNiwxMCBAQAogI2luY2x1ZGUgPHd0Zi9PcHRpb25h
bC5oPgogI2luY2x1ZGUgPHd0Zi9UeXBlQ2FzdHMuaD4KIAorI2lmIEVOQUJMRShNRURJQV9TRVNT
SU9OKQorI2luY2x1ZGUgPG1lbW9yeT4KKyNlbmRpZgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IGVudW0gY2xhc3MgTWVkaWFTZXNzaW9uTWFpbkNvbnRlbnRQdXJwb3NlIHsKQEAgLTU3LDcgKzYx
LDEyIEBAIGVudW0gY2xhc3MgTWVkaWFQbGF5YmFja0RlbmlhbFJlYXNvbiB7CiAKIGNsYXNzIERv
Y3VtZW50OwogY2xhc3MgSFRNTE1lZGlhRWxlbWVudDsKK2NsYXNzIE1lZGlhTWV0YWRhdGE7Citz
dHJ1Y3QgTWVkaWFQb3NpdGlvblN0YXRlOworY2xhc3MgTWVkaWFTZXNzaW9uOworY2xhc3MgTWVk
aWFTZXNzaW9uT2JzZXJ2ZXI7CiBjbGFzcyBTb3VyY2VCdWZmZXI7CitlbnVtIGNsYXNzIE1lZGlh
U2Vzc2lvblBsYXliYWNrU3RhdGUgOiB1aW50OF90OwogCiBjbGFzcyBNZWRpYUVsZW1lbnRTZXNz
aW9uIGZpbmFsIDogcHVibGljIFBsYXRmb3JtTWVkaWFTZXNzaW9uCiB7CkBAIC0xNzgsNiArMTg3
LDEwIEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoTUVESUFfU0VTU0lPTikKICAgICB2b2lkIGRpZFJl
Y2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZChSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUsIGNvbnN0
IFJlbW90ZUNvbW1hbmRBcmd1bWVudCYpIGZpbmFsOwogI2VuZGlmCisgICAgdm9pZCBtZXRhZGF0
YUNoYW5nZWQoY29uc3QgUmVmUHRyPE1lZGlhTWV0YWRhdGE+Jik7CisgICAgdm9pZCBwb3NpdGlv
blN0YXRlQ2hhbmdlZChjb25zdCBPcHRpb25hbDxNZWRpYVBvc2l0aW9uU3RhdGU+Jik7CisgICAg
dm9pZCBwbGF5YmFja1N0YXRlQ2hhbmdlZChNZWRpYVNlc3Npb25QbGF5YmFja1N0YXRlKTsKKyAg
ICB2b2lkIGFjdGlvbkhhbmRsZXJzQ2hhbmdlZCgpOwogCiBwcml2YXRlOgogCkBAIC0xOTMsNiAr
MjA2LDkgQEAgcHJpdmF0ZToKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogICAgIGJvb2wgcmVx
dWlyZXNQbGF5YmFja1RhcmdldFJvdXRlTW9uaXRvcmluZygpIGNvbnN0IG92ZXJyaWRlOwogI2Vu
ZGlmCisgICAgdm9pZCBlbnN1cmVJc09ic2VydmluZ01lZGlhU2Vzc2lvbigpOworICAgIE1lZGlh
U2Vzc2lvbiogbWVkaWFTZXNzaW9uKCkgY29uc3Q7CisKICAgICBib29sIHVwZGF0ZUlzTWFpbkNv
bnRlbnQoKSBjb25zdDsKICAgICB2b2lkIG1haW5Db250ZW50Q2hlY2tUaW1lckZpcmVkKCk7CiAK
QEAgLTIzNiw2ICsyNTIsNyBAQCBwcml2YXRlOgogICAgIAogI2lmIEVOQUJMRShNRURJQV9TRVNT
SU9OKQogICAgIGJvb2wgbV9pc1NjcnViYmluZyB7IGZhbHNlIH07CisgICAgc3RkOjp1bmlxdWVf
cHRyPE1lZGlhU2Vzc2lvbk9ic2VydmVyPiBtX29ic2VydmVyOwogI2VuZGlmCiB9OwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9SZW1vdGVDb21tYW5kTGlzdGVu
ZXJDb2NvYS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvUmVtb3RlQ29tbWFuZExp
c3RlbmVyQ29jb2EuaAppbmRleCBmYjBjZmI5NzNmYjExOGEzOGJiNGE4YjViNjg4MDdhYTQxOWIz
OTBmLi5hNmQxMGU5NjNhNTIxZmMxMGZkYWNkYTVjNDRhNzk3ZmVjYTJiYWE3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9SZW1vdGVDb21tYW5kTGlzdGVuZXJDb2Nv
YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL1JlbW90ZUNvbW1hbmRMaXN0
ZW5lckNvY29hLmgKQEAgLTQ3LDcgKzQ3LDcgQEAgcHJpdmF0ZToKICAgICBjb25zdCBSZW1vdGVD
b21tYW5kc1NldCYgZGVmYXVsdENvbW1hbmRzKCk7CiAgICAgUmVtb3RlQ29tbWFuZHNTZXQgbV9j
dXJyZW50Q29tbWFuZHM7CiB9OwotICAgIAorCiB9CiAKICNlbmRpZiAvLyBQTEFURk9STShNQUMp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tNZWRpYVNlc3Npb25Db29y
ZGluYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tNZWRpYVNlc3Npb25Db29y
ZGluYXRvci5jcHAKaW5kZXggODg5M2QyZmJjZWM1NWY3NDk0MjUxMzYxOTM3MjIxOTBmMDI2MDJk
NC4uMjQyMTQyODE3NGFkOGI0NjMzZjAxNDc0ZDMxYjE5MDYzMGMzMWQ4YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3IuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja01lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yLmNw
cApAQCAtOTEsNyArOTEsNyBAQCB2b2lkIE1vY2tNZWRpYVNlc3Npb25Db29yZGluYXRvcjo6c2V0
VHJhY2soY29uc3QgU3RyaW5nJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZAogICAgIH0pOwogfQog
Ci12b2lkIE1vY2tNZWRpYVNlc3Npb25Db29yZGluYXRvcjo6cG9zaXRpb25TdGF0ZUNoYW5nZWQo
T3B0aW9uYWw8TWVkaWFQb3NpdGlvblN0YXRlPikKK3ZvaWQgTW9ja01lZGlhU2Vzc2lvbkNvb3Jk
aW5hdG9yOjpwb3NpdGlvblN0YXRlQ2hhbmdlZChjb25zdCBPcHRpb25hbDxNZWRpYVBvc2l0aW9u
U3RhdGU+JikKIHsKICAgICBBTFdBWVNfTE9HX0lGX1BPU1NJQkxFKExPR0lERU5USUZJRVIpOwog
ICAgIG1fc3RhdGVDaGFuZ2VMaXN0ZW5lci0+c2NoZWR1bGVDYWxsYmFjayhtX2NvbnRleHQuZ2V0
KCksICJwb3NpdGlvblN0YXRlQ2hhbmdlZCIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9Nb2NrTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvTW9ja01lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yLmgKaW5kZXggNDgzNTZmOWFlMTNlN2Mz
ODg0N2Y0OThiMGMyODVlMTEzOWY3N2JiMC4uYjRkZGNmNTFkMWFjYjIxYmE2NGU2YjE4MmRkNzRk
ZDQzNDBjYWE5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrTWVkaWFT
ZXNzaW9uQ29vcmRpbmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tNZWRp
YVNlc3Npb25Db29yZGluYXRvci5oCkBAIC01Miw3ICs1Miw3IEBAIHByaXZhdGU6CiAgICAgdm9p
ZCBwYXVzZShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKE9wdGlvbmFsPEV4Y2VwdGlvbj4mJik+JiYp
IGZpbmFsOwogICAgIHZvaWQgc2V0VHJhY2soY29uc3QgU3RyaW5nJiwgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChPcHRpb25hbDxFeGNlcHRpb24+JiYpPiYmKSBmaW5hbDsKIAotICAgIHZvaWQgcG9z
aXRpb25TdGF0ZUNoYW5nZWQoT3B0aW9uYWw8TWVkaWFQb3NpdGlvblN0YXRlPikgZmluYWw7Cisg
ICAgdm9pZCBwb3NpdGlvblN0YXRlQ2hhbmdlZChjb25zdCBPcHRpb25hbDxNZWRpYVBvc2l0aW9u
U3RhdGU+JikgZmluYWw7CiAgICAgdm9pZCByZWFkeVN0YXRlQ2hhbmdlZChNZWRpYVNlc3Npb25S
ZWFkeVN0YXRlKSBmaW5hbDsKICAgICB2b2lkIHBsYXliYWNrU3RhdGVDaGFuZ2VkKE1lZGlhU2Vz
c2lvblBsYXliYWNrU3RhdGUpIGZpbmFsOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9NZWRpYS9NZWRpYVNlc3Npb25Db29yZGluYXRvclByaXZhdGVQcm94eS5oIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvTWVkaWEvTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQcml2YXRl
UHJveHkuaAppbmRleCBiMGRkMzNjZDIzMzVhNzk0MzQzYjc5OWE0ZWRhMWU0MjA4MDc5NjJjLi5k
MTNiM2I1NzNkNmY5MjRkMjdlZTYzYjJmMWQ1YjQ0OWQ3ZGE4MWJiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9NZWRpYS9NZWRpYVNlc3Npb25Db29yZGluYXRvclByaXZhdGVQ
cm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL01lZGlhL01lZGlhU2Vzc2lvbkNv
b3JkaW5hdG9yUHJpdmF0ZVByb3h5LmgKQEAgLTQ0LDcgKzQ0LDcgQEAgcHVibGljOgogICAgIHZp
cnR1YWwgdm9pZCBwYXVzZShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0IFdlYkNvcmU6OkV4
Y2VwdGlvbkRhdGEmKT4mJikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzZXRUcmFjayhjb25zdCBT
dHJpbmcmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0IFdlYkNvcmU6OkV4Y2VwdGlvbkRh
dGEmKT4mJikgPSAwOwogCi0gICAgdmlydHVhbCB2b2lkIHBvc2l0aW9uU3RhdGVDaGFuZ2VkKE9w
dGlvbmFsPFdlYkNvcmU6Ok1lZGlhUG9zaXRpb25TdGF0ZT4pID0gMDsKKyAgICB2aXJ0dWFsIHZv
aWQgcG9zaXRpb25TdGF0ZUNoYW5nZWQoY29uc3QgT3B0aW9uYWw8V2ViQ29yZTo6TWVkaWFQb3Np
dGlvblN0YXRlPiYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgcmVhZHlTdGF0ZUNoYW5nZWQoV2Vi
Q29yZTo6TWVkaWFTZXNzaW9uUmVhZHlTdGF0ZSkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBwbGF5
YmFja1N0YXRlQ2hhbmdlZChXZWJDb3JlOjpNZWRpYVNlc3Npb25QbGF5YmFja1N0YXRlKSA9IDA7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL01lZGlhL1JlbW90ZU1lZGlh
U2Vzc2lvbkNvb3JkaW5hdG9yUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTWVk
aWEvUmVtb3RlTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQcm94eS5jcHAKaW5kZXggZDMyNjcwNDVj
NDM1YzUzNzRmYzdiZDIyYjY3MDY0ZGRiYjZiZjMwNS4uZDI4ZTJjY2Q4YmRlZGQxNzBmMDM3ODEw
YzVjZmM1YmMyN2Q0ODczNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTWVk
aWEvUmVtb3RlTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQcm94eS5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvTWVkaWEvUmVtb3RlTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQcm94eS5j
cHAKQEAgLTEwMiw3ICsxMDIsNyBAQCB2b2lkIFJlbW90ZU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9y
UHJveHk6Ojo6Y29vcmRpbmF0ZVNldFRyYWNrKGNvbnN0IFN0cmluZyYgdHJhYwogICAgIH0pOwog
fQogCi12b2lkIFJlbW90ZU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yUHJveHk6OnBvc2l0aW9uU3Rh
dGVDaGFuZ2VkKE9wdGlvbmFsPFdlYkNvcmU6Ok1lZGlhUG9zaXRpb25TdGF0ZT4gc3RhdGUpCit2
b2lkIFJlbW90ZU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yUHJveHk6OnBvc2l0aW9uU3RhdGVDaGFu
Z2VkKGNvbnN0IE9wdGlvbmFsPFdlYkNvcmU6Ok1lZGlhUG9zaXRpb25TdGF0ZT4mIHN0YXRlKQog
ewogICAgIEFMV0FZU19MT0coTE9HSURFTlRJRklFUik7CiAgICAgbV9wcml2YXRlQ29vcmRpbmF0
b3ItPnBvc2l0aW9uU3RhdGVDaGFuZ2VkKHN0YXRlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9NZWRpYVNlc3Npb24vUmVtb3RlTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3Iu
Y3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01lZGlhU2Vzc2lvbi9SZW1vdGVNZWRpYVNl
c3Npb25Db29yZGluYXRvci5jcHAKaW5kZXggY2Y2ZjQ1NDcwZWRlN2FmNDY2ZjNjOGUwZDMxNjdi
YTI5NWUyZDA5YS4uNDkwNDZjMmRlY2JiNjEwNmViOGVjZDFlMTdkNTQzNWMyNjYwNWNhNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01lZGlhU2Vzc2lvbi9SZW1vdGVNZWRp
YVNlc3Npb25Db29yZGluYXRvci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01l
ZGlhU2Vzc2lvbi9SZW1vdGVNZWRpYVNlc3Npb25Db29yZGluYXRvci5jcHAKQEAgLTEzMyw3ICsx
MzMsNyBAQCB2b2lkIFJlbW90ZU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yOjpzZXRUcmFjayhjb25z
dCBTdHJpbmcmIHRyYWNrSWRlbnRpZmllciwgQ29tcAogICAgIH0sIDApOwogfQogCi12b2lkIFJl
bW90ZU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yOjpwb3NpdGlvblN0YXRlQ2hhbmdlZChPcHRpb25h
bDxXZWJDb3JlOjpNZWRpYVBvc2l0aW9uU3RhdGU+IHN0YXRlKQordm9pZCBSZW1vdGVNZWRpYVNl
c3Npb25Db29yZGluYXRvcjo6cG9zaXRpb25TdGF0ZUNoYW5nZWQoY29uc3QgT3B0aW9uYWw8V2Vi
Q29yZTo6TWVkaWFQb3NpdGlvblN0YXRlPiYgc3RhdGUpCiB7CiAgICAgQUxXQVlTX0xPR19JRl9Q
T1NTSUJMRShMT0dJREVOVElGSUVSKTsKICAgICBtX3BhZ2Uuc2VuZChNZXNzYWdlczo6UmVtb3Rl
TWVkaWFTZXNzaW9uQ29vcmRpbmF0b3JQcm94eTo6UG9zaXRpb25TdGF0ZUNoYW5nZWQgeyBzdGF0
ZSB9LCAwKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9NZWRpYVNlc3Np
b24vUmVtb3RlTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3IuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9NZWRpYVNlc3Npb24vUmVtb3RlTWVkaWFTZXNzaW9uQ29vcmRpbmF0b3IuaAppbmRleCA4
NDhkN2E3NDU3MjNkNjlhYTUyYzU2YWQ1NWY0NmZiZjA3Y2Q1ZTc5Li40NThiZTQzY2RhYmQzMTdi
NDMzOGExYzlhODNlODNiYjk5MThmZWUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvTWVkaWFTZXNzaW9uL1JlbW90ZU1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yLmgKKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01lZGlhU2Vzc2lvbi9SZW1vdGVNZWRpYVNlc3Npb25D
b29yZGluYXRvci5oCkBAIC02NSw3ICs2NSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBwYXVzZShD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKE9wdGlvbmFsPFdlYkNvcmU6OkV4Y2VwdGlvbj4mJik+JiYp
IGZpbmFsOwogICAgIHZvaWQgc2V0VHJhY2soY29uc3QgU3RyaW5nJiwgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChPcHRpb25hbDxXZWJDb3JlOjpFeGNlcHRpb24+JiYpPiYmKSBmaW5hbDsKIAotICAg
IHZvaWQgcG9zaXRpb25TdGF0ZUNoYW5nZWQoT3B0aW9uYWw8V2ViQ29yZTo6TWVkaWFQb3NpdGlv
blN0YXRlPikgZmluYWw7CisgICAgdm9pZCBwb3NpdGlvblN0YXRlQ2hhbmdlZChjb25zdCBPcHRp
b25hbDxXZWJDb3JlOjpNZWRpYVBvc2l0aW9uU3RhdGU+JikgZmluYWw7CiAgICAgdm9pZCByZWFk
eVN0YXRlQ2hhbmdlZChXZWJDb3JlOjpNZWRpYVNlc3Npb25SZWFkeVN0YXRlKSBmaW5hbDsKICAg
ICB2b2lkIHBsYXliYWNrU3RhdGVDaGFuZ2VkKFdlYkNvcmU6Ok1lZGlhU2Vzc2lvblBsYXliYWNr
U3RhdGUpIGZpbmFsOwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>