<?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>240961</bug_id>
          
          <creation_ts>2022-05-26 10:29:06 -0700</creation_ts>
          <short_desc>`position: relative` doesn&apos;t work as expected on table row</short_desc>
          <delta_ts>2026-04-11 16:36:28 -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>Tables</component>
          <version>Safari 15</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=203449</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>BrowserCompat, InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Critical</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Benoît Rouleau">benoit.rouleau</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>ahmad.saleem792</cc>
    
    <cc>anonymousert2120+5</cc>
    
    <cc>ap</cc>
    
    <cc>aroselli</cc>
    
    <cc>contact</cc>
    
    <cc>crha</cc>
    
    <cc>darin.senneff</cc>
    
    <cc>dev</cc>
    
    <cc>karlcow</cc>
    
    <cc>koivisto</cc>
    
    <cc>matt</cc>
    
    <cc>mattwoodrow</cc>
    
    <cc>moubin.shiraz</cc>
    
    <cc>peteladrien</cc>
    
    <cc>rik</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>yivarak978</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1872044</commentid>
    <comment_count>0</comment_count>
      <attachid>459789</attachid>
    <who name="Benoît Rouleau">benoit.rouleau</who>
    <bug_when>2022-05-26 10:29:06 -0700</bug_when>
    <thetext>Created attachment 459789
Example HTML file showcasing the issue

When trying to absolute-position an element relative to the nearest `position: relative` table row (`tr`), it skips the `tr` and positions it relative to the next ancestor with `position: relative`.

In the example HTML file provided, it positions it relative to the document because there is no other ancestor with `position: relative`. Open this file in Safari, Chrome, and Firefox, and you&apos;ll see that Safari is the only one that has this issue.

Thank you!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1873622</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-06-02 10:30:14 -0700</bug_when>
    <thetext>&lt;rdar://problem/94294819&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1989765</commentid>
    <comment_count>2</comment_count>
    <who name="MattC">matt</who>
    <bug_when>2023-11-03 11:41:03 -0700</bug_when>
    <thetext>The workaround is to put position:relative into a grandparent instead of the &lt;TR&gt; parent element. In my case this was the table &lt;TABLE&gt; element.  This worked fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1989776</commentid>
    <comment_count>3</comment_count>
    <who name="Benoît Rouleau">benoit.rouleau</who>
    <bug_when>2023-11-03 12:28:37 -0700</bug_when>
    <thetext>@MattC, the `&lt;table&gt;` element contains all the rows. What if you want something to be positioned to the top or bottom of a specific row?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1989779</commentid>
    <comment_count>4</comment_count>
    <who name="MattC">matt</who>
    <bug_when>2023-11-03 12:43:57 -0700</bug_when>
    <thetext>Benoit, You are correct that this workaround would surely not work in all cases. In my case I only needed the position:absolute after the table&apos;s first table row.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2015354</commentid>
    <comment_count>5</comment_count>
      <attachid>469981</attachid>
    <who name="Karl Dubost">karlcow</who>
    <bug_when>2024-02-19 17:27:14 -0800</bug_when>
    <thetext>Created attachment 469981
rendering in safari, firefox, chrome

Tested on 
Safari Technology Preview  188           19619.1.2.1.1
Firefox Nightly            125.0a1       12524.2.19
Google Chrome Canary       123.0.6311.0  6311.0</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2015355</commentid>
    <comment_count>6</comment_count>
    <who name="Karl Dubost">karlcow</who>
    <bug_when>2024-02-19 17:34:05 -0800</bug_when>
    <thetext>Benoit,
Is there a website currently which can&apos;t use this because of this bug?

That&apos;s indeed bad.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2015356</commentid>
    <comment_count>7</comment_count>
    <who name="Karl Dubost">karlcow</who>
    <bug_when>2024-02-19 17:35:38 -0800</bug_when>
    <thetext>I wonder if it&apos;s related to Bug 188775.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2015362</commentid>
    <comment_count>8</comment_count>
    <who name="Benoît Rouleau">benoit.rouleau</who>
    <bug_when>2024-02-19 17:56:53 -0800</bug_when>
    <thetext>(In reply to Karl Dubost from comment #6)
&gt; Benoit,
&gt; Is there a website currently which can&apos;t use this because of this bug?
&gt; 
&gt; That&apos;s indeed bad.

Thank you for looking into it. I&apos;m not sure I understand your question. As a web developer, I have often wanted to position an element relative to a table row, but I&apos;ve had to use hacky workarounds because of this bug. So I can&apos;t link you to a website in production that is broken because of it. The main use case for me is a link that spans the whole row.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2015457</commentid>
    <comment_count>9</comment_count>
    <who name="Fabien Basmaison">contact</who>
    <bug_when>2024-02-20 04:25:43 -0800</bug_when>
    <thetext>(In reply to Karl Dubost from comment #6)

&gt; Is there a website currently which can&apos;t use this because of this bug?

Adding to what Benoît describes, we also would like full-width links on a row, and have styles effects on the whole row when hovering it. The current implementation needs to style each cell of the row individually, with all the CSS tweaks necessary to handle overlapping styles between cells.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2015535</commentid>
    <comment_count>10</comment_count>
    <who name="Adrian Roselli">aroselli</who>
    <bug_when>2024-02-20 09:57:25 -0800</bug_when>
    <thetext>I continually run into cases where developers want an entire row in a table to be &quot;clickable&quot; for a single checkbox and, since table rows are not interactive elements and that flags automated accessibility tools, they convert the tables to ARIA grids.

The simple way to address this (and not make an inaccessible experience for screen reader users via a mis-placed `grid` role) is by expanding CSS generated content. However, that approach falls down without proper support for `position: relative`.

Instead, an author must provide a `width` on the generated content, which can easily expand well past the bounds of the table.

I walk through the pattern here:
https://adrianroselli.com/2023/11/dont-turn-a-table-into-an-aria-grid-just-for-a-clickable-row.html

With a demo (that is tweaked to not break in Safari):
https://adrianroselli.com/demos/non-clickable-rows-that-are-clickable/index.html

So, in short, there may be few sites who follow this pattern because of this bug and I know there are sites that incorrectly use `grid` roles and which may do so partly as a function of this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2015671</commentid>
    <comment_count>11</comment_count>
    <who name="Karl Dubost">karlcow</who>
    <bug_when>2024-02-20 19:08:59 -0800</bug_when>
    <thetext>Thanks Adrian,
This helps to understand too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2015729</commentid>
    <comment_count>12</comment_count>
    <who name="MattC">matt</who>
    <bug_when>2024-02-21 04:56:10 -0800</bug_when>
    <thetext>While position attributes offer a lightweight prototyping technique for visualization, they may not be the best choice for production. In my case, the right justified close icon was finally relocated to a new display-conditioned table element.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2017285</commentid>
    <comment_count>13</comment_count>
    <who name="Anthony Ricaud">rik</who>
    <bug_when>2024-02-27 13:35:22 -0800</bug_when>
    <thetext>Seems like this is covered by some WPT tests: https://wpt.fyi/results/css/css-position?label=master&amp;label=experimental&amp;aligned&amp;q=position-relative-table

And therefore related to bug 203449.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2022482</commentid>
    <comment_count>15</comment_count>
    <who name="Benoît Rouleau">benoit.rouleau</who>
    <bug_when>2024-03-20 10:01:37 -0700</bug_when>
    <thetext>Uh oh. The bots are here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2108570</commentid>
    <comment_count>17</comment_count>
    <who name="Benoît Rouleau">benoit.rouleau</who>
    <bug_when>2025-04-03 11:31:52 -0700</bug_when>
    <thetext>Some good table improvements/fixes in Safari 18.4 (https://share.cleanshot.com/QRnmkrg2). Hopefully, this one is addressed soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2110361</commentid>
    <comment_count>18</comment_count>
    <who name="Moubeen awan">moubin.shiraz</who>
    <bug_when>2025-04-10 22:20:46 -0700</bug_when>
    <thetext>We had the same problem which we mentioned here: Hopefully they will resolve it soon: https://bugs.webkit.org/show_bug.cgi?id=291407</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2115565</commentid>
    <comment_count>19</comment_count>
    <who name="Karl Dubost">karlcow</who>
    <bug_when>2025-05-06 23:17:36 -0700</bug_when>
    <thetext>*** Bug 291407 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2115566</commentid>
    <comment_count>20</comment_count>
    <who name="Moubeen awan">moubin.shiraz</who>
    <bug_when>2025-05-06 23:18:59 -0700</bug_when>
    <thetext>Great work you did, can you please let me know when it will be fixed. @Karl</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2115570</commentid>
    <comment_count>21</comment_count>
    <who name="Karl Dubost">karlcow</who>
    <bug_when>2025-05-06 23:37:15 -0700</bug_when>
    <thetext>This was fixed on Chrome on May 22, 2021 by their new Table Layout engine. 
https://issues.chromium.org/issues/40386053


This is described by 4.2. With a table-internal as containing block

&gt; If an absolutely positioned element’s containing block is generated by a table-internal, the containing block corresponds to the area starting at the top left corner of the the area that would be assigned to the box during layout but whose size is computed to be the one of the area that would be assigned to the box during layout if all tracks were considered visible (irrespective of visibility being set co collapse on some boxes), not including borders and paddings as appropriate.
— https://drafts.csswg.org/css-tables-3/#abspos-boxes-in-table-internal</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2115571</commentid>
    <comment_count>22</comment_count>
    <who name="Moubeen awan">moubin.shiraz</who>
    <bug_when>2025-05-06 23:45:34 -0700</bug_when>
    <thetext>(y) So will the safari change the Table Layout engine?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2140201</commentid>
    <comment_count>23</comment_count>
    <who name="Adrian Roselli">aroselli</who>
    <bug_when>2025-09-02 06:25:31 -0700</bug_when>
    <thetext>Yet another author has to rely on CSS hacks to work around this bug:
https://www.oidaisdes.org/table-with-clickable-rows.en/

Any timeline on getting this fixed in Safari / WebKit?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2161485</commentid>
    <comment_count>24</comment_count>
    <who name="Roman Czerkies">dev</who>
    <bug_when>2025-11-26 09:43:21 -0800</bug_when>
    <thetext>Hi, same question here: any update about this issue?

Thanks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2180885</commentid>
    <comment_count>25</comment_count>
    <who name="Benoît Rouleau">benoit.rouleau</who>
    <bug_when>2026-02-12 12:08:10 -0800</bug_when>
    <thetext>Looking at the release notes for the latest TP, I see some work being done on `&lt;table&gt;`... is this the year? 👀 https://share.cleanshot.com/dMtHqwng</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2185844</commentid>
    <comment_count>26</comment_count>
    <who name="Darin Senneff">darin.senneff</who>
    <bug_when>2026-02-28 11:09:01 -0800</bug_when>
    <thetext>+1 can we get an update on if this is in the pipeline? It&apos;s been so long.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2185847</commentid>
    <comment_count>27</comment_count>
    <who name="Benoît Rouleau">benoit.rouleau</who>
    <bug_when>2026-02-28 11:11:47 -0800</bug_when>
    <thetext>Pretty sure it never worked in Safari. If that&apos;s the case, it&apos;s been 23 years!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2197425</commentid>
    <comment_count>28</comment_count>
      <attachid>478939</attachid>
    <who name="alan">zalan</who>
    <bug_when>2026-04-06 16:48:14 -0700</bug_when>
    <thetext>Created attachment 478939
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2197460</commentid>
    <comment_count>29</comment_count>
      <attachid>478940</attachid>
    <who name="alan">zalan</who>
    <bug_when>2026-04-06 19:17:19 -0700</bug_when>
    <thetext>Created attachment 478940
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2197625</commentid>
    <comment_count>30</comment_count>
      <attachid>478946</attachid>
    <who name="alan">zalan</who>
    <bug_when>2026-04-07 07:23:28 -0700</bug_when>
    <thetext>Created attachment 478946
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2197661</commentid>
    <comment_count>31</comment_count>
      <attachid>478950</attachid>
    <who name="alan">zalan</who>
    <bug_when>2026-04-07 09:38:33 -0700</bug_when>
    <thetext>Created attachment 478950
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2197712</commentid>
    <comment_count>32</comment_count>
      <attachid>478954</attachid>
    <who name="alan">zalan</who>
    <bug_when>2026-04-07 12:01:37 -0700</bug_when>
    <thetext>Created attachment 478954
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2197720</commentid>
    <comment_count>33</comment_count>
    <who name="Benoît Rouleau">benoit.rouleau</who>
    <bug_when>2026-04-07 12:13:19 -0700</bug_when>
    <thetext>👀</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2197731</commentid>
    <comment_count>34</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2026-04-07 13:00:51 -0700</bug_when>
    <thetext>just a few more iterations :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2197846</commentid>
    <comment_count>35</comment_count>
      <attachid>478958</attachid>
    <who name="alan">zalan</who>
    <bug_when>2026-04-07 19:31:20 -0700</bug_when>
    <thetext>Created attachment 478958
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2197980</commentid>
    <comment_count>36</comment_count>
      <attachid>478963</attachid>
    <who name="alan">zalan</who>
    <bug_when>2026-04-08 07:51:33 -0700</bug_when>
    <thetext>Created attachment 478963
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2198074</commentid>
    <comment_count>37</comment_count>
      <attachid>478969</attachid>
    <who name="alan">zalan</who>
    <bug_when>2026-04-08 13:20:14 -0700</bug_when>
    <thetext>Created attachment 478969
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2198581</commentid>
    <comment_count>38</comment_count>
      <attachid>478985</attachid>
    <who name="alan">zalan</who>
    <bug_when>2026-04-09 16:39:46 -0700</bug_when>
    <thetext>Created attachment 478985
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2198613</commentid>
    <comment_count>39</comment_count>
      <attachid>478986</attachid>
    <who name="alan">zalan</who>
    <bug_when>2026-04-09 18:24:05 -0700</bug_when>
    <thetext>Created attachment 478986
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2198815</commentid>
    <comment_count>40</comment_count>
      <attachid>478995</attachid>
    <who name="alan">zalan</who>
    <bug_when>2026-04-10 08:50:17 -0700</bug_when>
    <thetext>Created attachment 478995
[fast-cq]Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2199051</commentid>
    <comment_count>41</comment_count>
      <attachid>479009</attachid>
    <who name="alan">zalan</who>
    <bug_when>2026-04-10 20:27:15 -0700</bug_when>
    <thetext>Created attachment 479009
[fast-cq]Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2199165</commentid>
    <comment_count>42</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2026-04-11 04:16:40 -0700</bug_when>
    <thetext>Committed 310995@main (27d1a32af9b1): &lt;https://commits.webkit.org/310995@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 479009.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2199274</commentid>
    <comment_count>43</comment_count>
    <who name="Ahmad Saleem">ahmad.saleem792</who>
    <bug_when>2026-04-11 15:36:41 -0700</bug_when>
    <thetext>*** Bug 258372 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2199276</commentid>
    <comment_count>44</comment_count>
    <who name="Ahmad Saleem">ahmad.saleem792</who>
    <bug_when>2026-04-11 15:38:08 -0700</bug_when>
    <thetext>*** Bug 260780 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2199295</commentid>
    <comment_count>45</comment_count>
    <who name="Ahmad Saleem">ahmad.saleem792</who>
    <bug_when>2026-04-11 16:36:28 -0700</bug_when>
    <thetext>*** Bug 308040 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>459789</attachid>
            <date>2022-05-26 10:29:06 -0700</date>
            <delta_ts>2022-05-26 10:29:06 -0700</delta_ts>
            <desc>Example HTML file showcasing the issue</desc>
            <filename>test.html</filename>
            <type>text/html</type>
            <size>627</size>
            <attacher name="Benoît Rouleau">benoit.rouleau</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sIGxhbmc9ImVuIj4KICA8aGVhZD4KICAgIDxtZXRhIGNoYXJz
ZXQ9IlVURi04IiAvPgogICAgPG1ldGEgaHR0cC1lcXVpdj0iWC1VQS1Db21wYXRpYmxlIiBjb250
ZW50PSJJRT1lZGdlIiAvPgogICAgPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRo
PWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xLjAiIC8+CiAgICA8dGl0bGU+VGVzdDwvdGl0
bGU+CiAgPC9oZWFkPgogIDxib2R5PgogICAgPHRhYmxlPgogICAgICA8dHI+CiAgICAgICAgPHRk
PkNlbGwgMTwvdGQ+CiAgICAgICAgPHRkPkNlbGwgMjwvdGQ+CiAgICAgICAgPHRkPkNlbGwgMzwv
dGQ+CiAgICAgIDwvdHI+CiAgICAgIDx0ciBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlIj4KICAg
ICAgICA8dGQ+Q2VsbCAxPC90ZD4KICAgICAgICA8dGQ+Q2VsbCAyPC90ZD4KICAgICAgICA8dGQ+
CiAgICAgICAgICBDZWxsIDM8c3BhbgogICAgICAgICAgICBzdHlsZT0icG9zaXRpb246IGFic29s
dXRlOyBpbnNldDogMDsgYmFja2dyb3VuZC1jb2xvcjogcmVkIgogICAgICAgICAgPjwvc3Bhbj4K
ICAgICAgICA8L3RkPgogICAgICA8L3RyPgogICAgPC90YWJsZT4KICA8L2JvZHk+CjwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>469981</attachid>
            <date>2024-02-19 17:27:14 -0800</date>
            <delta_ts>2024-02-19 17:27:14 -0800</delta_ts>
            <desc>rendering in safari, firefox, chrome</desc>
            <filename>Screenshot 2024-02-20 at 10.26.14.png</filename>
            <type>image/png</type>
            <size>216182</size>
            <attacher name="Karl Dubost">karlcow</attacher>
            
              <data encoding="base64">iVBORw0KGgoAAAANSUhEUgAACjcAAAQ6CAYAAAACpb0PAAAAAXNSR0IArs4c6QAAAGJlWElmTU0A
KgAAAAgAAYdpAAQAAAABAAAAGgAAAAAABJKGAAcAAAASAAAAUKABAAMAAAABAAEAAKACAAQAAAAB
AAAKN6ADAAQAAAABAAAEOgAAAABBU0NJSQAAAFNjcmVlbnNob3TAf1r+AAAB2GlUWHRYTUw6Y29t
LmFkb2JlLnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0
az0iWE1QIENvcmUgNi4wLjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMu
b3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJk
ZjphYm91dD0iIgogICAgICAgICAgICB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4
aWYvMS4wLyI+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4xMDgyPC9leGlmOlBpeGVs
WURpbWVuc2lvbj4KICAgICAgICAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjI2MTU8L2V4aWY6UGl4
ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpVc2VyQ29tbWVudD5TY3JlZW5zaG90PC9leGlm
OlVzZXJDb21tZW50PgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6
eG1wbWV0YT4K2ywSPgAAQABJREFUeAHsnQWAHdXVx8/uvnXLRomQbIQECe5BirsVp7Rf8ZYqtLiU
0n5FSoFCv5aixSFoi5QWb3F3EiAKcV1LVt7b3e/87t27+3aznrd+TjI7M3euzX/kzZn7n/9JWrx4
ca2a1OjEHCsrK5OVK1dKTU2N5OXmSXZ2tuTl5UlKakSyM7OkurpakpKSJDk52c0pxzrzWCwmqamp
Ul1TresiSVpfckqK28b2ZM1XrfVirKfoNp8xybXHOvWHOiO6Tj9CftpsT/s1de1TjjqpL9QZX1/Y
Rv9Jb9o+6/H5E9F+R/a/pfbBsTX8e/P+x+PZE/hb+w3Xk+Hv7w3def3b+WfnX/g9s+vPrr/45xLO
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
KKCAAgooMDEBfrSMnFifMEvCi0QXSTHKcDhsfUiMJemWfrTTjzk4+liPhBk7jiShRl/qWNTIGJ7B
sdnnM3eez1wm41CwKKCAAgoooIACCiigwL4gQKyztLTUYipipJQ+Nku8lViI+CoHbTmo4zoxXWKu
zJt+eYZnBRRQQAEFFFBAAQUUUGDWBYijiLV2zPFlspWdG0ffK5t1Gt9fAQUUUEABBRRQQAEFFJiM
AIsbKSS8SKQRtBG8UUh2UceZuiTFklijLYmx888/v3zjG99YTaqdd955bS76pCR5ludwf9FFF5WP
fvSjq8+n7ZOf/GS58MILN3w+n4e+F198cabf1JlFlV/60pfaczPg61//ei43PH/+858vn/vc51b7
XHbZZeU973nP6v3OLr773e+Wr3zlK+19dtZnvXpsvvzlL7eFoLR/61vfWr1er3/q1vtc4589fcfP
PO/b3/72eLX3CiiggAIKKKCAAgoosJcFkkTr4y5iLw5iHw7a+ntiqsRktHOfdq7pz5kj89NOyf1e
fi2nV0ABBRRQQAEFFFBAAQWmSmDHoMZgpcZa9e+A+CmJtKl6Cz+sAgoooIACCiiggAIKKLCPCLTv
ntXgLAmxJL54PZJd3Cf5lVcmaUb///3f/y2Pecxjyh3ucIfyuMc9rjzxiU8st73tbcuP//iPl5NO
OqmNYyx9OSd5RoKNnSCf9rSnlUMPPbT8zu/8Tuvz4Q9/uBx//PHlTne6U2Ex3kbP/6d/+qf2jFNP
PTUfa8PzRz7ykXK3u92tHHbYYeXxj398eehDH1pucYtblB/90R8tz3zmMzccy4I/+h955JHlLW95
S+v72te+tnzv935vufe9773TsSzw/Omf/uly/etfv3z/939/Ofroo8tnP/vZnfangYWJT3/609tn
O/HEE8uTn/zkcswxx5Q73vGO5Ta3uU1bJLnRBOOfa73Pvt54FpRicctb3rLc8IY3LI961KPaf/v1
+lqngAIKKKCAAgoooIAC17xAYq/EX8RDfDmLe47EYdT3B5+EtsRc3LN7PoVYrG/jnrHUcfBMiwIK
KKCAAgoooIACCiigwEigxUp1YWMipboVSN3GUR0FFFBAAQUUUEABBRRQQIGJCfCFsyxoJAGWRFqS
YHywPklGX/r9y7/8S7n73e9evvnNb5Z3vetd5ayzzipnnHFGYYEii/7YeZEgkELyLMm4PGtxcbE8
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
et95BbquvX379mLYuE+5//6Wc81rER8ECBAgQIAAAQIECBC4U4F//a//9Y8eSuxrlHmWldovf3V8
9u9HZ/WdOanj5uzBx80rk9WnESBAgAABAgQIECBAgMCLwJWdboflpm9v9a9bnrq9aYMOAQIECBAg
QIAAAQIECLyawN7cWD47i1wFuLXzrR8dd63xbR237e2K9a113PgehGztFc96eLHxta3d2D/l/s3X
CBAgQIAAAQIECBAgcO8C5ar9iGw5ZxmpfW0Zq33ja+Wrxne+ee3LX9s6b42Na16ZrHU0AgQIECBA
gAABAgQIEHgRKDetfvXc/072b//tv/XfUvvXQYAAAQIECBAgQIAAgVcUeCmRvby9sWLYimb9STtu
v8LZCmCdb/w5ruJZbUW1ja9vhbMKdiuqbe65XmNru/Zz938Z7ZMAAQIECBAgQIAAAQL3K1BeWhGt
b1FGKjeVn2odl7f2MGPjz+uNKTvVV+v61ty6H2es5bdrgg8CBAgQIECAAAECBAg8uEB56od3WezK
VP/pP/0nb2588H8Uvj4BAgQIECBAgAABAr8OgQLbil8dV/Ra4WtFtf2lK6jtfMWzziuaNa99RbgV
y+prne7Rcf3n/X7p/ZurESBAgAABAgQIECBA4EsS+O///b+//zr9N9O1M/ssZ50ZrHx15q3mdH0P
NJa99mOy+hu7/NWxRoAAAQIECBAgQIAAAQIvAuWv76962bvcJDT5p0GAAAECBAgQIECAAIHXFyis
rRjWA4kVwc4HGjvveluFsc5XFFt/+1rzVjzbtfp3vePutzVWdOt6cz/1/h+v2blGgAABAgQIECBA
gACBexb4n//zf165aJlsPwrrO5WZdn5mrfPhx67v2tu3by+Kzmu98XHHnS/TdawRIECAAAECBAgQ
IECAwEuNK4evv355E/5ThSu/CfNPgwABAgQIECBAgAABAq8n0H8ivQLXWRQ7/6L1l+HO48bsQcau
1bre1poV5GoVzTa34x5g3D07XtvaO99+Y7dG/a1T232vEx8ECBAgQIAAAQIECBC4U4Eyzr/5N//m
ylPlnLYy1R5o3NcqN525quud9/DimcHObFam2rit05xlrfXZEyBAgAABAgQIECBA4JEFrvrWDWCZ
7Okf/uEf/LfUj/wvwncnQIAAAQIECBAgQODVBc4fnK24VYFrRa76np+fr2JZhbLO2wp2G1MRrb5C
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
vf/e6Lj1rgV8ECBAgAABAgQIECBA4I4Fyk49vFg22o/Bzjpa+adrZ37reH3LYBEsu21/ZqfGd36u
fcds/nQCBAgQIECAAAECBAj8xQTKZbVvbm/KLzvdtqe/2OIWIkCAAAECBAgQIECAAIFfLtCjhSt0
rUjWeQGurWLYCmb1l+PWt4JY4zanfdcXAPuLOt7a7Rtzzm3Mzne9OW27V/fdmK238+ZrBAgQIECA
AAECBAgQuGeBMs9yT5mntnxULqp1fdc67nrnZaPlo87PBx07blyta5vfeWtoBAgQIECAAAECBAgQ
IPBB4OnplrNuGez68dmHbkcECBAgQIAAAQIECBAg8BoClbgqdtUqhhXW2td6W0jXKnhVTOt8hbMV
xza2843dta3bfsW45rdefY3b2O738f0b03bevzFtm7f7N18jQIAAAQIECBAgQIDAPQss35Sbyjx7
EHEPIe6879hxW9fWv6y082Wp8ljHbWWsWmOX064OHwQIECBAgAABAgQIEHhwgZccdnvRx7sa1m1/
+2/KHhzF1ydAgAABAgQIECBAgMBrC6wgVmjrAcYKXh3vQccKXj9VWGvsim/NWSGt79N581q7fflv
9+n6imitW2vfdt6/MSu4/dT9d89rAR8ECBAgQIAAAQIECBC4Y4Hyz3LR8lNfp76rnnb80KsstGvt
d16eanzny1DN3XGZrK3zc9514oMAAQIECBAgQIAAAQIELoGXetaVrW7hCgoBAgQIECBAgAABAgQI
vJrAxz84K7DV2vdg4Qph62tfoazCWw8/VhRr67g5bSucNW5Ftfo63sOKexByc1q31vn2f+j+rdX9
d69rgg8CBAgQIECAAAECBAjcscCyVzloWWhfp/xTntpDjmWhzmsb377+xnZca8zmLpOd865BPggQ
IECAAAECBAgQIEDg9wSenm7/s9jv9eogQIAAAQIECBAgQIAAgc8qsB+cVfBaEayiV1tv/aiv1vmb
N2/eP7i4Me0roFVkq0jWeW3zOl6RrX1j9jaRxm5O137u/pvX2PP+3UMjQIAAAQIECBAgQIDAPQuU
c9r2I672O29fXqpvbeOWjTa/842r7+PrXWut9W89ewIECBAgQIAAAQIECDy6QDmptlz1dIWyR1fx
/QkQIECAAAECBAgQIPDKAntosH0PKa5odoa4+vbfVJflGrex7Vc0a19rrfV1XgFt2/q33uZ/fP/m
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
y1ydl9NqjT+vbX59bctl12A/CBAgQIAAAQIECBAg8OAC5aRblevKSt/dctX1cKM3Nz74X4WPT4AA
AQIECBAgQIDAmwr02GIFropae1CxX2hFsI7PItnG1b+C2MZ0rXm1im0vIfDnN4KseNa4FefOBx0/
9f57oLF12jQCBAgQIECAAAECBAjcu0AZ6U9/+tPHj1F+qm9bGasstPy2Bx+bUH/jl8O6Vlaqv75a
8za/8/p3rXONAAECBAgQIECAAAECjy7wkpFeXtZRhnq6gtmjq/j8BAgQIECAAAECBAgQ+AIEKnJV
ALvC2oci17t3767frOxW/1k868IeUNy+vhXHmrPWcVvX1n8+4Lh5r++/t4005+/df/exJ0CAAAEC
BAgQIECAwL0K7GHEPczY59jDiOWh84tdZavy0vJVY+srUzVnazSv49rmd77c1niNAAECBAgQIECA
AAECBF4EfpGbyk4LVIAIECBAgAABAgQIECBA4G0FKoqtCNZx2/kwY8WvPez4/Pz88ZdtzgpqZbzO
C39tZ9Fs+W9FtL2lsfOu/dr9z0Lcef+zANf9NAIECBAgQIAAAQIECNy7wDJT2agsVOu4/nJPmWgZ
bRmsMctfG9v5clL79S+LbXz79bWORoAAAQIECBAgQIAAgUcXKH+1/XCrg/V/w17eg//oKj4/AQIE
CBAgQIAAAQIE3lhgYa0CWsWts3jWr1bRq7YC2x5yXFFshbONaY36ul4hbQWzjV9/63Vca8yn3n9v
dNx61wJ+ECBAgAABAgQIECBA4I4Fyk7/83/+zysb7ctgZbO18s/yWv3lp/brWwZr/LLb9md2anzn
59q7hz0BAgQIECBAgAABAgQeWaBcVvvu9qb8spM3Nz7yX4PPToAAAQIECBAgQIDAFyHQo4UrdFXc
auu8ANd2FszqL8ytbwWxxm1O+64vAPYhO97aW/+c25id73pz2navswC39Tan+RoBAgQIECBAgAAB
AgTuWaDM89//+3//mK36LMtH5aJaY8pDO+5652Wj5aPOzwcdO25crWubvzWuC34QIECAAAECBAgQ
IECAwCXw9HTLWbcM1pvznxbG2BAgQIAAAQIECBAgQIDA2whU4qrYVasYVlhrX+ttIV3bA42dr3C2
4tjGdr6xu7Z12y//Nb/16mvcxna/1/dvTNt5/8a0bd7u33yNAAECBAgQIECAAAEC9yzwX//rf71+
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
n68sVCsbLVdtv9y0+Y3r+Dyv71x369WvESBAgAABAgQIECBA4NEFykhXZrrty1pXNesspD06kM9P
gAABAgQIECBAgACBzy1QMFtBq6JXrfMFuBXNVlDrvHF7o0jhrrH1V4hboazj2q7veP2759br+qfc
v/Ua17zu1blGgAABAgQIECBAgACBexdYzlpW2r7PtfzTvocYl6vKRM0rFy2zddzW/LZd67gxbbXm
nfe4Ov0gQIAAAQIECBAgQIDAAwssL/W1sitPPbCFj06AAAECBAgQIECAAIEvRmCFrwpltT2kuIJZ
AW6FsP3SFcK6Xv/Gda3gt3W6tr72K7Ltflt355v3KfdvrmLcxesHAQIECBAgQIAAAQJfgUC56HxQ
8fWDiOWkrp/9K7z18ZtfplrO6rjry26dnxlq178COh+BAAECBAgQIECAAAECf4hAeeqHXuRxW63M
dP1b6j9kZYsQIECAAAECBAgQIECAwD8k0LsaK3AV0lYEqyjWViGsvh133ltC9tbG3bD+ba219erb
eevsIcj6Ot/1jj/1/q2hCDd5ewIECBAgQIAAAQIEviaBstGy07JUn+/MaOWhWuMa07WOy2plrFrH
a13XCBAgQIAAAQIECBAgQOC3BcpUVw3qlqP+8pcfylsC1W+zGUGAAAECBAgQIECAAIF/PYGlsvMt
IGW1imHtV1A7C2fn2H6zjS/07YHFxtR/bo1tvcbUX+tBydq55tZr/2v3r6/fp3U0AgQIECBAgAAB
AgQIfE0CZ1Yq93ReXtrxMtK+IPY6Yy2XzWTZ6eyvb2tunD0BAgQIECBAgAABAgQeXaCstLx0q3h9
86QQ9eh/Ej4/AQIECBAgQIAAAQJvLdCbG2sVxlZEq8jVefta/bve8YprG79i2oplG79i2fkGkdZp
fGPad62guPW739+7f/fY/WXKtDQCBAgQIECAAAECBL4GgeWk8k7bclL5aNnnzGhdry0fdby+5a76
WrfWtbZlquZt3WuAHwQIECBAgAABAgQIEHhwgTLT6lUlrqcFqgd38fEJECBAgAABAgQIECDwZgK9
+7CwdhbMVvCq0FWIqz0/P19jynErum1c1xvXGm31r1Uw6+2MZ/6rr4cam9M92j71/q29+3cPxbhJ
2xMgQIAAAQIECBAgcO8CZZ33799/zGj7PGc2W95aFipfbevatvo6XqZb5mpf27jdw54AAQIECBAg
QIAAAQKPLlCOWp2rzHX9D7KfS16PzuPzEyBAgAABAgQIECBA4PML7B87V/CqkHaFtVt4q1Xsqq99
gW5FsRXWurbC2OY2prF7W2P9ayuebWznW/P33r97nPffPewJECBAgAABAgQIECBwjwJlnGWtfv+O
t5V92spN9e28THVmss53fXmrfdvW73pt59eJHwQIECBAgAABAgQIECDwUeDKVbcvhl3/lnqFtI9X
HRAgQIAAAQIECBAgQIDAZxPoC2cVyFYQW+GrX6BiV+crfu2X2kOFzeutjF0/x7wunLV211c8a15j
arvv9p96/36H1mstjQABAgQIECBAgAABAvcusOy1bFXe2ZfG6lsOq//c+txdW+bqvJxWK2ed1zpv
bn1ty2XXYD8IECBAgAABAgQIECDw4ALlpNurP66s9N0tV10PN3pz44P/Vfj4BAgQIECAAAECBAi8
qUBfOKvAVVFrDyr2C60I1vFZJNu4+lcQ25iuNa+2gtmOV4xrTNvOzwcdP/X+e6Bxa1039IMAAQIE
CBAgQIAAAQJ3LFBGen5+/vgJylv1bStjlYWW3/bgYxPqb/xyWNfKS/XXV2ve5nde/651rhEgQIAA
AQIECBAgQODRBV4y0svLOspQT1cwe3QVn58AAQIECBAgQIAAAQJfgEBFrgpgV1j7UOR69+7d9ZuV
3eo/i2dd2AOK29e34lhz1jpu69r6zwccN+/1/fe2keb8vfvvPvYECBAgQIAAAQIECBC4V4E9jLiH
GfscexixPNT1tbJVeWn5qv76ylTN2RrN67i2+Z0vtzVeI0CAAAECBAgQIECAAIEXgV/kprLTAhUg
AgQIECBAgAABAgQIEHhbgYpiK4J13HY+zFjxaw87nm8Tac4KamW8zgt/bWfRbPlvRbS9pbHzrv3a
/c9C3Hn/swDX/TQCBAgQIECAAAECBAjcu8DyU9moLFTruP5yT5loGW0ZrDHLXxvb+XJS+/Uvi218
+/W1jkaAAAECBAgQIECAAIFHFyh/tf1we6t+Xy97eQ/+o6v4/AQIECBAgAABAgQIEHhjgYW1CmgV
t87iWb9aRa/aCmx7yHFFsRXONqY16ut6hbQVzDZ+/a3Xca0xn3r/vdFx610L+EGAAAECBAgQIECA
AIE7Fig79fBi2WhfBiubrZV/unbmt47XtwzW+GW37c/s1PjOz7V3D3sCBAgQIECAAAECBAg8skC5
rPbd7U35ZaenP//5z4/s4bMTIECAAAECBAgQIEDgzQV6tHCFrhXJOi/AtVUMW8Gs/sLc+lYQa9zm
tO/6AmAfsOOt3b4x59zG7HzXm9O2e50FuK23Oc3XCBAgQIAAAQIECBAgcM8CV+Hsw4OHZZ7a8lG5
qNaYXeu4652/zljng44dN67W2M3vvDU0AgQIECBAgAABAgQIEPhZ4OnplrNuGez68tl//I//8ecr
jggQIECAAAECBAgQIEDgswtU4qrYVasgVlhrX+ttIV2r4FUxrfMVzlYc29jON3bXtm77FeOa33r1
NW5ju9/r+zem7bx/Y9o2b/dvvkaAAAECBAgQIECAAIF7Fli+KTeVefYg4h5C3HmfseO2rq1/WWnn
y1LlsY7byli1xi6nXR1+ECBAgAABAgQIECBA4MEFXnLY7UUfH2pYtwx1e/X9g6P4+AQIECBAgAAB
AgQIEHhrgRXECm09wFhW63gPOlbw+rXCWmNXfLvy3fHQYefNa+32FdB2nz7vimitW2vfdt6/MSu4
/dr9d89rAT8IECBAgAABAgQIECBwxwLln+Wi5ac+Tn2dl43aOi8L7Vr7nZendr19Gay5O+68rfNz
3nXiBwECBAgQIECAAAECBAhcAi/1rFv2Kjy9xCcyBAgQIECAAAECBAgQIPAWAq+/cFZgq7WvcLZC
2Pra78HFHn68ct0t23XcnLYVzhrXtjEd72HFFeU2p3VrnW//t+7fehX+dq9rgh8ECBAgQIAAAQIE
CBC4Y4Flr3LQstA+TvmnPLWHHMtCndc2vn39+5JY1xqzueWozs95jdEIECBAgAABAgQIECBA4K8F
np5u/1msoKURIECAAAECBAgQIECAwNsJ7AtnFbxWBNvDiL31o75afe/evfv44OLGtK+AVpGtIlnn
tc3reEW29o3Z20Qauzld+637b15jz/t3D40AAQIECBAgQIAAAQL3LFDOaduXuNrvvH15qb61jVs2
2vzON66+19e71lrr33r2BAgQIECAAAECBAgQeHSBclJtueqpAPVzDHt0Hp+fAAECBAgQIECAAAEC
byOwhwbb95DiimZniKtv/6a6AlnjNrb9imbta621vs6v/FcGvG3r33qb//r+zav1e3T/tua27aHI
+jQCBAgQIECAAAECBAjcu0A5p1b+OY/LS8s/Xe98++WhclZjutb8ZbnGtdayV+fnuOZpBAgQIECA
AAECBAgQIPBLgdWjnipcvbw0/5cDnBEgQIAAAQIECBAgQIDA5xN4fn6+ClzdcQ8OVhSrf31Xfvvw
ZsbGVATreuP2wGJhb0W0s0jWmN76WBGt1rXG1V9r3o7P+1eAq9X3+v71nfOugX4QIECAAAECBAgQ
IEDgTgX2AGPZqLxTq6/j5azOy0FlquWhjpe16qttfPu2M081vjWXy64JfhAgQIAAAQIECBAgQIDA
R4Hvv++LY7dMtpD18YoDAgQIECBAgAABAgQIEHgTgRXHzpxWAaxWoawHDRtT24OIFcnqWyGt8SvC
NeZcs3Ubv7mts/Xq7/q2rtU+9f4vo/0kQIAAAQIECBAgQIDAfQssQ5WR2pbD6u+8ffmrbWM6LoeV
p/YgZOPa1nbcvjGbv+v2BAgQIECAAAECBAgQIPCzwLfflrNu9bG6Xr579vNFRwQIECBAgAABAgQI
ECDw+QTKZD1wWGGsAtcePlxxbL/JCmb1b9vYCmTNr5i2olnHXe8Bxa41p2sruHW+/t37996/8RoB
AgQIECBAgAABAgS+FoGy0bbyU5mq3FNfrTy1tozVvjHLXstX7bu2DLZ1W3O5betuTXsCBAgQIECA
AAECBAg8usBPP/14fdEshyeh6dH/HHx+AgQIECBAgAABAgTeWqAS2bJZBbGKXCuOrfjV20Lqqwi2
vj1YuLl9jrPoVv8eZtycxnTcv6huvY63zub/S+7fGhoBAgQIECBAgAABAgTuUWAZqZy0L4utr31t
b8tvTK38tG1jz/xWX3PKcq3Z2LXdZ+f2BAgQIECAAAECBAgQINALQb7/WO+6XrHxEr/QECBAgAAB
AgQIECBAgMBbCTw/P1+FrvONHiuQ9TutGLaCWuNWGFtfhbFtzemhxa61XwFthbjON6/91vu992/u
1umeGgECBAgQIECAAAECBO5VoGxTVioX7e2Ky0vnw4z7fI3pi2P7wlhzG1d/bet03DqN20OO69vY
zjUCBAgQIECAAAECBAg8usDqWS91rB+/eboOHl3F5ydAgAABAgQIECBAgMAbC/TQ4QpdK26tQNa+
olhv/6itKHY+yPgS8n76xZjm7GHG1mje1mid5tdX63pb9/5H7n8t4gcBAgQIECBAgAABAgTuWGCZ
qKxUxuq8tlzVcXmpa+WtbecDjY3peq3+jWm/tsy16+u3J0CAAAECBAgQIECAwKMLlJOqXX33XXns
22++r8ObGx/9z8LnJ0CAAAECBAgQIEDgLQV6vHAPGVbwqoBWVqsgtv2KaVeGu12r1bcx+zfTK751
vYJZDzOefZvfvBXUuvfWOgturbH7N7Zrm9+c1t3v3ViNAAECBAgQIECAAAEC9y5Qhir31JabloXK
QB2Xj9rKQ22NW+u8+e0bv7XWtzkbf+a19dkTIECAAAECBAgQIEDgUQWu7HTLWD/+WKa6bY8K4XMT
IECAAAECBAgQIEDgSxGobLaHFFf46mHDs8i16+13XNGt44pq7SuybU7r7LzjrbvrffYV6Lr2/v37
i2PjPuX++13ONa9F/CBAgAABAgQIECBAgMCdCiwLLRv1Mco8O2+//NXx2b8vndV35qSOm7MHHzev
TFafRoAAAQIECBAgQIAAAQIvAld2uh2Wm76/1b+uhxvFJn8eBAgQIECAAAECBAgQeDuBvblxBbMC
W0WuAtza+daPjrvW+BXJOt/bFetb67jxe/vIimcV7Bpf29qNPYtsn3r/5msECBAgQIAAAQIECBC4
d4Ey0L5EtpyzjNS+tozVfpmpfNX4zjevfflrW+etsXGtVSZrHY0AAQIECBAgQIAAAQIEXgTKTatf
Pfffya5QRocAAQIECBAgQIAAAQIE3kzgpUT28vbGimErmvUL7bj9CmcrgHW+8ee4ime1FdU2vr4V
zirYrai2ued6ja3t2m/d/2W0nwQIECBAgAABAgQIELhfgfLSimh9ijJSuan8VOu4vLWHGRt/Xm9M
2am+Wte35tZ9nbGW364JfhAgQIAAAQIECBAgQODBBcpTP33IYlemysM7Nh78r8LHJ0CAAAECBAgQ
IEDgixAosK341XFFrxW+VlTbL7qC2s5XPOu8olnz2leEW7GsvtbpHh3Xf97v996/uRoBAgQIECBA
gAABAgS+JoFlsD5T/2a6dmaf5awzgzXnzFvN6foeaCx77ctk9Td2+eu8X/M0AgQIECBAgAABAgQI
PLJA+evHq172ITcJTY/85+CzEyBAgAABAgQIECDwpQgU1lYM64HEimDnA42dd72twljnK4qtv32t
eSue7Vr9u95x99saK7p1vbmfev/Xa3auESBAgAABAgQIECBA4J4FykPlomWyfSmsz1Rm2vmZtc6H
H7u+a+/fv78oOq/1xscdd75M17FGgAABAgQIECBAgAABAi81rhy+/fblTfhPBbT9CzRABAgQIECA
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
BAgQIEDgngXKPMs9ZZ7a8lG5qNb1Xeu4652XjZaPOj8fdOy4cbWubX7nraERIECAAAECBAgQIECA
wM8CT0+3nHXLYNeXzxbGfr7siAABAgQIECBAgAABAgQ+p0AlropdtYphhbX2td4W0rUKXuW3zlc4
W3FsYzvf2F3buu2X/5rfevU1bmO73+v7N6btvH9j2jZv92++RoAAAQIECBAgQIAAgXsWWL4pN5V5
9iDiHkLceZ+x47aurX9ZaefLUuWxjtvKWLXGLqddHX4QIECAAAECBAgQIEDgwQVectjtRR8fali3
DHV788aDo/j4BAgQIECAAAECBAgQeGuBFcQKbT3AWFbreA86VvD6tcJaY1d8u/Ld8dBh581r7fYV
0HafPu+KaK1ba9923r8xK7j92v13z2sBPwgQIECAAAECBAgQIHDHAuWf5aLlpz5OfZ2Xjdo6Lwvt
Wvudl6d2vX0ZrLk77ryt83PedeIHAQIECBAgQIAAAQIECFwCL/WsW/YqPL3EJzIECBAgQIAAAQIE
CBAg8BYCr79wVmCrta9wtkLY+trvwcUefrxy3S3bddycthXOGte2MR3vYcUV5TandWudb/+37t96
Ff52r2uCHwQIECBAgAABAgQIELhjgWWvctCy0D5O+ac8tYccy0Kd1za+ff37kljXGrO55ajOz3mN
0QgQIECAAAECBAgQIEDgrwWenm7/WaygpREgQIAAAQIECBAgQIDA2wnsC2cVvFYE28OIvfWjvlp9
7969+/jg4sa0r4BWka0iWee1zet4Rbb2jdnbRBq7OV37rftvXmPP+3cPjQABAgQIECBAgAABAvcs
UM5p25e42u+8fXmpvrWNWzba/M43rr7X17vWWuvfevYECBAgQIAAAQIECBB4dIFyUm256qkA9XMM
e3Qen58AAQIECBAgQIAAAQJvI7CHBtv3kOKKZmeIq2//proCWeM2tv2KZu1rrbW+zq/8Vwa8bevf
epv/+v7Nq/V7dP+25rbtocj6NAIECBAgQIAAAQIECNy7QDnn//2//3fln45rZaHy0vJPfZ1vvzxU
zmpM15qzLNe41lr26vwc1zyNAAECBAgQIECAAAECBH4psHrUU4Wrl5fm/3KAMwIECBAgQIAAAQIE
CBD4fALPz89Xgas77sHBimL1r+/Kbx/ezNiYimBdb9weWCzsrYh2Fska01sfK6LVurYiXefNa0zt
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
vM4Lf21n0Wz5b0W0vaWx86792P3PQtx5/7MA1/00AgQIECBAgAABAgQI3LvA8lPZqCxU67j+ck+Z
aBltGawxy18b2/lyUvv1L4ttfPv1tY5GgAABAgQIECBAgACBRxcof7V9fXurfl8vu97c+OgoPj8B
AgQIECBAgAABAgReW2BhrQJaxa2zeNbvVtGrtgLbHnJcUWyFs41pjfq6XiFtBbONX3/rdVxrzIfe
f2903HrXAn4QIECAAAECBAgQIEDgjgXKTj28WDbal8HKZmvln66d+a3j9S2DNX7ZbfszOzW+83Pt
3cOeAAECBAgQIECAAAECjyxQLqt9cXtTftnp6V//63/9yB4+OwECBAgQIECAAAECBF5doEcLV+ha
kazzAlxbxbAVzOovzK1vBbHGbU77ri8A9gE73trtG3PObczOd705bbvXWYDbepvTfI0AAQIECBAg
QIAAAQL3LHAVzr578LDMU1s+KhfVGrNrHXe983cz1vmgY8eNqzV28ztvDY0AAQIECBAgQIAAAQIE
vhd4errlrFsGu7589od/+IffX3FEgAABAgQIECBAgAABAh9doBJXxa5aBbHCWvtabwvpWgWvimmd
r3C24tjGdr6xu7Z1268Y1/zWq69xG9v93r1/Y9rO+zembfN2/+ZrBAgQIECAAAECBAgQuGeB5Zty
U5lnDyLuIcSd9xk7buva+peVdr4sVR7ruK2MVWvsctrV4QcBAgQIECBAgAABAgQeXOAlh91e9PFd
DeuWoW6vvn9wFB+fAAECBAgQIECAAAECry2wglihrQcYy2od70HHCl4/Vlhr7IpvV747HjrsvHmt
3b4C2u7T510RrXVr7dvO+zdmBbcfu//ueS3gBwECBAgQIECAAAECBO5YoPyzXLT81Mepr/OyUVvn
ZaFda7/z8tSuty+DNXfHnbd1fs67TvwgQIAAAQIECBAgQIAAgUvgpZ51y16Fp5f4RIYAAQIECBAg
QIAAAQIEXkPg3S+cFdhq7SucrRC2vvZ7cLGHH69cd8t2HTenbYWzxrVtTMd7WHFFuc1p3Vrn2/9F
92+9Cn+71zXBDwIECBAgQIAAAQIECNyxwLJXOWhZaB+n/FOe2kOOZaHOaxvfvv59SaxrjdncclTn
57zGaAQIECBAgAABAgQIECDw5wWenm7/WaygpREgQIAAAQIECBAgQIDA6wnsC2cVvFYE28OIvfWj
vlp9X3311dsHFzemfQW0imwVyTqvbV7HK7K1b8zeJtLYzena++6/eY097989NAIECBAgQIAAAQIE
CNyzQDmnbV/iar/z9uWl+tY2btlo8zvfuPrevd611lr/1rMnQIAAAQIECBAgQIDAowuUk2rLVU8F
qO9j2KPz+PwECBAgQIAAAQIECBB4HYE9NNi+hxRXNDtDXH37N9UVyBq3se1XNGtfa631dX7lvzLg
bVv/1tv8d+/fvFq/R/dva27bHoqsTyNAgAABAgQIECBAgMC9C5RzauWf87i8tPzT9c63Xx4qZzWm
a81flmtcay17dX6Oa55GgAABAgQIECBAgAABAj8UWD3qqcLVy0vzfzjAGQECBAgQIECAAAECBAh8
PIHn5+erwNUd9+BgRbH613flt+/ezNiYimBdb9weWCzsrYh2Fska01sfK6LVuta4+mvN2/F5/wpw
tfrevX9957xroB8ECBAgQIAAAQIECBC4U4E9wFg2Ku/U6ut4OavzclCZanmo42Wt+mob377tzFON
b83lsmuCHwQIECBAgAABAgQIECDwVuDLL/vi2C2TLWS9veKAAAECBAgQIECAAAECBF5FYMWxM6dV
AKtVKOtBw8bU9iBiRbL6Vkhr/IpwjTnXbN3Gb27rbL36u76ta7UPvf/LaD8JECBAgAABAgQIECBw
3wLLUGWktuWw+jtvX/5q25iOy2HlqT0I2bi2tR23b8zm77o9AQIECBAgQIAAAQIECHwv8Pnn5axb
fayul++efX/REQECBAgQIECAAAECBAh8PIEyWQ8cVhirwLWHD1cc22+ygln92za2AlnzK6ataNZx
13tAsWvN6doKbp2vf/f+qfdvvEaAAAECBAgQIECAAIFPRaBstK38VKYq99RXK0+tLWO1b8yy1/JV
+64tg23d1lxu27pb054AAQIECBAgQIAAAQKPLvDtt99cXzTL4UloevQ/B5+fAAECBAgQIECAAIHX
FqhEtmxWQawi14pjK371tpD6KoKtbw8Wbm6f4yy61b+HGTenMR33L6pbr+Ots/m/y/1bQyNAgAAB
AgQIECBAgMA9CiwjlZP2ZbH1ta/tbfmNqZWftm3smd/qa05ZrjUbu7b77NyeAAECBAgQIECAAAEC
BHohyJdv613XKzZe4hcaAgQIECBAgAABAgQIEHgtgefn56vQdb7RYwWyfqcVw1ZQa9wKY+urMLat
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
AgQIEHh0gdWuvviiPPb5Z1/W4c2Nj/5n4fMTIECAAAECBAgQIPCaAj1euIcMK3hVQCurVRDbfsW0
K8PdrtXq25j9m+kV37pewayHGc++zW/eCmrde2udBbfW2P0b27XNb07r7vdurEaAAAECBAgQIECA
AIF7FyhDlXtqy03LQmWgjstHbeWhtsatdd789o3fWuvbnI0/89r67AkQIECAAAECBAgQIPCoAld2
umWsb74pU922R4XwuQkQIECAAAECBAgQIPBLEahstocUV/jqYcOzyLXr7Xdc0a3jimrtK7JtTuvs
vOOtu+t99hXouvbmzZuLY+M+5P77Xc41r0X8IECAAAECBAgQIECAwJ0KLAstG/Uxyjw7b7/81fHZ
vy+d1XfmpI6bswcfN69MVp9GgAABAgQIECBAgAABAi8CV3a6HZabvrzVv66HG8Umfx4ECBAgQIAA
AQIECBB4PYG9uXEFswJbRa4C3Nr51o+Ou9b4Fck639sV61vruPF7+8iKZxXsGl/b2o09i2wfev/m
awQIECBAgAABAgQIELh3gTLQvkS2nLOM1L62jNV+mal81fjON699+Wtb562xca1VJmsdjQABAgQI
ECBAgAABAgReBMpNq18999/JrlBGhwABAgQIECBAgAABAgReTeClRPby9saKYSua9QvtuP0KZyuA
db7x57iKZ7UV1Ta+vhXOKtitqLa553qNre3a++7/MtpPAgQIECBAgAABAgQI3K9AeWlFtD5FGanc
VH6qdVze2sOMjT+vN6bsVF+t61tz676bsZbfrgl+ECBAgAABAgQIECBA4MEFylPffpfFrkyVh3ds
PPhfhY9PgAABAgQIECBAgMAvQqDAtuJXxxW9VvhaUW2/6ApqO1/xrPOKZs1rXxFuxbL6Wqd7dFz/
eb+fev/magQIECBAgAABAgQIEPiUBJbB+kz9m+namX2Ws84M1pwzbzWn63ugsey1L5PV39jlr/N+
zdMIECBAgAABAgQIECDwyALlr2+uetl3uUloeuQ/B5+dAAECBAgQIECAAIFfikBhbcWwHkisCHY+
0Nh519sqjHW+otj629eat+LZrtW/6x13v62xolvXm/uh9393zc41AgQIECBAgAABAgQI3LNAeahc
tEy2L4X1mcpMOz+z1vnwY9d37c2bNxdF57Xe+LjjzpfpOtYIECBAgAABAgQIECBA4KXGlcPnn7+8
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
e/PGg6P4+AQIECBAgAABAgQIEHhtgRXECm09wFhW63gPOlbw+rHCWmP3cOGV746HDjtvXmu3r4C2
+/R5V0Rr3Vr7tvP+jVnB7cfuv3teC/hBgAABAgQIECBAgACBOxYo//ydv/N3rly0/NTHKQt1XjZq
67wstGvtd16e2vVlqObuuEzW1vk57zrxgwABAgQIECBAgAABAgQugZd61i17FZ5e4hMZAgQIECBA
gAABAgQIEHgNgXe/cFZgq7WvcLZC2Pra78HFHn68ct0t23XcnLYVzhrXtjEd72HFFeU2p3VrnW//
F92/9Sr87V7XBD8IECBAgAABAgQIECBwxwJlrz/4gz94+xBj52vln/JUfeWkslDntc631b8viXWt
MZtbjur8nNcYjQABAgQIECBAgAABAgT+vMDT0+0/ixW2NAIECBAgQIAAAQIECBB4PYF94ayC14pg
exixt37UV6vvq6++evvg4sa0r4BWka0iWee1zet4xbf2jdnbRBq7OV173/03r7Hn/buHRoAAAQIE
CBAgQIAAgXsWKOfU9iWu9vVtX17qeG3jlo0au6y0cTtvzK53rbU2b+vZEyBAgAABAgQIECBA4NEF
ykm19mWnp358H8MencfnJ0CAAAECBAgQIECAwOsI7KHB9j2kuKLZGeLq27+prijWuI1tv6JZ+1pr
ra/zK/+VAW/b+rfe5r97/+bV+j26f1tz2/ZQZH0aAQIECBAgQIAAAQIE7l2gnPO///f/vvJPx7Wy
UHlp+ae+zrdfHrqKbrcvknWtOctyjWutZa/OW2vjmqcRIECAAAECBAgQIECAwA8FVo96qnD18tL8
Hw5wRoAAAQIECBAgQIAAAQIfT+D5+fkqcHXHPThYsav+9V357bs3MzamIljXG7cHFgt7K6KdRbLG
9NbHimi1rq1I13nzGlM7718Bbn3v3r9x57xroB8ECBAgQIAAAQIECBC4U4Hy0p/8yZ9c2ai8U6uv
4+WszstBZarloY6XteqrbXz7tjNPNb41l8uuCX4QIECAAAECBAgQIECAwFuBL7/si2O3TLaQ9faK
AwIECBAgQIAAAQIECBB4FYEVx86cVgGsVqGsBw0bU9uDiBXJ6lshrfErwu2hx9bb1vjNbZ2tV//G
/Db3by2NAAECBAgQIECAAAEC9y5QnioTlZHalsPKTp0vf5XBNqbjzWu/cctbmey4fWM2/969/P4E
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
95DiimZniKtv/6a6oljjNrb9imbta621vs4LgdvWv/U2//37N6/W79H925rbtoci69MIECBAgAAB
AgQIECBw7wLlnL/927+98k/HtbJQeWn5p77Ot18euoputy+Sda05y3KNa61lr85ba+OapxEgQIAA
AQIECBAgQIDAdwVWj3r6l//yX/7u5aX53x3gjAABAgQIECBAgAABAgQ+nsDz8/NV4OqOe3CwYlf9
6+vBwxXUGlMRrOuN67i+wt6KaGeRrDG99bH5ta6tSNd58xpTO+9fAW59799/99u8a6AfBAgQIECA
AAECBAgQuFOB8tI//af/9MpG5Z1afR0vZ3VefipTLUd1vKxVX23j27edearxrblcdk3wgwABAgQI
ECBAgAABAgTeCXzxRV8cu2Wyhax3VxwQIECAAAECBAgQIECAwKsIrDh25rQKYLUKZT1o2JjaHiis
SFbfCmmNXxGuMeeardv4zW2drVd/17d1rfah938Z7ScBAgQIECBAgAABAgTuW6A8texUTloOKzud
+asM1nlbx5vXfuOWtxLZcfvGbP59a/ntCRAgQIAAAQIECBAg8OsIfPZZOetWHytAvXz37Ne5kVUJ
ECBAgAABAgQIECBA4McFymQ9cLii2B4+XHFss1cwu3JcWe62bewKbRXhVjTruOs9oNjaje9a/Vtj
/bt399iajWns2vfdvz6NAAECBAgQIECAAAECn4pA2Whb+al8VO6pr3ZmpGWs9o1Z9lq+ar9c1X7r
tuZy29b9VPx8DgIECBAgQIAAAQIECPx9Bb7++qvri2at8yQ0/X05zSdAgAABAgQIECBAgMDfT6AS
2bJZBbGKXCuOrfjV20Lqqwi2vj1YuLn9FmfRrf49zLg5jem4f1G94trW2fy/z/1bQyNAgAABAgQI
ECBAgMA9CiwjlZn2ZbH1ta/tbfmNqZWftm3smd/qa05ZrjUbu7b77NyeAAECBAgQIECAAAECBHoh
yBfv6l3XKzZe4hcaAgQIECBAgAABAgQIEHgtgefn56vQVbFrBbEVyPqdVgxbQa1xK4ytr8LYtub0
0GLX2q+AtkJc55vXfuv93Ps3d+t0T40AAQIECBAgQIAAAQL3KlC2KSuVi/Z2xeWl82HGfb7G9MWx
fWGsuY2rv7Z1Om6dxu0hx/VtbOcaAQIECBAgQIAAAQIEHl1g9ayXOtZX/i31o/9B+PwECBAgQIAA
AQIECPw2BHrocIWuFbdWIGtfUay3f9RWFDsfZHwJeV9/Z0xz9jBjazRva7RO8+urdb2te/8x978W
8YMAAQIECBAgQIAAAQJ3LLBMVFYqY3VeW67quLzUtfLWtvOBxsZ0vVb/xrRfW+ba9fXbEyBAgAAB
AgQIECBA4NEFyknVrj7/vDz22e++CMSbGx/9z8LnJ0CAAAECBAgQIEDgNQV6vHAPGVbwqoBWeKsg
tv2KaZ231erbmP2b6RXful7BrIcZz77Nb94Kat17a50Ft9bY/Rvbtc1vTuvu926sRoAAAQIECBAg
QIAAgXsXKEMtcy03LQuVgTouH7WVh9oat9Z589s3fmutb3M2/sxr67MnQIAAAQIECBAgQIDAowpc
2emWsb76qkx12x4VwucmQIAAAQIECBAgQIDAb0WgRxX3kOIKXz1seBa5dr39jiu6dVxRrX1Fts1p
nZ13vHV3vc++Al3X3r59e3Fs3Ifcf7/Luea1iB8ECBAgQIAAAQIECBC4U4G/+Zu/+c5DiX2MMs+y
Uvvlr47P/n3prL4zJ3XcnD34uHllsvo0AgQIECBAgAABAgQIEHgRuLLT7bDc9MWt/vXUgdjkz4MA
AQIECBAgQIAAAQKvJ7A3N65gVk6ryFWAWzvf+tFx1xq/Ilnne7tifWsdN35vH1nxrIcXG1/b2o09
i2wfev/mawQIECBAgAABAgQIELh3gTJQDze2X85ZRmpfW8Zqv8xUvmr8Oa/z8te2zltj41qrTNY6
GgECBAgQIECAAAECBAi8CJSbVr967r+T1e3fUvvzIECAAAECBAgQIECAwOsJLJNVCGtb0azfaMft
VzhbAewcf46reFaraFbb+I5XOOthxxXVNvdcr7G1Xfup+7+M9pMAAQIECBAgQIAAAQL3K1Be+ou/
+It3H6CMVG4qP9U6Lm/tYcbGn9cbU3aqr9b1tjLZinPvZ6zlt2uCHwQIECBAgAABAgQIEHhwgfLU
199ksStTXSHrwVF8fAIECBAgQIAAAQIECPwWBApsK351XF5b4WtFtf2eK6jtfMWzziuaNa99RbgV
y+prne7Rcf3n/X7u/ZurESBAgAABAgQIECBA4FMS+NM//dN3H6d/M107s89y1pnByldn3mpO1/dA
Y9lrXyarv7HLXx1rBAgQIECAAAECBAgQIPAiUP766qqXfZObhCZ/GgQIECBAgAABAgQIEHh9gcLa
imE9kFgR7HygsfOut1UY63xFsfW3rzVvxbNdq3/XO+5+W2NFt64390Pv//6anWsECBAgQIAAAQIE
CBC4Z4HyULlomWxfCuszlZl2fmat8+HHru/a27dvL4rOa73xccedL9N1rBEgQIAAAQIECBAgQIDA
S40rh88+e3kT/lMBzXfC/GkQIECAAAECBAgQIEDg9QT6J9IrcJ1FsfM3Wn8Z7jxuzB5k7Fqt622t
WUGuVtFsczuuYLd7dry2tXe+/cZujfpbp7b7Xid+ECBAgAABAgQIECBA4E4Fyjg9gFguKue0lan2
QOM+VtfPXNX1zT0zWOPaylNtG7d1mrOstT57AgQIECBAgAABAgQIPLLAlaFuAMtkTwWnl3LUI7P4
7AQIECBAgAABAgQIEHg9gfMLZyturfjVb1Xf8/Pzta9QduW4W1/BboWwCnD1F/pWMOt44W/zNqdr
tfM+nf/Q/XsAsmtbp+Ot1TyNAAECBAgQIECAAAEC9y5QPipPLessb62/z1cWqpWNlqu2X27a/MZ1
fJ7Xd6679erXCBAgQIAAAQIECBAg8OgCZaQrM932Za2rmnUW0h4dyOcnQIAAAQIECBAgQIDAxxYo
mK2gVdGr1vkC3IpmK6h13ri9UaRw19j6K8StUNZxbdd3vP7dc+t1/UPu33qNa1736lwjQIAAAQIE
CBAgQIDAvQssZy0rbd/nWv5p30OMy1VlouaVi5bZOm5rftuuddyYtlrzzntcnX4QIECAAAECBAgQ
IEDggQWWl/pa2ZWnHtjCRydAgAABAgQIECBAgMBvRmCFrwpltT2kuIJZAW6FsP3SFcK6Xv/Gda3g
t3W6tr72K7Ltflt355v3IfdvrmLcxesHAQIECBAgQIAAAQKfgEC56HxQ8f0HEctJXT/7V3jr4ze/
TLWc1XHXl906PzPUrn8CdD4CAQIECBAgQIAAAQIEfhGB8tSXvcjjtlqZ6fq31L/IyhYhQIAAAQIE
CBAgQIAAgT9KoHc1VuAqpK0IVlGsrUJYfTvuvLeE7K2Nu2H921pr69W389bZQ5D1db7rHX/o/VtD
EW7y9gQIECBAgAABAgQIfEoCZaNlp2WpPt+Z0cpDtcY1pmsdl9XKWLWO17quESBAgAABAgQIECBA
gMBPC5SprhrULUf9/vdflrcEqp9mM4IAAQIECBAgQIAAAQK/nsBS2fkWkLJaxbD2K6idhbNzbL/Z
xhf69sBiY+o/t8a2XmPqr/WgZO1cc+u1/77719fv0zoaAQIECBAgQIAAAQIEPiWBMyuVezovL+14
GWlfEHs/Yy2XzWTZ6eyvb2tunD0BAgQIECBAgAABAgQeXaCstLx0q3j97kkh6tH/JHx+AgQIECBA
gAABAgReW6A3N9YqjK2IVpGr8/a1+ne94xXXNn7FtBXLNn7FsvMNIq3T+Ma071pBcet3vx+7f/fY
/WXKtDQCBAgQIECAAAECBD4FgeWk8k7bclL5aNnnzGhdry0fdby+5a76WrfWtbZlquZt3WuAHwQI
ECBAgAABAgQIEHhwgTLT6lUlrqcFqgd38fEJECBAgAABAgQIECDwagK9+7CwdhbMVvCq0FWIqz0/
P19jynErum1c1xvXGm31r1Uw6+2MZ/6rr4cam9M92j70/q29+3cPxbhJ2xMgQIAAAQIECBAgcO8C
ZZ23b9++y2j7PGc2W95aFipfbevatvo6XqZb5mpf27jdw54AAQIECBAgQIAAAQKPLlCOWp2rzHX9
D7JvS16PzuPzEyBAgAABAgQIECBA4OML7B87V/CqkHaFtVt4q1Xsqq99gW5FsRXWurbC2OY2prF7
W2P9ayuebWznW/Pn3r97nPffPewJECBAgAABAgQIECBwjwJlnGWtfv+Ot5V92spN9e28THVmss53
fXmrfdvW73pt59eJHwQIECBAgAABAgQIECDwTuDKVbcvhl3/lnqFtHdXHRAgQIAAAQIECBAgQIDA
RxPoC2cVyFYQW+GrX6BiV+crfu2X2kOFzeutjF0/x7xfOGvtrq941rzG1Hbf7T/0/v0OrddaGgEC
BAgQIECAAAECBO5dYNlr2aq8sy+N1bccVv+59bm7tszVeTmtVs46r3Xe3PralsuuwX4QIECAAAEC
BAgQIEDgwQXKSbdXf1xZ6fNbrroebvTmxgf/q/DxCRAgQIAAAQIECBB4VYG+cFaBq6LWHlTsF1oR
rOOzSLZx9a8gtjFda15tBbMdrxjXmLadnw86fuj990Dj1rpu6AcBAgQIECBAgAABAgTuWKCM9J/+
03969wnKW/VtK2OVhZbf9uBjE+pv/HJY18pL9ddXa97md17/rnWuESBAgAABAgQIECBA4NEFXjLS
y8s6ylBPVzB7dBWfnwABAgQIECBAgAABAr8BgYpcFcCusPZNkevNmzfXb1Z2q/8snnVhDyhuX9+K
Y81Z67ita+s/H3DcvPfvv7eNNOfH7r/72BMgQIAAAQIECBAgQOBeBcpIf/3Xf/3uYcY+xx5GLA91
fa1sVV5avqq/vjJVc/ZAZPM6rm1+58ttjdcIECBAgAABAgQIECBA4EXgO7mp7LRABYgAAQIECBAg
QIAAAQIEXlegotiKYB23nQ8zVvzaw47Pz8/vftnmrKBWxuu88Nd2Fs2W/1ZE21saO+/a993/LMSd
9z8LcN1PI0CAAAECBAgQIECAwL0LlIvKQGWj9rWO6y/3lImW0ZbBGrP8tbGdLye1X/+y2Ma3X1/r
aAQIECBAgAABAgQIEHh0gfJX25e3OlhfL3t5D/6jq/j8BAgQIECAAAECBAgQeGWBhbUKaBW3zuJZ
v1pFr9oKbHvIcUWxFc42pjXq63qFtBXMNn79rddxrTEfev+90XHrXQv4QYAAAQIECBAgQIAAgTsW
KDv92Z/92ZWN9mWwstla+Wd5rf7yU/v1LYM1ftlt+zM7Nb7zc+3dw54AAQIECBAgQIAAAQKPLFAu
q31+e1N+2cmbGx/5r8FnJ0CAAAECBAgQIEDgNyHQo4UrdFXcauu8ANd2FszqL8ytbwWxxm1O+64v
APYhO97aW/+c25id73pz2navswC39Tan+RoBAgQIECBAgAABAgTuWaDM86d/+qfvslWfZfmoXFRr
THlox13vvGy0fNT5+aBjx42rdW3zt8Z1wQ8CBAgQIECAAAECBAgQuASenm4565bBenP+08IYGwIE
CBAgQIAAAQIECBB4HYFKXBW7ahXDCmvta70tpGt7oLHzFc5WHNvYzjd217Zu++W/5rdefY3b2O73
/v0b03bevzFtm7f7N18jQIAAAQIECBAgQIDAPQss55SbOt6DiGWi2s53vHy1/mWlnS9Llcc6bitj
1Rq7nHZ1+EGAAAECBAgQIECAAIEHF3jJYbcXfXxTw7rtb/+m7MFRfHwCBAgQIECAAAECBAi8tsAK
YoW2HmCs4NXxHnSs4PV9hbXG7uHC5qyQ1ufpvHmt3b78t/t0fUW01q21bzvv35gV3L7v/rvntYAf
BAgQIECAAAECBAgQuGOB8s9f/dVfXblo+amPUxa66mnHF73KQrvWfuflqcZ3vgzV3B2Xydo6P+dd
J34QIECAAAECBAgQIECAwCXwUs+6ZavC00t8IkOAAAECBAgQIECAAAECryHw/hfOCmy19j1YuELY
+tpXKKvw1sOPV667ZbuOm9O2wlnjVlSrr+M9rLgHITendWudb/9D92+t7r97XRP8IECAAAECBAgQ
IECAwB0LlL3+7u/+7spMy0L7OOWf8tQeciwLdV5r7Lb6G9t5rTGbu0x2zrsG+UGAAAECBAgQIECA
AAECfyDw9HT7z2IrWv3BVR0ECBAgQIAAAQIECBAg8FEE9oWzCl4rglX0auutH/XVOn/z5s27Bxc3
pn3ZriJbRbLOa5vXcYW1xrRvzN4m0tjN6dpP3X/zGnvev3toBAgQIECAAAECBAgQuGeBcs4/+Sf/
5N2XuJahti8vdbzW8ZmLmr+stHE7b9yud621Nnfr2RMgQIAAAQIECBAgQODRBcpJtfZlp+vhxm9j
2KPz+PwECBAgQIAAAQIECBB4HYE9NNi+hxRXNDtDXH37N9UVxRq3se1XNGtfa631dV4I3Lb+rbf5
79+/ebV+j+7f1ty2PRRZn0aAAAECBAgQIECAAIF7Fyjn1Mo/53F5afmn651vvzx0Fd1uXyTrWvOX
5RrXWstenbfWxjVPI0CAAAECBAgQIECAAIHvCqwe9dRbP15emv/dAc4IECBAgAABAgQIECBA4OMJ
PD8/XwWu7rgHByt21b++HjxcQa0xFcG63riO6yvsrYh2Fskac+W/WxGt1rXG1V9r3o7P+1eAq9X3
/v13v827BvpBgAABAgQIECBAgACBOxVY3irjlHdq9XW8nNV5+alMtRzVcf21+mob377tzFONb83l
smuCHwQIECBAgAABAgQIECDwTuCLL/ri2C2TLWS9u+KAAAECBAgQIECAAAECBF5FYMWxM6dVAKtV
KOtBw8bU9kBhRbL6Vkhr/IpwjTnXbN3Gb27rbL36u76ta7UPvf/LaD8JECBAgAABAgQIECBw3wLL
UGWktuWw+jtvX/5q25iOy2HlqT0I2bi2tR23b8zm77o9AQIECBAgQIAAAQIECHwr8Nln5axbfawA
9fLds28vOiJAgAABAgQIECBAgACBjydQJuuBwwpjFbj28OGKY/tNVjC7clxZ7rZtbAWy5ldMW9Gs
4673gGLXGt+1Fdw6X//u/XPv33iNAAECBAgQIECAAAECn4pA2Whb+alMVe6pr1aeWlvGat+YZa/l
q/ZdWwbbuq253LZ1t6Y9AQIECBAgQIAAAQIEHl3g66+/ur5olsOT0PTofw4+PwECBAgQIECAAAEC
ry1QiWzZrIJYRa4Vx1b86m0h9VUEW98eLNzcPsdZdKt/DzNuTmM67l9Ut17HW2fz/z73bw2NAAEC
BAgQIECAAAEC9yiwjFRO2pfF1te+trflN6ZWftq2sWd+q685ZbnWbOza7rNzewIECBAgQIAAAQIE
CBDohSBfvKt3Xa/YeIlfaAgQIECAAAECBAgQIEDgtQSen5+vQtf5Ro8VyPqdVgxbQa1xK4ytr8LY
tub00GLX2q+AtkJc55vXfuv93Ps3d+t0T40AAQIECBAgQIAAAQL3KlC2KSuVi/Z2xeWl82HGfb7G
9MWxfWGsuY2rv7Z1Om6dxu0hx/VtbOcaAQIECBAgQIAAAQIEHl1g9ayXOtZX/i31o/9B+PwECBAg
QIAAAQIECPw2BHrocIWuFbdWIGtfUay3f9RWFDsfZHwJeV9/Z0xz9jBjazRva7RO8+urdb2te/8x
978W8YMAAQIECBAgQIAAAQJ3LLBMVFYqY3VeW67quLzUtfLWtvOBxsZ0vVb/xrRfW+ba9fXbEyBA
gAABAgQIECBA4NEFyknVrj7/vDz22e++CMSbGx/9z8LnJ0CAAAECBAgQIEDgNQV6vHAPGVbwqoBW
eKsgtv2KaZ231erbmP2b6RXful7BrIcZz77Nb94Kat17a50Ft9bY/Rvbtc1vTuvu926sRoAAAQIE
CBAgQIAAgXsXKEMtcy03LQuVgTouH7WVh9oat9Z589s3fmutb3M2/sxr67MnQIAAAQIECBAgQIDA
owpc2emWsb76qkx12x4VwucmQIAAAQIECBAgQIDAb0WgRxX3kOIKXz1seBa5dr39jiu6dVxRrX1F
ts1pnZ13vHV3vc++Al3X3r59e3Fs3Ifcf7/Luea1iB8ECBAgQIAAAQIECBC4U4FloWWjPkaZZ+ft
l786Pvv3pbP6zpzUcXP24OPmlcnq0wgQIECAAAECBAgQIEDgReDKTrfDctMXt/rXUwdikz8PAgQI
ECBAgAABAgQIvJ7A3ty4glk5rSJXAW7tfOtHx11r/Ipkne/tivWtddz4vX1kxbMKdo2vbe3GnkW2
D71/8zUCBAgQIECAAAECBAjcu0AZaF8iW85ZRmpfW8Zqv8xUvmp855vXvvy1rfPW2LjWKpO1jkaA
AAECBAgQIECAAAECLwLlptWvnvvvZHX7t9T+PAgQIECAAAECBAgQIPB6AstkFcLaVjTrN9px+xXO
VgA7x5/jKp7VVlTb+PpWOKtgt6La5p7rNba2az91/5fRfhIgQIAAAQIECBAgQOB+BcpL/+/fffv7
l5HKTeWnWsflrT3M2PjzemPKTvXVut5WJltx7v2Mtfx2TfCDAAECBAgQIECAAAECDy5Qnvr6myx2
ZaorZD04io9PgAABAgQIECBAgACB34JAgW3Fr47Layt8rai233MFtZ2veNZ5RbPmta8It2JZfa3T
PTqu/7zfz71/czUCBAgQIECAAAECBAh8SgL/87/+z+8+Tv9munZmn+WsM4OVr8681Zyu74HGste+
TFZ/Y5e/OtYIECBAgAABAgQIECBA4EWg/PXVVS/7JjcJTf40CBAgQIAAAQIECBAg8PoChbUVw3og
sSLY+UBj511vqzDW+Ypi629fa96KZ7tW/6533P22xopuXW/uh97//TU71wgQIECAAAECBAgQIHDP
Av/bX/7nKxctk+1LYX2mMtPOz6x1PvzY9V17+/btRdF5rTc+7rjzZbqONQIECBAgQIAAAQIECBB4
qXHl8NlnL2/Cf6pw5Tth/jQIECBAgAABAgQIECDwegL9E+kVuM6i2Pkbrb8Mdx43Zg8ydq3W9bbW
rCBXq2i2uR33AOPu2fHa1t759hu7Nepvndrue534QYAAAQIECBAgQIAAgTsVKOP8T//Dn1x5qpzT
VqbaA437WOWmM1d1vfMeXjwz2JnNylQbt3Was6y1PnsCBAgQIECAAAECBAg8ssBV37oBLJM9FZxe
ylGPzOKzEyBAgAABAgQIECBA4PUEzi+crbhVgWtFrvqen5+vYlmFsivH3foKdhtTEa3+Qt8KZh0v
/G3e5nStdt6n8x+6fw9Adm3rdLy1mqcRIECAAAECBAgQIEDg3gXKR//8v/9v32Wd5a325axaWahW
Nlqu2n656cxKy2Rbq7k7br/16tcIECBAgAABAgQIECDw6AJlpCsz3fZlrauadRbSHh3I5ydAgAAB
AgQIECBAgMDHFiiYraBV4avW+QLcimaFuQpqnTeuBxqvYHcLd42tv+srlK341pit3/H617f1uu+H
3L81Gte87tW5RoAAAQIECBAgQIAAgXsXWM5aVtq+z7X8076HGJerykTNKxcts3Xc1vy2Xeu4MW21
5p33uDr9IECAAAECBAgQIECAwAMLLC/1tbIrTz2whY9OgAABAgQIECBAgACB34zACl8Vymp7SHEF
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
y2FX5rr1PC1Q8SFAgAABAgQIECBAgACB1xHoK2eFtbNgtoJXha6KYrXn5+drTDmubcW0FcMa1xpt
zV9rXG8cOfNffT3U2Jzmt33o/Vt79+8eu//uZ0+AAAECBAgQIECAAIF7Ffg3/+bf/O7t27fvMto+
R7ln2Wx5a1mofLWta9vq63jzlrna1zZu97AnQIAAAQIECBAgQIDAowuUo1bnKnNdr/j4tuT16Dw+
PwECBAgQIECAAAECBD6+wN6nX8GrhwavsHYLb7WKXfW1L9CtKLbCWtdWGNvcxjR2b2usf23Fs43t
fGv+3Pt3j/P+u4c9AQIECBAgQIAAAQIE7lFgRbRlpHLXtrJPW9fq23mZ6sxkne/68lb7ttbfevns
/B6t/M4ECBAgQIAAAQIECBD4NQWuXHX7Ytj1b6lXSPs1b2htAgQIECBAgAABAgQIEPh+gb5wVoFs
BbEVvhpdsavzQtzZ9lBh83or41kga9z7hbPWbsyKZ81rTG333f5D79/v0HqtpREgQIAAAQIECBAg
QODeBZaRlr/KO/vSWH3LYfWfW5+7a8tcnZfTauWs81rnza2vbfe8BvtBgAABAgQIECBAgACBBxco
J92qXFdW+vyWq66HG7258cH/Knx8AgQIECBAgAABAgReVaDHFitwVdTag4r9QiuCdXwWyTau/hXE
NqZrzautYLbjFeMa07bz80HHD73/HmjcWtcN/SBAgAABAgQIECBAgMAdCywj7SOUt+rbVsYqCy2/
7cHHxtff+OWwrpWX6q+v1rzN77z+XetcI0CAAAECBAgQIECAwKMLvGSkl5d1lKGermD26Co+PwEC
BAgQIECAAAECBH4DAhW5KoBdYe2bItebN2+u36zsVv9ZPOvCim/b17fiWHPWOm7r2vrPBxw37/37
720jzfmx++8+9gQIECBAgAABAgQIELhXgWWkPczY59jDiOWhrq+VrcpLy1f111emas7WaF7Htc3v
fLmt8RoBAgQIECBAgAABAgQIvAh8JzeVnRaoABEgQIAAAQIECBAgQIDA6wpUFFsRrOO282HGil97
2PH5+fndL9ucFdTKeJ0X/trOotny34poe0tj5137vvufhbjz/mcBrvtpBAgQIECAAAECBAgQuHeB
ctHbt2+vbFQWqpWT6i/3lImW0ZbBGrP8tbGdLye1X/+y2Ma3X1/raAQIECBAgAABAgQIEHh0gfJX
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
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>478939</attachid>
            <date>2026-04-06 16:48:14 -0700</date>
            <delta_ts>2026-04-06 19:25:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-240961-20260406164813.patch</filename>
            <type>text/plain</type>
            <size>18674</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSA1MGZhYzc5OGU5NzAyODRhOGViMmY4NDE0ZGU0ODMxZDJkZjJjOGYzIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IE1vbiwgNiBBcHIgMjAyNiAxNjo0MjoyNiAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIGBwb3NpdGlv
bjogcmVsYXRpdmVgIGRvZXNuJ3Qgd29yayBhcyBleHBlY3RlZCBvbiB0YWJsZSByb3cKIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNDA5NjEgPHJkYXI6Ly9wcm9ibGVt
Lzk0Mjk0ODE5PgoKUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgpXaGVuIHlvdSBwdXQgYHBv
c2l0aW9uOiByZWxhdGl2ZWAgb24gYSA8dHI+LCBhbnkgYWJzb2x1dGVseSBwb3NpdGlvbmVkCmNo
aWxkIChsaWtlIDxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgaW5zZXQ6IDAiPikgc2hv
dWxkIHNpemUgYW5kCnBvc2l0aW9uIGl0c2VsZiByZWxhdGl2ZSB0byB0aGF0IHJvdy4gSW5zdGVh
ZCwgaXQgd2FzIGVzY2FwaW5nIHRvIHRoZQp2aWV3cG9ydCAtIHRoZSByZWQgYm94IGZpbGxlZCB0
aGUgd2hvbGUgcGFnZSBpbnN0ZWFkIG9mIGp1c3QgdGhlIHJvdy4KClRocmVlIHRoaW5ncyB3ZXJl
IHByZXZlbnRpbmcgdGhpczoKCjEuIFRoZSBzdHlsZSBzeXN0ZW0gd2FzIHJlbW92aW5nIGBwb3Np
dGlvbjogcmVsYXRpdmVgIGZyb20gdGFibGUKICAgcm93cy4gVGhlcmUgd2FzIG9sZCBjb2RlIGlu
IHRoZSBzdHlsZSBhZGp1c3RlciB0aGF0IGZvcmNlZCBhbGwgdGFibGUKICAgcm93cyBiYWNrIHRv
IGBwb3NpdGlvbjogc3RhdGljYC4gVGhpcyB3YXMgYSB3b3JrYXJvdW5kIGZvciBhIGNyYXNoCiAg
IHRoYXQgaGFwcGVuZWQgYmVjYXVzZSBvZiBwcm9ibGVtICMyIGJlbG93LgoKMi4gUmVuZGVyVGFi
bGVSb3cgZXh0ZW5kZWQgUmVuZGVyQm94LCBidXQgYGNvbnRhaW5pbmdCbG9jaygpYCByZXR1cm5z
CiAgIFJlbmRlckJsb2NrKi4gU2luY2UgdGhlIHJvdyB3YXNuJ3QgYSBSZW5kZXJCbG9jaywgdGhl
IGNvbnRhaW5pbmcKICAgYmxvY2sgc2VhcmNoIHdhbGtlZCByaWdodCBwYXN0IGl0IGFuZCBrZXB0
IGdvaW5nIHVwIHRoZSB0cmVlIHVudGlsIGl0CiAgIGhpdCB0aGUgdmlld3BvcnQuIFRoZSBmaXgg
aXMgdG8gbWFrZSBSZW5kZXJUYWJsZVJvdyBleHRlbmQgUmVuZGVyQmxvY2sKICAgaW5zdGVhZCwg
anVzdCBsaWtlIFJlbmRlclRhYmxlQ2VsbCAod2hpY2ggZXh0ZW5kcyBSZW5kZXJCbG9ja0Zsb3cp
IGFuZAogICBSZW5kZXJUYWJsZSAod2hpY2ggZXh0ZW5kcyBSZW5kZXJCbG9jaykuIFJlbmRlckJs
b2NrIGFkZHMgbm8gZXh0cmEKICAgZGF0YSBtZW1iZXJzLCBhbmQgUmVuZGVyVGFibGVSb3c6Omxh
eW91dCgpIHN0aWxsIGNvbXBsZXRlbHkgb3ZlcnJpZGVzCiAgIGxheW91dCAtLSBibG9jayBsYXlv
dXQgaXMgbmV2ZXIgaW52b2tlZC4KCjMuIFJlbmRlclRhYmxlUm93OjpyZXF1aXJlc0xheWVyKCkg
d2FzIG1pc3NpbmcgYGlzUG9zaXRpb25lZCgpYC4gV2l0aG91dAogICBhIHJlbmRlciBsYXllciwg
YSBgcG9zaXRpb246IHJlbGF0aXZlYCByb3cgY291bGRuJ3QgZXN0YWJsaXNoIHRoZQogICByaWdo
dCBjb29yZGluYXRlIHN5c3RlbSAtLSB0aGUgYWJzb2x1dGUgY2hpbGQgd2FzIHNpemVkIGNvcnJl
Y3RseSBidXQKICAgZHJhd24gYXQgdGhlIHZpZXdwb3J0J3MgdG9wLWxlZnQgY29ybmVyIGluc3Rl
YWQgb2YgdGhlIHJvdydzIHBvc2l0aW9uLgoKVGFibGUgcm93cyBhcmUgc3BlY2lhbCBiZWNhdXNl
IHRoZWlyIGZpbmFsIGRpbWVuc2lvbnMgYXJlIHNldCBieQpsYXlvdXRSb3dzKCkgYWZ0ZXIgbGF5
b3V0KCkgZmluaXNoZXMgKHRoZSByb3cgaGVpZ2h0IGRlcGVuZHMgb24gY2VsbApoZWlnaHRzKS4g
U28gbGF5b3V0T3V0T2ZGbG93Qm94ZXMoKSBhbmQgY2xlYXJOZWVkc0xheW91dCgpIGFyZSBjYWxs
ZWQgaW4KbGF5b3V0Um93cygpIG9uY2UgdGhlIHJvdyBoYXMgaXRzIGZpbmFsIHNpemUsIG5vdCBp
biBsYXlvdXQoKS4KCiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Bvc2l0aW9uZWRMYXlvdXRD
b25zdHJhaW50cy5jcHA6CiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmg6
CiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlUm93LmNwcDoKKiBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVSb3cuaDoKKiBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9uLmNwcDoKKiBTb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHls
ZUFkanVzdGVyLmNwcDoKKiBMYXlvdXRUZXN0cy9mYXN0L3RhYmxlL3JlbGF0aXZlLXBvc2l0aW9u
LXJvdy1jb250YWlubWVudC5odG1sOiBBZGRlZC4KKiBMYXlvdXRUZXN0cy9mYXN0L3RhYmxlL3Jl
bGF0aXZlLXBvc2l0aW9uLXJvdy1jb250YWlubWVudC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKiBM
YXlvdXRUZXN0cy9mYXN0L3RhYmxlL3JlbGF0aXZlLXBvc2l0aW9uLXJvdy1tdWx0aWNlbGwuaHRt
bDogQWRkZWQuCiogTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9yZWxhdGl2ZS1wb3NpdGlvbi1yb3ct
bXVsdGljZWxsLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgoqIExheW91dFRlc3RzL2Zhc3QvdGFibGUv
bm9uLXBvc2l0aW9uZWQtcm93LW5vLWNvbnRhaW5tZW50Lmh0bWw6IEFkZGVkLgoqIExheW91dFRl
c3RzL2Zhc3QvdGFibGUvbm9uLXBvc2l0aW9uZWQtcm93LW5vLWNvbnRhaW5tZW50LWV4cGVjdGVk
Lmh0bWw6IEFkZGVkLgotLS0KIC4uLi9yZW5kZXJpbmcvUG9zaXRpb25lZExheW91dENvbnN0cmFp
bnRzLmNwcCB8ICAzICstCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaCAg
ICAgICAgfCAgMyArLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlUm93LmNw
cCAgIHwgMTYgKysrKy0tLS0tCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVS
b3cuaCAgICAgfCAgNyArKy0tCiAuLi4vV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0
aW9uLmNwcCAgfCAxMCArKysrKy0KIFNvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQWRqdXN0ZXIu
Y3BwICAgICAgICB8ICA3ICsrLS0KIC4uLm9zaXRpb25lZC1yb3ctbm8tY29udGFpbm1lbnQtZXhw
ZWN0ZWQuaHRtbCB8IDE0ICsrKysrKysrCiAuLi4vbm9uLXBvc2l0aW9uZWQtcm93LW5vLWNvbnRh
aW5tZW50Lmh0bWwgICAgfCAzMyArKysrKysrKysrKysrKysrKysrCiAuLi5pdmUtcG9zaXRpb24t
cm93LWNvbnRhaW5tZW50LWV4cGVjdGVkLmh0bWwgfCAxNSArKysrKysrKysKIC4uLi9yZWxhdGl2
ZS1wb3NpdGlvbi1yb3ctY29udGFpbm1lbnQuaHRtbCAgICB8IDMyICsrKysrKysrKysrKysrKysr
KwogLi4uYXRpdmUtcG9zaXRpb24tcm93LW11bHRpY2VsbC1leHBlY3RlZC5odG1sIHwgMTQgKysr
KysrKysKIC4uLi9yZWxhdGl2ZS1wb3NpdGlvbi1yb3ctbXVsdGljZWxsLmh0bWwgICAgICB8IDMz
ICsrKysrKysrKysrKysrKysrKysKIDEyIGZpbGVzIGNoYW5nZWQsIDE2OCBpbnNlcnRpb25zKCsp
LCAxOSBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L3Rh
YmxlL25vbi1wb3NpdGlvbmVkLXJvdy1uby1jb250YWlubWVudC1leHBlY3RlZC5odG1sCiBjcmVh
dGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9ub24tcG9zaXRpb25lZC1yb3ct
bm8tY29udGFpbm1lbnQuaHRtbAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3Qv
dGFibGUvcmVsYXRpdmUtcG9zaXRpb24tcm93LWNvbnRhaW5tZW50LWV4cGVjdGVkLmh0bWwKIGNy
ZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L3RhYmxlL3JlbGF0aXZlLXBvc2l0aW9u
LXJvdy1jb250YWlubWVudC5odG1sCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFz
dC90YWJsZS9yZWxhdGl2ZS1wb3NpdGlvbi1yb3ctbXVsdGljZWxsLWV4cGVjdGVkLmh0bWwKIGNy
ZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L3RhYmxlL3JlbGF0aXZlLXBvc2l0aW9u
LXJvdy1tdWx0aWNlbGwuaHRtbAoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9Qb3NpdGlvbmVkTGF5b3V0Q29uc3RyYWludHMuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1Bvc2l0aW9uZWRMYXlvdXRDb25zdHJhaW50cy5jcHAKaW5kZXggZjYxYWQ4OGMyMWQ4Li5j
MGM2YTUzYjdhMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Qb3NpdGlv
bmVkTGF5b3V0Q29uc3RyYWludHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Q
b3NpdGlvbmVkTGF5b3V0Q29uc3RyYWludHMuY3BwCkBAIC0zNCw3ICszNCw2IEBACiAjaW5jbHVk
ZSAiUmVuZGVySW5saW5lLmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXIuaCIKICNpbmNsdWRlICJS
ZW5kZXJTdHlsZS5oIgotI2luY2x1ZGUgIlJlbmRlclRhYmxlUm93LmgiCiAjaW5jbHVkZSAiUmVu
ZGVyVmlldy5oIgogI2luY2x1ZGUgIlN0eWxlUG9zaXRpb25BcmVhLmgiCiAKQEAgLTY1Niw3ICs2
NTUsNyBAQCBzdGF0aWMgTGF5b3V0UG9pbnQgc3RhdGljRGlzdGFuY2UoY29uc3QgUmVuZGVyQm94
TW9kZWxPYmplY3QmIGNvbnRhaW5lciwgY29uc3QgUgogICAgIGF1dG8gaGFzU2Vlbk5vbklubGlu
ZUJveENvbnRhaW5lciA9IGZhbHNlOwogICAgIGZvciAoYXV0byogYW5jZXN0b3JDb250YWluZXIg
PSBjaGlsZC0+cGFyZW50KCk7IGFuY2VzdG9yQ29udGFpbmVyICYmIGFuY2VzdG9yQ29udGFpbmVy
ICE9ICZjb250YWluZXI7IGFuY2VzdG9yQ29udGFpbmVyID0gYW5jZXN0b3JDb250YWluZXItPmNv
bnRhaW5lcigpKSB7CiAgICAgICAgIENoZWNrZWRQdHIgY29udGFpbmVyQm94ID0gZHluYW1pY0Rv
d25jYXN0PFJlbmRlckJveD4oKmFuY2VzdG9yQ29udGFpbmVyKTsKLSAgICAgICAgaWYgKCFjb250
YWluZXJCb3ggfHwgaXM8UmVuZGVyVGFibGVSb3c+KCpjb250YWluZXJCb3gpKQorICAgICAgICBp
ZiAoIWNvbnRhaW5lckJveCkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCiAgICAgICAgIHN0YXRp
Y1Bvc2l0aW9uID0gY2hpbGQgPT0gJm91dE9mRmxvd0JveCA/IGluaXRpYWxTdGF0aWNQb3NpdGlv
bigpIDogcG9zaXRpb25JbkNvbnRhaW5lcigqY29udGFpbmVyQm94LCAqY2hpbGQsIHN0YXRpY1Bv
c2l0aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9j
ay5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKaW5kZXggOGQxZWQz
ZDVkNTc3Li45ZmU0NTA0YTM4YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCbG9jay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9j
ay5oCkBAIC0yNTUsMTMgKzI1NSwxNCBAQCBwdWJsaWM6CiAKICAgICBQYWludEluZm8gcGFpbnRJ
bmZvRm9yQmxvY2tDaGlsZHJlbihjb25zdCBQYWludEluZm8mKSBjb25zdDsKIAorICAgIHZvaWQg
bGF5b3V0T3V0T2ZGbG93Qm94ZXMoUmVsYXlvdXRDaGlsZHJlbiwgYm9vbCBmaXhlZFBvc2l0aW9u
T2JqZWN0c09ubHkgPSBmYWxzZSk7CisKIHByb3RlY3RlZDoKICAgICBSZW5kZXJGcmFnbWVudGVk
RmxvdyogbG9jYXRlRW5jbG9zaW5nRnJhZ21lbnRlZEZsb3coKSBjb25zdCBvdmVycmlkZTsKICAg
ICBib29sIGVzdGFibGlzaGVzSW5kZXBlbmRlbnRGb3JtYXR0aW5nQ29udGV4dElnbm9yaW5nRGlz
cGxheVR5cGUoY29uc3QgUmVuZGVyU3R5bGUmKSBjb25zdDsKIAogICAgIHZvaWQgbGF5b3V0KCkg
b3ZlcnJpZGU7CiAKLSAgICB2b2lkIGxheW91dE91dE9mRmxvd0JveGVzKFJlbGF5b3V0Q2hpbGRy
ZW4sIGJvb2wgZml4ZWRQb3NpdGlvbk9iamVjdHNPbmx5ID0gZmFsc2UpOwogICAgIHZpcnR1YWwg
dm9pZCBsYXlvdXRPdXRPZkZsb3dCb3goUmVuZGVyQm94JiwgUmVsYXlvdXRDaGlsZHJlbiwgYm9v
bCBmaXhlZFBvc2l0aW9uT2JqZWN0c09ubHkpOwogICAgIAogICAgIHZvaWQgbWFya0ZpeGVkUG9z
aXRpb25Cb3hGb3JMYXlvdXRJZk5lZWRlZChSZW5kZXJCb3gmIGNoaWxkKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVJvdy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVSb3cuY3BwCmluZGV4IDk5OWE0NDEyYTcwMy4uYmY4
MWZkNzEyNTIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFi
bGVSb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVJvdy5j
cHAKQEAgLTUxLDcgKzUxLDcgQEAgdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIFdURl9NQUtF
X1RaT05FX0FMTE9DQVRFRF9JTVBMKFJlbmRlclRhYmxlUm93KTsKIAogUmVuZGVyVGFibGVSb3c6
OlJlbmRlclRhYmxlUm93KEVsZW1lbnQmIGVsZW1lbnQsIFJlbmRlclN0eWxlJiYgc3R5bGUpCi0g
ICAgOiBSZW5kZXJCb3goVHlwZTo6VGFibGVSb3csIGVsZW1lbnQsIFdURjo6bW92ZShzdHlsZSkp
CisgICAgOiBSZW5kZXJCbG9jayhUeXBlOjpUYWJsZVJvdywgZWxlbWVudCwgV1RGOjptb3ZlKHN0
eWxlKSwgeyB9KQogICAgICwgbV9yb3dJbmRleCh1bnNldFJvd0luZGV4KQogewogICAgIHNldElu
bGluZShmYWxzZSk7CkBAIC01OSw3ICs1OSw3IEBAIFJlbmRlclRhYmxlUm93OjpSZW5kZXJUYWJs
ZVJvdyhFbGVtZW50JiBlbGVtZW50LCBSZW5kZXJTdHlsZSYmIHN0eWxlKQogfQogCiBSZW5kZXJU
YWJsZVJvdzo6UmVuZGVyVGFibGVSb3coRG9jdW1lbnQmIGRvY3VtZW50LCBSZW5kZXJTdHlsZSYm
IHN0eWxlKQotICAgIDogUmVuZGVyQm94KFR5cGU6OlRhYmxlUm93LCBkb2N1bWVudCwgV1RGOjpt
b3ZlKHN0eWxlKSkKKyAgICA6IFJlbmRlckJsb2NrKFR5cGU6OlRhYmxlUm93LCBkb2N1bWVudCwg
V1RGOjptb3ZlKHN0eWxlKSwgeyB9KQogICAgICwgbV9yb3dJbmRleCh1bnNldFJvd0luZGV4KQog
ewogICAgIHNldElubGluZShmYWxzZSk7CkBAIC03NSw3ICs3NSw3IEBAIEFTQ0lJTGl0ZXJhbCBS
ZW5kZXJUYWJsZVJvdzo6cmVuZGVyTmFtZSgpIGNvbnN0CiAKIHZvaWQgUmVuZGVyVGFibGVSb3c6
OndpbGxCZVJlbW92ZWRGcm9tVHJlZSgpCiB7Ci0gICAgUmVuZGVyQm94Ojp3aWxsQmVSZW1vdmVk
RnJvbVRyZWUoKTsKKyAgICBSZW5kZXJCbG9jazo6d2lsbEJlUmVtb3ZlZEZyb21UcmVlKCk7CiAK
ICAgICBzZWN0aW9uKCktPnNldE5lZWRzQ2VsbFJlY2FsYygpOwogfQpAQCAtOTIsNyArOTIsNyBA
QCB2b2lkIFJlbmRlclRhYmxlUm93OjpzdHlsZURpZENoYW5nZShTdHlsZTo6RGlmZmVyZW5jZSBk
aWZmLCBjb25zdCBSZW5kZXJTdHlsZSogbwogewogICAgIEFTU0VSVChzdHlsZSgpLmRpc3BsYXko
KSA9PSBTdHlsZTo6RGlzcGxheVR5cGU6OlRhYmxlUm93KTsKIAotICAgIFJlbmRlckJveDo6c3R5
bGVEaWRDaGFuZ2UoZGlmZiwgb2xkU3R5bGUpOworICAgIFJlbmRlckJsb2NrOjpzdHlsZURpZENo
YW5nZShkaWZmLCBvbGRTdHlsZSk7CiAgICAgcHJvcGFnYXRlU3R5bGVUb0Fub255bW91c0NoaWxk
cmVuKFN0eWxlUHJvcGFnYXRpb25UeXBlOjpBbGxDaGlsZHJlbik7CiAKICAgICBpZiAoc2VjdGlv
bigpICYmIG9sZFN0eWxlICYmIHN0eWxlKCkubG9naWNhbEhlaWdodCgpICE9IG9sZFN0eWxlLT5s
b2dpY2FsSGVpZ2h0KCkpCkBAIC0xODIsOCArMTgyLDggQEAgdm9pZCBSZW5kZXJUYWJsZVJvdzo6
bGF5b3V0KCkKICAgICAgICAgICAgIGNlbGwtPnJlcGFpbnQoKTsKICAgICB9CiAKLSAgICAvLyBS
ZW5kZXJUYWJsZVNlY3Rpb246OmxheW91dFJvd3Mgd2lsbCBzZXQgb3VyIGxvZ2ljYWwgaGVpZ2h0
IGFuZCB3aWR0aCBsYXRlciwgc28gaXQgY2FsbHMgdXBkYXRlTGF5ZXJUcmFuc2Zvcm0oKS4KLSAg
ICBjbGVhck5lZWRzTGF5b3V0KCk7CisgICAgLy8gUm93IGRpbWVuc2lvbnMgYXJlIGZpbmFsaXpl
ZCBpbiBSZW5kZXJUYWJsZVNlY3Rpb246OmxheW91dFJvd3MoKSwgd2hpY2ggYWxzbworICAgIC8v
IGxheXMgb3V0IG91dC1vZi1mbG93IGRlc2NlbmRhbnRzIGFuZCBjYWxscyBjbGVhck5lZWRzTGF5
b3V0KCkuCiB9CiAKIExheW91dFJlY3QgUmVuZGVyVGFibGVSb3c6OmNsaXBwZWRPdmVyZmxvd1Jl
Y3QoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lciwgVmlzaWJs
ZVJlY3RDb250ZXh0IGNvbnRleHQpIGNvbnN0CkBAIC0xOTIsNyArMTkyLDcgQEAgTGF5b3V0UmVj
dCBSZW5kZXJUYWJsZVJvdzo6Y2xpcHBlZE92ZXJmbG93UmVjdChjb25zdCBSZW5kZXJMYXllck1v
ZGVsT2JqZWN0KiByZXAKICAgICAvLyBSb3dzIGFuZCBjZWxscyBhcmUgaW4gdGhlIHNhbWUgY29v
cmRpbmF0ZSBzcGFjZS4gV2UgbmVlZCB0byBib3RoIGNvbXB1dGUgb3VyIG92ZXJmbG93IHJlY3Qg
KHdoaWNoCiAgICAgLy8gd2lsbCBhY2NvbW1vZGF0ZSBhIHJvdyBvdXRsaW5lIGFuZCBhbnkgdmlz
dWFsIGVmZmVjdHMgb24gdGhlIHJvdyBpdHNlbGYpLCBidXQgd2UgYWxzbyBuZWVkIHRvIGFkZCBp
bgogICAgIC8vIHRoZSByZXBhaW50IHJlY3RzIG9mIGNlbGxzLgotICAgIGF1dG8gcmVzdWx0ID0g
UmVuZGVyQm94OjpjbGlwcGVkT3ZlcmZsb3dSZWN0KHJlcGFpbnRDb250YWluZXIsIGNvbnRleHQp
OworICAgIGF1dG8gcmVzdWx0ID0gUmVuZGVyQmxvY2s6OmNsaXBwZWRPdmVyZmxvd1JlY3QocmVw
YWludENvbnRhaW5lciwgY29udGV4dCk7CiAgICAgZm9yIChhdXRvKiBjZWxsID0gZmlyc3RDZWxs
KCk7IGNlbGw7IGNlbGwgPSBjZWxsLT5uZXh0Q2VsbCgpKSB7CiAgICAgICAgIC8vIEV2ZW4gaWYg
YSBjZWxsIGlzIGEgcmVwYWludCBjb250YWluZXIsIGl0J3MgdGhlIHJvdyB0aGF0IHBhaW50cyB0
aGUgYmFja2dyb3VuZCBiZWhpbmQgaXQuCiAgICAgICAgIC8vIFNvIHdlIGRvbid0IGNhcmUgaWYg
YSBjZWxsIGlzIGEgcmVwYWludENvbnRhaW5lciBoZXJlLgpAQCAtMjg2LDcgKzI4Niw3IEBAIHZv
aWQgUmVuZGVyVGFibGVSb3c6OmltYWdlQ2hhbmdlZChXcmFwcGVkSW1hZ2VQdHIsIGNvbnN0IElu
dFJlY3QqKQogCiBib29sIFJlbmRlclRhYmxlUm93OjpyZXF1aXJlc0xheWVyKCkgY29uc3QKIHsK
LSAgICByZXR1cm4gaGFzTm9uVmlzaWJsZU92ZXJmbG93KCkgfHwgaGFzVHJhbnNmb3JtUmVsYXRl
ZFByb3BlcnR5KCkgfHwgaGFzSGlkZGVuQmFja2ZhY2UoKSB8fCBoYXNDbGlwUGF0aCgpIHx8IGNy
ZWF0ZXNHcm91cCgpIHx8IGlzU3RpY2tpbHlQb3NpdGlvbmVkKCkgfHwgcmVxdWlyZXNSZW5kZXJp
bmdDb25zb2xpZGF0aW9uRm9yVmlld1RyYW5zaXRpb24oKTsKKyAgICByZXR1cm4gaXNQb3NpdGlv
bmVkKCkgfHwgaGFzTm9uVmlzaWJsZU92ZXJmbG93KCkgfHwgaGFzVHJhbnNmb3JtUmVsYXRlZFBy
b3BlcnR5KCkgfHwgaGFzSGlkZGVuQmFja2ZhY2UoKSB8fCBoYXNDbGlwUGF0aCgpIHx8IGNyZWF0
ZXNHcm91cCgpIHx8IGlzU3RpY2tpbHlQb3NpdGlvbmVkKCkgfHwgcmVxdWlyZXNSZW5kZXJpbmdD
b25zb2xpZGF0aW9uRm9yVmlld1RyYW5zaXRpb24oKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlUm93
LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVSb3cuaAppbmRleCBlNzNj
NjVkZmFiOWQuLjZjMmIzYWQwZmY0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRhYmxlUm93LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRhYmxlUm93LmgKQEAgLTI1LDYgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRl
ICJSZW5kZXJCbG9jay5oIgogI2luY2x1ZGUgIlJlbmRlclRhYmxlU2VjdGlvbi5oIgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CkBAIC0zMiw3ICszMyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHN0
YXRpYyBjb25zdCB1bnNpZ25lZCB1bnNldFJvd0luZGV4ID0gMHg3RkZGRkZGRjsKIHN0YXRpYyBj
b25zdCB1bnNpZ25lZCBtYXhSb3dJbmRleCA9IDB4N0ZGRkZGRkU7IC8vIDIsMTQ3LDQ4Myw2NDYK
IAotY2xhc3MgUmVuZGVyVGFibGVSb3cgZmluYWwgOiBwdWJsaWMgUmVuZGVyQm94IHsKK2NsYXNz
IFJlbmRlclRhYmxlUm93IGZpbmFsIDogcHVibGljIFJlbmRlckJsb2NrIHsKICAgICBXVEZfTUFL
RV9UWk9ORV9BTExPQ0FURUQoUmVuZGVyVGFibGVSb3cpOwogICAgIFdURl9PVkVSUklERV9ERUxF
VEVfRk9SX0NIRUNLRURfUFRSKFJlbmRlclRhYmxlUm93KTsKIHB1YmxpYzoKQEAgLTExOSwxMiAr
MTIwLDEyIEBAIGlubGluZSBSZW5kZXJUYWJsZSogUmVuZGVyVGFibGVSb3c6OnRhYmxlKCkgY29u
c3QKIAogaW5saW5lIFJlbmRlclRhYmxlUm93KiBSZW5kZXJUYWJsZVJvdzo6bmV4dFJvdygpIGNv
bnN0CiB7Ci0gICAgcmV0dXJuIGRvd25jYXN0PFJlbmRlclRhYmxlUm93PihSZW5kZXJCb3g6Om5l
eHRTaWJsaW5nKCkpOworICAgIHJldHVybiBkb3duY2FzdDxSZW5kZXJUYWJsZVJvdz4oUmVuZGVy
QmxvY2s6Om5leHRTaWJsaW5nKCkpOwogfQogCiBpbmxpbmUgUmVuZGVyVGFibGVSb3cqIFJlbmRl
clRhYmxlUm93OjpwcmV2aW91c1JvdygpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIGRvd25jYXN0PFJl
bmRlclRhYmxlUm93PihSZW5kZXJCb3g6OnByZXZpb3VzU2libGluZygpKTsKKyAgICByZXR1cm4g
ZG93bmNhc3Q8UmVuZGVyVGFibGVSb3c+KFJlbmRlckJsb2NrOjpwcmV2aW91c1NpYmxpbmcoKSk7
CiB9CiAKIGlubGluZSBSZW5kZXJUYWJsZVJvdyogUmVuZGVyVGFibGVTZWN0aW9uOjpmaXJzdFJv
dygpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFi
bGVTZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rp
b24uY3BwCmluZGV4IDhhNjI5NzhjYzNmMS4uNzIxMDNhMDJjMzg5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9uLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9uLmNwcApAQCAtNTk1LDcgKzU5NSwx
MCBAQCB2b2lkIFJlbmRlclRhYmxlU2VjdGlvbjo6bGF5b3V0Um93cygpCiAKICAgICBmb3IgKHNp
emVfdCByb3dJbmRleCA9IDA7IHJvd0luZGV4IDwgbnVtYmVyT2ZSb3dzOyByb3dJbmRleCsrKSB7
CiAgICAgICAgIC8vIFNldCB0aGUgcm93J3MgeC95IHBvc2l0aW9uIGFuZCB3aWR0aC9oZWlnaHQu
Ci0gICAgICAgIGlmIChSZW5kZXJUYWJsZVJvdyogcm93UmVuZGVyZXIgPSBtX2dyaWRbcm93SW5k
ZXhdLnJvd1JlbmRlcmVyKSB7CisgICAgICAgIENoZWNrZWRQdHIgcm93UmVuZGVyZXIgPSBtX2dy
aWRbcm93SW5kZXhdLnJvd1JlbmRlcmVyOworICAgICAgICBBU1NFUlQocm93UmVuZGVyZXIpOwor
CisgICAgICAgIGlmIChyb3dSZW5kZXJlcikgewogICAgICAgICAgICAgLy8gRklYTUU6IHRoZSB4
KCkgcG9zaXRpb24gb2YgdGhlIHJvdyBzaG91bGQgYmUgdGFibGUoKS0+aEJvcmRlclNwYWNpbmco
KSBzbyB0aGF0IGl0IGNhbiAKICAgICAgICAgICAgIC8vIHJlcG9ydCB0aGUgY29ycmVjdCBvZmZz
ZXRMZWZ0LiBIb3dldmVyLCB0aGF0IHdpbGwgcmVxdWlyZSBhIGxvdCBvZiByZWJhc2VsaW5pbmcg
b2YgdGVzdCByZXN1bHRzLgogICAgICAgICAgICAgcm93UmVuZGVyZXItPnNldExvZ2ljYWxMb2Nh
dGlvbih7IDBfbHUsIG1fcm93UG9zW3Jvd0luZGV4XSB9KTsKQEAgLTY4MSw2ICs2ODQsMTEgQEAg
dm9pZCBSZW5kZXJUYWJsZVNlY3Rpb246OmxheW91dFJvd3MoKQogICAgICAgICAgICAgICAgICAg
ICBjZWxsc1tjZWxsSW5kZXhdLT5zZXRMb2dpY2FsSGVpZ2h0KGNlbGxzW2NlbGxJbmRleF0tPmxv
Z2ljYWxIZWlnaHQoKSArIHJvd0hlaWdodEluY3JlYXNlRm9yUGFnaW5hdGlvbik7CiAgICAgICAg
ICAgICB9CiAgICAgICAgIH0KKyAgICAgICAgLy8gRmluYWxpemUgcm93IGxheW91dC4KKyAgICAg
ICAgaWYgKHJvd1JlbmRlcmVyKSB7CisgICAgICAgICAgICByb3dSZW5kZXJlci0+bGF5b3V0T3V0
T2ZGbG93Qm94ZXMoUmVsYXlvdXRDaGlsZHJlbjo6WWVzKTsKKyAgICAgICAgICAgIHJvd1JlbmRl
cmVyLT5jbGVhck5lZWRzTGF5b3V0KCk7CisgICAgICAgIH0KICAgICB9CiAKICAgICBBU1NFUlQo
IW5lZWRzTGF5b3V0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVB
ZGp1c3Rlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUFkanVzdGVyLmNwcAppbmRl
eCBlMGJlZGE0NWQxZmYuLjhlYTVmYzM2M2YzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
c3R5bGUvU3R5bGVBZGp1c3Rlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVB
ZGp1c3Rlci5jcHAKQEAgLTQ4MywxMSArNDgzLDEwIEBAIHZvaWQgQWRqdXN0ZXI6OmFkanVzdChS
ZW5kZXJTdHlsZSYgc3R5bGUpIGNvbnN0CiAgICAgICAgIGlmIChzdHlsZS5kaXNwbGF5KCkgPT0g
RGlzcGxheVR5cGU6OklubGluZUZsb3cgJiYgIXN0eWxlLnBzZXVkb0VsZW1lbnRUeXBlKCkgJiYg
c3R5bGUud3JpdGluZ01vZGUoKS5jb21wdXRlZFdyaXRpbmdNb2RlKCkgIT0gbV9wYXJlbnRTdHls
ZS53cml0aW5nTW9kZSgpLmNvbXB1dGVkV3JpdGluZ01vZGUoKSkKICAgICAgICAgICAgIHN0eWxl
LnNldERpc3BsYXlNYWludGFpbmluZ09yaWdpbmFsRGlzcGxheShEaXNwbGF5VHlwZTo6SW5saW5l
Rmxvd1Jvb3QpOwogCi0gICAgICAgIC8vIEFmdGVyIHBlcmZvcm1pbmcgdGhlIGRpc3BsYXkgbXV0
YXRpb24sIGNoZWNrIHRhYmxlIHJvd3MuIFdlIGRvIG5vdCBob25vciBwb3NpdGlvbjpyZWxhdGl2
ZSBvciBwb3NpdGlvbjpzdGlja3kgb24KLSAgICAgICAgLy8gdGFibGUgcm93cyBvciBjZWxscy4g
VGhpcyBoYXMgYmVlbiBlc3RhYmxpc2hlZCBmb3IgcG9zaXRpb246cmVsYXRpdmUgaW4gQ1NTMi4x
IChhbmQgY2F1c2VkIGEgY3Jhc2ggaW4gY29udGFpbmluZ0Jsb2NrKCkKLSAgICAgICAgLy8gb24g
c29tZSBzaXRlcykuCisgICAgICAgIC8vIFdlIGRvIG5vdCBob25vciBwb3NpdGlvbjpyZWxhdGl2
ZSBvciBwb3NpdGlvbjpzdGlja3kgb24gdGFibGUgcm93IGdyb3Vwcy4gVGFibGUgcm93cyBhcmUK
KyAgICAgICAgLy8gYWxsb3dlZCB0byBiZSBwb3NpdGlvbjpyZWxhdGl2ZSAodGhleSBleHRlbmQg
UmVuZGVyQmxvY2sgYW5kIGNhbiBiZSBwcm9wZXIgY29udGFpbmluZyBibG9ja3MpLgogICAgICAg
ICBpZiAoKHN0eWxlLmRpc3BsYXkoKSA9PSBEaXNwbGF5VHlwZTo6VGFibGVIZWFkZXJHcm91cCB8
fCBzdHlsZS5kaXNwbGF5KCkgPT0gRGlzcGxheVR5cGU6OlRhYmxlUm93R3JvdXAKLSAgICAgICAg
ICAgIHx8IHN0eWxlLmRpc3BsYXkoKSA9PSBEaXNwbGF5VHlwZTo6VGFibGVGb290ZXJHcm91cCB8
fCBzdHlsZS5kaXNwbGF5KCkgPT0gRGlzcGxheVR5cGU6OlRhYmxlUm93KQorICAgICAgICAgICAg
fHwgc3R5bGUuZGlzcGxheSgpID09IERpc3BsYXlUeXBlOjpUYWJsZUZvb3Rlckdyb3VwKQogICAg
ICAgICAgICAgJiYgc3R5bGUucG9zaXRpb24oKSA9PSBQb3NpdGlvblR5cGU6OlJlbGF0aXZlKQog
ICAgICAgICAgICAgc3R5bGUuc2V0UG9zaXRpb24oUG9zaXRpb25UeXBlOjpTdGF0aWMpOwogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RhYmxlL25vbi1wb3NpdGlvbmVkLXJvdy1uby1j
b250YWlubWVudC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9ub24tcG9z
aXRpb25lZC1yb3ctbm8tY29udGFpbm1lbnQtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmIxYzliMzliODFmZgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvdGFibGUvbm9uLXBvc2l0aW9uZWQtcm93LW5vLWNvbnRhaW5tZW50
LWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxNCBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorPHRpdGxlPk5vbi1wb3NpdGlvbmVkIHRhYmxlIHJvdyBkb2VzIG5vdCBjb250YWlu
IGFic29sdXRlIGRlc2NlbmRhbnRzIChyZWZlcmVuY2UpPC90aXRsZT4KKzxzdHlsZT4KK2JvZHkg
eworICAgIG1hcmdpbjogMDsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgc3R5
bGU9IndpZHRoOiAyMDBweDsgaGVpZ2h0OiAyMDBweDsgYmFja2dyb3VuZDogZ3JlZW4iPjwvZGl2
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9u
b24tcG9zaXRpb25lZC1yb3ctbm8tY29udGFpbm1lbnQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
dGFibGUvbm9uLXBvc2l0aW9uZWQtcm93LW5vLWNvbnRhaW5tZW50Lmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5lMjNlNjhkZjM0MzIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L3RhYmxlL25vbi1wb3NpdGlvbmVkLXJvdy1uby1jb250YWlu
bWVudC5odG1sCkBAIC0wLDAgKzEsMzMgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzx0aXRsZT5Ob24tcG9zaXRpb25lZCB0YWJsZSByb3cgZG9lcyBub3QgY29udGFpbiBhYnNv
bHV0ZSBkZXNjZW5kYW50czwvdGl0bGU+Cis8bGluayByZWw9Im1hdGNoIiBocmVmPSJub24tcG9z
aXRpb25lZC1yb3ctbm8tY29udGFpbm1lbnQtZXhwZWN0ZWQuaHRtbCI+Cis8c3R5bGU+Citib2R5
IHsKKyAgICBtYXJnaW46IDA7Cit9Cit0YWJsZSB7CisgICAgYm9yZGVyLXNwYWNpbmc6IDA7Cisg
ICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsKKyAgICBib3JkZXI6IG5vbmU7Cit9Cit0ZCB7
CisgICAgcGFkZGluZzogMDsKKyAgICBib3JkZXI6IG5vbmU7Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8IS0tIFdpdGhvdXQgcG9zaXRpb246IHJlbGF0aXZlIG9uIHRoZSByb3csIHRo
ZSBhYnNvbHV0ZSBkaXYgc2hvdWxkIGVzY2FwZSB0byB0aGUKKyAgICAgbmVhcmVzdCBwb3NpdGlv
bmVkIGFuY2VzdG9yICh0aGUgb3V0ZXIgZGl2KSwgY292ZXJpbmcgaXQgZW50aXJlbHkuIC0tPgor
PGRpdiBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlOyB3aWR0aDogMjAwcHg7IGhlaWdodDogMjAw
cHgiPgorICAgIDx0YWJsZT4KKyAgICAgICAgPHRyPgorICAgICAgICAgICAgPHRkIHN0eWxlPSJ3
aWR0aDogNTBweDsgaGVpZ2h0OiA1MHB4Ij5DZWxsPC90ZD4KKyAgICAgICAgPC90cj4KKyAgICA8
L3RhYmxlPgorICAgIDxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgaW5zZXQ6IDA7IGJh
Y2tncm91bmQ6IGdyZWVuIj48L2Rpdj4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9yZWxhdGl2ZS1wb3NpdGlvbi1yb3ctY29udGFp
bm1lbnQtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGFibGUvcmVsYXRpdmUtcG9z
aXRpb24tcm93LWNvbnRhaW5tZW50LWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwLi4yNzA4OGM1NmQ1ZTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L3RhYmxlL3JlbGF0aXZlLXBvc2l0aW9uLXJvdy1jb250YWlubWVudC1leHBl
Y3RlZC5odG1sCkBAIC0wLDAgKzEsMTUgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzx0aXRsZT5Qb3NpdGlvbmVkIHRhYmxlIHJvdyBhcyBjb250YWluaW5nIGJsb2NrIGZvciBh
YnNvbHV0ZSBkZXNjZW5kYW50cyAocmVmZXJlbmNlKTwvdGl0bGU+Cis8c3R5bGU+Citib2R5IHsK
KyAgICBtYXJnaW46IDA7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IHN0eWxl
PSJoZWlnaHQ6IDUwcHgiPjwvZGl2PgorPGRpdiBzdHlsZT0id2lkdGg6IDEwMHB4OyBoZWlnaHQ6
IDEwMHB4OyBiYWNrZ3JvdW5kOiBncmVlbiI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RhYmxlL3JlbGF0aXZlLXBvc2l0aW9uLXJvdy1jb250
YWlubWVudC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9yZWxhdGl2ZS1wb3NpdGlvbi1y
b3ctY29udGFpbm1lbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAuLjQxNmM0YThiYzllYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGFi
bGUvcmVsYXRpdmUtcG9zaXRpb24tcm93LWNvbnRhaW5tZW50Lmh0bWwKQEAgLTAsMCArMSwzMiBA
QAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPlBvc2l0aW9uZWQgdGFi
bGUgcm93IGFzIGNvbnRhaW5pbmcgYmxvY2sgZm9yIGFic29sdXRlIGRlc2NlbmRhbnRzPC90aXRs
ZT4KKzxsaW5rIHJlbD0ibWF0Y2giIGhyZWY9InJlbGF0aXZlLXBvc2l0aW9uLXJvdy1jb250YWlu
bWVudC1leHBlY3RlZC5odG1sIj4KKzxzdHlsZT4KK2JvZHkgeworICAgIG1hcmdpbjogMDsKK30K
K3RhYmxlIHsKKyAgICBib3JkZXItc3BhY2luZzogMDsKKyAgICBib3JkZXItY29sbGFwc2U6IGNv
bGxhcHNlOworICAgIGJvcmRlcjogbm9uZTsKK30KK3RkIHsKKyAgICBwYWRkaW5nOiAwOworICAg
IGJvcmRlcjogbm9uZTsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzwhLS0gUHVzaCB0
aGUgdGFibGUgZG93biB0byB2ZXJpZnkgdGhlIGFic29sdXRlIGRpdiBpcyBhbmNob3JlZCB0byB0
aGUgcm93LCBub3QgdGhlIHZpZXdwb3J0LiAtLT4KKzxkaXYgc3R5bGU9ImhlaWdodDogNTBweCI+
PC9kaXY+Cis8dGFibGU+CisgICAgPHRyIHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmUiPgorICAg
ICAgICA8dGQgc3R5bGU9IndpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweCI+CisgICAgICAgICAg
ICA8ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGluc2V0OiAwOyBiYWNrZ3JvdW5kOiBn
cmVlbiI+PC9kaXY+CisgICAgICAgIDwvdGQ+CisgICAgPC90cj4KKzwvdGFibGU+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RhYmxlL3JlbGF0aXZlLXBv
c2l0aW9uLXJvdy1tdWx0aWNlbGwtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGFi
bGUvcmVsYXRpdmUtcG9zaXRpb24tcm93LW11bHRpY2VsbC1leHBlY3RlZC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMGRlZWMyYjU5MTZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9yZWxhdGl2ZS1wb3NpdGlvbi1yb3ctbXVs
dGljZWxsLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxNCBAQAorPCFkb2N0eXBlIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorPHRpdGxlPkFic29sdXRlIGNoaWxkIG9mIHBvc2l0aW9uZWQgdGFibGUg
cm93IHNwYW5zIGZ1bGwgcm93IHdpZHRoIChyZWZlcmVuY2UpPC90aXRsZT4KKzxzdHlsZT4KK2Jv
ZHkgeworICAgIG1hcmdpbjogMDsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYg
c3R5bGU9IndpZHRoOiAyMDBweDsgaGVpZ2h0OiA1MHB4OyBiYWNrZ3JvdW5kOiBncmVlbiI+PC9k
aXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RhYmxl
L3JlbGF0aXZlLXBvc2l0aW9uLXJvdy1tdWx0aWNlbGwuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
dGFibGUvcmVsYXRpdmUtcG9zaXRpb24tcm93LW11bHRpY2VsbC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMmY5NGMzYjczYjhlCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9yZWxhdGl2ZS1wb3NpdGlvbi1yb3ctbXVsdGljZWxs
Lmh0bWwKQEAgLTAsMCArMSwzMyBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PHRpdGxlPkFic29sdXRlIGNoaWxkIG9mIHBvc2l0aW9uZWQgdGFibGUgcm93IHNwYW5zIGZ1bGwg
cm93IHdpZHRoPC90aXRsZT4KKzxsaW5rIHJlbD0ibWF0Y2giIGhyZWY9InJlbGF0aXZlLXBvc2l0
aW9uLXJvdy1tdWx0aWNlbGwtZXhwZWN0ZWQuaHRtbCI+Cis8c3R5bGU+Citib2R5IHsKKyAgICBt
YXJnaW46IDA7Cit9Cit0YWJsZSB7CisgICAgYm9yZGVyLXNwYWNpbmc6IDA7CisgICAgYm9yZGVy
LWNvbGxhcHNlOiBjb2xsYXBzZTsKKyAgICBib3JkZXI6IG5vbmU7Cit9Cit0ZCB7CisgICAgcGFk
ZGluZzogMDsKKyAgICBib3JkZXI6IG5vbmU7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8IS0tIFRoZSBncmVlbiBkaXYgc2hvdWxkIGNvdmVyIHRoZSBlbnRpcmUgcm93IChib3RoIGNl
bGxzKS4gLS0+Cis8dGFibGU+CisgICAgPHRyIHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmUiPgor
ICAgICAgICA8dGQgc3R5bGU9IndpZHRoOiAxMDBweDsgaGVpZ2h0OiA1MHB4Ij4KKyAgICAgICAg
ICAgIENlbGwgMQorICAgICAgICAgICAgPGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBp
bnNldDogMDsgYmFja2dyb3VuZDogZ3JlZW4iPjwvZGl2PgorICAgICAgICA8L3RkPgorICAgICAg
ICA8dGQgc3R5bGU9IndpZHRoOiAxMDBweDsgaGVpZ2h0OiA1MHB4Ij5DZWxsIDI8L3RkPgorICAg
IDwvdHI+Cis8L3RhYmxlPgorPC9ib2R5PgorPC9odG1sPgo=
</data>
<flag name="commit-queue"
          id="500411"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>478940</attachid>
            <date>2026-04-06 19:17:19 -0700</date>
            <delta_ts>2026-04-07 07:23:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-240961-20260406191718.patch</filename>
            <type>text/plain</type>
            <size>20849</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSBlMzg0NjkyOWU1OTk3ZWE1MGUxODIzNzE5ZTdiNmRiZGQwNmE4OWJkIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IE1vbiwgNiBBcHIgMjAyNiAxNjo0MjoyNiAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIGBwb3NpdGlv
bjogcmVsYXRpdmVgIGRvZXNuJ3Qgd29yayBhcyBleHBlY3RlZCBvbiB0YWJsZSByb3cKIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNDA5NjEgPHJkYXI6Ly9wcm9ibGVt
Lzk0Mjk0ODE5PgoKUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgpXaGVuIHlvdSBwdXQgYHBv
c2l0aW9uOiByZWxhdGl2ZWAgb24gYSA8dHI+LCBhbnkgYWJzb2x1dGVseSBwb3NpdGlvbmVkCmNo
aWxkIChsaWtlIDxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgaW5zZXQ6IDAiPikgc2hv
dWxkIHNpemUgYW5kCnBvc2l0aW9uIGl0c2VsZiByZWxhdGl2ZSB0byB0aGF0IHJvdy4gSW5zdGVh
ZCwgaXQgd2FzIGVzY2FwaW5nIHRvIHRoZQp2aWV3cG9ydCAtIHRoZSByZWQgYm94IGZpbGxlZCB0
aGUgd2hvbGUgcGFnZSBpbnN0ZWFkIG9mIGp1c3QgdGhlIHJvdy4KClRocmVlIHRoaW5ncyB3ZXJl
IHByZXZlbnRpbmcgdGhpczoKCjEuIFRoZSBzdHlsZSBzeXN0ZW0gd2FzIHJlbW92aW5nIGBwb3Np
dGlvbjogcmVsYXRpdmVgIGZyb20gdGFibGUKICAgcm93cy4gVGhlcmUgd2FzIG9sZCBjb2RlIGlu
IHRoZSBzdHlsZSBhZGp1c3RlciB0aGF0IGZvcmNlZCBhbGwgdGFibGUKICAgcm93cyBiYWNrIHRv
IGBwb3NpdGlvbjogc3RhdGljYC4gVGhpcyB3YXMgYSB3b3JrYXJvdW5kIGZvciBhIGNyYXNoCiAg
IHRoYXQgaGFwcGVuZWQgYmVjYXVzZSBvZiBwcm9ibGVtICMyIGJlbG93LgoKMi4gUmVuZGVyVGFi
bGVSb3cgZXh0ZW5kZWQgUmVuZGVyQm94LCBidXQgYGNvbnRhaW5pbmdCbG9jaygpYCByZXR1cm5z
CiAgIFJlbmRlckJsb2NrKi4gU2luY2UgdGhlIHJvdyB3YXNuJ3QgYSBSZW5kZXJCbG9jaywgdGhl
IGNvbnRhaW5pbmcKICAgYmxvY2sgc2VhcmNoIHdhbGtlZCByaWdodCBwYXN0IGl0IGFuZCBrZXB0
IGdvaW5nIHVwIHRoZSB0cmVlIHVudGlsIGl0CiAgIGhpdCB0aGUgdmlld3BvcnQuIFRoZSBmaXgg
aXMgdG8gbWFrZSBSZW5kZXJUYWJsZVJvdyBleHRlbmQgUmVuZGVyQmxvY2sKICAgaW5zdGVhZCwg
anVzdCBsaWtlIFJlbmRlclRhYmxlQ2VsbCAod2hpY2ggZXh0ZW5kcyBSZW5kZXJCbG9ja0Zsb3cp
IGFuZAogICBSZW5kZXJUYWJsZSAod2hpY2ggZXh0ZW5kcyBSZW5kZXJCbG9jaykuIFJlbmRlckJs
b2NrIGFkZHMgbm8gZXh0cmEKICAgZGF0YSBtZW1iZXJzLCBhbmQgUmVuZGVyVGFibGVSb3c6Omxh
eW91dCgpIHN0aWxsIGNvbXBsZXRlbHkgb3ZlcnJpZGVzCiAgIGxheW91dCAtLSBibG9jayBsYXlv
dXQgaXMgbmV2ZXIgaW52b2tlZC4KCjMuIFJlbmRlclRhYmxlUm93OjpyZXF1aXJlc0xheWVyKCkg
d2FzIG1pc3NpbmcgYGlzUG9zaXRpb25lZCgpYC4gV2l0aG91dAogICBhIHJlbmRlciBsYXllciwg
YSBgcG9zaXRpb246IHJlbGF0aXZlYCByb3cgY291bGRuJ3QgZXN0YWJsaXNoIHRoZQogICByaWdo
dCBjb29yZGluYXRlIHN5c3RlbSAtLSB0aGUgYWJzb2x1dGUgY2hpbGQgd2FzIHNpemVkIGNvcnJl
Y3RseSBidXQKICAgZHJhd24gYXQgdGhlIHZpZXdwb3J0J3MgdG9wLWxlZnQgY29ybmVyIGluc3Rl
YWQgb2YgdGhlIHJvdydzIHBvc2l0aW9uLgoKVGFibGUgcm93cyBhcmUgc3BlY2lhbCBiZWNhdXNl
IHRoZWlyIGZpbmFsIGRpbWVuc2lvbnMgYXJlIHNldCBieQpsYXlvdXRSb3dzKCkgYWZ0ZXIgbGF5
b3V0KCkgZmluaXNoZXMgKHRoZSByb3cgaGVpZ2h0IGRlcGVuZHMgb24gY2VsbApoZWlnaHRzKS4g
U28gbGF5b3V0T3V0T2ZGbG93Qm94ZXMoKSBhbmQgY2xlYXJOZWVkc0xheW91dCgpIGFyZSBjYWxs
ZWQgaW4KbGF5b3V0Um93cygpIG9uY2UgdGhlIHJvdyBoYXMgaXRzIGZpbmFsIHNpemUsIG5vdCBp
biBsYXlvdXQoKS4KCiogTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9ub24tcG9zaXRpb25lZC1yb3ct
bm8tY29udGFpbm1lbnQtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCiogTGF5b3V0VGVzdHMvZmFzdC90
YWJsZS9ub24tcG9zaXRpb25lZC1yb3ctbm8tY29udGFpbm1lbnQuaHRtbDogQWRkZWQuCiogTGF5
b3V0VGVzdHMvZmFzdC90YWJsZS9yZWxhdGl2ZS1wb3NpdGlvbi1yb3ctY29udGFpbm1lbnQtZXhw
ZWN0ZWQuaHRtbDogQWRkZWQuCiogTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9yZWxhdGl2ZS1wb3Np
dGlvbi1yb3ctY29udGFpbm1lbnQuaHRtbDogQWRkZWQuCiogTGF5b3V0VGVzdHMvZmFzdC90YWJs
ZS9yZWxhdGl2ZS1wb3NpdGlvbi1yb3ctbXVsdGljZWxsLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgoq
IExheW91dFRlc3RzL2Zhc3QvdGFibGUvcmVsYXRpdmUtcG9zaXRpb24tcm93LW11bHRpY2VsbC5o
dG1sOiBBZGRlZC4KKiBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5jcHA6CihX
ZWJDb3JlOjpzaG91bGRFbWl0TmV3bGluZXNCZWZvcmVBbmRBZnRlck5vZGUpOgoqIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9Qb3NpdGlvbmVkTGF5b3V0Q29uc3RyYWludHMuY3BwOgooV2ViQ29y
ZTo6c3RhdGljRGlzdGFuY2UpOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9j
ay5oOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVJvdy5jcHA6CihXZWJD
b3JlOjpSZW5kZXJUYWJsZVJvdzo6UmVuZGVyVGFibGVSb3cpOgooV2ViQ29yZTo6UmVuZGVyVGFi
bGVSb3c6OndpbGxCZVJlbW92ZWRGcm9tVHJlZSk6CihXZWJDb3JlOjpSZW5kZXJUYWJsZVJvdzo6
c3R5bGVEaWRDaGFuZ2UpOgooV2ViQ29yZTo6UmVuZGVyVGFibGVSb3c6OmxheW91dCk6CihXZWJD
b3JlOjpSZW5kZXJUYWJsZVJvdzo6Y2xpcHBlZE92ZXJmbG93UmVjdCBjb25zdCk6CihXZWJDb3Jl
OjpSZW5kZXJUYWJsZVJvdzo6cmVxdWlyZXNMYXllciBjb25zdCk6CiogU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRhYmxlUm93Lmg6CihXZWJDb3JlOjpSZW5kZXJUYWJsZVJvdzo6bmV4
dFJvdyBjb25zdCk6CihXZWJDb3JlOjpSZW5kZXJUYWJsZVJvdzo6cHJldmlvdXNSb3cgY29uc3Qp
OgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uY3BwOgooV2Vi
Q29yZTo6UmVuZGVyVGFibGVTZWN0aW9uOjpsYXlvdXRSb3dzKToKKiBTb3VyY2UvV2ViQ29yZS9z
dHlsZS9TdHlsZUFkanVzdGVyLmNwcDoKKFdlYkNvcmU6OlN0eWxlOjpBZGp1c3Rlcjo6YWRqdXN0
IGNvbnN0KToKLS0tCiBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5jcHAgICAg
ICAgfCAgNSArKysKIC4uLi9yZW5kZXJpbmcvUG9zaXRpb25lZExheW91dENvbnN0cmFpbnRzLmNw
cCB8ICAzICstCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaCAgICAgICAg
fCAgMyArLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlUm93LmNwcCAgIHwg
MTYgKysrKy0tLS0tCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVSb3cuaCAg
ICAgfCAgNyArKy0tCiAuLi4vV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9uLmNw
cCAgfCAxMCArKysrKy0KIFNvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQWRqdXN0ZXIuY3BwICAg
ICAgICB8IDEzICsrKysrLS0tCiAuLi5vc2l0aW9uZWQtcm93LW5vLWNvbnRhaW5tZW50LWV4cGVj
dGVkLmh0bWwgfCAxNCArKysrKysrKwogLi4uL25vbi1wb3NpdGlvbmVkLXJvdy1uby1jb250YWlu
bWVudC5odG1sICAgIHwgMzMgKysrKysrKysrKysrKysrKysrKwogLi4uaXZlLXBvc2l0aW9uLXJv
dy1jb250YWlubWVudC1leHBlY3RlZC5odG1sIHwgMTUgKysrKysrKysrCiAuLi4vcmVsYXRpdmUt
cG9zaXRpb24tcm93LWNvbnRhaW5tZW50Lmh0bWwgICAgfCAzMiArKysrKysrKysrKysrKysrKysK
IC4uLmF0aXZlLXBvc2l0aW9uLXJvdy1tdWx0aWNlbGwtZXhwZWN0ZWQuaHRtbCB8IDE0ICsrKysr
KysrCiAuLi4vcmVsYXRpdmUtcG9zaXRpb24tcm93LW11bHRpY2VsbC5odG1sICAgICAgfCAzMyAr
KysrKysrKysrKysrKysrKysrCiAxMyBmaWxlcyBjaGFuZ2VkLCAxNzggaW5zZXJ0aW9ucygrKSwg
MjAgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC90YWJs
ZS9ub24tcG9zaXRpb25lZC1yb3ctbm8tY29udGFpbm1lbnQtZXhwZWN0ZWQuaHRtbAogY3JlYXRl
IG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3QvdGFibGUvbm9uLXBvc2l0aW9uZWQtcm93LW5v
LWNvbnRhaW5tZW50Lmh0bWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L3Rh
YmxlL3JlbGF0aXZlLXBvc2l0aW9uLXJvdy1jb250YWlubWVudC1leHBlY3RlZC5odG1sCiBjcmVh
dGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9yZWxhdGl2ZS1wb3NpdGlvbi1y
b3ctY29udGFpbm1lbnQuaHRtbAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3Qv
dGFibGUvcmVsYXRpdmUtcG9zaXRpb24tcm93LW11bHRpY2VsbC1leHBlY3RlZC5odG1sCiBjcmVh
dGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9yZWxhdGl2ZS1wb3NpdGlvbi1y
b3ctbXVsdGljZWxsLmh0bWwKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Rl
eHRJdGVyYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5jcHAK
aW5kZXggMWQxNGMwZTRkOTQ5Li5iMjU4YmY3NGRiM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L1RleHRJdGVyYXRvci5jcHAKQEAgLTk2Myw2ICs5NjMsMTEgQEAgYm9vbCBzaG91bGRFbWl0TmV3
bGluZXNCZWZvcmVBbmRBZnRlck5vZGUoTm9kZSYgbm9kZSkKICAgICBpZiAoc2hvdWxkRW1pdFJl
cGxhY2VtZW50SW5zdGVhZE9mTm9kZShub2RlKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisg
ICAgLy8gVGFibGUgcm93cyBhcmUgUmVuZGVyQmxvY2tzIGJ1dCBoYXZlIHRoZWlyIG93biBuZXds
aW5lIGxvZ2ljIGFib3ZlCisgICAgLy8gdGhhdCBhY2NvdW50cyBmb3IgaW5saW5lIHRhYmxlcy4K
KyAgICBpZiAoaXM8UmVuZGVyVGFibGVSb3c+KCpyZW5kZXJlcikpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKwogICAgIHJldHVybiAhcmVuZGVyZXItPmlzSW5saW5lKCkKICAgICAgICAgJiYgaXM8
UmVuZGVyQmxvY2s+KCpyZW5kZXJlcikKICAgICAgICAgJiYgIXJlbmRlcmVyLT5pc0Zsb2F0aW5n
T3JPdXRPZkZsb3dQb3NpdGlvbmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9Qb3NpdGlvbmVkTGF5b3V0Q29uc3RyYWludHMuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1Bvc2l0aW9uZWRMYXlvdXRDb25zdHJhaW50cy5jcHAKaW5kZXggZjYxYWQ4OGMyMWQ4
Li5jMGM2YTUzYjdhMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Qb3Np
dGlvbmVkTGF5b3V0Q29uc3RyYWludHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9Qb3NpdGlvbmVkTGF5b3V0Q29uc3RyYWludHMuY3BwCkBAIC0zNCw3ICszNCw2IEBACiAjaW5j
bHVkZSAiUmVuZGVySW5saW5lLmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXIuaCIKICNpbmNsdWRl
ICJSZW5kZXJTdHlsZS5oIgotI2luY2x1ZGUgIlJlbmRlclRhYmxlUm93LmgiCiAjaW5jbHVkZSAi
UmVuZGVyVmlldy5oIgogI2luY2x1ZGUgIlN0eWxlUG9zaXRpb25BcmVhLmgiCiAKQEAgLTY1Niw3
ICs2NTUsNyBAQCBzdGF0aWMgTGF5b3V0UG9pbnQgc3RhdGljRGlzdGFuY2UoY29uc3QgUmVuZGVy
Qm94TW9kZWxPYmplY3QmIGNvbnRhaW5lciwgY29uc3QgUgogICAgIGF1dG8gaGFzU2Vlbk5vbklu
bGluZUJveENvbnRhaW5lciA9IGZhbHNlOwogICAgIGZvciAoYXV0byogYW5jZXN0b3JDb250YWlu
ZXIgPSBjaGlsZC0+cGFyZW50KCk7IGFuY2VzdG9yQ29udGFpbmVyICYmIGFuY2VzdG9yQ29udGFp
bmVyICE9ICZjb250YWluZXI7IGFuY2VzdG9yQ29udGFpbmVyID0gYW5jZXN0b3JDb250YWluZXIt
PmNvbnRhaW5lcigpKSB7CiAgICAgICAgIENoZWNrZWRQdHIgY29udGFpbmVyQm94ID0gZHluYW1p
Y0Rvd25jYXN0PFJlbmRlckJveD4oKmFuY2VzdG9yQ29udGFpbmVyKTsKLSAgICAgICAgaWYgKCFj
b250YWluZXJCb3ggfHwgaXM8UmVuZGVyVGFibGVSb3c+KCpjb250YWluZXJCb3gpKQorICAgICAg
ICBpZiAoIWNvbnRhaW5lckJveCkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCiAgICAgICAgIHN0
YXRpY1Bvc2l0aW9uID0gY2hpbGQgPT0gJm91dE9mRmxvd0JveCA/IGluaXRpYWxTdGF0aWNQb3Np
dGlvbigpIDogcG9zaXRpb25JbkNvbnRhaW5lcigqY29udGFpbmVyQm94LCAqY2hpbGQsIHN0YXRp
Y1Bvc2l0aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
bG9jay5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKaW5kZXggOGQx
ZWQzZDVkNTc3Li45ZmU0NTA0YTM4YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCbG9jay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
bG9jay5oCkBAIC0yNTUsMTMgKzI1NSwxNCBAQCBwdWJsaWM6CiAKICAgICBQYWludEluZm8gcGFp
bnRJbmZvRm9yQmxvY2tDaGlsZHJlbihjb25zdCBQYWludEluZm8mKSBjb25zdDsKIAorICAgIHZv
aWQgbGF5b3V0T3V0T2ZGbG93Qm94ZXMoUmVsYXlvdXRDaGlsZHJlbiwgYm9vbCBmaXhlZFBvc2l0
aW9uT2JqZWN0c09ubHkgPSBmYWxzZSk7CisKIHByb3RlY3RlZDoKICAgICBSZW5kZXJGcmFnbWVu
dGVkRmxvdyogbG9jYXRlRW5jbG9zaW5nRnJhZ21lbnRlZEZsb3coKSBjb25zdCBvdmVycmlkZTsK
ICAgICBib29sIGVzdGFibGlzaGVzSW5kZXBlbmRlbnRGb3JtYXR0aW5nQ29udGV4dElnbm9yaW5n
RGlzcGxheVR5cGUoY29uc3QgUmVuZGVyU3R5bGUmKSBjb25zdDsKIAogICAgIHZvaWQgbGF5b3V0
KCkgb3ZlcnJpZGU7CiAKLSAgICB2b2lkIGxheW91dE91dE9mRmxvd0JveGVzKFJlbGF5b3V0Q2hp
bGRyZW4sIGJvb2wgZml4ZWRQb3NpdGlvbk9iamVjdHNPbmx5ID0gZmFsc2UpOwogICAgIHZpcnR1
YWwgdm9pZCBsYXlvdXRPdXRPZkZsb3dCb3goUmVuZGVyQm94JiwgUmVsYXlvdXRDaGlsZHJlbiwg
Ym9vbCBmaXhlZFBvc2l0aW9uT2JqZWN0c09ubHkpOwogICAgIAogICAgIHZvaWQgbWFya0ZpeGVk
UG9zaXRpb25Cb3hGb3JMYXlvdXRJZk5lZWRlZChSZW5kZXJCb3gmIGNoaWxkKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVJvdy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVSb3cuY3BwCmluZGV4IDk5OWE0NDEyYTcwMy4u
YmY4MWZkNzEyNTIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGFibGVSb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVJv
dy5jcHAKQEAgLTUxLDcgKzUxLDcgQEAgdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIFdURl9N
QUtFX1RaT05FX0FMTE9DQVRFRF9JTVBMKFJlbmRlclRhYmxlUm93KTsKIAogUmVuZGVyVGFibGVS
b3c6OlJlbmRlclRhYmxlUm93KEVsZW1lbnQmIGVsZW1lbnQsIFJlbmRlclN0eWxlJiYgc3R5bGUp
Ci0gICAgOiBSZW5kZXJCb3goVHlwZTo6VGFibGVSb3csIGVsZW1lbnQsIFdURjo6bW92ZShzdHls
ZSkpCisgICAgOiBSZW5kZXJCbG9jayhUeXBlOjpUYWJsZVJvdywgZWxlbWVudCwgV1RGOjptb3Zl
KHN0eWxlKSwgeyB9KQogICAgICwgbV9yb3dJbmRleCh1bnNldFJvd0luZGV4KQogewogICAgIHNl
dElubGluZShmYWxzZSk7CkBAIC01OSw3ICs1OSw3IEBAIFJlbmRlclRhYmxlUm93OjpSZW5kZXJU
YWJsZVJvdyhFbGVtZW50JiBlbGVtZW50LCBSZW5kZXJTdHlsZSYmIHN0eWxlKQogfQogCiBSZW5k
ZXJUYWJsZVJvdzo6UmVuZGVyVGFibGVSb3coRG9jdW1lbnQmIGRvY3VtZW50LCBSZW5kZXJTdHls
ZSYmIHN0eWxlKQotICAgIDogUmVuZGVyQm94KFR5cGU6OlRhYmxlUm93LCBkb2N1bWVudCwgV1RG
Ojptb3ZlKHN0eWxlKSkKKyAgICA6IFJlbmRlckJsb2NrKFR5cGU6OlRhYmxlUm93LCBkb2N1bWVu
dCwgV1RGOjptb3ZlKHN0eWxlKSwgeyB9KQogICAgICwgbV9yb3dJbmRleCh1bnNldFJvd0luZGV4
KQogewogICAgIHNldElubGluZShmYWxzZSk7CkBAIC03NSw3ICs3NSw3IEBAIEFTQ0lJTGl0ZXJh
bCBSZW5kZXJUYWJsZVJvdzo6cmVuZGVyTmFtZSgpIGNvbnN0CiAKIHZvaWQgUmVuZGVyVGFibGVS
b3c6OndpbGxCZVJlbW92ZWRGcm9tVHJlZSgpCiB7Ci0gICAgUmVuZGVyQm94Ojp3aWxsQmVSZW1v
dmVkRnJvbVRyZWUoKTsKKyAgICBSZW5kZXJCbG9jazo6d2lsbEJlUmVtb3ZlZEZyb21UcmVlKCk7
CiAKICAgICBzZWN0aW9uKCktPnNldE5lZWRzQ2VsbFJlY2FsYygpOwogfQpAQCAtOTIsNyArOTIs
NyBAQCB2b2lkIFJlbmRlclRhYmxlUm93OjpzdHlsZURpZENoYW5nZShTdHlsZTo6RGlmZmVyZW5j
ZSBkaWZmLCBjb25zdCBSZW5kZXJTdHlsZSogbwogewogICAgIEFTU0VSVChzdHlsZSgpLmRpc3Bs
YXkoKSA9PSBTdHlsZTo6RGlzcGxheVR5cGU6OlRhYmxlUm93KTsKIAotICAgIFJlbmRlckJveDo6
c3R5bGVEaWRDaGFuZ2UoZGlmZiwgb2xkU3R5bGUpOworICAgIFJlbmRlckJsb2NrOjpzdHlsZURp
ZENoYW5nZShkaWZmLCBvbGRTdHlsZSk7CiAgICAgcHJvcGFnYXRlU3R5bGVUb0Fub255bW91c0No
aWxkcmVuKFN0eWxlUHJvcGFnYXRpb25UeXBlOjpBbGxDaGlsZHJlbik7CiAKICAgICBpZiAoc2Vj
dGlvbigpICYmIG9sZFN0eWxlICYmIHN0eWxlKCkubG9naWNhbEhlaWdodCgpICE9IG9sZFN0eWxl
LT5sb2dpY2FsSGVpZ2h0KCkpCkBAIC0xODIsOCArMTgyLDggQEAgdm9pZCBSZW5kZXJUYWJsZVJv
dzo6bGF5b3V0KCkKICAgICAgICAgICAgIGNlbGwtPnJlcGFpbnQoKTsKICAgICB9CiAKLSAgICAv
LyBSZW5kZXJUYWJsZVNlY3Rpb246OmxheW91dFJvd3Mgd2lsbCBzZXQgb3VyIGxvZ2ljYWwgaGVp
Z2h0IGFuZCB3aWR0aCBsYXRlciwgc28gaXQgY2FsbHMgdXBkYXRlTGF5ZXJUcmFuc2Zvcm0oKS4K
LSAgICBjbGVhck5lZWRzTGF5b3V0KCk7CisgICAgLy8gUm93IGRpbWVuc2lvbnMgYXJlIGZpbmFs
aXplZCBpbiBSZW5kZXJUYWJsZVNlY3Rpb246OmxheW91dFJvd3MoKSwgd2hpY2ggYWxzbworICAg
IC8vIGxheXMgb3V0IG91dC1vZi1mbG93IGRlc2NlbmRhbnRzIGFuZCBjYWxscyBjbGVhck5lZWRz
TGF5b3V0KCkuCiB9CiAKIExheW91dFJlY3QgUmVuZGVyVGFibGVSb3c6OmNsaXBwZWRPdmVyZmxv
d1JlY3QoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lciwgVmlz
aWJsZVJlY3RDb250ZXh0IGNvbnRleHQpIGNvbnN0CkBAIC0xOTIsNyArMTkyLDcgQEAgTGF5b3V0
UmVjdCBSZW5kZXJUYWJsZVJvdzo6Y2xpcHBlZE92ZXJmbG93UmVjdChjb25zdCBSZW5kZXJMYXll
ck1vZGVsT2JqZWN0KiByZXAKICAgICAvLyBSb3dzIGFuZCBjZWxscyBhcmUgaW4gdGhlIHNhbWUg
Y29vcmRpbmF0ZSBzcGFjZS4gV2UgbmVlZCB0byBib3RoIGNvbXB1dGUgb3VyIG92ZXJmbG93IHJl
Y3QgKHdoaWNoCiAgICAgLy8gd2lsbCBhY2NvbW1vZGF0ZSBhIHJvdyBvdXRsaW5lIGFuZCBhbnkg
dmlzdWFsIGVmZmVjdHMgb24gdGhlIHJvdyBpdHNlbGYpLCBidXQgd2UgYWxzbyBuZWVkIHRvIGFk
ZCBpbgogICAgIC8vIHRoZSByZXBhaW50IHJlY3RzIG9mIGNlbGxzLgotICAgIGF1dG8gcmVzdWx0
ID0gUmVuZGVyQm94OjpjbGlwcGVkT3ZlcmZsb3dSZWN0KHJlcGFpbnRDb250YWluZXIsIGNvbnRl
eHQpOworICAgIGF1dG8gcmVzdWx0ID0gUmVuZGVyQmxvY2s6OmNsaXBwZWRPdmVyZmxvd1JlY3Qo
cmVwYWludENvbnRhaW5lciwgY29udGV4dCk7CiAgICAgZm9yIChhdXRvKiBjZWxsID0gZmlyc3RD
ZWxsKCk7IGNlbGw7IGNlbGwgPSBjZWxsLT5uZXh0Q2VsbCgpKSB7CiAgICAgICAgIC8vIEV2ZW4g
aWYgYSBjZWxsIGlzIGEgcmVwYWludCBjb250YWluZXIsIGl0J3MgdGhlIHJvdyB0aGF0IHBhaW50
cyB0aGUgYmFja2dyb3VuZCBiZWhpbmQgaXQuCiAgICAgICAgIC8vIFNvIHdlIGRvbid0IGNhcmUg
aWYgYSBjZWxsIGlzIGEgcmVwYWludENvbnRhaW5lciBoZXJlLgpAQCAtMjg2LDcgKzI4Niw3IEBA
IHZvaWQgUmVuZGVyVGFibGVSb3c6OmltYWdlQ2hhbmdlZChXcmFwcGVkSW1hZ2VQdHIsIGNvbnN0
IEludFJlY3QqKQogCiBib29sIFJlbmRlclRhYmxlUm93OjpyZXF1aXJlc0xheWVyKCkgY29uc3QK
IHsKLSAgICByZXR1cm4gaGFzTm9uVmlzaWJsZU92ZXJmbG93KCkgfHwgaGFzVHJhbnNmb3JtUmVs
YXRlZFByb3BlcnR5KCkgfHwgaGFzSGlkZGVuQmFja2ZhY2UoKSB8fCBoYXNDbGlwUGF0aCgpIHx8
IGNyZWF0ZXNHcm91cCgpIHx8IGlzU3RpY2tpbHlQb3NpdGlvbmVkKCkgfHwgcmVxdWlyZXNSZW5k
ZXJpbmdDb25zb2xpZGF0aW9uRm9yVmlld1RyYW5zaXRpb24oKTsKKyAgICByZXR1cm4gaXNQb3Np
dGlvbmVkKCkgfHwgaGFzTm9uVmlzaWJsZU92ZXJmbG93KCkgfHwgaGFzVHJhbnNmb3JtUmVsYXRl
ZFByb3BlcnR5KCkgfHwgaGFzSGlkZGVuQmFja2ZhY2UoKSB8fCBoYXNDbGlwUGF0aCgpIHx8IGNy
ZWF0ZXNHcm91cCgpIHx8IGlzU3RpY2tpbHlQb3NpdGlvbmVkKCkgfHwgcmVxdWlyZXNSZW5kZXJp
bmdDb25zb2xpZGF0aW9uRm9yVmlld1RyYW5zaXRpb24oKTsKIH0KIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxl
Um93LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVSb3cuaAppbmRleCBl
NzNjNjVkZmFiOWQuLjZjMmIzYWQwZmY0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclRhYmxlUm93LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRhYmxlUm93LmgKQEAgLTI1LDYgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNs
dWRlICJSZW5kZXJCbG9jay5oIgogI2luY2x1ZGUgIlJlbmRlclRhYmxlU2VjdGlvbi5oIgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zMiw3ICszMyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IHN0YXRpYyBjb25zdCB1bnNpZ25lZCB1bnNldFJvd0luZGV4ID0gMHg3RkZGRkZGRjsKIHN0YXRp
YyBjb25zdCB1bnNpZ25lZCBtYXhSb3dJbmRleCA9IDB4N0ZGRkZGRkU7IC8vIDIsMTQ3LDQ4Myw2
NDYKIAotY2xhc3MgUmVuZGVyVGFibGVSb3cgZmluYWwgOiBwdWJsaWMgUmVuZGVyQm94IHsKK2Ns
YXNzIFJlbmRlclRhYmxlUm93IGZpbmFsIDogcHVibGljIFJlbmRlckJsb2NrIHsKICAgICBXVEZf
TUFLRV9UWk9ORV9BTExPQ0FURUQoUmVuZGVyVGFibGVSb3cpOwogICAgIFdURl9PVkVSUklERV9E
RUxFVEVfRk9SX0NIRUNLRURfUFRSKFJlbmRlclRhYmxlUm93KTsKIHB1YmxpYzoKQEAgLTExOSwx
MiArMTIwLDEyIEBAIGlubGluZSBSZW5kZXJUYWJsZSogUmVuZGVyVGFibGVSb3c6OnRhYmxlKCkg
Y29uc3QKIAogaW5saW5lIFJlbmRlclRhYmxlUm93KiBSZW5kZXJUYWJsZVJvdzo6bmV4dFJvdygp
IGNvbnN0CiB7Ci0gICAgcmV0dXJuIGRvd25jYXN0PFJlbmRlclRhYmxlUm93PihSZW5kZXJCb3g6
Om5leHRTaWJsaW5nKCkpOworICAgIHJldHVybiBkb3duY2FzdDxSZW5kZXJUYWJsZVJvdz4oUmVu
ZGVyQmxvY2s6Om5leHRTaWJsaW5nKCkpOwogfQogCiBpbmxpbmUgUmVuZGVyVGFibGVSb3cqIFJl
bmRlclRhYmxlUm93OjpwcmV2aW91c1JvdygpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIGRvd25jYXN0
PFJlbmRlclRhYmxlUm93PihSZW5kZXJCb3g6OnByZXZpb3VzU2libGluZygpKTsKKyAgICByZXR1
cm4gZG93bmNhc3Q8UmVuZGVyVGFibGVSb3c+KFJlbmRlckJsb2NrOjpwcmV2aW91c1NpYmxpbmco
KSk7CiB9CiAKIGlubGluZSBSZW5kZXJUYWJsZVJvdyogUmVuZGVyVGFibGVTZWN0aW9uOjpmaXJz
dFJvdygpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGFibGVTZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVNl
Y3Rpb24uY3BwCmluZGV4IDhhNjI5NzhjYzNmMS4uNzIxMDNhMDJjMzg5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9uLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9uLmNwcApAQCAtNTk1LDcgKzU5
NSwxMCBAQCB2b2lkIFJlbmRlclRhYmxlU2VjdGlvbjo6bGF5b3V0Um93cygpCiAKICAgICBmb3Ig
KHNpemVfdCByb3dJbmRleCA9IDA7IHJvd0luZGV4IDwgbnVtYmVyT2ZSb3dzOyByb3dJbmRleCsr
KSB7CiAgICAgICAgIC8vIFNldCB0aGUgcm93J3MgeC95IHBvc2l0aW9uIGFuZCB3aWR0aC9oZWln
aHQuCi0gICAgICAgIGlmIChSZW5kZXJUYWJsZVJvdyogcm93UmVuZGVyZXIgPSBtX2dyaWRbcm93
SW5kZXhdLnJvd1JlbmRlcmVyKSB7CisgICAgICAgIENoZWNrZWRQdHIgcm93UmVuZGVyZXIgPSBt
X2dyaWRbcm93SW5kZXhdLnJvd1JlbmRlcmVyOworICAgICAgICBBU1NFUlQocm93UmVuZGVyZXIp
OworCisgICAgICAgIGlmIChyb3dSZW5kZXJlcikgewogICAgICAgICAgICAgLy8gRklYTUU6IHRo
ZSB4KCkgcG9zaXRpb24gb2YgdGhlIHJvdyBzaG91bGQgYmUgdGFibGUoKS0+aEJvcmRlclNwYWNp
bmcoKSBzbyB0aGF0IGl0IGNhbiAKICAgICAgICAgICAgIC8vIHJlcG9ydCB0aGUgY29ycmVjdCBv
ZmZzZXRMZWZ0LiBIb3dldmVyLCB0aGF0IHdpbGwgcmVxdWlyZSBhIGxvdCBvZiByZWJhc2VsaW5p
bmcgb2YgdGVzdCByZXN1bHRzLgogICAgICAgICAgICAgcm93UmVuZGVyZXItPnNldExvZ2ljYWxM
b2NhdGlvbih7IDBfbHUsIG1fcm93UG9zW3Jvd0luZGV4XSB9KTsKQEAgLTY4MSw2ICs2ODQsMTEg
QEAgdm9pZCBSZW5kZXJUYWJsZVNlY3Rpb246OmxheW91dFJvd3MoKQogICAgICAgICAgICAgICAg
ICAgICBjZWxsc1tjZWxsSW5kZXhdLT5zZXRMb2dpY2FsSGVpZ2h0KGNlbGxzW2NlbGxJbmRleF0t
PmxvZ2ljYWxIZWlnaHQoKSArIHJvd0hlaWdodEluY3JlYXNlRm9yUGFnaW5hdGlvbik7CiAgICAg
ICAgICAgICB9CiAgICAgICAgIH0KKyAgICAgICAgLy8gRmluYWxpemUgcm93IGxheW91dC4KKyAg
ICAgICAgaWYgKHJvd1JlbmRlcmVyKSB7CisgICAgICAgICAgICByb3dSZW5kZXJlci0+bGF5b3V0
T3V0T2ZGbG93Qm94ZXMoUmVsYXlvdXRDaGlsZHJlbjo6WWVzKTsKKyAgICAgICAgICAgIHJvd1Jl
bmRlcmVyLT5jbGVhck5lZWRzTGF5b3V0KCk7CisgICAgICAgIH0KICAgICB9CiAKICAgICBBU1NF
UlQoIW5lZWRzTGF5b3V0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5
bGVBZGp1c3Rlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUFkanVzdGVyLmNwcApp
bmRleCBlMGJlZGE0NWQxZmYuLjUxMjY2ZThmNTEzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvc3R5bGUvU3R5bGVBZGp1c3Rlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5
bGVBZGp1c3Rlci5jcHAKQEAgLTQ4MywxMSArNDgzLDEwIEBAIHZvaWQgQWRqdXN0ZXI6OmFkanVz
dChSZW5kZXJTdHlsZSYgc3R5bGUpIGNvbnN0CiAgICAgICAgIGlmIChzdHlsZS5kaXNwbGF5KCkg
PT0gRGlzcGxheVR5cGU6OklubGluZUZsb3cgJiYgIXN0eWxlLnBzZXVkb0VsZW1lbnRUeXBlKCkg
JiYgc3R5bGUud3JpdGluZ01vZGUoKS5jb21wdXRlZFdyaXRpbmdNb2RlKCkgIT0gbV9wYXJlbnRT
dHlsZS53cml0aW5nTW9kZSgpLmNvbXB1dGVkV3JpdGluZ01vZGUoKSkKICAgICAgICAgICAgIHN0
eWxlLnNldERpc3BsYXlNYWludGFpbmluZ09yaWdpbmFsRGlzcGxheShEaXNwbGF5VHlwZTo6SW5s
aW5lRmxvd1Jvb3QpOwogCi0gICAgICAgIC8vIEFmdGVyIHBlcmZvcm1pbmcgdGhlIGRpc3BsYXkg
bXV0YXRpb24sIGNoZWNrIHRhYmxlIHJvd3MuIFdlIGRvIG5vdCBob25vciBwb3NpdGlvbjpyZWxh
dGl2ZSBvciBwb3NpdGlvbjpzdGlja3kgb24KLSAgICAgICAgLy8gdGFibGUgcm93cyBvciBjZWxs
cy4gVGhpcyBoYXMgYmVlbiBlc3RhYmxpc2hlZCBmb3IgcG9zaXRpb246cmVsYXRpdmUgaW4gQ1NT
Mi4xIChhbmQgY2F1c2VkIGEgY3Jhc2ggaW4gY29udGFpbmluZ0Jsb2NrKCkKLSAgICAgICAgLy8g
b24gc29tZSBzaXRlcykuCisgICAgICAgIC8vIFdlIGRvIG5vdCBob25vciBwb3NpdGlvbjpyZWxh
dGl2ZSBvciBwb3NpdGlvbjpzdGlja3kgb24gdGFibGUgcm93IGdyb3Vwcy4gVGFibGUgcm93cyBh
cmUKKyAgICAgICAgLy8gYWxsb3dlZCB0byBiZSBwb3NpdGlvbjpyZWxhdGl2ZSAodGhleSBleHRl
bmQgUmVuZGVyQmxvY2sgYW5kIGNhbiBiZSBwcm9wZXIgY29udGFpbmluZyBibG9ja3MpLgogICAg
ICAgICBpZiAoKHN0eWxlLmRpc3BsYXkoKSA9PSBEaXNwbGF5VHlwZTo6VGFibGVIZWFkZXJHcm91
cCB8fCBzdHlsZS5kaXNwbGF5KCkgPT0gRGlzcGxheVR5cGU6OlRhYmxlUm93R3JvdXAKLSAgICAg
ICAgICAgIHx8IHN0eWxlLmRpc3BsYXkoKSA9PSBEaXNwbGF5VHlwZTo6VGFibGVGb290ZXJHcm91
cCB8fCBzdHlsZS5kaXNwbGF5KCkgPT0gRGlzcGxheVR5cGU6OlRhYmxlUm93KQorICAgICAgICAg
ICAgfHwgc3R5bGUuZGlzcGxheSgpID09IERpc3BsYXlUeXBlOjpUYWJsZUZvb3Rlckdyb3VwKQog
ICAgICAgICAgICAgJiYgc3R5bGUucG9zaXRpb24oKSA9PSBQb3NpdGlvblR5cGU6OlJlbGF0aXZl
KQogICAgICAgICAgICAgc3R5bGUuc2V0UG9zaXRpb24oUG9zaXRpb25UeXBlOjpTdGF0aWMpOwog
CkBAIC02NDIsNyArNjQxLDExIEBAIHZvaWQgQWRqdXN0ZXI6OmFkanVzdChSZW5kZXJTdHlsZSYg
c3R5bGUpIGNvbnN0CiAKICAgICBib29sIG92ZXJmbG93SXNDbGlwT3JWaXNpYmxlID0gaXNPdmVy
Zmxvd0NsaXBPclZpc2libGUoc3R5bGUub3ZlcmZsb3dZKCkpICYmIGlzT3ZlcmZsb3dDbGlwT3JW
aXNpYmxlKHN0eWxlLm92ZXJmbG93WCgpKTsKIAotICAgIGlmICghb3ZlcmZsb3dJc0NsaXBPclZp
c2libGUgJiYgc3R5bGUuZGlzcGxheSgpLmlzVGFibGVCb3goKSkgeworICAgIC8vIFRoZSBvdmVy
ZmxvdyBwcm9wZXJ0eSBkb2VzIG5vdCBhcHBseSB0byB0YWJsZSByb3cgZWxlbWVudHMgKENTUzIg
c2VjdGlvbiAxMS4xLjEpLgorICAgIGlmIChzdHlsZS5kaXNwbGF5KCkgPT0gRGlzcGxheVR5cGU6
OlRhYmxlUm93KSB7CisgICAgICAgIHN0eWxlLnNldE92ZXJmbG93WChPdmVyZmxvdzo6VmlzaWJs
ZSk7CisgICAgICAgIHN0eWxlLnNldE92ZXJmbG93WShPdmVyZmxvdzo6VmlzaWJsZSk7CisgICAg
fSBlbHNlIGlmICghb3ZlcmZsb3dJc0NsaXBPclZpc2libGUgJiYgc3R5bGUuZGlzcGxheSgpLmlz
VGFibGVCb3goKSkgewogICAgICAgICAvLyBUYWJsZXMgb25seSBzdXBwb3J0IG92ZXJmbG93Omhp
ZGRlbiBhbmQgb3ZlcmZsb3c6dmlzaWJsZSBhbmQgaWdub3JlIGFueXRoaW5nIGVsc2UsCiAgICAg
ICAgIC8vIHNlZSBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzMi8jb3ZlcmZsb3cuIEFzIGEg
dGFibGUgaXMgbm90IGEgYmxvY2sKICAgICAgICAgLy8gY29udGFpbmVyIGJveCB0aGUgcnVsZXMg
Zm9yIHJlc29sdmluZyBjb25mbGljdGluZyB4IGFuZCB5IHZhbHVlcyBpbiBDU1MgT3ZlcmZsb3cg
TW9kdWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RhYmxlL25vbi1wb3NpdGlvbmVk
LXJvdy1uby1jb250YWlubWVudC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90YWJs
ZS9ub24tcG9zaXRpb25lZC1yb3ctbm8tY29udGFpbm1lbnQtZXhwZWN0ZWQuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmIxYzliMzliODFmZgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGFibGUvbm9uLXBvc2l0aW9uZWQtcm93LW5vLWNv
bnRhaW5tZW50LWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxNCBAQAorPCFkb2N0eXBlIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPk5vbi1wb3NpdGlvbmVkIHRhYmxlIHJvdyBkb2VzIG5v
dCBjb250YWluIGFic29sdXRlIGRlc2NlbmRhbnRzIChyZWZlcmVuY2UpPC90aXRsZT4KKzxzdHls
ZT4KK2JvZHkgeworICAgIG1hcmdpbjogMDsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXYgc3R5bGU9IndpZHRoOiAyMDBweDsgaGVpZ2h0OiAyMDBweDsgYmFja2dyb3VuZDogZ3Jl
ZW4iPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC90YWJsZS9ub24tcG9zaXRpb25lZC1yb3ctbm8tY29udGFpbm1lbnQuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvdGFibGUvbm9uLXBvc2l0aW9uZWQtcm93LW5vLWNvbnRhaW5tZW50Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5lMjNlNjhkZjM0MzIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RhYmxlL25vbi1wb3NpdGlvbmVkLXJvdy1u
by1jb250YWlubWVudC5odG1sCkBAIC0wLDAgKzEsMzMgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzx0aXRsZT5Ob24tcG9zaXRpb25lZCB0YWJsZSByb3cgZG9lcyBub3QgY29u
dGFpbiBhYnNvbHV0ZSBkZXNjZW5kYW50czwvdGl0bGU+Cis8bGluayByZWw9Im1hdGNoIiBocmVm
PSJub24tcG9zaXRpb25lZC1yb3ctbm8tY29udGFpbm1lbnQtZXhwZWN0ZWQuaHRtbCI+Cis8c3R5
bGU+Citib2R5IHsKKyAgICBtYXJnaW46IDA7Cit9Cit0YWJsZSB7CisgICAgYm9yZGVyLXNwYWNp
bmc6IDA7CisgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsKKyAgICBib3JkZXI6IG5vbmU7
Cit9Cit0ZCB7CisgICAgcGFkZGluZzogMDsKKyAgICBib3JkZXI6IG5vbmU7Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8IS0tIFdpdGhvdXQgcG9zaXRpb246IHJlbGF0aXZlIG9uIHRo
ZSByb3csIHRoZSBhYnNvbHV0ZSBkaXYgc2hvdWxkIGVzY2FwZSB0byB0aGUKKyAgICAgbmVhcmVz
dCBwb3NpdGlvbmVkIGFuY2VzdG9yICh0aGUgb3V0ZXIgZGl2KSwgY292ZXJpbmcgaXQgZW50aXJl
bHkuIC0tPgorPGRpdiBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlOyB3aWR0aDogMjAwcHg7IGhl
aWdodDogMjAwcHgiPgorICAgIDx0YWJsZT4KKyAgICAgICAgPHRyPgorICAgICAgICAgICAgPHRk
IHN0eWxlPSJ3aWR0aDogNTBweDsgaGVpZ2h0OiA1MHB4Ij5DZWxsPC90ZD4KKyAgICAgICAgPC90
cj4KKyAgICA8L3RhYmxlPgorICAgIDxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgaW5z
ZXQ6IDA7IGJhY2tncm91bmQ6IGdyZWVuIj48L2Rpdj4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9yZWxhdGl2ZS1wb3NpdGlvbi1y
b3ctY29udGFpbm1lbnQtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGFibGUvcmVs
YXRpdmUtcG9zaXRpb24tcm93LWNvbnRhaW5tZW50LWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4yNzA4OGM1NmQ1ZTYKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L3RhYmxlL3JlbGF0aXZlLXBvc2l0aW9uLXJvdy1jb250YWlu
bWVudC1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMTUgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzx0aXRsZT5Qb3NpdGlvbmVkIHRhYmxlIHJvdyBhcyBjb250YWluaW5nIGJs
b2NrIGZvciBhYnNvbHV0ZSBkZXNjZW5kYW50cyAocmVmZXJlbmNlKTwvdGl0bGU+Cis8c3R5bGU+
Citib2R5IHsKKyAgICBtYXJnaW46IDA7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2IHN0eWxlPSJoZWlnaHQ6IDUwcHgiPjwvZGl2PgorPGRpdiBzdHlsZT0id2lkdGg6IDEwMHB4
OyBoZWlnaHQ6IDEwMHB4OyBiYWNrZ3JvdW5kOiBncmVlbiI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RhYmxlL3JlbGF0aXZlLXBvc2l0aW9u
LXJvdy1jb250YWlubWVudC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9yZWxhdGl2ZS1w
b3NpdGlvbi1yb3ctY29udGFpbm1lbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAuLjQxNmM0YThiYzllYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvdGFibGUvcmVsYXRpdmUtcG9zaXRpb24tcm93LWNvbnRhaW5tZW50Lmh0bWwKQEAgLTAs
MCArMSwzMiBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPlBvc2l0
aW9uZWQgdGFibGUgcm93IGFzIGNvbnRhaW5pbmcgYmxvY2sgZm9yIGFic29sdXRlIGRlc2NlbmRh
bnRzPC90aXRsZT4KKzxsaW5rIHJlbD0ibWF0Y2giIGhyZWY9InJlbGF0aXZlLXBvc2l0aW9uLXJv
dy1jb250YWlubWVudC1leHBlY3RlZC5odG1sIj4KKzxzdHlsZT4KK2JvZHkgeworICAgIG1hcmdp
bjogMDsKK30KK3RhYmxlIHsKKyAgICBib3JkZXItc3BhY2luZzogMDsKKyAgICBib3JkZXItY29s
bGFwc2U6IGNvbGxhcHNlOworICAgIGJvcmRlcjogbm9uZTsKK30KK3RkIHsKKyAgICBwYWRkaW5n
OiAwOworICAgIGJvcmRlcjogbm9uZTsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzwh
LS0gUHVzaCB0aGUgdGFibGUgZG93biB0byB2ZXJpZnkgdGhlIGFic29sdXRlIGRpdiBpcyBhbmNo
b3JlZCB0byB0aGUgcm93LCBub3QgdGhlIHZpZXdwb3J0LiAtLT4KKzxkaXYgc3R5bGU9ImhlaWdo
dDogNTBweCI+PC9kaXY+Cis8dGFibGU+CisgICAgPHRyIHN0eWxlPSJwb3NpdGlvbjogcmVsYXRp
dmUiPgorICAgICAgICA8dGQgc3R5bGU9IndpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweCI+Cisg
ICAgICAgICAgICA8ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGluc2V0OiAwOyBiYWNr
Z3JvdW5kOiBncmVlbiI+PC9kaXY+CisgICAgICAgIDwvdGQ+CisgICAgPC90cj4KKzwvdGFibGU+
Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RhYmxlL3Jl
bGF0aXZlLXBvc2l0aW9uLXJvdy1tdWx0aWNlbGwtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvdGFibGUvcmVsYXRpdmUtcG9zaXRpb24tcm93LW11bHRpY2VsbC1leHBlY3RlZC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMGRlZWMyYjU5MTZiCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9yZWxhdGl2ZS1wb3NpdGlv
bi1yb3ctbXVsdGljZWxsLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxNCBAQAorPCFkb2N0eXBl
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPkFic29sdXRlIGNoaWxkIG9mIHBvc2l0aW9u
ZWQgdGFibGUgcm93IHNwYW5zIGZ1bGwgcm93IHdpZHRoIChyZWZlcmVuY2UpPC90aXRsZT4KKzxz
dHlsZT4KK2JvZHkgeworICAgIG1hcmdpbjogMDsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXYgc3R5bGU9IndpZHRoOiAyMDBweDsgaGVpZ2h0OiA1MHB4OyBiYWNrZ3JvdW5kOiBn
cmVlbiI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L3RhYmxlL3JlbGF0aXZlLXBvc2l0aW9uLXJvdy1tdWx0aWNlbGwuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvdGFibGUvcmVsYXRpdmUtcG9zaXRpb24tcm93LW11bHRpY2VsbC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMmY5NGMzYjczYjhlCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9yZWxhdGl2ZS1wb3NpdGlvbi1yb3ct
bXVsdGljZWxsLmh0bWwKQEAgLTAsMCArMSwzMyBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorPHRpdGxlPkFic29sdXRlIGNoaWxkIG9mIHBvc2l0aW9uZWQgdGFibGUgcm93IHNw
YW5zIGZ1bGwgcm93IHdpZHRoPC90aXRsZT4KKzxsaW5rIHJlbD0ibWF0Y2giIGhyZWY9InJlbGF0
aXZlLXBvc2l0aW9uLXJvdy1tdWx0aWNlbGwtZXhwZWN0ZWQuaHRtbCI+Cis8c3R5bGU+Citib2R5
IHsKKyAgICBtYXJnaW46IDA7Cit9Cit0YWJsZSB7CisgICAgYm9yZGVyLXNwYWNpbmc6IDA7Cisg
ICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsKKyAgICBib3JkZXI6IG5vbmU7Cit9Cit0ZCB7
CisgICAgcGFkZGluZzogMDsKKyAgICBib3JkZXI6IG5vbmU7Cit9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8IS0tIFRoZSBncmVlbiBkaXYgc2hvdWxkIGNvdmVyIHRoZSBlbnRpcmUgcm93
IChib3RoIGNlbGxzKS4gLS0+Cis8dGFibGU+CisgICAgPHRyIHN0eWxlPSJwb3NpdGlvbjogcmVs
YXRpdmUiPgorICAgICAgICA8dGQgc3R5bGU9IndpZHRoOiAxMDBweDsgaGVpZ2h0OiA1MHB4Ij4K
KyAgICAgICAgICAgIENlbGwgMQorICAgICAgICAgICAgPGRpdiBzdHlsZT0icG9zaXRpb246IGFi
c29sdXRlOyBpbnNldDogMDsgYmFja2dyb3VuZDogZ3JlZW4iPjwvZGl2PgorICAgICAgICA8L3Rk
PgorICAgICAgICA8dGQgc3R5bGU9IndpZHRoOiAxMDBweDsgaGVpZ2h0OiA1MHB4Ij5DZWxsIDI8
L3RkPgorICAgIDwvdHI+Cis8L3RhYmxlPgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>478946</attachid>
            <date>2026-04-07 07:23:28 -0700</date>
            <delta_ts>2026-04-07 10:16:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-240961-20260407072327.patch</filename>
            <type>text/plain</type>
            <size>19579</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSAxZDA3OWNlZTJiZTgyNmE0OTVlZjUwYjFjYzlmY2FjYzMxOGU1NTM3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IE1vbiwgNiBBcHIgMjAyNiAxNjo0MjoyNiAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIGBwb3NpdGlv
bjogcmVsYXRpdmVgIGRvZXNuJ3Qgd29yayBhcyBleHBlY3RlZCBvbiB0YWJsZSByb3cKIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNDA5NjEgPHJkYXI6Ly9wcm9ibGVt
Lzk0Mjk0ODE5PgoKUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgpXaGVuIHlvdSBwdXQgYHBv
c2l0aW9uOiByZWxhdGl2ZWAgb24gYSA8dHI+LCBhbnkgYWJzb2x1dGVseSBwb3NpdGlvbmVkCmNo
aWxkIChsaWtlIDxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgaW5zZXQ6IDAiPikgc2hv
dWxkIHNpemUgYW5kCnBvc2l0aW9uIGl0c2VsZiByZWxhdGl2ZSB0byB0aGF0IHJvdy4gSW5zdGVh
ZCwgaXQgd2FzIGVzY2FwaW5nIHRvIHRoZQp2aWV3cG9ydCAtIHRoZSByZWQgYm94IGZpbGxlZCB0
aGUgd2hvbGUgcGFnZSBpbnN0ZWFkIG9mIGp1c3QgdGhlIHJvdy4KClRocmVlIHRoaW5ncyB3ZXJl
IHByZXZlbnRpbmcgdGhpczoKCjEuIFRoZSBzdHlsZSBzeXN0ZW0gd2FzIHJlbW92aW5nIGBwb3Np
dGlvbjogcmVsYXRpdmVgIGZyb20gdGFibGUKICAgcm93cy4gVGhlcmUgd2FzIG9sZCBjb2RlIGlu
IHRoZSBzdHlsZSBhZGp1c3RlciB0aGF0IGZvcmNlZCBhbGwgdGFibGUKICAgcm93cyBiYWNrIHRv
IGBwb3NpdGlvbjogc3RhdGljYC4gVGhpcyB3YXMgYSB3b3JrYXJvdW5kIGZvciBhIGNyYXNoCiAg
IHRoYXQgaGFwcGVuZWQgYmVjYXVzZSBvZiBwcm9ibGVtICMyIGJlbG93LgoKMi4gUmVuZGVyVGFi
bGVSb3cgZXh0ZW5kZWQgUmVuZGVyQm94LCBidXQgYGNvbnRhaW5pbmdCbG9jaygpYCByZXR1cm5z
CiAgIFJlbmRlckJsb2NrKi4gU2luY2UgdGhlIHJvdyB3YXNuJ3QgYSBSZW5kZXJCbG9jaywgdGhl
IGNvbnRhaW5pbmcKICAgYmxvY2sgc2VhcmNoIHdhbGtlZCByaWdodCBwYXN0IGl0IGFuZCBrZXB0
IGdvaW5nIHVwIHRoZSB0cmVlIHVudGlsIGl0CiAgIGhpdCB0aGUgdmlld3BvcnQuIFRoZSBmaXgg
aXMgdG8gbWFrZSBSZW5kZXJUYWJsZVJvdyBleHRlbmQgUmVuZGVyQmxvY2sKICAgaW5zdGVhZCwg
anVzdCBsaWtlIFJlbmRlclRhYmxlQ2VsbCAod2hpY2ggZXh0ZW5kcyBSZW5kZXJCbG9ja0Zsb3cp
IGFuZAogICBSZW5kZXJUYWJsZSAod2hpY2ggZXh0ZW5kcyBSZW5kZXJCbG9jaykuIFJlbmRlckJs
b2NrIGFkZHMgbm8gZXh0cmEKICAgZGF0YSBtZW1iZXJzLCBhbmQgUmVuZGVyVGFibGVSb3c6Omxh
eW91dCgpIHN0aWxsIGNvbXBsZXRlbHkgb3ZlcnJpZGVzCiAgIGxheW91dCAtLSBibG9jayBsYXlv
dXQgaXMgbmV2ZXIgaW52b2tlZC4KCjMuIFJlbmRlclRhYmxlUm93OjpyZXF1aXJlc0xheWVyKCkg
d2FzIG1pc3NpbmcgYGlzUG9zaXRpb25lZCgpYC4gV2l0aG91dAogICBhIHJlbmRlciBsYXllciwg
YSBgcG9zaXRpb246IHJlbGF0aXZlYCByb3cgY291bGRuJ3QgZXN0YWJsaXNoIHRoZQogICByaWdo
dCBjb29yZGluYXRlIHN5c3RlbSAtLSB0aGUgYWJzb2x1dGUgY2hpbGQgd2FzIHNpemVkIGNvcnJl
Y3RseSBidXQKICAgZHJhd24gYXQgdGhlIHZpZXdwb3J0J3MgdG9wLWxlZnQgY29ybmVyIGluc3Rl
YWQgb2YgdGhlIHJvdydzIHBvc2l0aW9uLgoKVGFibGUgcm93cyBhcmUgc3BlY2lhbCBiZWNhdXNl
IHRoZWlyIGZpbmFsIGRpbWVuc2lvbnMgYXJlIHNldCBieQpsYXlvdXRSb3dzKCkgYWZ0ZXIgbGF5
b3V0KCkgZmluaXNoZXMgKHRoZSByb3cgaGVpZ2h0IGRlcGVuZHMgb24gY2VsbApoZWlnaHRzKS4g
U28gbGF5b3V0T3V0T2ZGbG93Qm94ZXMoKSBhbmQgY2xlYXJOZWVkc0xheW91dCgpIGFyZSBjYWxs
ZWQgaW4KbGF5b3V0Um93cygpIG9uY2UgdGhlIHJvdyBoYXMgaXRzIGZpbmFsIHNpemUsIG5vdCBp
biBsYXlvdXQoKS4KCiogTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9ub24tcG9zaXRpb25lZC1yb3ct
bm8tY29udGFpbm1lbnQtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCiogTGF5b3V0VGVzdHMvZmFzdC90
YWJsZS9ub24tcG9zaXRpb25lZC1yb3ctbm8tY29udGFpbm1lbnQuaHRtbDogQWRkZWQuCiogTGF5
b3V0VGVzdHMvZmFzdC90YWJsZS9yZWxhdGl2ZS1wb3NpdGlvbi1yb3ctY29udGFpbm1lbnQtZXhw
ZWN0ZWQuaHRtbDogQWRkZWQuCiogTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9yZWxhdGl2ZS1wb3Np
dGlvbi1yb3ctY29udGFpbm1lbnQuaHRtbDogQWRkZWQuCiogTGF5b3V0VGVzdHMvZmFzdC90YWJs
ZS9yZWxhdGl2ZS1wb3NpdGlvbi1yb3ctbXVsdGljZWxsLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgoq
IExheW91dFRlc3RzL2Zhc3QvdGFibGUvcmVsYXRpdmUtcG9zaXRpb24tcm93LW11bHRpY2VsbC5o
dG1sOiBBZGRlZC4KKiBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5jcHA6CihX
ZWJDb3JlOjpzaG91bGRFbWl0TmV3bGluZXNCZWZvcmVBbmRBZnRlck5vZGUpOgoqIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUYWJsZVJvdy5jcHA6CihXZWJDb3JlOjpSZW5kZXJUYWJsZVJvdzo6UmVuZGVyVGFi
bGVSb3cpOgooV2ViQ29yZTo6UmVuZGVyVGFibGVSb3c6OndpbGxCZVJlbW92ZWRGcm9tVHJlZSk6
CihXZWJDb3JlOjpSZW5kZXJUYWJsZVJvdzo6c3R5bGVEaWRDaGFuZ2UpOgooV2ViQ29yZTo6UmVu
ZGVyVGFibGVSb3c6OmxheW91dCk6CihXZWJDb3JlOjpSZW5kZXJUYWJsZVJvdzo6Y2xpcHBlZE92
ZXJmbG93UmVjdCBjb25zdCk6CihXZWJDb3JlOjpSZW5kZXJUYWJsZVJvdzo6cmVxdWlyZXNMYXll
ciBjb25zdCk6CiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlUm93Lmg6CihX
ZWJDb3JlOjpSZW5kZXJUYWJsZVJvdzo6bmV4dFJvdyBjb25zdCk6CihXZWJDb3JlOjpSZW5kZXJU
YWJsZVJvdzo6cHJldmlvdXNSb3cgY29uc3QpOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUYWJsZVNlY3Rpb24uY3BwOgooV2ViQ29yZTo6UmVuZGVyVGFibGVTZWN0aW9uOjpsYXlv
dXRSb3dzKToKKiBTb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUFkanVzdGVyLmNwcDoKKFdlYkNv
cmU6OlN0eWxlOjpBZGp1c3Rlcjo6YWRqdXN0IGNvbnN0KToKLS0tCiBTb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL1RleHRJdGVyYXRvci5jcHAgICAgICAgfCAgNSArKysKIFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCbG9jay5oICAgICAgICB8ICAzICstCiBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGFibGVSb3cuY3BwICAgfCAxNiArKysrLS0tLS0KIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUYWJsZVJvdy5oICAgICB8ICA3ICsrLS0KIC4uLi9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uY3BwICB8IDEwICsrKysrLQogU291cmNlL1dlYkNv
cmUvc3R5bGUvU3R5bGVBZGp1c3Rlci5jcHAgICAgICAgIHwgMTMgKysrKystLS0KIC4uLm9zaXRp
b25lZC1yb3ctbm8tY29udGFpbm1lbnQtZXhwZWN0ZWQuaHRtbCB8IDE0ICsrKysrKysrCiAuLi4v
bm9uLXBvc2l0aW9uZWQtcm93LW5vLWNvbnRhaW5tZW50Lmh0bWwgICAgfCAzMyArKysrKysrKysr
KysrKysrKysrCiAuLi5pdmUtcG9zaXRpb24tcm93LWNvbnRhaW5tZW50LWV4cGVjdGVkLmh0bWwg
fCAxNSArKysrKysrKysKIC4uLi9yZWxhdGl2ZS1wb3NpdGlvbi1yb3ctY29udGFpbm1lbnQuaHRt
bCAgICB8IDMyICsrKysrKysrKysrKysrKysrKwogLi4uYXRpdmUtcG9zaXRpb24tcm93LW11bHRp
Y2VsbC1leHBlY3RlZC5odG1sIHwgMTQgKysrKysrKysKIC4uLi9yZWxhdGl2ZS1wb3NpdGlvbi1y
b3ctbXVsdGljZWxsLmh0bWwgICAgICB8IDMzICsrKysrKysrKysrKysrKysrKysKIDEyIGZpbGVz
IGNoYW5nZWQsIDE3NyBpbnNlcnRpb25zKCspLCAxOCBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2Rl
IDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L3RhYmxlL25vbi1wb3NpdGlvbmVkLXJvdy1uby1jb250
YWlubWVudC1leHBlY3RlZC5odG1sCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFz
dC90YWJsZS9ub24tcG9zaXRpb25lZC1yb3ctbm8tY29udGFpbm1lbnQuaHRtbAogY3JlYXRlIG1v
ZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3QvdGFibGUvcmVsYXRpdmUtcG9zaXRpb24tcm93LWNv
bnRhaW5tZW50LWV4cGVjdGVkLmh0bWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9m
YXN0L3RhYmxlL3JlbGF0aXZlLXBvc2l0aW9uLXJvdy1jb250YWlubWVudC5odG1sCiBjcmVhdGUg
bW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9yZWxhdGl2ZS1wb3NpdGlvbi1yb3ct
bXVsdGljZWxsLWV4cGVjdGVkLmh0bWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9m
YXN0L3RhYmxlL3JlbGF0aXZlLXBvc2l0aW9uLXJvdy1tdWx0aWNlbGwuaHRtbAoKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcAppbmRleCAxZDE0YzBlNGQ5NDkuLmIyNThiZjc0
ZGIzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcApAQCAtOTYzLDYg
Kzk2MywxMSBAQCBib29sIHNob3VsZEVtaXROZXdsaW5lc0JlZm9yZUFuZEFmdGVyTm9kZShOb2Rl
JiBub2RlKQogICAgIGlmIChzaG91bGRFbWl0UmVwbGFjZW1lbnRJbnN0ZWFkT2ZOb2RlKG5vZGUp
KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICAvLyBUYWJsZSByb3dzIGFyZSBSZW5kZXJC
bG9ja3MgYnV0IGhhdmUgdGhlaXIgb3duIG5ld2xpbmUgbG9naWMgYWJvdmUKKyAgICAvLyB0aGF0
IGFjY291bnRzIGZvciBpbmxpbmUgdGFibGVzLgorICAgIGlmIChpczxSZW5kZXJUYWJsZVJvdz4o
KnJlbmRlcmVyKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgcmV0dXJuICFyZW5kZXJl
ci0+aXNJbmxpbmUoKQogICAgICAgICAmJiBpczxSZW5kZXJCbG9jaz4oKnJlbmRlcmVyKQogICAg
ICAgICAmJiAhcmVuZGVyZXItPmlzRmxvYXRpbmdPck91dE9mRmxvd1Bvc2l0aW9uZWQoKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmggYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAppbmRleCA4ZDFlZDNkNWQ1NzcuLjlmZTQ1
MDRhMzhiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2Nr
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKQEAgLTI1NSwx
MyArMjU1LDE0IEBAIHB1YmxpYzoKIAogICAgIFBhaW50SW5mbyBwYWludEluZm9Gb3JCbG9ja0No
aWxkcmVuKGNvbnN0IFBhaW50SW5mbyYpIGNvbnN0OwogCisgICAgdm9pZCBsYXlvdXRPdXRPZkZs
b3dCb3hlcyhSZWxheW91dENoaWxkcmVuLCBib29sIGZpeGVkUG9zaXRpb25PYmplY3RzT25seSA9
IGZhbHNlKTsKKwogcHJvdGVjdGVkOgogICAgIFJlbmRlckZyYWdtZW50ZWRGbG93KiBsb2NhdGVF
bmNsb3NpbmdGcmFnbWVudGVkRmxvdygpIGNvbnN0IG92ZXJyaWRlOwogICAgIGJvb2wgZXN0YWJs
aXNoZXNJbmRlcGVuZGVudEZvcm1hdHRpbmdDb250ZXh0SWdub3JpbmdEaXNwbGF5VHlwZShjb25z
dCBSZW5kZXJTdHlsZSYpIGNvbnN0OwogCiAgICAgdm9pZCBsYXlvdXQoKSBvdmVycmlkZTsKIAot
ICAgIHZvaWQgbGF5b3V0T3V0T2ZGbG93Qm94ZXMoUmVsYXlvdXRDaGlsZHJlbiwgYm9vbCBmaXhl
ZFBvc2l0aW9uT2JqZWN0c09ubHkgPSBmYWxzZSk7CiAgICAgdmlydHVhbCB2b2lkIGxheW91dE91
dE9mRmxvd0JveChSZW5kZXJCb3gmLCBSZWxheW91dENoaWxkcmVuLCBib29sIGZpeGVkUG9zaXRp
b25PYmplY3RzT25seSk7CiAgICAgCiAgICAgdm9pZCBtYXJrRml4ZWRQb3NpdGlvbkJveEZvckxh
eW91dElmTmVlZGVkKFJlbmRlckJveCYgY2hpbGQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlUm93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUYWJsZVJvdy5jcHAKaW5kZXggOTk5YTQ0MTJhNzAzLi5iZjgxZmQ3MTI1MjMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVJvdy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlUm93LmNwcApAQCAtNTEsNyAr
NTEsNyBAQCB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogV1RGX01BS0VfVFpPTkVfQUxMT0NB
VEVEX0lNUEwoUmVuZGVyVGFibGVSb3cpOwogCiBSZW5kZXJUYWJsZVJvdzo6UmVuZGVyVGFibGVS
b3coRWxlbWVudCYgZWxlbWVudCwgUmVuZGVyU3R5bGUmJiBzdHlsZSkKLSAgICA6IFJlbmRlckJv
eChUeXBlOjpUYWJsZVJvdywgZWxlbWVudCwgV1RGOjptb3ZlKHN0eWxlKSkKKyAgICA6IFJlbmRl
ckJsb2NrKFR5cGU6OlRhYmxlUm93LCBlbGVtZW50LCBXVEY6Om1vdmUoc3R5bGUpLCB7IH0pCiAg
ICAgLCBtX3Jvd0luZGV4KHVuc2V0Um93SW5kZXgpCiB7CiAgICAgc2V0SW5saW5lKGZhbHNlKTsK
QEAgLTU5LDcgKzU5LDcgQEAgUmVuZGVyVGFibGVSb3c6OlJlbmRlclRhYmxlUm93KEVsZW1lbnQm
IGVsZW1lbnQsIFJlbmRlclN0eWxlJiYgc3R5bGUpCiB9CiAKIFJlbmRlclRhYmxlUm93OjpSZW5k
ZXJUYWJsZVJvdyhEb2N1bWVudCYgZG9jdW1lbnQsIFJlbmRlclN0eWxlJiYgc3R5bGUpCi0gICAg
OiBSZW5kZXJCb3goVHlwZTo6VGFibGVSb3csIGRvY3VtZW50LCBXVEY6Om1vdmUoc3R5bGUpKQor
ICAgIDogUmVuZGVyQmxvY2soVHlwZTo6VGFibGVSb3csIGRvY3VtZW50LCBXVEY6Om1vdmUoc3R5
bGUpLCB7IH0pCiAgICAgLCBtX3Jvd0luZGV4KHVuc2V0Um93SW5kZXgpCiB7CiAgICAgc2V0SW5s
aW5lKGZhbHNlKTsKQEAgLTc1LDcgKzc1LDcgQEAgQVNDSUlMaXRlcmFsIFJlbmRlclRhYmxlUm93
OjpyZW5kZXJOYW1lKCkgY29uc3QKIAogdm9pZCBSZW5kZXJUYWJsZVJvdzo6d2lsbEJlUmVtb3Zl
ZEZyb21UcmVlKCkKIHsKLSAgICBSZW5kZXJCb3g6OndpbGxCZVJlbW92ZWRGcm9tVHJlZSgpOwor
ICAgIFJlbmRlckJsb2NrOjp3aWxsQmVSZW1vdmVkRnJvbVRyZWUoKTsKIAogICAgIHNlY3Rpb24o
KS0+c2V0TmVlZHNDZWxsUmVjYWxjKCk7CiB9CkBAIC05Miw3ICs5Miw3IEBAIHZvaWQgUmVuZGVy
VGFibGVSb3c6OnN0eWxlRGlkQ2hhbmdlKFN0eWxlOjpEaWZmZXJlbmNlIGRpZmYsIGNvbnN0IFJl
bmRlclN0eWxlKiBvCiB7CiAgICAgQVNTRVJUKHN0eWxlKCkuZGlzcGxheSgpID09IFN0eWxlOjpE
aXNwbGF5VHlwZTo6VGFibGVSb3cpOwogCi0gICAgUmVuZGVyQm94OjpzdHlsZURpZENoYW5nZShk
aWZmLCBvbGRTdHlsZSk7CisgICAgUmVuZGVyQmxvY2s6OnN0eWxlRGlkQ2hhbmdlKGRpZmYsIG9s
ZFN0eWxlKTsKICAgICBwcm9wYWdhdGVTdHlsZVRvQW5vbnltb3VzQ2hpbGRyZW4oU3R5bGVQcm9w
YWdhdGlvblR5cGU6OkFsbENoaWxkcmVuKTsKIAogICAgIGlmIChzZWN0aW9uKCkgJiYgb2xkU3R5
bGUgJiYgc3R5bGUoKS5sb2dpY2FsSGVpZ2h0KCkgIT0gb2xkU3R5bGUtPmxvZ2ljYWxIZWlnaHQo
KSkKQEAgLTE4Miw4ICsxODIsOCBAQCB2b2lkIFJlbmRlclRhYmxlUm93OjpsYXlvdXQoKQogICAg
ICAgICAgICAgY2VsbC0+cmVwYWludCgpOwogICAgIH0KIAotICAgIC8vIFJlbmRlclRhYmxlU2Vj
dGlvbjo6bGF5b3V0Um93cyB3aWxsIHNldCBvdXIgbG9naWNhbCBoZWlnaHQgYW5kIHdpZHRoIGxh
dGVyLCBzbyBpdCBjYWxscyB1cGRhdGVMYXllclRyYW5zZm9ybSgpLgotICAgIGNsZWFyTmVlZHNM
YXlvdXQoKTsKKyAgICAvLyBSb3cgZGltZW5zaW9ucyBhcmUgZmluYWxpemVkIGluIFJlbmRlclRh
YmxlU2VjdGlvbjo6bGF5b3V0Um93cygpLCB3aGljaCBhbHNvCisgICAgLy8gbGF5cyBvdXQgb3V0
LW9mLWZsb3cgZGVzY2VuZGFudHMgYW5kIGNhbGxzIGNsZWFyTmVlZHNMYXlvdXQoKS4KIH0KIAog
TGF5b3V0UmVjdCBSZW5kZXJUYWJsZVJvdzo6Y2xpcHBlZE92ZXJmbG93UmVjdChjb25zdCBSZW5k
ZXJMYXllck1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBWaXNpYmxlUmVjdENvbnRleHQg
Y29udGV4dCkgY29uc3QKQEAgLTE5Miw3ICsxOTIsNyBAQCBMYXlvdXRSZWN0IFJlbmRlclRhYmxl
Um93OjpjbGlwcGVkT3ZlcmZsb3dSZWN0KGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIHJl
cAogICAgIC8vIFJvd3MgYW5kIGNlbGxzIGFyZSBpbiB0aGUgc2FtZSBjb29yZGluYXRlIHNwYWNl
LiBXZSBuZWVkIHRvIGJvdGggY29tcHV0ZSBvdXIgb3ZlcmZsb3cgcmVjdCAod2hpY2gKICAgICAv
LyB3aWxsIGFjY29tbW9kYXRlIGEgcm93IG91dGxpbmUgYW5kIGFueSB2aXN1YWwgZWZmZWN0cyBv
biB0aGUgcm93IGl0c2VsZiksIGJ1dCB3ZSBhbHNvIG5lZWQgdG8gYWRkIGluCiAgICAgLy8gdGhl
IHJlcGFpbnQgcmVjdHMgb2YgY2VsbHMuCi0gICAgYXV0byByZXN1bHQgPSBSZW5kZXJCb3g6OmNs
aXBwZWRPdmVyZmxvd1JlY3QocmVwYWludENvbnRhaW5lciwgY29udGV4dCk7CisgICAgYXV0byBy
ZXN1bHQgPSBSZW5kZXJCbG9jazo6Y2xpcHBlZE92ZXJmbG93UmVjdChyZXBhaW50Q29udGFpbmVy
LCBjb250ZXh0KTsKICAgICBmb3IgKGF1dG8qIGNlbGwgPSBmaXJzdENlbGwoKTsgY2VsbDsgY2Vs
bCA9IGNlbGwtPm5leHRDZWxsKCkpIHsKICAgICAgICAgLy8gRXZlbiBpZiBhIGNlbGwgaXMgYSBy
ZXBhaW50IGNvbnRhaW5lciwgaXQncyB0aGUgcm93IHRoYXQgcGFpbnRzIHRoZSBiYWNrZ3JvdW5k
IGJlaGluZCBpdC4KICAgICAgICAgLy8gU28gd2UgZG9uJ3QgY2FyZSBpZiBhIGNlbGwgaXMgYSBy
ZXBhaW50Q29udGFpbmVyIGhlcmUuCkBAIC0yODYsNyArMjg2LDcgQEAgdm9pZCBSZW5kZXJUYWJs
ZVJvdzo6aW1hZ2VDaGFuZ2VkKFdyYXBwZWRJbWFnZVB0ciwgY29uc3QgSW50UmVjdCopCiAKIGJv
b2wgUmVuZGVyVGFibGVSb3c6OnJlcXVpcmVzTGF5ZXIoKSBjb25zdAogewotICAgIHJldHVybiBo
YXNOb25WaXNpYmxlT3ZlcmZsb3coKSB8fCBoYXNUcmFuc2Zvcm1SZWxhdGVkUHJvcGVydHkoKSB8
fCBoYXNIaWRkZW5CYWNrZmFjZSgpIHx8IGhhc0NsaXBQYXRoKCkgfHwgY3JlYXRlc0dyb3VwKCkg
fHwgaXNTdGlja2lseVBvc2l0aW9uZWQoKSB8fCByZXF1aXJlc1JlbmRlcmluZ0NvbnNvbGlkYXRp
b25Gb3JWaWV3VHJhbnNpdGlvbigpOworICAgIHJldHVybiBpc1Bvc2l0aW9uZWQoKSB8fCBoYXNO
b25WaXNpYmxlT3ZlcmZsb3coKSB8fCBoYXNUcmFuc2Zvcm1SZWxhdGVkUHJvcGVydHkoKSB8fCBo
YXNIaWRkZW5CYWNrZmFjZSgpIHx8IGhhc0NsaXBQYXRoKCkgfHwgY3JlYXRlc0dyb3VwKCkgfHwg
aXNTdGlja2lseVBvc2l0aW9uZWQoKSB8fCByZXF1aXJlc1JlbmRlcmluZ0NvbnNvbGlkYXRpb25G
b3JWaWV3VHJhbnNpdGlvbigpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVSb3cuaCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVJvdy5oCmluZGV4IGU3M2M2NWRmYWI5ZC4uNmMy
YjNhZDBmZjQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFi
bGVSb3cuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVSb3cuaApA
QCAtMjUsNiArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2luY2x1ZGUgIlJlbmRlckJsb2Nr
LmgiCiAjaW5jbHVkZSAiUmVuZGVyVGFibGVTZWN0aW9uLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKQEAgLTMyLDcgKzMzLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogc3RhdGljIGNvbnN0IHVu
c2lnbmVkIHVuc2V0Um93SW5kZXggPSAweDdGRkZGRkZGOwogc3RhdGljIGNvbnN0IHVuc2lnbmVk
IG1heFJvd0luZGV4ID0gMHg3RkZGRkZGRTsgLy8gMiwxNDcsNDgzLDY0NgogCi1jbGFzcyBSZW5k
ZXJUYWJsZVJvdyBmaW5hbCA6IHB1YmxpYyBSZW5kZXJCb3ggeworY2xhc3MgUmVuZGVyVGFibGVS
b3cgZmluYWwgOiBwdWJsaWMgUmVuZGVyQmxvY2sgewogICAgIFdURl9NQUtFX1RaT05FX0FMTE9D
QVRFRChSZW5kZXJUYWJsZVJvdyk7CiAgICAgV1RGX09WRVJSSURFX0RFTEVURV9GT1JfQ0hFQ0tF
RF9QVFIoUmVuZGVyVGFibGVSb3cpOwogcHVibGljOgpAQCAtMTE5LDEyICsxMjAsMTIgQEAgaW5s
aW5lIFJlbmRlclRhYmxlKiBSZW5kZXJUYWJsZVJvdzo6dGFibGUoKSBjb25zdAogCiBpbmxpbmUg
UmVuZGVyVGFibGVSb3cqIFJlbmRlclRhYmxlUm93OjpuZXh0Um93KCkgY29uc3QKIHsKLSAgICBy
ZXR1cm4gZG93bmNhc3Q8UmVuZGVyVGFibGVSb3c+KFJlbmRlckJveDo6bmV4dFNpYmxpbmcoKSk7
CisgICAgcmV0dXJuIGRvd25jYXN0PFJlbmRlclRhYmxlUm93PihSZW5kZXJCbG9jazo6bmV4dFNp
YmxpbmcoKSk7CiB9CiAKIGlubGluZSBSZW5kZXJUYWJsZVJvdyogUmVuZGVyVGFibGVSb3c6OnBy
ZXZpb3VzUm93KCkgY29uc3QKIHsKLSAgICByZXR1cm4gZG93bmNhc3Q8UmVuZGVyVGFibGVSb3c+
KFJlbmRlckJveDo6cHJldmlvdXNTaWJsaW5nKCkpOworICAgIHJldHVybiBkb3duY2FzdDxSZW5k
ZXJUYWJsZVJvdz4oUmVuZGVyQmxvY2s6OnByZXZpb3VzU2libGluZygpKTsKIH0KIAogaW5saW5l
IFJlbmRlclRhYmxlUm93KiBSZW5kZXJUYWJsZVNlY3Rpb246OmZpcnN0Um93KCkgY29uc3QKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5jcHAKaW5kZXgg
OGE2Mjk3OGNjM2YxLi43MjEwM2EwMmMzODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uY3BwCkBAIC01OTUsNyArNTk1LDEwIEBAIHZvaWQgUmVu
ZGVyVGFibGVTZWN0aW9uOjpsYXlvdXRSb3dzKCkKIAogICAgIGZvciAoc2l6ZV90IHJvd0luZGV4
ID0gMDsgcm93SW5kZXggPCBudW1iZXJPZlJvd3M7IHJvd0luZGV4KyspIHsKICAgICAgICAgLy8g
U2V0IHRoZSByb3cncyB4L3kgcG9zaXRpb24gYW5kIHdpZHRoL2hlaWdodC4KLSAgICAgICAgaWYg
KFJlbmRlclRhYmxlUm93KiByb3dSZW5kZXJlciA9IG1fZ3JpZFtyb3dJbmRleF0ucm93UmVuZGVy
ZXIpIHsKKyAgICAgICAgQ2hlY2tlZFB0ciByb3dSZW5kZXJlciA9IG1fZ3JpZFtyb3dJbmRleF0u
cm93UmVuZGVyZXI7CisgICAgICAgIEFTU0VSVChyb3dSZW5kZXJlcik7CisKKyAgICAgICAgaWYg
KHJvd1JlbmRlcmVyKSB7CiAgICAgICAgICAgICAvLyBGSVhNRTogdGhlIHgoKSBwb3NpdGlvbiBv
ZiB0aGUgcm93IHNob3VsZCBiZSB0YWJsZSgpLT5oQm9yZGVyU3BhY2luZygpIHNvIHRoYXQgaXQg
Y2FuIAogICAgICAgICAgICAgLy8gcmVwb3J0IHRoZSBjb3JyZWN0IG9mZnNldExlZnQuIEhvd2V2
ZXIsIHRoYXQgd2lsbCByZXF1aXJlIGEgbG90IG9mIHJlYmFzZWxpbmluZyBvZiB0ZXN0IHJlc3Vs
dHMuCiAgICAgICAgICAgICByb3dSZW5kZXJlci0+c2V0TG9naWNhbExvY2F0aW9uKHsgMF9sdSwg
bV9yb3dQb3Nbcm93SW5kZXhdIH0pOwpAQCAtNjgxLDYgKzY4NCwxMSBAQCB2b2lkIFJlbmRlclRh
YmxlU2VjdGlvbjo6bGF5b3V0Um93cygpCiAgICAgICAgICAgICAgICAgICAgIGNlbGxzW2NlbGxJ
bmRleF0tPnNldExvZ2ljYWxIZWlnaHQoY2VsbHNbY2VsbEluZGV4XS0+bG9naWNhbEhlaWdodCgp
ICsgcm93SGVpZ2h0SW5jcmVhc2VGb3JQYWdpbmF0aW9uKTsKICAgICAgICAgICAgIH0KICAgICAg
ICAgfQorICAgICAgICAvLyBGaW5hbGl6ZSByb3cgbGF5b3V0LgorICAgICAgICBpZiAocm93UmVu
ZGVyZXIpIHsKKyAgICAgICAgICAgIHJvd1JlbmRlcmVyLT5sYXlvdXRPdXRPZkZsb3dCb3hlcyhS
ZWxheW91dENoaWxkcmVuOjpZZXMpOworICAgICAgICAgICAgcm93UmVuZGVyZXItPmNsZWFyTmVl
ZHNMYXlvdXQoKTsKKyAgICAgICAgfQogICAgIH0KIAogICAgIEFTU0VSVCghbmVlZHNMYXlvdXQo
KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUFkanVzdGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQWRqdXN0ZXIuY3BwCmluZGV4IGUwYmVkYTQ1ZDFm
Zi4uNTEyNjZlOGY1MTNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUFk
anVzdGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUFkanVzdGVyLmNwcApA
QCAtNDgzLDExICs0ODMsMTAgQEAgdm9pZCBBZGp1c3Rlcjo6YWRqdXN0KFJlbmRlclN0eWxlJiBz
dHlsZSkgY29uc3QKICAgICAgICAgaWYgKHN0eWxlLmRpc3BsYXkoKSA9PSBEaXNwbGF5VHlwZTo6
SW5saW5lRmxvdyAmJiAhc3R5bGUucHNldWRvRWxlbWVudFR5cGUoKSAmJiBzdHlsZS53cml0aW5n
TW9kZSgpLmNvbXB1dGVkV3JpdGluZ01vZGUoKSAhPSBtX3BhcmVudFN0eWxlLndyaXRpbmdNb2Rl
KCkuY29tcHV0ZWRXcml0aW5nTW9kZSgpKQogICAgICAgICAgICAgc3R5bGUuc2V0RGlzcGxheU1h
aW50YWluaW5nT3JpZ2luYWxEaXNwbGF5KERpc3BsYXlUeXBlOjpJbmxpbmVGbG93Um9vdCk7CiAK
LSAgICAgICAgLy8gQWZ0ZXIgcGVyZm9ybWluZyB0aGUgZGlzcGxheSBtdXRhdGlvbiwgY2hlY2sg
dGFibGUgcm93cy4gV2UgZG8gbm90IGhvbm9yIHBvc2l0aW9uOnJlbGF0aXZlIG9yIHBvc2l0aW9u
OnN0aWNreSBvbgotICAgICAgICAvLyB0YWJsZSByb3dzIG9yIGNlbGxzLiBUaGlzIGhhcyBiZWVu
IGVzdGFibGlzaGVkIGZvciBwb3NpdGlvbjpyZWxhdGl2ZSBpbiBDU1MyLjEgKGFuZCBjYXVzZWQg
YSBjcmFzaCBpbiBjb250YWluaW5nQmxvY2soKQotICAgICAgICAvLyBvbiBzb21lIHNpdGVzKS4K
KyAgICAgICAgLy8gV2UgZG8gbm90IGhvbm9yIHBvc2l0aW9uOnJlbGF0aXZlIG9yIHBvc2l0aW9u
OnN0aWNreSBvbiB0YWJsZSByb3cgZ3JvdXBzLiBUYWJsZSByb3dzIGFyZQorICAgICAgICAvLyBh
bGxvd2VkIHRvIGJlIHBvc2l0aW9uOnJlbGF0aXZlICh0aGV5IGV4dGVuZCBSZW5kZXJCbG9jayBh
bmQgY2FuIGJlIHByb3BlciBjb250YWluaW5nIGJsb2NrcykuCiAgICAgICAgIGlmICgoc3R5bGUu
ZGlzcGxheSgpID09IERpc3BsYXlUeXBlOjpUYWJsZUhlYWRlckdyb3VwIHx8IHN0eWxlLmRpc3Bs
YXkoKSA9PSBEaXNwbGF5VHlwZTo6VGFibGVSb3dHcm91cAotICAgICAgICAgICAgfHwgc3R5bGUu
ZGlzcGxheSgpID09IERpc3BsYXlUeXBlOjpUYWJsZUZvb3Rlckdyb3VwIHx8IHN0eWxlLmRpc3Bs
YXkoKSA9PSBEaXNwbGF5VHlwZTo6VGFibGVSb3cpCisgICAgICAgICAgICB8fCBzdHlsZS5kaXNw
bGF5KCkgPT0gRGlzcGxheVR5cGU6OlRhYmxlRm9vdGVyR3JvdXApCiAgICAgICAgICAgICAmJiBz
dHlsZS5wb3NpdGlvbigpID09IFBvc2l0aW9uVHlwZTo6UmVsYXRpdmUpCiAgICAgICAgICAgICBz
dHlsZS5zZXRQb3NpdGlvbihQb3NpdGlvblR5cGU6OlN0YXRpYyk7CiAKQEAgLTY0Miw3ICs2NDEs
MTEgQEAgdm9pZCBBZGp1c3Rlcjo6YWRqdXN0KFJlbmRlclN0eWxlJiBzdHlsZSkgY29uc3QKIAog
ICAgIGJvb2wgb3ZlcmZsb3dJc0NsaXBPclZpc2libGUgPSBpc092ZXJmbG93Q2xpcE9yVmlzaWJs
ZShzdHlsZS5vdmVyZmxvd1koKSkgJiYgaXNPdmVyZmxvd0NsaXBPclZpc2libGUoc3R5bGUub3Zl
cmZsb3dYKCkpOwogCi0gICAgaWYgKCFvdmVyZmxvd0lzQ2xpcE9yVmlzaWJsZSAmJiBzdHlsZS5k
aXNwbGF5KCkuaXNUYWJsZUJveCgpKSB7CisgICAgLy8gVGhlIG92ZXJmbG93IHByb3BlcnR5IGRv
ZXMgbm90IGFwcGx5IHRvIHRhYmxlIHJvdyBlbGVtZW50cyAoQ1NTMiBzZWN0aW9uIDExLjEuMSku
CisgICAgaWYgKHN0eWxlLmRpc3BsYXkoKSA9PSBEaXNwbGF5VHlwZTo6VGFibGVSb3cpIHsKKyAg
ICAgICAgc3R5bGUuc2V0T3ZlcmZsb3dYKE92ZXJmbG93OjpWaXNpYmxlKTsKKyAgICAgICAgc3R5
bGUuc2V0T3ZlcmZsb3dZKE92ZXJmbG93OjpWaXNpYmxlKTsKKyAgICB9IGVsc2UgaWYgKCFvdmVy
Zmxvd0lzQ2xpcE9yVmlzaWJsZSAmJiBzdHlsZS5kaXNwbGF5KCkuaXNUYWJsZUJveCgpKSB7CiAg
ICAgICAgIC8vIFRhYmxlcyBvbmx5IHN1cHBvcnQgb3ZlcmZsb3c6aGlkZGVuIGFuZCBvdmVyZmxv
dzp2aXNpYmxlIGFuZCBpZ25vcmUgYW55dGhpbmcgZWxzZSwKICAgICAgICAgLy8gc2VlIGh0dHBz
Oi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MyLyNvdmVyZmxvdy4gQXMgYSB0YWJsZSBpcyBub3QgYSBi
bG9jawogICAgICAgICAvLyBjb250YWluZXIgYm94IHRoZSBydWxlcyBmb3IgcmVzb2x2aW5nIGNv
bmZsaWN0aW5nIHggYW5kIHkgdmFsdWVzIGluIENTUyBPdmVyZmxvdyBNb2R1bGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvdGFibGUvbm9uLXBvc2l0aW9uZWQtcm93LW5vLWNvbnRhaW5t
ZW50LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RhYmxlL25vbi1wb3NpdGlvbmVk
LXJvdy1uby1jb250YWlubWVudC1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMC4uYjFjOWIzOWI4MWZmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC90YWJsZS9ub24tcG9zaXRpb25lZC1yb3ctbm8tY29udGFpbm1lbnQtZXhwZWN0
ZWQuaHRtbApAQCAtMCwwICsxLDE0IEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
Cis8dGl0bGU+Tm9uLXBvc2l0aW9uZWQgdGFibGUgcm93IGRvZXMgbm90IGNvbnRhaW4gYWJzb2x1
dGUgZGVzY2VuZGFudHMgKHJlZmVyZW5jZSk8L3RpdGxlPgorPHN0eWxlPgorYm9keSB7CisgICAg
bWFyZ2luOiAwOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBzdHlsZT0id2lk
dGg6IDIwMHB4OyBoZWlnaHQ6IDIwMHB4OyBiYWNrZ3JvdW5kOiBncmVlbiI+PC9kaXY+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RhYmxlL25vbi1wb3Np
dGlvbmVkLXJvdy1uby1jb250YWlubWVudC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9u
b24tcG9zaXRpb25lZC1yb3ctbm8tY29udGFpbm1lbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAuLmUyM2U2OGRmMzQzMgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvdGFibGUvbm9uLXBvc2l0aW9uZWQtcm93LW5vLWNvbnRhaW5tZW50Lmh0
bWwKQEAgLTAsMCArMSwzMyBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHRp
dGxlPk5vbi1wb3NpdGlvbmVkIHRhYmxlIHJvdyBkb2VzIG5vdCBjb250YWluIGFic29sdXRlIGRl
c2NlbmRhbnRzPC90aXRsZT4KKzxsaW5rIHJlbD0ibWF0Y2giIGhyZWY9Im5vbi1wb3NpdGlvbmVk
LXJvdy1uby1jb250YWlubWVudC1leHBlY3RlZC5odG1sIj4KKzxzdHlsZT4KK2JvZHkgeworICAg
IG1hcmdpbjogMDsKK30KK3RhYmxlIHsKKyAgICBib3JkZXItc3BhY2luZzogMDsKKyAgICBib3Jk
ZXItY29sbGFwc2U6IGNvbGxhcHNlOworICAgIGJvcmRlcjogbm9uZTsKK30KK3RkIHsKKyAgICBw
YWRkaW5nOiAwOworICAgIGJvcmRlcjogbm9uZTsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzwhLS0gV2l0aG91dCBwb3NpdGlvbjogcmVsYXRpdmUgb24gdGhlIHJvdywgdGhlIGFic29s
dXRlIGRpdiBzaG91bGQgZXNjYXBlIHRvIHRoZQorICAgICBuZWFyZXN0IHBvc2l0aW9uZWQgYW5j
ZXN0b3IgKHRoZSBvdXRlciBkaXYpLCBjb3ZlcmluZyBpdCBlbnRpcmVseS4gLS0+Cis8ZGl2IHN0
eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7IHdpZHRoOiAyMDBweDsgaGVpZ2h0OiAyMDBweCI+Cisg
ICAgPHRhYmxlPgorICAgICAgICA8dHI+CisgICAgICAgICAgICA8dGQgc3R5bGU9IndpZHRoOiA1
MHB4OyBoZWlnaHQ6IDUwcHgiPkNlbGw8L3RkPgorICAgICAgICA8L3RyPgorICAgIDwvdGFibGU+
CisgICAgPGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBpbnNldDogMDsgYmFja2dyb3Vu
ZDogZ3JlZW4iPjwvZGl2PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L3RhYmxlL3JlbGF0aXZlLXBvc2l0aW9uLXJvdy1jb250YWlubWVudC1l
eHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9yZWxhdGl2ZS1wb3NpdGlvbi1y
b3ctY29udGFpbm1lbnQtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAuLjI3MDg4YzU2ZDVlNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvdGFibGUvcmVsYXRpdmUtcG9zaXRpb24tcm93LWNvbnRhaW5tZW50LWV4cGVjdGVkLmh0
bWwKQEAgLTAsMCArMSwxNSBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHRp
dGxlPlBvc2l0aW9uZWQgdGFibGUgcm93IGFzIGNvbnRhaW5pbmcgYmxvY2sgZm9yIGFic29sdXRl
IGRlc2NlbmRhbnRzIChyZWZlcmVuY2UpPC90aXRsZT4KKzxzdHlsZT4KK2JvZHkgeworICAgIG1h
cmdpbjogMDsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgc3R5bGU9ImhlaWdo
dDogNTBweCI+PC9kaXY+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHg7
IGJhY2tncm91bmQ6IGdyZWVuIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvdGFibGUvcmVsYXRpdmUtcG9zaXRpb24tcm93LWNvbnRhaW5tZW50
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RhYmxlL3JlbGF0aXZlLXBvc2l0aW9uLXJvdy1jb250
YWlubWVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uNDE2
YzRhOGJjOWVjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9yZWxh
dGl2ZS1wb3NpdGlvbi1yb3ctY29udGFpbm1lbnQuaHRtbApAQCAtMCwwICsxLDMyIEBACis8IWRv
Y3R5cGUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+UG9zaXRpb25lZCB0YWJsZSByb3cg
YXMgY29udGFpbmluZyBibG9jayBmb3IgYWJzb2x1dGUgZGVzY2VuZGFudHM8L3RpdGxlPgorPGxp
bmsgcmVsPSJtYXRjaCIgaHJlZj0icmVsYXRpdmUtcG9zaXRpb24tcm93LWNvbnRhaW5tZW50LWV4
cGVjdGVkLmh0bWwiPgorPHN0eWxlPgorYm9keSB7CisgICAgbWFyZ2luOiAwOworfQordGFibGUg
eworICAgIGJvcmRlci1zcGFjaW5nOiAwOworICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7
CisgICAgYm9yZGVyOiBub25lOworfQordGQgeworICAgIHBhZGRpbmc6IDA7CisgICAgYm9yZGVy
OiBub25lOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPCEtLSBQdXNoIHRoZSB0YWJs
ZSBkb3duIHRvIHZlcmlmeSB0aGUgYWJzb2x1dGUgZGl2IGlzIGFuY2hvcmVkIHRvIHRoZSByb3cs
IG5vdCB0aGUgdmlld3BvcnQuIC0tPgorPGRpdiBzdHlsZT0iaGVpZ2h0OiA1MHB4Ij48L2Rpdj4K
Kzx0YWJsZT4KKyAgICA8dHIgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZSI+CisgICAgICAgIDx0
ZCBzdHlsZT0id2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4Ij4KKyAgICAgICAgICAgIDxkaXYg
c3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgaW5zZXQ6IDA7IGJhY2tncm91bmQ6IGdyZWVuIj48
L2Rpdj4KKyAgICAgICAgPC90ZD4KKyAgICA8L3RyPgorPC90YWJsZT4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGFibGUvcmVsYXRpdmUtcG9zaXRpb24t
cm93LW11bHRpY2VsbC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9yZWxh
dGl2ZS1wb3NpdGlvbi1yb3ctbXVsdGljZWxsLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4wZGVlYzJiNTkxNmIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L3RhYmxlL3JlbGF0aXZlLXBvc2l0aW9uLXJvdy1tdWx0aWNlbGwt
ZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDE0IEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8dGl0bGU+QWJzb2x1dGUgY2hpbGQgb2YgcG9zaXRpb25lZCB0YWJsZSByb3cgc3Bh
bnMgZnVsbCByb3cgd2lkdGggKHJlZmVyZW5jZSk8L3RpdGxlPgorPHN0eWxlPgorYm9keSB7Cisg
ICAgbWFyZ2luOiAwOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBzdHlsZT0i
d2lkdGg6IDIwMHB4OyBoZWlnaHQ6IDUwcHg7IGJhY2tncm91bmQ6IGdyZWVuIj48L2Rpdj4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGFibGUvcmVsYXRp
dmUtcG9zaXRpb24tcm93LW11bHRpY2VsbC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9y
ZWxhdGl2ZS1wb3NpdGlvbi1yb3ctbXVsdGljZWxsLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwLi4yZjk0YzNiNzNiOGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L3RhYmxlL3JlbGF0aXZlLXBvc2l0aW9uLXJvdy1tdWx0aWNlbGwuaHRtbApA
QCAtMCwwICsxLDMzIEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+
QWJzb2x1dGUgY2hpbGQgb2YgcG9zaXRpb25lZCB0YWJsZSByb3cgc3BhbnMgZnVsbCByb3cgd2lk
dGg8L3RpdGxlPgorPGxpbmsgcmVsPSJtYXRjaCIgaHJlZj0icmVsYXRpdmUtcG9zaXRpb24tcm93
LW11bHRpY2VsbC1leHBlY3RlZC5odG1sIj4KKzxzdHlsZT4KK2JvZHkgeworICAgIG1hcmdpbjog
MDsKK30KK3RhYmxlIHsKKyAgICBib3JkZXItc3BhY2luZzogMDsKKyAgICBib3JkZXItY29sbGFw
c2U6IGNvbGxhcHNlOworICAgIGJvcmRlcjogbm9uZTsKK30KK3RkIHsKKyAgICBwYWRkaW5nOiAw
OworICAgIGJvcmRlcjogbm9uZTsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzwhLS0g
VGhlIGdyZWVuIGRpdiBzaG91bGQgY292ZXIgdGhlIGVudGlyZSByb3cgKGJvdGggY2VsbHMpLiAt
LT4KKzx0YWJsZT4KKyAgICA8dHIgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZSI+CisgICAgICAg
IDx0ZCBzdHlsZT0id2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDUwcHgiPgorICAgICAgICAgICAgQ2Vs
bCAxCisgICAgICAgICAgICA8ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGluc2V0OiAw
OyBiYWNrZ3JvdW5kOiBncmVlbiI+PC9kaXY+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0ZCBz
dHlsZT0id2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDUwcHgiPkNlbGwgMjwvdGQ+CisgICAgPC90cj4K
KzwvdGFibGU+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>
<flag name="commit-queue"
          id="500422"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>478950</attachid>
            <date>2026-04-07 09:38:33 -0700</date>
            <delta_ts>2026-04-07 12:01:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-240961-20260407093832.patch</filename>
            <type>text/plain</type>
            <size>21612</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSAwMmYzODQ2N2VmZDc4MDM3OTYyMzM2ZTMwM2NkYzRmNTVmZjYwZjVkIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IE1vbiwgNiBBcHIgMjAyNiAxNjo0MjoyNiAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIGBwb3NpdGlv
bjogcmVsYXRpdmVgIGRvZXNuJ3Qgd29yayBhcyBleHBlY3RlZCBvbiB0YWJsZSByb3cKIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNDA5NjEgPHJkYXI6Ly9wcm9ibGVt
Lzk0Mjk0ODE5PgoKUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgpXaGVuIHlvdSBwdXQgYHBv
c2l0aW9uOiByZWxhdGl2ZWAgb24gYSA8dHI+LCBhbnkgYWJzb2x1dGVseSBwb3NpdGlvbmVkCmNo
aWxkIChsaWtlIDxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgaW5zZXQ6IDAiPikgc2hv
dWxkIHNpemUgYW5kCnBvc2l0aW9uIGl0c2VsZiByZWxhdGl2ZSB0byB0aGF0IHJvdy4gSW5zdGVh
ZCwgaXQgd2FzIGVzY2FwaW5nIHRvIHRoZQp2aWV3cG9ydCAtIHRoZSByZWQgYm94IGZpbGxlZCB0
aGUgd2hvbGUgcGFnZSBpbnN0ZWFkIG9mIGp1c3QgdGhlIHJvdy4KClRocmVlIHRoaW5ncyB3ZXJl
IHByZXZlbnRpbmcgdGhpczoKCjEuIFRoZSBzdHlsZSBzeXN0ZW0gd2FzIHJlbW92aW5nIGBwb3Np
dGlvbjogcmVsYXRpdmVgIGZyb20gdGFibGUKICAgcm93cy4gVGhlcmUgd2FzIG9sZCBjb2RlIGlu
IHRoZSBzdHlsZSBhZGp1c3RlciB0aGF0IGZvcmNlZCBhbGwgdGFibGUKICAgcm93cyBiYWNrIHRv
IGBwb3NpdGlvbjogc3RhdGljYC4gVGhpcyB3YXMgYSB3b3JrYXJvdW5kIGZvciBhIGNyYXNoCiAg
IHRoYXQgaGFwcGVuZWQgYmVjYXVzZSBvZiBwcm9ibGVtICMyIGJlbG93LgoKMi4gUmVuZGVyVGFi
bGVSb3cgZXh0ZW5kZWQgUmVuZGVyQm94LCBidXQgYGNvbnRhaW5pbmdCbG9jaygpYCByZXR1cm5z
CiAgIFJlbmRlckJsb2NrKi4gU2luY2UgdGhlIHJvdyB3YXNuJ3QgYSBSZW5kZXJCbG9jaywgdGhl
IGNvbnRhaW5pbmcKICAgYmxvY2sgc2VhcmNoIHdhbGtlZCByaWdodCBwYXN0IGl0IGFuZCBrZXB0
IGdvaW5nIHVwIHRoZSB0cmVlIHVudGlsIGl0CiAgIGhpdCB0aGUgdmlld3BvcnQuIFRoZSBmaXgg
aXMgdG8gbWFrZSBSZW5kZXJUYWJsZVJvdyBleHRlbmQgUmVuZGVyQmxvY2sKICAgaW5zdGVhZCwg
anVzdCBsaWtlIFJlbmRlclRhYmxlQ2VsbCAod2hpY2ggZXh0ZW5kcyBSZW5kZXJCbG9ja0Zsb3cp
IGFuZAogICBSZW5kZXJUYWJsZSAod2hpY2ggZXh0ZW5kcyBSZW5kZXJCbG9jaykuIFJlbmRlckJs
b2NrIGFkZHMgbm8gZXh0cmEKICAgZGF0YSBtZW1iZXJzLCBhbmQgUmVuZGVyVGFibGVSb3c6Omxh
eW91dCgpIHN0aWxsIGNvbXBsZXRlbHkgb3ZlcnJpZGVzCiAgIGxheW91dCAtLSBibG9jayBsYXlv
dXQgaXMgbmV2ZXIgaW52b2tlZC4KCjMuIFJlbmRlclRhYmxlUm93OjpyZXF1aXJlc0xheWVyKCkg
d2FzIG1pc3NpbmcgYGlzUG9zaXRpb25lZCgpYC4gV2l0aG91dAogICBhIHJlbmRlciBsYXllciwg
YSBgcG9zaXRpb246IHJlbGF0aXZlYCByb3cgY291bGRuJ3QgZXN0YWJsaXNoIHRoZQogICByaWdo
dCBjb29yZGluYXRlIHN5c3RlbSAtLSB0aGUgYWJzb2x1dGUgY2hpbGQgd2FzIHNpemVkIGNvcnJl
Y3RseSBidXQKICAgZHJhd24gYXQgdGhlIHZpZXdwb3J0J3MgdG9wLWxlZnQgY29ybmVyIGluc3Rl
YWQgb2YgdGhlIHJvdydzIHBvc2l0aW9uLgoKVGFibGUgcm93cyBhcmUgc3BlY2lhbCBiZWNhdXNl
IHRoZWlyIGZpbmFsIGRpbWVuc2lvbnMgYXJlIHNldCBieQpsYXlvdXRSb3dzKCkgYWZ0ZXIgbGF5
b3V0KCkgZmluaXNoZXMgKHRoZSByb3cgaGVpZ2h0IGRlcGVuZHMgb24gY2VsbApoZWlnaHRzKS4g
U28gbGF5b3V0T3V0T2ZGbG93Qm94ZXMoKSBhbmQgY2xlYXJOZWVkc0xheW91dCgpIGFyZSBjYWxs
ZWQgaW4KbGF5b3V0Um93cygpIG9uY2UgdGhlIHJvdyBoYXMgaXRzIGZpbmFsIHNpemUsIG5vdCBp
biBsYXlvdXQoKS4KCiogTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9ub24tcG9zaXRpb25lZC1yb3ct
bm8tY29udGFpbm1lbnQtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCiogTGF5b3V0VGVzdHMvZmFzdC90
YWJsZS9ub24tcG9zaXRpb25lZC1yb3ctbm8tY29udGFpbm1lbnQuaHRtbDogQWRkZWQuCiogTGF5
b3V0VGVzdHMvZmFzdC90YWJsZS9yZWxhdGl2ZS1wb3NpdGlvbi1yb3ctY29udGFpbm1lbnQtZXhw
ZWN0ZWQuaHRtbDogQWRkZWQuCiogTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9yZWxhdGl2ZS1wb3Np
dGlvbi1yb3ctY29udGFpbm1lbnQuaHRtbDogQWRkZWQuCiogTGF5b3V0VGVzdHMvZmFzdC90YWJs
ZS9yZWxhdGl2ZS1wb3NpdGlvbi1yb3ctbXVsdGljZWxsLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgoq
IExheW91dFRlc3RzL2Zhc3QvdGFibGUvcmVsYXRpdmUtcG9zaXRpb24tcm93LW11bHRpY2VsbC5o
dG1sOiBBZGRlZC4KKiBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5jcHA6CihX
ZWJDb3JlOjpzaG91bGRFbWl0TmV3bGluZXNCZWZvcmVBbmRBZnRlck5vZGUpOgoqIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCb3guY3BwOgooV2ViQ29yZTo6UmVuZGVyQm94OjpvZmZzZXRGcm9tTG9naWNhbFRv
cE9mRmlyc3RQYWdlIGNvbnN0KToKKiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJh
Z21lbnRlZEZsb3cuY3BwOgooV2ViQ29yZTo6UmVuZGVyRnJhZ21lbnRlZEZsb3c6Om9mZnNldEZy
b21Mb2dpY2FsVG9wT2ZGaXJzdEZyYWdtZW50IGNvbnN0KToKKiBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGFibGVSb3cuY3BwOgooV2ViQ29yZTo6UmVuZGVyVGFibGVSb3c6OlJlbmRl
clRhYmxlUm93KToKKFdlYkNvcmU6OlJlbmRlclRhYmxlUm93Ojp3aWxsQmVSZW1vdmVkRnJvbVRy
ZWUpOgooV2ViQ29yZTo6UmVuZGVyVGFibGVSb3c6OnN0eWxlRGlkQ2hhbmdlKToKKFdlYkNvcmU6
OlJlbmRlclRhYmxlUm93OjpsYXlvdXQpOgooV2ViQ29yZTo6UmVuZGVyVGFibGVSb3c6OmNsaXBw
ZWRPdmVyZmxvd1JlY3QgY29uc3QpOgooV2ViQ29yZTo6UmVuZGVyVGFibGVSb3c6OnJlcXVpcmVz
TGF5ZXIgY29uc3QpOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVJvdy5o
OgooV2ViQ29yZTo6UmVuZGVyVGFibGVSb3c6Om5leHRSb3cgY29uc3QpOgooV2ViQ29yZTo6UmVu
ZGVyVGFibGVSb3c6OnByZXZpb3VzUm93IGNvbnN0KToKKiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGFibGVTZWN0aW9uLmNwcDoKKFdlYkNvcmU6OlJlbmRlclRhYmxlU2VjdGlvbjo6
bGF5b3V0Um93cyk6CiogU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVBZGp1c3Rlci5jcHA6CihX
ZWJDb3JlOjpTdHlsZTo6QWRqdXN0ZXI6OmFkanVzdCBjb25zdCk6Ci0tLQogU291cmNlL1dlYkNv
cmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwICAgICAgIHwgIDUgKysrCiBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaCAgICAgICAgfCAgMyArLQogU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJveC5jcHAgICAgICAgIHwgIDUgKysrCiAuLi4vcmVuZGVyaW5nL1Jl
bmRlckZyYWdtZW50ZWRGbG93LmNwcCAgICAgICAgfCAgNCArKysKIFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUYWJsZVJvdy5jcHAgICB8IDE2ICsrKystLS0tLQogU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlUm93LmggICAgIHwgIDcgKystLQogLi4uL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5jcHAgIHwgMTAgKysrKystCiBTb3VyY2UvV2Vi
Q29yZS9zdHlsZS9TdHlsZUFkanVzdGVyLmNwcCAgICAgICAgfCAxMyArKysrKy0tLQogLi4ub3Np
dGlvbmVkLXJvdy1uby1jb250YWlubWVudC1leHBlY3RlZC5odG1sIHwgMTQgKysrKysrKysKIC4u
Li9ub24tcG9zaXRpb25lZC1yb3ctbm8tY29udGFpbm1lbnQuaHRtbCAgICB8IDMzICsrKysrKysr
KysrKysrKysrKysKIC4uLml2ZS1wb3NpdGlvbi1yb3ctY29udGFpbm1lbnQtZXhwZWN0ZWQuaHRt
bCB8IDE1ICsrKysrKysrKwogLi4uL3JlbGF0aXZlLXBvc2l0aW9uLXJvdy1jb250YWlubWVudC5o
dG1sICAgIHwgMzIgKysrKysrKysrKysrKysrKysrCiAuLi5hdGl2ZS1wb3NpdGlvbi1yb3ctbXVs
dGljZWxsLWV4cGVjdGVkLmh0bWwgfCAxNCArKysrKysrKwogLi4uL3JlbGF0aXZlLXBvc2l0aW9u
LXJvdy1tdWx0aWNlbGwuaHRtbCAgICAgIHwgMzMgKysrKysrKysrKysrKysrKysrKwogMTQgZmls
ZXMgY2hhbmdlZCwgMTg2IGluc2VydGlvbnMoKyksIDE4IGRlbGV0aW9ucygtKQogY3JlYXRlIG1v
ZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3QvdGFibGUvbm9uLXBvc2l0aW9uZWQtcm93LW5vLWNv
bnRhaW5tZW50LWV4cGVjdGVkLmh0bWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9m
YXN0L3RhYmxlL25vbi1wb3NpdGlvbmVkLXJvdy1uby1jb250YWlubWVudC5odG1sCiBjcmVhdGUg
bW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9yZWxhdGl2ZS1wb3NpdGlvbi1yb3ct
Y29udGFpbm1lbnQtZXhwZWN0ZWQuaHRtbAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3Rz
L2Zhc3QvdGFibGUvcmVsYXRpdmUtcG9zaXRpb24tcm93LWNvbnRhaW5tZW50Lmh0bWwKIGNyZWF0
ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L3RhYmxlL3JlbGF0aXZlLXBvc2l0aW9uLXJv
dy1tdWx0aWNlbGwtZXhwZWN0ZWQuaHRtbAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3Rz
L2Zhc3QvdGFibGUvcmVsYXRpdmUtcG9zaXRpb24tcm93LW11bHRpY2VsbC5odG1sCgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwIGIvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwCmluZGV4IDFkMTRjMGU0ZDk0OS4uYjI1OGJm
NzRkYjNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwCkBAIC05NjMs
NiArOTYzLDExIEBAIGJvb2wgc2hvdWxkRW1pdE5ld2xpbmVzQmVmb3JlQW5kQWZ0ZXJOb2RlKE5v
ZGUmIG5vZGUpCiAgICAgaWYgKHNob3VsZEVtaXRSZXBsYWNlbWVudEluc3RlYWRPZk5vZGUobm9k
ZSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAgIC8vIFRhYmxlIHJvd3MgYXJlIFJlbmRl
ckJsb2NrcyBidXQgaGF2ZSB0aGVpciBvd24gbmV3bGluZSBsb2dpYyBhYm92ZQorICAgIC8vIHRo
YXQgYWNjb3VudHMgZm9yIGlubGluZSB0YWJsZXMuCisgICAgaWYgKGlzPFJlbmRlclRhYmxlUm93
PigqcmVuZGVyZXIpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICByZXR1cm4gIXJlbmRl
cmVyLT5pc0lubGluZSgpCiAgICAgICAgICYmIGlzPFJlbmRlckJsb2NrPigqcmVuZGVyZXIpCiAg
ICAgICAgICYmICFyZW5kZXJlci0+aXNGbG9hdGluZ09yT3V0T2ZGbG93UG9zaXRpb25lZCgpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCmluZGV4IDhkMWVkM2Q1ZDU3Ny4uOWZl
NDUwNGEzOGIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxv
Y2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaApAQCAtMjU1
LDEzICsyNTUsMTQgQEAgcHVibGljOgogCiAgICAgUGFpbnRJbmZvIHBhaW50SW5mb0ZvckJsb2Nr
Q2hpbGRyZW4oY29uc3QgUGFpbnRJbmZvJikgY29uc3Q7CiAKKyAgICB2b2lkIGxheW91dE91dE9m
Rmxvd0JveGVzKFJlbGF5b3V0Q2hpbGRyZW4sIGJvb2wgZml4ZWRQb3NpdGlvbk9iamVjdHNPbmx5
ID0gZmFsc2UpOworCiBwcm90ZWN0ZWQ6CiAgICAgUmVuZGVyRnJhZ21lbnRlZEZsb3cqIGxvY2F0
ZUVuY2xvc2luZ0ZyYWdtZW50ZWRGbG93KCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgYm9vbCBlc3Rh
Ymxpc2hlc0luZGVwZW5kZW50Rm9ybWF0dGluZ0NvbnRleHRJZ25vcmluZ0Rpc3BsYXlUeXBlKGNv
bnN0IFJlbmRlclN0eWxlJikgY29uc3Q7CiAKICAgICB2b2lkIGxheW91dCgpIG92ZXJyaWRlOwog
Ci0gICAgdm9pZCBsYXlvdXRPdXRPZkZsb3dCb3hlcyhSZWxheW91dENoaWxkcmVuLCBib29sIGZp
eGVkUG9zaXRpb25PYmplY3RzT25seSA9IGZhbHNlKTsKICAgICB2aXJ0dWFsIHZvaWQgbGF5b3V0
T3V0T2ZGbG93Qm94KFJlbmRlckJveCYsIFJlbGF5b3V0Q2hpbGRyZW4sIGJvb2wgZml4ZWRQb3Np
dGlvbk9iamVjdHNPbmx5KTsKICAgICAKICAgICB2b2lkIG1hcmtGaXhlZFBvc2l0aW9uQm94Rm9y
TGF5b3V0SWZOZWVkZWQoUmVuZGVyQm94JiBjaGlsZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCb3guY3BwCmluZGV4IGVjNDAyZGI1OWM1Yy4uYzY3OTI5Y2QyZjhmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcApAQCAtNTIzNSw2ICs1MjM1LDExIEBAIExheW91
dFVuaXQgUmVuZGVyQm94OjpvZmZzZXRGcm9tTG9naWNhbFRvcE9mRmlyc3RQYWdlKCkgY29uc3QK
ICAgICAgICAgcmV0dXJuIDA7CiAKICAgICBSZW5kZXJCbG9jayogY29udGFpbmVyQmxvY2sgPSBj
b250YWluaW5nQmxvY2soKTsKKyAgICAvLyBUYWJsZSByb3dzIGFuZCBjZWxscyBzaGFyZSB0aGUg
c2VjdGlvbidzIGNvb3JkaW5hdGUgc3BhY2UuIFNraXAgdGhlIHJvdworICAgIC8vIHRvIGF2b2lk
IGRvdWJsZS1jb3VudGluZyBpdHMgb2Zmc2V0IC0tIHRoZSBjZWxsJ3MgbG9naWNhbFRvcCgpIGFs
cmVhZHkKKyAgICAvLyBpbmNsdWRlcyB0aGUgcm93J3MgcG9zaXRpb24gd2l0aGluIHRoZSBzZWN0
aW9uLgorICAgIGlmIChpczxSZW5kZXJUYWJsZVJvdz4oY29udGFpbmVyQmxvY2spKQorICAgICAg
ICBjb250YWluZXJCbG9jayA9IGNvbnRhaW5lckJsb2NrLT5jb250YWluaW5nQmxvY2soKTsKICAg
ICByZXR1cm4gY29udGFpbmVyQmxvY2stPm9mZnNldEZyb21Mb2dpY2FsVG9wT2ZGaXJzdFBhZ2Uo
KSArIGxvZ2ljYWxUb3AoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckZyYWdtZW50ZWRGbG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJGcmFnbWVudGVkRmxvdy5jcHAKaW5kZXggZGIxNjA4YWNmMTZmLi5hMmJmMWIxNWQyOTgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFnbWVudGVkRmxv
dy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYWdtZW50ZWRGbG93
LmNwcApAQCAtNzg2LDYgKzc4NiwxMCBAQCBMYXlvdXRVbml0IFJlbmRlckZyYWdtZW50ZWRGbG93
OjpvZmZzZXRGcm9tTG9naWNhbFRvcE9mRmlyc3RGcmFnbWVudChjb25zdCBSZW5kZQogICAgICAg
ICBBU1NFUlQoY29udGFpbmVyQmxvY2spOwogICAgICAgICBpZiAoIWNvbnRhaW5lckJsb2NrKQog
ICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIC8vIFRhYmxlIHJvd3MgYW5kIGNlbGxzIHNo
YXJlIHRoZSBzZWN0aW9uJ3MgY29vcmRpbmF0ZSBzcGFjZSwgc28gc2tpcAorICAgICAgICAvLyB0
aGUgcm93IHRvIGF2b2lkIGRvdWJsZS1jb3VudGluZyBpdHMgb2Zmc2V0LgorICAgICAgICBpZiAo
aXM8UmVuZGVyVGFibGVSb3c+KGNvbnRhaW5lckJsb2NrKSkKKyAgICAgICAgICAgIGNvbnRhaW5l
ckJsb2NrID0gY29udGFpbmVyQmxvY2stPmNvbnRhaW5pbmdCbG9jaygpOwogICAgICAgICBMYXlv
dXRQb2ludCBjdXJyZW50QmxvY2tMb2NhdGlvbiA9IGN1cnJlbnRCbG9jay0+bG9jYXRpb24oKTsK
ICAgICAgICAgaWYgKGF1dG8qIGNlbGwgPSBkeW5hbWljRG93bmNhc3Q8UmVuZGVyVGFibGVDZWxs
PigqY3VycmVudEJsb2NrKSkgewogICAgICAgICAgICAgaWYgKGF1dG8qIHNlY3Rpb24gPSBjZWxs
LT5zZWN0aW9uKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGFibGVSb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlUm93LmNw
cAppbmRleCA5OTlhNDQxMmE3MDMuLmJmODFmZDcxMjUyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlUm93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGFibGVSb3cuY3BwCkBAIC01MSw3ICs1MSw3IEBAIHVzaW5nIG5hbWVz
cGFjZSBIVE1MTmFtZXM7CiBXVEZfTUFLRV9UWk9ORV9BTExPQ0FURURfSU1QTChSZW5kZXJUYWJs
ZVJvdyk7CiAKIFJlbmRlclRhYmxlUm93OjpSZW5kZXJUYWJsZVJvdyhFbGVtZW50JiBlbGVtZW50
LCBSZW5kZXJTdHlsZSYmIHN0eWxlKQotICAgIDogUmVuZGVyQm94KFR5cGU6OlRhYmxlUm93LCBl
bGVtZW50LCBXVEY6Om1vdmUoc3R5bGUpKQorICAgIDogUmVuZGVyQmxvY2soVHlwZTo6VGFibGVS
b3csIGVsZW1lbnQsIFdURjo6bW92ZShzdHlsZSksIHsgfSkKICAgICAsIG1fcm93SW5kZXgodW5z
ZXRSb3dJbmRleCkKIHsKICAgICBzZXRJbmxpbmUoZmFsc2UpOwpAQCAtNTksNyArNTksNyBAQCBS
ZW5kZXJUYWJsZVJvdzo6UmVuZGVyVGFibGVSb3coRWxlbWVudCYgZWxlbWVudCwgUmVuZGVyU3R5
bGUmJiBzdHlsZSkKIH0KIAogUmVuZGVyVGFibGVSb3c6OlJlbmRlclRhYmxlUm93KERvY3VtZW50
JiBkb2N1bWVudCwgUmVuZGVyU3R5bGUmJiBzdHlsZSkKLSAgICA6IFJlbmRlckJveChUeXBlOjpU
YWJsZVJvdywgZG9jdW1lbnQsIFdURjo6bW92ZShzdHlsZSkpCisgICAgOiBSZW5kZXJCbG9jayhU
eXBlOjpUYWJsZVJvdywgZG9jdW1lbnQsIFdURjo6bW92ZShzdHlsZSksIHsgfSkKICAgICAsIG1f
cm93SW5kZXgodW5zZXRSb3dJbmRleCkKIHsKICAgICBzZXRJbmxpbmUoZmFsc2UpOwpAQCAtNzUs
NyArNzUsNyBAQCBBU0NJSUxpdGVyYWwgUmVuZGVyVGFibGVSb3c6OnJlbmRlck5hbWUoKSBjb25z
dAogCiB2b2lkIFJlbmRlclRhYmxlUm93Ojp3aWxsQmVSZW1vdmVkRnJvbVRyZWUoKQogewotICAg
IFJlbmRlckJveDo6d2lsbEJlUmVtb3ZlZEZyb21UcmVlKCk7CisgICAgUmVuZGVyQmxvY2s6Ondp
bGxCZVJlbW92ZWRGcm9tVHJlZSgpOwogCiAgICAgc2VjdGlvbigpLT5zZXROZWVkc0NlbGxSZWNh
bGMoKTsKIH0KQEAgLTkyLDcgKzkyLDcgQEAgdm9pZCBSZW5kZXJUYWJsZVJvdzo6c3R5bGVEaWRD
aGFuZ2UoU3R5bGU6OkRpZmZlcmVuY2UgZGlmZiwgY29uc3QgUmVuZGVyU3R5bGUqIG8KIHsKICAg
ICBBU1NFUlQoc3R5bGUoKS5kaXNwbGF5KCkgPT0gU3R5bGU6OkRpc3BsYXlUeXBlOjpUYWJsZVJv
dyk7CiAKLSAgICBSZW5kZXJCb3g6OnN0eWxlRGlkQ2hhbmdlKGRpZmYsIG9sZFN0eWxlKTsKKyAg
ICBSZW5kZXJCbG9jazo6c3R5bGVEaWRDaGFuZ2UoZGlmZiwgb2xkU3R5bGUpOwogICAgIHByb3Bh
Z2F0ZVN0eWxlVG9Bbm9ueW1vdXNDaGlsZHJlbihTdHlsZVByb3BhZ2F0aW9uVHlwZTo6QWxsQ2hp
bGRyZW4pOwogCiAgICAgaWYgKHNlY3Rpb24oKSAmJiBvbGRTdHlsZSAmJiBzdHlsZSgpLmxvZ2lj
YWxIZWlnaHQoKSAhPSBvbGRTdHlsZS0+bG9naWNhbEhlaWdodCgpKQpAQCAtMTgyLDggKzE4Miw4
IEBAIHZvaWQgUmVuZGVyVGFibGVSb3c6OmxheW91dCgpCiAgICAgICAgICAgICBjZWxsLT5yZXBh
aW50KCk7CiAgICAgfQogCi0gICAgLy8gUmVuZGVyVGFibGVTZWN0aW9uOjpsYXlvdXRSb3dzIHdp
bGwgc2V0IG91ciBsb2dpY2FsIGhlaWdodCBhbmQgd2lkdGggbGF0ZXIsIHNvIGl0IGNhbGxzIHVw
ZGF0ZUxheWVyVHJhbnNmb3JtKCkuCi0gICAgY2xlYXJOZWVkc0xheW91dCgpOworICAgIC8vIFJv
dyBkaW1lbnNpb25zIGFyZSBmaW5hbGl6ZWQgaW4gUmVuZGVyVGFibGVTZWN0aW9uOjpsYXlvdXRS
b3dzKCksIHdoaWNoIGFsc28KKyAgICAvLyBsYXlzIG91dCBvdXQtb2YtZmxvdyBkZXNjZW5kYW50
cyBhbmQgY2FsbHMgY2xlYXJOZWVkc0xheW91dCgpLgogfQogCiBMYXlvdXRSZWN0IFJlbmRlclRh
YmxlUm93OjpjbGlwcGVkT3ZlcmZsb3dSZWN0KGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3Qq
IHJlcGFpbnRDb250YWluZXIsIFZpc2libGVSZWN0Q29udGV4dCBjb250ZXh0KSBjb25zdApAQCAt
MTkyLDcgKzE5Miw3IEBAIExheW91dFJlY3QgUmVuZGVyVGFibGVSb3c6OmNsaXBwZWRPdmVyZmxv
d1JlY3QoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogcmVwCiAgICAgLy8gUm93cyBhbmQg
Y2VsbHMgYXJlIGluIHRoZSBzYW1lIGNvb3JkaW5hdGUgc3BhY2UuIFdlIG5lZWQgdG8gYm90aCBj
b21wdXRlIG91ciBvdmVyZmxvdyByZWN0ICh3aGljaAogICAgIC8vIHdpbGwgYWNjb21tb2RhdGUg
YSByb3cgb3V0bGluZSBhbmQgYW55IHZpc3VhbCBlZmZlY3RzIG9uIHRoZSByb3cgaXRzZWxmKSwg
YnV0IHdlIGFsc28gbmVlZCB0byBhZGQgaW4KICAgICAvLyB0aGUgcmVwYWludCByZWN0cyBvZiBj
ZWxscy4KLSAgICBhdXRvIHJlc3VsdCA9IFJlbmRlckJveDo6Y2xpcHBlZE92ZXJmbG93UmVjdChy
ZXBhaW50Q29udGFpbmVyLCBjb250ZXh0KTsKKyAgICBhdXRvIHJlc3VsdCA9IFJlbmRlckJsb2Nr
OjpjbGlwcGVkT3ZlcmZsb3dSZWN0KHJlcGFpbnRDb250YWluZXIsIGNvbnRleHQpOwogICAgIGZv
ciAoYXV0byogY2VsbCA9IGZpcnN0Q2VsbCgpOyBjZWxsOyBjZWxsID0gY2VsbC0+bmV4dENlbGwo
KSkgewogICAgICAgICAvLyBFdmVuIGlmIGEgY2VsbCBpcyBhIHJlcGFpbnQgY29udGFpbmVyLCBp
dCdzIHRoZSByb3cgdGhhdCBwYWludHMgdGhlIGJhY2tncm91bmQgYmVoaW5kIGl0LgogICAgICAg
ICAvLyBTbyB3ZSBkb24ndCBjYXJlIGlmIGEgY2VsbCBpcyBhIHJlcGFpbnRDb250YWluZXIgaGVy
ZS4KQEAgLTI4Niw3ICsyODYsNyBAQCB2b2lkIFJlbmRlclRhYmxlUm93OjppbWFnZUNoYW5nZWQo
V3JhcHBlZEltYWdlUHRyLCBjb25zdCBJbnRSZWN0KikKIAogYm9vbCBSZW5kZXJUYWJsZVJvdzo6
cmVxdWlyZXNMYXllcigpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIGhhc05vblZpc2libGVPdmVyZmxv
dygpIHx8IGhhc1RyYW5zZm9ybVJlbGF0ZWRQcm9wZXJ0eSgpIHx8IGhhc0hpZGRlbkJhY2tmYWNl
KCkgfHwgaGFzQ2xpcFBhdGgoKSB8fCBjcmVhdGVzR3JvdXAoKSB8fCBpc1N0aWNraWx5UG9zaXRp
b25lZCgpIHx8IHJlcXVpcmVzUmVuZGVyaW5nQ29uc29saWRhdGlvbkZvclZpZXdUcmFuc2l0aW9u
KCk7CisgICAgcmV0dXJuIGlzUG9zaXRpb25lZCgpIHx8IGhhc05vblZpc2libGVPdmVyZmxvdygp
IHx8IGhhc1RyYW5zZm9ybVJlbGF0ZWRQcm9wZXJ0eSgpIHx8IGhhc0hpZGRlbkJhY2tmYWNlKCkg
fHwgaGFzQ2xpcFBhdGgoKSB8fCBjcmVhdGVzR3JvdXAoKSB8fCBpc1N0aWNraWx5UG9zaXRpb25l
ZCgpIHx8IHJlcXVpcmVzUmVuZGVyaW5nQ29uc29saWRhdGlvbkZvclZpZXdUcmFuc2l0aW9uKCk7
CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUYWJsZVJvdy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRhYmxlUm93LmgKaW5kZXggZTczYzY1ZGZhYjlkLi42YzJiM2FkMGZmNDcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVJvdy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVJvdy5oCkBAIC0yNSw2ICsyNSw3IEBACiAK
ICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAiUmVuZGVyQmxvY2suaCIKICNpbmNsdWRlICJSZW5k
ZXJUYWJsZVNlY3Rpb24uaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzIsNyArMzMsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBzdGF0aWMgY29uc3QgdW5zaWduZWQgdW5zZXRSb3dJbmRl
eCA9IDB4N0ZGRkZGRkY7CiBzdGF0aWMgY29uc3QgdW5zaWduZWQgbWF4Um93SW5kZXggPSAweDdG
RkZGRkZFOyAvLyAyLDE0Nyw0ODMsNjQ2CiAKLWNsYXNzIFJlbmRlclRhYmxlUm93IGZpbmFsIDog
cHVibGljIFJlbmRlckJveCB7CitjbGFzcyBSZW5kZXJUYWJsZVJvdyBmaW5hbCA6IHB1YmxpYyBS
ZW5kZXJCbG9jayB7CiAgICAgV1RGX01BS0VfVFpPTkVfQUxMT0NBVEVEKFJlbmRlclRhYmxlUm93
KTsKICAgICBXVEZfT1ZFUlJJREVfREVMRVRFX0ZPUl9DSEVDS0VEX1BUUihSZW5kZXJUYWJsZVJv
dyk7CiBwdWJsaWM6CkBAIC0xMTksMTIgKzEyMCwxMiBAQCBpbmxpbmUgUmVuZGVyVGFibGUqIFJl
bmRlclRhYmxlUm93Ojp0YWJsZSgpIGNvbnN0CiAKIGlubGluZSBSZW5kZXJUYWJsZVJvdyogUmVu
ZGVyVGFibGVSb3c6Om5leHRSb3coKSBjb25zdAogewotICAgIHJldHVybiBkb3duY2FzdDxSZW5k
ZXJUYWJsZVJvdz4oUmVuZGVyQm94OjpuZXh0U2libGluZygpKTsKKyAgICByZXR1cm4gZG93bmNh
c3Q8UmVuZGVyVGFibGVSb3c+KFJlbmRlckJsb2NrOjpuZXh0U2libGluZygpKTsKIH0KIAogaW5s
aW5lIFJlbmRlclRhYmxlUm93KiBSZW5kZXJUYWJsZVJvdzo6cHJldmlvdXNSb3coKSBjb25zdAog
ewotICAgIHJldHVybiBkb3duY2FzdDxSZW5kZXJUYWJsZVJvdz4oUmVuZGVyQm94OjpwcmV2aW91
c1NpYmxpbmcoKSk7CisgICAgcmV0dXJuIGRvd25jYXN0PFJlbmRlclRhYmxlUm93PihSZW5kZXJC
bG9jazo6cHJldmlvdXNTaWJsaW5nKCkpOwogfQogCiBpbmxpbmUgUmVuZGVyVGFibGVSb3cqIFJl
bmRlclRhYmxlU2VjdGlvbjo6Zmlyc3RSb3coKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9uLmNwcAppbmRleCA4YTYyOTc4Y2MzZjEuLjcyMTAz
YTAyYzM4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxl
U2VjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlU2Vj
dGlvbi5jcHAKQEAgLTU5NSw3ICs1OTUsMTAgQEAgdm9pZCBSZW5kZXJUYWJsZVNlY3Rpb246Omxh
eW91dFJvd3MoKQogCiAgICAgZm9yIChzaXplX3Qgcm93SW5kZXggPSAwOyByb3dJbmRleCA8IG51
bWJlck9mUm93czsgcm93SW5kZXgrKykgewogICAgICAgICAvLyBTZXQgdGhlIHJvdydzIHgveSBw
b3NpdGlvbiBhbmQgd2lkdGgvaGVpZ2h0LgotICAgICAgICBpZiAoUmVuZGVyVGFibGVSb3cqIHJv
d1JlbmRlcmVyID0gbV9ncmlkW3Jvd0luZGV4XS5yb3dSZW5kZXJlcikgeworICAgICAgICBDaGVj
a2VkUHRyIHJvd1JlbmRlcmVyID0gbV9ncmlkW3Jvd0luZGV4XS5yb3dSZW5kZXJlcjsKKyAgICAg
ICAgQVNTRVJUKHJvd1JlbmRlcmVyKTsKKworICAgICAgICBpZiAocm93UmVuZGVyZXIpIHsKICAg
ICAgICAgICAgIC8vIEZJWE1FOiB0aGUgeCgpIHBvc2l0aW9uIG9mIHRoZSByb3cgc2hvdWxkIGJl
IHRhYmxlKCktPmhCb3JkZXJTcGFjaW5nKCkgc28gdGhhdCBpdCBjYW4gCiAgICAgICAgICAgICAv
LyByZXBvcnQgdGhlIGNvcnJlY3Qgb2Zmc2V0TGVmdC4gSG93ZXZlciwgdGhhdCB3aWxsIHJlcXVp
cmUgYSBsb3Qgb2YgcmViYXNlbGluaW5nIG9mIHRlc3QgcmVzdWx0cy4KICAgICAgICAgICAgIHJv
d1JlbmRlcmVyLT5zZXRMb2dpY2FsTG9jYXRpb24oeyAwX2x1LCBtX3Jvd1Bvc1tyb3dJbmRleF0g
fSk7CkBAIC02ODEsNiArNjg0LDExIEBAIHZvaWQgUmVuZGVyVGFibGVTZWN0aW9uOjpsYXlvdXRS
b3dzKCkKICAgICAgICAgICAgICAgICAgICAgY2VsbHNbY2VsbEluZGV4XS0+c2V0TG9naWNhbEhl
aWdodChjZWxsc1tjZWxsSW5kZXhdLT5sb2dpY2FsSGVpZ2h0KCkgKyByb3dIZWlnaHRJbmNyZWFz
ZUZvclBhZ2luYXRpb24pOwogICAgICAgICAgICAgfQogICAgICAgICB9CisgICAgICAgIC8vIEZp
bmFsaXplIHJvdyBsYXlvdXQuCisgICAgICAgIGlmIChyb3dSZW5kZXJlcikgeworICAgICAgICAg
ICAgcm93UmVuZGVyZXItPmxheW91dE91dE9mRmxvd0JveGVzKFJlbGF5b3V0Q2hpbGRyZW46Olll
cyk7CisgICAgICAgICAgICByb3dSZW5kZXJlci0+Y2xlYXJOZWVkc0xheW91dCgpOworICAgICAg
ICB9CiAgICAgfQogCiAgICAgQVNTRVJUKCFuZWVkc0xheW91dCgpKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQWRqdXN0ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvc3R5
bGUvU3R5bGVBZGp1c3Rlci5jcHAKaW5kZXggZTBiZWRhNDVkMWZmLi41MTI2NmU4ZjUxM2UgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQWRqdXN0ZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQWRqdXN0ZXIuY3BwCkBAIC00ODMsMTEgKzQ4MywxMCBA
QCB2b2lkIEFkanVzdGVyOjphZGp1c3QoUmVuZGVyU3R5bGUmIHN0eWxlKSBjb25zdAogICAgICAg
ICBpZiAoc3R5bGUuZGlzcGxheSgpID09IERpc3BsYXlUeXBlOjpJbmxpbmVGbG93ICYmICFzdHls
ZS5wc2V1ZG9FbGVtZW50VHlwZSgpICYmIHN0eWxlLndyaXRpbmdNb2RlKCkuY29tcHV0ZWRXcml0
aW5nTW9kZSgpICE9IG1fcGFyZW50U3R5bGUud3JpdGluZ01vZGUoKS5jb21wdXRlZFdyaXRpbmdN
b2RlKCkpCiAgICAgICAgICAgICBzdHlsZS5zZXREaXNwbGF5TWFpbnRhaW5pbmdPcmlnaW5hbERp
c3BsYXkoRGlzcGxheVR5cGU6OklubGluZUZsb3dSb290KTsKIAotICAgICAgICAvLyBBZnRlciBw
ZXJmb3JtaW5nIHRoZSBkaXNwbGF5IG11dGF0aW9uLCBjaGVjayB0YWJsZSByb3dzLiBXZSBkbyBu
b3QgaG9ub3IgcG9zaXRpb246cmVsYXRpdmUgb3IgcG9zaXRpb246c3RpY2t5IG9uCi0gICAgICAg
IC8vIHRhYmxlIHJvd3Mgb3IgY2VsbHMuIFRoaXMgaGFzIGJlZW4gZXN0YWJsaXNoZWQgZm9yIHBv
c2l0aW9uOnJlbGF0aXZlIGluIENTUzIuMSAoYW5kIGNhdXNlZCBhIGNyYXNoIGluIGNvbnRhaW5p
bmdCbG9jaygpCi0gICAgICAgIC8vIG9uIHNvbWUgc2l0ZXMpLgorICAgICAgICAvLyBXZSBkbyBu
b3QgaG9ub3IgcG9zaXRpb246cmVsYXRpdmUgb3IgcG9zaXRpb246c3RpY2t5IG9uIHRhYmxlIHJv
dyBncm91cHMuIFRhYmxlIHJvd3MgYXJlCisgICAgICAgIC8vIGFsbG93ZWQgdG8gYmUgcG9zaXRp
b246cmVsYXRpdmUgKHRoZXkgZXh0ZW5kIFJlbmRlckJsb2NrIGFuZCBjYW4gYmUgcHJvcGVyIGNv
bnRhaW5pbmcgYmxvY2tzKS4KICAgICAgICAgaWYgKChzdHlsZS5kaXNwbGF5KCkgPT0gRGlzcGxh
eVR5cGU6OlRhYmxlSGVhZGVyR3JvdXAgfHwgc3R5bGUuZGlzcGxheSgpID09IERpc3BsYXlUeXBl
OjpUYWJsZVJvd0dyb3VwCi0gICAgICAgICAgICB8fCBzdHlsZS5kaXNwbGF5KCkgPT0gRGlzcGxh
eVR5cGU6OlRhYmxlRm9vdGVyR3JvdXAgfHwgc3R5bGUuZGlzcGxheSgpID09IERpc3BsYXlUeXBl
OjpUYWJsZVJvdykKKyAgICAgICAgICAgIHx8IHN0eWxlLmRpc3BsYXkoKSA9PSBEaXNwbGF5VHlw
ZTo6VGFibGVGb290ZXJHcm91cCkKICAgICAgICAgICAgICYmIHN0eWxlLnBvc2l0aW9uKCkgPT0g
UG9zaXRpb25UeXBlOjpSZWxhdGl2ZSkKICAgICAgICAgICAgIHN0eWxlLnNldFBvc2l0aW9uKFBv
c2l0aW9uVHlwZTo6U3RhdGljKTsKIApAQCAtNjQyLDcgKzY0MSwxMSBAQCB2b2lkIEFkanVzdGVy
OjphZGp1c3QoUmVuZGVyU3R5bGUmIHN0eWxlKSBjb25zdAogCiAgICAgYm9vbCBvdmVyZmxvd0lz
Q2xpcE9yVmlzaWJsZSA9IGlzT3ZlcmZsb3dDbGlwT3JWaXNpYmxlKHN0eWxlLm92ZXJmbG93WSgp
KSAmJiBpc092ZXJmbG93Q2xpcE9yVmlzaWJsZShzdHlsZS5vdmVyZmxvd1goKSk7CiAKLSAgICBp
ZiAoIW92ZXJmbG93SXNDbGlwT3JWaXNpYmxlICYmIHN0eWxlLmRpc3BsYXkoKS5pc1RhYmxlQm94
KCkpIHsKKyAgICAvLyBUaGUgb3ZlcmZsb3cgcHJvcGVydHkgZG9lcyBub3QgYXBwbHkgdG8gdGFi
bGUgcm93IGVsZW1lbnRzIChDU1MyIHNlY3Rpb24gMTEuMS4xKS4KKyAgICBpZiAoc3R5bGUuZGlz
cGxheSgpID09IERpc3BsYXlUeXBlOjpUYWJsZVJvdykgeworICAgICAgICBzdHlsZS5zZXRPdmVy
Zmxvd1goT3ZlcmZsb3c6OlZpc2libGUpOworICAgICAgICBzdHlsZS5zZXRPdmVyZmxvd1koT3Zl
cmZsb3c6OlZpc2libGUpOworICAgIH0gZWxzZSBpZiAoIW92ZXJmbG93SXNDbGlwT3JWaXNpYmxl
ICYmIHN0eWxlLmRpc3BsYXkoKS5pc1RhYmxlQm94KCkpIHsKICAgICAgICAgLy8gVGFibGVzIG9u
bHkgc3VwcG9ydCBvdmVyZmxvdzpoaWRkZW4gYW5kIG92ZXJmbG93OnZpc2libGUgYW5kIGlnbm9y
ZSBhbnl0aGluZyBlbHNlLAogICAgICAgICAvLyBzZWUgaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3Jn
L2NzczIvI292ZXJmbG93LiBBcyBhIHRhYmxlIGlzIG5vdCBhIGJsb2NrCiAgICAgICAgIC8vIGNv
bnRhaW5lciBib3ggdGhlIHJ1bGVzIGZvciByZXNvbHZpbmcgY29uZmxpY3RpbmcgeCBhbmQgeSB2
YWx1ZXMgaW4gQ1NTIE92ZXJmbG93IE1vZHVsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC90YWJsZS9ub24tcG9zaXRpb25lZC1yb3ctbm8tY29udGFpbm1lbnQtZXhwZWN0ZWQuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvdGFibGUvbm9uLXBvc2l0aW9uZWQtcm93LW5vLWNvbnRhaW5tZW50
LWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5i
MWM5YjM5YjgxZmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RhYmxlL25v
bi1wb3NpdGlvbmVkLXJvdy1uby1jb250YWlubWVudC1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEs
MTQgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5Ob24tcG9zaXRp
b25lZCB0YWJsZSByb3cgZG9lcyBub3QgY29udGFpbiBhYnNvbHV0ZSBkZXNjZW5kYW50cyAocmVm
ZXJlbmNlKTwvdGl0bGU+Cis8c3R5bGU+Citib2R5IHsKKyAgICBtYXJnaW46IDA7Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogMjAwcHg7IGhlaWdodDog
MjAwcHg7IGJhY2tncm91bmQ6IGdyZWVuIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGFibGUvbm9uLXBvc2l0aW9uZWQtcm93LW5vLWNvbnRh
aW5tZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RhYmxlL25vbi1wb3NpdGlvbmVkLXJvdy1u
by1jb250YWlubWVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MC4uZTIzZTY4ZGYzNDMyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90YWJs
ZS9ub24tcG9zaXRpb25lZC1yb3ctbm8tY29udGFpbm1lbnQuaHRtbApAQCAtMCwwICsxLDMzIEBA
Cis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+Tm9uLXBvc2l0aW9uZWQg
dGFibGUgcm93IGRvZXMgbm90IGNvbnRhaW4gYWJzb2x1dGUgZGVzY2VuZGFudHM8L3RpdGxlPgor
PGxpbmsgcmVsPSJtYXRjaCIgaHJlZj0ibm9uLXBvc2l0aW9uZWQtcm93LW5vLWNvbnRhaW5tZW50
LWV4cGVjdGVkLmh0bWwiPgorPHN0eWxlPgorYm9keSB7CisgICAgbWFyZ2luOiAwOworfQordGFi
bGUgeworICAgIGJvcmRlci1zcGFjaW5nOiAwOworICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFw
c2U7CisgICAgYm9yZGVyOiBub25lOworfQordGQgeworICAgIHBhZGRpbmc6IDA7CisgICAgYm9y
ZGVyOiBub25lOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPCEtLSBXaXRob3V0IHBv
c2l0aW9uOiByZWxhdGl2ZSBvbiB0aGUgcm93LCB0aGUgYWJzb2x1dGUgZGl2IHNob3VsZCBlc2Nh
cGUgdG8gdGhlCisgICAgIG5lYXJlc3QgcG9zaXRpb25lZCBhbmNlc3RvciAodGhlIG91dGVyIGRp
diksIGNvdmVyaW5nIGl0IGVudGlyZWx5LiAtLT4KKzxkaXYgc3R5bGU9InBvc2l0aW9uOiByZWxh
dGl2ZTsgd2lkdGg6IDIwMHB4OyBoZWlnaHQ6IDIwMHB4Ij4KKyAgICA8dGFibGU+CisgICAgICAg
IDx0cj4KKyAgICAgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDUwcHg7IGhlaWdodDogNTBweCI+
Q2VsbDwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgPC90YWJsZT4KKyAgICA8ZGl2IHN0eWxlPSJw
b3NpdGlvbjogYWJzb2x1dGU7IGluc2V0OiAwOyBiYWNrZ3JvdW5kOiBncmVlbiI+PC9kaXY+Cis8
L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGFi
bGUvcmVsYXRpdmUtcG9zaXRpb24tcm93LWNvbnRhaW5tZW50LWV4cGVjdGVkLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L3RhYmxlL3JlbGF0aXZlLXBvc2l0aW9uLXJvdy1jb250YWlubWVudC1leHBl
Y3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMjcwODhj
NTZkNWU2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9yZWxhdGl2
ZS1wb3NpdGlvbi1yb3ctY29udGFpbm1lbnQtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDE1IEBA
Cis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+UG9zaXRpb25lZCB0YWJs
ZSByb3cgYXMgY29udGFpbmluZyBibG9jayBmb3IgYWJzb2x1dGUgZGVzY2VuZGFudHMgKHJlZmVy
ZW5jZSk8L3RpdGxlPgorPHN0eWxlPgorYm9keSB7CisgICAgbWFyZ2luOiAwOworfQorPC9zdHls
ZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBzdHlsZT0iaGVpZ2h0OiA1MHB4Ij48L2Rpdj4KKzxk
aXYgc3R5bGU9IndpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgYmFja2dyb3VuZDogZ3JlZW4i
PjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90
YWJsZS9yZWxhdGl2ZS1wb3NpdGlvbi1yb3ctY29udGFpbm1lbnQuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvdGFibGUvcmVsYXRpdmUtcG9zaXRpb24tcm93LWNvbnRhaW5tZW50Lmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi40MTZjNGE4YmM5ZWMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RhYmxlL3JlbGF0aXZlLXBvc2l0aW9uLXJvdy1j
b250YWlubWVudC5odG1sCkBAIC0wLDAgKzEsMzIgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKzx0aXRsZT5Qb3NpdGlvbmVkIHRhYmxlIHJvdyBhcyBjb250YWluaW5nIGJsb2Nr
IGZvciBhYnNvbHV0ZSBkZXNjZW5kYW50czwvdGl0bGU+Cis8bGluayByZWw9Im1hdGNoIiBocmVm
PSJyZWxhdGl2ZS1wb3NpdGlvbi1yb3ctY29udGFpbm1lbnQtZXhwZWN0ZWQuaHRtbCI+Cis8c3R5
bGU+Citib2R5IHsKKyAgICBtYXJnaW46IDA7Cit9Cit0YWJsZSB7CisgICAgYm9yZGVyLXNwYWNp
bmc6IDA7CisgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsKKyAgICBib3JkZXI6IG5vbmU7
Cit9Cit0ZCB7CisgICAgcGFkZGluZzogMDsKKyAgICBib3JkZXI6IG5vbmU7Cit9Cis8L3N0eWxl
PgorPC9oZWFkPgorPGJvZHk+Cis8IS0tIFB1c2ggdGhlIHRhYmxlIGRvd24gdG8gdmVyaWZ5IHRo
ZSBhYnNvbHV0ZSBkaXYgaXMgYW5jaG9yZWQgdG8gdGhlIHJvdywgbm90IHRoZSB2aWV3cG9ydC4g
LS0+Cis8ZGl2IHN0eWxlPSJoZWlnaHQ6IDUwcHgiPjwvZGl2PgorPHRhYmxlPgorICAgIDx0ciBz
dHlsZT0icG9zaXRpb246IHJlbGF0aXZlIj4KKyAgICAgICAgPHRkIHN0eWxlPSJ3aWR0aDogMTAw
cHg7IGhlaWdodDogMTAwcHgiPgorICAgICAgICAgICAgPGRpdiBzdHlsZT0icG9zaXRpb246IGFi
c29sdXRlOyBpbnNldDogMDsgYmFja2dyb3VuZDogZ3JlZW4iPjwvZGl2PgorICAgICAgICA8L3Rk
PgorICAgIDwvdHI+Cis8L3RhYmxlPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC90YWJsZS9yZWxhdGl2ZS1wb3NpdGlvbi1yb3ctbXVsdGljZWxsLWV4cGVj
dGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RhYmxlL3JlbGF0aXZlLXBvc2l0aW9uLXJvdy1t
dWx0aWNlbGwtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAuLjBkZWVjMmI1OTE2YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
dGFibGUvcmVsYXRpdmUtcG9zaXRpb24tcm93LW11bHRpY2VsbC1leHBlY3RlZC5odG1sCkBAIC0w
LDAgKzEsMTQgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5BYnNv
bHV0ZSBjaGlsZCBvZiBwb3NpdGlvbmVkIHRhYmxlIHJvdyBzcGFucyBmdWxsIHJvdyB3aWR0aCAo
cmVmZXJlbmNlKTwvdGl0bGU+Cis8c3R5bGU+Citib2R5IHsKKyAgICBtYXJnaW46IDA7Cit9Cis8
L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogMjAwcHg7IGhlaWdo
dDogNTBweDsgYmFja2dyb3VuZDogZ3JlZW4iPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9yZWxhdGl2ZS1wb3NpdGlvbi1yb3ctbXVs
dGljZWxsLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RhYmxlL3JlbGF0aXZlLXBvc2l0aW9uLXJv
dy1tdWx0aWNlbGwuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAu
LjJmOTRjM2I3M2I4ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGFibGUv
cmVsYXRpdmUtcG9zaXRpb24tcm93LW11bHRpY2VsbC5odG1sCkBAIC0wLDAgKzEsMzMgQEAKKzwh
ZG9jdHlwZSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5BYnNvbHV0ZSBjaGlsZCBvZiBw
b3NpdGlvbmVkIHRhYmxlIHJvdyBzcGFucyBmdWxsIHJvdyB3aWR0aDwvdGl0bGU+Cis8bGluayBy
ZWw9Im1hdGNoIiBocmVmPSJyZWxhdGl2ZS1wb3NpdGlvbi1yb3ctbXVsdGljZWxsLWV4cGVjdGVk
Lmh0bWwiPgorPHN0eWxlPgorYm9keSB7CisgICAgbWFyZ2luOiAwOworfQordGFibGUgeworICAg
IGJvcmRlci1zcGFjaW5nOiAwOworICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7CisgICAg
Ym9yZGVyOiBub25lOworfQordGQgeworICAgIHBhZGRpbmc6IDA7CisgICAgYm9yZGVyOiBub25l
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPCEtLSBUaGUgZ3JlZW4gZGl2IHNob3Vs
ZCBjb3ZlciB0aGUgZW50aXJlIHJvdyAoYm90aCBjZWxscykuIC0tPgorPHRhYmxlPgorICAgIDx0
ciBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlIj4KKyAgICAgICAgPHRkIHN0eWxlPSJ3aWR0aDog
MTAwcHg7IGhlaWdodDogNTBweCI+CisgICAgICAgICAgICBDZWxsIDEKKyAgICAgICAgICAgIDxk
aXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgaW5zZXQ6IDA7IGJhY2tncm91bmQ6IGdyZWVu
Ij48L2Rpdj4KKyAgICAgICAgPC90ZD4KKyAgICAgICAgPHRkIHN0eWxlPSJ3aWR0aDogMTAwcHg7
IGhlaWdodDogNTBweCI+Q2VsbCAyPC90ZD4KKyAgICA8L3RyPgorPC90YWJsZT4KKzwvYm9keT4K
KzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>478954</attachid>
            <date>2026-04-07 12:01:37 -0700</date>
            <delta_ts>2026-04-07 19:31:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-240961-20260407120136.patch</filename>
            <type>text/plain</type>
            <size>23872</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSBkYjUwYzM0OThhMDAyMjlhMmY2NGIyNWM1ZGYxZmVmYTk5YjFmNGEwIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IE1vbiwgNiBBcHIgMjAyNiAxNjo0MjoyNiAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIGBwb3NpdGlv
bjogcmVsYXRpdmVgIGRvZXNuJ3Qgd29yayBhcyBleHBlY3RlZCBvbiB0YWJsZSByb3cKIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNDA5NjEgPHJkYXI6Ly9wcm9ibGVt
Lzk0Mjk0ODE5PgoKUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgpXaGVuIHlvdSBwdXQgYHBv
c2l0aW9uOiByZWxhdGl2ZWAgb24gYSA8dHI+LCBhbnkgYWJzb2x1dGVseSBwb3NpdGlvbmVkCmNo
aWxkIChsaWtlIDxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgaW5zZXQ6IDAiPikgc2hv
dWxkIHNpemUgYW5kCnBvc2l0aW9uIGl0c2VsZiByZWxhdGl2ZSB0byB0aGF0IHJvdy4gSW5zdGVh
ZCwgaXQgd2FzIGVzY2FwaW5nIHRvIHRoZQp2aWV3cG9ydCAtIHRoZSByZWQgYm94IGZpbGxlZCB0
aGUgd2hvbGUgcGFnZSBpbnN0ZWFkIG9mIGp1c3QgdGhlIHJvdy4KClRocmVlIHRoaW5ncyB3ZXJl
IHByZXZlbnRpbmcgdGhpczoKCjEuIFRoZSBzdHlsZSBzeXN0ZW0gd2FzIHJlbW92aW5nIGBwb3Np
dGlvbjogcmVsYXRpdmVgIGZyb20gdGFibGUKICAgcm93cy4gVGhlcmUgd2FzIG9sZCBjb2RlIGlu
IHRoZSBzdHlsZSBhZGp1c3RlciB0aGF0IGZvcmNlZCBhbGwgdGFibGUKICAgcm93cyBiYWNrIHRv
IGBwb3NpdGlvbjogc3RhdGljYC4gVGhpcyB3YXMgYSB3b3JrYXJvdW5kIGZvciBhIGNyYXNoCiAg
IHRoYXQgaGFwcGVuZWQgYmVjYXVzZSBvZiBwcm9ibGVtICMyIGJlbG93LgoKMi4gUmVuZGVyVGFi
bGVSb3cgZXh0ZW5kZWQgUmVuZGVyQm94LCBidXQgYGNvbnRhaW5pbmdCbG9jaygpYCByZXR1cm5z
CiAgIFJlbmRlckJsb2NrKi4gU2luY2UgdGhlIHJvdyB3YXNuJ3QgYSBSZW5kZXJCbG9jaywgdGhl
IGNvbnRhaW5pbmcKICAgYmxvY2sgc2VhcmNoIHdhbGtlZCByaWdodCBwYXN0IGl0IGFuZCBrZXB0
IGdvaW5nIHVwIHRoZSB0cmVlIHVudGlsIGl0CiAgIGhpdCB0aGUgdmlld3BvcnQuIFRoZSBmaXgg
aXMgdG8gbWFrZSBSZW5kZXJUYWJsZVJvdyBleHRlbmQgUmVuZGVyQmxvY2sKICAgaW5zdGVhZCwg
anVzdCBsaWtlIFJlbmRlclRhYmxlQ2VsbCAod2hpY2ggZXh0ZW5kcyBSZW5kZXJCbG9ja0Zsb3cp
IGFuZAogICBSZW5kZXJUYWJsZSAod2hpY2ggZXh0ZW5kcyBSZW5kZXJCbG9jaykuIFJlbmRlckJs
b2NrIGFkZHMgbm8gZXh0cmEKICAgZGF0YSBtZW1iZXJzLCBhbmQgUmVuZGVyVGFibGVSb3c6Omxh
eW91dCgpIHN0aWxsIGNvbXBsZXRlbHkgb3ZlcnJpZGVzCiAgIGxheW91dCAtLSBibG9jayBsYXlv
dXQgaXMgbmV2ZXIgaW52b2tlZC4KCjMuIFJlbmRlclRhYmxlUm93OjpyZXF1aXJlc0xheWVyKCkg
d2FzIG1pc3NpbmcgYGlzUG9zaXRpb25lZCgpYC4gV2l0aG91dAogICBhIHJlbmRlciBsYXllciwg
YSBgcG9zaXRpb246IHJlbGF0aXZlYCByb3cgY291bGRuJ3QgZXN0YWJsaXNoIHRoZQogICByaWdo
dCBjb29yZGluYXRlIHN5c3RlbSAtLSB0aGUgYWJzb2x1dGUgY2hpbGQgd2FzIHNpemVkIGNvcnJl
Y3RseSBidXQKICAgZHJhd24gYXQgdGhlIHZpZXdwb3J0J3MgdG9wLWxlZnQgY29ybmVyIGluc3Rl
YWQgb2YgdGhlIHJvdydzIHBvc2l0aW9uLgoKVGFibGUgcm93cyBhcmUgc3BlY2lhbCBiZWNhdXNl
IHRoZWlyIGZpbmFsIGRpbWVuc2lvbnMgYXJlIHNldCBieQpsYXlvdXRSb3dzKCkgYWZ0ZXIgbGF5
b3V0KCkgZmluaXNoZXMgKHRoZSByb3cgaGVpZ2h0IGRlcGVuZHMgb24gY2VsbApoZWlnaHRzKS4g
U28gbGF5b3V0T3V0T2ZGbG93Qm94ZXMoKSBhbmQgY2xlYXJOZWVkc0xheW91dCgpIGFyZSBjYWxs
ZWQgaW4KbGF5b3V0Um93cygpIG9uY2UgdGhlIHJvdyBoYXMgaXRzIGZpbmFsIHNpemUsIG5vdCBp
biBsYXlvdXQoKS4KCiogTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9ub24tcG9zaXRpb25lZC1yb3ct
bm8tY29udGFpbm1lbnQtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCiogTGF5b3V0VGVzdHMvZmFzdC90
YWJsZS9ub24tcG9zaXRpb25lZC1yb3ctbm8tY29udGFpbm1lbnQuaHRtbDogQWRkZWQuCiogTGF5
b3V0VGVzdHMvZmFzdC90YWJsZS9yZWxhdGl2ZS1wb3NpdGlvbi1yb3ctY29udGFpbm1lbnQtZXhw
ZWN0ZWQuaHRtbDogQWRkZWQuCiogTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9yZWxhdGl2ZS1wb3Np
dGlvbi1yb3ctY29udGFpbm1lbnQuaHRtbDogQWRkZWQuCiogTGF5b3V0VGVzdHMvZmFzdC90YWJs
ZS9yZWxhdGl2ZS1wb3NpdGlvbi1yb3ctbXVsdGljZWxsLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgoq
IExheW91dFRlc3RzL2Zhc3QvdGFibGUvcmVsYXRpdmUtcG9zaXRpb24tcm93LW11bHRpY2VsbC5o
dG1sOiBBZGRlZC4KKiBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5jcHA6CihX
ZWJDb3JlOjpzaG91bGRFbWl0TmV3bGluZXNCZWZvcmVBbmRBZnRlck5vZGUpOgoqIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCb3guY3BwOgooV2ViQ29yZTo6UmVuZGVyQm94OjpvZmZzZXRGcm9tTG9naWNhbFRv
cE9mRmlyc3RQYWdlIGNvbnN0KToKKiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJh
Z21lbnRlZEZsb3cuY3BwOgooV2ViQ29yZTo6UmVuZGVyRnJhZ21lbnRlZEZsb3c6Om9mZnNldEZy
b21Mb2dpY2FsVG9wT2ZGaXJzdEZyYWdtZW50IGNvbnN0KToKKiBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGFibGVSb3cuY3BwOgooV2ViQ29yZTo6UmVuZGVyVGFibGVSb3c6OlJlbmRl
clRhYmxlUm93KToKKFdlYkNvcmU6OlJlbmRlclRhYmxlUm93Ojp3aWxsQmVSZW1vdmVkRnJvbVRy
ZWUpOgooV2ViQ29yZTo6UmVuZGVyVGFibGVSb3c6OnN0eWxlRGlkQ2hhbmdlKToKKFdlYkNvcmU6
OlJlbmRlclRhYmxlUm93OjpsYXlvdXQpOgooV2ViQ29yZTo6UmVuZGVyVGFibGVSb3c6OmNsaXBw
ZWRPdmVyZmxvd1JlY3QgY29uc3QpOgooV2ViQ29yZTo6UmVuZGVyVGFibGVSb3c6OnJlcXVpcmVz
TGF5ZXIgY29uc3QpOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVJvdy5o
OgooV2ViQ29yZTo6UmVuZGVyVGFibGVSb3c6Om5leHRSb3cgY29uc3QpOgooV2ViQ29yZTo6UmVu
ZGVyVGFibGVSb3c6OnByZXZpb3VzUm93IGNvbnN0KToKKiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGFibGVTZWN0aW9uLmNwcDoKKFdlYkNvcmU6OlJlbmRlclRhYmxlU2VjdGlvbjo6
bGF5b3V0Um93cyk6CiogU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVBZGp1c3Rlci5jcHA6CihX
ZWJDb3JlOjpTdHlsZTo6QWRqdXN0ZXI6OmFkanVzdCBjb25zdCk6Ci0tLQogU291cmNlL1dlYkNv
cmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwICAgICAgIHwgIDUgKysrCiAuLi4vcmVuZGVyaW5n
L1Bvc2l0aW9uZWRMYXlvdXRDb25zdHJhaW50cy5jcHAgfCAgNSArKysKIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCbG9jay5oICAgICAgICB8ICAzICstCiBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQm94LmNwcCAgICAgICAgfCAgNSArKysKIC4uLi9yZW5kZXJpbmcvUmVu
ZGVyQm94TW9kZWxPYmplY3QuY3BwICAgICAgICB8ICA0ICsrLQogLi4uL3JlbmRlcmluZy9SZW5k
ZXJGcmFnbWVudGVkRmxvdy5jcHAgICAgICAgIHwgIDQgKysrCiBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGFibGVSb3cuY3BwICAgfCAxNiArKysrLS0tLS0KIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUYWJsZVJvdy5oICAgICB8ICA3ICsrLS0KIC4uLi9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uY3BwICB8IDEwICsrKysrLQogU291cmNlL1dlYkNv
cmUvc3R5bGUvU3R5bGVBZGp1c3Rlci5jcHAgICAgICAgIHwgMTMgKysrKystLS0KIC4uLm9zaXRp
b25lZC1yb3ctbm8tY29udGFpbm1lbnQtZXhwZWN0ZWQuaHRtbCB8IDE0ICsrKysrKysrCiAuLi4v
bm9uLXBvc2l0aW9uZWQtcm93LW5vLWNvbnRhaW5tZW50Lmh0bWwgICAgfCAzMyArKysrKysrKysr
KysrKysrKysrCiAuLi5pdmUtcG9zaXRpb24tcm93LWNvbnRhaW5tZW50LWV4cGVjdGVkLmh0bWwg
fCAxNSArKysrKysrKysKIC4uLi9yZWxhdGl2ZS1wb3NpdGlvbi1yb3ctY29udGFpbm1lbnQuaHRt
bCAgICB8IDMyICsrKysrKysrKysrKysrKysrKwogLi4uYXRpdmUtcG9zaXRpb24tcm93LW11bHRp
Y2VsbC1leHBlY3RlZC5odG1sIHwgMTQgKysrKysrKysKIC4uLi9yZWxhdGl2ZS1wb3NpdGlvbi1y
b3ctbXVsdGljZWxsLmh0bWwgICAgICB8IDMzICsrKysrKysrKysrKysrKysrKysKIDE2IGZpbGVz
IGNoYW5nZWQsIDE5NCBpbnNlcnRpb25zKCspLCAxOSBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2Rl
IDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L3RhYmxlL25vbi1wb3NpdGlvbmVkLXJvdy1uby1jb250
YWlubWVudC1leHBlY3RlZC5odG1sCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFz
dC90YWJsZS9ub24tcG9zaXRpb25lZC1yb3ctbm8tY29udGFpbm1lbnQuaHRtbAogY3JlYXRlIG1v
ZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3QvdGFibGUvcmVsYXRpdmUtcG9zaXRpb24tcm93LWNv
bnRhaW5tZW50LWV4cGVjdGVkLmh0bWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9m
YXN0L3RhYmxlL3JlbGF0aXZlLXBvc2l0aW9uLXJvdy1jb250YWlubWVudC5odG1sCiBjcmVhdGUg
bW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9yZWxhdGl2ZS1wb3NpdGlvbi1yb3ct
bXVsdGljZWxsLWV4cGVjdGVkLmh0bWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9m
YXN0L3RhYmxlL3JlbGF0aXZlLXBvc2l0aW9uLXJvdy1tdWx0aWNlbGwuaHRtbAoKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcAppbmRleCAwMWUzODM2NjY5MWMuLjZlZTQ5ZjI1
NDQ0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcApAQCAtOTQwLDYg
Kzk0MCwxMSBAQCBib29sIHNob3VsZEVtaXROZXdsaW5lc0JlZm9yZUFuZEFmdGVyTm9kZShOb2Rl
JiBub2RlKQogICAgIGlmIChzaG91bGRFbWl0UmVwbGFjZW1lbnRJbnN0ZWFkT2ZOb2RlKG5vZGUp
KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICAvLyBUYWJsZSByb3dzIGFyZSBSZW5kZXJC
bG9ja3MgYnV0IGhhdmUgdGhlaXIgb3duIG5ld2xpbmUgbG9naWMgYWJvdmUKKyAgICAvLyB0aGF0
IGFjY291bnRzIGZvciBpbmxpbmUgdGFibGVzLgorICAgIGlmIChpczxSZW5kZXJUYWJsZVJvdz4o
KnJlbmRlcmVyKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgcmV0dXJuICFyZW5kZXJl
ci0+aXNJbmxpbmUoKQogICAgICAgICAmJiBpczxSZW5kZXJCbG9jaz4oKnJlbmRlcmVyKQogICAg
ICAgICAmJiAhcmVuZGVyZXItPmlzRmxvYXRpbmdPck91dE9mRmxvd1Bvc2l0aW9uZWQoKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Bvc2l0aW9uZWRMYXlvdXRDb25zdHJh
aW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUG9zaXRpb25lZExheW91dENvbnN0
cmFpbnRzLmNwcAppbmRleCBmNjFhZDg4YzIxZDguLjVjYmNhZGJkNGQzNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Bvc2l0aW9uZWRMYXlvdXRDb25zdHJhaW50cy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Bvc2l0aW9uZWRMYXlvdXRDb25zdHJhaW50
cy5jcHAKQEAgLTY4MSw2ICs2ODEsMTEgQEAgc3RhdGljIExheW91dFBvaW50IHN0YXRpY0Rpc3Rh
bmNlKGNvbnN0IFJlbmRlckJveE1vZGVsT2JqZWN0JiBjb250YWluZXIsIGNvbnN0IFIKICAgICB9
CiAKICAgICBzdGF0aWNQb3NpdGlvbiA9IGNoaWxkID09ICZvdXRPZkZsb3dCb3ggPyBpbml0aWFs
U3RhdGljUG9zaXRpb24oKSA6IHBvc2l0aW9uSW5Db250YWluZXIoKmNvbnRhaW5pbmdCbG9jaywg
KmNoaWxkLCBzdGF0aWNQb3NpdGlvbik7CisgICAgLy8gVGFibGUgcm93cyBhbmQgY2VsbHMgc2hh
cmUgdGhlIHNlY3Rpb24ncyBjb29yZGluYXRlIHNwYWNlLiBUaGUgY2VsbCdzCisgICAgLy8gbG9n
aWNhbFRvcCgpIGlzIHNlY3Rpb24tcmVsYXRpdmUsIGJ1dCBwb3NpdGlvbkluQ29udGFpbmVyIHRy
ZWF0ZWQgaXQgYXMKKyAgICAvLyByb3ctcmVsYXRpdmUuIFN1YnRyYWN0IHRoZSByb3cncyBwb3Np
dGlvbiB0byBjb3JyZWN0IGZvciB0aGlzLgorICAgIGlmIChpczxSZW5kZXJUYWJsZVJvdz4oY29u
dGFpbmluZ0Jsb2NrKSkKKyAgICAgICAgc3RhdGljUG9zaXRpb24ubW92ZUJ5KC1jb250YWluaW5n
QmxvY2stPmxvY2F0aW9uKCkpOwogICAgIHN0YXRpY1Bvc2l0aW9uIC09IGNvbnRhaW5pbmdCbG9j
a0JvcmRlclNpemU7CiAgICAgcmV0dXJuIHN0YXRpY1Bvc2l0aW9uOwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmggYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQmxvY2suaAppbmRleCA4ZDFlZDNkNWQ1NzcuLjlmZTQ1MDRhMzhiMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKQEAgLTI1NSwxMyArMjU1LDE0
IEBAIHB1YmxpYzoKIAogICAgIFBhaW50SW5mbyBwYWludEluZm9Gb3JCbG9ja0NoaWxkcmVuKGNv
bnN0IFBhaW50SW5mbyYpIGNvbnN0OwogCisgICAgdm9pZCBsYXlvdXRPdXRPZkZsb3dCb3hlcyhS
ZWxheW91dENoaWxkcmVuLCBib29sIGZpeGVkUG9zaXRpb25PYmplY3RzT25seSA9IGZhbHNlKTsK
KwogcHJvdGVjdGVkOgogICAgIFJlbmRlckZyYWdtZW50ZWRGbG93KiBsb2NhdGVFbmNsb3NpbmdG
cmFnbWVudGVkRmxvdygpIGNvbnN0IG92ZXJyaWRlOwogICAgIGJvb2wgZXN0YWJsaXNoZXNJbmRl
cGVuZGVudEZvcm1hdHRpbmdDb250ZXh0SWdub3JpbmdEaXNwbGF5VHlwZShjb25zdCBSZW5kZXJT
dHlsZSYpIGNvbnN0OwogCiAgICAgdm9pZCBsYXlvdXQoKSBvdmVycmlkZTsKIAotICAgIHZvaWQg
bGF5b3V0T3V0T2ZGbG93Qm94ZXMoUmVsYXlvdXRDaGlsZHJlbiwgYm9vbCBmaXhlZFBvc2l0aW9u
T2JqZWN0c09ubHkgPSBmYWxzZSk7CiAgICAgdmlydHVhbCB2b2lkIGxheW91dE91dE9mRmxvd0Jv
eChSZW5kZXJCb3gmLCBSZWxheW91dENoaWxkcmVuLCBib29sIGZpeGVkUG9zaXRpb25PYmplY3Rz
T25seSk7CiAgICAgCiAgICAgdm9pZCBtYXJrRml4ZWRQb3NpdGlvbkJveEZvckxheW91dElmTmVl
ZGVkKFJlbmRlckJveCYgY2hpbGQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNw
cAppbmRleCAxNGViNDM0NzY2ZmYuLmIzM2M0Zjc5YjYwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJveC5jcHAKQEAgLTUyMzMsNiArNTIzMywxMSBAQCBMYXlvdXRVbml0IFJlbmRl
ckJveDo6b2Zmc2V0RnJvbUxvZ2ljYWxUb3BPZkZpcnN0UGFnZSgpIGNvbnN0CiAgICAgICAgIHJl
dHVybiAwOwogCiAgICAgUmVuZGVyQmxvY2sqIGNvbnRhaW5lckJsb2NrID0gY29udGFpbmluZ0Js
b2NrKCk7CisgICAgLy8gVGFibGUgcm93cyBhbmQgY2VsbHMgc2hhcmUgdGhlIHNlY3Rpb24ncyBj
b29yZGluYXRlIHNwYWNlLiBTa2lwIHRoZSByb3cKKyAgICAvLyB0byBhdm9pZCBkb3VibGUtY291
bnRpbmcgaXRzIG9mZnNldCAtLSB0aGUgY2VsbCdzIGxvZ2ljYWxUb3AoKSBhbHJlYWR5CisgICAg
Ly8gaW5jbHVkZXMgdGhlIHJvdydzIHBvc2l0aW9uIHdpdGhpbiB0aGUgc2VjdGlvbi4KKyAgICBp
ZiAoaXM8UmVuZGVyVGFibGVSb3c+KGNvbnRhaW5lckJsb2NrKSkKKyAgICAgICAgY29udGFpbmVy
QmxvY2sgPSBjb250YWluZXJCbG9jay0+Y29udGFpbmluZ0Jsb2NrKCk7CiAgICAgcmV0dXJuIGNv
bnRhaW5lckJsb2NrLT5vZmZzZXRGcm9tTG9naWNhbFRvcE9mRmlyc3RQYWdlKCkgKyBsb2dpY2Fs
VG9wKCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
b3hNb2RlbE9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9k
ZWxPYmplY3QuY3BwCmluZGV4IGE5ZTAzN2ExNjg2My4uNTJmZmM1N2EzMjMzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKQEAgLTQ2
OCw4ICs0NjgsMTAgQEAgdm9pZCBSZW5kZXJCb3hNb2RlbE9iamVjdDo6Y29tcHV0ZVN0aWNreVBv
c2l0aW9uQ29uc3RyYWludHMoU3RpY2t5UG9zaXRpb25WaWV3cG8KICAgICAvLyBEbyBub3QgdXNl
IGFub255bW91cyBjb250YWluaW5nIGJsb2NrcyB0byBkZXRlcm1pbmUgc3RpY2t5IGNvbnN0cmFp
bnRzLiBXZSB3YW50IHRoZSBzaXplCiAgICAgLy8gb2YgdGhlIGZpcnN0IHRydWUgY29udGFpbmlu
ZyBibG9jaywgYmVjYXVzZSB0aGF0IGlzIHdoYXQgaW1wb3NlcyB0aGUgbGltaXRhdGlvbiBvbiB0
aGUKICAgICAvLyBtb3ZlbWVudCBvZiBzdGlja2lseSBwb3NpdGlvbmVkIGl0ZW1zLgorICAgIC8v
IFRhYmxlIHJvd3MgYXJlIGFsc28gc2tpcHBlZCBiZWNhdXNlIGNlbGxzIGFuZCByb3dzIHNoYXJl
IHRoZSBzZWN0aW9uJ3MgY29vcmRpbmF0ZSBzcGFjZSwKKyAgICAvLyBzbyB0aGUgcm93J3MgY29u
dGVudCBib3ggaXMgbm90IHRoZSByaWdodCBjb25zdHJhaW50IHJlY3RhbmdsZS4KICAgICBSZW5k
ZXJCbG9jayogY29udGFpbmluZ0Jsb2NrID0gdGhpcy0+Y29udGFpbmluZ0Jsb2NrKCk7Ci0gICAg
d2hpbGUgKGNvbnRhaW5pbmdCbG9jayAmJiAoIWlzPFJlbmRlckJsb2NrPigqY29udGFpbmluZ0Js
b2NrKSB8fCBjb250YWluaW5nQmxvY2stPmlzQW5vbnltb3VzQmxvY2soKSkpCisgICAgd2hpbGUg
KGNvbnRhaW5pbmdCbG9jayAmJiAoIWlzPFJlbmRlckJsb2NrPigqY29udGFpbmluZ0Jsb2NrKSB8
fCBjb250YWluaW5nQmxvY2stPmlzQW5vbnltb3VzQmxvY2soKSB8fCBjb250YWluaW5nQmxvY2st
PmlzUmVuZGVyVGFibGVSb3coKSkpCiAgICAgICAgIGNvbnRhaW5pbmdCbG9jayA9IGNvbnRhaW5p
bmdCbG9jay0+Y29udGFpbmluZ0Jsb2NrKCk7CiAgICAgQVNTRVJUKGNvbnRhaW5pbmdCbG9jayk7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFnbWVudGVk
Rmxvdy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRlZEZsb3cu
Y3BwCmluZGV4IGRiMTYwOGFjZjE2Zi4uYTJiZjFiMTVkMjk4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRlZEZsb3cuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFnbWVudGVkRmxvdy5jcHAKQEAgLTc4Niw2ICs3ODYs
MTAgQEAgTGF5b3V0VW5pdCBSZW5kZXJGcmFnbWVudGVkRmxvdzo6b2Zmc2V0RnJvbUxvZ2ljYWxU
b3BPZkZpcnN0RnJhZ21lbnQoY29uc3QgUmVuZGUKICAgICAgICAgQVNTRVJUKGNvbnRhaW5lckJs
b2NrKTsKICAgICAgICAgaWYgKCFjb250YWluZXJCbG9jaykKICAgICAgICAgICAgIHJldHVybiAw
OworICAgICAgICAvLyBUYWJsZSByb3dzIGFuZCBjZWxscyBzaGFyZSB0aGUgc2VjdGlvbidzIGNv
b3JkaW5hdGUgc3BhY2UsIHNvIHNraXAKKyAgICAgICAgLy8gdGhlIHJvdyB0byBhdm9pZCBkb3Vi
bGUtY291bnRpbmcgaXRzIG9mZnNldC4KKyAgICAgICAgaWYgKGlzPFJlbmRlclRhYmxlUm93Pihj
b250YWluZXJCbG9jaykpCisgICAgICAgICAgICBjb250YWluZXJCbG9jayA9IGNvbnRhaW5lckJs
b2NrLT5jb250YWluaW5nQmxvY2soKTsKICAgICAgICAgTGF5b3V0UG9pbnQgY3VycmVudEJsb2Nr
TG9jYXRpb24gPSBjdXJyZW50QmxvY2stPmxvY2F0aW9uKCk7CiAgICAgICAgIGlmIChhdXRvKiBj
ZWxsID0gZHluYW1pY0Rvd25jYXN0PFJlbmRlclRhYmxlQ2VsbD4oKmN1cnJlbnRCbG9jaykpIHsK
ICAgICAgICAgICAgIGlmIChhdXRvKiBzZWN0aW9uID0gY2VsbC0+c2VjdGlvbigpKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlUm93LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVJvdy5jcHAKaW5kZXggOTk5YTQ0MTJhNzAz
Li5iZjgxZmQ3MTI1MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUYWJsZVJvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxl
Um93LmNwcApAQCAtNTEsNyArNTEsNyBAQCB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogV1RG
X01BS0VfVFpPTkVfQUxMT0NBVEVEX0lNUEwoUmVuZGVyVGFibGVSb3cpOwogCiBSZW5kZXJUYWJs
ZVJvdzo6UmVuZGVyVGFibGVSb3coRWxlbWVudCYgZWxlbWVudCwgUmVuZGVyU3R5bGUmJiBzdHls
ZSkKLSAgICA6IFJlbmRlckJveChUeXBlOjpUYWJsZVJvdywgZWxlbWVudCwgV1RGOjptb3ZlKHN0
eWxlKSkKKyAgICA6IFJlbmRlckJsb2NrKFR5cGU6OlRhYmxlUm93LCBlbGVtZW50LCBXVEY6Om1v
dmUoc3R5bGUpLCB7IH0pCiAgICAgLCBtX3Jvd0luZGV4KHVuc2V0Um93SW5kZXgpCiB7CiAgICAg
c2V0SW5saW5lKGZhbHNlKTsKQEAgLTU5LDcgKzU5LDcgQEAgUmVuZGVyVGFibGVSb3c6OlJlbmRl
clRhYmxlUm93KEVsZW1lbnQmIGVsZW1lbnQsIFJlbmRlclN0eWxlJiYgc3R5bGUpCiB9CiAKIFJl
bmRlclRhYmxlUm93OjpSZW5kZXJUYWJsZVJvdyhEb2N1bWVudCYgZG9jdW1lbnQsIFJlbmRlclN0
eWxlJiYgc3R5bGUpCi0gICAgOiBSZW5kZXJCb3goVHlwZTo6VGFibGVSb3csIGRvY3VtZW50LCBX
VEY6Om1vdmUoc3R5bGUpKQorICAgIDogUmVuZGVyQmxvY2soVHlwZTo6VGFibGVSb3csIGRvY3Vt
ZW50LCBXVEY6Om1vdmUoc3R5bGUpLCB7IH0pCiAgICAgLCBtX3Jvd0luZGV4KHVuc2V0Um93SW5k
ZXgpCiB7CiAgICAgc2V0SW5saW5lKGZhbHNlKTsKQEAgLTc1LDcgKzc1LDcgQEAgQVNDSUlMaXRl
cmFsIFJlbmRlclRhYmxlUm93OjpyZW5kZXJOYW1lKCkgY29uc3QKIAogdm9pZCBSZW5kZXJUYWJs
ZVJvdzo6d2lsbEJlUmVtb3ZlZEZyb21UcmVlKCkKIHsKLSAgICBSZW5kZXJCb3g6OndpbGxCZVJl
bW92ZWRGcm9tVHJlZSgpOworICAgIFJlbmRlckJsb2NrOjp3aWxsQmVSZW1vdmVkRnJvbVRyZWUo
KTsKIAogICAgIHNlY3Rpb24oKS0+c2V0TmVlZHNDZWxsUmVjYWxjKCk7CiB9CkBAIC05Miw3ICs5
Miw3IEBAIHZvaWQgUmVuZGVyVGFibGVSb3c6OnN0eWxlRGlkQ2hhbmdlKFN0eWxlOjpEaWZmZXJl
bmNlIGRpZmYsIGNvbnN0IFJlbmRlclN0eWxlKiBvCiB7CiAgICAgQVNTRVJUKHN0eWxlKCkuZGlz
cGxheSgpID09IFN0eWxlOjpEaXNwbGF5VHlwZTo6VGFibGVSb3cpOwogCi0gICAgUmVuZGVyQm94
OjpzdHlsZURpZENoYW5nZShkaWZmLCBvbGRTdHlsZSk7CisgICAgUmVuZGVyQmxvY2s6OnN0eWxl
RGlkQ2hhbmdlKGRpZmYsIG9sZFN0eWxlKTsKICAgICBwcm9wYWdhdGVTdHlsZVRvQW5vbnltb3Vz
Q2hpbGRyZW4oU3R5bGVQcm9wYWdhdGlvblR5cGU6OkFsbENoaWxkcmVuKTsKIAogICAgIGlmIChz
ZWN0aW9uKCkgJiYgb2xkU3R5bGUgJiYgc3R5bGUoKS5sb2dpY2FsSGVpZ2h0KCkgIT0gb2xkU3R5
bGUtPmxvZ2ljYWxIZWlnaHQoKSkKQEAgLTE4Miw4ICsxODIsOCBAQCB2b2lkIFJlbmRlclRhYmxl
Um93OjpsYXlvdXQoKQogICAgICAgICAgICAgY2VsbC0+cmVwYWludCgpOwogICAgIH0KIAotICAg
IC8vIFJlbmRlclRhYmxlU2VjdGlvbjo6bGF5b3V0Um93cyB3aWxsIHNldCBvdXIgbG9naWNhbCBo
ZWlnaHQgYW5kIHdpZHRoIGxhdGVyLCBzbyBpdCBjYWxscyB1cGRhdGVMYXllclRyYW5zZm9ybSgp
LgotICAgIGNsZWFyTmVlZHNMYXlvdXQoKTsKKyAgICAvLyBSb3cgZGltZW5zaW9ucyBhcmUgZmlu
YWxpemVkIGluIFJlbmRlclRhYmxlU2VjdGlvbjo6bGF5b3V0Um93cygpLCB3aGljaCBhbHNvCisg
ICAgLy8gbGF5cyBvdXQgb3V0LW9mLWZsb3cgZGVzY2VuZGFudHMgYW5kIGNhbGxzIGNsZWFyTmVl
ZHNMYXlvdXQoKS4KIH0KIAogTGF5b3V0UmVjdCBSZW5kZXJUYWJsZVJvdzo6Y2xpcHBlZE92ZXJm
bG93UmVjdChjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBW
aXNpYmxlUmVjdENvbnRleHQgY29udGV4dCkgY29uc3QKQEAgLTE5Miw3ICsxOTIsNyBAQCBMYXlv
dXRSZWN0IFJlbmRlclRhYmxlUm93OjpjbGlwcGVkT3ZlcmZsb3dSZWN0KGNvbnN0IFJlbmRlckxh
eWVyTW9kZWxPYmplY3QqIHJlcAogICAgIC8vIFJvd3MgYW5kIGNlbGxzIGFyZSBpbiB0aGUgc2Ft
ZSBjb29yZGluYXRlIHNwYWNlLiBXZSBuZWVkIHRvIGJvdGggY29tcHV0ZSBvdXIgb3ZlcmZsb3cg
cmVjdCAod2hpY2gKICAgICAvLyB3aWxsIGFjY29tbW9kYXRlIGEgcm93IG91dGxpbmUgYW5kIGFu
eSB2aXN1YWwgZWZmZWN0cyBvbiB0aGUgcm93IGl0c2VsZiksIGJ1dCB3ZSBhbHNvIG5lZWQgdG8g
YWRkIGluCiAgICAgLy8gdGhlIHJlcGFpbnQgcmVjdHMgb2YgY2VsbHMuCi0gICAgYXV0byByZXN1
bHQgPSBSZW5kZXJCb3g6OmNsaXBwZWRPdmVyZmxvd1JlY3QocmVwYWludENvbnRhaW5lciwgY29u
dGV4dCk7CisgICAgYXV0byByZXN1bHQgPSBSZW5kZXJCbG9jazo6Y2xpcHBlZE92ZXJmbG93UmVj
dChyZXBhaW50Q29udGFpbmVyLCBjb250ZXh0KTsKICAgICBmb3IgKGF1dG8qIGNlbGwgPSBmaXJz
dENlbGwoKTsgY2VsbDsgY2VsbCA9IGNlbGwtPm5leHRDZWxsKCkpIHsKICAgICAgICAgLy8gRXZl
biBpZiBhIGNlbGwgaXMgYSByZXBhaW50IGNvbnRhaW5lciwgaXQncyB0aGUgcm93IHRoYXQgcGFp
bnRzIHRoZSBiYWNrZ3JvdW5kIGJlaGluZCBpdC4KICAgICAgICAgLy8gU28gd2UgZG9uJ3QgY2Fy
ZSBpZiBhIGNlbGwgaXMgYSByZXBhaW50Q29udGFpbmVyIGhlcmUuCkBAIC0yODYsNyArMjg2LDcg
QEAgdm9pZCBSZW5kZXJUYWJsZVJvdzo6aW1hZ2VDaGFuZ2VkKFdyYXBwZWRJbWFnZVB0ciwgY29u
c3QgSW50UmVjdCopCiAKIGJvb2wgUmVuZGVyVGFibGVSb3c6OnJlcXVpcmVzTGF5ZXIoKSBjb25z
dAogewotICAgIHJldHVybiBoYXNOb25WaXNpYmxlT3ZlcmZsb3coKSB8fCBoYXNUcmFuc2Zvcm1S
ZWxhdGVkUHJvcGVydHkoKSB8fCBoYXNIaWRkZW5CYWNrZmFjZSgpIHx8IGhhc0NsaXBQYXRoKCkg
fHwgY3JlYXRlc0dyb3VwKCkgfHwgaXNTdGlja2lseVBvc2l0aW9uZWQoKSB8fCByZXF1aXJlc1Jl
bmRlcmluZ0NvbnNvbGlkYXRpb25Gb3JWaWV3VHJhbnNpdGlvbigpOworICAgIHJldHVybiBpc1Bv
c2l0aW9uZWQoKSB8fCBoYXNOb25WaXNpYmxlT3ZlcmZsb3coKSB8fCBoYXNUcmFuc2Zvcm1SZWxh
dGVkUHJvcGVydHkoKSB8fCBoYXNIaWRkZW5CYWNrZmFjZSgpIHx8IGhhc0NsaXBQYXRoKCkgfHwg
Y3JlYXRlc0dyb3VwKCkgfHwgaXNTdGlja2lseVBvc2l0aW9uZWQoKSB8fCByZXF1aXJlc1JlbmRl
cmluZ0NvbnNvbGlkYXRpb25Gb3JWaWV3VHJhbnNpdGlvbigpOwogfQogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFi
bGVSb3cuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVJvdy5oCmluZGV4
IGU3M2M2NWRmYWI5ZC4uNmMyYjNhZDBmZjQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGFibGVSb3cuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGFibGVSb3cuaApAQCAtMjUsNiArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2lu
Y2x1ZGUgIlJlbmRlckJsb2NrLmgiCiAjaW5jbHVkZSAiUmVuZGVyVGFibGVTZWN0aW9uLmgiCiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTMyLDcgKzMzLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogc3RhdGljIGNvbnN0IHVuc2lnbmVkIHVuc2V0Um93SW5kZXggPSAweDdGRkZGRkZGOwogc3Rh
dGljIGNvbnN0IHVuc2lnbmVkIG1heFJvd0luZGV4ID0gMHg3RkZGRkZGRTsgLy8gMiwxNDcsNDgz
LDY0NgogCi1jbGFzcyBSZW5kZXJUYWJsZVJvdyBmaW5hbCA6IHB1YmxpYyBSZW5kZXJCb3ggewor
Y2xhc3MgUmVuZGVyVGFibGVSb3cgZmluYWwgOiBwdWJsaWMgUmVuZGVyQmxvY2sgewogICAgIFdU
Rl9NQUtFX1RaT05FX0FMTE9DQVRFRChSZW5kZXJUYWJsZVJvdyk7CiAgICAgV1RGX09WRVJSSURF
X0RFTEVURV9GT1JfQ0hFQ0tFRF9QVFIoUmVuZGVyVGFibGVSb3cpOwogcHVibGljOgpAQCAtMTE5
LDEyICsxMjAsMTIgQEAgaW5saW5lIFJlbmRlclRhYmxlKiBSZW5kZXJUYWJsZVJvdzo6dGFibGUo
KSBjb25zdAogCiBpbmxpbmUgUmVuZGVyVGFibGVSb3cqIFJlbmRlclRhYmxlUm93OjpuZXh0Um93
KCkgY29uc3QKIHsKLSAgICByZXR1cm4gZG93bmNhc3Q8UmVuZGVyVGFibGVSb3c+KFJlbmRlckJv
eDo6bmV4dFNpYmxpbmcoKSk7CisgICAgcmV0dXJuIGRvd25jYXN0PFJlbmRlclRhYmxlUm93PihS
ZW5kZXJCbG9jazo6bmV4dFNpYmxpbmcoKSk7CiB9CiAKIGlubGluZSBSZW5kZXJUYWJsZVJvdyog
UmVuZGVyVGFibGVSb3c6OnByZXZpb3VzUm93KCkgY29uc3QKIHsKLSAgICByZXR1cm4gZG93bmNh
c3Q8UmVuZGVyVGFibGVSb3c+KFJlbmRlckJveDo6cHJldmlvdXNTaWJsaW5nKCkpOworICAgIHJl
dHVybiBkb3duY2FzdDxSZW5kZXJUYWJsZVJvdz4oUmVuZGVyQmxvY2s6OnByZXZpb3VzU2libGlu
ZygpKTsKIH0KIAogaW5saW5lIFJlbmRlclRhYmxlUm93KiBSZW5kZXJUYWJsZVNlY3Rpb246OmZp
cnN0Um93KCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUYWJsZVNlY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxl
U2VjdGlvbi5jcHAKaW5kZXggOGE2Mjk3OGNjM2YxLi43MjEwM2EwMmMzODkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uY3BwCkBAIC01OTUsNyAr
NTk1LDEwIEBAIHZvaWQgUmVuZGVyVGFibGVTZWN0aW9uOjpsYXlvdXRSb3dzKCkKIAogICAgIGZv
ciAoc2l6ZV90IHJvd0luZGV4ID0gMDsgcm93SW5kZXggPCBudW1iZXJPZlJvd3M7IHJvd0luZGV4
KyspIHsKICAgICAgICAgLy8gU2V0IHRoZSByb3cncyB4L3kgcG9zaXRpb24gYW5kIHdpZHRoL2hl
aWdodC4KLSAgICAgICAgaWYgKFJlbmRlclRhYmxlUm93KiByb3dSZW5kZXJlciA9IG1fZ3JpZFty
b3dJbmRleF0ucm93UmVuZGVyZXIpIHsKKyAgICAgICAgQ2hlY2tlZFB0ciByb3dSZW5kZXJlciA9
IG1fZ3JpZFtyb3dJbmRleF0ucm93UmVuZGVyZXI7CisgICAgICAgIEFTU0VSVChyb3dSZW5kZXJl
cik7CisKKyAgICAgICAgaWYgKHJvd1JlbmRlcmVyKSB7CiAgICAgICAgICAgICAvLyBGSVhNRTog
dGhlIHgoKSBwb3NpdGlvbiBvZiB0aGUgcm93IHNob3VsZCBiZSB0YWJsZSgpLT5oQm9yZGVyU3Bh
Y2luZygpIHNvIHRoYXQgaXQgY2FuIAogICAgICAgICAgICAgLy8gcmVwb3J0IHRoZSBjb3JyZWN0
IG9mZnNldExlZnQuIEhvd2V2ZXIsIHRoYXQgd2lsbCByZXF1aXJlIGEgbG90IG9mIHJlYmFzZWxp
bmluZyBvZiB0ZXN0IHJlc3VsdHMuCiAgICAgICAgICAgICByb3dSZW5kZXJlci0+c2V0TG9naWNh
bExvY2F0aW9uKHsgMF9sdSwgbV9yb3dQb3Nbcm93SW5kZXhdIH0pOwpAQCAtNjgxLDYgKzY4NCwx
MSBAQCB2b2lkIFJlbmRlclRhYmxlU2VjdGlvbjo6bGF5b3V0Um93cygpCiAgICAgICAgICAgICAg
ICAgICAgIGNlbGxzW2NlbGxJbmRleF0tPnNldExvZ2ljYWxIZWlnaHQoY2VsbHNbY2VsbEluZGV4
XS0+bG9naWNhbEhlaWdodCgpICsgcm93SGVpZ2h0SW5jcmVhc2VGb3JQYWdpbmF0aW9uKTsKICAg
ICAgICAgICAgIH0KICAgICAgICAgfQorICAgICAgICAvLyBGaW5hbGl6ZSByb3cgbGF5b3V0Lgor
ICAgICAgICBpZiAocm93UmVuZGVyZXIpIHsKKyAgICAgICAgICAgIHJvd1JlbmRlcmVyLT5sYXlv
dXRPdXRPZkZsb3dCb3hlcyhSZWxheW91dENoaWxkcmVuOjpZZXMpOworICAgICAgICAgICAgcm93
UmVuZGVyZXItPmNsZWFyTmVlZHNMYXlvdXQoKTsKKyAgICAgICAgfQogICAgIH0KIAogICAgIEFT
U0VSVCghbmVlZHNMYXlvdXQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9T
dHlsZUFkanVzdGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQWRqdXN0ZXIuY3Bw
CmluZGV4IGUwYmVkYTQ1ZDFmZi4uNTEyNjZlOGY1MTNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdHlsZS9TdHlsZUFkanVzdGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9T
dHlsZUFkanVzdGVyLmNwcApAQCAtNDgzLDExICs0ODMsMTAgQEAgdm9pZCBBZGp1c3Rlcjo6YWRq
dXN0KFJlbmRlclN0eWxlJiBzdHlsZSkgY29uc3QKICAgICAgICAgaWYgKHN0eWxlLmRpc3BsYXko
KSA9PSBEaXNwbGF5VHlwZTo6SW5saW5lRmxvdyAmJiAhc3R5bGUucHNldWRvRWxlbWVudFR5cGUo
KSAmJiBzdHlsZS53cml0aW5nTW9kZSgpLmNvbXB1dGVkV3JpdGluZ01vZGUoKSAhPSBtX3BhcmVu
dFN0eWxlLndyaXRpbmdNb2RlKCkuY29tcHV0ZWRXcml0aW5nTW9kZSgpKQogICAgICAgICAgICAg
c3R5bGUuc2V0RGlzcGxheU1haW50YWluaW5nT3JpZ2luYWxEaXNwbGF5KERpc3BsYXlUeXBlOjpJ
bmxpbmVGbG93Um9vdCk7CiAKLSAgICAgICAgLy8gQWZ0ZXIgcGVyZm9ybWluZyB0aGUgZGlzcGxh
eSBtdXRhdGlvbiwgY2hlY2sgdGFibGUgcm93cy4gV2UgZG8gbm90IGhvbm9yIHBvc2l0aW9uOnJl
bGF0aXZlIG9yIHBvc2l0aW9uOnN0aWNreSBvbgotICAgICAgICAvLyB0YWJsZSByb3dzIG9yIGNl
bGxzLiBUaGlzIGhhcyBiZWVuIGVzdGFibGlzaGVkIGZvciBwb3NpdGlvbjpyZWxhdGl2ZSBpbiBD
U1MyLjEgKGFuZCBjYXVzZWQgYSBjcmFzaCBpbiBjb250YWluaW5nQmxvY2soKQotICAgICAgICAv
LyBvbiBzb21lIHNpdGVzKS4KKyAgICAgICAgLy8gV2UgZG8gbm90IGhvbm9yIHBvc2l0aW9uOnJl
bGF0aXZlIG9yIHBvc2l0aW9uOnN0aWNreSBvbiB0YWJsZSByb3cgZ3JvdXBzLiBUYWJsZSByb3dz
IGFyZQorICAgICAgICAvLyBhbGxvd2VkIHRvIGJlIHBvc2l0aW9uOnJlbGF0aXZlICh0aGV5IGV4
dGVuZCBSZW5kZXJCbG9jayBhbmQgY2FuIGJlIHByb3BlciBjb250YWluaW5nIGJsb2NrcykuCiAg
ICAgICAgIGlmICgoc3R5bGUuZGlzcGxheSgpID09IERpc3BsYXlUeXBlOjpUYWJsZUhlYWRlckdy
b3VwIHx8IHN0eWxlLmRpc3BsYXkoKSA9PSBEaXNwbGF5VHlwZTo6VGFibGVSb3dHcm91cAotICAg
ICAgICAgICAgfHwgc3R5bGUuZGlzcGxheSgpID09IERpc3BsYXlUeXBlOjpUYWJsZUZvb3Rlckdy
b3VwIHx8IHN0eWxlLmRpc3BsYXkoKSA9PSBEaXNwbGF5VHlwZTo6VGFibGVSb3cpCisgICAgICAg
ICAgICB8fCBzdHlsZS5kaXNwbGF5KCkgPT0gRGlzcGxheVR5cGU6OlRhYmxlRm9vdGVyR3JvdXAp
CiAgICAgICAgICAgICAmJiBzdHlsZS5wb3NpdGlvbigpID09IFBvc2l0aW9uVHlwZTo6UmVsYXRp
dmUpCiAgICAgICAgICAgICBzdHlsZS5zZXRQb3NpdGlvbihQb3NpdGlvblR5cGU6OlN0YXRpYyk7
CiAKQEAgLTY0Miw3ICs2NDEsMTEgQEAgdm9pZCBBZGp1c3Rlcjo6YWRqdXN0KFJlbmRlclN0eWxl
JiBzdHlsZSkgY29uc3QKIAogICAgIGJvb2wgb3ZlcmZsb3dJc0NsaXBPclZpc2libGUgPSBpc092
ZXJmbG93Q2xpcE9yVmlzaWJsZShzdHlsZS5vdmVyZmxvd1koKSkgJiYgaXNPdmVyZmxvd0NsaXBP
clZpc2libGUoc3R5bGUub3ZlcmZsb3dYKCkpOwogCi0gICAgaWYgKCFvdmVyZmxvd0lzQ2xpcE9y
VmlzaWJsZSAmJiBzdHlsZS5kaXNwbGF5KCkuaXNUYWJsZUJveCgpKSB7CisgICAgLy8gVGhlIG92
ZXJmbG93IHByb3BlcnR5IGRvZXMgbm90IGFwcGx5IHRvIHRhYmxlIHJvdyBlbGVtZW50cyAoQ1NT
MiBzZWN0aW9uIDExLjEuMSkuCisgICAgaWYgKHN0eWxlLmRpc3BsYXkoKSA9PSBEaXNwbGF5VHlw
ZTo6VGFibGVSb3cpIHsKKyAgICAgICAgc3R5bGUuc2V0T3ZlcmZsb3dYKE92ZXJmbG93OjpWaXNp
YmxlKTsKKyAgICAgICAgc3R5bGUuc2V0T3ZlcmZsb3dZKE92ZXJmbG93OjpWaXNpYmxlKTsKKyAg
ICB9IGVsc2UgaWYgKCFvdmVyZmxvd0lzQ2xpcE9yVmlzaWJsZSAmJiBzdHlsZS5kaXNwbGF5KCku
aXNUYWJsZUJveCgpKSB7CiAgICAgICAgIC8vIFRhYmxlcyBvbmx5IHN1cHBvcnQgb3ZlcmZsb3c6
aGlkZGVuIGFuZCBvdmVyZmxvdzp2aXNpYmxlIGFuZCBpZ25vcmUgYW55dGhpbmcgZWxzZSwKICAg
ICAgICAgLy8gc2VlIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MyLyNvdmVyZmxvdy4gQXMg
YSB0YWJsZSBpcyBub3QgYSBibG9jawogICAgICAgICAvLyBjb250YWluZXIgYm94IHRoZSBydWxl
cyBmb3IgcmVzb2x2aW5nIGNvbmZsaWN0aW5nIHggYW5kIHkgdmFsdWVzIGluIENTUyBPdmVyZmxv
dyBNb2R1bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGFibGUvbm9uLXBvc2l0aW9u
ZWQtcm93LW5vLWNvbnRhaW5tZW50LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Rh
YmxlL25vbi1wb3NpdGlvbmVkLXJvdy1uby1jb250YWlubWVudC1leHBlY3RlZC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uYjFjOWIzOWI4MWZmCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9ub24tcG9zaXRpb25lZC1yb3ctbm8t
Y29udGFpbm1lbnQtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDE0IEBACis8IWRvY3R5cGUgaHRt
bD4KKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+Tm9uLXBvc2l0aW9uZWQgdGFibGUgcm93IGRvZXMg
bm90IGNvbnRhaW4gYWJzb2x1dGUgZGVzY2VuZGFudHMgKHJlZmVyZW5jZSk8L3RpdGxlPgorPHN0
eWxlPgorYm9keSB7CisgICAgbWFyZ2luOiAwOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdiBzdHlsZT0id2lkdGg6IDIwMHB4OyBoZWlnaHQ6IDIwMHB4OyBiYWNrZ3JvdW5kOiBn
cmVlbiI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L3RhYmxlL25vbi1wb3NpdGlvbmVkLXJvdy1uby1jb250YWlubWVudC5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC90YWJsZS9ub24tcG9zaXRpb25lZC1yb3ctbm8tY29udGFpbm1lbnQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmUyM2U2OGRmMzQzMgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGFibGUvbm9uLXBvc2l0aW9uZWQtcm93
LW5vLWNvbnRhaW5tZW50Lmh0bWwKQEAgLTAsMCArMSwzMyBAQAorPCFkb2N0eXBlIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorPHRpdGxlPk5vbi1wb3NpdGlvbmVkIHRhYmxlIHJvdyBkb2VzIG5vdCBj
b250YWluIGFic29sdXRlIGRlc2NlbmRhbnRzPC90aXRsZT4KKzxsaW5rIHJlbD0ibWF0Y2giIGhy
ZWY9Im5vbi1wb3NpdGlvbmVkLXJvdy1uby1jb250YWlubWVudC1leHBlY3RlZC5odG1sIj4KKzxz
dHlsZT4KK2JvZHkgeworICAgIG1hcmdpbjogMDsKK30KK3RhYmxlIHsKKyAgICBib3JkZXItc3Bh
Y2luZzogMDsKKyAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOworICAgIGJvcmRlcjogbm9u
ZTsKK30KK3RkIHsKKyAgICBwYWRkaW5nOiAwOworICAgIGJvcmRlcjogbm9uZTsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzwhLS0gV2l0aG91dCBwb3NpdGlvbjogcmVsYXRpdmUgb24g
dGhlIHJvdywgdGhlIGFic29sdXRlIGRpdiBzaG91bGQgZXNjYXBlIHRvIHRoZQorICAgICBuZWFy
ZXN0IHBvc2l0aW9uZWQgYW5jZXN0b3IgKHRoZSBvdXRlciBkaXYpLCBjb3ZlcmluZyBpdCBlbnRp
cmVseS4gLS0+Cis8ZGl2IHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7IHdpZHRoOiAyMDBweDsg
aGVpZ2h0OiAyMDBweCI+CisgICAgPHRhYmxlPgorICAgICAgICA8dHI+CisgICAgICAgICAgICA8
dGQgc3R5bGU9IndpZHRoOiA1MHB4OyBoZWlnaHQ6IDUwcHgiPkNlbGw8L3RkPgorICAgICAgICA8
L3RyPgorICAgIDwvdGFibGU+CisgICAgPGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBp
bnNldDogMDsgYmFja2dyb3VuZDogZ3JlZW4iPjwvZGl2PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RhYmxlL3JlbGF0aXZlLXBvc2l0aW9u
LXJvdy1jb250YWlubWVudC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9y
ZWxhdGl2ZS1wb3NpdGlvbi1yb3ctY29udGFpbm1lbnQtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjI3MDg4YzU2ZDVlNgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGFibGUvcmVsYXRpdmUtcG9zaXRpb24tcm93LWNvbnRh
aW5tZW50LWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxNSBAQAorPCFkb2N0eXBlIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorPHRpdGxlPlBvc2l0aW9uZWQgdGFibGUgcm93IGFzIGNvbnRhaW5pbmcg
YmxvY2sgZm9yIGFic29sdXRlIGRlc2NlbmRhbnRzIChyZWZlcmVuY2UpPC90aXRsZT4KKzxzdHls
ZT4KK2JvZHkgeworICAgIG1hcmdpbjogMDsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzxkaXYgc3R5bGU9ImhlaWdodDogNTBweCI+PC9kaXY+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogMTAw
cHg7IGhlaWdodDogMTAwcHg7IGJhY2tncm91bmQ6IGdyZWVuIj48L2Rpdj4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGFibGUvcmVsYXRpdmUtcG9zaXRp
b24tcm93LWNvbnRhaW5tZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RhYmxlL3JlbGF0aXZl
LXBvc2l0aW9uLXJvdy1jb250YWlubWVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMC4uNDE2YzRhOGJjOWVjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC90YWJsZS9yZWxhdGl2ZS1wb3NpdGlvbi1yb3ctY29udGFpbm1lbnQuaHRtbApAQCAt
MCwwICsxLDMyIEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+UG9z
aXRpb25lZCB0YWJsZSByb3cgYXMgY29udGFpbmluZyBibG9jayBmb3IgYWJzb2x1dGUgZGVzY2Vu
ZGFudHM8L3RpdGxlPgorPGxpbmsgcmVsPSJtYXRjaCIgaHJlZj0icmVsYXRpdmUtcG9zaXRpb24t
cm93LWNvbnRhaW5tZW50LWV4cGVjdGVkLmh0bWwiPgorPHN0eWxlPgorYm9keSB7CisgICAgbWFy
Z2luOiAwOworfQordGFibGUgeworICAgIGJvcmRlci1zcGFjaW5nOiAwOworICAgIGJvcmRlci1j
b2xsYXBzZTogY29sbGFwc2U7CisgICAgYm9yZGVyOiBub25lOworfQordGQgeworICAgIHBhZGRp
bmc6IDA7CisgICAgYm9yZGVyOiBub25lOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PCEtLSBQdXNoIHRoZSB0YWJsZSBkb3duIHRvIHZlcmlmeSB0aGUgYWJzb2x1dGUgZGl2IGlzIGFu
Y2hvcmVkIHRvIHRoZSByb3csIG5vdCB0aGUgdmlld3BvcnQuIC0tPgorPGRpdiBzdHlsZT0iaGVp
Z2h0OiA1MHB4Ij48L2Rpdj4KKzx0YWJsZT4KKyAgICA8dHIgc3R5bGU9InBvc2l0aW9uOiByZWxh
dGl2ZSI+CisgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4Ij4K
KyAgICAgICAgICAgIDxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgaW5zZXQ6IDA7IGJh
Y2tncm91bmQ6IGdyZWVuIj48L2Rpdj4KKyAgICAgICAgPC90ZD4KKyAgICA8L3RyPgorPC90YWJs
ZT4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGFibGUv
cmVsYXRpdmUtcG9zaXRpb24tcm93LW11bHRpY2VsbC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC90YWJsZS9yZWxhdGl2ZS1wb3NpdGlvbi1yb3ctbXVsdGljZWxsLWV4cGVjdGVkLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4wZGVlYzJiNTkxNmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RhYmxlL3JlbGF0aXZlLXBvc2l0
aW9uLXJvdy1tdWx0aWNlbGwtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDE0IEBACis8IWRvY3R5
cGUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+QWJzb2x1dGUgY2hpbGQgb2YgcG9zaXRp
b25lZCB0YWJsZSByb3cgc3BhbnMgZnVsbCByb3cgd2lkdGggKHJlZmVyZW5jZSk8L3RpdGxlPgor
PHN0eWxlPgorYm9keSB7CisgICAgbWFyZ2luOiAwOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdiBzdHlsZT0id2lkdGg6IDIwMHB4OyBoZWlnaHQ6IDUwcHg7IGJhY2tncm91bmQ6
IGdyZWVuIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvdGFibGUvcmVsYXRpdmUtcG9zaXRpb24tcm93LW11bHRpY2VsbC5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC90YWJsZS9yZWxhdGl2ZS1wb3NpdGlvbi1yb3ctbXVsdGljZWxsLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4yZjk0YzNiNzNiOGUKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RhYmxlL3JlbGF0aXZlLXBvc2l0aW9uLXJv
dy1tdWx0aWNlbGwuaHRtbApAQCAtMCwwICsxLDMzIEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8dGl0bGU+QWJzb2x1dGUgY2hpbGQgb2YgcG9zaXRpb25lZCB0YWJsZSByb3cg
c3BhbnMgZnVsbCByb3cgd2lkdGg8L3RpdGxlPgorPGxpbmsgcmVsPSJtYXRjaCIgaHJlZj0icmVs
YXRpdmUtcG9zaXRpb24tcm93LW11bHRpY2VsbC1leHBlY3RlZC5odG1sIj4KKzxzdHlsZT4KK2Jv
ZHkgeworICAgIG1hcmdpbjogMDsKK30KK3RhYmxlIHsKKyAgICBib3JkZXItc3BhY2luZzogMDsK
KyAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOworICAgIGJvcmRlcjogbm9uZTsKK30KK3Rk
IHsKKyAgICBwYWRkaW5nOiAwOworICAgIGJvcmRlcjogbm9uZTsKK30KKzwvc3R5bGU+Cis8L2hl
YWQ+Cis8Ym9keT4KKzwhLS0gVGhlIGdyZWVuIGRpdiBzaG91bGQgY292ZXIgdGhlIGVudGlyZSBy
b3cgKGJvdGggY2VsbHMpLiAtLT4KKzx0YWJsZT4KKyAgICA8dHIgc3R5bGU9InBvc2l0aW9uOiBy
ZWxhdGl2ZSI+CisgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDUwcHgi
PgorICAgICAgICAgICAgQ2VsbCAxCisgICAgICAgICAgICA8ZGl2IHN0eWxlPSJwb3NpdGlvbjog
YWJzb2x1dGU7IGluc2V0OiAwOyBiYWNrZ3JvdW5kOiBncmVlbiI+PC9kaXY+CisgICAgICAgIDwv
dGQ+CisgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDUwcHgiPkNlbGwg
MjwvdGQ+CisgICAgPC90cj4KKzwvdGFibGU+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>478958</attachid>
            <date>2026-04-07 19:31:20 -0700</date>
            <delta_ts>2026-04-08 07:51:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-240961-20260407193119.patch</filename>
            <type>text/plain</type>
            <size>28376</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSBhNTlkNzlmMDhmYTM2YWI5MDQwM2IwZmNkMzgwYzZjOTlkZTNmOThhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IE1vbiwgNiBBcHIgMjAyNiAxNjo0MjoyNiAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIGBwb3NpdGlv
bjogcmVsYXRpdmVgIGRvZXNuJ3Qgd29yayBhcyBleHBlY3RlZCBvbiB0YWJsZSByb3cKIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNDA5NjEgPHJkYXI6Ly9wcm9ibGVt
Lzk0Mjk0ODE5PgoKUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgpXaGVuIHlvdSBwdXQgYHBv
c2l0aW9uOiByZWxhdGl2ZWAgb24gYSA8dHI+LCBhbnkgYWJzb2x1dGVseSBwb3NpdGlvbmVkCmNo
aWxkIChsaWtlIDxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgaW5zZXQ6IDAiPikgc2hv
dWxkIHNpemUgYW5kCnBvc2l0aW9uIGl0c2VsZiByZWxhdGl2ZSB0byB0aGF0IHJvdy4gSW5zdGVh
ZCwgaXQgd2FzIGVzY2FwaW5nIHRvIHRoZQp2aWV3cG9ydCAtIHRoZSByZWQgYm94IGZpbGxlZCB0
aGUgd2hvbGUgcGFnZSBpbnN0ZWFkIG9mIGp1c3QgdGhlIHJvdy4KClRocmVlIHRoaW5ncyB3ZXJl
IHByZXZlbnRpbmcgdGhpczoKCjEuIFRoZSBzdHlsZSBzeXN0ZW0gd2FzIHJlbW92aW5nIGBwb3Np
dGlvbjogcmVsYXRpdmVgIGZyb20gdGFibGUKICAgcm93cy4gVGhlcmUgd2FzIG9sZCBjb2RlIGlu
IHRoZSBzdHlsZSBhZGp1c3RlciB0aGF0IGZvcmNlZCBhbGwgdGFibGUKICAgcm93cyBiYWNrIHRv
IGBwb3NpdGlvbjogc3RhdGljYC4gVGhpcyB3YXMgYSB3b3JrYXJvdW5kIGZvciBhIGNyYXNoCiAg
IHRoYXQgaGFwcGVuZWQgYmVjYXVzZSBvZiBwcm9ibGVtICMyIGJlbG93LgoKMi4gUmVuZGVyVGFi
bGVSb3cgZXh0ZW5kZWQgUmVuZGVyQm94LCBidXQgYGNvbnRhaW5pbmdCbG9jaygpYCByZXR1cm5z
CiAgIFJlbmRlckJsb2NrKi4gU2luY2UgdGhlIHJvdyB3YXNuJ3QgYSBSZW5kZXJCbG9jaywgdGhl
IGNvbnRhaW5pbmcKICAgYmxvY2sgc2VhcmNoIHdhbGtlZCByaWdodCBwYXN0IGl0IGFuZCBrZXB0
IGdvaW5nIHVwIHRoZSB0cmVlIHVudGlsIGl0CiAgIGhpdCB0aGUgdmlld3BvcnQuIFRoZSBmaXgg
aXMgdG8gbWFrZSBSZW5kZXJUYWJsZVJvdyBleHRlbmQgUmVuZGVyQmxvY2sKICAgaW5zdGVhZCwg
anVzdCBsaWtlIFJlbmRlclRhYmxlQ2VsbCAod2hpY2ggZXh0ZW5kcyBSZW5kZXJCbG9ja0Zsb3cp
IGFuZAogICBSZW5kZXJUYWJsZSAod2hpY2ggZXh0ZW5kcyBSZW5kZXJCbG9jaykuIFJlbmRlckJs
b2NrIGFkZHMgbm8gZXh0cmEKICAgZGF0YSBtZW1iZXJzLCBhbmQgUmVuZGVyVGFibGVSb3c6Omxh
eW91dCgpIHN0aWxsIGNvbXBsZXRlbHkgb3ZlcnJpZGVzCiAgIGxheW91dCAtLSBibG9jayBsYXlv
dXQgaXMgbmV2ZXIgaW52b2tlZC4KCjMuIFJlbmRlclRhYmxlUm93OjpyZXF1aXJlc0xheWVyKCkg
d2FzIG1pc3NpbmcgYGlzUG9zaXRpb25lZCgpYC4gV2l0aG91dAogICBhIHJlbmRlciBsYXllciwg
YSBgcG9zaXRpb246IHJlbGF0aXZlYCByb3cgY291bGRuJ3QgZXN0YWJsaXNoIHRoZQogICByaWdo
dCBjb29yZGluYXRlIHN5c3RlbSAtLSB0aGUgYWJzb2x1dGUgY2hpbGQgd2FzIHNpemVkIGNvcnJl
Y3RseSBidXQKICAgZHJhd24gYXQgdGhlIHZpZXdwb3J0J3MgdG9wLWxlZnQgY29ybmVyIGluc3Rl
YWQgb2YgdGhlIHJvdydzIHBvc2l0aW9uLgoKVGFibGUgcm93cyBhcmUgc3BlY2lhbCBiZWNhdXNl
IHRoZWlyIGZpbmFsIGRpbWVuc2lvbnMgYXJlIHNldCBieQpsYXlvdXRSb3dzKCkgYWZ0ZXIgbGF5
b3V0KCkgZmluaXNoZXMgKHRoZSByb3cgaGVpZ2h0IGRlcGVuZHMgb24gY2VsbApoZWlnaHRzKS4g
U28gbGF5b3V0T3V0T2ZGbG93Qm94ZXMoKSBhbmQgY2xlYXJOZWVkc0xheW91dCgpIGFyZSBjYWxs
ZWQgaW4KbGF5b3V0Um93cygpIG9uY2UgdGhlIHJvdyBoYXMgaXRzIGZpbmFsIHNpemUsIG5vdCBp
biBsYXlvdXQoKS4KCiogTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9ub24tcG9zaXRpb25lZC1yb3ct
bm8tY29udGFpbm1lbnQtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCiogTGF5b3V0VGVzdHMvZmFzdC90
YWJsZS9ub24tcG9zaXRpb25lZC1yb3ctbm8tY29udGFpbm1lbnQuaHRtbDogQWRkZWQuCiogTGF5
b3V0VGVzdHMvZmFzdC90YWJsZS9yZWxhdGl2ZS1wb3NpdGlvbi1yb3ctY29udGFpbm1lbnQtZXhw
ZWN0ZWQuaHRtbDogQWRkZWQuCiogTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9yZWxhdGl2ZS1wb3Np
dGlvbi1yb3ctY29udGFpbm1lbnQuaHRtbDogQWRkZWQuCiogTGF5b3V0VGVzdHMvZmFzdC90YWJs
ZS9yZWxhdGl2ZS1wb3NpdGlvbi1yb3ctbXVsdGljZWxsLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgoq
IExheW91dFRlc3RzL2Zhc3QvdGFibGUvcmVsYXRpdmUtcG9zaXRpb24tcm93LW11bHRpY2VsbC5o
dG1sOiBBZGRlZC4KKiBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5jcHA6CihX
ZWJDb3JlOjpzaG91bGRFbWl0TmV3bGluZXNCZWZvcmVBbmRBZnRlck5vZGUpOgoqIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9PdXRsaW5lUGFpbnRlci5jcHA6CihXZWJDb3JlOjpPdXRsaW5lUGFp
bnRlcjo6Y29sbGVjdEZvY3VzUmluZ1JlY3RzRm9yQmxvY2spOgoqIFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9Qb3NpdGlvbmVkTGF5b3V0Q29uc3RyYWludHMuY3BwOgooV2ViQ29yZTo6c3RhdGlj
RGlzdGFuY2UpOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oOgoqIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwOgooV2ViQ29yZTo6UmVuZGVyQm94
Ojp0b3BMZWZ0TG9jYXRpb25XaXRoRmxpcHBpbmcgY29uc3QpOgooV2ViQ29yZTo6UmVuZGVyQm94
OjpvZmZzZXRGcm9tTG9naWNhbFRvcE9mRmlyc3RQYWdlIGNvbnN0KToKKiBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwOgooV2ViQ29yZTo6UmVuZGVyQm94
TW9kZWxPYmplY3Q6OmNvbXB1dGVTdGlja3lQb3NpdGlvbkNvbnN0cmFpbnRzIGNvbnN0KToKKiBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRlZEZsb3cuY3BwOgooV2ViQ29y
ZTo6UmVuZGVyRnJhZ21lbnRlZEZsb3c6Om9mZnNldEZyb21Mb2dpY2FsVG9wT2ZGaXJzdEZyYWdt
ZW50IGNvbnN0KToKKiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxsLmNw
cDoKKFdlYkNvcmU6OlJlbmRlclRhYmxlQ2VsbDo6b2Zmc2V0RnJvbUNvbnRhaW5lciBjb25zdCk6
CiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlUm93LmNwcDoKKFdlYkNvcmU6
OlJlbmRlclRhYmxlUm93OjpSZW5kZXJUYWJsZVJvdyk6CihXZWJDb3JlOjpSZW5kZXJUYWJsZVJv
dzo6d2lsbEJlUmVtb3ZlZEZyb21UcmVlKToKKFdlYkNvcmU6OlJlbmRlclRhYmxlUm93OjpzdHls
ZURpZENoYW5nZSk6CihXZWJDb3JlOjpSZW5kZXJUYWJsZVJvdzo6bGF5b3V0KToKKFdlYkNvcmU6
OlJlbmRlclRhYmxlUm93OjpjbGlwcGVkT3ZlcmZsb3dSZWN0IGNvbnN0KToKKFdlYkNvcmU6OlJl
bmRlclRhYmxlUm93OjpyZXF1aXJlc0xheWVyIGNvbnN0KToKKiBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGFibGVSb3cuaDoKKFdlYkNvcmU6OlJlbmRlclRhYmxlUm93OjpuZXh0Um93
IGNvbnN0KToKKFdlYkNvcmU6OlJlbmRlclRhYmxlUm93OjpwcmV2aW91c1JvdyBjb25zdCk6Ciog
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5jcHA6CihXZWJDb3Jl
OjpSZW5kZXJUYWJsZVNlY3Rpb246OmxheW91dFJvd3MpOgoqIFNvdXJjZS9XZWJDb3JlL3N0eWxl
L1N0eWxlQWRqdXN0ZXIuY3BwOgooV2ViQ29yZTo6U3R5bGU6OkFkanVzdGVyOjphZGp1c3QgY29u
c3QpOgotLS0KIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcCAgICAgICB8
ICA1ICsrKwogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL091dGxpbmVQYWludGVyLmNwcCAgIHwg
IDUgKysrCiAuLi4vcmVuZGVyaW5nL1Bvc2l0aW9uZWRMYXlvdXRDb25zdHJhaW50cy5jcHAgfCAg
NSArKysKIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oICAgICAgICB8ICAz
ICstCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcCAgICAgICAgfCAgOSAr
KysrKwogLi4uL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAgICAgICAgIHwgIDQg
KystCiAuLi4vcmVuZGVyaW5nL1JlbmRlckZyYWdtZW50ZWRGbG93LmNwcCAgICAgICAgfCAgNCAr
KysKIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZS5jcHAgICAgICB8IDEwICsr
KysrKwogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5jcHAgIHwgMTAg
KysrKy0tCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVSb3cuY3BwICAgfCAx
NiArKysrLS0tLS0KIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVJvdy5oICAg
ICB8ICA3ICsrLS0KIC4uLi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uY3Bw
ICB8IDEwICsrKysrLQogU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVBZGp1c3Rlci5jcHAgICAg
ICAgIHwgMTMgKysrKystLS0KIC4uLm9zaXRpb25lZC1yb3ctbm8tY29udGFpbm1lbnQtZXhwZWN0
ZWQuaHRtbCB8IDE0ICsrKysrKysrCiAuLi4vbm9uLXBvc2l0aW9uZWQtcm93LW5vLWNvbnRhaW5t
ZW50Lmh0bWwgICAgfCAzMyArKysrKysrKysrKysrKysrKysrCiAuLi5pdmUtcG9zaXRpb24tcm93
LWNvbnRhaW5tZW50LWV4cGVjdGVkLmh0bWwgfCAxNSArKysrKysrKysKIC4uLi9yZWxhdGl2ZS1w
b3NpdGlvbi1yb3ctY29udGFpbm1lbnQuaHRtbCAgICB8IDMyICsrKysrKysrKysrKysrKysrKwog
Li4uYXRpdmUtcG9zaXRpb24tcm93LW11bHRpY2VsbC1leHBlY3RlZC5odG1sIHwgMTQgKysrKysr
KysKIC4uLi9yZWxhdGl2ZS1wb3NpdGlvbi1yb3ctbXVsdGljZWxsLmh0bWwgICAgICB8IDMzICsr
KysrKysrKysrKysrKysrKysKIDE5IGZpbGVzIGNoYW5nZWQsIDIyMSBpbnNlcnRpb25zKCspLCAy
MSBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L3RhYmxl
L25vbi1wb3NpdGlvbmVkLXJvdy1uby1jb250YWlubWVudC1leHBlY3RlZC5odG1sCiBjcmVhdGUg
bW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9ub24tcG9zaXRpb25lZC1yb3ctbm8t
Y29udGFpbm1lbnQuaHRtbAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3QvdGFi
bGUvcmVsYXRpdmUtcG9zaXRpb24tcm93LWNvbnRhaW5tZW50LWV4cGVjdGVkLmh0bWwKIGNyZWF0
ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L3RhYmxlL3JlbGF0aXZlLXBvc2l0aW9uLXJv
dy1jb250YWlubWVudC5odG1sCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC90
YWJsZS9yZWxhdGl2ZS1wb3NpdGlvbi1yb3ctbXVsdGljZWxsLWV4cGVjdGVkLmh0bWwKIGNyZWF0
ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L3RhYmxlL3JlbGF0aXZlLXBvc2l0aW9uLXJv
dy1tdWx0aWNlbGwuaHRtbAoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4
dEl0ZXJhdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcApp
bmRleCAwMWUzODM2NjY5MWMuLjZlZTQ5ZjI1NDQ0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
VGV4dEl0ZXJhdG9yLmNwcApAQCAtOTQwLDYgKzk0MCwxMSBAQCBib29sIHNob3VsZEVtaXROZXds
aW5lc0JlZm9yZUFuZEFmdGVyTm9kZShOb2RlJiBub2RlKQogICAgIGlmIChzaG91bGRFbWl0UmVw
bGFjZW1lbnRJbnN0ZWFkT2ZOb2RlKG5vZGUpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAg
ICAvLyBUYWJsZSByb3dzIGFyZSBSZW5kZXJCbG9ja3MgYnV0IGhhdmUgdGhlaXIgb3duIG5ld2xp
bmUgbG9naWMgYWJvdmUKKyAgICAvLyB0aGF0IGFjY291bnRzIGZvciBpbmxpbmUgdGFibGVzLgor
ICAgIGlmIChpczxSZW5kZXJUYWJsZVJvdz4oKnJlbmRlcmVyKSkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworCiAgICAgcmV0dXJuICFyZW5kZXJlci0+aXNJbmxpbmUoKQogICAgICAgICAmJiBpczxS
ZW5kZXJCbG9jaz4oKnJlbmRlcmVyKQogICAgICAgICAmJiAhcmVuZGVyZXItPmlzRmxvYXRpbmdP
ck91dE9mRmxvd1Bvc2l0aW9uZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL091dGxpbmVQYWludGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9PdXRsaW5l
UGFpbnRlci5jcHAKaW5kZXggNTAwMDA0N2VkNzY3Li4zOTBjNDQwZGZkYzkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9PdXRsaW5lUGFpbnRlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL091dGxpbmVQYWludGVyLmNwcApAQCAtMzg5LDYgKzM4OSwxMSBA
QCBib29sIE91dGxpbmVQYWludGVyOjpjb2xsZWN0Rm9jdXNSaW5nUmVjdHNGb3JCbG9jayhjb25z
dCBSZW5kZXJCbG9jayYgcmVuZGVyZXIsCiAgICAgaWYgKHJlbmRlcmVyLndpZHRoKCkgJiYgcmVu
ZGVyZXIuaGVpZ2h0KCkpCiAgICAgICAgIHJlY3RzLmFwcGVuZChMYXlvdXRSZWN0KGFkZGl0aW9u
YWxPZmZzZXQsIHJlbmRlcmVyLnNpemUoKSkpOwogCisgICAgLy8gVGFibGUgcm93cyBzaGFyZSBj
b29yZGluYXRlIHNwYWNlIHdpdGggY2VsbHM7IGRvbid0IHJlY3Vyc2UgaW50byBjZWxscworICAg
IC8vIGFzIHRoZWlyIGJvdW5kcyBtYXkgZXh0ZW5kIGJleW9uZCB0aGUgcm93IChlLmcuIHJvd3Nw
YW4pLgorICAgIGlmIChyZW5kZXJlci5pc1JlbmRlclRhYmxlUm93KCkpCisgICAgICAgIHJldHVy
biB0cnVlOworCiAgICAgaWYgKCFyZW5kZXJlci5oYXNOb25WaXNpYmxlT3ZlcmZsb3coKSAmJiAh
cmVuZGVyZXIuaGFzQ29udHJvbENsaXAoKSkgewogICAgICAgICBpZiAocmVuZGVyZXIuY2hpbGRy
ZW5JbmxpbmUoKSAmJiBpczxSZW5kZXJCbG9ja0Zsb3c+KHJlbmRlcmVyKSkKICAgICAgICAgICAg
IGNvbGxlY3RGb2N1c1JpbmdSZWN0c0ZvcklubGluZUNoaWxkcmVuKGRvd25jYXN0PFJlbmRlckJs
b2NrRmxvdz4ocmVuZGVyZXIpLCByZWN0cywgYWRkaXRpb25hbE9mZnNldCwgcGFpbnRDb250YWlu
ZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Bvc2l0aW9uZWRMYXlv
dXRDb25zdHJhaW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUG9zaXRpb25lZExh
eW91dENvbnN0cmFpbnRzLmNwcAppbmRleCBmNjFhZDg4YzIxZDguLjVjYmNhZGJkNGQzNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Bvc2l0aW9uZWRMYXlvdXRDb25zdHJh
aW50cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Bvc2l0aW9uZWRMYXlvdXRD
b25zdHJhaW50cy5jcHAKQEAgLTY4MSw2ICs2ODEsMTEgQEAgc3RhdGljIExheW91dFBvaW50IHN0
YXRpY0Rpc3RhbmNlKGNvbnN0IFJlbmRlckJveE1vZGVsT2JqZWN0JiBjb250YWluZXIsIGNvbnN0
IFIKICAgICB9CiAKICAgICBzdGF0aWNQb3NpdGlvbiA9IGNoaWxkID09ICZvdXRPZkZsb3dCb3gg
PyBpbml0aWFsU3RhdGljUG9zaXRpb24oKSA6IHBvc2l0aW9uSW5Db250YWluZXIoKmNvbnRhaW5p
bmdCbG9jaywgKmNoaWxkLCBzdGF0aWNQb3NpdGlvbik7CisgICAgLy8gVGFibGUgcm93cyBhbmQg
Y2VsbHMgc2hhcmUgdGhlIHNlY3Rpb24ncyBjb29yZGluYXRlIHNwYWNlLiBUaGUgY2VsbCdzCisg
ICAgLy8gbG9naWNhbFRvcCgpIGlzIHNlY3Rpb24tcmVsYXRpdmUsIGJ1dCBwb3NpdGlvbkluQ29u
dGFpbmVyIHRyZWF0ZWQgaXQgYXMKKyAgICAvLyByb3ctcmVsYXRpdmUuIFN1YnRyYWN0IHRoZSBy
b3cncyBwb3NpdGlvbiB0byBjb3JyZWN0IGZvciB0aGlzLgorICAgIGlmIChpczxSZW5kZXJUYWJs
ZVJvdz4oY29udGFpbmluZ0Jsb2NrKSkKKyAgICAgICAgc3RhdGljUG9zaXRpb24ubW92ZUJ5KC1j
b250YWluaW5nQmxvY2stPmxvY2F0aW9uKCkpOwogICAgIHN0YXRpY1Bvc2l0aW9uIC09IGNvbnRh
aW5pbmdCbG9ja0JvcmRlclNpemU7CiAgICAgcmV0dXJuIHN0YXRpY1Bvc2l0aW9uOwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmggYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAppbmRleCA4ZDFlZDNkNWQ1NzcuLjlmZTQ1
MDRhMzhiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2Nr
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKQEAgLTI1NSwx
MyArMjU1LDE0IEBAIHB1YmxpYzoKIAogICAgIFBhaW50SW5mbyBwYWludEluZm9Gb3JCbG9ja0No
aWxkcmVuKGNvbnN0IFBhaW50SW5mbyYpIGNvbnN0OwogCisgICAgdm9pZCBsYXlvdXRPdXRPZkZs
b3dCb3hlcyhSZWxheW91dENoaWxkcmVuLCBib29sIGZpeGVkUG9zaXRpb25PYmplY3RzT25seSA9
IGZhbHNlKTsKKwogcHJvdGVjdGVkOgogICAgIFJlbmRlckZyYWdtZW50ZWRGbG93KiBsb2NhdGVF
bmNsb3NpbmdGcmFnbWVudGVkRmxvdygpIGNvbnN0IG92ZXJyaWRlOwogICAgIGJvb2wgZXN0YWJs
aXNoZXNJbmRlcGVuZGVudEZvcm1hdHRpbmdDb250ZXh0SWdub3JpbmdEaXNwbGF5VHlwZShjb25z
dCBSZW5kZXJTdHlsZSYpIGNvbnN0OwogCiAgICAgdm9pZCBsYXlvdXQoKSBvdmVycmlkZTsKIAot
ICAgIHZvaWQgbGF5b3V0T3V0T2ZGbG93Qm94ZXMoUmVsYXlvdXRDaGlsZHJlbiwgYm9vbCBmaXhl
ZFBvc2l0aW9uT2JqZWN0c09ubHkgPSBmYWxzZSk7CiAgICAgdmlydHVhbCB2b2lkIGxheW91dE91
dE9mRmxvd0JveChSZW5kZXJCb3gmLCBSZWxheW91dENoaWxkcmVuLCBib29sIGZpeGVkUG9zaXRp
b25PYmplY3RzT25seSk7CiAgICAgCiAgICAgdm9pZCBtYXJrRml4ZWRQb3NpdGlvbkJveEZvckxh
eW91dElmTmVlZGVkKFJlbmRlckJveCYgY2hpbGQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQm94LmNwcAppbmRleCAxNGViNDM0NzY2ZmYuLmE5YjBiYTAwYzI2ZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKQEAgLTUwNDEsNiArNTA0MSwxMCBAQCBMYXlvdXRQ
b2ludCBSZW5kZXJCb3g6OnRvcExlZnRMb2NhdGlvbldpdGhGbGlwcGluZygpIGNvbnN0CiAgICAg
YXV0byogY29udGFpbmVyQmxvY2sgPSBjb250YWluaW5nQmxvY2soKTsKICAgICBpZiAoIWNvbnRh
aW5lckJsb2NrIHx8IGNvbnRhaW5lckJsb2NrID09IHRoaXMpCiAgICAgICAgIHJldHVybiBsb2Nh
dGlvbigpOworICAgIC8vIFRhYmxlIHJvd3MgYW5kIGNlbGxzIHNoYXJlIHRoZSBzZWN0aW9uJ3Mg
Y29vcmRpbmF0ZSBzcGFjZS4gVGhlIHJvdydzCisgICAgLy8gZGltZW5zaW9ucyBhcmUgd3Jvbmcg
Zm9yIGZsaXBwaW5nIHRoZSBjZWxsJ3Mgc2VjdGlvbi1yZWxhdGl2ZSBwb3NpdGlvbi4KKyAgICBp
ZiAoaXM8UmVuZGVyVGFibGVSb3c+KGNvbnRhaW5lckJsb2NrKSkKKyAgICAgICAgY29udGFpbmVy
QmxvY2sgPSBjb250YWluZXJCbG9jay0+Y29udGFpbmluZ0Jsb2NrKCk7CiAgICAgcmV0dXJuIGNv
bnRhaW5lckJsb2NrLT5mbGlwRm9yV3JpdGluZ01vZGVGb3JDaGlsZCgqdGhpcywgbG9jYXRpb24o
KSk7CiB9CiAKQEAgLTUyMzMsNiArNTIzNywxMSBAQCBMYXlvdXRVbml0IFJlbmRlckJveDo6b2Zm
c2V0RnJvbUxvZ2ljYWxUb3BPZkZpcnN0UGFnZSgpIGNvbnN0CiAgICAgICAgIHJldHVybiAwOwog
CiAgICAgUmVuZGVyQmxvY2sqIGNvbnRhaW5lckJsb2NrID0gY29udGFpbmluZ0Jsb2NrKCk7Cisg
ICAgLy8gVGFibGUgcm93cyBhbmQgY2VsbHMgc2hhcmUgdGhlIHNlY3Rpb24ncyBjb29yZGluYXRl
IHNwYWNlLiBTa2lwIHRoZSByb3cKKyAgICAvLyB0byBhdm9pZCBkb3VibGUtY291bnRpbmcgaXRz
IG9mZnNldCAtLSB0aGUgY2VsbCdzIGxvZ2ljYWxUb3AoKSBhbHJlYWR5CisgICAgLy8gaW5jbHVk
ZXMgdGhlIHJvdydzIHBvc2l0aW9uIHdpdGhpbiB0aGUgc2VjdGlvbi4KKyAgICBpZiAoaXM8UmVu
ZGVyVGFibGVSb3c+KGNvbnRhaW5lckJsb2NrKSkKKyAgICAgICAgY29udGFpbmVyQmxvY2sgPSBj
b250YWluZXJCbG9jay0+Y29udGFpbmluZ0Jsb2NrKCk7CiAgICAgcmV0dXJuIGNvbnRhaW5lckJs
b2NrLT5vZmZzZXRGcm9tTG9naWNhbFRvcE9mRmlyc3RQYWdlKCkgKyBsb2dpY2FsVG9wKCk7CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9i
amVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3Qu
Y3BwCmluZGV4IGE5ZTAzN2ExNjg2My4uNTJmZmM1N2EzMjMzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKQEAgLTQ2OCw4ICs0Njgs
MTAgQEAgdm9pZCBSZW5kZXJCb3hNb2RlbE9iamVjdDo6Y29tcHV0ZVN0aWNreVBvc2l0aW9uQ29u
c3RyYWludHMoU3RpY2t5UG9zaXRpb25WaWV3cG8KICAgICAvLyBEbyBub3QgdXNlIGFub255bW91
cyBjb250YWluaW5nIGJsb2NrcyB0byBkZXRlcm1pbmUgc3RpY2t5IGNvbnN0cmFpbnRzLiBXZSB3
YW50IHRoZSBzaXplCiAgICAgLy8gb2YgdGhlIGZpcnN0IHRydWUgY29udGFpbmluZyBibG9jaywg
YmVjYXVzZSB0aGF0IGlzIHdoYXQgaW1wb3NlcyB0aGUgbGltaXRhdGlvbiBvbiB0aGUKICAgICAv
LyBtb3ZlbWVudCBvZiBzdGlja2lseSBwb3NpdGlvbmVkIGl0ZW1zLgorICAgIC8vIFRhYmxlIHJv
d3MgYXJlIGFsc28gc2tpcHBlZCBiZWNhdXNlIGNlbGxzIGFuZCByb3dzIHNoYXJlIHRoZSBzZWN0
aW9uJ3MgY29vcmRpbmF0ZSBzcGFjZSwKKyAgICAvLyBzbyB0aGUgcm93J3MgY29udGVudCBib3gg
aXMgbm90IHRoZSByaWdodCBjb25zdHJhaW50IHJlY3RhbmdsZS4KICAgICBSZW5kZXJCbG9jayog
Y29udGFpbmluZ0Jsb2NrID0gdGhpcy0+Y29udGFpbmluZ0Jsb2NrKCk7Ci0gICAgd2hpbGUgKGNv
bnRhaW5pbmdCbG9jayAmJiAoIWlzPFJlbmRlckJsb2NrPigqY29udGFpbmluZ0Jsb2NrKSB8fCBj
b250YWluaW5nQmxvY2stPmlzQW5vbnltb3VzQmxvY2soKSkpCisgICAgd2hpbGUgKGNvbnRhaW5p
bmdCbG9jayAmJiAoIWlzPFJlbmRlckJsb2NrPigqY29udGFpbmluZ0Jsb2NrKSB8fCBjb250YWlu
aW5nQmxvY2stPmlzQW5vbnltb3VzQmxvY2soKSB8fCBjb250YWluaW5nQmxvY2stPmlzUmVuZGVy
VGFibGVSb3coKSkpCiAgICAgICAgIGNvbnRhaW5pbmdCbG9jayA9IGNvbnRhaW5pbmdCbG9jay0+
Y29udGFpbmluZ0Jsb2NrKCk7CiAgICAgQVNTRVJUKGNvbnRhaW5pbmdCbG9jayk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFnbWVudGVkRmxvdy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRlZEZsb3cuY3BwCmluZGV4
IGRiMTYwOGFjZjE2Zi4uYTJiZjFiMTVkMjk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRlZEZsb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJGcmFnbWVudGVkRmxvdy5jcHAKQEAgLTc4Niw2ICs3ODYsMTAgQEAgTGF5
b3V0VW5pdCBSZW5kZXJGcmFnbWVudGVkRmxvdzo6b2Zmc2V0RnJvbUxvZ2ljYWxUb3BPZkZpcnN0
RnJhZ21lbnQoY29uc3QgUmVuZGUKICAgICAgICAgQVNTRVJUKGNvbnRhaW5lckJsb2NrKTsKICAg
ICAgICAgaWYgKCFjb250YWluZXJCbG9jaykKICAgICAgICAgICAgIHJldHVybiAwOworICAgICAg
ICAvLyBUYWJsZSByb3dzIGFuZCBjZWxscyBzaGFyZSB0aGUgc2VjdGlvbidzIGNvb3JkaW5hdGUg
c3BhY2UsIHNvIHNraXAKKyAgICAgICAgLy8gdGhlIHJvdyB0byBhdm9pZCBkb3VibGUtY291bnRp
bmcgaXRzIG9mZnNldC4KKyAgICAgICAgaWYgKGlzPFJlbmRlclRhYmxlUm93Pihjb250YWluZXJC
bG9jaykpCisgICAgICAgICAgICBjb250YWluZXJCbG9jayA9IGNvbnRhaW5lckJsb2NrLT5jb250
YWluaW5nQmxvY2soKTsKICAgICAgICAgTGF5b3V0UG9pbnQgY3VycmVudEJsb2NrTG9jYXRpb24g
PSBjdXJyZW50QmxvY2stPmxvY2F0aW9uKCk7CiAgICAgICAgIGlmIChhdXRvKiBjZWxsID0gZHlu
YW1pY0Rvd25jYXN0PFJlbmRlclRhYmxlQ2VsbD4oKmN1cnJlbnRCbG9jaykpIHsKICAgICAgICAg
ICAgIGlmIChhdXRvKiBzZWN0aW9uID0gY2VsbC0+c2VjdGlvbigpKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUYWJsZS5jcHAKaW5kZXggMDc0MzU4NTVjY2IxLi5lNjc2OTZjZjllYTkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcApAQCAtMTA0NCw2ICsx
MDQ0LDE2IEBAIHZvaWQgUmVuZGVyVGFibGU6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhz
KCkKICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIGJlIGFkZGluZyBib3JkZXJBbmRQYWRkaW5nTG9n
aWNhbFdpZHRoIGhlcmUsIGJ1dCBtX3RhYmxlTGF5b3V0LT5jb21wdXRlUHJlZmVycmVkTG9naWNh
bFdpZHRocyBhbHJlYWR5IGRvZXMsCiAgICAgLy8gc28gYSBidW5jaCBvZiB0ZXN0cyBicmVhayBk
b2luZyB0aGlzIG5haXZlbHkuCiAgICAgY2xlYXJOZWVkc1ByZWZlcnJlZFdpZHRoc1VwZGF0ZSgp
OworCisgICAgLy8gUm93IHdpZHRocyBhcmUgc2V0IGJ5IHRoZSBzZWN0aW9uLCBub3QgY29tcHV0
ZWQgZnJvbSBwcmVmZXJyZWQgd2lkdGhzLAorICAgIC8vIHNvIHRoZWlyIGRpcnR5IGJpdCBpcyBu
ZXZlciBjbGVhcmVkIGJ5IHRoZSBub3JtYWwgcHJlZmVycmVkIHdpZHRoCisgICAgLy8gY29tcHV0
YXRpb24uIENsZWFyIGl0IGhlcmUgc28gaXQgZG9lc24ndCBibG9jayBzdWJzZXF1ZW50IGludmFs
aWRhdGlvbgorICAgIC8vIGZyb20gcHJvcGFnYXRpbmcgdGhyb3VnaCB0aGUgcm93IHRvIHRoZSB0
YWJsZS4KKyAgICBmb3IgKGF1dG8qIHNlY3Rpb24gPSB0b3BTZWN0aW9uKCk7IHNlY3Rpb247IHNl
Y3Rpb24gPSBzZWN0aW9uQmVsb3coc2VjdGlvbikpIHsKKyAgICAgICAgc2VjdGlvbi0+Y2xlYXJO
ZWVkc1ByZWZlcnJlZFdpZHRoc1VwZGF0ZSgpOworICAgICAgICBmb3IgKGF1dG8qIHJvdyA9IHNl
Y3Rpb24tPmZpcnN0Um93KCk7IHJvdzsgcm93ID0gcm93LT5uZXh0Um93KCkpCisgICAgICAgICAg
ICByb3ctPmNsZWFyTmVlZHNQcmVmZXJyZWRXaWR0aHNVcGRhdGUoKTsKKyAgICB9CiB9CiAKIFJl
bmRlclRhYmxlU2VjdGlvbiogUmVuZGVyVGFibGU6OnRvcE5vbkVtcHR5U2VjdGlvbigpIGNvbnN0
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxsLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNlbGwuY3BwCmluZGV4IDY0
ZTY4Zjg2ZDcyYi4uYmI0ZTRkMGI0NmRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGFibGVDZWxsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGFibGVDZWxsLmNwcApAQCAtNTQ4LDggKzU0OCwxNCBAQCBMYXlvdXRTaXplIFJlbmRl
clRhYmxlQ2VsbDo6b2Zmc2V0RnJvbUNvbnRhaW5lcihjb25zdCBSZW5kZXJFbGVtZW50JiBjb250
YWluZXIsCiAgICAgQVNTRVJUKCZjb250YWluZXIgPT0gdGhpcy0+Y29udGFpbmVyKCkpOwogCiAg
ICAgTGF5b3V0U2l6ZSBvZmZzZXQgPSBSZW5kZXJCbG9ja0Zsb3c6Om9mZnNldEZyb21Db250YWlu
ZXIoY29udGFpbmVyLCBwb2ludCwgb2Zmc2V0RGVwZW5kc09uUG9pbnQpOwotICAgIGlmIChhdXRv
KiBjb250YWluZXJPZlJvdyA9IGNvbnRhaW5lci5jb250YWluZXIoKTsgY29udGFpbmVyT2ZSb3cg
JiYgcGFyZW50KCkpCi0gICAgICAgIG9mZnNldCAtPSBwYXJlbnRCb3goKS0+b2Zmc2V0RnJvbUNv
bnRhaW5lcigqY29udGFpbmVyT2ZSb3csIHBvaW50KTsKKyAgICAvLyBDZWxscyBhbmQgcm93cyBz
aGFyZSB0aGUgc2VjdGlvbidzIGNvb3JkaW5hdGUgc3BhY2UuIFRoZSBjZWxsJ3MgbG9jYXRpb24o
KQorICAgIC8vIGlzIHNlY3Rpb24tcmVsYXRpdmUsIG5vdCByb3ctcmVsYXRpdmUuIFN1YnRyYWN0
IHRoZSByb3cncyBvZmZzZXQgdG8gY29udmVydAorICAgIC8vIHRvIHRoZSBjb3JyZWN0IGNvb3Jk
aW5hdGUgc3BhY2UgZm9yIHRoZSBjb250YWluZXIuCisgICAgaWYgKCFpczxSZW5kZXJUYWJsZVJv
dz4oY29udGFpbmVyKSkgeworICAgICAgICBpZiAoYXV0byogY29udGFpbmVyT2ZSb3cgPSBjb250
YWluZXIuY29udGFpbmVyKCk7IGNvbnRhaW5lck9mUm93ICYmIHBhcmVudCgpKQorICAgICAgICAg
ICAgb2Zmc2V0IC09IHBhcmVudEJveCgpLT5vZmZzZXRGcm9tQ29udGFpbmVyKCpjb250YWluZXJP
ZlJvdywgcG9pbnQpOworICAgIH0gZWxzZQorICAgICAgICBvZmZzZXQgLT0gcGFyZW50Qm94KCkt
PnRvcExlZnRMb2NhdGlvbk9mZnNldCgpOwogCiAgICAgcmV0dXJuIG9mZnNldDsKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVJvdy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVSb3cuY3BwCmluZGV4IDk5OWE0NDEyYTcw
My4uYmY4MWZkNzEyNTIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGFibGVSb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJs
ZVJvdy5jcHAKQEAgLTUxLDcgKzUxLDcgQEAgdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIFdU
Rl9NQUtFX1RaT05FX0FMTE9DQVRFRF9JTVBMKFJlbmRlclRhYmxlUm93KTsKIAogUmVuZGVyVGFi
bGVSb3c6OlJlbmRlclRhYmxlUm93KEVsZW1lbnQmIGVsZW1lbnQsIFJlbmRlclN0eWxlJiYgc3R5
bGUpCi0gICAgOiBSZW5kZXJCb3goVHlwZTo6VGFibGVSb3csIGVsZW1lbnQsIFdURjo6bW92ZShz
dHlsZSkpCisgICAgOiBSZW5kZXJCbG9jayhUeXBlOjpUYWJsZVJvdywgZWxlbWVudCwgV1RGOjpt
b3ZlKHN0eWxlKSwgeyB9KQogICAgICwgbV9yb3dJbmRleCh1bnNldFJvd0luZGV4KQogewogICAg
IHNldElubGluZShmYWxzZSk7CkBAIC01OSw3ICs1OSw3IEBAIFJlbmRlclRhYmxlUm93OjpSZW5k
ZXJUYWJsZVJvdyhFbGVtZW50JiBlbGVtZW50LCBSZW5kZXJTdHlsZSYmIHN0eWxlKQogfQogCiBS
ZW5kZXJUYWJsZVJvdzo6UmVuZGVyVGFibGVSb3coRG9jdW1lbnQmIGRvY3VtZW50LCBSZW5kZXJT
dHlsZSYmIHN0eWxlKQotICAgIDogUmVuZGVyQm94KFR5cGU6OlRhYmxlUm93LCBkb2N1bWVudCwg
V1RGOjptb3ZlKHN0eWxlKSkKKyAgICA6IFJlbmRlckJsb2NrKFR5cGU6OlRhYmxlUm93LCBkb2N1
bWVudCwgV1RGOjptb3ZlKHN0eWxlKSwgeyB9KQogICAgICwgbV9yb3dJbmRleCh1bnNldFJvd0lu
ZGV4KQogewogICAgIHNldElubGluZShmYWxzZSk7CkBAIC03NSw3ICs3NSw3IEBAIEFTQ0lJTGl0
ZXJhbCBSZW5kZXJUYWJsZVJvdzo6cmVuZGVyTmFtZSgpIGNvbnN0CiAKIHZvaWQgUmVuZGVyVGFi
bGVSb3c6OndpbGxCZVJlbW92ZWRGcm9tVHJlZSgpCiB7Ci0gICAgUmVuZGVyQm94Ojp3aWxsQmVS
ZW1vdmVkRnJvbVRyZWUoKTsKKyAgICBSZW5kZXJCbG9jazo6d2lsbEJlUmVtb3ZlZEZyb21UcmVl
KCk7CiAKICAgICBzZWN0aW9uKCktPnNldE5lZWRzQ2VsbFJlY2FsYygpOwogfQpAQCAtOTIsNyAr
OTIsNyBAQCB2b2lkIFJlbmRlclRhYmxlUm93OjpzdHlsZURpZENoYW5nZShTdHlsZTo6RGlmZmVy
ZW5jZSBkaWZmLCBjb25zdCBSZW5kZXJTdHlsZSogbwogewogICAgIEFTU0VSVChzdHlsZSgpLmRp
c3BsYXkoKSA9PSBTdHlsZTo6RGlzcGxheVR5cGU6OlRhYmxlUm93KTsKIAotICAgIFJlbmRlckJv
eDo6c3R5bGVEaWRDaGFuZ2UoZGlmZiwgb2xkU3R5bGUpOworICAgIFJlbmRlckJsb2NrOjpzdHls
ZURpZENoYW5nZShkaWZmLCBvbGRTdHlsZSk7CiAgICAgcHJvcGFnYXRlU3R5bGVUb0Fub255bW91
c0NoaWxkcmVuKFN0eWxlUHJvcGFnYXRpb25UeXBlOjpBbGxDaGlsZHJlbik7CiAKICAgICBpZiAo
c2VjdGlvbigpICYmIG9sZFN0eWxlICYmIHN0eWxlKCkubG9naWNhbEhlaWdodCgpICE9IG9sZFN0
eWxlLT5sb2dpY2FsSGVpZ2h0KCkpCkBAIC0xODIsOCArMTgyLDggQEAgdm9pZCBSZW5kZXJUYWJs
ZVJvdzo6bGF5b3V0KCkKICAgICAgICAgICAgIGNlbGwtPnJlcGFpbnQoKTsKICAgICB9CiAKLSAg
ICAvLyBSZW5kZXJUYWJsZVNlY3Rpb246OmxheW91dFJvd3Mgd2lsbCBzZXQgb3VyIGxvZ2ljYWwg
aGVpZ2h0IGFuZCB3aWR0aCBsYXRlciwgc28gaXQgY2FsbHMgdXBkYXRlTGF5ZXJUcmFuc2Zvcm0o
KS4KLSAgICBjbGVhck5lZWRzTGF5b3V0KCk7CisgICAgLy8gUm93IGRpbWVuc2lvbnMgYXJlIGZp
bmFsaXplZCBpbiBSZW5kZXJUYWJsZVNlY3Rpb246OmxheW91dFJvd3MoKSwgd2hpY2ggYWxzbwor
ICAgIC8vIGxheXMgb3V0IG91dC1vZi1mbG93IGRlc2NlbmRhbnRzIGFuZCBjYWxscyBjbGVhck5l
ZWRzTGF5b3V0KCkuCiB9CiAKIExheW91dFJlY3QgUmVuZGVyVGFibGVSb3c6OmNsaXBwZWRPdmVy
Zmxvd1JlY3QoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogcmVwYWludENvbnRhaW5lciwg
VmlzaWJsZVJlY3RDb250ZXh0IGNvbnRleHQpIGNvbnN0CkBAIC0xOTIsNyArMTkyLDcgQEAgTGF5
b3V0UmVjdCBSZW5kZXJUYWJsZVJvdzo6Y2xpcHBlZE92ZXJmbG93UmVjdChjb25zdCBSZW5kZXJM
YXllck1vZGVsT2JqZWN0KiByZXAKICAgICAvLyBSb3dzIGFuZCBjZWxscyBhcmUgaW4gdGhlIHNh
bWUgY29vcmRpbmF0ZSBzcGFjZS4gV2UgbmVlZCB0byBib3RoIGNvbXB1dGUgb3VyIG92ZXJmbG93
IHJlY3QgKHdoaWNoCiAgICAgLy8gd2lsbCBhY2NvbW1vZGF0ZSBhIHJvdyBvdXRsaW5lIGFuZCBh
bnkgdmlzdWFsIGVmZmVjdHMgb24gdGhlIHJvdyBpdHNlbGYpLCBidXQgd2UgYWxzbyBuZWVkIHRv
IGFkZCBpbgogICAgIC8vIHRoZSByZXBhaW50IHJlY3RzIG9mIGNlbGxzLgotICAgIGF1dG8gcmVz
dWx0ID0gUmVuZGVyQm94OjpjbGlwcGVkT3ZlcmZsb3dSZWN0KHJlcGFpbnRDb250YWluZXIsIGNv
bnRleHQpOworICAgIGF1dG8gcmVzdWx0ID0gUmVuZGVyQmxvY2s6OmNsaXBwZWRPdmVyZmxvd1Jl
Y3QocmVwYWludENvbnRhaW5lciwgY29udGV4dCk7CiAgICAgZm9yIChhdXRvKiBjZWxsID0gZmly
c3RDZWxsKCk7IGNlbGw7IGNlbGwgPSBjZWxsLT5uZXh0Q2VsbCgpKSB7CiAgICAgICAgIC8vIEV2
ZW4gaWYgYSBjZWxsIGlzIGEgcmVwYWludCBjb250YWluZXIsIGl0J3MgdGhlIHJvdyB0aGF0IHBh
aW50cyB0aGUgYmFja2dyb3VuZCBiZWhpbmQgaXQuCiAgICAgICAgIC8vIFNvIHdlIGRvbid0IGNh
cmUgaWYgYSBjZWxsIGlzIGEgcmVwYWludENvbnRhaW5lciBoZXJlLgpAQCAtMjg2LDcgKzI4Niw3
IEBAIHZvaWQgUmVuZGVyVGFibGVSb3c6OmltYWdlQ2hhbmdlZChXcmFwcGVkSW1hZ2VQdHIsIGNv
bnN0IEludFJlY3QqKQogCiBib29sIFJlbmRlclRhYmxlUm93OjpyZXF1aXJlc0xheWVyKCkgY29u
c3QKIHsKLSAgICByZXR1cm4gaGFzTm9uVmlzaWJsZU92ZXJmbG93KCkgfHwgaGFzVHJhbnNmb3Jt
UmVsYXRlZFByb3BlcnR5KCkgfHwgaGFzSGlkZGVuQmFja2ZhY2UoKSB8fCBoYXNDbGlwUGF0aCgp
IHx8IGNyZWF0ZXNHcm91cCgpIHx8IGlzU3RpY2tpbHlQb3NpdGlvbmVkKCkgfHwgcmVxdWlyZXNS
ZW5kZXJpbmdDb25zb2xpZGF0aW9uRm9yVmlld1RyYW5zaXRpb24oKTsKKyAgICByZXR1cm4gaXNQ
b3NpdGlvbmVkKCkgfHwgaGFzTm9uVmlzaWJsZU92ZXJmbG93KCkgfHwgaGFzVHJhbnNmb3JtUmVs
YXRlZFByb3BlcnR5KCkgfHwgaGFzSGlkZGVuQmFja2ZhY2UoKSB8fCBoYXNDbGlwUGF0aCgpIHx8
IGNyZWF0ZXNHcm91cCgpIHx8IGlzU3RpY2tpbHlQb3NpdGlvbmVkKCkgfHwgcmVxdWlyZXNSZW5k
ZXJpbmdDb25zb2xpZGF0aW9uRm9yVmlld1RyYW5zaXRpb24oKTsKIH0KIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRh
YmxlUm93LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVSb3cuaAppbmRl
eCBlNzNjNjVkZmFiOWQuLjZjMmIzYWQwZmY0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRhYmxlUm93LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRhYmxlUm93LmgKQEAgLTI1LDYgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNp
bmNsdWRlICJSZW5kZXJCbG9jay5oIgogI2luY2x1ZGUgIlJlbmRlclRhYmxlU2VjdGlvbi5oIgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0zMiw3ICszMyw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIHN0YXRpYyBjb25zdCB1bnNpZ25lZCB1bnNldFJvd0luZGV4ID0gMHg3RkZGRkZGRjsKIHN0
YXRpYyBjb25zdCB1bnNpZ25lZCBtYXhSb3dJbmRleCA9IDB4N0ZGRkZGRkU7IC8vIDIsMTQ3LDQ4
Myw2NDYKIAotY2xhc3MgUmVuZGVyVGFibGVSb3cgZmluYWwgOiBwdWJsaWMgUmVuZGVyQm94IHsK
K2NsYXNzIFJlbmRlclRhYmxlUm93IGZpbmFsIDogcHVibGljIFJlbmRlckJsb2NrIHsKICAgICBX
VEZfTUFLRV9UWk9ORV9BTExPQ0FURUQoUmVuZGVyVGFibGVSb3cpOwogICAgIFdURl9PVkVSUklE
RV9ERUxFVEVfRk9SX0NIRUNLRURfUFRSKFJlbmRlclRhYmxlUm93KTsKIHB1YmxpYzoKQEAgLTEx
OSwxMiArMTIwLDEyIEBAIGlubGluZSBSZW5kZXJUYWJsZSogUmVuZGVyVGFibGVSb3c6OnRhYmxl
KCkgY29uc3QKIAogaW5saW5lIFJlbmRlclRhYmxlUm93KiBSZW5kZXJUYWJsZVJvdzo6bmV4dFJv
dygpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIGRvd25jYXN0PFJlbmRlclRhYmxlUm93PihSZW5kZXJC
b3g6Om5leHRTaWJsaW5nKCkpOworICAgIHJldHVybiBkb3duY2FzdDxSZW5kZXJUYWJsZVJvdz4o
UmVuZGVyQmxvY2s6Om5leHRTaWJsaW5nKCkpOwogfQogCiBpbmxpbmUgUmVuZGVyVGFibGVSb3cq
IFJlbmRlclRhYmxlUm93OjpwcmV2aW91c1JvdygpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIGRvd25j
YXN0PFJlbmRlclRhYmxlUm93PihSZW5kZXJCb3g6OnByZXZpb3VzU2libGluZygpKTsKKyAgICBy
ZXR1cm4gZG93bmNhc3Q8UmVuZGVyVGFibGVSb3c+KFJlbmRlckJsb2NrOjpwcmV2aW91c1NpYmxp
bmcoKSk7CiB9CiAKIGlubGluZSBSZW5kZXJUYWJsZVJvdyogUmVuZGVyVGFibGVTZWN0aW9uOjpm
aXJzdFJvdygpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGFibGVTZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJs
ZVNlY3Rpb24uY3BwCmluZGV4IDhhNjI5NzhjYzNmMS4uNzIxMDNhMDJjMzg5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9uLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9uLmNwcApAQCAtNTk1LDcg
KzU5NSwxMCBAQCB2b2lkIFJlbmRlclRhYmxlU2VjdGlvbjo6bGF5b3V0Um93cygpCiAKICAgICBm
b3IgKHNpemVfdCByb3dJbmRleCA9IDA7IHJvd0luZGV4IDwgbnVtYmVyT2ZSb3dzOyByb3dJbmRl
eCsrKSB7CiAgICAgICAgIC8vIFNldCB0aGUgcm93J3MgeC95IHBvc2l0aW9uIGFuZCB3aWR0aC9o
ZWlnaHQuCi0gICAgICAgIGlmIChSZW5kZXJUYWJsZVJvdyogcm93UmVuZGVyZXIgPSBtX2dyaWRb
cm93SW5kZXhdLnJvd1JlbmRlcmVyKSB7CisgICAgICAgIENoZWNrZWRQdHIgcm93UmVuZGVyZXIg
PSBtX2dyaWRbcm93SW5kZXhdLnJvd1JlbmRlcmVyOworICAgICAgICBBU1NFUlQocm93UmVuZGVy
ZXIpOworCisgICAgICAgIGlmIChyb3dSZW5kZXJlcikgewogICAgICAgICAgICAgLy8gRklYTUU6
IHRoZSB4KCkgcG9zaXRpb24gb2YgdGhlIHJvdyBzaG91bGQgYmUgdGFibGUoKS0+aEJvcmRlclNw
YWNpbmcoKSBzbyB0aGF0IGl0IGNhbiAKICAgICAgICAgICAgIC8vIHJlcG9ydCB0aGUgY29ycmVj
dCBvZmZzZXRMZWZ0LiBIb3dldmVyLCB0aGF0IHdpbGwgcmVxdWlyZSBhIGxvdCBvZiByZWJhc2Vs
aW5pbmcgb2YgdGVzdCByZXN1bHRzLgogICAgICAgICAgICAgcm93UmVuZGVyZXItPnNldExvZ2lj
YWxMb2NhdGlvbih7IDBfbHUsIG1fcm93UG9zW3Jvd0luZGV4XSB9KTsKQEAgLTY4MSw2ICs2ODQs
MTEgQEAgdm9pZCBSZW5kZXJUYWJsZVNlY3Rpb246OmxheW91dFJvd3MoKQogICAgICAgICAgICAg
ICAgICAgICBjZWxsc1tjZWxsSW5kZXhdLT5zZXRMb2dpY2FsSGVpZ2h0KGNlbGxzW2NlbGxJbmRl
eF0tPmxvZ2ljYWxIZWlnaHQoKSArIHJvd0hlaWdodEluY3JlYXNlRm9yUGFnaW5hdGlvbik7CiAg
ICAgICAgICAgICB9CiAgICAgICAgIH0KKyAgICAgICAgLy8gRmluYWxpemUgcm93IGxheW91dC4K
KyAgICAgICAgaWYgKHJvd1JlbmRlcmVyKSB7CisgICAgICAgICAgICByb3dSZW5kZXJlci0+bGF5
b3V0T3V0T2ZGbG93Qm94ZXMoUmVsYXlvdXRDaGlsZHJlbjo6WWVzKTsKKyAgICAgICAgICAgIHJv
d1JlbmRlcmVyLT5jbGVhck5lZWRzTGF5b3V0KCk7CisgICAgICAgIH0KICAgICB9CiAKICAgICBB
U1NFUlQoIW5lZWRzTGF5b3V0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUv
U3R5bGVBZGp1c3Rlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUFkanVzdGVyLmNw
cAppbmRleCBlMGJlZGE0NWQxZmYuLjUxMjY2ZThmNTEzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvc3R5bGUvU3R5bGVBZGp1c3Rlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUv
U3R5bGVBZGp1c3Rlci5jcHAKQEAgLTQ4MywxMSArNDgzLDEwIEBAIHZvaWQgQWRqdXN0ZXI6OmFk
anVzdChSZW5kZXJTdHlsZSYgc3R5bGUpIGNvbnN0CiAgICAgICAgIGlmIChzdHlsZS5kaXNwbGF5
KCkgPT0gRGlzcGxheVR5cGU6OklubGluZUZsb3cgJiYgIXN0eWxlLnBzZXVkb0VsZW1lbnRUeXBl
KCkgJiYgc3R5bGUud3JpdGluZ01vZGUoKS5jb21wdXRlZFdyaXRpbmdNb2RlKCkgIT0gbV9wYXJl
bnRTdHlsZS53cml0aW5nTW9kZSgpLmNvbXB1dGVkV3JpdGluZ01vZGUoKSkKICAgICAgICAgICAg
IHN0eWxlLnNldERpc3BsYXlNYWludGFpbmluZ09yaWdpbmFsRGlzcGxheShEaXNwbGF5VHlwZTo6
SW5saW5lRmxvd1Jvb3QpOwogCi0gICAgICAgIC8vIEFmdGVyIHBlcmZvcm1pbmcgdGhlIGRpc3Bs
YXkgbXV0YXRpb24sIGNoZWNrIHRhYmxlIHJvd3MuIFdlIGRvIG5vdCBob25vciBwb3NpdGlvbjpy
ZWxhdGl2ZSBvciBwb3NpdGlvbjpzdGlja3kgb24KLSAgICAgICAgLy8gdGFibGUgcm93cyBvciBj
ZWxscy4gVGhpcyBoYXMgYmVlbiBlc3RhYmxpc2hlZCBmb3IgcG9zaXRpb246cmVsYXRpdmUgaW4g
Q1NTMi4xIChhbmQgY2F1c2VkIGEgY3Jhc2ggaW4gY29udGFpbmluZ0Jsb2NrKCkKLSAgICAgICAg
Ly8gb24gc29tZSBzaXRlcykuCisgICAgICAgIC8vIFdlIGRvIG5vdCBob25vciBwb3NpdGlvbjpy
ZWxhdGl2ZSBvciBwb3NpdGlvbjpzdGlja3kgb24gdGFibGUgcm93IGdyb3Vwcy4gVGFibGUgcm93
cyBhcmUKKyAgICAgICAgLy8gYWxsb3dlZCB0byBiZSBwb3NpdGlvbjpyZWxhdGl2ZSAodGhleSBl
eHRlbmQgUmVuZGVyQmxvY2sgYW5kIGNhbiBiZSBwcm9wZXIgY29udGFpbmluZyBibG9ja3MpLgog
ICAgICAgICBpZiAoKHN0eWxlLmRpc3BsYXkoKSA9PSBEaXNwbGF5VHlwZTo6VGFibGVIZWFkZXJH
cm91cCB8fCBzdHlsZS5kaXNwbGF5KCkgPT0gRGlzcGxheVR5cGU6OlRhYmxlUm93R3JvdXAKLSAg
ICAgICAgICAgIHx8IHN0eWxlLmRpc3BsYXkoKSA9PSBEaXNwbGF5VHlwZTo6VGFibGVGb290ZXJH
cm91cCB8fCBzdHlsZS5kaXNwbGF5KCkgPT0gRGlzcGxheVR5cGU6OlRhYmxlUm93KQorICAgICAg
ICAgICAgfHwgc3R5bGUuZGlzcGxheSgpID09IERpc3BsYXlUeXBlOjpUYWJsZUZvb3Rlckdyb3Vw
KQogICAgICAgICAgICAgJiYgc3R5bGUucG9zaXRpb24oKSA9PSBQb3NpdGlvblR5cGU6OlJlbGF0
aXZlKQogICAgICAgICAgICAgc3R5bGUuc2V0UG9zaXRpb24oUG9zaXRpb25UeXBlOjpTdGF0aWMp
OwogCkBAIC02NDIsNyArNjQxLDExIEBAIHZvaWQgQWRqdXN0ZXI6OmFkanVzdChSZW5kZXJTdHls
ZSYgc3R5bGUpIGNvbnN0CiAKICAgICBib29sIG92ZXJmbG93SXNDbGlwT3JWaXNpYmxlID0gaXNP
dmVyZmxvd0NsaXBPclZpc2libGUoc3R5bGUub3ZlcmZsb3dZKCkpICYmIGlzT3ZlcmZsb3dDbGlw
T3JWaXNpYmxlKHN0eWxlLm92ZXJmbG93WCgpKTsKIAotICAgIGlmICghb3ZlcmZsb3dJc0NsaXBP
clZpc2libGUgJiYgc3R5bGUuZGlzcGxheSgpLmlzVGFibGVCb3goKSkgeworICAgIC8vIFRoZSBv
dmVyZmxvdyBwcm9wZXJ0eSBkb2VzIG5vdCBhcHBseSB0byB0YWJsZSByb3cgZWxlbWVudHMgKENT
UzIgc2VjdGlvbiAxMS4xLjEpLgorICAgIGlmIChzdHlsZS5kaXNwbGF5KCkgPT0gRGlzcGxheVR5
cGU6OlRhYmxlUm93KSB7CisgICAgICAgIHN0eWxlLnNldE92ZXJmbG93WChPdmVyZmxvdzo6Vmlz
aWJsZSk7CisgICAgICAgIHN0eWxlLnNldE92ZXJmbG93WShPdmVyZmxvdzo6VmlzaWJsZSk7Cisg
ICAgfSBlbHNlIGlmICghb3ZlcmZsb3dJc0NsaXBPclZpc2libGUgJiYgc3R5bGUuZGlzcGxheSgp
LmlzVGFibGVCb3goKSkgewogICAgICAgICAvLyBUYWJsZXMgb25seSBzdXBwb3J0IG92ZXJmbG93
OmhpZGRlbiBhbmQgb3ZlcmZsb3c6dmlzaWJsZSBhbmQgaWdub3JlIGFueXRoaW5nIGVsc2UsCiAg
ICAgICAgIC8vIHNlZSBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzMi8jb3ZlcmZsb3cuIEFz
IGEgdGFibGUgaXMgbm90IGEgYmxvY2sKICAgICAgICAgLy8gY29udGFpbmVyIGJveCB0aGUgcnVs
ZXMgZm9yIHJlc29sdmluZyBjb25mbGljdGluZyB4IGFuZCB5IHZhbHVlcyBpbiBDU1MgT3ZlcmZs
b3cgTW9kdWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RhYmxlL25vbi1wb3NpdGlv
bmVkLXJvdy1uby1jb250YWlubWVudC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90
YWJsZS9ub24tcG9zaXRpb25lZC1yb3ctbm8tY29udGFpbm1lbnQtZXhwZWN0ZWQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmIxYzliMzliODFmZgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGFibGUvbm9uLXBvc2l0aW9uZWQtcm93LW5v
LWNvbnRhaW5tZW50LWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxNCBAQAorPCFkb2N0eXBlIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPk5vbi1wb3NpdGlvbmVkIHRhYmxlIHJvdyBkb2Vz
IG5vdCBjb250YWluIGFic29sdXRlIGRlc2NlbmRhbnRzIChyZWZlcmVuY2UpPC90aXRsZT4KKzxz
dHlsZT4KK2JvZHkgeworICAgIG1hcmdpbjogMDsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxkaXYgc3R5bGU9IndpZHRoOiAyMDBweDsgaGVpZ2h0OiAyMDBweDsgYmFja2dyb3VuZDog
Z3JlZW4iPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC90YWJsZS9ub24tcG9zaXRpb25lZC1yb3ctbm8tY29udGFpbm1lbnQuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvdGFibGUvbm9uLXBvc2l0aW9uZWQtcm93LW5vLWNvbnRhaW5tZW50Lmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5lMjNlNjhkZjM0MzIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RhYmxlL25vbi1wb3NpdGlvbmVkLXJv
dy1uby1jb250YWlubWVudC5odG1sCkBAIC0wLDAgKzEsMzMgQEAKKzwhZG9jdHlwZSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5Ob24tcG9zaXRpb25lZCB0YWJsZSByb3cgZG9lcyBub3Qg
Y29udGFpbiBhYnNvbHV0ZSBkZXNjZW5kYW50czwvdGl0bGU+Cis8bGluayByZWw9Im1hdGNoIiBo
cmVmPSJub24tcG9zaXRpb25lZC1yb3ctbm8tY29udGFpbm1lbnQtZXhwZWN0ZWQuaHRtbCI+Cis8
c3R5bGU+Citib2R5IHsKKyAgICBtYXJnaW46IDA7Cit9Cit0YWJsZSB7CisgICAgYm9yZGVyLXNw
YWNpbmc6IDA7CisgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsKKyAgICBib3JkZXI6IG5v
bmU7Cit9Cit0ZCB7CisgICAgcGFkZGluZzogMDsKKyAgICBib3JkZXI6IG5vbmU7Cit9Cis8L3N0
eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8IS0tIFdpdGhvdXQgcG9zaXRpb246IHJlbGF0aXZlIG9u
IHRoZSByb3csIHRoZSBhYnNvbHV0ZSBkaXYgc2hvdWxkIGVzY2FwZSB0byB0aGUKKyAgICAgbmVh
cmVzdCBwb3NpdGlvbmVkIGFuY2VzdG9yICh0aGUgb3V0ZXIgZGl2KSwgY292ZXJpbmcgaXQgZW50
aXJlbHkuIC0tPgorPGRpdiBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlOyB3aWR0aDogMjAwcHg7
IGhlaWdodDogMjAwcHgiPgorICAgIDx0YWJsZT4KKyAgICAgICAgPHRyPgorICAgICAgICAgICAg
PHRkIHN0eWxlPSJ3aWR0aDogNTBweDsgaGVpZ2h0OiA1MHB4Ij5DZWxsPC90ZD4KKyAgICAgICAg
PC90cj4KKyAgICA8L3RhYmxlPgorICAgIDxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsg
aW5zZXQ6IDA7IGJhY2tncm91bmQ6IGdyZWVuIj48L2Rpdj4KKzwvZGl2PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9yZWxhdGl2ZS1wb3NpdGlv
bi1yb3ctY29udGFpbm1lbnQtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGFibGUv
cmVsYXRpdmUtcG9zaXRpb24tcm93LWNvbnRhaW5tZW50LWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4yNzA4OGM1NmQ1ZTYKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RhYmxlL3JlbGF0aXZlLXBvc2l0aW9uLXJvdy1jb250
YWlubWVudC1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMTUgQEAKKzwhZG9jdHlwZSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5Qb3NpdGlvbmVkIHRhYmxlIHJvdyBhcyBjb250YWluaW5n
IGJsb2NrIGZvciBhYnNvbHV0ZSBkZXNjZW5kYW50cyAocmVmZXJlbmNlKTwvdGl0bGU+Cis8c3R5
bGU+Citib2R5IHsKKyAgICBtYXJnaW46IDA7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2IHN0eWxlPSJoZWlnaHQ6IDUwcHgiPjwvZGl2PgorPGRpdiBzdHlsZT0id2lkdGg6IDEw
MHB4OyBoZWlnaHQ6IDEwMHB4OyBiYWNrZ3JvdW5kOiBncmVlbiI+PC9kaXY+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RhYmxlL3JlbGF0aXZlLXBvc2l0
aW9uLXJvdy1jb250YWlubWVudC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9yZWxhdGl2
ZS1wb3NpdGlvbi1yb3ctY29udGFpbm1lbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAuLjQxNmM0YThiYzllYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvdGFibGUvcmVsYXRpdmUtcG9zaXRpb24tcm93LWNvbnRhaW5tZW50Lmh0bWwKQEAg
LTAsMCArMSwzMiBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPlBv
c2l0aW9uZWQgdGFibGUgcm93IGFzIGNvbnRhaW5pbmcgYmxvY2sgZm9yIGFic29sdXRlIGRlc2Nl
bmRhbnRzPC90aXRsZT4KKzxsaW5rIHJlbD0ibWF0Y2giIGhyZWY9InJlbGF0aXZlLXBvc2l0aW9u
LXJvdy1jb250YWlubWVudC1leHBlY3RlZC5odG1sIj4KKzxzdHlsZT4KK2JvZHkgeworICAgIG1h
cmdpbjogMDsKK30KK3RhYmxlIHsKKyAgICBib3JkZXItc3BhY2luZzogMDsKKyAgICBib3JkZXIt
Y29sbGFwc2U6IGNvbGxhcHNlOworICAgIGJvcmRlcjogbm9uZTsKK30KK3RkIHsKKyAgICBwYWRk
aW5nOiAwOworICAgIGJvcmRlcjogbm9uZTsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4K
KzwhLS0gUHVzaCB0aGUgdGFibGUgZG93biB0byB2ZXJpZnkgdGhlIGFic29sdXRlIGRpdiBpcyBh
bmNob3JlZCB0byB0aGUgcm93LCBub3QgdGhlIHZpZXdwb3J0LiAtLT4KKzxkaXYgc3R5bGU9Imhl
aWdodDogNTBweCI+PC9kaXY+Cis8dGFibGU+CisgICAgPHRyIHN0eWxlPSJwb3NpdGlvbjogcmVs
YXRpdmUiPgorICAgICAgICA8dGQgc3R5bGU9IndpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweCI+
CisgICAgICAgICAgICA8ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGluc2V0OiAwOyBi
YWNrZ3JvdW5kOiBncmVlbiI+PC9kaXY+CisgICAgICAgIDwvdGQ+CisgICAgPC90cj4KKzwvdGFi
bGU+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RhYmxl
L3JlbGF0aXZlLXBvc2l0aW9uLXJvdy1tdWx0aWNlbGwtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvdGFibGUvcmVsYXRpdmUtcG9zaXRpb24tcm93LW11bHRpY2VsbC1leHBlY3RlZC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMGRlZWMyYjU5MTZi
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9yZWxhdGl2ZS1wb3Np
dGlvbi1yb3ctbXVsdGljZWxsLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxNCBAQAorPCFkb2N0
eXBlIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPkFic29sdXRlIGNoaWxkIG9mIHBvc2l0
aW9uZWQgdGFibGUgcm93IHNwYW5zIGZ1bGwgcm93IHdpZHRoIChyZWZlcmVuY2UpPC90aXRsZT4K
KzxzdHlsZT4KK2JvZHkgeworICAgIG1hcmdpbjogMDsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxkaXYgc3R5bGU9IndpZHRoOiAyMDBweDsgaGVpZ2h0OiA1MHB4OyBiYWNrZ3JvdW5k
OiBncmVlbiI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L3RhYmxlL3JlbGF0aXZlLXBvc2l0aW9uLXJvdy1tdWx0aWNlbGwuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvdGFibGUvcmVsYXRpdmUtcG9zaXRpb24tcm93LW11bHRpY2VsbC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMmY5NGMzYjczYjhlCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9yZWxhdGl2ZS1wb3NpdGlvbi1y
b3ctbXVsdGljZWxsLmh0bWwKQEAgLTAsMCArMSwzMyBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPHRpdGxlPkFic29sdXRlIGNoaWxkIG9mIHBvc2l0aW9uZWQgdGFibGUgcm93
IHNwYW5zIGZ1bGwgcm93IHdpZHRoPC90aXRsZT4KKzxsaW5rIHJlbD0ibWF0Y2giIGhyZWY9InJl
bGF0aXZlLXBvc2l0aW9uLXJvdy1tdWx0aWNlbGwtZXhwZWN0ZWQuaHRtbCI+Cis8c3R5bGU+Citi
b2R5IHsKKyAgICBtYXJnaW46IDA7Cit9Cit0YWJsZSB7CisgICAgYm9yZGVyLXNwYWNpbmc6IDA7
CisgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsKKyAgICBib3JkZXI6IG5vbmU7Cit9Cit0
ZCB7CisgICAgcGFkZGluZzogMDsKKyAgICBib3JkZXI6IG5vbmU7Cit9Cis8L3N0eWxlPgorPC9o
ZWFkPgorPGJvZHk+Cis8IS0tIFRoZSBncmVlbiBkaXYgc2hvdWxkIGNvdmVyIHRoZSBlbnRpcmUg
cm93IChib3RoIGNlbGxzKS4gLS0+Cis8dGFibGU+CisgICAgPHRyIHN0eWxlPSJwb3NpdGlvbjog
cmVsYXRpdmUiPgorICAgICAgICA8dGQgc3R5bGU9IndpZHRoOiAxMDBweDsgaGVpZ2h0OiA1MHB4
Ij4KKyAgICAgICAgICAgIENlbGwgMQorICAgICAgICAgICAgPGRpdiBzdHlsZT0icG9zaXRpb246
IGFic29sdXRlOyBpbnNldDogMDsgYmFja2dyb3VuZDogZ3JlZW4iPjwvZGl2PgorICAgICAgICA8
L3RkPgorICAgICAgICA8dGQgc3R5bGU9IndpZHRoOiAxMDBweDsgaGVpZ2h0OiA1MHB4Ij5DZWxs
IDI8L3RkPgorICAgIDwvdHI+Cis8L3RhYmxlPgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>478963</attachid>
            <date>2026-04-08 07:51:33 -0700</date>
            <delta_ts>2026-04-08 13:25:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-240961-20260408075132.patch</filename>
            <type>text/plain</type>
            <size>31483</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSBiZWUzNTJkODRiOTVkYzI1ZWRjZjQ5OTMxOGU5NzIzOTI2ZDY2MzczIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IFdlZCwgOCBBcHIgMjAyNiAwNzowMDowMSAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIGBwb3NpdGlv
bjogcmVsYXRpdmVgIGRvZXNuJ3Qgd29yayBhcyBleHBlY3RlZCBvbiB0YWJsZSByb3cKIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNDA5NjEgPHJkYXI6Ly9wcm9ibGVt
Lzk0Mjk0ODE5PgoKUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgpXaGVuIHlvdSBwdXQgYHBv
c2l0aW9uOiByZWxhdGl2ZWAgb24gYSA8dHI+LCBhbnkgYWJzb2x1dGVseSBwb3NpdGlvbmVkCmNo
aWxkIChsaWtlIDxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgaW5zZXQ6IDAiPikgc2hv
dWxkIHNpemUgYW5kCnBvc2l0aW9uIGl0c2VsZiByZWxhdGl2ZSB0byB0aGF0IHJvdy4gSW5zdGVh
ZCwgaXQgd2FzIGVzY2FwaW5nIHRvIHRoZQp2aWV3cG9ydCAtIHRoZSByZWQgYm94IGZpbGxlZCB0
aGUgd2hvbGUgcGFnZSBpbnN0ZWFkIG9mIGp1c3QgdGhlIHJvdy4KClRocmVlIHRoaW5ncyB3ZXJl
IHByZXZlbnRpbmcgdGhpczoKCjEuIFRoZSBzdHlsZSBzeXN0ZW0gd2FzIHJlbW92aW5nIGBwb3Np
dGlvbjogcmVsYXRpdmVgIGZyb20gdGFibGUKICAgcm93cy4gVGhlcmUgd2FzIG9sZCBjb2RlIGlu
IHRoZSBzdHlsZSBhZGp1c3RlciB0aGF0IGZvcmNlZCBhbGwgdGFibGUKICAgcm93cyBiYWNrIHRv
IGBwb3NpdGlvbjogc3RhdGljYC4gVGhpcyB3YXMgYSB3b3JrYXJvdW5kIGZvciBhIGNyYXNoCiAg
IHRoYXQgaGFwcGVuZWQgYmVjYXVzZSBvZiBwcm9ibGVtICMyIGJlbG93LgoKMi4gUmVuZGVyVGFi
bGVSb3cgZXh0ZW5kZWQgUmVuZGVyQm94LCBidXQgYGNvbnRhaW5pbmdCbG9jaygpYCByZXR1cm5z
CiAgIFJlbmRlckJsb2NrKi4gU2luY2UgdGhlIHJvdyB3YXNuJ3QgYSBSZW5kZXJCbG9jaywgdGhl
IGNvbnRhaW5pbmcKICAgYmxvY2sgc2VhcmNoIHdhbGtlZCByaWdodCBwYXN0IGl0IGFuZCBrZXB0
IGdvaW5nIHVwIHRoZSB0cmVlIHVudGlsIGl0CiAgIGhpdCB0aGUgdmlld3BvcnQuIFRoZSBmaXgg
aXMgdG8gbWFrZSBSZW5kZXJUYWJsZVJvdyBleHRlbmQgUmVuZGVyQmxvY2sKICAgaW5zdGVhZCwg
anVzdCBsaWtlIFJlbmRlclRhYmxlQ2VsbCAod2hpY2ggZXh0ZW5kcyBSZW5kZXJCbG9ja0Zsb3cp
IGFuZAogICBSZW5kZXJUYWJsZSAod2hpY2ggZXh0ZW5kcyBSZW5kZXJCbG9jaykuIFJlbmRlckJs
b2NrIGFkZHMgbm8gZXh0cmEKICAgZGF0YSBtZW1iZXJzLCBhbmQgUmVuZGVyVGFibGVSb3c6Omxh
eW91dCgpIHN0aWxsIGNvbXBsZXRlbHkgb3ZlcnJpZGVzCiAgIGxheW91dCAtLSBibG9jayBsYXlv
dXQgaXMgbmV2ZXIgaW52b2tlZC4KCjMuIFJlbmRlclRhYmxlUm93OjpyZXF1aXJlc0xheWVyKCkg
d2FzIG1pc3NpbmcgYGlzUG9zaXRpb25lZCgpYC4gV2l0aG91dAogICBhIHJlbmRlciBsYXllciwg
YSBgcG9zaXRpb246IHJlbGF0aXZlYCByb3cgY291bGRuJ3QgZXN0YWJsaXNoIHRoZQogICByaWdo
dCBjb29yZGluYXRlIHN5c3RlbSAtLSB0aGUgYWJzb2x1dGUgY2hpbGQgd2FzIHNpemVkIGNvcnJl
Y3RseSBidXQKICAgZHJhd24gYXQgdGhlIHZpZXdwb3J0J3MgdG9wLWxlZnQgY29ybmVyIGluc3Rl
YWQgb2YgdGhlIHJvdydzIHBvc2l0aW9uLgoKVGFibGUgcm93cyBhcmUgc3BlY2lhbCBiZWNhdXNl
IHRoZWlyIGZpbmFsIGRpbWVuc2lvbnMgYXJlIHNldCBieQpsYXlvdXRSb3dzKCkgYWZ0ZXIgbGF5
b3V0KCkgZmluaXNoZXMgKHRoZSByb3cgaGVpZ2h0IGRlcGVuZHMgb24gY2VsbApoZWlnaHRzKS4g
U28gbGF5b3V0T3V0T2ZGbG93Qm94ZXMoKSBhbmQgY2xlYXJOZWVkc0xheW91dCgpIGFyZSBjYWxs
ZWQgaW4KbGF5b3V0Um93cygpIG9uY2UgdGhlIHJvdyBoYXMgaXRzIGZpbmFsIHNpemUsIG5vdCBp
biBsYXlvdXQoKS4KCiogTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9ub24tcG9zaXRpb25lZC1yb3ct
bm8tY29udGFpbm1lbnQtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCiogTGF5b3V0VGVzdHMvZmFzdC90
YWJsZS9ub24tcG9zaXRpb25lZC1yb3ctbm8tY29udGFpbm1lbnQuaHRtbDogQWRkZWQuCiogTGF5
b3V0VGVzdHMvZmFzdC90YWJsZS9yZWxhdGl2ZS1wb3NpdGlvbi1yb3ctY29udGFpbm1lbnQtZXhw
ZWN0ZWQuaHRtbDogQWRkZWQuCiogTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9yZWxhdGl2ZS1wb3Np
dGlvbi1yb3ctY29udGFpbm1lbnQuaHRtbDogQWRkZWQuCiogTGF5b3V0VGVzdHMvZmFzdC90YWJs
ZS9yZWxhdGl2ZS1wb3NpdGlvbi1yb3ctbXVsdGljZWxsLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgoq
IExheW91dFRlc3RzL2Zhc3QvdGFibGUvcmVsYXRpdmUtcG9zaXRpb24tcm93LW11bHRpY2VsbC5o
dG1sOiBBZGRlZC4KKiBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5jcHA6CihX
ZWJDb3JlOjpzaG91bGRFbWl0TmV3bGluZXNCZWZvcmVBbmRBZnRlck5vZGUpOgoqIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9PdXRsaW5lUGFpbnRlci5jcHA6CihXZWJDb3JlOjpPdXRsaW5lUGFp
bnRlcjo6Y29sbGVjdEZvY3VzUmluZ1JlY3RzRm9yQmxvY2spOgoqIFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9Qb3NpdGlvbmVkTGF5b3V0Q29uc3RyYWludHMuY3BwOgooV2ViQ29yZTo6c3RhdGlj
RGlzdGFuY2UpOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oOgoqIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwOgooV2ViQ29yZTo6UmVuZGVyQm94
Ojp0b3BMZWZ0TG9jYXRpb25XaXRoRmxpcHBpbmcgY29uc3QpOgooV2ViQ29yZTo6UmVuZGVyQm94
OjpvZmZzZXRGcm9tTG9naWNhbFRvcE9mRmlyc3RQYWdlIGNvbnN0KToKKiBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwOgooV2ViQ29yZTo6UmVuZGVyQm94
TW9kZWxPYmplY3Q6OmNvbXB1dGVTdGlja3lQb3NpdGlvbkNvbnN0cmFpbnRzIGNvbnN0KToKKiBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRlZEZsb3cuY3BwOgooV2ViQ29y
ZTo6UmVuZGVyRnJhZ21lbnRlZEZsb3c6Om9mZnNldEZyb21Mb2dpY2FsVG9wT2ZGaXJzdEZyYWdt
ZW50IGNvbnN0KToKKiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUuY3BwOgoo
V2ViQ29yZTo6UmVuZGVyVGFibGU6OnBhaW50Q29sbGFwc2VkQm9yZGVyc0ZvclJvdyk6CihXZWJD
b3JlOjpSZW5kZXJUYWJsZTo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMpOgoqIFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZS5oOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUYWJsZUNlbGwuY3BwOgooV2ViQ29yZTo6UmVuZGVyVGFibGVDZWxsOjpvZmZz
ZXRGcm9tQ29udGFpbmVyIGNvbnN0KToKKiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGFibGVSb3cuY3BwOgooV2ViQ29yZTo6UmVuZGVyVGFibGVSb3c6OlJlbmRlclRhYmxlUm93KToK
KFdlYkNvcmU6OlJlbmRlclRhYmxlUm93Ojp3aWxsQmVSZW1vdmVkRnJvbVRyZWUpOgooV2ViQ29y
ZTo6UmVuZGVyVGFibGVSb3c6OnN0eWxlRGlkQ2hhbmdlKToKKFdlYkNvcmU6OlJlbmRlclRhYmxl
Um93OjpsYXlvdXQpOgooV2ViQ29yZTo6UmVuZGVyVGFibGVSb3c6OmNsaXBwZWRPdmVyZmxvd1Jl
Y3QgY29uc3QpOgooV2ViQ29yZTo6UmVuZGVyVGFibGVSb3c6OnBhaW50KToKKFdlYkNvcmU6OlJl
bmRlclRhYmxlUm93OjpyZXF1aXJlc0xheWVyIGNvbnN0KToKKiBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGFibGVSb3cuaDoKKFdlYkNvcmU6OlJlbmRlclRhYmxlUm93OjpuZXh0Um93
IGNvbnN0KToKKFdlYkNvcmU6OlJlbmRlclRhYmxlUm93OjpwcmV2aW91c1JvdyBjb25zdCk6Ciog
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5jcHA6CihXZWJDb3Jl
OjpSZW5kZXJUYWJsZVNlY3Rpb246OmxheW91dFJvd3MpOgoqIFNvdXJjZS9XZWJDb3JlL3N0eWxl
L1N0eWxlQWRqdXN0ZXIuY3BwOgooV2ViQ29yZTo6U3R5bGU6OkFkanVzdGVyOjphZGp1c3QgY29u
c3QpOgotLS0KIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcCAgICAgICB8
ICA1ICsrKwogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL091dGxpbmVQYWludGVyLmNwcCAgIHwg
IDUgKysrCiAuLi4vcmVuZGVyaW5nL1Bvc2l0aW9uZWRMYXlvdXRDb25zdHJhaW50cy5jcHAgfCAg
NSArKysKIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oICAgICAgICB8ICAz
ICstCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcCAgICAgICAgfCAgOSAr
KysrKwogLi4uL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAgICAgICAgIHwgIDQg
KystCiAuLi4vcmVuZGVyaW5nL1JlbmRlckZyYWdtZW50ZWRGbG93LmNwcCAgICAgICAgfCAgNCAr
KysKIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZS5jcHAgICAgICB8IDMwICsr
KysrKysrKysrKysrKysrCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUuaCAg
ICAgICAgfCAgMiArKwogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5j
cHAgIHwgMTAgKysrKy0tCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVSb3cu
Y3BwICAgfCAyMyArKysrKysrKy0tLS0tCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGFibGVSb3cuaCAgICAgfCAgNyArKy0tCiAuLi4vV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFi
bGVTZWN0aW9uLmNwcCAgfCAxMCArKysrKy0KIFNvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQWRq
dXN0ZXIuY3BwICAgICAgICB8IDEzICsrKysrLS0tCiAuLi5vc2l0aW9uZWQtcm93LW5vLWNvbnRh
aW5tZW50LWV4cGVjdGVkLmh0bWwgfCAxNCArKysrKysrKwogLi4uL25vbi1wb3NpdGlvbmVkLXJv
dy1uby1jb250YWlubWVudC5odG1sICAgIHwgMzMgKysrKysrKysrKysrKysrKysrKwogLi4uaXZl
LXBvc2l0aW9uLXJvdy1jb250YWlubWVudC1leHBlY3RlZC5odG1sIHwgMTUgKysrKysrKysrCiAu
Li4vcmVsYXRpdmUtcG9zaXRpb24tcm93LWNvbnRhaW5tZW50Lmh0bWwgICAgfCAzMiArKysrKysr
KysrKysrKysrKysKIC4uLmF0aXZlLXBvc2l0aW9uLXJvdy1tdWx0aWNlbGwtZXhwZWN0ZWQuaHRt
bCB8IDE0ICsrKysrKysrCiAuLi4vcmVsYXRpdmUtcG9zaXRpb24tcm93LW11bHRpY2VsbC5odG1s
ICAgICAgfCAzMyArKysrKysrKysrKysrKysrKysrCiAyMCBmaWxlcyBjaGFuZ2VkLCAyNTAgaW5z
ZXJ0aW9ucygrKSwgMjEgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVz
dHMvZmFzdC90YWJsZS9ub24tcG9zaXRpb25lZC1yb3ctbm8tY29udGFpbm1lbnQtZXhwZWN0ZWQu
aHRtbAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3QvdGFibGUvbm9uLXBvc2l0
aW9uZWQtcm93LW5vLWNvbnRhaW5tZW50Lmh0bWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRU
ZXN0cy9mYXN0L3RhYmxlL3JlbGF0aXZlLXBvc2l0aW9uLXJvdy1jb250YWlubWVudC1leHBlY3Rl
ZC5odG1sCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9yZWxhdGl2
ZS1wb3NpdGlvbi1yb3ctY29udGFpbm1lbnQuaHRtbAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91
dFRlc3RzL2Zhc3QvdGFibGUvcmVsYXRpdmUtcG9zaXRpb24tcm93LW11bHRpY2VsbC1leHBlY3Rl
ZC5odG1sCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9yZWxhdGl2
ZS1wb3NpdGlvbi1yb3ctbXVsdGljZWxsLmh0bWwKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL1RleHRJdGVyYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRJ
dGVyYXRvci5jcHAKaW5kZXggMDFlMzgzNjY2OTFjLi42ZWU0OWYyNTQ0NGUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5jcHAKQEAgLTk0MCw2ICs5NDAsMTEgQEAgYm9vbCBz
aG91bGRFbWl0TmV3bGluZXNCZWZvcmVBbmRBZnRlck5vZGUoTm9kZSYgbm9kZSkKICAgICBpZiAo
c2hvdWxkRW1pdFJlcGxhY2VtZW50SW5zdGVhZE9mTm9kZShub2RlKSkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogCisgICAgLy8gVGFibGUgcm93cyBhcmUgUmVuZGVyQmxvY2tzIGJ1dCBoYXZlIHRo
ZWlyIG93biBuZXdsaW5lIGxvZ2ljIGFib3ZlCisgICAgLy8gdGhhdCBhY2NvdW50cyBmb3IgaW5s
aW5lIHRhYmxlcy4KKyAgICBpZiAoaXM8UmVuZGVyVGFibGVSb3c+KCpyZW5kZXJlcikpCisgICAg
ICAgIHJldHVybiBmYWxzZTsKKwogICAgIHJldHVybiAhcmVuZGVyZXItPmlzSW5saW5lKCkKICAg
ICAgICAgJiYgaXM8UmVuZGVyQmxvY2s+KCpyZW5kZXJlcikKICAgICAgICAgJiYgIXJlbmRlcmVy
LT5pc0Zsb2F0aW5nT3JPdXRPZkZsb3dQb3NpdGlvbmVkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9PdXRsaW5lUGFpbnRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvT3V0bGluZVBhaW50ZXIuY3BwCmluZGV4IDUwMDAwNDdlZDc2Ny4uMzkwYzQ0MGRmZGM5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvT3V0bGluZVBhaW50ZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9PdXRsaW5lUGFpbnRlci5jcHAKQEAgLTM4
OSw2ICszODksMTEgQEAgYm9vbCBPdXRsaW5lUGFpbnRlcjo6Y29sbGVjdEZvY3VzUmluZ1JlY3Rz
Rm9yQmxvY2soY29uc3QgUmVuZGVyQmxvY2smIHJlbmRlcmVyLAogICAgIGlmIChyZW5kZXJlci53
aWR0aCgpICYmIHJlbmRlcmVyLmhlaWdodCgpKQogICAgICAgICByZWN0cy5hcHBlbmQoTGF5b3V0
UmVjdChhZGRpdGlvbmFsT2Zmc2V0LCByZW5kZXJlci5zaXplKCkpKTsKIAorICAgIC8vIFRhYmxl
IHJvd3Mgc2hhcmUgY29vcmRpbmF0ZSBzcGFjZSB3aXRoIGNlbGxzOyBkb24ndCByZWN1cnNlIGlu
dG8gY2VsbHMKKyAgICAvLyBhcyB0aGVpciBib3VuZHMgbWF5IGV4dGVuZCBiZXlvbmQgdGhlIHJv
dyAoZS5nLiByb3dzcGFuKS4KKyAgICBpZiAocmVuZGVyZXIuaXNSZW5kZXJUYWJsZVJvdygpKQor
ICAgICAgICByZXR1cm4gdHJ1ZTsKKwogICAgIGlmICghcmVuZGVyZXIuaGFzTm9uVmlzaWJsZU92
ZXJmbG93KCkgJiYgIXJlbmRlcmVyLmhhc0NvbnRyb2xDbGlwKCkpIHsKICAgICAgICAgaWYgKHJl
bmRlcmVyLmNoaWxkcmVuSW5saW5lKCkgJiYgaXM8UmVuZGVyQmxvY2tGbG93PihyZW5kZXJlcikp
CiAgICAgICAgICAgICBjb2xsZWN0Rm9jdXNSaW5nUmVjdHNGb3JJbmxpbmVDaGlsZHJlbihkb3du
Y2FzdDxSZW5kZXJCbG9ja0Zsb3c+KHJlbmRlcmVyKSwgcmVjdHMsIGFkZGl0aW9uYWxPZmZzZXQs
IHBhaW50Q29udGFpbmVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Q
b3NpdGlvbmVkTGF5b3V0Q29uc3RyYWludHMuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1Bvc2l0aW9uZWRMYXlvdXRDb25zdHJhaW50cy5jcHAKaW5kZXggZjYxYWQ4OGMyMWQ4Li41Y2Jj
YWRiZDRkMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Qb3NpdGlvbmVk
TGF5b3V0Q29uc3RyYWludHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Qb3Np
dGlvbmVkTGF5b3V0Q29uc3RyYWludHMuY3BwCkBAIC02ODEsNiArNjgxLDExIEBAIHN0YXRpYyBM
YXlvdXRQb2ludCBzdGF0aWNEaXN0YW5jZShjb25zdCBSZW5kZXJCb3hNb2RlbE9iamVjdCYgY29u
dGFpbmVyLCBjb25zdCBSCiAgICAgfQogCiAgICAgc3RhdGljUG9zaXRpb24gPSBjaGlsZCA9PSAm
b3V0T2ZGbG93Qm94ID8gaW5pdGlhbFN0YXRpY1Bvc2l0aW9uKCkgOiBwb3NpdGlvbkluQ29udGFp
bmVyKCpjb250YWluaW5nQmxvY2ssICpjaGlsZCwgc3RhdGljUG9zaXRpb24pOworICAgIC8vIFRh
YmxlIHJvd3MgYW5kIGNlbGxzIHNoYXJlIHRoZSBzZWN0aW9uJ3MgY29vcmRpbmF0ZSBzcGFjZS4g
VGhlIGNlbGwncworICAgIC8vIGxvZ2ljYWxUb3AoKSBpcyBzZWN0aW9uLXJlbGF0aXZlLCBidXQg
cG9zaXRpb25JbkNvbnRhaW5lciB0cmVhdGVkIGl0IGFzCisgICAgLy8gcm93LXJlbGF0aXZlLiBT
dWJ0cmFjdCB0aGUgcm93J3MgcG9zaXRpb24gdG8gY29ycmVjdCBmb3IgdGhpcy4KKyAgICBpZiAo
aXM8UmVuZGVyVGFibGVSb3c+KGNvbnRhaW5pbmdCbG9jaykpCisgICAgICAgIHN0YXRpY1Bvc2l0
aW9uLm1vdmVCeSgtY29udGFpbmluZ0Jsb2NrLT5sb2NhdGlvbigpKTsKICAgICBzdGF0aWNQb3Np
dGlvbiAtPSBjb250YWluaW5nQmxvY2tCb3JkZXJTaXplOwogICAgIHJldHVybiBzdGF0aWNQb3Np
dGlvbjsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9j
ay5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKaW5kZXggOGQxZWQz
ZDVkNTc3Li45ZmU0NTA0YTM4YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCbG9jay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9j
ay5oCkBAIC0yNTUsMTMgKzI1NSwxNCBAQCBwdWJsaWM6CiAKICAgICBQYWludEluZm8gcGFpbnRJ
bmZvRm9yQmxvY2tDaGlsZHJlbihjb25zdCBQYWludEluZm8mKSBjb25zdDsKIAorICAgIHZvaWQg
bGF5b3V0T3V0T2ZGbG93Qm94ZXMoUmVsYXlvdXRDaGlsZHJlbiwgYm9vbCBmaXhlZFBvc2l0aW9u
T2JqZWN0c09ubHkgPSBmYWxzZSk7CisKIHByb3RlY3RlZDoKICAgICBSZW5kZXJGcmFnbWVudGVk
RmxvdyogbG9jYXRlRW5jbG9zaW5nRnJhZ21lbnRlZEZsb3coKSBjb25zdCBvdmVycmlkZTsKICAg
ICBib29sIGVzdGFibGlzaGVzSW5kZXBlbmRlbnRGb3JtYXR0aW5nQ29udGV4dElnbm9yaW5nRGlz
cGxheVR5cGUoY29uc3QgUmVuZGVyU3R5bGUmKSBjb25zdDsKIAogICAgIHZvaWQgbGF5b3V0KCkg
b3ZlcnJpZGU7CiAKLSAgICB2b2lkIGxheW91dE91dE9mRmxvd0JveGVzKFJlbGF5b3V0Q2hpbGRy
ZW4sIGJvb2wgZml4ZWRQb3NpdGlvbk9iamVjdHNPbmx5ID0gZmFsc2UpOwogICAgIHZpcnR1YWwg
dm9pZCBsYXlvdXRPdXRPZkZsb3dCb3goUmVuZGVyQm94JiwgUmVsYXlvdXRDaGlsZHJlbiwgYm9v
bCBmaXhlZFBvc2l0aW9uT2JqZWN0c09ubHkpOwogICAgIAogICAgIHZvaWQgbWFya0ZpeGVkUG9z
aXRpb25Cb3hGb3JMYXlvdXRJZk5lZWRlZChSZW5kZXJCb3gmIGNoaWxkKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJveC5jcHAKaW5kZXggMTRlYjQzNDc2NmZmLi5hOWIwYmEwMGMyNmQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCkBAIC01MDQxLDYgKzUwNDEs
MTAgQEAgTGF5b3V0UG9pbnQgUmVuZGVyQm94Ojp0b3BMZWZ0TG9jYXRpb25XaXRoRmxpcHBpbmco
KSBjb25zdAogICAgIGF1dG8qIGNvbnRhaW5lckJsb2NrID0gY29udGFpbmluZ0Jsb2NrKCk7CiAg
ICAgaWYgKCFjb250YWluZXJCbG9jayB8fCBjb250YWluZXJCbG9jayA9PSB0aGlzKQogICAgICAg
ICByZXR1cm4gbG9jYXRpb24oKTsKKyAgICAvLyBUYWJsZSByb3dzIGFuZCBjZWxscyBzaGFyZSB0
aGUgc2VjdGlvbidzIGNvb3JkaW5hdGUgc3BhY2UuIFRoZSByb3cncworICAgIC8vIGRpbWVuc2lv
bnMgYXJlIHdyb25nIGZvciBmbGlwcGluZyB0aGUgY2VsbCdzIHNlY3Rpb24tcmVsYXRpdmUgcG9z
aXRpb24uCisgICAgaWYgKGlzPFJlbmRlclRhYmxlUm93Pihjb250YWluZXJCbG9jaykpCisgICAg
ICAgIGNvbnRhaW5lckJsb2NrID0gY29udGFpbmVyQmxvY2stPmNvbnRhaW5pbmdCbG9jaygpOwog
ICAgIHJldHVybiBjb250YWluZXJCbG9jay0+ZmxpcEZvcldyaXRpbmdNb2RlRm9yQ2hpbGQoKnRo
aXMsIGxvY2F0aW9uKCkpOwogfQogCkBAIC01MjMzLDYgKzUyMzcsMTEgQEAgTGF5b3V0VW5pdCBS
ZW5kZXJCb3g6Om9mZnNldEZyb21Mb2dpY2FsVG9wT2ZGaXJzdFBhZ2UoKSBjb25zdAogICAgICAg
ICByZXR1cm4gMDsKIAogICAgIFJlbmRlckJsb2NrKiBjb250YWluZXJCbG9jayA9IGNvbnRhaW5p
bmdCbG9jaygpOworICAgIC8vIFRhYmxlIHJvd3MgYW5kIGNlbGxzIHNoYXJlIHRoZSBzZWN0aW9u
J3MgY29vcmRpbmF0ZSBzcGFjZS4gU2tpcCB0aGUgcm93CisgICAgLy8gdG8gYXZvaWQgZG91Ymxl
LWNvdW50aW5nIGl0cyBvZmZzZXQgLS0gdGhlIGNlbGwncyBsb2dpY2FsVG9wKCkgYWxyZWFkeQor
ICAgIC8vIGluY2x1ZGVzIHRoZSByb3cncyBwb3NpdGlvbiB3aXRoaW4gdGhlIHNlY3Rpb24uCisg
ICAgaWYgKGlzPFJlbmRlclRhYmxlUm93Pihjb250YWluZXJCbG9jaykpCisgICAgICAgIGNvbnRh
aW5lckJsb2NrID0gY29udGFpbmVyQmxvY2stPmNvbnRhaW5pbmdCbG9jaygpOwogICAgIHJldHVy
biBjb250YWluZXJCbG9jay0+b2Zmc2V0RnJvbUxvZ2ljYWxUb3BPZkZpcnN0UGFnZSgpICsgbG9n
aWNhbFRvcCgpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQm94TW9kZWxPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJv
eE1vZGVsT2JqZWN0LmNwcAppbmRleCBhOWUwMzdhMTY4NjMuLjUyZmZjNTdhMzIzMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCkBA
IC00NjgsOCArNDY4LDEwIEBAIHZvaWQgUmVuZGVyQm94TW9kZWxPYmplY3Q6OmNvbXB1dGVTdGlj
a3lQb3NpdGlvbkNvbnN0cmFpbnRzKFN0aWNreVBvc2l0aW9uVmlld3BvCiAgICAgLy8gRG8gbm90
IHVzZSBhbm9ueW1vdXMgY29udGFpbmluZyBibG9ja3MgdG8gZGV0ZXJtaW5lIHN0aWNreSBjb25z
dHJhaW50cy4gV2Ugd2FudCB0aGUgc2l6ZQogICAgIC8vIG9mIHRoZSBmaXJzdCB0cnVlIGNvbnRh
aW5pbmcgYmxvY2ssIGJlY2F1c2UgdGhhdCBpcyB3aGF0IGltcG9zZXMgdGhlIGxpbWl0YXRpb24g
b24gdGhlCiAgICAgLy8gbW92ZW1lbnQgb2Ygc3RpY2tpbHkgcG9zaXRpb25lZCBpdGVtcy4KKyAg
ICAvLyBUYWJsZSByb3dzIGFyZSBhbHNvIHNraXBwZWQgYmVjYXVzZSBjZWxscyBhbmQgcm93cyBz
aGFyZSB0aGUgc2VjdGlvbidzIGNvb3JkaW5hdGUgc3BhY2UsCisgICAgLy8gc28gdGhlIHJvdydz
IGNvbnRlbnQgYm94IGlzIG5vdCB0aGUgcmlnaHQgY29uc3RyYWludCByZWN0YW5nbGUuCiAgICAg
UmVuZGVyQmxvY2sqIGNvbnRhaW5pbmdCbG9jayA9IHRoaXMtPmNvbnRhaW5pbmdCbG9jaygpOwot
ICAgIHdoaWxlIChjb250YWluaW5nQmxvY2sgJiYgKCFpczxSZW5kZXJCbG9jaz4oKmNvbnRhaW5p
bmdCbG9jaykgfHwgY29udGFpbmluZ0Jsb2NrLT5pc0Fub255bW91c0Jsb2NrKCkpKQorICAgIHdo
aWxlIChjb250YWluaW5nQmxvY2sgJiYgKCFpczxSZW5kZXJCbG9jaz4oKmNvbnRhaW5pbmdCbG9j
aykgfHwgY29udGFpbmluZ0Jsb2NrLT5pc0Fub255bW91c0Jsb2NrKCkgfHwgY29udGFpbmluZ0Js
b2NrLT5pc1JlbmRlclRhYmxlUm93KCkpKQogICAgICAgICBjb250YWluaW5nQmxvY2sgPSBjb250
YWluaW5nQmxvY2stPmNvbnRhaW5pbmdCbG9jaygpOwogICAgIEFTU0VSVChjb250YWluaW5nQmxv
Y2spOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhZ21l
bnRlZEZsb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYWdtZW50ZWRG
bG93LmNwcAppbmRleCBkYjE2MDhhY2YxNmYuLmEyYmYxYjE1ZDI5OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYWdtZW50ZWRGbG93LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRlZEZsb3cuY3BwCkBAIC03ODYsNiAr
Nzg2LDEwIEBAIExheW91dFVuaXQgUmVuZGVyRnJhZ21lbnRlZEZsb3c6Om9mZnNldEZyb21Mb2dp
Y2FsVG9wT2ZGaXJzdEZyYWdtZW50KGNvbnN0IFJlbmRlCiAgICAgICAgIEFTU0VSVChjb250YWlu
ZXJCbG9jayk7CiAgICAgICAgIGlmICghY29udGFpbmVyQmxvY2spCiAgICAgICAgICAgICByZXR1
cm4gMDsKKyAgICAgICAgLy8gVGFibGUgcm93cyBhbmQgY2VsbHMgc2hhcmUgdGhlIHNlY3Rpb24n
cyBjb29yZGluYXRlIHNwYWNlLCBzbyBza2lwCisgICAgICAgIC8vIHRoZSByb3cgdG8gYXZvaWQg
ZG91YmxlLWNvdW50aW5nIGl0cyBvZmZzZXQuCisgICAgICAgIGlmIChpczxSZW5kZXJUYWJsZVJv
dz4oY29udGFpbmVyQmxvY2spKQorICAgICAgICAgICAgY29udGFpbmVyQmxvY2sgPSBjb250YWlu
ZXJCbG9jay0+Y29udGFpbmluZ0Jsb2NrKCk7CiAgICAgICAgIExheW91dFBvaW50IGN1cnJlbnRC
bG9ja0xvY2F0aW9uID0gY3VycmVudEJsb2NrLT5sb2NhdGlvbigpOwogICAgICAgICBpZiAoYXV0
byogY2VsbCA9IGR5bmFtaWNEb3duY2FzdDxSZW5kZXJUYWJsZUNlbGw+KCpjdXJyZW50QmxvY2sp
KSB7CiAgICAgICAgICAgICBpZiAoYXV0byogc2VjdGlvbiA9IGNlbGwtPnNlY3Rpb24oKSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUuY3BwCmluZGV4IDA3NDM1ODU1Y2NiMS4u
MGExNjAxY2QzNzBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGFibGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZS5jcHAK
QEAgLTkxNCw2ICs5MTQsMjYgQEAgdm9pZCBSZW5kZXJUYWJsZTo6cGFpbnRPYmplY3QoUGFpbnRJ
bmZvJiBwYWludEluZm8sIGNvbnN0IExheW91dFBvaW50JiBwYWludE9mZnMKICAgICAgICAgcGFp
bnRPdXRsaW5lKHBhaW50SW5mbywgTGF5b3V0UmVjdChwYWludE9mZnNldCwgc2l6ZSgpKSk7CiB9
CiAKK3ZvaWQgUmVuZGVyVGFibGU6OnBhaW50Q29sbGFwc2VkQm9yZGVyc0ZvclJvdyhQYWludElu
Zm8mIHBhaW50SW5mbywgUmVuZGVyVGFibGVSb3cmIHJvdywgY29uc3QgTGF5b3V0UG9pbnQmIHBh
aW50T2Zmc2V0KQoreworICAgIEFTU0VSVChjb2xsYXBzZUJvcmRlcnMoKSk7CisgICAgcmVjYWxj
Q29sbGFwc2VkQm9yZGVycygpOworCisgICAgUGFpbnRJbmZvIGJvcmRlclBhaW50SW5mbyhwYWlu
dEluZm8pOworICAgIGJvcmRlclBhaW50SW5mby5waGFzZSA9IFBhaW50UGhhc2U6OkNvbGxhcHNl
ZFRhYmxlQm9yZGVyczsKKworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9jb2xsYXBzZWRC
b3JkZXJzLnNpemUoKTsgKytpKSB7CisgICAgICAgIG1fY3VycmVudEJvcmRlciA9ICZtX2NvbGxh
cHNlZEJvcmRlcnNbaV07CisgICAgICAgIGZvciAoYXV0byogY2VsbCA9IHJvdy5maXJzdENlbGwo
KTsgY2VsbDsgY2VsbCA9IGNlbGwtPm5leHRDZWxsKCkpIHsKKyAgICAgICAgICAgIGlmICghY2Vs
bC0+aGFzU2VsZlBhaW50aW5nTGF5ZXIoKSkgeworICAgICAgICAgICAgICAgIGF1dG8gY2VsbFBv
aW50ID0gcm93LnNlY3Rpb24oKS0+ZmxpcEZvcldyaXRpbmdNb2RlRm9yQ2hpbGQoKmNlbGwsIHBh
aW50T2Zmc2V0KTsKKyAgICAgICAgICAgICAgICBjZWxsLT5wYWludENvbGxhcHNlZEJvcmRlcnMo
Ym9yZGVyUGFpbnRJbmZvLCBjZWxsUG9pbnQpOworICAgICAgICAgICAgfQorICAgICAgICB9Cisg
ICAgfQorICAgIG1fY3VycmVudEJvcmRlciA9IHsgfTsKK30KKwogdm9pZCBSZW5kZXJUYWJsZTo6
YWRqdXN0Qm9yZGVyQm94UmVjdEZvclBhaW50aW5nKExheW91dFJlY3QmIHJlY3QpCiB7CiAgICAg
Zm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fY2FwdGlvbnMuc2l6ZSgpOyBpKyspIHsKQEAgLTEw
NDQsNiArMTA2NCwxNiBAQCB2b2lkIFJlbmRlclRhYmxlOjpjb21wdXRlUHJlZmVycmVkTG9naWNh
bFdpZHRocygpCiAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBiZSBhZGRpbmcgYm9yZGVyQW5kUGFk
ZGluZ0xvZ2ljYWxXaWR0aCBoZXJlLCBidXQgbV90YWJsZUxheW91dC0+Y29tcHV0ZVByZWZlcnJl
ZExvZ2ljYWxXaWR0aHMgYWxyZWFkeSBkb2VzLAogICAgIC8vIHNvIGEgYnVuY2ggb2YgdGVzdHMg
YnJlYWsgZG9pbmcgdGhpcyBuYWl2ZWx5LgogICAgIGNsZWFyTmVlZHNQcmVmZXJyZWRXaWR0aHNV
cGRhdGUoKTsKKworICAgIC8vIFJvdyB3aWR0aHMgYXJlIHNldCBieSB0aGUgc2VjdGlvbiwgbm90
IGNvbXB1dGVkIGZyb20gcHJlZmVycmVkIHdpZHRocywKKyAgICAvLyBzbyB0aGVpciBkaXJ0eSBi
aXQgaXMgbmV2ZXIgY2xlYXJlZCBieSB0aGUgbm9ybWFsIHByZWZlcnJlZCB3aWR0aAorICAgIC8v
IGNvbXB1dGF0aW9uLiBDbGVhciBpdCBoZXJlIHNvIGl0IGRvZXNuJ3QgYmxvY2sgc3Vic2VxdWVu
dCBpbnZhbGlkYXRpb24KKyAgICAvLyBmcm9tIHByb3BhZ2F0aW5nIHRocm91Z2ggdGhlIHJvdyB0
byB0aGUgdGFibGUuCisgICAgZm9yIChhdXRvKiBzZWN0aW9uID0gdG9wU2VjdGlvbigpOyBzZWN0
aW9uOyBzZWN0aW9uID0gc2VjdGlvbkJlbG93KHNlY3Rpb24pKSB7CisgICAgICAgIHNlY3Rpb24t
PmNsZWFyTmVlZHNQcmVmZXJyZWRXaWR0aHNVcGRhdGUoKTsKKyAgICAgICAgZm9yIChhdXRvKiBy
b3cgPSBzZWN0aW9uLT5maXJzdFJvdygpOyByb3c7IHJvdyA9IHJvdy0+bmV4dFJvdygpKQorICAg
ICAgICAgICAgcm93LT5jbGVhck5lZWRzUHJlZmVycmVkV2lkdGhzVXBkYXRlKCk7CisgICAgfQog
fQogCiBSZW5kZXJUYWJsZVNlY3Rpb24qIFJlbmRlclRhYmxlOjp0b3BOb25FbXB0eVNlY3Rpb24o
KSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxl
LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUuaAppbmRleCAyNWI0ZTFm
ZmZkMDEuLjUyODIyNGI0NjMzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRhYmxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxl
LmgKQEAgLTM3LDYgKzM3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgUmVuZGVyVGFi
bGVDb2w7CiBjbGFzcyBSZW5kZXJUYWJsZUNhcHRpb247CiBjbGFzcyBSZW5kZXJUYWJsZUNlbGw7
CitjbGFzcyBSZW5kZXJUYWJsZVJvdzsKIGNsYXNzIFJlbmRlclRhYmxlU2VjdGlvbjsKIGNsYXNz
IFRhYmxlTGF5b3V0OwogCkBAIC0xOTAsNiArMTkxLDcgQEAgcHVibGljOgogICAgIHZvaWQgaW52
YWxpZGF0ZUNvbGxhcHNlZEJvcmRlcnNBZnRlclN0eWxlQ2hhbmdlSWZOZWVkZWQoY29uc3QgUmVu
ZGVyU3R5bGUmIG9sZFN0eWxlLCBjb25zdCBSZW5kZXJTdHlsZSYgbmV3U3R5bGUsIFJlbmRlclRh
YmxlQ2VsbCogY2VsbFdpdGhTdHlsZUNoYW5nZSA9IG51bGxwdHIpOwogICAgIHZvaWQgY29sbGFw
c2VkRW1wdHlCb3JkZXJJc1ByZXNlbnQoKSB7IG1fY29sbGFwc2VkRW1wdHlCb3JkZXJJc1ByZXNl
bnQgPSB0cnVlOyB9CiAgICAgY29uc3QgQ29sbGFwc2VkQm9yZGVyVmFsdWUqIGN1cnJlbnRCb3Jk
ZXJWYWx1ZSgpIGNvbnN0IExJRkVUSU1FX0JPVU5EIHsgcmV0dXJuIG1fY3VycmVudEJvcmRlcjsg
fQorICAgIHZvaWQgcGFpbnRDb2xsYXBzZWRCb3JkZXJzRm9yUm93KFBhaW50SW5mbyYsIFJlbmRl
clRhYmxlUm93JiwgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2Zmc2V0KTsKICAgICAKICAgICBi
b29sIGhhc1NlY3Rpb25zKCkgY29uc3QgeyByZXR1cm4gbV9oZWFkIHx8IG1fZm9vdCB8fCBtX2Zp
cnN0Qm9keTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGFibGVDZWxsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNlbGwu
Y3BwCmluZGV4IDY0ZTY4Zjg2ZDcyYi4uYmI0ZTRkMGI0NmRhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxsLmNwcApAQCAtNTQ4LDggKzU0OCwxNCBAQCBMYXlv
dXRTaXplIFJlbmRlclRhYmxlQ2VsbDo6b2Zmc2V0RnJvbUNvbnRhaW5lcihjb25zdCBSZW5kZXJF
bGVtZW50JiBjb250YWluZXIsCiAgICAgQVNTRVJUKCZjb250YWluZXIgPT0gdGhpcy0+Y29udGFp
bmVyKCkpOwogCiAgICAgTGF5b3V0U2l6ZSBvZmZzZXQgPSBSZW5kZXJCbG9ja0Zsb3c6Om9mZnNl
dEZyb21Db250YWluZXIoY29udGFpbmVyLCBwb2ludCwgb2Zmc2V0RGVwZW5kc09uUG9pbnQpOwot
ICAgIGlmIChhdXRvKiBjb250YWluZXJPZlJvdyA9IGNvbnRhaW5lci5jb250YWluZXIoKTsgY29u
dGFpbmVyT2ZSb3cgJiYgcGFyZW50KCkpCi0gICAgICAgIG9mZnNldCAtPSBwYXJlbnRCb3goKS0+
b2Zmc2V0RnJvbUNvbnRhaW5lcigqY29udGFpbmVyT2ZSb3csIHBvaW50KTsKKyAgICAvLyBDZWxs
cyBhbmQgcm93cyBzaGFyZSB0aGUgc2VjdGlvbidzIGNvb3JkaW5hdGUgc3BhY2UuIFRoZSBjZWxs
J3MgbG9jYXRpb24oKQorICAgIC8vIGlzIHNlY3Rpb24tcmVsYXRpdmUsIG5vdCByb3ctcmVsYXRp
dmUuIFN1YnRyYWN0IHRoZSByb3cncyBvZmZzZXQgdG8gY29udmVydAorICAgIC8vIHRvIHRoZSBj
b3JyZWN0IGNvb3JkaW5hdGUgc3BhY2UgZm9yIHRoZSBjb250YWluZXIuCisgICAgaWYgKCFpczxS
ZW5kZXJUYWJsZVJvdz4oY29udGFpbmVyKSkgeworICAgICAgICBpZiAoYXV0byogY29udGFpbmVy
T2ZSb3cgPSBjb250YWluZXIuY29udGFpbmVyKCk7IGNvbnRhaW5lck9mUm93ICYmIHBhcmVudCgp
KQorICAgICAgICAgICAgb2Zmc2V0IC09IHBhcmVudEJveCgpLT5vZmZzZXRGcm9tQ29udGFpbmVy
KCpjb250YWluZXJPZlJvdywgcG9pbnQpOworICAgIH0gZWxzZQorICAgICAgICBvZmZzZXQgLT0g
cGFyZW50Qm94KCktPnRvcExlZnRMb2NhdGlvbk9mZnNldCgpOwogCiAgICAgcmV0dXJuIG9mZnNl
dDsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVJv
dy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVSb3cuY3BwCmluZGV4
IDk5OWE0NDEyYTcwMy4uMjRkMDAxYzcyMzFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGFibGVSb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUYWJsZVJvdy5jcHAKQEAgLTUxLDcgKzUxLDcgQEAgdXNpbmcgbmFtZXNwYWNlIEhU
TUxOYW1lczsKIFdURl9NQUtFX1RaT05FX0FMTE9DQVRFRF9JTVBMKFJlbmRlclRhYmxlUm93KTsK
IAogUmVuZGVyVGFibGVSb3c6OlJlbmRlclRhYmxlUm93KEVsZW1lbnQmIGVsZW1lbnQsIFJlbmRl
clN0eWxlJiYgc3R5bGUpCi0gICAgOiBSZW5kZXJCb3goVHlwZTo6VGFibGVSb3csIGVsZW1lbnQs
IFdURjo6bW92ZShzdHlsZSkpCisgICAgOiBSZW5kZXJCbG9jayhUeXBlOjpUYWJsZVJvdywgZWxl
bWVudCwgV1RGOjptb3ZlKHN0eWxlKSwgeyB9KQogICAgICwgbV9yb3dJbmRleCh1bnNldFJvd0lu
ZGV4KQogewogICAgIHNldElubGluZShmYWxzZSk7CkBAIC01OSw3ICs1OSw3IEBAIFJlbmRlclRh
YmxlUm93OjpSZW5kZXJUYWJsZVJvdyhFbGVtZW50JiBlbGVtZW50LCBSZW5kZXJTdHlsZSYmIHN0
eWxlKQogfQogCiBSZW5kZXJUYWJsZVJvdzo6UmVuZGVyVGFibGVSb3coRG9jdW1lbnQmIGRvY3Vt
ZW50LCBSZW5kZXJTdHlsZSYmIHN0eWxlKQotICAgIDogUmVuZGVyQm94KFR5cGU6OlRhYmxlUm93
LCBkb2N1bWVudCwgV1RGOjptb3ZlKHN0eWxlKSkKKyAgICA6IFJlbmRlckJsb2NrKFR5cGU6OlRh
YmxlUm93LCBkb2N1bWVudCwgV1RGOjptb3ZlKHN0eWxlKSwgeyB9KQogICAgICwgbV9yb3dJbmRl
eCh1bnNldFJvd0luZGV4KQogewogICAgIHNldElubGluZShmYWxzZSk7CkBAIC03NSw3ICs3NSw3
IEBAIEFTQ0lJTGl0ZXJhbCBSZW5kZXJUYWJsZVJvdzo6cmVuZGVyTmFtZSgpIGNvbnN0CiAKIHZv
aWQgUmVuZGVyVGFibGVSb3c6OndpbGxCZVJlbW92ZWRGcm9tVHJlZSgpCiB7Ci0gICAgUmVuZGVy
Qm94Ojp3aWxsQmVSZW1vdmVkRnJvbVRyZWUoKTsKKyAgICBSZW5kZXJCbG9jazo6d2lsbEJlUmVt
b3ZlZEZyb21UcmVlKCk7CiAKICAgICBzZWN0aW9uKCktPnNldE5lZWRzQ2VsbFJlY2FsYygpOwog
fQpAQCAtOTIsNyArOTIsNyBAQCB2b2lkIFJlbmRlclRhYmxlUm93OjpzdHlsZURpZENoYW5nZShT
dHlsZTo6RGlmZmVyZW5jZSBkaWZmLCBjb25zdCBSZW5kZXJTdHlsZSogbwogewogICAgIEFTU0VS
VChzdHlsZSgpLmRpc3BsYXkoKSA9PSBTdHlsZTo6RGlzcGxheVR5cGU6OlRhYmxlUm93KTsKIAot
ICAgIFJlbmRlckJveDo6c3R5bGVEaWRDaGFuZ2UoZGlmZiwgb2xkU3R5bGUpOworICAgIFJlbmRl
ckJsb2NrOjpzdHlsZURpZENoYW5nZShkaWZmLCBvbGRTdHlsZSk7CiAgICAgcHJvcGFnYXRlU3R5
bGVUb0Fub255bW91c0NoaWxkcmVuKFN0eWxlUHJvcGFnYXRpb25UeXBlOjpBbGxDaGlsZHJlbik7
CiAKICAgICBpZiAoc2VjdGlvbigpICYmIG9sZFN0eWxlICYmIHN0eWxlKCkubG9naWNhbEhlaWdo
dCgpICE9IG9sZFN0eWxlLT5sb2dpY2FsSGVpZ2h0KCkpCkBAIC0xODIsOCArMTgyLDggQEAgdm9p
ZCBSZW5kZXJUYWJsZVJvdzo6bGF5b3V0KCkKICAgICAgICAgICAgIGNlbGwtPnJlcGFpbnQoKTsK
ICAgICB9CiAKLSAgICAvLyBSZW5kZXJUYWJsZVNlY3Rpb246OmxheW91dFJvd3Mgd2lsbCBzZXQg
b3VyIGxvZ2ljYWwgaGVpZ2h0IGFuZCB3aWR0aCBsYXRlciwgc28gaXQgY2FsbHMgdXBkYXRlTGF5
ZXJUcmFuc2Zvcm0oKS4KLSAgICBjbGVhck5lZWRzTGF5b3V0KCk7CisgICAgLy8gUm93IGRpbWVu
c2lvbnMgYXJlIGZpbmFsaXplZCBpbiBSZW5kZXJUYWJsZVNlY3Rpb246OmxheW91dFJvd3MoKSwg
d2hpY2ggYWxzbworICAgIC8vIGxheXMgb3V0IG91dC1vZi1mbG93IGRlc2NlbmRhbnRzIGFuZCBj
YWxscyBjbGVhck5lZWRzTGF5b3V0KCkuCiB9CiAKIExheW91dFJlY3QgUmVuZGVyVGFibGVSb3c6
OmNsaXBwZWRPdmVyZmxvd1JlY3QoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogcmVwYWlu
dENvbnRhaW5lciwgVmlzaWJsZVJlY3RDb250ZXh0IGNvbnRleHQpIGNvbnN0CkBAIC0xOTIsNyAr
MTkyLDcgQEAgTGF5b3V0UmVjdCBSZW5kZXJUYWJsZVJvdzo6Y2xpcHBlZE92ZXJmbG93UmVjdChj
b25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiByZXAKICAgICAvLyBSb3dzIGFuZCBjZWxscyBh
cmUgaW4gdGhlIHNhbWUgY29vcmRpbmF0ZSBzcGFjZS4gV2UgbmVlZCB0byBib3RoIGNvbXB1dGUg
b3VyIG92ZXJmbG93IHJlY3QgKHdoaWNoCiAgICAgLy8gd2lsbCBhY2NvbW1vZGF0ZSBhIHJvdyBv
dXRsaW5lIGFuZCBhbnkgdmlzdWFsIGVmZmVjdHMgb24gdGhlIHJvdyBpdHNlbGYpLCBidXQgd2Ug
YWxzbyBuZWVkIHRvIGFkZCBpbgogICAgIC8vIHRoZSByZXBhaW50IHJlY3RzIG9mIGNlbGxzLgot
ICAgIGF1dG8gcmVzdWx0ID0gUmVuZGVyQm94OjpjbGlwcGVkT3ZlcmZsb3dSZWN0KHJlcGFpbnRD
b250YWluZXIsIGNvbnRleHQpOworICAgIGF1dG8gcmVzdWx0ID0gUmVuZGVyQmxvY2s6OmNsaXBw
ZWRPdmVyZmxvd1JlY3QocmVwYWludENvbnRhaW5lciwgY29udGV4dCk7CiAgICAgZm9yIChhdXRv
KiBjZWxsID0gZmlyc3RDZWxsKCk7IGNlbGw7IGNlbGwgPSBjZWxsLT5uZXh0Q2VsbCgpKSB7CiAg
ICAgICAgIC8vIEV2ZW4gaWYgYSBjZWxsIGlzIGEgcmVwYWludCBjb250YWluZXIsIGl0J3MgdGhl
IHJvdyB0aGF0IHBhaW50cyB0aGUgYmFja2dyb3VuZCBiZWhpbmQgaXQuCiAgICAgICAgIC8vIFNv
IHdlIGRvbid0IGNhcmUgaWYgYSBjZWxsIGlzIGEgcmVwYWludENvbnRhaW5lciBoZXJlLgpAQCAt
Mjc0LDYgKzI3NCwxMyBAQCB2b2lkIFJlbmRlclRhYmxlUm93OjpwYWludChQYWludEluZm8mIHBh
aW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2Zmc2V0KQogICAgICAgICBpZiAoIWNl
bGwtPmhhc1NlbGZQYWludGluZ0xheWVyKCkpCiAgICAgICAgICAgICBjZWxsLT5wYWludChwYWlu
dEluZm8sIHBhaW50T2Zmc2V0KTsKICAgICB9CisKKyAgICAvLyBXaGVuIHRoZSByb3cgaGFzIGEg
c2VsZi1wYWludGluZyBsYXllciAocG9zaXRpb246IHJlbGF0aXZlKSwgY29sbGFwc2VkCisgICAg
Ly8gYm9yZGVycyBtdXN0IGJlIHBhaW50ZWQgaGVyZSBhZnRlciBjZWxsIGJhY2tncm91bmRzLiBP
dGhlcndpc2UgdGhlIGNlbGwKKyAgICAvLyBiYWNrZ3JvdW5kIChpbiB0aGlzIGxheWVyKSBjb3Zl
cnMgdGhlIGlubmVyIGhhbGYgb2YgdGhlIGJvcmRlciAocGFpbnRlZAorICAgIC8vIGJ5IHRoZSB0
YWJsZSdzIGxheWVyKS4KKyAgICBpZiAoQ2hlY2tlZFB0ciB0YWJsZSA9IHRoaXMtPnRhYmxlKCk7
IHRhYmxlICYmIHRhYmxlLT5jb2xsYXBzZUJvcmRlcnMoKSAmJiBwYWludEluZm8ucGhhc2UgPT0g
UGFpbnRQaGFzZTo6Q2hpbGRCbG9ja0JhY2tncm91bmRzKQorICAgICAgICB0YWJsZS0+cGFpbnRD
b2xsYXBzZWRCb3JkZXJzRm9yUm93KHBhaW50SW5mbywgKnRoaXMsIHBhaW50T2Zmc2V0KTsKIH0K
IAogdm9pZCBSZW5kZXJUYWJsZVJvdzo6aW1hZ2VDaGFuZ2VkKFdyYXBwZWRJbWFnZVB0ciwgY29u
c3QgSW50UmVjdCopCkBAIC0yODYsNyArMjkzLDcgQEAgdm9pZCBSZW5kZXJUYWJsZVJvdzo6aW1h
Z2VDaGFuZ2VkKFdyYXBwZWRJbWFnZVB0ciwgY29uc3QgSW50UmVjdCopCiAKIGJvb2wgUmVuZGVy
VGFibGVSb3c6OnJlcXVpcmVzTGF5ZXIoKSBjb25zdAogewotICAgIHJldHVybiBoYXNOb25WaXNp
YmxlT3ZlcmZsb3coKSB8fCBoYXNUcmFuc2Zvcm1SZWxhdGVkUHJvcGVydHkoKSB8fCBoYXNIaWRk
ZW5CYWNrZmFjZSgpIHx8IGhhc0NsaXBQYXRoKCkgfHwgY3JlYXRlc0dyb3VwKCkgfHwgaXNTdGlj
a2lseVBvc2l0aW9uZWQoKSB8fCByZXF1aXJlc1JlbmRlcmluZ0NvbnNvbGlkYXRpb25Gb3JWaWV3
VHJhbnNpdGlvbigpOworICAgIHJldHVybiBpc1Bvc2l0aW9uZWQoKSB8fCBoYXNOb25WaXNpYmxl
T3ZlcmZsb3coKSB8fCBoYXNUcmFuc2Zvcm1SZWxhdGVkUHJvcGVydHkoKSB8fCBoYXNIaWRkZW5C
YWNrZmFjZSgpIHx8IGhhc0NsaXBQYXRoKCkgfHwgY3JlYXRlc0dyb3VwKCkgfHwgaXNTdGlja2ls
eVBvc2l0aW9uZWQoKSB8fCByZXF1aXJlc1JlbmRlcmluZ0NvbnNvbGlkYXRpb25Gb3JWaWV3VHJh
bnNpdGlvbigpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVSb3cuaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUYWJsZVJvdy5oCmluZGV4IGU3M2M2NWRmYWI5ZC4uNmMyYjNhZDBmZjQ3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVSb3cuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVSb3cuaApAQCAtMjUsNiAr
MjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2luY2x1ZGUgIlJlbmRlckJsb2NrLmgiCiAjaW5j
bHVkZSAiUmVuZGVyVGFibGVTZWN0aW9uLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTMy
LDcgKzMzLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogc3RhdGljIGNvbnN0IHVuc2lnbmVkIHVu
c2V0Um93SW5kZXggPSAweDdGRkZGRkZGOwogc3RhdGljIGNvbnN0IHVuc2lnbmVkIG1heFJvd0lu
ZGV4ID0gMHg3RkZGRkZGRTsgLy8gMiwxNDcsNDgzLDY0NgogCi1jbGFzcyBSZW5kZXJUYWJsZVJv
dyBmaW5hbCA6IHB1YmxpYyBSZW5kZXJCb3ggeworY2xhc3MgUmVuZGVyVGFibGVSb3cgZmluYWwg
OiBwdWJsaWMgUmVuZGVyQmxvY2sgewogICAgIFdURl9NQUtFX1RaT05FX0FMTE9DQVRFRChSZW5k
ZXJUYWJsZVJvdyk7CiAgICAgV1RGX09WRVJSSURFX0RFTEVURV9GT1JfQ0hFQ0tFRF9QVFIoUmVu
ZGVyVGFibGVSb3cpOwogcHVibGljOgpAQCAtMTE5LDEyICsxMjAsMTIgQEAgaW5saW5lIFJlbmRl
clRhYmxlKiBSZW5kZXJUYWJsZVJvdzo6dGFibGUoKSBjb25zdAogCiBpbmxpbmUgUmVuZGVyVGFi
bGVSb3cqIFJlbmRlclRhYmxlUm93OjpuZXh0Um93KCkgY29uc3QKIHsKLSAgICByZXR1cm4gZG93
bmNhc3Q8UmVuZGVyVGFibGVSb3c+KFJlbmRlckJveDo6bmV4dFNpYmxpbmcoKSk7CisgICAgcmV0
dXJuIGRvd25jYXN0PFJlbmRlclRhYmxlUm93PihSZW5kZXJCbG9jazo6bmV4dFNpYmxpbmcoKSk7
CiB9CiAKIGlubGluZSBSZW5kZXJUYWJsZVJvdyogUmVuZGVyVGFibGVSb3c6OnByZXZpb3VzUm93
KCkgY29uc3QKIHsKLSAgICByZXR1cm4gZG93bmNhc3Q8UmVuZGVyVGFibGVSb3c+KFJlbmRlckJv
eDo6cHJldmlvdXNTaWJsaW5nKCkpOworICAgIHJldHVybiBkb3duY2FzdDxSZW5kZXJUYWJsZVJv
dz4oUmVuZGVyQmxvY2s6OnByZXZpb3VzU2libGluZygpKTsKIH0KIAogaW5saW5lIFJlbmRlclRh
YmxlUm93KiBSZW5kZXJUYWJsZVNlY3Rpb246OmZpcnN0Um93KCkgY29uc3QKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5jcHAKaW5kZXggOGE2Mjk3OGNj
M2YxLi43MjEwM2EwMmMzODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUYWJsZVNlY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUYWJsZVNlY3Rpb24uY3BwCkBAIC01OTUsNyArNTk1LDEwIEBAIHZvaWQgUmVuZGVyVGFibGVT
ZWN0aW9uOjpsYXlvdXRSb3dzKCkKIAogICAgIGZvciAoc2l6ZV90IHJvd0luZGV4ID0gMDsgcm93
SW5kZXggPCBudW1iZXJPZlJvd3M7IHJvd0luZGV4KyspIHsKICAgICAgICAgLy8gU2V0IHRoZSBy
b3cncyB4L3kgcG9zaXRpb24gYW5kIHdpZHRoL2hlaWdodC4KLSAgICAgICAgaWYgKFJlbmRlclRh
YmxlUm93KiByb3dSZW5kZXJlciA9IG1fZ3JpZFtyb3dJbmRleF0ucm93UmVuZGVyZXIpIHsKKyAg
ICAgICAgQ2hlY2tlZFB0ciByb3dSZW5kZXJlciA9IG1fZ3JpZFtyb3dJbmRleF0ucm93UmVuZGVy
ZXI7CisgICAgICAgIEFTU0VSVChyb3dSZW5kZXJlcik7CisKKyAgICAgICAgaWYgKHJvd1JlbmRl
cmVyKSB7CiAgICAgICAgICAgICAvLyBGSVhNRTogdGhlIHgoKSBwb3NpdGlvbiBvZiB0aGUgcm93
IHNob3VsZCBiZSB0YWJsZSgpLT5oQm9yZGVyU3BhY2luZygpIHNvIHRoYXQgaXQgY2FuIAogICAg
ICAgICAgICAgLy8gcmVwb3J0IHRoZSBjb3JyZWN0IG9mZnNldExlZnQuIEhvd2V2ZXIsIHRoYXQg
d2lsbCByZXF1aXJlIGEgbG90IG9mIHJlYmFzZWxpbmluZyBvZiB0ZXN0IHJlc3VsdHMuCiAgICAg
ICAgICAgICByb3dSZW5kZXJlci0+c2V0TG9naWNhbExvY2F0aW9uKHsgMF9sdSwgbV9yb3dQb3Nb
cm93SW5kZXhdIH0pOwpAQCAtNjgxLDYgKzY4NCwxMSBAQCB2b2lkIFJlbmRlclRhYmxlU2VjdGlv
bjo6bGF5b3V0Um93cygpCiAgICAgICAgICAgICAgICAgICAgIGNlbGxzW2NlbGxJbmRleF0tPnNl
dExvZ2ljYWxIZWlnaHQoY2VsbHNbY2VsbEluZGV4XS0+bG9naWNhbEhlaWdodCgpICsgcm93SGVp
Z2h0SW5jcmVhc2VGb3JQYWdpbmF0aW9uKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQorICAg
ICAgICAvLyBGaW5hbGl6ZSByb3cgbGF5b3V0LgorICAgICAgICBpZiAocm93UmVuZGVyZXIpIHsK
KyAgICAgICAgICAgIHJvd1JlbmRlcmVyLT5sYXlvdXRPdXRPZkZsb3dCb3hlcyhSZWxheW91dENo
aWxkcmVuOjpZZXMpOworICAgICAgICAgICAgcm93UmVuZGVyZXItPmNsZWFyTmVlZHNMYXlvdXQo
KTsKKyAgICAgICAgfQogICAgIH0KIAogICAgIEFTU0VSVCghbmVlZHNMYXlvdXQoKSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUFkanVzdGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3N0eWxlL1N0eWxlQWRqdXN0ZXIuY3BwCmluZGV4IGUwYmVkYTQ1ZDFmZi4uNTEyNjZl
OGY1MTNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUFkanVzdGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUFkanVzdGVyLmNwcApAQCAtNDgzLDEx
ICs0ODMsMTAgQEAgdm9pZCBBZGp1c3Rlcjo6YWRqdXN0KFJlbmRlclN0eWxlJiBzdHlsZSkgY29u
c3QKICAgICAgICAgaWYgKHN0eWxlLmRpc3BsYXkoKSA9PSBEaXNwbGF5VHlwZTo6SW5saW5lRmxv
dyAmJiAhc3R5bGUucHNldWRvRWxlbWVudFR5cGUoKSAmJiBzdHlsZS53cml0aW5nTW9kZSgpLmNv
bXB1dGVkV3JpdGluZ01vZGUoKSAhPSBtX3BhcmVudFN0eWxlLndyaXRpbmdNb2RlKCkuY29tcHV0
ZWRXcml0aW5nTW9kZSgpKQogICAgICAgICAgICAgc3R5bGUuc2V0RGlzcGxheU1haW50YWluaW5n
T3JpZ2luYWxEaXNwbGF5KERpc3BsYXlUeXBlOjpJbmxpbmVGbG93Um9vdCk7CiAKLSAgICAgICAg
Ly8gQWZ0ZXIgcGVyZm9ybWluZyB0aGUgZGlzcGxheSBtdXRhdGlvbiwgY2hlY2sgdGFibGUgcm93
cy4gV2UgZG8gbm90IGhvbm9yIHBvc2l0aW9uOnJlbGF0aXZlIG9yIHBvc2l0aW9uOnN0aWNreSBv
bgotICAgICAgICAvLyB0YWJsZSByb3dzIG9yIGNlbGxzLiBUaGlzIGhhcyBiZWVuIGVzdGFibGlz
aGVkIGZvciBwb3NpdGlvbjpyZWxhdGl2ZSBpbiBDU1MyLjEgKGFuZCBjYXVzZWQgYSBjcmFzaCBp
biBjb250YWluaW5nQmxvY2soKQotICAgICAgICAvLyBvbiBzb21lIHNpdGVzKS4KKyAgICAgICAg
Ly8gV2UgZG8gbm90IGhvbm9yIHBvc2l0aW9uOnJlbGF0aXZlIG9yIHBvc2l0aW9uOnN0aWNreSBv
biB0YWJsZSByb3cgZ3JvdXBzLiBUYWJsZSByb3dzIGFyZQorICAgICAgICAvLyBhbGxvd2VkIHRv
IGJlIHBvc2l0aW9uOnJlbGF0aXZlICh0aGV5IGV4dGVuZCBSZW5kZXJCbG9jayBhbmQgY2FuIGJl
IHByb3BlciBjb250YWluaW5nIGJsb2NrcykuCiAgICAgICAgIGlmICgoc3R5bGUuZGlzcGxheSgp
ID09IERpc3BsYXlUeXBlOjpUYWJsZUhlYWRlckdyb3VwIHx8IHN0eWxlLmRpc3BsYXkoKSA9PSBE
aXNwbGF5VHlwZTo6VGFibGVSb3dHcm91cAotICAgICAgICAgICAgfHwgc3R5bGUuZGlzcGxheSgp
ID09IERpc3BsYXlUeXBlOjpUYWJsZUZvb3Rlckdyb3VwIHx8IHN0eWxlLmRpc3BsYXkoKSA9PSBE
aXNwbGF5VHlwZTo6VGFibGVSb3cpCisgICAgICAgICAgICB8fCBzdHlsZS5kaXNwbGF5KCkgPT0g
RGlzcGxheVR5cGU6OlRhYmxlRm9vdGVyR3JvdXApCiAgICAgICAgICAgICAmJiBzdHlsZS5wb3Np
dGlvbigpID09IFBvc2l0aW9uVHlwZTo6UmVsYXRpdmUpCiAgICAgICAgICAgICBzdHlsZS5zZXRQ
b3NpdGlvbihQb3NpdGlvblR5cGU6OlN0YXRpYyk7CiAKQEAgLTY0Miw3ICs2NDEsMTEgQEAgdm9p
ZCBBZGp1c3Rlcjo6YWRqdXN0KFJlbmRlclN0eWxlJiBzdHlsZSkgY29uc3QKIAogICAgIGJvb2wg
b3ZlcmZsb3dJc0NsaXBPclZpc2libGUgPSBpc092ZXJmbG93Q2xpcE9yVmlzaWJsZShzdHlsZS5v
dmVyZmxvd1koKSkgJiYgaXNPdmVyZmxvd0NsaXBPclZpc2libGUoc3R5bGUub3ZlcmZsb3dYKCkp
OwogCi0gICAgaWYgKCFvdmVyZmxvd0lzQ2xpcE9yVmlzaWJsZSAmJiBzdHlsZS5kaXNwbGF5KCku
aXNUYWJsZUJveCgpKSB7CisgICAgLy8gVGhlIG92ZXJmbG93IHByb3BlcnR5IGRvZXMgbm90IGFw
cGx5IHRvIHRhYmxlIHJvdyBlbGVtZW50cyAoQ1NTMiBzZWN0aW9uIDExLjEuMSkuCisgICAgaWYg
KHN0eWxlLmRpc3BsYXkoKSA9PSBEaXNwbGF5VHlwZTo6VGFibGVSb3cpIHsKKyAgICAgICAgc3R5
bGUuc2V0T3ZlcmZsb3dYKE92ZXJmbG93OjpWaXNpYmxlKTsKKyAgICAgICAgc3R5bGUuc2V0T3Zl
cmZsb3dZKE92ZXJmbG93OjpWaXNpYmxlKTsKKyAgICB9IGVsc2UgaWYgKCFvdmVyZmxvd0lzQ2xp
cE9yVmlzaWJsZSAmJiBzdHlsZS5kaXNwbGF5KCkuaXNUYWJsZUJveCgpKSB7CiAgICAgICAgIC8v
IFRhYmxlcyBvbmx5IHN1cHBvcnQgb3ZlcmZsb3c6aGlkZGVuIGFuZCBvdmVyZmxvdzp2aXNpYmxl
IGFuZCBpZ25vcmUgYW55dGhpbmcgZWxzZSwKICAgICAgICAgLy8gc2VlIGh0dHBzOi8vZHJhZnRz
LmNzc3dnLm9yZy9jc3MyLyNvdmVyZmxvdy4gQXMgYSB0YWJsZSBpcyBub3QgYSBibG9jawogICAg
ICAgICAvLyBjb250YWluZXIgYm94IHRoZSBydWxlcyBmb3IgcmVzb2x2aW5nIGNvbmZsaWN0aW5n
IHggYW5kIHkgdmFsdWVzIGluIENTUyBPdmVyZmxvdyBNb2R1bGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvdGFibGUvbm9uLXBvc2l0aW9uZWQtcm93LW5vLWNvbnRhaW5tZW50LWV4cGVj
dGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RhYmxlL25vbi1wb3NpdGlvbmVkLXJvdy1uby1j
b250YWlubWVudC1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMC4uYjFjOWIzOWI4MWZmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC90YWJsZS9ub24tcG9zaXRpb25lZC1yb3ctbm8tY29udGFpbm1lbnQtZXhwZWN0ZWQuaHRtbApA
QCAtMCwwICsxLDE0IEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+
Tm9uLXBvc2l0aW9uZWQgdGFibGUgcm93IGRvZXMgbm90IGNvbnRhaW4gYWJzb2x1dGUgZGVzY2Vu
ZGFudHMgKHJlZmVyZW5jZSk8L3RpdGxlPgorPHN0eWxlPgorYm9keSB7CisgICAgbWFyZ2luOiAw
OworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBzdHlsZT0id2lkdGg6IDIwMHB4
OyBoZWlnaHQ6IDIwMHB4OyBiYWNrZ3JvdW5kOiBncmVlbiI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RhYmxlL25vbi1wb3NpdGlvbmVkLXJv
dy1uby1jb250YWlubWVudC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9ub24tcG9zaXRp
b25lZC1yb3ctbm8tY29udGFpbm1lbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAuLmUyM2U2OGRmMzQzMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvdGFibGUvbm9uLXBvc2l0aW9uZWQtcm93LW5vLWNvbnRhaW5tZW50Lmh0bWwKQEAgLTAs
MCArMSwzMyBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPk5vbi1w
b3NpdGlvbmVkIHRhYmxlIHJvdyBkb2VzIG5vdCBjb250YWluIGFic29sdXRlIGRlc2NlbmRhbnRz
PC90aXRsZT4KKzxsaW5rIHJlbD0ibWF0Y2giIGhyZWY9Im5vbi1wb3NpdGlvbmVkLXJvdy1uby1j
b250YWlubWVudC1leHBlY3RlZC5odG1sIj4KKzxzdHlsZT4KK2JvZHkgeworICAgIG1hcmdpbjog
MDsKK30KK3RhYmxlIHsKKyAgICBib3JkZXItc3BhY2luZzogMDsKKyAgICBib3JkZXItY29sbGFw
c2U6IGNvbGxhcHNlOworICAgIGJvcmRlcjogbm9uZTsKK30KK3RkIHsKKyAgICBwYWRkaW5nOiAw
OworICAgIGJvcmRlcjogbm9uZTsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzwhLS0g
V2l0aG91dCBwb3NpdGlvbjogcmVsYXRpdmUgb24gdGhlIHJvdywgdGhlIGFic29sdXRlIGRpdiBz
aG91bGQgZXNjYXBlIHRvIHRoZQorICAgICBuZWFyZXN0IHBvc2l0aW9uZWQgYW5jZXN0b3IgKHRo
ZSBvdXRlciBkaXYpLCBjb3ZlcmluZyBpdCBlbnRpcmVseS4gLS0+Cis8ZGl2IHN0eWxlPSJwb3Np
dGlvbjogcmVsYXRpdmU7IHdpZHRoOiAyMDBweDsgaGVpZ2h0OiAyMDBweCI+CisgICAgPHRhYmxl
PgorICAgICAgICA8dHI+CisgICAgICAgICAgICA8dGQgc3R5bGU9IndpZHRoOiA1MHB4OyBoZWln
aHQ6IDUwcHgiPkNlbGw8L3RkPgorICAgICAgICA8L3RyPgorICAgIDwvdGFibGU+CisgICAgPGRp
diBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBpbnNldDogMDsgYmFja2dyb3VuZDogZ3JlZW4i
PjwvZGl2PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L3RhYmxlL3JlbGF0aXZlLXBvc2l0aW9uLXJvdy1jb250YWlubWVudC1leHBlY3RlZC5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9yZWxhdGl2ZS1wb3NpdGlvbi1yb3ctY29udGFp
bm1lbnQtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAuLjI3MDg4YzU2ZDVlNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGFi
bGUvcmVsYXRpdmUtcG9zaXRpb24tcm93LWNvbnRhaW5tZW50LWV4cGVjdGVkLmh0bWwKQEAgLTAs
MCArMSwxNSBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPlBvc2l0
aW9uZWQgdGFibGUgcm93IGFzIGNvbnRhaW5pbmcgYmxvY2sgZm9yIGFic29sdXRlIGRlc2NlbmRh
bnRzIChyZWZlcmVuY2UpPC90aXRsZT4KKzxzdHlsZT4KK2JvZHkgeworICAgIG1hcmdpbjogMDsK
K30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgc3R5bGU9ImhlaWdodDogNTBweCI+
PC9kaXY+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHg7IGJhY2tncm91
bmQ6IGdyZWVuIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvdGFibGUvcmVsYXRpdmUtcG9zaXRpb24tcm93LWNvbnRhaW5tZW50Lmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L3RhYmxlL3JlbGF0aXZlLXBvc2l0aW9uLXJvdy1jb250YWlubWVudC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uNDE2YzRhOGJjOWVj
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9yZWxhdGl2ZS1wb3Np
dGlvbi1yb3ctY29udGFpbm1lbnQuaHRtbApAQCAtMCwwICsxLDMyIEBACis8IWRvY3R5cGUgaHRt
bD4KKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+UG9zaXRpb25lZCB0YWJsZSByb3cgYXMgY29udGFp
bmluZyBibG9jayBmb3IgYWJzb2x1dGUgZGVzY2VuZGFudHM8L3RpdGxlPgorPGxpbmsgcmVsPSJt
YXRjaCIgaHJlZj0icmVsYXRpdmUtcG9zaXRpb24tcm93LWNvbnRhaW5tZW50LWV4cGVjdGVkLmh0
bWwiPgorPHN0eWxlPgorYm9keSB7CisgICAgbWFyZ2luOiAwOworfQordGFibGUgeworICAgIGJv
cmRlci1zcGFjaW5nOiAwOworICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7CisgICAgYm9y
ZGVyOiBub25lOworfQordGQgeworICAgIHBhZGRpbmc6IDA7CisgICAgYm9yZGVyOiBub25lOwor
fQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPCEtLSBQdXNoIHRoZSB0YWJsZSBkb3duIHRv
IHZlcmlmeSB0aGUgYWJzb2x1dGUgZGl2IGlzIGFuY2hvcmVkIHRvIHRoZSByb3csIG5vdCB0aGUg
dmlld3BvcnQuIC0tPgorPGRpdiBzdHlsZT0iaGVpZ2h0OiA1MHB4Ij48L2Rpdj4KKzx0YWJsZT4K
KyAgICA8dHIgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZSI+CisgICAgICAgIDx0ZCBzdHlsZT0i
d2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4Ij4KKyAgICAgICAgICAgIDxkaXYgc3R5bGU9InBv
c2l0aW9uOiBhYnNvbHV0ZTsgaW5zZXQ6IDA7IGJhY2tncm91bmQ6IGdyZWVuIj48L2Rpdj4KKyAg
ICAgICAgPC90ZD4KKyAgICA8L3RyPgorPC90YWJsZT4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGFibGUvcmVsYXRpdmUtcG9zaXRpb24tcm93LW11bHRp
Y2VsbC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9yZWxhdGl2ZS1wb3Np
dGlvbi1yb3ctbXVsdGljZWxsLWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwLi4wZGVlYzJiNTkxNmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L3RhYmxlL3JlbGF0aXZlLXBvc2l0aW9uLXJvdy1tdWx0aWNlbGwtZXhwZWN0ZWQu
aHRtbApAQCAtMCwwICsxLDE0IEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
dGl0bGU+QWJzb2x1dGUgY2hpbGQgb2YgcG9zaXRpb25lZCB0YWJsZSByb3cgc3BhbnMgZnVsbCBy
b3cgd2lkdGggKHJlZmVyZW5jZSk8L3RpdGxlPgorPHN0eWxlPgorYm9keSB7CisgICAgbWFyZ2lu
OiAwOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBzdHlsZT0id2lkdGg6IDIw
MHB4OyBoZWlnaHQ6IDUwcHg7IGJhY2tncm91bmQ6IGdyZWVuIj48L2Rpdj4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGFibGUvcmVsYXRpdmUtcG9zaXRp
b24tcm93LW11bHRpY2VsbC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9yZWxhdGl2ZS1w
b3NpdGlvbi1yb3ctbXVsdGljZWxsLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwLi4yZjk0YzNiNzNiOGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L3RhYmxlL3JlbGF0aXZlLXBvc2l0aW9uLXJvdy1tdWx0aWNlbGwuaHRtbApAQCAtMCwwICsx
LDMzIEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+QWJzb2x1dGUg
Y2hpbGQgb2YgcG9zaXRpb25lZCB0YWJsZSByb3cgc3BhbnMgZnVsbCByb3cgd2lkdGg8L3RpdGxl
PgorPGxpbmsgcmVsPSJtYXRjaCIgaHJlZj0icmVsYXRpdmUtcG9zaXRpb24tcm93LW11bHRpY2Vs
bC1leHBlY3RlZC5odG1sIj4KKzxzdHlsZT4KK2JvZHkgeworICAgIG1hcmdpbjogMDsKK30KK3Rh
YmxlIHsKKyAgICBib3JkZXItc3BhY2luZzogMDsKKyAgICBib3JkZXItY29sbGFwc2U6IGNvbGxh
cHNlOworICAgIGJvcmRlcjogbm9uZTsKK30KK3RkIHsKKyAgICBwYWRkaW5nOiAwOworICAgIGJv
cmRlcjogbm9uZTsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzwhLS0gVGhlIGdyZWVu
IGRpdiBzaG91bGQgY292ZXIgdGhlIGVudGlyZSByb3cgKGJvdGggY2VsbHMpLiAtLT4KKzx0YWJs
ZT4KKyAgICA8dHIgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZSI+CisgICAgICAgIDx0ZCBzdHls
ZT0id2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDUwcHgiPgorICAgICAgICAgICAgQ2VsbCAxCisgICAg
ICAgICAgICA8ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGluc2V0OiAwOyBiYWNrZ3Jv
dW5kOiBncmVlbiI+PC9kaXY+CisgICAgICAgIDwvdGQ+CisgICAgICAgIDx0ZCBzdHlsZT0id2lk
dGg6IDEwMHB4OyBoZWlnaHQ6IDUwcHgiPkNlbGwgMjwvdGQ+CisgICAgPC90cj4KKzwvdGFibGU+
Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>
<flag name="commit-queue"
          id="500436"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>478969</attachid>
            <date>2026-04-08 13:20:14 -0700</date>
            <delta_ts>2026-04-09 16:39:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-240961-20260408132014.patch</filename>
            <type>text/plain</type>
            <size>33051</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSA3OWY4NmQxYWU3ODBiZGRlMmE0MmEzYzliMmM4NmNjNWUyM2YwNGIwIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IFdlZCwgOCBBcHIgMjAyNiAwNzowMDowMSAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIGBwb3NpdGlv
bjogcmVsYXRpdmVgIGRvZXNuJ3Qgd29yayBhcyBleHBlY3RlZCBvbiB0YWJsZSByb3cKIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNDA5NjEgPHJkYXI6Ly9wcm9ibGVt
Lzk0Mjk0ODE5PgoKUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgpXaGVuIHlvdSBwdXQgYHBv
c2l0aW9uOiByZWxhdGl2ZWAgb24gYSA8dHI+LCBhbnkgYWJzb2x1dGVseSBwb3NpdGlvbmVkCmNo
aWxkIChsaWtlIDxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgaW5zZXQ6IDAiPikgc2hv
dWxkIHNpemUgYW5kCnBvc2l0aW9uIGl0c2VsZiByZWxhdGl2ZSB0byB0aGF0IHJvdy4gSW5zdGVh
ZCwgaXQgd2FzIGVzY2FwaW5nIHRvIHRoZQp2aWV3cG9ydCAtIHRoZSByZWQgYm94IGZpbGxlZCB0
aGUgd2hvbGUgcGFnZSBpbnN0ZWFkIG9mIGp1c3QgdGhlIHJvdy4KClRocmVlIHRoaW5ncyB3ZXJl
IHByZXZlbnRpbmcgdGhpczoKCjEuIFRoZSBzdHlsZSBzeXN0ZW0gd2FzIHJlbW92aW5nIGBwb3Np
dGlvbjogcmVsYXRpdmVgIGZyb20gdGFibGUKICAgcm93cy4gVGhlcmUgd2FzIG9sZCBjb2RlIGlu
IHRoZSBzdHlsZSBhZGp1c3RlciB0aGF0IGZvcmNlZCBhbGwgdGFibGUKICAgcm93cyBiYWNrIHRv
IGBwb3NpdGlvbjogc3RhdGljYC4gVGhpcyB3YXMgYSB3b3JrYXJvdW5kIGZvciBhIGNyYXNoCiAg
IHRoYXQgaGFwcGVuZWQgYmVjYXVzZSBvZiBwcm9ibGVtICMyIGJlbG93LgoKMi4gUmVuZGVyVGFi
bGVSb3cgZXh0ZW5kZWQgUmVuZGVyQm94LCBidXQgYGNvbnRhaW5pbmdCbG9jaygpYCByZXR1cm5z
CiAgIFJlbmRlckJsb2NrKi4gU2luY2UgdGhlIHJvdyB3YXNuJ3QgYSBSZW5kZXJCbG9jaywgdGhl
IGNvbnRhaW5pbmcKICAgYmxvY2sgc2VhcmNoIHdhbGtlZCByaWdodCBwYXN0IGl0IGFuZCBrZXB0
IGdvaW5nIHVwIHRoZSB0cmVlIHVudGlsIGl0CiAgIGhpdCB0aGUgdmlld3BvcnQuIFRoZSBmaXgg
aXMgdG8gbWFrZSBSZW5kZXJUYWJsZVJvdyBleHRlbmQgUmVuZGVyQmxvY2sKICAgaW5zdGVhZCwg
anVzdCBsaWtlIFJlbmRlclRhYmxlQ2VsbCAod2hpY2ggZXh0ZW5kcyBSZW5kZXJCbG9ja0Zsb3cp
IGFuZAogICBSZW5kZXJUYWJsZSAod2hpY2ggZXh0ZW5kcyBSZW5kZXJCbG9jaykuIFJlbmRlckJs
b2NrIGFkZHMgbm8gZXh0cmEKICAgZGF0YSBtZW1iZXJzLCBhbmQgUmVuZGVyVGFibGVSb3c6Omxh
eW91dCgpIHN0aWxsIGNvbXBsZXRlbHkgb3ZlcnJpZGVzCiAgIGxheW91dCAtLSBibG9jayBsYXlv
dXQgaXMgbmV2ZXIgaW52b2tlZC4KCjMuIFJlbmRlclRhYmxlUm93OjpyZXF1aXJlc0xheWVyKCkg
d2FzIG1pc3NpbmcgYGlzUG9zaXRpb25lZCgpYC4gV2l0aG91dAogICBhIHJlbmRlciBsYXllciwg
YSBgcG9zaXRpb246IHJlbGF0aXZlYCByb3cgY291bGRuJ3QgZXN0YWJsaXNoIHRoZQogICByaWdo
dCBjb29yZGluYXRlIHN5c3RlbSAtLSB0aGUgYWJzb2x1dGUgY2hpbGQgd2FzIHNpemVkIGNvcnJl
Y3RseSBidXQKICAgZHJhd24gYXQgdGhlIHZpZXdwb3J0J3MgdG9wLWxlZnQgY29ybmVyIGluc3Rl
YWQgb2YgdGhlIHJvdydzIHBvc2l0aW9uLgoKVGFibGUgcm93cyBhcmUgc3BlY2lhbCBiZWNhdXNl
IHRoZWlyIGZpbmFsIGRpbWVuc2lvbnMgYXJlIHNldCBieQpsYXlvdXRSb3dzKCkgYWZ0ZXIgbGF5
b3V0KCkgZmluaXNoZXMgKHRoZSByb3cgaGVpZ2h0IGRlcGVuZHMgb24gY2VsbApoZWlnaHRzKS4g
U28gbGF5b3V0T3V0T2ZGbG93Qm94ZXMoKSBhbmQgY2xlYXJOZWVkc0xheW91dCgpIGFyZSBjYWxs
ZWQgaW4KbGF5b3V0Um93cygpIG9uY2UgdGhlIHJvdyBoYXMgaXRzIGZpbmFsIHNpemUsIG5vdCBp
biBsYXlvdXQoKS4KClRoZSBzdHlsZSBhZGp1c3RlciBhbHNvIHJlc2V0cyBvdmVyZmxvdyB0byB2
aXNpYmxlIG9uIHRhYmxlIHJvd3MgKHBlcgpDU1Mgc3BlYywgb3ZlcmZsb3cgZG9lc24ndCBhcHBs
eSB0byB0YWJsZSByb3dzKS4gVGhpcyBjYXVzZXMgdGhlIE1hdGhNTAp0ZXN0IGNvbXB1dGVkLXZh
bHVlLTAwMS5odG1sIHRvIGZhaWwgYmVjYXVzZSBpdCBleHBlY3RzIG92ZXJmbG93OiBzY3JvbGwK
dG8gYmUgcHJlc2VydmVkIG9uIDxtdHI+IGVsZW1lbnRzLCB3aGljaCByZW5kZXIgYXMgdGFibGUg
cm93cy4gVGhlCk1hdGhNTCBDb3JlIHNwZWMgZG9lc24ndCBkZWZpbmUgc3BlY2lhbCBvdmVyZmxv
dyBiZWhhdmlvciBmb3IgPG10cj4gLS0KaXQgZGVmZXJzIHRvIENTUy4gU2tpcHBpbmcgdGhlIHRl
c3QgZm9yIG5vdyBhcyBvdGhlciBlbmdpbmVzIHBhc3MgaXQuCgoqIExheW91dFRlc3RzL1Rlc3RF
eHBlY3RhdGlvbnM6CiogTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9ub24tcG9zaXRpb25lZC1yb3ct
bm8tY29udGFpbm1lbnQtZXhwZWN0ZWQuaHRtbDogQWRkZWQuCiogTGF5b3V0VGVzdHMvZmFzdC90
YWJsZS9ub24tcG9zaXRpb25lZC1yb3ctbm8tY29udGFpbm1lbnQuaHRtbDogQWRkZWQuCiogTGF5
b3V0VGVzdHMvZmFzdC90YWJsZS9yZWxhdGl2ZS1wb3NpdGlvbi1yb3ctY29udGFpbm1lbnQtZXhw
ZWN0ZWQuaHRtbDogQWRkZWQuCiogTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9yZWxhdGl2ZS1wb3Np
dGlvbi1yb3ctY29udGFpbm1lbnQuaHRtbDogQWRkZWQuCiogTGF5b3V0VGVzdHMvZmFzdC90YWJs
ZS9yZWxhdGl2ZS1wb3NpdGlvbi1yb3ctbXVsdGljZWxsLWV4cGVjdGVkLmh0bWw6IEFkZGVkLgoq
IExheW91dFRlc3RzL2Zhc3QvdGFibGUvcmVsYXRpdmUtcG9zaXRpb24tcm93LW11bHRpY2VsbC5o
dG1sOiBBZGRlZC4KKiBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5jcHA6CihX
ZWJDb3JlOjpzaG91bGRFbWl0TmV3bGluZXNCZWZvcmVBbmRBZnRlck5vZGUpOgoqIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9PdXRsaW5lUGFpbnRlci5jcHA6CihXZWJDb3JlOjpPdXRsaW5lUGFp
bnRlcjo6Y29sbGVjdEZvY3VzUmluZ1JlY3RzRm9yQmxvY2spOgoqIFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9Qb3NpdGlvbmVkTGF5b3V0Q29uc3RyYWludHMuY3BwOgooV2ViQ29yZTo6c3RhdGlj
RGlzdGFuY2UpOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oOgoqIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwOgooV2ViQ29yZTo6UmVuZGVyQm94
Ojp0b3BMZWZ0TG9jYXRpb25XaXRoRmxpcHBpbmcgY29uc3QpOgooV2ViQ29yZTo6UmVuZGVyQm94
OjpvZmZzZXRGcm9tTG9naWNhbFRvcE9mRmlyc3RQYWdlIGNvbnN0KToKKiBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwOgooV2ViQ29yZTo6UmVuZGVyQm94
TW9kZWxPYmplY3Q6OmNvbXB1dGVTdGlja3lQb3NpdGlvbkNvbnN0cmFpbnRzIGNvbnN0KToKKiBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRlZEZsb3cuY3BwOgooV2ViQ29y
ZTo6UmVuZGVyRnJhZ21lbnRlZEZsb3c6Om9mZnNldEZyb21Mb2dpY2FsVG9wT2ZGaXJzdEZyYWdt
ZW50IGNvbnN0KToKKiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUuY3BwOgoo
V2ViQ29yZTo6UmVuZGVyVGFibGU6OnBhaW50Q29sbGFwc2VkQm9yZGVyc0ZvclJvdyk6CihXZWJD
b3JlOjpSZW5kZXJUYWJsZTo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMpOgoqIFNvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZS5oOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUYWJsZUNlbGwuY3BwOgooV2ViQ29yZTo6UmVuZGVyVGFibGVDZWxsOjpvZmZz
ZXRGcm9tQ29udGFpbmVyIGNvbnN0KToKKiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGFibGVSb3cuY3BwOgooV2ViQ29yZTo6UmVuZGVyVGFibGVSb3c6OlJlbmRlclRhYmxlUm93KToK
KFdlYkNvcmU6OlJlbmRlclRhYmxlUm93Ojp3aWxsQmVSZW1vdmVkRnJvbVRyZWUpOgooV2ViQ29y
ZTo6UmVuZGVyVGFibGVSb3c6OnN0eWxlRGlkQ2hhbmdlKToKKFdlYkNvcmU6OlJlbmRlclRhYmxl
Um93OjpsYXlvdXQpOgooV2ViQ29yZTo6UmVuZGVyVGFibGVSb3c6OmNsaXBwZWRPdmVyZmxvd1Jl
Y3QgY29uc3QpOgooV2ViQ29yZTo6UmVuZGVyVGFibGVSb3c6OnBhaW50KToKKFdlYkNvcmU6OlJl
bmRlclRhYmxlUm93OjpyZXF1aXJlc0xheWVyIGNvbnN0KToKKiBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGFibGVSb3cuaDoKKFdlYkNvcmU6OlJlbmRlclRhYmxlUm93OjpuZXh0Um93
IGNvbnN0KToKKFdlYkNvcmU6OlJlbmRlclRhYmxlUm93OjpwcmV2aW91c1JvdyBjb25zdCk6Ciog
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5jcHA6CihXZWJDb3Jl
OjpSZW5kZXJUYWJsZVNlY3Rpb246OmxheW91dFJvd3MpOgoqIFNvdXJjZS9XZWJDb3JlL3N0eWxl
L1N0eWxlQWRqdXN0ZXIuY3BwOgooV2ViQ29yZTo6U3R5bGU6OkFkanVzdGVyOjphZGp1c3QgY29u
c3QpOgotLS0KIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcCAgICAgICB8
ICA1ICsrKwogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL091dGxpbmVQYWludGVyLmNwcCAgIHwg
IDUgKysrCiAuLi4vcmVuZGVyaW5nL1Bvc2l0aW9uZWRMYXlvdXRDb25zdHJhaW50cy5jcHAgfCAg
NSArKysKIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oICAgICAgICB8ICAz
ICstCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcCAgICAgICAgfCAgOSAr
KysrKwogLi4uL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAgICAgICAgIHwgIDQg
KystCiAuLi4vcmVuZGVyaW5nL1JlbmRlckZyYWdtZW50ZWRGbG93LmNwcCAgICAgICAgfCAgNCAr
KysKIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZS5jcHAgICAgICB8IDMwICsr
KysrKysrKysrKysrKysrCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUuaCAg
ICAgICAgfCAgMiArKwogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5j
cHAgIHwgMTAgKysrKy0tCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVSb3cu
Y3BwICAgfCAyMyArKysrKysrKy0tLS0tCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGFibGVSb3cuaCAgICAgfCAgNyArKy0tCiAuLi4vV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFi
bGVTZWN0aW9uLmNwcCAgfCAgOSArKysrLQogU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVBZGp1
c3Rlci5jcHAgICAgICAgIHwgMTMgKysrKystLS0KIExheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlv
bnMgICAgICAgICAgICAgICAgICB8ICAxICsKIC4uLm9zaXRpb25lZC1yb3ctbm8tY29udGFpbm1l
bnQtZXhwZWN0ZWQuaHRtbCB8IDE0ICsrKysrKysrCiAuLi4vbm9uLXBvc2l0aW9uZWQtcm93LW5v
LWNvbnRhaW5tZW50Lmh0bWwgICAgfCAzMyArKysrKysrKysrKysrKysrKysrCiAuLi5pdmUtcG9z
aXRpb24tcm93LWNvbnRhaW5tZW50LWV4cGVjdGVkLmh0bWwgfCAxNSArKysrKysrKysKIC4uLi9y
ZWxhdGl2ZS1wb3NpdGlvbi1yb3ctY29udGFpbm1lbnQuaHRtbCAgICB8IDMyICsrKysrKysrKysr
KysrKysrKwogLi4uYXRpdmUtcG9zaXRpb24tcm93LW11bHRpY2VsbC1leHBlY3RlZC5odG1sIHwg
MTQgKysrKysrKysKIC4uLi9yZWxhdGl2ZS1wb3NpdGlvbi1yb3ctbXVsdGljZWxsLmh0bWwgICAg
ICB8IDMzICsrKysrKysrKysrKysrKysrKysKIDIxIGZpbGVzIGNoYW5nZWQsIDI1MCBpbnNlcnRp
b25zKCspLCAyMSBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9m
YXN0L3RhYmxlL25vbi1wb3NpdGlvbmVkLXJvdy1uby1jb250YWlubWVudC1leHBlY3RlZC5odG1s
CiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9ub24tcG9zaXRpb25l
ZC1yb3ctbm8tY29udGFpbm1lbnQuaHRtbAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3Rz
L2Zhc3QvdGFibGUvcmVsYXRpdmUtcG9zaXRpb24tcm93LWNvbnRhaW5tZW50LWV4cGVjdGVkLmh0
bWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L3RhYmxlL3JlbGF0aXZlLXBv
c2l0aW9uLXJvdy1jb250YWlubWVudC5odG1sCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVz
dHMvZmFzdC90YWJsZS9yZWxhdGl2ZS1wb3NpdGlvbi1yb3ctbXVsdGljZWxsLWV4cGVjdGVkLmh0
bWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L3RhYmxlL3JlbGF0aXZlLXBv
c2l0aW9uLXJvdy1tdWx0aWNlbGwuaHRtbAoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvVGV4dEl0ZXJhdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJh
dG9yLmNwcAppbmRleCAwMWUzODM2NjY5MWMuLjZlZTQ5ZjI1NDQ0ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcApAQCAtOTQwLDYgKzk0MCwxMSBAQCBib29sIHNob3Vs
ZEVtaXROZXdsaW5lc0JlZm9yZUFuZEFmdGVyTm9kZShOb2RlJiBub2RlKQogICAgIGlmIChzaG91
bGRFbWl0UmVwbGFjZW1lbnRJbnN0ZWFkT2ZOb2RlKG5vZGUpKQogICAgICAgICByZXR1cm4gZmFs
c2U7CiAKKyAgICAvLyBUYWJsZSByb3dzIGFyZSBSZW5kZXJCbG9ja3MgYnV0IGhhdmUgdGhlaXIg
b3duIG5ld2xpbmUgbG9naWMgYWJvdmUKKyAgICAvLyB0aGF0IGFjY291bnRzIGZvciBpbmxpbmUg
dGFibGVzLgorICAgIGlmIChpczxSZW5kZXJUYWJsZVJvdz4oKnJlbmRlcmVyKSkKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworCiAgICAgcmV0dXJuICFyZW5kZXJlci0+aXNJbmxpbmUoKQogICAgICAg
ICAmJiBpczxSZW5kZXJCbG9jaz4oKnJlbmRlcmVyKQogICAgICAgICAmJiAhcmVuZGVyZXItPmlz
RmxvYXRpbmdPck91dE9mRmxvd1Bvc2l0aW9uZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL091dGxpbmVQYWludGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9PdXRsaW5lUGFpbnRlci5jcHAKaW5kZXggNTAwMDA0N2VkNzY3Li4zOTBjNDQwZGZkYzkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9PdXRsaW5lUGFpbnRlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL091dGxpbmVQYWludGVyLmNwcApAQCAtMzg5LDYg
KzM4OSwxMSBAQCBib29sIE91dGxpbmVQYWludGVyOjpjb2xsZWN0Rm9jdXNSaW5nUmVjdHNGb3JC
bG9jayhjb25zdCBSZW5kZXJCbG9jayYgcmVuZGVyZXIsCiAgICAgaWYgKHJlbmRlcmVyLndpZHRo
KCkgJiYgcmVuZGVyZXIuaGVpZ2h0KCkpCiAgICAgICAgIHJlY3RzLmFwcGVuZChMYXlvdXRSZWN0
KGFkZGl0aW9uYWxPZmZzZXQsIHJlbmRlcmVyLnNpemUoKSkpOwogCisgICAgLy8gVGFibGUgcm93
cyBzaGFyZSBjb29yZGluYXRlIHNwYWNlIHdpdGggY2VsbHM7IGRvbid0IHJlY3Vyc2UgaW50byBj
ZWxscworICAgIC8vIGFzIHRoZWlyIGJvdW5kcyBtYXkgZXh0ZW5kIGJleW9uZCB0aGUgcm93IChl
LmcuIHJvd3NwYW4pLgorICAgIGlmIChyZW5kZXJlci5pc1JlbmRlclRhYmxlUm93KCkpCisgICAg
ICAgIHJldHVybiB0cnVlOworCiAgICAgaWYgKCFyZW5kZXJlci5oYXNOb25WaXNpYmxlT3ZlcmZs
b3coKSAmJiAhcmVuZGVyZXIuaGFzQ29udHJvbENsaXAoKSkgewogICAgICAgICBpZiAocmVuZGVy
ZXIuY2hpbGRyZW5JbmxpbmUoKSAmJiBpczxSZW5kZXJCbG9ja0Zsb3c+KHJlbmRlcmVyKSkKICAg
ICAgICAgICAgIGNvbGxlY3RGb2N1c1JpbmdSZWN0c0ZvcklubGluZUNoaWxkcmVuKGRvd25jYXN0
PFJlbmRlckJsb2NrRmxvdz4ocmVuZGVyZXIpLCByZWN0cywgYWRkaXRpb25hbE9mZnNldCwgcGFp
bnRDb250YWluZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Bvc2l0
aW9uZWRMYXlvdXRDb25zdHJhaW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUG9z
aXRpb25lZExheW91dENvbnN0cmFpbnRzLmNwcAppbmRleCBmNjFhZDg4YzIxZDguLjVjYmNhZGJk
NGQzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Bvc2l0aW9uZWRMYXlv
dXRDb25zdHJhaW50cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Bvc2l0aW9u
ZWRMYXlvdXRDb25zdHJhaW50cy5jcHAKQEAgLTY4MSw2ICs2ODEsMTEgQEAgc3RhdGljIExheW91
dFBvaW50IHN0YXRpY0Rpc3RhbmNlKGNvbnN0IFJlbmRlckJveE1vZGVsT2JqZWN0JiBjb250YWlu
ZXIsIGNvbnN0IFIKICAgICB9CiAKICAgICBzdGF0aWNQb3NpdGlvbiA9IGNoaWxkID09ICZvdXRP
ZkZsb3dCb3ggPyBpbml0aWFsU3RhdGljUG9zaXRpb24oKSA6IHBvc2l0aW9uSW5Db250YWluZXIo
KmNvbnRhaW5pbmdCbG9jaywgKmNoaWxkLCBzdGF0aWNQb3NpdGlvbik7CisgICAgLy8gVGFibGUg
cm93cyBhbmQgY2VsbHMgc2hhcmUgdGhlIHNlY3Rpb24ncyBjb29yZGluYXRlIHNwYWNlLiBUaGUg
Y2VsbCdzCisgICAgLy8gbG9naWNhbFRvcCgpIGlzIHNlY3Rpb24tcmVsYXRpdmUsIGJ1dCBwb3Np
dGlvbkluQ29udGFpbmVyIHRyZWF0ZWQgaXQgYXMKKyAgICAvLyByb3ctcmVsYXRpdmUuIFN1YnRy
YWN0IHRoZSByb3cncyBwb3NpdGlvbiB0byBjb3JyZWN0IGZvciB0aGlzLgorICAgIGlmIChpczxS
ZW5kZXJUYWJsZVJvdz4oY29udGFpbmluZ0Jsb2NrKSkKKyAgICAgICAgc3RhdGljUG9zaXRpb24u
bW92ZUJ5KC1jb250YWluaW5nQmxvY2stPmxvY2F0aW9uKCkpOwogICAgIHN0YXRpY1Bvc2l0aW9u
IC09IGNvbnRhaW5pbmdCbG9ja0JvcmRlclNpemU7CiAgICAgcmV0dXJuIHN0YXRpY1Bvc2l0aW9u
OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAppbmRleCA4ZDFlZDNkNWQ1
NzcuLjlmZTQ1MDRhMzhiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJsb2NrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgK
QEAgLTI1NSwxMyArMjU1LDE0IEBAIHB1YmxpYzoKIAogICAgIFBhaW50SW5mbyBwYWludEluZm9G
b3JCbG9ja0NoaWxkcmVuKGNvbnN0IFBhaW50SW5mbyYpIGNvbnN0OwogCisgICAgdm9pZCBsYXlv
dXRPdXRPZkZsb3dCb3hlcyhSZWxheW91dENoaWxkcmVuLCBib29sIGZpeGVkUG9zaXRpb25PYmpl
Y3RzT25seSA9IGZhbHNlKTsKKwogcHJvdGVjdGVkOgogICAgIFJlbmRlckZyYWdtZW50ZWRGbG93
KiBsb2NhdGVFbmNsb3NpbmdGcmFnbWVudGVkRmxvdygpIGNvbnN0IG92ZXJyaWRlOwogICAgIGJv
b2wgZXN0YWJsaXNoZXNJbmRlcGVuZGVudEZvcm1hdHRpbmdDb250ZXh0SWdub3JpbmdEaXNwbGF5
VHlwZShjb25zdCBSZW5kZXJTdHlsZSYpIGNvbnN0OwogCiAgICAgdm9pZCBsYXlvdXQoKSBvdmVy
cmlkZTsKIAotICAgIHZvaWQgbGF5b3V0T3V0T2ZGbG93Qm94ZXMoUmVsYXlvdXRDaGlsZHJlbiwg
Ym9vbCBmaXhlZFBvc2l0aW9uT2JqZWN0c09ubHkgPSBmYWxzZSk7CiAgICAgdmlydHVhbCB2b2lk
IGxheW91dE91dE9mRmxvd0JveChSZW5kZXJCb3gmLCBSZWxheW91dENoaWxkcmVuLCBib29sIGZp
eGVkUG9zaXRpb25PYmplY3RzT25seSk7CiAgICAgCiAgICAgdm9pZCBtYXJrRml4ZWRQb3NpdGlv
bkJveEZvckxheW91dElmTmVlZGVkKFJlbmRlckJveCYgY2hpbGQpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQm94LmNwcAppbmRleCAxNGViNDM0NzY2ZmYuLmE5YjBiYTAwYzI2ZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKQEAgLTUwNDEsNiArNTA0MSwxMCBA
QCBMYXlvdXRQb2ludCBSZW5kZXJCb3g6OnRvcExlZnRMb2NhdGlvbldpdGhGbGlwcGluZygpIGNv
bnN0CiAgICAgYXV0byogY29udGFpbmVyQmxvY2sgPSBjb250YWluaW5nQmxvY2soKTsKICAgICBp
ZiAoIWNvbnRhaW5lckJsb2NrIHx8IGNvbnRhaW5lckJsb2NrID09IHRoaXMpCiAgICAgICAgIHJl
dHVybiBsb2NhdGlvbigpOworICAgIC8vIFRhYmxlIHJvd3MgYW5kIGNlbGxzIHNoYXJlIHRoZSBz
ZWN0aW9uJ3MgY29vcmRpbmF0ZSBzcGFjZS4gVGhlIHJvdydzCisgICAgLy8gZGltZW5zaW9ucyBh
cmUgd3JvbmcgZm9yIGZsaXBwaW5nIHRoZSBjZWxsJ3Mgc2VjdGlvbi1yZWxhdGl2ZSBwb3NpdGlv
bi4KKyAgICBpZiAoaXM8UmVuZGVyVGFibGVSb3c+KGNvbnRhaW5lckJsb2NrKSkKKyAgICAgICAg
Y29udGFpbmVyQmxvY2sgPSBjb250YWluZXJCbG9jay0+Y29udGFpbmluZ0Jsb2NrKCk7CiAgICAg
cmV0dXJuIGNvbnRhaW5lckJsb2NrLT5mbGlwRm9yV3JpdGluZ01vZGVGb3JDaGlsZCgqdGhpcywg
bG9jYXRpb24oKSk7CiB9CiAKQEAgLTUyMzMsNiArNTIzNywxMSBAQCBMYXlvdXRVbml0IFJlbmRl
ckJveDo6b2Zmc2V0RnJvbUxvZ2ljYWxUb3BPZkZpcnN0UGFnZSgpIGNvbnN0CiAgICAgICAgIHJl
dHVybiAwOwogCiAgICAgUmVuZGVyQmxvY2sqIGNvbnRhaW5lckJsb2NrID0gY29udGFpbmluZ0Js
b2NrKCk7CisgICAgLy8gVGFibGUgcm93cyBhbmQgY2VsbHMgc2hhcmUgdGhlIHNlY3Rpb24ncyBj
b29yZGluYXRlIHNwYWNlLiBTa2lwIHRoZSByb3cKKyAgICAvLyB0byBhdm9pZCBkb3VibGUtY291
bnRpbmcgaXRzIG9mZnNldCAtLSB0aGUgY2VsbCdzIGxvZ2ljYWxUb3AoKSBhbHJlYWR5CisgICAg
Ly8gaW5jbHVkZXMgdGhlIHJvdydzIHBvc2l0aW9uIHdpdGhpbiB0aGUgc2VjdGlvbi4KKyAgICBp
ZiAoaXM8UmVuZGVyVGFibGVSb3c+KGNvbnRhaW5lckJsb2NrKSkKKyAgICAgICAgY29udGFpbmVy
QmxvY2sgPSBjb250YWluZXJCbG9jay0+Y29udGFpbmluZ0Jsb2NrKCk7CiAgICAgcmV0dXJuIGNv
bnRhaW5lckJsb2NrLT5vZmZzZXRGcm9tTG9naWNhbFRvcE9mRmlyc3RQYWdlKCkgKyBsb2dpY2Fs
VG9wKCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
b3hNb2RlbE9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9k
ZWxPYmplY3QuY3BwCmluZGV4IGE5ZTAzN2ExNjg2My4uNTJmZmM1N2EzMjMzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKQEAgLTQ2
OCw4ICs0NjgsMTAgQEAgdm9pZCBSZW5kZXJCb3hNb2RlbE9iamVjdDo6Y29tcHV0ZVN0aWNreVBv
c2l0aW9uQ29uc3RyYWludHMoU3RpY2t5UG9zaXRpb25WaWV3cG8KICAgICAvLyBEbyBub3QgdXNl
IGFub255bW91cyBjb250YWluaW5nIGJsb2NrcyB0byBkZXRlcm1pbmUgc3RpY2t5IGNvbnN0cmFp
bnRzLiBXZSB3YW50IHRoZSBzaXplCiAgICAgLy8gb2YgdGhlIGZpcnN0IHRydWUgY29udGFpbmlu
ZyBibG9jaywgYmVjYXVzZSB0aGF0IGlzIHdoYXQgaW1wb3NlcyB0aGUgbGltaXRhdGlvbiBvbiB0
aGUKICAgICAvLyBtb3ZlbWVudCBvZiBzdGlja2lseSBwb3NpdGlvbmVkIGl0ZW1zLgorICAgIC8v
IFRhYmxlIHJvd3MgYXJlIGFsc28gc2tpcHBlZCBiZWNhdXNlIGNlbGxzIGFuZCByb3dzIHNoYXJl
IHRoZSBzZWN0aW9uJ3MgY29vcmRpbmF0ZSBzcGFjZSwKKyAgICAvLyBzbyB0aGUgcm93J3MgY29u
dGVudCBib3ggaXMgbm90IHRoZSByaWdodCBjb25zdHJhaW50IHJlY3RhbmdsZS4KICAgICBSZW5k
ZXJCbG9jayogY29udGFpbmluZ0Jsb2NrID0gdGhpcy0+Y29udGFpbmluZ0Jsb2NrKCk7Ci0gICAg
d2hpbGUgKGNvbnRhaW5pbmdCbG9jayAmJiAoIWlzPFJlbmRlckJsb2NrPigqY29udGFpbmluZ0Js
b2NrKSB8fCBjb250YWluaW5nQmxvY2stPmlzQW5vbnltb3VzQmxvY2soKSkpCisgICAgd2hpbGUg
KGNvbnRhaW5pbmdCbG9jayAmJiAoIWlzPFJlbmRlckJsb2NrPigqY29udGFpbmluZ0Jsb2NrKSB8
fCBjb250YWluaW5nQmxvY2stPmlzQW5vbnltb3VzQmxvY2soKSB8fCBjb250YWluaW5nQmxvY2st
PmlzUmVuZGVyVGFibGVSb3coKSkpCiAgICAgICAgIGNvbnRhaW5pbmdCbG9jayA9IGNvbnRhaW5p
bmdCbG9jay0+Y29udGFpbmluZ0Jsb2NrKCk7CiAgICAgQVNTRVJUKGNvbnRhaW5pbmdCbG9jayk7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFnbWVudGVk
Rmxvdy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRlZEZsb3cu
Y3BwCmluZGV4IGRiMTYwOGFjZjE2Zi4uYTJiZjFiMTVkMjk4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRlZEZsb3cuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFnbWVudGVkRmxvdy5jcHAKQEAgLTc4Niw2ICs3ODYs
MTAgQEAgTGF5b3V0VW5pdCBSZW5kZXJGcmFnbWVudGVkRmxvdzo6b2Zmc2V0RnJvbUxvZ2ljYWxU
b3BPZkZpcnN0RnJhZ21lbnQoY29uc3QgUmVuZGUKICAgICAgICAgQVNTRVJUKGNvbnRhaW5lckJs
b2NrKTsKICAgICAgICAgaWYgKCFjb250YWluZXJCbG9jaykKICAgICAgICAgICAgIHJldHVybiAw
OworICAgICAgICAvLyBUYWJsZSByb3dzIGFuZCBjZWxscyBzaGFyZSB0aGUgc2VjdGlvbidzIGNv
b3JkaW5hdGUgc3BhY2UsIHNvIHNraXAKKyAgICAgICAgLy8gdGhlIHJvdyB0byBhdm9pZCBkb3Vi
bGUtY291bnRpbmcgaXRzIG9mZnNldC4KKyAgICAgICAgaWYgKGlzPFJlbmRlclRhYmxlUm93Pihj
b250YWluZXJCbG9jaykpCisgICAgICAgICAgICBjb250YWluZXJCbG9jayA9IGNvbnRhaW5lckJs
b2NrLT5jb250YWluaW5nQmxvY2soKTsKICAgICAgICAgTGF5b3V0UG9pbnQgY3VycmVudEJsb2Nr
TG9jYXRpb24gPSBjdXJyZW50QmxvY2stPmxvY2F0aW9uKCk7CiAgICAgICAgIGlmIChhdXRvKiBj
ZWxsID0gZHluYW1pY0Rvd25jYXN0PFJlbmRlclRhYmxlQ2VsbD4oKmN1cnJlbnRCbG9jaykpIHsK
ICAgICAgICAgICAgIGlmIChhdXRvKiBzZWN0aW9uID0gY2VsbC0+c2VjdGlvbigpKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZS5jcHAKaW5kZXggMDc0MzU4NTVjY2IxLi4wYTE2
MDFjZDM3MGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJs
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcApAQCAt
OTE0LDYgKzkxNCwyNiBAQCB2b2lkIFJlbmRlclRhYmxlOjpwYWludE9iamVjdChQYWludEluZm8m
IHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2ZmcwogICAgICAgICBwYWludE91
dGxpbmUocGFpbnRJbmZvLCBMYXlvdXRSZWN0KHBhaW50T2Zmc2V0LCBzaXplKCkpKTsKIH0KIAor
dm9pZCBSZW5kZXJUYWJsZTo6cGFpbnRDb2xsYXBzZWRCb3JkZXJzRm9yUm93KFBhaW50SW5mbyYg
cGFpbnRJbmZvLCBSZW5kZXJUYWJsZVJvdyYgcm93LCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnRP
ZmZzZXQpCit7CisgICAgQVNTRVJUKGNvbGxhcHNlQm9yZGVycygpKTsKKyAgICByZWNhbGNDb2xs
YXBzZWRCb3JkZXJzKCk7CisKKyAgICBQYWludEluZm8gYm9yZGVyUGFpbnRJbmZvKHBhaW50SW5m
byk7CisgICAgYm9yZGVyUGFpbnRJbmZvLnBoYXNlID0gUGFpbnRQaGFzZTo6Q29sbGFwc2VkVGFi
bGVCb3JkZXJzOworCisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtX2NvbGxhcHNlZEJvcmRl
cnMuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgbV9jdXJyZW50Qm9yZGVyID0gJm1fY29sbGFwc2Vk
Qm9yZGVyc1tpXTsKKyAgICAgICAgZm9yIChhdXRvKiBjZWxsID0gcm93LmZpcnN0Q2VsbCgpOyBj
ZWxsOyBjZWxsID0gY2VsbC0+bmV4dENlbGwoKSkgeworICAgICAgICAgICAgaWYgKCFjZWxsLT5o
YXNTZWxmUGFpbnRpbmdMYXllcigpKSB7CisgICAgICAgICAgICAgICAgYXV0byBjZWxsUG9pbnQg
PSByb3cuc2VjdGlvbigpLT5mbGlwRm9yV3JpdGluZ01vZGVGb3JDaGlsZCgqY2VsbCwgcGFpbnRP
ZmZzZXQpOworICAgICAgICAgICAgICAgIGNlbGwtPnBhaW50Q29sbGFwc2VkQm9yZGVycyhib3Jk
ZXJQYWludEluZm8sIGNlbGxQb2ludCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9
CisgICAgbV9jdXJyZW50Qm9yZGVyID0geyB9OworfQorCiB2b2lkIFJlbmRlclRhYmxlOjphZGp1
c3RCb3JkZXJCb3hSZWN0Rm9yUGFpbnRpbmcoTGF5b3V0UmVjdCYgcmVjdCkKIHsKICAgICBmb3Ig
KHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9jYXB0aW9ucy5zaXplKCk7IGkrKykgewpAQCAtMTA0NCw2
ICsxMDY0LDE2IEBAIHZvaWQgUmVuZGVyVGFibGU6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lk
dGhzKCkKICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIGJlIGFkZGluZyBib3JkZXJBbmRQYWRkaW5n
TG9naWNhbFdpZHRoIGhlcmUsIGJ1dCBtX3RhYmxlTGF5b3V0LT5jb21wdXRlUHJlZmVycmVkTG9n
aWNhbFdpZHRocyBhbHJlYWR5IGRvZXMsCiAgICAgLy8gc28gYSBidW5jaCBvZiB0ZXN0cyBicmVh
ayBkb2luZyB0aGlzIG5haXZlbHkuCiAgICAgY2xlYXJOZWVkc1ByZWZlcnJlZFdpZHRoc1VwZGF0
ZSgpOworCisgICAgLy8gUm93IHdpZHRocyBhcmUgc2V0IGJ5IHRoZSBzZWN0aW9uLCBub3QgY29t
cHV0ZWQgZnJvbSBwcmVmZXJyZWQgd2lkdGhzLAorICAgIC8vIHNvIHRoZWlyIGRpcnR5IGJpdCBp
cyBuZXZlciBjbGVhcmVkIGJ5IHRoZSBub3JtYWwgcHJlZmVycmVkIHdpZHRoCisgICAgLy8gY29t
cHV0YXRpb24uIENsZWFyIGl0IGhlcmUgc28gaXQgZG9lc24ndCBibG9jayBzdWJzZXF1ZW50IGlu
dmFsaWRhdGlvbgorICAgIC8vIGZyb20gcHJvcGFnYXRpbmcgdGhyb3VnaCB0aGUgcm93IHRvIHRo
ZSB0YWJsZS4KKyAgICBmb3IgKGF1dG8qIHNlY3Rpb24gPSB0b3BTZWN0aW9uKCk7IHNlY3Rpb247
IHNlY3Rpb24gPSBzZWN0aW9uQmVsb3coc2VjdGlvbikpIHsKKyAgICAgICAgc2VjdGlvbi0+Y2xl
YXJOZWVkc1ByZWZlcnJlZFdpZHRoc1VwZGF0ZSgpOworICAgICAgICBmb3IgKGF1dG8qIHJvdyA9
IHNlY3Rpb24tPmZpcnN0Um93KCk7IHJvdzsgcm93ID0gcm93LT5uZXh0Um93KCkpCisgICAgICAg
ICAgICByb3ctPmNsZWFyTmVlZHNQcmVmZXJyZWRXaWR0aHNVcGRhdGUoKTsKKyAgICB9CiB9CiAK
IFJlbmRlclRhYmxlU2VjdGlvbiogUmVuZGVyVGFibGU6OnRvcE5vbkVtcHR5U2VjdGlvbigpIGNv
bnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUuaCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZS5oCmluZGV4IDI1YjRlMWZmZmQw
MS4uNTI4MjI0YjQ2MzMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGFibGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUuaApA
QCAtMzcsNiArMzcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBSZW5kZXJUYWJsZUNv
bDsKIGNsYXNzIFJlbmRlclRhYmxlQ2FwdGlvbjsKIGNsYXNzIFJlbmRlclRhYmxlQ2VsbDsKK2Ns
YXNzIFJlbmRlclRhYmxlUm93OwogY2xhc3MgUmVuZGVyVGFibGVTZWN0aW9uOwogY2xhc3MgVGFi
bGVMYXlvdXQ7CiAKQEAgLTE5MCw2ICsxOTEsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBpbnZhbGlk
YXRlQ29sbGFwc2VkQm9yZGVyc0FmdGVyU3R5bGVDaGFuZ2VJZk5lZWRlZChjb25zdCBSZW5kZXJT
dHlsZSYgb2xkU3R5bGUsIGNvbnN0IFJlbmRlclN0eWxlJiBuZXdTdHlsZSwgUmVuZGVyVGFibGVD
ZWxsKiBjZWxsV2l0aFN0eWxlQ2hhbmdlID0gbnVsbHB0cik7CiAgICAgdm9pZCBjb2xsYXBzZWRF
bXB0eUJvcmRlcklzUHJlc2VudCgpIHsgbV9jb2xsYXBzZWRFbXB0eUJvcmRlcklzUHJlc2VudCA9
IHRydWU7IH0KICAgICBjb25zdCBDb2xsYXBzZWRCb3JkZXJWYWx1ZSogY3VycmVudEJvcmRlclZh
bHVlKCkgY29uc3QgTElGRVRJTUVfQk9VTkQgeyByZXR1cm4gbV9jdXJyZW50Qm9yZGVyOyB9Cisg
ICAgdm9pZCBwYWludENvbGxhcHNlZEJvcmRlcnNGb3JSb3coUGFpbnRJbmZvJiwgUmVuZGVyVGFi
bGVSb3cmLCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZmZzZXQpOwogICAgIAogICAgIGJvb2wg
aGFzU2VjdGlvbnMoKSBjb25zdCB7IHJldHVybiBtX2hlYWQgfHwgbV9mb290IHx8IG1fZmlyc3RC
b2R5OyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJs
ZUNlbGwuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5jcHAK
aW5kZXggNjRlNjhmODZkNzJiLi5iYjRlNGQwYjQ2ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNlbGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUYWJsZUNlbGwuY3BwCkBAIC01NDgsOCArNTQ4LDE0IEBAIExheW91dFNp
emUgUmVuZGVyVGFibGVDZWxsOjpvZmZzZXRGcm9tQ29udGFpbmVyKGNvbnN0IFJlbmRlckVsZW1l
bnQmIGNvbnRhaW5lciwKICAgICBBU1NFUlQoJmNvbnRhaW5lciA9PSB0aGlzLT5jb250YWluZXIo
KSk7CiAKICAgICBMYXlvdXRTaXplIG9mZnNldCA9IFJlbmRlckJsb2NrRmxvdzo6b2Zmc2V0RnJv
bUNvbnRhaW5lcihjb250YWluZXIsIHBvaW50LCBvZmZzZXREZXBlbmRzT25Qb2ludCk7Ci0gICAg
aWYgKGF1dG8qIGNvbnRhaW5lck9mUm93ID0gY29udGFpbmVyLmNvbnRhaW5lcigpOyBjb250YWlu
ZXJPZlJvdyAmJiBwYXJlbnQoKSkKLSAgICAgICAgb2Zmc2V0IC09IHBhcmVudEJveCgpLT5vZmZz
ZXRGcm9tQ29udGFpbmVyKCpjb250YWluZXJPZlJvdywgcG9pbnQpOworICAgIC8vIENlbGxzIGFu
ZCByb3dzIHNoYXJlIHRoZSBzZWN0aW9uJ3MgY29vcmRpbmF0ZSBzcGFjZS4gVGhlIGNlbGwncyBs
b2NhdGlvbigpCisgICAgLy8gaXMgc2VjdGlvbi1yZWxhdGl2ZSwgbm90IHJvdy1yZWxhdGl2ZS4g
U3VidHJhY3QgdGhlIHJvdydzIG9mZnNldCB0byBjb252ZXJ0CisgICAgLy8gdG8gdGhlIGNvcnJl
Y3QgY29vcmRpbmF0ZSBzcGFjZSBmb3IgdGhlIGNvbnRhaW5lci4KKyAgICBpZiAoIWlzPFJlbmRl
clRhYmxlUm93Pihjb250YWluZXIpKSB7CisgICAgICAgIGlmIChhdXRvKiBjb250YWluZXJPZlJv
dyA9IGNvbnRhaW5lci5jb250YWluZXIoKTsgY29udGFpbmVyT2ZSb3cgJiYgcGFyZW50KCkpCisg
ICAgICAgICAgICBvZmZzZXQgLT0gcGFyZW50Qm94KCktPm9mZnNldEZyb21Db250YWluZXIoKmNv
bnRhaW5lck9mUm93LCBwb2ludCk7CisgICAgfSBlbHNlCisgICAgICAgIG9mZnNldCAtPSBwYXJl
bnRCb3goKS0+dG9wTGVmdExvY2F0aW9uT2Zmc2V0KCk7CiAKICAgICByZXR1cm4gb2Zmc2V0Owog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlUm93LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVJvdy5jcHAKaW5kZXggOTk5
YTQ0MTJhNzAzLi4yNGQwMDFjNzIzMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUYWJsZVJvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRhYmxlUm93LmNwcApAQCAtNTEsNyArNTEsNyBAQCB1c2luZyBuYW1lc3BhY2UgSFRNTE5h
bWVzOwogV1RGX01BS0VfVFpPTkVfQUxMT0NBVEVEX0lNUEwoUmVuZGVyVGFibGVSb3cpOwogCiBS
ZW5kZXJUYWJsZVJvdzo6UmVuZGVyVGFibGVSb3coRWxlbWVudCYgZWxlbWVudCwgUmVuZGVyU3R5
bGUmJiBzdHlsZSkKLSAgICA6IFJlbmRlckJveChUeXBlOjpUYWJsZVJvdywgZWxlbWVudCwgV1RG
Ojptb3ZlKHN0eWxlKSkKKyAgICA6IFJlbmRlckJsb2NrKFR5cGU6OlRhYmxlUm93LCBlbGVtZW50
LCBXVEY6Om1vdmUoc3R5bGUpLCB7IH0pCiAgICAgLCBtX3Jvd0luZGV4KHVuc2V0Um93SW5kZXgp
CiB7CiAgICAgc2V0SW5saW5lKGZhbHNlKTsKQEAgLTU5LDcgKzU5LDcgQEAgUmVuZGVyVGFibGVS
b3c6OlJlbmRlclRhYmxlUm93KEVsZW1lbnQmIGVsZW1lbnQsIFJlbmRlclN0eWxlJiYgc3R5bGUp
CiB9CiAKIFJlbmRlclRhYmxlUm93OjpSZW5kZXJUYWJsZVJvdyhEb2N1bWVudCYgZG9jdW1lbnQs
IFJlbmRlclN0eWxlJiYgc3R5bGUpCi0gICAgOiBSZW5kZXJCb3goVHlwZTo6VGFibGVSb3csIGRv
Y3VtZW50LCBXVEY6Om1vdmUoc3R5bGUpKQorICAgIDogUmVuZGVyQmxvY2soVHlwZTo6VGFibGVS
b3csIGRvY3VtZW50LCBXVEY6Om1vdmUoc3R5bGUpLCB7IH0pCiAgICAgLCBtX3Jvd0luZGV4KHVu
c2V0Um93SW5kZXgpCiB7CiAgICAgc2V0SW5saW5lKGZhbHNlKTsKQEAgLTc1LDcgKzc1LDcgQEAg
QVNDSUlMaXRlcmFsIFJlbmRlclRhYmxlUm93OjpyZW5kZXJOYW1lKCkgY29uc3QKIAogdm9pZCBS
ZW5kZXJUYWJsZVJvdzo6d2lsbEJlUmVtb3ZlZEZyb21UcmVlKCkKIHsKLSAgICBSZW5kZXJCb3g6
OndpbGxCZVJlbW92ZWRGcm9tVHJlZSgpOworICAgIFJlbmRlckJsb2NrOjp3aWxsQmVSZW1vdmVk
RnJvbVRyZWUoKTsKIAogICAgIHNlY3Rpb24oKS0+c2V0TmVlZHNDZWxsUmVjYWxjKCk7CiB9CkBA
IC05Miw3ICs5Miw3IEBAIHZvaWQgUmVuZGVyVGFibGVSb3c6OnN0eWxlRGlkQ2hhbmdlKFN0eWxl
OjpEaWZmZXJlbmNlIGRpZmYsIGNvbnN0IFJlbmRlclN0eWxlKiBvCiB7CiAgICAgQVNTRVJUKHN0
eWxlKCkuZGlzcGxheSgpID09IFN0eWxlOjpEaXNwbGF5VHlwZTo6VGFibGVSb3cpOwogCi0gICAg
UmVuZGVyQm94OjpzdHlsZURpZENoYW5nZShkaWZmLCBvbGRTdHlsZSk7CisgICAgUmVuZGVyQmxv
Y2s6OnN0eWxlRGlkQ2hhbmdlKGRpZmYsIG9sZFN0eWxlKTsKICAgICBwcm9wYWdhdGVTdHlsZVRv
QW5vbnltb3VzQ2hpbGRyZW4oU3R5bGVQcm9wYWdhdGlvblR5cGU6OkFsbENoaWxkcmVuKTsKIAog
ICAgIGlmIChzZWN0aW9uKCkgJiYgb2xkU3R5bGUgJiYgc3R5bGUoKS5sb2dpY2FsSGVpZ2h0KCkg
IT0gb2xkU3R5bGUtPmxvZ2ljYWxIZWlnaHQoKSkKQEAgLTE4Miw4ICsxODIsOCBAQCB2b2lkIFJl
bmRlclRhYmxlUm93OjpsYXlvdXQoKQogICAgICAgICAgICAgY2VsbC0+cmVwYWludCgpOwogICAg
IH0KIAotICAgIC8vIFJlbmRlclRhYmxlU2VjdGlvbjo6bGF5b3V0Um93cyB3aWxsIHNldCBvdXIg
bG9naWNhbCBoZWlnaHQgYW5kIHdpZHRoIGxhdGVyLCBzbyBpdCBjYWxscyB1cGRhdGVMYXllclRy
YW5zZm9ybSgpLgotICAgIGNsZWFyTmVlZHNMYXlvdXQoKTsKKyAgICAvLyBSb3cgZGltZW5zaW9u
cyBhcmUgZmluYWxpemVkIGluIFJlbmRlclRhYmxlU2VjdGlvbjo6bGF5b3V0Um93cygpLCB3aGlj
aCBhbHNvCisgICAgLy8gbGF5cyBvdXQgb3V0LW9mLWZsb3cgZGVzY2VuZGFudHMgYW5kIGNhbGxz
IGNsZWFyTmVlZHNMYXlvdXQoKS4KIH0KIAogTGF5b3V0UmVjdCBSZW5kZXJUYWJsZVJvdzo6Y2xp
cHBlZE92ZXJmbG93UmVjdChjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiByZXBhaW50Q29u
dGFpbmVyLCBWaXNpYmxlUmVjdENvbnRleHQgY29udGV4dCkgY29uc3QKQEAgLTE5Miw3ICsxOTIs
NyBAQCBMYXlvdXRSZWN0IFJlbmRlclRhYmxlUm93OjpjbGlwcGVkT3ZlcmZsb3dSZWN0KGNvbnN0
IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIHJlcAogICAgIC8vIFJvd3MgYW5kIGNlbGxzIGFyZSBp
biB0aGUgc2FtZSBjb29yZGluYXRlIHNwYWNlLiBXZSBuZWVkIHRvIGJvdGggY29tcHV0ZSBvdXIg
b3ZlcmZsb3cgcmVjdCAod2hpY2gKICAgICAvLyB3aWxsIGFjY29tbW9kYXRlIGEgcm93IG91dGxp
bmUgYW5kIGFueSB2aXN1YWwgZWZmZWN0cyBvbiB0aGUgcm93IGl0c2VsZiksIGJ1dCB3ZSBhbHNv
IG5lZWQgdG8gYWRkIGluCiAgICAgLy8gdGhlIHJlcGFpbnQgcmVjdHMgb2YgY2VsbHMuCi0gICAg
YXV0byByZXN1bHQgPSBSZW5kZXJCb3g6OmNsaXBwZWRPdmVyZmxvd1JlY3QocmVwYWludENvbnRh
aW5lciwgY29udGV4dCk7CisgICAgYXV0byByZXN1bHQgPSBSZW5kZXJCbG9jazo6Y2xpcHBlZE92
ZXJmbG93UmVjdChyZXBhaW50Q29udGFpbmVyLCBjb250ZXh0KTsKICAgICBmb3IgKGF1dG8qIGNl
bGwgPSBmaXJzdENlbGwoKTsgY2VsbDsgY2VsbCA9IGNlbGwtPm5leHRDZWxsKCkpIHsKICAgICAg
ICAgLy8gRXZlbiBpZiBhIGNlbGwgaXMgYSByZXBhaW50IGNvbnRhaW5lciwgaXQncyB0aGUgcm93
IHRoYXQgcGFpbnRzIHRoZSBiYWNrZ3JvdW5kIGJlaGluZCBpdC4KICAgICAgICAgLy8gU28gd2Ug
ZG9uJ3QgY2FyZSBpZiBhIGNlbGwgaXMgYSByZXBhaW50Q29udGFpbmVyIGhlcmUuCkBAIC0yNzQs
NiArMjc0LDEzIEBAIHZvaWQgUmVuZGVyVGFibGVSb3c6OnBhaW50KFBhaW50SW5mbyYgcGFpbnRJ
bmZvLCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZmZzZXQpCiAgICAgICAgIGlmICghY2VsbC0+
aGFzU2VsZlBhaW50aW5nTGF5ZXIoKSkKICAgICAgICAgICAgIGNlbGwtPnBhaW50KHBhaW50SW5m
bywgcGFpbnRPZmZzZXQpOwogICAgIH0KKworICAgIC8vIFdoZW4gdGhlIHJvdyBoYXMgYSBzZWxm
LXBhaW50aW5nIGxheWVyIChwb3NpdGlvbjogcmVsYXRpdmUpLCBjb2xsYXBzZWQKKyAgICAvLyBi
b3JkZXJzIG11c3QgYmUgcGFpbnRlZCBoZXJlIGFmdGVyIGNlbGwgYmFja2dyb3VuZHMuIE90aGVy
d2lzZSB0aGUgY2VsbAorICAgIC8vIGJhY2tncm91bmQgKGluIHRoaXMgbGF5ZXIpIGNvdmVycyB0
aGUgaW5uZXIgaGFsZiBvZiB0aGUgYm9yZGVyIChwYWludGVkCisgICAgLy8gYnkgdGhlIHRhYmxl
J3MgbGF5ZXIpLgorICAgIGlmIChDaGVja2VkUHRyIHRhYmxlID0gdGhpcy0+dGFibGUoKTsgdGFi
bGUgJiYgdGFibGUtPmNvbGxhcHNlQm9yZGVycygpICYmIHBhaW50SW5mby5waGFzZSA9PSBQYWlu
dFBoYXNlOjpDaGlsZEJsb2NrQmFja2dyb3VuZHMpCisgICAgICAgIHRhYmxlLT5wYWludENvbGxh
cHNlZEJvcmRlcnNGb3JSb3cocGFpbnRJbmZvLCAqdGhpcywgcGFpbnRPZmZzZXQpOwogfQogCiB2
b2lkIFJlbmRlclRhYmxlUm93OjppbWFnZUNoYW5nZWQoV3JhcHBlZEltYWdlUHRyLCBjb25zdCBJ
bnRSZWN0KikKQEAgLTI4Niw3ICsyOTMsNyBAQCB2b2lkIFJlbmRlclRhYmxlUm93OjppbWFnZUNo
YW5nZWQoV3JhcHBlZEltYWdlUHRyLCBjb25zdCBJbnRSZWN0KikKIAogYm9vbCBSZW5kZXJUYWJs
ZVJvdzo6cmVxdWlyZXNMYXllcigpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIGhhc05vblZpc2libGVP
dmVyZmxvdygpIHx8IGhhc1RyYW5zZm9ybVJlbGF0ZWRQcm9wZXJ0eSgpIHx8IGhhc0hpZGRlbkJh
Y2tmYWNlKCkgfHwgaGFzQ2xpcFBhdGgoKSB8fCBjcmVhdGVzR3JvdXAoKSB8fCBpc1N0aWNraWx5
UG9zaXRpb25lZCgpIHx8IHJlcXVpcmVzUmVuZGVyaW5nQ29uc29saWRhdGlvbkZvclZpZXdUcmFu
c2l0aW9uKCk7CisgICAgcmV0dXJuIGlzUG9zaXRpb25lZCgpIHx8IGhhc05vblZpc2libGVPdmVy
ZmxvdygpIHx8IGhhc1RyYW5zZm9ybVJlbGF0ZWRQcm9wZXJ0eSgpIHx8IGhhc0hpZGRlbkJhY2tm
YWNlKCkgfHwgaGFzQ2xpcFBhdGgoKSB8fCBjcmVhdGVzR3JvdXAoKSB8fCBpc1N0aWNraWx5UG9z
aXRpb25lZCgpIHx8IHJlcXVpcmVzUmVuZGVyaW5nQ29uc29saWRhdGlvbkZvclZpZXdUcmFuc2l0
aW9uKCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVJvdy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRhYmxlUm93LmgKaW5kZXggZTczYzY1ZGZhYjlkLi42YzJiM2FkMGZmNDcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVJvdy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVJvdy5oCkBAIC0yNSw2ICsyNSw3
IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAiUmVuZGVyQmxvY2suaCIKICNpbmNsdWRl
ICJSZW5kZXJUYWJsZVNlY3Rpb24uaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzIsNyAr
MzMsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBzdGF0aWMgY29uc3QgdW5zaWduZWQgdW5zZXRS
b3dJbmRleCA9IDB4N0ZGRkZGRkY7CiBzdGF0aWMgY29uc3QgdW5zaWduZWQgbWF4Um93SW5kZXgg
PSAweDdGRkZGRkZFOyAvLyAyLDE0Nyw0ODMsNjQ2CiAKLWNsYXNzIFJlbmRlclRhYmxlUm93IGZp
bmFsIDogcHVibGljIFJlbmRlckJveCB7CitjbGFzcyBSZW5kZXJUYWJsZVJvdyBmaW5hbCA6IHB1
YmxpYyBSZW5kZXJCbG9jayB7CiAgICAgV1RGX01BS0VfVFpPTkVfQUxMT0NBVEVEKFJlbmRlclRh
YmxlUm93KTsKICAgICBXVEZfT1ZFUlJJREVfREVMRVRFX0ZPUl9DSEVDS0VEX1BUUihSZW5kZXJU
YWJsZVJvdyk7CiBwdWJsaWM6CkBAIC0xMTksMTIgKzEyMCwxMiBAQCBpbmxpbmUgUmVuZGVyVGFi
bGUqIFJlbmRlclRhYmxlUm93Ojp0YWJsZSgpIGNvbnN0CiAKIGlubGluZSBSZW5kZXJUYWJsZVJv
dyogUmVuZGVyVGFibGVSb3c6Om5leHRSb3coKSBjb25zdAogewotICAgIHJldHVybiBkb3duY2Fz
dDxSZW5kZXJUYWJsZVJvdz4oUmVuZGVyQm94OjpuZXh0U2libGluZygpKTsKKyAgICByZXR1cm4g
ZG93bmNhc3Q8UmVuZGVyVGFibGVSb3c+KFJlbmRlckJsb2NrOjpuZXh0U2libGluZygpKTsKIH0K
IAogaW5saW5lIFJlbmRlclRhYmxlUm93KiBSZW5kZXJUYWJsZVJvdzo6cHJldmlvdXNSb3coKSBj
b25zdAogewotICAgIHJldHVybiBkb3duY2FzdDxSZW5kZXJUYWJsZVJvdz4oUmVuZGVyQm94Ojpw
cmV2aW91c1NpYmxpbmcoKSk7CisgICAgcmV0dXJuIGRvd25jYXN0PFJlbmRlclRhYmxlUm93PihS
ZW5kZXJCbG9jazo6cHJldmlvdXNTaWJsaW5nKCkpOwogfQogCiBpbmxpbmUgUmVuZGVyVGFibGVS
b3cqIFJlbmRlclRhYmxlU2VjdGlvbjo6Zmlyc3RSb3coKSBjb25zdApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9uLmNwcAppbmRleCA4YTYyOTc4Y2MzZjEu
LjQ3ZWJmY2NiZjc1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRhYmxlU2VjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRh
YmxlU2VjdGlvbi5jcHAKQEAgLTU5NSw3ICs1OTUsOSBAQCB2b2lkIFJlbmRlclRhYmxlU2VjdGlv
bjo6bGF5b3V0Um93cygpCiAKICAgICBmb3IgKHNpemVfdCByb3dJbmRleCA9IDA7IHJvd0luZGV4
IDwgbnVtYmVyT2ZSb3dzOyByb3dJbmRleCsrKSB7CiAgICAgICAgIC8vIFNldCB0aGUgcm93J3Mg
eC95IHBvc2l0aW9uIGFuZCB3aWR0aC9oZWlnaHQuCi0gICAgICAgIGlmIChSZW5kZXJUYWJsZVJv
dyogcm93UmVuZGVyZXIgPSBtX2dyaWRbcm93SW5kZXhdLnJvd1JlbmRlcmVyKSB7CisgICAgICAg
IENoZWNrZWRQdHIgcm93UmVuZGVyZXIgPSBtX2dyaWRbcm93SW5kZXhdLnJvd1JlbmRlcmVyOwor
CisgICAgICAgIGlmIChyb3dSZW5kZXJlcikgewogICAgICAgICAgICAgLy8gRklYTUU6IHRoZSB4
KCkgcG9zaXRpb24gb2YgdGhlIHJvdyBzaG91bGQgYmUgdGFibGUoKS0+aEJvcmRlclNwYWNpbmco
KSBzbyB0aGF0IGl0IGNhbiAKICAgICAgICAgICAgIC8vIHJlcG9ydCB0aGUgY29ycmVjdCBvZmZz
ZXRMZWZ0LiBIb3dldmVyLCB0aGF0IHdpbGwgcmVxdWlyZSBhIGxvdCBvZiByZWJhc2VsaW5pbmcg
b2YgdGVzdCByZXN1bHRzLgogICAgICAgICAgICAgcm93UmVuZGVyZXItPnNldExvZ2ljYWxMb2Nh
dGlvbih7IDBfbHUsIG1fcm93UG9zW3Jvd0luZGV4XSB9KTsKQEAgLTY4MSw2ICs2ODMsMTEgQEAg
dm9pZCBSZW5kZXJUYWJsZVNlY3Rpb246OmxheW91dFJvd3MoKQogICAgICAgICAgICAgICAgICAg
ICBjZWxsc1tjZWxsSW5kZXhdLT5zZXRMb2dpY2FsSGVpZ2h0KGNlbGxzW2NlbGxJbmRleF0tPmxv
Z2ljYWxIZWlnaHQoKSArIHJvd0hlaWdodEluY3JlYXNlRm9yUGFnaW5hdGlvbik7CiAgICAgICAg
ICAgICB9CiAgICAgICAgIH0KKyAgICAgICAgLy8gRmluYWxpemUgcm93IGxheW91dC4KKyAgICAg
ICAgaWYgKHJvd1JlbmRlcmVyKSB7CisgICAgICAgICAgICByb3dSZW5kZXJlci0+bGF5b3V0T3V0
T2ZGbG93Qm94ZXMoUmVsYXlvdXRDaGlsZHJlbjo6WWVzKTsKKyAgICAgICAgICAgIHJvd1JlbmRl
cmVyLT5jbGVhck5lZWRzTGF5b3V0KCk7CisgICAgICAgIH0KICAgICB9CiAKICAgICBBU1NFUlQo
IW5lZWRzTGF5b3V0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVB
ZGp1c3Rlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUFkanVzdGVyLmNwcAppbmRl
eCBlMGJlZGE0NWQxZmYuLjUxMjY2ZThmNTEzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
c3R5bGUvU3R5bGVBZGp1c3Rlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVB
ZGp1c3Rlci5jcHAKQEAgLTQ4MywxMSArNDgzLDEwIEBAIHZvaWQgQWRqdXN0ZXI6OmFkanVzdChS
ZW5kZXJTdHlsZSYgc3R5bGUpIGNvbnN0CiAgICAgICAgIGlmIChzdHlsZS5kaXNwbGF5KCkgPT0g
RGlzcGxheVR5cGU6OklubGluZUZsb3cgJiYgIXN0eWxlLnBzZXVkb0VsZW1lbnRUeXBlKCkgJiYg
c3R5bGUud3JpdGluZ01vZGUoKS5jb21wdXRlZFdyaXRpbmdNb2RlKCkgIT0gbV9wYXJlbnRTdHls
ZS53cml0aW5nTW9kZSgpLmNvbXB1dGVkV3JpdGluZ01vZGUoKSkKICAgICAgICAgICAgIHN0eWxl
LnNldERpc3BsYXlNYWludGFpbmluZ09yaWdpbmFsRGlzcGxheShEaXNwbGF5VHlwZTo6SW5saW5l
Rmxvd1Jvb3QpOwogCi0gICAgICAgIC8vIEFmdGVyIHBlcmZvcm1pbmcgdGhlIGRpc3BsYXkgbXV0
YXRpb24sIGNoZWNrIHRhYmxlIHJvd3MuIFdlIGRvIG5vdCBob25vciBwb3NpdGlvbjpyZWxhdGl2
ZSBvciBwb3NpdGlvbjpzdGlja3kgb24KLSAgICAgICAgLy8gdGFibGUgcm93cyBvciBjZWxscy4g
VGhpcyBoYXMgYmVlbiBlc3RhYmxpc2hlZCBmb3IgcG9zaXRpb246cmVsYXRpdmUgaW4gQ1NTMi4x
IChhbmQgY2F1c2VkIGEgY3Jhc2ggaW4gY29udGFpbmluZ0Jsb2NrKCkKLSAgICAgICAgLy8gb24g
c29tZSBzaXRlcykuCisgICAgICAgIC8vIFdlIGRvIG5vdCBob25vciBwb3NpdGlvbjpyZWxhdGl2
ZSBvciBwb3NpdGlvbjpzdGlja3kgb24gdGFibGUgcm93IGdyb3Vwcy4gVGFibGUgcm93cyBhcmUK
KyAgICAgICAgLy8gYWxsb3dlZCB0byBiZSBwb3NpdGlvbjpyZWxhdGl2ZSAodGhleSBleHRlbmQg
UmVuZGVyQmxvY2sgYW5kIGNhbiBiZSBwcm9wZXIgY29udGFpbmluZyBibG9ja3MpLgogICAgICAg
ICBpZiAoKHN0eWxlLmRpc3BsYXkoKSA9PSBEaXNwbGF5VHlwZTo6VGFibGVIZWFkZXJHcm91cCB8
fCBzdHlsZS5kaXNwbGF5KCkgPT0gRGlzcGxheVR5cGU6OlRhYmxlUm93R3JvdXAKLSAgICAgICAg
ICAgIHx8IHN0eWxlLmRpc3BsYXkoKSA9PSBEaXNwbGF5VHlwZTo6VGFibGVGb290ZXJHcm91cCB8
fCBzdHlsZS5kaXNwbGF5KCkgPT0gRGlzcGxheVR5cGU6OlRhYmxlUm93KQorICAgICAgICAgICAg
fHwgc3R5bGUuZGlzcGxheSgpID09IERpc3BsYXlUeXBlOjpUYWJsZUZvb3Rlckdyb3VwKQogICAg
ICAgICAgICAgJiYgc3R5bGUucG9zaXRpb24oKSA9PSBQb3NpdGlvblR5cGU6OlJlbGF0aXZlKQog
ICAgICAgICAgICAgc3R5bGUuc2V0UG9zaXRpb24oUG9zaXRpb25UeXBlOjpTdGF0aWMpOwogCkBA
IC02NDIsNyArNjQxLDExIEBAIHZvaWQgQWRqdXN0ZXI6OmFkanVzdChSZW5kZXJTdHlsZSYgc3R5
bGUpIGNvbnN0CiAKICAgICBib29sIG92ZXJmbG93SXNDbGlwT3JWaXNpYmxlID0gaXNPdmVyZmxv
d0NsaXBPclZpc2libGUoc3R5bGUub3ZlcmZsb3dZKCkpICYmIGlzT3ZlcmZsb3dDbGlwT3JWaXNp
YmxlKHN0eWxlLm92ZXJmbG93WCgpKTsKIAotICAgIGlmICghb3ZlcmZsb3dJc0NsaXBPclZpc2li
bGUgJiYgc3R5bGUuZGlzcGxheSgpLmlzVGFibGVCb3goKSkgeworICAgIC8vIFRoZSBvdmVyZmxv
dyBwcm9wZXJ0eSBkb2VzIG5vdCBhcHBseSB0byB0YWJsZSByb3cgZWxlbWVudHMgKENTUzIgc2Vj
dGlvbiAxMS4xLjEpLgorICAgIGlmIChzdHlsZS5kaXNwbGF5KCkgPT0gRGlzcGxheVR5cGU6OlRh
YmxlUm93KSB7CisgICAgICAgIHN0eWxlLnNldE92ZXJmbG93WChPdmVyZmxvdzo6VmlzaWJsZSk7
CisgICAgICAgIHN0eWxlLnNldE92ZXJmbG93WShPdmVyZmxvdzo6VmlzaWJsZSk7CisgICAgfSBl
bHNlIGlmICghb3ZlcmZsb3dJc0NsaXBPclZpc2libGUgJiYgc3R5bGUuZGlzcGxheSgpLmlzVGFi
bGVCb3goKSkgewogICAgICAgICAvLyBUYWJsZXMgb25seSBzdXBwb3J0IG92ZXJmbG93OmhpZGRl
biBhbmQgb3ZlcmZsb3c6dmlzaWJsZSBhbmQgaWdub3JlIGFueXRoaW5nIGVsc2UsCiAgICAgICAg
IC8vIHNlZSBodHRwczovL2RyYWZ0cy5jc3N3Zy5vcmcvY3NzMi8jb3ZlcmZsb3cuIEFzIGEgdGFi
bGUgaXMgbm90IGEgYmxvY2sKICAgICAgICAgLy8gY29udGFpbmVyIGJveCB0aGUgcnVsZXMgZm9y
IHJlc29sdmluZyBjb25mbGljdGluZyB4IGFuZCB5IHZhbHVlcyBpbiBDU1MgT3ZlcmZsb3cgTW9k
dWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVz
dHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA3ZmRmZGM2YjdhMDMuLmY0MmJiNmU1NDk1MiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9U
ZXN0RXhwZWN0YXRpb25zCkBAIC0yMTUxLDYgKzIxNTEsNyBAQCBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL21hdGhtbC9wcmVzZW50YXRpb24tbWFya3VwL29wZXJhdG9ycy9vcC1kaWN0
LTkuaAogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tYXRobWwvcHJlc2VudGF0aW9u
LW1hcmt1cC9vcGVyYXRvcnMvcGFpbnRpbmctc3RyZXRjaHktb3BlcmF0b3ItMDAxLmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWF0aG1s
L3ByZXNlbnRhdGlvbi1tYXJrdXAvc2NyaXB0cy91bmRlcm92ZXItc3RyZXRjaHktMDAyLmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWF0
aG1sL3JlbGF0aW9ucy9jc3Mtc3R5bGluZy9kaXNwbGF5LXdpdGgtb3ZlcmZsb3cuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tYXRobWwv
cmVsYXRpb25zL2Nzcy1zdHlsaW5nL292ZXJmbG93L2NvbXB1dGVkLXZhbHVlLTAwMS5odG1sIFsg
RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21hdGhtbC9yZWxhdGlv
bnMvY3NzLXN0eWxpbmcvZmxvYXRzL2Zsb2F0aW5nLWluc2lkZS1tYXRobWwtd2l0aC1ibG9jay1k
aXNwbGF5Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIG1hdGhtbC9ub24tY29yZS9tYXRodmFy
aWFudC9tYXRodmFyaWFudC1iYXNpYy10cmFuc2Zvcm1zLXdpdGgtZGVmYXVsdC1mb250Lmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KIG1hdGhtbC9ub24tY29yZS9tYXRodmFyaWFudC9tYXRodmFy
aWFudC1kb3VibGUtc3RydWNrLWZvbnQtc3R5bGUtZm9udC13ZWlnaHQuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9ub24tcG9zaXRp
b25lZC1yb3ctbm8tY29udGFpbm1lbnQtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
dGFibGUvbm9uLXBvc2l0aW9uZWQtcm93LW5vLWNvbnRhaW5tZW50LWV4cGVjdGVkLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5iMWM5YjM5YjgxZmYKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RhYmxlL25vbi1wb3NpdGlvbmVkLXJvdy1u
by1jb250YWlubWVudC1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMTQgQEAKKzwhZG9jdHlwZSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5Ob24tcG9zaXRpb25lZCB0YWJsZSByb3cgZG9l
cyBub3QgY29udGFpbiBhYnNvbHV0ZSBkZXNjZW5kYW50cyAocmVmZXJlbmNlKTwvdGl0bGU+Cis8
c3R5bGU+Citib2R5IHsKKyAgICBtYXJnaW46IDA7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJv
ZHk+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogMjAwcHg7IGhlaWdodDogMjAwcHg7IGJhY2tncm91bmQ6
IGdyZWVuIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvdGFibGUvbm9uLXBvc2l0aW9uZWQtcm93LW5vLWNvbnRhaW5tZW50Lmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L3RhYmxlL25vbi1wb3NpdGlvbmVkLXJvdy1uby1jb250YWlubWVudC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZTIzZTY4ZGYzNDMyCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9ub24tcG9zaXRpb25lZC1y
b3ctbm8tY29udGFpbm1lbnQuaHRtbApAQCAtMCwwICsxLDMzIEBACis8IWRvY3R5cGUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+Tm9uLXBvc2l0aW9uZWQgdGFibGUgcm93IGRvZXMgbm90
IGNvbnRhaW4gYWJzb2x1dGUgZGVzY2VuZGFudHM8L3RpdGxlPgorPGxpbmsgcmVsPSJtYXRjaCIg
aHJlZj0ibm9uLXBvc2l0aW9uZWQtcm93LW5vLWNvbnRhaW5tZW50LWV4cGVjdGVkLmh0bWwiPgor
PHN0eWxlPgorYm9keSB7CisgICAgbWFyZ2luOiAwOworfQordGFibGUgeworICAgIGJvcmRlci1z
cGFjaW5nOiAwOworICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7CisgICAgYm9yZGVyOiBu
b25lOworfQordGQgeworICAgIHBhZGRpbmc6IDA7CisgICAgYm9yZGVyOiBub25lOworfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPCEtLSBXaXRob3V0IHBvc2l0aW9uOiByZWxhdGl2ZSBv
biB0aGUgcm93LCB0aGUgYWJzb2x1dGUgZGl2IHNob3VsZCBlc2NhcGUgdG8gdGhlCisgICAgIG5l
YXJlc3QgcG9zaXRpb25lZCBhbmNlc3RvciAodGhlIG91dGVyIGRpdiksIGNvdmVyaW5nIGl0IGVu
dGlyZWx5LiAtLT4KKzxkaXYgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsgd2lkdGg6IDIwMHB4
OyBoZWlnaHQ6IDIwMHB4Ij4KKyAgICA8dGFibGU+CisgICAgICAgIDx0cj4KKyAgICAgICAgICAg
IDx0ZCBzdHlsZT0id2lkdGg6IDUwcHg7IGhlaWdodDogNTBweCI+Q2VsbDwvdGQ+CisgICAgICAg
IDwvdHI+CisgICAgPC90YWJsZT4KKyAgICA8ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7
IGluc2V0OiAwOyBiYWNrZ3JvdW5kOiBncmVlbiI+PC9kaXY+Cis8L2Rpdj4KKzwvYm9keT4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGFibGUvcmVsYXRpdmUtcG9zaXRp
b24tcm93LWNvbnRhaW5tZW50LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RhYmxl
L3JlbGF0aXZlLXBvc2l0aW9uLXJvdy1jb250YWlubWVudC1leHBlY3RlZC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMjcwODhjNTZkNWU2Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9yZWxhdGl2ZS1wb3NpdGlvbi1yb3ctY29u
dGFpbm1lbnQtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDE1IEBACis8IWRvY3R5cGUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+UG9zaXRpb25lZCB0YWJsZSByb3cgYXMgY29udGFpbmlu
ZyBibG9jayBmb3IgYWJzb2x1dGUgZGVzY2VuZGFudHMgKHJlZmVyZW5jZSk8L3RpdGxlPgorPHN0
eWxlPgorYm9keSB7CisgICAgbWFyZ2luOiAwOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdiBzdHlsZT0iaGVpZ2h0OiA1MHB4Ij48L2Rpdj4KKzxkaXYgc3R5bGU9IndpZHRoOiAx
MDBweDsgaGVpZ2h0OiAxMDBweDsgYmFja2dyb3VuZDogZ3JlZW4iPjwvZGl2PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9yZWxhdGl2ZS1wb3Np
dGlvbi1yb3ctY29udGFpbm1lbnQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGFibGUvcmVsYXRp
dmUtcG9zaXRpb24tcm93LWNvbnRhaW5tZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwLi40MTZjNGE4YmM5ZWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L3RhYmxlL3JlbGF0aXZlLXBvc2l0aW9uLXJvdy1jb250YWlubWVudC5odG1sCkBA
IC0wLDAgKzEsMzIgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5Q
b3NpdGlvbmVkIHRhYmxlIHJvdyBhcyBjb250YWluaW5nIGJsb2NrIGZvciBhYnNvbHV0ZSBkZXNj
ZW5kYW50czwvdGl0bGU+Cis8bGluayByZWw9Im1hdGNoIiBocmVmPSJyZWxhdGl2ZS1wb3NpdGlv
bi1yb3ctY29udGFpbm1lbnQtZXhwZWN0ZWQuaHRtbCI+Cis8c3R5bGU+Citib2R5IHsKKyAgICBt
YXJnaW46IDA7Cit9Cit0YWJsZSB7CisgICAgYm9yZGVyLXNwYWNpbmc6IDA7CisgICAgYm9yZGVy
LWNvbGxhcHNlOiBjb2xsYXBzZTsKKyAgICBib3JkZXI6IG5vbmU7Cit9Cit0ZCB7CisgICAgcGFk
ZGluZzogMDsKKyAgICBib3JkZXI6IG5vbmU7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8IS0tIFB1c2ggdGhlIHRhYmxlIGRvd24gdG8gdmVyaWZ5IHRoZSBhYnNvbHV0ZSBkaXYgaXMg
YW5jaG9yZWQgdG8gdGhlIHJvdywgbm90IHRoZSB2aWV3cG9ydC4gLS0+Cis8ZGl2IHN0eWxlPSJo
ZWlnaHQ6IDUwcHgiPjwvZGl2PgorPHRhYmxlPgorICAgIDx0ciBzdHlsZT0icG9zaXRpb246IHJl
bGF0aXZlIj4KKyAgICAgICAgPHRkIHN0eWxlPSJ3aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHgi
PgorICAgICAgICAgICAgPGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBpbnNldDogMDsg
YmFja2dyb3VuZDogZ3JlZW4iPjwvZGl2PgorICAgICAgICA8L3RkPgorICAgIDwvdHI+Cis8L3Rh
YmxlPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90YWJs
ZS9yZWxhdGl2ZS1wb3NpdGlvbi1yb3ctbXVsdGljZWxsLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L3RhYmxlL3JlbGF0aXZlLXBvc2l0aW9uLXJvdy1tdWx0aWNlbGwtZXhwZWN0ZWQu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjBkZWVjMmI1OTE2
YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGFibGUvcmVsYXRpdmUtcG9z
aXRpb24tcm93LW11bHRpY2VsbC1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMTQgQEAKKzwhZG9j
dHlwZSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5BYnNvbHV0ZSBjaGlsZCBvZiBwb3Np
dGlvbmVkIHRhYmxlIHJvdyBzcGFucyBmdWxsIHJvdyB3aWR0aCAocmVmZXJlbmNlKTwvdGl0bGU+
Cis8c3R5bGU+Citib2R5IHsKKyAgICBtYXJnaW46IDA7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgor
PGJvZHk+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogMjAwcHg7IGhlaWdodDogNTBweDsgYmFja2dyb3Vu
ZDogZ3JlZW4iPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC90YWJsZS9yZWxhdGl2ZS1wb3NpdGlvbi1yb3ctbXVsdGljZWxsLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L3RhYmxlL3JlbGF0aXZlLXBvc2l0aW9uLXJvdy1tdWx0aWNlbGwuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjJmOTRjM2I3M2I4ZQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGFibGUvcmVsYXRpdmUtcG9zaXRpb24t
cm93LW11bHRpY2VsbC5odG1sCkBAIC0wLDAgKzEsMzMgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzx0aXRsZT5BYnNvbHV0ZSBjaGlsZCBvZiBwb3NpdGlvbmVkIHRhYmxlIHJv
dyBzcGFucyBmdWxsIHJvdyB3aWR0aDwvdGl0bGU+Cis8bGluayByZWw9Im1hdGNoIiBocmVmPSJy
ZWxhdGl2ZS1wb3NpdGlvbi1yb3ctbXVsdGljZWxsLWV4cGVjdGVkLmh0bWwiPgorPHN0eWxlPgor
Ym9keSB7CisgICAgbWFyZ2luOiAwOworfQordGFibGUgeworICAgIGJvcmRlci1zcGFjaW5nOiAw
OworICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7CisgICAgYm9yZGVyOiBub25lOworfQor
dGQgeworICAgIHBhZGRpbmc6IDA7CisgICAgYm9yZGVyOiBub25lOworfQorPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorPCEtLSBUaGUgZ3JlZW4gZGl2IHNob3VsZCBjb3ZlciB0aGUgZW50aXJl
IHJvdyAoYm90aCBjZWxscykuIC0tPgorPHRhYmxlPgorICAgIDx0ciBzdHlsZT0icG9zaXRpb246
IHJlbGF0aXZlIj4KKyAgICAgICAgPHRkIHN0eWxlPSJ3aWR0aDogMTAwcHg7IGhlaWdodDogNTBw
eCI+CisgICAgICAgICAgICBDZWxsIDEKKyAgICAgICAgICAgIDxkaXYgc3R5bGU9InBvc2l0aW9u
OiBhYnNvbHV0ZTsgaW5zZXQ6IDA7IGJhY2tncm91bmQ6IGdyZWVuIj48L2Rpdj4KKyAgICAgICAg
PC90ZD4KKyAgICAgICAgPHRkIHN0eWxlPSJ3aWR0aDogMTAwcHg7IGhlaWdodDogNTBweCI+Q2Vs
bCAyPC90ZD4KKyAgICA8L3RyPgorPC90YWJsZT4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>478985</attachid>
            <date>2026-04-09 16:39:46 -0700</date>
            <delta_ts>2026-04-09 18:35:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-240961-20260409163945.patch</filename>
            <type>text/plain</type>
            <size>64681</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSBhMDc3NjYxZjU4ZmQ3MzVhMGIyN2NhMWIyOGVkZDdiN2U0NDg5NzM1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IFdlZCwgOCBBcHIgMjAyNiAwNzowMDowMSAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIGBwb3NpdGlv
bjogcmVsYXRpdmVgIGRvZXNuJ3Qgd29yayBhcyBleHBlY3RlZCBvbiB0YWJsZSByb3cKIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNDA5NjEgPHJkYXI6Ly9wcm9ibGVt
Lzk0Mjk0ODE5PgoKUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgpXaGVuIHlvdSBwdXQgYHBv
c2l0aW9uOiByZWxhdGl2ZWAgb24gYSA8dHI+LCBhbnkgYWJzb2x1dGVseSBwb3NpdGlvbmVkCmNo
aWxkIHNob3VsZCBzaXplIGFuZCBwb3NpdGlvbiBpdHNlbGYgcmVsYXRpdmUgdG8gdGhhdCByb3cu
IEluc3RlYWQsIGl0CmVzY2FwZXMgdG8gdGhlIG5lYXJlc3QgcG9zaXRpb25lZCBhbmNlc3RvciAo
b2Z0ZW4gdGhlIHZpZXdwb3J0KS4gVGhlIHJvb3QKY2F1c2UgaXMgdGhhdCBgUmVuZGVyVGFibGVS
b3dgIGV4dGVuZHMgYFJlbmRlckJveGAsIGJ1dCBgY29udGFpbmluZ0Jsb2NrKClgCnJldHVybnMg
YFJlbmRlckJsb2NrKmAgLS0gdGhlIHNlYXJjaCB3YWxrcyByaWdodCBwYXN0IHRoZSByb3cuIFRo
ZSBzdHlsZQpzeXN0ZW0gYWxzbyBmb3JjZXMgYHBvc2l0aW9uOiBzdGF0aWNgIG9uIHRhYmxlIHJv
d3MgKGEgd29ya2Fyb3VuZCBmb3IgdGhlCmNyYXNoIHRoaXMgY2F1c2VkKSwgYW5kIGByZXF1aXJl
c0xheWVyKClgIGlzIG1pc3NpbmcgYGlzUG9zaXRpb25lZCgpYC4KCkNoYW5naW5nIHRoZSByb3cg
ZnJvbSBgUmVuZGVyQm94YCB0byBgUmVuZGVyQmxvY2tgIG1ha2VzIGl0IGEgcHJvcGVyCmNvbnRh
aW5pbmcgYmxvY2suIFdpdGggY2VsbHMgbm93IHBvc2l0aW9uZWQgcmVsYXRpdmUgdG8gdGhlaXIg
cm93IGluc3RlYWQKb2YgdGhlIHNlY3Rpb24sIHRoZSByb3cgbmF0dXJhbGx5IHBhcnRpY2lwYXRl
cyBpbiBldmVyeSBjb29yZGluYXRlIHdhbGsuClRoaXMgZWxpbWluYXRlcyB0YWJsZS1zcGVjaWZp
YyB3b3JrYXJvdW5kcyBmcm9tIGBSZW5kZXJMYXllcmAsCmBSZW5kZXJCb3hgLCBgUmVuZGVyQm94
TW9kZWxPYmplY3RgLCBgUG9zaXRpb25lZExheW91dENvbnN0cmFpbnRzYCwKYFJlbmRlclRhYmxl
Q2VsbGAsIGFuZCBgUmVuZGVyRnJhZ21lbnRlZEZsb3dgIC0tIGFsbCBwbGFjZXMgdGhhdApwcmV2
aW91c2x5IGhhZCB0byBza2lwIG9yIGNvbXBlbnNhdGUgZm9yIHRoZSByb3cgYmVjYXVzZSBjZWxs
cyB3ZXJlIGluCnRoZSBzZWN0aW9uJ3MgY29vcmRpbmF0ZSBzcGFjZS4KCiogTGF5b3V0VGVzdHMv
VGVzdEV4cGVjdGF0aW9uczoKKiBMYXlvdXRUZXN0cy9mYXN0L3RhYmxlL25vbi1wb3NpdGlvbmVk
LXJvdy1uby1jb250YWlubWVudC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKiBMYXlvdXRUZXN0cy9m
YXN0L3RhYmxlL25vbi1wb3NpdGlvbmVkLXJvdy1uby1jb250YWlubWVudC5odG1sOiBBZGRlZC4K
KiBMYXlvdXRUZXN0cy9mYXN0L3RhYmxlL3JlbGF0aXZlLXBvc2l0aW9uLXJvdy1jb250YWlubWVu
dC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKiBMYXlvdXRUZXN0cy9mYXN0L3RhYmxlL3JlbGF0aXZl
LXBvc2l0aW9uLXJvdy1jb250YWlubWVudC5odG1sOiBBZGRlZC4KKiBMYXlvdXRUZXN0cy9mYXN0
L3RhYmxlL3JlbGF0aXZlLXBvc2l0aW9uLXJvdy1tdWx0aWNlbGwtZXhwZWN0ZWQuaHRtbDogQWRk
ZWQuCiogTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9yZWxhdGl2ZS1wb3NpdGlvbi1yb3ctbXVsdGlj
ZWxsLmh0bWw6IEFkZGVkLgoqIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNw
cDoKKFdlYkNvcmU6OnNob3VsZEVtaXROZXdsaW5lc0JlZm9yZUFuZEFmdGVyTm9kZSk6CiAgICBH
dWFyZCBhZ2FpbnN0IFJlbmRlclRhYmxlUm93IG5vdyBiZWluZyBhIFJlbmRlckJsb2NrLgoqIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9PdXRsaW5lUGFpbnRlci5jcHA6CihXZWJDb3JlOjpPdXRs
aW5lUGFpbnRlcjo6Y29sbGVjdEZvY3VzUmluZ1JlY3RzRm9yQmxvY2spOgogICAgR3VhcmQgYWdh
aW5zdCBSZW5kZXJUYWJsZVJvdyBub3cgYmVpbmcgYSBSZW5kZXJCbG9jay4KKiBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUG9zaXRpb25lZExheW91dENvbnN0cmFpbnRzLmNwcDoKKFdlYkNvcmU6
OnN0YXRpY0Rpc3RhbmNlKToKICAgIFJlbW92ZWQgcm93IHNraXAgLS0gdGhlIHJvdyBpcyBhIHBy
b3BlciBjb250YWluaW5nIGJsb2NrIG5vdy4KKiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQmxvY2suaDoKKiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoKKFdl
YkNvcmU6OlJlbmRlckJveDo6cG9zaXRpb25Gb3JQb2ludCk6CiAgICBSZW1vdmVkIGFsbCBpczxS
ZW5kZXJUYWJsZVJvdz4gY2hlY2tzIHRoYXQgY29tcGVuc2F0ZWQgZm9yCiAgICBzZWN0aW9uLXJl
bGF0aXZlIGNlbGwgcG9zaXRpb25zLgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
b3hNb2RlbE9iamVjdC5jcHA6CihXZWJDb3JlOjpSZW5kZXJCb3hNb2RlbE9iamVjdDo6YWRqdXN0
ZWRQb3NpdGlvblJlbGF0aXZlVG9PZmZzZXRQYXJlbnQpOgogICAgUmVtb3ZlZCByb3cgc2tpcCAt
LSBpdHMgb2Zmc2V0IGlzIG5lZWRlZCBub3cgdGhhdCBjZWxscyBhcmUKICAgIHJvdy1yZWxhdGl2
ZS4KKFdlYkNvcmU6OlJlbmRlckJveE1vZGVsT2JqZWN0Ojpjb21wdXRlU3RpY2t5UG9zaXRpb25D
b25zdHJhaW50cyBjb25zdCk6CiAgICBTa2lwIHRoZSByb3cgd2hlbiBmaW5kaW5nIHRoZSBzdGlj
a3kgY29uc3RyYWludCByZWN0YW5nbGUuIEEgc3RpY2t5CiAgICBjZWxsIHNob3VsZCBiZSBjb25z
dHJhaW5lZCBieSBpdHMgc2VjdGlvbiwgbm90IHRoZSBpbmRpdmlkdWFsIHJvdwogICAgd2hvc2Ug
Y29udGVudCBib3ggZXF1YWxzIHRoZSBjZWxsJ3MgaGVpZ2h0LgoqIFNvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJGcmFnbWVudGVkRmxvdy5jcHA6CihXZWJDb3JlOjpSZW5kZXJGcmFnbWVu
dGVkRmxvdzo6b2Zmc2V0RnJvbUxvZ2ljYWxUb3BPZkZpcnN0RnJhZ21lbnQgY29uc3QpOgogICAg
VXNlIGNvbnRhaW5lcigpIGluc3RlYWQgb2YgY29udGFpbmluZ0Jsb2NrKCkgc28gbm9uLVJlbmRl
ckJsb2NrCiAgICBhbmNlc3RvcnMgbGlrZSBSZW5kZXJUYWJsZVNlY3Rpb24gYXJlIG5vdCBza2lw
cGVkLiBSZW1vdmVzIGFsbAogICAgdGFibGUtc3BlY2lmaWMgY29kZSBmcm9tIHRoaXMgZnVuY3Rp
b24uCiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKFdlYkNvcmU6
OlJlbmRlckxheWVyOjp1cGRhdGVMYXllclBvc2l0aW9uKToKICAgIFJlbW92ZWQgcm93IHNraXAg
YW5kIHJvdyBzdWJ0cmFjdGlvbiAtLSB0aGUgc3RhbmRhcmQgYW5jZXN0b3Igd2FsawogICAgbm93
IHdvcmtzIGJlY2F1c2UgY2VsbHMgYXJlIHJvdy1yZWxhdGl2ZS4KKiBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVGFibGUuY3BwOgooV2ViQ29yZTo6UmVuZGVyVGFibGU6OnBhaW50Q29s
bGFwc2VkQm9yZGVyc0ZvclJvdyk6CiAgICBQYWludCBjb2xsYXBzZWQgYm9yZGVycyBmcm9tIHRo
ZSByb3cncyBsYXllciBhZnRlciBjZWxsIGJhY2tncm91bmRzLgooV2ViQ29yZTo6UmVuZGVyVGFi
bGU6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKToKKiBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGFibGUuaDoKKiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFi
bGVDZWxsLmNwcDoKKFdlYkNvcmU6OlJlbmRlclRhYmxlQ2VsbDo6b2Zmc2V0RnJvbUNvbnRhaW5l
ciBjb25zdCk6CiAgICBTaW1wbGlmaWVkIHRvIGp1c3QgY2FsbCB0aGUgYmFzZSBjbGFzcyAtLSBu
byBtb3JlIHJvdyBvZmZzZXQKICAgIHN1YnRyYWN0aW9uIG5lZWRlZC4KKFdlYkNvcmU6OlJlbmRl
clRhYmxlQ2VsbDo6Y29tcHV0ZVZpc2libGVSZWN0c0luQ29udGFpbmVyIGNvbnN0KToKICAgIFJl
bW92ZWQgdGhlIG1vdmVCeSgtcGFyZW50Qm94KCktPmxvY2F0aW9uKCkpIGhhY2sgdGhhdCBwcmV2
ZW50ZWQKICAgIGRvdWJsZS1jb3VudGluZyBkdXJpbmcgcmVwYWludC4KKiBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxsLmg6CiAgICBSZW1vdmVkIGZyYW1lUmVjdEZvclN0
aWNreVBvc2l0aW9uaW5nIG92ZXJyaWRlIC0tIGNlbGxzIGFyZSBhbHJlYWR5CiAgICByb3ctcmVs
YXRpdmUgc28gbm8gY29udmVyc2lvbiBuZWVkZWQuCiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRhYmxlUm93LmNwcDoKKFdlYkNvcmU6OlJlbmRlclRhYmxlUm93OjpSZW5kZXJUYWJs
ZVJvdyk6CiAgICBSZW5kZXJCb3ggLT4gUmVuZGVyQmxvY2sgYmFzZSBjbGFzcy4KKFdlYkNvcmU6
OlJlbmRlclRhYmxlUm93Ojp3aWxsQmVSZW1vdmVkRnJvbVRyZWUpOgooV2ViQ29yZTo6UmVuZGVy
VGFibGVSb3c6OnN0eWxlRGlkQ2hhbmdlKToKKFdlYkNvcmU6OlJlbmRlclRhYmxlUm93OjpsYXlv
dXQpOgogICAgUHVzaCBsb2NhdGlvbk9mZnNldCgpIGluc3RlYWQgb2YgemVybyBzbyB0aGUgbGF5
b3V0IHN0YXRlIGluY2x1ZGVzCiAgICB0aGUgcm93J3Mgb2Zmc2V0IGZvciBwYWdpbmF0aW9uLiBS
ZW1vdmVkIGNsZWFyTmVlZHNMYXlvdXQoKSAtLSBtb3ZlZAogICAgdG8gbGF5b3V0Um93cygpIHdo
ZXJlIHRoZSByb3cncyBmaW5hbCBkaW1lbnNpb25zIGFyZSBrbm93bi4KKFdlYkNvcmU6OlJlbmRl
clRhYmxlUm93OjpjbGlwcGVkT3ZlcmZsb3dSZWN0IGNvbnN0KToKKFdlYkNvcmU6OlJlbmRlclRh
YmxlUm93Ojpub2RlQXRQb2ludCk6CiAgICBBZGQgbG9jYXRpb24oKSBhbmQgZmxpcCBjZWxscyB3
aXRoaW4gdGhlIHJvdywgbm90IHRoZSBzZWN0aW9uLgooV2ViQ29yZTo6UmVuZGVyVGFibGVSb3c6
OnBhaW50KToKICAgIEFkZCBsb2NhdGlvbigpIHRvIHBhaW50T2Zmc2V0IGZvciBjZWxscy4gVGhl
IGxheWVyIHN5c3RlbSBzdWJ0cmFjdHMKICAgIHRoZSByb3cncyBsb2NhdGlvbiBiZWZvcmUgY2Fs
bGluZyBwYWludCgpLCBzbyB3ZSBhZGQgaXQgYmFjay4gUGFpbnQKICAgIGNvbGxhcHNlZCBib3Jk
ZXJzIGZyb20gdGhlIHJvdydzIGxheWVyLgooV2ViQ29yZTo6UmVuZGVyVGFibGVSb3c6OnJlcXVp
cmVzTGF5ZXIgY29uc3QpOgogICAgQWRkZWQgaXNQb3NpdGlvbmVkKCkgc28gcG9zaXRpb246cmVs
YXRpdmUgcm93cyBnZXQgYSBsYXllci4KKiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGFibGVSb3cuaDoKKFdlYkNvcmU6OlJlbmRlclRhYmxlUm93OjpuZXh0Um93IGNvbnN0KToKKFdl
YkNvcmU6OlJlbmRlclRhYmxlUm93OjpwcmV2aW91c1JvdyBjb25zdCk6CiogU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5jcHA6CihXZWJDb3JlOjpSZW5kZXJUYWJs
ZVNlY3Rpb246OmxheW91dFJvd3MpOgogICAgUmVzdHJ1Y3R1cmVkIHdpdGggYSBsYXlvdXRDZWxs
cyBsYW1iZGEuIFdoZW4gYSByb3cgcmVuZGVyZXIgZXhpc3RzOgogICAgcG9zaXRpb24gdGhlIHJv
dywgcHVzaCBpdHMgb2Zmc2V0IG9udG8gdGhlIGxheW91dCBzdGF0ZSwgbGF5IG91dAogICAgY2Vs
bHMsIHRoZW4gZmluYWxpemUgdGhlIHJvdyAob3ZlcmZsb3csIG91dC1vZi1mbG93IGxheW91dCwK
ICAgIGNsZWFyTmVlZHNMYXlvdXQpLgooV2ViQ29yZTo6UmVuZGVyVGFibGVTZWN0aW9uOjpjb21w
dXRlT3ZlcmZsb3dGcm9tQ2VsbHMpOgogICAgQWRkIG92ZXJmbG93IGZyb20gcm93cyB2aWEgYWRk
T3ZlcmZsb3dGcm9tQ29udGFpbmVkQm94KCpyb3cpLiBSb3dzCiAgICBhbHJlYWR5IGFjY3VtdWxh
dGVkIGNlbGwgb3ZlcmZsb3cgdmlhIGFkZE92ZXJmbG93RnJvbUluRmxvd0NoaWxkcmVuLAogICAg
d2hpY2ggcmVzcGVjdHMgb3ZlcmZsb3c6aGlkZGVuIHRocm91Z2ggbGF5b3V0T3ZlcmZsb3dSZWN0
Rm9yUHJvcGFnYXRpb24uCihXZWJDb3JlOjpSZW5kZXJUYWJsZVNlY3Rpb246OmJhc2VsaW5lRnJv
bUNlbGxDb250ZW50RWRnZXMgY29uc3QpOgogICAgVXNlIG1fcm93UG9zW3Jvd0luZGV4XSBzaW5j
ZSBjZWxsLT5sb2dpY2FsVG9wKCkgaXMgbm93IDAuCihXZWJDb3JlOjpSZW5kZXJUYWJsZVNlY3Rp
b246OnBhaW50Q2VsbCk6CiAgICBUd28tc3RlcCBzZWN0aW9uLT5yb3ctPmNlbGwgY29vcmRpbmF0
ZSBjb252ZXJzaW9uLiBSb3cgYmFja2dyb3VuZAogICAgdXNlcyB0aGUgZmxpcCBvZmZzZXQgd2l0
aG91dCByb3cubG9jYXRpb24oKSBzaW5jZSBiYWNrZ3JvdW5kUmVjdEZvclJvdwogICAgYWxyZWFk
eSBpbmNsdWRlcyB0aGUgcm93J3MgcG9zaXRpb24gZnJvbSBmcmFtZVJlY3QoKS4KKFdlYkNvcmU6
OlJlbmRlclRhYmxlU2VjdGlvbjo6cGFpbnRPYmplY3QpOgogICAgU2FtZSBzZWN0aW9uLT5yb3ct
PmNlbGwgcGF0dGVybiBmb3IgY29sbGFwc2VkIGJvcmRlcnMuCihXZWJDb3JlOjpSZW5kZXJUYWJs
ZVNlY3Rpb246Om5vZGVBdFBvaW50KToKICAgIE92ZXJmbG93IHBhdGg6IGZsaXAgcm93IHdpdGhp
biBzZWN0aW9uIGJlZm9yZSBjYWxsaW5nIHJvdy0+bm9kZUF0UG9pbnQuCiAgICBOb24tb3ZlcmZs
b3cgcGF0aDogc2VjdGlvbi0+cm93LT5jZWxsIGZsaXAgd2l0aCArIHJvdy5sb2NhdGlvbigpLgoo
V2ViQ29yZTo6UmVuZGVyVGFibGVTZWN0aW9uOjpzZXRMb2dpY2FsUG9zaXRpb25Gb3JDZWxsIGNv
bnN0KToKICAgIENlbGwgWSA9IDAgaW5zdGVhZCBvZiBtX3Jvd1Bvc1tyb3dJbmRleF0uIFRoZSBj
b3JlIGNoYW5nZS4KKiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5j
cHA6CihXZWJDb3JlOjpSZW5kZXJUcmVlQXNUZXh0Ojp3cml0ZVJlbmRlck9iamVjdCk6CiAgICBU
ZW1wb3JhcmlseSBkdW1wIGNlbGwgcG9zaXRpb25zIGFzIHNlY3Rpb24tcmVsYXRpdmUgdG8gYXZv
aWQKICAgIHJlYmFzZWxpbmluZyBldmVyeSB0YWJsZSByZW5kZXIgdHJlZSBkdW1wIHRlc3QuCiog
U291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVBZGp1c3Rlci5jcHA6CihXZWJDb3JlOjpTdHlsZTo6
QWRqdXN0ZXI6OmFkanVzdCBjb25zdCk6CiAgICBBbGxvdyBwb3NpdGlvbjpyZWxhdGl2ZSBvbiB0
YWJsZSByb3dzLiBSZXNldCBvdmVyZmxvdyB0byBpbml0aWFsCiAgICB2YWx1ZSBvbiByb3dzIHBl
ciBDU1MyIHNlY3Rpb24gMTEuMS4xLgoKQ28tQXV0aG9yZWQtQnk6IENsYXVkZSBPcHVzIDQuNiAo
MU0gY29udGV4dCkgPG5vcmVwbHlAYW50aHJvcGljLmNvbT4KLS0tCiBTb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL1RleHRJdGVyYXRvci5jcHAgICAgICAgfCAgIDUgKwogU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL091dGxpbmVQYWludGVyLmNwcCAgIHwgICA1ICsKIC4uLi9yZW5kZXJpbmcvUG9zaXRp
b25lZExheW91dENvbnN0cmFpbnRzLmNwcCB8ICAgMyArLQogU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJsb2NrLmggICAgICAgIHwgICAzICstCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQm94LmNwcCAgICAgICAgfCAgMTEgKy0KIC4uLi9yZW5kZXJpbmcvUmVuZGVyQm94
TW9kZWxPYmplY3QuY3BwICAgICAgICB8ICAgNyArLQogLi4uL3JlbmRlcmluZy9SZW5kZXJGcmFn
bWVudGVkRmxvdy5jcHAgICAgICAgIHwgIDM4ICsrLS0KIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllci5jcHAgICAgICB8ICAxMiArLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRhYmxlLmNwcCAgICAgIHwgIDMwICsrKwogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRhYmxlLmggICAgICAgIHwgICAyICsKIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUYWJsZUNlbGwuY3BwICB8ICAyMCArLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRhYmxlQ2VsbC5oICAgIHwgICAyIC0KIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUYWJsZVJvdy5jcHAgICB8ICA0MiArKy0tCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGFibGVSb3cuaCAgICAgfCAgIDcgKy0KIC4uLi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
YWJsZVNlY3Rpb24uY3BwICB8IDE4MyArKysrKysrKysrLS0tLS0tLS0KIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcCB8ICAgNCArLQogU291cmNlL1dlYkNvcmUv
c3R5bGUvU3R5bGVBZGp1c3Rlci5jcHAgICAgICAgIHwgIDEzICstCiBMYXlvdXRUZXN0cy9UZXN0
RXhwZWN0YXRpb25zICAgICAgICAgICAgICAgICAgfCAgIDEgKwogLi4ub3NpdGlvbmVkLXJvdy1u
by1jb250YWlubWVudC1leHBlY3RlZC5odG1sIHwgIDE0ICsrCiAuLi4vbm9uLXBvc2l0aW9uZWQt
cm93LW5vLWNvbnRhaW5tZW50Lmh0bWwgICAgfCAgMzMgKysrKwogLi4uaXZlLXBvc2l0aW9uLXJv
dy1jb250YWlubWVudC1leHBlY3RlZC5odG1sIHwgIDE1ICsrCiAuLi4vcmVsYXRpdmUtcG9zaXRp
b24tcm93LWNvbnRhaW5tZW50Lmh0bWwgICAgfCAgMzIgKysrCiAuLi5hdGl2ZS1wb3NpdGlvbi1y
b3ctbXVsdGljZWxsLWV4cGVjdGVkLmh0bWwgfCAgMTQgKysKIC4uLi9yZWxhdGl2ZS1wb3NpdGlv
bi1yb3ctbXVsdGljZWxsLmh0bWwgICAgICB8ICAzMyArKysrCiAyNCBmaWxlcyBjaGFuZ2VkLCAz
NTUgaW5zZXJ0aW9ucygrKSwgMTc0IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IExh
eW91dFRlc3RzL2Zhc3QvdGFibGUvbm9uLXBvc2l0aW9uZWQtcm93LW5vLWNvbnRhaW5tZW50LWV4
cGVjdGVkLmh0bWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L3RhYmxlL25v
bi1wb3NpdGlvbmVkLXJvdy1uby1jb250YWlubWVudC5odG1sCiBjcmVhdGUgbW9kZSAxMDA2NDQg
TGF5b3V0VGVzdHMvZmFzdC90YWJsZS9yZWxhdGl2ZS1wb3NpdGlvbi1yb3ctY29udGFpbm1lbnQt
ZXhwZWN0ZWQuaHRtbAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3QvdGFibGUv
cmVsYXRpdmUtcG9zaXRpb24tcm93LWNvbnRhaW5tZW50Lmh0bWwKIGNyZWF0ZSBtb2RlIDEwMDY0
NCBMYXlvdXRUZXN0cy9mYXN0L3RhYmxlL3JlbGF0aXZlLXBvc2l0aW9uLXJvdy1tdWx0aWNlbGwt
ZXhwZWN0ZWQuaHRtbAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3QvdGFibGUv
cmVsYXRpdmUtcG9zaXRpb24tcm93LW11bHRpY2VsbC5odG1sCgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9UZXh0SXRlcmF0b3IuY3BwCmluZGV4IDAxZTM4MzY2NjkxYy4uNmVlNDlmMjU0NDRlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwCkBAIC05NDAsNiArOTQwLDExIEBA
IGJvb2wgc2hvdWxkRW1pdE5ld2xpbmVzQmVmb3JlQW5kQWZ0ZXJOb2RlKE5vZGUmIG5vZGUpCiAg
ICAgaWYgKHNob3VsZEVtaXRSZXBsYWNlbWVudEluc3RlYWRPZk5vZGUobm9kZSkpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKIAorICAgIC8vIFRhYmxlIHJvd3MgYXJlIFJlbmRlckJsb2NrcyBidXQg
aGF2ZSB0aGVpciBvd24gbmV3bGluZSBsb2dpYyBhYm92ZQorICAgIC8vIHRoYXQgYWNjb3VudHMg
Zm9yIGlubGluZSB0YWJsZXMuCisgICAgaWYgKGlzPFJlbmRlclRhYmxlUm93PigqcmVuZGVyZXIp
KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICByZXR1cm4gIXJlbmRlcmVyLT5pc0lubGlu
ZSgpCiAgICAgICAgICYmIGlzPFJlbmRlckJsb2NrPigqcmVuZGVyZXIpCiAgICAgICAgICYmICFy
ZW5kZXJlci0+aXNGbG9hdGluZ09yT3V0T2ZGbG93UG9zaXRpb25lZCgpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvT3V0bGluZVBhaW50ZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL091dGxpbmVQYWludGVyLmNwcAppbmRleCA1MDAwMDQ3ZWQ3NjcuLjM5MGM0
NDBkZmRjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL091dGxpbmVQYWlu
dGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvT3V0bGluZVBhaW50ZXIuY3Bw
CkBAIC0zODksNiArMzg5LDExIEBAIGJvb2wgT3V0bGluZVBhaW50ZXI6OmNvbGxlY3RGb2N1c1Jp
bmdSZWN0c0ZvckJsb2NrKGNvbnN0IFJlbmRlckJsb2NrJiByZW5kZXJlciwKICAgICBpZiAocmVu
ZGVyZXIud2lkdGgoKSAmJiByZW5kZXJlci5oZWlnaHQoKSkKICAgICAgICAgcmVjdHMuYXBwZW5k
KExheW91dFJlY3QoYWRkaXRpb25hbE9mZnNldCwgcmVuZGVyZXIuc2l6ZSgpKSk7CiAKKyAgICAv
LyBUYWJsZSByb3dzIHNoYXJlIGNvb3JkaW5hdGUgc3BhY2Ugd2l0aCBjZWxsczsgZG9uJ3QgcmVj
dXJzZSBpbnRvIGNlbGxzCisgICAgLy8gYXMgdGhlaXIgYm91bmRzIG1heSBleHRlbmQgYmV5b25k
IHRoZSByb3cgKGUuZy4gcm93c3BhbikuCisgICAgaWYgKHJlbmRlcmVyLmlzUmVuZGVyVGFibGVS
b3coKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKICAgICBpZiAoIXJlbmRlcmVyLmhhc05vblZp
c2libGVPdmVyZmxvdygpICYmICFyZW5kZXJlci5oYXNDb250cm9sQ2xpcCgpKSB7CiAgICAgICAg
IGlmIChyZW5kZXJlci5jaGlsZHJlbklubGluZSgpICYmIGlzPFJlbmRlckJsb2NrRmxvdz4ocmVu
ZGVyZXIpKQogICAgICAgICAgICAgY29sbGVjdEZvY3VzUmluZ1JlY3RzRm9ySW5saW5lQ2hpbGRy
ZW4oZG93bmNhc3Q8UmVuZGVyQmxvY2tGbG93PihyZW5kZXJlciksIHJlY3RzLCBhZGRpdGlvbmFs
T2Zmc2V0LCBwYWludENvbnRhaW5lcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUG9zaXRpb25lZExheW91dENvbnN0cmFpbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9Qb3NpdGlvbmVkTGF5b3V0Q29uc3RyYWludHMuY3BwCmluZGV4IGY2MWFkODhjMjFk
OC4uYzBjNmE1M2I3YTBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUG9z
aXRpb25lZExheW91dENvbnN0cmFpbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUG9zaXRpb25lZExheW91dENvbnN0cmFpbnRzLmNwcApAQCAtMzQsNyArMzQsNiBAQAogI2lu
Y2x1ZGUgIlJlbmRlcklubGluZS5oIgogI2luY2x1ZGUgIlJlbmRlckxheWVyLmgiCiAjaW5jbHVk
ZSAiUmVuZGVyU3R5bGUuaCIKLSNpbmNsdWRlICJSZW5kZXJUYWJsZVJvdy5oIgogI2luY2x1ZGUg
IlJlbmRlclZpZXcuaCIKICNpbmNsdWRlICJTdHlsZVBvc2l0aW9uQXJlYS5oIgogCkBAIC02NTYs
NyArNjU1LDcgQEAgc3RhdGljIExheW91dFBvaW50IHN0YXRpY0Rpc3RhbmNlKGNvbnN0IFJlbmRl
ckJveE1vZGVsT2JqZWN0JiBjb250YWluZXIsIGNvbnN0IFIKICAgICBhdXRvIGhhc1NlZW5Ob25J
bmxpbmVCb3hDb250YWluZXIgPSBmYWxzZTsKICAgICBmb3IgKGF1dG8qIGFuY2VzdG9yQ29udGFp
bmVyID0gY2hpbGQtPnBhcmVudCgpOyBhbmNlc3RvckNvbnRhaW5lciAmJiBhbmNlc3RvckNvbnRh
aW5lciAhPSAmY29udGFpbmVyOyBhbmNlc3RvckNvbnRhaW5lciA9IGFuY2VzdG9yQ29udGFpbmVy
LT5jb250YWluZXIoKSkgewogICAgICAgICBDaGVja2VkUHRyIGNvbnRhaW5lckJveCA9IGR5bmFt
aWNEb3duY2FzdDxSZW5kZXJCb3g+KCphbmNlc3RvckNvbnRhaW5lcik7Ci0gICAgICAgIGlmICgh
Y29udGFpbmVyQm94IHx8IGlzPFJlbmRlclRhYmxlUm93PigqY29udGFpbmVyQm94KSkKKyAgICAg
ICAgaWYgKCFjb250YWluZXJCb3gpCiAgICAgICAgICAgICBjb250aW51ZTsKIAogICAgICAgICBz
dGF0aWNQb3NpdGlvbiA9IGNoaWxkID09ICZvdXRPZkZsb3dCb3ggPyBpbml0aWFsU3RhdGljUG9z
aXRpb24oKSA6IHBvc2l0aW9uSW5Db250YWluZXIoKmNvbnRhaW5lckJveCwgKmNoaWxkLCBzdGF0
aWNQb3NpdGlvbik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
QmxvY2suaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5oCmluZGV4IDhk
MWVkM2Q1ZDU3Ny4uOWZlNDUwNGEzOGIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQmxvY2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
QmxvY2suaApAQCAtMjU1LDEzICsyNTUsMTQgQEAgcHVibGljOgogCiAgICAgUGFpbnRJbmZvIHBh
aW50SW5mb0ZvckJsb2NrQ2hpbGRyZW4oY29uc3QgUGFpbnRJbmZvJikgY29uc3Q7CiAKKyAgICB2
b2lkIGxheW91dE91dE9mRmxvd0JveGVzKFJlbGF5b3V0Q2hpbGRyZW4sIGJvb2wgZml4ZWRQb3Np
dGlvbk9iamVjdHNPbmx5ID0gZmFsc2UpOworCiBwcm90ZWN0ZWQ6CiAgICAgUmVuZGVyRnJhZ21l
bnRlZEZsb3cqIGxvY2F0ZUVuY2xvc2luZ0ZyYWdtZW50ZWRGbG93KCkgY29uc3Qgb3ZlcnJpZGU7
CiAgICAgYm9vbCBlc3RhYmxpc2hlc0luZGVwZW5kZW50Rm9ybWF0dGluZ0NvbnRleHRJZ25vcmlu
Z0Rpc3BsYXlUeXBlKGNvbnN0IFJlbmRlclN0eWxlJikgY29uc3Q7CiAKICAgICB2b2lkIGxheW91
dCgpIG92ZXJyaWRlOwogCi0gICAgdm9pZCBsYXlvdXRPdXRPZkZsb3dCb3hlcyhSZWxheW91dENo
aWxkcmVuLCBib29sIGZpeGVkUG9zaXRpb25PYmplY3RzT25seSA9IGZhbHNlKTsKICAgICB2aXJ0
dWFsIHZvaWQgbGF5b3V0T3V0T2ZGbG93Qm94KFJlbmRlckJveCYsIFJlbGF5b3V0Q2hpbGRyZW4s
IGJvb2wgZml4ZWRQb3NpdGlvbk9iamVjdHNPbmx5KTsKICAgICAKICAgICB2b2lkIG1hcmtGaXhl
ZFBvc2l0aW9uQm94Rm9yTGF5b3V0SWZOZWVkZWQoUmVuZGVyQm94JiBjaGlsZCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCmluZGV4IDE0ZWI0MzQ3NjZmZi4uMjRhMDhlYzE3
Njk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcApAQCAtNDQyMiw5ICs0
NDIyLDYgQEAgUG9zaXRpb25XaXRoQWZmaW5pdHkgUmVuZGVyQm94Ojpwb3NpdGlvbkZvclBvaW50
KGNvbnN0IExheW91dFBvaW50JiBwb2ludCwgSGl0VGUKICAgICAvLyBQYXNzIG9mZiB0byB0aGUg
Y2xvc2VzdCBjaGlsZC4KICAgICBMYXlvdXRVbml0IG1pbkRpc3QgPSBMYXlvdXRVbml0OjptYXgo
KTsKICAgICBSZW5kZXJCb3gqIGNsb3Nlc3RSZW5kZXJlciA9IG51bGxwdHI7Ci0gICAgTGF5b3V0
UG9pbnQgYWRqdXN0ZWRQb2ludCA9IHBvaW50OwotICAgIGlmIChpc1JlbmRlclRhYmxlUm93KCkp
Ci0gICAgICAgIGFkanVzdGVkUG9pbnQubW92ZUJ5KGxvY2F0aW9uKCkpOwogCiAgICAgZm9yIChh
dXRvJiByZW5kZXJlciA6IGNoaWxkcmVuT2ZUeXBlPFJlbmRlckJveD4oKnRoaXMpKSB7CiAgICAg
ICAgIGlmIChDaGVja2VkUHRyIGZyYWdtZW50ZWRGbG93ID0gZHluYW1pY0Rvd25jYXN0PFJlbmRl
ckZyYWdtZW50ZWRGbG93PigqdGhpcykpIHsKQEAgLTQ0MzcsMTQgKzQ0MzQsMTIgQEAgUG9zaXRp
b25XaXRoQWZmaW5pdHkgUmVuZGVyQm94Ojpwb3NpdGlvbkZvclBvaW50KGNvbnN0IExheW91dFBv
aW50JiBwb2ludCwgSGl0VGUKICAgICAgICAgICAgIHx8IChzb3VyY2UgPT0gSGl0VGVzdFNvdXJj
ZTo6U2NyaXB0ID8gcmVuZGVyZXIuc3R5bGUoKS52aXNpYmlsaXR5KCkgOiByZW5kZXJlci5zdHls
ZSgpLnVzZWRWaXNpYmlsaXR5KCkpICE9IFZpc2liaWxpdHk6OlZpc2libGUpCiAgICAgICAgICAg
ICBjb250aW51ZTsKIAotICAgICAgICBMYXlvdXRVbml0IHRvcCA9IHJlbmRlcmVyLmJvcmRlclRv
cCgpICsgcmVuZGVyZXIucGFkZGluZ1RvcCgpICsgKGlzPFJlbmRlclRhYmxlUm93PigqdGhpcykg
PyAwX2x1IDogcmVuZGVyZXIueSgpKTsKKyAgICAgICAgTGF5b3V0VW5pdCB0b3AgPSByZW5kZXJl
ci5ib3JkZXJUb3AoKSArIHJlbmRlcmVyLnBhZGRpbmdUb3AoKSArIHJlbmRlcmVyLnkoKTsKICAg
ICAgICAgTGF5b3V0VW5pdCBib3R0b20gPSB0b3AgKyByZW5kZXJlci5jb250ZW50Qm94SGVpZ2h0
KCk7Ci0gICAgICAgIExheW91dFVuaXQgbGVmdCA9IHJlbmRlcmVyLmJvcmRlckxlZnQoKSArIHJl
bmRlcmVyLnBhZGRpbmdMZWZ0KCkgKyAoaXM8UmVuZGVyVGFibGVSb3c+KCp0aGlzKSA/IDBfbHUg
OiByZW5kZXJlci54KCkpOworICAgICAgICBMYXlvdXRVbml0IGxlZnQgPSByZW5kZXJlci5ib3Jk
ZXJMZWZ0KCkgKyByZW5kZXJlci5wYWRkaW5nTGVmdCgpICsgcmVuZGVyZXIueCgpOwogICAgICAg
ICBMYXlvdXRVbml0IHJpZ2h0ID0gbGVmdCArIHJlbmRlcmVyLmNvbnRlbnRCb3hXaWR0aCgpOwog
ICAgICAgICAKICAgICAgICAgaWYgKHBvaW50LngoKSA8PSByaWdodCAmJiBwb2ludC54KCkgPj0g
bGVmdCAmJiBwb2ludC55KCkgPj0gdG9wICYmIHBvaW50LnkoKSA8PSBib3R0b20pIHsKLSAgICAg
ICAgICAgIGlmIChpczxSZW5kZXJUYWJsZVJvdz4ocmVuZGVyZXIpKQotICAgICAgICAgICAgICAg
IHJldHVybiByZW5kZXJlci5wb3NpdGlvbkZvclBvaW50KHBvaW50ICsgYWRqdXN0ZWRQb2ludCAt
IHJlbmRlcmVyLmxvY2F0aW9uT2Zmc2V0KCksIHNvdXJjZSwgZnJhZ21lbnQpOwogICAgICAgICAg
ICAgcmV0dXJuIHJlbmRlcmVyLnBvc2l0aW9uRm9yUG9pbnQocG9pbnQgLSByZW5kZXJlci5sb2Nh
dGlvbk9mZnNldCgpLCBzb3VyY2UsIGZyYWdtZW50KTsKICAgICAgICAgfQogCkBAIC00NDgyLDcg
KzQ0NzcsNyBAQCBQb3NpdGlvbldpdGhBZmZpbml0eSBSZW5kZXJCb3g6OnBvc2l0aW9uRm9yUG9p
bnQoY29uc3QgTGF5b3V0UG9pbnQmIHBvaW50LCBIaXRUZQogICAgIH0KICAgICAKICAgICBpZiAo
Y2xvc2VzdFJlbmRlcmVyKQotICAgICAgICByZXR1cm4gY2xvc2VzdFJlbmRlcmVyLT5wb3NpdGlv
bkZvclBvaW50KGFkanVzdGVkUG9pbnQgLSBjbG9zZXN0UmVuZGVyZXItPmxvY2F0aW9uT2Zmc2V0
KCksIHNvdXJjZSwgZnJhZ21lbnQpOworICAgICAgICByZXR1cm4gY2xvc2VzdFJlbmRlcmVyLT5w
b3NpdGlvbkZvclBvaW50KHBvaW50IC0gY2xvc2VzdFJlbmRlcmVyLT5sb2NhdGlvbk9mZnNldCgp
LCBzb3VyY2UsIGZyYWdtZW50KTsKICAgICAKICAgICByZXR1cm4gY3JlYXRlUG9zaXRpb25XaXRo
QWZmaW5pdHkoZmlyc3RQb3NpdGlvbkluT3JCZWZvcmVOb2RlKG5vblBzZXVkb0VsZW1lbnQoKSkp
OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVs
T2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVj
dC5jcHAKaW5kZXggYTllMDM3YTE2ODYzLi4zMGU1ZmRjOGI0MjMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcApAQCAtNTksNyArNTks
NiBAQAogI2luY2x1ZGUgIlJlbmRlck11bHRpQ29sdW1uRmxvdy5oIgogI2luY2x1ZGUgIlJlbmRl
ck9iamVjdElubGluZXMuaCIKICNpbmNsdWRlICJSZW5kZXJUYWJsZS5oIgotI2luY2x1ZGUgIlJl
bmRlclRhYmxlUm93LmgiCiAjaW5jbHVkZSAiUmVuZGVyVGV4dC5oIgogI2luY2x1ZGUgIlJlbmRl
clRleHRGcmFnbWVudC5oIgogI2luY2x1ZGUgIlJlbmRlclRyZWVCdWlsZGVyLmgiCkBAIC00Mzgs
NyArNDM3LDcgQEAgTGF5b3V0UG9pbnQgUmVuZGVyQm94TW9kZWxPYmplY3Q6OmFkanVzdGVkUG9z
aXRpb25SZWxhdGl2ZVRvT2Zmc2V0UGFyZW50KGNvbnN0IEwKICAgICAgICAgICAgICAgICAgICAg
aWYgKGF1dG8qIGZyYWdtZW50ID0gcmVuZGVyTXVsdGlDb2x1bW5GbG93LT5waHlzaWNhbFRyYW5z
bGF0aW9uRnJvbUZsb3dUb0ZyYWdtZW50KHJlZmVyZW5jZVBvaW50KSkKICAgICAgICAgICAgICAg
ICAgICAgICAgIHJlZmVyZW5jZVBvaW50Lm1vdmVCeShmcmFnbWVudC0+dG9wTGVmdExvY2F0aW9u
KCkpOwogICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoIWlzT3V0T2ZGbG93UG9zaXRpb25lZCgp
KSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChhdXRvKiByZW5kZXJCb3ggPSBkeW5hbWljRG93
bmNhc3Q8UmVuZGVyQm94PigqYW5jZXN0b3IpOyByZW5kZXJCb3ggJiYgIWlzPFJlbmRlclRhYmxl
Um93PigqYW5jZXN0b3IpKQorICAgICAgICAgICAgICAgICAgICBpZiAoYXV0byogcmVuZGVyQm94
ID0gZHluYW1pY0Rvd25jYXN0PFJlbmRlckJveD4oKmFuY2VzdG9yKSkKICAgICAgICAgICAgICAg
ICAgICAgICAgIHJlZmVyZW5jZVBvaW50Lm1vdmVCeShyZW5kZXJCb3gtPnRvcExlZnRMb2NhdGlv
bigpKTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgCkBAIC00NjgsOCArNDY3
LDEwIEBAIHZvaWQgUmVuZGVyQm94TW9kZWxPYmplY3Q6OmNvbXB1dGVTdGlja3lQb3NpdGlvbkNv
bnN0cmFpbnRzKFN0aWNreVBvc2l0aW9uVmlld3BvCiAgICAgLy8gRG8gbm90IHVzZSBhbm9ueW1v
dXMgY29udGFpbmluZyBibG9ja3MgdG8gZGV0ZXJtaW5lIHN0aWNreSBjb25zdHJhaW50cy4gV2Ug
d2FudCB0aGUgc2l6ZQogICAgIC8vIG9mIHRoZSBmaXJzdCB0cnVlIGNvbnRhaW5pbmcgYmxvY2ss
IGJlY2F1c2UgdGhhdCBpcyB3aGF0IGltcG9zZXMgdGhlIGxpbWl0YXRpb24gb24gdGhlCiAgICAg
Ly8gbW92ZW1lbnQgb2Ygc3RpY2tpbHkgcG9zaXRpb25lZCBpdGVtcy4KKyAgICAvLyBUYWJsZSBy
b3dzIGFyZSBhbHNvIHNraXBwZWQgYmVjYXVzZSBhIHN0aWNreSBjZWxsIHNob3VsZCBiZSBjb25z
dHJhaW5lZCBieSBpdHMgc2VjdGlvbgorICAgIC8vICh0aGVhZC90Ym9keS90Zm9vdCksIG5vdCBi
eSB0aGUgaW5kaXZpZHVhbCByb3cgd2hvc2UgY29udGVudCBib3ggaXMgdGhlIHNhbWUgaGVpZ2h0
IGFzIHRoZSBjZWxsLgogICAgIFJlbmRlckJsb2NrKiBjb250YWluaW5nQmxvY2sgPSB0aGlzLT5j
b250YWluaW5nQmxvY2soKTsKLSAgICB3aGlsZSAoY29udGFpbmluZ0Jsb2NrICYmICghaXM8UmVu
ZGVyQmxvY2s+KCpjb250YWluaW5nQmxvY2spIHx8IGNvbnRhaW5pbmdCbG9jay0+aXNBbm9ueW1v
dXNCbG9jaygpKSkKKyAgICB3aGlsZSAoY29udGFpbmluZ0Jsb2NrICYmICghaXM8UmVuZGVyQmxv
Y2s+KCpjb250YWluaW5nQmxvY2spIHx8IGNvbnRhaW5pbmdCbG9jay0+aXNBbm9ueW1vdXNCbG9j
aygpIHx8IGNvbnRhaW5pbmdCbG9jay0+aXNSZW5kZXJUYWJsZVJvdygpKSkKICAgICAgICAgY29u
dGFpbmluZ0Jsb2NrID0gY29udGFpbmluZ0Jsb2NrLT5jb250YWluaW5nQmxvY2soKTsKICAgICBB
U1NFUlQoY29udGFpbmluZ0Jsb2NrKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckZyYWdtZW50ZWRGbG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJGcmFnbWVudGVkRmxvdy5jcHAKaW5kZXggZGIxNjA4YWNmMTZmLi5kMjAxOTJlN2My
N2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFnbWVudGVk
Rmxvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYWdtZW50ZWRG
bG93LmNwcApAQCAtNDMsOCArNDMsNiBAQAogI2luY2x1ZGUgIlJlbmRlckxheW91dFN0YXRlLmgi
CiAjaW5jbHVkZSAiUmVuZGVyT2JqZWN0SW5saW5lcy5oIgogI2luY2x1ZGUgIlJlbmRlclN0eWxl
K0dldHRlcnNJbmxpbmVzLmgiCi0jaW5jbHVkZSAiUmVuZGVyVGFibGVDZWxsLmgiCi0jaW5jbHVk
ZSAiUmVuZGVyVGFibGVTZWN0aW9uLmgiCiAjaW5jbHVkZSAiUmVuZGVyVGhlbWUuaCIKICNpbmNs
dWRlICJSZW5kZXJWaWV3LmgiCiAjaW5jbHVkZSAiVHJhbnNmb3JtU3RhdGUuaCIKQEAgLTc4MCwz
NCArNzc4LDMyIEBAIExheW91dFJlY3QgUmVuZGVyRnJhZ21lbnRlZEZsb3c6OmZyYWdtZW50c0Jv
dW5kaW5nQm94KGNvbnN0IExheW91dFJlY3QmIGxheWVyQm91CiBMYXlvdXRVbml0IFJlbmRlckZy
YWdtZW50ZWRGbG93OjpvZmZzZXRGcm9tTG9naWNhbFRvcE9mRmlyc3RGcmFnbWVudChjb25zdCBS
ZW5kZXJCbG9jayogY3VycmVudEJsb2NrKSBjb25zdAogewogICAgIC8vIEFzIGEgbGFzdCByZXNv
cnQsIHRha2UgdGhlIHNsb3cgcGF0aC4KLSAgICBMYXlvdXRSZWN0IGJsb2NrUmVjdCgwX2x1LCAw
X2x1LCBjdXJyZW50QmxvY2stPndpZHRoKCksIGN1cnJlbnRCbG9jay0+aGVpZ2h0KCkpOwotICAg
IHdoaWxlIChjdXJyZW50QmxvY2sgJiYgIWlzPFJlbmRlclZpZXc+KCpjdXJyZW50QmxvY2spICYm
ICFjdXJyZW50QmxvY2stPmlzUmVuZGVyRnJhZ21lbnRlZEZsb3coKSkgewotICAgICAgICBSZW5k
ZXJCbG9jayogY29udGFpbmVyQmxvY2sgPSBjdXJyZW50QmxvY2stPmNvbnRhaW5pbmdCbG9jaygp
OwotICAgICAgICBBU1NFUlQoY29udGFpbmVyQmxvY2spOwotICAgICAgICBpZiAoIWNvbnRhaW5l
ckJsb2NrKQorICAgIC8vIFVzZSBjb250YWluZXIoKSByYXRoZXIgdGhhbiBjb250YWluaW5nQmxv
Y2soKSBzaW5jZSBjb250YWluaW5nQmxvY2soKQorICAgIC8vIHNraXBzIG5vbi1SZW5kZXJCbG9j
ayBhbmNlc3RvcnMgbGlrZSBSZW5kZXJUYWJsZVNlY3Rpb24uCisgICAgQ2hlY2tlZFB0cjxSZW5k
ZXJCb3g+IGN1cnJlbnRCb3ggPSBjdXJyZW50QmxvY2s7CisgICAgTGF5b3V0UmVjdCBibG9ja1Jl
Y3QoMF9sdSwgMF9sdSwgY3VycmVudEJveC0+d2lkdGgoKSwgY3VycmVudEJveC0+aGVpZ2h0KCkp
OworICAgIHdoaWxlIChjdXJyZW50Qm94ICYmICFpczxSZW5kZXJWaWV3PigqY3VycmVudEJveCkg
JiYgIWN1cnJlbnRCb3gtPmlzUmVuZGVyRnJhZ21lbnRlZEZsb3coKSkgeworICAgICAgICBDaGVj
a2VkUHRyIGNvbnRhaW5lckJveCA9IGR5bmFtaWNEb3duY2FzdDxSZW5kZXJCb3g+KGN1cnJlbnRC
b3gtPmNvbnRhaW5lcigpKTsKKyAgICAgICAgaWYgKCFjb250YWluZXJCb3gpCiAgICAgICAgICAg
ICByZXR1cm4gMDsKLSAgICAgICAgTGF5b3V0UG9pbnQgY3VycmVudEJsb2NrTG9jYXRpb24gPSBj
dXJyZW50QmxvY2stPmxvY2F0aW9uKCk7Ci0gICAgICAgIGlmIChhdXRvKiBjZWxsID0gZHluYW1p
Y0Rvd25jYXN0PFJlbmRlclRhYmxlQ2VsbD4oKmN1cnJlbnRCbG9jaykpIHsKLSAgICAgICAgICAg
IGlmIChhdXRvKiBzZWN0aW9uID0gY2VsbC0+c2VjdGlvbigpKQotICAgICAgICAgICAgICAgIGN1
cnJlbnRCbG9ja0xvY2F0aW9uLm1vdmVCeShzZWN0aW9uLT5sb2NhdGlvbigpKTsKLSAgICAgICAg
fQorICAgICAgICBMYXlvdXRQb2ludCBjdXJyZW50Qm94TG9jYXRpb24gPSBjdXJyZW50Qm94LT5s
b2NhdGlvbigpOwogCi0gICAgICAgIGlmIChjb250YWluZXJCbG9jay0+d3JpdGluZ01vZGUoKS5i
bG9ja0RpcmVjdGlvbigpICE9IGN1cnJlbnRCbG9jay0+d3JpdGluZ01vZGUoKS5ibG9ja0RpcmVj
dGlvbigpKSB7CisgICAgICAgIGlmIChjb250YWluZXJCb3gtPndyaXRpbmdNb2RlKCkuYmxvY2tE
aXJlY3Rpb24oKSAhPSBjdXJyZW50Qm94LT53cml0aW5nTW9kZSgpLmJsb2NrRGlyZWN0aW9uKCkp
IHsKICAgICAgICAgICAgIC8vIFdlIGhhdmUgdG8gcHV0IHRoZSBibG9jayByZWN0IGluIGNvbnRh
aW5lciBjb29yZGluYXRlcwogICAgICAgICAgICAgLy8gYW5kIHdlIGhhdmUgdG8gdGFrZSBpbnRv
IGFjY291bnQgYm90aCB0aGUgY29udGFpbmVyIGFuZCBjdXJyZW50IGJsb2NrIGZsaXBwaW5nIG1v
ZGVzCi0gICAgICAgICAgICBpZiAoY29udGFpbmVyQmxvY2stPndyaXRpbmdNb2RlKCkuaXNCbG9j
a0ZsaXBwZWQoKSkgewotICAgICAgICAgICAgICAgIGlmIChjb250YWluZXJCbG9jay0+aXNIb3Jp
em9udGFsV3JpdGluZ01vZGUoKSkKLSAgICAgICAgICAgICAgICAgICAgYmxvY2tSZWN0LnNldFko
Y3VycmVudEJsb2NrLT5oZWlnaHQoKSAtIGJsb2NrUmVjdC5tYXhZKCkpOworICAgICAgICAgICAg
aWYgKGNvbnRhaW5lckJveC0+d3JpdGluZ01vZGUoKS5pc0Jsb2NrRmxpcHBlZCgpKSB7CisgICAg
ICAgICAgICAgICAgaWYgKGNvbnRhaW5lckJveC0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSkK
KyAgICAgICAgICAgICAgICAgICAgYmxvY2tSZWN0LnNldFkoY3VycmVudEJveC0+aGVpZ2h0KCkg
LSBibG9ja1JlY3QubWF4WSgpKTsKICAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAg
ICAgICAgIGJsb2NrUmVjdC5zZXRYKGN1cnJlbnRCbG9jay0+d2lkdGgoKSAtIGJsb2NrUmVjdC5t
YXhYKCkpOworICAgICAgICAgICAgICAgICAgICBibG9ja1JlY3Quc2V0WChjdXJyZW50Qm94LT53
aWR0aCgpIC0gYmxvY2tSZWN0Lm1heFgoKSk7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBj
dXJyZW50QmxvY2stPmZsaXBGb3JXcml0aW5nTW9kZShibG9ja1JlY3QpOworICAgICAgICAgICAg
Y3VycmVudEJveC0+ZmxpcEZvcldyaXRpbmdNb2RlKGJsb2NrUmVjdCk7CiAgICAgICAgIH0KLSAg
ICAgICAgYmxvY2tSZWN0Lm1vdmVCeShjdXJyZW50QmxvY2tMb2NhdGlvbik7Ci0gICAgICAgIGN1
cnJlbnRCbG9jayA9IGNvbnRhaW5lckJsb2NrOworICAgICAgICBibG9ja1JlY3QubW92ZUJ5KGN1
cnJlbnRCb3hMb2NhdGlvbik7CisgICAgICAgIGN1cnJlbnRCb3ggPSBjb250YWluZXJCb3g7CiAg
ICAgfQogCi0gICAgcmV0dXJuIGN1cnJlbnRCbG9jay0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUo
KSA/IGJsb2NrUmVjdC55KCkgOiBibG9ja1JlY3QueCgpOworICAgIHJldHVybiBjdXJyZW50Qm94
LT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gYmxvY2tSZWN0LnkoKSA6IGJsb2NrUmVjdC54
KCk7CiB9CiAKIHZvaWQgUmVuZGVyRnJhZ21lbnRlZEZsb3c6Om1hcExvY2FsVG9Db250YWluZXIo
Y29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogYW5jZXN0b3JDb250YWluZXIsIFRyYW5zZm9y
bVN0YXRlJiB0cmFuc2Zvcm1TdGF0ZSwgT3B0aW9uU2V0PE1hcENvb3JkaW5hdGVzTW9kZT4gbW9k
ZSwgYm9vbCogd2FzRml4ZWQpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyLmNwcAppbmRleCA4MDIyNmZjMWVlMTEuLmZiMTFlYjg2Nzg5OSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC0yMTYxLDE4ICsyMTYxLDEwIEBAIGJvb2wg
UmVuZGVyTGF5ZXI6OnVwZGF0ZUxheWVyUG9zaXRpb24oT3B0aW9uU2V0PFVwZGF0ZUxheWVyUG9z
aXRpb25zRmxhZz4qIGZsYWdzCiAgICAgICAgIC8vIFdlIG11c3QgYWRqdXN0IG91ciBwb3NpdGlv
biBieSB3YWxraW5nIHVwIHRoZSByZW5kZXIgdHJlZSBsb29raW5nIGZvciB0aGUKICAgICAgICAg
Ly8gbmVhcmVzdCBlbmNsb3Npbmcgb2JqZWN0IHdpdGggYSBsYXllci4KICAgICAgICAgd2hpbGUg
KGFuY2VzdG9yICYmICFhbmNlc3Rvci0+aGFzTGF5ZXIoKSkgewotICAgICAgICAgICAgaWYgKGF1
dG8qIGJveFJlbmRlcmVyID0gZHluYW1pY0Rvd25jYXN0PFJlbmRlckJveD4oYW5jZXN0b3IpKSB7
Ci0gICAgICAgICAgICAgICAgLy8gUm93cyBhbmQgY2VsbHMgc2hhcmUgdGhlIHNhbWUgY29vcmRp
bmF0ZSBzcGFjZSAodGhhdCBvZiB0aGUgc2VjdGlvbikuCi0gICAgICAgICAgICAgICAgLy8gT21p
dCB0aGVtIHdoZW4gY29tcHV0aW5nIG91ciB4cG9zL3lwb3MuCi0gICAgICAgICAgICAgICAgaWYg
KCFpczxSZW5kZXJUYWJsZVJvdz4oYm94UmVuZGVyZXIpKQotICAgICAgICAgICAgICAgICAgICBs
b2NhbFBvaW50ICs9IGJveFJlbmRlcmVyLT50b3BMZWZ0TG9jYXRpb25PZmZzZXQoKTsKLSAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIGlmIChhdXRvKiBib3hSZW5kZXJlciA9IGR5bmFtaWNEb3du
Y2FzdDxSZW5kZXJCb3g+KGFuY2VzdG9yKSkKKyAgICAgICAgICAgICAgICBsb2NhbFBvaW50ICs9
IGJveFJlbmRlcmVyLT50b3BMZWZ0TG9jYXRpb25PZmZzZXQoKTsKICAgICAgICAgICAgIGFuY2Vz
dG9yID0gYW5jZXN0b3ItPnBhcmVudCgpOwogICAgICAgICB9Ci0gICAgICAgIGlmIChhdXRvKiB0
YWJsZVJvdyA9IGR5bmFtaWNEb3duY2FzdDxSZW5kZXJUYWJsZVJvdz4oYW5jZXN0b3IpKSB7Ci0g
ICAgICAgICAgICAvLyBQdXQgb3Vyc2VsdmVzIGludG8gdGhlIHJvdyBjb29yZGluYXRlIHNwYWNl
LgotICAgICAgICAgICAgbG9jYWxQb2ludCAtPSB0YWJsZVJvdy0+dG9wTGVmdExvY2F0aW9uT2Zm
c2V0KCk7Ci0gICAgICAgIH0KICAgICB9CiAgICAgCiAgICAgLy8gU3VidHJhY3Qgb3VyIHBhcmVu
dCdzIHNjcm9sbCBvZmZzZXQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGFibGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNw
cAppbmRleCAwNzQzNTg1NWNjYjEuLjU0MzIzYzBkNTQ3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGFibGUuY3BwCkBAIC05MTQsNiArOTE0LDI2IEBAIHZvaWQgUmVuZGVyVGFi
bGU6OnBhaW50T2JqZWN0KFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBMYXlvdXRQb2ludCYg
cGFpbnRPZmZzCiAgICAgICAgIHBhaW50T3V0bGluZShwYWludEluZm8sIExheW91dFJlY3QocGFp
bnRPZmZzZXQsIHNpemUoKSkpOwogfQogCit2b2lkIFJlbmRlclRhYmxlOjpwYWludENvbGxhcHNl
ZEJvcmRlcnNGb3JSb3coUGFpbnRJbmZvJiBwYWludEluZm8sIFJlbmRlclRhYmxlUm93JiByb3cs
IGNvbnN0IExheW91dFBvaW50JiBwYWludE9mZnNldCkKK3sKKyAgICBBU1NFUlQoY29sbGFwc2VC
b3JkZXJzKCkpOworICAgIHJlY2FsY0NvbGxhcHNlZEJvcmRlcnMoKTsKKworICAgIFBhaW50SW5m
byBib3JkZXJQYWludEluZm8ocGFpbnRJbmZvKTsKKyAgICBib3JkZXJQYWludEluZm8ucGhhc2Ug
PSBQYWludFBoYXNlOjpDb2xsYXBzZWRUYWJsZUJvcmRlcnM7CisKKyAgICBmb3IgKHNpemVfdCBp
ID0gMDsgaSA8IG1fY29sbGFwc2VkQm9yZGVycy5zaXplKCk7ICsraSkgeworICAgICAgICBtX2N1
cnJlbnRCb3JkZXIgPSAmbV9jb2xsYXBzZWRCb3JkZXJzW2ldOworICAgICAgICBmb3IgKGF1dG8q
IGNlbGwgPSByb3cuZmlyc3RDZWxsKCk7IGNlbGw7IGNlbGwgPSBjZWxsLT5uZXh0Q2VsbCgpKSB7
CisgICAgICAgICAgICBpZiAoIWNlbGwtPmhhc1NlbGZQYWludGluZ0xheWVyKCkpIHsKKyAgICAg
ICAgICAgICAgICBhdXRvIGNlbGxQb2ludCA9IHJvdy5mbGlwRm9yV3JpdGluZ01vZGVGb3JDaGls
ZCgqY2VsbCwgcGFpbnRPZmZzZXQpOworICAgICAgICAgICAgICAgIGNlbGwtPnBhaW50Q29sbGFw
c2VkQm9yZGVycyhib3JkZXJQYWludEluZm8sIGNlbGxQb2ludCk7CisgICAgICAgICAgICB9Cisg
ICAgICAgIH0KKyAgICB9CisgICAgbV9jdXJyZW50Qm9yZGVyID0geyB9OworfQorCiB2b2lkIFJl
bmRlclRhYmxlOjphZGp1c3RCb3JkZXJCb3hSZWN0Rm9yUGFpbnRpbmcoTGF5b3V0UmVjdCYgcmVj
dCkKIHsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9jYXB0aW9ucy5zaXplKCk7IGkr
KykgewpAQCAtMTA0NCw2ICsxMDY0LDE2IEBAIHZvaWQgUmVuZGVyVGFibGU6OmNvbXB1dGVQcmVm
ZXJyZWRMb2dpY2FsV2lkdGhzKCkKICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIGJlIGFkZGluZyBi
b3JkZXJBbmRQYWRkaW5nTG9naWNhbFdpZHRoIGhlcmUsIGJ1dCBtX3RhYmxlTGF5b3V0LT5jb21w
dXRlUHJlZmVycmVkTG9naWNhbFdpZHRocyBhbHJlYWR5IGRvZXMsCiAgICAgLy8gc28gYSBidW5j
aCBvZiB0ZXN0cyBicmVhayBkb2luZyB0aGlzIG5haXZlbHkuCiAgICAgY2xlYXJOZWVkc1ByZWZl
cnJlZFdpZHRoc1VwZGF0ZSgpOworCisgICAgLy8gUm93IHdpZHRocyBhcmUgc2V0IGJ5IHRoZSBz
ZWN0aW9uLCBub3QgY29tcHV0ZWQgZnJvbSBwcmVmZXJyZWQgd2lkdGhzLAorICAgIC8vIHNvIHRo
ZWlyIGRpcnR5IGJpdCBpcyBuZXZlciBjbGVhcmVkIGJ5IHRoZSBub3JtYWwgcHJlZmVycmVkIHdp
ZHRoCisgICAgLy8gY29tcHV0YXRpb24uIENsZWFyIGl0IGhlcmUgc28gaXQgZG9lc24ndCBibG9j
ayBzdWJzZXF1ZW50IGludmFsaWRhdGlvbgorICAgIC8vIGZyb20gcHJvcGFnYXRpbmcgdGhyb3Vn
aCB0aGUgcm93IHRvIHRoZSB0YWJsZS4KKyAgICBmb3IgKGF1dG8qIHNlY3Rpb24gPSB0b3BTZWN0
aW9uKCk7IHNlY3Rpb247IHNlY3Rpb24gPSBzZWN0aW9uQmVsb3coc2VjdGlvbikpIHsKKyAgICAg
ICAgc2VjdGlvbi0+Y2xlYXJOZWVkc1ByZWZlcnJlZFdpZHRoc1VwZGF0ZSgpOworICAgICAgICBm
b3IgKGF1dG8qIHJvdyA9IHNlY3Rpb24tPmZpcnN0Um93KCk7IHJvdzsgcm93ID0gcm93LT5uZXh0
Um93KCkpCisgICAgICAgICAgICByb3ctPmNsZWFyTmVlZHNQcmVmZXJyZWRXaWR0aHNVcGRhdGUo
KTsKKyAgICB9CiB9CiAKIFJlbmRlclRhYmxlU2VjdGlvbiogUmVuZGVyVGFibGU6OnRvcE5vbkVt
cHR5U2VjdGlvbigpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGFibGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZS5oCmlu
ZGV4IDI1YjRlMWZmZmQwMS4uNTI4MjI0YjQ2MzMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGFibGUuaApAQCAtMzcsNiArMzcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFz
cyBSZW5kZXJUYWJsZUNvbDsKIGNsYXNzIFJlbmRlclRhYmxlQ2FwdGlvbjsKIGNsYXNzIFJlbmRl
clRhYmxlQ2VsbDsKK2NsYXNzIFJlbmRlclRhYmxlUm93OwogY2xhc3MgUmVuZGVyVGFibGVTZWN0
aW9uOwogY2xhc3MgVGFibGVMYXlvdXQ7CiAKQEAgLTE5MCw2ICsxOTEsNyBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBpbnZhbGlkYXRlQ29sbGFwc2VkQm9yZGVyc0FmdGVyU3R5bGVDaGFuZ2VJZk5lZWRl
ZChjb25zdCBSZW5kZXJTdHlsZSYgb2xkU3R5bGUsIGNvbnN0IFJlbmRlclN0eWxlJiBuZXdTdHls
ZSwgUmVuZGVyVGFibGVDZWxsKiBjZWxsV2l0aFN0eWxlQ2hhbmdlID0gbnVsbHB0cik7CiAgICAg
dm9pZCBjb2xsYXBzZWRFbXB0eUJvcmRlcklzUHJlc2VudCgpIHsgbV9jb2xsYXBzZWRFbXB0eUJv
cmRlcklzUHJlc2VudCA9IHRydWU7IH0KICAgICBjb25zdCBDb2xsYXBzZWRCb3JkZXJWYWx1ZSog
Y3VycmVudEJvcmRlclZhbHVlKCkgY29uc3QgTElGRVRJTUVfQk9VTkQgeyByZXR1cm4gbV9jdXJy
ZW50Qm9yZGVyOyB9CisgICAgdm9pZCBwYWludENvbGxhcHNlZEJvcmRlcnNGb3JSb3coUGFpbnRJ
bmZvJiwgUmVuZGVyVGFibGVSb3cmLCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZmZzZXQpOwog
ICAgIAogICAgIGJvb2wgaGFzU2VjdGlvbnMoKSBjb25zdCB7IHJldHVybiBtX2hlYWQgfHwgbV9m
b290IHx8IG1fZmlyc3RCb2R5OyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUYWJsZUNlbGwuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRhYmxlQ2VsbC5jcHAKaW5kZXggNjRlNjhmODZkNzJiLi5jNWNmNzE2ZTg0ZWYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNlbGwuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNlbGwuY3BwCkBAIC0yNTcsMTYgKzI1
Nyw2IEBAIHZvaWQgUmVuZGVyVGFibGVDZWxsOjpjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRo
cygpCiAgICAgfQogfQogCi1MYXlvdXRSZWN0IFJlbmRlclRhYmxlQ2VsbDo6ZnJhbWVSZWN0Rm9y
U3RpY2t5UG9zaXRpb25pbmcoKSBjb25zdAotewotICAgIC8vIFJlbmRlclRhYmxlQ2VsbCBoYXMg
dGhlIFJlbmRlclRhYmxlUm93IGFzIHRoZSBjb250YWluZXIsIGJ1dCBpcyBwb3NpdGlvbmVkIHJl
bGF0aXZlbHkKLSAgICAvLyB0byB0aGUgUmVuZGVyVGFibGVTZWN0aW9uLiBUaGUgc3RpY2t5IHBv
c2l0aW9uaW5nIGFsZ29yaXRobSBhc3N1bWVzIHRoYXQgZWxlbWVudHMgYXJlCi0gICAgLy8gcG9z
aXRpb25lZCByZWxhdGl2ZWx5IHRvIHRoZWlyIGNvbnRhaW5lciwgc28gd2UgY29ycmVjdCBmb3Ig
dGhhdCBoZXJlLgotICAgIEFTU0VSVChwYXJlbnRCb3goKSk7Ci0gICAgYXV0byByZXR1cm5WYWx1
ZSA9IGZyYW1lUmVjdCgpOwotICAgIHJldHVyblZhbHVlLm1vdmUoLXBhcmVudEJveCgpLT5sb2Nh
dGlvbk9mZnNldCgpKTsKLSAgICByZXR1cm4gcmV0dXJuVmFsdWU7Ci19CiAKIGJvb2wgUmVuZGVy
VGFibGVDZWxsOjpjb21wdXRlSW50cmluc2ljUGFkZGluZyhMYXlvdXRVbml0IGhlaWdodENvbnN0
cmFpbnQpCiB7CkBAIC01NDYsMTIgKzUzNiw3IEBAIExheW91dFVuaXQgUmVuZGVyVGFibGVDZWxs
OjptYXhMb2dpY2FsV2lkdGhGb3JDb2x1bW5TaXppbmcoKQogTGF5b3V0U2l6ZSBSZW5kZXJUYWJs
ZUNlbGw6Om9mZnNldEZyb21Db250YWluZXIoY29uc3QgUmVuZGVyRWxlbWVudCYgY29udGFpbmVy
LCBjb25zdCBMYXlvdXRQb2ludCYgcG9pbnQsIGJvb2wqIG9mZnNldERlcGVuZHNPblBvaW50KSBj
b25zdAogewogICAgIEFTU0VSVCgmY29udGFpbmVyID09IHRoaXMtPmNvbnRhaW5lcigpKTsKLQot
ICAgIExheW91dFNpemUgb2Zmc2V0ID0gUmVuZGVyQmxvY2tGbG93OjpvZmZzZXRGcm9tQ29udGFp
bmVyKGNvbnRhaW5lciwgcG9pbnQsIG9mZnNldERlcGVuZHNPblBvaW50KTsKLSAgICBpZiAoYXV0
byogY29udGFpbmVyT2ZSb3cgPSBjb250YWluZXIuY29udGFpbmVyKCk7IGNvbnRhaW5lck9mUm93
ICYmIHBhcmVudCgpKQotICAgICAgICBvZmZzZXQgLT0gcGFyZW50Qm94KCktPm9mZnNldEZyb21D
b250YWluZXIoKmNvbnRhaW5lck9mUm93LCBwb2ludCk7Ci0KLSAgICByZXR1cm4gb2Zmc2V0Owor
ICAgIHJldHVybiBSZW5kZXJCbG9ja0Zsb3c6Om9mZnNldEZyb21Db250YWluZXIoY29udGFpbmVy
LCBwb2ludCwgb2Zmc2V0RGVwZW5kc09uUG9pbnQpOwogfQogCiBhdXRvIFJlbmRlclRhYmxlQ2Vs
bDo6bG9jYWxSZWN0c0ZvclJlcGFpbnQoUmVwYWludE91dGxpbmVCb3VuZHMgcmVwYWludE91dGxp
bmVCb3VuZHMpIGNvbnN0IC0+IFJlcGFpbnRSZWN0cwpAQCAtNjM5LDkgKzYyNCw2IEBAIGF1dG8g
UmVuZGVyVGFibGVDZWxsOjpjb21wdXRlVmlzaWJsZVJlY3RzSW5Db250YWluZXIoY29uc3QgUmVw
YWludFJlY3RzJiByZWN0cywKICAgICAgICAgcmV0dXJuIHJlY3RzOwogCiAgICAgYXV0byBhZGp1
c3RlZFJlY3RzID0gcmVjdHM7Ci0gICAgaWYgKCghdmlldygpLmZyYW1lVmlldygpLmxheW91dENv
bnRleHQoKS5pc1BhaW50T2Zmc2V0Q2FjaGVFbmFibGVkKCkgfHwgY29udGFpbmVyIHx8IGNvbnRl
eHQub3B0aW9ucy5jb250YWlucyhWaXNpYmxlUmVjdENvbnRleHQ6Ok9wdGlvbjo6VXNlRWRnZUlu
Y2x1c2l2ZUludGVyc2VjdGlvbikpICYmIHBhcmVudCgpKQotICAgICAgICBhZGp1c3RlZFJlY3Rz
Lm1vdmVCeSgtcGFyZW50Qm94KCktPmxvY2F0aW9uKCkpOyAvLyBSb3dzIGFyZSBpbiB0aGUgc2Ft
ZSBjb29yZGluYXRlIHNwYWNlLCBzbyBkb24ndCBhZGQgdGhlaXIgb2Zmc2V0IGluLgotCiAgICAg
cmV0dXJuIFJlbmRlckJsb2NrRmxvdzo6Y29tcHV0ZVZpc2libGVSZWN0c0luQ29udGFpbmVyKGFk
anVzdGVkUmVjdHMsIGNvbnRhaW5lciwgY29udGV4dCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNlbGwuaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUYWJsZUNlbGwuaAppbmRleCA1NWQ5YmRhNDQ3NmIuLmUwNzg2YjMxNzY1
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNlbGwuaApAQCAtMTQ2
LDggKzE0Niw2IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzdHlsZURpZENoYW5nZShTdHlsZTo6RGlm
ZmVyZW5jZSwgY29uc3QgUmVuZGVyU3R5bGUqIG9sZFN0eWxlKSBvdmVycmlkZTsKICAgICB2b2lk
IGNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKCkgb3ZlcnJpZGU7CiAKLSAgICBMYXlvdXRS
ZWN0IGZyYW1lUmVjdEZvclN0aWNreVBvc2l0aW9uaW5nKCkgY29uc3Qgb3ZlcnJpZGU7Ci0KICAg
ICBMYXlvdXRVbml0IGNvbnRhaW5pbmdCbG9ja0xvZ2ljYWxXaWR0aEZvckNvbnRlbnQoKSBjb25z
dCBvdmVycmlkZTsKIAogICAgIHN0YXRpYyBSZW5kZXJQdHI8UmVuZGVyVGFibGVDZWxsPiBjcmVh
dGVUYWJsZUNlbGxXaXRoU3R5bGUoRG9jdW1lbnQmLCBjb25zdCBSZW5kZXJTdHlsZSYpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlUm93LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVJvdy5jcHAKaW5kZXggOTk5YTQ0MTJh
NzAzLi45YjYwOTc3ZjVjMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUYWJsZVJvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRh
YmxlUm93LmNwcApAQCAtNTEsNyArNTEsNyBAQCB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwog
V1RGX01BS0VfVFpPTkVfQUxMT0NBVEVEX0lNUEwoUmVuZGVyVGFibGVSb3cpOwogCiBSZW5kZXJU
YWJsZVJvdzo6UmVuZGVyVGFibGVSb3coRWxlbWVudCYgZWxlbWVudCwgUmVuZGVyU3R5bGUmJiBz
dHlsZSkKLSAgICA6IFJlbmRlckJveChUeXBlOjpUYWJsZVJvdywgZWxlbWVudCwgV1RGOjptb3Zl
KHN0eWxlKSkKKyAgICA6IFJlbmRlckJsb2NrKFR5cGU6OlRhYmxlUm93LCBlbGVtZW50LCBXVEY6
Om1vdmUoc3R5bGUpLCB7IH0pCiAgICAgLCBtX3Jvd0luZGV4KHVuc2V0Um93SW5kZXgpCiB7CiAg
ICAgc2V0SW5saW5lKGZhbHNlKTsKQEAgLTU5LDcgKzU5LDcgQEAgUmVuZGVyVGFibGVSb3c6OlJl
bmRlclRhYmxlUm93KEVsZW1lbnQmIGVsZW1lbnQsIFJlbmRlclN0eWxlJiYgc3R5bGUpCiB9CiAK
IFJlbmRlclRhYmxlUm93OjpSZW5kZXJUYWJsZVJvdyhEb2N1bWVudCYgZG9jdW1lbnQsIFJlbmRl
clN0eWxlJiYgc3R5bGUpCi0gICAgOiBSZW5kZXJCb3goVHlwZTo6VGFibGVSb3csIGRvY3VtZW50
LCBXVEY6Om1vdmUoc3R5bGUpKQorICAgIDogUmVuZGVyQmxvY2soVHlwZTo6VGFibGVSb3csIGRv
Y3VtZW50LCBXVEY6Om1vdmUoc3R5bGUpLCB7IH0pCiAgICAgLCBtX3Jvd0luZGV4KHVuc2V0Um93
SW5kZXgpCiB7CiAgICAgc2V0SW5saW5lKGZhbHNlKTsKQEAgLTc1LDcgKzc1LDcgQEAgQVNDSUlM
aXRlcmFsIFJlbmRlclRhYmxlUm93OjpyZW5kZXJOYW1lKCkgY29uc3QKIAogdm9pZCBSZW5kZXJU
YWJsZVJvdzo6d2lsbEJlUmVtb3ZlZEZyb21UcmVlKCkKIHsKLSAgICBSZW5kZXJCb3g6OndpbGxC
ZVJlbW92ZWRGcm9tVHJlZSgpOworICAgIFJlbmRlckJsb2NrOjp3aWxsQmVSZW1vdmVkRnJvbVRy
ZWUoKTsKIAogICAgIHNlY3Rpb24oKS0+c2V0TmVlZHNDZWxsUmVjYWxjKCk7CiB9CkBAIC05Miw3
ICs5Miw3IEBAIHZvaWQgUmVuZGVyVGFibGVSb3c6OnN0eWxlRGlkQ2hhbmdlKFN0eWxlOjpEaWZm
ZXJlbmNlIGRpZmYsIGNvbnN0IFJlbmRlclN0eWxlKiBvCiB7CiAgICAgQVNTRVJUKHN0eWxlKCku
ZGlzcGxheSgpID09IFN0eWxlOjpEaXNwbGF5VHlwZTo6VGFibGVSb3cpOwogCi0gICAgUmVuZGVy
Qm94OjpzdHlsZURpZENoYW5nZShkaWZmLCBvbGRTdHlsZSk7CisgICAgUmVuZGVyQmxvY2s6OnN0
eWxlRGlkQ2hhbmdlKGRpZmYsIG9sZFN0eWxlKTsKICAgICBwcm9wYWdhdGVTdHlsZVRvQW5vbnlt
b3VzQ2hpbGRyZW4oU3R5bGVQcm9wYWdhdGlvblR5cGU6OkFsbENoaWxkcmVuKTsKIAogICAgIGlm
IChzZWN0aW9uKCkgJiYgb2xkU3R5bGUgJiYgc3R5bGUoKS5sb2dpY2FsSGVpZ2h0KCkgIT0gb2xk
U3R5bGUtPmxvZ2ljYWxIZWlnaHQoKSkKQEAgLTE1NSw4ICsxNTUsNyBAQCB2b2lkIFJlbmRlclRh
YmxlUm93OjpsYXlvdXQoKQogICAgIFN0YWNrU3RhdHM6OkxheW91dENoZWNrUG9pbnQgbGF5b3V0
Q2hlY2tQb2ludDsKICAgICBBU1NFUlQobmVlZHNMYXlvdXQoKSk7CiAKLSAgICAvLyBUYWJsZSBy
b3dzIGRvIG5vdCBhZGQgdHJhbnNsYXRpb24uCi0gICAgTGF5b3V0U3RhdGVNYWludGFpbmVyIHN0
YXRlUHVzaGVyKCp0aGlzLCBMYXlvdXRTaXplKCksIGlzVHJhbnNmb3JtZWQoKSB8fCBoYXNSZWZs
ZWN0aW9uKCkgfHwgd3JpdGluZ01vZGUoKS5pc0Jsb2NrRmxpcHBlZCgpKTsKKyAgICBMYXlvdXRT
dGF0ZU1haW50YWluZXIgc3RhdGVQdXNoZXIoKnRoaXMsIGxvY2F0aW9uT2Zmc2V0KCksIGlzVHJh
bnNmb3JtZWQoKSB8fCBoYXNSZWZsZWN0aW9uKCkgfHwgd3JpdGluZ01vZGUoKS5pc0Jsb2NrRmxp
cHBlZCgpKTsKIAogICAgIGF1dG8qIGxheW91dFN0YXRlID0gdmlldygpLmZyYW1lVmlldygpLmxh
eW91dENvbnRleHQoKS5sYXlvdXRTdGF0ZSgpOwogICAgIGJvb2wgcGFnaW5hdGVkID0gbGF5b3V0
U3RhdGUtPmlzUGFnaW5hdGVkKCk7CkBAIC0xNjUsOSArMTY0LDggQEAgdm9pZCBSZW5kZXJUYWJs
ZVJvdzo6bGF5b3V0KCkKICAgICAgICAgaWYgKCFjZWxsLT5uZWVkc0xheW91dCgpICYmIHBhZ2lu
YXRlZCAmJiAobGF5b3V0U3RhdGUtPnBhZ2VMb2dpY2FsSGVpZ2h0Q2hhbmdlZCgpIHx8IChsYXlv
dXRTdGF0ZS0+cGFnZUxvZ2ljYWxIZWlnaHQoKSAmJiBsYXlvdXRTdGF0ZS0+cGFnZUxvZ2ljYWxP
ZmZzZXQoY2VsbCwgY2VsbC0+bG9naWNhbFRvcCgpKSAhPSBjZWxsLT5wYWdlTG9naWNhbE9mZnNl
dCgpKSkpCiAgICAgICAgICAgICBjZWxsLT5zZXRDaGlsZE5lZWRzTGF5b3V0KE1hcmtPbmx5VGhp
cyk7CiAKLSAgICAgICAgaWYgKGNlbGwtPm5lZWRzTGF5b3V0KCkpIHsKKyAgICAgICAgaWYgKGNl
bGwtPm5lZWRzTGF5b3V0KCkpCiAgICAgICAgICAgICBjZWxsLT5sYXlvdXQoKTsKLSAgICAgICAg
fQogICAgIH0KIAogICAgIGNsZWFyT3ZlcmZsb3coKTsKQEAgLTE4MiwxNyArMTgwLDE3IEBAIHZv
aWQgUmVuZGVyVGFibGVSb3c6OmxheW91dCgpCiAgICAgICAgICAgICBjZWxsLT5yZXBhaW50KCk7
CiAgICAgfQogCi0gICAgLy8gUmVuZGVyVGFibGVTZWN0aW9uOjpsYXlvdXRSb3dzIHdpbGwgc2V0
IG91ciBsb2dpY2FsIGhlaWdodCBhbmQgd2lkdGggbGF0ZXIsIHNvIGl0IGNhbGxzIHVwZGF0ZUxh
eWVyVHJhbnNmb3JtKCkuCi0gICAgY2xlYXJOZWVkc0xheW91dCgpOworICAgIC8vIFJvdyBkaW1l
bnNpb25zIGFyZSBmaW5hbGl6ZWQgaW4gUmVuZGVyVGFibGVTZWN0aW9uOjpsYXlvdXRSb3dzKCks
IHdoaWNoIGFsc28KKyAgICAvLyBsYXlzIG91dCBvdXQtb2YtZmxvdyBkZXNjZW5kYW50cyBhbmQg
Y2FsbHMgY2xlYXJOZWVkc0xheW91dCgpLgogfQogCiBMYXlvdXRSZWN0IFJlbmRlclRhYmxlUm93
OjpjbGlwcGVkT3ZlcmZsb3dSZWN0KGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIHJlcGFp
bnRDb250YWluZXIsIFZpc2libGVSZWN0Q29udGV4dCBjb250ZXh0KSBjb25zdAogewogICAgIEFT
U0VSVChwYXJlbnQoKSk7Ci0gICAgLy8gUm93cyBhbmQgY2VsbHMgYXJlIGluIHRoZSBzYW1lIGNv
b3JkaW5hdGUgc3BhY2UuIFdlIG5lZWQgdG8gYm90aCBjb21wdXRlIG91ciBvdmVyZmxvdyByZWN0
ICh3aGljaAorICAgIC8vIENlbGxzIGFyZSBpbiB0aGUgcm93J3MgY29vcmRpbmF0ZSBzcGFjZS4g
V2UgbmVlZCB0byBib3RoIGNvbXB1dGUgb3VyIG92ZXJmbG93IHJlY3QgKHdoaWNoCiAgICAgLy8g
d2lsbCBhY2NvbW1vZGF0ZSBhIHJvdyBvdXRsaW5lIGFuZCBhbnkgdmlzdWFsIGVmZmVjdHMgb24g
dGhlIHJvdyBpdHNlbGYpLCBidXQgd2UgYWxzbyBuZWVkIHRvIGFkZCBpbgogICAgIC8vIHRoZSBy
ZXBhaW50IHJlY3RzIG9mIGNlbGxzLgotICAgIGF1dG8gcmVzdWx0ID0gUmVuZGVyQm94OjpjbGlw
cGVkT3ZlcmZsb3dSZWN0KHJlcGFpbnRDb250YWluZXIsIGNvbnRleHQpOworICAgIGF1dG8gcmVz
dWx0ID0gUmVuZGVyQmxvY2s6OmNsaXBwZWRPdmVyZmxvd1JlY3QocmVwYWludENvbnRhaW5lciwg
Y29udGV4dCk7CiAgICAgZm9yIChhdXRvKiBjZWxsID0gZmlyc3RDZWxsKCk7IGNlbGw7IGNlbGwg
PSBjZWxsLT5uZXh0Q2VsbCgpKSB7CiAgICAgICAgIC8vIEV2ZW4gaWYgYSBjZWxsIGlzIGEgcmVw
YWludCBjb250YWluZXIsIGl0J3MgdGhlIHJvdyB0aGF0IHBhaW50cyB0aGUgYmFja2dyb3VuZCBi
ZWhpbmQgaXQuCiAgICAgICAgIC8vIFNvIHdlIGRvbid0IGNhcmUgaWYgYSBjZWxsIGlzIGEgcmVw
YWludENvbnRhaW5lciBoZXJlLgpAQCAtMjE4LDEzICsyMTYsMTQgQEAgYm9vbCBSZW5kZXJUYWJs
ZVJvdzo6bm9kZUF0UG9pbnQoY29uc3QgSGl0VGVzdFJlcXVlc3QmIHJlcXVlc3QsIEhpdFRlc3RS
ZXN1bHQmIHIKICAgICBpZiAoIXNlY3Rpb24pCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAorICAg
IGF1dG8gYWRqdXN0ZWRPZmZzZXQgPSBhY2N1bXVsYXRlZE9mZnNldCArIGxvY2F0aW9uKCk7CiAg
ICAgZm9yIChSZW5kZXJUYWJsZUNlbGwqIGNlbGwgPSBsYXN0Q2VsbCgpOyBjZWxsOyBjZWxsID0g
Y2VsbC0+cHJldmlvdXNDZWxsKCkpIHsKICAgICAgICAgLy8gRklYTUU6IFdlIGhhdmUgdG8gc2tp
cCBvdmVyIGlubGluZSBmbG93cywgc2luY2UgdGhleSBjYW4gc2hvdyB1cCBpbnNpZGUgdGFibGUg
cm93cwogICAgICAgICAvLyBhdCB0aGUgbW9tZW50IChhIGRlbW90ZWQgaW5saW5lIDxmb3JtPiBm
b3IgZXhhbXBsZSkuIElmIHdlIGV2ZXIgaW1wbGVtZW50IGEKICAgICAgICAgLy8gdGFibGUtc3Bl
Y2lmaWMgaGl0LXRlc3QgbWV0aG9kICh3aGljaCB3ZSBzaG91bGQgZG8gZm9yIHBlcmZvcm1hbmNl
IHJlYXNvbnMgYW55d2F5KSwKICAgICAgICAgLy8gdGhlbiB3ZSBjYW4gcmVtb3ZlIHRoaXMgY2hl
Y2suCiAgICAgICAgIGlmICghY2VsbC0+aGFzU2VsZlBhaW50aW5nTGF5ZXIoKSkgewotICAgICAg
ICAgICAgYXV0byBjZWxsUG9pbnQgPSBzZWN0aW9uLT5mbGlwRm9yV3JpdGluZ01vZGVGb3JDaGls
ZCgqY2VsbCwgYWNjdW11bGF0ZWRPZmZzZXQpOworICAgICAgICAgICAgYXV0byBjZWxsUG9pbnQg
PSBmbGlwRm9yV3JpdGluZ01vZGVGb3JDaGlsZCgqY2VsbCwgYWRqdXN0ZWRPZmZzZXQpOwogICAg
ICAgICAgICAgaWYgKGNlbGwtPm5vZGVBdFBvaW50KHJlcXVlc3QsIHJlc3VsdCwgbG9jYXRpb25J
bkNvbnRhaW5lciwgY2VsbFBvaW50LCBhY3Rpb24pKSB7CiAgICAgICAgICAgICAgICAgdXBkYXRl
SGl0VGVzdFJlc3VsdChyZXN1bHQsIGxvY2F0aW9uSW5Db250YWluZXIucG9pbnQoKSAtIHRvTGF5
b3V0U2l6ZShjZWxsUG9pbnQpKTsKICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKQEAgLTI2
MSwxOSArMjYwLDI4IEBAIHZvaWQgUmVuZGVyVGFibGVSb3c6OnBhaW50KFBhaW50SW5mbyYgcGFp
bnRJbmZvLCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZmZzZXQpCiB7CiAgICAgQVNTRVJUKGhh
c1NlbGZQYWludGluZ0xheWVyKCkpOwogCisgICAgYXV0byBhZGp1c3RlZFBhaW50T2Zmc2V0ID0g
cGFpbnRPZmZzZXQgKyBsb2NhdGlvbigpOworCiAgICAgaWYgKHBhaW50SW5mby5waGFzZSA9PSBQ
YWludFBoYXNlOjpBY2Nlc3NpYmlsaXR5KSB7CiAgICAgICAgIGlmIChhdXRvKiBjb250ZXh0ID0g
cGFpbnRJbmZvLmFjY2Vzc2liaWxpdHlSZWdpb25Db250ZXh0KCkpCi0gICAgICAgICAgICBjb250
ZXh0LT50YWtlQm91bmRzKCp0aGlzLCBwYWludE9mZnNldCArIGxvY2F0aW9uKCkpOworICAgICAg
ICAgICAgY29udGV4dC0+dGFrZUJvdW5kcygqdGhpcywgYWRqdXN0ZWRQYWludE9mZnNldCk7CiAg
ICAgfQogCiAgICAgcGFpbnRPdXRsaW5lRm9yUm93SWZOZWVkZWQocGFpbnRJbmZvLCBwYWludE9m
ZnNldCk7CiAgICAgZm9yIChSZW5kZXJUYWJsZUNlbGwqIGNlbGwgPSBmaXJzdENlbGwoKTsgY2Vs
bDsgY2VsbCA9IGNlbGwtPm5leHRDZWxsKCkpIHsKICAgICAgICAgLy8gUGFpbnQgdGhlIHJvdyBi
YWNrZ3JvdW5kIGJlaGluZCB0aGUgY2VsbC4KICAgICAgICAgaWYgKHBhaW50SW5mby5waGFzZSA9
PSBQYWludFBoYXNlOjpCbG9ja0JhY2tncm91bmQgfHwgcGFpbnRJbmZvLnBoYXNlID09IFBhaW50
UGhhc2U6OkNoaWxkQmxvY2tCYWNrZ3JvdW5kKQotICAgICAgICAgICAgY2VsbC0+cGFpbnRCYWNr
Z3JvdW5kc0JlaGluZENlbGwocGFpbnRJbmZvLCBwYWludE9mZnNldCwgdGhpcywgcGFpbnRPZmZz
ZXQpOworICAgICAgICAgICAgY2VsbC0+cGFpbnRCYWNrZ3JvdW5kc0JlaGluZENlbGwocGFpbnRJ
bmZvLCBhZGp1c3RlZFBhaW50T2Zmc2V0LCB0aGlzLCBwYWludE9mZnNldCk7CiAgICAgICAgIGlm
ICghY2VsbC0+aGFzU2VsZlBhaW50aW5nTGF5ZXIoKSkKLSAgICAgICAgICAgIGNlbGwtPnBhaW50
KHBhaW50SW5mbywgcGFpbnRPZmZzZXQpOworICAgICAgICAgICAgY2VsbC0+cGFpbnQocGFpbnRJ
bmZvLCBhZGp1c3RlZFBhaW50T2Zmc2V0KTsKICAgICB9CisKKyAgICAvLyBXaGVuIHRoZSByb3cg
aGFzIGEgc2VsZi1wYWludGluZyBsYXllciAocG9zaXRpb246IHJlbGF0aXZlKSwgY29sbGFwc2Vk
CisgICAgLy8gYm9yZGVycyBtdXN0IGJlIHBhaW50ZWQgaGVyZSBhZnRlciBjZWxsIGJhY2tncm91
bmRzLiBPdGhlcndpc2UgdGhlIGNlbGwKKyAgICAvLyBiYWNrZ3JvdW5kIChpbiB0aGlzIGxheWVy
KSBjb3ZlcnMgdGhlIGlubmVyIGhhbGYgb2YgdGhlIGJvcmRlciAocGFpbnRlZAorICAgIC8vIGJ5
IHRoZSB0YWJsZSdzIGxheWVyKS4KKyAgICBpZiAoQ2hlY2tlZFB0ciB0YWJsZSA9IHRoaXMtPnRh
YmxlKCk7IHRhYmxlICYmIHRhYmxlLT5jb2xsYXBzZUJvcmRlcnMoKSAmJiBwYWludEluZm8ucGhh
c2UgPT0gUGFpbnRQaGFzZTo6Q2hpbGRCbG9ja0JhY2tncm91bmRzKQorICAgICAgICB0YWJsZS0+
cGFpbnRDb2xsYXBzZWRCb3JkZXJzRm9yUm93KHBhaW50SW5mbywgKnRoaXMsIGFkanVzdGVkUGFp
bnRPZmZzZXQpOwogfQogCiB2b2lkIFJlbmRlclRhYmxlUm93OjppbWFnZUNoYW5nZWQoV3JhcHBl
ZEltYWdlUHRyLCBjb25zdCBJbnRSZWN0KikKQEAgLTI4Niw3ICsyOTQsNyBAQCB2b2lkIFJlbmRl
clRhYmxlUm93OjppbWFnZUNoYW5nZWQoV3JhcHBlZEltYWdlUHRyLCBjb25zdCBJbnRSZWN0KikK
IAogYm9vbCBSZW5kZXJUYWJsZVJvdzo6cmVxdWlyZXNMYXllcigpIGNvbnN0CiB7Ci0gICAgcmV0
dXJuIGhhc05vblZpc2libGVPdmVyZmxvdygpIHx8IGhhc1RyYW5zZm9ybVJlbGF0ZWRQcm9wZXJ0
eSgpIHx8IGhhc0hpZGRlbkJhY2tmYWNlKCkgfHwgaGFzQ2xpcFBhdGgoKSB8fCBjcmVhdGVzR3Jv
dXAoKSB8fCBpc1N0aWNraWx5UG9zaXRpb25lZCgpIHx8IHJlcXVpcmVzUmVuZGVyaW5nQ29uc29s
aWRhdGlvbkZvclZpZXdUcmFuc2l0aW9uKCk7CisgICAgcmV0dXJuIGlzUG9zaXRpb25lZCgpIHx8
IGhhc05vblZpc2libGVPdmVyZmxvdygpIHx8IGhhc1RyYW5zZm9ybVJlbGF0ZWRQcm9wZXJ0eSgp
IHx8IGhhc0hpZGRlbkJhY2tmYWNlKCkgfHwgaGFzQ2xpcFBhdGgoKSB8fCBjcmVhdGVzR3JvdXAo
KSB8fCBpc1N0aWNraWx5UG9zaXRpb25lZCgpIHx8IHJlcXVpcmVzUmVuZGVyaW5nQ29uc29saWRh
dGlvbkZvclZpZXdUcmFuc2l0aW9uKCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVJvdy5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlUm93LmgKaW5kZXggZTczYzY1ZGZhYjlk
Li42YzJiM2FkMGZmNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUYWJsZVJvdy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVJv
dy5oCkBAIC0yNSw2ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAiUmVuZGVy
QmxvY2suaCIKICNpbmNsdWRlICJSZW5kZXJUYWJsZVNlY3Rpb24uaCIKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewpAQCAtMzIsNyArMzMsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBzdGF0aWMgY29u
c3QgdW5zaWduZWQgdW5zZXRSb3dJbmRleCA9IDB4N0ZGRkZGRkY7CiBzdGF0aWMgY29uc3QgdW5z
aWduZWQgbWF4Um93SW5kZXggPSAweDdGRkZGRkZFOyAvLyAyLDE0Nyw0ODMsNjQ2CiAKLWNsYXNz
IFJlbmRlclRhYmxlUm93IGZpbmFsIDogcHVibGljIFJlbmRlckJveCB7CitjbGFzcyBSZW5kZXJU
YWJsZVJvdyBmaW5hbCA6IHB1YmxpYyBSZW5kZXJCbG9jayB7CiAgICAgV1RGX01BS0VfVFpPTkVf
QUxMT0NBVEVEKFJlbmRlclRhYmxlUm93KTsKICAgICBXVEZfT1ZFUlJJREVfREVMRVRFX0ZPUl9D
SEVDS0VEX1BUUihSZW5kZXJUYWJsZVJvdyk7CiBwdWJsaWM6CkBAIC0xMTksMTIgKzEyMCwxMiBA
QCBpbmxpbmUgUmVuZGVyVGFibGUqIFJlbmRlclRhYmxlUm93Ojp0YWJsZSgpIGNvbnN0CiAKIGlu
bGluZSBSZW5kZXJUYWJsZVJvdyogUmVuZGVyVGFibGVSb3c6Om5leHRSb3coKSBjb25zdAogewot
ICAgIHJldHVybiBkb3duY2FzdDxSZW5kZXJUYWJsZVJvdz4oUmVuZGVyQm94OjpuZXh0U2libGlu
ZygpKTsKKyAgICByZXR1cm4gZG93bmNhc3Q8UmVuZGVyVGFibGVSb3c+KFJlbmRlckJsb2NrOjpu
ZXh0U2libGluZygpKTsKIH0KIAogaW5saW5lIFJlbmRlclRhYmxlUm93KiBSZW5kZXJUYWJsZVJv
dzo6cHJldmlvdXNSb3coKSBjb25zdAogewotICAgIHJldHVybiBkb3duY2FzdDxSZW5kZXJUYWJs
ZVJvdz4oUmVuZGVyQm94OjpwcmV2aW91c1NpYmxpbmcoKSk7CisgICAgcmV0dXJuIGRvd25jYXN0
PFJlbmRlclRhYmxlUm93PihSZW5kZXJCbG9jazo6cHJldmlvdXNTaWJsaW5nKCkpOwogfQogCiBp
bmxpbmUgUmVuZGVyVGFibGVSb3cqIFJlbmRlclRhYmxlU2VjdGlvbjo6Zmlyc3RSb3coKSBjb25z
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlv
bi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9uLmNwcApp
bmRleCA4YTYyOTc4Y2MzZjEuLjNkN2M0NTBlYWYzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5jcHAKQEAgLTU5NCw5MyArNTk0LDEwMSBAQCB2
b2lkIFJlbmRlclRhYmxlU2VjdGlvbjo6bGF5b3V0Um93cygpCiAgICAgTGF5b3V0U3RhdGVNYWlu
dGFpbmVyIHN0YXRlUHVzaGVyKCp0aGlzLCBsb2NhdGlvbk9mZnNldCgpLCBpc1RyYW5zZm9ybWVk
KCkgfHwgd3JpdGluZ01vZGUoKS5pc0Jsb2NrRmxpcHBlZCgpKTsKIAogICAgIGZvciAoc2l6ZV90
IHJvd0luZGV4ID0gMDsgcm93SW5kZXggPCBudW1iZXJPZlJvd3M7IHJvd0luZGV4KyspIHsKLSAg
ICAgICAgLy8gU2V0IHRoZSByb3cncyB4L3kgcG9zaXRpb24gYW5kIHdpZHRoL2hlaWdodC4KLSAg
ICAgICAgaWYgKFJlbmRlclRhYmxlUm93KiByb3dSZW5kZXJlciA9IG1fZ3JpZFtyb3dJbmRleF0u
cm93UmVuZGVyZXIpIHsKLSAgICAgICAgICAgIC8vIEZJWE1FOiB0aGUgeCgpIHBvc2l0aW9uIG9m
IHRoZSByb3cgc2hvdWxkIGJlIHRhYmxlKCktPmhCb3JkZXJTcGFjaW5nKCkgc28gdGhhdCBpdCBj
YW4gCi0gICAgICAgICAgICAvLyByZXBvcnQgdGhlIGNvcnJlY3Qgb2Zmc2V0TGVmdC4gSG93ZXZl
ciwgdGhhdCB3aWxsIHJlcXVpcmUgYSBsb3Qgb2YgcmViYXNlbGluaW5nIG9mIHRlc3QgcmVzdWx0
cy4KLSAgICAgICAgICAgIHJvd1JlbmRlcmVyLT5zZXRMb2dpY2FsTG9jYXRpb24oeyAwX2x1LCBt
X3Jvd1Bvc1tyb3dJbmRleF0gfSk7Ci0gICAgICAgICAgICByb3dSZW5kZXJlci0+c2V0TG9naWNh
bFdpZHRoKGxvZ2ljYWxXaWR0aCgpKTsKIAotICAgICAgICAgICAgTGF5b3V0VW5pdCByb3dMb2dp
Y2FsSGVpZ2h0OwotICAgICAgICAgICAgLy8gSWYgdGhlIHJvdyBpcyBjb2xsYXBzZWQgdGhlbiBp
dCBoYXMgMCBoZWlnaHQuIHZzcGFjaW5nIHdhcyBpbXBsaWNpdGx5Ci0gICAgICAgICAgICAvLyBy
ZW1vdmVkIGVhcmxpZXIsIHdoZW4gbV9yb3dQb3Nbcm93SW5kZXgrMV0gd2FzIHNldCB0byBtX3Jv
d1Bvc1tyb3dJbmRleF0uCi0gICAgICAgICAgICBhdXRvIHJvd0hhc1Zpc2liaWxpdHlDb2xsYXBz
ZSA9IFsmXShhdXRvIHJvdykgewotICAgICAgICAgICAgICAgIHJldHVybiAobV9ncmlkW3Jvd10u
cm93UmVuZGVyZXIgJiYgbV9ncmlkW3Jvd10ucm93UmVuZGVyZXItPnN0eWxlKCkudmlzaWJpbGl0
eSgpID09IFZpc2liaWxpdHk6OkNvbGxhcHNlKSB8fCBzdHlsZSgpLnZpc2liaWxpdHkoKSA9PSBW
aXNpYmlsaXR5OjpDb2xsYXBzZTsKLSAgICAgICAgICAgIH07Ci0gICAgICAgICAgICBpZiAoIXJv
d0hhc1Zpc2liaWxpdHlDb2xsYXBzZShyb3dJbmRleCkpCi0gICAgICAgICAgICAgICAgcm93TG9n
aWNhbEhlaWdodCA9IG1fcm93UG9zW3Jvd0luZGV4ICsgMV0gLSBtX3Jvd1Bvc1tyb3dJbmRleF0g
LSB2c3BhY2luZzsKKyAgICAgICAgYXV0byBsYXlvdXRDZWxscyA9IFsmXSB7CisgICAgICAgICAg
ICBMYXlvdXRVbml0IHJvd0hlaWdodEluY3JlYXNlRm9yUGFnaW5hdGlvbjsKIAotICAgICAgICAg
ICAgQVNTRVJUKHJvd0xvZ2ljYWxIZWlnaHQgPj0gMCk7Ci0gICAgICAgICAgICByb3dSZW5kZXJl
ci0+c2V0TG9naWNhbEhlaWdodChyb3dMb2dpY2FsSGVpZ2h0KTsKLSAgICAgICAgICAgIHJvd1Jl
bmRlcmVyLT51cGRhdGVMYXllclRyYW5zZm9ybSgpOwotICAgICAgICAgICAgcm93UmVuZGVyZXIt
PmNsZWFyT3ZlcmZsb3coKTsKLSAgICAgICAgICAgIHJvd1JlbmRlcmVyLT5hZGRWaXN1YWxFZmZl
Y3RPdmVyZmxvdygpOwotICAgICAgICB9CisgICAgICAgICAgICBmb3IgKHNpemVfdCBjb2x1bW5J
bmRleCA9IDA7IGNvbHVtbkluZGV4IDwgbnVtYmVyT2ZFZmZlY3RpdmVDb2x1bW5zOyBjb2x1bW5J
bmRleCsrKSB7CisgICAgICAgICAgICAgICAgQ2VsbFN0cnVjdCYgY3MgPSBjZWxsQXQocm93SW5k
ZXgsIGNvbHVtbkluZGV4KTsKKyAgICAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwqIGNlbGwg
PSBjcy5wcmltYXJ5Q2VsbCgpOwogCi0gICAgICAgIExheW91dFVuaXQgcm93SGVpZ2h0SW5jcmVh
c2VGb3JQYWdpbmF0aW9uOworICAgICAgICAgICAgICAgIGlmICghY2VsbCB8fCBjcy5pbkNvbFNw
YW4pCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAgIGZvciAoc2l6ZV90
IGNvbHVtbkluZGV4ID0gMDsgY29sdW1uSW5kZXggPCBudW1iZXJPZkVmZmVjdGl2ZUNvbHVtbnM7
IGNvbHVtbkluZGV4KyspIHsKLSAgICAgICAgICAgIENlbGxTdHJ1Y3QmIGNzID0gY2VsbEF0KHJv
d0luZGV4LCBjb2x1bW5JbmRleCk7Ci0gICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwqIGNlbGwg
PSBjcy5wcmltYXJ5Q2VsbCgpOworICAgICAgICAgICAgICAgIGludCByb3dJbmRleCA9IGNlbGwt
PnJvd0luZGV4KCk7CisgICAgICAgICAgICAgICAgYXV0byByb3dIZWlnaHQgPSBtX3Jvd1Bvc1ty
b3dJbmRleCArIGNlbGwtPnJvd1NwYW4oKV0gLSBtX3Jvd1Bvc1tyb3dJbmRleF0gLSB2c3BhY2lu
ZzsKIAotICAgICAgICAgICAgaWYgKCFjZWxsIHx8IGNzLmluQ29sU3BhbikKLSAgICAgICAgICAg
ICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICAgICByZWxheW91dENlbGxJZkZsZXhlZCgqY2Vs
bCwgcm93SW5kZXgsIHJvd0hlaWdodCk7CiAKLSAgICAgICAgICAgIGludCByb3dJbmRleCA9IGNl
bGwtPnJvd0luZGV4KCk7Ci0gICAgICAgICAgICBhdXRvIHJvd0hlaWdodCA9IG1fcm93UG9zW3Jv
d0luZGV4ICsgY2VsbC0+cm93U3BhbigpXSAtIG1fcm93UG9zW3Jvd0luZGV4XSAtIHZzcGFjaW5n
OworICAgICAgICAgICAgICAgIGF1dG8gbG9naWNhbEhlaWdodEZvckludHJpbnNpY1BhZGRpbmcg
PSAhY2VsbC0+aXNPcnRob2dvbmFsKCkgPyByb3dIZWlnaHQgOiBjZWxsTG9naWNhbFdpZHRoSW5U
YWJsZURpcmVjdGlvbkluY2x1ZGluZ0NvbHVtblNwYW4oKmNlbGwsIGNvbHVtbkluZGV4LCBudW1i
ZXJPZkVmZmVjdGl2ZUNvbHVtbnMpOworICAgICAgICAgICAgICAgIGlmIChjZWxsLT5jb21wdXRl
SW50cmluc2ljUGFkZGluZyhsb2dpY2FsSGVpZ2h0Rm9ySW50cmluc2ljUGFkZGluZykpIHsKKyAg
ICAgICAgICAgICAgICAgICAgLy8gRklYTUU6IENoYW5naW5nIGFuIGludHJpbnNpYyBwYWRkaW5n
IHNob3VsZG4ndCB0cmlnZ2VyIGEgcmVsYXlvdXQgYXMgaXQgb25seSBzaGlmdHMgdGhlIGNlbGwg
aW5zaWRlIHRoZSByb3cgYnV0IGRvZXNuJ3QgY2hhbmdlIHRoZSBsb2dpY2FsIGhlaWdodC4KKyAg
ICAgICAgICAgICAgICAgICAgY2VsbC0+c2V0Q2hpbGROZWVkc0xheW91dChNYXJrT25seVRoaXMp
OworICAgICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgcmVsYXlvdXRDZWxsSWZGbGV4ZWQo
KmNlbGwsIHJvd0luZGV4LCByb3dIZWlnaHQpOworICAgICAgICAgICAgICAgIExheW91dFJlY3Qg
b2xkQ2VsbFJlY3QgPSBjZWxsLT5mcmFtZVJlY3QoKTsKIAotICAgICAgICAgICAgYXV0byBsb2dp
Y2FsSGVpZ2h0Rm9ySW50cmluc2ljUGFkZGluZyA9ICFjZWxsLT5pc09ydGhvZ29uYWwoKSA/IHJv
d0hlaWdodCA6IGNlbGxMb2dpY2FsV2lkdGhJblRhYmxlRGlyZWN0aW9uSW5jbHVkaW5nQ29sdW1u
U3BhbigqY2VsbCwgY29sdW1uSW5kZXgsIG51bWJlck9mRWZmZWN0aXZlQ29sdW1ucyk7Ci0gICAg
ICAgICAgICBpZiAoY2VsbC0+Y29tcHV0ZUludHJpbnNpY1BhZGRpbmcobG9naWNhbEhlaWdodEZv
ckludHJpbnNpY1BhZGRpbmcpKSB7Ci0gICAgICAgICAgICAgICAgLy8gRklYTUU6IENoYW5naW5n
IGFuIGludHJpbnNpYyBwYWRkaW5nIHNob3VsZG4ndCB0cmlnZ2VyIGEgcmVsYXlvdXQgYXMgaXQg
b25seSBzaGlmdHMgdGhlIGNlbGwgaW5zaWRlIHRoZSByb3cgYnV0IGRvZXNuJ3QgY2hhbmdlIHRo
ZSBsb2dpY2FsIGhlaWdodC4KLSAgICAgICAgICAgICAgICBjZWxsLT5zZXRDaGlsZE5lZWRzTGF5
b3V0KE1hcmtPbmx5VGhpcyk7Ci0gICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgc2V0TG9n
aWNhbFBvc2l0aW9uRm9yQ2VsbChjZWxsLCBjb2x1bW5JbmRleCk7CiAKLSAgICAgICAgICAgIExh
eW91dFJlY3Qgb2xkQ2VsbFJlY3QgPSBjZWxsLT5mcmFtZVJlY3QoKTsKKyAgICAgICAgICAgICAg
ICBhdXRvKiBsYXlvdXRTdGF0ZSA9IHZpZXcoKS5mcmFtZVZpZXcoKS5sYXlvdXRDb250ZXh0KCku
bGF5b3V0U3RhdGUoKTsKKyAgICAgICAgICAgICAgICBpZiAoIWNlbGwtPm5lZWRzTGF5b3V0KCkg
JiYgbGF5b3V0U3RhdGUtPnBhZ2VMb2dpY2FsSGVpZ2h0KCkgJiYgbGF5b3V0U3RhdGUtPnBhZ2VM
b2dpY2FsT2Zmc2V0KGNlbGwsIGNlbGwtPmxvZ2ljYWxUb3AoKSkgIT0gY2VsbC0+cGFnZUxvZ2lj
YWxPZmZzZXQoKSkKKyAgICAgICAgICAgICAgICAgICAgY2VsbC0+c2V0Q2hpbGROZWVkc0xheW91
dChNYXJrT25seVRoaXMpOwogCi0gICAgICAgICAgICBzZXRMb2dpY2FsUG9zaXRpb25Gb3JDZWxs
KGNlbGwsIGNvbHVtbkluZGV4KTsKKyAgICAgICAgICAgICAgICBpZiAoY2VsbC0+aXNPcnRob2dv
bmFsKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgY2VsbC0+c2V0TmVlZHNMYXlvdXQoTWFya09u
bHlUaGlzKTsKKyAgICAgICAgICAgICAgICAgICAgY2VsbC0+c2V0T3ZlcnJpZGluZ0JvcmRlckJv
eExvZ2ljYWxXaWR0aChyb3dIZWlnaHQpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
ICAgICBjZWxsLT5sYXlvdXRJZk5lZWRlZCgpOworCisgICAgICAgICAgICAgICAgLy8gRklYTUU6
IE1ha2UgcGFnaW5hdGlvbiB3b3JrIHdpdGggdmVydGljYWwgdGFibGVzLgorICAgICAgICAgICAg
ICAgIGlmIChsYXlvdXRTdGF0ZS0+cGFnZUxvZ2ljYWxIZWlnaHQoKSAmJiBjZWxsLT5sb2dpY2Fs
SGVpZ2h0KCkgIT0gcm93SGVpZ2h0KSB7CisgICAgICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBQ
YWdpbmF0aW9uIG1pZ2h0IGhhdmUgbWFkZSB1cyBjaGFuZ2Ugc2l6ZS4gRm9yIG5vdyBqdXN0IHNo
cmluayBvciBncm93IHRoZSBjZWxsIHRvIGZpdCB3aXRob3V0IGRvaW5nIGEgcmVsYXlvdXQuCisg
ICAgICAgICAgICAgICAgICAgIC8vIFdlJ2xsIGFsc28gZG8gYSBiYXNpYyBpbmNyZWFzZSBvZiB0
aGUgcm93IGhlaWdodCB0byBhY2NvbW1vZGF0ZSB0aGUgY2VsbCBpZiBpdCdzIGJpZ2dlciwgYnV0
IHRoaXMgaXNuJ3QgcXVpdGUgcmlnaHQKKyAgICAgICAgICAgICAgICAgICAgLy8gZWl0aGVyLiBJ
dCdzIGF0IGxlYXN0IHN0YWJsZSB0aG91Z2ggYW5kIHdvbid0IHJlc3VsdCBpbiBhbiBpbmZpbml0
ZSAjIG9mIHJlbGF5b3V0cyB0aGF0IG1heSBuZXZlciBzdGFiaWxpemUuCisgICAgICAgICAgICAg
ICAgICAgIGlmIChjZWxsLT5sb2dpY2FsSGVpZ2h0KCkgPiByb3dIZWlnaHQpCisgICAgICAgICAg
ICAgICAgICAgICAgICByb3dIZWlnaHRJbmNyZWFzZUZvclBhZ2luYXRpb24gPSBzdGQ6Om1heChy
b3dIZWlnaHRJbmNyZWFzZUZvclBhZ2luYXRpb24sIGNlbGwtPmxvZ2ljYWxIZWlnaHQoKSAtIHJv
d0hlaWdodCk7CisgICAgICAgICAgICAgICAgICAgIGNlbGwtPnNldExvZ2ljYWxIZWlnaHQocm93
SGVpZ2h0KTsKKyAgICAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIGF1dG8qIGxheW91dFN0
YXRlID0gdmlldygpLmZyYW1lVmlldygpLmxheW91dENvbnRleHQoKS5sYXlvdXRTdGF0ZSgpOwot
ICAgICAgICAgICAgaWYgKCFjZWxsLT5uZWVkc0xheW91dCgpICYmIGxheW91dFN0YXRlLT5wYWdl
TG9naWNhbEhlaWdodCgpICYmIGxheW91dFN0YXRlLT5wYWdlTG9naWNhbE9mZnNldChjZWxsLCBj
ZWxsLT5sb2dpY2FsVG9wKCkpICE9IGNlbGwtPnBhZ2VMb2dpY2FsT2Zmc2V0KCkpCi0gICAgICAg
ICAgICAgICAgY2VsbC0+c2V0Q2hpbGROZWVkc0xheW91dChNYXJrT25seVRoaXMpOworICAgICAg
ICAgICAgICAgIExheW91dFNpemUgY2hpbGRPZmZzZXQoY2VsbC0+bG9jYXRpb24oKSAtIG9sZENl
bGxSZWN0LmxvY2F0aW9uKCkpOworICAgICAgICAgICAgICAgIGlmIChjaGlsZE9mZnNldC53aWR0
aCgpIHx8IGNoaWxkT2Zmc2V0LmhlaWdodCgpKSB7CisgICAgICAgICAgICAgICAgICAgIHZpZXco
KS5mcmFtZVZpZXcoKS5sYXlvdXRDb250ZXh0KCkuYWRkTGF5b3V0RGVsdGEoY2hpbGRPZmZzZXQp
OwogCi0gICAgICAgICAgICBpZiAoY2VsbC0+aXNPcnRob2dvbmFsKCkpIHsKLSAgICAgICAgICAg
ICAgICBjZWxsLT5zZXROZWVkc0xheW91dChNYXJrT25seVRoaXMpOwotICAgICAgICAgICAgICAg
IGNlbGwtPnNldE92ZXJyaWRpbmdCb3JkZXJCb3hMb2dpY2FsV2lkdGgocm93SGVpZ2h0KTsKKyAg
ICAgICAgICAgICAgICAgICAgLy8gSWYgdGhlIGNoaWxkIG1vdmVkLCB3ZSBoYXZlIHRvIHJlcGFp
bnQgaXQgYXMgd2VsbCBhcyBhbnkgZmxvYXRpbmcvcG9zaXRpb25lZAorICAgICAgICAgICAgICAg
ICAgICAvLyBkZXNjZW5kYW50cy4gQW4gZXhjZXB0aW9uIGlzIGlmIHdlIG5lZWQgYSBsYXlvdXQu
IEluIHRoaXMgY2FzZSwgd2Uga25vdyB3ZSdyZSBnb2luZyB0bworICAgICAgICAgICAgICAgICAg
ICAvLyByZXBhaW50IG91cnNlbHZlcyAoYW5kIHRoZSBjaGlsZCkgYW55d2F5LgorICAgICAgICAg
ICAgICAgICAgICBpZiAoIXRhYmxlKCktPnNlbGZOZWVkc0xheW91dCgpICYmIGNlbGwtPmNoZWNr
Rm9yUmVwYWludER1cmluZ0xheW91dCgpKQorICAgICAgICAgICAgICAgICAgICAgICAgY2VsbC0+
cmVwYWludER1cmluZ0xheW91dElmTW92ZWQob2xkQ2VsbFJlY3QpOworICAgICAgICAgICAgICAg
IH0KICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGNlbGwtPmxheW91dElmTmVlZGVkKCk7Ci0K
LSAgICAgICAgICAgIC8vIEZJWE1FOiBNYWtlIHBhZ2luYXRpb24gd29yayB3aXRoIHZlcnRpY2Fs
IHRhYmxlcy4KLSAgICAgICAgICAgIGlmIChsYXlvdXRTdGF0ZS0+cGFnZUxvZ2ljYWxIZWlnaHQo
KSAmJiBjZWxsLT5sb2dpY2FsSGVpZ2h0KCkgIT0gcm93SGVpZ2h0KSB7Ci0gICAgICAgICAgICAg
ICAgLy8gRklYTUU6IFBhZ2luYXRpb24gbWlnaHQgaGF2ZSBtYWRlIHVzIGNoYW5nZSBzaXplLiBG
b3Igbm93IGp1c3Qgc2hyaW5rIG9yIGdyb3cgdGhlIGNlbGwgdG8gZml0IHdpdGhvdXQgZG9pbmcg
YSByZWxheW91dC4KLSAgICAgICAgICAgICAgICAvLyBXZSdsbCBhbHNvIGRvIGEgYmFzaWMgaW5j
cmVhc2Ugb2YgdGhlIHJvdyBoZWlnaHQgdG8gYWNjb21tb2RhdGUgdGhlIGNlbGwgaWYgaXQncyBi
aWdnZXIsIGJ1dCB0aGlzIGlzbid0IHF1aXRlIHJpZ2h0Ci0gICAgICAgICAgICAgICAgLy8gZWl0
aGVyLiBJdCdzIGF0IGxlYXN0IHN0YWJsZSB0aG91Z2ggYW5kIHdvbid0IHJlc3VsdCBpbiBhbiBp
bmZpbml0ZSAjIG9mIHJlbGF5b3V0cyB0aGF0IG1heSBuZXZlciBzdGFiaWxpemUuCi0gICAgICAg
ICAgICAgICAgaWYgKGNlbGwtPmxvZ2ljYWxIZWlnaHQoKSA+IHJvd0hlaWdodCkKLSAgICAgICAg
ICAgICAgICAgICAgcm93SGVpZ2h0SW5jcmVhc2VGb3JQYWdpbmF0aW9uID0gc3RkOjptYXgocm93
SGVpZ2h0SW5jcmVhc2VGb3JQYWdpbmF0aW9uLCBjZWxsLT5sb2dpY2FsSGVpZ2h0KCkgLSByb3dI
ZWlnaHQpOwotICAgICAgICAgICAgICAgIGNlbGwtPnNldExvZ2ljYWxIZWlnaHQocm93SGVpZ2h0
KTsKKyAgICAgICAgICAgIGlmIChyb3dIZWlnaHRJbmNyZWFzZUZvclBhZ2luYXRpb24pIHsKKyAg
ICAgICAgICAgICAgICBmb3IgKHNpemVfdCBpbmRleCA9IHJvd0luZGV4ICsgMTsgaW5kZXggPD0g
bnVtYmVyT2ZSb3dzOyArK2luZGV4KQorICAgICAgICAgICAgICAgICAgICBtX3Jvd1Bvc1tpbmRl
eF0gKz0gcm93SGVpZ2h0SW5jcmVhc2VGb3JQYWdpbmF0aW9uOworICAgICAgICAgICAgICAgIGZv
ciAoc2l6ZV90IGluZGV4ID0gMDsgaW5kZXggPCBudW1iZXJPZkVmZmVjdGl2ZUNvbHVtbnM7ICsr
aW5kZXgpIHsKKyAgICAgICAgICAgICAgICAgICAgVmVjdG9yPFJlbmRlclRhYmxlQ2VsbCosIDE+
JiBjZWxscyA9IGNlbGxBdChyb3dJbmRleCwgaW5kZXgpLmNlbGxzOworICAgICAgICAgICAgICAg
ICAgICBmb3IgKHNpemVfdCBjZWxsSW5kZXggPSAwOyBjZWxsSW5kZXggPCBjZWxscy5zaXplKCk7
ICsrY2VsbEluZGV4KQorICAgICAgICAgICAgICAgICAgICAgICAgY2VsbHNbY2VsbEluZGV4XS0+
c2V0TG9naWNhbEhlaWdodChjZWxsc1tjZWxsSW5kZXhdLT5sb2dpY2FsSGVpZ2h0KCkgKyByb3dI
ZWlnaHRJbmNyZWFzZUZvclBhZ2luYXRpb24pOworICAgICAgICAgICAgICAgIH0KICAgICAgICAg
ICAgIH0KKyAgICAgICAgfTsKIAotICAgICAgICAgICAgTGF5b3V0U2l6ZSBjaGlsZE9mZnNldChj
ZWxsLT5sb2NhdGlvbigpIC0gb2xkQ2VsbFJlY3QubG9jYXRpb24oKSk7Ci0gICAgICAgICAgICBp
ZiAoY2hpbGRPZmZzZXQud2lkdGgoKSB8fCBjaGlsZE9mZnNldC5oZWlnaHQoKSkgewotICAgICAg
ICAgICAgICAgIHZpZXcoKS5mcmFtZVZpZXcoKS5sYXlvdXRDb250ZXh0KCkuYWRkTGF5b3V0RGVs
dGEoY2hpbGRPZmZzZXQpOworICAgICAgICBpZiAoQ2hlY2tlZFB0ciByb3dSZW5kZXJlciA9IG1f
Z3JpZFtyb3dJbmRleF0ucm93UmVuZGVyZXIpIHsKKyAgICAgICAgICAgIC8vIEZJWE1FOiB0aGUg
eCgpIHBvc2l0aW9uIG9mIHRoZSByb3cgc2hvdWxkIGJlIHRhYmxlKCktPmhCb3JkZXJTcGFjaW5n
KCkgc28gdGhhdCBpdCBjYW4KKyAgICAgICAgICAgIC8vIHJlcG9ydCB0aGUgY29ycmVjdCBvZmZz
ZXRMZWZ0LiBIb3dldmVyLCB0aGF0IHdpbGwgcmVxdWlyZSBhIGxvdCBvZiByZWJhc2VsaW5pbmcg
b2YgdGVzdCByZXN1bHRzLgorICAgICAgICAgICAgcm93UmVuZGVyZXItPnNldExvZ2ljYWxMb2Nh
dGlvbih7IDBfbHUsIG1fcm93UG9zW3Jvd0luZGV4XSB9KTsKKyAgICAgICAgICAgIHJvd1JlbmRl
cmVyLT5zZXRMb2dpY2FsV2lkdGgobG9naWNhbFdpZHRoKCkpOwogCi0gICAgICAgICAgICAgICAg
Ly8gSWYgdGhlIGNoaWxkIG1vdmVkLCB3ZSBoYXZlIHRvIHJlcGFpbnQgaXQgYXMgd2VsbCBhcyBh
bnkgZmxvYXRpbmcvcG9zaXRpb25lZAotICAgICAgICAgICAgICAgIC8vIGRlc2NlbmRhbnRzLiAg
QW4gZXhjZXB0aW9uIGlzIGlmIHdlIG5lZWQgYSBsYXlvdXQuICBJbiB0aGlzIGNhc2UsIHdlIGtu
b3cgd2UncmUgZ29pbmcgdG8KLSAgICAgICAgICAgICAgICAvLyByZXBhaW50IG91cnNlbHZlcyAo
YW5kIHRoZSBjaGlsZCkgYW55d2F5LgotICAgICAgICAgICAgICAgIGlmICghdGFibGUoKS0+c2Vs
Zk5lZWRzTGF5b3V0KCkgJiYgY2VsbC0+Y2hlY2tGb3JSZXBhaW50RHVyaW5nTGF5b3V0KCkpCi0g
ICAgICAgICAgICAgICAgICAgIGNlbGwtPnJlcGFpbnREdXJpbmdMYXlvdXRJZk1vdmVkKG9sZENl
bGxSZWN0KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgICBpZiAocm93SGVpZ2h0
SW5jcmVhc2VGb3JQYWdpbmF0aW9uKSB7Ci0gICAgICAgICAgICBmb3IgKHNpemVfdCBpbmRleCA9
IHJvd0luZGV4ICsgMTsgaW5kZXggPD0gbnVtYmVyT2ZSb3dzOyArK2luZGV4KQotICAgICAgICAg
ICAgICAgIG1fcm93UG9zW2luZGV4XSArPSByb3dIZWlnaHRJbmNyZWFzZUZvclBhZ2luYXRpb247
Ci0gICAgICAgICAgICBmb3IgKHNpemVfdCBpbmRleCA9IDA7IGluZGV4IDwgbnVtYmVyT2ZFZmZl
Y3RpdmVDb2x1bW5zOyArK2luZGV4KSB7Ci0gICAgICAgICAgICAgICAgVmVjdG9yPFJlbmRlclRh
YmxlQ2VsbCosIDE+JiBjZWxscyA9IGNlbGxBdChyb3dJbmRleCwgaW5kZXgpLmNlbGxzOwotICAg
ICAgICAgICAgICAgIGZvciAoc2l6ZV90IGNlbGxJbmRleCA9IDA7IGNlbGxJbmRleCA8IGNlbGxz
LnNpemUoKTsgKytjZWxsSW5kZXgpCi0gICAgICAgICAgICAgICAgICAgIGNlbGxzW2NlbGxJbmRl
eF0tPnNldExvZ2ljYWxIZWlnaHQoY2VsbHNbY2VsbEluZGV4XS0+bG9naWNhbEhlaWdodCgpICsg
cm93SGVpZ2h0SW5jcmVhc2VGb3JQYWdpbmF0aW9uKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAg
fQorICAgICAgICAgICAgTGF5b3V0VW5pdCByb3dMb2dpY2FsSGVpZ2h0OworICAgICAgICAgICAg
YXV0byByb3dIYXNWaXNpYmlsaXR5Q29sbGFwc2UgPSAobV9ncmlkW3Jvd0luZGV4XS5yb3dSZW5k
ZXJlciAmJiBtX2dyaWRbcm93SW5kZXhdLnJvd1JlbmRlcmVyLT5zdHlsZSgpLnZpc2liaWxpdHko
KSA9PSBWaXNpYmlsaXR5OjpDb2xsYXBzZSkgfHwgc3R5bGUoKS52aXNpYmlsaXR5KCkgPT0gVmlz
aWJpbGl0eTo6Q29sbGFwc2U7CisgICAgICAgICAgICBpZiAoIXJvd0hhc1Zpc2liaWxpdHlDb2xs
YXBzZSkKKyAgICAgICAgICAgICAgICByb3dMb2dpY2FsSGVpZ2h0ID0gbV9yb3dQb3Nbcm93SW5k
ZXggKyAxXSAtIG1fcm93UG9zW3Jvd0luZGV4XSAtIHZzcGFjaW5nOworCisgICAgICAgICAgICBB
U1NFUlQocm93TG9naWNhbEhlaWdodCA+PSAwKTsKKyAgICAgICAgICAgIHJvd1JlbmRlcmVyLT5z
ZXRMb2dpY2FsSGVpZ2h0KHJvd0xvZ2ljYWxIZWlnaHQpOworICAgICAgICAgICAgcm93UmVuZGVy
ZXItPnVwZGF0ZUxheWVyVHJhbnNmb3JtKCk7CisKKyAgICAgICAgICAgIC8vIFB1c2ggdGhlIHJv
dydzIG9mZnNldCBvbnRvIHRoZSBsYXlvdXQgc3RhdGUgc28gdGhhdCBwYWdpbmF0aW9uIG9mZnNl
dHMKKyAgICAgICAgICAgIC8vIGFyZSBjb25zaXN0ZW50IHdpdGggd2hhdCBSZW5kZXJUYWJsZVJv
dzo6bGF5b3V0KCkgcHVzaGVzLgorICAgICAgICAgICAgTGF5b3V0U3RhdGVNYWludGFpbmVyIHJv
d1N0YXRlUHVzaGVyKCpyb3dSZW5kZXJlciwgcm93UmVuZGVyZXItPmxvY2F0aW9uT2Zmc2V0KCkp
OworICAgICAgICAgICAgbGF5b3V0Q2VsbHMoKTsKKworICAgICAgICAgICAgcm93UmVuZGVyZXIt
PmNsZWFyT3ZlcmZsb3coKTsKKyAgICAgICAgICAgIHJvd1JlbmRlcmVyLT5hZGRWaXN1YWxFZmZl
Y3RPdmVyZmxvdygpOworICAgICAgICAgICAgcm93UmVuZGVyZXItPmFkZE92ZXJmbG93RnJvbUlu
Rmxvd0NoaWxkcmVuKCk7CisgICAgICAgICAgICByb3dSZW5kZXJlci0+bGF5b3V0T3V0T2ZGbG93
Qm94ZXMoUmVsYXlvdXRDaGlsZHJlbjo6WWVzKTsKKyAgICAgICAgICAgIHJvd1JlbmRlcmVyLT5j
bGVhck5lZWRzTGF5b3V0KCk7CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgbGF5b3V0Q2Vs
bHMoKTsKICAgICB9CiAKICAgICBBU1NFUlQoIW5lZWRzTGF5b3V0KCkpOwpAQCAtNzI3LDggKzcz
NSwxMSBAQCB2b2lkIFJlbmRlclRhYmxlU2VjdGlvbjo6Y29tcHV0ZU92ZXJmbG93RnJvbUNlbGxz
KHVuc2lnbmVkIHRvdGFsUm93cywgdW5zaWduZWQgbgogI2lmIEFTU0VSVF9FTkFCTEVECiAgICAg
Ym9vbCBoYXNPdmVyZmxvd2luZ0NlbGwgPSBmYWxzZTsKICNlbmRpZgotICAgIC8vIE5vdyB0aGF0
IG91ciBoZWlnaHQgaGFzIGJlZW4gZGV0ZXJtaW5lZCwgYWRkIGluIG92ZXJmbG93IGZyb20gY2Vs
bHMuCisgICAgLy8gTm93IHRoYXQgb3VyIGhlaWdodCBoYXMgYmVlbiBkZXRlcm1pbmVkLCBhZGQg
aW4gb3ZlcmZsb3cgZnJvbSByb3dzICh3aGljaAorICAgIC8vIGFscmVhZHkgaW5jbHVkZSBjZWxs
IG92ZXJmbG93IGZyb20gYWRkT3ZlcmZsb3dGcm9tSW5GbG93Q2hpbGRyZW4gaW4gbGF5b3V0Um93
cykuCiAgICAgZm9yICh1bnNpZ25lZCByID0gMDsgciA8IHRvdGFsUm93czsgcisrKSB7CisgICAg
ICAgIGlmIChDaGVja2VkUHRyIHJvdyA9IG1fZ3JpZFtyXS5yb3dSZW5kZXJlcikKKyAgICAgICAg
ICAgIGFkZE92ZXJmbG93RnJvbUNvbnRhaW5lZEJveCgqcm93KTsKICAgICAgICAgZm9yICh1bnNp
Z25lZCBjID0gMDsgYyA8IG5FZmZDb2xzOyBjKyspIHsKICAgICAgICAgICAgIENlbGxTdHJ1Y3Qm
IGNzID0gY2VsbEF0KHIsIGMpOwogICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsKiBjZWxsID0g
Y3MucHJpbWFyeUNlbGwoKTsKQEAgLTczNiw3ICs3NDcsNiBAQCB2b2lkIFJlbmRlclRhYmxlU2Vj
dGlvbjo6Y29tcHV0ZU92ZXJmbG93RnJvbUNlbGxzKHVuc2lnbmVkIHRvdGFsUm93cywgdW5zaWdu
ZWQgbgogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgaWYgKHIgPCB0b3Rh
bFJvd3MgLSAxICYmIGNlbGwgPT0gcHJpbWFyeUNlbGxBdChyICsgMSwgYykpCiAgICAgICAgICAg
ICAgICAgY29udGludWU7Ci0gICAgICAgICAgICBhZGRPdmVyZmxvd0Zyb21Db250YWluZWRCb3go
KmNlbGwpOwogI2lmIEFTU0VSVF9FTkFCTEVECiAgICAgICAgICAgICBoYXNPdmVyZmxvd2luZ0Nl
bGwgfD0gY2VsbC0+aGFzVmlzdWFsT3ZlcmZsb3coKTsKICNlbmRpZgpAQCAtOTM5LDcgKzk0OSw3
IEBAIHN0ZDo6b3B0aW9uYWw8TGF5b3V0VW5pdD4gUmVuZGVyVGFibGVTZWN0aW9uOjpiYXNlbGlu
ZUZyb21DZWxsQ29udGVudEVkZ2VzKEl0ZW1QCiAgICAgICAgIGNvbnN0IFJlbmRlclRhYmxlQ2Vs
bCogY2VsbCA9IGNzLnByaW1hcnlDZWxsKCk7CiAgICAgICAgIC8vIE9ubHkgY2VsbHMgd2l0aCBj
b250ZW50IGhhdmUgYSBiYXNlbGluZQogICAgICAgICBpZiAoY2VsbCAmJiBjZWxsLT5jb250ZW50
Qm94TG9naWNhbEhlaWdodCgpKSB7Ci0gICAgICAgICAgICBMYXlvdXRVbml0IGNhbmRpZGF0ZSA9
IGNlbGwtPmxvZ2ljYWxUb3AoKSArIGNlbGwtPmJvcmRlckFuZFBhZGRpbmdCZWZvcmUoKSArIGNl
bGwtPmNvbnRlbnRCb3hMb2dpY2FsSGVpZ2h0KCk7CisgICAgICAgICAgICBMYXlvdXRVbml0IGNh
bmRpZGF0ZSA9IG1fcm93UG9zW2NlbGwtPnJvd0luZGV4KCldICsgY2VsbC0+Ym9yZGVyQW5kUGFk
ZGluZ0JlZm9yZSgpICsgY2VsbC0+Y29udGVudEJveExvZ2ljYWxIZWlnaHQoKTsKICAgICAgICAg
ICAgIHJlc3VsdCA9IHN0ZDo6bWF4KHJlc3VsdC52YWx1ZV9vcihjYW5kaWRhdGUpLCBjYW5kaWRh
dGUpOwogICAgICAgICB9CiAgICAgfQpAQCAtOTg4LDkgKzk5OCwxMSBAQCBzdGF0aWMgaW5saW5l
IGJvb2wgTk9ERUxFVEUgY29tcGFyZUNlbGxQb3NpdGlvbnNXaXRoT3ZlcmZsb3dpbmdDZWxscyhj
b25zdCBTaW5nbAogCiB2b2lkIFJlbmRlclRhYmxlU2VjdGlvbjo6cGFpbnRDZWxsKFJlbmRlclRh
YmxlQ2VsbCogY2VsbCwgUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IExheW91dFBvaW50JiBw
YWludE9mZnNldCkKIHsKLSAgICBMYXlvdXRQb2ludCBjZWxsUG9pbnQgPSBmbGlwRm9yV3JpdGlu
Z01vZGVGb3JDaGlsZCgqY2VsbCwgcGFpbnRPZmZzZXQpOworICAgIGF1dG8mIHJvdyA9IGRvd25j
YXN0PFJlbmRlclRhYmxlUm93PigqY2VsbC0+cGFyZW50KCkpOworICAgIGF1dG8gcm93QmFja2dy
b3VuZFBhaW50T2Zmc2V0ID0gZmxpcEZvcldyaXRpbmdNb2RlRm9yQ2hpbGQocm93LCBwYWludE9m
ZnNldCk7CisgICAgYXV0byByb3dQYWludE9mZnNldCA9IHJvd0JhY2tncm91bmRQYWludE9mZnNl
dCArIHJvdy5sb2NhdGlvbigpOworICAgIGF1dG8gY2VsbFBvaW50ID0gcm93LmZsaXBGb3JXcml0
aW5nTW9kZUZvckNoaWxkKCpjZWxsLCByb3dQYWludE9mZnNldCk7CiAgICAgUGFpbnRQaGFzZSBw
YWludFBoYXNlID0gcGFpbnRJbmZvLnBoYXNlOwotICAgIFJlbmRlclRhYmxlUm93JiByb3cgPSBk
b3duY2FzdDxSZW5kZXJUYWJsZVJvdz4oKmNlbGwtPnBhcmVudCgpKTsKIAogICAgIGlmIChwYWlu
dFBoYXNlID09IFBhaW50UGhhc2U6OkJsb2NrQmFja2dyb3VuZCB8fCBwYWludFBoYXNlID09IFBh
aW50UGhhc2U6OkNoaWxkQmxvY2tCYWNrZ3JvdW5kKSB7CiAgICAgICAgIC8vIFdlIG5lZWQgdG8g
aGFuZGxlIHBhaW50aW5nIGEgc3RhY2sgb2YgYmFja2dyb3VuZHMuICBUaGlzIHN0YWNrIChmcm9t
IGJvdHRvbSB0byB0b3ApIGNvbnNpc3RzIG9mCkBAIC0xMDEzLDcgKzEwMjUsNyBAQCB2b2lkIFJl
bmRlclRhYmxlU2VjdGlvbjo6cGFpbnRDZWxsKFJlbmRlclRhYmxlQ2VsbCogY2VsbCwgUGFpbnRJ
bmZvJiBwYWludEluZm8sCiAgICAgICAgIC8vIFBhaW50IHRoZSByb3cgbmV4dCwgYnV0IG9ubHkg
aWYgaXQgZG9lc24ndCBoYXZlIGEgbGF5ZXIuICBJZiBhIHJvdyBoYXMgYSBsYXllciwgaXQgd2ls
bCBiZSByZXNwb25zaWJsZSBmb3IKICAgICAgICAgLy8gcGFpbnRpbmcgdGhlIHJvdyBiYWNrZ3Jv
dW5kIGZvciB0aGUgY2VsbC4KICAgICAgICAgaWYgKCFyb3cuaGFzU2VsZlBhaW50aW5nTGF5ZXIo
KSkKLSAgICAgICAgICAgIGNlbGwtPnBhaW50QmFja2dyb3VuZHNCZWhpbmRDZWxsKHBhaW50SW5m
bywgY2VsbFBvaW50LCAmcm93LCBjZWxsUG9pbnQpOworICAgICAgICAgICAgY2VsbC0+cGFpbnRC
YWNrZ3JvdW5kc0JlaGluZENlbGwocGFpbnRJbmZvLCBjZWxsUG9pbnQsICZyb3csIHJvd0JhY2tn
cm91bmRQYWludE9mZnNldCk7CiAgICAgfQogICAgIGlmICgoIWNlbGwtPmhhc1NlbGZQYWludGlu
Z0xheWVyKCkgJiYgIXJvdy5oYXNTZWxmUGFpbnRpbmdMYXllcigpKSkKICAgICAgICAgY2VsbC0+
cGFpbnQocGFpbnRJbmZvLCBjZWxsUG9pbnQpOwpAQCAtMTQwNyw3ICsxNDE5LDkgQEAgdm9pZCBS
ZW5kZXJUYWJsZVNlY3Rpb246OnBhaW50T2JqZWN0KFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25z
dCBMYXlvdXRQb2ludCYgcGEKICAgICAgICAgICAgICAgICAgICAgc2hvdWxkUGFpbnRSb3dHcm91
cEJvcmRlciA9IGZhbHNlOwogICAgICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgICAgIGF1
dG8gY2VsbFBvaW50ID0gZmxpcEZvcldyaXRpbmdNb2RlRm9yQ2hpbGQoKmNlbGwsIHBhaW50T2Zm
c2V0KTsKKyAgICAgICAgICAgICAgICBhdXRvJiByb3cgPSBkb3duY2FzdDxSZW5kZXJUYWJsZVJv
dz4oKmNlbGwtPnBhcmVudCgpKTsKKyAgICAgICAgICAgICAgICBhdXRvIHJvd1BhaW50T2Zmc2V0
ID0gZmxpcEZvcldyaXRpbmdNb2RlRm9yQ2hpbGQocm93LCBwYWludE9mZnNldCkgKyByb3cubG9j
YXRpb24oKTsKKyAgICAgICAgICAgICAgICBhdXRvIGNlbGxQb2ludCA9IHJvdy5mbGlwRm9yV3Jp
dGluZ01vZGVGb3JDaGlsZCgqY2VsbCwgcm93UGFpbnRPZmZzZXQpOwogICAgICAgICAgICAgICAg
IGNlbGwtPnBhaW50Q29sbGFwc2VkQm9yZGVycyhwYWludEluZm8sIGNlbGxQb2ludCk7CiAgICAg
ICAgICAgICB9CiAgICAgICAgIH0KQEAgLTE0NTYsNyArMTQ3MCw5IEBAIHZvaWQgUmVuZGVyVGFi
bGVTZWN0aW9uOjpwYWludE9iamVjdChQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgTGF5b3V0
UG9pbnQmIHBhCiAKICAgICAgICAgaWYgKHBhaW50SW5mby5waGFzZSA9PSBQYWludFBoYXNlOjpD
b2xsYXBzZWRUYWJsZUJvcmRlcnMpIHsKICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IGNl
bGxzLnNpemUoKTsgaSA+IDA7IC0taSkgewotICAgICAgICAgICAgICAgIGF1dG8gY2VsbFBvaW50
ID0gZmxpcEZvcldyaXRpbmdNb2RlRm9yQ2hpbGQoKmNlbGxzW2kgLSAxXSwgcGFpbnRPZmZzZXQp
OworICAgICAgICAgICAgICAgIGF1dG8mIHJvdyA9IGRvd25jYXN0PFJlbmRlclRhYmxlUm93Pigq
Y2VsbHNbaSAtIDFdLT5wYXJlbnQoKSk7CisgICAgICAgICAgICAgICAgYXV0byByb3dQYWludE9m
ZnNldCA9IGZsaXBGb3JXcml0aW5nTW9kZUZvckNoaWxkKHJvdywgcGFpbnRPZmZzZXQpICsgcm93
LmxvY2F0aW9uKCk7CisgICAgICAgICAgICAgICAgYXV0byBjZWxsUG9pbnQgPSByb3cuZmxpcEZv
cldyaXRpbmdNb2RlRm9yQ2hpbGQoKmNlbGxzW2kgLSAxXSwgcm93UGFpbnRPZmZzZXQpOwogICAg
ICAgICAgICAgICAgIGNlbGxzW2kgLSAxXS0+cGFpbnRDb2xsYXBzZWRCb3JkZXJzKHBhaW50SW5m
bywgY2VsbFBvaW50KTsKICAgICAgICAgICAgIH0KICAgICAgICAgfSBlbHNlIHsKQEAgLTE2Mjcs
NyArMTY0Myw4IEBAIGJvb2wgUmVuZGVyVGFibGVTZWN0aW9uOjpub2RlQXRQb2ludChjb25zdCBI
aXRUZXN0UmVxdWVzdCYgcmVxdWVzdCwgSGl0VGVzdFJlc3VsCiAgICAgICAgICAgICAvLyB0YWJs
ZS1zcGVjaWZpYyBoaXQtdGVzdCBtZXRob2QgKHdoaWNoIHdlIHNob3VsZCBkbyBmb3IgcGVyZm9y
bWFuY2UgcmVhc29ucyBhbnl3YXkpLAogICAgICAgICAgICAgLy8gdGhlbiB3ZSBjYW4gcmVtb3Zl
IHRoaXMgY2hlY2suCiAgICAgICAgICAgICBpZiAoIXJvdy0+aGFzU2VsZlBhaW50aW5nTGF5ZXIo
KSkgewotICAgICAgICAgICAgICAgIGlmIChyb3ctPm5vZGVBdFBvaW50KHJlcXVlc3QsIHJlc3Vs
dCwgbG9jYXRpb25JbkNvbnRhaW5lciwgYWRqdXN0ZWRMb2NhdGlvbiwgYWN0aW9uKSkKKyAgICAg
ICAgICAgICAgICBhdXRvIHJvd09mZnNldCA9IGZsaXBGb3JXcml0aW5nTW9kZUZvckNoaWxkKCpy
b3csIGFkanVzdGVkTG9jYXRpb24pOworICAgICAgICAgICAgICAgIGlmIChyb3ctPm5vZGVBdFBv
aW50KHJlcXVlc3QsIHJlc3VsdCwgbG9jYXRpb25JbkNvbnRhaW5lciwgcm93T2Zmc2V0LCBhY3Rp
b24pKQogICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgIH0KICAg
ICAgICAgfQpAQCAtMTY1NSw3ICsxNjcyLDkgQEAgYm9vbCBSZW5kZXJUYWJsZVNlY3Rpb246Om5v
ZGVBdFBvaW50KGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiByZXF1ZXN0LCBIaXRUZXN0UmVzdWwKICAg
ICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IGN1cnJlbnQuY2VsbHMuc2l6ZSgpIDsgaTsgKSB7
CiAgICAgICAgICAgICAgICAgLS1pOwogICAgICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCog
Y2VsbCA9IGN1cnJlbnQuY2VsbHNbaV07Ci0gICAgICAgICAgICAgICAgTGF5b3V0UG9pbnQgY2Vs
bFBvaW50ID0gZmxpcEZvcldyaXRpbmdNb2RlRm9yQ2hpbGQoKmNlbGwsIGFkanVzdGVkTG9jYXRp
b24pOworICAgICAgICAgICAgICAgIGF1dG8mIHJvdyA9IGRvd25jYXN0PFJlbmRlclRhYmxlUm93
PigqY2VsbC0+cGFyZW50KCkpOworICAgICAgICAgICAgICAgIGF1dG8gcm93UG9pbnQgPSBmbGlw
Rm9yV3JpdGluZ01vZGVGb3JDaGlsZChyb3csIGFkanVzdGVkTG9jYXRpb24pICsgcm93LmxvY2F0
aW9uKCk7CisgICAgICAgICAgICAgICAgYXV0byBjZWxsUG9pbnQgPSByb3cuZmxpcEZvcldyaXRp
bmdNb2RlRm9yQ2hpbGQoKmNlbGwsIHJvd1BvaW50KTsKICAgICAgICAgICAgICAgICBpZiAoc3Rh
dGljX2Nhc3Q8UmVuZGVyT2JqZWN0Kj4oY2VsbCktPm5vZGVBdFBvaW50KHJlcXVlc3QsIHJlc3Vs
dCwgbG9jYXRpb25JbkNvbnRhaW5lciwgY2VsbFBvaW50LCBhY3Rpb24pKSB7CiAgICAgICAgICAg
ICAgICAgICAgIHVwZGF0ZUhpdFRlc3RSZXN1bHQocmVzdWx0LCBsb2NhdGlvbkluQ29udGFpbmVy
LnBvaW50KCkgLSB0b0xheW91dFNpemUoY2VsbFBvaW50KSk7CiAgICAgICAgICAgICAgICAgICAg
IHJldHVybiB0cnVlOwpAQCAtMTcwOCw3ICsxNzI3LDcgQEAgdm9pZCBSZW5kZXJUYWJsZVNlY3Rp
b246OnNldExvZ2ljYWxQb3NpdGlvbkZvckNlbGwoUmVuZGVyVGFibGVDZWxsKiBjZWxsLCB1bnNp
Z24KIHsKICAgICBMYXlvdXRQb2ludCBvbGRDZWxsTG9jYXRpb24gPSBjZWxsLT5sb2NhdGlvbigp
OwogCi0gICAgTGF5b3V0UG9pbnQgY2VsbExvY2F0aW9uKDBfbHUsIG1fcm93UG9zW2NlbGwtPnJv
d0luZGV4KCldKTsKKyAgICBMYXlvdXRQb2ludCBjZWxsTG9jYXRpb24oMF9sdSwgMF9sdSk7CiAg
ICAgTGF5b3V0VW5pdCBob3Jpem9udGFsQm9yZGVyU3BhY2luZyA9IHRhYmxlKCktPmhCb3JkZXJT
cGFjaW5nKCk7CiAKICAgICAvLyBUaGUgdGFibGUncyB3cml0aW5nIG1vZGUgZGV0ZXJtaW5lcyBp
biB3aGljaCBkaXJlY3Rpb24gdGhlIHJvd3MgZmxvdy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcAppbmRleCAxODE5OGRjZTUzMjcuLjhlMzJiNzcxNGY0
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcApA
QCAtMjI3LDcgKzIyNyw5IEBAIHZvaWQgUmVuZGVyVHJlZUFzVGV4dDo6d3JpdGVSZW5kZXJPYmpl
Y3QoVGV4dFN0cmVhbSYgdHMsIGNvbnN0IFJlbmRlck9iamVjdCYgbywKICAgICAgICAgLy8gRklY
TUU6IERlbGliZXJhdGVseSBkdW1wIHRoZSAiaW5uZXIiIGJveCBvZiB0YWJsZSBjZWxscywgc2lu
Y2UgdGhhdCBpcyB3aGF0IGN1cnJlbnQgcmVzdWx0cyByZWZsZWN0LiAgV2UnZCBsaWtlCiAgICAg
ICAgIC8vIHRvIGNsZWFuIHVwIHRoZSByZXN1bHRzIHRvIGR1bXAgYm90aCB0aGUgb3V0ZXIgYm94
IGFuZCB0aGUgaW50cmluc2ljIHBhZGRpbmcgc28gdGhhdCBib3RoIGJpdHMgb2YgaW5mb3JtYXRp
b24gYXJlCiAgICAgICAgIC8vIGNhcHR1cmVkIGJ5IHRoZSByZXN1bHRzLgotICAgICAgICByID0g
TGF5b3V0UmVjdChjZWxsLT54KCksIGNlbGwtPnkoKSArIGNlbGwtPmludHJpbnNpY1BhZGRpbmdC
ZWZvcmUoKSwgY2VsbC0+d2lkdGgoKSwgY2VsbC0+aGVpZ2h0KCkgLSBjZWxsLT5pbnRyaW5zaWNQ
YWRkaW5nQmVmb3JlKCkgLSBjZWxsLT5pbnRyaW5zaWNQYWRkaW5nQWZ0ZXIoKSk7CisgICAgICAg
IC8vIEZJWE1FOiBDZWxsIHBvc2l0aW9ucyBhcmUgcm93LXJlbGF0aXZlIGJ1dCB3ZSBkdW1wIHRo
ZW0gYXMgc2VjdGlvbi1yZWxhdGl2ZSB0byBhdm9pZCByZWJhc2VsaW5pbmcgZXZlcnkgdGFibGUg
dGVzdC4KKyAgICAgICAgYXV0byByb3dPZmZzZXQgPSBjZWxsLT5wYXJlbnQoKSA/IGRvd25jYXN0
PFJlbmRlckJveD4oKmNlbGwtPnBhcmVudCgpKS5sb2NhdGlvbigpIDogTGF5b3V0UG9pbnQoKTsK
KyAgICAgICAgciA9IExheW91dFJlY3QoY2VsbC0+eCgpICsgcm93T2Zmc2V0LngoKSwgY2VsbC0+
eSgpICsgcm93T2Zmc2V0LnkoKSArIGNlbGwtPmludHJpbnNpY1BhZGRpbmdCZWZvcmUoKSwgY2Vs
bC0+d2lkdGgoKSwgY2VsbC0+aGVpZ2h0KCkgLSBjZWxsLT5pbnRyaW5zaWNQYWRkaW5nQmVmb3Jl
KCkgLSBjZWxsLT5pbnRyaW5zaWNQYWRkaW5nQWZ0ZXIoKSk7CiAgICAgfSBlbHNlIGlmIChhdXRv
KiBib3ggPSBkeW5hbWljRG93bmNhc3Q8UmVuZGVyQm94PihvKSkKICAgICAgICAgciA9IGJveC0+
ZnJhbWVSZWN0KCk7CiAgICAgZWxzZSBpZiAoYXV0byogc3ZnTW9kZWxPYmplY3QgPSBkeW5hbWlj
RG93bmNhc3Q8UmVuZGVyU1ZHTW9kZWxPYmplY3Q+KG8pKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9zdHlsZS9TdHlsZUFkanVzdGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0eWxlL1N0
eWxlQWRqdXN0ZXIuY3BwCmluZGV4IGUwYmVkYTQ1ZDFmZi4uNjBjMmVhMzNiZjBiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUFkanVzdGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9zdHlsZS9TdHlsZUFkanVzdGVyLmNwcApAQCAtNDgzLDExICs0ODMsMTAgQEAgdm9p
ZCBBZGp1c3Rlcjo6YWRqdXN0KFJlbmRlclN0eWxlJiBzdHlsZSkgY29uc3QKICAgICAgICAgaWYg
KHN0eWxlLmRpc3BsYXkoKSA9PSBEaXNwbGF5VHlwZTo6SW5saW5lRmxvdyAmJiAhc3R5bGUucHNl
dWRvRWxlbWVudFR5cGUoKSAmJiBzdHlsZS53cml0aW5nTW9kZSgpLmNvbXB1dGVkV3JpdGluZ01v
ZGUoKSAhPSBtX3BhcmVudFN0eWxlLndyaXRpbmdNb2RlKCkuY29tcHV0ZWRXcml0aW5nTW9kZSgp
KQogICAgICAgICAgICAgc3R5bGUuc2V0RGlzcGxheU1haW50YWluaW5nT3JpZ2luYWxEaXNwbGF5
KERpc3BsYXlUeXBlOjpJbmxpbmVGbG93Um9vdCk7CiAKLSAgICAgICAgLy8gQWZ0ZXIgcGVyZm9y
bWluZyB0aGUgZGlzcGxheSBtdXRhdGlvbiwgY2hlY2sgdGFibGUgcm93cy4gV2UgZG8gbm90IGhv
bm9yIHBvc2l0aW9uOnJlbGF0aXZlIG9yIHBvc2l0aW9uOnN0aWNreSBvbgotICAgICAgICAvLyB0
YWJsZSByb3dzIG9yIGNlbGxzLiBUaGlzIGhhcyBiZWVuIGVzdGFibGlzaGVkIGZvciBwb3NpdGlv
bjpyZWxhdGl2ZSBpbiBDU1MyLjEgKGFuZCBjYXVzZWQgYSBjcmFzaCBpbiBjb250YWluaW5nQmxv
Y2soKQotICAgICAgICAvLyBvbiBzb21lIHNpdGVzKS4KKyAgICAgICAgLy8gV2UgZG8gbm90IGhv
bm9yIHBvc2l0aW9uOnJlbGF0aXZlIG9yIHBvc2l0aW9uOnN0aWNreSBvbiB0YWJsZSByb3cgZ3Jv
dXBzLiBUYWJsZSByb3dzIGFyZQorICAgICAgICAvLyBhbGxvd2VkIHRvIGJlIHBvc2l0aW9uOnJl
bGF0aXZlICh0aGV5IGV4dGVuZCBSZW5kZXJCbG9jayBhbmQgY2FuIGJlIHByb3BlciBjb250YWlu
aW5nIGJsb2NrcykuCiAgICAgICAgIGlmICgoc3R5bGUuZGlzcGxheSgpID09IERpc3BsYXlUeXBl
OjpUYWJsZUhlYWRlckdyb3VwIHx8IHN0eWxlLmRpc3BsYXkoKSA9PSBEaXNwbGF5VHlwZTo6VGFi
bGVSb3dHcm91cAotICAgICAgICAgICAgfHwgc3R5bGUuZGlzcGxheSgpID09IERpc3BsYXlUeXBl
OjpUYWJsZUZvb3Rlckdyb3VwIHx8IHN0eWxlLmRpc3BsYXkoKSA9PSBEaXNwbGF5VHlwZTo6VGFi
bGVSb3cpCisgICAgICAgICAgICB8fCBzdHlsZS5kaXNwbGF5KCkgPT0gRGlzcGxheVR5cGU6OlRh
YmxlRm9vdGVyR3JvdXApCiAgICAgICAgICAgICAmJiBzdHlsZS5wb3NpdGlvbigpID09IFBvc2l0
aW9uVHlwZTo6UmVsYXRpdmUpCiAgICAgICAgICAgICBzdHlsZS5zZXRQb3NpdGlvbihQb3NpdGlv
blR5cGU6OlN0YXRpYyk7CiAKQEAgLTY0Miw3ICs2NDEsMTEgQEAgdm9pZCBBZGp1c3Rlcjo6YWRq
dXN0KFJlbmRlclN0eWxlJiBzdHlsZSkgY29uc3QKIAogICAgIGJvb2wgb3ZlcmZsb3dJc0NsaXBP
clZpc2libGUgPSBpc092ZXJmbG93Q2xpcE9yVmlzaWJsZShzdHlsZS5vdmVyZmxvd1koKSkgJiYg
aXNPdmVyZmxvd0NsaXBPclZpc2libGUoc3R5bGUub3ZlcmZsb3dYKCkpOwogCi0gICAgaWYgKCFv
dmVyZmxvd0lzQ2xpcE9yVmlzaWJsZSAmJiBzdHlsZS5kaXNwbGF5KCkuaXNUYWJsZUJveCgpKSB7
CisgICAgLy8gVGhlIG92ZXJmbG93IHByb3BlcnR5IGRvZXMgbm90IGFwcGx5IHRvIHRhYmxlIHJv
dyBlbGVtZW50cyAoQ1NTMiBzZWN0aW9uIDExLjEuMSkuCisgICAgaWYgKHN0eWxlLmRpc3BsYXko
KSA9PSBEaXNwbGF5VHlwZTo6VGFibGVSb3cpIHsKKyAgICAgICAgc3R5bGUuc2V0T3ZlcmZsb3dY
KENvbXB1dGVkU3R5bGU6OmluaXRpYWxPdmVyZmxvd1goKSk7CisgICAgICAgIHN0eWxlLnNldE92
ZXJmbG93WShDb21wdXRlZFN0eWxlOjppbml0aWFsT3ZlcmZsb3dZKCkpOworICAgIH0gZWxzZSBp
ZiAoIW92ZXJmbG93SXNDbGlwT3JWaXNpYmxlICYmIHN0eWxlLmRpc3BsYXkoKS5pc1RhYmxlQm94
KCkpIHsKICAgICAgICAgLy8gVGFibGVzIG9ubHkgc3VwcG9ydCBvdmVyZmxvdzpoaWRkZW4gYW5k
IG92ZXJmbG93OnZpc2libGUgYW5kIGlnbm9yZSBhbnl0aGluZyBlbHNlLAogICAgICAgICAvLyBz
ZWUgaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2NzczIvI292ZXJmbG93LiBBcyBhIHRhYmxlIGlz
IG5vdCBhIGJsb2NrCiAgICAgICAgIC8vIGNvbnRhaW5lciBib3ggdGhlIHJ1bGVzIGZvciByZXNv
bHZpbmcgY29uZmxpY3RpbmcgeCBhbmQgeSB2YWx1ZXMgaW4gQ1NTIE92ZXJmbG93IE1vZHVsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rl
c3RFeHBlY3RhdGlvbnMKaW5kZXggN2ZkZmRjNmI3YTAzLi5mNDJiYjZlNTQ5NTIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4
cGVjdGF0aW9ucwpAQCAtMjE1MSw2ICsyMTUxLDcgQEAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9tYXRobWwvcHJlc2VudGF0aW9uLW1hcmt1cC9vcGVyYXRvcnMvb3AtZGljdC05LmgK
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWF0aG1sL3ByZXNlbnRhdGlvbi1tYXJr
dXAvb3BlcmF0b3JzL3BhaW50aW5nLXN0cmV0Y2h5LW9wZXJhdG9yLTAwMS5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21hdGhtbC9wcmVz
ZW50YXRpb24tbWFya3VwL3NjcmlwdHMvdW5kZXJvdmVyLXN0cmV0Y2h5LTAwMi5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21hdGhtbC9y
ZWxhdGlvbnMvY3NzLXN0eWxpbmcvZGlzcGxheS13aXRoLW92ZXJmbG93Lmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWF0aG1sL3JlbGF0
aW9ucy9jc3Mtc3R5bGluZy9vdmVyZmxvdy9jb21wdXRlZC12YWx1ZS0wMDEuaHRtbCBbIEZhaWx1
cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tYXRobWwvcmVsYXRpb25zL2Nz
cy1zdHlsaW5nL2Zsb2F0cy9mbG9hdGluZy1pbnNpZGUtbWF0aG1sLXdpdGgtYmxvY2stZGlzcGxh
eS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBtYXRobWwvbm9uLWNvcmUvbWF0aHZhcmlhbnQv
bWF0aHZhcmlhbnQtYmFzaWMtdHJhbnNmb3Jtcy13aXRoLWRlZmF1bHQtZm9udC5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCiBtYXRobWwvbm9uLWNvcmUvbWF0aHZhcmlhbnQvbWF0aHZhcmlhbnQt
ZG91YmxlLXN0cnVjay1mb250LXN0eWxlLWZvbnQtd2VpZ2h0Lmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGFibGUvbm9uLXBvc2l0aW9uZWQt
cm93LW5vLWNvbnRhaW5tZW50LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RhYmxl
L25vbi1wb3NpdGlvbmVkLXJvdy1uby1jb250YWlubWVudC1leHBlY3RlZC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uYjFjOWIzOWI4MWZmCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9ub24tcG9zaXRpb25lZC1yb3ctbm8tY29u
dGFpbm1lbnQtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDE0IEBACis8IWRvY3R5cGUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+Tm9uLXBvc2l0aW9uZWQgdGFibGUgcm93IGRvZXMgbm90
IGNvbnRhaW4gYWJzb2x1dGUgZGVzY2VuZGFudHMgKHJlZmVyZW5jZSk8L3RpdGxlPgorPHN0eWxl
PgorYm9keSB7CisgICAgbWFyZ2luOiAwOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdiBzdHlsZT0id2lkdGg6IDIwMHB4OyBoZWlnaHQ6IDIwMHB4OyBiYWNrZ3JvdW5kOiBncmVl
biI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L3RhYmxlL25vbi1wb3NpdGlvbmVkLXJvdy1uby1jb250YWlubWVudC5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC90YWJsZS9ub24tcG9zaXRpb25lZC1yb3ctbm8tY29udGFpbm1lbnQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmUyM2U2OGRmMzQzMgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGFibGUvbm9uLXBvc2l0aW9uZWQtcm93LW5v
LWNvbnRhaW5tZW50Lmh0bWwKQEAgLTAsMCArMSwzMyBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPHRpdGxlPk5vbi1wb3NpdGlvbmVkIHRhYmxlIHJvdyBkb2VzIG5vdCBjb250
YWluIGFic29sdXRlIGRlc2NlbmRhbnRzPC90aXRsZT4KKzxsaW5rIHJlbD0ibWF0Y2giIGhyZWY9
Im5vbi1wb3NpdGlvbmVkLXJvdy1uby1jb250YWlubWVudC1leHBlY3RlZC5odG1sIj4KKzxzdHls
ZT4KK2JvZHkgeworICAgIG1hcmdpbjogMDsKK30KK3RhYmxlIHsKKyAgICBib3JkZXItc3BhY2lu
ZzogMDsKKyAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOworICAgIGJvcmRlcjogbm9uZTsK
K30KK3RkIHsKKyAgICBwYWRkaW5nOiAwOworICAgIGJvcmRlcjogbm9uZTsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzwhLS0gV2l0aG91dCBwb3NpdGlvbjogcmVsYXRpdmUgb24gdGhl
IHJvdywgdGhlIGFic29sdXRlIGRpdiBzaG91bGQgZXNjYXBlIHRvIHRoZQorICAgICBuZWFyZXN0
IHBvc2l0aW9uZWQgYW5jZXN0b3IgKHRoZSBvdXRlciBkaXYpLCBjb3ZlcmluZyBpdCBlbnRpcmVs
eS4gLS0+Cis8ZGl2IHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmU7IHdpZHRoOiAyMDBweDsgaGVp
Z2h0OiAyMDBweCI+CisgICAgPHRhYmxlPgorICAgICAgICA8dHI+CisgICAgICAgICAgICA8dGQg
c3R5bGU9IndpZHRoOiA1MHB4OyBoZWlnaHQ6IDUwcHgiPkNlbGw8L3RkPgorICAgICAgICA8L3Ry
PgorICAgIDwvdGFibGU+CisgICAgPGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBpbnNl
dDogMDsgYmFja2dyb3VuZDogZ3JlZW4iPjwvZGl2PgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RhYmxlL3JlbGF0aXZlLXBvc2l0aW9uLXJv
dy1jb250YWlubWVudC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9yZWxh
dGl2ZS1wb3NpdGlvbi1yb3ctY29udGFpbm1lbnQtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjI3MDg4YzU2ZDVlNgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvdGFibGUvcmVsYXRpdmUtcG9zaXRpb24tcm93LWNvbnRhaW5t
ZW50LWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxNSBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPHRpdGxlPlBvc2l0aW9uZWQgdGFibGUgcm93IGFzIGNvbnRhaW5pbmcgYmxv
Y2sgZm9yIGFic29sdXRlIGRlc2NlbmRhbnRzIChyZWZlcmVuY2UpPC90aXRsZT4KKzxzdHlsZT4K
K2JvZHkgeworICAgIG1hcmdpbjogMDsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxk
aXYgc3R5bGU9ImhlaWdodDogNTBweCI+PC9kaXY+Cis8ZGl2IHN0eWxlPSJ3aWR0aDogMTAwcHg7
IGhlaWdodDogMTAwcHg7IGJhY2tncm91bmQ6IGdyZWVuIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGFibGUvcmVsYXRpdmUtcG9zaXRpb24t
cm93LWNvbnRhaW5tZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RhYmxlL3JlbGF0aXZlLXBv
c2l0aW9uLXJvdy1jb250YWlubWVudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMC4uNDE2YzRhOGJjOWVjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC90YWJsZS9yZWxhdGl2ZS1wb3NpdGlvbi1yb3ctY29udGFpbm1lbnQuaHRtbApAQCAtMCww
ICsxLDMyIEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+UG9zaXRp
b25lZCB0YWJsZSByb3cgYXMgY29udGFpbmluZyBibG9jayBmb3IgYWJzb2x1dGUgZGVzY2VuZGFu
dHM8L3RpdGxlPgorPGxpbmsgcmVsPSJtYXRjaCIgaHJlZj0icmVsYXRpdmUtcG9zaXRpb24tcm93
LWNvbnRhaW5tZW50LWV4cGVjdGVkLmh0bWwiPgorPHN0eWxlPgorYm9keSB7CisgICAgbWFyZ2lu
OiAwOworfQordGFibGUgeworICAgIGJvcmRlci1zcGFjaW5nOiAwOworICAgIGJvcmRlci1jb2xs
YXBzZTogY29sbGFwc2U7CisgICAgYm9yZGVyOiBub25lOworfQordGQgeworICAgIHBhZGRpbmc6
IDA7CisgICAgYm9yZGVyOiBub25lOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPCEt
LSBQdXNoIHRoZSB0YWJsZSBkb3duIHRvIHZlcmlmeSB0aGUgYWJzb2x1dGUgZGl2IGlzIGFuY2hv
cmVkIHRvIHRoZSByb3csIG5vdCB0aGUgdmlld3BvcnQuIC0tPgorPGRpdiBzdHlsZT0iaGVpZ2h0
OiA1MHB4Ij48L2Rpdj4KKzx0YWJsZT4KKyAgICA8dHIgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2
ZSI+CisgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4Ij4KKyAg
ICAgICAgICAgIDxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgaW5zZXQ6IDA7IGJhY2tn
cm91bmQ6IGdyZWVuIj48L2Rpdj4KKyAgICAgICAgPC90ZD4KKyAgICA8L3RyPgorPC90YWJsZT4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGFibGUvcmVs
YXRpdmUtcG9zaXRpb24tcm93LW11bHRpY2VsbC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC90YWJsZS9yZWxhdGl2ZS1wb3NpdGlvbi1yb3ctbXVsdGljZWxsLWV4cGVjdGVkLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4wZGVlYzJiNTkxNmIKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RhYmxlL3JlbGF0aXZlLXBvc2l0aW9u
LXJvdy1tdWx0aWNlbGwtZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDE0IEBACis8IWRvY3R5cGUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+QWJzb2x1dGUgY2hpbGQgb2YgcG9zaXRpb25l
ZCB0YWJsZSByb3cgc3BhbnMgZnVsbCByb3cgd2lkdGggKHJlZmVyZW5jZSk8L3RpdGxlPgorPHN0
eWxlPgorYm9keSB7CisgICAgbWFyZ2luOiAwOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdiBzdHlsZT0id2lkdGg6IDIwMHB4OyBoZWlnaHQ6IDUwcHg7IGJhY2tncm91bmQ6IGdy
ZWVuIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvdGFibGUvcmVsYXRpdmUtcG9zaXRpb24tcm93LW11bHRpY2VsbC5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC90YWJsZS9yZWxhdGl2ZS1wb3NpdGlvbi1yb3ctbXVsdGljZWxsLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4yZjk0YzNiNzNiOGUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RhYmxlL3JlbGF0aXZlLXBvc2l0aW9uLXJvdy1t
dWx0aWNlbGwuaHRtbApAQCAtMCwwICsxLDMzIEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8dGl0bGU+QWJzb2x1dGUgY2hpbGQgb2YgcG9zaXRpb25lZCB0YWJsZSByb3cgc3Bh
bnMgZnVsbCByb3cgd2lkdGg8L3RpdGxlPgorPGxpbmsgcmVsPSJtYXRjaCIgaHJlZj0icmVsYXRp
dmUtcG9zaXRpb24tcm93LW11bHRpY2VsbC1leHBlY3RlZC5odG1sIj4KKzxzdHlsZT4KK2JvZHkg
eworICAgIG1hcmdpbjogMDsKK30KK3RhYmxlIHsKKyAgICBib3JkZXItc3BhY2luZzogMDsKKyAg
ICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOworICAgIGJvcmRlcjogbm9uZTsKK30KK3RkIHsK
KyAgICBwYWRkaW5nOiAwOworICAgIGJvcmRlcjogbm9uZTsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+
Cis8Ym9keT4KKzwhLS0gVGhlIGdyZWVuIGRpdiBzaG91bGQgY292ZXIgdGhlIGVudGlyZSByb3cg
KGJvdGggY2VsbHMpLiAtLT4KKzx0YWJsZT4KKyAgICA8dHIgc3R5bGU9InBvc2l0aW9uOiByZWxh
dGl2ZSI+CisgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDUwcHgiPgor
ICAgICAgICAgICAgQ2VsbCAxCisgICAgICAgICAgICA8ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJz
b2x1dGU7IGluc2V0OiAwOyBiYWNrZ3JvdW5kOiBncmVlbiI+PC9kaXY+CisgICAgICAgIDwvdGQ+
CisgICAgICAgIDx0ZCBzdHlsZT0id2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDUwcHgiPkNlbGwgMjwv
dGQ+CisgICAgPC90cj4KKzwvdGFibGU+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>
<flag name="commit-queue"
          id="500444"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>478986</attachid>
            <date>2026-04-09 18:24:05 -0700</date>
            <delta_ts>2026-04-10 08:50:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-240961-20260409182404.patch</filename>
            <type>text/plain</type>
            <size>64700</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSA1MzAwZWM5NDllYjhmOTcxMjhmNDM2YjUxODhmNTkwYmE4MjA0OTYwIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IFdlZCwgOCBBcHIgMjAyNiAwNzowMDowMSAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIGBwb3NpdGlv
bjogcmVsYXRpdmVgIGRvZXNuJ3Qgd29yayBhcyBleHBlY3RlZCBvbiB0YWJsZSByb3cKIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNDA5NjEgPHJkYXI6Ly9wcm9ibGVt
Lzk0Mjk0ODE5PgoKUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgpXaGVuIHlvdSBwdXQgYHBv
c2l0aW9uOiByZWxhdGl2ZWAgb24gYSA8dHI+LCBhbnkgYWJzb2x1dGVseSBwb3NpdGlvbmVkCmNo
aWxkIHNob3VsZCBzaXplIGFuZCBwb3NpdGlvbiBpdHNlbGYgcmVsYXRpdmUgdG8gdGhhdCByb3cu
IEluc3RlYWQsIGl0CmVzY2FwZXMgdG8gdGhlIG5lYXJlc3QgcG9zaXRpb25lZCBhbmNlc3RvciAo
b2Z0ZW4gdGhlIHZpZXdwb3J0KS4gVGhlIHJvb3QKY2F1c2UgaXMgdGhhdCBgUmVuZGVyVGFibGVS
b3dgIGV4dGVuZHMgYFJlbmRlckJveGAsIGJ1dCBgY29udGFpbmluZ0Jsb2NrKClgCnJldHVybnMg
YFJlbmRlckJsb2NrKmAgLS0gdGhlIHNlYXJjaCB3YWxrcyByaWdodCBwYXN0IHRoZSByb3cuIFRo
ZSBzdHlsZQpzeXN0ZW0gYWxzbyBmb3JjZXMgYHBvc2l0aW9uOiBzdGF0aWNgIG9uIHRhYmxlIHJv
d3MgKGEgd29ya2Fyb3VuZCBmb3IgdGhlCmNyYXNoIHRoaXMgY2F1c2VkKSwgYW5kIGByZXF1aXJl
c0xheWVyKClgIGlzIG1pc3NpbmcgYGlzUG9zaXRpb25lZCgpYC4KCkNoYW5naW5nIHRoZSByb3cg
ZnJvbSBgUmVuZGVyQm94YCB0byBgUmVuZGVyQmxvY2tgIG1ha2VzIGl0IGEgcHJvcGVyCmNvbnRh
aW5pbmcgYmxvY2suIFdpdGggY2VsbHMgbm93IHBvc2l0aW9uZWQgcmVsYXRpdmUgdG8gdGhlaXIg
cm93IGluc3RlYWQKb2YgdGhlIHNlY3Rpb24sIHRoZSByb3cgbmF0dXJhbGx5IHBhcnRpY2lwYXRl
cyBpbiBldmVyeSBjb29yZGluYXRlIHdhbGsuClRoaXMgZWxpbWluYXRlcyB0YWJsZS1zcGVjaWZp
YyB3b3JrYXJvdW5kcyBmcm9tIGBSZW5kZXJMYXllcmAsCmBSZW5kZXJCb3hgLCBgUmVuZGVyQm94
TW9kZWxPYmplY3RgLCBgUG9zaXRpb25lZExheW91dENvbnN0cmFpbnRzYCwKYFJlbmRlclRhYmxl
Q2VsbGAsIGFuZCBgUmVuZGVyRnJhZ21lbnRlZEZsb3dgIC0tIGFsbCBwbGFjZXMgdGhhdApwcmV2
aW91c2x5IGhhZCB0byBza2lwIG9yIGNvbXBlbnNhdGUgZm9yIHRoZSByb3cgYmVjYXVzZSBjZWxs
cyB3ZXJlIGluCnRoZSBzZWN0aW9uJ3MgY29vcmRpbmF0ZSBzcGFjZS4KCiogTGF5b3V0VGVzdHMv
VGVzdEV4cGVjdGF0aW9uczoKKiBMYXlvdXRUZXN0cy9mYXN0L3RhYmxlL25vbi1wb3NpdGlvbmVk
LXJvdy1uby1jb250YWlubWVudC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKiBMYXlvdXRUZXN0cy9m
YXN0L3RhYmxlL25vbi1wb3NpdGlvbmVkLXJvdy1uby1jb250YWlubWVudC5odG1sOiBBZGRlZC4K
KiBMYXlvdXRUZXN0cy9mYXN0L3RhYmxlL3JlbGF0aXZlLXBvc2l0aW9uLXJvdy1jb250YWlubWVu
dC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKiBMYXlvdXRUZXN0cy9mYXN0L3RhYmxlL3JlbGF0aXZl
LXBvc2l0aW9uLXJvdy1jb250YWlubWVudC5odG1sOiBBZGRlZC4KKiBMYXlvdXRUZXN0cy9mYXN0
L3RhYmxlL3JlbGF0aXZlLXBvc2l0aW9uLXJvdy1tdWx0aWNlbGwtZXhwZWN0ZWQuaHRtbDogQWRk
ZWQuCiogTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9yZWxhdGl2ZS1wb3NpdGlvbi1yb3ctbXVsdGlj
ZWxsLmh0bWw6IEFkZGVkLgoqIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNw
cDoKKFdlYkNvcmU6OnNob3VsZEVtaXROZXdsaW5lc0JlZm9yZUFuZEFmdGVyTm9kZSk6CiAgICBH
dWFyZCBhZ2FpbnN0IFJlbmRlclRhYmxlUm93IG5vdyBiZWluZyBhIFJlbmRlckJsb2NrLgoqIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9PdXRsaW5lUGFpbnRlci5jcHA6CihXZWJDb3JlOjpPdXRs
aW5lUGFpbnRlcjo6Y29sbGVjdEZvY3VzUmluZ1JlY3RzRm9yQmxvY2spOgogICAgR3VhcmQgYWdh
aW5zdCBSZW5kZXJUYWJsZVJvdyBub3cgYmVpbmcgYSBSZW5kZXJCbG9jay4KKiBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUG9zaXRpb25lZExheW91dENvbnN0cmFpbnRzLmNwcDoKKFdlYkNvcmU6
OnN0YXRpY0Rpc3RhbmNlKToKICAgIFJlbW92ZWQgcm93IHNraXAgLS0gdGhlIHJvdyBpcyBhIHBy
b3BlciBjb250YWluaW5nIGJsb2NrIG5vdy4KKiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQmxvY2suaDoKKiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoKKFdl
YkNvcmU6OlJlbmRlckJveDo6cG9zaXRpb25Gb3JQb2ludCk6CiAgICBSZW1vdmVkIGFsbCBpczxS
ZW5kZXJUYWJsZVJvdz4gY2hlY2tzIHRoYXQgY29tcGVuc2F0ZWQgZm9yCiAgICBzZWN0aW9uLXJl
bGF0aXZlIGNlbGwgcG9zaXRpb25zLgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
b3hNb2RlbE9iamVjdC5jcHA6CihXZWJDb3JlOjpSZW5kZXJCb3hNb2RlbE9iamVjdDo6YWRqdXN0
ZWRQb3NpdGlvblJlbGF0aXZlVG9PZmZzZXRQYXJlbnQgY29uc3QpOgooV2ViQ29yZTo6UmVuZGVy
Qm94TW9kZWxPYmplY3Q6OmNvbXB1dGVTdGlja3lQb3NpdGlvbkNvbnN0cmFpbnRzIGNvbnN0KToK
ICAgIFNraXAgdGhlIHJvdyB3aGVuIGZpbmRpbmcgdGhlIHN0aWNreSBjb25zdHJhaW50IHJlY3Rh
bmdsZS4gQSBzdGlja3kKICAgIGNlbGwgc2hvdWxkIGJlIGNvbnN0cmFpbmVkIGJ5IGl0cyBzZWN0
aW9uLCBub3QgdGhlIGluZGl2aWR1YWwgcm93CiAgICB3aG9zZSBjb250ZW50IGJveCBlcXVhbHMg
dGhlIGNlbGwncyBoZWlnaHQuCiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYWdt
ZW50ZWRGbG93LmNwcDoKKFdlYkNvcmU6OlJlbmRlckZyYWdtZW50ZWRGbG93OjpvZmZzZXRGcm9t
TG9naWNhbFRvcE9mRmlyc3RGcmFnbWVudCBjb25zdCk6CiAgICBVc2UgY29udGFpbmVyKCkgaW5z
dGVhZCBvZiBjb250YWluaW5nQmxvY2soKSBzbyBub24tUmVuZGVyQmxvY2sKICAgIGFuY2VzdG9y
cyBsaWtlIFJlbmRlclRhYmxlU2VjdGlvbiBhcmUgbm90IHNraXBwZWQuIFJlbW92ZXMgYWxsCiAg
ICB0YWJsZS1zcGVjaWZpYyBjb2RlIGZyb20gdGhpcyBmdW5jdGlvbi4KKiBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgooV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnVwZGF0
ZUxheWVyUG9zaXRpb24pOgogICAgUmVtb3ZlZCByb3cgc2tpcCBhbmQgcm93IHN1YnRyYWN0aW9u
IC0tIHRoZSBzdGFuZGFyZCBhbmNlc3RvciB3YWxrCiAgICBub3cgd29ya3MgYmVjYXVzZSBjZWxs
cyBhcmUgcm93LXJlbGF0aXZlLgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJs
ZS5jcHA6CihXZWJDb3JlOjpSZW5kZXJUYWJsZTo6cGFpbnRDb2xsYXBzZWRCb3JkZXJzRm9yUm93
KToKICAgIFBhaW50IGNvbGxhcHNlZCBib3JkZXJzIGZyb20gdGhlIHJvdydzIGxheWVyIGFmdGVy
IGNlbGwgYmFja2dyb3VuZHMuCihXZWJDb3JlOjpSZW5kZXJUYWJsZTo6Y29tcHV0ZVByZWZlcnJl
ZExvZ2ljYWxXaWR0aHMpOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZS5o
OgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNlbGwuY3BwOgooV2ViQ29y
ZTo6UmVuZGVyVGFibGVDZWxsOjpvZmZzZXRGcm9tQ29udGFpbmVyIGNvbnN0KToKICAgIFNpbXBs
aWZpZWQgdG8ganVzdCBjYWxsIHRoZSBiYXNlIGNsYXNzIC0tIG5vIG1vcmUgcm93IG9mZnNldAog
ICAgc3VidHJhY3Rpb24gbmVlZGVkLgooV2ViQ29yZTo6UmVuZGVyVGFibGVDZWxsOjpjb21wdXRl
VmlzaWJsZVJlY3RzSW5Db250YWluZXIgY29uc3QpOgogICAgUmVtb3ZlZCB0aGUgbW92ZUJ5KC1w
YXJlbnRCb3goKS0+bG9jYXRpb24oKSkgaGFjayB0aGF0IHByZXZlbnRlZAogICAgZG91YmxlLWNv
dW50aW5nIGR1cmluZyByZXBhaW50LgooV2ViQ29yZTo6UmVuZGVyVGFibGVDZWxsOjpmcmFtZVJl
Y3RGb3JTdGlja3lQb3NpdGlvbmluZyBjb25zdCk6IERlbGV0ZWQuCiogU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5oOgogICAgUmVtb3ZlZCBmcmFtZVJlY3RGb3JTdGlj
a3lQb3NpdGlvbmluZyBvdmVycmlkZSAtLSBjZWxscyBhcmUgYWxyZWFkeQogICAgcm93LXJlbGF0
aXZlIHNvIG5vIGNvbnZlcnNpb24gbmVlZGVkLgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUYWJsZVJvdy5jcHA6CihXZWJDb3JlOjpSZW5kZXJUYWJsZVJvdzo6UmVuZGVyVGFibGVS
b3cpOgogICAgUmVuZGVyQm94IC0+IFJlbmRlckJsb2NrIGJhc2UgY2xhc3MuCihXZWJDb3JlOjpS
ZW5kZXJUYWJsZVJvdzo6d2lsbEJlUmVtb3ZlZEZyb21UcmVlKToKKFdlYkNvcmU6OlJlbmRlclRh
YmxlUm93OjpzdHlsZURpZENoYW5nZSk6CihXZWJDb3JlOjpSZW5kZXJUYWJsZVJvdzo6bGF5b3V0
KToKICAgIFB1c2ggbG9jYXRpb25PZmZzZXQoKSBpbnN0ZWFkIG9mIHplcm8gc28gdGhlIGxheW91
dCBzdGF0ZSBpbmNsdWRlcwogICAgdGhlIHJvdydzIG9mZnNldCBmb3IgcGFnaW5hdGlvbi4gUmVt
b3ZlZCBjbGVhck5lZWRzTGF5b3V0KCkgLS0gbW92ZWQKICAgIHRvIGxheW91dFJvd3MoKSB3aGVy
ZSB0aGUgcm93J3MgZmluYWwgZGltZW5zaW9ucyBhcmUga25vd24uCihXZWJDb3JlOjpSZW5kZXJU
YWJsZVJvdzo6Y2xpcHBlZE92ZXJmbG93UmVjdCBjb25zdCk6CihXZWJDb3JlOjpSZW5kZXJUYWJs
ZVJvdzo6bm9kZUF0UG9pbnQpOgogICAgQWRkIGxvY2F0aW9uKCkgYW5kIGZsaXAgY2VsbHMgd2l0
aGluIHRoZSByb3csIG5vdCB0aGUgc2VjdGlvbi4KKFdlYkNvcmU6OlJlbmRlclRhYmxlUm93Ojpw
YWludCk6CiAgICBBZGQgbG9jYXRpb24oKSB0byBwYWludE9mZnNldCBmb3IgY2VsbHMuIFRoZSBs
YXllciBzeXN0ZW0gc3VidHJhY3RzCiAgICB0aGUgcm93J3MgbG9jYXRpb24gYmVmb3JlIGNhbGxp
bmcgcGFpbnQoKSwgc28gd2UgYWRkIGl0IGJhY2suIFBhaW50CiAgICBjb2xsYXBzZWQgYm9yZGVy
cyBmcm9tIHRoZSByb3cncyBsYXllci4KKFdlYkNvcmU6OlJlbmRlclRhYmxlUm93OjpyZXF1aXJl
c0xheWVyIGNvbnN0KToKICAgIEFkZGVkIGlzUG9zaXRpb25lZCgpIHNvIHBvc2l0aW9uOnJlbGF0
aXZlIHJvd3MgZ2V0IGEgbGF5ZXIuCiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRh
YmxlUm93Lmg6CihXZWJDb3JlOjpSZW5kZXJUYWJsZVJvdzo6bmV4dFJvdyBjb25zdCk6CihXZWJD
b3JlOjpSZW5kZXJUYWJsZVJvdzo6cHJldmlvdXNSb3cgY29uc3QpOgoqIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uY3BwOgooV2ViQ29yZTo6UmVuZGVyVGFibGVT
ZWN0aW9uOjpsYXlvdXRSb3dzKToKICAgIFJlc3RydWN0dXJlZCB3aXRoIGEgbGF5b3V0Q2VsbHMg
bGFtYmRhLiBXaGVuIGEgcm93IHJlbmRlcmVyIGV4aXN0czoKICAgIHBvc2l0aW9uIHRoZSByb3cs
IHB1c2ggaXRzIG9mZnNldCBvbnRvIHRoZSBsYXlvdXQgc3RhdGUsIGxheSBvdXQKICAgIGNlbGxz
LCB0aGVuIGZpbmFsaXplIHRoZSByb3cgKG92ZXJmbG93LCBvdXQtb2YtZmxvdyBsYXlvdXQsCiAg
ICBjbGVhck5lZWRzTGF5b3V0KS4KKFdlYkNvcmU6OlJlbmRlclRhYmxlU2VjdGlvbjo6Y29tcHV0
ZU92ZXJmbG93RnJvbUNlbGxzKToKICAgIEFkZCBvdmVyZmxvdyBmcm9tIHJvd3MgdmlhIGFkZE92
ZXJmbG93RnJvbUNvbnRhaW5lZEJveCgqcm93KS4gUm93cwogICAgYWxyZWFkeSBhY2N1bXVsYXRl
ZCBjZWxsIG92ZXJmbG93IHZpYSBhZGRPdmVyZmxvd0Zyb21JbkZsb3dDaGlsZHJlbiwKICAgIHdo
aWNoIHJlc3BlY3RzIG92ZXJmbG93OmhpZGRlbiB0aHJvdWdoIGxheW91dE92ZXJmbG93UmVjdEZv
clByb3BhZ2F0aW9uLgooV2ViQ29yZTo6UmVuZGVyVGFibGVTZWN0aW9uOjpiYXNlbGluZUZyb21D
ZWxsQ29udGVudEVkZ2VzIGNvbnN0KToKICAgIFVzZSBtX3Jvd1Bvc1tyb3dJbmRleF0gc2luY2Ug
Y2VsbC0+bG9naWNhbFRvcCgpIGlzIG5vdyAwLgooV2ViQ29yZTo6UmVuZGVyVGFibGVTZWN0aW9u
OjpwYWludENlbGwpOgogICAgVHdvLXN0ZXAgc2VjdGlvbi0+cm93LT5jZWxsIGNvb3JkaW5hdGUg
Y29udmVyc2lvbi4gUm93IGJhY2tncm91bmQKICAgIHVzZXMgdGhlIGZsaXAgb2Zmc2V0IHdpdGhv
dXQgcm93LmxvY2F0aW9uKCkgc2luY2UgYmFja2dyb3VuZFJlY3RGb3JSb3cKICAgIGFscmVhZHkg
aW5jbHVkZXMgdGhlIHJvdydzIHBvc2l0aW9uIGZyb20gZnJhbWVSZWN0KCkuCihXZWJDb3JlOjpS
ZW5kZXJUYWJsZVNlY3Rpb246OnBhaW50T2JqZWN0KToKICAgIFNhbWUgc2VjdGlvbi0+cm93LT5j
ZWxsIHBhdHRlcm4gZm9yIGNvbGxhcHNlZCBib3JkZXJzLgooV2ViQ29yZTo6UmVuZGVyVGFibGVT
ZWN0aW9uOjpub2RlQXRQb2ludCk6CiAgICBPdmVyZmxvdyBwYXRoOiBmbGlwIHJvdyB3aXRoaW4g
c2VjdGlvbiBiZWZvcmUgY2FsbGluZyByb3ctPm5vZGVBdFBvaW50LgogICAgTm9uLW92ZXJmbG93
IHBhdGg6IHNlY3Rpb24tPnJvdy0+Y2VsbCBmbGlwIHdpdGggKyByb3cubG9jYXRpb24oKS4KKFdl
YkNvcmU6OlJlbmRlclRhYmxlU2VjdGlvbjo6c2V0TG9naWNhbFBvc2l0aW9uRm9yQ2VsbCBjb25z
dCk6CiAgICBDZWxsIFkgPSAwIGluc3RlYWQgb2YgbV9yb3dQb3Nbcm93SW5kZXhdLiBUaGUgY29y
ZSBjaGFuZ2UuCiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuY3Bw
OgooV2ViQ29yZTo6UmVuZGVyVHJlZUFzVGV4dDo6d3JpdGVSZW5kZXJPYmplY3QpOgogICAgVGVt
cG9yYXJpbHkgZHVtcCBjZWxsIHBvc2l0aW9ucyBhcyBzZWN0aW9uLXJlbGF0aXZlIHRvIGF2b2lk
CiAgICByZWJhc2VsaW5pbmcgZXZlcnkgdGFibGUgcmVuZGVyIHRyZWUgZHVtcCB0ZXN0LgoqIFNv
dXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQWRqdXN0ZXIuY3BwOgooV2ViQ29yZTo6U3R5bGU6OkFk
anVzdGVyOjphZGp1c3QgY29uc3QpOgogICAgQWxsb3cgcG9zaXRpb246cmVsYXRpdmUgb24gdGFi
bGUgcm93cy4gUmVzZXQgb3ZlcmZsb3cgdG8gaW5pdGlhbAogICAgdmFsdWUgb24gcm93cyBwZXIg
Q1NTMiBzZWN0aW9uIDExLjEuMS4KCkNvLUF1dGhvcmVkLUJ5OiBDbGF1ZGUgT3B1cyA0LjYgKDFN
IGNvbnRleHQpIDxub3JlcGx5QGFudGhyb3BpYy5jb20+Ci0tLQogU291cmNlL1dlYkNvcmUvZWRp
dGluZy9UZXh0SXRlcmF0b3IuY3BwICAgICAgIHwgICA1ICsKIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9PdXRsaW5lUGFpbnRlci5jcHAgICB8ICAgNSArCiAuLi4vcmVuZGVyaW5nL1Bvc2l0aW9u
ZWRMYXlvdXRDb25zdHJhaW50cy5jcHAgfCAgIDMgKy0KIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCbG9jay5oICAgICAgICB8ICAgMyArLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJveC5jcHAgICAgICAgIHwgIDExICstCiAuLi4vcmVuZGVyaW5nL1JlbmRlckJveE1v
ZGVsT2JqZWN0LmNwcCAgICAgICAgfCAgIDcgKy0KIC4uLi9yZW5kZXJpbmcvUmVuZGVyRnJhZ21l
bnRlZEZsb3cuY3BwICAgICAgICB8ICAzOCArKy0tCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXIuY3BwICAgICAgfCAgMTIgKy0KIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUYWJsZS5jcHAgICAgICB8ICAzMCArKysKIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUYWJsZS5oICAgICAgICB8ICAgMiArCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGFibGVDZWxsLmNwcCAgfCAgMjAgKy0KIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUYWJsZUNlbGwuaCAgICB8ICAgMiAtCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGFibGVSb3cuY3BwICAgfCAgNDIgKystLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRhYmxlUm93LmggICAgIHwgICA3ICstCiAuLi4vV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFi
bGVTZWN0aW9uLmNwcCAgfCAxODMgKysrKysrKysrKy0tLS0tLS0tCiBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5jcHAgfCAgIDQgKy0KIFNvdXJjZS9XZWJDb3JlL3N0
eWxlL1N0eWxlQWRqdXN0ZXIuY3BwICAgICAgICB8ICAxMyArLQogTGF5b3V0VGVzdHMvVGVzdEV4
cGVjdGF0aW9ucyAgICAgICAgICAgICAgICAgIHwgICAxICsKIC4uLm9zaXRpb25lZC1yb3ctbm8t
Y29udGFpbm1lbnQtZXhwZWN0ZWQuaHRtbCB8ICAxNCArKwogLi4uL25vbi1wb3NpdGlvbmVkLXJv
dy1uby1jb250YWlubWVudC5odG1sICAgIHwgIDMzICsrKysKIC4uLml2ZS1wb3NpdGlvbi1yb3ct
Y29udGFpbm1lbnQtZXhwZWN0ZWQuaHRtbCB8ICAxNSArKwogLi4uL3JlbGF0aXZlLXBvc2l0aW9u
LXJvdy1jb250YWlubWVudC5odG1sICAgIHwgIDMyICsrKwogLi4uYXRpdmUtcG9zaXRpb24tcm93
LW11bHRpY2VsbC1leHBlY3RlZC5odG1sIHwgIDE0ICsrCiAuLi4vcmVsYXRpdmUtcG9zaXRpb24t
cm93LW11bHRpY2VsbC5odG1sICAgICAgfCAgMzMgKysrKwogMjQgZmlsZXMgY2hhbmdlZCwgMzU1
IGluc2VydGlvbnMoKyksIDE3NCBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlv
dXRUZXN0cy9mYXN0L3RhYmxlL25vbi1wb3NpdGlvbmVkLXJvdy1uby1jb250YWlubWVudC1leHBl
Y3RlZC5odG1sCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9ub24t
cG9zaXRpb25lZC1yb3ctbm8tY29udGFpbm1lbnQuaHRtbAogY3JlYXRlIG1vZGUgMTAwNjQ0IExh
eW91dFRlc3RzL2Zhc3QvdGFibGUvcmVsYXRpdmUtcG9zaXRpb24tcm93LWNvbnRhaW5tZW50LWV4
cGVjdGVkLmh0bWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L3RhYmxlL3Jl
bGF0aXZlLXBvc2l0aW9uLXJvdy1jb250YWlubWVudC5odG1sCiBjcmVhdGUgbW9kZSAxMDA2NDQg
TGF5b3V0VGVzdHMvZmFzdC90YWJsZS9yZWxhdGl2ZS1wb3NpdGlvbi1yb3ctbXVsdGljZWxsLWV4
cGVjdGVkLmh0bWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L3RhYmxlL3Jl
bGF0aXZlLXBvc2l0aW9uLXJvdy1tdWx0aWNlbGwuaHRtbAoKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
VGV4dEl0ZXJhdG9yLmNwcAppbmRleCAwMWUzODM2NjY5MWMuLjZlZTQ5ZjI1NDQ0ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcApAQCAtOTQwLDYgKzk0MCwxMSBAQCBi
b29sIHNob3VsZEVtaXROZXdsaW5lc0JlZm9yZUFuZEFmdGVyTm9kZShOb2RlJiBub2RlKQogICAg
IGlmIChzaG91bGRFbWl0UmVwbGFjZW1lbnRJbnN0ZWFkT2ZOb2RlKG5vZGUpKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKKyAgICAvLyBUYWJsZSByb3dzIGFyZSBSZW5kZXJCbG9ja3MgYnV0IGhh
dmUgdGhlaXIgb3duIG5ld2xpbmUgbG9naWMgYWJvdmUKKyAgICAvLyB0aGF0IGFjY291bnRzIGZv
ciBpbmxpbmUgdGFibGVzLgorICAgIGlmIChpczxSZW5kZXJUYWJsZVJvdz4oKnJlbmRlcmVyKSkK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgcmV0dXJuICFyZW5kZXJlci0+aXNJbmxpbmUo
KQogICAgICAgICAmJiBpczxSZW5kZXJCbG9jaz4oKnJlbmRlcmVyKQogICAgICAgICAmJiAhcmVu
ZGVyZXItPmlzRmxvYXRpbmdPck91dE9mRmxvd1Bvc2l0aW9uZWQoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL091dGxpbmVQYWludGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9PdXRsaW5lUGFpbnRlci5jcHAKaW5kZXggNTAwMDA0N2VkNzY3Li4zOTBjNDQw
ZGZkYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9PdXRsaW5lUGFpbnRl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL091dGxpbmVQYWludGVyLmNwcApA
QCAtMzg5LDYgKzM4OSwxMSBAQCBib29sIE91dGxpbmVQYWludGVyOjpjb2xsZWN0Rm9jdXNSaW5n
UmVjdHNGb3JCbG9jayhjb25zdCBSZW5kZXJCbG9jayYgcmVuZGVyZXIsCiAgICAgaWYgKHJlbmRl
cmVyLndpZHRoKCkgJiYgcmVuZGVyZXIuaGVpZ2h0KCkpCiAgICAgICAgIHJlY3RzLmFwcGVuZChM
YXlvdXRSZWN0KGFkZGl0aW9uYWxPZmZzZXQsIHJlbmRlcmVyLnNpemUoKSkpOwogCisgICAgLy8g
VGFibGUgcm93cyBzaGFyZSBjb29yZGluYXRlIHNwYWNlIHdpdGggY2VsbHM7IGRvbid0IHJlY3Vy
c2UgaW50byBjZWxscworICAgIC8vIGFzIHRoZWlyIGJvdW5kcyBtYXkgZXh0ZW5kIGJleW9uZCB0
aGUgcm93IChlLmcuIHJvd3NwYW4pLgorICAgIGlmIChyZW5kZXJlci5pc1JlbmRlclRhYmxlUm93
KCkpCisgICAgICAgIHJldHVybiB0cnVlOworCiAgICAgaWYgKCFyZW5kZXJlci5oYXNOb25WaXNp
YmxlT3ZlcmZsb3coKSAmJiAhcmVuZGVyZXIuaGFzQ29udHJvbENsaXAoKSkgewogICAgICAgICBp
ZiAocmVuZGVyZXIuY2hpbGRyZW5JbmxpbmUoKSAmJiBpczxSZW5kZXJCbG9ja0Zsb3c+KHJlbmRl
cmVyKSkKICAgICAgICAgICAgIGNvbGxlY3RGb2N1c1JpbmdSZWN0c0ZvcklubGluZUNoaWxkcmVu
KGRvd25jYXN0PFJlbmRlckJsb2NrRmxvdz4ocmVuZGVyZXIpLCByZWN0cywgYWRkaXRpb25hbE9m
ZnNldCwgcGFpbnRDb250YWluZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1Bvc2l0aW9uZWRMYXlvdXRDb25zdHJhaW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUG9zaXRpb25lZExheW91dENvbnN0cmFpbnRzLmNwcAppbmRleCBmNjFhZDg4YzIxZDgu
LmMwYzZhNTNiN2EwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Bvc2l0
aW9uZWRMYXlvdXRDb25zdHJhaW50cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1Bvc2l0aW9uZWRMYXlvdXRDb25zdHJhaW50cy5jcHAKQEAgLTM0LDcgKzM0LDYgQEAKICNpbmNs
dWRlICJSZW5kZXJJbmxpbmUuaCIKICNpbmNsdWRlICJSZW5kZXJMYXllci5oIgogI2luY2x1ZGUg
IlJlbmRlclN0eWxlLmgiCi0jaW5jbHVkZSAiUmVuZGVyVGFibGVSb3cuaCIKICNpbmNsdWRlICJS
ZW5kZXJWaWV3LmgiCiAjaW5jbHVkZSAiU3R5bGVQb3NpdGlvbkFyZWEuaCIKIApAQCAtNjU2LDcg
KzY1NSw3IEBAIHN0YXRpYyBMYXlvdXRQb2ludCBzdGF0aWNEaXN0YW5jZShjb25zdCBSZW5kZXJC
b3hNb2RlbE9iamVjdCYgY29udGFpbmVyLCBjb25zdCBSCiAgICAgYXV0byBoYXNTZWVuTm9uSW5s
aW5lQm94Q29udGFpbmVyID0gZmFsc2U7CiAgICAgZm9yIChhdXRvKiBhbmNlc3RvckNvbnRhaW5l
ciA9IGNoaWxkLT5wYXJlbnQoKTsgYW5jZXN0b3JDb250YWluZXIgJiYgYW5jZXN0b3JDb250YWlu
ZXIgIT0gJmNvbnRhaW5lcjsgYW5jZXN0b3JDb250YWluZXIgPSBhbmNlc3RvckNvbnRhaW5lci0+
Y29udGFpbmVyKCkpIHsKICAgICAgICAgQ2hlY2tlZFB0ciBjb250YWluZXJCb3ggPSBkeW5hbWlj
RG93bmNhc3Q8UmVuZGVyQm94PigqYW5jZXN0b3JDb250YWluZXIpOwotICAgICAgICBpZiAoIWNv
bnRhaW5lckJveCB8fCBpczxSZW5kZXJUYWJsZVJvdz4oKmNvbnRhaW5lckJveCkpCisgICAgICAg
IGlmICghY29udGFpbmVyQm94KQogICAgICAgICAgICAgY29udGludWU7CiAKICAgICAgICAgc3Rh
dGljUG9zaXRpb24gPSBjaGlsZCA9PSAmb3V0T2ZGbG93Qm94ID8gaW5pdGlhbFN0YXRpY1Bvc2l0
aW9uKCkgOiBwb3NpdGlvbkluQ29udGFpbmVyKCpjb250YWluZXJCb3gsICpjaGlsZCwgc3RhdGlj
UG9zaXRpb24pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJs
b2NrLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAppbmRleCA4ZDFl
ZDNkNWQ1NzcuLjlmZTQ1MDRhMzhiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJsb2NrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJs
b2NrLmgKQEAgLTI1NSwxMyArMjU1LDE0IEBAIHB1YmxpYzoKIAogICAgIFBhaW50SW5mbyBwYWlu
dEluZm9Gb3JCbG9ja0NoaWxkcmVuKGNvbnN0IFBhaW50SW5mbyYpIGNvbnN0OwogCisgICAgdm9p
ZCBsYXlvdXRPdXRPZkZsb3dCb3hlcyhSZWxheW91dENoaWxkcmVuLCBib29sIGZpeGVkUG9zaXRp
b25PYmplY3RzT25seSA9IGZhbHNlKTsKKwogcHJvdGVjdGVkOgogICAgIFJlbmRlckZyYWdtZW50
ZWRGbG93KiBsb2NhdGVFbmNsb3NpbmdGcmFnbWVudGVkRmxvdygpIGNvbnN0IG92ZXJyaWRlOwog
ICAgIGJvb2wgZXN0YWJsaXNoZXNJbmRlcGVuZGVudEZvcm1hdHRpbmdDb250ZXh0SWdub3JpbmdE
aXNwbGF5VHlwZShjb25zdCBSZW5kZXJTdHlsZSYpIGNvbnN0OwogCiAgICAgdm9pZCBsYXlvdXQo
KSBvdmVycmlkZTsKIAotICAgIHZvaWQgbGF5b3V0T3V0T2ZGbG93Qm94ZXMoUmVsYXlvdXRDaGls
ZHJlbiwgYm9vbCBmaXhlZFBvc2l0aW9uT2JqZWN0c09ubHkgPSBmYWxzZSk7CiAgICAgdmlydHVh
bCB2b2lkIGxheW91dE91dE9mRmxvd0JveChSZW5kZXJCb3gmLCBSZWxheW91dENoaWxkcmVuLCBi
b29sIGZpeGVkUG9zaXRpb25PYmplY3RzT25seSk7CiAgICAgCiAgICAgdm9pZCBtYXJrRml4ZWRQ
b3NpdGlvbkJveEZvckxheW91dElmTmVlZGVkKFJlbmRlckJveCYgY2hpbGQpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAppbmRleCAxNGViNDM0NzY2ZmYuLjI0YTA4ZWMxNzY5
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKQEAgLTQ0MjIsOSArNDQy
Miw2IEBAIFBvc2l0aW9uV2l0aEFmZmluaXR5IFJlbmRlckJveDo6cG9zaXRpb25Gb3JQb2ludChj
b25zdCBMYXlvdXRQb2ludCYgcG9pbnQsIEhpdFRlCiAgICAgLy8gUGFzcyBvZmYgdG8gdGhlIGNs
b3Nlc3QgY2hpbGQuCiAgICAgTGF5b3V0VW5pdCBtaW5EaXN0ID0gTGF5b3V0VW5pdDo6bWF4KCk7
CiAgICAgUmVuZGVyQm94KiBjbG9zZXN0UmVuZGVyZXIgPSBudWxscHRyOwotICAgIExheW91dFBv
aW50IGFkanVzdGVkUG9pbnQgPSBwb2ludDsKLSAgICBpZiAoaXNSZW5kZXJUYWJsZVJvdygpKQot
ICAgICAgICBhZGp1c3RlZFBvaW50Lm1vdmVCeShsb2NhdGlvbigpKTsKIAogICAgIGZvciAoYXV0
byYgcmVuZGVyZXIgOiBjaGlsZHJlbk9mVHlwZTxSZW5kZXJCb3g+KCp0aGlzKSkgewogICAgICAg
ICBpZiAoQ2hlY2tlZFB0ciBmcmFnbWVudGVkRmxvdyA9IGR5bmFtaWNEb3duY2FzdDxSZW5kZXJG
cmFnbWVudGVkRmxvdz4oKnRoaXMpKSB7CkBAIC00NDM3LDE0ICs0NDM0LDEyIEBAIFBvc2l0aW9u
V2l0aEFmZmluaXR5IFJlbmRlckJveDo6cG9zaXRpb25Gb3JQb2ludChjb25zdCBMYXlvdXRQb2lu
dCYgcG9pbnQsIEhpdFRlCiAgICAgICAgICAgICB8fCAoc291cmNlID09IEhpdFRlc3RTb3VyY2U6
OlNjcmlwdCA/IHJlbmRlcmVyLnN0eWxlKCkudmlzaWJpbGl0eSgpIDogcmVuZGVyZXIuc3R5bGUo
KS51c2VkVmlzaWJpbGl0eSgpKSAhPSBWaXNpYmlsaXR5OjpWaXNpYmxlKQogICAgICAgICAgICAg
Y29udGludWU7CiAKLSAgICAgICAgTGF5b3V0VW5pdCB0b3AgPSByZW5kZXJlci5ib3JkZXJUb3Ao
KSArIHJlbmRlcmVyLnBhZGRpbmdUb3AoKSArIChpczxSZW5kZXJUYWJsZVJvdz4oKnRoaXMpID8g
MF9sdSA6IHJlbmRlcmVyLnkoKSk7CisgICAgICAgIExheW91dFVuaXQgdG9wID0gcmVuZGVyZXIu
Ym9yZGVyVG9wKCkgKyByZW5kZXJlci5wYWRkaW5nVG9wKCkgKyByZW5kZXJlci55KCk7CiAgICAg
ICAgIExheW91dFVuaXQgYm90dG9tID0gdG9wICsgcmVuZGVyZXIuY29udGVudEJveEhlaWdodCgp
OwotICAgICAgICBMYXlvdXRVbml0IGxlZnQgPSByZW5kZXJlci5ib3JkZXJMZWZ0KCkgKyByZW5k
ZXJlci5wYWRkaW5nTGVmdCgpICsgKGlzPFJlbmRlclRhYmxlUm93PigqdGhpcykgPyAwX2x1IDog
cmVuZGVyZXIueCgpKTsKKyAgICAgICAgTGF5b3V0VW5pdCBsZWZ0ID0gcmVuZGVyZXIuYm9yZGVy
TGVmdCgpICsgcmVuZGVyZXIucGFkZGluZ0xlZnQoKSArIHJlbmRlcmVyLngoKTsKICAgICAgICAg
TGF5b3V0VW5pdCByaWdodCA9IGxlZnQgKyByZW5kZXJlci5jb250ZW50Qm94V2lkdGgoKTsKICAg
ICAgICAgCiAgICAgICAgIGlmIChwb2ludC54KCkgPD0gcmlnaHQgJiYgcG9pbnQueCgpID49IGxl
ZnQgJiYgcG9pbnQueSgpID49IHRvcCAmJiBwb2ludC55KCkgPD0gYm90dG9tKSB7Ci0gICAgICAg
ICAgICBpZiAoaXM8UmVuZGVyVGFibGVSb3c+KHJlbmRlcmVyKSkKLSAgICAgICAgICAgICAgICBy
ZXR1cm4gcmVuZGVyZXIucG9zaXRpb25Gb3JQb2ludChwb2ludCArIGFkanVzdGVkUG9pbnQgLSBy
ZW5kZXJlci5sb2NhdGlvbk9mZnNldCgpLCBzb3VyY2UsIGZyYWdtZW50KTsKICAgICAgICAgICAg
IHJldHVybiByZW5kZXJlci5wb3NpdGlvbkZvclBvaW50KHBvaW50IC0gcmVuZGVyZXIubG9jYXRp
b25PZmZzZXQoKSwgc291cmNlLCBmcmFnbWVudCk7CiAgICAgICAgIH0KIApAQCAtNDQ4Miw3ICs0
NDc3LDcgQEAgUG9zaXRpb25XaXRoQWZmaW5pdHkgUmVuZGVyQm94Ojpwb3NpdGlvbkZvclBvaW50
KGNvbnN0IExheW91dFBvaW50JiBwb2ludCwgSGl0VGUKICAgICB9CiAgICAgCiAgICAgaWYgKGNs
b3Nlc3RSZW5kZXJlcikKLSAgICAgICAgcmV0dXJuIGNsb3Nlc3RSZW5kZXJlci0+cG9zaXRpb25G
b3JQb2ludChhZGp1c3RlZFBvaW50IC0gY2xvc2VzdFJlbmRlcmVyLT5sb2NhdGlvbk9mZnNldCgp
LCBzb3VyY2UsIGZyYWdtZW50KTsKKyAgICAgICAgcmV0dXJuIGNsb3Nlc3RSZW5kZXJlci0+cG9z
aXRpb25Gb3JQb2ludChwb2ludCAtIGNsb3Nlc3RSZW5kZXJlci0+bG9jYXRpb25PZmZzZXQoKSwg
c291cmNlLCBmcmFnbWVudCk7CiAgICAgCiAgICAgcmV0dXJuIGNyZWF0ZVBvc2l0aW9uV2l0aEFm
ZmluaXR5KGZpcnN0UG9zaXRpb25Jbk9yQmVmb3JlTm9kZShub25Qc2V1ZG9FbGVtZW50KCkpKTsK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9i
amVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3Qu
Y3BwCmluZGV4IGE5ZTAzN2ExNjg2My4uMzBlNWZkYzhiNDIzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKQEAgLTU5LDcgKzU5LDYg
QEAKICNpbmNsdWRlICJSZW5kZXJNdWx0aUNvbHVtbkZsb3cuaCIKICNpbmNsdWRlICJSZW5kZXJP
YmplY3RJbmxpbmVzLmgiCiAjaW5jbHVkZSAiUmVuZGVyVGFibGUuaCIKLSNpbmNsdWRlICJSZW5k
ZXJUYWJsZVJvdy5oIgogI2luY2x1ZGUgIlJlbmRlclRleHQuaCIKICNpbmNsdWRlICJSZW5kZXJU
ZXh0RnJhZ21lbnQuaCIKICNpbmNsdWRlICJSZW5kZXJUcmVlQnVpbGRlci5oIgpAQCAtNDM4LDcg
KzQzNyw3IEBAIExheW91dFBvaW50IFJlbmRlckJveE1vZGVsT2JqZWN0OjphZGp1c3RlZFBvc2l0
aW9uUmVsYXRpdmVUb09mZnNldFBhcmVudChjb25zdCBMCiAgICAgICAgICAgICAgICAgICAgIGlm
IChhdXRvKiBmcmFnbWVudCA9IHJlbmRlck11bHRpQ29sdW1uRmxvdy0+cGh5c2ljYWxUcmFuc2xh
dGlvbkZyb21GbG93VG9GcmFnbWVudChyZWZlcmVuY2VQb2ludCkpCiAgICAgICAgICAgICAgICAg
ICAgICAgICByZWZlcmVuY2VQb2ludC5tb3ZlQnkoZnJhZ21lbnQtPnRvcExlZnRMb2NhdGlvbigp
KTsKICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCFpc091dE9mRmxvd1Bvc2l0aW9uZWQoKSkg
ewotICAgICAgICAgICAgICAgICAgICBpZiAoYXV0byogcmVuZGVyQm94ID0gZHluYW1pY0Rvd25j
YXN0PFJlbmRlckJveD4oKmFuY2VzdG9yKTsgcmVuZGVyQm94ICYmICFpczxSZW5kZXJUYWJsZVJv
dz4oKmFuY2VzdG9yKSkKKyAgICAgICAgICAgICAgICAgICAgaWYgKGF1dG8qIHJlbmRlckJveCA9
IGR5bmFtaWNEb3duY2FzdDxSZW5kZXJCb3g+KCphbmNlc3RvcikpCiAgICAgICAgICAgICAgICAg
ICAgICAgICByZWZlcmVuY2VQb2ludC5tb3ZlQnkocmVuZGVyQm94LT50b3BMZWZ0TG9jYXRpb24o
KSk7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIApAQCAtNDY4LDggKzQ2Nywx
MCBAQCB2b2lkIFJlbmRlckJveE1vZGVsT2JqZWN0Ojpjb21wdXRlU3RpY2t5UG9zaXRpb25Db25z
dHJhaW50cyhTdGlja3lQb3NpdGlvblZpZXdwbwogICAgIC8vIERvIG5vdCB1c2UgYW5vbnltb3Vz
IGNvbnRhaW5pbmcgYmxvY2tzIHRvIGRldGVybWluZSBzdGlja3kgY29uc3RyYWludHMuIFdlIHdh
bnQgdGhlIHNpemUKICAgICAvLyBvZiB0aGUgZmlyc3QgdHJ1ZSBjb250YWluaW5nIGJsb2NrLCBi
ZWNhdXNlIHRoYXQgaXMgd2hhdCBpbXBvc2VzIHRoZSBsaW1pdGF0aW9uIG9uIHRoZQogICAgIC8v
IG1vdmVtZW50IG9mIHN0aWNraWx5IHBvc2l0aW9uZWQgaXRlbXMuCisgICAgLy8gVGFibGUgcm93
cyBhcmUgYWxzbyBza2lwcGVkIGJlY2F1c2UgYSBzdGlja3kgY2VsbCBzaG91bGQgYmUgY29uc3Ry
YWluZWQgYnkgaXRzIHNlY3Rpb24KKyAgICAvLyAodGhlYWQvdGJvZHkvdGZvb3QpLCBub3QgYnkg
dGhlIGluZGl2aWR1YWwgcm93IHdob3NlIGNvbnRlbnQgYm94IGlzIHRoZSBzYW1lIGhlaWdodCBh
cyB0aGUgY2VsbC4KICAgICBSZW5kZXJCbG9jayogY29udGFpbmluZ0Jsb2NrID0gdGhpcy0+Y29u
dGFpbmluZ0Jsb2NrKCk7Ci0gICAgd2hpbGUgKGNvbnRhaW5pbmdCbG9jayAmJiAoIWlzPFJlbmRl
ckJsb2NrPigqY29udGFpbmluZ0Jsb2NrKSB8fCBjb250YWluaW5nQmxvY2stPmlzQW5vbnltb3Vz
QmxvY2soKSkpCisgICAgd2hpbGUgKGNvbnRhaW5pbmdCbG9jayAmJiAoIWlzPFJlbmRlckJsb2Nr
PigqY29udGFpbmluZ0Jsb2NrKSB8fCBjb250YWluaW5nQmxvY2stPmlzQW5vbnltb3VzQmxvY2so
KSB8fCBjb250YWluaW5nQmxvY2stPmlzUmVuZGVyVGFibGVSb3coKSkpCiAgICAgICAgIGNvbnRh
aW5pbmdCbG9jayA9IGNvbnRhaW5pbmdCbG9jay0+Y29udGFpbmluZ0Jsb2NrKCk7CiAgICAgQVNT
RVJUKGNvbnRhaW5pbmdCbG9jayk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJGcmFnbWVudGVkRmxvdy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyRnJhZ21lbnRlZEZsb3cuY3BwCmluZGV4IGRiMTYwOGFjZjE2Zi4uMmUzNjRiZjEyM2Zk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRlZEZs
b3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFnbWVudGVkRmxv
dy5jcHAKQEAgLTQzLDggKzQzLDYgQEAKICNpbmNsdWRlICJSZW5kZXJMYXlvdXRTdGF0ZS5oIgog
I2luY2x1ZGUgIlJlbmRlck9iamVjdElubGluZXMuaCIKICNpbmNsdWRlICJSZW5kZXJTdHlsZStH
ZXR0ZXJzSW5saW5lcy5oIgotI2luY2x1ZGUgIlJlbmRlclRhYmxlQ2VsbC5oIgotI2luY2x1ZGUg
IlJlbmRlclRhYmxlU2VjdGlvbi5oIgogI2luY2x1ZGUgIlJlbmRlclRoZW1lLmgiCiAjaW5jbHVk
ZSAiUmVuZGVyVmlldy5oIgogI2luY2x1ZGUgIlRyYW5zZm9ybVN0YXRlLmgiCkBAIC03ODAsMzQg
Kzc3OCwzMiBAQCBMYXlvdXRSZWN0IFJlbmRlckZyYWdtZW50ZWRGbG93OjpmcmFnbWVudHNCb3Vu
ZGluZ0JveChjb25zdCBMYXlvdXRSZWN0JiBsYXllckJvdQogTGF5b3V0VW5pdCBSZW5kZXJGcmFn
bWVudGVkRmxvdzo6b2Zmc2V0RnJvbUxvZ2ljYWxUb3BPZkZpcnN0RnJhZ21lbnQoY29uc3QgUmVu
ZGVyQmxvY2sqIGN1cnJlbnRCbG9jaykgY29uc3QKIHsKICAgICAvLyBBcyBhIGxhc3QgcmVzb3J0
LCB0YWtlIHRoZSBzbG93IHBhdGguCi0gICAgTGF5b3V0UmVjdCBibG9ja1JlY3QoMF9sdSwgMF9s
dSwgY3VycmVudEJsb2NrLT53aWR0aCgpLCBjdXJyZW50QmxvY2stPmhlaWdodCgpKTsKLSAgICB3
aGlsZSAoY3VycmVudEJsb2NrICYmICFpczxSZW5kZXJWaWV3PigqY3VycmVudEJsb2NrKSAmJiAh
Y3VycmVudEJsb2NrLT5pc1JlbmRlckZyYWdtZW50ZWRGbG93KCkpIHsKLSAgICAgICAgUmVuZGVy
QmxvY2sqIGNvbnRhaW5lckJsb2NrID0gY3VycmVudEJsb2NrLT5jb250YWluaW5nQmxvY2soKTsK
LSAgICAgICAgQVNTRVJUKGNvbnRhaW5lckJsb2NrKTsKLSAgICAgICAgaWYgKCFjb250YWluZXJC
bG9jaykKKyAgICAvLyBVc2UgY29udGFpbmVyKCkgcmF0aGVyIHRoYW4gY29udGFpbmluZ0Jsb2Nr
KCkgc2luY2UgY29udGFpbmluZ0Jsb2NrKCkKKyAgICAvLyBza2lwcyBub24tUmVuZGVyQmxvY2sg
YW5jZXN0b3JzIGxpa2UgUmVuZGVyVGFibGVTZWN0aW9uLgorICAgIENoZWNrZWRQdHI8Y29uc3Qg
UmVuZGVyQm94PiBjdXJyZW50Qm94ID0gY3VycmVudEJsb2NrOworICAgIExheW91dFJlY3QgYmxv
Y2tSZWN0KDBfbHUsIDBfbHUsIGN1cnJlbnRCb3gtPndpZHRoKCksIGN1cnJlbnRCb3gtPmhlaWdo
dCgpKTsKKyAgICB3aGlsZSAoY3VycmVudEJveCAmJiAhaXM8UmVuZGVyVmlldz4oKmN1cnJlbnRC
b3gpICYmICFjdXJyZW50Qm94LT5pc1JlbmRlckZyYWdtZW50ZWRGbG93KCkpIHsKKyAgICAgICAg
Q2hlY2tlZFB0ciBjb250YWluZXJCb3ggPSBkeW5hbWljRG93bmNhc3Q8UmVuZGVyQm94PihjdXJy
ZW50Qm94LT5jb250YWluZXIoKSk7CisgICAgICAgIGlmICghY29udGFpbmVyQm94KQogICAgICAg
ICAgICAgcmV0dXJuIDA7Ci0gICAgICAgIExheW91dFBvaW50IGN1cnJlbnRCbG9ja0xvY2F0aW9u
ID0gY3VycmVudEJsb2NrLT5sb2NhdGlvbigpOwotICAgICAgICBpZiAoYXV0byogY2VsbCA9IGR5
bmFtaWNEb3duY2FzdDxSZW5kZXJUYWJsZUNlbGw+KCpjdXJyZW50QmxvY2spKSB7Ci0gICAgICAg
ICAgICBpZiAoYXV0byogc2VjdGlvbiA9IGNlbGwtPnNlY3Rpb24oKSkKLSAgICAgICAgICAgICAg
ICBjdXJyZW50QmxvY2tMb2NhdGlvbi5tb3ZlQnkoc2VjdGlvbi0+bG9jYXRpb24oKSk7Ci0gICAg
ICAgIH0KKyAgICAgICAgTGF5b3V0UG9pbnQgY3VycmVudEJveExvY2F0aW9uID0gY3VycmVudEJv
eC0+bG9jYXRpb24oKTsKIAotICAgICAgICBpZiAoY29udGFpbmVyQmxvY2stPndyaXRpbmdNb2Rl
KCkuYmxvY2tEaXJlY3Rpb24oKSAhPSBjdXJyZW50QmxvY2stPndyaXRpbmdNb2RlKCkuYmxvY2tE
aXJlY3Rpb24oKSkgeworICAgICAgICBpZiAoY29udGFpbmVyQm94LT53cml0aW5nTW9kZSgpLmJs
b2NrRGlyZWN0aW9uKCkgIT0gY3VycmVudEJveC0+d3JpdGluZ01vZGUoKS5ibG9ja0RpcmVjdGlv
bigpKSB7CiAgICAgICAgICAgICAvLyBXZSBoYXZlIHRvIHB1dCB0aGUgYmxvY2sgcmVjdCBpbiBj
b250YWluZXIgY29vcmRpbmF0ZXMKICAgICAgICAgICAgIC8vIGFuZCB3ZSBoYXZlIHRvIHRha2Ug
aW50byBhY2NvdW50IGJvdGggdGhlIGNvbnRhaW5lciBhbmQgY3VycmVudCBibG9jayBmbGlwcGlu
ZyBtb2RlcwotICAgICAgICAgICAgaWYgKGNvbnRhaW5lckJsb2NrLT53cml0aW5nTW9kZSgpLmlz
QmxvY2tGbGlwcGVkKCkpIHsKLSAgICAgICAgICAgICAgICBpZiAoY29udGFpbmVyQmxvY2stPmlz
SG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpCi0gICAgICAgICAgICAgICAgICAgIGJsb2NrUmVjdC5z
ZXRZKGN1cnJlbnRCbG9jay0+aGVpZ2h0KCkgLSBibG9ja1JlY3QubWF4WSgpKTsKKyAgICAgICAg
ICAgIGlmIChjb250YWluZXJCb3gtPndyaXRpbmdNb2RlKCkuaXNCbG9ja0ZsaXBwZWQoKSkgewor
ICAgICAgICAgICAgICAgIGlmIChjb250YWluZXJCb3gtPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2Rl
KCkpCisgICAgICAgICAgICAgICAgICAgIGJsb2NrUmVjdC5zZXRZKGN1cnJlbnRCb3gtPmhlaWdo
dCgpIC0gYmxvY2tSZWN0Lm1heFkoKSk7CiAgICAgICAgICAgICAgICAgZWxzZQotICAgICAgICAg
ICAgICAgICAgICBibG9ja1JlY3Quc2V0WChjdXJyZW50QmxvY2stPndpZHRoKCkgLSBibG9ja1Jl
Y3QubWF4WCgpKTsKKyAgICAgICAgICAgICAgICAgICAgYmxvY2tSZWN0LnNldFgoY3VycmVudEJv
eC0+d2lkdGgoKSAtIGJsb2NrUmVjdC5tYXhYKCkpOwogICAgICAgICAgICAgfQotICAgICAgICAg
ICAgY3VycmVudEJsb2NrLT5mbGlwRm9yV3JpdGluZ01vZGUoYmxvY2tSZWN0KTsKKyAgICAgICAg
ICAgIGN1cnJlbnRCb3gtPmZsaXBGb3JXcml0aW5nTW9kZShibG9ja1JlY3QpOwogICAgICAgICB9
Ci0gICAgICAgIGJsb2NrUmVjdC5tb3ZlQnkoY3VycmVudEJsb2NrTG9jYXRpb24pOwotICAgICAg
ICBjdXJyZW50QmxvY2sgPSBjb250YWluZXJCbG9jazsKKyAgICAgICAgYmxvY2tSZWN0Lm1vdmVC
eShjdXJyZW50Qm94TG9jYXRpb24pOworICAgICAgICBjdXJyZW50Qm94ID0gY29udGFpbmVyQm94
OwogICAgIH0KIAotICAgIHJldHVybiBjdXJyZW50QmxvY2stPmlzSG9yaXpvbnRhbFdyaXRpbmdN
b2RlKCkgPyBibG9ja1JlY3QueSgpIDogYmxvY2tSZWN0LngoKTsKKyAgICByZXR1cm4gY3VycmVu
dEJveC0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IGJsb2NrUmVjdC55KCkgOiBibG9ja1Jl
Y3QueCgpOwogfQogCiB2b2lkIFJlbmRlckZyYWdtZW50ZWRGbG93OjptYXBMb2NhbFRvQ29udGFp
bmVyKGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIGFuY2VzdG9yQ29udGFpbmVyLCBUcmFu
c2Zvcm1TdGF0ZSYgdHJhbnNmb3JtU3RhdGUsIE9wdGlvblNldDxNYXBDb29yZGluYXRlc01vZGU+
IG1vZGUsIGJvb2wqIHdhc0ZpeGVkKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllci5jcHAKaW5kZXggODAyMjZmYzFlZTExLi5mYjExZWI4Njc4OTkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtMjE2MSwxOCArMjE2MSwxMCBAQCBi
b29sIFJlbmRlckxheWVyOjp1cGRhdGVMYXllclBvc2l0aW9uKE9wdGlvblNldDxVcGRhdGVMYXll
clBvc2l0aW9uc0ZsYWc+KiBmbGFncwogICAgICAgICAvLyBXZSBtdXN0IGFkanVzdCBvdXIgcG9z
aXRpb24gYnkgd2Fsa2luZyB1cCB0aGUgcmVuZGVyIHRyZWUgbG9va2luZyBmb3IgdGhlCiAgICAg
ICAgIC8vIG5lYXJlc3QgZW5jbG9zaW5nIG9iamVjdCB3aXRoIGEgbGF5ZXIuCiAgICAgICAgIHdo
aWxlIChhbmNlc3RvciAmJiAhYW5jZXN0b3ItPmhhc0xheWVyKCkpIHsKLSAgICAgICAgICAgIGlm
IChhdXRvKiBib3hSZW5kZXJlciA9IGR5bmFtaWNEb3duY2FzdDxSZW5kZXJCb3g+KGFuY2VzdG9y
KSkgewotICAgICAgICAgICAgICAgIC8vIFJvd3MgYW5kIGNlbGxzIHNoYXJlIHRoZSBzYW1lIGNv
b3JkaW5hdGUgc3BhY2UgKHRoYXQgb2YgdGhlIHNlY3Rpb24pLgotICAgICAgICAgICAgICAgIC8v
IE9taXQgdGhlbSB3aGVuIGNvbXB1dGluZyBvdXIgeHBvcy95cG9zLgotICAgICAgICAgICAgICAg
IGlmICghaXM8UmVuZGVyVGFibGVSb3c+KGJveFJlbmRlcmVyKSkKLSAgICAgICAgICAgICAgICAg
ICAgbG9jYWxQb2ludCArPSBib3hSZW5kZXJlci0+dG9wTGVmdExvY2F0aW9uT2Zmc2V0KCk7Ci0g
ICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoYXV0byogYm94UmVuZGVyZXIgPSBkeW5hbWlj
RG93bmNhc3Q8UmVuZGVyQm94PihhbmNlc3RvcikpCisgICAgICAgICAgICAgICAgbG9jYWxQb2lu
dCArPSBib3hSZW5kZXJlci0+dG9wTGVmdExvY2F0aW9uT2Zmc2V0KCk7CiAgICAgICAgICAgICBh
bmNlc3RvciA9IGFuY2VzdG9yLT5wYXJlbnQoKTsKICAgICAgICAgfQotICAgICAgICBpZiAoYXV0
byogdGFibGVSb3cgPSBkeW5hbWljRG93bmNhc3Q8UmVuZGVyVGFibGVSb3c+KGFuY2VzdG9yKSkg
ewotICAgICAgICAgICAgLy8gUHV0IG91cnNlbHZlcyBpbnRvIHRoZSByb3cgY29vcmRpbmF0ZSBz
cGFjZS4KLSAgICAgICAgICAgIGxvY2FsUG9pbnQgLT0gdGFibGVSb3ctPnRvcExlZnRMb2NhdGlv
bk9mZnNldCgpOwotICAgICAgICB9CiAgICAgfQogICAgIAogICAgIC8vIFN1YnRyYWN0IG91ciBw
YXJlbnQncyBzY3JvbGwgb2Zmc2V0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRhYmxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJs
ZS5jcHAKaW5kZXggMDc0MzU4NTVjY2IxLi4yNDc3NTE0NGQzMDEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcApAQCAtOTE0LDYgKzkxNCwyNiBAQCB2b2lkIFJlbmRl
clRhYmxlOjpwYWludE9iamVjdChQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9p
bnQmIHBhaW50T2ZmcwogICAgICAgICBwYWludE91dGxpbmUocGFpbnRJbmZvLCBMYXlvdXRSZWN0
KHBhaW50T2Zmc2V0LCBzaXplKCkpKTsKIH0KIAordm9pZCBSZW5kZXJUYWJsZTo6cGFpbnRDb2xs
YXBzZWRCb3JkZXJzRm9yUm93KFBhaW50SW5mbyYgcGFpbnRJbmZvLCBSZW5kZXJUYWJsZVJvdyYg
cm93LCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZmZzZXQpCit7CisgICAgQVNTRVJUKGNvbGxh
cHNlQm9yZGVycygpKTsKKyAgICByZWNhbGNDb2xsYXBzZWRCb3JkZXJzKCk7CisKKyAgICBQYWlu
dEluZm8gYm9yZGVyUGFpbnRJbmZvKHBhaW50SW5mbyk7CisgICAgYm9yZGVyUGFpbnRJbmZvLnBo
YXNlID0gUGFpbnRQaGFzZTo6Q29sbGFwc2VkVGFibGVCb3JkZXJzOworCisgICAgZm9yIChzaXpl
X3QgaSA9IDA7IGkgPCBtX2NvbGxhcHNlZEJvcmRlcnMuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAg
bV9jdXJyZW50Qm9yZGVyID0gJm1fY29sbGFwc2VkQm9yZGVyc1tpXTsKKyAgICAgICAgZm9yIChD
aGVja2VkUHRyIGNlbGwgPSByb3cuZmlyc3RDZWxsKCk7IGNlbGw7IGNlbGwgPSBjZWxsLT5uZXh0
Q2VsbCgpKSB7CisgICAgICAgICAgICBpZiAoIWNlbGwtPmhhc1NlbGZQYWludGluZ0xheWVyKCkp
IHsKKyAgICAgICAgICAgICAgICBhdXRvIGNlbGxQb2ludCA9IHJvdy5mbGlwRm9yV3JpdGluZ01v
ZGVGb3JDaGlsZCgqY2VsbCwgcGFpbnRPZmZzZXQpOworICAgICAgICAgICAgICAgIGNlbGwtPnBh
aW50Q29sbGFwc2VkQm9yZGVycyhib3JkZXJQYWludEluZm8sIGNlbGxQb2ludCk7CisgICAgICAg
ICAgICB9CisgICAgICAgIH0KKyAgICB9CisgICAgbV9jdXJyZW50Qm9yZGVyID0geyB9OworfQor
CiB2b2lkIFJlbmRlclRhYmxlOjphZGp1c3RCb3JkZXJCb3hSZWN0Rm9yUGFpbnRpbmcoTGF5b3V0
UmVjdCYgcmVjdCkKIHsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9jYXB0aW9ucy5z
aXplKCk7IGkrKykgewpAQCAtMTA0NCw2ICsxMDY0LDE2IEBAIHZvaWQgUmVuZGVyVGFibGU6OmNv
bXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKCkKICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIGJl
IGFkZGluZyBib3JkZXJBbmRQYWRkaW5nTG9naWNhbFdpZHRoIGhlcmUsIGJ1dCBtX3RhYmxlTGF5
b3V0LT5jb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocyBhbHJlYWR5IGRvZXMsCiAgICAgLy8g
c28gYSBidW5jaCBvZiB0ZXN0cyBicmVhayBkb2luZyB0aGlzIG5haXZlbHkuCiAgICAgY2xlYXJO
ZWVkc1ByZWZlcnJlZFdpZHRoc1VwZGF0ZSgpOworCisgICAgLy8gUm93IHdpZHRocyBhcmUgc2V0
IGJ5IHRoZSBzZWN0aW9uLCBub3QgY29tcHV0ZWQgZnJvbSBwcmVmZXJyZWQgd2lkdGhzLAorICAg
IC8vIHNvIHRoZWlyIGRpcnR5IGJpdCBpcyBuZXZlciBjbGVhcmVkIGJ5IHRoZSBub3JtYWwgcHJl
ZmVycmVkIHdpZHRoCisgICAgLy8gY29tcHV0YXRpb24uIENsZWFyIGl0IGhlcmUgc28gaXQgZG9l
c24ndCBibG9jayBzdWJzZXF1ZW50IGludmFsaWRhdGlvbgorICAgIC8vIGZyb20gcHJvcGFnYXRp
bmcgdGhyb3VnaCB0aGUgcm93IHRvIHRoZSB0YWJsZS4KKyAgICBmb3IgKENoZWNrZWRQdHIgc2Vj
dGlvbiA9IHRvcFNlY3Rpb24oKTsgc2VjdGlvbjsgc2VjdGlvbiA9IHNlY3Rpb25CZWxvdyhzZWN0
aW9uKSkgeworICAgICAgICBzZWN0aW9uLT5jbGVhck5lZWRzUHJlZmVycmVkV2lkdGhzVXBkYXRl
KCk7CisgICAgICAgIGZvciAoQ2hlY2tlZFB0ciByb3cgPSBzZWN0aW9uLT5maXJzdFJvdygpOyBy
b3c7IHJvdyA9IHJvdy0+bmV4dFJvdygpKQorICAgICAgICAgICAgcm93LT5jbGVhck5lZWRzUHJl
ZmVycmVkV2lkdGhzVXBkYXRlKCk7CisgICAgfQogfQogCiBSZW5kZXJUYWJsZVNlY3Rpb24qIFJl
bmRlclRhYmxlOjp0b3BOb25FbXB0eVNlY3Rpb24oKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGFibGUuaAppbmRleCAyNWI0ZTFmZmZkMDEuLjUyODIyNGI0NjMzMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmgKQEAgLTM3LDYgKzM3LDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogY2xhc3MgUmVuZGVyVGFibGVDb2w7CiBjbGFzcyBSZW5kZXJUYWJsZUNh
cHRpb247CiBjbGFzcyBSZW5kZXJUYWJsZUNlbGw7CitjbGFzcyBSZW5kZXJUYWJsZVJvdzsKIGNs
YXNzIFJlbmRlclRhYmxlU2VjdGlvbjsKIGNsYXNzIFRhYmxlTGF5b3V0OwogCkBAIC0xOTAsNiAr
MTkxLDcgQEAgcHVibGljOgogICAgIHZvaWQgaW52YWxpZGF0ZUNvbGxhcHNlZEJvcmRlcnNBZnRl
clN0eWxlQ2hhbmdlSWZOZWVkZWQoY29uc3QgUmVuZGVyU3R5bGUmIG9sZFN0eWxlLCBjb25zdCBS
ZW5kZXJTdHlsZSYgbmV3U3R5bGUsIFJlbmRlclRhYmxlQ2VsbCogY2VsbFdpdGhTdHlsZUNoYW5n
ZSA9IG51bGxwdHIpOwogICAgIHZvaWQgY29sbGFwc2VkRW1wdHlCb3JkZXJJc1ByZXNlbnQoKSB7
IG1fY29sbGFwc2VkRW1wdHlCb3JkZXJJc1ByZXNlbnQgPSB0cnVlOyB9CiAgICAgY29uc3QgQ29s
bGFwc2VkQm9yZGVyVmFsdWUqIGN1cnJlbnRCb3JkZXJWYWx1ZSgpIGNvbnN0IExJRkVUSU1FX0JP
VU5EIHsgcmV0dXJuIG1fY3VycmVudEJvcmRlcjsgfQorICAgIHZvaWQgcGFpbnRDb2xsYXBzZWRC
b3JkZXJzRm9yUm93KFBhaW50SW5mbyYsIFJlbmRlclRhYmxlUm93JiwgY29uc3QgTGF5b3V0UG9p
bnQmIHBhaW50T2Zmc2V0KTsKICAgICAKICAgICBib29sIGhhc1NlY3Rpb25zKCkgY29uc3QgeyBy
ZXR1cm4gbV9oZWFkIHx8IG1fZm9vdCB8fCBtX2ZpcnN0Qm9keTsgfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxsLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNlbGwuY3BwCmluZGV4IDY0ZTY4Zjg2ZDcyYi4uYzVj
ZjcxNmU4NGVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFi
bGVDZWxsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxs
LmNwcApAQCAtMjU3LDE2ICsyNTcsNiBAQCB2b2lkIFJlbmRlclRhYmxlQ2VsbDo6Y29tcHV0ZVBy
ZWZlcnJlZExvZ2ljYWxXaWR0aHMoKQogICAgIH0KIH0KIAotTGF5b3V0UmVjdCBSZW5kZXJUYWJs
ZUNlbGw6OmZyYW1lUmVjdEZvclN0aWNreVBvc2l0aW9uaW5nKCkgY29uc3QKLXsKLSAgICAvLyBS
ZW5kZXJUYWJsZUNlbGwgaGFzIHRoZSBSZW5kZXJUYWJsZVJvdyBhcyB0aGUgY29udGFpbmVyLCBi
dXQgaXMgcG9zaXRpb25lZCByZWxhdGl2ZWx5Ci0gICAgLy8gdG8gdGhlIFJlbmRlclRhYmxlU2Vj
dGlvbi4gVGhlIHN0aWNreSBwb3NpdGlvbmluZyBhbGdvcml0aG0gYXNzdW1lcyB0aGF0IGVsZW1l
bnRzIGFyZQotICAgIC8vIHBvc2l0aW9uZWQgcmVsYXRpdmVseSB0byB0aGVpciBjb250YWluZXIs
IHNvIHdlIGNvcnJlY3QgZm9yIHRoYXQgaGVyZS4KLSAgICBBU1NFUlQocGFyZW50Qm94KCkpOwot
ICAgIGF1dG8gcmV0dXJuVmFsdWUgPSBmcmFtZVJlY3QoKTsKLSAgICByZXR1cm5WYWx1ZS5tb3Zl
KC1wYXJlbnRCb3goKS0+bG9jYXRpb25PZmZzZXQoKSk7Ci0gICAgcmV0dXJuIHJldHVyblZhbHVl
OwotfQogCiBib29sIFJlbmRlclRhYmxlQ2VsbDo6Y29tcHV0ZUludHJpbnNpY1BhZGRpbmcoTGF5
b3V0VW5pdCBoZWlnaHRDb25zdHJhaW50KQogewpAQCAtNTQ2LDEyICs1MzYsNyBAQCBMYXlvdXRV
bml0IFJlbmRlclRhYmxlQ2VsbDo6bWF4TG9naWNhbFdpZHRoRm9yQ29sdW1uU2l6aW5nKCkKIExh
eW91dFNpemUgUmVuZGVyVGFibGVDZWxsOjpvZmZzZXRGcm9tQ29udGFpbmVyKGNvbnN0IFJlbmRl
ckVsZW1lbnQmIGNvbnRhaW5lciwgY29uc3QgTGF5b3V0UG9pbnQmIHBvaW50LCBib29sKiBvZmZz
ZXREZXBlbmRzT25Qb2ludCkgY29uc3QKIHsKICAgICBBU1NFUlQoJmNvbnRhaW5lciA9PSB0aGlz
LT5jb250YWluZXIoKSk7Ci0KLSAgICBMYXlvdXRTaXplIG9mZnNldCA9IFJlbmRlckJsb2NrRmxv
dzo6b2Zmc2V0RnJvbUNvbnRhaW5lcihjb250YWluZXIsIHBvaW50LCBvZmZzZXREZXBlbmRzT25Q
b2ludCk7Ci0gICAgaWYgKGF1dG8qIGNvbnRhaW5lck9mUm93ID0gY29udGFpbmVyLmNvbnRhaW5l
cigpOyBjb250YWluZXJPZlJvdyAmJiBwYXJlbnQoKSkKLSAgICAgICAgb2Zmc2V0IC09IHBhcmVu
dEJveCgpLT5vZmZzZXRGcm9tQ29udGFpbmVyKCpjb250YWluZXJPZlJvdywgcG9pbnQpOwotCi0g
ICAgcmV0dXJuIG9mZnNldDsKKyAgICByZXR1cm4gUmVuZGVyQmxvY2tGbG93OjpvZmZzZXRGcm9t
Q29udGFpbmVyKGNvbnRhaW5lciwgcG9pbnQsIG9mZnNldERlcGVuZHNPblBvaW50KTsKIH0KIAog
YXV0byBSZW5kZXJUYWJsZUNlbGw6OmxvY2FsUmVjdHNGb3JSZXBhaW50KFJlcGFpbnRPdXRsaW5l
Qm91bmRzIHJlcGFpbnRPdXRsaW5lQm91bmRzKSBjb25zdCAtPiBSZXBhaW50UmVjdHMKQEAgLTYz
OSw5ICs2MjQsNiBAQCBhdXRvIFJlbmRlclRhYmxlQ2VsbDo6Y29tcHV0ZVZpc2libGVSZWN0c0lu
Q29udGFpbmVyKGNvbnN0IFJlcGFpbnRSZWN0cyYgcmVjdHMsCiAgICAgICAgIHJldHVybiByZWN0
czsKIAogICAgIGF1dG8gYWRqdXN0ZWRSZWN0cyA9IHJlY3RzOwotICAgIGlmICgoIXZpZXcoKS5m
cmFtZVZpZXcoKS5sYXlvdXRDb250ZXh0KCkuaXNQYWludE9mZnNldENhY2hlRW5hYmxlZCgpIHx8
IGNvbnRhaW5lciB8fCBjb250ZXh0Lm9wdGlvbnMuY29udGFpbnMoVmlzaWJsZVJlY3RDb250ZXh0
OjpPcHRpb246OlVzZUVkZ2VJbmNsdXNpdmVJbnRlcnNlY3Rpb24pKSAmJiBwYXJlbnQoKSkKLSAg
ICAgICAgYWRqdXN0ZWRSZWN0cy5tb3ZlQnkoLXBhcmVudEJveCgpLT5sb2NhdGlvbigpKTsgLy8g
Um93cyBhcmUgaW4gdGhlIHNhbWUgY29vcmRpbmF0ZSBzcGFjZSwgc28gZG9uJ3QgYWRkIHRoZWly
IG9mZnNldCBpbi4KLQogICAgIHJldHVybiBSZW5kZXJCbG9ja0Zsb3c6OmNvbXB1dGVWaXNpYmxl
UmVjdHNJbkNvbnRhaW5lcihhZGp1c3RlZFJlY3RzLCBjb250YWluZXIsIGNvbnRleHQpOwogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxsLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxsLmgKaW5kZXggNTVkOWJk
YTQ0NzZiLi5lMDc4NmIzMTc2NTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUYWJsZUNlbGwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGFibGVDZWxsLmgKQEAgLTE0Niw4ICsxNDYsNiBAQCBwcml2YXRlOgogICAgIHZvaWQgc3R5bGVE
aWRDaGFuZ2UoU3R5bGU6OkRpZmZlcmVuY2UsIGNvbnN0IFJlbmRlclN0eWxlKiBvbGRTdHlsZSkg
b3ZlcnJpZGU7CiAgICAgdm9pZCBjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocygpIG92ZXJy
aWRlOwogCi0gICAgTGF5b3V0UmVjdCBmcmFtZVJlY3RGb3JTdGlja3lQb3NpdGlvbmluZygpIGNv
bnN0IG92ZXJyaWRlOwotCiAgICAgTGF5b3V0VW5pdCBjb250YWluaW5nQmxvY2tMb2dpY2FsV2lk
dGhGb3JDb250ZW50KCkgY29uc3Qgb3ZlcnJpZGU7CiAKICAgICBzdGF0aWMgUmVuZGVyUHRyPFJl
bmRlclRhYmxlQ2VsbD4gY3JlYXRlVGFibGVDZWxsV2l0aFN0eWxlKERvY3VtZW50JiwgY29uc3Qg
UmVuZGVyU3R5bGUmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUYWJsZVJvdy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVSb3cu
Y3BwCmluZGV4IDk5OWE0NDEyYTcwMy4uOWI2MDk3N2Y1YzM0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVSb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUYWJsZVJvdy5jcHAKQEAgLTUxLDcgKzUxLDcgQEAgdXNpbmcgbmFt
ZXNwYWNlIEhUTUxOYW1lczsKIFdURl9NQUtFX1RaT05FX0FMTE9DQVRFRF9JTVBMKFJlbmRlclRh
YmxlUm93KTsKIAogUmVuZGVyVGFibGVSb3c6OlJlbmRlclRhYmxlUm93KEVsZW1lbnQmIGVsZW1l
bnQsIFJlbmRlclN0eWxlJiYgc3R5bGUpCi0gICAgOiBSZW5kZXJCb3goVHlwZTo6VGFibGVSb3cs
IGVsZW1lbnQsIFdURjo6bW92ZShzdHlsZSkpCisgICAgOiBSZW5kZXJCbG9jayhUeXBlOjpUYWJs
ZVJvdywgZWxlbWVudCwgV1RGOjptb3ZlKHN0eWxlKSwgeyB9KQogICAgICwgbV9yb3dJbmRleCh1
bnNldFJvd0luZGV4KQogewogICAgIHNldElubGluZShmYWxzZSk7CkBAIC01OSw3ICs1OSw3IEBA
IFJlbmRlclRhYmxlUm93OjpSZW5kZXJUYWJsZVJvdyhFbGVtZW50JiBlbGVtZW50LCBSZW5kZXJT
dHlsZSYmIHN0eWxlKQogfQogCiBSZW5kZXJUYWJsZVJvdzo6UmVuZGVyVGFibGVSb3coRG9jdW1l
bnQmIGRvY3VtZW50LCBSZW5kZXJTdHlsZSYmIHN0eWxlKQotICAgIDogUmVuZGVyQm94KFR5cGU6
OlRhYmxlUm93LCBkb2N1bWVudCwgV1RGOjptb3ZlKHN0eWxlKSkKKyAgICA6IFJlbmRlckJsb2Nr
KFR5cGU6OlRhYmxlUm93LCBkb2N1bWVudCwgV1RGOjptb3ZlKHN0eWxlKSwgeyB9KQogICAgICwg
bV9yb3dJbmRleCh1bnNldFJvd0luZGV4KQogewogICAgIHNldElubGluZShmYWxzZSk7CkBAIC03
NSw3ICs3NSw3IEBAIEFTQ0lJTGl0ZXJhbCBSZW5kZXJUYWJsZVJvdzo6cmVuZGVyTmFtZSgpIGNv
bnN0CiAKIHZvaWQgUmVuZGVyVGFibGVSb3c6OndpbGxCZVJlbW92ZWRGcm9tVHJlZSgpCiB7Ci0g
ICAgUmVuZGVyQm94Ojp3aWxsQmVSZW1vdmVkRnJvbVRyZWUoKTsKKyAgICBSZW5kZXJCbG9jazo6
d2lsbEJlUmVtb3ZlZEZyb21UcmVlKCk7CiAKICAgICBzZWN0aW9uKCktPnNldE5lZWRzQ2VsbFJl
Y2FsYygpOwogfQpAQCAtOTIsNyArOTIsNyBAQCB2b2lkIFJlbmRlclRhYmxlUm93OjpzdHlsZURp
ZENoYW5nZShTdHlsZTo6RGlmZmVyZW5jZSBkaWZmLCBjb25zdCBSZW5kZXJTdHlsZSogbwogewog
ICAgIEFTU0VSVChzdHlsZSgpLmRpc3BsYXkoKSA9PSBTdHlsZTo6RGlzcGxheVR5cGU6OlRhYmxl
Um93KTsKIAotICAgIFJlbmRlckJveDo6c3R5bGVEaWRDaGFuZ2UoZGlmZiwgb2xkU3R5bGUpOwor
ICAgIFJlbmRlckJsb2NrOjpzdHlsZURpZENoYW5nZShkaWZmLCBvbGRTdHlsZSk7CiAgICAgcHJv
cGFnYXRlU3R5bGVUb0Fub255bW91c0NoaWxkcmVuKFN0eWxlUHJvcGFnYXRpb25UeXBlOjpBbGxD
aGlsZHJlbik7CiAKICAgICBpZiAoc2VjdGlvbigpICYmIG9sZFN0eWxlICYmIHN0eWxlKCkubG9n
aWNhbEhlaWdodCgpICE9IG9sZFN0eWxlLT5sb2dpY2FsSGVpZ2h0KCkpCkBAIC0xNTUsOCArMTU1
LDcgQEAgdm9pZCBSZW5kZXJUYWJsZVJvdzo6bGF5b3V0KCkKICAgICBTdGFja1N0YXRzOjpMYXlv
dXRDaGVja1BvaW50IGxheW91dENoZWNrUG9pbnQ7CiAgICAgQVNTRVJUKG5lZWRzTGF5b3V0KCkp
OwogCi0gICAgLy8gVGFibGUgcm93cyBkbyBub3QgYWRkIHRyYW5zbGF0aW9uLgotICAgIExheW91
dFN0YXRlTWFpbnRhaW5lciBzdGF0ZVB1c2hlcigqdGhpcywgTGF5b3V0U2l6ZSgpLCBpc1RyYW5z
Zm9ybWVkKCkgfHwgaGFzUmVmbGVjdGlvbigpIHx8IHdyaXRpbmdNb2RlKCkuaXNCbG9ja0ZsaXBw
ZWQoKSk7CisgICAgTGF5b3V0U3RhdGVNYWludGFpbmVyIHN0YXRlUHVzaGVyKCp0aGlzLCBsb2Nh
dGlvbk9mZnNldCgpLCBpc1RyYW5zZm9ybWVkKCkgfHwgaGFzUmVmbGVjdGlvbigpIHx8IHdyaXRp
bmdNb2RlKCkuaXNCbG9ja0ZsaXBwZWQoKSk7CiAKICAgICBhdXRvKiBsYXlvdXRTdGF0ZSA9IHZp
ZXcoKS5mcmFtZVZpZXcoKS5sYXlvdXRDb250ZXh0KCkubGF5b3V0U3RhdGUoKTsKICAgICBib29s
IHBhZ2luYXRlZCA9IGxheW91dFN0YXRlLT5pc1BhZ2luYXRlZCgpOwpAQCAtMTY1LDkgKzE2NCw4
IEBAIHZvaWQgUmVuZGVyVGFibGVSb3c6OmxheW91dCgpCiAgICAgICAgIGlmICghY2VsbC0+bmVl
ZHNMYXlvdXQoKSAmJiBwYWdpbmF0ZWQgJiYgKGxheW91dFN0YXRlLT5wYWdlTG9naWNhbEhlaWdo
dENoYW5nZWQoKSB8fCAobGF5b3V0U3RhdGUtPnBhZ2VMb2dpY2FsSGVpZ2h0KCkgJiYgbGF5b3V0
U3RhdGUtPnBhZ2VMb2dpY2FsT2Zmc2V0KGNlbGwsIGNlbGwtPmxvZ2ljYWxUb3AoKSkgIT0gY2Vs
bC0+cGFnZUxvZ2ljYWxPZmZzZXQoKSkpKQogICAgICAgICAgICAgY2VsbC0+c2V0Q2hpbGROZWVk
c0xheW91dChNYXJrT25seVRoaXMpOwogCi0gICAgICAgIGlmIChjZWxsLT5uZWVkc0xheW91dCgp
KSB7CisgICAgICAgIGlmIChjZWxsLT5uZWVkc0xheW91dCgpKQogICAgICAgICAgICAgY2VsbC0+
bGF5b3V0KCk7Ci0gICAgICAgIH0KICAgICB9CiAKICAgICBjbGVhck92ZXJmbG93KCk7CkBAIC0x
ODIsMTcgKzE4MCwxNyBAQCB2b2lkIFJlbmRlclRhYmxlUm93OjpsYXlvdXQoKQogICAgICAgICAg
ICAgY2VsbC0+cmVwYWludCgpOwogICAgIH0KIAotICAgIC8vIFJlbmRlclRhYmxlU2VjdGlvbjo6
bGF5b3V0Um93cyB3aWxsIHNldCBvdXIgbG9naWNhbCBoZWlnaHQgYW5kIHdpZHRoIGxhdGVyLCBz
byBpdCBjYWxscyB1cGRhdGVMYXllclRyYW5zZm9ybSgpLgotICAgIGNsZWFyTmVlZHNMYXlvdXQo
KTsKKyAgICAvLyBSb3cgZGltZW5zaW9ucyBhcmUgZmluYWxpemVkIGluIFJlbmRlclRhYmxlU2Vj
dGlvbjo6bGF5b3V0Um93cygpLCB3aGljaCBhbHNvCisgICAgLy8gbGF5cyBvdXQgb3V0LW9mLWZs
b3cgZGVzY2VuZGFudHMgYW5kIGNhbGxzIGNsZWFyTmVlZHNMYXlvdXQoKS4KIH0KIAogTGF5b3V0
UmVjdCBSZW5kZXJUYWJsZVJvdzo6Y2xpcHBlZE92ZXJmbG93UmVjdChjb25zdCBSZW5kZXJMYXll
ck1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBWaXNpYmxlUmVjdENvbnRleHQgY29udGV4
dCkgY29uc3QKIHsKICAgICBBU1NFUlQocGFyZW50KCkpOwotICAgIC8vIFJvd3MgYW5kIGNlbGxz
IGFyZSBpbiB0aGUgc2FtZSBjb29yZGluYXRlIHNwYWNlLiBXZSBuZWVkIHRvIGJvdGggY29tcHV0
ZSBvdXIgb3ZlcmZsb3cgcmVjdCAod2hpY2gKKyAgICAvLyBDZWxscyBhcmUgaW4gdGhlIHJvdydz
IGNvb3JkaW5hdGUgc3BhY2UuIFdlIG5lZWQgdG8gYm90aCBjb21wdXRlIG91ciBvdmVyZmxvdyBy
ZWN0ICh3aGljaAogICAgIC8vIHdpbGwgYWNjb21tb2RhdGUgYSByb3cgb3V0bGluZSBhbmQgYW55
IHZpc3VhbCBlZmZlY3RzIG9uIHRoZSByb3cgaXRzZWxmKSwgYnV0IHdlIGFsc28gbmVlZCB0byBh
ZGQgaW4KICAgICAvLyB0aGUgcmVwYWludCByZWN0cyBvZiBjZWxscy4KLSAgICBhdXRvIHJlc3Vs
dCA9IFJlbmRlckJveDo6Y2xpcHBlZE92ZXJmbG93UmVjdChyZXBhaW50Q29udGFpbmVyLCBjb250
ZXh0KTsKKyAgICBhdXRvIHJlc3VsdCA9IFJlbmRlckJsb2NrOjpjbGlwcGVkT3ZlcmZsb3dSZWN0
KHJlcGFpbnRDb250YWluZXIsIGNvbnRleHQpOwogICAgIGZvciAoYXV0byogY2VsbCA9IGZpcnN0
Q2VsbCgpOyBjZWxsOyBjZWxsID0gY2VsbC0+bmV4dENlbGwoKSkgewogICAgICAgICAvLyBFdmVu
IGlmIGEgY2VsbCBpcyBhIHJlcGFpbnQgY29udGFpbmVyLCBpdCdzIHRoZSByb3cgdGhhdCBwYWlu
dHMgdGhlIGJhY2tncm91bmQgYmVoaW5kIGl0LgogICAgICAgICAvLyBTbyB3ZSBkb24ndCBjYXJl
IGlmIGEgY2VsbCBpcyBhIHJlcGFpbnRDb250YWluZXIgaGVyZS4KQEAgLTIxOCwxMyArMjE2LDE0
IEBAIGJvb2wgUmVuZGVyVGFibGVSb3c6Om5vZGVBdFBvaW50KGNvbnN0IEhpdFRlc3RSZXF1ZXN0
JiByZXF1ZXN0LCBIaXRUZXN0UmVzdWx0JiByCiAgICAgaWYgKCFzZWN0aW9uKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKKyAgICBhdXRvIGFkanVzdGVkT2Zmc2V0ID0gYWNjdW11bGF0ZWRPZmZz
ZXQgKyBsb2NhdGlvbigpOwogICAgIGZvciAoUmVuZGVyVGFibGVDZWxsKiBjZWxsID0gbGFzdENl
bGwoKTsgY2VsbDsgY2VsbCA9IGNlbGwtPnByZXZpb3VzQ2VsbCgpKSB7CiAgICAgICAgIC8vIEZJ
WE1FOiBXZSBoYXZlIHRvIHNraXAgb3ZlciBpbmxpbmUgZmxvd3MsIHNpbmNlIHRoZXkgY2FuIHNo
b3cgdXAgaW5zaWRlIHRhYmxlIHJvd3MKICAgICAgICAgLy8gYXQgdGhlIG1vbWVudCAoYSBkZW1v
dGVkIGlubGluZSA8Zm9ybT4gZm9yIGV4YW1wbGUpLiBJZiB3ZSBldmVyIGltcGxlbWVudCBhCiAg
ICAgICAgIC8vIHRhYmxlLXNwZWNpZmljIGhpdC10ZXN0IG1ldGhvZCAod2hpY2ggd2Ugc2hvdWxk
IGRvIGZvciBwZXJmb3JtYW5jZSByZWFzb25zIGFueXdheSksCiAgICAgICAgIC8vIHRoZW4gd2Ug
Y2FuIHJlbW92ZSB0aGlzIGNoZWNrLgogICAgICAgICBpZiAoIWNlbGwtPmhhc1NlbGZQYWludGlu
Z0xheWVyKCkpIHsKLSAgICAgICAgICAgIGF1dG8gY2VsbFBvaW50ID0gc2VjdGlvbi0+ZmxpcEZv
cldyaXRpbmdNb2RlRm9yQ2hpbGQoKmNlbGwsIGFjY3VtdWxhdGVkT2Zmc2V0KTsKKyAgICAgICAg
ICAgIGF1dG8gY2VsbFBvaW50ID0gZmxpcEZvcldyaXRpbmdNb2RlRm9yQ2hpbGQoKmNlbGwsIGFk
anVzdGVkT2Zmc2V0KTsKICAgICAgICAgICAgIGlmIChjZWxsLT5ub2RlQXRQb2ludChyZXF1ZXN0
LCByZXN1bHQsIGxvY2F0aW9uSW5Db250YWluZXIsIGNlbGxQb2ludCwgYWN0aW9uKSkgewogICAg
ICAgICAgICAgICAgIHVwZGF0ZUhpdFRlc3RSZXN1bHQocmVzdWx0LCBsb2NhdGlvbkluQ29udGFp
bmVyLnBvaW50KCkgLSB0b0xheW91dFNpemUoY2VsbFBvaW50KSk7CiAgICAgICAgICAgICAgICAg
cmV0dXJuIHRydWU7CkBAIC0yNjEsMTkgKzI2MCwyOCBAQCB2b2lkIFJlbmRlclRhYmxlUm93Ojpw
YWludChQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2Zmc2V0
KQogewogICAgIEFTU0VSVChoYXNTZWxmUGFpbnRpbmdMYXllcigpKTsKIAorICAgIGF1dG8gYWRq
dXN0ZWRQYWludE9mZnNldCA9IHBhaW50T2Zmc2V0ICsgbG9jYXRpb24oKTsKKwogICAgIGlmIChw
YWludEluZm8ucGhhc2UgPT0gUGFpbnRQaGFzZTo6QWNjZXNzaWJpbGl0eSkgewogICAgICAgICBp
ZiAoYXV0byogY29udGV4dCA9IHBhaW50SW5mby5hY2Nlc3NpYmlsaXR5UmVnaW9uQ29udGV4dCgp
KQotICAgICAgICAgICAgY29udGV4dC0+dGFrZUJvdW5kcygqdGhpcywgcGFpbnRPZmZzZXQgKyBs
b2NhdGlvbigpKTsKKyAgICAgICAgICAgIGNvbnRleHQtPnRha2VCb3VuZHMoKnRoaXMsIGFkanVz
dGVkUGFpbnRPZmZzZXQpOwogICAgIH0KIAogICAgIHBhaW50T3V0bGluZUZvclJvd0lmTmVlZGVk
KHBhaW50SW5mbywgcGFpbnRPZmZzZXQpOwogICAgIGZvciAoUmVuZGVyVGFibGVDZWxsKiBjZWxs
ID0gZmlyc3RDZWxsKCk7IGNlbGw7IGNlbGwgPSBjZWxsLT5uZXh0Q2VsbCgpKSB7CiAgICAgICAg
IC8vIFBhaW50IHRoZSByb3cgYmFja2dyb3VuZCBiZWhpbmQgdGhlIGNlbGwuCiAgICAgICAgIGlm
IChwYWludEluZm8ucGhhc2UgPT0gUGFpbnRQaGFzZTo6QmxvY2tCYWNrZ3JvdW5kIHx8IHBhaW50
SW5mby5waGFzZSA9PSBQYWludFBoYXNlOjpDaGlsZEJsb2NrQmFja2dyb3VuZCkKLSAgICAgICAg
ICAgIGNlbGwtPnBhaW50QmFja2dyb3VuZHNCZWhpbmRDZWxsKHBhaW50SW5mbywgcGFpbnRPZmZz
ZXQsIHRoaXMsIHBhaW50T2Zmc2V0KTsKKyAgICAgICAgICAgIGNlbGwtPnBhaW50QmFja2dyb3Vu
ZHNCZWhpbmRDZWxsKHBhaW50SW5mbywgYWRqdXN0ZWRQYWludE9mZnNldCwgdGhpcywgcGFpbnRP
ZmZzZXQpOwogICAgICAgICBpZiAoIWNlbGwtPmhhc1NlbGZQYWludGluZ0xheWVyKCkpCi0gICAg
ICAgICAgICBjZWxsLT5wYWludChwYWludEluZm8sIHBhaW50T2Zmc2V0KTsKKyAgICAgICAgICAg
IGNlbGwtPnBhaW50KHBhaW50SW5mbywgYWRqdXN0ZWRQYWludE9mZnNldCk7CiAgICAgfQorCisg
ICAgLy8gV2hlbiB0aGUgcm93IGhhcyBhIHNlbGYtcGFpbnRpbmcgbGF5ZXIgKHBvc2l0aW9uOiBy
ZWxhdGl2ZSksIGNvbGxhcHNlZAorICAgIC8vIGJvcmRlcnMgbXVzdCBiZSBwYWludGVkIGhlcmUg
YWZ0ZXIgY2VsbCBiYWNrZ3JvdW5kcy4gT3RoZXJ3aXNlIHRoZSBjZWxsCisgICAgLy8gYmFja2dy
b3VuZCAoaW4gdGhpcyBsYXllcikgY292ZXJzIHRoZSBpbm5lciBoYWxmIG9mIHRoZSBib3JkZXIg
KHBhaW50ZWQKKyAgICAvLyBieSB0aGUgdGFibGUncyBsYXllcikuCisgICAgaWYgKENoZWNrZWRQ
dHIgdGFibGUgPSB0aGlzLT50YWJsZSgpOyB0YWJsZSAmJiB0YWJsZS0+Y29sbGFwc2VCb3JkZXJz
KCkgJiYgcGFpbnRJbmZvLnBoYXNlID09IFBhaW50UGhhc2U6OkNoaWxkQmxvY2tCYWNrZ3JvdW5k
cykKKyAgICAgICAgdGFibGUtPnBhaW50Q29sbGFwc2VkQm9yZGVyc0ZvclJvdyhwYWludEluZm8s
ICp0aGlzLCBhZGp1c3RlZFBhaW50T2Zmc2V0KTsKIH0KIAogdm9pZCBSZW5kZXJUYWJsZVJvdzo6
aW1hZ2VDaGFuZ2VkKFdyYXBwZWRJbWFnZVB0ciwgY29uc3QgSW50UmVjdCopCkBAIC0yODYsNyAr
Mjk0LDcgQEAgdm9pZCBSZW5kZXJUYWJsZVJvdzo6aW1hZ2VDaGFuZ2VkKFdyYXBwZWRJbWFnZVB0
ciwgY29uc3QgSW50UmVjdCopCiAKIGJvb2wgUmVuZGVyVGFibGVSb3c6OnJlcXVpcmVzTGF5ZXIo
KSBjb25zdAogewotICAgIHJldHVybiBoYXNOb25WaXNpYmxlT3ZlcmZsb3coKSB8fCBoYXNUcmFu
c2Zvcm1SZWxhdGVkUHJvcGVydHkoKSB8fCBoYXNIaWRkZW5CYWNrZmFjZSgpIHx8IGhhc0NsaXBQ
YXRoKCkgfHwgY3JlYXRlc0dyb3VwKCkgfHwgaXNTdGlja2lseVBvc2l0aW9uZWQoKSB8fCByZXF1
aXJlc1JlbmRlcmluZ0NvbnNvbGlkYXRpb25Gb3JWaWV3VHJhbnNpdGlvbigpOworICAgIHJldHVy
biBpc1Bvc2l0aW9uZWQoKSB8fCBoYXNOb25WaXNpYmxlT3ZlcmZsb3coKSB8fCBoYXNUcmFuc2Zv
cm1SZWxhdGVkUHJvcGVydHkoKSB8fCBoYXNIaWRkZW5CYWNrZmFjZSgpIHx8IGhhc0NsaXBQYXRo
KCkgfHwgY3JlYXRlc0dyb3VwKCkgfHwgaXNTdGlja2lseVBvc2l0aW9uZWQoKSB8fCByZXF1aXJl
c1JlbmRlcmluZ0NvbnNvbGlkYXRpb25Gb3JWaWV3VHJhbnNpdGlvbigpOwogfQogCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGFibGVSb3cuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVJvdy5o
CmluZGV4IGU3M2M2NWRmYWI5ZC4uNmMyYjNhZDBmZjQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVSb3cuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGFibGVSb3cuaApAQCAtMjUsNiArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UK
IAorI2luY2x1ZGUgIlJlbmRlckJsb2NrLmgiCiAjaW5jbHVkZSAiUmVuZGVyVGFibGVTZWN0aW9u
LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTMyLDcgKzMzLDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogc3RhdGljIGNvbnN0IHVuc2lnbmVkIHVuc2V0Um93SW5kZXggPSAweDdGRkZGRkZG
Owogc3RhdGljIGNvbnN0IHVuc2lnbmVkIG1heFJvd0luZGV4ID0gMHg3RkZGRkZGRTsgLy8gMiwx
NDcsNDgzLDY0NgogCi1jbGFzcyBSZW5kZXJUYWJsZVJvdyBmaW5hbCA6IHB1YmxpYyBSZW5kZXJC
b3ggeworY2xhc3MgUmVuZGVyVGFibGVSb3cgZmluYWwgOiBwdWJsaWMgUmVuZGVyQmxvY2sgewog
ICAgIFdURl9NQUtFX1RaT05FX0FMTE9DQVRFRChSZW5kZXJUYWJsZVJvdyk7CiAgICAgV1RGX09W
RVJSSURFX0RFTEVURV9GT1JfQ0hFQ0tFRF9QVFIoUmVuZGVyVGFibGVSb3cpOwogcHVibGljOgpA
QCAtMTE5LDEyICsxMjAsMTIgQEAgaW5saW5lIFJlbmRlclRhYmxlKiBSZW5kZXJUYWJsZVJvdzo6
dGFibGUoKSBjb25zdAogCiBpbmxpbmUgUmVuZGVyVGFibGVSb3cqIFJlbmRlclRhYmxlUm93Ojpu
ZXh0Um93KCkgY29uc3QKIHsKLSAgICByZXR1cm4gZG93bmNhc3Q8UmVuZGVyVGFibGVSb3c+KFJl
bmRlckJveDo6bmV4dFNpYmxpbmcoKSk7CisgICAgcmV0dXJuIGRvd25jYXN0PFJlbmRlclRhYmxl
Um93PihSZW5kZXJCbG9jazo6bmV4dFNpYmxpbmcoKSk7CiB9CiAKIGlubGluZSBSZW5kZXJUYWJs
ZVJvdyogUmVuZGVyVGFibGVSb3c6OnByZXZpb3VzUm93KCkgY29uc3QKIHsKLSAgICByZXR1cm4g
ZG93bmNhc3Q8UmVuZGVyVGFibGVSb3c+KFJlbmRlckJveDo6cHJldmlvdXNTaWJsaW5nKCkpOwor
ICAgIHJldHVybiBkb3duY2FzdDxSZW5kZXJUYWJsZVJvdz4oUmVuZGVyQmxvY2s6OnByZXZpb3Vz
U2libGluZygpKTsKIH0KIAogaW5saW5lIFJlbmRlclRhYmxlUm93KiBSZW5kZXJUYWJsZVNlY3Rp
b246OmZpcnN0Um93KCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUYWJsZVNlY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRhYmxlU2VjdGlvbi5jcHAKaW5kZXggOGE2Mjk3OGNjM2YxLi4zZDdjNDUwZWFmMzkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uY3BwCkBAIC01
OTQsOTMgKzU5NCwxMDEgQEAgdm9pZCBSZW5kZXJUYWJsZVNlY3Rpb246OmxheW91dFJvd3MoKQog
ICAgIExheW91dFN0YXRlTWFpbnRhaW5lciBzdGF0ZVB1c2hlcigqdGhpcywgbG9jYXRpb25PZmZz
ZXQoKSwgaXNUcmFuc2Zvcm1lZCgpIHx8IHdyaXRpbmdNb2RlKCkuaXNCbG9ja0ZsaXBwZWQoKSk7
CiAKICAgICBmb3IgKHNpemVfdCByb3dJbmRleCA9IDA7IHJvd0luZGV4IDwgbnVtYmVyT2ZSb3dz
OyByb3dJbmRleCsrKSB7Ci0gICAgICAgIC8vIFNldCB0aGUgcm93J3MgeC95IHBvc2l0aW9uIGFu
ZCB3aWR0aC9oZWlnaHQuCi0gICAgICAgIGlmIChSZW5kZXJUYWJsZVJvdyogcm93UmVuZGVyZXIg
PSBtX2dyaWRbcm93SW5kZXhdLnJvd1JlbmRlcmVyKSB7Ci0gICAgICAgICAgICAvLyBGSVhNRTog
dGhlIHgoKSBwb3NpdGlvbiBvZiB0aGUgcm93IHNob3VsZCBiZSB0YWJsZSgpLT5oQm9yZGVyU3Bh
Y2luZygpIHNvIHRoYXQgaXQgY2FuIAotICAgICAgICAgICAgLy8gcmVwb3J0IHRoZSBjb3JyZWN0
IG9mZnNldExlZnQuIEhvd2V2ZXIsIHRoYXQgd2lsbCByZXF1aXJlIGEgbG90IG9mIHJlYmFzZWxp
bmluZyBvZiB0ZXN0IHJlc3VsdHMuCi0gICAgICAgICAgICByb3dSZW5kZXJlci0+c2V0TG9naWNh
bExvY2F0aW9uKHsgMF9sdSwgbV9yb3dQb3Nbcm93SW5kZXhdIH0pOwotICAgICAgICAgICAgcm93
UmVuZGVyZXItPnNldExvZ2ljYWxXaWR0aChsb2dpY2FsV2lkdGgoKSk7CiAKLSAgICAgICAgICAg
IExheW91dFVuaXQgcm93TG9naWNhbEhlaWdodDsKLSAgICAgICAgICAgIC8vIElmIHRoZSByb3cg
aXMgY29sbGFwc2VkIHRoZW4gaXQgaGFzIDAgaGVpZ2h0LiB2c3BhY2luZyB3YXMgaW1wbGljaXRs
eQotICAgICAgICAgICAgLy8gcmVtb3ZlZCBlYXJsaWVyLCB3aGVuIG1fcm93UG9zW3Jvd0luZGV4
KzFdIHdhcyBzZXQgdG8gbV9yb3dQb3Nbcm93SW5kZXhdLgotICAgICAgICAgICAgYXV0byByb3dI
YXNWaXNpYmlsaXR5Q29sbGFwc2UgPSBbJl0oYXV0byByb3cpIHsKLSAgICAgICAgICAgICAgICBy
ZXR1cm4gKG1fZ3JpZFtyb3ddLnJvd1JlbmRlcmVyICYmIG1fZ3JpZFtyb3ddLnJvd1JlbmRlcmVy
LT5zdHlsZSgpLnZpc2liaWxpdHkoKSA9PSBWaXNpYmlsaXR5OjpDb2xsYXBzZSkgfHwgc3R5bGUo
KS52aXNpYmlsaXR5KCkgPT0gVmlzaWJpbGl0eTo6Q29sbGFwc2U7Ci0gICAgICAgICAgICB9Owot
ICAgICAgICAgICAgaWYgKCFyb3dIYXNWaXNpYmlsaXR5Q29sbGFwc2Uocm93SW5kZXgpKQotICAg
ICAgICAgICAgICAgIHJvd0xvZ2ljYWxIZWlnaHQgPSBtX3Jvd1Bvc1tyb3dJbmRleCArIDFdIC0g
bV9yb3dQb3Nbcm93SW5kZXhdIC0gdnNwYWNpbmc7CisgICAgICAgIGF1dG8gbGF5b3V0Q2VsbHMg
PSBbJl0geworICAgICAgICAgICAgTGF5b3V0VW5pdCByb3dIZWlnaHRJbmNyZWFzZUZvclBhZ2lu
YXRpb247CiAKLSAgICAgICAgICAgIEFTU0VSVChyb3dMb2dpY2FsSGVpZ2h0ID49IDApOwotICAg
ICAgICAgICAgcm93UmVuZGVyZXItPnNldExvZ2ljYWxIZWlnaHQocm93TG9naWNhbEhlaWdodCk7
Ci0gICAgICAgICAgICByb3dSZW5kZXJlci0+dXBkYXRlTGF5ZXJUcmFuc2Zvcm0oKTsKLSAgICAg
ICAgICAgIHJvd1JlbmRlcmVyLT5jbGVhck92ZXJmbG93KCk7Ci0gICAgICAgICAgICByb3dSZW5k
ZXJlci0+YWRkVmlzdWFsRWZmZWN0T3ZlcmZsb3coKTsKLSAgICAgICAgfQorICAgICAgICAgICAg
Zm9yIChzaXplX3QgY29sdW1uSW5kZXggPSAwOyBjb2x1bW5JbmRleCA8IG51bWJlck9mRWZmZWN0
aXZlQ29sdW1uczsgY29sdW1uSW5kZXgrKykgeworICAgICAgICAgICAgICAgIENlbGxTdHJ1Y3Qm
IGNzID0gY2VsbEF0KHJvd0luZGV4LCBjb2x1bW5JbmRleCk7CisgICAgICAgICAgICAgICAgUmVu
ZGVyVGFibGVDZWxsKiBjZWxsID0gY3MucHJpbWFyeUNlbGwoKTsKIAotICAgICAgICBMYXlvdXRV
bml0IHJvd0hlaWdodEluY3JlYXNlRm9yUGFnaW5hdGlvbjsKKyAgICAgICAgICAgICAgICBpZiAo
IWNlbGwgfHwgY3MuaW5Db2xTcGFuKQorICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKIAot
ICAgICAgICBmb3IgKHNpemVfdCBjb2x1bW5JbmRleCA9IDA7IGNvbHVtbkluZGV4IDwgbnVtYmVy
T2ZFZmZlY3RpdmVDb2x1bW5zOyBjb2x1bW5JbmRleCsrKSB7Ci0gICAgICAgICAgICBDZWxsU3Ry
dWN0JiBjcyA9IGNlbGxBdChyb3dJbmRleCwgY29sdW1uSW5kZXgpOwotICAgICAgICAgICAgUmVu
ZGVyVGFibGVDZWxsKiBjZWxsID0gY3MucHJpbWFyeUNlbGwoKTsKKyAgICAgICAgICAgICAgICBp
bnQgcm93SW5kZXggPSBjZWxsLT5yb3dJbmRleCgpOworICAgICAgICAgICAgICAgIGF1dG8gcm93
SGVpZ2h0ID0gbV9yb3dQb3Nbcm93SW5kZXggKyBjZWxsLT5yb3dTcGFuKCldIC0gbV9yb3dQb3Nb
cm93SW5kZXhdIC0gdnNwYWNpbmc7CiAKLSAgICAgICAgICAgIGlmICghY2VsbCB8fCBjcy5pbkNv
bFNwYW4pCi0gICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAgICAgcmVsYXlv
dXRDZWxsSWZGbGV4ZWQoKmNlbGwsIHJvd0luZGV4LCByb3dIZWlnaHQpOwogCi0gICAgICAgICAg
ICBpbnQgcm93SW5kZXggPSBjZWxsLT5yb3dJbmRleCgpOwotICAgICAgICAgICAgYXV0byByb3dI
ZWlnaHQgPSBtX3Jvd1Bvc1tyb3dJbmRleCArIGNlbGwtPnJvd1NwYW4oKV0gLSBtX3Jvd1Bvc1ty
b3dJbmRleF0gLSB2c3BhY2luZzsKKyAgICAgICAgICAgICAgICBhdXRvIGxvZ2ljYWxIZWlnaHRG
b3JJbnRyaW5zaWNQYWRkaW5nID0gIWNlbGwtPmlzT3J0aG9nb25hbCgpID8gcm93SGVpZ2h0IDog
Y2VsbExvZ2ljYWxXaWR0aEluVGFibGVEaXJlY3Rpb25JbmNsdWRpbmdDb2x1bW5TcGFuKCpjZWxs
LCBjb2x1bW5JbmRleCwgbnVtYmVyT2ZFZmZlY3RpdmVDb2x1bW5zKTsKKyAgICAgICAgICAgICAg
ICBpZiAoY2VsbC0+Y29tcHV0ZUludHJpbnNpY1BhZGRpbmcobG9naWNhbEhlaWdodEZvckludHJp
bnNpY1BhZGRpbmcpKSB7CisgICAgICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBDaGFuZ2luZyBh
biBpbnRyaW5zaWMgcGFkZGluZyBzaG91bGRuJ3QgdHJpZ2dlciBhIHJlbGF5b3V0IGFzIGl0IG9u
bHkgc2hpZnRzIHRoZSBjZWxsIGluc2lkZSB0aGUgcm93IGJ1dCBkb2Vzbid0IGNoYW5nZSB0aGUg
bG9naWNhbCBoZWlnaHQuCisgICAgICAgICAgICAgICAgICAgIGNlbGwtPnNldENoaWxkTmVlZHNM
YXlvdXQoTWFya09ubHlUaGlzKTsKKyAgICAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIHJl
bGF5b3V0Q2VsbElmRmxleGVkKCpjZWxsLCByb3dJbmRleCwgcm93SGVpZ2h0KTsKKyAgICAgICAg
ICAgICAgICBMYXlvdXRSZWN0IG9sZENlbGxSZWN0ID0gY2VsbC0+ZnJhbWVSZWN0KCk7CiAKLSAg
ICAgICAgICAgIGF1dG8gbG9naWNhbEhlaWdodEZvckludHJpbnNpY1BhZGRpbmcgPSAhY2VsbC0+
aXNPcnRob2dvbmFsKCkgPyByb3dIZWlnaHQgOiBjZWxsTG9naWNhbFdpZHRoSW5UYWJsZURpcmVj
dGlvbkluY2x1ZGluZ0NvbHVtblNwYW4oKmNlbGwsIGNvbHVtbkluZGV4LCBudW1iZXJPZkVmZmVj
dGl2ZUNvbHVtbnMpOwotICAgICAgICAgICAgaWYgKGNlbGwtPmNvbXB1dGVJbnRyaW5zaWNQYWRk
aW5nKGxvZ2ljYWxIZWlnaHRGb3JJbnRyaW5zaWNQYWRkaW5nKSkgewotICAgICAgICAgICAgICAg
IC8vIEZJWE1FOiBDaGFuZ2luZyBhbiBpbnRyaW5zaWMgcGFkZGluZyBzaG91bGRuJ3QgdHJpZ2dl
ciBhIHJlbGF5b3V0IGFzIGl0IG9ubHkgc2hpZnRzIHRoZSBjZWxsIGluc2lkZSB0aGUgcm93IGJ1
dCBkb2Vzbid0IGNoYW5nZSB0aGUgbG9naWNhbCBoZWlnaHQuCi0gICAgICAgICAgICAgICAgY2Vs
bC0+c2V0Q2hpbGROZWVkc0xheW91dChNYXJrT25seVRoaXMpOwotICAgICAgICAgICAgfQorICAg
ICAgICAgICAgICAgIHNldExvZ2ljYWxQb3NpdGlvbkZvckNlbGwoY2VsbCwgY29sdW1uSW5kZXgp
OwogCi0gICAgICAgICAgICBMYXlvdXRSZWN0IG9sZENlbGxSZWN0ID0gY2VsbC0+ZnJhbWVSZWN0
KCk7CisgICAgICAgICAgICAgICAgYXV0byogbGF5b3V0U3RhdGUgPSB2aWV3KCkuZnJhbWVWaWV3
KCkubGF5b3V0Q29udGV4dCgpLmxheW91dFN0YXRlKCk7CisgICAgICAgICAgICAgICAgaWYgKCFj
ZWxsLT5uZWVkc0xheW91dCgpICYmIGxheW91dFN0YXRlLT5wYWdlTG9naWNhbEhlaWdodCgpICYm
IGxheW91dFN0YXRlLT5wYWdlTG9naWNhbE9mZnNldChjZWxsLCBjZWxsLT5sb2dpY2FsVG9wKCkp
ICE9IGNlbGwtPnBhZ2VMb2dpY2FsT2Zmc2V0KCkpCisgICAgICAgICAgICAgICAgICAgIGNlbGwt
PnNldENoaWxkTmVlZHNMYXlvdXQoTWFya09ubHlUaGlzKTsKIAotICAgICAgICAgICAgc2V0TG9n
aWNhbFBvc2l0aW9uRm9yQ2VsbChjZWxsLCBjb2x1bW5JbmRleCk7CisgICAgICAgICAgICAgICAg
aWYgKGNlbGwtPmlzT3J0aG9nb25hbCgpKSB7CisgICAgICAgICAgICAgICAgICAgIGNlbGwtPnNl
dE5lZWRzTGF5b3V0KE1hcmtPbmx5VGhpcyk7CisgICAgICAgICAgICAgICAgICAgIGNlbGwtPnNl
dE92ZXJyaWRpbmdCb3JkZXJCb3hMb2dpY2FsV2lkdGgocm93SGVpZ2h0KTsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICAgICAgY2VsbC0+bGF5b3V0SWZOZWVkZWQoKTsKKworICAgICAg
ICAgICAgICAgIC8vIEZJWE1FOiBNYWtlIHBhZ2luYXRpb24gd29yayB3aXRoIHZlcnRpY2FsIHRh
Ymxlcy4KKyAgICAgICAgICAgICAgICBpZiAobGF5b3V0U3RhdGUtPnBhZ2VMb2dpY2FsSGVpZ2h0
KCkgJiYgY2VsbC0+bG9naWNhbEhlaWdodCgpICE9IHJvd0hlaWdodCkgeworICAgICAgICAgICAg
ICAgICAgICAvLyBGSVhNRTogUGFnaW5hdGlvbiBtaWdodCBoYXZlIG1hZGUgdXMgY2hhbmdlIHNp
emUuIEZvciBub3cganVzdCBzaHJpbmsgb3IgZ3JvdyB0aGUgY2VsbCB0byBmaXQgd2l0aG91dCBk
b2luZyBhIHJlbGF5b3V0LgorICAgICAgICAgICAgICAgICAgICAvLyBXZSdsbCBhbHNvIGRvIGEg
YmFzaWMgaW5jcmVhc2Ugb2YgdGhlIHJvdyBoZWlnaHQgdG8gYWNjb21tb2RhdGUgdGhlIGNlbGwg
aWYgaXQncyBiaWdnZXIsIGJ1dCB0aGlzIGlzbid0IHF1aXRlIHJpZ2h0CisgICAgICAgICAgICAg
ICAgICAgIC8vIGVpdGhlci4gSXQncyBhdCBsZWFzdCBzdGFibGUgdGhvdWdoIGFuZCB3b24ndCBy
ZXN1bHQgaW4gYW4gaW5maW5pdGUgIyBvZiByZWxheW91dHMgdGhhdCBtYXkgbmV2ZXIgc3RhYmls
aXplLgorICAgICAgICAgICAgICAgICAgICBpZiAoY2VsbC0+bG9naWNhbEhlaWdodCgpID4gcm93
SGVpZ2h0KQorICAgICAgICAgICAgICAgICAgICAgICAgcm93SGVpZ2h0SW5jcmVhc2VGb3JQYWdp
bmF0aW9uID0gc3RkOjptYXgocm93SGVpZ2h0SW5jcmVhc2VGb3JQYWdpbmF0aW9uLCBjZWxsLT5s
b2dpY2FsSGVpZ2h0KCkgLSByb3dIZWlnaHQpOworICAgICAgICAgICAgICAgICAgICBjZWxsLT5z
ZXRMb2dpY2FsSGVpZ2h0KHJvd0hlaWdodCk7CisgICAgICAgICAgICAgICAgfQogCi0gICAgICAg
ICAgICBhdXRvKiBsYXlvdXRTdGF0ZSA9IHZpZXcoKS5mcmFtZVZpZXcoKS5sYXlvdXRDb250ZXh0
KCkubGF5b3V0U3RhdGUoKTsKLSAgICAgICAgICAgIGlmICghY2VsbC0+bmVlZHNMYXlvdXQoKSAm
JiBsYXlvdXRTdGF0ZS0+cGFnZUxvZ2ljYWxIZWlnaHQoKSAmJiBsYXlvdXRTdGF0ZS0+cGFnZUxv
Z2ljYWxPZmZzZXQoY2VsbCwgY2VsbC0+bG9naWNhbFRvcCgpKSAhPSBjZWxsLT5wYWdlTG9naWNh
bE9mZnNldCgpKQotICAgICAgICAgICAgICAgIGNlbGwtPnNldENoaWxkTmVlZHNMYXlvdXQoTWFy
a09ubHlUaGlzKTsKKyAgICAgICAgICAgICAgICBMYXlvdXRTaXplIGNoaWxkT2Zmc2V0KGNlbGwt
PmxvY2F0aW9uKCkgLSBvbGRDZWxsUmVjdC5sb2NhdGlvbigpKTsKKyAgICAgICAgICAgICAgICBp
ZiAoY2hpbGRPZmZzZXQud2lkdGgoKSB8fCBjaGlsZE9mZnNldC5oZWlnaHQoKSkgeworICAgICAg
ICAgICAgICAgICAgICB2aWV3KCkuZnJhbWVWaWV3KCkubGF5b3V0Q29udGV4dCgpLmFkZExheW91
dERlbHRhKGNoaWxkT2Zmc2V0KTsKIAotICAgICAgICAgICAgaWYgKGNlbGwtPmlzT3J0aG9nb25h
bCgpKSB7Ci0gICAgICAgICAgICAgICAgY2VsbC0+c2V0TmVlZHNMYXlvdXQoTWFya09ubHlUaGlz
KTsKLSAgICAgICAgICAgICAgICBjZWxsLT5zZXRPdmVycmlkaW5nQm9yZGVyQm94TG9naWNhbFdp
ZHRoKHJvd0hlaWdodCk7CisgICAgICAgICAgICAgICAgICAgIC8vIElmIHRoZSBjaGlsZCBtb3Zl
ZCwgd2UgaGF2ZSB0byByZXBhaW50IGl0IGFzIHdlbGwgYXMgYW55IGZsb2F0aW5nL3Bvc2l0aW9u
ZWQKKyAgICAgICAgICAgICAgICAgICAgLy8gZGVzY2VuZGFudHMuIEFuIGV4Y2VwdGlvbiBpcyBp
ZiB3ZSBuZWVkIGEgbGF5b3V0LiBJbiB0aGlzIGNhc2UsIHdlIGtub3cgd2UncmUgZ29pbmcgdG8K
KyAgICAgICAgICAgICAgICAgICAgLy8gcmVwYWludCBvdXJzZWx2ZXMgKGFuZCB0aGUgY2hpbGQp
IGFueXdheS4KKyAgICAgICAgICAgICAgICAgICAgaWYgKCF0YWJsZSgpLT5zZWxmTmVlZHNMYXlv
dXQoKSAmJiBjZWxsLT5jaGVja0ZvclJlcGFpbnREdXJpbmdMYXlvdXQoKSkKKyAgICAgICAgICAg
ICAgICAgICAgICAgIGNlbGwtPnJlcGFpbnREdXJpbmdMYXlvdXRJZk1vdmVkKG9sZENlbGxSZWN0
KTsKKyAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBjZWxsLT5s
YXlvdXRJZk5lZWRlZCgpOwotCi0gICAgICAgICAgICAvLyBGSVhNRTogTWFrZSBwYWdpbmF0aW9u
IHdvcmsgd2l0aCB2ZXJ0aWNhbCB0YWJsZXMuCi0gICAgICAgICAgICBpZiAobGF5b3V0U3RhdGUt
PnBhZ2VMb2dpY2FsSGVpZ2h0KCkgJiYgY2VsbC0+bG9naWNhbEhlaWdodCgpICE9IHJvd0hlaWdo
dCkgewotICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBQYWdpbmF0aW9uIG1pZ2h0IGhhdmUgbWFk
ZSB1cyBjaGFuZ2Ugc2l6ZS4gRm9yIG5vdyBqdXN0IHNocmluayBvciBncm93IHRoZSBjZWxsIHRv
IGZpdCB3aXRob3V0IGRvaW5nIGEgcmVsYXlvdXQuCi0gICAgICAgICAgICAgICAgLy8gV2UnbGwg
YWxzbyBkbyBhIGJhc2ljIGluY3JlYXNlIG9mIHRoZSByb3cgaGVpZ2h0IHRvIGFjY29tbW9kYXRl
IHRoZSBjZWxsIGlmIGl0J3MgYmlnZ2VyLCBidXQgdGhpcyBpc24ndCBxdWl0ZSByaWdodAotICAg
ICAgICAgICAgICAgIC8vIGVpdGhlci4gSXQncyBhdCBsZWFzdCBzdGFibGUgdGhvdWdoIGFuZCB3
b24ndCByZXN1bHQgaW4gYW4gaW5maW5pdGUgIyBvZiByZWxheW91dHMgdGhhdCBtYXkgbmV2ZXIg
c3RhYmlsaXplLgotICAgICAgICAgICAgICAgIGlmIChjZWxsLT5sb2dpY2FsSGVpZ2h0KCkgPiBy
b3dIZWlnaHQpCi0gICAgICAgICAgICAgICAgICAgIHJvd0hlaWdodEluY3JlYXNlRm9yUGFnaW5h
dGlvbiA9IHN0ZDo6bWF4KHJvd0hlaWdodEluY3JlYXNlRm9yUGFnaW5hdGlvbiwgY2VsbC0+bG9n
aWNhbEhlaWdodCgpIC0gcm93SGVpZ2h0KTsKLSAgICAgICAgICAgICAgICBjZWxsLT5zZXRMb2dp
Y2FsSGVpZ2h0KHJvd0hlaWdodCk7CisgICAgICAgICAgICBpZiAocm93SGVpZ2h0SW5jcmVhc2VG
b3JQYWdpbmF0aW9uKSB7CisgICAgICAgICAgICAgICAgZm9yIChzaXplX3QgaW5kZXggPSByb3dJ
bmRleCArIDE7IGluZGV4IDw9IG51bWJlck9mUm93czsgKytpbmRleCkKKyAgICAgICAgICAgICAg
ICAgICAgbV9yb3dQb3NbaW5kZXhdICs9IHJvd0hlaWdodEluY3JlYXNlRm9yUGFnaW5hdGlvbjsK
KyAgICAgICAgICAgICAgICBmb3IgKHNpemVfdCBpbmRleCA9IDA7IGluZGV4IDwgbnVtYmVyT2ZF
ZmZlY3RpdmVDb2x1bW5zOyArK2luZGV4KSB7CisgICAgICAgICAgICAgICAgICAgIFZlY3RvcjxS
ZW5kZXJUYWJsZUNlbGwqLCAxPiYgY2VsbHMgPSBjZWxsQXQocm93SW5kZXgsIGluZGV4KS5jZWxs
czsKKyAgICAgICAgICAgICAgICAgICAgZm9yIChzaXplX3QgY2VsbEluZGV4ID0gMDsgY2VsbElu
ZGV4IDwgY2VsbHMuc2l6ZSgpOyArK2NlbGxJbmRleCkKKyAgICAgICAgICAgICAgICAgICAgICAg
IGNlbGxzW2NlbGxJbmRleF0tPnNldExvZ2ljYWxIZWlnaHQoY2VsbHNbY2VsbEluZGV4XS0+bG9n
aWNhbEhlaWdodCgpICsgcm93SGVpZ2h0SW5jcmVhc2VGb3JQYWdpbmF0aW9uKTsKKyAgICAgICAg
ICAgICAgICB9CiAgICAgICAgICAgICB9CisgICAgICAgIH07CiAKLSAgICAgICAgICAgIExheW91
dFNpemUgY2hpbGRPZmZzZXQoY2VsbC0+bG9jYXRpb24oKSAtIG9sZENlbGxSZWN0LmxvY2F0aW9u
KCkpOwotICAgICAgICAgICAgaWYgKGNoaWxkT2Zmc2V0LndpZHRoKCkgfHwgY2hpbGRPZmZzZXQu
aGVpZ2h0KCkpIHsKLSAgICAgICAgICAgICAgICB2aWV3KCkuZnJhbWVWaWV3KCkubGF5b3V0Q29u
dGV4dCgpLmFkZExheW91dERlbHRhKGNoaWxkT2Zmc2V0KTsKKyAgICAgICAgaWYgKENoZWNrZWRQ
dHIgcm93UmVuZGVyZXIgPSBtX2dyaWRbcm93SW5kZXhdLnJvd1JlbmRlcmVyKSB7CisgICAgICAg
ICAgICAvLyBGSVhNRTogdGhlIHgoKSBwb3NpdGlvbiBvZiB0aGUgcm93IHNob3VsZCBiZSB0YWJs
ZSgpLT5oQm9yZGVyU3BhY2luZygpIHNvIHRoYXQgaXQgY2FuCisgICAgICAgICAgICAvLyByZXBv
cnQgdGhlIGNvcnJlY3Qgb2Zmc2V0TGVmdC4gSG93ZXZlciwgdGhhdCB3aWxsIHJlcXVpcmUgYSBs
b3Qgb2YgcmViYXNlbGluaW5nIG9mIHRlc3QgcmVzdWx0cy4KKyAgICAgICAgICAgIHJvd1JlbmRl
cmVyLT5zZXRMb2dpY2FsTG9jYXRpb24oeyAwX2x1LCBtX3Jvd1Bvc1tyb3dJbmRleF0gfSk7Cisg
ICAgICAgICAgICByb3dSZW5kZXJlci0+c2V0TG9naWNhbFdpZHRoKGxvZ2ljYWxXaWR0aCgpKTsK
IAotICAgICAgICAgICAgICAgIC8vIElmIHRoZSBjaGlsZCBtb3ZlZCwgd2UgaGF2ZSB0byByZXBh
aW50IGl0IGFzIHdlbGwgYXMgYW55IGZsb2F0aW5nL3Bvc2l0aW9uZWQKLSAgICAgICAgICAgICAg
ICAvLyBkZXNjZW5kYW50cy4gIEFuIGV4Y2VwdGlvbiBpcyBpZiB3ZSBuZWVkIGEgbGF5b3V0LiAg
SW4gdGhpcyBjYXNlLCB3ZSBrbm93IHdlJ3JlIGdvaW5nIHRvCi0gICAgICAgICAgICAgICAgLy8g
cmVwYWludCBvdXJzZWx2ZXMgKGFuZCB0aGUgY2hpbGQpIGFueXdheS4KLSAgICAgICAgICAgICAg
ICBpZiAoIXRhYmxlKCktPnNlbGZOZWVkc0xheW91dCgpICYmIGNlbGwtPmNoZWNrRm9yUmVwYWlu
dER1cmluZ0xheW91dCgpKQotICAgICAgICAgICAgICAgICAgICBjZWxsLT5yZXBhaW50RHVyaW5n
TGF5b3V0SWZNb3ZlZChvbGRDZWxsUmVjdCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAg
ICAgICAgaWYgKHJvd0hlaWdodEluY3JlYXNlRm9yUGFnaW5hdGlvbikgewotICAgICAgICAgICAg
Zm9yIChzaXplX3QgaW5kZXggPSByb3dJbmRleCArIDE7IGluZGV4IDw9IG51bWJlck9mUm93czsg
KytpbmRleCkKLSAgICAgICAgICAgICAgICBtX3Jvd1Bvc1tpbmRleF0gKz0gcm93SGVpZ2h0SW5j
cmVhc2VGb3JQYWdpbmF0aW9uOwotICAgICAgICAgICAgZm9yIChzaXplX3QgaW5kZXggPSAwOyBp
bmRleCA8IG51bWJlck9mRWZmZWN0aXZlQ29sdW1uczsgKytpbmRleCkgewotICAgICAgICAgICAg
ICAgIFZlY3RvcjxSZW5kZXJUYWJsZUNlbGwqLCAxPiYgY2VsbHMgPSBjZWxsQXQocm93SW5kZXgs
IGluZGV4KS5jZWxsczsKLSAgICAgICAgICAgICAgICBmb3IgKHNpemVfdCBjZWxsSW5kZXggPSAw
OyBjZWxsSW5kZXggPCBjZWxscy5zaXplKCk7ICsrY2VsbEluZGV4KQotICAgICAgICAgICAgICAg
ICAgICBjZWxsc1tjZWxsSW5kZXhdLT5zZXRMb2dpY2FsSGVpZ2h0KGNlbGxzW2NlbGxJbmRleF0t
PmxvZ2ljYWxIZWlnaHQoKSArIHJvd0hlaWdodEluY3JlYXNlRm9yUGFnaW5hdGlvbik7Ci0gICAg
ICAgICAgICB9Ci0gICAgICAgIH0KKyAgICAgICAgICAgIExheW91dFVuaXQgcm93TG9naWNhbEhl
aWdodDsKKyAgICAgICAgICAgIGF1dG8gcm93SGFzVmlzaWJpbGl0eUNvbGxhcHNlID0gKG1fZ3Jp
ZFtyb3dJbmRleF0ucm93UmVuZGVyZXIgJiYgbV9ncmlkW3Jvd0luZGV4XS5yb3dSZW5kZXJlci0+
c3R5bGUoKS52aXNpYmlsaXR5KCkgPT0gVmlzaWJpbGl0eTo6Q29sbGFwc2UpIHx8IHN0eWxlKCku
dmlzaWJpbGl0eSgpID09IFZpc2liaWxpdHk6OkNvbGxhcHNlOworICAgICAgICAgICAgaWYgKCFy
b3dIYXNWaXNpYmlsaXR5Q29sbGFwc2UpCisgICAgICAgICAgICAgICAgcm93TG9naWNhbEhlaWdo
dCA9IG1fcm93UG9zW3Jvd0luZGV4ICsgMV0gLSBtX3Jvd1Bvc1tyb3dJbmRleF0gLSB2c3BhY2lu
ZzsKKworICAgICAgICAgICAgQVNTRVJUKHJvd0xvZ2ljYWxIZWlnaHQgPj0gMCk7CisgICAgICAg
ICAgICByb3dSZW5kZXJlci0+c2V0TG9naWNhbEhlaWdodChyb3dMb2dpY2FsSGVpZ2h0KTsKKyAg
ICAgICAgICAgIHJvd1JlbmRlcmVyLT51cGRhdGVMYXllclRyYW5zZm9ybSgpOworCisgICAgICAg
ICAgICAvLyBQdXNoIHRoZSByb3cncyBvZmZzZXQgb250byB0aGUgbGF5b3V0IHN0YXRlIHNvIHRo
YXQgcGFnaW5hdGlvbiBvZmZzZXRzCisgICAgICAgICAgICAvLyBhcmUgY29uc2lzdGVudCB3aXRo
IHdoYXQgUmVuZGVyVGFibGVSb3c6OmxheW91dCgpIHB1c2hlcy4KKyAgICAgICAgICAgIExheW91
dFN0YXRlTWFpbnRhaW5lciByb3dTdGF0ZVB1c2hlcigqcm93UmVuZGVyZXIsIHJvd1JlbmRlcmVy
LT5sb2NhdGlvbk9mZnNldCgpKTsKKyAgICAgICAgICAgIGxheW91dENlbGxzKCk7CisKKyAgICAg
ICAgICAgIHJvd1JlbmRlcmVyLT5jbGVhck92ZXJmbG93KCk7CisgICAgICAgICAgICByb3dSZW5k
ZXJlci0+YWRkVmlzdWFsRWZmZWN0T3ZlcmZsb3coKTsKKyAgICAgICAgICAgIHJvd1JlbmRlcmVy
LT5hZGRPdmVyZmxvd0Zyb21JbkZsb3dDaGlsZHJlbigpOworICAgICAgICAgICAgcm93UmVuZGVy
ZXItPmxheW91dE91dE9mRmxvd0JveGVzKFJlbGF5b3V0Q2hpbGRyZW46Olllcyk7CisgICAgICAg
ICAgICByb3dSZW5kZXJlci0+Y2xlYXJOZWVkc0xheW91dCgpOworICAgICAgICB9IGVsc2UKKyAg
ICAgICAgICAgIGxheW91dENlbGxzKCk7CiAgICAgfQogCiAgICAgQVNTRVJUKCFuZWVkc0xheW91
dCgpKTsKQEAgLTcyNyw4ICs3MzUsMTEgQEAgdm9pZCBSZW5kZXJUYWJsZVNlY3Rpb246OmNvbXB1
dGVPdmVyZmxvd0Zyb21DZWxscyh1bnNpZ25lZCB0b3RhbFJvd3MsIHVuc2lnbmVkIG4KICNpZiBB
U1NFUlRfRU5BQkxFRAogICAgIGJvb2wgaGFzT3ZlcmZsb3dpbmdDZWxsID0gZmFsc2U7CiAjZW5k
aWYKLSAgICAvLyBOb3cgdGhhdCBvdXIgaGVpZ2h0IGhhcyBiZWVuIGRldGVybWluZWQsIGFkZCBp
biBvdmVyZmxvdyBmcm9tIGNlbGxzLgorICAgIC8vIE5vdyB0aGF0IG91ciBoZWlnaHQgaGFzIGJl
ZW4gZGV0ZXJtaW5lZCwgYWRkIGluIG92ZXJmbG93IGZyb20gcm93cyAod2hpY2gKKyAgICAvLyBh
bHJlYWR5IGluY2x1ZGUgY2VsbCBvdmVyZmxvdyBmcm9tIGFkZE92ZXJmbG93RnJvbUluRmxvd0No
aWxkcmVuIGluIGxheW91dFJvd3MpLgogICAgIGZvciAodW5zaWduZWQgciA9IDA7IHIgPCB0b3Rh
bFJvd3M7IHIrKykgeworICAgICAgICBpZiAoQ2hlY2tlZFB0ciByb3cgPSBtX2dyaWRbcl0ucm93
UmVuZGVyZXIpCisgICAgICAgICAgICBhZGRPdmVyZmxvd0Zyb21Db250YWluZWRCb3goKnJvdyk7
CiAgICAgICAgIGZvciAodW5zaWduZWQgYyA9IDA7IGMgPCBuRWZmQ29sczsgYysrKSB7CiAgICAg
ICAgICAgICBDZWxsU3RydWN0JiBjcyA9IGNlbGxBdChyLCBjKTsKICAgICAgICAgICAgIFJlbmRl
clRhYmxlQ2VsbCogY2VsbCA9IGNzLnByaW1hcnlDZWxsKCk7CkBAIC03MzYsNyArNzQ3LDYgQEAg
dm9pZCBSZW5kZXJUYWJsZVNlY3Rpb246OmNvbXB1dGVPdmVyZmxvd0Zyb21DZWxscyh1bnNpZ25l
ZCB0b3RhbFJvd3MsIHVuc2lnbmVkIG4KICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAg
ICAgICAgIGlmIChyIDwgdG90YWxSb3dzIC0gMSAmJiBjZWxsID09IHByaW1hcnlDZWxsQXQociAr
IDEsIGMpKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgYWRkT3ZlcmZs
b3dGcm9tQ29udGFpbmVkQm94KCpjZWxsKTsKICNpZiBBU1NFUlRfRU5BQkxFRAogICAgICAgICAg
ICAgaGFzT3ZlcmZsb3dpbmdDZWxsIHw9IGNlbGwtPmhhc1Zpc3VhbE92ZXJmbG93KCk7CiAjZW5k
aWYKQEAgLTkzOSw3ICs5NDksNyBAQCBzdGQ6Om9wdGlvbmFsPExheW91dFVuaXQ+IFJlbmRlclRh
YmxlU2VjdGlvbjo6YmFzZWxpbmVGcm9tQ2VsbENvbnRlbnRFZGdlcyhJdGVtUAogICAgICAgICBj
b25zdCBSZW5kZXJUYWJsZUNlbGwqIGNlbGwgPSBjcy5wcmltYXJ5Q2VsbCgpOwogICAgICAgICAv
LyBPbmx5IGNlbGxzIHdpdGggY29udGVudCBoYXZlIGEgYmFzZWxpbmUKICAgICAgICAgaWYgKGNl
bGwgJiYgY2VsbC0+Y29udGVudEJveExvZ2ljYWxIZWlnaHQoKSkgewotICAgICAgICAgICAgTGF5
b3V0VW5pdCBjYW5kaWRhdGUgPSBjZWxsLT5sb2dpY2FsVG9wKCkgKyBjZWxsLT5ib3JkZXJBbmRQ
YWRkaW5nQmVmb3JlKCkgKyBjZWxsLT5jb250ZW50Qm94TG9naWNhbEhlaWdodCgpOworICAgICAg
ICAgICAgTGF5b3V0VW5pdCBjYW5kaWRhdGUgPSBtX3Jvd1Bvc1tjZWxsLT5yb3dJbmRleCgpXSAr
IGNlbGwtPmJvcmRlckFuZFBhZGRpbmdCZWZvcmUoKSArIGNlbGwtPmNvbnRlbnRCb3hMb2dpY2Fs
SGVpZ2h0KCk7CiAgICAgICAgICAgICByZXN1bHQgPSBzdGQ6Om1heChyZXN1bHQudmFsdWVfb3Io
Y2FuZGlkYXRlKSwgY2FuZGlkYXRlKTsKICAgICAgICAgfQogICAgIH0KQEAgLTk4OCw5ICs5OTgs
MTEgQEAgc3RhdGljIGlubGluZSBib29sIE5PREVMRVRFIGNvbXBhcmVDZWxsUG9zaXRpb25zV2l0
aE92ZXJmbG93aW5nQ2VsbHMoY29uc3QgU2luZ2wKIAogdm9pZCBSZW5kZXJUYWJsZVNlY3Rpb246
OnBhaW50Q2VsbChSZW5kZXJUYWJsZUNlbGwqIGNlbGwsIFBhaW50SW5mbyYgcGFpbnRJbmZvLCBj
b25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZmZzZXQpCiB7Ci0gICAgTGF5b3V0UG9pbnQgY2VsbFBv
aW50ID0gZmxpcEZvcldyaXRpbmdNb2RlRm9yQ2hpbGQoKmNlbGwsIHBhaW50T2Zmc2V0KTsKKyAg
ICBhdXRvJiByb3cgPSBkb3duY2FzdDxSZW5kZXJUYWJsZVJvdz4oKmNlbGwtPnBhcmVudCgpKTsK
KyAgICBhdXRvIHJvd0JhY2tncm91bmRQYWludE9mZnNldCA9IGZsaXBGb3JXcml0aW5nTW9kZUZv
ckNoaWxkKHJvdywgcGFpbnRPZmZzZXQpOworICAgIGF1dG8gcm93UGFpbnRPZmZzZXQgPSByb3dC
YWNrZ3JvdW5kUGFpbnRPZmZzZXQgKyByb3cubG9jYXRpb24oKTsKKyAgICBhdXRvIGNlbGxQb2lu
dCA9IHJvdy5mbGlwRm9yV3JpdGluZ01vZGVGb3JDaGlsZCgqY2VsbCwgcm93UGFpbnRPZmZzZXQp
OwogICAgIFBhaW50UGhhc2UgcGFpbnRQaGFzZSA9IHBhaW50SW5mby5waGFzZTsKLSAgICBSZW5k
ZXJUYWJsZVJvdyYgcm93ID0gZG93bmNhc3Q8UmVuZGVyVGFibGVSb3c+KCpjZWxsLT5wYXJlbnQo
KSk7CiAKICAgICBpZiAocGFpbnRQaGFzZSA9PSBQYWludFBoYXNlOjpCbG9ja0JhY2tncm91bmQg
fHwgcGFpbnRQaGFzZSA9PSBQYWludFBoYXNlOjpDaGlsZEJsb2NrQmFja2dyb3VuZCkgewogICAg
ICAgICAvLyBXZSBuZWVkIHRvIGhhbmRsZSBwYWludGluZyBhIHN0YWNrIG9mIGJhY2tncm91bmRz
LiAgVGhpcyBzdGFjayAoZnJvbSBib3R0b20gdG8gdG9wKSBjb25zaXN0cyBvZgpAQCAtMTAxMyw3
ICsxMDI1LDcgQEAgdm9pZCBSZW5kZXJUYWJsZVNlY3Rpb246OnBhaW50Q2VsbChSZW5kZXJUYWJs
ZUNlbGwqIGNlbGwsIFBhaW50SW5mbyYgcGFpbnRJbmZvLAogICAgICAgICAvLyBQYWludCB0aGUg
cm93IG5leHQsIGJ1dCBvbmx5IGlmIGl0IGRvZXNuJ3QgaGF2ZSBhIGxheWVyLiAgSWYgYSByb3cg
aGFzIGEgbGF5ZXIsIGl0IHdpbGwgYmUgcmVzcG9uc2libGUgZm9yCiAgICAgICAgIC8vIHBhaW50
aW5nIHRoZSByb3cgYmFja2dyb3VuZCBmb3IgdGhlIGNlbGwuCiAgICAgICAgIGlmICghcm93Lmhh
c1NlbGZQYWludGluZ0xheWVyKCkpCi0gICAgICAgICAgICBjZWxsLT5wYWludEJhY2tncm91bmRz
QmVoaW5kQ2VsbChwYWludEluZm8sIGNlbGxQb2ludCwgJnJvdywgY2VsbFBvaW50KTsKKyAgICAg
ICAgICAgIGNlbGwtPnBhaW50QmFja2dyb3VuZHNCZWhpbmRDZWxsKHBhaW50SW5mbywgY2VsbFBv
aW50LCAmcm93LCByb3dCYWNrZ3JvdW5kUGFpbnRPZmZzZXQpOwogICAgIH0KICAgICBpZiAoKCFj
ZWxsLT5oYXNTZWxmUGFpbnRpbmdMYXllcigpICYmICFyb3cuaGFzU2VsZlBhaW50aW5nTGF5ZXIo
KSkpCiAgICAgICAgIGNlbGwtPnBhaW50KHBhaW50SW5mbywgY2VsbFBvaW50KTsKQEAgLTE0MDcs
NyArMTQxOSw5IEBAIHZvaWQgUmVuZGVyVGFibGVTZWN0aW9uOjpwYWludE9iamVjdChQYWludElu
Zm8mIHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBhCiAgICAgICAgICAgICAgICAgICAg
IHNob3VsZFBhaW50Um93R3JvdXBCb3JkZXIgPSBmYWxzZTsKICAgICAgICAgICAgICAgICB9CiAK
LSAgICAgICAgICAgICAgICBhdXRvIGNlbGxQb2ludCA9IGZsaXBGb3JXcml0aW5nTW9kZUZvckNo
aWxkKCpjZWxsLCBwYWludE9mZnNldCk7CisgICAgICAgICAgICAgICAgYXV0byYgcm93ID0gZG93
bmNhc3Q8UmVuZGVyVGFibGVSb3c+KCpjZWxsLT5wYXJlbnQoKSk7CisgICAgICAgICAgICAgICAg
YXV0byByb3dQYWludE9mZnNldCA9IGZsaXBGb3JXcml0aW5nTW9kZUZvckNoaWxkKHJvdywgcGFp
bnRPZmZzZXQpICsgcm93LmxvY2F0aW9uKCk7CisgICAgICAgICAgICAgICAgYXV0byBjZWxsUG9p
bnQgPSByb3cuZmxpcEZvcldyaXRpbmdNb2RlRm9yQ2hpbGQoKmNlbGwsIHJvd1BhaW50T2Zmc2V0
KTsKICAgICAgICAgICAgICAgICBjZWxsLT5wYWludENvbGxhcHNlZEJvcmRlcnMocGFpbnRJbmZv
LCBjZWxsUG9pbnQpOwogICAgICAgICAgICAgfQogICAgICAgICB9CkBAIC0xNDU2LDcgKzE0NzAs
OSBAQCB2b2lkIFJlbmRlclRhYmxlU2VjdGlvbjo6cGFpbnRPYmplY3QoUGFpbnRJbmZvJiBwYWlu
dEluZm8sIGNvbnN0IExheW91dFBvaW50JiBwYQogCiAgICAgICAgIGlmIChwYWludEluZm8ucGhh
c2UgPT0gUGFpbnRQaGFzZTo6Q29sbGFwc2VkVGFibGVCb3JkZXJzKSB7CiAgICAgICAgICAgICBm
b3IgKHVuc2lnbmVkIGkgPSBjZWxscy5zaXplKCk7IGkgPiAwOyAtLWkpIHsKLSAgICAgICAgICAg
ICAgICBhdXRvIGNlbGxQb2ludCA9IGZsaXBGb3JXcml0aW5nTW9kZUZvckNoaWxkKCpjZWxsc1tp
IC0gMV0sIHBhaW50T2Zmc2V0KTsKKyAgICAgICAgICAgICAgICBhdXRvJiByb3cgPSBkb3duY2Fz
dDxSZW5kZXJUYWJsZVJvdz4oKmNlbGxzW2kgLSAxXS0+cGFyZW50KCkpOworICAgICAgICAgICAg
ICAgIGF1dG8gcm93UGFpbnRPZmZzZXQgPSBmbGlwRm9yV3JpdGluZ01vZGVGb3JDaGlsZChyb3cs
IHBhaW50T2Zmc2V0KSArIHJvdy5sb2NhdGlvbigpOworICAgICAgICAgICAgICAgIGF1dG8gY2Vs
bFBvaW50ID0gcm93LmZsaXBGb3JXcml0aW5nTW9kZUZvckNoaWxkKCpjZWxsc1tpIC0gMV0sIHJv
d1BhaW50T2Zmc2V0KTsKICAgICAgICAgICAgICAgICBjZWxsc1tpIC0gMV0tPnBhaW50Q29sbGFw
c2VkQm9yZGVycyhwYWludEluZm8sIGNlbGxQb2ludCk7CiAgICAgICAgICAgICB9CiAgICAgICAg
IH0gZWxzZSB7CkBAIC0xNjI3LDcgKzE2NDMsOCBAQCBib29sIFJlbmRlclRhYmxlU2VjdGlvbjo6
bm9kZUF0UG9pbnQoY29uc3QgSGl0VGVzdFJlcXVlc3QmIHJlcXVlc3QsIEhpdFRlc3RSZXN1bAog
ICAgICAgICAgICAgLy8gdGFibGUtc3BlY2lmaWMgaGl0LXRlc3QgbWV0aG9kICh3aGljaCB3ZSBz
aG91bGQgZG8gZm9yIHBlcmZvcm1hbmNlIHJlYXNvbnMgYW55d2F5KSwKICAgICAgICAgICAgIC8v
IHRoZW4gd2UgY2FuIHJlbW92ZSB0aGlzIGNoZWNrLgogICAgICAgICAgICAgaWYgKCFyb3ctPmhh
c1NlbGZQYWludGluZ0xheWVyKCkpIHsKLSAgICAgICAgICAgICAgICBpZiAocm93LT5ub2RlQXRQ
b2ludChyZXF1ZXN0LCByZXN1bHQsIGxvY2F0aW9uSW5Db250YWluZXIsIGFkanVzdGVkTG9jYXRp
b24sIGFjdGlvbikpCisgICAgICAgICAgICAgICAgYXV0byByb3dPZmZzZXQgPSBmbGlwRm9yV3Jp
dGluZ01vZGVGb3JDaGlsZCgqcm93LCBhZGp1c3RlZExvY2F0aW9uKTsKKyAgICAgICAgICAgICAg
ICBpZiAocm93LT5ub2RlQXRQb2ludChyZXF1ZXN0LCByZXN1bHQsIGxvY2F0aW9uSW5Db250YWlu
ZXIsIHJvd09mZnNldCwgYWN0aW9uKSkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7
CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KQEAgLTE2NTUsNyArMTY3Miw5IEBAIGJvb2wgUmVu
ZGVyVGFibGVTZWN0aW9uOjpub2RlQXRQb2ludChjb25zdCBIaXRUZXN0UmVxdWVzdCYgcmVxdWVz
dCwgSGl0VGVzdFJlc3VsCiAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSBjdXJyZW50LmNl
bGxzLnNpemUoKSA7IGk7ICkgewogICAgICAgICAgICAgICAgIC0taTsKICAgICAgICAgICAgICAg
ICBSZW5kZXJUYWJsZUNlbGwqIGNlbGwgPSBjdXJyZW50LmNlbGxzW2ldOwotICAgICAgICAgICAg
ICAgIExheW91dFBvaW50IGNlbGxQb2ludCA9IGZsaXBGb3JXcml0aW5nTW9kZUZvckNoaWxkKCpj
ZWxsLCBhZGp1c3RlZExvY2F0aW9uKTsKKyAgICAgICAgICAgICAgICBhdXRvJiByb3cgPSBkb3du
Y2FzdDxSZW5kZXJUYWJsZVJvdz4oKmNlbGwtPnBhcmVudCgpKTsKKyAgICAgICAgICAgICAgICBh
dXRvIHJvd1BvaW50ID0gZmxpcEZvcldyaXRpbmdNb2RlRm9yQ2hpbGQocm93LCBhZGp1c3RlZExv
Y2F0aW9uKSArIHJvdy5sb2NhdGlvbigpOworICAgICAgICAgICAgICAgIGF1dG8gY2VsbFBvaW50
ID0gcm93LmZsaXBGb3JXcml0aW5nTW9kZUZvckNoaWxkKCpjZWxsLCByb3dQb2ludCk7CiAgICAg
ICAgICAgICAgICAgaWYgKHN0YXRpY19jYXN0PFJlbmRlck9iamVjdCo+KGNlbGwpLT5ub2RlQXRQ
b2ludChyZXF1ZXN0LCByZXN1bHQsIGxvY2F0aW9uSW5Db250YWluZXIsIGNlbGxQb2ludCwgYWN0
aW9uKSkgewogICAgICAgICAgICAgICAgICAgICB1cGRhdGVIaXRUZXN0UmVzdWx0KHJlc3VsdCwg
bG9jYXRpb25JbkNvbnRhaW5lci5wb2ludCgpIC0gdG9MYXlvdXRTaXplKGNlbGxQb2ludCkpOwog
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKQEAgLTE3MDgsNyArMTcyNyw3IEBAIHZv
aWQgUmVuZGVyVGFibGVTZWN0aW9uOjpzZXRMb2dpY2FsUG9zaXRpb25Gb3JDZWxsKFJlbmRlclRh
YmxlQ2VsbCogY2VsbCwgdW5zaWduCiB7CiAgICAgTGF5b3V0UG9pbnQgb2xkQ2VsbExvY2F0aW9u
ID0gY2VsbC0+bG9jYXRpb24oKTsKIAotICAgIExheW91dFBvaW50IGNlbGxMb2NhdGlvbigwX2x1
LCBtX3Jvd1Bvc1tjZWxsLT5yb3dJbmRleCgpXSk7CisgICAgTGF5b3V0UG9pbnQgY2VsbExvY2F0
aW9uKDBfbHUsIDBfbHUpOwogICAgIExheW91dFVuaXQgaG9yaXpvbnRhbEJvcmRlclNwYWNpbmcg
PSB0YWJsZSgpLT5oQm9yZGVyU3BhY2luZygpOwogCiAgICAgLy8gVGhlIHRhYmxlJ3Mgd3JpdGlu
ZyBtb2RlIGRldGVybWluZXMgaW4gd2hpY2ggZGlyZWN0aW9uIHRoZSByb3dzIGZsb3cuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5jcHAKaW5kZXggMTgxOThk
Y2U1MzI3Li44ZTMyYjc3MTRmNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUcmVlQXNUZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVHJlZUFzVGV4dC5jcHAKQEAgLTIyNyw3ICsyMjcsOSBAQCB2b2lkIFJlbmRlclRyZWVBc1Rl
eHQ6OndyaXRlUmVuZGVyT2JqZWN0KFRleHRTdHJlYW0mIHRzLCBjb25zdCBSZW5kZXJPYmplY3Qm
IG8sCiAgICAgICAgIC8vIEZJWE1FOiBEZWxpYmVyYXRlbHkgZHVtcCB0aGUgImlubmVyIiBib3gg
b2YgdGFibGUgY2VsbHMsIHNpbmNlIHRoYXQgaXMgd2hhdCBjdXJyZW50IHJlc3VsdHMgcmVmbGVj
dC4gIFdlJ2QgbGlrZQogICAgICAgICAvLyB0byBjbGVhbiB1cCB0aGUgcmVzdWx0cyB0byBkdW1w
IGJvdGggdGhlIG91dGVyIGJveCBhbmQgdGhlIGludHJpbnNpYyBwYWRkaW5nIHNvIHRoYXQgYm90
aCBiaXRzIG9mIGluZm9ybWF0aW9uIGFyZQogICAgICAgICAvLyBjYXB0dXJlZCBieSB0aGUgcmVz
dWx0cy4KLSAgICAgICAgciA9IExheW91dFJlY3QoY2VsbC0+eCgpLCBjZWxsLT55KCkgKyBjZWxs
LT5pbnRyaW5zaWNQYWRkaW5nQmVmb3JlKCksIGNlbGwtPndpZHRoKCksIGNlbGwtPmhlaWdodCgp
IC0gY2VsbC0+aW50cmluc2ljUGFkZGluZ0JlZm9yZSgpIC0gY2VsbC0+aW50cmluc2ljUGFkZGlu
Z0FmdGVyKCkpOworICAgICAgICAvLyBGSVhNRTogQ2VsbCBwb3NpdGlvbnMgYXJlIHJvdy1yZWxh
dGl2ZSBidXQgd2UgZHVtcCB0aGVtIGFzIHNlY3Rpb24tcmVsYXRpdmUgdG8gYXZvaWQgcmViYXNl
bGluaW5nIGV2ZXJ5IHRhYmxlIHRlc3QuCisgICAgICAgIGF1dG8gcm93T2Zmc2V0ID0gY2VsbC0+
cGFyZW50KCkgPyBkb3duY2FzdDxSZW5kZXJCb3g+KCpjZWxsLT5wYXJlbnQoKSkubG9jYXRpb24o
KSA6IExheW91dFBvaW50KCk7CisgICAgICAgIHIgPSBMYXlvdXRSZWN0KGNlbGwtPngoKSArIHJv
d09mZnNldC54KCksIGNlbGwtPnkoKSArIHJvd09mZnNldC55KCkgKyBjZWxsLT5pbnRyaW5zaWNQ
YWRkaW5nQmVmb3JlKCksIGNlbGwtPndpZHRoKCksIGNlbGwtPmhlaWdodCgpIC0gY2VsbC0+aW50
cmluc2ljUGFkZGluZ0JlZm9yZSgpIC0gY2VsbC0+aW50cmluc2ljUGFkZGluZ0FmdGVyKCkpOwog
ICAgIH0gZWxzZSBpZiAoYXV0byogYm94ID0gZHluYW1pY0Rvd25jYXN0PFJlbmRlckJveD4obykp
CiAgICAgICAgIHIgPSBib3gtPmZyYW1lUmVjdCgpOwogICAgIGVsc2UgaWYgKGF1dG8qIHN2Z01v
ZGVsT2JqZWN0ID0gZHluYW1pY0Rvd25jYXN0PFJlbmRlclNWR01vZGVsT2JqZWN0PihvKSkgewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVBZGp1c3Rlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdHlsZS9TdHlsZUFkanVzdGVyLmNwcAppbmRleCBlMGJlZGE0NWQxZmYuLjYw
YzJlYTMzYmYwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVBZGp1c3Rl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVBZGp1c3Rlci5jcHAKQEAgLTQ4
MywxMSArNDgzLDEwIEBAIHZvaWQgQWRqdXN0ZXI6OmFkanVzdChSZW5kZXJTdHlsZSYgc3R5bGUp
IGNvbnN0CiAgICAgICAgIGlmIChzdHlsZS5kaXNwbGF5KCkgPT0gRGlzcGxheVR5cGU6OklubGlu
ZUZsb3cgJiYgIXN0eWxlLnBzZXVkb0VsZW1lbnRUeXBlKCkgJiYgc3R5bGUud3JpdGluZ01vZGUo
KS5jb21wdXRlZFdyaXRpbmdNb2RlKCkgIT0gbV9wYXJlbnRTdHlsZS53cml0aW5nTW9kZSgpLmNv
bXB1dGVkV3JpdGluZ01vZGUoKSkKICAgICAgICAgICAgIHN0eWxlLnNldERpc3BsYXlNYWludGFp
bmluZ09yaWdpbmFsRGlzcGxheShEaXNwbGF5VHlwZTo6SW5saW5lRmxvd1Jvb3QpOwogCi0gICAg
ICAgIC8vIEFmdGVyIHBlcmZvcm1pbmcgdGhlIGRpc3BsYXkgbXV0YXRpb24sIGNoZWNrIHRhYmxl
IHJvd3MuIFdlIGRvIG5vdCBob25vciBwb3NpdGlvbjpyZWxhdGl2ZSBvciBwb3NpdGlvbjpzdGlj
a3kgb24KLSAgICAgICAgLy8gdGFibGUgcm93cyBvciBjZWxscy4gVGhpcyBoYXMgYmVlbiBlc3Rh
Ymxpc2hlZCBmb3IgcG9zaXRpb246cmVsYXRpdmUgaW4gQ1NTMi4xIChhbmQgY2F1c2VkIGEgY3Jh
c2ggaW4gY29udGFpbmluZ0Jsb2NrKCkKLSAgICAgICAgLy8gb24gc29tZSBzaXRlcykuCisgICAg
ICAgIC8vIFdlIGRvIG5vdCBob25vciBwb3NpdGlvbjpyZWxhdGl2ZSBvciBwb3NpdGlvbjpzdGlj
a3kgb24gdGFibGUgcm93IGdyb3Vwcy4gVGFibGUgcm93cyBhcmUKKyAgICAgICAgLy8gYWxsb3dl
ZCB0byBiZSBwb3NpdGlvbjpyZWxhdGl2ZSAodGhleSBleHRlbmQgUmVuZGVyQmxvY2sgYW5kIGNh
biBiZSBwcm9wZXIgY29udGFpbmluZyBibG9ja3MpLgogICAgICAgICBpZiAoKHN0eWxlLmRpc3Bs
YXkoKSA9PSBEaXNwbGF5VHlwZTo6VGFibGVIZWFkZXJHcm91cCB8fCBzdHlsZS5kaXNwbGF5KCkg
PT0gRGlzcGxheVR5cGU6OlRhYmxlUm93R3JvdXAKLSAgICAgICAgICAgIHx8IHN0eWxlLmRpc3Bs
YXkoKSA9PSBEaXNwbGF5VHlwZTo6VGFibGVGb290ZXJHcm91cCB8fCBzdHlsZS5kaXNwbGF5KCkg
PT0gRGlzcGxheVR5cGU6OlRhYmxlUm93KQorICAgICAgICAgICAgfHwgc3R5bGUuZGlzcGxheSgp
ID09IERpc3BsYXlUeXBlOjpUYWJsZUZvb3Rlckdyb3VwKQogICAgICAgICAgICAgJiYgc3R5bGUu
cG9zaXRpb24oKSA9PSBQb3NpdGlvblR5cGU6OlJlbGF0aXZlKQogICAgICAgICAgICAgc3R5bGUu
c2V0UG9zaXRpb24oUG9zaXRpb25UeXBlOjpTdGF0aWMpOwogCkBAIC02NDIsNyArNjQxLDExIEBA
IHZvaWQgQWRqdXN0ZXI6OmFkanVzdChSZW5kZXJTdHlsZSYgc3R5bGUpIGNvbnN0CiAKICAgICBi
b29sIG92ZXJmbG93SXNDbGlwT3JWaXNpYmxlID0gaXNPdmVyZmxvd0NsaXBPclZpc2libGUoc3R5
bGUub3ZlcmZsb3dZKCkpICYmIGlzT3ZlcmZsb3dDbGlwT3JWaXNpYmxlKHN0eWxlLm92ZXJmbG93
WCgpKTsKIAotICAgIGlmICghb3ZlcmZsb3dJc0NsaXBPclZpc2libGUgJiYgc3R5bGUuZGlzcGxh
eSgpLmlzVGFibGVCb3goKSkgeworICAgIC8vIFRoZSBvdmVyZmxvdyBwcm9wZXJ0eSBkb2VzIG5v
dCBhcHBseSB0byB0YWJsZSByb3cgZWxlbWVudHMgKENTUzIgc2VjdGlvbiAxMS4xLjEpLgorICAg
IGlmIChzdHlsZS5kaXNwbGF5KCkgPT0gRGlzcGxheVR5cGU6OlRhYmxlUm93KSB7CisgICAgICAg
IHN0eWxlLnNldE92ZXJmbG93WChDb21wdXRlZFN0eWxlOjppbml0aWFsT3ZlcmZsb3dYKCkpOwor
ICAgICAgICBzdHlsZS5zZXRPdmVyZmxvd1koQ29tcHV0ZWRTdHlsZTo6aW5pdGlhbE92ZXJmbG93
WSgpKTsKKyAgICB9IGVsc2UgaWYgKCFvdmVyZmxvd0lzQ2xpcE9yVmlzaWJsZSAmJiBzdHlsZS5k
aXNwbGF5KCkuaXNUYWJsZUJveCgpKSB7CiAgICAgICAgIC8vIFRhYmxlcyBvbmx5IHN1cHBvcnQg
b3ZlcmZsb3c6aGlkZGVuIGFuZCBvdmVyZmxvdzp2aXNpYmxlIGFuZCBpZ25vcmUgYW55dGhpbmcg
ZWxzZSwKICAgICAgICAgLy8gc2VlIGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MyLyNvdmVy
Zmxvdy4gQXMgYSB0YWJsZSBpcyBub3QgYSBibG9jawogICAgICAgICAvLyBjb250YWluZXIgYm94
IHRoZSBydWxlcyBmb3IgcmVzb2x2aW5nIGNvbmZsaWN0aW5nIHggYW5kIHkgdmFsdWVzIGluIENT
UyBPdmVyZmxvdyBNb2R1bGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlv
bnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDdmZGZkYzZiN2EwMy4uZjQy
YmI2ZTU0OTUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBi
L0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTIxNTEsNiArMjE1MSw3IEBAIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWF0aG1sL3ByZXNlbnRhdGlvbi1tYXJrdXAvb3Bl
cmF0b3JzL29wLWRpY3QtOS5oCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21hdGht
bC9wcmVzZW50YXRpb24tbWFya3VwL29wZXJhdG9ycy9wYWludGluZy1zdHJldGNoeS1vcGVyYXRv
ci0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9tYXRobWwvcHJlc2VudGF0aW9uLW1hcmt1cC9zY3JpcHRzL3VuZGVyb3Zlci1zdHJl
dGNoeS0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9tYXRobWwvcmVsYXRpb25zL2Nzcy1zdHlsaW5nL2Rpc3BsYXktd2l0aC1vdmVy
Zmxvdy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL21hdGhtbC9yZWxhdGlvbnMvY3NzLXN0eWxpbmcvb3ZlcmZsb3cvY29tcHV0ZWQtdmFs
dWUtMDAxLmh0bWwgWyBGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
bWF0aG1sL3JlbGF0aW9ucy9jc3Mtc3R5bGluZy9mbG9hdHMvZmxvYXRpbmctaW5zaWRlLW1hdGht
bC13aXRoLWJsb2NrLWRpc3BsYXkuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogbWF0aG1sL25v
bi1jb3JlL21hdGh2YXJpYW50L21hdGh2YXJpYW50LWJhc2ljLXRyYW5zZm9ybXMtd2l0aC1kZWZh
dWx0LWZvbnQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogbWF0aG1sL25vbi1jb3JlL21hdGh2
YXJpYW50L21hdGh2YXJpYW50LWRvdWJsZS1zdHJ1Y2stZm9udC1zdHlsZS1mb250LXdlaWdodC5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Rh
YmxlL25vbi1wb3NpdGlvbmVkLXJvdy1uby1jb250YWlubWVudC1leHBlY3RlZC5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC90YWJsZS9ub24tcG9zaXRpb25lZC1yb3ctbm8tY29udGFpbm1lbnQtZXhw
ZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmIxYzli
MzliODFmZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGFibGUvbm9uLXBv
c2l0aW9uZWQtcm93LW5vLWNvbnRhaW5tZW50LWV4cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxNCBA
QAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPk5vbi1wb3NpdGlvbmVk
IHRhYmxlIHJvdyBkb2VzIG5vdCBjb250YWluIGFic29sdXRlIGRlc2NlbmRhbnRzIChyZWZlcmVu
Y2UpPC90aXRsZT4KKzxzdHlsZT4KK2JvZHkgeworICAgIG1hcmdpbjogMDsKK30KKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgc3R5bGU9IndpZHRoOiAyMDBweDsgaGVpZ2h0OiAyMDBw
eDsgYmFja2dyb3VuZDogZ3JlZW4iPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9ub24tcG9zaXRpb25lZC1yb3ctbm8tY29udGFpbm1l
bnQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGFibGUvbm9uLXBvc2l0aW9uZWQtcm93LW5vLWNv
bnRhaW5tZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5l
MjNlNjhkZjM0MzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RhYmxlL25v
bi1wb3NpdGlvbmVkLXJvdy1uby1jb250YWlubWVudC5odG1sCkBAIC0wLDAgKzEsMzMgQEAKKzwh
ZG9jdHlwZSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5Ob24tcG9zaXRpb25lZCB0YWJs
ZSByb3cgZG9lcyBub3QgY29udGFpbiBhYnNvbHV0ZSBkZXNjZW5kYW50czwvdGl0bGU+Cis8bGlu
ayByZWw9Im1hdGNoIiBocmVmPSJub24tcG9zaXRpb25lZC1yb3ctbm8tY29udGFpbm1lbnQtZXhw
ZWN0ZWQuaHRtbCI+Cis8c3R5bGU+Citib2R5IHsKKyAgICBtYXJnaW46IDA7Cit9Cit0YWJsZSB7
CisgICAgYm9yZGVyLXNwYWNpbmc6IDA7CisgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsK
KyAgICBib3JkZXI6IG5vbmU7Cit9Cit0ZCB7CisgICAgcGFkZGluZzogMDsKKyAgICBib3JkZXI6
IG5vbmU7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8IS0tIFdpdGhvdXQgcG9zaXRp
b246IHJlbGF0aXZlIG9uIHRoZSByb3csIHRoZSBhYnNvbHV0ZSBkaXYgc2hvdWxkIGVzY2FwZSB0
byB0aGUKKyAgICAgbmVhcmVzdCBwb3NpdGlvbmVkIGFuY2VzdG9yICh0aGUgb3V0ZXIgZGl2KSwg
Y292ZXJpbmcgaXQgZW50aXJlbHkuIC0tPgorPGRpdiBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZl
OyB3aWR0aDogMjAwcHg7IGhlaWdodDogMjAwcHgiPgorICAgIDx0YWJsZT4KKyAgICAgICAgPHRy
PgorICAgICAgICAgICAgPHRkIHN0eWxlPSJ3aWR0aDogNTBweDsgaGVpZ2h0OiA1MHB4Ij5DZWxs
PC90ZD4KKyAgICAgICAgPC90cj4KKyAgICA8L3RhYmxlPgorICAgIDxkaXYgc3R5bGU9InBvc2l0
aW9uOiBhYnNvbHV0ZTsgaW5zZXQ6IDA7IGJhY2tncm91bmQ6IGdyZWVuIj48L2Rpdj4KKzwvZGl2
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9y
ZWxhdGl2ZS1wb3NpdGlvbi1yb3ctY29udGFpbm1lbnQtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvdGFibGUvcmVsYXRpdmUtcG9zaXRpb24tcm93LWNvbnRhaW5tZW50LWV4cGVjdGVk
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4yNzA4OGM1NmQ1
ZTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RhYmxlL3JlbGF0aXZlLXBv
c2l0aW9uLXJvdy1jb250YWlubWVudC1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMTUgQEAKKzwh
ZG9jdHlwZSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5Qb3NpdGlvbmVkIHRhYmxlIHJv
dyBhcyBjb250YWluaW5nIGJsb2NrIGZvciBhYnNvbHV0ZSBkZXNjZW5kYW50cyAocmVmZXJlbmNl
KTwvdGl0bGU+Cis8c3R5bGU+Citib2R5IHsKKyAgICBtYXJnaW46IDA7Cit9Cis8L3N0eWxlPgor
PC9oZWFkPgorPGJvZHk+Cis8ZGl2IHN0eWxlPSJoZWlnaHQ6IDUwcHgiPjwvZGl2PgorPGRpdiBz
dHlsZT0id2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyBiYWNrZ3JvdW5kOiBncmVlbiI+PC9k
aXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RhYmxl
L3JlbGF0aXZlLXBvc2l0aW9uLXJvdy1jb250YWlubWVudC5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC90YWJsZS9yZWxhdGl2ZS1wb3NpdGlvbi1yb3ctY29udGFpbm1lbnQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjQxNmM0YThiYzllYwotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGFibGUvcmVsYXRpdmUtcG9zaXRpb24tcm93LWNvbnRh
aW5tZW50Lmh0bWwKQEAgLTAsMCArMSwzMiBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPHRpdGxlPlBvc2l0aW9uZWQgdGFibGUgcm93IGFzIGNvbnRhaW5pbmcgYmxvY2sgZm9y
IGFic29sdXRlIGRlc2NlbmRhbnRzPC90aXRsZT4KKzxsaW5rIHJlbD0ibWF0Y2giIGhyZWY9InJl
bGF0aXZlLXBvc2l0aW9uLXJvdy1jb250YWlubWVudC1leHBlY3RlZC5odG1sIj4KKzxzdHlsZT4K
K2JvZHkgeworICAgIG1hcmdpbjogMDsKK30KK3RhYmxlIHsKKyAgICBib3JkZXItc3BhY2luZzog
MDsKKyAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOworICAgIGJvcmRlcjogbm9uZTsKK30K
K3RkIHsKKyAgICBwYWRkaW5nOiAwOworICAgIGJvcmRlcjogbm9uZTsKK30KKzwvc3R5bGU+Cis8
L2hlYWQ+Cis8Ym9keT4KKzwhLS0gUHVzaCB0aGUgdGFibGUgZG93biB0byB2ZXJpZnkgdGhlIGFi
c29sdXRlIGRpdiBpcyBhbmNob3JlZCB0byB0aGUgcm93LCBub3QgdGhlIHZpZXdwb3J0LiAtLT4K
KzxkaXYgc3R5bGU9ImhlaWdodDogNTBweCI+PC9kaXY+Cis8dGFibGU+CisgICAgPHRyIHN0eWxl
PSJwb3NpdGlvbjogcmVsYXRpdmUiPgorICAgICAgICA8dGQgc3R5bGU9IndpZHRoOiAxMDBweDsg
aGVpZ2h0OiAxMDBweCI+CisgICAgICAgICAgICA8ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1
dGU7IGluc2V0OiAwOyBiYWNrZ3JvdW5kOiBncmVlbiI+PC9kaXY+CisgICAgICAgIDwvdGQ+Cisg
ICAgPC90cj4KKzwvdGFibGU+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L3RhYmxlL3JlbGF0aXZlLXBvc2l0aW9uLXJvdy1tdWx0aWNlbGwtZXhwZWN0ZWQu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGFibGUvcmVsYXRpdmUtcG9zaXRpb24tcm93LW11bHRp
Y2VsbC1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MC4uMGRlZWMyYjU5MTZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90YWJs
ZS9yZWxhdGl2ZS1wb3NpdGlvbi1yb3ctbXVsdGljZWxsLWV4cGVjdGVkLmh0bWwKQEAgLTAsMCAr
MSwxNCBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPkFic29sdXRl
IGNoaWxkIG9mIHBvc2l0aW9uZWQgdGFibGUgcm93IHNwYW5zIGZ1bGwgcm93IHdpZHRoIChyZWZl
cmVuY2UpPC90aXRsZT4KKzxzdHlsZT4KK2JvZHkgeworICAgIG1hcmdpbjogMDsKK30KKzwvc3R5
bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgc3R5bGU9IndpZHRoOiAyMDBweDsgaGVpZ2h0OiA1
MHB4OyBiYWNrZ3JvdW5kOiBncmVlbiI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RhYmxlL3JlbGF0aXZlLXBvc2l0aW9uLXJvdy1tdWx0aWNl
bGwuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGFibGUvcmVsYXRpdmUtcG9zaXRpb24tcm93LW11
bHRpY2VsbC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMmY5
NGMzYjczYjhlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9yZWxh
dGl2ZS1wb3NpdGlvbi1yb3ctbXVsdGljZWxsLmh0bWwKQEAgLTAsMCArMSwzMyBAQAorPCFkb2N0
eXBlIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPkFic29sdXRlIGNoaWxkIG9mIHBvc2l0
aW9uZWQgdGFibGUgcm93IHNwYW5zIGZ1bGwgcm93IHdpZHRoPC90aXRsZT4KKzxsaW5rIHJlbD0i
bWF0Y2giIGhyZWY9InJlbGF0aXZlLXBvc2l0aW9uLXJvdy1tdWx0aWNlbGwtZXhwZWN0ZWQuaHRt
bCI+Cis8c3R5bGU+Citib2R5IHsKKyAgICBtYXJnaW46IDA7Cit9Cit0YWJsZSB7CisgICAgYm9y
ZGVyLXNwYWNpbmc6IDA7CisgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsKKyAgICBib3Jk
ZXI6IG5vbmU7Cit9Cit0ZCB7CisgICAgcGFkZGluZzogMDsKKyAgICBib3JkZXI6IG5vbmU7Cit9
Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8IS0tIFRoZSBncmVlbiBkaXYgc2hvdWxkIGNv
dmVyIHRoZSBlbnRpcmUgcm93IChib3RoIGNlbGxzKS4gLS0+Cis8dGFibGU+CisgICAgPHRyIHN0
eWxlPSJwb3NpdGlvbjogcmVsYXRpdmUiPgorICAgICAgICA8dGQgc3R5bGU9IndpZHRoOiAxMDBw
eDsgaGVpZ2h0OiA1MHB4Ij4KKyAgICAgICAgICAgIENlbGwgMQorICAgICAgICAgICAgPGRpdiBz
dHlsZT0icG9zaXRpb246IGFic29sdXRlOyBpbnNldDogMDsgYmFja2dyb3VuZDogZ3JlZW4iPjwv
ZGl2PgorICAgICAgICA8L3RkPgorICAgICAgICA8dGQgc3R5bGU9IndpZHRoOiAxMDBweDsgaGVp
Z2h0OiA1MHB4Ij5DZWxsIDI8L3RkPgorICAgIDwvdHI+Cis8L3RhYmxlPgorPC9ib2R5PgorPC9o
dG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>478995</attachid>
            <date>2026-04-10 08:50:17 -0700</date>
            <delta_ts>2026-04-10 20:27:11 -0700</delta_ts>
            <desc>[fast-cq]Patch</desc>
            <filename>bug-240961-20260410085016.patch</filename>
            <type>text/plain</type>
            <size>65063</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSBlNTU1MzA5ZjdlN2RmOWM0Y2U3NTg0OWQ5YzAzMWEzNTJhZmUxYmI4IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IFdlZCwgOCBBcHIgMjAyNiAwNzowMDowMSAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIGBwb3NpdGlv
bjogcmVsYXRpdmVgIGRvZXNuJ3Qgd29yayBhcyBleHBlY3RlZCBvbiB0YWJsZSByb3cKIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNDA5NjEgPHJkYXI6Ly9wcm9ibGVt
Lzk0Mjk0ODE5PgoKUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgpXaGVuIHlvdSBwdXQgYHBv
c2l0aW9uOiByZWxhdGl2ZWAgb24gYSA8dHI+LCBhbnkgYWJzb2x1dGVseSBwb3NpdGlvbmVkCmNo
aWxkIHNob3VsZCBzaXplIGFuZCBwb3NpdGlvbiBpdHNlbGYgcmVsYXRpdmUgdG8gdGhhdCByb3cu
IEluc3RlYWQsIGl0CmVzY2FwZXMgdG8gdGhlIG5lYXJlc3QgcG9zaXRpb25lZCBhbmNlc3RvciAo
b2Z0ZW4gdGhlIHZpZXdwb3J0KS4gVGhlIHJvb3QKY2F1c2UgaXMgdGhhdCBgUmVuZGVyVGFibGVS
b3dgIGV4dGVuZHMgYFJlbmRlckJveGAsIGJ1dCBgY29udGFpbmluZ0Jsb2NrKClgCnJldHVybnMg
YFJlbmRlckJsb2NrKmAgLS0gdGhlIHNlYXJjaCB3YWxrcyByaWdodCBwYXN0IHRoZSByb3cuIFRo
ZSBzdHlsZQpzeXN0ZW0gYWxzbyBmb3JjZXMgYHBvc2l0aW9uOiBzdGF0aWNgIG9uIHRhYmxlIHJv
d3MgKGEgd29ya2Fyb3VuZCBmb3IgdGhlCmNyYXNoIHRoaXMgY2F1c2VkKSwgYW5kIGByZXF1aXJl
c0xheWVyKClgIGlzIG1pc3NpbmcgYGlzUG9zaXRpb25lZCgpYC4KCkNoYW5naW5nIHRoZSByb3cg
ZnJvbSBgUmVuZGVyQm94YCB0byBgUmVuZGVyQmxvY2tgIG1ha2VzIGl0IGEgcHJvcGVyCmNvbnRh
aW5pbmcgYmxvY2suIFdpdGggY2VsbHMgbm93IHBvc2l0aW9uZWQgcmVsYXRpdmUgdG8gdGhlaXIg
cm93IGluc3RlYWQKb2YgdGhlIHNlY3Rpb24sIHRoZSByb3cgbmF0dXJhbGx5IHBhcnRpY2lwYXRl
cyBpbiBldmVyeSBjb29yZGluYXRlIHdhbGsuClRoaXMgZWxpbWluYXRlcyB0YWJsZS1zcGVjaWZp
YyB3b3JrYXJvdW5kcyBmcm9tIGBSZW5kZXJMYXllcmAsCmBSZW5kZXJCb3hgLCBgUmVuZGVyQm94
TW9kZWxPYmplY3RgLCBgUG9zaXRpb25lZExheW91dENvbnN0cmFpbnRzYCwKYFJlbmRlclRhYmxl
Q2VsbGAsIGFuZCBgUmVuZGVyRnJhZ21lbnRlZEZsb3dgIC0tIGFsbCBwbGFjZXMgdGhhdApwcmV2
aW91c2x5IGhhZCB0byBza2lwIG9yIGNvbXBlbnNhdGUgZm9yIHRoZSByb3cgYmVjYXVzZSBjZWxs
cyB3ZXJlIGluCnRoZSBzZWN0aW9uJ3MgY29vcmRpbmF0ZSBzcGFjZS4KCiogTGF5b3V0VGVzdHMv
VGVzdEV4cGVjdGF0aW9uczoKKiBMYXlvdXRUZXN0cy9mYXN0L3RhYmxlL25vbi1wb3NpdGlvbmVk
LXJvdy1uby1jb250YWlubWVudC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKiBMYXlvdXRUZXN0cy9m
YXN0L3RhYmxlL25vbi1wb3NpdGlvbmVkLXJvdy1uby1jb250YWlubWVudC5odG1sOiBBZGRlZC4K
KiBMYXlvdXRUZXN0cy9mYXN0L3RhYmxlL3JlbGF0aXZlLXBvc2l0aW9uLXJvdy1jb250YWlubWVu
dC1leHBlY3RlZC5odG1sOiBBZGRlZC4KKiBMYXlvdXRUZXN0cy9mYXN0L3RhYmxlL3JlbGF0aXZl
LXBvc2l0aW9uLXJvdy1jb250YWlubWVudC5odG1sOiBBZGRlZC4KKiBMYXlvdXRUZXN0cy9mYXN0
L3RhYmxlL3JlbGF0aXZlLXBvc2l0aW9uLXJvdy1tdWx0aWNlbGwtZXhwZWN0ZWQuaHRtbDogQWRk
ZWQuCiogTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9yZWxhdGl2ZS1wb3NpdGlvbi1yb3ctbXVsdGlj
ZWxsLmh0bWw6IEFkZGVkLgoqIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNw
cDoKKFdlYkNvcmU6OnNob3VsZEVtaXROZXdsaW5lc0JlZm9yZUFuZEFmdGVyTm9kZSk6CiAgICBH
dWFyZCBhZ2FpbnN0IFJlbmRlclRhYmxlUm93IG5vdyBiZWluZyBhIFJlbmRlckJsb2NrLgoqIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9PdXRsaW5lUGFpbnRlci5jcHA6CihXZWJDb3JlOjpPdXRs
aW5lUGFpbnRlcjo6Y29sbGVjdEZvY3VzUmluZ1JlY3RzRm9yQmxvY2spOgogICAgR3VhcmQgYWdh
aW5zdCBSZW5kZXJUYWJsZVJvdyBub3cgYmVpbmcgYSBSZW5kZXJCbG9jay4KKiBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUG9zaXRpb25lZExheW91dENvbnN0cmFpbnRzLmNwcDoKKFdlYkNvcmU6
OnN0YXRpY0Rpc3RhbmNlKToKICAgIFJlbW92ZWQgcm93IHNraXAgLS0gdGhlIHJvdyBpcyBhIHBy
b3BlciBjb250YWluaW5nIGJsb2NrIG5vdy4KKiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQmxvY2suaDoKKiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoKKFdl
YkNvcmU6OlJlbmRlckJveDo6cG9zaXRpb25Gb3JQb2ludCk6CiAgICBSZW1vdmVkIGFsbCBpczxS
ZW5kZXJUYWJsZVJvdz4gY2hlY2tzIHRoYXQgY29tcGVuc2F0ZWQgZm9yCiAgICBzZWN0aW9uLXJl
bGF0aXZlIGNlbGwgcG9zaXRpb25zLgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
b3hNb2RlbE9iamVjdC5jcHA6CihXZWJDb3JlOjpSZW5kZXJCb3hNb2RlbE9iamVjdDo6YWRqdXN0
ZWRQb3NpdGlvblJlbGF0aXZlVG9PZmZzZXRQYXJlbnQgY29uc3QpOgooV2ViQ29yZTo6UmVuZGVy
Qm94TW9kZWxPYmplY3Q6OmNvbXB1dGVTdGlja3lQb3NpdGlvbkNvbnN0cmFpbnRzIGNvbnN0KToK
ICAgIFNraXAgdGhlIHJvdyB3aGVuIGZpbmRpbmcgdGhlIHN0aWNreSBjb25zdHJhaW50IHJlY3Rh
bmdsZS4gQSBzdGlja3kKICAgIGNlbGwgc2hvdWxkIGJlIGNvbnN0cmFpbmVkIGJ5IGl0cyBzZWN0
aW9uLCBub3QgdGhlIGluZGl2aWR1YWwgcm93CiAgICB3aG9zZSBjb250ZW50IGJveCBlcXVhbHMg
dGhlIGNlbGwncyBoZWlnaHQuCiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYWdt
ZW50ZWRGbG93LmNwcDoKKFdlYkNvcmU6OlJlbmRlckZyYWdtZW50ZWRGbG93OjpvZmZzZXRGcm9t
TG9naWNhbFRvcE9mRmlyc3RGcmFnbWVudCBjb25zdCk6CiAgICBVc2UgY29udGFpbmVyKCkgaW5z
dGVhZCBvZiBjb250YWluaW5nQmxvY2soKSBzbyBub24tUmVuZGVyQmxvY2sKICAgIGFuY2VzdG9y
cyBsaWtlIFJlbmRlclRhYmxlU2VjdGlvbiBhcmUgbm90IHNraXBwZWQuIFJlbW92ZXMgYWxsCiAg
ICB0YWJsZS1zcGVjaWZpYyBjb2RlIGZyb20gdGhpcyBmdW5jdGlvbi4KKiBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgooV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnVwZGF0
ZUxheWVyUG9zaXRpb24pOgogICAgUmVtb3ZlZCByb3cgc2tpcCBhbmQgcm93IHN1YnRyYWN0aW9u
IC0tIHRoZSBzdGFuZGFyZCBhbmNlc3RvciB3YWxrCiAgICBub3cgd29ya3MgYmVjYXVzZSBjZWxs
cyBhcmUgcm93LXJlbGF0aXZlLgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJs
ZS5jcHA6CihXZWJDb3JlOjpSZW5kZXJUYWJsZTo6cGFpbnRDb2xsYXBzZWRCb3JkZXJzRm9yUm93
KToKICAgIFBhaW50IGNvbGxhcHNlZCBib3JkZXJzIGZyb20gdGhlIHJvdydzIGxheWVyIGFmdGVy
IGNlbGwgYmFja2dyb3VuZHMuCihXZWJDb3JlOjpSZW5kZXJUYWJsZTo6Y29tcHV0ZVByZWZlcnJl
ZExvZ2ljYWxXaWR0aHMpOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZS5o
OgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNlbGwuY3BwOgooV2ViQ29y
ZTo6UmVuZGVyVGFibGVDZWxsOjpvZmZzZXRGcm9tQ29udGFpbmVyIGNvbnN0KToKICAgIFNpbXBs
aWZpZWQgdG8ganVzdCBjYWxsIHRoZSBiYXNlIGNsYXNzIC0tIG5vIG1vcmUgcm93IG9mZnNldAog
ICAgc3VidHJhY3Rpb24gbmVlZGVkLgooV2ViQ29yZTo6UmVuZGVyVGFibGVDZWxsOjpjb21wdXRl
VmlzaWJsZVJlY3RzSW5Db250YWluZXIgY29uc3QpOgogICAgUmVtb3ZlZCB0aGUgbW92ZUJ5KC1w
YXJlbnRCb3goKS0+bG9jYXRpb24oKSkgaGFjayB0aGF0IHByZXZlbnRlZAogICAgZG91YmxlLWNv
dW50aW5nIGR1cmluZyByZXBhaW50LgooV2ViQ29yZTo6UmVuZGVyVGFibGVDZWxsOjpmcmFtZVJl
Y3RGb3JTdGlja3lQb3NpdGlvbmluZyBjb25zdCk6IERlbGV0ZWQuCiogU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5oOgogICAgUmVtb3ZlZCBmcmFtZVJlY3RGb3JTdGlj
a3lQb3NpdGlvbmluZyBvdmVycmlkZSAtLSBjZWxscyBhcmUgYWxyZWFkeQogICAgcm93LXJlbGF0
aXZlIHNvIG5vIGNvbnZlcnNpb24gbmVlZGVkLgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUYWJsZVJvdy5jcHA6CihXZWJDb3JlOjpSZW5kZXJUYWJsZVJvdzo6UmVuZGVyVGFibGVS
b3cpOgogICAgUmVuZGVyQm94IC0+IFJlbmRlckJsb2NrIGJhc2UgY2xhc3MuCihXZWJDb3JlOjpS
ZW5kZXJUYWJsZVJvdzo6d2lsbEJlUmVtb3ZlZEZyb21UcmVlKToKKFdlYkNvcmU6OlJlbmRlclRh
YmxlUm93OjpzdHlsZURpZENoYW5nZSk6CihXZWJDb3JlOjpSZW5kZXJUYWJsZVJvdzo6bGF5b3V0
KToKICAgIFB1c2ggbG9jYXRpb25PZmZzZXQoKSBpbnN0ZWFkIG9mIHplcm8gc28gdGhlIGxheW91
dCBzdGF0ZSBpbmNsdWRlcwogICAgdGhlIHJvdydzIG9mZnNldCBmb3IgcGFnaW5hdGlvbi4gUmVt
b3ZlZCBjbGVhck5lZWRzTGF5b3V0KCkgLS0gbW92ZWQKICAgIHRvIGxheW91dFJvd3MoKSB3aGVy
ZSB0aGUgcm93J3MgZmluYWwgZGltZW5zaW9ucyBhcmUga25vd24uCihXZWJDb3JlOjpSZW5kZXJU
YWJsZVJvdzo6Y2xpcHBlZE92ZXJmbG93UmVjdCBjb25zdCk6CihXZWJDb3JlOjpSZW5kZXJUYWJs
ZVJvdzo6bm9kZUF0UG9pbnQpOgogICAgQWRkIGxvY2F0aW9uKCkgYW5kIGZsaXAgY2VsbHMgd2l0
aGluIHRoZSByb3csIG5vdCB0aGUgc2VjdGlvbi4KKFdlYkNvcmU6OlJlbmRlclRhYmxlUm93Ojpw
YWludCk6CiAgICBBZGQgbG9jYXRpb24oKSB0byBwYWludE9mZnNldCBmb3IgY2VsbHMuIFRoZSBs
YXllciBzeXN0ZW0gc3VidHJhY3RzCiAgICB0aGUgcm93J3MgbG9jYXRpb24gYmVmb3JlIGNhbGxp
bmcgcGFpbnQoKSwgc28gd2UgYWRkIGl0IGJhY2suIFBhaW50CiAgICBjb2xsYXBzZWQgYm9yZGVy
cyBmcm9tIHRoZSByb3cncyBsYXllci4KKFdlYkNvcmU6OlJlbmRlclRhYmxlUm93OjpyZXF1aXJl
c0xheWVyIGNvbnN0KToKICAgIEFkZGVkIGlzUG9zaXRpb25lZCgpIHNvIHBvc2l0aW9uOnJlbGF0
aXZlIHJvd3MgZ2V0IGEgbGF5ZXIuCiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRh
YmxlUm93Lmg6CihXZWJDb3JlOjpSZW5kZXJUYWJsZVJvdzo6bmV4dFJvdyBjb25zdCk6CihXZWJD
b3JlOjpSZW5kZXJUYWJsZVJvdzo6cHJldmlvdXNSb3cgY29uc3QpOgoqIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uY3BwOgooV2ViQ29yZTo6UmVuZGVyVGFibGVT
ZWN0aW9uOjpsYXlvdXRSb3dzKToKICAgIFJlc3RydWN0dXJlZCB3aXRoIGEgbGF5b3V0Q2VsbHMg
bGFtYmRhLiBXaGVuIGEgcm93IHJlbmRlcmVyIGV4aXN0czoKICAgIHBvc2l0aW9uIHRoZSByb3cs
IHB1c2ggaXRzIG9mZnNldCBvbnRvIHRoZSBsYXlvdXQgc3RhdGUsIGxheSBvdXQKICAgIGNlbGxz
LCB0aGVuIGZpbmFsaXplIHRoZSByb3cgKG92ZXJmbG93LCBvdXQtb2YtZmxvdyBsYXlvdXQsCiAg
ICBjbGVhck5lZWRzTGF5b3V0KS4KKFdlYkNvcmU6OlJlbmRlclRhYmxlU2VjdGlvbjo6Y29tcHV0
ZU92ZXJmbG93RnJvbUNlbGxzKToKICAgIEFkZCBvdmVyZmxvdyBmcm9tIHJvd3MgdmlhIGFkZE92
ZXJmbG93RnJvbUNvbnRhaW5lZEJveCgqcm93KS4gUm93cwogICAgYWxyZWFkeSBhY2N1bXVsYXRl
ZCBjZWxsIG92ZXJmbG93IHZpYSBhZGRPdmVyZmxvd0Zyb21JbkZsb3dDaGlsZHJlbiwKICAgIHdo
aWNoIHJlc3BlY3RzIG92ZXJmbG93OmhpZGRlbiB0aHJvdWdoIGxheW91dE92ZXJmbG93UmVjdEZv
clByb3BhZ2F0aW9uLgooV2ViQ29yZTo6UmVuZGVyVGFibGVTZWN0aW9uOjpiYXNlbGluZUZyb21D
ZWxsQ29udGVudEVkZ2VzIGNvbnN0KToKICAgIFVzZSBtX3Jvd1Bvc1tyb3dJbmRleF0gc2luY2Ug
Y2VsbC0+bG9naWNhbFRvcCgpIGlzIG5vdyAwLgooV2ViQ29yZTo6UmVuZGVyVGFibGVTZWN0aW9u
OjpwYWludENlbGwpOgogICAgVHdvLXN0ZXAgc2VjdGlvbi0+cm93LT5jZWxsIGNvb3JkaW5hdGUg
Y29udmVyc2lvbi4gUm93IGJhY2tncm91bmQKICAgIHVzZXMgdGhlIGZsaXAgb2Zmc2V0IHdpdGhv
dXQgcm93LmxvY2F0aW9uKCkgc2luY2UgYmFja2dyb3VuZFJlY3RGb3JSb3cKICAgIGFscmVhZHkg
aW5jbHVkZXMgdGhlIHJvdydzIHBvc2l0aW9uIGZyb20gZnJhbWVSZWN0KCkuCihXZWJDb3JlOjpS
ZW5kZXJUYWJsZVNlY3Rpb246OnBhaW50T2JqZWN0KToKICAgIFNhbWUgc2VjdGlvbi0+cm93LT5j
ZWxsIHBhdHRlcm4gZm9yIGNvbGxhcHNlZCBib3JkZXJzLgooV2ViQ29yZTo6UmVuZGVyVGFibGVT
ZWN0aW9uOjpub2RlQXRQb2ludCk6CiAgICBPdmVyZmxvdyBwYXRoOiBmbGlwIHJvdyB3aXRoaW4g
c2VjdGlvbiBiZWZvcmUgY2FsbGluZyByb3ctPm5vZGVBdFBvaW50LgogICAgTm9uLW92ZXJmbG93
IHBhdGg6IHNlY3Rpb24tPnJvdy0+Y2VsbCBmbGlwIHdpdGggKyByb3cubG9jYXRpb24oKS4KKFdl
YkNvcmU6OlJlbmRlclRhYmxlU2VjdGlvbjo6c2V0TG9naWNhbFBvc2l0aW9uRm9yQ2VsbCBjb25z
dCk6CiAgICBDZWxsIFkgPSAwIGluc3RlYWQgb2YgbV9yb3dQb3Nbcm93SW5kZXhdLiBUaGUgY29y
ZSBjaGFuZ2UuCiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuY3Bw
OgooV2ViQ29yZTo6UmVuZGVyVHJlZUFzVGV4dDo6d3JpdGVSZW5kZXJPYmplY3QpOgogICAgVGVt
cG9yYXJpbHkgZHVtcCBjZWxsIHBvc2l0aW9ucyBhcyBzZWN0aW9uLXJlbGF0aXZlIHRvIGF2b2lk
CiAgICByZWJhc2VsaW5pbmcgZXZlcnkgdGFibGUgcmVuZGVyIHRyZWUgZHVtcCB0ZXN0LgoqIFNv
dXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxlQWRqdXN0ZXIuY3BwOgooV2ViQ29yZTo6U3R5bGU6OkFk
anVzdGVyOjphZGp1c3QgY29uc3QpOgogICAgQWxsb3cgcG9zaXRpb246cmVsYXRpdmUgb24gdGFi
bGUgcm93cy4gUmVzZXQgb3ZlcmZsb3cgdG8gaW5pdGlhbAogICAgdmFsdWUgb24gcm93cyBwZXIg
Q1NTMiBzZWN0aW9uIDExLjEuMS4KCkNvLUF1dGhvcmVkLUJ5OiBDbGF1ZGUgT3B1cyA0LjYgKDFN
IGNvbnRleHQpIDxub3JlcGx5QGFudGhyb3BpYy5jb20+Ci0tLQogU291cmNlL1dlYkNvcmUvZWRp
dGluZy9UZXh0SXRlcmF0b3IuY3BwICAgICAgIHwgICA1ICsKIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9PdXRsaW5lUGFpbnRlci5jcHAgICB8ICAgNSArCiAuLi4vcmVuZGVyaW5nL1Bvc2l0aW9u
ZWRMYXlvdXRDb25zdHJhaW50cy5jcHAgfCAgIDMgKy0KIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCbG9jay5oICAgICAgICB8ICAgMyArLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJveC5jcHAgICAgICAgIHwgIDExICstCiAuLi4vcmVuZGVyaW5nL1JlbmRlckJveE1v
ZGVsT2JqZWN0LmNwcCAgICAgICAgfCAgIDcgKy0KIC4uLi9yZW5kZXJpbmcvUmVuZGVyRnJhZ21l
bnRlZEZsb3cuY3BwICAgICAgICB8ICA0NSArKystLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyLmNwcCAgICAgIHwgIDEyICstCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGFibGUuY3BwICAgICAgfCAgMzAgKysrCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGFibGUuaCAgICAgICAgfCAgIDIgKwogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRhYmxlQ2VsbC5jcHAgIHwgIDIwICstCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGFibGVDZWxsLmggICAgfCAgIDIgLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRhYmxlUm93LmNwcCAgIHwgIDQyICsrLS0KIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUYWJsZVJvdy5oICAgICB8ICAgNyArLQogLi4uL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRh
YmxlU2VjdGlvbi5jcHAgIHwgMTgzICsrKysrKysrKystLS0tLS0tLQogU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuY3BwIHwgICA0ICstCiBTb3VyY2UvV2ViQ29yZS9z
dHlsZS9TdHlsZUFkanVzdGVyLmNwcCAgICAgICAgfCAgMTMgKy0KIExheW91dFRlc3RzL1Rlc3RF
eHBlY3RhdGlvbnMgICAgICAgICAgICAgICAgICB8ICAgMSArCiAuLi5vc2l0aW9uZWQtcm93LW5v
LWNvbnRhaW5tZW50LWV4cGVjdGVkLmh0bWwgfCAgMTQgKysKIC4uLi9ub24tcG9zaXRpb25lZC1y
b3ctbm8tY29udGFpbm1lbnQuaHRtbCAgICB8ICAzMyArKysrCiAuLi5pdmUtcG9zaXRpb24tcm93
LWNvbnRhaW5tZW50LWV4cGVjdGVkLmh0bWwgfCAgMTUgKysKIC4uLi9yZWxhdGl2ZS1wb3NpdGlv
bi1yb3ctY29udGFpbm1lbnQuaHRtbCAgICB8ICAzMiArKysKIC4uLmF0aXZlLXBvc2l0aW9uLXJv
dy1tdWx0aWNlbGwtZXhwZWN0ZWQuaHRtbCB8ICAxNCArKwogLi4uL3JlbGF0aXZlLXBvc2l0aW9u
LXJvdy1tdWx0aWNlbGwuaHRtbCAgICAgIHwgIDMzICsrKysKIDI0IGZpbGVzIGNoYW5nZWQsIDM2
MiBpbnNlcnRpb25zKCspLCAxNzQgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5
b3V0VGVzdHMvZmFzdC90YWJsZS9ub24tcG9zaXRpb25lZC1yb3ctbm8tY29udGFpbm1lbnQtZXhw
ZWN0ZWQuaHRtbAogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL2Zhc3QvdGFibGUvbm9u
LXBvc2l0aW9uZWQtcm93LW5vLWNvbnRhaW5tZW50Lmh0bWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBM
YXlvdXRUZXN0cy9mYXN0L3RhYmxlL3JlbGF0aXZlLXBvc2l0aW9uLXJvdy1jb250YWlubWVudC1l
eHBlY3RlZC5odG1sCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9y
ZWxhdGl2ZS1wb3NpdGlvbi1yb3ctY29udGFpbm1lbnQuaHRtbAogY3JlYXRlIG1vZGUgMTAwNjQ0
IExheW91dFRlc3RzL2Zhc3QvdGFibGUvcmVsYXRpdmUtcG9zaXRpb24tcm93LW11bHRpY2VsbC1l
eHBlY3RlZC5odG1sCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9y
ZWxhdGl2ZS1wb3NpdGlvbi1yb3ctbXVsdGljZWxsLmh0bWwKCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L1RleHRJdGVyYXRvci5jcHAKaW5kZXggMDFlMzgzNjY2OTFjLi42ZWU0OWYyNTQ0NGUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL1RleHRJdGVyYXRvci5jcHAKQEAgLTk0MCw2ICs5NDAsMTEgQEAg
Ym9vbCBzaG91bGRFbWl0TmV3bGluZXNCZWZvcmVBbmRBZnRlck5vZGUoTm9kZSYgbm9kZSkKICAg
ICBpZiAoc2hvdWxkRW1pdFJlcGxhY2VtZW50SW5zdGVhZE9mTm9kZShub2RlKSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCisgICAgLy8gVGFibGUgcm93cyBhcmUgUmVuZGVyQmxvY2tzIGJ1dCBo
YXZlIHRoZWlyIG93biBuZXdsaW5lIGxvZ2ljIGFib3ZlCisgICAgLy8gdGhhdCBhY2NvdW50cyBm
b3IgaW5saW5lIHRhYmxlcy4KKyAgICBpZiAoaXM8UmVuZGVyVGFibGVSb3c+KCpyZW5kZXJlcikp
CisgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgIHJldHVybiAhcmVuZGVyZXItPmlzSW5saW5l
KCkKICAgICAgICAgJiYgaXM8UmVuZGVyQmxvY2s+KCpyZW5kZXJlcikKICAgICAgICAgJiYgIXJl
bmRlcmVyLT5pc0Zsb2F0aW5nT3JPdXRPZkZsb3dQb3NpdGlvbmVkKCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9PdXRsaW5lUGFpbnRlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvT3V0bGluZVBhaW50ZXIuY3BwCmluZGV4IDUwMDAwNDdlZDc2Ny4uMzkwYzQ0
MGRmZGM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvT3V0bGluZVBhaW50
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9PdXRsaW5lUGFpbnRlci5jcHAK
QEAgLTM4OSw2ICszODksMTEgQEAgYm9vbCBPdXRsaW5lUGFpbnRlcjo6Y29sbGVjdEZvY3VzUmlu
Z1JlY3RzRm9yQmxvY2soY29uc3QgUmVuZGVyQmxvY2smIHJlbmRlcmVyLAogICAgIGlmIChyZW5k
ZXJlci53aWR0aCgpICYmIHJlbmRlcmVyLmhlaWdodCgpKQogICAgICAgICByZWN0cy5hcHBlbmQo
TGF5b3V0UmVjdChhZGRpdGlvbmFsT2Zmc2V0LCByZW5kZXJlci5zaXplKCkpKTsKIAorICAgIC8v
IFRhYmxlIHJvd3Mgc2hhcmUgY29vcmRpbmF0ZSBzcGFjZSB3aXRoIGNlbGxzOyBkb24ndCByZWN1
cnNlIGludG8gY2VsbHMKKyAgICAvLyBhcyB0aGVpciBib3VuZHMgbWF5IGV4dGVuZCBiZXlvbmQg
dGhlIHJvdyAoZS5nLiByb3dzcGFuKS4KKyAgICBpZiAocmVuZGVyZXIuaXNSZW5kZXJUYWJsZVJv
dygpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKwogICAgIGlmICghcmVuZGVyZXIuaGFzTm9uVmlz
aWJsZU92ZXJmbG93KCkgJiYgIXJlbmRlcmVyLmhhc0NvbnRyb2xDbGlwKCkpIHsKICAgICAgICAg
aWYgKHJlbmRlcmVyLmNoaWxkcmVuSW5saW5lKCkgJiYgaXM8UmVuZGVyQmxvY2tGbG93PihyZW5k
ZXJlcikpCiAgICAgICAgICAgICBjb2xsZWN0Rm9jdXNSaW5nUmVjdHNGb3JJbmxpbmVDaGlsZHJl
bihkb3duY2FzdDxSZW5kZXJCbG9ja0Zsb3c+KHJlbmRlcmVyKSwgcmVjdHMsIGFkZGl0aW9uYWxP
ZmZzZXQsIHBhaW50Q29udGFpbmVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9Qb3NpdGlvbmVkTGF5b3V0Q29uc3RyYWludHMuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1Bvc2l0aW9uZWRMYXlvdXRDb25zdHJhaW50cy5jcHAKaW5kZXggZjYxYWQ4OGMyMWQ4
Li5jMGM2YTUzYjdhMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Qb3Np
dGlvbmVkTGF5b3V0Q29uc3RyYWludHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9Qb3NpdGlvbmVkTGF5b3V0Q29uc3RyYWludHMuY3BwCkBAIC0zNCw3ICszNCw2IEBACiAjaW5j
bHVkZSAiUmVuZGVySW5saW5lLmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXIuaCIKICNpbmNsdWRl
ICJSZW5kZXJTdHlsZS5oIgotI2luY2x1ZGUgIlJlbmRlclRhYmxlUm93LmgiCiAjaW5jbHVkZSAi
UmVuZGVyVmlldy5oIgogI2luY2x1ZGUgIlN0eWxlUG9zaXRpb25BcmVhLmgiCiAKQEAgLTY1Niw3
ICs2NTUsNyBAQCBzdGF0aWMgTGF5b3V0UG9pbnQgc3RhdGljRGlzdGFuY2UoY29uc3QgUmVuZGVy
Qm94TW9kZWxPYmplY3QmIGNvbnRhaW5lciwgY29uc3QgUgogICAgIGF1dG8gaGFzU2Vlbk5vbklu
bGluZUJveENvbnRhaW5lciA9IGZhbHNlOwogICAgIGZvciAoYXV0byogYW5jZXN0b3JDb250YWlu
ZXIgPSBjaGlsZC0+cGFyZW50KCk7IGFuY2VzdG9yQ29udGFpbmVyICYmIGFuY2VzdG9yQ29udGFp
bmVyICE9ICZjb250YWluZXI7IGFuY2VzdG9yQ29udGFpbmVyID0gYW5jZXN0b3JDb250YWluZXIt
PmNvbnRhaW5lcigpKSB7CiAgICAgICAgIENoZWNrZWRQdHIgY29udGFpbmVyQm94ID0gZHluYW1p
Y0Rvd25jYXN0PFJlbmRlckJveD4oKmFuY2VzdG9yQ29udGFpbmVyKTsKLSAgICAgICAgaWYgKCFj
b250YWluZXJCb3ggfHwgaXM8UmVuZGVyVGFibGVSb3c+KCpjb250YWluZXJCb3gpKQorICAgICAg
ICBpZiAoIWNvbnRhaW5lckJveCkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCiAgICAgICAgIHN0
YXRpY1Bvc2l0aW9uID0gY2hpbGQgPT0gJm91dE9mRmxvd0JveCA/IGluaXRpYWxTdGF0aWNQb3Np
dGlvbigpIDogcG9zaXRpb25JbkNvbnRhaW5lcigqY29udGFpbmVyQm94LCAqY2hpbGQsIHN0YXRp
Y1Bvc2l0aW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
bG9jay5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmgKaW5kZXggOGQx
ZWQzZDVkNTc3Li45ZmU0NTA0YTM4YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCbG9jay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
bG9jay5oCkBAIC0yNTUsMTMgKzI1NSwxNCBAQCBwdWJsaWM6CiAKICAgICBQYWludEluZm8gcGFp
bnRJbmZvRm9yQmxvY2tDaGlsZHJlbihjb25zdCBQYWludEluZm8mKSBjb25zdDsKIAorICAgIHZv
aWQgbGF5b3V0T3V0T2ZGbG93Qm94ZXMoUmVsYXlvdXRDaGlsZHJlbiwgYm9vbCBmaXhlZFBvc2l0
aW9uT2JqZWN0c09ubHkgPSBmYWxzZSk7CisKIHByb3RlY3RlZDoKICAgICBSZW5kZXJGcmFnbWVu
dGVkRmxvdyogbG9jYXRlRW5jbG9zaW5nRnJhZ21lbnRlZEZsb3coKSBjb25zdCBvdmVycmlkZTsK
ICAgICBib29sIGVzdGFibGlzaGVzSW5kZXBlbmRlbnRGb3JtYXR0aW5nQ29udGV4dElnbm9yaW5n
RGlzcGxheVR5cGUoY29uc3QgUmVuZGVyU3R5bGUmKSBjb25zdDsKIAogICAgIHZvaWQgbGF5b3V0
KCkgb3ZlcnJpZGU7CiAKLSAgICB2b2lkIGxheW91dE91dE9mRmxvd0JveGVzKFJlbGF5b3V0Q2hp
bGRyZW4sIGJvb2wgZml4ZWRQb3NpdGlvbk9iamVjdHNPbmx5ID0gZmFsc2UpOwogICAgIHZpcnR1
YWwgdm9pZCBsYXlvdXRPdXRPZkZsb3dCb3goUmVuZGVyQm94JiwgUmVsYXlvdXRDaGlsZHJlbiwg
Ym9vbCBmaXhlZFBvc2l0aW9uT2JqZWN0c09ubHkpOwogICAgIAogICAgIHZvaWQgbWFya0ZpeGVk
UG9zaXRpb25Cb3hGb3JMYXlvdXRJZk5lZWRlZChSZW5kZXJCb3gmIGNoaWxkKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKaW5kZXggMTRlYjQzNDc2NmZmLi4yNGEwOGVjMTc2
OTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCkBAIC00NDIyLDkgKzQ0
MjIsNiBAQCBQb3NpdGlvbldpdGhBZmZpbml0eSBSZW5kZXJCb3g6OnBvc2l0aW9uRm9yUG9pbnQo
Y29uc3QgTGF5b3V0UG9pbnQmIHBvaW50LCBIaXRUZQogICAgIC8vIFBhc3Mgb2ZmIHRvIHRoZSBj
bG9zZXN0IGNoaWxkLgogICAgIExheW91dFVuaXQgbWluRGlzdCA9IExheW91dFVuaXQ6Om1heCgp
OwogICAgIFJlbmRlckJveCogY2xvc2VzdFJlbmRlcmVyID0gbnVsbHB0cjsKLSAgICBMYXlvdXRQ
b2ludCBhZGp1c3RlZFBvaW50ID0gcG9pbnQ7Ci0gICAgaWYgKGlzUmVuZGVyVGFibGVSb3coKSkK
LSAgICAgICAgYWRqdXN0ZWRQb2ludC5tb3ZlQnkobG9jYXRpb24oKSk7CiAKICAgICBmb3IgKGF1
dG8mIHJlbmRlcmVyIDogY2hpbGRyZW5PZlR5cGU8UmVuZGVyQm94PigqdGhpcykpIHsKICAgICAg
ICAgaWYgKENoZWNrZWRQdHIgZnJhZ21lbnRlZEZsb3cgPSBkeW5hbWljRG93bmNhc3Q8UmVuZGVy
RnJhZ21lbnRlZEZsb3c+KCp0aGlzKSkgewpAQCAtNDQzNywxNCArNDQzNCwxMiBAQCBQb3NpdGlv
bldpdGhBZmZpbml0eSBSZW5kZXJCb3g6OnBvc2l0aW9uRm9yUG9pbnQoY29uc3QgTGF5b3V0UG9p
bnQmIHBvaW50LCBIaXRUZQogICAgICAgICAgICAgfHwgKHNvdXJjZSA9PSBIaXRUZXN0U291cmNl
OjpTY3JpcHQgPyByZW5kZXJlci5zdHlsZSgpLnZpc2liaWxpdHkoKSA6IHJlbmRlcmVyLnN0eWxl
KCkudXNlZFZpc2liaWxpdHkoKSkgIT0gVmlzaWJpbGl0eTo6VmlzaWJsZSkKICAgICAgICAgICAg
IGNvbnRpbnVlOwogCi0gICAgICAgIExheW91dFVuaXQgdG9wID0gcmVuZGVyZXIuYm9yZGVyVG9w
KCkgKyByZW5kZXJlci5wYWRkaW5nVG9wKCkgKyAoaXM8UmVuZGVyVGFibGVSb3c+KCp0aGlzKSA/
IDBfbHUgOiByZW5kZXJlci55KCkpOworICAgICAgICBMYXlvdXRVbml0IHRvcCA9IHJlbmRlcmVy
LmJvcmRlclRvcCgpICsgcmVuZGVyZXIucGFkZGluZ1RvcCgpICsgcmVuZGVyZXIueSgpOwogICAg
ICAgICBMYXlvdXRVbml0IGJvdHRvbSA9IHRvcCArIHJlbmRlcmVyLmNvbnRlbnRCb3hIZWlnaHQo
KTsKLSAgICAgICAgTGF5b3V0VW5pdCBsZWZ0ID0gcmVuZGVyZXIuYm9yZGVyTGVmdCgpICsgcmVu
ZGVyZXIucGFkZGluZ0xlZnQoKSArIChpczxSZW5kZXJUYWJsZVJvdz4oKnRoaXMpID8gMF9sdSA6
IHJlbmRlcmVyLngoKSk7CisgICAgICAgIExheW91dFVuaXQgbGVmdCA9IHJlbmRlcmVyLmJvcmRl
ckxlZnQoKSArIHJlbmRlcmVyLnBhZGRpbmdMZWZ0KCkgKyByZW5kZXJlci54KCk7CiAgICAgICAg
IExheW91dFVuaXQgcmlnaHQgPSBsZWZ0ICsgcmVuZGVyZXIuY29udGVudEJveFdpZHRoKCk7CiAg
ICAgICAgIAogICAgICAgICBpZiAocG9pbnQueCgpIDw9IHJpZ2h0ICYmIHBvaW50LngoKSA+PSBs
ZWZ0ICYmIHBvaW50LnkoKSA+PSB0b3AgJiYgcG9pbnQueSgpIDw9IGJvdHRvbSkgewotICAgICAg
ICAgICAgaWYgKGlzPFJlbmRlclRhYmxlUm93PihyZW5kZXJlcikpCi0gICAgICAgICAgICAgICAg
cmV0dXJuIHJlbmRlcmVyLnBvc2l0aW9uRm9yUG9pbnQocG9pbnQgKyBhZGp1c3RlZFBvaW50IC0g
cmVuZGVyZXIubG9jYXRpb25PZmZzZXQoKSwgc291cmNlLCBmcmFnbWVudCk7CiAgICAgICAgICAg
ICByZXR1cm4gcmVuZGVyZXIucG9zaXRpb25Gb3JQb2ludChwb2ludCAtIHJlbmRlcmVyLmxvY2F0
aW9uT2Zmc2V0KCksIHNvdXJjZSwgZnJhZ21lbnQpOwogICAgICAgICB9CiAKQEAgLTQ0ODIsNyAr
NDQ3Nyw3IEBAIFBvc2l0aW9uV2l0aEFmZmluaXR5IFJlbmRlckJveDo6cG9zaXRpb25Gb3JQb2lu
dChjb25zdCBMYXlvdXRQb2ludCYgcG9pbnQsIEhpdFRlCiAgICAgfQogICAgIAogICAgIGlmIChj
bG9zZXN0UmVuZGVyZXIpCi0gICAgICAgIHJldHVybiBjbG9zZXN0UmVuZGVyZXItPnBvc2l0aW9u
Rm9yUG9pbnQoYWRqdXN0ZWRQb2ludCAtIGNsb3Nlc3RSZW5kZXJlci0+bG9jYXRpb25PZmZzZXQo
KSwgc291cmNlLCBmcmFnbWVudCk7CisgICAgICAgIHJldHVybiBjbG9zZXN0UmVuZGVyZXItPnBv
c2l0aW9uRm9yUG9pbnQocG9pbnQgLSBjbG9zZXN0UmVuZGVyZXItPmxvY2F0aW9uT2Zmc2V0KCks
IHNvdXJjZSwgZnJhZ21lbnQpOwogICAgIAogICAgIHJldHVybiBjcmVhdGVQb3NpdGlvbldpdGhB
ZmZpbml0eShmaXJzdFBvc2l0aW9uSW5PckJlZm9yZU5vZGUobm9uUHNldWRvRWxlbWVudCgpKSk7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxP
YmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0
LmNwcAppbmRleCBhOWUwMzdhMTY4NjMuLjMwZTVmZGM4YjQyMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCkBAIC01OSw3ICs1OSw2
IEBACiAjaW5jbHVkZSAiUmVuZGVyTXVsdGlDb2x1bW5GbG93LmgiCiAjaW5jbHVkZSAiUmVuZGVy
T2JqZWN0SW5saW5lcy5oIgogI2luY2x1ZGUgIlJlbmRlclRhYmxlLmgiCi0jaW5jbHVkZSAiUmVu
ZGVyVGFibGVSb3cuaCIKICNpbmNsdWRlICJSZW5kZXJUZXh0LmgiCiAjaW5jbHVkZSAiUmVuZGVy
VGV4dEZyYWdtZW50LmgiCiAjaW5jbHVkZSAiUmVuZGVyVHJlZUJ1aWxkZXIuaCIKQEAgLTQzOCw3
ICs0MzcsNyBAQCBMYXlvdXRQb2ludCBSZW5kZXJCb3hNb2RlbE9iamVjdDo6YWRqdXN0ZWRQb3Np
dGlvblJlbGF0aXZlVG9PZmZzZXRQYXJlbnQoY29uc3QgTAogICAgICAgICAgICAgICAgICAgICBp
ZiAoYXV0byogZnJhZ21lbnQgPSByZW5kZXJNdWx0aUNvbHVtbkZsb3ctPnBoeXNpY2FsVHJhbnNs
YXRpb25Gcm9tRmxvd1RvRnJhZ21lbnQocmVmZXJlbmNlUG9pbnQpKQogICAgICAgICAgICAgICAg
ICAgICAgICAgcmVmZXJlbmNlUG9pbnQubW92ZUJ5KGZyYWdtZW50LT50b3BMZWZ0TG9jYXRpb24o
KSk7CiAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICghaXNPdXRPZkZsb3dQb3NpdGlvbmVkKCkp
IHsKLSAgICAgICAgICAgICAgICAgICAgaWYgKGF1dG8qIHJlbmRlckJveCA9IGR5bmFtaWNEb3du
Y2FzdDxSZW5kZXJCb3g+KCphbmNlc3Rvcik7IHJlbmRlckJveCAmJiAhaXM8UmVuZGVyVGFibGVS
b3c+KCphbmNlc3RvcikpCisgICAgICAgICAgICAgICAgICAgIGlmIChhdXRvKiByZW5kZXJCb3gg
PSBkeW5hbWljRG93bmNhc3Q8UmVuZGVyQm94PigqYW5jZXN0b3IpKQogICAgICAgICAgICAgICAg
ICAgICAgICAgcmVmZXJlbmNlUG9pbnQubW92ZUJ5KHJlbmRlckJveC0+dG9wTGVmdExvY2F0aW9u
KCkpOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAKQEAgLTQ2OCw4ICs0Njcs
MTAgQEAgdm9pZCBSZW5kZXJCb3hNb2RlbE9iamVjdDo6Y29tcHV0ZVN0aWNreVBvc2l0aW9uQ29u
c3RyYWludHMoU3RpY2t5UG9zaXRpb25WaWV3cG8KICAgICAvLyBEbyBub3QgdXNlIGFub255bW91
cyBjb250YWluaW5nIGJsb2NrcyB0byBkZXRlcm1pbmUgc3RpY2t5IGNvbnN0cmFpbnRzLiBXZSB3
YW50IHRoZSBzaXplCiAgICAgLy8gb2YgdGhlIGZpcnN0IHRydWUgY29udGFpbmluZyBibG9jaywg
YmVjYXVzZSB0aGF0IGlzIHdoYXQgaW1wb3NlcyB0aGUgbGltaXRhdGlvbiBvbiB0aGUKICAgICAv
LyBtb3ZlbWVudCBvZiBzdGlja2lseSBwb3NpdGlvbmVkIGl0ZW1zLgorICAgIC8vIFRhYmxlIHJv
d3MgYXJlIGFsc28gc2tpcHBlZCBiZWNhdXNlIGEgc3RpY2t5IGNlbGwgc2hvdWxkIGJlIGNvbnN0
cmFpbmVkIGJ5IGl0cyBzZWN0aW9uCisgICAgLy8gKHRoZWFkL3Rib2R5L3Rmb290KSwgbm90IGJ5
IHRoZSBpbmRpdmlkdWFsIHJvdyB3aG9zZSBjb250ZW50IGJveCBpcyB0aGUgc2FtZSBoZWlnaHQg
YXMgdGhlIGNlbGwuCiAgICAgUmVuZGVyQmxvY2sqIGNvbnRhaW5pbmdCbG9jayA9IHRoaXMtPmNv
bnRhaW5pbmdCbG9jaygpOwotICAgIHdoaWxlIChjb250YWluaW5nQmxvY2sgJiYgKCFpczxSZW5k
ZXJCbG9jaz4oKmNvbnRhaW5pbmdCbG9jaykgfHwgY29udGFpbmluZ0Jsb2NrLT5pc0Fub255bW91
c0Jsb2NrKCkpKQorICAgIHdoaWxlIChjb250YWluaW5nQmxvY2sgJiYgKCFpczxSZW5kZXJCbG9j
az4oKmNvbnRhaW5pbmdCbG9jaykgfHwgY29udGFpbmluZ0Jsb2NrLT5pc0Fub255bW91c0Jsb2Nr
KCkgfHwgY29udGFpbmluZ0Jsb2NrLT5pc1JlbmRlclRhYmxlUm93KCkpKQogICAgICAgICBjb250
YWluaW5nQmxvY2sgPSBjb250YWluaW5nQmxvY2stPmNvbnRhaW5pbmdCbG9jaygpOwogICAgIEFT
U0VSVChjb250YWluaW5nQmxvY2spOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyRnJhZ21lbnRlZEZsb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckZyYWdtZW50ZWRGbG93LmNwcAppbmRleCBkYjE2MDhhY2YxNmYuLjY4YjEwYjkwNzM0
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYWdtZW50ZWRG
bG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRlZEZs
b3cuY3BwCkBAIC00Myw4ICs0Myw2IEBACiAjaW5jbHVkZSAiUmVuZGVyTGF5b3V0U3RhdGUuaCIK
ICNpbmNsdWRlICJSZW5kZXJPYmplY3RJbmxpbmVzLmgiCiAjaW5jbHVkZSAiUmVuZGVyU3R5bGUr
R2V0dGVyc0lubGluZXMuaCIKLSNpbmNsdWRlICJSZW5kZXJUYWJsZUNlbGwuaCIKLSNpbmNsdWRl
ICJSZW5kZXJUYWJsZVNlY3Rpb24uaCIKICNpbmNsdWRlICJSZW5kZXJUaGVtZS5oIgogI2luY2x1
ZGUgIlJlbmRlclZpZXcuaCIKICNpbmNsdWRlICJUcmFuc2Zvcm1TdGF0ZS5oIgpAQCAtNzgwLDM0
ICs3NzgsMzkgQEAgTGF5b3V0UmVjdCBSZW5kZXJGcmFnbWVudGVkRmxvdzo6ZnJhZ21lbnRzQm91
bmRpbmdCb3goY29uc3QgTGF5b3V0UmVjdCYgbGF5ZXJCb3UKIExheW91dFVuaXQgUmVuZGVyRnJh
Z21lbnRlZEZsb3c6Om9mZnNldEZyb21Mb2dpY2FsVG9wT2ZGaXJzdEZyYWdtZW50KGNvbnN0IFJl
bmRlckJsb2NrKiBjdXJyZW50QmxvY2spIGNvbnN0CiB7CiAgICAgLy8gQXMgYSBsYXN0IHJlc29y
dCwgdGFrZSB0aGUgc2xvdyBwYXRoLgotICAgIExheW91dFJlY3QgYmxvY2tSZWN0KDBfbHUsIDBf
bHUsIGN1cnJlbnRCbG9jay0+d2lkdGgoKSwgY3VycmVudEJsb2NrLT5oZWlnaHQoKSk7Ci0gICAg
d2hpbGUgKGN1cnJlbnRCbG9jayAmJiAhaXM8UmVuZGVyVmlldz4oKmN1cnJlbnRCbG9jaykgJiYg
IWN1cnJlbnRCbG9jay0+aXNSZW5kZXJGcmFnbWVudGVkRmxvdygpKSB7Ci0gICAgICAgIFJlbmRl
ckJsb2NrKiBjb250YWluZXJCbG9jayA9IGN1cnJlbnRCbG9jay0+Y29udGFpbmluZ0Jsb2NrKCk7
Ci0gICAgICAgIEFTU0VSVChjb250YWluZXJCbG9jayk7Ci0gICAgICAgIGlmICghY29udGFpbmVy
QmxvY2spCisgICAgLy8gVXNlIGNvbnRhaW5lcigpIHJhdGhlciB0aGFuIGNvbnRhaW5pbmdCbG9j
aygpIHNpbmNlIGNvbnRhaW5pbmdCbG9jaygpCisgICAgLy8gc2tpcHMgbm9uLVJlbmRlckJsb2Nr
IGFuY2VzdG9ycyBsaWtlIFJlbmRlclRhYmxlU2VjdGlvbi4KKyAgICBDaGVja2VkUHRyPGNvbnN0
IFJlbmRlckJveD4gY3VycmVudEJveCA9IGN1cnJlbnRCbG9jazsKKyAgICBMYXlvdXRSZWN0IGJs
b2NrUmVjdCgwX2x1LCAwX2x1LCBjdXJyZW50Qm94LT53aWR0aCgpLCBjdXJyZW50Qm94LT5oZWln
aHQoKSk7CisgICAgYXV0byBuZXh0Qm94Q29udGFpbmVyID0gW10oY29uc3QgUmVuZGVyRWxlbWVu
dCYgcmVuZGVyZXIpIC0+IGNvbnN0IFJlbmRlckVsZW1lbnQqIHsKKyAgICAgICAgYXV0byogY29u
dGFpbmVyID0gcmVuZGVyZXIuY29udGFpbmVyKCk7CisgICAgICAgIC8vIFNraXAgbm9uLWJveCBh
bmNlc3RvcnMgbGlrZSBSZW5kZXJJbmxpbmUgdGhhdCBkb24ndCBjb250cmlidXRlIG9mZnNldHMu
CisgICAgICAgIHdoaWxlIChjb250YWluZXIgJiYgIWlzPFJlbmRlckJveD4oKmNvbnRhaW5lcikp
CisgICAgICAgICAgICBjb250YWluZXIgPSBjb250YWluZXItPmNvbnRhaW5lcigpOworICAgICAg
ICByZXR1cm4gY29udGFpbmVyOworICAgIH07CisgICAgd2hpbGUgKGN1cnJlbnRCb3ggJiYgIWlz
PFJlbmRlclZpZXc+KCpjdXJyZW50Qm94KSAmJiAhY3VycmVudEJveC0+aXNSZW5kZXJGcmFnbWVu
dGVkRmxvdygpKSB7CisgICAgICAgIENoZWNrZWRQdHIgY29udGFpbmVyQm94ID0gZHluYW1pY0Rv
d25jYXN0PFJlbmRlckJveD4obmV4dEJveENvbnRhaW5lcigqY3VycmVudEJveCkpOworICAgICAg
ICBpZiAoIWNvbnRhaW5lckJveCkKICAgICAgICAgICAgIHJldHVybiAwOwotICAgICAgICBMYXlv
dXRQb2ludCBjdXJyZW50QmxvY2tMb2NhdGlvbiA9IGN1cnJlbnRCbG9jay0+bG9jYXRpb24oKTsK
LSAgICAgICAgaWYgKGF1dG8qIGNlbGwgPSBkeW5hbWljRG93bmNhc3Q8UmVuZGVyVGFibGVDZWxs
PigqY3VycmVudEJsb2NrKSkgewotICAgICAgICAgICAgaWYgKGF1dG8qIHNlY3Rpb24gPSBjZWxs
LT5zZWN0aW9uKCkpCi0gICAgICAgICAgICAgICAgY3VycmVudEJsb2NrTG9jYXRpb24ubW92ZUJ5
KHNlY3Rpb24tPmxvY2F0aW9uKCkpOwotICAgICAgICB9CisgICAgICAgIGF1dG8gY3VycmVudEJv
eExvY2F0aW9uID0gY3VycmVudEJveC0+bG9jYXRpb24oKTsKIAotICAgICAgICBpZiAoY29udGFp
bmVyQmxvY2stPndyaXRpbmdNb2RlKCkuYmxvY2tEaXJlY3Rpb24oKSAhPSBjdXJyZW50QmxvY2st
PndyaXRpbmdNb2RlKCkuYmxvY2tEaXJlY3Rpb24oKSkgeworICAgICAgICBpZiAoY29udGFpbmVy
Qm94LT53cml0aW5nTW9kZSgpLmJsb2NrRGlyZWN0aW9uKCkgIT0gY3VycmVudEJveC0+d3JpdGlu
Z01vZGUoKS5ibG9ja0RpcmVjdGlvbigpKSB7CiAgICAgICAgICAgICAvLyBXZSBoYXZlIHRvIHB1
dCB0aGUgYmxvY2sgcmVjdCBpbiBjb250YWluZXIgY29vcmRpbmF0ZXMKICAgICAgICAgICAgIC8v
IGFuZCB3ZSBoYXZlIHRvIHRha2UgaW50byBhY2NvdW50IGJvdGggdGhlIGNvbnRhaW5lciBhbmQg
Y3VycmVudCBibG9jayBmbGlwcGluZyBtb2RlcwotICAgICAgICAgICAgaWYgKGNvbnRhaW5lckJs
b2NrLT53cml0aW5nTW9kZSgpLmlzQmxvY2tGbGlwcGVkKCkpIHsKLSAgICAgICAgICAgICAgICBp
ZiAoY29udGFpbmVyQmxvY2stPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpCi0gICAgICAgICAg
ICAgICAgICAgIGJsb2NrUmVjdC5zZXRZKGN1cnJlbnRCbG9jay0+aGVpZ2h0KCkgLSBibG9ja1Jl
Y3QubWF4WSgpKTsKKyAgICAgICAgICAgIGlmIChjb250YWluZXJCb3gtPndyaXRpbmdNb2RlKCku
aXNCbG9ja0ZsaXBwZWQoKSkgeworICAgICAgICAgICAgICAgIGlmIChjb250YWluZXJCb3gtPmlz
SG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkpCisgICAgICAgICAgICAgICAgICAgIGJsb2NrUmVjdC5z
ZXRZKGN1cnJlbnRCb3gtPmhlaWdodCgpIC0gYmxvY2tSZWN0Lm1heFkoKSk7CiAgICAgICAgICAg
ICAgICAgZWxzZQotICAgICAgICAgICAgICAgICAgICBibG9ja1JlY3Quc2V0WChjdXJyZW50Qmxv
Y2stPndpZHRoKCkgLSBibG9ja1JlY3QubWF4WCgpKTsKKyAgICAgICAgICAgICAgICAgICAgYmxv
Y2tSZWN0LnNldFgoY3VycmVudEJveC0+d2lkdGgoKSAtIGJsb2NrUmVjdC5tYXhYKCkpOwogICAg
ICAgICAgICAgfQotICAgICAgICAgICAgY3VycmVudEJsb2NrLT5mbGlwRm9yV3JpdGluZ01vZGUo
YmxvY2tSZWN0KTsKKyAgICAgICAgICAgIGN1cnJlbnRCb3gtPmZsaXBGb3JXcml0aW5nTW9kZShi
bG9ja1JlY3QpOwogICAgICAgICB9Ci0gICAgICAgIGJsb2NrUmVjdC5tb3ZlQnkoY3VycmVudEJs
b2NrTG9jYXRpb24pOwotICAgICAgICBjdXJyZW50QmxvY2sgPSBjb250YWluZXJCbG9jazsKKyAg
ICAgICAgYmxvY2tSZWN0Lm1vdmVCeShjdXJyZW50Qm94TG9jYXRpb24pOworICAgICAgICBjdXJy
ZW50Qm94ID0gY29udGFpbmVyQm94OwogICAgIH0KIAotICAgIHJldHVybiBjdXJyZW50QmxvY2st
PmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBibG9ja1JlY3QueSgpIDogYmxvY2tSZWN0Lngo
KTsKKyAgICByZXR1cm4gY3VycmVudEJveC0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IGJs
b2NrUmVjdC55KCkgOiBibG9ja1JlY3QueCgpOwogfQogCiB2b2lkIFJlbmRlckZyYWdtZW50ZWRG
bG93OjptYXBMb2NhbFRvQ29udGFpbmVyKGNvbnN0IFJlbmRlckxheWVyTW9kZWxPYmplY3QqIGFu
Y2VzdG9yQ29udGFpbmVyLCBUcmFuc2Zvcm1TdGF0ZSYgdHJhbnNmb3JtU3RhdGUsIE9wdGlvblNl
dDxNYXBDb29yZGluYXRlc01vZGU+IG1vZGUsIGJvb2wqIHdhc0ZpeGVkKSBjb25zdApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKaW5kZXggODAyMjZmYzFlZTExLi5mYjEx
ZWI4Njc4OTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAt
MjE2MSwxOCArMjE2MSwxMCBAQCBib29sIFJlbmRlckxheWVyOjp1cGRhdGVMYXllclBvc2l0aW9u
KE9wdGlvblNldDxVcGRhdGVMYXllclBvc2l0aW9uc0ZsYWc+KiBmbGFncwogICAgICAgICAvLyBX
ZSBtdXN0IGFkanVzdCBvdXIgcG9zaXRpb24gYnkgd2Fsa2luZyB1cCB0aGUgcmVuZGVyIHRyZWUg
bG9va2luZyBmb3IgdGhlCiAgICAgICAgIC8vIG5lYXJlc3QgZW5jbG9zaW5nIG9iamVjdCB3aXRo
IGEgbGF5ZXIuCiAgICAgICAgIHdoaWxlIChhbmNlc3RvciAmJiAhYW5jZXN0b3ItPmhhc0xheWVy
KCkpIHsKLSAgICAgICAgICAgIGlmIChhdXRvKiBib3hSZW5kZXJlciA9IGR5bmFtaWNEb3duY2Fz
dDxSZW5kZXJCb3g+KGFuY2VzdG9yKSkgewotICAgICAgICAgICAgICAgIC8vIFJvd3MgYW5kIGNl
bGxzIHNoYXJlIHRoZSBzYW1lIGNvb3JkaW5hdGUgc3BhY2UgKHRoYXQgb2YgdGhlIHNlY3Rpb24p
LgotICAgICAgICAgICAgICAgIC8vIE9taXQgdGhlbSB3aGVuIGNvbXB1dGluZyBvdXIgeHBvcy95
cG9zLgotICAgICAgICAgICAgICAgIGlmICghaXM8UmVuZGVyVGFibGVSb3c+KGJveFJlbmRlcmVy
KSkKLSAgICAgICAgICAgICAgICAgICAgbG9jYWxQb2ludCArPSBib3hSZW5kZXJlci0+dG9wTGVm
dExvY2F0aW9uT2Zmc2V0KCk7Ci0gICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAoYXV0byog
Ym94UmVuZGVyZXIgPSBkeW5hbWljRG93bmNhc3Q8UmVuZGVyQm94PihhbmNlc3RvcikpCisgICAg
ICAgICAgICAgICAgbG9jYWxQb2ludCArPSBib3hSZW5kZXJlci0+dG9wTGVmdExvY2F0aW9uT2Zm
c2V0KCk7CiAgICAgICAgICAgICBhbmNlc3RvciA9IGFuY2VzdG9yLT5wYXJlbnQoKTsKICAgICAg
ICAgfQotICAgICAgICBpZiAoYXV0byogdGFibGVSb3cgPSBkeW5hbWljRG93bmNhc3Q8UmVuZGVy
VGFibGVSb3c+KGFuY2VzdG9yKSkgewotICAgICAgICAgICAgLy8gUHV0IG91cnNlbHZlcyBpbnRv
IHRoZSByb3cgY29vcmRpbmF0ZSBzcGFjZS4KLSAgICAgICAgICAgIGxvY2FsUG9pbnQgLT0gdGFi
bGVSb3ctPnRvcExlZnRMb2NhdGlvbk9mZnNldCgpOwotICAgICAgICB9CiAgICAgfQogICAgIAog
ICAgIC8vIFN1YnRyYWN0IG91ciBwYXJlbnQncyBzY3JvbGwgb2Zmc2V0LgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJUYWJsZS5jcHAKaW5kZXggMDc0MzU4NTVjY2IxLi4yNDc3NTE0NGQz
MDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcApAQCAtOTE0LDYg
KzkxNCwyNiBAQCB2b2lkIFJlbmRlclRhYmxlOjpwYWludE9iamVjdChQYWludEluZm8mIHBhaW50
SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2ZmcwogICAgICAgICBwYWludE91dGxpbmUo
cGFpbnRJbmZvLCBMYXlvdXRSZWN0KHBhaW50T2Zmc2V0LCBzaXplKCkpKTsKIH0KIAordm9pZCBS
ZW5kZXJUYWJsZTo6cGFpbnRDb2xsYXBzZWRCb3JkZXJzRm9yUm93KFBhaW50SW5mbyYgcGFpbnRJ
bmZvLCBSZW5kZXJUYWJsZVJvdyYgcm93LCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZmZzZXQp
Cit7CisgICAgQVNTRVJUKGNvbGxhcHNlQm9yZGVycygpKTsKKyAgICByZWNhbGNDb2xsYXBzZWRC
b3JkZXJzKCk7CisKKyAgICBQYWludEluZm8gYm9yZGVyUGFpbnRJbmZvKHBhaW50SW5mbyk7Cisg
ICAgYm9yZGVyUGFpbnRJbmZvLnBoYXNlID0gUGFpbnRQaGFzZTo6Q29sbGFwc2VkVGFibGVCb3Jk
ZXJzOworCisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtX2NvbGxhcHNlZEJvcmRlcnMuc2l6
ZSgpOyArK2kpIHsKKyAgICAgICAgbV9jdXJyZW50Qm9yZGVyID0gJm1fY29sbGFwc2VkQm9yZGVy
c1tpXTsKKyAgICAgICAgZm9yIChDaGVja2VkUHRyIGNlbGwgPSByb3cuZmlyc3RDZWxsKCk7IGNl
bGw7IGNlbGwgPSBjZWxsLT5uZXh0Q2VsbCgpKSB7CisgICAgICAgICAgICBpZiAoIWNlbGwtPmhh
c1NlbGZQYWludGluZ0xheWVyKCkpIHsKKyAgICAgICAgICAgICAgICBhdXRvIGNlbGxQb2ludCA9
IHJvdy5mbGlwRm9yV3JpdGluZ01vZGVGb3JDaGlsZCgqY2VsbCwgcGFpbnRPZmZzZXQpOworICAg
ICAgICAgICAgICAgIGNlbGwtPnBhaW50Q29sbGFwc2VkQm9yZGVycyhib3JkZXJQYWludEluZm8s
IGNlbGxQb2ludCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisgICAgbV9jdXJy
ZW50Qm9yZGVyID0geyB9OworfQorCiB2b2lkIFJlbmRlclRhYmxlOjphZGp1c3RCb3JkZXJCb3hS
ZWN0Rm9yUGFpbnRpbmcoTGF5b3V0UmVjdCYgcmVjdCkKIHsKICAgICBmb3IgKHVuc2lnbmVkIGkg
PSAwOyBpIDwgbV9jYXB0aW9ucy5zaXplKCk7IGkrKykgewpAQCAtMTA0NCw2ICsxMDY0LDE2IEBA
IHZvaWQgUmVuZGVyVGFibGU6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKCkKICAgICAv
LyBGSVhNRTogV2Ugc2hvdWxkIGJlIGFkZGluZyBib3JkZXJBbmRQYWRkaW5nTG9naWNhbFdpZHRo
IGhlcmUsIGJ1dCBtX3RhYmxlTGF5b3V0LT5jb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocyBh
bHJlYWR5IGRvZXMsCiAgICAgLy8gc28gYSBidW5jaCBvZiB0ZXN0cyBicmVhayBkb2luZyB0aGlz
IG5haXZlbHkuCiAgICAgY2xlYXJOZWVkc1ByZWZlcnJlZFdpZHRoc1VwZGF0ZSgpOworCisgICAg
Ly8gUm93IHdpZHRocyBhcmUgc2V0IGJ5IHRoZSBzZWN0aW9uLCBub3QgY29tcHV0ZWQgZnJvbSBw
cmVmZXJyZWQgd2lkdGhzLAorICAgIC8vIHNvIHRoZWlyIGRpcnR5IGJpdCBpcyBuZXZlciBjbGVh
cmVkIGJ5IHRoZSBub3JtYWwgcHJlZmVycmVkIHdpZHRoCisgICAgLy8gY29tcHV0YXRpb24uIENs
ZWFyIGl0IGhlcmUgc28gaXQgZG9lc24ndCBibG9jayBzdWJzZXF1ZW50IGludmFsaWRhdGlvbgor
ICAgIC8vIGZyb20gcHJvcGFnYXRpbmcgdGhyb3VnaCB0aGUgcm93IHRvIHRoZSB0YWJsZS4KKyAg
ICBmb3IgKENoZWNrZWRQdHIgc2VjdGlvbiA9IHRvcFNlY3Rpb24oKTsgc2VjdGlvbjsgc2VjdGlv
biA9IHNlY3Rpb25CZWxvdyhzZWN0aW9uKSkgeworICAgICAgICBzZWN0aW9uLT5jbGVhck5lZWRz
UHJlZmVycmVkV2lkdGhzVXBkYXRlKCk7CisgICAgICAgIGZvciAoQ2hlY2tlZFB0ciByb3cgPSBz
ZWN0aW9uLT5maXJzdFJvdygpOyByb3c7IHJvdyA9IHJvdy0+bmV4dFJvdygpKQorICAgICAgICAg
ICAgcm93LT5jbGVhck5lZWRzUHJlZmVycmVkV2lkdGhzVXBkYXRlKCk7CisgICAgfQogfQogCiBS
ZW5kZXJUYWJsZVNlY3Rpb24qIFJlbmRlclRhYmxlOjp0b3BOb25FbXB0eVNlY3Rpb24oKSBjb25z
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUuaAppbmRleCAyNWI0ZTFmZmZkMDEu
LjUyODIyNGI0NjMzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRhYmxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmgKQEAg
LTM3LDYgKzM3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgUmVuZGVyVGFibGVDb2w7
CiBjbGFzcyBSZW5kZXJUYWJsZUNhcHRpb247CiBjbGFzcyBSZW5kZXJUYWJsZUNlbGw7CitjbGFz
cyBSZW5kZXJUYWJsZVJvdzsKIGNsYXNzIFJlbmRlclRhYmxlU2VjdGlvbjsKIGNsYXNzIFRhYmxl
TGF5b3V0OwogCkBAIC0xOTAsNiArMTkxLDcgQEAgcHVibGljOgogICAgIHZvaWQgaW52YWxpZGF0
ZUNvbGxhcHNlZEJvcmRlcnNBZnRlclN0eWxlQ2hhbmdlSWZOZWVkZWQoY29uc3QgUmVuZGVyU3R5
bGUmIG9sZFN0eWxlLCBjb25zdCBSZW5kZXJTdHlsZSYgbmV3U3R5bGUsIFJlbmRlclRhYmxlQ2Vs
bCogY2VsbFdpdGhTdHlsZUNoYW5nZSA9IG51bGxwdHIpOwogICAgIHZvaWQgY29sbGFwc2VkRW1w
dHlCb3JkZXJJc1ByZXNlbnQoKSB7IG1fY29sbGFwc2VkRW1wdHlCb3JkZXJJc1ByZXNlbnQgPSB0
cnVlOyB9CiAgICAgY29uc3QgQ29sbGFwc2VkQm9yZGVyVmFsdWUqIGN1cnJlbnRCb3JkZXJWYWx1
ZSgpIGNvbnN0IExJRkVUSU1FX0JPVU5EIHsgcmV0dXJuIG1fY3VycmVudEJvcmRlcjsgfQorICAg
IHZvaWQgcGFpbnRDb2xsYXBzZWRCb3JkZXJzRm9yUm93KFBhaW50SW5mbyYsIFJlbmRlclRhYmxl
Um93JiwgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2Zmc2V0KTsKICAgICAKICAgICBib29sIGhh
c1NlY3Rpb25zKCkgY29uc3QgeyByZXR1cm4gbV9oZWFkIHx8IG1fZm9vdCB8fCBtX2ZpcnN0Qm9k
eTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVD
ZWxsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNlbGwuY3BwCmlu
ZGV4IDY0ZTY4Zjg2ZDcyYi4uYzVjZjcxNmU4NGVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGFibGVDZWxsLmNwcApAQCAtMjU3LDE2ICsyNTcsNiBAQCB2b2lkIFJlbmRl
clRhYmxlQ2VsbDo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoKQogICAgIH0KIH0KIAot
TGF5b3V0UmVjdCBSZW5kZXJUYWJsZUNlbGw6OmZyYW1lUmVjdEZvclN0aWNreVBvc2l0aW9uaW5n
KCkgY29uc3QKLXsKLSAgICAvLyBSZW5kZXJUYWJsZUNlbGwgaGFzIHRoZSBSZW5kZXJUYWJsZVJv
dyBhcyB0aGUgY29udGFpbmVyLCBidXQgaXMgcG9zaXRpb25lZCByZWxhdGl2ZWx5Ci0gICAgLy8g
dG8gdGhlIFJlbmRlclRhYmxlU2VjdGlvbi4gVGhlIHN0aWNreSBwb3NpdGlvbmluZyBhbGdvcml0
aG0gYXNzdW1lcyB0aGF0IGVsZW1lbnRzIGFyZQotICAgIC8vIHBvc2l0aW9uZWQgcmVsYXRpdmVs
eSB0byB0aGVpciBjb250YWluZXIsIHNvIHdlIGNvcnJlY3QgZm9yIHRoYXQgaGVyZS4KLSAgICBB
U1NFUlQocGFyZW50Qm94KCkpOwotICAgIGF1dG8gcmV0dXJuVmFsdWUgPSBmcmFtZVJlY3QoKTsK
LSAgICByZXR1cm5WYWx1ZS5tb3ZlKC1wYXJlbnRCb3goKS0+bG9jYXRpb25PZmZzZXQoKSk7Ci0g
ICAgcmV0dXJuIHJldHVyblZhbHVlOwotfQogCiBib29sIFJlbmRlclRhYmxlQ2VsbDo6Y29tcHV0
ZUludHJpbnNpY1BhZGRpbmcoTGF5b3V0VW5pdCBoZWlnaHRDb25zdHJhaW50KQogewpAQCAtNTQ2
LDEyICs1MzYsNyBAQCBMYXlvdXRVbml0IFJlbmRlclRhYmxlQ2VsbDo6bWF4TG9naWNhbFdpZHRo
Rm9yQ29sdW1uU2l6aW5nKCkKIExheW91dFNpemUgUmVuZGVyVGFibGVDZWxsOjpvZmZzZXRGcm9t
Q29udGFpbmVyKGNvbnN0IFJlbmRlckVsZW1lbnQmIGNvbnRhaW5lciwgY29uc3QgTGF5b3V0UG9p
bnQmIHBvaW50LCBib29sKiBvZmZzZXREZXBlbmRzT25Qb2ludCkgY29uc3QKIHsKICAgICBBU1NF
UlQoJmNvbnRhaW5lciA9PSB0aGlzLT5jb250YWluZXIoKSk7Ci0KLSAgICBMYXlvdXRTaXplIG9m
ZnNldCA9IFJlbmRlckJsb2NrRmxvdzo6b2Zmc2V0RnJvbUNvbnRhaW5lcihjb250YWluZXIsIHBv
aW50LCBvZmZzZXREZXBlbmRzT25Qb2ludCk7Ci0gICAgaWYgKGF1dG8qIGNvbnRhaW5lck9mUm93
ID0gY29udGFpbmVyLmNvbnRhaW5lcigpOyBjb250YWluZXJPZlJvdyAmJiBwYXJlbnQoKSkKLSAg
ICAgICAgb2Zmc2V0IC09IHBhcmVudEJveCgpLT5vZmZzZXRGcm9tQ29udGFpbmVyKCpjb250YWlu
ZXJPZlJvdywgcG9pbnQpOwotCi0gICAgcmV0dXJuIG9mZnNldDsKKyAgICByZXR1cm4gUmVuZGVy
QmxvY2tGbG93OjpvZmZzZXRGcm9tQ29udGFpbmVyKGNvbnRhaW5lciwgcG9pbnQsIG9mZnNldERl
cGVuZHNPblBvaW50KTsKIH0KIAogYXV0byBSZW5kZXJUYWJsZUNlbGw6OmxvY2FsUmVjdHNGb3JS
ZXBhaW50KFJlcGFpbnRPdXRsaW5lQm91bmRzIHJlcGFpbnRPdXRsaW5lQm91bmRzKSBjb25zdCAt
PiBSZXBhaW50UmVjdHMKQEAgLTYzOSw5ICs2MjQsNiBAQCBhdXRvIFJlbmRlclRhYmxlQ2VsbDo6
Y29tcHV0ZVZpc2libGVSZWN0c0luQ29udGFpbmVyKGNvbnN0IFJlcGFpbnRSZWN0cyYgcmVjdHMs
CiAgICAgICAgIHJldHVybiByZWN0czsKIAogICAgIGF1dG8gYWRqdXN0ZWRSZWN0cyA9IHJlY3Rz
OwotICAgIGlmICgoIXZpZXcoKS5mcmFtZVZpZXcoKS5sYXlvdXRDb250ZXh0KCkuaXNQYWludE9m
ZnNldENhY2hlRW5hYmxlZCgpIHx8IGNvbnRhaW5lciB8fCBjb250ZXh0Lm9wdGlvbnMuY29udGFp
bnMoVmlzaWJsZVJlY3RDb250ZXh0OjpPcHRpb246OlVzZUVkZ2VJbmNsdXNpdmVJbnRlcnNlY3Rp
b24pKSAmJiBwYXJlbnQoKSkKLSAgICAgICAgYWRqdXN0ZWRSZWN0cy5tb3ZlQnkoLXBhcmVudEJv
eCgpLT5sb2NhdGlvbigpKTsgLy8gUm93cyBhcmUgaW4gdGhlIHNhbWUgY29vcmRpbmF0ZSBzcGFj
ZSwgc28gZG9uJ3QgYWRkIHRoZWlyIG9mZnNldCBpbi4KLQogICAgIHJldHVybiBSZW5kZXJCbG9j
a0Zsb3c6OmNvbXB1dGVWaXNpYmxlUmVjdHNJbkNvbnRhaW5lcihhZGp1c3RlZFJlY3RzLCBjb250
YWluZXIsIGNvbnRleHQpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGFibGVDZWxsLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFi
bGVDZWxsLmgKaW5kZXggNTVkOWJkYTQ0NzZiLi5lMDc4NmIzMTc2NTMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNlbGwuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxsLmgKQEAgLTE0Niw4ICsxNDYsNiBAQCBwcml2
YXRlOgogICAgIHZvaWQgc3R5bGVEaWRDaGFuZ2UoU3R5bGU6OkRpZmZlcmVuY2UsIGNvbnN0IFJl
bmRlclN0eWxlKiBvbGRTdHlsZSkgb3ZlcnJpZGU7CiAgICAgdm9pZCBjb21wdXRlUHJlZmVycmVk
TG9naWNhbFdpZHRocygpIG92ZXJyaWRlOwogCi0gICAgTGF5b3V0UmVjdCBmcmFtZVJlY3RGb3JT
dGlja3lQb3NpdGlvbmluZygpIGNvbnN0IG92ZXJyaWRlOwotCiAgICAgTGF5b3V0VW5pdCBjb250
YWluaW5nQmxvY2tMb2dpY2FsV2lkdGhGb3JDb250ZW50KCkgY29uc3Qgb3ZlcnJpZGU7CiAKICAg
ICBzdGF0aWMgUmVuZGVyUHRyPFJlbmRlclRhYmxlQ2VsbD4gY3JlYXRlVGFibGVDZWxsV2l0aFN0
eWxlKERvY3VtZW50JiwgY29uc3QgUmVuZGVyU3R5bGUmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVJvdy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGFibGVSb3cuY3BwCmluZGV4IDk5OWE0NDEyYTcwMy4uOWI2MDk3N2Y1YzM0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVSb3cuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVJvdy5jcHAKQEAgLTUx
LDcgKzUxLDcgQEAgdXNpbmcgbmFtZXNwYWNlIEhUTUxOYW1lczsKIFdURl9NQUtFX1RaT05FX0FM
TE9DQVRFRF9JTVBMKFJlbmRlclRhYmxlUm93KTsKIAogUmVuZGVyVGFibGVSb3c6OlJlbmRlclRh
YmxlUm93KEVsZW1lbnQmIGVsZW1lbnQsIFJlbmRlclN0eWxlJiYgc3R5bGUpCi0gICAgOiBSZW5k
ZXJCb3goVHlwZTo6VGFibGVSb3csIGVsZW1lbnQsIFdURjo6bW92ZShzdHlsZSkpCisgICAgOiBS
ZW5kZXJCbG9jayhUeXBlOjpUYWJsZVJvdywgZWxlbWVudCwgV1RGOjptb3ZlKHN0eWxlKSwgeyB9
KQogICAgICwgbV9yb3dJbmRleCh1bnNldFJvd0luZGV4KQogewogICAgIHNldElubGluZShmYWxz
ZSk7CkBAIC01OSw3ICs1OSw3IEBAIFJlbmRlclRhYmxlUm93OjpSZW5kZXJUYWJsZVJvdyhFbGVt
ZW50JiBlbGVtZW50LCBSZW5kZXJTdHlsZSYmIHN0eWxlKQogfQogCiBSZW5kZXJUYWJsZVJvdzo6
UmVuZGVyVGFibGVSb3coRG9jdW1lbnQmIGRvY3VtZW50LCBSZW5kZXJTdHlsZSYmIHN0eWxlKQot
ICAgIDogUmVuZGVyQm94KFR5cGU6OlRhYmxlUm93LCBkb2N1bWVudCwgV1RGOjptb3ZlKHN0eWxl
KSkKKyAgICA6IFJlbmRlckJsb2NrKFR5cGU6OlRhYmxlUm93LCBkb2N1bWVudCwgV1RGOjptb3Zl
KHN0eWxlKSwgeyB9KQogICAgICwgbV9yb3dJbmRleCh1bnNldFJvd0luZGV4KQogewogICAgIHNl
dElubGluZShmYWxzZSk7CkBAIC03NSw3ICs3NSw3IEBAIEFTQ0lJTGl0ZXJhbCBSZW5kZXJUYWJs
ZVJvdzo6cmVuZGVyTmFtZSgpIGNvbnN0CiAKIHZvaWQgUmVuZGVyVGFibGVSb3c6OndpbGxCZVJl
bW92ZWRGcm9tVHJlZSgpCiB7Ci0gICAgUmVuZGVyQm94Ojp3aWxsQmVSZW1vdmVkRnJvbVRyZWUo
KTsKKyAgICBSZW5kZXJCbG9jazo6d2lsbEJlUmVtb3ZlZEZyb21UcmVlKCk7CiAKICAgICBzZWN0
aW9uKCktPnNldE5lZWRzQ2VsbFJlY2FsYygpOwogfQpAQCAtOTIsNyArOTIsNyBAQCB2b2lkIFJl
bmRlclRhYmxlUm93OjpzdHlsZURpZENoYW5nZShTdHlsZTo6RGlmZmVyZW5jZSBkaWZmLCBjb25z
dCBSZW5kZXJTdHlsZSogbwogewogICAgIEFTU0VSVChzdHlsZSgpLmRpc3BsYXkoKSA9PSBTdHls
ZTo6RGlzcGxheVR5cGU6OlRhYmxlUm93KTsKIAotICAgIFJlbmRlckJveDo6c3R5bGVEaWRDaGFu
Z2UoZGlmZiwgb2xkU3R5bGUpOworICAgIFJlbmRlckJsb2NrOjpzdHlsZURpZENoYW5nZShkaWZm
LCBvbGRTdHlsZSk7CiAgICAgcHJvcGFnYXRlU3R5bGVUb0Fub255bW91c0NoaWxkcmVuKFN0eWxl
UHJvcGFnYXRpb25UeXBlOjpBbGxDaGlsZHJlbik7CiAKICAgICBpZiAoc2VjdGlvbigpICYmIG9s
ZFN0eWxlICYmIHN0eWxlKCkubG9naWNhbEhlaWdodCgpICE9IG9sZFN0eWxlLT5sb2dpY2FsSGVp
Z2h0KCkpCkBAIC0xNTUsOCArMTU1LDcgQEAgdm9pZCBSZW5kZXJUYWJsZVJvdzo6bGF5b3V0KCkK
ICAgICBTdGFja1N0YXRzOjpMYXlvdXRDaGVja1BvaW50IGxheW91dENoZWNrUG9pbnQ7CiAgICAg
QVNTRVJUKG5lZWRzTGF5b3V0KCkpOwogCi0gICAgLy8gVGFibGUgcm93cyBkbyBub3QgYWRkIHRy
YW5zbGF0aW9uLgotICAgIExheW91dFN0YXRlTWFpbnRhaW5lciBzdGF0ZVB1c2hlcigqdGhpcywg
TGF5b3V0U2l6ZSgpLCBpc1RyYW5zZm9ybWVkKCkgfHwgaGFzUmVmbGVjdGlvbigpIHx8IHdyaXRp
bmdNb2RlKCkuaXNCbG9ja0ZsaXBwZWQoKSk7CisgICAgTGF5b3V0U3RhdGVNYWludGFpbmVyIHN0
YXRlUHVzaGVyKCp0aGlzLCBsb2NhdGlvbk9mZnNldCgpLCBpc1RyYW5zZm9ybWVkKCkgfHwgaGFz
UmVmbGVjdGlvbigpIHx8IHdyaXRpbmdNb2RlKCkuaXNCbG9ja0ZsaXBwZWQoKSk7CiAKICAgICBh
dXRvKiBsYXlvdXRTdGF0ZSA9IHZpZXcoKS5mcmFtZVZpZXcoKS5sYXlvdXRDb250ZXh0KCkubGF5
b3V0U3RhdGUoKTsKICAgICBib29sIHBhZ2luYXRlZCA9IGxheW91dFN0YXRlLT5pc1BhZ2luYXRl
ZCgpOwpAQCAtMTY1LDkgKzE2NCw4IEBAIHZvaWQgUmVuZGVyVGFibGVSb3c6OmxheW91dCgpCiAg
ICAgICAgIGlmICghY2VsbC0+bmVlZHNMYXlvdXQoKSAmJiBwYWdpbmF0ZWQgJiYgKGxheW91dFN0
YXRlLT5wYWdlTG9naWNhbEhlaWdodENoYW5nZWQoKSB8fCAobGF5b3V0U3RhdGUtPnBhZ2VMb2dp
Y2FsSGVpZ2h0KCkgJiYgbGF5b3V0U3RhdGUtPnBhZ2VMb2dpY2FsT2Zmc2V0KGNlbGwsIGNlbGwt
PmxvZ2ljYWxUb3AoKSkgIT0gY2VsbC0+cGFnZUxvZ2ljYWxPZmZzZXQoKSkpKQogICAgICAgICAg
ICAgY2VsbC0+c2V0Q2hpbGROZWVkc0xheW91dChNYXJrT25seVRoaXMpOwogCi0gICAgICAgIGlm
IChjZWxsLT5uZWVkc0xheW91dCgpKSB7CisgICAgICAgIGlmIChjZWxsLT5uZWVkc0xheW91dCgp
KQogICAgICAgICAgICAgY2VsbC0+bGF5b3V0KCk7Ci0gICAgICAgIH0KICAgICB9CiAKICAgICBj
bGVhck92ZXJmbG93KCk7CkBAIC0xODIsMTcgKzE4MCwxNyBAQCB2b2lkIFJlbmRlclRhYmxlUm93
OjpsYXlvdXQoKQogICAgICAgICAgICAgY2VsbC0+cmVwYWludCgpOwogICAgIH0KIAotICAgIC8v
IFJlbmRlclRhYmxlU2VjdGlvbjo6bGF5b3V0Um93cyB3aWxsIHNldCBvdXIgbG9naWNhbCBoZWln
aHQgYW5kIHdpZHRoIGxhdGVyLCBzbyBpdCBjYWxscyB1cGRhdGVMYXllclRyYW5zZm9ybSgpLgot
ICAgIGNsZWFyTmVlZHNMYXlvdXQoKTsKKyAgICAvLyBSb3cgZGltZW5zaW9ucyBhcmUgZmluYWxp
emVkIGluIFJlbmRlclRhYmxlU2VjdGlvbjo6bGF5b3V0Um93cygpLCB3aGljaCBhbHNvCisgICAg
Ly8gbGF5cyBvdXQgb3V0LW9mLWZsb3cgZGVzY2VuZGFudHMgYW5kIGNhbGxzIGNsZWFyTmVlZHNM
YXlvdXQoKS4KIH0KIAogTGF5b3V0UmVjdCBSZW5kZXJUYWJsZVJvdzo6Y2xpcHBlZE92ZXJmbG93
UmVjdChjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiByZXBhaW50Q29udGFpbmVyLCBWaXNp
YmxlUmVjdENvbnRleHQgY29udGV4dCkgY29uc3QKIHsKICAgICBBU1NFUlQocGFyZW50KCkpOwot
ICAgIC8vIFJvd3MgYW5kIGNlbGxzIGFyZSBpbiB0aGUgc2FtZSBjb29yZGluYXRlIHNwYWNlLiBX
ZSBuZWVkIHRvIGJvdGggY29tcHV0ZSBvdXIgb3ZlcmZsb3cgcmVjdCAod2hpY2gKKyAgICAvLyBD
ZWxscyBhcmUgaW4gdGhlIHJvdydzIGNvb3JkaW5hdGUgc3BhY2UuIFdlIG5lZWQgdG8gYm90aCBj
b21wdXRlIG91ciBvdmVyZmxvdyByZWN0ICh3aGljaAogICAgIC8vIHdpbGwgYWNjb21tb2RhdGUg
YSByb3cgb3V0bGluZSBhbmQgYW55IHZpc3VhbCBlZmZlY3RzIG9uIHRoZSByb3cgaXRzZWxmKSwg
YnV0IHdlIGFsc28gbmVlZCB0byBhZGQgaW4KICAgICAvLyB0aGUgcmVwYWludCByZWN0cyBvZiBj
ZWxscy4KLSAgICBhdXRvIHJlc3VsdCA9IFJlbmRlckJveDo6Y2xpcHBlZE92ZXJmbG93UmVjdChy
ZXBhaW50Q29udGFpbmVyLCBjb250ZXh0KTsKKyAgICBhdXRvIHJlc3VsdCA9IFJlbmRlckJsb2Nr
OjpjbGlwcGVkT3ZlcmZsb3dSZWN0KHJlcGFpbnRDb250YWluZXIsIGNvbnRleHQpOwogICAgIGZv
ciAoYXV0byogY2VsbCA9IGZpcnN0Q2VsbCgpOyBjZWxsOyBjZWxsID0gY2VsbC0+bmV4dENlbGwo
KSkgewogICAgICAgICAvLyBFdmVuIGlmIGEgY2VsbCBpcyBhIHJlcGFpbnQgY29udGFpbmVyLCBp
dCdzIHRoZSByb3cgdGhhdCBwYWludHMgdGhlIGJhY2tncm91bmQgYmVoaW5kIGl0LgogICAgICAg
ICAvLyBTbyB3ZSBkb24ndCBjYXJlIGlmIGEgY2VsbCBpcyBhIHJlcGFpbnRDb250YWluZXIgaGVy
ZS4KQEAgLTIxOCwxMyArMjE2LDE0IEBAIGJvb2wgUmVuZGVyVGFibGVSb3c6Om5vZGVBdFBvaW50
KGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiByZXF1ZXN0LCBIaXRUZXN0UmVzdWx0JiByCiAgICAgaWYg
KCFzZWN0aW9uKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICBhdXRvIGFkanVzdGVkT2Zm
c2V0ID0gYWNjdW11bGF0ZWRPZmZzZXQgKyBsb2NhdGlvbigpOwogICAgIGZvciAoUmVuZGVyVGFi
bGVDZWxsKiBjZWxsID0gbGFzdENlbGwoKTsgY2VsbDsgY2VsbCA9IGNlbGwtPnByZXZpb3VzQ2Vs
bCgpKSB7CiAgICAgICAgIC8vIEZJWE1FOiBXZSBoYXZlIHRvIHNraXAgb3ZlciBpbmxpbmUgZmxv
d3MsIHNpbmNlIHRoZXkgY2FuIHNob3cgdXAgaW5zaWRlIHRhYmxlIHJvd3MKICAgICAgICAgLy8g
YXQgdGhlIG1vbWVudCAoYSBkZW1vdGVkIGlubGluZSA8Zm9ybT4gZm9yIGV4YW1wbGUpLiBJZiB3
ZSBldmVyIGltcGxlbWVudCBhCiAgICAgICAgIC8vIHRhYmxlLXNwZWNpZmljIGhpdC10ZXN0IG1l
dGhvZCAod2hpY2ggd2Ugc2hvdWxkIGRvIGZvciBwZXJmb3JtYW5jZSByZWFzb25zIGFueXdheSks
CiAgICAgICAgIC8vIHRoZW4gd2UgY2FuIHJlbW92ZSB0aGlzIGNoZWNrLgogICAgICAgICBpZiAo
IWNlbGwtPmhhc1NlbGZQYWludGluZ0xheWVyKCkpIHsKLSAgICAgICAgICAgIGF1dG8gY2VsbFBv
aW50ID0gc2VjdGlvbi0+ZmxpcEZvcldyaXRpbmdNb2RlRm9yQ2hpbGQoKmNlbGwsIGFjY3VtdWxh
dGVkT2Zmc2V0KTsKKyAgICAgICAgICAgIGF1dG8gY2VsbFBvaW50ID0gZmxpcEZvcldyaXRpbmdN
b2RlRm9yQ2hpbGQoKmNlbGwsIGFkanVzdGVkT2Zmc2V0KTsKICAgICAgICAgICAgIGlmIChjZWxs
LT5ub2RlQXRQb2ludChyZXF1ZXN0LCByZXN1bHQsIGxvY2F0aW9uSW5Db250YWluZXIsIGNlbGxQ
b2ludCwgYWN0aW9uKSkgewogICAgICAgICAgICAgICAgIHVwZGF0ZUhpdFRlc3RSZXN1bHQocmVz
dWx0LCBsb2NhdGlvbkluQ29udGFpbmVyLnBvaW50KCkgLSB0b0xheW91dFNpemUoY2VsbFBvaW50
KSk7CiAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CkBAIC0yNjEsMTkgKzI2MCwyOCBAQCB2
b2lkIFJlbmRlclRhYmxlUm93OjpwYWludChQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgTGF5
b3V0UG9pbnQmIHBhaW50T2Zmc2V0KQogewogICAgIEFTU0VSVChoYXNTZWxmUGFpbnRpbmdMYXll
cigpKTsKIAorICAgIGF1dG8gYWRqdXN0ZWRQYWludE9mZnNldCA9IHBhaW50T2Zmc2V0ICsgbG9j
YXRpb24oKTsKKwogICAgIGlmIChwYWludEluZm8ucGhhc2UgPT0gUGFpbnRQaGFzZTo6QWNjZXNz
aWJpbGl0eSkgewogICAgICAgICBpZiAoYXV0byogY29udGV4dCA9IHBhaW50SW5mby5hY2Nlc3Np
YmlsaXR5UmVnaW9uQ29udGV4dCgpKQotICAgICAgICAgICAgY29udGV4dC0+dGFrZUJvdW5kcygq
dGhpcywgcGFpbnRPZmZzZXQgKyBsb2NhdGlvbigpKTsKKyAgICAgICAgICAgIGNvbnRleHQtPnRh
a2VCb3VuZHMoKnRoaXMsIGFkanVzdGVkUGFpbnRPZmZzZXQpOwogICAgIH0KIAogICAgIHBhaW50
T3V0bGluZUZvclJvd0lmTmVlZGVkKHBhaW50SW5mbywgcGFpbnRPZmZzZXQpOwogICAgIGZvciAo
UmVuZGVyVGFibGVDZWxsKiBjZWxsID0gZmlyc3RDZWxsKCk7IGNlbGw7IGNlbGwgPSBjZWxsLT5u
ZXh0Q2VsbCgpKSB7CiAgICAgICAgIC8vIFBhaW50IHRoZSByb3cgYmFja2dyb3VuZCBiZWhpbmQg
dGhlIGNlbGwuCiAgICAgICAgIGlmIChwYWludEluZm8ucGhhc2UgPT0gUGFpbnRQaGFzZTo6Qmxv
Y2tCYWNrZ3JvdW5kIHx8IHBhaW50SW5mby5waGFzZSA9PSBQYWludFBoYXNlOjpDaGlsZEJsb2Nr
QmFja2dyb3VuZCkKLSAgICAgICAgICAgIGNlbGwtPnBhaW50QmFja2dyb3VuZHNCZWhpbmRDZWxs
KHBhaW50SW5mbywgcGFpbnRPZmZzZXQsIHRoaXMsIHBhaW50T2Zmc2V0KTsKKyAgICAgICAgICAg
IGNlbGwtPnBhaW50QmFja2dyb3VuZHNCZWhpbmRDZWxsKHBhaW50SW5mbywgYWRqdXN0ZWRQYWlu
dE9mZnNldCwgdGhpcywgcGFpbnRPZmZzZXQpOwogICAgICAgICBpZiAoIWNlbGwtPmhhc1NlbGZQ
YWludGluZ0xheWVyKCkpCi0gICAgICAgICAgICBjZWxsLT5wYWludChwYWludEluZm8sIHBhaW50
T2Zmc2V0KTsKKyAgICAgICAgICAgIGNlbGwtPnBhaW50KHBhaW50SW5mbywgYWRqdXN0ZWRQYWlu
dE9mZnNldCk7CiAgICAgfQorCisgICAgLy8gV2hlbiB0aGUgcm93IGhhcyBhIHNlbGYtcGFpbnRp
bmcgbGF5ZXIgKHBvc2l0aW9uOiByZWxhdGl2ZSksIGNvbGxhcHNlZAorICAgIC8vIGJvcmRlcnMg
bXVzdCBiZSBwYWludGVkIGhlcmUgYWZ0ZXIgY2VsbCBiYWNrZ3JvdW5kcy4gT3RoZXJ3aXNlIHRo
ZSBjZWxsCisgICAgLy8gYmFja2dyb3VuZCAoaW4gdGhpcyBsYXllcikgY292ZXJzIHRoZSBpbm5l
ciBoYWxmIG9mIHRoZSBib3JkZXIgKHBhaW50ZWQKKyAgICAvLyBieSB0aGUgdGFibGUncyBsYXll
cikuCisgICAgaWYgKENoZWNrZWRQdHIgdGFibGUgPSB0aGlzLT50YWJsZSgpOyB0YWJsZSAmJiB0
YWJsZS0+Y29sbGFwc2VCb3JkZXJzKCkgJiYgcGFpbnRJbmZvLnBoYXNlID09IFBhaW50UGhhc2U6
OkNoaWxkQmxvY2tCYWNrZ3JvdW5kcykKKyAgICAgICAgdGFibGUtPnBhaW50Q29sbGFwc2VkQm9y
ZGVyc0ZvclJvdyhwYWludEluZm8sICp0aGlzLCBhZGp1c3RlZFBhaW50T2Zmc2V0KTsKIH0KIAog
dm9pZCBSZW5kZXJUYWJsZVJvdzo6aW1hZ2VDaGFuZ2VkKFdyYXBwZWRJbWFnZVB0ciwgY29uc3Qg
SW50UmVjdCopCkBAIC0yODYsNyArMjk0LDcgQEAgdm9pZCBSZW5kZXJUYWJsZVJvdzo6aW1hZ2VD
aGFuZ2VkKFdyYXBwZWRJbWFnZVB0ciwgY29uc3QgSW50UmVjdCopCiAKIGJvb2wgUmVuZGVyVGFi
bGVSb3c6OnJlcXVpcmVzTGF5ZXIoKSBjb25zdAogewotICAgIHJldHVybiBoYXNOb25WaXNpYmxl
T3ZlcmZsb3coKSB8fCBoYXNUcmFuc2Zvcm1SZWxhdGVkUHJvcGVydHkoKSB8fCBoYXNIaWRkZW5C
YWNrZmFjZSgpIHx8IGhhc0NsaXBQYXRoKCkgfHwgY3JlYXRlc0dyb3VwKCkgfHwgaXNTdGlja2ls
eVBvc2l0aW9uZWQoKSB8fCByZXF1aXJlc1JlbmRlcmluZ0NvbnNvbGlkYXRpb25Gb3JWaWV3VHJh
bnNpdGlvbigpOworICAgIHJldHVybiBpc1Bvc2l0aW9uZWQoKSB8fCBoYXNOb25WaXNpYmxlT3Zl
cmZsb3coKSB8fCBoYXNUcmFuc2Zvcm1SZWxhdGVkUHJvcGVydHkoKSB8fCBoYXNIaWRkZW5CYWNr
ZmFjZSgpIHx8IGhhc0NsaXBQYXRoKCkgfHwgY3JlYXRlc0dyb3VwKCkgfHwgaXNTdGlja2lseVBv
c2l0aW9uZWQoKSB8fCByZXF1aXJlc1JlbmRlcmluZ0NvbnNvbGlkYXRpb25Gb3JWaWV3VHJhbnNp
dGlvbigpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVSb3cuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUYWJsZVJvdy5oCmluZGV4IGU3M2M2NWRmYWI5ZC4uNmMyYjNhZDBmZjQ3IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVSb3cuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVSb3cuaApAQCAtMjUsNiArMjUs
NyBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2luY2x1ZGUgIlJlbmRlckJsb2NrLmgiCiAjaW5jbHVk
ZSAiUmVuZGVyVGFibGVTZWN0aW9uLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTMyLDcg
KzMzLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogc3RhdGljIGNvbnN0IHVuc2lnbmVkIHVuc2V0
Um93SW5kZXggPSAweDdGRkZGRkZGOwogc3RhdGljIGNvbnN0IHVuc2lnbmVkIG1heFJvd0luZGV4
ID0gMHg3RkZGRkZGRTsgLy8gMiwxNDcsNDgzLDY0NgogCi1jbGFzcyBSZW5kZXJUYWJsZVJvdyBm
aW5hbCA6IHB1YmxpYyBSZW5kZXJCb3ggeworY2xhc3MgUmVuZGVyVGFibGVSb3cgZmluYWwgOiBw
dWJsaWMgUmVuZGVyQmxvY2sgewogICAgIFdURl9NQUtFX1RaT05FX0FMTE9DQVRFRChSZW5kZXJU
YWJsZVJvdyk7CiAgICAgV1RGX09WRVJSSURFX0RFTEVURV9GT1JfQ0hFQ0tFRF9QVFIoUmVuZGVy
VGFibGVSb3cpOwogcHVibGljOgpAQCAtMTE5LDEyICsxMjAsMTIgQEAgaW5saW5lIFJlbmRlclRh
YmxlKiBSZW5kZXJUYWJsZVJvdzo6dGFibGUoKSBjb25zdAogCiBpbmxpbmUgUmVuZGVyVGFibGVS
b3cqIFJlbmRlclRhYmxlUm93OjpuZXh0Um93KCkgY29uc3QKIHsKLSAgICByZXR1cm4gZG93bmNh
c3Q8UmVuZGVyVGFibGVSb3c+KFJlbmRlckJveDo6bmV4dFNpYmxpbmcoKSk7CisgICAgcmV0dXJu
IGRvd25jYXN0PFJlbmRlclRhYmxlUm93PihSZW5kZXJCbG9jazo6bmV4dFNpYmxpbmcoKSk7CiB9
CiAKIGlubGluZSBSZW5kZXJUYWJsZVJvdyogUmVuZGVyVGFibGVSb3c6OnByZXZpb3VzUm93KCkg
Y29uc3QKIHsKLSAgICByZXR1cm4gZG93bmNhc3Q8UmVuZGVyVGFibGVSb3c+KFJlbmRlckJveDo6
cHJldmlvdXNTaWJsaW5nKCkpOworICAgIHJldHVybiBkb3duY2FzdDxSZW5kZXJUYWJsZVJvdz4o
UmVuZGVyQmxvY2s6OnByZXZpb3VzU2libGluZygpKTsKIH0KIAogaW5saW5lIFJlbmRlclRhYmxl
Um93KiBSZW5kZXJUYWJsZVNlY3Rpb246OmZpcnN0Um93KCkgY29uc3QKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5jcHAKaW5kZXggOGE2Mjk3OGNjM2Yx
Li4zZDdjNDUwZWFmMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUYWJsZVNlY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
YWJsZVNlY3Rpb24uY3BwCkBAIC01OTQsOTMgKzU5NCwxMDEgQEAgdm9pZCBSZW5kZXJUYWJsZVNl
Y3Rpb246OmxheW91dFJvd3MoKQogICAgIExheW91dFN0YXRlTWFpbnRhaW5lciBzdGF0ZVB1c2hl
cigqdGhpcywgbG9jYXRpb25PZmZzZXQoKSwgaXNUcmFuc2Zvcm1lZCgpIHx8IHdyaXRpbmdNb2Rl
KCkuaXNCbG9ja0ZsaXBwZWQoKSk7CiAKICAgICBmb3IgKHNpemVfdCByb3dJbmRleCA9IDA7IHJv
d0luZGV4IDwgbnVtYmVyT2ZSb3dzOyByb3dJbmRleCsrKSB7Ci0gICAgICAgIC8vIFNldCB0aGUg
cm93J3MgeC95IHBvc2l0aW9uIGFuZCB3aWR0aC9oZWlnaHQuCi0gICAgICAgIGlmIChSZW5kZXJU
YWJsZVJvdyogcm93UmVuZGVyZXIgPSBtX2dyaWRbcm93SW5kZXhdLnJvd1JlbmRlcmVyKSB7Ci0g
ICAgICAgICAgICAvLyBGSVhNRTogdGhlIHgoKSBwb3NpdGlvbiBvZiB0aGUgcm93IHNob3VsZCBi
ZSB0YWJsZSgpLT5oQm9yZGVyU3BhY2luZygpIHNvIHRoYXQgaXQgY2FuIAotICAgICAgICAgICAg
Ly8gcmVwb3J0IHRoZSBjb3JyZWN0IG9mZnNldExlZnQuIEhvd2V2ZXIsIHRoYXQgd2lsbCByZXF1
aXJlIGEgbG90IG9mIHJlYmFzZWxpbmluZyBvZiB0ZXN0IHJlc3VsdHMuCi0gICAgICAgICAgICBy
b3dSZW5kZXJlci0+c2V0TG9naWNhbExvY2F0aW9uKHsgMF9sdSwgbV9yb3dQb3Nbcm93SW5kZXhd
IH0pOwotICAgICAgICAgICAgcm93UmVuZGVyZXItPnNldExvZ2ljYWxXaWR0aChsb2dpY2FsV2lk
dGgoKSk7CiAKLSAgICAgICAgICAgIExheW91dFVuaXQgcm93TG9naWNhbEhlaWdodDsKLSAgICAg
ICAgICAgIC8vIElmIHRoZSByb3cgaXMgY29sbGFwc2VkIHRoZW4gaXQgaGFzIDAgaGVpZ2h0LiB2
c3BhY2luZyB3YXMgaW1wbGljaXRseQotICAgICAgICAgICAgLy8gcmVtb3ZlZCBlYXJsaWVyLCB3
aGVuIG1fcm93UG9zW3Jvd0luZGV4KzFdIHdhcyBzZXQgdG8gbV9yb3dQb3Nbcm93SW5kZXhdLgot
ICAgICAgICAgICAgYXV0byByb3dIYXNWaXNpYmlsaXR5Q29sbGFwc2UgPSBbJl0oYXV0byByb3cp
IHsKLSAgICAgICAgICAgICAgICByZXR1cm4gKG1fZ3JpZFtyb3ddLnJvd1JlbmRlcmVyICYmIG1f
Z3JpZFtyb3ddLnJvd1JlbmRlcmVyLT5zdHlsZSgpLnZpc2liaWxpdHkoKSA9PSBWaXNpYmlsaXR5
OjpDb2xsYXBzZSkgfHwgc3R5bGUoKS52aXNpYmlsaXR5KCkgPT0gVmlzaWJpbGl0eTo6Q29sbGFw
c2U7Ci0gICAgICAgICAgICB9OwotICAgICAgICAgICAgaWYgKCFyb3dIYXNWaXNpYmlsaXR5Q29s
bGFwc2Uocm93SW5kZXgpKQotICAgICAgICAgICAgICAgIHJvd0xvZ2ljYWxIZWlnaHQgPSBtX3Jv
d1Bvc1tyb3dJbmRleCArIDFdIC0gbV9yb3dQb3Nbcm93SW5kZXhdIC0gdnNwYWNpbmc7CisgICAg
ICAgIGF1dG8gbGF5b3V0Q2VsbHMgPSBbJl0geworICAgICAgICAgICAgTGF5b3V0VW5pdCByb3dI
ZWlnaHRJbmNyZWFzZUZvclBhZ2luYXRpb247CiAKLSAgICAgICAgICAgIEFTU0VSVChyb3dMb2dp
Y2FsSGVpZ2h0ID49IDApOwotICAgICAgICAgICAgcm93UmVuZGVyZXItPnNldExvZ2ljYWxIZWln
aHQocm93TG9naWNhbEhlaWdodCk7Ci0gICAgICAgICAgICByb3dSZW5kZXJlci0+dXBkYXRlTGF5
ZXJUcmFuc2Zvcm0oKTsKLSAgICAgICAgICAgIHJvd1JlbmRlcmVyLT5jbGVhck92ZXJmbG93KCk7
Ci0gICAgICAgICAgICByb3dSZW5kZXJlci0+YWRkVmlzdWFsRWZmZWN0T3ZlcmZsb3coKTsKLSAg
ICAgICAgfQorICAgICAgICAgICAgZm9yIChzaXplX3QgY29sdW1uSW5kZXggPSAwOyBjb2x1bW5J
bmRleCA8IG51bWJlck9mRWZmZWN0aXZlQ29sdW1uczsgY29sdW1uSW5kZXgrKykgeworICAgICAg
ICAgICAgICAgIENlbGxTdHJ1Y3QmIGNzID0gY2VsbEF0KHJvd0luZGV4LCBjb2x1bW5JbmRleCk7
CisgICAgICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsKiBjZWxsID0gY3MucHJpbWFyeUNlbGwo
KTsKIAotICAgICAgICBMYXlvdXRVbml0IHJvd0hlaWdodEluY3JlYXNlRm9yUGFnaW5hdGlvbjsK
KyAgICAgICAgICAgICAgICBpZiAoIWNlbGwgfHwgY3MuaW5Db2xTcGFuKQorICAgICAgICAgICAg
ICAgICAgICBjb250aW51ZTsKIAotICAgICAgICBmb3IgKHNpemVfdCBjb2x1bW5JbmRleCA9IDA7
IGNvbHVtbkluZGV4IDwgbnVtYmVyT2ZFZmZlY3RpdmVDb2x1bW5zOyBjb2x1bW5JbmRleCsrKSB7
Ci0gICAgICAgICAgICBDZWxsU3RydWN0JiBjcyA9IGNlbGxBdChyb3dJbmRleCwgY29sdW1uSW5k
ZXgpOwotICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsKiBjZWxsID0gY3MucHJpbWFyeUNlbGwo
KTsKKyAgICAgICAgICAgICAgICBpbnQgcm93SW5kZXggPSBjZWxsLT5yb3dJbmRleCgpOworICAg
ICAgICAgICAgICAgIGF1dG8gcm93SGVpZ2h0ID0gbV9yb3dQb3Nbcm93SW5kZXggKyBjZWxsLT5y
b3dTcGFuKCldIC0gbV9yb3dQb3Nbcm93SW5kZXhdIC0gdnNwYWNpbmc7CiAKLSAgICAgICAgICAg
IGlmICghY2VsbCB8fCBjcy5pbkNvbFNwYW4pCi0gICAgICAgICAgICAgICAgY29udGludWU7Cisg
ICAgICAgICAgICAgICAgcmVsYXlvdXRDZWxsSWZGbGV4ZWQoKmNlbGwsIHJvd0luZGV4LCByb3dI
ZWlnaHQpOwogCi0gICAgICAgICAgICBpbnQgcm93SW5kZXggPSBjZWxsLT5yb3dJbmRleCgpOwot
ICAgICAgICAgICAgYXV0byByb3dIZWlnaHQgPSBtX3Jvd1Bvc1tyb3dJbmRleCArIGNlbGwtPnJv
d1NwYW4oKV0gLSBtX3Jvd1Bvc1tyb3dJbmRleF0gLSB2c3BhY2luZzsKKyAgICAgICAgICAgICAg
ICBhdXRvIGxvZ2ljYWxIZWlnaHRGb3JJbnRyaW5zaWNQYWRkaW5nID0gIWNlbGwtPmlzT3J0aG9n
b25hbCgpID8gcm93SGVpZ2h0IDogY2VsbExvZ2ljYWxXaWR0aEluVGFibGVEaXJlY3Rpb25JbmNs
dWRpbmdDb2x1bW5TcGFuKCpjZWxsLCBjb2x1bW5JbmRleCwgbnVtYmVyT2ZFZmZlY3RpdmVDb2x1
bW5zKTsKKyAgICAgICAgICAgICAgICBpZiAoY2VsbC0+Y29tcHV0ZUludHJpbnNpY1BhZGRpbmco
bG9naWNhbEhlaWdodEZvckludHJpbnNpY1BhZGRpbmcpKSB7CisgICAgICAgICAgICAgICAgICAg
IC8vIEZJWE1FOiBDaGFuZ2luZyBhbiBpbnRyaW5zaWMgcGFkZGluZyBzaG91bGRuJ3QgdHJpZ2dl
ciBhIHJlbGF5b3V0IGFzIGl0IG9ubHkgc2hpZnRzIHRoZSBjZWxsIGluc2lkZSB0aGUgcm93IGJ1
dCBkb2Vzbid0IGNoYW5nZSB0aGUgbG9naWNhbCBoZWlnaHQuCisgICAgICAgICAgICAgICAgICAg
IGNlbGwtPnNldENoaWxkTmVlZHNMYXlvdXQoTWFya09ubHlUaGlzKTsKKyAgICAgICAgICAgICAg
ICB9CiAKLSAgICAgICAgICAgIHJlbGF5b3V0Q2VsbElmRmxleGVkKCpjZWxsLCByb3dJbmRleCwg
cm93SGVpZ2h0KTsKKyAgICAgICAgICAgICAgICBMYXlvdXRSZWN0IG9sZENlbGxSZWN0ID0gY2Vs
bC0+ZnJhbWVSZWN0KCk7CiAKLSAgICAgICAgICAgIGF1dG8gbG9naWNhbEhlaWdodEZvckludHJp
bnNpY1BhZGRpbmcgPSAhY2VsbC0+aXNPcnRob2dvbmFsKCkgPyByb3dIZWlnaHQgOiBjZWxsTG9n
aWNhbFdpZHRoSW5UYWJsZURpcmVjdGlvbkluY2x1ZGluZ0NvbHVtblNwYW4oKmNlbGwsIGNvbHVt
bkluZGV4LCBudW1iZXJPZkVmZmVjdGl2ZUNvbHVtbnMpOwotICAgICAgICAgICAgaWYgKGNlbGwt
PmNvbXB1dGVJbnRyaW5zaWNQYWRkaW5nKGxvZ2ljYWxIZWlnaHRGb3JJbnRyaW5zaWNQYWRkaW5n
KSkgewotICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBDaGFuZ2luZyBhbiBpbnRyaW5zaWMgcGFk
ZGluZyBzaG91bGRuJ3QgdHJpZ2dlciBhIHJlbGF5b3V0IGFzIGl0IG9ubHkgc2hpZnRzIHRoZSBj
ZWxsIGluc2lkZSB0aGUgcm93IGJ1dCBkb2Vzbid0IGNoYW5nZSB0aGUgbG9naWNhbCBoZWlnaHQu
Ci0gICAgICAgICAgICAgICAgY2VsbC0+c2V0Q2hpbGROZWVkc0xheW91dChNYXJrT25seVRoaXMp
OwotICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHNldExvZ2ljYWxQb3NpdGlvbkZvckNl
bGwoY2VsbCwgY29sdW1uSW5kZXgpOwogCi0gICAgICAgICAgICBMYXlvdXRSZWN0IG9sZENlbGxS
ZWN0ID0gY2VsbC0+ZnJhbWVSZWN0KCk7CisgICAgICAgICAgICAgICAgYXV0byogbGF5b3V0U3Rh
dGUgPSB2aWV3KCkuZnJhbWVWaWV3KCkubGF5b3V0Q29udGV4dCgpLmxheW91dFN0YXRlKCk7Cisg
ICAgICAgICAgICAgICAgaWYgKCFjZWxsLT5uZWVkc0xheW91dCgpICYmIGxheW91dFN0YXRlLT5w
YWdlTG9naWNhbEhlaWdodCgpICYmIGxheW91dFN0YXRlLT5wYWdlTG9naWNhbE9mZnNldChjZWxs
LCBjZWxsLT5sb2dpY2FsVG9wKCkpICE9IGNlbGwtPnBhZ2VMb2dpY2FsT2Zmc2V0KCkpCisgICAg
ICAgICAgICAgICAgICAgIGNlbGwtPnNldENoaWxkTmVlZHNMYXlvdXQoTWFya09ubHlUaGlzKTsK
IAotICAgICAgICAgICAgc2V0TG9naWNhbFBvc2l0aW9uRm9yQ2VsbChjZWxsLCBjb2x1bW5JbmRl
eCk7CisgICAgICAgICAgICAgICAgaWYgKGNlbGwtPmlzT3J0aG9nb25hbCgpKSB7CisgICAgICAg
ICAgICAgICAgICAgIGNlbGwtPnNldE5lZWRzTGF5b3V0KE1hcmtPbmx5VGhpcyk7CisgICAgICAg
ICAgICAgICAgICAgIGNlbGwtPnNldE92ZXJyaWRpbmdCb3JkZXJCb3hMb2dpY2FsV2lkdGgocm93
SGVpZ2h0KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgY2VsbC0+bGF5b3V0
SWZOZWVkZWQoKTsKKworICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBNYWtlIHBhZ2luYXRpb24g
d29yayB3aXRoIHZlcnRpY2FsIHRhYmxlcy4KKyAgICAgICAgICAgICAgICBpZiAobGF5b3V0U3Rh
dGUtPnBhZ2VMb2dpY2FsSGVpZ2h0KCkgJiYgY2VsbC0+bG9naWNhbEhlaWdodCgpICE9IHJvd0hl
aWdodCkgeworICAgICAgICAgICAgICAgICAgICAvLyBGSVhNRTogUGFnaW5hdGlvbiBtaWdodCBo
YXZlIG1hZGUgdXMgY2hhbmdlIHNpemUuIEZvciBub3cganVzdCBzaHJpbmsgb3IgZ3JvdyB0aGUg
Y2VsbCB0byBmaXQgd2l0aG91dCBkb2luZyBhIHJlbGF5b3V0LgorICAgICAgICAgICAgICAgICAg
ICAvLyBXZSdsbCBhbHNvIGRvIGEgYmFzaWMgaW5jcmVhc2Ugb2YgdGhlIHJvdyBoZWlnaHQgdG8g
YWNjb21tb2RhdGUgdGhlIGNlbGwgaWYgaXQncyBiaWdnZXIsIGJ1dCB0aGlzIGlzbid0IHF1aXRl
IHJpZ2h0CisgICAgICAgICAgICAgICAgICAgIC8vIGVpdGhlci4gSXQncyBhdCBsZWFzdCBzdGFi
bGUgdGhvdWdoIGFuZCB3b24ndCByZXN1bHQgaW4gYW4gaW5maW5pdGUgIyBvZiByZWxheW91dHMg
dGhhdCBtYXkgbmV2ZXIgc3RhYmlsaXplLgorICAgICAgICAgICAgICAgICAgICBpZiAoY2VsbC0+
bG9naWNhbEhlaWdodCgpID4gcm93SGVpZ2h0KQorICAgICAgICAgICAgICAgICAgICAgICAgcm93
SGVpZ2h0SW5jcmVhc2VGb3JQYWdpbmF0aW9uID0gc3RkOjptYXgocm93SGVpZ2h0SW5jcmVhc2VG
b3JQYWdpbmF0aW9uLCBjZWxsLT5sb2dpY2FsSGVpZ2h0KCkgLSByb3dIZWlnaHQpOworICAgICAg
ICAgICAgICAgICAgICBjZWxsLT5zZXRMb2dpY2FsSGVpZ2h0KHJvd0hlaWdodCk7CisgICAgICAg
ICAgICAgICAgfQogCi0gICAgICAgICAgICBhdXRvKiBsYXlvdXRTdGF0ZSA9IHZpZXcoKS5mcmFt
ZVZpZXcoKS5sYXlvdXRDb250ZXh0KCkubGF5b3V0U3RhdGUoKTsKLSAgICAgICAgICAgIGlmICgh
Y2VsbC0+bmVlZHNMYXlvdXQoKSAmJiBsYXlvdXRTdGF0ZS0+cGFnZUxvZ2ljYWxIZWlnaHQoKSAm
JiBsYXlvdXRTdGF0ZS0+cGFnZUxvZ2ljYWxPZmZzZXQoY2VsbCwgY2VsbC0+bG9naWNhbFRvcCgp
KSAhPSBjZWxsLT5wYWdlTG9naWNhbE9mZnNldCgpKQotICAgICAgICAgICAgICAgIGNlbGwtPnNl
dENoaWxkTmVlZHNMYXlvdXQoTWFya09ubHlUaGlzKTsKKyAgICAgICAgICAgICAgICBMYXlvdXRT
aXplIGNoaWxkT2Zmc2V0KGNlbGwtPmxvY2F0aW9uKCkgLSBvbGRDZWxsUmVjdC5sb2NhdGlvbigp
KTsKKyAgICAgICAgICAgICAgICBpZiAoY2hpbGRPZmZzZXQud2lkdGgoKSB8fCBjaGlsZE9mZnNl
dC5oZWlnaHQoKSkgeworICAgICAgICAgICAgICAgICAgICB2aWV3KCkuZnJhbWVWaWV3KCkubGF5
b3V0Q29udGV4dCgpLmFkZExheW91dERlbHRhKGNoaWxkT2Zmc2V0KTsKIAotICAgICAgICAgICAg
aWYgKGNlbGwtPmlzT3J0aG9nb25hbCgpKSB7Ci0gICAgICAgICAgICAgICAgY2VsbC0+c2V0TmVl
ZHNMYXlvdXQoTWFya09ubHlUaGlzKTsKLSAgICAgICAgICAgICAgICBjZWxsLT5zZXRPdmVycmlk
aW5nQm9yZGVyQm94TG9naWNhbFdpZHRoKHJvd0hlaWdodCk7CisgICAgICAgICAgICAgICAgICAg
IC8vIElmIHRoZSBjaGlsZCBtb3ZlZCwgd2UgaGF2ZSB0byByZXBhaW50IGl0IGFzIHdlbGwgYXMg
YW55IGZsb2F0aW5nL3Bvc2l0aW9uZWQKKyAgICAgICAgICAgICAgICAgICAgLy8gZGVzY2VuZGFu
dHMuIEFuIGV4Y2VwdGlvbiBpcyBpZiB3ZSBuZWVkIGEgbGF5b3V0LiBJbiB0aGlzIGNhc2UsIHdl
IGtub3cgd2UncmUgZ29pbmcgdG8KKyAgICAgICAgICAgICAgICAgICAgLy8gcmVwYWludCBvdXJz
ZWx2ZXMgKGFuZCB0aGUgY2hpbGQpIGFueXdheS4KKyAgICAgICAgICAgICAgICAgICAgaWYgKCF0
YWJsZSgpLT5zZWxmTmVlZHNMYXlvdXQoKSAmJiBjZWxsLT5jaGVja0ZvclJlcGFpbnREdXJpbmdM
YXlvdXQoKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGNlbGwtPnJlcGFpbnREdXJpbmdMYXlv
dXRJZk1vdmVkKG9sZENlbGxSZWN0KTsKKyAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9
Ci0gICAgICAgICAgICBjZWxsLT5sYXlvdXRJZk5lZWRlZCgpOwotCi0gICAgICAgICAgICAvLyBG
SVhNRTogTWFrZSBwYWdpbmF0aW9uIHdvcmsgd2l0aCB2ZXJ0aWNhbCB0YWJsZXMuCi0gICAgICAg
ICAgICBpZiAobGF5b3V0U3RhdGUtPnBhZ2VMb2dpY2FsSGVpZ2h0KCkgJiYgY2VsbC0+bG9naWNh
bEhlaWdodCgpICE9IHJvd0hlaWdodCkgewotICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBQYWdp
bmF0aW9uIG1pZ2h0IGhhdmUgbWFkZSB1cyBjaGFuZ2Ugc2l6ZS4gRm9yIG5vdyBqdXN0IHNocmlu
ayBvciBncm93IHRoZSBjZWxsIHRvIGZpdCB3aXRob3V0IGRvaW5nIGEgcmVsYXlvdXQuCi0gICAg
ICAgICAgICAgICAgLy8gV2UnbGwgYWxzbyBkbyBhIGJhc2ljIGluY3JlYXNlIG9mIHRoZSByb3cg
aGVpZ2h0IHRvIGFjY29tbW9kYXRlIHRoZSBjZWxsIGlmIGl0J3MgYmlnZ2VyLCBidXQgdGhpcyBp
c24ndCBxdWl0ZSByaWdodAotICAgICAgICAgICAgICAgIC8vIGVpdGhlci4gSXQncyBhdCBsZWFz
dCBzdGFibGUgdGhvdWdoIGFuZCB3b24ndCByZXN1bHQgaW4gYW4gaW5maW5pdGUgIyBvZiByZWxh
eW91dHMgdGhhdCBtYXkgbmV2ZXIgc3RhYmlsaXplLgotICAgICAgICAgICAgICAgIGlmIChjZWxs
LT5sb2dpY2FsSGVpZ2h0KCkgPiByb3dIZWlnaHQpCi0gICAgICAgICAgICAgICAgICAgIHJvd0hl
aWdodEluY3JlYXNlRm9yUGFnaW5hdGlvbiA9IHN0ZDo6bWF4KHJvd0hlaWdodEluY3JlYXNlRm9y
UGFnaW5hdGlvbiwgY2VsbC0+bG9naWNhbEhlaWdodCgpIC0gcm93SGVpZ2h0KTsKLSAgICAgICAg
ICAgICAgICBjZWxsLT5zZXRMb2dpY2FsSGVpZ2h0KHJvd0hlaWdodCk7CisgICAgICAgICAgICBp
ZiAocm93SGVpZ2h0SW5jcmVhc2VGb3JQYWdpbmF0aW9uKSB7CisgICAgICAgICAgICAgICAgZm9y
IChzaXplX3QgaW5kZXggPSByb3dJbmRleCArIDE7IGluZGV4IDw9IG51bWJlck9mUm93czsgKytp
bmRleCkKKyAgICAgICAgICAgICAgICAgICAgbV9yb3dQb3NbaW5kZXhdICs9IHJvd0hlaWdodElu
Y3JlYXNlRm9yUGFnaW5hdGlvbjsKKyAgICAgICAgICAgICAgICBmb3IgKHNpemVfdCBpbmRleCA9
IDA7IGluZGV4IDwgbnVtYmVyT2ZFZmZlY3RpdmVDb2x1bW5zOyArK2luZGV4KSB7CisgICAgICAg
ICAgICAgICAgICAgIFZlY3RvcjxSZW5kZXJUYWJsZUNlbGwqLCAxPiYgY2VsbHMgPSBjZWxsQXQo
cm93SW5kZXgsIGluZGV4KS5jZWxsczsKKyAgICAgICAgICAgICAgICAgICAgZm9yIChzaXplX3Qg
Y2VsbEluZGV4ID0gMDsgY2VsbEluZGV4IDwgY2VsbHMuc2l6ZSgpOyArK2NlbGxJbmRleCkKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGNlbGxzW2NlbGxJbmRleF0tPnNldExvZ2ljYWxIZWlnaHQo
Y2VsbHNbY2VsbEluZGV4XS0+bG9naWNhbEhlaWdodCgpICsgcm93SGVpZ2h0SW5jcmVhc2VGb3JQ
YWdpbmF0aW9uKTsKKyAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CisgICAgICAgIH07
CiAKLSAgICAgICAgICAgIExheW91dFNpemUgY2hpbGRPZmZzZXQoY2VsbC0+bG9jYXRpb24oKSAt
IG9sZENlbGxSZWN0LmxvY2F0aW9uKCkpOwotICAgICAgICAgICAgaWYgKGNoaWxkT2Zmc2V0Lndp
ZHRoKCkgfHwgY2hpbGRPZmZzZXQuaGVpZ2h0KCkpIHsKLSAgICAgICAgICAgICAgICB2aWV3KCku
ZnJhbWVWaWV3KCkubGF5b3V0Q29udGV4dCgpLmFkZExheW91dERlbHRhKGNoaWxkT2Zmc2V0KTsK
KyAgICAgICAgaWYgKENoZWNrZWRQdHIgcm93UmVuZGVyZXIgPSBtX2dyaWRbcm93SW5kZXhdLnJv
d1JlbmRlcmVyKSB7CisgICAgICAgICAgICAvLyBGSVhNRTogdGhlIHgoKSBwb3NpdGlvbiBvZiB0
aGUgcm93IHNob3VsZCBiZSB0YWJsZSgpLT5oQm9yZGVyU3BhY2luZygpIHNvIHRoYXQgaXQgY2Fu
CisgICAgICAgICAgICAvLyByZXBvcnQgdGhlIGNvcnJlY3Qgb2Zmc2V0TGVmdC4gSG93ZXZlciwg
dGhhdCB3aWxsIHJlcXVpcmUgYSBsb3Qgb2YgcmViYXNlbGluaW5nIG9mIHRlc3QgcmVzdWx0cy4K
KyAgICAgICAgICAgIHJvd1JlbmRlcmVyLT5zZXRMb2dpY2FsTG9jYXRpb24oeyAwX2x1LCBtX3Jv
d1Bvc1tyb3dJbmRleF0gfSk7CisgICAgICAgICAgICByb3dSZW5kZXJlci0+c2V0TG9naWNhbFdp
ZHRoKGxvZ2ljYWxXaWR0aCgpKTsKIAotICAgICAgICAgICAgICAgIC8vIElmIHRoZSBjaGlsZCBt
b3ZlZCwgd2UgaGF2ZSB0byByZXBhaW50IGl0IGFzIHdlbGwgYXMgYW55IGZsb2F0aW5nL3Bvc2l0
aW9uZWQKLSAgICAgICAgICAgICAgICAvLyBkZXNjZW5kYW50cy4gIEFuIGV4Y2VwdGlvbiBpcyBp
ZiB3ZSBuZWVkIGEgbGF5b3V0LiAgSW4gdGhpcyBjYXNlLCB3ZSBrbm93IHdlJ3JlIGdvaW5nIHRv
Ci0gICAgICAgICAgICAgICAgLy8gcmVwYWludCBvdXJzZWx2ZXMgKGFuZCB0aGUgY2hpbGQpIGFu
eXdheS4KLSAgICAgICAgICAgICAgICBpZiAoIXRhYmxlKCktPnNlbGZOZWVkc0xheW91dCgpICYm
IGNlbGwtPmNoZWNrRm9yUmVwYWludER1cmluZ0xheW91dCgpKQotICAgICAgICAgICAgICAgICAg
ICBjZWxsLT5yZXBhaW50RHVyaW5nTGF5b3V0SWZNb3ZlZChvbGRDZWxsUmVjdCk7Ci0gICAgICAg
ICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKHJvd0hlaWdodEluY3JlYXNlRm9yUGFnaW5h
dGlvbikgewotICAgICAgICAgICAgZm9yIChzaXplX3QgaW5kZXggPSByb3dJbmRleCArIDE7IGlu
ZGV4IDw9IG51bWJlck9mUm93czsgKytpbmRleCkKLSAgICAgICAgICAgICAgICBtX3Jvd1Bvc1tp
bmRleF0gKz0gcm93SGVpZ2h0SW5jcmVhc2VGb3JQYWdpbmF0aW9uOwotICAgICAgICAgICAgZm9y
IChzaXplX3QgaW5kZXggPSAwOyBpbmRleCA8IG51bWJlck9mRWZmZWN0aXZlQ29sdW1uczsgKytp
bmRleCkgewotICAgICAgICAgICAgICAgIFZlY3RvcjxSZW5kZXJUYWJsZUNlbGwqLCAxPiYgY2Vs
bHMgPSBjZWxsQXQocm93SW5kZXgsIGluZGV4KS5jZWxsczsKLSAgICAgICAgICAgICAgICBmb3Ig
KHNpemVfdCBjZWxsSW5kZXggPSAwOyBjZWxsSW5kZXggPCBjZWxscy5zaXplKCk7ICsrY2VsbElu
ZGV4KQotICAgICAgICAgICAgICAgICAgICBjZWxsc1tjZWxsSW5kZXhdLT5zZXRMb2dpY2FsSGVp
Z2h0KGNlbGxzW2NlbGxJbmRleF0tPmxvZ2ljYWxIZWlnaHQoKSArIHJvd0hlaWdodEluY3JlYXNl
Rm9yUGFnaW5hdGlvbik7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KKyAgICAgICAgICAgIExh
eW91dFVuaXQgcm93TG9naWNhbEhlaWdodDsKKyAgICAgICAgICAgIGF1dG8gcm93SGFzVmlzaWJp
bGl0eUNvbGxhcHNlID0gKG1fZ3JpZFtyb3dJbmRleF0ucm93UmVuZGVyZXIgJiYgbV9ncmlkW3Jv
d0luZGV4XS5yb3dSZW5kZXJlci0+c3R5bGUoKS52aXNpYmlsaXR5KCkgPT0gVmlzaWJpbGl0eTo6
Q29sbGFwc2UpIHx8IHN0eWxlKCkudmlzaWJpbGl0eSgpID09IFZpc2liaWxpdHk6OkNvbGxhcHNl
OworICAgICAgICAgICAgaWYgKCFyb3dIYXNWaXNpYmlsaXR5Q29sbGFwc2UpCisgICAgICAgICAg
ICAgICAgcm93TG9naWNhbEhlaWdodCA9IG1fcm93UG9zW3Jvd0luZGV4ICsgMV0gLSBtX3Jvd1Bv
c1tyb3dJbmRleF0gLSB2c3BhY2luZzsKKworICAgICAgICAgICAgQVNTRVJUKHJvd0xvZ2ljYWxI
ZWlnaHQgPj0gMCk7CisgICAgICAgICAgICByb3dSZW5kZXJlci0+c2V0TG9naWNhbEhlaWdodChy
b3dMb2dpY2FsSGVpZ2h0KTsKKyAgICAgICAgICAgIHJvd1JlbmRlcmVyLT51cGRhdGVMYXllclRy
YW5zZm9ybSgpOworCisgICAgICAgICAgICAvLyBQdXNoIHRoZSByb3cncyBvZmZzZXQgb250byB0
aGUgbGF5b3V0IHN0YXRlIHNvIHRoYXQgcGFnaW5hdGlvbiBvZmZzZXRzCisgICAgICAgICAgICAv
LyBhcmUgY29uc2lzdGVudCB3aXRoIHdoYXQgUmVuZGVyVGFibGVSb3c6OmxheW91dCgpIHB1c2hl
cy4KKyAgICAgICAgICAgIExheW91dFN0YXRlTWFpbnRhaW5lciByb3dTdGF0ZVB1c2hlcigqcm93
UmVuZGVyZXIsIHJvd1JlbmRlcmVyLT5sb2NhdGlvbk9mZnNldCgpKTsKKyAgICAgICAgICAgIGxh
eW91dENlbGxzKCk7CisKKyAgICAgICAgICAgIHJvd1JlbmRlcmVyLT5jbGVhck92ZXJmbG93KCk7
CisgICAgICAgICAgICByb3dSZW5kZXJlci0+YWRkVmlzdWFsRWZmZWN0T3ZlcmZsb3coKTsKKyAg
ICAgICAgICAgIHJvd1JlbmRlcmVyLT5hZGRPdmVyZmxvd0Zyb21JbkZsb3dDaGlsZHJlbigpOwor
ICAgICAgICAgICAgcm93UmVuZGVyZXItPmxheW91dE91dE9mRmxvd0JveGVzKFJlbGF5b3V0Q2hp
bGRyZW46Olllcyk7CisgICAgICAgICAgICByb3dSZW5kZXJlci0+Y2xlYXJOZWVkc0xheW91dCgp
OworICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgIGxheW91dENlbGxzKCk7CiAgICAgfQogCiAg
ICAgQVNTRVJUKCFuZWVkc0xheW91dCgpKTsKQEAgLTcyNyw4ICs3MzUsMTEgQEAgdm9pZCBSZW5k
ZXJUYWJsZVNlY3Rpb246OmNvbXB1dGVPdmVyZmxvd0Zyb21DZWxscyh1bnNpZ25lZCB0b3RhbFJv
d3MsIHVuc2lnbmVkIG4KICNpZiBBU1NFUlRfRU5BQkxFRAogICAgIGJvb2wgaGFzT3ZlcmZsb3dp
bmdDZWxsID0gZmFsc2U7CiAjZW5kaWYKLSAgICAvLyBOb3cgdGhhdCBvdXIgaGVpZ2h0IGhhcyBi
ZWVuIGRldGVybWluZWQsIGFkZCBpbiBvdmVyZmxvdyBmcm9tIGNlbGxzLgorICAgIC8vIE5vdyB0
aGF0IG91ciBoZWlnaHQgaGFzIGJlZW4gZGV0ZXJtaW5lZCwgYWRkIGluIG92ZXJmbG93IGZyb20g
cm93cyAod2hpY2gKKyAgICAvLyBhbHJlYWR5IGluY2x1ZGUgY2VsbCBvdmVyZmxvdyBmcm9tIGFk
ZE92ZXJmbG93RnJvbUluRmxvd0NoaWxkcmVuIGluIGxheW91dFJvd3MpLgogICAgIGZvciAodW5z
aWduZWQgciA9IDA7IHIgPCB0b3RhbFJvd3M7IHIrKykgeworICAgICAgICBpZiAoQ2hlY2tlZFB0
ciByb3cgPSBtX2dyaWRbcl0ucm93UmVuZGVyZXIpCisgICAgICAgICAgICBhZGRPdmVyZmxvd0Zy
b21Db250YWluZWRCb3goKnJvdyk7CiAgICAgICAgIGZvciAodW5zaWduZWQgYyA9IDA7IGMgPCBu
RWZmQ29sczsgYysrKSB7CiAgICAgICAgICAgICBDZWxsU3RydWN0JiBjcyA9IGNlbGxBdChyLCBj
KTsKICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCogY2VsbCA9IGNzLnByaW1hcnlDZWxsKCk7
CkBAIC03MzYsNyArNzQ3LDYgQEAgdm9pZCBSZW5kZXJUYWJsZVNlY3Rpb246OmNvbXB1dGVPdmVy
Zmxvd0Zyb21DZWxscyh1bnNpZ25lZCB0b3RhbFJvd3MsIHVuc2lnbmVkIG4KICAgICAgICAgICAg
ICAgICBjb250aW51ZTsKICAgICAgICAgICAgIGlmIChyIDwgdG90YWxSb3dzIC0gMSAmJiBjZWxs
ID09IHByaW1hcnlDZWxsQXQociArIDEsIGMpKQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwot
ICAgICAgICAgICAgYWRkT3ZlcmZsb3dGcm9tQ29udGFpbmVkQm94KCpjZWxsKTsKICNpZiBBU1NF
UlRfRU5BQkxFRAogICAgICAgICAgICAgaGFzT3ZlcmZsb3dpbmdDZWxsIHw9IGNlbGwtPmhhc1Zp
c3VhbE92ZXJmbG93KCk7CiAjZW5kaWYKQEAgLTkzOSw3ICs5NDksNyBAQCBzdGQ6Om9wdGlvbmFs
PExheW91dFVuaXQ+IFJlbmRlclRhYmxlU2VjdGlvbjo6YmFzZWxpbmVGcm9tQ2VsbENvbnRlbnRF
ZGdlcyhJdGVtUAogICAgICAgICBjb25zdCBSZW5kZXJUYWJsZUNlbGwqIGNlbGwgPSBjcy5wcmlt
YXJ5Q2VsbCgpOwogICAgICAgICAvLyBPbmx5IGNlbGxzIHdpdGggY29udGVudCBoYXZlIGEgYmFz
ZWxpbmUKICAgICAgICAgaWYgKGNlbGwgJiYgY2VsbC0+Y29udGVudEJveExvZ2ljYWxIZWlnaHQo
KSkgewotICAgICAgICAgICAgTGF5b3V0VW5pdCBjYW5kaWRhdGUgPSBjZWxsLT5sb2dpY2FsVG9w
KCkgKyBjZWxsLT5ib3JkZXJBbmRQYWRkaW5nQmVmb3JlKCkgKyBjZWxsLT5jb250ZW50Qm94TG9n
aWNhbEhlaWdodCgpOworICAgICAgICAgICAgTGF5b3V0VW5pdCBjYW5kaWRhdGUgPSBtX3Jvd1Bv
c1tjZWxsLT5yb3dJbmRleCgpXSArIGNlbGwtPmJvcmRlckFuZFBhZGRpbmdCZWZvcmUoKSArIGNl
bGwtPmNvbnRlbnRCb3hMb2dpY2FsSGVpZ2h0KCk7CiAgICAgICAgICAgICByZXN1bHQgPSBzdGQ6
Om1heChyZXN1bHQudmFsdWVfb3IoY2FuZGlkYXRlKSwgY2FuZGlkYXRlKTsKICAgICAgICAgfQog
ICAgIH0KQEAgLTk4OCw5ICs5OTgsMTEgQEAgc3RhdGljIGlubGluZSBib29sIE5PREVMRVRFIGNv
bXBhcmVDZWxsUG9zaXRpb25zV2l0aE92ZXJmbG93aW5nQ2VsbHMoY29uc3QgU2luZ2wKIAogdm9p
ZCBSZW5kZXJUYWJsZVNlY3Rpb246OnBhaW50Q2VsbChSZW5kZXJUYWJsZUNlbGwqIGNlbGwsIFBh
aW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZmZzZXQpCiB7Ci0g
ICAgTGF5b3V0UG9pbnQgY2VsbFBvaW50ID0gZmxpcEZvcldyaXRpbmdNb2RlRm9yQ2hpbGQoKmNl
bGwsIHBhaW50T2Zmc2V0KTsKKyAgICBhdXRvJiByb3cgPSBkb3duY2FzdDxSZW5kZXJUYWJsZVJv
dz4oKmNlbGwtPnBhcmVudCgpKTsKKyAgICBhdXRvIHJvd0JhY2tncm91bmRQYWludE9mZnNldCA9
IGZsaXBGb3JXcml0aW5nTW9kZUZvckNoaWxkKHJvdywgcGFpbnRPZmZzZXQpOworICAgIGF1dG8g
cm93UGFpbnRPZmZzZXQgPSByb3dCYWNrZ3JvdW5kUGFpbnRPZmZzZXQgKyByb3cubG9jYXRpb24o
KTsKKyAgICBhdXRvIGNlbGxQb2ludCA9IHJvdy5mbGlwRm9yV3JpdGluZ01vZGVGb3JDaGlsZCgq
Y2VsbCwgcm93UGFpbnRPZmZzZXQpOwogICAgIFBhaW50UGhhc2UgcGFpbnRQaGFzZSA9IHBhaW50
SW5mby5waGFzZTsKLSAgICBSZW5kZXJUYWJsZVJvdyYgcm93ID0gZG93bmNhc3Q8UmVuZGVyVGFi
bGVSb3c+KCpjZWxsLT5wYXJlbnQoKSk7CiAKICAgICBpZiAocGFpbnRQaGFzZSA9PSBQYWludFBo
YXNlOjpCbG9ja0JhY2tncm91bmQgfHwgcGFpbnRQaGFzZSA9PSBQYWludFBoYXNlOjpDaGlsZEJs
b2NrQmFja2dyb3VuZCkgewogICAgICAgICAvLyBXZSBuZWVkIHRvIGhhbmRsZSBwYWludGluZyBh
IHN0YWNrIG9mIGJhY2tncm91bmRzLiAgVGhpcyBzdGFjayAoZnJvbSBib3R0b20gdG8gdG9wKSBj
b25zaXN0cyBvZgpAQCAtMTAxMyw3ICsxMDI1LDcgQEAgdm9pZCBSZW5kZXJUYWJsZVNlY3Rpb246
OnBhaW50Q2VsbChSZW5kZXJUYWJsZUNlbGwqIGNlbGwsIFBhaW50SW5mbyYgcGFpbnRJbmZvLAog
ICAgICAgICAvLyBQYWludCB0aGUgcm93IG5leHQsIGJ1dCBvbmx5IGlmIGl0IGRvZXNuJ3QgaGF2
ZSBhIGxheWVyLiAgSWYgYSByb3cgaGFzIGEgbGF5ZXIsIGl0IHdpbGwgYmUgcmVzcG9uc2libGUg
Zm9yCiAgICAgICAgIC8vIHBhaW50aW5nIHRoZSByb3cgYmFja2dyb3VuZCBmb3IgdGhlIGNlbGwu
CiAgICAgICAgIGlmICghcm93Lmhhc1NlbGZQYWludGluZ0xheWVyKCkpCi0gICAgICAgICAgICBj
ZWxsLT5wYWludEJhY2tncm91bmRzQmVoaW5kQ2VsbChwYWludEluZm8sIGNlbGxQb2ludCwgJnJv
dywgY2VsbFBvaW50KTsKKyAgICAgICAgICAgIGNlbGwtPnBhaW50QmFja2dyb3VuZHNCZWhpbmRD
ZWxsKHBhaW50SW5mbywgY2VsbFBvaW50LCAmcm93LCByb3dCYWNrZ3JvdW5kUGFpbnRPZmZzZXQp
OwogICAgIH0KICAgICBpZiAoKCFjZWxsLT5oYXNTZWxmUGFpbnRpbmdMYXllcigpICYmICFyb3cu
aGFzU2VsZlBhaW50aW5nTGF5ZXIoKSkpCiAgICAgICAgIGNlbGwtPnBhaW50KHBhaW50SW5mbywg
Y2VsbFBvaW50KTsKQEAgLTE0MDcsNyArMTQxOSw5IEBAIHZvaWQgUmVuZGVyVGFibGVTZWN0aW9u
OjpwYWludE9iamVjdChQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBh
CiAgICAgICAgICAgICAgICAgICAgIHNob3VsZFBhaW50Um93R3JvdXBCb3JkZXIgPSBmYWxzZTsK
ICAgICAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgICAgICBhdXRvIGNlbGxQb2ludCA9IGZs
aXBGb3JXcml0aW5nTW9kZUZvckNoaWxkKCpjZWxsLCBwYWludE9mZnNldCk7CisgICAgICAgICAg
ICAgICAgYXV0byYgcm93ID0gZG93bmNhc3Q8UmVuZGVyVGFibGVSb3c+KCpjZWxsLT5wYXJlbnQo
KSk7CisgICAgICAgICAgICAgICAgYXV0byByb3dQYWludE9mZnNldCA9IGZsaXBGb3JXcml0aW5n
TW9kZUZvckNoaWxkKHJvdywgcGFpbnRPZmZzZXQpICsgcm93LmxvY2F0aW9uKCk7CisgICAgICAg
ICAgICAgICAgYXV0byBjZWxsUG9pbnQgPSByb3cuZmxpcEZvcldyaXRpbmdNb2RlRm9yQ2hpbGQo
KmNlbGwsIHJvd1BhaW50T2Zmc2V0KTsKICAgICAgICAgICAgICAgICBjZWxsLT5wYWludENvbGxh
cHNlZEJvcmRlcnMocGFpbnRJbmZvLCBjZWxsUG9pbnQpOwogICAgICAgICAgICAgfQogICAgICAg
ICB9CkBAIC0xNDU2LDcgKzE0NzAsOSBAQCB2b2lkIFJlbmRlclRhYmxlU2VjdGlvbjo6cGFpbnRP
YmplY3QoUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IExheW91dFBvaW50JiBwYQogCiAgICAg
ICAgIGlmIChwYWludEluZm8ucGhhc2UgPT0gUGFpbnRQaGFzZTo6Q29sbGFwc2VkVGFibGVCb3Jk
ZXJzKSB7CiAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSBjZWxscy5zaXplKCk7IGkgPiAw
OyAtLWkpIHsKLSAgICAgICAgICAgICAgICBhdXRvIGNlbGxQb2ludCA9IGZsaXBGb3JXcml0aW5n
TW9kZUZvckNoaWxkKCpjZWxsc1tpIC0gMV0sIHBhaW50T2Zmc2V0KTsKKyAgICAgICAgICAgICAg
ICBhdXRvJiByb3cgPSBkb3duY2FzdDxSZW5kZXJUYWJsZVJvdz4oKmNlbGxzW2kgLSAxXS0+cGFy
ZW50KCkpOworICAgICAgICAgICAgICAgIGF1dG8gcm93UGFpbnRPZmZzZXQgPSBmbGlwRm9yV3Jp
dGluZ01vZGVGb3JDaGlsZChyb3csIHBhaW50T2Zmc2V0KSArIHJvdy5sb2NhdGlvbigpOworICAg
ICAgICAgICAgICAgIGF1dG8gY2VsbFBvaW50ID0gcm93LmZsaXBGb3JXcml0aW5nTW9kZUZvckNo
aWxkKCpjZWxsc1tpIC0gMV0sIHJvd1BhaW50T2Zmc2V0KTsKICAgICAgICAgICAgICAgICBjZWxs
c1tpIC0gMV0tPnBhaW50Q29sbGFwc2VkQm9yZGVycyhwYWludEluZm8sIGNlbGxQb2ludCk7CiAg
ICAgICAgICAgICB9CiAgICAgICAgIH0gZWxzZSB7CkBAIC0xNjI3LDcgKzE2NDMsOCBAQCBib29s
IFJlbmRlclRhYmxlU2VjdGlvbjo6bm9kZUF0UG9pbnQoY29uc3QgSGl0VGVzdFJlcXVlc3QmIHJl
cXVlc3QsIEhpdFRlc3RSZXN1bAogICAgICAgICAgICAgLy8gdGFibGUtc3BlY2lmaWMgaGl0LXRl
c3QgbWV0aG9kICh3aGljaCB3ZSBzaG91bGQgZG8gZm9yIHBlcmZvcm1hbmNlIHJlYXNvbnMgYW55
d2F5KSwKICAgICAgICAgICAgIC8vIHRoZW4gd2UgY2FuIHJlbW92ZSB0aGlzIGNoZWNrLgogICAg
ICAgICAgICAgaWYgKCFyb3ctPmhhc1NlbGZQYWludGluZ0xheWVyKCkpIHsKLSAgICAgICAgICAg
ICAgICBpZiAocm93LT5ub2RlQXRQb2ludChyZXF1ZXN0LCByZXN1bHQsIGxvY2F0aW9uSW5Db250
YWluZXIsIGFkanVzdGVkTG9jYXRpb24sIGFjdGlvbikpCisgICAgICAgICAgICAgICAgYXV0byBy
b3dPZmZzZXQgPSBmbGlwRm9yV3JpdGluZ01vZGVGb3JDaGlsZCgqcm93LCBhZGp1c3RlZExvY2F0
aW9uKTsKKyAgICAgICAgICAgICAgICBpZiAocm93LT5ub2RlQXRQb2ludChyZXF1ZXN0LCByZXN1
bHQsIGxvY2F0aW9uSW5Db250YWluZXIsIHJvd09mZnNldCwgYWN0aW9uKSkKICAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KQEAgLTE2NTUs
NyArMTY3Miw5IEBAIGJvb2wgUmVuZGVyVGFibGVTZWN0aW9uOjpub2RlQXRQb2ludChjb25zdCBI
aXRUZXN0UmVxdWVzdCYgcmVxdWVzdCwgSGl0VGVzdFJlc3VsCiAgICAgICAgICAgICBmb3IgKHVu
c2lnbmVkIGkgPSBjdXJyZW50LmNlbGxzLnNpemUoKSA7IGk7ICkgewogICAgICAgICAgICAgICAg
IC0taTsKICAgICAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwqIGNlbGwgPSBjdXJyZW50LmNl
bGxzW2ldOwotICAgICAgICAgICAgICAgIExheW91dFBvaW50IGNlbGxQb2ludCA9IGZsaXBGb3JX
cml0aW5nTW9kZUZvckNoaWxkKCpjZWxsLCBhZGp1c3RlZExvY2F0aW9uKTsKKyAgICAgICAgICAg
ICAgICBhdXRvJiByb3cgPSBkb3duY2FzdDxSZW5kZXJUYWJsZVJvdz4oKmNlbGwtPnBhcmVudCgp
KTsKKyAgICAgICAgICAgICAgICBhdXRvIHJvd1BvaW50ID0gZmxpcEZvcldyaXRpbmdNb2RlRm9y
Q2hpbGQocm93LCBhZGp1c3RlZExvY2F0aW9uKSArIHJvdy5sb2NhdGlvbigpOworICAgICAgICAg
ICAgICAgIGF1dG8gY2VsbFBvaW50ID0gcm93LmZsaXBGb3JXcml0aW5nTW9kZUZvckNoaWxkKCpj
ZWxsLCByb3dQb2ludCk7CiAgICAgICAgICAgICAgICAgaWYgKHN0YXRpY19jYXN0PFJlbmRlck9i
amVjdCo+KGNlbGwpLT5ub2RlQXRQb2ludChyZXF1ZXN0LCByZXN1bHQsIGxvY2F0aW9uSW5Db250
YWluZXIsIGNlbGxQb2ludCwgYWN0aW9uKSkgewogICAgICAgICAgICAgICAgICAgICB1cGRhdGVI
aXRUZXN0UmVzdWx0KHJlc3VsdCwgbG9jYXRpb25JbkNvbnRhaW5lci5wb2ludCgpIC0gdG9MYXlv
dXRTaXplKGNlbGxQb2ludCkpOwogICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKQEAg
LTE3MDgsNyArMTcyNyw3IEBAIHZvaWQgUmVuZGVyVGFibGVTZWN0aW9uOjpzZXRMb2dpY2FsUG9z
aXRpb25Gb3JDZWxsKFJlbmRlclRhYmxlQ2VsbCogY2VsbCwgdW5zaWduCiB7CiAgICAgTGF5b3V0
UG9pbnQgb2xkQ2VsbExvY2F0aW9uID0gY2VsbC0+bG9jYXRpb24oKTsKIAotICAgIExheW91dFBv
aW50IGNlbGxMb2NhdGlvbigwX2x1LCBtX3Jvd1Bvc1tjZWxsLT5yb3dJbmRleCgpXSk7CisgICAg
TGF5b3V0UG9pbnQgY2VsbExvY2F0aW9uKDBfbHUsIDBfbHUpOwogICAgIExheW91dFVuaXQgaG9y
aXpvbnRhbEJvcmRlclNwYWNpbmcgPSB0YWJsZSgpLT5oQm9yZGVyU3BhY2luZygpOwogCiAgICAg
Ly8gVGhlIHRhYmxlJ3Mgd3JpdGluZyBtb2RlIGRldGVybWluZXMgaW4gd2hpY2ggZGlyZWN0aW9u
IHRoZSByb3dzIGZsb3cuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVHJlZUFzVGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFz
VGV4dC5jcHAKaW5kZXggMTgxOThkY2U1MzI3Li44ZTMyYjc3MTRmNDUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5jcHAKQEAgLTIyNyw3ICsyMjcsOSBA
QCB2b2lkIFJlbmRlclRyZWVBc1RleHQ6OndyaXRlUmVuZGVyT2JqZWN0KFRleHRTdHJlYW0mIHRz
LCBjb25zdCBSZW5kZXJPYmplY3QmIG8sCiAgICAgICAgIC8vIEZJWE1FOiBEZWxpYmVyYXRlbHkg
ZHVtcCB0aGUgImlubmVyIiBib3ggb2YgdGFibGUgY2VsbHMsIHNpbmNlIHRoYXQgaXMgd2hhdCBj
dXJyZW50IHJlc3VsdHMgcmVmbGVjdC4gIFdlJ2QgbGlrZQogICAgICAgICAvLyB0byBjbGVhbiB1
cCB0aGUgcmVzdWx0cyB0byBkdW1wIGJvdGggdGhlIG91dGVyIGJveCBhbmQgdGhlIGludHJpbnNp
YyBwYWRkaW5nIHNvIHRoYXQgYm90aCBiaXRzIG9mIGluZm9ybWF0aW9uIGFyZQogICAgICAgICAv
LyBjYXB0dXJlZCBieSB0aGUgcmVzdWx0cy4KLSAgICAgICAgciA9IExheW91dFJlY3QoY2VsbC0+
eCgpLCBjZWxsLT55KCkgKyBjZWxsLT5pbnRyaW5zaWNQYWRkaW5nQmVmb3JlKCksIGNlbGwtPndp
ZHRoKCksIGNlbGwtPmhlaWdodCgpIC0gY2VsbC0+aW50cmluc2ljUGFkZGluZ0JlZm9yZSgpIC0g
Y2VsbC0+aW50cmluc2ljUGFkZGluZ0FmdGVyKCkpOworICAgICAgICAvLyBGSVhNRTogQ2VsbCBw
b3NpdGlvbnMgYXJlIHJvdy1yZWxhdGl2ZSBidXQgd2UgZHVtcCB0aGVtIGFzIHNlY3Rpb24tcmVs
YXRpdmUgdG8gYXZvaWQgcmViYXNlbGluaW5nIGV2ZXJ5IHRhYmxlIHRlc3QuCisgICAgICAgIGF1
dG8gcm93T2Zmc2V0ID0gY2VsbC0+cGFyZW50KCkgPyBkb3duY2FzdDxSZW5kZXJCb3g+KCpjZWxs
LT5wYXJlbnQoKSkubG9jYXRpb24oKSA6IExheW91dFBvaW50KCk7CisgICAgICAgIHIgPSBMYXlv
dXRSZWN0KGNlbGwtPngoKSArIHJvd09mZnNldC54KCksIGNlbGwtPnkoKSArIHJvd09mZnNldC55
KCkgKyBjZWxsLT5pbnRyaW5zaWNQYWRkaW5nQmVmb3JlKCksIGNlbGwtPndpZHRoKCksIGNlbGwt
PmhlaWdodCgpIC0gY2VsbC0+aW50cmluc2ljUGFkZGluZ0JlZm9yZSgpIC0gY2VsbC0+aW50cmlu
c2ljUGFkZGluZ0FmdGVyKCkpOwogICAgIH0gZWxzZSBpZiAoYXV0byogYm94ID0gZHluYW1pY0Rv
d25jYXN0PFJlbmRlckJveD4obykpCiAgICAgICAgIHIgPSBib3gtPmZyYW1lUmVjdCgpOwogICAg
IGVsc2UgaWYgKGF1dG8qIHN2Z01vZGVsT2JqZWN0ID0gZHluYW1pY0Rvd25jYXN0PFJlbmRlclNW
R01vZGVsT2JqZWN0PihvKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5
bGVBZGp1c3Rlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdHlsZS9TdHlsZUFkanVzdGVyLmNwcApp
bmRleCBlMGJlZGE0NWQxZmYuLjYwYzJlYTMzYmYwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvc3R5bGUvU3R5bGVBZGp1c3Rlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5
bGVBZGp1c3Rlci5jcHAKQEAgLTQ4MywxMSArNDgzLDEwIEBAIHZvaWQgQWRqdXN0ZXI6OmFkanVz
dChSZW5kZXJTdHlsZSYgc3R5bGUpIGNvbnN0CiAgICAgICAgIGlmIChzdHlsZS5kaXNwbGF5KCkg
PT0gRGlzcGxheVR5cGU6OklubGluZUZsb3cgJiYgIXN0eWxlLnBzZXVkb0VsZW1lbnRUeXBlKCkg
JiYgc3R5bGUud3JpdGluZ01vZGUoKS5jb21wdXRlZFdyaXRpbmdNb2RlKCkgIT0gbV9wYXJlbnRT
dHlsZS53cml0aW5nTW9kZSgpLmNvbXB1dGVkV3JpdGluZ01vZGUoKSkKICAgICAgICAgICAgIHN0
eWxlLnNldERpc3BsYXlNYWludGFpbmluZ09yaWdpbmFsRGlzcGxheShEaXNwbGF5VHlwZTo6SW5s
aW5lRmxvd1Jvb3QpOwogCi0gICAgICAgIC8vIEFmdGVyIHBlcmZvcm1pbmcgdGhlIGRpc3BsYXkg
bXV0YXRpb24sIGNoZWNrIHRhYmxlIHJvd3MuIFdlIGRvIG5vdCBob25vciBwb3NpdGlvbjpyZWxh
dGl2ZSBvciBwb3NpdGlvbjpzdGlja3kgb24KLSAgICAgICAgLy8gdGFibGUgcm93cyBvciBjZWxs
cy4gVGhpcyBoYXMgYmVlbiBlc3RhYmxpc2hlZCBmb3IgcG9zaXRpb246cmVsYXRpdmUgaW4gQ1NT
Mi4xIChhbmQgY2F1c2VkIGEgY3Jhc2ggaW4gY29udGFpbmluZ0Jsb2NrKCkKLSAgICAgICAgLy8g
b24gc29tZSBzaXRlcykuCisgICAgICAgIC8vIFdlIGRvIG5vdCBob25vciBwb3NpdGlvbjpyZWxh
dGl2ZSBvciBwb3NpdGlvbjpzdGlja3kgb24gdGFibGUgcm93IGdyb3Vwcy4gVGFibGUgcm93cyBh
cmUKKyAgICAgICAgLy8gYWxsb3dlZCB0byBiZSBwb3NpdGlvbjpyZWxhdGl2ZSAodGhleSBleHRl
bmQgUmVuZGVyQmxvY2sgYW5kIGNhbiBiZSBwcm9wZXIgY29udGFpbmluZyBibG9ja3MpLgogICAg
ICAgICBpZiAoKHN0eWxlLmRpc3BsYXkoKSA9PSBEaXNwbGF5VHlwZTo6VGFibGVIZWFkZXJHcm91
cCB8fCBzdHlsZS5kaXNwbGF5KCkgPT0gRGlzcGxheVR5cGU6OlRhYmxlUm93R3JvdXAKLSAgICAg
ICAgICAgIHx8IHN0eWxlLmRpc3BsYXkoKSA9PSBEaXNwbGF5VHlwZTo6VGFibGVGb290ZXJHcm91
cCB8fCBzdHlsZS5kaXNwbGF5KCkgPT0gRGlzcGxheVR5cGU6OlRhYmxlUm93KQorICAgICAgICAg
ICAgfHwgc3R5bGUuZGlzcGxheSgpID09IERpc3BsYXlUeXBlOjpUYWJsZUZvb3Rlckdyb3VwKQog
ICAgICAgICAgICAgJiYgc3R5bGUucG9zaXRpb24oKSA9PSBQb3NpdGlvblR5cGU6OlJlbGF0aXZl
KQogICAgICAgICAgICAgc3R5bGUuc2V0UG9zaXRpb24oUG9zaXRpb25UeXBlOjpTdGF0aWMpOwog
CkBAIC02NDIsNyArNjQxLDExIEBAIHZvaWQgQWRqdXN0ZXI6OmFkanVzdChSZW5kZXJTdHlsZSYg
c3R5bGUpIGNvbnN0CiAKICAgICBib29sIG92ZXJmbG93SXNDbGlwT3JWaXNpYmxlID0gaXNPdmVy
Zmxvd0NsaXBPclZpc2libGUoc3R5bGUub3ZlcmZsb3dZKCkpICYmIGlzT3ZlcmZsb3dDbGlwT3JW
aXNpYmxlKHN0eWxlLm92ZXJmbG93WCgpKTsKIAotICAgIGlmICghb3ZlcmZsb3dJc0NsaXBPclZp
c2libGUgJiYgc3R5bGUuZGlzcGxheSgpLmlzVGFibGVCb3goKSkgeworICAgIC8vIFRoZSBvdmVy
ZmxvdyBwcm9wZXJ0eSBkb2VzIG5vdCBhcHBseSB0byB0YWJsZSByb3cgZWxlbWVudHMgKENTUzIg
c2VjdGlvbiAxMS4xLjEpLgorICAgIGlmIChzdHlsZS5kaXNwbGF5KCkgPT0gRGlzcGxheVR5cGU6
OlRhYmxlUm93KSB7CisgICAgICAgIHN0eWxlLnNldE92ZXJmbG93WChDb21wdXRlZFN0eWxlOjpp
bml0aWFsT3ZlcmZsb3dYKCkpOworICAgICAgICBzdHlsZS5zZXRPdmVyZmxvd1koQ29tcHV0ZWRT
dHlsZTo6aW5pdGlhbE92ZXJmbG93WSgpKTsKKyAgICB9IGVsc2UgaWYgKCFvdmVyZmxvd0lzQ2xp
cE9yVmlzaWJsZSAmJiBzdHlsZS5kaXNwbGF5KCkuaXNUYWJsZUJveCgpKSB7CiAgICAgICAgIC8v
IFRhYmxlcyBvbmx5IHN1cHBvcnQgb3ZlcmZsb3c6aGlkZGVuIGFuZCBvdmVyZmxvdzp2aXNpYmxl
IGFuZCBpZ25vcmUgYW55dGhpbmcgZWxzZSwKICAgICAgICAgLy8gc2VlIGh0dHBzOi8vZHJhZnRz
LmNzc3dnLm9yZy9jc3MyLyNvdmVyZmxvdy4gQXMgYSB0YWJsZSBpcyBub3QgYSBibG9jawogICAg
ICAgICAvLyBjb250YWluZXIgYm94IHRoZSBydWxlcyBmb3IgcmVzb2x2aW5nIGNvbmZsaWN0aW5n
IHggYW5kIHkgdmFsdWVzIGluIENTUyBPdmVyZmxvdyBNb2R1bGUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmlu
ZGV4IDdmZGZkYzZiN2EwMy4uZjQyYmI2ZTU0OTUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9U
ZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTIx
NTEsNiArMjE1MSw3IEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWF0aG1sL3By
ZXNlbnRhdGlvbi1tYXJrdXAvb3BlcmF0b3JzL29wLWRpY3QtOS5oCiBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL21hdGhtbC9wcmVzZW50YXRpb24tbWFya3VwL29wZXJhdG9ycy9wYWlu
dGluZy1zdHJldGNoeS1vcGVyYXRvci0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tYXRobWwvcHJlc2VudGF0aW9uLW1hcmt1cC9z
Y3JpcHRzL3VuZGVyb3Zlci1zdHJldGNoeS0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQog
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tYXRobWwvcmVsYXRpb25zL2Nzcy1zdHls
aW5nL2Rpc3BsYXktd2l0aC1vdmVyZmxvdy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCitpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21hdGhtbC9yZWxhdGlvbnMvY3NzLXN0eWxpbmcv
b3ZlcmZsb3cvY29tcHV0ZWQtdmFsdWUtMDAxLmh0bWwgWyBGYWlsdXJlIF0KIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvbWF0aG1sL3JlbGF0aW9ucy9jc3Mtc3R5bGluZy9mbG9hdHMv
ZmxvYXRpbmctaW5zaWRlLW1hdGhtbC13aXRoLWJsb2NrLWRpc3BsYXkuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQogbWF0aG1sL25vbi1jb3JlL21hdGh2YXJpYW50L21hdGh2YXJpYW50LWJhc2lj
LXRyYW5zZm9ybXMtd2l0aC1kZWZhdWx0LWZvbnQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQog
bWF0aG1sL25vbi1jb3JlL21hdGh2YXJpYW50L21hdGh2YXJpYW50LWRvdWJsZS1zdHJ1Y2stZm9u
dC1zdHlsZS1mb250LXdlaWdodC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L3RhYmxlL25vbi1wb3NpdGlvbmVkLXJvdy1uby1jb250YWlubWVu
dC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9ub24tcG9zaXRpb25lZC1y
b3ctbm8tY29udGFpbm1lbnQtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAuLmIxYzliMzliODFmZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvdGFibGUvbm9uLXBvc2l0aW9uZWQtcm93LW5vLWNvbnRhaW5tZW50LWV4cGVjdGVk
Lmh0bWwKQEAgLTAsMCArMSwxNCBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PHRpdGxlPk5vbi1wb3NpdGlvbmVkIHRhYmxlIHJvdyBkb2VzIG5vdCBjb250YWluIGFic29sdXRl
IGRlc2NlbmRhbnRzIChyZWZlcmVuY2UpPC90aXRsZT4KKzxzdHlsZT4KK2JvZHkgeworICAgIG1h
cmdpbjogMDsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgc3R5bGU9IndpZHRo
OiAyMDBweDsgaGVpZ2h0OiAyMDBweDsgYmFja2dyb3VuZDogZ3JlZW4iPjwvZGl2PgorPC9ib2R5
PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9ub24tcG9zaXRp
b25lZC1yb3ctbm8tY29udGFpbm1lbnQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGFibGUvbm9u
LXBvc2l0aW9uZWQtcm93LW5vLWNvbnRhaW5tZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwLi5lMjNlNjhkZjM0MzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L3RhYmxlL25vbi1wb3NpdGlvbmVkLXJvdy1uby1jb250YWlubWVudC5odG1s
CkBAIC0wLDAgKzEsMzMgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzx0aXRs
ZT5Ob24tcG9zaXRpb25lZCB0YWJsZSByb3cgZG9lcyBub3QgY29udGFpbiBhYnNvbHV0ZSBkZXNj
ZW5kYW50czwvdGl0bGU+Cis8bGluayByZWw9Im1hdGNoIiBocmVmPSJub24tcG9zaXRpb25lZC1y
b3ctbm8tY29udGFpbm1lbnQtZXhwZWN0ZWQuaHRtbCI+Cis8c3R5bGU+Citib2R5IHsKKyAgICBt
YXJnaW46IDA7Cit9Cit0YWJsZSB7CisgICAgYm9yZGVyLXNwYWNpbmc6IDA7CisgICAgYm9yZGVy
LWNvbGxhcHNlOiBjb2xsYXBzZTsKKyAgICBib3JkZXI6IG5vbmU7Cit9Cit0ZCB7CisgICAgcGFk
ZGluZzogMDsKKyAgICBib3JkZXI6IG5vbmU7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+
Cis8IS0tIFdpdGhvdXQgcG9zaXRpb246IHJlbGF0aXZlIG9uIHRoZSByb3csIHRoZSBhYnNvbHV0
ZSBkaXYgc2hvdWxkIGVzY2FwZSB0byB0aGUKKyAgICAgbmVhcmVzdCBwb3NpdGlvbmVkIGFuY2Vz
dG9yICh0aGUgb3V0ZXIgZGl2KSwgY292ZXJpbmcgaXQgZW50aXJlbHkuIC0tPgorPGRpdiBzdHls
ZT0icG9zaXRpb246IHJlbGF0aXZlOyB3aWR0aDogMjAwcHg7IGhlaWdodDogMjAwcHgiPgorICAg
IDx0YWJsZT4KKyAgICAgICAgPHRyPgorICAgICAgICAgICAgPHRkIHN0eWxlPSJ3aWR0aDogNTBw
eDsgaGVpZ2h0OiA1MHB4Ij5DZWxsPC90ZD4KKyAgICAgICAgPC90cj4KKyAgICA8L3RhYmxlPgor
ICAgIDxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgaW5zZXQ6IDA7IGJhY2tncm91bmQ6
IGdyZWVuIj48L2Rpdj4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC90YWJsZS9yZWxhdGl2ZS1wb3NpdGlvbi1yb3ctY29udGFpbm1lbnQtZXhw
ZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGFibGUvcmVsYXRpdmUtcG9zaXRpb24tcm93
LWNvbnRhaW5tZW50LWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwLi4yNzA4OGM1NmQ1ZTYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L3RhYmxlL3JlbGF0aXZlLXBvc2l0aW9uLXJvdy1jb250YWlubWVudC1leHBlY3RlZC5odG1s
CkBAIC0wLDAgKzEsMTUgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzx0aXRs
ZT5Qb3NpdGlvbmVkIHRhYmxlIHJvdyBhcyBjb250YWluaW5nIGJsb2NrIGZvciBhYnNvbHV0ZSBk
ZXNjZW5kYW50cyAocmVmZXJlbmNlKTwvdGl0bGU+Cis8c3R5bGU+Citib2R5IHsKKyAgICBtYXJn
aW46IDA7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IHN0eWxlPSJoZWlnaHQ6
IDUwcHgiPjwvZGl2PgorPGRpdiBzdHlsZT0id2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyBi
YWNrZ3JvdW5kOiBncmVlbiI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L3RhYmxlL3JlbGF0aXZlLXBvc2l0aW9uLXJvdy1jb250YWlubWVudC5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9yZWxhdGl2ZS1wb3NpdGlvbi1yb3ctY29udGFp
bm1lbnQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjQxNmM0
YThiYzllYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGFibGUvcmVsYXRp
dmUtcG9zaXRpb24tcm93LWNvbnRhaW5tZW50Lmh0bWwKQEAgLTAsMCArMSwzMiBAQAorPCFkb2N0
eXBlIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPlBvc2l0aW9uZWQgdGFibGUgcm93IGFz
IGNvbnRhaW5pbmcgYmxvY2sgZm9yIGFic29sdXRlIGRlc2NlbmRhbnRzPC90aXRsZT4KKzxsaW5r
IHJlbD0ibWF0Y2giIGhyZWY9InJlbGF0aXZlLXBvc2l0aW9uLXJvdy1jb250YWlubWVudC1leHBl
Y3RlZC5odG1sIj4KKzxzdHlsZT4KK2JvZHkgeworICAgIG1hcmdpbjogMDsKK30KK3RhYmxlIHsK
KyAgICBib3JkZXItc3BhY2luZzogMDsKKyAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwor
ICAgIGJvcmRlcjogbm9uZTsKK30KK3RkIHsKKyAgICBwYWRkaW5nOiAwOworICAgIGJvcmRlcjog
bm9uZTsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzwhLS0gUHVzaCB0aGUgdGFibGUg
ZG93biB0byB2ZXJpZnkgdGhlIGFic29sdXRlIGRpdiBpcyBhbmNob3JlZCB0byB0aGUgcm93LCBu
b3QgdGhlIHZpZXdwb3J0LiAtLT4KKzxkaXYgc3R5bGU9ImhlaWdodDogNTBweCI+PC9kaXY+Cis8
dGFibGU+CisgICAgPHRyIHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmUiPgorICAgICAgICA8dGQg
c3R5bGU9IndpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweCI+CisgICAgICAgICAgICA8ZGl2IHN0
eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGluc2V0OiAwOyBiYWNrZ3JvdW5kOiBncmVlbiI+PC9k
aXY+CisgICAgICAgIDwvdGQ+CisgICAgPC90cj4KKzwvdGFibGU+Cis8L2JvZHk+Cis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RhYmxlL3JlbGF0aXZlLXBvc2l0aW9uLXJv
dy1tdWx0aWNlbGwtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGFibGUvcmVsYXRp
dmUtcG9zaXRpb24tcm93LW11bHRpY2VsbC1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMGRlZWMyYjU5MTZiCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC90YWJsZS9yZWxhdGl2ZS1wb3NpdGlvbi1yb3ctbXVsdGljZWxsLWV4
cGVjdGVkLmh0bWwKQEAgLTAsMCArMSwxNCBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPHRpdGxlPkFic29sdXRlIGNoaWxkIG9mIHBvc2l0aW9uZWQgdGFibGUgcm93IHNwYW5z
IGZ1bGwgcm93IHdpZHRoIChyZWZlcmVuY2UpPC90aXRsZT4KKzxzdHlsZT4KK2JvZHkgeworICAg
IG1hcmdpbjogMDsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgc3R5bGU9Indp
ZHRoOiAyMDBweDsgaGVpZ2h0OiA1MHB4OyBiYWNrZ3JvdW5kOiBncmVlbiI+PC9kaXY+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RhYmxlL3JlbGF0aXZl
LXBvc2l0aW9uLXJvdy1tdWx0aWNlbGwuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGFibGUvcmVs
YXRpdmUtcG9zaXRpb24tcm93LW11bHRpY2VsbC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMC4uMmY5NGMzYjczYjhlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC90YWJsZS9yZWxhdGl2ZS1wb3NpdGlvbi1yb3ctbXVsdGljZWxsLmh0bWwKQEAg
LTAsMCArMSwzMyBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPkFi
c29sdXRlIGNoaWxkIG9mIHBvc2l0aW9uZWQgdGFibGUgcm93IHNwYW5zIGZ1bGwgcm93IHdpZHRo
PC90aXRsZT4KKzxsaW5rIHJlbD0ibWF0Y2giIGhyZWY9InJlbGF0aXZlLXBvc2l0aW9uLXJvdy1t
dWx0aWNlbGwtZXhwZWN0ZWQuaHRtbCI+Cis8c3R5bGU+Citib2R5IHsKKyAgICBtYXJnaW46IDA7
Cit9Cit0YWJsZSB7CisgICAgYm9yZGVyLXNwYWNpbmc6IDA7CisgICAgYm9yZGVyLWNvbGxhcHNl
OiBjb2xsYXBzZTsKKyAgICBib3JkZXI6IG5vbmU7Cit9Cit0ZCB7CisgICAgcGFkZGluZzogMDsK
KyAgICBib3JkZXI6IG5vbmU7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8IS0tIFRo
ZSBncmVlbiBkaXYgc2hvdWxkIGNvdmVyIHRoZSBlbnRpcmUgcm93IChib3RoIGNlbGxzKS4gLS0+
Cis8dGFibGU+CisgICAgPHRyIHN0eWxlPSJwb3NpdGlvbjogcmVsYXRpdmUiPgorICAgICAgICA8
dGQgc3R5bGU9IndpZHRoOiAxMDBweDsgaGVpZ2h0OiA1MHB4Ij4KKyAgICAgICAgICAgIENlbGwg
MQorICAgICAgICAgICAgPGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBpbnNldDogMDsg
YmFja2dyb3VuZDogZ3JlZW4iPjwvZGl2PgorICAgICAgICA8L3RkPgorICAgICAgICA8dGQgc3R5
bGU9IndpZHRoOiAxMDBweDsgaGVpZ2h0OiA1MHB4Ij5DZWxsIDI8L3RkPgorICAgIDwvdHI+Cis8
L3RhYmxlPgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>479009</attachid>
            <date>2026-04-10 20:27:15 -0700</date>
            <delta_ts>2026-04-11 04:16:42 -0700</delta_ts>
            <desc>[fast-cq]Patch</desc>
            <filename>bug-240961-20260410202714.patch</filename>
            <type>text/plain</type>
            <size>65184</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSA5Zjc1ZTIyYTNlN2FjZmFiNDRkMTU1YjY0NjlkNDc0NzdlNzhlNjIxIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IEZyaSwgMTAgQXByIDIwMjYgMjA6MjU6MDAgLTA3MDAKU3ViamVjdDogW1BBVENIXSBgcG9zaXRp
b246IHJlbGF0aXZlYCBkb2Vzbid0IHdvcmsgYXMgZXhwZWN0ZWQgb24gdGFibGUgcm93CiBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjQwOTYxIDxyZGFyOi8vcHJvYmxl
bS85NDI5NDgxOT4KClJldmlld2VkIGJ5IEFudHRpIEtvaXZpc3RvLi4KCldoZW4geW91IHB1dCBg
cG9zaXRpb246IHJlbGF0aXZlYCBvbiBhIDx0cj4sIGFueSBhYnNvbHV0ZWx5IHBvc2l0aW9uZWQK
Y2hpbGQgc2hvdWxkIHNpemUgYW5kIHBvc2l0aW9uIGl0c2VsZiByZWxhdGl2ZSB0byB0aGF0IHJv
dy4gSW5zdGVhZCwgaXQKZXNjYXBlcyB0byB0aGUgbmVhcmVzdCBwb3NpdGlvbmVkIGFuY2VzdG9y
IChvZnRlbiB0aGUgdmlld3BvcnQpLiBUaGUgcm9vdApjYXVzZSBpcyB0aGF0IGBSZW5kZXJUYWJs
ZVJvd2AgZXh0ZW5kcyBgUmVuZGVyQm94YCwgYnV0IGBjb250YWluaW5nQmxvY2soKWAKcmV0dXJu
cyBgUmVuZGVyQmxvY2sqYCAtLSB0aGUgc2VhcmNoIHdhbGtzIHJpZ2h0IHBhc3QgdGhlIHJvdy4g
VGhlIHN0eWxlCnN5c3RlbSBhbHNvIGZvcmNlcyBgcG9zaXRpb246IHN0YXRpY2Agb24gdGFibGUg
cm93cyAoYSB3b3JrYXJvdW5kIGZvciB0aGUKY3Jhc2ggdGhpcyBjYXVzZWQpLCBhbmQgYHJlcXVp
cmVzTGF5ZXIoKWAgaXMgbWlzc2luZyBgaXNQb3NpdGlvbmVkKClgLgoKQ2hhbmdpbmcgdGhlIHJv
dyBmcm9tIGBSZW5kZXJCb3hgIHRvIGBSZW5kZXJCbG9ja2AgbWFrZXMgaXQgYSBwcm9wZXIKY29u
dGFpbmluZyBibG9jay4gV2l0aCBjZWxscyBub3cgcG9zaXRpb25lZCByZWxhdGl2ZSB0byB0aGVp
ciByb3cgaW5zdGVhZApvZiB0aGUgc2VjdGlvbiwgdGhlIHJvdyBuYXR1cmFsbHkgcGFydGljaXBh
dGVzIGluIGV2ZXJ5IGNvb3JkaW5hdGUgd2Fsay4KVGhpcyBlbGltaW5hdGVzIHRhYmxlLXNwZWNp
ZmljIHdvcmthcm91bmRzIGZyb20gYFJlbmRlckxheWVyYCwKYFJlbmRlckJveGAsIGBSZW5kZXJC
b3hNb2RlbE9iamVjdGAsIGBQb3NpdGlvbmVkTGF5b3V0Q29uc3RyYWludHNgLApgUmVuZGVyVGFi
bGVDZWxsYCwgYW5kIGBSZW5kZXJGcmFnbWVudGVkRmxvd2AgLS0gYWxsIHBsYWNlcyB0aGF0CnBy
ZXZpb3VzbHkgaGFkIHRvIHNraXAgb3IgY29tcGVuc2F0ZSBmb3IgdGhlIHJvdyBiZWNhdXNlIGNl
bGxzIHdlcmUgaW4KdGhlIHNlY3Rpb24ncyBjb29yZGluYXRlIHNwYWNlLgoKKiBMYXlvdXRUZXN0
cy9UZXN0RXhwZWN0YXRpb25zOgoqIExheW91dFRlc3RzL2Zhc3QvdGFibGUvbm9uLXBvc2l0aW9u
ZWQtcm93LW5vLWNvbnRhaW5tZW50LWV4cGVjdGVkLmh0bWw6IEFkZGVkLgoqIExheW91dFRlc3Rz
L2Zhc3QvdGFibGUvbm9uLXBvc2l0aW9uZWQtcm93LW5vLWNvbnRhaW5tZW50Lmh0bWw6IEFkZGVk
LgoqIExheW91dFRlc3RzL2Zhc3QvdGFibGUvcmVsYXRpdmUtcG9zaXRpb24tcm93LWNvbnRhaW5t
ZW50LWV4cGVjdGVkLmh0bWw6IEFkZGVkLgoqIExheW91dFRlc3RzL2Zhc3QvdGFibGUvcmVsYXRp
dmUtcG9zaXRpb24tcm93LWNvbnRhaW5tZW50Lmh0bWw6IEFkZGVkLgoqIExheW91dFRlc3RzL2Zh
c3QvdGFibGUvcmVsYXRpdmUtcG9zaXRpb24tcm93LW11bHRpY2VsbC1leHBlY3RlZC5odG1sOiBB
ZGRlZC4KKiBMYXlvdXRUZXN0cy9mYXN0L3RhYmxlL3JlbGF0aXZlLXBvc2l0aW9uLXJvdy1tdWx0
aWNlbGwuaHRtbDogQWRkZWQuCiogU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3Iu
Y3BwOgooV2ViQ29yZTo6c2hvdWxkRW1pdE5ld2xpbmVzQmVmb3JlQW5kQWZ0ZXJOb2RlKToKICAg
IEd1YXJkIGFnYWluc3QgUmVuZGVyVGFibGVSb3cgbm93IGJlaW5nIGEgUmVuZGVyQmxvY2suCiog
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL091dGxpbmVQYWludGVyLmNwcDoKKFdlYkNvcmU6Ok91
dGxpbmVQYWludGVyOjpjb2xsZWN0Rm9jdXNSaW5nUmVjdHNGb3JCbG9jayk6CiAgICBHdWFyZCBh
Z2FpbnN0IFJlbmRlclRhYmxlUm93IG5vdyBiZWluZyBhIFJlbmRlckJsb2NrLgoqIFNvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9Qb3NpdGlvbmVkTGF5b3V0Q29uc3RyYWludHMuY3BwOgooV2ViQ29y
ZTo6c3RhdGljRGlzdGFuY2UpOgogICAgUmVtb3ZlZCByb3cgc2tpcCAtLSB0aGUgcm93IGlzIGEg
cHJvcGVyIGNvbnRhaW5pbmcgYmxvY2sgbm93LgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCbG9jay5oOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwOgoo
V2ViQ29yZTo6UmVuZGVyQm94Ojpwb3NpdGlvbkZvclBvaW50KToKICAgIFJlbW92ZWQgYWxsIGlz
PFJlbmRlclRhYmxlUm93PiBjaGVja3MgdGhhdCBjb21wZW5zYXRlZCBmb3IKICAgIHNlY3Rpb24t
cmVsYXRpdmUgY2VsbCBwb3NpdGlvbnMuCiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJveE1vZGVsT2JqZWN0LmNwcDoKKFdlYkNvcmU6OlJlbmRlckJveE1vZGVsT2JqZWN0OjphZGp1
c3RlZFBvc2l0aW9uUmVsYXRpdmVUb09mZnNldFBhcmVudCBjb25zdCk6CihXZWJDb3JlOjpSZW5k
ZXJCb3hNb2RlbE9iamVjdDo6Y29tcHV0ZVN0aWNreVBvc2l0aW9uQ29uc3RyYWludHMgY29uc3Qp
OgogICAgU2tpcCB0aGUgcm93IHdoZW4gZmluZGluZyB0aGUgc3RpY2t5IGNvbnN0cmFpbnQgcmVj
dGFuZ2xlLiBBIHN0aWNreQogICAgY2VsbCBzaG91bGQgYmUgY29uc3RyYWluZWQgYnkgaXRzIHNl
Y3Rpb24sIG5vdCB0aGUgaW5kaXZpZHVhbCByb3cKICAgIHdob3NlIGNvbnRlbnQgYm94IGVxdWFs
cyB0aGUgY2VsbCdzIGhlaWdodC4KKiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJh
Z21lbnRlZEZsb3cuY3BwOgooV2ViQ29yZTo6UmVuZGVyRnJhZ21lbnRlZEZsb3c6Om9mZnNldEZy
b21Mb2dpY2FsVG9wT2ZGaXJzdEZyYWdtZW50IGNvbnN0KToKICAgIFVzZSBjb250YWluZXIoKSBp
bnN0ZWFkIG9mIGNvbnRhaW5pbmdCbG9jaygpIHNvIG5vbi1SZW5kZXJCbG9jawogICAgYW5jZXN0
b3JzIGxpa2UgUmVuZGVyVGFibGVTZWN0aW9uIGFyZSBub3Qgc2tpcHBlZC4gUmVtb3ZlcyBhbGwK
ICAgIHRhYmxlLXNwZWNpZmljIGNvZGUgZnJvbSB0aGlzIGZ1bmN0aW9uLgoqIFNvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHA6CihXZWJDb3JlOjpSZW5kZXJMYXllcjo6dXBk
YXRlTGF5ZXJQb3NpdGlvbik6CiAgICBSZW1vdmVkIHJvdyBza2lwIGFuZCByb3cgc3VidHJhY3Rp
b24gLS0gdGhlIHN0YW5kYXJkIGFuY2VzdG9yIHdhbGsKICAgIG5vdyB3b3JrcyBiZWNhdXNlIGNl
bGxzIGFyZSByb3ctcmVsYXRpdmUuCiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRh
YmxlLmNwcDoKKFdlYkNvcmU6OlJlbmRlclRhYmxlOjpwYWludENvbGxhcHNlZEJvcmRlcnNGb3JS
b3cpOgogICAgUGFpbnQgY29sbGFwc2VkIGJvcmRlcnMgZnJvbSB0aGUgcm93J3MgbGF5ZXIgYWZ0
ZXIgY2VsbCBiYWNrZ3JvdW5kcy4KKFdlYkNvcmU6OlJlbmRlclRhYmxlOjpjb21wdXRlUHJlZmVy
cmVkTG9naWNhbFdpZHRocyk6CiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxl
Lmg6CiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5jcHA6CihXZWJD
b3JlOjpSZW5kZXJUYWJsZUNlbGw6Om9mZnNldEZyb21Db250YWluZXIgY29uc3QpOgogICAgU2lt
cGxpZmllZCB0byBqdXN0IGNhbGwgdGhlIGJhc2UgY2xhc3MgLS0gbm8gbW9yZSByb3cgb2Zmc2V0
CiAgICBzdWJ0cmFjdGlvbiBuZWVkZWQuCihXZWJDb3JlOjpSZW5kZXJUYWJsZUNlbGw6OmNvbXB1
dGVWaXNpYmxlUmVjdHNJbkNvbnRhaW5lciBjb25zdCk6CiAgICBSZW1vdmVkIHRoZSBtb3ZlQnko
LXBhcmVudEJveCgpLT5sb2NhdGlvbigpKSBoYWNrIHRoYXQgcHJldmVudGVkCiAgICBkb3VibGUt
Y291bnRpbmcgZHVyaW5nIHJlcGFpbnQuCihXZWJDb3JlOjpSZW5kZXJUYWJsZUNlbGw6OmZyYW1l
UmVjdEZvclN0aWNreVBvc2l0aW9uaW5nIGNvbnN0KTogRGVsZXRlZC4KKiBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxsLmg6CiAgICBSZW1vdmVkIGZyYW1lUmVjdEZvclN0
aWNreVBvc2l0aW9uaW5nIG92ZXJyaWRlIC0tIGNlbGxzIGFyZSBhbHJlYWR5CiAgICByb3ctcmVs
YXRpdmUgc28gbm8gY29udmVyc2lvbiBuZWVkZWQuCiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRhYmxlUm93LmNwcDoKKFdlYkNvcmU6OlJlbmRlclRhYmxlUm93OjpSZW5kZXJUYWJs
ZVJvdyk6CiAgICBSZW5kZXJCb3ggLT4gUmVuZGVyQmxvY2sgYmFzZSBjbGFzcy4KKFdlYkNvcmU6
OlJlbmRlclRhYmxlUm93Ojp3aWxsQmVSZW1vdmVkRnJvbVRyZWUpOgooV2ViQ29yZTo6UmVuZGVy
VGFibGVSb3c6OnN0eWxlRGlkQ2hhbmdlKToKKFdlYkNvcmU6OlJlbmRlclRhYmxlUm93OjpsYXlv
dXQpOgogICAgUHVzaCBsb2NhdGlvbk9mZnNldCgpIGluc3RlYWQgb2YgemVybyBzbyB0aGUgbGF5
b3V0IHN0YXRlIGluY2x1ZGVzCiAgICB0aGUgcm93J3Mgb2Zmc2V0IGZvciBwYWdpbmF0aW9uLiBS
ZW1vdmVkIGNsZWFyTmVlZHNMYXlvdXQoKSAtLSBtb3ZlZAogICAgdG8gbGF5b3V0Um93cygpIHdo
ZXJlIHRoZSByb3cncyBmaW5hbCBkaW1lbnNpb25zIGFyZSBrbm93bi4KKFdlYkNvcmU6OlJlbmRl
clRhYmxlUm93OjpjbGlwcGVkT3ZlcmZsb3dSZWN0IGNvbnN0KToKKFdlYkNvcmU6OlJlbmRlclRh
YmxlUm93Ojpub2RlQXRQb2ludCk6CiAgICBBZGQgbG9jYXRpb24oKSBhbmQgZmxpcCBjZWxscyB3
aXRoaW4gdGhlIHJvdywgbm90IHRoZSBzZWN0aW9uLgooV2ViQ29yZTo6UmVuZGVyVGFibGVSb3c6
OnBhaW50KToKICAgIEFkZCBsb2NhdGlvbigpIHRvIHBhaW50T2Zmc2V0IGZvciBjZWxscy4gVGhl
IGxheWVyIHN5c3RlbSBzdWJ0cmFjdHMKICAgIHRoZSByb3cncyBsb2NhdGlvbiBiZWZvcmUgY2Fs
bGluZyBwYWludCgpLCBzbyB3ZSBhZGQgaXQgYmFjay4gUGFpbnQKICAgIGNvbGxhcHNlZCBib3Jk
ZXJzIGZyb20gdGhlIHJvdydzIGxheWVyLgooV2ViQ29yZTo6UmVuZGVyVGFibGVSb3c6OnJlcXVp
cmVzTGF5ZXIgY29uc3QpOgogICAgQWRkZWQgaXNQb3NpdGlvbmVkKCkgc28gcG9zaXRpb246cmVs
YXRpdmUgcm93cyBnZXQgYSBsYXllci4KKiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGFibGVSb3cuaDoKKFdlYkNvcmU6OlJlbmRlclRhYmxlUm93OjpuZXh0Um93IGNvbnN0KToKKFdl
YkNvcmU6OlJlbmRlclRhYmxlUm93OjpwcmV2aW91c1JvdyBjb25zdCk6CiogU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5jcHA6CihXZWJDb3JlOjpSZW5kZXJUYWJs
ZVNlY3Rpb246OmxheW91dFJvd3MpOgogICAgUmVzdHJ1Y3R1cmVkIHdpdGggYSBsYXlvdXRDZWxs
cyBsYW1iZGEuIFdoZW4gYSByb3cgcmVuZGVyZXIgZXhpc3RzOgogICAgcG9zaXRpb24gdGhlIHJv
dywgcHVzaCBpdHMgb2Zmc2V0IG9udG8gdGhlIGxheW91dCBzdGF0ZSwgbGF5IG91dAogICAgY2Vs
bHMsIHRoZW4gZmluYWxpemUgdGhlIHJvdyAob3ZlcmZsb3csIG91dC1vZi1mbG93IGxheW91dCwK
ICAgIGNsZWFyTmVlZHNMYXlvdXQpLgooV2ViQ29yZTo6UmVuZGVyVGFibGVTZWN0aW9uOjpjb21w
dXRlT3ZlcmZsb3dGcm9tQ2VsbHMpOgogICAgQWRkIG92ZXJmbG93IGZyb20gcm93cyB2aWEgYWRk
T3ZlcmZsb3dGcm9tQ29udGFpbmVkQm94KCpyb3cpLiBSb3dzCiAgICBhbHJlYWR5IGFjY3VtdWxh
dGVkIGNlbGwgb3ZlcmZsb3cgdmlhIGFkZE92ZXJmbG93RnJvbUluRmxvd0NoaWxkcmVuLAogICAg
d2hpY2ggcmVzcGVjdHMgb3ZlcmZsb3c6aGlkZGVuIHRocm91Z2ggbGF5b3V0T3ZlcmZsb3dSZWN0
Rm9yUHJvcGFnYXRpb24uCihXZWJDb3JlOjpSZW5kZXJUYWJsZVNlY3Rpb246OmJhc2VsaW5lRnJv
bUNlbGxDb250ZW50RWRnZXMgY29uc3QpOgogICAgVXNlIG1fcm93UG9zW3Jvd0luZGV4XSBzaW5j
ZSBjZWxsLT5sb2dpY2FsVG9wKCkgaXMgbm93IDAuCihXZWJDb3JlOjpSZW5kZXJUYWJsZVNlY3Rp
b246OnBhaW50Q2VsbCk6CiAgICBUd28tc3RlcCBzZWN0aW9uLT5yb3ctPmNlbGwgY29vcmRpbmF0
ZSBjb252ZXJzaW9uLiBSb3cgYmFja2dyb3VuZAogICAgdXNlcyB0aGUgZmxpcCBvZmZzZXQgd2l0
aG91dCByb3cubG9jYXRpb24oKSBzaW5jZSBiYWNrZ3JvdW5kUmVjdEZvclJvdwogICAgYWxyZWFk
eSBpbmNsdWRlcyB0aGUgcm93J3MgcG9zaXRpb24gZnJvbSBmcmFtZVJlY3QoKS4KKFdlYkNvcmU6
OlJlbmRlclRhYmxlU2VjdGlvbjo6cGFpbnRPYmplY3QpOgogICAgU2FtZSBzZWN0aW9uLT5yb3ct
PmNlbGwgcGF0dGVybiBmb3IgY29sbGFwc2VkIGJvcmRlcnMuCihXZWJDb3JlOjpSZW5kZXJUYWJs
ZVNlY3Rpb246Om5vZGVBdFBvaW50KToKICAgIE92ZXJmbG93IHBhdGg6IGZsaXAgcm93IHdpdGhp
biBzZWN0aW9uIGJlZm9yZSBjYWxsaW5nIHJvdy0+bm9kZUF0UG9pbnQuCiAgICBOb24tb3ZlcmZs
b3cgcGF0aDogc2VjdGlvbi0+cm93LT5jZWxsIGZsaXAgd2l0aCArIHJvdy5sb2NhdGlvbigpLgoo
V2ViQ29yZTo6UmVuZGVyVGFibGVTZWN0aW9uOjpzZXRMb2dpY2FsUG9zaXRpb25Gb3JDZWxsIGNv
bnN0KToKICAgIENlbGwgWSA9IDAgaW5zdGVhZCBvZiBtX3Jvd1Bvc1tyb3dJbmRleF0uIFRoZSBj
b3JlIGNoYW5nZS4KKiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5j
cHA6CihXZWJDb3JlOjpSZW5kZXJUcmVlQXNUZXh0Ojp3cml0ZVJlbmRlck9iamVjdCk6CiAgICBU
ZW1wb3JhcmlseSBkdW1wIGNlbGwgcG9zaXRpb25zIGFzIHNlY3Rpb24tcmVsYXRpdmUgdG8gYXZv
aWQKICAgIHJlYmFzZWxpbmluZyBldmVyeSB0YWJsZSByZW5kZXIgdHJlZSBkdW1wIHRlc3QuCiog
U291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVBZGp1c3Rlci5jcHA6CihXZWJDb3JlOjpTdHlsZTo6
QWRqdXN0ZXI6OmFkanVzdCBjb25zdCk6CiAgICBBbGxvdyBwb3NpdGlvbjpyZWxhdGl2ZSBvbiB0
YWJsZSByb3dzLiBSZXNldCBvdmVyZmxvdyB0byBpbml0aWFsCiAgICB2YWx1ZSBvbiByb3dzIHBl
ciBDU1MyIHNlY3Rpb24gMTEuMS4xLgoKQ28tQXV0aG9yZWQtQnk6IENsYXVkZSBPcHVzIDQuNiAo
MU0gY29udGV4dCkgPG5vcmVwbHlAYW50aHJvcGljLmNvbT4KLS0tCiBTb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL1RleHRJdGVyYXRvci5jcHAgICAgICAgfCAgIDUgKwogU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL091dGxpbmVQYWludGVyLmNwcCAgIHwgICA1ICsKIC4uLi9yZW5kZXJpbmcvUG9zaXRp
b25lZExheW91dENvbnN0cmFpbnRzLmNwcCB8ICAgMyArLQogU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJsb2NrLmggICAgICAgIHwgICAzICstCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQm94LmNwcCAgICAgICAgfCAgMTEgKy0KIC4uLi9yZW5kZXJpbmcvUmVuZGVyQm94
TW9kZWxPYmplY3QuY3BwICAgICAgICB8ICAgNyArLQogLi4uL3JlbmRlcmluZy9SZW5kZXJGcmFn
bWVudGVkRmxvdy5jcHAgICAgICAgIHwgIDQ1ICsrKy0tCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXIuY3BwICAgICAgfCAgMTIgKy0KIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUYWJsZS5jcHAgICAgICB8ICAzMCArKysKIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUYWJsZS5oICAgICAgICB8ICAgMiArCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGFibGVDZWxsLmNwcCAgfCAgMjAgKy0KIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJUYWJsZUNlbGwuaCAgICB8ICAgMiAtCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGFibGVSb3cuY3BwICAgfCAgNDIgKystLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRhYmxlUm93LmggICAgIHwgICA3ICstCiAuLi4vV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGFibGVTZWN0aW9uLmNwcCAgfCAxODMgKysrKysrKysrKy0tLS0tLS0tCiBTb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5jcHAgfCAgIDQgKy0KIFNvdXJjZS9XZWJDb3Jl
L3N0eWxlL1N0eWxlQWRqdXN0ZXIuY3BwICAgICAgICB8ICAxMyArLQogTGF5b3V0VGVzdHMvVGVz
dEV4cGVjdGF0aW9ucyAgICAgICAgICAgICAgICAgIHwgICAxICsKIC4uLm9zaXRpb25lZC1yb3ct
bm8tY29udGFpbm1lbnQtZXhwZWN0ZWQuaHRtbCB8ICAxNCArKwogLi4uL25vbi1wb3NpdGlvbmVk
LXJvdy1uby1jb250YWlubWVudC5odG1sICAgIHwgIDMzICsrKysKIC4uLml2ZS1wb3NpdGlvbi1y
b3ctY29udGFpbm1lbnQtZXhwZWN0ZWQuaHRtbCB8ICAxNSArKwogLi4uL3JlbGF0aXZlLXBvc2l0
aW9uLXJvdy1jb250YWlubWVudC5odG1sICAgIHwgIDMyICsrKwogLi4uYXRpdmUtcG9zaXRpb24t
cm93LW11bHRpY2VsbC1leHBlY3RlZC5odG1sIHwgIDE0ICsrCiAuLi4vcmVsYXRpdmUtcG9zaXRp
b24tcm93LW11bHRpY2VsbC5odG1sICAgICAgfCAgMzMgKysrKwogMjQgZmlsZXMgY2hhbmdlZCwg
MzYyIGluc2VydGlvbnMoKyksIDE3NCBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBM
YXlvdXRUZXN0cy9mYXN0L3RhYmxlL25vbi1wb3NpdGlvbmVkLXJvdy1uby1jb250YWlubWVudC1l
eHBlY3RlZC5odG1sCiBjcmVhdGUgbW9kZSAxMDA2NDQgTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9u
b24tcG9zaXRpb25lZC1yb3ctbm8tY29udGFpbm1lbnQuaHRtbAogY3JlYXRlIG1vZGUgMTAwNjQ0
IExheW91dFRlc3RzL2Zhc3QvdGFibGUvcmVsYXRpdmUtcG9zaXRpb24tcm93LWNvbnRhaW5tZW50
LWV4cGVjdGVkLmh0bWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L3RhYmxl
L3JlbGF0aXZlLXBvc2l0aW9uLXJvdy1jb250YWlubWVudC5odG1sCiBjcmVhdGUgbW9kZSAxMDA2
NDQgTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9yZWxhdGl2ZS1wb3NpdGlvbi1yb3ctbXVsdGljZWxs
LWV4cGVjdGVkLmh0bWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCBMYXlvdXRUZXN0cy9mYXN0L3RhYmxl
L3JlbGF0aXZlLXBvc2l0aW9uLXJvdy1tdWx0aWNlbGwuaHRtbAoKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRp
bmcvVGV4dEl0ZXJhdG9yLmNwcAppbmRleCA4NDJkMGY4YzBlNjYuLmQ0N2ZiZDBlODNjMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0SXRlcmF0b3IuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dEl0ZXJhdG9yLmNwcApAQCAtOTQwLDYgKzk0MCwxMSBA
QCBib29sIHNob3VsZEVtaXROZXdsaW5lc0JlZm9yZUFuZEFmdGVyTm9kZShOb2RlJiBub2RlKQog
ICAgIGlmIChzaG91bGRFbWl0UmVwbGFjZW1lbnRJbnN0ZWFkT2ZOb2RlKG5vZGUpKQogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAKKyAgICAvLyBUYWJsZSByb3dzIGFyZSBSZW5kZXJCbG9ja3MgYnV0
IGhhdmUgdGhlaXIgb3duIG5ld2xpbmUgbG9naWMgYWJvdmUKKyAgICAvLyB0aGF0IGFjY291bnRz
IGZvciBpbmxpbmUgdGFibGVzLgorICAgIGlmIChpczxSZW5kZXJUYWJsZVJvdz4oKnJlbmRlcmVy
KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgcmV0dXJuICFyZW5kZXJlci0+aXNJbmxp
bmUoKQogICAgICAgICAmJiBpczxSZW5kZXJCbG9jaz4oKnJlbmRlcmVyKQogICAgICAgICAmJiAh
cmVuZGVyZXItPmlzRmxvYXRpbmdPck91dE9mRmxvd1Bvc2l0aW9uZWQoKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL091dGxpbmVQYWludGVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9PdXRsaW5lUGFpbnRlci5jcHAKaW5kZXggZjMxOTAwZTFhNDE2Li4yZjM3
ODE0OTcyZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9PdXRsaW5lUGFp
bnRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL091dGxpbmVQYWludGVyLmNw
cApAQCAtNDE5LDYgKzQxOSwxMSBAQCBib29sIE91dGxpbmVQYWludGVyOjpjb2xsZWN0Rm9jdXNS
aW5nUmVjdHNGb3JCbG9jayhjb25zdCBSZW5kZXJCbG9jayYgcmVuZGVyZXIsCiAgICAgaWYgKHJl
bmRlcmVyLndpZHRoKCkgJiYgcmVuZGVyZXIuaGVpZ2h0KCkpCiAgICAgICAgIHJlY3RzLmFwcGVu
ZChMYXlvdXRSZWN0KGFkZGl0aW9uYWxPZmZzZXQsIHJlbmRlcmVyLnNpemUoKSkpOwogCisgICAg
Ly8gVGFibGUgcm93cyBzaGFyZSBjb29yZGluYXRlIHNwYWNlIHdpdGggY2VsbHM7IGRvbid0IHJl
Y3Vyc2UgaW50byBjZWxscworICAgIC8vIGFzIHRoZWlyIGJvdW5kcyBtYXkgZXh0ZW5kIGJleW9u
ZCB0aGUgcm93IChlLmcuIHJvd3NwYW4pLgorICAgIGlmIChyZW5kZXJlci5pc1JlbmRlclRhYmxl
Um93KCkpCisgICAgICAgIHJldHVybiB0cnVlOworCiAgICAgaWYgKCFyZW5kZXJlci5oYXNOb25W
aXNpYmxlT3ZlcmZsb3coKSAmJiAhcmVuZGVyZXIuaGFzQ29udHJvbENsaXAoKSkgewogICAgICAg
ICBpZiAocmVuZGVyZXIuY2hpbGRyZW5JbmxpbmUoKSAmJiBpczxSZW5kZXJCbG9ja0Zsb3c+KHJl
bmRlcmVyKSkKICAgICAgICAgICAgIGNvbGxlY3RGb2N1c1JpbmdSZWN0c0ZvcklubGluZUNoaWxk
cmVuKGRvd25jYXN0PFJlbmRlckJsb2NrRmxvdz4ocmVuZGVyZXIpLCByZWN0cywgYWRkaXRpb25h
bE9mZnNldCwgcGFpbnRDb250YWluZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1Bvc2l0aW9uZWRMYXlvdXRDb25zdHJhaW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUG9zaXRpb25lZExheW91dENvbnN0cmFpbnRzLmNwcAppbmRleCBmNjFhZDg4YzIx
ZDguLmMwYzZhNTNiN2EwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Bv
c2l0aW9uZWRMYXlvdXRDb25zdHJhaW50cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1Bvc2l0aW9uZWRMYXlvdXRDb25zdHJhaW50cy5jcHAKQEAgLTM0LDcgKzM0LDYgQEAKICNp
bmNsdWRlICJSZW5kZXJJbmxpbmUuaCIKICNpbmNsdWRlICJSZW5kZXJMYXllci5oIgogI2luY2x1
ZGUgIlJlbmRlclN0eWxlLmgiCi0jaW5jbHVkZSAiUmVuZGVyVGFibGVSb3cuaCIKICNpbmNsdWRl
ICJSZW5kZXJWaWV3LmgiCiAjaW5jbHVkZSAiU3R5bGVQb3NpdGlvbkFyZWEuaCIKIApAQCAtNjU2
LDcgKzY1NSw3IEBAIHN0YXRpYyBMYXlvdXRQb2ludCBzdGF0aWNEaXN0YW5jZShjb25zdCBSZW5k
ZXJCb3hNb2RlbE9iamVjdCYgY29udGFpbmVyLCBjb25zdCBSCiAgICAgYXV0byBoYXNTZWVuTm9u
SW5saW5lQm94Q29udGFpbmVyID0gZmFsc2U7CiAgICAgZm9yIChhdXRvKiBhbmNlc3RvckNvbnRh
aW5lciA9IGNoaWxkLT5wYXJlbnQoKTsgYW5jZXN0b3JDb250YWluZXIgJiYgYW5jZXN0b3JDb250
YWluZXIgIT0gJmNvbnRhaW5lcjsgYW5jZXN0b3JDb250YWluZXIgPSBhbmNlc3RvckNvbnRhaW5l
ci0+Y29udGFpbmVyKCkpIHsKICAgICAgICAgQ2hlY2tlZFB0ciBjb250YWluZXJCb3ggPSBkeW5h
bWljRG93bmNhc3Q8UmVuZGVyQm94PigqYW5jZXN0b3JDb250YWluZXIpOwotICAgICAgICBpZiAo
IWNvbnRhaW5lckJveCB8fCBpczxSZW5kZXJUYWJsZVJvdz4oKmNvbnRhaW5lckJveCkpCisgICAg
ICAgIGlmICghY29udGFpbmVyQm94KQogICAgICAgICAgICAgY29udGludWU7CiAKICAgICAgICAg
c3RhdGljUG9zaXRpb24gPSBjaGlsZCA9PSAmb3V0T2ZGbG93Qm94ID8gaW5pdGlhbFN0YXRpY1Bv
c2l0aW9uKCkgOiBwb3NpdGlvbkluQ29udGFpbmVyKCpjb250YWluZXJCb3gsICpjaGlsZCwgc3Rh
dGljUG9zaXRpb24pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJsb2NrLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suaAppbmRleCA4
ZDFlZDNkNWQ1NzcuLjlmZTQ1MDRhMzhiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJsb2NrLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJsb2NrLmgKQEAgLTI1NSwxMyArMjU1LDE0IEBAIHB1YmxpYzoKIAogICAgIFBhaW50SW5mbyBw
YWludEluZm9Gb3JCbG9ja0NoaWxkcmVuKGNvbnN0IFBhaW50SW5mbyYpIGNvbnN0OwogCisgICAg
dm9pZCBsYXlvdXRPdXRPZkZsb3dCb3hlcyhSZWxheW91dENoaWxkcmVuLCBib29sIGZpeGVkUG9z
aXRpb25PYmplY3RzT25seSA9IGZhbHNlKTsKKwogcHJvdGVjdGVkOgogICAgIFJlbmRlckZyYWdt
ZW50ZWRGbG93KiBsb2NhdGVFbmNsb3NpbmdGcmFnbWVudGVkRmxvdygpIGNvbnN0IG92ZXJyaWRl
OwogICAgIGJvb2wgZXN0YWJsaXNoZXNJbmRlcGVuZGVudEZvcm1hdHRpbmdDb250ZXh0SWdub3Jp
bmdEaXNwbGF5VHlwZShjb25zdCBSZW5kZXJTdHlsZSYpIGNvbnN0OwogCiAgICAgdm9pZCBsYXlv
dXQoKSBvdmVycmlkZTsKIAotICAgIHZvaWQgbGF5b3V0T3V0T2ZGbG93Qm94ZXMoUmVsYXlvdXRD
aGlsZHJlbiwgYm9vbCBmaXhlZFBvc2l0aW9uT2JqZWN0c09ubHkgPSBmYWxzZSk7CiAgICAgdmly
dHVhbCB2b2lkIGxheW91dE91dE9mRmxvd0JveChSZW5kZXJCb3gmLCBSZWxheW91dENoaWxkcmVu
LCBib29sIGZpeGVkUG9zaXRpb25PYmplY3RzT25seSk7CiAgICAgCiAgICAgdm9pZCBtYXJrRml4
ZWRQb3NpdGlvbkJveEZvckxheW91dElmTmVlZGVkKFJlbmRlckJveCYgY2hpbGQpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAppbmRleCA5YWEyZTgwNTQ4NzYuLjliYjgxNzEw
YzkwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKQEAgLTQ0MzEsOSAr
NDQzMSw2IEBAIFBvc2l0aW9uV2l0aEFmZmluaXR5IFJlbmRlckJveDo6cG9zaXRpb25Gb3JQb2lu
dChjb25zdCBMYXlvdXRQb2ludCYgcG9pbnQsIEhpdFRlCiAgICAgLy8gUGFzcyBvZmYgdG8gdGhl
IGNsb3Nlc3QgY2hpbGQuCiAgICAgTGF5b3V0VW5pdCBtaW5EaXN0ID0gTGF5b3V0VW5pdDo6bWF4
KCk7CiAgICAgUmVuZGVyQm94KiBjbG9zZXN0UmVuZGVyZXIgPSBudWxscHRyOwotICAgIExheW91
dFBvaW50IGFkanVzdGVkUG9pbnQgPSBwb2ludDsKLSAgICBpZiAoaXNSZW5kZXJUYWJsZVJvdygp
KQotICAgICAgICBhZGp1c3RlZFBvaW50Lm1vdmVCeShsb2NhdGlvbigpKTsKIAogICAgIGZvciAo
YXV0byYgcmVuZGVyZXIgOiBjaGlsZHJlbk9mVHlwZTxSZW5kZXJCb3g+KCp0aGlzKSkgewogICAg
ICAgICBpZiAoQ2hlY2tlZFB0ciBmcmFnbWVudGVkRmxvdyA9IGR5bmFtaWNEb3duY2FzdDxSZW5k
ZXJGcmFnbWVudGVkRmxvdz4oKnRoaXMpKSB7CkBAIC00NDQ2LDE0ICs0NDQzLDEyIEBAIFBvc2l0
aW9uV2l0aEFmZmluaXR5IFJlbmRlckJveDo6cG9zaXRpb25Gb3JQb2ludChjb25zdCBMYXlvdXRQ
b2ludCYgcG9pbnQsIEhpdFRlCiAgICAgICAgICAgICB8fCAoc291cmNlID09IEhpdFRlc3RTb3Vy
Y2U6OlNjcmlwdCA/IHJlbmRlcmVyLnN0eWxlKCkudmlzaWJpbGl0eSgpIDogcmVuZGVyZXIuc3R5
bGUoKS51c2VkVmlzaWJpbGl0eSgpKSAhPSBWaXNpYmlsaXR5OjpWaXNpYmxlKQogICAgICAgICAg
ICAgY29udGludWU7CiAKLSAgICAgICAgTGF5b3V0VW5pdCB0b3AgPSByZW5kZXJlci5ib3JkZXJU
b3AoKSArIHJlbmRlcmVyLnBhZGRpbmdUb3AoKSArIChpczxSZW5kZXJUYWJsZVJvdz4oKnRoaXMp
ID8gMF9sdSA6IHJlbmRlcmVyLnkoKSk7CisgICAgICAgIExheW91dFVuaXQgdG9wID0gcmVuZGVy
ZXIuYm9yZGVyVG9wKCkgKyByZW5kZXJlci5wYWRkaW5nVG9wKCkgKyByZW5kZXJlci55KCk7CiAg
ICAgICAgIExheW91dFVuaXQgYm90dG9tID0gdG9wICsgcmVuZGVyZXIuY29udGVudEJveEhlaWdo
dCgpOwotICAgICAgICBMYXlvdXRVbml0IGxlZnQgPSByZW5kZXJlci5ib3JkZXJMZWZ0KCkgKyBy
ZW5kZXJlci5wYWRkaW5nTGVmdCgpICsgKGlzPFJlbmRlclRhYmxlUm93PigqdGhpcykgPyAwX2x1
IDogcmVuZGVyZXIueCgpKTsKKyAgICAgICAgTGF5b3V0VW5pdCBsZWZ0ID0gcmVuZGVyZXIuYm9y
ZGVyTGVmdCgpICsgcmVuZGVyZXIucGFkZGluZ0xlZnQoKSArIHJlbmRlcmVyLngoKTsKICAgICAg
ICAgTGF5b3V0VW5pdCByaWdodCA9IGxlZnQgKyByZW5kZXJlci5jb250ZW50Qm94V2lkdGgoKTsK
ICAgICAgICAgCiAgICAgICAgIGlmIChwb2ludC54KCkgPD0gcmlnaHQgJiYgcG9pbnQueCgpID49
IGxlZnQgJiYgcG9pbnQueSgpID49IHRvcCAmJiBwb2ludC55KCkgPD0gYm90dG9tKSB7Ci0gICAg
ICAgICAgICBpZiAoaXM8UmVuZGVyVGFibGVSb3c+KHJlbmRlcmVyKSkKLSAgICAgICAgICAgICAg
ICByZXR1cm4gcmVuZGVyZXIucG9zaXRpb25Gb3JQb2ludChwb2ludCArIGFkanVzdGVkUG9pbnQg
LSByZW5kZXJlci5sb2NhdGlvbk9mZnNldCgpLCBzb3VyY2UsIGZyYWdtZW50KTsKICAgICAgICAg
ICAgIHJldHVybiByZW5kZXJlci5wb3NpdGlvbkZvclBvaW50KHBvaW50IC0gcmVuZGVyZXIubG9j
YXRpb25PZmZzZXQoKSwgc291cmNlLCBmcmFnbWVudCk7CiAgICAgICAgIH0KIApAQCAtNDQ5MSw3
ICs0NDg2LDcgQEAgUG9zaXRpb25XaXRoQWZmaW5pdHkgUmVuZGVyQm94Ojpwb3NpdGlvbkZvclBv
aW50KGNvbnN0IExheW91dFBvaW50JiBwb2ludCwgSGl0VGUKICAgICB9CiAgICAgCiAgICAgaWYg
KGNsb3Nlc3RSZW5kZXJlcikKLSAgICAgICAgcmV0dXJuIGNsb3Nlc3RSZW5kZXJlci0+cG9zaXRp
b25Gb3JQb2ludChhZGp1c3RlZFBvaW50IC0gY2xvc2VzdFJlbmRlcmVyLT5sb2NhdGlvbk9mZnNl
dCgpLCBzb3VyY2UsIGZyYWdtZW50KTsKKyAgICAgICAgcmV0dXJuIGNsb3Nlc3RSZW5kZXJlci0+
cG9zaXRpb25Gb3JQb2ludChwb2ludCAtIGNsb3Nlc3RSZW5kZXJlci0+bG9jYXRpb25PZmZzZXQo
KSwgc291cmNlLCBmcmFnbWVudCk7CiAgICAgCiAgICAgcmV0dXJuIGNyZWF0ZVBvc2l0aW9uV2l0
aEFmZmluaXR5KGZpcnN0UG9zaXRpb25Jbk9yQmVmb3JlTm9kZShub25Qc2V1ZG9FbGVtZW50KCkp
KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2Rl
bE9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmpl
Y3QuY3BwCmluZGV4IGE5ZTAzN2ExNjg2My4uMzBlNWZkYzhiNDIzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKQEAgLTU5LDcgKzU5
LDYgQEAKICNpbmNsdWRlICJSZW5kZXJNdWx0aUNvbHVtbkZsb3cuaCIKICNpbmNsdWRlICJSZW5k
ZXJPYmplY3RJbmxpbmVzLmgiCiAjaW5jbHVkZSAiUmVuZGVyVGFibGUuaCIKLSNpbmNsdWRlICJS
ZW5kZXJUYWJsZVJvdy5oIgogI2luY2x1ZGUgIlJlbmRlclRleHQuaCIKICNpbmNsdWRlICJSZW5k
ZXJUZXh0RnJhZ21lbnQuaCIKICNpbmNsdWRlICJSZW5kZXJUcmVlQnVpbGRlci5oIgpAQCAtNDM4
LDcgKzQzNyw3IEBAIExheW91dFBvaW50IFJlbmRlckJveE1vZGVsT2JqZWN0OjphZGp1c3RlZFBv
c2l0aW9uUmVsYXRpdmVUb09mZnNldFBhcmVudChjb25zdCBMCiAgICAgICAgICAgICAgICAgICAg
IGlmIChhdXRvKiBmcmFnbWVudCA9IHJlbmRlck11bHRpQ29sdW1uRmxvdy0+cGh5c2ljYWxUcmFu
c2xhdGlvbkZyb21GbG93VG9GcmFnbWVudChyZWZlcmVuY2VQb2ludCkpCiAgICAgICAgICAgICAg
ICAgICAgICAgICByZWZlcmVuY2VQb2ludC5tb3ZlQnkoZnJhZ21lbnQtPnRvcExlZnRMb2NhdGlv
bigpKTsKICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCFpc091dE9mRmxvd1Bvc2l0aW9uZWQo
KSkgewotICAgICAgICAgICAgICAgICAgICBpZiAoYXV0byogcmVuZGVyQm94ID0gZHluYW1pY0Rv
d25jYXN0PFJlbmRlckJveD4oKmFuY2VzdG9yKTsgcmVuZGVyQm94ICYmICFpczxSZW5kZXJUYWJs
ZVJvdz4oKmFuY2VzdG9yKSkKKyAgICAgICAgICAgICAgICAgICAgaWYgKGF1dG8qIHJlbmRlckJv
eCA9IGR5bmFtaWNEb3duY2FzdDxSZW5kZXJCb3g+KCphbmNlc3RvcikpCiAgICAgICAgICAgICAg
ICAgICAgICAgICByZWZlcmVuY2VQb2ludC5tb3ZlQnkocmVuZGVyQm94LT50b3BMZWZ0TG9jYXRp
b24oKSk7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIApAQCAtNDY4LDggKzQ2
NywxMCBAQCB2b2lkIFJlbmRlckJveE1vZGVsT2JqZWN0Ojpjb21wdXRlU3RpY2t5UG9zaXRpb25D
b25zdHJhaW50cyhTdGlja3lQb3NpdGlvblZpZXdwbwogICAgIC8vIERvIG5vdCB1c2UgYW5vbnlt
b3VzIGNvbnRhaW5pbmcgYmxvY2tzIHRvIGRldGVybWluZSBzdGlja3kgY29uc3RyYWludHMuIFdl
IHdhbnQgdGhlIHNpemUKICAgICAvLyBvZiB0aGUgZmlyc3QgdHJ1ZSBjb250YWluaW5nIGJsb2Nr
LCBiZWNhdXNlIHRoYXQgaXMgd2hhdCBpbXBvc2VzIHRoZSBsaW1pdGF0aW9uIG9uIHRoZQogICAg
IC8vIG1vdmVtZW50IG9mIHN0aWNraWx5IHBvc2l0aW9uZWQgaXRlbXMuCisgICAgLy8gVGFibGUg
cm93cyBhcmUgYWxzbyBza2lwcGVkIGJlY2F1c2UgYSBzdGlja3kgY2VsbCBzaG91bGQgYmUgY29u
c3RyYWluZWQgYnkgaXRzIHNlY3Rpb24KKyAgICAvLyAodGhlYWQvdGJvZHkvdGZvb3QpLCBub3Qg
YnkgdGhlIGluZGl2aWR1YWwgcm93IHdob3NlIGNvbnRlbnQgYm94IGlzIHRoZSBzYW1lIGhlaWdo
dCBhcyB0aGUgY2VsbC4KICAgICBSZW5kZXJCbG9jayogY29udGFpbmluZ0Jsb2NrID0gdGhpcy0+
Y29udGFpbmluZ0Jsb2NrKCk7Ci0gICAgd2hpbGUgKGNvbnRhaW5pbmdCbG9jayAmJiAoIWlzPFJl
bmRlckJsb2NrPigqY29udGFpbmluZ0Jsb2NrKSB8fCBjb250YWluaW5nQmxvY2stPmlzQW5vbnlt
b3VzQmxvY2soKSkpCisgICAgd2hpbGUgKGNvbnRhaW5pbmdCbG9jayAmJiAoIWlzPFJlbmRlckJs
b2NrPigqY29udGFpbmluZ0Jsb2NrKSB8fCBjb250YWluaW5nQmxvY2stPmlzQW5vbnltb3VzQmxv
Y2soKSB8fCBjb250YWluaW5nQmxvY2stPmlzUmVuZGVyVGFibGVSb3coKSkpCiAgICAgICAgIGNv
bnRhaW5pbmdCbG9jayA9IGNvbnRhaW5pbmdCbG9jay0+Y29udGFpbmluZ0Jsb2NrKCk7CiAgICAg
QVNTRVJUKGNvbnRhaW5pbmdCbG9jayk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJGcmFnbWVudGVkRmxvdy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyRnJhZ21lbnRlZEZsb3cuY3BwCmluZGV4IDNjZmI2NDBhNzBjMS4uYTRmYjJiZmVj
NDhhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRl
ZEZsb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFnbWVudGVk
Rmxvdy5jcHAKQEAgLTQzLDggKzQzLDYgQEAKICNpbmNsdWRlICJSZW5kZXJMYXlvdXRTdGF0ZS5o
IgogI2luY2x1ZGUgIlJlbmRlck9iamVjdElubGluZXMuaCIKICNpbmNsdWRlICJSZW5kZXJTdHls
ZStHZXR0ZXJzSW5saW5lcy5oIgotI2luY2x1ZGUgIlJlbmRlclRhYmxlQ2VsbC5oIgotI2luY2x1
ZGUgIlJlbmRlclRhYmxlU2VjdGlvbi5oIgogI2luY2x1ZGUgIlJlbmRlclRoZW1lLmgiCiAjaW5j
bHVkZSAiUmVuZGVyVmlldy5oIgogI2luY2x1ZGUgIlRyYW5zZm9ybVN0YXRlLmgiCkBAIC03ODAs
MzQgKzc3OCwzOSBAQCBMYXlvdXRSZWN0IFJlbmRlckZyYWdtZW50ZWRGbG93OjpmcmFnbWVudHNC
b3VuZGluZ0JveChjb25zdCBMYXlvdXRSZWN0JiBsYXllckJvdQogTGF5b3V0VW5pdCBSZW5kZXJG
cmFnbWVudGVkRmxvdzo6b2Zmc2V0RnJvbUxvZ2ljYWxUb3BPZkZpcnN0RnJhZ21lbnQoY29uc3Qg
UmVuZGVyQmxvY2sqIGN1cnJlbnRCbG9jaykgY29uc3QKIHsKICAgICAvLyBBcyBhIGxhc3QgcmVz
b3J0LCB0YWtlIHRoZSBzbG93IHBhdGguCi0gICAgTGF5b3V0UmVjdCBibG9ja1JlY3QoMF9sdSwg
MF9sdSwgY3VycmVudEJsb2NrLT53aWR0aCgpLCBjdXJyZW50QmxvY2stPmhlaWdodCgpKTsKLSAg
ICB3aGlsZSAoY3VycmVudEJsb2NrICYmICFpczxSZW5kZXJWaWV3PigqY3VycmVudEJsb2NrKSAm
JiAhY3VycmVudEJsb2NrLT5pc1JlbmRlckZyYWdtZW50ZWRGbG93KCkpIHsKLSAgICAgICAgUmVu
ZGVyQmxvY2sqIGNvbnRhaW5lckJsb2NrID0gY3VycmVudEJsb2NrLT5jb250YWluaW5nQmxvY2so
KTsKLSAgICAgICAgQVNTRVJUKGNvbnRhaW5lckJsb2NrKTsKLSAgICAgICAgaWYgKCFjb250YWlu
ZXJCbG9jaykKKyAgICAvLyBVc2UgY29udGFpbmVyKCkgcmF0aGVyIHRoYW4gY29udGFpbmluZ0Js
b2NrKCkgc2luY2UgY29udGFpbmluZ0Jsb2NrKCkKKyAgICAvLyBza2lwcyBub24tUmVuZGVyQmxv
Y2sgYW5jZXN0b3JzIGxpa2UgUmVuZGVyVGFibGVTZWN0aW9uLgorICAgIENoZWNrZWRQdHI8Y29u
c3QgUmVuZGVyQm94PiBjdXJyZW50Qm94ID0gY3VycmVudEJsb2NrOworICAgIExheW91dFJlY3Qg
YmxvY2tSZWN0KDBfbHUsIDBfbHUsIGN1cnJlbnRCb3gtPndpZHRoKCksIGN1cnJlbnRCb3gtPmhl
aWdodCgpKTsKKyAgICBhdXRvIG5leHRCb3hDb250YWluZXIgPSBbXShjb25zdCBSZW5kZXJFbGVt
ZW50JiByZW5kZXJlcikgLT4gY29uc3QgUmVuZGVyRWxlbWVudCogeworICAgICAgICBhdXRvKiBj
b250YWluZXIgPSByZW5kZXJlci5jb250YWluZXIoKTsKKyAgICAgICAgLy8gU2tpcCBub24tYm94
IGFuY2VzdG9ycyBsaWtlIFJlbmRlcklubGluZSB0aGF0IGRvbid0IGNvbnRyaWJ1dGUgb2Zmc2V0
cy4KKyAgICAgICAgd2hpbGUgKGNvbnRhaW5lciAmJiAhaXM8UmVuZGVyQm94PigqY29udGFpbmVy
KSkKKyAgICAgICAgICAgIGNvbnRhaW5lciA9IGNvbnRhaW5lci0+Y29udGFpbmVyKCk7CisgICAg
ICAgIHJldHVybiBjb250YWluZXI7CisgICAgfTsKKyAgICB3aGlsZSAoY3VycmVudEJveCAmJiAh
aXM8UmVuZGVyVmlldz4oKmN1cnJlbnRCb3gpICYmICFjdXJyZW50Qm94LT5pc1JlbmRlckZyYWdt
ZW50ZWRGbG93KCkpIHsKKyAgICAgICAgQ2hlY2tlZFB0ciBjb250YWluZXJCb3ggPSBkeW5hbWlj
RG93bmNhc3Q8UmVuZGVyQm94PihuZXh0Qm94Q29udGFpbmVyKCpjdXJyZW50Qm94KSk7CisgICAg
ICAgIGlmICghY29udGFpbmVyQm94KQogICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAgIExh
eW91dFBvaW50IGN1cnJlbnRCbG9ja0xvY2F0aW9uID0gY3VycmVudEJsb2NrLT5sb2NhdGlvbigp
OwotICAgICAgICBpZiAoYXV0byogY2VsbCA9IGR5bmFtaWNEb3duY2FzdDxSZW5kZXJUYWJsZUNl
bGw+KCpjdXJyZW50QmxvY2spKSB7Ci0gICAgICAgICAgICBpZiAoYXV0byogc2VjdGlvbiA9IGNl
bGwtPnNlY3Rpb24oKSkKLSAgICAgICAgICAgICAgICBjdXJyZW50QmxvY2tMb2NhdGlvbi5tb3Zl
Qnkoc2VjdGlvbi0+bG9jYXRpb24oKSk7Ci0gICAgICAgIH0KKyAgICAgICAgYXV0byBjdXJyZW50
Qm94TG9jYXRpb24gPSBjdXJyZW50Qm94LT5sb2NhdGlvbigpOwogCi0gICAgICAgIGlmIChjb250
YWluZXJCbG9jay0+d3JpdGluZ01vZGUoKS5ibG9ja0RpcmVjdGlvbigpICE9IGN1cnJlbnRCbG9j
ay0+d3JpdGluZ01vZGUoKS5ibG9ja0RpcmVjdGlvbigpKSB7CisgICAgICAgIGlmIChjb250YWlu
ZXJCb3gtPndyaXRpbmdNb2RlKCkuYmxvY2tEaXJlY3Rpb24oKSAhPSBjdXJyZW50Qm94LT53cml0
aW5nTW9kZSgpLmJsb2NrRGlyZWN0aW9uKCkpIHsKICAgICAgICAgICAgIC8vIFdlIGhhdmUgdG8g
cHV0IHRoZSBibG9jayByZWN0IGluIGNvbnRhaW5lciBjb29yZGluYXRlcwogICAgICAgICAgICAg
Ly8gYW5kIHdlIGhhdmUgdG8gdGFrZSBpbnRvIGFjY291bnQgYm90aCB0aGUgY29udGFpbmVyIGFu
ZCBjdXJyZW50IGJsb2NrIGZsaXBwaW5nIG1vZGVzCi0gICAgICAgICAgICBpZiAoY29udGFpbmVy
QmxvY2stPndyaXRpbmdNb2RlKCkuaXNCbG9ja0ZsaXBwZWQoKSkgewotICAgICAgICAgICAgICAg
IGlmIChjb250YWluZXJCbG9jay0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSkKLSAgICAgICAg
ICAgICAgICAgICAgYmxvY2tSZWN0LnNldFkoY3VycmVudEJsb2NrLT5oZWlnaHQoKSAtIGJsb2Nr
UmVjdC5tYXhZKCkpOworICAgICAgICAgICAgaWYgKGNvbnRhaW5lckJveC0+d3JpdGluZ01vZGUo
KS5pc0Jsb2NrRmxpcHBlZCgpKSB7CisgICAgICAgICAgICAgICAgaWYgKGNvbnRhaW5lckJveC0+
aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSkKKyAgICAgICAgICAgICAgICAgICAgYmxvY2tSZWN0
LnNldFkoY3VycmVudEJveC0+aGVpZ2h0KCkgLSBibG9ja1JlY3QubWF4WSgpKTsKICAgICAgICAg
ICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgIGJsb2NrUmVjdC5zZXRYKGN1cnJlbnRC
bG9jay0+d2lkdGgoKSAtIGJsb2NrUmVjdC5tYXhYKCkpOworICAgICAgICAgICAgICAgICAgICBi
bG9ja1JlY3Quc2V0WChjdXJyZW50Qm94LT53aWR0aCgpIC0gYmxvY2tSZWN0Lm1heFgoKSk7CiAg
ICAgICAgICAgICB9Ci0gICAgICAgICAgICBjdXJyZW50QmxvY2stPmZsaXBGb3JXcml0aW5nTW9k
ZShibG9ja1JlY3QpOworICAgICAgICAgICAgY3VycmVudEJveC0+ZmxpcEZvcldyaXRpbmdNb2Rl
KGJsb2NrUmVjdCk7CiAgICAgICAgIH0KLSAgICAgICAgYmxvY2tSZWN0Lm1vdmVCeShjdXJyZW50
QmxvY2tMb2NhdGlvbik7Ci0gICAgICAgIGN1cnJlbnRCbG9jayA9IGNvbnRhaW5lckJsb2NrOwor
ICAgICAgICBibG9ja1JlY3QubW92ZUJ5KGN1cnJlbnRCb3hMb2NhdGlvbik7CisgICAgICAgIGN1
cnJlbnRCb3ggPSBjb250YWluZXJCb3g7CiAgICAgfQogCi0gICAgcmV0dXJuIGN1cnJlbnRCbG9j
ay0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IGJsb2NrUmVjdC55KCkgOiBibG9ja1JlY3Qu
eCgpOworICAgIHJldHVybiBjdXJyZW50Qm94LT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8g
YmxvY2tSZWN0LnkoKSA6IGJsb2NrUmVjdC54KCk7CiB9CiAKIHZvaWQgUmVuZGVyRnJhZ21lbnRl
ZEZsb3c6Om1hcExvY2FsVG9Db250YWluZXIoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCog
YW5jZXN0b3JDb250YWluZXIsIFRyYW5zZm9ybVN0YXRlJiB0cmFuc2Zvcm1TdGF0ZSwgT3B0aW9u
U2V0PE1hcENvb3JkaW5hdGVzTW9kZT4gbW9kZSwgYm9vbCogd2FzRml4ZWQpIGNvbnN0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAppbmRleCBkNGY1YTM0ZjU4NTcuLjg4
NmE5MmZiOTY1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBA
IC0yMTYyLDE4ICsyMTYyLDEwIEBAIGJvb2wgUmVuZGVyTGF5ZXI6OnVwZGF0ZUxheWVyUG9zaXRp
b24oT3B0aW9uU2V0PFVwZGF0ZUxheWVyUG9zaXRpb25zRmxhZz4qIGZsYWdzCiAgICAgICAgIC8v
IFdlIG11c3QgYWRqdXN0IG91ciBwb3NpdGlvbiBieSB3YWxraW5nIHVwIHRoZSByZW5kZXIgdHJl
ZSBsb29raW5nIGZvciB0aGUKICAgICAgICAgLy8gbmVhcmVzdCBlbmNsb3Npbmcgb2JqZWN0IHdp
dGggYSBsYXllci4KICAgICAgICAgd2hpbGUgKGFuY2VzdG9yICYmICFhbmNlc3Rvci0+aGFzTGF5
ZXIoKSkgewotICAgICAgICAgICAgaWYgKGF1dG8qIGJveFJlbmRlcmVyID0gZHluYW1pY0Rvd25j
YXN0PFJlbmRlckJveD4oYW5jZXN0b3IpKSB7Ci0gICAgICAgICAgICAgICAgLy8gUm93cyBhbmQg
Y2VsbHMgc2hhcmUgdGhlIHNhbWUgY29vcmRpbmF0ZSBzcGFjZSAodGhhdCBvZiB0aGUgc2VjdGlv
bikuCi0gICAgICAgICAgICAgICAgLy8gT21pdCB0aGVtIHdoZW4gY29tcHV0aW5nIG91ciB4cG9z
L3lwb3MuCi0gICAgICAgICAgICAgICAgaWYgKCFpczxSZW5kZXJUYWJsZVJvdz4oYm94UmVuZGVy
ZXIpKQotICAgICAgICAgICAgICAgICAgICBsb2NhbFBvaW50ICs9IGJveFJlbmRlcmVyLT50b3BM
ZWZ0TG9jYXRpb25PZmZzZXQoKTsKLSAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChhdXRv
KiBib3hSZW5kZXJlciA9IGR5bmFtaWNEb3duY2FzdDxSZW5kZXJCb3g+KGFuY2VzdG9yKSkKKyAg
ICAgICAgICAgICAgICBsb2NhbFBvaW50ICs9IGJveFJlbmRlcmVyLT50b3BMZWZ0TG9jYXRpb25P
ZmZzZXQoKTsKICAgICAgICAgICAgIGFuY2VzdG9yID0gYW5jZXN0b3ItPnBhcmVudCgpOwogICAg
ICAgICB9Ci0gICAgICAgIGlmIChhdXRvKiB0YWJsZVJvdyA9IGR5bmFtaWNEb3duY2FzdDxSZW5k
ZXJUYWJsZVJvdz4oYW5jZXN0b3IpKSB7Ci0gICAgICAgICAgICAvLyBQdXQgb3Vyc2VsdmVzIGlu
dG8gdGhlIHJvdyBjb29yZGluYXRlIHNwYWNlLgotICAgICAgICAgICAgbG9jYWxQb2ludCAtPSB0
YWJsZVJvdy0+dG9wTGVmdExvY2F0aW9uT2Zmc2V0KCk7Ci0gICAgICAgIH0KICAgICB9CiAgICAg
CiAgICAgLy8gU3VidHJhY3Qgb3VyIHBhcmVudCdzIHNjcm9sbCBvZmZzZXQuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcAppbmRleCBlZGQ1OWQ4ZTAzNWIuLjA5ODUyNmVj
ZDAxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUuY3BwCkBAIC05MTQs
NiArOTE0LDI2IEBAIHZvaWQgUmVuZGVyVGFibGU6OnBhaW50T2JqZWN0KFBhaW50SW5mbyYgcGFp
bnRJbmZvLCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZmZzCiAgICAgICAgIHBhaW50T3V0bGlu
ZShwYWludEluZm8sIExheW91dFJlY3QocGFpbnRPZmZzZXQsIHNpemUoKSkpOwogfQogCit2b2lk
IFJlbmRlclRhYmxlOjpwYWludENvbGxhcHNlZEJvcmRlcnNGb3JSb3coUGFpbnRJbmZvJiBwYWlu
dEluZm8sIFJlbmRlclRhYmxlUm93JiByb3csIGNvbnN0IExheW91dFBvaW50JiBwYWludE9mZnNl
dCkKK3sKKyAgICBBU1NFUlQoY29sbGFwc2VCb3JkZXJzKCkpOworICAgIHJlY2FsY0NvbGxhcHNl
ZEJvcmRlcnMoKTsKKworICAgIFBhaW50SW5mbyBib3JkZXJQYWludEluZm8ocGFpbnRJbmZvKTsK
KyAgICBib3JkZXJQYWludEluZm8ucGhhc2UgPSBQYWludFBoYXNlOjpDb2xsYXBzZWRUYWJsZUJv
cmRlcnM7CisKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1fY29sbGFwc2VkQm9yZGVycy5z
aXplKCk7ICsraSkgeworICAgICAgICBtX2N1cnJlbnRCb3JkZXIgPSAmbV9jb2xsYXBzZWRCb3Jk
ZXJzW2ldOworICAgICAgICBmb3IgKENoZWNrZWRQdHIgY2VsbCA9IHJvdy5maXJzdENlbGwoKTsg
Y2VsbDsgY2VsbCA9IGNlbGwtPm5leHRDZWxsKCkpIHsKKyAgICAgICAgICAgIGlmICghY2VsbC0+
aGFzU2VsZlBhaW50aW5nTGF5ZXIoKSkgeworICAgICAgICAgICAgICAgIGF1dG8gY2VsbFBvaW50
ID0gcm93LmZsaXBGb3JXcml0aW5nTW9kZUZvckNoaWxkKCpjZWxsLCBwYWludE9mZnNldCk7Cisg
ICAgICAgICAgICAgICAgY2VsbC0+cGFpbnRDb2xsYXBzZWRCb3JkZXJzKGJvcmRlclBhaW50SW5m
bywgY2VsbFBvaW50KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKyAgICBtX2N1
cnJlbnRCb3JkZXIgPSB7IH07Cit9CisKIHZvaWQgUmVuZGVyVGFibGU6OmFkanVzdEJvcmRlckJv
eFJlY3RGb3JQYWludGluZyhMYXlvdXRSZWN0JiByZWN0KQogewogICAgIGZvciAodW5zaWduZWQg
aSA9IDA7IGkgPCBtX2NhcHRpb25zLnNpemUoKTsgaSsrKSB7CkBAIC0xMDQ0LDYgKzEwNjQsMTYg
QEAgdm9pZCBSZW5kZXJUYWJsZTo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoKQogICAg
IC8vIEZJWE1FOiBXZSBzaG91bGQgYmUgYWRkaW5nIGJvcmRlckFuZFBhZGRpbmdMb2dpY2FsV2lk
dGggaGVyZSwgYnV0IG1fdGFibGVMYXlvdXQtPmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhz
IGFscmVhZHkgZG9lcywKICAgICAvLyBzbyBhIGJ1bmNoIG9mIHRlc3RzIGJyZWFrIGRvaW5nIHRo
aXMgbmFpdmVseS4KICAgICBjbGVhck5lZWRzUHJlZmVycmVkV2lkdGhzVXBkYXRlKCk7CisKKyAg
ICAvLyBSb3cgd2lkdGhzIGFyZSBzZXQgYnkgdGhlIHNlY3Rpb24sIG5vdCBjb21wdXRlZCBmcm9t
IHByZWZlcnJlZCB3aWR0aHMsCisgICAgLy8gc28gdGhlaXIgZGlydHkgYml0IGlzIG5ldmVyIGNs
ZWFyZWQgYnkgdGhlIG5vcm1hbCBwcmVmZXJyZWQgd2lkdGgKKyAgICAvLyBjb21wdXRhdGlvbi4g
Q2xlYXIgaXQgaGVyZSBzbyBpdCBkb2Vzbid0IGJsb2NrIHN1YnNlcXVlbnQgaW52YWxpZGF0aW9u
CisgICAgLy8gZnJvbSBwcm9wYWdhdGluZyB0aHJvdWdoIHRoZSByb3cgdG8gdGhlIHRhYmxlLgor
ICAgIGZvciAoQ2hlY2tlZFB0ciBzZWN0aW9uID0gdG9wU2VjdGlvbigpOyBzZWN0aW9uOyBzZWN0
aW9uID0gc2VjdGlvbkJlbG93KHNlY3Rpb24pKSB7CisgICAgICAgIHNlY3Rpb24tPmNsZWFyTmVl
ZHNQcmVmZXJyZWRXaWR0aHNVcGRhdGUoKTsKKyAgICAgICAgZm9yIChDaGVja2VkUHRyIHJvdyA9
IHNlY3Rpb24tPmZpcnN0Um93KCk7IHJvdzsgcm93ID0gcm93LT5uZXh0Um93KCkpCisgICAgICAg
ICAgICByb3ctPmNsZWFyTmVlZHNQcmVmZXJyZWRXaWR0aHNVcGRhdGUoKTsKKyAgICB9CiB9CiAK
IFJlbmRlclRhYmxlU2VjdGlvbiogUmVuZGVyVGFibGU6OnRvcE5vbkVtcHR5U2VjdGlvbigpIGNv
bnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUuaCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZS5oCmluZGV4IDI1YjRlMWZmZmQw
MS4uNTI4MjI0YjQ2MzMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGFibGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUuaApA
QCAtMzcsNiArMzcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBSZW5kZXJUYWJsZUNv
bDsKIGNsYXNzIFJlbmRlclRhYmxlQ2FwdGlvbjsKIGNsYXNzIFJlbmRlclRhYmxlQ2VsbDsKK2Ns
YXNzIFJlbmRlclRhYmxlUm93OwogY2xhc3MgUmVuZGVyVGFibGVTZWN0aW9uOwogY2xhc3MgVGFi
bGVMYXlvdXQ7CiAKQEAgLTE5MCw2ICsxOTEsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBpbnZhbGlk
YXRlQ29sbGFwc2VkQm9yZGVyc0FmdGVyU3R5bGVDaGFuZ2VJZk5lZWRlZChjb25zdCBSZW5kZXJT
dHlsZSYgb2xkU3R5bGUsIGNvbnN0IFJlbmRlclN0eWxlJiBuZXdTdHlsZSwgUmVuZGVyVGFibGVD
ZWxsKiBjZWxsV2l0aFN0eWxlQ2hhbmdlID0gbnVsbHB0cik7CiAgICAgdm9pZCBjb2xsYXBzZWRF
bXB0eUJvcmRlcklzUHJlc2VudCgpIHsgbV9jb2xsYXBzZWRFbXB0eUJvcmRlcklzUHJlc2VudCA9
IHRydWU7IH0KICAgICBjb25zdCBDb2xsYXBzZWRCb3JkZXJWYWx1ZSogY3VycmVudEJvcmRlclZh
bHVlKCkgY29uc3QgTElGRVRJTUVfQk9VTkQgeyByZXR1cm4gbV9jdXJyZW50Qm9yZGVyOyB9Cisg
ICAgdm9pZCBwYWludENvbGxhcHNlZEJvcmRlcnNGb3JSb3coUGFpbnRJbmZvJiwgUmVuZGVyVGFi
bGVSb3cmLCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZmZzZXQpOwogICAgIAogICAgIGJvb2wg
aGFzU2VjdGlvbnMoKSBjb25zdCB7IHJldHVybiBtX2hlYWQgfHwgbV9mb290IHx8IG1fZmlyc3RC
b2R5OyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJs
ZUNlbGwuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5jcHAK
aW5kZXggYTc1NWZhNDZlN2M4Li5iYmE3YTRiZGQwY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNlbGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUYWJsZUNlbGwuY3BwCkBAIC0yNTcsMTYgKzI1Nyw2IEBAIHZvaWQgUmVu
ZGVyVGFibGVDZWxsOjpjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocygpCiAgICAgfQogfQog
Ci1MYXlvdXRSZWN0IFJlbmRlclRhYmxlQ2VsbDo6ZnJhbWVSZWN0Rm9yU3RpY2t5UG9zaXRpb25p
bmcoKSBjb25zdAotewotICAgIC8vIFJlbmRlclRhYmxlQ2VsbCBoYXMgdGhlIFJlbmRlclRhYmxl
Um93IGFzIHRoZSBjb250YWluZXIsIGJ1dCBpcyBwb3NpdGlvbmVkIHJlbGF0aXZlbHkKLSAgICAv
LyB0byB0aGUgUmVuZGVyVGFibGVTZWN0aW9uLiBUaGUgc3RpY2t5IHBvc2l0aW9uaW5nIGFsZ29y
aXRobSBhc3N1bWVzIHRoYXQgZWxlbWVudHMgYXJlCi0gICAgLy8gcG9zaXRpb25lZCByZWxhdGl2
ZWx5IHRvIHRoZWlyIGNvbnRhaW5lciwgc28gd2UgY29ycmVjdCBmb3IgdGhhdCBoZXJlLgotICAg
IEFTU0VSVChwYXJlbnRCb3goKSk7Ci0gICAgYXV0byByZXR1cm5WYWx1ZSA9IGZyYW1lUmVjdCgp
OwotICAgIHJldHVyblZhbHVlLm1vdmUoLXBhcmVudEJveCgpLT5sb2NhdGlvbk9mZnNldCgpKTsK
LSAgICByZXR1cm4gcmV0dXJuVmFsdWU7Ci19CiAKIGJvb2wgUmVuZGVyVGFibGVDZWxsOjpjb21w
dXRlSW50cmluc2ljUGFkZGluZyhMYXlvdXRVbml0IGhlaWdodENvbnN0cmFpbnQpCiB7CkBAIC01
NDYsMTIgKzUzNiw3IEBAIExheW91dFVuaXQgUmVuZGVyVGFibGVDZWxsOjptYXhMb2dpY2FsV2lk
dGhGb3JDb2x1bW5TaXppbmcoKQogTGF5b3V0U2l6ZSBSZW5kZXJUYWJsZUNlbGw6Om9mZnNldEZy
b21Db250YWluZXIoY29uc3QgUmVuZGVyRWxlbWVudCYgY29udGFpbmVyLCBjb25zdCBMYXlvdXRQ
b2ludCYgcG9pbnQsIGJvb2wqIG9mZnNldERlcGVuZHNPblBvaW50KSBjb25zdAogewogICAgIEFT
U0VSVCgmY29udGFpbmVyID09IHRoaXMtPmNvbnRhaW5lcigpKTsKLQotICAgIExheW91dFNpemUg
b2Zmc2V0ID0gUmVuZGVyQmxvY2tGbG93OjpvZmZzZXRGcm9tQ29udGFpbmVyKGNvbnRhaW5lciwg
cG9pbnQsIG9mZnNldERlcGVuZHNPblBvaW50KTsKLSAgICBpZiAoYXV0byogY29udGFpbmVyT2ZS
b3cgPSBjb250YWluZXIuY29udGFpbmVyKCk7IGNvbnRhaW5lck9mUm93ICYmIHBhcmVudCgpKQot
ICAgICAgICBvZmZzZXQgLT0gcGFyZW50Qm94KCktPm9mZnNldEZyb21Db250YWluZXIoKmNvbnRh
aW5lck9mUm93LCBwb2ludCk7Ci0KLSAgICByZXR1cm4gb2Zmc2V0OworICAgIHJldHVybiBSZW5k
ZXJCbG9ja0Zsb3c6Om9mZnNldEZyb21Db250YWluZXIoY29udGFpbmVyLCBwb2ludCwgb2Zmc2V0
RGVwZW5kc09uUG9pbnQpOwogfQogCiBhdXRvIFJlbmRlclRhYmxlQ2VsbDo6bG9jYWxSZWN0c0Zv
clJlcGFpbnQoUmVwYWludE91dGxpbmVCb3VuZHMgcmVwYWludE91dGxpbmVCb3VuZHMpIGNvbnN0
IC0+IFJlcGFpbnRSZWN0cwpAQCAtNjM5LDkgKzYyNCw2IEBAIGF1dG8gUmVuZGVyVGFibGVDZWxs
Ojpjb21wdXRlVmlzaWJsZVJlY3RzSW5Db250YWluZXIoY29uc3QgUmVwYWludFJlY3RzJiByZWN0
cywKICAgICAgICAgcmV0dXJuIHJlY3RzOwogCiAgICAgYXV0byBhZGp1c3RlZFJlY3RzID0gcmVj
dHM7Ci0gICAgaWYgKCghdmlldygpLmZyYW1lVmlldygpLmxheW91dENvbnRleHQoKS5pc1BhaW50
T2Zmc2V0Q2FjaGVFbmFibGVkKCkgfHwgY29udGFpbmVyIHx8IGNvbnRleHQub3B0aW9ucy5jb250
YWlucyhWaXNpYmxlUmVjdENvbnRleHQ6Ok9wdGlvbjo6VXNlRWRnZUluY2x1c2l2ZUludGVyc2Vj
dGlvbikpICYmIHBhcmVudCgpKQotICAgICAgICBhZGp1c3RlZFJlY3RzLm1vdmVCeSgtcGFyZW50
Qm94KCktPmxvY2F0aW9uKCkpOyAvLyBSb3dzIGFyZSBpbiB0aGUgc2FtZSBjb29yZGluYXRlIHNw
YWNlLCBzbyBkb24ndCBhZGQgdGhlaXIgb2Zmc2V0IGluLgotCiAgICAgcmV0dXJuIFJlbmRlckJs
b2NrRmxvdzo6Y29tcHV0ZVZpc2libGVSZWN0c0luQ29udGFpbmVyKGFkanVzdGVkUmVjdHMsIGNv
bnRhaW5lciwgY29udGV4dCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUYWJsZUNlbGwuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
YWJsZUNlbGwuaAppbmRleCA1NWQ5YmRhNDQ3NmIuLmUwNzg2YjMxNzY1MyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNlbGwuaApAQCAtMTQ2LDggKzE0Niw2IEBAIHBy
aXZhdGU6CiAgICAgdm9pZCBzdHlsZURpZENoYW5nZShTdHlsZTo6RGlmZmVyZW5jZSwgY29uc3Qg
UmVuZGVyU3R5bGUqIG9sZFN0eWxlKSBvdmVycmlkZTsKICAgICB2b2lkIGNvbXB1dGVQcmVmZXJy
ZWRMb2dpY2FsV2lkdGhzKCkgb3ZlcnJpZGU7CiAKLSAgICBMYXlvdXRSZWN0IGZyYW1lUmVjdEZv
clN0aWNreVBvc2l0aW9uaW5nKCkgY29uc3Qgb3ZlcnJpZGU7Ci0KICAgICBMYXlvdXRVbml0IGNv
bnRhaW5pbmdCbG9ja0xvZ2ljYWxXaWR0aEZvckNvbnRlbnQoKSBjb25zdCBvdmVycmlkZTsKIAog
ICAgIHN0YXRpYyBSZW5kZXJQdHI8UmVuZGVyVGFibGVDZWxsPiBjcmVhdGVUYWJsZUNlbGxXaXRo
U3R5bGUoRG9jdW1lbnQmLCBjb25zdCBSZW5kZXJTdHlsZSYpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlUm93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJUYWJsZVJvdy5jcHAKaW5kZXggYmY5MzdlNWU3ZmRjLi4xYjU3ODRhZDY5
NjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVJvdy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlUm93LmNwcApAQCAt
NTIsNyArNTIsNyBAQCB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogV1RGX01BS0VfVFpPTkVf
QUxMT0NBVEVEX0lNUEwoUmVuZGVyVGFibGVSb3cpOwogCiBSZW5kZXJUYWJsZVJvdzo6UmVuZGVy
VGFibGVSb3coRWxlbWVudCYgZWxlbWVudCwgUmVuZGVyU3R5bGUmJiBzdHlsZSkKLSAgICA6IFJl
bmRlckJveChUeXBlOjpUYWJsZVJvdywgZWxlbWVudCwgV1RGOjptb3ZlKHN0eWxlKSkKKyAgICA6
IFJlbmRlckJsb2NrKFR5cGU6OlRhYmxlUm93LCBlbGVtZW50LCBXVEY6Om1vdmUoc3R5bGUpLCB7
IH0pCiAgICAgLCBtX3Jvd0luZGV4KHVuc2V0Um93SW5kZXgpCiB7CiAgICAgc2V0SW5saW5lKGZh
bHNlKTsKQEAgLTYwLDcgKzYwLDcgQEAgUmVuZGVyVGFibGVSb3c6OlJlbmRlclRhYmxlUm93KEVs
ZW1lbnQmIGVsZW1lbnQsIFJlbmRlclN0eWxlJiYgc3R5bGUpCiB9CiAKIFJlbmRlclRhYmxlUm93
OjpSZW5kZXJUYWJsZVJvdyhEb2N1bWVudCYgZG9jdW1lbnQsIFJlbmRlclN0eWxlJiYgc3R5bGUp
Ci0gICAgOiBSZW5kZXJCb3goVHlwZTo6VGFibGVSb3csIGRvY3VtZW50LCBXVEY6Om1vdmUoc3R5
bGUpKQorICAgIDogUmVuZGVyQmxvY2soVHlwZTo6VGFibGVSb3csIGRvY3VtZW50LCBXVEY6Om1v
dmUoc3R5bGUpLCB7IH0pCiAgICAgLCBtX3Jvd0luZGV4KHVuc2V0Um93SW5kZXgpCiB7CiAgICAg
c2V0SW5saW5lKGZhbHNlKTsKQEAgLTc2LDcgKzc2LDcgQEAgQVNDSUlMaXRlcmFsIFJlbmRlclRh
YmxlUm93OjpyZW5kZXJOYW1lKCkgY29uc3QKIAogdm9pZCBSZW5kZXJUYWJsZVJvdzo6d2lsbEJl
UmVtb3ZlZEZyb21UcmVlKCkKIHsKLSAgICBSZW5kZXJCb3g6OndpbGxCZVJlbW92ZWRGcm9tVHJl
ZSgpOworICAgIFJlbmRlckJsb2NrOjp3aWxsQmVSZW1vdmVkRnJvbVRyZWUoKTsKIAogICAgIHNl
Y3Rpb24oKS0+c2V0TmVlZHNDZWxsUmVjYWxjKCk7CiB9CkBAIC05Myw3ICs5Myw3IEBAIHZvaWQg
UmVuZGVyVGFibGVSb3c6OnN0eWxlRGlkQ2hhbmdlKFN0eWxlOjpEaWZmZXJlbmNlIGRpZmYsIGNv
bnN0IFJlbmRlclN0eWxlKiBvCiB7CiAgICAgQVNTRVJUKHN0eWxlKCkuZGlzcGxheSgpID09IFN0
eWxlOjpEaXNwbGF5VHlwZTo6VGFibGVSb3cpOwogCi0gICAgUmVuZGVyQm94OjpzdHlsZURpZENo
YW5nZShkaWZmLCBvbGRTdHlsZSk7CisgICAgUmVuZGVyQmxvY2s6OnN0eWxlRGlkQ2hhbmdlKGRp
ZmYsIG9sZFN0eWxlKTsKICAgICBwcm9wYWdhdGVTdHlsZVRvQW5vbnltb3VzQ2hpbGRyZW4oU3R5
bGVQcm9wYWdhdGlvblR5cGU6OkFsbENoaWxkcmVuKTsKIAogICAgIGlmIChzZWN0aW9uKCkgJiYg
b2xkU3R5bGUgJiYgc3R5bGUoKS5sb2dpY2FsSGVpZ2h0KCkgIT0gb2xkU3R5bGUtPmxvZ2ljYWxI
ZWlnaHQoKSkKQEAgLTE1Niw4ICsxNTYsNyBAQCB2b2lkIFJlbmRlclRhYmxlUm93OjpsYXlvdXQo
KQogICAgIFN0YWNrU3RhdHM6OkxheW91dENoZWNrUG9pbnQgbGF5b3V0Q2hlY2tQb2ludDsKICAg
ICBBU1NFUlQobmVlZHNMYXlvdXQoKSk7CiAKLSAgICAvLyBUYWJsZSByb3dzIGRvIG5vdCBhZGQg
dHJhbnNsYXRpb24uCi0gICAgTGF5b3V0U3RhdGVNYWludGFpbmVyIHN0YXRlUHVzaGVyKCp0aGlz
LCBMYXlvdXRTaXplKCksIGlzVHJhbnNmb3JtZWQoKSB8fCBoYXNSZWZsZWN0aW9uKCkgfHwgd3Jp
dGluZ01vZGUoKS5pc0Jsb2NrRmxpcHBlZCgpKTsKKyAgICBMYXlvdXRTdGF0ZU1haW50YWluZXIg
c3RhdGVQdXNoZXIoKnRoaXMsIGxvY2F0aW9uT2Zmc2V0KCksIGlzVHJhbnNmb3JtZWQoKSB8fCBo
YXNSZWZsZWN0aW9uKCkgfHwgd3JpdGluZ01vZGUoKS5pc0Jsb2NrRmxpcHBlZCgpKTsKIAogICAg
IGF1dG8qIGxheW91dFN0YXRlID0gdmlldygpLmZyYW1lVmlldygpLmxheW91dENvbnRleHQoKS5s
YXlvdXRTdGF0ZSgpOwogICAgIGJvb2wgcGFnaW5hdGVkID0gbGF5b3V0U3RhdGUtPmlzUGFnaW5h
dGVkKCk7CkBAIC0xNjYsOSArMTY1LDggQEAgdm9pZCBSZW5kZXJUYWJsZVJvdzo6bGF5b3V0KCkK
ICAgICAgICAgaWYgKCFjZWxsLT5uZWVkc0xheW91dCgpICYmIHBhZ2luYXRlZCAmJiAobGF5b3V0
U3RhdGUtPnBhZ2VMb2dpY2FsSGVpZ2h0Q2hhbmdlZCgpIHx8IChsYXlvdXRTdGF0ZS0+cGFnZUxv
Z2ljYWxIZWlnaHQoKSAmJiBsYXlvdXRTdGF0ZS0+cGFnZUxvZ2ljYWxPZmZzZXQoY2VsbCwgY2Vs
bC0+bG9naWNhbFRvcCgpKSAhPSBjZWxsLT5wYWdlTG9naWNhbE9mZnNldCgpKSkpCiAgICAgICAg
ICAgICBjZWxsLT5zZXRDaGlsZE5lZWRzTGF5b3V0KE1hcmtpbmdCZWhhdmlvcjo6TWFya09ubHlU
aGlzKTsKIAotICAgICAgICBpZiAoY2VsbC0+bmVlZHNMYXlvdXQoKSkgeworICAgICAgICBpZiAo
Y2VsbC0+bmVlZHNMYXlvdXQoKSkKICAgICAgICAgICAgIGNlbGwtPmxheW91dCgpOwotICAgICAg
ICB9CiAgICAgfQogCiAgICAgY2xlYXJPdmVyZmxvdygpOwpAQCAtMTgzLDE3ICsxODEsMTcgQEAg
dm9pZCBSZW5kZXJUYWJsZVJvdzo6bGF5b3V0KCkKICAgICAgICAgICAgIGNlbGwtPnJlcGFpbnQo
KTsKICAgICB9CiAKLSAgICAvLyBSZW5kZXJUYWJsZVNlY3Rpb246OmxheW91dFJvd3Mgd2lsbCBz
ZXQgb3VyIGxvZ2ljYWwgaGVpZ2h0IGFuZCB3aWR0aCBsYXRlciwgc28gaXQgY2FsbHMgdXBkYXRl
TGF5ZXJUcmFuc2Zvcm0oKS4KLSAgICBjbGVhck5lZWRzTGF5b3V0KCk7CisgICAgLy8gUm93IGRp
bWVuc2lvbnMgYXJlIGZpbmFsaXplZCBpbiBSZW5kZXJUYWJsZVNlY3Rpb246OmxheW91dFJvd3Mo
KSwgd2hpY2ggYWxzbworICAgIC8vIGxheXMgb3V0IG91dC1vZi1mbG93IGRlc2NlbmRhbnRzIGFu
ZCBjYWxscyBjbGVhck5lZWRzTGF5b3V0KCkuCiB9CiAKIExheW91dFJlY3QgUmVuZGVyVGFibGVS
b3c6OmNsaXBwZWRPdmVyZmxvd1JlY3QoY29uc3QgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogcmVw
YWludENvbnRhaW5lciwgVmlzaWJsZVJlY3RDb250ZXh0IGNvbnRleHQpIGNvbnN0CiB7CiAgICAg
QVNTRVJUKHBhcmVudCgpKTsKLSAgICAvLyBSb3dzIGFuZCBjZWxscyBhcmUgaW4gdGhlIHNhbWUg
Y29vcmRpbmF0ZSBzcGFjZS4gV2UgbmVlZCB0byBib3RoIGNvbXB1dGUgb3VyIG92ZXJmbG93IHJl
Y3QgKHdoaWNoCisgICAgLy8gQ2VsbHMgYXJlIGluIHRoZSByb3cncyBjb29yZGluYXRlIHNwYWNl
LiBXZSBuZWVkIHRvIGJvdGggY29tcHV0ZSBvdXIgb3ZlcmZsb3cgcmVjdCAod2hpY2gKICAgICAv
LyB3aWxsIGFjY29tbW9kYXRlIGEgcm93IG91dGxpbmUgYW5kIGFueSB2aXN1YWwgZWZmZWN0cyBv
biB0aGUgcm93IGl0c2VsZiksIGJ1dCB3ZSBhbHNvIG5lZWQgdG8gYWRkIGluCiAgICAgLy8gdGhl
IHJlcGFpbnQgcmVjdHMgb2YgY2VsbHMuCi0gICAgYXV0byByZXN1bHQgPSBSZW5kZXJCb3g6OmNs
aXBwZWRPdmVyZmxvd1JlY3QocmVwYWludENvbnRhaW5lciwgY29udGV4dCk7CisgICAgYXV0byBy
ZXN1bHQgPSBSZW5kZXJCbG9jazo6Y2xpcHBlZE92ZXJmbG93UmVjdChyZXBhaW50Q29udGFpbmVy
LCBjb250ZXh0KTsKICAgICBmb3IgKGF1dG8qIGNlbGwgPSBmaXJzdENlbGwoKTsgY2VsbDsgY2Vs
bCA9IGNlbGwtPm5leHRDZWxsKCkpIHsKICAgICAgICAgLy8gRXZlbiBpZiBhIGNlbGwgaXMgYSBy
ZXBhaW50IGNvbnRhaW5lciwgaXQncyB0aGUgcm93IHRoYXQgcGFpbnRzIHRoZSBiYWNrZ3JvdW5k
IGJlaGluZCBpdC4KICAgICAgICAgLy8gU28gd2UgZG9uJ3QgY2FyZSBpZiBhIGNlbGwgaXMgYSBy
ZXBhaW50Q29udGFpbmVyIGhlcmUuCkBAIC0yMTksMTMgKzIxNywxNCBAQCBib29sIFJlbmRlclRh
YmxlUm93Ojpub2RlQXRQb2ludChjb25zdCBIaXRUZXN0UmVxdWVzdCYgcmVxdWVzdCwgSGl0VGVz
dFJlc3VsdCYgcgogICAgIGlmICghc2VjdGlvbikKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisg
ICAgYXV0byBhZGp1c3RlZE9mZnNldCA9IGFjY3VtdWxhdGVkT2Zmc2V0ICsgbG9jYXRpb24oKTsK
ICAgICBmb3IgKFJlbmRlclRhYmxlQ2VsbCogY2VsbCA9IGxhc3RDZWxsKCk7IGNlbGw7IGNlbGwg
PSBjZWxsLT5wcmV2aW91c0NlbGwoKSkgewogICAgICAgICAvLyBGSVhNRTogV2UgaGF2ZSB0byBz
a2lwIG92ZXIgaW5saW5lIGZsb3dzLCBzaW5jZSB0aGV5IGNhbiBzaG93IHVwIGluc2lkZSB0YWJs
ZSByb3dzCiAgICAgICAgIC8vIGF0IHRoZSBtb21lbnQgKGEgZGVtb3RlZCBpbmxpbmUgPGZvcm0+
IGZvciBleGFtcGxlKS4gSWYgd2UgZXZlciBpbXBsZW1lbnQgYQogICAgICAgICAvLyB0YWJsZS1z
cGVjaWZpYyBoaXQtdGVzdCBtZXRob2QgKHdoaWNoIHdlIHNob3VsZCBkbyBmb3IgcGVyZm9ybWFu
Y2UgcmVhc29ucyBhbnl3YXkpLAogICAgICAgICAvLyB0aGVuIHdlIGNhbiByZW1vdmUgdGhpcyBj
aGVjay4KICAgICAgICAgaWYgKCFjZWxsLT5oYXNTZWxmUGFpbnRpbmdMYXllcigpKSB7Ci0gICAg
ICAgICAgICBhdXRvIGNlbGxQb2ludCA9IHNlY3Rpb24tPmZsaXBGb3JXcml0aW5nTW9kZUZvckNo
aWxkKCpjZWxsLCBhY2N1bXVsYXRlZE9mZnNldCk7CisgICAgICAgICAgICBhdXRvIGNlbGxQb2lu
dCA9IGZsaXBGb3JXcml0aW5nTW9kZUZvckNoaWxkKCpjZWxsLCBhZGp1c3RlZE9mZnNldCk7CiAg
ICAgICAgICAgICBpZiAoY2VsbC0+bm9kZUF0UG9pbnQocmVxdWVzdCwgcmVzdWx0LCBsb2NhdGlv
bkluQ29udGFpbmVyLCBjZWxsUG9pbnQsIGFjdGlvbikpIHsKICAgICAgICAgICAgICAgICB1cGRh
dGVIaXRUZXN0UmVzdWx0KHJlc3VsdCwgbG9jYXRpb25JbkNvbnRhaW5lci5wb2ludCgpIC0gdG9M
YXlvdXRTaXplKGNlbGxQb2ludCkpOwogICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwpAQCAt
MjYyLDE5ICsyNjEsMjggQEAgdm9pZCBSZW5kZXJUYWJsZVJvdzo6cGFpbnQoUGFpbnRJbmZvJiBw
YWludEluZm8sIGNvbnN0IExheW91dFBvaW50JiBwYWludE9mZnNldCkKIHsKICAgICBBU1NFUlQo
aGFzU2VsZlBhaW50aW5nTGF5ZXIoKSk7CiAKKyAgICBhdXRvIGFkanVzdGVkUGFpbnRPZmZzZXQg
PSBwYWludE9mZnNldCArIGxvY2F0aW9uKCk7CisKICAgICBpZiAocGFpbnRJbmZvLnBoYXNlID09
IFBhaW50UGhhc2U6OkFjY2Vzc2liaWxpdHkpIHsKICAgICAgICAgaWYgKGF1dG8qIGNvbnRleHQg
PSBwYWludEluZm8uYWNjZXNzaWJpbGl0eVJlZ2lvbkNvbnRleHQoKSkKLSAgICAgICAgICAgIGNv
bnRleHQtPnRha2VCb3VuZHMoKnRoaXMsIHBhaW50T2Zmc2V0ICsgbG9jYXRpb24oKSk7CisgICAg
ICAgICAgICBjb250ZXh0LT50YWtlQm91bmRzKCp0aGlzLCBhZGp1c3RlZFBhaW50T2Zmc2V0KTsK
ICAgICB9CiAKICAgICBwYWludE91dGxpbmVGb3JSb3dJZk5lZWRlZChwYWludEluZm8sIHBhaW50
T2Zmc2V0KTsKICAgICBmb3IgKFJlbmRlclRhYmxlQ2VsbCogY2VsbCA9IGZpcnN0Q2VsbCgpOyBj
ZWxsOyBjZWxsID0gY2VsbC0+bmV4dENlbGwoKSkgewogICAgICAgICAvLyBQYWludCB0aGUgcm93
IGJhY2tncm91bmQgYmVoaW5kIHRoZSBjZWxsLgogICAgICAgICBpZiAocGFpbnRJbmZvLnBoYXNl
ID09IFBhaW50UGhhc2U6OkJsb2NrQmFja2dyb3VuZCB8fCBwYWludEluZm8ucGhhc2UgPT0gUGFp
bnRQaGFzZTo6Q2hpbGRCbG9ja0JhY2tncm91bmQpCi0gICAgICAgICAgICBjZWxsLT5wYWludEJh
Y2tncm91bmRzQmVoaW5kQ2VsbChwYWludEluZm8sIHBhaW50T2Zmc2V0LCB0aGlzLCBwYWludE9m
ZnNldCk7CisgICAgICAgICAgICBjZWxsLT5wYWludEJhY2tncm91bmRzQmVoaW5kQ2VsbChwYWlu
dEluZm8sIGFkanVzdGVkUGFpbnRPZmZzZXQsIHRoaXMsIHBhaW50T2Zmc2V0KTsKICAgICAgICAg
aWYgKCFjZWxsLT5oYXNTZWxmUGFpbnRpbmdMYXllcigpKQotICAgICAgICAgICAgY2VsbC0+cGFp
bnQocGFpbnRJbmZvLCBwYWludE9mZnNldCk7CisgICAgICAgICAgICBjZWxsLT5wYWludChwYWlu
dEluZm8sIGFkanVzdGVkUGFpbnRPZmZzZXQpOwogICAgIH0KKworICAgIC8vIFdoZW4gdGhlIHJv
dyBoYXMgYSBzZWxmLXBhaW50aW5nIGxheWVyIChwb3NpdGlvbjogcmVsYXRpdmUpLCBjb2xsYXBz
ZWQKKyAgICAvLyBib3JkZXJzIG11c3QgYmUgcGFpbnRlZCBoZXJlIGFmdGVyIGNlbGwgYmFja2dy
b3VuZHMuIE90aGVyd2lzZSB0aGUgY2VsbAorICAgIC8vIGJhY2tncm91bmQgKGluIHRoaXMgbGF5
ZXIpIGNvdmVycyB0aGUgaW5uZXIgaGFsZiBvZiB0aGUgYm9yZGVyIChwYWludGVkCisgICAgLy8g
YnkgdGhlIHRhYmxlJ3MgbGF5ZXIpLgorICAgIGlmIChDaGVja2VkUHRyIHRhYmxlID0gdGhpcy0+
dGFibGUoKTsgdGFibGUgJiYgdGFibGUtPmNvbGxhcHNlQm9yZGVycygpICYmIHBhaW50SW5mby5w
aGFzZSA9PSBQYWludFBoYXNlOjpDaGlsZEJsb2NrQmFja2dyb3VuZHMpCisgICAgICAgIHRhYmxl
LT5wYWludENvbGxhcHNlZEJvcmRlcnNGb3JSb3cocGFpbnRJbmZvLCAqdGhpcywgYWRqdXN0ZWRQ
YWludE9mZnNldCk7CiB9CiAKIHZvaWQgUmVuZGVyVGFibGVSb3c6OmltYWdlQ2hhbmdlZChXcmFw
cGVkSW1hZ2VQdHIsIGNvbnN0IEludFJlY3QqKQpAQCAtMjg3LDcgKzI5NSw3IEBAIHZvaWQgUmVu
ZGVyVGFibGVSb3c6OmltYWdlQ2hhbmdlZChXcmFwcGVkSW1hZ2VQdHIsIGNvbnN0IEludFJlY3Qq
KQogCiBib29sIFJlbmRlclRhYmxlUm93OjpyZXF1aXJlc0xheWVyKCkgY29uc3QKIHsKLSAgICBy
ZXR1cm4gaGFzTm9uVmlzaWJsZU92ZXJmbG93KCkgfHwgaGFzVHJhbnNmb3JtUmVsYXRlZFByb3Bl
cnR5KCkgfHwgaGFzSGlkZGVuQmFja2ZhY2UoKSB8fCBoYXNDbGlwUGF0aCgpIHx8IGNyZWF0ZXNH
cm91cCgpIHx8IGlzU3RpY2tpbHlQb3NpdGlvbmVkKCkgfHwgcmVxdWlyZXNSZW5kZXJpbmdDb25z
b2xpZGF0aW9uRm9yVmlld1RyYW5zaXRpb24oKTsKKyAgICByZXR1cm4gaXNQb3NpdGlvbmVkKCkg
fHwgaGFzTm9uVmlzaWJsZU92ZXJmbG93KCkgfHwgaGFzVHJhbnNmb3JtUmVsYXRlZFByb3BlcnR5
KCkgfHwgaGFzSGlkZGVuQmFja2ZhY2UoKSB8fCBoYXNDbGlwUGF0aCgpIHx8IGNyZWF0ZXNHcm91
cCgpIHx8IGlzU3RpY2tpbHlQb3NpdGlvbmVkKCkgfHwgcmVxdWlyZXNSZW5kZXJpbmdDb25zb2xp
ZGF0aW9uRm9yVmlld1RyYW5zaXRpb24oKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlUm93LmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVSb3cuaAppbmRleCBlNzNjNjVkZmFi
OWQuLjZjMmIzYWQwZmY0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclRhYmxlUm93LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxl
Um93LmgKQEAgLTI1LDYgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlICJSZW5k
ZXJCbG9jay5oIgogI2luY2x1ZGUgIlJlbmRlclRhYmxlU2VjdGlvbi5oIgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CkBAIC0zMiw3ICszMyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHN0YXRpYyBj
b25zdCB1bnNpZ25lZCB1bnNldFJvd0luZGV4ID0gMHg3RkZGRkZGRjsKIHN0YXRpYyBjb25zdCB1
bnNpZ25lZCBtYXhSb3dJbmRleCA9IDB4N0ZGRkZGRkU7IC8vIDIsMTQ3LDQ4Myw2NDYKIAotY2xh
c3MgUmVuZGVyVGFibGVSb3cgZmluYWwgOiBwdWJsaWMgUmVuZGVyQm94IHsKK2NsYXNzIFJlbmRl
clRhYmxlUm93IGZpbmFsIDogcHVibGljIFJlbmRlckJsb2NrIHsKICAgICBXVEZfTUFLRV9UWk9O
RV9BTExPQ0FURUQoUmVuZGVyVGFibGVSb3cpOwogICAgIFdURl9PVkVSUklERV9ERUxFVEVfRk9S
X0NIRUNLRURfUFRSKFJlbmRlclRhYmxlUm93KTsKIHB1YmxpYzoKQEAgLTExOSwxMiArMTIwLDEy
IEBAIGlubGluZSBSZW5kZXJUYWJsZSogUmVuZGVyVGFibGVSb3c6OnRhYmxlKCkgY29uc3QKIAog
aW5saW5lIFJlbmRlclRhYmxlUm93KiBSZW5kZXJUYWJsZVJvdzo6bmV4dFJvdygpIGNvbnN0CiB7
Ci0gICAgcmV0dXJuIGRvd25jYXN0PFJlbmRlclRhYmxlUm93PihSZW5kZXJCb3g6Om5leHRTaWJs
aW5nKCkpOworICAgIHJldHVybiBkb3duY2FzdDxSZW5kZXJUYWJsZVJvdz4oUmVuZGVyQmxvY2s6
Om5leHRTaWJsaW5nKCkpOwogfQogCiBpbmxpbmUgUmVuZGVyVGFibGVSb3cqIFJlbmRlclRhYmxl
Um93OjpwcmV2aW91c1JvdygpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIGRvd25jYXN0PFJlbmRlclRh
YmxlUm93PihSZW5kZXJCb3g6OnByZXZpb3VzU2libGluZygpKTsKKyAgICByZXR1cm4gZG93bmNh
c3Q8UmVuZGVyVGFibGVSb3c+KFJlbmRlckJsb2NrOjpwcmV2aW91c1NpYmxpbmcoKSk7CiB9CiAK
IGlubGluZSBSZW5kZXJUYWJsZVJvdyogUmVuZGVyVGFibGVTZWN0aW9uOjpmaXJzdFJvdygpIGNv
bnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0
aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZVNlY3Rpb24uY3Bw
CmluZGV4IDAwOWEyNjBkZGU0MC4uODRmNGZlYThhN2E3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9uLmNwcApAQCAtNTk1LDkzICs1OTUsMTAxIEBA
IHZvaWQgUmVuZGVyVGFibGVTZWN0aW9uOjpsYXlvdXRSb3dzKCkKICAgICBMYXlvdXRTdGF0ZU1h
aW50YWluZXIgc3RhdGVQdXNoZXIoKnRoaXMsIGxvY2F0aW9uT2Zmc2V0KCksIGlzVHJhbnNmb3Jt
ZWQoKSB8fCB3cml0aW5nTW9kZSgpLmlzQmxvY2tGbGlwcGVkKCkpOwogCiAgICAgZm9yIChzaXpl
X3Qgcm93SW5kZXggPSAwOyByb3dJbmRleCA8IG51bWJlck9mUm93czsgcm93SW5kZXgrKykgewot
ICAgICAgICAvLyBTZXQgdGhlIHJvdydzIHgveSBwb3NpdGlvbiBhbmQgd2lkdGgvaGVpZ2h0Lgot
ICAgICAgICBpZiAoUmVuZGVyVGFibGVSb3cqIHJvd1JlbmRlcmVyID0gbV9ncmlkW3Jvd0luZGV4
XS5yb3dSZW5kZXJlcikgewotICAgICAgICAgICAgLy8gRklYTUU6IHRoZSB4KCkgcG9zaXRpb24g
b2YgdGhlIHJvdyBzaG91bGQgYmUgdGFibGUoKS0+aEJvcmRlclNwYWNpbmcoKSBzbyB0aGF0IGl0
IGNhbiAKLSAgICAgICAgICAgIC8vIHJlcG9ydCB0aGUgY29ycmVjdCBvZmZzZXRMZWZ0LiBIb3dl
dmVyLCB0aGF0IHdpbGwgcmVxdWlyZSBhIGxvdCBvZiByZWJhc2VsaW5pbmcgb2YgdGVzdCByZXN1
bHRzLgotICAgICAgICAgICAgcm93UmVuZGVyZXItPnNldExvZ2ljYWxMb2NhdGlvbih7IDBfbHUs
IG1fcm93UG9zW3Jvd0luZGV4XSB9KTsKLSAgICAgICAgICAgIHJvd1JlbmRlcmVyLT5zZXRMb2dp
Y2FsV2lkdGgobG9naWNhbFdpZHRoKCkpOwogCi0gICAgICAgICAgICBMYXlvdXRVbml0IHJvd0xv
Z2ljYWxIZWlnaHQ7Ci0gICAgICAgICAgICAvLyBJZiB0aGUgcm93IGlzIGNvbGxhcHNlZCB0aGVu
IGl0IGhhcyAwIGhlaWdodC4gdnNwYWNpbmcgd2FzIGltcGxpY2l0bHkKLSAgICAgICAgICAgIC8v
IHJlbW92ZWQgZWFybGllciwgd2hlbiBtX3Jvd1Bvc1tyb3dJbmRleCsxXSB3YXMgc2V0IHRvIG1f
cm93UG9zW3Jvd0luZGV4XS4KLSAgICAgICAgICAgIGF1dG8gcm93SGFzVmlzaWJpbGl0eUNvbGxh
cHNlID0gWyZdKGF1dG8gcm93KSB7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIChtX2dyaWRbcm93
XS5yb3dSZW5kZXJlciAmJiBtX2dyaWRbcm93XS5yb3dSZW5kZXJlci0+c3R5bGUoKS52aXNpYmls
aXR5KCkgPT0gVmlzaWJpbGl0eTo6Q29sbGFwc2UpIHx8IHN0eWxlKCkudmlzaWJpbGl0eSgpID09
IFZpc2liaWxpdHk6OkNvbGxhcHNlOwotICAgICAgICAgICAgfTsKLSAgICAgICAgICAgIGlmICgh
cm93SGFzVmlzaWJpbGl0eUNvbGxhcHNlKHJvd0luZGV4KSkKLSAgICAgICAgICAgICAgICByb3dM
b2dpY2FsSGVpZ2h0ID0gbV9yb3dQb3Nbcm93SW5kZXggKyAxXSAtIG1fcm93UG9zW3Jvd0luZGV4
XSAtIHZzcGFjaW5nOworICAgICAgICBhdXRvIGxheW91dENlbGxzID0gWyZdIHsKKyAgICAgICAg
ICAgIExheW91dFVuaXQgcm93SGVpZ2h0SW5jcmVhc2VGb3JQYWdpbmF0aW9uOwogCi0gICAgICAg
ICAgICBBU1NFUlQocm93TG9naWNhbEhlaWdodCA+PSAwKTsKLSAgICAgICAgICAgIHJvd1JlbmRl
cmVyLT5zZXRMb2dpY2FsSGVpZ2h0KHJvd0xvZ2ljYWxIZWlnaHQpOwotICAgICAgICAgICAgcm93
UmVuZGVyZXItPnVwZGF0ZUxheWVyVHJhbnNmb3JtKCk7Ci0gICAgICAgICAgICByb3dSZW5kZXJl
ci0+Y2xlYXJPdmVyZmxvdygpOwotICAgICAgICAgICAgcm93UmVuZGVyZXItPmFkZFZpc3VhbEVm
ZmVjdE92ZXJmbG93KCk7Ci0gICAgICAgIH0KKyAgICAgICAgICAgIGZvciAoc2l6ZV90IGNvbHVt
bkluZGV4ID0gMDsgY29sdW1uSW5kZXggPCBudW1iZXJPZkVmZmVjdGl2ZUNvbHVtbnM7IGNvbHVt
bkluZGV4KyspIHsKKyAgICAgICAgICAgICAgICBDZWxsU3RydWN0JiBjcyA9IGNlbGxBdChyb3dJ
bmRleCwgY29sdW1uSW5kZXgpOworICAgICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCogY2Vs
bCA9IGNzLnByaW1hcnlDZWxsKCk7CiAKLSAgICAgICAgTGF5b3V0VW5pdCByb3dIZWlnaHRJbmNy
ZWFzZUZvclBhZ2luYXRpb247CisgICAgICAgICAgICAgICAgaWYgKCFjZWxsIHx8IGNzLmluQ29s
U3BhbikKKyAgICAgICAgICAgICAgICAgICAgY29udGludWU7CiAKLSAgICAgICAgZm9yIChzaXpl
X3QgY29sdW1uSW5kZXggPSAwOyBjb2x1bW5JbmRleCA8IG51bWJlck9mRWZmZWN0aXZlQ29sdW1u
czsgY29sdW1uSW5kZXgrKykgewotICAgICAgICAgICAgQ2VsbFN0cnVjdCYgY3MgPSBjZWxsQXQo
cm93SW5kZXgsIGNvbHVtbkluZGV4KTsKLSAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCogY2Vs
bCA9IGNzLnByaW1hcnlDZWxsKCk7CisgICAgICAgICAgICAgICAgaW50IHJvd0luZGV4ID0gY2Vs
bC0+cm93SW5kZXgoKTsKKyAgICAgICAgICAgICAgICBhdXRvIHJvd0hlaWdodCA9IG1fcm93UG9z
W3Jvd0luZGV4ICsgY2VsbC0+cm93U3BhbigpXSAtIG1fcm93UG9zW3Jvd0luZGV4XSAtIHZzcGFj
aW5nOwogCi0gICAgICAgICAgICBpZiAoIWNlbGwgfHwgY3MuaW5Db2xTcGFuKQotICAgICAgICAg
ICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgIHJlbGF5b3V0Q2VsbElmRmxleGVkKCpj
ZWxsLCByb3dJbmRleCwgcm93SGVpZ2h0KTsKIAotICAgICAgICAgICAgaW50IHJvd0luZGV4ID0g
Y2VsbC0+cm93SW5kZXgoKTsKLSAgICAgICAgICAgIGF1dG8gcm93SGVpZ2h0ID0gbV9yb3dQb3Nb
cm93SW5kZXggKyBjZWxsLT5yb3dTcGFuKCldIC0gbV9yb3dQb3Nbcm93SW5kZXhdIC0gdnNwYWNp
bmc7CisgICAgICAgICAgICAgICAgYXV0byBsb2dpY2FsSGVpZ2h0Rm9ySW50cmluc2ljUGFkZGlu
ZyA9ICFjZWxsLT5pc09ydGhvZ29uYWwoKSA/IHJvd0hlaWdodCA6IGNlbGxMb2dpY2FsV2lkdGhJ
blRhYmxlRGlyZWN0aW9uSW5jbHVkaW5nQ29sdW1uU3BhbigqY2VsbCwgY29sdW1uSW5kZXgsIG51
bWJlck9mRWZmZWN0aXZlQ29sdW1ucyk7CisgICAgICAgICAgICAgICAgaWYgKGNlbGwtPmNvbXB1
dGVJbnRyaW5zaWNQYWRkaW5nKGxvZ2ljYWxIZWlnaHRGb3JJbnRyaW5zaWNQYWRkaW5nKSkgewor
ICAgICAgICAgICAgICAgICAgICAvLyBGSVhNRTogQ2hhbmdpbmcgYW4gaW50cmluc2ljIHBhZGRp
bmcgc2hvdWxkbid0IHRyaWdnZXIgYSByZWxheW91dCBhcyBpdCBvbmx5IHNoaWZ0cyB0aGUgY2Vs
bCBpbnNpZGUgdGhlIHJvdyBidXQgZG9lc24ndCBjaGFuZ2UgdGhlIGxvZ2ljYWwgaGVpZ2h0Lgor
ICAgICAgICAgICAgICAgICAgICBjZWxsLT5zZXRDaGlsZE5lZWRzTGF5b3V0KE1hcmtpbmdCZWhh
dmlvcjo6TWFya09ubHlUaGlzKTsKKyAgICAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIHJl
bGF5b3V0Q2VsbElmRmxleGVkKCpjZWxsLCByb3dJbmRleCwgcm93SGVpZ2h0KTsKKyAgICAgICAg
ICAgICAgICBMYXlvdXRSZWN0IG9sZENlbGxSZWN0ID0gY2VsbC0+ZnJhbWVSZWN0KCk7CiAKLSAg
ICAgICAgICAgIGF1dG8gbG9naWNhbEhlaWdodEZvckludHJpbnNpY1BhZGRpbmcgPSAhY2VsbC0+
aXNPcnRob2dvbmFsKCkgPyByb3dIZWlnaHQgOiBjZWxsTG9naWNhbFdpZHRoSW5UYWJsZURpcmVj
dGlvbkluY2x1ZGluZ0NvbHVtblNwYW4oKmNlbGwsIGNvbHVtbkluZGV4LCBudW1iZXJPZkVmZmVj
dGl2ZUNvbHVtbnMpOwotICAgICAgICAgICAgaWYgKGNlbGwtPmNvbXB1dGVJbnRyaW5zaWNQYWRk
aW5nKGxvZ2ljYWxIZWlnaHRGb3JJbnRyaW5zaWNQYWRkaW5nKSkgewotICAgICAgICAgICAgICAg
IC8vIEZJWE1FOiBDaGFuZ2luZyBhbiBpbnRyaW5zaWMgcGFkZGluZyBzaG91bGRuJ3QgdHJpZ2dl
ciBhIHJlbGF5b3V0IGFzIGl0IG9ubHkgc2hpZnRzIHRoZSBjZWxsIGluc2lkZSB0aGUgcm93IGJ1
dCBkb2Vzbid0IGNoYW5nZSB0aGUgbG9naWNhbCBoZWlnaHQuCi0gICAgICAgICAgICAgICAgY2Vs
bC0+c2V0Q2hpbGROZWVkc0xheW91dChNYXJraW5nQmVoYXZpb3I6Ok1hcmtPbmx5VGhpcyk7Ci0g
ICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgc2V0TG9naWNhbFBvc2l0aW9uRm9yQ2VsbChj
ZWxsLCBjb2x1bW5JbmRleCk7CiAKLSAgICAgICAgICAgIExheW91dFJlY3Qgb2xkQ2VsbFJlY3Qg
PSBjZWxsLT5mcmFtZVJlY3QoKTsKKyAgICAgICAgICAgICAgICBhdXRvKiBsYXlvdXRTdGF0ZSA9
IHZpZXcoKS5mcmFtZVZpZXcoKS5sYXlvdXRDb250ZXh0KCkubGF5b3V0U3RhdGUoKTsKKyAgICAg
ICAgICAgICAgICBpZiAoIWNlbGwtPm5lZWRzTGF5b3V0KCkgJiYgbGF5b3V0U3RhdGUtPnBhZ2VM
b2dpY2FsSGVpZ2h0KCkgJiYgbGF5b3V0U3RhdGUtPnBhZ2VMb2dpY2FsT2Zmc2V0KGNlbGwsIGNl
bGwtPmxvZ2ljYWxUb3AoKSkgIT0gY2VsbC0+cGFnZUxvZ2ljYWxPZmZzZXQoKSkKKyAgICAgICAg
ICAgICAgICAgICAgY2VsbC0+c2V0Q2hpbGROZWVkc0xheW91dChNYXJraW5nQmVoYXZpb3I6Ok1h
cmtPbmx5VGhpcyk7CiAKLSAgICAgICAgICAgIHNldExvZ2ljYWxQb3NpdGlvbkZvckNlbGwoY2Vs
bCwgY29sdW1uSW5kZXgpOworICAgICAgICAgICAgICAgIGlmIChjZWxsLT5pc09ydGhvZ29uYWwo
KSkgeworICAgICAgICAgICAgICAgICAgICBjZWxsLT5zZXROZWVkc0xheW91dChNYXJraW5nQmVo
YXZpb3I6Ok1hcmtPbmx5VGhpcyk7CisgICAgICAgICAgICAgICAgICAgIGNlbGwtPnNldE92ZXJy
aWRpbmdCb3JkZXJCb3hMb2dpY2FsV2lkdGgocm93SGVpZ2h0KTsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICAgICAgY2VsbC0+bGF5b3V0SWZOZWVkZWQoKTsKKworICAgICAgICAgICAg
ICAgIC8vIEZJWE1FOiBNYWtlIHBhZ2luYXRpb24gd29yayB3aXRoIHZlcnRpY2FsIHRhYmxlcy4K
KyAgICAgICAgICAgICAgICBpZiAobGF5b3V0U3RhdGUtPnBhZ2VMb2dpY2FsSGVpZ2h0KCkgJiYg
Y2VsbC0+bG9naWNhbEhlaWdodCgpICE9IHJvd0hlaWdodCkgeworICAgICAgICAgICAgICAgICAg
ICAvLyBGSVhNRTogUGFnaW5hdGlvbiBtaWdodCBoYXZlIG1hZGUgdXMgY2hhbmdlIHNpemUuIEZv
ciBub3cganVzdCBzaHJpbmsgb3IgZ3JvdyB0aGUgY2VsbCB0byBmaXQgd2l0aG91dCBkb2luZyBh
IHJlbGF5b3V0LgorICAgICAgICAgICAgICAgICAgICAvLyBXZSdsbCBhbHNvIGRvIGEgYmFzaWMg
aW5jcmVhc2Ugb2YgdGhlIHJvdyBoZWlnaHQgdG8gYWNjb21tb2RhdGUgdGhlIGNlbGwgaWYgaXQn
cyBiaWdnZXIsIGJ1dCB0aGlzIGlzbid0IHF1aXRlIHJpZ2h0CisgICAgICAgICAgICAgICAgICAg
IC8vIGVpdGhlci4gSXQncyBhdCBsZWFzdCBzdGFibGUgdGhvdWdoIGFuZCB3b24ndCByZXN1bHQg
aW4gYW4gaW5maW5pdGUgIyBvZiByZWxheW91dHMgdGhhdCBtYXkgbmV2ZXIgc3RhYmlsaXplLgor
ICAgICAgICAgICAgICAgICAgICBpZiAoY2VsbC0+bG9naWNhbEhlaWdodCgpID4gcm93SGVpZ2h0
KQorICAgICAgICAgICAgICAgICAgICAgICAgcm93SGVpZ2h0SW5jcmVhc2VGb3JQYWdpbmF0aW9u
ID0gc3RkOjptYXgocm93SGVpZ2h0SW5jcmVhc2VGb3JQYWdpbmF0aW9uLCBjZWxsLT5sb2dpY2Fs
SGVpZ2h0KCkgLSByb3dIZWlnaHQpOworICAgICAgICAgICAgICAgICAgICBjZWxsLT5zZXRMb2dp
Y2FsSGVpZ2h0KHJvd0hlaWdodCk7CisgICAgICAgICAgICAgICAgfQogCi0gICAgICAgICAgICBh
dXRvKiBsYXlvdXRTdGF0ZSA9IHZpZXcoKS5mcmFtZVZpZXcoKS5sYXlvdXRDb250ZXh0KCkubGF5
b3V0U3RhdGUoKTsKLSAgICAgICAgICAgIGlmICghY2VsbC0+bmVlZHNMYXlvdXQoKSAmJiBsYXlv
dXRTdGF0ZS0+cGFnZUxvZ2ljYWxIZWlnaHQoKSAmJiBsYXlvdXRTdGF0ZS0+cGFnZUxvZ2ljYWxP
ZmZzZXQoY2VsbCwgY2VsbC0+bG9naWNhbFRvcCgpKSAhPSBjZWxsLT5wYWdlTG9naWNhbE9mZnNl
dCgpKQotICAgICAgICAgICAgICAgIGNlbGwtPnNldENoaWxkTmVlZHNMYXlvdXQoTWFya2luZ0Jl
aGF2aW9yOjpNYXJrT25seVRoaXMpOworICAgICAgICAgICAgICAgIExheW91dFNpemUgY2hpbGRP
ZmZzZXQoY2VsbC0+bG9jYXRpb24oKSAtIG9sZENlbGxSZWN0LmxvY2F0aW9uKCkpOworICAgICAg
ICAgICAgICAgIGlmIChjaGlsZE9mZnNldC53aWR0aCgpIHx8IGNoaWxkT2Zmc2V0LmhlaWdodCgp
KSB7CisgICAgICAgICAgICAgICAgICAgIHZpZXcoKS5mcmFtZVZpZXcoKS5sYXlvdXRDb250ZXh0
KCkuYWRkTGF5b3V0RGVsdGEoY2hpbGRPZmZzZXQpOwogCi0gICAgICAgICAgICBpZiAoY2VsbC0+
aXNPcnRob2dvbmFsKCkpIHsKLSAgICAgICAgICAgICAgICBjZWxsLT5zZXROZWVkc0xheW91dChN
YXJraW5nQmVoYXZpb3I6Ok1hcmtPbmx5VGhpcyk7Ci0gICAgICAgICAgICAgICAgY2VsbC0+c2V0
T3ZlcnJpZGluZ0JvcmRlckJveExvZ2ljYWxXaWR0aChyb3dIZWlnaHQpOworICAgICAgICAgICAg
ICAgICAgICAvLyBJZiB0aGUgY2hpbGQgbW92ZWQsIHdlIGhhdmUgdG8gcmVwYWludCBpdCBhcyB3
ZWxsIGFzIGFueSBmbG9hdGluZy9wb3NpdGlvbmVkCisgICAgICAgICAgICAgICAgICAgIC8vIGRl
c2NlbmRhbnRzLiBBbiBleGNlcHRpb24gaXMgaWYgd2UgbmVlZCBhIGxheW91dC4gSW4gdGhpcyBj
YXNlLCB3ZSBrbm93IHdlJ3JlIGdvaW5nIHRvCisgICAgICAgICAgICAgICAgICAgIC8vIHJlcGFp
bnQgb3Vyc2VsdmVzIChhbmQgdGhlIGNoaWxkKSBhbnl3YXkuCisgICAgICAgICAgICAgICAgICAg
IGlmICghdGFibGUoKS0+c2VsZk5lZWRzTGF5b3V0KCkgJiYgY2VsbC0+Y2hlY2tGb3JSZXBhaW50
RHVyaW5nTGF5b3V0KCkpCisgICAgICAgICAgICAgICAgICAgICAgICBjZWxsLT5yZXBhaW50RHVy
aW5nTGF5b3V0SWZNb3ZlZChvbGRDZWxsUmVjdCk7CisgICAgICAgICAgICAgICAgfQogICAgICAg
ICAgICAgfQotICAgICAgICAgICAgY2VsbC0+bGF5b3V0SWZOZWVkZWQoKTsKLQotICAgICAgICAg
ICAgLy8gRklYTUU6IE1ha2UgcGFnaW5hdGlvbiB3b3JrIHdpdGggdmVydGljYWwgdGFibGVzLgot
ICAgICAgICAgICAgaWYgKGxheW91dFN0YXRlLT5wYWdlTG9naWNhbEhlaWdodCgpICYmIGNlbGwt
PmxvZ2ljYWxIZWlnaHQoKSAhPSByb3dIZWlnaHQpIHsKLSAgICAgICAgICAgICAgICAvLyBGSVhN
RTogUGFnaW5hdGlvbiBtaWdodCBoYXZlIG1hZGUgdXMgY2hhbmdlIHNpemUuIEZvciBub3cganVz
dCBzaHJpbmsgb3IgZ3JvdyB0aGUgY2VsbCB0byBmaXQgd2l0aG91dCBkb2luZyBhIHJlbGF5b3V0
LgotICAgICAgICAgICAgICAgIC8vIFdlJ2xsIGFsc28gZG8gYSBiYXNpYyBpbmNyZWFzZSBvZiB0
aGUgcm93IGhlaWdodCB0byBhY2NvbW1vZGF0ZSB0aGUgY2VsbCBpZiBpdCdzIGJpZ2dlciwgYnV0
IHRoaXMgaXNuJ3QgcXVpdGUgcmlnaHQKLSAgICAgICAgICAgICAgICAvLyBlaXRoZXIuIEl0J3Mg
YXQgbGVhc3Qgc3RhYmxlIHRob3VnaCBhbmQgd29uJ3QgcmVzdWx0IGluIGFuIGluZmluaXRlICMg
b2YgcmVsYXlvdXRzIHRoYXQgbWF5IG5ldmVyIHN0YWJpbGl6ZS4KLSAgICAgICAgICAgICAgICBp
ZiAoY2VsbC0+bG9naWNhbEhlaWdodCgpID4gcm93SGVpZ2h0KQotICAgICAgICAgICAgICAgICAg
ICByb3dIZWlnaHRJbmNyZWFzZUZvclBhZ2luYXRpb24gPSBzdGQ6Om1heChyb3dIZWlnaHRJbmNy
ZWFzZUZvclBhZ2luYXRpb24sIGNlbGwtPmxvZ2ljYWxIZWlnaHQoKSAtIHJvd0hlaWdodCk7Ci0g
ICAgICAgICAgICAgICAgY2VsbC0+c2V0TG9naWNhbEhlaWdodChyb3dIZWlnaHQpOworICAgICAg
ICAgICAgaWYgKHJvd0hlaWdodEluY3JlYXNlRm9yUGFnaW5hdGlvbikgeworICAgICAgICAgICAg
ICAgIGZvciAoc2l6ZV90IGluZGV4ID0gcm93SW5kZXggKyAxOyBpbmRleCA8PSBudW1iZXJPZlJv
d3M7ICsraW5kZXgpCisgICAgICAgICAgICAgICAgICAgIG1fcm93UG9zW2luZGV4XSArPSByb3dI
ZWlnaHRJbmNyZWFzZUZvclBhZ2luYXRpb247CisgICAgICAgICAgICAgICAgZm9yIChzaXplX3Qg
aW5kZXggPSAwOyBpbmRleCA8IG51bWJlck9mRWZmZWN0aXZlQ29sdW1uczsgKytpbmRleCkgewor
ICAgICAgICAgICAgICAgICAgICBWZWN0b3I8UmVuZGVyVGFibGVDZWxsKiwgMT4mIGNlbGxzID0g
Y2VsbEF0KHJvd0luZGV4LCBpbmRleCkuY2VsbHM7CisgICAgICAgICAgICAgICAgICAgIGZvciAo
c2l6ZV90IGNlbGxJbmRleCA9IDA7IGNlbGxJbmRleCA8IGNlbGxzLnNpemUoKTsgKytjZWxsSW5k
ZXgpCisgICAgICAgICAgICAgICAgICAgICAgICBjZWxsc1tjZWxsSW5kZXhdLT5zZXRMb2dpY2Fs
SGVpZ2h0KGNlbGxzW2NlbGxJbmRleF0tPmxvZ2ljYWxIZWlnaHQoKSArIHJvd0hlaWdodEluY3Jl
YXNlRm9yUGFnaW5hdGlvbik7CisgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQorICAg
ICAgICB9OwogCi0gICAgICAgICAgICBMYXlvdXRTaXplIGNoaWxkT2Zmc2V0KGNlbGwtPmxvY2F0
aW9uKCkgLSBvbGRDZWxsUmVjdC5sb2NhdGlvbigpKTsKLSAgICAgICAgICAgIGlmIChjaGlsZE9m
ZnNldC53aWR0aCgpIHx8IGNoaWxkT2Zmc2V0LmhlaWdodCgpKSB7Ci0gICAgICAgICAgICAgICAg
dmlldygpLmZyYW1lVmlldygpLmxheW91dENvbnRleHQoKS5hZGRMYXlvdXREZWx0YShjaGlsZE9m
ZnNldCk7CisgICAgICAgIGlmIChDaGVja2VkUHRyIHJvd1JlbmRlcmVyID0gbV9ncmlkW3Jvd0lu
ZGV4XS5yb3dSZW5kZXJlcikgeworICAgICAgICAgICAgLy8gRklYTUU6IHRoZSB4KCkgcG9zaXRp
b24gb2YgdGhlIHJvdyBzaG91bGQgYmUgdGFibGUoKS0+aEJvcmRlclNwYWNpbmcoKSBzbyB0aGF0
IGl0IGNhbgorICAgICAgICAgICAgLy8gcmVwb3J0IHRoZSBjb3JyZWN0IG9mZnNldExlZnQuIEhv
d2V2ZXIsIHRoYXQgd2lsbCByZXF1aXJlIGEgbG90IG9mIHJlYmFzZWxpbmluZyBvZiB0ZXN0IHJl
c3VsdHMuCisgICAgICAgICAgICByb3dSZW5kZXJlci0+c2V0TG9naWNhbExvY2F0aW9uKHsgMF9s
dSwgbV9yb3dQb3Nbcm93SW5kZXhdIH0pOworICAgICAgICAgICAgcm93UmVuZGVyZXItPnNldExv
Z2ljYWxXaWR0aChsb2dpY2FsV2lkdGgoKSk7CiAKLSAgICAgICAgICAgICAgICAvLyBJZiB0aGUg
Y2hpbGQgbW92ZWQsIHdlIGhhdmUgdG8gcmVwYWludCBpdCBhcyB3ZWxsIGFzIGFueSBmbG9hdGlu
Zy9wb3NpdGlvbmVkCi0gICAgICAgICAgICAgICAgLy8gZGVzY2VuZGFudHMuICBBbiBleGNlcHRp
b24gaXMgaWYgd2UgbmVlZCBhIGxheW91dC4gIEluIHRoaXMgY2FzZSwgd2Uga25vdyB3ZSdyZSBn
b2luZyB0bwotICAgICAgICAgICAgICAgIC8vIHJlcGFpbnQgb3Vyc2VsdmVzIChhbmQgdGhlIGNo
aWxkKSBhbnl3YXkuCi0gICAgICAgICAgICAgICAgaWYgKCF0YWJsZSgpLT5zZWxmTmVlZHNMYXlv
dXQoKSAmJiBjZWxsLT5jaGVja0ZvclJlcGFpbnREdXJpbmdMYXlvdXQoKSkKLSAgICAgICAgICAg
ICAgICAgICAgY2VsbC0+cmVwYWludER1cmluZ0xheW91dElmTW92ZWQob2xkQ2VsbFJlY3QpOwot
ICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICAgIGlmIChyb3dIZWlnaHRJbmNyZWFzZUZv
clBhZ2luYXRpb24pIHsKLSAgICAgICAgICAgIGZvciAoc2l6ZV90IGluZGV4ID0gcm93SW5kZXgg
KyAxOyBpbmRleCA8PSBudW1iZXJPZlJvd3M7ICsraW5kZXgpCi0gICAgICAgICAgICAgICAgbV9y
b3dQb3NbaW5kZXhdICs9IHJvd0hlaWdodEluY3JlYXNlRm9yUGFnaW5hdGlvbjsKLSAgICAgICAg
ICAgIGZvciAoc2l6ZV90IGluZGV4ID0gMDsgaW5kZXggPCBudW1iZXJPZkVmZmVjdGl2ZUNvbHVt
bnM7ICsraW5kZXgpIHsKLSAgICAgICAgICAgICAgICBWZWN0b3I8UmVuZGVyVGFibGVDZWxsKiwg
MT4mIGNlbGxzID0gY2VsbEF0KHJvd0luZGV4LCBpbmRleCkuY2VsbHM7Ci0gICAgICAgICAgICAg
ICAgZm9yIChzaXplX3QgY2VsbEluZGV4ID0gMDsgY2VsbEluZGV4IDwgY2VsbHMuc2l6ZSgpOyAr
K2NlbGxJbmRleCkKLSAgICAgICAgICAgICAgICAgICAgY2VsbHNbY2VsbEluZGV4XS0+c2V0TG9n
aWNhbEhlaWdodChjZWxsc1tjZWxsSW5kZXhdLT5sb2dpY2FsSGVpZ2h0KCkgKyByb3dIZWlnaHRJ
bmNyZWFzZUZvclBhZ2luYXRpb24pOwotICAgICAgICAgICAgfQotICAgICAgICB9CisgICAgICAg
ICAgICBMYXlvdXRVbml0IHJvd0xvZ2ljYWxIZWlnaHQ7CisgICAgICAgICAgICBhdXRvIHJvd0hh
c1Zpc2liaWxpdHlDb2xsYXBzZSA9IChtX2dyaWRbcm93SW5kZXhdLnJvd1JlbmRlcmVyICYmIG1f
Z3JpZFtyb3dJbmRleF0ucm93UmVuZGVyZXItPnN0eWxlKCkudmlzaWJpbGl0eSgpID09IFZpc2li
aWxpdHk6OkNvbGxhcHNlKSB8fCBzdHlsZSgpLnZpc2liaWxpdHkoKSA9PSBWaXNpYmlsaXR5OjpD
b2xsYXBzZTsKKyAgICAgICAgICAgIGlmICghcm93SGFzVmlzaWJpbGl0eUNvbGxhcHNlKQorICAg
ICAgICAgICAgICAgIHJvd0xvZ2ljYWxIZWlnaHQgPSBtX3Jvd1Bvc1tyb3dJbmRleCArIDFdIC0g
bV9yb3dQb3Nbcm93SW5kZXhdIC0gdnNwYWNpbmc7CisKKyAgICAgICAgICAgIEFTU0VSVChyb3dM
b2dpY2FsSGVpZ2h0ID49IDApOworICAgICAgICAgICAgcm93UmVuZGVyZXItPnNldExvZ2ljYWxI
ZWlnaHQocm93TG9naWNhbEhlaWdodCk7CisgICAgICAgICAgICByb3dSZW5kZXJlci0+dXBkYXRl
TGF5ZXJUcmFuc2Zvcm0oKTsKKworICAgICAgICAgICAgLy8gUHVzaCB0aGUgcm93J3Mgb2Zmc2V0
IG9udG8gdGhlIGxheW91dCBzdGF0ZSBzbyB0aGF0IHBhZ2luYXRpb24gb2Zmc2V0cworICAgICAg
ICAgICAgLy8gYXJlIGNvbnNpc3RlbnQgd2l0aCB3aGF0IFJlbmRlclRhYmxlUm93OjpsYXlvdXQo
KSBwdXNoZXMuCisgICAgICAgICAgICBMYXlvdXRTdGF0ZU1haW50YWluZXIgcm93U3RhdGVQdXNo
ZXIoKnJvd1JlbmRlcmVyLCByb3dSZW5kZXJlci0+bG9jYXRpb25PZmZzZXQoKSk7CisgICAgICAg
ICAgICBsYXlvdXRDZWxscygpOworCisgICAgICAgICAgICByb3dSZW5kZXJlci0+Y2xlYXJPdmVy
ZmxvdygpOworICAgICAgICAgICAgcm93UmVuZGVyZXItPmFkZFZpc3VhbEVmZmVjdE92ZXJmbG93
KCk7CisgICAgICAgICAgICByb3dSZW5kZXJlci0+YWRkT3ZlcmZsb3dGcm9tSW5GbG93Q2hpbGRy
ZW4oKTsKKyAgICAgICAgICAgIHJvd1JlbmRlcmVyLT5sYXlvdXRPdXRPZkZsb3dCb3hlcyhSZWxh
eW91dENoaWxkcmVuOjpZZXMpOworICAgICAgICAgICAgcm93UmVuZGVyZXItPmNsZWFyTmVlZHNM
YXlvdXQoKTsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICBsYXlvdXRDZWxscygpOwogICAg
IH0KIAogICAgIEFTU0VSVCghbmVlZHNMYXlvdXQoKSk7CkBAIC03MjgsOCArNzM2LDExIEBAIHZv
aWQgUmVuZGVyVGFibGVTZWN0aW9uOjpjb21wdXRlT3ZlcmZsb3dGcm9tQ2VsbHModW5zaWduZWQg
dG90YWxSb3dzLCB1bnNpZ25lZCBuCiAjaWYgQVNTRVJUX0VOQUJMRUQKICAgICBib29sIGhhc092
ZXJmbG93aW5nQ2VsbCA9IGZhbHNlOwogI2VuZGlmCi0gICAgLy8gTm93IHRoYXQgb3VyIGhlaWdo
dCBoYXMgYmVlbiBkZXRlcm1pbmVkLCBhZGQgaW4gb3ZlcmZsb3cgZnJvbSBjZWxscy4KKyAgICAv
LyBOb3cgdGhhdCBvdXIgaGVpZ2h0IGhhcyBiZWVuIGRldGVybWluZWQsIGFkZCBpbiBvdmVyZmxv
dyBmcm9tIHJvd3MgKHdoaWNoCisgICAgLy8gYWxyZWFkeSBpbmNsdWRlIGNlbGwgb3ZlcmZsb3cg
ZnJvbSBhZGRPdmVyZmxvd0Zyb21JbkZsb3dDaGlsZHJlbiBpbiBsYXlvdXRSb3dzKS4KICAgICBm
b3IgKHVuc2lnbmVkIHIgPSAwOyByIDwgdG90YWxSb3dzOyByKyspIHsKKyAgICAgICAgaWYgKENo
ZWNrZWRQdHIgcm93ID0gbV9ncmlkW3JdLnJvd1JlbmRlcmVyKQorICAgICAgICAgICAgYWRkT3Zl
cmZsb3dGcm9tQ29udGFpbmVkQm94KCpyb3cpOwogICAgICAgICBmb3IgKHVuc2lnbmVkIGMgPSAw
OyBjIDwgbkVmZkNvbHM7IGMrKykgewogICAgICAgICAgICAgQ2VsbFN0cnVjdCYgY3MgPSBjZWxs
QXQociwgYyk7CiAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwqIGNlbGwgPSBjcy5wcmltYXJ5
Q2VsbCgpOwpAQCAtNzM3LDcgKzc0OCw2IEBAIHZvaWQgUmVuZGVyVGFibGVTZWN0aW9uOjpjb21w
dXRlT3ZlcmZsb3dGcm9tQ2VsbHModW5zaWduZWQgdG90YWxSb3dzLCB1bnNpZ25lZCBuCiAgICAg
ICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICBpZiAociA8IHRvdGFsUm93cyAtIDEg
JiYgY2VsbCA9PSBwcmltYXJ5Q2VsbEF0KHIgKyAxLCBjKSkKICAgICAgICAgICAgICAgICBjb250
aW51ZTsKLSAgICAgICAgICAgIGFkZE92ZXJmbG93RnJvbUNvbnRhaW5lZEJveCgqY2VsbCk7CiAj
aWYgQVNTRVJUX0VOQUJMRUQKICAgICAgICAgICAgIGhhc092ZXJmbG93aW5nQ2VsbCB8PSBjZWxs
LT5oYXNWaXN1YWxPdmVyZmxvdygpOwogI2VuZGlmCkBAIC05NDAsNyArOTUwLDcgQEAgc3RkOjpv
cHRpb25hbDxMYXlvdXRVbml0PiBSZW5kZXJUYWJsZVNlY3Rpb246OmJhc2VsaW5lRnJvbUNlbGxD
b250ZW50RWRnZXMoSXRlbVAKICAgICAgICAgY29uc3QgUmVuZGVyVGFibGVDZWxsKiBjZWxsID0g
Y3MucHJpbWFyeUNlbGwoKTsKICAgICAgICAgLy8gT25seSBjZWxscyB3aXRoIGNvbnRlbnQgaGF2
ZSBhIGJhc2VsaW5lCiAgICAgICAgIGlmIChjZWxsICYmIGNlbGwtPmNvbnRlbnRCb3hMb2dpY2Fs
SGVpZ2h0KCkpIHsKLSAgICAgICAgICAgIExheW91dFVuaXQgY2FuZGlkYXRlID0gY2VsbC0+bG9n
aWNhbFRvcCgpICsgY2VsbC0+Ym9yZGVyQW5kUGFkZGluZ0JlZm9yZSgpICsgY2VsbC0+Y29udGVu
dEJveExvZ2ljYWxIZWlnaHQoKTsKKyAgICAgICAgICAgIExheW91dFVuaXQgY2FuZGlkYXRlID0g
bV9yb3dQb3NbY2VsbC0+cm93SW5kZXgoKV0gKyBjZWxsLT5ib3JkZXJBbmRQYWRkaW5nQmVmb3Jl
KCkgKyBjZWxsLT5jb250ZW50Qm94TG9naWNhbEhlaWdodCgpOwogICAgICAgICAgICAgcmVzdWx0
ID0gc3RkOjptYXgocmVzdWx0LnZhbHVlX29yKGNhbmRpZGF0ZSksIGNhbmRpZGF0ZSk7CiAgICAg
ICAgIH0KICAgICB9CkBAIC05ODksOSArOTk5LDExIEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBOT0RF
TEVURSBjb21wYXJlQ2VsbFBvc2l0aW9uc1dpdGhPdmVyZmxvd2luZ0NlbGxzKGNvbnN0IFNpbmds
CiAKIHZvaWQgUmVuZGVyVGFibGVTZWN0aW9uOjpwYWludENlbGwoUmVuZGVyVGFibGVDZWxsKiBj
ZWxsLCBQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2Zmc2V0
KQogewotICAgIExheW91dFBvaW50IGNlbGxQb2ludCA9IGZsaXBGb3JXcml0aW5nTW9kZUZvckNo
aWxkKCpjZWxsLCBwYWludE9mZnNldCk7CisgICAgYXV0byYgcm93ID0gZG93bmNhc3Q8UmVuZGVy
VGFibGVSb3c+KCpjZWxsLT5wYXJlbnQoKSk7CisgICAgYXV0byByb3dCYWNrZ3JvdW5kUGFpbnRP
ZmZzZXQgPSBmbGlwRm9yV3JpdGluZ01vZGVGb3JDaGlsZChyb3csIHBhaW50T2Zmc2V0KTsKKyAg
ICBhdXRvIHJvd1BhaW50T2Zmc2V0ID0gcm93QmFja2dyb3VuZFBhaW50T2Zmc2V0ICsgcm93Lmxv
Y2F0aW9uKCk7CisgICAgYXV0byBjZWxsUG9pbnQgPSByb3cuZmxpcEZvcldyaXRpbmdNb2RlRm9y
Q2hpbGQoKmNlbGwsIHJvd1BhaW50T2Zmc2V0KTsKICAgICBQYWludFBoYXNlIHBhaW50UGhhc2Ug
PSBwYWludEluZm8ucGhhc2U7Ci0gICAgUmVuZGVyVGFibGVSb3cmIHJvdyA9IGRvd25jYXN0PFJl
bmRlclRhYmxlUm93PigqY2VsbC0+cGFyZW50KCkpOwogCiAgICAgaWYgKHBhaW50UGhhc2UgPT0g
UGFpbnRQaGFzZTo6QmxvY2tCYWNrZ3JvdW5kIHx8IHBhaW50UGhhc2UgPT0gUGFpbnRQaGFzZTo6
Q2hpbGRCbG9ja0JhY2tncm91bmQpIHsKICAgICAgICAgLy8gV2UgbmVlZCB0byBoYW5kbGUgcGFp
bnRpbmcgYSBzdGFjayBvZiBiYWNrZ3JvdW5kcy4gIFRoaXMgc3RhY2sgKGZyb20gYm90dG9tIHRv
IHRvcCkgY29uc2lzdHMgb2YKQEAgLTEwMTQsNyArMTAyNiw3IEBAIHZvaWQgUmVuZGVyVGFibGVT
ZWN0aW9uOjpwYWludENlbGwoUmVuZGVyVGFibGVDZWxsKiBjZWxsLCBQYWludEluZm8mIHBhaW50
SW5mbywKICAgICAgICAgLy8gUGFpbnQgdGhlIHJvdyBuZXh0LCBidXQgb25seSBpZiBpdCBkb2Vz
bid0IGhhdmUgYSBsYXllci4gIElmIGEgcm93IGhhcyBhIGxheWVyLCBpdCB3aWxsIGJlIHJlc3Bv
bnNpYmxlIGZvcgogICAgICAgICAvLyBwYWludGluZyB0aGUgcm93IGJhY2tncm91bmQgZm9yIHRo
ZSBjZWxsLgogICAgICAgICBpZiAoIXJvdy5oYXNTZWxmUGFpbnRpbmdMYXllcigpKQotICAgICAg
ICAgICAgY2VsbC0+cGFpbnRCYWNrZ3JvdW5kc0JlaGluZENlbGwocGFpbnRJbmZvLCBjZWxsUG9p
bnQsICZyb3csIGNlbGxQb2ludCk7CisgICAgICAgICAgICBjZWxsLT5wYWludEJhY2tncm91bmRz
QmVoaW5kQ2VsbChwYWludEluZm8sIGNlbGxQb2ludCwgJnJvdywgcm93QmFja2dyb3VuZFBhaW50
T2Zmc2V0KTsKICAgICB9CiAgICAgaWYgKCghY2VsbC0+aGFzU2VsZlBhaW50aW5nTGF5ZXIoKSAm
JiAhcm93Lmhhc1NlbGZQYWludGluZ0xheWVyKCkpKQogICAgICAgICBjZWxsLT5wYWludChwYWlu
dEluZm8sIGNlbGxQb2ludCk7CkBAIC0xNDA4LDcgKzE0MjAsOSBAQCB2b2lkIFJlbmRlclRhYmxl
U2VjdGlvbjo6cGFpbnRPYmplY3QoUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IExheW91dFBv
aW50JiBwYQogICAgICAgICAgICAgICAgICAgICBzaG91bGRQYWludFJvd0dyb3VwQm9yZGVyID0g
ZmFsc2U7CiAgICAgICAgICAgICAgICAgfQogCi0gICAgICAgICAgICAgICAgYXV0byBjZWxsUG9p
bnQgPSBmbGlwRm9yV3JpdGluZ01vZGVGb3JDaGlsZCgqY2VsbCwgcGFpbnRPZmZzZXQpOworICAg
ICAgICAgICAgICAgIGF1dG8mIHJvdyA9IGRvd25jYXN0PFJlbmRlclRhYmxlUm93PigqY2VsbC0+
cGFyZW50KCkpOworICAgICAgICAgICAgICAgIGF1dG8gcm93UGFpbnRPZmZzZXQgPSBmbGlwRm9y
V3JpdGluZ01vZGVGb3JDaGlsZChyb3csIHBhaW50T2Zmc2V0KSArIHJvdy5sb2NhdGlvbigpOwor
ICAgICAgICAgICAgICAgIGF1dG8gY2VsbFBvaW50ID0gcm93LmZsaXBGb3JXcml0aW5nTW9kZUZv
ckNoaWxkKCpjZWxsLCByb3dQYWludE9mZnNldCk7CiAgICAgICAgICAgICAgICAgY2VsbC0+cGFp
bnRDb2xsYXBzZWRCb3JkZXJzKHBhaW50SW5mbywgY2VsbFBvaW50KTsKICAgICAgICAgICAgIH0K
ICAgICAgICAgfQpAQCAtMTQ1Nyw3ICsxNDcxLDkgQEAgdm9pZCBSZW5kZXJUYWJsZVNlY3Rpb246
OnBhaW50T2JqZWN0KFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBMYXlvdXRQb2ludCYgcGEK
IAogICAgICAgICBpZiAocGFpbnRJbmZvLnBoYXNlID09IFBhaW50UGhhc2U6OkNvbGxhcHNlZFRh
YmxlQm9yZGVycykgewogICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gY2VsbHMuc2l6ZSgp
OyBpID4gMDsgLS1pKSB7Ci0gICAgICAgICAgICAgICAgYXV0byBjZWxsUG9pbnQgPSBmbGlwRm9y
V3JpdGluZ01vZGVGb3JDaGlsZCgqY2VsbHNbaSAtIDFdLCBwYWludE9mZnNldCk7CisgICAgICAg
ICAgICAgICAgYXV0byYgcm93ID0gZG93bmNhc3Q8UmVuZGVyVGFibGVSb3c+KCpjZWxsc1tpIC0g
MV0tPnBhcmVudCgpKTsKKyAgICAgICAgICAgICAgICBhdXRvIHJvd1BhaW50T2Zmc2V0ID0gZmxp
cEZvcldyaXRpbmdNb2RlRm9yQ2hpbGQocm93LCBwYWludE9mZnNldCkgKyByb3cubG9jYXRpb24o
KTsKKyAgICAgICAgICAgICAgICBhdXRvIGNlbGxQb2ludCA9IHJvdy5mbGlwRm9yV3JpdGluZ01v
ZGVGb3JDaGlsZCgqY2VsbHNbaSAtIDFdLCByb3dQYWludE9mZnNldCk7CiAgICAgICAgICAgICAg
ICAgY2VsbHNbaSAtIDFdLT5wYWludENvbGxhcHNlZEJvcmRlcnMocGFpbnRJbmZvLCBjZWxsUG9p
bnQpOwogICAgICAgICAgICAgfQogICAgICAgICB9IGVsc2UgewpAQCAtMTYyOCw3ICsxNjQ0LDgg
QEAgYm9vbCBSZW5kZXJUYWJsZVNlY3Rpb246Om5vZGVBdFBvaW50KGNvbnN0IEhpdFRlc3RSZXF1
ZXN0JiByZXF1ZXN0LCBIaXRUZXN0UmVzdWwKICAgICAgICAgICAgIC8vIHRhYmxlLXNwZWNpZmlj
IGhpdC10ZXN0IG1ldGhvZCAod2hpY2ggd2Ugc2hvdWxkIGRvIGZvciBwZXJmb3JtYW5jZSByZWFz
b25zIGFueXdheSksCiAgICAgICAgICAgICAvLyB0aGVuIHdlIGNhbiByZW1vdmUgdGhpcyBjaGVj
ay4KICAgICAgICAgICAgIGlmICghcm93LT5oYXNTZWxmUGFpbnRpbmdMYXllcigpKSB7Ci0gICAg
ICAgICAgICAgICAgaWYgKHJvdy0+bm9kZUF0UG9pbnQocmVxdWVzdCwgcmVzdWx0LCBsb2NhdGlv
bkluQ29udGFpbmVyLCBhZGp1c3RlZExvY2F0aW9uLCBhY3Rpb24pKQorICAgICAgICAgICAgICAg
IGF1dG8gcm93T2Zmc2V0ID0gZmxpcEZvcldyaXRpbmdNb2RlRm9yQ2hpbGQoKnJvdywgYWRqdXN0
ZWRMb2NhdGlvbik7CisgICAgICAgICAgICAgICAgaWYgKHJvdy0+bm9kZUF0UG9pbnQocmVxdWVz
dCwgcmVzdWx0LCBsb2NhdGlvbkluQ29udGFpbmVyLCByb3dPZmZzZXQsIGFjdGlvbikpCiAgICAg
ICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICAgfQogICAgICAgICB9CkBA
IC0xNjU2LDcgKzE2NzMsOSBAQCBib29sIFJlbmRlclRhYmxlU2VjdGlvbjo6bm9kZUF0UG9pbnQo
Y29uc3QgSGl0VGVzdFJlcXVlc3QmIHJlcXVlc3QsIEhpdFRlc3RSZXN1bAogICAgICAgICAgICAg
Zm9yICh1bnNpZ25lZCBpID0gY3VycmVudC5jZWxscy5zaXplKCkgOyBpOyApIHsKICAgICAgICAg
ICAgICAgICAtLWk7CiAgICAgICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsKiBjZWxsID0gY3Vy
cmVudC5jZWxsc1tpXTsKLSAgICAgICAgICAgICAgICBMYXlvdXRQb2ludCBjZWxsUG9pbnQgPSBm
bGlwRm9yV3JpdGluZ01vZGVGb3JDaGlsZCgqY2VsbCwgYWRqdXN0ZWRMb2NhdGlvbik7CisgICAg
ICAgICAgICAgICAgYXV0byYgcm93ID0gZG93bmNhc3Q8UmVuZGVyVGFibGVSb3c+KCpjZWxsLT5w
YXJlbnQoKSk7CisgICAgICAgICAgICAgICAgYXV0byByb3dQb2ludCA9IGZsaXBGb3JXcml0aW5n
TW9kZUZvckNoaWxkKHJvdywgYWRqdXN0ZWRMb2NhdGlvbikgKyByb3cubG9jYXRpb24oKTsKKyAg
ICAgICAgICAgICAgICBhdXRvIGNlbGxQb2ludCA9IHJvdy5mbGlwRm9yV3JpdGluZ01vZGVGb3JD
aGlsZCgqY2VsbCwgcm93UG9pbnQpOwogICAgICAgICAgICAgICAgIGlmIChzdGF0aWNfY2FzdDxS
ZW5kZXJPYmplY3QqPihjZWxsKS0+bm9kZUF0UG9pbnQocmVxdWVzdCwgcmVzdWx0LCBsb2NhdGlv
bkluQ29udGFpbmVyLCBjZWxsUG9pbnQsIGFjdGlvbikpIHsKICAgICAgICAgICAgICAgICAgICAg
dXBkYXRlSGl0VGVzdFJlc3VsdChyZXN1bHQsIGxvY2F0aW9uSW5Db250YWluZXIucG9pbnQoKSAt
IHRvTGF5b3V0U2l6ZShjZWxsUG9pbnQpKTsKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRy
dWU7CkBAIC0xNzA5LDcgKzE3MjgsNyBAQCB2b2lkIFJlbmRlclRhYmxlU2VjdGlvbjo6c2V0TG9n
aWNhbFBvc2l0aW9uRm9yQ2VsbChSZW5kZXJUYWJsZUNlbGwqIGNlbGwsIHVuc2lnbgogewogICAg
IExheW91dFBvaW50IG9sZENlbGxMb2NhdGlvbiA9IGNlbGwtPmxvY2F0aW9uKCk7CiAKLSAgICBM
YXlvdXRQb2ludCBjZWxsTG9jYXRpb24oMF9sdSwgbV9yb3dQb3NbY2VsbC0+cm93SW5kZXgoKV0p
OworICAgIExheW91dFBvaW50IGNlbGxMb2NhdGlvbigwX2x1LCAwX2x1KTsKICAgICBMYXlvdXRV
bml0IGhvcml6b250YWxCb3JkZXJTcGFjaW5nID0gdGFibGUoKS0+aEJvcmRlclNwYWNpbmcoKTsK
IAogICAgIC8vIFRoZSB0YWJsZSdzIHdyaXRpbmcgbW9kZSBkZXRlcm1pbmVzIGluIHdoaWNoIGRp
cmVjdGlvbiB0aGUgcm93cyBmbG93LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRyZWVBc1RleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRyZWVBc1RleHQuY3BwCmluZGV4IDc2OTM3NmMzNzM2Yi4uY2M1ODk4ZGM2NDJhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuY3BwCkBAIC0yMjgsNyAr
MjI4LDkgQEAgdm9pZCBSZW5kZXJUcmVlQXNUZXh0Ojp3cml0ZVJlbmRlck9iamVjdChUZXh0U3Ry
ZWFtJiB0cywgY29uc3QgUmVuZGVyT2JqZWN0JiBvLAogICAgICAgICAvLyBGSVhNRTogRGVsaWJl
cmF0ZWx5IGR1bXAgdGhlICJpbm5lciIgYm94IG9mIHRhYmxlIGNlbGxzLCBzaW5jZSB0aGF0IGlz
IHdoYXQgY3VycmVudCByZXN1bHRzIHJlZmxlY3QuICBXZSdkIGxpa2UKICAgICAgICAgLy8gdG8g
Y2xlYW4gdXAgdGhlIHJlc3VsdHMgdG8gZHVtcCBib3RoIHRoZSBvdXRlciBib3ggYW5kIHRoZSBp
bnRyaW5zaWMgcGFkZGluZyBzbyB0aGF0IGJvdGggYml0cyBvZiBpbmZvcm1hdGlvbiBhcmUKICAg
ICAgICAgLy8gY2FwdHVyZWQgYnkgdGhlIHJlc3VsdHMuCi0gICAgICAgIHIgPSBMYXlvdXRSZWN0
KGNlbGwtPngoKSwgY2VsbC0+eSgpICsgY2VsbC0+aW50cmluc2ljUGFkZGluZ0JlZm9yZSgpLCBj
ZWxsLT53aWR0aCgpLCBjZWxsLT5oZWlnaHQoKSAtIGNlbGwtPmludHJpbnNpY1BhZGRpbmdCZWZv
cmUoKSAtIGNlbGwtPmludHJpbnNpY1BhZGRpbmdBZnRlcigpKTsKKyAgICAgICAgLy8gRklYTUU6
IENlbGwgcG9zaXRpb25zIGFyZSByb3ctcmVsYXRpdmUgYnV0IHdlIGR1bXAgdGhlbSBhcyBzZWN0
aW9uLXJlbGF0aXZlIHRvIGF2b2lkIHJlYmFzZWxpbmluZyBldmVyeSB0YWJsZSB0ZXN0LgorICAg
ICAgICBhdXRvIHJvd09mZnNldCA9IGNlbGwtPnBhcmVudCgpID8gZG93bmNhc3Q8UmVuZGVyQm94
PigqY2VsbC0+cGFyZW50KCkpLmxvY2F0aW9uKCkgOiBMYXlvdXRQb2ludCgpOworICAgICAgICBy
ID0gTGF5b3V0UmVjdChjZWxsLT54KCkgKyByb3dPZmZzZXQueCgpLCBjZWxsLT55KCkgKyByb3dP
ZmZzZXQueSgpICsgY2VsbC0+aW50cmluc2ljUGFkZGluZ0JlZm9yZSgpLCBjZWxsLT53aWR0aCgp
LCBjZWxsLT5oZWlnaHQoKSAtIGNlbGwtPmludHJpbnNpY1BhZGRpbmdCZWZvcmUoKSAtIGNlbGwt
PmludHJpbnNpY1BhZGRpbmdBZnRlcigpKTsKICAgICB9IGVsc2UgaWYgKGF1dG8qIGJveCA9IGR5
bmFtaWNEb3duY2FzdDxSZW5kZXJCb3g+KG8pKQogICAgICAgICByID0gYm94LT5mcmFtZVJlY3Qo
KTsKICAgICBlbHNlIGlmIChhdXRvKiBzdmdNb2RlbE9iamVjdCA9IGR5bmFtaWNEb3duY2FzdDxS
ZW5kZXJTVkdNb2RlbE9iamVjdD4obykpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0
eWxlL1N0eWxlQWRqdXN0ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvc3R5bGUvU3R5bGVBZGp1c3Rl
ci5jcHAKaW5kZXggZTBiZWRhNDVkMWZmLi42MGMyZWEzM2JmMGIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3N0eWxlL1N0eWxlQWRqdXN0ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0
eWxlL1N0eWxlQWRqdXN0ZXIuY3BwCkBAIC00ODMsMTEgKzQ4MywxMCBAQCB2b2lkIEFkanVzdGVy
OjphZGp1c3QoUmVuZGVyU3R5bGUmIHN0eWxlKSBjb25zdAogICAgICAgICBpZiAoc3R5bGUuZGlz
cGxheSgpID09IERpc3BsYXlUeXBlOjpJbmxpbmVGbG93ICYmICFzdHlsZS5wc2V1ZG9FbGVtZW50
VHlwZSgpICYmIHN0eWxlLndyaXRpbmdNb2RlKCkuY29tcHV0ZWRXcml0aW5nTW9kZSgpICE9IG1f
cGFyZW50U3R5bGUud3JpdGluZ01vZGUoKS5jb21wdXRlZFdyaXRpbmdNb2RlKCkpCiAgICAgICAg
ICAgICBzdHlsZS5zZXREaXNwbGF5TWFpbnRhaW5pbmdPcmlnaW5hbERpc3BsYXkoRGlzcGxheVR5
cGU6OklubGluZUZsb3dSb290KTsKIAotICAgICAgICAvLyBBZnRlciBwZXJmb3JtaW5nIHRoZSBk
aXNwbGF5IG11dGF0aW9uLCBjaGVjayB0YWJsZSByb3dzLiBXZSBkbyBub3QgaG9ub3IgcG9zaXRp
b246cmVsYXRpdmUgb3IgcG9zaXRpb246c3RpY2t5IG9uCi0gICAgICAgIC8vIHRhYmxlIHJvd3Mg
b3IgY2VsbHMuIFRoaXMgaGFzIGJlZW4gZXN0YWJsaXNoZWQgZm9yIHBvc2l0aW9uOnJlbGF0aXZl
IGluIENTUzIuMSAoYW5kIGNhdXNlZCBhIGNyYXNoIGluIGNvbnRhaW5pbmdCbG9jaygpCi0gICAg
ICAgIC8vIG9uIHNvbWUgc2l0ZXMpLgorICAgICAgICAvLyBXZSBkbyBub3QgaG9ub3IgcG9zaXRp
b246cmVsYXRpdmUgb3IgcG9zaXRpb246c3RpY2t5IG9uIHRhYmxlIHJvdyBncm91cHMuIFRhYmxl
IHJvd3MgYXJlCisgICAgICAgIC8vIGFsbG93ZWQgdG8gYmUgcG9zaXRpb246cmVsYXRpdmUgKHRo
ZXkgZXh0ZW5kIFJlbmRlckJsb2NrIGFuZCBjYW4gYmUgcHJvcGVyIGNvbnRhaW5pbmcgYmxvY2tz
KS4KICAgICAgICAgaWYgKChzdHlsZS5kaXNwbGF5KCkgPT0gRGlzcGxheVR5cGU6OlRhYmxlSGVh
ZGVyR3JvdXAgfHwgc3R5bGUuZGlzcGxheSgpID09IERpc3BsYXlUeXBlOjpUYWJsZVJvd0dyb3Vw
Ci0gICAgICAgICAgICB8fCBzdHlsZS5kaXNwbGF5KCkgPT0gRGlzcGxheVR5cGU6OlRhYmxlRm9v
dGVyR3JvdXAgfHwgc3R5bGUuZGlzcGxheSgpID09IERpc3BsYXlUeXBlOjpUYWJsZVJvdykKKyAg
ICAgICAgICAgIHx8IHN0eWxlLmRpc3BsYXkoKSA9PSBEaXNwbGF5VHlwZTo6VGFibGVGb290ZXJH
cm91cCkKICAgICAgICAgICAgICYmIHN0eWxlLnBvc2l0aW9uKCkgPT0gUG9zaXRpb25UeXBlOjpS
ZWxhdGl2ZSkKICAgICAgICAgICAgIHN0eWxlLnNldFBvc2l0aW9uKFBvc2l0aW9uVHlwZTo6U3Rh
dGljKTsKIApAQCAtNjQyLDcgKzY0MSwxMSBAQCB2b2lkIEFkanVzdGVyOjphZGp1c3QoUmVuZGVy
U3R5bGUmIHN0eWxlKSBjb25zdAogCiAgICAgYm9vbCBvdmVyZmxvd0lzQ2xpcE9yVmlzaWJsZSA9
IGlzT3ZlcmZsb3dDbGlwT3JWaXNpYmxlKHN0eWxlLm92ZXJmbG93WSgpKSAmJiBpc092ZXJmbG93
Q2xpcE9yVmlzaWJsZShzdHlsZS5vdmVyZmxvd1goKSk7CiAKLSAgICBpZiAoIW92ZXJmbG93SXND
bGlwT3JWaXNpYmxlICYmIHN0eWxlLmRpc3BsYXkoKS5pc1RhYmxlQm94KCkpIHsKKyAgICAvLyBU
aGUgb3ZlcmZsb3cgcHJvcGVydHkgZG9lcyBub3QgYXBwbHkgdG8gdGFibGUgcm93IGVsZW1lbnRz
IChDU1MyIHNlY3Rpb24gMTEuMS4xKS4KKyAgICBpZiAoc3R5bGUuZGlzcGxheSgpID09IERpc3Bs
YXlUeXBlOjpUYWJsZVJvdykgeworICAgICAgICBzdHlsZS5zZXRPdmVyZmxvd1goQ29tcHV0ZWRT
dHlsZTo6aW5pdGlhbE92ZXJmbG93WCgpKTsKKyAgICAgICAgc3R5bGUuc2V0T3ZlcmZsb3dZKENv
bXB1dGVkU3R5bGU6OmluaXRpYWxPdmVyZmxvd1koKSk7CisgICAgfSBlbHNlIGlmICghb3ZlcmZs
b3dJc0NsaXBPclZpc2libGUgJiYgc3R5bGUuZGlzcGxheSgpLmlzVGFibGVCb3goKSkgewogICAg
ICAgICAvLyBUYWJsZXMgb25seSBzdXBwb3J0IG92ZXJmbG93OmhpZGRlbiBhbmQgb3ZlcmZsb3c6
dmlzaWJsZSBhbmQgaWdub3JlIGFueXRoaW5nIGVsc2UsCiAgICAgICAgIC8vIHNlZSBodHRwczov
L2RyYWZ0cy5jc3N3Zy5vcmcvY3NzMi8jb3ZlcmZsb3cuIEFzIGEgdGFibGUgaXMgbm90IGEgYmxv
Y2sKICAgICAgICAgLy8gY29udGFpbmVyIGJveCB0aGUgcnVsZXMgZm9yIHJlc29sdmluZyBjb25m
bGljdGluZyB4IGFuZCB5IHZhbHVlcyBpbiBDU1MgT3ZlcmZsb3cgTW9kdWxlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0
aW9ucwppbmRleCA4NjY3NjA0MjBmYmYuLjgzMjU4YmNiNjljNCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25z
CkBAIC0yMTUxLDYgKzIxNTEsNyBAQCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21h
dGhtbC9wcmVzZW50YXRpb24tbWFya3VwL29wZXJhdG9ycy9vcC1kaWN0LTkuaAogaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tYXRobWwvcHJlc2VudGF0aW9uLW1hcmt1cC9vcGVyYXRv
cnMvcGFpbnRpbmctc3RyZXRjaHktb3BlcmF0b3ItMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWF0aG1sL3ByZXNlbnRhdGlvbi1t
YXJrdXAvc2NyaXB0cy91bmRlcm92ZXItc3RyZXRjaHktMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvbWF0aG1sL3JlbGF0aW9ucy9j
c3Mtc3R5bGluZy9kaXNwbGF5LXdpdGgtb3ZlcmZsb3cuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9tYXRobWwvcmVsYXRpb25zL2Nzcy1z
dHlsaW5nL292ZXJmbG93L2NvbXB1dGVkLXZhbHVlLTAwMS5odG1sIFsgRmFpbHVyZSBdCiBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL21hdGhtbC9yZWxhdGlvbnMvY3NzLXN0eWxpbmcv
ZmxvYXRzL2Zsb2F0aW5nLWluc2lkZS1tYXRobWwtd2l0aC1ibG9jay1kaXNwbGF5Lmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KIG1hdGhtbC9ub24tY29yZS9tYXRodmFyaWFudC9tYXRodmFyaWFu
dC1iYXNpYy10cmFuc2Zvcm1zLXdpdGgtZGVmYXVsdC1mb250Lmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KIG1hdGhtbC9ub24tY29yZS9tYXRodmFyaWFudC9tYXRodmFyaWFudC1kb3VibGUtc3Ry
dWNrLWZvbnQtc3R5bGUtZm9udC13ZWlnaHQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9ub24tcG9zaXRpb25lZC1yb3ctbm8tY29u
dGFpbm1lbnQtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGFibGUvbm9uLXBvc2l0
aW9uZWQtcm93LW5vLWNvbnRhaW5tZW50LWV4cGVjdGVkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5iMWM5YjM5YjgxZmYKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L3RhYmxlL25vbi1wb3NpdGlvbmVkLXJvdy1uby1jb250YWlubWVudC1l
eHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMTQgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzx0aXRsZT5Ob24tcG9zaXRpb25lZCB0YWJsZSByb3cgZG9lcyBub3QgY29udGFpbiBh
YnNvbHV0ZSBkZXNjZW5kYW50cyAocmVmZXJlbmNlKTwvdGl0bGU+Cis8c3R5bGU+Citib2R5IHsK
KyAgICBtYXJnaW46IDA7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IHN0eWxl
PSJ3aWR0aDogMjAwcHg7IGhlaWdodDogMjAwcHg7IGJhY2tncm91bmQ6IGdyZWVuIj48L2Rpdj4K
KzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGFibGUvbm9u
LXBvc2l0aW9uZWQtcm93LW5vLWNvbnRhaW5tZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Rh
YmxlL25vbi1wb3NpdGlvbmVkLXJvdy1uby1jb250YWlubWVudC5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZTIzZTY4ZGYzNDMyCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9ub24tcG9zaXRpb25lZC1yb3ctbm8tY29udGFpbm1l
bnQuaHRtbApAQCAtMCwwICsxLDMzIEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
Cis8dGl0bGU+Tm9uLXBvc2l0aW9uZWQgdGFibGUgcm93IGRvZXMgbm90IGNvbnRhaW4gYWJzb2x1
dGUgZGVzY2VuZGFudHM8L3RpdGxlPgorPGxpbmsgcmVsPSJtYXRjaCIgaHJlZj0ibm9uLXBvc2l0
aW9uZWQtcm93LW5vLWNvbnRhaW5tZW50LWV4cGVjdGVkLmh0bWwiPgorPHN0eWxlPgorYm9keSB7
CisgICAgbWFyZ2luOiAwOworfQordGFibGUgeworICAgIGJvcmRlci1zcGFjaW5nOiAwOworICAg
IGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7CisgICAgYm9yZGVyOiBub25lOworfQordGQgewor
ICAgIHBhZGRpbmc6IDA7CisgICAgYm9yZGVyOiBub25lOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorPCEtLSBXaXRob3V0IHBvc2l0aW9uOiByZWxhdGl2ZSBvbiB0aGUgcm93LCB0aGUg
YWJzb2x1dGUgZGl2IHNob3VsZCBlc2NhcGUgdG8gdGhlCisgICAgIG5lYXJlc3QgcG9zaXRpb25l
ZCBhbmNlc3RvciAodGhlIG91dGVyIGRpdiksIGNvdmVyaW5nIGl0IGVudGlyZWx5LiAtLT4KKzxk
aXYgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsgd2lkdGg6IDIwMHB4OyBoZWlnaHQ6IDIwMHB4
Ij4KKyAgICA8dGFibGU+CisgICAgICAgIDx0cj4KKyAgICAgICAgICAgIDx0ZCBzdHlsZT0id2lk
dGg6IDUwcHg7IGhlaWdodDogNTBweCI+Q2VsbDwvdGQ+CisgICAgICAgIDwvdHI+CisgICAgPC90
YWJsZT4KKyAgICA8ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGluc2V0OiAwOyBiYWNr
Z3JvdW5kOiBncmVlbiI+PC9kaXY+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvdGFibGUvcmVsYXRpdmUtcG9zaXRpb24tcm93LWNvbnRhaW5t
ZW50LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RhYmxlL3JlbGF0aXZlLXBvc2l0
aW9uLXJvdy1jb250YWlubWVudC1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMC4uMjcwODhjNTZkNWU2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC90YWJsZS9yZWxhdGl2ZS1wb3NpdGlvbi1yb3ctY29udGFpbm1lbnQtZXhwZWN0
ZWQuaHRtbApAQCAtMCwwICsxLDE1IEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
Cis8dGl0bGU+UG9zaXRpb25lZCB0YWJsZSByb3cgYXMgY29udGFpbmluZyBibG9jayBmb3IgYWJz
b2x1dGUgZGVzY2VuZGFudHMgKHJlZmVyZW5jZSk8L3RpdGxlPgorPHN0eWxlPgorYm9keSB7Cisg
ICAgbWFyZ2luOiAwOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBzdHlsZT0i
aGVpZ2h0OiA1MHB4Ij48L2Rpdj4KKzxkaXYgc3R5bGU9IndpZHRoOiAxMDBweDsgaGVpZ2h0OiAx
MDBweDsgYmFja2dyb3VuZDogZ3JlZW4iPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9yZWxhdGl2ZS1wb3NpdGlvbi1yb3ctY29udGFp
bm1lbnQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGFibGUvcmVsYXRpdmUtcG9zaXRpb24tcm93
LWNvbnRhaW5tZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
Li40MTZjNGE4YmM5ZWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RhYmxl
L3JlbGF0aXZlLXBvc2l0aW9uLXJvdy1jb250YWlubWVudC5odG1sCkBAIC0wLDAgKzEsMzIgQEAK
KzwhZG9jdHlwZSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5Qb3NpdGlvbmVkIHRhYmxl
IHJvdyBhcyBjb250YWluaW5nIGJsb2NrIGZvciBhYnNvbHV0ZSBkZXNjZW5kYW50czwvdGl0bGU+
Cis8bGluayByZWw9Im1hdGNoIiBocmVmPSJyZWxhdGl2ZS1wb3NpdGlvbi1yb3ctY29udGFpbm1l
bnQtZXhwZWN0ZWQuaHRtbCI+Cis8c3R5bGU+Citib2R5IHsKKyAgICBtYXJnaW46IDA7Cit9Cit0
YWJsZSB7CisgICAgYm9yZGVyLXNwYWNpbmc6IDA7CisgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xs
YXBzZTsKKyAgICBib3JkZXI6IG5vbmU7Cit9Cit0ZCB7CisgICAgcGFkZGluZzogMDsKKyAgICBi
b3JkZXI6IG5vbmU7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8IS0tIFB1c2ggdGhl
IHRhYmxlIGRvd24gdG8gdmVyaWZ5IHRoZSBhYnNvbHV0ZSBkaXYgaXMgYW5jaG9yZWQgdG8gdGhl
IHJvdywgbm90IHRoZSB2aWV3cG9ydC4gLS0+Cis8ZGl2IHN0eWxlPSJoZWlnaHQ6IDUwcHgiPjwv
ZGl2PgorPHRhYmxlPgorICAgIDx0ciBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlIj4KKyAgICAg
ICAgPHRkIHN0eWxlPSJ3aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHgiPgorICAgICAgICAgICAg
PGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBpbnNldDogMDsgYmFja2dyb3VuZDogZ3Jl
ZW4iPjwvZGl2PgorICAgICAgICA8L3RkPgorICAgIDwvdHI+Cis8L3RhYmxlPgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9yZWxhdGl2ZS1wb3Np
dGlvbi1yb3ctbXVsdGljZWxsLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RhYmxl
L3JlbGF0aXZlLXBvc2l0aW9uLXJvdy1tdWx0aWNlbGwtZXhwZWN0ZWQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjBkZWVjMmI1OTE2YgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGFibGUvcmVsYXRpdmUtcG9zaXRpb24tcm93LW11bHRp
Y2VsbC1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEsMTQgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzx0aXRsZT5BYnNvbHV0ZSBjaGlsZCBvZiBwb3NpdGlvbmVkIHRhYmxlIHJv
dyBzcGFucyBmdWxsIHJvdyB3aWR0aCAocmVmZXJlbmNlKTwvdGl0bGU+Cis8c3R5bGU+Citib2R5
IHsKKyAgICBtYXJnaW46IDA7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IHN0
eWxlPSJ3aWR0aDogMjAwcHg7IGhlaWdodDogNTBweDsgYmFja2dyb3VuZDogZ3JlZW4iPjwvZGl2
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90YWJsZS9y
ZWxhdGl2ZS1wb3NpdGlvbi1yb3ctbXVsdGljZWxsLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Rh
YmxlL3JlbGF0aXZlLXBvc2l0aW9uLXJvdy1tdWx0aWNlbGwuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjJmOTRjM2I3M2I4ZQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvdGFibGUvcmVsYXRpdmUtcG9zaXRpb24tcm93LW11bHRpY2VsbC5o
dG1sCkBAIC0wLDAgKzEsMzMgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzx0
aXRsZT5BYnNvbHV0ZSBjaGlsZCBvZiBwb3NpdGlvbmVkIHRhYmxlIHJvdyBzcGFucyBmdWxsIHJv
dyB3aWR0aDwvdGl0bGU+Cis8bGluayByZWw9Im1hdGNoIiBocmVmPSJyZWxhdGl2ZS1wb3NpdGlv
bi1yb3ctbXVsdGljZWxsLWV4cGVjdGVkLmh0bWwiPgorPHN0eWxlPgorYm9keSB7CisgICAgbWFy
Z2luOiAwOworfQordGFibGUgeworICAgIGJvcmRlci1zcGFjaW5nOiAwOworICAgIGJvcmRlci1j
b2xsYXBzZTogY29sbGFwc2U7CisgICAgYm9yZGVyOiBub25lOworfQordGQgeworICAgIHBhZGRp
bmc6IDA7CisgICAgYm9yZGVyOiBub25lOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5Pgor
PCEtLSBUaGUgZ3JlZW4gZGl2IHNob3VsZCBjb3ZlciB0aGUgZW50aXJlIHJvdyAoYm90aCBjZWxs
cykuIC0tPgorPHRhYmxlPgorICAgIDx0ciBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlIj4KKyAg
ICAgICAgPHRkIHN0eWxlPSJ3aWR0aDogMTAwcHg7IGhlaWdodDogNTBweCI+CisgICAgICAgICAg
ICBDZWxsIDEKKyAgICAgICAgICAgIDxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgaW5z
ZXQ6IDA7IGJhY2tncm91bmQ6IGdyZWVuIj48L2Rpdj4KKyAgICAgICAgPC90ZD4KKyAgICAgICAg
PHRkIHN0eWxlPSJ3aWR0aDogMTAwcHg7IGhlaWdodDogNTBweCI+Q2VsbCAyPC90ZD4KKyAgICA8
L3RyPgorPC90YWJsZT4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>