<?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>221960</bug_id>
          
          <creation_ts>2021-02-16 06:34:02 -0800</creation_ts>
          <short_desc>REGRESSION(r271735): PaymentShippingOption.selected ignored</short_desc>
          <delta_ts>2023-05-07 20:33:03 -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>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=220566</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>234893</blocked>
    
    <blocked>256439</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Sneddon [:gsnedders]">gsnedders</reporter>
          <assigned_to name="Andy Estes">aestes</assigned_to>
          <cc>aestes</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>hi</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>pangle</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1729655</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Sneddon [:gsnedders]">gsnedders</who>
    <bug_when>2021-02-16 06:34:02 -0800</bug_when>
    <thetext>r271703 from bug 220566 seems to have regressed a few tests in WPT: https://wpt.fyi/results/payment-request?q=seq%28status%3Apass%7Cstatus%3Aok%20status%3Apass%7Cstatus%3Aok%20status%3Apass%7Cstatus%3Aok%20status%3Apass%7Cstatus%3Aok%20status%3Apass%7Cstatus%3Aok%20status%3A%21pass%26status%3A%21ok%20status%3A%21pass%26status%3A%21ok%20status%3A%21pass%26status%3A%21ok%20status%3A%21pass%26status%3A%21ok%20status%3A%21pass%26status%3A%21ok%29&amp;run_id=5703710288117760&amp;run_id=5730791449427968&amp;run_id=5176095785615360&amp;run_id=5761234664161280&amp;run_id=6289110253699072&amp;run_id=6295692878282752&amp;run_id=5717790667309056&amp;run_id=6252961795670016&amp;run_id=5112363554439168&amp;run_id=5651017565732864</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729701</commentid>
    <comment_count>1</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-02-16 09:10:38 -0800</bug_when>
    <thetext>Are you sure this was not caused by r271735?

If it is r271735, then this is expected (see the comment in the ChangeLog of r271735 as to why).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1729802</commentid>
    <comment_count>2</comment_count>
    <who name="Sam Sneddon [:gsnedders]">gsnedders</who>
    <bug_when>2021-02-16 10:55:50 -0800</bug_when>
    <thetext>rdar://problem/73464404

Okay, so the basic answer is that we just outright ignore PaymentShippingOption.selected now, and always use the first item, given the current spec cannot be implemented on macOS/iOS with PassKit? And that the tests previously passed because we had disagreement between the JS API and the UI presented by PassKit?

If the spec is unimplementable with a major OS payment API, that sounds like feedback we should send to the WG.

Leaving this issue open to:

 1. Send feedback (assigned to Andy to do so, per Devin)
 2. Update the spec and tests, thereby resolving the issue by making us compliant with the spec; or fix our implementation v. the current spec if PassKit adds a suitable API, and to document our current violation of the spec</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1812782</commentid>
    <comment_count>3</comment_count>
      <attachid>443595</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-11-08 13:02:09 -0800</bug_when>
    <thetext>Created attachment 443595
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1812800</commentid>
    <comment_count>4</comment_count>
      <attachid>443595</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-11-08 13:27:16 -0800</bug_when>
    <thetext>Comment on attachment 443595
Patch

If there is a regression, it should be fixed separately from new feature work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1812942</commentid>
    <comment_count>5</comment_count>
      <attachid>443637</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2021-11-08 17:26:03 -0800</bug_when>
    <thetext>Created attachment 443637
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1813258</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-11-09 12:04:28 -0800</bug_when>
    <thetext>Committed r285521 (244038@main): &lt;https://commits.webkit.org/244038@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 443637.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>443595</attachid>
            <date>2021-11-08 13:02:09 -0800</date>
            <delta_ts>2021-11-08 17:26:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221960-20211108130208.patch</filename>
            <type>text/plain</type>
            <size>47569</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggYTg1NmU3OGEwMThlNWQxYWY4ZjNiNTQwMjc0MDQxYjcwNzQzNmJjYS4uODk3MTc1YmQ3
OWEzZmFkMjMzZDdkYTY4ZDZhMWJjZDE4ZDg0ZTI3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAy
MS0xMS0wOCAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CisKKyAgICAgICAgUkVH
UkVTU0lPTihyMjcxNzM1KTogUGF5bWVudFNoaXBwaW5nT3B0aW9uLnNlbGVjdGVkIGlnbm9yZWQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMTk2MAor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzM0NjQ0MDQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTGV2ZXJhZ2UgbmV3IGBQS1NoaXBwaW5nTWV0aG9k
c2AgU1BJIHRvIHByb3ZpZGUgYm90aCB0aGUgZ2VuZXJhbCBsaXN0IG9mIGBQS1NoaXBwaW5nTWV0
aG9kYAorICAgICAgICBhbmQgdGhlIGRlZmF1bHQgc2VsZWN0ZWQgYFBLU2hpcHBpbmdNZXRob2Rz
YCB3aGVuIGNyZWF0aW5nL3VwZGF0aW5nIGEgcGF5bWVudCByZXF1ZXN0LgorCisgICAgICAgICog
d3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaDoKKyAgICAgICAgKiB3dGYvUGxhdGZvcm1IYXZlLmg6
CisKIDIwMjEtMTEtMDUgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9y
Zz4KIAogICAgICAgICBSZXN0cnVjdHVyZSBXS0NvbnRlbnRSdWxlTGlzdCBBY3Rpb24gc3RvcmFn
ZSBkdXJpbmcgY29tcGlsYXRpb24gYW5kIGludGVycHJldGF0aW9uCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTIx
MGFjMzg1ZGNkYWJmYWY2N2JlYmQyZThkNDdkZThmMDBlNmMwNy4uMjg1NGVlMjFhYmUzYTM5NjMz
YTAyYTU5NDNjOTUyOGUzN2U0ZTJkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIx
LTExLTA4ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdS
RVNTSU9OKHIyNzE3MzUpOiBQYXltZW50U2hpcHBpbmdPcHRpb24uc2VsZWN0ZWQgaWdub3JlZAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIxOTYwCisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MzQ2NDQwND4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBMZXZlcmFnZSBuZXcgYFBLU2hpcHBpbmdNZXRob2Rz
YCBTUEkgdG8gcHJvdmlkZSBib3RoIHRoZSBnZW5lcmFsIGxpc3Qgb2YgYFBLU2hpcHBpbmdNZXRo
b2RgCisgICAgICAgIGFuZCB0aGUgZGVmYXVsdCBzZWxlY3RlZCBgUEtTaGlwcGluZ01ldGhvZHNg
IHdoZW4gY3JlYXRpbmcvdXBkYXRpbmcgYSBwYXltZW50IHJlcXVlc3QuCisKKyAgICAgICAgKiBN
b2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdNZXRob2QuaWRsOgorICAgICAgICAqIE1v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ01ldGhvZC5oOgorICAgICAgICAoV2ViQ29y
ZTo6QXBwbGVQYXlTaGlwcGluZ01ldGhvZDo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkFwcGxlUGF5U2hpcHBpbmdNZXRob2Q6OmRlY29kZSk6CisgICAgICAgIEFkZCBuZXcgYHNl
bGVjdGVkYCBib29sZWFuIHByb3BlcnR5LgorCisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9w
YXltZW50cmVxdWVzdC9BcHBsZVBheVBheW1lbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkFwcGxlUGF5UGF5bWVudEhhbmRsZXI6OmNvbXB1dGVTaGlwcGluZ01ldGhvZHMgY29uc3Qp
OgorCisgICAgICAgICogTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpjaGVja0FuZENhbm9uaWNhbGl6ZURldGFpbHMpOgorCiAyMDIx
LTExLTA1ICBQYXRyaWNrIEdyaWZmaXMgIDxwZ3JpZmZpc0BpZ2FsaWEuY29tPgogCiAgICAgICAg
IFtHTElCXSBCZSBtb3JlIGNhcmVmdWwgYWJvdXQgY2FsbGluZyBMb3dQb3dlck1vZGVOb3RpZmll
cidzIGNhbGxiYWNrCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCBlYTIxZDg4MmI0ZWZmMmFmZmU1YTdj
ZDhlNGI5YTBjMjllYmVlMmIzLi5mMWZmNjkwM2JjMTEwNmRkNjAyYmJiYTg2N2E4ZDQxODZhZjQ2
NjcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAyMS0xMS0wOCAgRGV2
aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTihyMjcx
NzM1KTogUGF5bWVudFNoaXBwaW5nT3B0aW9uLnNlbGVjdGVkIGlnbm9yZWQKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMTk2MAorICAgICAgICA8cmRh
cjovL3Byb2JsZW0vNzM0NjQ0MDQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgTGV2ZXJhZ2UgbmV3IGBQS1NoaXBwaW5nTWV0aG9kc2AgU1BJIHRvIHBy
b3ZpZGUgYm90aCB0aGUgZ2VuZXJhbCBsaXN0IG9mIGBQS1NoaXBwaW5nTWV0aG9kYAorICAgICAg
ICBhbmQgdGhlIGRlZmF1bHQgc2VsZWN0ZWQgYFBLU2hpcHBpbmdNZXRob2RzYCB3aGVuIGNyZWF0
aW5nL3VwZGF0aW5nIGEgcGF5bWVudCByZXF1ZXN0LgorCisgICAgICAgICogcGFsL2NvY29hL1Bh
c3NLaXRTb2Z0TGluay5oOgorICAgICAgICAqIHBhbC9jb2NvYS9QYXNzS2l0U29mdExpbmsubW06
CisgICAgICAgICogcGFsL3NwaS9jb2NvYS9QYXNzS2l0U1BJLmg6CisKIDIwMjEtMTEtMDQgIERl
YW4gSmFja3NvbiAgPGRpbm9AYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT046IEFSIFF1
aWNrbG9vayBhc3NldCBpcyBzaGFyZWQgaW5zdGVhZCBvZiBwYWdlIFVSTApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBj
Y2M5NDU3ZjkwMDEwZTU0OTVjMDhlM2FjZmU5OTAxMjFiY2M4NzY5Li44MzA1OGEzYzdmODU2NjE1
YzUxYjQ5YzZmMTMzZGY4YWQyZWRjMTc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDIx
LTExLTA4ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdS
RVNTSU9OKHIyNzE3MzUpOiBQYXltZW50U2hpcHBpbmdPcHRpb24uc2VsZWN0ZWQgaWdub3JlZAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIxOTYwCisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MzQ2NDQwND4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBMZXZlcmFnZSBuZXcgYFBLU2hpcHBpbmdNZXRob2Rz
YCBTUEkgdG8gcHJvdmlkZSBib3RoIHRoZSBnZW5lcmFsIGxpc3Qgb2YgYFBLU2hpcHBpbmdNZXRo
b2RgCisgICAgICAgIGFuZCB0aGUgZGVmYXVsdCBzZWxlY3RlZCBgUEtTaGlwcGluZ01ldGhvZHNg
IHdoZW4gY3JlYXRpbmcvdXBkYXRpbmcgYSBwYXltZW50IHJlcXVlc3QuCisKKyAgICAgICAgKiBT
aGFyZWQvQXBwbGVQYXkvY29jb2EvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYS5oOgor
ICAgICAgICAqIFNoYXJlZC9BcHBsZVBheS9jb2NvYS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94
eUNvY29hLm1tOgorICAgICAgICAoV2ViS2l0Ojp0b1BLU2hpcHBpbmdNZXRob2RzKTogQWRkZWQu
CisgICAgICAgIChXZWJLaXQ6OldlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpwbGF0Zm9ybVBh
eW1lbnRSZXF1ZXN0KToKKyAgICAgICAgQWRkIG5ldyBoZWxwZXIgdG8gZ2VuZXJhdGUgdGhlIGBQ
S1NoaXBwaW5nTWV0aG9kc2AgZnJvbSBXZWJDb3JlIG9iamVjdHMuCisKKyAgICAgICAgKiBQbGF0
Zm9ybS9jb2NvYS9QYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlci5tbToKKyAgICAgICAgKFdl
YktpdDo6UGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXI6OmNvbXBsZXRlUGF5bWVudE1ldGhv
ZFNlbGVjdGlvbik6CisgICAgICAgIChXZWJLaXQ6OlBheW1lbnRBdXRob3JpemF0aW9uUHJlc2Vu
dGVyOjpjb21wbGV0ZVNoaXBwaW5nQ29udGFjdFNlbGVjdGlvbik6CisgICAgICAgIChXZWJLaXQ6
OlBheW1lbnRBdXRob3JpemF0aW9uUHJlc2VudGVyOjpjb21wbGV0ZVNoaXBwaW5nTWV0aG9kU2Vs
ZWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6UGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXI6
OmNvbXBsZXRlQ291cG9uQ29kZUNoYW5nZSk6CisgICAgICAgIChXZWJLaXQ6OnRvUEtTaGlwcGlu
Z01ldGhvZHMpOiBEZWxldGVkLgorCisgICAgICAgICogUGxhdGZvcm0vY29jb2EvV0tQYXltZW50
QXV0aG9yaXphdGlvbkRlbGVnYXRlLm1tOgorICAgICAgICAoLVtXS1BheW1lbnRBdXRob3JpemF0
aW9uRGVsZWdhdGUgY29tcGxldGVQYXltZW50TWV0aG9kU2VsZWN0aW9uOl0pOgorICAgICAgICAo
LVtXS1BheW1lbnRBdXRob3JpemF0aW9uRGVsZWdhdGUgY29tcGxldGVTaGlwcGluZ0NvbnRhY3RT
ZWxlY3Rpb246XSk6CisgICAgICAgICgtW1dLUGF5bWVudEF1dGhvcml6YXRpb25EZWxlZ2F0ZSBj
b21wbGV0ZVNoaXBwaW5nTWV0aG9kU2VsZWN0aW9uOl0pOgorICAgICAgICAoLVtXS1BheW1lbnRB
dXRob3JpemF0aW9uRGVsZWdhdGUgY29tcGxldGVDb3Vwb25Db2RlQ2hhbmdlOl0pOgorICAgICAg
ICAoLVtXS1BheW1lbnRBdXRob3JpemF0aW9uRGVsZWdhdGUgX2luaXRXaXRoUmVxdWVzdDpwcmVz
ZW50ZXI6XSk6CisgICAgICAgICh0b1NoaXBwaW5nTWV0aG9kKToKKyAgICAgICAgKC1bV0tQYXlt
ZW50QXV0aG9yaXphdGlvbkRlbGVnYXRlIF9kaWRTZWxlY3RTaGlwcGluZ01ldGhvZDpjb21wbGV0
aW9uOl0pOgorICAgICAgICAoLVtXS1BheW1lbnRBdXRob3JpemF0aW9uRGVsZWdhdGUgc3VtbWFy
eUl0ZW1zXSk6IERlbGV0ZWQuCisgICAgICAgICgtW1dLUGF5bWVudEF1dGhvcml6YXRpb25EZWxl
Z2F0ZSBzaGlwcGluZ01ldGhvZHNdKTogRGVsZXRlZC4KKyAgICAgICAgRHJpdmUtYnk6IERlbGV0
ZSB1bnVzZWQgbWV0aG9kcy4KKwogMjAyMS0xMS0wNSAgTmlrb2xhb3MgTW91Y2h0YXJpcyAgPG5t
b3VjaHRhcmlzQGFwcGxlLmNvbT4KIAogICAgICAgICBNYWtlIHNjcm9sbCBiYXIgbW9kZSBhbiBl
bnVtIGNsYXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZUNvY29h
LmggYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmgKaW5kZXggZDI1MzE4YzM0
NDhhYTIwYzkxNDEzZTM1ZTg3MDJmOGYwNGRkMGE1OC4uMGQxNDNiZjViMzFmMDE1MzJmYTRjMmY4
NmQ5ODU5ZWMxYjA1NWVjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFi
bGVDb2NvYS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaApAQCAt
NzUsNiArNzUsMTAgQEAKICNkZWZpbmUgRU5BQkxFX0FQUExFX1BBWV9ORVdfQlVUVE9OX1RZUEVT
IDEKICNlbmRpZgogCisjaWYgIWRlZmluZWQoRU5BQkxFX0FQUExFX1BBWV9TRUxFQ1RFRF9TSElQ
UElOR19NRVRIT0QpICYmIEhBVkUoUEFTU0tJVF9ERUZBVUxUX1NISVBQSU5HX01FVEhPRCkKKyNk
ZWZpbmUgRU5BQkxFX0FQUExFX1BBWV9TRUxFQ1RFRF9TSElQUElOR19NRVRIT0QgMQorI2VuZGlm
CisKICNpZiAhZGVmaW5lZChFTkFCTEVfQVBQTEVfUEFZX1NISVBQSU5HX0NPTlRBQ1RfRURJVElO
R19NT0RFKSAmJiBIQVZFKFBBU1NLSVRfU0hJUFBJTkdfQ09OVEFDVF9FRElUSU5HX01PREUpCiAj
ZGVmaW5lIEVOQUJMRV9BUFBMRV9QQVlfU0hJUFBJTkdfQ09OVEFDVF9FRElUSU5HX01PREUgMQog
I2VuZGlmCkBAIC00NDYsNiArNDUwLDEwIEBACiAjZGVmaW5lIEVOQUJMRV9QQVlNRU5UX1JFUVVF
U1QgMQogI2VuZGlmCiAKKyNpZiAhZGVmaW5lZChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUX1NFTEVD
VEVEX1NISVBQSU5HX09QVElPTikgJiYgSEFWRShQQVNTS0lUX0RFRkFVTFRfU0hJUFBJTkdfTUVU
SE9EKQorI2RlZmluZSBFTkFCTEVfUEFZTUVOVF9SRVFVRVNUX1NFTEVDVEVEX1NISVBQSU5HX09Q
VElPTiAxCisjZW5kaWYKKwogI2lmICFkZWZpbmVkKEVOQUJMRV9QSUNUVVJFX0lOX1BJQ1RVUkVf
QVBJKSAmJiAhUExBVEZPUk0oTUFDQ0FUQUxZU1QpICYmICFQTEFURk9STShXQVRDSE9TKSAmJiAh
UExBVEZPUk0oQVBQTEVUVikKICNkZWZpbmUgRU5BQkxFX1BJQ1RVUkVfSU5fUElDVFVSRV9BUEkg
MQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaCBiL1Nv
dXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCmluZGV4IGMxNGFlZGU1MzY3N2RiZjIzYjIzZGU4
NTZlOGVmODIyNjQzNGFhMWMuLmFkY2E2YmE4NDM4M2E1NTQ1YjI0NzNkYTIzOTYyNTU2MzU2YjE5
NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCisrKyBiL1NvdXJj
ZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCkBAIC02NDksNiArNjQ5LDEwIEBACiAjZGVmaW5lIEhB
VkVfUEFTU0tJVF9VUERBVEVfU0hJUFBJTkdfTUVUSE9EU19XSEVOX0NIQU5HSU5HX1NVTU1BUllf
SVRFTVMgMQogI2VuZGlmCiAKKyNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEID49IDEyMDQwMCkgfHwgKFBMQVRGT1JNKElPUykgJiYgX19JUEhPTkVf
T1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTUwNDAwKQorI2RlZmluZSBIQVZFX1BBU1NLSVRf
REVGQVVMVF9TSElQUElOR19NRVRIT0QgMQorI2VuZGlmCisKICNpZiBQTEFURk9STShDT0NPQSkg
JiYgIVBMQVRGT1JNKFdBVENIT1MpICYmICFQTEFURk9STShBUFBMRVRWKQogI2RlZmluZSBIQVZF
X1FVSUNLTE9PS19USFVNQk5BSUxJTkcgMQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdNZXRob2QuaCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ01ldGhvZC5oCmluZGV4IDNi
NzNkYTkxNGE1ODIxY2I1MDQ0YjVmNDFkMjQyYTQxYTcyMDNhYjQuLjc3ZWQxZThhYjE5NDZlYWFl
OGNmNWYyODk4N2JmM2QwZjcxZWE5NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ01ldGhvZC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ01ldGhvZC5oCkBAIC00Myw2ICs0Mywx
MCBAQCBzdHJ1Y3QgQXBwbGVQYXlTaGlwcGluZ01ldGhvZCBmaW5hbCB7CiAgICAgc3RkOjpvcHRp
b25hbDxBcHBsZVBheURhdGVDb21wb25lbnRzUmFuZ2U+IGRhdGVDb21wb25lbnRzUmFuZ2U7CiAj
ZW5kaWYKIAorI2lmIEVOQUJMRShBUFBMRV9QQVlfU0VMRUNURURfU0hJUFBJTkdfTUVUSE9EKQor
ICAgIGJvb2wgc2VsZWN0ZWQgeyBmYWxzZSB9OworI2VuZGlmCisKICAgICB0ZW1wbGF0ZTxjbGFz
cyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CiAgICAgdGVtcGxhdGU8Y2xh
c3MgRGVjb2Rlcj4gc3RhdGljIHN0ZDo6b3B0aW9uYWw8QXBwbGVQYXlTaGlwcGluZ01ldGhvZD4g
ZGVjb2RlKERlY29kZXImKTsKIH07CkBAIC01Nyw2ICs2MSw5IEBAIHZvaWQgQXBwbGVQYXlTaGlw
cGluZ01ldGhvZDo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAjaWYgRU5BQkxFKEFQ
UExFX1BBWV9TSElQUElOR19NRVRIT0RfREFURV9DT01QT05FTlRTX1JBTkdFKQogICAgIGVuY29k
ZXIgPDwgZGF0ZUNvbXBvbmVudHNSYW5nZTsKICNlbmRpZgorI2lmIEVOQUJMRShBUFBMRV9QQVlf
U0VMRUNURURfU0hJUFBJTkdfTUVUSE9EKQorICAgIGVuY29kZXIgPDwgc2VsZWN0ZWQ7CisjZW5k
aWYKIH0KIAogdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4KQEAgLTc1LDYgKzgyLDkgQEAgc3RkOjpv
cHRpb25hbDxBcHBsZVBheVNoaXBwaW5nTWV0aG9kPiBBcHBsZVBheVNoaXBwaW5nTWV0aG9kOjpk
ZWNvZGUoRGVjb2RlciYgZGUKICNpZiBFTkFCTEUoQVBQTEVfUEFZX1NISVBQSU5HX01FVEhPRF9E
QVRFX0NPTVBPTkVOVFNfUkFOR0UpCiAgICAgREVDT0RFKGRhdGVDb21wb25lbnRzUmFuZ2UsIHN0
ZDo6b3B0aW9uYWw8QXBwbGVQYXlEYXRlQ29tcG9uZW50c1JhbmdlPikKICNlbmRpZgorI2lmIEVO
QUJMRShBUFBMRV9QQVlfU0VMRUNURURfU0hJUFBJTkdfTUVUSE9EKQorICAgIERFQ09ERShzZWxl
Y3RlZCwgYm9vbCkKKyNlbmRpZgogCiAjdW5kZWYgREVDT0RFCiAKQEAgLTg1LDYgKzk1LDkgQEAg
c3RkOjpvcHRpb25hbDxBcHBsZVBheVNoaXBwaW5nTWV0aG9kPiBBcHBsZVBheVNoaXBwaW5nTWV0
aG9kOjpkZWNvZGUoRGVjb2RlciYgZGUKICAgICAgICAgV1RGTW92ZSgqaWRlbnRpZmllciksCiAj
aWYgRU5BQkxFKEFQUExFX1BBWV9TSElQUElOR19NRVRIT0RfREFURV9DT01QT05FTlRTX1JBTkdF
KQogICAgICAgICBXVEZNb3ZlKCpkYXRlQ29tcG9uZW50c1JhbmdlKSwKKyNlbmRpZgorI2lmIEVO
QUJMRShBUFBMRV9QQVlfU0VMRUNURURfU0hJUFBJTkdfTUVUSE9EKQorICAgICAgICBXVEZNb3Zl
KCpzZWxlY3RlZCksCiAjZW5kaWYKICAgICB9IH07CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdNZXRob2QuaWRsIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nTWV0aG9kLmlkbAppbmRl
eCA0NzEwZjUyZGFjZWY4NWM5MmEzYmE3YzliMDE2NjU5MDY2YmNjOWEwLi4wMjIxODczMzkyYTY0
OTU4NjQxZGYzZGZjZjI2Y2NkZjQxMmVhNjE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdNZXRob2QuaWRsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ01ldGhvZC5pZGwKQEAgLTM0
LDQgKzM0LDYgQEAKICAgICByZXF1aXJlZCBET01TdHJpbmcgaWRlbnRpZmllcjsKIAogICAgIFtD
b25kaXRpb25hbD1BUFBMRV9QQVlfU0hJUFBJTkdfTUVUSE9EX0RBVEVfQ09NUE9ORU5UU19SQU5H
RV0gQXBwbGVQYXlEYXRlQ29tcG9uZW50c1JhbmdlIGRhdGVDb21wb25lbnRzUmFuZ2U7CisKKyAg
ICBbQ29uZGl0aW9uYWw9QVBQTEVfUEFZX1NFTEVDVEVEX1NISVBQSU5HX01FVEhPRF0gYm9vbGVh
biBzZWxlY3RlZCA9IGZhbHNlOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQYXltZW50SGFuZGxlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5UGF5
bWVudEhhbmRsZXIuY3BwCmluZGV4IDUzMGFjOTIyZTIzMDY1ZDk0YWM0OWI0YjFlNTU4NjEwZWY4
NDQwZDcuLmJkNmFmMzk1YzE5OWQxYmMxYTM0ZDIxZGJkNTEzNTYzNmQ1ZTc4N2UgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQ
YXlQYXltZW50SGFuZGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBh
eS9wYXltZW50cmVxdWVzdC9BcHBsZVBheVBheW1lbnRIYW5kbGVyLmNwcApAQCAtMjk5LDEwICsy
OTksMTggQEAgRXhjZXB0aW9uT3I8VmVjdG9yPEFwcGxlUGF5U2hpcHBpbmdNZXRob2Q+PiBBcHBs
ZVBheVBheW1lbnRIYW5kbGVyOjpjb21wdXRlU2hpcHAKIAogICAgICAgICBzaGlwcGluZ09wdGlv
bnMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShkZXRhaWxzLnNoaXBwaW5nT3B0aW9ucy0+c2l6ZSgp
KTsKICAgICAgICAgZm9yIChhdXRvJiBzaGlwcGluZ09wdGlvbiA6ICpkZXRhaWxzLnNoaXBwaW5n
T3B0aW9ucykgewotICAgICAgICAgICAgYXV0byBzaGlwcGluZ01ldGhvZCA9IGNvbnZlcnRBbmRW
YWxpZGF0ZShzaGlwcGluZ09wdGlvbiwgY3VycmVuY3kpOwotICAgICAgICAgICAgaWYgKHNoaXBw
aW5nTWV0aG9kLmhhc0V4Y2VwdGlvbigpKQotICAgICAgICAgICAgICAgIHJldHVybiBzaGlwcGlu
Z01ldGhvZC5yZWxlYXNlRXhjZXB0aW9uKCk7Ci0gICAgICAgICAgICBzaGlwcGluZ09wdGlvbnMu
dW5jaGVja2VkQXBwZW5kKHNoaXBwaW5nTWV0aG9kLnJlbGVhc2VSZXR1cm5WYWx1ZSgpKTsKKyAg
ICAgICAgICAgIGF1dG8gc2hpcHBpbmdNZXRob2RPckV4Y2VwdGlvbiA9IGNvbnZlcnRBbmRWYWxp
ZGF0ZShzaGlwcGluZ09wdGlvbiwgY3VycmVuY3kpOworICAgICAgICAgICAgaWYgKHNoaXBwaW5n
TWV0aG9kT3JFeGNlcHRpb24uaGFzRXhjZXB0aW9uKCkpCisgICAgICAgICAgICAgICAgcmV0dXJu
IHNoaXBwaW5nTWV0aG9kT3JFeGNlcHRpb24ucmVsZWFzZUV4Y2VwdGlvbigpOworCisgICAgICAg
ICAgICBhdXRvIHNoaXBwaW5nTWV0aG9kID0gc2hpcHBpbmdNZXRob2RPckV4Y2VwdGlvbi5yZWxl
YXNlUmV0dXJuVmFsdWUoKTsKKworI2lmIEVOQUJMRShBUFBMRV9QQVlfU0VMRUNURURfU0hJUFBJ
TkdfTUVUSE9EKQorICAgICAgICAgICAgaWYgKHNoaXBwaW5nTWV0aG9kLmlkZW50aWZpZXIgPT0g
bV9wYXltZW50UmVxdWVzdC0+c2hpcHBpbmdPcHRpb24oKSkKKyAgICAgICAgICAgICAgICBzaGlw
cGluZ01ldGhvZC5zZWxlY3RlZCA9IHRydWU7CisjZW5kaWYKKworICAgICAgICAgICAgc2hpcHBp
bmdPcHRpb25zLnVuY2hlY2tlZEFwcGVuZChXVEZNb3ZlKHNoaXBwaW5nTWV0aG9kKSk7CiAgICAg
ICAgIH0KICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVu
dHJlcXVlc3QvUGF5bWVudFJlcXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXlt
ZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5jcHAKaW5kZXggMDYzY2ZmN2UwOTA3YjVlMzdjNGZm
MjQxNDA0ZDhkM2I5MzgxMmJkYi4uMjgyYzEyMDJkMDlmMzhhYmEwZDE3MmJiODhkYTU0MTZhZTYx
NzU4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9Q
YXltZW50UmVxdWVzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVx
dWVzdC9QYXltZW50UmVxdWVzdC5jcHAKQEAgLTIxOCwxMyArMjE4LDE5IEBAIHN0YXRpYyBFeGNl
cHRpb25PcjxzdGQ6OnR1cGxlPFN0cmluZywgVmVjdG9yPFN0cmluZz4+PiBjaGVja0FuZENhbm9u
aWNhbGl6ZURldGFpCiAgICAgICAgICAgICAgICAgaWYgKCFhZGRSZXN1bHQuaXNOZXdFbnRyeSkK
ICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgIlNoaXBw
aW5nIG9wdGlvbiBJRHMgbXVzdCBiZSB1bmlxdWUuIiB9OwogCi0gICAgICAgICAgICAgICAgLy8g
RklYTUU6IDxyZGFyOi8vcHJvYmxlbS83MzQ2NDQwND4KKyNpZiBFTkFCTEUoUEFZTUVOVF9SRVFV
RVNUX1NFTEVDVEVEX1NISVBQSU5HX09QVElPTikKKyAgICAgICAgICAgICAgICBpZiAoc2hpcHBp
bmdPcHRpb24uc2VsZWN0ZWQpCisgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkU2hpcHBpbmdP
cHRpb24gPSBzaGlwcGluZ09wdGlvbi5pZDsKKyAgICAgICAgICAgICAgICBVTlVTRURfUEFSQU0o
Y29udGV4dCk7CisgICAgICAgICAgICAgICAgVU5VU0VEX1ZBUklBQkxFKGRpZExvZyk7CisjZWxz
ZQogICAgICAgICAgICAgICAgIGlmICghc2VsZWN0ZWRTaGlwcGluZ09wdGlvbikKICAgICAgICAg
ICAgICAgICAgICAgc2VsZWN0ZWRTaGlwcGluZ09wdGlvbiA9IHNoaXBwaW5nT3B0aW9uLmlkOwog
ICAgICAgICAgICAgICAgIGVsc2UgaWYgKCFkaWRMb2cgJiYgc2hpcHBpbmdPcHRpb24uc2VsZWN0
ZWQpIHsKICAgICAgICAgICAgICAgICAgICAgY29udGV4dC5hZGRDb25zb2xlTWVzc2FnZShKU0M6
Ok1lc3NhZ2VTb3VyY2U6OlBheW1lbnRSZXF1ZXN0LCBKU0M6Ok1lc3NhZ2VMZXZlbDo6V2Fybmlu
ZywgIldlYktpdCBjdXJyZW50bHkgdXNlcyB0aGUgZmlyc3Qgc2hpcHBpbmcgb3B0aW9uIGV2ZW4g
aWYgb3RoZXIgc2hpcHBpbmcgb3B0aW9ucyBhcmUgbWFya2VkIGFzIHNlbGVjdGVkLiJfcyk7CiAg
ICAgICAgICAgICAgICAgICAgIGRpZExvZyA9IHRydWU7CiAgICAgICAgICAgICAgICAgfQorI2Vu
ZGlmCiAgICAgICAgICAgICB9CiAgICAgICAgIH0gZWxzZSBpZiAoaXNVcGRhdGUgPT0gSXNVcGRh
dGU6Ok5vKQogICAgICAgICAgICAgZGV0YWlscy5zaGlwcGluZ09wdGlvbnMgPSB7IHsgfSB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9QYXNzS2l0U29mdExpbmsu
aCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvUGFzc0tpdFNvZnRMaW5rLmgKaW5kZXgg
MGJjMjViNWNmNWNiMWUzMGU5OWZlYTY2M2IxMDk3ODI4YjY1YWJiNi4uMzhkNWJiYzVkYmRhZTdj
NzYzYzhmZjYwNDMxZDBkYjFlMjg3NGFkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFM
L3BhbC9jb2NvYS9QYXNzS2l0U29mdExpbmsuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L2NvY29hL1Bhc3NLaXRTb2Z0TGluay5oCkBAIC02MCw2ICs2MCwxMCBAQCBTT0ZUX0xJTktfQ0xB
U1NfRk9SX0hFQURFUihQQUwsIFBLUmVjdXJyaW5nUGF5bWVudFN1bW1hcnlJdGVtKQogU09GVF9M
SU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBQS0RlZmVycmVkUGF5bWVudFN1bW1hcnlJdGVtKQog
I2VuZGlmCiAKKyNpZiBIQVZFKFBBU1NLSVRfREVGQVVMVF9TSElQUElOR19NRVRIT0QpCitTT0ZU
X0xJTktfQ0xBU1NfRk9SX0hFQURFUihQQUwsIFBLU2hpcHBpbmdNZXRob2RzKQorI2VuZGlmCisK
ICNpZiBIQVZFKFBBU1NLSVRfU0hJUFBJTkdfTUVUSE9EX0RBVEVfQ09NUE9ORU5UU19SQU5HRSkK
IFNPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwgUEtEYXRlQ29tcG9uZW50c1JhbmdlKQog
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL1Bhc3NLaXRT
b2Z0TGluay5tbSBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvUGFzc0tpdFNvZnRMaW5r
Lm1tCmluZGV4IGUxNTZjYmI4YjVlMjVjMjIwMTY0NzgxNGI4YTlkZmNiZDc5N2U4MTIuLmUzZDYz
MjAyZGQ3YWNmY2NlNmM3OTQyM2NlMTQyZTRhMDAwYjliZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvY29jb2EvUGFzc0tpdFNvZnRMaW5rLm1tCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1BBTC9wYWwvY29jb2EvUGFzc0tpdFNvZnRMaW5rLm1tCkBAIC02NCw2ICs2NCwxMCBAQCBT
T0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIFBhc3NLaXQsIFBLUmVj
dXJyaW5nUGF5bWVudFN1bW1hcnlJdAogU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfV0lUSF9F
WFBPUlQoUEFMLCBQYXNzS2l0LCBQS0RlZmVycmVkUGF5bWVudFN1bW1hcnlJdGVtLCBQQUxfRVhQ
T1JUKQogI2VuZGlmCiAKKyNpZiBIQVZFKFBBU1NLSVRfREVGQVVMVF9TSElQUElOR19NRVRIT0Qp
CitTT0ZUX0xJTktfQ0xBU1NfRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIFBhc3NLaXQsIFBL
U2hpcHBpbmdNZXRob2RzLCBQQUxfRVhQT1JUKQorI2VuZGlmCisKICNpZiBIQVZFKFBBU1NLSVRf
U0hJUFBJTkdfTUVUSE9EX0RBVEVfQ09NUE9ORU5UU19SQU5HRSkKIFNPRlRfTElOS19DTEFTU19G
T1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgUGFzc0tpdCwgUEtEYXRlQ29tcG9uZW50c1Jhbmdl
LCBQQUxfRVhQT1JUKQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L3NwaS9jb2NvYS9QYXNzS2l0U1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2Nv
YS9QYXNzS2l0U1BJLmgKaW5kZXggZjFlYjlkYzA0YTQzM2JhNTQ0YzY0ZDNmM2ZhNTA1NWEyZmQ2
Mzk5ZC4uYTE5MDE1NDdiMDlkMDMyZjdiNDYzYWQ0MGJiMzE3YmVjZTkwZmM3NCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvUGFzc0tpdFNQSS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL1Bhc3NLaXRTUEkuaApAQCAtNzEsNiArNzEs
MTAgQEAgV1RGX0VYVEVSTl9DX0VORAogI2ltcG9ydCA8UGFzc0tpdENvcmUvUEtSZWN1cnJpbmdQ
YXltZW50U3VtbWFyeUl0ZW0uaD4KICNlbmRpZgogCisjaWYgSEFWRShQQVNTS0lUX0RFRkFVTFRf
U0hJUFBJTkdfTUVUSE9EKQorI2ltcG9ydCA8UGFzc0tpdENvcmUvUEtTaGlwcGluZ01ldGhvZHMu
aD4KKyNlbmRpZgorCiAjaWYgSEFWRShQQVNTS0lUX1NISVBQSU5HX01FVEhPRF9EQVRFX0NPTVBP
TkVOVFNfUkFOR0UpCiAjaW1wb3J0IDxQYXNzS2l0Q29yZS9QS0RhdGVDb21wb25lbnRzUmFuZ2Uu
aD4KICNlbmRpZgpAQCAtMjU4LDYgKzI2MiwxMiBAQCB0eXBlZGVmIE5TU3RyaW5nICogUEtQYXlt
ZW50TmV0d29yayBOU19FWFRFTlNJQkxFX1NUUklOR19FTlVNOwogQGVuZAogI2VuZGlmCiAKKyNp
ZiBIQVZFKFBBU1NLSVRfREVGQVVMVF9TSElQUElOR19NRVRIT0QpCitAaW50ZXJmYWNlIFBLU2hp
cHBpbmdNZXRob2RzIDogTlNPYmplY3QKKy0gKGluc3RhbmNldHlwZSlpbml0V2l0aE1ldGhvZHM6
KE5TQXJyYXk8UEtTaGlwcGluZ01ldGhvZCAqPiAqKW1ldGhvZHMgZGVmYXVsdE1ldGhvZDoobnVs
bGFibGUgUEtTaGlwcGluZ01ldGhvZCAqKWRlZmF1bHRNZXRob2Q7CitAZW5kCisjZW5kaWYKKwog
I2lmIEhBVkUoUEFTU0tJVF9TSElQUElOR19NRVRIT0RfREFURV9DT01QT05FTlRTX1JBTkdFKQog
QGludGVyZmFjZSBQS0RhdGVDb21wb25lbnRzUmFuZ2UgOiBOU09iamVjdCA8TlNDb3B5aW5nLCBO
U1NlY3VyZUNvZGluZz4KIC0gKG51bGxhYmxlIGluc3RhbmNldHlwZSlpbml0V2l0aFN0YXJ0RGF0
ZUNvbXBvbmVudHM6KE5TRGF0ZUNvbXBvbmVudHMgKilzdGFydERhdGVDb21wb25lbnRzIGVuZERh
dGVDb21wb25lbnRzOihOU0RhdGVDb21wb25lbnRzICopZW5kRGF0ZUNvbXBvbmVudHM7CkBAIC0z
MDQsNiArMzE0LDEwIEBAIHR5cGVkZWYgTlNfRU5VTShOU1VJbnRlZ2VyLCBQS1NoaXBwaW5nQ29u
dGFjdEVkaXRpbmdNb2RlKSB7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSwgbnVsbGFibGUp
IE5TU3RyaW5nICpjb3Vwb25Db2RlOwogI2VuZGlmCiAKKyNpZiBIQVZFKFBBU1NLSVRfREVGQVVM
VF9TSElQUElOR19NRVRIT0QpCitAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgUEtTaGlwcGlu
Z01ldGhvZHMgKmF2YWlsYWJsZVNoaXBwaW5nTWV0aG9kczsKKyNlbmRpZgorCiAjaWYgSEFWRShQ
QVNTS0lUX1NISVBQSU5HX0NPTlRBQ1RfRURJVElOR19NT0RFKQogQHByb3BlcnR5IChub25hdG9t
aWMsIGFzc2lnbikgUEtTaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZSBzaGlwcGluZ0NvbnRhY3RF
ZGl0aW5nTW9kZTsKICNlbmRpZgpAQCAtNDU5LDE2ICs0NzMsMTggQEAgTlNfQVNTVU1FX05PTk5V
TExfQkVHSU4KICNpZiBIQVZFKFBBU1NLSVRfVVBEQVRFX1NISVBQSU5HX01FVEhPRFNfV0hFTl9D
SEFOR0lOR19TVU1NQVJZX0lURU1TKQogQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5TQXJy
YXk8UEtTaGlwcGluZ01ldGhvZCAqPiAqc2hpcHBpbmdNZXRob2RzOwogI2VuZGlmCisjaWYgSEFW
RShQQVNTS0lUX0RFRkFVTFRfU0hJUFBJTkdfTUVUSE9EKQorQHByb3BlcnR5IChub25hdG9taWMs
IGNvcHkpIFBLU2hpcHBpbmdNZXRob2RzICphdmFpbGFibGVTaGlwcGluZ01ldGhvZHM7CisjZW5k
aWYKIEBlbmQKIAogQGludGVyZmFjZSBQS1BheW1lbnRSZXF1ZXN0UGF5bWVudE1ldGhvZFVwZGF0
ZSA6IFBLUGF5bWVudFJlcXVlc3RVcGRhdGUKLS0gKGluc3RhbmNldHlwZSlpbml0V2l0aEVycm9y
czoobnVsbGFibGUgTlNBcnJheTxOU0Vycm9yICo+ICopZXJyb3JzIHBheW1lbnRTdW1tYXJ5SXRl
bXM6KG5vbm51bGwgTlNBcnJheTxQS1BheW1lbnRTdW1tYXJ5SXRlbSAqPiAqKXN1bW1hcnlJdGVt
czsKIEBwcm9wZXJ0eSAobnVsbF9yZXNldHRhYmxlLCBub25hdG9taWMsIGNvcHkpIE5TQXJyYXk8
TlNFcnJvciAqPiAqZXJyb3JzOwogQGVuZAogCiBAaW50ZXJmYWNlIFBLUGF5bWVudFJlcXVlc3RT
aGlwcGluZ0NvbnRhY3RVcGRhdGUgOiBQS1BheW1lbnRSZXF1ZXN0VXBkYXRlCi0tIChpbnN0YW5j
ZXR5cGUpaW5pdFdpdGhFcnJvcnM6KG51bGxhYmxlIE5TQXJyYXk8TlNFcnJvciAqPiAqKWVycm9y
cyBwYXltZW50U3VtbWFyeUl0ZW1zOihub25udWxsIE5TQXJyYXk8UEtQYXltZW50U3VtbWFyeUl0
ZW0gKj4gKilzdW1tYXJ5SXRlbXMgc2hpcHBpbmdNZXRob2RzOihub25udWxsIE5TQXJyYXk8UEtT
aGlwcGluZ01ldGhvZCAqPiAqKXNoaXBwaW5nTWV0aG9kczsKIEBwcm9wZXJ0eSAobm9uYXRvbWlj
LCBjb3B5KSBOU0FycmF5PFBLU2hpcHBpbmdNZXRob2QgKj4gKnNoaXBwaW5nTWV0aG9kczsKK0Bw
cm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5LCBudWxsX3Jlc2V0dGFibGUpIE5TQXJyYXk8TlNFcnJv
ciAqPiAqZXJyb3JzOwogQGVuZAogCiBAaW50ZXJmYWNlIFBLUGF5bWVudFJlcXVlc3RTaGlwcGlu
Z01ldGhvZFVwZGF0ZSA6IFBLUGF5bWVudFJlcXVlc3RVcGRhdGUKQEAgLTQ3Niw3ICs0OTIsNyBA
QCBOU19BU1NVTUVfTk9OTlVMTF9CRUdJTgogCiAjaWYgSEFWRShQQVNTS0lUX0NPVVBPTl9DT0RF
KQogQGludGVyZmFjZSBQS1BheW1lbnRSZXF1ZXN0Q291cG9uQ29kZVVwZGF0ZSA6IFBLUGF5bWVu
dFJlcXVlc3RVcGRhdGUKLS0gKGluc3RhbmNldHlwZSlpbml0V2l0aEVycm9yczoobnVsbGFibGUg
TlNBcnJheTxOU0Vycm9yICo+ICopZXJyb3JzIHBheW1lbnRTdW1tYXJ5SXRlbXM6KE5TQXJyYXk8
UEtQYXltZW50U3VtbWFyeUl0ZW0gKj4gKilwYXltZW50U3VtbWFyeUl0ZW1zIHNoaXBwaW5nTWV0
aG9kczooTlNBcnJheTxQS1NoaXBwaW5nTWV0aG9kICo+ICopc2hpcHBpbmdNZXRob2RzOworQHBy
b3BlcnR5IChub25hdG9taWMsIGNvcHksIG51bGxfcmVzZXR0YWJsZSkgTlNBcnJheTxOU0Vycm9y
ICo+ICplcnJvcnM7CiBAZW5kCiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Q
bGF0Zm9ybS9jb2NvYS9QYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlci5tbSBiL1NvdXJjZS9X
ZWJLaXQvUGxhdGZvcm0vY29jb2EvUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXIubW0KaW5k
ZXggNTJiOTYwZGNkYjNiYmYzNDQ1MzYxYmVjMmZiODRjYzBmY2EwZjY5OS4uY2YzYjhiMmU3Y2U5
ZDZmMDMxODY2ZmRjYTg2OWNlMGIyZmQyNTY0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Q
bGF0Zm9ybS9jb2NvYS9QYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlci5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1BsYXRmb3JtL2NvY29hL1BheW1lbnRBdXRob3JpemF0aW9uUHJlc2VudGVyLm1t
CkBAIC0xOTUsMTMgKzE5NSw2IEBAIHN0YXRpYyBSZXRhaW5QdHI8TlNBcnJheT4gdG9OU0Vycm9y
cyhjb25zdCBWZWN0b3I8UmVmUHRyPFdlYkNvcmU6OkFwcGxlUGF5RXJyb3I+CiAgICAgfSk7CiB9
CiAKLXN0YXRpYyBSZXRhaW5QdHI8TlNBcnJheT4gdG9QS1NoaXBwaW5nTWV0aG9kcyhjb25zdCBW
ZWN0b3I8V2ViQ29yZTo6QXBwbGVQYXlTaGlwcGluZ01ldGhvZD4mIHNoaXBwaW5nTWV0aG9kcykK
LXsKLSAgICByZXR1cm4gY3JlYXRlTlNBcnJheShzaGlwcGluZ01ldGhvZHMsIFtdIChhdXRvJiBt
ZXRob2QpIHsKLSAgICAgICAgcmV0dXJuIHRvUEtTaGlwcGluZ01ldGhvZChtZXRob2QpOwotICAg
IH0pOwotfQotCiB2b2lkIFBheW1lbnRBdXRob3JpemF0aW9uUHJlc2VudGVyOjpjb21wbGV0ZU1l
cmNoYW50VmFsaWRhdGlvbihjb25zdCBXZWJDb3JlOjpQYXltZW50TWVyY2hhbnRTZXNzaW9uJiBt
ZXJjaGFudFNlc3Npb24pCiB7CiAgICAgQVNTRVJUKHBsYXRmb3JtRGVsZWdhdGUoKSk7CkBAIC0y
MjMsNyArMjE2LDEzIEBAIHZvaWQgUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXI6OmNvbXBs
ZXRlUGF5bWVudE1ldGhvZFNlbGVjdGlvbihzdGQ6Om9wdGlvbmFsCiAgICAgYXV0byBwYXltZW50
TWV0aG9kVXBkYXRlID0gYWRvcHROUyhbUEFMOjphbGxvY1BLUGF5bWVudFJlcXVlc3RQYXltZW50
TWV0aG9kVXBkYXRlSW5zdGFuY2UoKSBpbml0V2l0aFBheW1lbnRTdW1tYXJ5SXRlbXM6V2ViQ29y
ZTo6cGxhdGZvcm1TdW1tYXJ5SXRlbXMoV1RGTW92ZSh1cGRhdGUtPm5ld1RvdGFsKSwgV1RGTW92
ZSh1cGRhdGUtPm5ld0xpbmVJdGVtcykpXSk7CiAjaWYgSEFWRShQQVNTS0lUX1VQREFURV9TSElQ
UElOR19NRVRIT0RTX1dIRU5fQ0hBTkdJTkdfU1VNTUFSWV9JVEVNUykKICAgICBbcGF5bWVudE1l
dGhvZFVwZGF0ZSBzZXRFcnJvcnM6dG9OU0Vycm9ycyhXVEZNb3ZlKHVwZGF0ZS0+ZXJyb3JzKSku
Z2V0KCldOwotICAgIFtwYXltZW50TWV0aG9kVXBkYXRlIHNldFNoaXBwaW5nTWV0aG9kczp0b1BL
U2hpcHBpbmdNZXRob2RzKFdURk1vdmUodXBkYXRlLT5uZXdTaGlwcGluZ01ldGhvZHMpKS5nZXQo
KV07CisjaWYgSEFWRShQQVNTS0lUX0RFRkFVTFRfU0hJUFBJTkdfTUVUSE9EKQorICAgIFtwYXlt
ZW50TWV0aG9kVXBkYXRlIHNldEF2YWlsYWJsZVNoaXBwaW5nTWV0aG9kczp0b1BLU2hpcHBpbmdN
ZXRob2RzKFdURk1vdmUodXBkYXRlLT5uZXdTaGlwcGluZ01ldGhvZHMpKV07CisjZWxzZQorICAg
IFtwYXltZW50TWV0aG9kVXBkYXRlIHNldFNoaXBwaW5nTWV0aG9kczpjcmVhdGVOU0FycmF5KFdU
Rk1vdmUodXBkYXRlLT5uZXdTaGlwcGluZ01ldGhvZHMpLCBbXSAoYXV0byYgbWV0aG9kKSB7Cisg
ICAgICAgIHJldHVybiB0b1BLU2hpcHBpbmdNZXRob2QobWV0aG9kKTsKKyAgICB9KS5nZXQoKV07
CisjZW5kaWYKICNlbmRpZgogI2lmIEhBVkUoUEFTU0tJVF9JTlNUQUxMTUVOVFMpICYmIEVOQUJM
RShBUFBMRV9QQVlfSU5TVEFMTE1FTlRTKQogICAgIFtwYXltZW50TWV0aG9kVXBkYXRlIHNldElu
c3RhbGxtZW50R3JvdXBJZGVudGlmaWVyOldURk1vdmUodXBkYXRlLT5pbnN0YWxsbWVudEdyb3Vw
SWRlbnRpZmllcildOwpAQCAtMjQ4LDkgKzI0NywxNSBAQCB2b2lkIFBheW1lbnRBdXRob3JpemF0
aW9uUHJlc2VudGVyOjpjb21wbGV0ZVNoaXBwaW5nQ29udGFjdFNlbGVjdGlvbihzdGQ6Om9wdGlv
bgogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgYXV0byBzaGlwcGluZ0NvbnRhY3RVcGRh
dGUgPSBhZG9wdE5TKFtQQUw6OmFsbG9jUEtQYXltZW50UmVxdWVzdFNoaXBwaW5nQ29udGFjdFVw
ZGF0ZUluc3RhbmNlKCkgaW5pdFdpdGhFcnJvcnM6dG9OU0Vycm9ycyhXVEZNb3ZlKHVwZGF0ZS0+
ZXJyb3JzKSkuZ2V0KCkKLSAgICAgICAgcGF5bWVudFN1bW1hcnlJdGVtczpXZWJDb3JlOjpwbGF0
Zm9ybVN1bW1hcnlJdGVtcyhXVEZNb3ZlKHVwZGF0ZS0+bmV3VG90YWwpLCBXVEZNb3ZlKHVwZGF0
ZS0+bmV3TGluZUl0ZW1zKSkKLSAgICAgICAgc2hpcHBpbmdNZXRob2RzOnRvUEtTaGlwcGluZ01l
dGhvZHMoV1RGTW92ZSh1cGRhdGUtPm5ld1NoaXBwaW5nTWV0aG9kcykpLmdldCgpXSk7CisgICAg
YXV0byBzaGlwcGluZ0NvbnRhY3RVcGRhdGUgPSBhZG9wdE5TKFtQQUw6OmFsbG9jUEtQYXltZW50
UmVxdWVzdFNoaXBwaW5nQ29udGFjdFVwZGF0ZUluc3RhbmNlKCkgaW5pdFdpdGhQYXltZW50U3Vt
bWFyeUl0ZW1zOldlYkNvcmU6OnBsYXRmb3JtU3VtbWFyeUl0ZW1zKFdURk1vdmUodXBkYXRlLT5u
ZXdUb3RhbCksIFdURk1vdmUodXBkYXRlLT5uZXdMaW5lSXRlbXMpKV0pOworICAgIFtzaGlwcGlu
Z0NvbnRhY3RVcGRhdGUgc2V0RXJyb3JzOnRvTlNFcnJvcnMoV1RGTW92ZSh1cGRhdGUtPmVycm9y
cykpLmdldCgpXTsKKyNpZiBIQVZFKFBBU1NLSVRfREVGQVVMVF9TSElQUElOR19NRVRIT0QpCisg
ICAgW3NoaXBwaW5nQ29udGFjdFVwZGF0ZSBzZXRBdmFpbGFibGVTaGlwcGluZ01ldGhvZHM6dG9Q
S1NoaXBwaW5nTWV0aG9kcyhXVEZNb3ZlKHVwZGF0ZS0+bmV3U2hpcHBpbmdNZXRob2RzKSldOwor
I2Vsc2UKKyAgICBbc2hpcHBpbmdDb250YWN0VXBkYXRlIHNldFNoaXBwaW5nTWV0aG9kczpjcmVh
dGVOU0FycmF5KFdURk1vdmUodXBkYXRlLT5uZXdTaGlwcGluZ01ldGhvZHMpLCBbXSAoYXV0byYg
bWV0aG9kKSB7CisgICAgICAgIHJldHVybiB0b1BLU2hpcHBpbmdNZXRob2QobWV0aG9kKTsKKyAg
ICB9KS5nZXQoKV07CisjZW5kaWYKICAgICBtZXJnZShzaGlwcGluZ0NvbnRhY3RVcGRhdGUuZ2V0
KCksICp1cGRhdGUpOwogICAgIFtwbGF0Zm9ybURlbGVnYXRlKCkgY29tcGxldGVTaGlwcGluZ0Nv
bnRhY3RTZWxlY3Rpb246c2hpcHBpbmdDb250YWN0VXBkYXRlLmdldCgpXTsKIH0KQEAgLTI2NCw4
ICsyNjksMTIgQEAgdm9pZCBQYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlcjo6Y29tcGxldGVT
aGlwcGluZ01ldGhvZFNlbGVjdGlvbihzdGQ6Om9wdGlvbmEKICAgICB9CiAKICAgICBhdXRvIHNo
aXBwaW5nTWV0aG9kVXBkYXRlID0gYWRvcHROUyhbUEFMOjphbGxvY1BLUGF5bWVudFJlcXVlc3RT
aGlwcGluZ01ldGhvZFVwZGF0ZUluc3RhbmNlKCkgaW5pdFdpdGhQYXltZW50U3VtbWFyeUl0ZW1z
OldlYkNvcmU6OnBsYXRmb3JtU3VtbWFyeUl0ZW1zKFdURk1vdmUodXBkYXRlLT5uZXdUb3RhbCks
IFdURk1vdmUodXBkYXRlLT5uZXdMaW5lSXRlbXMpKV0pOwotI2lmIEhBVkUoUEFTU0tJVF9VUERB
VEVfU0hJUFBJTkdfTUVUSE9EU19XSEVOX0NIQU5HSU5HX1NVTU1BUllfSVRFTVMpCi0gICAgW3No
aXBwaW5nTWV0aG9kVXBkYXRlIHNldFNoaXBwaW5nTWV0aG9kczp0b1BLU2hpcHBpbmdNZXRob2Rz
KFdURk1vdmUodXBkYXRlLT5uZXdTaGlwcGluZ01ldGhvZHMpKS5nZXQoKV07CisjaWYgSEFWRShQ
QVNTS0lUX0RFRkFVTFRfU0hJUFBJTkdfTUVUSE9EKQorICAgIFtzaGlwcGluZ01ldGhvZFVwZGF0
ZSBzZXRBdmFpbGFibGVTaGlwcGluZ01ldGhvZHM6dG9QS1NoaXBwaW5nTWV0aG9kcyhXVEZNb3Zl
KHVwZGF0ZS0+bmV3U2hpcHBpbmdNZXRob2RzKSldOworI2VsaWYgSEFWRShQQVNTS0lUX1VQREFU
RV9TSElQUElOR19NRVRIT0RTX1dIRU5fQ0hBTkdJTkdfU1VNTUFSWV9JVEVNUykKKyAgICBbc2hp
cHBpbmdNZXRob2RVcGRhdGUgc2V0U2hpcHBpbmdNZXRob2RzOmNyZWF0ZU5TQXJyYXkoV1RGTW92
ZSh1cGRhdGUtPm5ld1NoaXBwaW5nTWV0aG9kcyksIFtdIChhdXRvJiBtZXRob2QpIHsKKyAgICAg
ICAgcmV0dXJuIHRvUEtTaGlwcGluZ01ldGhvZChtZXRob2QpOworICAgIH0pLmdldCgpXTsKICNl
bmRpZgogICAgIG1lcmdlKHNoaXBwaW5nTWV0aG9kVXBkYXRlLmdldCgpLCAqdXBkYXRlKTsKICAg
ICBbcGxhdGZvcm1EZWxlZ2F0ZSgpIGNvbXBsZXRlU2hpcHBpbmdNZXRob2RTZWxlY3Rpb246c2hp
cHBpbmdNZXRob2RVcGRhdGUuZ2V0KCldOwpAQCAtMjgxLDcgKzI5MCwxNCBAQCB2b2lkIFBheW1l
bnRBdXRob3JpemF0aW9uUHJlc2VudGVyOjpjb21wbGV0ZUNvdXBvbkNvZGVDaGFuZ2Uoc3RkOjpv
cHRpb25hbDxXZWJDbwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgYXV0byBjb3Vwb25D
b2RlVXBkYXRlID0gYWRvcHROUyhbUEFMOjphbGxvY1BLUGF5bWVudFJlcXVlc3RDb3Vwb25Db2Rl
VXBkYXRlSW5zdGFuY2UoKSBpbml0V2l0aEVycm9yczp0b05TRXJyb3JzKFdURk1vdmUodXBkYXRl
LT5lcnJvcnMpKS5nZXQoKSBwYXltZW50U3VtbWFyeUl0ZW1zOldlYkNvcmU6OnBsYXRmb3JtU3Vt
bWFyeUl0ZW1zKFdURk1vdmUodXBkYXRlLT5uZXdUb3RhbCksIFdURk1vdmUodXBkYXRlLT5uZXdM
aW5lSXRlbXMpKSBzaGlwcGluZ01ldGhvZHM6dG9QS1NoaXBwaW5nTWV0aG9kcyhXVEZNb3ZlKHVw
ZGF0ZS0+bmV3U2hpcHBpbmdNZXRob2RzKSkuZ2V0KCldKTsKKyAgICBhdXRvIGNvdXBvbkNvZGVV
cGRhdGUgPSBhZG9wdE5TKFtQQUw6OmFsbG9jUEtQYXltZW50UmVxdWVzdENvdXBvbkNvZGVVcGRh
dGVJbnN0YW5jZSgpIGluaXRXaXRoUGF5bWVudFN1bW1hcnlJdGVtczpXZWJDb3JlOjpwbGF0Zm9y
bVN1bW1hcnlJdGVtcyhXVEZNb3ZlKHVwZGF0ZS0+bmV3VG90YWwpLCBXVEZNb3ZlKHVwZGF0ZS0+
bmV3TGluZUl0ZW1zKSldKTsKKyNpZiBIQVZFKFBBU1NLSVRfREVGQVVMVF9TSElQUElOR19NRVRI
T0QpCisgICAgW2NvdXBvbkNvZGVVcGRhdGUgc2V0QXZhaWxhYmxlU2hpcHBpbmdNZXRob2RzOnRv
UEtTaGlwcGluZ01ldGhvZHMoV1RGTW92ZSh1cGRhdGUtPm5ld1NoaXBwaW5nTWV0aG9kcykpXTsK
KyNlbHNlCisgICAgW2NvdXBvbkNvZGVVcGRhdGUgc2V0U2hpcHBpbmdNZXRob2RzOmNyZWF0ZU5T
QXJyYXkoV1RGTW92ZSh1cGRhdGUtPm5ld1NoaXBwaW5nTWV0aG9kcyksIFtdIChhdXRvJiBtZXRo
b2QpIHsKKyAgICAgICAgcmV0dXJuIHRvUEtTaGlwcGluZ01ldGhvZChtZXRob2QpOworICAgIH0p
LmdldCgpXTsKKyNlbmRpZgogICAgIG1lcmdlKGNvdXBvbkNvZGVVcGRhdGUuZ2V0KCksICp1cGRh
dGUpOwogICAgIFtwbGF0Zm9ybURlbGVnYXRlKCkgY29tcGxldGVDb3Vwb25Db2RlQ2hhbmdlOmNv
dXBvbkNvZGVVcGRhdGUuZ2V0KCldOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0
Zm9ybS9jb2NvYS9XS1BheW1lbnRBdXRob3JpemF0aW9uRGVsZWdhdGUubW0gYi9Tb3VyY2UvV2Vi
S2l0L1BsYXRmb3JtL2NvY29hL1dLUGF5bWVudEF1dGhvcml6YXRpb25EZWxlZ2F0ZS5tbQppbmRl
eCA0YzcxMzA4YWU0ZDY0ZGE2YWU5ZGRlYmQ3MmZjZGExY2M2OGE1MmFiLi5mYzE0Mjg1Y2NlNDM2
MjA2OTNhNGUxZjlmYjQ2MzI1NGRmOTU1YTAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1Bs
YXRmb3JtL2NvY29hL1dLUGF5bWVudEF1dGhvcml6YXRpb25EZWxlZ2F0ZS5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1BsYXRmb3JtL2NvY29hL1dLUGF5bWVudEF1dGhvcml6YXRpb25EZWxlZ2F0ZS5t
bQpAQCAtMzUsNyArMzUsMTEgQEAKIAogQGltcGxlbWVudGF0aW9uIFdLUGF5bWVudEF1dGhvcml6
YXRpb25EZWxlZ2F0ZSB7CiAgICAgUmV0YWluUHRyPE5TQXJyYXk8UEtQYXltZW50U3VtbWFyeUl0
ZW0gKj4+IF9zdW1tYXJ5SXRlbXM7CisjaWYgSEFWRShQQVNTS0lUX0RFRkFVTFRfU0hJUFBJTkdf
TUVUSE9EKQorICAgIFJldGFpblB0cjxQS1NoaXBwaW5nTWV0aG9kcz4gX2F2YWlsYWJsZVNoaXBw
aW5nTWV0aG9kczsKKyNlbHNlCiAgICAgUmV0YWluUHRyPE5TQXJyYXk8UEtTaGlwcGluZ01ldGhv
ZCAqPj4gX3NoaXBwaW5nTWV0aG9kczsKKyNlbmRpZgogICAgIFJldGFpblB0cjxOU0Vycm9yPiBf
c2Vzc2lvbkVycm9yOwogICAgIFdlYktpdDo6RGlkQXV0aG9yaXplUGF5bWVudENvbXBsZXRpb24g
X2RpZEF1dGhvcml6ZVBheW1lbnRDb21wbGV0aW9uOwogICAgIFdlYktpdDo6RGlkUmVxdWVzdE1l
cmNoYW50U2Vzc2lvbkNvbXBsZXRpb24gX2RpZFJlcXVlc3RNZXJjaGFudFNlc3Npb25Db21wbGV0
aW9uOwpAQCAtNDcsMTYgKzUxLDYgQEAgQGltcGxlbWVudGF0aW9uIFdLUGF5bWVudEF1dGhvcml6
YXRpb25EZWxlZ2F0ZSB7CiAjZW5kaWYKIH0KIAotLSAoTlNBcnJheTxQS1BheW1lbnRTdW1tYXJ5
SXRlbSAqPiAqKXN1bW1hcnlJdGVtcwotewotICAgIHJldHVybiBfc3VtbWFyeUl0ZW1zLmdldCgp
OwotfQotCi0tIChOU0FycmF5PFBLU2hpcHBpbmdNZXRob2QgKj4gKilzaGlwcGluZ01ldGhvZHMK
LXsKLSAgICByZXR1cm4gX3NoaXBwaW5nTWV0aG9kcy5nZXQoKTsKLX0KLQogLSAodm9pZCljb21w
bGV0ZU1lcmNoYW50VmFsaWRhdGlvbjooUEtQYXltZW50TWVyY2hhbnRTZXNzaW9uICopc2Vzc2lv
biBlcnJvcjooTlNFcnJvciAqKWVycm9yCiB7CiAgICAgc3RkOjpleGNoYW5nZShfZGlkUmVxdWVz
dE1lcmNoYW50U2Vzc2lvbkNvbXBsZXRpb24sIG5pbCkoc2Vzc2lvbiwgZXJyb3IpOwpAQCAtNjQs
OCArNTgsMjMgQEAgLSAodm9pZCljb21wbGV0ZU1lcmNoYW50VmFsaWRhdGlvbjooUEtQYXltZW50
TWVyY2hhbnRTZXNzaW9uICopc2Vzc2lvbiBlcnJvcjooTlMKIAogLSAodm9pZCljb21wbGV0ZVBh
eW1lbnRNZXRob2RTZWxlY3Rpb246KFBLUGF5bWVudFJlcXVlc3RQYXltZW50TWV0aG9kVXBkYXRl
ICopcGF5bWVudE1ldGhvZFVwZGF0ZQogewotICAgIGF1dG8gdXBkYXRlID0gcGF5bWVudE1ldGhv
ZFVwZGF0ZSA/IHJldGFpblB0cihwYXltZW50TWV0aG9kVXBkYXRlKSA6IGFkb3B0TlMoW1BBTDo6
YWxsb2NQS1BheW1lbnRSZXF1ZXN0UGF5bWVudE1ldGhvZFVwZGF0ZUluc3RhbmNlKCkgaW5pdFdp
dGhQYXltZW50U3VtbWFyeUl0ZW1zOl9zdW1tYXJ5SXRlbXMuZ2V0KCldKTsKLSAgICBfc3VtbWFy
eUl0ZW1zID0gYWRvcHROUyhbW3VwZGF0ZSBwYXltZW50U3VtbWFyeUl0ZW1zXSBjb3B5XSk7Cisg
ICAgUmV0YWluUHRyIHVwZGF0ZSA9IHBheW1lbnRNZXRob2RVcGRhdGU7CisgICAgaWYgKHVwZGF0
ZSkgeworICAgICAgICBfc3VtbWFyeUl0ZW1zID0gYWRvcHROUyhbW3VwZGF0ZSBwYXltZW50U3Vt
bWFyeUl0ZW1zXSBjb3B5XSk7CisjaWYgSEFWRShQQVNTS0lUX0RFRkFVTFRfU0hJUFBJTkdfTUVU
SE9EKQorICAgICAgICBfYXZhaWxhYmxlU2hpcHBpbmdNZXRob2RzID0gYWRvcHROUyhbW3VwZGF0
ZSBhdmFpbGFibGVTaGlwcGluZ01ldGhvZHNdIGNvcHldKTsKKyNlbGlmIEhBVkUoUEFTU0tJVF9V
UERBVEVfU0hJUFBJTkdfTUVUSE9EU19XSEVOX0NIQU5HSU5HX1NVTU1BUllfSVRFTVMpCisgICAg
ICAgIF9zaGlwcGluZ01ldGhvZHMgPSBhZG9wdE5TKFtbdXBkYXRlIHNoaXBwaW5nTWV0aG9kc10g
Y29weV0pOworI2VuZGlmCisgICAgfSBlbHNlIHsKKyAgICAgICAgdXBkYXRlID0gYWRvcHROUyhb
UEFMOjphbGxvY1BLUGF5bWVudFJlcXVlc3RQYXltZW50TWV0aG9kVXBkYXRlSW5zdGFuY2UoKSBp
bml0V2l0aFBheW1lbnRTdW1tYXJ5SXRlbXM6X3N1bW1hcnlJdGVtcy5nZXQoKV0pOworI2lmIEhB
VkUoUEFTU0tJVF9ERUZBVUxUX1NISVBQSU5HX01FVEhPRCkKKyAgICAgICAgW3VwZGF0ZSBzZXRB
dmFpbGFibGVTaGlwcGluZ01ldGhvZHM6X2F2YWlsYWJsZVNoaXBwaW5nTWV0aG9kcy5nZXQoKV07
CisjZWxpZiBIQVZFKFBBU1NLSVRfVVBEQVRFX1NISVBQSU5HX01FVEhPRFNfV0hFTl9DSEFOR0lO
R19TVU1NQVJZX0lURU1TKQorICAgICAgICBbdXBkYXRlIHNldFNoaXBwaW5nTWV0aG9kczpfc2hp
cHBpbmdNZXRob2RzLmdldCgpXTsKKyNlbmRpZgorICAgIH0KKwogICAgIHN0ZDo6ZXhjaGFuZ2Uo
X2RpZFNlbGVjdFBheW1lbnRNZXRob2RDb21wbGV0aW9uLCBuaWwpKHVwZGF0ZS5nZXQoKSk7CiB9
CiAKQEAgLTc2LDE2ICs4NSw0NSBAQCAtICh2b2lkKWNvbXBsZXRlUGF5bWVudFNlc3Npb246KFBL
UGF5bWVudEF1dGhvcml6YXRpb25TdGF0dXMpc3RhdHVzIGVycm9yczooTlNBcgogfQogLSAodm9p
ZCljb21wbGV0ZVNoaXBwaW5nQ29udGFjdFNlbGVjdGlvbjooUEtQYXltZW50UmVxdWVzdFNoaXBw
aW5nQ29udGFjdFVwZGF0ZSAqKXNoaXBwaW5nQ29udGFjdFVwZGF0ZQogewotICAgIGF1dG8gdXBk
YXRlID0gc2hpcHBpbmdDb250YWN0VXBkYXRlID8gcmV0YWluUHRyKHNoaXBwaW5nQ29udGFjdFVw
ZGF0ZSkgOiBhZG9wdE5TKFtQQUw6OmFsbG9jUEtQYXltZW50UmVxdWVzdFNoaXBwaW5nQ29udGFj
dFVwZGF0ZUluc3RhbmNlKCkgaW5pdFdpdGhFcnJvcnM6QFtdIHBheW1lbnRTdW1tYXJ5SXRlbXM6
X3N1bW1hcnlJdGVtcy5nZXQoKSBzaGlwcGluZ01ldGhvZHM6X3NoaXBwaW5nTWV0aG9kcy5nZXQo
KV0pOwotICAgIF9zdW1tYXJ5SXRlbXMgPSBhZG9wdE5TKFtbdXBkYXRlIHBheW1lbnRTdW1tYXJ5
SXRlbXNdIGNvcHldKTsKLSAgICBfc2hpcHBpbmdNZXRob2RzID0gYWRvcHROUyhbW3VwZGF0ZSBz
aGlwcGluZ01ldGhvZHNdIGNvcHldKTsKKyAgICBSZXRhaW5QdHIgdXBkYXRlID0gc2hpcHBpbmdD
b250YWN0VXBkYXRlOworICAgIGlmICh1cGRhdGUpIHsKKyAgICAgICAgX3N1bW1hcnlJdGVtcyA9
IGFkb3B0TlMoW1t1cGRhdGUgcGF5bWVudFN1bW1hcnlJdGVtc10gY29weV0pOworI2lmIEhBVkUo
UEFTU0tJVF9ERUZBVUxUX1NISVBQSU5HX01FVEhPRCkKKyAgICAgICAgX2F2YWlsYWJsZVNoaXBw
aW5nTWV0aG9kcyA9IGFkb3B0TlMoW1t1cGRhdGUgYXZhaWxhYmxlU2hpcHBpbmdNZXRob2RzXSBj
b3B5XSk7CisjZWxzZQorICAgICAgICBfc2hpcHBpbmdNZXRob2RzID0gYWRvcHROUyhbW3VwZGF0
ZSBzaGlwcGluZ01ldGhvZHNdIGNvcHldKTsKKyNlbmRpZgorICAgIH0gZWxzZSB7CisgICAgICAg
IHVwZGF0ZSA9IGFkb3B0TlMoW1BBTDo6YWxsb2NQS1BheW1lbnRSZXF1ZXN0U2hpcHBpbmdDb250
YWN0VXBkYXRlSW5zdGFuY2UoKSBpbml0V2l0aFBheW1lbnRTdW1tYXJ5SXRlbXM6X3N1bW1hcnlJ
dGVtcy5nZXQoKV0pOworI2lmIEhBVkUoUEFTU0tJVF9ERUZBVUxUX1NISVBQSU5HX01FVEhPRCkK
KyAgICAgICAgW3VwZGF0ZSBzZXRBdmFpbGFibGVTaGlwcGluZ01ldGhvZHM6X2F2YWlsYWJsZVNo
aXBwaW5nTWV0aG9kcy5nZXQoKV07CisjZWxzZQorICAgICAgICBbdXBkYXRlIHNldFNoaXBwaW5n
TWV0aG9kczpfc2hpcHBpbmdNZXRob2RzLmdldCgpXTsKKyNlbmRpZgorICAgIH0KKwogICAgIHN0
ZDo6ZXhjaGFuZ2UoX2RpZFNlbGVjdFNoaXBwaW5nQ29udGFjdENvbXBsZXRpb24sIG5pbCkodXBk
YXRlLmdldCgpKTsKIH0KIAogLSAodm9pZCljb21wbGV0ZVNoaXBwaW5nTWV0aG9kU2VsZWN0aW9u
OihQS1BheW1lbnRSZXF1ZXN0U2hpcHBpbmdNZXRob2RVcGRhdGUgKilzaGlwcGluZ01ldGhvZFVw
ZGF0ZQogewotICAgIGF1dG8gdXBkYXRlID0gc2hpcHBpbmdNZXRob2RVcGRhdGUgPyByZXRhaW5Q
dHIoc2hpcHBpbmdNZXRob2RVcGRhdGUpIDogYWRvcHROUyhbUEFMOjphbGxvY1BLUGF5bWVudFJl
cXVlc3RTaGlwcGluZ01ldGhvZFVwZGF0ZUluc3RhbmNlKCkgaW5pdFdpdGhQYXltZW50U3VtbWFy
eUl0ZW1zOl9zdW1tYXJ5SXRlbXMuZ2V0KCldKTsKLSAgICBfc3VtbWFyeUl0ZW1zID0gYWRvcHRO
UyhbW3VwZGF0ZSBwYXltZW50U3VtbWFyeUl0ZW1zXSBjb3B5XSk7CisgICAgUmV0YWluUHRyIHVw
ZGF0ZSA9IHNoaXBwaW5nTWV0aG9kVXBkYXRlOworICAgIGlmICh1cGRhdGUpIHsKKyAgICAgICAg
X3N1bW1hcnlJdGVtcyA9IGFkb3B0TlMoW1t1cGRhdGUgcGF5bWVudFN1bW1hcnlJdGVtc10gY29w
eV0pOworI2lmIEhBVkUoUEFTU0tJVF9ERUZBVUxUX1NISVBQSU5HX01FVEhPRCkKKyAgICAgICAg
X2F2YWlsYWJsZVNoaXBwaW5nTWV0aG9kcyA9IGFkb3B0TlMoW1t1cGRhdGUgYXZhaWxhYmxlU2hp
cHBpbmdNZXRob2RzXSBjb3B5XSk7CisjZWxpZiBIQVZFKFBBU1NLSVRfVVBEQVRFX1NISVBQSU5H
X01FVEhPRFNfV0hFTl9DSEFOR0lOR19TVU1NQVJZX0lURU1TKQorICAgICAgICBfc2hpcHBpbmdN
ZXRob2RzID0gYWRvcHROUyhbW3VwZGF0ZSBzaGlwcGluZ01ldGhvZHNdIGNvcHldKTsKKyNlbmRp
ZgorICAgIH0gZWxzZSB7CisgICAgICAgIHVwZGF0ZSA9IGFkb3B0TlMoW1BBTDo6YWxsb2NQS1Bh
eW1lbnRSZXF1ZXN0U2hpcHBpbmdNZXRob2RVcGRhdGVJbnN0YW5jZSgpIGluaXRXaXRoUGF5bWVu
dFN1bW1hcnlJdGVtczpfc3VtbWFyeUl0ZW1zLmdldCgpXSk7CisjaWYgSEFWRShQQVNTS0lUX0RF
RkFVTFRfU0hJUFBJTkdfTUVUSE9EKQorICAgICAgICBbdXBkYXRlIHNldEF2YWlsYWJsZVNoaXBw
aW5nTWV0aG9kczpfYXZhaWxhYmxlU2hpcHBpbmdNZXRob2RzLmdldCgpXTsKKyNlbGlmIEhBVkUo
UEFTU0tJVF9VUERBVEVfU0hJUFBJTkdfTUVUSE9EU19XSEVOX0NIQU5HSU5HX1NVTU1BUllfSVRF
TVMpCisgICAgICAgIFt1cGRhdGUgc2V0U2hpcHBpbmdNZXRob2RzOl9zaGlwcGluZ01ldGhvZHMu
Z2V0KCldOworI2VuZGlmCisgICAgfQorCiAgICAgc3RkOjpleGNoYW5nZShfZGlkU2VsZWN0U2hp
cHBpbmdNZXRob2RDb21wbGV0aW9uLCBuaWwpKHVwZGF0ZS5nZXQoKSk7CiB9CiAKQEAgLTkzLDEw
ICsxMzEsMjQgQEAgLSAodm9pZCljb21wbGV0ZVNoaXBwaW5nTWV0aG9kU2VsZWN0aW9uOihQS1Bh
eW1lbnRSZXF1ZXN0U2hpcHBpbmdNZXRob2RVcGRhdGUgKikKIAogLSAodm9pZCljb21wbGV0ZUNv
dXBvbkNvZGVDaGFuZ2U6KFBLUGF5bWVudFJlcXVlc3RDb3Vwb25Db2RlVXBkYXRlICopY291cG9u
Q29kZVVwZGF0ZQogewotICAgIFBLUGF5bWVudFJlcXVlc3RDb3Vwb25Db2RlVXBkYXRlICp1cGRh
dGUgPSBjb3Vwb25Db2RlVXBkYXRlID86IGFkb3B0TlMoW1BBTDo6YWxsb2NQS1BheW1lbnRSZXF1
ZXN0Q291cG9uQ29kZVVwZGF0ZUluc3RhbmNlKCkgaW5pdFdpdGhFcnJvcnM6QFtdIHBheW1lbnRT
dW1tYXJ5SXRlbXM6X3N1bW1hcnlJdGVtcy5nZXQoKSBzaGlwcGluZ01ldGhvZHM6X3NoaXBwaW5n
TWV0aG9kcy5nZXQoKV0pLmF1dG9yZWxlYXNlKCk7Ci0gICAgX3N1bW1hcnlJdGVtcyA9IGFkb3B0
TlMoW3VwZGF0ZS5wYXltZW50U3VtbWFyeUl0ZW1zIGNvcHldKTsKLSAgICBfc2hpcHBpbmdNZXRo
b2RzID0gYWRvcHROUyhbdXBkYXRlLnNoaXBwaW5nTWV0aG9kcyBjb3B5XSk7Ci0gICAgc3RkOjpl
eGNoYW5nZShfZGlkQ2hhbmdlQ291cG9uQ29kZUNvbXBsZXRpb24sIG5pbCkodXBkYXRlKTsKKyAg
ICBSZXRhaW5QdHIgdXBkYXRlID0gY291cG9uQ29kZVVwZGF0ZTsKKyAgICBpZiAodXBkYXRlKSB7
CisgICAgICAgIF9zdW1tYXJ5SXRlbXMgPSBhZG9wdE5TKFtbdXBkYXRlIHBheW1lbnRTdW1tYXJ5
SXRlbXNdIGNvcHldKTsKKyNpZiBIQVZFKFBBU1NLSVRfREVGQVVMVF9TSElQUElOR19NRVRIT0Qp
CisgICAgICAgIF9hdmFpbGFibGVTaGlwcGluZ01ldGhvZHMgPSBhZG9wdE5TKFtbdXBkYXRlIGF2
YWlsYWJsZVNoaXBwaW5nTWV0aG9kc10gY29weV0pOworI2Vsc2UKKyAgICAgICAgX3NoaXBwaW5n
TWV0aG9kcyA9IGFkb3B0TlMoW1t1cGRhdGUgc2hpcHBpbmdNZXRob2RzXSBjb3B5XSk7CisjZW5k
aWYKKyAgICB9IGVsc2UgeworICAgICAgICB1cGRhdGUgPSBhZG9wdE5TKFtQQUw6OmFsbG9jUEtQ
YXltZW50UmVxdWVzdENvdXBvbkNvZGVVcGRhdGVJbnN0YW5jZSgpIGluaXRXaXRoUGF5bWVudFN1
bW1hcnlJdGVtczpfc3VtbWFyeUl0ZW1zLmdldCgpXSk7CisjaWYgSEFWRShQQVNTS0lUX0RFRkFV
TFRfU0hJUFBJTkdfTUVUSE9EKQorICAgICAgICBbdXBkYXRlIHNldEF2YWlsYWJsZVNoaXBwaW5n
TWV0aG9kczpfYXZhaWxhYmxlU2hpcHBpbmdNZXRob2RzLmdldCgpXTsKKyNlbHNlCisgICAgICAg
IFt1cGRhdGUgc2V0U2hpcHBpbmdNZXRob2RzOl9zaGlwcGluZ01ldGhvZHMuZ2V0KCldOworI2Vu
ZGlmCisgICAgfQorCisgICAgc3RkOjpleGNoYW5nZShfZGlkQ2hhbmdlQ291cG9uQ29kZUNvbXBs
ZXRpb24sIG5pbCkodXBkYXRlLmdldCgpKTsKIH0KIAogI2VuZGlmIC8vIEhBVkUoUEFTU0tJVF9D
T1VQT05fQ09ERSkKQEAgLTExOCw3ICsxNzAsMTEgQEAgLSAoaW5zdGFuY2V0eXBlKV9pbml0V2l0
aFJlcXVlc3Q6KFBLUGF5bWVudFJlcXVlc3QgKilyZXF1ZXN0IHByZXNlbnRlcjooV2ViS2l0OjoK
IAogICAgIF9wcmVzZW50ZXIgPSBwcmVzZW50ZXI7CiAgICAgX3JlcXVlc3QgPSByZXF1ZXN0Owor
I2lmIEhBVkUoUEFTU0tJVF9ERUZBVUxUX1NISVBQSU5HX01FVEhPRCkKKyAgICBfYXZhaWxhYmxl
U2hpcHBpbmdNZXRob2RzID0gcmVxdWVzdC5hdmFpbGFibGVTaGlwcGluZ01ldGhvZHM7CisjZWxz
ZQogICAgIF9zaGlwcGluZ01ldGhvZHMgPSByZXF1ZXN0LnNoaXBwaW5nTWV0aG9kczsKKyNlbmRp
ZgogICAgIF9zdW1tYXJ5SXRlbXMgPSByZXF1ZXN0LnBheW1lbnRTdW1tYXJ5SXRlbXM7CiAgICAg
cmV0dXJuIHNlbGY7CiB9CkBAIC0yMTQsNyArMjcwLDcgQEAgc3RhdGljIFdlYkNvcmU6OkFwcGxl
UGF5RGF0ZUNvbXBvbmVudHNSYW5nZSB0b0RhdGVDb21wb25lbnRzUmFuZ2UoUEtEYXRlQ29tcG9u
ZW4KIAogI2VuZGlmIC8vIEhBVkUoUEFTU0tJVF9TSElQUElOR19NRVRIT0RfREFURV9DT01QT05F
TlRTX1JBTkdFKQogCi1zdGF0aWMgV2ViQ29yZTo6QXBwbGVQYXlTaGlwcGluZ01ldGhvZCB0b1No
aXBwaW5nTWV0aG9kKFBLU2hpcHBpbmdNZXRob2QgKnNoaXBwaW5nTWV0aG9kKQorc3RhdGljIFdl
YkNvcmU6OkFwcGxlUGF5U2hpcHBpbmdNZXRob2QgdG9TaGlwcGluZ01ldGhvZChQS1NoaXBwaW5n
TWV0aG9kICpzaGlwcGluZ01ldGhvZCwgYm9vbCBzZWxlY3RlZCkKIHsKICAgICBBU1NFUlQoc2hp
cHBpbmdNZXRob2QpOwogCkBAIC0yMjYsNiArMjgyLDExIEBAIHN0YXRpYyBXZWJDb3JlOjpBcHBs
ZVBheVNoaXBwaW5nTWV0aG9kIHRvU2hpcHBpbmdNZXRob2QoUEtTaGlwcGluZ01ldGhvZCAqc2hp
cHBpCiAjaWYgSEFWRShQQVNTS0lUX1NISVBQSU5HX01FVEhPRF9EQVRFX0NPTVBPTkVOVFNfUkFO
R0UpCiAgICAgaWYgKHNoaXBwaW5nTWV0aG9kLmRhdGVDb21wb25lbnRzUmFuZ2UpCiAgICAgICAg
IHJlc3VsdC5kYXRlQ29tcG9uZW50c1JhbmdlID0gdG9EYXRlQ29tcG9uZW50c1JhbmdlKHNoaXBw
aW5nTWV0aG9kLmRhdGVDb21wb25lbnRzUmFuZ2UpOworI2VuZGlmCisjaWYgRU5BQkxFKEFQUExF
X1BBWV9TRUxFQ1RFRF9TSElQUElOR19NRVRIT0QpCisgICAgcmVzdWx0LnNlbGVjdGVkID0gc2Vs
ZWN0ZWQ7CisjZWxzZQorICAgIFVOVVNFRF9QQVJBTShzZWxlY3RlZCk7CiAjZW5kaWYKICAgICBy
ZXR1cm4gcmVzdWx0OwogfQpAQCAtMjM5LDcgKzMwMCw3IEBAIC0gKHZvaWQpX2RpZFNlbGVjdFNo
aXBwaW5nTWV0aG9kOihQS1NoaXBwaW5nTWV0aG9kICopc2hpcHBpbmdNZXRob2QgY29tcGxldGlv
bjooCiAgICAgaWYgKCFwcmVzZW50ZXIpCiAgICAgICAgIHJldHVybiBbc2VsZiBjb21wbGV0ZVNo
aXBwaW5nTWV0aG9kU2VsZWN0aW9uOm5pbF07CiAKLSAgICBwcmVzZW50ZXItPmNsaWVudCgpLnBy
ZXNlbnRlckRpZFNlbGVjdFNoaXBwaW5nTWV0aG9kKCpwcmVzZW50ZXIsIHRvU2hpcHBpbmdNZXRo
b2Qoc2hpcHBpbmdNZXRob2QpKTsKKyAgICBwcmVzZW50ZXItPmNsaWVudCgpLnByZXNlbnRlckRp
ZFNlbGVjdFNoaXBwaW5nTWV0aG9kKCpwcmVzZW50ZXIsIHRvU2hpcHBpbmdNZXRob2Qoc2hpcHBp
bmdNZXRob2QsIHRydWUpKTsKIH0KIAogI2lmIEhBVkUoUEFTU0tJVF9DT1VQT05fQ09ERSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRD
b29yZGluYXRvclByb3h5Q29jb2EuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FwcGxlUGF5L2Nv
Y29hL1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5Q29jb2EuaAppbmRleCAyMzY2NmI3MzY0MzQy
ZTI2YTI1MzhiNGQyYTFhMzk0M2ZmNGM1YTdkLi40NjY1MDY5MGE0NWVjYzU0N2ZjNTRiNGU0OTEx
ODU0NjgzYjViNTViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBheS9j
b2NvYS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUNvY29hLmgKKysrIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvQXBwbGVQYXkvY29jb2EvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYS5o
CkBAIC0yOCw2ICsyOCw3IEBACiAjaWYgRU5BQkxFKEFQUExFX1BBWSkKIAogT0JKQ19DTEFTUyBQ
S1NoaXBwaW5nTWV0aG9kOworT0JKQ19DTEFTUyBQS1NoaXBwaW5nTWV0aG9kczsKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogc3RydWN0IEFwcGxlUGF5U2hpcHBpbmdNZXRob2Q7CkBAIC0zOSw2ICs0
MCw5IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogLy8gaG93IHRvIGNvbnZlcnQgdGhlbXNlbHZlcyB0
byBhbmQgZnJvbSB0aGVpciBwbGF0Zm9ybSByZXByZXNlbnRhdGlvbnMuCiBOU0RlY2ltYWxOdW1i
ZXIgKnRvRGVjaW1hbE51bWJlcihjb25zdCBTdHJpbmcmIGFtb3VudCk7CiBQS1NoaXBwaW5nTWV0
aG9kICp0b1BLU2hpcHBpbmdNZXRob2QoY29uc3QgV2ViQ29yZTo6QXBwbGVQYXlTaGlwcGluZ01l
dGhvZCYpOworI2lmIEhBVkUoUEFTU0tJVF9ERUZBVUxUX1NISVBQSU5HX01FVEhPRCkKK1BLU2hp
cHBpbmdNZXRob2RzICp0b1BLU2hpcHBpbmdNZXRob2RzKGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpB
cHBsZVBheVNoaXBwaW5nTWV0aG9kPiYpOworI2VuZGlmCiAKIH0gLy8gbmFtZXNwYWNlIFdlYktp
dAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBheS9jb2NvYS9XZWJQ
YXltZW50Q29vcmRpbmF0b3JQcm94eUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQXBw
bGVQYXkvY29jb2EvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYS5tbQppbmRleCBlNWEw
MWQ5MTllNzFjNWE5NmQ5MDIwNzUyOTAyYWNiYWZkOGM2YTZkLi5jYTFmMjM3Yzg5YThhYzcwYzIw
ODljOGNkNjZkOTQxZWQ5NmI4YWUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9B
cHBsZVBheS9jb2NvYS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUNvY29hLm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRDb29yZGluYXRvclBy
b3h5Q29jb2EubW0KQEAgLTIwMSw2ICsyMDEsMjIgQEAgUEtTaGlwcGluZ01ldGhvZCAqdG9QS1No
aXBwaW5nTWV0aG9kKGNvbnN0IFdlYkNvcmU6OkFwcGxlUGF5U2hpcHBpbmdNZXRob2QmIHNoaXAK
ICAgICByZXR1cm4gcmVzdWx0OwogfQogCisjaWYgSEFWRShQQVNTS0lUX0RFRkFVTFRfU0hJUFBJ
TkdfTUVUSE9EKQorCitQS1NoaXBwaW5nTWV0aG9kcyAqdG9QS1NoaXBwaW5nTWV0aG9kcyhjb25z
dCBWZWN0b3I8V2ViQ29yZTo6QXBwbGVQYXlTaGlwcGluZ01ldGhvZD4mIHdlYlNoaXBwaW5nTWV0
aG9kcykKK3sKKyAgICBSZXRhaW5QdHI8UEtTaGlwcGluZ01ldGhvZD4gZGVmYXVsdE1ldGhvZDsK
KyAgICBhdXRvIG1ldGhvZHMgPSBjcmVhdGVOU0FycmF5KHdlYlNoaXBwaW5nTWV0aG9kcywgWyZk
ZWZhdWx0TWV0aG9kXSAoY29uc3QgYXV0byYgd2ViU2hpcHBpbmdNZXRob2QpIHsKKyAgICAgICAg
YXV0byBwa1NoaXBwaW5nTWV0aG9kID0gdG9QS1NoaXBwaW5nTWV0aG9kKHdlYlNoaXBwaW5nTWV0
aG9kKTsKKyAgICAgICAgaWYgKHdlYlNoaXBwaW5nTWV0aG9kLnNlbGVjdGVkKQorICAgICAgICAg
ICAgZGVmYXVsdE1ldGhvZCA9IHBrU2hpcHBpbmdNZXRob2Q7CisgICAgICAgIHJldHVybiBwa1No
aXBwaW5nTWV0aG9kOworICAgIH0pOworICAgIHJldHVybiBbUEFMOjphbGxvY1BLU2hpcHBpbmdN
ZXRob2RzSW5zdGFuY2UoKSBpbml0V2l0aE1ldGhvZHM6bWV0aG9kcy5nZXQoKSBkZWZhdWx0TWV0
aG9kOmRlZmF1bHRNZXRob2QuZ2V0KCldOworfQorCisjZW5kaWYgLy8gSEFWRShQQVNTS0lUX0RF
RkFVTFRfU0hJUFBJTkdfTUVUSE9EKQorCiAjaWYgSEFWRShQQVNTS0lUX1NISVBQSU5HX0NPTlRB
Q1RfRURJVElOR19NT0RFKQogCiBzdGF0aWMgUEtTaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZSB0
b1BLU2hpcHBpbmdDb250YWN0RWRpdGluZ01vZGUoV2ViQ29yZTo6QXBwbGVQYXlTaGlwcGluZ0Nv
bnRhY3RFZGl0aW5nTW9kZSBzaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZSkKQEAgLTI2Nyw5ICsy
ODMsMTMgQEAgUmV0YWluUHRyPFBLUGF5bWVudFJlcXVlc3Q+IFdlYlBheW1lbnRDb29yZGluYXRv
clByb3h5OjpwbGF0Zm9ybVBheW1lbnRSZXF1ZXN0KGMKIAogICAgIFtyZXN1bHQgc2V0U2hpcHBp
bmdUeXBlOnRvUEtTaGlwcGluZ1R5cGUocGF5bWVudFJlcXVlc3Quc2hpcHBpbmdUeXBlKCkpXTsK
IAorI2lmIEhBVkUoUEFTU0tJVF9ERUZBVUxUX1NISVBQSU5HX01FVEhPRCkKKyAgICBbcmVzdWx0
IHNldEF2YWlsYWJsZVNoaXBwaW5nTWV0aG9kczp0b1BLU2hpcHBpbmdNZXRob2RzKHBheW1lbnRS
ZXF1ZXN0LnNoaXBwaW5nTWV0aG9kcygpKV07CisjZWxzZQogICAgIFtyZXN1bHQgc2V0U2hpcHBp
bmdNZXRob2RzOmNyZWF0ZU5TQXJyYXkocGF5bWVudFJlcXVlc3Quc2hpcHBpbmdNZXRob2RzKCks
IFtdIChhdXRvJiBtZXRob2QpIHsKICAgICAgICAgcmV0dXJuIHRvUEtTaGlwcGluZ01ldGhvZCht
ZXRob2QpOwogICAgIH0pLmdldCgpXTsKKyNlbmRpZgogCiAgICAgW3Jlc3VsdCBzZXRQYXltZW50
U3VtbWFyeUl0ZW1zOldlYkNvcmU6OnBsYXRmb3JtU3VtbWFyeUl0ZW1zKHBheW1lbnRSZXF1ZXN0
LnRvdGFsKCksIHBheW1lbnRSZXF1ZXN0LmxpbmVJdGVtcygpKV07CiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA4OWE1YzIx
MTI3MmRlNTI1NzMxMGM0MGJlZmM1NDUwNDU5MDdmZGNiLi43YjE0ZWU5ZWFkMzQ3NTQyNTdmYmY1
ZTU2YzEwNjA0NmJhNmI0YjM3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMjEtMTEtMDggIERl
dmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04ocjI3
MTczNSk6IFBheW1lbnRTaGlwcGluZ09wdGlvbi5zZWxlY3RlZCBpZ25vcmVkCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjE5NjAKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzczNDY0NDA0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvcGF5bWVudHJlcXVlc3QvcGF5
bWVudC1yZXF1ZXN0LWludGVybmFsLXByb3BlcnRpZXMuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIGh0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvcGF5bWVudC1hZGRyZXNzLWF0dHJpYnV0
ZXMtYW5kLXRvSlNPTi1tZXRob2QuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAv
dGVzdHMvcGF5bWVudHJlcXVlc3QvcGF5bWVudC1yZXF1ZXN0LWNoYW5nZS1zaGlwcGluZy1vcHRp
b24uaHR0cHMuaHRtbDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3BheW1l
bnQtcmVxdWVzdC1jaGFuZ2Utc2hpcHBpbmctb3B0aW9uLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBodHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3BheW1lbnQtcmVzcG9uc2UtcmV0cnkt
bWV0aG9kLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL3BheW1lbnRy
ZXF1ZXN0L3VwZGF0ZVdpdGgtc2hpcHBpbmdPcHRpb25zLmh0dHBzLmh0bWw6CisgICAgICAgICog
aHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC91cGRhdGVXaXRoLXNoaXBwaW5nT3B0aW9ucy5odHRw
cy1leHBlY3RlZC50eHQ6CisKIDIwMjEtMTEtMDUgIExhdXJvIE1vdXJhICA8bG1vdXJhQGlnYWxp
YS5jb20+CiAKICAgICAgICAgW0dMSUJdIEdhcmRlbmluZyBtb3JlIHRpbWVvdXRzCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCA2ZTU5OGJkODkwMzNkZTJmZWY0ZTEwYWNjNTU5Y2Rj
Y2Q1Yjk1ZDE5Li43Y2RlZGFlNzE3NjM1YjJmMTI5ZjNjY2M0MmE0YzkzNGVhZjU3ODFhIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMS0xMS0wOCAg
RGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTihy
MjcxNzM1KTogUGF5bWVudFNoaXBwaW5nT3B0aW9uLnNlbGVjdGVkIGlnbm9yZWQKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMTk2MAorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vNzM0NjQ0MDQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3Bh
eW1lbnQtcmVxdWVzdC1jb25zdHJ1Y3Rvci5odHRwcy5zdWItZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QvcGF5bWVudC1yZXF1ZXN0LXNo
aXBwaW5nT3B0aW9uLWF0dHJpYnV0ZS5odHRwcy1leHBlY3RlZC50eHQ6CisKIDIwMjEtMTEtMDUg
IENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBSZXN5bmMgd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwgZnJvbSB1cHN0cmVhbQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9pbnNwZWN0b3IvcGF5bWVudHJlcXVlc3QvcGF5bWVudC1yZXF1ZXN0LWludGVy
bmFsLXByb3BlcnRpZXMuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9pbnNwZWN0b3IvcGF5bWVudHJlcXVlc3QvcGF5bWVudC1yZXF1ZXN0LWludGVybmFsLXByb3Bl
cnRpZXMuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDE2NGI5MGNmNTg3MTllOTA4NzA0NzI2Nzdm
MmY5ZjlkZTdlZTM5NDguLmFjMzcyNmFmMWQ3YTM4OTk5ZmY1NzYwZGJlNzFkMGNiMzNlYTM0Mzkg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3BheW1lbnRyZXF1
ZXN0L3BheW1lbnQtcmVxdWVzdC1pbnRlcm5hbC1wcm9wZXJ0aWVzLmh0dHBzLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9wYXltZW50cmVxdWVzdC9w
YXltZW50LXJlcXVlc3QtaW50ZXJuYWwtcHJvcGVydGllcy5odHRwcy1leHBlY3RlZC50eHQKQEAg
LTEsNCArMSwzIEBACi1DT05TT0xFIE1FU1NBR0U6IFdlYktpdCBjdXJyZW50bHkgdXNlcyB0aGUg
Zmlyc3Qgc2hpcHBpbmcgb3B0aW9uIGV2ZW4gaWYgb3RoZXIgc2hpcHBpbmcgb3B0aW9ucyBhcmUg
bWFya2VkIGFzIHNlbGVjdGVkLgogSW50ZXJuYWwgcHJvcGVydGllcyBvZiBhIFBheW1lbnRSZXF1
ZXN0LgogCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5bWVudHJlcXVl
c3QvcGF5bWVudC1hZGRyZXNzLWF0dHJpYnV0ZXMtYW5kLXRvSlNPTi1tZXRob2QuaHR0cHMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9wYXltZW50
LWFkZHJlc3MtYXR0cmlidXRlcy1hbmQtdG9KU09OLW1ldGhvZC5odHRwcy1leHBlY3RlZC50eHQK
aW5kZXggZWFmMzkyMGVkMzkyZWRhZWU0ZTk4MmE0OTFmMGQ4NzZjZWI3YjQ4My4uZTBkMzhiNzE2
MGQwYjBmOWNhYTQxZThlMzViOTIzMzI1Y2JlZmZiMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9wYXltZW50LWFkZHJlc3MtYXR0cmlidXRlcy1hbmQt
dG9KU09OLW1ldGhvZC5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9wYXltZW50cmVxdWVzdC9wYXltZW50LWFkZHJlc3MtYXR0cmlidXRlcy1hbmQtdG9KU09O
LW1ldGhvZC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsNSArMSwzIEBACi1DT05TT0xFIE1FU1NB
R0U6IFdlYktpdCBjdXJyZW50bHkgdXNlcyB0aGUgZmlyc3Qgc2hpcHBpbmcgb3B0aW9uIGV2ZW4g
aWYgb3RoZXIgc2hpcHBpbmcgb3B0aW9ucyBhcmUgbWFya2VkIGFzIHNlbGVjdGVkLgotQ09OU09M
RSBNRVNTQUdFOiBXZWJLaXQgY3VycmVudGx5IHVzZXMgdGhlIGZpcnN0IHNoaXBwaW5nIG9wdGlv
biBldmVuIGlmIG90aGVyIHNoaXBwaW5nIG9wdGlvbnMgYXJlIG1hcmtlZCBhcyBzZWxlY3RlZC4K
IElmIHRoZSByZXF1ZXN0U2hpcHBpbmcgbWVtYmVyIGlzIHRydWUsIHRoZW4gc2hpcHBpbmdBZGRy
ZXNzJ3MgUGF5bWVudEFkZHJlc3MgbXVzdCBtYXRjaCB0aGUgZXhwZWN0ZWQgdmFsdWVzLgogCiBQ
QVNTIENhbiBjb25zdHJ1Y3QgYSBwYXltZW50IHJlcXVlc3QgKHNtb2tlIHRlc3QpLgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9wYXltZW50LXJlcXVl
c3QtY2hhbmdlLXNoaXBwaW5nLW9wdGlvbi5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1jaGFuZ2Utc2hpcHBp
bmctb3B0aW9uLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCA2NDg3YzQwZjdlYjA1MjBmNDkwNzVj
MTg3MjViYzgxNjdiN2IyZDY3Li4zNjVhY2Y3NDVjYjNiMGFjYTJiZWZiZWVkMmZiNjRlZWY3YjU4
ZWNhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3Bh
eW1lbnQtcmVxdWVzdC1jaGFuZ2Utc2hpcHBpbmctb3B0aW9uLmh0dHBzLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3BheW1lbnQtcmVxdWVz
dC1jaGFuZ2Utc2hpcHBpbmctb3B0aW9uLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDMg
QEAKLUNPTlNPTEUgTUVTU0FHRTogV2ViS2l0IGN1cnJlbnRseSB1c2VzIHRoZSBmaXJzdCBzaGlw
cGluZyBvcHRpb24gZXZlbiBpZiBvdGhlciBzaGlwcGluZyBvcHRpb25zIGFyZSBtYXJrZWQgYXMg
c2VsZWN0ZWQuCiAKIFBBU1MgVGVzdCBmb3IgUGF5bWVudFJlcXVlc3Qgc2hpcHBpbmdPcHRpb24g
YXR0cmlidXRlCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5bWVudHJl
cXVlc3QvcGF5bWVudC1yZXF1ZXN0LWNoYW5nZS1zaGlwcGluZy1vcHRpb24uaHR0cHMuaHRtbCBi
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvcGF5bWVudC1yZXF1ZXN0LWNo
YW5nZS1zaGlwcGluZy1vcHRpb24uaHR0cHMuaHRtbAppbmRleCA4NDg3ZjFkOWQ3MDM3YjFkOWQw
ODJjZmI3OTI3YTRiYTU2OTBiMWJmLi44ODhkNWNkYjdhMmZmMzI2ZDE2YmU3N2QzN2M1MTg2NDBj
MmJhMWRlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0
L3BheW1lbnQtcmVxdWVzdC1jaGFuZ2Utc2hpcHBpbmctb3B0aW9uLmh0dHBzLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9wYXltZW50LXJlcXVlc3QtY2hh
bmdlLXNoaXBwaW5nLW9wdGlvbi5odHRwcy5odG1sCkBAIC02Myw5ICs2MywxMSBAQCBmdW5jdGlv
biB0ZXN0U2hpcHBpbmdPcHRpb25DaGFuZ2VkKCkgewogICAgICAgICBldmVudC5jb21wbGV0ZSh7
IH0pOwogICAgICAgICBpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5jaGFuZ2VTaGlw
cGluZ09wdGlvbigidmFsaWQtMSIpOwogICAgIH07Ci0gICAgLy8gRklYTUU6IDxyZGFyOi8vcHJv
YmxlbS83MzQ2NDQwND4KLSAgICAvLyBhc3NlcnRfZXF1YWxzKHJlcXVlc3Quc2hpcHBpbmdPcHRp
b24sICJpbml0aWFsbHktc2VsZWN0ZWQiLCAiTXVzdCBiZSAnaW5pdGlhbGx5LXNlbGVjdGVkJywg
YXMgdGhlIHNlbGVjdGVkIG1lbWJlciBpcyB0cnVlIik7Ci0gICAgYXNzZXJ0X2VxdWFscyhyZXF1
ZXN0LnNoaXBwaW5nT3B0aW9uLCAidmFsaWQtMSIsICJNdXN0IGJlIHRoZSBmaXJzdCBzaGlwcGlu
ZyBvcHRpb24gcmVnYXJkbGVzcyBvZiB0aGUgc2VsZWN0ZWQgcHJvcGVydHkuIik7CisgICAgYXNz
ZXJ0X2VxdWFscygKKyAgICAgIHJlcXVlc3Quc2hpcHBpbmdPcHRpb24sCisgICAgICAiaW5pdGlh
bGx5LXNlbGVjdGVkIiwKKyAgICAgICJNdXN0IGJlICdpbml0aWFsbHktc2VsZWN0ZWQnLCBhcyB0
aGUgc2VsZWN0ZWQgbWVtYmVyIGlzIHRydWUiCisgICAgKTsKICAgICBjb25zdCBsaXN0ZW5lclBy
b21pc2UgPSBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKICAgICAgIHJlcXVlc3QuYWRkRXZlbnRM
aXN0ZW5lcigic2hpcHBpbmdvcHRpb25jaGFuZ2UiLCAoKSA9PiB7CiAgICAgICAgIHJlc29sdmUo
cmVxdWVzdC5zaGlwcGluZ09wdGlvbik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rl
c3RzL3BheW1lbnRyZXF1ZXN0L3BheW1lbnQtcmVzcG9uc2UtcmV0cnktbWV0aG9kLmh0dHBzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvcGF5bWVu
dC1yZXNwb25zZS1yZXRyeS1tZXRob2QuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IGRmYzJiMDg2
MjlhZDUyMzI5NDAxODdkMzRjNTdhY2U1NmQyZWM0ZTYuLmQ3ZGY3Yjg0YzNjNWQxM2VhYTBmNmQx
YzY4M2U5NDY3MDRmNmJmZGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5
bWVudHJlcXVlc3QvcGF5bWVudC1yZXNwb25zZS1yZXRyeS1tZXRob2QuaHR0cHMtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvcGF5bWVudC1y
ZXNwb25zZS1yZXRyeS1tZXRob2QuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDExICsxLDMgQEAK
LUNPTlNPTEUgTUVTU0FHRTogV2ViS2l0IGN1cnJlbnRseSB1c2VzIHRoZSBmaXJzdCBzaGlwcGlu
ZyBvcHRpb24gZXZlbiBpZiBvdGhlciBzaGlwcGluZyBvcHRpb25zIGFyZSBtYXJrZWQgYXMgc2Vs
ZWN0ZWQuCi1DT05TT0xFIE1FU1NBR0U6IFdlYktpdCBjdXJyZW50bHkgdXNlcyB0aGUgZmlyc3Qg
c2hpcHBpbmcgb3B0aW9uIGV2ZW4gaWYgb3RoZXIgc2hpcHBpbmcgb3B0aW9ucyBhcmUgbWFya2Vk
IGFzIHNlbGVjdGVkLgotQ09OU09MRSBNRVNTQUdFOiBXZWJLaXQgY3VycmVudGx5IHVzZXMgdGhl
IGZpcnN0IHNoaXBwaW5nIG9wdGlvbiBldmVuIGlmIG90aGVyIHNoaXBwaW5nIG9wdGlvbnMgYXJl
IG1hcmtlZCBhcyBzZWxlY3RlZC4KLUNPTlNPTEUgTUVTU0FHRTogV2ViS2l0IGN1cnJlbnRseSB1
c2VzIHRoZSBmaXJzdCBzaGlwcGluZyBvcHRpb24gZXZlbiBpZiBvdGhlciBzaGlwcGluZyBvcHRp
b25zIGFyZSBtYXJrZWQgYXMgc2VsZWN0ZWQuCi1DT05TT0xFIE1FU1NBR0U6IFdlYktpdCBjdXJy
ZW50bHkgdXNlcyB0aGUgZmlyc3Qgc2hpcHBpbmcgb3B0aW9uIGV2ZW4gaWYgb3RoZXIgc2hpcHBp
bmcgb3B0aW9ucyBhcmUgbWFya2VkIGFzIHNlbGVjdGVkLgotQ09OU09MRSBNRVNTQUdFOiBXZWJL
aXQgY3VycmVudGx5IHVzZXMgdGhlIGZpcnN0IHNoaXBwaW5nIG9wdGlvbiBldmVuIGlmIG90aGVy
IHNoaXBwaW5nIG9wdGlvbnMgYXJlIG1hcmtlZCBhcyBzZWxlY3RlZC4KLUNPTlNPTEUgTUVTU0FH
RTogV2ViS2l0IGN1cnJlbnRseSB1c2VzIHRoZSBmaXJzdCBzaGlwcGluZyBvcHRpb24gZXZlbiBp
ZiBvdGhlciBzaGlwcGluZyBvcHRpb25zIGFyZSBtYXJrZWQgYXMgc2VsZWN0ZWQuCi1DT05TT0xF
IE1FU1NBR0U6IFdlYktpdCBjdXJyZW50bHkgdXNlcyB0aGUgZmlyc3Qgc2hpcHBpbmcgb3B0aW9u
IGV2ZW4gaWYgb3RoZXIgc2hpcHBpbmcgb3B0aW9ucyBhcmUgbWFya2VkIGFzIHNlbGVjdGVkLgog
CiBQQVNTIENhbiBjb25zdHJ1Y3QgYSBwYXltZW50IHJlcXVlc3QgKHNtb2tlIHRlc3QpLgogUEFT
UyBQYXltZW50UmVzcG9uc2UucHJvdG90eXBlIG11c3QgaGF2ZSBhIHJldHJ5KCkgZnVuY3Rpb24g
KHNtb2tlIHRlc3QpLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50
cmVxdWVzdC91cGRhdGVXaXRoLXNoaXBwaW5nT3B0aW9ucy5odHRwcy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3VwZGF0ZVdpdGgtc2hpcHBpbmdP
cHRpb25zLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCBiY2JhOWQzNDZkMDU5MmM0NTZjZGM1MDM4
MzgzYzYyZWQ2Nzc2ODBlLi5jOTQwOGY3Njk4NzMxZWVmMTg5MmMwMmI3ZjhhMjQwNDNiM2U4M2Fm
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3VwZGF0
ZVdpdGgtc2hpcHBpbmdPcHRpb25zLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3VwZGF0ZVdpdGgtc2hpcHBpbmdPcHRpb25zLmh0
dHBzLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDMgQEAKLUNPTlNPTEUgTUVTU0FHRTogV2ViS2l0
IGN1cnJlbnRseSB1c2VzIHRoZSBmaXJzdCBzaGlwcGluZyBvcHRpb24gZXZlbiBpZiBvdGhlciBz
aGlwcGluZyBvcHRpb25zIGFyZSBtYXJrZWQgYXMgc2VsZWN0ZWQuCiAKIFBBU1MgQ2FsbGluZyBg
dXBkYXRlV2l0aGAgd2l0aCBhIG5ldyBgc2hpcHBpbmdPcHRpb25zYCB3aXRob3V0IGByZXF1ZXN0
U2hpcHBpbmdgIHNob3VsZCBub3QgdXBkYXRlIGFueSB2YWx1ZXMuCiBQQVNTIENhbGxpbmcgYHVw
ZGF0ZVdpdGhgIHdpdGggYSBuZXcgYHNoaXBwaW5nT3B0aW9uc2Agc2hvdWxkIG5vdCB1cGRhdGUg
YW55IG90aGVyIHZhbHVlcy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5
bWVudHJlcXVlc3QvdXBkYXRlV2l0aC1zaGlwcGluZ09wdGlvbnMuaHR0cHMuaHRtbCBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvdXBkYXRlV2l0aC1zaGlwcGluZ09wdGlv
bnMuaHR0cHMuaHRtbAppbmRleCA1Y2EwNGQ2MmRkODJlMDNkYWM0OGU3YzkwZmZlMmY2MDQ0YmUw
ODFmLi4yNzFhNzMwYzljOGFiYjBhNjJmODgwNmJlY2I2NzMxOGNhOWNkNDk0IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3VwZGF0ZVdpdGgtc2hpcHBp
bmdPcHRpb25zLmh0dHBzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50
cmVxdWVzdC91cGRhdGVXaXRoLXNoaXBwaW5nT3B0aW9ucy5odHRwcy5odG1sCkBAIC05Myw4ICs5
Myw3IEBAIHVzZXJfYWN0aXZhdGlvbl90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7CiAgICAgICAgIGFz
c2VydF9lcXVhbHMoaW50ZXJuYWxzLm1vY2tQYXltZW50Q29vcmRpbmF0b3Iuc2hpcHBpbmdNZXRo
b2RzW2ldLmxhYmVsLCBkZXRhaWxzVXBkYXRlLnNoaXBwaW5nT3B0aW9uc1tpXS5sYWJlbCwgYHNo
aXBwaW5nIG9wdGlvbiAke2l9IGxhYmVsIHNob3VsZCBjaGFuZ2VgKTsKICAgICAgICAgYXNzZXJ0
X2VxdWFscyhpbnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5zaGlwcGluZ01ldGhvZHNb
aV0uYW1vdW50LCBkZXRhaWxzVXBkYXRlLnNoaXBwaW5nT3B0aW9uc1tpXS5hbW91bnQudmFsdWUs
IGBzaGlwcGluZyBvcHRpb24gJHtpfSBhbW91bnQgc2hvdWxkIGNoYW5nZWApOwogICAgIH0KLSAg
ICAvLyBGSVhNRTogPHJkYXI6Ly9wcm9ibGVtLzczNDY0NDA0PgotICAgIC8vIGFzc2VydF9lcXVh
bHMocmVxdWVzdC5zaGlwcGluZ09wdGlvbiwgZGV0YWlsc1VwZGF0ZS5zaGlwcGluZ09wdGlvbnMu
ZmluZCgoc2hpcHBpbmdPcHRpb24pID0+IHNoaXBwaW5nT3B0aW9uLnNlbGVjdGVkKS5pZCwgInNl
bGVjdGVkIHNoaXBwaW5nIG9wdGlvbiBzaG91bGQgY2hhbmdlIik7CisgICAgYXNzZXJ0X2VxdWFs
cyhyZXF1ZXN0LnNoaXBwaW5nT3B0aW9uLCBkZXRhaWxzVXBkYXRlLnNoaXBwaW5nT3B0aW9ucy5m
aW5kTGFzdCgoc2hpcHBpbmdPcHRpb24pID0+IHNoaXBwaW5nT3B0aW9uLnNlbGVjdGVkKS5pZCwg
InNlbGVjdGVkIHNoaXBwaW5nIG9wdGlvbiBzaG91bGQgY2hhbmdlIik7CiAgICAgYXNzZXJ0X2Vx
dWFscyhyZXF1ZXN0LnNoaXBwaW5nT3B0aW9uLCBkZXRhaWxzVXBkYXRlLnNoaXBwaW5nT3B0aW9u
c1swXS5pZCwgInNlbGVjdGVkIHNoaXBwaW5nIG9wdGlvbiBzaG91bGQgY2hhbmdlIik7CiAgICAg
YXNzZXJ0X2VxdWFscyhyZXNwb25zZS5zaGlwcGluZ09wdGlvbiwgcmVxdWVzdC5zaGlwcGluZ09w
dGlvbiwgInNlbGVjdGVkIHNoaXBwaW5nIG9wdGlvbiBzaG91bGQgYWxzbyBiZSBleHBvc2VkIG9u
IHRoZSByZXNwb25zZSIpOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9wYXltZW50LXJlcXVlc3QtY29uc3Ry
dWN0b3IuaHR0cHMuc3ViLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1jb25zdHJ1
Y3Rvci5odHRwcy5zdWItZXhwZWN0ZWQudHh0CmluZGV4IGUyZmMwZDIyMjlkYzVlMmU3NjUwZGRj
ZmRjNzZmZGI0NzI3NjdmOTUuLjYxZWEzNzEwNWRmNGQ5MGNhOTM3ZjA1NmEyODYwYzliNDYwOWEy
NTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1jb25zdHJ1Y3Rvci5odHRwcy5zdWIt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvcGF5bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1jb25zdHJ1Y3Rvci5odHRwcy5z
dWItZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsMyBAQAotQ09OU09MRSBNRVNTQUdFOiBXZWJLaXQg
Y3VycmVudGx5IHVzZXMgdGhlIGZpcnN0IHNoaXBwaW5nIG9wdGlvbiBldmVuIGlmIG90aGVyIHNo
aXBwaW5nIG9wdGlvbnMgYXJlIG1hcmtlZCBhcyBzZWxlY3RlZC4KIAogUEFTUyBJZiBkZXRhaWxz
LmlkIGlzIG1pc3NpbmcsIGFzc2lnbiBhbiBpZGVudGlmaWVyCiBQQVNTIElmIGRldGFpbHMuaWQg
aXMgbWlzc2luZywgYXNzaWduIGEgdW5pcXVlIGlkZW50aWZpZXIKQEAgLTE4LDcgKzE3LDcgQEAg
UEFTUyBpdCBoYW5kbGVzIGhpZ2ggcHJlY2lzaW9uIGN1cnJlbmN5IHZhbHVlcyB3aXRob3V0IHRo
cm93aW5nCiBQQVNTIEZvciBlYWNoIG9wdGlvbiBpbiBkZXRhaWxzLnNoaXBwaW5nT3B0aW9uczog
aWYgb3B0aW9uLmFtb3VudC52YWx1ZSBpcyBub3QgYSB2YWxpZCBkZWNpbWFsIG1vbmV0YXJ5IHZh
bHVlLCB0aGVuIHRocm93IGEgVHlwZUVycm9yCiBQQVNTIElmIHRoZXJlIGlzIG5vIHNlbGVjdGVk
IHNoaXBwaW5nIG9wdGlvbiwgdGhlbiBQYXltZW50UmVxdWVzdC5zaGlwcGluZ09wdGlvbiByZW1h
aW5zIG51bGwKIFBBU1MgSWYgdGhlcmUgaXMgYSBzZWxlY3RlZCBzaGlwcGluZyBvcHRpb24sIGFu
ZCByZXF1ZXN0U2hpcHBpbmcgaXMgc2V0LCB0aGVuIHRoYXQgb3B0aW9uIGJlY29tZXMgc3luY2hy
b25vdXNseSBzZWxlY3RlZAotRkFJTCBJZiByZXF1ZXN0U2hpcHBpbmcgaXMgc2V0LCBhbmQgaWYg
dGhlcmUgaXMgYSBtdWx0aXBsZSBzZWxlY3RlZCBzaGlwcGluZyBvcHRpb25zLCBvbmx5IHRoZSBs
YXN0IGlzIHNlbGVjdGVkLiBhc3NlcnRfZXF1YWxzOiBzZWxlY3RlZCBvcHRpb24gbXVzdCAndGhl
LWlkIGV4cGVjdGVkICJ0aGUtaWQiIGJ1dCBnb3QgIkZBSUwxIgorUEFTUyBJZiByZXF1ZXN0U2hp
cHBpbmcgaXMgc2V0LCBhbmQgaWYgdGhlcmUgaXMgYSBtdWx0aXBsZSBzZWxlY3RlZCBzaGlwcGlu
ZyBvcHRpb25zLCBvbmx5IHRoZSBsYXN0IGlzIHNlbGVjdGVkLgogUEFTUyBJZiB0aGVyZSBhcmUg
YW55IGR1cGxpY2F0ZSBzaGlwcGluZyBvcHRpb24gaWRzLCBhbmQgc2hpcHBpbmcgaXMgcmVxdWVz
dGVkLCB0aGVuIHRocm93IGEgVHlwZUVycm9yCiBQQVNTIFRocm93IHdoZW4gdGhlcmUgYXJlIGR1
cGxpY2F0ZSBzaGlwcGluZ09wdGlvbiBpZHMsIGV2ZW4gaWYgb3RoZXIgdmFsdWVzIGFyZSBkaWZm
ZXJlbnQKIFBBU1MgVGhyb3cgVHlwZUVycm9yIGlmIG1vZGlmaWVyLnRvdGFsLmFtb3VudC52YWx1
ZSBpcyBub3QgYSB2YWxpZCBkZWNpbWFsIG1vbmV0YXJ5IHZhbHVlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1lbnQtcmVxdWVzdC9w
YXltZW50LXJlcXVlc3Qtc2hpcHBpbmdPcHRpb24tYXR0cmlidXRlLmh0dHBzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1y
ZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1zaGlwcGluZ09wdGlvbi1hdHRyaWJ1dGUuaHR0cHMtZXhw
ZWN0ZWQudHh0CmluZGV4IGVkYjk4NGVhOWMzYzBiZWM2YzFiZjIxMmYzYWM1OTBhMjAzNTZlZTMu
LjI2YTNjNTJlMTc3OWU1NWNmOTJiNzU4NWIxZDg5YjYzMjUzYjQyNzMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5bWVudC1yZXF1ZXN0
L3BheW1lbnQtcmVxdWVzdC1zaGlwcGluZ09wdGlvbi1hdHRyaWJ1dGUuaHR0cHMtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcGF5
bWVudC1yZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1zaGlwcGluZ09wdGlvbi1hdHRyaWJ1dGUuaHR0
cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDkgKzEsOCBAQAotQ09OU09MRSBNRVNTQUdFOiBXZWJLaXQg
Y3VycmVudGx5IHVzZXMgdGhlIGZpcnN0IHNoaXBwaW5nIG9wdGlvbiBldmVuIGlmIG90aGVyIHNo
aXBwaW5nIG9wdGlvbnMgYXJlIG1hcmtlZCBhcyBzZWxlY3RlZC4KIAogUEFTUyBNdXN0IGhhdmUg
YSAuc2hpcHBpbmdPcHRpb24gSURMIGF0dHJpYnV0ZS4KIFBBU1MgLnNoaXBwaW5nT3B0aW9uIGF0
dHJpYnV0ZSBtdXN0IGRlZmF1bHQgdG8gbnVsbC4KLUZBSUwgSWYgdGhlcmUgaXMgYSBzaW5nbGUg
c2hpcHBpbmcgb3B0aW9uLCBidXQgc2VsZWN0ZWQgaXMgZmFsc2UsIHRoZW4gLnNoaXBwaW5nT3B0
aW9uIG11c3QgYmUgbnVsbC4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgbnVsbCBleHBlY3RlZCAo
b2JqZWN0KSBudWxsIGJ1dCBnb3QgKHN0cmluZykgInZhbGlkIgotRkFJTCBJZiB0aGVyZSBhcmUg
bXVsdGlwbGUgc2hpcHBpbmcgb3B0aW9ucyBhbGwgd2l0aCBgc2VsZWN0ZWRgIHNldCB0byBmYWxz
ZSwgdGhlbiAuc2hpcHBpbmdPcHRpb24gaXMgbnVsbC4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQg
bnVsbCBleHBlY3RlZCAob2JqZWN0KSBudWxsIGJ1dCBnb3QgKHN0cmluZykgInZhbGlkIgorUEFT
UyBJZiB0aGVyZSBpcyBhIHNpbmdsZSBzaGlwcGluZyBvcHRpb24sIGJ1dCBzZWxlY3RlZCBpcyBm
YWxzZSwgdGhlbiAuc2hpcHBpbmdPcHRpb24gbXVzdCBiZSBudWxsLgorUEFTUyBJZiB0aGVyZSBh
cmUgbXVsdGlwbGUgc2hpcHBpbmcgb3B0aW9ucyBhbGwgd2l0aCBgc2VsZWN0ZWRgIHNldCB0byBm
YWxzZSwgdGhlbiAuc2hpcHBpbmdPcHRpb24gaXMgbnVsbC4KIFBBU1MgR2l2ZW4gbXVsdGlwbGUg
c2hpcHBpbmcgb3B0aW9ucywgaXQgbXVzdCB1c2UgdGhlIHNlbGVjdGVkIHNoaXBwaW5nIG9wdGlv
biBmb3IgLnNoaXBwaW5nT3B0aW9uIHZhbHVlLgotRkFJTCBJZiB0aGVyZSBhcmUgbXVsdGlwbGUg
b2YgdGhlIHNoaXBwaW5nIG9wdGlvbnMgd2l0aCBzZWxlY3RlZCB0cnVlLCB0aGVuIC5zaGlwcGlu
Z09wdGlvbiBpcyB0aGUgbGFzdCBzZWxlY3RlZCBzaGlwcGluZyBvcHRpb24gaW4gb3JkZXIuIGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkICdwYXNzJyBleHBlY3RlZCAicGFzcyIgYnV0IGdvdCAiZmFp
bCIKK1BBU1MgSWYgdGhlcmUgYXJlIG11bHRpcGxlIG9mIHRoZSBzaGlwcGluZyBvcHRpb25zIHdp
dGggc2VsZWN0ZWQgdHJ1ZSwgdGhlbiAuc2hpcHBpbmdPcHRpb24gaXMgdGhlIGxhc3Qgc2VsZWN0
ZWQgc2hpcHBpbmcgb3B0aW9uIGluIG9yZGVyLgogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>443637</attachid>
            <date>2021-11-08 17:26:03 -0800</date>
            <delta_ts>2021-11-09 12:04:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221960-20211108172603.patch</filename>
            <type>text/plain</type>
            <size>40077</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggMWIyZTI2NjFmZmY5MDkxMmQzOWExODY1MTBhMjEwNTc0ZTAyNGE5My4uYTY1NWViMWI0
M2Y2OGI2NDQ2MzUxZWY5OTlhYmQ5NjQ5Nzg1NDVmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAy
MS0xMS0wOCAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CisKKyAgICAgICAgUkVH
UkVTU0lPTihyMjcxNzM1KTogUGF5bWVudFNoaXBwaW5nT3B0aW9uLnNlbGVjdGVkIGlnbm9yZWQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMTk2MAor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzM0NjQ0MDQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
VGltIEhvcnRvbi4KKworICAgICAgICBMZXZlcmFnZSBuZXcgYFBLU2hpcHBpbmdNZXRob2RzYCBT
UEkgdG8gcHJvdmlkZSBib3RoIHRoZSBnZW5lcmFsIGxpc3Qgb2YgYFBLU2hpcHBpbmdNZXRob2Rg
CisgICAgICAgIGFuZCB0aGUgZGVmYXVsdCBzZWxlY3RlZCBgUEtTaGlwcGluZ01ldGhvZHNgIHdo
ZW4gY3JlYXRpbmcvdXBkYXRpbmcgYSBwYXltZW50IHJlcXVlc3QuCisKKyAgICAgICAgKiB3dGYv
UGxhdGZvcm1FbmFibGVDb2NvYS5oOgorICAgICAgICAqIHd0Zi9QbGF0Zm9ybUhhdmUuaDoKKwog
MjAyMS0xMS0wOCAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgog
CiAgICAgICAgIFBhcnNlIHJlZGlyZWN0IGFuZCBtb2RpZnktaGVhZGVycyBhY3Rpb25zIGZvciBX
S0NvbnRlbnRSdWxlTGlzdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDAzNzc3MjVkZmY3NjdiODZjYzM3YWJlYzAw
ODI3OWY3N2YwZTFmZmEuLjg3YjNmNzIzN2UzY2M2MzhiODY1MTRjMmQ1N2YyNWUzZGIxOTQyMzMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAyMS0xMS0wOCAgRGV2aW4gUm91c3NvICA8
ZHJvdXNzb0BhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVTU0lPTihyMjcxNzM1KTogUGF5bWVu
dFNoaXBwaW5nT3B0aW9uLnNlbGVjdGVkIGlnbm9yZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMTk2MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
NzM0NjQ0MDQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVGltIEhvcnRvbi4KKworICAgICAgICBM
ZXZlcmFnZSBuZXcgYFBLU2hpcHBpbmdNZXRob2RzYCBTUEkgdG8gcHJvdmlkZSBib3RoIHRoZSBn
ZW5lcmFsIGxpc3Qgb2YgYFBLU2hpcHBpbmdNZXRob2RgCisgICAgICAgIGFuZCB0aGUgZGVmYXVs
dCBzZWxlY3RlZCBgUEtTaGlwcGluZ01ldGhvZHNgIHdoZW4gY3JlYXRpbmcvdXBkYXRpbmcgYSBw
YXltZW50IHJlcXVlc3QuCisKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hp
cHBpbmdNZXRob2QuaWRsOgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlw
cGluZ01ldGhvZC5oOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGVQYXlTaGlwcGluZ01ldGhvZDo6
ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5U2hpcHBpbmdNZXRob2Q6
OmRlY29kZSk6CisgICAgICAgIEFkZCBuZXcgYHNlbGVjdGVkYCBib29sZWFuIHByb3BlcnR5Lgor
CisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheVBheW1l
bnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5UGF5bWVudEhhbmRsZXI6
OmNvbXB1dGVTaGlwcGluZ01ldGhvZHMgY29uc3QpOgorCisgICAgICAgICogTW9kdWxlcy9wYXlt
ZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjaGVja0Fu
ZENhbm9uaWNhbGl6ZURldGFpbHMpOgorCiAyMDIxLTExLTA4ICBDaHJpcyBEdW1leiAgPGNkdW1l
ekBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAocjI4MzkzNSk6IFsgbWFjT1Mgd2sx
IF0gaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9pbnRlcmFj
dGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlhbG9nLWF1dG9mb2N1cy1tdWx0aXBs
ZS10aW1lcy5odG1sIGlzIGEgZmxha3kgZmFpbHVyZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKaW5kZXggNThk
MjBiMGNmNDYwYjVjOGIzMzUyNmZiMTIxZmNmNjI3OTIwM2E5MS4uYzRlYTQ2ZGIzYzU3ODRiY2Qw
MzY3MzY4NGI1Njg3ZDQzMDdlNDZkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTgg
QEAKKzIwMjEtMTEtMDggIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgorCisgICAg
ICAgIFJFR1JFU1NJT04ocjI3MTczNSk6IFBheW1lbnRTaGlwcGluZ09wdGlvbi5zZWxlY3RlZCBp
Z25vcmVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MjE5NjAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzczNDY0NDA0PgorCisgICAgICAgIFJldmll
d2VkIGJ5IFRpbSBIb3J0b24uCisKKyAgICAgICAgTGV2ZXJhZ2UgbmV3IGBQS1NoaXBwaW5nTWV0
aG9kc2AgU1BJIHRvIHByb3ZpZGUgYm90aCB0aGUgZ2VuZXJhbCBsaXN0IG9mIGBQS1NoaXBwaW5n
TWV0aG9kYAorICAgICAgICBhbmQgdGhlIGRlZmF1bHQgc2VsZWN0ZWQgYFBLU2hpcHBpbmdNZXRo
b2RzYCB3aGVuIGNyZWF0aW5nL3VwZGF0aW5nIGEgcGF5bWVudCByZXF1ZXN0LgorCisgICAgICAg
ICogcGFsL2NvY29hL1Bhc3NLaXRTb2Z0TGluay5oOgorICAgICAgICAqIHBhbC9jb2NvYS9QYXNz
S2l0U29mdExpbmsubW06CisgICAgICAgICogcGFsL3NwaS9jb2NvYS9QYXNzS2l0U1BJLmg6CisK
IDIwMjEtMTEtMDggIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAog
ICAgICAgICBbV2ViR1BVXSBDb25uZWN0IEpTIGJpbmRpbmdzIGNvZGUgdG8gaW50ZXJuYWwgV2Vi
R1BVIGludGVyZmFjZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBmOGJlYTkzZDNlNDU1ZDNmY2VlMjMzYTZlMmU4YmRl
ZWI1MjE5ZjNhLi42ZTMwNWI2MDAzNDcyNGNkMWExNzFiNDVhZjVlMjI2OTNkOTZjZGFlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDIxLTExLTA4ICBEZXZpbiBSb3Vzc28gIDxkcm91c3Nv
QGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OKHIyNzE3MzUpOiBQYXltZW50U2hpcHBp
bmdPcHRpb24uc2VsZWN0ZWQgaWdub3JlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjIxOTYwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83MzQ2NDQw
ND4KKworICAgICAgICBSZXZpZXdlZCBieSBUaW0gSG9ydG9uLgorCisgICAgICAgIExldmVyYWdl
IG5ldyBgUEtTaGlwcGluZ01ldGhvZHNgIFNQSSB0byBwcm92aWRlIGJvdGggdGhlIGdlbmVyYWwg
bGlzdCBvZiBgUEtTaGlwcGluZ01ldGhvZGAKKyAgICAgICAgYW5kIHRoZSBkZWZhdWx0IHNlbGVj
dGVkIGBQS1NoaXBwaW5nTWV0aG9kc2Agd2hlbiBjcmVhdGluZy91cGRhdGluZyBhIHBheW1lbnQg
cmVxdWVzdC4KKworICAgICAgICAqIFNoYXJlZC9BcHBsZVBheS9jb2NvYS9XZWJQYXltZW50Q29v
cmRpbmF0b3JQcm94eUNvY29hLmg6CisgICAgICAgICogU2hhcmVkL0FwcGxlUGF5L2NvY29hL1dl
YlBheW1lbnRDb29yZGluYXRvclByb3h5Q29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OnRvUEtT
aGlwcGluZ01ldGhvZHMpOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViUGF5bWVudENvb3Jk
aW5hdG9yUHJveHk6OnBsYXRmb3JtUGF5bWVudFJlcXVlc3QpOgorICAgICAgICBBZGQgbmV3IGhl
bHBlciB0byBnZW5lcmF0ZSB0aGUgYFBLU2hpcHBpbmdNZXRob2RzYCBmcm9tIFdlYkNvcmUgb2Jq
ZWN0cy4KKworICAgICAgICAqIFBsYXRmb3JtL2NvY29hL1BheW1lbnRBdXRob3JpemF0aW9uUHJl
c2VudGVyLm1tOgorICAgICAgICAoV2ViS2l0OjpQYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRl
cjo6Y29tcGxldGVQYXltZW50TWV0aG9kU2VsZWN0aW9uKToKKyAgICAgICAgKFdlYktpdDo6UGF5
bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXI6OmNvbXBsZXRlU2hpcHBpbmdDb250YWN0U2VsZWN0
aW9uKToKKyAgICAgICAgKFdlYktpdDo6UGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXI6OmNv
bXBsZXRlU2hpcHBpbmdNZXRob2RTZWxlY3Rpb24pOgorICAgICAgICAoV2ViS2l0OjpQYXltZW50
QXV0aG9yaXphdGlvblByZXNlbnRlcjo6Y29tcGxldGVDb3Vwb25Db2RlQ2hhbmdlKToKKyAgICAg
ICAgKFdlYktpdDo6dG9QS1NoaXBwaW5nTWV0aG9kcyk6IERlbGV0ZWQuCisKKyAgICAgICAgKiBQ
bGF0Zm9ybS9jb2NvYS9XS1BheW1lbnRBdXRob3JpemF0aW9uRGVsZWdhdGUubW06CisgICAgICAg
ICgtW1dLUGF5bWVudEF1dGhvcml6YXRpb25EZWxlZ2F0ZSBjb21wbGV0ZVBheW1lbnRNZXRob2RT
ZWxlY3Rpb246XSk6CisgICAgICAgICgtW1dLUGF5bWVudEF1dGhvcml6YXRpb25EZWxlZ2F0ZSBj
b21wbGV0ZVNoaXBwaW5nQ29udGFjdFNlbGVjdGlvbjpdKToKKyAgICAgICAgKC1bV0tQYXltZW50
QXV0aG9yaXphdGlvbkRlbGVnYXRlIGNvbXBsZXRlU2hpcHBpbmdNZXRob2RTZWxlY3Rpb246XSk6
CisgICAgICAgICgtW1dLUGF5bWVudEF1dGhvcml6YXRpb25EZWxlZ2F0ZSBjb21wbGV0ZUNvdXBv
bkNvZGVDaGFuZ2U6XSk6CisgICAgICAgICgtW1dLUGF5bWVudEF1dGhvcml6YXRpb25EZWxlZ2F0
ZSBfaW5pdFdpdGhSZXF1ZXN0OnByZXNlbnRlcjpdKToKKyAgICAgICAgKHRvU2hpcHBpbmdNZXRo
b2QpOgorICAgICAgICAoLVtXS1BheW1lbnRBdXRob3JpemF0aW9uRGVsZWdhdGUgX2RpZFNlbGVj
dFNoaXBwaW5nTWV0aG9kOmNvbXBsZXRpb246XSk6CisgICAgICAgICgtW1dLUGF5bWVudEF1dGhv
cml6YXRpb25EZWxlZ2F0ZSBzdW1tYXJ5SXRlbXNdKTogRGVsZXRlZC4KKyAgICAgICAgKC1bV0tQ
YXltZW50QXV0aG9yaXphdGlvbkRlbGVnYXRlIHNoaXBwaW5nTWV0aG9kc10pOiBEZWxldGVkLgor
ICAgICAgICBEcml2ZS1ieTogRGVsZXRlIHVudXNlZCBtZXRob2RzLgorCiAyMDIxLTExLTA4ICBE
ZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KIAogICAgICAgICBbUGF5bWVudCBSZXF1
ZXN0XSBBZGQgYSBuZXcgcGF5bWVudCBtZXRob2QgZm9yIHNob3dpbmcgQU1TIFVJCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmggYi9Tb3VyY2UvV1RGL3d0
Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmgKaW5kZXggZDI1MzE4YzM0NDhhYTIwYzkxNDEzZTM1ZTg3
MDJmOGYwNGRkMGE1OC4uMGQxNDNiZjViMzFmMDE1MzJmYTRjMmY4NmQ5ODU5ZWMxYjA1NWVjYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGVDb2NvYS5oCisrKyBiL1Nv
dXJjZS9XVEYvd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaApAQCAtNzUsNiArNzUsMTAgQEAKICNk
ZWZpbmUgRU5BQkxFX0FQUExFX1BBWV9ORVdfQlVUVE9OX1RZUEVTIDEKICNlbmRpZgogCisjaWYg
IWRlZmluZWQoRU5BQkxFX0FQUExFX1BBWV9TRUxFQ1RFRF9TSElQUElOR19NRVRIT0QpICYmIEhB
VkUoUEFTU0tJVF9ERUZBVUxUX1NISVBQSU5HX01FVEhPRCkKKyNkZWZpbmUgRU5BQkxFX0FQUExF
X1BBWV9TRUxFQ1RFRF9TSElQUElOR19NRVRIT0QgMQorI2VuZGlmCisKICNpZiAhZGVmaW5lZChF
TkFCTEVfQVBQTEVfUEFZX1NISVBQSU5HX0NPTlRBQ1RfRURJVElOR19NT0RFKSAmJiBIQVZFKFBB
U1NLSVRfU0hJUFBJTkdfQ09OVEFDVF9FRElUSU5HX01PREUpCiAjZGVmaW5lIEVOQUJMRV9BUFBM
RV9QQVlfU0hJUFBJTkdfQ09OVEFDVF9FRElUSU5HX01PREUgMQogI2VuZGlmCkBAIC00NDYsNiAr
NDUwLDEwIEBACiAjZGVmaW5lIEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QgMQogI2VuZGlmCiAKKyNp
ZiAhZGVmaW5lZChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUX1NFTEVDVEVEX1NISVBQSU5HX09QVElP
TikgJiYgSEFWRShQQVNTS0lUX0RFRkFVTFRfU0hJUFBJTkdfTUVUSE9EKQorI2RlZmluZSBFTkFC
TEVfUEFZTUVOVF9SRVFVRVNUX1NFTEVDVEVEX1NISVBQSU5HX09QVElPTiAxCisjZW5kaWYKKwog
I2lmICFkZWZpbmVkKEVOQUJMRV9QSUNUVVJFX0lOX1BJQ1RVUkVfQVBJKSAmJiAhUExBVEZPUk0o
TUFDQ0FUQUxZU1QpICYmICFQTEFURk9STShXQVRDSE9TKSAmJiAhUExBVEZPUk0oQVBQTEVUVikK
ICNkZWZpbmUgRU5BQkxFX1BJQ1RVUkVfSU5fUElDVFVSRV9BUEkgMQogI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRm
b3JtSGF2ZS5oCmluZGV4IGMxNGFlZGU1MzY3N2RiZjIzYjIzZGU4NTZlOGVmODIyNjQzNGFhMWMu
LmFkY2E2YmE4NDM4M2E1NTQ1YjI0NzNkYTIzOTYyNTU2MzU2YjE5NDAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2ZS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3Jt
SGF2ZS5oCkBAIC02NDksNiArNjQ5LDEwIEBACiAjZGVmaW5lIEhBVkVfUEFTU0tJVF9VUERBVEVf
U0hJUFBJTkdfTUVUSE9EU19XSEVOX0NIQU5HSU5HX1NVTU1BUllfSVRFTVMgMQogI2VuZGlmCiAK
KyNpZiAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49
IDEyMDQwMCkgfHwgKFBMQVRGT1JNKElPUykgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVR
VUlSRUQgPj0gMTUwNDAwKQorI2RlZmluZSBIQVZFX1BBU1NLSVRfREVGQVVMVF9TSElQUElOR19N
RVRIT0QgMQorI2VuZGlmCisKICNpZiBQTEFURk9STShDT0NPQSkgJiYgIVBMQVRGT1JNKFdBVENI
T1MpICYmICFQTEFURk9STShBUFBMRVRWKQogI2RlZmluZSBIQVZFX1FVSUNLTE9PS19USFVNQk5B
SUxJTkcgMQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxl
cGF5L0FwcGxlUGF5U2hpcHBpbmdNZXRob2QuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBw
bGVwYXkvQXBwbGVQYXlTaGlwcGluZ01ldGhvZC5oCmluZGV4IDNiNzNkYTkxNGE1ODIxY2I1MDQ0
YjVmNDFkMjQyYTQxYTcyMDNhYjQuLjc3ZWQxZThhYjE5NDZlYWFlOGNmNWYyODk4N2JmM2QwZjcx
ZWE5NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQ
YXlTaGlwcGluZ01ldGhvZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkv
QXBwbGVQYXlTaGlwcGluZ01ldGhvZC5oCkBAIC00Myw2ICs0MywxMCBAQCBzdHJ1Y3QgQXBwbGVQ
YXlTaGlwcGluZ01ldGhvZCBmaW5hbCB7CiAgICAgc3RkOjpvcHRpb25hbDxBcHBsZVBheURhdGVD
b21wb25lbnRzUmFuZ2U+IGRhdGVDb21wb25lbnRzUmFuZ2U7CiAjZW5kaWYKIAorI2lmIEVOQUJM
RShBUFBMRV9QQVlfU0VMRUNURURfU0hJUFBJTkdfTUVUSE9EKQorICAgIGJvb2wgc2VsZWN0ZWQg
eyBmYWxzZSB9OworI2VuZGlmCisKICAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVu
Y29kZShFbmNvZGVyJikgY29uc3Q7CiAgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGlj
IHN0ZDo6b3B0aW9uYWw8QXBwbGVQYXlTaGlwcGluZ01ldGhvZD4gZGVjb2RlKERlY29kZXImKTsK
IH07CkBAIC01Nyw2ICs2MSw5IEBAIHZvaWQgQXBwbGVQYXlTaGlwcGluZ01ldGhvZDo6ZW5jb2Rl
KEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAjaWYgRU5BQkxFKEFQUExFX1BBWV9TSElQUElOR19N
RVRIT0RfREFURV9DT01QT05FTlRTX1JBTkdFKQogICAgIGVuY29kZXIgPDwgZGF0ZUNvbXBvbmVu
dHNSYW5nZTsKICNlbmRpZgorI2lmIEVOQUJMRShBUFBMRV9QQVlfU0VMRUNURURfU0hJUFBJTkdf
TUVUSE9EKQorICAgIGVuY29kZXIgPDwgc2VsZWN0ZWQ7CisjZW5kaWYKIH0KIAogdGVtcGxhdGU8
Y2xhc3MgRGVjb2Rlcj4KQEAgLTc1LDYgKzgyLDkgQEAgc3RkOjpvcHRpb25hbDxBcHBsZVBheVNo
aXBwaW5nTWV0aG9kPiBBcHBsZVBheVNoaXBwaW5nTWV0aG9kOjpkZWNvZGUoRGVjb2RlciYgZGUK
ICNpZiBFTkFCTEUoQVBQTEVfUEFZX1NISVBQSU5HX01FVEhPRF9EQVRFX0NPTVBPTkVOVFNfUkFO
R0UpCiAgICAgREVDT0RFKGRhdGVDb21wb25lbnRzUmFuZ2UsIHN0ZDo6b3B0aW9uYWw8QXBwbGVQ
YXlEYXRlQ29tcG9uZW50c1JhbmdlPikKICNlbmRpZgorI2lmIEVOQUJMRShBUFBMRV9QQVlfU0VM
RUNURURfU0hJUFBJTkdfTUVUSE9EKQorICAgIERFQ09ERShzZWxlY3RlZCwgYm9vbCkKKyNlbmRp
ZgogCiAjdW5kZWYgREVDT0RFCiAKQEAgLTg1LDYgKzk1LDkgQEAgc3RkOjpvcHRpb25hbDxBcHBs
ZVBheVNoaXBwaW5nTWV0aG9kPiBBcHBsZVBheVNoaXBwaW5nTWV0aG9kOjpkZWNvZGUoRGVjb2Rl
ciYgZGUKICAgICAgICAgV1RGTW92ZSgqaWRlbnRpZmllciksCiAjaWYgRU5BQkxFKEFQUExFX1BB
WV9TSElQUElOR19NRVRIT0RfREFURV9DT01QT05FTlRTX1JBTkdFKQogICAgICAgICBXVEZNb3Zl
KCpkYXRlQ29tcG9uZW50c1JhbmdlKSwKKyNlbmRpZgorI2lmIEVOQUJMRShBUFBMRV9QQVlfU0VM
RUNURURfU0hJUFBJTkdfTUVUSE9EKQorICAgICAgICBXVEZNb3ZlKCpzZWxlY3RlZCksCiAjZW5k
aWYKICAgICB9IH07CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxl
cGF5L0FwcGxlUGF5U2hpcHBpbmdNZXRob2QuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9h
cHBsZXBheS9BcHBsZVBheVNoaXBwaW5nTWV0aG9kLmlkbAppbmRleCA0NzEwZjUyZGFjZWY4NWM5
MmEzYmE3YzliMDE2NjU5MDY2YmNjOWEwLi4wMjIxODczMzkyYTY0OTU4NjQxZGYzZGZjZjI2Y2Nk
ZjQxMmVhNjE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0Fw
cGxlUGF5U2hpcHBpbmdNZXRob2QuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBw
bGVwYXkvQXBwbGVQYXlTaGlwcGluZ01ldGhvZC5pZGwKQEAgLTM0LDQgKzM0LDYgQEAKICAgICBy
ZXF1aXJlZCBET01TdHJpbmcgaWRlbnRpZmllcjsKIAogICAgIFtDb25kaXRpb25hbD1BUFBMRV9Q
QVlfU0hJUFBJTkdfTUVUSE9EX0RBVEVfQ09NUE9ORU5UU19SQU5HRV0gQXBwbGVQYXlEYXRlQ29t
cG9uZW50c1JhbmdlIGRhdGVDb21wb25lbnRzUmFuZ2U7CisKKyAgICBbQ29uZGl0aW9uYWw9QVBQ
TEVfUEFZX1NFTEVDVEVEX1NISVBQSU5HX01FVEhPRF0gYm9vbGVhbiBzZWxlY3RlZCA9IGZhbHNl
OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVu
dHJlcXVlc3QvQXBwbGVQYXlQYXltZW50SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5UGF5bWVudEhhbmRsZXIuY3BwCmlu
ZGV4IDEwNjRiNTdmODU5N2ZmNjBhYTc5NzE2MjBlZTY1Y2Y0N2E1NGMzYTYuLjc2MjQ1OGFjMTUz
NTYwMmI5N2UzY2Y4YTY3OWFhOTljODBlN2RkZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQYXltZW50SGFuZGxlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9B
cHBsZVBheVBheW1lbnRIYW5kbGVyLmNwcApAQCAtMjk5LDEwICsyOTksMTggQEAgRXhjZXB0aW9u
T3I8VmVjdG9yPEFwcGxlUGF5U2hpcHBpbmdNZXRob2Q+PiBBcHBsZVBheVBheW1lbnRIYW5kbGVy
Ojpjb21wdXRlU2hpcHAKIAogICAgICAgICBzaGlwcGluZ09wdGlvbnMucmVzZXJ2ZUluaXRpYWxD
YXBhY2l0eShkZXRhaWxzLnNoaXBwaW5nT3B0aW9ucy0+c2l6ZSgpKTsKICAgICAgICAgZm9yIChh
dXRvJiBzaGlwcGluZ09wdGlvbiA6ICpkZXRhaWxzLnNoaXBwaW5nT3B0aW9ucykgewotICAgICAg
ICAgICAgYXV0byBzaGlwcGluZ01ldGhvZCA9IGNvbnZlcnRBbmRWYWxpZGF0ZShzaGlwcGluZ09w
dGlvbiwgY3VycmVuY3kpOwotICAgICAgICAgICAgaWYgKHNoaXBwaW5nTWV0aG9kLmhhc0V4Y2Vw
dGlvbigpKQotICAgICAgICAgICAgICAgIHJldHVybiBzaGlwcGluZ01ldGhvZC5yZWxlYXNlRXhj
ZXB0aW9uKCk7Ci0gICAgICAgICAgICBzaGlwcGluZ09wdGlvbnMudW5jaGVja2VkQXBwZW5kKHNo
aXBwaW5nTWV0aG9kLnJlbGVhc2VSZXR1cm5WYWx1ZSgpKTsKKyAgICAgICAgICAgIGF1dG8gc2hp
cHBpbmdNZXRob2RPckV4Y2VwdGlvbiA9IGNvbnZlcnRBbmRWYWxpZGF0ZShzaGlwcGluZ09wdGlv
biwgY3VycmVuY3kpOworICAgICAgICAgICAgaWYgKHNoaXBwaW5nTWV0aG9kT3JFeGNlcHRpb24u
aGFzRXhjZXB0aW9uKCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIHNoaXBwaW5nTWV0aG9kT3JF
eGNlcHRpb24ucmVsZWFzZUV4Y2VwdGlvbigpOworCisgICAgICAgICAgICBhdXRvIHNoaXBwaW5n
TWV0aG9kID0gc2hpcHBpbmdNZXRob2RPckV4Y2VwdGlvbi5yZWxlYXNlUmV0dXJuVmFsdWUoKTsK
KworI2lmIEVOQUJMRShBUFBMRV9QQVlfU0VMRUNURURfU0hJUFBJTkdfTUVUSE9EKQorICAgICAg
ICAgICAgaWYgKHNoaXBwaW5nTWV0aG9kLmlkZW50aWZpZXIgPT0gbV9wYXltZW50UmVxdWVzdC0+
c2hpcHBpbmdPcHRpb24oKSkKKyAgICAgICAgICAgICAgICBzaGlwcGluZ01ldGhvZC5zZWxlY3Rl
ZCA9IHRydWU7CisjZW5kaWYKKworICAgICAgICAgICAgc2hpcHBpbmdPcHRpb25zLnVuY2hlY2tl
ZEFwcGVuZChXVEZNb3ZlKHNoaXBwaW5nTWV0aG9kKSk7CiAgICAgICAgIH0KICAgICB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcGF5bWVudHJlcXVlc3QvUGF5bWVudFJl
cXVlc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50
UmVxdWVzdC5jcHAKaW5kZXggNWIxZGM3ODliMzRlOTE3YTI5MzNlZDVmYTYzMGFlYTZjODcwNGUz
Yy4uNTZlMmMyNDM3OGExMTYzMjQ0YTI0ZGZmZTAwYzAxZjBmMzY5NDNkYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVzdC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wYXltZW50cmVxdWVzdC9QYXltZW50UmVxdWVz
dC5jcHAKQEAgLTIxOCwxMyArMjE4LDE5IEBAIHN0YXRpYyBFeGNlcHRpb25PcjxzdGQ6OnR1cGxl
PFN0cmluZywgVmVjdG9yPFN0cmluZz4+PiBjaGVja0FuZENhbm9uaWNhbGl6ZURldGFpCiAgICAg
ICAgICAgICAgICAgaWYgKCFhZGRSZXN1bHQuaXNOZXdFbnRyeSkKICAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgIlNoaXBwaW5nIG9wdGlvbiBJRHMgbXVz
dCBiZSB1bmlxdWUuIiB9OwogCi0gICAgICAgICAgICAgICAgLy8gRklYTUU6IDxyZGFyOi8vcHJv
YmxlbS83MzQ2NDQwND4KKyNpZiBFTkFCTEUoUEFZTUVOVF9SRVFVRVNUX1NFTEVDVEVEX1NISVBQ
SU5HX09QVElPTikKKyAgICAgICAgICAgICAgICBpZiAoc2hpcHBpbmdPcHRpb24uc2VsZWN0ZWQp
CisgICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkU2hpcHBpbmdPcHRpb24gPSBzaGlwcGluZ09w
dGlvbi5pZDsKKyAgICAgICAgICAgICAgICBVTlVTRURfUEFSQU0oY29udGV4dCk7CisgICAgICAg
ICAgICAgICAgVU5VU0VEX1ZBUklBQkxFKGRpZExvZyk7CisjZWxzZQogICAgICAgICAgICAgICAg
IGlmICghc2VsZWN0ZWRTaGlwcGluZ09wdGlvbikKICAgICAgICAgICAgICAgICAgICAgc2VsZWN0
ZWRTaGlwcGluZ09wdGlvbiA9IHNoaXBwaW5nT3B0aW9uLmlkOwogICAgICAgICAgICAgICAgIGVs
c2UgaWYgKCFkaWRMb2cgJiYgc2hpcHBpbmdPcHRpb24uc2VsZWN0ZWQpIHsKICAgICAgICAgICAg
ICAgICAgICAgY29udGV4dC5hZGRDb25zb2xlTWVzc2FnZShKU0M6Ok1lc3NhZ2VTb3VyY2U6OlBh
eW1lbnRSZXF1ZXN0LCBKU0M6Ok1lc3NhZ2VMZXZlbDo6V2FybmluZywgIldlYktpdCBjdXJyZW50
bHkgdXNlcyB0aGUgZmlyc3Qgc2hpcHBpbmcgb3B0aW9uIGV2ZW4gaWYgb3RoZXIgc2hpcHBpbmcg
b3B0aW9ucyBhcmUgbWFya2VkIGFzIHNlbGVjdGVkLiJfcyk7CiAgICAgICAgICAgICAgICAgICAg
IGRpZExvZyA9IHRydWU7CiAgICAgICAgICAgICAgICAgfQorI2VuZGlmCiAgICAgICAgICAgICB9
CiAgICAgICAgIH0gZWxzZSBpZiAoaXNVcGRhdGUgPT0gSXNVcGRhdGU6Ok5vKQogICAgICAgICAg
ICAgZGV0YWlscy5zaGlwcGluZ09wdGlvbnMgPSB7IHsgfSB9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9jb2NvYS9QYXNzS2l0U29mdExpbmsuaCBiL1NvdXJjZS9XZWJDb3Jl
L1BBTC9wYWwvY29jb2EvUGFzc0tpdFNvZnRMaW5rLmgKaW5kZXggMGJjMjViNWNmNWNiMWUzMGU5
OWZlYTY2M2IxMDk3ODI4YjY1YWJiNi4uMzhkNWJiYzVkYmRhZTdjNzYzYzhmZjYwNDMxZDBkYjFl
Mjg3NGFkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9QYXNzS2l0
U29mdExpbmsuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL1Bhc3NLaXRTb2Z0
TGluay5oCkBAIC02MCw2ICs2MCwxMCBAQCBTT0ZUX0xJTktfQ0xBU1NfRk9SX0hFQURFUihQQUws
IFBLUmVjdXJyaW5nUGF5bWVudFN1bW1hcnlJdGVtKQogU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFE
RVIoUEFMLCBQS0RlZmVycmVkUGF5bWVudFN1bW1hcnlJdGVtKQogI2VuZGlmCiAKKyNpZiBIQVZF
KFBBU1NLSVRfREVGQVVMVF9TSElQUElOR19NRVRIT0QpCitTT0ZUX0xJTktfQ0xBU1NfRk9SX0hF
QURFUihQQUwsIFBLU2hpcHBpbmdNZXRob2RzKQorI2VuZGlmCisKICNpZiBIQVZFKFBBU1NLSVRf
U0hJUFBJTkdfTUVUSE9EX0RBVEVfQ09NUE9ORU5UU19SQU5HRSkKIFNPRlRfTElOS19DTEFTU19G
T1JfSEVBREVSKFBBTCwgUEtEYXRlQ29tcG9uZW50c1JhbmdlKQogI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL1Bhc3NLaXRTb2Z0TGluay5tbSBiL1NvdXJj
ZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvUGFzc0tpdFNvZnRMaW5rLm1tCmluZGV4IGUxNTZjYmI4
YjVlMjVjMjIwMTY0NzgxNGI4YTlkZmNiZDc5N2U4MTIuLmUzZDYzMjAyZGQ3YWNmY2NlNmM3OTQy
M2NlMTQyZTRhMDAwYjliZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29j
b2EvUGFzc0tpdFNvZnRMaW5rLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2Ev
UGFzc0tpdFNvZnRMaW5rLm1tCkBAIC02NCw2ICs2NCwxMCBAQCBTT0ZUX0xJTktfQ0xBU1NfRk9S
X1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIFBhc3NLaXQsIFBLUmVjdXJyaW5nUGF5bWVudFN1bW1h
cnlJdAogU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBQYXNzS2l0
LCBQS0RlZmVycmVkUGF5bWVudFN1bW1hcnlJdGVtLCBQQUxfRVhQT1JUKQogI2VuZGlmCiAKKyNp
ZiBIQVZFKFBBU1NLSVRfREVGQVVMVF9TSElQUElOR19NRVRIT0QpCitTT0ZUX0xJTktfQ0xBU1Nf
Rk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIFBhc3NLaXQsIFBLU2hpcHBpbmdNZXRob2RzLCBQ
QUxfRVhQT1JUKQorI2VuZGlmCisKICNpZiBIQVZFKFBBU1NLSVRfU0hJUFBJTkdfTUVUSE9EX0RB
VEVfQ09NUE9ORU5UU19SQU5HRSkKIFNPRlRfTElOS19DTEFTU19GT1JfU09VUkNFX1dJVEhfRVhQ
T1JUKFBBTCwgUGFzc0tpdCwgUEtEYXRlQ29tcG9uZW50c1JhbmdlLCBQQUxfRVhQT1JUKQogI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9QYXNzS2l0
U1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9QYXNzS2l0U1BJLmgKaW5k
ZXggZjFlYjlkYzA0YTQzM2JhNTQ0YzY0ZDNmM2ZhNTA1NWEyZmQ2Mzk5ZC4uYTE5MDE1NDdiMDlk
MDMyZjdiNDYzYWQ0MGJiMzE3YmVjZTkwZmM3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
UEFML3BhbC9zcGkvY29jb2EvUGFzc0tpdFNQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9w
YWwvc3BpL2NvY29hL1Bhc3NLaXRTUEkuaApAQCAtNzEsNiArNzEsMTAgQEAgV1RGX0VYVEVSTl9D
X0VORAogI2ltcG9ydCA8UGFzc0tpdENvcmUvUEtSZWN1cnJpbmdQYXltZW50U3VtbWFyeUl0ZW0u
aD4KICNlbmRpZgogCisjaWYgSEFWRShQQVNTS0lUX0RFRkFVTFRfU0hJUFBJTkdfTUVUSE9EKQor
I2ltcG9ydCA8UGFzc0tpdENvcmUvUEtTaGlwcGluZ01ldGhvZHMuaD4KKyNlbmRpZgorCiAjaWYg
SEFWRShQQVNTS0lUX1NISVBQSU5HX01FVEhPRF9EQVRFX0NPTVBPTkVOVFNfUkFOR0UpCiAjaW1w
b3J0IDxQYXNzS2l0Q29yZS9QS0RhdGVDb21wb25lbnRzUmFuZ2UuaD4KICNlbmRpZgpAQCAtMjU4
LDYgKzI2MiwxMiBAQCB0eXBlZGVmIE5TU3RyaW5nICogUEtQYXltZW50TmV0d29yayBOU19FWFRF
TlNJQkxFX1NUUklOR19FTlVNOwogQGVuZAogI2VuZGlmCiAKKyNpZiBIQVZFKFBBU1NLSVRfREVG
QVVMVF9TSElQUElOR19NRVRIT0QpCitAaW50ZXJmYWNlIFBLU2hpcHBpbmdNZXRob2RzIDogTlNP
YmplY3QKKy0gKGluc3RhbmNldHlwZSlpbml0V2l0aE1ldGhvZHM6KE5TQXJyYXk8UEtTaGlwcGlu
Z01ldGhvZCAqPiAqKW1ldGhvZHMgZGVmYXVsdE1ldGhvZDoobnVsbGFibGUgUEtTaGlwcGluZ01l
dGhvZCAqKWRlZmF1bHRNZXRob2Q7CitAZW5kCisjZW5kaWYKKwogI2lmIEhBVkUoUEFTU0tJVF9T
SElQUElOR19NRVRIT0RfREFURV9DT01QT05FTlRTX1JBTkdFKQogQGludGVyZmFjZSBQS0RhdGVD
b21wb25lbnRzUmFuZ2UgOiBOU09iamVjdCA8TlNDb3B5aW5nLCBOU1NlY3VyZUNvZGluZz4KIC0g
KG51bGxhYmxlIGluc3RhbmNldHlwZSlpbml0V2l0aFN0YXJ0RGF0ZUNvbXBvbmVudHM6KE5TRGF0
ZUNvbXBvbmVudHMgKilzdGFydERhdGVDb21wb25lbnRzIGVuZERhdGVDb21wb25lbnRzOihOU0Rh
dGVDb21wb25lbnRzICopZW5kRGF0ZUNvbXBvbmVudHM7CkBAIC0zMDQsNiArMzE0LDEwIEBAIHR5
cGVkZWYgTlNfRU5VTShOU1VJbnRlZ2VyLCBQS1NoaXBwaW5nQ29udGFjdEVkaXRpbmdNb2RlKSB7
CiBAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSwgbnVsbGFibGUpIE5TU3RyaW5nICpjb3Vwb25D
b2RlOwogI2VuZGlmCiAKKyNpZiBIQVZFKFBBU1NLSVRfREVGQVVMVF9TSElQUElOR19NRVRIT0Qp
CitAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgUEtTaGlwcGluZ01ldGhvZHMgKmF2YWlsYWJs
ZVNoaXBwaW5nTWV0aG9kczsKKyNlbmRpZgorCiAjaWYgSEFWRShQQVNTS0lUX1NISVBQSU5HX0NP
TlRBQ1RfRURJVElOR19NT0RFKQogQHByb3BlcnR5IChub25hdG9taWMsIGFzc2lnbikgUEtTaGlw
cGluZ0NvbnRhY3RFZGl0aW5nTW9kZSBzaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZTsKICNlbmRp
ZgpAQCAtNDU5LDE2ICs0NzMsMTggQEAgTlNfQVNTVU1FX05PTk5VTExfQkVHSU4KICNpZiBIQVZF
KFBBU1NLSVRfVVBEQVRFX1NISVBQSU5HX01FVEhPRFNfV0hFTl9DSEFOR0lOR19TVU1NQVJZX0lU
RU1TKQogQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5TQXJyYXk8UEtTaGlwcGluZ01ldGhv
ZCAqPiAqc2hpcHBpbmdNZXRob2RzOwogI2VuZGlmCisjaWYgSEFWRShQQVNTS0lUX0RFRkFVTFRf
U0hJUFBJTkdfTUVUSE9EKQorQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIFBLU2hpcHBpbmdN
ZXRob2RzICphdmFpbGFibGVTaGlwcGluZ01ldGhvZHM7CisjZW5kaWYKIEBlbmQKIAogQGludGVy
ZmFjZSBQS1BheW1lbnRSZXF1ZXN0UGF5bWVudE1ldGhvZFVwZGF0ZSA6IFBLUGF5bWVudFJlcXVl
c3RVcGRhdGUKLS0gKGluc3RhbmNldHlwZSlpbml0V2l0aEVycm9yczoobnVsbGFibGUgTlNBcnJh
eTxOU0Vycm9yICo+ICopZXJyb3JzIHBheW1lbnRTdW1tYXJ5SXRlbXM6KG5vbm51bGwgTlNBcnJh
eTxQS1BheW1lbnRTdW1tYXJ5SXRlbSAqPiAqKXN1bW1hcnlJdGVtczsKIEBwcm9wZXJ0eSAobnVs
bF9yZXNldHRhYmxlLCBub25hdG9taWMsIGNvcHkpIE5TQXJyYXk8TlNFcnJvciAqPiAqZXJyb3Jz
OwogQGVuZAogCiBAaW50ZXJmYWNlIFBLUGF5bWVudFJlcXVlc3RTaGlwcGluZ0NvbnRhY3RVcGRh
dGUgOiBQS1BheW1lbnRSZXF1ZXN0VXBkYXRlCi0tIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhFcnJv
cnM6KG51bGxhYmxlIE5TQXJyYXk8TlNFcnJvciAqPiAqKWVycm9ycyBwYXltZW50U3VtbWFyeUl0
ZW1zOihub25udWxsIE5TQXJyYXk8UEtQYXltZW50U3VtbWFyeUl0ZW0gKj4gKilzdW1tYXJ5SXRl
bXMgc2hpcHBpbmdNZXRob2RzOihub25udWxsIE5TQXJyYXk8UEtTaGlwcGluZ01ldGhvZCAqPiAq
KXNoaXBwaW5nTWV0aG9kczsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU0FycmF5PFBL
U2hpcHBpbmdNZXRob2QgKj4gKnNoaXBwaW5nTWV0aG9kczsKK0Bwcm9wZXJ0eSAobm9uYXRvbWlj
LCBjb3B5LCBudWxsX3Jlc2V0dGFibGUpIE5TQXJyYXk8TlNFcnJvciAqPiAqZXJyb3JzOwogQGVu
ZAogCiBAaW50ZXJmYWNlIFBLUGF5bWVudFJlcXVlc3RTaGlwcGluZ01ldGhvZFVwZGF0ZSA6IFBL
UGF5bWVudFJlcXVlc3RVcGRhdGUKQEAgLTQ3Niw3ICs0OTIsNyBAQCBOU19BU1NVTUVfTk9OTlVM
TF9CRUdJTgogCiAjaWYgSEFWRShQQVNTS0lUX0NPVVBPTl9DT0RFKQogQGludGVyZmFjZSBQS1Bh
eW1lbnRSZXF1ZXN0Q291cG9uQ29kZVVwZGF0ZSA6IFBLUGF5bWVudFJlcXVlc3RVcGRhdGUKLS0g
KGluc3RhbmNldHlwZSlpbml0V2l0aEVycm9yczoobnVsbGFibGUgTlNBcnJheTxOU0Vycm9yICo+
ICopZXJyb3JzIHBheW1lbnRTdW1tYXJ5SXRlbXM6KE5TQXJyYXk8UEtQYXltZW50U3VtbWFyeUl0
ZW0gKj4gKilwYXltZW50U3VtbWFyeUl0ZW1zIHNoaXBwaW5nTWV0aG9kczooTlNBcnJheTxQS1No
aXBwaW5nTWV0aG9kICo+ICopc2hpcHBpbmdNZXRob2RzOworQHByb3BlcnR5IChub25hdG9taWMs
IGNvcHksIG51bGxfcmVzZXR0YWJsZSkgTlNBcnJheTxOU0Vycm9yICo+ICplcnJvcnM7CiBAZW5k
CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9jb2NvYS9QYXlt
ZW50QXV0aG9yaXphdGlvblByZXNlbnRlci5tbSBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vY29j
b2EvUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXIubW0KaW5kZXggNTJiOTYwZGNkYjNiYmYz
NDQ1MzYxYmVjMmZiODRjYzBmY2EwZjY5OS4uY2YzYjhiMmU3Y2U5ZDZmMDMxODY2ZmRjYTg2OWNl
MGIyZmQyNTY0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9jb2NvYS9QYXlt
ZW50QXV0aG9yaXphdGlvblByZXNlbnRlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3Jt
L2NvY29hL1BheW1lbnRBdXRob3JpemF0aW9uUHJlc2VudGVyLm1tCkBAIC0xOTUsMTMgKzE5NSw2
IEBAIHN0YXRpYyBSZXRhaW5QdHI8TlNBcnJheT4gdG9OU0Vycm9ycyhjb25zdCBWZWN0b3I8UmVm
UHRyPFdlYkNvcmU6OkFwcGxlUGF5RXJyb3I+CiAgICAgfSk7CiB9CiAKLXN0YXRpYyBSZXRhaW5Q
dHI8TlNBcnJheT4gdG9QS1NoaXBwaW5nTWV0aG9kcyhjb25zdCBWZWN0b3I8V2ViQ29yZTo6QXBw
bGVQYXlTaGlwcGluZ01ldGhvZD4mIHNoaXBwaW5nTWV0aG9kcykKLXsKLSAgICByZXR1cm4gY3Jl
YXRlTlNBcnJheShzaGlwcGluZ01ldGhvZHMsIFtdIChhdXRvJiBtZXRob2QpIHsKLSAgICAgICAg
cmV0dXJuIHRvUEtTaGlwcGluZ01ldGhvZChtZXRob2QpOwotICAgIH0pOwotfQotCiB2b2lkIFBh
eW1lbnRBdXRob3JpemF0aW9uUHJlc2VudGVyOjpjb21wbGV0ZU1lcmNoYW50VmFsaWRhdGlvbihj
b25zdCBXZWJDb3JlOjpQYXltZW50TWVyY2hhbnRTZXNzaW9uJiBtZXJjaGFudFNlc3Npb24pCiB7
CiAgICAgQVNTRVJUKHBsYXRmb3JtRGVsZWdhdGUoKSk7CkBAIC0yMjMsNyArMjE2LDEzIEBAIHZv
aWQgUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXI6OmNvbXBsZXRlUGF5bWVudE1ldGhvZFNl
bGVjdGlvbihzdGQ6Om9wdGlvbmFsCiAgICAgYXV0byBwYXltZW50TWV0aG9kVXBkYXRlID0gYWRv
cHROUyhbUEFMOjphbGxvY1BLUGF5bWVudFJlcXVlc3RQYXltZW50TWV0aG9kVXBkYXRlSW5zdGFu
Y2UoKSBpbml0V2l0aFBheW1lbnRTdW1tYXJ5SXRlbXM6V2ViQ29yZTo6cGxhdGZvcm1TdW1tYXJ5
SXRlbXMoV1RGTW92ZSh1cGRhdGUtPm5ld1RvdGFsKSwgV1RGTW92ZSh1cGRhdGUtPm5ld0xpbmVJ
dGVtcykpXSk7CiAjaWYgSEFWRShQQVNTS0lUX1VQREFURV9TSElQUElOR19NRVRIT0RTX1dIRU5f
Q0hBTkdJTkdfU1VNTUFSWV9JVEVNUykKICAgICBbcGF5bWVudE1ldGhvZFVwZGF0ZSBzZXRFcnJv
cnM6dG9OU0Vycm9ycyhXVEZNb3ZlKHVwZGF0ZS0+ZXJyb3JzKSkuZ2V0KCldOwotICAgIFtwYXlt
ZW50TWV0aG9kVXBkYXRlIHNldFNoaXBwaW5nTWV0aG9kczp0b1BLU2hpcHBpbmdNZXRob2RzKFdU
Rk1vdmUodXBkYXRlLT5uZXdTaGlwcGluZ01ldGhvZHMpKS5nZXQoKV07CisjaWYgSEFWRShQQVNT
S0lUX0RFRkFVTFRfU0hJUFBJTkdfTUVUSE9EKQorICAgIFtwYXltZW50TWV0aG9kVXBkYXRlIHNl
dEF2YWlsYWJsZVNoaXBwaW5nTWV0aG9kczp0b1BLU2hpcHBpbmdNZXRob2RzKFdURk1vdmUodXBk
YXRlLT5uZXdTaGlwcGluZ01ldGhvZHMpKV07CisjZWxzZQorICAgIFtwYXltZW50TWV0aG9kVXBk
YXRlIHNldFNoaXBwaW5nTWV0aG9kczpjcmVhdGVOU0FycmF5KFdURk1vdmUodXBkYXRlLT5uZXdT
aGlwcGluZ01ldGhvZHMpLCBbXSAoYXV0byYgbWV0aG9kKSB7CisgICAgICAgIHJldHVybiB0b1BL
U2hpcHBpbmdNZXRob2QobWV0aG9kKTsKKyAgICB9KS5nZXQoKV07CisjZW5kaWYKICNlbmRpZgog
I2lmIEhBVkUoUEFTU0tJVF9JTlNUQUxMTUVOVFMpICYmIEVOQUJMRShBUFBMRV9QQVlfSU5TVEFM
TE1FTlRTKQogICAgIFtwYXltZW50TWV0aG9kVXBkYXRlIHNldEluc3RhbGxtZW50R3JvdXBJZGVu
dGlmaWVyOldURk1vdmUodXBkYXRlLT5pbnN0YWxsbWVudEdyb3VwSWRlbnRpZmllcildOwpAQCAt
MjQ4LDkgKzI0NywxNSBAQCB2b2lkIFBheW1lbnRBdXRob3JpemF0aW9uUHJlc2VudGVyOjpjb21w
bGV0ZVNoaXBwaW5nQ29udGFjdFNlbGVjdGlvbihzdGQ6Om9wdGlvbgogICAgICAgICByZXR1cm47
CiAgICAgfQogCi0gICAgYXV0byBzaGlwcGluZ0NvbnRhY3RVcGRhdGUgPSBhZG9wdE5TKFtQQUw6
OmFsbG9jUEtQYXltZW50UmVxdWVzdFNoaXBwaW5nQ29udGFjdFVwZGF0ZUluc3RhbmNlKCkgaW5p
dFdpdGhFcnJvcnM6dG9OU0Vycm9ycyhXVEZNb3ZlKHVwZGF0ZS0+ZXJyb3JzKSkuZ2V0KCkKLSAg
ICAgICAgcGF5bWVudFN1bW1hcnlJdGVtczpXZWJDb3JlOjpwbGF0Zm9ybVN1bW1hcnlJdGVtcyhX
VEZNb3ZlKHVwZGF0ZS0+bmV3VG90YWwpLCBXVEZNb3ZlKHVwZGF0ZS0+bmV3TGluZUl0ZW1zKSkK
LSAgICAgICAgc2hpcHBpbmdNZXRob2RzOnRvUEtTaGlwcGluZ01ldGhvZHMoV1RGTW92ZSh1cGRh
dGUtPm5ld1NoaXBwaW5nTWV0aG9kcykpLmdldCgpXSk7CisgICAgYXV0byBzaGlwcGluZ0NvbnRh
Y3RVcGRhdGUgPSBhZG9wdE5TKFtQQUw6OmFsbG9jUEtQYXltZW50UmVxdWVzdFNoaXBwaW5nQ29u
dGFjdFVwZGF0ZUluc3RhbmNlKCkgaW5pdFdpdGhQYXltZW50U3VtbWFyeUl0ZW1zOldlYkNvcmU6
OnBsYXRmb3JtU3VtbWFyeUl0ZW1zKFdURk1vdmUodXBkYXRlLT5uZXdUb3RhbCksIFdURk1vdmUo
dXBkYXRlLT5uZXdMaW5lSXRlbXMpKV0pOworICAgIFtzaGlwcGluZ0NvbnRhY3RVcGRhdGUgc2V0
RXJyb3JzOnRvTlNFcnJvcnMoV1RGTW92ZSh1cGRhdGUtPmVycm9ycykpLmdldCgpXTsKKyNpZiBI
QVZFKFBBU1NLSVRfREVGQVVMVF9TSElQUElOR19NRVRIT0QpCisgICAgW3NoaXBwaW5nQ29udGFj
dFVwZGF0ZSBzZXRBdmFpbGFibGVTaGlwcGluZ01ldGhvZHM6dG9QS1NoaXBwaW5nTWV0aG9kcyhX
VEZNb3ZlKHVwZGF0ZS0+bmV3U2hpcHBpbmdNZXRob2RzKSldOworI2Vsc2UKKyAgICBbc2hpcHBp
bmdDb250YWN0VXBkYXRlIHNldFNoaXBwaW5nTWV0aG9kczpjcmVhdGVOU0FycmF5KFdURk1vdmUo
dXBkYXRlLT5uZXdTaGlwcGluZ01ldGhvZHMpLCBbXSAoYXV0byYgbWV0aG9kKSB7CisgICAgICAg
IHJldHVybiB0b1BLU2hpcHBpbmdNZXRob2QobWV0aG9kKTsKKyAgICB9KS5nZXQoKV07CisjZW5k
aWYKICAgICBtZXJnZShzaGlwcGluZ0NvbnRhY3RVcGRhdGUuZ2V0KCksICp1cGRhdGUpOwogICAg
IFtwbGF0Zm9ybURlbGVnYXRlKCkgY29tcGxldGVTaGlwcGluZ0NvbnRhY3RTZWxlY3Rpb246c2hp
cHBpbmdDb250YWN0VXBkYXRlLmdldCgpXTsKIH0KQEAgLTI2NCw4ICsyNjksMTIgQEAgdm9pZCBQ
YXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlcjo6Y29tcGxldGVTaGlwcGluZ01ldGhvZFNlbGVj
dGlvbihzdGQ6Om9wdGlvbmEKICAgICB9CiAKICAgICBhdXRvIHNoaXBwaW5nTWV0aG9kVXBkYXRl
ID0gYWRvcHROUyhbUEFMOjphbGxvY1BLUGF5bWVudFJlcXVlc3RTaGlwcGluZ01ldGhvZFVwZGF0
ZUluc3RhbmNlKCkgaW5pdFdpdGhQYXltZW50U3VtbWFyeUl0ZW1zOldlYkNvcmU6OnBsYXRmb3Jt
U3VtbWFyeUl0ZW1zKFdURk1vdmUodXBkYXRlLT5uZXdUb3RhbCksIFdURk1vdmUodXBkYXRlLT5u
ZXdMaW5lSXRlbXMpKV0pOwotI2lmIEhBVkUoUEFTU0tJVF9VUERBVEVfU0hJUFBJTkdfTUVUSE9E
U19XSEVOX0NIQU5HSU5HX1NVTU1BUllfSVRFTVMpCi0gICAgW3NoaXBwaW5nTWV0aG9kVXBkYXRl
IHNldFNoaXBwaW5nTWV0aG9kczp0b1BLU2hpcHBpbmdNZXRob2RzKFdURk1vdmUodXBkYXRlLT5u
ZXdTaGlwcGluZ01ldGhvZHMpKS5nZXQoKV07CisjaWYgSEFWRShQQVNTS0lUX0RFRkFVTFRfU0hJ
UFBJTkdfTUVUSE9EKQorICAgIFtzaGlwcGluZ01ldGhvZFVwZGF0ZSBzZXRBdmFpbGFibGVTaGlw
cGluZ01ldGhvZHM6dG9QS1NoaXBwaW5nTWV0aG9kcyhXVEZNb3ZlKHVwZGF0ZS0+bmV3U2hpcHBp
bmdNZXRob2RzKSldOworI2VsaWYgSEFWRShQQVNTS0lUX1VQREFURV9TSElQUElOR19NRVRIT0RT
X1dIRU5fQ0hBTkdJTkdfU1VNTUFSWV9JVEVNUykKKyAgICBbc2hpcHBpbmdNZXRob2RVcGRhdGUg
c2V0U2hpcHBpbmdNZXRob2RzOmNyZWF0ZU5TQXJyYXkoV1RGTW92ZSh1cGRhdGUtPm5ld1NoaXBw
aW5nTWV0aG9kcyksIFtdIChhdXRvJiBtZXRob2QpIHsKKyAgICAgICAgcmV0dXJuIHRvUEtTaGlw
cGluZ01ldGhvZChtZXRob2QpOworICAgIH0pLmdldCgpXTsKICNlbmRpZgogICAgIG1lcmdlKHNo
aXBwaW5nTWV0aG9kVXBkYXRlLmdldCgpLCAqdXBkYXRlKTsKICAgICBbcGxhdGZvcm1EZWxlZ2F0
ZSgpIGNvbXBsZXRlU2hpcHBpbmdNZXRob2RTZWxlY3Rpb246c2hpcHBpbmdNZXRob2RVcGRhdGUu
Z2V0KCldOwpAQCAtMjgxLDcgKzI5MCwxNCBAQCB2b2lkIFBheW1lbnRBdXRob3JpemF0aW9uUHJl
c2VudGVyOjpjb21wbGV0ZUNvdXBvbkNvZGVDaGFuZ2Uoc3RkOjpvcHRpb25hbDxXZWJDbwogICAg
ICAgICByZXR1cm47CiAgICAgfQogCi0gICAgYXV0byBjb3Vwb25Db2RlVXBkYXRlID0gYWRvcHRO
UyhbUEFMOjphbGxvY1BLUGF5bWVudFJlcXVlc3RDb3Vwb25Db2RlVXBkYXRlSW5zdGFuY2UoKSBp
bml0V2l0aEVycm9yczp0b05TRXJyb3JzKFdURk1vdmUodXBkYXRlLT5lcnJvcnMpKS5nZXQoKSBw
YXltZW50U3VtbWFyeUl0ZW1zOldlYkNvcmU6OnBsYXRmb3JtU3VtbWFyeUl0ZW1zKFdURk1vdmUo
dXBkYXRlLT5uZXdUb3RhbCksIFdURk1vdmUodXBkYXRlLT5uZXdMaW5lSXRlbXMpKSBzaGlwcGlu
Z01ldGhvZHM6dG9QS1NoaXBwaW5nTWV0aG9kcyhXVEZNb3ZlKHVwZGF0ZS0+bmV3U2hpcHBpbmdN
ZXRob2RzKSkuZ2V0KCldKTsKKyAgICBhdXRvIGNvdXBvbkNvZGVVcGRhdGUgPSBhZG9wdE5TKFtQ
QUw6OmFsbG9jUEtQYXltZW50UmVxdWVzdENvdXBvbkNvZGVVcGRhdGVJbnN0YW5jZSgpIGluaXRX
aXRoUGF5bWVudFN1bW1hcnlJdGVtczpXZWJDb3JlOjpwbGF0Zm9ybVN1bW1hcnlJdGVtcyhXVEZN
b3ZlKHVwZGF0ZS0+bmV3VG90YWwpLCBXVEZNb3ZlKHVwZGF0ZS0+bmV3TGluZUl0ZW1zKSldKTsK
KyNpZiBIQVZFKFBBU1NLSVRfREVGQVVMVF9TSElQUElOR19NRVRIT0QpCisgICAgW2NvdXBvbkNv
ZGVVcGRhdGUgc2V0QXZhaWxhYmxlU2hpcHBpbmdNZXRob2RzOnRvUEtTaGlwcGluZ01ldGhvZHMo
V1RGTW92ZSh1cGRhdGUtPm5ld1NoaXBwaW5nTWV0aG9kcykpXTsKKyNlbHNlCisgICAgW2NvdXBv
bkNvZGVVcGRhdGUgc2V0U2hpcHBpbmdNZXRob2RzOmNyZWF0ZU5TQXJyYXkoV1RGTW92ZSh1cGRh
dGUtPm5ld1NoaXBwaW5nTWV0aG9kcyksIFtdIChhdXRvJiBtZXRob2QpIHsKKyAgICAgICAgcmV0
dXJuIHRvUEtTaGlwcGluZ01ldGhvZChtZXRob2QpOworICAgIH0pLmdldCgpXTsKKyNlbmRpZgog
ICAgIG1lcmdlKGNvdXBvbkNvZGVVcGRhdGUuZ2V0KCksICp1cGRhdGUpOwogICAgIFtwbGF0Zm9y
bURlbGVnYXRlKCkgY29tcGxldGVDb3Vwb25Db2RlQ2hhbmdlOmNvdXBvbkNvZGVVcGRhdGUuZ2V0
KCldOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9jb2NvYS9XS1BheW1l
bnRBdXRob3JpemF0aW9uRGVsZWdhdGUubW0gYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL2NvY29h
L1dLUGF5bWVudEF1dGhvcml6YXRpb25EZWxlZ2F0ZS5tbQppbmRleCA0YzcxMzA4YWU0ZDY0ZGE2
YWU5ZGRlYmQ3MmZjZGExY2M2OGE1MmFiLi5mYzE0Mjg1Y2NlNDM2MjA2OTNhNGUxZjlmYjQ2MzI1
NGRmOTU1YTAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL2NvY29hL1dLUGF5
bWVudEF1dGhvcml6YXRpb25EZWxlZ2F0ZS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3Jt
L2NvY29hL1dLUGF5bWVudEF1dGhvcml6YXRpb25EZWxlZ2F0ZS5tbQpAQCAtMzUsNyArMzUsMTEg
QEAKIAogQGltcGxlbWVudGF0aW9uIFdLUGF5bWVudEF1dGhvcml6YXRpb25EZWxlZ2F0ZSB7CiAg
ICAgUmV0YWluUHRyPE5TQXJyYXk8UEtQYXltZW50U3VtbWFyeUl0ZW0gKj4+IF9zdW1tYXJ5SXRl
bXM7CisjaWYgSEFWRShQQVNTS0lUX0RFRkFVTFRfU0hJUFBJTkdfTUVUSE9EKQorICAgIFJldGFp
blB0cjxQS1NoaXBwaW5nTWV0aG9kcz4gX2F2YWlsYWJsZVNoaXBwaW5nTWV0aG9kczsKKyNlbHNl
CiAgICAgUmV0YWluUHRyPE5TQXJyYXk8UEtTaGlwcGluZ01ldGhvZCAqPj4gX3NoaXBwaW5nTWV0
aG9kczsKKyNlbmRpZgogICAgIFJldGFpblB0cjxOU0Vycm9yPiBfc2Vzc2lvbkVycm9yOwogICAg
IFdlYktpdDo6RGlkQXV0aG9yaXplUGF5bWVudENvbXBsZXRpb24gX2RpZEF1dGhvcml6ZVBheW1l
bnRDb21wbGV0aW9uOwogICAgIFdlYktpdDo6RGlkUmVxdWVzdE1lcmNoYW50U2Vzc2lvbkNvbXBs
ZXRpb24gX2RpZFJlcXVlc3RNZXJjaGFudFNlc3Npb25Db21wbGV0aW9uOwpAQCAtNDcsMTYgKzUx
LDYgQEAgQGltcGxlbWVudGF0aW9uIFdLUGF5bWVudEF1dGhvcml6YXRpb25EZWxlZ2F0ZSB7CiAj
ZW5kaWYKIH0KIAotLSAoTlNBcnJheTxQS1BheW1lbnRTdW1tYXJ5SXRlbSAqPiAqKXN1bW1hcnlJ
dGVtcwotewotICAgIHJldHVybiBfc3VtbWFyeUl0ZW1zLmdldCgpOwotfQotCi0tIChOU0FycmF5
PFBLU2hpcHBpbmdNZXRob2QgKj4gKilzaGlwcGluZ01ldGhvZHMKLXsKLSAgICByZXR1cm4gX3No
aXBwaW5nTWV0aG9kcy5nZXQoKTsKLX0KLQogLSAodm9pZCljb21wbGV0ZU1lcmNoYW50VmFsaWRh
dGlvbjooUEtQYXltZW50TWVyY2hhbnRTZXNzaW9uICopc2Vzc2lvbiBlcnJvcjooTlNFcnJvciAq
KWVycm9yCiB7CiAgICAgc3RkOjpleGNoYW5nZShfZGlkUmVxdWVzdE1lcmNoYW50U2Vzc2lvbkNv
bXBsZXRpb24sIG5pbCkoc2Vzc2lvbiwgZXJyb3IpOwpAQCAtNjQsOCArNTgsMjMgQEAgLSAodm9p
ZCljb21wbGV0ZU1lcmNoYW50VmFsaWRhdGlvbjooUEtQYXltZW50TWVyY2hhbnRTZXNzaW9uICop
c2Vzc2lvbiBlcnJvcjooTlMKIAogLSAodm9pZCljb21wbGV0ZVBheW1lbnRNZXRob2RTZWxlY3Rp
b246KFBLUGF5bWVudFJlcXVlc3RQYXltZW50TWV0aG9kVXBkYXRlICopcGF5bWVudE1ldGhvZFVw
ZGF0ZQogewotICAgIGF1dG8gdXBkYXRlID0gcGF5bWVudE1ldGhvZFVwZGF0ZSA/IHJldGFpblB0
cihwYXltZW50TWV0aG9kVXBkYXRlKSA6IGFkb3B0TlMoW1BBTDo6YWxsb2NQS1BheW1lbnRSZXF1
ZXN0UGF5bWVudE1ldGhvZFVwZGF0ZUluc3RhbmNlKCkgaW5pdFdpdGhQYXltZW50U3VtbWFyeUl0
ZW1zOl9zdW1tYXJ5SXRlbXMuZ2V0KCldKTsKLSAgICBfc3VtbWFyeUl0ZW1zID0gYWRvcHROUyhb
W3VwZGF0ZSBwYXltZW50U3VtbWFyeUl0ZW1zXSBjb3B5XSk7CisgICAgUmV0YWluUHRyIHVwZGF0
ZSA9IHBheW1lbnRNZXRob2RVcGRhdGU7CisgICAgaWYgKHVwZGF0ZSkgeworICAgICAgICBfc3Vt
bWFyeUl0ZW1zID0gYWRvcHROUyhbW3VwZGF0ZSBwYXltZW50U3VtbWFyeUl0ZW1zXSBjb3B5XSk7
CisjaWYgSEFWRShQQVNTS0lUX0RFRkFVTFRfU0hJUFBJTkdfTUVUSE9EKQorICAgICAgICBfYXZh
aWxhYmxlU2hpcHBpbmdNZXRob2RzID0gYWRvcHROUyhbW3VwZGF0ZSBhdmFpbGFibGVTaGlwcGlu
Z01ldGhvZHNdIGNvcHldKTsKKyNlbGlmIEhBVkUoUEFTU0tJVF9VUERBVEVfU0hJUFBJTkdfTUVU
SE9EU19XSEVOX0NIQU5HSU5HX1NVTU1BUllfSVRFTVMpCisgICAgICAgIF9zaGlwcGluZ01ldGhv
ZHMgPSBhZG9wdE5TKFtbdXBkYXRlIHNoaXBwaW5nTWV0aG9kc10gY29weV0pOworI2VuZGlmCisg
ICAgfSBlbHNlIHsKKyAgICAgICAgdXBkYXRlID0gYWRvcHROUyhbUEFMOjphbGxvY1BLUGF5bWVu
dFJlcXVlc3RQYXltZW50TWV0aG9kVXBkYXRlSW5zdGFuY2UoKSBpbml0V2l0aFBheW1lbnRTdW1t
YXJ5SXRlbXM6X3N1bW1hcnlJdGVtcy5nZXQoKV0pOworI2lmIEhBVkUoUEFTU0tJVF9ERUZBVUxU
X1NISVBQSU5HX01FVEhPRCkKKyAgICAgICAgW3VwZGF0ZSBzZXRBdmFpbGFibGVTaGlwcGluZ01l
dGhvZHM6X2F2YWlsYWJsZVNoaXBwaW5nTWV0aG9kcy5nZXQoKV07CisjZWxpZiBIQVZFKFBBU1NL
SVRfVVBEQVRFX1NISVBQSU5HX01FVEhPRFNfV0hFTl9DSEFOR0lOR19TVU1NQVJZX0lURU1TKQor
ICAgICAgICBbdXBkYXRlIHNldFNoaXBwaW5nTWV0aG9kczpfc2hpcHBpbmdNZXRob2RzLmdldCgp
XTsKKyNlbmRpZgorICAgIH0KKwogICAgIHN0ZDo6ZXhjaGFuZ2UoX2RpZFNlbGVjdFBheW1lbnRN
ZXRob2RDb21wbGV0aW9uLCBuaWwpKHVwZGF0ZS5nZXQoKSk7CiB9CiAKQEAgLTc2LDE2ICs4NSw0
NSBAQCAtICh2b2lkKWNvbXBsZXRlUGF5bWVudFNlc3Npb246KFBLUGF5bWVudEF1dGhvcml6YXRp
b25TdGF0dXMpc3RhdHVzIGVycm9yczooTlNBcgogfQogLSAodm9pZCljb21wbGV0ZVNoaXBwaW5n
Q29udGFjdFNlbGVjdGlvbjooUEtQYXltZW50UmVxdWVzdFNoaXBwaW5nQ29udGFjdFVwZGF0ZSAq
KXNoaXBwaW5nQ29udGFjdFVwZGF0ZQogewotICAgIGF1dG8gdXBkYXRlID0gc2hpcHBpbmdDb250
YWN0VXBkYXRlID8gcmV0YWluUHRyKHNoaXBwaW5nQ29udGFjdFVwZGF0ZSkgOiBhZG9wdE5TKFtQ
QUw6OmFsbG9jUEtQYXltZW50UmVxdWVzdFNoaXBwaW5nQ29udGFjdFVwZGF0ZUluc3RhbmNlKCkg
aW5pdFdpdGhFcnJvcnM6QFtdIHBheW1lbnRTdW1tYXJ5SXRlbXM6X3N1bW1hcnlJdGVtcy5nZXQo
KSBzaGlwcGluZ01ldGhvZHM6X3NoaXBwaW5nTWV0aG9kcy5nZXQoKV0pOwotICAgIF9zdW1tYXJ5
SXRlbXMgPSBhZG9wdE5TKFtbdXBkYXRlIHBheW1lbnRTdW1tYXJ5SXRlbXNdIGNvcHldKTsKLSAg
ICBfc2hpcHBpbmdNZXRob2RzID0gYWRvcHROUyhbW3VwZGF0ZSBzaGlwcGluZ01ldGhvZHNdIGNv
cHldKTsKKyAgICBSZXRhaW5QdHIgdXBkYXRlID0gc2hpcHBpbmdDb250YWN0VXBkYXRlOworICAg
IGlmICh1cGRhdGUpIHsKKyAgICAgICAgX3N1bW1hcnlJdGVtcyA9IGFkb3B0TlMoW1t1cGRhdGUg
cGF5bWVudFN1bW1hcnlJdGVtc10gY29weV0pOworI2lmIEhBVkUoUEFTU0tJVF9ERUZBVUxUX1NI
SVBQSU5HX01FVEhPRCkKKyAgICAgICAgX2F2YWlsYWJsZVNoaXBwaW5nTWV0aG9kcyA9IGFkb3B0
TlMoW1t1cGRhdGUgYXZhaWxhYmxlU2hpcHBpbmdNZXRob2RzXSBjb3B5XSk7CisjZWxzZQorICAg
ICAgICBfc2hpcHBpbmdNZXRob2RzID0gYWRvcHROUyhbW3VwZGF0ZSBzaGlwcGluZ01ldGhvZHNd
IGNvcHldKTsKKyNlbmRpZgorICAgIH0gZWxzZSB7CisgICAgICAgIHVwZGF0ZSA9IGFkb3B0TlMo
W1BBTDo6YWxsb2NQS1BheW1lbnRSZXF1ZXN0U2hpcHBpbmdDb250YWN0VXBkYXRlSW5zdGFuY2Uo
KSBpbml0V2l0aFBheW1lbnRTdW1tYXJ5SXRlbXM6X3N1bW1hcnlJdGVtcy5nZXQoKV0pOworI2lm
IEhBVkUoUEFTU0tJVF9ERUZBVUxUX1NISVBQSU5HX01FVEhPRCkKKyAgICAgICAgW3VwZGF0ZSBz
ZXRBdmFpbGFibGVTaGlwcGluZ01ldGhvZHM6X2F2YWlsYWJsZVNoaXBwaW5nTWV0aG9kcy5nZXQo
KV07CisjZWxzZQorICAgICAgICBbdXBkYXRlIHNldFNoaXBwaW5nTWV0aG9kczpfc2hpcHBpbmdN
ZXRob2RzLmdldCgpXTsKKyNlbmRpZgorICAgIH0KKwogICAgIHN0ZDo6ZXhjaGFuZ2UoX2RpZFNl
bGVjdFNoaXBwaW5nQ29udGFjdENvbXBsZXRpb24sIG5pbCkodXBkYXRlLmdldCgpKTsKIH0KIAog
LSAodm9pZCljb21wbGV0ZVNoaXBwaW5nTWV0aG9kU2VsZWN0aW9uOihQS1BheW1lbnRSZXF1ZXN0
U2hpcHBpbmdNZXRob2RVcGRhdGUgKilzaGlwcGluZ01ldGhvZFVwZGF0ZQogewotICAgIGF1dG8g
dXBkYXRlID0gc2hpcHBpbmdNZXRob2RVcGRhdGUgPyByZXRhaW5QdHIoc2hpcHBpbmdNZXRob2RV
cGRhdGUpIDogYWRvcHROUyhbUEFMOjphbGxvY1BLUGF5bWVudFJlcXVlc3RTaGlwcGluZ01ldGhv
ZFVwZGF0ZUluc3RhbmNlKCkgaW5pdFdpdGhQYXltZW50U3VtbWFyeUl0ZW1zOl9zdW1tYXJ5SXRl
bXMuZ2V0KCldKTsKLSAgICBfc3VtbWFyeUl0ZW1zID0gYWRvcHROUyhbW3VwZGF0ZSBwYXltZW50
U3VtbWFyeUl0ZW1zXSBjb3B5XSk7CisgICAgUmV0YWluUHRyIHVwZGF0ZSA9IHNoaXBwaW5nTWV0
aG9kVXBkYXRlOworICAgIGlmICh1cGRhdGUpIHsKKyAgICAgICAgX3N1bW1hcnlJdGVtcyA9IGFk
b3B0TlMoW1t1cGRhdGUgcGF5bWVudFN1bW1hcnlJdGVtc10gY29weV0pOworI2lmIEhBVkUoUEFT
U0tJVF9ERUZBVUxUX1NISVBQSU5HX01FVEhPRCkKKyAgICAgICAgX2F2YWlsYWJsZVNoaXBwaW5n
TWV0aG9kcyA9IGFkb3B0TlMoW1t1cGRhdGUgYXZhaWxhYmxlU2hpcHBpbmdNZXRob2RzXSBjb3B5
XSk7CisjZWxpZiBIQVZFKFBBU1NLSVRfVVBEQVRFX1NISVBQSU5HX01FVEhPRFNfV0hFTl9DSEFO
R0lOR19TVU1NQVJZX0lURU1TKQorICAgICAgICBfc2hpcHBpbmdNZXRob2RzID0gYWRvcHROUyhb
W3VwZGF0ZSBzaGlwcGluZ01ldGhvZHNdIGNvcHldKTsKKyNlbmRpZgorICAgIH0gZWxzZSB7Cisg
ICAgICAgIHVwZGF0ZSA9IGFkb3B0TlMoW1BBTDo6YWxsb2NQS1BheW1lbnRSZXF1ZXN0U2hpcHBp
bmdNZXRob2RVcGRhdGVJbnN0YW5jZSgpIGluaXRXaXRoUGF5bWVudFN1bW1hcnlJdGVtczpfc3Vt
bWFyeUl0ZW1zLmdldCgpXSk7CisjaWYgSEFWRShQQVNTS0lUX0RFRkFVTFRfU0hJUFBJTkdfTUVU
SE9EKQorICAgICAgICBbdXBkYXRlIHNldEF2YWlsYWJsZVNoaXBwaW5nTWV0aG9kczpfYXZhaWxh
YmxlU2hpcHBpbmdNZXRob2RzLmdldCgpXTsKKyNlbGlmIEhBVkUoUEFTU0tJVF9VUERBVEVfU0hJ
UFBJTkdfTUVUSE9EU19XSEVOX0NIQU5HSU5HX1NVTU1BUllfSVRFTVMpCisgICAgICAgIFt1cGRh
dGUgc2V0U2hpcHBpbmdNZXRob2RzOl9zaGlwcGluZ01ldGhvZHMuZ2V0KCldOworI2VuZGlmCisg
ICAgfQorCiAgICAgc3RkOjpleGNoYW5nZShfZGlkU2VsZWN0U2hpcHBpbmdNZXRob2RDb21wbGV0
aW9uLCBuaWwpKHVwZGF0ZS5nZXQoKSk7CiB9CiAKQEAgLTkzLDEwICsxMzEsMjQgQEAgLSAodm9p
ZCljb21wbGV0ZVNoaXBwaW5nTWV0aG9kU2VsZWN0aW9uOihQS1BheW1lbnRSZXF1ZXN0U2hpcHBp
bmdNZXRob2RVcGRhdGUgKikKIAogLSAodm9pZCljb21wbGV0ZUNvdXBvbkNvZGVDaGFuZ2U6KFBL
UGF5bWVudFJlcXVlc3RDb3Vwb25Db2RlVXBkYXRlICopY291cG9uQ29kZVVwZGF0ZQogewotICAg
IFBLUGF5bWVudFJlcXVlc3RDb3Vwb25Db2RlVXBkYXRlICp1cGRhdGUgPSBjb3Vwb25Db2RlVXBk
YXRlID86IGFkb3B0TlMoW1BBTDo6YWxsb2NQS1BheW1lbnRSZXF1ZXN0Q291cG9uQ29kZVVwZGF0
ZUluc3RhbmNlKCkgaW5pdFdpdGhFcnJvcnM6QFtdIHBheW1lbnRTdW1tYXJ5SXRlbXM6X3N1bW1h
cnlJdGVtcy5nZXQoKSBzaGlwcGluZ01ldGhvZHM6X3NoaXBwaW5nTWV0aG9kcy5nZXQoKV0pLmF1
dG9yZWxlYXNlKCk7Ci0gICAgX3N1bW1hcnlJdGVtcyA9IGFkb3B0TlMoW3VwZGF0ZS5wYXltZW50
U3VtbWFyeUl0ZW1zIGNvcHldKTsKLSAgICBfc2hpcHBpbmdNZXRob2RzID0gYWRvcHROUyhbdXBk
YXRlLnNoaXBwaW5nTWV0aG9kcyBjb3B5XSk7Ci0gICAgc3RkOjpleGNoYW5nZShfZGlkQ2hhbmdl
Q291cG9uQ29kZUNvbXBsZXRpb24sIG5pbCkodXBkYXRlKTsKKyAgICBSZXRhaW5QdHIgdXBkYXRl
ID0gY291cG9uQ29kZVVwZGF0ZTsKKyAgICBpZiAodXBkYXRlKSB7CisgICAgICAgIF9zdW1tYXJ5
SXRlbXMgPSBhZG9wdE5TKFtbdXBkYXRlIHBheW1lbnRTdW1tYXJ5SXRlbXNdIGNvcHldKTsKKyNp
ZiBIQVZFKFBBU1NLSVRfREVGQVVMVF9TSElQUElOR19NRVRIT0QpCisgICAgICAgIF9hdmFpbGFi
bGVTaGlwcGluZ01ldGhvZHMgPSBhZG9wdE5TKFtbdXBkYXRlIGF2YWlsYWJsZVNoaXBwaW5nTWV0
aG9kc10gY29weV0pOworI2Vsc2UKKyAgICAgICAgX3NoaXBwaW5nTWV0aG9kcyA9IGFkb3B0TlMo
W1t1cGRhdGUgc2hpcHBpbmdNZXRob2RzXSBjb3B5XSk7CisjZW5kaWYKKyAgICB9IGVsc2Ugewor
ICAgICAgICB1cGRhdGUgPSBhZG9wdE5TKFtQQUw6OmFsbG9jUEtQYXltZW50UmVxdWVzdENvdXBv
bkNvZGVVcGRhdGVJbnN0YW5jZSgpIGluaXRXaXRoUGF5bWVudFN1bW1hcnlJdGVtczpfc3VtbWFy
eUl0ZW1zLmdldCgpXSk7CisjaWYgSEFWRShQQVNTS0lUX0RFRkFVTFRfU0hJUFBJTkdfTUVUSE9E
KQorICAgICAgICBbdXBkYXRlIHNldEF2YWlsYWJsZVNoaXBwaW5nTWV0aG9kczpfYXZhaWxhYmxl
U2hpcHBpbmdNZXRob2RzLmdldCgpXTsKKyNlbHNlCisgICAgICAgIFt1cGRhdGUgc2V0U2hpcHBp
bmdNZXRob2RzOl9zaGlwcGluZ01ldGhvZHMuZ2V0KCldOworI2VuZGlmCisgICAgfQorCisgICAg
c3RkOjpleGNoYW5nZShfZGlkQ2hhbmdlQ291cG9uQ29kZUNvbXBsZXRpb24sIG5pbCkodXBkYXRl
LmdldCgpKTsKIH0KIAogI2VuZGlmIC8vIEhBVkUoUEFTU0tJVF9DT1VQT05fQ09ERSkKQEAgLTEx
OCw3ICsxNzAsMTEgQEAgLSAoaW5zdGFuY2V0eXBlKV9pbml0V2l0aFJlcXVlc3Q6KFBLUGF5bWVu
dFJlcXVlc3QgKilyZXF1ZXN0IHByZXNlbnRlcjooV2ViS2l0OjoKIAogICAgIF9wcmVzZW50ZXIg
PSBwcmVzZW50ZXI7CiAgICAgX3JlcXVlc3QgPSByZXF1ZXN0OworI2lmIEhBVkUoUEFTU0tJVF9E
RUZBVUxUX1NISVBQSU5HX01FVEhPRCkKKyAgICBfYXZhaWxhYmxlU2hpcHBpbmdNZXRob2RzID0g
cmVxdWVzdC5hdmFpbGFibGVTaGlwcGluZ01ldGhvZHM7CisjZWxzZQogICAgIF9zaGlwcGluZ01l
dGhvZHMgPSByZXF1ZXN0LnNoaXBwaW5nTWV0aG9kczsKKyNlbmRpZgogICAgIF9zdW1tYXJ5SXRl
bXMgPSByZXF1ZXN0LnBheW1lbnRTdW1tYXJ5SXRlbXM7CiAgICAgcmV0dXJuIHNlbGY7CiB9CkBA
IC0yMTQsNyArMjcwLDcgQEAgc3RhdGljIFdlYkNvcmU6OkFwcGxlUGF5RGF0ZUNvbXBvbmVudHNS
YW5nZSB0b0RhdGVDb21wb25lbnRzUmFuZ2UoUEtEYXRlQ29tcG9uZW4KIAogI2VuZGlmIC8vIEhB
VkUoUEFTU0tJVF9TSElQUElOR19NRVRIT0RfREFURV9DT01QT05FTlRTX1JBTkdFKQogCi1zdGF0
aWMgV2ViQ29yZTo6QXBwbGVQYXlTaGlwcGluZ01ldGhvZCB0b1NoaXBwaW5nTWV0aG9kKFBLU2hp
cHBpbmdNZXRob2QgKnNoaXBwaW5nTWV0aG9kKQorc3RhdGljIFdlYkNvcmU6OkFwcGxlUGF5U2hp
cHBpbmdNZXRob2QgdG9TaGlwcGluZ01ldGhvZChQS1NoaXBwaW5nTWV0aG9kICpzaGlwcGluZ01l
dGhvZCwgYm9vbCBzZWxlY3RlZCkKIHsKICAgICBBU1NFUlQoc2hpcHBpbmdNZXRob2QpOwogCkBA
IC0yMjYsNiArMjgyLDExIEBAIHN0YXRpYyBXZWJDb3JlOjpBcHBsZVBheVNoaXBwaW5nTWV0aG9k
IHRvU2hpcHBpbmdNZXRob2QoUEtTaGlwcGluZ01ldGhvZCAqc2hpcHBpCiAjaWYgSEFWRShQQVNT
S0lUX1NISVBQSU5HX01FVEhPRF9EQVRFX0NPTVBPTkVOVFNfUkFOR0UpCiAgICAgaWYgKHNoaXBw
aW5nTWV0aG9kLmRhdGVDb21wb25lbnRzUmFuZ2UpCiAgICAgICAgIHJlc3VsdC5kYXRlQ29tcG9u
ZW50c1JhbmdlID0gdG9EYXRlQ29tcG9uZW50c1JhbmdlKHNoaXBwaW5nTWV0aG9kLmRhdGVDb21w
b25lbnRzUmFuZ2UpOworI2VuZGlmCisjaWYgRU5BQkxFKEFQUExFX1BBWV9TRUxFQ1RFRF9TSElQ
UElOR19NRVRIT0QpCisgICAgcmVzdWx0LnNlbGVjdGVkID0gc2VsZWN0ZWQ7CisjZWxzZQorICAg
IFVOVVNFRF9QQVJBTShzZWxlY3RlZCk7CiAjZW5kaWYKICAgICByZXR1cm4gcmVzdWx0OwogfQpA
QCAtMjM5LDcgKzMwMCw3IEBAIC0gKHZvaWQpX2RpZFNlbGVjdFNoaXBwaW5nTWV0aG9kOihQS1No
aXBwaW5nTWV0aG9kICopc2hpcHBpbmdNZXRob2QgY29tcGxldGlvbjooCiAgICAgaWYgKCFwcmVz
ZW50ZXIpCiAgICAgICAgIHJldHVybiBbc2VsZiBjb21wbGV0ZVNoaXBwaW5nTWV0aG9kU2VsZWN0
aW9uOm5pbF07CiAKLSAgICBwcmVzZW50ZXItPmNsaWVudCgpLnByZXNlbnRlckRpZFNlbGVjdFNo
aXBwaW5nTWV0aG9kKCpwcmVzZW50ZXIsIHRvU2hpcHBpbmdNZXRob2Qoc2hpcHBpbmdNZXRob2Qp
KTsKKyAgICBwcmVzZW50ZXItPmNsaWVudCgpLnByZXNlbnRlckRpZFNlbGVjdFNoaXBwaW5nTWV0
aG9kKCpwcmVzZW50ZXIsIHRvU2hpcHBpbmdNZXRob2Qoc2hpcHBpbmdNZXRob2QsIHRydWUpKTsK
IH0KIAogI2lmIEhBVkUoUEFTU0tJVF9DT1VQT05fQ09ERSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5Q29j
b2EuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRDb29y
ZGluYXRvclByb3h5Q29jb2EuaAppbmRleCAyMzY2NmI3MzY0MzQyZTI2YTI1MzhiNGQyYTFhMzk0
M2ZmNGM1YTdkLi40NjY1MDY5MGE0NWVjYzU0N2ZjNTRiNGU0OTExODU0NjgzYjViNTViIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBheS9jb2NvYS9XZWJQYXltZW50Q29v
cmRpbmF0b3JQcm94eUNvY29hLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQXBwbGVQYXkv
Y29jb2EvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYS5oCkBAIC0yOCw2ICsyOCw3IEBA
CiAjaWYgRU5BQkxFKEFQUExFX1BBWSkKIAogT0JKQ19DTEFTUyBQS1NoaXBwaW5nTWV0aG9kOwor
T0JKQ19DTEFTUyBQS1NoaXBwaW5nTWV0aG9kczsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogc3Ry
dWN0IEFwcGxlUGF5U2hpcHBpbmdNZXRob2Q7CkBAIC0zOSw2ICs0MCw5IEBAIG5hbWVzcGFjZSBX
ZWJLaXQgewogLy8gaG93IHRvIGNvbnZlcnQgdGhlbXNlbHZlcyB0byBhbmQgZnJvbSB0aGVpciBw
bGF0Zm9ybSByZXByZXNlbnRhdGlvbnMuCiBOU0RlY2ltYWxOdW1iZXIgKnRvRGVjaW1hbE51bWJl
cihjb25zdCBTdHJpbmcmIGFtb3VudCk7CiBQS1NoaXBwaW5nTWV0aG9kICp0b1BLU2hpcHBpbmdN
ZXRob2QoY29uc3QgV2ViQ29yZTo6QXBwbGVQYXlTaGlwcGluZ01ldGhvZCYpOworI2lmIEhBVkUo
UEFTU0tJVF9ERUZBVUxUX1NISVBQSU5HX01FVEhPRCkKK1BLU2hpcHBpbmdNZXRob2RzICp0b1BL
U2hpcHBpbmdNZXRob2RzKGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpBcHBsZVBheVNoaXBwaW5nTWV0
aG9kPiYpOworI2VuZGlmCiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBheS9jb2NvYS9XZWJQYXltZW50Q29vcmRpbmF0b3JQ
cm94eUNvY29hLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQXBwbGVQYXkvY29jb2EvV2ViUGF5
bWVudENvb3JkaW5hdG9yUHJveHlDb2NvYS5tbQppbmRleCBlNWEwMWQ5MTllNzFjNWE5NmQ5MDIw
NzUyOTAyYWNiYWZkOGM2YTZkLi5jYTFmMjM3Yzg5YThhYzcwYzIwODljOGNkNjZkOTQxZWQ5NmI4
YWUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBsZVBheS9jb2NvYS9XZWJQ
YXltZW50Q29vcmRpbmF0b3JQcm94eUNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRDb29yZGluYXRvclByb3h5Q29jb2EubW0KQEAgLTIw
MSw2ICsyMDEsMjIgQEAgUEtTaGlwcGluZ01ldGhvZCAqdG9QS1NoaXBwaW5nTWV0aG9kKGNvbnN0
IFdlYkNvcmU6OkFwcGxlUGF5U2hpcHBpbmdNZXRob2QmIHNoaXAKICAgICByZXR1cm4gcmVzdWx0
OwogfQogCisjaWYgSEFWRShQQVNTS0lUX0RFRkFVTFRfU0hJUFBJTkdfTUVUSE9EKQorCitQS1No
aXBwaW5nTWV0aG9kcyAqdG9QS1NoaXBwaW5nTWV0aG9kcyhjb25zdCBWZWN0b3I8V2ViQ29yZTo6
QXBwbGVQYXlTaGlwcGluZ01ldGhvZD4mIHdlYlNoaXBwaW5nTWV0aG9kcykKK3sKKyAgICBSZXRh
aW5QdHI8UEtTaGlwcGluZ01ldGhvZD4gZGVmYXVsdE1ldGhvZDsKKyAgICBhdXRvIG1ldGhvZHMg
PSBjcmVhdGVOU0FycmF5KHdlYlNoaXBwaW5nTWV0aG9kcywgWyZkZWZhdWx0TWV0aG9kXSAoY29u
c3QgYXV0byYgd2ViU2hpcHBpbmdNZXRob2QpIHsKKyAgICAgICAgYXV0byBwa1NoaXBwaW5nTWV0
aG9kID0gdG9QS1NoaXBwaW5nTWV0aG9kKHdlYlNoaXBwaW5nTWV0aG9kKTsKKyAgICAgICAgaWYg
KHdlYlNoaXBwaW5nTWV0aG9kLnNlbGVjdGVkKQorICAgICAgICAgICAgZGVmYXVsdE1ldGhvZCA9
IHBrU2hpcHBpbmdNZXRob2Q7CisgICAgICAgIHJldHVybiBwa1NoaXBwaW5nTWV0aG9kOworICAg
IH0pOworICAgIHJldHVybiBbUEFMOjphbGxvY1BLU2hpcHBpbmdNZXRob2RzSW5zdGFuY2UoKSBp
bml0V2l0aE1ldGhvZHM6bWV0aG9kcy5nZXQoKSBkZWZhdWx0TWV0aG9kOmRlZmF1bHRNZXRob2Qu
Z2V0KCldOworfQorCisjZW5kaWYgLy8gSEFWRShQQVNTS0lUX0RFRkFVTFRfU0hJUFBJTkdfTUVU
SE9EKQorCiAjaWYgSEFWRShQQVNTS0lUX1NISVBQSU5HX0NPTlRBQ1RfRURJVElOR19NT0RFKQog
CiBzdGF0aWMgUEtTaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZSB0b1BLU2hpcHBpbmdDb250YWN0
RWRpdGluZ01vZGUoV2ViQ29yZTo6QXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZSBz
aGlwcGluZ0NvbnRhY3RFZGl0aW5nTW9kZSkKQEAgLTI2Nyw5ICsyODMsMTMgQEAgUmV0YWluUHRy
PFBLUGF5bWVudFJlcXVlc3Q+IFdlYlBheW1lbnRDb29yZGluYXRvclByb3h5OjpwbGF0Zm9ybVBh
eW1lbnRSZXF1ZXN0KGMKIAogICAgIFtyZXN1bHQgc2V0U2hpcHBpbmdUeXBlOnRvUEtTaGlwcGlu
Z1R5cGUocGF5bWVudFJlcXVlc3Quc2hpcHBpbmdUeXBlKCkpXTsKIAorI2lmIEhBVkUoUEFTU0tJ
VF9ERUZBVUxUX1NISVBQSU5HX01FVEhPRCkKKyAgICBbcmVzdWx0IHNldEF2YWlsYWJsZVNoaXBw
aW5nTWV0aG9kczp0b1BLU2hpcHBpbmdNZXRob2RzKHBheW1lbnRSZXF1ZXN0LnNoaXBwaW5nTWV0
aG9kcygpKV07CisjZWxzZQogICAgIFtyZXN1bHQgc2V0U2hpcHBpbmdNZXRob2RzOmNyZWF0ZU5T
QXJyYXkocGF5bWVudFJlcXVlc3Quc2hpcHBpbmdNZXRob2RzKCksIFtdIChhdXRvJiBtZXRob2Qp
IHsKICAgICAgICAgcmV0dXJuIHRvUEtTaGlwcGluZ01ldGhvZChtZXRob2QpOwogICAgIH0pLmdl
dCgpXTsKKyNlbmRpZgogCiAgICAgW3Jlc3VsdCBzZXRQYXltZW50U3VtbWFyeUl0ZW1zOldlYkNv
cmU6OnBsYXRmb3JtU3VtbWFyeUl0ZW1zKHBheW1lbnRSZXF1ZXN0LnRvdGFsKCksIHBheW1lbnRS
ZXF1ZXN0LmxpbmVJdGVtcygpKV07CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzZTgxNDZhNzVkNmIwZWE3ZGU2MzExYTBh
NzAzMTFmM2Q4OTIxZDI3Li4xMTAwZmZkNTYwNTQ3Mzc1Mzk3YTQ0N2UzYTJjM2M3MGMxODZiNjFk
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEtMTEtMDggIERldmluIFJvdXNzbyAgPGRyb3Vz
c29AYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04ocjI3MTczNSk6IFBheW1lbnRTaGlw
cGluZ09wdGlvbi5zZWxlY3RlZCBpZ25vcmVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMjE5NjAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzczNDY0
NDA0PgorCisgICAgICAgIFJldmlld2VkIGJ5IFRpbSBIb3J0b24uCisKKyAgICAgICAgKiBodHRw
L3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1jaGFuZ2Utc2hpcHBpbmctb3B0
aW9uLmh0dHBzLmh0bWw6CisgICAgICAgICogaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9wYXlt
ZW50LXJlcXVlc3QtY2hhbmdlLXNoaXBwaW5nLW9wdGlvbi5odHRwcy1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC91cGRhdGVXaXRoLXNoaXBwaW5nT3B0
aW9ucy5odHRwcy5odG1sOgorICAgICAgICAqIGh0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvdXBk
YXRlV2l0aC1zaGlwcGluZ09wdGlvbnMuaHR0cHMtZXhwZWN0ZWQudHh0OgorCiAyMDIxLTExLTA4
ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTiAo
cjI4MzkzNSk6IFsgbWFjT1Mgd2sxIF0gaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL3NlbWFudGljcy9pbnRlcmFjdGl2ZS1lbGVtZW50cy90aGUtZGlhbG9nLWVsZW1lbnQvZGlh
bG9nLWF1dG9mb2N1cy1tdWx0aXBsZS10aW1lcy5odG1sIGlzIGEgZmxha3kgZmFpbHVyZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9wYXltZW50LXJl
cXVlc3QtY2hhbmdlLXNoaXBwaW5nLW9wdGlvbi5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3BheW1lbnQtcmVxdWVzdC1jaGFuZ2Utc2hp
cHBpbmctb3B0aW9uLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCA2NDg3YzQwZjdlYjA1MjBmNDkw
NzVjMTg3MjViYzgxNjdiN2IyZDY3Li4yYmRkYTc2YTE4MWY1MGM4YWIyZTUyYTIyYmIyMzMwYzZh
OTlhODhjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0
L3BheW1lbnQtcmVxdWVzdC1jaGFuZ2Utc2hpcHBpbmctb3B0aW9uLmh0dHBzLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3BheW1lbnQtcmVx
dWVzdC1jaGFuZ2Utc2hpcHBpbmctb3B0aW9uLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsx
LDQgQEAKIENPTlNPTEUgTUVTU0FHRTogV2ViS2l0IGN1cnJlbnRseSB1c2VzIHRoZSBmaXJzdCBz
aGlwcGluZyBvcHRpb24gZXZlbiBpZiBvdGhlciBzaGlwcGluZyBvcHRpb25zIGFyZSBtYXJrZWQg
YXMgc2VsZWN0ZWQuCiAKLVBBU1MgVGVzdCBmb3IgUGF5bWVudFJlcXVlc3Qgc2hpcHBpbmdPcHRp
b24gYXR0cmlidXRlCitGQUlMIFRlc3QgZm9yIFBheW1lbnRSZXF1ZXN0IHNoaXBwaW5nT3B0aW9u
IGF0dHJpYnV0ZSBhc3NlcnRfZXF1YWxzOiBNdXN0IGJlICdpbml0aWFsbHktc2VsZWN0ZWQnLCBh
cyB0aGUgc2VsZWN0ZWQgbWVtYmVyIGlzIHRydWUgZXhwZWN0ZWQgImluaXRpYWxseS1zZWxlY3Rl
ZCIgYnV0IGdvdCAidmFsaWQtMSIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9wYXltZW50cmVxdWVzdC9wYXltZW50LXJlcXVlc3QtY2hhbmdlLXNoaXBwaW5nLW9wdGlvbi5o
dHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC9wYXltZW50
LXJlcXVlc3QtY2hhbmdlLXNoaXBwaW5nLW9wdGlvbi5odHRwcy5odG1sCmluZGV4IDg0ODdmMWQ5
ZDcwMzdiMWQ5ZDA4MmNmYjc5MjdhNGJhNTY5MGIxYmYuLjg4OGQ1Y2RiN2EyZmYzMjZkMTZiZTc3
ZDM3YzUxODY0MGMyYmExZGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvcGF5
bWVudHJlcXVlc3QvcGF5bWVudC1yZXF1ZXN0LWNoYW5nZS1zaGlwcGluZy1vcHRpb24uaHR0cHMu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3BheW1lbnQt
cmVxdWVzdC1jaGFuZ2Utc2hpcHBpbmctb3B0aW9uLmh0dHBzLmh0bWwKQEAgLTYzLDkgKzYzLDEx
IEBAIGZ1bmN0aW9uIHRlc3RTaGlwcGluZ09wdGlvbkNoYW5nZWQoKSB7CiAgICAgICAgIGV2ZW50
LmNvbXBsZXRlKHsgfSk7CiAgICAgICAgIGludGVybmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9y
LmNoYW5nZVNoaXBwaW5nT3B0aW9uKCJ2YWxpZC0xIik7CiAgICAgfTsKLSAgICAvLyBGSVhNRTog
PHJkYXI6Ly9wcm9ibGVtLzczNDY0NDA0PgotICAgIC8vIGFzc2VydF9lcXVhbHMocmVxdWVzdC5z
aGlwcGluZ09wdGlvbiwgImluaXRpYWxseS1zZWxlY3RlZCIsICJNdXN0IGJlICdpbml0aWFsbHkt
c2VsZWN0ZWQnLCBhcyB0aGUgc2VsZWN0ZWQgbWVtYmVyIGlzIHRydWUiKTsKLSAgICBhc3NlcnRf
ZXF1YWxzKHJlcXVlc3Quc2hpcHBpbmdPcHRpb24sICJ2YWxpZC0xIiwgIk11c3QgYmUgdGhlIGZp
cnN0IHNoaXBwaW5nIG9wdGlvbiByZWdhcmRsZXNzIG9mIHRoZSBzZWxlY3RlZCBwcm9wZXJ0eS4i
KTsKKyAgICBhc3NlcnRfZXF1YWxzKAorICAgICAgcmVxdWVzdC5zaGlwcGluZ09wdGlvbiwKKyAg
ICAgICJpbml0aWFsbHktc2VsZWN0ZWQiLAorICAgICAgIk11c3QgYmUgJ2luaXRpYWxseS1zZWxl
Y3RlZCcsIGFzIHRoZSBzZWxlY3RlZCBtZW1iZXIgaXMgdHJ1ZSIKKyAgICApOwogICAgIGNvbnN0
IGxpc3RlbmVyUHJvbWlzZSA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gewogICAgICAgcmVxdWVz
dC5hZGRFdmVudExpc3RlbmVyKCJzaGlwcGluZ29wdGlvbmNoYW5nZSIsICgpID0+IHsKICAgICAg
ICAgcmVzb2x2ZShyZXF1ZXN0LnNoaXBwaW5nT3B0aW9uKTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvdXBkYXRlV2l0aC1zaGlwcGluZ09wdGlvbnMu
aHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50cmVxdWVz
dC91cGRhdGVXaXRoLXNoaXBwaW5nT3B0aW9ucy5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggYmNi
YTlkMzQ2ZDA1OTJjNDU2Y2RjNTAzODM4M2M2MmVkNjc3NjgwZS4uOTg1Zjg3Y2U0MjQzMTk5YzAy
NTFiNDAyNmUzYTQ5NDcyYmIwODgyOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9wYXltZW50cmVxdWVzdC91cGRhdGVXaXRoLXNoaXBwaW5nT3B0aW9ucy5odHRwcy1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC91cGRhdGVX
aXRoLXNoaXBwaW5nT3B0aW9ucy5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw1IEBACiBD
T05TT0xFIE1FU1NBR0U6IFdlYktpdCBjdXJyZW50bHkgdXNlcyB0aGUgZmlyc3Qgc2hpcHBpbmcg
b3B0aW9uIGV2ZW4gaWYgb3RoZXIgc2hpcHBpbmcgb3B0aW9ucyBhcmUgbWFya2VkIGFzIHNlbGVj
dGVkLgogCiBQQVNTIENhbGxpbmcgYHVwZGF0ZVdpdGhgIHdpdGggYSBuZXcgYHNoaXBwaW5nT3B0
aW9uc2Agd2l0aG91dCBgcmVxdWVzdFNoaXBwaW5nYCBzaG91bGQgbm90IHVwZGF0ZSBhbnkgdmFs
dWVzLgotUEFTUyBDYWxsaW5nIGB1cGRhdGVXaXRoYCB3aXRoIGEgbmV3IGBzaGlwcGluZ09wdGlv
bnNgIHNob3VsZCBub3QgdXBkYXRlIGFueSBvdGhlciB2YWx1ZXMuCitGQUlMIENhbGxpbmcgYHVw
ZGF0ZVdpdGhgIHdpdGggYSBuZXcgYHNoaXBwaW5nT3B0aW9uc2Agc2hvdWxkIG5vdCB1cGRhdGUg
YW55IG90aGVyIHZhbHVlcy4gYXNzZXJ0X2VxdWFsczogc2VsZWN0ZWQgc2hpcHBpbmcgb3B0aW9u
IHNob3VsZCBjaGFuZ2UgZXhwZWN0ZWQgInNoaXBwaW5nSWQ0IiBidXQgZ290ICJzaGlwcGluZ0lk
MyIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9wYXltZW50cmVxdWVzdC91
cGRhdGVXaXRoLXNoaXBwaW5nT3B0aW9ucy5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9wYXltZW50cmVxdWVzdC91cGRhdGVXaXRoLXNoaXBwaW5nT3B0aW9ucy5odHRwcy5odG1s
CmluZGV4IDVjYTA0ZDYyZGQ4MmUwM2RhYzQ4ZTdjOTBmZmUyZjYwNDRiZTA4MWYuLjI3MWE3MzBj
OWM4YWJiMGE2MmY4ODA2YmVjYjY3MzE4Y2E5Y2Q0OTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvdGVzdHMvcGF5bWVudHJlcXVlc3QvdXBkYXRlV2l0aC1zaGlwcGluZ09wdGlvbnMuaHR0
cHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3BheW1lbnRyZXF1ZXN0L3VwZGF0
ZVdpdGgtc2hpcHBpbmdPcHRpb25zLmh0dHBzLmh0bWwKQEAgLTkzLDggKzkzLDcgQEAgdXNlcl9h
Y3RpdmF0aW9uX3Rlc3QoYXN5bmMgKHRlc3QpID0+IHsKICAgICAgICAgYXNzZXJ0X2VxdWFscyhp
bnRlcm5hbHMubW9ja1BheW1lbnRDb29yZGluYXRvci5zaGlwcGluZ01ldGhvZHNbaV0ubGFiZWws
IGRldGFpbHNVcGRhdGUuc2hpcHBpbmdPcHRpb25zW2ldLmxhYmVsLCBgc2hpcHBpbmcgb3B0aW9u
ICR7aX0gbGFiZWwgc2hvdWxkIGNoYW5nZWApOwogICAgICAgICBhc3NlcnRfZXF1YWxzKGludGVy
bmFscy5tb2NrUGF5bWVudENvb3JkaW5hdG9yLnNoaXBwaW5nTWV0aG9kc1tpXS5hbW91bnQsIGRl
dGFpbHNVcGRhdGUuc2hpcHBpbmdPcHRpb25zW2ldLmFtb3VudC52YWx1ZSwgYHNoaXBwaW5nIG9w
dGlvbiAke2l9IGFtb3VudCBzaG91bGQgY2hhbmdlYCk7CiAgICAgfQotICAgIC8vIEZJWE1FOiA8
cmRhcjovL3Byb2JsZW0vNzM0NjQ0MDQ+Ci0gICAgLy8gYXNzZXJ0X2VxdWFscyhyZXF1ZXN0LnNo
aXBwaW5nT3B0aW9uLCBkZXRhaWxzVXBkYXRlLnNoaXBwaW5nT3B0aW9ucy5maW5kKChzaGlwcGlu
Z09wdGlvbikgPT4gc2hpcHBpbmdPcHRpb24uc2VsZWN0ZWQpLmlkLCAic2VsZWN0ZWQgc2hpcHBp
bmcgb3B0aW9uIHNob3VsZCBjaGFuZ2UiKTsKKyAgICBhc3NlcnRfZXF1YWxzKHJlcXVlc3Quc2hp
cHBpbmdPcHRpb24sIGRldGFpbHNVcGRhdGUuc2hpcHBpbmdPcHRpb25zLmZpbmRMYXN0KChzaGlw
cGluZ09wdGlvbikgPT4gc2hpcHBpbmdPcHRpb24uc2VsZWN0ZWQpLmlkLCAic2VsZWN0ZWQgc2hp
cHBpbmcgb3B0aW9uIHNob3VsZCBjaGFuZ2UiKTsKICAgICBhc3NlcnRfZXF1YWxzKHJlcXVlc3Qu
c2hpcHBpbmdPcHRpb24sIGRldGFpbHNVcGRhdGUuc2hpcHBpbmdPcHRpb25zWzBdLmlkLCAic2Vs
ZWN0ZWQgc2hpcHBpbmcgb3B0aW9uIHNob3VsZCBjaGFuZ2UiKTsKICAgICBhc3NlcnRfZXF1YWxz
KHJlc3BvbnNlLnNoaXBwaW5nT3B0aW9uLCByZXF1ZXN0LnNoaXBwaW5nT3B0aW9uLCAic2VsZWN0
ZWQgc2hpcHBpbmcgb3B0aW9uIHNob3VsZCBhbHNvIGJlIGV4cG9zZWQgb24gdGhlIHJlc3BvbnNl
Iik7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>