<?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>178900</bug_id>
          
          <creation_ts>2017-10-26 17:05:58 -0700</creation_ts>
          <short_desc>[WPE] Add gtk-doc</short_desc>
          <delta_ts>2019-02-05 08:04:07 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WPE WebKit</component>
          <version>Other</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Catanzaro">mcatanzaro</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aperez</cc>
    
    <cc>berto</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>cadubentzen</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1365125</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-10-26 17:05:58 -0700</bug_when>
    <thetext>We don&apos;t want WPE itself to depend on GTK+, but as a matter of practicality, it will have to use gtk-doc for its documentation, since we want the documentation to be shared with WebKitGTK+. So gtk-doc will need to become a dependency for DEVELOPER_MODE, to ensure developers run the same checks to avoid broken documentation that are already run for WebKitGTK+. It&apos;s not any sort of problem: gtk-doc does not depend on GTK+ itself, but vice-versa. And gtk-doc is already the only reasonable way to document GObject APIs, even if they do not use GTK+.

I&apos;ll need to figure out how to get working, shared documentation with WebKitGTK+, and also figure out how to publish it on our release domain an part of the release process.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1365126</commentid>
    <comment_count>1</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2017-10-26 17:06:32 -0700</bug_when>
    <thetext>Forgot to add: I&apos;ll need to add documentation for WPEBackends as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1417305</commentid>
    <comment_count>2</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-04-24 15:09:23 -0700</bug_when>
    <thetext>Let&apos;s not block on this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1466214</commentid>
    <comment_count>3</comment_count>
    <who name="Carlos Bentzen">cadubentzen</who>
    <bug_when>2018-10-03 16:03:55 -0700</bug_when>
    <thetext>Hi Michael! Have you made some progress on this one?

If not, I would like to give it a go.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1466356</commentid>
    <comment_count>4</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-10-04 06:44:43 -0700</bug_when>
    <thetext>Go for it! I&apos;m no longer planning to tackle this one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1470766</commentid>
    <comment_count>5</comment_count>
      <attachid>352756</attachid>
    <who name="Carlos Bentzen">cadubentzen</who>
    <bug_when>2018-10-18 19:31:31 -0700</bug_when>
    <thetext>Created attachment 352756
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1470767</commentid>
    <comment_count>6</comment_count>
    <who name="Carlos Bentzen">cadubentzen</who>
    <bug_when>2018-10-18 19:32:36 -0700</bug_when>
    <thetext>Michael Catanzaro and Carlos Garcia seem to be the ones who usually update the gtk-doc files for WebKitGTK+.

Any tips on ordering of symbols in the -section.txt file?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1470768</commentid>
    <comment_count>7</comment_count>
    <who name="Carlos Bentzen">cadubentzen</who>
    <bug_when>2018-10-18 19:37:18 -0700</bug_when>
    <thetext>There is one problem with the shared code: many .cpp files in Source/WebKit/UIProcess/API/glib actually have documentation referring to WebKitGTK+, while they are used for WPE too.

E.g WebKitWebView which causes the short description of WebKitWebView to be &quot;The central class of the WebKit2GTK+ API&quot;.

For only the short description it could be just fixed but some useful notes for WebKitGTK+ can&apos;t be just deleted, as,

 * Note that #WebKitWebView is scrollable by itself, so you don&apos;t need
 * to embed it in a #GtkScrolledWindow.

The API documentation is supposed to be in .c and .cpp files, right? Any ideas on solving this problem?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1470773</commentid>
    <comment_count>8</comment_count>
    <who name="Carlos Bentzen">cadubentzen</who>
    <bug_when>2018-10-18 20:07:23 -0700</bug_when>
    <thetext>Also, it can be seen that many documentation is missing from the WPE public API (see wpe-0.1-undocumented.txt in the build directory).  I think adding this documentation can be a follow-up patch for keeping this patch not too big.

Or do you think I should fill up the documentation text already?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1470774</commentid>
    <comment_count>9</comment_count>
      <attachid>352758</attachid>
    <who name="Carlos Bentzen">cadubentzen</who>
    <bug_when>2018-10-18 20:12:36 -0700</bug_when>
    <thetext>Created attachment 352758
Fix build error</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1470775</commentid>
    <comment_count>10</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-10-18 20:20:18 -0700</bug_when>
    <thetext>(In reply to Carlos Eduardo Ramalho from comment #7) 
&gt;  * Note that #WebKitWebView is scrollable by itself, so you don&apos;t need
&gt;  * to embed it in a #GtkScrolledWindow.
&gt; 
&gt; The API documentation is supposed to be in .c and .cpp files, right? Any
&gt; ideas on solving this problem?

The path of least resistance is to just accept that the documentation will refer to both WebKitGTK+ and WPE WebKit:

&quot;Note that #WebKitWebView is scrollable by itself, so in WebKitGTK+ you don&apos;t need to embed it in a #GtkScrolledWindow.&quot;

Or:

&quot;The central class of the WebKit API&quot;

(In reply to Carlos Eduardo Ramalho from comment #8)
&gt; Also, it can be seen that many documentation is missing from the WPE public
&gt; API (see wpe-0.1-undocumented.txt in the build directory).  I think adding
&gt; this documentation can be a follow-up patch for keeping this patch not too
&gt; big.
&gt; 
&gt; Or do you think I should fill up the documentation text already?

I would do it in a follow-up patch to keep this one small.

Regarding ordering, I&apos;d keep the same order as used by WebKitGTK+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1470842</commentid>
    <comment_count>11</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2018-10-19 05:28:45 -0700</bug_when>
    <thetext>I agree with Michael, let&apos;s go ahead and keep the notion that the
API documentation will be the same for both ports (GTK+ and WPE).
It&apos;s not only the path of least resistance: it also avoids having
duplicate documentation strings and/or conditional documentation,
which is better for maintainability.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1471731</commentid>
    <comment_count>12</comment_count>
      <attachid>353013</attachid>
    <who name="Carlos Bentzen">cadubentzen</who>
    <bug_when>2018-10-23 18:32:02 -0700</bug_when>
    <thetext>Created attachment 353013
Sorting WPE symbols like WebKitGTK+</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1471732</commentid>
    <comment_count>13</comment_count>
    <who name="Carlos Bentzen">cadubentzen</who>
    <bug_when>2018-10-23 18:35:36 -0700</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #10)
&gt; The path of least resistance is to just accept that the documentation will
&gt; refer to both WebKitGTK+ and WPE WebKit:
&gt; 
&gt; &quot;Note that #WebKitWebView is scrollable by itself, so in WebKitGTK+ you
&gt; don&apos;t need to embed it in a #GtkScrolledWindow.&quot;
&gt; 
&gt; Or:
&gt; 
&gt; &quot;The central class of the WebKit API&quot;

(In reply to Adrian Perez from comment #11)
&gt; I agree with Michael, let&apos;s go ahead and keep the notion that the
&gt; API documentation will be the same for both ports (GTK+ and WPE).
&gt; It&apos;s not only the path of least resistance: it also avoids having
&gt; duplicate documentation strings and/or conditional documentation,
&gt; which is better for maintainability.

Ok. In some places there is a long explanation about GDK things and this text will be carried over for WPE docs as well. But I agree that the easiest is accepting that both docs will share these pieces and rewrite/add some sentences on things only applicable for one port or the other.

&gt; (In reply to Carlos Eduardo Ramalho from comment #8)
&gt; &gt; Also, it can be seen that many documentation is missing from the WPE public
&gt; &gt; API (see wpe-0.1-undocumented.txt in the build directory).  I think adding
&gt; &gt; this documentation can be a follow-up patch for keeping this patch not too
&gt; &gt; big.
&gt; &gt; 
&gt; &gt; Or do you think I should fill up the documentation text already?
&gt; 
&gt; I would do it in a follow-up patch to keep this one small.

Ok. I&apos;ll do it in a follow-up for adding missing documentation and fix texts only applicable to wkgtk.

&gt; 
&gt; Regarding ordering, I&apos;d keep the same order as used by WebKitGTK+.

Ok. Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1472170</commentid>
    <comment_count>14</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2018-10-25 13:26:27 -0700</bug_when>
    <thetext>(In reply to Carlos Eduardo Ramalho from comment #13)
&gt; (In reply to Michael Catanzaro from comment #10)
&gt; &gt; The path of least resistance is to just accept that the documentation will
&gt; &gt; refer to both WebKitGTK+ and WPE WebKit:
&gt; &gt; 
&gt; &gt; &quot;Note that #WebKitWebView is scrollable by itself, so in WebKitGTK+ you
&gt; &gt; don&apos;t need to embed it in a #GtkScrolledWindow.&quot;
&gt; &gt; 
&gt; &gt; Or:
&gt; &gt; 
&gt; &gt; &quot;The central class of the WebKit API&quot;
&gt; 
&gt; (In reply to Adrian Perez from comment #11)
&gt; &gt; I agree with Michael, let&apos;s go ahead and keep the notion that the
&gt; &gt; API documentation will be the same for both ports (GTK+ and WPE).
&gt; &gt; It&apos;s not only the path of least resistance: it also avoids having
&gt; &gt; duplicate documentation strings and/or conditional documentation,
&gt; &gt; which is better for maintainability.
&gt; 
&gt; Ok. In some places there is a long explanation about GDK things and this
&gt; text will be carried over for WPE docs as well. But I agree that the easiest
&gt; is accepting that both docs will share these pieces and rewrite/add some
&gt; sentences on things only applicable for one port or the other.

The GDK explanations won&apos;t apply to GTK+ 4 either once we support that.
I think we&apos;ll just have to live with the fact that the GDK bits will
appear in the documentation and word them in some way that it&apos;s clear
that these comments apply to the GTK+ port, and when using GTK+ &lt; 4.0

¯\_(ツ)_/¯</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1480435</commentid>
    <comment_count>15</comment_count>
      <attachid>355328</attachid>
    <who name="Carlos Bentzen">cadubentzen</who>
    <bug_when>2018-11-20 02:20:15 -0800</bug_when>
    <thetext>Created attachment 355328
ready for review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1480517</commentid>
    <comment_count>16</comment_count>
      <attachid>355328</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-11-20 08:47:43 -0800</bug_when>
    <thetext>Comment on attachment 355328
ready for review

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

Looks sane to me.

&gt; Source/WebKit/PlatformWPE.cmake:152
&gt; +# FIXME: Separate web-extension and DOM headers in two different lists for building separate documentations.

Actually I don&apos;t think it&apos;s required for WPE, since we have so few DOM headers. Probably easier to keep them together, unlike GTK. So you can remove this FIXME.

(GTK has a huge legacy DOM API that is not exposed by WPE.)

&gt; Source/WebKit/PlatformWPE.cmake:339
&gt; +# FIXME: WebExtension APIs are not included yet. The list of headers for WebExtension also has DOM headers.

We should create a separate documentation bundle for WebExtension/DOM.

&gt; Source/WebKit/UIProcess/API/wpe/WebKitWebContext.h:252
&gt; +WEBKIT_API void
&gt; +webkit_web_context_set_sandbox_enabled              (WebKitWebContext               *context,
&gt; +                                                     gboolean                       enabled);

Why was this moved?

The spacing is off by one (enabled should be aligned with the c of context.)

&gt; Source/WebKit/UIProcess/API/wpe/docs/wpe-0.1-sections.txt:1467
&gt; +&lt;SECTION&gt;
&gt; +&lt;FILE&gt;WebKitDOMObject&lt;/FILE&gt;
&gt; +&lt;TITLE&gt;WebKitDOMObject&lt;/TITLE&gt;
&gt; +WebKitDOMObject

It should be simple to split the web process APIs into separate documentation, right?

&gt; Source/WebKit/UIProcess/API/wpe/docs/wpe-docs.sgml:70
&gt; +  &lt;!-- FIXME: Move WebKitDOM to its own documentation if the number of DOM APIs increases --&gt;

Let&apos;s just have one manual for UI process, and a second manual for web extensions (including DOM).

&gt; Source/WebKit/WebProcess/InjectedBundle/API/wpe/WebKitWebPage.h:79
&gt; +WEBKIT_API WebKitDOMDocument *
&gt; +webkit_web_page_get_dom_document (WebKitWebPage *web_page);
&gt; +

Why is this moved?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1480716</commentid>
    <comment_count>17</comment_count>
    <who name="Carlos Bentzen">cadubentzen</who>
    <bug_when>2018-11-21 03:50:27 -0800</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #16)
&gt; Actually I don&apos;t think it&apos;s required for WPE, since we have so few DOM
&gt; headers. Probably easier to keep them together, unlike GTK. So you can
&gt; remove this FIXME.
&gt; 
&gt; (GTK has a huge legacy DOM API that is not exposed by WPE.)

Ok.
 
&gt; &gt; Source/WebKit/PlatformWPE.cmake:339
&gt; &gt; +# FIXME: WebExtension APIs are not included yet. The list of headers for WebExtension also has DOM headers.
&gt; 
&gt; We should create a separate documentation bundle for WebExtension/DOM.

Actually this comment sneaked in from while the patch was WIP. I added WebExtensions/DOM already, but it is in the same bundle as the UIProcess APIs.

I will move it to a different bundle then.

&gt; &gt; Source/WebKit/UIProcess/API/wpe/WebKitWebContext.h:252
&gt; &gt; +WEBKIT_API void
&gt; &gt; +webkit_web_context_set_sandbox_enabled              (WebKitWebContext               *context,
&gt; &gt; +                                                     gboolean                       enabled);
&gt; 
&gt; Why was this moved?

To be in the same relative position as in the WebKitGTK+ API. They are the only functions not in the same order as WebKitGTK+.

&gt; 
&gt; The spacing is off by one (enabled should be aligned with the c of context.)

Ok.

&gt; 
&gt; &gt; Source/WebKit/UIProcess/API/wpe/docs/wpe-0.1-sections.txt:1467
&gt; &gt; +&lt;SECTION&gt;
&gt; &gt; +&lt;FILE&gt;WebKitDOMObject&lt;/FILE&gt;
&gt; &gt; +&lt;TITLE&gt;WebKitDOMObject&lt;/TITLE&gt;
&gt; &gt; +WebKitDOMObject
&gt; 
&gt; It should be simple to split the web process APIs into separate
&gt; documentation, right?
&gt; 
&gt; &gt; Source/WebKit/UIProcess/API/wpe/docs/wpe-docs.sgml:70
&gt; &gt; +  &lt;!-- FIXME: Move WebKitDOM to its own documentation if the number of DOM APIs increases --&gt;
&gt; 
&gt; Let&apos;s just have one manual for UI process, and a second manual for web
&gt; extensions (including DOM).
&gt; 
&gt; &gt; Source/WebKit/WebProcess/InjectedBundle/API/wpe/WebKitWebPage.h:79
&gt; &gt; +WEBKIT_API WebKitDOMDocument *
&gt; &gt; +webkit_web_page_get_dom_document (WebKitWebPage *web_page);
&gt; &gt; +
&gt; 
&gt; Why is this moved?

To be in the same relative position as in the WebKitGTK+ API. It is the only function not in the same order as WebKitGTK+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1480725</commentid>
    <comment_count>18</comment_count>
      <attachid>355403</attachid>
    <who name="Carlos Bentzen">cadubentzen</who>
    <bug_when>2018-11-21 05:31:06 -0800</bug_when>
    <thetext>Created attachment 355403
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1484331</commentid>
    <comment_count>19</comment_count>
    <who name="Carlos Bentzen">cadubentzen</who>
    <bug_when>2018-12-03 04:16:43 -0800</bug_when>
    <thetext>ping reviewers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1484407</commentid>
    <comment_count>20</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2018-12-03 10:47:22 -0800</bug_when>
    <thetext>This looks good to me. I&apos;ve held off on r+ because Carlos Garcia wanted to review it before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1484475</commentid>
    <comment_count>21</comment_count>
    <who name="Carlos Bentzen">cadubentzen</who>
    <bug_when>2018-12-03 13:29:56 -0800</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #20)
&gt; This looks good to me. I&apos;ve held off on r+ because Carlos Garcia wanted to
&gt; review it before landing.

Great! Thanks.

I&apos;ll probably need to rebase it, but I&apos;ll wait for Carlos Garcia&apos;s comments first.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1484767</commentid>
    <comment_count>22</comment_count>
      <attachid>355403</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2018-12-04 00:52:35 -0800</bug_when>
    <thetext>Comment on attachment 355403
Patch

LGTM</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1484795</commentid>
    <comment_count>23</comment_count>
      <attachid>356486</attachid>
    <who name="Carlos Bentzen">cadubentzen</who>
    <bug_when>2018-12-04 05:20:57 -0800</bug_when>
    <thetext>Created attachment 356486
patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1484832</commentid>
    <comment_count>24</comment_count>
      <attachid>356486</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-12-04 08:33:29 -0800</bug_when>
    <thetext>Comment on attachment 356486
patch for landing

Clearing flags on attachment: 356486

Committed r238853: &lt;https://trac.webkit.org/changeset/238853&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1484833</commentid>
    <comment_count>25</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-12-04 08:33:31 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1492581</commentid>
    <comment_count>26</comment_count>
    <who name="Alberto Garcia">berto</who>
    <bug_when>2019-01-08 04:16:39 -0800</bug_when>
    <thetext>I believe that you forgot to add Tools/gtkdoc to manifest.txt.in, I can&apos;t build 2.23.2 because of the missing generate-gtkdoc:

[ 91%] Generating ../docs-build.stamp
/usr/bin/cmake -E env CC=/usr/bin/cc &quot;CFLAGS=-Wextra -Wall -Wno-expansion-to-defined -Wno-maybe-uninitialized -Wwrite-strings -Wundef -Wpointer-arith -Wmissing-format-attribute -Wformat-security -Wcast-align -g -O2 -fdebug-prefix-map=/tmp/webkit2gtk-2.23.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -DNDEBUG -DG_DISABLE_CAST_CHECKS -fno-strict-aliasing -fno-exceptions -Wno-unused-parameter&quot; /tmp/webkit2gtk-2.23.2/Tools/gtkdoc/generate-gtkdoc --gtk
No such file or directory</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1492605</commentid>
    <comment_count>27</comment_count>
      <attachid>358595</attachid>
    <who name="Carlos Bentzen">cadubentzen</who>
    <bug_when>2019-01-08 08:39:37 -0800</bug_when>
    <thetext>Created attachment 358595
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1492606</commentid>
    <comment_count>28</comment_count>
    <who name="Carlos Bentzen">cadubentzen</who>
    <bug_when>2019-01-08 08:41:30 -0800</bug_when>
    <thetext>(In reply to Alberto Garcia from comment #26)
&gt; I believe that you forgot to add Tools/gtkdoc to manifest.txt.in, I can&apos;t
&gt; build 2.23.2 because of the missing generate-gtkdoc:
&gt; 
Yeah.. I forgot indeed. In fact, I didn&apos;t know about the existence of this file.

Sorry for the mistake.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1492623</commentid>
    <comment_count>29</comment_count>
      <attachid>358595</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-01-08 09:28:24 -0800</bug_when>
    <thetext>Comment on attachment 358595
Patch

I would put it down under Tools/TestWebKitAPI to keep it semi-alphabetical.

And what about # FIXME: We are not currently generating documentation for WPE right below?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1492655</commentid>
    <comment_count>30</comment_count>
      <attachid>358611</attachid>
    <who name="Carlos Bentzen">cadubentzen</who>
    <bug_when>2019-01-08 10:39:39 -0800</bug_when>
    <thetext>Created attachment 358611
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1492657</commentid>
    <comment_count>31</comment_count>
    <who name="Carlos Bentzen">cadubentzen</who>
    <bug_when>2019-01-08 10:41:09 -0800</bug_when>
    <thetext>(In reply to Michael Catanzaro from comment #29)
&gt; Comment on attachment 358595 [details]
&gt; Patch
&gt; 
&gt; I would put it down under Tools/TestWebKitAPI to keep it semi-alphabetical.

I don&apos;t see how putting it under Tools/TestWebKitAPI would be more sorted.

&gt; 
&gt; And what about # FIXME: We are not currently generating documentation for
&gt; WPE right below?

Good catch! Removed the FIXME and uncommented the lines to copy documentation artifacts to the release. Didn&apos;t notice that before.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1492668</commentid>
    <comment_count>32</comment_count>
      <attachid>358611</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2019-01-08 11:14:13 -0800</bug_when>
    <thetext>Comment on attachment 358611
Patch

Normally capital letters sort before non-caps, right?

Anyway, this is fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1493899</commentid>
    <comment_count>33</comment_count>
      <attachid>358611</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-01-11 17:02:44 -0800</bug_when>
    <thetext>Comment on attachment 358611
Patch

Clearing flags on attachment: 358611

Committed r239886: &lt;https://trac.webkit.org/changeset/239886&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1493900</commentid>
    <comment_count>34</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-01-11 17:02:47 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>352756</attachid>
            <date>2018-10-18 19:31:31 -0700</date>
            <delta_ts>2018-10-18 20:12:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-178900-20181018233129.patch</filename>
            <type>text/plain</type>
            <size>120939</size>
            <attacher name="Carlos Bentzen">cadubentzen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM3MjEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGYwODdkYzVlM2QwMmU0M2Mw
ODVkYjg5YjM0NzQ0MDkxNzhhMGExMDUuLjRiYzdjM2VhYmRlYzA5OWI5MmUzMWI1NTk2MjYzZDM5
N2RiNmFkNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTgtMTAtMTggIENhcmxvcyBF
ZHVhcmRvIFJhbWFsaG8gIDxjYWR1YmVudHplbkBnbWFpbC5jb20+CisKKyAgICAgICAgW1dQRV0g
QWRkIGd0ay1kb2MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE3ODkwMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkZCBBZGQgZ3RrLWRvYyB0byBXUEUgcG9ydC4gVGhpcyBwYXRjaCB0cmllcyB0byByZXVz
ZSBhcyBtdWNoIGNvZGUgZnJvbQorICAgICAgICBXZWJLaXRHVEsrIGFzIHBvc3NpYmxlLgorCisg
ICAgICAgICogUGxhdGZvcm1XUEUuY21ha2U6IFdyaXRlIHZhcmlhYmxlcyB0byBndGtkb2Mtd3Bl
LmNmZyB0aGF0IGlzIHVzZWQgYnkgcHl0aG9uIHNjcmlwdCBsYXRlcgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvd3BlL2RvY3Mvd3BlLTAuMS1zZWN0aW9ucy50eHQ6IEFkZGVkLgorICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvd3BlL2RvY3Mvd3BlLTAuMS50eXBlczogQWRkZWQuCisgICAgICAgICog
VUlQcm9jZXNzL0FQSS93cGUvZG9jcy93cGUtZG9jcy5zZ21sOiBBZGRlZC4KKwogMjAxOC0xMC0x
NiAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgYSBzd2l0
Y2ggZm9yIFdlYiBTUUwKZGlmZiAtLWdpdCBhL1NvdXJjZS9QbGF0Zm9ybUdUSy5jbWFrZSBiL1Nv
dXJjZS9QbGF0Zm9ybUdUSy5jbWFrZQppbmRleCAyODg0MWMyMGU5OGE3YTUyY2UwZDM3ZGU0ODhm
Yzk4MDg1MmFlZDhiLi5jMDNjNDY4ZDE2MDE0NTgwZDU2YjkxMThiZDc5ZTNkNTVjYWQxYTE4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm1HVEsuY21ha2UKKysrIGIvU291cmNlL1BsYXRmb3Jt
R1RLLmNtYWtlCkBAIC0xLDMgKzEsNCBAQAoraW5jbHVkZShHdGtEb2MpCiBpbmNsdWRlKFdlYktp
dERpc3QpCiAKIGFkZF9zdWJkaXJlY3RvcnkoJHtXRUJDT1JFX0RJUn0vcGxhdGZvcm0vZ3RrL3Bv
KQpAQCAtMjUsMTggKzI2LDcgQEAgaWYgKEVOQUJMRV9HVEtET0MpCiAgICAgKQogZW5kaWYgKCkK
IAotbWFjcm8oQUREX0dUS0RPQ19HRU5FUkFUT1IgX3N0YW1wX25hbWUgX2V4dHJhX2FyZ3MpCi0g
ICAgYWRkX2N1c3RvbV9jb21tYW5kKAotICAgICAgICBPVVRQVVQgIiR7Q01BS0VfQklOQVJZX0RJ
Un0vJHtfc3RhbXBfbmFtZX0iCi0gICAgICAgIERFUEVORFMgJHtEb2N1bWVudGF0aW9uRGVwZW5k
ZW5jaWVzfQotICAgICAgICBDT01NQU5EICR7Q01BS0VfQ09NTUFORH0gLUUgZW52ICJDQz0ke0NN
QUtFX0NfQ09NUElMRVJ9IiAiQ0ZMQUdTPSR7Q01BS0VfQ19GTEFHU30gLVduby11bnVzZWQtcGFy
YW1ldGVyIiAke0NNQUtFX1NPVVJDRV9ESVJ9L1Rvb2xzL2d0ay9nZW5lcmF0ZS1ndGtkb2MgJHtf
ZXh0cmFfYXJnc30KLSAgICAgICAgQ09NTUFORCB0b3VjaCAke19zdGFtcF9uYW1lfQotICAgICAg
ICBXT1JLSU5HX0RJUkVDVE9SWSAiJHtDTUFLRV9CSU5BUllfRElSfSIKLSAgICAgICAgVkVSQkFU
SU0KLSAgICApCi1lbmRtYWNybygpCi0KLUFERF9HVEtET0NfR0VORVJBVE9SKCJkb2NzLWJ1aWxk
LnN0YW1wIiAiIikKK0FERF9HVEtET0NfR0VORVJBVE9SKCJkb2NzLWJ1aWxkLnN0YW1wIiAiLS1n
dGsiKQogaWYgKEVOQUJMRV9HVEtET0MpCiAgICAgYWRkX2N1c3RvbV90YXJnZXQoZ3RrZG9jIEFM
TCBERVBFTkRTICIke0NNQUtFX0JJTkFSWV9ESVJ9L2RvY3MtYnVpbGQuc3RhbXAiKQogZWxzZWlm
IChOT1QgRU5BQkxFRF9DT01QSUxFUl9TQU5JVElaRVJTIEFORCBOT1QgQ01BS0VfQ1JPU1NDT01Q
SUxJTkcgQU5EIE5PVCBBUFBMRSkKQEAgLTQ2LDcgKzM2LDcgQEAgZWxzZWlmIChOT1QgRU5BQkxF
RF9DT01QSUxFUl9TQU5JVElaRVJTIEFORCBOT1QgQ01BS0VfQ1JPU1NDT01QSUxJTkcgQU5EIE5P
VCBBUFAKICAgICAjIG9yIGVycm9ycy4gVGhpcyBpcyB1c2VmdWwgdG8gcHJldmVudCBicmVha2lu
ZyBkb2N1bWVudGF0aW9uIGluYWR2ZXJ0ZW50bHkgZHVyaW5nCiAgICAgIyB0aGUgY291cnNlIG9m
IGRldmVsb3BtZW50LgogICAgIGlmIChERVZFTE9QRVJfTU9ERSkKLSAgICAgICAgQUREX0dUS0RP
Q19HRU5FUkFUT1IoImRvY3MtYnVpbGQtbm8taHRtbC5zdGFtcCIgIi0tc2tpcC1odG1sIikKKyAg
ICAgICAgQUREX0dUS0RPQ19HRU5FUkFUT1IoImRvY3MtYnVpbGQtbm8taHRtbC5zdGFtcCIgIi0t
Z3RrIC0tc2tpcC1odG1sIikKICAgICAgICAgYWRkX2N1c3RvbV90YXJnZXQoZ3RrZG9jLW5vLWh0
bWwgQUxMIERFUEVORFMgIiR7Q01BS0VfQklOQVJZX0RJUn0vZG9jcy1idWlsZC1uby1odG1sLnN0
YW1wIikKICAgICBlbmRpZiAoKQogZW5kaWYgKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9QbGF0Zm9y
bVdQRS5jbWFrZSBiL1NvdXJjZS9QbGF0Zm9ybVdQRS5jbWFrZQppbmRleCAzODY0MmUwNzgyY2Mz
M2JmOTQ3NWU2ZWU0N2VlOTc3MTg1MzU3NTUxLi45Zjc5ZDFmODNjODg4Y2QwMTNjNGI5ODA2ZmEw
NWVlMGY2OWEwMGU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm1XUEUuY21ha2UKKysrIGIv
U291cmNlL1BsYXRmb3JtV1BFLmNtYWtlCkBAIC0xLDcgKzEsMzQgQEAKK2luY2x1ZGUoR3RrRG9j
KQogaW5jbHVkZShXZWJLaXREaXN0KQogCitsaXN0KEFQUEVORCBEb2N1bWVudGF0aW9uRGVwZW5k
ZW5jaWVzCisgICAgV2ViS2l0CisgICAgIiR7Q01BS0VfU09VUkNFX0RJUn0vU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL3dwZS9kb2NzL3dwZS1kb2NzLnNnbWwiCisgICAgIiR7Q01BS0VfU09V
UkNFX0RJUn0vU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9kb2NzL3dwZS0ke1dQRV9B
UElfVkVSU0lPTn0tc2VjdGlvbnMudHh0IgorKQorCitpZiAoRU5BQkxFX0dUS0RPQykKKyAgICBp
bnN0YWxsKERJUkVDVE9SWSAke0NNQUtFX0JJTkFSWV9ESVJ9L0RvY3VtZW50YXRpb24vd3BlLSR7
V1BFX0FQSV9WRVJTSU9OfS9odG1sL3dwZS0ke1dQRV9BUElfVkVSU0lPTn0KKyAgICAgICAgICAg
IERFU1RJTkFUSU9OICIke0NNQUtFX0lOU1RBTExfREFUQURJUn0vZ3RrLWRvYy9odG1sIgorICAg
ICkKK2VuZGlmICgpCisKK0FERF9HVEtET0NfR0VORVJBVE9SKCJkb2NzLWJ1aWxkLnN0YW1wIiAi
LS13cGUiKQoraWYgKEVOQUJMRV9HVEtET0MpCisgICAgYWRkX2N1c3RvbV90YXJnZXQoZ3RrZG9j
IEFMTCBERVBFTkRTICIke0NNQUtFX0JJTkFSWV9ESVJ9L2RvY3MtYnVpbGQuc3RhbXAiKQorZWxz
ZWlmIChOT1QgRU5BQkxFRF9DT01QSUxFUl9TQU5JVElaRVJTIEFORCBOT1QgQ01BS0VfQ1JPU1ND
T01QSUxJTkcgQU5EIE5PVCBBUFBMRSkKKyAgICBhZGRfY3VzdG9tX3RhcmdldChndGtkb2MgREVQ
RU5EUyAiJHtDTUFLRV9CSU5BUllfRElSfS9kb2NzLWJ1aWxkLnN0YW1wIikKKworICAgICMgQWRk
IGEgZGVmYXVsdCBidWlsZCBzdGVwIHdoaWNoIGNoZWNrIHRoYXQgZG9jdW1lbnRhdGlvbiBkb2Vz
IG5vdCBoYXZlIGFueSB3YXJuaW5ncworICAgICMgb3IgZXJyb3JzLiBUaGlzIGlzIHVzZWZ1bCB0
byBwcmV2ZW50IGJyZWFraW5nIGRvY3VtZW50YXRpb24gaW5hZHZlcnRlbnRseSBkdXJpbmcKKyAg
ICAjIHRoZSBjb3Vyc2Ugb2YgZGV2ZWxvcG1lbnQuCisgICAgaWYgKERFVkVMT1BFUl9NT0RFKQor
ICAgICAgICBBRERfR1RLRE9DX0dFTkVSQVRPUigiZG9jcy1idWlsZC1uby1odG1sLnN0YW1wIiAi
LS13cGUgLS1za2lwLWh0bWwiKQorICAgICAgICBhZGRfY3VzdG9tX3RhcmdldChndGtkb2Mtbm8t
aHRtbCBBTEwgREVQRU5EUyAiJHtDTUFLRV9CSU5BUllfRElSfS9kb2NzLWJ1aWxkLW5vLWh0bWwu
c3RhbXAiKQorICAgIGVuZGlmICgpCitlbmRpZiAoKQorCiBpZiAoREVWRUxPUEVSX01PREUpCi0g
ICAgIyBGSVhNRTogVGhpcyBzaG91bGQgZGVwZW5kIG9uIGEgZ3RrZG9jIHRhcmdldAotICAgIGFk
ZF9jdXN0b21fdGFyZ2V0KERvY3VtZW50YXRpb24pCisgICAgYWRkX2N1c3RvbV90YXJnZXQoRG9j
dW1lbnRhdGlvbiBERVBFTkRTIGd0a2RvYykKICAgICBXRUJLSVRfREVDTEFSRV9ESVNUX1RBUkdF
VFMoV1BFIHdwZXdlYmtpdCAke1RPT0xTX0RJUn0vd3BlL21hbmlmZXN0LnR4dC5pbikKIGVuZGlm
ICgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtV1BFLmNtYWtlIGIvU291cmNl
L1dlYktpdC9QbGF0Zm9ybVdQRS5jbWFrZQppbmRleCBmYzgzNTkxMWFhODE1OGQ1ZjdkMzAyNzNm
YjM5N2Q2MWIwYmExYjcwLi5iZWRiM2Q1YzliOTg3ZGYxZTBiMzU3Y2MzOGIxNTAzNWZiYzMwYjFm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtV1BFLmNtYWtlCisrKyBiL1NvdXJj
ZS9XZWJLaXQvUGxhdGZvcm1XUEUuY21ha2UKQEAgLTksOCArOSw4IEBAIGZpbGUoTUFLRV9ESVJF
Q1RPUlkgJHtGT1JXQVJESU5HX0hFQURFUlNfV1BFX0RJUn0pCiBmaWxlKE1BS0VfRElSRUNUT1JZ
ICR7Rk9SV0FSRElOR19IRUFERVJTX1dQRV9FWFRFTlNJT05fRElSfSkKIGZpbGUoTUFLRV9ESVJF
Q1RPUlkgJHtGT1JXQVJESU5HX0hFQURFUlNfV1BFX0RPTV9ESVJ9KQogCi1jb25maWd1cmVfZmls
ZSh3cGUvd3BlLXdlYmtpdC5wYy5pbiAke0NNQUtFX0JJTkFSWV9ESVJ9L3dwZS13ZWJraXQtJHtX
UEVfQVBJX1ZFUlNJT059LnBjIEBPTkxZKQotY29uZmlndXJlX2ZpbGUod3BlL3dwZS13ZWItZXh0
ZW5zaW9uLnBjLmluICR7Q01BS0VfQklOQVJZX0RJUn0vd3BlLXdlYi1leHRlbnNpb24tJHtXUEVf
QVBJX1ZFUlNJT059LnBjIEBPTkxZKQorY29uZmlndXJlX2ZpbGUod3BlL3dwZS13ZWJraXQucGMu
aW4gJHtXUEVfUEtHQ09ORklHX0ZJTEV9IEBPTkxZKQorY29uZmlndXJlX2ZpbGUod3BlL3dwZS13
ZWItZXh0ZW5zaW9uLnBjLmluICR7V1BFV2ViRXh0ZW5zaW9uX1BLR0NPTkZJR19GSUxFfSBAT05M
WSkKIAogYWRkX2RlZmluaXRpb25zKC1EV0VCS0lUMl9DT01QSUxBVElPTikKIApAQCAtMTQ2LDYg
KzE0Niw3IEBAIHNldChXUEVfQVBJX0lOU1RBTExFRF9IRUFERVJTCiAgICAgJHtXRUJLSVRfRElS
fS9VSVByb2Nlc3MvQVBJL3dwZS93ZWJraXQuaAogKQogCisjIEZJWE1FOiBTZXBhcmF0ZSB3ZWIt
ZXh0ZW5zaW9uIGFuZCBET00gaGVhZGVycyBpbiB0d28gZGlmZmVyZW50IGxpc3RzIGZvciBidWls
ZGluZyBzZXBhcmF0ZSBkb2N1bWVudGF0aW9ucy4KIHNldChXUEVfV0VCX0VYVEVOU0lPTl9BUElf
SU5TVEFMTEVEX0hFQURFUlMKICAgICAke0RFUklWRURfU09VUkNFU19XUEVfQVBJX0RJUn0vV2Vi
S2l0V2ViUHJvY2Vzc0VudW1UeXBlcy5oCiAgICAgJHtXRUJLSVRfRElSfS9XZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0FQSS93cGUvV2ViS2l0Q29uc29sZU1lc3NhZ2UuaApAQCAtMzMxLDMgKzMz
MiwyNCBAQCBpbnN0YWxsKEZJTEVTICR7V1BFX0FQSV9JTlNUQUxMRURfSEVBREVSU30KICAgICAg
ICAgREVTVElOQVRJT04gIiR7Q01BS0VfSU5TVEFMTF9JTkNMVURFRElSfS93cGUtd2Via2l0LSR7
V1BFX0FQSV9WRVJTSU9OfS93cGUiCiAgICAgICAgIENPTVBPTkVOVCAiRGV2ZWxvcG1lbnQiCiAp
CisKKyMgRklYTUU6IFdlYkV4dGVuc2lvbiBBUElzIGFyZSBub3QgaW5jbHVkZWQgeWV0LiBUaGUg
bGlzdCBvZiBoZWFkZXJzIGZvciBXZWJFeHRlbnNpb24gYWxzbyBoYXMgRE9NIGhlYWRlcnMuCitm
aWxlKFdSSVRFICR7Q01BS0VfQklOQVJZX0RJUn0vZ3RrZG9jLXdwZS5jZmcKKyAgICAiW3dwZS0k
e1dQRV9BUElfVkVSU0lPTn1dXG4iCisgICAgInBrZ2NvbmZpZ19maWxlPSR7V1BFX1BLR0NPTkZJ
R19GSUxFfVxuIgorICAgICJkZWNvcmF0b3I9V0VCS0lUX0FQSXxXRUJLSVRfREVQUkVDQVRFRHxX
RUJLSVRfREVQUkVDQVRFRF9GT1JcXCguK1xcKVxuIgorICAgICJkZXByZWNhdGlvbl9ndWFyZD1X
RUJLSVRfRElTQUJMRV9ERVBSRUNBVEVEXG4iCisgICAgIm5hbWVzcGFjZT13ZWJraXRcbiIKKyAg
ICAiY2ZsYWdzPS1JJHtDTUFLRV9TT1VSQ0VfRElSfS9Tb3VyY2VcbiIKKyAgICAiICAgICAgIC1J
JHtXRUJLSVRfRElSfS9TaGFyZWQvQVBJL2dsaWJcbiIKKyAgICAiICAgICAgIC1JJHtXRUJLSVRf
RElSfS9VSVByb2Nlc3MvQVBJL2dsaWJcbiIKKyAgICAiICAgICAgIC1JJHtXRUJLSVRfRElSfS9V
SVByb2Nlc3MvQVBJL3dwZVxuIgorICAgICIgICAgICAgLUkke0ZPUldBUkRJTkdfSEVBREVSU19X
UEVfRElSfVxuIgorICAgICJkb2NfZGlyPSR7V0VCS0lUX0RJUn0vVUlQcm9jZXNzL0FQSS93cGUv
ZG9jc1xuIgorICAgICJzb3VyY2VfZGlycz0ke1dFQktJVF9ESVJ9L1NoYXJlZC9BUEkvZ2xpYlxu
IgorICAgICIgICAgICAgICAgICAke1dFQktJVF9ESVJ9L1VJUHJvY2Vzcy9BUEkvZ2xpYlxuIgor
ICAgICIgICAgICAgICAgICAke1dFQktJVF9ESVJ9L1VJUHJvY2Vzcy9BUEkvd3BlXG4iCisgICAg
IiAgICAgICAgICAgICR7REVSSVZFRF9TT1VSQ0VTX1dQRV9BUElfRElSfVxuIgorICAgICJoZWFk
ZXJzPSR7V1BFX0VOVU1fR0VORVJBVElPTl9IRUFERVJTfVxuIgorICAgICJtYWluX3NnbWxfZmls
ZT13cGUtZG9jcy5zZ21sXG4iCispCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvd3BlL2RvY3Mvd3BlLTAuMS1zZWN0aW9ucy50eHQgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvd3BlL2RvY3Mvd3BlLTAuMS1zZWN0aW9ucy50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzQ3YjBl
MWY4ZGJmZWJjNmRhYjhhNWZhZTY4ODc5NmQ4MGIxY2Q3NAotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvZG9jcy93cGUtMC4xLXNlY3Rpb25zLnR4dApA
QCAtMCwwICsxLDE0NDIgQEAKKzxTRUNUSU9OPgorPEZJTEU+V2ViS2l0QXBwbGljYXRpb25JbmZv
PC9GSUxFPgorV0VCS0lUX1RZUEVfQVBQTElDQVRJT05fSU5GTworV2ViS2l0QXBwbGljYXRpb25J
bmZvCisKKzxTVUJTRUNUSU9OPgord2Via2l0X2FwcGxpY2F0aW9uX2luZm9fbmV3Cit3ZWJraXRf
YXBwbGljYXRpb25faW5mb19yZWYKK3dlYmtpdF9hcHBsaWNhdGlvbl9pbmZvX3VucmVmCit3ZWJr
aXRfYXBwbGljYXRpb25faW5mb19nZXRfbmFtZQord2Via2l0X2FwcGxpY2F0aW9uX2luZm9fZ2V0
X3ZlcnNpb24KK3dlYmtpdF9hcHBsaWNhdGlvbl9pbmZvX3NldF9uYW1lCit3ZWJraXRfYXBwbGlj
YXRpb25faW5mb19zZXRfdmVyc2lvbgorCis8U1VCU0VDVElPTiBQcml2YXRlPgord2Via2l0X2Fw
cGxpY2F0aW9uX2luZm9fZ2V0X3R5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5X
ZWJLaXRBdXRoZW50aWNhdGlvblJlcXVlc3Q8L0ZJTEU+Cis8VElUTEU+V2ViS2l0QXV0aGVudGlj
YXRpb25SZXF1ZXN0PC9USVRMRT4KK1dlYktpdEF1dGhlbnRpY2F0aW9uU2NoZW1lCisKKzxTVUJT
RUNUSU9OPgord2Via2l0X2F1dGhlbnRpY2F0aW9uX3JlcXVlc3RfYXV0aGVudGljYXRlCit3ZWJr
aXRfYXV0aGVudGljYXRpb25fcmVxdWVzdF9jYW5fc2F2ZV9jcmVkZW50aWFscword2Via2l0X2F1
dGhlbnRpY2F0aW9uX3JlcXVlc3RfY2FuY2VsCit3ZWJraXRfYXV0aGVudGljYXRpb25fcmVxdWVz
dF9nZXRfaG9zdAord2Via2l0X2F1dGhlbnRpY2F0aW9uX3JlcXVlc3RfZ2V0X3BvcnQKK3dlYmtp
dF9hdXRoZW50aWNhdGlvbl9yZXF1ZXN0X2dldF9wcm9wb3NlZF9jcmVkZW50aWFsCit3ZWJraXRf
YXV0aGVudGljYXRpb25fcmVxdWVzdF9nZXRfcmVhbG0KK3dlYmtpdF9hdXRoZW50aWNhdGlvbl9y
ZXF1ZXN0X2dldF9zY2hlbWUKK3dlYmtpdF9hdXRoZW50aWNhdGlvbl9yZXF1ZXN0X2lzX2Zvcl9w
cm94eQord2Via2l0X2F1dGhlbnRpY2F0aW9uX3JlcXVlc3RfaXNfcmV0cnkKKworPFNVQlNFQ1RJ
T04gU3RhbmRhcmQ+CitXRUJLSVRfQVVUSEVOVElDQVRJT05fUkVRVUVTVAorV0VCS0lUX0FVVEhF
TlRJQ0FUSU9OX1JFUVVFU1RfQ0xBU1MKK1dFQktJVF9BVVRIRU5USUNBVElPTl9SRVFVRVNUX0dF
VF9DTEFTUworV0VCS0lUX0lTX0FVVEhFTlRJQ0FUSU9OX1JFUVVFU1QKK1dFQktJVF9JU19BVVRI
RU5USUNBVElPTl9SRVFVRVNUX0NMQVNTCitXRUJLSVRfVFlQRV9BVVRIRU5USUNBVElPTl9SRVFV
RVNUCitXZWJLaXRBdXRoZW50aWNhdGlvblJlcXVlc3QKK1dlYktpdEF1dGhlbnRpY2F0aW9uUmVx
dWVzdENsYXNzCitXZWJLaXRBdXRoZW50aWNhdGlvblJlcXVlc3RQcml2YXRlCisKKzxTVUJTRUNU
SU9OIFByaXZhdGU+Cit3ZWJraXRfYXV0aGVudGljYXRpb25fcmVxdWVzdF9nZXRfdHlwZQorPC9T
RUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktpdEF1dG9tYXRpb25TZXNzaW9uPC9GSUxF
PgorPFRJVExFPldlYktpdEF1dG9tYXRpb25TZXNzaW9uPC9USVRMRT4KKworPFNVQlNFQ1RJT04+
Cit3ZWJraXRfYXV0b21hdGlvbl9zZXNzaW9uX2dldF9hcHBsaWNhdGlvbl9pbmZvCit3ZWJraXRf
YXV0b21hdGlvbl9zZXNzaW9uX2dldF9pZAord2Via2l0X2F1dG9tYXRpb25fc2Vzc2lvbl9zZXRf
YXBwbGljYXRpb25faW5mbworCis8U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dFQktJVF9BVVRPTUFU
SU9OX1NFU1NJT04KK1dFQktJVF9BVVRPTUFUSU9OX1NFU1NJT05fQ0xBU1MKK1dFQktJVF9BVVRP
TUFUSU9OX1NFU1NJT05fR0VUX0NMQVNTCitXRUJLSVRfSVNfQVVUT01BVElPTl9TRVNTSU9OCitX
RUJLSVRfSVNfQVVUT01BVElPTl9TRVNTSU9OX0NMQVNTCitXRUJLSVRfVFlQRV9BVVRPTUFUSU9O
X1NFU1NJT04KK1dlYktpdEF1dG9tYXRpb25TZXNzaW9uCitXZWJLaXRBdXRvbWF0aW9uU2Vzc2lv
bkNsYXNzCitXZWJLaXRBdXRvbWF0aW9uU2Vzc2lvblByaXZhdGUKKworPFNVQlNFQ1RJT04gUHJp
dmF0ZT4KK3dlYmtpdF9hdXRvbWF0aW9uX3Nlc3Npb25fZ2V0X3R5cGUKKzwvU0VDVElPTj4KKwor
PFNFQ1RJT04+Cis8RklMRT5XZWJLaXRCYWNrRm9yd2FyZExpc3Q8L0ZJTEU+Cis8VElUTEU+V2Vi
S2l0QmFja0ZvcndhcmRMaXN0PC9USVRMRT4KKworPFNVQlNFQ1RJT04+Cit3ZWJraXRfYmFja19m
b3J3YXJkX2xpc3RfZ2V0X2JhY2tfaXRlbQord2Via2l0X2JhY2tfZm9yd2FyZF9saXN0X2dldF9i
YWNrX2xpc3QKK3dlYmtpdF9iYWNrX2ZvcndhcmRfbGlzdF9nZXRfYmFja19saXN0X3dpdGhfbGlt
aXQKK3dlYmtpdF9iYWNrX2ZvcndhcmRfbGlzdF9nZXRfY3VycmVudF9pdGVtCit3ZWJraXRfYmFj
a19mb3J3YXJkX2xpc3RfZ2V0X2ZvcndhcmRfaXRlbQord2Via2l0X2JhY2tfZm9yd2FyZF9saXN0
X2dldF9mb3J3YXJkX2xpc3QKK3dlYmtpdF9iYWNrX2ZvcndhcmRfbGlzdF9nZXRfZm9yd2FyZF9s
aXN0X3dpdGhfbGltaXQKK3dlYmtpdF9iYWNrX2ZvcndhcmRfbGlzdF9nZXRfbGVuZ3RoCit3ZWJr
aXRfYmFja19mb3J3YXJkX2xpc3RfZ2V0X250aF9pdGVtCisKKzxTVUJTRUNUSU9OIFN0YW5kYXJk
PgorV0VCS0lUX0JBQ0tfRk9SV0FSRF9MSVNUCitXRUJLSVRfQkFDS19GT1JXQVJEX0xJU1RfQ0xB
U1MKK1dFQktJVF9CQUNLX0ZPUldBUkRfTElTVF9HRVRfQ0xBU1MKK1dFQktJVF9JU19CQUNLX0ZP
UldBUkRfTElTVAorV0VCS0lUX0lTX0JBQ0tfRk9SV0FSRF9MSVNUX0NMQVNTCitXRUJLSVRfVFlQ
RV9CQUNLX0ZPUldBUkRfTElTVAorV2ViS2l0QmFja0ZvcndhcmRMaXN0CitXZWJLaXRCYWNrRm9y
d2FyZExpc3RDbGFzcworV2ViS2l0QmFja0ZvcndhcmRMaXN0UHJpdmF0ZQorCis8U1VCU0VDVElP
TiBQcml2YXRlPgord2Via2l0X2JhY2tfZm9yd2FyZF9saXN0X2dldF90eXBlCis8L1NFQ1RJT04+
CisKKzxTRUNUSU9OPgorPEZJTEU+V2ViS2l0QmFja0ZvcndhcmRMaXN0SXRlbTwvRklMRT4KKzxU
SVRMRT5XZWJLaXRCYWNrRm9yd2FyZExpc3RJdGVtPC9USVRMRT4KKworPFNVQlNFQ1RJT04+Cit3
ZWJraXRfYmFja19mb3J3YXJkX2xpc3RfaXRlbV9nZXRfb3JpZ2luYWxfdXJpCit3ZWJraXRfYmFj
a19mb3J3YXJkX2xpc3RfaXRlbV9nZXRfdGl0bGUKKword2Via2l0X2JhY2tfZm9yd2FyZF9saXN0
X2l0ZW1fZ2V0X3VyaQorCis8U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dFQktJVF9CQUNLX0ZPUldB
UkRfTElTVF9JVEVNCitXRUJLSVRfQkFDS19GT1JXQVJEX0xJU1RfSVRFTV9DTEFTUworV0VCS0lU
X0JBQ0tfRk9SV0FSRF9MSVNUX0lURU1fR0VUX0NMQVNTCitXRUJLSVRfSVNfQkFDS19GT1JXQVJE
X0xJU1RfSVRFTQorV0VCS0lUX0lTX0JBQ0tfRk9SV0FSRF9MSVNUX0lURU1fQ0xBU1MKK1dFQktJ
VF9UWVBFX0JBQ0tfRk9SV0FSRF9MSVNUX0lURU0KK1dlYktpdEJhY2tGb3J3YXJkTGlzdEl0ZW0K
K1dlYktpdEJhY2tGb3J3YXJkTGlzdEl0ZW1DbGFzcworV2ViS2l0QmFja0ZvcndhcmRMaXN0SXRl
bVByaXZhdGUKKworPFNVQlNFQ1RJT04gUHJpdmF0ZT4KK3dlYmtpdF9iYWNrX2ZvcndhcmRfbGlz
dF9pdGVtX2dldF90eXBlCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+V2ViS2l0Q29u
dGV4dE1lbnU8L0ZJTEU+Cis8VElUTEU+V2ViS2l0Q29udGV4dE1lbnU8L1RJVExFPgorPFNVQlNF
Q1RJT04+CisKK3dlYmtpdF9jb250ZXh0X21lbnVfbmV3Cit3ZWJraXRfY29udGV4dF9tZW51X25l
d193aXRoX2l0ZW1zCit3ZWJraXRfY29udGV4dF9tZW51X2FwcGVuZAord2Via2l0X2NvbnRleHRf
bWVudV9maXJzdAord2Via2l0X2NvbnRleHRfbWVudV9nZXRfaXRlbV9hdF9wb3NpdGlvbgord2Vi
a2l0X2NvbnRleHRfbWVudV9nZXRfaXRlbXMKK3dlYmtpdF9jb250ZXh0X21lbnVfZ2V0X25faXRl
bXMKK3dlYmtpdF9jb250ZXh0X21lbnVfZ2V0X3VzZXJfZGF0YQord2Via2l0X2NvbnRleHRfbWVu
dV9pbnNlcnQKK3dlYmtpdF9jb250ZXh0X21lbnVfbGFzdAord2Via2l0X2NvbnRleHRfbWVudV9t
b3ZlX2l0ZW0KK3dlYmtpdF9jb250ZXh0X21lbnVfcHJlcGVuZAord2Via2l0X2NvbnRleHRfbWVu
dV9yZW1vdmUKK3dlYmtpdF9jb250ZXh0X21lbnVfcmVtb3ZlX2FsbAord2Via2l0X2NvbnRleHRf
bWVudV9zZXRfdXNlcl9kYXRhCisKKzxTVUJTRUNUSU9OIFN0YW5kYXJkPgorV0VCS0lUX0NPTlRF
WFRfTUVOVQorV0VCS0lUX0NPTlRFWFRfTUVOVV9DTEFTUworV0VCS0lUX0NPTlRFWFRfTUVOVV9H
RVRfQ0xBU1MKK1dFQktJVF9JU19DT05URVhUX01FTlUKK1dFQktJVF9JU19DT05URVhUX01FTlVf
Q0xBU1MKK1dFQktJVF9UWVBFX0NPTlRFWFRfTUVOVQorV2ViS2l0Q29udGV4dE1lbnUKK1dlYktp
dENvbnRleHRNZW51Q2xhc3MKK1dlYktpdENvbnRleHRNZW51UHJpdmF0ZQorCis8U1VCU0VDVElP
TiBQcml2YXRlPgord2Via2l0X2NvbnRleHRfbWVudV9nZXRfdHlwZQorPC9TRUNUSU9OPgorCis8
U0VDVElPTj4KKzxGSUxFPldlYktpdENvbnRleHRNZW51SXRlbTwvRklMRT4KKzxUSVRMRT5XZWJL
aXRDb250ZXh0TWVudUl0ZW08L1RJVExFPgorCis8U1VCU0VDVElPTj4KK3dlYmtpdF9jb250ZXh0
X21lbnVfaXRlbV9uZXdfZnJvbV9nYWN0aW9uCit3ZWJraXRfY29udGV4dF9tZW51X2l0ZW1fbmV3
X2Zyb21fc3RvY2tfYWN0aW9uCit3ZWJraXRfY29udGV4dF9tZW51X2l0ZW1fbmV3X2Zyb21fc3Rv
Y2tfYWN0aW9uX3dpdGhfbGFiZWwKK3dlYmtpdF9jb250ZXh0X21lbnVfaXRlbV9uZXdfc2VwYXJh
dG9yCit3ZWJraXRfY29udGV4dF9tZW51X2l0ZW1fbmV3X3dpdGhfc3VibWVudQord2Via2l0X2Nv
bnRleHRfbWVudV9pdGVtX2dldF9nYWN0aW9uCit3ZWJraXRfY29udGV4dF9tZW51X2l0ZW1fZ2V0
X3N0b2NrX2FjdGlvbgord2Via2l0X2NvbnRleHRfbWVudV9pdGVtX2dldF9zdWJtZW51Cit3ZWJr
aXRfY29udGV4dF9tZW51X2l0ZW1faXNfc2VwYXJhdG9yCit3ZWJraXRfY29udGV4dF9tZW51X2l0
ZW1fc2V0X3N1Ym1lbnUKKworPFNVQlNFQ1RJT04gU3RhbmRhcmQ+CitXRUJLSVRfQ09OVEVYVF9N
RU5VX0lURU0KK1dFQktJVF9DT05URVhUX01FTlVfSVRFTV9DTEFTUworV0VCS0lUX0NPTlRFWFRf
TUVOVV9JVEVNX0dFVF9DTEFTUworV0VCS0lUX0lTX0NPTlRFWFRfTUVOVV9JVEVNCitXRUJLSVRf
SVNfQ09OVEVYVF9NRU5VX0lURU1fQ0xBU1MKK1dFQktJVF9UWVBFX0NPTlRFWFRfTUVOVV9JVEVN
CitXZWJLaXRDb250ZXh0TWVudUFjdGlvbgorV2ViS2l0Q29udGV4dE1lbnVJdGVtCitXZWJLaXRD
b250ZXh0TWVudUl0ZW1DbGFzcworV2ViS2l0Q29udGV4dE1lbnVJdGVtUHJpdmF0ZQorCis8U1VC
U0VDVElPTiBQcml2YXRlPgord2Via2l0X2NvbnRleHRfbWVudV9pdGVtX2dldF90eXBlCis8L1NF
Q1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+V2ViS2l0Q29va2llTWFuYWdlcjwvRklMRT4KKzxU
SVRMRT5XZWJLaXRDb29raWVNYW5hZ2VyPC9USVRMRT4KK1dlYktpdENvb2tpZVBlcnNpc3RlbnRT
dG9yYWdlCitXZWJLaXRDb29raWVBY2NlcHRQb2xpY3kKKworPFNVQlNFQ1RJT04+Cit3ZWJraXRf
Y29va2llX21hbmFnZXJfYWRkX2Nvb2tpZQord2Via2l0X2Nvb2tpZV9tYW5hZ2VyX2FkZF9jb29r
aWVfZmluaXNoCit3ZWJraXRfY29va2llX21hbmFnZXJfZGVsZXRlX2Nvb2tpZQord2Via2l0X2Nv
b2tpZV9tYW5hZ2VyX2RlbGV0ZV9jb29raWVfZmluaXNoCit3ZWJraXRfY29va2llX21hbmFnZXJf
Z2V0X2FjY2VwdF9wb2xpY3kKK3dlYmtpdF9jb29raWVfbWFuYWdlcl9nZXRfYWNjZXB0X3BvbGlj
eV9maW5pc2gKK3dlYmtpdF9jb29raWVfbWFuYWdlcl9nZXRfY29va2llcword2Via2l0X2Nvb2tp
ZV9tYW5hZ2VyX2dldF9jb29raWVzX2ZpbmlzaAord2Via2l0X2Nvb2tpZV9tYW5hZ2VyX3NldF9h
Y2NlcHRfcG9saWN5Cit3ZWJraXRfY29va2llX21hbmFnZXJfc2V0X3BlcnNpc3RlbnRfc3RvcmFn
ZQorCis8U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dFQktJVF9DT09LSUVfTUFOQUdFUgorV0VCS0lU
X0NPT0tJRV9NQU5BR0VSX0NMQVNTCitXRUJLSVRfQ09PS0lFX01BTkFHRVJfR0VUX0NMQVNTCitX
RUJLSVRfSVNfQ09PS0lFX01BTkFHRVIKK1dFQktJVF9JU19DT09LSUVfTUFOQUdFUl9DTEFTUwor
V0VCS0lUX1RZUEVfQ09PS0lFX01BTkFHRVIKK1dlYktpdENvb2tpZU1hbmFnZXIKK1dlYktpdENv
b2tpZU1hbmFnZXJDbGFzcworV2ViS2l0Q29va2llTWFuYWdlclByaXZhdGUKKworPFNVQlNFQ1RJ
T04gUHJpdmF0ZT4KK3dlYmtpdF9jb29raWVfbWFuYWdlcl9nZXRfdHlwZQorPC9TRUNUSU9OPgor
Cis8U0VDVElPTj4KKzxGSUxFPldlYktpdENyZWRlbnRpYWw8L0ZJTEU+CitXRUJLSVRfVFlQRV9D
UkVERU5USUFMCitXZWJLaXRDcmVkZW50aWFsUGVyc2lzdGVuY2UKK1dlYktpdENyZWRlbnRpYWwK
KworPFNVQlNFQ1RJT04+Cit3ZWJraXRfY3JlZGVudGlhbF9uZXcKK3dlYmtpdF9jcmVkZW50aWFs
X2NvcHkKK3dlYmtpdF9jcmVkZW50aWFsX2ZyZWUKK3dlYmtpdF9jcmVkZW50aWFsX2dldF9wYXNz
d29yZAord2Via2l0X2NyZWRlbnRpYWxfZ2V0X3BlcnNpc3RlbmNlCit3ZWJraXRfY3JlZGVudGlh
bF9nZXRfdXNlcm5hbWUKK3dlYmtpdF9jcmVkZW50aWFsX2hhc19wYXNzd29yZAorCis8U1VCU0VD
VElPTiBQcml2YXRlPgord2Via2l0X2NyZWRlbnRpYWxfZ2V0X3R5cGUKKzwvU0VDVElPTj4KKwor
PFNFQ1RJT04+Cis8RklMRT5XZWJLaXREb3dubG9hZDwvRklMRT4KKzxUSVRMRT5XZWJLaXREb3du
bG9hZDwvVElUTEU+CisKKzxTVUJTRUNUSU9OPgord2Via2l0X2Rvd25sb2FkX2NhbmNlbAord2Vi
a2l0X2Rvd25sb2FkX2dldF9hbGxvd19vdmVyd3JpdGUKK3dlYmtpdF9kb3dubG9hZF9nZXRfZGVz
dGluYXRpb24KK3dlYmtpdF9kb3dubG9hZF9nZXRfZWxhcHNlZF90aW1lCit3ZWJraXRfZG93bmxv
YWRfZ2V0X2VzdGltYXRlZF9wcm9ncmVzcword2Via2l0X2Rvd25sb2FkX2dldF9yZWNlaXZlZF9k
YXRhX2xlbmd0aAord2Via2l0X2Rvd25sb2FkX2dldF9yZXF1ZXN0Cit3ZWJraXRfZG93bmxvYWRf
Z2V0X3Jlc3BvbnNlCit3ZWJraXRfZG93bmxvYWRfZ2V0X3dlYl92aWV3Cit3ZWJraXRfZG93bmxv
YWRfc2V0X2FsbG93X292ZXJ3cml0ZQord2Via2l0X2Rvd25sb2FkX3NldF9kZXN0aW5hdGlvbgor
Cis8U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dFQktJVF9ET1dOTE9BRAorV0VCS0lUX0RPV05MT0FE
X0NMQVNTCitXRUJLSVRfRE9XTkxPQURfR0VUX0NMQVNTCitXRUJLSVRfSVNfRE9XTkxPQUQKK1dF
QktJVF9JU19ET1dOTE9BRF9DTEFTUworV0VCS0lUX1RZUEVfRE9XTkxPQUQKK1dlYktpdERvd25s
b2FkCitXZWJLaXREb3dubG9hZENsYXNzCitXZWJLaXREb3dubG9hZFByaXZhdGUKKworPFNVQlNF
Q1RJT04gUHJpdmF0ZT4KK3dlYmtpdF9kb3dubG9hZF9nZXRfdHlwZQorPC9TRUNUSU9OPgorCis8
U0VDVElPTj4KKzxGSUxFPldlYktpdEVkaXRvclN0YXRlPC9GSUxFPgorPFRJVExFPldlYktpdEVk
aXRvclN0YXRlPC9USVRMRT4KK1dlYktpdEVkaXRvclR5cGluZ0F0dHJpYnV0ZXMKKworPFNVQlNF
Q1RJT04+Cit3ZWJraXRfZWRpdG9yX3N0YXRlX2dldF90eXBpbmdfYXR0cmlidXRlcword2Via2l0
X2VkaXRvcl9zdGF0ZV9pc19jb3B5X2F2YWlsYWJsZQord2Via2l0X2VkaXRvcl9zdGF0ZV9pc19j
dXRfYXZhaWxhYmxlCit3ZWJraXRfZWRpdG9yX3N0YXRlX2lzX3Bhc3RlX2F2YWlsYWJsZQord2Vi
a2l0X2VkaXRvcl9zdGF0ZV9pc19yZWRvX2F2YWlsYWJsZQord2Via2l0X2VkaXRvcl9zdGF0ZV9p
c191bmRvX2F2YWlsYWJsZQorCis8U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dFQktJVF9FRElUT1Jf
U1RBVEUKK1dFQktJVF9FRElUT1JfU1RBVEVfQ0xBU1MKK1dFQktJVF9FRElUT1JfU1RBVEVfR0VU
X0NMQVNTCitXRUJLSVRfSVNfRURJVE9SX1NUQVRFCitXRUJLSVRfSVNfRURJVE9SX1NUQVRFX0NM
QVNTCitXRUJLSVRfVFlQRV9FRElUT1JfU1RBVEUKK1dlYktpdEVkaXRvclN0YXRlCitXZWJLaXRF
ZGl0b3JTdGF0ZUNsYXNzCitXZWJLaXRFZGl0b3JTdGF0ZVByaXZhdGUKKworPFNVQlNFQ1RJT04g
UHJpdmF0ZT4KK3dlYmtpdF9lZGl0b3Jfc3RhdGVfZ2V0X3R5cGUKKzwvU0VDVElPTj4KKworPFNF
Q1RJT04+Cis8RklMRT5XZWJLaXRFcnJvcjwvRklMRT4KK1dFQktJVF9ORVRXT1JLX0VSUk9SCitX
RUJLSVRfUE9MSUNZX0VSUk9SCitXRUJLSVRfUExVR0lOX0VSUk9SCitXRUJLSVRfRE9XTkxPQURf
RVJST1IKK1dFQktJVF9KQVZBU0NSSVBUX0VSUk9SCitXRUJLSVRfU05BUFNIT1RfRVJST1IKK1dF
QktJVF9GQVZJQ09OX0RBVEFCQVNFX0VSUk9SCitXZWJLaXROZXR3b3JrRXJyb3IKK1dlYktpdFBv
bGljeUVycm9yCitXZWJLaXRQbHVnaW5FcnJvcgorV2ViS2l0RG93bmxvYWRFcnJvcgorV2ViS2l0
SmF2YXNjcmlwdEVycm9yCitXZWJLaXRTbmFwc2hvdEVycm9yCitXZWJLaXRGYXZpY29uRGF0YWJh
c2VFcnJvcgord2Via2l0X25ldHdvcmtfZXJyb3JfcXVhcmsKK3dlYmtpdF9wb2xpY3lfZXJyb3Jf
cXVhcmsKK3dlYmtpdF9wbHVnaW5fZXJyb3JfcXVhcmsKK3dlYmtpdF9kb3dubG9hZF9lcnJvcl9x
dWFyaword2Via2l0X2phdmFzY3JpcHRfZXJyb3JfcXVhcmsKK3dlYmtpdF9zbmFwc2hvdF9lcnJv
cl9xdWFyaword2Via2l0X2Zhdmljb25fZGF0YWJhc2VfZXJyb3JfcXVhcmsKKzwvU0VDVElPTj4K
KworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXRGYXZpY29uRGF0YWJhc2U8L0ZJTEU+Cis8VElUTEU+
V2ViS2l0RmF2aWNvbkRhdGFiYXNlPC9USVRMRT4KKword2Via2l0X2Zhdmljb25fZGF0YWJhc2Vf
Y2xlYXIKK3dlYmtpdF9mYXZpY29uX2RhdGFiYXNlX2dldF9mYXZpY29uX3VyaQorCis8U1VCU0VD
VElPTiBTdGFuZGFyZD4KK1dFQktJVF9GQVZJQ09OX0RBVEFCQVNFCitXRUJLSVRfRkFWSUNPTl9E
QVRBQkFTRV9DTEFTUworV0VCS0lUX0ZBVklDT05fREFUQUJBU0VfR0VUX0NMQVNTCitXRUJLSVRf
SVNfRkFWSUNPTl9EQVRBQkFTRQorV0VCS0lUX0lTX0ZBVklDT05fREFUQUJBU0VfQ0xBU1MKK1dF
QktJVF9UWVBFX0ZBVklDT05fREFUQUJBU0UKK1dlYktpdEZhdmljb25EYXRhYmFzZQorV2ViS2l0
RmF2aWNvbkRhdGFiYXNlQ2xhc3MKK1dlYktpdEZhdmljb25EYXRhYmFzZVByaXZhdGUKKworPFNV
QlNFQ1RJT04gUHJpdmF0ZT4KK3dlYmtpdF9mYXZpY29uX2RhdGFiYXNlX2dldF90eXBlCis8L1NF
Q1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+V2ViS2l0RmlsZUNob29zZXJSZXF1ZXN0PC9GSUxF
PgorPFRJVExFPldlYktpdEZpbGVDaG9vc2VyUmVxdWVzdDwvVElUTEU+CisKKzxTVUJTRUNUSU9O
Pgord2Via2l0X2ZpbGVfY2hvb3Nlcl9yZXF1ZXN0X2NhbmNlbAord2Via2l0X2ZpbGVfY2hvb3Nl
cl9yZXF1ZXN0X2dldF9taW1lX3R5cGVzCit3ZWJraXRfZmlsZV9jaG9vc2VyX3JlcXVlc3RfZ2V0
X3NlbGVjdF9tdWx0aXBsZQord2Via2l0X2ZpbGVfY2hvb3Nlcl9yZXF1ZXN0X2dldF9zZWxlY3Rl
ZF9maWxlcword2Via2l0X2ZpbGVfY2hvb3Nlcl9yZXF1ZXN0X3NlbGVjdF9maWxlcworCis8U1VC
U0VDVElPTiBTdGFuZGFyZD4KK1dFQktJVF9GSUxFX0NIT09TRVJfUkVRVUVTVAorV0VCS0lUX0ZJ
TEVfQ0hPT1NFUl9SRVFVRVNUX0NMQVNTCitXRUJLSVRfRklMRV9DSE9PU0VSX1JFUVVFU1RfR0VU
X0NMQVNTCitXRUJLSVRfSVNfRklMRV9DSE9PU0VSX1JFUVVFU1QKK1dFQktJVF9JU19GSUxFX0NI
T09TRVJfUkVRVUVTVF9DTEFTUworV0VCS0lUX1RZUEVfRklMRV9DSE9PU0VSX1JFUVVFU1QKK1dl
YktpdEZpbGVDaG9vc2VyUmVxdWVzdAorV2ViS2l0RmlsZUNob29zZXJSZXF1ZXN0Q2xhc3MKK1dl
YktpdEZpbGVDaG9vc2VyUmVxdWVzdFByaXZhdGUKKworPFNVQlNFQ1RJT04gUHJpdmF0ZT4KK3dl
YmtpdF9maWxlX2Nob29zZXJfcmVxdWVzdF9nZXRfdHlwZQorCis8L1NFQ1RJT04+CisKKzxTRUNU
SU9OPgorPEZJTEU+V2ViS2l0RmluZENvbnRyb2xsZXI8L0ZJTEU+Cis8VElUTEU+V2ViS2l0Rmlu
ZENvbnRyb2xsZXI8L1RJVExFPgorV2ViS2l0RmluZE9wdGlvbnMKKworPFNVQlNFQ1RJT04+Cit3
ZWJraXRfZmluZF9jb250cm9sbGVyX2NvdW50X21hdGNoZXMKK3dlYmtpdF9maW5kX2NvbnRyb2xs
ZXJfZ2V0X21heF9tYXRjaF9jb3VudAord2Via2l0X2ZpbmRfY29udHJvbGxlcl9nZXRfb3B0aW9u
cword2Via2l0X2ZpbmRfY29udHJvbGxlcl9nZXRfc2VhcmNoX3RleHQKK3dlYmtpdF9maW5kX2Nv
bnRyb2xsZXJfZ2V0X3dlYl92aWV3Cit3ZWJraXRfZmluZF9jb250cm9sbGVyX3NlYXJjaAord2Vi
a2l0X2ZpbmRfY29udHJvbGxlcl9zZWFyY2hfZmluaXNoCit3ZWJraXRfZmluZF9jb250cm9sbGVy
X3NlYXJjaF9uZXh0Cit3ZWJraXRfZmluZF9jb250cm9sbGVyX3NlYXJjaF9wcmV2aW91cworCis8
U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dFQktJVF9GSU5EX0NPTlRST0xMRVIKK1dFQktJVF9GSU5E
X0NPTlRST0xMRVJfQ0xBU1MKK1dFQktJVF9GSU5EX0NPTlRST0xMRVJfR0VUX0NMQVNTCitXRUJL
SVRfSVNfRklORF9DT05UUk9MTEVSCitXRUJLSVRfSVNfRklORF9DT05UUk9MTEVSX0NMQVNTCitX
RUJLSVRfVFlQRV9GSU5EX0NPTlRST0xMRVIKK1dlYktpdEZpbmRDb250cm9sbGVyCitXZWJLaXRG
aW5kQ29udHJvbGxlckNsYXNzCitXZWJLaXRGaW5kQ29udHJvbGxlclByaXZhdGUKKworPFNVQlNF
Q1RJT04gUHJpdmF0ZT4KK3dlYmtpdF9maW5kX2NvbnRyb2xsZXJfZ2V0X3R5cGUKKzwvU0VDVElP
Tj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXRGb3JtU3VibWlzc2lvblJlcXVlc3Q8L0ZJTEU+
Cis8VElUTEU+V2ViS2l0Rm9ybVN1Ym1pc3Npb25SZXF1ZXN0PC9USVRMRT4KKworPFNVQlNFQ1RJ
T04+Cit3ZWJraXRfZm9ybV9zdWJtaXNzaW9uX3JlcXVlc3RfbGlzdF90ZXh0X2ZpZWxkcword2Vi
a2l0X2Zvcm1fc3VibWlzc2lvbl9yZXF1ZXN0X3N1Ym1pdAorCis8U1VCU0VDVElPTiBTdGFuZGFy
ZD4KK1dFQktJVF9GT1JNX1NVQk1JU1NJT05fUkVRVUVTVAorV0VCS0lUX0ZPUk1fU1VCTUlTU0lP
Tl9SRVFVRVNUX0NMQVNTCitXRUJLSVRfRk9STV9TVUJNSVNTSU9OX1JFUVVFU1RfR0VUX0NMQVNT
CitXRUJLSVRfSVNfRk9STV9TVUJNSVNTSU9OX1JFUVVFU1QKK1dFQktJVF9JU19GT1JNX1NVQk1J
U1NJT05fUkVRVUVTVF9DTEFTUworV0VCS0lUX1RZUEVfRk9STV9TVUJNSVNTSU9OX1JFUVVFU1QK
K1dlYktpdEZvcm1TdWJtaXNzaW9uUmVxdWVzdAorV2ViS2l0Rm9ybVN1Ym1pc3Npb25SZXF1ZXN0
Q2xhc3MKK1dlYktpdEZvcm1TdWJtaXNzaW9uUmVxdWVzdFByaXZhdGUKKworPFNVQlNFQ1RJT04g
UHJpdmF0ZT4KK3dlYmtpdF9mb3JtX3N1Ym1pc3Npb25fcmVxdWVzdF9nZXRfdHlwZQorPC9TRUNU
SU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktpdEZyYW1lPC9GSUxFPgorPFRJVExFPldlYktp
dEZyYW1lPC9USVRMRT4KKzxTVUJTRUNUSU9OIFN0YW5kYXJkPgorV0VCS0lUX0ZSQU1FCitXRUJL
SVRfRlJBTUVfQ0xBU1MKK1dFQktJVF9GUkFNRV9HRVRfQ0xBU1MKK1dFQktJVF9JU19GUkFNRQor
V0VCS0lUX1RZUEVfRlJBTUUKK1dlYktpdEZyYW1lCitXZWJLaXRGcmFtZUNsYXNzCitXZWJLaXRG
cmFtZVByaXZhdGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXRHZW9sb2Nh
dGlvblBlcm1pc3Npb25SZXF1ZXN0PC9GSUxFPgorPFRJVExFPldlYktpdEdlb2xvY2F0aW9uUGVy
bWlzc2lvblJlcXVlc3Q8L1RJVExFPgorPFNVQlNFQ1RJT04gU3RhbmRhcmQ+CitXRUJLSVRfR0VP
TE9DQVRJT05fUEVSTUlTU0lPTl9SRVFVRVNUCitXRUJLSVRfR0VPTE9DQVRJT05fUEVSTUlTU0lP
Tl9SRVFVRVNUX0NMQVNTCitXRUJLSVRfR0VPTE9DQVRJT05fUEVSTUlTU0lPTl9SRVFVRVNUX0dF
VF9DTEFTUworV0VCS0lUX0lTX0dFT0xPQ0FUSU9OX1BFUk1JU1NJT05fUkVRVUVTVAorV0VCS0lU
X0lTX0dFT0xPQ0FUSU9OX1BFUk1JU1NJT05fUkVRVUVTVF9DTEFTUworV0VCS0lUX1RZUEVfR0VP
TE9DQVRJT05fUEVSTUlTU0lPTl9SRVFVRVNUCitXZWJLaXRHZW9sb2NhdGlvblBlcm1pc3Npb25S
ZXF1ZXN0CitXZWJLaXRHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0Q2xhc3MKK1dlYktpdEdl
b2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RQcml2YXRlCisKKzxTVUJTRUNUSU9OIFByaXZhdGU+
Cit3ZWJraXRfZ2VvbG9jYXRpb25fcGVybWlzc2lvbl9yZXF1ZXN0X2dldF90eXBlCis8L1NFQ1RJ
T04+CisKKzxTRUNUSU9OPgorPEZJTEU+V2ViS2l0SGl0VGVzdFJlc3VsdDwvRklMRT4KKzxUSVRM
RT5XZWJLaXRIaXRUZXN0UmVzdWx0PC9USVRMRT4KK1dlYktpdEhpdFRlc3RSZXN1bHRDb250ZXh0
CisKKzxTVUJTRUNUSU9OPgord2Via2l0X2hpdF90ZXN0X3Jlc3VsdF9jb250ZXh0X2lzX2VkaXRh
YmxlCit3ZWJraXRfaGl0X3Rlc3RfcmVzdWx0X2NvbnRleHRfaXNfaW1hZ2UKK3dlYmtpdF9oaXRf
dGVzdF9yZXN1bHRfY29udGV4dF9pc19saW5rCit3ZWJraXRfaGl0X3Rlc3RfcmVzdWx0X2NvbnRl
eHRfaXNfbWVkaWEKK3dlYmtpdF9oaXRfdGVzdF9yZXN1bHRfY29udGV4dF9pc19zY3JvbGxiYXIK
K3dlYmtpdF9oaXRfdGVzdF9yZXN1bHRfY29udGV4dF9pc19zZWxlY3Rpb24KK3dlYmtpdF9oaXRf
dGVzdF9yZXN1bHRfZ2V0X2NvbnRleHQKK3dlYmtpdF9oaXRfdGVzdF9yZXN1bHRfZ2V0X2ltYWdl
X3VyaQord2Via2l0X2hpdF90ZXN0X3Jlc3VsdF9nZXRfbGlua19sYWJlbAord2Via2l0X2hpdF90
ZXN0X3Jlc3VsdF9nZXRfbGlua190aXRsZQord2Via2l0X2hpdF90ZXN0X3Jlc3VsdF9nZXRfbGlu
a191cmkKK3dlYmtpdF9oaXRfdGVzdF9yZXN1bHRfZ2V0X21lZGlhX3VyaQorCis8U1VCU0VDVElP
TiBTdGFuZGFyZD4KK1dFQktJVF9ISVRfVEVTVF9SRVNVTFQKK1dFQktJVF9ISVRfVEVTVF9SRVNV
TFRfQ0xBU1MKK1dFQktJVF9ISVRfVEVTVF9SRVNVTFRfR0VUX0NMQVNTCitXRUJLSVRfSVNfSElU
X1RFU1RfUkVTVUxUCitXRUJLSVRfSVNfSElUX1RFU1RfUkVTVUxUX0NMQVNTCitXRUJLSVRfVFlQ
RV9ISVRfVEVTVF9SRVNVTFQKK1dlYktpdEhpdFRlc3RSZXN1bHQKK1dlYktpdEhpdFRlc3RSZXN1
bHRDbGFzcworV2ViS2l0SGl0VGVzdFJlc3VsdFByaXZhdGUKKworPFNVQlNFQ1RJT04gUHJpdmF0
ZT4KK3dlYmtpdF9oaXRfdGVzdF9yZXN1bHRfZ2V0X3R5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJ
T04+Cis8RklMRT5XZWJLaXRJbnN0YWxsTWlzc2luZ01lZGlhUGx1Z2luc1Blcm1pc3Npb25SZXF1
ZXN0PC9GSUxFPgorPFRJVExFPldlYktpdEluc3RhbGxNaXNzaW5nTWVkaWFQbHVnaW5zUGVybWlz
c2lvblJlcXVlc3Q8L1RJVExFPgorCis8U1VCU0VDVElPTj4KK3dlYmtpdF9pbnN0YWxsX21pc3Np
bmdfbWVkaWFfcGx1Z2luc19wZXJtaXNzaW9uX3JlcXVlc3RfZ2V0X2Rlc2NyaXB0aW9uCisKKzxT
VUJTRUNUSU9OIFN0YW5kYXJkPgorV0VCS0lUX0lOU1RBTExfTUlTU0lOR19NRURJQV9QTFVHSU5T
X1BFUk1JU1NJT05fUkVRVUVTVAorV0VCS0lUX0lOU1RBTExfTUlTU0lOR19NRURJQV9QTFVHSU5T
X1BFUk1JU1NJT05fUkVRVUVTVF9DTEFTUworV0VCS0lUX0lOU1RBTExfTUlTU0lOR19NRURJQV9Q
TFVHSU5TX1BFUk1JU1NJT05fUkVRVUVTVF9HRVRfQ0xBU1MKK1dFQktJVF9JU19JTlNUQUxMX01J
U1NJTkdfTUVESUFfUExVR0lOU19QRVJNSVNTSU9OX1JFUVVFU1QKK1dFQktJVF9JU19JTlNUQUxM
X01JU1NJTkdfTUVESUFfUExVR0lOU19QRVJNSVNTSU9OX1JFUVVFU1RfQ0xBU1MKK1dFQktJVF9U
WVBFX0lOU1RBTExfTUlTU0lOR19NRURJQV9QTFVHSU5TX1BFUk1JU1NJT05fUkVRVUVTVAorV2Vi
S2l0SW5zdGFsbE1pc3NpbmdNZWRpYVBsdWdpbnNQZXJtaXNzaW9uUmVxdWVzdAorV2ViS2l0SW5z
dGFsbE1pc3NpbmdNZWRpYVBsdWdpbnNQZXJtaXNzaW9uUmVxdWVzdENsYXNzCitXZWJLaXRJbnN0
YWxsTWlzc2luZ01lZGlhUGx1Z2luc1Blcm1pc3Npb25SZXF1ZXN0UHJpdmF0ZQorCis8U1VCU0VD
VElPTiBQcml2YXRlPgord2Via2l0X2luc3RhbGxfbWlzc2luZ19tZWRpYV9wbHVnaW5zX3Blcm1p
c3Npb25fcmVxdWVzdF9nZXRfdHlwZQorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldl
YktpdEphdmFzY3JpcHRSZXN1bHQ8L0ZJTEU+CitXRUJLSVRfVFlQRV9KQVZBU0NSSVBUX1JFU1VM
VAorV2ViS2l0SmF2YXNjcmlwdFJlc3VsdAorCis8U1VCU0VDVElPTj4KK3dlYmtpdF9qYXZhc2Ny
aXB0X3Jlc3VsdF9nZXRfanNfdmFsdWUKK3dlYmtpdF9qYXZhc2NyaXB0X3Jlc3VsdF9yZWYKK3dl
YmtpdF9qYXZhc2NyaXB0X3Jlc3VsdF91bnJlZgorCis8U1VCU0VDVElPTiBQcml2YXRlPgord2Vi
a2l0X2phdmFzY3JpcHRfcmVzdWx0X2dldF90eXBlCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgor
PEZJTEU+V2ViS2l0TWltZUluZm88L0ZJTEU+CitXRUJLSVRfVFlQRV9NSU1FX0lORk8KK1dlYktp
dE1pbWVJbmZvCisKKzxTVUJTRUNUSU9OPgord2Via2l0X21pbWVfaW5mb19nZXRfZGVzY3JpcHRp
b24KK3dlYmtpdF9taW1lX2luZm9fZ2V0X2V4dGVuc2lvbnMKK3dlYmtpdF9taW1lX2luZm9fZ2V0
X21pbWVfdHlwZQord2Via2l0X21pbWVfaW5mb19yZWYKK3dlYmtpdF9taW1lX2luZm9fdW5yZWYK
KworPFNVQlNFQ1RJT04gUHJpdmF0ZT4KK3dlYmtpdF9taW1lX2luZm9fZ2V0X3R5cGUKKzwvU0VD
VElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXROYXZpZ2F0aW9uQWN0aW9uPC9GSUxFPgor
V0VCS0lUX1RZUEVfTkFWSUdBVElPTl9BQ1RJT04KK1dlYktpdE5hdmlnYXRpb25UeXBlCitXZWJL
aXROYXZpZ2F0aW9uQWN0aW9uCisKKzxTVUJTRUNUSU9OPgord2Via2l0X25hdmlnYXRpb25fYWN0
aW9uX2NvcHkKK3dlYmtpdF9uYXZpZ2F0aW9uX2FjdGlvbl9mcmVlCit3ZWJraXRfbmF2aWdhdGlv
bl9hY3Rpb25fZ2V0X21vZGlmaWVycword2Via2l0X25hdmlnYXRpb25fYWN0aW9uX2dldF9tb3Vz
ZV9idXR0b24KK3dlYmtpdF9uYXZpZ2F0aW9uX2FjdGlvbl9nZXRfbmF2aWdhdGlvbl90eXBlCit3
ZWJraXRfbmF2aWdhdGlvbl9hY3Rpb25fZ2V0X3JlcXVlc3QKK3dlYmtpdF9uYXZpZ2F0aW9uX2Fj
dGlvbl9pc19yZWRpcmVjdAord2Via2l0X25hdmlnYXRpb25fYWN0aW9uX2lzX3VzZXJfZ2VzdHVy
ZQorCis8U1VCU0VDVElPTiBQcml2YXRlPgord2Via2l0X25hdmlnYXRpb25fYWN0aW9uX2dldF90
eXBlCisKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXROYXZpZ2F0aW9uUG9s
aWN5RGVjaXNpb248L0ZJTEU+Cis8VElUTEU+V2ViS2l0TmF2aWdhdGlvblBvbGljeURlY2lzaW9u
PC9USVRMRT4KKworPFNVQlNFQ1RJT04+Cit3ZWJraXRfbmF2aWdhdGlvbl9wb2xpY3lfZGVjaXNp
b25fZ2V0X2ZyYW1lX25hbWUKK3dlYmtpdF9uYXZpZ2F0aW9uX3BvbGljeV9kZWNpc2lvbl9nZXRf
bmF2aWdhdGlvbl9hY3Rpb24KKworPFNVQlNFQ1RJT04gU3RhbmRhcmQ+CitXRUJLSVRfSVNfTkFW
SUdBVElPTl9QT0xJQ1lfREVDSVNJT04KK1dFQktJVF9JU19OQVZJR0FUSU9OX1BPTElDWV9ERUNJ
U0lPTl9DTEFTUworV0VCS0lUX05BVklHQVRJT05fUE9MSUNZX0RFQ0lTSU9OCitXRUJLSVRfTkFW
SUdBVElPTl9QT0xJQ1lfREVDSVNJT05fQ0xBU1MKK1dFQktJVF9OQVZJR0FUSU9OX1BPTElDWV9E
RUNJU0lPTl9HRVRfQ0xBU1MKK1dFQktJVF9UWVBFX05BVklHQVRJT05fUE9MSUNZX0RFQ0lTSU9O
CitXZWJLaXROYXZpZ2F0aW9uUG9saWN5RGVjaXNpb24KK1dlYktpdE5hdmlnYXRpb25Qb2xpY3lE
ZWNpc2lvbkNsYXNzCitXZWJLaXROYXZpZ2F0aW9uUG9saWN5RGVjaXNpb25Qcml2YXRlCisKKzxT
VUJTRUNUSU9OIFByaXZhdGU+Cit3ZWJraXRfbmF2aWdhdGlvbl9wb2xpY3lfZGVjaXNpb25fZ2V0
X3R5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXROZXR3b3JrUHJveHlT
ZXR0aW5nczwvRklMRT4KK1dFQktJVF9UWVBFX05FVFdPUktfTkVUV09SS19QUk9YWV9TRVRUSU5H
UworV2ViS2l0TmV0d29ya1Byb3h5U2V0dGluZ3MKKword2Via2l0X25ldHdvcmtfcHJveHlfc2V0
dGluZ3NfYWRkX3Byb3h5X2Zvcl9zY2hlbWUKK3dlYmtpdF9uZXR3b3JrX3Byb3h5X3NldHRpbmdz
X2NvcHkKK3dlYmtpdF9uZXR3b3JrX3Byb3h5X3NldHRpbmdzX2ZyZWUKK3dlYmtpdF9uZXR3b3Jr
X3Byb3h5X3NldHRpbmdzX25ldworCis8U1VCU0VDVElPTiBQcml2YXRlPgord2Via2l0X25ldHdv
cmtfcHJveHlfc2V0dGluZ3NfZ2V0X3R5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklM
RT5XZWJLaXROb3RpZmljYXRpb248L0ZJTEU+Cis8VElUTEU+V2ViS2l0Tm90aWZpY2F0aW9uPC9U
SVRMRT4KKworPFNVQlNFQ1RJT04+Cit3ZWJraXRfbm90aWZpY2F0aW9uX2NsaWNrZWQKK3dlYmtp
dF9ub3RpZmljYXRpb25fY2xvc2UKK3dlYmtpdF9ub3RpZmljYXRpb25fZ2V0X2JvZHkKK3dlYmtp
dF9ub3RpZmljYXRpb25fZ2V0X2lkCit3ZWJraXRfbm90aWZpY2F0aW9uX2dldF90YWcKK3dlYmtp
dF9ub3RpZmljYXRpb25fZ2V0X3RpdGxlCit3ZWJraXRfbm90aWZpY2F0aW9uX3Blcm1pc3Npb25f
cmVxdWVzdF9nZXRfdHlwZQorCis8U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dFQktJVF9JU19OT1RJ
RklDQVRJT04KK1dFQktJVF9JU19OT1RJRklDQVRJT05fQ0xBU1MKK1dFQktJVF9OT1RJRklDQVRJ
T04KK1dFQktJVF9OT1RJRklDQVRJT05fQ0xBU1MKK1dFQktJVF9OT1RJRklDQVRJT05fR0VUX0NM
QVNTCitXRUJLSVRfVFlQRV9OT1RJRklDQVRJT04KK1dlYktpdE5vdGlmaWNhdGlvbgorV2ViS2l0
Tm90aWZpY2F0aW9uQ2xhc3MKK1dlYktpdE5vdGlmaWNhdGlvblByaXZhdGUKKworPFNVQlNFQ1RJ
T04gUHJpdmF0ZT4KK3dlYmtpdF9ub3RpZmljYXRpb25fZ2V0X3R5cGUKKzwvU0VDVElPTj4KKwor
PFNFQ1RJT04+Cis8RklMRT5XZWJLaXROb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdDwvRklM
RT4KKzxUSVRMRT5XZWJLaXROb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdDwvVElUTEU+Cis8
U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dFQktJVF9JU19OT1RJRklDQVRJT05fUEVSTUlTU0lPTl9S
RVFVRVNUCitXRUJLSVRfSVNfTk9USUZJQ0FUSU9OX1BFUk1JU1NJT05fUkVRVUVTVF9DTEFTUwor
V0VCS0lUX05PVElGSUNBVElPTl9QRVJNSVNTSU9OX1JFUVVFU1QKK1dFQktJVF9OT1RJRklDQVRJ
T05fUEVSTUlTU0lPTl9SRVFVRVNUX0NMQVNTCitXRUJLSVRfTk9USUZJQ0FUSU9OX1BFUk1JU1NJ
T05fUkVRVUVTVF9HRVRfQ0xBU1MKK1dFQktJVF9UWVBFX05PVElGSUNBVElPTl9QRVJNSVNTSU9O
X1JFUVVFU1QKK1dlYktpdE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0CitXZWJLaXROb3Rp
ZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdENsYXNzCitXZWJLaXROb3RpZmljYXRpb25QZXJtaXNz
aW9uUmVxdWVzdFByaXZhdGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXRQ
ZXJtaXNzaW9uUmVxdWVzdDwvRklMRT4KKzxUSVRMRT5XZWJLaXRQZXJtaXNzaW9uUmVxdWVzdDwv
VElUTEU+CisKKzxTVUJTRUNUSU9OPgord2Via2l0X3Blcm1pc3Npb25fcmVxdWVzdF9hbGxvdwor
d2Via2l0X3Blcm1pc3Npb25fcmVxdWVzdF9kZW55CisKKzxTVUJTRUNUSU9OIFN0YW5kYXJkPgor
V0VCS0lUX0lTX1BFUk1JU1NJT05fUkVRVUVTVAorV0VCS0lUX1BFUk1JU1NJT05fUkVRVUVTVAor
V0VCS0lUX1BFUk1JU1NJT05fUkVRVUVTVF9HRVRfSUZBQ0UKK1dFQktJVF9UWVBFX1BFUk1JU1NJ
T05fUkVRVUVTVAorV2ViS2l0UGVybWlzc2lvblJlcXVlc3QKK1dlYktpdFBlcm1pc3Npb25SZXF1
ZXN0SWZhY2UKKworPFNVQlNFQ1RJT04gUHJpdmF0ZT4KK3dlYmtpdF9wZXJtaXNzaW9uX3JlcXVl
c3RfZ2V0X3R5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXRQbHVnaW48
L0ZJTEU+Cis8VElUTEU+V2ViS2l0UGx1Z2luPC9USVRMRT4KKworCit3ZWJraXRfcGx1Z2luX2dl
dF9kZXNjcmlwdGlvbgord2Via2l0X3BsdWdpbl9nZXRfbWltZV9pbmZvX2xpc3QKK3dlYmtpdF9w
bHVnaW5fZ2V0X25hbWUKK3dlYmtpdF9wbHVnaW5fZ2V0X3BhdGgKKworCis8U1VCU0VDVElPTiBT
dGFuZGFyZD4KK1dFQktJVF9JU19QTFVHSU4KK1dFQktJVF9JU19QTFVHSU5fQ0xBU1MKK1dFQktJ
VF9QTFVHSU4KK1dFQktJVF9QTFVHSU5fQ0xBU1MKK1dFQktJVF9QTFVHSU5fR0VUX0NMQVNTCitX
RUJLSVRfVFlQRV9QTFVHSU4KK1dlYktpdFBsdWdpbgorV2ViS2l0UGx1Z2luQ2xhc3MKK1dlYktp
dFBsdWdpblByaXZhdGUKKworPFNVQlNFQ1RJT04gUHJpdmF0ZT4KK3dlYmtpdF9wbHVnaW5fZ2V0
X3R5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXRQb2xpY3lEZWNpc2lv
bjwvRklMRT4KKzxUSVRMRT5XZWJLaXRQb2xpY3lEZWNpc2lvbjwvVElUTEU+CisKKzxTVUJTRUNU
SU9OPgord2Via2l0X3BvbGljeV9kZWNpc2lvbl9kb3dubG9hZAord2Via2l0X3BvbGljeV9kZWNp
c2lvbl9nZXRfdHlwZQord2Via2l0X3BvbGljeV9kZWNpc2lvbl9pZ25vcmUKK3dlYmtpdF9wb2xp
Y3lfZGVjaXNpb25fdXNlCisKKzxTVUJTRUNUSU9OIFN0YW5kYXJkPgorV0VCS0lUX0lTX1BPTElD
WV9ERUNJU0lPTgorV0VCS0lUX0lTX1BPTElDWV9ERUNJU0lPTl9DTEFTUworV0VCS0lUX1BPTElD
WV9ERUNJU0lPTgorV0VCS0lUX1BPTElDWV9ERUNJU0lPTl9DTEFTUworV0VCS0lUX1BPTElDWV9E
RUNJU0lPTl9HRVRfQ0xBU1MKK1dFQktJVF9UWVBFX1BPTElDWV9ERUNJU0lPTgorV2ViS2l0UG9s
aWN5RGVjaXNpb24KK1dlYktpdFBvbGljeURlY2lzaW9uQ2xhc3MKK1dlYktpdFBvbGljeURlY2lz
aW9uUHJpdmF0ZQorCis8U1VCU0VDVElPTiBQcml2YXRlPgorPC9TRUNUSU9OPgorCis8U0VDVElP
Tj4KKzxGSUxFPldlYktpdFJlc3BvbnNlUG9saWN5RGVjaXNpb248L0ZJTEU+Cis8VElUTEU+V2Vi
S2l0UmVzcG9uc2VQb2xpY3lEZWNpc2lvbjwvVElUTEU+CisKKzxTVUJTRUNUSU9OPgord2Via2l0
X3Jlc3BvbnNlX3BvbGljeV9kZWNpc2lvbl9nZXRfcmVxdWVzdAord2Via2l0X3Jlc3BvbnNlX3Bv
bGljeV9kZWNpc2lvbl9nZXRfcmVzcG9uc2UKK3dlYmtpdF9yZXNwb25zZV9wb2xpY3lfZGVjaXNp
b25faXNfbWltZV90eXBlX3N1cHBvcnRlZAorCis8U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dFQktJ
VF9JU19SRVNQT05TRV9QT0xJQ1lfREVDSVNJT04KK1dFQktJVF9JU19SRVNQT05TRV9QT0xJQ1lf
REVDSVNJT05fQ0xBU1MKK1dFQktJVF9SRVNQT05TRV9QT0xJQ1lfREVDSVNJT04KK1dFQktJVF9S
RVNQT05TRV9QT0xJQ1lfREVDSVNJT05fQ0xBU1MKK1dFQktJVF9SRVNQT05TRV9QT0xJQ1lfREVD
SVNJT05fR0VUX0NMQVNTCitXRUJLSVRfVFlQRV9SRVNQT05TRV9QT0xJQ1lfREVDSVNJT04KK1dl
YktpdFJlc3BvbnNlUG9saWN5RGVjaXNpb24KK1dlYktpdFJlc3BvbnNlUG9saWN5RGVjaXNpb25D
bGFzcworV2ViS2l0UmVzcG9uc2VQb2xpY3lEZWNpc2lvblByaXZhdGUKKworPFNVQlNFQ1RJT04g
UHJpdmF0ZT4KK3dlYmtpdF9yZXNwb25zZV9wb2xpY3lfZGVjaXNpb25fZ2V0X3R5cGUKKzwvU0VD
VElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXRTY3JpcHREaWFsb2c8L0ZJTEU+CitXRUJL
SVRfVFlQRV9TQ1JJUFRfRElBTE9HCitXZWJLaXRTY3JpcHREaWFsb2dUeXBlCitXZWJLaXRTY3Jp
cHREaWFsb2cKKworPFNVQlNFQ1RJT04+Cit3ZWJraXRfc2NyaXB0X2RpYWxvZ19jbG9zZQord2Vi
a2l0X3NjcmlwdF9kaWFsb2dfY29uZmlybV9zZXRfY29uZmlybWVkCit3ZWJraXRfc2NyaXB0X2Rp
YWxvZ19nZXRfZGlhbG9nX3R5cGUKK3dlYmtpdF9zY3JpcHRfZGlhbG9nX2dldF9tZXNzYWdlCit3
ZWJraXRfc2NyaXB0X2RpYWxvZ19wcm9tcHRfZ2V0X2RlZmF1bHRfdGV4dAord2Via2l0X3Njcmlw
dF9kaWFsb2dfcHJvbXB0X3NldF90ZXh0Cit3ZWJraXRfc2NyaXB0X2RpYWxvZ19yZWYKK3dlYmtp
dF9zY3JpcHRfZGlhbG9nX3VucmVmCisKKzxTVUJTRUNUSU9OIFByaXZhdGU+Cit3ZWJraXRfc2Ny
aXB0X2RpYWxvZ19nZXRfdHlwZQorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktp
dFNjcmlwdFdvcmxkPC9GSUxFPgorPFRJVExFPldlYktpdFNjcmlwdFdvcmxkPC9USVRMRT4KKzxT
VUJTRUNUSU9OIFN0YW5kYXJkPgorV0VCS0lUX0lTX1NDUklQVF9XT1JMRAorV0VCS0lUX1NDUklQ
VF9XT1JMRAorV0VCS0lUX1NDUklQVF9XT1JMRF9DTEFTUworV0VCS0lUX1NDUklQVF9XT1JMRF9H
RVRfQ0xBU1MKK1dFQktJVF9UWVBFX1NDUklQVF9XT1JMRAorV2ViS2l0U2NyaXB0V29ybGQKK1dl
YktpdFNjcmlwdFdvcmxkQ2xhc3MKK1dlYktpdFNjcmlwdFdvcmxkUHJpdmF0ZQorPC9TRUNUSU9O
PgorCis8U0VDVElPTj4KKzxGSUxFPldlYktpdFNlY3VyaXR5TWFuYWdlcjwvRklMRT4KKzxUSVRM
RT5XZWJLaXRTZWN1cml0eU1hbmFnZXI8L1RJVExFPgorCis8U1VCU0VDVElPTj4KK3dlYmtpdF9z
ZWN1cml0eV9tYW5hZ2VyX3JlZ2lzdGVyX3VyaV9zY2hlbWVfYXNfY29yc19lbmFibGVkCit3ZWJr
aXRfc2VjdXJpdHlfbWFuYWdlcl9yZWdpc3Rlcl91cmlfc2NoZW1lX2FzX2Rpc3BsYXlfaXNvbGF0
ZWQKK3dlYmtpdF9zZWN1cml0eV9tYW5hZ2VyX3JlZ2lzdGVyX3VyaV9zY2hlbWVfYXNfZW1wdHlf
ZG9jdW1lbnQKK3dlYmtpdF9zZWN1cml0eV9tYW5hZ2VyX3JlZ2lzdGVyX3VyaV9zY2hlbWVfYXNf
bG9jYWwKK3dlYmtpdF9zZWN1cml0eV9tYW5hZ2VyX3JlZ2lzdGVyX3VyaV9zY2hlbWVfYXNfbm9f
YWNjZXNzCit3ZWJraXRfc2VjdXJpdHlfbWFuYWdlcl9yZWdpc3Rlcl91cmlfc2NoZW1lX2FzX3Nl
Y3VyZQord2Via2l0X3NlY3VyaXR5X21hbmFnZXJfdXJpX3NjaGVtZV9pc19jb3JzX2VuYWJsZWQK
K3dlYmtpdF9zZWN1cml0eV9tYW5hZ2VyX3VyaV9zY2hlbWVfaXNfZGlzcGxheV9pc29sYXRlZAor
d2Via2l0X3NlY3VyaXR5X21hbmFnZXJfdXJpX3NjaGVtZV9pc19lbXB0eV9kb2N1bWVudAord2Vi
a2l0X3NlY3VyaXR5X21hbmFnZXJfdXJpX3NjaGVtZV9pc19sb2NhbAord2Via2l0X3NlY3VyaXR5
X21hbmFnZXJfdXJpX3NjaGVtZV9pc19ub19hY2Nlc3MKK3dlYmtpdF9zZWN1cml0eV9tYW5hZ2Vy
X3VyaV9zY2hlbWVfaXNfc2VjdXJlCisKKzxTVUJTRUNUSU9OIFN0YW5kYXJkPgorV0VCS0lUX0lT
X1NFQ1VSSVRZX01BTkFHRVIKK1dFQktJVF9JU19TRUNVUklUWV9NQU5BR0VSX0NMQVNTCitXRUJL
SVRfU0VDVVJJVFlfTUFOQUdFUgorV0VCS0lUX1NFQ1VSSVRZX01BTkFHRVJfQ0xBU1MKK1dFQktJ
VF9TRUNVUklUWV9NQU5BR0VSX0dFVF9DTEFTUworV0VCS0lUX1RZUEVfU0VDVVJJVFlfTUFOQUdF
UgorV2ViS2l0U2VjdXJpdHlNYW5hZ2VyCitXZWJLaXRTZWN1cml0eU1hbmFnZXJDbGFzcworV2Vi
S2l0U2VjdXJpdHlNYW5hZ2VyUHJpdmF0ZQorCis8U1VCU0VDVElPTiBQcml2YXRlPgord2Via2l0
X3NlY3VyaXR5X21hbmFnZXJfZ2V0X3R5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklM
RT5XZWJLaXRTZWN1cml0eU9yaWdpbjwvRklMRT4KK1dFQktJVF9UWVBFX1NFQ1VSSVRZX09SSUdJ
TgorV2ViS2l0U2VjdXJpdHlPcmlnaW4KKworPFNVQlNFQ1RJT04+Cit3ZWJraXRfc2VjdXJpdHlf
b3JpZ2luX2dldF9ob3N0Cit3ZWJraXRfc2VjdXJpdHlfb3JpZ2luX2dldF9wb3J0Cit3ZWJraXRf
c2VjdXJpdHlfb3JpZ2luX2dldF9wcm90b2NvbAord2Via2l0X3NlY3VyaXR5X29yaWdpbl9pc19v
cGFxdWUKK3dlYmtpdF9zZWN1cml0eV9vcmlnaW5fbmV3Cit3ZWJraXRfc2VjdXJpdHlfb3JpZ2lu
X25ld19mb3JfdXJpCit3ZWJraXRfc2VjdXJpdHlfb3JpZ2luX3JlZgord2Via2l0X3NlY3VyaXR5
X29yaWdpbl90b19zdHJpbmcKK3dlYmtpdF9zZWN1cml0eV9vcmlnaW5fdW5yZWYKKworPFNVQlNF
Q1RJT04gUHJpdmF0ZT4KK3dlYmtpdF9zZWN1cml0eV9vcmlnaW5fZ2V0X3R5cGUKKzwvU0VDVElP
Tj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXRTZXR0aW5nczwvRklMRT4KKzxUSVRMRT5XZWJL
aXRTZXR0aW5nczwvVElUTEU+CisKKzxTVUJTRUNUSU9OPgord2Via2l0X3NldHRpbmdzX25ldwor
d2Via2l0X3NldHRpbmdzX25ld193aXRoX3NldHRpbmdzCit3ZWJraXRfc2V0dGluZ3NfZ2V0X2Fs
bG93X2ZpbGVfYWNjZXNzX2Zyb21fZmlsZV91cmxzCit3ZWJraXRfc2V0dGluZ3NfZ2V0X2FsbG93
X21vZGFsX2RpYWxvZ3MKK3dlYmtpdF9zZXR0aW5nc19nZXRfYWxsb3dfdW5pdmVyc2FsX2FjY2Vz
c19mcm9tX2ZpbGVfdXJscword2Via2l0X3NldHRpbmdzX2dldF9hdXRvX2xvYWRfaW1hZ2VzCit3
ZWJraXRfc2V0dGluZ3NfZ2V0X2N1cnNpdmVfZm9udF9mYW1pbHkKK3dlYmtpdF9zZXR0aW5nc19n
ZXRfZGVmYXVsdF9jaGFyc2V0Cit3ZWJraXRfc2V0dGluZ3NfZ2V0X2RlZmF1bHRfZm9udF9mYW1p
bHkKK3dlYmtpdF9zZXR0aW5nc19nZXRfZGVmYXVsdF9mb250X3NpemUKK3dlYmtpdF9zZXR0aW5n
c19nZXRfZGVmYXVsdF9tb25vc3BhY2VfZm9udF9zaXplCit3ZWJraXRfc2V0dGluZ3NfZ2V0X2Ry
YXdfY29tcG9zaXRpbmdfaW5kaWNhdG9ycword2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfYWNj
ZWxlcmF0ZWRfMmRfY2FudmFzCit3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9jYXJldF9icm93
c2luZword2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfZGV2ZWxvcGVyX2V4dHJhcword2Via2l0
X3NldHRpbmdzX2dldF9lbmFibGVfZG5zX3ByZWZldGNoaW5nCit3ZWJraXRfc2V0dGluZ3NfZ2V0
X2VuYWJsZV9lbmNyeXB0ZWRfbWVkaWEKK3dlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX2ZyYW1l
X2ZsYXR0ZW5pbmcKK3dlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX2Z1bGxzY3JlZW4KK3dlYmtp
dF9zZXR0aW5nc19nZXRfZW5hYmxlX2h0bWw1X2RhdGFiYXNlCit3ZWJraXRfc2V0dGluZ3NfZ2V0
X2VuYWJsZV9odG1sNV9sb2NhbF9zdG9yYWdlCit3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9o
eXBlcmxpbmtfYXVkaXRpbmcKK3dlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX2phdmEKK3dlYmtp
dF9zZXR0aW5nc19nZXRfZW5hYmxlX2phdmFzY3JpcHQKK3dlYmtpdF9zZXR0aW5nc19nZXRfZW5h
YmxlX21lZGlhX2NhcGFiaWxpdGllcword2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfbWVkaWFf
c3RyZWFtCit3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9tZWRpYXNvdXJjZQord2Via2l0X3Nl
dHRpbmdzX2dldF9lbmFibGVfb2ZmbGluZV93ZWJfYXBwbGljYXRpb25fY2FjaGUKK3dlYmtpdF9z
ZXR0aW5nc19nZXRfZW5hYmxlX3BhZ2VfY2FjaGUKK3dlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxl
X3BsdWdpbnMKK3dlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX3Jlc2l6YWJsZV90ZXh0X2FyZWFz
Cit3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9zaXRlX3NwZWNpZmljX3F1aXJrcword2Via2l0
X3NldHRpbmdzX2dldF9lbmFibGVfc21vb3RoX3Njcm9sbGluZword2Via2l0X3NldHRpbmdzX2dl
dF9lbmFibGVfc3BhdGlhbF9uYXZpZ2F0aW9uCit3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV90
YWJzX3RvX2xpbmtzCit3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV93ZWJhdWRpbword2Via2l0
X3NldHRpbmdzX2dldF9lbmFibGVfd2ViZ2wKK3dlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX3dy
aXRlX2NvbnNvbGVfbWVzc2FnZXNfdG9fc3Rkb3V0Cit3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJs
ZV94c3NfYXVkaXRvcgord2Via2l0X3NldHRpbmdzX2dldF9mYW50YXN5X2ZvbnRfZmFtaWx5Cit3
ZWJraXRfc2V0dGluZ3NfZ2V0X2phdmFzY3JpcHRfY2FuX2FjY2Vzc19jbGlwYm9hcmQKK3dlYmtp
dF9zZXR0aW5nc19nZXRfamF2YXNjcmlwdF9jYW5fb3Blbl93aW5kb3dzX2F1dG9tYXRpY2FsbHkK
K3dlYmtpdF9zZXR0aW5nc19nZXRfbG9hZF9pY29uc19pZ25vcmluZ19pbWFnZV9sb2FkX3NldHRp
bmcKK3dlYmtpdF9zZXR0aW5nc19nZXRfbWVkaWFfcGxheWJhY2tfYWxsb3dzX2lubGluZQord2Vi
a2l0X3NldHRpbmdzX2dldF9tZWRpYV9wbGF5YmFja19yZXF1aXJlc191c2VyX2dlc3R1cmUKK3dl
YmtpdF9zZXR0aW5nc19nZXRfbWluaW11bV9mb250X3NpemUKK3dlYmtpdF9zZXR0aW5nc19nZXRf
bW9ub3NwYWNlX2ZvbnRfZmFtaWx5Cit3ZWJraXRfc2V0dGluZ3NfZ2V0X3BpY3RvZ3JhcGhfZm9u
dF9mYW1pbHkKK3dlYmtpdF9zZXR0aW5nc19nZXRfcHJpbnRfYmFja2dyb3VuZHMKK3dlYmtpdF9z
ZXR0aW5nc19nZXRfc2Fuc19zZXJpZl9mb250X2ZhbWlseQord2Via2l0X3NldHRpbmdzX2dldF9z
ZXJpZl9mb250X2ZhbWlseQord2Via2l0X3NldHRpbmdzX2dldF91c2VyX2FnZW50Cit3ZWJraXRf
c2V0dGluZ3NfZ2V0X3pvb21fdGV4dF9vbmx5Cit3ZWJraXRfc2V0dGluZ3Nfc2V0X2FsbG93X2Zp
bGVfYWNjZXNzX2Zyb21fZmlsZV91cmxzCit3ZWJraXRfc2V0dGluZ3Nfc2V0X2FsbG93X21vZGFs
X2RpYWxvZ3MKK3dlYmtpdF9zZXR0aW5nc19zZXRfYWxsb3dfdW5pdmVyc2FsX2FjY2Vzc19mcm9t
X2ZpbGVfdXJscword2Via2l0X3NldHRpbmdzX3NldF9hdXRvX2xvYWRfaW1hZ2VzCit3ZWJraXRf
c2V0dGluZ3Nfc2V0X2N1cnNpdmVfZm9udF9mYW1pbHkKK3dlYmtpdF9zZXR0aW5nc19zZXRfZGVm
YXVsdF9jaGFyc2V0Cit3ZWJraXRfc2V0dGluZ3Nfc2V0X2RlZmF1bHRfZm9udF9mYW1pbHkKK3dl
YmtpdF9zZXR0aW5nc19zZXRfZGVmYXVsdF9mb250X3NpemUKK3dlYmtpdF9zZXR0aW5nc19zZXRf
ZGVmYXVsdF9tb25vc3BhY2VfZm9udF9zaXplCit3ZWJraXRfc2V0dGluZ3Nfc2V0X2RyYXdfY29t
cG9zaXRpbmdfaW5kaWNhdG9ycword2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfYWNjZWxlcmF0
ZWRfMmRfY2FudmFzCit3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV9jYXJldF9icm93c2luZwor
d2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfZGV2ZWxvcGVyX2V4dHJhcword2Via2l0X3NldHRp
bmdzX3NldF9lbmFibGVfZG5zX3ByZWZldGNoaW5nCit3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJs
ZV9lbmNyeXB0ZWRfbWVkaWEKK3dlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX2ZyYW1lX2ZsYXR0
ZW5pbmcKK3dlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX2Z1bGxzY3JlZW4KK3dlYmtpdF9zZXR0
aW5nc19zZXRfZW5hYmxlX2h0bWw1X2RhdGFiYXNlCit3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJs
ZV9odG1sNV9sb2NhbF9zdG9yYWdlCit3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV9oeXBlcmxp
bmtfYXVkaXRpbmcKK3dlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX2phdmEKK3dlYmtpdF9zZXR0
aW5nc19zZXRfZW5hYmxlX2phdmFzY3JpcHQKK3dlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX21l
ZGlhX2NhcGFiaWxpdGllcword2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfbWVkaWFfc3RyZWFt
Cit3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV9tZWRpYXNvdXJjZQord2Via2l0X3NldHRpbmdz
X3NldF9lbmFibGVfb2ZmbGluZV93ZWJfYXBwbGljYXRpb25fY2FjaGUKK3dlYmtpdF9zZXR0aW5n
c19zZXRfZW5hYmxlX3BhZ2VfY2FjaGUKK3dlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX3BsdWdp
bnMKK3dlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX3Jlc2l6YWJsZV90ZXh0X2FyZWFzCit3ZWJr
aXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV9zaXRlX3NwZWNpZmljX3F1aXJrcword2Via2l0X3NldHRp
bmdzX3NldF9lbmFibGVfc21vb3RoX3Njcm9sbGluZword2Via2l0X3NldHRpbmdzX3NldF9lbmFi
bGVfc3BhdGlhbF9uYXZpZ2F0aW9uCit3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV90YWJzX3Rv
X2xpbmtzCit3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV93ZWJhdWRpbword2Via2l0X3NldHRp
bmdzX3NldF9lbmFibGVfd2ViZ2wKK3dlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX3dyaXRlX2Nv
bnNvbGVfbWVzc2FnZXNfdG9fc3Rkb3V0Cit3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV94c3Nf
YXVkaXRvcgord2Via2l0X3NldHRpbmdzX3NldF9mYW50YXN5X2ZvbnRfZmFtaWx5Cit3ZWJraXRf
c2V0dGluZ3Nfc2V0X2phdmFzY3JpcHRfY2FuX2FjY2Vzc19jbGlwYm9hcmQKK3dlYmtpdF9zZXR0
aW5nc19zZXRfamF2YXNjcmlwdF9jYW5fb3Blbl93aW5kb3dzX2F1dG9tYXRpY2FsbHkKK3dlYmtp
dF9zZXR0aW5nc19zZXRfbG9hZF9pY29uc19pZ25vcmluZ19pbWFnZV9sb2FkX3NldHRpbmcKK3dl
YmtpdF9zZXR0aW5nc19zZXRfbWVkaWFfcGxheWJhY2tfYWxsb3dzX2lubGluZQord2Via2l0X3Nl
dHRpbmdzX3NldF9tZWRpYV9wbGF5YmFja19yZXF1aXJlc191c2VyX2dlc3R1cmUKK3dlYmtpdF9z
ZXR0aW5nc19zZXRfbWluaW11bV9mb250X3NpemUKK3dlYmtpdF9zZXR0aW5nc19zZXRfbW9ub3Nw
YWNlX2ZvbnRfZmFtaWx5Cit3ZWJraXRfc2V0dGluZ3Nfc2V0X3BpY3RvZ3JhcGhfZm9udF9mYW1p
bHkKK3dlYmtpdF9zZXR0aW5nc19zZXRfcHJpbnRfYmFja2dyb3VuZHMKK3dlYmtpdF9zZXR0aW5n
c19zZXRfc2Fuc19zZXJpZl9mb250X2ZhbWlseQord2Via2l0X3NldHRpbmdzX3NldF9zZXJpZl9m
b250X2ZhbWlseQord2Via2l0X3NldHRpbmdzX3NldF91c2VyX2FnZW50Cit3ZWJraXRfc2V0dGlu
Z3Nfc2V0X3VzZXJfYWdlbnRfd2l0aF9hcHBsaWNhdGlvbl9kZXRhaWxzCit3ZWJraXRfc2V0dGlu
Z3Nfc2V0X3pvb21fdGV4dF9vbmx5CisKKzxTVUJTRUNUSU9OIFN0YW5kYXJkPgorV0VCS0lUX0lT
X1NFVFRJTkdTCitXRUJLSVRfSVNfU0VUVElOR1NfQ0xBU1MKK1dFQktJVF9TRVRUSU5HUworV0VC
S0lUX1NFVFRJTkdTX0NMQVNTCitXRUJLSVRfU0VUVElOR1NfR0VUX0NMQVNTCitXRUJLSVRfVFlQ
RV9TRVRUSU5HUworV2ViS2l0U2V0dGluZ3MKK1dlYktpdFNldHRpbmdzQ2xhc3MKK1dlYktpdFNl
dHRpbmdzUHJpdmF0ZQorCis8U1VCU0VDVElPTiBQcml2YXRlPgord2Via2l0X3NldHRpbmdzX2dl
dF90eXBlCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+V2ViS2l0VVJJUmVxdWVzdDwv
RklMRT4KKzxUSVRMRT5XZWJLaXRVUklSZXF1ZXN0PC9USVRMRT4KKworPFNVQlNFQ1RJT04+Cit3
ZWJraXRfdXJpX3JlcXVlc3RfZ2V0X2h0dHBfaGVhZGVycword2Via2l0X3VyaV9yZXF1ZXN0X2dl
dF9odHRwX21ldGhvZAord2Via2l0X3VyaV9yZXF1ZXN0X2dldF91cmkKK3dlYmtpdF91cmlfcmVx
dWVzdF9uZXcKK3dlYmtpdF91cmlfcmVxdWVzdF9zZXRfdXJpCisKKzxTVUJTRUNUSU9OIFN0YW5k
YXJkPgorV0VCS0lUX0lTX1VSSV9SRVFVRVNUCitXRUJLSVRfSVNfVVJJX1JFUVVFU1RfQ0xBU1MK
K1dFQktJVF9UWVBFX1VSSV9SRVFVRVNUCitXRUJLSVRfVVJJX1JFUVVFU1QKK1dFQktJVF9VUklf
UkVRVUVTVF9DTEFTUworV0VCS0lUX1VSSV9SRVFVRVNUX0dFVF9DTEFTUworV2ViS2l0VVJJUmVx
dWVzdAorV2ViS2l0VVJJUmVxdWVzdENsYXNzCitXZWJLaXRVUklSZXF1ZXN0UHJpdmF0ZQorCis8
U1VCU0VDVElPTiBQcml2YXRlPgord2Via2l0X3VyaV9yZXF1ZXN0X2dldF90eXBlCis8L1NFQ1RJ
T04+CisKKzxTRUNUSU9OPgorPEZJTEU+V2ViS2l0VVJJUmVzcG9uc2U8L0ZJTEU+Cis8VElUTEU+
V2ViS2l0VVJJUmVzcG9uc2U8L1RJVExFPgorCis8U1VCU0VDVElPTj4KK3dlYmtpdF91cmlfcmVz
cG9uc2VfZ2V0X2NvbnRlbnRfbGVuZ3RoCit3ZWJraXRfdXJpX3Jlc3BvbnNlX2dldF9odHRwX2hl
YWRlcnMKK3dlYmtpdF91cmlfcmVzcG9uc2VfZ2V0X21pbWVfdHlwZQord2Via2l0X3VyaV9yZXNw
b25zZV9nZXRfc3RhdHVzX2NvZGUKK3dlYmtpdF91cmlfcmVzcG9uc2VfZ2V0X3N1Z2dlc3RlZF9m
aWxlbmFtZQord2Via2l0X3VyaV9yZXNwb25zZV9nZXRfdXJpCisKKzxTVUJTRUNUSU9OIFN0YW5k
YXJkPgorV0VCS0lUX0lTX1VSSV9SRVNQT05TRQorV0VCS0lUX0lTX1VSSV9SRVNQT05TRV9DTEFT
UworV0VCS0lUX1RZUEVfVVJJX1JFU1BPTlNFCitXRUJLSVRfVVJJX1JFU1BPTlNFCitXRUJLSVRf
VVJJX1JFU1BPTlNFX0NMQVNTCitXRUJLSVRfVVJJX1JFU1BPTlNFX0dFVF9DTEFTUworV2ViS2l0
VVJJUmVzcG9uc2UKK1dlYktpdFVSSVJlc3BvbnNlQ2xhc3MKK1dlYktpdFVSSVJlc3BvbnNlUHJp
dmF0ZQorCis8U1VCU0VDVElPTiBQcml2YXRlPgord2Via2l0X3VyaV9yZXNwb25zZV9nZXRfdHlw
ZQorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktpdFVSSVNjaGVtZVJlcXVlc3Q8
L0ZJTEU+Cis8VElUTEU+V2ViS2l0VVJJU2NoZW1lUmVxdWVzdDwvVElUTEU+CisKKzxTVUJTRUNU
SU9OPgord2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9maW5pc2gKK3dlYmtpdF91cmlfc2NoZW1l
X3JlcXVlc3RfZmluaXNoX2Vycm9yCit3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF9wYXRo
Cit3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF9zY2hlbWUKK3dlYmtpdF91cmlfc2NoZW1l
X3JlcXVlc3RfZ2V0X3VyaQord2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRfd2ViX3ZpZXcK
KworPFNVQlNFQ1RJT04gU3RhbmRhcmQ+CitXRUJLSVRfSVNfVVJJX1NDSEVNRV9SRVFVRVNUCitX
RUJLSVRfSVNfVVJJX1NDSEVNRV9SRVFVRVNUX0NMQVNTCitXRUJLSVRfVFlQRV9VUklfU0NIRU1F
X1JFUVVFU1QKK1dFQktJVF9VUklfU0NIRU1FX1JFUVVFU1QKK1dFQktJVF9VUklfU0NIRU1FX1JF
UVVFU1RfQ0xBU1MKK1dFQktJVF9VUklfU0NIRU1FX1JFUVVFU1RfR0VUX0NMQVNTCitXZWJLaXRV
UklTY2hlbWVSZXF1ZXN0CitXZWJLaXRVUklTY2hlbWVSZXF1ZXN0Q2xhc3MKK1dlYktpdFVSSVNj
aGVtZVJlcXVlc3RQcml2YXRlCisKKzxTVUJTRUNUSU9OIFByaXZhdGU+Cit3ZWJraXRfdXJpX3Nj
aGVtZV9yZXF1ZXN0X2dldF90eXBlCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+V2Vi
S2l0VXNlckNvbnRlbnQ8L0ZJTEU+CitXZWJLaXRVc2VyQ29udGVudEluamVjdGVkRnJhbWVzCitX
ZWJLaXRVc2VyU3R5bGVMZXZlbAorV0VCS0lUX1RZUEVfVVNFUl9TVFlMRV9TSEVFVAorV2ViS2l0
VXNlclNjcmlwdEluamVjdGlvblRpbWUKK1dFQktJVF9UWVBFX1VTRVJfU0NSSVBUCitXZWJLaXRV
c2VyU2NyaXB0CitXZWJLaXRVc2VyU3R5bGVTaGVldAord2Via2l0X3VzZXJfc2NyaXB0X2dldF90
eXBlCit3ZWJraXRfdXNlcl9zY3JpcHRfbmV3Cit3ZWJraXRfdXNlcl9zY3JpcHRfbmV3X2Zvcl93
b3JsZAord2Via2l0X3VzZXJfc2NyaXB0X3JlZgord2Via2l0X3VzZXJfc2NyaXB0X3VucmVmCit3
ZWJraXRfdXNlcl9zdHlsZV9zaGVldF9nZXRfdHlwZQord2Via2l0X3VzZXJfc3R5bGVfc2hlZXRf
bmV3Cit3ZWJraXRfdXNlcl9zdHlsZV9zaGVldF9uZXdfZm9yX3dvcmxkCit3ZWJraXRfdXNlcl9z
dHlsZV9zaGVldF9yZWYKK3dlYmtpdF91c2VyX3N0eWxlX3NoZWV0X3VucmVmCisKKzwvU0VDVElP
Tj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXRVc2VyQ29udGVudE1hbmFnZXI8L0ZJTEU+Cis8
VElUTEU+V2ViS2l0VXNlckNvbnRlbnRNYW5hZ2VyPC9USVRMRT4KKworPFNVQlNFQ1RJT04+Cit3
ZWJraXRfdXNlcl9jb250ZW50X21hbmFnZXJfYWRkX3NjcmlwdAord2Via2l0X3VzZXJfY29udGVu
dF9tYW5hZ2VyX2FkZF9zdHlsZV9zaGVldAorCit3ZWJraXRfdXNlcl9jb250ZW50X21hbmFnZXJf
bmV3Cit3ZWJraXRfdXNlcl9jb250ZW50X21hbmFnZXJfcmVnaXN0ZXJfc2NyaXB0X21lc3NhZ2Vf
aGFuZGxlcgord2Via2l0X3VzZXJfY29udGVudF9tYW5hZ2VyX3JlZ2lzdGVyX3NjcmlwdF9tZXNz
YWdlX2hhbmRsZXJfaW5fd29ybGQKK3dlYmtpdF91c2VyX2NvbnRlbnRfbWFuYWdlcl9yZW1vdmVf
YWxsX3NjcmlwdHMKK3dlYmtpdF91c2VyX2NvbnRlbnRfbWFuYWdlcl9yZW1vdmVfYWxsX3N0eWxl
X3NoZWV0cword2Via2l0X3VzZXJfY29udGVudF9tYW5hZ2VyX3VucmVnaXN0ZXJfc2NyaXB0X21l
c3NhZ2VfaGFuZGxlcgord2Via2l0X3VzZXJfY29udGVudF9tYW5hZ2VyX3VucmVnaXN0ZXJfc2Ny
aXB0X21lc3NhZ2VfaGFuZGxlcl9pbl93b3JsZAorCis8U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dF
QktJVF9JU19VU0VSX0NPTlRFTlRfTUFOQUdFUgorV0VCS0lUX0lTX1VTRVJfQ09OVEVOVF9NQU5B
R0VSX0NMQVNTCitXRUJLSVRfVFlQRV9VU0VSX0NPTlRFTlRfTUFOQUdFUgorV0VCS0lUX1VTRVJf
Q09OVEVOVF9NQU5BR0VSCitXRUJLSVRfVVNFUl9DT05URU5UX01BTkFHRVJfQ0xBU1MKK1dFQktJ
VF9VU0VSX0NPTlRFTlRfTUFOQUdFUl9HRVRfQ0xBU1MKK1dlYktpdFVzZXJDb250ZW50TWFuYWdl
cgorV2ViS2l0VXNlckNvbnRlbnRNYW5hZ2VyQ2xhc3MKK1dlYktpdFVzZXJDb250ZW50TWFuYWdl
clByaXZhdGUKKworPFNVQlNFQ1RJT04gUHJpdmF0ZT4KK3dlYmtpdF91c2VyX2NvbnRlbnRfbWFu
YWdlcl9nZXRfdHlwZQorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktpdFVzZXJN
ZWRpYVBlcm1pc3Npb25SZXF1ZXN0PC9GSUxFPgorPFRJVExFPldlYktpdFVzZXJNZWRpYVBlcm1p
c3Npb25SZXF1ZXN0PC9USVRMRT4KKworPFNVQlNFQ1RJT04+Cit3ZWJraXRfdXNlcl9tZWRpYV9w
ZXJtaXNzaW9uX2lzX2Zvcl9hdWRpb19kZXZpY2UKK3dlYmtpdF91c2VyX21lZGlhX3Blcm1pc3Np
b25faXNfZm9yX3ZpZGVvX2RldmljZQorCis8U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dFQktJVF9J
U19VU0VSX01FRElBX1BFUk1JU1NJT05fUkVRVUVTVAorV0VCS0lUX0lTX1VTRVJfTUVESUFfUEVS
TUlTU0lPTl9SRVFVRVNUX0NMQVNTCitXRUJLSVRfVFlQRV9VU0VSX01FRElBX1BFUk1JU1NJT05f
UkVRVUVTVAorV0VCS0lUX1VTRVJfTUVESUFfUEVSTUlTU0lPTl9SRVFVRVNUCitXRUJLSVRfVVNF
Ul9NRURJQV9QRVJNSVNTSU9OX1JFUVVFU1RfQ0xBU1MKK1dFQktJVF9VU0VSX01FRElBX1BFUk1J
U1NJT05fUkVRVUVTVF9HRVRfQ0xBU1MKK1dlYktpdFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0
CitXZWJLaXRVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdENsYXNzCitXZWJLaXRVc2VyTWVkaWFQ
ZXJtaXNzaW9uUmVxdWVzdFByaXZhdGUKKworPFNVQlNFQ1RJT04gUHJpdmF0ZT4KK3dlYmtpdF91
c2VyX21lZGlhX3Blcm1pc3Npb25fcmVxdWVzdF9nZXRfdHlwZQorPC9TRUNUSU9OPgorCis8U0VD
VElPTj4KKzxGSUxFPldlYktpdFdlYkNvbnRleHQ8L0ZJTEU+Cis8VElUTEU+V2ViS2l0V2ViQ29u
dGV4dDwvVElUTEU+CitXZWJLaXRDYWNoZU1vZGVsCitXZWJLaXRQcm9jZXNzTW9kZWwKK1dlYktp
dFRMU0Vycm9yc1BvbGljeQorV2ViS2l0TmV0d29ya1Byb3h5TW9kZQorV2ViS2l0VVJJU2NoZW1l
UmVxdWVzdENhbGxiYWNrCisKKzxTVUJTRUNUSU9OPgord2Via2l0X3dlYl9jb250ZXh0X25ldwor
d2Via2l0X3dlYl9jb250ZXh0X25ld19lcGhlbWVyYWwKK3dlYmtpdF93ZWJfY29udGV4dF9uZXdf
d2l0aF93ZWJzaXRlX2RhdGFfbWFuYWdlcgord2Via2l0X3dlYl9jb250ZXh0X2lzX2F1dG9tYXRp
b25fYWxsb3dlZAord2Via2l0X3dlYl9jb250ZXh0X2lzX2VwaGVtZXJhbAord2Via2l0X3dlYl9j
b250ZXh0X2FsbG93X3Rsc19jZXJ0aWZpY2F0ZV9mb3JfaG9zdAord2Via2l0X3dlYl9jb250ZXh0
X2NsZWFyX2NhY2hlCit3ZWJraXRfd2ViX2NvbnRleHRfZG93bmxvYWRfdXJpCit3ZWJraXRfd2Vi
X2NvbnRleHRfZ2V0X2NhY2hlX21vZGVsCit3ZWJraXRfd2ViX2NvbnRleHRfZ2V0X2Nvb2tpZV9t
YW5hZ2VyCit3ZWJraXRfd2ViX2NvbnRleHRfZ2V0X2RlZmF1bHQKK3dlYmtpdF93ZWJfY29udGV4
dF9nZXRfZmF2aWNvbl9kYXRhYmFzZQord2Via2l0X3dlYl9jb250ZXh0X2dldF9mYXZpY29uX2Rh
dGFiYXNlX2RpcmVjdG9yeQord2Via2l0X3dlYl9jb250ZXh0X2dldF9wbHVnaW5zCit3ZWJraXRf
d2ViX2NvbnRleHRfZ2V0X3BsdWdpbnNfZmluaXNoCit3ZWJraXRfd2ViX2NvbnRleHRfZ2V0X3By
b2Nlc3NfbW9kZWwKK3dlYmtpdF93ZWJfY29udGV4dF9nZXRfc2FuZGJveF9lbmFibGVkCit3ZWJr
aXRfd2ViX2NvbnRleHRfZ2V0X3NlY3VyaXR5X21hbmFnZXIKK3dlYmtpdF93ZWJfY29udGV4dF9n
ZXRfc3BlbGxfY2hlY2tpbmdfZW5hYmxlZAord2Via2l0X3dlYl9jb250ZXh0X2dldF9zcGVsbF9j
aGVja2luZ19sYW5ndWFnZXMKK3dlYmtpdF93ZWJfY29udGV4dF9nZXRfdGxzX2Vycm9yc19wb2xp
Y3kKK3dlYmtpdF93ZWJfY29udGV4dF9nZXRfd2ViX3Byb2Nlc3NfY291bnRfbGltaXQKK3dlYmtp
dF93ZWJfY29udGV4dF9nZXRfd2Vic2l0ZV9kYXRhX21hbmFnZXIKK3dlYmtpdF93ZWJfY29udGV4
dF9pbml0aWFsaXplX25vdGlmaWNhdGlvbl9wZXJtaXNzaW9ucword2Via2l0X3dlYl9jb250ZXh0
X3ByZWZldGNoX2Rucword2Via2l0X3dlYl9jb250ZXh0X3JlZ2lzdGVyX3VyaV9zY2hlbWUKK3dl
YmtpdF93ZWJfY29udGV4dF9zZXRfYWRkaXRpb25hbF9wbHVnaW5zX2RpcmVjdG9yeQord2Via2l0
X3dlYl9jb250ZXh0X3NldF9hdXRvbWF0aW9uX2FsbG93ZWQKK3dlYmtpdF93ZWJfY29udGV4dF9z
ZXRfY2FjaGVfbW9kZWwKK3dlYmtpdF93ZWJfY29udGV4dF9zZXRfZmF2aWNvbl9kYXRhYmFzZV9k
aXJlY3RvcnkKK3dlYmtpdF93ZWJfY29udGV4dF9zZXRfbmV0d29ya19wcm94eV9zZXR0aW5ncwor
d2Via2l0X3dlYl9jb250ZXh0X3NldF9wcmVmZXJyZWRfbGFuZ3VhZ2VzCit3ZWJraXRfd2ViX2Nv
bnRleHRfc2V0X3Byb2Nlc3NfbW9kZWwKK3dlYmtpdF93ZWJfY29udGV4dF9zZXRfc2FuZGJveF9l
bmFibGVkCit3ZWJraXRfd2ViX2NvbnRleHRfc2V0X3NwZWxsX2NoZWNraW5nX2VuYWJsZWQKK3dl
YmtpdF93ZWJfY29udGV4dF9zZXRfc3BlbGxfY2hlY2tpbmdfbGFuZ3VhZ2VzCit3ZWJraXRfd2Vi
X2NvbnRleHRfc2V0X3Rsc19lcnJvcnNfcG9saWN5Cit3ZWJraXRfd2ViX2NvbnRleHRfc2V0X3dl
Yl9leHRlbnNpb25zX2RpcmVjdG9yeQord2Via2l0X3dlYl9jb250ZXh0X3NldF93ZWJfZXh0ZW5z
aW9uc19pbml0aWFsaXphdGlvbl91c2VyX2RhdGEKK3dlYmtpdF93ZWJfY29udGV4dF9zZXRfd2Vi
X3Byb2Nlc3NfY291bnRfbGltaXQKKworPFNVQlNFQ1RJT04gU3RhbmRhcmQ+CitXRUJLSVRfSVNf
V0VCX0NPTlRFWFQKK1dFQktJVF9JU19XRUJfQ09OVEVYVF9DTEFTUworV0VCS0lUX1RZUEVfV0VC
X0NPTlRFWFQKK1dFQktJVF9XRUJfQ09OVEVYVAorV0VCS0lUX1dFQl9DT05URVhUX0NMQVNTCitX
RUJLSVRfV0VCX0NPTlRFWFRfR0VUX0NMQVNTCitXZWJLaXRXZWJDb250ZXh0CitXZWJLaXRXZWJD
b250ZXh0Q2xhc3MKK1dlYktpdFdlYkNvbnRleHRQcml2YXRlCisKKzxTVUJTRUNUSU9OIFByaXZh
dGU+Cit3ZWJraXRfd2ViX2NvbnRleHRfZ2V0X3R5cGUKKzwvU0VDVElPTj4KKworPFNVQlNFQ1RJ
T04gU3RhbmRhcmQ+CitXRUJLSVRfSVNfV0VCX0VESVRPUgorV0VCS0lUX1RZUEVfV0VCX0VESVRP
UgorV0VCS0lUX1dFQl9FRElUT1IKK1dFQktJVF9XRUJfRURJVE9SX0NMQVNTCitXRUJLSVRfV0VC
X0VESVRPUl9HRVRfQ0xBU1MKK1dlYktpdFdlYkVkaXRvcgorV2ViS2l0V2ViRWRpdG9yQ2xhc3MK
K1dlYktpdFdlYkVkaXRvclByaXZhdGUKKworPFNVQlNFQ1RJT04gUHJpdmF0ZT4KKzwvU0VDVElP
Tj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXRXZWJSZXNvdXJjZTwvRklMRT4KKzxUSVRMRT5X
ZWJLaXRXZWJSZXNvdXJjZTwvVElUTEU+CisKKzxTVUJTRUNUSU9OPgord2Via2l0X3dlYl9yZXNv
dXJjZV9nZXRfZGF0YQord2Via2l0X3dlYl9yZXNvdXJjZV9nZXRfZGF0YV9maW5pc2gKK3dlYmtp
dF93ZWJfcmVzb3VyY2VfZ2V0X3Jlc3BvbnNlCit3ZWJraXRfd2ViX3Jlc291cmNlX2dldF91cmkK
KworPFNVQlNFQ1RJT04gU3RhbmRhcmQ+CitXRUJLSVRfSVNfV0VCX1JFU09VUkNFCitXRUJLSVRf
SVNfV0VCX1JFU09VUkNFX0NMQVNTCitXRUJLSVRfVFlQRV9XRUJfUkVTT1VSQ0UKK1dFQktJVF9X
RUJfUkVTT1VSQ0UKK1dFQktJVF9XRUJfUkVTT1VSQ0VfQ0xBU1MKK1dFQktJVF9XRUJfUkVTT1VS
Q0VfR0VUX0NMQVNTCitXZWJLaXRXZWJSZXNvdXJjZQorV2ViS2l0V2ViUmVzb3VyY2VDbGFzcwor
V2ViS2l0V2ViUmVzb3VyY2VQcml2YXRlCisKKzxTVUJTRUNUSU9OIFByaXZhdGU+Cit3ZWJraXRf
d2ViX3Jlc291cmNlX2dldF90eXBlCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+V2Vi
S2l0V2ViVmlldzwvRklMRT4KKzxUSVRMRT5XZWJLaXRXZWJWaWV3PC9USVRMRT4KK1dlYktpdFBv
bGljeURlY2lzaW9uVHlwZQorV2ViS2l0TG9hZEV2ZW50CitXZWJLaXRTYXZlTW9kZQorV2ViS2l0
SW5zZWN1cmVDb250ZW50RXZlbnQKK1dlYktpdFdlYlByb2Nlc3NUZXJtaW5hdGlvblJlYXNvbgor
Cis8U1VCU0VDVElPTiBFZGl0aW5nIENvbW1hbmRzPgorV0VCS0lUX0VESVRJTkdfQ09NTUFORF9D
VVQKK1dFQktJVF9FRElUSU5HX0NPTU1BTkRfQ09QWQorV0VCS0lUX0VESVRJTkdfQ09NTUFORF9Q
QVNURQorV0VCS0lUX0VESVRJTkdfQ09NTUFORF9TRUxFQ1RfQUxMCitXRUJLSVRfRURJVElOR19D
T01NQU5EX1VORE8KK1dFQktJVF9FRElUSU5HX0NPTU1BTkRfUkVETworV0VCS0lUX0VESVRJTkdf
Q09NTUFORF9JTlNFUlRfSU1BR0UKK1dFQktJVF9FRElUSU5HX0NPTU1BTkRfQ1JFQVRFX0xJTksK
KworPFNVQlNFQ1RJT04+Cit3ZWJraXRfd2ViX3ZpZXdfbmV3Cit3ZWJraXRfd2ViX3ZpZXdfbmV3
X3dpdGhfY29udGV4dAord2Via2l0X3dlYl92aWV3X25ld193aXRoX3JlbGF0ZWRfdmlldword2Vi
a2l0X3dlYl92aWV3X25ld193aXRoX3NldHRpbmdzCit3ZWJraXRfd2ViX3ZpZXdfbmV3X3dpdGhf
dXNlcl9jb250ZW50X21hbmFnZXIKK3dlYmtpdF93ZWJfdmlld19pc19lcGhlbWVyYWwKK3dlYmtp
dF93ZWJfdmlld19pc19jb250cm9sbGVkX2J5X2F1dG9tYXRpb24KK3dlYmtpdF93ZWJfdmlld19j
YW5fZXhlY3V0ZV9lZGl0aW5nX2NvbW1hbmQKK3dlYmtpdF93ZWJfdmlld19jYW5fZXhlY3V0ZV9l
ZGl0aW5nX2NvbW1hbmRfZmluaXNoCit3ZWJraXRfd2ViX3ZpZXdfY2FuX2dvX2JhY2sKK3dlYmtp
dF93ZWJfdmlld19jYW5fZ29fZm9yd2FyZAord2Via2l0X3dlYl92aWV3X2Nhbl9zaG93X21pbWVf
dHlwZQord2Via2l0X3dlYl92aWV3X2Rvd25sb2FkX3VyaQord2Via2l0X3dlYl92aWV3X2V4ZWN1
dGVfZWRpdGluZ19jb21tYW5kCit3ZWJraXRfd2ViX3ZpZXdfZXhlY3V0ZV9lZGl0aW5nX2NvbW1h
bmRfd2l0aF9hcmd1bWVudAord2Via2l0X3dlYl92aWV3X2dldF9iYWNrX2ZvcndhcmRfbGlzdAor
d2Via2l0X3dlYl92aWV3X2dldF9iYWNrZW5kCit3ZWJraXRfd2ViX3ZpZXdfZ2V0X2NvbnRleHQK
K3dlYmtpdF93ZWJfdmlld19nZXRfY3VzdG9tX2NoYXJzZXQKK3dlYmtpdF93ZWJfdmlld19nZXRf
ZWRpdG9yX3N0YXRlCit3ZWJraXRfd2ViX3ZpZXdfZ2V0X2VzdGltYXRlZF9sb2FkX3Byb2dyZXNz
Cit3ZWJraXRfd2ViX3ZpZXdfZ2V0X2ZpbmRfY29udHJvbGxlcgord2Via2l0X3dlYl92aWV3X2dl
dF9tYWluX3Jlc291cmNlCit3ZWJraXRfd2ViX3ZpZXdfZ2V0X3BhZ2VfaWQKK3dlYmtpdF93ZWJf
dmlld19nZXRfc2Vzc2lvbl9zdGF0ZQord2Via2l0X3dlYl92aWV3X2dldF9zZXR0aW5ncword2Vi
a2l0X3dlYl92aWV3X2dldF90aXRsZQord2Via2l0X3dlYl92aWV3X2dldF90bHNfaW5mbword2Vi
a2l0X3dlYl92aWV3X2dldF91cmkKK3dlYmtpdF93ZWJfdmlld19nZXRfdXNlcl9jb250ZW50X21h
bmFnZXIKK3dlYmtpdF93ZWJfdmlld19nZXRfd2Vic2l0ZV9kYXRhX21hbmFnZXIKK3dlYmtpdF93
ZWJfdmlld19nZXRfd2luZG93X3Byb3BlcnRpZXMKK3dlYmtpdF93ZWJfdmlld19nZXRfem9vbV9s
ZXZlbAord2Via2l0X3dlYl92aWV3X2dvX2JhY2sKK3dlYmtpdF93ZWJfdmlld19nb19mb3J3YXJk
Cit3ZWJraXRfd2ViX3ZpZXdfZ29fdG9fYmFja19mb3J3YXJkX2xpc3RfaXRlbQord2Via2l0X3dl
Yl92aWV3X2lzX2VkaXRhYmxlCit3ZWJraXRfd2ViX3ZpZXdfaXNfbG9hZGluZword2Via2l0X3dl
Yl92aWV3X2lzX3BsYXlpbmdfYXVkaW8KK3dlYmtpdF93ZWJfdmlld19sb2FkX2FsdGVybmF0ZV9o
dG1sCit3ZWJraXRfd2ViX3ZpZXdfbG9hZF9ieXRlcword2Via2l0X3dlYl92aWV3X2xvYWRfaHRt
bAord2Via2l0X3dlYl92aWV3X2xvYWRfcGxhaW5fdGV4dAord2Via2l0X3dlYl92aWV3X2xvYWRf
cmVxdWVzdAord2Via2l0X3dlYl92aWV3X2xvYWRfdXJpCit3ZWJraXRfd2ViX3ZpZXdfcmVsb2Fk
Cit3ZWJraXRfd2ViX3ZpZXdfcmVsb2FkX2J5cGFzc19jYWNoZQord2Via2l0X3dlYl92aWV3X3Jl
c3RvcmVfc2Vzc2lvbl9zdGF0ZQord2Via2l0X3dlYl92aWV3X3J1bl9qYXZhc2NyaXB0Cit3ZWJr
aXRfd2ViX3ZpZXdfcnVuX2phdmFzY3JpcHRfZmluaXNoCit3ZWJraXRfd2ViX3ZpZXdfcnVuX2ph
dmFzY3JpcHRfZnJvbV9ncmVzb3VyY2UKK3dlYmtpdF93ZWJfdmlld19ydW5famF2YXNjcmlwdF9m
cm9tX2dyZXNvdXJjZV9maW5pc2gKK3dlYmtpdF93ZWJfdmlld19ydW5famF2YXNjcmlwdF9pbl93
b3JsZAord2Via2l0X3dlYl92aWV3X3J1bl9qYXZhc2NyaXB0X2luX3dvcmxkX2ZpbmlzaAord2Vi
a2l0X3dlYl92aWV3X3NhdmUKK3dlYmtpdF93ZWJfdmlld19zYXZlX2ZpbmlzaAord2Via2l0X3dl
Yl92aWV3X3NhdmVfdG9fZmlsZQord2Via2l0X3dlYl92aWV3X3NhdmVfdG9fZmlsZV9maW5pc2gK
K3dlYmtpdF93ZWJfdmlld19zZXNzaW9uX3N0YXRlX25ldword2Via2l0X3dlYl92aWV3X3Nlc3Np
b25fc3RhdGVfcmVmCit3ZWJraXRfd2ViX3ZpZXdfc2Vzc2lvbl9zdGF0ZV9zZXJpYWxpemUKK3dl
YmtpdF93ZWJfdmlld19zZXNzaW9uX3N0YXRlX3VucmVmCit3ZWJraXRfd2ViX3ZpZXdfc2V0X2N1
c3RvbV9jaGFyc2V0Cit3ZWJraXRfd2ViX3ZpZXdfc2V0X2VkaXRhYmxlCit3ZWJraXRfd2ViX3Zp
ZXdfc2V0X3NldHRpbmdzCit3ZWJraXRfd2ViX3ZpZXdfc2V0X3pvb21fbGV2ZWwKK3dlYmtpdF93
ZWJfdmlld19zdG9wX2xvYWRpbmcKK3dlYmtpdF93ZWJfdmlld190cnlfY2xvc2UKKworPFNVQlNF
Q1RJT04gU3RhbmRhcmQ+CitXRUJLSVRfSVNfV0VCX1ZJRVcKK1dFQktJVF9JU19XRUJfVklFV19D
TEFTUworV0VCS0lUX1RZUEVfV0VCX1ZJRVcKK1dFQktJVF9XRUJfVklFVworV0VCS0lUX1dFQl9W
SUVXX0NMQVNTCitXRUJLSVRfV0VCX1ZJRVdfR0VUX0NMQVNTCitXZWJLaXRXZWJWaWV3CitXZWJL
aXRXZWJWaWV3Q2xhc3MKK1dlYktpdFdlYlZpZXdQcml2YXRlCisKKzxTVUJTRUNUSU9OIFByaXZh
dGU+Cit3ZWJraXRfd2ViX3ZpZXdfZ2V0X3R5cGUKK3dlYmtpdF93ZWJfdmlld19zZXNzaW9uX3N0
YXRlX2dldF90eXBlCitXRUJLSVRfQVBJCitXRUJLSVRfREVQUkVDQVRFRAorV0VCS0lUX0RFUFJF
Q0FURURfRk9SCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+V2ViS2l0V2ViVmlld0Jh
Y2tlbmQ8L0ZJTEU+CitXRUJLSVRfVFlQRV9XRUJfVklFV19CQUNLRU5ECitXZWJLaXRXZWJWaWV3
QmFja2VuZAorCis8U1VCU0VDVElPTj4KK3dlYmtpdF93ZWJfdmlld19iYWNrZW5kX2dldF93cGVf
YmFja2VuZAord2Via2l0X3dlYl92aWV3X2JhY2tlbmRfbmV3CisKKzxTVUJTRUNUSU9OIFByaXZh
dGU+Cit3ZWJraXRfd2ViX3ZpZXdfYmFja2VuZF9nZXRfdHlwZQorPC9TRUNUSU9OPgorCis8U0VD
VElPTj4KKzxGSUxFPldlYktpdFdlYlZpZXdTZXNzaW9uU3RhdGU8L0ZJTEU+CitXRUJLSVRfVFlQ
RV9XRUJfVklFV19TRVNTSU9OX1NUQVRFCitXZWJLaXRXZWJWaWV3U2Vzc2lvblN0YXRlCisKKzxT
VUJTRUNUSU9OPgorCis8U1VCU0VDVElPTiBQcml2YXRlPgorPC9TRUNUSU9OPgorCis8U0VDVElP
Tj4KKzxGSUxFPldlYktpdFdlYnNpdGVEYXRhPC9GSUxFPgorV0VCS0lUX1RZUEVfV0VCU0lURV9E
QVRBCitXZWJLaXRXZWJzaXRlRGF0YVR5cGVzCitXZWJLaXRXZWJzaXRlRGF0YQorCis8U1VCU0VD
VElPTj4KK3dlYmtpdF93ZWJzaXRlX2RhdGFfZ2V0X25hbWUKK3dlYmtpdF93ZWJzaXRlX2RhdGFf
Z2V0X3NpemUKK3dlYmtpdF93ZWJzaXRlX2RhdGFfZ2V0X3R5cGVzCit3ZWJraXRfd2Vic2l0ZV9k
YXRhX3JlZgord2Via2l0X3dlYnNpdGVfZGF0YV91bnJlZgorCis8U1VCU0VDVElPTiBQcml2YXRl
Pgord2Via2l0X3dlYnNpdGVfZGF0YV9nZXRfdHlwZQorPC9TRUNUSU9OPgorCis8U0VDVElPTj4K
KzxGSUxFPldlYktpdFdlYnNpdGVEYXRhTWFuYWdlcjwvRklMRT4KKzxUSVRMRT5XZWJLaXRXZWJz
aXRlRGF0YU1hbmFnZXI8L1RJVExFPgorCis8U1VCU0VDVElPTj4KK3dlYmtpdF93ZWJzaXRlX2Rh
dGFfbWFuYWdlcl9jbGVhcgord2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX2NsZWFyX2Zpbmlz
aAord2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX2ZldGNoCit3ZWJraXRfd2Vic2l0ZV9kYXRh
X21hbmFnZXJfZmV0Y2hfZmluaXNoCit3ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJfZ2V0X2Jh
c2VfY2FjaGVfZGlyZWN0b3J5Cit3ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJfZ2V0X2Jhc2Vf
ZGF0YV9kaXJlY3RvcnkKK3dlYmtpdF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9nZXRfY29va2llX21h
bmFnZXIKK3dlYmtpdF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9nZXRfZGlza19jYWNoZV9kaXJlY3Rv
cnkKK3dlYmtpdF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9nZXRfaW5kZXhlZGRiX2RpcmVjdG9yeQor
d2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX2dldF9sb2NhbF9zdG9yYWdlX2RpcmVjdG9yeQor
d2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX2dldF9vZmZsaW5lX2FwcGxpY2F0aW9uX2NhY2hl
X2RpcmVjdG9yeQord2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX2dldF93ZWJzcWxfZGlyZWN0
b3J5Cit3ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJfaXNfZXBoZW1lcmFsCit3ZWJraXRfd2Vi
c2l0ZV9kYXRhX21hbmFnZXJfbmV3Cit3ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJfbmV3X2Vw
aGVtZXJhbAord2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX3JlbW92ZQord2Via2l0X3dlYnNp
dGVfZGF0YV9tYW5hZ2VyX3JlbW92ZV9maW5pc2gKKworPFNVQlNFQ1RJT04gU3RhbmRhcmQ+CitX
RUJLSVRfSVNfV0VCU0lURV9EQVRBX01BTkFHRVIKK1dFQktJVF9JU19XRUJTSVRFX0RBVEFfTUFO
QUdFUl9DTEFTUworV0VCS0lUX1RZUEVfV0VCU0lURV9EQVRBX01BTkFHRVIKK1dFQktJVF9XRUJT
SVRFX0RBVEFfTUFOQUdFUgorV0VCS0lUX1dFQlNJVEVfREFUQV9NQU5BR0VSX0NMQVNTCitXRUJL
SVRfV0VCU0lURV9EQVRBX01BTkFHRVJfR0VUX0NMQVNTCitXZWJLaXRXZWJzaXRlRGF0YU1hbmFn
ZXIKK1dlYktpdFdlYnNpdGVEYXRhTWFuYWdlckNsYXNzCitXZWJLaXRXZWJzaXRlRGF0YU1hbmFn
ZXJQcml2YXRlCisKKzxTVUJTRUNUSU9OIFByaXZhdGU+Cit3ZWJraXRfd2Vic2l0ZV9kYXRhX21h
bmFnZXJfZ2V0X3R5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXRXaW5k
b3dQcm9wZXJ0aWVzPC9GSUxFPgorPFRJVExFPldlYktpdFdpbmRvd1Byb3BlcnRpZXM8L1RJVExF
PgorCis8U1VCU0VDVElPTj4KK3dlYmtpdF93aW5kb3dfcHJvcGVydGllc19nZXRfZnVsbHNjcmVl
bgord2Via2l0X3dpbmRvd19wcm9wZXJ0aWVzX2dldF9sb2NhdGlvbmJhcl92aXNpYmxlCit3ZWJr
aXRfd2luZG93X3Byb3BlcnRpZXNfZ2V0X21lbnViYXJfdmlzaWJsZQord2Via2l0X3dpbmRvd19w
cm9wZXJ0aWVzX2dldF9yZXNpemFibGUKK3dlYmtpdF93aW5kb3dfcHJvcGVydGllc19nZXRfc2Ny
b2xsYmFyc192aXNpYmxlCit3ZWJraXRfd2luZG93X3Byb3BlcnRpZXNfZ2V0X3N0YXR1c2Jhcl92
aXNpYmxlCit3ZWJraXRfd2luZG93X3Byb3BlcnRpZXNfZ2V0X3Rvb2xiYXJfdmlzaWJsZQorCis8
U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dFQktJVF9JU19XSU5ET1dfUFJPUEVSVElFUworV0VCS0lU
X0lTX1dJTkRPV19QUk9QRVJUSUVTX0NMQVNTCitXRUJLSVRfVFlQRV9XSU5ET1dfUFJPUEVSVElF
UworV0VCS0lUX1dJTkRPV19QUk9QRVJUSUVTCitXRUJLSVRfV0lORE9XX1BST1BFUlRJRVNfQ0xB
U1MKK1dFQktJVF9XSU5ET1dfUFJPUEVSVElFU19HRVRfQ0xBU1MKK1dlYktpdFdpbmRvd1Byb3Bl
cnRpZXMKK1dlYktpdFdpbmRvd1Byb3BlcnRpZXNDbGFzcworV2ViS2l0V2luZG93UHJvcGVydGll
c1ByaXZhdGUKKworPFNVQlNFQ1RJT04gUHJpdmF0ZT4KK3dlYmtpdF93aW5kb3dfcHJvcGVydGll
c19nZXRfdHlwZQorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPndlYmtpdDwvRklMRT4K
KworPC9TRUNUSU9OPgorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
d3BlL2RvY3Mvd3BlLTAuMS50eXBlcyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUv
ZG9jcy93cGUtMC4xLnR5cGVzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ5ZGViMjliY2IxMGY0NTkyNGVlYWNjODg0
ZTBjZDVjZjgxMzE2YjYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvd3BlL2RvY3Mvd3BlLTAuMS50eXBlcwpAQCAtMCwwICsxLDUxIEBACisjaW5jbHVkZSA8
d3BlL3dlYmtpdC5oPgord2Via2l0X2FwcGxpY2F0aW9uX2luZm9fZ2V0X3R5cGUKK3dlYmtpdF9h
dXRoZW50aWNhdGlvbl9yZXF1ZXN0X2dldF90eXBlCit3ZWJraXRfYXV0b21hdGlvbl9zZXNzaW9u
X2dldF90eXBlCit3ZWJraXRfYmFja19mb3J3YXJkX2xpc3RfZ2V0X3R5cGUKK3dlYmtpdF9iYWNr
X2ZvcndhcmRfbGlzdF9pdGVtX2dldF90eXBlCit3ZWJraXRfY3JlZGVudGlhbF9nZXRfdHlwZQor
d2Via2l0X2NvbnRleHRfbWVudV9nZXRfdHlwZQord2Via2l0X2NvbnRleHRfbWVudV9pdGVtX2dl
dF90eXBlCit3ZWJraXRfY29va2llX21hbmFnZXJfZ2V0X3R5cGUKK3dlYmtpdF9kb3dubG9hZF9n
ZXRfdHlwZQord2Via2l0X2VkaXRvcl9zdGF0ZV9nZXRfdHlwZQord2Via2l0X2Zhdmljb25fZGF0
YWJhc2VfZ2V0X3R5cGUKK3dlYmtpdF9maWxlX2Nob29zZXJfcmVxdWVzdF9nZXRfdHlwZQord2Vi
a2l0X2ZpbmRfY29udHJvbGxlcl9nZXRfdHlwZQord2Via2l0X2Zvcm1fc3VibWlzc2lvbl9yZXF1
ZXN0X2dldF90eXBlCit3ZWJraXRfZ2VvbG9jYXRpb25fcGVybWlzc2lvbl9yZXF1ZXN0X2dldF90
eXBlCit3ZWJraXRfaGl0X3Rlc3RfcmVzdWx0X2dldF90eXBlCit3ZWJraXRfaW5zdGFsbF9taXNz
aW5nX21lZGlhX3BsdWdpbnNfcGVybWlzc2lvbl9yZXF1ZXN0X2dldF90eXBlCit3ZWJraXRfamF2
YXNjcmlwdF9yZXN1bHRfZ2V0X3R5cGUKK3dlYmtpdF9taW1lX2luZm9fZ2V0X3R5cGUKK3dlYmtp
dF9uYXZpZ2F0aW9uX2FjdGlvbl9nZXRfdHlwZQord2Via2l0X25hdmlnYXRpb25fcG9saWN5X2Rl
Y2lzaW9uX2dldF90eXBlCit3ZWJraXRfbmV0d29ya19wcm94eV9zZXR0aW5nc19nZXRfdHlwZQor
d2Via2l0X25vdGlmaWNhdGlvbl9wZXJtaXNzaW9uX3JlcXVlc3RfZ2V0X3R5cGUKK3dlYmtpdF9u
b3RpZmljYXRpb25fZ2V0X3R5cGUKK3dlYmtpdF9wZXJtaXNzaW9uX3JlcXVlc3RfZ2V0X3R5cGUK
K3dlYmtpdF9wbHVnaW5fZ2V0X3R5cGUKK3dlYmtpdF9wb2xpY3lfZGVjaXNpb25fZ2V0X3R5cGUK
K3dlYmtpdF9yZXNwb25zZV9wb2xpY3lfZGVjaXNpb25fZ2V0X3R5cGUKK3dlYmtpdF9zY3JpcHRf
ZGlhbG9nX2dldF90eXBlCit3ZWJraXRfc2VjdXJpdHlfbWFuYWdlcl9nZXRfdHlwZQord2Via2l0
X3NlY3VyaXR5X29yaWdpbl9nZXRfdHlwZQord2Via2l0X3VyaV9yZXF1ZXN0X2dldF90eXBlCit3
ZWJraXRfdXJpX3Jlc3BvbnNlX2dldF90eXBlCit3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dl
dF90eXBlCit3ZWJraXRfdXNlcl9zdHlsZV9zaGVldF9nZXRfdHlwZQord2Via2l0X3VzZXJfc2Ny
aXB0X2dldF90eXBlCit3ZWJraXRfdXNlcl9jb250ZW50X21hbmFnZXJfZ2V0X3R5cGUKK3dlYmtp
dF91c2VyX21lZGlhX3Blcm1pc3Npb25fcmVxdWVzdF9nZXRfdHlwZQord2Via2l0X3dlYl9jb250
ZXh0X2dldF90eXBlCit3ZWJraXRfd2ViX3Jlc291cmNlX2dldF90eXBlCit3ZWJraXRfd2ViX3Zp
ZXdfZ2V0X3R5cGUKK3dlYmtpdF93ZWJfdmlld19iYWNrZW5kX2dldF90eXBlCit3ZWJraXRfd2Vi
X3ZpZXdfc2Vzc2lvbl9zdGF0ZV9nZXRfdHlwZQord2Via2l0X3dlYnNpdGVfZGF0YV9nZXRfdHlw
ZQord2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX2dldF90eXBlCit3ZWJraXRfd2luZG93X3By
b3BlcnRpZXNfZ2V0X3R5cGUKK3dlYmtpdF9mb3JtX3N1Ym1pc3Npb25fc3RlcF9nZXRfdHlwZQor
CisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvZG9jcy93cGUt
ZG9jcy5zZ21sIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9kb2NzL3dwZS1kb2Nz
LnNnbWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTBlZjQ5MWVjOWI2YTkzMjNmNDVmMmZmZDNjYmQxMWJjZjg0ZDIz
MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvZG9j
cy93cGUtZG9jcy5zZ21sCkBAIC0wLDAgKzEsOTUgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/Pgor
PCFET0NUWVBFIGJvb2sgUFVCTElDICItLy9PQVNJUy8vRFREIERvY0Jvb2sgWE1MIFY0LjEuMi8v
RU4iCisgICAgICAgICAgICAgICAiaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9kb2Nib29rL3ht
bC80LjEuMi9kb2Nib29reC5kdGQiIFsKKzwhRU5USVRZIHZlcnNpb24gU1lTVEVNICJ2ZXJzaW9u
LnhtbCI+CitdPgorPGJvb2sgaWQ9ImluZGV4IiB4bWxuczp4aT0iaHR0cDovL3d3dy53My5vcmcv
MjAwMy9YSW5jbHVkZSI+CisgIDxib29raW5mbz4KKyAgICA8dGl0bGU+V1BFIFJlZmVyZW5jZSBN
YW51YWw8L3RpdGxlPgorICAgIDxyZWxlYXNlaW5mbz5mb3IgV1BFIFdlYktpdCAmdmVyc2lvbjs8
L3JlbGVhc2VpbmZvPgorICA8L2Jvb2tpbmZvPgorCisgIDxjaGFwdGVyPgorICAgIDx0aXRsZT5D
bGFzcyBPdmVydmlldzwvdGl0bGU+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdFdl
YlZpZXcueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdFdlYkNvbnRleHQu
eG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdFdlYlZpZXdCYWNrZW5kLnht
bCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJLaXRBcHBsaWNhdGlvbkluZm8ueG1s
Ii8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdEF1dGhlbnRpY2F0aW9uUmVxdWVz
dC54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0QXV0b21hdGlvblNlc3Np
b24ueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdEJhY2tGb3J3YXJkTGlz
dC54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0QmFja0ZvcndhcmRMaXN0
SXRlbS54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0Q3JlZGVudGlhbC54
bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0Q29udGV4dE1lbnUueG1sIi8+
CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdENvbnRleHRNZW51SXRlbS54bWwiLz4K
KyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0Q29va2llTWFuYWdlci54bWwiLz4KKyAg
ICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0RG93bmxvYWQueG1sIi8+CisgICAgPHhpOmlu
Y2x1ZGUgaHJlZj0ieG1sL1dlYktpdEVkaXRvclN0YXRlLnhtbCIvPgorICAgIDx4aTppbmNsdWRl
IGhyZWY9InhtbC9XZWJLaXRFcnJvci54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwv
V2ViS2l0RmF2aWNvbkRhdGFiYXNlLnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9X
ZWJLaXRGaWxlQ2hvb3NlclJlcXVlc3QueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1s
L1dlYktpdEZpbmRDb250cm9sbGVyLnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9X
ZWJLaXRGb3JtU3VibWlzc2lvblJlcXVlc3QueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0i
eG1sL1dlYktpdEdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3QueG1sIi8+CisgICAgPHhpOmlu
Y2x1ZGUgaHJlZj0ieG1sL1dlYktpdEhpdFRlc3RSZXN1bHQueG1sIi8+CisgICAgPHhpOmluY2x1
ZGUgaHJlZj0ieG1sL1dlYktpdEluc3RhbGxNaXNzaW5nTWVkaWFQbHVnaW5zUGVybWlzc2lvblJl
cXVlc3QueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdEphdmFzY3JpcHRS
ZXN1bHQueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdE1pbWVJbmZvLnht
bCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJLaXROYXZpZ2F0aW9uQWN0aW9uLnht
bCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJLaXROYXZpZ2F0aW9uUG9saWN5RGVj
aXNpb24ueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdE5ldHdvcmtQcm94
eVNldHRpbmdzLnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJLaXROb3RpZmlj
YXRpb25QZXJtaXNzaW9uUmVxdWVzdC54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwv
V2ViS2l0Tm90aWZpY2F0aW9uLnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJL
aXRQZXJtaXNzaW9uUmVxdWVzdC54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2Vi
S2l0UGx1Z2luLnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJLaXRQb2xpY3lE
ZWNpc2lvbi54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0UmVzcG9uc2VQ
b2xpY3lEZWNpc2lvbi54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0U2Ny
aXB0RGlhbG9nLnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJLaXRTZWN1cml0
eU1hbmFnZXIueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdFNlY3VyaXR5
T3JpZ2luLnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJLaXRTZXR0aW5ncy54
bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0VVJJUmVxdWVzdC54bWwiLz4K
KyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0VVJJUmVzcG9uc2UueG1sIi8+CisgICAg
PHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdFVSSVNjaGVtZVJlcXVlc3QueG1sIi8+CisgICAg
PHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdFVzZXJDb250ZW50LnhtbCIvPgorICAgIDx4aTpp
bmNsdWRlIGhyZWY9InhtbC9XZWJLaXRVc2VyQ29udGVudE1hbmFnZXIueG1sIi8+CisgICAgPHhp
OmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0LnhtbCIv
PgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJLaXRXZWJSZXNvdXJjZS54bWwiLz4KKyAg
ICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0V2ViVmlld1Nlc3Npb25TdGF0ZS54bWwiLz4K
KyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0V2Vic2l0ZURhdGEueG1sIi8+CisgICAg
PHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdFdlYnNpdGVEYXRhTWFuYWdlci54bWwiLz4KKyAg
ICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0V2luZG93UHJvcGVydGllcy54bWwiLz4KKyAg
PC9jaGFwdGVyPgorCisgIDwhLS0gPGNoYXB0ZXI+CisgICAgPHRpdGxlPldlYiBFeHRlbnNpb25z
PC90aXRsZT4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0V2ViRXh0ZW5zaW9uLnht
bCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJLaXRXZWJQYWdlLnhtbCIvPgorICAg
IDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJLaXRGcmFtZS54bWwiLz4KKyAgICA8eGk6aW5jbHVk
ZSBocmVmPSJ4bWwvV2ViS2l0U2NyaXB0V29ybGQueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJl
Zj0ieG1sL1dlYktpdFdlYkhpdFRlc3RSZXN1bHQueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJl
Zj0ieG1sL1dlYktpdFdlYkVkaXRvci54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwv
V2ViS2l0Q29uc29sZU1lc3NhZ2UueG1sIi8+CisgIDwvY2hhcHRlcj4gLS0+CisKKyAgPGluZGV4
IGlkPSJpbmRleC1hbGwiPgorICAgIDx0aXRsZT5JbmRleDwvdGl0bGU+CisgIDwvaW5kZXg+CisK
KyAgPGluZGV4IGlkPSJhcGktaW5kZXgtZGVwcmVjYXRlZCIgcm9sZT0iZGVwcmVjYXRlZCI+Cisg
ICAgPHRpdGxlPkluZGV4IG9mIGRlcHJlY2F0ZWQgc3ltYm9sczwvdGl0bGU+CisgICAgPHhpOmlu
Y2x1ZGUgaHJlZj0ieG1sL2FwaS1pbmRleC1kZXByZWNhdGVkLnhtbCI+PHhpOmZhbGxiYWNrIC8+
PC94aTppbmNsdWRlPgorICA8L2luZGV4PgorCisgIDxpbmRleCBpZD0iYXBpLWluZGV4LTItMjAi
IHJvbGU9IjIuMjAiPgorICAgIDx0aXRsZT5JbmRleCBvZiBuZXcgc3ltYm9scyBpbiAyLjIwPC90
aXRsZT4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvYXBpLWluZGV4LTIuMjAueG1sIj48eGk6
ZmFsbGJhY2sgLz48L3hpOmluY2x1ZGU+CisgIDwvaW5kZXg+CisKKyAgPGluZGV4IGlkPSJhcGkt
aW5kZXgtMi0yMiIgcm9sZT0iMi4yMiI+CisgICAgPHRpdGxlPkluZGV4IG9mIG5ldyBzeW1ib2xz
IGluIDIuMjI8L3RpdGxlPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9hcGktaW5kZXgtMi4y
Mi54bWwiPjx4aTpmYWxsYmFjayAvPjwveGk6aW5jbHVkZT4KKyAgPC9pbmRleD4KKworICA8eGk6
aW5jbHVkZSBocmVmPSJ4bWwvYW5ub3RhdGlvbi1nbG9zc2FyeS54bWwiPjx4aTpmYWxsYmFjayAv
PjwveGk6aW5jbHVkZT4KKzwvYm9vaz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9HdGtEb2Mu
Y21ha2UgYi9Tb3VyY2UvY21ha2UvR3RrRG9jLmNtYWtlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZiZDAwYTNkMTY2
ODAyNTlmODM4MTc5ZTI0NjJkODY1NmE1ZmQ5OGIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
Y21ha2UvR3RrRG9jLmNtYWtlCkBAIC0wLDAgKzEsMTIgQEAKKyMgQ2FsbHMgc2NyaXB0cyB0byBn
ZW5lcmF0ZSBkb2N1bWVudGF0aW9uIHVzaW5nIEdUSy1Eb2MgdmlhIHNjcmlwdC4KKyMgRG9jdW1l
bnRhdGlvbkRlcGVuZGVuY2llcyB2YXJpYWJsZSBtdXN0IGJlIHNldCBiZWZvcmUgY2FsbGluZyB0
aGlzIG1hY3JvLgorbWFjcm8oQUREX0dUS0RPQ19HRU5FUkFUT1IgX3N0YW1wX25hbWUgX2V4dHJh
X2FyZ3MpCisgICAgYWRkX2N1c3RvbV9jb21tYW5kKAorICAgICAgICBPVVRQVVQgIiR7Q01BS0Vf
QklOQVJZX0RJUn0vJHtfc3RhbXBfbmFtZX0iCisgICAgICAgIERFUEVORFMgJHtEb2N1bWVudGF0
aW9uRGVwZW5kZW5jaWVzfQorICAgICAgICBDT01NQU5EICR7Q01BS0VfQ09NTUFORH0gLUUgZW52
ICJDQz0ke0NNQUtFX0NfQ09NUElMRVJ9IiAiQ0ZMQUdTPSR7Q01BS0VfQ19GTEFHU30gLVduby11
bnVzZWQtcGFyYW1ldGVyIiAke0NNQUtFX1NPVVJDRV9ESVJ9L1Rvb2xzL2d0a2RvYy9nZW5lcmF0
ZS1ndGtkb2MgJHtfZXh0cmFfYXJnc30KKyAgICAgICAgQ09NTUFORCB0b3VjaCAke19zdGFtcF9u
YW1lfQorICAgICAgICBXT1JLSU5HX0RJUkVDVE9SWSAiJHtDTUFLRV9CSU5BUllfRElSfSIKKyAg
ICAgICAgVkVSQkFUSU0KKyAgICApCitlbmRtYWNybygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvY21h
a2UvT3B0aW9uc1dQRS5jbWFrZSBiL1NvdXJjZS9jbWFrZS9PcHRpb25zV1BFLmNtYWtlCmluZGV4
IGZiMGI2MGVlOWU4MzM3MTdiZTc0ZDg4NzNhZWYwNDlmYTBmMWRkZjQuLmE1MzcwZDgzNTM3NjY2
YTMwNGNiMmE2MTFiOWU2Mjg3ZGYzMmVkOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9PcHRp
b25zV1BFLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9PcHRpb25zV1BFLmNtYWtlCkBAIC00Niw2
ICs0Niw3IEBAIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9XRUJfUlRD
IFBSSVZBVEUgJHtFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFCiAjIFB1YmxpYyBvcHRpb25zIHNwZWNp
ZmljIHRvIHRoZSBXUEUgcG9ydC4gRG8gbm90IGFkZCBhbnkgb3B0aW9ucyBoZXJlIHVubGVzcwog
IyB0aGVyZSBpcyBhIHN0cm9uZyByZWFzb24gd2Ugc2hvdWxkIHN1cHBvcnQgY2hhbmdpbmcgdGhl
IHZhbHVlIG9mIHRoZSBvcHRpb24sCiAjIGFuZCB0aGUgb3B0aW9uIGlzIG5vdCByZWxldmFudCB0
byBhbnkgb3RoZXIgV2ViS2l0IHBvcnRzLgorV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0dU
S0RPQyAiV2hldGhlciBvciBub3QgdG8gdXNlIGdlbmVyYXRlIGd0a2RvYy4iIFBVQkxJQyBPRkYp
CiBXRUJLSVRfT1BUSU9OX0RFRklORShVU0VfV09GRjIgIldoZXRoZXIgdG8gZW5hYmxlIHN1cHBv
cnQgZm9yIFdPRkYyIFdlYiBGb250cy4iIFBVQkxJQyBPTikKIAogIyBQcml2YXRlIG9wdGlvbnMg
c3BlY2lmaWMgdG8gdGhlIFdQRSBwb3J0LgpAQCAtMTM2LDYgKzEzNywxMSBAQCBTRVRfQU5EX0VY
UE9TRV9UT19CVUlMRChVU0VfQ09PUkRJTkFURURfR1JBUEhJQ1MgVFJVRSkKIFNFVF9BTkRfRVhQ
T1NFX1RPX0JVSUxEKFVTRV9DT09SRElOQVRFRF9HUkFQSElDU19USFJFQURFRCBUUlVFKQogU0VU
X0FORF9FWFBPU0VfVE9fQlVJTEQoVVNFX05JQ09TSUEgVFJVRSkKIAorIyBPdmVycmlkZSB0aGUg
Y2FjaGVkIHZhcmlhYmxlLCBndGstZG9jIGRvZXMgbm90IHJlYWxseSB3b3JrIHdoZW4gY3Jvc3Mt
YnVpbGRpbmcgb3IgYnVpbGRpbmcgb24gTWFjLgoraWYgKENNQUtFX0NST1NTQ09NUElMSU5HIE9S
IEFQUExFKQorICAgIHNldChFTkFCTEVfR1RLRE9DIE9GRikKK2VuZGlmICgpCisKIHNldChGT1JX
QVJESU5HX0hFQURFUlNfRElSICR7REVSSVZFRF9TT1VSQ0VTX0RJUn0vRm9yd2FyZGluZ0hlYWRl
cnMpCiBzZXQoRk9SV0FSRElOR19IRUFERVJTX1dQRV9ESVIgJHtGT1JXQVJESU5HX0hFQURFUlNf
RElSfS93cGUpCiBzZXQoRk9SV0FSRElOR19IRUFERVJTX1dQRV9FWFRFTlNJT05fRElSICR7Rk9S
V0FSRElOR19IRUFERVJTX0RJUn0vd3BlLXdlYmV4dGVuc2lvbikKQEAgLTE0NCw0ICsxNTAsNyBA
QCBzZXQoREVSSVZFRF9TT1VSQ0VTX0pBVkFTQ1JJUENPUkVXUEVfRElSICR7REVSSVZFRF9TT1VS
Q0VTX0pBVkFTQ1JJUFRDT1JFX0RJUn0vagogc2V0KERFUklWRURfU09VUkNFU19KQVZBU0NSSVBD
T1JFX0dMSUJfQVBJX0RJUiAke0RFUklWRURfU09VUkNFU19KQVZBU0NSSVBUQ09SRV9ESVJ9L2ph
dmFzY3JpcHRjb3Jld3BlL2pzYykKIHNldChERVJJVkVEX1NPVVJDRVNfV1BFX0FQSV9ESVIgJHtE
RVJJVkVEX1NPVVJDRVNfV0VCS0lUX0RJUn0vd3BlKQogCitzZXQoV1BFX1BLR0NPTkZJR19GSUxF
ICR7Q01BS0VfQklOQVJZX0RJUn0vd3BlLXdlYmtpdC0ke1dQRV9BUElfVkVSU0lPTn0ucGMpCitz
ZXQoV1BFV2ViRXh0ZW5zaW9uX1BLR0NPTkZJR19GSUxFICR7Q01BS0VfQklOQVJZX0RJUn0vd3Bl
LXdlYi1leHRlbnNpb24tJHtXUEVfQVBJX1ZFUlNJT059LnBjKQorCiBpbmNsdWRlKEdTdHJlYW1l
ckNoZWNrcykKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwpp
bmRleCAyNzA2OGI4NDc5YzJlNzRlZmViYTQ5MWEzOWE0OWUzODY1NGUzMTAyLi40MWFiZDc5OWE2
NmFjMjhlNzllYWE4ZGE1ZmQ2MGNhNTllM2NjMGU0IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VM
b2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTgtMTAtMTggIENh
cmxvcyBFZHVhcmRvIFJhbWFsaG8gIDxjYWR1YmVudHplbkBnbWFpbC5jb20+CisKKyAgICAgICAg
W1dQRV0gQWRkIGd0ay1kb2MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE3ODkwMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEFkZCBndGstZG9jIHRvIFdQRSBwb3J0LiBUaGlzIHBhdGNoIHRyaWVzIHRvIHJl
dXNlIGFzIG11Y2ggY29kZSBmcm9tCisgICAgICAgIFdlYktpdEdUSysgYXMgcG9zc2libGUuCisK
KyAgICAgICAgKiBndGtkb2MvZ2VuZXJhdGUtZ3RrZG9jOiBSZW5hbWVkIGZyb20gVG9vbHMvZ3Rr
L2dlbmVyYXRlLWd0a2RvYy4KKyAgICAgICAgKGdldF9ndGtkb2NfbW9kdWxlX3BhdGhzKToKKyAg
ICAgICAgKHByZXBhcmVfZW52aXJvbm1lbnRfZm9yX2d0a2RvY19nZW5lcmF0aW9uKTogQWRkIEdE
SyBhbmQgR1RLIG9ubHkgaWYgYnVpbGRpbmcgZm9yIEdUSy4KKyAgICAgICAgKGJ1aWxkX2d0a2Rv
Y19mb3Jfd3BlKTogQ29kZSB0byBnZW5lcmF0ZSBkb2MgZm9yIFdQRS4KKyAgICAgICAgKGJ1aWxk
X2d0a2RvY19mb3Jfd2tndGspOiBDb2RlIHRvIGdlbmVyYXRlIGRvYyBmb3IgV2ViS2l0R1RLKy4g
TW92ZWQgZnJvbSBtYWluLgorICAgICAgICAqIGd0a2RvYy9ndGtkb2MucHk6IFJlbmFtZWQgZnJv
bSBUb29scy9ndGsvZ3RrZG9jLnB5LgorICAgICAgICAqIHdwZS9pbnN0YWxsLWRlcGVuZGVuY2ll
czogQWRkIGd0a2RvYyBkZXBlbmRlbmN5LgorCiAyMDE4LTEwLTE2ICBTaWh1aSBMaXUgIDxzaWh1
aV9saXVAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBhIHN3aXRjaCBmb3IgV2ViIFNRTApkaWZm
IC0tZ2l0IGEvVG9vbHMvZ3RrL2dlbmVyYXRlLWd0a2RvYyBiL1Rvb2xzL2d0ay9nZW5lcmF0ZS1n
dGtkb2MKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDQ1YzIzZGZiMTJmMWM4OTNhMjZj
OGQzZTdiM2YwYTRjYTJhMmI3MjQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvVG9vbHMvZ3RrL2dlbmVyYXRlLWd0a2RvYworKysgL2Rldi9udWxsCkBAIC0x
LDIyMSArMCwwIEBACi0jIS91c3IvYmluL2VudiBweXRob24KLSMgQ29weXJpZ2h0IChDKSAyMDEx
IElnYWxpYSBTLkwuCi0jCi0jIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu
IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0
aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotIyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSMgdmVyc2lvbiAyIG9mIHRoZSBM
aWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotIwotIyBUaGlz
IGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1
bCwKLSMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg
d2FycmFudHkgb2YKLSMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSMgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug
Zm9yIG1vcmUgZGV0YWlscy4KLSMKLSMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv
ZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotIyBMaWNlbnNlIGFsb25nIHdpdGggdGhp
cyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0jIEZvdW5kYXRp
b24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAy
MTEwLTEzMDEgIFVTQQotCi1mcm9tIF9fZnV0dXJlX18gaW1wb3J0IHByaW50X2Z1bmN0aW9uCi1m
cm9tIENvbmZpZ1BhcnNlciBpbXBvcnQgU2FmZUNvbmZpZ1BhcnNlcgotCi1pbXBvcnQgYXJncGFy
c2UKLWltcG9ydCBjb2RlY3MKLWltcG9ydCBnbG9iCi1pbXBvcnQgZ3RrZG9jCi1pbXBvcnQgbG9n
Z2luZwotaW1wb3J0IG9zLnBhdGgKLWltcG9ydCBzeXMKLQotdG9wX2xldmVsX2RpcmVjdG9yeSA9
IG9zLnBhdGgubm9ybXBhdGgob3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXyks
ICcuLicsICcuLicpKQotc3lzLnBhdGguaW5zZXJ0KDAsIG9zLnBhdGguam9pbih0b3BfbGV2ZWxf
ZGlyZWN0b3J5LCAnVG9vbHMnLCAnZ2xpYicpKQotaW1wb3J0IGNvbW1vbgotCi1zeXMuc3Rkb3V0
ID0gY29kZWNzLmdldHdyaXRlcigidXRmLTgiKShzeXMuc3Rkb3V0KQotc3lzLnN0ZGVyciA9IGNv
ZGVjcy5nZXR3cml0ZXIoInV0Zi04Iikoc3lzLnN0ZGVycikKLQotZGVmIGNvbmZpZ3VyZV9sb2dn
aW5nKHZlcmJvc2UpOgotICAgIGxldmVsID0gbG9nZ2luZy5ERUJVRyBpZiB2ZXJib3NlIGVsc2Ug
bG9nZ2luZy5JTkZPCi0gICAgbG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoJ2d0a2RvYycpCi0g
ICAgbG9nZ2VyLnNldExldmVsKGxldmVsKQotICAgIGhhbmRsZXIgPSBsb2dnaW5nLlN0cmVhbUhh
bmRsZXIoKQotICAgIGhhbmRsZXIuc2V0TGV2ZWwobGV2ZWwpCi0gICAgbG9nZ2VyLmFkZEhhbmRs
ZXIoaGFuZGxlcikKLSAgICBpZiBsZXZlbCA9PSBsb2dnaW5nLkRFQlVHOgotICAgICAgICBoYW5k
bGVyLnNldEZvcm1hdHRlcihsb2dnaW5nLkZvcm1hdHRlcignWyUoYXNjdGltZSlzXSAgJShtZXNz
YWdlKXMnKSkKLSAgICBlbHNlOgotICAgICAgICBoYW5kbGVyLnNldEZvcm1hdHRlcihsb2dnaW5n
LkZvcm1hdHRlcignJShtZXNzYWdlKXMnKSkKLQotZGVmIGdldF9ndGtkb2NfbW9kdWxlX3BhdGhz
KGNyb3NzX3JlZmVyZW5jZV9kZXBzKToKLSAgICBkZXBlbmRlbnRfcGFja2FnZXMgPSB7Ci0gICAg
ICAgICdnbGliLTIuMCcgOiBbJ2dsaWInLCAnZ29iamVjdCcsICdnaW8nXSwKLSAgICAgICAgJ2xp
YnNvdXAtMi40JyA6IFsnbGlic291cC0yLjQnXSwKLSAgICAgICAgJ2dkay1waXhidWYtMi4wJzog
WydnZGstcGl4YnVmJ10sCi0gICAgICAgICdndGsrLTMuMCcgOiBbJ2d0azMnLCAnZ2RrMyddCi0g
ICAgfQotCi0gICAgcGF0aHMgPSBbXQotICAgIGh0bWxfZGlyID0gb3MucGF0aC5qb2luKCdzaGFy
ZScsICdndGstZG9jJywgJ2h0bWwnKQotICAgIGZvciBwYWNrYWdlLCBtb2R1bGVzIGluIGRlcGVu
ZGVudF9wYWNrYWdlcy5pdGVyaXRlbXMoKToKLSAgICAgICAgcHJlZml4ID0gY29tbW9uLnByZWZp
eF9vZl9wa2dfY29uZmlnX2ZpbGUocGFja2FnZSkKLSAgICAgICAgaWYgcHJlZml4IGlzIE5vbmU6
Ci0gICAgICAgICAgICBjb250aW51ZQotICAgICAgICBmb3IgbW9kdWxlIGluIG1vZHVsZXM6Ci0g
ICAgICAgICAgICBwYXRocy5hcHBlbmQob3MucGF0aC5qb2luKHByZWZpeCwgaHRtbF9kaXIsIG1v
ZHVsZSkpCi0KLSAgICBmb3IgbG9jYWxfZGVwIGluIGNyb3NzX3JlZmVyZW5jZV9kZXBzOgotICAg
ICAgICBwYXRocy5hcHBlbmQoY29tbW9uLmJ1aWxkX3BhdGgoJ0RvY3VtZW50YXRpb24nLCBsb2Nh
bF9kZXAsICdodG1sJykpCi0gICAgcmV0dXJuIHBhdGhzCi0KLWRlZiBwcmludF9taXNzaW5nX2Fw
aShnZW5lcmF0b3IpOgotICAgIG1pc3NpbmdfYXBpID0gZ2VuZXJhdG9yLmFwaV9taXNzaW5nX2Rv
Y3VtZW50YXRpb24oKQotICAgIGlmIG5vdCBtaXNzaW5nX2FwaToKLSAgICAgICAgcmV0dXJuCi0g
ICAgcHJpbnQoIlxuVGhlIGZvbGxvd2luZyBBUEkgYXJlIG1pc3NpbmcgZG9jdW1lbnRhdGlvbjoi
KQotICAgIGZvciBhcGkgaW4gbWlzc2luZ19hcGk6Ci0gICAgICAgIHByaW50KCJcdHswfSIuZm9y
bWF0KGFwaSkpCi0KLWRlZiBmaWxlc190b19pZ25vcmUoc291cmNlX2RpcnMsIGhlYWRlcnNfd2l0
aF9ndGtkb2MpOgotICAgICIiIgotICAgIEZpbmQgZmlsZXMgdG8gaWdub3JlIGR1cmluZyBkb2N1
bWVudGF0aW9uIGdlbmVyYXRpb24uIFdlIGFzc3VtZSB0aGF0IGlmIGFuCi0gICAgaW1wbGVtZW50
YXRpb24gZmlsZSBleGlzdHMgZm9yIGEgaGVhZGVyIHdpdGggZ3RrZG9jIChzYXkgd2Via2l0Zm9v
LmNwcCBmb3IKLSAgICB3ZWJraXRmb28uaCkgd2Ugc2hvdWxkbid0IGlnbm9yZSB0aGF0IGZpbGUu
IEN1cnJlbnRseSB0aGlzIGhvbGRzIHRydWUgZm9yIGFsbAotICAgIG9mIHRoZSBXZWJLaXQgcHJv
amVjdC4KLSAgICAiIiIKLSAgICBpbXBsZW1lbnRhdGlvbl9maWxlcyA9IGxpc3QoaGVhZGVyc193
aXRoX2d0a2RvYykKLSAgICBmb3IgaGVhZGVyIGluIGhlYWRlcnNfd2l0aF9ndGtkb2M6Ci0gICAg
ICAgIGRlZiBhZGRfZmlsZV9pZl9leGlzdHMoZmlsZW5hbWUpOgotICAgICAgICAgICAgZm9yIGRp
ciBpbiBzb3VyY2VfZGlyczoKLSAgICAgICAgICAgICAgICBmaWxlID0gb3MucGF0aC5qb2luKGRp
ciwgZmlsZW5hbWUpCi0gICAgICAgICAgICAgICAgaWYgb3MucGF0aC5pc2ZpbGUoZmlsZSk6Ci0g
ICAgICAgICAgICAgICAgICAgIGltcGxlbWVudGF0aW9uX2ZpbGVzLmFwcGVuZChvcy5wYXRoLmFi
c3BhdGgoZmlsZSkpCi0gICAgICAgIGhlYWRlcl9iYXNlbmFtZV93aXRob3V0X2V4dGVuc2lvbiA9
IG9zLnBhdGguc3BsaXRleHQob3MucGF0aC5iYXNlbmFtZShoZWFkZXIpKVswXQotICAgICAgICBh
ZGRfZmlsZV9pZl9leGlzdHMoaGVhZGVyX2Jhc2VuYW1lX3dpdGhvdXRfZXh0ZW5zaW9uICsgIi5j
cHAiKQotICAgICAgICBhZGRfZmlsZV9pZl9leGlzdHMoaGVhZGVyX2Jhc2VuYW1lX3dpdGhvdXRf
ZXh0ZW5zaW9uICsgIkd0ay5jcHAiKQotICAgICAgICBhZGRfZmlsZV9pZl9leGlzdHMoaGVhZGVy
X2Jhc2VuYW1lX3dpdGhvdXRfZXh0ZW5zaW9uICsgIi5jIikKLQotICAgIGRlZiBmaWxlX3Nob3Vs
ZF9iZV9pZ25vcmVkKGZpbGUpOgotICAgICAgICBpZiBvcy5wYXRoLnNwbGl0ZXh0KGZpbGUpWzFd
IG5vdCBpbiBbJy5oJywgJy5jJywgJy5jcHAnLCAnLmNjJ106Ci0gICAgICAgICAgICByZXR1cm4g
RmFsc2UgIyBUaGVzZSBmaWxlcyBhcmUgaWdub3JlZCBhbnl3YXkuCi0gICAgICAgIGlmIG5vdCBv
cy5wYXRoLmlzZmlsZShmaWxlKToKLSAgICAgICAgICAgIHJldHVybiBUcnVlCi0gICAgICAgIHJl
dHVybiBvcy5wYXRoLmFic3BhdGgoZmlsZSkgbm90IGluIGltcGxlbWVudGF0aW9uX2ZpbGVzCi0K
LSAgICBhbGxfZmlsZXMgPSBzdW0oW1tvcy5wYXRoLmpvaW4oZGlyLCBmaWxlKSBmb3IgZmlsZSBp
biBvcy5saXN0ZGlyKGRpcildIGZvciBkaXIgaW4gc291cmNlX2RpcnNdLCBbXSkKLSAgICByZXR1
cm4gZmlsdGVyKGZpbGVfc2hvdWxkX2JlX2lnbm9yZWQsIGFsbF9maWxlcykKLQotZGVmIGdldF9n
ZW5lcmF0b3JfZm9yX2NvbmZpZyhjb25maWdfZmlsZSwgdmlydHVhbF9yb290LCBjcm9zc19yZWZl
cmVuY2VfZGVwcyA9IFtdKToKLSAgICBpZiBub3Qgb3MucGF0aC5pc2ZpbGUoY29uZmlnX2ZpbGUp
OgotICAgICAgICByZXR1cm4gTm9uZQotCi0gICAgY29uZmlnID0gU2FmZUNvbmZpZ1BhcnNlcigp
Ci0gICAgY29uZmlnLnJlYWQoY29uZmlnX2ZpbGUpCi0gICAgbW9kdWxlX25hbWUgPSBjb25maWcu
c2VjdGlvbnMoKVswXQotICAgIHBrZ2NvbmZpZ19maWxlID0gY29uZmlnLmdldChtb2R1bGVfbmFt
ZSwgJ3BrZ2NvbmZpZ19maWxlJykKLQotICAgIGlmIG5vdCBvcy5wYXRoLmlzZmlsZShwa2djb25m
aWdfZmlsZSk6Ci0gICAgICAgIHJldHVybiBOb25lCi0KLSAgICBzb3VyY2VfZGlycyA9IGNvbmZp
Zy5nZXQobW9kdWxlX25hbWUsICdzb3VyY2VfZGlycycpLnJlcGxhY2UoJzsnLCAnICcpLnNwbGl0
KCkKLSAgICBoZWFkZXJzID0gW29zLnBhdGguYWJzcGF0aChmKSBmb3IgZiBpbiBjb25maWcuZ2V0
KG1vZHVsZV9uYW1lLCAnaGVhZGVycycpLnJlcGxhY2UoJzsnLCAnICcpLnNwbGl0KCldCi0gICAg
cmV0dXJuIGd0a2RvYy5Qa2dDb25maWdHVEtEb2MocGtnY29uZmlnX2ZpbGUsIHsKLSAgICAgICAg
J2RlY29yYXRvcic6IGNvbmZpZy5nZXQobW9kdWxlX25hbWUsICdkZWNvcmF0b3InKSwKLSAgICAg
ICAgJ2RlcHJlY2F0aW9uX2d1YXJkJzogY29uZmlnLmdldChtb2R1bGVfbmFtZSwgJ2RlcHJlY2F0
aW9uX2d1YXJkJyksCi0gICAgICAgICdsaWJyYXJ5X3BhdGgnOiBjb21tb24ubGlicmFyeV9idWls
ZF9wYXRoKCksCi0gICAgICAgICd2aXJ0dWFsX3Jvb3QnOiB2aXJ0dWFsX3Jvb3QsCi0gICAgICAg
ICdtb2R1bGVfbmFtZSc6IG1vZHVsZV9uYW1lLAotICAgICAgICAnbmFtZXNwYWNlJzogY29uZmln
LmdldChtb2R1bGVfbmFtZSwgJ25hbWVzcGFjZScpLAotICAgICAgICAnZG9jX2Rpcic6IGNvbmZp
Zy5nZXQobW9kdWxlX25hbWUsICdkb2NfZGlyJyksCi0gICAgICAgICdvdXRwdXRfZGlyJzogY29t
bW9uLmJ1aWxkX3BhdGgoJ0RvY3VtZW50YXRpb24nLCBtb2R1bGVfbmFtZSksCi0gICAgICAgICdt
YWluX3NnbWxfZmlsZSc6IGNvbmZpZy5nZXQobW9kdWxlX25hbWUsICdtYWluX3NnbWxfZmlsZScp
LAotICAgICAgICAnc291cmNlX2RpcnMnOiBzb3VyY2VfZGlycywKLSAgICAgICAgJ2hlYWRlcnMn
OiBoZWFkZXJzLAotICAgICAgICAnY2ZsYWdzJzogIiAiLmpvaW4oY29uZmlnLmdldChtb2R1bGVf
bmFtZSwgJ2NmbGFncycpLnNwbGl0KCkpLAotICAgICAgICAnY3Jvc3NfcmVmZXJlbmNlX2RlcHMn
OiBnZXRfZ3RrZG9jX21vZHVsZV9wYXRocyhjcm9zc19yZWZlcmVuY2VfZGVwcyksCi0gICAgICAg
ICdpZ25vcmVkX2ZpbGVzJzogZmlsZXNfdG9faWdub3JlKHNvdXJjZV9kaXJzLCBoZWFkZXJzKSwK
LSAgICB9KQotCi1kZWYgZ2VuZXJhdGVfZG9jKGdlbmVyYXRvciwgc2tpcF9odG1sKToKLSAgICBn
ZW5lcmF0b3IuZ2VuZXJhdGUobm90IHNraXBfaHRtbCkKLSAgICBpZiBnZW5lcmF0b3Iuc2F3X3dh
cm5pbmdzOgotICAgICAgICBwcmludF9taXNzaW5nX2FwaShnZW5lcmF0b3IpCi0gICAgcmV0dXJu
IGdlbmVyYXRvci5zYXdfd2FybmluZ3MKLQotZGVmIHJlYmFzZV9kb2MoZ2VuZXJhdG9yKToKLSAg
ICB0cnk6Ci0gICAgICAgIGdlbmVyYXRvci5yZWJhc2VfaW5zdGFsbGVkX2RvY3MoKQotICAgIGV4
Y2VwdCBFeGNlcHRpb246Ci0gICAgICAgIHByaW50KCJSZWJhc2UgZGlkIG5vdCBoYXBwZW4sIGxp
a2VseSBubyBkb2N1bWVudGF0aW9uIGlzIHByZXNlbnQuIikKLQotZGVmIGdlbmVyYXRlX2RvY3Vt
ZW50YXRpb24oZ2VuZXJhdG9yKToKLSAgICBpZiBub3QgYXJndW1lbnRzLnJlYmFzZToKLSAgICAg
ICAgcmV0dXJuIGdlbmVyYXRlX2RvYyhnZW5lcmF0b3IsIGFyZ3VtZW50cy5za2lwX2h0bWwpCi0K
LSAgICByZWJhc2VfZG9jKGdlbmVyYXRvcikKLSAgICByZXR1cm4gRmFsc2UKLQotZGVmIHByZXBh
cmVfZW52aXJvbm1lbnRfZm9yX2d0a2RvY19nZW5lcmF0aW9uKCk6Ci0gICAgIyBXZSBuZWVkIHRv
IGFkZCB0aGUgSmF2YVNjcmlwdENvcmUgYnVpbGQgZGlyZWN0b3J5IHRvIHRoZSBQS0dfQ09ORklH
X1BBVEgKLSAgICAjIHNvIHRoYXQgcGtnY29uZmlnIGNhbiBwcm9wZXJseSByZXNvbHZlIHRoZSBs
aWJqYXZhc2NyaXB0Y29yZSBkZXBlbmRlbmN5LgotICAgIHBrZ19jb25maWdfcGF0aCA9IG9zLmVu
dmlyb24uZ2V0KCJQS0dfQ09ORklHX1BBVEgiKQotICAgIG9zLmVudmlyb25bJ1BLR19DT05GSUdf
UEFUSCddID0gY29tbW9uLmJ1aWxkX3BhdGgoJ1NvdXJjZScsICdKYXZhU2NyaXB0Q29yZScpCi0g
ICAgaWYgcGtnX2NvbmZpZ19wYXRoOgotICAgICAgICBvcy5lbnZpcm9uWydQS0dfQ09ORklHX1BB
VEgnXSArPSAnOicgKyBwa2dfY29uZmlnX3BhdGgKLQotICAgICMgTmV3ZXIgdmVyc2lvbnMgb2Yg
Z2xpYiBoYXZlIGRlcHJlY2F0ZWQgZ190eXBlX2luaXQsIHNvIHdlIG5lZWQgdG8gZGlzYWJsZQot
ICAgICMgdGhhdCB3YXJuaW5nIHdoZW4gcnVubmluZyBndGtkb2Mtc2Nhbm9iaiBieSBvdmVycmlk
aW5nIHRoZSBDRkxBR1Mgd2UgdXNlCi0gICAgIyB0byBjb21waWxlIGl0LgotICAgIGNmbGFncyA9
IG9zLmVudmlyb24uZ2V0KCdDRkxBR1MnLCAnJykKLSAgICBjZmxhZ3MgKz0gJyAtREdMSUJfVkVS
U0lPTl9NSU5fUkVRVUlSRUQ9R0xJQl9WRVJTSU9OXzJfMzInCi0KLSAgICAjIEluIG5vbi14ODYg
YXJjaGl0ZWN0dXJlcywgd2hlbiBhIHBvaW50ZXIgaXMgY2FzdCB0byAodm9pZCopIGFuZAotICAg
ICMgYmFjaywgdGhlIGNvbXBpbGVyIHRoaW5rcyB0aGF0IHRoZSBhbGlnbm1lbnQgaXMgcmFuZG9t
LiBTaW5jZQotICAgICMgZ3RrZG9jIGJ1aWxkIGlzIGJyb2tlbiBhdCBhbnkgd2FybmluZyBtZXNz
YWdlLCBpdCBpcyBiZXR0ZXIgdG8KLSAgICAjIHNpbGVuY2UgdGhlc2UgZmFsc2UgcG9zaXRpdmVz
LgotICAgIGNmbGFncyArPSAnIC1Xbm8tY2FzdC1hbGlnbicKLSAgICBvcy5lbnZpcm9uWydDRkxB
R1MnXSA9IGNmbGFncwotCi0gICAgIyBQYXRocyBmcm9tIHRoZSBHTlVtYWtlZmlsZSBnZW5lcmF0
ZWQgY29uZmlndXJhdGlvbiBmaWxlcyBhcmUgcmVsYXRpdmUgdG8gdGhlIGJ1aWxkIGRpcmVjdG9y
eS4KLSAgICBvcy5jaGRpcihjb21tb24uYnVpbGRfcGF0aCgpKQotCi1pZiBfX25hbWVfXyA9PSAi
X19tYWluX18iOgotICAgIHBhcnNlciA9IGFyZ3BhcnNlLkFyZ3VtZW50UGFyc2VyKGRlc2NyaXB0
aW9uPSdHZW5lcmF0ZSBndGtkb2MgZm9yIFdlYktpdC4nKQotICAgIHBhcnNlci5hZGRfYXJndW1l
bnQoJy12JywgJy0tdmVyYm9zZScsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsCi0gICAgICAgICAgICAg
ICAgICAgICAgICBoZWxwPSdXaGV0aGVyIG9yIG5vdCB0byBydW4gaW4gdmVyYm9zZSBtb2RlLicp
Ci0gICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1yZWJhc2UnLCBhY3Rpb249J3N0b3JlX3RydWUn
LAotICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0nV2hlbiBzcGVjaWZpZWQsIHJ1biB0aGUg
dG9vbCBpbiByZWJhc2UgbW9kZS4nKQotICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy0tc2tpcC1o
dG1sJywgYWN0aW9uPSdzdG9yZV90cnVlJywKLSAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9
J1doZXRoZXIgb3Igbm90IHRvIHNraXAgSFRNTCBnZW5lcmF0aW9uLCB3aGljaCBjYW4gYmUgc2xv
dy4nKQotICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy0tdmlydHVhbC1yb290JywgdHlwZT1zdHIs
IGRlZmF1bHQ9JycsCi0gICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdBIHRlbXBvcmFyeSBp
bnN0YWxsYXRpb24gZGlyZWN0b3J5IHdoaWNoIGlzIHVzZWQgYXMgdGhlIHJvb3QgJyArIFwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3doZXJlIHRoZSBhY3R1YWwgaW5zdGFsbGF0aW9u
IHByZWZpeCBsaXZlczsgdGhpcyBpcyBtb3N0bHkgJyArIFwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgJ3VzZWZ1bCBmb3IgcGFja2FnZXJzLCBhbmQgc2hvdWxkIGJlIHNldCB0byB3aGF0
IGlzIGdpdmVuIHRvICcgKyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYWtlIGlu
c3RhbGwgYXMgREVTVERJUi4nKQotCi0gICAgYXJndW1lbnRzID0gcGFyc2VyLnBhcnNlX2FyZ3Mo
KQotICAgIGNvbmZpZ3VyZV9sb2dnaW5nKGFyZ3VtZW50cy52ZXJib3NlKQotCi0gICAgcHJlcGFy
ZV9lbnZpcm9ubWVudF9mb3JfZ3RrZG9jX2dlbmVyYXRpb24oKQotCi0gICAganNjX2dlbmVyYXRv
ciA9IGdldF9nZW5lcmF0b3JfZm9yX2NvbmZpZyhjb21tb24uYnVpbGRfcGF0aCgnZ3RrZG9jLWpz
Yy1nbGliLmNmZycpLCBhcmd1bWVudHMudmlydHVhbF9yb290KQotICAgIGlmIG5vdCBqc2NfZ2Vu
ZXJhdG9yOgotICAgICAgICBwcmludCgiZ3RrZG9jLWpzYy1nbGliLmNmZyBkb2VzIG5vdCBleGlz
dCEgU2tpcHBpbmcgdGhhdCBkb2N1bWVudGF0aW9uIikKLSAgICAgICAgc3lzLmV4aXQoMSkKLSAg
ICBzYXdfd2FybmluZ3MgPSBnZW5lcmF0ZV9kb2N1bWVudGF0aW9uKGpzY19nZW5lcmF0b3IpCi0g
ICAgaWYgc2F3X3dhcm5pbmdzOgotICAgICAgICBzeXMuZXhpdChzYXdfd2FybmluZ3MpCi0KLSAg
ICB3ZWJraXRkb21fZ2VuZXJhdG9yID0gZ2V0X2dlbmVyYXRvcl9mb3JfY29uZmlnKGNvbW1vbi5i
dWlsZF9wYXRoKCdndGtkb2Mtd2Via2l0ZG9tLmNmZycpLCBhcmd1bWVudHMudmlydHVhbF9yb290
LCBbanNjX2dlbmVyYXRvci5tb2R1bGVfbmFtZV0pCi0gICAgaWYgbm90IHdlYmtpdGRvbV9nZW5l
cmF0b3I6Ci0gICAgICAgIHByaW50KCJndGtkb2Mtd2Via2l0ZG9tLmNmZyBkb2VzIG5vdCBleGlz
dCEgU2tpcHBpbmcgdGhhdCBkb2N1bWVudGF0aW9uIikKLSAgICAgICAgc3lzLmV4aXQoMSkKLSAg
ICBzYXdfd2FybmluZ3MgPSBnZW5lcmF0ZV9kb2N1bWVudGF0aW9uKHdlYmtpdGRvbV9nZW5lcmF0
b3IpCi0gICAgaWYgc2F3X3dhcm5pbmdzOgotICAgICAgICBzeXMuZXhpdChzYXdfd2FybmluZ3Mp
Ci0KLSAgICB3ZWJraXQyX2dlbmVyYXRvciA9IGdldF9nZW5lcmF0b3JfZm9yX2NvbmZpZyhjb21t
b24uYnVpbGRfcGF0aCgnZ3RrZG9jLXdlYmtpdDJndGsuY2ZnJyksIGFyZ3VtZW50cy52aXJ0dWFs
X3Jvb3QsIFt3ZWJraXRkb21fZ2VuZXJhdG9yLm1vZHVsZV9uYW1lLCBqc2NfZ2VuZXJhdG9yLm1v
ZHVsZV9uYW1lXSkKLSAgICBpZiBub3Qgd2Via2l0Ml9nZW5lcmF0b3I6Ci0gICAgICAgIHByaW50
KCJndGtkb2Mtd2Via2l0Mmd0ay5jZmcgZG9lcyBub3QgZXhpc3QhIFNraXBwaW5nIHRoYXQgZG9j
dW1lbnRhdGlvbiIpCi0gICAgICAgIHN5cy5leGl0KDEpCi0gICAgc2F3X3dhcm5pbmdzID0gZ2Vu
ZXJhdGVfZG9jdW1lbnRhdGlvbih3ZWJraXQyX2dlbmVyYXRvcikKLQotICAgIHN5cy5leGl0KHNh
d193YXJuaW5ncykKZGlmZiAtLWdpdCBhL1Rvb2xzL2d0ay9ndGtkb2MucHkgYi9Ub29scy9ndGsv
Z3RrZG9jLnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmMGEwOWYxNjg3ZjQ0ZWE5
ZGU1OTBjZWVmYzRjMzIxMjc1ZGE0YTI2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL1Rvb2xzL2d0ay9ndGtkb2MucHkKKysrIC9kZXYvbnVsbApAQCAtMSw0
NTEgKzAsMCBAQAotIyBDb3B5cmlnaHQgKEMpIDIwMTEgSWdhbGlhIFMuTC4KLSMKLSMgVGhpcyBs
aWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgot
IyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVi
bGljCi0jIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b247IGVpdGhlcgotIyB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlv
bikgYW55IGxhdGVyIHZlcnNpb24uCi0jCi0jIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBp
biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotIyBidXQgV0lUSE9VVCBBTlkgV0FS
UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotIyBNRVJDSEFOVEFC
SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQot
IyBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotIwotIyBZ
b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwg
UHVibGljCi0jIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUg
dG8gdGhlIEZyZWUgU29mdHdhcmUKLSMgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3Ry
ZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCi0KLWltcG9ydCBj
b2RlY3MKLWltcG9ydCBlcnJubwotaW1wb3J0IGxvZ2dpbmcKLWltcG9ydCBvcwotaW1wb3J0IG9z
LnBhdGgKLWltcG9ydCBzdWJwcm9jZXNzCi1pbXBvcnQgc3lzCi0KLQotY2xhc3MgR1RLRG9jKG9i
amVjdCk6Ci0KLSAgICAiIiJDbGFzcyB0aGF0IGNvbnRyb2xzIGEgZ3RrZG9jIHJ1bi4KLQotICAg
IEVhY2ggaW5zdGFuY2Ugb2YgdGhpcyBjbGFzcyByZXByZXNlbnRzIG9uZSBndGtkb2MgY29uZmln
dXJhdGlvbgotICAgIGFuZCBzZXQgb2YgZG9jdW1lbnRhdGlvbi4gVGhlIGd0a2RvYyBwYWNrYWdl
IGlzIGEgc2VyaWVzIG9mIHRvb2xzCi0gICAgcnVuIGNvbnNlY3V0aXZlbHkgd2hpY2ggY29udmVy
dHMgaW5saW5lIEMvQysrIGRvY3VtZW50YXRpb24gaW50bwotICAgIGRvY2Jvb2sgZmlsZXMgYW5k
IHRoZW4gaW50byBIVE1MLiBUaGlzIGNsYXNzIGlzIHN1aXRhYmxlIGZvcgotICAgIGdlbmVyYXRp
bmcgZG9jdW1lbnRhdGlvbiBvciBzaW1wbHkgdmVyaWZ5aW5nIGNvcnJlY3RuZXNzLgotCi0gICAg
S2V5d29yZCBhcmd1bWVudHM6Ci0gICAgb3V0cHV0X2RpciAgICAgICAgIC0tIFRoZSBwYXRoIHdo
ZXJlIGd0a2RvYyBvdXRwdXQgc2hvdWxkIGJlIHBsYWNlZC4gR2VuZXJhdGlvbgotICAgICAgICAg
ICAgICAgICAgICAgICAgICBtYXkgb3ZlcndyaXRlIGZpbGUgaW4gdGhpcyBkaXJlY3RvcnkuIFJl
cXVpcmVkLgotICAgIG1vZHVsZV9uYW1lICAgICAgICAtLSBUaGUgbmFtZSBvZiB0aGUgZG9jdW1l
bnRhdGlvbiBtb2R1bGUuIEZvciBsaWJyYXJpZXMgdGhpcwotICAgICAgICAgICAgICAgICAgICAg
ICAgICBpcyB0eXBpY2FsbHkgdGhlIGxpYnJhcnkgbmFtZS4gUmVxdWlyZWQgaWYgbm90IGxpYnJh
cnkgcGF0aAotICAgICAgICAgICAgICAgICAgICAgICAgICBpcyBnaXZlbi4KLSAgICBzb3VyY2Vf
ZGlycyAgICAgICAgLS0gQSBsaXN0IG9mIHBhdGhzIHRvIGRpcmVjdG9yaWVzIG9mIHNvdXJjZSBj
b2RlIHRvIGJlIHNjYW5uZWQuCi0gICAgICAgICAgICAgICAgICAgICAgICAgIFJlcXVpcmVkIGlm
IGhlYWRlcnMgaXMgbm90IHNwZWNpZmllZC4KLSAgICBpZ25vcmVkX2ZpbGVzICAgICAgLS0gQSBs
aXN0IG9mIGZpbGVuYW1lcyB0byBpZ25vcmUgaW4gdGhlIHNvdXJjZSBkaXJlY3RvcnkuIEl0IGlz
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIG9ubHkgbmVjZXNzYXJ5IHRvIHByb3ZpZGUgdGhl
IGJhc2VuYW1lcyBvZiB0aGVzZSBmaWxlcy4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgVHlw
aWNhbGx5IGl0IGlzIGltcG9ydGFudCB0byBwcm92aWRlIGFuIHVwZGF0ZWQgbGlzdCBvZgotICAg
ICAgICAgICAgICAgICAgICAgICAgICBpZ25vcmVkIGZpbGVzIHRvIHByZXZlbnQgd2FybmluZ3Mg
YWJvdXQgdW5kb2N1bWVudGVkIHN5bWJvbHMuCi0gICAgaGVhZGVycyAgICAgICAgICAgIC0tIEEg
bGlzdCBvZiBwYXRocyB0byBoZWFkZXJzIHRvIGJlIHNjYW5uZWQuIFJlcXVpcmVkIGlmIHNvdXJj
ZV9kaXJzCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGlzIG5vdCBzcGVjaWZpZWQuCi0gICAg
bmFtZXNwYWNlICAgICAgICAgIC0tIFRoZSBsaWJyYXJ5IG5hbWVzcGFjZS4KLSAgICBkZWNvcmF0
b3IgICAgICAgICAgLS0gSWYgYSBkZWNvcmF0b3IgaXMgdXNlZCB0byB1bmhpZGUgY2VydGFpbiBz
eW1ib2xzIGluIGhlYWRlcgotICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlcyB0aGlzIHBh
cmFtZXRlciBpcyByZXF1aXJlZCBmb3Igc3VjY2Vzc2Z1bCBzY2FubmluZy4KLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgKGRlZmF1bHQgJycpCi0gICAgZGVwcmVjYXRpb25fZ3VhcmQgIC0tIGd0
a2RvYyB0cmllcyB0byBlbnN1cmUgdGhhdCBzeW1ib2xzIG1hcmtlZCBhcyBkZXByZWNhdGVkCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgIGFyZSBlbmNhc2VkIGluIHRoaXMgQyBwcmVwcm9jZXNz
b3IgZGVmaW5lLiBUaGlzIGlzIHJlcXVpcmVkCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHRv
IGF2b2lkIGd0a2RvYyB3YXJuaW5ncy4gKGRlZmF1bHQgJycpCi0gICAgY2ZsYWdzICAgICAgICAg
ICAgIC0tIFRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyBhbnkgcHJlcHJvY2Vzc29yIGZsYWdzIG5l
Y2Vzc2FyeSBmb3IKLSAgICAgICAgICAgICAgICAgICAgICAgICAgYnVpbGRpbmcgdGhlIHNjYW5u
ZXIgYmluYXJ5IGR1cmluZyBndGtkb2Mtc2Nhbm9iai4gVHlwaWNhbGx5Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgIHRoaXMgaW5jbHVkZXMgYWxsIGFic29sdXRlIGluY2x1ZGUgcGF0aHMgbmVj
ZXNzYXJ5IHRvIHJlc29sdmUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgYWxsIGhlYWRlciBk
ZXBlbmRlbmNpZXMuIChkZWZhdWx0ICcnKQotICAgIGxkZmxhZ3MgICAgICAgICAgICAtLSBUaGlz
IHBhcmFtZXRlciBzcGVjaWZpZXMgYW55IGxpbmtlciBmbGFncyBuZWNlc3NhcnkgZm9yCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgIGJ1aWxkaW5nIHRoZSBzY2FubmVyIGJpbmFyeSBkdXJpbmcg
Z3RrZG9jLXNjYW5vYmouIFR5cGljYWxseQotICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlz
IGluY2x1ZGVzICItbHlvdXJsaWJyYXJ5bmFtZSIuIChkZWZhdWx0ICcnKQotICAgIGxpYnJhcnlf
cGF0aCAgICAgICAtLSBUaGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIHBhdGggdG8gdGhlIGRp
cmVjdG9yeSB3aGVyZSB5b3UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgbGlicmFyeSByZXNp
ZGVzIHVzZWQgZm9yIGJ1aWxkaW5nIHRoZSBzY2FubmVyIGJpbmFyeSBkdXJpbmcKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgZ3RrZG9jLXNjYW5vYmouIChkZWZhdWx0ICcnKQotCi0gICAgZG9j
X2RpciAgICAgICAgICAgIC0tIFRoZSBwYXRoIHRvIG90aGVyIGRvY3VtZW50YXRpb24gZmlsZXMg
bmVjZXNzYXJ5IHRvIGJ1aWxkCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBkb2N1bWVu
dGF0aW9uLiBUaGlzIGZpbGVzIGluIHRoaXMgZGlyZWN0b3J5IGFzIHdlbGwgYXMKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgdGhlIGZpbGVzIGluIHRoZSAnaHRtbCcgc3ViZGlyZWN0b3J5IHdp
bGwgYmUgY29waWVkCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHJlY3Vyc2l2ZWx5IGludG8g
dGhlIG91dHB1dCBkaXJlY3RvcnkuIChkZWZhdWx0ICcnKQotICAgIG1haW5fc2dtbF9maWxlICAg
ICAtLSBUaGUgcGF0aCBvciBuYW1lIChpZiBhIGRvY19kaXIgaXMgZ2l2ZW4pIG9mIHRoZSBTR01M
IGZpbGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdCBpcyB0aGUgY29uc2lkZXJlZCB0
aGUgbWFpbiBwYWdlIG9mIHlvdXIgZG9jdW1lbnRhdGlvbi4KLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgKGRlZmF1bHQ6IDxtb2R1bGVfbmFtZT4tZG9jcy5zZ21sKQotICAgIHZlcnNpb24gICAg
ICAgICAgICAtLSBUaGUgdmVyc2lvbiBudW1iZXIgb2YgdGhlIG1vZHVsZS4gSWYgdGhpcyBpcyBw
cm92aWRlZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgYSB2ZXJzaW9uLnhtbCBmaWxlIGNv
bnRhaW5pbmcgdGhlIHZlcnNpb24gd2lsbCBiZSBjcmVhdGVkCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgIGluIHRoZSBvdXRwdXQgZGlyZWN0b3J5IGR1cmluZyBkb2N1bWVudGF0aW9uIGdlbmVy
YXRpb24uCi0KLSAgICBpbnRlcmFjdGl2ZSAgICAgICAgLS0gV2hldGhlciBvciBub3QgZXJyb3Jz
IG9yIHdhcm5pbmdzIHNob3VsZCBwcm9tcHQgdGhlIHVzZXIKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgdG8gY29udGludWUgb3Igbm90LiBXaGVuIHRoaXMgdmFsdWUgaXMgZmFsc2UsIGdlbmVy
YXRpb24KLSAgICAgICAgICAgICAgICAgICAgICAgICAgd2lsbCBjb250aW51ZSBkZXNwaXRlIHdh
cm5pbmdzLiAoZGVmYXVsdCBGYWxzZSkKLQotICAgIHZpcnR1YWxfcm9vdCAgICAgICAtLSBBIHRl
bXBvcmFyeSBpbnN0YWxsYXRpb24gZGlyZWN0b3J5IHdoaWNoIGlzIHVzZWQgYXMgdGhlIHJvb3QK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgd2hlcmUgdGhlIGFjdHVhbCBpbnN0YWxsYXRpb24g
cHJlZml4IGxpdmVzOyB0aGlzIGlzIG1vc3RseQotICAgICAgICAgICAgICAgICAgICAgICAgICB1
c2VmdWwgZm9yIHBhY2thZ2VycywgYW5kIHNob3VsZCBiZSBzZXQgdG8gd2hhdCBpcyBnaXZlbiB0
bwotICAgICAgICAgICAgICAgICAgICAgICAgICBtYWtlIGluc3RhbGwgYXMgREVTVERJUi4KLSAg
ICAiIiIKLQotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBhcmdzKToKLQotICAgICAgICAjIFBhcmFt
ZXRlcnMgc3BlY2lmaWMgdG8gc2Nhbm5pbmcuCi0gICAgICAgIHNlbGYubW9kdWxlX25hbWUgPSAn
JwotICAgICAgICBzZWxmLnNvdXJjZV9kaXJzID0gW10KLSAgICAgICAgc2VsZi5oZWFkZXJzID0g
W10KLSAgICAgICAgc2VsZi5pZ25vcmVkX2ZpbGVzID0gW10KLSAgICAgICAgc2VsZi5uYW1lc3Bh
Y2UgPSAnJwotICAgICAgICBzZWxmLmRlY29yYXRvciA9ICcnCi0gICAgICAgIHNlbGYuZGVwcmVj
YXRpb25fZ3VhcmQgPSAnJwotCi0gICAgICAgICMgUGFyYW1ldGVycyBzcGVjaWZpYyB0byBndGtk
b2Mtc2Nhbm9iai4KLSAgICAgICAgc2VsZi5jZmxhZ3MgPSAnJwotICAgICAgICBzZWxmLmxkZmxh
Z3MgPSAnJwotICAgICAgICBzZWxmLmxpYnJhcnlfcGF0aCA9ICcnCi0KLSAgICAgICAgIyBQYXJh
bWV0ZXJzIHNwZWNpZmljIHRvIGdlbmVyYXRpb24uCi0gICAgICAgIHNlbGYub3V0cHV0X2RpciA9
ICcnCi0gICAgICAgIHNlbGYuZG9jX2RpciA9ICcnCi0gICAgICAgIHNlbGYubWFpbl9zZ21sX2Zp
bGUgPSAnJwotCi0gICAgICAgICMgUGFyYW1ldGVycyBzcGVjaWZpYyB0byBndGtkb2MtZml4eHJl
Zi4KLSAgICAgICAgc2VsZi5jcm9zc19yZWZlcmVuY2VfZGVwcyA9IFtdCi0KLSAgICAgICAgc2Vs
Zi5pbnRlcmFjdGl2ZSA9IEZhbHNlCi0KLSAgICAgICAgc2VsZi5sb2dnZXIgPSBsb2dnaW5nLmdl
dExvZ2dlcignZ3RrZG9jJykKLQotICAgICAgICBmb3Iga2V5LCB2YWx1ZSBpbiBpdGVyKGFyZ3Mu
aXRlbXMoKSk6Ci0gICAgICAgICAgICBzZXRhdHRyKHNlbGYsIGtleSwgdmFsdWUpCi0KLSAgICAg
ICAgaWYgbm90IGdldGF0dHIoc2VsZiwgJ291dHB1dF9kaXInKToKLSAgICAgICAgICAgIHJhaXNl
IEV4Y2VwdGlvbignb3V0cHV0X2RpciBub3Qgc3BlY2lmaWVkLicpCi0gICAgICAgIGlmIG5vdCBn
ZXRhdHRyKHNlbGYsICdtb2R1bGVfbmFtZScpOgotICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9u
KCdtb2R1bGVfbmFtZSBub3Qgc3BlY2lmaWVkLicpCi0gICAgICAgIGlmIG5vdCBnZXRhdHRyKHNl
bGYsICdzb3VyY2VfZGlycycpIGFuZCBub3QgZ2V0YXR0cihzZWxmLCAnaGVhZGVycycpOgotICAg
ICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCdOZWl0aGVyIHNvdXJjZV9kaXJzIG5vciBoZWFkZXJz
IHNwZWNpZmllZC4nICUga2V5KQotCi0gICAgICAgICMgTWFrZSBhbGwgcGF0aHMgYWJzb2x1dGUg
aW4gY2FzZSB3ZSB3ZXJlIHBhc3NlZCByZWxhdGl2ZSBwYXRocywgc2luY2UKLSAgICAgICAgIyB3
ZSBjaGFuZ2UgdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3Rvcnkgd2hlbiBleGVjdXRpbmcgc3Vi
Y29tbWFuZHMuCi0gICAgICAgIHNlbGYub3V0cHV0X2RpciA9IG9zLnBhdGguYWJzcGF0aChzZWxm
Lm91dHB1dF9kaXIpCi0gICAgICAgIHNlbGYuc291cmNlX2RpcnMgPSBbb3MucGF0aC5hYnNwYXRo
KHgpIGZvciB4IGluIHNlbGYuc291cmNlX2RpcnNdCi0gICAgICAgIHNlbGYuaGVhZGVycyA9IFtv
cy5wYXRoLmFic3BhdGgoeCkgZm9yIHggaW4gc2VsZi5oZWFkZXJzXQotICAgICAgICBpZiBzZWxm
LmxpYnJhcnlfcGF0aDoKLSAgICAgICAgICAgIHNlbGYubGlicmFyeV9wYXRoID0gb3MucGF0aC5h
YnNwYXRoKHNlbGYubGlicmFyeV9wYXRoKQotCi0gICAgICAgIGlmIG5vdCBzZWxmLm1haW5fc2dt
bF9maWxlOgotICAgICAgICAgICAgc2VsZi5tYWluX3NnbWxfZmlsZSA9IHNlbGYubW9kdWxlX25h
bWUgKyAiLWRvY3Muc2dtbCIKLQotICAgIGRlZiBnZW5lcmF0ZShzZWxmLCBodG1sPVRydWUpOgot
ICAgICAgICBzZWxmLnNhd193YXJuaW5ncyA9IEZhbHNlCi0KLSAgICAgICAgc2VsZi5fY29weV9k
b2NfZmlsZXNfdG9fb3V0cHV0X2RpcihodG1sKQotICAgICAgICBzZWxmLl93cml0ZV92ZXJzaW9u
X3htbCgpCi0gICAgICAgIHNlbGYuX3J1bl9ndGtkb2Nfc2NhbigpCi0gICAgICAgIHNlbGYuX3J1
bl9ndGtkb2Nfc2NhbmdvYmooKQotICAgICAgICBzZWxmLl9ydW5fZ3RrZG9jX21rZGIoKQotCi0g
ICAgICAgIGlmIG5vdCBodG1sOgotICAgICAgICAgICAgcmV0dXJuCi0KLSAgICAgICAgc2VsZi5f
cnVuX2d0a2RvY19ta2h0bWwoKQotICAgICAgICBzZWxmLl9ydW5fZ3RrZG9jX2ZpeHhyZWYoKQot
Ci0gICAgZGVmIF9kZWxldGVfZmlsZV9pZl9leGlzdHMoc2VsZiwgcGF0aCk6Ci0gICAgICAgIGlm
IG5vdCBvcy5hY2Nlc3MocGF0aCwgb3MuRl9PSyB8IG9zLlJfT0spOgotICAgICAgICAgICAgcmV0
dXJuCi0gICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCdkZWxldGluZyAlcycsIHBhdGgpCi0gICAg
ICAgIG9zLnVubGluayhwYXRoKQotCi0gICAgZGVmIF9jcmVhdGVfZGlyZWN0b3J5X2lmX25vbmV4
aXN0ZW50KHNlbGYsIHBhdGgpOgotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBvcy5tYWtlZGly
cyhwYXRoKQotICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlcnJvcjoKLSAgICAgICAgICAgIGlm
IGVycm9yLmVycm5vICE9IGVycm5vLkVFWElTVDoKLSAgICAgICAgICAgICAgICByYWlzZQotCi0g
ICAgZGVmIF9yYWlzZV9leGNlcHRpb25faWZfZmlsZV9pbmFjY2Vzc2libGUoc2VsZiwgcGF0aCk6
Ci0gICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhwYXRoKSBvciBub3Qgb3MuYWNjZXNzKHBh
dGgsIG9zLlJfT0spOgotICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCJDb3VsZCBub3QgYWNj
ZXNzIGZpbGUgYXQ6ICVzIiAlIHBhdGgpCi0KLSAgICBkZWYgX291dHB1dF9oYXNfd2FybmluZ3Mo
c2VsZiwgb3V0cHV0cyk6Ci0gICAgICAgIGZvciBvdXRwdXQgaW4gb3V0cHV0czoKLSAgICAgICAg
ICAgIGlmIG91dHB1dCBhbmQgb3V0cHV0LmZpbmQoJ3dhcm5pbmcnKToKLSAgICAgICAgICAgICAg
ICByZXR1cm4gVHJ1ZQotICAgICAgICByZXR1cm4gRmFsc2UKLQotICAgIGRlZiBfYXNrX3llc19v
cl9ub19xdWVzdGlvbihzZWxmLCBxdWVzdGlvbik6Ci0gICAgICAgIGlmIG5vdCBzZWxmLmludGVy
YWN0aXZlOgotICAgICAgICAgICAgcmV0dXJuIFRydWUKLQotICAgICAgICBxdWVzdGlvbiArPSAn
IFt5L05dICcKLSAgICAgICAgYW5zd2VyID0gTm9uZQotICAgICAgICB3aGlsZSBhbnN3ZXIgIT0g
J3knIGFuZCBhbnN3ZXIgIT0gJ24nIGFuZCBhbnN3ZXIgIT0gJyc6Ci0gICAgICAgICAgICBhbnN3
ZXIgPSByYXdfaW5wdXQocXVlc3Rpb24pLmxvd2VyKCkKLSAgICAgICAgcmV0dXJuIGFuc3dlciA9
PSAneScKLQotICAgIGRlZiBfcnVuX2NvbW1hbmQoc2VsZiwgYXJncywgZW52PU5vbmUsIGN3ZD1O
b25lLCBwcmludF9vdXRwdXQ9VHJ1ZSwgaWdub3JlX3dhcm5pbmdzPUZhbHNlKToKLSAgICAgICAg
aWYgcHJpbnRfb3V0cHV0OgotICAgICAgICAgICAgc2VsZi5sb2dnZXIuZGVidWcoIlJ1bm5pbmcg
JXMiLCBhcmdzWzBdKQotICAgICAgICBzZWxmLmxvZ2dlci5kZWJ1ZygiRnVsbCBjb21tYW5kIGFy
Z3M6ICVzIiwgc3RyKGFyZ3MpKQotCi0gICAgICAgIHByb2Nlc3MgPSBzdWJwcm9jZXNzLlBvcGVu
KGFyZ3MsIGVudj1lbnYsIGN3ZD1jd2QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHN0ZGVycj1zdWJwcm9jZXNzLlBJUEUpCi0gICAgICAgIHN0ZG91dCwgc3RkZXJyID0g
W2IuZGVjb2RlKCJ1dGYtOCIpIGZvciBiIGluIHByb2Nlc3MuY29tbXVuaWNhdGUoKV0KLQotICAg
ICAgICBpZiBwcmludF9vdXRwdXQ6Ci0gICAgICAgICAgICBpZiBzdGRvdXQ6Ci0gICAgICAgICAg
ICAgICAgdHJ5OgotICAgICAgICAgICAgICAgICAgICBzeXMuc3Rkb3V0LndyaXRlKHN0ZG91dC5l
bmNvZGUoInV0Zi04IikpCi0gICAgICAgICAgICAgICAgZXhjZXB0IFVuaWNvZGVEZWNvZGVFcnJv
cjoKLSAgICAgICAgICAgICAgICAgICAgc3lzLnN0ZG91dC53cml0ZShzdGRvdXQpCi0gICAgICAg
ICAgICBpZiBzdGRlcnI6Ci0gICAgICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgICAg
ICBzeXMuc3RkZXJyLndyaXRlKHN0ZGVyci5lbmNvZGUoInV0Zi04IikpCi0gICAgICAgICAgICAg
ICAgZXhjZXB0IFVuaWNvZGVEZWNvZGVFcnJvcjoKLSAgICAgICAgICAgICAgICAgICAgc3lzLnN0
ZGVyci53cml0ZShzdGRlcnIpCi0KLSAgICAgICAgaWYgcHJvY2Vzcy5yZXR1cm5jb2RlICE9IDA6
Ci0gICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oJyVzIHByb2R1Y2VkIGEgbm9uLXplcm8gcmV0
dXJuIGNvZGUgJWknCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICUgKGFyZ3NbMF0sIHBy
b2Nlc3MucmV0dXJuY29kZSkpCi0KLSAgICAgICAgaWYgbm90IGlnbm9yZV93YXJuaW5ncyBhbmQg
KCd3YXJuaW5nJyBpbiBzdGRlcnIgb3IgJ3dhcm5pbmcnIGluIHN0ZG91dCk6Ci0gICAgICAgICAg
ICBzZWxmLnNhd193YXJuaW5ncyA9IFRydWUKLSAgICAgICAgICAgIGlmIG5vdCBzZWxmLl9hc2tf
eWVzX29yX25vX3F1ZXN0aW9uKCclcyBwcm9kdWNlZCB3YXJuaW5ncywgJwotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RyeSB0byBjb250aW51ZT8nICUg
YXJnc1swXSk6Ci0gICAgICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCclcyBzdGVwIGZhaWxl
ZCcgJSBhcmdzWzBdKQotCi0gICAgICAgIHJldHVybiBzdGRvdXQuc3RyaXAoKQotCi0gICAgZGVm
IF9jb3B5X2RvY19maWxlc190b19vdXRwdXRfZGlyKHNlbGYsIGh0bWw9VHJ1ZSk6Ci0gICAgICAg
IGlmIG5vdCBzZWxmLmRvY19kaXI6Ci0gICAgICAgICAgICBzZWxmLmxvZ2dlci5pbmZvKCdOb3Qg
Y29weWluZyBhbnkgZmlsZXMgZnJvbSBkb2MgZGlyZWN0b3J5LCcKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJyBiZWNhdXNlIG5vIGRvYyBkaXJlY3RvcnkgZ2l2ZW4uJykKLSAgICAgICAg
ICAgIHJldHVybgotCi0gICAgICAgIGRlZiBjb3B5X2ZpbGVfcmVwbGFjaW5nX2V4aXN0aW5nKHNy
YywgZGVzdCk6Ci0gICAgICAgICAgICBpZiBvcy5wYXRoLmlzZGlyKHNyYyk6Ci0gICAgICAgICAg
ICAgICAgc2VsZi5sb2dnZXIuZGVidWcoJ3NraXBwZWQgZGlyZWN0b3J5ICVzJywgIHNyYykKLSAg
ICAgICAgICAgICAgICByZXR1cm4KLSAgICAgICAgICAgIGlmIG5vdCBvcy5hY2Nlc3Moc3JjLCBv
cy5GX09LIHwgb3MuUl9PSyk6Ci0gICAgICAgICAgICAgICAgc2VsZi5sb2dnZXIuZGVidWcoJ3Nr
aXBwZWQgdW5yZWFkYWJsZSAlcycsIHNyYykKLSAgICAgICAgICAgICAgICByZXR1cm4KLQotICAg
ICAgICAgICAgc2VsZi5fZGVsZXRlX2ZpbGVfaWZfZXhpc3RzKGRlc3QpCi0KLSAgICAgICAgICAg
IHNlbGYubG9nZ2VyLmRlYnVnKCdjcmVhdGVkICVzJywgZGVzdCkKLSAgICAgICAgICAgIHRyeToK
LSAgICAgICAgICAgICAgICBvcy5saW5rKHNyYywgZGVzdCkKLSAgICAgICAgICAgIGV4Y2VwdCBP
U0Vycm9yOgotICAgICAgICAgICAgICAgIG9zLnN5bWxpbmsoc3JjLCBkZXN0KQotCi0gICAgICAg
IGRlZiBjb3B5X2FsbF9maWxlc19pbl9kaXJlY3Rvcnkoc3JjLCBkZXN0KToKLSAgICAgICAgICAg
IGZvciBwYXRoIGluIG9zLmxpc3RkaXIoc3JjKToKLSAgICAgICAgICAgICAgICBjb3B5X2ZpbGVf
cmVwbGFjaW5nX2V4aXN0aW5nKG9zLnBhdGguam9pbihzcmMsIHBhdGgpLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3MucGF0aC5qb2luKGRlc3QsIHBhdGgp
KQotCi0gICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCdDb3B5aW5nIHRlbXBsYXRlIGZpbGVzIHRv
IG91dHB1dCBkaXJlY3RvcnkuLi4nKQotICAgICAgICBzZWxmLl9jcmVhdGVfZGlyZWN0b3J5X2lm
X25vbmV4aXN0ZW50KHNlbGYub3V0cHV0X2RpcikKLSAgICAgICAgY29weV9hbGxfZmlsZXNfaW5f
ZGlyZWN0b3J5KHNlbGYuZG9jX2Rpciwgc2VsZi5vdXRwdXRfZGlyKQotCi0gICAgZGVmIF93cml0
ZV92ZXJzaW9uX3htbChzZWxmKToKLSAgICAgICAgaWYgbm90IHNlbGYudmVyc2lvbjoKLSAgICAg
ICAgICAgIHNlbGYubG9nZ2VyLmluZm8oJ05vIHZlcnNpb24gc3BlY2lmaWVkLCBzbyBub3Qgd3Jp
dGluZyB2ZXJzaW9uLnhtbCcpCi0gICAgICAgICAgICByZXR1cm4KLQotICAgICAgICB2ZXJzaW9u
X3htbF9wYXRoID0gb3MucGF0aC5qb2luKHNlbGYub3V0cHV0X2RpciwgJ3ZlcnNpb24ueG1sJykK
LSAgICAgICAgc3JjX3ZlcnNpb25feG1sX3BhdGggPSBvcy5wYXRoLmpvaW4oc2VsZi5kb2NfZGly
LCAndmVyc2lvbi54bWwnKQotCi0gICAgICAgICMgRG9uJ3Qgb3ZlcndyaXRlIHZlcnNpb24ueG1s
IGlmIGl0IHdhcyBpbiB0aGUgZG9jIGRpcmVjdG9yeS4KLSAgICAgICAgaWYgb3MucGF0aC5leGlz
dHModmVyc2lvbl94bWxfcGF0aCkgYW5kIFwKLSAgICAgICAgICAgb3MucGF0aC5leGlzdHMoc3Jj
X3ZlcnNpb25feG1sX3BhdGgpOgotICAgICAgICAgICAgcmV0dXJuCi0KLSAgICAgICAgb3V0cHV0
X2ZpbGUgPSBvcGVuKHZlcnNpb25feG1sX3BhdGgsICd3JykKLSAgICAgICAgb3V0cHV0X2ZpbGUu
d3JpdGUoc2VsZi52ZXJzaW9uKQotICAgICAgICBvdXRwdXRfZmlsZS5jbG9zZSgpCi0KLSAgICBk
ZWYgX2lnbm9yZWRfZmlsZXNfYmFzZW5hbWVzKHNlbGYpOgotICAgICAgICByZXR1cm4gJyAnLmpv
aW4oW29zLnBhdGguYmFzZW5hbWUoeCkgZm9yIHggaW4gc2VsZi5pZ25vcmVkX2ZpbGVzXSkKLQot
ICAgIGRlZiBfcnVuX2d0a2RvY19zY2FuKHNlbGYpOgotICAgICAgICBhcmdzID0gWydndGtkb2Mt
c2NhbicsCi0gICAgICAgICAgICAgICAgJy0tbW9kdWxlPSVzJyAlIHNlbGYubW9kdWxlX25hbWUs
Ci0gICAgICAgICAgICAgICAgJy0tcmVidWlsZC10eXBlcyddCi0KLSAgICAgICAgaWYgbm90IHNl
bGYuaGVhZGVyczoKLSAgICAgICAgICAgICMgRWFjaCBzb3VyY2UgZGlyZWN0b3J5IHNob3VsZCBi
ZSBoYXZlIGl0cyBvd24gIi0tc291cmNlLWRpcj0iIHByZWZpeC4KLSAgICAgICAgICAgIGFyZ3Mu
ZXh0ZW5kKFsnLS1zb3VyY2UtZGlyPSVzJyAlIHBhdGggZm9yIHBhdGggaW4gc2VsZi5zb3VyY2Vf
ZGlyc10pCi0KLSAgICAgICAgaWYgc2VsZi5kZWNvcmF0b3I6Ci0gICAgICAgICAgICBhcmdzLmFw
cGVuZCgnLS1pZ25vcmUtZGVjb3JhdG9ycz0lcycgJSBzZWxmLmRlY29yYXRvcikKLSAgICAgICAg
aWYgc2VsZi5kZXByZWNhdGlvbl9ndWFyZDoKLSAgICAgICAgICAgIGFyZ3MuYXBwZW5kKCctLWRl
cHJlY2F0ZWQtZ3VhcmRzPSVzJyAlIHNlbGYuZGVwcmVjYXRpb25fZ3VhcmQpCi0gICAgICAgIGlm
IHNlbGYub3V0cHV0X2RpcjoKLSAgICAgICAgICAgIGFyZ3MuYXBwZW5kKCctLW91dHB1dC1kaXI9
JXMnICUgc2VsZi5vdXRwdXRfZGlyKQotCi0gICAgICAgICMgV2Ugb25seSBuZWVkIHRvIHBhc3Mg
dGhlIGxpc3Qgb2YgaWdub3JlZCBmaWxlcyBpZiB0aGUgd2UgYXJlIG5vdCB1c2luZyBhbiBleHBs
aWNpdCBsaXN0IG9mIGhlYWRlcnMuCi0gICAgICAgIGlmIG5vdCBzZWxmLmhlYWRlcnM6Ci0gICAg
ICAgICAgICAjIGd0a2RvYy1zY2FuIHdhbnRzIHRoZSBiYXNlbmFtZXMgb2YgaWdub3JlZCBoZWFk
ZXJzLCBzbyBzdHJpcCB0aGUKLSAgICAgICAgICAgICMgZGlybmFtZS4gRGlmZmVyZW50IGZyb20g
Ii0tc291cmNlLWRpciIsIHRoZSBoZWFkZXJzIHNob3VsZCBiZQotICAgICAgICAgICAgIyBzcGVj
aWZpZWQgYXMgb25lIGxvbmcgc3RyaW5nLgotICAgICAgICAgICAgaWdub3JlZF9maWxlc19iYXNl
bmFtZXMgPSBzZWxmLl9pZ25vcmVkX2ZpbGVzX2Jhc2VuYW1lcygpCi0gICAgICAgICAgICBpZiBp
Z25vcmVkX2ZpbGVzX2Jhc2VuYW1lczoKLSAgICAgICAgICAgICAgICBhcmdzLmFwcGVuZCgnLS1p
Z25vcmUtaGVhZGVycz0lcycgJSBpZ25vcmVkX2ZpbGVzX2Jhc2VuYW1lcykKLQotICAgICAgICBp
ZiBzZWxmLmhlYWRlcnM6Ci0gICAgICAgICAgICBhcmdzLmV4dGVuZChzZWxmLmhlYWRlcnMpCi0K
LSAgICAgICAgc2VsZi5fcnVuX2NvbW1hbmQoYXJncykKLQotICAgIGRlZiBfcnVuX2d0a2RvY19z
Y2FuZ29iaihzZWxmKToKLSAgICAgICAgZW52ID0gb3MuZW52aXJvbgotICAgICAgICBsZGZsYWdz
ID0gc2VsZi5sZGZsYWdzCi0gICAgICAgIGlmIHNlbGYubGlicmFyeV9wYXRoOgotICAgICAgICAg
ICAgYWRkaXRpb25hbF9sZGZsYWdzID0gJycKLSAgICAgICAgICAgIGZvciBhcmcgaW4gZW52Lmdl
dCgnTERGTEFHUycsICcnKS5zcGxpdCgnICcpOgotICAgICAgICAgICAgICAgIGlmIGFyZy5zdGFy
dHN3aXRoKCctTCcpOgotICAgICAgICAgICAgICAgICAgICBhZGRpdGlvbmFsX2xkZmxhZ3MgPSAn
JXMgJXMnICUgKGFkZGl0aW9uYWxfbGRmbGFncywgYXJnKQotICAgICAgICAgICAgbGRmbGFncyA9
ICcgIi1MJXMiICVzICcgJSAoc2VsZi5saWJyYXJ5X3BhdGgsIGFkZGl0aW9uYWxfbGRmbGFncykg
KyBsZGZsYWdzCi0gICAgICAgICAgICBjdXJyZW50X2xkX2xpYnJhcnlfcGF0aCA9IGVudi5nZXQo
J0xEX0xJQlJBUllfUEFUSCcpCi0gICAgICAgICAgICBpZiBjdXJyZW50X2xkX2xpYnJhcnlfcGF0
aDoKLSAgICAgICAgICAgICAgICBlbnZbJ0xEX0xJQlJBUllfUEFUSCddID0gJyVzOiVzJyAlIChz
ZWxmLmxpYnJhcnlfcGF0aCwgY3VycmVudF9sZF9saWJyYXJ5X3BhdGgpCi0gICAgICAgICAgICBl
bHNlOgotICAgICAgICAgICAgICAgIGVudlsnTERfTElCUkFSWV9QQVRIJ10gPSBzZWxmLmxpYnJh
cnlfcGF0aAotCi0gICAgICAgIGlmIGxkZmxhZ3M6Ci0gICAgICAgICAgICBlbnZbJ0xERkxBR1Mn
XSA9ICclcyAlcycgJSAobGRmbGFncywgZW52LmdldCgnTERGTEFHUycsICcnKSkKLSAgICAgICAg
aWYgc2VsZi5jZmxhZ3M6Ci0gICAgICAgICAgICBlbnZbJ0NGTEFHUyddID0gJyVzICVzJyAlIChz
ZWxmLmNmbGFncywgZW52LmdldCgnQ0ZMQUdTJywgJycpKQotCi0gICAgICAgIGlmICdDRkxBR1Mn
IGluIGVudjoKLSAgICAgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCdDRkxBR1M9JXMnLCBlbnZb
J0NGTEFHUyddKQotICAgICAgICBpZiAnTERGTEFHUycgaW4gZW52OgotICAgICAgICAgICAgc2Vs
Zi5sb2dnZXIuZGVidWcoJ0xERkxBR1MgJXMnLCBlbnZbJ0xERkxBR1MnXSkKLSAgICAgICAgc2Vs
Zi5fcnVuX2NvbW1hbmQoWydndGtkb2Mtc2NhbmdvYmonLCAnLS1tb2R1bGU9JXMnICUgc2VsZi5t
b2R1bGVfbmFtZV0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGVudj1lbnYsIGN3ZD1zZWxm
Lm91dHB1dF9kaXIpCi0KLSAgICBkZWYgX3J1bl9ndGtkb2NfbWtkYihzZWxmKToKLSAgICAgICAg
c2dtbF9maWxlID0gb3MucGF0aC5qb2luKHNlbGYub3V0cHV0X2Rpciwgc2VsZi5tYWluX3NnbWxf
ZmlsZSkKLSAgICAgICAgc2VsZi5fcmFpc2VfZXhjZXB0aW9uX2lmX2ZpbGVfaW5hY2Nlc3NpYmxl
KHNnbWxfZmlsZSkKLQotICAgICAgICBhcmdzID0gWydndGtkb2MtbWtkYicsCi0gICAgICAgICAg
ICAgICAgJy0tbW9kdWxlPSVzJyAlIHNlbGYubW9kdWxlX25hbWUsCi0gICAgICAgICAgICAgICAg
Jy0tbWFpbi1zZ21sLWZpbGU9JXMnICUgc2dtbF9maWxlLAotICAgICAgICAgICAgICAgICctLXNv
dXJjZS1zdWZmaXhlcz1oLGMsY3BwLGNjJywKLSAgICAgICAgICAgICAgICAnLS1vdXRwdXQtZm9y
bWF0PXhtbCcsCi0gICAgICAgICAgICAgICAgJy0tc2dtbC1tb2RlJ10KLQotICAgICAgICBpZiBz
ZWxmLm5hbWVzcGFjZToKLSAgICAgICAgICAgIGFyZ3MuYXBwZW5kKCctLW5hbWUtc3BhY2U9JXMn
ICUgc2VsZi5uYW1lc3BhY2UpCi0KLSAgICAgICAgaWdub3JlZF9maWxlc19iYXNlbmFtZXMgPSBz
ZWxmLl9pZ25vcmVkX2ZpbGVzX2Jhc2VuYW1lcygpCi0gICAgICAgIGlmIGlnbm9yZWRfZmlsZXNf
YmFzZW5hbWVzOgotICAgICAgICAgICAgYXJncy5hcHBlbmQoJy0taWdub3JlLWZpbGVzPSVzJyAl
IGlnbm9yZWRfZmlsZXNfYmFzZW5hbWVzKQotCi0gICAgICAgICMgRWFjaCBkaXJlY3Rvcnkgc2hv
dWxkIGJlIGhhdmUgaXRzIG93biAiLS1zb3VyY2UtZGlyPSIgcHJlZml4LgotICAgICAgICBhcmdz
LmV4dGVuZChbJy0tc291cmNlLWRpcj0lcycgJSBwYXRoIGZvciBwYXRoIGluIHNlbGYuc291cmNl
X2RpcnNdKQotICAgICAgICBzZWxmLl9ydW5fY29tbWFuZChhcmdzLCBjd2Q9c2VsZi5vdXRwdXRf
ZGlyKQotCi0gICAgZGVmIF9ydW5fZ3RrZG9jX21raHRtbChzZWxmKToKLSAgICAgICAgIyBndGtk
b2MtZml4eHJlZiBleHBlY3RzIHRoZSBwYXRocyB0byBiZSBodG1sL21vZHVsZW5hbWUuCi0gICAg
ICAgIGh0bWxfZGVzdF9kaXIgPSBvcy5wYXRoLmpvaW4oc2VsZi5vdXRwdXRfZGlyLCAnaHRtbCcs
IHNlbGYubW9kdWxlX25hbWUpCi0gICAgICAgIHNlbGYuX2NyZWF0ZV9kaXJlY3RvcnlfaWZfbm9u
ZXhpc3RlbnQoaHRtbF9kZXN0X2RpcikKLSAgICAgICAgaWYgbm90IG9zLnBhdGguaXNkaXIoaHRt
bF9kZXN0X2Rpcik6Ci0gICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIiVzIGlzIG5vdCBhIGRp
cmVjdG9yeSwgY291bGQgbm90IGdlbmVyYXRlIEhUTUwiCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJSBodG1sX2Rlc3RfZGlyKQotICAgICAgICBlbGlmIG5vdCBvcy5hY2Nlc3MoaHRtbF9k
ZXN0X2Rpciwgb3MuWF9PSyB8IG9zLlJfT0sgfCBvcy5XX09LKToKLSAgICAgICAgICAgIHJhaXNl
IEV4Y2VwdGlvbigiQ291bGQgbm90IGFjY2VzcyAlcyB0byBnZW5lcmF0ZSBIVE1MIgotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICUgaHRtbF9kZXN0X2RpcikKLQotICAgICAgICAjIGd0a2Rv
Yy1ta2h0bWwgZXhwZWN0cyB0aGUgU0dNTCBwYXRoIHRvIGJlIGFic29sdXRlLgotICAgICAgICBz
Z21sX2ZpbGUgPSBvcy5wYXRoLmpvaW4ob3MucGF0aC5hYnNwYXRoKHNlbGYub3V0cHV0X2Rpciks
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLm1haW5fc2dtbF9maWxlKQot
ICAgICAgICBzZWxmLl9yYWlzZV9leGNlcHRpb25faWZfZmlsZV9pbmFjY2Vzc2libGUoc2dtbF9m
aWxlKQotCi0gICAgICAgIHNlbGYuX3J1bl9jb21tYW5kKFsnZ3RrZG9jLW1raHRtbCcsIHNlbGYu
bW9kdWxlX25hbWUsIHNnbWxfZmlsZV0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGN3ZD1o
dG1sX2Rlc3RfZGlyKQotCi0gICAgZGVmIF9ydW5fZ3RrZG9jX2ZpeHhyZWYoc2VsZik6Ci0gICAg
ICAgIGFyZ3MgPSBbJ2d0a2RvYy1maXh4cmVmJywKLSAgICAgICAgICAgICAgICAnLS1tb2R1bGU9
JXMnICUgc2VsZi5tb2R1bGVfbmFtZSwKLSAgICAgICAgICAgICAgICAnLS1tb2R1bGUtZGlyPWh0
bWwvJXMnICUgc2VsZi5tb2R1bGVfbmFtZV0KLSAgICAgICAgYXJncy5leHRlbmQoWyctLWV4dHJh
LWRpcj0lcycgJSBleHRyYV9kaXIgZm9yIGV4dHJhX2RpciBpbiBzZWxmLmNyb3NzX3JlZmVyZW5j
ZV9kZXBzXSkKLSAgICAgICAgc2VsZi5fcnVuX2NvbW1hbmQoYXJncywgY3dkPXNlbGYub3V0cHV0
X2RpciwgaWdub3JlX3dhcm5pbmdzPVRydWUpCi0KLSAgICAgICAgIyBndGtkb2MtZml4eHJlZiBo
YXMgc29tZSBwcmVkZWZpbmVkIGxpbmtzIGZvciB3aGljaCBpdCBhbHdheXMgdXNlcyBhYnNvbHV0
ZSBwYXRocy4KLSAgICAgICAgaHRtbF9kaXJfcHJlZml4ID0gb3MucGF0aC5qb2luKHNlbGYudmly
dHVhbF9yb290ICsgc2VsZi5wcmVmaXgsICdzaGFyZScsICdndGstZG9jJywgJ2h0bWwnKQotICAg
ICAgICBtb2R1bGVfZGlyID0gb3MucGF0aC5qb2luKHNlbGYub3V0cHV0X2RpciwgJ2h0bWwnLCBz
ZWxmLm1vZHVsZV9uYW1lKQotICAgICAgICBmb3IgZW50cnkgaW4gb3MubGlzdGRpcihtb2R1bGVf
ZGlyKToKLSAgICAgICAgICAgIGlmIG5vdCBlbnRyeS5lbmRzd2l0aCgnLmh0bWwnKToKLSAgICAg
ICAgICAgICAgICBjb250aW51ZQotCi0gICAgICAgICAgICBmaWxlbmFtZSA9IG9zLnBhdGguam9p
bihtb2R1bGVfZGlyLCBlbnRyeSkKLSAgICAgICAgICAgIGNvbnRlbnRzID0gJycKLSAgICAgICAg
ICAgIHdpdGggY29kZWNzLm9wZW4oZmlsZW5hbWUsICdyJywgZW5jb2Rpbmc9J3V0Zi04JykgYXMg
ZjoKLSAgICAgICAgICAgICAgICBjb250ZW50cyA9IGYucmVhZCgpCi0KLSAgICAgICAgICAgIGlm
IG5vdCBodG1sX2Rpcl9wcmVmaXggaW4gY29udGVudHM6Ci0gICAgICAgICAgICAgICAgY29udGlu
dWUKLQotICAgICAgICAgICAgdG1wX2ZpbGVuYW1lID0gZmlsZW5hbWUgKyAnLm5ldycKLSAgICAg
ICAgICAgIG5ld19jb250ZW50cyA9IGNvbnRlbnRzLnJlcGxhY2UoaHRtbF9kaXJfcHJlZml4LCAn
Li4nKQotICAgICAgICAgICAgd2l0aCBjb2RlY3Mub3Blbih0bXBfZmlsZW5hbWUsICd3JywgZW5j
b2Rpbmc9J3V0Zi04JykgYXMgZjoKLSAgICAgICAgICAgICAgICBmLndyaXRlKG5ld19jb250ZW50
cykKLQotICAgICAgICAgICAgb3MucmVuYW1lKHRtcF9maWxlbmFtZSwgZmlsZW5hbWUpCi0KLSAg
ICBkZWYgcmViYXNlX2luc3RhbGxlZF9kb2NzKHNlbGYpOgotICAgICAgICBpZiBub3Qgb3MucGF0
aC5pc2RpcihzZWxmLm91dHB1dF9kaXIpOgotICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCJU
cmllZCB0byByZWJhc2UgZG9jdW1lbnRhdGlvbiBiZWZvcmUgZ2VuZXJhdGluZyBpdC4iKQotICAg
ICAgICBodG1sX2RpciA9IG9zLnBhdGguam9pbihzZWxmLnZpcnR1YWxfcm9vdCArIHNlbGYucHJl
Zml4LCAnc2hhcmUnLCAnZ3RrLWRvYycsICdodG1sJywgc2VsZi5tb2R1bGVfbmFtZSkKLSAgICAg
ICAgaWYgbm90IG9zLnBhdGguaXNkaXIoaHRtbF9kaXIpOgotICAgICAgICAgICAgcmV0dXJuCi0g
ICAgICAgIGFyZ3MgPSBbJ2d0a2RvYy1yZWJhc2UnLAotICAgICAgICAgICAgICAgICctLXJlbGF0
aXZlJywKLSAgICAgICAgICAgICAgICAnLS1odG1sLWRpcj0lcycgJSBodG1sX2Rpcl0KLSAgICAg
ICAgYXJncy5leHRlbmQoWyctLW90aGVyLWRpcj0lcycgJSBleHRyYV9kaXIgZm9yIGV4dHJhX2Rp
ciBpbiBzZWxmLmNyb3NzX3JlZmVyZW5jZV9kZXBzXSkKLSAgICAgICAgaWYgc2VsZi52aXJ0dWFs
X3Jvb3Q6Ci0gICAgICAgICAgICBhcmdzLmV4dGVuZChbJy0tZGVzdC1kaXI9JXMnICUgc2VsZi52
aXJ0dWFsX3Jvb3RdKQotICAgICAgICBzZWxmLl9ydW5fY29tbWFuZChhcmdzLCBjd2Q9c2VsZi5v
dXRwdXRfZGlyKQotCi0gICAgZGVmIGFwaV9taXNzaW5nX2RvY3VtZW50YXRpb24oc2VsZik6Ci0g
ICAgICAgIHVudXNlZF9kb2NfZmlsZSA9IG9zLnBhdGguam9pbihzZWxmLm91dHB1dF9kaXIsIHNl
bGYubW9kdWxlX25hbWUgKyAiLXVudXNlZC50eHQiKQotICAgICAgICBpZiBub3Qgb3MucGF0aC5l
eGlzdHModW51c2VkX2RvY19maWxlKSBvciBub3Qgb3MuYWNjZXNzKHVudXNlZF9kb2NfZmlsZSwg
b3MuUl9PSyk6Ci0gICAgICAgICAgICByZXR1cm4gW10KLSAgICAgICAgcmV0dXJuIG9wZW4odW51
c2VkX2RvY19maWxlKS5yZWFkKCkuc3BsaXRsaW5lcygpCi0KLWNsYXNzIFBrZ0NvbmZpZ0dUS0Rv
YyhHVEtEb2MpOgotCi0gICAgIiIiQ2xhc3MgcmVhZHMgYSBsaWJyYXJ5J3MgcGtnY29uZmlnIGZp
bGUgdG8gZ3Vlc3MgZ3RrZG9jIHBhcmFtZXRlcnMuCi0KLSAgICBTb21lIGd0a2RvYyBwYXJhbWV0
ZXJzIGNhbiBiZSBndWVzc2VkIGJ5IHJlYWRpbmcgYSBsaWJyYXJ5J3MgcGtnY29uZmlnCi0gICAg
ZmlsZSwgaW5jbHVkaW5nIHRoZSBjZmxhZ3MsIGxkZmxhZ3MgYW5kIHZlcnNpb24gcGFyYW1ldGVy
cy4gSWYgeW91Ci0gICAgcHJvdmlkZSB0aGVzZSBwYXJhbWV0ZXJzIGFzIHdlbGwsIHRoZXkgd2ls
bCBiZSBhcHBlbmRlZCB0byB0aGUgb25lcwotICAgIGd1ZXNzZWQgdmlhIHRoZSBwa2djb25maWcg
ZmlsZS4KLQotICAgIEtleXdvcmQgYXJndW1lbnRzOgotICAgICAgcGtnX2NvbmZpZ19wYXRoIC0t
IFBhdGggdG8gdGhlIHBrZ2NvbmZpZyBmaWxlIGZvciB0aGUgbGlicmFyeS4gUmVxdWlyZWQuCi0g
ICAgIiIiCi0KLSAgICBkZWYgX19pbml0X18oc2VsZiwgcGtnX2NvbmZpZ19wYXRoLCBhcmdzKToK
LSAgICAgICAgc3VwZXIoUGtnQ29uZmlnR1RLRG9jLCBzZWxmKS5fX2luaXRfXyhhcmdzKQotCi0g
ICAgICAgIHBrZ19jb25maWcgPSBvcy5lbnZpcm9uLmdldCgnUEtHX0NPTkZJRycsICdwa2ctY29u
ZmlnJykKLQotICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMocGtnX2NvbmZpZ19wYXRoKToK
LSAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbignQ291bGQgbm90IGZpbmQgcGtnLWNvbmZpZyBm
aWxlIGF0OiAlcycKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAlIHBrZ19jb25maWdfcGF0
aCkKLQotICAgICAgICBzZWxmLmNmbGFncyArPSAiICIgKyBzZWxmLl9ydW5fY29tbWFuZChbcGtn
X2NvbmZpZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHBrZ19jb25maWdfcGF0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICctLWNmbGFncyddLCBwcmludF9vdXRwdXQ9RmFsc2UpCi0gICAgICAgIHNlbGYu
bGRmbGFncyArPSAiICIgKyBzZWxmLl9ydW5fY29tbWFuZChbcGtnX2NvbmZpZywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBrZ19jb25maWdfcGF0aCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLWxpYnMn
XSwgcHJpbnRfb3V0cHV0PUZhbHNlKQotICAgICAgICBzZWxmLnZlcnNpb24gPSBzZWxmLl9ydW5f
Y29tbWFuZChbcGtnX2NvbmZpZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHBrZ19jb25maWdfcGF0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICctLW1vZHZlcnNpb24nXSwgcHJpbnRfb3V0cHV0PUZhbHNlKQotICAgICAgICBz
ZWxmLnByZWZpeCA9IHNlbGYuX3J1bl9jb21tYW5kKFtwa2dfY29uZmlnLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwa2dfY29uZmlnX3BhdGgsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLXZhcmlhYmxlPXByZWZpeCddLCBwcmlu
dF9vdXRwdXQ9RmFsc2UpCmRpZmYgLS1naXQgYS9Ub29scy9ndGtkb2MvZ2VuZXJhdGUtZ3RrZG9j
IGIvVG9vbHMvZ3RrZG9jL2dlbmVyYXRlLWd0a2RvYwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jYjk4Mzc2YzMwNWZm
MzJlYTIyZWY2Y2YwMTY4Y2IzMTA2YTU5ZTBlCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvZ3Rr
ZG9jL2dlbmVyYXRlLWd0a2RvYwpAQCAtMCwwICsxLDI0NCBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0
aG9uCisjIENvcHlyaWdodCAoQykgMjAxMSBJZ2FsaWEgUy5MLgorIworIyBUaGlzIGxpYnJhcnkg
aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisjIG1vZGlm
eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyMg
TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0
aGVyCisjIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkg
bGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo
b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg
d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBv
ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisjIExlc3Nl
ciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisjIFlvdSBzaG91
bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMK
KyMgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUg
RnJlZSBTb2Z0d2FyZQorIyBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZp
ZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKKworZnJvbSBfX2Z1dHVyZV9f
IGltcG9ydCBwcmludF9mdW5jdGlvbgorZnJvbSBDb25maWdQYXJzZXIgaW1wb3J0IFNhZmVDb25m
aWdQYXJzZXIKKworaW1wb3J0IGFyZ3BhcnNlCitpbXBvcnQgY29kZWNzCitpbXBvcnQgZ2xvYgor
aW1wb3J0IGd0a2RvYworaW1wb3J0IGxvZ2dpbmcKK2ltcG9ydCBvcy5wYXRoCitpbXBvcnQgc3lz
CisKK3RvcF9sZXZlbF9kaXJlY3RvcnkgPSBvcy5wYXRoLm5vcm1wYXRoKG9zLnBhdGguam9pbihv
cy5wYXRoLmRpcm5hbWUoX19maWxlX18pLCAnLi4nLCAnLi4nKSkKK3N5cy5wYXRoLmluc2VydCgw
LCBvcy5wYXRoLmpvaW4odG9wX2xldmVsX2RpcmVjdG9yeSwgJ1Rvb2xzJywgJ2dsaWInKSkKK2lt
cG9ydCBjb21tb24KKworc3lzLnN0ZG91dCA9IGNvZGVjcy5nZXR3cml0ZXIoInV0Zi04Iikoc3lz
LnN0ZG91dCkKK3N5cy5zdGRlcnIgPSBjb2RlY3MuZ2V0d3JpdGVyKCJ1dGYtOCIpKHN5cy5zdGRl
cnIpCisKK2RlZiBjb25maWd1cmVfbG9nZ2luZyh2ZXJib3NlKToKKyAgICBsZXZlbCA9IGxvZ2dp
bmcuREVCVUcgaWYgdmVyYm9zZSBlbHNlIGxvZ2dpbmcuSU5GTworICAgIGxvZ2dlciA9IGxvZ2dp
bmcuZ2V0TG9nZ2VyKCdndGtkb2MnKQorICAgIGxvZ2dlci5zZXRMZXZlbChsZXZlbCkKKyAgICBo
YW5kbGVyID0gbG9nZ2luZy5TdHJlYW1IYW5kbGVyKCkKKyAgICBoYW5kbGVyLnNldExldmVsKGxl
dmVsKQorICAgIGxvZ2dlci5hZGRIYW5kbGVyKGhhbmRsZXIpCisgICAgaWYgbGV2ZWwgPT0gbG9n
Z2luZy5ERUJVRzoKKyAgICAgICAgaGFuZGxlci5zZXRGb3JtYXR0ZXIobG9nZ2luZy5Gb3JtYXR0
ZXIoJ1slKGFzY3RpbWUpc10gICUobWVzc2FnZSlzJykpCisgICAgZWxzZToKKyAgICAgICAgaGFu
ZGxlci5zZXRGb3JtYXR0ZXIobG9nZ2luZy5Gb3JtYXR0ZXIoJyUobWVzc2FnZSlzJykpCisKK2Rl
ZiBnZXRfZ3RrZG9jX21vZHVsZV9wYXRocyhjcm9zc19yZWZlcmVuY2VfZGVwcyk6CisgICAgZGVw
ZW5kZW50X3BhY2thZ2VzID0geworICAgICAgICAnZ2xpYi0yLjAnIDogWydnbGliJywgJ2dvYmpl
Y3QnLCAnZ2lvJ10sCisgICAgICAgICdsaWJzb3VwLTIuNCcgOiBbJ2xpYnNvdXAtMi40J10KKyAg
ICB9CisKKyAgICBpZiBhcmd1bWVudHMuZ3RrOgorICAgICAgICBkZXBlbmRlbnRfcGFja2FnZXNb
J2dkay1waXhidWYtMi4wJ10gPSBbJ2dkay1waXhidWYnXQorICAgICAgICBkZXBlbmRlbnRfcGFj
a2FnZXNbJ2d0aystMy4wJ10gPSBbJ2d0azMnLCAnZ2RrMyddCisKKyAgICBwYXRocyA9IFtdCisg
ICAgaHRtbF9kaXIgPSBvcy5wYXRoLmpvaW4oJ3NoYXJlJywgJ2d0ay1kb2MnLCAnaHRtbCcpCisg
ICAgZm9yIHBhY2thZ2UsIG1vZHVsZXMgaW4gZGVwZW5kZW50X3BhY2thZ2VzLml0ZXJpdGVtcygp
OgorICAgICAgICBwcmVmaXggPSBjb21tb24ucHJlZml4X29mX3BrZ19jb25maWdfZmlsZShwYWNr
YWdlKQorICAgICAgICBpZiBwcmVmaXggaXMgTm9uZToKKyAgICAgICAgICAgIGNvbnRpbnVlCisg
ICAgICAgIGZvciBtb2R1bGUgaW4gbW9kdWxlczoKKyAgICAgICAgICAgIHBhdGhzLmFwcGVuZChv
cy5wYXRoLmpvaW4ocHJlZml4LCBodG1sX2RpciwgbW9kdWxlKSkKKworICAgIGZvciBsb2NhbF9k
ZXAgaW4gY3Jvc3NfcmVmZXJlbmNlX2RlcHM6CisgICAgICAgIHBhdGhzLmFwcGVuZChjb21tb24u
YnVpbGRfcGF0aCgnRG9jdW1lbnRhdGlvbicsIGxvY2FsX2RlcCwgJ2h0bWwnKSkKKyAgICByZXR1
cm4gcGF0aHMKKworZGVmIHByaW50X21pc3NpbmdfYXBpKGdlbmVyYXRvcik6CisgICAgbWlzc2lu
Z19hcGkgPSBnZW5lcmF0b3IuYXBpX21pc3NpbmdfZG9jdW1lbnRhdGlvbigpCisgICAgaWYgbm90
IG1pc3NpbmdfYXBpOgorICAgICAgICByZXR1cm4KKyAgICBwcmludCgiXG5UaGUgZm9sbG93aW5n
IEFQSSBhcmUgbWlzc2luZyBkb2N1bWVudGF0aW9uOiIpCisgICAgZm9yIGFwaSBpbiBtaXNzaW5n
X2FwaToKKyAgICAgICAgcHJpbnQoIlx0ezB9Ii5mb3JtYXQoYXBpKSkKKworZGVmIGZpbGVzX3Rv
X2lnbm9yZShzb3VyY2VfZGlycywgaGVhZGVyc193aXRoX2d0a2RvYyk6CisgICAgIiIiCisgICAg
RmluZCBmaWxlcyB0byBpZ25vcmUgZHVyaW5nIGRvY3VtZW50YXRpb24gZ2VuZXJhdGlvbi4gV2Ug
YXNzdW1lIHRoYXQgaWYgYW4KKyAgICBpbXBsZW1lbnRhdGlvbiBmaWxlIGV4aXN0cyBmb3IgYSBo
ZWFkZXIgd2l0aCBndGtkb2MgKHNheSB3ZWJraXRmb28uY3BwIGZvcgorICAgIHdlYmtpdGZvby5o
KSB3ZSBzaG91bGRuJ3QgaWdub3JlIHRoYXQgZmlsZS4gQ3VycmVudGx5IHRoaXMgaG9sZHMgdHJ1
ZSBmb3IgYWxsCisgICAgb2YgdGhlIFdlYktpdCBwcm9qZWN0LgorICAgICIiIgorICAgIGltcGxl
bWVudGF0aW9uX2ZpbGVzID0gbGlzdChoZWFkZXJzX3dpdGhfZ3RrZG9jKQorICAgIGZvciBoZWFk
ZXIgaW4gaGVhZGVyc193aXRoX2d0a2RvYzoKKyAgICAgICAgZGVmIGFkZF9maWxlX2lmX2V4aXN0
cyhmaWxlbmFtZSk6CisgICAgICAgICAgICBmb3IgZGlyIGluIHNvdXJjZV9kaXJzOgorICAgICAg
ICAgICAgICAgIGZpbGUgPSBvcy5wYXRoLmpvaW4oZGlyLCBmaWxlbmFtZSkKKyAgICAgICAgICAg
ICAgICBpZiBvcy5wYXRoLmlzZmlsZShmaWxlKToKKyAgICAgICAgICAgICAgICAgICAgaW1wbGVt
ZW50YXRpb25fZmlsZXMuYXBwZW5kKG9zLnBhdGguYWJzcGF0aChmaWxlKSkKKyAgICAgICAgaGVh
ZGVyX2Jhc2VuYW1lX3dpdGhvdXRfZXh0ZW5zaW9uID0gb3MucGF0aC5zcGxpdGV4dChvcy5wYXRo
LmJhc2VuYW1lKGhlYWRlcikpWzBdCisgICAgICAgIGFkZF9maWxlX2lmX2V4aXN0cyhoZWFkZXJf
YmFzZW5hbWVfd2l0aG91dF9leHRlbnNpb24gKyAiLmNwcCIpCisgICAgICAgIGFkZF9maWxlX2lm
X2V4aXN0cyhoZWFkZXJfYmFzZW5hbWVfd2l0aG91dF9leHRlbnNpb24gKyAiR3RrLmNwcCIpCisg
ICAgICAgIGFkZF9maWxlX2lmX2V4aXN0cyhoZWFkZXJfYmFzZW5hbWVfd2l0aG91dF9leHRlbnNp
b24gKyAiLmMiKQorCisgICAgZGVmIGZpbGVfc2hvdWxkX2JlX2lnbm9yZWQoZmlsZSk6CisgICAg
ICAgIGlmIG9zLnBhdGguc3BsaXRleHQoZmlsZSlbMV0gbm90IGluIFsnLmgnLCAnLmMnLCAnLmNw
cCcsICcuY2MnXToKKyAgICAgICAgICAgIHJldHVybiBGYWxzZSAjIFRoZXNlIGZpbGVzIGFyZSBp
Z25vcmVkIGFueXdheS4KKyAgICAgICAgaWYgbm90IG9zLnBhdGguaXNmaWxlKGZpbGUpOgorICAg
ICAgICAgICAgcmV0dXJuIFRydWUKKyAgICAgICAgcmV0dXJuIG9zLnBhdGguYWJzcGF0aChmaWxl
KSBub3QgaW4gaW1wbGVtZW50YXRpb25fZmlsZXMKKworICAgIGFsbF9maWxlcyA9IHN1bShbW29z
LnBhdGguam9pbihkaXIsIGZpbGUpIGZvciBmaWxlIGluIG9zLmxpc3RkaXIoZGlyKV0gZm9yIGRp
ciBpbiBzb3VyY2VfZGlyc10sIFtdKQorICAgIHJldHVybiBmaWx0ZXIoZmlsZV9zaG91bGRfYmVf
aWdub3JlZCwgYWxsX2ZpbGVzKQorCitkZWYgZ2V0X2dlbmVyYXRvcl9mb3JfY29uZmlnKGNvbmZp
Z19maWxlLCB2aXJ0dWFsX3Jvb3QsIGNyb3NzX3JlZmVyZW5jZV9kZXBzID0gW10pOgorICAgIGlm
IG5vdCBvcy5wYXRoLmlzZmlsZShjb25maWdfZmlsZSk6CisgICAgICAgIHJldHVybiBOb25lCisK
KyAgICBjb25maWcgPSBTYWZlQ29uZmlnUGFyc2VyKCkKKyAgICBjb25maWcucmVhZChjb25maWdf
ZmlsZSkKKyAgICBtb2R1bGVfbmFtZSA9IGNvbmZpZy5zZWN0aW9ucygpWzBdCisgICAgcGtnY29u
ZmlnX2ZpbGUgPSBjb25maWcuZ2V0KG1vZHVsZV9uYW1lLCAncGtnY29uZmlnX2ZpbGUnKQorCisg
ICAgaWYgbm90IG9zLnBhdGguaXNmaWxlKHBrZ2NvbmZpZ19maWxlKToKKyAgICAgICAgcmV0dXJu
IE5vbmUKKworICAgIHNvdXJjZV9kaXJzID0gY29uZmlnLmdldChtb2R1bGVfbmFtZSwgJ3NvdXJj
ZV9kaXJzJykucmVwbGFjZSgnOycsICcgJykuc3BsaXQoKQorICAgIGhlYWRlcnMgPSBbb3MucGF0
aC5hYnNwYXRoKGYpIGZvciBmIGluIGNvbmZpZy5nZXQobW9kdWxlX25hbWUsICdoZWFkZXJzJyku
cmVwbGFjZSgnOycsICcgJykuc3BsaXQoKV0KKyAgICByZXR1cm4gZ3RrZG9jLlBrZ0NvbmZpZ0dU
S0RvYyhwa2djb25maWdfZmlsZSwgeworICAgICAgICAnZGVjb3JhdG9yJzogY29uZmlnLmdldCht
b2R1bGVfbmFtZSwgJ2RlY29yYXRvcicpLAorICAgICAgICAnZGVwcmVjYXRpb25fZ3VhcmQnOiBj
b25maWcuZ2V0KG1vZHVsZV9uYW1lLCAnZGVwcmVjYXRpb25fZ3VhcmQnKSwKKyAgICAgICAgJ2xp
YnJhcnlfcGF0aCc6IGNvbW1vbi5saWJyYXJ5X2J1aWxkX3BhdGgoKSwKKyAgICAgICAgJ3ZpcnR1
YWxfcm9vdCc6IHZpcnR1YWxfcm9vdCwKKyAgICAgICAgJ21vZHVsZV9uYW1lJzogbW9kdWxlX25h
bWUsCisgICAgICAgICduYW1lc3BhY2UnOiBjb25maWcuZ2V0KG1vZHVsZV9uYW1lLCAnbmFtZXNw
YWNlJyksCisgICAgICAgICdkb2NfZGlyJzogY29uZmlnLmdldChtb2R1bGVfbmFtZSwgJ2RvY19k
aXInKSwKKyAgICAgICAgJ291dHB1dF9kaXInOiBjb21tb24uYnVpbGRfcGF0aCgnRG9jdW1lbnRh
dGlvbicsIG1vZHVsZV9uYW1lKSwKKyAgICAgICAgJ21haW5fc2dtbF9maWxlJzogY29uZmlnLmdl
dChtb2R1bGVfbmFtZSwgJ21haW5fc2dtbF9maWxlJyksCisgICAgICAgICdzb3VyY2VfZGlycyc6
IHNvdXJjZV9kaXJzLAorICAgICAgICAnaGVhZGVycyc6IGhlYWRlcnMsCisgICAgICAgICdjZmxh
Z3MnOiAiICIuam9pbihjb25maWcuZ2V0KG1vZHVsZV9uYW1lLCAnY2ZsYWdzJykuc3BsaXQoKSks
CisgICAgICAgICdjcm9zc19yZWZlcmVuY2VfZGVwcyc6IGdldF9ndGtkb2NfbW9kdWxlX3BhdGhz
KGNyb3NzX3JlZmVyZW5jZV9kZXBzKSwKKyAgICAgICAgJ2lnbm9yZWRfZmlsZXMnOiBmaWxlc190
b19pZ25vcmUoc291cmNlX2RpcnMsIGhlYWRlcnMpLAorICAgIH0pCisKK2RlZiBnZW5lcmF0ZV9k
b2MoZ2VuZXJhdG9yLCBza2lwX2h0bWwpOgorICAgIGdlbmVyYXRvci5nZW5lcmF0ZShub3Qgc2tp
cF9odG1sKQorICAgIGlmIGdlbmVyYXRvci5zYXdfd2FybmluZ3M6CisgICAgICAgIHByaW50X21p
c3NpbmdfYXBpKGdlbmVyYXRvcikKKyAgICByZXR1cm4gZ2VuZXJhdG9yLnNhd193YXJuaW5ncwor
CitkZWYgcmViYXNlX2RvYyhnZW5lcmF0b3IpOgorICAgIHRyeToKKyAgICAgICAgZ2VuZXJhdG9y
LnJlYmFzZV9pbnN0YWxsZWRfZG9jcygpCisgICAgZXhjZXB0IEV4Y2VwdGlvbjoKKyAgICAgICAg
cHJpbnQoIlJlYmFzZSBkaWQgbm90IGhhcHBlbiwgbGlrZWx5IG5vIGRvY3VtZW50YXRpb24gaXMg
cHJlc2VudC4iKQorCitkZWYgZ2VuZXJhdGVfZG9jdW1lbnRhdGlvbihnZW5lcmF0b3IpOgorICAg
IGlmIG5vdCBhcmd1bWVudHMucmViYXNlOgorICAgICAgICByZXR1cm4gZ2VuZXJhdGVfZG9jKGdl
bmVyYXRvciwgYXJndW1lbnRzLnNraXBfaHRtbCkKKworICAgIHJlYmFzZV9kb2MoZ2VuZXJhdG9y
KQorICAgIHJldHVybiBGYWxzZQorCitkZWYgcHJlcGFyZV9lbnZpcm9ubWVudF9mb3JfZ3RrZG9j
X2dlbmVyYXRpb24oKToKKyAgICAjIFdlIG5lZWQgdG8gYWRkIHRoZSBKYXZhU2NyaXB0Q29yZSBi
dWlsZCBkaXJlY3RvcnkgdG8gdGhlIFBLR19DT05GSUdfUEFUSAorICAgICMgc28gdGhhdCBwa2dj
b25maWcgY2FuIHByb3Blcmx5IHJlc29sdmUgdGhlIGxpYmphdmFzY3JpcHRjb3JlIGRlcGVuZGVu
Y3kuCisgICAgcGtnX2NvbmZpZ19wYXRoID0gb3MuZW52aXJvbi5nZXQoIlBLR19DT05GSUdfUEFU
SCIpCisgICAgb3MuZW52aXJvblsnUEtHX0NPTkZJR19QQVRIJ10gPSBjb21tb24uYnVpbGRfcGF0
aCgnU291cmNlJywgJ0phdmFTY3JpcHRDb3JlJykKKyAgICBpZiBwa2dfY29uZmlnX3BhdGg6Cisg
ICAgICAgIG9zLmVudmlyb25bJ1BLR19DT05GSUdfUEFUSCddICs9ICc6JyArIHBrZ19jb25maWdf
cGF0aAorCisgICAgIyBOZXdlciB2ZXJzaW9ucyBvZiBnbGliIGhhdmUgZGVwcmVjYXRlZCBnX3R5
cGVfaW5pdCwgc28gd2UgbmVlZCB0byBkaXNhYmxlCisgICAgIyB0aGF0IHdhcm5pbmcgd2hlbiBy
dW5uaW5nIGd0a2RvYy1zY2Fub2JqIGJ5IG92ZXJyaWRpbmcgdGhlIENGTEFHUyB3ZSB1c2UKKyAg
ICAjIHRvIGNvbXBpbGUgaXQuCisgICAgY2ZsYWdzID0gb3MuZW52aXJvbi5nZXQoJ0NGTEFHUycs
ICcnKQorICAgIGNmbGFncyArPSAnIC1ER0xJQl9WRVJTSU9OX01JTl9SRVFVSVJFRD1HTElCX1ZF
UlNJT05fMl8zMicKKworICAgICMgSW4gbm9uLXg4NiBhcmNoaXRlY3R1cmVzLCB3aGVuIGEgcG9p
bnRlciBpcyBjYXN0IHRvICh2b2lkKikgYW5kCisgICAgIyBiYWNrLCB0aGUgY29tcGlsZXIgdGhp
bmtzIHRoYXQgdGhlIGFsaWdubWVudCBpcyByYW5kb20uIFNpbmNlCisgICAgIyBndGtkb2MgYnVp
bGQgaXMgYnJva2VuIGF0IGFueSB3YXJuaW5nIG1lc3NhZ2UsIGl0IGlzIGJldHRlciB0bworICAg
ICMgc2lsZW5jZSB0aGVzZSBmYWxzZSBwb3NpdGl2ZXMuCisgICAgY2ZsYWdzICs9ICcgLVduby1j
YXN0LWFsaWduJworICAgIG9zLmVudmlyb25bJ0NGTEFHUyddID0gY2ZsYWdzCisKKyAgICAjIFBh
dGhzIGZyb20gdGhlIEdOVW1ha2VmaWxlIGdlbmVyYXRlZCBjb25maWd1cmF0aW9uIGZpbGVzIGFy
ZSByZWxhdGl2ZSB0byB0aGUgYnVpbGQgZGlyZWN0b3J5LgorICAgIG9zLmNoZGlyKGNvbW1vbi5i
dWlsZF9wYXRoKCkpCisKK2RlZiBidWlsZF9ndGtkb2NfZm9yX3dwZShhcmd1bWVudHMpOgorICAg
IHdwZV9nZW5lcmF0b3IgPSBnZXRfZ2VuZXJhdG9yX2Zvcl9jb25maWcoY29tbW9uLmJ1aWxkX3Bh
dGgoJ2d0a2RvYy13cGUuY2ZnJyksIGFyZ3VtZW50cy52aXJ0dWFsX3Jvb3QpCisgICAgaWYgbm90
IHdwZV9nZW5lcmF0b3I6CisgICAgICAgIHByaW50KCJndGtkb2Mtd3BlLmNmZyBkb2VzIG5vdCBl
eGlzdCEgU2tpcHBpbmcgdGhhdCBkb2N1bWVudGF0aW9uIikKKyAgICAgICAgc3lzLmV4aXQoMSkK
KyAgICBzYXdfd2FybmluZ3MgPSBnZW5lcmF0ZV9kb2N1bWVudGF0aW9uKHdwZV9nZW5lcmF0b3Ip
CisgICAgc3lzLmV4aXQoc2F3X3dhcm5pbmdzKQorCitkZWYgYnVpbGRfZ3RrZG9jX2Zvcl93a2d0
ayhhcmd1bWVudHMpOgorICAgIGpzY19nZW5lcmF0b3IgPSBnZXRfZ2VuZXJhdG9yX2Zvcl9jb25m
aWcoY29tbW9uLmJ1aWxkX3BhdGgoJ2d0a2RvYy1qc2MtZ2xpYi5jZmcnKSwgYXJndW1lbnRzLnZp
cnR1YWxfcm9vdCkKKyAgICBpZiBub3QganNjX2dlbmVyYXRvcjoKKyAgICAgICAgcHJpbnQoImd0
a2RvYy1qc2MtZ2xpYi5jZmcgZG9lcyBub3QgZXhpc3QhIFNraXBwaW5nIHRoYXQgZG9jdW1lbnRh
dGlvbiIpCisgICAgICAgIHN5cy5leGl0KDEpCisgICAgc2F3X3dhcm5pbmdzID0gZ2VuZXJhdGVf
ZG9jdW1lbnRhdGlvbihqc2NfZ2VuZXJhdG9yKQorICAgIGlmIHNhd193YXJuaW5nczoKKyAgICAg
ICAgc3lzLmV4aXQoc2F3X3dhcm5pbmdzKQorCisgICAgd2Via2l0ZG9tX2dlbmVyYXRvciA9IGdl
dF9nZW5lcmF0b3JfZm9yX2NvbmZpZyhjb21tb24uYnVpbGRfcGF0aCgnZ3RrZG9jLXdlYmtpdGRv
bS5jZmcnKSwgYXJndW1lbnRzLnZpcnR1YWxfcm9vdCwgW2pzY19nZW5lcmF0b3IubW9kdWxlX25h
bWVdKQorICAgIGlmIG5vdCB3ZWJraXRkb21fZ2VuZXJhdG9yOgorICAgICAgICBwcmludCgiZ3Rr
ZG9jLXdlYmtpdGRvbS5jZmcgZG9lcyBub3QgZXhpc3QhIFNraXBwaW5nIHRoYXQgZG9jdW1lbnRh
dGlvbiIpCisgICAgICAgIHN5cy5leGl0KDEpCisgICAgc2F3X3dhcm5pbmdzID0gZ2VuZXJhdGVf
ZG9jdW1lbnRhdGlvbih3ZWJraXRkb21fZ2VuZXJhdG9yKQorICAgIGlmIHNhd193YXJuaW5nczoK
KyAgICAgICAgc3lzLmV4aXQoc2F3X3dhcm5pbmdzKQorCisgICAgd2Via2l0Ml9nZW5lcmF0b3Ig
PSBnZXRfZ2VuZXJhdG9yX2Zvcl9jb25maWcoY29tbW9uLmJ1aWxkX3BhdGgoJ2d0a2RvYy13ZWJr
aXQyZ3RrLmNmZycpLCBhcmd1bWVudHMudmlydHVhbF9yb290LCBbd2Via2l0ZG9tX2dlbmVyYXRv
ci5tb2R1bGVfbmFtZSwganNjX2dlbmVyYXRvci5tb2R1bGVfbmFtZV0pCisgICAgaWYgbm90IHdl
YmtpdDJfZ2VuZXJhdG9yOgorICAgICAgICBwcmludCgiZ3RrZG9jLXdlYmtpdDJndGsuY2ZnIGRv
ZXMgbm90IGV4aXN0ISBTa2lwcGluZyB0aGF0IGRvY3VtZW50YXRpb24iKQorICAgICAgICBzeXMu
ZXhpdCgxKQorICAgIHNhd193YXJuaW5ncyA9IGdlbmVyYXRlX2RvY3VtZW50YXRpb24od2Via2l0
Ml9nZW5lcmF0b3IpCisgICAgc3lzLmV4aXQoc2F3X3dhcm5pbmdzKQorCitpZiBfX25hbWVfXyA9
PSAiX19tYWluX18iOgorICAgIHBhcnNlciA9IGFyZ3BhcnNlLkFyZ3VtZW50UGFyc2VyKGRlc2Ny
aXB0aW9uPSdHZW5lcmF0ZSBndGtkb2MgZm9yIFdlYktpdC4nKQorICAgIHBhcnNlci5hZGRfYXJn
dW1lbnQoJy12JywgJy0tdmVyYm9zZScsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsCisgICAgICAgICAg
ICAgICAgICAgICAgICBoZWxwPSdXaGV0aGVyIG9yIG5vdCB0byBydW4gaW4gdmVyYm9zZSBtb2Rl
LicpCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1yZWJhc2UnLCBhY3Rpb249J3N0b3JlX3Ry
dWUnLAorICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0nV2hlbiBzcGVjaWZpZWQsIHJ1biB0
aGUgdG9vbCBpbiByZWJhc2UgbW9kZS4nKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy0tc2tp
cC1odG1sJywgYWN0aW9uPSdzdG9yZV90cnVlJywKKyAgICAgICAgICAgICAgICAgICAgICAgIGhl
bHA9J1doZXRoZXIgb3Igbm90IHRvIHNraXAgSFRNTCBnZW5lcmF0aW9uLCB3aGljaCBjYW4gYmUg
c2xvdy4nKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy0tdmlydHVhbC1yb290JywgdHlwZT1z
dHIsIGRlZmF1bHQ9JycsCisgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdBIHRlbXBvcmFy
eSBpbnN0YWxsYXRpb24gZGlyZWN0b3J5IHdoaWNoIGlzIHVzZWQgYXMgdGhlIHJvb3QgJyArIFwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3doZXJlIHRoZSBhY3R1YWwgaW5zdGFsbGF0
aW9uIHByZWZpeCBsaXZlczsgdGhpcyBpcyBtb3N0bHkgJyArIFwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJ3VzZWZ1bCBmb3IgcGFja2FnZXJzLCBhbmQgc2hvdWxkIGJlIHNldCB0byB3
aGF0IGlzIGdpdmVuIHRvICcgKyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYWtl
IGluc3RhbGwgYXMgREVTVERJUi4nKQorCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1ndGsn
LCBhY3Rpb249J3N0b3JlX3RydWUnLAorICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0nQnVp
bGQgZG9jdW1lbnRhdGlvbiBmb3IgV2ViS2l0R1RLKycpCisgICAgcGFyc2VyLmFkZF9hcmd1bWVu
dCgnLS13cGUnLCBhY3Rpb249J3N0b3JlX3RydWUnLAorICAgICAgICAgICAgICAgICAgICAgICAg
aGVscD0nQnVpbGQgZG9jdW1lbnRhdGlvbiBmb3IgV1BFJykKKworICAgIGFyZ3VtZW50cyA9IHBh
cnNlci5wYXJzZV9hcmdzKCkKKyAgICBjb25maWd1cmVfbG9nZ2luZyhhcmd1bWVudHMudmVyYm9z
ZSkKKworICAgIHByZXBhcmVfZW52aXJvbm1lbnRfZm9yX2d0a2RvY19nZW5lcmF0aW9uKCkKKwor
ICAgIGlmIGFyZ3VtZW50cy53cGU6CisgICAgICAgIGJ1aWxkX2d0a2RvY19mb3Jfd3BlKGFyZ3Vt
ZW50cykKKyAgICBlbGlmIGFyZ3VtZW50cy5ndGs6CisgICAgICAgIGJ1aWxkX2d0a2RvY19mb3Jf
d2tndGsoYXJndW1lbnRzKQorICAgIGVsc2U6CisgICAgICAgIHByaW50KCdQbGVhc2UgY2hvb3Nl
IGEgV2ViS2l0IHBvcnQgd2l0aCAtLWd0ayBvciAtLXdwZScpCisgICAgICAgIHN5cy5leGl0KDEp
CmRpZmYgLS1naXQgYS9Ub29scy9ndGtkb2MvZ3RrZG9jLnB5IGIvVG9vbHMvZ3RrZG9jL2d0a2Rv
Yy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi40Nzk2ODQ0NmNjNTQ4Y2ZhNmE5Y2ZjYzE5ZTVkYTM0MzIzZGE4NjBh
Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvZ3RrZG9jL2d0a2RvYy5weQpAQCAtMCwwICsxLDQ1
NSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTEgSWdhbGlhIFMuTC4KKyMKKyMgVGhpcyBsaWJyYXJ5
IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorIyBtb2Rp
ZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisj
IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp
dGhlcgorIyB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55
IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg
aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7
IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkg
b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorIyBMZXNz
ZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworIyBZb3Ugc2hv
dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGlj
CisjIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhl
IEZyZWUgU29mdHdhcmUKKyMgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBG
aWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCisKK2ltcG9ydCBjb2RlY3MK
K2ltcG9ydCBlcnJubworaW1wb3J0IGxvZ2dpbmcKK2ltcG9ydCBvcworaW1wb3J0IG9zLnBhdGgK
K2ltcG9ydCBzdWJwcm9jZXNzCitpbXBvcnQgc3lzCisKKworY2xhc3MgR1RLRG9jKG9iamVjdCk6
CisKKyAgICAiIiJDbGFzcyB0aGF0IGNvbnRyb2xzIGEgZ3RrZG9jIHJ1bi4KKworICAgIEVhY2gg
aW5zdGFuY2Ugb2YgdGhpcyBjbGFzcyByZXByZXNlbnRzIG9uZSBndGtkb2MgY29uZmlndXJhdGlv
bgorICAgIGFuZCBzZXQgb2YgZG9jdW1lbnRhdGlvbi4gVGhlIGd0a2RvYyBwYWNrYWdlIGlzIGEg
c2VyaWVzIG9mIHRvb2xzCisgICAgcnVuIGNvbnNlY3V0aXZlbHkgd2hpY2ggY29udmVydHMgaW5s
aW5lIEMvQysrIGRvY3VtZW50YXRpb24gaW50bworICAgIGRvY2Jvb2sgZmlsZXMgYW5kIHRoZW4g
aW50byBIVE1MLiBUaGlzIGNsYXNzIGlzIHN1aXRhYmxlIGZvcgorICAgIGdlbmVyYXRpbmcgZG9j
dW1lbnRhdGlvbiBvciBzaW1wbHkgdmVyaWZ5aW5nIGNvcnJlY3RuZXNzLgorCisgICAgS2V5d29y
ZCBhcmd1bWVudHM6CisgICAgb3V0cHV0X2RpciAgICAgICAgIC0tIFRoZSBwYXRoIHdoZXJlIGd0
a2RvYyBvdXRwdXQgc2hvdWxkIGJlIHBsYWNlZC4gR2VuZXJhdGlvbgorICAgICAgICAgICAgICAg
ICAgICAgICAgICBtYXkgb3ZlcndyaXRlIGZpbGUgaW4gdGhpcyBkaXJlY3RvcnkuIFJlcXVpcmVk
LgorICAgIG1vZHVsZV9uYW1lICAgICAgICAtLSBUaGUgbmFtZSBvZiB0aGUgZG9jdW1lbnRhdGlv
biBtb2R1bGUuIEZvciBsaWJyYXJpZXMgdGhpcworICAgICAgICAgICAgICAgICAgICAgICAgICBp
cyB0eXBpY2FsbHkgdGhlIGxpYnJhcnkgbmFtZS4gUmVxdWlyZWQgaWYgbm90IGxpYnJhcnkgcGF0
aAorICAgICAgICAgICAgICAgICAgICAgICAgICBpcyBnaXZlbi4KKyAgICBzb3VyY2VfZGlycyAg
ICAgICAgLS0gQSBsaXN0IG9mIHBhdGhzIHRvIGRpcmVjdG9yaWVzIG9mIHNvdXJjZSBjb2RlIHRv
IGJlIHNjYW5uZWQuCisgICAgICAgICAgICAgICAgICAgICAgICAgIFJlcXVpcmVkIGlmIGhlYWRl
cnMgaXMgbm90IHNwZWNpZmllZC4KKyAgICBpZ25vcmVkX2ZpbGVzICAgICAgLS0gQSBsaXN0IG9m
IGZpbGVuYW1lcyB0byBpZ25vcmUgaW4gdGhlIHNvdXJjZSBkaXJlY3RvcnkuIEl0IGlzCisgICAg
ICAgICAgICAgICAgICAgICAgICAgIG9ubHkgbmVjZXNzYXJ5IHRvIHByb3ZpZGUgdGhlIGJhc2Vu
YW1lcyBvZiB0aGVzZSBmaWxlcy4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgVHlwaWNhbGx5
IGl0IGlzIGltcG9ydGFudCB0byBwcm92aWRlIGFuIHVwZGF0ZWQgbGlzdCBvZgorICAgICAgICAg
ICAgICAgICAgICAgICAgICBpZ25vcmVkIGZpbGVzIHRvIHByZXZlbnQgd2FybmluZ3MgYWJvdXQg
dW5kb2N1bWVudGVkIHN5bWJvbHMuCisgICAgaGVhZGVycyAgICAgICAgICAgIC0tIEEgbGlzdCBv
ZiBwYXRocyB0byBoZWFkZXJzIHRvIGJlIHNjYW5uZWQuIFJlcXVpcmVkIGlmIHNvdXJjZV9kaXJz
CisgICAgICAgICAgICAgICAgICAgICAgICAgIGlzIG5vdCBzcGVjaWZpZWQuCisgICAgbmFtZXNw
YWNlICAgICAgICAgIC0tIFRoZSBsaWJyYXJ5IG5hbWVzcGFjZS4KKyAgICBkZWNvcmF0b3IgICAg
ICAgICAgLS0gSWYgYSBkZWNvcmF0b3IgaXMgdXNlZCB0byB1bmhpZGUgY2VydGFpbiBzeW1ib2xz
IGluIGhlYWRlcgorICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlcyB0aGlzIHBhcmFtZXRl
ciBpcyByZXF1aXJlZCBmb3Igc3VjY2Vzc2Z1bCBzY2FubmluZy4KKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgKGRlZmF1bHQgJycpCisgICAgZGVwcmVjYXRpb25fZ3VhcmQgIC0tIGd0a2RvYyB0
cmllcyB0byBlbnN1cmUgdGhhdCBzeW1ib2xzIG1hcmtlZCBhcyBkZXByZWNhdGVkCisgICAgICAg
ICAgICAgICAgICAgICAgICAgIGFyZSBlbmNhc2VkIGluIHRoaXMgQyBwcmVwcm9jZXNzb3IgZGVm
aW5lLiBUaGlzIGlzIHJlcXVpcmVkCisgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGF2b2lk
IGd0a2RvYyB3YXJuaW5ncy4gKGRlZmF1bHQgJycpCisgICAgY2ZsYWdzICAgICAgICAgICAgIC0t
IFRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyBhbnkgcHJlcHJvY2Vzc29yIGZsYWdzIG5lY2Vzc2Fy
eSBmb3IKKyAgICAgICAgICAgICAgICAgICAgICAgICAgYnVpbGRpbmcgdGhlIHNjYW5uZXIgYmlu
YXJ5IGR1cmluZyBndGtkb2Mtc2Nhbm9iai4gVHlwaWNhbGx5CisgICAgICAgICAgICAgICAgICAg
ICAgICAgIHRoaXMgaW5jbHVkZXMgYWxsIGFic29sdXRlIGluY2x1ZGUgcGF0aHMgbmVjZXNzYXJ5
IHRvIHJlc29sdmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgYWxsIGhlYWRlciBkZXBlbmRl
bmNpZXMuIChkZWZhdWx0ICcnKQorICAgIGxkZmxhZ3MgICAgICAgICAgICAtLSBUaGlzIHBhcmFt
ZXRlciBzcGVjaWZpZXMgYW55IGxpbmtlciBmbGFncyBuZWNlc3NhcnkgZm9yCisgICAgICAgICAg
ICAgICAgICAgICAgICAgIGJ1aWxkaW5nIHRoZSBzY2FubmVyIGJpbmFyeSBkdXJpbmcgZ3RrZG9j
LXNjYW5vYmouIFR5cGljYWxseQorICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzIGluY2x1
ZGVzICItbHlvdXJsaWJyYXJ5bmFtZSIuIChkZWZhdWx0ICcnKQorICAgIGxpYnJhcnlfcGF0aCAg
ICAgICAtLSBUaGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIHBhdGggdG8gdGhlIGRpcmVjdG9y
eSB3aGVyZSB5b3UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgbGlicmFyeSByZXNpZGVzIHVz
ZWQgZm9yIGJ1aWxkaW5nIHRoZSBzY2FubmVyIGJpbmFyeSBkdXJpbmcKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgZ3RrZG9jLXNjYW5vYmouIChkZWZhdWx0ICcnKQorCisgICAgZG9jX2RpciAg
ICAgICAgICAgIC0tIFRoZSBwYXRoIHRvIG90aGVyIGRvY3VtZW50YXRpb24gZmlsZXMgbmVjZXNz
YXJ5IHRvIGJ1aWxkCisgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBkb2N1bWVudGF0aW9u
LiBUaGlzIGZpbGVzIGluIHRoaXMgZGlyZWN0b3J5IGFzIHdlbGwgYXMKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgdGhlIGZpbGVzIGluIHRoZSAnaHRtbCcgc3ViZGlyZWN0b3J5IHdpbGwgYmUg
Y29waWVkCisgICAgICAgICAgICAgICAgICAgICAgICAgIHJlY3Vyc2l2ZWx5IGludG8gdGhlIG91
dHB1dCBkaXJlY3RvcnkuIChkZWZhdWx0ICcnKQorICAgIG1haW5fc2dtbF9maWxlICAgICAtLSBU
aGUgcGF0aCBvciBuYW1lIChpZiBhIGRvY19kaXIgaXMgZ2l2ZW4pIG9mIHRoZSBTR01MIGZpbGUK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdCBpcyB0aGUgY29uc2lkZXJlZCB0aGUgbWFp
biBwYWdlIG9mIHlvdXIgZG9jdW1lbnRhdGlvbi4KKyAgICAgICAgICAgICAgICAgICAgICAgICAg
KGRlZmF1bHQ6IDxtb2R1bGVfbmFtZT4tZG9jcy5zZ21sKQorICAgIHZlcnNpb24gICAgICAgICAg
ICAtLSBUaGUgdmVyc2lvbiBudW1iZXIgb2YgdGhlIG1vZHVsZS4gSWYgdGhpcyBpcyBwcm92aWRl
ZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgYSB2ZXJzaW9uLnhtbCBmaWxlIGNvbnRhaW5p
bmcgdGhlIHZlcnNpb24gd2lsbCBiZSBjcmVhdGVkCisgICAgICAgICAgICAgICAgICAgICAgICAg
IGluIHRoZSBvdXRwdXQgZGlyZWN0b3J5IGR1cmluZyBkb2N1bWVudGF0aW9uIGdlbmVyYXRpb24u
CisKKyAgICBpbnRlcmFjdGl2ZSAgICAgICAgLS0gV2hldGhlciBvciBub3QgZXJyb3JzIG9yIHdh
cm5pbmdzIHNob3VsZCBwcm9tcHQgdGhlIHVzZXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
dG8gY29udGludWUgb3Igbm90LiBXaGVuIHRoaXMgdmFsdWUgaXMgZmFsc2UsIGdlbmVyYXRpb24K
KyAgICAgICAgICAgICAgICAgICAgICAgICAgd2lsbCBjb250aW51ZSBkZXNwaXRlIHdhcm5pbmdz
LiAoZGVmYXVsdCBGYWxzZSkKKworICAgIHZpcnR1YWxfcm9vdCAgICAgICAtLSBBIHRlbXBvcmFy
eSBpbnN0YWxsYXRpb24gZGlyZWN0b3J5IHdoaWNoIGlzIHVzZWQgYXMgdGhlIHJvb3QKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgd2hlcmUgdGhlIGFjdHVhbCBpbnN0YWxsYXRpb24gcHJlZml4
IGxpdmVzOyB0aGlzIGlzIG1vc3RseQorICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VmdWwg
Zm9yIHBhY2thZ2VycywgYW5kIHNob3VsZCBiZSBzZXQgdG8gd2hhdCBpcyBnaXZlbiB0bworICAg
ICAgICAgICAgICAgICAgICAgICAgICBtYWtlIGluc3RhbGwgYXMgREVTVERJUi4KKyAgICAiIiIK
KworICAgIGRlZiBfX2luaXRfXyhzZWxmLCBhcmdzKToKKyAgICAgICAgc2VsZi52ZXJzaW9uID0g
JycKKyAgICAgICAgc2VsZi52aXJ0dWFsX3Jvb3QgPSAnJworICAgICAgICBzZWxmLnByZWZpeCA9
ICcnCisKKyAgICAgICAgIyBQYXJhbWV0ZXJzIHNwZWNpZmljIHRvIHNjYW5uaW5nLgorICAgICAg
ICBzZWxmLm1vZHVsZV9uYW1lID0gJycKKyAgICAgICAgc2VsZi5zb3VyY2VfZGlycyA9IFtdCisg
ICAgICAgIHNlbGYuaGVhZGVycyA9IFtdCisgICAgICAgIHNlbGYuaWdub3JlZF9maWxlcyA9IFtd
CisgICAgICAgIHNlbGYubmFtZXNwYWNlID0gJycKKyAgICAgICAgc2VsZi5kZWNvcmF0b3IgPSAn
JworICAgICAgICBzZWxmLmRlcHJlY2F0aW9uX2d1YXJkID0gJycKKworICAgICAgICAjIFBhcmFt
ZXRlcnMgc3BlY2lmaWMgdG8gZ3RrZG9jLXNjYW5vYmouCisgICAgICAgIHNlbGYuY2ZsYWdzID0g
JycKKyAgICAgICAgc2VsZi5sZGZsYWdzID0gJycKKyAgICAgICAgc2VsZi5saWJyYXJ5X3BhdGgg
PSAnJworCisgICAgICAgICMgUGFyYW1ldGVycyBzcGVjaWZpYyB0byBnZW5lcmF0aW9uLgorICAg
ICAgICBzZWxmLm91dHB1dF9kaXIgPSAnJworICAgICAgICBzZWxmLmRvY19kaXIgPSAnJworICAg
ICAgICBzZWxmLm1haW5fc2dtbF9maWxlID0gJycKKworICAgICAgICAjIFBhcmFtZXRlcnMgc3Bl
Y2lmaWMgdG8gZ3RrZG9jLWZpeHhyZWYuCisgICAgICAgIHNlbGYuY3Jvc3NfcmVmZXJlbmNlX2Rl
cHMgPSBbXQorCisgICAgICAgIHNlbGYuaW50ZXJhY3RpdmUgPSBGYWxzZQorCisgICAgICAgIHNl
bGYubG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoJ2d0a2RvYycpCisKKyAgICAgICAgZm9yIGtl
eSwgdmFsdWUgaW4gaXRlcihhcmdzLml0ZW1zKCkpOgorICAgICAgICAgICAgc2V0YXR0cihzZWxm
LCBrZXksIHZhbHVlKQorCisgICAgICAgIGlmIG5vdCBnZXRhdHRyKHNlbGYsICdvdXRwdXRfZGly
Jyk6CisgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oJ291dHB1dF9kaXIgbm90IHNwZWNpZmll
ZC4nKQorICAgICAgICBpZiBub3QgZ2V0YXR0cihzZWxmLCAnbW9kdWxlX25hbWUnKToKKyAgICAg
ICAgICAgIHJhaXNlIEV4Y2VwdGlvbignbW9kdWxlX25hbWUgbm90IHNwZWNpZmllZC4nKQorICAg
ICAgICBpZiBub3QgZ2V0YXR0cihzZWxmLCAnc291cmNlX2RpcnMnKSBhbmQgbm90IGdldGF0dHIo
c2VsZiwgJ2hlYWRlcnMnKToKKyAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbignTmVpdGhlciBz
b3VyY2VfZGlycyBub3IgaGVhZGVycyBzcGVjaWZpZWQuJyAlIGtleSkKKworICAgICAgICAjIE1h
a2UgYWxsIHBhdGhzIGFic29sdXRlIGluIGNhc2Ugd2Ugd2VyZSBwYXNzZWQgcmVsYXRpdmUgcGF0
aHMsIHNpbmNlCisgICAgICAgICMgd2UgY2hhbmdlIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0
b3J5IHdoZW4gZXhlY3V0aW5nIHN1YmNvbW1hbmRzLgorICAgICAgICBzZWxmLm91dHB1dF9kaXIg
PSBvcy5wYXRoLmFic3BhdGgoc2VsZi5vdXRwdXRfZGlyKQorICAgICAgICBzZWxmLnNvdXJjZV9k
aXJzID0gW29zLnBhdGguYWJzcGF0aCh4KSBmb3IgeCBpbiBzZWxmLnNvdXJjZV9kaXJzXQorICAg
ICAgICBzZWxmLmhlYWRlcnMgPSBbb3MucGF0aC5hYnNwYXRoKHgpIGZvciB4IGluIHNlbGYuaGVh
ZGVyc10KKyAgICAgICAgaWYgc2VsZi5saWJyYXJ5X3BhdGg6CisgICAgICAgICAgICBzZWxmLmxp
YnJhcnlfcGF0aCA9IG9zLnBhdGguYWJzcGF0aChzZWxmLmxpYnJhcnlfcGF0aCkKKworICAgICAg
ICBpZiBub3Qgc2VsZi5tYWluX3NnbWxfZmlsZToKKyAgICAgICAgICAgIHNlbGYubWFpbl9zZ21s
X2ZpbGUgPSBzZWxmLm1vZHVsZV9uYW1lICsgIi1kb2NzLnNnbWwiCisKKyAgICBkZWYgZ2VuZXJh
dGUoc2VsZiwgaHRtbD1UcnVlKToKKyAgICAgICAgc2VsZi5zYXdfd2FybmluZ3MgPSBGYWxzZQor
CisgICAgICAgIHNlbGYuX2NvcHlfZG9jX2ZpbGVzX3RvX291dHB1dF9kaXIoaHRtbCkKKyAgICAg
ICAgc2VsZi5fd3JpdGVfdmVyc2lvbl94bWwoKQorICAgICAgICBzZWxmLl9ydW5fZ3RrZG9jX3Nj
YW4oKQorICAgICAgICBzZWxmLl9ydW5fZ3RrZG9jX3NjYW5nb2JqKCkKKyAgICAgICAgc2VsZi5f
cnVuX2d0a2RvY19ta2RiKCkKKworICAgICAgICBpZiBub3QgaHRtbDoKKyAgICAgICAgICAgIHJl
dHVybgorCisgICAgICAgIHNlbGYuX3J1bl9ndGtkb2NfbWtodG1sKCkKKyAgICAgICAgc2VsZi5f
cnVuX2d0a2RvY19maXh4cmVmKCkKKworICAgIGRlZiBfZGVsZXRlX2ZpbGVfaWZfZXhpc3RzKHNl
bGYsIHBhdGgpOgorICAgICAgICBpZiBub3Qgb3MuYWNjZXNzKHBhdGgsIG9zLkZfT0sgfCBvcy5S
X09LKToKKyAgICAgICAgICAgIHJldHVybgorICAgICAgICBzZWxmLmxvZ2dlci5kZWJ1ZygnZGVs
ZXRpbmcgJXMnLCBwYXRoKQorICAgICAgICBvcy51bmxpbmsocGF0aCkKKworICAgIGRlZiBfY3Jl
YXRlX2RpcmVjdG9yeV9pZl9ub25leGlzdGVudChzZWxmLCBwYXRoKToKKyAgICAgICAgdHJ5Ogor
ICAgICAgICAgICAgb3MubWFrZWRpcnMocGF0aCkKKyAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMg
ZXJyb3I6CisgICAgICAgICAgICBpZiBlcnJvci5lcnJubyAhPSBlcnJuby5FRVhJU1Q6CisgICAg
ICAgICAgICAgICAgcmFpc2UKKworICAgIGRlZiBfcmFpc2VfZXhjZXB0aW9uX2lmX2ZpbGVfaW5h
Y2Nlc3NpYmxlKHNlbGYsIHBhdGgpOgorICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMocGF0
aCkgb3Igbm90IG9zLmFjY2VzcyhwYXRoLCBvcy5SX09LKToKKyAgICAgICAgICAgIHJhaXNlIEV4
Y2VwdGlvbigiQ291bGQgbm90IGFjY2VzcyBmaWxlIGF0OiAlcyIgJSBwYXRoKQorCisgICAgZGVm
IF9vdXRwdXRfaGFzX3dhcm5pbmdzKHNlbGYsIG91dHB1dHMpOgorICAgICAgICBmb3Igb3V0cHV0
IGluIG91dHB1dHM6CisgICAgICAgICAgICBpZiBvdXRwdXQgYW5kIG91dHB1dC5maW5kKCd3YXJu
aW5nJyk6CisgICAgICAgICAgICAgICAgcmV0dXJuIFRydWUKKyAgICAgICAgcmV0dXJuIEZhbHNl
CisKKyAgICBkZWYgX2Fza195ZXNfb3Jfbm9fcXVlc3Rpb24oc2VsZiwgcXVlc3Rpb24pOgorICAg
ICAgICBpZiBub3Qgc2VsZi5pbnRlcmFjdGl2ZToKKyAgICAgICAgICAgIHJldHVybiBUcnVlCisK
KyAgICAgICAgcXVlc3Rpb24gKz0gJyBbeS9OXSAnCisgICAgICAgIGFuc3dlciA9IE5vbmUKKyAg
ICAgICAgd2hpbGUgYW5zd2VyICE9ICd5JyBhbmQgYW5zd2VyICE9ICduJyBhbmQgYW5zd2VyICE9
ICcnOgorICAgICAgICAgICAgYW5zd2VyID0gcmF3X2lucHV0KHF1ZXN0aW9uKS5sb3dlcigpCisg
ICAgICAgIHJldHVybiBhbnN3ZXIgPT0gJ3knCisKKyAgICBkZWYgX3J1bl9jb21tYW5kKHNlbGYs
IGFyZ3MsIGVudj1Ob25lLCBjd2Q9Tm9uZSwgcHJpbnRfb3V0cHV0PVRydWUsIGlnbm9yZV93YXJu
aW5ncz1GYWxzZSk6CisgICAgICAgIGlmIHByaW50X291dHB1dDoKKyAgICAgICAgICAgIHNlbGYu
bG9nZ2VyLmRlYnVnKCJSdW5uaW5nICVzIiwgYXJnc1swXSkKKyAgICAgICAgc2VsZi5sb2dnZXIu
ZGVidWcoIkZ1bGwgY29tbWFuZCBhcmdzOiAlcyIsIHN0cihhcmdzKSkKKworICAgICAgICBwcm9j
ZXNzID0gc3VicHJvY2Vzcy5Qb3BlbihhcmdzLCBlbnY9ZW52LCBjd2Q9Y3dkLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGRlcnI9c3VicHJvY2Vzcy5QSVBFKQorICAg
ICAgICBzdGRvdXQsIHN0ZGVyciA9IFtiLmRlY29kZSgidXRmLTgiKSBmb3IgYiBpbiBwcm9jZXNz
LmNvbW11bmljYXRlKCldCisKKyAgICAgICAgaWYgcHJpbnRfb3V0cHV0OgorICAgICAgICAgICAg
aWYgc3Rkb3V0OgorICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgc3lz
LnN0ZG91dC53cml0ZShzdGRvdXQuZW5jb2RlKCJ1dGYtOCIpKQorICAgICAgICAgICAgICAgIGV4
Y2VwdCBVbmljb2RlRGVjb2RlRXJyb3I6CisgICAgICAgICAgICAgICAgICAgIHN5cy5zdGRvdXQu
d3JpdGUoc3Rkb3V0KQorICAgICAgICAgICAgaWYgc3RkZXJyOgorICAgICAgICAgICAgICAgIHRy
eToKKyAgICAgICAgICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZShzdGRlcnIuZW5jb2RlKCJ1
dGYtOCIpKQorICAgICAgICAgICAgICAgIGV4Y2VwdCBVbmljb2RlRGVjb2RlRXJyb3I6CisgICAg
ICAgICAgICAgICAgICAgIHN5cy5zdGRlcnIud3JpdGUoc3RkZXJyKQorCisgICAgICAgIGlmIHBy
b2Nlc3MucmV0dXJuY29kZSAhPSAwOgorICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCclcyBw
cm9kdWNlZCBhIG5vbi16ZXJvIHJldHVybiBjb2RlICVpJworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAlIChhcmdzWzBdLCBwcm9jZXNzLnJldHVybmNvZGUpKQorCisgICAgICAgIGlmIG5v
dCBpZ25vcmVfd2FybmluZ3MgYW5kICgnd2FybmluZycgaW4gc3RkZXJyIG9yICd3YXJuaW5nJyBp
biBzdGRvdXQpOgorICAgICAgICAgICAgc2VsZi5zYXdfd2FybmluZ3MgPSBUcnVlCisgICAgICAg
ICAgICBpZiBub3Qgc2VsZi5fYXNrX3llc19vcl9ub19xdWVzdGlvbignJXMgcHJvZHVjZWQgd2Fy
bmluZ3MsICcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICd0cnkgdG8gY29udGludWU/JyAlIGFyZ3NbMF0pOgorICAgICAgICAgICAgICAgIHJhaXNlIEV4
Y2VwdGlvbignJXMgc3RlcCBmYWlsZWQnICUgYXJnc1swXSkKKworICAgICAgICByZXR1cm4gc3Rk
b3V0LnN0cmlwKCkKKworICAgIGRlZiBfY29weV9kb2NfZmlsZXNfdG9fb3V0cHV0X2RpcihzZWxm
LCBodG1sPVRydWUpOgorICAgICAgICBpZiBub3Qgc2VsZi5kb2NfZGlyOgorICAgICAgICAgICAg
c2VsZi5sb2dnZXIuaW5mbygnTm90IGNvcHlpbmcgYW55IGZpbGVzIGZyb20gZG9jIGRpcmVjdG9y
eSwnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgYmVjYXVzZSBubyBkb2MgZGlyZWN0
b3J5IGdpdmVuLicpCisgICAgICAgICAgICByZXR1cm4KKworICAgICAgICBkZWYgY29weV9maWxl
X3JlcGxhY2luZ19leGlzdGluZyhzcmMsIGRlc3QpOgorICAgICAgICAgICAgaWYgb3MucGF0aC5p
c2RpcihzcmMpOgorICAgICAgICAgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCdza2lwcGVkIGRp
cmVjdG9yeSAlcycsICBzcmMpCisgICAgICAgICAgICAgICAgcmV0dXJuCisgICAgICAgICAgICBp
ZiBub3Qgb3MuYWNjZXNzKHNyYywgb3MuRl9PSyB8IG9zLlJfT0spOgorICAgICAgICAgICAgICAg
IHNlbGYubG9nZ2VyLmRlYnVnKCdza2lwcGVkIHVucmVhZGFibGUgJXMnLCBzcmMpCisgICAgICAg
ICAgICAgICAgcmV0dXJuCisKKyAgICAgICAgICAgIHNlbGYuX2RlbGV0ZV9maWxlX2lmX2V4aXN0
cyhkZXN0KQorCisgICAgICAgICAgICBzZWxmLmxvZ2dlci5kZWJ1ZygnY3JlYXRlZCAlcycsIGRl
c3QpCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgb3MubGluayhzcmMsIGRlc3Qp
CisgICAgICAgICAgICBleGNlcHQgT1NFcnJvcjoKKyAgICAgICAgICAgICAgICBvcy5zeW1saW5r
KHNyYywgZGVzdCkKKworICAgICAgICBkZWYgY29weV9hbGxfZmlsZXNfaW5fZGlyZWN0b3J5KHNy
YywgZGVzdCk6CisgICAgICAgICAgICBmb3IgcGF0aCBpbiBvcy5saXN0ZGlyKHNyYyk6CisgICAg
ICAgICAgICAgICAgY29weV9maWxlX3JlcGxhY2luZ19leGlzdGluZyhvcy5wYXRoLmpvaW4oc3Jj
LCBwYXRoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9z
LnBhdGguam9pbihkZXN0LCBwYXRoKSkKKworICAgICAgICBzZWxmLmxvZ2dlci5kZWJ1ZygnQ29w
eWluZyB0ZW1wbGF0ZSBmaWxlcyB0byBvdXRwdXQgZGlyZWN0b3J5Li4uJykKKyAgICAgICAgc2Vs
Zi5fY3JlYXRlX2RpcmVjdG9yeV9pZl9ub25leGlzdGVudChzZWxmLm91dHB1dF9kaXIpCisgICAg
ICAgIGNvcHlfYWxsX2ZpbGVzX2luX2RpcmVjdG9yeShzZWxmLmRvY19kaXIsIHNlbGYub3V0cHV0
X2RpcikKKworICAgIGRlZiBfd3JpdGVfdmVyc2lvbl94bWwoc2VsZik6CisgICAgICAgIGlmIG5v
dCBzZWxmLnZlcnNpb246CisgICAgICAgICAgICBzZWxmLmxvZ2dlci5pbmZvKCdObyB2ZXJzaW9u
IHNwZWNpZmllZCwgc28gbm90IHdyaXRpbmcgdmVyc2lvbi54bWwnKQorICAgICAgICAgICAgcmV0
dXJuCisKKyAgICAgICAgdmVyc2lvbl94bWxfcGF0aCA9IG9zLnBhdGguam9pbihzZWxmLm91dHB1
dF9kaXIsICd2ZXJzaW9uLnhtbCcpCisgICAgICAgIHNyY192ZXJzaW9uX3htbF9wYXRoID0gb3Mu
cGF0aC5qb2luKHNlbGYuZG9jX2RpciwgJ3ZlcnNpb24ueG1sJykKKworICAgICAgICAjIERvbid0
IG92ZXJ3cml0ZSB2ZXJzaW9uLnhtbCBpZiBpdCB3YXMgaW4gdGhlIGRvYyBkaXJlY3RvcnkuCisg
ICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKHZlcnNpb25feG1sX3BhdGgpIGFuZCBcCisgICAgICAg
ICAgIG9zLnBhdGguZXhpc3RzKHNyY192ZXJzaW9uX3htbF9wYXRoKToKKyAgICAgICAgICAgIHJl
dHVybgorCisgICAgICAgIG91dHB1dF9maWxlID0gb3Blbih2ZXJzaW9uX3htbF9wYXRoLCAndycp
CisgICAgICAgIG91dHB1dF9maWxlLndyaXRlKHNlbGYudmVyc2lvbikKKyAgICAgICAgb3V0cHV0
X2ZpbGUuY2xvc2UoKQorCisgICAgZGVmIF9pZ25vcmVkX2ZpbGVzX2Jhc2VuYW1lcyhzZWxmKToK
KyAgICAgICAgcmV0dXJuICcgJy5qb2luKFtvcy5wYXRoLmJhc2VuYW1lKHgpIGZvciB4IGluIHNl
bGYuaWdub3JlZF9maWxlc10pCisKKyAgICBkZWYgX3J1bl9ndGtkb2Nfc2NhbihzZWxmKToKKyAg
ICAgICAgYXJncyA9IFsnZ3RrZG9jLXNjYW4nLAorICAgICAgICAgICAgICAgICctLW1vZHVsZT0l
cycgJSBzZWxmLm1vZHVsZV9uYW1lLAorICAgICAgICAgICAgICAgICctLXJlYnVpbGQtdHlwZXMn
XQorCisgICAgICAgIGlmIG5vdCBzZWxmLmhlYWRlcnM6CisgICAgICAgICAgICAjIEVhY2ggc291
cmNlIGRpcmVjdG9yeSBzaG91bGQgYmUgaGF2ZSBpdHMgb3duICItLXNvdXJjZS1kaXI9IiBwcmVm
aXguCisgICAgICAgICAgICBhcmdzLmV4dGVuZChbJy0tc291cmNlLWRpcj0lcycgJSBwYXRoIGZv
ciBwYXRoIGluIHNlbGYuc291cmNlX2RpcnNdKQorCisgICAgICAgIGlmIHNlbGYuZGVjb3JhdG9y
OgorICAgICAgICAgICAgYXJncy5hcHBlbmQoJy0taWdub3JlLWRlY29yYXRvcnM9JXMnICUgc2Vs
Zi5kZWNvcmF0b3IpCisgICAgICAgIGlmIHNlbGYuZGVwcmVjYXRpb25fZ3VhcmQ6CisgICAgICAg
ICAgICBhcmdzLmFwcGVuZCgnLS1kZXByZWNhdGVkLWd1YXJkcz0lcycgJSBzZWxmLmRlcHJlY2F0
aW9uX2d1YXJkKQorICAgICAgICBpZiBzZWxmLm91dHB1dF9kaXI6CisgICAgICAgICAgICBhcmdz
LmFwcGVuZCgnLS1vdXRwdXQtZGlyPSVzJyAlIHNlbGYub3V0cHV0X2RpcikKKworICAgICAgICAj
IFdlIG9ubHkgbmVlZCB0byBwYXNzIHRoZSBsaXN0IG9mIGlnbm9yZWQgZmlsZXMgaWYgdGhlIHdl
IGFyZSBub3QgdXNpbmcgYW4gZXhwbGljaXQgbGlzdCBvZiBoZWFkZXJzLgorICAgICAgICBpZiBu
b3Qgc2VsZi5oZWFkZXJzOgorICAgICAgICAgICAgIyBndGtkb2Mtc2NhbiB3YW50cyB0aGUgYmFz
ZW5hbWVzIG9mIGlnbm9yZWQgaGVhZGVycywgc28gc3RyaXAgdGhlCisgICAgICAgICAgICAjIGRp
cm5hbWUuIERpZmZlcmVudCBmcm9tICItLXNvdXJjZS1kaXIiLCB0aGUgaGVhZGVycyBzaG91bGQg
YmUKKyAgICAgICAgICAgICMgc3BlY2lmaWVkIGFzIG9uZSBsb25nIHN0cmluZy4KKyAgICAgICAg
ICAgIGlnbm9yZWRfZmlsZXNfYmFzZW5hbWVzID0gc2VsZi5faWdub3JlZF9maWxlc19iYXNlbmFt
ZXMoKQorICAgICAgICAgICAgaWYgaWdub3JlZF9maWxlc19iYXNlbmFtZXM6CisgICAgICAgICAg
ICAgICAgYXJncy5hcHBlbmQoJy0taWdub3JlLWhlYWRlcnM9JXMnICUgaWdub3JlZF9maWxlc19i
YXNlbmFtZXMpCisKKyAgICAgICAgaWYgc2VsZi5oZWFkZXJzOgorICAgICAgICAgICAgYXJncy5l
eHRlbmQoc2VsZi5oZWFkZXJzKQorCisgICAgICAgIHNlbGYuX3J1bl9jb21tYW5kKGFyZ3MpCisK
KyAgICBkZWYgX3J1bl9ndGtkb2Nfc2NhbmdvYmooc2VsZik6CisgICAgICAgIGVudiA9IG9zLmVu
dmlyb24KKyAgICAgICAgbGRmbGFncyA9IHNlbGYubGRmbGFncworICAgICAgICBpZiBzZWxmLmxp
YnJhcnlfcGF0aDoKKyAgICAgICAgICAgIGFkZGl0aW9uYWxfbGRmbGFncyA9ICcnCisgICAgICAg
ICAgICBmb3IgYXJnIGluIGVudi5nZXQoJ0xERkxBR1MnLCAnJykuc3BsaXQoJyAnKToKKyAgICAg
ICAgICAgICAgICBpZiBhcmcuc3RhcnRzd2l0aCgnLUwnKToKKyAgICAgICAgICAgICAgICAgICAg
YWRkaXRpb25hbF9sZGZsYWdzID0gJyVzICVzJyAlIChhZGRpdGlvbmFsX2xkZmxhZ3MsIGFyZykK
KyAgICAgICAgICAgIGxkZmxhZ3MgPSAnICItTCVzIiAlcyAnICUgKHNlbGYubGlicmFyeV9wYXRo
LCBhZGRpdGlvbmFsX2xkZmxhZ3MpICsgbGRmbGFncworICAgICAgICAgICAgY3VycmVudF9sZF9s
aWJyYXJ5X3BhdGggPSBlbnYuZ2V0KCdMRF9MSUJSQVJZX1BBVEgnKQorICAgICAgICAgICAgaWYg
Y3VycmVudF9sZF9saWJyYXJ5X3BhdGg6CisgICAgICAgICAgICAgICAgZW52WydMRF9MSUJSQVJZ
X1BBVEgnXSA9ICclczolcycgJSAoc2VsZi5saWJyYXJ5X3BhdGgsIGN1cnJlbnRfbGRfbGlicmFy
eV9wYXRoKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBlbnZbJ0xEX0xJQlJB
UllfUEFUSCddID0gc2VsZi5saWJyYXJ5X3BhdGgKKworICAgICAgICBpZiBsZGZsYWdzOgorICAg
ICAgICAgICAgZW52WydMREZMQUdTJ10gPSAnJXMgJXMnICUgKGxkZmxhZ3MsIGVudi5nZXQoJ0xE
RkxBR1MnLCAnJykpCisgICAgICAgIGlmIHNlbGYuY2ZsYWdzOgorICAgICAgICAgICAgZW52WydD
RkxBR1MnXSA9ICclcyAlcycgJSAoc2VsZi5jZmxhZ3MsIGVudi5nZXQoJ0NGTEFHUycsICcnKSkK
KworICAgICAgICBpZiAnQ0ZMQUdTJyBpbiBlbnY6CisgICAgICAgICAgICBzZWxmLmxvZ2dlci5k
ZWJ1ZygnQ0ZMQUdTPSVzJywgZW52WydDRkxBR1MnXSkKKyAgICAgICAgaWYgJ0xERkxBR1MnIGlu
IGVudjoKKyAgICAgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCdMREZMQUdTICVzJywgZW52WydM
REZMQUdTJ10pCisgICAgICAgIHNlbGYuX3J1bl9jb21tYW5kKFsnZ3RrZG9jLXNjYW5nb2JqJywg
Jy0tbW9kdWxlPSVzJyAlIHNlbGYubW9kdWxlX25hbWVdLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICBlbnY9ZW52LCBjd2Q9c2VsZi5vdXRwdXRfZGlyKQorCisgICAgZGVmIF9ydW5fZ3RrZG9j
X21rZGIoc2VsZik6CisgICAgICAgIHNnbWxfZmlsZSA9IG9zLnBhdGguam9pbihzZWxmLm91dHB1
dF9kaXIsIHNlbGYubWFpbl9zZ21sX2ZpbGUpCisgICAgICAgIHNlbGYuX3JhaXNlX2V4Y2VwdGlv
bl9pZl9maWxlX2luYWNjZXNzaWJsZShzZ21sX2ZpbGUpCisKKyAgICAgICAgYXJncyA9IFsnZ3Rr
ZG9jLW1rZGInLAorICAgICAgICAgICAgICAgICctLW1vZHVsZT0lcycgJSBzZWxmLm1vZHVsZV9u
YW1lLAorICAgICAgICAgICAgICAgICctLW1haW4tc2dtbC1maWxlPSVzJyAlIHNnbWxfZmlsZSwK
KyAgICAgICAgICAgICAgICAnLS1zb3VyY2Utc3VmZml4ZXM9aCxjLGNwcCxjYycsCisgICAgICAg
ICAgICAgICAgJy0tb3V0cHV0LWZvcm1hdD14bWwnLAorICAgICAgICAgICAgICAgICctLXNnbWwt
bW9kZSddCisKKyAgICAgICAgaWYgc2VsZi5uYW1lc3BhY2U6CisgICAgICAgICAgICBhcmdzLmFw
cGVuZCgnLS1uYW1lLXNwYWNlPSVzJyAlIHNlbGYubmFtZXNwYWNlKQorCisgICAgICAgIGlnbm9y
ZWRfZmlsZXNfYmFzZW5hbWVzID0gc2VsZi5faWdub3JlZF9maWxlc19iYXNlbmFtZXMoKQorICAg
ICAgICBpZiBpZ25vcmVkX2ZpbGVzX2Jhc2VuYW1lczoKKyAgICAgICAgICAgIGFyZ3MuYXBwZW5k
KCctLWlnbm9yZS1maWxlcz0lcycgJSBpZ25vcmVkX2ZpbGVzX2Jhc2VuYW1lcykKKworICAgICAg
ICAjIEVhY2ggZGlyZWN0b3J5IHNob3VsZCBiZSBoYXZlIGl0cyBvd24gIi0tc291cmNlLWRpcj0i
IHByZWZpeC4KKyAgICAgICAgYXJncy5leHRlbmQoWyctLXNvdXJjZS1kaXI9JXMnICUgcGF0aCBm
b3IgcGF0aCBpbiBzZWxmLnNvdXJjZV9kaXJzXSkKKyAgICAgICAgc2VsZi5fcnVuX2NvbW1hbmQo
YXJncywgY3dkPXNlbGYub3V0cHV0X2RpcikKKworICAgIGRlZiBfcnVuX2d0a2RvY19ta2h0bWwo
c2VsZik6CisgICAgICAgICMgZ3RrZG9jLWZpeHhyZWYgZXhwZWN0cyB0aGUgcGF0aHMgdG8gYmUg
aHRtbC9tb2R1bGVuYW1lLgorICAgICAgICBodG1sX2Rlc3RfZGlyID0gb3MucGF0aC5qb2luKHNl
bGYub3V0cHV0X2RpciwgJ2h0bWwnLCBzZWxmLm1vZHVsZV9uYW1lKQorICAgICAgICBzZWxmLl9j
cmVhdGVfZGlyZWN0b3J5X2lmX25vbmV4aXN0ZW50KGh0bWxfZGVzdF9kaXIpCisgICAgICAgIGlm
IG5vdCBvcy5wYXRoLmlzZGlyKGh0bWxfZGVzdF9kaXIpOgorICAgICAgICAgICAgcmFpc2UgRXhj
ZXB0aW9uKCIlcyBpcyBub3QgYSBkaXJlY3RvcnksIGNvdWxkIG5vdCBnZW5lcmF0ZSBIVE1MIgor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICUgaHRtbF9kZXN0X2RpcikKKyAgICAgICAgZWxp
ZiBub3Qgb3MuYWNjZXNzKGh0bWxfZGVzdF9kaXIsIG9zLlhfT0sgfCBvcy5SX09LIHwgb3MuV19P
Syk6CisgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIkNvdWxkIG5vdCBhY2Nlc3MgJXMgdG8g
Z2VuZXJhdGUgSFRNTCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAlIGh0bWxfZGVzdF9k
aXIpCisKKyAgICAgICAgIyBndGtkb2MtbWtodG1sIGV4cGVjdHMgdGhlIFNHTUwgcGF0aCB0byBi
ZSBhYnNvbHV0ZS4KKyAgICAgICAgc2dtbF9maWxlID0gb3MucGF0aC5qb2luKG9zLnBhdGguYWJz
cGF0aChzZWxmLm91dHB1dF9kaXIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
c2VsZi5tYWluX3NnbWxfZmlsZSkKKyAgICAgICAgc2VsZi5fcmFpc2VfZXhjZXB0aW9uX2lmX2Zp
bGVfaW5hY2Nlc3NpYmxlKHNnbWxfZmlsZSkKKworICAgICAgICBzZWxmLl9ydW5fY29tbWFuZChb
J2d0a2RvYy1ta2h0bWwnLCBzZWxmLm1vZHVsZV9uYW1lLCBzZ21sX2ZpbGVdLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICBjd2Q9aHRtbF9kZXN0X2RpcikKKworICAgIGRlZiBfcnVuX2d0a2Rv
Y19maXh4cmVmKHNlbGYpOgorICAgICAgICBhcmdzID0gWydndGtkb2MtZml4eHJlZicsCisgICAg
ICAgICAgICAgICAgJy0tbW9kdWxlPSVzJyAlIHNlbGYubW9kdWxlX25hbWUsCisgICAgICAgICAg
ICAgICAgJy0tbW9kdWxlLWRpcj1odG1sLyVzJyAlIHNlbGYubW9kdWxlX25hbWVdCisgICAgICAg
IGFyZ3MuZXh0ZW5kKFsnLS1leHRyYS1kaXI9JXMnICUgZXh0cmFfZGlyIGZvciBleHRyYV9kaXIg
aW4gc2VsZi5jcm9zc19yZWZlcmVuY2VfZGVwc10pCisgICAgICAgIHNlbGYuX3J1bl9jb21tYW5k
KGFyZ3MsIGN3ZD1zZWxmLm91dHB1dF9kaXIsIGlnbm9yZV93YXJuaW5ncz1UcnVlKQorCisgICAg
ICAgICMgZ3RrZG9jLWZpeHhyZWYgaGFzIHNvbWUgcHJlZGVmaW5lZCBsaW5rcyBmb3Igd2hpY2gg
aXQgYWx3YXlzIHVzZXMgYWJzb2x1dGUgcGF0aHMuCisgICAgICAgIGh0bWxfZGlyX3ByZWZpeCA9
IG9zLnBhdGguam9pbihzZWxmLnZpcnR1YWxfcm9vdCArIHNlbGYucHJlZml4LCAnc2hhcmUnLCAn
Z3RrLWRvYycsICdodG1sJykKKyAgICAgICAgbW9kdWxlX2RpciA9IG9zLnBhdGguam9pbihzZWxm
Lm91dHB1dF9kaXIsICdodG1sJywgc2VsZi5tb2R1bGVfbmFtZSkKKyAgICAgICAgZm9yIGVudHJ5
IGluIG9zLmxpc3RkaXIobW9kdWxlX2Rpcik6CisgICAgICAgICAgICBpZiBub3QgZW50cnkuZW5k
c3dpdGgoJy5odG1sJyk6CisgICAgICAgICAgICAgICAgY29udGludWUKKworICAgICAgICAgICAg
ZmlsZW5hbWUgPSBvcy5wYXRoLmpvaW4obW9kdWxlX2RpciwgZW50cnkpCisgICAgICAgICAgICBj
b250ZW50cyA9ICcnCisgICAgICAgICAgICB3aXRoIGNvZGVjcy5vcGVuKGZpbGVuYW1lLCAncics
IGVuY29kaW5nPSd1dGYtOCcpIGFzIGY6CisgICAgICAgICAgICAgICAgY29udGVudHMgPSBmLnJl
YWQoKQorCisgICAgICAgICAgICBpZiBub3QgaHRtbF9kaXJfcHJlZml4IGluIGNvbnRlbnRzOgor
ICAgICAgICAgICAgICAgIGNvbnRpbnVlCisKKyAgICAgICAgICAgIHRtcF9maWxlbmFtZSA9IGZp
bGVuYW1lICsgJy5uZXcnCisgICAgICAgICAgICBuZXdfY29udGVudHMgPSBjb250ZW50cy5yZXBs
YWNlKGh0bWxfZGlyX3ByZWZpeCwgJy4uJykKKyAgICAgICAgICAgIHdpdGggY29kZWNzLm9wZW4o
dG1wX2ZpbGVuYW1lLCAndycsIGVuY29kaW5nPSd1dGYtOCcpIGFzIGY6CisgICAgICAgICAgICAg
ICAgZi53cml0ZShuZXdfY29udGVudHMpCisKKyAgICAgICAgICAgIG9zLnJlbmFtZSh0bXBfZmls
ZW5hbWUsIGZpbGVuYW1lKQorCisgICAgZGVmIHJlYmFzZV9pbnN0YWxsZWRfZG9jcyhzZWxmKToK
KyAgICAgICAgaWYgbm90IG9zLnBhdGguaXNkaXIoc2VsZi5vdXRwdXRfZGlyKToKKyAgICAgICAg
ICAgIHJhaXNlIEV4Y2VwdGlvbigiVHJpZWQgdG8gcmViYXNlIGRvY3VtZW50YXRpb24gYmVmb3Jl
IGdlbmVyYXRpbmcgaXQuIikKKyAgICAgICAgaHRtbF9kaXIgPSBvcy5wYXRoLmpvaW4oc2VsZi52
aXJ0dWFsX3Jvb3QgKyBzZWxmLnByZWZpeCwgJ3NoYXJlJywgJ2d0ay1kb2MnLCAnaHRtbCcsIHNl
bGYubW9kdWxlX25hbWUpCisgICAgICAgIGlmIG5vdCBvcy5wYXRoLmlzZGlyKGh0bWxfZGlyKToK
KyAgICAgICAgICAgIHJldHVybgorICAgICAgICBhcmdzID0gWydndGtkb2MtcmViYXNlJywKKyAg
ICAgICAgICAgICAgICAnLS1yZWxhdGl2ZScsCisgICAgICAgICAgICAgICAgJy0taHRtbC1kaXI9
JXMnICUgaHRtbF9kaXJdCisgICAgICAgIGFyZ3MuZXh0ZW5kKFsnLS1vdGhlci1kaXI9JXMnICUg
ZXh0cmFfZGlyIGZvciBleHRyYV9kaXIgaW4gc2VsZi5jcm9zc19yZWZlcmVuY2VfZGVwc10pCisg
ICAgICAgIGlmIHNlbGYudmlydHVhbF9yb290OgorICAgICAgICAgICAgYXJncy5leHRlbmQoWyct
LWRlc3QtZGlyPSVzJyAlIHNlbGYudmlydHVhbF9yb290XSkKKyAgICAgICAgc2VsZi5fcnVuX2Nv
bW1hbmQoYXJncywgY3dkPXNlbGYub3V0cHV0X2RpcikKKworICAgIGRlZiBhcGlfbWlzc2luZ19k
b2N1bWVudGF0aW9uKHNlbGYpOgorICAgICAgICB1bnVzZWRfZG9jX2ZpbGUgPSBvcy5wYXRoLmpv
aW4oc2VsZi5vdXRwdXRfZGlyLCBzZWxmLm1vZHVsZV9uYW1lICsgIi11bnVzZWQudHh0IikKKyAg
ICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKHVudXNlZF9kb2NfZmlsZSkgb3Igbm90IG9zLmFj
Y2Vzcyh1bnVzZWRfZG9jX2ZpbGUsIG9zLlJfT0spOgorICAgICAgICAgICAgcmV0dXJuIFtdCisg
ICAgICAgIHJldHVybiBvcGVuKHVudXNlZF9kb2NfZmlsZSkucmVhZCgpLnNwbGl0bGluZXMoKQor
CisKK2NsYXNzIFBrZ0NvbmZpZ0dUS0RvYyhHVEtEb2MpOgorCisgICAgIiIiQ2xhc3MgcmVhZHMg
YSBsaWJyYXJ5J3MgcGtnY29uZmlnIGZpbGUgdG8gZ3Vlc3MgZ3RrZG9jIHBhcmFtZXRlcnMuCisK
KyAgICBTb21lIGd0a2RvYyBwYXJhbWV0ZXJzIGNhbiBiZSBndWVzc2VkIGJ5IHJlYWRpbmcgYSBs
aWJyYXJ5J3MgcGtnY29uZmlnCisgICAgZmlsZSwgaW5jbHVkaW5nIHRoZSBjZmxhZ3MsIGxkZmxh
Z3MgYW5kIHZlcnNpb24gcGFyYW1ldGVycy4gSWYgeW91CisgICAgcHJvdmlkZSB0aGVzZSBwYXJh
bWV0ZXJzIGFzIHdlbGwsIHRoZXkgd2lsbCBiZSBhcHBlbmRlZCB0byB0aGUgb25lcworICAgIGd1
ZXNzZWQgdmlhIHRoZSBwa2djb25maWcgZmlsZS4KKworICAgIEtleXdvcmQgYXJndW1lbnRzOgor
ICAgICAgcGtnX2NvbmZpZ19wYXRoIC0tIFBhdGggdG8gdGhlIHBrZ2NvbmZpZyBmaWxlIGZvciB0
aGUgbGlicmFyeS4gUmVxdWlyZWQuCisgICAgIiIiCisKKyAgICBkZWYgX19pbml0X18oc2VsZiwg
cGtnX2NvbmZpZ19wYXRoLCBhcmdzKToKKyAgICAgICAgc3VwZXIoUGtnQ29uZmlnR1RLRG9jLCBz
ZWxmKS5fX2luaXRfXyhhcmdzKQorCisgICAgICAgIHBrZ19jb25maWcgPSBvcy5lbnZpcm9uLmdl
dCgnUEtHX0NPTkZJRycsICdwa2ctY29uZmlnJykKKworICAgICAgICBpZiBub3Qgb3MucGF0aC5l
eGlzdHMocGtnX2NvbmZpZ19wYXRoKToKKyAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbignQ291
bGQgbm90IGZpbmQgcGtnLWNvbmZpZyBmaWxlIGF0OiAlcycKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAlIHBrZ19jb25maWdfcGF0aCkKKworICAgICAgICBzZWxmLmNmbGFncyArPSAiICIg
KyBzZWxmLl9ydW5fY29tbWFuZChbcGtnX2NvbmZpZywKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHBrZ19jb25maWdfcGF0aCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLWNmbGFncyddLCBwcmludF9vdXRw
dXQ9RmFsc2UpCisgICAgICAgIHNlbGYubGRmbGFncyArPSAiICIgKyBzZWxmLl9ydW5fY29tbWFu
ZChbcGtnX2NvbmZpZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHBrZ19jb25maWdfcGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICctLWxpYnMnXSwgcHJpbnRfb3V0cHV0PUZhbHNlKQorICAgICAgICBz
ZWxmLnZlcnNpb24gPSBzZWxmLl9ydW5fY29tbWFuZChbcGtnX2NvbmZpZywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBrZ19jb25maWdfcGF0aCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLW1vZHZlcnNpb24nXSwgcHJpbnRf
b3V0cHV0PUZhbHNlKQorICAgICAgICBzZWxmLnByZWZpeCA9IHNlbGYuX3J1bl9jb21tYW5kKFtw
a2dfY29uZmlnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwa2df
Y29uZmlnX3BhdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICct
LXZhcmlhYmxlPXByZWZpeCddLCBwcmludF9vdXRwdXQ9RmFsc2UpCmRpZmYgLS1naXQgYS9Ub29s
cy93cGUvaW5zdGFsbC1kZXBlbmRlbmNpZXMgYi9Ub29scy93cGUvaW5zdGFsbC1kZXBlbmRlbmNp
ZXMKaW5kZXggYmNjYTI0MmMyNDE4Yjk2NjVhMDBkZWMxNTUyNDk1NDAxOGU2ODkwZS4uMGU0MDg3
ZmZmYmU2MWJiMjFhNWI2YTU3YmFiNThiYmVkMmI2MWY1ZCAxMDA3NTUKLS0tIGEvVG9vbHMvd3Bl
L2luc3RhbGwtZGVwZW5kZW5jaWVzCisrKyBiL1Rvb2xzL3dwZS9pbnN0YWxsLWRlcGVuZGVuY2ll
cwpAQCAtNjUsNiArNjUsNyBAQCBmdW5jdGlvbiBpbnN0YWxsRGVwZW5kZW5jaWVzV2l0aEFwdCB7
CiAgICAgICAgIGdhd2sgXAogICAgICAgICBnY2MgXAogICAgICAgICBncGVyZiBcCisgICAgICAg
IGd0ay1kb2MtdG9vbHMgXAogICAgICAgICBpbnRsdG9vbCBcCiAgICAgICAgIGl0c3Rvb2wgXAog
ICAgICAgICBsaWJhc291bmQyLWRldiBcCkBAIC0xNTUsNiArMTU2LDcgQEAgZnVuY3Rpb24gaW5z
dGFsbERlcGVuZGVuY2llc1dpdGhQYWNtYW4gewogICAgICAgICBnY2MgXAogICAgICAgICBnbnV0
bHMgXAogICAgICAgICBncGVyZiBcCisgICAgICAgIGd0ay1kb2MgXAogICAgICAgICBncmVwIFwK
ICAgICAgICAgZ3JvZmYgXAogICAgICAgICBnc3RyZWFtZXIgXApAQCAtMjUzLDYgKzI1NSw3IEBA
IGZ1bmN0aW9uIGluc3RhbGxEZXBlbmRlbmNpZXNXaXRoRG5mIHsKICAgICAgICAgZ3N0cmVhbWVy
MS1kZXZlbCBcCiAgICAgICAgIGdzdHJlYW1lcjEtcGx1Z2lucy1iYWQtZnJlZS1kZXZlbCBcCiAg
ICAgICAgIGdzdHJlYW1lcjEtcGx1Z2lucy1iYXNlLWRldmVsIFwKKyAgICAgICAgZ3RrLWRvYyBc
CiAgICAgICAgIGludGx0b29sIFwKICAgICAgICAgaXRzdG9vbCBcCiAgICAgICAgIGxpYmV2ZW50
LWRldmVsIFwKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBmN2Q3MDlm
OWUzNWUyYzg4YjlmYWJlMTcxMGM5NmJlMDZjYTdiOTBlLi44YmVmYzQ5NTczMTEyZjA2NTkyMjQw
NGU4NmY5NGE5NWE4NTEwMjU2IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTggQEAKKzIwMTgtMTAtMTggIENhcmxvcyBFZHVhcmRvIFJhbWFsaG8gIDxj
YWR1YmVudHplbkBnbWFpbC5jb20+CisKKyAgICAgICAgW1dQRV0gQWRkIGd0ay1kb2MKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODkwMAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBndGstZG9jIHRv
IFdQRSBwb3J0LiBUaGlzIHBhdGNoIHRyaWVzIHRvIHJldXNlIGFzIG11Y2ggY29kZSBmcm9tCisg
ICAgICAgIFdlYktpdEdUSysgYXMgcG9zc2libGUuCisKKyAgICAgICAgKiBTb3VyY2UvUGxhdGZv
cm1HVEsuY21ha2U6IGluY2x1ZGUgR3RrRG9jLmNtYWtlIGluc3RlYWQgb2YgZGVmaW5pbmcgbWFj
cm8uCisgICAgICAgICogU291cmNlL1BsYXRmb3JtV1BFLmNtYWtlOiBBZGRlZCBkb2N1bWVudGF0
aW9uIGdlbmVyYXRpb24uCisgICAgICAgICogU291cmNlL2NtYWtlL0d0a0RvYy5jbWFrZTogQWRk
ZWQuCisgICAgICAgICogU291cmNlL2NtYWtlL09wdGlvbnNXUEUuY21ha2U6IEFkZGVkIEVOQUJM
RV9HVEtET0MgYnVpbGQgb3B0aW9uIGFuZCBhZGRlZCBwa2ctY29uZmlnIHBhdGggdmFyaWFibGVz
LgorCiAyMDE4LTEwLTE2ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4K
IAogICAgICAgICBVbnJldmlld2VkLCBHVEsgYm90cyBidWlsZCBmaXgK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>352758</attachid>
            <date>2018-10-18 20:12:36 -0700</date>
            <delta_ts>2018-10-23 18:31:56 -0700</delta_ts>
            <desc>Fix build error</desc>
            <filename>bug-178900-20181019001233.patch</filename>
            <type>text/plain</type>
            <size>120939</size>
            <attacher name="Carlos Bentzen">cadubentzen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM3MjEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGYwODdkYzVlM2QwMmU0M2Mw
ODVkYjg5YjM0NzQ0MDkxNzhhMGExMDUuLjRiYzdjM2VhYmRlYzA5OWI5MmUzMWI1NTk2MjYzZDM5
N2RiNmFkNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTgtMTAtMTggIENhcmxvcyBF
ZHVhcmRvIFJhbWFsaG8gIDxjYWR1YmVudHplbkBnbWFpbC5jb20+CisKKyAgICAgICAgW1dQRV0g
QWRkIGd0ay1kb2MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE3ODkwMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkZCBBZGQgZ3RrLWRvYyB0byBXUEUgcG9ydC4gVGhpcyBwYXRjaCB0cmllcyB0byByZXVz
ZSBhcyBtdWNoIGNvZGUgZnJvbQorICAgICAgICBXZWJLaXRHVEsrIGFzIHBvc3NpYmxlLgorCisg
ICAgICAgICogUGxhdGZvcm1XUEUuY21ha2U6IFdyaXRlIHZhcmlhYmxlcyB0byBndGtkb2Mtd3Bl
LmNmZyB0aGF0IGlzIHVzZWQgYnkgcHl0aG9uIHNjcmlwdCBsYXRlcgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvd3BlL2RvY3Mvd3BlLTAuMS1zZWN0aW9ucy50eHQ6IEFkZGVkLgorICAgICAgICAq
IFVJUHJvY2Vzcy9BUEkvd3BlL2RvY3Mvd3BlLTAuMS50eXBlczogQWRkZWQuCisgICAgICAgICog
VUlQcm9jZXNzL0FQSS93cGUvZG9jcy93cGUtZG9jcy5zZ21sOiBBZGRlZC4KKwogMjAxOC0xMC0x
NiAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgYSBzd2l0
Y2ggZm9yIFdlYiBTUUwKZGlmZiAtLWdpdCBhL1NvdXJjZS9QbGF0Zm9ybUdUSy5jbWFrZSBiL1Nv
dXJjZS9QbGF0Zm9ybUdUSy5jbWFrZQppbmRleCAyODg0MWMyMGU5OGE3YTUyY2UwZDM3ZGU0ODhm
Yzk4MDg1MmFlZDhiLi43OTQyZDU3NzQ4ZjQ3MjMyZjc3ODY5YTk0NzNiODk1ZjRhM2M1MDZlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm1HVEsuY21ha2UKKysrIGIvU291cmNlL1BsYXRmb3Jt
R1RLLmNtYWtlCkBAIC0xLDMgKzEsNCBAQAoraW5jbHVkZShHdGtEb2MpCiBpbmNsdWRlKFdlYktp
dERpc3QpCiAKIGFkZF9zdWJkaXJlY3RvcnkoJHtXRUJDT1JFX0RJUn0vcGxhdGZvcm0vZ3RrL3Bv
KQpAQCAtMjUsMTggKzI2LDcgQEAgaWYgKEVOQUJMRV9HVEtET0MpCiAgICAgKQogZW5kaWYgKCkK
IAotbWFjcm8oQUREX0dUS0RPQ19HRU5FUkFUT1IgX3N0YW1wX25hbWUgX2V4dHJhX2FyZ3MpCi0g
ICAgYWRkX2N1c3RvbV9jb21tYW5kKAotICAgICAgICBPVVRQVVQgIiR7Q01BS0VfQklOQVJZX0RJ
Un0vJHtfc3RhbXBfbmFtZX0iCi0gICAgICAgIERFUEVORFMgJHtEb2N1bWVudGF0aW9uRGVwZW5k
ZW5jaWVzfQotICAgICAgICBDT01NQU5EICR7Q01BS0VfQ09NTUFORH0gLUUgZW52ICJDQz0ke0NN
QUtFX0NfQ09NUElMRVJ9IiAiQ0ZMQUdTPSR7Q01BS0VfQ19GTEFHU30gLVduby11bnVzZWQtcGFy
YW1ldGVyIiAke0NNQUtFX1NPVVJDRV9ESVJ9L1Rvb2xzL2d0ay9nZW5lcmF0ZS1ndGtkb2MgJHtf
ZXh0cmFfYXJnc30KLSAgICAgICAgQ09NTUFORCB0b3VjaCAke19zdGFtcF9uYW1lfQotICAgICAg
ICBXT1JLSU5HX0RJUkVDVE9SWSAiJHtDTUFLRV9CSU5BUllfRElSfSIKLSAgICAgICAgVkVSQkFU
SU0KLSAgICApCi1lbmRtYWNybygpCi0KLUFERF9HVEtET0NfR0VORVJBVE9SKCJkb2NzLWJ1aWxk
LnN0YW1wIiAiIikKK0FERF9HVEtET0NfR0VORVJBVE9SKCJkb2NzLWJ1aWxkLnN0YW1wIiAiLS1n
dGsiKQogaWYgKEVOQUJMRV9HVEtET0MpCiAgICAgYWRkX2N1c3RvbV90YXJnZXQoZ3RrZG9jIEFM
TCBERVBFTkRTICIke0NNQUtFX0JJTkFSWV9ESVJ9L2RvY3MtYnVpbGQuc3RhbXAiKQogZWxzZWlm
IChOT1QgRU5BQkxFRF9DT01QSUxFUl9TQU5JVElaRVJTIEFORCBOT1QgQ01BS0VfQ1JPU1NDT01Q
SUxJTkcgQU5EIE5PVCBBUFBMRSkKQEAgLTQ2LDcgKzM2LDcgQEAgZWxzZWlmIChOT1QgRU5BQkxF
RF9DT01QSUxFUl9TQU5JVElaRVJTIEFORCBOT1QgQ01BS0VfQ1JPU1NDT01QSUxJTkcgQU5EIE5P
VCBBUFAKICAgICAjIG9yIGVycm9ycy4gVGhpcyBpcyB1c2VmdWwgdG8gcHJldmVudCBicmVha2lu
ZyBkb2N1bWVudGF0aW9uIGluYWR2ZXJ0ZW50bHkgZHVyaW5nCiAgICAgIyB0aGUgY291cnNlIG9m
IGRldmVsb3BtZW50LgogICAgIGlmIChERVZFTE9QRVJfTU9ERSkKLSAgICAgICAgQUREX0dUS0RP
Q19HRU5FUkFUT1IoImRvY3MtYnVpbGQtbm8taHRtbC5zdGFtcCIgIi0tc2tpcC1odG1sIikKKyAg
ICAgICAgQUREX0dUS0RPQ19HRU5FUkFUT1IoImRvY3MtYnVpbGQtbm8taHRtbC5zdGFtcCIgIi0t
Z3RrOy0tc2tpcC1odG1sIikKICAgICAgICAgYWRkX2N1c3RvbV90YXJnZXQoZ3RrZG9jLW5vLWh0
bWwgQUxMIERFUEVORFMgIiR7Q01BS0VfQklOQVJZX0RJUn0vZG9jcy1idWlsZC1uby1odG1sLnN0
YW1wIikKICAgICBlbmRpZiAoKQogZW5kaWYgKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9QbGF0Zm9y
bVdQRS5jbWFrZSBiL1NvdXJjZS9QbGF0Zm9ybVdQRS5jbWFrZQppbmRleCAzODY0MmUwNzgyY2Mz
M2JmOTQ3NWU2ZWU0N2VlOTc3MTg1MzU3NTUxLi44OWE1ODNmN2NkNWNkMGU4Y2FmYmM3NmJmMTNk
YjE3NWM3Y2UyZDY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm1XUEUuY21ha2UKKysrIGIv
U291cmNlL1BsYXRmb3JtV1BFLmNtYWtlCkBAIC0xLDcgKzEsMzQgQEAKK2luY2x1ZGUoR3RrRG9j
KQogaW5jbHVkZShXZWJLaXREaXN0KQogCitsaXN0KEFQUEVORCBEb2N1bWVudGF0aW9uRGVwZW5k
ZW5jaWVzCisgICAgV2ViS2l0CisgICAgIiR7Q01BS0VfU09VUkNFX0RJUn0vU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL3dwZS9kb2NzL3dwZS1kb2NzLnNnbWwiCisgICAgIiR7Q01BS0VfU09V
UkNFX0RJUn0vU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9kb2NzL3dwZS0ke1dQRV9B
UElfVkVSU0lPTn0tc2VjdGlvbnMudHh0IgorKQorCitpZiAoRU5BQkxFX0dUS0RPQykKKyAgICBp
bnN0YWxsKERJUkVDVE9SWSAke0NNQUtFX0JJTkFSWV9ESVJ9L0RvY3VtZW50YXRpb24vd3BlLSR7
V1BFX0FQSV9WRVJTSU9OfS9odG1sL3dwZS0ke1dQRV9BUElfVkVSU0lPTn0KKyAgICAgICAgICAg
IERFU1RJTkFUSU9OICIke0NNQUtFX0lOU1RBTExfREFUQURJUn0vZ3RrLWRvYy9odG1sIgorICAg
ICkKK2VuZGlmICgpCisKK0FERF9HVEtET0NfR0VORVJBVE9SKCJkb2NzLWJ1aWxkLnN0YW1wIiAi
LS13cGUiKQoraWYgKEVOQUJMRV9HVEtET0MpCisgICAgYWRkX2N1c3RvbV90YXJnZXQoZ3RrZG9j
IEFMTCBERVBFTkRTICIke0NNQUtFX0JJTkFSWV9ESVJ9L2RvY3MtYnVpbGQuc3RhbXAiKQorZWxz
ZWlmIChOT1QgRU5BQkxFRF9DT01QSUxFUl9TQU5JVElaRVJTIEFORCBOT1QgQ01BS0VfQ1JPU1ND
T01QSUxJTkcgQU5EIE5PVCBBUFBMRSkKKyAgICBhZGRfY3VzdG9tX3RhcmdldChndGtkb2MgREVQ
RU5EUyAiJHtDTUFLRV9CSU5BUllfRElSfS9kb2NzLWJ1aWxkLnN0YW1wIikKKworICAgICMgQWRk
IGEgZGVmYXVsdCBidWlsZCBzdGVwIHdoaWNoIGNoZWNrIHRoYXQgZG9jdW1lbnRhdGlvbiBkb2Vz
IG5vdCBoYXZlIGFueSB3YXJuaW5ncworICAgICMgb3IgZXJyb3JzLiBUaGlzIGlzIHVzZWZ1bCB0
byBwcmV2ZW50IGJyZWFraW5nIGRvY3VtZW50YXRpb24gaW5hZHZlcnRlbnRseSBkdXJpbmcKKyAg
ICAjIHRoZSBjb3Vyc2Ugb2YgZGV2ZWxvcG1lbnQuCisgICAgaWYgKERFVkVMT1BFUl9NT0RFKQor
ICAgICAgICBBRERfR1RLRE9DX0dFTkVSQVRPUigiZG9jcy1idWlsZC1uby1odG1sLnN0YW1wIiAi
LS13cGU7LS1za2lwLWh0bWwiKQorICAgICAgICBhZGRfY3VzdG9tX3RhcmdldChndGtkb2Mtbm8t
aHRtbCBBTEwgREVQRU5EUyAiJHtDTUFLRV9CSU5BUllfRElSfS9kb2NzLWJ1aWxkLW5vLWh0bWwu
c3RhbXAiKQorICAgIGVuZGlmICgpCitlbmRpZiAoKQorCiBpZiAoREVWRUxPUEVSX01PREUpCi0g
ICAgIyBGSVhNRTogVGhpcyBzaG91bGQgZGVwZW5kIG9uIGEgZ3RrZG9jIHRhcmdldAotICAgIGFk
ZF9jdXN0b21fdGFyZ2V0KERvY3VtZW50YXRpb24pCisgICAgYWRkX2N1c3RvbV90YXJnZXQoRG9j
dW1lbnRhdGlvbiBERVBFTkRTIGd0a2RvYykKICAgICBXRUJLSVRfREVDTEFSRV9ESVNUX1RBUkdF
VFMoV1BFIHdwZXdlYmtpdCAke1RPT0xTX0RJUn0vd3BlL21hbmlmZXN0LnR4dC5pbikKIGVuZGlm
ICgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtV1BFLmNtYWtlIGIvU291cmNl
L1dlYktpdC9QbGF0Zm9ybVdQRS5jbWFrZQppbmRleCBmYzgzNTkxMWFhODE1OGQ1ZjdkMzAyNzNm
YjM5N2Q2MWIwYmExYjcwLi5iZWRiM2Q1YzliOTg3ZGYxZTBiMzU3Y2MzOGIxNTAzNWZiYzMwYjFm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtV1BFLmNtYWtlCisrKyBiL1NvdXJj
ZS9XZWJLaXQvUGxhdGZvcm1XUEUuY21ha2UKQEAgLTksOCArOSw4IEBAIGZpbGUoTUFLRV9ESVJF
Q1RPUlkgJHtGT1JXQVJESU5HX0hFQURFUlNfV1BFX0RJUn0pCiBmaWxlKE1BS0VfRElSRUNUT1JZ
ICR7Rk9SV0FSRElOR19IRUFERVJTX1dQRV9FWFRFTlNJT05fRElSfSkKIGZpbGUoTUFLRV9ESVJF
Q1RPUlkgJHtGT1JXQVJESU5HX0hFQURFUlNfV1BFX0RPTV9ESVJ9KQogCi1jb25maWd1cmVfZmls
ZSh3cGUvd3BlLXdlYmtpdC5wYy5pbiAke0NNQUtFX0JJTkFSWV9ESVJ9L3dwZS13ZWJraXQtJHtX
UEVfQVBJX1ZFUlNJT059LnBjIEBPTkxZKQotY29uZmlndXJlX2ZpbGUod3BlL3dwZS13ZWItZXh0
ZW5zaW9uLnBjLmluICR7Q01BS0VfQklOQVJZX0RJUn0vd3BlLXdlYi1leHRlbnNpb24tJHtXUEVf
QVBJX1ZFUlNJT059LnBjIEBPTkxZKQorY29uZmlndXJlX2ZpbGUod3BlL3dwZS13ZWJraXQucGMu
aW4gJHtXUEVfUEtHQ09ORklHX0ZJTEV9IEBPTkxZKQorY29uZmlndXJlX2ZpbGUod3BlL3dwZS13
ZWItZXh0ZW5zaW9uLnBjLmluICR7V1BFV2ViRXh0ZW5zaW9uX1BLR0NPTkZJR19GSUxFfSBAT05M
WSkKIAogYWRkX2RlZmluaXRpb25zKC1EV0VCS0lUMl9DT01QSUxBVElPTikKIApAQCAtMTQ2LDYg
KzE0Niw3IEBAIHNldChXUEVfQVBJX0lOU1RBTExFRF9IRUFERVJTCiAgICAgJHtXRUJLSVRfRElS
fS9VSVByb2Nlc3MvQVBJL3dwZS93ZWJraXQuaAogKQogCisjIEZJWE1FOiBTZXBhcmF0ZSB3ZWIt
ZXh0ZW5zaW9uIGFuZCBET00gaGVhZGVycyBpbiB0d28gZGlmZmVyZW50IGxpc3RzIGZvciBidWls
ZGluZyBzZXBhcmF0ZSBkb2N1bWVudGF0aW9ucy4KIHNldChXUEVfV0VCX0VYVEVOU0lPTl9BUElf
SU5TVEFMTEVEX0hFQURFUlMKICAgICAke0RFUklWRURfU09VUkNFU19XUEVfQVBJX0RJUn0vV2Vi
S2l0V2ViUHJvY2Vzc0VudW1UeXBlcy5oCiAgICAgJHtXRUJLSVRfRElSfS9XZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0FQSS93cGUvV2ViS2l0Q29uc29sZU1lc3NhZ2UuaApAQCAtMzMxLDMgKzMz
MiwyNCBAQCBpbnN0YWxsKEZJTEVTICR7V1BFX0FQSV9JTlNUQUxMRURfSEVBREVSU30KICAgICAg
ICAgREVTVElOQVRJT04gIiR7Q01BS0VfSU5TVEFMTF9JTkNMVURFRElSfS93cGUtd2Via2l0LSR7
V1BFX0FQSV9WRVJTSU9OfS93cGUiCiAgICAgICAgIENPTVBPTkVOVCAiRGV2ZWxvcG1lbnQiCiAp
CisKKyMgRklYTUU6IFdlYkV4dGVuc2lvbiBBUElzIGFyZSBub3QgaW5jbHVkZWQgeWV0LiBUaGUg
bGlzdCBvZiBoZWFkZXJzIGZvciBXZWJFeHRlbnNpb24gYWxzbyBoYXMgRE9NIGhlYWRlcnMuCitm
aWxlKFdSSVRFICR7Q01BS0VfQklOQVJZX0RJUn0vZ3RrZG9jLXdwZS5jZmcKKyAgICAiW3dwZS0k
e1dQRV9BUElfVkVSU0lPTn1dXG4iCisgICAgInBrZ2NvbmZpZ19maWxlPSR7V1BFX1BLR0NPTkZJ
R19GSUxFfVxuIgorICAgICJkZWNvcmF0b3I9V0VCS0lUX0FQSXxXRUJLSVRfREVQUkVDQVRFRHxX
RUJLSVRfREVQUkVDQVRFRF9GT1JcXCguK1xcKVxuIgorICAgICJkZXByZWNhdGlvbl9ndWFyZD1X
RUJLSVRfRElTQUJMRV9ERVBSRUNBVEVEXG4iCisgICAgIm5hbWVzcGFjZT13ZWJraXRcbiIKKyAg
ICAiY2ZsYWdzPS1JJHtDTUFLRV9TT1VSQ0VfRElSfS9Tb3VyY2VcbiIKKyAgICAiICAgICAgIC1J
JHtXRUJLSVRfRElSfS9TaGFyZWQvQVBJL2dsaWJcbiIKKyAgICAiICAgICAgIC1JJHtXRUJLSVRf
RElSfS9VSVByb2Nlc3MvQVBJL2dsaWJcbiIKKyAgICAiICAgICAgIC1JJHtXRUJLSVRfRElSfS9V
SVByb2Nlc3MvQVBJL3dwZVxuIgorICAgICIgICAgICAgLUkke0ZPUldBUkRJTkdfSEVBREVSU19X
UEVfRElSfVxuIgorICAgICJkb2NfZGlyPSR7V0VCS0lUX0RJUn0vVUlQcm9jZXNzL0FQSS93cGUv
ZG9jc1xuIgorICAgICJzb3VyY2VfZGlycz0ke1dFQktJVF9ESVJ9L1NoYXJlZC9BUEkvZ2xpYlxu
IgorICAgICIgICAgICAgICAgICAke1dFQktJVF9ESVJ9L1VJUHJvY2Vzcy9BUEkvZ2xpYlxuIgor
ICAgICIgICAgICAgICAgICAke1dFQktJVF9ESVJ9L1VJUHJvY2Vzcy9BUEkvd3BlXG4iCisgICAg
IiAgICAgICAgICAgICR7REVSSVZFRF9TT1VSQ0VTX1dQRV9BUElfRElSfVxuIgorICAgICJoZWFk
ZXJzPSR7V1BFX0VOVU1fR0VORVJBVElPTl9IRUFERVJTfVxuIgorICAgICJtYWluX3NnbWxfZmls
ZT13cGUtZG9jcy5zZ21sXG4iCispCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvd3BlL2RvY3Mvd3BlLTAuMS1zZWN0aW9ucy50eHQgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvd3BlL2RvY3Mvd3BlLTAuMS1zZWN0aW9ucy50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzQ3YjBl
MWY4ZGJmZWJjNmRhYjhhNWZhZTY4ODc5NmQ4MGIxY2Q3NAotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvZG9jcy93cGUtMC4xLXNlY3Rpb25zLnR4dApA
QCAtMCwwICsxLDE0NDIgQEAKKzxTRUNUSU9OPgorPEZJTEU+V2ViS2l0QXBwbGljYXRpb25JbmZv
PC9GSUxFPgorV0VCS0lUX1RZUEVfQVBQTElDQVRJT05fSU5GTworV2ViS2l0QXBwbGljYXRpb25J
bmZvCisKKzxTVUJTRUNUSU9OPgord2Via2l0X2FwcGxpY2F0aW9uX2luZm9fbmV3Cit3ZWJraXRf
YXBwbGljYXRpb25faW5mb19yZWYKK3dlYmtpdF9hcHBsaWNhdGlvbl9pbmZvX3VucmVmCit3ZWJr
aXRfYXBwbGljYXRpb25faW5mb19nZXRfbmFtZQord2Via2l0X2FwcGxpY2F0aW9uX2luZm9fZ2V0
X3ZlcnNpb24KK3dlYmtpdF9hcHBsaWNhdGlvbl9pbmZvX3NldF9uYW1lCit3ZWJraXRfYXBwbGlj
YXRpb25faW5mb19zZXRfdmVyc2lvbgorCis8U1VCU0VDVElPTiBQcml2YXRlPgord2Via2l0X2Fw
cGxpY2F0aW9uX2luZm9fZ2V0X3R5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5X
ZWJLaXRBdXRoZW50aWNhdGlvblJlcXVlc3Q8L0ZJTEU+Cis8VElUTEU+V2ViS2l0QXV0aGVudGlj
YXRpb25SZXF1ZXN0PC9USVRMRT4KK1dlYktpdEF1dGhlbnRpY2F0aW9uU2NoZW1lCisKKzxTVUJT
RUNUSU9OPgord2Via2l0X2F1dGhlbnRpY2F0aW9uX3JlcXVlc3RfYXV0aGVudGljYXRlCit3ZWJr
aXRfYXV0aGVudGljYXRpb25fcmVxdWVzdF9jYW5fc2F2ZV9jcmVkZW50aWFscword2Via2l0X2F1
dGhlbnRpY2F0aW9uX3JlcXVlc3RfY2FuY2VsCit3ZWJraXRfYXV0aGVudGljYXRpb25fcmVxdWVz
dF9nZXRfaG9zdAord2Via2l0X2F1dGhlbnRpY2F0aW9uX3JlcXVlc3RfZ2V0X3BvcnQKK3dlYmtp
dF9hdXRoZW50aWNhdGlvbl9yZXF1ZXN0X2dldF9wcm9wb3NlZF9jcmVkZW50aWFsCit3ZWJraXRf
YXV0aGVudGljYXRpb25fcmVxdWVzdF9nZXRfcmVhbG0KK3dlYmtpdF9hdXRoZW50aWNhdGlvbl9y
ZXF1ZXN0X2dldF9zY2hlbWUKK3dlYmtpdF9hdXRoZW50aWNhdGlvbl9yZXF1ZXN0X2lzX2Zvcl9w
cm94eQord2Via2l0X2F1dGhlbnRpY2F0aW9uX3JlcXVlc3RfaXNfcmV0cnkKKworPFNVQlNFQ1RJ
T04gU3RhbmRhcmQ+CitXRUJLSVRfQVVUSEVOVElDQVRJT05fUkVRVUVTVAorV0VCS0lUX0FVVEhF
TlRJQ0FUSU9OX1JFUVVFU1RfQ0xBU1MKK1dFQktJVF9BVVRIRU5USUNBVElPTl9SRVFVRVNUX0dF
VF9DTEFTUworV0VCS0lUX0lTX0FVVEhFTlRJQ0FUSU9OX1JFUVVFU1QKK1dFQktJVF9JU19BVVRI
RU5USUNBVElPTl9SRVFVRVNUX0NMQVNTCitXRUJLSVRfVFlQRV9BVVRIRU5USUNBVElPTl9SRVFV
RVNUCitXZWJLaXRBdXRoZW50aWNhdGlvblJlcXVlc3QKK1dlYktpdEF1dGhlbnRpY2F0aW9uUmVx
dWVzdENsYXNzCitXZWJLaXRBdXRoZW50aWNhdGlvblJlcXVlc3RQcml2YXRlCisKKzxTVUJTRUNU
SU9OIFByaXZhdGU+Cit3ZWJraXRfYXV0aGVudGljYXRpb25fcmVxdWVzdF9nZXRfdHlwZQorPC9T
RUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktpdEF1dG9tYXRpb25TZXNzaW9uPC9GSUxF
PgorPFRJVExFPldlYktpdEF1dG9tYXRpb25TZXNzaW9uPC9USVRMRT4KKworPFNVQlNFQ1RJT04+
Cit3ZWJraXRfYXV0b21hdGlvbl9zZXNzaW9uX2dldF9hcHBsaWNhdGlvbl9pbmZvCit3ZWJraXRf
YXV0b21hdGlvbl9zZXNzaW9uX2dldF9pZAord2Via2l0X2F1dG9tYXRpb25fc2Vzc2lvbl9zZXRf
YXBwbGljYXRpb25faW5mbworCis8U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dFQktJVF9BVVRPTUFU
SU9OX1NFU1NJT04KK1dFQktJVF9BVVRPTUFUSU9OX1NFU1NJT05fQ0xBU1MKK1dFQktJVF9BVVRP
TUFUSU9OX1NFU1NJT05fR0VUX0NMQVNTCitXRUJLSVRfSVNfQVVUT01BVElPTl9TRVNTSU9OCitX
RUJLSVRfSVNfQVVUT01BVElPTl9TRVNTSU9OX0NMQVNTCitXRUJLSVRfVFlQRV9BVVRPTUFUSU9O
X1NFU1NJT04KK1dlYktpdEF1dG9tYXRpb25TZXNzaW9uCitXZWJLaXRBdXRvbWF0aW9uU2Vzc2lv
bkNsYXNzCitXZWJLaXRBdXRvbWF0aW9uU2Vzc2lvblByaXZhdGUKKworPFNVQlNFQ1RJT04gUHJp
dmF0ZT4KK3dlYmtpdF9hdXRvbWF0aW9uX3Nlc3Npb25fZ2V0X3R5cGUKKzwvU0VDVElPTj4KKwor
PFNFQ1RJT04+Cis8RklMRT5XZWJLaXRCYWNrRm9yd2FyZExpc3Q8L0ZJTEU+Cis8VElUTEU+V2Vi
S2l0QmFja0ZvcndhcmRMaXN0PC9USVRMRT4KKworPFNVQlNFQ1RJT04+Cit3ZWJraXRfYmFja19m
b3J3YXJkX2xpc3RfZ2V0X2JhY2tfaXRlbQord2Via2l0X2JhY2tfZm9yd2FyZF9saXN0X2dldF9i
YWNrX2xpc3QKK3dlYmtpdF9iYWNrX2ZvcndhcmRfbGlzdF9nZXRfYmFja19saXN0X3dpdGhfbGlt
aXQKK3dlYmtpdF9iYWNrX2ZvcndhcmRfbGlzdF9nZXRfY3VycmVudF9pdGVtCit3ZWJraXRfYmFj
a19mb3J3YXJkX2xpc3RfZ2V0X2ZvcndhcmRfaXRlbQord2Via2l0X2JhY2tfZm9yd2FyZF9saXN0
X2dldF9mb3J3YXJkX2xpc3QKK3dlYmtpdF9iYWNrX2ZvcndhcmRfbGlzdF9nZXRfZm9yd2FyZF9s
aXN0X3dpdGhfbGltaXQKK3dlYmtpdF9iYWNrX2ZvcndhcmRfbGlzdF9nZXRfbGVuZ3RoCit3ZWJr
aXRfYmFja19mb3J3YXJkX2xpc3RfZ2V0X250aF9pdGVtCisKKzxTVUJTRUNUSU9OIFN0YW5kYXJk
PgorV0VCS0lUX0JBQ0tfRk9SV0FSRF9MSVNUCitXRUJLSVRfQkFDS19GT1JXQVJEX0xJU1RfQ0xB
U1MKK1dFQktJVF9CQUNLX0ZPUldBUkRfTElTVF9HRVRfQ0xBU1MKK1dFQktJVF9JU19CQUNLX0ZP
UldBUkRfTElTVAorV0VCS0lUX0lTX0JBQ0tfRk9SV0FSRF9MSVNUX0NMQVNTCitXRUJLSVRfVFlQ
RV9CQUNLX0ZPUldBUkRfTElTVAorV2ViS2l0QmFja0ZvcndhcmRMaXN0CitXZWJLaXRCYWNrRm9y
d2FyZExpc3RDbGFzcworV2ViS2l0QmFja0ZvcndhcmRMaXN0UHJpdmF0ZQorCis8U1VCU0VDVElP
TiBQcml2YXRlPgord2Via2l0X2JhY2tfZm9yd2FyZF9saXN0X2dldF90eXBlCis8L1NFQ1RJT04+
CisKKzxTRUNUSU9OPgorPEZJTEU+V2ViS2l0QmFja0ZvcndhcmRMaXN0SXRlbTwvRklMRT4KKzxU
SVRMRT5XZWJLaXRCYWNrRm9yd2FyZExpc3RJdGVtPC9USVRMRT4KKworPFNVQlNFQ1RJT04+Cit3
ZWJraXRfYmFja19mb3J3YXJkX2xpc3RfaXRlbV9nZXRfb3JpZ2luYWxfdXJpCit3ZWJraXRfYmFj
a19mb3J3YXJkX2xpc3RfaXRlbV9nZXRfdGl0bGUKKword2Via2l0X2JhY2tfZm9yd2FyZF9saXN0
X2l0ZW1fZ2V0X3VyaQorCis8U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dFQktJVF9CQUNLX0ZPUldB
UkRfTElTVF9JVEVNCitXRUJLSVRfQkFDS19GT1JXQVJEX0xJU1RfSVRFTV9DTEFTUworV0VCS0lU
X0JBQ0tfRk9SV0FSRF9MSVNUX0lURU1fR0VUX0NMQVNTCitXRUJLSVRfSVNfQkFDS19GT1JXQVJE
X0xJU1RfSVRFTQorV0VCS0lUX0lTX0JBQ0tfRk9SV0FSRF9MSVNUX0lURU1fQ0xBU1MKK1dFQktJ
VF9UWVBFX0JBQ0tfRk9SV0FSRF9MSVNUX0lURU0KK1dlYktpdEJhY2tGb3J3YXJkTGlzdEl0ZW0K
K1dlYktpdEJhY2tGb3J3YXJkTGlzdEl0ZW1DbGFzcworV2ViS2l0QmFja0ZvcndhcmRMaXN0SXRl
bVByaXZhdGUKKworPFNVQlNFQ1RJT04gUHJpdmF0ZT4KK3dlYmtpdF9iYWNrX2ZvcndhcmRfbGlz
dF9pdGVtX2dldF90eXBlCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+V2ViS2l0Q29u
dGV4dE1lbnU8L0ZJTEU+Cis8VElUTEU+V2ViS2l0Q29udGV4dE1lbnU8L1RJVExFPgorPFNVQlNF
Q1RJT04+CisKK3dlYmtpdF9jb250ZXh0X21lbnVfbmV3Cit3ZWJraXRfY29udGV4dF9tZW51X25l
d193aXRoX2l0ZW1zCit3ZWJraXRfY29udGV4dF9tZW51X2FwcGVuZAord2Via2l0X2NvbnRleHRf
bWVudV9maXJzdAord2Via2l0X2NvbnRleHRfbWVudV9nZXRfaXRlbV9hdF9wb3NpdGlvbgord2Vi
a2l0X2NvbnRleHRfbWVudV9nZXRfaXRlbXMKK3dlYmtpdF9jb250ZXh0X21lbnVfZ2V0X25faXRl
bXMKK3dlYmtpdF9jb250ZXh0X21lbnVfZ2V0X3VzZXJfZGF0YQord2Via2l0X2NvbnRleHRfbWVu
dV9pbnNlcnQKK3dlYmtpdF9jb250ZXh0X21lbnVfbGFzdAord2Via2l0X2NvbnRleHRfbWVudV9t
b3ZlX2l0ZW0KK3dlYmtpdF9jb250ZXh0X21lbnVfcHJlcGVuZAord2Via2l0X2NvbnRleHRfbWVu
dV9yZW1vdmUKK3dlYmtpdF9jb250ZXh0X21lbnVfcmVtb3ZlX2FsbAord2Via2l0X2NvbnRleHRf
bWVudV9zZXRfdXNlcl9kYXRhCisKKzxTVUJTRUNUSU9OIFN0YW5kYXJkPgorV0VCS0lUX0NPTlRF
WFRfTUVOVQorV0VCS0lUX0NPTlRFWFRfTUVOVV9DTEFTUworV0VCS0lUX0NPTlRFWFRfTUVOVV9H
RVRfQ0xBU1MKK1dFQktJVF9JU19DT05URVhUX01FTlUKK1dFQktJVF9JU19DT05URVhUX01FTlVf
Q0xBU1MKK1dFQktJVF9UWVBFX0NPTlRFWFRfTUVOVQorV2ViS2l0Q29udGV4dE1lbnUKK1dlYktp
dENvbnRleHRNZW51Q2xhc3MKK1dlYktpdENvbnRleHRNZW51UHJpdmF0ZQorCis8U1VCU0VDVElP
TiBQcml2YXRlPgord2Via2l0X2NvbnRleHRfbWVudV9nZXRfdHlwZQorPC9TRUNUSU9OPgorCis8
U0VDVElPTj4KKzxGSUxFPldlYktpdENvbnRleHRNZW51SXRlbTwvRklMRT4KKzxUSVRMRT5XZWJL
aXRDb250ZXh0TWVudUl0ZW08L1RJVExFPgorCis8U1VCU0VDVElPTj4KK3dlYmtpdF9jb250ZXh0
X21lbnVfaXRlbV9uZXdfZnJvbV9nYWN0aW9uCit3ZWJraXRfY29udGV4dF9tZW51X2l0ZW1fbmV3
X2Zyb21fc3RvY2tfYWN0aW9uCit3ZWJraXRfY29udGV4dF9tZW51X2l0ZW1fbmV3X2Zyb21fc3Rv
Y2tfYWN0aW9uX3dpdGhfbGFiZWwKK3dlYmtpdF9jb250ZXh0X21lbnVfaXRlbV9uZXdfc2VwYXJh
dG9yCit3ZWJraXRfY29udGV4dF9tZW51X2l0ZW1fbmV3X3dpdGhfc3VibWVudQord2Via2l0X2Nv
bnRleHRfbWVudV9pdGVtX2dldF9nYWN0aW9uCit3ZWJraXRfY29udGV4dF9tZW51X2l0ZW1fZ2V0
X3N0b2NrX2FjdGlvbgord2Via2l0X2NvbnRleHRfbWVudV9pdGVtX2dldF9zdWJtZW51Cit3ZWJr
aXRfY29udGV4dF9tZW51X2l0ZW1faXNfc2VwYXJhdG9yCit3ZWJraXRfY29udGV4dF9tZW51X2l0
ZW1fc2V0X3N1Ym1lbnUKKworPFNVQlNFQ1RJT04gU3RhbmRhcmQ+CitXRUJLSVRfQ09OVEVYVF9N
RU5VX0lURU0KK1dFQktJVF9DT05URVhUX01FTlVfSVRFTV9DTEFTUworV0VCS0lUX0NPTlRFWFRf
TUVOVV9JVEVNX0dFVF9DTEFTUworV0VCS0lUX0lTX0NPTlRFWFRfTUVOVV9JVEVNCitXRUJLSVRf
SVNfQ09OVEVYVF9NRU5VX0lURU1fQ0xBU1MKK1dFQktJVF9UWVBFX0NPTlRFWFRfTUVOVV9JVEVN
CitXZWJLaXRDb250ZXh0TWVudUFjdGlvbgorV2ViS2l0Q29udGV4dE1lbnVJdGVtCitXZWJLaXRD
b250ZXh0TWVudUl0ZW1DbGFzcworV2ViS2l0Q29udGV4dE1lbnVJdGVtUHJpdmF0ZQorCis8U1VC
U0VDVElPTiBQcml2YXRlPgord2Via2l0X2NvbnRleHRfbWVudV9pdGVtX2dldF90eXBlCis8L1NF
Q1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+V2ViS2l0Q29va2llTWFuYWdlcjwvRklMRT4KKzxU
SVRMRT5XZWJLaXRDb29raWVNYW5hZ2VyPC9USVRMRT4KK1dlYktpdENvb2tpZVBlcnNpc3RlbnRT
dG9yYWdlCitXZWJLaXRDb29raWVBY2NlcHRQb2xpY3kKKworPFNVQlNFQ1RJT04+Cit3ZWJraXRf
Y29va2llX21hbmFnZXJfYWRkX2Nvb2tpZQord2Via2l0X2Nvb2tpZV9tYW5hZ2VyX2FkZF9jb29r
aWVfZmluaXNoCit3ZWJraXRfY29va2llX21hbmFnZXJfZGVsZXRlX2Nvb2tpZQord2Via2l0X2Nv
b2tpZV9tYW5hZ2VyX2RlbGV0ZV9jb29raWVfZmluaXNoCit3ZWJraXRfY29va2llX21hbmFnZXJf
Z2V0X2FjY2VwdF9wb2xpY3kKK3dlYmtpdF9jb29raWVfbWFuYWdlcl9nZXRfYWNjZXB0X3BvbGlj
eV9maW5pc2gKK3dlYmtpdF9jb29raWVfbWFuYWdlcl9nZXRfY29va2llcword2Via2l0X2Nvb2tp
ZV9tYW5hZ2VyX2dldF9jb29raWVzX2ZpbmlzaAord2Via2l0X2Nvb2tpZV9tYW5hZ2VyX3NldF9h
Y2NlcHRfcG9saWN5Cit3ZWJraXRfY29va2llX21hbmFnZXJfc2V0X3BlcnNpc3RlbnRfc3RvcmFn
ZQorCis8U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dFQktJVF9DT09LSUVfTUFOQUdFUgorV0VCS0lU
X0NPT0tJRV9NQU5BR0VSX0NMQVNTCitXRUJLSVRfQ09PS0lFX01BTkFHRVJfR0VUX0NMQVNTCitX
RUJLSVRfSVNfQ09PS0lFX01BTkFHRVIKK1dFQktJVF9JU19DT09LSUVfTUFOQUdFUl9DTEFTUwor
V0VCS0lUX1RZUEVfQ09PS0lFX01BTkFHRVIKK1dlYktpdENvb2tpZU1hbmFnZXIKK1dlYktpdENv
b2tpZU1hbmFnZXJDbGFzcworV2ViS2l0Q29va2llTWFuYWdlclByaXZhdGUKKworPFNVQlNFQ1RJ
T04gUHJpdmF0ZT4KK3dlYmtpdF9jb29raWVfbWFuYWdlcl9nZXRfdHlwZQorPC9TRUNUSU9OPgor
Cis8U0VDVElPTj4KKzxGSUxFPldlYktpdENyZWRlbnRpYWw8L0ZJTEU+CitXRUJLSVRfVFlQRV9D
UkVERU5USUFMCitXZWJLaXRDcmVkZW50aWFsUGVyc2lzdGVuY2UKK1dlYktpdENyZWRlbnRpYWwK
KworPFNVQlNFQ1RJT04+Cit3ZWJraXRfY3JlZGVudGlhbF9uZXcKK3dlYmtpdF9jcmVkZW50aWFs
X2NvcHkKK3dlYmtpdF9jcmVkZW50aWFsX2ZyZWUKK3dlYmtpdF9jcmVkZW50aWFsX2dldF9wYXNz
d29yZAord2Via2l0X2NyZWRlbnRpYWxfZ2V0X3BlcnNpc3RlbmNlCit3ZWJraXRfY3JlZGVudGlh
bF9nZXRfdXNlcm5hbWUKK3dlYmtpdF9jcmVkZW50aWFsX2hhc19wYXNzd29yZAorCis8U1VCU0VD
VElPTiBQcml2YXRlPgord2Via2l0X2NyZWRlbnRpYWxfZ2V0X3R5cGUKKzwvU0VDVElPTj4KKwor
PFNFQ1RJT04+Cis8RklMRT5XZWJLaXREb3dubG9hZDwvRklMRT4KKzxUSVRMRT5XZWJLaXREb3du
bG9hZDwvVElUTEU+CisKKzxTVUJTRUNUSU9OPgord2Via2l0X2Rvd25sb2FkX2NhbmNlbAord2Vi
a2l0X2Rvd25sb2FkX2dldF9hbGxvd19vdmVyd3JpdGUKK3dlYmtpdF9kb3dubG9hZF9nZXRfZGVz
dGluYXRpb24KK3dlYmtpdF9kb3dubG9hZF9nZXRfZWxhcHNlZF90aW1lCit3ZWJraXRfZG93bmxv
YWRfZ2V0X2VzdGltYXRlZF9wcm9ncmVzcword2Via2l0X2Rvd25sb2FkX2dldF9yZWNlaXZlZF9k
YXRhX2xlbmd0aAord2Via2l0X2Rvd25sb2FkX2dldF9yZXF1ZXN0Cit3ZWJraXRfZG93bmxvYWRf
Z2V0X3Jlc3BvbnNlCit3ZWJraXRfZG93bmxvYWRfZ2V0X3dlYl92aWV3Cit3ZWJraXRfZG93bmxv
YWRfc2V0X2FsbG93X292ZXJ3cml0ZQord2Via2l0X2Rvd25sb2FkX3NldF9kZXN0aW5hdGlvbgor
Cis8U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dFQktJVF9ET1dOTE9BRAorV0VCS0lUX0RPV05MT0FE
X0NMQVNTCitXRUJLSVRfRE9XTkxPQURfR0VUX0NMQVNTCitXRUJLSVRfSVNfRE9XTkxPQUQKK1dF
QktJVF9JU19ET1dOTE9BRF9DTEFTUworV0VCS0lUX1RZUEVfRE9XTkxPQUQKK1dlYktpdERvd25s
b2FkCitXZWJLaXREb3dubG9hZENsYXNzCitXZWJLaXREb3dubG9hZFByaXZhdGUKKworPFNVQlNF
Q1RJT04gUHJpdmF0ZT4KK3dlYmtpdF9kb3dubG9hZF9nZXRfdHlwZQorPC9TRUNUSU9OPgorCis8
U0VDVElPTj4KKzxGSUxFPldlYktpdEVkaXRvclN0YXRlPC9GSUxFPgorPFRJVExFPldlYktpdEVk
aXRvclN0YXRlPC9USVRMRT4KK1dlYktpdEVkaXRvclR5cGluZ0F0dHJpYnV0ZXMKKworPFNVQlNF
Q1RJT04+Cit3ZWJraXRfZWRpdG9yX3N0YXRlX2dldF90eXBpbmdfYXR0cmlidXRlcword2Via2l0
X2VkaXRvcl9zdGF0ZV9pc19jb3B5X2F2YWlsYWJsZQord2Via2l0X2VkaXRvcl9zdGF0ZV9pc19j
dXRfYXZhaWxhYmxlCit3ZWJraXRfZWRpdG9yX3N0YXRlX2lzX3Bhc3RlX2F2YWlsYWJsZQord2Vi
a2l0X2VkaXRvcl9zdGF0ZV9pc19yZWRvX2F2YWlsYWJsZQord2Via2l0X2VkaXRvcl9zdGF0ZV9p
c191bmRvX2F2YWlsYWJsZQorCis8U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dFQktJVF9FRElUT1Jf
U1RBVEUKK1dFQktJVF9FRElUT1JfU1RBVEVfQ0xBU1MKK1dFQktJVF9FRElUT1JfU1RBVEVfR0VU
X0NMQVNTCitXRUJLSVRfSVNfRURJVE9SX1NUQVRFCitXRUJLSVRfSVNfRURJVE9SX1NUQVRFX0NM
QVNTCitXRUJLSVRfVFlQRV9FRElUT1JfU1RBVEUKK1dlYktpdEVkaXRvclN0YXRlCitXZWJLaXRF
ZGl0b3JTdGF0ZUNsYXNzCitXZWJLaXRFZGl0b3JTdGF0ZVByaXZhdGUKKworPFNVQlNFQ1RJT04g
UHJpdmF0ZT4KK3dlYmtpdF9lZGl0b3Jfc3RhdGVfZ2V0X3R5cGUKKzwvU0VDVElPTj4KKworPFNF
Q1RJT04+Cis8RklMRT5XZWJLaXRFcnJvcjwvRklMRT4KK1dFQktJVF9ORVRXT1JLX0VSUk9SCitX
RUJLSVRfUE9MSUNZX0VSUk9SCitXRUJLSVRfUExVR0lOX0VSUk9SCitXRUJLSVRfRE9XTkxPQURf
RVJST1IKK1dFQktJVF9KQVZBU0NSSVBUX0VSUk9SCitXRUJLSVRfU05BUFNIT1RfRVJST1IKK1dF
QktJVF9GQVZJQ09OX0RBVEFCQVNFX0VSUk9SCitXZWJLaXROZXR3b3JrRXJyb3IKK1dlYktpdFBv
bGljeUVycm9yCitXZWJLaXRQbHVnaW5FcnJvcgorV2ViS2l0RG93bmxvYWRFcnJvcgorV2ViS2l0
SmF2YXNjcmlwdEVycm9yCitXZWJLaXRTbmFwc2hvdEVycm9yCitXZWJLaXRGYXZpY29uRGF0YWJh
c2VFcnJvcgord2Via2l0X25ldHdvcmtfZXJyb3JfcXVhcmsKK3dlYmtpdF9wb2xpY3lfZXJyb3Jf
cXVhcmsKK3dlYmtpdF9wbHVnaW5fZXJyb3JfcXVhcmsKK3dlYmtpdF9kb3dubG9hZF9lcnJvcl9x
dWFyaword2Via2l0X2phdmFzY3JpcHRfZXJyb3JfcXVhcmsKK3dlYmtpdF9zbmFwc2hvdF9lcnJv
cl9xdWFyaword2Via2l0X2Zhdmljb25fZGF0YWJhc2VfZXJyb3JfcXVhcmsKKzwvU0VDVElPTj4K
KworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXRGYXZpY29uRGF0YWJhc2U8L0ZJTEU+Cis8VElUTEU+
V2ViS2l0RmF2aWNvbkRhdGFiYXNlPC9USVRMRT4KKword2Via2l0X2Zhdmljb25fZGF0YWJhc2Vf
Y2xlYXIKK3dlYmtpdF9mYXZpY29uX2RhdGFiYXNlX2dldF9mYXZpY29uX3VyaQorCis8U1VCU0VD
VElPTiBTdGFuZGFyZD4KK1dFQktJVF9GQVZJQ09OX0RBVEFCQVNFCitXRUJLSVRfRkFWSUNPTl9E
QVRBQkFTRV9DTEFTUworV0VCS0lUX0ZBVklDT05fREFUQUJBU0VfR0VUX0NMQVNTCitXRUJLSVRf
SVNfRkFWSUNPTl9EQVRBQkFTRQorV0VCS0lUX0lTX0ZBVklDT05fREFUQUJBU0VfQ0xBU1MKK1dF
QktJVF9UWVBFX0ZBVklDT05fREFUQUJBU0UKK1dlYktpdEZhdmljb25EYXRhYmFzZQorV2ViS2l0
RmF2aWNvbkRhdGFiYXNlQ2xhc3MKK1dlYktpdEZhdmljb25EYXRhYmFzZVByaXZhdGUKKworPFNV
QlNFQ1RJT04gUHJpdmF0ZT4KK3dlYmtpdF9mYXZpY29uX2RhdGFiYXNlX2dldF90eXBlCis8L1NF
Q1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+V2ViS2l0RmlsZUNob29zZXJSZXF1ZXN0PC9GSUxF
PgorPFRJVExFPldlYktpdEZpbGVDaG9vc2VyUmVxdWVzdDwvVElUTEU+CisKKzxTVUJTRUNUSU9O
Pgord2Via2l0X2ZpbGVfY2hvb3Nlcl9yZXF1ZXN0X2NhbmNlbAord2Via2l0X2ZpbGVfY2hvb3Nl
cl9yZXF1ZXN0X2dldF9taW1lX3R5cGVzCit3ZWJraXRfZmlsZV9jaG9vc2VyX3JlcXVlc3RfZ2V0
X3NlbGVjdF9tdWx0aXBsZQord2Via2l0X2ZpbGVfY2hvb3Nlcl9yZXF1ZXN0X2dldF9zZWxlY3Rl
ZF9maWxlcword2Via2l0X2ZpbGVfY2hvb3Nlcl9yZXF1ZXN0X3NlbGVjdF9maWxlcworCis8U1VC
U0VDVElPTiBTdGFuZGFyZD4KK1dFQktJVF9GSUxFX0NIT09TRVJfUkVRVUVTVAorV0VCS0lUX0ZJ
TEVfQ0hPT1NFUl9SRVFVRVNUX0NMQVNTCitXRUJLSVRfRklMRV9DSE9PU0VSX1JFUVVFU1RfR0VU
X0NMQVNTCitXRUJLSVRfSVNfRklMRV9DSE9PU0VSX1JFUVVFU1QKK1dFQktJVF9JU19GSUxFX0NI
T09TRVJfUkVRVUVTVF9DTEFTUworV0VCS0lUX1RZUEVfRklMRV9DSE9PU0VSX1JFUVVFU1QKK1dl
YktpdEZpbGVDaG9vc2VyUmVxdWVzdAorV2ViS2l0RmlsZUNob29zZXJSZXF1ZXN0Q2xhc3MKK1dl
YktpdEZpbGVDaG9vc2VyUmVxdWVzdFByaXZhdGUKKworPFNVQlNFQ1RJT04gUHJpdmF0ZT4KK3dl
YmtpdF9maWxlX2Nob29zZXJfcmVxdWVzdF9nZXRfdHlwZQorCis8L1NFQ1RJT04+CisKKzxTRUNU
SU9OPgorPEZJTEU+V2ViS2l0RmluZENvbnRyb2xsZXI8L0ZJTEU+Cis8VElUTEU+V2ViS2l0Rmlu
ZENvbnRyb2xsZXI8L1RJVExFPgorV2ViS2l0RmluZE9wdGlvbnMKKworPFNVQlNFQ1RJT04+Cit3
ZWJraXRfZmluZF9jb250cm9sbGVyX2NvdW50X21hdGNoZXMKK3dlYmtpdF9maW5kX2NvbnRyb2xs
ZXJfZ2V0X21heF9tYXRjaF9jb3VudAord2Via2l0X2ZpbmRfY29udHJvbGxlcl9nZXRfb3B0aW9u
cword2Via2l0X2ZpbmRfY29udHJvbGxlcl9nZXRfc2VhcmNoX3RleHQKK3dlYmtpdF9maW5kX2Nv
bnRyb2xsZXJfZ2V0X3dlYl92aWV3Cit3ZWJraXRfZmluZF9jb250cm9sbGVyX3NlYXJjaAord2Vi
a2l0X2ZpbmRfY29udHJvbGxlcl9zZWFyY2hfZmluaXNoCit3ZWJraXRfZmluZF9jb250cm9sbGVy
X3NlYXJjaF9uZXh0Cit3ZWJraXRfZmluZF9jb250cm9sbGVyX3NlYXJjaF9wcmV2aW91cworCis8
U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dFQktJVF9GSU5EX0NPTlRST0xMRVIKK1dFQktJVF9GSU5E
X0NPTlRST0xMRVJfQ0xBU1MKK1dFQktJVF9GSU5EX0NPTlRST0xMRVJfR0VUX0NMQVNTCitXRUJL
SVRfSVNfRklORF9DT05UUk9MTEVSCitXRUJLSVRfSVNfRklORF9DT05UUk9MTEVSX0NMQVNTCitX
RUJLSVRfVFlQRV9GSU5EX0NPTlRST0xMRVIKK1dlYktpdEZpbmRDb250cm9sbGVyCitXZWJLaXRG
aW5kQ29udHJvbGxlckNsYXNzCitXZWJLaXRGaW5kQ29udHJvbGxlclByaXZhdGUKKworPFNVQlNF
Q1RJT04gUHJpdmF0ZT4KK3dlYmtpdF9maW5kX2NvbnRyb2xsZXJfZ2V0X3R5cGUKKzwvU0VDVElP
Tj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXRGb3JtU3VibWlzc2lvblJlcXVlc3Q8L0ZJTEU+
Cis8VElUTEU+V2ViS2l0Rm9ybVN1Ym1pc3Npb25SZXF1ZXN0PC9USVRMRT4KKworPFNVQlNFQ1RJ
T04+Cit3ZWJraXRfZm9ybV9zdWJtaXNzaW9uX3JlcXVlc3RfbGlzdF90ZXh0X2ZpZWxkcword2Vi
a2l0X2Zvcm1fc3VibWlzc2lvbl9yZXF1ZXN0X3N1Ym1pdAorCis8U1VCU0VDVElPTiBTdGFuZGFy
ZD4KK1dFQktJVF9GT1JNX1NVQk1JU1NJT05fUkVRVUVTVAorV0VCS0lUX0ZPUk1fU1VCTUlTU0lP
Tl9SRVFVRVNUX0NMQVNTCitXRUJLSVRfRk9STV9TVUJNSVNTSU9OX1JFUVVFU1RfR0VUX0NMQVNT
CitXRUJLSVRfSVNfRk9STV9TVUJNSVNTSU9OX1JFUVVFU1QKK1dFQktJVF9JU19GT1JNX1NVQk1J
U1NJT05fUkVRVUVTVF9DTEFTUworV0VCS0lUX1RZUEVfRk9STV9TVUJNSVNTSU9OX1JFUVVFU1QK
K1dlYktpdEZvcm1TdWJtaXNzaW9uUmVxdWVzdAorV2ViS2l0Rm9ybVN1Ym1pc3Npb25SZXF1ZXN0
Q2xhc3MKK1dlYktpdEZvcm1TdWJtaXNzaW9uUmVxdWVzdFByaXZhdGUKKworPFNVQlNFQ1RJT04g
UHJpdmF0ZT4KK3dlYmtpdF9mb3JtX3N1Ym1pc3Npb25fcmVxdWVzdF9nZXRfdHlwZQorPC9TRUNU
SU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktpdEZyYW1lPC9GSUxFPgorPFRJVExFPldlYktp
dEZyYW1lPC9USVRMRT4KKzxTVUJTRUNUSU9OIFN0YW5kYXJkPgorV0VCS0lUX0ZSQU1FCitXRUJL
SVRfRlJBTUVfQ0xBU1MKK1dFQktJVF9GUkFNRV9HRVRfQ0xBU1MKK1dFQktJVF9JU19GUkFNRQor
V0VCS0lUX1RZUEVfRlJBTUUKK1dlYktpdEZyYW1lCitXZWJLaXRGcmFtZUNsYXNzCitXZWJLaXRG
cmFtZVByaXZhdGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXRHZW9sb2Nh
dGlvblBlcm1pc3Npb25SZXF1ZXN0PC9GSUxFPgorPFRJVExFPldlYktpdEdlb2xvY2F0aW9uUGVy
bWlzc2lvblJlcXVlc3Q8L1RJVExFPgorPFNVQlNFQ1RJT04gU3RhbmRhcmQ+CitXRUJLSVRfR0VP
TE9DQVRJT05fUEVSTUlTU0lPTl9SRVFVRVNUCitXRUJLSVRfR0VPTE9DQVRJT05fUEVSTUlTU0lP
Tl9SRVFVRVNUX0NMQVNTCitXRUJLSVRfR0VPTE9DQVRJT05fUEVSTUlTU0lPTl9SRVFVRVNUX0dF
VF9DTEFTUworV0VCS0lUX0lTX0dFT0xPQ0FUSU9OX1BFUk1JU1NJT05fUkVRVUVTVAorV0VCS0lU
X0lTX0dFT0xPQ0FUSU9OX1BFUk1JU1NJT05fUkVRVUVTVF9DTEFTUworV0VCS0lUX1RZUEVfR0VP
TE9DQVRJT05fUEVSTUlTU0lPTl9SRVFVRVNUCitXZWJLaXRHZW9sb2NhdGlvblBlcm1pc3Npb25S
ZXF1ZXN0CitXZWJLaXRHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0Q2xhc3MKK1dlYktpdEdl
b2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RQcml2YXRlCisKKzxTVUJTRUNUSU9OIFByaXZhdGU+
Cit3ZWJraXRfZ2VvbG9jYXRpb25fcGVybWlzc2lvbl9yZXF1ZXN0X2dldF90eXBlCis8L1NFQ1RJ
T04+CisKKzxTRUNUSU9OPgorPEZJTEU+V2ViS2l0SGl0VGVzdFJlc3VsdDwvRklMRT4KKzxUSVRM
RT5XZWJLaXRIaXRUZXN0UmVzdWx0PC9USVRMRT4KK1dlYktpdEhpdFRlc3RSZXN1bHRDb250ZXh0
CisKKzxTVUJTRUNUSU9OPgord2Via2l0X2hpdF90ZXN0X3Jlc3VsdF9jb250ZXh0X2lzX2VkaXRh
YmxlCit3ZWJraXRfaGl0X3Rlc3RfcmVzdWx0X2NvbnRleHRfaXNfaW1hZ2UKK3dlYmtpdF9oaXRf
dGVzdF9yZXN1bHRfY29udGV4dF9pc19saW5rCit3ZWJraXRfaGl0X3Rlc3RfcmVzdWx0X2NvbnRl
eHRfaXNfbWVkaWEKK3dlYmtpdF9oaXRfdGVzdF9yZXN1bHRfY29udGV4dF9pc19zY3JvbGxiYXIK
K3dlYmtpdF9oaXRfdGVzdF9yZXN1bHRfY29udGV4dF9pc19zZWxlY3Rpb24KK3dlYmtpdF9oaXRf
dGVzdF9yZXN1bHRfZ2V0X2NvbnRleHQKK3dlYmtpdF9oaXRfdGVzdF9yZXN1bHRfZ2V0X2ltYWdl
X3VyaQord2Via2l0X2hpdF90ZXN0X3Jlc3VsdF9nZXRfbGlua19sYWJlbAord2Via2l0X2hpdF90
ZXN0X3Jlc3VsdF9nZXRfbGlua190aXRsZQord2Via2l0X2hpdF90ZXN0X3Jlc3VsdF9nZXRfbGlu
a191cmkKK3dlYmtpdF9oaXRfdGVzdF9yZXN1bHRfZ2V0X21lZGlhX3VyaQorCis8U1VCU0VDVElP
TiBTdGFuZGFyZD4KK1dFQktJVF9ISVRfVEVTVF9SRVNVTFQKK1dFQktJVF9ISVRfVEVTVF9SRVNV
TFRfQ0xBU1MKK1dFQktJVF9ISVRfVEVTVF9SRVNVTFRfR0VUX0NMQVNTCitXRUJLSVRfSVNfSElU
X1RFU1RfUkVTVUxUCitXRUJLSVRfSVNfSElUX1RFU1RfUkVTVUxUX0NMQVNTCitXRUJLSVRfVFlQ
RV9ISVRfVEVTVF9SRVNVTFQKK1dlYktpdEhpdFRlc3RSZXN1bHQKK1dlYktpdEhpdFRlc3RSZXN1
bHRDbGFzcworV2ViS2l0SGl0VGVzdFJlc3VsdFByaXZhdGUKKworPFNVQlNFQ1RJT04gUHJpdmF0
ZT4KK3dlYmtpdF9oaXRfdGVzdF9yZXN1bHRfZ2V0X3R5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJ
T04+Cis8RklMRT5XZWJLaXRJbnN0YWxsTWlzc2luZ01lZGlhUGx1Z2luc1Blcm1pc3Npb25SZXF1
ZXN0PC9GSUxFPgorPFRJVExFPldlYktpdEluc3RhbGxNaXNzaW5nTWVkaWFQbHVnaW5zUGVybWlz
c2lvblJlcXVlc3Q8L1RJVExFPgorCis8U1VCU0VDVElPTj4KK3dlYmtpdF9pbnN0YWxsX21pc3Np
bmdfbWVkaWFfcGx1Z2luc19wZXJtaXNzaW9uX3JlcXVlc3RfZ2V0X2Rlc2NyaXB0aW9uCisKKzxT
VUJTRUNUSU9OIFN0YW5kYXJkPgorV0VCS0lUX0lOU1RBTExfTUlTU0lOR19NRURJQV9QTFVHSU5T
X1BFUk1JU1NJT05fUkVRVUVTVAorV0VCS0lUX0lOU1RBTExfTUlTU0lOR19NRURJQV9QTFVHSU5T
X1BFUk1JU1NJT05fUkVRVUVTVF9DTEFTUworV0VCS0lUX0lOU1RBTExfTUlTU0lOR19NRURJQV9Q
TFVHSU5TX1BFUk1JU1NJT05fUkVRVUVTVF9HRVRfQ0xBU1MKK1dFQktJVF9JU19JTlNUQUxMX01J
U1NJTkdfTUVESUFfUExVR0lOU19QRVJNSVNTSU9OX1JFUVVFU1QKK1dFQktJVF9JU19JTlNUQUxM
X01JU1NJTkdfTUVESUFfUExVR0lOU19QRVJNSVNTSU9OX1JFUVVFU1RfQ0xBU1MKK1dFQktJVF9U
WVBFX0lOU1RBTExfTUlTU0lOR19NRURJQV9QTFVHSU5TX1BFUk1JU1NJT05fUkVRVUVTVAorV2Vi
S2l0SW5zdGFsbE1pc3NpbmdNZWRpYVBsdWdpbnNQZXJtaXNzaW9uUmVxdWVzdAorV2ViS2l0SW5z
dGFsbE1pc3NpbmdNZWRpYVBsdWdpbnNQZXJtaXNzaW9uUmVxdWVzdENsYXNzCitXZWJLaXRJbnN0
YWxsTWlzc2luZ01lZGlhUGx1Z2luc1Blcm1pc3Npb25SZXF1ZXN0UHJpdmF0ZQorCis8U1VCU0VD
VElPTiBQcml2YXRlPgord2Via2l0X2luc3RhbGxfbWlzc2luZ19tZWRpYV9wbHVnaW5zX3Blcm1p
c3Npb25fcmVxdWVzdF9nZXRfdHlwZQorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldl
YktpdEphdmFzY3JpcHRSZXN1bHQ8L0ZJTEU+CitXRUJLSVRfVFlQRV9KQVZBU0NSSVBUX1JFU1VM
VAorV2ViS2l0SmF2YXNjcmlwdFJlc3VsdAorCis8U1VCU0VDVElPTj4KK3dlYmtpdF9qYXZhc2Ny
aXB0X3Jlc3VsdF9nZXRfanNfdmFsdWUKK3dlYmtpdF9qYXZhc2NyaXB0X3Jlc3VsdF9yZWYKK3dl
YmtpdF9qYXZhc2NyaXB0X3Jlc3VsdF91bnJlZgorCis8U1VCU0VDVElPTiBQcml2YXRlPgord2Vi
a2l0X2phdmFzY3JpcHRfcmVzdWx0X2dldF90eXBlCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgor
PEZJTEU+V2ViS2l0TWltZUluZm88L0ZJTEU+CitXRUJLSVRfVFlQRV9NSU1FX0lORk8KK1dlYktp
dE1pbWVJbmZvCisKKzxTVUJTRUNUSU9OPgord2Via2l0X21pbWVfaW5mb19nZXRfZGVzY3JpcHRp
b24KK3dlYmtpdF9taW1lX2luZm9fZ2V0X2V4dGVuc2lvbnMKK3dlYmtpdF9taW1lX2luZm9fZ2V0
X21pbWVfdHlwZQord2Via2l0X21pbWVfaW5mb19yZWYKK3dlYmtpdF9taW1lX2luZm9fdW5yZWYK
KworPFNVQlNFQ1RJT04gUHJpdmF0ZT4KK3dlYmtpdF9taW1lX2luZm9fZ2V0X3R5cGUKKzwvU0VD
VElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXROYXZpZ2F0aW9uQWN0aW9uPC9GSUxFPgor
V0VCS0lUX1RZUEVfTkFWSUdBVElPTl9BQ1RJT04KK1dlYktpdE5hdmlnYXRpb25UeXBlCitXZWJL
aXROYXZpZ2F0aW9uQWN0aW9uCisKKzxTVUJTRUNUSU9OPgord2Via2l0X25hdmlnYXRpb25fYWN0
aW9uX2NvcHkKK3dlYmtpdF9uYXZpZ2F0aW9uX2FjdGlvbl9mcmVlCit3ZWJraXRfbmF2aWdhdGlv
bl9hY3Rpb25fZ2V0X21vZGlmaWVycword2Via2l0X25hdmlnYXRpb25fYWN0aW9uX2dldF9tb3Vz
ZV9idXR0b24KK3dlYmtpdF9uYXZpZ2F0aW9uX2FjdGlvbl9nZXRfbmF2aWdhdGlvbl90eXBlCit3
ZWJraXRfbmF2aWdhdGlvbl9hY3Rpb25fZ2V0X3JlcXVlc3QKK3dlYmtpdF9uYXZpZ2F0aW9uX2Fj
dGlvbl9pc19yZWRpcmVjdAord2Via2l0X25hdmlnYXRpb25fYWN0aW9uX2lzX3VzZXJfZ2VzdHVy
ZQorCis8U1VCU0VDVElPTiBQcml2YXRlPgord2Via2l0X25hdmlnYXRpb25fYWN0aW9uX2dldF90
eXBlCisKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXROYXZpZ2F0aW9uUG9s
aWN5RGVjaXNpb248L0ZJTEU+Cis8VElUTEU+V2ViS2l0TmF2aWdhdGlvblBvbGljeURlY2lzaW9u
PC9USVRMRT4KKworPFNVQlNFQ1RJT04+Cit3ZWJraXRfbmF2aWdhdGlvbl9wb2xpY3lfZGVjaXNp
b25fZ2V0X2ZyYW1lX25hbWUKK3dlYmtpdF9uYXZpZ2F0aW9uX3BvbGljeV9kZWNpc2lvbl9nZXRf
bmF2aWdhdGlvbl9hY3Rpb24KKworPFNVQlNFQ1RJT04gU3RhbmRhcmQ+CitXRUJLSVRfSVNfTkFW
SUdBVElPTl9QT0xJQ1lfREVDSVNJT04KK1dFQktJVF9JU19OQVZJR0FUSU9OX1BPTElDWV9ERUNJ
U0lPTl9DTEFTUworV0VCS0lUX05BVklHQVRJT05fUE9MSUNZX0RFQ0lTSU9OCitXRUJLSVRfTkFW
SUdBVElPTl9QT0xJQ1lfREVDSVNJT05fQ0xBU1MKK1dFQktJVF9OQVZJR0FUSU9OX1BPTElDWV9E
RUNJU0lPTl9HRVRfQ0xBU1MKK1dFQktJVF9UWVBFX05BVklHQVRJT05fUE9MSUNZX0RFQ0lTSU9O
CitXZWJLaXROYXZpZ2F0aW9uUG9saWN5RGVjaXNpb24KK1dlYktpdE5hdmlnYXRpb25Qb2xpY3lE
ZWNpc2lvbkNsYXNzCitXZWJLaXROYXZpZ2F0aW9uUG9saWN5RGVjaXNpb25Qcml2YXRlCisKKzxT
VUJTRUNUSU9OIFByaXZhdGU+Cit3ZWJraXRfbmF2aWdhdGlvbl9wb2xpY3lfZGVjaXNpb25fZ2V0
X3R5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXROZXR3b3JrUHJveHlT
ZXR0aW5nczwvRklMRT4KK1dFQktJVF9UWVBFX05FVFdPUktfTkVUV09SS19QUk9YWV9TRVRUSU5H
UworV2ViS2l0TmV0d29ya1Byb3h5U2V0dGluZ3MKKword2Via2l0X25ldHdvcmtfcHJveHlfc2V0
dGluZ3NfYWRkX3Byb3h5X2Zvcl9zY2hlbWUKK3dlYmtpdF9uZXR3b3JrX3Byb3h5X3NldHRpbmdz
X2NvcHkKK3dlYmtpdF9uZXR3b3JrX3Byb3h5X3NldHRpbmdzX2ZyZWUKK3dlYmtpdF9uZXR3b3Jr
X3Byb3h5X3NldHRpbmdzX25ldworCis8U1VCU0VDVElPTiBQcml2YXRlPgord2Via2l0X25ldHdv
cmtfcHJveHlfc2V0dGluZ3NfZ2V0X3R5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklM
RT5XZWJLaXROb3RpZmljYXRpb248L0ZJTEU+Cis8VElUTEU+V2ViS2l0Tm90aWZpY2F0aW9uPC9U
SVRMRT4KKworPFNVQlNFQ1RJT04+Cit3ZWJraXRfbm90aWZpY2F0aW9uX2NsaWNrZWQKK3dlYmtp
dF9ub3RpZmljYXRpb25fY2xvc2UKK3dlYmtpdF9ub3RpZmljYXRpb25fZ2V0X2JvZHkKK3dlYmtp
dF9ub3RpZmljYXRpb25fZ2V0X2lkCit3ZWJraXRfbm90aWZpY2F0aW9uX2dldF90YWcKK3dlYmtp
dF9ub3RpZmljYXRpb25fZ2V0X3RpdGxlCit3ZWJraXRfbm90aWZpY2F0aW9uX3Blcm1pc3Npb25f
cmVxdWVzdF9nZXRfdHlwZQorCis8U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dFQktJVF9JU19OT1RJ
RklDQVRJT04KK1dFQktJVF9JU19OT1RJRklDQVRJT05fQ0xBU1MKK1dFQktJVF9OT1RJRklDQVRJ
T04KK1dFQktJVF9OT1RJRklDQVRJT05fQ0xBU1MKK1dFQktJVF9OT1RJRklDQVRJT05fR0VUX0NM
QVNTCitXRUJLSVRfVFlQRV9OT1RJRklDQVRJT04KK1dlYktpdE5vdGlmaWNhdGlvbgorV2ViS2l0
Tm90aWZpY2F0aW9uQ2xhc3MKK1dlYktpdE5vdGlmaWNhdGlvblByaXZhdGUKKworPFNVQlNFQ1RJ
T04gUHJpdmF0ZT4KK3dlYmtpdF9ub3RpZmljYXRpb25fZ2V0X3R5cGUKKzwvU0VDVElPTj4KKwor
PFNFQ1RJT04+Cis8RklMRT5XZWJLaXROb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdDwvRklM
RT4KKzxUSVRMRT5XZWJLaXROb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdDwvVElUTEU+Cis8
U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dFQktJVF9JU19OT1RJRklDQVRJT05fUEVSTUlTU0lPTl9S
RVFVRVNUCitXRUJLSVRfSVNfTk9USUZJQ0FUSU9OX1BFUk1JU1NJT05fUkVRVUVTVF9DTEFTUwor
V0VCS0lUX05PVElGSUNBVElPTl9QRVJNSVNTSU9OX1JFUVVFU1QKK1dFQktJVF9OT1RJRklDQVRJ
T05fUEVSTUlTU0lPTl9SRVFVRVNUX0NMQVNTCitXRUJLSVRfTk9USUZJQ0FUSU9OX1BFUk1JU1NJ
T05fUkVRVUVTVF9HRVRfQ0xBU1MKK1dFQktJVF9UWVBFX05PVElGSUNBVElPTl9QRVJNSVNTSU9O
X1JFUVVFU1QKK1dlYktpdE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0CitXZWJLaXROb3Rp
ZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdENsYXNzCitXZWJLaXROb3RpZmljYXRpb25QZXJtaXNz
aW9uUmVxdWVzdFByaXZhdGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXRQ
ZXJtaXNzaW9uUmVxdWVzdDwvRklMRT4KKzxUSVRMRT5XZWJLaXRQZXJtaXNzaW9uUmVxdWVzdDwv
VElUTEU+CisKKzxTVUJTRUNUSU9OPgord2Via2l0X3Blcm1pc3Npb25fcmVxdWVzdF9hbGxvdwor
d2Via2l0X3Blcm1pc3Npb25fcmVxdWVzdF9kZW55CisKKzxTVUJTRUNUSU9OIFN0YW5kYXJkPgor
V0VCS0lUX0lTX1BFUk1JU1NJT05fUkVRVUVTVAorV0VCS0lUX1BFUk1JU1NJT05fUkVRVUVTVAor
V0VCS0lUX1BFUk1JU1NJT05fUkVRVUVTVF9HRVRfSUZBQ0UKK1dFQktJVF9UWVBFX1BFUk1JU1NJ
T05fUkVRVUVTVAorV2ViS2l0UGVybWlzc2lvblJlcXVlc3QKK1dlYktpdFBlcm1pc3Npb25SZXF1
ZXN0SWZhY2UKKworPFNVQlNFQ1RJT04gUHJpdmF0ZT4KK3dlYmtpdF9wZXJtaXNzaW9uX3JlcXVl
c3RfZ2V0X3R5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXRQbHVnaW48
L0ZJTEU+Cis8VElUTEU+V2ViS2l0UGx1Z2luPC9USVRMRT4KKworCit3ZWJraXRfcGx1Z2luX2dl
dF9kZXNjcmlwdGlvbgord2Via2l0X3BsdWdpbl9nZXRfbWltZV9pbmZvX2xpc3QKK3dlYmtpdF9w
bHVnaW5fZ2V0X25hbWUKK3dlYmtpdF9wbHVnaW5fZ2V0X3BhdGgKKworCis8U1VCU0VDVElPTiBT
dGFuZGFyZD4KK1dFQktJVF9JU19QTFVHSU4KK1dFQktJVF9JU19QTFVHSU5fQ0xBU1MKK1dFQktJ
VF9QTFVHSU4KK1dFQktJVF9QTFVHSU5fQ0xBU1MKK1dFQktJVF9QTFVHSU5fR0VUX0NMQVNTCitX
RUJLSVRfVFlQRV9QTFVHSU4KK1dlYktpdFBsdWdpbgorV2ViS2l0UGx1Z2luQ2xhc3MKK1dlYktp
dFBsdWdpblByaXZhdGUKKworPFNVQlNFQ1RJT04gUHJpdmF0ZT4KK3dlYmtpdF9wbHVnaW5fZ2V0
X3R5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXRQb2xpY3lEZWNpc2lv
bjwvRklMRT4KKzxUSVRMRT5XZWJLaXRQb2xpY3lEZWNpc2lvbjwvVElUTEU+CisKKzxTVUJTRUNU
SU9OPgord2Via2l0X3BvbGljeV9kZWNpc2lvbl9kb3dubG9hZAord2Via2l0X3BvbGljeV9kZWNp
c2lvbl9nZXRfdHlwZQord2Via2l0X3BvbGljeV9kZWNpc2lvbl9pZ25vcmUKK3dlYmtpdF9wb2xp
Y3lfZGVjaXNpb25fdXNlCisKKzxTVUJTRUNUSU9OIFN0YW5kYXJkPgorV0VCS0lUX0lTX1BPTElD
WV9ERUNJU0lPTgorV0VCS0lUX0lTX1BPTElDWV9ERUNJU0lPTl9DTEFTUworV0VCS0lUX1BPTElD
WV9ERUNJU0lPTgorV0VCS0lUX1BPTElDWV9ERUNJU0lPTl9DTEFTUworV0VCS0lUX1BPTElDWV9E
RUNJU0lPTl9HRVRfQ0xBU1MKK1dFQktJVF9UWVBFX1BPTElDWV9ERUNJU0lPTgorV2ViS2l0UG9s
aWN5RGVjaXNpb24KK1dlYktpdFBvbGljeURlY2lzaW9uQ2xhc3MKK1dlYktpdFBvbGljeURlY2lz
aW9uUHJpdmF0ZQorCis8U1VCU0VDVElPTiBQcml2YXRlPgorPC9TRUNUSU9OPgorCis8U0VDVElP
Tj4KKzxGSUxFPldlYktpdFJlc3BvbnNlUG9saWN5RGVjaXNpb248L0ZJTEU+Cis8VElUTEU+V2Vi
S2l0UmVzcG9uc2VQb2xpY3lEZWNpc2lvbjwvVElUTEU+CisKKzxTVUJTRUNUSU9OPgord2Via2l0
X3Jlc3BvbnNlX3BvbGljeV9kZWNpc2lvbl9nZXRfcmVxdWVzdAord2Via2l0X3Jlc3BvbnNlX3Bv
bGljeV9kZWNpc2lvbl9nZXRfcmVzcG9uc2UKK3dlYmtpdF9yZXNwb25zZV9wb2xpY3lfZGVjaXNp
b25faXNfbWltZV90eXBlX3N1cHBvcnRlZAorCis8U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dFQktJ
VF9JU19SRVNQT05TRV9QT0xJQ1lfREVDSVNJT04KK1dFQktJVF9JU19SRVNQT05TRV9QT0xJQ1lf
REVDSVNJT05fQ0xBU1MKK1dFQktJVF9SRVNQT05TRV9QT0xJQ1lfREVDSVNJT04KK1dFQktJVF9S
RVNQT05TRV9QT0xJQ1lfREVDSVNJT05fQ0xBU1MKK1dFQktJVF9SRVNQT05TRV9QT0xJQ1lfREVD
SVNJT05fR0VUX0NMQVNTCitXRUJLSVRfVFlQRV9SRVNQT05TRV9QT0xJQ1lfREVDSVNJT04KK1dl
YktpdFJlc3BvbnNlUG9saWN5RGVjaXNpb24KK1dlYktpdFJlc3BvbnNlUG9saWN5RGVjaXNpb25D
bGFzcworV2ViS2l0UmVzcG9uc2VQb2xpY3lEZWNpc2lvblByaXZhdGUKKworPFNVQlNFQ1RJT04g
UHJpdmF0ZT4KK3dlYmtpdF9yZXNwb25zZV9wb2xpY3lfZGVjaXNpb25fZ2V0X3R5cGUKKzwvU0VD
VElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXRTY3JpcHREaWFsb2c8L0ZJTEU+CitXRUJL
SVRfVFlQRV9TQ1JJUFRfRElBTE9HCitXZWJLaXRTY3JpcHREaWFsb2dUeXBlCitXZWJLaXRTY3Jp
cHREaWFsb2cKKworPFNVQlNFQ1RJT04+Cit3ZWJraXRfc2NyaXB0X2RpYWxvZ19jbG9zZQord2Vi
a2l0X3NjcmlwdF9kaWFsb2dfY29uZmlybV9zZXRfY29uZmlybWVkCit3ZWJraXRfc2NyaXB0X2Rp
YWxvZ19nZXRfZGlhbG9nX3R5cGUKK3dlYmtpdF9zY3JpcHRfZGlhbG9nX2dldF9tZXNzYWdlCit3
ZWJraXRfc2NyaXB0X2RpYWxvZ19wcm9tcHRfZ2V0X2RlZmF1bHRfdGV4dAord2Via2l0X3Njcmlw
dF9kaWFsb2dfcHJvbXB0X3NldF90ZXh0Cit3ZWJraXRfc2NyaXB0X2RpYWxvZ19yZWYKK3dlYmtp
dF9zY3JpcHRfZGlhbG9nX3VucmVmCisKKzxTVUJTRUNUSU9OIFByaXZhdGU+Cit3ZWJraXRfc2Ny
aXB0X2RpYWxvZ19nZXRfdHlwZQorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktp
dFNjcmlwdFdvcmxkPC9GSUxFPgorPFRJVExFPldlYktpdFNjcmlwdFdvcmxkPC9USVRMRT4KKzxT
VUJTRUNUSU9OIFN0YW5kYXJkPgorV0VCS0lUX0lTX1NDUklQVF9XT1JMRAorV0VCS0lUX1NDUklQ
VF9XT1JMRAorV0VCS0lUX1NDUklQVF9XT1JMRF9DTEFTUworV0VCS0lUX1NDUklQVF9XT1JMRF9H
RVRfQ0xBU1MKK1dFQktJVF9UWVBFX1NDUklQVF9XT1JMRAorV2ViS2l0U2NyaXB0V29ybGQKK1dl
YktpdFNjcmlwdFdvcmxkQ2xhc3MKK1dlYktpdFNjcmlwdFdvcmxkUHJpdmF0ZQorPC9TRUNUSU9O
PgorCis8U0VDVElPTj4KKzxGSUxFPldlYktpdFNlY3VyaXR5TWFuYWdlcjwvRklMRT4KKzxUSVRM
RT5XZWJLaXRTZWN1cml0eU1hbmFnZXI8L1RJVExFPgorCis8U1VCU0VDVElPTj4KK3dlYmtpdF9z
ZWN1cml0eV9tYW5hZ2VyX3JlZ2lzdGVyX3VyaV9zY2hlbWVfYXNfY29yc19lbmFibGVkCit3ZWJr
aXRfc2VjdXJpdHlfbWFuYWdlcl9yZWdpc3Rlcl91cmlfc2NoZW1lX2FzX2Rpc3BsYXlfaXNvbGF0
ZWQKK3dlYmtpdF9zZWN1cml0eV9tYW5hZ2VyX3JlZ2lzdGVyX3VyaV9zY2hlbWVfYXNfZW1wdHlf
ZG9jdW1lbnQKK3dlYmtpdF9zZWN1cml0eV9tYW5hZ2VyX3JlZ2lzdGVyX3VyaV9zY2hlbWVfYXNf
bG9jYWwKK3dlYmtpdF9zZWN1cml0eV9tYW5hZ2VyX3JlZ2lzdGVyX3VyaV9zY2hlbWVfYXNfbm9f
YWNjZXNzCit3ZWJraXRfc2VjdXJpdHlfbWFuYWdlcl9yZWdpc3Rlcl91cmlfc2NoZW1lX2FzX3Nl
Y3VyZQord2Via2l0X3NlY3VyaXR5X21hbmFnZXJfdXJpX3NjaGVtZV9pc19jb3JzX2VuYWJsZWQK
K3dlYmtpdF9zZWN1cml0eV9tYW5hZ2VyX3VyaV9zY2hlbWVfaXNfZGlzcGxheV9pc29sYXRlZAor
d2Via2l0X3NlY3VyaXR5X21hbmFnZXJfdXJpX3NjaGVtZV9pc19lbXB0eV9kb2N1bWVudAord2Vi
a2l0X3NlY3VyaXR5X21hbmFnZXJfdXJpX3NjaGVtZV9pc19sb2NhbAord2Via2l0X3NlY3VyaXR5
X21hbmFnZXJfdXJpX3NjaGVtZV9pc19ub19hY2Nlc3MKK3dlYmtpdF9zZWN1cml0eV9tYW5hZ2Vy
X3VyaV9zY2hlbWVfaXNfc2VjdXJlCisKKzxTVUJTRUNUSU9OIFN0YW5kYXJkPgorV0VCS0lUX0lT
X1NFQ1VSSVRZX01BTkFHRVIKK1dFQktJVF9JU19TRUNVUklUWV9NQU5BR0VSX0NMQVNTCitXRUJL
SVRfU0VDVVJJVFlfTUFOQUdFUgorV0VCS0lUX1NFQ1VSSVRZX01BTkFHRVJfQ0xBU1MKK1dFQktJ
VF9TRUNVUklUWV9NQU5BR0VSX0dFVF9DTEFTUworV0VCS0lUX1RZUEVfU0VDVVJJVFlfTUFOQUdF
UgorV2ViS2l0U2VjdXJpdHlNYW5hZ2VyCitXZWJLaXRTZWN1cml0eU1hbmFnZXJDbGFzcworV2Vi
S2l0U2VjdXJpdHlNYW5hZ2VyUHJpdmF0ZQorCis8U1VCU0VDVElPTiBQcml2YXRlPgord2Via2l0
X3NlY3VyaXR5X21hbmFnZXJfZ2V0X3R5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklM
RT5XZWJLaXRTZWN1cml0eU9yaWdpbjwvRklMRT4KK1dFQktJVF9UWVBFX1NFQ1VSSVRZX09SSUdJ
TgorV2ViS2l0U2VjdXJpdHlPcmlnaW4KKworPFNVQlNFQ1RJT04+Cit3ZWJraXRfc2VjdXJpdHlf
b3JpZ2luX2dldF9ob3N0Cit3ZWJraXRfc2VjdXJpdHlfb3JpZ2luX2dldF9wb3J0Cit3ZWJraXRf
c2VjdXJpdHlfb3JpZ2luX2dldF9wcm90b2NvbAord2Via2l0X3NlY3VyaXR5X29yaWdpbl9pc19v
cGFxdWUKK3dlYmtpdF9zZWN1cml0eV9vcmlnaW5fbmV3Cit3ZWJraXRfc2VjdXJpdHlfb3JpZ2lu
X25ld19mb3JfdXJpCit3ZWJraXRfc2VjdXJpdHlfb3JpZ2luX3JlZgord2Via2l0X3NlY3VyaXR5
X29yaWdpbl90b19zdHJpbmcKK3dlYmtpdF9zZWN1cml0eV9vcmlnaW5fdW5yZWYKKworPFNVQlNF
Q1RJT04gUHJpdmF0ZT4KK3dlYmtpdF9zZWN1cml0eV9vcmlnaW5fZ2V0X3R5cGUKKzwvU0VDVElP
Tj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXRTZXR0aW5nczwvRklMRT4KKzxUSVRMRT5XZWJL
aXRTZXR0aW5nczwvVElUTEU+CisKKzxTVUJTRUNUSU9OPgord2Via2l0X3NldHRpbmdzX25ldwor
d2Via2l0X3NldHRpbmdzX25ld193aXRoX3NldHRpbmdzCit3ZWJraXRfc2V0dGluZ3NfZ2V0X2Fs
bG93X2ZpbGVfYWNjZXNzX2Zyb21fZmlsZV91cmxzCit3ZWJraXRfc2V0dGluZ3NfZ2V0X2FsbG93
X21vZGFsX2RpYWxvZ3MKK3dlYmtpdF9zZXR0aW5nc19nZXRfYWxsb3dfdW5pdmVyc2FsX2FjY2Vz
c19mcm9tX2ZpbGVfdXJscword2Via2l0X3NldHRpbmdzX2dldF9hdXRvX2xvYWRfaW1hZ2VzCit3
ZWJraXRfc2V0dGluZ3NfZ2V0X2N1cnNpdmVfZm9udF9mYW1pbHkKK3dlYmtpdF9zZXR0aW5nc19n
ZXRfZGVmYXVsdF9jaGFyc2V0Cit3ZWJraXRfc2V0dGluZ3NfZ2V0X2RlZmF1bHRfZm9udF9mYW1p
bHkKK3dlYmtpdF9zZXR0aW5nc19nZXRfZGVmYXVsdF9mb250X3NpemUKK3dlYmtpdF9zZXR0aW5n
c19nZXRfZGVmYXVsdF9tb25vc3BhY2VfZm9udF9zaXplCit3ZWJraXRfc2V0dGluZ3NfZ2V0X2Ry
YXdfY29tcG9zaXRpbmdfaW5kaWNhdG9ycword2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfYWNj
ZWxlcmF0ZWRfMmRfY2FudmFzCit3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9jYXJldF9icm93
c2luZword2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfZGV2ZWxvcGVyX2V4dHJhcword2Via2l0
X3NldHRpbmdzX2dldF9lbmFibGVfZG5zX3ByZWZldGNoaW5nCit3ZWJraXRfc2V0dGluZ3NfZ2V0
X2VuYWJsZV9lbmNyeXB0ZWRfbWVkaWEKK3dlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX2ZyYW1l
X2ZsYXR0ZW5pbmcKK3dlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX2Z1bGxzY3JlZW4KK3dlYmtp
dF9zZXR0aW5nc19nZXRfZW5hYmxlX2h0bWw1X2RhdGFiYXNlCit3ZWJraXRfc2V0dGluZ3NfZ2V0
X2VuYWJsZV9odG1sNV9sb2NhbF9zdG9yYWdlCit3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9o
eXBlcmxpbmtfYXVkaXRpbmcKK3dlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX2phdmEKK3dlYmtp
dF9zZXR0aW5nc19nZXRfZW5hYmxlX2phdmFzY3JpcHQKK3dlYmtpdF9zZXR0aW5nc19nZXRfZW5h
YmxlX21lZGlhX2NhcGFiaWxpdGllcword2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfbWVkaWFf
c3RyZWFtCit3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9tZWRpYXNvdXJjZQord2Via2l0X3Nl
dHRpbmdzX2dldF9lbmFibGVfb2ZmbGluZV93ZWJfYXBwbGljYXRpb25fY2FjaGUKK3dlYmtpdF9z
ZXR0aW5nc19nZXRfZW5hYmxlX3BhZ2VfY2FjaGUKK3dlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxl
X3BsdWdpbnMKK3dlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX3Jlc2l6YWJsZV90ZXh0X2FyZWFz
Cit3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9zaXRlX3NwZWNpZmljX3F1aXJrcword2Via2l0
X3NldHRpbmdzX2dldF9lbmFibGVfc21vb3RoX3Njcm9sbGluZword2Via2l0X3NldHRpbmdzX2dl
dF9lbmFibGVfc3BhdGlhbF9uYXZpZ2F0aW9uCit3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV90
YWJzX3RvX2xpbmtzCit3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV93ZWJhdWRpbword2Via2l0
X3NldHRpbmdzX2dldF9lbmFibGVfd2ViZ2wKK3dlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX3dy
aXRlX2NvbnNvbGVfbWVzc2FnZXNfdG9fc3Rkb3V0Cit3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJs
ZV94c3NfYXVkaXRvcgord2Via2l0X3NldHRpbmdzX2dldF9mYW50YXN5X2ZvbnRfZmFtaWx5Cit3
ZWJraXRfc2V0dGluZ3NfZ2V0X2phdmFzY3JpcHRfY2FuX2FjY2Vzc19jbGlwYm9hcmQKK3dlYmtp
dF9zZXR0aW5nc19nZXRfamF2YXNjcmlwdF9jYW5fb3Blbl93aW5kb3dzX2F1dG9tYXRpY2FsbHkK
K3dlYmtpdF9zZXR0aW5nc19nZXRfbG9hZF9pY29uc19pZ25vcmluZ19pbWFnZV9sb2FkX3NldHRp
bmcKK3dlYmtpdF9zZXR0aW5nc19nZXRfbWVkaWFfcGxheWJhY2tfYWxsb3dzX2lubGluZQord2Vi
a2l0X3NldHRpbmdzX2dldF9tZWRpYV9wbGF5YmFja19yZXF1aXJlc191c2VyX2dlc3R1cmUKK3dl
YmtpdF9zZXR0aW5nc19nZXRfbWluaW11bV9mb250X3NpemUKK3dlYmtpdF9zZXR0aW5nc19nZXRf
bW9ub3NwYWNlX2ZvbnRfZmFtaWx5Cit3ZWJraXRfc2V0dGluZ3NfZ2V0X3BpY3RvZ3JhcGhfZm9u
dF9mYW1pbHkKK3dlYmtpdF9zZXR0aW5nc19nZXRfcHJpbnRfYmFja2dyb3VuZHMKK3dlYmtpdF9z
ZXR0aW5nc19nZXRfc2Fuc19zZXJpZl9mb250X2ZhbWlseQord2Via2l0X3NldHRpbmdzX2dldF9z
ZXJpZl9mb250X2ZhbWlseQord2Via2l0X3NldHRpbmdzX2dldF91c2VyX2FnZW50Cit3ZWJraXRf
c2V0dGluZ3NfZ2V0X3pvb21fdGV4dF9vbmx5Cit3ZWJraXRfc2V0dGluZ3Nfc2V0X2FsbG93X2Zp
bGVfYWNjZXNzX2Zyb21fZmlsZV91cmxzCit3ZWJraXRfc2V0dGluZ3Nfc2V0X2FsbG93X21vZGFs
X2RpYWxvZ3MKK3dlYmtpdF9zZXR0aW5nc19zZXRfYWxsb3dfdW5pdmVyc2FsX2FjY2Vzc19mcm9t
X2ZpbGVfdXJscword2Via2l0X3NldHRpbmdzX3NldF9hdXRvX2xvYWRfaW1hZ2VzCit3ZWJraXRf
c2V0dGluZ3Nfc2V0X2N1cnNpdmVfZm9udF9mYW1pbHkKK3dlYmtpdF9zZXR0aW5nc19zZXRfZGVm
YXVsdF9jaGFyc2V0Cit3ZWJraXRfc2V0dGluZ3Nfc2V0X2RlZmF1bHRfZm9udF9mYW1pbHkKK3dl
YmtpdF9zZXR0aW5nc19zZXRfZGVmYXVsdF9mb250X3NpemUKK3dlYmtpdF9zZXR0aW5nc19zZXRf
ZGVmYXVsdF9tb25vc3BhY2VfZm9udF9zaXplCit3ZWJraXRfc2V0dGluZ3Nfc2V0X2RyYXdfY29t
cG9zaXRpbmdfaW5kaWNhdG9ycword2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfYWNjZWxlcmF0
ZWRfMmRfY2FudmFzCit3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV9jYXJldF9icm93c2luZwor
d2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfZGV2ZWxvcGVyX2V4dHJhcword2Via2l0X3NldHRp
bmdzX3NldF9lbmFibGVfZG5zX3ByZWZldGNoaW5nCit3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJs
ZV9lbmNyeXB0ZWRfbWVkaWEKK3dlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX2ZyYW1lX2ZsYXR0
ZW5pbmcKK3dlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX2Z1bGxzY3JlZW4KK3dlYmtpdF9zZXR0
aW5nc19zZXRfZW5hYmxlX2h0bWw1X2RhdGFiYXNlCit3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJs
ZV9odG1sNV9sb2NhbF9zdG9yYWdlCit3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV9oeXBlcmxp
bmtfYXVkaXRpbmcKK3dlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX2phdmEKK3dlYmtpdF9zZXR0
aW5nc19zZXRfZW5hYmxlX2phdmFzY3JpcHQKK3dlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX21l
ZGlhX2NhcGFiaWxpdGllcword2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfbWVkaWFfc3RyZWFt
Cit3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV9tZWRpYXNvdXJjZQord2Via2l0X3NldHRpbmdz
X3NldF9lbmFibGVfb2ZmbGluZV93ZWJfYXBwbGljYXRpb25fY2FjaGUKK3dlYmtpdF9zZXR0aW5n
c19zZXRfZW5hYmxlX3BhZ2VfY2FjaGUKK3dlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX3BsdWdp
bnMKK3dlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX3Jlc2l6YWJsZV90ZXh0X2FyZWFzCit3ZWJr
aXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV9zaXRlX3NwZWNpZmljX3F1aXJrcword2Via2l0X3NldHRp
bmdzX3NldF9lbmFibGVfc21vb3RoX3Njcm9sbGluZword2Via2l0X3NldHRpbmdzX3NldF9lbmFi
bGVfc3BhdGlhbF9uYXZpZ2F0aW9uCit3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV90YWJzX3Rv
X2xpbmtzCit3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV93ZWJhdWRpbword2Via2l0X3NldHRp
bmdzX3NldF9lbmFibGVfd2ViZ2wKK3dlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX3dyaXRlX2Nv
bnNvbGVfbWVzc2FnZXNfdG9fc3Rkb3V0Cit3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV94c3Nf
YXVkaXRvcgord2Via2l0X3NldHRpbmdzX3NldF9mYW50YXN5X2ZvbnRfZmFtaWx5Cit3ZWJraXRf
c2V0dGluZ3Nfc2V0X2phdmFzY3JpcHRfY2FuX2FjY2Vzc19jbGlwYm9hcmQKK3dlYmtpdF9zZXR0
aW5nc19zZXRfamF2YXNjcmlwdF9jYW5fb3Blbl93aW5kb3dzX2F1dG9tYXRpY2FsbHkKK3dlYmtp
dF9zZXR0aW5nc19zZXRfbG9hZF9pY29uc19pZ25vcmluZ19pbWFnZV9sb2FkX3NldHRpbmcKK3dl
YmtpdF9zZXR0aW5nc19zZXRfbWVkaWFfcGxheWJhY2tfYWxsb3dzX2lubGluZQord2Via2l0X3Nl
dHRpbmdzX3NldF9tZWRpYV9wbGF5YmFja19yZXF1aXJlc191c2VyX2dlc3R1cmUKK3dlYmtpdF9z
ZXR0aW5nc19zZXRfbWluaW11bV9mb250X3NpemUKK3dlYmtpdF9zZXR0aW5nc19zZXRfbW9ub3Nw
YWNlX2ZvbnRfZmFtaWx5Cit3ZWJraXRfc2V0dGluZ3Nfc2V0X3BpY3RvZ3JhcGhfZm9udF9mYW1p
bHkKK3dlYmtpdF9zZXR0aW5nc19zZXRfcHJpbnRfYmFja2dyb3VuZHMKK3dlYmtpdF9zZXR0aW5n
c19zZXRfc2Fuc19zZXJpZl9mb250X2ZhbWlseQord2Via2l0X3NldHRpbmdzX3NldF9zZXJpZl9m
b250X2ZhbWlseQord2Via2l0X3NldHRpbmdzX3NldF91c2VyX2FnZW50Cit3ZWJraXRfc2V0dGlu
Z3Nfc2V0X3VzZXJfYWdlbnRfd2l0aF9hcHBsaWNhdGlvbl9kZXRhaWxzCit3ZWJraXRfc2V0dGlu
Z3Nfc2V0X3pvb21fdGV4dF9vbmx5CisKKzxTVUJTRUNUSU9OIFN0YW5kYXJkPgorV0VCS0lUX0lT
X1NFVFRJTkdTCitXRUJLSVRfSVNfU0VUVElOR1NfQ0xBU1MKK1dFQktJVF9TRVRUSU5HUworV0VC
S0lUX1NFVFRJTkdTX0NMQVNTCitXRUJLSVRfU0VUVElOR1NfR0VUX0NMQVNTCitXRUJLSVRfVFlQ
RV9TRVRUSU5HUworV2ViS2l0U2V0dGluZ3MKK1dlYktpdFNldHRpbmdzQ2xhc3MKK1dlYktpdFNl
dHRpbmdzUHJpdmF0ZQorCis8U1VCU0VDVElPTiBQcml2YXRlPgord2Via2l0X3NldHRpbmdzX2dl
dF90eXBlCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+V2ViS2l0VVJJUmVxdWVzdDwv
RklMRT4KKzxUSVRMRT5XZWJLaXRVUklSZXF1ZXN0PC9USVRMRT4KKworPFNVQlNFQ1RJT04+Cit3
ZWJraXRfdXJpX3JlcXVlc3RfZ2V0X2h0dHBfaGVhZGVycword2Via2l0X3VyaV9yZXF1ZXN0X2dl
dF9odHRwX21ldGhvZAord2Via2l0X3VyaV9yZXF1ZXN0X2dldF91cmkKK3dlYmtpdF91cmlfcmVx
dWVzdF9uZXcKK3dlYmtpdF91cmlfcmVxdWVzdF9zZXRfdXJpCisKKzxTVUJTRUNUSU9OIFN0YW5k
YXJkPgorV0VCS0lUX0lTX1VSSV9SRVFVRVNUCitXRUJLSVRfSVNfVVJJX1JFUVVFU1RfQ0xBU1MK
K1dFQktJVF9UWVBFX1VSSV9SRVFVRVNUCitXRUJLSVRfVVJJX1JFUVVFU1QKK1dFQktJVF9VUklf
UkVRVUVTVF9DTEFTUworV0VCS0lUX1VSSV9SRVFVRVNUX0dFVF9DTEFTUworV2ViS2l0VVJJUmVx
dWVzdAorV2ViS2l0VVJJUmVxdWVzdENsYXNzCitXZWJLaXRVUklSZXF1ZXN0UHJpdmF0ZQorCis8
U1VCU0VDVElPTiBQcml2YXRlPgord2Via2l0X3VyaV9yZXF1ZXN0X2dldF90eXBlCis8L1NFQ1RJ
T04+CisKKzxTRUNUSU9OPgorPEZJTEU+V2ViS2l0VVJJUmVzcG9uc2U8L0ZJTEU+Cis8VElUTEU+
V2ViS2l0VVJJUmVzcG9uc2U8L1RJVExFPgorCis8U1VCU0VDVElPTj4KK3dlYmtpdF91cmlfcmVz
cG9uc2VfZ2V0X2NvbnRlbnRfbGVuZ3RoCit3ZWJraXRfdXJpX3Jlc3BvbnNlX2dldF9odHRwX2hl
YWRlcnMKK3dlYmtpdF91cmlfcmVzcG9uc2VfZ2V0X21pbWVfdHlwZQord2Via2l0X3VyaV9yZXNw
b25zZV9nZXRfc3RhdHVzX2NvZGUKK3dlYmtpdF91cmlfcmVzcG9uc2VfZ2V0X3N1Z2dlc3RlZF9m
aWxlbmFtZQord2Via2l0X3VyaV9yZXNwb25zZV9nZXRfdXJpCisKKzxTVUJTRUNUSU9OIFN0YW5k
YXJkPgorV0VCS0lUX0lTX1VSSV9SRVNQT05TRQorV0VCS0lUX0lTX1VSSV9SRVNQT05TRV9DTEFT
UworV0VCS0lUX1RZUEVfVVJJX1JFU1BPTlNFCitXRUJLSVRfVVJJX1JFU1BPTlNFCitXRUJLSVRf
VVJJX1JFU1BPTlNFX0NMQVNTCitXRUJLSVRfVVJJX1JFU1BPTlNFX0dFVF9DTEFTUworV2ViS2l0
VVJJUmVzcG9uc2UKK1dlYktpdFVSSVJlc3BvbnNlQ2xhc3MKK1dlYktpdFVSSVJlc3BvbnNlUHJp
dmF0ZQorCis8U1VCU0VDVElPTiBQcml2YXRlPgord2Via2l0X3VyaV9yZXNwb25zZV9nZXRfdHlw
ZQorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktpdFVSSVNjaGVtZVJlcXVlc3Q8
L0ZJTEU+Cis8VElUTEU+V2ViS2l0VVJJU2NoZW1lUmVxdWVzdDwvVElUTEU+CisKKzxTVUJTRUNU
SU9OPgord2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9maW5pc2gKK3dlYmtpdF91cmlfc2NoZW1l
X3JlcXVlc3RfZmluaXNoX2Vycm9yCit3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF9wYXRo
Cit3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF9zY2hlbWUKK3dlYmtpdF91cmlfc2NoZW1l
X3JlcXVlc3RfZ2V0X3VyaQord2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRfd2ViX3ZpZXcK
KworPFNVQlNFQ1RJT04gU3RhbmRhcmQ+CitXRUJLSVRfSVNfVVJJX1NDSEVNRV9SRVFVRVNUCitX
RUJLSVRfSVNfVVJJX1NDSEVNRV9SRVFVRVNUX0NMQVNTCitXRUJLSVRfVFlQRV9VUklfU0NIRU1F
X1JFUVVFU1QKK1dFQktJVF9VUklfU0NIRU1FX1JFUVVFU1QKK1dFQktJVF9VUklfU0NIRU1FX1JF
UVVFU1RfQ0xBU1MKK1dFQktJVF9VUklfU0NIRU1FX1JFUVVFU1RfR0VUX0NMQVNTCitXZWJLaXRV
UklTY2hlbWVSZXF1ZXN0CitXZWJLaXRVUklTY2hlbWVSZXF1ZXN0Q2xhc3MKK1dlYktpdFVSSVNj
aGVtZVJlcXVlc3RQcml2YXRlCisKKzxTVUJTRUNUSU9OIFByaXZhdGU+Cit3ZWJraXRfdXJpX3Nj
aGVtZV9yZXF1ZXN0X2dldF90eXBlCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+V2Vi
S2l0VXNlckNvbnRlbnQ8L0ZJTEU+CitXZWJLaXRVc2VyQ29udGVudEluamVjdGVkRnJhbWVzCitX
ZWJLaXRVc2VyU3R5bGVMZXZlbAorV0VCS0lUX1RZUEVfVVNFUl9TVFlMRV9TSEVFVAorV2ViS2l0
VXNlclNjcmlwdEluamVjdGlvblRpbWUKK1dFQktJVF9UWVBFX1VTRVJfU0NSSVBUCitXZWJLaXRV
c2VyU2NyaXB0CitXZWJLaXRVc2VyU3R5bGVTaGVldAord2Via2l0X3VzZXJfc2NyaXB0X2dldF90
eXBlCit3ZWJraXRfdXNlcl9zY3JpcHRfbmV3Cit3ZWJraXRfdXNlcl9zY3JpcHRfbmV3X2Zvcl93
b3JsZAord2Via2l0X3VzZXJfc2NyaXB0X3JlZgord2Via2l0X3VzZXJfc2NyaXB0X3VucmVmCit3
ZWJraXRfdXNlcl9zdHlsZV9zaGVldF9nZXRfdHlwZQord2Via2l0X3VzZXJfc3R5bGVfc2hlZXRf
bmV3Cit3ZWJraXRfdXNlcl9zdHlsZV9zaGVldF9uZXdfZm9yX3dvcmxkCit3ZWJraXRfdXNlcl9z
dHlsZV9zaGVldF9yZWYKK3dlYmtpdF91c2VyX3N0eWxlX3NoZWV0X3VucmVmCisKKzwvU0VDVElP
Tj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXRVc2VyQ29udGVudE1hbmFnZXI8L0ZJTEU+Cis8
VElUTEU+V2ViS2l0VXNlckNvbnRlbnRNYW5hZ2VyPC9USVRMRT4KKworPFNVQlNFQ1RJT04+Cit3
ZWJraXRfdXNlcl9jb250ZW50X21hbmFnZXJfYWRkX3NjcmlwdAord2Via2l0X3VzZXJfY29udGVu
dF9tYW5hZ2VyX2FkZF9zdHlsZV9zaGVldAorCit3ZWJraXRfdXNlcl9jb250ZW50X21hbmFnZXJf
bmV3Cit3ZWJraXRfdXNlcl9jb250ZW50X21hbmFnZXJfcmVnaXN0ZXJfc2NyaXB0X21lc3NhZ2Vf
aGFuZGxlcgord2Via2l0X3VzZXJfY29udGVudF9tYW5hZ2VyX3JlZ2lzdGVyX3NjcmlwdF9tZXNz
YWdlX2hhbmRsZXJfaW5fd29ybGQKK3dlYmtpdF91c2VyX2NvbnRlbnRfbWFuYWdlcl9yZW1vdmVf
YWxsX3NjcmlwdHMKK3dlYmtpdF91c2VyX2NvbnRlbnRfbWFuYWdlcl9yZW1vdmVfYWxsX3N0eWxl
X3NoZWV0cword2Via2l0X3VzZXJfY29udGVudF9tYW5hZ2VyX3VucmVnaXN0ZXJfc2NyaXB0X21l
c3NhZ2VfaGFuZGxlcgord2Via2l0X3VzZXJfY29udGVudF9tYW5hZ2VyX3VucmVnaXN0ZXJfc2Ny
aXB0X21lc3NhZ2VfaGFuZGxlcl9pbl93b3JsZAorCis8U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dF
QktJVF9JU19VU0VSX0NPTlRFTlRfTUFOQUdFUgorV0VCS0lUX0lTX1VTRVJfQ09OVEVOVF9NQU5B
R0VSX0NMQVNTCitXRUJLSVRfVFlQRV9VU0VSX0NPTlRFTlRfTUFOQUdFUgorV0VCS0lUX1VTRVJf
Q09OVEVOVF9NQU5BR0VSCitXRUJLSVRfVVNFUl9DT05URU5UX01BTkFHRVJfQ0xBU1MKK1dFQktJ
VF9VU0VSX0NPTlRFTlRfTUFOQUdFUl9HRVRfQ0xBU1MKK1dlYktpdFVzZXJDb250ZW50TWFuYWdl
cgorV2ViS2l0VXNlckNvbnRlbnRNYW5hZ2VyQ2xhc3MKK1dlYktpdFVzZXJDb250ZW50TWFuYWdl
clByaXZhdGUKKworPFNVQlNFQ1RJT04gUHJpdmF0ZT4KK3dlYmtpdF91c2VyX2NvbnRlbnRfbWFu
YWdlcl9nZXRfdHlwZQorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktpdFVzZXJN
ZWRpYVBlcm1pc3Npb25SZXF1ZXN0PC9GSUxFPgorPFRJVExFPldlYktpdFVzZXJNZWRpYVBlcm1p
c3Npb25SZXF1ZXN0PC9USVRMRT4KKworPFNVQlNFQ1RJT04+Cit3ZWJraXRfdXNlcl9tZWRpYV9w
ZXJtaXNzaW9uX2lzX2Zvcl9hdWRpb19kZXZpY2UKK3dlYmtpdF91c2VyX21lZGlhX3Blcm1pc3Np
b25faXNfZm9yX3ZpZGVvX2RldmljZQorCis8U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dFQktJVF9J
U19VU0VSX01FRElBX1BFUk1JU1NJT05fUkVRVUVTVAorV0VCS0lUX0lTX1VTRVJfTUVESUFfUEVS
TUlTU0lPTl9SRVFVRVNUX0NMQVNTCitXRUJLSVRfVFlQRV9VU0VSX01FRElBX1BFUk1JU1NJT05f
UkVRVUVTVAorV0VCS0lUX1VTRVJfTUVESUFfUEVSTUlTU0lPTl9SRVFVRVNUCitXRUJLSVRfVVNF
Ul9NRURJQV9QRVJNSVNTSU9OX1JFUVVFU1RfQ0xBU1MKK1dFQktJVF9VU0VSX01FRElBX1BFUk1J
U1NJT05fUkVRVUVTVF9HRVRfQ0xBU1MKK1dlYktpdFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0
CitXZWJLaXRVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdENsYXNzCitXZWJLaXRVc2VyTWVkaWFQ
ZXJtaXNzaW9uUmVxdWVzdFByaXZhdGUKKworPFNVQlNFQ1RJT04gUHJpdmF0ZT4KK3dlYmtpdF91
c2VyX21lZGlhX3Blcm1pc3Npb25fcmVxdWVzdF9nZXRfdHlwZQorPC9TRUNUSU9OPgorCis8U0VD
VElPTj4KKzxGSUxFPldlYktpdFdlYkNvbnRleHQ8L0ZJTEU+Cis8VElUTEU+V2ViS2l0V2ViQ29u
dGV4dDwvVElUTEU+CitXZWJLaXRDYWNoZU1vZGVsCitXZWJLaXRQcm9jZXNzTW9kZWwKK1dlYktp
dFRMU0Vycm9yc1BvbGljeQorV2ViS2l0TmV0d29ya1Byb3h5TW9kZQorV2ViS2l0VVJJU2NoZW1l
UmVxdWVzdENhbGxiYWNrCisKKzxTVUJTRUNUSU9OPgord2Via2l0X3dlYl9jb250ZXh0X25ldwor
d2Via2l0X3dlYl9jb250ZXh0X25ld19lcGhlbWVyYWwKK3dlYmtpdF93ZWJfY29udGV4dF9uZXdf
d2l0aF93ZWJzaXRlX2RhdGFfbWFuYWdlcgord2Via2l0X3dlYl9jb250ZXh0X2lzX2F1dG9tYXRp
b25fYWxsb3dlZAord2Via2l0X3dlYl9jb250ZXh0X2lzX2VwaGVtZXJhbAord2Via2l0X3dlYl9j
b250ZXh0X2FsbG93X3Rsc19jZXJ0aWZpY2F0ZV9mb3JfaG9zdAord2Via2l0X3dlYl9jb250ZXh0
X2NsZWFyX2NhY2hlCit3ZWJraXRfd2ViX2NvbnRleHRfZG93bmxvYWRfdXJpCit3ZWJraXRfd2Vi
X2NvbnRleHRfZ2V0X2NhY2hlX21vZGVsCit3ZWJraXRfd2ViX2NvbnRleHRfZ2V0X2Nvb2tpZV9t
YW5hZ2VyCit3ZWJraXRfd2ViX2NvbnRleHRfZ2V0X2RlZmF1bHQKK3dlYmtpdF93ZWJfY29udGV4
dF9nZXRfZmF2aWNvbl9kYXRhYmFzZQord2Via2l0X3dlYl9jb250ZXh0X2dldF9mYXZpY29uX2Rh
dGFiYXNlX2RpcmVjdG9yeQord2Via2l0X3dlYl9jb250ZXh0X2dldF9wbHVnaW5zCit3ZWJraXRf
d2ViX2NvbnRleHRfZ2V0X3BsdWdpbnNfZmluaXNoCit3ZWJraXRfd2ViX2NvbnRleHRfZ2V0X3By
b2Nlc3NfbW9kZWwKK3dlYmtpdF93ZWJfY29udGV4dF9nZXRfc2FuZGJveF9lbmFibGVkCit3ZWJr
aXRfd2ViX2NvbnRleHRfZ2V0X3NlY3VyaXR5X21hbmFnZXIKK3dlYmtpdF93ZWJfY29udGV4dF9n
ZXRfc3BlbGxfY2hlY2tpbmdfZW5hYmxlZAord2Via2l0X3dlYl9jb250ZXh0X2dldF9zcGVsbF9j
aGVja2luZ19sYW5ndWFnZXMKK3dlYmtpdF93ZWJfY29udGV4dF9nZXRfdGxzX2Vycm9yc19wb2xp
Y3kKK3dlYmtpdF93ZWJfY29udGV4dF9nZXRfd2ViX3Byb2Nlc3NfY291bnRfbGltaXQKK3dlYmtp
dF93ZWJfY29udGV4dF9nZXRfd2Vic2l0ZV9kYXRhX21hbmFnZXIKK3dlYmtpdF93ZWJfY29udGV4
dF9pbml0aWFsaXplX25vdGlmaWNhdGlvbl9wZXJtaXNzaW9ucword2Via2l0X3dlYl9jb250ZXh0
X3ByZWZldGNoX2Rucword2Via2l0X3dlYl9jb250ZXh0X3JlZ2lzdGVyX3VyaV9zY2hlbWUKK3dl
YmtpdF93ZWJfY29udGV4dF9zZXRfYWRkaXRpb25hbF9wbHVnaW5zX2RpcmVjdG9yeQord2Via2l0
X3dlYl9jb250ZXh0X3NldF9hdXRvbWF0aW9uX2FsbG93ZWQKK3dlYmtpdF93ZWJfY29udGV4dF9z
ZXRfY2FjaGVfbW9kZWwKK3dlYmtpdF93ZWJfY29udGV4dF9zZXRfZmF2aWNvbl9kYXRhYmFzZV9k
aXJlY3RvcnkKK3dlYmtpdF93ZWJfY29udGV4dF9zZXRfbmV0d29ya19wcm94eV9zZXR0aW5ncwor
d2Via2l0X3dlYl9jb250ZXh0X3NldF9wcmVmZXJyZWRfbGFuZ3VhZ2VzCit3ZWJraXRfd2ViX2Nv
bnRleHRfc2V0X3Byb2Nlc3NfbW9kZWwKK3dlYmtpdF93ZWJfY29udGV4dF9zZXRfc2FuZGJveF9l
bmFibGVkCit3ZWJraXRfd2ViX2NvbnRleHRfc2V0X3NwZWxsX2NoZWNraW5nX2VuYWJsZWQKK3dl
YmtpdF93ZWJfY29udGV4dF9zZXRfc3BlbGxfY2hlY2tpbmdfbGFuZ3VhZ2VzCit3ZWJraXRfd2Vi
X2NvbnRleHRfc2V0X3Rsc19lcnJvcnNfcG9saWN5Cit3ZWJraXRfd2ViX2NvbnRleHRfc2V0X3dl
Yl9leHRlbnNpb25zX2RpcmVjdG9yeQord2Via2l0X3dlYl9jb250ZXh0X3NldF93ZWJfZXh0ZW5z
aW9uc19pbml0aWFsaXphdGlvbl91c2VyX2RhdGEKK3dlYmtpdF93ZWJfY29udGV4dF9zZXRfd2Vi
X3Byb2Nlc3NfY291bnRfbGltaXQKKworPFNVQlNFQ1RJT04gU3RhbmRhcmQ+CitXRUJLSVRfSVNf
V0VCX0NPTlRFWFQKK1dFQktJVF9JU19XRUJfQ09OVEVYVF9DTEFTUworV0VCS0lUX1RZUEVfV0VC
X0NPTlRFWFQKK1dFQktJVF9XRUJfQ09OVEVYVAorV0VCS0lUX1dFQl9DT05URVhUX0NMQVNTCitX
RUJLSVRfV0VCX0NPTlRFWFRfR0VUX0NMQVNTCitXZWJLaXRXZWJDb250ZXh0CitXZWJLaXRXZWJD
b250ZXh0Q2xhc3MKK1dlYktpdFdlYkNvbnRleHRQcml2YXRlCisKKzxTVUJTRUNUSU9OIFByaXZh
dGU+Cit3ZWJraXRfd2ViX2NvbnRleHRfZ2V0X3R5cGUKKzwvU0VDVElPTj4KKworPFNVQlNFQ1RJ
T04gU3RhbmRhcmQ+CitXRUJLSVRfSVNfV0VCX0VESVRPUgorV0VCS0lUX1RZUEVfV0VCX0VESVRP
UgorV0VCS0lUX1dFQl9FRElUT1IKK1dFQktJVF9XRUJfRURJVE9SX0NMQVNTCitXRUJLSVRfV0VC
X0VESVRPUl9HRVRfQ0xBU1MKK1dlYktpdFdlYkVkaXRvcgorV2ViS2l0V2ViRWRpdG9yQ2xhc3MK
K1dlYktpdFdlYkVkaXRvclByaXZhdGUKKworPFNVQlNFQ1RJT04gUHJpdmF0ZT4KKzwvU0VDVElP
Tj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXRXZWJSZXNvdXJjZTwvRklMRT4KKzxUSVRMRT5X
ZWJLaXRXZWJSZXNvdXJjZTwvVElUTEU+CisKKzxTVUJTRUNUSU9OPgord2Via2l0X3dlYl9yZXNv
dXJjZV9nZXRfZGF0YQord2Via2l0X3dlYl9yZXNvdXJjZV9nZXRfZGF0YV9maW5pc2gKK3dlYmtp
dF93ZWJfcmVzb3VyY2VfZ2V0X3Jlc3BvbnNlCit3ZWJraXRfd2ViX3Jlc291cmNlX2dldF91cmkK
KworPFNVQlNFQ1RJT04gU3RhbmRhcmQ+CitXRUJLSVRfSVNfV0VCX1JFU09VUkNFCitXRUJLSVRf
SVNfV0VCX1JFU09VUkNFX0NMQVNTCitXRUJLSVRfVFlQRV9XRUJfUkVTT1VSQ0UKK1dFQktJVF9X
RUJfUkVTT1VSQ0UKK1dFQktJVF9XRUJfUkVTT1VSQ0VfQ0xBU1MKK1dFQktJVF9XRUJfUkVTT1VS
Q0VfR0VUX0NMQVNTCitXZWJLaXRXZWJSZXNvdXJjZQorV2ViS2l0V2ViUmVzb3VyY2VDbGFzcwor
V2ViS2l0V2ViUmVzb3VyY2VQcml2YXRlCisKKzxTVUJTRUNUSU9OIFByaXZhdGU+Cit3ZWJraXRf
d2ViX3Jlc291cmNlX2dldF90eXBlCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+V2Vi
S2l0V2ViVmlldzwvRklMRT4KKzxUSVRMRT5XZWJLaXRXZWJWaWV3PC9USVRMRT4KK1dlYktpdFBv
bGljeURlY2lzaW9uVHlwZQorV2ViS2l0TG9hZEV2ZW50CitXZWJLaXRTYXZlTW9kZQorV2ViS2l0
SW5zZWN1cmVDb250ZW50RXZlbnQKK1dlYktpdFdlYlByb2Nlc3NUZXJtaW5hdGlvblJlYXNvbgor
Cis8U1VCU0VDVElPTiBFZGl0aW5nIENvbW1hbmRzPgorV0VCS0lUX0VESVRJTkdfQ09NTUFORF9D
VVQKK1dFQktJVF9FRElUSU5HX0NPTU1BTkRfQ09QWQorV0VCS0lUX0VESVRJTkdfQ09NTUFORF9Q
QVNURQorV0VCS0lUX0VESVRJTkdfQ09NTUFORF9TRUxFQ1RfQUxMCitXRUJLSVRfRURJVElOR19D
T01NQU5EX1VORE8KK1dFQktJVF9FRElUSU5HX0NPTU1BTkRfUkVETworV0VCS0lUX0VESVRJTkdf
Q09NTUFORF9JTlNFUlRfSU1BR0UKK1dFQktJVF9FRElUSU5HX0NPTU1BTkRfQ1JFQVRFX0xJTksK
KworPFNVQlNFQ1RJT04+Cit3ZWJraXRfd2ViX3ZpZXdfbmV3Cit3ZWJraXRfd2ViX3ZpZXdfbmV3
X3dpdGhfY29udGV4dAord2Via2l0X3dlYl92aWV3X25ld193aXRoX3JlbGF0ZWRfdmlldword2Vi
a2l0X3dlYl92aWV3X25ld193aXRoX3NldHRpbmdzCit3ZWJraXRfd2ViX3ZpZXdfbmV3X3dpdGhf
dXNlcl9jb250ZW50X21hbmFnZXIKK3dlYmtpdF93ZWJfdmlld19pc19lcGhlbWVyYWwKK3dlYmtp
dF93ZWJfdmlld19pc19jb250cm9sbGVkX2J5X2F1dG9tYXRpb24KK3dlYmtpdF93ZWJfdmlld19j
YW5fZXhlY3V0ZV9lZGl0aW5nX2NvbW1hbmQKK3dlYmtpdF93ZWJfdmlld19jYW5fZXhlY3V0ZV9l
ZGl0aW5nX2NvbW1hbmRfZmluaXNoCit3ZWJraXRfd2ViX3ZpZXdfY2FuX2dvX2JhY2sKK3dlYmtp
dF93ZWJfdmlld19jYW5fZ29fZm9yd2FyZAord2Via2l0X3dlYl92aWV3X2Nhbl9zaG93X21pbWVf
dHlwZQord2Via2l0X3dlYl92aWV3X2Rvd25sb2FkX3VyaQord2Via2l0X3dlYl92aWV3X2V4ZWN1
dGVfZWRpdGluZ19jb21tYW5kCit3ZWJraXRfd2ViX3ZpZXdfZXhlY3V0ZV9lZGl0aW5nX2NvbW1h
bmRfd2l0aF9hcmd1bWVudAord2Via2l0X3dlYl92aWV3X2dldF9iYWNrX2ZvcndhcmRfbGlzdAor
d2Via2l0X3dlYl92aWV3X2dldF9iYWNrZW5kCit3ZWJraXRfd2ViX3ZpZXdfZ2V0X2NvbnRleHQK
K3dlYmtpdF93ZWJfdmlld19nZXRfY3VzdG9tX2NoYXJzZXQKK3dlYmtpdF93ZWJfdmlld19nZXRf
ZWRpdG9yX3N0YXRlCit3ZWJraXRfd2ViX3ZpZXdfZ2V0X2VzdGltYXRlZF9sb2FkX3Byb2dyZXNz
Cit3ZWJraXRfd2ViX3ZpZXdfZ2V0X2ZpbmRfY29udHJvbGxlcgord2Via2l0X3dlYl92aWV3X2dl
dF9tYWluX3Jlc291cmNlCit3ZWJraXRfd2ViX3ZpZXdfZ2V0X3BhZ2VfaWQKK3dlYmtpdF93ZWJf
dmlld19nZXRfc2Vzc2lvbl9zdGF0ZQord2Via2l0X3dlYl92aWV3X2dldF9zZXR0aW5ncword2Vi
a2l0X3dlYl92aWV3X2dldF90aXRsZQord2Via2l0X3dlYl92aWV3X2dldF90bHNfaW5mbword2Vi
a2l0X3dlYl92aWV3X2dldF91cmkKK3dlYmtpdF93ZWJfdmlld19nZXRfdXNlcl9jb250ZW50X21h
bmFnZXIKK3dlYmtpdF93ZWJfdmlld19nZXRfd2Vic2l0ZV9kYXRhX21hbmFnZXIKK3dlYmtpdF93
ZWJfdmlld19nZXRfd2luZG93X3Byb3BlcnRpZXMKK3dlYmtpdF93ZWJfdmlld19nZXRfem9vbV9s
ZXZlbAord2Via2l0X3dlYl92aWV3X2dvX2JhY2sKK3dlYmtpdF93ZWJfdmlld19nb19mb3J3YXJk
Cit3ZWJraXRfd2ViX3ZpZXdfZ29fdG9fYmFja19mb3J3YXJkX2xpc3RfaXRlbQord2Via2l0X3dl
Yl92aWV3X2lzX2VkaXRhYmxlCit3ZWJraXRfd2ViX3ZpZXdfaXNfbG9hZGluZword2Via2l0X3dl
Yl92aWV3X2lzX3BsYXlpbmdfYXVkaW8KK3dlYmtpdF93ZWJfdmlld19sb2FkX2FsdGVybmF0ZV9o
dG1sCit3ZWJraXRfd2ViX3ZpZXdfbG9hZF9ieXRlcword2Via2l0X3dlYl92aWV3X2xvYWRfaHRt
bAord2Via2l0X3dlYl92aWV3X2xvYWRfcGxhaW5fdGV4dAord2Via2l0X3dlYl92aWV3X2xvYWRf
cmVxdWVzdAord2Via2l0X3dlYl92aWV3X2xvYWRfdXJpCit3ZWJraXRfd2ViX3ZpZXdfcmVsb2Fk
Cit3ZWJraXRfd2ViX3ZpZXdfcmVsb2FkX2J5cGFzc19jYWNoZQord2Via2l0X3dlYl92aWV3X3Jl
c3RvcmVfc2Vzc2lvbl9zdGF0ZQord2Via2l0X3dlYl92aWV3X3J1bl9qYXZhc2NyaXB0Cit3ZWJr
aXRfd2ViX3ZpZXdfcnVuX2phdmFzY3JpcHRfZmluaXNoCit3ZWJraXRfd2ViX3ZpZXdfcnVuX2ph
dmFzY3JpcHRfZnJvbV9ncmVzb3VyY2UKK3dlYmtpdF93ZWJfdmlld19ydW5famF2YXNjcmlwdF9m
cm9tX2dyZXNvdXJjZV9maW5pc2gKK3dlYmtpdF93ZWJfdmlld19ydW5famF2YXNjcmlwdF9pbl93
b3JsZAord2Via2l0X3dlYl92aWV3X3J1bl9qYXZhc2NyaXB0X2luX3dvcmxkX2ZpbmlzaAord2Vi
a2l0X3dlYl92aWV3X3NhdmUKK3dlYmtpdF93ZWJfdmlld19zYXZlX2ZpbmlzaAord2Via2l0X3dl
Yl92aWV3X3NhdmVfdG9fZmlsZQord2Via2l0X3dlYl92aWV3X3NhdmVfdG9fZmlsZV9maW5pc2gK
K3dlYmtpdF93ZWJfdmlld19zZXNzaW9uX3N0YXRlX25ldword2Via2l0X3dlYl92aWV3X3Nlc3Np
b25fc3RhdGVfcmVmCit3ZWJraXRfd2ViX3ZpZXdfc2Vzc2lvbl9zdGF0ZV9zZXJpYWxpemUKK3dl
YmtpdF93ZWJfdmlld19zZXNzaW9uX3N0YXRlX3VucmVmCit3ZWJraXRfd2ViX3ZpZXdfc2V0X2N1
c3RvbV9jaGFyc2V0Cit3ZWJraXRfd2ViX3ZpZXdfc2V0X2VkaXRhYmxlCit3ZWJraXRfd2ViX3Zp
ZXdfc2V0X3NldHRpbmdzCit3ZWJraXRfd2ViX3ZpZXdfc2V0X3pvb21fbGV2ZWwKK3dlYmtpdF93
ZWJfdmlld19zdG9wX2xvYWRpbmcKK3dlYmtpdF93ZWJfdmlld190cnlfY2xvc2UKKworPFNVQlNF
Q1RJT04gU3RhbmRhcmQ+CitXRUJLSVRfSVNfV0VCX1ZJRVcKK1dFQktJVF9JU19XRUJfVklFV19D
TEFTUworV0VCS0lUX1RZUEVfV0VCX1ZJRVcKK1dFQktJVF9XRUJfVklFVworV0VCS0lUX1dFQl9W
SUVXX0NMQVNTCitXRUJLSVRfV0VCX1ZJRVdfR0VUX0NMQVNTCitXZWJLaXRXZWJWaWV3CitXZWJL
aXRXZWJWaWV3Q2xhc3MKK1dlYktpdFdlYlZpZXdQcml2YXRlCisKKzxTVUJTRUNUSU9OIFByaXZh
dGU+Cit3ZWJraXRfd2ViX3ZpZXdfZ2V0X3R5cGUKK3dlYmtpdF93ZWJfdmlld19zZXNzaW9uX3N0
YXRlX2dldF90eXBlCitXRUJLSVRfQVBJCitXRUJLSVRfREVQUkVDQVRFRAorV0VCS0lUX0RFUFJF
Q0FURURfRk9SCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+V2ViS2l0V2ViVmlld0Jh
Y2tlbmQ8L0ZJTEU+CitXRUJLSVRfVFlQRV9XRUJfVklFV19CQUNLRU5ECitXZWJLaXRXZWJWaWV3
QmFja2VuZAorCis8U1VCU0VDVElPTj4KK3dlYmtpdF93ZWJfdmlld19iYWNrZW5kX2dldF93cGVf
YmFja2VuZAord2Via2l0X3dlYl92aWV3X2JhY2tlbmRfbmV3CisKKzxTVUJTRUNUSU9OIFByaXZh
dGU+Cit3ZWJraXRfd2ViX3ZpZXdfYmFja2VuZF9nZXRfdHlwZQorPC9TRUNUSU9OPgorCis8U0VD
VElPTj4KKzxGSUxFPldlYktpdFdlYlZpZXdTZXNzaW9uU3RhdGU8L0ZJTEU+CitXRUJLSVRfVFlQ
RV9XRUJfVklFV19TRVNTSU9OX1NUQVRFCitXZWJLaXRXZWJWaWV3U2Vzc2lvblN0YXRlCisKKzxT
VUJTRUNUSU9OPgorCis8U1VCU0VDVElPTiBQcml2YXRlPgorPC9TRUNUSU9OPgorCis8U0VDVElP
Tj4KKzxGSUxFPldlYktpdFdlYnNpdGVEYXRhPC9GSUxFPgorV0VCS0lUX1RZUEVfV0VCU0lURV9E
QVRBCitXZWJLaXRXZWJzaXRlRGF0YVR5cGVzCitXZWJLaXRXZWJzaXRlRGF0YQorCis8U1VCU0VD
VElPTj4KK3dlYmtpdF93ZWJzaXRlX2RhdGFfZ2V0X25hbWUKK3dlYmtpdF93ZWJzaXRlX2RhdGFf
Z2V0X3NpemUKK3dlYmtpdF93ZWJzaXRlX2RhdGFfZ2V0X3R5cGVzCit3ZWJraXRfd2Vic2l0ZV9k
YXRhX3JlZgord2Via2l0X3dlYnNpdGVfZGF0YV91bnJlZgorCis8U1VCU0VDVElPTiBQcml2YXRl
Pgord2Via2l0X3dlYnNpdGVfZGF0YV9nZXRfdHlwZQorPC9TRUNUSU9OPgorCis8U0VDVElPTj4K
KzxGSUxFPldlYktpdFdlYnNpdGVEYXRhTWFuYWdlcjwvRklMRT4KKzxUSVRMRT5XZWJLaXRXZWJz
aXRlRGF0YU1hbmFnZXI8L1RJVExFPgorCis8U1VCU0VDVElPTj4KK3dlYmtpdF93ZWJzaXRlX2Rh
dGFfbWFuYWdlcl9jbGVhcgord2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX2NsZWFyX2Zpbmlz
aAord2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX2ZldGNoCit3ZWJraXRfd2Vic2l0ZV9kYXRh
X21hbmFnZXJfZmV0Y2hfZmluaXNoCit3ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJfZ2V0X2Jh
c2VfY2FjaGVfZGlyZWN0b3J5Cit3ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJfZ2V0X2Jhc2Vf
ZGF0YV9kaXJlY3RvcnkKK3dlYmtpdF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9nZXRfY29va2llX21h
bmFnZXIKK3dlYmtpdF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9nZXRfZGlza19jYWNoZV9kaXJlY3Rv
cnkKK3dlYmtpdF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9nZXRfaW5kZXhlZGRiX2RpcmVjdG9yeQor
d2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX2dldF9sb2NhbF9zdG9yYWdlX2RpcmVjdG9yeQor
d2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX2dldF9vZmZsaW5lX2FwcGxpY2F0aW9uX2NhY2hl
X2RpcmVjdG9yeQord2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX2dldF93ZWJzcWxfZGlyZWN0
b3J5Cit3ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJfaXNfZXBoZW1lcmFsCit3ZWJraXRfd2Vi
c2l0ZV9kYXRhX21hbmFnZXJfbmV3Cit3ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJfbmV3X2Vw
aGVtZXJhbAord2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX3JlbW92ZQord2Via2l0X3dlYnNp
dGVfZGF0YV9tYW5hZ2VyX3JlbW92ZV9maW5pc2gKKworPFNVQlNFQ1RJT04gU3RhbmRhcmQ+CitX
RUJLSVRfSVNfV0VCU0lURV9EQVRBX01BTkFHRVIKK1dFQktJVF9JU19XRUJTSVRFX0RBVEFfTUFO
QUdFUl9DTEFTUworV0VCS0lUX1RZUEVfV0VCU0lURV9EQVRBX01BTkFHRVIKK1dFQktJVF9XRUJT
SVRFX0RBVEFfTUFOQUdFUgorV0VCS0lUX1dFQlNJVEVfREFUQV9NQU5BR0VSX0NMQVNTCitXRUJL
SVRfV0VCU0lURV9EQVRBX01BTkFHRVJfR0VUX0NMQVNTCitXZWJLaXRXZWJzaXRlRGF0YU1hbmFn
ZXIKK1dlYktpdFdlYnNpdGVEYXRhTWFuYWdlckNsYXNzCitXZWJLaXRXZWJzaXRlRGF0YU1hbmFn
ZXJQcml2YXRlCisKKzxTVUJTRUNUSU9OIFByaXZhdGU+Cit3ZWJraXRfd2Vic2l0ZV9kYXRhX21h
bmFnZXJfZ2V0X3R5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXRXaW5k
b3dQcm9wZXJ0aWVzPC9GSUxFPgorPFRJVExFPldlYktpdFdpbmRvd1Byb3BlcnRpZXM8L1RJVExF
PgorCis8U1VCU0VDVElPTj4KK3dlYmtpdF93aW5kb3dfcHJvcGVydGllc19nZXRfZnVsbHNjcmVl
bgord2Via2l0X3dpbmRvd19wcm9wZXJ0aWVzX2dldF9sb2NhdGlvbmJhcl92aXNpYmxlCit3ZWJr
aXRfd2luZG93X3Byb3BlcnRpZXNfZ2V0X21lbnViYXJfdmlzaWJsZQord2Via2l0X3dpbmRvd19w
cm9wZXJ0aWVzX2dldF9yZXNpemFibGUKK3dlYmtpdF93aW5kb3dfcHJvcGVydGllc19nZXRfc2Ny
b2xsYmFyc192aXNpYmxlCit3ZWJraXRfd2luZG93X3Byb3BlcnRpZXNfZ2V0X3N0YXR1c2Jhcl92
aXNpYmxlCit3ZWJraXRfd2luZG93X3Byb3BlcnRpZXNfZ2V0X3Rvb2xiYXJfdmlzaWJsZQorCis8
U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dFQktJVF9JU19XSU5ET1dfUFJPUEVSVElFUworV0VCS0lU
X0lTX1dJTkRPV19QUk9QRVJUSUVTX0NMQVNTCitXRUJLSVRfVFlQRV9XSU5ET1dfUFJPUEVSVElF
UworV0VCS0lUX1dJTkRPV19QUk9QRVJUSUVTCitXRUJLSVRfV0lORE9XX1BST1BFUlRJRVNfQ0xB
U1MKK1dFQktJVF9XSU5ET1dfUFJPUEVSVElFU19HRVRfQ0xBU1MKK1dlYktpdFdpbmRvd1Byb3Bl
cnRpZXMKK1dlYktpdFdpbmRvd1Byb3BlcnRpZXNDbGFzcworV2ViS2l0V2luZG93UHJvcGVydGll
c1ByaXZhdGUKKworPFNVQlNFQ1RJT04gUHJpdmF0ZT4KK3dlYmtpdF93aW5kb3dfcHJvcGVydGll
c19nZXRfdHlwZQorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPndlYmtpdDwvRklMRT4K
KworPC9TRUNUSU9OPgorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
d3BlL2RvY3Mvd3BlLTAuMS50eXBlcyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUv
ZG9jcy93cGUtMC4xLnR5cGVzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ5ZGViMjliY2IxMGY0NTkyNGVlYWNjODg0
ZTBjZDVjZjgxMzE2YjYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvd3BlL2RvY3Mvd3BlLTAuMS50eXBlcwpAQCAtMCwwICsxLDUxIEBACisjaW5jbHVkZSA8
d3BlL3dlYmtpdC5oPgord2Via2l0X2FwcGxpY2F0aW9uX2luZm9fZ2V0X3R5cGUKK3dlYmtpdF9h
dXRoZW50aWNhdGlvbl9yZXF1ZXN0X2dldF90eXBlCit3ZWJraXRfYXV0b21hdGlvbl9zZXNzaW9u
X2dldF90eXBlCit3ZWJraXRfYmFja19mb3J3YXJkX2xpc3RfZ2V0X3R5cGUKK3dlYmtpdF9iYWNr
X2ZvcndhcmRfbGlzdF9pdGVtX2dldF90eXBlCit3ZWJraXRfY3JlZGVudGlhbF9nZXRfdHlwZQor
d2Via2l0X2NvbnRleHRfbWVudV9nZXRfdHlwZQord2Via2l0X2NvbnRleHRfbWVudV9pdGVtX2dl
dF90eXBlCit3ZWJraXRfY29va2llX21hbmFnZXJfZ2V0X3R5cGUKK3dlYmtpdF9kb3dubG9hZF9n
ZXRfdHlwZQord2Via2l0X2VkaXRvcl9zdGF0ZV9nZXRfdHlwZQord2Via2l0X2Zhdmljb25fZGF0
YWJhc2VfZ2V0X3R5cGUKK3dlYmtpdF9maWxlX2Nob29zZXJfcmVxdWVzdF9nZXRfdHlwZQord2Vi
a2l0X2ZpbmRfY29udHJvbGxlcl9nZXRfdHlwZQord2Via2l0X2Zvcm1fc3VibWlzc2lvbl9yZXF1
ZXN0X2dldF90eXBlCit3ZWJraXRfZ2VvbG9jYXRpb25fcGVybWlzc2lvbl9yZXF1ZXN0X2dldF90
eXBlCit3ZWJraXRfaGl0X3Rlc3RfcmVzdWx0X2dldF90eXBlCit3ZWJraXRfaW5zdGFsbF9taXNz
aW5nX21lZGlhX3BsdWdpbnNfcGVybWlzc2lvbl9yZXF1ZXN0X2dldF90eXBlCit3ZWJraXRfamF2
YXNjcmlwdF9yZXN1bHRfZ2V0X3R5cGUKK3dlYmtpdF9taW1lX2luZm9fZ2V0X3R5cGUKK3dlYmtp
dF9uYXZpZ2F0aW9uX2FjdGlvbl9nZXRfdHlwZQord2Via2l0X25hdmlnYXRpb25fcG9saWN5X2Rl
Y2lzaW9uX2dldF90eXBlCit3ZWJraXRfbmV0d29ya19wcm94eV9zZXR0aW5nc19nZXRfdHlwZQor
d2Via2l0X25vdGlmaWNhdGlvbl9wZXJtaXNzaW9uX3JlcXVlc3RfZ2V0X3R5cGUKK3dlYmtpdF9u
b3RpZmljYXRpb25fZ2V0X3R5cGUKK3dlYmtpdF9wZXJtaXNzaW9uX3JlcXVlc3RfZ2V0X3R5cGUK
K3dlYmtpdF9wbHVnaW5fZ2V0X3R5cGUKK3dlYmtpdF9wb2xpY3lfZGVjaXNpb25fZ2V0X3R5cGUK
K3dlYmtpdF9yZXNwb25zZV9wb2xpY3lfZGVjaXNpb25fZ2V0X3R5cGUKK3dlYmtpdF9zY3JpcHRf
ZGlhbG9nX2dldF90eXBlCit3ZWJraXRfc2VjdXJpdHlfbWFuYWdlcl9nZXRfdHlwZQord2Via2l0
X3NlY3VyaXR5X29yaWdpbl9nZXRfdHlwZQord2Via2l0X3VyaV9yZXF1ZXN0X2dldF90eXBlCit3
ZWJraXRfdXJpX3Jlc3BvbnNlX2dldF90eXBlCit3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dl
dF90eXBlCit3ZWJraXRfdXNlcl9zdHlsZV9zaGVldF9nZXRfdHlwZQord2Via2l0X3VzZXJfc2Ny
aXB0X2dldF90eXBlCit3ZWJraXRfdXNlcl9jb250ZW50X21hbmFnZXJfZ2V0X3R5cGUKK3dlYmtp
dF91c2VyX21lZGlhX3Blcm1pc3Npb25fcmVxdWVzdF9nZXRfdHlwZQord2Via2l0X3dlYl9jb250
ZXh0X2dldF90eXBlCit3ZWJraXRfd2ViX3Jlc291cmNlX2dldF90eXBlCit3ZWJraXRfd2ViX3Zp
ZXdfZ2V0X3R5cGUKK3dlYmtpdF93ZWJfdmlld19iYWNrZW5kX2dldF90eXBlCit3ZWJraXRfd2Vi
X3ZpZXdfc2Vzc2lvbl9zdGF0ZV9nZXRfdHlwZQord2Via2l0X3dlYnNpdGVfZGF0YV9nZXRfdHlw
ZQord2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX2dldF90eXBlCit3ZWJraXRfd2luZG93X3By
b3BlcnRpZXNfZ2V0X3R5cGUKK3dlYmtpdF9mb3JtX3N1Ym1pc3Npb25fc3RlcF9nZXRfdHlwZQor
CisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvZG9jcy93cGUt
ZG9jcy5zZ21sIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9kb2NzL3dwZS1kb2Nz
LnNnbWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTBlZjQ5MWVjOWI2YTkzMjNmNDVmMmZmZDNjYmQxMWJjZjg0ZDIz
MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvZG9j
cy93cGUtZG9jcy5zZ21sCkBAIC0wLDAgKzEsOTUgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/Pgor
PCFET0NUWVBFIGJvb2sgUFVCTElDICItLy9PQVNJUy8vRFREIERvY0Jvb2sgWE1MIFY0LjEuMi8v
RU4iCisgICAgICAgICAgICAgICAiaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9kb2Nib29rL3ht
bC80LjEuMi9kb2Nib29reC5kdGQiIFsKKzwhRU5USVRZIHZlcnNpb24gU1lTVEVNICJ2ZXJzaW9u
LnhtbCI+CitdPgorPGJvb2sgaWQ9ImluZGV4IiB4bWxuczp4aT0iaHR0cDovL3d3dy53My5vcmcv
MjAwMy9YSW5jbHVkZSI+CisgIDxib29raW5mbz4KKyAgICA8dGl0bGU+V1BFIFJlZmVyZW5jZSBN
YW51YWw8L3RpdGxlPgorICAgIDxyZWxlYXNlaW5mbz5mb3IgV1BFIFdlYktpdCAmdmVyc2lvbjs8
L3JlbGVhc2VpbmZvPgorICA8L2Jvb2tpbmZvPgorCisgIDxjaGFwdGVyPgorICAgIDx0aXRsZT5D
bGFzcyBPdmVydmlldzwvdGl0bGU+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdFdl
YlZpZXcueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdFdlYkNvbnRleHQu
eG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdFdlYlZpZXdCYWNrZW5kLnht
bCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJLaXRBcHBsaWNhdGlvbkluZm8ueG1s
Ii8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdEF1dGhlbnRpY2F0aW9uUmVxdWVz
dC54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0QXV0b21hdGlvblNlc3Np
b24ueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdEJhY2tGb3J3YXJkTGlz
dC54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0QmFja0ZvcndhcmRMaXN0
SXRlbS54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0Q3JlZGVudGlhbC54
bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0Q29udGV4dE1lbnUueG1sIi8+
CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdENvbnRleHRNZW51SXRlbS54bWwiLz4K
KyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0Q29va2llTWFuYWdlci54bWwiLz4KKyAg
ICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0RG93bmxvYWQueG1sIi8+CisgICAgPHhpOmlu
Y2x1ZGUgaHJlZj0ieG1sL1dlYktpdEVkaXRvclN0YXRlLnhtbCIvPgorICAgIDx4aTppbmNsdWRl
IGhyZWY9InhtbC9XZWJLaXRFcnJvci54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwv
V2ViS2l0RmF2aWNvbkRhdGFiYXNlLnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9X
ZWJLaXRGaWxlQ2hvb3NlclJlcXVlc3QueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1s
L1dlYktpdEZpbmRDb250cm9sbGVyLnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9X
ZWJLaXRGb3JtU3VibWlzc2lvblJlcXVlc3QueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0i
eG1sL1dlYktpdEdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3QueG1sIi8+CisgICAgPHhpOmlu
Y2x1ZGUgaHJlZj0ieG1sL1dlYktpdEhpdFRlc3RSZXN1bHQueG1sIi8+CisgICAgPHhpOmluY2x1
ZGUgaHJlZj0ieG1sL1dlYktpdEluc3RhbGxNaXNzaW5nTWVkaWFQbHVnaW5zUGVybWlzc2lvblJl
cXVlc3QueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdEphdmFzY3JpcHRS
ZXN1bHQueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdE1pbWVJbmZvLnht
bCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJLaXROYXZpZ2F0aW9uQWN0aW9uLnht
bCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJLaXROYXZpZ2F0aW9uUG9saWN5RGVj
aXNpb24ueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdE5ldHdvcmtQcm94
eVNldHRpbmdzLnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJLaXROb3RpZmlj
YXRpb25QZXJtaXNzaW9uUmVxdWVzdC54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwv
V2ViS2l0Tm90aWZpY2F0aW9uLnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJL
aXRQZXJtaXNzaW9uUmVxdWVzdC54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2Vi
S2l0UGx1Z2luLnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJLaXRQb2xpY3lE
ZWNpc2lvbi54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0UmVzcG9uc2VQ
b2xpY3lEZWNpc2lvbi54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0U2Ny
aXB0RGlhbG9nLnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJLaXRTZWN1cml0
eU1hbmFnZXIueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdFNlY3VyaXR5
T3JpZ2luLnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJLaXRTZXR0aW5ncy54
bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0VVJJUmVxdWVzdC54bWwiLz4K
KyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0VVJJUmVzcG9uc2UueG1sIi8+CisgICAg
PHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdFVSSVNjaGVtZVJlcXVlc3QueG1sIi8+CisgICAg
PHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdFVzZXJDb250ZW50LnhtbCIvPgorICAgIDx4aTpp
bmNsdWRlIGhyZWY9InhtbC9XZWJLaXRVc2VyQ29udGVudE1hbmFnZXIueG1sIi8+CisgICAgPHhp
OmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0LnhtbCIv
PgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJLaXRXZWJSZXNvdXJjZS54bWwiLz4KKyAg
ICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0V2ViVmlld1Nlc3Npb25TdGF0ZS54bWwiLz4K
KyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0V2Vic2l0ZURhdGEueG1sIi8+CisgICAg
PHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdFdlYnNpdGVEYXRhTWFuYWdlci54bWwiLz4KKyAg
ICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0V2luZG93UHJvcGVydGllcy54bWwiLz4KKyAg
PC9jaGFwdGVyPgorCisgIDwhLS0gPGNoYXB0ZXI+CisgICAgPHRpdGxlPldlYiBFeHRlbnNpb25z
PC90aXRsZT4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0V2ViRXh0ZW5zaW9uLnht
bCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJLaXRXZWJQYWdlLnhtbCIvPgorICAg
IDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJLaXRGcmFtZS54bWwiLz4KKyAgICA8eGk6aW5jbHVk
ZSBocmVmPSJ4bWwvV2ViS2l0U2NyaXB0V29ybGQueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJl
Zj0ieG1sL1dlYktpdFdlYkhpdFRlc3RSZXN1bHQueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJl
Zj0ieG1sL1dlYktpdFdlYkVkaXRvci54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwv
V2ViS2l0Q29uc29sZU1lc3NhZ2UueG1sIi8+CisgIDwvY2hhcHRlcj4gLS0+CisKKyAgPGluZGV4
IGlkPSJpbmRleC1hbGwiPgorICAgIDx0aXRsZT5JbmRleDwvdGl0bGU+CisgIDwvaW5kZXg+CisK
KyAgPGluZGV4IGlkPSJhcGktaW5kZXgtZGVwcmVjYXRlZCIgcm9sZT0iZGVwcmVjYXRlZCI+Cisg
ICAgPHRpdGxlPkluZGV4IG9mIGRlcHJlY2F0ZWQgc3ltYm9sczwvdGl0bGU+CisgICAgPHhpOmlu
Y2x1ZGUgaHJlZj0ieG1sL2FwaS1pbmRleC1kZXByZWNhdGVkLnhtbCI+PHhpOmZhbGxiYWNrIC8+
PC94aTppbmNsdWRlPgorICA8L2luZGV4PgorCisgIDxpbmRleCBpZD0iYXBpLWluZGV4LTItMjAi
IHJvbGU9IjIuMjAiPgorICAgIDx0aXRsZT5JbmRleCBvZiBuZXcgc3ltYm9scyBpbiAyLjIwPC90
aXRsZT4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvYXBpLWluZGV4LTIuMjAueG1sIj48eGk6
ZmFsbGJhY2sgLz48L3hpOmluY2x1ZGU+CisgIDwvaW5kZXg+CisKKyAgPGluZGV4IGlkPSJhcGkt
aW5kZXgtMi0yMiIgcm9sZT0iMi4yMiI+CisgICAgPHRpdGxlPkluZGV4IG9mIG5ldyBzeW1ib2xz
IGluIDIuMjI8L3RpdGxlPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9hcGktaW5kZXgtMi4y
Mi54bWwiPjx4aTpmYWxsYmFjayAvPjwveGk6aW5jbHVkZT4KKyAgPC9pbmRleD4KKworICA8eGk6
aW5jbHVkZSBocmVmPSJ4bWwvYW5ub3RhdGlvbi1nbG9zc2FyeS54bWwiPjx4aTpmYWxsYmFjayAv
PjwveGk6aW5jbHVkZT4KKzwvYm9vaz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9HdGtEb2Mu
Y21ha2UgYi9Tb3VyY2UvY21ha2UvR3RrRG9jLmNtYWtlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZiZDAwYTNkMTY2
ODAyNTlmODM4MTc5ZTI0NjJkODY1NmE1ZmQ5OGIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
Y21ha2UvR3RrRG9jLmNtYWtlCkBAIC0wLDAgKzEsMTIgQEAKKyMgQ2FsbHMgc2NyaXB0cyB0byBn
ZW5lcmF0ZSBkb2N1bWVudGF0aW9uIHVzaW5nIEdUSy1Eb2MgdmlhIHNjcmlwdC4KKyMgRG9jdW1l
bnRhdGlvbkRlcGVuZGVuY2llcyB2YXJpYWJsZSBtdXN0IGJlIHNldCBiZWZvcmUgY2FsbGluZyB0
aGlzIG1hY3JvLgorbWFjcm8oQUREX0dUS0RPQ19HRU5FUkFUT1IgX3N0YW1wX25hbWUgX2V4dHJh
X2FyZ3MpCisgICAgYWRkX2N1c3RvbV9jb21tYW5kKAorICAgICAgICBPVVRQVVQgIiR7Q01BS0Vf
QklOQVJZX0RJUn0vJHtfc3RhbXBfbmFtZX0iCisgICAgICAgIERFUEVORFMgJHtEb2N1bWVudGF0
aW9uRGVwZW5kZW5jaWVzfQorICAgICAgICBDT01NQU5EICR7Q01BS0VfQ09NTUFORH0gLUUgZW52
ICJDQz0ke0NNQUtFX0NfQ09NUElMRVJ9IiAiQ0ZMQUdTPSR7Q01BS0VfQ19GTEFHU30gLVduby11
bnVzZWQtcGFyYW1ldGVyIiAke0NNQUtFX1NPVVJDRV9ESVJ9L1Rvb2xzL2d0a2RvYy9nZW5lcmF0
ZS1ndGtkb2MgJHtfZXh0cmFfYXJnc30KKyAgICAgICAgQ09NTUFORCB0b3VjaCAke19zdGFtcF9u
YW1lfQorICAgICAgICBXT1JLSU5HX0RJUkVDVE9SWSAiJHtDTUFLRV9CSU5BUllfRElSfSIKKyAg
ICAgICAgVkVSQkFUSU0KKyAgICApCitlbmRtYWNybygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvY21h
a2UvT3B0aW9uc1dQRS5jbWFrZSBiL1NvdXJjZS9jbWFrZS9PcHRpb25zV1BFLmNtYWtlCmluZGV4
IGZiMGI2MGVlOWU4MzM3MTdiZTc0ZDg4NzNhZWYwNDlmYTBmMWRkZjQuLmE1MzcwZDgzNTM3NjY2
YTMwNGNiMmE2MTFiOWU2Mjg3ZGYzMmVkOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9PcHRp
b25zV1BFLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9PcHRpb25zV1BFLmNtYWtlCkBAIC00Niw2
ICs0Niw3IEBAIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9XRUJfUlRD
IFBSSVZBVEUgJHtFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFCiAjIFB1YmxpYyBvcHRpb25zIHNwZWNp
ZmljIHRvIHRoZSBXUEUgcG9ydC4gRG8gbm90IGFkZCBhbnkgb3B0aW9ucyBoZXJlIHVubGVzcwog
IyB0aGVyZSBpcyBhIHN0cm9uZyByZWFzb24gd2Ugc2hvdWxkIHN1cHBvcnQgY2hhbmdpbmcgdGhl
IHZhbHVlIG9mIHRoZSBvcHRpb24sCiAjIGFuZCB0aGUgb3B0aW9uIGlzIG5vdCByZWxldmFudCB0
byBhbnkgb3RoZXIgV2ViS2l0IHBvcnRzLgorV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0dU
S0RPQyAiV2hldGhlciBvciBub3QgdG8gdXNlIGdlbmVyYXRlIGd0a2RvYy4iIFBVQkxJQyBPRkYp
CiBXRUJLSVRfT1BUSU9OX0RFRklORShVU0VfV09GRjIgIldoZXRoZXIgdG8gZW5hYmxlIHN1cHBv
cnQgZm9yIFdPRkYyIFdlYiBGb250cy4iIFBVQkxJQyBPTikKIAogIyBQcml2YXRlIG9wdGlvbnMg
c3BlY2lmaWMgdG8gdGhlIFdQRSBwb3J0LgpAQCAtMTM2LDYgKzEzNywxMSBAQCBTRVRfQU5EX0VY
UE9TRV9UT19CVUlMRChVU0VfQ09PUkRJTkFURURfR1JBUEhJQ1MgVFJVRSkKIFNFVF9BTkRfRVhQ
T1NFX1RPX0JVSUxEKFVTRV9DT09SRElOQVRFRF9HUkFQSElDU19USFJFQURFRCBUUlVFKQogU0VU
X0FORF9FWFBPU0VfVE9fQlVJTEQoVVNFX05JQ09TSUEgVFJVRSkKIAorIyBPdmVycmlkZSB0aGUg
Y2FjaGVkIHZhcmlhYmxlLCBndGstZG9jIGRvZXMgbm90IHJlYWxseSB3b3JrIHdoZW4gY3Jvc3Mt
YnVpbGRpbmcgb3IgYnVpbGRpbmcgb24gTWFjLgoraWYgKENNQUtFX0NST1NTQ09NUElMSU5HIE9S
IEFQUExFKQorICAgIHNldChFTkFCTEVfR1RLRE9DIE9GRikKK2VuZGlmICgpCisKIHNldChGT1JX
QVJESU5HX0hFQURFUlNfRElSICR7REVSSVZFRF9TT1VSQ0VTX0RJUn0vRm9yd2FyZGluZ0hlYWRl
cnMpCiBzZXQoRk9SV0FSRElOR19IRUFERVJTX1dQRV9ESVIgJHtGT1JXQVJESU5HX0hFQURFUlNf
RElSfS93cGUpCiBzZXQoRk9SV0FSRElOR19IRUFERVJTX1dQRV9FWFRFTlNJT05fRElSICR7Rk9S
V0FSRElOR19IRUFERVJTX0RJUn0vd3BlLXdlYmV4dGVuc2lvbikKQEAgLTE0NCw0ICsxNTAsNyBA
QCBzZXQoREVSSVZFRF9TT1VSQ0VTX0pBVkFTQ1JJUENPUkVXUEVfRElSICR7REVSSVZFRF9TT1VS
Q0VTX0pBVkFTQ1JJUFRDT1JFX0RJUn0vagogc2V0KERFUklWRURfU09VUkNFU19KQVZBU0NSSVBD
T1JFX0dMSUJfQVBJX0RJUiAke0RFUklWRURfU09VUkNFU19KQVZBU0NSSVBUQ09SRV9ESVJ9L2ph
dmFzY3JpcHRjb3Jld3BlL2pzYykKIHNldChERVJJVkVEX1NPVVJDRVNfV1BFX0FQSV9ESVIgJHtE
RVJJVkVEX1NPVVJDRVNfV0VCS0lUX0RJUn0vd3BlKQogCitzZXQoV1BFX1BLR0NPTkZJR19GSUxF
ICR7Q01BS0VfQklOQVJZX0RJUn0vd3BlLXdlYmtpdC0ke1dQRV9BUElfVkVSU0lPTn0ucGMpCitz
ZXQoV1BFV2ViRXh0ZW5zaW9uX1BLR0NPTkZJR19GSUxFICR7Q01BS0VfQklOQVJZX0RJUn0vd3Bl
LXdlYi1leHRlbnNpb24tJHtXUEVfQVBJX1ZFUlNJT059LnBjKQorCiBpbmNsdWRlKEdTdHJlYW1l
ckNoZWNrcykKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwpp
bmRleCAyNzA2OGI4NDc5YzJlNzRlZmViYTQ5MWEzOWE0OWUzODY1NGUzMTAyLi40MWFiZDc5OWE2
NmFjMjhlNzllYWE4ZGE1ZmQ2MGNhNTllM2NjMGU0IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VM
b2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTgtMTAtMTggIENh
cmxvcyBFZHVhcmRvIFJhbWFsaG8gIDxjYWR1YmVudHplbkBnbWFpbC5jb20+CisKKyAgICAgICAg
W1dQRV0gQWRkIGd0ay1kb2MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE3ODkwMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEFkZCBndGstZG9jIHRvIFdQRSBwb3J0LiBUaGlzIHBhdGNoIHRyaWVzIHRvIHJl
dXNlIGFzIG11Y2ggY29kZSBmcm9tCisgICAgICAgIFdlYktpdEdUSysgYXMgcG9zc2libGUuCisK
KyAgICAgICAgKiBndGtkb2MvZ2VuZXJhdGUtZ3RrZG9jOiBSZW5hbWVkIGZyb20gVG9vbHMvZ3Rr
L2dlbmVyYXRlLWd0a2RvYy4KKyAgICAgICAgKGdldF9ndGtkb2NfbW9kdWxlX3BhdGhzKToKKyAg
ICAgICAgKHByZXBhcmVfZW52aXJvbm1lbnRfZm9yX2d0a2RvY19nZW5lcmF0aW9uKTogQWRkIEdE
SyBhbmQgR1RLIG9ubHkgaWYgYnVpbGRpbmcgZm9yIEdUSy4KKyAgICAgICAgKGJ1aWxkX2d0a2Rv
Y19mb3Jfd3BlKTogQ29kZSB0byBnZW5lcmF0ZSBkb2MgZm9yIFdQRS4KKyAgICAgICAgKGJ1aWxk
X2d0a2RvY19mb3Jfd2tndGspOiBDb2RlIHRvIGdlbmVyYXRlIGRvYyBmb3IgV2ViS2l0R1RLKy4g
TW92ZWQgZnJvbSBtYWluLgorICAgICAgICAqIGd0a2RvYy9ndGtkb2MucHk6IFJlbmFtZWQgZnJv
bSBUb29scy9ndGsvZ3RrZG9jLnB5LgorICAgICAgICAqIHdwZS9pbnN0YWxsLWRlcGVuZGVuY2ll
czogQWRkIGd0a2RvYyBkZXBlbmRlbmN5LgorCiAyMDE4LTEwLTE2ICBTaWh1aSBMaXUgIDxzaWh1
aV9saXVAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBhIHN3aXRjaCBmb3IgV2ViIFNRTApkaWZm
IC0tZ2l0IGEvVG9vbHMvZ3RrL2dlbmVyYXRlLWd0a2RvYyBiL1Rvb2xzL2d0ay9nZW5lcmF0ZS1n
dGtkb2MKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDQ1YzIzZGZiMTJmMWM4OTNhMjZj
OGQzZTdiM2YwYTRjYTJhMmI3MjQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvVG9vbHMvZ3RrL2dlbmVyYXRlLWd0a2RvYworKysgL2Rldi9udWxsCkBAIC0x
LDIyMSArMCwwIEBACi0jIS91c3IvYmluL2VudiBweXRob24KLSMgQ29weXJpZ2h0IChDKSAyMDEx
IElnYWxpYSBTLkwuCi0jCi0jIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu
IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0
aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotIyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSMgdmVyc2lvbiAyIG9mIHRoZSBM
aWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotIwotIyBUaGlz
IGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1
bCwKLSMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg
d2FycmFudHkgb2YKLSMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSMgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug
Zm9yIG1vcmUgZGV0YWlscy4KLSMKLSMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv
ZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotIyBMaWNlbnNlIGFsb25nIHdpdGggdGhp
cyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0jIEZvdW5kYXRp
b24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAy
MTEwLTEzMDEgIFVTQQotCi1mcm9tIF9fZnV0dXJlX18gaW1wb3J0IHByaW50X2Z1bmN0aW9uCi1m
cm9tIENvbmZpZ1BhcnNlciBpbXBvcnQgU2FmZUNvbmZpZ1BhcnNlcgotCi1pbXBvcnQgYXJncGFy
c2UKLWltcG9ydCBjb2RlY3MKLWltcG9ydCBnbG9iCi1pbXBvcnQgZ3RrZG9jCi1pbXBvcnQgbG9n
Z2luZwotaW1wb3J0IG9zLnBhdGgKLWltcG9ydCBzeXMKLQotdG9wX2xldmVsX2RpcmVjdG9yeSA9
IG9zLnBhdGgubm9ybXBhdGgob3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXyks
ICcuLicsICcuLicpKQotc3lzLnBhdGguaW5zZXJ0KDAsIG9zLnBhdGguam9pbih0b3BfbGV2ZWxf
ZGlyZWN0b3J5LCAnVG9vbHMnLCAnZ2xpYicpKQotaW1wb3J0IGNvbW1vbgotCi1zeXMuc3Rkb3V0
ID0gY29kZWNzLmdldHdyaXRlcigidXRmLTgiKShzeXMuc3Rkb3V0KQotc3lzLnN0ZGVyciA9IGNv
ZGVjcy5nZXR3cml0ZXIoInV0Zi04Iikoc3lzLnN0ZGVycikKLQotZGVmIGNvbmZpZ3VyZV9sb2dn
aW5nKHZlcmJvc2UpOgotICAgIGxldmVsID0gbG9nZ2luZy5ERUJVRyBpZiB2ZXJib3NlIGVsc2Ug
bG9nZ2luZy5JTkZPCi0gICAgbG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoJ2d0a2RvYycpCi0g
ICAgbG9nZ2VyLnNldExldmVsKGxldmVsKQotICAgIGhhbmRsZXIgPSBsb2dnaW5nLlN0cmVhbUhh
bmRsZXIoKQotICAgIGhhbmRsZXIuc2V0TGV2ZWwobGV2ZWwpCi0gICAgbG9nZ2VyLmFkZEhhbmRs
ZXIoaGFuZGxlcikKLSAgICBpZiBsZXZlbCA9PSBsb2dnaW5nLkRFQlVHOgotICAgICAgICBoYW5k
bGVyLnNldEZvcm1hdHRlcihsb2dnaW5nLkZvcm1hdHRlcignWyUoYXNjdGltZSlzXSAgJShtZXNz
YWdlKXMnKSkKLSAgICBlbHNlOgotICAgICAgICBoYW5kbGVyLnNldEZvcm1hdHRlcihsb2dnaW5n
LkZvcm1hdHRlcignJShtZXNzYWdlKXMnKSkKLQotZGVmIGdldF9ndGtkb2NfbW9kdWxlX3BhdGhz
KGNyb3NzX3JlZmVyZW5jZV9kZXBzKToKLSAgICBkZXBlbmRlbnRfcGFja2FnZXMgPSB7Ci0gICAg
ICAgICdnbGliLTIuMCcgOiBbJ2dsaWInLCAnZ29iamVjdCcsICdnaW8nXSwKLSAgICAgICAgJ2xp
YnNvdXAtMi40JyA6IFsnbGlic291cC0yLjQnXSwKLSAgICAgICAgJ2dkay1waXhidWYtMi4wJzog
WydnZGstcGl4YnVmJ10sCi0gICAgICAgICdndGsrLTMuMCcgOiBbJ2d0azMnLCAnZ2RrMyddCi0g
ICAgfQotCi0gICAgcGF0aHMgPSBbXQotICAgIGh0bWxfZGlyID0gb3MucGF0aC5qb2luKCdzaGFy
ZScsICdndGstZG9jJywgJ2h0bWwnKQotICAgIGZvciBwYWNrYWdlLCBtb2R1bGVzIGluIGRlcGVu
ZGVudF9wYWNrYWdlcy5pdGVyaXRlbXMoKToKLSAgICAgICAgcHJlZml4ID0gY29tbW9uLnByZWZp
eF9vZl9wa2dfY29uZmlnX2ZpbGUocGFja2FnZSkKLSAgICAgICAgaWYgcHJlZml4IGlzIE5vbmU6
Ci0gICAgICAgICAgICBjb250aW51ZQotICAgICAgICBmb3IgbW9kdWxlIGluIG1vZHVsZXM6Ci0g
ICAgICAgICAgICBwYXRocy5hcHBlbmQob3MucGF0aC5qb2luKHByZWZpeCwgaHRtbF9kaXIsIG1v
ZHVsZSkpCi0KLSAgICBmb3IgbG9jYWxfZGVwIGluIGNyb3NzX3JlZmVyZW5jZV9kZXBzOgotICAg
ICAgICBwYXRocy5hcHBlbmQoY29tbW9uLmJ1aWxkX3BhdGgoJ0RvY3VtZW50YXRpb24nLCBsb2Nh
bF9kZXAsICdodG1sJykpCi0gICAgcmV0dXJuIHBhdGhzCi0KLWRlZiBwcmludF9taXNzaW5nX2Fw
aShnZW5lcmF0b3IpOgotICAgIG1pc3NpbmdfYXBpID0gZ2VuZXJhdG9yLmFwaV9taXNzaW5nX2Rv
Y3VtZW50YXRpb24oKQotICAgIGlmIG5vdCBtaXNzaW5nX2FwaToKLSAgICAgICAgcmV0dXJuCi0g
ICAgcHJpbnQoIlxuVGhlIGZvbGxvd2luZyBBUEkgYXJlIG1pc3NpbmcgZG9jdW1lbnRhdGlvbjoi
KQotICAgIGZvciBhcGkgaW4gbWlzc2luZ19hcGk6Ci0gICAgICAgIHByaW50KCJcdHswfSIuZm9y
bWF0KGFwaSkpCi0KLWRlZiBmaWxlc190b19pZ25vcmUoc291cmNlX2RpcnMsIGhlYWRlcnNfd2l0
aF9ndGtkb2MpOgotICAgICIiIgotICAgIEZpbmQgZmlsZXMgdG8gaWdub3JlIGR1cmluZyBkb2N1
bWVudGF0aW9uIGdlbmVyYXRpb24uIFdlIGFzc3VtZSB0aGF0IGlmIGFuCi0gICAgaW1wbGVtZW50
YXRpb24gZmlsZSBleGlzdHMgZm9yIGEgaGVhZGVyIHdpdGggZ3RrZG9jIChzYXkgd2Via2l0Zm9v
LmNwcCBmb3IKLSAgICB3ZWJraXRmb28uaCkgd2Ugc2hvdWxkbid0IGlnbm9yZSB0aGF0IGZpbGUu
IEN1cnJlbnRseSB0aGlzIGhvbGRzIHRydWUgZm9yIGFsbAotICAgIG9mIHRoZSBXZWJLaXQgcHJv
amVjdC4KLSAgICAiIiIKLSAgICBpbXBsZW1lbnRhdGlvbl9maWxlcyA9IGxpc3QoaGVhZGVyc193
aXRoX2d0a2RvYykKLSAgICBmb3IgaGVhZGVyIGluIGhlYWRlcnNfd2l0aF9ndGtkb2M6Ci0gICAg
ICAgIGRlZiBhZGRfZmlsZV9pZl9leGlzdHMoZmlsZW5hbWUpOgotICAgICAgICAgICAgZm9yIGRp
ciBpbiBzb3VyY2VfZGlyczoKLSAgICAgICAgICAgICAgICBmaWxlID0gb3MucGF0aC5qb2luKGRp
ciwgZmlsZW5hbWUpCi0gICAgICAgICAgICAgICAgaWYgb3MucGF0aC5pc2ZpbGUoZmlsZSk6Ci0g
ICAgICAgICAgICAgICAgICAgIGltcGxlbWVudGF0aW9uX2ZpbGVzLmFwcGVuZChvcy5wYXRoLmFi
c3BhdGgoZmlsZSkpCi0gICAgICAgIGhlYWRlcl9iYXNlbmFtZV93aXRob3V0X2V4dGVuc2lvbiA9
IG9zLnBhdGguc3BsaXRleHQob3MucGF0aC5iYXNlbmFtZShoZWFkZXIpKVswXQotICAgICAgICBh
ZGRfZmlsZV9pZl9leGlzdHMoaGVhZGVyX2Jhc2VuYW1lX3dpdGhvdXRfZXh0ZW5zaW9uICsgIi5j
cHAiKQotICAgICAgICBhZGRfZmlsZV9pZl9leGlzdHMoaGVhZGVyX2Jhc2VuYW1lX3dpdGhvdXRf
ZXh0ZW5zaW9uICsgIkd0ay5jcHAiKQotICAgICAgICBhZGRfZmlsZV9pZl9leGlzdHMoaGVhZGVy
X2Jhc2VuYW1lX3dpdGhvdXRfZXh0ZW5zaW9uICsgIi5jIikKLQotICAgIGRlZiBmaWxlX3Nob3Vs
ZF9iZV9pZ25vcmVkKGZpbGUpOgotICAgICAgICBpZiBvcy5wYXRoLnNwbGl0ZXh0KGZpbGUpWzFd
IG5vdCBpbiBbJy5oJywgJy5jJywgJy5jcHAnLCAnLmNjJ106Ci0gICAgICAgICAgICByZXR1cm4g
RmFsc2UgIyBUaGVzZSBmaWxlcyBhcmUgaWdub3JlZCBhbnl3YXkuCi0gICAgICAgIGlmIG5vdCBv
cy5wYXRoLmlzZmlsZShmaWxlKToKLSAgICAgICAgICAgIHJldHVybiBUcnVlCi0gICAgICAgIHJl
dHVybiBvcy5wYXRoLmFic3BhdGgoZmlsZSkgbm90IGluIGltcGxlbWVudGF0aW9uX2ZpbGVzCi0K
LSAgICBhbGxfZmlsZXMgPSBzdW0oW1tvcy5wYXRoLmpvaW4oZGlyLCBmaWxlKSBmb3IgZmlsZSBp
biBvcy5saXN0ZGlyKGRpcildIGZvciBkaXIgaW4gc291cmNlX2RpcnNdLCBbXSkKLSAgICByZXR1
cm4gZmlsdGVyKGZpbGVfc2hvdWxkX2JlX2lnbm9yZWQsIGFsbF9maWxlcykKLQotZGVmIGdldF9n
ZW5lcmF0b3JfZm9yX2NvbmZpZyhjb25maWdfZmlsZSwgdmlydHVhbF9yb290LCBjcm9zc19yZWZl
cmVuY2VfZGVwcyA9IFtdKToKLSAgICBpZiBub3Qgb3MucGF0aC5pc2ZpbGUoY29uZmlnX2ZpbGUp
OgotICAgICAgICByZXR1cm4gTm9uZQotCi0gICAgY29uZmlnID0gU2FmZUNvbmZpZ1BhcnNlcigp
Ci0gICAgY29uZmlnLnJlYWQoY29uZmlnX2ZpbGUpCi0gICAgbW9kdWxlX25hbWUgPSBjb25maWcu
c2VjdGlvbnMoKVswXQotICAgIHBrZ2NvbmZpZ19maWxlID0gY29uZmlnLmdldChtb2R1bGVfbmFt
ZSwgJ3BrZ2NvbmZpZ19maWxlJykKLQotICAgIGlmIG5vdCBvcy5wYXRoLmlzZmlsZShwa2djb25m
aWdfZmlsZSk6Ci0gICAgICAgIHJldHVybiBOb25lCi0KLSAgICBzb3VyY2VfZGlycyA9IGNvbmZp
Zy5nZXQobW9kdWxlX25hbWUsICdzb3VyY2VfZGlycycpLnJlcGxhY2UoJzsnLCAnICcpLnNwbGl0
KCkKLSAgICBoZWFkZXJzID0gW29zLnBhdGguYWJzcGF0aChmKSBmb3IgZiBpbiBjb25maWcuZ2V0
KG1vZHVsZV9uYW1lLCAnaGVhZGVycycpLnJlcGxhY2UoJzsnLCAnICcpLnNwbGl0KCldCi0gICAg
cmV0dXJuIGd0a2RvYy5Qa2dDb25maWdHVEtEb2MocGtnY29uZmlnX2ZpbGUsIHsKLSAgICAgICAg
J2RlY29yYXRvcic6IGNvbmZpZy5nZXQobW9kdWxlX25hbWUsICdkZWNvcmF0b3InKSwKLSAgICAg
ICAgJ2RlcHJlY2F0aW9uX2d1YXJkJzogY29uZmlnLmdldChtb2R1bGVfbmFtZSwgJ2RlcHJlY2F0
aW9uX2d1YXJkJyksCi0gICAgICAgICdsaWJyYXJ5X3BhdGgnOiBjb21tb24ubGlicmFyeV9idWls
ZF9wYXRoKCksCi0gICAgICAgICd2aXJ0dWFsX3Jvb3QnOiB2aXJ0dWFsX3Jvb3QsCi0gICAgICAg
ICdtb2R1bGVfbmFtZSc6IG1vZHVsZV9uYW1lLAotICAgICAgICAnbmFtZXNwYWNlJzogY29uZmln
LmdldChtb2R1bGVfbmFtZSwgJ25hbWVzcGFjZScpLAotICAgICAgICAnZG9jX2Rpcic6IGNvbmZp
Zy5nZXQobW9kdWxlX25hbWUsICdkb2NfZGlyJyksCi0gICAgICAgICdvdXRwdXRfZGlyJzogY29t
bW9uLmJ1aWxkX3BhdGgoJ0RvY3VtZW50YXRpb24nLCBtb2R1bGVfbmFtZSksCi0gICAgICAgICdt
YWluX3NnbWxfZmlsZSc6IGNvbmZpZy5nZXQobW9kdWxlX25hbWUsICdtYWluX3NnbWxfZmlsZScp
LAotICAgICAgICAnc291cmNlX2RpcnMnOiBzb3VyY2VfZGlycywKLSAgICAgICAgJ2hlYWRlcnMn
OiBoZWFkZXJzLAotICAgICAgICAnY2ZsYWdzJzogIiAiLmpvaW4oY29uZmlnLmdldChtb2R1bGVf
bmFtZSwgJ2NmbGFncycpLnNwbGl0KCkpLAotICAgICAgICAnY3Jvc3NfcmVmZXJlbmNlX2RlcHMn
OiBnZXRfZ3RrZG9jX21vZHVsZV9wYXRocyhjcm9zc19yZWZlcmVuY2VfZGVwcyksCi0gICAgICAg
ICdpZ25vcmVkX2ZpbGVzJzogZmlsZXNfdG9faWdub3JlKHNvdXJjZV9kaXJzLCBoZWFkZXJzKSwK
LSAgICB9KQotCi1kZWYgZ2VuZXJhdGVfZG9jKGdlbmVyYXRvciwgc2tpcF9odG1sKToKLSAgICBn
ZW5lcmF0b3IuZ2VuZXJhdGUobm90IHNraXBfaHRtbCkKLSAgICBpZiBnZW5lcmF0b3Iuc2F3X3dh
cm5pbmdzOgotICAgICAgICBwcmludF9taXNzaW5nX2FwaShnZW5lcmF0b3IpCi0gICAgcmV0dXJu
IGdlbmVyYXRvci5zYXdfd2FybmluZ3MKLQotZGVmIHJlYmFzZV9kb2MoZ2VuZXJhdG9yKToKLSAg
ICB0cnk6Ci0gICAgICAgIGdlbmVyYXRvci5yZWJhc2VfaW5zdGFsbGVkX2RvY3MoKQotICAgIGV4
Y2VwdCBFeGNlcHRpb246Ci0gICAgICAgIHByaW50KCJSZWJhc2UgZGlkIG5vdCBoYXBwZW4sIGxp
a2VseSBubyBkb2N1bWVudGF0aW9uIGlzIHByZXNlbnQuIikKLQotZGVmIGdlbmVyYXRlX2RvY3Vt
ZW50YXRpb24oZ2VuZXJhdG9yKToKLSAgICBpZiBub3QgYXJndW1lbnRzLnJlYmFzZToKLSAgICAg
ICAgcmV0dXJuIGdlbmVyYXRlX2RvYyhnZW5lcmF0b3IsIGFyZ3VtZW50cy5za2lwX2h0bWwpCi0K
LSAgICByZWJhc2VfZG9jKGdlbmVyYXRvcikKLSAgICByZXR1cm4gRmFsc2UKLQotZGVmIHByZXBh
cmVfZW52aXJvbm1lbnRfZm9yX2d0a2RvY19nZW5lcmF0aW9uKCk6Ci0gICAgIyBXZSBuZWVkIHRv
IGFkZCB0aGUgSmF2YVNjcmlwdENvcmUgYnVpbGQgZGlyZWN0b3J5IHRvIHRoZSBQS0dfQ09ORklH
X1BBVEgKLSAgICAjIHNvIHRoYXQgcGtnY29uZmlnIGNhbiBwcm9wZXJseSByZXNvbHZlIHRoZSBs
aWJqYXZhc2NyaXB0Y29yZSBkZXBlbmRlbmN5LgotICAgIHBrZ19jb25maWdfcGF0aCA9IG9zLmVu
dmlyb24uZ2V0KCJQS0dfQ09ORklHX1BBVEgiKQotICAgIG9zLmVudmlyb25bJ1BLR19DT05GSUdf
UEFUSCddID0gY29tbW9uLmJ1aWxkX3BhdGgoJ1NvdXJjZScsICdKYXZhU2NyaXB0Q29yZScpCi0g
ICAgaWYgcGtnX2NvbmZpZ19wYXRoOgotICAgICAgICBvcy5lbnZpcm9uWydQS0dfQ09ORklHX1BB
VEgnXSArPSAnOicgKyBwa2dfY29uZmlnX3BhdGgKLQotICAgICMgTmV3ZXIgdmVyc2lvbnMgb2Yg
Z2xpYiBoYXZlIGRlcHJlY2F0ZWQgZ190eXBlX2luaXQsIHNvIHdlIG5lZWQgdG8gZGlzYWJsZQot
ICAgICMgdGhhdCB3YXJuaW5nIHdoZW4gcnVubmluZyBndGtkb2Mtc2Nhbm9iaiBieSBvdmVycmlk
aW5nIHRoZSBDRkxBR1Mgd2UgdXNlCi0gICAgIyB0byBjb21waWxlIGl0LgotICAgIGNmbGFncyA9
IG9zLmVudmlyb24uZ2V0KCdDRkxBR1MnLCAnJykKLSAgICBjZmxhZ3MgKz0gJyAtREdMSUJfVkVS
U0lPTl9NSU5fUkVRVUlSRUQ9R0xJQl9WRVJTSU9OXzJfMzInCi0KLSAgICAjIEluIG5vbi14ODYg
YXJjaGl0ZWN0dXJlcywgd2hlbiBhIHBvaW50ZXIgaXMgY2FzdCB0byAodm9pZCopIGFuZAotICAg
ICMgYmFjaywgdGhlIGNvbXBpbGVyIHRoaW5rcyB0aGF0IHRoZSBhbGlnbm1lbnQgaXMgcmFuZG9t
LiBTaW5jZQotICAgICMgZ3RrZG9jIGJ1aWxkIGlzIGJyb2tlbiBhdCBhbnkgd2FybmluZyBtZXNz
YWdlLCBpdCBpcyBiZXR0ZXIgdG8KLSAgICAjIHNpbGVuY2UgdGhlc2UgZmFsc2UgcG9zaXRpdmVz
LgotICAgIGNmbGFncyArPSAnIC1Xbm8tY2FzdC1hbGlnbicKLSAgICBvcy5lbnZpcm9uWydDRkxB
R1MnXSA9IGNmbGFncwotCi0gICAgIyBQYXRocyBmcm9tIHRoZSBHTlVtYWtlZmlsZSBnZW5lcmF0
ZWQgY29uZmlndXJhdGlvbiBmaWxlcyBhcmUgcmVsYXRpdmUgdG8gdGhlIGJ1aWxkIGRpcmVjdG9y
eS4KLSAgICBvcy5jaGRpcihjb21tb24uYnVpbGRfcGF0aCgpKQotCi1pZiBfX25hbWVfXyA9PSAi
X19tYWluX18iOgotICAgIHBhcnNlciA9IGFyZ3BhcnNlLkFyZ3VtZW50UGFyc2VyKGRlc2NyaXB0
aW9uPSdHZW5lcmF0ZSBndGtkb2MgZm9yIFdlYktpdC4nKQotICAgIHBhcnNlci5hZGRfYXJndW1l
bnQoJy12JywgJy0tdmVyYm9zZScsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsCi0gICAgICAgICAgICAg
ICAgICAgICAgICBoZWxwPSdXaGV0aGVyIG9yIG5vdCB0byBydW4gaW4gdmVyYm9zZSBtb2RlLicp
Ci0gICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1yZWJhc2UnLCBhY3Rpb249J3N0b3JlX3RydWUn
LAotICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0nV2hlbiBzcGVjaWZpZWQsIHJ1biB0aGUg
dG9vbCBpbiByZWJhc2UgbW9kZS4nKQotICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy0tc2tpcC1o
dG1sJywgYWN0aW9uPSdzdG9yZV90cnVlJywKLSAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9
J1doZXRoZXIgb3Igbm90IHRvIHNraXAgSFRNTCBnZW5lcmF0aW9uLCB3aGljaCBjYW4gYmUgc2xv
dy4nKQotICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy0tdmlydHVhbC1yb290JywgdHlwZT1zdHIs
IGRlZmF1bHQ9JycsCi0gICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdBIHRlbXBvcmFyeSBp
bnN0YWxsYXRpb24gZGlyZWN0b3J5IHdoaWNoIGlzIHVzZWQgYXMgdGhlIHJvb3QgJyArIFwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3doZXJlIHRoZSBhY3R1YWwgaW5zdGFsbGF0aW9u
IHByZWZpeCBsaXZlczsgdGhpcyBpcyBtb3N0bHkgJyArIFwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgJ3VzZWZ1bCBmb3IgcGFja2FnZXJzLCBhbmQgc2hvdWxkIGJlIHNldCB0byB3aGF0
IGlzIGdpdmVuIHRvICcgKyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYWtlIGlu
c3RhbGwgYXMgREVTVERJUi4nKQotCi0gICAgYXJndW1lbnRzID0gcGFyc2VyLnBhcnNlX2FyZ3Mo
KQotICAgIGNvbmZpZ3VyZV9sb2dnaW5nKGFyZ3VtZW50cy52ZXJib3NlKQotCi0gICAgcHJlcGFy
ZV9lbnZpcm9ubWVudF9mb3JfZ3RrZG9jX2dlbmVyYXRpb24oKQotCi0gICAganNjX2dlbmVyYXRv
ciA9IGdldF9nZW5lcmF0b3JfZm9yX2NvbmZpZyhjb21tb24uYnVpbGRfcGF0aCgnZ3RrZG9jLWpz
Yy1nbGliLmNmZycpLCBhcmd1bWVudHMudmlydHVhbF9yb290KQotICAgIGlmIG5vdCBqc2NfZ2Vu
ZXJhdG9yOgotICAgICAgICBwcmludCgiZ3RrZG9jLWpzYy1nbGliLmNmZyBkb2VzIG5vdCBleGlz
dCEgU2tpcHBpbmcgdGhhdCBkb2N1bWVudGF0aW9uIikKLSAgICAgICAgc3lzLmV4aXQoMSkKLSAg
ICBzYXdfd2FybmluZ3MgPSBnZW5lcmF0ZV9kb2N1bWVudGF0aW9uKGpzY19nZW5lcmF0b3IpCi0g
ICAgaWYgc2F3X3dhcm5pbmdzOgotICAgICAgICBzeXMuZXhpdChzYXdfd2FybmluZ3MpCi0KLSAg
ICB3ZWJraXRkb21fZ2VuZXJhdG9yID0gZ2V0X2dlbmVyYXRvcl9mb3JfY29uZmlnKGNvbW1vbi5i
dWlsZF9wYXRoKCdndGtkb2Mtd2Via2l0ZG9tLmNmZycpLCBhcmd1bWVudHMudmlydHVhbF9yb290
LCBbanNjX2dlbmVyYXRvci5tb2R1bGVfbmFtZV0pCi0gICAgaWYgbm90IHdlYmtpdGRvbV9nZW5l
cmF0b3I6Ci0gICAgICAgIHByaW50KCJndGtkb2Mtd2Via2l0ZG9tLmNmZyBkb2VzIG5vdCBleGlz
dCEgU2tpcHBpbmcgdGhhdCBkb2N1bWVudGF0aW9uIikKLSAgICAgICAgc3lzLmV4aXQoMSkKLSAg
ICBzYXdfd2FybmluZ3MgPSBnZW5lcmF0ZV9kb2N1bWVudGF0aW9uKHdlYmtpdGRvbV9nZW5lcmF0
b3IpCi0gICAgaWYgc2F3X3dhcm5pbmdzOgotICAgICAgICBzeXMuZXhpdChzYXdfd2FybmluZ3Mp
Ci0KLSAgICB3ZWJraXQyX2dlbmVyYXRvciA9IGdldF9nZW5lcmF0b3JfZm9yX2NvbmZpZyhjb21t
b24uYnVpbGRfcGF0aCgnZ3RrZG9jLXdlYmtpdDJndGsuY2ZnJyksIGFyZ3VtZW50cy52aXJ0dWFs
X3Jvb3QsIFt3ZWJraXRkb21fZ2VuZXJhdG9yLm1vZHVsZV9uYW1lLCBqc2NfZ2VuZXJhdG9yLm1v
ZHVsZV9uYW1lXSkKLSAgICBpZiBub3Qgd2Via2l0Ml9nZW5lcmF0b3I6Ci0gICAgICAgIHByaW50
KCJndGtkb2Mtd2Via2l0Mmd0ay5jZmcgZG9lcyBub3QgZXhpc3QhIFNraXBwaW5nIHRoYXQgZG9j
dW1lbnRhdGlvbiIpCi0gICAgICAgIHN5cy5leGl0KDEpCi0gICAgc2F3X3dhcm5pbmdzID0gZ2Vu
ZXJhdGVfZG9jdW1lbnRhdGlvbih3ZWJraXQyX2dlbmVyYXRvcikKLQotICAgIHN5cy5leGl0KHNh
d193YXJuaW5ncykKZGlmZiAtLWdpdCBhL1Rvb2xzL2d0ay9ndGtkb2MucHkgYi9Ub29scy9ndGsv
Z3RrZG9jLnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmMGEwOWYxNjg3ZjQ0ZWE5
ZGU1OTBjZWVmYzRjMzIxMjc1ZGE0YTI2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL1Rvb2xzL2d0ay9ndGtkb2MucHkKKysrIC9kZXYvbnVsbApAQCAtMSw0
NTEgKzAsMCBAQAotIyBDb3B5cmlnaHQgKEMpIDIwMTEgSWdhbGlhIFMuTC4KLSMKLSMgVGhpcyBs
aWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgot
IyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVi
bGljCi0jIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b247IGVpdGhlcgotIyB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlv
bikgYW55IGxhdGVyIHZlcnNpb24uCi0jCi0jIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBp
biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotIyBidXQgV0lUSE9VVCBBTlkgV0FS
UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotIyBNRVJDSEFOVEFC
SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQot
IyBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotIwotIyBZ
b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwg
UHVibGljCi0jIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUg
dG8gdGhlIEZyZWUgU29mdHdhcmUKLSMgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3Ry
ZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCi0KLWltcG9ydCBj
b2RlY3MKLWltcG9ydCBlcnJubwotaW1wb3J0IGxvZ2dpbmcKLWltcG9ydCBvcwotaW1wb3J0IG9z
LnBhdGgKLWltcG9ydCBzdWJwcm9jZXNzCi1pbXBvcnQgc3lzCi0KLQotY2xhc3MgR1RLRG9jKG9i
amVjdCk6Ci0KLSAgICAiIiJDbGFzcyB0aGF0IGNvbnRyb2xzIGEgZ3RrZG9jIHJ1bi4KLQotICAg
IEVhY2ggaW5zdGFuY2Ugb2YgdGhpcyBjbGFzcyByZXByZXNlbnRzIG9uZSBndGtkb2MgY29uZmln
dXJhdGlvbgotICAgIGFuZCBzZXQgb2YgZG9jdW1lbnRhdGlvbi4gVGhlIGd0a2RvYyBwYWNrYWdl
IGlzIGEgc2VyaWVzIG9mIHRvb2xzCi0gICAgcnVuIGNvbnNlY3V0aXZlbHkgd2hpY2ggY29udmVy
dHMgaW5saW5lIEMvQysrIGRvY3VtZW50YXRpb24gaW50bwotICAgIGRvY2Jvb2sgZmlsZXMgYW5k
IHRoZW4gaW50byBIVE1MLiBUaGlzIGNsYXNzIGlzIHN1aXRhYmxlIGZvcgotICAgIGdlbmVyYXRp
bmcgZG9jdW1lbnRhdGlvbiBvciBzaW1wbHkgdmVyaWZ5aW5nIGNvcnJlY3RuZXNzLgotCi0gICAg
S2V5d29yZCBhcmd1bWVudHM6Ci0gICAgb3V0cHV0X2RpciAgICAgICAgIC0tIFRoZSBwYXRoIHdo
ZXJlIGd0a2RvYyBvdXRwdXQgc2hvdWxkIGJlIHBsYWNlZC4gR2VuZXJhdGlvbgotICAgICAgICAg
ICAgICAgICAgICAgICAgICBtYXkgb3ZlcndyaXRlIGZpbGUgaW4gdGhpcyBkaXJlY3RvcnkuIFJl
cXVpcmVkLgotICAgIG1vZHVsZV9uYW1lICAgICAgICAtLSBUaGUgbmFtZSBvZiB0aGUgZG9jdW1l
bnRhdGlvbiBtb2R1bGUuIEZvciBsaWJyYXJpZXMgdGhpcwotICAgICAgICAgICAgICAgICAgICAg
ICAgICBpcyB0eXBpY2FsbHkgdGhlIGxpYnJhcnkgbmFtZS4gUmVxdWlyZWQgaWYgbm90IGxpYnJh
cnkgcGF0aAotICAgICAgICAgICAgICAgICAgICAgICAgICBpcyBnaXZlbi4KLSAgICBzb3VyY2Vf
ZGlycyAgICAgICAgLS0gQSBsaXN0IG9mIHBhdGhzIHRvIGRpcmVjdG9yaWVzIG9mIHNvdXJjZSBj
b2RlIHRvIGJlIHNjYW5uZWQuCi0gICAgICAgICAgICAgICAgICAgICAgICAgIFJlcXVpcmVkIGlm
IGhlYWRlcnMgaXMgbm90IHNwZWNpZmllZC4KLSAgICBpZ25vcmVkX2ZpbGVzICAgICAgLS0gQSBs
aXN0IG9mIGZpbGVuYW1lcyB0byBpZ25vcmUgaW4gdGhlIHNvdXJjZSBkaXJlY3RvcnkuIEl0IGlz
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIG9ubHkgbmVjZXNzYXJ5IHRvIHByb3ZpZGUgdGhl
IGJhc2VuYW1lcyBvZiB0aGVzZSBmaWxlcy4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgVHlw
aWNhbGx5IGl0IGlzIGltcG9ydGFudCB0byBwcm92aWRlIGFuIHVwZGF0ZWQgbGlzdCBvZgotICAg
ICAgICAgICAgICAgICAgICAgICAgICBpZ25vcmVkIGZpbGVzIHRvIHByZXZlbnQgd2FybmluZ3Mg
YWJvdXQgdW5kb2N1bWVudGVkIHN5bWJvbHMuCi0gICAgaGVhZGVycyAgICAgICAgICAgIC0tIEEg
bGlzdCBvZiBwYXRocyB0byBoZWFkZXJzIHRvIGJlIHNjYW5uZWQuIFJlcXVpcmVkIGlmIHNvdXJj
ZV9kaXJzCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGlzIG5vdCBzcGVjaWZpZWQuCi0gICAg
bmFtZXNwYWNlICAgICAgICAgIC0tIFRoZSBsaWJyYXJ5IG5hbWVzcGFjZS4KLSAgICBkZWNvcmF0
b3IgICAgICAgICAgLS0gSWYgYSBkZWNvcmF0b3IgaXMgdXNlZCB0byB1bmhpZGUgY2VydGFpbiBz
eW1ib2xzIGluIGhlYWRlcgotICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlcyB0aGlzIHBh
cmFtZXRlciBpcyByZXF1aXJlZCBmb3Igc3VjY2Vzc2Z1bCBzY2FubmluZy4KLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgKGRlZmF1bHQgJycpCi0gICAgZGVwcmVjYXRpb25fZ3VhcmQgIC0tIGd0
a2RvYyB0cmllcyB0byBlbnN1cmUgdGhhdCBzeW1ib2xzIG1hcmtlZCBhcyBkZXByZWNhdGVkCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgIGFyZSBlbmNhc2VkIGluIHRoaXMgQyBwcmVwcm9jZXNz
b3IgZGVmaW5lLiBUaGlzIGlzIHJlcXVpcmVkCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHRv
IGF2b2lkIGd0a2RvYyB3YXJuaW5ncy4gKGRlZmF1bHQgJycpCi0gICAgY2ZsYWdzICAgICAgICAg
ICAgIC0tIFRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyBhbnkgcHJlcHJvY2Vzc29yIGZsYWdzIG5l
Y2Vzc2FyeSBmb3IKLSAgICAgICAgICAgICAgICAgICAgICAgICAgYnVpbGRpbmcgdGhlIHNjYW5u
ZXIgYmluYXJ5IGR1cmluZyBndGtkb2Mtc2Nhbm9iai4gVHlwaWNhbGx5Ci0gICAgICAgICAgICAg
ICAgICAgICAgICAgIHRoaXMgaW5jbHVkZXMgYWxsIGFic29sdXRlIGluY2x1ZGUgcGF0aHMgbmVj
ZXNzYXJ5IHRvIHJlc29sdmUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgYWxsIGhlYWRlciBk
ZXBlbmRlbmNpZXMuIChkZWZhdWx0ICcnKQotICAgIGxkZmxhZ3MgICAgICAgICAgICAtLSBUaGlz
IHBhcmFtZXRlciBzcGVjaWZpZXMgYW55IGxpbmtlciBmbGFncyBuZWNlc3NhcnkgZm9yCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgIGJ1aWxkaW5nIHRoZSBzY2FubmVyIGJpbmFyeSBkdXJpbmcg
Z3RrZG9jLXNjYW5vYmouIFR5cGljYWxseQotICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlz
IGluY2x1ZGVzICItbHlvdXJsaWJyYXJ5bmFtZSIuIChkZWZhdWx0ICcnKQotICAgIGxpYnJhcnlf
cGF0aCAgICAgICAtLSBUaGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIHBhdGggdG8gdGhlIGRp
cmVjdG9yeSB3aGVyZSB5b3UKLSAgICAgICAgICAgICAgICAgICAgICAgICAgbGlicmFyeSByZXNp
ZGVzIHVzZWQgZm9yIGJ1aWxkaW5nIHRoZSBzY2FubmVyIGJpbmFyeSBkdXJpbmcKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgZ3RrZG9jLXNjYW5vYmouIChkZWZhdWx0ICcnKQotCi0gICAgZG9j
X2RpciAgICAgICAgICAgIC0tIFRoZSBwYXRoIHRvIG90aGVyIGRvY3VtZW50YXRpb24gZmlsZXMg
bmVjZXNzYXJ5IHRvIGJ1aWxkCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBkb2N1bWVu
dGF0aW9uLiBUaGlzIGZpbGVzIGluIHRoaXMgZGlyZWN0b3J5IGFzIHdlbGwgYXMKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgdGhlIGZpbGVzIGluIHRoZSAnaHRtbCcgc3ViZGlyZWN0b3J5IHdp
bGwgYmUgY29waWVkCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHJlY3Vyc2l2ZWx5IGludG8g
dGhlIG91dHB1dCBkaXJlY3RvcnkuIChkZWZhdWx0ICcnKQotICAgIG1haW5fc2dtbF9maWxlICAg
ICAtLSBUaGUgcGF0aCBvciBuYW1lIChpZiBhIGRvY19kaXIgaXMgZ2l2ZW4pIG9mIHRoZSBTR01M
IGZpbGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdCBpcyB0aGUgY29uc2lkZXJlZCB0
aGUgbWFpbiBwYWdlIG9mIHlvdXIgZG9jdW1lbnRhdGlvbi4KLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgKGRlZmF1bHQ6IDxtb2R1bGVfbmFtZT4tZG9jcy5zZ21sKQotICAgIHZlcnNpb24gICAg
ICAgICAgICAtLSBUaGUgdmVyc2lvbiBudW1iZXIgb2YgdGhlIG1vZHVsZS4gSWYgdGhpcyBpcyBw
cm92aWRlZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgYSB2ZXJzaW9uLnhtbCBmaWxlIGNv
bnRhaW5pbmcgdGhlIHZlcnNpb24gd2lsbCBiZSBjcmVhdGVkCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgIGluIHRoZSBvdXRwdXQgZGlyZWN0b3J5IGR1cmluZyBkb2N1bWVudGF0aW9uIGdlbmVy
YXRpb24uCi0KLSAgICBpbnRlcmFjdGl2ZSAgICAgICAgLS0gV2hldGhlciBvciBub3QgZXJyb3Jz
IG9yIHdhcm5pbmdzIHNob3VsZCBwcm9tcHQgdGhlIHVzZXIKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgdG8gY29udGludWUgb3Igbm90LiBXaGVuIHRoaXMgdmFsdWUgaXMgZmFsc2UsIGdlbmVy
YXRpb24KLSAgICAgICAgICAgICAgICAgICAgICAgICAgd2lsbCBjb250aW51ZSBkZXNwaXRlIHdh
cm5pbmdzLiAoZGVmYXVsdCBGYWxzZSkKLQotICAgIHZpcnR1YWxfcm9vdCAgICAgICAtLSBBIHRl
bXBvcmFyeSBpbnN0YWxsYXRpb24gZGlyZWN0b3J5IHdoaWNoIGlzIHVzZWQgYXMgdGhlIHJvb3QK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgd2hlcmUgdGhlIGFjdHVhbCBpbnN0YWxsYXRpb24g
cHJlZml4IGxpdmVzOyB0aGlzIGlzIG1vc3RseQotICAgICAgICAgICAgICAgICAgICAgICAgICB1
c2VmdWwgZm9yIHBhY2thZ2VycywgYW5kIHNob3VsZCBiZSBzZXQgdG8gd2hhdCBpcyBnaXZlbiB0
bwotICAgICAgICAgICAgICAgICAgICAgICAgICBtYWtlIGluc3RhbGwgYXMgREVTVERJUi4KLSAg
ICAiIiIKLQotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBhcmdzKToKLQotICAgICAgICAjIFBhcmFt
ZXRlcnMgc3BlY2lmaWMgdG8gc2Nhbm5pbmcuCi0gICAgICAgIHNlbGYubW9kdWxlX25hbWUgPSAn
JwotICAgICAgICBzZWxmLnNvdXJjZV9kaXJzID0gW10KLSAgICAgICAgc2VsZi5oZWFkZXJzID0g
W10KLSAgICAgICAgc2VsZi5pZ25vcmVkX2ZpbGVzID0gW10KLSAgICAgICAgc2VsZi5uYW1lc3Bh
Y2UgPSAnJwotICAgICAgICBzZWxmLmRlY29yYXRvciA9ICcnCi0gICAgICAgIHNlbGYuZGVwcmVj
YXRpb25fZ3VhcmQgPSAnJwotCi0gICAgICAgICMgUGFyYW1ldGVycyBzcGVjaWZpYyB0byBndGtk
b2Mtc2Nhbm9iai4KLSAgICAgICAgc2VsZi5jZmxhZ3MgPSAnJwotICAgICAgICBzZWxmLmxkZmxh
Z3MgPSAnJwotICAgICAgICBzZWxmLmxpYnJhcnlfcGF0aCA9ICcnCi0KLSAgICAgICAgIyBQYXJh
bWV0ZXJzIHNwZWNpZmljIHRvIGdlbmVyYXRpb24uCi0gICAgICAgIHNlbGYub3V0cHV0X2RpciA9
ICcnCi0gICAgICAgIHNlbGYuZG9jX2RpciA9ICcnCi0gICAgICAgIHNlbGYubWFpbl9zZ21sX2Zp
bGUgPSAnJwotCi0gICAgICAgICMgUGFyYW1ldGVycyBzcGVjaWZpYyB0byBndGtkb2MtZml4eHJl
Zi4KLSAgICAgICAgc2VsZi5jcm9zc19yZWZlcmVuY2VfZGVwcyA9IFtdCi0KLSAgICAgICAgc2Vs
Zi5pbnRlcmFjdGl2ZSA9IEZhbHNlCi0KLSAgICAgICAgc2VsZi5sb2dnZXIgPSBsb2dnaW5nLmdl
dExvZ2dlcignZ3RrZG9jJykKLQotICAgICAgICBmb3Iga2V5LCB2YWx1ZSBpbiBpdGVyKGFyZ3Mu
aXRlbXMoKSk6Ci0gICAgICAgICAgICBzZXRhdHRyKHNlbGYsIGtleSwgdmFsdWUpCi0KLSAgICAg
ICAgaWYgbm90IGdldGF0dHIoc2VsZiwgJ291dHB1dF9kaXInKToKLSAgICAgICAgICAgIHJhaXNl
IEV4Y2VwdGlvbignb3V0cHV0X2RpciBub3Qgc3BlY2lmaWVkLicpCi0gICAgICAgIGlmIG5vdCBn
ZXRhdHRyKHNlbGYsICdtb2R1bGVfbmFtZScpOgotICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9u
KCdtb2R1bGVfbmFtZSBub3Qgc3BlY2lmaWVkLicpCi0gICAgICAgIGlmIG5vdCBnZXRhdHRyKHNl
bGYsICdzb3VyY2VfZGlycycpIGFuZCBub3QgZ2V0YXR0cihzZWxmLCAnaGVhZGVycycpOgotICAg
ICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCdOZWl0aGVyIHNvdXJjZV9kaXJzIG5vciBoZWFkZXJz
IHNwZWNpZmllZC4nICUga2V5KQotCi0gICAgICAgICMgTWFrZSBhbGwgcGF0aHMgYWJzb2x1dGUg
aW4gY2FzZSB3ZSB3ZXJlIHBhc3NlZCByZWxhdGl2ZSBwYXRocywgc2luY2UKLSAgICAgICAgIyB3
ZSBjaGFuZ2UgdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3Rvcnkgd2hlbiBleGVjdXRpbmcgc3Vi
Y29tbWFuZHMuCi0gICAgICAgIHNlbGYub3V0cHV0X2RpciA9IG9zLnBhdGguYWJzcGF0aChzZWxm
Lm91dHB1dF9kaXIpCi0gICAgICAgIHNlbGYuc291cmNlX2RpcnMgPSBbb3MucGF0aC5hYnNwYXRo
KHgpIGZvciB4IGluIHNlbGYuc291cmNlX2RpcnNdCi0gICAgICAgIHNlbGYuaGVhZGVycyA9IFtv
cy5wYXRoLmFic3BhdGgoeCkgZm9yIHggaW4gc2VsZi5oZWFkZXJzXQotICAgICAgICBpZiBzZWxm
LmxpYnJhcnlfcGF0aDoKLSAgICAgICAgICAgIHNlbGYubGlicmFyeV9wYXRoID0gb3MucGF0aC5h
YnNwYXRoKHNlbGYubGlicmFyeV9wYXRoKQotCi0gICAgICAgIGlmIG5vdCBzZWxmLm1haW5fc2dt
bF9maWxlOgotICAgICAgICAgICAgc2VsZi5tYWluX3NnbWxfZmlsZSA9IHNlbGYubW9kdWxlX25h
bWUgKyAiLWRvY3Muc2dtbCIKLQotICAgIGRlZiBnZW5lcmF0ZShzZWxmLCBodG1sPVRydWUpOgot
ICAgICAgICBzZWxmLnNhd193YXJuaW5ncyA9IEZhbHNlCi0KLSAgICAgICAgc2VsZi5fY29weV9k
b2NfZmlsZXNfdG9fb3V0cHV0X2RpcihodG1sKQotICAgICAgICBzZWxmLl93cml0ZV92ZXJzaW9u
X3htbCgpCi0gICAgICAgIHNlbGYuX3J1bl9ndGtkb2Nfc2NhbigpCi0gICAgICAgIHNlbGYuX3J1
bl9ndGtkb2Nfc2NhbmdvYmooKQotICAgICAgICBzZWxmLl9ydW5fZ3RrZG9jX21rZGIoKQotCi0g
ICAgICAgIGlmIG5vdCBodG1sOgotICAgICAgICAgICAgcmV0dXJuCi0KLSAgICAgICAgc2VsZi5f
cnVuX2d0a2RvY19ta2h0bWwoKQotICAgICAgICBzZWxmLl9ydW5fZ3RrZG9jX2ZpeHhyZWYoKQot
Ci0gICAgZGVmIF9kZWxldGVfZmlsZV9pZl9leGlzdHMoc2VsZiwgcGF0aCk6Ci0gICAgICAgIGlm
IG5vdCBvcy5hY2Nlc3MocGF0aCwgb3MuRl9PSyB8IG9zLlJfT0spOgotICAgICAgICAgICAgcmV0
dXJuCi0gICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCdkZWxldGluZyAlcycsIHBhdGgpCi0gICAg
ICAgIG9zLnVubGluayhwYXRoKQotCi0gICAgZGVmIF9jcmVhdGVfZGlyZWN0b3J5X2lmX25vbmV4
aXN0ZW50KHNlbGYsIHBhdGgpOgotICAgICAgICB0cnk6Ci0gICAgICAgICAgICBvcy5tYWtlZGly
cyhwYXRoKQotICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlcnJvcjoKLSAgICAgICAgICAgIGlm
IGVycm9yLmVycm5vICE9IGVycm5vLkVFWElTVDoKLSAgICAgICAgICAgICAgICByYWlzZQotCi0g
ICAgZGVmIF9yYWlzZV9leGNlcHRpb25faWZfZmlsZV9pbmFjY2Vzc2libGUoc2VsZiwgcGF0aCk6
Ci0gICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhwYXRoKSBvciBub3Qgb3MuYWNjZXNzKHBh
dGgsIG9zLlJfT0spOgotICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCJDb3VsZCBub3QgYWNj
ZXNzIGZpbGUgYXQ6ICVzIiAlIHBhdGgpCi0KLSAgICBkZWYgX291dHB1dF9oYXNfd2FybmluZ3Mo
c2VsZiwgb3V0cHV0cyk6Ci0gICAgICAgIGZvciBvdXRwdXQgaW4gb3V0cHV0czoKLSAgICAgICAg
ICAgIGlmIG91dHB1dCBhbmQgb3V0cHV0LmZpbmQoJ3dhcm5pbmcnKToKLSAgICAgICAgICAgICAg
ICByZXR1cm4gVHJ1ZQotICAgICAgICByZXR1cm4gRmFsc2UKLQotICAgIGRlZiBfYXNrX3llc19v
cl9ub19xdWVzdGlvbihzZWxmLCBxdWVzdGlvbik6Ci0gICAgICAgIGlmIG5vdCBzZWxmLmludGVy
YWN0aXZlOgotICAgICAgICAgICAgcmV0dXJuIFRydWUKLQotICAgICAgICBxdWVzdGlvbiArPSAn
IFt5L05dICcKLSAgICAgICAgYW5zd2VyID0gTm9uZQotICAgICAgICB3aGlsZSBhbnN3ZXIgIT0g
J3knIGFuZCBhbnN3ZXIgIT0gJ24nIGFuZCBhbnN3ZXIgIT0gJyc6Ci0gICAgICAgICAgICBhbnN3
ZXIgPSByYXdfaW5wdXQocXVlc3Rpb24pLmxvd2VyKCkKLSAgICAgICAgcmV0dXJuIGFuc3dlciA9
PSAneScKLQotICAgIGRlZiBfcnVuX2NvbW1hbmQoc2VsZiwgYXJncywgZW52PU5vbmUsIGN3ZD1O
b25lLCBwcmludF9vdXRwdXQ9VHJ1ZSwgaWdub3JlX3dhcm5pbmdzPUZhbHNlKToKLSAgICAgICAg
aWYgcHJpbnRfb3V0cHV0OgotICAgICAgICAgICAgc2VsZi5sb2dnZXIuZGVidWcoIlJ1bm5pbmcg
JXMiLCBhcmdzWzBdKQotICAgICAgICBzZWxmLmxvZ2dlci5kZWJ1ZygiRnVsbCBjb21tYW5kIGFy
Z3M6ICVzIiwgc3RyKGFyZ3MpKQotCi0gICAgICAgIHByb2Nlc3MgPSBzdWJwcm9jZXNzLlBvcGVu
KGFyZ3MsIGVudj1lbnYsIGN3ZD1jd2QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHN0ZGVycj1zdWJwcm9jZXNzLlBJUEUpCi0gICAgICAgIHN0ZG91dCwgc3RkZXJyID0g
W2IuZGVjb2RlKCJ1dGYtOCIpIGZvciBiIGluIHByb2Nlc3MuY29tbXVuaWNhdGUoKV0KLQotICAg
ICAgICBpZiBwcmludF9vdXRwdXQ6Ci0gICAgICAgICAgICBpZiBzdGRvdXQ6Ci0gICAgICAgICAg
ICAgICAgdHJ5OgotICAgICAgICAgICAgICAgICAgICBzeXMuc3Rkb3V0LndyaXRlKHN0ZG91dC5l
bmNvZGUoInV0Zi04IikpCi0gICAgICAgICAgICAgICAgZXhjZXB0IFVuaWNvZGVEZWNvZGVFcnJv
cjoKLSAgICAgICAgICAgICAgICAgICAgc3lzLnN0ZG91dC53cml0ZShzdGRvdXQpCi0gICAgICAg
ICAgICBpZiBzdGRlcnI6Ci0gICAgICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgICAg
ICBzeXMuc3RkZXJyLndyaXRlKHN0ZGVyci5lbmNvZGUoInV0Zi04IikpCi0gICAgICAgICAgICAg
ICAgZXhjZXB0IFVuaWNvZGVEZWNvZGVFcnJvcjoKLSAgICAgICAgICAgICAgICAgICAgc3lzLnN0
ZGVyci53cml0ZShzdGRlcnIpCi0KLSAgICAgICAgaWYgcHJvY2Vzcy5yZXR1cm5jb2RlICE9IDA6
Ci0gICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oJyVzIHByb2R1Y2VkIGEgbm9uLXplcm8gcmV0
dXJuIGNvZGUgJWknCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICUgKGFyZ3NbMF0sIHBy
b2Nlc3MucmV0dXJuY29kZSkpCi0KLSAgICAgICAgaWYgbm90IGlnbm9yZV93YXJuaW5ncyBhbmQg
KCd3YXJuaW5nJyBpbiBzdGRlcnIgb3IgJ3dhcm5pbmcnIGluIHN0ZG91dCk6Ci0gICAgICAgICAg
ICBzZWxmLnNhd193YXJuaW5ncyA9IFRydWUKLSAgICAgICAgICAgIGlmIG5vdCBzZWxmLl9hc2tf
eWVzX29yX25vX3F1ZXN0aW9uKCclcyBwcm9kdWNlZCB3YXJuaW5ncywgJwotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RyeSB0byBjb250aW51ZT8nICUg
YXJnc1swXSk6Ci0gICAgICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCclcyBzdGVwIGZhaWxl
ZCcgJSBhcmdzWzBdKQotCi0gICAgICAgIHJldHVybiBzdGRvdXQuc3RyaXAoKQotCi0gICAgZGVm
IF9jb3B5X2RvY19maWxlc190b19vdXRwdXRfZGlyKHNlbGYsIGh0bWw9VHJ1ZSk6Ci0gICAgICAg
IGlmIG5vdCBzZWxmLmRvY19kaXI6Ci0gICAgICAgICAgICBzZWxmLmxvZ2dlci5pbmZvKCdOb3Qg
Y29weWluZyBhbnkgZmlsZXMgZnJvbSBkb2MgZGlyZWN0b3J5LCcKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJyBiZWNhdXNlIG5vIGRvYyBkaXJlY3RvcnkgZ2l2ZW4uJykKLSAgICAgICAg
ICAgIHJldHVybgotCi0gICAgICAgIGRlZiBjb3B5X2ZpbGVfcmVwbGFjaW5nX2V4aXN0aW5nKHNy
YywgZGVzdCk6Ci0gICAgICAgICAgICBpZiBvcy5wYXRoLmlzZGlyKHNyYyk6Ci0gICAgICAgICAg
ICAgICAgc2VsZi5sb2dnZXIuZGVidWcoJ3NraXBwZWQgZGlyZWN0b3J5ICVzJywgIHNyYykKLSAg
ICAgICAgICAgICAgICByZXR1cm4KLSAgICAgICAgICAgIGlmIG5vdCBvcy5hY2Nlc3Moc3JjLCBv
cy5GX09LIHwgb3MuUl9PSyk6Ci0gICAgICAgICAgICAgICAgc2VsZi5sb2dnZXIuZGVidWcoJ3Nr
aXBwZWQgdW5yZWFkYWJsZSAlcycsIHNyYykKLSAgICAgICAgICAgICAgICByZXR1cm4KLQotICAg
ICAgICAgICAgc2VsZi5fZGVsZXRlX2ZpbGVfaWZfZXhpc3RzKGRlc3QpCi0KLSAgICAgICAgICAg
IHNlbGYubG9nZ2VyLmRlYnVnKCdjcmVhdGVkICVzJywgZGVzdCkKLSAgICAgICAgICAgIHRyeToK
LSAgICAgICAgICAgICAgICBvcy5saW5rKHNyYywgZGVzdCkKLSAgICAgICAgICAgIGV4Y2VwdCBP
U0Vycm9yOgotICAgICAgICAgICAgICAgIG9zLnN5bWxpbmsoc3JjLCBkZXN0KQotCi0gICAgICAg
IGRlZiBjb3B5X2FsbF9maWxlc19pbl9kaXJlY3Rvcnkoc3JjLCBkZXN0KToKLSAgICAgICAgICAg
IGZvciBwYXRoIGluIG9zLmxpc3RkaXIoc3JjKToKLSAgICAgICAgICAgICAgICBjb3B5X2ZpbGVf
cmVwbGFjaW5nX2V4aXN0aW5nKG9zLnBhdGguam9pbihzcmMsIHBhdGgpLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3MucGF0aC5qb2luKGRlc3QsIHBhdGgp
KQotCi0gICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCdDb3B5aW5nIHRlbXBsYXRlIGZpbGVzIHRv
IG91dHB1dCBkaXJlY3RvcnkuLi4nKQotICAgICAgICBzZWxmLl9jcmVhdGVfZGlyZWN0b3J5X2lm
X25vbmV4aXN0ZW50KHNlbGYub3V0cHV0X2RpcikKLSAgICAgICAgY29weV9hbGxfZmlsZXNfaW5f
ZGlyZWN0b3J5KHNlbGYuZG9jX2Rpciwgc2VsZi5vdXRwdXRfZGlyKQotCi0gICAgZGVmIF93cml0
ZV92ZXJzaW9uX3htbChzZWxmKToKLSAgICAgICAgaWYgbm90IHNlbGYudmVyc2lvbjoKLSAgICAg
ICAgICAgIHNlbGYubG9nZ2VyLmluZm8oJ05vIHZlcnNpb24gc3BlY2lmaWVkLCBzbyBub3Qgd3Jp
dGluZyB2ZXJzaW9uLnhtbCcpCi0gICAgICAgICAgICByZXR1cm4KLQotICAgICAgICB2ZXJzaW9u
X3htbF9wYXRoID0gb3MucGF0aC5qb2luKHNlbGYub3V0cHV0X2RpciwgJ3ZlcnNpb24ueG1sJykK
LSAgICAgICAgc3JjX3ZlcnNpb25feG1sX3BhdGggPSBvcy5wYXRoLmpvaW4oc2VsZi5kb2NfZGly
LCAndmVyc2lvbi54bWwnKQotCi0gICAgICAgICMgRG9uJ3Qgb3ZlcndyaXRlIHZlcnNpb24ueG1s
IGlmIGl0IHdhcyBpbiB0aGUgZG9jIGRpcmVjdG9yeS4KLSAgICAgICAgaWYgb3MucGF0aC5leGlz
dHModmVyc2lvbl94bWxfcGF0aCkgYW5kIFwKLSAgICAgICAgICAgb3MucGF0aC5leGlzdHMoc3Jj
X3ZlcnNpb25feG1sX3BhdGgpOgotICAgICAgICAgICAgcmV0dXJuCi0KLSAgICAgICAgb3V0cHV0
X2ZpbGUgPSBvcGVuKHZlcnNpb25feG1sX3BhdGgsICd3JykKLSAgICAgICAgb3V0cHV0X2ZpbGUu
d3JpdGUoc2VsZi52ZXJzaW9uKQotICAgICAgICBvdXRwdXRfZmlsZS5jbG9zZSgpCi0KLSAgICBk
ZWYgX2lnbm9yZWRfZmlsZXNfYmFzZW5hbWVzKHNlbGYpOgotICAgICAgICByZXR1cm4gJyAnLmpv
aW4oW29zLnBhdGguYmFzZW5hbWUoeCkgZm9yIHggaW4gc2VsZi5pZ25vcmVkX2ZpbGVzXSkKLQot
ICAgIGRlZiBfcnVuX2d0a2RvY19zY2FuKHNlbGYpOgotICAgICAgICBhcmdzID0gWydndGtkb2Mt
c2NhbicsCi0gICAgICAgICAgICAgICAgJy0tbW9kdWxlPSVzJyAlIHNlbGYubW9kdWxlX25hbWUs
Ci0gICAgICAgICAgICAgICAgJy0tcmVidWlsZC10eXBlcyddCi0KLSAgICAgICAgaWYgbm90IHNl
bGYuaGVhZGVyczoKLSAgICAgICAgICAgICMgRWFjaCBzb3VyY2UgZGlyZWN0b3J5IHNob3VsZCBi
ZSBoYXZlIGl0cyBvd24gIi0tc291cmNlLWRpcj0iIHByZWZpeC4KLSAgICAgICAgICAgIGFyZ3Mu
ZXh0ZW5kKFsnLS1zb3VyY2UtZGlyPSVzJyAlIHBhdGggZm9yIHBhdGggaW4gc2VsZi5zb3VyY2Vf
ZGlyc10pCi0KLSAgICAgICAgaWYgc2VsZi5kZWNvcmF0b3I6Ci0gICAgICAgICAgICBhcmdzLmFw
cGVuZCgnLS1pZ25vcmUtZGVjb3JhdG9ycz0lcycgJSBzZWxmLmRlY29yYXRvcikKLSAgICAgICAg
aWYgc2VsZi5kZXByZWNhdGlvbl9ndWFyZDoKLSAgICAgICAgICAgIGFyZ3MuYXBwZW5kKCctLWRl
cHJlY2F0ZWQtZ3VhcmRzPSVzJyAlIHNlbGYuZGVwcmVjYXRpb25fZ3VhcmQpCi0gICAgICAgIGlm
IHNlbGYub3V0cHV0X2RpcjoKLSAgICAgICAgICAgIGFyZ3MuYXBwZW5kKCctLW91dHB1dC1kaXI9
JXMnICUgc2VsZi5vdXRwdXRfZGlyKQotCi0gICAgICAgICMgV2Ugb25seSBuZWVkIHRvIHBhc3Mg
dGhlIGxpc3Qgb2YgaWdub3JlZCBmaWxlcyBpZiB0aGUgd2UgYXJlIG5vdCB1c2luZyBhbiBleHBs
aWNpdCBsaXN0IG9mIGhlYWRlcnMuCi0gICAgICAgIGlmIG5vdCBzZWxmLmhlYWRlcnM6Ci0gICAg
ICAgICAgICAjIGd0a2RvYy1zY2FuIHdhbnRzIHRoZSBiYXNlbmFtZXMgb2YgaWdub3JlZCBoZWFk
ZXJzLCBzbyBzdHJpcCB0aGUKLSAgICAgICAgICAgICMgZGlybmFtZS4gRGlmZmVyZW50IGZyb20g
Ii0tc291cmNlLWRpciIsIHRoZSBoZWFkZXJzIHNob3VsZCBiZQotICAgICAgICAgICAgIyBzcGVj
aWZpZWQgYXMgb25lIGxvbmcgc3RyaW5nLgotICAgICAgICAgICAgaWdub3JlZF9maWxlc19iYXNl
bmFtZXMgPSBzZWxmLl9pZ25vcmVkX2ZpbGVzX2Jhc2VuYW1lcygpCi0gICAgICAgICAgICBpZiBp
Z25vcmVkX2ZpbGVzX2Jhc2VuYW1lczoKLSAgICAgICAgICAgICAgICBhcmdzLmFwcGVuZCgnLS1p
Z25vcmUtaGVhZGVycz0lcycgJSBpZ25vcmVkX2ZpbGVzX2Jhc2VuYW1lcykKLQotICAgICAgICBp
ZiBzZWxmLmhlYWRlcnM6Ci0gICAgICAgICAgICBhcmdzLmV4dGVuZChzZWxmLmhlYWRlcnMpCi0K
LSAgICAgICAgc2VsZi5fcnVuX2NvbW1hbmQoYXJncykKLQotICAgIGRlZiBfcnVuX2d0a2RvY19z
Y2FuZ29iaihzZWxmKToKLSAgICAgICAgZW52ID0gb3MuZW52aXJvbgotICAgICAgICBsZGZsYWdz
ID0gc2VsZi5sZGZsYWdzCi0gICAgICAgIGlmIHNlbGYubGlicmFyeV9wYXRoOgotICAgICAgICAg
ICAgYWRkaXRpb25hbF9sZGZsYWdzID0gJycKLSAgICAgICAgICAgIGZvciBhcmcgaW4gZW52Lmdl
dCgnTERGTEFHUycsICcnKS5zcGxpdCgnICcpOgotICAgICAgICAgICAgICAgIGlmIGFyZy5zdGFy
dHN3aXRoKCctTCcpOgotICAgICAgICAgICAgICAgICAgICBhZGRpdGlvbmFsX2xkZmxhZ3MgPSAn
JXMgJXMnICUgKGFkZGl0aW9uYWxfbGRmbGFncywgYXJnKQotICAgICAgICAgICAgbGRmbGFncyA9
ICcgIi1MJXMiICVzICcgJSAoc2VsZi5saWJyYXJ5X3BhdGgsIGFkZGl0aW9uYWxfbGRmbGFncykg
KyBsZGZsYWdzCi0gICAgICAgICAgICBjdXJyZW50X2xkX2xpYnJhcnlfcGF0aCA9IGVudi5nZXQo
J0xEX0xJQlJBUllfUEFUSCcpCi0gICAgICAgICAgICBpZiBjdXJyZW50X2xkX2xpYnJhcnlfcGF0
aDoKLSAgICAgICAgICAgICAgICBlbnZbJ0xEX0xJQlJBUllfUEFUSCddID0gJyVzOiVzJyAlIChz
ZWxmLmxpYnJhcnlfcGF0aCwgY3VycmVudF9sZF9saWJyYXJ5X3BhdGgpCi0gICAgICAgICAgICBl
bHNlOgotICAgICAgICAgICAgICAgIGVudlsnTERfTElCUkFSWV9QQVRIJ10gPSBzZWxmLmxpYnJh
cnlfcGF0aAotCi0gICAgICAgIGlmIGxkZmxhZ3M6Ci0gICAgICAgICAgICBlbnZbJ0xERkxBR1Mn
XSA9ICclcyAlcycgJSAobGRmbGFncywgZW52LmdldCgnTERGTEFHUycsICcnKSkKLSAgICAgICAg
aWYgc2VsZi5jZmxhZ3M6Ci0gICAgICAgICAgICBlbnZbJ0NGTEFHUyddID0gJyVzICVzJyAlIChz
ZWxmLmNmbGFncywgZW52LmdldCgnQ0ZMQUdTJywgJycpKQotCi0gICAgICAgIGlmICdDRkxBR1Mn
IGluIGVudjoKLSAgICAgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCdDRkxBR1M9JXMnLCBlbnZb
J0NGTEFHUyddKQotICAgICAgICBpZiAnTERGTEFHUycgaW4gZW52OgotICAgICAgICAgICAgc2Vs
Zi5sb2dnZXIuZGVidWcoJ0xERkxBR1MgJXMnLCBlbnZbJ0xERkxBR1MnXSkKLSAgICAgICAgc2Vs
Zi5fcnVuX2NvbW1hbmQoWydndGtkb2Mtc2NhbmdvYmonLCAnLS1tb2R1bGU9JXMnICUgc2VsZi5t
b2R1bGVfbmFtZV0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGVudj1lbnYsIGN3ZD1zZWxm
Lm91dHB1dF9kaXIpCi0KLSAgICBkZWYgX3J1bl9ndGtkb2NfbWtkYihzZWxmKToKLSAgICAgICAg
c2dtbF9maWxlID0gb3MucGF0aC5qb2luKHNlbGYub3V0cHV0X2Rpciwgc2VsZi5tYWluX3NnbWxf
ZmlsZSkKLSAgICAgICAgc2VsZi5fcmFpc2VfZXhjZXB0aW9uX2lmX2ZpbGVfaW5hY2Nlc3NpYmxl
KHNnbWxfZmlsZSkKLQotICAgICAgICBhcmdzID0gWydndGtkb2MtbWtkYicsCi0gICAgICAgICAg
ICAgICAgJy0tbW9kdWxlPSVzJyAlIHNlbGYubW9kdWxlX25hbWUsCi0gICAgICAgICAgICAgICAg
Jy0tbWFpbi1zZ21sLWZpbGU9JXMnICUgc2dtbF9maWxlLAotICAgICAgICAgICAgICAgICctLXNv
dXJjZS1zdWZmaXhlcz1oLGMsY3BwLGNjJywKLSAgICAgICAgICAgICAgICAnLS1vdXRwdXQtZm9y
bWF0PXhtbCcsCi0gICAgICAgICAgICAgICAgJy0tc2dtbC1tb2RlJ10KLQotICAgICAgICBpZiBz
ZWxmLm5hbWVzcGFjZToKLSAgICAgICAgICAgIGFyZ3MuYXBwZW5kKCctLW5hbWUtc3BhY2U9JXMn
ICUgc2VsZi5uYW1lc3BhY2UpCi0KLSAgICAgICAgaWdub3JlZF9maWxlc19iYXNlbmFtZXMgPSBz
ZWxmLl9pZ25vcmVkX2ZpbGVzX2Jhc2VuYW1lcygpCi0gICAgICAgIGlmIGlnbm9yZWRfZmlsZXNf
YmFzZW5hbWVzOgotICAgICAgICAgICAgYXJncy5hcHBlbmQoJy0taWdub3JlLWZpbGVzPSVzJyAl
IGlnbm9yZWRfZmlsZXNfYmFzZW5hbWVzKQotCi0gICAgICAgICMgRWFjaCBkaXJlY3Rvcnkgc2hv
dWxkIGJlIGhhdmUgaXRzIG93biAiLS1zb3VyY2UtZGlyPSIgcHJlZml4LgotICAgICAgICBhcmdz
LmV4dGVuZChbJy0tc291cmNlLWRpcj0lcycgJSBwYXRoIGZvciBwYXRoIGluIHNlbGYuc291cmNl
X2RpcnNdKQotICAgICAgICBzZWxmLl9ydW5fY29tbWFuZChhcmdzLCBjd2Q9c2VsZi5vdXRwdXRf
ZGlyKQotCi0gICAgZGVmIF9ydW5fZ3RrZG9jX21raHRtbChzZWxmKToKLSAgICAgICAgIyBndGtk
b2MtZml4eHJlZiBleHBlY3RzIHRoZSBwYXRocyB0byBiZSBodG1sL21vZHVsZW5hbWUuCi0gICAg
ICAgIGh0bWxfZGVzdF9kaXIgPSBvcy5wYXRoLmpvaW4oc2VsZi5vdXRwdXRfZGlyLCAnaHRtbCcs
IHNlbGYubW9kdWxlX25hbWUpCi0gICAgICAgIHNlbGYuX2NyZWF0ZV9kaXJlY3RvcnlfaWZfbm9u
ZXhpc3RlbnQoaHRtbF9kZXN0X2RpcikKLSAgICAgICAgaWYgbm90IG9zLnBhdGguaXNkaXIoaHRt
bF9kZXN0X2Rpcik6Ci0gICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIiVzIGlzIG5vdCBhIGRp
cmVjdG9yeSwgY291bGQgbm90IGdlbmVyYXRlIEhUTUwiCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJSBodG1sX2Rlc3RfZGlyKQotICAgICAgICBlbGlmIG5vdCBvcy5hY2Nlc3MoaHRtbF9k
ZXN0X2Rpciwgb3MuWF9PSyB8IG9zLlJfT0sgfCBvcy5XX09LKToKLSAgICAgICAgICAgIHJhaXNl
IEV4Y2VwdGlvbigiQ291bGQgbm90IGFjY2VzcyAlcyB0byBnZW5lcmF0ZSBIVE1MIgotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICUgaHRtbF9kZXN0X2RpcikKLQotICAgICAgICAjIGd0a2Rv
Yy1ta2h0bWwgZXhwZWN0cyB0aGUgU0dNTCBwYXRoIHRvIGJlIGFic29sdXRlLgotICAgICAgICBz
Z21sX2ZpbGUgPSBvcy5wYXRoLmpvaW4ob3MucGF0aC5hYnNwYXRoKHNlbGYub3V0cHV0X2Rpciks
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLm1haW5fc2dtbF9maWxlKQot
ICAgICAgICBzZWxmLl9yYWlzZV9leGNlcHRpb25faWZfZmlsZV9pbmFjY2Vzc2libGUoc2dtbF9m
aWxlKQotCi0gICAgICAgIHNlbGYuX3J1bl9jb21tYW5kKFsnZ3RrZG9jLW1raHRtbCcsIHNlbGYu
bW9kdWxlX25hbWUsIHNnbWxfZmlsZV0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGN3ZD1o
dG1sX2Rlc3RfZGlyKQotCi0gICAgZGVmIF9ydW5fZ3RrZG9jX2ZpeHhyZWYoc2VsZik6Ci0gICAg
ICAgIGFyZ3MgPSBbJ2d0a2RvYy1maXh4cmVmJywKLSAgICAgICAgICAgICAgICAnLS1tb2R1bGU9
JXMnICUgc2VsZi5tb2R1bGVfbmFtZSwKLSAgICAgICAgICAgICAgICAnLS1tb2R1bGUtZGlyPWh0
bWwvJXMnICUgc2VsZi5tb2R1bGVfbmFtZV0KLSAgICAgICAgYXJncy5leHRlbmQoWyctLWV4dHJh
LWRpcj0lcycgJSBleHRyYV9kaXIgZm9yIGV4dHJhX2RpciBpbiBzZWxmLmNyb3NzX3JlZmVyZW5j
ZV9kZXBzXSkKLSAgICAgICAgc2VsZi5fcnVuX2NvbW1hbmQoYXJncywgY3dkPXNlbGYub3V0cHV0
X2RpciwgaWdub3JlX3dhcm5pbmdzPVRydWUpCi0KLSAgICAgICAgIyBndGtkb2MtZml4eHJlZiBo
YXMgc29tZSBwcmVkZWZpbmVkIGxpbmtzIGZvciB3aGljaCBpdCBhbHdheXMgdXNlcyBhYnNvbHV0
ZSBwYXRocy4KLSAgICAgICAgaHRtbF9kaXJfcHJlZml4ID0gb3MucGF0aC5qb2luKHNlbGYudmly
dHVhbF9yb290ICsgc2VsZi5wcmVmaXgsICdzaGFyZScsICdndGstZG9jJywgJ2h0bWwnKQotICAg
ICAgICBtb2R1bGVfZGlyID0gb3MucGF0aC5qb2luKHNlbGYub3V0cHV0X2RpciwgJ2h0bWwnLCBz
ZWxmLm1vZHVsZV9uYW1lKQotICAgICAgICBmb3IgZW50cnkgaW4gb3MubGlzdGRpcihtb2R1bGVf
ZGlyKToKLSAgICAgICAgICAgIGlmIG5vdCBlbnRyeS5lbmRzd2l0aCgnLmh0bWwnKToKLSAgICAg
ICAgICAgICAgICBjb250aW51ZQotCi0gICAgICAgICAgICBmaWxlbmFtZSA9IG9zLnBhdGguam9p
bihtb2R1bGVfZGlyLCBlbnRyeSkKLSAgICAgICAgICAgIGNvbnRlbnRzID0gJycKLSAgICAgICAg
ICAgIHdpdGggY29kZWNzLm9wZW4oZmlsZW5hbWUsICdyJywgZW5jb2Rpbmc9J3V0Zi04JykgYXMg
ZjoKLSAgICAgICAgICAgICAgICBjb250ZW50cyA9IGYucmVhZCgpCi0KLSAgICAgICAgICAgIGlm
IG5vdCBodG1sX2Rpcl9wcmVmaXggaW4gY29udGVudHM6Ci0gICAgICAgICAgICAgICAgY29udGlu
dWUKLQotICAgICAgICAgICAgdG1wX2ZpbGVuYW1lID0gZmlsZW5hbWUgKyAnLm5ldycKLSAgICAg
ICAgICAgIG5ld19jb250ZW50cyA9IGNvbnRlbnRzLnJlcGxhY2UoaHRtbF9kaXJfcHJlZml4LCAn
Li4nKQotICAgICAgICAgICAgd2l0aCBjb2RlY3Mub3Blbih0bXBfZmlsZW5hbWUsICd3JywgZW5j
b2Rpbmc9J3V0Zi04JykgYXMgZjoKLSAgICAgICAgICAgICAgICBmLndyaXRlKG5ld19jb250ZW50
cykKLQotICAgICAgICAgICAgb3MucmVuYW1lKHRtcF9maWxlbmFtZSwgZmlsZW5hbWUpCi0KLSAg
ICBkZWYgcmViYXNlX2luc3RhbGxlZF9kb2NzKHNlbGYpOgotICAgICAgICBpZiBub3Qgb3MucGF0
aC5pc2RpcihzZWxmLm91dHB1dF9kaXIpOgotICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCJU
cmllZCB0byByZWJhc2UgZG9jdW1lbnRhdGlvbiBiZWZvcmUgZ2VuZXJhdGluZyBpdC4iKQotICAg
ICAgICBodG1sX2RpciA9IG9zLnBhdGguam9pbihzZWxmLnZpcnR1YWxfcm9vdCArIHNlbGYucHJl
Zml4LCAnc2hhcmUnLCAnZ3RrLWRvYycsICdodG1sJywgc2VsZi5tb2R1bGVfbmFtZSkKLSAgICAg
ICAgaWYgbm90IG9zLnBhdGguaXNkaXIoaHRtbF9kaXIpOgotICAgICAgICAgICAgcmV0dXJuCi0g
ICAgICAgIGFyZ3MgPSBbJ2d0a2RvYy1yZWJhc2UnLAotICAgICAgICAgICAgICAgICctLXJlbGF0
aXZlJywKLSAgICAgICAgICAgICAgICAnLS1odG1sLWRpcj0lcycgJSBodG1sX2Rpcl0KLSAgICAg
ICAgYXJncy5leHRlbmQoWyctLW90aGVyLWRpcj0lcycgJSBleHRyYV9kaXIgZm9yIGV4dHJhX2Rp
ciBpbiBzZWxmLmNyb3NzX3JlZmVyZW5jZV9kZXBzXSkKLSAgICAgICAgaWYgc2VsZi52aXJ0dWFs
X3Jvb3Q6Ci0gICAgICAgICAgICBhcmdzLmV4dGVuZChbJy0tZGVzdC1kaXI9JXMnICUgc2VsZi52
aXJ0dWFsX3Jvb3RdKQotICAgICAgICBzZWxmLl9ydW5fY29tbWFuZChhcmdzLCBjd2Q9c2VsZi5v
dXRwdXRfZGlyKQotCi0gICAgZGVmIGFwaV9taXNzaW5nX2RvY3VtZW50YXRpb24oc2VsZik6Ci0g
ICAgICAgIHVudXNlZF9kb2NfZmlsZSA9IG9zLnBhdGguam9pbihzZWxmLm91dHB1dF9kaXIsIHNl
bGYubW9kdWxlX25hbWUgKyAiLXVudXNlZC50eHQiKQotICAgICAgICBpZiBub3Qgb3MucGF0aC5l
eGlzdHModW51c2VkX2RvY19maWxlKSBvciBub3Qgb3MuYWNjZXNzKHVudXNlZF9kb2NfZmlsZSwg
b3MuUl9PSyk6Ci0gICAgICAgICAgICByZXR1cm4gW10KLSAgICAgICAgcmV0dXJuIG9wZW4odW51
c2VkX2RvY19maWxlKS5yZWFkKCkuc3BsaXRsaW5lcygpCi0KLWNsYXNzIFBrZ0NvbmZpZ0dUS0Rv
YyhHVEtEb2MpOgotCi0gICAgIiIiQ2xhc3MgcmVhZHMgYSBsaWJyYXJ5J3MgcGtnY29uZmlnIGZp
bGUgdG8gZ3Vlc3MgZ3RrZG9jIHBhcmFtZXRlcnMuCi0KLSAgICBTb21lIGd0a2RvYyBwYXJhbWV0
ZXJzIGNhbiBiZSBndWVzc2VkIGJ5IHJlYWRpbmcgYSBsaWJyYXJ5J3MgcGtnY29uZmlnCi0gICAg
ZmlsZSwgaW5jbHVkaW5nIHRoZSBjZmxhZ3MsIGxkZmxhZ3MgYW5kIHZlcnNpb24gcGFyYW1ldGVy
cy4gSWYgeW91Ci0gICAgcHJvdmlkZSB0aGVzZSBwYXJhbWV0ZXJzIGFzIHdlbGwsIHRoZXkgd2ls
bCBiZSBhcHBlbmRlZCB0byB0aGUgb25lcwotICAgIGd1ZXNzZWQgdmlhIHRoZSBwa2djb25maWcg
ZmlsZS4KLQotICAgIEtleXdvcmQgYXJndW1lbnRzOgotICAgICAgcGtnX2NvbmZpZ19wYXRoIC0t
IFBhdGggdG8gdGhlIHBrZ2NvbmZpZyBmaWxlIGZvciB0aGUgbGlicmFyeS4gUmVxdWlyZWQuCi0g
ICAgIiIiCi0KLSAgICBkZWYgX19pbml0X18oc2VsZiwgcGtnX2NvbmZpZ19wYXRoLCBhcmdzKToK
LSAgICAgICAgc3VwZXIoUGtnQ29uZmlnR1RLRG9jLCBzZWxmKS5fX2luaXRfXyhhcmdzKQotCi0g
ICAgICAgIHBrZ19jb25maWcgPSBvcy5lbnZpcm9uLmdldCgnUEtHX0NPTkZJRycsICdwa2ctY29u
ZmlnJykKLQotICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMocGtnX2NvbmZpZ19wYXRoKToK
LSAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbignQ291bGQgbm90IGZpbmQgcGtnLWNvbmZpZyBm
aWxlIGF0OiAlcycKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAlIHBrZ19jb25maWdfcGF0
aCkKLQotICAgICAgICBzZWxmLmNmbGFncyArPSAiICIgKyBzZWxmLl9ydW5fY29tbWFuZChbcGtn
X2NvbmZpZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHBrZ19jb25maWdfcGF0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICctLWNmbGFncyddLCBwcmludF9vdXRwdXQ9RmFsc2UpCi0gICAgICAgIHNlbGYu
bGRmbGFncyArPSAiICIgKyBzZWxmLl9ydW5fY29tbWFuZChbcGtnX2NvbmZpZywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBrZ19jb25maWdfcGF0aCwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLWxpYnMn
XSwgcHJpbnRfb3V0cHV0PUZhbHNlKQotICAgICAgICBzZWxmLnZlcnNpb24gPSBzZWxmLl9ydW5f
Y29tbWFuZChbcGtnX2NvbmZpZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHBrZ19jb25maWdfcGF0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICctLW1vZHZlcnNpb24nXSwgcHJpbnRfb3V0cHV0PUZhbHNlKQotICAgICAgICBz
ZWxmLnByZWZpeCA9IHNlbGYuX3J1bl9jb21tYW5kKFtwa2dfY29uZmlnLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwa2dfY29uZmlnX3BhdGgsCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLXZhcmlhYmxlPXByZWZpeCddLCBwcmlu
dF9vdXRwdXQ9RmFsc2UpCmRpZmYgLS1naXQgYS9Ub29scy9ndGtkb2MvZ2VuZXJhdGUtZ3RrZG9j
IGIvVG9vbHMvZ3RrZG9jL2dlbmVyYXRlLWd0a2RvYwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jYjk4Mzc2YzMwNWZm
MzJlYTIyZWY2Y2YwMTY4Y2IzMTA2YTU5ZTBlCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvZ3Rr
ZG9jL2dlbmVyYXRlLWd0a2RvYwpAQCAtMCwwICsxLDI0NCBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0
aG9uCisjIENvcHlyaWdodCAoQykgMjAxMSBJZ2FsaWEgUy5MLgorIworIyBUaGlzIGxpYnJhcnkg
aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisjIG1vZGlm
eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyMg
TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0
aGVyCisjIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkg
bGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo
b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg
d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBv
ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisjIExlc3Nl
ciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisjIFlvdSBzaG91
bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMK
KyMgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUg
RnJlZSBTb2Z0d2FyZQorIyBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZp
ZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKKworZnJvbSBfX2Z1dHVyZV9f
IGltcG9ydCBwcmludF9mdW5jdGlvbgorZnJvbSBDb25maWdQYXJzZXIgaW1wb3J0IFNhZmVDb25m
aWdQYXJzZXIKKworaW1wb3J0IGFyZ3BhcnNlCitpbXBvcnQgY29kZWNzCitpbXBvcnQgZ2xvYgor
aW1wb3J0IGd0a2RvYworaW1wb3J0IGxvZ2dpbmcKK2ltcG9ydCBvcy5wYXRoCitpbXBvcnQgc3lz
CisKK3RvcF9sZXZlbF9kaXJlY3RvcnkgPSBvcy5wYXRoLm5vcm1wYXRoKG9zLnBhdGguam9pbihv
cy5wYXRoLmRpcm5hbWUoX19maWxlX18pLCAnLi4nLCAnLi4nKSkKK3N5cy5wYXRoLmluc2VydCgw
LCBvcy5wYXRoLmpvaW4odG9wX2xldmVsX2RpcmVjdG9yeSwgJ1Rvb2xzJywgJ2dsaWInKSkKK2lt
cG9ydCBjb21tb24KKworc3lzLnN0ZG91dCA9IGNvZGVjcy5nZXR3cml0ZXIoInV0Zi04Iikoc3lz
LnN0ZG91dCkKK3N5cy5zdGRlcnIgPSBjb2RlY3MuZ2V0d3JpdGVyKCJ1dGYtOCIpKHN5cy5zdGRl
cnIpCisKK2RlZiBjb25maWd1cmVfbG9nZ2luZyh2ZXJib3NlKToKKyAgICBsZXZlbCA9IGxvZ2dp
bmcuREVCVUcgaWYgdmVyYm9zZSBlbHNlIGxvZ2dpbmcuSU5GTworICAgIGxvZ2dlciA9IGxvZ2dp
bmcuZ2V0TG9nZ2VyKCdndGtkb2MnKQorICAgIGxvZ2dlci5zZXRMZXZlbChsZXZlbCkKKyAgICBo
YW5kbGVyID0gbG9nZ2luZy5TdHJlYW1IYW5kbGVyKCkKKyAgICBoYW5kbGVyLnNldExldmVsKGxl
dmVsKQorICAgIGxvZ2dlci5hZGRIYW5kbGVyKGhhbmRsZXIpCisgICAgaWYgbGV2ZWwgPT0gbG9n
Z2luZy5ERUJVRzoKKyAgICAgICAgaGFuZGxlci5zZXRGb3JtYXR0ZXIobG9nZ2luZy5Gb3JtYXR0
ZXIoJ1slKGFzY3RpbWUpc10gICUobWVzc2FnZSlzJykpCisgICAgZWxzZToKKyAgICAgICAgaGFu
ZGxlci5zZXRGb3JtYXR0ZXIobG9nZ2luZy5Gb3JtYXR0ZXIoJyUobWVzc2FnZSlzJykpCisKK2Rl
ZiBnZXRfZ3RrZG9jX21vZHVsZV9wYXRocyhjcm9zc19yZWZlcmVuY2VfZGVwcyk6CisgICAgZGVw
ZW5kZW50X3BhY2thZ2VzID0geworICAgICAgICAnZ2xpYi0yLjAnIDogWydnbGliJywgJ2dvYmpl
Y3QnLCAnZ2lvJ10sCisgICAgICAgICdsaWJzb3VwLTIuNCcgOiBbJ2xpYnNvdXAtMi40J10KKyAg
ICB9CisKKyAgICBpZiBhcmd1bWVudHMuZ3RrOgorICAgICAgICBkZXBlbmRlbnRfcGFja2FnZXNb
J2dkay1waXhidWYtMi4wJ10gPSBbJ2dkay1waXhidWYnXQorICAgICAgICBkZXBlbmRlbnRfcGFj
a2FnZXNbJ2d0aystMy4wJ10gPSBbJ2d0azMnLCAnZ2RrMyddCisKKyAgICBwYXRocyA9IFtdCisg
ICAgaHRtbF9kaXIgPSBvcy5wYXRoLmpvaW4oJ3NoYXJlJywgJ2d0ay1kb2MnLCAnaHRtbCcpCisg
ICAgZm9yIHBhY2thZ2UsIG1vZHVsZXMgaW4gZGVwZW5kZW50X3BhY2thZ2VzLml0ZXJpdGVtcygp
OgorICAgICAgICBwcmVmaXggPSBjb21tb24ucHJlZml4X29mX3BrZ19jb25maWdfZmlsZShwYWNr
YWdlKQorICAgICAgICBpZiBwcmVmaXggaXMgTm9uZToKKyAgICAgICAgICAgIGNvbnRpbnVlCisg
ICAgICAgIGZvciBtb2R1bGUgaW4gbW9kdWxlczoKKyAgICAgICAgICAgIHBhdGhzLmFwcGVuZChv
cy5wYXRoLmpvaW4ocHJlZml4LCBodG1sX2RpciwgbW9kdWxlKSkKKworICAgIGZvciBsb2NhbF9k
ZXAgaW4gY3Jvc3NfcmVmZXJlbmNlX2RlcHM6CisgICAgICAgIHBhdGhzLmFwcGVuZChjb21tb24u
YnVpbGRfcGF0aCgnRG9jdW1lbnRhdGlvbicsIGxvY2FsX2RlcCwgJ2h0bWwnKSkKKyAgICByZXR1
cm4gcGF0aHMKKworZGVmIHByaW50X21pc3NpbmdfYXBpKGdlbmVyYXRvcik6CisgICAgbWlzc2lu
Z19hcGkgPSBnZW5lcmF0b3IuYXBpX21pc3NpbmdfZG9jdW1lbnRhdGlvbigpCisgICAgaWYgbm90
IG1pc3NpbmdfYXBpOgorICAgICAgICByZXR1cm4KKyAgICBwcmludCgiXG5UaGUgZm9sbG93aW5n
IEFQSSBhcmUgbWlzc2luZyBkb2N1bWVudGF0aW9uOiIpCisgICAgZm9yIGFwaSBpbiBtaXNzaW5n
X2FwaToKKyAgICAgICAgcHJpbnQoIlx0ezB9Ii5mb3JtYXQoYXBpKSkKKworZGVmIGZpbGVzX3Rv
X2lnbm9yZShzb3VyY2VfZGlycywgaGVhZGVyc193aXRoX2d0a2RvYyk6CisgICAgIiIiCisgICAg
RmluZCBmaWxlcyB0byBpZ25vcmUgZHVyaW5nIGRvY3VtZW50YXRpb24gZ2VuZXJhdGlvbi4gV2Ug
YXNzdW1lIHRoYXQgaWYgYW4KKyAgICBpbXBsZW1lbnRhdGlvbiBmaWxlIGV4aXN0cyBmb3IgYSBo
ZWFkZXIgd2l0aCBndGtkb2MgKHNheSB3ZWJraXRmb28uY3BwIGZvcgorICAgIHdlYmtpdGZvby5o
KSB3ZSBzaG91bGRuJ3QgaWdub3JlIHRoYXQgZmlsZS4gQ3VycmVudGx5IHRoaXMgaG9sZHMgdHJ1
ZSBmb3IgYWxsCisgICAgb2YgdGhlIFdlYktpdCBwcm9qZWN0LgorICAgICIiIgorICAgIGltcGxl
bWVudGF0aW9uX2ZpbGVzID0gbGlzdChoZWFkZXJzX3dpdGhfZ3RrZG9jKQorICAgIGZvciBoZWFk
ZXIgaW4gaGVhZGVyc193aXRoX2d0a2RvYzoKKyAgICAgICAgZGVmIGFkZF9maWxlX2lmX2V4aXN0
cyhmaWxlbmFtZSk6CisgICAgICAgICAgICBmb3IgZGlyIGluIHNvdXJjZV9kaXJzOgorICAgICAg
ICAgICAgICAgIGZpbGUgPSBvcy5wYXRoLmpvaW4oZGlyLCBmaWxlbmFtZSkKKyAgICAgICAgICAg
ICAgICBpZiBvcy5wYXRoLmlzZmlsZShmaWxlKToKKyAgICAgICAgICAgICAgICAgICAgaW1wbGVt
ZW50YXRpb25fZmlsZXMuYXBwZW5kKG9zLnBhdGguYWJzcGF0aChmaWxlKSkKKyAgICAgICAgaGVh
ZGVyX2Jhc2VuYW1lX3dpdGhvdXRfZXh0ZW5zaW9uID0gb3MucGF0aC5zcGxpdGV4dChvcy5wYXRo
LmJhc2VuYW1lKGhlYWRlcikpWzBdCisgICAgICAgIGFkZF9maWxlX2lmX2V4aXN0cyhoZWFkZXJf
YmFzZW5hbWVfd2l0aG91dF9leHRlbnNpb24gKyAiLmNwcCIpCisgICAgICAgIGFkZF9maWxlX2lm
X2V4aXN0cyhoZWFkZXJfYmFzZW5hbWVfd2l0aG91dF9leHRlbnNpb24gKyAiR3RrLmNwcCIpCisg
ICAgICAgIGFkZF9maWxlX2lmX2V4aXN0cyhoZWFkZXJfYmFzZW5hbWVfd2l0aG91dF9leHRlbnNp
b24gKyAiLmMiKQorCisgICAgZGVmIGZpbGVfc2hvdWxkX2JlX2lnbm9yZWQoZmlsZSk6CisgICAg
ICAgIGlmIG9zLnBhdGguc3BsaXRleHQoZmlsZSlbMV0gbm90IGluIFsnLmgnLCAnLmMnLCAnLmNw
cCcsICcuY2MnXToKKyAgICAgICAgICAgIHJldHVybiBGYWxzZSAjIFRoZXNlIGZpbGVzIGFyZSBp
Z25vcmVkIGFueXdheS4KKyAgICAgICAgaWYgbm90IG9zLnBhdGguaXNmaWxlKGZpbGUpOgorICAg
ICAgICAgICAgcmV0dXJuIFRydWUKKyAgICAgICAgcmV0dXJuIG9zLnBhdGguYWJzcGF0aChmaWxl
KSBub3QgaW4gaW1wbGVtZW50YXRpb25fZmlsZXMKKworICAgIGFsbF9maWxlcyA9IHN1bShbW29z
LnBhdGguam9pbihkaXIsIGZpbGUpIGZvciBmaWxlIGluIG9zLmxpc3RkaXIoZGlyKV0gZm9yIGRp
ciBpbiBzb3VyY2VfZGlyc10sIFtdKQorICAgIHJldHVybiBmaWx0ZXIoZmlsZV9zaG91bGRfYmVf
aWdub3JlZCwgYWxsX2ZpbGVzKQorCitkZWYgZ2V0X2dlbmVyYXRvcl9mb3JfY29uZmlnKGNvbmZp
Z19maWxlLCB2aXJ0dWFsX3Jvb3QsIGNyb3NzX3JlZmVyZW5jZV9kZXBzID0gW10pOgorICAgIGlm
IG5vdCBvcy5wYXRoLmlzZmlsZShjb25maWdfZmlsZSk6CisgICAgICAgIHJldHVybiBOb25lCisK
KyAgICBjb25maWcgPSBTYWZlQ29uZmlnUGFyc2VyKCkKKyAgICBjb25maWcucmVhZChjb25maWdf
ZmlsZSkKKyAgICBtb2R1bGVfbmFtZSA9IGNvbmZpZy5zZWN0aW9ucygpWzBdCisgICAgcGtnY29u
ZmlnX2ZpbGUgPSBjb25maWcuZ2V0KG1vZHVsZV9uYW1lLCAncGtnY29uZmlnX2ZpbGUnKQorCisg
ICAgaWYgbm90IG9zLnBhdGguaXNmaWxlKHBrZ2NvbmZpZ19maWxlKToKKyAgICAgICAgcmV0dXJu
IE5vbmUKKworICAgIHNvdXJjZV9kaXJzID0gY29uZmlnLmdldChtb2R1bGVfbmFtZSwgJ3NvdXJj
ZV9kaXJzJykucmVwbGFjZSgnOycsICcgJykuc3BsaXQoKQorICAgIGhlYWRlcnMgPSBbb3MucGF0
aC5hYnNwYXRoKGYpIGZvciBmIGluIGNvbmZpZy5nZXQobW9kdWxlX25hbWUsICdoZWFkZXJzJyku
cmVwbGFjZSgnOycsICcgJykuc3BsaXQoKV0KKyAgICByZXR1cm4gZ3RrZG9jLlBrZ0NvbmZpZ0dU
S0RvYyhwa2djb25maWdfZmlsZSwgeworICAgICAgICAnZGVjb3JhdG9yJzogY29uZmlnLmdldCht
b2R1bGVfbmFtZSwgJ2RlY29yYXRvcicpLAorICAgICAgICAnZGVwcmVjYXRpb25fZ3VhcmQnOiBj
b25maWcuZ2V0KG1vZHVsZV9uYW1lLCAnZGVwcmVjYXRpb25fZ3VhcmQnKSwKKyAgICAgICAgJ2xp
YnJhcnlfcGF0aCc6IGNvbW1vbi5saWJyYXJ5X2J1aWxkX3BhdGgoKSwKKyAgICAgICAgJ3ZpcnR1
YWxfcm9vdCc6IHZpcnR1YWxfcm9vdCwKKyAgICAgICAgJ21vZHVsZV9uYW1lJzogbW9kdWxlX25h
bWUsCisgICAgICAgICduYW1lc3BhY2UnOiBjb25maWcuZ2V0KG1vZHVsZV9uYW1lLCAnbmFtZXNw
YWNlJyksCisgICAgICAgICdkb2NfZGlyJzogY29uZmlnLmdldChtb2R1bGVfbmFtZSwgJ2RvY19k
aXInKSwKKyAgICAgICAgJ291dHB1dF9kaXInOiBjb21tb24uYnVpbGRfcGF0aCgnRG9jdW1lbnRh
dGlvbicsIG1vZHVsZV9uYW1lKSwKKyAgICAgICAgJ21haW5fc2dtbF9maWxlJzogY29uZmlnLmdl
dChtb2R1bGVfbmFtZSwgJ21haW5fc2dtbF9maWxlJyksCisgICAgICAgICdzb3VyY2VfZGlycyc6
IHNvdXJjZV9kaXJzLAorICAgICAgICAnaGVhZGVycyc6IGhlYWRlcnMsCisgICAgICAgICdjZmxh
Z3MnOiAiICIuam9pbihjb25maWcuZ2V0KG1vZHVsZV9uYW1lLCAnY2ZsYWdzJykuc3BsaXQoKSks
CisgICAgICAgICdjcm9zc19yZWZlcmVuY2VfZGVwcyc6IGdldF9ndGtkb2NfbW9kdWxlX3BhdGhz
KGNyb3NzX3JlZmVyZW5jZV9kZXBzKSwKKyAgICAgICAgJ2lnbm9yZWRfZmlsZXMnOiBmaWxlc190
b19pZ25vcmUoc291cmNlX2RpcnMsIGhlYWRlcnMpLAorICAgIH0pCisKK2RlZiBnZW5lcmF0ZV9k
b2MoZ2VuZXJhdG9yLCBza2lwX2h0bWwpOgorICAgIGdlbmVyYXRvci5nZW5lcmF0ZShub3Qgc2tp
cF9odG1sKQorICAgIGlmIGdlbmVyYXRvci5zYXdfd2FybmluZ3M6CisgICAgICAgIHByaW50X21p
c3NpbmdfYXBpKGdlbmVyYXRvcikKKyAgICByZXR1cm4gZ2VuZXJhdG9yLnNhd193YXJuaW5ncwor
CitkZWYgcmViYXNlX2RvYyhnZW5lcmF0b3IpOgorICAgIHRyeToKKyAgICAgICAgZ2VuZXJhdG9y
LnJlYmFzZV9pbnN0YWxsZWRfZG9jcygpCisgICAgZXhjZXB0IEV4Y2VwdGlvbjoKKyAgICAgICAg
cHJpbnQoIlJlYmFzZSBkaWQgbm90IGhhcHBlbiwgbGlrZWx5IG5vIGRvY3VtZW50YXRpb24gaXMg
cHJlc2VudC4iKQorCitkZWYgZ2VuZXJhdGVfZG9jdW1lbnRhdGlvbihnZW5lcmF0b3IpOgorICAg
IGlmIG5vdCBhcmd1bWVudHMucmViYXNlOgorICAgICAgICByZXR1cm4gZ2VuZXJhdGVfZG9jKGdl
bmVyYXRvciwgYXJndW1lbnRzLnNraXBfaHRtbCkKKworICAgIHJlYmFzZV9kb2MoZ2VuZXJhdG9y
KQorICAgIHJldHVybiBGYWxzZQorCitkZWYgcHJlcGFyZV9lbnZpcm9ubWVudF9mb3JfZ3RrZG9j
X2dlbmVyYXRpb24oKToKKyAgICAjIFdlIG5lZWQgdG8gYWRkIHRoZSBKYXZhU2NyaXB0Q29yZSBi
dWlsZCBkaXJlY3RvcnkgdG8gdGhlIFBLR19DT05GSUdfUEFUSAorICAgICMgc28gdGhhdCBwa2dj
b25maWcgY2FuIHByb3Blcmx5IHJlc29sdmUgdGhlIGxpYmphdmFzY3JpcHRjb3JlIGRlcGVuZGVu
Y3kuCisgICAgcGtnX2NvbmZpZ19wYXRoID0gb3MuZW52aXJvbi5nZXQoIlBLR19DT05GSUdfUEFU
SCIpCisgICAgb3MuZW52aXJvblsnUEtHX0NPTkZJR19QQVRIJ10gPSBjb21tb24uYnVpbGRfcGF0
aCgnU291cmNlJywgJ0phdmFTY3JpcHRDb3JlJykKKyAgICBpZiBwa2dfY29uZmlnX3BhdGg6Cisg
ICAgICAgIG9zLmVudmlyb25bJ1BLR19DT05GSUdfUEFUSCddICs9ICc6JyArIHBrZ19jb25maWdf
cGF0aAorCisgICAgIyBOZXdlciB2ZXJzaW9ucyBvZiBnbGliIGhhdmUgZGVwcmVjYXRlZCBnX3R5
cGVfaW5pdCwgc28gd2UgbmVlZCB0byBkaXNhYmxlCisgICAgIyB0aGF0IHdhcm5pbmcgd2hlbiBy
dW5uaW5nIGd0a2RvYy1zY2Fub2JqIGJ5IG92ZXJyaWRpbmcgdGhlIENGTEFHUyB3ZSB1c2UKKyAg
ICAjIHRvIGNvbXBpbGUgaXQuCisgICAgY2ZsYWdzID0gb3MuZW52aXJvbi5nZXQoJ0NGTEFHUycs
ICcnKQorICAgIGNmbGFncyArPSAnIC1ER0xJQl9WRVJTSU9OX01JTl9SRVFVSVJFRD1HTElCX1ZF
UlNJT05fMl8zMicKKworICAgICMgSW4gbm9uLXg4NiBhcmNoaXRlY3R1cmVzLCB3aGVuIGEgcG9p
bnRlciBpcyBjYXN0IHRvICh2b2lkKikgYW5kCisgICAgIyBiYWNrLCB0aGUgY29tcGlsZXIgdGhp
bmtzIHRoYXQgdGhlIGFsaWdubWVudCBpcyByYW5kb20uIFNpbmNlCisgICAgIyBndGtkb2MgYnVp
bGQgaXMgYnJva2VuIGF0IGFueSB3YXJuaW5nIG1lc3NhZ2UsIGl0IGlzIGJldHRlciB0bworICAg
ICMgc2lsZW5jZSB0aGVzZSBmYWxzZSBwb3NpdGl2ZXMuCisgICAgY2ZsYWdzICs9ICcgLVduby1j
YXN0LWFsaWduJworICAgIG9zLmVudmlyb25bJ0NGTEFHUyddID0gY2ZsYWdzCisKKyAgICAjIFBh
dGhzIGZyb20gdGhlIEdOVW1ha2VmaWxlIGdlbmVyYXRlZCBjb25maWd1cmF0aW9uIGZpbGVzIGFy
ZSByZWxhdGl2ZSB0byB0aGUgYnVpbGQgZGlyZWN0b3J5LgorICAgIG9zLmNoZGlyKGNvbW1vbi5i
dWlsZF9wYXRoKCkpCisKK2RlZiBidWlsZF9ndGtkb2NfZm9yX3dwZShhcmd1bWVudHMpOgorICAg
IHdwZV9nZW5lcmF0b3IgPSBnZXRfZ2VuZXJhdG9yX2Zvcl9jb25maWcoY29tbW9uLmJ1aWxkX3Bh
dGgoJ2d0a2RvYy13cGUuY2ZnJyksIGFyZ3VtZW50cy52aXJ0dWFsX3Jvb3QpCisgICAgaWYgbm90
IHdwZV9nZW5lcmF0b3I6CisgICAgICAgIHByaW50KCJndGtkb2Mtd3BlLmNmZyBkb2VzIG5vdCBl
eGlzdCEgU2tpcHBpbmcgdGhhdCBkb2N1bWVudGF0aW9uIikKKyAgICAgICAgc3lzLmV4aXQoMSkK
KyAgICBzYXdfd2FybmluZ3MgPSBnZW5lcmF0ZV9kb2N1bWVudGF0aW9uKHdwZV9nZW5lcmF0b3Ip
CisgICAgc3lzLmV4aXQoc2F3X3dhcm5pbmdzKQorCitkZWYgYnVpbGRfZ3RrZG9jX2Zvcl93a2d0
ayhhcmd1bWVudHMpOgorICAgIGpzY19nZW5lcmF0b3IgPSBnZXRfZ2VuZXJhdG9yX2Zvcl9jb25m
aWcoY29tbW9uLmJ1aWxkX3BhdGgoJ2d0a2RvYy1qc2MtZ2xpYi5jZmcnKSwgYXJndW1lbnRzLnZp
cnR1YWxfcm9vdCkKKyAgICBpZiBub3QganNjX2dlbmVyYXRvcjoKKyAgICAgICAgcHJpbnQoImd0
a2RvYy1qc2MtZ2xpYi5jZmcgZG9lcyBub3QgZXhpc3QhIFNraXBwaW5nIHRoYXQgZG9jdW1lbnRh
dGlvbiIpCisgICAgICAgIHN5cy5leGl0KDEpCisgICAgc2F3X3dhcm5pbmdzID0gZ2VuZXJhdGVf
ZG9jdW1lbnRhdGlvbihqc2NfZ2VuZXJhdG9yKQorICAgIGlmIHNhd193YXJuaW5nczoKKyAgICAg
ICAgc3lzLmV4aXQoc2F3X3dhcm5pbmdzKQorCisgICAgd2Via2l0ZG9tX2dlbmVyYXRvciA9IGdl
dF9nZW5lcmF0b3JfZm9yX2NvbmZpZyhjb21tb24uYnVpbGRfcGF0aCgnZ3RrZG9jLXdlYmtpdGRv
bS5jZmcnKSwgYXJndW1lbnRzLnZpcnR1YWxfcm9vdCwgW2pzY19nZW5lcmF0b3IubW9kdWxlX25h
bWVdKQorICAgIGlmIG5vdCB3ZWJraXRkb21fZ2VuZXJhdG9yOgorICAgICAgICBwcmludCgiZ3Rr
ZG9jLXdlYmtpdGRvbS5jZmcgZG9lcyBub3QgZXhpc3QhIFNraXBwaW5nIHRoYXQgZG9jdW1lbnRh
dGlvbiIpCisgICAgICAgIHN5cy5leGl0KDEpCisgICAgc2F3X3dhcm5pbmdzID0gZ2VuZXJhdGVf
ZG9jdW1lbnRhdGlvbih3ZWJraXRkb21fZ2VuZXJhdG9yKQorICAgIGlmIHNhd193YXJuaW5nczoK
KyAgICAgICAgc3lzLmV4aXQoc2F3X3dhcm5pbmdzKQorCisgICAgd2Via2l0Ml9nZW5lcmF0b3Ig
PSBnZXRfZ2VuZXJhdG9yX2Zvcl9jb25maWcoY29tbW9uLmJ1aWxkX3BhdGgoJ2d0a2RvYy13ZWJr
aXQyZ3RrLmNmZycpLCBhcmd1bWVudHMudmlydHVhbF9yb290LCBbd2Via2l0ZG9tX2dlbmVyYXRv
ci5tb2R1bGVfbmFtZSwganNjX2dlbmVyYXRvci5tb2R1bGVfbmFtZV0pCisgICAgaWYgbm90IHdl
YmtpdDJfZ2VuZXJhdG9yOgorICAgICAgICBwcmludCgiZ3RrZG9jLXdlYmtpdDJndGsuY2ZnIGRv
ZXMgbm90IGV4aXN0ISBTa2lwcGluZyB0aGF0IGRvY3VtZW50YXRpb24iKQorICAgICAgICBzeXMu
ZXhpdCgxKQorICAgIHNhd193YXJuaW5ncyA9IGdlbmVyYXRlX2RvY3VtZW50YXRpb24od2Via2l0
Ml9nZW5lcmF0b3IpCisgICAgc3lzLmV4aXQoc2F3X3dhcm5pbmdzKQorCitpZiBfX25hbWVfXyA9
PSAiX19tYWluX18iOgorICAgIHBhcnNlciA9IGFyZ3BhcnNlLkFyZ3VtZW50UGFyc2VyKGRlc2Ny
aXB0aW9uPSdHZW5lcmF0ZSBndGtkb2MgZm9yIFdlYktpdC4nKQorICAgIHBhcnNlci5hZGRfYXJn
dW1lbnQoJy12JywgJy0tdmVyYm9zZScsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsCisgICAgICAgICAg
ICAgICAgICAgICAgICBoZWxwPSdXaGV0aGVyIG9yIG5vdCB0byBydW4gaW4gdmVyYm9zZSBtb2Rl
LicpCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1yZWJhc2UnLCBhY3Rpb249J3N0b3JlX3Ry
dWUnLAorICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0nV2hlbiBzcGVjaWZpZWQsIHJ1biB0
aGUgdG9vbCBpbiByZWJhc2UgbW9kZS4nKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy0tc2tp
cC1odG1sJywgYWN0aW9uPSdzdG9yZV90cnVlJywKKyAgICAgICAgICAgICAgICAgICAgICAgIGhl
bHA9J1doZXRoZXIgb3Igbm90IHRvIHNraXAgSFRNTCBnZW5lcmF0aW9uLCB3aGljaCBjYW4gYmUg
c2xvdy4nKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy0tdmlydHVhbC1yb290JywgdHlwZT1z
dHIsIGRlZmF1bHQ9JycsCisgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdBIHRlbXBvcmFy
eSBpbnN0YWxsYXRpb24gZGlyZWN0b3J5IHdoaWNoIGlzIHVzZWQgYXMgdGhlIHJvb3QgJyArIFwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3doZXJlIHRoZSBhY3R1YWwgaW5zdGFsbGF0
aW9uIHByZWZpeCBsaXZlczsgdGhpcyBpcyBtb3N0bHkgJyArIFwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJ3VzZWZ1bCBmb3IgcGFja2FnZXJzLCBhbmQgc2hvdWxkIGJlIHNldCB0byB3
aGF0IGlzIGdpdmVuIHRvICcgKyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtYWtl
IGluc3RhbGwgYXMgREVTVERJUi4nKQorCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1ndGsn
LCBhY3Rpb249J3N0b3JlX3RydWUnLAorICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0nQnVp
bGQgZG9jdW1lbnRhdGlvbiBmb3IgV2ViS2l0R1RLKycpCisgICAgcGFyc2VyLmFkZF9hcmd1bWVu
dCgnLS13cGUnLCBhY3Rpb249J3N0b3JlX3RydWUnLAorICAgICAgICAgICAgICAgICAgICAgICAg
aGVscD0nQnVpbGQgZG9jdW1lbnRhdGlvbiBmb3IgV1BFJykKKworICAgIGFyZ3VtZW50cyA9IHBh
cnNlci5wYXJzZV9hcmdzKCkKKyAgICBjb25maWd1cmVfbG9nZ2luZyhhcmd1bWVudHMudmVyYm9z
ZSkKKworICAgIHByZXBhcmVfZW52aXJvbm1lbnRfZm9yX2d0a2RvY19nZW5lcmF0aW9uKCkKKwor
ICAgIGlmIGFyZ3VtZW50cy53cGU6CisgICAgICAgIGJ1aWxkX2d0a2RvY19mb3Jfd3BlKGFyZ3Vt
ZW50cykKKyAgICBlbGlmIGFyZ3VtZW50cy5ndGs6CisgICAgICAgIGJ1aWxkX2d0a2RvY19mb3Jf
d2tndGsoYXJndW1lbnRzKQorICAgIGVsc2U6CisgICAgICAgIHByaW50KCdQbGVhc2UgY2hvb3Nl
IGEgV2ViS2l0IHBvcnQgd2l0aCAtLWd0ayBvciAtLXdwZScpCisgICAgICAgIHN5cy5leGl0KDEp
CmRpZmYgLS1naXQgYS9Ub29scy9ndGtkb2MvZ3RrZG9jLnB5IGIvVG9vbHMvZ3RrZG9jL2d0a2Rv
Yy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi40Nzk2ODQ0NmNjNTQ4Y2ZhNmE5Y2ZjYzE5ZTVkYTM0MzIzZGE4NjBh
Ci0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvZ3RrZG9jL2d0a2RvYy5weQpAQCAtMCwwICsxLDQ1
NSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTEgSWdhbGlhIFMuTC4KKyMKKyMgVGhpcyBsaWJyYXJ5
IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorIyBtb2Rp
ZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisj
IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp
dGhlcgorIyB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55
IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg
aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7
IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkg
b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorIyBMZXNz
ZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworIyBZb3Ugc2hv
dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGlj
CisjIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhl
IEZyZWUgU29mdHdhcmUKKyMgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBG
aWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCisKK2ltcG9ydCBjb2RlY3MK
K2ltcG9ydCBlcnJubworaW1wb3J0IGxvZ2dpbmcKK2ltcG9ydCBvcworaW1wb3J0IG9zLnBhdGgK
K2ltcG9ydCBzdWJwcm9jZXNzCitpbXBvcnQgc3lzCisKKworY2xhc3MgR1RLRG9jKG9iamVjdCk6
CisKKyAgICAiIiJDbGFzcyB0aGF0IGNvbnRyb2xzIGEgZ3RrZG9jIHJ1bi4KKworICAgIEVhY2gg
aW5zdGFuY2Ugb2YgdGhpcyBjbGFzcyByZXByZXNlbnRzIG9uZSBndGtkb2MgY29uZmlndXJhdGlv
bgorICAgIGFuZCBzZXQgb2YgZG9jdW1lbnRhdGlvbi4gVGhlIGd0a2RvYyBwYWNrYWdlIGlzIGEg
c2VyaWVzIG9mIHRvb2xzCisgICAgcnVuIGNvbnNlY3V0aXZlbHkgd2hpY2ggY29udmVydHMgaW5s
aW5lIEMvQysrIGRvY3VtZW50YXRpb24gaW50bworICAgIGRvY2Jvb2sgZmlsZXMgYW5kIHRoZW4g
aW50byBIVE1MLiBUaGlzIGNsYXNzIGlzIHN1aXRhYmxlIGZvcgorICAgIGdlbmVyYXRpbmcgZG9j
dW1lbnRhdGlvbiBvciBzaW1wbHkgdmVyaWZ5aW5nIGNvcnJlY3RuZXNzLgorCisgICAgS2V5d29y
ZCBhcmd1bWVudHM6CisgICAgb3V0cHV0X2RpciAgICAgICAgIC0tIFRoZSBwYXRoIHdoZXJlIGd0
a2RvYyBvdXRwdXQgc2hvdWxkIGJlIHBsYWNlZC4gR2VuZXJhdGlvbgorICAgICAgICAgICAgICAg
ICAgICAgICAgICBtYXkgb3ZlcndyaXRlIGZpbGUgaW4gdGhpcyBkaXJlY3RvcnkuIFJlcXVpcmVk
LgorICAgIG1vZHVsZV9uYW1lICAgICAgICAtLSBUaGUgbmFtZSBvZiB0aGUgZG9jdW1lbnRhdGlv
biBtb2R1bGUuIEZvciBsaWJyYXJpZXMgdGhpcworICAgICAgICAgICAgICAgICAgICAgICAgICBp
cyB0eXBpY2FsbHkgdGhlIGxpYnJhcnkgbmFtZS4gUmVxdWlyZWQgaWYgbm90IGxpYnJhcnkgcGF0
aAorICAgICAgICAgICAgICAgICAgICAgICAgICBpcyBnaXZlbi4KKyAgICBzb3VyY2VfZGlycyAg
ICAgICAgLS0gQSBsaXN0IG9mIHBhdGhzIHRvIGRpcmVjdG9yaWVzIG9mIHNvdXJjZSBjb2RlIHRv
IGJlIHNjYW5uZWQuCisgICAgICAgICAgICAgICAgICAgICAgICAgIFJlcXVpcmVkIGlmIGhlYWRl
cnMgaXMgbm90IHNwZWNpZmllZC4KKyAgICBpZ25vcmVkX2ZpbGVzICAgICAgLS0gQSBsaXN0IG9m
IGZpbGVuYW1lcyB0byBpZ25vcmUgaW4gdGhlIHNvdXJjZSBkaXJlY3RvcnkuIEl0IGlzCisgICAg
ICAgICAgICAgICAgICAgICAgICAgIG9ubHkgbmVjZXNzYXJ5IHRvIHByb3ZpZGUgdGhlIGJhc2Vu
YW1lcyBvZiB0aGVzZSBmaWxlcy4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgVHlwaWNhbGx5
IGl0IGlzIGltcG9ydGFudCB0byBwcm92aWRlIGFuIHVwZGF0ZWQgbGlzdCBvZgorICAgICAgICAg
ICAgICAgICAgICAgICAgICBpZ25vcmVkIGZpbGVzIHRvIHByZXZlbnQgd2FybmluZ3MgYWJvdXQg
dW5kb2N1bWVudGVkIHN5bWJvbHMuCisgICAgaGVhZGVycyAgICAgICAgICAgIC0tIEEgbGlzdCBv
ZiBwYXRocyB0byBoZWFkZXJzIHRvIGJlIHNjYW5uZWQuIFJlcXVpcmVkIGlmIHNvdXJjZV9kaXJz
CisgICAgICAgICAgICAgICAgICAgICAgICAgIGlzIG5vdCBzcGVjaWZpZWQuCisgICAgbmFtZXNw
YWNlICAgICAgICAgIC0tIFRoZSBsaWJyYXJ5IG5hbWVzcGFjZS4KKyAgICBkZWNvcmF0b3IgICAg
ICAgICAgLS0gSWYgYSBkZWNvcmF0b3IgaXMgdXNlZCB0byB1bmhpZGUgY2VydGFpbiBzeW1ib2xz
IGluIGhlYWRlcgorICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlcyB0aGlzIHBhcmFtZXRl
ciBpcyByZXF1aXJlZCBmb3Igc3VjY2Vzc2Z1bCBzY2FubmluZy4KKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgKGRlZmF1bHQgJycpCisgICAgZGVwcmVjYXRpb25fZ3VhcmQgIC0tIGd0a2RvYyB0
cmllcyB0byBlbnN1cmUgdGhhdCBzeW1ib2xzIG1hcmtlZCBhcyBkZXByZWNhdGVkCisgICAgICAg
ICAgICAgICAgICAgICAgICAgIGFyZSBlbmNhc2VkIGluIHRoaXMgQyBwcmVwcm9jZXNzb3IgZGVm
aW5lLiBUaGlzIGlzIHJlcXVpcmVkCisgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGF2b2lk
IGd0a2RvYyB3YXJuaW5ncy4gKGRlZmF1bHQgJycpCisgICAgY2ZsYWdzICAgICAgICAgICAgIC0t
IFRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyBhbnkgcHJlcHJvY2Vzc29yIGZsYWdzIG5lY2Vzc2Fy
eSBmb3IKKyAgICAgICAgICAgICAgICAgICAgICAgICAgYnVpbGRpbmcgdGhlIHNjYW5uZXIgYmlu
YXJ5IGR1cmluZyBndGtkb2Mtc2Nhbm9iai4gVHlwaWNhbGx5CisgICAgICAgICAgICAgICAgICAg
ICAgICAgIHRoaXMgaW5jbHVkZXMgYWxsIGFic29sdXRlIGluY2x1ZGUgcGF0aHMgbmVjZXNzYXJ5
IHRvIHJlc29sdmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgYWxsIGhlYWRlciBkZXBlbmRl
bmNpZXMuIChkZWZhdWx0ICcnKQorICAgIGxkZmxhZ3MgICAgICAgICAgICAtLSBUaGlzIHBhcmFt
ZXRlciBzcGVjaWZpZXMgYW55IGxpbmtlciBmbGFncyBuZWNlc3NhcnkgZm9yCisgICAgICAgICAg
ICAgICAgICAgICAgICAgIGJ1aWxkaW5nIHRoZSBzY2FubmVyIGJpbmFyeSBkdXJpbmcgZ3RrZG9j
LXNjYW5vYmouIFR5cGljYWxseQorICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzIGluY2x1
ZGVzICItbHlvdXJsaWJyYXJ5bmFtZSIuIChkZWZhdWx0ICcnKQorICAgIGxpYnJhcnlfcGF0aCAg
ICAgICAtLSBUaGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIHBhdGggdG8gdGhlIGRpcmVjdG9y
eSB3aGVyZSB5b3UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgbGlicmFyeSByZXNpZGVzIHVz
ZWQgZm9yIGJ1aWxkaW5nIHRoZSBzY2FubmVyIGJpbmFyeSBkdXJpbmcKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgZ3RrZG9jLXNjYW5vYmouIChkZWZhdWx0ICcnKQorCisgICAgZG9jX2RpciAg
ICAgICAgICAgIC0tIFRoZSBwYXRoIHRvIG90aGVyIGRvY3VtZW50YXRpb24gZmlsZXMgbmVjZXNz
YXJ5IHRvIGJ1aWxkCisgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBkb2N1bWVudGF0aW9u
LiBUaGlzIGZpbGVzIGluIHRoaXMgZGlyZWN0b3J5IGFzIHdlbGwgYXMKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgdGhlIGZpbGVzIGluIHRoZSAnaHRtbCcgc3ViZGlyZWN0b3J5IHdpbGwgYmUg
Y29waWVkCisgICAgICAgICAgICAgICAgICAgICAgICAgIHJlY3Vyc2l2ZWx5IGludG8gdGhlIG91
dHB1dCBkaXJlY3RvcnkuIChkZWZhdWx0ICcnKQorICAgIG1haW5fc2dtbF9maWxlICAgICAtLSBU
aGUgcGF0aCBvciBuYW1lIChpZiBhIGRvY19kaXIgaXMgZ2l2ZW4pIG9mIHRoZSBTR01MIGZpbGUK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgdGhhdCBpcyB0aGUgY29uc2lkZXJlZCB0aGUgbWFp
biBwYWdlIG9mIHlvdXIgZG9jdW1lbnRhdGlvbi4KKyAgICAgICAgICAgICAgICAgICAgICAgICAg
KGRlZmF1bHQ6IDxtb2R1bGVfbmFtZT4tZG9jcy5zZ21sKQorICAgIHZlcnNpb24gICAgICAgICAg
ICAtLSBUaGUgdmVyc2lvbiBudW1iZXIgb2YgdGhlIG1vZHVsZS4gSWYgdGhpcyBpcyBwcm92aWRl
ZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgYSB2ZXJzaW9uLnhtbCBmaWxlIGNvbnRhaW5p
bmcgdGhlIHZlcnNpb24gd2lsbCBiZSBjcmVhdGVkCisgICAgICAgICAgICAgICAgICAgICAgICAg
IGluIHRoZSBvdXRwdXQgZGlyZWN0b3J5IGR1cmluZyBkb2N1bWVudGF0aW9uIGdlbmVyYXRpb24u
CisKKyAgICBpbnRlcmFjdGl2ZSAgICAgICAgLS0gV2hldGhlciBvciBub3QgZXJyb3JzIG9yIHdh
cm5pbmdzIHNob3VsZCBwcm9tcHQgdGhlIHVzZXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
dG8gY29udGludWUgb3Igbm90LiBXaGVuIHRoaXMgdmFsdWUgaXMgZmFsc2UsIGdlbmVyYXRpb24K
KyAgICAgICAgICAgICAgICAgICAgICAgICAgd2lsbCBjb250aW51ZSBkZXNwaXRlIHdhcm5pbmdz
LiAoZGVmYXVsdCBGYWxzZSkKKworICAgIHZpcnR1YWxfcm9vdCAgICAgICAtLSBBIHRlbXBvcmFy
eSBpbnN0YWxsYXRpb24gZGlyZWN0b3J5IHdoaWNoIGlzIHVzZWQgYXMgdGhlIHJvb3QKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgd2hlcmUgdGhlIGFjdHVhbCBpbnN0YWxsYXRpb24gcHJlZml4
IGxpdmVzOyB0aGlzIGlzIG1vc3RseQorICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VmdWwg
Zm9yIHBhY2thZ2VycywgYW5kIHNob3VsZCBiZSBzZXQgdG8gd2hhdCBpcyBnaXZlbiB0bworICAg
ICAgICAgICAgICAgICAgICAgICAgICBtYWtlIGluc3RhbGwgYXMgREVTVERJUi4KKyAgICAiIiIK
KworICAgIGRlZiBfX2luaXRfXyhzZWxmLCBhcmdzKToKKyAgICAgICAgc2VsZi52ZXJzaW9uID0g
JycKKyAgICAgICAgc2VsZi52aXJ0dWFsX3Jvb3QgPSAnJworICAgICAgICBzZWxmLnByZWZpeCA9
ICcnCisKKyAgICAgICAgIyBQYXJhbWV0ZXJzIHNwZWNpZmljIHRvIHNjYW5uaW5nLgorICAgICAg
ICBzZWxmLm1vZHVsZV9uYW1lID0gJycKKyAgICAgICAgc2VsZi5zb3VyY2VfZGlycyA9IFtdCisg
ICAgICAgIHNlbGYuaGVhZGVycyA9IFtdCisgICAgICAgIHNlbGYuaWdub3JlZF9maWxlcyA9IFtd
CisgICAgICAgIHNlbGYubmFtZXNwYWNlID0gJycKKyAgICAgICAgc2VsZi5kZWNvcmF0b3IgPSAn
JworICAgICAgICBzZWxmLmRlcHJlY2F0aW9uX2d1YXJkID0gJycKKworICAgICAgICAjIFBhcmFt
ZXRlcnMgc3BlY2lmaWMgdG8gZ3RrZG9jLXNjYW5vYmouCisgICAgICAgIHNlbGYuY2ZsYWdzID0g
JycKKyAgICAgICAgc2VsZi5sZGZsYWdzID0gJycKKyAgICAgICAgc2VsZi5saWJyYXJ5X3BhdGgg
PSAnJworCisgICAgICAgICMgUGFyYW1ldGVycyBzcGVjaWZpYyB0byBnZW5lcmF0aW9uLgorICAg
ICAgICBzZWxmLm91dHB1dF9kaXIgPSAnJworICAgICAgICBzZWxmLmRvY19kaXIgPSAnJworICAg
ICAgICBzZWxmLm1haW5fc2dtbF9maWxlID0gJycKKworICAgICAgICAjIFBhcmFtZXRlcnMgc3Bl
Y2lmaWMgdG8gZ3RrZG9jLWZpeHhyZWYuCisgICAgICAgIHNlbGYuY3Jvc3NfcmVmZXJlbmNlX2Rl
cHMgPSBbXQorCisgICAgICAgIHNlbGYuaW50ZXJhY3RpdmUgPSBGYWxzZQorCisgICAgICAgIHNl
bGYubG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoJ2d0a2RvYycpCisKKyAgICAgICAgZm9yIGtl
eSwgdmFsdWUgaW4gaXRlcihhcmdzLml0ZW1zKCkpOgorICAgICAgICAgICAgc2V0YXR0cihzZWxm
LCBrZXksIHZhbHVlKQorCisgICAgICAgIGlmIG5vdCBnZXRhdHRyKHNlbGYsICdvdXRwdXRfZGly
Jyk6CisgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oJ291dHB1dF9kaXIgbm90IHNwZWNpZmll
ZC4nKQorICAgICAgICBpZiBub3QgZ2V0YXR0cihzZWxmLCAnbW9kdWxlX25hbWUnKToKKyAgICAg
ICAgICAgIHJhaXNlIEV4Y2VwdGlvbignbW9kdWxlX25hbWUgbm90IHNwZWNpZmllZC4nKQorICAg
ICAgICBpZiBub3QgZ2V0YXR0cihzZWxmLCAnc291cmNlX2RpcnMnKSBhbmQgbm90IGdldGF0dHIo
c2VsZiwgJ2hlYWRlcnMnKToKKyAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbignTmVpdGhlciBz
b3VyY2VfZGlycyBub3IgaGVhZGVycyBzcGVjaWZpZWQuJyAlIGtleSkKKworICAgICAgICAjIE1h
a2UgYWxsIHBhdGhzIGFic29sdXRlIGluIGNhc2Ugd2Ugd2VyZSBwYXNzZWQgcmVsYXRpdmUgcGF0
aHMsIHNpbmNlCisgICAgICAgICMgd2UgY2hhbmdlIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0
b3J5IHdoZW4gZXhlY3V0aW5nIHN1YmNvbW1hbmRzLgorICAgICAgICBzZWxmLm91dHB1dF9kaXIg
PSBvcy5wYXRoLmFic3BhdGgoc2VsZi5vdXRwdXRfZGlyKQorICAgICAgICBzZWxmLnNvdXJjZV9k
aXJzID0gW29zLnBhdGguYWJzcGF0aCh4KSBmb3IgeCBpbiBzZWxmLnNvdXJjZV9kaXJzXQorICAg
ICAgICBzZWxmLmhlYWRlcnMgPSBbb3MucGF0aC5hYnNwYXRoKHgpIGZvciB4IGluIHNlbGYuaGVh
ZGVyc10KKyAgICAgICAgaWYgc2VsZi5saWJyYXJ5X3BhdGg6CisgICAgICAgICAgICBzZWxmLmxp
YnJhcnlfcGF0aCA9IG9zLnBhdGguYWJzcGF0aChzZWxmLmxpYnJhcnlfcGF0aCkKKworICAgICAg
ICBpZiBub3Qgc2VsZi5tYWluX3NnbWxfZmlsZToKKyAgICAgICAgICAgIHNlbGYubWFpbl9zZ21s
X2ZpbGUgPSBzZWxmLm1vZHVsZV9uYW1lICsgIi1kb2NzLnNnbWwiCisKKyAgICBkZWYgZ2VuZXJh
dGUoc2VsZiwgaHRtbD1UcnVlKToKKyAgICAgICAgc2VsZi5zYXdfd2FybmluZ3MgPSBGYWxzZQor
CisgICAgICAgIHNlbGYuX2NvcHlfZG9jX2ZpbGVzX3RvX291dHB1dF9kaXIoaHRtbCkKKyAgICAg
ICAgc2VsZi5fd3JpdGVfdmVyc2lvbl94bWwoKQorICAgICAgICBzZWxmLl9ydW5fZ3RrZG9jX3Nj
YW4oKQorICAgICAgICBzZWxmLl9ydW5fZ3RrZG9jX3NjYW5nb2JqKCkKKyAgICAgICAgc2VsZi5f
cnVuX2d0a2RvY19ta2RiKCkKKworICAgICAgICBpZiBub3QgaHRtbDoKKyAgICAgICAgICAgIHJl
dHVybgorCisgICAgICAgIHNlbGYuX3J1bl9ndGtkb2NfbWtodG1sKCkKKyAgICAgICAgc2VsZi5f
cnVuX2d0a2RvY19maXh4cmVmKCkKKworICAgIGRlZiBfZGVsZXRlX2ZpbGVfaWZfZXhpc3RzKHNl
bGYsIHBhdGgpOgorICAgICAgICBpZiBub3Qgb3MuYWNjZXNzKHBhdGgsIG9zLkZfT0sgfCBvcy5S
X09LKToKKyAgICAgICAgICAgIHJldHVybgorICAgICAgICBzZWxmLmxvZ2dlci5kZWJ1ZygnZGVs
ZXRpbmcgJXMnLCBwYXRoKQorICAgICAgICBvcy51bmxpbmsocGF0aCkKKworICAgIGRlZiBfY3Jl
YXRlX2RpcmVjdG9yeV9pZl9ub25leGlzdGVudChzZWxmLCBwYXRoKToKKyAgICAgICAgdHJ5Ogor
ICAgICAgICAgICAgb3MubWFrZWRpcnMocGF0aCkKKyAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMg
ZXJyb3I6CisgICAgICAgICAgICBpZiBlcnJvci5lcnJubyAhPSBlcnJuby5FRVhJU1Q6CisgICAg
ICAgICAgICAgICAgcmFpc2UKKworICAgIGRlZiBfcmFpc2VfZXhjZXB0aW9uX2lmX2ZpbGVfaW5h
Y2Nlc3NpYmxlKHNlbGYsIHBhdGgpOgorICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMocGF0
aCkgb3Igbm90IG9zLmFjY2VzcyhwYXRoLCBvcy5SX09LKToKKyAgICAgICAgICAgIHJhaXNlIEV4
Y2VwdGlvbigiQ291bGQgbm90IGFjY2VzcyBmaWxlIGF0OiAlcyIgJSBwYXRoKQorCisgICAgZGVm
IF9vdXRwdXRfaGFzX3dhcm5pbmdzKHNlbGYsIG91dHB1dHMpOgorICAgICAgICBmb3Igb3V0cHV0
IGluIG91dHB1dHM6CisgICAgICAgICAgICBpZiBvdXRwdXQgYW5kIG91dHB1dC5maW5kKCd3YXJu
aW5nJyk6CisgICAgICAgICAgICAgICAgcmV0dXJuIFRydWUKKyAgICAgICAgcmV0dXJuIEZhbHNl
CisKKyAgICBkZWYgX2Fza195ZXNfb3Jfbm9fcXVlc3Rpb24oc2VsZiwgcXVlc3Rpb24pOgorICAg
ICAgICBpZiBub3Qgc2VsZi5pbnRlcmFjdGl2ZToKKyAgICAgICAgICAgIHJldHVybiBUcnVlCisK
KyAgICAgICAgcXVlc3Rpb24gKz0gJyBbeS9OXSAnCisgICAgICAgIGFuc3dlciA9IE5vbmUKKyAg
ICAgICAgd2hpbGUgYW5zd2VyICE9ICd5JyBhbmQgYW5zd2VyICE9ICduJyBhbmQgYW5zd2VyICE9
ICcnOgorICAgICAgICAgICAgYW5zd2VyID0gcmF3X2lucHV0KHF1ZXN0aW9uKS5sb3dlcigpCisg
ICAgICAgIHJldHVybiBhbnN3ZXIgPT0gJ3knCisKKyAgICBkZWYgX3J1bl9jb21tYW5kKHNlbGYs
IGFyZ3MsIGVudj1Ob25lLCBjd2Q9Tm9uZSwgcHJpbnRfb3V0cHV0PVRydWUsIGlnbm9yZV93YXJu
aW5ncz1GYWxzZSk6CisgICAgICAgIGlmIHByaW50X291dHB1dDoKKyAgICAgICAgICAgIHNlbGYu
bG9nZ2VyLmRlYnVnKCJSdW5uaW5nICVzIiwgYXJnc1swXSkKKyAgICAgICAgc2VsZi5sb2dnZXIu
ZGVidWcoIkZ1bGwgY29tbWFuZCBhcmdzOiAlcyIsIHN0cihhcmdzKSkKKworICAgICAgICBwcm9j
ZXNzID0gc3VicHJvY2Vzcy5Qb3BlbihhcmdzLCBlbnY9ZW52LCBjd2Q9Y3dkLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGRlcnI9c3VicHJvY2Vzcy5QSVBFKQorICAg
ICAgICBzdGRvdXQsIHN0ZGVyciA9IFtiLmRlY29kZSgidXRmLTgiKSBmb3IgYiBpbiBwcm9jZXNz
LmNvbW11bmljYXRlKCldCisKKyAgICAgICAgaWYgcHJpbnRfb3V0cHV0OgorICAgICAgICAgICAg
aWYgc3Rkb3V0OgorICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgc3lz
LnN0ZG91dC53cml0ZShzdGRvdXQuZW5jb2RlKCJ1dGYtOCIpKQorICAgICAgICAgICAgICAgIGV4
Y2VwdCBVbmljb2RlRGVjb2RlRXJyb3I6CisgICAgICAgICAgICAgICAgICAgIHN5cy5zdGRvdXQu
d3JpdGUoc3Rkb3V0KQorICAgICAgICAgICAgaWYgc3RkZXJyOgorICAgICAgICAgICAgICAgIHRy
eToKKyAgICAgICAgICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZShzdGRlcnIuZW5jb2RlKCJ1
dGYtOCIpKQorICAgICAgICAgICAgICAgIGV4Y2VwdCBVbmljb2RlRGVjb2RlRXJyb3I6CisgICAg
ICAgICAgICAgICAgICAgIHN5cy5zdGRlcnIud3JpdGUoc3RkZXJyKQorCisgICAgICAgIGlmIHBy
b2Nlc3MucmV0dXJuY29kZSAhPSAwOgorICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCclcyBw
cm9kdWNlZCBhIG5vbi16ZXJvIHJldHVybiBjb2RlICVpJworICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAlIChhcmdzWzBdLCBwcm9jZXNzLnJldHVybmNvZGUpKQorCisgICAgICAgIGlmIG5v
dCBpZ25vcmVfd2FybmluZ3MgYW5kICgnd2FybmluZycgaW4gc3RkZXJyIG9yICd3YXJuaW5nJyBp
biBzdGRvdXQpOgorICAgICAgICAgICAgc2VsZi5zYXdfd2FybmluZ3MgPSBUcnVlCisgICAgICAg
ICAgICBpZiBub3Qgc2VsZi5fYXNrX3llc19vcl9ub19xdWVzdGlvbignJXMgcHJvZHVjZWQgd2Fy
bmluZ3MsICcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICd0cnkgdG8gY29udGludWU/JyAlIGFyZ3NbMF0pOgorICAgICAgICAgICAgICAgIHJhaXNlIEV4
Y2VwdGlvbignJXMgc3RlcCBmYWlsZWQnICUgYXJnc1swXSkKKworICAgICAgICByZXR1cm4gc3Rk
b3V0LnN0cmlwKCkKKworICAgIGRlZiBfY29weV9kb2NfZmlsZXNfdG9fb3V0cHV0X2RpcihzZWxm
LCBodG1sPVRydWUpOgorICAgICAgICBpZiBub3Qgc2VsZi5kb2NfZGlyOgorICAgICAgICAgICAg
c2VsZi5sb2dnZXIuaW5mbygnTm90IGNvcHlpbmcgYW55IGZpbGVzIGZyb20gZG9jIGRpcmVjdG9y
eSwnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgYmVjYXVzZSBubyBkb2MgZGlyZWN0
b3J5IGdpdmVuLicpCisgICAgICAgICAgICByZXR1cm4KKworICAgICAgICBkZWYgY29weV9maWxl
X3JlcGxhY2luZ19leGlzdGluZyhzcmMsIGRlc3QpOgorICAgICAgICAgICAgaWYgb3MucGF0aC5p
c2RpcihzcmMpOgorICAgICAgICAgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCdza2lwcGVkIGRp
cmVjdG9yeSAlcycsICBzcmMpCisgICAgICAgICAgICAgICAgcmV0dXJuCisgICAgICAgICAgICBp
ZiBub3Qgb3MuYWNjZXNzKHNyYywgb3MuRl9PSyB8IG9zLlJfT0spOgorICAgICAgICAgICAgICAg
IHNlbGYubG9nZ2VyLmRlYnVnKCdza2lwcGVkIHVucmVhZGFibGUgJXMnLCBzcmMpCisgICAgICAg
ICAgICAgICAgcmV0dXJuCisKKyAgICAgICAgICAgIHNlbGYuX2RlbGV0ZV9maWxlX2lmX2V4aXN0
cyhkZXN0KQorCisgICAgICAgICAgICBzZWxmLmxvZ2dlci5kZWJ1ZygnY3JlYXRlZCAlcycsIGRl
c3QpCisgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgb3MubGluayhzcmMsIGRlc3Qp
CisgICAgICAgICAgICBleGNlcHQgT1NFcnJvcjoKKyAgICAgICAgICAgICAgICBvcy5zeW1saW5r
KHNyYywgZGVzdCkKKworICAgICAgICBkZWYgY29weV9hbGxfZmlsZXNfaW5fZGlyZWN0b3J5KHNy
YywgZGVzdCk6CisgICAgICAgICAgICBmb3IgcGF0aCBpbiBvcy5saXN0ZGlyKHNyYyk6CisgICAg
ICAgICAgICAgICAgY29weV9maWxlX3JlcGxhY2luZ19leGlzdGluZyhvcy5wYXRoLmpvaW4oc3Jj
LCBwYXRoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9z
LnBhdGguam9pbihkZXN0LCBwYXRoKSkKKworICAgICAgICBzZWxmLmxvZ2dlci5kZWJ1ZygnQ29w
eWluZyB0ZW1wbGF0ZSBmaWxlcyB0byBvdXRwdXQgZGlyZWN0b3J5Li4uJykKKyAgICAgICAgc2Vs
Zi5fY3JlYXRlX2RpcmVjdG9yeV9pZl9ub25leGlzdGVudChzZWxmLm91dHB1dF9kaXIpCisgICAg
ICAgIGNvcHlfYWxsX2ZpbGVzX2luX2RpcmVjdG9yeShzZWxmLmRvY19kaXIsIHNlbGYub3V0cHV0
X2RpcikKKworICAgIGRlZiBfd3JpdGVfdmVyc2lvbl94bWwoc2VsZik6CisgICAgICAgIGlmIG5v
dCBzZWxmLnZlcnNpb246CisgICAgICAgICAgICBzZWxmLmxvZ2dlci5pbmZvKCdObyB2ZXJzaW9u
IHNwZWNpZmllZCwgc28gbm90IHdyaXRpbmcgdmVyc2lvbi54bWwnKQorICAgICAgICAgICAgcmV0
dXJuCisKKyAgICAgICAgdmVyc2lvbl94bWxfcGF0aCA9IG9zLnBhdGguam9pbihzZWxmLm91dHB1
dF9kaXIsICd2ZXJzaW9uLnhtbCcpCisgICAgICAgIHNyY192ZXJzaW9uX3htbF9wYXRoID0gb3Mu
cGF0aC5qb2luKHNlbGYuZG9jX2RpciwgJ3ZlcnNpb24ueG1sJykKKworICAgICAgICAjIERvbid0
IG92ZXJ3cml0ZSB2ZXJzaW9uLnhtbCBpZiBpdCB3YXMgaW4gdGhlIGRvYyBkaXJlY3RvcnkuCisg
ICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKHZlcnNpb25feG1sX3BhdGgpIGFuZCBcCisgICAgICAg
ICAgIG9zLnBhdGguZXhpc3RzKHNyY192ZXJzaW9uX3htbF9wYXRoKToKKyAgICAgICAgICAgIHJl
dHVybgorCisgICAgICAgIG91dHB1dF9maWxlID0gb3Blbih2ZXJzaW9uX3htbF9wYXRoLCAndycp
CisgICAgICAgIG91dHB1dF9maWxlLndyaXRlKHNlbGYudmVyc2lvbikKKyAgICAgICAgb3V0cHV0
X2ZpbGUuY2xvc2UoKQorCisgICAgZGVmIF9pZ25vcmVkX2ZpbGVzX2Jhc2VuYW1lcyhzZWxmKToK
KyAgICAgICAgcmV0dXJuICcgJy5qb2luKFtvcy5wYXRoLmJhc2VuYW1lKHgpIGZvciB4IGluIHNl
bGYuaWdub3JlZF9maWxlc10pCisKKyAgICBkZWYgX3J1bl9ndGtkb2Nfc2NhbihzZWxmKToKKyAg
ICAgICAgYXJncyA9IFsnZ3RrZG9jLXNjYW4nLAorICAgICAgICAgICAgICAgICctLW1vZHVsZT0l
cycgJSBzZWxmLm1vZHVsZV9uYW1lLAorICAgICAgICAgICAgICAgICctLXJlYnVpbGQtdHlwZXMn
XQorCisgICAgICAgIGlmIG5vdCBzZWxmLmhlYWRlcnM6CisgICAgICAgICAgICAjIEVhY2ggc291
cmNlIGRpcmVjdG9yeSBzaG91bGQgYmUgaGF2ZSBpdHMgb3duICItLXNvdXJjZS1kaXI9IiBwcmVm
aXguCisgICAgICAgICAgICBhcmdzLmV4dGVuZChbJy0tc291cmNlLWRpcj0lcycgJSBwYXRoIGZv
ciBwYXRoIGluIHNlbGYuc291cmNlX2RpcnNdKQorCisgICAgICAgIGlmIHNlbGYuZGVjb3JhdG9y
OgorICAgICAgICAgICAgYXJncy5hcHBlbmQoJy0taWdub3JlLWRlY29yYXRvcnM9JXMnICUgc2Vs
Zi5kZWNvcmF0b3IpCisgICAgICAgIGlmIHNlbGYuZGVwcmVjYXRpb25fZ3VhcmQ6CisgICAgICAg
ICAgICBhcmdzLmFwcGVuZCgnLS1kZXByZWNhdGVkLWd1YXJkcz0lcycgJSBzZWxmLmRlcHJlY2F0
aW9uX2d1YXJkKQorICAgICAgICBpZiBzZWxmLm91dHB1dF9kaXI6CisgICAgICAgICAgICBhcmdz
LmFwcGVuZCgnLS1vdXRwdXQtZGlyPSVzJyAlIHNlbGYub3V0cHV0X2RpcikKKworICAgICAgICAj
IFdlIG9ubHkgbmVlZCB0byBwYXNzIHRoZSBsaXN0IG9mIGlnbm9yZWQgZmlsZXMgaWYgdGhlIHdl
IGFyZSBub3QgdXNpbmcgYW4gZXhwbGljaXQgbGlzdCBvZiBoZWFkZXJzLgorICAgICAgICBpZiBu
b3Qgc2VsZi5oZWFkZXJzOgorICAgICAgICAgICAgIyBndGtkb2Mtc2NhbiB3YW50cyB0aGUgYmFz
ZW5hbWVzIG9mIGlnbm9yZWQgaGVhZGVycywgc28gc3RyaXAgdGhlCisgICAgICAgICAgICAjIGRp
cm5hbWUuIERpZmZlcmVudCBmcm9tICItLXNvdXJjZS1kaXIiLCB0aGUgaGVhZGVycyBzaG91bGQg
YmUKKyAgICAgICAgICAgICMgc3BlY2lmaWVkIGFzIG9uZSBsb25nIHN0cmluZy4KKyAgICAgICAg
ICAgIGlnbm9yZWRfZmlsZXNfYmFzZW5hbWVzID0gc2VsZi5faWdub3JlZF9maWxlc19iYXNlbmFt
ZXMoKQorICAgICAgICAgICAgaWYgaWdub3JlZF9maWxlc19iYXNlbmFtZXM6CisgICAgICAgICAg
ICAgICAgYXJncy5hcHBlbmQoJy0taWdub3JlLWhlYWRlcnM9JXMnICUgaWdub3JlZF9maWxlc19i
YXNlbmFtZXMpCisKKyAgICAgICAgaWYgc2VsZi5oZWFkZXJzOgorICAgICAgICAgICAgYXJncy5l
eHRlbmQoc2VsZi5oZWFkZXJzKQorCisgICAgICAgIHNlbGYuX3J1bl9jb21tYW5kKGFyZ3MpCisK
KyAgICBkZWYgX3J1bl9ndGtkb2Nfc2NhbmdvYmooc2VsZik6CisgICAgICAgIGVudiA9IG9zLmVu
dmlyb24KKyAgICAgICAgbGRmbGFncyA9IHNlbGYubGRmbGFncworICAgICAgICBpZiBzZWxmLmxp
YnJhcnlfcGF0aDoKKyAgICAgICAgICAgIGFkZGl0aW9uYWxfbGRmbGFncyA9ICcnCisgICAgICAg
ICAgICBmb3IgYXJnIGluIGVudi5nZXQoJ0xERkxBR1MnLCAnJykuc3BsaXQoJyAnKToKKyAgICAg
ICAgICAgICAgICBpZiBhcmcuc3RhcnRzd2l0aCgnLUwnKToKKyAgICAgICAgICAgICAgICAgICAg
YWRkaXRpb25hbF9sZGZsYWdzID0gJyVzICVzJyAlIChhZGRpdGlvbmFsX2xkZmxhZ3MsIGFyZykK
KyAgICAgICAgICAgIGxkZmxhZ3MgPSAnICItTCVzIiAlcyAnICUgKHNlbGYubGlicmFyeV9wYXRo
LCBhZGRpdGlvbmFsX2xkZmxhZ3MpICsgbGRmbGFncworICAgICAgICAgICAgY3VycmVudF9sZF9s
aWJyYXJ5X3BhdGggPSBlbnYuZ2V0KCdMRF9MSUJSQVJZX1BBVEgnKQorICAgICAgICAgICAgaWYg
Y3VycmVudF9sZF9saWJyYXJ5X3BhdGg6CisgICAgICAgICAgICAgICAgZW52WydMRF9MSUJSQVJZ
X1BBVEgnXSA9ICclczolcycgJSAoc2VsZi5saWJyYXJ5X3BhdGgsIGN1cnJlbnRfbGRfbGlicmFy
eV9wYXRoKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICBlbnZbJ0xEX0xJQlJB
UllfUEFUSCddID0gc2VsZi5saWJyYXJ5X3BhdGgKKworICAgICAgICBpZiBsZGZsYWdzOgorICAg
ICAgICAgICAgZW52WydMREZMQUdTJ10gPSAnJXMgJXMnICUgKGxkZmxhZ3MsIGVudi5nZXQoJ0xE
RkxBR1MnLCAnJykpCisgICAgICAgIGlmIHNlbGYuY2ZsYWdzOgorICAgICAgICAgICAgZW52WydD
RkxBR1MnXSA9ICclcyAlcycgJSAoc2VsZi5jZmxhZ3MsIGVudi5nZXQoJ0NGTEFHUycsICcnKSkK
KworICAgICAgICBpZiAnQ0ZMQUdTJyBpbiBlbnY6CisgICAgICAgICAgICBzZWxmLmxvZ2dlci5k
ZWJ1ZygnQ0ZMQUdTPSVzJywgZW52WydDRkxBR1MnXSkKKyAgICAgICAgaWYgJ0xERkxBR1MnIGlu
IGVudjoKKyAgICAgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCdMREZMQUdTICVzJywgZW52WydM
REZMQUdTJ10pCisgICAgICAgIHNlbGYuX3J1bl9jb21tYW5kKFsnZ3RrZG9jLXNjYW5nb2JqJywg
Jy0tbW9kdWxlPSVzJyAlIHNlbGYubW9kdWxlX25hbWVdLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICBlbnY9ZW52LCBjd2Q9c2VsZi5vdXRwdXRfZGlyKQorCisgICAgZGVmIF9ydW5fZ3RrZG9j
X21rZGIoc2VsZik6CisgICAgICAgIHNnbWxfZmlsZSA9IG9zLnBhdGguam9pbihzZWxmLm91dHB1
dF9kaXIsIHNlbGYubWFpbl9zZ21sX2ZpbGUpCisgICAgICAgIHNlbGYuX3JhaXNlX2V4Y2VwdGlv
bl9pZl9maWxlX2luYWNjZXNzaWJsZShzZ21sX2ZpbGUpCisKKyAgICAgICAgYXJncyA9IFsnZ3Rr
ZG9jLW1rZGInLAorICAgICAgICAgICAgICAgICctLW1vZHVsZT0lcycgJSBzZWxmLm1vZHVsZV9u
YW1lLAorICAgICAgICAgICAgICAgICctLW1haW4tc2dtbC1maWxlPSVzJyAlIHNnbWxfZmlsZSwK
KyAgICAgICAgICAgICAgICAnLS1zb3VyY2Utc3VmZml4ZXM9aCxjLGNwcCxjYycsCisgICAgICAg
ICAgICAgICAgJy0tb3V0cHV0LWZvcm1hdD14bWwnLAorICAgICAgICAgICAgICAgICctLXNnbWwt
bW9kZSddCisKKyAgICAgICAgaWYgc2VsZi5uYW1lc3BhY2U6CisgICAgICAgICAgICBhcmdzLmFw
cGVuZCgnLS1uYW1lLXNwYWNlPSVzJyAlIHNlbGYubmFtZXNwYWNlKQorCisgICAgICAgIGlnbm9y
ZWRfZmlsZXNfYmFzZW5hbWVzID0gc2VsZi5faWdub3JlZF9maWxlc19iYXNlbmFtZXMoKQorICAg
ICAgICBpZiBpZ25vcmVkX2ZpbGVzX2Jhc2VuYW1lczoKKyAgICAgICAgICAgIGFyZ3MuYXBwZW5k
KCctLWlnbm9yZS1maWxlcz0lcycgJSBpZ25vcmVkX2ZpbGVzX2Jhc2VuYW1lcykKKworICAgICAg
ICAjIEVhY2ggZGlyZWN0b3J5IHNob3VsZCBiZSBoYXZlIGl0cyBvd24gIi0tc291cmNlLWRpcj0i
IHByZWZpeC4KKyAgICAgICAgYXJncy5leHRlbmQoWyctLXNvdXJjZS1kaXI9JXMnICUgcGF0aCBm
b3IgcGF0aCBpbiBzZWxmLnNvdXJjZV9kaXJzXSkKKyAgICAgICAgc2VsZi5fcnVuX2NvbW1hbmQo
YXJncywgY3dkPXNlbGYub3V0cHV0X2RpcikKKworICAgIGRlZiBfcnVuX2d0a2RvY19ta2h0bWwo
c2VsZik6CisgICAgICAgICMgZ3RrZG9jLWZpeHhyZWYgZXhwZWN0cyB0aGUgcGF0aHMgdG8gYmUg
aHRtbC9tb2R1bGVuYW1lLgorICAgICAgICBodG1sX2Rlc3RfZGlyID0gb3MucGF0aC5qb2luKHNl
bGYub3V0cHV0X2RpciwgJ2h0bWwnLCBzZWxmLm1vZHVsZV9uYW1lKQorICAgICAgICBzZWxmLl9j
cmVhdGVfZGlyZWN0b3J5X2lmX25vbmV4aXN0ZW50KGh0bWxfZGVzdF9kaXIpCisgICAgICAgIGlm
IG5vdCBvcy5wYXRoLmlzZGlyKGh0bWxfZGVzdF9kaXIpOgorICAgICAgICAgICAgcmFpc2UgRXhj
ZXB0aW9uKCIlcyBpcyBub3QgYSBkaXJlY3RvcnksIGNvdWxkIG5vdCBnZW5lcmF0ZSBIVE1MIgor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICUgaHRtbF9kZXN0X2RpcikKKyAgICAgICAgZWxp
ZiBub3Qgb3MuYWNjZXNzKGh0bWxfZGVzdF9kaXIsIG9zLlhfT0sgfCBvcy5SX09LIHwgb3MuV19P
Syk6CisgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIkNvdWxkIG5vdCBhY2Nlc3MgJXMgdG8g
Z2VuZXJhdGUgSFRNTCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAlIGh0bWxfZGVzdF9k
aXIpCisKKyAgICAgICAgIyBndGtkb2MtbWtodG1sIGV4cGVjdHMgdGhlIFNHTUwgcGF0aCB0byBi
ZSBhYnNvbHV0ZS4KKyAgICAgICAgc2dtbF9maWxlID0gb3MucGF0aC5qb2luKG9zLnBhdGguYWJz
cGF0aChzZWxmLm91dHB1dF9kaXIpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
c2VsZi5tYWluX3NnbWxfZmlsZSkKKyAgICAgICAgc2VsZi5fcmFpc2VfZXhjZXB0aW9uX2lmX2Zp
bGVfaW5hY2Nlc3NpYmxlKHNnbWxfZmlsZSkKKworICAgICAgICBzZWxmLl9ydW5fY29tbWFuZChb
J2d0a2RvYy1ta2h0bWwnLCBzZWxmLm1vZHVsZV9uYW1lLCBzZ21sX2ZpbGVdLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICBjd2Q9aHRtbF9kZXN0X2RpcikKKworICAgIGRlZiBfcnVuX2d0a2Rv
Y19maXh4cmVmKHNlbGYpOgorICAgICAgICBhcmdzID0gWydndGtkb2MtZml4eHJlZicsCisgICAg
ICAgICAgICAgICAgJy0tbW9kdWxlPSVzJyAlIHNlbGYubW9kdWxlX25hbWUsCisgICAgICAgICAg
ICAgICAgJy0tbW9kdWxlLWRpcj1odG1sLyVzJyAlIHNlbGYubW9kdWxlX25hbWVdCisgICAgICAg
IGFyZ3MuZXh0ZW5kKFsnLS1leHRyYS1kaXI9JXMnICUgZXh0cmFfZGlyIGZvciBleHRyYV9kaXIg
aW4gc2VsZi5jcm9zc19yZWZlcmVuY2VfZGVwc10pCisgICAgICAgIHNlbGYuX3J1bl9jb21tYW5k
KGFyZ3MsIGN3ZD1zZWxmLm91dHB1dF9kaXIsIGlnbm9yZV93YXJuaW5ncz1UcnVlKQorCisgICAg
ICAgICMgZ3RrZG9jLWZpeHhyZWYgaGFzIHNvbWUgcHJlZGVmaW5lZCBsaW5rcyBmb3Igd2hpY2gg
aXQgYWx3YXlzIHVzZXMgYWJzb2x1dGUgcGF0aHMuCisgICAgICAgIGh0bWxfZGlyX3ByZWZpeCA9
IG9zLnBhdGguam9pbihzZWxmLnZpcnR1YWxfcm9vdCArIHNlbGYucHJlZml4LCAnc2hhcmUnLCAn
Z3RrLWRvYycsICdodG1sJykKKyAgICAgICAgbW9kdWxlX2RpciA9IG9zLnBhdGguam9pbihzZWxm
Lm91dHB1dF9kaXIsICdodG1sJywgc2VsZi5tb2R1bGVfbmFtZSkKKyAgICAgICAgZm9yIGVudHJ5
IGluIG9zLmxpc3RkaXIobW9kdWxlX2Rpcik6CisgICAgICAgICAgICBpZiBub3QgZW50cnkuZW5k
c3dpdGgoJy5odG1sJyk6CisgICAgICAgICAgICAgICAgY29udGludWUKKworICAgICAgICAgICAg
ZmlsZW5hbWUgPSBvcy5wYXRoLmpvaW4obW9kdWxlX2RpciwgZW50cnkpCisgICAgICAgICAgICBj
b250ZW50cyA9ICcnCisgICAgICAgICAgICB3aXRoIGNvZGVjcy5vcGVuKGZpbGVuYW1lLCAncics
IGVuY29kaW5nPSd1dGYtOCcpIGFzIGY6CisgICAgICAgICAgICAgICAgY29udGVudHMgPSBmLnJl
YWQoKQorCisgICAgICAgICAgICBpZiBub3QgaHRtbF9kaXJfcHJlZml4IGluIGNvbnRlbnRzOgor
ICAgICAgICAgICAgICAgIGNvbnRpbnVlCisKKyAgICAgICAgICAgIHRtcF9maWxlbmFtZSA9IGZp
bGVuYW1lICsgJy5uZXcnCisgICAgICAgICAgICBuZXdfY29udGVudHMgPSBjb250ZW50cy5yZXBs
YWNlKGh0bWxfZGlyX3ByZWZpeCwgJy4uJykKKyAgICAgICAgICAgIHdpdGggY29kZWNzLm9wZW4o
dG1wX2ZpbGVuYW1lLCAndycsIGVuY29kaW5nPSd1dGYtOCcpIGFzIGY6CisgICAgICAgICAgICAg
ICAgZi53cml0ZShuZXdfY29udGVudHMpCisKKyAgICAgICAgICAgIG9zLnJlbmFtZSh0bXBfZmls
ZW5hbWUsIGZpbGVuYW1lKQorCisgICAgZGVmIHJlYmFzZV9pbnN0YWxsZWRfZG9jcyhzZWxmKToK
KyAgICAgICAgaWYgbm90IG9zLnBhdGguaXNkaXIoc2VsZi5vdXRwdXRfZGlyKToKKyAgICAgICAg
ICAgIHJhaXNlIEV4Y2VwdGlvbigiVHJpZWQgdG8gcmViYXNlIGRvY3VtZW50YXRpb24gYmVmb3Jl
IGdlbmVyYXRpbmcgaXQuIikKKyAgICAgICAgaHRtbF9kaXIgPSBvcy5wYXRoLmpvaW4oc2VsZi52
aXJ0dWFsX3Jvb3QgKyBzZWxmLnByZWZpeCwgJ3NoYXJlJywgJ2d0ay1kb2MnLCAnaHRtbCcsIHNl
bGYubW9kdWxlX25hbWUpCisgICAgICAgIGlmIG5vdCBvcy5wYXRoLmlzZGlyKGh0bWxfZGlyKToK
KyAgICAgICAgICAgIHJldHVybgorICAgICAgICBhcmdzID0gWydndGtkb2MtcmViYXNlJywKKyAg
ICAgICAgICAgICAgICAnLS1yZWxhdGl2ZScsCisgICAgICAgICAgICAgICAgJy0taHRtbC1kaXI9
JXMnICUgaHRtbF9kaXJdCisgICAgICAgIGFyZ3MuZXh0ZW5kKFsnLS1vdGhlci1kaXI9JXMnICUg
ZXh0cmFfZGlyIGZvciBleHRyYV9kaXIgaW4gc2VsZi5jcm9zc19yZWZlcmVuY2VfZGVwc10pCisg
ICAgICAgIGlmIHNlbGYudmlydHVhbF9yb290OgorICAgICAgICAgICAgYXJncy5leHRlbmQoWyct
LWRlc3QtZGlyPSVzJyAlIHNlbGYudmlydHVhbF9yb290XSkKKyAgICAgICAgc2VsZi5fcnVuX2Nv
bW1hbmQoYXJncywgY3dkPXNlbGYub3V0cHV0X2RpcikKKworICAgIGRlZiBhcGlfbWlzc2luZ19k
b2N1bWVudGF0aW9uKHNlbGYpOgorICAgICAgICB1bnVzZWRfZG9jX2ZpbGUgPSBvcy5wYXRoLmpv
aW4oc2VsZi5vdXRwdXRfZGlyLCBzZWxmLm1vZHVsZV9uYW1lICsgIi11bnVzZWQudHh0IikKKyAg
ICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKHVudXNlZF9kb2NfZmlsZSkgb3Igbm90IG9zLmFj
Y2Vzcyh1bnVzZWRfZG9jX2ZpbGUsIG9zLlJfT0spOgorICAgICAgICAgICAgcmV0dXJuIFtdCisg
ICAgICAgIHJldHVybiBvcGVuKHVudXNlZF9kb2NfZmlsZSkucmVhZCgpLnNwbGl0bGluZXMoKQor
CisKK2NsYXNzIFBrZ0NvbmZpZ0dUS0RvYyhHVEtEb2MpOgorCisgICAgIiIiQ2xhc3MgcmVhZHMg
YSBsaWJyYXJ5J3MgcGtnY29uZmlnIGZpbGUgdG8gZ3Vlc3MgZ3RrZG9jIHBhcmFtZXRlcnMuCisK
KyAgICBTb21lIGd0a2RvYyBwYXJhbWV0ZXJzIGNhbiBiZSBndWVzc2VkIGJ5IHJlYWRpbmcgYSBs
aWJyYXJ5J3MgcGtnY29uZmlnCisgICAgZmlsZSwgaW5jbHVkaW5nIHRoZSBjZmxhZ3MsIGxkZmxh
Z3MgYW5kIHZlcnNpb24gcGFyYW1ldGVycy4gSWYgeW91CisgICAgcHJvdmlkZSB0aGVzZSBwYXJh
bWV0ZXJzIGFzIHdlbGwsIHRoZXkgd2lsbCBiZSBhcHBlbmRlZCB0byB0aGUgb25lcworICAgIGd1
ZXNzZWQgdmlhIHRoZSBwa2djb25maWcgZmlsZS4KKworICAgIEtleXdvcmQgYXJndW1lbnRzOgor
ICAgICAgcGtnX2NvbmZpZ19wYXRoIC0tIFBhdGggdG8gdGhlIHBrZ2NvbmZpZyBmaWxlIGZvciB0
aGUgbGlicmFyeS4gUmVxdWlyZWQuCisgICAgIiIiCisKKyAgICBkZWYgX19pbml0X18oc2VsZiwg
cGtnX2NvbmZpZ19wYXRoLCBhcmdzKToKKyAgICAgICAgc3VwZXIoUGtnQ29uZmlnR1RLRG9jLCBz
ZWxmKS5fX2luaXRfXyhhcmdzKQorCisgICAgICAgIHBrZ19jb25maWcgPSBvcy5lbnZpcm9uLmdl
dCgnUEtHX0NPTkZJRycsICdwa2ctY29uZmlnJykKKworICAgICAgICBpZiBub3Qgb3MucGF0aC5l
eGlzdHMocGtnX2NvbmZpZ19wYXRoKToKKyAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbignQ291
bGQgbm90IGZpbmQgcGtnLWNvbmZpZyBmaWxlIGF0OiAlcycKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAlIHBrZ19jb25maWdfcGF0aCkKKworICAgICAgICBzZWxmLmNmbGFncyArPSAiICIg
KyBzZWxmLl9ydW5fY29tbWFuZChbcGtnX2NvbmZpZywKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHBrZ19jb25maWdfcGF0aCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLWNmbGFncyddLCBwcmludF9vdXRw
dXQ9RmFsc2UpCisgICAgICAgIHNlbGYubGRmbGFncyArPSAiICIgKyBzZWxmLl9ydW5fY29tbWFu
ZChbcGtnX2NvbmZpZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHBrZ19jb25maWdfcGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICctLWxpYnMnXSwgcHJpbnRfb3V0cHV0PUZhbHNlKQorICAgICAgICBz
ZWxmLnZlcnNpb24gPSBzZWxmLl9ydW5fY29tbWFuZChbcGtnX2NvbmZpZywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBrZ19jb25maWdfcGF0aCwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLW1vZHZlcnNpb24nXSwgcHJpbnRf
b3V0cHV0PUZhbHNlKQorICAgICAgICBzZWxmLnByZWZpeCA9IHNlbGYuX3J1bl9jb21tYW5kKFtw
a2dfY29uZmlnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwa2df
Y29uZmlnX3BhdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICct
LXZhcmlhYmxlPXByZWZpeCddLCBwcmludF9vdXRwdXQ9RmFsc2UpCmRpZmYgLS1naXQgYS9Ub29s
cy93cGUvaW5zdGFsbC1kZXBlbmRlbmNpZXMgYi9Ub29scy93cGUvaW5zdGFsbC1kZXBlbmRlbmNp
ZXMKaW5kZXggYmNjYTI0MmMyNDE4Yjk2NjVhMDBkZWMxNTUyNDk1NDAxOGU2ODkwZS4uMGU0MDg3
ZmZmYmU2MWJiMjFhNWI2YTU3YmFiNThiYmVkMmI2MWY1ZCAxMDA3NTUKLS0tIGEvVG9vbHMvd3Bl
L2luc3RhbGwtZGVwZW5kZW5jaWVzCisrKyBiL1Rvb2xzL3dwZS9pbnN0YWxsLWRlcGVuZGVuY2ll
cwpAQCAtNjUsNiArNjUsNyBAQCBmdW5jdGlvbiBpbnN0YWxsRGVwZW5kZW5jaWVzV2l0aEFwdCB7
CiAgICAgICAgIGdhd2sgXAogICAgICAgICBnY2MgXAogICAgICAgICBncGVyZiBcCisgICAgICAg
IGd0ay1kb2MtdG9vbHMgXAogICAgICAgICBpbnRsdG9vbCBcCiAgICAgICAgIGl0c3Rvb2wgXAog
ICAgICAgICBsaWJhc291bmQyLWRldiBcCkBAIC0xNTUsNiArMTU2LDcgQEAgZnVuY3Rpb24gaW5z
dGFsbERlcGVuZGVuY2llc1dpdGhQYWNtYW4gewogICAgICAgICBnY2MgXAogICAgICAgICBnbnV0
bHMgXAogICAgICAgICBncGVyZiBcCisgICAgICAgIGd0ay1kb2MgXAogICAgICAgICBncmVwIFwK
ICAgICAgICAgZ3JvZmYgXAogICAgICAgICBnc3RyZWFtZXIgXApAQCAtMjUzLDYgKzI1NSw3IEBA
IGZ1bmN0aW9uIGluc3RhbGxEZXBlbmRlbmNpZXNXaXRoRG5mIHsKICAgICAgICAgZ3N0cmVhbWVy
MS1kZXZlbCBcCiAgICAgICAgIGdzdHJlYW1lcjEtcGx1Z2lucy1iYWQtZnJlZS1kZXZlbCBcCiAg
ICAgICAgIGdzdHJlYW1lcjEtcGx1Z2lucy1iYXNlLWRldmVsIFwKKyAgICAgICAgZ3RrLWRvYyBc
CiAgICAgICAgIGludGx0b29sIFwKICAgICAgICAgaXRzdG9vbCBcCiAgICAgICAgIGxpYmV2ZW50
LWRldmVsIFwKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBmN2Q3MDlm
OWUzNWUyYzg4YjlmYWJlMTcxMGM5NmJlMDZjYTdiOTBlLi44YmVmYzQ5NTczMTEyZjA2NTkyMjQw
NGU4NmY5NGE5NWE4NTEwMjU2IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTggQEAKKzIwMTgtMTAtMTggIENhcmxvcyBFZHVhcmRvIFJhbWFsaG8gIDxj
YWR1YmVudHplbkBnbWFpbC5jb20+CisKKyAgICAgICAgW1dQRV0gQWRkIGd0ay1kb2MKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODkwMAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBndGstZG9jIHRv
IFdQRSBwb3J0LiBUaGlzIHBhdGNoIHRyaWVzIHRvIHJldXNlIGFzIG11Y2ggY29kZSBmcm9tCisg
ICAgICAgIFdlYktpdEdUSysgYXMgcG9zc2libGUuCisKKyAgICAgICAgKiBTb3VyY2UvUGxhdGZv
cm1HVEsuY21ha2U6IGluY2x1ZGUgR3RrRG9jLmNtYWtlIGluc3RlYWQgb2YgZGVmaW5pbmcgbWFj
cm8uCisgICAgICAgICogU291cmNlL1BsYXRmb3JtV1BFLmNtYWtlOiBBZGRlZCBkb2N1bWVudGF0
aW9uIGdlbmVyYXRpb24uCisgICAgICAgICogU291cmNlL2NtYWtlL0d0a0RvYy5jbWFrZTogQWRk
ZWQuCisgICAgICAgICogU291cmNlL2NtYWtlL09wdGlvbnNXUEUuY21ha2U6IEFkZGVkIEVOQUJM
RV9HVEtET0MgYnVpbGQgb3B0aW9uIGFuZCBhZGRlZCBwa2ctY29uZmlnIHBhdGggdmFyaWFibGVz
LgorCiAyMDE4LTEwLTE2ICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4K
IAogICAgICAgICBVbnJldmlld2VkLCBHVEsgYm90cyBidWlsZCBmaXgK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>353013</attachid>
            <date>2018-10-23 18:32:02 -0700</date>
            <delta_ts>2018-11-20 02:20:07 -0800</delta_ts>
            <desc>Sorting WPE symbols like WebKitGTK+</desc>
            <filename>bug-178900-20181023223200.patch</filename>
            <type>text/plain</type>
            <size>120049</size>
            <attacher name="Carlos Bentzen">cadubentzen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM3MzY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDQ2NGNmOTg1ODM5MWE2YWZm
NTUyNDQ1ODU2NzBjMGRmYWZlNGJhZjcuLjFjMmVjNDZjMjJiOWIxNmM0YWUwOTBiNjZiNjAxYmUw
MDQ4YWFlMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTgtMTAtMjMgIENhcmxvcyBF
ZHVhcmRvIFJhbWFsaG8gIDxjYWR1YmVudHplbkBnbWFpbC5jb20+CisKKyAgICAgICAgW1dQRV0g
QWRkIGd0ay1kb2MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE3ODkwMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkZCBBZGQgZ3RrLWRvYyB0byBXUEUgcG9ydC4gVGhpcyBwYXRjaCB0cmllcyB0byByZXVz
ZSBhcyBtdWNoIGNvZGUgZnJvbQorICAgICAgICBXZWJLaXRHVEsrIGFzIHBvc3NpYmxlLgorCisg
ICAgICAgICogUGxhdGZvcm1XUEUuY21ha2U6IFdyaXRlIHZhcmlhYmxlcyB0byBndGtkb2Mtd3Bl
LmNmZyB0aGF0IGlzIHVzZWQgYnkgcHl0aG9uIHNjcmlwdCBsYXRlcgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvd3BlL1dlYktpdFdlYkNvbnRleHQuaDogUGxhY2VkIHNhbmRib3ggZnVuY3Rpb25z
IGluIHRoZSBzYW1lIGxvY2F0aW9uIGFzIGluIHRoZSBXZWJLaXRHVEsrIGZvciBjb25zaXN0ZW5j
eS4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3dwZS9kb2NzL3dwZS0wLjEtc2VjdGlvbnMudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3dwZS9kb2NzL3dwZS0wLjEudHlwZXM6
IEFkZGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvd3BlL2RvY3Mvd3BlLWRvY3Muc2dtbDog
QWRkZWQuCisKIDIwMTgtMTAtMjMgIFJ5YW4gSGFkZGFkICA8cnlhbmhhZGRhZEBhcHBsZS5jb20+
CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjIzNzI2MS4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9QbGF0Zm9ybUdUSy5jbWFrZSBiL1NvdXJjZS9QbGF0Zm9ybUdUSy5jbWFrZQppbmRl
eCAyODg0MWMyMGU5OGE3YTUyY2UwZDM3ZGU0ODhmYzk4MDg1MmFlZDhiLi43OTQyZDU3NzQ4ZjQ3
MjMyZjc3ODY5YTk0NzNiODk1ZjRhM2M1MDZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm1H
VEsuY21ha2UKKysrIGIvU291cmNlL1BsYXRmb3JtR1RLLmNtYWtlCkBAIC0xLDMgKzEsNCBAQAor
aW5jbHVkZShHdGtEb2MpCiBpbmNsdWRlKFdlYktpdERpc3QpCiAKIGFkZF9zdWJkaXJlY3Rvcnko
JHtXRUJDT1JFX0RJUn0vcGxhdGZvcm0vZ3RrL3BvKQpAQCAtMjUsMTggKzI2LDcgQEAgaWYgKEVO
QUJMRV9HVEtET0MpCiAgICAgKQogZW5kaWYgKCkKIAotbWFjcm8oQUREX0dUS0RPQ19HRU5FUkFU
T1IgX3N0YW1wX25hbWUgX2V4dHJhX2FyZ3MpCi0gICAgYWRkX2N1c3RvbV9jb21tYW5kKAotICAg
ICAgICBPVVRQVVQgIiR7Q01BS0VfQklOQVJZX0RJUn0vJHtfc3RhbXBfbmFtZX0iCi0gICAgICAg
IERFUEVORFMgJHtEb2N1bWVudGF0aW9uRGVwZW5kZW5jaWVzfQotICAgICAgICBDT01NQU5EICR7
Q01BS0VfQ09NTUFORH0gLUUgZW52ICJDQz0ke0NNQUtFX0NfQ09NUElMRVJ9IiAiQ0ZMQUdTPSR7
Q01BS0VfQ19GTEFHU30gLVduby11bnVzZWQtcGFyYW1ldGVyIiAke0NNQUtFX1NPVVJDRV9ESVJ9
L1Rvb2xzL2d0ay9nZW5lcmF0ZS1ndGtkb2MgJHtfZXh0cmFfYXJnc30KLSAgICAgICAgQ09NTUFO
RCB0b3VjaCAke19zdGFtcF9uYW1lfQotICAgICAgICBXT1JLSU5HX0RJUkVDVE9SWSAiJHtDTUFL
RV9CSU5BUllfRElSfSIKLSAgICAgICAgVkVSQkFUSU0KLSAgICApCi1lbmRtYWNybygpCi0KLUFE
RF9HVEtET0NfR0VORVJBVE9SKCJkb2NzLWJ1aWxkLnN0YW1wIiAiIikKK0FERF9HVEtET0NfR0VO
RVJBVE9SKCJkb2NzLWJ1aWxkLnN0YW1wIiAiLS1ndGsiKQogaWYgKEVOQUJMRV9HVEtET0MpCiAg
ICAgYWRkX2N1c3RvbV90YXJnZXQoZ3RrZG9jIEFMTCBERVBFTkRTICIke0NNQUtFX0JJTkFSWV9E
SVJ9L2RvY3MtYnVpbGQuc3RhbXAiKQogZWxzZWlmIChOT1QgRU5BQkxFRF9DT01QSUxFUl9TQU5J
VElaRVJTIEFORCBOT1QgQ01BS0VfQ1JPU1NDT01QSUxJTkcgQU5EIE5PVCBBUFBMRSkKQEAgLTQ2
LDcgKzM2LDcgQEAgZWxzZWlmIChOT1QgRU5BQkxFRF9DT01QSUxFUl9TQU5JVElaRVJTIEFORCBO
T1QgQ01BS0VfQ1JPU1NDT01QSUxJTkcgQU5EIE5PVCBBUFAKICAgICAjIG9yIGVycm9ycy4gVGhp
cyBpcyB1c2VmdWwgdG8gcHJldmVudCBicmVha2luZyBkb2N1bWVudGF0aW9uIGluYWR2ZXJ0ZW50
bHkgZHVyaW5nCiAgICAgIyB0aGUgY291cnNlIG9mIGRldmVsb3BtZW50LgogICAgIGlmIChERVZF
TE9QRVJfTU9ERSkKLSAgICAgICAgQUREX0dUS0RPQ19HRU5FUkFUT1IoImRvY3MtYnVpbGQtbm8t
aHRtbC5zdGFtcCIgIi0tc2tpcC1odG1sIikKKyAgICAgICAgQUREX0dUS0RPQ19HRU5FUkFUT1Io
ImRvY3MtYnVpbGQtbm8taHRtbC5zdGFtcCIgIi0tZ3RrOy0tc2tpcC1odG1sIikKICAgICAgICAg
YWRkX2N1c3RvbV90YXJnZXQoZ3RrZG9jLW5vLWh0bWwgQUxMIERFUEVORFMgIiR7Q01BS0VfQklO
QVJZX0RJUn0vZG9jcy1idWlsZC1uby1odG1sLnN0YW1wIikKICAgICBlbmRpZiAoKQogZW5kaWYg
KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9QbGF0Zm9ybVdQRS5jbWFrZSBiL1NvdXJjZS9QbGF0Zm9y
bVdQRS5jbWFrZQppbmRleCAzODY0MmUwNzgyY2MzM2JmOTQ3NWU2ZWU0N2VlOTc3MTg1MzU3NTUx
Li44OWE1ODNmN2NkNWNkMGU4Y2FmYmM3NmJmMTNkYjE3NWM3Y2UyZDY0IDEwMDY0NAotLS0gYS9T
b3VyY2UvUGxhdGZvcm1XUEUuY21ha2UKKysrIGIvU291cmNlL1BsYXRmb3JtV1BFLmNtYWtlCkBA
IC0xLDcgKzEsMzQgQEAKK2luY2x1ZGUoR3RrRG9jKQogaW5jbHVkZShXZWJLaXREaXN0KQogCits
aXN0KEFQUEVORCBEb2N1bWVudGF0aW9uRGVwZW5kZW5jaWVzCisgICAgV2ViS2l0CisgICAgIiR7
Q01BS0VfU09VUkNFX0RJUn0vU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9kb2NzL3dw
ZS1kb2NzLnNnbWwiCisgICAgIiR7Q01BS0VfU09VUkNFX0RJUn0vU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL3dwZS9kb2NzL3dwZS0ke1dQRV9BUElfVkVSU0lPTn0tc2VjdGlvbnMudHh0Igor
KQorCitpZiAoRU5BQkxFX0dUS0RPQykKKyAgICBpbnN0YWxsKERJUkVDVE9SWSAke0NNQUtFX0JJ
TkFSWV9ESVJ9L0RvY3VtZW50YXRpb24vd3BlLSR7V1BFX0FQSV9WRVJTSU9OfS9odG1sL3dwZS0k
e1dQRV9BUElfVkVSU0lPTn0KKyAgICAgICAgICAgIERFU1RJTkFUSU9OICIke0NNQUtFX0lOU1RB
TExfREFUQURJUn0vZ3RrLWRvYy9odG1sIgorICAgICkKK2VuZGlmICgpCisKK0FERF9HVEtET0Nf
R0VORVJBVE9SKCJkb2NzLWJ1aWxkLnN0YW1wIiAiLS13cGUiKQoraWYgKEVOQUJMRV9HVEtET0Mp
CisgICAgYWRkX2N1c3RvbV90YXJnZXQoZ3RrZG9jIEFMTCBERVBFTkRTICIke0NNQUtFX0JJTkFS
WV9ESVJ9L2RvY3MtYnVpbGQuc3RhbXAiKQorZWxzZWlmIChOT1QgRU5BQkxFRF9DT01QSUxFUl9T
QU5JVElaRVJTIEFORCBOT1QgQ01BS0VfQ1JPU1NDT01QSUxJTkcgQU5EIE5PVCBBUFBMRSkKKyAg
ICBhZGRfY3VzdG9tX3RhcmdldChndGtkb2MgREVQRU5EUyAiJHtDTUFLRV9CSU5BUllfRElSfS9k
b2NzLWJ1aWxkLnN0YW1wIikKKworICAgICMgQWRkIGEgZGVmYXVsdCBidWlsZCBzdGVwIHdoaWNo
IGNoZWNrIHRoYXQgZG9jdW1lbnRhdGlvbiBkb2VzIG5vdCBoYXZlIGFueSB3YXJuaW5ncworICAg
ICMgb3IgZXJyb3JzLiBUaGlzIGlzIHVzZWZ1bCB0byBwcmV2ZW50IGJyZWFraW5nIGRvY3VtZW50
YXRpb24gaW5hZHZlcnRlbnRseSBkdXJpbmcKKyAgICAjIHRoZSBjb3Vyc2Ugb2YgZGV2ZWxvcG1l
bnQuCisgICAgaWYgKERFVkVMT1BFUl9NT0RFKQorICAgICAgICBBRERfR1RLRE9DX0dFTkVSQVRP
UigiZG9jcy1idWlsZC1uby1odG1sLnN0YW1wIiAiLS13cGU7LS1za2lwLWh0bWwiKQorICAgICAg
ICBhZGRfY3VzdG9tX3RhcmdldChndGtkb2Mtbm8taHRtbCBBTEwgREVQRU5EUyAiJHtDTUFLRV9C
SU5BUllfRElSfS9kb2NzLWJ1aWxkLW5vLWh0bWwuc3RhbXAiKQorICAgIGVuZGlmICgpCitlbmRp
ZiAoKQorCiBpZiAoREVWRUxPUEVSX01PREUpCi0gICAgIyBGSVhNRTogVGhpcyBzaG91bGQgZGVw
ZW5kIG9uIGEgZ3RrZG9jIHRhcmdldAotICAgIGFkZF9jdXN0b21fdGFyZ2V0KERvY3VtZW50YXRp
b24pCisgICAgYWRkX2N1c3RvbV90YXJnZXQoRG9jdW1lbnRhdGlvbiBERVBFTkRTIGd0a2RvYykK
ICAgICBXRUJLSVRfREVDTEFSRV9ESVNUX1RBUkdFVFMoV1BFIHdwZXdlYmtpdCAke1RPT0xTX0RJ
Un0vd3BlL21hbmlmZXN0LnR4dC5pbikKIGVuZGlmICgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1BsYXRmb3JtV1BFLmNtYWtlIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybVdQRS5jbWFrZQpp
bmRleCBmYzgzNTkxMWFhODE1OGQ1ZjdkMzAyNzNmYjM5N2Q2MWIwYmExYjcwLi5iZWRiM2Q1Yzli
OTg3ZGYxZTBiMzU3Y2MzOGIxNTAzNWZiYzMwYjFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1BsYXRmb3JtV1BFLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm1XUEUuY21ha2UK
QEAgLTksOCArOSw4IEBAIGZpbGUoTUFLRV9ESVJFQ1RPUlkgJHtGT1JXQVJESU5HX0hFQURFUlNf
V1BFX0RJUn0pCiBmaWxlKE1BS0VfRElSRUNUT1JZICR7Rk9SV0FSRElOR19IRUFERVJTX1dQRV9F
WFRFTlNJT05fRElSfSkKIGZpbGUoTUFLRV9ESVJFQ1RPUlkgJHtGT1JXQVJESU5HX0hFQURFUlNf
V1BFX0RPTV9ESVJ9KQogCi1jb25maWd1cmVfZmlsZSh3cGUvd3BlLXdlYmtpdC5wYy5pbiAke0NN
QUtFX0JJTkFSWV9ESVJ9L3dwZS13ZWJraXQtJHtXUEVfQVBJX1ZFUlNJT059LnBjIEBPTkxZKQot
Y29uZmlndXJlX2ZpbGUod3BlL3dwZS13ZWItZXh0ZW5zaW9uLnBjLmluICR7Q01BS0VfQklOQVJZ
X0RJUn0vd3BlLXdlYi1leHRlbnNpb24tJHtXUEVfQVBJX1ZFUlNJT059LnBjIEBPTkxZKQorY29u
ZmlndXJlX2ZpbGUod3BlL3dwZS13ZWJraXQucGMuaW4gJHtXUEVfUEtHQ09ORklHX0ZJTEV9IEBP
TkxZKQorY29uZmlndXJlX2ZpbGUod3BlL3dwZS13ZWItZXh0ZW5zaW9uLnBjLmluICR7V1BFV2Vi
RXh0ZW5zaW9uX1BLR0NPTkZJR19GSUxFfSBAT05MWSkKIAogYWRkX2RlZmluaXRpb25zKC1EV0VC
S0lUMl9DT01QSUxBVElPTikKIApAQCAtMTQ2LDYgKzE0Niw3IEBAIHNldChXUEVfQVBJX0lOU1RB
TExFRF9IRUFERVJTCiAgICAgJHtXRUJLSVRfRElSfS9VSVByb2Nlc3MvQVBJL3dwZS93ZWJraXQu
aAogKQogCisjIEZJWE1FOiBTZXBhcmF0ZSB3ZWItZXh0ZW5zaW9uIGFuZCBET00gaGVhZGVycyBp
biB0d28gZGlmZmVyZW50IGxpc3RzIGZvciBidWlsZGluZyBzZXBhcmF0ZSBkb2N1bWVudGF0aW9u
cy4KIHNldChXUEVfV0VCX0VYVEVOU0lPTl9BUElfSU5TVEFMTEVEX0hFQURFUlMKICAgICAke0RF
UklWRURfU09VUkNFU19XUEVfQVBJX0RJUn0vV2ViS2l0V2ViUHJvY2Vzc0VudW1UeXBlcy5oCiAg
ICAgJHtXRUJLSVRfRElSfS9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS93cGUvV2ViS2l0
Q29uc29sZU1lc3NhZ2UuaApAQCAtMzMxLDMgKzMzMiwyNCBAQCBpbnN0YWxsKEZJTEVTICR7V1BF
X0FQSV9JTlNUQUxMRURfSEVBREVSU30KICAgICAgICAgREVTVElOQVRJT04gIiR7Q01BS0VfSU5T
VEFMTF9JTkNMVURFRElSfS93cGUtd2Via2l0LSR7V1BFX0FQSV9WRVJTSU9OfS93cGUiCiAgICAg
ICAgIENPTVBPTkVOVCAiRGV2ZWxvcG1lbnQiCiApCisKKyMgRklYTUU6IFdlYkV4dGVuc2lvbiBB
UElzIGFyZSBub3QgaW5jbHVkZWQgeWV0LiBUaGUgbGlzdCBvZiBoZWFkZXJzIGZvciBXZWJFeHRl
bnNpb24gYWxzbyBoYXMgRE9NIGhlYWRlcnMuCitmaWxlKFdSSVRFICR7Q01BS0VfQklOQVJZX0RJ
Un0vZ3RrZG9jLXdwZS5jZmcKKyAgICAiW3dwZS0ke1dQRV9BUElfVkVSU0lPTn1dXG4iCisgICAg
InBrZ2NvbmZpZ19maWxlPSR7V1BFX1BLR0NPTkZJR19GSUxFfVxuIgorICAgICJkZWNvcmF0b3I9
V0VCS0lUX0FQSXxXRUJLSVRfREVQUkVDQVRFRHxXRUJLSVRfREVQUkVDQVRFRF9GT1JcXCguK1xc
KVxuIgorICAgICJkZXByZWNhdGlvbl9ndWFyZD1XRUJLSVRfRElTQUJMRV9ERVBSRUNBVEVEXG4i
CisgICAgIm5hbWVzcGFjZT13ZWJraXRcbiIKKyAgICAiY2ZsYWdzPS1JJHtDTUFLRV9TT1VSQ0Vf
RElSfS9Tb3VyY2VcbiIKKyAgICAiICAgICAgIC1JJHtXRUJLSVRfRElSfS9TaGFyZWQvQVBJL2ds
aWJcbiIKKyAgICAiICAgICAgIC1JJHtXRUJLSVRfRElSfS9VSVByb2Nlc3MvQVBJL2dsaWJcbiIK
KyAgICAiICAgICAgIC1JJHtXRUJLSVRfRElSfS9VSVByb2Nlc3MvQVBJL3dwZVxuIgorICAgICIg
ICAgICAgLUkke0ZPUldBUkRJTkdfSEVBREVSU19XUEVfRElSfVxuIgorICAgICJkb2NfZGlyPSR7
V0VCS0lUX0RJUn0vVUlQcm9jZXNzL0FQSS93cGUvZG9jc1xuIgorICAgICJzb3VyY2VfZGlycz0k
e1dFQktJVF9ESVJ9L1NoYXJlZC9BUEkvZ2xpYlxuIgorICAgICIgICAgICAgICAgICAke1dFQktJ
VF9ESVJ9L1VJUHJvY2Vzcy9BUEkvZ2xpYlxuIgorICAgICIgICAgICAgICAgICAke1dFQktJVF9E
SVJ9L1VJUHJvY2Vzcy9BUEkvd3BlXG4iCisgICAgIiAgICAgICAgICAgICR7REVSSVZFRF9TT1VS
Q0VTX1dQRV9BUElfRElSfVxuIgorICAgICJoZWFkZXJzPSR7V1BFX0VOVU1fR0VORVJBVElPTl9I
RUFERVJTfVxuIgorICAgICJtYWluX3NnbWxfZmlsZT13cGUtZG9jcy5zZ21sXG4iCispCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL1dlYktpdFdlYkNvbnRleHQu
aCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvV2ViS2l0V2ViQ29udGV4dC5oCmlu
ZGV4IDBlYjhmMzY3ZGU1NzQ3OTNiYjliNThjNWU0MDA0NDBjMTBiNzk4NDUuLmMxZDQ5M2M5OGU5
NDM2N2YwNDczYjQ0OWI4MzljYWU5MzMwOGMwYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS93cGUvV2ViS2l0V2ViQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS93cGUvV2ViS2l0V2ViQ29udGV4dC5oCkBAIC0yNDcsNiArMjQ3LDEzIEBA
IHdlYmtpdF93ZWJfY29udGV4dF9yZWdpc3Rlcl91cmlfc2NoZW1lICAgICAgICAgICAgICAoV2Vi
S2l0V2ViQ29udGV4dAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBncG9pbnRlciAgICAgICAgICAgICAgICAgICAgICAgdXNlcl9kYXRhLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHRGVzdHJv
eU5vdGlmeSAgICAgICAgICAgICAgICAgdXNlcl9kYXRhX2Rlc3Ryb3lfZnVuYyk7CiAKK1dFQktJ
VF9BUEkgdm9pZAord2Via2l0X3dlYl9jb250ZXh0X3NldF9zYW5kYm94X2VuYWJsZWQgICAgICAg
ICAgICAgIChXZWJLaXRXZWJDb250ZXh0ICAgICAgICAgICAgICAgKmNvbnRleHQsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdib29sZWFuICAg
ICAgICAgICAgICAgICAgICAgICBlbmFibGVkKTsKKworV0VCS0lUX0FQSSBnYm9vbGVhbgord2Vi
a2l0X3dlYl9jb250ZXh0X2dldF9zYW5kYm94X2VuYWJsZWQgICAgICAgICAgICAgIChXZWJLaXRX
ZWJDb250ZXh0ICAgICAgICAgICAgICAqY29udGV4dCk7CisKIFdFQktJVF9BUEkgZ2Jvb2xlYW4K
IHdlYmtpdF93ZWJfY29udGV4dF9nZXRfc3BlbGxfY2hlY2tpbmdfZW5hYmxlZCAgICAgICAoV2Vi
S2l0V2ViQ29udGV4dCAgICAgICAgICAgICAgKmNvbnRleHQpOwogCkBAIC0yOTYsMTMgKzMwMyw2
IEBAIHdlYmtpdF93ZWJfY29udGV4dF9zZXRfcHJvY2Vzc19tb2RlbCAgICAgICAgICAgICAgICAo
V2ViS2l0V2ViQ29udGV4dAogV0VCS0lUX0FQSSBXZWJLaXRQcm9jZXNzTW9kZWwKIHdlYmtpdF93
ZWJfY29udGV4dF9nZXRfcHJvY2Vzc19tb2RlbCAgICAgICAgICAgICAgICAoV2ViS2l0V2ViQ29u
dGV4dCAgICAgICAgICAgICAgKmNvbnRleHQpOwogCi1XRUJLSVRfQVBJIHZvaWQKLXdlYmtpdF93
ZWJfY29udGV4dF9zZXRfc2FuZGJveF9lbmFibGVkICAgICAgICAgICAgICAoV2ViS2l0V2ViQ29u
dGV4dCAgICAgICAgICAgICAgKmNvbnRleHQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGdib29sZWFuICAgICAgICAgICAgICAgICAgICAgICBl
bmFibGVkKTsKLQotV0VCS0lUX0FQSSBnYm9vbGVhbgotd2Via2l0X3dlYl9jb250ZXh0X2dldF9z
YW5kYm94X2VuYWJsZWQgICAgICAgICAgICAgIChXZWJLaXRXZWJDb250ZXh0ICAgICAgICAgICAg
ICAqY29udGV4dCk7Ci0KIFdFQktJVF9BUEkgdm9pZAogd2Via2l0X3dlYl9jb250ZXh0X2luaXRp
YWxpemVfbm90aWZpY2F0aW9uX3Blcm1pc3Npb25zCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgKFdlYktpdFdlYkNvbnRleHQgICAgICAgICAgICAg
ICpjb250ZXh0LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9k
b2NzL3dwZS0wLjEtc2VjdGlvbnMudHh0IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dw
ZS9kb2NzL3dwZS0wLjEtc2VjdGlvbnMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJmNTAyNTVmMWVhZThjNWVk
N2M5YTc1ODA5OTc3ZDViYTc0NWRlNmEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvd3BlL2RvY3Mvd3BlLTAuMS1zZWN0aW9ucy50eHQKQEAgLTAsMCArMSwx
Mjc0IEBACis8U0VDVElPTj4KKzxGSUxFPldlYktpdFdlYkNvbnRleHQ8L0ZJTEU+Cis8VElUTEU+
V2ViS2l0V2ViQ29udGV4dDwvVElUTEU+CitXZWJLaXRXZWJDb250ZXh0CitXZWJLaXRDYWNoZU1v
ZGVsCitXZWJLaXRQcm9jZXNzTW9kZWwKK1dlYktpdFRMU0Vycm9yc1BvbGljeQorV2ViS2l0TmV0
d29ya1Byb3h5TW9kZQord2Via2l0X3dlYl9jb250ZXh0X2dldF9kZWZhdWx0Cit3ZWJraXRfd2Vi
X2NvbnRleHRfbmV3Cit3ZWJraXRfd2ViX2NvbnRleHRfbmV3X2VwaGVtZXJhbAord2Via2l0X3dl
Yl9jb250ZXh0X25ld193aXRoX3dlYnNpdGVfZGF0YV9tYW5hZ2VyCit3ZWJraXRfd2ViX2NvbnRl
eHRfaXNfZXBoZW1lcmFsCit3ZWJraXRfd2ViX2NvbnRleHRfaXNfYXV0b21hdGlvbl9hbGxvd2Vk
Cit3ZWJraXRfd2ViX2NvbnRleHRfc2V0X2F1dG9tYXRpb25fYWxsb3dlZAord2Via2l0X3dlYl9j
b250ZXh0X2dldF93ZWJzaXRlX2RhdGFfbWFuYWdlcgord2Via2l0X3dlYl9jb250ZXh0X2dldF9j
YWNoZV9tb2RlbAord2Via2l0X3dlYl9jb250ZXh0X3NldF9jYWNoZV9tb2RlbAord2Via2l0X3dl
Yl9jb250ZXh0X2dldF93ZWJfcHJvY2Vzc19jb3VudF9saW1pdAord2Via2l0X3dlYl9jb250ZXh0
X3NldF93ZWJfcHJvY2Vzc19jb3VudF9saW1pdAord2Via2l0X3dlYl9jb250ZXh0X2NsZWFyX2Nh
Y2hlCit3ZWJraXRfd2ViX2NvbnRleHRfc2V0X25ldHdvcmtfcHJveHlfc2V0dGluZ3MKK3dlYmtp
dF93ZWJfY29udGV4dF9kb3dubG9hZF91cmkKK3dlYmtpdF93ZWJfY29udGV4dF9nZXRfY29va2ll
X21hbmFnZXIKK3dlYmtpdF93ZWJfY29udGV4dF9nZXRfZmF2aWNvbl9kYXRhYmFzZQord2Via2l0
X3dlYl9jb250ZXh0X3NldF9mYXZpY29uX2RhdGFiYXNlX2RpcmVjdG9yeQord2Via2l0X3dlYl9j
b250ZXh0X2dldF9mYXZpY29uX2RhdGFiYXNlX2RpcmVjdG9yeQord2Via2l0X3dlYl9jb250ZXh0
X2dldF9zZWN1cml0eV9tYW5hZ2VyCit3ZWJraXRfd2ViX2NvbnRleHRfc2V0X2FkZGl0aW9uYWxf
cGx1Z2luc19kaXJlY3RvcnkKK3dlYmtpdF93ZWJfY29udGV4dF9nZXRfcGx1Z2lucword2Via2l0
X3dlYl9jb250ZXh0X2dldF9wbHVnaW5zX2ZpbmlzaAord2Via2l0X3dlYl9jb250ZXh0X2dldF9z
YW5kYm94X2VuYWJsZWQKK3dlYmtpdF93ZWJfY29udGV4dF9zZXRfc2FuZGJveF9lbmFibGVkCit3
ZWJraXRfd2ViX2NvbnRleHRfZ2V0X3NwZWxsX2NoZWNraW5nX2VuYWJsZWQKK3dlYmtpdF93ZWJf
Y29udGV4dF9zZXRfc3BlbGxfY2hlY2tpbmdfZW5hYmxlZAord2Via2l0X3dlYl9jb250ZXh0X2dl
dF9zcGVsbF9jaGVja2luZ19sYW5ndWFnZXMKK3dlYmtpdF93ZWJfY29udGV4dF9zZXRfc3BlbGxf
Y2hlY2tpbmdfbGFuZ3VhZ2VzCit3ZWJraXRfd2ViX2NvbnRleHRfc2V0X3ByZWZlcnJlZF9sYW5n
dWFnZXMKK3dlYmtpdF93ZWJfY29udGV4dF9zZXRfdGxzX2Vycm9yc19wb2xpY3kKK3dlYmtpdF93
ZWJfY29udGV4dF9nZXRfdGxzX2Vycm9yc19wb2xpY3kKK3dlYmtpdF93ZWJfY29udGV4dF9zZXRf
d2ViX2V4dGVuc2lvbnNfZGlyZWN0b3J5Cit3ZWJraXRfd2ViX2NvbnRleHRfc2V0X3dlYl9leHRl
bnNpb25zX2luaXRpYWxpemF0aW9uX3VzZXJfZGF0YQord2Via2l0X3dlYl9jb250ZXh0X3ByZWZl
dGNoX2Rucword2Via2l0X3dlYl9jb250ZXh0X2FsbG93X3Rsc19jZXJ0aWZpY2F0ZV9mb3JfaG9z
dAord2Via2l0X3dlYl9jb250ZXh0X2dldF9wcm9jZXNzX21vZGVsCit3ZWJraXRfd2ViX2NvbnRl
eHRfc2V0X3Byb2Nlc3NfbW9kZWwKK3dlYmtpdF93ZWJfY29udGV4dF9pbml0aWFsaXplX25vdGlm
aWNhdGlvbl9wZXJtaXNzaW9ucworCis8U1VCU0VDVElPTiBVUkkgU2NoZW1lPgorV2ViS2l0VVJJ
U2NoZW1lUmVxdWVzdENhbGxiYWNrCit3ZWJraXRfd2ViX2NvbnRleHRfcmVnaXN0ZXJfdXJpX3Nj
aGVtZQorCis8U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dlYktpdFdlYkNvbnRleHRDbGFzcworV0VC
S0lUX1dFQl9DT05URVhUCitXRUJLSVRfSVNfV0VCX0NPTlRFWFQKK1dFQktJVF9UWVBFX1dFQl9D
T05URVhUCitXRUJLSVRfV0VCX0NPTlRFWFRfQ0xBU1MKK1dFQktJVF9JU19XRUJfQ09OVEVYVF9D
TEFTUworV0VCS0lUX1dFQl9DT05URVhUX0dFVF9DTEFTUworCis8U1VCU0VDVElPTiBQcml2YXRl
PgorV2ViS2l0V2ViQ29udGV4dFByaXZhdGUKK3dlYmtpdF93ZWJfY29udGV4dF9nZXRfdHlwZQor
PC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktpdFVzZXJDb250ZW50PC9GSUxFPgor
PFRJVExFPldlYktpdFVzZXJDb250ZW50PC9USVRMRT4KK1dlYktpdFVzZXJTdHlsZVNoZWV0CitX
ZWJLaXRVc2VyU2NyaXB0CitXZWJLaXRVc2VyQ29udGVudEluamVjdGVkRnJhbWVzCitXZWJLaXRV
c2VyU3R5bGVMZXZlbAorV2ViS2l0VXNlclNjcmlwdEluamVjdGlvblRpbWUKK3dlYmtpdF91c2Vy
X3N0eWxlX3NoZWV0X3JlZgord2Via2l0X3VzZXJfc3R5bGVfc2hlZXRfdW5yZWYKK3dlYmtpdF91
c2VyX3N0eWxlX3NoZWV0X25ldword2Via2l0X3VzZXJfc3R5bGVfc2hlZXRfbmV3X2Zvcl93b3Js
ZAord2Via2l0X3VzZXJfc2NyaXB0X3JlZgord2Via2l0X3VzZXJfc2NyaXB0X3VucmVmCit3ZWJr
aXRfdXNlcl9zY3JpcHRfbmV3Cit3ZWJraXRfdXNlcl9zY3JpcHRfbmV3X2Zvcl93b3JsZAorCis8
U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dFQktJVF9UWVBFX1VTRVJfU1RZTEVfU0hFRVQKK1dFQktJ
VF9UWVBFX1VTRVJfU0NSSVBUCisKKzxTVUJTRUNUSU9OIFByaXZhdGU+Cit3ZWJraXRfdXNlcl9z
dHlsZV9zaGVldF9nZXRfdHlwZQord2Via2l0X3VzZXJfc2NyaXB0X2dldF90eXBlCis8L1NFQ1RJ
T04+CisKKzxTRUNUSU9OPgorPEZJTEU+V2ViS2l0VXNlckNvbnRlbnRNYW5hZ2VyPC9GSUxFPgor
PFRJVExFPldlYktpdFVzZXJDb250ZW50TWFuYWdlcjwvVElUTEU+CitXZWJLaXRVc2VyQ29udGVu
dE1hbmFnZXIKK3dlYmtpdF91c2VyX2NvbnRlbnRfbWFuYWdlcl9uZXcKK3dlYmtpdF91c2VyX2Nv
bnRlbnRfbWFuYWdlcl9hZGRfc3R5bGVfc2hlZXQKK3dlYmtpdF91c2VyX2NvbnRlbnRfbWFuYWdl
cl9yZW1vdmVfYWxsX3N0eWxlX3NoZWV0cword2Via2l0X3VzZXJfY29udGVudF9tYW5hZ2VyX2Fk
ZF9zY3JpcHQKK3dlYmtpdF91c2VyX2NvbnRlbnRfbWFuYWdlcl9yZW1vdmVfYWxsX3NjcmlwdHMK
K3dlYmtpdF91c2VyX2NvbnRlbnRfbWFuYWdlcl9yZWdpc3Rlcl9zY3JpcHRfbWVzc2FnZV9oYW5k
bGVyCit3ZWJraXRfdXNlcl9jb250ZW50X21hbmFnZXJfdW5yZWdpc3Rlcl9zY3JpcHRfbWVzc2Fn
ZV9oYW5kbGVyCit3ZWJraXRfdXNlcl9jb250ZW50X21hbmFnZXJfcmVnaXN0ZXJfc2NyaXB0X21l
c3NhZ2VfaGFuZGxlcl9pbl93b3JsZAord2Via2l0X3VzZXJfY29udGVudF9tYW5hZ2VyX3VucmVn
aXN0ZXJfc2NyaXB0X21lc3NhZ2VfaGFuZGxlcl9pbl93b3JsZAorCis8U1VCU0VDVElPTiBTdGFu
ZGFyZD4KK1dFQktJVF9JU19VU0VSX0NPTlRFTlRfTUFOQUdFUgorV0VCS0lUX0lTX1VTRVJfQ09O
VEVOVF9NQU5BR0VSX0NMQVNTCitXRUJLSVRfVFlQRV9VU0VSX0NPTlRFTlRfTUFOQUdFUgorV0VC
S0lUX1VTRVJfQ09OVEVOVF9NQU5BR0VSCitXRUJLSVRfVVNFUl9DT05URU5UX01BTkFHRVJfQ0xB
U1MKK1dFQktJVF9VU0VSX0NPTlRFTlRfTUFOQUdFUl9HRVRfQ0xBU1MKK1dlYktpdFVzZXJDb250
ZW50TWFuYWdlckNsYXNzCisKKzxTVUJTRUNUSU9OIFByaXZhdGU+CitXZWJLaXRVc2VyQ29udGVu
dE1hbmFnZXJQcml2YXRlCit3ZWJraXRfdXNlcl9jb250ZW50X21hbmFnZXJfZ2V0X3R5cGUKKzwv
U0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXRXZWJWaWV3PC9GSUxFPgorPFRJVExF
PldlYktpdFdlYlZpZXc8L1RJVExFPgorV2ViS2l0V2ViVmlldworV2ViS2l0TG9hZEV2ZW50CitX
ZWJLaXRQb2xpY3lEZWNpc2lvblR5cGUKK1dlYktpdFNhdmVNb2RlCitXZWJLaXRJbnNlY3VyZUNv
bnRlbnRFdmVudAorV2ViS2l0V2ViUHJvY2Vzc1Rlcm1pbmF0aW9uUmVhc29uCisKKzxTVUJTRUNU
SU9OIEVkaXRpbmcgQ29tbWFuZHM+CitXRUJLSVRfRURJVElOR19DT01NQU5EX0NVVAorV0VCS0lU
X0VESVRJTkdfQ09NTUFORF9DT1BZCitXRUJLSVRfRURJVElOR19DT01NQU5EX1BBU1RFCitXRUJL
SVRfRURJVElOR19DT01NQU5EX1NFTEVDVF9BTEwKK1dFQktJVF9FRElUSU5HX0NPTU1BTkRfVU5E
TworV0VCS0lUX0VESVRJTkdfQ09NTUFORF9SRURPCitXRUJLSVRfRURJVElOR19DT01NQU5EX0lO
U0VSVF9JTUFHRQorV0VCS0lUX0VESVRJTkdfQ09NTUFORF9DUkVBVEVfTElOSworCis8U1VCU0VD
VElPTj4KK3dlYmtpdF93ZWJfdmlld19uZXcKK3dlYmtpdF93ZWJfdmlld19uZXdfd2l0aF9jb250
ZXh0Cit3ZWJraXRfd2ViX3ZpZXdfbmV3X3dpdGhfcmVsYXRlZF92aWV3Cit3ZWJraXRfd2ViX3Zp
ZXdfbmV3X3dpdGhfc2V0dGluZ3MKK3dlYmtpdF93ZWJfdmlld19uZXdfd2l0aF91c2VyX2NvbnRl
bnRfbWFuYWdlcgord2Via2l0X3dlYl92aWV3X2dldF9iYWNrZW5kCit3ZWJraXRfd2ViX3ZpZXdf
aXNfZXBoZW1lcmFsCit3ZWJraXRfd2ViX3ZpZXdfaXNfY29udHJvbGxlZF9ieV9hdXRvbWF0aW9u
Cit3ZWJraXRfd2ViX3ZpZXdfZ2V0X2NvbnRleHQKK3dlYmtpdF93ZWJfdmlld19nZXRfdXNlcl9j
b250ZW50X21hbmFnZXIKK3dlYmtpdF93ZWJfdmlld19nZXRfd2Vic2l0ZV9kYXRhX21hbmFnZXIK
K3dlYmtpdF93ZWJfdmlld190cnlfY2xvc2UKK3dlYmtpdF93ZWJfdmlld19sb2FkX3VyaQord2Vi
a2l0X3dlYl92aWV3X2xvYWRfaHRtbAord2Via2l0X3dlYl92aWV3X2xvYWRfYWx0ZXJuYXRlX2h0
bWwKK3dlYmtpdF93ZWJfdmlld19sb2FkX3BsYWluX3RleHQKK3dlYmtpdF93ZWJfdmlld19sb2Fk
X2J5dGVzCit3ZWJraXRfd2ViX3ZpZXdfbG9hZF9yZXF1ZXN0Cit3ZWJraXRfd2ViX3ZpZXdfY2Fu
X2dvX2JhY2sKK3dlYmtpdF93ZWJfdmlld19nb19iYWNrCit3ZWJraXRfd2ViX3ZpZXdfY2FuX2dv
X2ZvcndhcmQKK3dlYmtpdF93ZWJfdmlld19nb19mb3J3YXJkCit3ZWJraXRfd2ViX3ZpZXdfZ2V0
X3RpdGxlCit3ZWJraXRfd2ViX3ZpZXdfZ2V0X3BhZ2VfaWQKK3dlYmtpdF93ZWJfdmlld19yZWxv
YWQKK3dlYmtpdF93ZWJfdmlld19yZWxvYWRfYnlwYXNzX2NhY2hlCit3ZWJraXRfd2ViX3ZpZXdf
c3RvcF9sb2FkaW5nCit3ZWJraXRfd2ViX3ZpZXdfaXNfbG9hZGluZword2Via2l0X3dlYl92aWV3
X2lzX3BsYXlpbmdfYXVkaW8KK3dlYmtpdF93ZWJfdmlld19nZXRfZXN0aW1hdGVkX2xvYWRfcHJv
Z3Jlc3MKK3dlYmtpdF93ZWJfdmlld19nZXRfY3VzdG9tX2NoYXJzZXQKK3dlYmtpdF93ZWJfdmll
d19zZXRfY3VzdG9tX2NoYXJzZXQKK3dlYmtpdF93ZWJfdmlld19nZXRfYmFja19mb3J3YXJkX2xp
c3QKK3dlYmtpdF93ZWJfdmlld19nb190b19iYWNrX2ZvcndhcmRfbGlzdF9pdGVtCit3ZWJraXRf
d2ViX3ZpZXdfZ2V0X3VyaQord2Via2l0X3dlYl92aWV3X3NldF9zZXR0aW5ncword2Via2l0X3dl
Yl92aWV3X2dldF9zZXR0aW5ncword2Via2l0X3dlYl92aWV3X2dldF93aW5kb3dfcHJvcGVydGll
cword2Via2l0X3dlYl92aWV3X3NldF96b29tX2xldmVsCit3ZWJraXRfd2ViX3ZpZXdfZ2V0X3pv
b21fbGV2ZWwKK3dlYmtpdF93ZWJfdmlld19jYW5fZXhlY3V0ZV9lZGl0aW5nX2NvbW1hbmQKK3dl
YmtpdF93ZWJfdmlld19jYW5fZXhlY3V0ZV9lZGl0aW5nX2NvbW1hbmRfZmluaXNoCit3ZWJraXRf
d2ViX3ZpZXdfZXhlY3V0ZV9lZGl0aW5nX2NvbW1hbmQKK3dlYmtpdF93ZWJfdmlld19leGVjdXRl
X2VkaXRpbmdfY29tbWFuZF93aXRoX2FyZ3VtZW50Cit3ZWJraXRfd2ViX3ZpZXdfZ2V0X2ZpbmRf
Y29udHJvbGxlcgord2Via2l0X3dlYl92aWV3X3J1bl9qYXZhc2NyaXB0Cit3ZWJraXRfd2ViX3Zp
ZXdfcnVuX2phdmFzY3JpcHRfZmluaXNoCit3ZWJraXRfd2ViX3ZpZXdfcnVuX2phdmFzY3JpcHRf
aW5fd29ybGQKK3dlYmtpdF93ZWJfdmlld19ydW5famF2YXNjcmlwdF9pbl93b3JsZF9maW5pc2gK
K3dlYmtpdF93ZWJfdmlld19ydW5famF2YXNjcmlwdF9mcm9tX2dyZXNvdXJjZQord2Via2l0X3dl
Yl92aWV3X3J1bl9qYXZhc2NyaXB0X2Zyb21fZ3Jlc291cmNlX2ZpbmlzaAord2Via2l0X3dlYl92
aWV3X2Nhbl9zaG93X21pbWVfdHlwZQord2Via2l0X3dlYl92aWV3X3NhdmUKK3dlYmtpdF93ZWJf
dmlld19zYXZlX2ZpbmlzaAord2Via2l0X3dlYl92aWV3X3NhdmVfdG9fZmlsZQord2Via2l0X3dl
Yl92aWV3X3NhdmVfdG9fZmlsZV9maW5pc2gKK3dlYmtpdF93ZWJfdmlld19kb3dubG9hZF91cmkK
K3dlYmtpdF93ZWJfdmlld19nZXRfdGxzX2luZm8KK3dlYmtpdF93ZWJfdmlld19zZXRfZWRpdGFi
bGUKK3dlYmtpdF93ZWJfdmlld19pc19lZGl0YWJsZQord2Via2l0X3dlYl92aWV3X2dldF9lZGl0
b3Jfc3RhdGUKK3dlYmtpdF93ZWJfdmlld19nZXRfc2Vzc2lvbl9zdGF0ZQord2Via2l0X3dlYl92
aWV3X3Jlc3RvcmVfc2Vzc2lvbl9zdGF0ZQord2Via2l0X3dlYl92aWV3X2dldF9tYWluX3Jlc291
cmNlCisKKzxTVUJTRUNUSU9OIFdlYktpdEphdmFzY3JpcHRSZXN1bHQ+CitXZWJLaXRKYXZhc2Ny
aXB0UmVzdWx0Cit3ZWJraXRfamF2YXNjcmlwdF9yZXN1bHRfcmVmCit3ZWJraXRfamF2YXNjcmlw
dF9yZXN1bHRfdW5yZWYKK3dlYmtpdF9qYXZhc2NyaXB0X3Jlc3VsdF9nZXRfanNfdmFsdWUKKwor
PFNVQlNFQ1RJT04gV2ViS2l0U2NyaXB0RGlhbG9nPgorV2ViS2l0U2NyaXB0RGlhbG9nCitXZWJL
aXRTY3JpcHREaWFsb2dUeXBlCit3ZWJraXRfc2NyaXB0X2RpYWxvZ19yZWYKK3dlYmtpdF9zY3Jp
cHRfZGlhbG9nX3VucmVmCit3ZWJraXRfc2NyaXB0X2RpYWxvZ19nZXRfZGlhbG9nX3R5cGUKK3dl
YmtpdF9zY3JpcHRfZGlhbG9nX2dldF9tZXNzYWdlCit3ZWJraXRfc2NyaXB0X2RpYWxvZ19jb25m
aXJtX3NldF9jb25maXJtZWQKK3dlYmtpdF9zY3JpcHRfZGlhbG9nX3Byb21wdF9nZXRfZGVmYXVs
dF90ZXh0Cit3ZWJraXRfc2NyaXB0X2RpYWxvZ19wcm9tcHRfc2V0X3RleHQKK3dlYmtpdF9zY3Jp
cHRfZGlhbG9nX2Nsb3NlCisKKzxTVUJTRUNUSU9OIFdlYktpdFdlYlZpZXdTZXNzaW9uU3RhdGU+
CitXZWJLaXRXZWJWaWV3U2Vzc2lvblN0YXRlCit3ZWJraXRfd2ViX3ZpZXdfc2Vzc2lvbl9zdGF0
ZV9uZXcKK3dlYmtpdF93ZWJfdmlld19zZXNzaW9uX3N0YXRlX3JlZgord2Via2l0X3dlYl92aWV3
X3Nlc3Npb25fc3RhdGVfdW5yZWYKK3dlYmtpdF93ZWJfdmlld19zZXNzaW9uX3N0YXRlX3Nlcmlh
bGl6ZQorCis8U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dlYktpdFdlYlZpZXdDbGFzcworV0VCS0lU
X1dFQl9WSUVXCitXRUJLSVRfSVNfV0VCX1ZJRVcKK1dFQktJVF9UWVBFX1dFQl9WSUVXCitXRUJL
SVRfV0VCX1ZJRVdfQ0xBU1MKK1dFQktJVF9JU19XRUJfVklFV19DTEFTUworV0VCS0lUX1dFQl9W
SUVXX0dFVF9DTEFTUworV0VCS0lUX1RZUEVfSkFWQVNDUklQVF9SRVNVTFQKK1dFQktJVF9UWVBF
X1NDUklQVF9ESUFMT0cKK1dFQktJVF9UWVBFX1dFQl9WSUVXX1NFU1NJT05fU1RBVEUKKworPFNV
QlNFQ1RJT04gUHJpdmF0ZT4KK3dlYmtpdF93ZWJfdmlld19nZXRfdHlwZQord2Via2l0X2phdmFz
Y3JpcHRfcmVzdWx0X2dldF90eXBlCit3ZWJraXRfc2NyaXB0X2RpYWxvZ19nZXRfdHlwZQord2Vi
a2l0X3dlYl92aWV3X3Nlc3Npb25fc3RhdGVfZ2V0X3R5cGUKK1dlYktpdFdlYlZpZXdQcml2YXRl
CitXRUJLSVRfQVBJCitXRUJLSVRfREVQUkVDQVRFRAorV0VCS0lUX0RFUFJFQ0FURURfRk9SCis8
L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+V2ViS2l0V2ViVmlld0JhY2tlbmQ8L0ZJTEU+
CitXRUJLSVRfVFlQRV9XRUJfVklFV19CQUNLRU5ECitXZWJLaXRXZWJWaWV3QmFja2VuZAord2Vi
a2l0X3dlYl92aWV3X2JhY2tlbmRfZ2V0X3dwZV9iYWNrZW5kCit3ZWJraXRfd2ViX3ZpZXdfYmFj
a2VuZF9uZXcKKworPFNVQlNFQ1RJT04gUHJpdmF0ZT4KK3dlYmtpdF93ZWJfdmlld19iYWNrZW5k
X2dldF90eXBlCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+V2ViS2l0QXV0aGVudGlj
YXRpb25SZXF1ZXN0PC9GSUxFPgorV2ViS2l0QXV0aGVudGljYXRpb25SZXF1ZXN0CitXZWJLaXRB
dXRoZW50aWNhdGlvblNjaGVtZQord2Via2l0X2F1dGhlbnRpY2F0aW9uX3JlcXVlc3RfYXV0aGVu
dGljYXRlCit3ZWJraXRfYXV0aGVudGljYXRpb25fcmVxdWVzdF9jYW5jZWwKK3dlYmtpdF9hdXRo
ZW50aWNhdGlvbl9yZXF1ZXN0X2Nhbl9zYXZlX2NyZWRlbnRpYWxzCit3ZWJraXRfYXV0aGVudGlj
YXRpb25fcmVxdWVzdF9nZXRfaG9zdAord2Via2l0X2F1dGhlbnRpY2F0aW9uX3JlcXVlc3RfZ2V0
X3BvcnQKK3dlYmtpdF9hdXRoZW50aWNhdGlvbl9yZXF1ZXN0X2lzX3JldHJ5Cit3ZWJraXRfYXV0
aGVudGljYXRpb25fcmVxdWVzdF9nZXRfcHJvcG9zZWRfY3JlZGVudGlhbAord2Via2l0X2F1dGhl
bnRpY2F0aW9uX3JlcXVlc3RfZ2V0X3JlYWxtCit3ZWJraXRfYXV0aGVudGljYXRpb25fcmVxdWVz
dF9nZXRfc2NoZW1lCit3ZWJraXRfYXV0aGVudGljYXRpb25fcmVxdWVzdF9pc19mb3JfcHJveHkK
KworPFNVQlNFQ1RJT04gU3RhbmRhcmQ+CitXZWJLaXRBdXRoZW50aWNhdGlvblJlcXVlc3RDbGFz
cworV0VCS0lUX1RZUEVfQVVUSEVOVElDQVRJT05fUkVRVUVTVAorV0VCS0lUX0FVVEhFTlRJQ0FU
SU9OX1JFUVVFU1QKK1dFQktJVF9BVVRIRU5USUNBVElPTl9SRVFVRVNUX0NMQVNTCitXRUJLSVRf
QVVUSEVOVElDQVRJT05fUkVRVUVTVF9HRVRfQ0xBU1MKK1dFQktJVF9JU19BVVRIRU5USUNBVElP
Tl9SRVFVRVNUCitXRUJLSVRfSVNfQVVUSEVOVElDQVRJT05fUkVRVUVTVF9DTEFTUworV0VCS0lU
X1RZUEVfQ1JFREVOVElBTAorCis8U1VCU0VDVElPTiBQcml2YXRlPgorV2ViS2l0QXV0aGVudGlj
YXRpb25SZXF1ZXN0UHJpdmF0ZQord2Via2l0X2F1dGhlbnRpY2F0aW9uX3JlcXVlc3RfZ2V0X3R5
cGUKK3dlYmtpdF9jcmVkZW50aWFsX2dldF90eXBlCisKKzxTVUJTRUNUSU9OPgorV2ViS2l0Q3Jl
ZGVudGlhbAorV2ViS2l0Q3JlZGVudGlhbFBlcnNpc3RlbmNlCit3ZWJraXRfY3JlZGVudGlhbF9u
ZXcKK3dlYmtpdF9jcmVkZW50aWFsX2NvcHkKK3dlYmtpdF9jcmVkZW50aWFsX2ZyZWUKK3dlYmtp
dF9jcmVkZW50aWFsX2dldF9wYXNzd29yZAord2Via2l0X2NyZWRlbnRpYWxfZ2V0X3BlcnNpc3Rl
bmNlCit3ZWJraXRfY3JlZGVudGlhbF9nZXRfdXNlcm5hbWUKK3dlYmtpdF9jcmVkZW50aWFsX2hh
c19wYXNzd29yZAorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktpdEJhY2tGb3J3
YXJkTGlzdDwvRklMRT4KK1dlYktpdEJhY2tGb3J3YXJkTGlzdAord2Via2l0X2JhY2tfZm9yd2Fy
ZF9saXN0X2dldF9sZW5ndGgKK3dlYmtpdF9iYWNrX2ZvcndhcmRfbGlzdF9nZXRfY3VycmVudF9p
dGVtCit3ZWJraXRfYmFja19mb3J3YXJkX2xpc3RfZ2V0X2JhY2tfaXRlbQord2Via2l0X2JhY2tf
Zm9yd2FyZF9saXN0X2dldF9mb3J3YXJkX2l0ZW0KK3dlYmtpdF9iYWNrX2ZvcndhcmRfbGlzdF9n
ZXRfbnRoX2l0ZW0KK3dlYmtpdF9iYWNrX2ZvcndhcmRfbGlzdF9nZXRfYmFja19saXN0Cit3ZWJr
aXRfYmFja19mb3J3YXJkX2xpc3RfZ2V0X2JhY2tfbGlzdF93aXRoX2xpbWl0Cit3ZWJraXRfYmFj
a19mb3J3YXJkX2xpc3RfZ2V0X2ZvcndhcmRfbGlzdAord2Via2l0X2JhY2tfZm9yd2FyZF9saXN0
X2dldF9mb3J3YXJkX2xpc3Rfd2l0aF9saW1pdAorCis8U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dl
YktpdEJhY2tGb3J3YXJkTGlzdENsYXNzCitXRUJLSVRfVFlQRV9CQUNLX0ZPUldBUkRfTElTVAor
V0VCS0lUX0JBQ0tfRk9SV0FSRF9MSVNUCitXRUJLSVRfSVNfQkFDS19GT1JXQVJEX0xJU1QKK1dF
QktJVF9CQUNLX0ZPUldBUkRfTElTVF9DTEFTUworV0VCS0lUX0lTX0JBQ0tfRk9SV0FSRF9MSVNU
X0NMQVNTCitXRUJLSVRfQkFDS19GT1JXQVJEX0xJU1RfR0VUX0NMQVNTCisKKzxTVUJTRUNUSU9O
IFByaXZhdGU+CitXZWJLaXRCYWNrRm9yd2FyZExpc3RQcml2YXRlCit3ZWJraXRfYmFja19mb3J3
YXJkX2xpc3RfZ2V0X3R5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXRC
YWNrRm9yd2FyZExpc3RJdGVtPC9GSUxFPgorV2ViS2l0QmFja0ZvcndhcmRMaXN0SXRlbQord2Vi
a2l0X2JhY2tfZm9yd2FyZF9saXN0X2l0ZW1fZ2V0X3RpdGxlCit3ZWJraXRfYmFja19mb3J3YXJk
X2xpc3RfaXRlbV9nZXRfdXJpCit3ZWJraXRfYmFja19mb3J3YXJkX2xpc3RfaXRlbV9nZXRfb3Jp
Z2luYWxfdXJpCisKKzxTVUJTRUNUSU9OIFN0YW5kYXJkPgorV2ViS2l0QmFja0ZvcndhcmRMaXN0
SXRlbUNsYXNzCitXRUJLSVRfVFlQRV9CQUNLX0ZPUldBUkRfTElTVF9JVEVNCitXRUJLSVRfQkFD
S19GT1JXQVJEX0xJU1RfSVRFTQorV0VCS0lUX0lTX0JBQ0tfRk9SV0FSRF9MSVNUX0lURU0KK1dF
QktJVF9CQUNLX0ZPUldBUkRfTElTVF9JVEVNX0NMQVNTCitXRUJLSVRfSVNfQkFDS19GT1JXQVJE
X0xJU1RfSVRFTV9DTEFTUworV0VCS0lUX0JBQ0tfRk9SV0FSRF9MSVNUX0lURU1fR0VUX0NMQVNT
CisKKzxTVUJTRUNUSU9OIFByaXZhdGU+CitXZWJLaXRCYWNrRm9yd2FyZExpc3RJdGVtUHJpdmF0
ZQord2Via2l0X2JhY2tfZm9yd2FyZF9saXN0X2l0ZW1fZ2V0X3R5cGUKKzwvU0VDVElPTj4KKwor
PFNFQ1RJT04+Cis8RklMRT5XZWJLaXRTZXR0aW5nczwvRklMRT4KK1dlYktpdFNldHRpbmdzCit3
ZWJraXRfc2V0dGluZ3NfbmV3Cit3ZWJraXRfc2V0dGluZ3NfbmV3X3dpdGhfc2V0dGluZ3MKK3dl
YmtpdF9zZXR0aW5nc19nZXRfYXV0b19sb2FkX2ltYWdlcword2Via2l0X3NldHRpbmdzX3NldF9h
dXRvX2xvYWRfaW1hZ2VzCit3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9mcmFtZV9mbGF0dGVu
aW5nCit3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV9mcmFtZV9mbGF0dGVuaW5nCit3ZWJraXRf
c2V0dGluZ3NfZ2V0X2VuYWJsZV9odG1sNV9kYXRhYmFzZQord2Via2l0X3NldHRpbmdzX3NldF9l
bmFibGVfaHRtbDVfZGF0YWJhc2UKK3dlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX2h0bWw1X2xv
Y2FsX3N0b3JhZ2UKK3dlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX2h0bWw1X2xvY2FsX3N0b3Jh
Z2UKK3dlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX2h5cGVybGlua19hdWRpdGluZword2Via2l0
X3NldHRpbmdzX3NldF9lbmFibGVfaHlwZXJsaW5rX2F1ZGl0aW5nCit3ZWJraXRfc2V0dGluZ3Nf
Z2V0X2VuYWJsZV9qYXZhCit3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV9qYXZhCit3ZWJraXRf
c2V0dGluZ3NfZ2V0X2VuYWJsZV9qYXZhc2NyaXB0Cit3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJs
ZV9qYXZhc2NyaXB0Cit3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9vZmZsaW5lX3dlYl9hcHBs
aWNhdGlvbl9jYWNoZQord2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfb2ZmbGluZV93ZWJfYXBw
bGljYXRpb25fY2FjaGUKK3dlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX3BsdWdpbnMKK3dlYmtp
dF9zZXR0aW5nc19zZXRfZW5hYmxlX3BsdWdpbnMKK3dlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxl
X3hzc19hdWRpdG9yCit3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV94c3NfYXVkaXRvcgord2Vi
a2l0X3NldHRpbmdzX2dldF9qYXZhc2NyaXB0X2Nhbl9vcGVuX3dpbmRvd3NfYXV0b21hdGljYWxs
eQord2Via2l0X3NldHRpbmdzX3NldF9qYXZhc2NyaXB0X2Nhbl9vcGVuX3dpbmRvd3NfYXV0b21h
dGljYWxseQord2Via2l0X3NldHRpbmdzX2dldF9sb2FkX2ljb25zX2lnbm9yaW5nX2ltYWdlX2xv
YWRfc2V0dGluZword2Via2l0X3NldHRpbmdzX3NldF9sb2FkX2ljb25zX2lnbm9yaW5nX2ltYWdl
X2xvYWRfc2V0dGluZword2Via2l0X3NldHRpbmdzX2dldF9kZWZhdWx0X2ZvbnRfZmFtaWx5Cit3
ZWJraXRfc2V0dGluZ3Nfc2V0X2RlZmF1bHRfZm9udF9mYW1pbHkKK3dlYmtpdF9zZXR0aW5nc19n
ZXRfbW9ub3NwYWNlX2ZvbnRfZmFtaWx5Cit3ZWJraXRfc2V0dGluZ3Nfc2V0X21vbm9zcGFjZV9m
b250X2ZhbWlseQord2Via2l0X3NldHRpbmdzX2dldF9zZXJpZl9mb250X2ZhbWlseQord2Via2l0
X3NldHRpbmdzX3NldF9zZXJpZl9mb250X2ZhbWlseQord2Via2l0X3NldHRpbmdzX2dldF9zYW5z
X3NlcmlmX2ZvbnRfZmFtaWx5Cit3ZWJraXRfc2V0dGluZ3Nfc2V0X3NhbnNfc2VyaWZfZm9udF9m
YW1pbHkKK3dlYmtpdF9zZXR0aW5nc19nZXRfY3Vyc2l2ZV9mb250X2ZhbWlseQord2Via2l0X3Nl
dHRpbmdzX3NldF9jdXJzaXZlX2ZvbnRfZmFtaWx5Cit3ZWJraXRfc2V0dGluZ3NfZ2V0X2ZhbnRh
c3lfZm9udF9mYW1pbHkKK3dlYmtpdF9zZXR0aW5nc19zZXRfZmFudGFzeV9mb250X2ZhbWlseQor
d2Via2l0X3NldHRpbmdzX2dldF9waWN0b2dyYXBoX2ZvbnRfZmFtaWx5Cit3ZWJraXRfc2V0dGlu
Z3Nfc2V0X3BpY3RvZ3JhcGhfZm9udF9mYW1pbHkKK3dlYmtpdF9zZXR0aW5nc19nZXRfZGVmYXVs
dF9mb250X3NpemUKK3dlYmtpdF9zZXR0aW5nc19zZXRfZGVmYXVsdF9mb250X3NpemUKK3dlYmtp
dF9zZXR0aW5nc19nZXRfZGVmYXVsdF9tb25vc3BhY2VfZm9udF9zaXplCit3ZWJraXRfc2V0dGlu
Z3Nfc2V0X2RlZmF1bHRfbW9ub3NwYWNlX2ZvbnRfc2l6ZQord2Via2l0X3NldHRpbmdzX2dldF9t
aW5pbXVtX2ZvbnRfc2l6ZQord2Via2l0X3NldHRpbmdzX3NldF9taW5pbXVtX2ZvbnRfc2l6ZQor
d2Via2l0X3NldHRpbmdzX2dldF9kZWZhdWx0X2NoYXJzZXQKK3dlYmtpdF9zZXR0aW5nc19zZXRf
ZGVmYXVsdF9jaGFyc2V0Cit3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9kZXZlbG9wZXJfZXh0
cmFzCit3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV9kZXZlbG9wZXJfZXh0cmFzCit3ZWJraXRf
c2V0dGluZ3NfZ2V0X2VuYWJsZV9yZXNpemFibGVfdGV4dF9hcmVhcword2Via2l0X3NldHRpbmdz
X3NldF9lbmFibGVfcmVzaXphYmxlX3RleHRfYXJlYXMKK3dlYmtpdF9zZXR0aW5nc19nZXRfZW5h
YmxlX3RhYnNfdG9fbGlua3MKK3dlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX3RhYnNfdG9fbGlu
a3MKK3dlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX2Ruc19wcmVmZXRjaGluZword2Via2l0X3Nl
dHRpbmdzX3NldF9lbmFibGVfZG5zX3ByZWZldGNoaW5nCit3ZWJraXRfc2V0dGluZ3NfZ2V0X2Vu
YWJsZV9jYXJldF9icm93c2luZword2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfY2FyZXRfYnJv
d3NpbmcKK3dlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX2Z1bGxzY3JlZW4KK3dlYmtpdF9zZXR0
aW5nc19zZXRfZW5hYmxlX2Z1bGxzY3JlZW4KK3dlYmtpdF9zZXR0aW5nc19nZXRfcHJpbnRfYmFj
a2dyb3VuZHMKK3dlYmtpdF9zZXR0aW5nc19zZXRfcHJpbnRfYmFja2dyb3VuZHMKK3dlYmtpdF9z
ZXR0aW5nc19nZXRfZW5hYmxlX3dlYmF1ZGlvCit3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV93
ZWJhdWRpbword2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfd2ViZ2wKK3dlYmtpdF9zZXR0aW5n
c19zZXRfZW5hYmxlX3dlYmdsCit3ZWJraXRfc2V0dGluZ3Nfc2V0X2FsbG93X21vZGFsX2RpYWxv
Z3MKK3dlYmtpdF9zZXR0aW5nc19nZXRfYWxsb3dfbW9kYWxfZGlhbG9ncword2Via2l0X3NldHRp
bmdzX2dldF96b29tX3RleHRfb25seQord2Via2l0X3NldHRpbmdzX3NldF96b29tX3RleHRfb25s
eQord2Via2l0X3NldHRpbmdzX2dldF9qYXZhc2NyaXB0X2Nhbl9hY2Nlc3NfY2xpcGJvYXJkCit3
ZWJraXRfc2V0dGluZ3Nfc2V0X2phdmFzY3JpcHRfY2FuX2FjY2Vzc19jbGlwYm9hcmQKK3dlYmtp
dF9zZXR0aW5nc19nZXRfbWVkaWFfcGxheWJhY2tfcmVxdWlyZXNfdXNlcl9nZXN0dXJlCit3ZWJr
aXRfc2V0dGluZ3Nfc2V0X21lZGlhX3BsYXliYWNrX3JlcXVpcmVzX3VzZXJfZ2VzdHVyZQord2Vi
a2l0X3NldHRpbmdzX2dldF9tZWRpYV9wbGF5YmFja19hbGxvd3NfaW5saW5lCit3ZWJraXRfc2V0
dGluZ3Nfc2V0X21lZGlhX3BsYXliYWNrX2FsbG93c19pbmxpbmUKK3dlYmtpdF9zZXR0aW5nc19n
ZXRfZHJhd19jb21wb3NpdGluZ19pbmRpY2F0b3JzCit3ZWJraXRfc2V0dGluZ3Nfc2V0X2RyYXdf
Y29tcG9zaXRpbmdfaW5kaWNhdG9ycword2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfc2l0ZV9z
cGVjaWZpY19xdWlya3MKK3dlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX3NpdGVfc3BlY2lmaWNf
cXVpcmtzCit3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9wYWdlX2NhY2hlCit3ZWJraXRfc2V0
dGluZ3Nfc2V0X2VuYWJsZV9wYWdlX2NhY2hlCit3ZWJraXRfc2V0dGluZ3NfZ2V0X3VzZXJfYWdl
bnQKK3dlYmtpdF9zZXR0aW5nc19zZXRfdXNlcl9hZ2VudAord2Via2l0X3NldHRpbmdzX3NldF91
c2VyX2FnZW50X3dpdGhfYXBwbGljYXRpb25fZGV0YWlscword2Via2l0X3NldHRpbmdzX2dldF9l
bmFibGVfc21vb3RoX3Njcm9sbGluZword2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfc21vb3Ro
X3Njcm9sbGluZword2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfYWNjZWxlcmF0ZWRfMmRfY2Fu
dmFzCit3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV9hY2NlbGVyYXRlZF8yZF9jYW52YXMKK3dl
YmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX3dyaXRlX2NvbnNvbGVfbWVzc2FnZXNfdG9fc3Rkb3V0
Cit3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV93cml0ZV9jb25zb2xlX21lc3NhZ2VzX3RvX3N0
ZG91dAord2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfbWVkaWFfc3RyZWFtCit3ZWJraXRfc2V0
dGluZ3Nfc2V0X2VuYWJsZV9tZWRpYV9zdHJlYW0KK3dlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxl
X3NwYXRpYWxfbmF2aWdhdGlvbgord2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfc3BhdGlhbF9u
YXZpZ2F0aW9uCit3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9tZWRpYXNvdXJjZQord2Via2l0
X3NldHRpbmdzX3NldF9lbmFibGVfbWVkaWFzb3VyY2UKK3dlYmtpdF9zZXR0aW5nc19nZXRfZW5h
YmxlX2VuY3J5cHRlZF9tZWRpYQord2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfZW5jcnlwdGVk
X21lZGlhCit3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9tZWRpYV9jYXBhYmlsaXRpZXMKK3dl
YmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX21lZGlhX2NhcGFiaWxpdGllcword2Via2l0X3NldHRp
bmdzX2dldF9hbGxvd19maWxlX2FjY2Vzc19mcm9tX2ZpbGVfdXJscword2Via2l0X3NldHRpbmdz
X3NldF9hbGxvd19maWxlX2FjY2Vzc19mcm9tX2ZpbGVfdXJscword2Via2l0X3NldHRpbmdzX2dl
dF9hbGxvd191bml2ZXJzYWxfYWNjZXNzX2Zyb21fZmlsZV91cmxzCit3ZWJraXRfc2V0dGluZ3Nf
c2V0X2FsbG93X3VuaXZlcnNhbF9hY2Nlc3NfZnJvbV9maWxlX3VybHMKKworPFNVQlNFQ1RJT04g
U3RhbmRhcmQ+CitXZWJLaXRTZXR0aW5nc0NsYXNzCitXRUJLSVRfVFlQRV9TRVRUSU5HUworV0VC
S0lUX1NFVFRJTkdTCitXRUJLSVRfSVNfU0VUVElOR1MKK1dFQktJVF9TRVRUSU5HU19DTEFTUwor
V0VCS0lUX0lTX1NFVFRJTkdTX0NMQVNTCitXRUJLSVRfU0VUVElOR1NfR0VUX0NMQVNTCisKKzxT
VUJTRUNUSU9OIFByaXZhdGU+CitXZWJLaXRTZXR0aW5nc1ByaXZhdGUKK3dlYmtpdF9zZXR0aW5n
c19nZXRfdHlwZQorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktpdFVSSVJlcXVl
c3Q8L0ZJTEU+CitXZWJLaXRVUklSZXF1ZXN0Cit3ZWJraXRfdXJpX3JlcXVlc3RfbmV3Cit3ZWJr
aXRfdXJpX3JlcXVlc3RfZ2V0X3VyaQord2Via2l0X3VyaV9yZXF1ZXN0X3NldF91cmkKK3dlYmtp
dF91cmlfcmVxdWVzdF9nZXRfaHR0cF9tZXRob2QKK3dlYmtpdF91cmlfcmVxdWVzdF9nZXRfaHR0
cF9oZWFkZXJzCisKKzxTVUJTRUNUSU9OIFN0YW5kYXJkPgorV2ViS2l0VVJJUmVxdWVzdENsYXNz
CitXRUJLSVRfVFlQRV9VUklfUkVRVUVTVAorV0VCS0lUX1VSSV9SRVFVRVNUCitXRUJLSVRfSVNf
VVJJX1JFUVVFU1QKK1dFQktJVF9VUklfUkVRVUVTVF9DTEFTUworV0VCS0lUX0lTX1VSSV9SRVFV
RVNUX0NMQVNTCitXRUJLSVRfVVJJX1JFUVVFU1RfR0VUX0NMQVNTCisKKzxTVUJTRUNUSU9OIFBy
aXZhdGU+CitXZWJLaXRVUklSZXF1ZXN0UHJpdmF0ZQord2Via2l0X3VyaV9yZXF1ZXN0X2dldF90
eXBlCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+V2ViS2l0VVJJUmVzcG9uc2U8L0ZJ
TEU+CitXZWJLaXRVUklSZXNwb25zZQord2Via2l0X3VyaV9yZXNwb25zZV9nZXRfdXJpCit3ZWJr
aXRfdXJpX3Jlc3BvbnNlX2dldF9zdGF0dXNfY29kZQord2Via2l0X3VyaV9yZXNwb25zZV9nZXRf
Y29udGVudF9sZW5ndGgKK3dlYmtpdF91cmlfcmVzcG9uc2VfZ2V0X21pbWVfdHlwZQord2Via2l0
X3VyaV9yZXNwb25zZV9nZXRfc3VnZ2VzdGVkX2ZpbGVuYW1lCit3ZWJraXRfdXJpX3Jlc3BvbnNl
X2dldF9odHRwX2hlYWRlcnMKKworPFNVQlNFQ1RJT04gU3RhbmRhcmQ+CitXZWJLaXRVUklSZXNw
b25zZUNsYXNzCitXRUJLSVRfVFlQRV9VUklfUkVTUE9OU0UKK1dFQktJVF9VUklfUkVTUE9OU0UK
K1dFQktJVF9JU19VUklfUkVTUE9OU0UKK1dFQktJVF9VUklfUkVTUE9OU0VfQ0xBU1MKK1dFQktJ
VF9JU19VUklfUkVTUE9OU0VfQ0xBU1MKK1dFQktJVF9VUklfUkVTUE9OU0VfR0VUX0NMQVNTCisK
KzxTVUJTRUNUSU9OIFByaXZhdGU+CitXZWJLaXRVUklSZXNwb25zZVByaXZhdGUKK3dlYmtpdF91
cmlfcmVzcG9uc2VfZ2V0X3R5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJL
aXRXaW5kb3dQcm9wZXJ0aWVzPC9GSUxFPgorV2ViS2l0V2luZG93UHJvcGVydGllcword2Via2l0
X3dpbmRvd19wcm9wZXJ0aWVzX2dldF90b29sYmFyX3Zpc2libGUKK3dlYmtpdF93aW5kb3dfcHJv
cGVydGllc19nZXRfc3RhdHVzYmFyX3Zpc2libGUKK3dlYmtpdF93aW5kb3dfcHJvcGVydGllc19n
ZXRfc2Nyb2xsYmFyc192aXNpYmxlCit3ZWJraXRfd2luZG93X3Byb3BlcnRpZXNfZ2V0X21lbnVi
YXJfdmlzaWJsZQord2Via2l0X3dpbmRvd19wcm9wZXJ0aWVzX2dldF9sb2NhdGlvbmJhcl92aXNp
YmxlCit3ZWJraXRfd2luZG93X3Byb3BlcnRpZXNfZ2V0X3Jlc2l6YWJsZQord2Via2l0X3dpbmRv
d19wcm9wZXJ0aWVzX2dldF9mdWxsc2NyZWVuCisKKzxTVUJTRUNUSU9OIFN0YW5kYXJkPgorV2Vi
S2l0V2luZG93UHJvcGVydGllc0NsYXNzCitXRUJLSVRfVFlQRV9XSU5ET1dfUFJPUEVSVElFUwor
V0VCS0lUX1dJTkRPV19QUk9QRVJUSUVTCitXRUJLSVRfSVNfV0lORE9XX1BST1BFUlRJRVMKK1dF
QktJVF9XSU5ET1dfUFJPUEVSVElFU19DTEFTUworV0VCS0lUX0lTX1dJTkRPV19QUk9QRVJUSUVT
X0NMQVNTCitXRUJLSVRfV0lORE9XX1BST1BFUlRJRVNfR0VUX0NMQVNTCisKKzxTVUJTRUNUSU9O
IFByaXZhdGU+CitXZWJLaXRXaW5kb3dQcm9wZXJ0aWVzUHJpdmF0ZQord2Via2l0X3dpbmRvd19w
cm9wZXJ0aWVzX2dldF90eXBlCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+V2ViS2l0
RG93bmxvYWQ8L0ZJTEU+CitXZWJLaXREb3dubG9hZAord2Via2l0X2Rvd25sb2FkX2dldF9yZXF1
ZXN0Cit3ZWJraXRfZG93bmxvYWRfZ2V0X2Rlc3RpbmF0aW9uCit3ZWJraXRfZG93bmxvYWRfc2V0
X2Rlc3RpbmF0aW9uCit3ZWJraXRfZG93bmxvYWRfZ2V0X3Jlc3BvbnNlCit3ZWJraXRfZG93bmxv
YWRfY2FuY2VsCit3ZWJraXRfZG93bmxvYWRfZ2V0X2VzdGltYXRlZF9wcm9ncmVzcword2Via2l0
X2Rvd25sb2FkX2dldF9lbGFwc2VkX3RpbWUKK3dlYmtpdF9kb3dubG9hZF9nZXRfcmVjZWl2ZWRf
ZGF0YV9sZW5ndGgKK3dlYmtpdF9kb3dubG9hZF9nZXRfd2ViX3ZpZXcKK3dlYmtpdF9kb3dubG9h
ZF9nZXRfYWxsb3dfb3ZlcndyaXRlCit3ZWJraXRfZG93bmxvYWRfc2V0X2FsbG93X292ZXJ3cml0
ZQorCis8U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dlYktpdERvd25sb2FkQ2xhc3MKK1dFQktJVF9U
WVBFX0RPV05MT0FECitXRUJLSVRfRE9XTkxPQUQKK1dFQktJVF9JU19ET1dOTE9BRAorV0VCS0lU
X0RPV05MT0FEX0NMQVNTCitXRUJLSVRfSVNfRE9XTkxPQURfQ0xBU1MKK1dFQktJVF9ET1dOTE9B
RF9HRVRfQ0xBU1MKKworPFNVQlNFQ1RJT04gUHJpdmF0ZT4KK1dlYktpdERvd25sb2FkUHJpdmF0
ZQord2Via2l0X2Rvd25sb2FkX2dldF90eXBlCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJ
TEU+V2ViS2l0UGVybWlzc2lvblJlcXVlc3Q8L0ZJTEU+CitXZWJLaXRQZXJtaXNzaW9uUmVxdWVz
dAord2Via2l0X3Blcm1pc3Npb25fcmVxdWVzdF9hbGxvdword2Via2l0X3Blcm1pc3Npb25fcmVx
dWVzdF9kZW55CisKKzxTVUJTRUNUSU9OIFN0YW5kYXJkPgorV2ViS2l0UGVybWlzc2lvblJlcXVl
c3RJZmFjZQorV0VCS0lUX1RZUEVfUEVSTUlTU0lPTl9SRVFVRVNUCitXRUJLSVRfUEVSTUlTU0lP
Tl9SRVFVRVNUCitXRUJLSVRfSVNfUEVSTUlTU0lPTl9SRVFVRVNUCitXRUJLSVRfUEVSTUlTU0lP
Tl9SRVFVRVNUX0dFVF9JRkFDRQorCis8U1VCU0VDVElPTiBQcml2YXRlPgord2Via2l0X3Blcm1p
c3Npb25fcmVxdWVzdF9nZXRfdHlwZQorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldl
YktpdEdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3Q8L0ZJTEU+CitXZWJLaXRHZW9sb2NhdGlv
blBlcm1pc3Npb25SZXF1ZXN0CisKKzxTVUJTRUNUSU9OIFN0YW5kYXJkPgorV2ViS2l0R2VvbG9j
YXRpb25QZXJtaXNzaW9uUmVxdWVzdENsYXNzCitXRUJLSVRfVFlQRV9HRU9MT0NBVElPTl9QRVJN
SVNTSU9OX1JFUVVFU1QKK1dFQktJVF9HRU9MT0NBVElPTl9QRVJNSVNTSU9OX1JFUVVFU1QKK1dF
QktJVF9JU19HRU9MT0NBVElPTl9QRVJNSVNTSU9OX1JFUVVFU1QKK1dFQktJVF9HRU9MT0NBVElP
Tl9QRVJNSVNTSU9OX1JFUVVFU1RfQ0xBU1MKK1dFQktJVF9JU19HRU9MT0NBVElPTl9QRVJNSVNT
SU9OX1JFUVVFU1RfQ0xBU1MKK1dFQktJVF9HRU9MT0NBVElPTl9QRVJNSVNTSU9OX1JFUVVFU1Rf
R0VUX0NMQVNTCisKKzxTVUJTRUNUSU9OIFByaXZhdGU+CitXZWJLaXRHZW9sb2NhdGlvblBlcm1p
c3Npb25SZXF1ZXN0UHJpdmF0ZQord2Via2l0X2dlb2xvY2F0aW9uX3Blcm1pc3Npb25fcmVxdWVz
dF9nZXRfdHlwZQorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktpdEluc3RhbGxN
aXNzaW5nTWVkaWFQbHVnaW5zUGVybWlzc2lvblJlcXVlc3Q8L0ZJTEU+CitXZWJLaXRJbnN0YWxs
TWlzc2luZ01lZGlhUGx1Z2luc1Blcm1pc3Npb25SZXF1ZXN0Cit3ZWJraXRfaW5zdGFsbF9taXNz
aW5nX21lZGlhX3BsdWdpbnNfcGVybWlzc2lvbl9yZXF1ZXN0X2dldF9kZXNjcmlwdGlvbgorCis8
U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dlYktpdEluc3RhbGxNaXNzaW5nTWVkaWFQbHVnaW5zUGVy
bWlzc2lvblJlcXVlc3RDbGFzcworV0VCS0lUX1RZUEVfSU5TVEFMTF9NSVNTSU5HX01FRElBX1BM
VUdJTlNfUEVSTUlTU0lPTl9SRVFVRVNUCitXRUJLSVRfSU5TVEFMTF9NSVNTSU5HX01FRElBX1BM
VUdJTlNfUEVSTUlTU0lPTl9SRVFVRVNUCitXRUJLSVRfSVNfSU5TVEFMTF9NSVNTSU5HX01FRElB
X1BMVUdJTlNfUEVSTUlTU0lPTl9SRVFVRVNUCitXRUJLSVRfSU5TVEFMTF9NSVNTSU5HX01FRElB
X1BMVUdJTlNfUEVSTUlTU0lPTl9SRVFVRVNUX0NMQVNTCitXRUJLSVRfSVNfSU5TVEFMTF9NSVNT
SU5HX01FRElBX1BMVUdJTlNfUEVSTUlTU0lPTl9SRVFVRVNUX0NMQVNTCitXRUJLSVRfSU5TVEFM
TF9NSVNTSU5HX01FRElBX1BMVUdJTlNfUEVSTUlTU0lPTl9SRVFVRVNUX0dFVF9DTEFTUworCis8
U1VCU0VDVElPTiBQcml2YXRlPgorV2ViS2l0SW5zdGFsbE1pc3NpbmdNZWRpYVBsdWdpbnNQZXJt
aXNzaW9uUmVxdWVzdFByaXZhdGUKK3dlYmtpdF9pbnN0YWxsX21pc3NpbmdfbWVkaWFfcGx1Z2lu
c19wZXJtaXNzaW9uX3JlcXVlc3RfZ2V0X3R5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8
RklMRT5XZWJLaXROYXZpZ2F0aW9uQWN0aW9uPC9GSUxFPgorV2ViS2l0TmF2aWdhdGlvbkFjdGlv
bgord2Via2l0X25hdmlnYXRpb25fYWN0aW9uX2NvcHkKK3dlYmtpdF9uYXZpZ2F0aW9uX2FjdGlv
bl9mcmVlCit3ZWJraXRfbmF2aWdhdGlvbl9hY3Rpb25fZ2V0X25hdmlnYXRpb25fdHlwZQord2Vi
a2l0X25hdmlnYXRpb25fYWN0aW9uX2dldF9tb3VzZV9idXR0b24KK3dlYmtpdF9uYXZpZ2F0aW9u
X2FjdGlvbl9nZXRfbW9kaWZpZXJzCit3ZWJraXRfbmF2aWdhdGlvbl9hY3Rpb25fZ2V0X3JlcXVl
c3QKK3dlYmtpdF9uYXZpZ2F0aW9uX2FjdGlvbl9pc191c2VyX2dlc3R1cmUKK3dlYmtpdF9uYXZp
Z2F0aW9uX2FjdGlvbl9pc19yZWRpcmVjdAorCis8U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dFQktJ
VF9UWVBFX05BVklHQVRJT05fQUNUSU9OCisKKzxTVUJTRUNUSU9OIFByaXZhdGU+Cit3ZWJraXRf
bmF2aWdhdGlvbl9hY3Rpb25fZ2V0X3R5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklM
RT5XZWJLaXRVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdDwvRklMRT4KK1dlYktpdFVzZXJNZWRp
YVBlcm1pc3Npb25SZXF1ZXN0Cit3ZWJraXRfdXNlcl9tZWRpYV9wZXJtaXNzaW9uX2lzX2Zvcl9h
dWRpb19kZXZpY2UKK3dlYmtpdF91c2VyX21lZGlhX3Blcm1pc3Npb25faXNfZm9yX3ZpZGVvX2Rl
dmljZQorCis8U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dlYktpdFVzZXJNZWRpYVBlcm1pc3Npb25S
ZXF1ZXN0Q2xhc3MKK1dFQktJVF9UWVBFX1VTRVJfTUVESUFfUEVSTUlTU0lPTl9SRVFVRVNUCitX
RUJLSVRfVVNFUl9NRURJQV9QRVJNSVNTSU9OX1JFUVVFU1QKK1dFQktJVF9JU19VU0VSX01FRElB
X1BFUk1JU1NJT05fUkVRVUVTVAorV0VCS0lUX1VTRVJfTUVESUFfUEVSTUlTU0lPTl9SRVFVRVNU
X0NMQVNTCitXRUJLSVRfSVNfVVNFUl9NRURJQV9QRVJNSVNTSU9OX1JFUVVFU1RfQ0xBU1MKK1dF
QktJVF9VU0VSX01FRElBX1BFUk1JU1NJT05fUkVRVUVTVF9HRVRfQ0xBU1MKKworPFNVQlNFQ1RJ
T04gUHJpdmF0ZT4KK1dlYktpdFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0UHJpdmF0ZQord2Vi
a2l0X3VzZXJfbWVkaWFfcGVybWlzc2lvbl9yZXF1ZXN0X2dldF90eXBlCis8L1NFQ1RJT04+CisK
KzxTRUNUSU9OPgorPEZJTEU+V2ViS2l0Tm90aWZpY2F0aW9uPC9GSUxFPgorV2ViS2l0Tm90aWZp
Y2F0aW9uCit3ZWJraXRfbm90aWZpY2F0aW9uX2dldF9pZAord2Via2l0X25vdGlmaWNhdGlvbl9n
ZXRfdGl0bGUKK3dlYmtpdF9ub3RpZmljYXRpb25fZ2V0X2JvZHkKK3dlYmtpdF9ub3RpZmljYXRp
b25fZ2V0X3RhZword2Via2l0X25vdGlmaWNhdGlvbl9jbG9zZQord2Via2l0X25vdGlmaWNhdGlv
bl9jbGlja2VkCisKKzxTVUJTRUNUSU9OIFN0YW5kYXJkPgorV2ViS2l0Tm90aWZpY2F0aW9uQ2xh
c3MKK1dFQktJVF9UWVBFX05PVElGSUNBVElPTgorV0VCS0lUX0lTX05PVElGSUNBVElPTgorV0VC
S0lUX05PVElGSUNBVElPTgorV0VCS0lUX05PVElGSUNBVElPTl9DTEFTUworV0VCS0lUX0lTX05P
VElGSUNBVElPTl9DTEFTUworV0VCS0lUX05PVElGSUNBVElPTl9HRVRfQ0xBU1MKKworPFNVQlNF
Q1RJT04gUHJpdmF0ZT4KK1dlYktpdE5vdGlmaWNhdGlvblByaXZhdGUKK3dlYmtpdF9ub3RpZmlj
YXRpb25fZ2V0X3R5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXROb3Rp
ZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdDwvRklMRT4KK1dlYktpdE5vdGlmaWNhdGlvblBlcm1p
c3Npb25SZXF1ZXN0CisKKzxTVUJTRUNUSU9OIFN0YW5kYXJkPgorV2ViS2l0Tm90aWZpY2F0aW9u
UGVybWlzc2lvblJlcXVlc3RDbGFzcworV0VCS0lUX1RZUEVfTk9USUZJQ0FUSU9OX1BFUk1JU1NJ
T05fUkVRVUVTVAorV0VCS0lUX05PVElGSUNBVElPTl9QRVJNSVNTSU9OX1JFUVVFU1QKK1dFQktJ
VF9JU19OT1RJRklDQVRJT05fUEVSTUlTU0lPTl9SRVFVRVNUCitXRUJLSVRfTk9USUZJQ0FUSU9O
X1BFUk1JU1NJT05fUkVRVUVTVF9DTEFTUworV0VCS0lUX0lTX05PVElGSUNBVElPTl9QRVJNSVNT
SU9OX1JFUVVFU1RfQ0xBU1MKK1dFQktJVF9OT1RJRklDQVRJT05fUEVSTUlTU0lPTl9SRVFVRVNU
X0dFVF9DTEFTUworCis8U1VCU0VDVElPTiBQcml2YXRlPgorV2ViS2l0Tm90aWZpY2F0aW9uUGVy
bWlzc2lvblJlcXVlc3RQcml2YXRlCit3ZWJraXRfbm90aWZpY2F0aW9uX3Blcm1pc3Npb25fcmVx
dWVzdF9nZXRfdHlwZQorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktpdFBvbGlj
eURlY2lzaW9uPC9GSUxFPgorV2ViS2l0UG9saWN5RGVjaXNpb24KK3dlYmtpdF9wb2xpY3lfZGVj
aXNpb25fZG93bmxvYWQKK3dlYmtpdF9wb2xpY3lfZGVjaXNpb25faWdub3JlCit3ZWJraXRfcG9s
aWN5X2RlY2lzaW9uX3VzZQorCis8U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dlYktpdFBvbGljeURl
Y2lzaW9uQ2xhc3MKK1dFQktJVF9UWVBFX1BPTElDWV9ERUNJU0lPTgorV0VCS0lUX1BPTElDWV9E
RUNJU0lPTgorV0VCS0lUX0lTX1BPTElDWV9ERUNJU0lPTgorV0VCS0lUX1BPTElDWV9ERUNJU0lP
Tl9DTEFTUworV0VCS0lUX0lTX1BPTElDWV9ERUNJU0lPTl9DTEFTUworV0VCS0lUX1BPTElDWV9E
RUNJU0lPTl9HRVRfQ0xBU1MKKworPFNVQlNFQ1RJT04gUHJpdmF0ZT4KK1dlYktpdFBvbGljeURl
Y2lzaW9uUHJpdmF0ZQord2Via2l0X3BvbGljeV9kZWNpc2lvbl9nZXRfdHlwZQorPC9TRUNUSU9O
PgorCis8U0VDVElPTj4KKzxGSUxFPldlYktpdE5hdmlnYXRpb25Qb2xpY3lEZWNpc2lvbjwvRklM
RT4KK1dlYktpdE5hdmlnYXRpb25Qb2xpY3lEZWNpc2lvbgorV2ViS2l0TmF2aWdhdGlvblR5cGUK
K3dlYmtpdF9uYXZpZ2F0aW9uX3BvbGljeV9kZWNpc2lvbl9nZXRfbmF2aWdhdGlvbl9hY3Rpb24K
K3dlYmtpdF9uYXZpZ2F0aW9uX3BvbGljeV9kZWNpc2lvbl9nZXRfZnJhbWVfbmFtZQorCis8U1VC
U0VDVElPTiBTdGFuZGFyZD4KK1dlYktpdE5hdmlnYXRpb25Qb2xpY3lEZWNpc2lvbkNsYXNzCitX
RUJLSVRfVFlQRV9OQVZJR0FUSU9OX1BPTElDWV9ERUNJU0lPTgorV0VCS0lUX05BVklHQVRJT05f
UE9MSUNZX0RFQ0lTSU9OCitXRUJLSVRfSVNfTkFWSUdBVElPTl9QT0xJQ1lfREVDSVNJT04KK1dF
QktJVF9OQVZJR0FUSU9OX1BPTElDWV9ERUNJU0lPTl9DTEFTUworV0VCS0lUX0lTX05BVklHQVRJ
T05fUE9MSUNZX0RFQ0lTSU9OX0NMQVNTCitXRUJLSVRfTkFWSUdBVElPTl9QT0xJQ1lfREVDSVNJ
T05fR0VUX0NMQVNTCisKKzxTVUJTRUNUSU9OIFByaXZhdGU+CitXZWJLaXROYXZpZ2F0aW9uUG9s
aWN5RGVjaXNpb25Qcml2YXRlCit3ZWJraXRfbmF2aWdhdGlvbl9wb2xpY3lfZGVjaXNpb25fZ2V0
X3R5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXRSZXNwb25zZVBvbGlj
eURlY2lzaW9uPC9GSUxFPgorV2ViS2l0UmVzcG9uc2VQb2xpY3lEZWNpc2lvbgord2Via2l0X3Jl
c3BvbnNlX3BvbGljeV9kZWNpc2lvbl9nZXRfcmVxdWVzdAord2Via2l0X3Jlc3BvbnNlX3BvbGlj
eV9kZWNpc2lvbl9nZXRfcmVzcG9uc2UKK3dlYmtpdF9yZXNwb25zZV9wb2xpY3lfZGVjaXNpb25f
aXNfbWltZV90eXBlX3N1cHBvcnRlZAorCis8U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dlYktpdFJl
c3BvbnNlUG9saWN5RGVjaXNpb25DbGFzcworV0VCS0lUX1RZUEVfUkVTUE9OU0VfUE9MSUNZX0RF
Q0lTSU9OCitXRUJLSVRfUkVTUE9OU0VfUE9MSUNZX0RFQ0lTSU9OCitXRUJLSVRfSVNfUkVTUE9O
U0VfUE9MSUNZX0RFQ0lTSU9OCitXRUJLSVRfUkVTUE9OU0VfUE9MSUNZX0RFQ0lTSU9OX0NMQVNT
CitXRUJLSVRfSVNfUkVTUE9OU0VfUE9MSUNZX0RFQ0lTSU9OX0NMQVNTCitXRUJLSVRfUkVTUE9O
U0VfUE9MSUNZX0RFQ0lTSU9OX0dFVF9DTEFTUworCis8U1VCU0VDVElPTiBQcml2YXRlPgorV2Vi
S2l0UmVzcG9uc2VQb2xpY3lEZWNpc2lvblByaXZhdGUKK3dlYmtpdF9yZXNwb25zZV9wb2xpY3lf
ZGVjaXNpb25fZ2V0X3R5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXRI
aXRUZXN0UmVzdWx0PC9GSUxFPgorV2ViS2l0SGl0VGVzdFJlc3VsdAorV2ViS2l0SGl0VGVzdFJl
c3VsdENvbnRleHQKK3dlYmtpdF9oaXRfdGVzdF9yZXN1bHRfZ2V0X2NvbnRleHQKK3dlYmtpdF9o
aXRfdGVzdF9yZXN1bHRfY29udGV4dF9pc19saW5rCit3ZWJraXRfaGl0X3Rlc3RfcmVzdWx0X2Nv
bnRleHRfaXNfaW1hZ2UKK3dlYmtpdF9oaXRfdGVzdF9yZXN1bHRfY29udGV4dF9pc19tZWRpYQor
d2Via2l0X2hpdF90ZXN0X3Jlc3VsdF9jb250ZXh0X2lzX2VkaXRhYmxlCit3ZWJraXRfaGl0X3Rl
c3RfcmVzdWx0X2NvbnRleHRfaXNfc2VsZWN0aW9uCit3ZWJraXRfaGl0X3Rlc3RfcmVzdWx0X2Nv
bnRleHRfaXNfc2Nyb2xsYmFyCit3ZWJraXRfaGl0X3Rlc3RfcmVzdWx0X2dldF9saW5rX3VyaQor
d2Via2l0X2hpdF90ZXN0X3Jlc3VsdF9nZXRfbGlua190aXRsZQord2Via2l0X2hpdF90ZXN0X3Jl
c3VsdF9nZXRfbGlua19sYWJlbAord2Via2l0X2hpdF90ZXN0X3Jlc3VsdF9nZXRfaW1hZ2VfdXJp
Cit3ZWJraXRfaGl0X3Rlc3RfcmVzdWx0X2dldF9tZWRpYV91cmkKKworPFNVQlNFQ1RJT04gU3Rh
bmRhcmQ+CitXZWJLaXRIaXRUZXN0UmVzdWx0Q2xhc3MKK1dFQktJVF9UWVBFX0hJVF9URVNUX1JF
U1VMVAorV0VCS0lUX0hJVF9URVNUX1JFU1VMVAorV0VCS0lUX0lTX0hJVF9URVNUX1JFU1VMVAor
V0VCS0lUX0hJVF9URVNUX1JFU1VMVF9DTEFTUworV0VCS0lUX0lTX0hJVF9URVNUX1JFU1VMVF9D
TEFTUworV0VCS0lUX0hJVF9URVNUX1JFU1VMVF9HRVRfQ0xBU1MKKworPFNVQlNFQ1RJT04gUHJp
dmF0ZT4KK1dlYktpdEhpdFRlc3RSZXN1bHRQcml2YXRlCit3ZWJraXRfaGl0X3Rlc3RfcmVzdWx0
X2dldF90eXBlCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+V2ViS2l0RWRpdG9yU3Rh
dGU8L0ZJTEU+CitXZWJLaXRFZGl0b3JTdGF0ZQorV2ViS2l0RWRpdG9yVHlwaW5nQXR0cmlidXRl
cword2Via2l0X2VkaXRvcl9zdGF0ZV9nZXRfdHlwaW5nX2F0dHJpYnV0ZXMKK3dlYmtpdF9lZGl0
b3Jfc3RhdGVfaXNfY3V0X2F2YWlsYWJsZQord2Via2l0X2VkaXRvcl9zdGF0ZV9pc19jb3B5X2F2
YWlsYWJsZQord2Via2l0X2VkaXRvcl9zdGF0ZV9pc19wYXN0ZV9hdmFpbGFibGUKK3dlYmtpdF9l
ZGl0b3Jfc3RhdGVfaXNfdW5kb19hdmFpbGFibGUKK3dlYmtpdF9lZGl0b3Jfc3RhdGVfaXNfcmVk
b19hdmFpbGFibGUKKworPFNVQlNFQ1RJT04gU3RhbmRhcmQ+CitXZWJLaXRFZGl0b3JTdGF0ZUNs
YXNzCitXRUJLSVRfVFlQRV9FRElUT1JfU1RBVEUKK1dFQktJVF9FRElUT1JfU1RBVEUKK1dFQktJ
VF9JU19FRElUT1JfU1RBVEUKK1dFQktJVF9FRElUT1JfU1RBVEVfQ0xBU1MKK1dFQktJVF9JU19F
RElUT1JfU1RBVEVfQ0xBU1MKK1dFQktJVF9FRElUT1JfU1RBVEVfR0VUX0NMQVNTCisKKzxTVUJT
RUNUSU9OIFByaXZhdGU+CitXZWJLaXRFZGl0b3JTdGF0ZVByaXZhdGUKK3dlYmtpdF9lZGl0b3Jf
c3RhdGVfZ2V0X3R5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXRXZWJS
ZXNvdXJjZTwvRklMRT4KK1dlYktpdFdlYlJlc291cmNlCit3ZWJraXRfd2ViX3Jlc291cmNlX2dl
dF91cmkKK3dlYmtpdF93ZWJfcmVzb3VyY2VfZ2V0X3Jlc3BvbnNlCit3ZWJraXRfd2ViX3Jlc291
cmNlX2dldF9kYXRhCit3ZWJraXRfd2ViX3Jlc291cmNlX2dldF9kYXRhX2ZpbmlzaAorCis8U1VC
U0VDVElPTiBTdGFuZGFyZD4KK1dlYktpdFdlYlJlc291cmNlQ2xhc3MKK1dFQktJVF9UWVBFX1dF
Ql9SRVNPVVJDRQorV0VCS0lUX1dFQl9SRVNPVVJDRQorV0VCS0lUX0lTX1dFQl9SRVNPVVJDRQor
V0VCS0lUX1dFQl9SRVNPVVJDRV9DTEFTUworV0VCS0lUX0lTX1dFQl9SRVNPVVJDRV9DTEFTUwor
V0VCS0lUX1dFQl9SRVNPVVJDRV9HRVRfQ0xBU1MKKworPFNVQlNFQ1RJT04gUHJpdmF0ZT4KK1dl
YktpdFdlYlJlc291cmNlUHJpdmF0ZQord2Via2l0X3dlYl9yZXNvdXJjZV9nZXRfdHlwZQorPC9T
RUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktpdEVycm9yPC9GSUxFPgorV0VCS0lUX05F
VFdPUktfRVJST1IKK1dFQktJVF9QTFVHSU5fRVJST1IKK1dFQktJVF9QT0xJQ1lfRVJST1IKK1dF
QktJVF9ET1dOTE9BRF9FUlJPUgorV0VCS0lUX0pBVkFTQ1JJUFRfRVJST1IKK1dFQktJVF9TTkFQ
U0hPVF9FUlJPUgorV2ViS2l0TmV0d29ya0Vycm9yCitXZWJLaXRQbHVnaW5FcnJvcgorV2ViS2l0
UG9saWN5RXJyb3IKK1dlYktpdERvd25sb2FkRXJyb3IKK1dlYktpdEphdmFzY3JpcHRFcnJvcgor
V2ViS2l0U25hcHNob3RFcnJvcgord2Via2l0X25ldHdvcmtfZXJyb3JfcXVhcmsKK3dlYmtpdF9w
bHVnaW5fZXJyb3JfcXVhcmsKK3dlYmtpdF9wb2xpY3lfZXJyb3JfcXVhcmsKK3dlYmtpdF9kb3du
bG9hZF9lcnJvcl9xdWFyaword2Via2l0X2phdmFzY3JpcHRfZXJyb3JfcXVhcmsKK3dlYmtpdF9z
bmFwc2hvdF9lcnJvcl9xdWFyaworPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktp
dEZhdmljb25EYXRhYmFzZTwvRklMRT4KK1dlYktpdEZhdmljb25EYXRhYmFzZQorV0VCS0lUX0ZB
VklDT05fREFUQUJBU0VfRVJST1IKK1dlYktpdEZhdmljb25EYXRhYmFzZUVycm9yCit3ZWJraXRf
ZmF2aWNvbl9kYXRhYmFzZV9nZXRfZmF2aWNvbl91cmkKK3dlYmtpdF9mYXZpY29uX2RhdGFiYXNl
X2NsZWFyCisKKzxTVUJTRUNUSU9OIFN0YW5kYXJkPgorV2ViS2l0RmF2aWNvbkRhdGFiYXNlQ2xh
c3MKK1dFQktJVF9UWVBFX0ZBVklDT05fREFUQUJBU0UKK1dFQktJVF9GQVZJQ09OX0RBVEFCQVNF
CitXRUJLSVRfSVNfRkFWSUNPTl9EQVRBQkFTRQorV0VCS0lUX0ZBVklDT05fREFUQUJBU0VfQ0xB
U1MKK1dFQktJVF9JU19GQVZJQ09OX0RBVEFCQVNFX0NMQVNTCitXRUJLSVRfRkFWSUNPTl9EQVRB
QkFTRV9HRVRfQ0xBU1MKKworPFNVQlNFQ1RJT04gUHJpdmF0ZT4KK1dlYktpdEZhdmljb25EYXRh
YmFzZVByaXZhdGUKK3dlYmtpdF9mYXZpY29uX2RhdGFiYXNlX2dldF90eXBlCit3ZWJraXRfZmF2
aWNvbl9kYXRhYmFzZV9lcnJvcl9xdWFyaworPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxF
PldlYktpdEZpbGVDaG9vc2VyUmVxdWVzdDwvRklMRT4KK1dlYktpdEZpbGVDaG9vc2VyUmVxdWVz
dAord2Via2l0X2ZpbGVfY2hvb3Nlcl9yZXF1ZXN0X2dldF9taW1lX3R5cGVzCit3ZWJraXRfZmls
ZV9jaG9vc2VyX3JlcXVlc3RfZ2V0X3NlbGVjdF9tdWx0aXBsZQord2Via2l0X2ZpbGVfY2hvb3Nl
cl9yZXF1ZXN0X3NlbGVjdF9maWxlcword2Via2l0X2ZpbGVfY2hvb3Nlcl9yZXF1ZXN0X2dldF9z
ZWxlY3RlZF9maWxlcword2Via2l0X2ZpbGVfY2hvb3Nlcl9yZXF1ZXN0X2NhbmNlbAorCis8U1VC
U0VDVElPTiBTdGFuZGFyZD4KK1dlYktpdEZpbGVDaG9vc2VyUmVxdWVzdENsYXNzCitXRUJLSVRf
VFlQRV9GSUxFX0NIT09TRVJfUkVRVUVTVAorV0VCS0lUX0ZJTEVfQ0hPT1NFUl9SRVFVRVNUCitX
RUJLSVRfSVNfRklMRV9DSE9PU0VSX1JFUVVFU1QKK1dFQktJVF9GSUxFX0NIT09TRVJfUkVRVUVT
VF9DTEFTUworV0VCS0lUX0lTX0ZJTEVfQ0hPT1NFUl9SRVFVRVNUX0NMQVNTCitXRUJLSVRfRklM
RV9DSE9PU0VSX1JFUVVFU1RfR0VUX0NMQVNTCisKKzxTVUJTRUNUSU9OIFByaXZhdGU+CitXZWJL
aXRGaWxlQ2hvb3NlclJlcXVlc3RQcml2YXRlCit3ZWJraXRfZmlsZV9jaG9vc2VyX3JlcXVlc3Rf
Z2V0X3R5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXRGaW5kQ29udHJv
bGxlcjwvRklMRT4KK1dlYktpdEZpbmRDb250cm9sbGVyCitXZWJLaXRGaW5kT3B0aW9ucword2Vi
a2l0X2ZpbmRfY29udHJvbGxlcl9zZWFyY2gKK3dlYmtpdF9maW5kX2NvbnRyb2xsZXJfc2VhcmNo
X2ZpbmlzaAord2Via2l0X2ZpbmRfY29udHJvbGxlcl9zZWFyY2hfbmV4dAord2Via2l0X2ZpbmRf
Y29udHJvbGxlcl9zZWFyY2hfcHJldmlvdXMKK3dlYmtpdF9maW5kX2NvbnRyb2xsZXJfZ2V0X3Nl
YXJjaF90ZXh0Cit3ZWJraXRfZmluZF9jb250cm9sbGVyX2NvdW50X21hdGNoZXMKK3dlYmtpdF9m
aW5kX2NvbnRyb2xsZXJfZ2V0X29wdGlvbnMKK3dlYmtpdF9maW5kX2NvbnRyb2xsZXJfZ2V0X21h
eF9tYXRjaF9jb3VudAord2Via2l0X2ZpbmRfY29udHJvbGxlcl9nZXRfd2ViX3ZpZXcKKworPFNV
QlNFQ1RJT04gU3RhbmRhcmQ+CitXZWJLaXRGaW5kQ29udHJvbGxlckNsYXNzCitXRUJLSVRfVFlQ
RV9GSU5EX0NPTlRST0xMRVIKK1dFQktJVF9GSU5EX0NPTlRST0xMRVIKK1dFQktJVF9JU19GSU5E
X0NPTlRST0xMRVIKK1dFQktJVF9GSU5EX0NPTlRST0xMRVJfQ0xBU1MKK1dFQktJVF9JU19GSU5E
X0NPTlRST0xMRVJfQ0xBU1MKK1dFQktJVF9GSU5EX0NPTlRST0xMRVJfR0VUX0NMQVNTCisKKzxT
VUJTRUNUSU9OIFByaXZhdGU+CitXZWJLaXRGaW5kQ29udHJvbGxlclByaXZhdGUKK3dlYmtpdF9m
aW5kX2NvbnRyb2xsZXJfZ2V0X3R5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5X
ZWJLaXRDb29raWVNYW5hZ2VyPC9GSUxFPgorV2ViS2l0Q29va2llTWFuYWdlcgorV2ViS2l0Q29v
a2llUGVyc2lzdGVudFN0b3JhZ2UKK1dlYktpdENvb2tpZUFjY2VwdFBvbGljeQord2Via2l0X2Nv
b2tpZV9tYW5hZ2VyX3NldF9wZXJzaXN0ZW50X3N0b3JhZ2UKK3dlYmtpdF9jb29raWVfbWFuYWdl
cl9zZXRfYWNjZXB0X3BvbGljeQord2Via2l0X2Nvb2tpZV9tYW5hZ2VyX2dldF9hY2NlcHRfcG9s
aWN5Cit3ZWJraXRfY29va2llX21hbmFnZXJfZ2V0X2FjY2VwdF9wb2xpY3lfZmluaXNoCit3ZWJr
aXRfY29va2llX21hbmFnZXJfYWRkX2Nvb2tpZQord2Via2l0X2Nvb2tpZV9tYW5hZ2VyX2FkZF9j
b29raWVfZmluaXNoCit3ZWJraXRfY29va2llX21hbmFnZXJfZ2V0X2Nvb2tpZXMKK3dlYmtpdF9j
b29raWVfbWFuYWdlcl9nZXRfY29va2llc19maW5pc2gKK3dlYmtpdF9jb29raWVfbWFuYWdlcl9k
ZWxldGVfY29va2llCit3ZWJraXRfY29va2llX21hbmFnZXJfZGVsZXRlX2Nvb2tpZV9maW5pc2gK
KworPFNVQlNFQ1RJT04gU3RhbmRhcmQ+CitXZWJLaXRDb29raWVNYW5hZ2VyQ2xhc3MKK1dFQktJ
VF9UWVBFX0NPT0tJRV9NQU5BR0VSCitXRUJLSVRfQ09PS0lFX01BTkFHRVIKK1dFQktJVF9JU19D
T09LSUVfTUFOQUdFUgorV0VCS0lUX0NPT0tJRV9NQU5BR0VSX0NMQVNTCitXRUJLSVRfSVNfQ09P
S0lFX01BTkFHRVJfQ0xBU1MKK1dFQktJVF9DT09LSUVfTUFOQUdFUl9HRVRfQ0xBU1MKKworPFNV
QlNFQ1RJT04gUHJpdmF0ZT4KK1dlYktpdENvb2tpZU1hbmFnZXJQcml2YXRlCit3ZWJraXRfY29v
a2llX21hbmFnZXJfZ2V0X3R5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJL
aXRQbHVnaW48L0ZJTEU+CitXZWJLaXRQbHVnaW4KK3dlYmtpdF9wbHVnaW5fZ2V0X25hbWUKK3dl
YmtpdF9wbHVnaW5fZ2V0X2Rlc2NyaXB0aW9uCit3ZWJraXRfcGx1Z2luX2dldF9wYXRoCit3ZWJr
aXRfcGx1Z2luX2dldF9taW1lX2luZm9fbGlzdAorCis8U1VCU0VDVElPTiBXZWJLaXRNaW1lSW5m
bz4KK1dlYktpdE1pbWVJbmZvCit3ZWJraXRfbWltZV9pbmZvX3JlZgord2Via2l0X21pbWVfaW5m
b191bnJlZgord2Via2l0X21pbWVfaW5mb19nZXRfbWltZV90eXBlCit3ZWJraXRfbWltZV9pbmZv
X2dldF9kZXNjcmlwdGlvbgord2Via2l0X21pbWVfaW5mb19nZXRfZXh0ZW5zaW9ucworCis8U1VC
U0VDVElPTiBTdGFuZGFyZD4KK1dlYktpdFBsdWdpbkNsYXNzCitXRUJLSVRfVFlQRV9QTFVHSU4K
K1dFQktJVF9QTFVHSU4KK1dFQktJVF9JU19QTFVHSU4KK1dFQktJVF9QTFVHSU5fQ0xBU1MKK1dF
QktJVF9JU19QTFVHSU5fQ0xBU1MKK1dFQktJVF9QTFVHSU5fR0VUX0NMQVNTCitXRUJLSVRfVFlQ
RV9NSU1FX0lORk8KKworPFNVQlNFQ1RJT04gUHJpdmF0ZT4KK3dlYmtpdF9wbHVnaW5fZ2V0X3R5
cGUKK3dlYmtpdF9taW1lX2luZm9fZ2V0X3R5cGUKK1dlYktpdFBsdWdpblByaXZhdGUKKzwvU0VD
VElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXRVUklTY2hlbWVSZXF1ZXN0PC9GSUxFPgor
V2ViS2l0VVJJU2NoZW1lUmVxdWVzdAord2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRfc2No
ZW1lCit3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF91cmkKK3dlYmtpdF91cmlfc2NoZW1l
X3JlcXVlc3RfZ2V0X3BhdGgKK3dlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X3dlYl92aWV3
Cit3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2ZpbmlzaAord2Via2l0X3VyaV9zY2hlbWVfcmVx
dWVzdF9maW5pc2hfZXJyb3IKKworPFNVQlNFQ1RJT04gU3RhbmRhcmQ+CitXZWJLaXRVUklTY2hl
bWVSZXF1ZXN0Q2xhc3MKK1dFQktJVF9UWVBFX1VSSV9TQ0hFTUVfUkVRVUVTVAorV0VCS0lUX1VS
SV9TQ0hFTUVfUkVRVUVTVAorV0VCS0lUX0lTX1VSSV9TQ0hFTUVfUkVRVUVTVAorV0VCS0lUX1VS
SV9TQ0hFTUVfUkVRVUVTVF9DTEFTUworV0VCS0lUX0lTX1VSSV9TQ0hFTUVfUkVRVUVTVF9DTEFT
UworV0VCS0lUX1VSSV9TQ0hFTUVfUkVRVUVTVF9HRVRfQ0xBU1MKKworPFNVQlNFQ1RJT04gUHJp
dmF0ZT4KK1dlYktpdFVSSVNjaGVtZVJlcXVlc3RQcml2YXRlCit3ZWJraXRfdXJpX3NjaGVtZV9y
ZXF1ZXN0X2dldF90eXBlCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+V2ViS2l0Q29u
dGV4dE1lbnU8L0ZJTEU+CitXZWJLaXRDb250ZXh0TWVudQord2Via2l0X2NvbnRleHRfbWVudV9u
ZXcKK3dlYmtpdF9jb250ZXh0X21lbnVfbmV3X3dpdGhfaXRlbXMKK3dlYmtpdF9jb250ZXh0X21l
bnVfcHJlcGVuZAord2Via2l0X2NvbnRleHRfbWVudV9hcHBlbmQKK3dlYmtpdF9jb250ZXh0X21l
bnVfaW5zZXJ0Cit3ZWJraXRfY29udGV4dF9tZW51X21vdmVfaXRlbQord2Via2l0X2NvbnRleHRf
bWVudV9nZXRfaXRlbXMKK3dlYmtpdF9jb250ZXh0X21lbnVfZ2V0X25faXRlbXMKK3dlYmtpdF9j
b250ZXh0X21lbnVfZmlyc3QKK3dlYmtpdF9jb250ZXh0X21lbnVfbGFzdAord2Via2l0X2NvbnRl
eHRfbWVudV9nZXRfaXRlbV9hdF9wb3NpdGlvbgord2Via2l0X2NvbnRleHRfbWVudV9yZW1vdmUK
K3dlYmtpdF9jb250ZXh0X21lbnVfcmVtb3ZlX2FsbAord2Via2l0X2NvbnRleHRfbWVudV9zZXRf
dXNlcl9kYXRhCit3ZWJraXRfY29udGV4dF9tZW51X2dldF91c2VyX2RhdGEKKworPFNVQlNFQ1RJ
T04gU3RhbmRhcmQ+CitXZWJLaXRDb250ZXh0TWVudUNsYXNzCitXRUJLSVRfVFlQRV9DT05URVhU
X01FTlUKK1dFQktJVF9DT05URVhUX01FTlUKK1dFQktJVF9JU19DT05URVhUX01FTlUKK1dFQktJ
VF9DT05URVhUX01FTlVfQ0xBU1MKK1dFQktJVF9JU19DT05URVhUX01FTlVfQ0xBU1MKK1dFQktJ
VF9DT05URVhUX01FTlVfR0VUX0NMQVNTCisKKzxTVUJTRUNUSU9OIFByaXZhdGU+CitXZWJLaXRD
b250ZXh0TWVudVByaXZhdGUKK3dlYmtpdF9jb250ZXh0X21lbnVfZ2V0X3R5cGUKKzwvU0VDVElP
Tj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXRDb250ZXh0TWVudUl0ZW08L0ZJTEU+CitXZWJL
aXRDb250ZXh0TWVudUl0ZW0KK1dlYktpdENvbnRleHRNZW51QWN0aW9uCit3ZWJraXRfY29udGV4
dF9tZW51X2l0ZW1fbmV3X2Zyb21fZ2FjdGlvbgord2Via2l0X2NvbnRleHRfbWVudV9pdGVtX25l
d19mcm9tX3N0b2NrX2FjdGlvbgord2Via2l0X2NvbnRleHRfbWVudV9pdGVtX25ld19mcm9tX3N0
b2NrX2FjdGlvbl93aXRoX2xhYmVsCit3ZWJraXRfY29udGV4dF9tZW51X2l0ZW1fbmV3X3dpdGhf
c3VibWVudQord2Via2l0X2NvbnRleHRfbWVudV9pdGVtX25ld19zZXBhcmF0b3IKK3dlYmtpdF9j
b250ZXh0X21lbnVfaXRlbV9nZXRfZ2FjdGlvbgord2Via2l0X2NvbnRleHRfbWVudV9pdGVtX2dl
dF9zdG9ja19hY3Rpb24KK3dlYmtpdF9jb250ZXh0X21lbnVfaXRlbV9pc19zZXBhcmF0b3IKK3dl
YmtpdF9jb250ZXh0X21lbnVfaXRlbV9zZXRfc3VibWVudQord2Via2l0X2NvbnRleHRfbWVudV9p
dGVtX2dldF9zdWJtZW51CisKKzxTVUJTRUNUSU9OIFN0YW5kYXJkPgorV2ViS2l0Q29udGV4dE1l
bnVJdGVtQ2xhc3MKK1dFQktJVF9UWVBFX0NPTlRFWFRfTUVOVV9JVEVNCitXRUJLSVRfQ09OVEVY
VF9NRU5VX0lURU0KK1dFQktJVF9JU19DT05URVhUX01FTlVfSVRFTQorV0VCS0lUX0NPTlRFWFRf
TUVOVV9JVEVNX0NMQVNTCitXRUJLSVRfSVNfQ09OVEVYVF9NRU5VX0lURU1fQ0xBU1MKK1dFQktJ
VF9DT05URVhUX01FTlVfSVRFTV9HRVRfQ0xBU1MKKworPFNVQlNFQ1RJT04gUHJpdmF0ZT4KK1dl
YktpdENvbnRleHRNZW51SXRlbVByaXZhdGUKK3dlYmtpdF9jb250ZXh0X21lbnVfaXRlbV9nZXRf
dHlwZQorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktpdEZvcm1TdWJtaXNzaW9u
UmVxdWVzdDwvRklMRT4KK1dlYktpdEZvcm1TdWJtaXNzaW9uUmVxdWVzdAord2Via2l0X2Zvcm1f
c3VibWlzc2lvbl9yZXF1ZXN0X2xpc3RfdGV4dF9maWVsZHMKK3dlYmtpdF9mb3JtX3N1Ym1pc3Np
b25fcmVxdWVzdF9zdWJtaXQKKworPFNVQlNFQ1RJT04gU3RhbmRhcmQ+CitXZWJLaXRGb3JtU3Vi
bWlzc2lvblJlcXVlc3RDbGFzcworV0VCS0lUX1RZUEVfRk9STV9TVUJNSVNTSU9OX1JFUVVFU1QK
K1dFQktJVF9GT1JNX1NVQk1JU1NJT05fUkVRVUVTVAorV0VCS0lUX0lTX0ZPUk1fU1VCTUlTU0lP
Tl9SRVFVRVNUCitXRUJLSVRfRk9STV9TVUJNSVNTSU9OX1JFUVVFU1RfQ0xBU1MKK1dFQktJVF9J
U19GT1JNX1NVQk1JU1NJT05fUkVRVUVTVF9DTEFTUworV0VCS0lUX0ZPUk1fU1VCTUlTU0lPTl9S
RVFVRVNUX0dFVF9DTEFTUworCis8U1VCU0VDVElPTiBQcml2YXRlPgorV2ViS2l0Rm9ybVN1Ym1p
c3Npb25SZXF1ZXN0UHJpdmF0ZQord2Via2l0X2Zvcm1fc3VibWlzc2lvbl9yZXF1ZXN0X2dldF90
eXBlCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+V2ViS2l0U2VjdXJpdHlNYW5hZ2Vy
PC9GSUxFPgorV2ViS2l0U2VjdXJpdHlNYW5hZ2VyCit3ZWJraXRfc2VjdXJpdHlfbWFuYWdlcl9y
ZWdpc3Rlcl91cmlfc2NoZW1lX2FzX2xvY2FsCit3ZWJraXRfc2VjdXJpdHlfbWFuYWdlcl91cmlf
c2NoZW1lX2lzX2xvY2FsCit3ZWJraXRfc2VjdXJpdHlfbWFuYWdlcl9yZWdpc3Rlcl91cmlfc2No
ZW1lX2FzX25vX2FjY2Vzcword2Via2l0X3NlY3VyaXR5X21hbmFnZXJfdXJpX3NjaGVtZV9pc19u
b19hY2Nlc3MKK3dlYmtpdF9zZWN1cml0eV9tYW5hZ2VyX3JlZ2lzdGVyX3VyaV9zY2hlbWVfYXNf
ZGlzcGxheV9pc29sYXRlZAord2Via2l0X3NlY3VyaXR5X21hbmFnZXJfdXJpX3NjaGVtZV9pc19k
aXNwbGF5X2lzb2xhdGVkCit3ZWJraXRfc2VjdXJpdHlfbWFuYWdlcl9yZWdpc3Rlcl91cmlfc2No
ZW1lX2FzX3NlY3VyZQord2Via2l0X3NlY3VyaXR5X21hbmFnZXJfdXJpX3NjaGVtZV9pc19zZWN1
cmUKK3dlYmtpdF9zZWN1cml0eV9tYW5hZ2VyX3JlZ2lzdGVyX3VyaV9zY2hlbWVfYXNfY29yc19l
bmFibGVkCit3ZWJraXRfc2VjdXJpdHlfbWFuYWdlcl91cmlfc2NoZW1lX2lzX2NvcnNfZW5hYmxl
ZAord2Via2l0X3NlY3VyaXR5X21hbmFnZXJfcmVnaXN0ZXJfdXJpX3NjaGVtZV9hc19lbXB0eV9k
b2N1bWVudAord2Via2l0X3NlY3VyaXR5X21hbmFnZXJfdXJpX3NjaGVtZV9pc19lbXB0eV9kb2N1
bWVudAorCis8U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dlYktpdFNlY3VyaXR5TWFuYWdlckNsYXNz
CitXRUJLSVRfVFlQRV9TRUNVUklUWV9NQU5BR0VSCitXRUJLSVRfU0VDVVJJVFlfTUFOQUdFUgor
V0VCS0lUX0lTX1NFQ1VSSVRZX01BTkFHRVIKK1dFQktJVF9TRUNVUklUWV9NQU5BR0VSX0NMQVNT
CitXRUJLSVRfSVNfU0VDVVJJVFlfTUFOQUdFUl9DTEFTUworV0VCS0lUX1NFQ1VSSVRZX01BTkFH
RVJfR0VUX0NMQVNTCisKKzxTVUJTRUNUSU9OIFByaXZhdGU+CitXZWJLaXRTZWN1cml0eU1hbmFn
ZXJQcml2YXRlCit3ZWJraXRfc2VjdXJpdHlfbWFuYWdlcl9nZXRfdHlwZQorPC9TRUNUSU9OPgor
Cis8U0VDVElPTj4KKzxGSUxFPldlYktpdFNlY3VyaXR5T3JpZ2luPC9GSUxFPgorV2ViS2l0U2Vj
dXJpdHlPcmlnaW4KK3dlYmtpdF9zZWN1cml0eV9vcmlnaW5fbmV3Cit3ZWJraXRfc2VjdXJpdHlf
b3JpZ2luX25ld19mb3JfdXJpCit3ZWJraXRfc2VjdXJpdHlfb3JpZ2luX3JlZgord2Via2l0X3Nl
Y3VyaXR5X29yaWdpbl91bnJlZgord2Via2l0X3NlY3VyaXR5X29yaWdpbl9nZXRfcHJvdG9jb2wK
K3dlYmtpdF9zZWN1cml0eV9vcmlnaW5fZ2V0X2hvc3QKK3dlYmtpdF9zZWN1cml0eV9vcmlnaW5f
Z2V0X3BvcnQKK3dlYmtpdF9zZWN1cml0eV9vcmlnaW5faXNfb3BhcXVlCit3ZWJraXRfc2VjdXJp
dHlfb3JpZ2luX3RvX3N0cmluZworCis8U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dFQktJVF9UWVBF
X1NFQ1VSSVRZX09SSUdJTgorCis8U1VCU0VDVElPTiBQcml2YXRlPgord2Via2l0X3NlY3VyaXR5
X29yaWdpbl9nZXRfdHlwZQorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktpdFdl
YnNpdGVEYXRhTWFuYWdlcjwvRklMRT4KK1dlYktpdFdlYnNpdGVEYXRhTWFuYWdlcgord2Via2l0
X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX25ldword2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX25l
d19lcGhlbWVyYWwKK3dlYmtpdF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9pc19lcGhlbWVyYWwKK3dl
YmtpdF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9nZXRfYmFzZV9kYXRhX2RpcmVjdG9yeQord2Via2l0
X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX2dldF9iYXNlX2NhY2hlX2RpcmVjdG9yeQord2Via2l0X3dl
YnNpdGVfZGF0YV9tYW5hZ2VyX2dldF9sb2NhbF9zdG9yYWdlX2RpcmVjdG9yeQord2Via2l0X3dl
YnNpdGVfZGF0YV9tYW5hZ2VyX2dldF9kaXNrX2NhY2hlX2RpcmVjdG9yeQord2Via2l0X3dlYnNp
dGVfZGF0YV9tYW5hZ2VyX2dldF9vZmZsaW5lX2FwcGxpY2F0aW9uX2NhY2hlX2RpcmVjdG9yeQor
d2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX2dldF9pbmRleGVkZGJfZGlyZWN0b3J5Cit3ZWJr
aXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJfZ2V0X3dlYnNxbF9kaXJlY3RvcnkKK3dlYmtpdF93ZWJz
aXRlX2RhdGFfbWFuYWdlcl9nZXRfY29va2llX21hbmFnZXIKK3dlYmtpdF93ZWJzaXRlX2RhdGFf
bWFuYWdlcl9mZXRjaAord2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX2ZldGNoX2ZpbmlzaAor
d2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX3JlbW92ZQord2Via2l0X3dlYnNpdGVfZGF0YV9t
YW5hZ2VyX3JlbW92ZV9maW5pc2gKK3dlYmtpdF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9jbGVhcgor
d2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX2NsZWFyX2ZpbmlzaAorCis8U1VCU0VDVElPTiBT
dGFuZGFyZD4KK1dlYktpdFdlYnNpdGVEYXRhTWFuYWdlckNsYXNzCitXRUJLSVRfVFlQRV9XRUJT
SVRFX0RBVEFfTUFOQUdFUgorV0VCS0lUX1dFQlNJVEVfREFUQV9NQU5BR0VSCitXRUJLSVRfSVNf
V0VCU0lURV9EQVRBX01BTkFHRVIKK1dFQktJVF9XRUJTSVRFX0RBVEFfTUFOQUdFUl9DTEFTUwor
V0VCS0lUX0lTX1dFQlNJVEVfREFUQV9NQU5BR0VSX0NMQVNTCitXRUJLSVRfV0VCU0lURV9EQVRB
X01BTkFHRVJfR0VUX0NMQVNTCisKKzxTVUJTRUNUSU9OIFByaXZhdGU+CitXZWJLaXRXZWJzaXRl
RGF0YU1hbmFnZXJQcml2YXRlCit3ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJfZ2V0X3R5cGUK
KzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXRXZWJzaXRlRGF0YTwvRklMRT4K
K1dlYktpdFdlYnNpdGVEYXRhCitXZWJLaXRXZWJzaXRlRGF0YVR5cGVzCit3ZWJraXRfd2Vic2l0
ZV9kYXRhX3JlZgord2Via2l0X3dlYnNpdGVfZGF0YV91bnJlZgord2Via2l0X3dlYnNpdGVfZGF0
YV9nZXRfbmFtZQord2Via2l0X3dlYnNpdGVfZGF0YV9nZXRfdHlwZXMKK3dlYmtpdF93ZWJzaXRl
X2RhdGFfZ2V0X3NpemUKKworPFNVQlNFQ1RJT04gU3RhbmRhcmQ+CitXRUJLSVRfVFlQRV9XRUJT
SVRFX0RBVEEKKworPFNVQlNFQ1RJT04gUHJpdmF0ZT4KK3dlYmtpdF93ZWJzaXRlX2RhdGFfZ2V0
X3R5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXROZXR3b3JrUHJveHlT
ZXR0aW5nczwvRklMRT4KK1dlYktpdE5ldHdvcmtQcm94eVNldHRpbmdzCit3ZWJraXRfbmV0d29y
a19wcm94eV9zZXR0aW5nc19uZXcKK3dlYmtpdF9uZXR3b3JrX3Byb3h5X3NldHRpbmdzX2NvcHkK
K3dlYmtpdF9uZXR3b3JrX3Byb3h5X3NldHRpbmdzX2ZyZWUKK3dlYmtpdF9uZXR3b3JrX3Byb3h5
X3NldHRpbmdzX2FkZF9wcm94eV9mb3Jfc2NoZW1lCisKKzxTVUJTRUNUSU9OIFByaXZhdGU+Cit3
ZWJraXRfbmV0d29ya19wcm94eV9zZXR0aW5nc19nZXRfdHlwZQorCis8U1VCU0VDVElPTiBTdGFu
ZGFyZD4KK1dFQktJVF9UWVBFX05FVFdPUktfTkVUV09SS19QUk9YWV9TRVRUSU5HUworPC9TRUNU
SU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktpdEF1dG9tYXRpb25TZXNzaW9uPC9GSUxFPgor
V2ViS2l0QXV0b21hdGlvblNlc3Npb24KK3dlYmtpdF9hdXRvbWF0aW9uX3Nlc3Npb25fZ2V0X2lk
Cit3ZWJraXRfYXV0b21hdGlvbl9zZXNzaW9uX3NldF9hcHBsaWNhdGlvbl9pbmZvCit3ZWJraXRf
YXV0b21hdGlvbl9zZXNzaW9uX2dldF9hcHBsaWNhdGlvbl9pbmZvCisKKzxTVUJTRUNUSU9OIFBy
aXZhdGU+CitXZWJLaXRBdXRvbWF0aW9uU2Vzc2lvblByaXZhdGUKK3dlYmtpdF9hdXRvbWF0aW9u
X3Nlc3Npb25fZ2V0X3R5cGUKKworPFNVQlNFQ1RJT04gU3RhbmRhcmQ+CitXZWJLaXRBdXRvbWF0
aW9uU2Vzc2lvbkNsYXNzCitXRUJLSVRfVFlQRV9BVVRPTUFUSU9OX1NFU1NJT04KK1dFQktJVF9B
VVRPTUFUSU9OX1NFU1NJT04KK1dFQktJVF9JU19BVVRPTUFUSU9OX1NFU1NJT04KK1dFQktJVF9B
VVRPTUFUSU9OX1NFU1NJT05fQ0xBU1MKK1dFQktJVF9JU19BVVRPTUFUSU9OX1NFU1NJT05fQ0xB
U1MKK1dFQktJVF9BVVRPTUFUSU9OX1NFU1NJT05fR0VUX0NMQVNTCis8L1NFQ1RJT04+CisKKzxT
RUNUSU9OPgorPEZJTEU+V2ViS2l0QXBwbGljYXRpb25JbmZvPC9GSUxFPgorV2ViS2l0QXBwbGlj
YXRpb25JbmZvCit3ZWJraXRfYXBwbGljYXRpb25faW5mb19uZXcKK3dlYmtpdF9hcHBsaWNhdGlv
bl9pbmZvX3JlZgord2Via2l0X2FwcGxpY2F0aW9uX2luZm9fdW5yZWYKK3dlYmtpdF9hcHBsaWNh
dGlvbl9pbmZvX3NldF9uYW1lCit3ZWJraXRfYXBwbGljYXRpb25faW5mb19nZXRfbmFtZQord2Vi
a2l0X2FwcGxpY2F0aW9uX2luZm9fc2V0X3ZlcnNpb24KK3dlYmtpdF9hcHBsaWNhdGlvbl9pbmZv
X2dldF92ZXJzaW9uCisKKzxTVUJTRUNUSU9OIFByaXZhdGU+Cit3ZWJraXRfYXBwbGljYXRpb25f
aW5mb19nZXRfdHlwZQorCis8U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dFQktJVF9UWVBFX0FQUExJ
Q0FUSU9OX0lORk8KKzwvU0VDVElPTj4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS93cGUvZG9jcy93cGUtMC4xLnR5cGVzIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL3dwZS9kb2NzL3dwZS0wLjEudHlwZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDlkZWIyOWJjYjEwZjQ1OTI0
ZWVhY2M4ODRlMGNkNWNmODEzMTZiNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS93cGUvZG9jcy93cGUtMC4xLnR5cGVzCkBAIC0wLDAgKzEsNTEgQEAKKyNp
bmNsdWRlIDx3cGUvd2Via2l0Lmg+Cit3ZWJraXRfYXBwbGljYXRpb25faW5mb19nZXRfdHlwZQor
d2Via2l0X2F1dGhlbnRpY2F0aW9uX3JlcXVlc3RfZ2V0X3R5cGUKK3dlYmtpdF9hdXRvbWF0aW9u
X3Nlc3Npb25fZ2V0X3R5cGUKK3dlYmtpdF9iYWNrX2ZvcndhcmRfbGlzdF9nZXRfdHlwZQord2Vi
a2l0X2JhY2tfZm9yd2FyZF9saXN0X2l0ZW1fZ2V0X3R5cGUKK3dlYmtpdF9jcmVkZW50aWFsX2dl
dF90eXBlCit3ZWJraXRfY29udGV4dF9tZW51X2dldF90eXBlCit3ZWJraXRfY29udGV4dF9tZW51
X2l0ZW1fZ2V0X3R5cGUKK3dlYmtpdF9jb29raWVfbWFuYWdlcl9nZXRfdHlwZQord2Via2l0X2Rv
d25sb2FkX2dldF90eXBlCit3ZWJraXRfZWRpdG9yX3N0YXRlX2dldF90eXBlCit3ZWJraXRfZmF2
aWNvbl9kYXRhYmFzZV9nZXRfdHlwZQord2Via2l0X2ZpbGVfY2hvb3Nlcl9yZXF1ZXN0X2dldF90
eXBlCit3ZWJraXRfZmluZF9jb250cm9sbGVyX2dldF90eXBlCit3ZWJraXRfZm9ybV9zdWJtaXNz
aW9uX3JlcXVlc3RfZ2V0X3R5cGUKK3dlYmtpdF9nZW9sb2NhdGlvbl9wZXJtaXNzaW9uX3JlcXVl
c3RfZ2V0X3R5cGUKK3dlYmtpdF9oaXRfdGVzdF9yZXN1bHRfZ2V0X3R5cGUKK3dlYmtpdF9pbnN0
YWxsX21pc3NpbmdfbWVkaWFfcGx1Z2luc19wZXJtaXNzaW9uX3JlcXVlc3RfZ2V0X3R5cGUKK3dl
YmtpdF9qYXZhc2NyaXB0X3Jlc3VsdF9nZXRfdHlwZQord2Via2l0X21pbWVfaW5mb19nZXRfdHlw
ZQord2Via2l0X25hdmlnYXRpb25fYWN0aW9uX2dldF90eXBlCit3ZWJraXRfbmF2aWdhdGlvbl9w
b2xpY3lfZGVjaXNpb25fZ2V0X3R5cGUKK3dlYmtpdF9uZXR3b3JrX3Byb3h5X3NldHRpbmdzX2dl
dF90eXBlCit3ZWJraXRfbm90aWZpY2F0aW9uX3Blcm1pc3Npb25fcmVxdWVzdF9nZXRfdHlwZQor
d2Via2l0X25vdGlmaWNhdGlvbl9nZXRfdHlwZQord2Via2l0X3Blcm1pc3Npb25fcmVxdWVzdF9n
ZXRfdHlwZQord2Via2l0X3BsdWdpbl9nZXRfdHlwZQord2Via2l0X3BvbGljeV9kZWNpc2lvbl9n
ZXRfdHlwZQord2Via2l0X3Jlc3BvbnNlX3BvbGljeV9kZWNpc2lvbl9nZXRfdHlwZQord2Via2l0
X3NjcmlwdF9kaWFsb2dfZ2V0X3R5cGUKK3dlYmtpdF9zZWN1cml0eV9tYW5hZ2VyX2dldF90eXBl
Cit3ZWJraXRfc2VjdXJpdHlfb3JpZ2luX2dldF90eXBlCit3ZWJraXRfdXJpX3JlcXVlc3RfZ2V0
X3R5cGUKK3dlYmtpdF91cmlfcmVzcG9uc2VfZ2V0X3R5cGUKK3dlYmtpdF91cmlfc2NoZW1lX3Jl
cXVlc3RfZ2V0X3R5cGUKK3dlYmtpdF91c2VyX3N0eWxlX3NoZWV0X2dldF90eXBlCit3ZWJraXRf
dXNlcl9zY3JpcHRfZ2V0X3R5cGUKK3dlYmtpdF91c2VyX2NvbnRlbnRfbWFuYWdlcl9nZXRfdHlw
ZQord2Via2l0X3VzZXJfbWVkaWFfcGVybWlzc2lvbl9yZXF1ZXN0X2dldF90eXBlCit3ZWJraXRf
d2ViX2NvbnRleHRfZ2V0X3R5cGUKK3dlYmtpdF93ZWJfcmVzb3VyY2VfZ2V0X3R5cGUKK3dlYmtp
dF93ZWJfdmlld19nZXRfdHlwZQord2Via2l0X3dlYl92aWV3X2JhY2tlbmRfZ2V0X3R5cGUKK3dl
YmtpdF93ZWJfdmlld19zZXNzaW9uX3N0YXRlX2dldF90eXBlCit3ZWJraXRfd2Vic2l0ZV9kYXRh
X2dldF90eXBlCit3ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJfZ2V0X3R5cGUKK3dlYmtpdF93
aW5kb3dfcHJvcGVydGllc19nZXRfdHlwZQord2Via2l0X2Zvcm1fc3VibWlzc2lvbl9zdGVwX2dl
dF90eXBlCisKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9k
b2NzL3dwZS1kb2NzLnNnbWwgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL2RvY3Mv
d3BlLWRvY3Muc2dtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMjMwNjllOWE4NzcxODYwNWMyYjRiMDk1Y2YxNzgw
MjlmZmE2ZjdkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L3dwZS9kb2NzL3dwZS1kb2NzLnNnbWwKQEAgLTAsMCArMSw5MCBAQAorPD94bWwgdmVyc2lvbj0i
MS4wIj8+Cis8IURPQ1RZUEUgYm9vayBQVUJMSUMgIi0vL09BU0lTLy9EVEQgRG9jQm9vayBYTUwg
VjQuMS4yLy9FTiIKKyAgICAgICAgICAgICAgICJodHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2Rv
Y2Jvb2sveG1sLzQuMS4yL2RvY2Jvb2t4LmR0ZCIgWworPCFFTlRJVFkgdmVyc2lvbiBTWVNURU0g
InZlcnNpb24ueG1sIj4KK10+Cis8Ym9vayBpZD0iaW5kZXgiIHhtbG5zOnhpPSJodHRwOi8vd3d3
LnczLm9yZy8yMDAzL1hJbmNsdWRlIj4KKyAgPGJvb2tpbmZvPgorICAgIDx0aXRsZT5XUEUgUmVm
ZXJlbmNlIE1hbnVhbDwvdGl0bGU+CisgICAgPHJlbGVhc2VpbmZvPmZvciBXUEUgV2ViS2l0ICZ2
ZXJzaW9uOzwvcmVsZWFzZWluZm8+CisgIDwvYm9va2luZm8+CisKKyAgPGNoYXB0ZXI+CisgICAg
PHRpdGxlPkNsYXNzIE92ZXJ2aWV3PC90aXRsZT4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwv
V2ViS2l0V2ViQ29udGV4dC54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0
V2ViVmlldy54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0V2ViVmlld0Jh
Y2tlbmQueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdEF1dGhlbnRpY2F0
aW9uUmVxdWVzdC54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0QmFja0Zv
cndhcmRMaXN0LnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJLaXRCYWNrRm9y
d2FyZExpc3RJdGVtLnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJLaXRTZXR0
aW5ncy54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0VVJJUmVxdWVzdC54
bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0VVJJUmVzcG9uc2UueG1sIi8+
CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdFdpbmRvd1Byb3BlcnRpZXMueG1sIi8+
CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdERvd25sb2FkLnhtbCIvPgorICAgIDx4
aTppbmNsdWRlIGhyZWY9InhtbC9XZWJLaXRQZXJtaXNzaW9uUmVxdWVzdC54bWwiLz4KKyAgICA8
eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0R2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdC54
bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0SW5zdGFsbE1pc3NpbmdNZWRp
YVBsdWdpbnNQZXJtaXNzaW9uUmVxdWVzdC54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4
bWwvV2ViS2l0TmF2aWdhdGlvbkFjdGlvbi54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4
bWwvV2ViS2l0VXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3QueG1sIi8+CisgICAgPHhpOmluY2x1
ZGUgaHJlZj0ieG1sL1dlYktpdFBvbGljeURlY2lzaW9uLnhtbCIvPgorICAgIDx4aTppbmNsdWRl
IGhyZWY9InhtbC9XZWJLaXROYXZpZ2F0aW9uUG9saWN5RGVjaXNpb24ueG1sIi8+CisgICAgPHhp
OmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdFJlc3BvbnNlUG9saWN5RGVjaXNpb24ueG1sIi8+Cisg
ICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdEhpdFRlc3RSZXN1bHQueG1sIi8+CisgICAg
PHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdEVkaXRvclN0YXRlLnhtbCIvPgorICAgIDx4aTpp
bmNsdWRlIGhyZWY9InhtbC9XZWJLaXRXZWJSZXNvdXJjZS54bWwiLz4KKyAgICA8eGk6aW5jbHVk
ZSBocmVmPSJ4bWwvV2ViS2l0RXJyb3IueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1s
L1dlYktpdEZhdmljb25EYXRhYmFzZS54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwv
V2ViS2l0RmlsZUNob29zZXJSZXF1ZXN0LnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9Inht
bC9XZWJLaXRGaW5kQ29udHJvbGxlci54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwv
V2ViS2l0Q29va2llTWFuYWdlci54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2Vi
S2l0UGx1Z2luLnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJLaXRVUklTY2hl
bWVSZXF1ZXN0LnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJLaXRDb250ZXh0
TWVudS54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0Q29udGV4dE1lbnVJ
dGVtLnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJLaXRGb3JtU3VibWlzc2lv
blJlcXVlc3QueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdFNlY3VyaXR5
TWFuYWdlci54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0VXNlckNvbnRl
bnRNYW5hZ2VyLnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJLaXRVc2VyQ29u
dGVudC54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0Tm90aWZpY2F0aW9u
LnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJLaXROb3RpZmljYXRpb25QZXJt
aXNzaW9uUmVxdWVzdC54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0U2Vj
dXJpdHlPcmlnaW4ueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdFdlYnNp
dGVEYXRhTWFuYWdlci54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0V2Vi
c2l0ZURhdGEueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdE5ldHdvcmtQ
cm94eVNldHRpbmdzLnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJLaXRBdXRv
bWF0aW9uU2Vzc2lvbi54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0QXBw
bGljYXRpb25JbmZvLnhtbCIvPgorICA8L2NoYXB0ZXI+CisKKyAgPCEtLSA8Y2hhcHRlcj4KKyAg
ICA8dGl0bGU+V2ViIEV4dGVuc2lvbnM8L3RpdGxlPgorICAgIDx4aTppbmNsdWRlIGhyZWY9Inht
bC9XZWJLaXRXZWJFeHRlbnNpb24ueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dl
YktpdFdlYlBhZ2UueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdEZyYW1l
LnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJLaXRTY3JpcHRXb3JsZC54bWwi
Lz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0V2ViSGl0VGVzdFJlc3VsdC54bWwi
Lz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0V2ViRWRpdG9yLnhtbCIvPgorICAg
IDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJLaXRDb25zb2xlTWVzc2FnZS54bWwiLz4KKyAgPC9j
aGFwdGVyPiAtLT4KKworICA8aW5kZXggaWQ9ImluZGV4LWFsbCI+CisgICAgPHRpdGxlPkluZGV4
PC90aXRsZT4KKyAgPC9pbmRleD4KKworICA8aW5kZXggaWQ9ImFwaS1pbmRleC1kZXByZWNhdGVk
IiByb2xlPSJkZXByZWNhdGVkIj4KKyAgICA8dGl0bGU+SW5kZXggb2YgZGVwcmVjYXRlZCBzeW1i
b2xzPC90aXRsZT4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvYXBpLWluZGV4LWRlcHJlY2F0
ZWQueG1sIj48eGk6ZmFsbGJhY2sgLz48L3hpOmluY2x1ZGU+CisgIDwvaW5kZXg+CisKKyAgPGlu
ZGV4IGlkPSJhcGktaW5kZXgtMi0yMCIgcm9sZT0iMi4yMCI+CisgICAgPHRpdGxlPkluZGV4IG9m
IG5ldyBzeW1ib2xzIGluIDIuMjA8L3RpdGxlPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9h
cGktaW5kZXgtMi4yMC54bWwiPjx4aTpmYWxsYmFjayAvPjwveGk6aW5jbHVkZT4KKyAgPC9pbmRl
eD4KKworICA8aW5kZXggaWQ9ImFwaS1pbmRleC0yLTIyIiByb2xlPSIyLjIyIj4KKyAgICA8dGl0
bGU+SW5kZXggb2YgbmV3IHN5bWJvbHMgaW4gMi4yMjwvdGl0bGU+CisgICAgPHhpOmluY2x1ZGUg
aHJlZj0ieG1sL2FwaS1pbmRleC0yLjIyLnhtbCI+PHhpOmZhbGxiYWNrIC8+PC94aTppbmNsdWRl
PgorICA8L2luZGV4PgorCisgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9hbm5vdGF0aW9uLWdsb3Nz
YXJ5LnhtbCI+PHhpOmZhbGxiYWNrIC8+PC94aTppbmNsdWRlPgorPC9ib29rPgpkaWZmIC0tZ2l0
IGEvU291cmNlL2NtYWtlL0d0a0RvYy5jbWFrZSBiL1NvdXJjZS9jbWFrZS9HdGtEb2MuY21ha2UK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZmJkMDBhM2QxNjY4MDI1OWY4MzgxNzllMjQ2MmQ4NjU2YTVmZDk4YgotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9jbWFrZS9HdGtEb2MuY21ha2UKQEAgLTAsMCArMSwxMiBA
QAorIyBDYWxscyBzY3JpcHRzIHRvIGdlbmVyYXRlIGRvY3VtZW50YXRpb24gdXNpbmcgR1RLLURv
YyB2aWEgc2NyaXB0LgorIyBEb2N1bWVudGF0aW9uRGVwZW5kZW5jaWVzIHZhcmlhYmxlIG11c3Qg
YmUgc2V0IGJlZm9yZSBjYWxsaW5nIHRoaXMgbWFjcm8uCittYWNybyhBRERfR1RLRE9DX0dFTkVS
QVRPUiBfc3RhbXBfbmFtZSBfZXh0cmFfYXJncykKKyAgICBhZGRfY3VzdG9tX2NvbW1hbmQoCisg
ICAgICAgIE9VVFBVVCAiJHtDTUFLRV9CSU5BUllfRElSfS8ke19zdGFtcF9uYW1lfSIKKyAgICAg
ICAgREVQRU5EUyAke0RvY3VtZW50YXRpb25EZXBlbmRlbmNpZXN9CisgICAgICAgIENPTU1BTkQg
JHtDTUFLRV9DT01NQU5EfSAtRSBlbnYgIkNDPSR7Q01BS0VfQ19DT01QSUxFUn0iICJDRkxBR1M9
JHtDTUFLRV9DX0ZMQUdTfSAtV25vLXVudXNlZC1wYXJhbWV0ZXIiICR7Q01BS0VfU09VUkNFX0RJ
Un0vVG9vbHMvZ3RrZG9jL2dlbmVyYXRlLWd0a2RvYyAke19leHRyYV9hcmdzfQorICAgICAgICBD
T01NQU5EIHRvdWNoICR7X3N0YW1wX25hbWV9CisgICAgICAgIFdPUktJTkdfRElSRUNUT1JZICIk
e0NNQUtFX0JJTkFSWV9ESVJ9IgorICAgICAgICBWRVJCQVRJTQorICAgICkKK2VuZG1hY3JvKCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9PcHRpb25zV1BFLmNtYWtlIGIvU291cmNlL2NtYWtl
L09wdGlvbnNXUEUuY21ha2UKaW5kZXggZmIwYjYwZWU5ZTgzMzcxN2JlNzRkODg3M2FlZjA0OWZh
MGYxZGRmNC4uYTUzNzBkODM1Mzc2NjZhMzA0Y2IyYTYxMWI5ZTYyODdkZjMyZWQ5ZSAxMDA2NDQK
LS0tIGEvU291cmNlL2NtYWtlL09wdGlvbnNXUEUuY21ha2UKKysrIGIvU291cmNlL2NtYWtlL09w
dGlvbnNXUEUuY21ha2UKQEAgLTQ2LDYgKzQ2LDcgQEAgV0VCS0lUX09QVElPTl9ERUZBVUxUX1BP
UlRfVkFMVUUoRU5BQkxFX1dFQl9SVEMgUFJJVkFURSAke0VOQUJMRV9FWFBFUklNRU5UQUxfRkUK
ICMgUHVibGljIG9wdGlvbnMgc3BlY2lmaWMgdG8gdGhlIFdQRSBwb3J0LiBEbyBub3QgYWRkIGFu
eSBvcHRpb25zIGhlcmUgdW5sZXNzCiAjIHRoZXJlIGlzIGEgc3Ryb25nIHJlYXNvbiB3ZSBzaG91
bGQgc3VwcG9ydCBjaGFuZ2luZyB0aGUgdmFsdWUgb2YgdGhlIG9wdGlvbiwKICMgYW5kIHRoZSBv
cHRpb24gaXMgbm90IHJlbGV2YW50IHRvIGFueSBvdGhlciBXZWJLaXQgcG9ydHMuCitXRUJLSVRf
T1BUSU9OX0RFRklORShFTkFCTEVfR1RLRE9DICJXaGV0aGVyIG9yIG5vdCB0byB1c2UgZ2VuZXJh
dGUgZ3RrZG9jLiIgUFVCTElDIE9GRikKIFdFQktJVF9PUFRJT05fREVGSU5FKFVTRV9XT0ZGMiAi
V2hldGhlciB0byBlbmFibGUgc3VwcG9ydCBmb3IgV09GRjIgV2ViIEZvbnRzLiIgUFVCTElDIE9O
KQogCiAjIFByaXZhdGUgb3B0aW9ucyBzcGVjaWZpYyB0byB0aGUgV1BFIHBvcnQuCkBAIC0xMzYs
NiArMTM3LDExIEBAIFNFVF9BTkRfRVhQT1NFX1RPX0JVSUxEKFVTRV9DT09SRElOQVRFRF9HUkFQ
SElDUyBUUlVFKQogU0VUX0FORF9FWFBPU0VfVE9fQlVJTEQoVVNFX0NPT1JESU5BVEVEX0dSQVBI
SUNTX1RIUkVBREVEIFRSVUUpCiBTRVRfQU5EX0VYUE9TRV9UT19CVUlMRChVU0VfTklDT1NJQSBU
UlVFKQogCisjIE92ZXJyaWRlIHRoZSBjYWNoZWQgdmFyaWFibGUsIGd0ay1kb2MgZG9lcyBub3Qg
cmVhbGx5IHdvcmsgd2hlbiBjcm9zcy1idWlsZGluZyBvciBidWlsZGluZyBvbiBNYWMuCitpZiAo
Q01BS0VfQ1JPU1NDT01QSUxJTkcgT1IgQVBQTEUpCisgICAgc2V0KEVOQUJMRV9HVEtET0MgT0ZG
KQorZW5kaWYgKCkKKwogc2V0KEZPUldBUkRJTkdfSEVBREVSU19ESVIgJHtERVJJVkVEX1NPVVJD
RVNfRElSfS9Gb3J3YXJkaW5nSGVhZGVycykKIHNldChGT1JXQVJESU5HX0hFQURFUlNfV1BFX0RJ
UiAke0ZPUldBUkRJTkdfSEVBREVSU19ESVJ9L3dwZSkKIHNldChGT1JXQVJESU5HX0hFQURFUlNf
V1BFX0VYVEVOU0lPTl9ESVIgJHtGT1JXQVJESU5HX0hFQURFUlNfRElSfS93cGUtd2ViZXh0ZW5z
aW9uKQpAQCAtMTQ0LDQgKzE1MCw3IEBAIHNldChERVJJVkVEX1NPVVJDRVNfSkFWQVNDUklQQ09S
RVdQRV9ESVIgJHtERVJJVkVEX1NPVVJDRVNfSkFWQVNDUklQVENPUkVfRElSfS9qCiBzZXQoREVS
SVZFRF9TT1VSQ0VTX0pBVkFTQ1JJUENPUkVfR0xJQl9BUElfRElSICR7REVSSVZFRF9TT1VSQ0VT
X0pBVkFTQ1JJUFRDT1JFX0RJUn0vamF2YXNjcmlwdGNvcmV3cGUvanNjKQogc2V0KERFUklWRURf
U09VUkNFU19XUEVfQVBJX0RJUiAke0RFUklWRURfU09VUkNFU19XRUJLSVRfRElSfS93cGUpCiAK
K3NldChXUEVfUEtHQ09ORklHX0ZJTEUgJHtDTUFLRV9CSU5BUllfRElSfS93cGUtd2Via2l0LSR7
V1BFX0FQSV9WRVJTSU9OfS5wYykKK3NldChXUEVXZWJFeHRlbnNpb25fUEtHQ09ORklHX0ZJTEUg
JHtDTUFLRV9CSU5BUllfRElSfS93cGUtd2ViLWV4dGVuc2lvbi0ke1dQRV9BUElfVkVSU0lPTn0u
cGMpCisKIGluY2x1ZGUoR1N0cmVhbWVyQ2hlY2tzKQpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdl
TG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGVjNGIyMGRmZTE2N2EzYTU4YjRmMGJhYzdjNjgz
M2MzMDg4MGQ1YzAuLmIwZWVkZWMwNmZjODJlNTNmY2JjZjY0ZGUyMmZlMTczNTE2YjA3NzUgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyMyBAQAorMjAxOC0xMC0yMyAgQ2FybG9zIEVkdWFyZG8gUmFtYWxobyAgPGNhZHViZW50emVu
QGdtYWlsLmNvbT4KKworICAgICAgICBbV1BFXSBBZGQgZ3RrLWRvYworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4OTAwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGd0ay1kb2MgdG8gV1BFIHBvcnQu
IFRoaXMgcGF0Y2ggdHJpZXMgdG8gcmV1c2UgYXMgbXVjaCBjb2RlIGZyb20KKyAgICAgICAgV2Vi
S2l0R1RLKyBhcyBwb3NzaWJsZS4KKworICAgICAgICAqIGd0a2RvYy9nZW5lcmF0ZS1ndGtkb2M6
IFJlbmFtZWQgZnJvbSBUb29scy9ndGsvZ2VuZXJhdGUtZ3RrZG9jLgorICAgICAgICAoZ2V0X2d0
a2RvY19tb2R1bGVfcGF0aHMpOiBBZGQgR0RLIGFuZCBHVEsgb25seSBpZiBidWlsZGluZyBmb3Ig
R1RLLgorICAgICAgICAocHJlcGFyZV9lbnZpcm9ubWVudF9mb3JfZ3RrZG9jX2dlbmVyYXRpb24p
OgorICAgICAgICAoYnVpbGRfZ3RrZG9jX2Zvcl93cGUpOiBDb2RlIHRvIGdlbmVyYXRlIGRvYyBm
b3IgV1BFLgorICAgICAgICAoYnVpbGRfZ3RrZG9jX2Zvcl93a2d0ayk6IENvZGUgdG8gZ2VuZXJh
dGUgZG9jIGZvciBXZWJLaXRHVEsrLiBNb3ZlZCBmcm9tIG1haW4uCisgICAgICAgICogZ3RrZG9j
L2d0a2RvYy5weTogUmVuYW1lZCBmcm9tIFRvb2xzL2d0ay9ndGtkb2MucHkuCisgICAgICAgIChH
VEtEb2MuX19pbml0X18pOiBJbml0aWFsaXplZCByZXF1aXJlZCB2YXJpYWJsZXMgYWNjb3JkaW5n
IHRvIHB5bGludC4KKyAgICAgICAgKEdUS0RvYy5hcGlfbWlzc2luZ19kb2N1bWVudGF0aW9uKToK
KyAgICAgICAgKiB3cGUvaW5zdGFsbC1kZXBlbmRlbmNpZXM6IEFkZCBndGtkb2MgZGVwZW5kZW5j
eS4KKwogMjAxOC0xMC0yMyAgSnVzdGluIEZhbiAgPGp1c3Rpbl9mYW5AYXBwbGUuY29tPgogCiAg
ICAgICAgIFtXZWJHUFVdIFJlbmFtZSBvbGQgR1BVKiBpbXBsZW1lbnRhdGlvbiBmaWxlcyB0byBH
UFVMZWdhY3kqIGZvciBXZWJNZXRhbApkaWZmIC0tZ2l0IGEvVG9vbHMvZ3RrL2dlbmVyYXRlLWd0
a2RvYyBiL1Rvb2xzL2d0ay9nZW5lcmF0ZS1ndGtkb2MKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNzU1
CmluZGV4IDQ1YzIzZGZiMTJmMWM4OTNhMjZjOGQzZTdiM2YwYTRjYTJhMmI3MjQuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvVG9vbHMvZ3RrL2dlbmVyYXRl
LWd0a2RvYworKysgL2Rldi9udWxsCkBAIC0xLDIyMSArMCwwIEBACi0jIS91c3IvYmluL2VudiBw
eXRob24KLSMgQ29weXJpZ2h0IChDKSAyMDExIElnYWxpYSBTLkwuCi0jCi0jIFRoaXMgbGlicmFy
eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSMgbW9k
aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwot
IyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl
aXRoZXIKLSMgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFu
eSBsYXRlciB2ZXJzaW9uLgotIwotIyBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhl
IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ
OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSMgTUVSQ0hBTlRBQklMSVRZ
IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSMgTGVz
c2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSMKLSMgWW91IHNo
b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1Ymxp
YwotIyBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRo
ZSBGcmVlIFNvZnR3YXJlCi0jIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwg
RmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQotCi1mcm9tIF9fZnV0dXJl
X18gaW1wb3J0IHByaW50X2Z1bmN0aW9uCi1mcm9tIENvbmZpZ1BhcnNlciBpbXBvcnQgU2FmZUNv
bmZpZ1BhcnNlcgotCi1pbXBvcnQgYXJncGFyc2UKLWltcG9ydCBjb2RlY3MKLWltcG9ydCBnbG9i
Ci1pbXBvcnQgZ3RrZG9jCi1pbXBvcnQgbG9nZ2luZwotaW1wb3J0IG9zLnBhdGgKLWltcG9ydCBz
eXMKLQotdG9wX2xldmVsX2RpcmVjdG9yeSA9IG9zLnBhdGgubm9ybXBhdGgob3MucGF0aC5qb2lu
KG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXyksICcuLicsICcuLicpKQotc3lzLnBhdGguaW5zZXJ0
KDAsIG9zLnBhdGguam9pbih0b3BfbGV2ZWxfZGlyZWN0b3J5LCAnVG9vbHMnLCAnZ2xpYicpKQot
aW1wb3J0IGNvbW1vbgotCi1zeXMuc3Rkb3V0ID0gY29kZWNzLmdldHdyaXRlcigidXRmLTgiKShz
eXMuc3Rkb3V0KQotc3lzLnN0ZGVyciA9IGNvZGVjcy5nZXR3cml0ZXIoInV0Zi04Iikoc3lzLnN0
ZGVycikKLQotZGVmIGNvbmZpZ3VyZV9sb2dnaW5nKHZlcmJvc2UpOgotICAgIGxldmVsID0gbG9n
Z2luZy5ERUJVRyBpZiB2ZXJib3NlIGVsc2UgbG9nZ2luZy5JTkZPCi0gICAgbG9nZ2VyID0gbG9n
Z2luZy5nZXRMb2dnZXIoJ2d0a2RvYycpCi0gICAgbG9nZ2VyLnNldExldmVsKGxldmVsKQotICAg
IGhhbmRsZXIgPSBsb2dnaW5nLlN0cmVhbUhhbmRsZXIoKQotICAgIGhhbmRsZXIuc2V0TGV2ZWwo
bGV2ZWwpCi0gICAgbG9nZ2VyLmFkZEhhbmRsZXIoaGFuZGxlcikKLSAgICBpZiBsZXZlbCA9PSBs
b2dnaW5nLkRFQlVHOgotICAgICAgICBoYW5kbGVyLnNldEZvcm1hdHRlcihsb2dnaW5nLkZvcm1h
dHRlcignWyUoYXNjdGltZSlzXSAgJShtZXNzYWdlKXMnKSkKLSAgICBlbHNlOgotICAgICAgICBo
YW5kbGVyLnNldEZvcm1hdHRlcihsb2dnaW5nLkZvcm1hdHRlcignJShtZXNzYWdlKXMnKSkKLQot
ZGVmIGdldF9ndGtkb2NfbW9kdWxlX3BhdGhzKGNyb3NzX3JlZmVyZW5jZV9kZXBzKToKLSAgICBk
ZXBlbmRlbnRfcGFja2FnZXMgPSB7Ci0gICAgICAgICdnbGliLTIuMCcgOiBbJ2dsaWInLCAnZ29i
amVjdCcsICdnaW8nXSwKLSAgICAgICAgJ2xpYnNvdXAtMi40JyA6IFsnbGlic291cC0yLjQnXSwK
LSAgICAgICAgJ2dkay1waXhidWYtMi4wJzogWydnZGstcGl4YnVmJ10sCi0gICAgICAgICdndGsr
LTMuMCcgOiBbJ2d0azMnLCAnZ2RrMyddCi0gICAgfQotCi0gICAgcGF0aHMgPSBbXQotICAgIGh0
bWxfZGlyID0gb3MucGF0aC5qb2luKCdzaGFyZScsICdndGstZG9jJywgJ2h0bWwnKQotICAgIGZv
ciBwYWNrYWdlLCBtb2R1bGVzIGluIGRlcGVuZGVudF9wYWNrYWdlcy5pdGVyaXRlbXMoKToKLSAg
ICAgICAgcHJlZml4ID0gY29tbW9uLnByZWZpeF9vZl9wa2dfY29uZmlnX2ZpbGUocGFja2FnZSkK
LSAgICAgICAgaWYgcHJlZml4IGlzIE5vbmU6Ci0gICAgICAgICAgICBjb250aW51ZQotICAgICAg
ICBmb3IgbW9kdWxlIGluIG1vZHVsZXM6Ci0gICAgICAgICAgICBwYXRocy5hcHBlbmQob3MucGF0
aC5qb2luKHByZWZpeCwgaHRtbF9kaXIsIG1vZHVsZSkpCi0KLSAgICBmb3IgbG9jYWxfZGVwIGlu
IGNyb3NzX3JlZmVyZW5jZV9kZXBzOgotICAgICAgICBwYXRocy5hcHBlbmQoY29tbW9uLmJ1aWxk
X3BhdGgoJ0RvY3VtZW50YXRpb24nLCBsb2NhbF9kZXAsICdodG1sJykpCi0gICAgcmV0dXJuIHBh
dGhzCi0KLWRlZiBwcmludF9taXNzaW5nX2FwaShnZW5lcmF0b3IpOgotICAgIG1pc3NpbmdfYXBp
ID0gZ2VuZXJhdG9yLmFwaV9taXNzaW5nX2RvY3VtZW50YXRpb24oKQotICAgIGlmIG5vdCBtaXNz
aW5nX2FwaToKLSAgICAgICAgcmV0dXJuCi0gICAgcHJpbnQoIlxuVGhlIGZvbGxvd2luZyBBUEkg
YXJlIG1pc3NpbmcgZG9jdW1lbnRhdGlvbjoiKQotICAgIGZvciBhcGkgaW4gbWlzc2luZ19hcGk6
Ci0gICAgICAgIHByaW50KCJcdHswfSIuZm9ybWF0KGFwaSkpCi0KLWRlZiBmaWxlc190b19pZ25v
cmUoc291cmNlX2RpcnMsIGhlYWRlcnNfd2l0aF9ndGtkb2MpOgotICAgICIiIgotICAgIEZpbmQg
ZmlsZXMgdG8gaWdub3JlIGR1cmluZyBkb2N1bWVudGF0aW9uIGdlbmVyYXRpb24uIFdlIGFzc3Vt
ZSB0aGF0IGlmIGFuCi0gICAgaW1wbGVtZW50YXRpb24gZmlsZSBleGlzdHMgZm9yIGEgaGVhZGVy
IHdpdGggZ3RrZG9jIChzYXkgd2Via2l0Zm9vLmNwcCBmb3IKLSAgICB3ZWJraXRmb28uaCkgd2Ug
c2hvdWxkbid0IGlnbm9yZSB0aGF0IGZpbGUuIEN1cnJlbnRseSB0aGlzIGhvbGRzIHRydWUgZm9y
IGFsbAotICAgIG9mIHRoZSBXZWJLaXQgcHJvamVjdC4KLSAgICAiIiIKLSAgICBpbXBsZW1lbnRh
dGlvbl9maWxlcyA9IGxpc3QoaGVhZGVyc193aXRoX2d0a2RvYykKLSAgICBmb3IgaGVhZGVyIGlu
IGhlYWRlcnNfd2l0aF9ndGtkb2M6Ci0gICAgICAgIGRlZiBhZGRfZmlsZV9pZl9leGlzdHMoZmls
ZW5hbWUpOgotICAgICAgICAgICAgZm9yIGRpciBpbiBzb3VyY2VfZGlyczoKLSAgICAgICAgICAg
ICAgICBmaWxlID0gb3MucGF0aC5qb2luKGRpciwgZmlsZW5hbWUpCi0gICAgICAgICAgICAgICAg
aWYgb3MucGF0aC5pc2ZpbGUoZmlsZSk6Ci0gICAgICAgICAgICAgICAgICAgIGltcGxlbWVudGF0
aW9uX2ZpbGVzLmFwcGVuZChvcy5wYXRoLmFic3BhdGgoZmlsZSkpCi0gICAgICAgIGhlYWRlcl9i
YXNlbmFtZV93aXRob3V0X2V4dGVuc2lvbiA9IG9zLnBhdGguc3BsaXRleHQob3MucGF0aC5iYXNl
bmFtZShoZWFkZXIpKVswXQotICAgICAgICBhZGRfZmlsZV9pZl9leGlzdHMoaGVhZGVyX2Jhc2Vu
YW1lX3dpdGhvdXRfZXh0ZW5zaW9uICsgIi5jcHAiKQotICAgICAgICBhZGRfZmlsZV9pZl9leGlz
dHMoaGVhZGVyX2Jhc2VuYW1lX3dpdGhvdXRfZXh0ZW5zaW9uICsgIkd0ay5jcHAiKQotICAgICAg
ICBhZGRfZmlsZV9pZl9leGlzdHMoaGVhZGVyX2Jhc2VuYW1lX3dpdGhvdXRfZXh0ZW5zaW9uICsg
Ii5jIikKLQotICAgIGRlZiBmaWxlX3Nob3VsZF9iZV9pZ25vcmVkKGZpbGUpOgotICAgICAgICBp
ZiBvcy5wYXRoLnNwbGl0ZXh0KGZpbGUpWzFdIG5vdCBpbiBbJy5oJywgJy5jJywgJy5jcHAnLCAn
LmNjJ106Ci0gICAgICAgICAgICByZXR1cm4gRmFsc2UgIyBUaGVzZSBmaWxlcyBhcmUgaWdub3Jl
ZCBhbnl3YXkuCi0gICAgICAgIGlmIG5vdCBvcy5wYXRoLmlzZmlsZShmaWxlKToKLSAgICAgICAg
ICAgIHJldHVybiBUcnVlCi0gICAgICAgIHJldHVybiBvcy5wYXRoLmFic3BhdGgoZmlsZSkgbm90
IGluIGltcGxlbWVudGF0aW9uX2ZpbGVzCi0KLSAgICBhbGxfZmlsZXMgPSBzdW0oW1tvcy5wYXRo
LmpvaW4oZGlyLCBmaWxlKSBmb3IgZmlsZSBpbiBvcy5saXN0ZGlyKGRpcildIGZvciBkaXIgaW4g
c291cmNlX2RpcnNdLCBbXSkKLSAgICByZXR1cm4gZmlsdGVyKGZpbGVfc2hvdWxkX2JlX2lnbm9y
ZWQsIGFsbF9maWxlcykKLQotZGVmIGdldF9nZW5lcmF0b3JfZm9yX2NvbmZpZyhjb25maWdfZmls
ZSwgdmlydHVhbF9yb290LCBjcm9zc19yZWZlcmVuY2VfZGVwcyA9IFtdKToKLSAgICBpZiBub3Qg
b3MucGF0aC5pc2ZpbGUoY29uZmlnX2ZpbGUpOgotICAgICAgICByZXR1cm4gTm9uZQotCi0gICAg
Y29uZmlnID0gU2FmZUNvbmZpZ1BhcnNlcigpCi0gICAgY29uZmlnLnJlYWQoY29uZmlnX2ZpbGUp
Ci0gICAgbW9kdWxlX25hbWUgPSBjb25maWcuc2VjdGlvbnMoKVswXQotICAgIHBrZ2NvbmZpZ19m
aWxlID0gY29uZmlnLmdldChtb2R1bGVfbmFtZSwgJ3BrZ2NvbmZpZ19maWxlJykKLQotICAgIGlm
IG5vdCBvcy5wYXRoLmlzZmlsZShwa2djb25maWdfZmlsZSk6Ci0gICAgICAgIHJldHVybiBOb25l
Ci0KLSAgICBzb3VyY2VfZGlycyA9IGNvbmZpZy5nZXQobW9kdWxlX25hbWUsICdzb3VyY2VfZGly
cycpLnJlcGxhY2UoJzsnLCAnICcpLnNwbGl0KCkKLSAgICBoZWFkZXJzID0gW29zLnBhdGguYWJz
cGF0aChmKSBmb3IgZiBpbiBjb25maWcuZ2V0KG1vZHVsZV9uYW1lLCAnaGVhZGVycycpLnJlcGxh
Y2UoJzsnLCAnICcpLnNwbGl0KCldCi0gICAgcmV0dXJuIGd0a2RvYy5Qa2dDb25maWdHVEtEb2Mo
cGtnY29uZmlnX2ZpbGUsIHsKLSAgICAgICAgJ2RlY29yYXRvcic6IGNvbmZpZy5nZXQobW9kdWxl
X25hbWUsICdkZWNvcmF0b3InKSwKLSAgICAgICAgJ2RlcHJlY2F0aW9uX2d1YXJkJzogY29uZmln
LmdldChtb2R1bGVfbmFtZSwgJ2RlcHJlY2F0aW9uX2d1YXJkJyksCi0gICAgICAgICdsaWJyYXJ5
X3BhdGgnOiBjb21tb24ubGlicmFyeV9idWlsZF9wYXRoKCksCi0gICAgICAgICd2aXJ0dWFsX3Jv
b3QnOiB2aXJ0dWFsX3Jvb3QsCi0gICAgICAgICdtb2R1bGVfbmFtZSc6IG1vZHVsZV9uYW1lLAot
ICAgICAgICAnbmFtZXNwYWNlJzogY29uZmlnLmdldChtb2R1bGVfbmFtZSwgJ25hbWVzcGFjZScp
LAotICAgICAgICAnZG9jX2Rpcic6IGNvbmZpZy5nZXQobW9kdWxlX25hbWUsICdkb2NfZGlyJyks
Ci0gICAgICAgICdvdXRwdXRfZGlyJzogY29tbW9uLmJ1aWxkX3BhdGgoJ0RvY3VtZW50YXRpb24n
LCBtb2R1bGVfbmFtZSksCi0gICAgICAgICdtYWluX3NnbWxfZmlsZSc6IGNvbmZpZy5nZXQobW9k
dWxlX25hbWUsICdtYWluX3NnbWxfZmlsZScpLAotICAgICAgICAnc291cmNlX2RpcnMnOiBzb3Vy
Y2VfZGlycywKLSAgICAgICAgJ2hlYWRlcnMnOiBoZWFkZXJzLAotICAgICAgICAnY2ZsYWdzJzog
IiAiLmpvaW4oY29uZmlnLmdldChtb2R1bGVfbmFtZSwgJ2NmbGFncycpLnNwbGl0KCkpLAotICAg
ICAgICAnY3Jvc3NfcmVmZXJlbmNlX2RlcHMnOiBnZXRfZ3RrZG9jX21vZHVsZV9wYXRocyhjcm9z
c19yZWZlcmVuY2VfZGVwcyksCi0gICAgICAgICdpZ25vcmVkX2ZpbGVzJzogZmlsZXNfdG9faWdu
b3JlKHNvdXJjZV9kaXJzLCBoZWFkZXJzKSwKLSAgICB9KQotCi1kZWYgZ2VuZXJhdGVfZG9jKGdl
bmVyYXRvciwgc2tpcF9odG1sKToKLSAgICBnZW5lcmF0b3IuZ2VuZXJhdGUobm90IHNraXBfaHRt
bCkKLSAgICBpZiBnZW5lcmF0b3Iuc2F3X3dhcm5pbmdzOgotICAgICAgICBwcmludF9taXNzaW5n
X2FwaShnZW5lcmF0b3IpCi0gICAgcmV0dXJuIGdlbmVyYXRvci5zYXdfd2FybmluZ3MKLQotZGVm
IHJlYmFzZV9kb2MoZ2VuZXJhdG9yKToKLSAgICB0cnk6Ci0gICAgICAgIGdlbmVyYXRvci5yZWJh
c2VfaW5zdGFsbGVkX2RvY3MoKQotICAgIGV4Y2VwdCBFeGNlcHRpb246Ci0gICAgICAgIHByaW50
KCJSZWJhc2UgZGlkIG5vdCBoYXBwZW4sIGxpa2VseSBubyBkb2N1bWVudGF0aW9uIGlzIHByZXNl
bnQuIikKLQotZGVmIGdlbmVyYXRlX2RvY3VtZW50YXRpb24oZ2VuZXJhdG9yKToKLSAgICBpZiBu
b3QgYXJndW1lbnRzLnJlYmFzZToKLSAgICAgICAgcmV0dXJuIGdlbmVyYXRlX2RvYyhnZW5lcmF0
b3IsIGFyZ3VtZW50cy5za2lwX2h0bWwpCi0KLSAgICByZWJhc2VfZG9jKGdlbmVyYXRvcikKLSAg
ICByZXR1cm4gRmFsc2UKLQotZGVmIHByZXBhcmVfZW52aXJvbm1lbnRfZm9yX2d0a2RvY19nZW5l
cmF0aW9uKCk6Ci0gICAgIyBXZSBuZWVkIHRvIGFkZCB0aGUgSmF2YVNjcmlwdENvcmUgYnVpbGQg
ZGlyZWN0b3J5IHRvIHRoZSBQS0dfQ09ORklHX1BBVEgKLSAgICAjIHNvIHRoYXQgcGtnY29uZmln
IGNhbiBwcm9wZXJseSByZXNvbHZlIHRoZSBsaWJqYXZhc2NyaXB0Y29yZSBkZXBlbmRlbmN5Lgot
ICAgIHBrZ19jb25maWdfcGF0aCA9IG9zLmVudmlyb24uZ2V0KCJQS0dfQ09ORklHX1BBVEgiKQot
ICAgIG9zLmVudmlyb25bJ1BLR19DT05GSUdfUEFUSCddID0gY29tbW9uLmJ1aWxkX3BhdGgoJ1Nv
dXJjZScsICdKYXZhU2NyaXB0Q29yZScpCi0gICAgaWYgcGtnX2NvbmZpZ19wYXRoOgotICAgICAg
ICBvcy5lbnZpcm9uWydQS0dfQ09ORklHX1BBVEgnXSArPSAnOicgKyBwa2dfY29uZmlnX3BhdGgK
LQotICAgICMgTmV3ZXIgdmVyc2lvbnMgb2YgZ2xpYiBoYXZlIGRlcHJlY2F0ZWQgZ190eXBlX2lu
aXQsIHNvIHdlIG5lZWQgdG8gZGlzYWJsZQotICAgICMgdGhhdCB3YXJuaW5nIHdoZW4gcnVubmlu
ZyBndGtkb2Mtc2Nhbm9iaiBieSBvdmVycmlkaW5nIHRoZSBDRkxBR1Mgd2UgdXNlCi0gICAgIyB0
byBjb21waWxlIGl0LgotICAgIGNmbGFncyA9IG9zLmVudmlyb24uZ2V0KCdDRkxBR1MnLCAnJykK
LSAgICBjZmxhZ3MgKz0gJyAtREdMSUJfVkVSU0lPTl9NSU5fUkVRVUlSRUQ9R0xJQl9WRVJTSU9O
XzJfMzInCi0KLSAgICAjIEluIG5vbi14ODYgYXJjaGl0ZWN0dXJlcywgd2hlbiBhIHBvaW50ZXIg
aXMgY2FzdCB0byAodm9pZCopIGFuZAotICAgICMgYmFjaywgdGhlIGNvbXBpbGVyIHRoaW5rcyB0
aGF0IHRoZSBhbGlnbm1lbnQgaXMgcmFuZG9tLiBTaW5jZQotICAgICMgZ3RrZG9jIGJ1aWxkIGlz
IGJyb2tlbiBhdCBhbnkgd2FybmluZyBtZXNzYWdlLCBpdCBpcyBiZXR0ZXIgdG8KLSAgICAjIHNp
bGVuY2UgdGhlc2UgZmFsc2UgcG9zaXRpdmVzLgotICAgIGNmbGFncyArPSAnIC1Xbm8tY2FzdC1h
bGlnbicKLSAgICBvcy5lbnZpcm9uWydDRkxBR1MnXSA9IGNmbGFncwotCi0gICAgIyBQYXRocyBm
cm9tIHRoZSBHTlVtYWtlZmlsZSBnZW5lcmF0ZWQgY29uZmlndXJhdGlvbiBmaWxlcyBhcmUgcmVs
YXRpdmUgdG8gdGhlIGJ1aWxkIGRpcmVjdG9yeS4KLSAgICBvcy5jaGRpcihjb21tb24uYnVpbGRf
cGF0aCgpKQotCi1pZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgotICAgIHBhcnNlciA9IGFyZ3Bh
cnNlLkFyZ3VtZW50UGFyc2VyKGRlc2NyaXB0aW9uPSdHZW5lcmF0ZSBndGtkb2MgZm9yIFdlYktp
dC4nKQotICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy12JywgJy0tdmVyYm9zZScsIGFjdGlvbj0n
c3RvcmVfdHJ1ZScsCi0gICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdXaGV0aGVyIG9yIG5v
dCB0byBydW4gaW4gdmVyYm9zZSBtb2RlLicpCi0gICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1y
ZWJhc2UnLCBhY3Rpb249J3N0b3JlX3RydWUnLAotICAgICAgICAgICAgICAgICAgICAgICAgaGVs
cD0nV2hlbiBzcGVjaWZpZWQsIHJ1biB0aGUgdG9vbCBpbiByZWJhc2UgbW9kZS4nKQotICAgIHBh
cnNlci5hZGRfYXJndW1lbnQoJy0tc2tpcC1odG1sJywgYWN0aW9uPSdzdG9yZV90cnVlJywKLSAg
ICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J1doZXRoZXIgb3Igbm90IHRvIHNraXAgSFRNTCBn
ZW5lcmF0aW9uLCB3aGljaCBjYW4gYmUgc2xvdy4nKQotICAgIHBhcnNlci5hZGRfYXJndW1lbnQo
Jy0tdmlydHVhbC1yb290JywgdHlwZT1zdHIsIGRlZmF1bHQ9JycsCi0gICAgICAgICAgICAgICAg
ICAgICAgICBoZWxwPSdBIHRlbXBvcmFyeSBpbnN0YWxsYXRpb24gZGlyZWN0b3J5IHdoaWNoIGlz
IHVzZWQgYXMgdGhlIHJvb3QgJyArIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3do
ZXJlIHRoZSBhY3R1YWwgaW5zdGFsbGF0aW9uIHByZWZpeCBsaXZlczsgdGhpcyBpcyBtb3N0bHkg
JyArIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3VzZWZ1bCBmb3IgcGFja2FnZXJz
LCBhbmQgc2hvdWxkIGJlIHNldCB0byB3aGF0IGlzIGdpdmVuIHRvICcgKyBcCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICdtYWtlIGluc3RhbGwgYXMgREVTVERJUi4nKQotCi0gICAgYXJn
dW1lbnRzID0gcGFyc2VyLnBhcnNlX2FyZ3MoKQotICAgIGNvbmZpZ3VyZV9sb2dnaW5nKGFyZ3Vt
ZW50cy52ZXJib3NlKQotCi0gICAgcHJlcGFyZV9lbnZpcm9ubWVudF9mb3JfZ3RrZG9jX2dlbmVy
YXRpb24oKQotCi0gICAganNjX2dlbmVyYXRvciA9IGdldF9nZW5lcmF0b3JfZm9yX2NvbmZpZyhj
b21tb24uYnVpbGRfcGF0aCgnZ3RrZG9jLWpzYy1nbGliLmNmZycpLCBhcmd1bWVudHMudmlydHVh
bF9yb290KQotICAgIGlmIG5vdCBqc2NfZ2VuZXJhdG9yOgotICAgICAgICBwcmludCgiZ3RrZG9j
LWpzYy1nbGliLmNmZyBkb2VzIG5vdCBleGlzdCEgU2tpcHBpbmcgdGhhdCBkb2N1bWVudGF0aW9u
IikKLSAgICAgICAgc3lzLmV4aXQoMSkKLSAgICBzYXdfd2FybmluZ3MgPSBnZW5lcmF0ZV9kb2N1
bWVudGF0aW9uKGpzY19nZW5lcmF0b3IpCi0gICAgaWYgc2F3X3dhcm5pbmdzOgotICAgICAgICBz
eXMuZXhpdChzYXdfd2FybmluZ3MpCi0KLSAgICB3ZWJraXRkb21fZ2VuZXJhdG9yID0gZ2V0X2dl
bmVyYXRvcl9mb3JfY29uZmlnKGNvbW1vbi5idWlsZF9wYXRoKCdndGtkb2Mtd2Via2l0ZG9tLmNm
ZycpLCBhcmd1bWVudHMudmlydHVhbF9yb290LCBbanNjX2dlbmVyYXRvci5tb2R1bGVfbmFtZV0p
Ci0gICAgaWYgbm90IHdlYmtpdGRvbV9nZW5lcmF0b3I6Ci0gICAgICAgIHByaW50KCJndGtkb2Mt
d2Via2l0ZG9tLmNmZyBkb2VzIG5vdCBleGlzdCEgU2tpcHBpbmcgdGhhdCBkb2N1bWVudGF0aW9u
IikKLSAgICAgICAgc3lzLmV4aXQoMSkKLSAgICBzYXdfd2FybmluZ3MgPSBnZW5lcmF0ZV9kb2N1
bWVudGF0aW9uKHdlYmtpdGRvbV9nZW5lcmF0b3IpCi0gICAgaWYgc2F3X3dhcm5pbmdzOgotICAg
ICAgICBzeXMuZXhpdChzYXdfd2FybmluZ3MpCi0KLSAgICB3ZWJraXQyX2dlbmVyYXRvciA9IGdl
dF9nZW5lcmF0b3JfZm9yX2NvbmZpZyhjb21tb24uYnVpbGRfcGF0aCgnZ3RrZG9jLXdlYmtpdDJn
dGsuY2ZnJyksIGFyZ3VtZW50cy52aXJ0dWFsX3Jvb3QsIFt3ZWJraXRkb21fZ2VuZXJhdG9yLm1v
ZHVsZV9uYW1lLCBqc2NfZ2VuZXJhdG9yLm1vZHVsZV9uYW1lXSkKLSAgICBpZiBub3Qgd2Via2l0
Ml9nZW5lcmF0b3I6Ci0gICAgICAgIHByaW50KCJndGtkb2Mtd2Via2l0Mmd0ay5jZmcgZG9lcyBu
b3QgZXhpc3QhIFNraXBwaW5nIHRoYXQgZG9jdW1lbnRhdGlvbiIpCi0gICAgICAgIHN5cy5leGl0
KDEpCi0gICAgc2F3X3dhcm5pbmdzID0gZ2VuZXJhdGVfZG9jdW1lbnRhdGlvbih3ZWJraXQyX2dl
bmVyYXRvcikKLQotICAgIHN5cy5leGl0KHNhd193YXJuaW5ncykKZGlmZiAtLWdpdCBhL1Rvb2xz
L2d0ay9ndGtkb2MucHkgYi9Ub29scy9ndGsvZ3RrZG9jLnB5CmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBmMGEwOWYxNjg3ZjQ0ZWE5ZGU1OTBjZWVmYzRjMzIxMjc1ZGE0YTI2Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL2d0ay9ndGtk
b2MucHkKKysrIC9kZXYvbnVsbApAQCAtMSw0NTEgKzAsMCBAQAotIyBDb3B5cmlnaHQgKEMpIDIw
MTEgSWdhbGlhIFMuTC4KLSMKLSMgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj
YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotIyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9m
IHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCi0jIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotIyB2ZXJzaW9uIDIgb2YgdGhl
IExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0jCi0jIFRo
aXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl
ZnVsLAotIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll
ZCB3YXJyYW50eSBvZgotIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotIyBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZSBmb3IgbW9yZSBkZXRhaWxzLgotIwotIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5
IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCi0jIExpY2Vuc2UgYWxvbmcgd2l0aCB0
aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKLSMgRm91bmRh
dGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAg
MDIxMTAtMTMwMSAgVVNBCi0KLWltcG9ydCBjb2RlY3MKLWltcG9ydCBlcnJubwotaW1wb3J0IGxv
Z2dpbmcKLWltcG9ydCBvcwotaW1wb3J0IG9zLnBhdGgKLWltcG9ydCBzdWJwcm9jZXNzCi1pbXBv
cnQgc3lzCi0KLQotY2xhc3MgR1RLRG9jKG9iamVjdCk6Ci0KLSAgICAiIiJDbGFzcyB0aGF0IGNv
bnRyb2xzIGEgZ3RrZG9jIHJ1bi4KLQotICAgIEVhY2ggaW5zdGFuY2Ugb2YgdGhpcyBjbGFzcyBy
ZXByZXNlbnRzIG9uZSBndGtkb2MgY29uZmlndXJhdGlvbgotICAgIGFuZCBzZXQgb2YgZG9jdW1l
bnRhdGlvbi4gVGhlIGd0a2RvYyBwYWNrYWdlIGlzIGEgc2VyaWVzIG9mIHRvb2xzCi0gICAgcnVu
IGNvbnNlY3V0aXZlbHkgd2hpY2ggY29udmVydHMgaW5saW5lIEMvQysrIGRvY3VtZW50YXRpb24g
aW50bwotICAgIGRvY2Jvb2sgZmlsZXMgYW5kIHRoZW4gaW50byBIVE1MLiBUaGlzIGNsYXNzIGlz
IHN1aXRhYmxlIGZvcgotICAgIGdlbmVyYXRpbmcgZG9jdW1lbnRhdGlvbiBvciBzaW1wbHkgdmVy
aWZ5aW5nIGNvcnJlY3RuZXNzLgotCi0gICAgS2V5d29yZCBhcmd1bWVudHM6Ci0gICAgb3V0cHV0
X2RpciAgICAgICAgIC0tIFRoZSBwYXRoIHdoZXJlIGd0a2RvYyBvdXRwdXQgc2hvdWxkIGJlIHBs
YWNlZC4gR2VuZXJhdGlvbgotICAgICAgICAgICAgICAgICAgICAgICAgICBtYXkgb3ZlcndyaXRl
IGZpbGUgaW4gdGhpcyBkaXJlY3RvcnkuIFJlcXVpcmVkLgotICAgIG1vZHVsZV9uYW1lICAgICAg
ICAtLSBUaGUgbmFtZSBvZiB0aGUgZG9jdW1lbnRhdGlvbiBtb2R1bGUuIEZvciBsaWJyYXJpZXMg
dGhpcwotICAgICAgICAgICAgICAgICAgICAgICAgICBpcyB0eXBpY2FsbHkgdGhlIGxpYnJhcnkg
bmFtZS4gUmVxdWlyZWQgaWYgbm90IGxpYnJhcnkgcGF0aAotICAgICAgICAgICAgICAgICAgICAg
ICAgICBpcyBnaXZlbi4KLSAgICBzb3VyY2VfZGlycyAgICAgICAgLS0gQSBsaXN0IG9mIHBhdGhz
IHRvIGRpcmVjdG9yaWVzIG9mIHNvdXJjZSBjb2RlIHRvIGJlIHNjYW5uZWQuCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgIFJlcXVpcmVkIGlmIGhlYWRlcnMgaXMgbm90IHNwZWNpZmllZC4KLSAg
ICBpZ25vcmVkX2ZpbGVzICAgICAgLS0gQSBsaXN0IG9mIGZpbGVuYW1lcyB0byBpZ25vcmUgaW4g
dGhlIHNvdXJjZSBkaXJlY3RvcnkuIEl0IGlzCi0gICAgICAgICAgICAgICAgICAgICAgICAgIG9u
bHkgbmVjZXNzYXJ5IHRvIHByb3ZpZGUgdGhlIGJhc2VuYW1lcyBvZiB0aGVzZSBmaWxlcy4KLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgVHlwaWNhbGx5IGl0IGlzIGltcG9ydGFudCB0byBwcm92
aWRlIGFuIHVwZGF0ZWQgbGlzdCBvZgotICAgICAgICAgICAgICAgICAgICAgICAgICBpZ25vcmVk
IGZpbGVzIHRvIHByZXZlbnQgd2FybmluZ3MgYWJvdXQgdW5kb2N1bWVudGVkIHN5bWJvbHMuCi0g
ICAgaGVhZGVycyAgICAgICAgICAgIC0tIEEgbGlzdCBvZiBwYXRocyB0byBoZWFkZXJzIHRvIGJl
IHNjYW5uZWQuIFJlcXVpcmVkIGlmIHNvdXJjZV9kaXJzCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgIGlzIG5vdCBzcGVjaWZpZWQuCi0gICAgbmFtZXNwYWNlICAgICAgICAgIC0tIFRoZSBsaWJy
YXJ5IG5hbWVzcGFjZS4KLSAgICBkZWNvcmF0b3IgICAgICAgICAgLS0gSWYgYSBkZWNvcmF0b3Ig
aXMgdXNlZCB0byB1bmhpZGUgY2VydGFpbiBzeW1ib2xzIGluIGhlYWRlcgotICAgICAgICAgICAg
ICAgICAgICAgICAgICBmaWxlcyB0aGlzIHBhcmFtZXRlciBpcyByZXF1aXJlZCBmb3Igc3VjY2Vz
c2Z1bCBzY2FubmluZy4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgKGRlZmF1bHQgJycpCi0g
ICAgZGVwcmVjYXRpb25fZ3VhcmQgIC0tIGd0a2RvYyB0cmllcyB0byBlbnN1cmUgdGhhdCBzeW1i
b2xzIG1hcmtlZCBhcyBkZXByZWNhdGVkCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGFyZSBl
bmNhc2VkIGluIHRoaXMgQyBwcmVwcm9jZXNzb3IgZGVmaW5lLiBUaGlzIGlzIHJlcXVpcmVkCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGF2b2lkIGd0a2RvYyB3YXJuaW5ncy4gKGRlZmF1
bHQgJycpCi0gICAgY2ZsYWdzICAgICAgICAgICAgIC0tIFRoaXMgcGFyYW1ldGVyIHNwZWNpZmll
cyBhbnkgcHJlcHJvY2Vzc29yIGZsYWdzIG5lY2Vzc2FyeSBmb3IKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgYnVpbGRpbmcgdGhlIHNjYW5uZXIgYmluYXJ5IGR1cmluZyBndGtkb2Mtc2Nhbm9i
ai4gVHlwaWNhbGx5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMgaW5jbHVkZXMgYWxs
IGFic29sdXRlIGluY2x1ZGUgcGF0aHMgbmVjZXNzYXJ5IHRvIHJlc29sdmUKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgYWxsIGhlYWRlciBkZXBlbmRlbmNpZXMuIChkZWZhdWx0ICcnKQotICAg
IGxkZmxhZ3MgICAgICAgICAgICAtLSBUaGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgYW55IGxpbmtl
ciBmbGFncyBuZWNlc3NhcnkgZm9yCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGJ1aWxkaW5n
IHRoZSBzY2FubmVyIGJpbmFyeSBkdXJpbmcgZ3RrZG9jLXNjYW5vYmouIFR5cGljYWxseQotICAg
ICAgICAgICAgICAgICAgICAgICAgICB0aGlzIGluY2x1ZGVzICItbHlvdXJsaWJyYXJ5bmFtZSIu
IChkZWZhdWx0ICcnKQotICAgIGxpYnJhcnlfcGF0aCAgICAgICAtLSBUaGlzIHBhcmFtZXRlciBz
cGVjaWZpZXMgdGhlIHBhdGggdG8gdGhlIGRpcmVjdG9yeSB3aGVyZSB5b3UKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgbGlicmFyeSByZXNpZGVzIHVzZWQgZm9yIGJ1aWxkaW5nIHRoZSBzY2Fu
bmVyIGJpbmFyeSBkdXJpbmcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgZ3RrZG9jLXNjYW5v
YmouIChkZWZhdWx0ICcnKQotCi0gICAgZG9jX2RpciAgICAgICAgICAgIC0tIFRoZSBwYXRoIHRv
IG90aGVyIGRvY3VtZW50YXRpb24gZmlsZXMgbmVjZXNzYXJ5IHRvIGJ1aWxkCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgIHRoZSBkb2N1bWVudGF0aW9uLiBUaGlzIGZpbGVzIGluIHRoaXMgZGly
ZWN0b3J5IGFzIHdlbGwgYXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGZpbGVzIGlu
IHRoZSAnaHRtbCcgc3ViZGlyZWN0b3J5IHdpbGwgYmUgY29waWVkCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgIHJlY3Vyc2l2ZWx5IGludG8gdGhlIG91dHB1dCBkaXJlY3RvcnkuIChkZWZhdWx0
ICcnKQotICAgIG1haW5fc2dtbF9maWxlICAgICAtLSBUaGUgcGF0aCBvciBuYW1lIChpZiBhIGRv
Y19kaXIgaXMgZ2l2ZW4pIG9mIHRoZSBTR01MIGZpbGUKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgdGhhdCBpcyB0aGUgY29uc2lkZXJlZCB0aGUgbWFpbiBwYWdlIG9mIHlvdXIgZG9jdW1lbnRh
dGlvbi4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgKGRlZmF1bHQ6IDxtb2R1bGVfbmFtZT4t
ZG9jcy5zZ21sKQotICAgIHZlcnNpb24gICAgICAgICAgICAtLSBUaGUgdmVyc2lvbiBudW1iZXIg
b2YgdGhlIG1vZHVsZS4gSWYgdGhpcyBpcyBwcm92aWRlZCwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgYSB2ZXJzaW9uLnhtbCBmaWxlIGNvbnRhaW5pbmcgdGhlIHZlcnNpb24gd2lsbCBiZSBj
cmVhdGVkCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGluIHRoZSBvdXRwdXQgZGlyZWN0b3J5
IGR1cmluZyBkb2N1bWVudGF0aW9uIGdlbmVyYXRpb24uCi0KLSAgICBpbnRlcmFjdGl2ZSAgICAg
ICAgLS0gV2hldGhlciBvciBub3QgZXJyb3JzIG9yIHdhcm5pbmdzIHNob3VsZCBwcm9tcHQgdGhl
IHVzZXIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gY29udGludWUgb3Igbm90LiBXaGVu
IHRoaXMgdmFsdWUgaXMgZmFsc2UsIGdlbmVyYXRpb24KLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgd2lsbCBjb250aW51ZSBkZXNwaXRlIHdhcm5pbmdzLiAoZGVmYXVsdCBGYWxzZSkKLQotICAg
IHZpcnR1YWxfcm9vdCAgICAgICAtLSBBIHRlbXBvcmFyeSBpbnN0YWxsYXRpb24gZGlyZWN0b3J5
IHdoaWNoIGlzIHVzZWQgYXMgdGhlIHJvb3QKLSAgICAgICAgICAgICAgICAgICAgICAgICAgd2hl
cmUgdGhlIGFjdHVhbCBpbnN0YWxsYXRpb24gcHJlZml4IGxpdmVzOyB0aGlzIGlzIG1vc3RseQot
ICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VmdWwgZm9yIHBhY2thZ2VycywgYW5kIHNob3Vs
ZCBiZSBzZXQgdG8gd2hhdCBpcyBnaXZlbiB0bwotICAgICAgICAgICAgICAgICAgICAgICAgICBt
YWtlIGluc3RhbGwgYXMgREVTVERJUi4KLSAgICAiIiIKLQotICAgIGRlZiBfX2luaXRfXyhzZWxm
LCBhcmdzKToKLQotICAgICAgICAjIFBhcmFtZXRlcnMgc3BlY2lmaWMgdG8gc2Nhbm5pbmcuCi0g
ICAgICAgIHNlbGYubW9kdWxlX25hbWUgPSAnJwotICAgICAgICBzZWxmLnNvdXJjZV9kaXJzID0g
W10KLSAgICAgICAgc2VsZi5oZWFkZXJzID0gW10KLSAgICAgICAgc2VsZi5pZ25vcmVkX2ZpbGVz
ID0gW10KLSAgICAgICAgc2VsZi5uYW1lc3BhY2UgPSAnJwotICAgICAgICBzZWxmLmRlY29yYXRv
ciA9ICcnCi0gICAgICAgIHNlbGYuZGVwcmVjYXRpb25fZ3VhcmQgPSAnJwotCi0gICAgICAgICMg
UGFyYW1ldGVycyBzcGVjaWZpYyB0byBndGtkb2Mtc2Nhbm9iai4KLSAgICAgICAgc2VsZi5jZmxh
Z3MgPSAnJwotICAgICAgICBzZWxmLmxkZmxhZ3MgPSAnJwotICAgICAgICBzZWxmLmxpYnJhcnlf
cGF0aCA9ICcnCi0KLSAgICAgICAgIyBQYXJhbWV0ZXJzIHNwZWNpZmljIHRvIGdlbmVyYXRpb24u
Ci0gICAgICAgIHNlbGYub3V0cHV0X2RpciA9ICcnCi0gICAgICAgIHNlbGYuZG9jX2RpciA9ICcn
Ci0gICAgICAgIHNlbGYubWFpbl9zZ21sX2ZpbGUgPSAnJwotCi0gICAgICAgICMgUGFyYW1ldGVy
cyBzcGVjaWZpYyB0byBndGtkb2MtZml4eHJlZi4KLSAgICAgICAgc2VsZi5jcm9zc19yZWZlcmVu
Y2VfZGVwcyA9IFtdCi0KLSAgICAgICAgc2VsZi5pbnRlcmFjdGl2ZSA9IEZhbHNlCi0KLSAgICAg
ICAgc2VsZi5sb2dnZXIgPSBsb2dnaW5nLmdldExvZ2dlcignZ3RrZG9jJykKLQotICAgICAgICBm
b3Iga2V5LCB2YWx1ZSBpbiBpdGVyKGFyZ3MuaXRlbXMoKSk6Ci0gICAgICAgICAgICBzZXRhdHRy
KHNlbGYsIGtleSwgdmFsdWUpCi0KLSAgICAgICAgaWYgbm90IGdldGF0dHIoc2VsZiwgJ291dHB1
dF9kaXInKToKLSAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbignb3V0cHV0X2RpciBub3Qgc3Bl
Y2lmaWVkLicpCi0gICAgICAgIGlmIG5vdCBnZXRhdHRyKHNlbGYsICdtb2R1bGVfbmFtZScpOgot
ICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCdtb2R1bGVfbmFtZSBub3Qgc3BlY2lmaWVkLicp
Ci0gICAgICAgIGlmIG5vdCBnZXRhdHRyKHNlbGYsICdzb3VyY2VfZGlycycpIGFuZCBub3QgZ2V0
YXR0cihzZWxmLCAnaGVhZGVycycpOgotICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCdOZWl0
aGVyIHNvdXJjZV9kaXJzIG5vciBoZWFkZXJzIHNwZWNpZmllZC4nICUga2V5KQotCi0gICAgICAg
ICMgTWFrZSBhbGwgcGF0aHMgYWJzb2x1dGUgaW4gY2FzZSB3ZSB3ZXJlIHBhc3NlZCByZWxhdGl2
ZSBwYXRocywgc2luY2UKLSAgICAgICAgIyB3ZSBjaGFuZ2UgdGhlIGN1cnJlbnQgd29ya2luZyBk
aXJlY3Rvcnkgd2hlbiBleGVjdXRpbmcgc3ViY29tbWFuZHMuCi0gICAgICAgIHNlbGYub3V0cHV0
X2RpciA9IG9zLnBhdGguYWJzcGF0aChzZWxmLm91dHB1dF9kaXIpCi0gICAgICAgIHNlbGYuc291
cmNlX2RpcnMgPSBbb3MucGF0aC5hYnNwYXRoKHgpIGZvciB4IGluIHNlbGYuc291cmNlX2RpcnNd
Ci0gICAgICAgIHNlbGYuaGVhZGVycyA9IFtvcy5wYXRoLmFic3BhdGgoeCkgZm9yIHggaW4gc2Vs
Zi5oZWFkZXJzXQotICAgICAgICBpZiBzZWxmLmxpYnJhcnlfcGF0aDoKLSAgICAgICAgICAgIHNl
bGYubGlicmFyeV9wYXRoID0gb3MucGF0aC5hYnNwYXRoKHNlbGYubGlicmFyeV9wYXRoKQotCi0g
ICAgICAgIGlmIG5vdCBzZWxmLm1haW5fc2dtbF9maWxlOgotICAgICAgICAgICAgc2VsZi5tYWlu
X3NnbWxfZmlsZSA9IHNlbGYubW9kdWxlX25hbWUgKyAiLWRvY3Muc2dtbCIKLQotICAgIGRlZiBn
ZW5lcmF0ZShzZWxmLCBodG1sPVRydWUpOgotICAgICAgICBzZWxmLnNhd193YXJuaW5ncyA9IEZh
bHNlCi0KLSAgICAgICAgc2VsZi5fY29weV9kb2NfZmlsZXNfdG9fb3V0cHV0X2RpcihodG1sKQot
ICAgICAgICBzZWxmLl93cml0ZV92ZXJzaW9uX3htbCgpCi0gICAgICAgIHNlbGYuX3J1bl9ndGtk
b2Nfc2NhbigpCi0gICAgICAgIHNlbGYuX3J1bl9ndGtkb2Nfc2NhbmdvYmooKQotICAgICAgICBz
ZWxmLl9ydW5fZ3RrZG9jX21rZGIoKQotCi0gICAgICAgIGlmIG5vdCBodG1sOgotICAgICAgICAg
ICAgcmV0dXJuCi0KLSAgICAgICAgc2VsZi5fcnVuX2d0a2RvY19ta2h0bWwoKQotICAgICAgICBz
ZWxmLl9ydW5fZ3RrZG9jX2ZpeHhyZWYoKQotCi0gICAgZGVmIF9kZWxldGVfZmlsZV9pZl9leGlz
dHMoc2VsZiwgcGF0aCk6Ci0gICAgICAgIGlmIG5vdCBvcy5hY2Nlc3MocGF0aCwgb3MuRl9PSyB8
IG9zLlJfT0spOgotICAgICAgICAgICAgcmV0dXJuCi0gICAgICAgIHNlbGYubG9nZ2VyLmRlYnVn
KCdkZWxldGluZyAlcycsIHBhdGgpCi0gICAgICAgIG9zLnVubGluayhwYXRoKQotCi0gICAgZGVm
IF9jcmVhdGVfZGlyZWN0b3J5X2lmX25vbmV4aXN0ZW50KHNlbGYsIHBhdGgpOgotICAgICAgICB0
cnk6Ci0gICAgICAgICAgICBvcy5tYWtlZGlycyhwYXRoKQotICAgICAgICBleGNlcHQgT1NFcnJv
ciBhcyBlcnJvcjoKLSAgICAgICAgICAgIGlmIGVycm9yLmVycm5vICE9IGVycm5vLkVFWElTVDoK
LSAgICAgICAgICAgICAgICByYWlzZQotCi0gICAgZGVmIF9yYWlzZV9leGNlcHRpb25faWZfZmls
ZV9pbmFjY2Vzc2libGUoc2VsZiwgcGF0aCk6Ci0gICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0
cyhwYXRoKSBvciBub3Qgb3MuYWNjZXNzKHBhdGgsIG9zLlJfT0spOgotICAgICAgICAgICAgcmFp
c2UgRXhjZXB0aW9uKCJDb3VsZCBub3QgYWNjZXNzIGZpbGUgYXQ6ICVzIiAlIHBhdGgpCi0KLSAg
ICBkZWYgX291dHB1dF9oYXNfd2FybmluZ3Moc2VsZiwgb3V0cHV0cyk6Ci0gICAgICAgIGZvciBv
dXRwdXQgaW4gb3V0cHV0czoKLSAgICAgICAgICAgIGlmIG91dHB1dCBhbmQgb3V0cHV0LmZpbmQo
J3dhcm5pbmcnKToKLSAgICAgICAgICAgICAgICByZXR1cm4gVHJ1ZQotICAgICAgICByZXR1cm4g
RmFsc2UKLQotICAgIGRlZiBfYXNrX3llc19vcl9ub19xdWVzdGlvbihzZWxmLCBxdWVzdGlvbik6
Ci0gICAgICAgIGlmIG5vdCBzZWxmLmludGVyYWN0aXZlOgotICAgICAgICAgICAgcmV0dXJuIFRy
dWUKLQotICAgICAgICBxdWVzdGlvbiArPSAnIFt5L05dICcKLSAgICAgICAgYW5zd2VyID0gTm9u
ZQotICAgICAgICB3aGlsZSBhbnN3ZXIgIT0gJ3knIGFuZCBhbnN3ZXIgIT0gJ24nIGFuZCBhbnN3
ZXIgIT0gJyc6Ci0gICAgICAgICAgICBhbnN3ZXIgPSByYXdfaW5wdXQocXVlc3Rpb24pLmxvd2Vy
KCkKLSAgICAgICAgcmV0dXJuIGFuc3dlciA9PSAneScKLQotICAgIGRlZiBfcnVuX2NvbW1hbmQo
c2VsZiwgYXJncywgZW52PU5vbmUsIGN3ZD1Ob25lLCBwcmludF9vdXRwdXQ9VHJ1ZSwgaWdub3Jl
X3dhcm5pbmdzPUZhbHNlKToKLSAgICAgICAgaWYgcHJpbnRfb3V0cHV0OgotICAgICAgICAgICAg
c2VsZi5sb2dnZXIuZGVidWcoIlJ1bm5pbmcgJXMiLCBhcmdzWzBdKQotICAgICAgICBzZWxmLmxv
Z2dlci5kZWJ1ZygiRnVsbCBjb21tYW5kIGFyZ3M6ICVzIiwgc3RyKGFyZ3MpKQotCi0gICAgICAg
IHByb2Nlc3MgPSBzdWJwcm9jZXNzLlBvcGVuKGFyZ3MsIGVudj1lbnYsIGN3ZD1jd2QsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZGVycj1zdWJwcm9jZXNzLlBJUEUp
Ci0gICAgICAgIHN0ZG91dCwgc3RkZXJyID0gW2IuZGVjb2RlKCJ1dGYtOCIpIGZvciBiIGluIHBy
b2Nlc3MuY29tbXVuaWNhdGUoKV0KLQotICAgICAgICBpZiBwcmludF9vdXRwdXQ6Ci0gICAgICAg
ICAgICBpZiBzdGRvdXQ6Ci0gICAgICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgICAg
ICBzeXMuc3Rkb3V0LndyaXRlKHN0ZG91dC5lbmNvZGUoInV0Zi04IikpCi0gICAgICAgICAgICAg
ICAgZXhjZXB0IFVuaWNvZGVEZWNvZGVFcnJvcjoKLSAgICAgICAgICAgICAgICAgICAgc3lzLnN0
ZG91dC53cml0ZShzdGRvdXQpCi0gICAgICAgICAgICBpZiBzdGRlcnI6Ci0gICAgICAgICAgICAg
ICAgdHJ5OgotICAgICAgICAgICAgICAgICAgICBzeXMuc3RkZXJyLndyaXRlKHN0ZGVyci5lbmNv
ZGUoInV0Zi04IikpCi0gICAgICAgICAgICAgICAgZXhjZXB0IFVuaWNvZGVEZWNvZGVFcnJvcjoK
LSAgICAgICAgICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZShzdGRlcnIpCi0KLSAgICAgICAg
aWYgcHJvY2Vzcy5yZXR1cm5jb2RlICE9IDA6Ci0gICAgICAgICAgICByYWlzZSBFeGNlcHRpb24o
JyVzIHByb2R1Y2VkIGEgbm9uLXplcm8gcmV0dXJuIGNvZGUgJWknCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICUgKGFyZ3NbMF0sIHByb2Nlc3MucmV0dXJuY29kZSkpCi0KLSAgICAgICAg
aWYgbm90IGlnbm9yZV93YXJuaW5ncyBhbmQgKCd3YXJuaW5nJyBpbiBzdGRlcnIgb3IgJ3dhcm5p
bmcnIGluIHN0ZG91dCk6Ci0gICAgICAgICAgICBzZWxmLnNhd193YXJuaW5ncyA9IFRydWUKLSAg
ICAgICAgICAgIGlmIG5vdCBzZWxmLl9hc2tfeWVzX29yX25vX3F1ZXN0aW9uKCclcyBwcm9kdWNl
ZCB3YXJuaW5ncywgJwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJ3RyeSB0byBjb250aW51ZT8nICUgYXJnc1swXSk6Ci0gICAgICAgICAgICAgICAgcmFp
c2UgRXhjZXB0aW9uKCclcyBzdGVwIGZhaWxlZCcgJSBhcmdzWzBdKQotCi0gICAgICAgIHJldHVy
biBzdGRvdXQuc3RyaXAoKQotCi0gICAgZGVmIF9jb3B5X2RvY19maWxlc190b19vdXRwdXRfZGly
KHNlbGYsIGh0bWw9VHJ1ZSk6Ci0gICAgICAgIGlmIG5vdCBzZWxmLmRvY19kaXI6Ci0gICAgICAg
ICAgICBzZWxmLmxvZ2dlci5pbmZvKCdOb3QgY29weWluZyBhbnkgZmlsZXMgZnJvbSBkb2MgZGly
ZWN0b3J5LCcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyBiZWNhdXNlIG5vIGRvYyBk
aXJlY3RvcnkgZ2l2ZW4uJykKLSAgICAgICAgICAgIHJldHVybgotCi0gICAgICAgIGRlZiBjb3B5
X2ZpbGVfcmVwbGFjaW5nX2V4aXN0aW5nKHNyYywgZGVzdCk6Ci0gICAgICAgICAgICBpZiBvcy5w
YXRoLmlzZGlyKHNyYyk6Ci0gICAgICAgICAgICAgICAgc2VsZi5sb2dnZXIuZGVidWcoJ3NraXBw
ZWQgZGlyZWN0b3J5ICVzJywgIHNyYykKLSAgICAgICAgICAgICAgICByZXR1cm4KLSAgICAgICAg
ICAgIGlmIG5vdCBvcy5hY2Nlc3Moc3JjLCBvcy5GX09LIHwgb3MuUl9PSyk6Ci0gICAgICAgICAg
ICAgICAgc2VsZi5sb2dnZXIuZGVidWcoJ3NraXBwZWQgdW5yZWFkYWJsZSAlcycsIHNyYykKLSAg
ICAgICAgICAgICAgICByZXR1cm4KLQotICAgICAgICAgICAgc2VsZi5fZGVsZXRlX2ZpbGVfaWZf
ZXhpc3RzKGRlc3QpCi0KLSAgICAgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCdjcmVhdGVkICVz
JywgZGVzdCkKLSAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICBvcy5saW5rKHNyYywg
ZGVzdCkKLSAgICAgICAgICAgIGV4Y2VwdCBPU0Vycm9yOgotICAgICAgICAgICAgICAgIG9zLnN5
bWxpbmsoc3JjLCBkZXN0KQotCi0gICAgICAgIGRlZiBjb3B5X2FsbF9maWxlc19pbl9kaXJlY3Rv
cnkoc3JjLCBkZXN0KToKLSAgICAgICAgICAgIGZvciBwYXRoIGluIG9zLmxpc3RkaXIoc3JjKToK
LSAgICAgICAgICAgICAgICBjb3B5X2ZpbGVfcmVwbGFjaW5nX2V4aXN0aW5nKG9zLnBhdGguam9p
bihzcmMsIHBhdGgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgb3MucGF0aC5qb2luKGRlc3QsIHBhdGgpKQotCi0gICAgICAgIHNlbGYubG9nZ2VyLmRlYnVn
KCdDb3B5aW5nIHRlbXBsYXRlIGZpbGVzIHRvIG91dHB1dCBkaXJlY3RvcnkuLi4nKQotICAgICAg
ICBzZWxmLl9jcmVhdGVfZGlyZWN0b3J5X2lmX25vbmV4aXN0ZW50KHNlbGYub3V0cHV0X2RpcikK
LSAgICAgICAgY29weV9hbGxfZmlsZXNfaW5fZGlyZWN0b3J5KHNlbGYuZG9jX2Rpciwgc2VsZi5v
dXRwdXRfZGlyKQotCi0gICAgZGVmIF93cml0ZV92ZXJzaW9uX3htbChzZWxmKToKLSAgICAgICAg
aWYgbm90IHNlbGYudmVyc2lvbjoKLSAgICAgICAgICAgIHNlbGYubG9nZ2VyLmluZm8oJ05vIHZl
cnNpb24gc3BlY2lmaWVkLCBzbyBub3Qgd3JpdGluZyB2ZXJzaW9uLnhtbCcpCi0gICAgICAgICAg
ICByZXR1cm4KLQotICAgICAgICB2ZXJzaW9uX3htbF9wYXRoID0gb3MucGF0aC5qb2luKHNlbGYu
b3V0cHV0X2RpciwgJ3ZlcnNpb24ueG1sJykKLSAgICAgICAgc3JjX3ZlcnNpb25feG1sX3BhdGgg
PSBvcy5wYXRoLmpvaW4oc2VsZi5kb2NfZGlyLCAndmVyc2lvbi54bWwnKQotCi0gICAgICAgICMg
RG9uJ3Qgb3ZlcndyaXRlIHZlcnNpb24ueG1sIGlmIGl0IHdhcyBpbiB0aGUgZG9jIGRpcmVjdG9y
eS4KLSAgICAgICAgaWYgb3MucGF0aC5leGlzdHModmVyc2lvbl94bWxfcGF0aCkgYW5kIFwKLSAg
ICAgICAgICAgb3MucGF0aC5leGlzdHMoc3JjX3ZlcnNpb25feG1sX3BhdGgpOgotICAgICAgICAg
ICAgcmV0dXJuCi0KLSAgICAgICAgb3V0cHV0X2ZpbGUgPSBvcGVuKHZlcnNpb25feG1sX3BhdGgs
ICd3JykKLSAgICAgICAgb3V0cHV0X2ZpbGUud3JpdGUoc2VsZi52ZXJzaW9uKQotICAgICAgICBv
dXRwdXRfZmlsZS5jbG9zZSgpCi0KLSAgICBkZWYgX2lnbm9yZWRfZmlsZXNfYmFzZW5hbWVzKHNl
bGYpOgotICAgICAgICByZXR1cm4gJyAnLmpvaW4oW29zLnBhdGguYmFzZW5hbWUoeCkgZm9yIHgg
aW4gc2VsZi5pZ25vcmVkX2ZpbGVzXSkKLQotICAgIGRlZiBfcnVuX2d0a2RvY19zY2FuKHNlbGYp
OgotICAgICAgICBhcmdzID0gWydndGtkb2Mtc2NhbicsCi0gICAgICAgICAgICAgICAgJy0tbW9k
dWxlPSVzJyAlIHNlbGYubW9kdWxlX25hbWUsCi0gICAgICAgICAgICAgICAgJy0tcmVidWlsZC10
eXBlcyddCi0KLSAgICAgICAgaWYgbm90IHNlbGYuaGVhZGVyczoKLSAgICAgICAgICAgICMgRWFj
aCBzb3VyY2UgZGlyZWN0b3J5IHNob3VsZCBiZSBoYXZlIGl0cyBvd24gIi0tc291cmNlLWRpcj0i
IHByZWZpeC4KLSAgICAgICAgICAgIGFyZ3MuZXh0ZW5kKFsnLS1zb3VyY2UtZGlyPSVzJyAlIHBh
dGggZm9yIHBhdGggaW4gc2VsZi5zb3VyY2VfZGlyc10pCi0KLSAgICAgICAgaWYgc2VsZi5kZWNv
cmF0b3I6Ci0gICAgICAgICAgICBhcmdzLmFwcGVuZCgnLS1pZ25vcmUtZGVjb3JhdG9ycz0lcycg
JSBzZWxmLmRlY29yYXRvcikKLSAgICAgICAgaWYgc2VsZi5kZXByZWNhdGlvbl9ndWFyZDoKLSAg
ICAgICAgICAgIGFyZ3MuYXBwZW5kKCctLWRlcHJlY2F0ZWQtZ3VhcmRzPSVzJyAlIHNlbGYuZGVw
cmVjYXRpb25fZ3VhcmQpCi0gICAgICAgIGlmIHNlbGYub3V0cHV0X2RpcjoKLSAgICAgICAgICAg
IGFyZ3MuYXBwZW5kKCctLW91dHB1dC1kaXI9JXMnICUgc2VsZi5vdXRwdXRfZGlyKQotCi0gICAg
ICAgICMgV2Ugb25seSBuZWVkIHRvIHBhc3MgdGhlIGxpc3Qgb2YgaWdub3JlZCBmaWxlcyBpZiB0
aGUgd2UgYXJlIG5vdCB1c2luZyBhbiBleHBsaWNpdCBsaXN0IG9mIGhlYWRlcnMuCi0gICAgICAg
IGlmIG5vdCBzZWxmLmhlYWRlcnM6Ci0gICAgICAgICAgICAjIGd0a2RvYy1zY2FuIHdhbnRzIHRo
ZSBiYXNlbmFtZXMgb2YgaWdub3JlZCBoZWFkZXJzLCBzbyBzdHJpcCB0aGUKLSAgICAgICAgICAg
ICMgZGlybmFtZS4gRGlmZmVyZW50IGZyb20gIi0tc291cmNlLWRpciIsIHRoZSBoZWFkZXJzIHNo
b3VsZCBiZQotICAgICAgICAgICAgIyBzcGVjaWZpZWQgYXMgb25lIGxvbmcgc3RyaW5nLgotICAg
ICAgICAgICAgaWdub3JlZF9maWxlc19iYXNlbmFtZXMgPSBzZWxmLl9pZ25vcmVkX2ZpbGVzX2Jh
c2VuYW1lcygpCi0gICAgICAgICAgICBpZiBpZ25vcmVkX2ZpbGVzX2Jhc2VuYW1lczoKLSAgICAg
ICAgICAgICAgICBhcmdzLmFwcGVuZCgnLS1pZ25vcmUtaGVhZGVycz0lcycgJSBpZ25vcmVkX2Zp
bGVzX2Jhc2VuYW1lcykKLQotICAgICAgICBpZiBzZWxmLmhlYWRlcnM6Ci0gICAgICAgICAgICBh
cmdzLmV4dGVuZChzZWxmLmhlYWRlcnMpCi0KLSAgICAgICAgc2VsZi5fcnVuX2NvbW1hbmQoYXJn
cykKLQotICAgIGRlZiBfcnVuX2d0a2RvY19zY2FuZ29iaihzZWxmKToKLSAgICAgICAgZW52ID0g
b3MuZW52aXJvbgotICAgICAgICBsZGZsYWdzID0gc2VsZi5sZGZsYWdzCi0gICAgICAgIGlmIHNl
bGYubGlicmFyeV9wYXRoOgotICAgICAgICAgICAgYWRkaXRpb25hbF9sZGZsYWdzID0gJycKLSAg
ICAgICAgICAgIGZvciBhcmcgaW4gZW52LmdldCgnTERGTEFHUycsICcnKS5zcGxpdCgnICcpOgot
ICAgICAgICAgICAgICAgIGlmIGFyZy5zdGFydHN3aXRoKCctTCcpOgotICAgICAgICAgICAgICAg
ICAgICBhZGRpdGlvbmFsX2xkZmxhZ3MgPSAnJXMgJXMnICUgKGFkZGl0aW9uYWxfbGRmbGFncywg
YXJnKQotICAgICAgICAgICAgbGRmbGFncyA9ICcgIi1MJXMiICVzICcgJSAoc2VsZi5saWJyYXJ5
X3BhdGgsIGFkZGl0aW9uYWxfbGRmbGFncykgKyBsZGZsYWdzCi0gICAgICAgICAgICBjdXJyZW50
X2xkX2xpYnJhcnlfcGF0aCA9IGVudi5nZXQoJ0xEX0xJQlJBUllfUEFUSCcpCi0gICAgICAgICAg
ICBpZiBjdXJyZW50X2xkX2xpYnJhcnlfcGF0aDoKLSAgICAgICAgICAgICAgICBlbnZbJ0xEX0xJ
QlJBUllfUEFUSCddID0gJyVzOiVzJyAlIChzZWxmLmxpYnJhcnlfcGF0aCwgY3VycmVudF9sZF9s
aWJyYXJ5X3BhdGgpCi0gICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgIGVudlsnTERf
TElCUkFSWV9QQVRIJ10gPSBzZWxmLmxpYnJhcnlfcGF0aAotCi0gICAgICAgIGlmIGxkZmxhZ3M6
Ci0gICAgICAgICAgICBlbnZbJ0xERkxBR1MnXSA9ICclcyAlcycgJSAobGRmbGFncywgZW52Lmdl
dCgnTERGTEFHUycsICcnKSkKLSAgICAgICAgaWYgc2VsZi5jZmxhZ3M6Ci0gICAgICAgICAgICBl
bnZbJ0NGTEFHUyddID0gJyVzICVzJyAlIChzZWxmLmNmbGFncywgZW52LmdldCgnQ0ZMQUdTJywg
JycpKQotCi0gICAgICAgIGlmICdDRkxBR1MnIGluIGVudjoKLSAgICAgICAgICAgIHNlbGYubG9n
Z2VyLmRlYnVnKCdDRkxBR1M9JXMnLCBlbnZbJ0NGTEFHUyddKQotICAgICAgICBpZiAnTERGTEFH
UycgaW4gZW52OgotICAgICAgICAgICAgc2VsZi5sb2dnZXIuZGVidWcoJ0xERkxBR1MgJXMnLCBl
bnZbJ0xERkxBR1MnXSkKLSAgICAgICAgc2VsZi5fcnVuX2NvbW1hbmQoWydndGtkb2Mtc2Nhbmdv
YmonLCAnLS1tb2R1bGU9JXMnICUgc2VsZi5tb2R1bGVfbmFtZV0sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgIGVudj1lbnYsIGN3ZD1zZWxmLm91dHB1dF9kaXIpCi0KLSAgICBkZWYgX3J1bl9n
dGtkb2NfbWtkYihzZWxmKToKLSAgICAgICAgc2dtbF9maWxlID0gb3MucGF0aC5qb2luKHNlbGYu
b3V0cHV0X2Rpciwgc2VsZi5tYWluX3NnbWxfZmlsZSkKLSAgICAgICAgc2VsZi5fcmFpc2VfZXhj
ZXB0aW9uX2lmX2ZpbGVfaW5hY2Nlc3NpYmxlKHNnbWxfZmlsZSkKLQotICAgICAgICBhcmdzID0g
WydndGtkb2MtbWtkYicsCi0gICAgICAgICAgICAgICAgJy0tbW9kdWxlPSVzJyAlIHNlbGYubW9k
dWxlX25hbWUsCi0gICAgICAgICAgICAgICAgJy0tbWFpbi1zZ21sLWZpbGU9JXMnICUgc2dtbF9m
aWxlLAotICAgICAgICAgICAgICAgICctLXNvdXJjZS1zdWZmaXhlcz1oLGMsY3BwLGNjJywKLSAg
ICAgICAgICAgICAgICAnLS1vdXRwdXQtZm9ybWF0PXhtbCcsCi0gICAgICAgICAgICAgICAgJy0t
c2dtbC1tb2RlJ10KLQotICAgICAgICBpZiBzZWxmLm5hbWVzcGFjZToKLSAgICAgICAgICAgIGFy
Z3MuYXBwZW5kKCctLW5hbWUtc3BhY2U9JXMnICUgc2VsZi5uYW1lc3BhY2UpCi0KLSAgICAgICAg
aWdub3JlZF9maWxlc19iYXNlbmFtZXMgPSBzZWxmLl9pZ25vcmVkX2ZpbGVzX2Jhc2VuYW1lcygp
Ci0gICAgICAgIGlmIGlnbm9yZWRfZmlsZXNfYmFzZW5hbWVzOgotICAgICAgICAgICAgYXJncy5h
cHBlbmQoJy0taWdub3JlLWZpbGVzPSVzJyAlIGlnbm9yZWRfZmlsZXNfYmFzZW5hbWVzKQotCi0g
ICAgICAgICMgRWFjaCBkaXJlY3Rvcnkgc2hvdWxkIGJlIGhhdmUgaXRzIG93biAiLS1zb3VyY2Ut
ZGlyPSIgcHJlZml4LgotICAgICAgICBhcmdzLmV4dGVuZChbJy0tc291cmNlLWRpcj0lcycgJSBw
YXRoIGZvciBwYXRoIGluIHNlbGYuc291cmNlX2RpcnNdKQotICAgICAgICBzZWxmLl9ydW5fY29t
bWFuZChhcmdzLCBjd2Q9c2VsZi5vdXRwdXRfZGlyKQotCi0gICAgZGVmIF9ydW5fZ3RrZG9jX21r
aHRtbChzZWxmKToKLSAgICAgICAgIyBndGtkb2MtZml4eHJlZiBleHBlY3RzIHRoZSBwYXRocyB0
byBiZSBodG1sL21vZHVsZW5hbWUuCi0gICAgICAgIGh0bWxfZGVzdF9kaXIgPSBvcy5wYXRoLmpv
aW4oc2VsZi5vdXRwdXRfZGlyLCAnaHRtbCcsIHNlbGYubW9kdWxlX25hbWUpCi0gICAgICAgIHNl
bGYuX2NyZWF0ZV9kaXJlY3RvcnlfaWZfbm9uZXhpc3RlbnQoaHRtbF9kZXN0X2RpcikKLSAgICAg
ICAgaWYgbm90IG9zLnBhdGguaXNkaXIoaHRtbF9kZXN0X2Rpcik6Ci0gICAgICAgICAgICByYWlz
ZSBFeGNlcHRpb24oIiVzIGlzIG5vdCBhIGRpcmVjdG9yeSwgY291bGQgbm90IGdlbmVyYXRlIEhU
TUwiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgJSBodG1sX2Rlc3RfZGlyKQotICAgICAg
ICBlbGlmIG5vdCBvcy5hY2Nlc3MoaHRtbF9kZXN0X2Rpciwgb3MuWF9PSyB8IG9zLlJfT0sgfCBv
cy5XX09LKToKLSAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigiQ291bGQgbm90IGFjY2VzcyAl
cyB0byBnZW5lcmF0ZSBIVE1MIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICUgaHRtbF9k
ZXN0X2RpcikKLQotICAgICAgICAjIGd0a2RvYy1ta2h0bWwgZXhwZWN0cyB0aGUgU0dNTCBwYXRo
IHRvIGJlIGFic29sdXRlLgotICAgICAgICBzZ21sX2ZpbGUgPSBvcy5wYXRoLmpvaW4ob3MucGF0
aC5hYnNwYXRoKHNlbGYub3V0cHV0X2RpciksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBzZWxmLm1haW5fc2dtbF9maWxlKQotICAgICAgICBzZWxmLl9yYWlzZV9leGNlcHRpb25f
aWZfZmlsZV9pbmFjY2Vzc2libGUoc2dtbF9maWxlKQotCi0gICAgICAgIHNlbGYuX3J1bl9jb21t
YW5kKFsnZ3RrZG9jLW1raHRtbCcsIHNlbGYubW9kdWxlX25hbWUsIHNnbWxfZmlsZV0sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgIGN3ZD1odG1sX2Rlc3RfZGlyKQotCi0gICAgZGVmIF9ydW5f
Z3RrZG9jX2ZpeHhyZWYoc2VsZik6Ci0gICAgICAgIGFyZ3MgPSBbJ2d0a2RvYy1maXh4cmVmJywK
LSAgICAgICAgICAgICAgICAnLS1tb2R1bGU9JXMnICUgc2VsZi5tb2R1bGVfbmFtZSwKLSAgICAg
ICAgICAgICAgICAnLS1tb2R1bGUtZGlyPWh0bWwvJXMnICUgc2VsZi5tb2R1bGVfbmFtZV0KLSAg
ICAgICAgYXJncy5leHRlbmQoWyctLWV4dHJhLWRpcj0lcycgJSBleHRyYV9kaXIgZm9yIGV4dHJh
X2RpciBpbiBzZWxmLmNyb3NzX3JlZmVyZW5jZV9kZXBzXSkKLSAgICAgICAgc2VsZi5fcnVuX2Nv
bW1hbmQoYXJncywgY3dkPXNlbGYub3V0cHV0X2RpciwgaWdub3JlX3dhcm5pbmdzPVRydWUpCi0K
LSAgICAgICAgIyBndGtkb2MtZml4eHJlZiBoYXMgc29tZSBwcmVkZWZpbmVkIGxpbmtzIGZvciB3
aGljaCBpdCBhbHdheXMgdXNlcyBhYnNvbHV0ZSBwYXRocy4KLSAgICAgICAgaHRtbF9kaXJfcHJl
Zml4ID0gb3MucGF0aC5qb2luKHNlbGYudmlydHVhbF9yb290ICsgc2VsZi5wcmVmaXgsICdzaGFy
ZScsICdndGstZG9jJywgJ2h0bWwnKQotICAgICAgICBtb2R1bGVfZGlyID0gb3MucGF0aC5qb2lu
KHNlbGYub3V0cHV0X2RpciwgJ2h0bWwnLCBzZWxmLm1vZHVsZV9uYW1lKQotICAgICAgICBmb3Ig
ZW50cnkgaW4gb3MubGlzdGRpcihtb2R1bGVfZGlyKToKLSAgICAgICAgICAgIGlmIG5vdCBlbnRy
eS5lbmRzd2l0aCgnLmh0bWwnKToKLSAgICAgICAgICAgICAgICBjb250aW51ZQotCi0gICAgICAg
ICAgICBmaWxlbmFtZSA9IG9zLnBhdGguam9pbihtb2R1bGVfZGlyLCBlbnRyeSkKLSAgICAgICAg
ICAgIGNvbnRlbnRzID0gJycKLSAgICAgICAgICAgIHdpdGggY29kZWNzLm9wZW4oZmlsZW5hbWUs
ICdyJywgZW5jb2Rpbmc9J3V0Zi04JykgYXMgZjoKLSAgICAgICAgICAgICAgICBjb250ZW50cyA9
IGYucmVhZCgpCi0KLSAgICAgICAgICAgIGlmIG5vdCBodG1sX2Rpcl9wcmVmaXggaW4gY29udGVu
dHM6Ci0gICAgICAgICAgICAgICAgY29udGludWUKLQotICAgICAgICAgICAgdG1wX2ZpbGVuYW1l
ID0gZmlsZW5hbWUgKyAnLm5ldycKLSAgICAgICAgICAgIG5ld19jb250ZW50cyA9IGNvbnRlbnRz
LnJlcGxhY2UoaHRtbF9kaXJfcHJlZml4LCAnLi4nKQotICAgICAgICAgICAgd2l0aCBjb2RlY3Mu
b3Blbih0bXBfZmlsZW5hbWUsICd3JywgZW5jb2Rpbmc9J3V0Zi04JykgYXMgZjoKLSAgICAgICAg
ICAgICAgICBmLndyaXRlKG5ld19jb250ZW50cykKLQotICAgICAgICAgICAgb3MucmVuYW1lKHRt
cF9maWxlbmFtZSwgZmlsZW5hbWUpCi0KLSAgICBkZWYgcmViYXNlX2luc3RhbGxlZF9kb2NzKHNl
bGYpOgotICAgICAgICBpZiBub3Qgb3MucGF0aC5pc2RpcihzZWxmLm91dHB1dF9kaXIpOgotICAg
ICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCJUcmllZCB0byByZWJhc2UgZG9jdW1lbnRhdGlvbiBi
ZWZvcmUgZ2VuZXJhdGluZyBpdC4iKQotICAgICAgICBodG1sX2RpciA9IG9zLnBhdGguam9pbihz
ZWxmLnZpcnR1YWxfcm9vdCArIHNlbGYucHJlZml4LCAnc2hhcmUnLCAnZ3RrLWRvYycsICdodG1s
Jywgc2VsZi5tb2R1bGVfbmFtZSkKLSAgICAgICAgaWYgbm90IG9zLnBhdGguaXNkaXIoaHRtbF9k
aXIpOgotICAgICAgICAgICAgcmV0dXJuCi0gICAgICAgIGFyZ3MgPSBbJ2d0a2RvYy1yZWJhc2Un
LAotICAgICAgICAgICAgICAgICctLXJlbGF0aXZlJywKLSAgICAgICAgICAgICAgICAnLS1odG1s
LWRpcj0lcycgJSBodG1sX2Rpcl0KLSAgICAgICAgYXJncy5leHRlbmQoWyctLW90aGVyLWRpcj0l
cycgJSBleHRyYV9kaXIgZm9yIGV4dHJhX2RpciBpbiBzZWxmLmNyb3NzX3JlZmVyZW5jZV9kZXBz
XSkKLSAgICAgICAgaWYgc2VsZi52aXJ0dWFsX3Jvb3Q6Ci0gICAgICAgICAgICBhcmdzLmV4dGVu
ZChbJy0tZGVzdC1kaXI9JXMnICUgc2VsZi52aXJ0dWFsX3Jvb3RdKQotICAgICAgICBzZWxmLl9y
dW5fY29tbWFuZChhcmdzLCBjd2Q9c2VsZi5vdXRwdXRfZGlyKQotCi0gICAgZGVmIGFwaV9taXNz
aW5nX2RvY3VtZW50YXRpb24oc2VsZik6Ci0gICAgICAgIHVudXNlZF9kb2NfZmlsZSA9IG9zLnBh
dGguam9pbihzZWxmLm91dHB1dF9kaXIsIHNlbGYubW9kdWxlX25hbWUgKyAiLXVudXNlZC50eHQi
KQotICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHModW51c2VkX2RvY19maWxlKSBvciBub3Qg
b3MuYWNjZXNzKHVudXNlZF9kb2NfZmlsZSwgb3MuUl9PSyk6Ci0gICAgICAgICAgICByZXR1cm4g
W10KLSAgICAgICAgcmV0dXJuIG9wZW4odW51c2VkX2RvY19maWxlKS5yZWFkKCkuc3BsaXRsaW5l
cygpCi0KLWNsYXNzIFBrZ0NvbmZpZ0dUS0RvYyhHVEtEb2MpOgotCi0gICAgIiIiQ2xhc3MgcmVh
ZHMgYSBsaWJyYXJ5J3MgcGtnY29uZmlnIGZpbGUgdG8gZ3Vlc3MgZ3RrZG9jIHBhcmFtZXRlcnMu
Ci0KLSAgICBTb21lIGd0a2RvYyBwYXJhbWV0ZXJzIGNhbiBiZSBndWVzc2VkIGJ5IHJlYWRpbmcg
YSBsaWJyYXJ5J3MgcGtnY29uZmlnCi0gICAgZmlsZSwgaW5jbHVkaW5nIHRoZSBjZmxhZ3MsIGxk
ZmxhZ3MgYW5kIHZlcnNpb24gcGFyYW1ldGVycy4gSWYgeW91Ci0gICAgcHJvdmlkZSB0aGVzZSBw
YXJhbWV0ZXJzIGFzIHdlbGwsIHRoZXkgd2lsbCBiZSBhcHBlbmRlZCB0byB0aGUgb25lcwotICAg
IGd1ZXNzZWQgdmlhIHRoZSBwa2djb25maWcgZmlsZS4KLQotICAgIEtleXdvcmQgYXJndW1lbnRz
OgotICAgICAgcGtnX2NvbmZpZ19wYXRoIC0tIFBhdGggdG8gdGhlIHBrZ2NvbmZpZyBmaWxlIGZv
ciB0aGUgbGlicmFyeS4gUmVxdWlyZWQuCi0gICAgIiIiCi0KLSAgICBkZWYgX19pbml0X18oc2Vs
ZiwgcGtnX2NvbmZpZ19wYXRoLCBhcmdzKToKLSAgICAgICAgc3VwZXIoUGtnQ29uZmlnR1RLRG9j
LCBzZWxmKS5fX2luaXRfXyhhcmdzKQotCi0gICAgICAgIHBrZ19jb25maWcgPSBvcy5lbnZpcm9u
LmdldCgnUEtHX0NPTkZJRycsICdwa2ctY29uZmlnJykKLQotICAgICAgICBpZiBub3Qgb3MucGF0
aC5leGlzdHMocGtnX2NvbmZpZ19wYXRoKToKLSAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbign
Q291bGQgbm90IGZpbmQgcGtnLWNvbmZpZyBmaWxlIGF0OiAlcycKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAlIHBrZ19jb25maWdfcGF0aCkKLQotICAgICAgICBzZWxmLmNmbGFncyArPSAi
ICIgKyBzZWxmLl9ydW5fY29tbWFuZChbcGtnX2NvbmZpZywKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBrZ19jb25maWdfcGF0aCwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLWNmbGFncyddLCBwcmludF9v
dXRwdXQ9RmFsc2UpCi0gICAgICAgIHNlbGYubGRmbGFncyArPSAiICIgKyBzZWxmLl9ydW5fY29t
bWFuZChbcGtnX2NvbmZpZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHBrZ19jb25maWdfcGF0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICctLWxpYnMnXSwgcHJpbnRfb3V0cHV0PUZhbHNlKQotICAgICAg
ICBzZWxmLnZlcnNpb24gPSBzZWxmLl9ydW5fY29tbWFuZChbcGtnX2NvbmZpZywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBrZ19jb25maWdfcGF0aCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLW1vZHZlcnNpb24nXSwgcHJp
bnRfb3V0cHV0PUZhbHNlKQotICAgICAgICBzZWxmLnByZWZpeCA9IHNlbGYuX3J1bl9jb21tYW5k
KFtwa2dfY29uZmlnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
a2dfY29uZmlnX3BhdGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICctLXZhcmlhYmxlPXByZWZpeCddLCBwcmludF9vdXRwdXQ9RmFsc2UpCmRpZmYgLS1naXQgYS9U
b29scy9ndGtkb2MvZ2VuZXJhdGUtZ3RrZG9jIGIvVG9vbHMvZ3RrZG9jL2dlbmVyYXRlLWd0a2Rv
YwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5jYjk4Mzc2YzMwNWZmMzJlYTIyZWY2Y2YwMTY4Y2IzMTA2YTU5ZTBlCi0t
LSAvZGV2L251bGwKKysrIGIvVG9vbHMvZ3RrZG9jL2dlbmVyYXRlLWd0a2RvYwpAQCAtMCwwICsx
LDI0NCBAQAorIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCisjIENvcHlyaWdodCAoQykgMjAxMSBJZ2Fs
aWEgUy5MLgorIworIyBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp
c3RyaWJ1dGUgaXQgYW5kL29yCisjIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO
VSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisjIHZlcnNpb24gMiBvZiB0aGUgTGljZW5z
ZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBsaWJy
YXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisj
IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh
bnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRS4gIFNlZSB0aGUgR05VCisjIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBt
b3JlIGRldGFpbHMuCisjCisjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl
IEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyMgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGli
cmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorIyBGb3VuZGF0aW9uLCBJ
bmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0x
MzAxICBVU0EKKworZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBwcmludF9mdW5jdGlvbgorZnJvbSBD
b25maWdQYXJzZXIgaW1wb3J0IFNhZmVDb25maWdQYXJzZXIKKworaW1wb3J0IGFyZ3BhcnNlCitp
bXBvcnQgY29kZWNzCitpbXBvcnQgZ2xvYgoraW1wb3J0IGd0a2RvYworaW1wb3J0IGxvZ2dpbmcK
K2ltcG9ydCBvcy5wYXRoCitpbXBvcnQgc3lzCisKK3RvcF9sZXZlbF9kaXJlY3RvcnkgPSBvcy5w
YXRoLm5vcm1wYXRoKG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pLCAnLi4n
LCAnLi4nKSkKK3N5cy5wYXRoLmluc2VydCgwLCBvcy5wYXRoLmpvaW4odG9wX2xldmVsX2RpcmVj
dG9yeSwgJ1Rvb2xzJywgJ2dsaWInKSkKK2ltcG9ydCBjb21tb24KKworc3lzLnN0ZG91dCA9IGNv
ZGVjcy5nZXR3cml0ZXIoInV0Zi04Iikoc3lzLnN0ZG91dCkKK3N5cy5zdGRlcnIgPSBjb2RlY3Mu
Z2V0d3JpdGVyKCJ1dGYtOCIpKHN5cy5zdGRlcnIpCisKK2RlZiBjb25maWd1cmVfbG9nZ2luZyh2
ZXJib3NlKToKKyAgICBsZXZlbCA9IGxvZ2dpbmcuREVCVUcgaWYgdmVyYm9zZSBlbHNlIGxvZ2dp
bmcuSU5GTworICAgIGxvZ2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCdndGtkb2MnKQorICAgIGxv
Z2dlci5zZXRMZXZlbChsZXZlbCkKKyAgICBoYW5kbGVyID0gbG9nZ2luZy5TdHJlYW1IYW5kbGVy
KCkKKyAgICBoYW5kbGVyLnNldExldmVsKGxldmVsKQorICAgIGxvZ2dlci5hZGRIYW5kbGVyKGhh
bmRsZXIpCisgICAgaWYgbGV2ZWwgPT0gbG9nZ2luZy5ERUJVRzoKKyAgICAgICAgaGFuZGxlci5z
ZXRGb3JtYXR0ZXIobG9nZ2luZy5Gb3JtYXR0ZXIoJ1slKGFzY3RpbWUpc10gICUobWVzc2FnZSlz
JykpCisgICAgZWxzZToKKyAgICAgICAgaGFuZGxlci5zZXRGb3JtYXR0ZXIobG9nZ2luZy5Gb3Jt
YXR0ZXIoJyUobWVzc2FnZSlzJykpCisKK2RlZiBnZXRfZ3RrZG9jX21vZHVsZV9wYXRocyhjcm9z
c19yZWZlcmVuY2VfZGVwcyk6CisgICAgZGVwZW5kZW50X3BhY2thZ2VzID0geworICAgICAgICAn
Z2xpYi0yLjAnIDogWydnbGliJywgJ2dvYmplY3QnLCAnZ2lvJ10sCisgICAgICAgICdsaWJzb3Vw
LTIuNCcgOiBbJ2xpYnNvdXAtMi40J10KKyAgICB9CisKKyAgICBpZiBhcmd1bWVudHMuZ3RrOgor
ICAgICAgICBkZXBlbmRlbnRfcGFja2FnZXNbJ2dkay1waXhidWYtMi4wJ10gPSBbJ2dkay1waXhi
dWYnXQorICAgICAgICBkZXBlbmRlbnRfcGFja2FnZXNbJ2d0aystMy4wJ10gPSBbJ2d0azMnLCAn
Z2RrMyddCisKKyAgICBwYXRocyA9IFtdCisgICAgaHRtbF9kaXIgPSBvcy5wYXRoLmpvaW4oJ3No
YXJlJywgJ2d0ay1kb2MnLCAnaHRtbCcpCisgICAgZm9yIHBhY2thZ2UsIG1vZHVsZXMgaW4gZGVw
ZW5kZW50X3BhY2thZ2VzLml0ZXJpdGVtcygpOgorICAgICAgICBwcmVmaXggPSBjb21tb24ucHJl
Zml4X29mX3BrZ19jb25maWdfZmlsZShwYWNrYWdlKQorICAgICAgICBpZiBwcmVmaXggaXMgTm9u
ZToKKyAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAgIGZvciBtb2R1bGUgaW4gbW9kdWxlczoK
KyAgICAgICAgICAgIHBhdGhzLmFwcGVuZChvcy5wYXRoLmpvaW4ocHJlZml4LCBodG1sX2Rpciwg
bW9kdWxlKSkKKworICAgIGZvciBsb2NhbF9kZXAgaW4gY3Jvc3NfcmVmZXJlbmNlX2RlcHM6Cisg
ICAgICAgIHBhdGhzLmFwcGVuZChjb21tb24uYnVpbGRfcGF0aCgnRG9jdW1lbnRhdGlvbicsIGxv
Y2FsX2RlcCwgJ2h0bWwnKSkKKyAgICByZXR1cm4gcGF0aHMKKworZGVmIHByaW50X21pc3Npbmdf
YXBpKGdlbmVyYXRvcik6CisgICAgbWlzc2luZ19hcGkgPSBnZW5lcmF0b3IuYXBpX21pc3Npbmdf
ZG9jdW1lbnRhdGlvbigpCisgICAgaWYgbm90IG1pc3NpbmdfYXBpOgorICAgICAgICByZXR1cm4K
KyAgICBwcmludCgiXG5UaGUgZm9sbG93aW5nIEFQSSBhcmUgbWlzc2luZyBkb2N1bWVudGF0aW9u
OiIpCisgICAgZm9yIGFwaSBpbiBtaXNzaW5nX2FwaToKKyAgICAgICAgcHJpbnQoIlx0ezB9Ii5m
b3JtYXQoYXBpKSkKKworZGVmIGZpbGVzX3RvX2lnbm9yZShzb3VyY2VfZGlycywgaGVhZGVyc193
aXRoX2d0a2RvYyk6CisgICAgIiIiCisgICAgRmluZCBmaWxlcyB0byBpZ25vcmUgZHVyaW5nIGRv
Y3VtZW50YXRpb24gZ2VuZXJhdGlvbi4gV2UgYXNzdW1lIHRoYXQgaWYgYW4KKyAgICBpbXBsZW1l
bnRhdGlvbiBmaWxlIGV4aXN0cyBmb3IgYSBoZWFkZXIgd2l0aCBndGtkb2MgKHNheSB3ZWJraXRm
b28uY3BwIGZvcgorICAgIHdlYmtpdGZvby5oKSB3ZSBzaG91bGRuJ3QgaWdub3JlIHRoYXQgZmls
ZS4gQ3VycmVudGx5IHRoaXMgaG9sZHMgdHJ1ZSBmb3IgYWxsCisgICAgb2YgdGhlIFdlYktpdCBw
cm9qZWN0LgorICAgICIiIgorICAgIGltcGxlbWVudGF0aW9uX2ZpbGVzID0gbGlzdChoZWFkZXJz
X3dpdGhfZ3RrZG9jKQorICAgIGZvciBoZWFkZXIgaW4gaGVhZGVyc193aXRoX2d0a2RvYzoKKyAg
ICAgICAgZGVmIGFkZF9maWxlX2lmX2V4aXN0cyhmaWxlbmFtZSk6CisgICAgICAgICAgICBmb3Ig
ZGlyIGluIHNvdXJjZV9kaXJzOgorICAgICAgICAgICAgICAgIGZpbGUgPSBvcy5wYXRoLmpvaW4o
ZGlyLCBmaWxlbmFtZSkKKyAgICAgICAgICAgICAgICBpZiBvcy5wYXRoLmlzZmlsZShmaWxlKToK
KyAgICAgICAgICAgICAgICAgICAgaW1wbGVtZW50YXRpb25fZmlsZXMuYXBwZW5kKG9zLnBhdGgu
YWJzcGF0aChmaWxlKSkKKyAgICAgICAgaGVhZGVyX2Jhc2VuYW1lX3dpdGhvdXRfZXh0ZW5zaW9u
ID0gb3MucGF0aC5zcGxpdGV4dChvcy5wYXRoLmJhc2VuYW1lKGhlYWRlcikpWzBdCisgICAgICAg
IGFkZF9maWxlX2lmX2V4aXN0cyhoZWFkZXJfYmFzZW5hbWVfd2l0aG91dF9leHRlbnNpb24gKyAi
LmNwcCIpCisgICAgICAgIGFkZF9maWxlX2lmX2V4aXN0cyhoZWFkZXJfYmFzZW5hbWVfd2l0aG91
dF9leHRlbnNpb24gKyAiR3RrLmNwcCIpCisgICAgICAgIGFkZF9maWxlX2lmX2V4aXN0cyhoZWFk
ZXJfYmFzZW5hbWVfd2l0aG91dF9leHRlbnNpb24gKyAiLmMiKQorCisgICAgZGVmIGZpbGVfc2hv
dWxkX2JlX2lnbm9yZWQoZmlsZSk6CisgICAgICAgIGlmIG9zLnBhdGguc3BsaXRleHQoZmlsZSlb
MV0gbm90IGluIFsnLmgnLCAnLmMnLCAnLmNwcCcsICcuY2MnXToKKyAgICAgICAgICAgIHJldHVy
biBGYWxzZSAjIFRoZXNlIGZpbGVzIGFyZSBpZ25vcmVkIGFueXdheS4KKyAgICAgICAgaWYgbm90
IG9zLnBhdGguaXNmaWxlKGZpbGUpOgorICAgICAgICAgICAgcmV0dXJuIFRydWUKKyAgICAgICAg
cmV0dXJuIG9zLnBhdGguYWJzcGF0aChmaWxlKSBub3QgaW4gaW1wbGVtZW50YXRpb25fZmlsZXMK
KworICAgIGFsbF9maWxlcyA9IHN1bShbW29zLnBhdGguam9pbihkaXIsIGZpbGUpIGZvciBmaWxl
IGluIG9zLmxpc3RkaXIoZGlyKV0gZm9yIGRpciBpbiBzb3VyY2VfZGlyc10sIFtdKQorICAgIHJl
dHVybiBmaWx0ZXIoZmlsZV9zaG91bGRfYmVfaWdub3JlZCwgYWxsX2ZpbGVzKQorCitkZWYgZ2V0
X2dlbmVyYXRvcl9mb3JfY29uZmlnKGNvbmZpZ19maWxlLCB2aXJ0dWFsX3Jvb3QsIGNyb3NzX3Jl
ZmVyZW5jZV9kZXBzID0gW10pOgorICAgIGlmIG5vdCBvcy5wYXRoLmlzZmlsZShjb25maWdfZmls
ZSk6CisgICAgICAgIHJldHVybiBOb25lCisKKyAgICBjb25maWcgPSBTYWZlQ29uZmlnUGFyc2Vy
KCkKKyAgICBjb25maWcucmVhZChjb25maWdfZmlsZSkKKyAgICBtb2R1bGVfbmFtZSA9IGNvbmZp
Zy5zZWN0aW9ucygpWzBdCisgICAgcGtnY29uZmlnX2ZpbGUgPSBjb25maWcuZ2V0KG1vZHVsZV9u
YW1lLCAncGtnY29uZmlnX2ZpbGUnKQorCisgICAgaWYgbm90IG9zLnBhdGguaXNmaWxlKHBrZ2Nv
bmZpZ19maWxlKToKKyAgICAgICAgcmV0dXJuIE5vbmUKKworICAgIHNvdXJjZV9kaXJzID0gY29u
ZmlnLmdldChtb2R1bGVfbmFtZSwgJ3NvdXJjZV9kaXJzJykucmVwbGFjZSgnOycsICcgJykuc3Bs
aXQoKQorICAgIGhlYWRlcnMgPSBbb3MucGF0aC5hYnNwYXRoKGYpIGZvciBmIGluIGNvbmZpZy5n
ZXQobW9kdWxlX25hbWUsICdoZWFkZXJzJykucmVwbGFjZSgnOycsICcgJykuc3BsaXQoKV0KKyAg
ICByZXR1cm4gZ3RrZG9jLlBrZ0NvbmZpZ0dUS0RvYyhwa2djb25maWdfZmlsZSwgeworICAgICAg
ICAnZGVjb3JhdG9yJzogY29uZmlnLmdldChtb2R1bGVfbmFtZSwgJ2RlY29yYXRvcicpLAorICAg
ICAgICAnZGVwcmVjYXRpb25fZ3VhcmQnOiBjb25maWcuZ2V0KG1vZHVsZV9uYW1lLCAnZGVwcmVj
YXRpb25fZ3VhcmQnKSwKKyAgICAgICAgJ2xpYnJhcnlfcGF0aCc6IGNvbW1vbi5saWJyYXJ5X2J1
aWxkX3BhdGgoKSwKKyAgICAgICAgJ3ZpcnR1YWxfcm9vdCc6IHZpcnR1YWxfcm9vdCwKKyAgICAg
ICAgJ21vZHVsZV9uYW1lJzogbW9kdWxlX25hbWUsCisgICAgICAgICduYW1lc3BhY2UnOiBjb25m
aWcuZ2V0KG1vZHVsZV9uYW1lLCAnbmFtZXNwYWNlJyksCisgICAgICAgICdkb2NfZGlyJzogY29u
ZmlnLmdldChtb2R1bGVfbmFtZSwgJ2RvY19kaXInKSwKKyAgICAgICAgJ291dHB1dF9kaXInOiBj
b21tb24uYnVpbGRfcGF0aCgnRG9jdW1lbnRhdGlvbicsIG1vZHVsZV9uYW1lKSwKKyAgICAgICAg
J21haW5fc2dtbF9maWxlJzogY29uZmlnLmdldChtb2R1bGVfbmFtZSwgJ21haW5fc2dtbF9maWxl
JyksCisgICAgICAgICdzb3VyY2VfZGlycyc6IHNvdXJjZV9kaXJzLAorICAgICAgICAnaGVhZGVy
cyc6IGhlYWRlcnMsCisgICAgICAgICdjZmxhZ3MnOiAiICIuam9pbihjb25maWcuZ2V0KG1vZHVs
ZV9uYW1lLCAnY2ZsYWdzJykuc3BsaXQoKSksCisgICAgICAgICdjcm9zc19yZWZlcmVuY2VfZGVw
cyc6IGdldF9ndGtkb2NfbW9kdWxlX3BhdGhzKGNyb3NzX3JlZmVyZW5jZV9kZXBzKSwKKyAgICAg
ICAgJ2lnbm9yZWRfZmlsZXMnOiBmaWxlc190b19pZ25vcmUoc291cmNlX2RpcnMsIGhlYWRlcnMp
LAorICAgIH0pCisKK2RlZiBnZW5lcmF0ZV9kb2MoZ2VuZXJhdG9yLCBza2lwX2h0bWwpOgorICAg
IGdlbmVyYXRvci5nZW5lcmF0ZShub3Qgc2tpcF9odG1sKQorICAgIGlmIGdlbmVyYXRvci5zYXdf
d2FybmluZ3M6CisgICAgICAgIHByaW50X21pc3NpbmdfYXBpKGdlbmVyYXRvcikKKyAgICByZXR1
cm4gZ2VuZXJhdG9yLnNhd193YXJuaW5ncworCitkZWYgcmViYXNlX2RvYyhnZW5lcmF0b3IpOgor
ICAgIHRyeToKKyAgICAgICAgZ2VuZXJhdG9yLnJlYmFzZV9pbnN0YWxsZWRfZG9jcygpCisgICAg
ZXhjZXB0IEV4Y2VwdGlvbjoKKyAgICAgICAgcHJpbnQoIlJlYmFzZSBkaWQgbm90IGhhcHBlbiwg
bGlrZWx5IG5vIGRvY3VtZW50YXRpb24gaXMgcHJlc2VudC4iKQorCitkZWYgZ2VuZXJhdGVfZG9j
dW1lbnRhdGlvbihnZW5lcmF0b3IpOgorICAgIGlmIG5vdCBhcmd1bWVudHMucmViYXNlOgorICAg
ICAgICByZXR1cm4gZ2VuZXJhdGVfZG9jKGdlbmVyYXRvciwgYXJndW1lbnRzLnNraXBfaHRtbCkK
KworICAgIHJlYmFzZV9kb2MoZ2VuZXJhdG9yKQorICAgIHJldHVybiBGYWxzZQorCitkZWYgcHJl
cGFyZV9lbnZpcm9ubWVudF9mb3JfZ3RrZG9jX2dlbmVyYXRpb24oKToKKyAgICAjIFdlIG5lZWQg
dG8gYWRkIHRoZSBKYXZhU2NyaXB0Q29yZSBidWlsZCBkaXJlY3RvcnkgdG8gdGhlIFBLR19DT05G
SUdfUEFUSAorICAgICMgc28gdGhhdCBwa2djb25maWcgY2FuIHByb3Blcmx5IHJlc29sdmUgdGhl
IGxpYmphdmFzY3JpcHRjb3JlIGRlcGVuZGVuY3kuCisgICAgcGtnX2NvbmZpZ19wYXRoID0gb3Mu
ZW52aXJvbi5nZXQoIlBLR19DT05GSUdfUEFUSCIpCisgICAgb3MuZW52aXJvblsnUEtHX0NPTkZJ
R19QQVRIJ10gPSBjb21tb24uYnVpbGRfcGF0aCgnU291cmNlJywgJ0phdmFTY3JpcHRDb3JlJykK
KyAgICBpZiBwa2dfY29uZmlnX3BhdGg6CisgICAgICAgIG9zLmVudmlyb25bJ1BLR19DT05GSUdf
UEFUSCddICs9ICc6JyArIHBrZ19jb25maWdfcGF0aAorCisgICAgIyBOZXdlciB2ZXJzaW9ucyBv
ZiBnbGliIGhhdmUgZGVwcmVjYXRlZCBnX3R5cGVfaW5pdCwgc28gd2UgbmVlZCB0byBkaXNhYmxl
CisgICAgIyB0aGF0IHdhcm5pbmcgd2hlbiBydW5uaW5nIGd0a2RvYy1zY2Fub2JqIGJ5IG92ZXJy
aWRpbmcgdGhlIENGTEFHUyB3ZSB1c2UKKyAgICAjIHRvIGNvbXBpbGUgaXQuCisgICAgY2ZsYWdz
ID0gb3MuZW52aXJvbi5nZXQoJ0NGTEFHUycsICcnKQorICAgIGNmbGFncyArPSAnIC1ER0xJQl9W
RVJTSU9OX01JTl9SRVFVSVJFRD1HTElCX1ZFUlNJT05fMl8zMicKKworICAgICMgSW4gbm9uLXg4
NiBhcmNoaXRlY3R1cmVzLCB3aGVuIGEgcG9pbnRlciBpcyBjYXN0IHRvICh2b2lkKikgYW5kCisg
ICAgIyBiYWNrLCB0aGUgY29tcGlsZXIgdGhpbmtzIHRoYXQgdGhlIGFsaWdubWVudCBpcyByYW5k
b20uIFNpbmNlCisgICAgIyBndGtkb2MgYnVpbGQgaXMgYnJva2VuIGF0IGFueSB3YXJuaW5nIG1l
c3NhZ2UsIGl0IGlzIGJldHRlciB0bworICAgICMgc2lsZW5jZSB0aGVzZSBmYWxzZSBwb3NpdGl2
ZXMuCisgICAgY2ZsYWdzICs9ICcgLVduby1jYXN0LWFsaWduJworICAgIG9zLmVudmlyb25bJ0NG
TEFHUyddID0gY2ZsYWdzCisKKyAgICAjIFBhdGhzIGZyb20gdGhlIEdOVW1ha2VmaWxlIGdlbmVy
YXRlZCBjb25maWd1cmF0aW9uIGZpbGVzIGFyZSByZWxhdGl2ZSB0byB0aGUgYnVpbGQgZGlyZWN0
b3J5LgorICAgIG9zLmNoZGlyKGNvbW1vbi5idWlsZF9wYXRoKCkpCisKK2RlZiBidWlsZF9ndGtk
b2NfZm9yX3dwZShhcmd1bWVudHMpOgorICAgIHdwZV9nZW5lcmF0b3IgPSBnZXRfZ2VuZXJhdG9y
X2Zvcl9jb25maWcoY29tbW9uLmJ1aWxkX3BhdGgoJ2d0a2RvYy13cGUuY2ZnJyksIGFyZ3VtZW50
cy52aXJ0dWFsX3Jvb3QpCisgICAgaWYgbm90IHdwZV9nZW5lcmF0b3I6CisgICAgICAgIHByaW50
KCJndGtkb2Mtd3BlLmNmZyBkb2VzIG5vdCBleGlzdCEgU2tpcHBpbmcgdGhhdCBkb2N1bWVudGF0
aW9uIikKKyAgICAgICAgc3lzLmV4aXQoMSkKKyAgICBzYXdfd2FybmluZ3MgPSBnZW5lcmF0ZV9k
b2N1bWVudGF0aW9uKHdwZV9nZW5lcmF0b3IpCisgICAgc3lzLmV4aXQoc2F3X3dhcm5pbmdzKQor
CitkZWYgYnVpbGRfZ3RrZG9jX2Zvcl93a2d0ayhhcmd1bWVudHMpOgorICAgIGpzY19nZW5lcmF0
b3IgPSBnZXRfZ2VuZXJhdG9yX2Zvcl9jb25maWcoY29tbW9uLmJ1aWxkX3BhdGgoJ2d0a2RvYy1q
c2MtZ2xpYi5jZmcnKSwgYXJndW1lbnRzLnZpcnR1YWxfcm9vdCkKKyAgICBpZiBub3QganNjX2dl
bmVyYXRvcjoKKyAgICAgICAgcHJpbnQoImd0a2RvYy1qc2MtZ2xpYi5jZmcgZG9lcyBub3QgZXhp
c3QhIFNraXBwaW5nIHRoYXQgZG9jdW1lbnRhdGlvbiIpCisgICAgICAgIHN5cy5leGl0KDEpCisg
ICAgc2F3X3dhcm5pbmdzID0gZ2VuZXJhdGVfZG9jdW1lbnRhdGlvbihqc2NfZ2VuZXJhdG9yKQor
ICAgIGlmIHNhd193YXJuaW5nczoKKyAgICAgICAgc3lzLmV4aXQoc2F3X3dhcm5pbmdzKQorCisg
ICAgd2Via2l0ZG9tX2dlbmVyYXRvciA9IGdldF9nZW5lcmF0b3JfZm9yX2NvbmZpZyhjb21tb24u
YnVpbGRfcGF0aCgnZ3RrZG9jLXdlYmtpdGRvbS5jZmcnKSwgYXJndW1lbnRzLnZpcnR1YWxfcm9v
dCwgW2pzY19nZW5lcmF0b3IubW9kdWxlX25hbWVdKQorICAgIGlmIG5vdCB3ZWJraXRkb21fZ2Vu
ZXJhdG9yOgorICAgICAgICBwcmludCgiZ3RrZG9jLXdlYmtpdGRvbS5jZmcgZG9lcyBub3QgZXhp
c3QhIFNraXBwaW5nIHRoYXQgZG9jdW1lbnRhdGlvbiIpCisgICAgICAgIHN5cy5leGl0KDEpCisg
ICAgc2F3X3dhcm5pbmdzID0gZ2VuZXJhdGVfZG9jdW1lbnRhdGlvbih3ZWJraXRkb21fZ2VuZXJh
dG9yKQorICAgIGlmIHNhd193YXJuaW5nczoKKyAgICAgICAgc3lzLmV4aXQoc2F3X3dhcm5pbmdz
KQorCisgICAgd2Via2l0Ml9nZW5lcmF0b3IgPSBnZXRfZ2VuZXJhdG9yX2Zvcl9jb25maWcoY29t
bW9uLmJ1aWxkX3BhdGgoJ2d0a2RvYy13ZWJraXQyZ3RrLmNmZycpLCBhcmd1bWVudHMudmlydHVh
bF9yb290LCBbd2Via2l0ZG9tX2dlbmVyYXRvci5tb2R1bGVfbmFtZSwganNjX2dlbmVyYXRvci5t
b2R1bGVfbmFtZV0pCisgICAgaWYgbm90IHdlYmtpdDJfZ2VuZXJhdG9yOgorICAgICAgICBwcmlu
dCgiZ3RrZG9jLXdlYmtpdDJndGsuY2ZnIGRvZXMgbm90IGV4aXN0ISBTa2lwcGluZyB0aGF0IGRv
Y3VtZW50YXRpb24iKQorICAgICAgICBzeXMuZXhpdCgxKQorICAgIHNhd193YXJuaW5ncyA9IGdl
bmVyYXRlX2RvY3VtZW50YXRpb24od2Via2l0Ml9nZW5lcmF0b3IpCisgICAgc3lzLmV4aXQoc2F3
X3dhcm5pbmdzKQorCitpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgorICAgIHBhcnNlciA9IGFy
Z3BhcnNlLkFyZ3VtZW50UGFyc2VyKGRlc2NyaXB0aW9uPSdHZW5lcmF0ZSBndGtkb2MgZm9yIFdl
YktpdC4nKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy12JywgJy0tdmVyYm9zZScsIGFjdGlv
bj0nc3RvcmVfdHJ1ZScsCisgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdXaGV0aGVyIG9y
IG5vdCB0byBydW4gaW4gdmVyYm9zZSBtb2RlLicpCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgn
LS1yZWJhc2UnLCBhY3Rpb249J3N0b3JlX3RydWUnLAorICAgICAgICAgICAgICAgICAgICAgICAg
aGVscD0nV2hlbiBzcGVjaWZpZWQsIHJ1biB0aGUgdG9vbCBpbiByZWJhc2UgbW9kZS4nKQorICAg
IHBhcnNlci5hZGRfYXJndW1lbnQoJy0tc2tpcC1odG1sJywgYWN0aW9uPSdzdG9yZV90cnVlJywK
KyAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J1doZXRoZXIgb3Igbm90IHRvIHNraXAgSFRN
TCBnZW5lcmF0aW9uLCB3aGljaCBjYW4gYmUgc2xvdy4nKQorICAgIHBhcnNlci5hZGRfYXJndW1l
bnQoJy0tdmlydHVhbC1yb290JywgdHlwZT1zdHIsIGRlZmF1bHQ9JycsCisgICAgICAgICAgICAg
ICAgICAgICAgICBoZWxwPSdBIHRlbXBvcmFyeSBpbnN0YWxsYXRpb24gZGlyZWN0b3J5IHdoaWNo
IGlzIHVzZWQgYXMgdGhlIHJvb3QgJyArIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
J3doZXJlIHRoZSBhY3R1YWwgaW5zdGFsbGF0aW9uIHByZWZpeCBsaXZlczsgdGhpcyBpcyBtb3N0
bHkgJyArIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3VzZWZ1bCBmb3IgcGFja2Fn
ZXJzLCBhbmQgc2hvdWxkIGJlIHNldCB0byB3aGF0IGlzIGdpdmVuIHRvICcgKyBcCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICdtYWtlIGluc3RhbGwgYXMgREVTVERJUi4nKQorCisgICAg
cGFyc2VyLmFkZF9hcmd1bWVudCgnLS1ndGsnLCBhY3Rpb249J3N0b3JlX3RydWUnLAorICAgICAg
ICAgICAgICAgICAgICAgICAgaGVscD0nQnVpbGQgZG9jdW1lbnRhdGlvbiBmb3IgV2ViS2l0R1RL
KycpCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS13cGUnLCBhY3Rpb249J3N0b3JlX3RydWUn
LAorICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0nQnVpbGQgZG9jdW1lbnRhdGlvbiBmb3Ig
V1BFJykKKworICAgIGFyZ3VtZW50cyA9IHBhcnNlci5wYXJzZV9hcmdzKCkKKyAgICBjb25maWd1
cmVfbG9nZ2luZyhhcmd1bWVudHMudmVyYm9zZSkKKworICAgIHByZXBhcmVfZW52aXJvbm1lbnRf
Zm9yX2d0a2RvY19nZW5lcmF0aW9uKCkKKworICAgIGlmIGFyZ3VtZW50cy53cGU6CisgICAgICAg
IGJ1aWxkX2d0a2RvY19mb3Jfd3BlKGFyZ3VtZW50cykKKyAgICBlbGlmIGFyZ3VtZW50cy5ndGs6
CisgICAgICAgIGJ1aWxkX2d0a2RvY19mb3Jfd2tndGsoYXJndW1lbnRzKQorICAgIGVsc2U6Cisg
ICAgICAgIHByaW50KCdQbGVhc2UgY2hvb3NlIGEgV2ViS2l0IHBvcnQgd2l0aCAtLWd0ayBvciAt
LXdwZScpCisgICAgICAgIHN5cy5leGl0KDEpCmRpZmYgLS1naXQgYS9Ub29scy9ndGtkb2MvZ3Rr
ZG9jLnB5IGIvVG9vbHMvZ3RrZG9jL2d0a2RvYy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40Nzk2ODQ0NmNjNTQ4
Y2ZhNmE5Y2ZjYzE5ZTVkYTM0MzIzZGE4NjBhCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvZ3Rr
ZG9jL2d0a2RvYy5weQpAQCAtMCwwICsxLDQ1NSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTEgSWdh
bGlhIFMuTC4KKyMKKyMgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk
aXN0cmlidXRlIGl0IGFuZC9vcgorIyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH
TlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisjIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorIyB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vu
c2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgbGli
cmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAor
IyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy
YW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UuICBTZWUgdGhlIEdOVQorIyBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3Ig
bW9yZSBkZXRhaWxzLgorIworIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo
ZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisjIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxp
YnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyMgRm91bmRhdGlvbiwg
SW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAt
MTMwMSAgVVNBCisKK2ltcG9ydCBjb2RlY3MKK2ltcG9ydCBlcnJubworaW1wb3J0IGxvZ2dpbmcK
K2ltcG9ydCBvcworaW1wb3J0IG9zLnBhdGgKK2ltcG9ydCBzdWJwcm9jZXNzCitpbXBvcnQgc3lz
CisKKworY2xhc3MgR1RLRG9jKG9iamVjdCk6CisKKyAgICAiIiJDbGFzcyB0aGF0IGNvbnRyb2xz
IGEgZ3RrZG9jIHJ1bi4KKworICAgIEVhY2ggaW5zdGFuY2Ugb2YgdGhpcyBjbGFzcyByZXByZXNl
bnRzIG9uZSBndGtkb2MgY29uZmlndXJhdGlvbgorICAgIGFuZCBzZXQgb2YgZG9jdW1lbnRhdGlv
bi4gVGhlIGd0a2RvYyBwYWNrYWdlIGlzIGEgc2VyaWVzIG9mIHRvb2xzCisgICAgcnVuIGNvbnNl
Y3V0aXZlbHkgd2hpY2ggY29udmVydHMgaW5saW5lIEMvQysrIGRvY3VtZW50YXRpb24gaW50bwor
ICAgIGRvY2Jvb2sgZmlsZXMgYW5kIHRoZW4gaW50byBIVE1MLiBUaGlzIGNsYXNzIGlzIHN1aXRh
YmxlIGZvcgorICAgIGdlbmVyYXRpbmcgZG9jdW1lbnRhdGlvbiBvciBzaW1wbHkgdmVyaWZ5aW5n
IGNvcnJlY3RuZXNzLgorCisgICAgS2V5d29yZCBhcmd1bWVudHM6CisgICAgb3V0cHV0X2RpciAg
ICAgICAgIC0tIFRoZSBwYXRoIHdoZXJlIGd0a2RvYyBvdXRwdXQgc2hvdWxkIGJlIHBsYWNlZC4g
R2VuZXJhdGlvbgorICAgICAgICAgICAgICAgICAgICAgICAgICBtYXkgb3ZlcndyaXRlIGZpbGUg
aW4gdGhpcyBkaXJlY3RvcnkuIFJlcXVpcmVkLgorICAgIG1vZHVsZV9uYW1lICAgICAgICAtLSBU
aGUgbmFtZSBvZiB0aGUgZG9jdW1lbnRhdGlvbiBtb2R1bGUuIEZvciBsaWJyYXJpZXMgdGhpcwor
ICAgICAgICAgICAgICAgICAgICAgICAgICBpcyB0eXBpY2FsbHkgdGhlIGxpYnJhcnkgbmFtZS4g
UmVxdWlyZWQgaWYgbm90IGxpYnJhcnkgcGF0aAorICAgICAgICAgICAgICAgICAgICAgICAgICBp
cyBnaXZlbi4KKyAgICBzb3VyY2VfZGlycyAgICAgICAgLS0gQSBsaXN0IG9mIHBhdGhzIHRvIGRp
cmVjdG9yaWVzIG9mIHNvdXJjZSBjb2RlIHRvIGJlIHNjYW5uZWQuCisgICAgICAgICAgICAgICAg
ICAgICAgICAgIFJlcXVpcmVkIGlmIGhlYWRlcnMgaXMgbm90IHNwZWNpZmllZC4KKyAgICBpZ25v
cmVkX2ZpbGVzICAgICAgLS0gQSBsaXN0IG9mIGZpbGVuYW1lcyB0byBpZ25vcmUgaW4gdGhlIHNv
dXJjZSBkaXJlY3RvcnkuIEl0IGlzCisgICAgICAgICAgICAgICAgICAgICAgICAgIG9ubHkgbmVj
ZXNzYXJ5IHRvIHByb3ZpZGUgdGhlIGJhc2VuYW1lcyBvZiB0aGVzZSBmaWxlcy4KKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgVHlwaWNhbGx5IGl0IGlzIGltcG9ydGFudCB0byBwcm92aWRlIGFu
IHVwZGF0ZWQgbGlzdCBvZgorICAgICAgICAgICAgICAgICAgICAgICAgICBpZ25vcmVkIGZpbGVz
IHRvIHByZXZlbnQgd2FybmluZ3MgYWJvdXQgdW5kb2N1bWVudGVkIHN5bWJvbHMuCisgICAgaGVh
ZGVycyAgICAgICAgICAgIC0tIEEgbGlzdCBvZiBwYXRocyB0byBoZWFkZXJzIHRvIGJlIHNjYW5u
ZWQuIFJlcXVpcmVkIGlmIHNvdXJjZV9kaXJzCisgICAgICAgICAgICAgICAgICAgICAgICAgIGlz
IG5vdCBzcGVjaWZpZWQuCisgICAgbmFtZXNwYWNlICAgICAgICAgIC0tIFRoZSBsaWJyYXJ5IG5h
bWVzcGFjZS4KKyAgICBkZWNvcmF0b3IgICAgICAgICAgLS0gSWYgYSBkZWNvcmF0b3IgaXMgdXNl
ZCB0byB1bmhpZGUgY2VydGFpbiBzeW1ib2xzIGluIGhlYWRlcgorICAgICAgICAgICAgICAgICAg
ICAgICAgICBmaWxlcyB0aGlzIHBhcmFtZXRlciBpcyByZXF1aXJlZCBmb3Igc3VjY2Vzc2Z1bCBz
Y2FubmluZy4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgKGRlZmF1bHQgJycpCisgICAgZGVw
cmVjYXRpb25fZ3VhcmQgIC0tIGd0a2RvYyB0cmllcyB0byBlbnN1cmUgdGhhdCBzeW1ib2xzIG1h
cmtlZCBhcyBkZXByZWNhdGVkCisgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZSBlbmNhc2Vk
IGluIHRoaXMgQyBwcmVwcm9jZXNzb3IgZGVmaW5lLiBUaGlzIGlzIHJlcXVpcmVkCisgICAgICAg
ICAgICAgICAgICAgICAgICAgIHRvIGF2b2lkIGd0a2RvYyB3YXJuaW5ncy4gKGRlZmF1bHQgJycp
CisgICAgY2ZsYWdzICAgICAgICAgICAgIC0tIFRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyBhbnkg
cHJlcHJvY2Vzc29yIGZsYWdzIG5lY2Vzc2FyeSBmb3IKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgYnVpbGRpbmcgdGhlIHNjYW5uZXIgYmluYXJ5IGR1cmluZyBndGtkb2Mtc2Nhbm9iai4gVHlw
aWNhbGx5CisgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMgaW5jbHVkZXMgYWxsIGFic29s
dXRlIGluY2x1ZGUgcGF0aHMgbmVjZXNzYXJ5IHRvIHJlc29sdmUKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgYWxsIGhlYWRlciBkZXBlbmRlbmNpZXMuIChkZWZhdWx0ICcnKQorICAgIGxkZmxh
Z3MgICAgICAgICAgICAtLSBUaGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgYW55IGxpbmtlciBmbGFn
cyBuZWNlc3NhcnkgZm9yCisgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1aWxkaW5nIHRoZSBz
Y2FubmVyIGJpbmFyeSBkdXJpbmcgZ3RrZG9jLXNjYW5vYmouIFR5cGljYWxseQorICAgICAgICAg
ICAgICAgICAgICAgICAgICB0aGlzIGluY2x1ZGVzICItbHlvdXJsaWJyYXJ5bmFtZSIuIChkZWZh
dWx0ICcnKQorICAgIGxpYnJhcnlfcGF0aCAgICAgICAtLSBUaGlzIHBhcmFtZXRlciBzcGVjaWZp
ZXMgdGhlIHBhdGggdG8gdGhlIGRpcmVjdG9yeSB3aGVyZSB5b3UKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgbGlicmFyeSByZXNpZGVzIHVzZWQgZm9yIGJ1aWxkaW5nIHRoZSBzY2FubmVyIGJp
bmFyeSBkdXJpbmcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgZ3RrZG9jLXNjYW5vYmouIChk
ZWZhdWx0ICcnKQorCisgICAgZG9jX2RpciAgICAgICAgICAgIC0tIFRoZSBwYXRoIHRvIG90aGVy
IGRvY3VtZW50YXRpb24gZmlsZXMgbmVjZXNzYXJ5IHRvIGJ1aWxkCisgICAgICAgICAgICAgICAg
ICAgICAgICAgIHRoZSBkb2N1bWVudGF0aW9uLiBUaGlzIGZpbGVzIGluIHRoaXMgZGlyZWN0b3J5
IGFzIHdlbGwgYXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGZpbGVzIGluIHRoZSAn
aHRtbCcgc3ViZGlyZWN0b3J5IHdpbGwgYmUgY29waWVkCisgICAgICAgICAgICAgICAgICAgICAg
ICAgIHJlY3Vyc2l2ZWx5IGludG8gdGhlIG91dHB1dCBkaXJlY3RvcnkuIChkZWZhdWx0ICcnKQor
ICAgIG1haW5fc2dtbF9maWxlICAgICAtLSBUaGUgcGF0aCBvciBuYW1lIChpZiBhIGRvY19kaXIg
aXMgZ2l2ZW4pIG9mIHRoZSBTR01MIGZpbGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdGhh
dCBpcyB0aGUgY29uc2lkZXJlZCB0aGUgbWFpbiBwYWdlIG9mIHlvdXIgZG9jdW1lbnRhdGlvbi4K
KyAgICAgICAgICAgICAgICAgICAgICAgICAgKGRlZmF1bHQ6IDxtb2R1bGVfbmFtZT4tZG9jcy5z
Z21sKQorICAgIHZlcnNpb24gICAgICAgICAgICAtLSBUaGUgdmVyc2lvbiBudW1iZXIgb2YgdGhl
IG1vZHVsZS4gSWYgdGhpcyBpcyBwcm92aWRlZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
YSB2ZXJzaW9uLnhtbCBmaWxlIGNvbnRhaW5pbmcgdGhlIHZlcnNpb24gd2lsbCBiZSBjcmVhdGVk
CisgICAgICAgICAgICAgICAgICAgICAgICAgIGluIHRoZSBvdXRwdXQgZGlyZWN0b3J5IGR1cmlu
ZyBkb2N1bWVudGF0aW9uIGdlbmVyYXRpb24uCisKKyAgICBpbnRlcmFjdGl2ZSAgICAgICAgLS0g
V2hldGhlciBvciBub3QgZXJyb3JzIG9yIHdhcm5pbmdzIHNob3VsZCBwcm9tcHQgdGhlIHVzZXIK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gY29udGludWUgb3Igbm90LiBXaGVuIHRoaXMg
dmFsdWUgaXMgZmFsc2UsIGdlbmVyYXRpb24KKyAgICAgICAgICAgICAgICAgICAgICAgICAgd2ls
bCBjb250aW51ZSBkZXNwaXRlIHdhcm5pbmdzLiAoZGVmYXVsdCBGYWxzZSkKKworICAgIHZpcnR1
YWxfcm9vdCAgICAgICAtLSBBIHRlbXBvcmFyeSBpbnN0YWxsYXRpb24gZGlyZWN0b3J5IHdoaWNo
IGlzIHVzZWQgYXMgdGhlIHJvb3QKKyAgICAgICAgICAgICAgICAgICAgICAgICAgd2hlcmUgdGhl
IGFjdHVhbCBpbnN0YWxsYXRpb24gcHJlZml4IGxpdmVzOyB0aGlzIGlzIG1vc3RseQorICAgICAg
ICAgICAgICAgICAgICAgICAgICB1c2VmdWwgZm9yIHBhY2thZ2VycywgYW5kIHNob3VsZCBiZSBz
ZXQgdG8gd2hhdCBpcyBnaXZlbiB0bworICAgICAgICAgICAgICAgICAgICAgICAgICBtYWtlIGlu
c3RhbGwgYXMgREVTVERJUi4KKyAgICAiIiIKKworICAgIGRlZiBfX2luaXRfXyhzZWxmLCBhcmdz
KToKKyAgICAgICAgc2VsZi52ZXJzaW9uID0gJycKKyAgICAgICAgc2VsZi52aXJ0dWFsX3Jvb3Qg
PSAnJworICAgICAgICBzZWxmLnByZWZpeCA9ICcnCisKKyAgICAgICAgIyBQYXJhbWV0ZXJzIHNw
ZWNpZmljIHRvIHNjYW5uaW5nLgorICAgICAgICBzZWxmLm1vZHVsZV9uYW1lID0gJycKKyAgICAg
ICAgc2VsZi5zb3VyY2VfZGlycyA9IFtdCisgICAgICAgIHNlbGYuaGVhZGVycyA9IFtdCisgICAg
ICAgIHNlbGYuaWdub3JlZF9maWxlcyA9IFtdCisgICAgICAgIHNlbGYubmFtZXNwYWNlID0gJycK
KyAgICAgICAgc2VsZi5kZWNvcmF0b3IgPSAnJworICAgICAgICBzZWxmLmRlcHJlY2F0aW9uX2d1
YXJkID0gJycKKworICAgICAgICAjIFBhcmFtZXRlcnMgc3BlY2lmaWMgdG8gZ3RrZG9jLXNjYW5v
YmouCisgICAgICAgIHNlbGYuY2ZsYWdzID0gJycKKyAgICAgICAgc2VsZi5sZGZsYWdzID0gJycK
KyAgICAgICAgc2VsZi5saWJyYXJ5X3BhdGggPSAnJworCisgICAgICAgICMgUGFyYW1ldGVycyBz
cGVjaWZpYyB0byBnZW5lcmF0aW9uLgorICAgICAgICBzZWxmLm91dHB1dF9kaXIgPSAnJworICAg
ICAgICBzZWxmLmRvY19kaXIgPSAnJworICAgICAgICBzZWxmLm1haW5fc2dtbF9maWxlID0gJycK
KworICAgICAgICAjIFBhcmFtZXRlcnMgc3BlY2lmaWMgdG8gZ3RrZG9jLWZpeHhyZWYuCisgICAg
ICAgIHNlbGYuY3Jvc3NfcmVmZXJlbmNlX2RlcHMgPSBbXQorCisgICAgICAgIHNlbGYuaW50ZXJh
Y3RpdmUgPSBGYWxzZQorCisgICAgICAgIHNlbGYubG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIo
J2d0a2RvYycpCisKKyAgICAgICAgZm9yIGtleSwgdmFsdWUgaW4gaXRlcihhcmdzLml0ZW1zKCkp
OgorICAgICAgICAgICAgc2V0YXR0cihzZWxmLCBrZXksIHZhbHVlKQorCisgICAgICAgIGlmIG5v
dCBnZXRhdHRyKHNlbGYsICdvdXRwdXRfZGlyJyk6CisgICAgICAgICAgICByYWlzZSBFeGNlcHRp
b24oJ291dHB1dF9kaXIgbm90IHNwZWNpZmllZC4nKQorICAgICAgICBpZiBub3QgZ2V0YXR0cihz
ZWxmLCAnbW9kdWxlX25hbWUnKToKKyAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbignbW9kdWxl
X25hbWUgbm90IHNwZWNpZmllZC4nKQorICAgICAgICBpZiBub3QgZ2V0YXR0cihzZWxmLCAnc291
cmNlX2RpcnMnKSBhbmQgbm90IGdldGF0dHIoc2VsZiwgJ2hlYWRlcnMnKToKKyAgICAgICAgICAg
IHJhaXNlIEV4Y2VwdGlvbignTmVpdGhlciBzb3VyY2VfZGlycyBub3IgaGVhZGVycyBzcGVjaWZp
ZWQuJyAlIGtleSkKKworICAgICAgICAjIE1ha2UgYWxsIHBhdGhzIGFic29sdXRlIGluIGNhc2Ug
d2Ugd2VyZSBwYXNzZWQgcmVsYXRpdmUgcGF0aHMsIHNpbmNlCisgICAgICAgICMgd2UgY2hhbmdl
IHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IHdoZW4gZXhlY3V0aW5nIHN1YmNvbW1hbmRz
LgorICAgICAgICBzZWxmLm91dHB1dF9kaXIgPSBvcy5wYXRoLmFic3BhdGgoc2VsZi5vdXRwdXRf
ZGlyKQorICAgICAgICBzZWxmLnNvdXJjZV9kaXJzID0gW29zLnBhdGguYWJzcGF0aCh4KSBmb3Ig
eCBpbiBzZWxmLnNvdXJjZV9kaXJzXQorICAgICAgICBzZWxmLmhlYWRlcnMgPSBbb3MucGF0aC5h
YnNwYXRoKHgpIGZvciB4IGluIHNlbGYuaGVhZGVyc10KKyAgICAgICAgaWYgc2VsZi5saWJyYXJ5
X3BhdGg6CisgICAgICAgICAgICBzZWxmLmxpYnJhcnlfcGF0aCA9IG9zLnBhdGguYWJzcGF0aChz
ZWxmLmxpYnJhcnlfcGF0aCkKKworICAgICAgICBpZiBub3Qgc2VsZi5tYWluX3NnbWxfZmlsZToK
KyAgICAgICAgICAgIHNlbGYubWFpbl9zZ21sX2ZpbGUgPSBzZWxmLm1vZHVsZV9uYW1lICsgIi1k
b2NzLnNnbWwiCisKKyAgICBkZWYgZ2VuZXJhdGUoc2VsZiwgaHRtbD1UcnVlKToKKyAgICAgICAg
c2VsZi5zYXdfd2FybmluZ3MgPSBGYWxzZQorCisgICAgICAgIHNlbGYuX2NvcHlfZG9jX2ZpbGVz
X3RvX291dHB1dF9kaXIoaHRtbCkKKyAgICAgICAgc2VsZi5fd3JpdGVfdmVyc2lvbl94bWwoKQor
ICAgICAgICBzZWxmLl9ydW5fZ3RrZG9jX3NjYW4oKQorICAgICAgICBzZWxmLl9ydW5fZ3RrZG9j
X3NjYW5nb2JqKCkKKyAgICAgICAgc2VsZi5fcnVuX2d0a2RvY19ta2RiKCkKKworICAgICAgICBp
ZiBub3QgaHRtbDoKKyAgICAgICAgICAgIHJldHVybgorCisgICAgICAgIHNlbGYuX3J1bl9ndGtk
b2NfbWtodG1sKCkKKyAgICAgICAgc2VsZi5fcnVuX2d0a2RvY19maXh4cmVmKCkKKworICAgIGRl
ZiBfZGVsZXRlX2ZpbGVfaWZfZXhpc3RzKHNlbGYsIHBhdGgpOgorICAgICAgICBpZiBub3Qgb3Mu
YWNjZXNzKHBhdGgsIG9zLkZfT0sgfCBvcy5SX09LKToKKyAgICAgICAgICAgIHJldHVybgorICAg
ICAgICBzZWxmLmxvZ2dlci5kZWJ1ZygnZGVsZXRpbmcgJXMnLCBwYXRoKQorICAgICAgICBvcy51
bmxpbmsocGF0aCkKKworICAgIGRlZiBfY3JlYXRlX2RpcmVjdG9yeV9pZl9ub25leGlzdGVudChz
ZWxmLCBwYXRoKToKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgb3MubWFrZWRpcnMocGF0aCkK
KyAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZXJyb3I6CisgICAgICAgICAgICBpZiBlcnJvci5l
cnJubyAhPSBlcnJuby5FRVhJU1Q6CisgICAgICAgICAgICAgICAgcmFpc2UKKworICAgIGRlZiBf
cmFpc2VfZXhjZXB0aW9uX2lmX2ZpbGVfaW5hY2Nlc3NpYmxlKHNlbGYsIHBhdGgpOgorICAgICAg
ICBpZiBub3Qgb3MucGF0aC5leGlzdHMocGF0aCkgb3Igbm90IG9zLmFjY2VzcyhwYXRoLCBvcy5S
X09LKToKKyAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigiQ291bGQgbm90IGFjY2VzcyBmaWxl
IGF0OiAlcyIgJSBwYXRoKQorCisgICAgZGVmIF9vdXRwdXRfaGFzX3dhcm5pbmdzKHNlbGYsIG91
dHB1dHMpOgorICAgICAgICBmb3Igb3V0cHV0IGluIG91dHB1dHM6CisgICAgICAgICAgICBpZiBv
dXRwdXQgYW5kIG91dHB1dC5maW5kKCd3YXJuaW5nJyk6CisgICAgICAgICAgICAgICAgcmV0dXJu
IFRydWUKKyAgICAgICAgcmV0dXJuIEZhbHNlCisKKyAgICBkZWYgX2Fza195ZXNfb3Jfbm9fcXVl
c3Rpb24oc2VsZiwgcXVlc3Rpb24pOgorICAgICAgICBpZiBub3Qgc2VsZi5pbnRlcmFjdGl2ZToK
KyAgICAgICAgICAgIHJldHVybiBUcnVlCisKKyAgICAgICAgcXVlc3Rpb24gKz0gJyBbeS9OXSAn
CisgICAgICAgIGFuc3dlciA9IE5vbmUKKyAgICAgICAgd2hpbGUgYW5zd2VyICE9ICd5JyBhbmQg
YW5zd2VyICE9ICduJyBhbmQgYW5zd2VyICE9ICcnOgorICAgICAgICAgICAgYW5zd2VyID0gcmF3
X2lucHV0KHF1ZXN0aW9uKS5sb3dlcigpCisgICAgICAgIHJldHVybiBhbnN3ZXIgPT0gJ3knCisK
KyAgICBkZWYgX3J1bl9jb21tYW5kKHNlbGYsIGFyZ3MsIGVudj1Ob25lLCBjd2Q9Tm9uZSwgcHJp
bnRfb3V0cHV0PVRydWUsIGlnbm9yZV93YXJuaW5ncz1GYWxzZSk6CisgICAgICAgIGlmIHByaW50
X291dHB1dDoKKyAgICAgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCJSdW5uaW5nICVzIiwgYXJn
c1swXSkKKyAgICAgICAgc2VsZi5sb2dnZXIuZGVidWcoIkZ1bGwgY29tbWFuZCBhcmdzOiAlcyIs
IHN0cihhcmdzKSkKKworICAgICAgICBwcm9jZXNzID0gc3VicHJvY2Vzcy5Qb3BlbihhcmdzLCBl
bnY9ZW52LCBjd2Q9Y3dkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGRv
dXQ9c3VicHJvY2Vzcy5QSVBFLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dGRlcnI9c3VicHJvY2Vzcy5QSVBFKQorICAgICAgICBzdGRvdXQsIHN0ZGVyciA9IFtiLmRlY29k
ZSgidXRmLTgiKSBmb3IgYiBpbiBwcm9jZXNzLmNvbW11bmljYXRlKCldCisKKyAgICAgICAgaWYg
cHJpbnRfb3V0cHV0OgorICAgICAgICAgICAgaWYgc3Rkb3V0OgorICAgICAgICAgICAgICAgIHRy
eToKKyAgICAgICAgICAgICAgICAgICAgc3lzLnN0ZG91dC53cml0ZShzdGRvdXQuZW5jb2RlKCJ1
dGYtOCIpKQorICAgICAgICAgICAgICAgIGV4Y2VwdCBVbmljb2RlRGVjb2RlRXJyb3I6CisgICAg
ICAgICAgICAgICAgICAgIHN5cy5zdGRvdXQud3JpdGUoc3Rkb3V0KQorICAgICAgICAgICAgaWYg
c3RkZXJyOgorICAgICAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICAgICAgc3lzLnN0
ZGVyci53cml0ZShzdGRlcnIuZW5jb2RlKCJ1dGYtOCIpKQorICAgICAgICAgICAgICAgIGV4Y2Vw
dCBVbmljb2RlRGVjb2RlRXJyb3I6CisgICAgICAgICAgICAgICAgICAgIHN5cy5zdGRlcnIud3Jp
dGUoc3RkZXJyKQorCisgICAgICAgIGlmIHByb2Nlc3MucmV0dXJuY29kZSAhPSAwOgorICAgICAg
ICAgICAgcmFpc2UgRXhjZXB0aW9uKCclcyBwcm9kdWNlZCBhIG5vbi16ZXJvIHJldHVybiBjb2Rl
ICVpJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlIChhcmdzWzBdLCBwcm9jZXNzLnJl
dHVybmNvZGUpKQorCisgICAgICAgIGlmIG5vdCBpZ25vcmVfd2FybmluZ3MgYW5kICgnd2Fybmlu
ZycgaW4gc3RkZXJyIG9yICd3YXJuaW5nJyBpbiBzdGRvdXQpOgorICAgICAgICAgICAgc2VsZi5z
YXdfd2FybmluZ3MgPSBUcnVlCisgICAgICAgICAgICBpZiBub3Qgc2VsZi5fYXNrX3llc19vcl9u
b19xdWVzdGlvbignJXMgcHJvZHVjZWQgd2FybmluZ3MsICcKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0cnkgdG8gY29udGludWU/JyAlIGFyZ3NbMF0p
OgorICAgICAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbignJXMgc3RlcCBmYWlsZWQnICUgYXJn
c1swXSkKKworICAgICAgICByZXR1cm4gc3Rkb3V0LnN0cmlwKCkKKworICAgIGRlZiBfY29weV9k
b2NfZmlsZXNfdG9fb3V0cHV0X2RpcihzZWxmLCBodG1sPVRydWUpOgorICAgICAgICBpZiBub3Qg
c2VsZi5kb2NfZGlyOgorICAgICAgICAgICAgc2VsZi5sb2dnZXIuaW5mbygnTm90IGNvcHlpbmcg
YW55IGZpbGVzIGZyb20gZG9jIGRpcmVjdG9yeSwnCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICcgYmVjYXVzZSBubyBkb2MgZGlyZWN0b3J5IGdpdmVuLicpCisgICAgICAgICAgICByZXR1
cm4KKworICAgICAgICBkZWYgY29weV9maWxlX3JlcGxhY2luZ19leGlzdGluZyhzcmMsIGRlc3Qp
OgorICAgICAgICAgICAgaWYgb3MucGF0aC5pc2RpcihzcmMpOgorICAgICAgICAgICAgICAgIHNl
bGYubG9nZ2VyLmRlYnVnKCdza2lwcGVkIGRpcmVjdG9yeSAlcycsICBzcmMpCisgICAgICAgICAg
ICAgICAgcmV0dXJuCisgICAgICAgICAgICBpZiBub3Qgb3MuYWNjZXNzKHNyYywgb3MuRl9PSyB8
IG9zLlJfT0spOgorICAgICAgICAgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCdza2lwcGVkIHVu
cmVhZGFibGUgJXMnLCBzcmMpCisgICAgICAgICAgICAgICAgcmV0dXJuCisKKyAgICAgICAgICAg
IHNlbGYuX2RlbGV0ZV9maWxlX2lmX2V4aXN0cyhkZXN0KQorCisgICAgICAgICAgICBzZWxmLmxv
Z2dlci5kZWJ1ZygnY3JlYXRlZCAlcycsIGRlc3QpCisgICAgICAgICAgICB0cnk6CisgICAgICAg
ICAgICAgICAgb3MubGluayhzcmMsIGRlc3QpCisgICAgICAgICAgICBleGNlcHQgT1NFcnJvcjoK
KyAgICAgICAgICAgICAgICBvcy5zeW1saW5rKHNyYywgZGVzdCkKKworICAgICAgICBkZWYgY29w
eV9hbGxfZmlsZXNfaW5fZGlyZWN0b3J5KHNyYywgZGVzdCk6CisgICAgICAgICAgICBmb3IgcGF0
aCBpbiBvcy5saXN0ZGlyKHNyYyk6CisgICAgICAgICAgICAgICAgY29weV9maWxlX3JlcGxhY2lu
Z19leGlzdGluZyhvcy5wYXRoLmpvaW4oc3JjLCBwYXRoKSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIG9zLnBhdGguam9pbihkZXN0LCBwYXRoKSkKKworICAg
ICAgICBzZWxmLmxvZ2dlci5kZWJ1ZygnQ29weWluZyB0ZW1wbGF0ZSBmaWxlcyB0byBvdXRwdXQg
ZGlyZWN0b3J5Li4uJykKKyAgICAgICAgc2VsZi5fY3JlYXRlX2RpcmVjdG9yeV9pZl9ub25leGlz
dGVudChzZWxmLm91dHB1dF9kaXIpCisgICAgICAgIGNvcHlfYWxsX2ZpbGVzX2luX2RpcmVjdG9y
eShzZWxmLmRvY19kaXIsIHNlbGYub3V0cHV0X2RpcikKKworICAgIGRlZiBfd3JpdGVfdmVyc2lv
bl94bWwoc2VsZik6CisgICAgICAgIGlmIG5vdCBzZWxmLnZlcnNpb246CisgICAgICAgICAgICBz
ZWxmLmxvZ2dlci5pbmZvKCdObyB2ZXJzaW9uIHNwZWNpZmllZCwgc28gbm90IHdyaXRpbmcgdmVy
c2lvbi54bWwnKQorICAgICAgICAgICAgcmV0dXJuCisKKyAgICAgICAgdmVyc2lvbl94bWxfcGF0
aCA9IG9zLnBhdGguam9pbihzZWxmLm91dHB1dF9kaXIsICd2ZXJzaW9uLnhtbCcpCisgICAgICAg
IHNyY192ZXJzaW9uX3htbF9wYXRoID0gb3MucGF0aC5qb2luKHNlbGYuZG9jX2RpciwgJ3ZlcnNp
b24ueG1sJykKKworICAgICAgICAjIERvbid0IG92ZXJ3cml0ZSB2ZXJzaW9uLnhtbCBpZiBpdCB3
YXMgaW4gdGhlIGRvYyBkaXJlY3RvcnkuCisgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKHZlcnNp
b25feG1sX3BhdGgpIGFuZCBcCisgICAgICAgICAgIG9zLnBhdGguZXhpc3RzKHNyY192ZXJzaW9u
X3htbF9wYXRoKToKKyAgICAgICAgICAgIHJldHVybgorCisgICAgICAgIG91dHB1dF9maWxlID0g
b3Blbih2ZXJzaW9uX3htbF9wYXRoLCAndycpCisgICAgICAgIG91dHB1dF9maWxlLndyaXRlKHNl
bGYudmVyc2lvbikKKyAgICAgICAgb3V0cHV0X2ZpbGUuY2xvc2UoKQorCisgICAgZGVmIF9pZ25v
cmVkX2ZpbGVzX2Jhc2VuYW1lcyhzZWxmKToKKyAgICAgICAgcmV0dXJuICcgJy5qb2luKFtvcy5w
YXRoLmJhc2VuYW1lKHgpIGZvciB4IGluIHNlbGYuaWdub3JlZF9maWxlc10pCisKKyAgICBkZWYg
X3J1bl9ndGtkb2Nfc2NhbihzZWxmKToKKyAgICAgICAgYXJncyA9IFsnZ3RrZG9jLXNjYW4nLAor
ICAgICAgICAgICAgICAgICctLW1vZHVsZT0lcycgJSBzZWxmLm1vZHVsZV9uYW1lLAorICAgICAg
ICAgICAgICAgICctLXJlYnVpbGQtdHlwZXMnXQorCisgICAgICAgIGlmIG5vdCBzZWxmLmhlYWRl
cnM6CisgICAgICAgICAgICAjIEVhY2ggc291cmNlIGRpcmVjdG9yeSBzaG91bGQgYmUgaGF2ZSBp
dHMgb3duICItLXNvdXJjZS1kaXI9IiBwcmVmaXguCisgICAgICAgICAgICBhcmdzLmV4dGVuZChb
Jy0tc291cmNlLWRpcj0lcycgJSBwYXRoIGZvciBwYXRoIGluIHNlbGYuc291cmNlX2RpcnNdKQor
CisgICAgICAgIGlmIHNlbGYuZGVjb3JhdG9yOgorICAgICAgICAgICAgYXJncy5hcHBlbmQoJy0t
aWdub3JlLWRlY29yYXRvcnM9JXMnICUgc2VsZi5kZWNvcmF0b3IpCisgICAgICAgIGlmIHNlbGYu
ZGVwcmVjYXRpb25fZ3VhcmQ6CisgICAgICAgICAgICBhcmdzLmFwcGVuZCgnLS1kZXByZWNhdGVk
LWd1YXJkcz0lcycgJSBzZWxmLmRlcHJlY2F0aW9uX2d1YXJkKQorICAgICAgICBpZiBzZWxmLm91
dHB1dF9kaXI6CisgICAgICAgICAgICBhcmdzLmFwcGVuZCgnLS1vdXRwdXQtZGlyPSVzJyAlIHNl
bGYub3V0cHV0X2RpcikKKworICAgICAgICAjIFdlIG9ubHkgbmVlZCB0byBwYXNzIHRoZSBsaXN0
IG9mIGlnbm9yZWQgZmlsZXMgaWYgdGhlIHdlIGFyZSBub3QgdXNpbmcgYW4gZXhwbGljaXQgbGlz
dCBvZiBoZWFkZXJzLgorICAgICAgICBpZiBub3Qgc2VsZi5oZWFkZXJzOgorICAgICAgICAgICAg
IyBndGtkb2Mtc2NhbiB3YW50cyB0aGUgYmFzZW5hbWVzIG9mIGlnbm9yZWQgaGVhZGVycywgc28g
c3RyaXAgdGhlCisgICAgICAgICAgICAjIGRpcm5hbWUuIERpZmZlcmVudCBmcm9tICItLXNvdXJj
ZS1kaXIiLCB0aGUgaGVhZGVycyBzaG91bGQgYmUKKyAgICAgICAgICAgICMgc3BlY2lmaWVkIGFz
IG9uZSBsb25nIHN0cmluZy4KKyAgICAgICAgICAgIGlnbm9yZWRfZmlsZXNfYmFzZW5hbWVzID0g
c2VsZi5faWdub3JlZF9maWxlc19iYXNlbmFtZXMoKQorICAgICAgICAgICAgaWYgaWdub3JlZF9m
aWxlc19iYXNlbmFtZXM6CisgICAgICAgICAgICAgICAgYXJncy5hcHBlbmQoJy0taWdub3JlLWhl
YWRlcnM9JXMnICUgaWdub3JlZF9maWxlc19iYXNlbmFtZXMpCisKKyAgICAgICAgaWYgc2VsZi5o
ZWFkZXJzOgorICAgICAgICAgICAgYXJncy5leHRlbmQoc2VsZi5oZWFkZXJzKQorCisgICAgICAg
IHNlbGYuX3J1bl9jb21tYW5kKGFyZ3MpCisKKyAgICBkZWYgX3J1bl9ndGtkb2Nfc2NhbmdvYmoo
c2VsZik6CisgICAgICAgIGVudiA9IG9zLmVudmlyb24KKyAgICAgICAgbGRmbGFncyA9IHNlbGYu
bGRmbGFncworICAgICAgICBpZiBzZWxmLmxpYnJhcnlfcGF0aDoKKyAgICAgICAgICAgIGFkZGl0
aW9uYWxfbGRmbGFncyA9ICcnCisgICAgICAgICAgICBmb3IgYXJnIGluIGVudi5nZXQoJ0xERkxB
R1MnLCAnJykuc3BsaXQoJyAnKToKKyAgICAgICAgICAgICAgICBpZiBhcmcuc3RhcnRzd2l0aCgn
LUwnKToKKyAgICAgICAgICAgICAgICAgICAgYWRkaXRpb25hbF9sZGZsYWdzID0gJyVzICVzJyAl
IChhZGRpdGlvbmFsX2xkZmxhZ3MsIGFyZykKKyAgICAgICAgICAgIGxkZmxhZ3MgPSAnICItTCVz
IiAlcyAnICUgKHNlbGYubGlicmFyeV9wYXRoLCBhZGRpdGlvbmFsX2xkZmxhZ3MpICsgbGRmbGFn
cworICAgICAgICAgICAgY3VycmVudF9sZF9saWJyYXJ5X3BhdGggPSBlbnYuZ2V0KCdMRF9MSUJS
QVJZX1BBVEgnKQorICAgICAgICAgICAgaWYgY3VycmVudF9sZF9saWJyYXJ5X3BhdGg6CisgICAg
ICAgICAgICAgICAgZW52WydMRF9MSUJSQVJZX1BBVEgnXSA9ICclczolcycgJSAoc2VsZi5saWJy
YXJ5X3BhdGgsIGN1cnJlbnRfbGRfbGlicmFyeV9wYXRoKQorICAgICAgICAgICAgZWxzZToKKyAg
ICAgICAgICAgICAgICBlbnZbJ0xEX0xJQlJBUllfUEFUSCddID0gc2VsZi5saWJyYXJ5X3BhdGgK
KworICAgICAgICBpZiBsZGZsYWdzOgorICAgICAgICAgICAgZW52WydMREZMQUdTJ10gPSAnJXMg
JXMnICUgKGxkZmxhZ3MsIGVudi5nZXQoJ0xERkxBR1MnLCAnJykpCisgICAgICAgIGlmIHNlbGYu
Y2ZsYWdzOgorICAgICAgICAgICAgZW52WydDRkxBR1MnXSA9ICclcyAlcycgJSAoc2VsZi5jZmxh
Z3MsIGVudi5nZXQoJ0NGTEFHUycsICcnKSkKKworICAgICAgICBpZiAnQ0ZMQUdTJyBpbiBlbnY6
CisgICAgICAgICAgICBzZWxmLmxvZ2dlci5kZWJ1ZygnQ0ZMQUdTPSVzJywgZW52WydDRkxBR1Mn
XSkKKyAgICAgICAgaWYgJ0xERkxBR1MnIGluIGVudjoKKyAgICAgICAgICAgIHNlbGYubG9nZ2Vy
LmRlYnVnKCdMREZMQUdTICVzJywgZW52WydMREZMQUdTJ10pCisgICAgICAgIHNlbGYuX3J1bl9j
b21tYW5kKFsnZ3RrZG9jLXNjYW5nb2JqJywgJy0tbW9kdWxlPSVzJyAlIHNlbGYubW9kdWxlX25h
bWVdLAorICAgICAgICAgICAgICAgICAgICAgICAgICBlbnY9ZW52LCBjd2Q9c2VsZi5vdXRwdXRf
ZGlyKQorCisgICAgZGVmIF9ydW5fZ3RrZG9jX21rZGIoc2VsZik6CisgICAgICAgIHNnbWxfZmls
ZSA9IG9zLnBhdGguam9pbihzZWxmLm91dHB1dF9kaXIsIHNlbGYubWFpbl9zZ21sX2ZpbGUpCisg
ICAgICAgIHNlbGYuX3JhaXNlX2V4Y2VwdGlvbl9pZl9maWxlX2luYWNjZXNzaWJsZShzZ21sX2Zp
bGUpCisKKyAgICAgICAgYXJncyA9IFsnZ3RrZG9jLW1rZGInLAorICAgICAgICAgICAgICAgICct
LW1vZHVsZT0lcycgJSBzZWxmLm1vZHVsZV9uYW1lLAorICAgICAgICAgICAgICAgICctLW1haW4t
c2dtbC1maWxlPSVzJyAlIHNnbWxfZmlsZSwKKyAgICAgICAgICAgICAgICAnLS1zb3VyY2Utc3Vm
Zml4ZXM9aCxjLGNwcCxjYycsCisgICAgICAgICAgICAgICAgJy0tb3V0cHV0LWZvcm1hdD14bWwn
LAorICAgICAgICAgICAgICAgICctLXNnbWwtbW9kZSddCisKKyAgICAgICAgaWYgc2VsZi5uYW1l
c3BhY2U6CisgICAgICAgICAgICBhcmdzLmFwcGVuZCgnLS1uYW1lLXNwYWNlPSVzJyAlIHNlbGYu
bmFtZXNwYWNlKQorCisgICAgICAgIGlnbm9yZWRfZmlsZXNfYmFzZW5hbWVzID0gc2VsZi5faWdu
b3JlZF9maWxlc19iYXNlbmFtZXMoKQorICAgICAgICBpZiBpZ25vcmVkX2ZpbGVzX2Jhc2VuYW1l
czoKKyAgICAgICAgICAgIGFyZ3MuYXBwZW5kKCctLWlnbm9yZS1maWxlcz0lcycgJSBpZ25vcmVk
X2ZpbGVzX2Jhc2VuYW1lcykKKworICAgICAgICAjIEVhY2ggZGlyZWN0b3J5IHNob3VsZCBiZSBo
YXZlIGl0cyBvd24gIi0tc291cmNlLWRpcj0iIHByZWZpeC4KKyAgICAgICAgYXJncy5leHRlbmQo
WyctLXNvdXJjZS1kaXI9JXMnICUgcGF0aCBmb3IgcGF0aCBpbiBzZWxmLnNvdXJjZV9kaXJzXSkK
KyAgICAgICAgc2VsZi5fcnVuX2NvbW1hbmQoYXJncywgY3dkPXNlbGYub3V0cHV0X2RpcikKKwor
ICAgIGRlZiBfcnVuX2d0a2RvY19ta2h0bWwoc2VsZik6CisgICAgICAgICMgZ3RrZG9jLWZpeHhy
ZWYgZXhwZWN0cyB0aGUgcGF0aHMgdG8gYmUgaHRtbC9tb2R1bGVuYW1lLgorICAgICAgICBodG1s
X2Rlc3RfZGlyID0gb3MucGF0aC5qb2luKHNlbGYub3V0cHV0X2RpciwgJ2h0bWwnLCBzZWxmLm1v
ZHVsZV9uYW1lKQorICAgICAgICBzZWxmLl9jcmVhdGVfZGlyZWN0b3J5X2lmX25vbmV4aXN0ZW50
KGh0bWxfZGVzdF9kaXIpCisgICAgICAgIGlmIG5vdCBvcy5wYXRoLmlzZGlyKGh0bWxfZGVzdF9k
aXIpOgorICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCIlcyBpcyBub3QgYSBkaXJlY3Rvcnks
IGNvdWxkIG5vdCBnZW5lcmF0ZSBIVE1MIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICUg
aHRtbF9kZXN0X2RpcikKKyAgICAgICAgZWxpZiBub3Qgb3MuYWNjZXNzKGh0bWxfZGVzdF9kaXIs
IG9zLlhfT0sgfCBvcy5SX09LIHwgb3MuV19PSyk6CisgICAgICAgICAgICByYWlzZSBFeGNlcHRp
b24oIkNvdWxkIG5vdCBhY2Nlc3MgJXMgdG8gZ2VuZXJhdGUgSFRNTCIKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAlIGh0bWxfZGVzdF9kaXIpCisKKyAgICAgICAgIyBndGtkb2MtbWtodG1s
IGV4cGVjdHMgdGhlIFNHTUwgcGF0aCB0byBiZSBhYnNvbHV0ZS4KKyAgICAgICAgc2dtbF9maWxl
ID0gb3MucGF0aC5qb2luKG9zLnBhdGguYWJzcGF0aChzZWxmLm91dHB1dF9kaXIpLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5tYWluX3NnbWxfZmlsZSkKKyAgICAgICAg
c2VsZi5fcmFpc2VfZXhjZXB0aW9uX2lmX2ZpbGVfaW5hY2Nlc3NpYmxlKHNnbWxfZmlsZSkKKwor
ICAgICAgICBzZWxmLl9ydW5fY29tbWFuZChbJ2d0a2RvYy1ta2h0bWwnLCBzZWxmLm1vZHVsZV9u
YW1lLCBzZ21sX2ZpbGVdLAorICAgICAgICAgICAgICAgICAgICAgICAgICBjd2Q9aHRtbF9kZXN0
X2RpcikKKworICAgIGRlZiBfcnVuX2d0a2RvY19maXh4cmVmKHNlbGYpOgorICAgICAgICBhcmdz
ID0gWydndGtkb2MtZml4eHJlZicsCisgICAgICAgICAgICAgICAgJy0tbW9kdWxlPSVzJyAlIHNl
bGYubW9kdWxlX25hbWUsCisgICAgICAgICAgICAgICAgJy0tbW9kdWxlLWRpcj1odG1sLyVzJyAl
IHNlbGYubW9kdWxlX25hbWVdCisgICAgICAgIGFyZ3MuZXh0ZW5kKFsnLS1leHRyYS1kaXI9JXMn
ICUgZXh0cmFfZGlyIGZvciBleHRyYV9kaXIgaW4gc2VsZi5jcm9zc19yZWZlcmVuY2VfZGVwc10p
CisgICAgICAgIHNlbGYuX3J1bl9jb21tYW5kKGFyZ3MsIGN3ZD1zZWxmLm91dHB1dF9kaXIsIGln
bm9yZV93YXJuaW5ncz1UcnVlKQorCisgICAgICAgICMgZ3RrZG9jLWZpeHhyZWYgaGFzIHNvbWUg
cHJlZGVmaW5lZCBsaW5rcyBmb3Igd2hpY2ggaXQgYWx3YXlzIHVzZXMgYWJzb2x1dGUgcGF0aHMu
CisgICAgICAgIGh0bWxfZGlyX3ByZWZpeCA9IG9zLnBhdGguam9pbihzZWxmLnZpcnR1YWxfcm9v
dCArIHNlbGYucHJlZml4LCAnc2hhcmUnLCAnZ3RrLWRvYycsICdodG1sJykKKyAgICAgICAgbW9k
dWxlX2RpciA9IG9zLnBhdGguam9pbihzZWxmLm91dHB1dF9kaXIsICdodG1sJywgc2VsZi5tb2R1
bGVfbmFtZSkKKyAgICAgICAgZm9yIGVudHJ5IGluIG9zLmxpc3RkaXIobW9kdWxlX2Rpcik6Cisg
ICAgICAgICAgICBpZiBub3QgZW50cnkuZW5kc3dpdGgoJy5odG1sJyk6CisgICAgICAgICAgICAg
ICAgY29udGludWUKKworICAgICAgICAgICAgZmlsZW5hbWUgPSBvcy5wYXRoLmpvaW4obW9kdWxl
X2RpciwgZW50cnkpCisgICAgICAgICAgICBjb250ZW50cyA9ICcnCisgICAgICAgICAgICB3aXRo
IGNvZGVjcy5vcGVuKGZpbGVuYW1lLCAncicsIGVuY29kaW5nPSd1dGYtOCcpIGFzIGY6CisgICAg
ICAgICAgICAgICAgY29udGVudHMgPSBmLnJlYWQoKQorCisgICAgICAgICAgICBpZiBub3QgaHRt
bF9kaXJfcHJlZml4IGluIGNvbnRlbnRzOgorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisKKyAg
ICAgICAgICAgIHRtcF9maWxlbmFtZSA9IGZpbGVuYW1lICsgJy5uZXcnCisgICAgICAgICAgICBu
ZXdfY29udGVudHMgPSBjb250ZW50cy5yZXBsYWNlKGh0bWxfZGlyX3ByZWZpeCwgJy4uJykKKyAg
ICAgICAgICAgIHdpdGggY29kZWNzLm9wZW4odG1wX2ZpbGVuYW1lLCAndycsIGVuY29kaW5nPSd1
dGYtOCcpIGFzIGY6CisgICAgICAgICAgICAgICAgZi53cml0ZShuZXdfY29udGVudHMpCisKKyAg
ICAgICAgICAgIG9zLnJlbmFtZSh0bXBfZmlsZW5hbWUsIGZpbGVuYW1lKQorCisgICAgZGVmIHJl
YmFzZV9pbnN0YWxsZWRfZG9jcyhzZWxmKToKKyAgICAgICAgaWYgbm90IG9zLnBhdGguaXNkaXIo
c2VsZi5vdXRwdXRfZGlyKToKKyAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigiVHJpZWQgdG8g
cmViYXNlIGRvY3VtZW50YXRpb24gYmVmb3JlIGdlbmVyYXRpbmcgaXQuIikKKyAgICAgICAgaHRt
bF9kaXIgPSBvcy5wYXRoLmpvaW4oc2VsZi52aXJ0dWFsX3Jvb3QgKyBzZWxmLnByZWZpeCwgJ3No
YXJlJywgJ2d0ay1kb2MnLCAnaHRtbCcsIHNlbGYubW9kdWxlX25hbWUpCisgICAgICAgIGlmIG5v
dCBvcy5wYXRoLmlzZGlyKGh0bWxfZGlyKToKKyAgICAgICAgICAgIHJldHVybgorICAgICAgICBh
cmdzID0gWydndGtkb2MtcmViYXNlJywKKyAgICAgICAgICAgICAgICAnLS1yZWxhdGl2ZScsCisg
ICAgICAgICAgICAgICAgJy0taHRtbC1kaXI9JXMnICUgaHRtbF9kaXJdCisgICAgICAgIGFyZ3Mu
ZXh0ZW5kKFsnLS1vdGhlci1kaXI9JXMnICUgZXh0cmFfZGlyIGZvciBleHRyYV9kaXIgaW4gc2Vs
Zi5jcm9zc19yZWZlcmVuY2VfZGVwc10pCisgICAgICAgIGlmIHNlbGYudmlydHVhbF9yb290Ogor
ICAgICAgICAgICAgYXJncy5leHRlbmQoWyctLWRlc3QtZGlyPSVzJyAlIHNlbGYudmlydHVhbF9y
b290XSkKKyAgICAgICAgc2VsZi5fcnVuX2NvbW1hbmQoYXJncywgY3dkPXNlbGYub3V0cHV0X2Rp
cikKKworICAgIGRlZiBhcGlfbWlzc2luZ19kb2N1bWVudGF0aW9uKHNlbGYpOgorICAgICAgICB1
bnVzZWRfZG9jX2ZpbGUgPSBvcy5wYXRoLmpvaW4oc2VsZi5vdXRwdXRfZGlyLCBzZWxmLm1vZHVs
ZV9uYW1lICsgIi11bnVzZWQudHh0IikKKyAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKHVu
dXNlZF9kb2NfZmlsZSkgb3Igbm90IG9zLmFjY2Vzcyh1bnVzZWRfZG9jX2ZpbGUsIG9zLlJfT0sp
OgorICAgICAgICAgICAgcmV0dXJuIFtdCisgICAgICAgIHJldHVybiBvcGVuKHVudXNlZF9kb2Nf
ZmlsZSkucmVhZCgpLnNwbGl0bGluZXMoKQorCisKK2NsYXNzIFBrZ0NvbmZpZ0dUS0RvYyhHVEtE
b2MpOgorCisgICAgIiIiQ2xhc3MgcmVhZHMgYSBsaWJyYXJ5J3MgcGtnY29uZmlnIGZpbGUgdG8g
Z3Vlc3MgZ3RrZG9jIHBhcmFtZXRlcnMuCisKKyAgICBTb21lIGd0a2RvYyBwYXJhbWV0ZXJzIGNh
biBiZSBndWVzc2VkIGJ5IHJlYWRpbmcgYSBsaWJyYXJ5J3MgcGtnY29uZmlnCisgICAgZmlsZSwg
aW5jbHVkaW5nIHRoZSBjZmxhZ3MsIGxkZmxhZ3MgYW5kIHZlcnNpb24gcGFyYW1ldGVycy4gSWYg
eW91CisgICAgcHJvdmlkZSB0aGVzZSBwYXJhbWV0ZXJzIGFzIHdlbGwsIHRoZXkgd2lsbCBiZSBh
cHBlbmRlZCB0byB0aGUgb25lcworICAgIGd1ZXNzZWQgdmlhIHRoZSBwa2djb25maWcgZmlsZS4K
KworICAgIEtleXdvcmQgYXJndW1lbnRzOgorICAgICAgcGtnX2NvbmZpZ19wYXRoIC0tIFBhdGgg
dG8gdGhlIHBrZ2NvbmZpZyBmaWxlIGZvciB0aGUgbGlicmFyeS4gUmVxdWlyZWQuCisgICAgIiIi
CisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgcGtnX2NvbmZpZ19wYXRoLCBhcmdzKToKKyAgICAg
ICAgc3VwZXIoUGtnQ29uZmlnR1RLRG9jLCBzZWxmKS5fX2luaXRfXyhhcmdzKQorCisgICAgICAg
IHBrZ19jb25maWcgPSBvcy5lbnZpcm9uLmdldCgnUEtHX0NPTkZJRycsICdwa2ctY29uZmlnJykK
KworICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMocGtnX2NvbmZpZ19wYXRoKToKKyAgICAg
ICAgICAgIHJhaXNlIEV4Y2VwdGlvbignQ291bGQgbm90IGZpbmQgcGtnLWNvbmZpZyBmaWxlIGF0
OiAlcycKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAlIHBrZ19jb25maWdfcGF0aCkKKwor
ICAgICAgICBzZWxmLmNmbGFncyArPSAiICIgKyBzZWxmLl9ydW5fY29tbWFuZChbcGtnX2NvbmZp
ZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBrZ19j
b25maWdfcGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICctLWNmbGFncyddLCBwcmludF9vdXRwdXQ9RmFsc2UpCisgICAgICAgIHNlbGYubGRmbGFn
cyArPSAiICIgKyBzZWxmLl9ydW5fY29tbWFuZChbcGtnX2NvbmZpZywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBrZ19jb25maWdfcGF0aCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLWxpYnMnXSwgcHJp
bnRfb3V0cHV0PUZhbHNlKQorICAgICAgICBzZWxmLnZlcnNpb24gPSBzZWxmLl9ydW5fY29tbWFu
ZChbcGtnX2NvbmZpZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHBrZ19jb25maWdfcGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICctLW1vZHZlcnNpb24nXSwgcHJpbnRfb3V0cHV0PUZhbHNlKQorICAgICAgICBzZWxmLnBy
ZWZpeCA9IHNlbGYuX3J1bl9jb21tYW5kKFtwa2dfY29uZmlnLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwa2dfY29uZmlnX3BhdGgsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICctLXZhcmlhYmxlPXByZWZpeCddLCBwcmludF9vdXRw
dXQ9RmFsc2UpCmRpZmYgLS1naXQgYS9Ub29scy93cGUvaW5zdGFsbC1kZXBlbmRlbmNpZXMgYi9U
b29scy93cGUvaW5zdGFsbC1kZXBlbmRlbmNpZXMKaW5kZXggYmNjYTI0MmMyNDE4Yjk2NjVhMDBk
ZWMxNTUyNDk1NDAxOGU2ODkwZS4uMGU0MDg3ZmZmYmU2MWJiMjFhNWI2YTU3YmFiNThiYmVkMmI2
MWY1ZCAxMDA3NTUKLS0tIGEvVG9vbHMvd3BlL2luc3RhbGwtZGVwZW5kZW5jaWVzCisrKyBiL1Rv
b2xzL3dwZS9pbnN0YWxsLWRlcGVuZGVuY2llcwpAQCAtNjUsNiArNjUsNyBAQCBmdW5jdGlvbiBp
bnN0YWxsRGVwZW5kZW5jaWVzV2l0aEFwdCB7CiAgICAgICAgIGdhd2sgXAogICAgICAgICBnY2Mg
XAogICAgICAgICBncGVyZiBcCisgICAgICAgIGd0ay1kb2MtdG9vbHMgXAogICAgICAgICBpbnRs
dG9vbCBcCiAgICAgICAgIGl0c3Rvb2wgXAogICAgICAgICBsaWJhc291bmQyLWRldiBcCkBAIC0x
NTUsNiArMTU2LDcgQEAgZnVuY3Rpb24gaW5zdGFsbERlcGVuZGVuY2llc1dpdGhQYWNtYW4gewog
ICAgICAgICBnY2MgXAogICAgICAgICBnbnV0bHMgXAogICAgICAgICBncGVyZiBcCisgICAgICAg
IGd0ay1kb2MgXAogICAgICAgICBncmVwIFwKICAgICAgICAgZ3JvZmYgXAogICAgICAgICBnc3Ry
ZWFtZXIgXApAQCAtMjUzLDYgKzI1NSw3IEBAIGZ1bmN0aW9uIGluc3RhbGxEZXBlbmRlbmNpZXNX
aXRoRG5mIHsKICAgICAgICAgZ3N0cmVhbWVyMS1kZXZlbCBcCiAgICAgICAgIGdzdHJlYW1lcjEt
cGx1Z2lucy1iYWQtZnJlZS1kZXZlbCBcCiAgICAgICAgIGdzdHJlYW1lcjEtcGx1Z2lucy1iYXNl
LWRldmVsIFwKKyAgICAgICAgZ3RrLWRvYyBcCiAgICAgICAgIGludGx0b29sIFwKICAgICAgICAg
aXRzdG9vbCBcCiAgICAgICAgIGxpYmV2ZW50LWRldmVsIFwKZGlmZiAtLWdpdCBhL0NoYW5nZUxv
ZyBiL0NoYW5nZUxvZwppbmRleCA5N2M5ZDJmMDY5MDFkNjllYmUyOWQwMjFiYjZhMzcxN2Q5NzZl
YjNlLi4wNjhiMmMwOWE5OTg4MDc4NGVhOTZmYWFlNTlhZGUwM2FkOGYwOTgyIDEwMDY0NAotLS0g
YS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTgtMTAtMjMg
IENhcmxvcyBFZHVhcmRvIFJhbWFsaG8gIDxjYWR1YmVudHplbkBnbWFpbC5jb20+CisKKyAgICAg
ICAgW1dQRV0gQWRkIGd0ay1kb2MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE3ODkwMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkZCBndGstZG9jIHRvIFdQRSBwb3J0LiBUaGlzIHBhdGNoIHRyaWVzIHRv
IHJldXNlIGFzIG11Y2ggY29kZSBmcm9tCisgICAgICAgIFdlYktpdEdUSysgYXMgcG9zc2libGUu
CisKKyAgICAgICAgKiBTb3VyY2UvUGxhdGZvcm1HVEsuY21ha2U6IGluY2x1ZGUgR3RrRG9jLmNt
YWtlIGluc3RlYWQgb2YgZGVmaW5pbmcgbWFjcm8uCisgICAgICAgICogU291cmNlL1BsYXRmb3Jt
V1BFLmNtYWtlOiBBZGRlZCBkb2N1bWVudGF0aW9uIGdlbmVyYXRpb24uCisgICAgICAgICogU291
cmNlL2NtYWtlL0d0a0RvYy5jbWFrZTogQWRkZWQuCisgICAgICAgICogU291cmNlL2NtYWtlL09w
dGlvbnNXUEUuY21ha2U6IEFkZGVkIEVOQUJMRV9HVEtET0MgYnVpbGQgb3B0aW9uIGFuZCBhZGRl
ZCBwa2ctY29uZmlnIHBhdGggdmFyaWFibGVzLgorCiAyMDE4LTEwLTE4ICBGdWppaSBIaXJvbm9y
aSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgogCiAgICAgICAgIFtXaW5dW0NsYW5nXSBEbyBu
b3QgZ2l2ZSAtV2FsbCB0byBjbGFuZy1jbCBiZWNhdXNlIGl0IGlzIHRyZWF0ZWQgYXMgLVdldmVy
eXRoaW5nCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>355328</attachid>
            <date>2018-11-20 02:20:15 -0800</date>
            <delta_ts>2018-11-21 05:31:00 -0800</delta_ts>
            <desc>ready for review</desc>
            <filename>bug-178900-20181120072013.patch</filename>
            <type>text/plain</type>
            <size>128074</size>
            <attacher name="Carlos Bentzen">cadubentzen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM4Mzk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDk4ZjU0NTY4YWJlMDViMTli
YTc2YWI2ZTcwYWJhMDM3NjEwNDFmNzguLmI3NDNhYzAxMGVlZWIxNmM5Yjg1OWZiNmQ2ZWZkYzFi
YmI0YjUzNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTgtMTEtMjAgIENhcmxvcyBF
ZHVhcmRvIFJhbWFsaG8gIDxjYWR1YmVudHplbkBnbWFpbC5jb20+CisKKyAgICAgICAgW1dQRV0g
QWRkIGd0ay1kb2MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE3ODkwMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkZCBBZGQgZ3RrLWRvYyB0byBXUEUgcG9ydC4gVGhpcyBwYXRjaCB0cmllcyB0byByZXVz
ZSBhcyBtdWNoIGNvZGUgZnJvbQorICAgICAgICBXZWJLaXRHVEsrIGFzIHBvc3NpYmxlLgorCisg
ICAgICAgICogUGxhdGZvcm1XUEUuY21ha2U6IFdyaXRlIHZhcmlhYmxlcyB0byBndGtkb2Mtd3Bl
LmNmZyB0aGF0IGlzIHVzZWQgYnkgcHl0aG9uIHNjcmlwdCBsYXRlcgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvd3BlL1dlYktpdFdlYkNvbnRleHQuaDogUGxhY2VkIHNhbmRib3ggZnVuY3Rpb25z
IGluIHRoZSBzYW1lIGxvY2F0aW9uIGFzIGluIHRoZSBXZWJLaXRHVEsrIGZvciBjb25zaXN0ZW5j
eS4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3dwZS9kb2NzL3dwZS0wLjEtc2VjdGlvbnMudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3dwZS9kb2NzL3dwZS0wLjEudHlwZXM6
IEFkZGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvd3BlL2RvY3Mvd3BlLWRvY3Muc2dtbDog
QWRkZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvd3BlL1dlYktp
dFdlYlBhZ2UuaDogUGxhY2VkIHdlYmtpdF93ZWJfcGFnZV9nZXRfZG9tX2RvY3VtZW50CisgICAg
ICAgIGluIHRoZSBzYW1lIHBvc2l0aW9uIGFzIGluIHRoZSBXZWJLaXRHVEsrIGZvciBjb25zaXN0
ZW5jeS4KKwogMjAxOC0xMS0yMCAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAK
ICAgICAgICAgQXZvaWQgcG90ZW50aWFsIGxvbmdlciB0aGFuIGV4cGVjdGVkIGxheWVyIGZsdXNo
IGRlbGF5cwpkaWZmIC0tZ2l0IGEvU291cmNlL1BsYXRmb3JtR1RLLmNtYWtlIGIvU291cmNlL1Bs
YXRmb3JtR1RLLmNtYWtlCmluZGV4IDI4ODQxYzIwZTk4YTdhNTJjZTBkMzdkZTQ4OGZjOTgwODUy
YWVkOGIuLjc5NDJkNTc3NDhmNDcyMzJmNzc4NjlhOTQ3M2I4OTVmNGEzYzUwNmUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9QbGF0Zm9ybUdUSy5jbWFrZQorKysgYi9Tb3VyY2UvUGxhdGZvcm1HVEsuY21h
a2UKQEAgLTEsMyArMSw0IEBACitpbmNsdWRlKEd0a0RvYykKIGluY2x1ZGUoV2ViS2l0RGlzdCkK
IAogYWRkX3N1YmRpcmVjdG9yeSgke1dFQkNPUkVfRElSfS9wbGF0Zm9ybS9ndGsvcG8pCkBAIC0y
NSwxOCArMjYsNyBAQCBpZiAoRU5BQkxFX0dUS0RPQykKICAgICApCiBlbmRpZiAoKQogCi1tYWNy
byhBRERfR1RLRE9DX0dFTkVSQVRPUiBfc3RhbXBfbmFtZSBfZXh0cmFfYXJncykKLSAgICBhZGRf
Y3VzdG9tX2NvbW1hbmQoCi0gICAgICAgIE9VVFBVVCAiJHtDTUFLRV9CSU5BUllfRElSfS8ke19z
dGFtcF9uYW1lfSIKLSAgICAgICAgREVQRU5EUyAke0RvY3VtZW50YXRpb25EZXBlbmRlbmNpZXN9
Ci0gICAgICAgIENPTU1BTkQgJHtDTUFLRV9DT01NQU5EfSAtRSBlbnYgIkNDPSR7Q01BS0VfQ19D
T01QSUxFUn0iICJDRkxBR1M9JHtDTUFLRV9DX0ZMQUdTfSAtV25vLXVudXNlZC1wYXJhbWV0ZXIi
ICR7Q01BS0VfU09VUkNFX0RJUn0vVG9vbHMvZ3RrL2dlbmVyYXRlLWd0a2RvYyAke19leHRyYV9h
cmdzfQotICAgICAgICBDT01NQU5EIHRvdWNoICR7X3N0YW1wX25hbWV9Ci0gICAgICAgIFdPUktJ
TkdfRElSRUNUT1JZICIke0NNQUtFX0JJTkFSWV9ESVJ9IgotICAgICAgICBWRVJCQVRJTQotICAg
ICkKLWVuZG1hY3JvKCkKLQotQUREX0dUS0RPQ19HRU5FUkFUT1IoImRvY3MtYnVpbGQuc3RhbXAi
ICIiKQorQUREX0dUS0RPQ19HRU5FUkFUT1IoImRvY3MtYnVpbGQuc3RhbXAiICItLWd0ayIpCiBp
ZiAoRU5BQkxFX0dUS0RPQykKICAgICBhZGRfY3VzdG9tX3RhcmdldChndGtkb2MgQUxMIERFUEVO
RFMgIiR7Q01BS0VfQklOQVJZX0RJUn0vZG9jcy1idWlsZC5zdGFtcCIpCiBlbHNlaWYgKE5PVCBF
TkFCTEVEX0NPTVBJTEVSX1NBTklUSVpFUlMgQU5EIE5PVCBDTUFLRV9DUk9TU0NPTVBJTElORyBB
TkQgTk9UIEFQUExFKQpAQCAtNDYsNyArMzYsNyBAQCBlbHNlaWYgKE5PVCBFTkFCTEVEX0NPTVBJ
TEVSX1NBTklUSVpFUlMgQU5EIE5PVCBDTUFLRV9DUk9TU0NPTVBJTElORyBBTkQgTk9UIEFQUAog
ICAgICMgb3IgZXJyb3JzLiBUaGlzIGlzIHVzZWZ1bCB0byBwcmV2ZW50IGJyZWFraW5nIGRvY3Vt
ZW50YXRpb24gaW5hZHZlcnRlbnRseSBkdXJpbmcKICAgICAjIHRoZSBjb3Vyc2Ugb2YgZGV2ZWxv
cG1lbnQuCiAgICAgaWYgKERFVkVMT1BFUl9NT0RFKQotICAgICAgICBBRERfR1RLRE9DX0dFTkVS
QVRPUigiZG9jcy1idWlsZC1uby1odG1sLnN0YW1wIiAiLS1za2lwLWh0bWwiKQorICAgICAgICBB
RERfR1RLRE9DX0dFTkVSQVRPUigiZG9jcy1idWlsZC1uby1odG1sLnN0YW1wIiAiLS1ndGs7LS1z
a2lwLWh0bWwiKQogICAgICAgICBhZGRfY3VzdG9tX3RhcmdldChndGtkb2Mtbm8taHRtbCBBTEwg
REVQRU5EUyAiJHtDTUFLRV9CSU5BUllfRElSfS9kb2NzLWJ1aWxkLW5vLWh0bWwuc3RhbXAiKQog
ICAgIGVuZGlmICgpCiBlbmRpZiAoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1BsYXRmb3JtV1BFLmNt
YWtlIGIvU291cmNlL1BsYXRmb3JtV1BFLmNtYWtlCmluZGV4IDM4NjQyZTA3ODJjYzMzYmY5NDc1
ZTZlZTQ3ZWU5NzcxODUzNTc1NTEuLjg5YTU4M2Y3Y2Q1Y2QwZThjYWZiYzc2YmYxM2RiMTc1Yzdj
ZTJkNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9QbGF0Zm9ybVdQRS5jbWFrZQorKysgYi9Tb3VyY2Uv
UGxhdGZvcm1XUEUuY21ha2UKQEAgLTEsNyArMSwzNCBAQAoraW5jbHVkZShHdGtEb2MpCiBpbmNs
dWRlKFdlYktpdERpc3QpCiAKK2xpc3QoQVBQRU5EIERvY3VtZW50YXRpb25EZXBlbmRlbmNpZXMK
KyAgICBXZWJLaXQKKyAgICAiJHtDTUFLRV9TT1VSQ0VfRElSfS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvd3BlL2RvY3Mvd3BlLWRvY3Muc2dtbCIKKyAgICAiJHtDTUFLRV9TT1VSQ0VfRElS
fS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL2RvY3Mvd3BlLSR7V1BFX0FQSV9WRVJT
SU9OfS1zZWN0aW9ucy50eHQiCispCisKK2lmIChFTkFCTEVfR1RLRE9DKQorICAgIGluc3RhbGwo
RElSRUNUT1JZICR7Q01BS0VfQklOQVJZX0RJUn0vRG9jdW1lbnRhdGlvbi93cGUtJHtXUEVfQVBJ
X1ZFUlNJT059L2h0bWwvd3BlLSR7V1BFX0FQSV9WRVJTSU9OfQorICAgICAgICAgICAgREVTVElO
QVRJT04gIiR7Q01BS0VfSU5TVEFMTF9EQVRBRElSfS9ndGstZG9jL2h0bWwiCisgICAgKQorZW5k
aWYgKCkKKworQUREX0dUS0RPQ19HRU5FUkFUT1IoImRvY3MtYnVpbGQuc3RhbXAiICItLXdwZSIp
CitpZiAoRU5BQkxFX0dUS0RPQykKKyAgICBhZGRfY3VzdG9tX3RhcmdldChndGtkb2MgQUxMIERF
UEVORFMgIiR7Q01BS0VfQklOQVJZX0RJUn0vZG9jcy1idWlsZC5zdGFtcCIpCitlbHNlaWYgKE5P
VCBFTkFCTEVEX0NPTVBJTEVSX1NBTklUSVpFUlMgQU5EIE5PVCBDTUFLRV9DUk9TU0NPTVBJTElO
RyBBTkQgTk9UIEFQUExFKQorICAgIGFkZF9jdXN0b21fdGFyZ2V0KGd0a2RvYyBERVBFTkRTICIk
e0NNQUtFX0JJTkFSWV9ESVJ9L2RvY3MtYnVpbGQuc3RhbXAiKQorCisgICAgIyBBZGQgYSBkZWZh
dWx0IGJ1aWxkIHN0ZXAgd2hpY2ggY2hlY2sgdGhhdCBkb2N1bWVudGF0aW9uIGRvZXMgbm90IGhh
dmUgYW55IHdhcm5pbmdzCisgICAgIyBvciBlcnJvcnMuIFRoaXMgaXMgdXNlZnVsIHRvIHByZXZl
bnQgYnJlYWtpbmcgZG9jdW1lbnRhdGlvbiBpbmFkdmVydGVudGx5IGR1cmluZworICAgICMgdGhl
IGNvdXJzZSBvZiBkZXZlbG9wbWVudC4KKyAgICBpZiAoREVWRUxPUEVSX01PREUpCisgICAgICAg
IEFERF9HVEtET0NfR0VORVJBVE9SKCJkb2NzLWJ1aWxkLW5vLWh0bWwuc3RhbXAiICItLXdwZTst
LXNraXAtaHRtbCIpCisgICAgICAgIGFkZF9jdXN0b21fdGFyZ2V0KGd0a2RvYy1uby1odG1sIEFM
TCBERVBFTkRTICIke0NNQUtFX0JJTkFSWV9ESVJ9L2RvY3MtYnVpbGQtbm8taHRtbC5zdGFtcCIp
CisgICAgZW5kaWYgKCkKK2VuZGlmICgpCisKIGlmIChERVZFTE9QRVJfTU9ERSkKLSAgICAjIEZJ
WE1FOiBUaGlzIHNob3VsZCBkZXBlbmQgb24gYSBndGtkb2MgdGFyZ2V0Ci0gICAgYWRkX2N1c3Rv
bV90YXJnZXQoRG9jdW1lbnRhdGlvbikKKyAgICBhZGRfY3VzdG9tX3RhcmdldChEb2N1bWVudGF0
aW9uIERFUEVORFMgZ3RrZG9jKQogICAgIFdFQktJVF9ERUNMQVJFX0RJU1RfVEFSR0VUUyhXUEUg
d3Bld2Via2l0ICR7VE9PTFNfRElSfS93cGUvbWFuaWZlc3QudHh0LmluKQogZW5kaWYgKCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm1XUEUuY21ha2UgYi9Tb3VyY2UvV2ViS2l0
L1BsYXRmb3JtV1BFLmNtYWtlCmluZGV4IGU2ZWU4NGVlOWFlNjBkZGJjN2U2Mjk5ZGM1MTVkNjBl
NTBlMWNiY2YuLjA0ZjZhYjExYmVjYzBmNzM5Y2IwODUwODM3YzgzYjY4ODE3ZTUxNWQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm1XUEUuY21ha2UKKysrIGIvU291cmNlL1dlYktp
dC9QbGF0Zm9ybVdQRS5jbWFrZQpAQCAtMTAsOCArMTAsOCBAQCBmaWxlKE1BS0VfRElSRUNUT1JZ
ICR7Rk9SV0FSRElOR19IRUFERVJTX1dQRV9FWFRFTlNJT05fRElSfSkKIGZpbGUoTUFLRV9ESVJF
Q1RPUlkgJHtGT1JXQVJESU5HX0hFQURFUlNfV1BFX0RPTV9ESVJ9KQogCiBjb25maWd1cmVfZmls
ZShVSVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRWZXJzaW9uLmguaW4gJHtERVJJVkVEX1NPVVJDRVNf
V1BFX0FQSV9ESVJ9L1dlYktpdFZlcnNpb24uaCkKLWNvbmZpZ3VyZV9maWxlKHdwZS93cGUtd2Vi
a2l0LnBjLmluICR7Q01BS0VfQklOQVJZX0RJUn0vd3BlLXdlYmtpdC0ke1dQRV9BUElfVkVSU0lP
Tn0ucGMgQE9OTFkpCi1jb25maWd1cmVfZmlsZSh3cGUvd3BlLXdlYi1leHRlbnNpb24ucGMuaW4g
JHtDTUFLRV9CSU5BUllfRElSfS93cGUtd2ViLWV4dGVuc2lvbi0ke1dQRV9BUElfVkVSU0lPTn0u
cGMgQE9OTFkpCitjb25maWd1cmVfZmlsZSh3cGUvd3BlLXdlYmtpdC5wYy5pbiAke1dQRV9QS0dD
T05GSUdfRklMRX0gQE9OTFkpCitjb25maWd1cmVfZmlsZSh3cGUvd3BlLXdlYi1leHRlbnNpb24u
cGMuaW4gJHtXUEVXZWJFeHRlbnNpb25fUEtHQ09ORklHX0ZJTEV9IEBPTkxZKQogCiBhZGRfZGVm
aW5pdGlvbnMoLURXRUJLSVQyX0NPTVBJTEFUSU9OKQogCkBAIC0xNDksNiArMTQ5LDcgQEAgc2V0
KFdQRV9BUElfSU5TVEFMTEVEX0hFQURFUlMKICAgICAke1dFQktJVF9ESVJ9L1VJUHJvY2Vzcy9B
UEkvd3BlL3dlYmtpdC5oCiApCiAKKyMgRklYTUU6IFNlcGFyYXRlIHdlYi1leHRlbnNpb24gYW5k
IERPTSBoZWFkZXJzIGluIHR3byBkaWZmZXJlbnQgbGlzdHMgZm9yIGJ1aWxkaW5nIHNlcGFyYXRl
IGRvY3VtZW50YXRpb25zLgogc2V0KFdQRV9XRUJfRVhURU5TSU9OX0FQSV9JTlNUQUxMRURfSEVB
REVSUwogICAgICR7REVSSVZFRF9TT1VSQ0VTX1dQRV9BUElfRElSfS9XZWJLaXRXZWJQcm9jZXNz
RW51bVR5cGVzLmgKICAgICAke1dFQktJVF9ESVJ9L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
QVBJL3dwZS9XZWJLaXRDb25zb2xlTWVzc2FnZS5oCkBAIC0zMzQsMyArMzM1LDI2IEBAIGluc3Rh
bGwoRklMRVMgJHtXUEVfQVBJX0lOU1RBTExFRF9IRUFERVJTfQogICAgICAgICBERVNUSU5BVElP
TiAiJHtDTUFLRV9JTlNUQUxMX0lOQ0xVREVESVJ9L3dwZS13ZWJraXQtJHtXUEVfQVBJX1ZFUlNJ
T059L3dwZSIKICAgICAgICAgQ09NUE9ORU5UICJEZXZlbG9wbWVudCIKICkKKworIyBGSVhNRTog
V2ViRXh0ZW5zaW9uIEFQSXMgYXJlIG5vdCBpbmNsdWRlZCB5ZXQuIFRoZSBsaXN0IG9mIGhlYWRl
cnMgZm9yIFdlYkV4dGVuc2lvbiBhbHNvIGhhcyBET00gaGVhZGVycy4KK2ZpbGUoV1JJVEUgJHtD
TUFLRV9CSU5BUllfRElSfS9ndGtkb2Mtd3BlLmNmZworICAgICJbd3BlLSR7V1BFX0FQSV9WRVJT
SU9OfV1cbiIKKyAgICAicGtnY29uZmlnX2ZpbGU9JHtXUEVfUEtHQ09ORklHX0ZJTEV9XG4iCisg
ICAgImRlY29yYXRvcj1XRUJLSVRfQVBJfFdFQktJVF9ERVBSRUNBVEVEfFdFQktJVF9ERVBSRUNB
VEVEX0ZPUlxcKC4rXFwpXG4iCisgICAgImRlcHJlY2F0aW9uX2d1YXJkPVdFQktJVF9ESVNBQkxF
X0RFUFJFQ0FURURcbiIKKyAgICAibmFtZXNwYWNlPXdlYmtpdFxuIgorICAgICJjZmxhZ3M9LUkk
e0NNQUtFX1NPVVJDRV9ESVJ9L1NvdXJjZVxuIgorICAgICIgICAgICAgLUkke1dFQktJVF9ESVJ9
L1NoYXJlZC9BUEkvZ2xpYlxuIgorICAgICIgICAgICAgLUkke1dFQktJVF9ESVJ9L1VJUHJvY2Vz
cy9BUEkvZ2xpYlxuIgorICAgICIgICAgICAgLUkke1dFQktJVF9ESVJ9L1VJUHJvY2Vzcy9BUEkv
d3BlXG4iCisgICAgIiAgICAgICAtSSR7Rk9SV0FSRElOR19IRUFERVJTX1dQRV9ESVJ9XG4iCisg
ICAgImRvY19kaXI9JHtXRUJLSVRfRElSfS9VSVByb2Nlc3MvQVBJL3dwZS9kb2NzXG4iCisgICAg
InNvdXJjZV9kaXJzPSR7V0VCS0lUX0RJUn0vU2hhcmVkL0FQSS9nbGliXG4iCisgICAgIiAgICAg
ICAgICAgICR7V0VCS0lUX0RJUn0vVUlQcm9jZXNzL0FQSS9nbGliXG4iCisgICAgIiAgICAgICAg
ICAgICR7V0VCS0lUX0RJUn0vVUlQcm9jZXNzL0FQSS93cGVcbiIKKyAgICAiICAgICAgICAgICAg
JHtXRUJLSVRfRElSfS9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9nbGliXG4iCisgICAg
IiAgICAgICAgICAgICR7V0VCS0lUX0RJUn0vV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkv
d3BlXG4iCisgICAgIiAgICAgICAgICAgICR7REVSSVZFRF9TT1VSQ0VTX1dQRV9BUElfRElSfVxu
IgorICAgICJoZWFkZXJzPSR7V1BFX0VOVU1fR0VORVJBVElPTl9IRUFERVJTfSAke1dQRV9XRUJf
RVhURU5TSU9OX0FQSV9JTlNUQUxMRURfSEVBREVSU31cbiIKKyAgICAibWFpbl9zZ21sX2ZpbGU9
d3BlLWRvY3Muc2dtbFxuIgorKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL3dwZS9XZWJLaXRXZWJDb250ZXh0LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
d3BlL1dlYktpdFdlYkNvbnRleHQuaAppbmRleCAwZWI4ZjM2N2RlNTc0NzkzYmI5YjU4YzVlNDAw
NDQwYzEwYjc5ODQ1Li5jMWQ0OTNjOThlOTQzNjdmMDQ3M2I0NDliODM5Y2FlOTMzMDhjMGJiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL1dlYktpdFdlYkNvbnRl
eHQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL1dlYktpdFdlYkNvbnRl
eHQuaApAQCAtMjQ3LDYgKzI0NywxMyBAQCB3ZWJraXRfd2ViX2NvbnRleHRfcmVnaXN0ZXJfdXJp
X3NjaGVtZSAgICAgICAgICAgICAgKFdlYktpdFdlYkNvbnRleHQKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3BvaW50ZXIgICAgICAgICAgICAg
ICAgICAgICAgIHVzZXJfZGF0YSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgR0Rlc3Ryb3lOb3RpZnkgICAgICAgICAgICAgICAgIHVzZXJfZGF0
YV9kZXN0cm95X2Z1bmMpOwogCitXRUJLSVRfQVBJIHZvaWQKK3dlYmtpdF93ZWJfY29udGV4dF9z
ZXRfc2FuZGJveF9lbmFibGVkICAgICAgICAgICAgICAoV2ViS2l0V2ViQ29udGV4dCAgICAgICAg
ICAgICAgICpjb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBnYm9vbGVhbiAgICAgICAgICAgICAgICAgICAgICAgZW5hYmxlZCk7CisK
K1dFQktJVF9BUEkgZ2Jvb2xlYW4KK3dlYmtpdF93ZWJfY29udGV4dF9nZXRfc2FuZGJveF9lbmFi
bGVkICAgICAgICAgICAgICAoV2ViS2l0V2ViQ29udGV4dCAgICAgICAgICAgICAgKmNvbnRleHQp
OworCiBXRUJLSVRfQVBJIGdib29sZWFuCiB3ZWJraXRfd2ViX2NvbnRleHRfZ2V0X3NwZWxsX2No
ZWNraW5nX2VuYWJsZWQgICAgICAgKFdlYktpdFdlYkNvbnRleHQgICAgICAgICAgICAgICpjb250
ZXh0KTsKIApAQCAtMjk2LDEzICszMDMsNiBAQCB3ZWJraXRfd2ViX2NvbnRleHRfc2V0X3Byb2Nl
c3NfbW9kZWwgICAgICAgICAgICAgICAgKFdlYktpdFdlYkNvbnRleHQKIFdFQktJVF9BUEkgV2Vi
S2l0UHJvY2Vzc01vZGVsCiB3ZWJraXRfd2ViX2NvbnRleHRfZ2V0X3Byb2Nlc3NfbW9kZWwgICAg
ICAgICAgICAgICAgKFdlYktpdFdlYkNvbnRleHQgICAgICAgICAgICAgICpjb250ZXh0KTsKIAot
V0VCS0lUX0FQSSB2b2lkCi13ZWJraXRfd2ViX2NvbnRleHRfc2V0X3NhbmRib3hfZW5hYmxlZCAg
ICAgICAgICAgICAgKFdlYktpdFdlYkNvbnRleHQgICAgICAgICAgICAgICpjb250ZXh0LAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnYm9vbGVh
biAgICAgICAgICAgICAgICAgICAgICAgZW5hYmxlZCk7Ci0KLVdFQktJVF9BUEkgZ2Jvb2xlYW4K
LXdlYmtpdF93ZWJfY29udGV4dF9nZXRfc2FuZGJveF9lbmFibGVkICAgICAgICAgICAgICAoV2Vi
S2l0V2ViQ29udGV4dCAgICAgICAgICAgICAgKmNvbnRleHQpOwotCiBXRUJLSVRfQVBJIHZvaWQK
IHdlYmtpdF93ZWJfY29udGV4dF9pbml0aWFsaXplX25vdGlmaWNhdGlvbl9wZXJtaXNzaW9ucwog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChXZWJL
aXRXZWJDb250ZXh0ICAgICAgICAgICAgICAqY29udGV4dCwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvZG9jcy93cGUtMC4xLXNlY3Rpb25zLnR4dCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvZG9jcy93cGUtMC4xLXNlY3Rpb25zLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi45NWNmNjMzM2ExNWYxNzJiYjkwZDBhOTNmNzUxNzhlZjk3YjczZTg4Ci0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9kb2NzL3dwZS0wLjEt
c2VjdGlvbnMudHh0CkBAIC0wLDAgKzEsMTU0NCBAQAorPFNFQ1RJT04+Cis8RklMRT5XZWJLaXRX
ZWJDb250ZXh0PC9GSUxFPgorPFRJVExFPldlYktpdFdlYkNvbnRleHQ8L1RJVExFPgorV2ViS2l0
V2ViQ29udGV4dAorV2ViS2l0Q2FjaGVNb2RlbAorV2ViS2l0UHJvY2Vzc01vZGVsCitXZWJLaXRU
TFNFcnJvcnNQb2xpY3kKK1dlYktpdE5ldHdvcmtQcm94eU1vZGUKK3dlYmtpdF93ZWJfY29udGV4
dF9nZXRfZGVmYXVsdAord2Via2l0X3dlYl9jb250ZXh0X25ldword2Via2l0X3dlYl9jb250ZXh0
X25ld19lcGhlbWVyYWwKK3dlYmtpdF93ZWJfY29udGV4dF9uZXdfd2l0aF93ZWJzaXRlX2RhdGFf
bWFuYWdlcgord2Via2l0X3dlYl9jb250ZXh0X2lzX2VwaGVtZXJhbAord2Via2l0X3dlYl9jb250
ZXh0X2lzX2F1dG9tYXRpb25fYWxsb3dlZAord2Via2l0X3dlYl9jb250ZXh0X3NldF9hdXRvbWF0
aW9uX2FsbG93ZWQKK3dlYmtpdF93ZWJfY29udGV4dF9nZXRfd2Vic2l0ZV9kYXRhX21hbmFnZXIK
K3dlYmtpdF93ZWJfY29udGV4dF9nZXRfY2FjaGVfbW9kZWwKK3dlYmtpdF93ZWJfY29udGV4dF9z
ZXRfY2FjaGVfbW9kZWwKK3dlYmtpdF93ZWJfY29udGV4dF9nZXRfd2ViX3Byb2Nlc3NfY291bnRf
bGltaXQKK3dlYmtpdF93ZWJfY29udGV4dF9zZXRfd2ViX3Byb2Nlc3NfY291bnRfbGltaXQKK3dl
YmtpdF93ZWJfY29udGV4dF9jbGVhcl9jYWNoZQord2Via2l0X3dlYl9jb250ZXh0X3NldF9uZXR3
b3JrX3Byb3h5X3NldHRpbmdzCit3ZWJraXRfd2ViX2NvbnRleHRfZG93bmxvYWRfdXJpCit3ZWJr
aXRfd2ViX2NvbnRleHRfZ2V0X2Nvb2tpZV9tYW5hZ2VyCit3ZWJraXRfd2ViX2NvbnRleHRfZ2V0
X2Zhdmljb25fZGF0YWJhc2UKK3dlYmtpdF93ZWJfY29udGV4dF9zZXRfZmF2aWNvbl9kYXRhYmFz
ZV9kaXJlY3RvcnkKK3dlYmtpdF93ZWJfY29udGV4dF9nZXRfZmF2aWNvbl9kYXRhYmFzZV9kaXJl
Y3RvcnkKK3dlYmtpdF93ZWJfY29udGV4dF9nZXRfc2VjdXJpdHlfbWFuYWdlcgord2Via2l0X3dl
Yl9jb250ZXh0X3NldF9hZGRpdGlvbmFsX3BsdWdpbnNfZGlyZWN0b3J5Cit3ZWJraXRfd2ViX2Nv
bnRleHRfZ2V0X3BsdWdpbnMKK3dlYmtpdF93ZWJfY29udGV4dF9nZXRfcGx1Z2luc19maW5pc2gK
K3dlYmtpdF93ZWJfY29udGV4dF9nZXRfc2FuZGJveF9lbmFibGVkCit3ZWJraXRfd2ViX2NvbnRl
eHRfc2V0X3NhbmRib3hfZW5hYmxlZAord2Via2l0X3dlYl9jb250ZXh0X2dldF9zcGVsbF9jaGVj
a2luZ19lbmFibGVkCit3ZWJraXRfd2ViX2NvbnRleHRfc2V0X3NwZWxsX2NoZWNraW5nX2VuYWJs
ZWQKK3dlYmtpdF93ZWJfY29udGV4dF9nZXRfc3BlbGxfY2hlY2tpbmdfbGFuZ3VhZ2VzCit3ZWJr
aXRfd2ViX2NvbnRleHRfc2V0X3NwZWxsX2NoZWNraW5nX2xhbmd1YWdlcword2Via2l0X3dlYl9j
b250ZXh0X3NldF9wcmVmZXJyZWRfbGFuZ3VhZ2VzCit3ZWJraXRfd2ViX2NvbnRleHRfc2V0X3Rs
c19lcnJvcnNfcG9saWN5Cit3ZWJraXRfd2ViX2NvbnRleHRfZ2V0X3Rsc19lcnJvcnNfcG9saWN5
Cit3ZWJraXRfd2ViX2NvbnRleHRfc2V0X3dlYl9leHRlbnNpb25zX2RpcmVjdG9yeQord2Via2l0
X3dlYl9jb250ZXh0X3NldF93ZWJfZXh0ZW5zaW9uc19pbml0aWFsaXphdGlvbl91c2VyX2RhdGEK
K3dlYmtpdF93ZWJfY29udGV4dF9wcmVmZXRjaF9kbnMKK3dlYmtpdF93ZWJfY29udGV4dF9hbGxv
d190bHNfY2VydGlmaWNhdGVfZm9yX2hvc3QKK3dlYmtpdF93ZWJfY29udGV4dF9nZXRfcHJvY2Vz
c19tb2RlbAord2Via2l0X3dlYl9jb250ZXh0X3NldF9wcm9jZXNzX21vZGVsCit3ZWJraXRfd2Vi
X2NvbnRleHRfaW5pdGlhbGl6ZV9ub3RpZmljYXRpb25fcGVybWlzc2lvbnMKKworPFNVQlNFQ1RJ
T04gVVJJIFNjaGVtZT4KK1dlYktpdFVSSVNjaGVtZVJlcXVlc3RDYWxsYmFjaword2Via2l0X3dl
Yl9jb250ZXh0X3JlZ2lzdGVyX3VyaV9zY2hlbWUKKworPFNVQlNFQ1RJT04gU3RhbmRhcmQ+CitX
ZWJLaXRXZWJDb250ZXh0Q2xhc3MKK1dFQktJVF9XRUJfQ09OVEVYVAorV0VCS0lUX0lTX1dFQl9D
T05URVhUCitXRUJLSVRfVFlQRV9XRUJfQ09OVEVYVAorV0VCS0lUX1dFQl9DT05URVhUX0NMQVNT
CitXRUJLSVRfSVNfV0VCX0NPTlRFWFRfQ0xBU1MKK1dFQktJVF9XRUJfQ09OVEVYVF9HRVRfQ0xB
U1MKKworPFNVQlNFQ1RJT04gUHJpdmF0ZT4KK1dlYktpdFdlYkNvbnRleHRQcml2YXRlCit3ZWJr
aXRfd2ViX2NvbnRleHRfZ2V0X3R5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5X
ZWJLaXRVc2VyQ29udGVudDwvRklMRT4KKzxUSVRMRT5XZWJLaXRVc2VyQ29udGVudDwvVElUTEU+
CitXZWJLaXRVc2VyU3R5bGVTaGVldAorV2ViS2l0VXNlclNjcmlwdAorV2ViS2l0VXNlckNvbnRl
bnRJbmplY3RlZEZyYW1lcworV2ViS2l0VXNlclN0eWxlTGV2ZWwKK1dlYktpdFVzZXJTY3JpcHRJ
bmplY3Rpb25UaW1lCit3ZWJraXRfdXNlcl9zdHlsZV9zaGVldF9yZWYKK3dlYmtpdF91c2VyX3N0
eWxlX3NoZWV0X3VucmVmCit3ZWJraXRfdXNlcl9zdHlsZV9zaGVldF9uZXcKK3dlYmtpdF91c2Vy
X3N0eWxlX3NoZWV0X25ld19mb3Jfd29ybGQKK3dlYmtpdF91c2VyX3NjcmlwdF9yZWYKK3dlYmtp
dF91c2VyX3NjcmlwdF91bnJlZgord2Via2l0X3VzZXJfc2NyaXB0X25ldword2Via2l0X3VzZXJf
c2NyaXB0X25ld19mb3Jfd29ybGQKKworPFNVQlNFQ1RJT04gU3RhbmRhcmQ+CitXRUJLSVRfVFlQ
RV9VU0VSX1NUWUxFX1NIRUVUCitXRUJLSVRfVFlQRV9VU0VSX1NDUklQVAorCis8U1VCU0VDVElP
TiBQcml2YXRlPgord2Via2l0X3VzZXJfc3R5bGVfc2hlZXRfZ2V0X3R5cGUKK3dlYmtpdF91c2Vy
X3NjcmlwdF9nZXRfdHlwZQorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktpdFVz
ZXJDb250ZW50TWFuYWdlcjwvRklMRT4KKzxUSVRMRT5XZWJLaXRVc2VyQ29udGVudE1hbmFnZXI8
L1RJVExFPgorV2ViS2l0VXNlckNvbnRlbnRNYW5hZ2VyCit3ZWJraXRfdXNlcl9jb250ZW50X21h
bmFnZXJfbmV3Cit3ZWJraXRfdXNlcl9jb250ZW50X21hbmFnZXJfYWRkX3N0eWxlX3NoZWV0Cit3
ZWJraXRfdXNlcl9jb250ZW50X21hbmFnZXJfcmVtb3ZlX2FsbF9zdHlsZV9zaGVldHMKK3dlYmtp
dF91c2VyX2NvbnRlbnRfbWFuYWdlcl9hZGRfc2NyaXB0Cit3ZWJraXRfdXNlcl9jb250ZW50X21h
bmFnZXJfcmVtb3ZlX2FsbF9zY3JpcHRzCit3ZWJraXRfdXNlcl9jb250ZW50X21hbmFnZXJfcmVn
aXN0ZXJfc2NyaXB0X21lc3NhZ2VfaGFuZGxlcgord2Via2l0X3VzZXJfY29udGVudF9tYW5hZ2Vy
X3VucmVnaXN0ZXJfc2NyaXB0X21lc3NhZ2VfaGFuZGxlcgord2Via2l0X3VzZXJfY29udGVudF9t
YW5hZ2VyX3JlZ2lzdGVyX3NjcmlwdF9tZXNzYWdlX2hhbmRsZXJfaW5fd29ybGQKK3dlYmtpdF91
c2VyX2NvbnRlbnRfbWFuYWdlcl91bnJlZ2lzdGVyX3NjcmlwdF9tZXNzYWdlX2hhbmRsZXJfaW5f
d29ybGQKKworPFNVQlNFQ1RJT04gU3RhbmRhcmQ+CitXRUJLSVRfSVNfVVNFUl9DT05URU5UX01B
TkFHRVIKK1dFQktJVF9JU19VU0VSX0NPTlRFTlRfTUFOQUdFUl9DTEFTUworV0VCS0lUX1RZUEVf
VVNFUl9DT05URU5UX01BTkFHRVIKK1dFQktJVF9VU0VSX0NPTlRFTlRfTUFOQUdFUgorV0VCS0lU
X1VTRVJfQ09OVEVOVF9NQU5BR0VSX0NMQVNTCitXRUJLSVRfVVNFUl9DT05URU5UX01BTkFHRVJf
R0VUX0NMQVNTCitXZWJLaXRVc2VyQ29udGVudE1hbmFnZXJDbGFzcworCis8U1VCU0VDVElPTiBQ
cml2YXRlPgorV2ViS2l0VXNlckNvbnRlbnRNYW5hZ2VyUHJpdmF0ZQord2Via2l0X3VzZXJfY29u
dGVudF9tYW5hZ2VyX2dldF90eXBlCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+V2Vi
S2l0V2ViVmlldzwvRklMRT4KKzxUSVRMRT5XZWJLaXRXZWJWaWV3PC9USVRMRT4KK1dlYktpdFdl
YlZpZXcKK1dlYktpdExvYWRFdmVudAorV2ViS2l0UG9saWN5RGVjaXNpb25UeXBlCitXZWJLaXRT
YXZlTW9kZQorV2ViS2l0SW5zZWN1cmVDb250ZW50RXZlbnQKK1dlYktpdFdlYlByb2Nlc3NUZXJt
aW5hdGlvblJlYXNvbgorCis8U1VCU0VDVElPTiBFZGl0aW5nIENvbW1hbmRzPgorV0VCS0lUX0VE
SVRJTkdfQ09NTUFORF9DVVQKK1dFQktJVF9FRElUSU5HX0NPTU1BTkRfQ09QWQorV0VCS0lUX0VE
SVRJTkdfQ09NTUFORF9QQVNURQorV0VCS0lUX0VESVRJTkdfQ09NTUFORF9TRUxFQ1RfQUxMCitX
RUJLSVRfRURJVElOR19DT01NQU5EX1VORE8KK1dFQktJVF9FRElUSU5HX0NPTU1BTkRfUkVETwor
V0VCS0lUX0VESVRJTkdfQ09NTUFORF9JTlNFUlRfSU1BR0UKK1dFQktJVF9FRElUSU5HX0NPTU1B
TkRfQ1JFQVRFX0xJTksKKworPFNVQlNFQ1RJT04+Cit3ZWJraXRfd2ViX3ZpZXdfbmV3Cit3ZWJr
aXRfd2ViX3ZpZXdfbmV3X3dpdGhfY29udGV4dAord2Via2l0X3dlYl92aWV3X25ld193aXRoX3Jl
bGF0ZWRfdmlldword2Via2l0X3dlYl92aWV3X25ld193aXRoX3NldHRpbmdzCit3ZWJraXRfd2Vi
X3ZpZXdfbmV3X3dpdGhfdXNlcl9jb250ZW50X21hbmFnZXIKK3dlYmtpdF93ZWJfdmlld19nZXRf
YmFja2VuZAord2Via2l0X3dlYl92aWV3X2lzX2VwaGVtZXJhbAord2Via2l0X3dlYl92aWV3X2lz
X2NvbnRyb2xsZWRfYnlfYXV0b21hdGlvbgord2Via2l0X3dlYl92aWV3X2dldF9jb250ZXh0Cit3
ZWJraXRfd2ViX3ZpZXdfZ2V0X3VzZXJfY29udGVudF9tYW5hZ2VyCit3ZWJraXRfd2ViX3ZpZXdf
Z2V0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyCit3ZWJraXRfd2ViX3ZpZXdfdHJ5X2Nsb3NlCit3ZWJr
aXRfd2ViX3ZpZXdfbG9hZF91cmkKK3dlYmtpdF93ZWJfdmlld19sb2FkX2h0bWwKK3dlYmtpdF93
ZWJfdmlld19sb2FkX2FsdGVybmF0ZV9odG1sCit3ZWJraXRfd2ViX3ZpZXdfbG9hZF9wbGFpbl90
ZXh0Cit3ZWJraXRfd2ViX3ZpZXdfbG9hZF9ieXRlcword2Via2l0X3dlYl92aWV3X2xvYWRfcmVx
dWVzdAord2Via2l0X3dlYl92aWV3X2Nhbl9nb19iYWNrCit3ZWJraXRfd2ViX3ZpZXdfZ29fYmFj
aword2Via2l0X3dlYl92aWV3X2Nhbl9nb19mb3J3YXJkCit3ZWJraXRfd2ViX3ZpZXdfZ29fZm9y
d2FyZAord2Via2l0X3dlYl92aWV3X2dldF90aXRsZQord2Via2l0X3dlYl92aWV3X2dldF9wYWdl
X2lkCit3ZWJraXRfd2ViX3ZpZXdfcmVsb2FkCit3ZWJraXRfd2ViX3ZpZXdfcmVsb2FkX2J5cGFz
c19jYWNoZQord2Via2l0X3dlYl92aWV3X3N0b3BfbG9hZGluZword2Via2l0X3dlYl92aWV3X2lz
X2xvYWRpbmcKK3dlYmtpdF93ZWJfdmlld19pc19wbGF5aW5nX2F1ZGlvCit3ZWJraXRfd2ViX3Zp
ZXdfZ2V0X2VzdGltYXRlZF9sb2FkX3Byb2dyZXNzCit3ZWJraXRfd2ViX3ZpZXdfZ2V0X2N1c3Rv
bV9jaGFyc2V0Cit3ZWJraXRfd2ViX3ZpZXdfc2V0X2N1c3RvbV9jaGFyc2V0Cit3ZWJraXRfd2Vi
X3ZpZXdfZ2V0X2JhY2tfZm9yd2FyZF9saXN0Cit3ZWJraXRfd2ViX3ZpZXdfZ29fdG9fYmFja19m
b3J3YXJkX2xpc3RfaXRlbQord2Via2l0X3dlYl92aWV3X2dldF91cmkKK3dlYmtpdF93ZWJfdmll
d19zZXRfc2V0dGluZ3MKK3dlYmtpdF93ZWJfdmlld19nZXRfc2V0dGluZ3MKK3dlYmtpdF93ZWJf
dmlld19nZXRfd2luZG93X3Byb3BlcnRpZXMKK3dlYmtpdF93ZWJfdmlld19zZXRfem9vbV9sZXZl
bAord2Via2l0X3dlYl92aWV3X2dldF96b29tX2xldmVsCit3ZWJraXRfd2ViX3ZpZXdfY2FuX2V4
ZWN1dGVfZWRpdGluZ19jb21tYW5kCit3ZWJraXRfd2ViX3ZpZXdfY2FuX2V4ZWN1dGVfZWRpdGlu
Z19jb21tYW5kX2ZpbmlzaAord2Via2l0X3dlYl92aWV3X2V4ZWN1dGVfZWRpdGluZ19jb21tYW5k
Cit3ZWJraXRfd2ViX3ZpZXdfZXhlY3V0ZV9lZGl0aW5nX2NvbW1hbmRfd2l0aF9hcmd1bWVudAor
d2Via2l0X3dlYl92aWV3X2dldF9maW5kX2NvbnRyb2xsZXIKK3dlYmtpdF93ZWJfdmlld19ydW5f
amF2YXNjcmlwdAord2Via2l0X3dlYl92aWV3X3J1bl9qYXZhc2NyaXB0X2ZpbmlzaAord2Via2l0
X3dlYl92aWV3X3J1bl9qYXZhc2NyaXB0X2luX3dvcmxkCit3ZWJraXRfd2ViX3ZpZXdfcnVuX2ph
dmFzY3JpcHRfaW5fd29ybGRfZmluaXNoCit3ZWJraXRfd2ViX3ZpZXdfcnVuX2phdmFzY3JpcHRf
ZnJvbV9ncmVzb3VyY2UKK3dlYmtpdF93ZWJfdmlld19ydW5famF2YXNjcmlwdF9mcm9tX2dyZXNv
dXJjZV9maW5pc2gKK3dlYmtpdF93ZWJfdmlld19jYW5fc2hvd19taW1lX3R5cGUKK3dlYmtpdF93
ZWJfdmlld19zYXZlCit3ZWJraXRfd2ViX3ZpZXdfc2F2ZV9maW5pc2gKK3dlYmtpdF93ZWJfdmll
d19zYXZlX3RvX2ZpbGUKK3dlYmtpdF93ZWJfdmlld19zYXZlX3RvX2ZpbGVfZmluaXNoCit3ZWJr
aXRfd2ViX3ZpZXdfZG93bmxvYWRfdXJpCit3ZWJraXRfd2ViX3ZpZXdfZ2V0X3Rsc19pbmZvCit3
ZWJraXRfd2ViX3ZpZXdfc2V0X2VkaXRhYmxlCit3ZWJraXRfd2ViX3ZpZXdfaXNfZWRpdGFibGUK
K3dlYmtpdF93ZWJfdmlld19nZXRfZWRpdG9yX3N0YXRlCit3ZWJraXRfd2ViX3ZpZXdfZ2V0X3Nl
c3Npb25fc3RhdGUKK3dlYmtpdF93ZWJfdmlld19yZXN0b3JlX3Nlc3Npb25fc3RhdGUKK3dlYmtp
dF93ZWJfdmlld19nZXRfbWFpbl9yZXNvdXJjZQorCis8U1VCU0VDVElPTiBXZWJLaXRKYXZhc2Ny
aXB0UmVzdWx0PgorV2ViS2l0SmF2YXNjcmlwdFJlc3VsdAord2Via2l0X2phdmFzY3JpcHRfcmVz
dWx0X3JlZgord2Via2l0X2phdmFzY3JpcHRfcmVzdWx0X3VucmVmCit3ZWJraXRfamF2YXNjcmlw
dF9yZXN1bHRfZ2V0X2pzX3ZhbHVlCisKKzxTVUJTRUNUSU9OIFdlYktpdFNjcmlwdERpYWxvZz4K
K1dlYktpdFNjcmlwdERpYWxvZworV2ViS2l0U2NyaXB0RGlhbG9nVHlwZQord2Via2l0X3Njcmlw
dF9kaWFsb2dfcmVmCit3ZWJraXRfc2NyaXB0X2RpYWxvZ191bnJlZgord2Via2l0X3NjcmlwdF9k
aWFsb2dfZ2V0X2RpYWxvZ190eXBlCit3ZWJraXRfc2NyaXB0X2RpYWxvZ19nZXRfbWVzc2FnZQor
d2Via2l0X3NjcmlwdF9kaWFsb2dfY29uZmlybV9zZXRfY29uZmlybWVkCit3ZWJraXRfc2NyaXB0
X2RpYWxvZ19wcm9tcHRfZ2V0X2RlZmF1bHRfdGV4dAord2Via2l0X3NjcmlwdF9kaWFsb2dfcHJv
bXB0X3NldF90ZXh0Cit3ZWJraXRfc2NyaXB0X2RpYWxvZ19jbG9zZQorCis8U1VCU0VDVElPTiBX
ZWJLaXRXZWJWaWV3U2Vzc2lvblN0YXRlPgorV2ViS2l0V2ViVmlld1Nlc3Npb25TdGF0ZQord2Vi
a2l0X3dlYl92aWV3X3Nlc3Npb25fc3RhdGVfbmV3Cit3ZWJraXRfd2ViX3ZpZXdfc2Vzc2lvbl9z
dGF0ZV9yZWYKK3dlYmtpdF93ZWJfdmlld19zZXNzaW9uX3N0YXRlX3VucmVmCit3ZWJraXRfd2Vi
X3ZpZXdfc2Vzc2lvbl9zdGF0ZV9zZXJpYWxpemUKKworPFNVQlNFQ1RJT04gU3RhbmRhcmQ+CitX
ZWJLaXRXZWJWaWV3Q2xhc3MKK1dFQktJVF9XRUJfVklFVworV0VCS0lUX0lTX1dFQl9WSUVXCitX
RUJLSVRfVFlQRV9XRUJfVklFVworV0VCS0lUX1dFQl9WSUVXX0NMQVNTCitXRUJLSVRfSVNfV0VC
X1ZJRVdfQ0xBU1MKK1dFQktJVF9XRUJfVklFV19HRVRfQ0xBU1MKK1dFQktJVF9UWVBFX0pBVkFT
Q1JJUFRfUkVTVUxUCitXRUJLSVRfVFlQRV9TQ1JJUFRfRElBTE9HCitXRUJLSVRfVFlQRV9XRUJf
VklFV19TRVNTSU9OX1NUQVRFCisKKzxTVUJTRUNUSU9OIFByaXZhdGU+Cit3ZWJraXRfd2ViX3Zp
ZXdfZ2V0X3R5cGUKK3dlYmtpdF9qYXZhc2NyaXB0X3Jlc3VsdF9nZXRfdHlwZQord2Via2l0X3Nj
cmlwdF9kaWFsb2dfZ2V0X3R5cGUKK3dlYmtpdF93ZWJfdmlld19zZXNzaW9uX3N0YXRlX2dldF90
eXBlCitXZWJLaXRXZWJWaWV3UHJpdmF0ZQorV0VCS0lUX0FQSQorV0VCS0lUX0RFUFJFQ0FURUQK
K1dFQktJVF9ERVBSRUNBVEVEX0ZPUgorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldl
YktpdFdlYlZpZXdCYWNrZW5kPC9GSUxFPgorV0VCS0lUX1RZUEVfV0VCX1ZJRVdfQkFDS0VORAor
V2ViS2l0V2ViVmlld0JhY2tlbmQKK3dlYmtpdF93ZWJfdmlld19iYWNrZW5kX2dldF93cGVfYmFj
a2VuZAord2Via2l0X3dlYl92aWV3X2JhY2tlbmRfbmV3CisKKzxTVUJTRUNUSU9OIFByaXZhdGU+
Cit3ZWJraXRfd2ViX3ZpZXdfYmFja2VuZF9nZXRfdHlwZQorPC9TRUNUSU9OPgorCis8U0VDVElP
Tj4KKzxGSUxFPldlYktpdEF1dGhlbnRpY2F0aW9uUmVxdWVzdDwvRklMRT4KK1dlYktpdEF1dGhl
bnRpY2F0aW9uUmVxdWVzdAorV2ViS2l0QXV0aGVudGljYXRpb25TY2hlbWUKK3dlYmtpdF9hdXRo
ZW50aWNhdGlvbl9yZXF1ZXN0X2F1dGhlbnRpY2F0ZQord2Via2l0X2F1dGhlbnRpY2F0aW9uX3Jl
cXVlc3RfY2FuY2VsCit3ZWJraXRfYXV0aGVudGljYXRpb25fcmVxdWVzdF9jYW5fc2F2ZV9jcmVk
ZW50aWFscword2Via2l0X2F1dGhlbnRpY2F0aW9uX3JlcXVlc3RfZ2V0X2hvc3QKK3dlYmtpdF9h
dXRoZW50aWNhdGlvbl9yZXF1ZXN0X2dldF9wb3J0Cit3ZWJraXRfYXV0aGVudGljYXRpb25fcmVx
dWVzdF9pc19yZXRyeQord2Via2l0X2F1dGhlbnRpY2F0aW9uX3JlcXVlc3RfZ2V0X3Byb3Bvc2Vk
X2NyZWRlbnRpYWwKK3dlYmtpdF9hdXRoZW50aWNhdGlvbl9yZXF1ZXN0X2dldF9yZWFsbQord2Vi
a2l0X2F1dGhlbnRpY2F0aW9uX3JlcXVlc3RfZ2V0X3NjaGVtZQord2Via2l0X2F1dGhlbnRpY2F0
aW9uX3JlcXVlc3RfaXNfZm9yX3Byb3h5CisKKzxTVUJTRUNUSU9OIFN0YW5kYXJkPgorV2ViS2l0
QXV0aGVudGljYXRpb25SZXF1ZXN0Q2xhc3MKK1dFQktJVF9UWVBFX0FVVEhFTlRJQ0FUSU9OX1JF
UVVFU1QKK1dFQktJVF9BVVRIRU5USUNBVElPTl9SRVFVRVNUCitXRUJLSVRfQVVUSEVOVElDQVRJ
T05fUkVRVUVTVF9DTEFTUworV0VCS0lUX0FVVEhFTlRJQ0FUSU9OX1JFUVVFU1RfR0VUX0NMQVNT
CitXRUJLSVRfSVNfQVVUSEVOVElDQVRJT05fUkVRVUVTVAorV0VCS0lUX0lTX0FVVEhFTlRJQ0FU
SU9OX1JFUVVFU1RfQ0xBU1MKK1dFQktJVF9UWVBFX0NSRURFTlRJQUwKKworPFNVQlNFQ1RJT04g
UHJpdmF0ZT4KK1dlYktpdEF1dGhlbnRpY2F0aW9uUmVxdWVzdFByaXZhdGUKK3dlYmtpdF9hdXRo
ZW50aWNhdGlvbl9yZXF1ZXN0X2dldF90eXBlCit3ZWJraXRfY3JlZGVudGlhbF9nZXRfdHlwZQor
Cis8U1VCU0VDVElPTj4KK1dlYktpdENyZWRlbnRpYWwKK1dlYktpdENyZWRlbnRpYWxQZXJzaXN0
ZW5jZQord2Via2l0X2NyZWRlbnRpYWxfbmV3Cit3ZWJraXRfY3JlZGVudGlhbF9jb3B5Cit3ZWJr
aXRfY3JlZGVudGlhbF9mcmVlCit3ZWJraXRfY3JlZGVudGlhbF9nZXRfcGFzc3dvcmQKK3dlYmtp
dF9jcmVkZW50aWFsX2dldF9wZXJzaXN0ZW5jZQord2Via2l0X2NyZWRlbnRpYWxfZ2V0X3VzZXJu
YW1lCit3ZWJraXRfY3JlZGVudGlhbF9oYXNfcGFzc3dvcmQKKzwvU0VDVElPTj4KKworPFNFQ1RJ
T04+Cis8RklMRT5XZWJLaXRCYWNrRm9yd2FyZExpc3Q8L0ZJTEU+CitXZWJLaXRCYWNrRm9yd2Fy
ZExpc3QKK3dlYmtpdF9iYWNrX2ZvcndhcmRfbGlzdF9nZXRfbGVuZ3RoCit3ZWJraXRfYmFja19m
b3J3YXJkX2xpc3RfZ2V0X2N1cnJlbnRfaXRlbQord2Via2l0X2JhY2tfZm9yd2FyZF9saXN0X2dl
dF9iYWNrX2l0ZW0KK3dlYmtpdF9iYWNrX2ZvcndhcmRfbGlzdF9nZXRfZm9yd2FyZF9pdGVtCit3
ZWJraXRfYmFja19mb3J3YXJkX2xpc3RfZ2V0X250aF9pdGVtCit3ZWJraXRfYmFja19mb3J3YXJk
X2xpc3RfZ2V0X2JhY2tfbGlzdAord2Via2l0X2JhY2tfZm9yd2FyZF9saXN0X2dldF9iYWNrX2xp
c3Rfd2l0aF9saW1pdAord2Via2l0X2JhY2tfZm9yd2FyZF9saXN0X2dldF9mb3J3YXJkX2xpc3QK
K3dlYmtpdF9iYWNrX2ZvcndhcmRfbGlzdF9nZXRfZm9yd2FyZF9saXN0X3dpdGhfbGltaXQKKwor
PFNVQlNFQ1RJT04gU3RhbmRhcmQ+CitXZWJLaXRCYWNrRm9yd2FyZExpc3RDbGFzcworV0VCS0lU
X1RZUEVfQkFDS19GT1JXQVJEX0xJU1QKK1dFQktJVF9CQUNLX0ZPUldBUkRfTElTVAorV0VCS0lU
X0lTX0JBQ0tfRk9SV0FSRF9MSVNUCitXRUJLSVRfQkFDS19GT1JXQVJEX0xJU1RfQ0xBU1MKK1dF
QktJVF9JU19CQUNLX0ZPUldBUkRfTElTVF9DTEFTUworV0VCS0lUX0JBQ0tfRk9SV0FSRF9MSVNU
X0dFVF9DTEFTUworCis8U1VCU0VDVElPTiBQcml2YXRlPgorV2ViS2l0QmFja0ZvcndhcmRMaXN0
UHJpdmF0ZQord2Via2l0X2JhY2tfZm9yd2FyZF9saXN0X2dldF90eXBlCis8L1NFQ1RJT04+CisK
KzxTRUNUSU9OPgorPEZJTEU+V2ViS2l0QmFja0ZvcndhcmRMaXN0SXRlbTwvRklMRT4KK1dlYktp
dEJhY2tGb3J3YXJkTGlzdEl0ZW0KK3dlYmtpdF9iYWNrX2ZvcndhcmRfbGlzdF9pdGVtX2dldF90
aXRsZQord2Via2l0X2JhY2tfZm9yd2FyZF9saXN0X2l0ZW1fZ2V0X3VyaQord2Via2l0X2JhY2tf
Zm9yd2FyZF9saXN0X2l0ZW1fZ2V0X29yaWdpbmFsX3VyaQorCis8U1VCU0VDVElPTiBTdGFuZGFy
ZD4KK1dlYktpdEJhY2tGb3J3YXJkTGlzdEl0ZW1DbGFzcworV0VCS0lUX1RZUEVfQkFDS19GT1JX
QVJEX0xJU1RfSVRFTQorV0VCS0lUX0JBQ0tfRk9SV0FSRF9MSVNUX0lURU0KK1dFQktJVF9JU19C
QUNLX0ZPUldBUkRfTElTVF9JVEVNCitXRUJLSVRfQkFDS19GT1JXQVJEX0xJU1RfSVRFTV9DTEFT
UworV0VCS0lUX0lTX0JBQ0tfRk9SV0FSRF9MSVNUX0lURU1fQ0xBU1MKK1dFQktJVF9CQUNLX0ZP
UldBUkRfTElTVF9JVEVNX0dFVF9DTEFTUworCis8U1VCU0VDVElPTiBQcml2YXRlPgorV2ViS2l0
QmFja0ZvcndhcmRMaXN0SXRlbVByaXZhdGUKK3dlYmtpdF9iYWNrX2ZvcndhcmRfbGlzdF9pdGVt
X2dldF90eXBlCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+V2ViS2l0U2V0dGluZ3M8
L0ZJTEU+CitXZWJLaXRTZXR0aW5ncword2Via2l0X3NldHRpbmdzX25ldword2Via2l0X3NldHRp
bmdzX25ld193aXRoX3NldHRpbmdzCit3ZWJraXRfc2V0dGluZ3NfZ2V0X2F1dG9fbG9hZF9pbWFn
ZXMKK3dlYmtpdF9zZXR0aW5nc19zZXRfYXV0b19sb2FkX2ltYWdlcword2Via2l0X3NldHRpbmdz
X2dldF9lbmFibGVfZnJhbWVfZmxhdHRlbmluZword2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVf
ZnJhbWVfZmxhdHRlbmluZword2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfaHRtbDVfZGF0YWJh
c2UKK3dlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX2h0bWw1X2RhdGFiYXNlCit3ZWJraXRfc2V0
dGluZ3NfZ2V0X2VuYWJsZV9odG1sNV9sb2NhbF9zdG9yYWdlCit3ZWJraXRfc2V0dGluZ3Nfc2V0
X2VuYWJsZV9odG1sNV9sb2NhbF9zdG9yYWdlCit3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9o
eXBlcmxpbmtfYXVkaXRpbmcKK3dlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX2h5cGVybGlua19h
dWRpdGluZword2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfamF2YQord2Via2l0X3NldHRpbmdz
X3NldF9lbmFibGVfamF2YQord2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfamF2YXNjcmlwdAor
d2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfamF2YXNjcmlwdAord2Via2l0X3NldHRpbmdzX2dl
dF9lbmFibGVfb2ZmbGluZV93ZWJfYXBwbGljYXRpb25fY2FjaGUKK3dlYmtpdF9zZXR0aW5nc19z
ZXRfZW5hYmxlX29mZmxpbmVfd2ViX2FwcGxpY2F0aW9uX2NhY2hlCit3ZWJraXRfc2V0dGluZ3Nf
Z2V0X2VuYWJsZV9wbHVnaW5zCit3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV9wbHVnaW5zCit3
ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV94c3NfYXVkaXRvcgord2Via2l0X3NldHRpbmdzX3Nl
dF9lbmFibGVfeHNzX2F1ZGl0b3IKK3dlYmtpdF9zZXR0aW5nc19nZXRfamF2YXNjcmlwdF9jYW5f
b3Blbl93aW5kb3dzX2F1dG9tYXRpY2FsbHkKK3dlYmtpdF9zZXR0aW5nc19zZXRfamF2YXNjcmlw
dF9jYW5fb3Blbl93aW5kb3dzX2F1dG9tYXRpY2FsbHkKK3dlYmtpdF9zZXR0aW5nc19nZXRfbG9h
ZF9pY29uc19pZ25vcmluZ19pbWFnZV9sb2FkX3NldHRpbmcKK3dlYmtpdF9zZXR0aW5nc19zZXRf
bG9hZF9pY29uc19pZ25vcmluZ19pbWFnZV9sb2FkX3NldHRpbmcKK3dlYmtpdF9zZXR0aW5nc19n
ZXRfZGVmYXVsdF9mb250X2ZhbWlseQord2Via2l0X3NldHRpbmdzX3NldF9kZWZhdWx0X2ZvbnRf
ZmFtaWx5Cit3ZWJraXRfc2V0dGluZ3NfZ2V0X21vbm9zcGFjZV9mb250X2ZhbWlseQord2Via2l0
X3NldHRpbmdzX3NldF9tb25vc3BhY2VfZm9udF9mYW1pbHkKK3dlYmtpdF9zZXR0aW5nc19nZXRf
c2VyaWZfZm9udF9mYW1pbHkKK3dlYmtpdF9zZXR0aW5nc19zZXRfc2VyaWZfZm9udF9mYW1pbHkK
K3dlYmtpdF9zZXR0aW5nc19nZXRfc2Fuc19zZXJpZl9mb250X2ZhbWlseQord2Via2l0X3NldHRp
bmdzX3NldF9zYW5zX3NlcmlmX2ZvbnRfZmFtaWx5Cit3ZWJraXRfc2V0dGluZ3NfZ2V0X2N1cnNp
dmVfZm9udF9mYW1pbHkKK3dlYmtpdF9zZXR0aW5nc19zZXRfY3Vyc2l2ZV9mb250X2ZhbWlseQor
d2Via2l0X3NldHRpbmdzX2dldF9mYW50YXN5X2ZvbnRfZmFtaWx5Cit3ZWJraXRfc2V0dGluZ3Nf
c2V0X2ZhbnRhc3lfZm9udF9mYW1pbHkKK3dlYmtpdF9zZXR0aW5nc19nZXRfcGljdG9ncmFwaF9m
b250X2ZhbWlseQord2Via2l0X3NldHRpbmdzX3NldF9waWN0b2dyYXBoX2ZvbnRfZmFtaWx5Cit3
ZWJraXRfc2V0dGluZ3NfZ2V0X2RlZmF1bHRfZm9udF9zaXplCit3ZWJraXRfc2V0dGluZ3Nfc2V0
X2RlZmF1bHRfZm9udF9zaXplCit3ZWJraXRfc2V0dGluZ3NfZ2V0X2RlZmF1bHRfbW9ub3NwYWNl
X2ZvbnRfc2l6ZQord2Via2l0X3NldHRpbmdzX3NldF9kZWZhdWx0X21vbm9zcGFjZV9mb250X3Np
emUKK3dlYmtpdF9zZXR0aW5nc19nZXRfbWluaW11bV9mb250X3NpemUKK3dlYmtpdF9zZXR0aW5n
c19zZXRfbWluaW11bV9mb250X3NpemUKK3dlYmtpdF9zZXR0aW5nc19nZXRfZGVmYXVsdF9jaGFy
c2V0Cit3ZWJraXRfc2V0dGluZ3Nfc2V0X2RlZmF1bHRfY2hhcnNldAord2Via2l0X3NldHRpbmdz
X2dldF9lbmFibGVfZGV2ZWxvcGVyX2V4dHJhcword2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVf
ZGV2ZWxvcGVyX2V4dHJhcword2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfcmVzaXphYmxlX3Rl
eHRfYXJlYXMKK3dlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX3Jlc2l6YWJsZV90ZXh0X2FyZWFz
Cit3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV90YWJzX3RvX2xpbmtzCit3ZWJraXRfc2V0dGlu
Z3Nfc2V0X2VuYWJsZV90YWJzX3RvX2xpbmtzCit3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9k
bnNfcHJlZmV0Y2hpbmcKK3dlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX2Ruc19wcmVmZXRjaGlu
Zword2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfY2FyZXRfYnJvd3NpbmcKK3dlYmtpdF9zZXR0
aW5nc19zZXRfZW5hYmxlX2NhcmV0X2Jyb3dzaW5nCit3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJs
ZV9mdWxsc2NyZWVuCit3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV9mdWxsc2NyZWVuCit3ZWJr
aXRfc2V0dGluZ3NfZ2V0X3ByaW50X2JhY2tncm91bmRzCit3ZWJraXRfc2V0dGluZ3Nfc2V0X3By
aW50X2JhY2tncm91bmRzCit3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV93ZWJhdWRpbword2Vi
a2l0X3NldHRpbmdzX3NldF9lbmFibGVfd2ViYXVkaW8KK3dlYmtpdF9zZXR0aW5nc19nZXRfZW5h
YmxlX3dlYmdsCit3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV93ZWJnbAord2Via2l0X3NldHRp
bmdzX3NldF9hbGxvd19tb2RhbF9kaWFsb2dzCit3ZWJraXRfc2V0dGluZ3NfZ2V0X2FsbG93X21v
ZGFsX2RpYWxvZ3MKK3dlYmtpdF9zZXR0aW5nc19nZXRfem9vbV90ZXh0X29ubHkKK3dlYmtpdF9z
ZXR0aW5nc19zZXRfem9vbV90ZXh0X29ubHkKK3dlYmtpdF9zZXR0aW5nc19nZXRfamF2YXNjcmlw
dF9jYW5fYWNjZXNzX2NsaXBib2FyZAord2Via2l0X3NldHRpbmdzX3NldF9qYXZhc2NyaXB0X2Nh
bl9hY2Nlc3NfY2xpcGJvYXJkCit3ZWJraXRfc2V0dGluZ3NfZ2V0X21lZGlhX3BsYXliYWNrX3Jl
cXVpcmVzX3VzZXJfZ2VzdHVyZQord2Via2l0X3NldHRpbmdzX3NldF9tZWRpYV9wbGF5YmFja19y
ZXF1aXJlc191c2VyX2dlc3R1cmUKK3dlYmtpdF9zZXR0aW5nc19nZXRfbWVkaWFfcGxheWJhY2tf
YWxsb3dzX2lubGluZQord2Via2l0X3NldHRpbmdzX3NldF9tZWRpYV9wbGF5YmFja19hbGxvd3Nf
aW5saW5lCit3ZWJraXRfc2V0dGluZ3NfZ2V0X2RyYXdfY29tcG9zaXRpbmdfaW5kaWNhdG9ycwor
d2Via2l0X3NldHRpbmdzX3NldF9kcmF3X2NvbXBvc2l0aW5nX2luZGljYXRvcnMKK3dlYmtpdF9z
ZXR0aW5nc19nZXRfZW5hYmxlX3NpdGVfc3BlY2lmaWNfcXVpcmtzCit3ZWJraXRfc2V0dGluZ3Nf
c2V0X2VuYWJsZV9zaXRlX3NwZWNpZmljX3F1aXJrcword2Via2l0X3NldHRpbmdzX2dldF9lbmFi
bGVfcGFnZV9jYWNoZQord2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfcGFnZV9jYWNoZQord2Vi
a2l0X3NldHRpbmdzX2dldF91c2VyX2FnZW50Cit3ZWJraXRfc2V0dGluZ3Nfc2V0X3VzZXJfYWdl
bnQKK3dlYmtpdF9zZXR0aW5nc19zZXRfdXNlcl9hZ2VudF93aXRoX2FwcGxpY2F0aW9uX2RldGFp
bHMKK3dlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX3Ntb290aF9zY3JvbGxpbmcKK3dlYmtpdF9z
ZXR0aW5nc19zZXRfZW5hYmxlX3Ntb290aF9zY3JvbGxpbmcKK3dlYmtpdF9zZXR0aW5nc19nZXRf
ZW5hYmxlX2FjY2VsZXJhdGVkXzJkX2NhbnZhcword2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVf
YWNjZWxlcmF0ZWRfMmRfY2FudmFzCit3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV93cml0ZV9j
b25zb2xlX21lc3NhZ2VzX3RvX3N0ZG91dAord2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfd3Jp
dGVfY29uc29sZV9tZXNzYWdlc190b19zdGRvdXQKK3dlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxl
X21lZGlhX3N0cmVhbQord2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfbWVkaWFfc3RyZWFtCit3
ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9tb2NrX2NhcHR1cmVfZGV2aWNlcword2Via2l0X3Nl
dHRpbmdzX3NldF9lbmFibGVfbW9ja19jYXB0dXJlX2RldmljZXMKK3dlYmtpdF9zZXR0aW5nc19n
ZXRfZW5hYmxlX3NwYXRpYWxfbmF2aWdhdGlvbgord2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVf
c3BhdGlhbF9uYXZpZ2F0aW9uCit3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9tZWRpYXNvdXJj
ZQord2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfbWVkaWFzb3VyY2UKK3dlYmtpdF9zZXR0aW5n
c19nZXRfZW5hYmxlX2VuY3J5cHRlZF9tZWRpYQord2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVf
ZW5jcnlwdGVkX21lZGlhCit3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9tZWRpYV9jYXBhYmls
aXRpZXMKK3dlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX21lZGlhX2NhcGFiaWxpdGllcword2Vi
a2l0X3NldHRpbmdzX2dldF9hbGxvd19maWxlX2FjY2Vzc19mcm9tX2ZpbGVfdXJscword2Via2l0
X3NldHRpbmdzX3NldF9hbGxvd19maWxlX2FjY2Vzc19mcm9tX2ZpbGVfdXJscword2Via2l0X3Nl
dHRpbmdzX2dldF9hbGxvd191bml2ZXJzYWxfYWNjZXNzX2Zyb21fZmlsZV91cmxzCit3ZWJraXRf
c2V0dGluZ3Nfc2V0X2FsbG93X3VuaXZlcnNhbF9hY2Nlc3NfZnJvbV9maWxlX3VybHMKKworPFNV
QlNFQ1RJT04gU3RhbmRhcmQ+CitXZWJLaXRTZXR0aW5nc0NsYXNzCitXRUJLSVRfVFlQRV9TRVRU
SU5HUworV0VCS0lUX1NFVFRJTkdTCitXRUJLSVRfSVNfU0VUVElOR1MKK1dFQktJVF9TRVRUSU5H
U19DTEFTUworV0VCS0lUX0lTX1NFVFRJTkdTX0NMQVNTCitXRUJLSVRfU0VUVElOR1NfR0VUX0NM
QVNTCisKKzxTVUJTRUNUSU9OIFByaXZhdGU+CitXZWJLaXRTZXR0aW5nc1ByaXZhdGUKK3dlYmtp
dF9zZXR0aW5nc19nZXRfdHlwZQorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktp
dFVSSVJlcXVlc3Q8L0ZJTEU+CitXZWJLaXRVUklSZXF1ZXN0Cit3ZWJraXRfdXJpX3JlcXVlc3Rf
bmV3Cit3ZWJraXRfdXJpX3JlcXVlc3RfZ2V0X3VyaQord2Via2l0X3VyaV9yZXF1ZXN0X3NldF91
cmkKK3dlYmtpdF91cmlfcmVxdWVzdF9nZXRfaHR0cF9tZXRob2QKK3dlYmtpdF91cmlfcmVxdWVz
dF9nZXRfaHR0cF9oZWFkZXJzCisKKzxTVUJTRUNUSU9OIFN0YW5kYXJkPgorV2ViS2l0VVJJUmVx
dWVzdENsYXNzCitXRUJLSVRfVFlQRV9VUklfUkVRVUVTVAorV0VCS0lUX1VSSV9SRVFVRVNUCitX
RUJLSVRfSVNfVVJJX1JFUVVFU1QKK1dFQktJVF9VUklfUkVRVUVTVF9DTEFTUworV0VCS0lUX0lT
X1VSSV9SRVFVRVNUX0NMQVNTCitXRUJLSVRfVVJJX1JFUVVFU1RfR0VUX0NMQVNTCisKKzxTVUJT
RUNUSU9OIFByaXZhdGU+CitXZWJLaXRVUklSZXF1ZXN0UHJpdmF0ZQord2Via2l0X3VyaV9yZXF1
ZXN0X2dldF90eXBlCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+V2ViS2l0VVJJUmVz
cG9uc2U8L0ZJTEU+CitXZWJLaXRVUklSZXNwb25zZQord2Via2l0X3VyaV9yZXNwb25zZV9nZXRf
dXJpCit3ZWJraXRfdXJpX3Jlc3BvbnNlX2dldF9zdGF0dXNfY29kZQord2Via2l0X3VyaV9yZXNw
b25zZV9nZXRfY29udGVudF9sZW5ndGgKK3dlYmtpdF91cmlfcmVzcG9uc2VfZ2V0X21pbWVfdHlw
ZQord2Via2l0X3VyaV9yZXNwb25zZV9nZXRfc3VnZ2VzdGVkX2ZpbGVuYW1lCit3ZWJraXRfdXJp
X3Jlc3BvbnNlX2dldF9odHRwX2hlYWRlcnMKKworPFNVQlNFQ1RJT04gU3RhbmRhcmQ+CitXZWJL
aXRVUklSZXNwb25zZUNsYXNzCitXRUJLSVRfVFlQRV9VUklfUkVTUE9OU0UKK1dFQktJVF9VUklf
UkVTUE9OU0UKK1dFQktJVF9JU19VUklfUkVTUE9OU0UKK1dFQktJVF9VUklfUkVTUE9OU0VfQ0xB
U1MKK1dFQktJVF9JU19VUklfUkVTUE9OU0VfQ0xBU1MKK1dFQktJVF9VUklfUkVTUE9OU0VfR0VU
X0NMQVNTCisKKzxTVUJTRUNUSU9OIFByaXZhdGU+CitXZWJLaXRVUklSZXNwb25zZVByaXZhdGUK
K3dlYmtpdF91cmlfcmVzcG9uc2VfZ2V0X3R5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8
RklMRT5XZWJLaXRXaW5kb3dQcm9wZXJ0aWVzPC9GSUxFPgorV2ViS2l0V2luZG93UHJvcGVydGll
cword2Via2l0X3dpbmRvd19wcm9wZXJ0aWVzX2dldF90b29sYmFyX3Zpc2libGUKK3dlYmtpdF93
aW5kb3dfcHJvcGVydGllc19nZXRfc3RhdHVzYmFyX3Zpc2libGUKK3dlYmtpdF93aW5kb3dfcHJv
cGVydGllc19nZXRfc2Nyb2xsYmFyc192aXNpYmxlCit3ZWJraXRfd2luZG93X3Byb3BlcnRpZXNf
Z2V0X21lbnViYXJfdmlzaWJsZQord2Via2l0X3dpbmRvd19wcm9wZXJ0aWVzX2dldF9sb2NhdGlv
bmJhcl92aXNpYmxlCit3ZWJraXRfd2luZG93X3Byb3BlcnRpZXNfZ2V0X3Jlc2l6YWJsZQord2Vi
a2l0X3dpbmRvd19wcm9wZXJ0aWVzX2dldF9mdWxsc2NyZWVuCisKKzxTVUJTRUNUSU9OIFN0YW5k
YXJkPgorV2ViS2l0V2luZG93UHJvcGVydGllc0NsYXNzCitXRUJLSVRfVFlQRV9XSU5ET1dfUFJP
UEVSVElFUworV0VCS0lUX1dJTkRPV19QUk9QRVJUSUVTCitXRUJLSVRfSVNfV0lORE9XX1BST1BF
UlRJRVMKK1dFQktJVF9XSU5ET1dfUFJPUEVSVElFU19DTEFTUworV0VCS0lUX0lTX1dJTkRPV19Q
Uk9QRVJUSUVTX0NMQVNTCitXRUJLSVRfV0lORE9XX1BST1BFUlRJRVNfR0VUX0NMQVNTCisKKzxT
VUJTRUNUSU9OIFByaXZhdGU+CitXZWJLaXRXaW5kb3dQcm9wZXJ0aWVzUHJpdmF0ZQord2Via2l0
X3dpbmRvd19wcm9wZXJ0aWVzX2dldF90eXBlCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJ
TEU+V2ViS2l0RG93bmxvYWQ8L0ZJTEU+CitXZWJLaXREb3dubG9hZAord2Via2l0X2Rvd25sb2Fk
X2dldF9yZXF1ZXN0Cit3ZWJraXRfZG93bmxvYWRfZ2V0X2Rlc3RpbmF0aW9uCit3ZWJraXRfZG93
bmxvYWRfc2V0X2Rlc3RpbmF0aW9uCit3ZWJraXRfZG93bmxvYWRfZ2V0X3Jlc3BvbnNlCit3ZWJr
aXRfZG93bmxvYWRfY2FuY2VsCit3ZWJraXRfZG93bmxvYWRfZ2V0X2VzdGltYXRlZF9wcm9ncmVz
cword2Via2l0X2Rvd25sb2FkX2dldF9lbGFwc2VkX3RpbWUKK3dlYmtpdF9kb3dubG9hZF9nZXRf
cmVjZWl2ZWRfZGF0YV9sZW5ndGgKK3dlYmtpdF9kb3dubG9hZF9nZXRfd2ViX3ZpZXcKK3dlYmtp
dF9kb3dubG9hZF9nZXRfYWxsb3dfb3ZlcndyaXRlCit3ZWJraXRfZG93bmxvYWRfc2V0X2FsbG93
X292ZXJ3cml0ZQorCis8U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dlYktpdERvd25sb2FkQ2xhc3MK
K1dFQktJVF9UWVBFX0RPV05MT0FECitXRUJLSVRfRE9XTkxPQUQKK1dFQktJVF9JU19ET1dOTE9B
RAorV0VCS0lUX0RPV05MT0FEX0NMQVNTCitXRUJLSVRfSVNfRE9XTkxPQURfQ0xBU1MKK1dFQktJ
VF9ET1dOTE9BRF9HRVRfQ0xBU1MKKworPFNVQlNFQ1RJT04gUHJpdmF0ZT4KK1dlYktpdERvd25s
b2FkUHJpdmF0ZQord2Via2l0X2Rvd25sb2FkX2dldF90eXBlCis8L1NFQ1RJT04+CisKKzxTRUNU
SU9OPgorPEZJTEU+V2ViS2l0UGVybWlzc2lvblJlcXVlc3Q8L0ZJTEU+CitXZWJLaXRQZXJtaXNz
aW9uUmVxdWVzdAord2Via2l0X3Blcm1pc3Npb25fcmVxdWVzdF9hbGxvdword2Via2l0X3Blcm1p
c3Npb25fcmVxdWVzdF9kZW55CisKKzxTVUJTRUNUSU9OIFN0YW5kYXJkPgorV2ViS2l0UGVybWlz
c2lvblJlcXVlc3RJZmFjZQorV0VCS0lUX1RZUEVfUEVSTUlTU0lPTl9SRVFVRVNUCitXRUJLSVRf
UEVSTUlTU0lPTl9SRVFVRVNUCitXRUJLSVRfSVNfUEVSTUlTU0lPTl9SRVFVRVNUCitXRUJLSVRf
UEVSTUlTU0lPTl9SRVFVRVNUX0dFVF9JRkFDRQorCis8U1VCU0VDVElPTiBQcml2YXRlPgord2Vi
a2l0X3Blcm1pc3Npb25fcmVxdWVzdF9nZXRfdHlwZQorPC9TRUNUSU9OPgorCis8U0VDVElPTj4K
KzxGSUxFPldlYktpdEdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3Q8L0ZJTEU+CitXZWJLaXRH
ZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0CisKKzxTVUJTRUNUSU9OIFN0YW5kYXJkPgorV2Vi
S2l0R2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdENsYXNzCitXRUJLSVRfVFlQRV9HRU9MT0NB
VElPTl9QRVJNSVNTSU9OX1JFUVVFU1QKK1dFQktJVF9HRU9MT0NBVElPTl9QRVJNSVNTSU9OX1JF
UVVFU1QKK1dFQktJVF9JU19HRU9MT0NBVElPTl9QRVJNSVNTSU9OX1JFUVVFU1QKK1dFQktJVF9H
RU9MT0NBVElPTl9QRVJNSVNTSU9OX1JFUVVFU1RfQ0xBU1MKK1dFQktJVF9JU19HRU9MT0NBVElP
Tl9QRVJNSVNTSU9OX1JFUVVFU1RfQ0xBU1MKK1dFQktJVF9HRU9MT0NBVElPTl9QRVJNSVNTSU9O
X1JFUVVFU1RfR0VUX0NMQVNTCisKKzxTVUJTRUNUSU9OIFByaXZhdGU+CitXZWJLaXRHZW9sb2Nh
dGlvblBlcm1pc3Npb25SZXF1ZXN0UHJpdmF0ZQord2Via2l0X2dlb2xvY2F0aW9uX3Blcm1pc3Np
b25fcmVxdWVzdF9nZXRfdHlwZQorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktp
dEluc3RhbGxNaXNzaW5nTWVkaWFQbHVnaW5zUGVybWlzc2lvblJlcXVlc3Q8L0ZJTEU+CitXZWJL
aXRJbnN0YWxsTWlzc2luZ01lZGlhUGx1Z2luc1Blcm1pc3Npb25SZXF1ZXN0Cit3ZWJraXRfaW5z
dGFsbF9taXNzaW5nX21lZGlhX3BsdWdpbnNfcGVybWlzc2lvbl9yZXF1ZXN0X2dldF9kZXNjcmlw
dGlvbgorCis8U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dlYktpdEluc3RhbGxNaXNzaW5nTWVkaWFQ
bHVnaW5zUGVybWlzc2lvblJlcXVlc3RDbGFzcworV0VCS0lUX1RZUEVfSU5TVEFMTF9NSVNTSU5H
X01FRElBX1BMVUdJTlNfUEVSTUlTU0lPTl9SRVFVRVNUCitXRUJLSVRfSU5TVEFMTF9NSVNTSU5H
X01FRElBX1BMVUdJTlNfUEVSTUlTU0lPTl9SRVFVRVNUCitXRUJLSVRfSVNfSU5TVEFMTF9NSVNT
SU5HX01FRElBX1BMVUdJTlNfUEVSTUlTU0lPTl9SRVFVRVNUCitXRUJLSVRfSU5TVEFMTF9NSVNT
SU5HX01FRElBX1BMVUdJTlNfUEVSTUlTU0lPTl9SRVFVRVNUX0NMQVNTCitXRUJLSVRfSVNfSU5T
VEFMTF9NSVNTSU5HX01FRElBX1BMVUdJTlNfUEVSTUlTU0lPTl9SRVFVRVNUX0NMQVNTCitXRUJL
SVRfSU5TVEFMTF9NSVNTSU5HX01FRElBX1BMVUdJTlNfUEVSTUlTU0lPTl9SRVFVRVNUX0dFVF9D
TEFTUworCis8U1VCU0VDVElPTiBQcml2YXRlPgorV2ViS2l0SW5zdGFsbE1pc3NpbmdNZWRpYVBs
dWdpbnNQZXJtaXNzaW9uUmVxdWVzdFByaXZhdGUKK3dlYmtpdF9pbnN0YWxsX21pc3NpbmdfbWVk
aWFfcGx1Z2luc19wZXJtaXNzaW9uX3JlcXVlc3RfZ2V0X3R5cGUKKzwvU0VDVElPTj4KKworPFNF
Q1RJT04+Cis8RklMRT5XZWJLaXREZXZpY2VJbmZvUGVybWlzc2lvblJlcXVlc3Q8L0ZJTEU+CitX
ZWJLaXREZXZpY2VJbmZvUGVybWlzc2lvblJlcXVlc3QKKworPFNVQlNFQ1RJT04gU3RhbmRhcmQ+
CitXZWJLaXREZXZpY2VJbmZvUGVybWlzc2lvblJlcXVlc3RDbGFzcworV0VCS0lUX1RZUEVfREVW
SUNFX0lORk9fUEVSTUlTU0lPTl9SRVFVRVNUCitXRUJLSVRfREVWSUNFX0lORk9fUEVSTUlTU0lP
Tl9SRVFVRVNUCitXRUJLSVRfSVNfREVWSUNFX0lORk9fUEVSTUlTU0lPTl9SRVFVRVNUCitXRUJL
SVRfREVWSUNFX0lORk9fUEVSTUlTU0lPTl9SRVFVRVNUX0NMQVNTCitXRUJLSVRfSVNfREVWSUNF
X0lORk9fUEVSTUlTU0lPTl9SRVFVRVNUX0NMQVNTCitXRUJLSVRfREVWSUNFX0lORk9fUEVSTUlT
U0lPTl9SRVFVRVNUX0dFVF9DTEFTUworCis8U1VCU0VDVElPTiBQcml2YXRlPgorV2ViS2l0RGV2
aWNlSW5mb1Blcm1pc3Npb25SZXF1ZXN0UHJpdmF0ZQord2Via2l0X2RldmljZV9pbmZvX3Blcm1p
c3Npb25fcmVxdWVzdF9nZXRfdHlwZQorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldl
YktpdE5hdmlnYXRpb25BY3Rpb248L0ZJTEU+CitXZWJLaXROYXZpZ2F0aW9uQWN0aW9uCit3ZWJr
aXRfbmF2aWdhdGlvbl9hY3Rpb25fY29weQord2Via2l0X25hdmlnYXRpb25fYWN0aW9uX2ZyZWUK
K3dlYmtpdF9uYXZpZ2F0aW9uX2FjdGlvbl9nZXRfbmF2aWdhdGlvbl90eXBlCit3ZWJraXRfbmF2
aWdhdGlvbl9hY3Rpb25fZ2V0X21vdXNlX2J1dHRvbgord2Via2l0X25hdmlnYXRpb25fYWN0aW9u
X2dldF9tb2RpZmllcnMKK3dlYmtpdF9uYXZpZ2F0aW9uX2FjdGlvbl9nZXRfcmVxdWVzdAord2Vi
a2l0X25hdmlnYXRpb25fYWN0aW9uX2lzX3VzZXJfZ2VzdHVyZQord2Via2l0X25hdmlnYXRpb25f
YWN0aW9uX2lzX3JlZGlyZWN0CisKKzxTVUJTRUNUSU9OIFN0YW5kYXJkPgorV0VCS0lUX1RZUEVf
TkFWSUdBVElPTl9BQ1RJT04KKworPFNVQlNFQ1RJT04gUHJpdmF0ZT4KK3dlYmtpdF9uYXZpZ2F0
aW9uX2FjdGlvbl9nZXRfdHlwZQorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktp
dFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0PC9GSUxFPgorV2ViS2l0VXNlck1lZGlhUGVybWlz
c2lvblJlcXVlc3QKK3dlYmtpdF91c2VyX21lZGlhX3Blcm1pc3Npb25faXNfZm9yX2F1ZGlvX2Rl
dmljZQord2Via2l0X3VzZXJfbWVkaWFfcGVybWlzc2lvbl9pc19mb3JfdmlkZW9fZGV2aWNlCisK
KzxTVUJTRUNUSU9OIFN0YW5kYXJkPgorV2ViS2l0VXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RD
bGFzcworV0VCS0lUX1RZUEVfVVNFUl9NRURJQV9QRVJNSVNTSU9OX1JFUVVFU1QKK1dFQktJVF9V
U0VSX01FRElBX1BFUk1JU1NJT05fUkVRVUVTVAorV0VCS0lUX0lTX1VTRVJfTUVESUFfUEVSTUlT
U0lPTl9SRVFVRVNUCitXRUJLSVRfVVNFUl9NRURJQV9QRVJNSVNTSU9OX1JFUVVFU1RfQ0xBU1MK
K1dFQktJVF9JU19VU0VSX01FRElBX1BFUk1JU1NJT05fUkVRVUVTVF9DTEFTUworV0VCS0lUX1VT
RVJfTUVESUFfUEVSTUlTU0lPTl9SRVFVRVNUX0dFVF9DTEFTUworCis8U1VCU0VDVElPTiBQcml2
YXRlPgorV2ViS2l0VXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcml2YXRlCit3ZWJraXRfdXNl
cl9tZWRpYV9wZXJtaXNzaW9uX3JlcXVlc3RfZ2V0X3R5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJ
T04+Cis8RklMRT5XZWJLaXROb3RpZmljYXRpb248L0ZJTEU+CitXZWJLaXROb3RpZmljYXRpb24K
K3dlYmtpdF9ub3RpZmljYXRpb25fZ2V0X2lkCit3ZWJraXRfbm90aWZpY2F0aW9uX2dldF90aXRs
ZQord2Via2l0X25vdGlmaWNhdGlvbl9nZXRfYm9keQord2Via2l0X25vdGlmaWNhdGlvbl9nZXRf
dGFnCit3ZWJraXRfbm90aWZpY2F0aW9uX2Nsb3NlCit3ZWJraXRfbm90aWZpY2F0aW9uX2NsaWNr
ZWQKKworPFNVQlNFQ1RJT04gU3RhbmRhcmQ+CitXZWJLaXROb3RpZmljYXRpb25DbGFzcworV0VC
S0lUX1RZUEVfTk9USUZJQ0FUSU9OCitXRUJLSVRfSVNfTk9USUZJQ0FUSU9OCitXRUJLSVRfTk9U
SUZJQ0FUSU9OCitXRUJLSVRfTk9USUZJQ0FUSU9OX0NMQVNTCitXRUJLSVRfSVNfTk9USUZJQ0FU
SU9OX0NMQVNTCitXRUJLSVRfTk9USUZJQ0FUSU9OX0dFVF9DTEFTUworCis8U1VCU0VDVElPTiBQ
cml2YXRlPgorV2ViS2l0Tm90aWZpY2F0aW9uUHJpdmF0ZQord2Via2l0X25vdGlmaWNhdGlvbl9n
ZXRfdHlwZQorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktpdE5vdGlmaWNhdGlv
blBlcm1pc3Npb25SZXF1ZXN0PC9GSUxFPgorV2ViS2l0Tm90aWZpY2F0aW9uUGVybWlzc2lvblJl
cXVlc3QKKworPFNVQlNFQ1RJT04gU3RhbmRhcmQ+CitXZWJLaXROb3RpZmljYXRpb25QZXJtaXNz
aW9uUmVxdWVzdENsYXNzCitXRUJLSVRfVFlQRV9OT1RJRklDQVRJT05fUEVSTUlTU0lPTl9SRVFV
RVNUCitXRUJLSVRfTk9USUZJQ0FUSU9OX1BFUk1JU1NJT05fUkVRVUVTVAorV0VCS0lUX0lTX05P
VElGSUNBVElPTl9QRVJNSVNTSU9OX1JFUVVFU1QKK1dFQktJVF9OT1RJRklDQVRJT05fUEVSTUlT
U0lPTl9SRVFVRVNUX0NMQVNTCitXRUJLSVRfSVNfTk9USUZJQ0FUSU9OX1BFUk1JU1NJT05fUkVR
VUVTVF9DTEFTUworV0VCS0lUX05PVElGSUNBVElPTl9QRVJNSVNTSU9OX1JFUVVFU1RfR0VUX0NM
QVNTCisKKzxTVUJTRUNUSU9OIFByaXZhdGU+CitXZWJLaXROb3RpZmljYXRpb25QZXJtaXNzaW9u
UmVxdWVzdFByaXZhdGUKK3dlYmtpdF9ub3RpZmljYXRpb25fcGVybWlzc2lvbl9yZXF1ZXN0X2dl
dF90eXBlCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+V2ViS2l0UG9saWN5RGVjaXNp
b248L0ZJTEU+CitXZWJLaXRQb2xpY3lEZWNpc2lvbgord2Via2l0X3BvbGljeV9kZWNpc2lvbl9k
b3dubG9hZAord2Via2l0X3BvbGljeV9kZWNpc2lvbl9pZ25vcmUKK3dlYmtpdF9wb2xpY3lfZGVj
aXNpb25fdXNlCisKKzxTVUJTRUNUSU9OIFN0YW5kYXJkPgorV2ViS2l0UG9saWN5RGVjaXNpb25D
bGFzcworV0VCS0lUX1RZUEVfUE9MSUNZX0RFQ0lTSU9OCitXRUJLSVRfUE9MSUNZX0RFQ0lTSU9O
CitXRUJLSVRfSVNfUE9MSUNZX0RFQ0lTSU9OCitXRUJLSVRfUE9MSUNZX0RFQ0lTSU9OX0NMQVNT
CitXRUJLSVRfSVNfUE9MSUNZX0RFQ0lTSU9OX0NMQVNTCitXRUJLSVRfUE9MSUNZX0RFQ0lTSU9O
X0dFVF9DTEFTUworCis8U1VCU0VDVElPTiBQcml2YXRlPgorV2ViS2l0UG9saWN5RGVjaXNpb25Q
cml2YXRlCit3ZWJraXRfcG9saWN5X2RlY2lzaW9uX2dldF90eXBlCis8L1NFQ1RJT04+CisKKzxT
RUNUSU9OPgorPEZJTEU+V2ViS2l0TmF2aWdhdGlvblBvbGljeURlY2lzaW9uPC9GSUxFPgorV2Vi
S2l0TmF2aWdhdGlvblBvbGljeURlY2lzaW9uCitXZWJLaXROYXZpZ2F0aW9uVHlwZQord2Via2l0
X25hdmlnYXRpb25fcG9saWN5X2RlY2lzaW9uX2dldF9uYXZpZ2F0aW9uX2FjdGlvbgord2Via2l0
X25hdmlnYXRpb25fcG9saWN5X2RlY2lzaW9uX2dldF9mcmFtZV9uYW1lCisKKzxTVUJTRUNUSU9O
IFN0YW5kYXJkPgorV2ViS2l0TmF2aWdhdGlvblBvbGljeURlY2lzaW9uQ2xhc3MKK1dFQktJVF9U
WVBFX05BVklHQVRJT05fUE9MSUNZX0RFQ0lTSU9OCitXRUJLSVRfTkFWSUdBVElPTl9QT0xJQ1lf
REVDSVNJT04KK1dFQktJVF9JU19OQVZJR0FUSU9OX1BPTElDWV9ERUNJU0lPTgorV0VCS0lUX05B
VklHQVRJT05fUE9MSUNZX0RFQ0lTSU9OX0NMQVNTCitXRUJLSVRfSVNfTkFWSUdBVElPTl9QT0xJ
Q1lfREVDSVNJT05fQ0xBU1MKK1dFQktJVF9OQVZJR0FUSU9OX1BPTElDWV9ERUNJU0lPTl9HRVRf
Q0xBU1MKKworPFNVQlNFQ1RJT04gUHJpdmF0ZT4KK1dlYktpdE5hdmlnYXRpb25Qb2xpY3lEZWNp
c2lvblByaXZhdGUKK3dlYmtpdF9uYXZpZ2F0aW9uX3BvbGljeV9kZWNpc2lvbl9nZXRfdHlwZQor
PC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktpdFJlc3BvbnNlUG9saWN5RGVjaXNp
b248L0ZJTEU+CitXZWJLaXRSZXNwb25zZVBvbGljeURlY2lzaW9uCit3ZWJraXRfcmVzcG9uc2Vf
cG9saWN5X2RlY2lzaW9uX2dldF9yZXF1ZXN0Cit3ZWJraXRfcmVzcG9uc2VfcG9saWN5X2RlY2lz
aW9uX2dldF9yZXNwb25zZQord2Via2l0X3Jlc3BvbnNlX3BvbGljeV9kZWNpc2lvbl9pc19taW1l
X3R5cGVfc3VwcG9ydGVkCisKKzxTVUJTRUNUSU9OIFN0YW5kYXJkPgorV2ViS2l0UmVzcG9uc2VQ
b2xpY3lEZWNpc2lvbkNsYXNzCitXRUJLSVRfVFlQRV9SRVNQT05TRV9QT0xJQ1lfREVDSVNJT04K
K1dFQktJVF9SRVNQT05TRV9QT0xJQ1lfREVDSVNJT04KK1dFQktJVF9JU19SRVNQT05TRV9QT0xJ
Q1lfREVDSVNJT04KK1dFQktJVF9SRVNQT05TRV9QT0xJQ1lfREVDSVNJT05fQ0xBU1MKK1dFQktJ
VF9JU19SRVNQT05TRV9QT0xJQ1lfREVDSVNJT05fQ0xBU1MKK1dFQktJVF9SRVNQT05TRV9QT0xJ
Q1lfREVDSVNJT05fR0VUX0NMQVNTCisKKzxTVUJTRUNUSU9OIFByaXZhdGU+CitXZWJLaXRSZXNw
b25zZVBvbGljeURlY2lzaW9uUHJpdmF0ZQord2Via2l0X3Jlc3BvbnNlX3BvbGljeV9kZWNpc2lv
bl9nZXRfdHlwZQorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktpdEhpdFRlc3RS
ZXN1bHQ8L0ZJTEU+CitXZWJLaXRIaXRUZXN0UmVzdWx0CitXZWJLaXRIaXRUZXN0UmVzdWx0Q29u
dGV4dAord2Via2l0X2hpdF90ZXN0X3Jlc3VsdF9nZXRfY29udGV4dAord2Via2l0X2hpdF90ZXN0
X3Jlc3VsdF9jb250ZXh0X2lzX2xpbmsKK3dlYmtpdF9oaXRfdGVzdF9yZXN1bHRfY29udGV4dF9p
c19pbWFnZQord2Via2l0X2hpdF90ZXN0X3Jlc3VsdF9jb250ZXh0X2lzX21lZGlhCit3ZWJraXRf
aGl0X3Rlc3RfcmVzdWx0X2NvbnRleHRfaXNfZWRpdGFibGUKK3dlYmtpdF9oaXRfdGVzdF9yZXN1
bHRfY29udGV4dF9pc19zZWxlY3Rpb24KK3dlYmtpdF9oaXRfdGVzdF9yZXN1bHRfY29udGV4dF9p
c19zY3JvbGxiYXIKK3dlYmtpdF9oaXRfdGVzdF9yZXN1bHRfZ2V0X2xpbmtfdXJpCit3ZWJraXRf
aGl0X3Rlc3RfcmVzdWx0X2dldF9saW5rX3RpdGxlCit3ZWJraXRfaGl0X3Rlc3RfcmVzdWx0X2dl
dF9saW5rX2xhYmVsCit3ZWJraXRfaGl0X3Rlc3RfcmVzdWx0X2dldF9pbWFnZV91cmkKK3dlYmtp
dF9oaXRfdGVzdF9yZXN1bHRfZ2V0X21lZGlhX3VyaQorCis8U1VCU0VDVElPTiBTdGFuZGFyZD4K
K1dlYktpdEhpdFRlc3RSZXN1bHRDbGFzcworV0VCS0lUX1RZUEVfSElUX1RFU1RfUkVTVUxUCitX
RUJLSVRfSElUX1RFU1RfUkVTVUxUCitXRUJLSVRfSVNfSElUX1RFU1RfUkVTVUxUCitXRUJLSVRf
SElUX1RFU1RfUkVTVUxUX0NMQVNTCitXRUJLSVRfSVNfSElUX1RFU1RfUkVTVUxUX0NMQVNTCitX
RUJLSVRfSElUX1RFU1RfUkVTVUxUX0dFVF9DTEFTUworCis8U1VCU0VDVElPTiBQcml2YXRlPgor
V2ViS2l0SGl0VGVzdFJlc3VsdFByaXZhdGUKK3dlYmtpdF9oaXRfdGVzdF9yZXN1bHRfZ2V0X3R5
cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXRFZGl0b3JTdGF0ZTwvRklM
RT4KK1dlYktpdEVkaXRvclN0YXRlCitXZWJLaXRFZGl0b3JUeXBpbmdBdHRyaWJ1dGVzCit3ZWJr
aXRfZWRpdG9yX3N0YXRlX2dldF90eXBpbmdfYXR0cmlidXRlcword2Via2l0X2VkaXRvcl9zdGF0
ZV9pc19jdXRfYXZhaWxhYmxlCit3ZWJraXRfZWRpdG9yX3N0YXRlX2lzX2NvcHlfYXZhaWxhYmxl
Cit3ZWJraXRfZWRpdG9yX3N0YXRlX2lzX3Bhc3RlX2F2YWlsYWJsZQord2Via2l0X2VkaXRvcl9z
dGF0ZV9pc191bmRvX2F2YWlsYWJsZQord2Via2l0X2VkaXRvcl9zdGF0ZV9pc19yZWRvX2F2YWls
YWJsZQorCis8U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dlYktpdEVkaXRvclN0YXRlQ2xhc3MKK1dF
QktJVF9UWVBFX0VESVRPUl9TVEFURQorV0VCS0lUX0VESVRPUl9TVEFURQorV0VCS0lUX0lTX0VE
SVRPUl9TVEFURQorV0VCS0lUX0VESVRPUl9TVEFURV9DTEFTUworV0VCS0lUX0lTX0VESVRPUl9T
VEFURV9DTEFTUworV0VCS0lUX0VESVRPUl9TVEFURV9HRVRfQ0xBU1MKKworPFNVQlNFQ1RJT04g
UHJpdmF0ZT4KK1dlYktpdEVkaXRvclN0YXRlUHJpdmF0ZQord2Via2l0X2VkaXRvcl9zdGF0ZV9n
ZXRfdHlwZQorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktpdFdlYlJlc291cmNl
PC9GSUxFPgorV2ViS2l0V2ViUmVzb3VyY2UKK3dlYmtpdF93ZWJfcmVzb3VyY2VfZ2V0X3VyaQor
d2Via2l0X3dlYl9yZXNvdXJjZV9nZXRfcmVzcG9uc2UKK3dlYmtpdF93ZWJfcmVzb3VyY2VfZ2V0
X2RhdGEKK3dlYmtpdF93ZWJfcmVzb3VyY2VfZ2V0X2RhdGFfZmluaXNoCisKKzxTVUJTRUNUSU9O
IFN0YW5kYXJkPgorV2ViS2l0V2ViUmVzb3VyY2VDbGFzcworV0VCS0lUX1RZUEVfV0VCX1JFU09V
UkNFCitXRUJLSVRfV0VCX1JFU09VUkNFCitXRUJLSVRfSVNfV0VCX1JFU09VUkNFCitXRUJLSVRf
V0VCX1JFU09VUkNFX0NMQVNTCitXRUJLSVRfSVNfV0VCX1JFU09VUkNFX0NMQVNTCitXRUJLSVRf
V0VCX1JFU09VUkNFX0dFVF9DTEFTUworCis8U1VCU0VDVElPTiBQcml2YXRlPgorV2ViS2l0V2Vi
UmVzb3VyY2VQcml2YXRlCit3ZWJraXRfd2ViX3Jlc291cmNlX2dldF90eXBlCis8L1NFQ1RJT04+
CisKKzxTRUNUSU9OPgorPEZJTEU+V2ViS2l0RXJyb3I8L0ZJTEU+CitXRUJLSVRfTkVUV09SS19F
UlJPUgorV0VCS0lUX1BMVUdJTl9FUlJPUgorV0VCS0lUX1BPTElDWV9FUlJPUgorV0VCS0lUX0RP
V05MT0FEX0VSUk9SCitXRUJLSVRfSkFWQVNDUklQVF9FUlJPUgorV0VCS0lUX1NOQVBTSE9UX0VS
Uk9SCitXZWJLaXROZXR3b3JrRXJyb3IKK1dlYktpdFBsdWdpbkVycm9yCitXZWJLaXRQb2xpY3lF
cnJvcgorV2ViS2l0RG93bmxvYWRFcnJvcgorV2ViS2l0SmF2YXNjcmlwdEVycm9yCitXZWJLaXRT
bmFwc2hvdEVycm9yCit3ZWJraXRfbmV0d29ya19lcnJvcl9xdWFyaword2Via2l0X3BsdWdpbl9l
cnJvcl9xdWFyaword2Via2l0X3BvbGljeV9lcnJvcl9xdWFyaword2Via2l0X2Rvd25sb2FkX2Vy
cm9yX3F1YXJrCit3ZWJraXRfamF2YXNjcmlwdF9lcnJvcl9xdWFyaword2Via2l0X3NuYXBzaG90
X2Vycm9yX3F1YXJrCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+V2ViS2l0RmF2aWNv
bkRhdGFiYXNlPC9GSUxFPgorV2ViS2l0RmF2aWNvbkRhdGFiYXNlCitXRUJLSVRfRkFWSUNPTl9E
QVRBQkFTRV9FUlJPUgorV2ViS2l0RmF2aWNvbkRhdGFiYXNlRXJyb3IKK3dlYmtpdF9mYXZpY29u
X2RhdGFiYXNlX2dldF9mYXZpY29uX3VyaQord2Via2l0X2Zhdmljb25fZGF0YWJhc2VfY2xlYXIK
KworPFNVQlNFQ1RJT04gU3RhbmRhcmQ+CitXZWJLaXRGYXZpY29uRGF0YWJhc2VDbGFzcworV0VC
S0lUX1RZUEVfRkFWSUNPTl9EQVRBQkFTRQorV0VCS0lUX0ZBVklDT05fREFUQUJBU0UKK1dFQktJ
VF9JU19GQVZJQ09OX0RBVEFCQVNFCitXRUJLSVRfRkFWSUNPTl9EQVRBQkFTRV9DTEFTUworV0VC
S0lUX0lTX0ZBVklDT05fREFUQUJBU0VfQ0xBU1MKK1dFQktJVF9GQVZJQ09OX0RBVEFCQVNFX0dF
VF9DTEFTUworCis8U1VCU0VDVElPTiBQcml2YXRlPgorV2ViS2l0RmF2aWNvbkRhdGFiYXNlUHJp
dmF0ZQord2Via2l0X2Zhdmljb25fZGF0YWJhc2VfZ2V0X3R5cGUKK3dlYmtpdF9mYXZpY29uX2Rh
dGFiYXNlX2Vycm9yX3F1YXJrCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+V2ViS2l0
RmlsZUNob29zZXJSZXF1ZXN0PC9GSUxFPgorV2ViS2l0RmlsZUNob29zZXJSZXF1ZXN0Cit3ZWJr
aXRfZmlsZV9jaG9vc2VyX3JlcXVlc3RfZ2V0X21pbWVfdHlwZXMKK3dlYmtpdF9maWxlX2Nob29z
ZXJfcmVxdWVzdF9nZXRfc2VsZWN0X211bHRpcGxlCit3ZWJraXRfZmlsZV9jaG9vc2VyX3JlcXVl
c3Rfc2VsZWN0X2ZpbGVzCit3ZWJraXRfZmlsZV9jaG9vc2VyX3JlcXVlc3RfZ2V0X3NlbGVjdGVk
X2ZpbGVzCit3ZWJraXRfZmlsZV9jaG9vc2VyX3JlcXVlc3RfY2FuY2VsCisKKzxTVUJTRUNUSU9O
IFN0YW5kYXJkPgorV2ViS2l0RmlsZUNob29zZXJSZXF1ZXN0Q2xhc3MKK1dFQktJVF9UWVBFX0ZJ
TEVfQ0hPT1NFUl9SRVFVRVNUCitXRUJLSVRfRklMRV9DSE9PU0VSX1JFUVVFU1QKK1dFQktJVF9J
U19GSUxFX0NIT09TRVJfUkVRVUVTVAorV0VCS0lUX0ZJTEVfQ0hPT1NFUl9SRVFVRVNUX0NMQVNT
CitXRUJLSVRfSVNfRklMRV9DSE9PU0VSX1JFUVVFU1RfQ0xBU1MKK1dFQktJVF9GSUxFX0NIT09T
RVJfUkVRVUVTVF9HRVRfQ0xBU1MKKworPFNVQlNFQ1RJT04gUHJpdmF0ZT4KK1dlYktpdEZpbGVD
aG9vc2VyUmVxdWVzdFByaXZhdGUKK3dlYmtpdF9maWxlX2Nob29zZXJfcmVxdWVzdF9nZXRfdHlw
ZQorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktpdEZpbmRDb250cm9sbGVyPC9G
SUxFPgorV2ViS2l0RmluZENvbnRyb2xsZXIKK1dlYktpdEZpbmRPcHRpb25zCit3ZWJraXRfZmlu
ZF9jb250cm9sbGVyX3NlYXJjaAord2Via2l0X2ZpbmRfY29udHJvbGxlcl9zZWFyY2hfZmluaXNo
Cit3ZWJraXRfZmluZF9jb250cm9sbGVyX3NlYXJjaF9uZXh0Cit3ZWJraXRfZmluZF9jb250cm9s
bGVyX3NlYXJjaF9wcmV2aW91cword2Via2l0X2ZpbmRfY29udHJvbGxlcl9nZXRfc2VhcmNoX3Rl
eHQKK3dlYmtpdF9maW5kX2NvbnRyb2xsZXJfY291bnRfbWF0Y2hlcword2Via2l0X2ZpbmRfY29u
dHJvbGxlcl9nZXRfb3B0aW9ucword2Via2l0X2ZpbmRfY29udHJvbGxlcl9nZXRfbWF4X21hdGNo
X2NvdW50Cit3ZWJraXRfZmluZF9jb250cm9sbGVyX2dldF93ZWJfdmlldworCis8U1VCU0VDVElP
TiBTdGFuZGFyZD4KK1dlYktpdEZpbmRDb250cm9sbGVyQ2xhc3MKK1dFQktJVF9UWVBFX0ZJTkRf
Q09OVFJPTExFUgorV0VCS0lUX0ZJTkRfQ09OVFJPTExFUgorV0VCS0lUX0lTX0ZJTkRfQ09OVFJP
TExFUgorV0VCS0lUX0ZJTkRfQ09OVFJPTExFUl9DTEFTUworV0VCS0lUX0lTX0ZJTkRfQ09OVFJP
TExFUl9DTEFTUworV0VCS0lUX0ZJTkRfQ09OVFJPTExFUl9HRVRfQ0xBU1MKKworPFNVQlNFQ1RJ
T04gUHJpdmF0ZT4KK1dlYktpdEZpbmRDb250cm9sbGVyUHJpdmF0ZQord2Via2l0X2ZpbmRfY29u
dHJvbGxlcl9nZXRfdHlwZQorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktpdENv
b2tpZU1hbmFnZXI8L0ZJTEU+CitXZWJLaXRDb29raWVNYW5hZ2VyCitXZWJLaXRDb29raWVQZXJz
aXN0ZW50U3RvcmFnZQorV2ViS2l0Q29va2llQWNjZXB0UG9saWN5Cit3ZWJraXRfY29va2llX21h
bmFnZXJfc2V0X3BlcnNpc3RlbnRfc3RvcmFnZQord2Via2l0X2Nvb2tpZV9tYW5hZ2VyX3NldF9h
Y2NlcHRfcG9saWN5Cit3ZWJraXRfY29va2llX21hbmFnZXJfZ2V0X2FjY2VwdF9wb2xpY3kKK3dl
YmtpdF9jb29raWVfbWFuYWdlcl9nZXRfYWNjZXB0X3BvbGljeV9maW5pc2gKK3dlYmtpdF9jb29r
aWVfbWFuYWdlcl9hZGRfY29va2llCit3ZWJraXRfY29va2llX21hbmFnZXJfYWRkX2Nvb2tpZV9m
aW5pc2gKK3dlYmtpdF9jb29raWVfbWFuYWdlcl9nZXRfY29va2llcword2Via2l0X2Nvb2tpZV9t
YW5hZ2VyX2dldF9jb29raWVzX2ZpbmlzaAord2Via2l0X2Nvb2tpZV9tYW5hZ2VyX2RlbGV0ZV9j
b29raWUKK3dlYmtpdF9jb29raWVfbWFuYWdlcl9kZWxldGVfY29va2llX2ZpbmlzaAorCis8U1VC
U0VDVElPTiBTdGFuZGFyZD4KK1dlYktpdENvb2tpZU1hbmFnZXJDbGFzcworV0VCS0lUX1RZUEVf
Q09PS0lFX01BTkFHRVIKK1dFQktJVF9DT09LSUVfTUFOQUdFUgorV0VCS0lUX0lTX0NPT0tJRV9N
QU5BR0VSCitXRUJLSVRfQ09PS0lFX01BTkFHRVJfQ0xBU1MKK1dFQktJVF9JU19DT09LSUVfTUFO
QUdFUl9DTEFTUworV0VCS0lUX0NPT0tJRV9NQU5BR0VSX0dFVF9DTEFTUworCis8U1VCU0VDVElP
TiBQcml2YXRlPgorV2ViS2l0Q29va2llTWFuYWdlclByaXZhdGUKK3dlYmtpdF9jb29raWVfbWFu
YWdlcl9nZXRfdHlwZQorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktpdFBsdWdp
bjwvRklMRT4KK1dlYktpdFBsdWdpbgord2Via2l0X3BsdWdpbl9nZXRfbmFtZQord2Via2l0X3Bs
dWdpbl9nZXRfZGVzY3JpcHRpb24KK3dlYmtpdF9wbHVnaW5fZ2V0X3BhdGgKK3dlYmtpdF9wbHVn
aW5fZ2V0X21pbWVfaW5mb19saXN0CisKKzxTVUJTRUNUSU9OIFdlYktpdE1pbWVJbmZvPgorV2Vi
S2l0TWltZUluZm8KK3dlYmtpdF9taW1lX2luZm9fcmVmCit3ZWJraXRfbWltZV9pbmZvX3VucmVm
Cit3ZWJraXRfbWltZV9pbmZvX2dldF9taW1lX3R5cGUKK3dlYmtpdF9taW1lX2luZm9fZ2V0X2Rl
c2NyaXB0aW9uCit3ZWJraXRfbWltZV9pbmZvX2dldF9leHRlbnNpb25zCisKKzxTVUJTRUNUSU9O
IFN0YW5kYXJkPgorV2ViS2l0UGx1Z2luQ2xhc3MKK1dFQktJVF9UWVBFX1BMVUdJTgorV0VCS0lU
X1BMVUdJTgorV0VCS0lUX0lTX1BMVUdJTgorV0VCS0lUX1BMVUdJTl9DTEFTUworV0VCS0lUX0lT
X1BMVUdJTl9DTEFTUworV0VCS0lUX1BMVUdJTl9HRVRfQ0xBU1MKK1dFQktJVF9UWVBFX01JTUVf
SU5GTworCis8U1VCU0VDVElPTiBQcml2YXRlPgord2Via2l0X3BsdWdpbl9nZXRfdHlwZQord2Vi
a2l0X21pbWVfaW5mb19nZXRfdHlwZQorV2ViS2l0UGx1Z2luUHJpdmF0ZQorPC9TRUNUSU9OPgor
Cis8U0VDVElPTj4KKzxGSUxFPldlYktpdFVSSVNjaGVtZVJlcXVlc3Q8L0ZJTEU+CitXZWJLaXRV
UklTY2hlbWVSZXF1ZXN0Cit3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF9zY2hlbWUKK3dl
YmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X3VyaQord2Via2l0X3VyaV9zY2hlbWVfcmVxdWVz
dF9nZXRfcGF0aAord2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRfd2ViX3ZpZXcKK3dlYmtp
dF91cmlfc2NoZW1lX3JlcXVlc3RfZmluaXNoCit3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2Zp
bmlzaF9lcnJvcgorCis8U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dlYktpdFVSSVNjaGVtZVJlcXVl
c3RDbGFzcworV0VCS0lUX1RZUEVfVVJJX1NDSEVNRV9SRVFVRVNUCitXRUJLSVRfVVJJX1NDSEVN
RV9SRVFVRVNUCitXRUJLSVRfSVNfVVJJX1NDSEVNRV9SRVFVRVNUCitXRUJLSVRfVVJJX1NDSEVN
RV9SRVFVRVNUX0NMQVNTCitXRUJLSVRfSVNfVVJJX1NDSEVNRV9SRVFVRVNUX0NMQVNTCitXRUJL
SVRfVVJJX1NDSEVNRV9SRVFVRVNUX0dFVF9DTEFTUworCis8U1VCU0VDVElPTiBQcml2YXRlPgor
V2ViS2l0VVJJU2NoZW1lUmVxdWVzdFByaXZhdGUKK3dlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3Rf
Z2V0X3R5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXRWZXJzaW9uPC9G
SUxFPgord2Via2l0X2dldF9tYWpvcl92ZXJzaW9uCit3ZWJraXRfZ2V0X21pbm9yX3ZlcnNpb24K
K3dlYmtpdF9nZXRfbWljcm9fdmVyc2lvbgorCis8U1VCU0VDVElPTj4KK1dFQktJVF9NQUpPUl9W
RVJTSU9OCitXRUJLSVRfTUlOT1JfVkVSU0lPTgorV0VCS0lUX01JQ1JPX1ZFUlNJT04KK1dFQktJ
VF9DSEVDS19WRVJTSU9OCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+V2ViS2l0Q29u
dGV4dE1lbnU8L0ZJTEU+CitXZWJLaXRDb250ZXh0TWVudQord2Via2l0X2NvbnRleHRfbWVudV9u
ZXcKK3dlYmtpdF9jb250ZXh0X21lbnVfbmV3X3dpdGhfaXRlbXMKK3dlYmtpdF9jb250ZXh0X21l
bnVfcHJlcGVuZAord2Via2l0X2NvbnRleHRfbWVudV9hcHBlbmQKK3dlYmtpdF9jb250ZXh0X21l
bnVfaW5zZXJ0Cit3ZWJraXRfY29udGV4dF9tZW51X21vdmVfaXRlbQord2Via2l0X2NvbnRleHRf
bWVudV9nZXRfaXRlbXMKK3dlYmtpdF9jb250ZXh0X21lbnVfZ2V0X25faXRlbXMKK3dlYmtpdF9j
b250ZXh0X21lbnVfZmlyc3QKK3dlYmtpdF9jb250ZXh0X21lbnVfbGFzdAord2Via2l0X2NvbnRl
eHRfbWVudV9nZXRfaXRlbV9hdF9wb3NpdGlvbgord2Via2l0X2NvbnRleHRfbWVudV9yZW1vdmUK
K3dlYmtpdF9jb250ZXh0X21lbnVfcmVtb3ZlX2FsbAord2Via2l0X2NvbnRleHRfbWVudV9zZXRf
dXNlcl9kYXRhCit3ZWJraXRfY29udGV4dF9tZW51X2dldF91c2VyX2RhdGEKKworPFNVQlNFQ1RJ
T04gU3RhbmRhcmQ+CitXZWJLaXRDb250ZXh0TWVudUNsYXNzCitXRUJLSVRfVFlQRV9DT05URVhU
X01FTlUKK1dFQktJVF9DT05URVhUX01FTlUKK1dFQktJVF9JU19DT05URVhUX01FTlUKK1dFQktJ
VF9DT05URVhUX01FTlVfQ0xBU1MKK1dFQktJVF9JU19DT05URVhUX01FTlVfQ0xBU1MKK1dFQktJ
VF9DT05URVhUX01FTlVfR0VUX0NMQVNTCisKKzxTVUJTRUNUSU9OIFByaXZhdGU+CitXZWJLaXRD
b250ZXh0TWVudVByaXZhdGUKK3dlYmtpdF9jb250ZXh0X21lbnVfZ2V0X3R5cGUKKzwvU0VDVElP
Tj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXRDb250ZXh0TWVudUl0ZW08L0ZJTEU+CitXZWJL
aXRDb250ZXh0TWVudUl0ZW0KK1dlYktpdENvbnRleHRNZW51QWN0aW9uCit3ZWJraXRfY29udGV4
dF9tZW51X2l0ZW1fbmV3X2Zyb21fZ2FjdGlvbgord2Via2l0X2NvbnRleHRfbWVudV9pdGVtX25l
d19mcm9tX3N0b2NrX2FjdGlvbgord2Via2l0X2NvbnRleHRfbWVudV9pdGVtX25ld19mcm9tX3N0
b2NrX2FjdGlvbl93aXRoX2xhYmVsCit3ZWJraXRfY29udGV4dF9tZW51X2l0ZW1fbmV3X3dpdGhf
c3VibWVudQord2Via2l0X2NvbnRleHRfbWVudV9pdGVtX25ld19zZXBhcmF0b3IKK3dlYmtpdF9j
b250ZXh0X21lbnVfaXRlbV9nZXRfZ2FjdGlvbgord2Via2l0X2NvbnRleHRfbWVudV9pdGVtX2dl
dF9zdG9ja19hY3Rpb24KK3dlYmtpdF9jb250ZXh0X21lbnVfaXRlbV9pc19zZXBhcmF0b3IKK3dl
YmtpdF9jb250ZXh0X21lbnVfaXRlbV9zZXRfc3VibWVudQord2Via2l0X2NvbnRleHRfbWVudV9p
dGVtX2dldF9zdWJtZW51CisKKzxTVUJTRUNUSU9OIFN0YW5kYXJkPgorV2ViS2l0Q29udGV4dE1l
bnVJdGVtQ2xhc3MKK1dFQktJVF9UWVBFX0NPTlRFWFRfTUVOVV9JVEVNCitXRUJLSVRfQ09OVEVY
VF9NRU5VX0lURU0KK1dFQktJVF9JU19DT05URVhUX01FTlVfSVRFTQorV0VCS0lUX0NPTlRFWFRf
TUVOVV9JVEVNX0NMQVNTCitXRUJLSVRfSVNfQ09OVEVYVF9NRU5VX0lURU1fQ0xBU1MKK1dFQktJ
VF9DT05URVhUX01FTlVfSVRFTV9HRVRfQ0xBU1MKKworPFNVQlNFQ1RJT04gUHJpdmF0ZT4KK1dl
YktpdENvbnRleHRNZW51SXRlbVByaXZhdGUKK3dlYmtpdF9jb250ZXh0X21lbnVfaXRlbV9nZXRf
dHlwZQorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktpdEZvcm1TdWJtaXNzaW9u
UmVxdWVzdDwvRklMRT4KK1dlYktpdEZvcm1TdWJtaXNzaW9uUmVxdWVzdAord2Via2l0X2Zvcm1f
c3VibWlzc2lvbl9yZXF1ZXN0X2xpc3RfdGV4dF9maWVsZHMKK3dlYmtpdF9mb3JtX3N1Ym1pc3Np
b25fcmVxdWVzdF9zdWJtaXQKKworPFNVQlNFQ1RJT04gU3RhbmRhcmQ+CitXZWJLaXRGb3JtU3Vi
bWlzc2lvblJlcXVlc3RDbGFzcworV0VCS0lUX1RZUEVfRk9STV9TVUJNSVNTSU9OX1JFUVVFU1QK
K1dFQktJVF9GT1JNX1NVQk1JU1NJT05fUkVRVUVTVAorV0VCS0lUX0lTX0ZPUk1fU1VCTUlTU0lP
Tl9SRVFVRVNUCitXRUJLSVRfRk9STV9TVUJNSVNTSU9OX1JFUVVFU1RfQ0xBU1MKK1dFQktJVF9J
U19GT1JNX1NVQk1JU1NJT05fUkVRVUVTVF9DTEFTUworV0VCS0lUX0ZPUk1fU1VCTUlTU0lPTl9S
RVFVRVNUX0dFVF9DTEFTUworCis8U1VCU0VDVElPTiBQcml2YXRlPgorV2ViS2l0Rm9ybVN1Ym1p
c3Npb25SZXF1ZXN0UHJpdmF0ZQord2Via2l0X2Zvcm1fc3VibWlzc2lvbl9yZXF1ZXN0X2dldF90
eXBlCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+V2ViS2l0U2VjdXJpdHlNYW5hZ2Vy
PC9GSUxFPgorV2ViS2l0U2VjdXJpdHlNYW5hZ2VyCit3ZWJraXRfc2VjdXJpdHlfbWFuYWdlcl9y
ZWdpc3Rlcl91cmlfc2NoZW1lX2FzX2xvY2FsCit3ZWJraXRfc2VjdXJpdHlfbWFuYWdlcl91cmlf
c2NoZW1lX2lzX2xvY2FsCit3ZWJraXRfc2VjdXJpdHlfbWFuYWdlcl9yZWdpc3Rlcl91cmlfc2No
ZW1lX2FzX25vX2FjY2Vzcword2Via2l0X3NlY3VyaXR5X21hbmFnZXJfdXJpX3NjaGVtZV9pc19u
b19hY2Nlc3MKK3dlYmtpdF9zZWN1cml0eV9tYW5hZ2VyX3JlZ2lzdGVyX3VyaV9zY2hlbWVfYXNf
ZGlzcGxheV9pc29sYXRlZAord2Via2l0X3NlY3VyaXR5X21hbmFnZXJfdXJpX3NjaGVtZV9pc19k
aXNwbGF5X2lzb2xhdGVkCit3ZWJraXRfc2VjdXJpdHlfbWFuYWdlcl9yZWdpc3Rlcl91cmlfc2No
ZW1lX2FzX3NlY3VyZQord2Via2l0X3NlY3VyaXR5X21hbmFnZXJfdXJpX3NjaGVtZV9pc19zZWN1
cmUKK3dlYmtpdF9zZWN1cml0eV9tYW5hZ2VyX3JlZ2lzdGVyX3VyaV9zY2hlbWVfYXNfY29yc19l
bmFibGVkCit3ZWJraXRfc2VjdXJpdHlfbWFuYWdlcl91cmlfc2NoZW1lX2lzX2NvcnNfZW5hYmxl
ZAord2Via2l0X3NlY3VyaXR5X21hbmFnZXJfcmVnaXN0ZXJfdXJpX3NjaGVtZV9hc19lbXB0eV9k
b2N1bWVudAord2Via2l0X3NlY3VyaXR5X21hbmFnZXJfdXJpX3NjaGVtZV9pc19lbXB0eV9kb2N1
bWVudAorCis8U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dlYktpdFNlY3VyaXR5TWFuYWdlckNsYXNz
CitXRUJLSVRfVFlQRV9TRUNVUklUWV9NQU5BR0VSCitXRUJLSVRfU0VDVVJJVFlfTUFOQUdFUgor
V0VCS0lUX0lTX1NFQ1VSSVRZX01BTkFHRVIKK1dFQktJVF9TRUNVUklUWV9NQU5BR0VSX0NMQVNT
CitXRUJLSVRfSVNfU0VDVVJJVFlfTUFOQUdFUl9DTEFTUworV0VCS0lUX1NFQ1VSSVRZX01BTkFH
RVJfR0VUX0NMQVNTCisKKzxTVUJTRUNUSU9OIFByaXZhdGU+CitXZWJLaXRTZWN1cml0eU1hbmFn
ZXJQcml2YXRlCit3ZWJraXRfc2VjdXJpdHlfbWFuYWdlcl9nZXRfdHlwZQorPC9TRUNUSU9OPgor
Cis8U0VDVElPTj4KKzxGSUxFPldlYktpdFNlY3VyaXR5T3JpZ2luPC9GSUxFPgorV2ViS2l0U2Vj
dXJpdHlPcmlnaW4KK3dlYmtpdF9zZWN1cml0eV9vcmlnaW5fbmV3Cit3ZWJraXRfc2VjdXJpdHlf
b3JpZ2luX25ld19mb3JfdXJpCit3ZWJraXRfc2VjdXJpdHlfb3JpZ2luX3JlZgord2Via2l0X3Nl
Y3VyaXR5X29yaWdpbl91bnJlZgord2Via2l0X3NlY3VyaXR5X29yaWdpbl9nZXRfcHJvdG9jb2wK
K3dlYmtpdF9zZWN1cml0eV9vcmlnaW5fZ2V0X2hvc3QKK3dlYmtpdF9zZWN1cml0eV9vcmlnaW5f
Z2V0X3BvcnQKK3dlYmtpdF9zZWN1cml0eV9vcmlnaW5faXNfb3BhcXVlCit3ZWJraXRfc2VjdXJp
dHlfb3JpZ2luX3RvX3N0cmluZworCis8U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dFQktJVF9UWVBF
X1NFQ1VSSVRZX09SSUdJTgorCis8U1VCU0VDVElPTiBQcml2YXRlPgord2Via2l0X3NlY3VyaXR5
X29yaWdpbl9nZXRfdHlwZQorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktpdFdl
YnNpdGVEYXRhTWFuYWdlcjwvRklMRT4KK1dlYktpdFdlYnNpdGVEYXRhTWFuYWdlcgord2Via2l0
X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX25ldword2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX25l
d19lcGhlbWVyYWwKK3dlYmtpdF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9pc19lcGhlbWVyYWwKK3dl
YmtpdF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9nZXRfYmFzZV9kYXRhX2RpcmVjdG9yeQord2Via2l0
X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX2dldF9iYXNlX2NhY2hlX2RpcmVjdG9yeQord2Via2l0X3dl
YnNpdGVfZGF0YV9tYW5hZ2VyX2dldF9sb2NhbF9zdG9yYWdlX2RpcmVjdG9yeQord2Via2l0X3dl
YnNpdGVfZGF0YV9tYW5hZ2VyX2dldF9kaXNrX2NhY2hlX2RpcmVjdG9yeQord2Via2l0X3dlYnNp
dGVfZGF0YV9tYW5hZ2VyX2dldF9vZmZsaW5lX2FwcGxpY2F0aW9uX2NhY2hlX2RpcmVjdG9yeQor
d2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX2dldF9pbmRleGVkZGJfZGlyZWN0b3J5Cit3ZWJr
aXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJfZ2V0X3dlYnNxbF9kaXJlY3RvcnkKK3dlYmtpdF93ZWJz
aXRlX2RhdGFfbWFuYWdlcl9nZXRfY29va2llX21hbmFnZXIKK3dlYmtpdF93ZWJzaXRlX2RhdGFf
bWFuYWdlcl9mZXRjaAord2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX2ZldGNoX2ZpbmlzaAor
d2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX3JlbW92ZQord2Via2l0X3dlYnNpdGVfZGF0YV9t
YW5hZ2VyX3JlbW92ZV9maW5pc2gKK3dlYmtpdF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9jbGVhcgor
d2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX2NsZWFyX2ZpbmlzaAorCis8U1VCU0VDVElPTiBT
dGFuZGFyZD4KK1dlYktpdFdlYnNpdGVEYXRhTWFuYWdlckNsYXNzCitXRUJLSVRfVFlQRV9XRUJT
SVRFX0RBVEFfTUFOQUdFUgorV0VCS0lUX1dFQlNJVEVfREFUQV9NQU5BR0VSCitXRUJLSVRfSVNf
V0VCU0lURV9EQVRBX01BTkFHRVIKK1dFQktJVF9XRUJTSVRFX0RBVEFfTUFOQUdFUl9DTEFTUwor
V0VCS0lUX0lTX1dFQlNJVEVfREFUQV9NQU5BR0VSX0NMQVNTCitXRUJLSVRfV0VCU0lURV9EQVRB
X01BTkFHRVJfR0VUX0NMQVNTCisKKzxTVUJTRUNUSU9OIFByaXZhdGU+CitXZWJLaXRXZWJzaXRl
RGF0YU1hbmFnZXJQcml2YXRlCit3ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJfZ2V0X3R5cGUK
KzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXRXZWJzaXRlRGF0YTwvRklMRT4K
K1dlYktpdFdlYnNpdGVEYXRhCitXZWJLaXRXZWJzaXRlRGF0YVR5cGVzCit3ZWJraXRfd2Vic2l0
ZV9kYXRhX3JlZgord2Via2l0X3dlYnNpdGVfZGF0YV91bnJlZgord2Via2l0X3dlYnNpdGVfZGF0
YV9nZXRfbmFtZQord2Via2l0X3dlYnNpdGVfZGF0YV9nZXRfdHlwZXMKK3dlYmtpdF93ZWJzaXRl
X2RhdGFfZ2V0X3NpemUKKworPFNVQlNFQ1RJT04gU3RhbmRhcmQ+CitXRUJLSVRfVFlQRV9XRUJT
SVRFX0RBVEEKKworPFNVQlNFQ1RJT04gUHJpdmF0ZT4KK3dlYmtpdF93ZWJzaXRlX2RhdGFfZ2V0
X3R5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXROZXR3b3JrUHJveHlT
ZXR0aW5nczwvRklMRT4KK1dlYktpdE5ldHdvcmtQcm94eVNldHRpbmdzCit3ZWJraXRfbmV0d29y
a19wcm94eV9zZXR0aW5nc19uZXcKK3dlYmtpdF9uZXR3b3JrX3Byb3h5X3NldHRpbmdzX2NvcHkK
K3dlYmtpdF9uZXR3b3JrX3Byb3h5X3NldHRpbmdzX2ZyZWUKK3dlYmtpdF9uZXR3b3JrX3Byb3h5
X3NldHRpbmdzX2FkZF9wcm94eV9mb3Jfc2NoZW1lCisKKzxTVUJTRUNUSU9OIFByaXZhdGU+Cit3
ZWJraXRfbmV0d29ya19wcm94eV9zZXR0aW5nc19nZXRfdHlwZQorCis8U1VCU0VDVElPTiBTdGFu
ZGFyZD4KK1dFQktJVF9UWVBFX05FVFdPUktfTkVUV09SS19QUk9YWV9TRVRUSU5HUworPC9TRUNU
SU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktpdEF1dG9tYXRpb25TZXNzaW9uPC9GSUxFPgor
V2ViS2l0QXV0b21hdGlvblNlc3Npb24KK3dlYmtpdF9hdXRvbWF0aW9uX3Nlc3Npb25fZ2V0X2lk
Cit3ZWJraXRfYXV0b21hdGlvbl9zZXNzaW9uX3NldF9hcHBsaWNhdGlvbl9pbmZvCit3ZWJraXRf
YXV0b21hdGlvbl9zZXNzaW9uX2dldF9hcHBsaWNhdGlvbl9pbmZvCisKKzxTVUJTRUNUSU9OIFBy
aXZhdGU+CitXZWJLaXRBdXRvbWF0aW9uU2Vzc2lvblByaXZhdGUKK3dlYmtpdF9hdXRvbWF0aW9u
X3Nlc3Npb25fZ2V0X3R5cGUKKworPFNVQlNFQ1RJT04gU3RhbmRhcmQ+CitXZWJLaXRBdXRvbWF0
aW9uU2Vzc2lvbkNsYXNzCitXRUJLSVRfVFlQRV9BVVRPTUFUSU9OX1NFU1NJT04KK1dFQktJVF9B
VVRPTUFUSU9OX1NFU1NJT04KK1dFQktJVF9JU19BVVRPTUFUSU9OX1NFU1NJT04KK1dFQktJVF9B
VVRPTUFUSU9OX1NFU1NJT05fQ0xBU1MKK1dFQktJVF9JU19BVVRPTUFUSU9OX1NFU1NJT05fQ0xB
U1MKK1dFQktJVF9BVVRPTUFUSU9OX1NFU1NJT05fR0VUX0NMQVNTCis8L1NFQ1RJT04+CisKKzxT
RUNUSU9OPgorPEZJTEU+V2ViS2l0QXBwbGljYXRpb25JbmZvPC9GSUxFPgorV2ViS2l0QXBwbGlj
YXRpb25JbmZvCit3ZWJraXRfYXBwbGljYXRpb25faW5mb19uZXcKK3dlYmtpdF9hcHBsaWNhdGlv
bl9pbmZvX3JlZgord2Via2l0X2FwcGxpY2F0aW9uX2luZm9fdW5yZWYKK3dlYmtpdF9hcHBsaWNh
dGlvbl9pbmZvX3NldF9uYW1lCit3ZWJraXRfYXBwbGljYXRpb25faW5mb19nZXRfbmFtZQord2Vi
a2l0X2FwcGxpY2F0aW9uX2luZm9fc2V0X3ZlcnNpb24KK3dlYmtpdF9hcHBsaWNhdGlvbl9pbmZv
X2dldF92ZXJzaW9uCisKKzxTVUJTRUNUSU9OIFByaXZhdGU+Cit3ZWJraXRfYXBwbGljYXRpb25f
aW5mb19nZXRfdHlwZQorCis8U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dFQktJVF9UWVBFX0FQUExJ
Q0FUSU9OX0lORk8KKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXRXZWJFeHRl
bnNpb248L0ZJTEU+CitXZWJLaXRXZWJFeHRlbnNpb24KK1dlYktpdFdlYkV4dGVuc2lvbkluaXRp
YWxpemVGdW5jdGlvbgorV2ViS2l0V2ViRXh0ZW5zaW9uSW5pdGlhbGl6ZVdpdGhVc2VyRGF0YUZ1
bmN0aW9uCit3ZWJraXRfd2ViX2V4dGVuc2lvbl9nZXRfcGFnZQorCis8U1VCU0VDVElPTiBTdGFu
ZGFyZD4KK1dlYktpdFdlYkV4dGVuc2lvbkNsYXNzCitXRUJLSVRfVFlQRV9XRUJfRVhURU5TSU9O
CitXRUJLSVRfV0VCX0VYVEVOU0lPTgorV0VCS0lUX0lTX1dFQl9FWFRFTlNJT04KK1dFQktJVF9X
RUJfRVhURU5TSU9OX0NMQVNTCitXRUJLSVRfSVNfV0VCX0VYVEVOU0lPTl9DTEFTUworV0VCS0lU
X1dFQl9FWFRFTlNJT05fR0VUX0NMQVNTCisKKzxTVUJTRUNUSU9OIFByaXZhdGU+CitXZWJLaXRX
ZWJFeHRlbnNpb25Qcml2YXRlCit3ZWJraXRfd2ViX2V4dGVuc2lvbl9nZXRfdHlwZQorPC9TRUNU
SU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktpdFdlYlBhZ2U8L0ZJTEU+CitXZWJLaXRXZWJQ
YWdlCitXZWJLaXRGb3JtU3VibWlzc2lvblN0ZXAKK3dlYmtpdF93ZWJfcGFnZV9nZXRfZG9tX2Rv
Y3VtZW50Cit3ZWJraXRfd2ViX3BhZ2VfZ2V0X2lkCit3ZWJraXRfd2ViX3BhZ2VfZ2V0X3VyaQor
d2Via2l0X3dlYl9wYWdlX2dldF9tYWluX2ZyYW1lCit3ZWJraXRfd2ViX3BhZ2VfZ2V0X2VkaXRv
cgorCis8U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dlYktpdFdlYlBhZ2VDbGFzcworV0VCS0lUX1RZ
UEVfV0VCX1BBR0UKK1dFQktJVF9XRUJfUEFHRQorV0VCS0lUX0lTX1dFQl9QQUdFCitXRUJLSVRf
V0VCX1BBR0VfQ0xBU1MKK1dFQktJVF9JU19XRUJfUEFHRV9DTEFTUworV0VCS0lUX1dFQl9QQUdF
X0dFVF9DTEFTUworV0VCS0lUX1RZUEVfRk9STV9TVUJNSVNTSU9OX1NURVAKKworPFNVQlNFQ1RJ
T04gUHJpdmF0ZT4KK1dlYktpdFdlYlBhZ2VQcml2YXRlCit3ZWJraXRfd2ViX3BhZ2VfZ2V0X3R5
cGUKK3dlYmtpdF9mb3JtX3N1Ym1pc3Npb25fc3RlcF9nZXRfdHlwZQorPC9TRUNUSU9OPgorCis8
U0VDVElPTj4KKzxGSUxFPldlYktpdFdlYkVkaXRvcjwvRklMRT4KK1dlYktpdFdlYkVkaXRvcgor
d2Via2l0X3dlYl9lZGl0b3JfZ2V0X3BhZ2UKKworPFNVQlNFQ1RJT04gU3RhbmRhcmQ+CitXZWJL
aXRXZWJFZGl0b3JDbGFzcworV0VCS0lUX1RZUEVfV0VCX0VESVRPUgorV0VCS0lUX1dFQl9FRElU
T1IKK1dFQktJVF9JU19XRUJfRURJVE9SCitXRUJLSVRfV0VCX0VESVRPUl9DTEFTUworV0VCS0lU
X0lTX1dFQl9FRElUT1JfQ0xBU1MKK1dFQktJVF9XRUJfRURJVE9SX0dFVF9DTEFTUworCis8U1VC
U0VDVElPTiBQcml2YXRlPgorV2ViS2l0V2ViRWRpdG9yUHJpdmF0ZQord2Via2l0X3dlYl9lZGl0
b3JfZ2V0X3R5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXRGcmFtZTwv
RklMRT4KK1dlYktpdEZyYW1lCit3ZWJraXRfZnJhbWVfaXNfbWFpbl9mcmFtZQord2Via2l0X2Zy
YW1lX2dldF91cmkKK3dlYmtpdF9mcmFtZV9nZXRfanNfY29udGV4dAord2Via2l0X2ZyYW1lX2dl
dF9qc19jb250ZXh0X2Zvcl9zY3JpcHRfd29ybGQKK3dlYmtpdF9mcmFtZV9nZXRfanNfdmFsdWVf
Zm9yX2RvbV9vYmplY3QKK3dlYmtpdF9mcmFtZV9nZXRfanNfdmFsdWVfZm9yX2RvbV9vYmplY3Rf
aW5fc2NyaXB0X3dvcmxkCisKKzxTVUJTRUNUSU9OIFN0YW5kYXJkPgorV2ViS2l0RnJhbWVDbGFz
cworV0VCS0lUX1RZUEVfRlJBTUUKK1dFQktJVF9GUkFNRQorV0VCS0lUX0lTX0ZSQU1FCitXRUJL
SVRfRlJBTUVfQ0xBU1MKK1dFQktJVF9JU19GUkFNRV9DTEFTUworV0VCS0lUX0ZSQU1FX0dFVF9D
TEFTUworCis8U1VCU0VDVElPTiBQcml2YXRlPgorV2ViS2l0RnJhbWVQcml2YXRlCit3ZWJraXRf
ZnJhbWVfZ2V0X3R5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXRTY3Jp
cHRXb3JsZDwvRklMRT4KK1dlYktpdFNjcmlwdFdvcmxkCit3ZWJraXRfc2NyaXB0X3dvcmxkX2dl
dF9kZWZhdWx0Cit3ZWJraXRfc2NyaXB0X3dvcmxkX25ldword2Via2l0X3NjcmlwdF93b3JsZF9u
ZXdfd2l0aF9uYW1lCit3ZWJraXRfc2NyaXB0X3dvcmxkX2dldF9uYW1lCisKKzxTVUJTRUNUSU9O
IFN0YW5kYXJkPgorV2ViS2l0U2NyaXB0V29ybGRDbGFzcworV0VCS0lUX1RZUEVfU0NSSVBUX1dP
UkxECitXRUJLSVRfU0NSSVBUX1dPUkxECitXRUJLSVRfSVNfU0NSSVBUX1dPUkxECitXRUJLSVRf
U0NSSVBUX1dPUkxEX0NMQVNTCitXRUJLSVRfSVNfU0NSSVBUX1dPUkxEX0NMQVNTCitXRUJLSVRf
U0NSSVBUX1dPUkxEX0dFVF9DTEFTUworCis8U1VCU0VDVElPTiBQcml2YXRlPgorV2ViS2l0U2Ny
aXB0V29ybGRQcml2YXRlCit3ZWJraXRfc2NyaXB0X3dvcmxkX2dldF90eXBlCis8L1NFQ1RJT04+
CisKKzxTRUNUSU9OPgorPEZJTEU+V2ViS2l0V2ViSGl0VGVzdFJlc3VsdDwvRklMRT4KK1dlYktp
dFdlYkhpdFRlc3RSZXN1bHQKK3dlYmtpdF93ZWJfaGl0X3Rlc3RfcmVzdWx0X2dldF9ub2RlCisK
KzxTVUJTRUNUSU9OIFN0YW5kYXJkPgorV2ViS2l0V2ViSGl0VGVzdFJlc3VsdENsYXNzCitXRUJL
SVRfVFlQRV9XRUJfSElUX1RFU1RfUkVTVUxUCitXRUJLSVRfV0VCX0hJVF9URVNUX1JFU1VMVAor
V0VCS0lUX0lTX1dFQl9ISVRfVEVTVF9SRVNVTFQKK1dFQktJVF9XRUJfSElUX1RFU1RfUkVTVUxU
X0NMQVNTCitXRUJLSVRfSVNfV0VCX0hJVF9URVNUX1JFU1VMVF9DTEFTUworV0VCS0lUX1dFQl9I
SVRfVEVTVF9SRVNVTFRfR0VUX0NMQVNTCisKKzxTVUJTRUNUSU9OIFByaXZhdGU+CitXZWJLaXRX
ZWJIaXRUZXN0UmVzdWx0UHJpdmF0ZQord2Via2l0X3dlYl9oaXRfdGVzdF9yZXN1bHRfZ2V0X3R5
cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXRDb25zb2xlTWVzc2FnZTwv
RklMRT4KK1dlYktpdENvbnNvbGVNZXNzYWdlCitXZWJLaXRDb25zb2xlTWVzc2FnZVNvdXJjZQor
V2ViS2l0Q29uc29sZU1lc3NhZ2VMZXZlbAord2Via2l0X2NvbnNvbGVfbWVzc2FnZV9jb3B5Cit3
ZWJraXRfY29uc29sZV9tZXNzYWdlX2ZyZWUKK3dlYmtpdF9jb25zb2xlX21lc3NhZ2VfZ2V0X3Nv
dXJjZQord2Via2l0X2NvbnNvbGVfbWVzc2FnZV9nZXRfbGV2ZWwKK3dlYmtpdF9jb25zb2xlX21l
c3NhZ2VfZ2V0X3RleHQKK3dlYmtpdF9jb25zb2xlX21lc3NhZ2VfZ2V0X2xpbmUKK3dlYmtpdF9j
b25zb2xlX21lc3NhZ2VfZ2V0X3NvdXJjZV9pZAorCis8U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dF
QktJVF9UWVBFX0NPTlNPTEVfTUVTU0FHRQorV0VCS0lUX1RZUEVfQ09OU09MRV9NRVNTQUdFX0xF
VkVMCitXRUJLSVRfVFlQRV9DT05TT0xFX01FU1NBR0VfU09VUkNFCisKKzxTVUJTRUNUSU9OIFBy
aXZhdGU+Cit3ZWJraXRfY29uc29sZV9tZXNzYWdlX2dldF90eXBlCit3ZWJraXRfY29uc29sZV9t
ZXNzYWdlX2xldmVsX2dldF90eXBlCit3ZWJraXRfY29uc29sZV9tZXNzYWdlX3NvdXJjZV9nZXRf
dHlwZQorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktpdERPTU9iamVjdDwvRklM
RT4KKzxUSVRMRT5XZWJLaXRET01PYmplY3Q8L1RJVExFPgorV2ViS2l0RE9NT2JqZWN0CisKKzxT
VUJTRUNUSU9OIFN0YW5kYXJkPgorV2ViS2l0RE9NT2JqZWN0Q2xhc3MKK1dFQktJVF9ET01fVFlQ
RV9PQkpFQ1QKK1dFQktJVF9ET01fT0JKRUNUCitXRUJLSVRfRE9NX0lTX09CSkVDVAorV0VCS0lU
X0RPTV9PQkpFQ1RfQ0xBU1MKK1dFQktJVF9ET01fSVNfT0JKRUNUX0NMQVNTCitXRUJLSVRfRE9N
X09CSkVDVF9HRVRfQ0xBU1MKKworPFNVQlNFQ1RJT04gUHJpdmF0ZT4KK1dlYktpdERPTU9iamVj
dFByaXZhdGUKK3dlYmtpdF9kb21fb2JqZWN0X2dldF90eXBlCis8L1NFQ1RJT04+CisKKzxTRUNU
SU9OPgorPEZJTEU+V2ViS2l0RE9NRG9jdW1lbnQ8L0ZJTEU+Cis8VElUTEU+V2ViS2l0RE9NRG9j
dW1lbnQ8L1RJVExFPgorV2ViS2l0RE9NRG9jdW1lbnQKKworPFNVQlNFQ1RJT04gU3RhbmRhcmQ+
CitXZWJLaXRET01Eb2N1bWVudENsYXNzCitXRUJLSVRfRE9NX1RZUEVfRE9DVU1FTlQKK1dFQktJ
VF9ET01fRE9DVU1FTlQKK1dFQktJVF9ET01fSVNfRE9DVU1FTlQKK1dFQktJVF9ET01fRE9DVU1F
TlRfQ0xBU1MKK1dFQktJVF9ET01fSVNfRE9DVU1FTlRfQ0xBU1MKK1dFQktJVF9ET01fRE9DVU1F
TlRfR0VUX0NMQVNTCisKKzxTVUJTRUNUSU9OIFByaXZhdGU+Cit3ZWJraXRfZG9tX2RvY3VtZW50
X2dldF90eXBlCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+V2ViS2l0RE9NRWxlbWVu
dDwvRklMRT4KKzxUSVRMRT5XZWJLaXRET01FbGVtZW50PC9USVRMRT4KK1dlYktpdERPTUVsZW1l
bnQKKword2Via2l0X2RvbV9lbGVtZW50X2h0bWxfaW5wdXRfZWxlbWVudF9pc191c2VyX2VkaXRl
ZAord2Via2l0X2RvbV9lbGVtZW50X2h0bWxfaW5wdXRfZWxlbWVudF9nZXRfYXV0b19maWxsZWQK
K3dlYmtpdF9kb21fZWxlbWVudF9odG1sX2lucHV0X2VsZW1lbnRfc2V0X2F1dG9fZmlsbGVkCit3
ZWJraXRfZG9tX2VsZW1lbnRfaHRtbF9pbnB1dF9lbGVtZW50X3NldF9lZGl0aW5nX3ZhbHVlCisK
KzxTVUJTRUNUSU9OIFN0YW5kYXJkPgorV2ViS2l0RE9NRWxlbWVudENsYXNzCitXRUJLSVRfRE9N
X1RZUEVfRUxFTUVOVAorV0VCS0lUX0RPTV9FTEVNRU5UCitXRUJLSVRfRE9NX0lTX0VMRU1FTlQK
K1dFQktJVF9ET01fRUxFTUVOVF9DTEFTUworV0VCS0lUX0RPTV9JU19FTEVNRU5UX0NMQVNTCitX
RUJLSVRfRE9NX0VMRU1FTlRfR0VUX0NMQVNTCisKKzxTVUJTRUNUSU9OIFByaXZhdGU+Cit3ZWJr
aXRfZG9tX2VsZW1lbnRfZ2V0X3R5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5X
ZWJLaXRET01Ob2RlPC9GSUxFPgorPFRJVExFPldlYktpdERPTU5vZGU8L1RJVExFPgorV2ViS2l0
RE9NTm9kZQorCit3ZWJraXRfZG9tX25vZGVfZm9yX2pzX3ZhbHVlCisKKzxTVUJTRUNUSU9OIFN0
YW5kYXJkPgorV2ViS2l0RE9NTm9kZUNsYXNzCitXRUJLSVRfRE9NX1RZUEVfTk9ERQorV0VCS0lU
X0RPTV9OT0RFCitXRUJLSVRfRE9NX0lTX05PREUKK1dFQktJVF9ET01fTk9ERV9DTEFTUworV0VC
S0lUX0RPTV9JU19OT0RFX0NMQVNTCitXRUJLSVRfRE9NX05PREVfR0VUX0NMQVNTCisKKzxTVUJT
RUNUSU9OIFByaXZhdGU+CitXZWJLaXRET01Ob2RlUHJpdmF0ZQord2Via2l0X2RvbV9ub2RlX2dl
dF90eXBlCis8L1NFQ1RJT04+CisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS93cGUvZG9jcy93cGUtMC4xLnR5cGVzIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L3dwZS9kb2NzL3dwZS0wLjEudHlwZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmMyOWFmNzQ0N2RiZWVlNWY0MDE0
OTM3NDgxNTA1YjlmMjk0OTg5MQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS93cGUvZG9jcy93cGUtMC4xLnR5cGVzCkBAIC0wLDAgKzEsNTkgQEAKKyNpbmNs
dWRlIDx3cGUvd2Via2l0Lmg+Cit3ZWJraXRfYXBwbGljYXRpb25faW5mb19nZXRfdHlwZQord2Vi
a2l0X2F1dGhlbnRpY2F0aW9uX3JlcXVlc3RfZ2V0X3R5cGUKK3dlYmtpdF9hdXRvbWF0aW9uX3Nl
c3Npb25fZ2V0X3R5cGUKK3dlYmtpdF9iYWNrX2ZvcndhcmRfbGlzdF9nZXRfdHlwZQord2Via2l0
X2JhY2tfZm9yd2FyZF9saXN0X2l0ZW1fZ2V0X3R5cGUKK3dlYmtpdF9jb25zb2xlX21lc3NhZ2Vf
Z2V0X3R5cGUKK3dlYmtpdF9jcmVkZW50aWFsX2dldF90eXBlCit3ZWJraXRfY29udGV4dF9tZW51
X2dldF90eXBlCit3ZWJraXRfY29udGV4dF9tZW51X2l0ZW1fZ2V0X3R5cGUKK3dlYmtpdF9jb29r
aWVfbWFuYWdlcl9nZXRfdHlwZQord2Via2l0X2RldmljZV9pbmZvX3Blcm1pc3Npb25fcmVxdWVz
dF9nZXRfdHlwZQord2Via2l0X2Rvd25sb2FkX2dldF90eXBlCit3ZWJraXRfZWRpdG9yX3N0YXRl
X2dldF90eXBlCit3ZWJraXRfZmF2aWNvbl9kYXRhYmFzZV9nZXRfdHlwZQord2Via2l0X2ZpbGVf
Y2hvb3Nlcl9yZXF1ZXN0X2dldF90eXBlCit3ZWJraXRfZmluZF9jb250cm9sbGVyX2dldF90eXBl
Cit3ZWJraXRfZm9ybV9zdWJtaXNzaW9uX3JlcXVlc3RfZ2V0X3R5cGUKK3dlYmtpdF9mcmFtZV9n
ZXRfdHlwZQord2Via2l0X2dlb2xvY2F0aW9uX3Blcm1pc3Npb25fcmVxdWVzdF9nZXRfdHlwZQor
d2Via2l0X2hpdF90ZXN0X3Jlc3VsdF9nZXRfdHlwZQord2Via2l0X2luc3RhbGxfbWlzc2luZ19t
ZWRpYV9wbHVnaW5zX3Blcm1pc3Npb25fcmVxdWVzdF9nZXRfdHlwZQord2Via2l0X2phdmFzY3Jp
cHRfcmVzdWx0X2dldF90eXBlCit3ZWJraXRfbWltZV9pbmZvX2dldF90eXBlCit3ZWJraXRfbmF2
aWdhdGlvbl9hY3Rpb25fZ2V0X3R5cGUKK3dlYmtpdF9uYXZpZ2F0aW9uX3BvbGljeV9kZWNpc2lv
bl9nZXRfdHlwZQord2Via2l0X25ldHdvcmtfcHJveHlfc2V0dGluZ3NfZ2V0X3R5cGUKK3dlYmtp
dF9ub3RpZmljYXRpb25fcGVybWlzc2lvbl9yZXF1ZXN0X2dldF90eXBlCit3ZWJraXRfbm90aWZp
Y2F0aW9uX2dldF90eXBlCit3ZWJraXRfcGVybWlzc2lvbl9yZXF1ZXN0X2dldF90eXBlCit3ZWJr
aXRfcGx1Z2luX2dldF90eXBlCit3ZWJraXRfcG9saWN5X2RlY2lzaW9uX2dldF90eXBlCit3ZWJr
aXRfcmVzcG9uc2VfcG9saWN5X2RlY2lzaW9uX2dldF90eXBlCit3ZWJraXRfc2NyaXB0X2RpYWxv
Z19nZXRfdHlwZQord2Via2l0X3NjcmlwdF93b3JsZF9nZXRfdHlwZQord2Via2l0X3NlY3VyaXR5
X21hbmFnZXJfZ2V0X3R5cGUKK3dlYmtpdF9zZWN1cml0eV9vcmlnaW5fZ2V0X3R5cGUKK3dlYmtp
dF91cmlfcmVxdWVzdF9nZXRfdHlwZQord2Via2l0X3VyaV9yZXNwb25zZV9nZXRfdHlwZQord2Vi
a2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRfdHlwZQord2Via2l0X3VzZXJfc3R5bGVfc2hlZXRf
Z2V0X3R5cGUKK3dlYmtpdF91c2VyX3NjcmlwdF9nZXRfdHlwZQord2Via2l0X3VzZXJfY29udGVu
dF9tYW5hZ2VyX2dldF90eXBlCit3ZWJraXRfdXNlcl9tZWRpYV9wZXJtaXNzaW9uX3JlcXVlc3Rf
Z2V0X3R5cGUKK3dlYmtpdF93ZWJfY29udGV4dF9nZXRfdHlwZQord2Via2l0X3dlYl9lZGl0b3Jf
Z2V0X3R5cGUKK3dlYmtpdF93ZWJfZXh0ZW5zaW9uX2dldF90eXBlCit3ZWJraXRfd2ViX2hpdF90
ZXN0X3Jlc3VsdF9nZXRfdHlwZQord2Via2l0X3dlYl9wYWdlX2dldF90eXBlCit3ZWJraXRfd2Vi
X3Jlc291cmNlX2dldF90eXBlCit3ZWJraXRfd2ViX3ZpZXdfZ2V0X3R5cGUKK3dlYmtpdF93ZWJf
dmlld19iYWNrZW5kX2dldF90eXBlCit3ZWJraXRfd2ViX3ZpZXdfc2Vzc2lvbl9zdGF0ZV9nZXRf
dHlwZQord2Via2l0X3dlYnNpdGVfZGF0YV9nZXRfdHlwZQord2Via2l0X3dlYnNpdGVfZGF0YV9t
YW5hZ2VyX2dldF90eXBlCit3ZWJraXRfd2luZG93X3Byb3BlcnRpZXNfZ2V0X3R5cGUKK3dlYmtp
dF9mb3JtX3N1Ym1pc3Npb25fc3RlcF9nZXRfdHlwZQorCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvZG9jcy93cGUtZG9jcy5zZ21sIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL3dwZS9kb2NzL3dwZS1kb2NzLnNnbWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjM0Mzgz
YzdkOTM3MGYzOWQzNDIzMzM2NTA3YjZiZTliNDYxMTFjNQotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvZG9jcy93cGUtZG9jcy5zZ21sCkBAIC0wLDAg
KzEsOTkgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBFIGJvb2sgUFVCTElDICIt
Ly9PQVNJUy8vRFREIERvY0Jvb2sgWE1MIFY0LjEuMi8vRU4iCisgICAgICAgICAgICAgICAiaHR0
cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9kb2Nib29rL3htbC80LjEuMi9kb2Nib29reC5kdGQiIFsK
KzwhRU5USVRZIHZlcnNpb24gU1lTVEVNICJ2ZXJzaW9uLnhtbCI+CitdPgorPGJvb2sgaWQ9Imlu
ZGV4IiB4bWxuczp4aT0iaHR0cDovL3d3dy53My5vcmcvMjAwMy9YSW5jbHVkZSI+CisgIDxib29r
aW5mbz4KKyAgICA8dGl0bGU+V1BFIFJlZmVyZW5jZSBNYW51YWw8L3RpdGxlPgorICAgIDxyZWxl
YXNlaW5mbz5mb3IgV1BFIFdlYktpdCAmdmVyc2lvbjs8L3JlbGVhc2VpbmZvPgorICA8L2Jvb2tp
bmZvPgorCisgIDxjaGFwdGVyPgorICAgIDx0aXRsZT5DbGFzcyBPdmVydmlldzwvdGl0bGU+Cisg
ICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdFdlYkNvbnRleHQueG1sIi8+CisgICAgPHhp
OmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdFdlYlZpZXcueG1sIi8+CisgICAgPHhpOmluY2x1ZGUg
aHJlZj0ieG1sL1dlYktpdFdlYlZpZXdCYWNrZW5kLnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhy
ZWY9InhtbC9XZWJLaXRBdXRoZW50aWNhdGlvblJlcXVlc3QueG1sIi8+CisgICAgPHhpOmluY2x1
ZGUgaHJlZj0ieG1sL1dlYktpdEJhY2tGb3J3YXJkTGlzdC54bWwiLz4KKyAgICA8eGk6aW5jbHVk
ZSBocmVmPSJ4bWwvV2ViS2l0QmFja0ZvcndhcmRMaXN0SXRlbS54bWwiLz4KKyAgICA8eGk6aW5j
bHVkZSBocmVmPSJ4bWwvV2ViS2l0U2V0dGluZ3MueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJl
Zj0ieG1sL1dlYktpdFVSSVJlcXVlc3QueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1s
L1dlYktpdFVSSVJlc3BvbnNlLnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJL
aXRXaW5kb3dQcm9wZXJ0aWVzLnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJL
aXREb3dubG9hZC54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0UGVybWlz
c2lvblJlcXVlc3QueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdEdlb2xv
Y2F0aW9uUGVybWlzc2lvblJlcXVlc3QueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1s
L1dlYktpdEluc3RhbGxNaXNzaW5nTWVkaWFQbHVnaW5zUGVybWlzc2lvblJlcXVlc3QueG1sIi8+
CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdE5hdmlnYXRpb25BY3Rpb24ueG1sIi8+
CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1
ZXN0LnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJLaXRQb2xpY3lEZWNpc2lv
bi54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0TmF2aWdhdGlvblBvbGlj
eURlY2lzaW9uLnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJLaXRSZXNwb25z
ZVBvbGljeURlY2lzaW9uLnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJLaXRI
aXRUZXN0UmVzdWx0LnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJLaXRFZGl0
b3JTdGF0ZS54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0V2ViUmVzb3Vy
Y2UueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdEVycm9yLnhtbCIvPgor
ICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJLaXRGYXZpY29uRGF0YWJhc2UueG1sIi8+Cisg
ICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdEZpbGVDaG9vc2VyUmVxdWVzdC54bWwiLz4K
KyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0RmluZENvbnRyb2xsZXIueG1sIi8+Cisg
ICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdENvb2tpZU1hbmFnZXIueG1sIi8+CisgICAg
PHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdFBsdWdpbi54bWwiLz4KKyAgICA8eGk6aW5jbHVk
ZSBocmVmPSJ4bWwvV2ViS2l0VVJJU2NoZW1lUmVxdWVzdC54bWwiLz4KKyAgICA8eGk6aW5jbHVk
ZSBocmVmPSJ4bWwvV2ViS2l0Q29udGV4dE1lbnUueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJl
Zj0ieG1sL1dlYktpdENvbnRleHRNZW51SXRlbS54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVm
PSJ4bWwvV2ViS2l0Rm9ybVN1Ym1pc3Npb25SZXF1ZXN0LnhtbCIvPgorICAgIDx4aTppbmNsdWRl
IGhyZWY9InhtbC9XZWJLaXRTZWN1cml0eU1hbmFnZXIueG1sIi8+CisgICAgPHhpOmluY2x1ZGUg
aHJlZj0ieG1sL1dlYktpdFVzZXJDb250ZW50TWFuYWdlci54bWwiLz4KKyAgICA8eGk6aW5jbHVk
ZSBocmVmPSJ4bWwvV2ViS2l0VXNlckNvbnRlbnQueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJl
Zj0ieG1sL1dlYktpdE5vdGlmaWNhdGlvbi54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4
bWwvV2ViS2l0Tm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QueG1sIi8+CisgICAgPHhpOmlu
Y2x1ZGUgaHJlZj0ieG1sL1dlYktpdFNlY3VyaXR5T3JpZ2luLnhtbCIvPgorICAgIDx4aTppbmNs
dWRlIGhyZWY9InhtbC9XZWJLaXRXZWJzaXRlRGF0YU1hbmFnZXIueG1sIi8+CisgICAgPHhpOmlu
Y2x1ZGUgaHJlZj0ieG1sL1dlYktpdFdlYnNpdGVEYXRhLnhtbCIvPgorICAgIDx4aTppbmNsdWRl
IGhyZWY9InhtbC9XZWJLaXROZXR3b3JrUHJveHlTZXR0aW5ncy54bWwiLz4KKyAgICA8eGk6aW5j
bHVkZSBocmVmPSJ4bWwvV2ViS2l0QXV0b21hdGlvblNlc3Npb24ueG1sIi8+CisgICAgPHhpOmlu
Y2x1ZGUgaHJlZj0ieG1sL1dlYktpdEFwcGxpY2F0aW9uSW5mby54bWwiLz4KKyAgPC9jaGFwdGVy
PgorCisgIDxjaGFwdGVyPgorICAgIDx0aXRsZT5XZWIgRXh0ZW5zaW9uczwvdGl0bGU+CisgICAg
PHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdFdlYkV4dGVuc2lvbi54bWwiLz4KKyAgICA8eGk6
aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0V2ViUGFnZS54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBo
cmVmPSJ4bWwvV2ViS2l0RnJhbWUueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dl
YktpdFNjcmlwdFdvcmxkLnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJLaXRX
ZWJIaXRUZXN0UmVzdWx0LnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJLaXRX
ZWJFZGl0b3IueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdENvbnNvbGVN
ZXNzYWdlLnhtbCIvPgorICA8L2NoYXB0ZXI+CisKKyAgPCEtLSBGSVhNRTogTW92ZSBXZWJLaXRE
T00gdG8gaXRzIG93biBkb2N1bWVudGF0aW9uIGlmIHRoZSBudW1iZXIgb2YgRE9NIEFQSXMgaW5j
cmVhc2VzIC0tPgorICA8Y2hhcHRlcj4KKyAgICA8dGl0bGU+V2ViS2l0RE9NPC90aXRsZT4KKyAg
ICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0RE9NT2JqZWN0LnhtbCIvPgorICAgIDx4aTpp
bmNsdWRlIGhyZWY9InhtbC9XZWJLaXRET01Eb2N1bWVudC54bWwiLz4KKyAgICA8eGk6aW5jbHVk
ZSBocmVmPSJ4bWwvV2ViS2l0RE9NRWxlbWVudC54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVm
PSJ4bWwvV2ViS2l0RE9NTm9kZS54bWwiLz4KKyAgPC9jaGFwdGVyPgorCisgIDxpbmRleCBpZD0i
aW5kZXgtYWxsIj4KKyAgICA8dGl0bGU+SW5kZXg8L3RpdGxlPgorICA8L2luZGV4PgorCisgIDxp
bmRleCBpZD0iYXBpLWluZGV4LWRlcHJlY2F0ZWQiIHJvbGU9ImRlcHJlY2F0ZWQiPgorICAgIDx0
aXRsZT5JbmRleCBvZiBkZXByZWNhdGVkIHN5bWJvbHM8L3RpdGxlPgorICAgIDx4aTppbmNsdWRl
IGhyZWY9InhtbC9hcGktaW5kZXgtZGVwcmVjYXRlZC54bWwiPjx4aTpmYWxsYmFjayAvPjwveGk6
aW5jbHVkZT4KKyAgPC9pbmRleD4KKworICA8aW5kZXggaWQ9ImFwaS1pbmRleC0yLTIwIiByb2xl
PSIyLjIwIj4KKyAgICA8dGl0bGU+SW5kZXggb2YgbmV3IHN5bWJvbHMgaW4gMi4yMDwvdGl0bGU+
CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL2FwaS1pbmRleC0yLjIwLnhtbCI+PHhpOmZhbGxi
YWNrIC8+PC94aTppbmNsdWRlPgorICA8L2luZGV4PgorCisgIDxpbmRleCBpZD0iYXBpLWluZGV4
LTItMjIiIHJvbGU9IjIuMjIiPgorICAgIDx0aXRsZT5JbmRleCBvZiBuZXcgc3ltYm9scyBpbiAy
LjIyPC90aXRsZT4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvYXBpLWluZGV4LTIuMjIueG1s
Ij48eGk6ZmFsbGJhY2sgLz48L3hpOmluY2x1ZGU+CisgIDwvaW5kZXg+CisKKyAgPHhpOmluY2x1
ZGUgaHJlZj0ieG1sL2Fubm90YXRpb24tZ2xvc3NhcnkueG1sIj48eGk6ZmFsbGJhY2sgLz48L3hp
OmluY2x1ZGU+Cis8L2Jvb2s+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvQVBJL3dwZS9XZWJLaXRXZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL3dwZS9XZWJLaXRXZWJQYWdlLmgKaW5kZXggMzBl
MGY5MzM1OGMxYmRkOWYxMWM4NDFkNmVjZmMwZmQxNzQyYzdkMC4uOTU1ZjA4N2U0ZjczZjFmZGY3
ZTNiNDc5NzBjNmMxYTFlZTg1OWEwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0FQSS93cGUvV2ViS2l0V2ViUGFnZS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvd3BlL1dlYktpdFdlYlBhZ2UuaApA
QCAtNzQsNiArNzQsOSBAQCBzdHJ1Y3QgX1dlYktpdFdlYlBhZ2VDbGFzcyB7CiBXRUJLSVRfQVBJ
IEdUeXBlCiB3ZWJraXRfd2ViX3BhZ2VfZ2V0X3R5cGUgICAgICAgICAodm9pZCk7CiAKK1dFQktJ
VF9BUEkgV2ViS2l0RE9NRG9jdW1lbnQgKgord2Via2l0X3dlYl9wYWdlX2dldF9kb21fZG9jdW1l
bnQgKFdlYktpdFdlYlBhZ2UgKndlYl9wYWdlKTsKKwogV0VCS0lUX0FQSSBndWludDY0CiB3ZWJr
aXRfd2ViX3BhZ2VfZ2V0X2lkICAgICAgICAgICAoV2ViS2l0V2ViUGFnZSAqd2ViX3BhZ2UpOwog
CkBAIC04Niw5ICs4OSw2IEBAIHdlYmtpdF93ZWJfcGFnZV9nZXRfbWFpbl9mcmFtZSAgIChXZWJL
aXRXZWJQYWdlICp3ZWJfcGFnZSk7CiBXRUJLSVRfQVBJIFdlYktpdFdlYkVkaXRvciAqCiB3ZWJr
aXRfd2ViX3BhZ2VfZ2V0X2VkaXRvciAgICAgICAoV2ViS2l0V2ViUGFnZSAqd2ViX3BhZ2UpOwog
Ci1XRUJLSVRfQVBJIFdlYktpdERPTURvY3VtZW50ICoKLXdlYmtpdF93ZWJfcGFnZV9nZXRfZG9t
X2RvY3VtZW50IChXZWJLaXRXZWJQYWdlICp3ZWJfcGFnZSk7Ci0KIEdfRU5EX0RFQ0xTCiAKICNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL0d0a0RvYy5jbWFrZSBiL1NvdXJjZS9jbWFr
ZS9HdGtEb2MuY21ha2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmJkMDBhM2QxNjY4MDI1OWY4MzgxNzllMjQ2MmQ4
NjU2YTVmZDk4YgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9jbWFrZS9HdGtEb2MuY21ha2UK
QEAgLTAsMCArMSwxMiBAQAorIyBDYWxscyBzY3JpcHRzIHRvIGdlbmVyYXRlIGRvY3VtZW50YXRp
b24gdXNpbmcgR1RLLURvYyB2aWEgc2NyaXB0LgorIyBEb2N1bWVudGF0aW9uRGVwZW5kZW5jaWVz
IHZhcmlhYmxlIG11c3QgYmUgc2V0IGJlZm9yZSBjYWxsaW5nIHRoaXMgbWFjcm8uCittYWNybyhB
RERfR1RLRE9DX0dFTkVSQVRPUiBfc3RhbXBfbmFtZSBfZXh0cmFfYXJncykKKyAgICBhZGRfY3Vz
dG9tX2NvbW1hbmQoCisgICAgICAgIE9VVFBVVCAiJHtDTUFLRV9CSU5BUllfRElSfS8ke19zdGFt
cF9uYW1lfSIKKyAgICAgICAgREVQRU5EUyAke0RvY3VtZW50YXRpb25EZXBlbmRlbmNpZXN9Cisg
ICAgICAgIENPTU1BTkQgJHtDTUFLRV9DT01NQU5EfSAtRSBlbnYgIkNDPSR7Q01BS0VfQ19DT01Q
SUxFUn0iICJDRkxBR1M9JHtDTUFLRV9DX0ZMQUdTfSAtV25vLXVudXNlZC1wYXJhbWV0ZXIiICR7
Q01BS0VfU09VUkNFX0RJUn0vVG9vbHMvZ3RrZG9jL2dlbmVyYXRlLWd0a2RvYyAke19leHRyYV9h
cmdzfQorICAgICAgICBDT01NQU5EIHRvdWNoICR7X3N0YW1wX25hbWV9CisgICAgICAgIFdPUktJ
TkdfRElSRUNUT1JZICIke0NNQUtFX0JJTkFSWV9ESVJ9IgorICAgICAgICBWRVJCQVRJTQorICAg
ICkKK2VuZG1hY3JvKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9PcHRpb25zV1BFLmNtYWtl
IGIvU291cmNlL2NtYWtlL09wdGlvbnNXUEUuY21ha2UKaW5kZXggOWRiYTQ5YjExZDYzYTkwODFk
NWY2NjdiZTQyZmI2YTVjMWNkNjRjYy4uYWJhZTk3ZDU1YTM4ZDhlYjg5MWYwOGQ1MGU5MjlkYmM5
OGQ1YmJhMCAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL09wdGlvbnNXUEUuY21ha2UKKysrIGIv
U291cmNlL2NtYWtlL09wdGlvbnNXUEUuY21ha2UKQEAgLTQ2LDYgKzQ2LDcgQEAgV0VCS0lUX09Q
VElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX1dFQl9SVEMgUFJJVkFURSAke0VOQUJMRV9F
WFBFUklNRU5UQUxfRkUKICMgUHVibGljIG9wdGlvbnMgc3BlY2lmaWMgdG8gdGhlIFdQRSBwb3J0
LiBEbyBub3QgYWRkIGFueSBvcHRpb25zIGhlcmUgdW5sZXNzCiAjIHRoZXJlIGlzIGEgc3Ryb25n
IHJlYXNvbiB3ZSBzaG91bGQgc3VwcG9ydCBjaGFuZ2luZyB0aGUgdmFsdWUgb2YgdGhlIG9wdGlv
biwKICMgYW5kIHRoZSBvcHRpb24gaXMgbm90IHJlbGV2YW50IHRvIGFueSBvdGhlciBXZWJLaXQg
cG9ydHMuCitXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfR1RLRE9DICJXaGV0aGVyIG9yIG5v
dCB0byB1c2UgZ2VuZXJhdGUgZ3RrZG9jLiIgUFVCTElDIE9GRikKIFdFQktJVF9PUFRJT05fREVG
SU5FKFVTRV9XT0ZGMiAiV2hldGhlciB0byBlbmFibGUgc3VwcG9ydCBmb3IgV09GRjIgV2ViIEZv
bnRzLiIgUFVCTElDIE9OKQogCiAjIFByaXZhdGUgb3B0aW9ucyBzcGVjaWZpYyB0byB0aGUgV1BF
IHBvcnQuCkBAIC0xMzcsNiArMTM4LDExIEBAIFNFVF9BTkRfRVhQT1NFX1RPX0JVSUxEKFVTRV9D
T09SRElOQVRFRF9HUkFQSElDUyBUUlVFKQogU0VUX0FORF9FWFBPU0VfVE9fQlVJTEQoVVNFX0NP
T1JESU5BVEVEX0dSQVBISUNTX1RIUkVBREVEIFRSVUUpCiBTRVRfQU5EX0VYUE9TRV9UT19CVUlM
RChVU0VfTklDT1NJQSBUUlVFKQogCisjIE92ZXJyaWRlIHRoZSBjYWNoZWQgdmFyaWFibGUsIGd0
ay1kb2MgZG9lcyBub3QgcmVhbGx5IHdvcmsgd2hlbiBjcm9zcy1idWlsZGluZyBvciBidWlsZGlu
ZyBvbiBNYWMuCitpZiAoQ01BS0VfQ1JPU1NDT01QSUxJTkcgT1IgQVBQTEUpCisgICAgc2V0KEVO
QUJMRV9HVEtET0MgT0ZGKQorZW5kaWYgKCkKKwogc2V0KEZPUldBUkRJTkdfSEVBREVSU19ESVIg
JHtERVJJVkVEX1NPVVJDRVNfRElSfS9Gb3J3YXJkaW5nSGVhZGVycykKIHNldChGT1JXQVJESU5H
X0hFQURFUlNfV1BFX0RJUiAke0ZPUldBUkRJTkdfSEVBREVSU19ESVJ9L3dwZSkKIHNldChGT1JX
QVJESU5HX0hFQURFUlNfV1BFX0VYVEVOU0lPTl9ESVIgJHtGT1JXQVJESU5HX0hFQURFUlNfRElS
fS93cGUtd2ViZXh0ZW5zaW9uKQpAQCAtMTQ1LDQgKzE1MSw3IEBAIHNldChERVJJVkVEX1NPVVJD
RVNfSkFWQVNDUklQQ09SRVdQRV9ESVIgJHtERVJJVkVEX1NPVVJDRVNfSkFWQVNDUklQVENPUkVf
RElSfS9qCiBzZXQoREVSSVZFRF9TT1VSQ0VTX0pBVkFTQ1JJUENPUkVfR0xJQl9BUElfRElSICR7
REVSSVZFRF9TT1VSQ0VTX0pBVkFTQ1JJUFRDT1JFX0RJUn0vamF2YXNjcmlwdGNvcmV3cGUvanNj
KQogc2V0KERFUklWRURfU09VUkNFU19XUEVfQVBJX0RJUiAke0RFUklWRURfU09VUkNFU19XRUJL
SVRfRElSfS93cGUpCiAKK3NldChXUEVfUEtHQ09ORklHX0ZJTEUgJHtDTUFLRV9CSU5BUllfRElS
fS93cGUtd2Via2l0LSR7V1BFX0FQSV9WRVJTSU9OfS5wYykKK3NldChXUEVXZWJFeHRlbnNpb25f
UEtHQ09ORklHX0ZJTEUgJHtDTUFLRV9CSU5BUllfRElSfS93cGUtd2ViLWV4dGVuc2lvbi0ke1dQ
RV9BUElfVkVSU0lPTn0ucGMpCisKIGluY2x1ZGUoR1N0cmVhbWVyQ2hlY2tzKQpkaWZmIC0tZ2l0
IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDRhODNmY2Y3MTg0OTY4
OWRjNmQ0NTc4YTY3YzYwZTc5N2RkMDE0NmIuLjhmOTdkYzM3ODJmMGE4NjdmYThlYmExZjE3ZmZj
ZDY2NDRkY2I4YzIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxOC0xMS0yMCAgQ2FybG9zIEVkdWFyZG8gUmFtYWxo
byAgPGNhZHViZW50emVuQGdtYWlsLmNvbT4KKworICAgICAgICBbV1BFXSBBZGQgZ3RrLWRvYwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4OTAwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGd0ay1k
b2MgdG8gV1BFIHBvcnQuIFRoaXMgcGF0Y2ggdHJpZXMgdG8gcmV1c2UgYXMgbXVjaCBjb2RlIGZy
b20KKyAgICAgICAgV2ViS2l0R1RLKyBhcyBwb3NzaWJsZS4KKworICAgICAgICAqIGd0a2RvYy9n
ZW5lcmF0ZS1ndGtkb2M6IFJlbmFtZWQgZnJvbSBUb29scy9ndGsvZ2VuZXJhdGUtZ3RrZG9jLgor
ICAgICAgICAoZ2V0X2d0a2RvY19tb2R1bGVfcGF0aHMpOiBBZGQgR0RLIGFuZCBHVEsgb25seSBp
ZiBidWlsZGluZyBmb3IgR1RLLgorICAgICAgICAocHJlcGFyZV9lbnZpcm9ubWVudF9mb3JfZ3Rr
ZG9jX2dlbmVyYXRpb24pOgorICAgICAgICAoYnVpbGRfZ3RrZG9jX2Zvcl93cGUpOiBDb2RlIHRv
IGdlbmVyYXRlIGRvYyBmb3IgV1BFLgorICAgICAgICAoYnVpbGRfZ3RrZG9jX2Zvcl93a2d0ayk6
IENvZGUgdG8gZ2VuZXJhdGUgZG9jIGZvciBXZWJLaXRHVEsrLiBNb3ZlZCBmcm9tIG1haW4uCisg
ICAgICAgICogZ3RrZG9jL2d0a2RvYy5weTogUmVuYW1lZCBmcm9tIFRvb2xzL2d0ay9ndGtkb2Mu
cHkuCisgICAgICAgIChHVEtEb2MuX19pbml0X18pOiBJbml0aWFsaXplZCByZXF1aXJlZCB2YXJp
YWJsZXMgYWNjb3JkaW5nIHRvIHB5bGludC4KKyAgICAgICAgKEdUS0RvYy5hcGlfbWlzc2luZ19k
b2N1bWVudGF0aW9uKToKKyAgICAgICAgKiB3cGUvaW5zdGFsbC1kZXBlbmRlbmNpZXM6IEFkZCBn
dGtkb2MgZGVwZW5kZW5jeS4KKwogMjAxOC0xMS0xOSAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJp
c3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEFkZCBTUEkgdG8gZGlzYWJsZSBKSVQgaW4g
YSBXS1dlYlZpZXcKZGlmZiAtLWdpdCBhL1Rvb2xzL2d0ay9nZW5lcmF0ZS1ndGtkb2MgYi9Ub29s
cy9ndGsvZ2VuZXJhdGUtZ3RrZG9jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCA0NWMy
M2RmYjEyZjFjODkzYTI2YzhkM2U3YjNmMGE0Y2EyYTJiNzI0Li4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL2d0ay9nZW5lcmF0ZS1ndGtkb2MKKysr
IC9kZXYvbnVsbApAQCAtMSwyMjEgKzAsMCBAQAotIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCi0jIENv
cHlyaWdodCAoQykgMjAxMSBJZ2FsaWEgUy5MLgotIwotIyBUaGlzIGxpYnJhcnkgaXMgZnJlZSBz
b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0jIG1vZGlmeSBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKLSMgTGljZW5zZSBh
cyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0jIHZl
cnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy
c2lvbi4KLSMKLSMgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg
aXQgd2lsbCBiZSB1c2VmdWwsCi0jIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl
dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0jIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0jIExlc3NlciBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0jCi0jIFlvdSBzaG91bGQgaGF2ZSBy
ZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKLSMgTGljZW5z
ZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0
d2FyZQotIyBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29y
LCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKLQotZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBw
cmludF9mdW5jdGlvbgotZnJvbSBDb25maWdQYXJzZXIgaW1wb3J0IFNhZmVDb25maWdQYXJzZXIK
LQotaW1wb3J0IGFyZ3BhcnNlCi1pbXBvcnQgY29kZWNzCi1pbXBvcnQgZ2xvYgotaW1wb3J0IGd0
a2RvYwotaW1wb3J0IGxvZ2dpbmcKLWltcG9ydCBvcy5wYXRoCi1pbXBvcnQgc3lzCi0KLXRvcF9s
ZXZlbF9kaXJlY3RvcnkgPSBvcy5wYXRoLm5vcm1wYXRoKG9zLnBhdGguam9pbihvcy5wYXRoLmRp
cm5hbWUoX19maWxlX18pLCAnLi4nLCAnLi4nKSkKLXN5cy5wYXRoLmluc2VydCgwLCBvcy5wYXRo
LmpvaW4odG9wX2xldmVsX2RpcmVjdG9yeSwgJ1Rvb2xzJywgJ2dsaWInKSkKLWltcG9ydCBjb21t
b24KLQotc3lzLnN0ZG91dCA9IGNvZGVjcy5nZXR3cml0ZXIoInV0Zi04Iikoc3lzLnN0ZG91dCkK
LXN5cy5zdGRlcnIgPSBjb2RlY3MuZ2V0d3JpdGVyKCJ1dGYtOCIpKHN5cy5zdGRlcnIpCi0KLWRl
ZiBjb25maWd1cmVfbG9nZ2luZyh2ZXJib3NlKToKLSAgICBsZXZlbCA9IGxvZ2dpbmcuREVCVUcg
aWYgdmVyYm9zZSBlbHNlIGxvZ2dpbmcuSU5GTwotICAgIGxvZ2dlciA9IGxvZ2dpbmcuZ2V0TG9n
Z2VyKCdndGtkb2MnKQotICAgIGxvZ2dlci5zZXRMZXZlbChsZXZlbCkKLSAgICBoYW5kbGVyID0g
bG9nZ2luZy5TdHJlYW1IYW5kbGVyKCkKLSAgICBoYW5kbGVyLnNldExldmVsKGxldmVsKQotICAg
IGxvZ2dlci5hZGRIYW5kbGVyKGhhbmRsZXIpCi0gICAgaWYgbGV2ZWwgPT0gbG9nZ2luZy5ERUJV
RzoKLSAgICAgICAgaGFuZGxlci5zZXRGb3JtYXR0ZXIobG9nZ2luZy5Gb3JtYXR0ZXIoJ1slKGFz
Y3RpbWUpc10gICUobWVzc2FnZSlzJykpCi0gICAgZWxzZToKLSAgICAgICAgaGFuZGxlci5zZXRG
b3JtYXR0ZXIobG9nZ2luZy5Gb3JtYXR0ZXIoJyUobWVzc2FnZSlzJykpCi0KLWRlZiBnZXRfZ3Rr
ZG9jX21vZHVsZV9wYXRocyhjcm9zc19yZWZlcmVuY2VfZGVwcyk6Ci0gICAgZGVwZW5kZW50X3Bh
Y2thZ2VzID0gewotICAgICAgICAnZ2xpYi0yLjAnIDogWydnbGliJywgJ2dvYmplY3QnLCAnZ2lv
J10sCi0gICAgICAgICdsaWJzb3VwLTIuNCcgOiBbJ2xpYnNvdXAtMi40J10sCi0gICAgICAgICdn
ZGstcGl4YnVmLTIuMCc6IFsnZ2RrLXBpeGJ1ZiddLAotICAgICAgICAnZ3RrKy0zLjAnIDogWydn
dGszJywgJ2dkazMnXQotICAgIH0KLQotICAgIHBhdGhzID0gW10KLSAgICBodG1sX2RpciA9IG9z
LnBhdGguam9pbignc2hhcmUnLCAnZ3RrLWRvYycsICdodG1sJykKLSAgICBmb3IgcGFja2FnZSwg
bW9kdWxlcyBpbiBkZXBlbmRlbnRfcGFja2FnZXMuaXRlcml0ZW1zKCk6Ci0gICAgICAgIHByZWZp
eCA9IGNvbW1vbi5wcmVmaXhfb2ZfcGtnX2NvbmZpZ19maWxlKHBhY2thZ2UpCi0gICAgICAgIGlm
IHByZWZpeCBpcyBOb25lOgotICAgICAgICAgICAgY29udGludWUKLSAgICAgICAgZm9yIG1vZHVs
ZSBpbiBtb2R1bGVzOgotICAgICAgICAgICAgcGF0aHMuYXBwZW5kKG9zLnBhdGguam9pbihwcmVm
aXgsIGh0bWxfZGlyLCBtb2R1bGUpKQotCi0gICAgZm9yIGxvY2FsX2RlcCBpbiBjcm9zc19yZWZl
cmVuY2VfZGVwczoKLSAgICAgICAgcGF0aHMuYXBwZW5kKGNvbW1vbi5idWlsZF9wYXRoKCdEb2N1
bWVudGF0aW9uJywgbG9jYWxfZGVwLCAnaHRtbCcpKQotICAgIHJldHVybiBwYXRocwotCi1kZWYg
cHJpbnRfbWlzc2luZ19hcGkoZ2VuZXJhdG9yKToKLSAgICBtaXNzaW5nX2FwaSA9IGdlbmVyYXRv
ci5hcGlfbWlzc2luZ19kb2N1bWVudGF0aW9uKCkKLSAgICBpZiBub3QgbWlzc2luZ19hcGk6Ci0g
ICAgICAgIHJldHVybgotICAgIHByaW50KCJcblRoZSBmb2xsb3dpbmcgQVBJIGFyZSBtaXNzaW5n
IGRvY3VtZW50YXRpb246IikKLSAgICBmb3IgYXBpIGluIG1pc3NpbmdfYXBpOgotICAgICAgICBw
cmludCgiXHR7MH0iLmZvcm1hdChhcGkpKQotCi1kZWYgZmlsZXNfdG9faWdub3JlKHNvdXJjZV9k
aXJzLCBoZWFkZXJzX3dpdGhfZ3RrZG9jKToKLSAgICAiIiIKLSAgICBGaW5kIGZpbGVzIHRvIGln
bm9yZSBkdXJpbmcgZG9jdW1lbnRhdGlvbiBnZW5lcmF0aW9uLiBXZSBhc3N1bWUgdGhhdCBpZiBh
bgotICAgIGltcGxlbWVudGF0aW9uIGZpbGUgZXhpc3RzIGZvciBhIGhlYWRlciB3aXRoIGd0a2Rv
YyAoc2F5IHdlYmtpdGZvby5jcHAgZm9yCi0gICAgd2Via2l0Zm9vLmgpIHdlIHNob3VsZG4ndCBp
Z25vcmUgdGhhdCBmaWxlLiBDdXJyZW50bHkgdGhpcyBob2xkcyB0cnVlIGZvciBhbGwKLSAgICBv
ZiB0aGUgV2ViS2l0IHByb2plY3QuCi0gICAgIiIiCi0gICAgaW1wbGVtZW50YXRpb25fZmlsZXMg
PSBsaXN0KGhlYWRlcnNfd2l0aF9ndGtkb2MpCi0gICAgZm9yIGhlYWRlciBpbiBoZWFkZXJzX3dp
dGhfZ3RrZG9jOgotICAgICAgICBkZWYgYWRkX2ZpbGVfaWZfZXhpc3RzKGZpbGVuYW1lKToKLSAg
ICAgICAgICAgIGZvciBkaXIgaW4gc291cmNlX2RpcnM6Ci0gICAgICAgICAgICAgICAgZmlsZSA9
IG9zLnBhdGguam9pbihkaXIsIGZpbGVuYW1lKQotICAgICAgICAgICAgICAgIGlmIG9zLnBhdGgu
aXNmaWxlKGZpbGUpOgotICAgICAgICAgICAgICAgICAgICBpbXBsZW1lbnRhdGlvbl9maWxlcy5h
cHBlbmQob3MucGF0aC5hYnNwYXRoKGZpbGUpKQotICAgICAgICBoZWFkZXJfYmFzZW5hbWVfd2l0
aG91dF9leHRlbnNpb24gPSBvcy5wYXRoLnNwbGl0ZXh0KG9zLnBhdGguYmFzZW5hbWUoaGVhZGVy
KSlbMF0KLSAgICAgICAgYWRkX2ZpbGVfaWZfZXhpc3RzKGhlYWRlcl9iYXNlbmFtZV93aXRob3V0
X2V4dGVuc2lvbiArICIuY3BwIikKLSAgICAgICAgYWRkX2ZpbGVfaWZfZXhpc3RzKGhlYWRlcl9i
YXNlbmFtZV93aXRob3V0X2V4dGVuc2lvbiArICJHdGsuY3BwIikKLSAgICAgICAgYWRkX2ZpbGVf
aWZfZXhpc3RzKGhlYWRlcl9iYXNlbmFtZV93aXRob3V0X2V4dGVuc2lvbiArICIuYyIpCi0KLSAg
ICBkZWYgZmlsZV9zaG91bGRfYmVfaWdub3JlZChmaWxlKToKLSAgICAgICAgaWYgb3MucGF0aC5z
cGxpdGV4dChmaWxlKVsxXSBub3QgaW4gWycuaCcsICcuYycsICcuY3BwJywgJy5jYyddOgotICAg
ICAgICAgICAgcmV0dXJuIEZhbHNlICMgVGhlc2UgZmlsZXMgYXJlIGlnbm9yZWQgYW55d2F5Lgot
ICAgICAgICBpZiBub3Qgb3MucGF0aC5pc2ZpbGUoZmlsZSk6Ci0gICAgICAgICAgICByZXR1cm4g
VHJ1ZQotICAgICAgICByZXR1cm4gb3MucGF0aC5hYnNwYXRoKGZpbGUpIG5vdCBpbiBpbXBsZW1l
bnRhdGlvbl9maWxlcwotCi0gICAgYWxsX2ZpbGVzID0gc3VtKFtbb3MucGF0aC5qb2luKGRpciwg
ZmlsZSkgZm9yIGZpbGUgaW4gb3MubGlzdGRpcihkaXIpXSBmb3IgZGlyIGluIHNvdXJjZV9kaXJz
XSwgW10pCi0gICAgcmV0dXJuIGZpbHRlcihmaWxlX3Nob3VsZF9iZV9pZ25vcmVkLCBhbGxfZmls
ZXMpCi0KLWRlZiBnZXRfZ2VuZXJhdG9yX2Zvcl9jb25maWcoY29uZmlnX2ZpbGUsIHZpcnR1YWxf
cm9vdCwgY3Jvc3NfcmVmZXJlbmNlX2RlcHMgPSBbXSk6Ci0gICAgaWYgbm90IG9zLnBhdGguaXNm
aWxlKGNvbmZpZ19maWxlKToKLSAgICAgICAgcmV0dXJuIE5vbmUKLQotICAgIGNvbmZpZyA9IFNh
ZmVDb25maWdQYXJzZXIoKQotICAgIGNvbmZpZy5yZWFkKGNvbmZpZ19maWxlKQotICAgIG1vZHVs
ZV9uYW1lID0gY29uZmlnLnNlY3Rpb25zKClbMF0KLSAgICBwa2djb25maWdfZmlsZSA9IGNvbmZp
Zy5nZXQobW9kdWxlX25hbWUsICdwa2djb25maWdfZmlsZScpCi0KLSAgICBpZiBub3Qgb3MucGF0
aC5pc2ZpbGUocGtnY29uZmlnX2ZpbGUpOgotICAgICAgICByZXR1cm4gTm9uZQotCi0gICAgc291
cmNlX2RpcnMgPSBjb25maWcuZ2V0KG1vZHVsZV9uYW1lLCAnc291cmNlX2RpcnMnKS5yZXBsYWNl
KCc7JywgJyAnKS5zcGxpdCgpCi0gICAgaGVhZGVycyA9IFtvcy5wYXRoLmFic3BhdGgoZikgZm9y
IGYgaW4gY29uZmlnLmdldChtb2R1bGVfbmFtZSwgJ2hlYWRlcnMnKS5yZXBsYWNlKCc7JywgJyAn
KS5zcGxpdCgpXQotICAgIHJldHVybiBndGtkb2MuUGtnQ29uZmlnR1RLRG9jKHBrZ2NvbmZpZ19m
aWxlLCB7Ci0gICAgICAgICdkZWNvcmF0b3InOiBjb25maWcuZ2V0KG1vZHVsZV9uYW1lLCAnZGVj
b3JhdG9yJyksCi0gICAgICAgICdkZXByZWNhdGlvbl9ndWFyZCc6IGNvbmZpZy5nZXQobW9kdWxl
X25hbWUsICdkZXByZWNhdGlvbl9ndWFyZCcpLAotICAgICAgICAnbGlicmFyeV9wYXRoJzogY29t
bW9uLmxpYnJhcnlfYnVpbGRfcGF0aCgpLAotICAgICAgICAndmlydHVhbF9yb290JzogdmlydHVh
bF9yb290LAotICAgICAgICAnbW9kdWxlX25hbWUnOiBtb2R1bGVfbmFtZSwKLSAgICAgICAgJ25h
bWVzcGFjZSc6IGNvbmZpZy5nZXQobW9kdWxlX25hbWUsICduYW1lc3BhY2UnKSwKLSAgICAgICAg
J2RvY19kaXInOiBjb25maWcuZ2V0KG1vZHVsZV9uYW1lLCAnZG9jX2RpcicpLAotICAgICAgICAn
b3V0cHV0X2Rpcic6IGNvbW1vbi5idWlsZF9wYXRoKCdEb2N1bWVudGF0aW9uJywgbW9kdWxlX25h
bWUpLAotICAgICAgICAnbWFpbl9zZ21sX2ZpbGUnOiBjb25maWcuZ2V0KG1vZHVsZV9uYW1lLCAn
bWFpbl9zZ21sX2ZpbGUnKSwKLSAgICAgICAgJ3NvdXJjZV9kaXJzJzogc291cmNlX2RpcnMsCi0g
ICAgICAgICdoZWFkZXJzJzogaGVhZGVycywKLSAgICAgICAgJ2NmbGFncyc6ICIgIi5qb2luKGNv
bmZpZy5nZXQobW9kdWxlX25hbWUsICdjZmxhZ3MnKS5zcGxpdCgpKSwKLSAgICAgICAgJ2Nyb3Nz
X3JlZmVyZW5jZV9kZXBzJzogZ2V0X2d0a2RvY19tb2R1bGVfcGF0aHMoY3Jvc3NfcmVmZXJlbmNl
X2RlcHMpLAotICAgICAgICAnaWdub3JlZF9maWxlcyc6IGZpbGVzX3RvX2lnbm9yZShzb3VyY2Vf
ZGlycywgaGVhZGVycyksCi0gICAgfSkKLQotZGVmIGdlbmVyYXRlX2RvYyhnZW5lcmF0b3IsIHNr
aXBfaHRtbCk6Ci0gICAgZ2VuZXJhdG9yLmdlbmVyYXRlKG5vdCBza2lwX2h0bWwpCi0gICAgaWYg
Z2VuZXJhdG9yLnNhd193YXJuaW5nczoKLSAgICAgICAgcHJpbnRfbWlzc2luZ19hcGkoZ2VuZXJh
dG9yKQotICAgIHJldHVybiBnZW5lcmF0b3Iuc2F3X3dhcm5pbmdzCi0KLWRlZiByZWJhc2VfZG9j
KGdlbmVyYXRvcik6Ci0gICAgdHJ5OgotICAgICAgICBnZW5lcmF0b3IucmViYXNlX2luc3RhbGxl
ZF9kb2NzKCkKLSAgICBleGNlcHQgRXhjZXB0aW9uOgotICAgICAgICBwcmludCgiUmViYXNlIGRp
ZCBub3QgaGFwcGVuLCBsaWtlbHkgbm8gZG9jdW1lbnRhdGlvbiBpcyBwcmVzZW50LiIpCi0KLWRl
ZiBnZW5lcmF0ZV9kb2N1bWVudGF0aW9uKGdlbmVyYXRvcik6Ci0gICAgaWYgbm90IGFyZ3VtZW50
cy5yZWJhc2U6Ci0gICAgICAgIHJldHVybiBnZW5lcmF0ZV9kb2MoZ2VuZXJhdG9yLCBhcmd1bWVu
dHMuc2tpcF9odG1sKQotCi0gICAgcmViYXNlX2RvYyhnZW5lcmF0b3IpCi0gICAgcmV0dXJuIEZh
bHNlCi0KLWRlZiBwcmVwYXJlX2Vudmlyb25tZW50X2Zvcl9ndGtkb2NfZ2VuZXJhdGlvbigpOgot
ICAgICMgV2UgbmVlZCB0byBhZGQgdGhlIEphdmFTY3JpcHRDb3JlIGJ1aWxkIGRpcmVjdG9yeSB0
byB0aGUgUEtHX0NPTkZJR19QQVRICi0gICAgIyBzbyB0aGF0IHBrZ2NvbmZpZyBjYW4gcHJvcGVy
bHkgcmVzb2x2ZSB0aGUgbGliamF2YXNjcmlwdGNvcmUgZGVwZW5kZW5jeS4KLSAgICBwa2dfY29u
ZmlnX3BhdGggPSBvcy5lbnZpcm9uLmdldCgiUEtHX0NPTkZJR19QQVRIIikKLSAgICBvcy5lbnZp
cm9uWydQS0dfQ09ORklHX1BBVEgnXSA9IGNvbW1vbi5idWlsZF9wYXRoKCdTb3VyY2UnLCAnSmF2
YVNjcmlwdENvcmUnKQotICAgIGlmIHBrZ19jb25maWdfcGF0aDoKLSAgICAgICAgb3MuZW52aXJv
blsnUEtHX0NPTkZJR19QQVRIJ10gKz0gJzonICsgcGtnX2NvbmZpZ19wYXRoCi0KLSAgICAjIE5l
d2VyIHZlcnNpb25zIG9mIGdsaWIgaGF2ZSBkZXByZWNhdGVkIGdfdHlwZV9pbml0LCBzbyB3ZSBu
ZWVkIHRvIGRpc2FibGUKLSAgICAjIHRoYXQgd2FybmluZyB3aGVuIHJ1bm5pbmcgZ3RrZG9jLXNj
YW5vYmogYnkgb3ZlcnJpZGluZyB0aGUgQ0ZMQUdTIHdlIHVzZQotICAgICMgdG8gY29tcGlsZSBp
dC4KLSAgICBjZmxhZ3MgPSBvcy5lbnZpcm9uLmdldCgnQ0ZMQUdTJywgJycpCi0gICAgY2ZsYWdz
ICs9ICcgLURHTElCX1ZFUlNJT05fTUlOX1JFUVVJUkVEPUdMSUJfVkVSU0lPTl8yXzMyJwotCi0g
ICAgIyBJbiBub24teDg2IGFyY2hpdGVjdHVyZXMsIHdoZW4gYSBwb2ludGVyIGlzIGNhc3QgdG8g
KHZvaWQqKSBhbmQKLSAgICAjIGJhY2ssIHRoZSBjb21waWxlciB0aGlua3MgdGhhdCB0aGUgYWxp
Z25tZW50IGlzIHJhbmRvbS4gU2luY2UKLSAgICAjIGd0a2RvYyBidWlsZCBpcyBicm9rZW4gYXQg
YW55IHdhcm5pbmcgbWVzc2FnZSwgaXQgaXMgYmV0dGVyIHRvCi0gICAgIyBzaWxlbmNlIHRoZXNl
IGZhbHNlIHBvc2l0aXZlcy4KLSAgICBjZmxhZ3MgKz0gJyAtV25vLWNhc3QtYWxpZ24nCi0gICAg
b3MuZW52aXJvblsnQ0ZMQUdTJ10gPSBjZmxhZ3MKLQotICAgICMgUGF0aHMgZnJvbSB0aGUgR05V
bWFrZWZpbGUgZ2VuZXJhdGVkIGNvbmZpZ3VyYXRpb24gZmlsZXMgYXJlIHJlbGF0aXZlIHRvIHRo
ZSBidWlsZCBkaXJlY3RvcnkuCi0gICAgb3MuY2hkaXIoY29tbW9uLmJ1aWxkX3BhdGgoKSkKLQot
aWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKLSAgICBwYXJzZXIgPSBhcmdwYXJzZS5Bcmd1bWVu
dFBhcnNlcihkZXNjcmlwdGlvbj0nR2VuZXJhdGUgZ3RrZG9jIGZvciBXZWJLaXQuJykKLSAgICBw
YXJzZXIuYWRkX2FyZ3VtZW50KCctdicsICctLXZlcmJvc2UnLCBhY3Rpb249J3N0b3JlX3RydWUn
LAotICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0nV2hldGhlciBvciBub3QgdG8gcnVuIGlu
IHZlcmJvc2UgbW9kZS4nKQotICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy0tcmViYXNlJywgYWN0
aW9uPSdzdG9yZV90cnVlJywKLSAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J1doZW4gc3Bl
Y2lmaWVkLCBydW4gdGhlIHRvb2wgaW4gcmViYXNlIG1vZGUuJykKLSAgICBwYXJzZXIuYWRkX2Fy
Z3VtZW50KCctLXNraXAtaHRtbCcsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsCi0gICAgICAgICAgICAg
ICAgICAgICAgICBoZWxwPSdXaGV0aGVyIG9yIG5vdCB0byBza2lwIEhUTUwgZ2VuZXJhdGlvbiwg
d2hpY2ggY2FuIGJlIHNsb3cuJykKLSAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLXZpcnR1YWwt
cm9vdCcsIHR5cGU9c3RyLCBkZWZhdWx0PScnLAotICAgICAgICAgICAgICAgICAgICAgICAgaGVs
cD0nQSB0ZW1wb3JhcnkgaW5zdGFsbGF0aW9uIGRpcmVjdG9yeSB3aGljaCBpcyB1c2VkIGFzIHRo
ZSByb290ICcgKyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3aGVyZSB0aGUgYWN0
dWFsIGluc3RhbGxhdGlvbiBwcmVmaXggbGl2ZXM7IHRoaXMgaXMgbW9zdGx5ICcgKyBcCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICd1c2VmdWwgZm9yIHBhY2thZ2VycywgYW5kIHNob3Vs
ZCBiZSBzZXQgdG8gd2hhdCBpcyBnaXZlbiB0byAnICsgXAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAnbWFrZSBpbnN0YWxsIGFzIERFU1RESVIuJykKLQotICAgIGFyZ3VtZW50cyA9IHBh
cnNlci5wYXJzZV9hcmdzKCkKLSAgICBjb25maWd1cmVfbG9nZ2luZyhhcmd1bWVudHMudmVyYm9z
ZSkKLQotICAgIHByZXBhcmVfZW52aXJvbm1lbnRfZm9yX2d0a2RvY19nZW5lcmF0aW9uKCkKLQot
ICAgIGpzY19nZW5lcmF0b3IgPSBnZXRfZ2VuZXJhdG9yX2Zvcl9jb25maWcoY29tbW9uLmJ1aWxk
X3BhdGgoJ2d0a2RvYy1qc2MtZ2xpYi5jZmcnKSwgYXJndW1lbnRzLnZpcnR1YWxfcm9vdCkKLSAg
ICBpZiBub3QganNjX2dlbmVyYXRvcjoKLSAgICAgICAgcHJpbnQoImd0a2RvYy1qc2MtZ2xpYi5j
ZmcgZG9lcyBub3QgZXhpc3QhIFNraXBwaW5nIHRoYXQgZG9jdW1lbnRhdGlvbiIpCi0gICAgICAg
IHN5cy5leGl0KDEpCi0gICAgc2F3X3dhcm5pbmdzID0gZ2VuZXJhdGVfZG9jdW1lbnRhdGlvbihq
c2NfZ2VuZXJhdG9yKQotICAgIGlmIHNhd193YXJuaW5nczoKLSAgICAgICAgc3lzLmV4aXQoc2F3
X3dhcm5pbmdzKQotCi0gICAgd2Via2l0ZG9tX2dlbmVyYXRvciA9IGdldF9nZW5lcmF0b3JfZm9y
X2NvbmZpZyhjb21tb24uYnVpbGRfcGF0aCgnZ3RrZG9jLXdlYmtpdGRvbS5jZmcnKSwgYXJndW1l
bnRzLnZpcnR1YWxfcm9vdCwgW2pzY19nZW5lcmF0b3IubW9kdWxlX25hbWVdKQotICAgIGlmIG5v
dCB3ZWJraXRkb21fZ2VuZXJhdG9yOgotICAgICAgICBwcmludCgiZ3RrZG9jLXdlYmtpdGRvbS5j
ZmcgZG9lcyBub3QgZXhpc3QhIFNraXBwaW5nIHRoYXQgZG9jdW1lbnRhdGlvbiIpCi0gICAgICAg
IHN5cy5leGl0KDEpCi0gICAgc2F3X3dhcm5pbmdzID0gZ2VuZXJhdGVfZG9jdW1lbnRhdGlvbih3
ZWJraXRkb21fZ2VuZXJhdG9yKQotICAgIGlmIHNhd193YXJuaW5nczoKLSAgICAgICAgc3lzLmV4
aXQoc2F3X3dhcm5pbmdzKQotCi0gICAgd2Via2l0Ml9nZW5lcmF0b3IgPSBnZXRfZ2VuZXJhdG9y
X2Zvcl9jb25maWcoY29tbW9uLmJ1aWxkX3BhdGgoJ2d0a2RvYy13ZWJraXQyZ3RrLmNmZycpLCBh
cmd1bWVudHMudmlydHVhbF9yb290LCBbd2Via2l0ZG9tX2dlbmVyYXRvci5tb2R1bGVfbmFtZSwg
anNjX2dlbmVyYXRvci5tb2R1bGVfbmFtZV0pCi0gICAgaWYgbm90IHdlYmtpdDJfZ2VuZXJhdG9y
OgotICAgICAgICBwcmludCgiZ3RrZG9jLXdlYmtpdDJndGsuY2ZnIGRvZXMgbm90IGV4aXN0ISBT
a2lwcGluZyB0aGF0IGRvY3VtZW50YXRpb24iKQotICAgICAgICBzeXMuZXhpdCgxKQotICAgIHNh
d193YXJuaW5ncyA9IGdlbmVyYXRlX2RvY3VtZW50YXRpb24od2Via2l0Ml9nZW5lcmF0b3IpCi0K
LSAgICBzeXMuZXhpdChzYXdfd2FybmluZ3MpCmRpZmYgLS1naXQgYS9Ub29scy9ndGsvZ3RrZG9j
LnB5IGIvVG9vbHMvZ3RrL2d0a2RvYy5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
ZjBhMDlmMTY4N2Y0NGVhOWRlNTkwY2VlZmM0YzMyMTI3NWRhNGEyNi4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9ndGsvZ3RrZG9jLnB5CisrKyAv
ZGV2L251bGwKQEAgLTEsNDUxICswLDAgQEAKLSMgQ29weXJpZ2h0IChDKSAyMDExIElnYWxpYSBT
LkwuCi0jCi0jIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp
YnV0ZSBpdCBhbmQvb3IKLSMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExl
c3NlciBHZW5lcmFsIFB1YmxpYwotIyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSMgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBv
ciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotIwotIyBUaGlzIGxpYnJhcnkg
aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSMgYnV0
IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg
b2YKLSMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
LiAgU2VlIHRoZSBHTlUKLSMgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUg
ZGV0YWlscy4KLSMKLSMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V
IExlc3NlciBHZW5lcmFsIFB1YmxpYwotIyBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5
OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0jIEZvdW5kYXRpb24sIEluYy4s
IDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEg
IFVTQQotCi1pbXBvcnQgY29kZWNzCi1pbXBvcnQgZXJybm8KLWltcG9ydCBsb2dnaW5nCi1pbXBv
cnQgb3MKLWltcG9ydCBvcy5wYXRoCi1pbXBvcnQgc3VicHJvY2VzcwotaW1wb3J0IHN5cwotCi0K
LWNsYXNzIEdUS0RvYyhvYmplY3QpOgotCi0gICAgIiIiQ2xhc3MgdGhhdCBjb250cm9scyBhIGd0
a2RvYyBydW4uCi0KLSAgICBFYWNoIGluc3RhbmNlIG9mIHRoaXMgY2xhc3MgcmVwcmVzZW50cyBv
bmUgZ3RrZG9jIGNvbmZpZ3VyYXRpb24KLSAgICBhbmQgc2V0IG9mIGRvY3VtZW50YXRpb24uIFRo
ZSBndGtkb2MgcGFja2FnZSBpcyBhIHNlcmllcyBvZiB0b29scwotICAgIHJ1biBjb25zZWN1dGl2
ZWx5IHdoaWNoIGNvbnZlcnRzIGlubGluZSBDL0MrKyBkb2N1bWVudGF0aW9uIGludG8KLSAgICBk
b2Nib29rIGZpbGVzIGFuZCB0aGVuIGludG8gSFRNTC4gVGhpcyBjbGFzcyBpcyBzdWl0YWJsZSBm
b3IKLSAgICBnZW5lcmF0aW5nIGRvY3VtZW50YXRpb24gb3Igc2ltcGx5IHZlcmlmeWluZyBjb3Jy
ZWN0bmVzcy4KLQotICAgIEtleXdvcmQgYXJndW1lbnRzOgotICAgIG91dHB1dF9kaXIgICAgICAg
ICAtLSBUaGUgcGF0aCB3aGVyZSBndGtkb2Mgb3V0cHV0IHNob3VsZCBiZSBwbGFjZWQuIEdlbmVy
YXRpb24KLSAgICAgICAgICAgICAgICAgICAgICAgICAgbWF5IG92ZXJ3cml0ZSBmaWxlIGluIHRo
aXMgZGlyZWN0b3J5LiBSZXF1aXJlZC4KLSAgICBtb2R1bGVfbmFtZSAgICAgICAgLS0gVGhlIG5h
bWUgb2YgdGhlIGRvY3VtZW50YXRpb24gbW9kdWxlLiBGb3IgbGlicmFyaWVzIHRoaXMKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgaXMgdHlwaWNhbGx5IHRoZSBsaWJyYXJ5IG5hbWUuIFJlcXVp
cmVkIGlmIG5vdCBsaWJyYXJ5IHBhdGgKLSAgICAgICAgICAgICAgICAgICAgICAgICAgaXMgZ2l2
ZW4uCi0gICAgc291cmNlX2RpcnMgICAgICAgIC0tIEEgbGlzdCBvZiBwYXRocyB0byBkaXJlY3Rv
cmllcyBvZiBzb3VyY2UgY29kZSB0byBiZSBzY2FubmVkLgotICAgICAgICAgICAgICAgICAgICAg
ICAgICBSZXF1aXJlZCBpZiBoZWFkZXJzIGlzIG5vdCBzcGVjaWZpZWQuCi0gICAgaWdub3JlZF9m
aWxlcyAgICAgIC0tIEEgbGlzdCBvZiBmaWxlbmFtZXMgdG8gaWdub3JlIGluIHRoZSBzb3VyY2Ug
ZGlyZWN0b3J5LiBJdCBpcwotICAgICAgICAgICAgICAgICAgICAgICAgICBvbmx5IG5lY2Vzc2Fy
eSB0byBwcm92aWRlIHRoZSBiYXNlbmFtZXMgb2YgdGhlc2UgZmlsZXMuCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgIFR5cGljYWxseSBpdCBpcyBpbXBvcnRhbnQgdG8gcHJvdmlkZSBhbiB1cGRh
dGVkIGxpc3Qgb2YKLSAgICAgICAgICAgICAgICAgICAgICAgICAgaWdub3JlZCBmaWxlcyB0byBw
cmV2ZW50IHdhcm5pbmdzIGFib3V0IHVuZG9jdW1lbnRlZCBzeW1ib2xzLgotICAgIGhlYWRlcnMg
ICAgICAgICAgICAtLSBBIGxpc3Qgb2YgcGF0aHMgdG8gaGVhZGVycyB0byBiZSBzY2FubmVkLiBS
ZXF1aXJlZCBpZiBzb3VyY2VfZGlycwotICAgICAgICAgICAgICAgICAgICAgICAgICBpcyBub3Qg
c3BlY2lmaWVkLgotICAgIG5hbWVzcGFjZSAgICAgICAgICAtLSBUaGUgbGlicmFyeSBuYW1lc3Bh
Y2UuCi0gICAgZGVjb3JhdG9yICAgICAgICAgIC0tIElmIGEgZGVjb3JhdG9yIGlzIHVzZWQgdG8g
dW5oaWRlIGNlcnRhaW4gc3ltYm9scyBpbiBoZWFkZXIKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgZmlsZXMgdGhpcyBwYXJhbWV0ZXIgaXMgcmVxdWlyZWQgZm9yIHN1Y2Nlc3NmdWwgc2Nhbm5p
bmcuCi0gICAgICAgICAgICAgICAgICAgICAgICAgIChkZWZhdWx0ICcnKQotICAgIGRlcHJlY2F0
aW9uX2d1YXJkICAtLSBndGtkb2MgdHJpZXMgdG8gZW5zdXJlIHRoYXQgc3ltYm9scyBtYXJrZWQg
YXMgZGVwcmVjYXRlZAotICAgICAgICAgICAgICAgICAgICAgICAgICBhcmUgZW5jYXNlZCBpbiB0
aGlzIEMgcHJlcHJvY2Vzc29yIGRlZmluZS4gVGhpcyBpcyByZXF1aXJlZAotICAgICAgICAgICAg
ICAgICAgICAgICAgICB0byBhdm9pZCBndGtkb2Mgd2FybmluZ3MuIChkZWZhdWx0ICcnKQotICAg
IGNmbGFncyAgICAgICAgICAgICAtLSBUaGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgYW55IHByZXBy
b2Nlc3NvciBmbGFncyBuZWNlc3NhcnkgZm9yCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGJ1
aWxkaW5nIHRoZSBzY2FubmVyIGJpbmFyeSBkdXJpbmcgZ3RrZG9jLXNjYW5vYmouIFR5cGljYWxs
eQotICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzIGluY2x1ZGVzIGFsbCBhYnNvbHV0ZSBp
bmNsdWRlIHBhdGhzIG5lY2Vzc2FyeSB0byByZXNvbHZlCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgIGFsbCBoZWFkZXIgZGVwZW5kZW5jaWVzLiAoZGVmYXVsdCAnJykKLSAgICBsZGZsYWdzICAg
ICAgICAgICAgLS0gVGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIGFueSBsaW5rZXIgZmxhZ3MgbmVj
ZXNzYXJ5IGZvcgotICAgICAgICAgICAgICAgICAgICAgICAgICBidWlsZGluZyB0aGUgc2Nhbm5l
ciBiaW5hcnkgZHVyaW5nIGd0a2RvYy1zY2Fub2JqLiBUeXBpY2FsbHkKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgdGhpcyBpbmNsdWRlcyAiLWx5b3VybGlicmFyeW5hbWUiLiAoZGVmYXVsdCAn
JykKLSAgICBsaWJyYXJ5X3BhdGggICAgICAgLS0gVGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRo
ZSBwYXRoIHRvIHRoZSBkaXJlY3Rvcnkgd2hlcmUgeW91Ci0gICAgICAgICAgICAgICAgICAgICAg
ICAgIGxpYnJhcnkgcmVzaWRlcyB1c2VkIGZvciBidWlsZGluZyB0aGUgc2Nhbm5lciBiaW5hcnkg
ZHVyaW5nCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGd0a2RvYy1zY2Fub2JqLiAoZGVmYXVs
dCAnJykKLQotICAgIGRvY19kaXIgICAgICAgICAgICAtLSBUaGUgcGF0aCB0byBvdGhlciBkb2N1
bWVudGF0aW9uIGZpbGVzIG5lY2Vzc2FyeSB0byBidWlsZAotICAgICAgICAgICAgICAgICAgICAg
ICAgICB0aGUgZG9jdW1lbnRhdGlvbi4gVGhpcyBmaWxlcyBpbiB0aGlzIGRpcmVjdG9yeSBhcyB3
ZWxsIGFzCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBmaWxlcyBpbiB0aGUgJ2h0bWwn
IHN1YmRpcmVjdG9yeSB3aWxsIGJlIGNvcGllZAotICAgICAgICAgICAgICAgICAgICAgICAgICBy
ZWN1cnNpdmVseSBpbnRvIHRoZSBvdXRwdXQgZGlyZWN0b3J5LiAoZGVmYXVsdCAnJykKLSAgICBt
YWluX3NnbWxfZmlsZSAgICAgLS0gVGhlIHBhdGggb3IgbmFtZSAoaWYgYSBkb2NfZGlyIGlzIGdp
dmVuKSBvZiB0aGUgU0dNTCBmaWxlCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQgaXMg
dGhlIGNvbnNpZGVyZWQgdGhlIG1haW4gcGFnZSBvZiB5b3VyIGRvY3VtZW50YXRpb24uCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgIChkZWZhdWx0OiA8bW9kdWxlX25hbWU+LWRvY3Muc2dtbCkK
LSAgICB2ZXJzaW9uICAgICAgICAgICAgLS0gVGhlIHZlcnNpb24gbnVtYmVyIG9mIHRoZSBtb2R1
bGUuIElmIHRoaXMgaXMgcHJvdmlkZWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGEgdmVy
c2lvbi54bWwgZmlsZSBjb250YWluaW5nIHRoZSB2ZXJzaW9uIHdpbGwgYmUgY3JlYXRlZAotICAg
ICAgICAgICAgICAgICAgICAgICAgICBpbiB0aGUgb3V0cHV0IGRpcmVjdG9yeSBkdXJpbmcgZG9j
dW1lbnRhdGlvbiBnZW5lcmF0aW9uLgotCi0gICAgaW50ZXJhY3RpdmUgICAgICAgIC0tIFdoZXRo
ZXIgb3Igbm90IGVycm9ycyBvciB3YXJuaW5ncyBzaG91bGQgcHJvbXB0IHRoZSB1c2VyCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgIHRvIGNvbnRpbnVlIG9yIG5vdC4gV2hlbiB0aGlzIHZhbHVl
IGlzIGZhbHNlLCBnZW5lcmF0aW9uCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHdpbGwgY29u
dGludWUgZGVzcGl0ZSB3YXJuaW5ncy4gKGRlZmF1bHQgRmFsc2UpCi0KLSAgICB2aXJ0dWFsX3Jv
b3QgICAgICAgLS0gQSB0ZW1wb3JhcnkgaW5zdGFsbGF0aW9uIGRpcmVjdG9yeSB3aGljaCBpcyB1
c2VkIGFzIHRoZSByb290Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIHdoZXJlIHRoZSBhY3R1
YWwgaW5zdGFsbGF0aW9uIHByZWZpeCBsaXZlczsgdGhpcyBpcyBtb3N0bHkKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgdXNlZnVsIGZvciBwYWNrYWdlcnMsIGFuZCBzaG91bGQgYmUgc2V0IHRv
IHdoYXQgaXMgZ2l2ZW4gdG8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgbWFrZSBpbnN0YWxs
IGFzIERFU1RESVIuCi0gICAgIiIiCi0KLSAgICBkZWYgX19pbml0X18oc2VsZiwgYXJncyk6Ci0K
LSAgICAgICAgIyBQYXJhbWV0ZXJzIHNwZWNpZmljIHRvIHNjYW5uaW5nLgotICAgICAgICBzZWxm
Lm1vZHVsZV9uYW1lID0gJycKLSAgICAgICAgc2VsZi5zb3VyY2VfZGlycyA9IFtdCi0gICAgICAg
IHNlbGYuaGVhZGVycyA9IFtdCi0gICAgICAgIHNlbGYuaWdub3JlZF9maWxlcyA9IFtdCi0gICAg
ICAgIHNlbGYubmFtZXNwYWNlID0gJycKLSAgICAgICAgc2VsZi5kZWNvcmF0b3IgPSAnJwotICAg
ICAgICBzZWxmLmRlcHJlY2F0aW9uX2d1YXJkID0gJycKLQotICAgICAgICAjIFBhcmFtZXRlcnMg
c3BlY2lmaWMgdG8gZ3RrZG9jLXNjYW5vYmouCi0gICAgICAgIHNlbGYuY2ZsYWdzID0gJycKLSAg
ICAgICAgc2VsZi5sZGZsYWdzID0gJycKLSAgICAgICAgc2VsZi5saWJyYXJ5X3BhdGggPSAnJwot
Ci0gICAgICAgICMgUGFyYW1ldGVycyBzcGVjaWZpYyB0byBnZW5lcmF0aW9uLgotICAgICAgICBz
ZWxmLm91dHB1dF9kaXIgPSAnJwotICAgICAgICBzZWxmLmRvY19kaXIgPSAnJwotICAgICAgICBz
ZWxmLm1haW5fc2dtbF9maWxlID0gJycKLQotICAgICAgICAjIFBhcmFtZXRlcnMgc3BlY2lmaWMg
dG8gZ3RrZG9jLWZpeHhyZWYuCi0gICAgICAgIHNlbGYuY3Jvc3NfcmVmZXJlbmNlX2RlcHMgPSBb
XQotCi0gICAgICAgIHNlbGYuaW50ZXJhY3RpdmUgPSBGYWxzZQotCi0gICAgICAgIHNlbGYubG9n
Z2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoJ2d0a2RvYycpCi0KLSAgICAgICAgZm9yIGtleSwgdmFs
dWUgaW4gaXRlcihhcmdzLml0ZW1zKCkpOgotICAgICAgICAgICAgc2V0YXR0cihzZWxmLCBrZXks
IHZhbHVlKQotCi0gICAgICAgIGlmIG5vdCBnZXRhdHRyKHNlbGYsICdvdXRwdXRfZGlyJyk6Ci0g
ICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oJ291dHB1dF9kaXIgbm90IHNwZWNpZmllZC4nKQot
ICAgICAgICBpZiBub3QgZ2V0YXR0cihzZWxmLCAnbW9kdWxlX25hbWUnKToKLSAgICAgICAgICAg
IHJhaXNlIEV4Y2VwdGlvbignbW9kdWxlX25hbWUgbm90IHNwZWNpZmllZC4nKQotICAgICAgICBp
ZiBub3QgZ2V0YXR0cihzZWxmLCAnc291cmNlX2RpcnMnKSBhbmQgbm90IGdldGF0dHIoc2VsZiwg
J2hlYWRlcnMnKToKLSAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbignTmVpdGhlciBzb3VyY2Vf
ZGlycyBub3IgaGVhZGVycyBzcGVjaWZpZWQuJyAlIGtleSkKLQotICAgICAgICAjIE1ha2UgYWxs
IHBhdGhzIGFic29sdXRlIGluIGNhc2Ugd2Ugd2VyZSBwYXNzZWQgcmVsYXRpdmUgcGF0aHMsIHNp
bmNlCi0gICAgICAgICMgd2UgY2hhbmdlIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IHdo
ZW4gZXhlY3V0aW5nIHN1YmNvbW1hbmRzLgotICAgICAgICBzZWxmLm91dHB1dF9kaXIgPSBvcy5w
YXRoLmFic3BhdGgoc2VsZi5vdXRwdXRfZGlyKQotICAgICAgICBzZWxmLnNvdXJjZV9kaXJzID0g
W29zLnBhdGguYWJzcGF0aCh4KSBmb3IgeCBpbiBzZWxmLnNvdXJjZV9kaXJzXQotICAgICAgICBz
ZWxmLmhlYWRlcnMgPSBbb3MucGF0aC5hYnNwYXRoKHgpIGZvciB4IGluIHNlbGYuaGVhZGVyc10K
LSAgICAgICAgaWYgc2VsZi5saWJyYXJ5X3BhdGg6Ci0gICAgICAgICAgICBzZWxmLmxpYnJhcnlf
cGF0aCA9IG9zLnBhdGguYWJzcGF0aChzZWxmLmxpYnJhcnlfcGF0aCkKLQotICAgICAgICBpZiBu
b3Qgc2VsZi5tYWluX3NnbWxfZmlsZToKLSAgICAgICAgICAgIHNlbGYubWFpbl9zZ21sX2ZpbGUg
PSBzZWxmLm1vZHVsZV9uYW1lICsgIi1kb2NzLnNnbWwiCi0KLSAgICBkZWYgZ2VuZXJhdGUoc2Vs
ZiwgaHRtbD1UcnVlKToKLSAgICAgICAgc2VsZi5zYXdfd2FybmluZ3MgPSBGYWxzZQotCi0gICAg
ICAgIHNlbGYuX2NvcHlfZG9jX2ZpbGVzX3RvX291dHB1dF9kaXIoaHRtbCkKLSAgICAgICAgc2Vs
Zi5fd3JpdGVfdmVyc2lvbl94bWwoKQotICAgICAgICBzZWxmLl9ydW5fZ3RrZG9jX3NjYW4oKQot
ICAgICAgICBzZWxmLl9ydW5fZ3RrZG9jX3NjYW5nb2JqKCkKLSAgICAgICAgc2VsZi5fcnVuX2d0
a2RvY19ta2RiKCkKLQotICAgICAgICBpZiBub3QgaHRtbDoKLSAgICAgICAgICAgIHJldHVybgot
Ci0gICAgICAgIHNlbGYuX3J1bl9ndGtkb2NfbWtodG1sKCkKLSAgICAgICAgc2VsZi5fcnVuX2d0
a2RvY19maXh4cmVmKCkKLQotICAgIGRlZiBfZGVsZXRlX2ZpbGVfaWZfZXhpc3RzKHNlbGYsIHBh
dGgpOgotICAgICAgICBpZiBub3Qgb3MuYWNjZXNzKHBhdGgsIG9zLkZfT0sgfCBvcy5SX09LKToK
LSAgICAgICAgICAgIHJldHVybgotICAgICAgICBzZWxmLmxvZ2dlci5kZWJ1ZygnZGVsZXRpbmcg
JXMnLCBwYXRoKQotICAgICAgICBvcy51bmxpbmsocGF0aCkKLQotICAgIGRlZiBfY3JlYXRlX2Rp
cmVjdG9yeV9pZl9ub25leGlzdGVudChzZWxmLCBwYXRoKToKLSAgICAgICAgdHJ5OgotICAgICAg
ICAgICAgb3MubWFrZWRpcnMocGF0aCkKLSAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZXJyb3I6
Ci0gICAgICAgICAgICBpZiBlcnJvci5lcnJubyAhPSBlcnJuby5FRVhJU1Q6Ci0gICAgICAgICAg
ICAgICAgcmFpc2UKLQotICAgIGRlZiBfcmFpc2VfZXhjZXB0aW9uX2lmX2ZpbGVfaW5hY2Nlc3Np
YmxlKHNlbGYsIHBhdGgpOgotICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMocGF0aCkgb3Ig
bm90IG9zLmFjY2VzcyhwYXRoLCBvcy5SX09LKToKLSAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlv
bigiQ291bGQgbm90IGFjY2VzcyBmaWxlIGF0OiAlcyIgJSBwYXRoKQotCi0gICAgZGVmIF9vdXRw
dXRfaGFzX3dhcm5pbmdzKHNlbGYsIG91dHB1dHMpOgotICAgICAgICBmb3Igb3V0cHV0IGluIG91
dHB1dHM6Ci0gICAgICAgICAgICBpZiBvdXRwdXQgYW5kIG91dHB1dC5maW5kKCd3YXJuaW5nJyk6
Ci0gICAgICAgICAgICAgICAgcmV0dXJuIFRydWUKLSAgICAgICAgcmV0dXJuIEZhbHNlCi0KLSAg
ICBkZWYgX2Fza195ZXNfb3Jfbm9fcXVlc3Rpb24oc2VsZiwgcXVlc3Rpb24pOgotICAgICAgICBp
ZiBub3Qgc2VsZi5pbnRlcmFjdGl2ZToKLSAgICAgICAgICAgIHJldHVybiBUcnVlCi0KLSAgICAg
ICAgcXVlc3Rpb24gKz0gJyBbeS9OXSAnCi0gICAgICAgIGFuc3dlciA9IE5vbmUKLSAgICAgICAg
d2hpbGUgYW5zd2VyICE9ICd5JyBhbmQgYW5zd2VyICE9ICduJyBhbmQgYW5zd2VyICE9ICcnOgot
ICAgICAgICAgICAgYW5zd2VyID0gcmF3X2lucHV0KHF1ZXN0aW9uKS5sb3dlcigpCi0gICAgICAg
IHJldHVybiBhbnN3ZXIgPT0gJ3knCi0KLSAgICBkZWYgX3J1bl9jb21tYW5kKHNlbGYsIGFyZ3Ms
IGVudj1Ob25lLCBjd2Q9Tm9uZSwgcHJpbnRfb3V0cHV0PVRydWUsIGlnbm9yZV93YXJuaW5ncz1G
YWxzZSk6Ci0gICAgICAgIGlmIHByaW50X291dHB1dDoKLSAgICAgICAgICAgIHNlbGYubG9nZ2Vy
LmRlYnVnKCJSdW5uaW5nICVzIiwgYXJnc1swXSkKLSAgICAgICAgc2VsZi5sb2dnZXIuZGVidWco
IkZ1bGwgY29tbWFuZCBhcmdzOiAlcyIsIHN0cihhcmdzKSkKLQotICAgICAgICBwcm9jZXNzID0g
c3VicHJvY2Vzcy5Qb3BlbihhcmdzLCBlbnY9ZW52LCBjd2Q9Y3dkLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBzdGRlcnI9c3VicHJvY2Vzcy5QSVBFKQotICAgICAgICBz
dGRvdXQsIHN0ZGVyciA9IFtiLmRlY29kZSgidXRmLTgiKSBmb3IgYiBpbiBwcm9jZXNzLmNvbW11
bmljYXRlKCldCi0KLSAgICAgICAgaWYgcHJpbnRfb3V0cHV0OgotICAgICAgICAgICAgaWYgc3Rk
b3V0OgotICAgICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAgICAgc3lzLnN0ZG91
dC53cml0ZShzdGRvdXQuZW5jb2RlKCJ1dGYtOCIpKQotICAgICAgICAgICAgICAgIGV4Y2VwdCBV
bmljb2RlRGVjb2RlRXJyb3I6Ci0gICAgICAgICAgICAgICAgICAgIHN5cy5zdGRvdXQud3JpdGUo
c3Rkb3V0KQotICAgICAgICAgICAgaWYgc3RkZXJyOgotICAgICAgICAgICAgICAgIHRyeToKLSAg
ICAgICAgICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZShzdGRlcnIuZW5jb2RlKCJ1dGYtOCIp
KQotICAgICAgICAgICAgICAgIGV4Y2VwdCBVbmljb2RlRGVjb2RlRXJyb3I6Ci0gICAgICAgICAg
ICAgICAgICAgIHN5cy5zdGRlcnIud3JpdGUoc3RkZXJyKQotCi0gICAgICAgIGlmIHByb2Nlc3Mu
cmV0dXJuY29kZSAhPSAwOgotICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCclcyBwcm9kdWNl
ZCBhIG5vbi16ZXJvIHJldHVybiBjb2RlICVpJwotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAlIChhcmdzWzBdLCBwcm9jZXNzLnJldHVybmNvZGUpKQotCi0gICAgICAgIGlmIG5vdCBpZ25v
cmVfd2FybmluZ3MgYW5kICgnd2FybmluZycgaW4gc3RkZXJyIG9yICd3YXJuaW5nJyBpbiBzdGRv
dXQpOgotICAgICAgICAgICAgc2VsZi5zYXdfd2FybmluZ3MgPSBUcnVlCi0gICAgICAgICAgICBp
ZiBub3Qgc2VsZi5fYXNrX3llc19vcl9ub19xdWVzdGlvbignJXMgcHJvZHVjZWQgd2FybmluZ3Ms
ICcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0cnkg
dG8gY29udGludWU/JyAlIGFyZ3NbMF0pOgotICAgICAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlv
bignJXMgc3RlcCBmYWlsZWQnICUgYXJnc1swXSkKLQotICAgICAgICByZXR1cm4gc3Rkb3V0LnN0
cmlwKCkKLQotICAgIGRlZiBfY29weV9kb2NfZmlsZXNfdG9fb3V0cHV0X2RpcihzZWxmLCBodG1s
PVRydWUpOgotICAgICAgICBpZiBub3Qgc2VsZi5kb2NfZGlyOgotICAgICAgICAgICAgc2VsZi5s
b2dnZXIuaW5mbygnTm90IGNvcHlpbmcgYW55IGZpbGVzIGZyb20gZG9jIGRpcmVjdG9yeSwnCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgYmVjYXVzZSBubyBkb2MgZGlyZWN0b3J5IGdp
dmVuLicpCi0gICAgICAgICAgICByZXR1cm4KLQotICAgICAgICBkZWYgY29weV9maWxlX3JlcGxh
Y2luZ19leGlzdGluZyhzcmMsIGRlc3QpOgotICAgICAgICAgICAgaWYgb3MucGF0aC5pc2Rpcihz
cmMpOgotICAgICAgICAgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCdza2lwcGVkIGRpcmVjdG9y
eSAlcycsICBzcmMpCi0gICAgICAgICAgICAgICAgcmV0dXJuCi0gICAgICAgICAgICBpZiBub3Qg
b3MuYWNjZXNzKHNyYywgb3MuRl9PSyB8IG9zLlJfT0spOgotICAgICAgICAgICAgICAgIHNlbGYu
bG9nZ2VyLmRlYnVnKCdza2lwcGVkIHVucmVhZGFibGUgJXMnLCBzcmMpCi0gICAgICAgICAgICAg
ICAgcmV0dXJuCi0KLSAgICAgICAgICAgIHNlbGYuX2RlbGV0ZV9maWxlX2lmX2V4aXN0cyhkZXN0
KQotCi0gICAgICAgICAgICBzZWxmLmxvZ2dlci5kZWJ1ZygnY3JlYXRlZCAlcycsIGRlc3QpCi0g
ICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgb3MubGluayhzcmMsIGRlc3QpCi0gICAg
ICAgICAgICBleGNlcHQgT1NFcnJvcjoKLSAgICAgICAgICAgICAgICBvcy5zeW1saW5rKHNyYywg
ZGVzdCkKLQotICAgICAgICBkZWYgY29weV9hbGxfZmlsZXNfaW5fZGlyZWN0b3J5KHNyYywgZGVz
dCk6Ci0gICAgICAgICAgICBmb3IgcGF0aCBpbiBvcy5saXN0ZGlyKHNyYyk6Ci0gICAgICAgICAg
ICAgICAgY29weV9maWxlX3JlcGxhY2luZ19leGlzdGluZyhvcy5wYXRoLmpvaW4oc3JjLCBwYXRo
KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9zLnBhdGgu
am9pbihkZXN0LCBwYXRoKSkKLQotICAgICAgICBzZWxmLmxvZ2dlci5kZWJ1ZygnQ29weWluZyB0
ZW1wbGF0ZSBmaWxlcyB0byBvdXRwdXQgZGlyZWN0b3J5Li4uJykKLSAgICAgICAgc2VsZi5fY3Jl
YXRlX2RpcmVjdG9yeV9pZl9ub25leGlzdGVudChzZWxmLm91dHB1dF9kaXIpCi0gICAgICAgIGNv
cHlfYWxsX2ZpbGVzX2luX2RpcmVjdG9yeShzZWxmLmRvY19kaXIsIHNlbGYub3V0cHV0X2RpcikK
LQotICAgIGRlZiBfd3JpdGVfdmVyc2lvbl94bWwoc2VsZik6Ci0gICAgICAgIGlmIG5vdCBzZWxm
LnZlcnNpb246Ci0gICAgICAgICAgICBzZWxmLmxvZ2dlci5pbmZvKCdObyB2ZXJzaW9uIHNwZWNp
ZmllZCwgc28gbm90IHdyaXRpbmcgdmVyc2lvbi54bWwnKQotICAgICAgICAgICAgcmV0dXJuCi0K
LSAgICAgICAgdmVyc2lvbl94bWxfcGF0aCA9IG9zLnBhdGguam9pbihzZWxmLm91dHB1dF9kaXIs
ICd2ZXJzaW9uLnhtbCcpCi0gICAgICAgIHNyY192ZXJzaW9uX3htbF9wYXRoID0gb3MucGF0aC5q
b2luKHNlbGYuZG9jX2RpciwgJ3ZlcnNpb24ueG1sJykKLQotICAgICAgICAjIERvbid0IG92ZXJ3
cml0ZSB2ZXJzaW9uLnhtbCBpZiBpdCB3YXMgaW4gdGhlIGRvYyBkaXJlY3RvcnkuCi0gICAgICAg
IGlmIG9zLnBhdGguZXhpc3RzKHZlcnNpb25feG1sX3BhdGgpIGFuZCBcCi0gICAgICAgICAgIG9z
LnBhdGguZXhpc3RzKHNyY192ZXJzaW9uX3htbF9wYXRoKToKLSAgICAgICAgICAgIHJldHVybgot
Ci0gICAgICAgIG91dHB1dF9maWxlID0gb3Blbih2ZXJzaW9uX3htbF9wYXRoLCAndycpCi0gICAg
ICAgIG91dHB1dF9maWxlLndyaXRlKHNlbGYudmVyc2lvbikKLSAgICAgICAgb3V0cHV0X2ZpbGUu
Y2xvc2UoKQotCi0gICAgZGVmIF9pZ25vcmVkX2ZpbGVzX2Jhc2VuYW1lcyhzZWxmKToKLSAgICAg
ICAgcmV0dXJuICcgJy5qb2luKFtvcy5wYXRoLmJhc2VuYW1lKHgpIGZvciB4IGluIHNlbGYuaWdu
b3JlZF9maWxlc10pCi0KLSAgICBkZWYgX3J1bl9ndGtkb2Nfc2NhbihzZWxmKToKLSAgICAgICAg
YXJncyA9IFsnZ3RrZG9jLXNjYW4nLAotICAgICAgICAgICAgICAgICctLW1vZHVsZT0lcycgJSBz
ZWxmLm1vZHVsZV9uYW1lLAotICAgICAgICAgICAgICAgICctLXJlYnVpbGQtdHlwZXMnXQotCi0g
ICAgICAgIGlmIG5vdCBzZWxmLmhlYWRlcnM6Ci0gICAgICAgICAgICAjIEVhY2ggc291cmNlIGRp
cmVjdG9yeSBzaG91bGQgYmUgaGF2ZSBpdHMgb3duICItLXNvdXJjZS1kaXI9IiBwcmVmaXguCi0g
ICAgICAgICAgICBhcmdzLmV4dGVuZChbJy0tc291cmNlLWRpcj0lcycgJSBwYXRoIGZvciBwYXRo
IGluIHNlbGYuc291cmNlX2RpcnNdKQotCi0gICAgICAgIGlmIHNlbGYuZGVjb3JhdG9yOgotICAg
ICAgICAgICAgYXJncy5hcHBlbmQoJy0taWdub3JlLWRlY29yYXRvcnM9JXMnICUgc2VsZi5kZWNv
cmF0b3IpCi0gICAgICAgIGlmIHNlbGYuZGVwcmVjYXRpb25fZ3VhcmQ6Ci0gICAgICAgICAgICBh
cmdzLmFwcGVuZCgnLS1kZXByZWNhdGVkLWd1YXJkcz0lcycgJSBzZWxmLmRlcHJlY2F0aW9uX2d1
YXJkKQotICAgICAgICBpZiBzZWxmLm91dHB1dF9kaXI6Ci0gICAgICAgICAgICBhcmdzLmFwcGVu
ZCgnLS1vdXRwdXQtZGlyPSVzJyAlIHNlbGYub3V0cHV0X2RpcikKLQotICAgICAgICAjIFdlIG9u
bHkgbmVlZCB0byBwYXNzIHRoZSBsaXN0IG9mIGlnbm9yZWQgZmlsZXMgaWYgdGhlIHdlIGFyZSBu
b3QgdXNpbmcgYW4gZXhwbGljaXQgbGlzdCBvZiBoZWFkZXJzLgotICAgICAgICBpZiBub3Qgc2Vs
Zi5oZWFkZXJzOgotICAgICAgICAgICAgIyBndGtkb2Mtc2NhbiB3YW50cyB0aGUgYmFzZW5hbWVz
IG9mIGlnbm9yZWQgaGVhZGVycywgc28gc3RyaXAgdGhlCi0gICAgICAgICAgICAjIGRpcm5hbWUu
IERpZmZlcmVudCBmcm9tICItLXNvdXJjZS1kaXIiLCB0aGUgaGVhZGVycyBzaG91bGQgYmUKLSAg
ICAgICAgICAgICMgc3BlY2lmaWVkIGFzIG9uZSBsb25nIHN0cmluZy4KLSAgICAgICAgICAgIGln
bm9yZWRfZmlsZXNfYmFzZW5hbWVzID0gc2VsZi5faWdub3JlZF9maWxlc19iYXNlbmFtZXMoKQot
ICAgICAgICAgICAgaWYgaWdub3JlZF9maWxlc19iYXNlbmFtZXM6Ci0gICAgICAgICAgICAgICAg
YXJncy5hcHBlbmQoJy0taWdub3JlLWhlYWRlcnM9JXMnICUgaWdub3JlZF9maWxlc19iYXNlbmFt
ZXMpCi0KLSAgICAgICAgaWYgc2VsZi5oZWFkZXJzOgotICAgICAgICAgICAgYXJncy5leHRlbmQo
c2VsZi5oZWFkZXJzKQotCi0gICAgICAgIHNlbGYuX3J1bl9jb21tYW5kKGFyZ3MpCi0KLSAgICBk
ZWYgX3J1bl9ndGtkb2Nfc2NhbmdvYmooc2VsZik6Ci0gICAgICAgIGVudiA9IG9zLmVudmlyb24K
LSAgICAgICAgbGRmbGFncyA9IHNlbGYubGRmbGFncwotICAgICAgICBpZiBzZWxmLmxpYnJhcnlf
cGF0aDoKLSAgICAgICAgICAgIGFkZGl0aW9uYWxfbGRmbGFncyA9ICcnCi0gICAgICAgICAgICBm
b3IgYXJnIGluIGVudi5nZXQoJ0xERkxBR1MnLCAnJykuc3BsaXQoJyAnKToKLSAgICAgICAgICAg
ICAgICBpZiBhcmcuc3RhcnRzd2l0aCgnLUwnKToKLSAgICAgICAgICAgICAgICAgICAgYWRkaXRp
b25hbF9sZGZsYWdzID0gJyVzICVzJyAlIChhZGRpdGlvbmFsX2xkZmxhZ3MsIGFyZykKLSAgICAg
ICAgICAgIGxkZmxhZ3MgPSAnICItTCVzIiAlcyAnICUgKHNlbGYubGlicmFyeV9wYXRoLCBhZGRp
dGlvbmFsX2xkZmxhZ3MpICsgbGRmbGFncwotICAgICAgICAgICAgY3VycmVudF9sZF9saWJyYXJ5
X3BhdGggPSBlbnYuZ2V0KCdMRF9MSUJSQVJZX1BBVEgnKQotICAgICAgICAgICAgaWYgY3VycmVu
dF9sZF9saWJyYXJ5X3BhdGg6Ci0gICAgICAgICAgICAgICAgZW52WydMRF9MSUJSQVJZX1BBVEgn
XSA9ICclczolcycgJSAoc2VsZi5saWJyYXJ5X3BhdGgsIGN1cnJlbnRfbGRfbGlicmFyeV9wYXRo
KQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBlbnZbJ0xEX0xJQlJBUllfUEFU
SCddID0gc2VsZi5saWJyYXJ5X3BhdGgKLQotICAgICAgICBpZiBsZGZsYWdzOgotICAgICAgICAg
ICAgZW52WydMREZMQUdTJ10gPSAnJXMgJXMnICUgKGxkZmxhZ3MsIGVudi5nZXQoJ0xERkxBR1Mn
LCAnJykpCi0gICAgICAgIGlmIHNlbGYuY2ZsYWdzOgotICAgICAgICAgICAgZW52WydDRkxBR1Mn
XSA9ICclcyAlcycgJSAoc2VsZi5jZmxhZ3MsIGVudi5nZXQoJ0NGTEFHUycsICcnKSkKLQotICAg
ICAgICBpZiAnQ0ZMQUdTJyBpbiBlbnY6Ci0gICAgICAgICAgICBzZWxmLmxvZ2dlci5kZWJ1Zygn
Q0ZMQUdTPSVzJywgZW52WydDRkxBR1MnXSkKLSAgICAgICAgaWYgJ0xERkxBR1MnIGluIGVudjoK
LSAgICAgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCdMREZMQUdTICVzJywgZW52WydMREZMQUdT
J10pCi0gICAgICAgIHNlbGYuX3J1bl9jb21tYW5kKFsnZ3RrZG9jLXNjYW5nb2JqJywgJy0tbW9k
dWxlPSVzJyAlIHNlbGYubW9kdWxlX25hbWVdLAotICAgICAgICAgICAgICAgICAgICAgICAgICBl
bnY9ZW52LCBjd2Q9c2VsZi5vdXRwdXRfZGlyKQotCi0gICAgZGVmIF9ydW5fZ3RrZG9jX21rZGIo
c2VsZik6Ci0gICAgICAgIHNnbWxfZmlsZSA9IG9zLnBhdGguam9pbihzZWxmLm91dHB1dF9kaXIs
IHNlbGYubWFpbl9zZ21sX2ZpbGUpCi0gICAgICAgIHNlbGYuX3JhaXNlX2V4Y2VwdGlvbl9pZl9m
aWxlX2luYWNjZXNzaWJsZShzZ21sX2ZpbGUpCi0KLSAgICAgICAgYXJncyA9IFsnZ3RrZG9jLW1r
ZGInLAotICAgICAgICAgICAgICAgICctLW1vZHVsZT0lcycgJSBzZWxmLm1vZHVsZV9uYW1lLAot
ICAgICAgICAgICAgICAgICctLW1haW4tc2dtbC1maWxlPSVzJyAlIHNnbWxfZmlsZSwKLSAgICAg
ICAgICAgICAgICAnLS1zb3VyY2Utc3VmZml4ZXM9aCxjLGNwcCxjYycsCi0gICAgICAgICAgICAg
ICAgJy0tb3V0cHV0LWZvcm1hdD14bWwnLAotICAgICAgICAgICAgICAgICctLXNnbWwtbW9kZSdd
Ci0KLSAgICAgICAgaWYgc2VsZi5uYW1lc3BhY2U6Ci0gICAgICAgICAgICBhcmdzLmFwcGVuZCgn
LS1uYW1lLXNwYWNlPSVzJyAlIHNlbGYubmFtZXNwYWNlKQotCi0gICAgICAgIGlnbm9yZWRfZmls
ZXNfYmFzZW5hbWVzID0gc2VsZi5faWdub3JlZF9maWxlc19iYXNlbmFtZXMoKQotICAgICAgICBp
ZiBpZ25vcmVkX2ZpbGVzX2Jhc2VuYW1lczoKLSAgICAgICAgICAgIGFyZ3MuYXBwZW5kKCctLWln
bm9yZS1maWxlcz0lcycgJSBpZ25vcmVkX2ZpbGVzX2Jhc2VuYW1lcykKLQotICAgICAgICAjIEVh
Y2ggZGlyZWN0b3J5IHNob3VsZCBiZSBoYXZlIGl0cyBvd24gIi0tc291cmNlLWRpcj0iIHByZWZp
eC4KLSAgICAgICAgYXJncy5leHRlbmQoWyctLXNvdXJjZS1kaXI9JXMnICUgcGF0aCBmb3IgcGF0
aCBpbiBzZWxmLnNvdXJjZV9kaXJzXSkKLSAgICAgICAgc2VsZi5fcnVuX2NvbW1hbmQoYXJncywg
Y3dkPXNlbGYub3V0cHV0X2RpcikKLQotICAgIGRlZiBfcnVuX2d0a2RvY19ta2h0bWwoc2VsZik6
Ci0gICAgICAgICMgZ3RrZG9jLWZpeHhyZWYgZXhwZWN0cyB0aGUgcGF0aHMgdG8gYmUgaHRtbC9t
b2R1bGVuYW1lLgotICAgICAgICBodG1sX2Rlc3RfZGlyID0gb3MucGF0aC5qb2luKHNlbGYub3V0
cHV0X2RpciwgJ2h0bWwnLCBzZWxmLm1vZHVsZV9uYW1lKQotICAgICAgICBzZWxmLl9jcmVhdGVf
ZGlyZWN0b3J5X2lmX25vbmV4aXN0ZW50KGh0bWxfZGVzdF9kaXIpCi0gICAgICAgIGlmIG5vdCBv
cy5wYXRoLmlzZGlyKGh0bWxfZGVzdF9kaXIpOgotICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9u
KCIlcyBpcyBub3QgYSBkaXJlY3RvcnksIGNvdWxkIG5vdCBnZW5lcmF0ZSBIVE1MIgotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICUgaHRtbF9kZXN0X2RpcikKLSAgICAgICAgZWxpZiBub3Qg
b3MuYWNjZXNzKGh0bWxfZGVzdF9kaXIsIG9zLlhfT0sgfCBvcy5SX09LIHwgb3MuV19PSyk6Ci0g
ICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIkNvdWxkIG5vdCBhY2Nlc3MgJXMgdG8gZ2VuZXJh
dGUgSFRNTCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAlIGh0bWxfZGVzdF9kaXIpCi0K
LSAgICAgICAgIyBndGtkb2MtbWtodG1sIGV4cGVjdHMgdGhlIFNHTUwgcGF0aCB0byBiZSBhYnNv
bHV0ZS4KLSAgICAgICAgc2dtbF9maWxlID0gb3MucGF0aC5qb2luKG9zLnBhdGguYWJzcGF0aChz
ZWxmLm91dHB1dF9kaXIpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5t
YWluX3NnbWxfZmlsZSkKLSAgICAgICAgc2VsZi5fcmFpc2VfZXhjZXB0aW9uX2lmX2ZpbGVfaW5h
Y2Nlc3NpYmxlKHNnbWxfZmlsZSkKLQotICAgICAgICBzZWxmLl9ydW5fY29tbWFuZChbJ2d0a2Rv
Yy1ta2h0bWwnLCBzZWxmLm1vZHVsZV9uYW1lLCBzZ21sX2ZpbGVdLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICBjd2Q9aHRtbF9kZXN0X2RpcikKLQotICAgIGRlZiBfcnVuX2d0a2RvY19maXh4
cmVmKHNlbGYpOgotICAgICAgICBhcmdzID0gWydndGtkb2MtZml4eHJlZicsCi0gICAgICAgICAg
ICAgICAgJy0tbW9kdWxlPSVzJyAlIHNlbGYubW9kdWxlX25hbWUsCi0gICAgICAgICAgICAgICAg
Jy0tbW9kdWxlLWRpcj1odG1sLyVzJyAlIHNlbGYubW9kdWxlX25hbWVdCi0gICAgICAgIGFyZ3Mu
ZXh0ZW5kKFsnLS1leHRyYS1kaXI9JXMnICUgZXh0cmFfZGlyIGZvciBleHRyYV9kaXIgaW4gc2Vs
Zi5jcm9zc19yZWZlcmVuY2VfZGVwc10pCi0gICAgICAgIHNlbGYuX3J1bl9jb21tYW5kKGFyZ3Ms
IGN3ZD1zZWxmLm91dHB1dF9kaXIsIGlnbm9yZV93YXJuaW5ncz1UcnVlKQotCi0gICAgICAgICMg
Z3RrZG9jLWZpeHhyZWYgaGFzIHNvbWUgcHJlZGVmaW5lZCBsaW5rcyBmb3Igd2hpY2ggaXQgYWx3
YXlzIHVzZXMgYWJzb2x1dGUgcGF0aHMuCi0gICAgICAgIGh0bWxfZGlyX3ByZWZpeCA9IG9zLnBh
dGguam9pbihzZWxmLnZpcnR1YWxfcm9vdCArIHNlbGYucHJlZml4LCAnc2hhcmUnLCAnZ3RrLWRv
YycsICdodG1sJykKLSAgICAgICAgbW9kdWxlX2RpciA9IG9zLnBhdGguam9pbihzZWxmLm91dHB1
dF9kaXIsICdodG1sJywgc2VsZi5tb2R1bGVfbmFtZSkKLSAgICAgICAgZm9yIGVudHJ5IGluIG9z
Lmxpc3RkaXIobW9kdWxlX2Rpcik6Ci0gICAgICAgICAgICBpZiBub3QgZW50cnkuZW5kc3dpdGgo
Jy5odG1sJyk6Ci0gICAgICAgICAgICAgICAgY29udGludWUKLQotICAgICAgICAgICAgZmlsZW5h
bWUgPSBvcy5wYXRoLmpvaW4obW9kdWxlX2RpciwgZW50cnkpCi0gICAgICAgICAgICBjb250ZW50
cyA9ICcnCi0gICAgICAgICAgICB3aXRoIGNvZGVjcy5vcGVuKGZpbGVuYW1lLCAncicsIGVuY29k
aW5nPSd1dGYtOCcpIGFzIGY6Ci0gICAgICAgICAgICAgICAgY29udGVudHMgPSBmLnJlYWQoKQot
Ci0gICAgICAgICAgICBpZiBub3QgaHRtbF9kaXJfcHJlZml4IGluIGNvbnRlbnRzOgotICAgICAg
ICAgICAgICAgIGNvbnRpbnVlCi0KLSAgICAgICAgICAgIHRtcF9maWxlbmFtZSA9IGZpbGVuYW1l
ICsgJy5uZXcnCi0gICAgICAgICAgICBuZXdfY29udGVudHMgPSBjb250ZW50cy5yZXBsYWNlKGh0
bWxfZGlyX3ByZWZpeCwgJy4uJykKLSAgICAgICAgICAgIHdpdGggY29kZWNzLm9wZW4odG1wX2Zp
bGVuYW1lLCAndycsIGVuY29kaW5nPSd1dGYtOCcpIGFzIGY6Ci0gICAgICAgICAgICAgICAgZi53
cml0ZShuZXdfY29udGVudHMpCi0KLSAgICAgICAgICAgIG9zLnJlbmFtZSh0bXBfZmlsZW5hbWUs
IGZpbGVuYW1lKQotCi0gICAgZGVmIHJlYmFzZV9pbnN0YWxsZWRfZG9jcyhzZWxmKToKLSAgICAg
ICAgaWYgbm90IG9zLnBhdGguaXNkaXIoc2VsZi5vdXRwdXRfZGlyKToKLSAgICAgICAgICAgIHJh
aXNlIEV4Y2VwdGlvbigiVHJpZWQgdG8gcmViYXNlIGRvY3VtZW50YXRpb24gYmVmb3JlIGdlbmVy
YXRpbmcgaXQuIikKLSAgICAgICAgaHRtbF9kaXIgPSBvcy5wYXRoLmpvaW4oc2VsZi52aXJ0dWFs
X3Jvb3QgKyBzZWxmLnByZWZpeCwgJ3NoYXJlJywgJ2d0ay1kb2MnLCAnaHRtbCcsIHNlbGYubW9k
dWxlX25hbWUpCi0gICAgICAgIGlmIG5vdCBvcy5wYXRoLmlzZGlyKGh0bWxfZGlyKToKLSAgICAg
ICAgICAgIHJldHVybgotICAgICAgICBhcmdzID0gWydndGtkb2MtcmViYXNlJywKLSAgICAgICAg
ICAgICAgICAnLS1yZWxhdGl2ZScsCi0gICAgICAgICAgICAgICAgJy0taHRtbC1kaXI9JXMnICUg
aHRtbF9kaXJdCi0gICAgICAgIGFyZ3MuZXh0ZW5kKFsnLS1vdGhlci1kaXI9JXMnICUgZXh0cmFf
ZGlyIGZvciBleHRyYV9kaXIgaW4gc2VsZi5jcm9zc19yZWZlcmVuY2VfZGVwc10pCi0gICAgICAg
IGlmIHNlbGYudmlydHVhbF9yb290OgotICAgICAgICAgICAgYXJncy5leHRlbmQoWyctLWRlc3Qt
ZGlyPSVzJyAlIHNlbGYudmlydHVhbF9yb290XSkKLSAgICAgICAgc2VsZi5fcnVuX2NvbW1hbmQo
YXJncywgY3dkPXNlbGYub3V0cHV0X2RpcikKLQotICAgIGRlZiBhcGlfbWlzc2luZ19kb2N1bWVu
dGF0aW9uKHNlbGYpOgotICAgICAgICB1bnVzZWRfZG9jX2ZpbGUgPSBvcy5wYXRoLmpvaW4oc2Vs
Zi5vdXRwdXRfZGlyLCBzZWxmLm1vZHVsZV9uYW1lICsgIi11bnVzZWQudHh0IikKLSAgICAgICAg
aWYgbm90IG9zLnBhdGguZXhpc3RzKHVudXNlZF9kb2NfZmlsZSkgb3Igbm90IG9zLmFjY2Vzcyh1
bnVzZWRfZG9jX2ZpbGUsIG9zLlJfT0spOgotICAgICAgICAgICAgcmV0dXJuIFtdCi0gICAgICAg
IHJldHVybiBvcGVuKHVudXNlZF9kb2NfZmlsZSkucmVhZCgpLnNwbGl0bGluZXMoKQotCi1jbGFz
cyBQa2dDb25maWdHVEtEb2MoR1RLRG9jKToKLQotICAgICIiIkNsYXNzIHJlYWRzIGEgbGlicmFy
eSdzIHBrZ2NvbmZpZyBmaWxlIHRvIGd1ZXNzIGd0a2RvYyBwYXJhbWV0ZXJzLgotCi0gICAgU29t
ZSBndGtkb2MgcGFyYW1ldGVycyBjYW4gYmUgZ3Vlc3NlZCBieSByZWFkaW5nIGEgbGlicmFyeSdz
IHBrZ2NvbmZpZwotICAgIGZpbGUsIGluY2x1ZGluZyB0aGUgY2ZsYWdzLCBsZGZsYWdzIGFuZCB2
ZXJzaW9uIHBhcmFtZXRlcnMuIElmIHlvdQotICAgIHByb3ZpZGUgdGhlc2UgcGFyYW1ldGVycyBh
cyB3ZWxsLCB0aGV5IHdpbGwgYmUgYXBwZW5kZWQgdG8gdGhlIG9uZXMKLSAgICBndWVzc2VkIHZp
YSB0aGUgcGtnY29uZmlnIGZpbGUuCi0KLSAgICBLZXl3b3JkIGFyZ3VtZW50czoKLSAgICAgIHBr
Z19jb25maWdfcGF0aCAtLSBQYXRoIHRvIHRoZSBwa2djb25maWcgZmlsZSBmb3IgdGhlIGxpYnJh
cnkuIFJlcXVpcmVkLgotICAgICIiIgotCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIHBrZ19jb25m
aWdfcGF0aCwgYXJncyk6Ci0gICAgICAgIHN1cGVyKFBrZ0NvbmZpZ0dUS0RvYywgc2VsZikuX19p
bml0X18oYXJncykKLQotICAgICAgICBwa2dfY29uZmlnID0gb3MuZW52aXJvbi5nZXQoJ1BLR19D
T05GSUcnLCAncGtnLWNvbmZpZycpCi0KLSAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKHBr
Z19jb25maWdfcGF0aCk6Ci0gICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oJ0NvdWxkIG5vdCBm
aW5kIHBrZy1jb25maWcgZmlsZSBhdDogJXMnCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
JSBwa2dfY29uZmlnX3BhdGgpCi0KLSAgICAgICAgc2VsZi5jZmxhZ3MgKz0gIiAiICsgc2VsZi5f
cnVuX2NvbW1hbmQoW3BrZ19jb25maWcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBwa2dfY29uZmlnX3BhdGgsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1jZmxhZ3MnXSwgcHJpbnRfb3V0cHV0PUZhbHNl
KQotICAgICAgICBzZWxmLmxkZmxhZ3MgKz0gIiAiICsgc2VsZi5fcnVuX2NvbW1hbmQoW3BrZ19j
b25maWcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw
a2dfY29uZmlnX3BhdGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAnLS1saWJzJ10sIHByaW50X291dHB1dD1GYWxzZSkKLSAgICAgICAgc2VsZi52ZXJz
aW9uID0gc2VsZi5fcnVuX2NvbW1hbmQoW3BrZ19jb25maWcsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwa2dfY29uZmlnX3BhdGgsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1tb2R2ZXJzaW9uJ10sIHByaW50X291dHB1dD1G
YWxzZSkKLSAgICAgICAgc2VsZi5wcmVmaXggPSBzZWxmLl9ydW5fY29tbWFuZChbcGtnX2NvbmZp
ZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGtnX2NvbmZpZ19w
YXRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLS12YXJpYWJs
ZT1wcmVmaXgnXSwgcHJpbnRfb3V0cHV0PUZhbHNlKQpkaWZmIC0tZ2l0IGEvVG9vbHMvZ3RrZG9j
L2dlbmVyYXRlLWd0a2RvYyBiL1Rvb2xzL2d0a2RvYy9nZW5lcmF0ZS1ndGtkb2MKbmV3IGZpbGUg
bW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uY2I5ODM3NmMzMDVmZjMyZWEyMmVmNmNmMDE2OGNiMzEwNmE1OWUwZQotLS0gL2Rldi9udWxs
CisrKyBiL1Rvb2xzL2d0a2RvYy9nZW5lcmF0ZS1ndGtkb2MKQEAgLTAsMCArMSwyNDQgQEAKKyMh
L3Vzci9iaW4vZW52IHB5dGhvbgorIyBDb3B5cmlnaHQgKEMpIDIwMTEgSWdhbGlhIFMuTC4KKyMK
KyMgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0
IGFuZC9vcgorIyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdl
bmVyYWwgUHVibGljCisjIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb247IGVpdGhlcgorIyB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5
b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgbGlicmFyeSBpcyBkaXN0
cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9V
VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBN
RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg
dGhlIEdOVQorIyBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz
LgorIworIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2Vy
IEdlbmVyYWwgUHVibGljCisjIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5v
dCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyMgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJh
bmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCisK
K2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgcHJpbnRfZnVuY3Rpb24KK2Zyb20gQ29uZmlnUGFyc2Vy
IGltcG9ydCBTYWZlQ29uZmlnUGFyc2VyCisKK2ltcG9ydCBhcmdwYXJzZQoraW1wb3J0IGNvZGVj
cworaW1wb3J0IGdsb2IKK2ltcG9ydCBndGtkb2MKK2ltcG9ydCBsb2dnaW5nCitpbXBvcnQgb3Mu
cGF0aAoraW1wb3J0IHN5cworCit0b3BfbGV2ZWxfZGlyZWN0b3J5ID0gb3MucGF0aC5ub3JtcGF0
aChvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwgJy4uJywgJy4uJykpCitz
eXMucGF0aC5pbnNlcnQoMCwgb3MucGF0aC5qb2luKHRvcF9sZXZlbF9kaXJlY3RvcnksICdUb29s
cycsICdnbGliJykpCitpbXBvcnQgY29tbW9uCisKK3N5cy5zdGRvdXQgPSBjb2RlY3MuZ2V0d3Jp
dGVyKCJ1dGYtOCIpKHN5cy5zdGRvdXQpCitzeXMuc3RkZXJyID0gY29kZWNzLmdldHdyaXRlcigi
dXRmLTgiKShzeXMuc3RkZXJyKQorCitkZWYgY29uZmlndXJlX2xvZ2dpbmcodmVyYm9zZSk6Cisg
ICAgbGV2ZWwgPSBsb2dnaW5nLkRFQlVHIGlmIHZlcmJvc2UgZWxzZSBsb2dnaW5nLklORk8KKyAg
ICBsb2dnZXIgPSBsb2dnaW5nLmdldExvZ2dlcignZ3RrZG9jJykKKyAgICBsb2dnZXIuc2V0TGV2
ZWwobGV2ZWwpCisgICAgaGFuZGxlciA9IGxvZ2dpbmcuU3RyZWFtSGFuZGxlcigpCisgICAgaGFu
ZGxlci5zZXRMZXZlbChsZXZlbCkKKyAgICBsb2dnZXIuYWRkSGFuZGxlcihoYW5kbGVyKQorICAg
IGlmIGxldmVsID09IGxvZ2dpbmcuREVCVUc6CisgICAgICAgIGhhbmRsZXIuc2V0Rm9ybWF0dGVy
KGxvZ2dpbmcuRm9ybWF0dGVyKCdbJShhc2N0aW1lKXNdICAlKG1lc3NhZ2UpcycpKQorICAgIGVs
c2U6CisgICAgICAgIGhhbmRsZXIuc2V0Rm9ybWF0dGVyKGxvZ2dpbmcuRm9ybWF0dGVyKCclKG1l
c3NhZ2UpcycpKQorCitkZWYgZ2V0X2d0a2RvY19tb2R1bGVfcGF0aHMoY3Jvc3NfcmVmZXJlbmNl
X2RlcHMpOgorICAgIGRlcGVuZGVudF9wYWNrYWdlcyA9IHsKKyAgICAgICAgJ2dsaWItMi4wJyA6
IFsnZ2xpYicsICdnb2JqZWN0JywgJ2dpbyddLAorICAgICAgICAnbGlic291cC0yLjQnIDogWyds
aWJzb3VwLTIuNCddCisgICAgfQorCisgICAgaWYgYXJndW1lbnRzLmd0azoKKyAgICAgICAgZGVw
ZW5kZW50X3BhY2thZ2VzWydnZGstcGl4YnVmLTIuMCddID0gWydnZGstcGl4YnVmJ10KKyAgICAg
ICAgZGVwZW5kZW50X3BhY2thZ2VzWydndGsrLTMuMCddID0gWydndGszJywgJ2dkazMnXQorCisg
ICAgcGF0aHMgPSBbXQorICAgIGh0bWxfZGlyID0gb3MucGF0aC5qb2luKCdzaGFyZScsICdndGst
ZG9jJywgJ2h0bWwnKQorICAgIGZvciBwYWNrYWdlLCBtb2R1bGVzIGluIGRlcGVuZGVudF9wYWNr
YWdlcy5pdGVyaXRlbXMoKToKKyAgICAgICAgcHJlZml4ID0gY29tbW9uLnByZWZpeF9vZl9wa2df
Y29uZmlnX2ZpbGUocGFja2FnZSkKKyAgICAgICAgaWYgcHJlZml4IGlzIE5vbmU6CisgICAgICAg
ICAgICBjb250aW51ZQorICAgICAgICBmb3IgbW9kdWxlIGluIG1vZHVsZXM6CisgICAgICAgICAg
ICBwYXRocy5hcHBlbmQob3MucGF0aC5qb2luKHByZWZpeCwgaHRtbF9kaXIsIG1vZHVsZSkpCisK
KyAgICBmb3IgbG9jYWxfZGVwIGluIGNyb3NzX3JlZmVyZW5jZV9kZXBzOgorICAgICAgICBwYXRo
cy5hcHBlbmQoY29tbW9uLmJ1aWxkX3BhdGgoJ0RvY3VtZW50YXRpb24nLCBsb2NhbF9kZXAsICdo
dG1sJykpCisgICAgcmV0dXJuIHBhdGhzCisKK2RlZiBwcmludF9taXNzaW5nX2FwaShnZW5lcmF0
b3IpOgorICAgIG1pc3NpbmdfYXBpID0gZ2VuZXJhdG9yLmFwaV9taXNzaW5nX2RvY3VtZW50YXRp
b24oKQorICAgIGlmIG5vdCBtaXNzaW5nX2FwaToKKyAgICAgICAgcmV0dXJuCisgICAgcHJpbnQo
IlxuVGhlIGZvbGxvd2luZyBBUEkgYXJlIG1pc3NpbmcgZG9jdW1lbnRhdGlvbjoiKQorICAgIGZv
ciBhcGkgaW4gbWlzc2luZ19hcGk6CisgICAgICAgIHByaW50KCJcdHswfSIuZm9ybWF0KGFwaSkp
CisKK2RlZiBmaWxlc190b19pZ25vcmUoc291cmNlX2RpcnMsIGhlYWRlcnNfd2l0aF9ndGtkb2Mp
OgorICAgICIiIgorICAgIEZpbmQgZmlsZXMgdG8gaWdub3JlIGR1cmluZyBkb2N1bWVudGF0aW9u
IGdlbmVyYXRpb24uIFdlIGFzc3VtZSB0aGF0IGlmIGFuCisgICAgaW1wbGVtZW50YXRpb24gZmls
ZSBleGlzdHMgZm9yIGEgaGVhZGVyIHdpdGggZ3RrZG9jIChzYXkgd2Via2l0Zm9vLmNwcCBmb3IK
KyAgICB3ZWJraXRmb28uaCkgd2Ugc2hvdWxkbid0IGlnbm9yZSB0aGF0IGZpbGUuIEN1cnJlbnRs
eSB0aGlzIGhvbGRzIHRydWUgZm9yIGFsbAorICAgIG9mIHRoZSBXZWJLaXQgcHJvamVjdC4KKyAg
ICAiIiIKKyAgICBpbXBsZW1lbnRhdGlvbl9maWxlcyA9IGxpc3QoaGVhZGVyc193aXRoX2d0a2Rv
YykKKyAgICBmb3IgaGVhZGVyIGluIGhlYWRlcnNfd2l0aF9ndGtkb2M6CisgICAgICAgIGRlZiBh
ZGRfZmlsZV9pZl9leGlzdHMoZmlsZW5hbWUpOgorICAgICAgICAgICAgZm9yIGRpciBpbiBzb3Vy
Y2VfZGlyczoKKyAgICAgICAgICAgICAgICBmaWxlID0gb3MucGF0aC5qb2luKGRpciwgZmlsZW5h
bWUpCisgICAgICAgICAgICAgICAgaWYgb3MucGF0aC5pc2ZpbGUoZmlsZSk6CisgICAgICAgICAg
ICAgICAgICAgIGltcGxlbWVudGF0aW9uX2ZpbGVzLmFwcGVuZChvcy5wYXRoLmFic3BhdGgoZmls
ZSkpCisgICAgICAgIGhlYWRlcl9iYXNlbmFtZV93aXRob3V0X2V4dGVuc2lvbiA9IG9zLnBhdGgu
c3BsaXRleHQob3MucGF0aC5iYXNlbmFtZShoZWFkZXIpKVswXQorICAgICAgICBhZGRfZmlsZV9p
Zl9leGlzdHMoaGVhZGVyX2Jhc2VuYW1lX3dpdGhvdXRfZXh0ZW5zaW9uICsgIi5jcHAiKQorICAg
ICAgICBhZGRfZmlsZV9pZl9leGlzdHMoaGVhZGVyX2Jhc2VuYW1lX3dpdGhvdXRfZXh0ZW5zaW9u
ICsgIkd0ay5jcHAiKQorICAgICAgICBhZGRfZmlsZV9pZl9leGlzdHMoaGVhZGVyX2Jhc2VuYW1l
X3dpdGhvdXRfZXh0ZW5zaW9uICsgIi5jIikKKworICAgIGRlZiBmaWxlX3Nob3VsZF9iZV9pZ25v
cmVkKGZpbGUpOgorICAgICAgICBpZiBvcy5wYXRoLnNwbGl0ZXh0KGZpbGUpWzFdIG5vdCBpbiBb
Jy5oJywgJy5jJywgJy5jcHAnLCAnLmNjJ106CisgICAgICAgICAgICByZXR1cm4gRmFsc2UgIyBU
aGVzZSBmaWxlcyBhcmUgaWdub3JlZCBhbnl3YXkuCisgICAgICAgIGlmIG5vdCBvcy5wYXRoLmlz
ZmlsZShmaWxlKToKKyAgICAgICAgICAgIHJldHVybiBUcnVlCisgICAgICAgIHJldHVybiBvcy5w
YXRoLmFic3BhdGgoZmlsZSkgbm90IGluIGltcGxlbWVudGF0aW9uX2ZpbGVzCisKKyAgICBhbGxf
ZmlsZXMgPSBzdW0oW1tvcy5wYXRoLmpvaW4oZGlyLCBmaWxlKSBmb3IgZmlsZSBpbiBvcy5saXN0
ZGlyKGRpcildIGZvciBkaXIgaW4gc291cmNlX2RpcnNdLCBbXSkKKyAgICByZXR1cm4gZmlsdGVy
KGZpbGVfc2hvdWxkX2JlX2lnbm9yZWQsIGFsbF9maWxlcykKKworZGVmIGdldF9nZW5lcmF0b3Jf
Zm9yX2NvbmZpZyhjb25maWdfZmlsZSwgdmlydHVhbF9yb290LCBjcm9zc19yZWZlcmVuY2VfZGVw
cyA9IFtdKToKKyAgICBpZiBub3Qgb3MucGF0aC5pc2ZpbGUoY29uZmlnX2ZpbGUpOgorICAgICAg
ICByZXR1cm4gTm9uZQorCisgICAgY29uZmlnID0gU2FmZUNvbmZpZ1BhcnNlcigpCisgICAgY29u
ZmlnLnJlYWQoY29uZmlnX2ZpbGUpCisgICAgbW9kdWxlX25hbWUgPSBjb25maWcuc2VjdGlvbnMo
KVswXQorICAgIHBrZ2NvbmZpZ19maWxlID0gY29uZmlnLmdldChtb2R1bGVfbmFtZSwgJ3BrZ2Nv
bmZpZ19maWxlJykKKworICAgIGlmIG5vdCBvcy5wYXRoLmlzZmlsZShwa2djb25maWdfZmlsZSk6
CisgICAgICAgIHJldHVybiBOb25lCisKKyAgICBzb3VyY2VfZGlycyA9IGNvbmZpZy5nZXQobW9k
dWxlX25hbWUsICdzb3VyY2VfZGlycycpLnJlcGxhY2UoJzsnLCAnICcpLnNwbGl0KCkKKyAgICBo
ZWFkZXJzID0gW29zLnBhdGguYWJzcGF0aChmKSBmb3IgZiBpbiBjb25maWcuZ2V0KG1vZHVsZV9u
YW1lLCAnaGVhZGVycycpLnJlcGxhY2UoJzsnLCAnICcpLnNwbGl0KCldCisgICAgcmV0dXJuIGd0
a2RvYy5Qa2dDb25maWdHVEtEb2MocGtnY29uZmlnX2ZpbGUsIHsKKyAgICAgICAgJ2RlY29yYXRv
cic6IGNvbmZpZy5nZXQobW9kdWxlX25hbWUsICdkZWNvcmF0b3InKSwKKyAgICAgICAgJ2RlcHJl
Y2F0aW9uX2d1YXJkJzogY29uZmlnLmdldChtb2R1bGVfbmFtZSwgJ2RlcHJlY2F0aW9uX2d1YXJk
JyksCisgICAgICAgICdsaWJyYXJ5X3BhdGgnOiBjb21tb24ubGlicmFyeV9idWlsZF9wYXRoKCks
CisgICAgICAgICd2aXJ0dWFsX3Jvb3QnOiB2aXJ0dWFsX3Jvb3QsCisgICAgICAgICdtb2R1bGVf
bmFtZSc6IG1vZHVsZV9uYW1lLAorICAgICAgICAnbmFtZXNwYWNlJzogY29uZmlnLmdldChtb2R1
bGVfbmFtZSwgJ25hbWVzcGFjZScpLAorICAgICAgICAnZG9jX2Rpcic6IGNvbmZpZy5nZXQobW9k
dWxlX25hbWUsICdkb2NfZGlyJyksCisgICAgICAgICdvdXRwdXRfZGlyJzogY29tbW9uLmJ1aWxk
X3BhdGgoJ0RvY3VtZW50YXRpb24nLCBtb2R1bGVfbmFtZSksCisgICAgICAgICdtYWluX3NnbWxf
ZmlsZSc6IGNvbmZpZy5nZXQobW9kdWxlX25hbWUsICdtYWluX3NnbWxfZmlsZScpLAorICAgICAg
ICAnc291cmNlX2RpcnMnOiBzb3VyY2VfZGlycywKKyAgICAgICAgJ2hlYWRlcnMnOiBoZWFkZXJz
LAorICAgICAgICAnY2ZsYWdzJzogIiAiLmpvaW4oY29uZmlnLmdldChtb2R1bGVfbmFtZSwgJ2Nm
bGFncycpLnNwbGl0KCkpLAorICAgICAgICAnY3Jvc3NfcmVmZXJlbmNlX2RlcHMnOiBnZXRfZ3Rr
ZG9jX21vZHVsZV9wYXRocyhjcm9zc19yZWZlcmVuY2VfZGVwcyksCisgICAgICAgICdpZ25vcmVk
X2ZpbGVzJzogZmlsZXNfdG9faWdub3JlKHNvdXJjZV9kaXJzLCBoZWFkZXJzKSwKKyAgICB9KQor
CitkZWYgZ2VuZXJhdGVfZG9jKGdlbmVyYXRvciwgc2tpcF9odG1sKToKKyAgICBnZW5lcmF0b3Iu
Z2VuZXJhdGUobm90IHNraXBfaHRtbCkKKyAgICBpZiBnZW5lcmF0b3Iuc2F3X3dhcm5pbmdzOgor
ICAgICAgICBwcmludF9taXNzaW5nX2FwaShnZW5lcmF0b3IpCisgICAgcmV0dXJuIGdlbmVyYXRv
ci5zYXdfd2FybmluZ3MKKworZGVmIHJlYmFzZV9kb2MoZ2VuZXJhdG9yKToKKyAgICB0cnk6Cisg
ICAgICAgIGdlbmVyYXRvci5yZWJhc2VfaW5zdGFsbGVkX2RvY3MoKQorICAgIGV4Y2VwdCBFeGNl
cHRpb246CisgICAgICAgIHByaW50KCJSZWJhc2UgZGlkIG5vdCBoYXBwZW4sIGxpa2VseSBubyBk
b2N1bWVudGF0aW9uIGlzIHByZXNlbnQuIikKKworZGVmIGdlbmVyYXRlX2RvY3VtZW50YXRpb24o
Z2VuZXJhdG9yKToKKyAgICBpZiBub3QgYXJndW1lbnRzLnJlYmFzZToKKyAgICAgICAgcmV0dXJu
IGdlbmVyYXRlX2RvYyhnZW5lcmF0b3IsIGFyZ3VtZW50cy5za2lwX2h0bWwpCisKKyAgICByZWJh
c2VfZG9jKGdlbmVyYXRvcikKKyAgICByZXR1cm4gRmFsc2UKKworZGVmIHByZXBhcmVfZW52aXJv
bm1lbnRfZm9yX2d0a2RvY19nZW5lcmF0aW9uKCk6CisgICAgIyBXZSBuZWVkIHRvIGFkZCB0aGUg
SmF2YVNjcmlwdENvcmUgYnVpbGQgZGlyZWN0b3J5IHRvIHRoZSBQS0dfQ09ORklHX1BBVEgKKyAg
ICAjIHNvIHRoYXQgcGtnY29uZmlnIGNhbiBwcm9wZXJseSByZXNvbHZlIHRoZSBsaWJqYXZhc2Ny
aXB0Y29yZSBkZXBlbmRlbmN5LgorICAgIHBrZ19jb25maWdfcGF0aCA9IG9zLmVudmlyb24uZ2V0
KCJQS0dfQ09ORklHX1BBVEgiKQorICAgIG9zLmVudmlyb25bJ1BLR19DT05GSUdfUEFUSCddID0g
Y29tbW9uLmJ1aWxkX3BhdGgoJ1NvdXJjZScsICdKYXZhU2NyaXB0Q29yZScpCisgICAgaWYgcGtn
X2NvbmZpZ19wYXRoOgorICAgICAgICBvcy5lbnZpcm9uWydQS0dfQ09ORklHX1BBVEgnXSArPSAn
OicgKyBwa2dfY29uZmlnX3BhdGgKKworICAgICMgTmV3ZXIgdmVyc2lvbnMgb2YgZ2xpYiBoYXZl
IGRlcHJlY2F0ZWQgZ190eXBlX2luaXQsIHNvIHdlIG5lZWQgdG8gZGlzYWJsZQorICAgICMgdGhh
dCB3YXJuaW5nIHdoZW4gcnVubmluZyBndGtkb2Mtc2Nhbm9iaiBieSBvdmVycmlkaW5nIHRoZSBD
RkxBR1Mgd2UgdXNlCisgICAgIyB0byBjb21waWxlIGl0LgorICAgIGNmbGFncyA9IG9zLmVudmly
b24uZ2V0KCdDRkxBR1MnLCAnJykKKyAgICBjZmxhZ3MgKz0gJyAtREdMSUJfVkVSU0lPTl9NSU5f
UkVRVUlSRUQ9R0xJQl9WRVJTSU9OXzJfMzInCisKKyAgICAjIEluIG5vbi14ODYgYXJjaGl0ZWN0
dXJlcywgd2hlbiBhIHBvaW50ZXIgaXMgY2FzdCB0byAodm9pZCopIGFuZAorICAgICMgYmFjaywg
dGhlIGNvbXBpbGVyIHRoaW5rcyB0aGF0IHRoZSBhbGlnbm1lbnQgaXMgcmFuZG9tLiBTaW5jZQor
ICAgICMgZ3RrZG9jIGJ1aWxkIGlzIGJyb2tlbiBhdCBhbnkgd2FybmluZyBtZXNzYWdlLCBpdCBp
cyBiZXR0ZXIgdG8KKyAgICAjIHNpbGVuY2UgdGhlc2UgZmFsc2UgcG9zaXRpdmVzLgorICAgIGNm
bGFncyArPSAnIC1Xbm8tY2FzdC1hbGlnbicKKyAgICBvcy5lbnZpcm9uWydDRkxBR1MnXSA9IGNm
bGFncworCisgICAgIyBQYXRocyBmcm9tIHRoZSBHTlVtYWtlZmlsZSBnZW5lcmF0ZWQgY29uZmln
dXJhdGlvbiBmaWxlcyBhcmUgcmVsYXRpdmUgdG8gdGhlIGJ1aWxkIGRpcmVjdG9yeS4KKyAgICBv
cy5jaGRpcihjb21tb24uYnVpbGRfcGF0aCgpKQorCitkZWYgYnVpbGRfZ3RrZG9jX2Zvcl93cGUo
YXJndW1lbnRzKToKKyAgICB3cGVfZ2VuZXJhdG9yID0gZ2V0X2dlbmVyYXRvcl9mb3JfY29uZmln
KGNvbW1vbi5idWlsZF9wYXRoKCdndGtkb2Mtd3BlLmNmZycpLCBhcmd1bWVudHMudmlydHVhbF9y
b290KQorICAgIGlmIG5vdCB3cGVfZ2VuZXJhdG9yOgorICAgICAgICBwcmludCgiZ3RrZG9jLXdw
ZS5jZmcgZG9lcyBub3QgZXhpc3QhIFNraXBwaW5nIHRoYXQgZG9jdW1lbnRhdGlvbiIpCisgICAg
ICAgIHN5cy5leGl0KDEpCisgICAgc2F3X3dhcm5pbmdzID0gZ2VuZXJhdGVfZG9jdW1lbnRhdGlv
bih3cGVfZ2VuZXJhdG9yKQorICAgIHN5cy5leGl0KHNhd193YXJuaW5ncykKKworZGVmIGJ1aWxk
X2d0a2RvY19mb3Jfd2tndGsoYXJndW1lbnRzKToKKyAgICBqc2NfZ2VuZXJhdG9yID0gZ2V0X2dl
bmVyYXRvcl9mb3JfY29uZmlnKGNvbW1vbi5idWlsZF9wYXRoKCdndGtkb2MtanNjLWdsaWIuY2Zn
JyksIGFyZ3VtZW50cy52aXJ0dWFsX3Jvb3QpCisgICAgaWYgbm90IGpzY19nZW5lcmF0b3I6Cisg
ICAgICAgIHByaW50KCJndGtkb2MtanNjLWdsaWIuY2ZnIGRvZXMgbm90IGV4aXN0ISBTa2lwcGlu
ZyB0aGF0IGRvY3VtZW50YXRpb24iKQorICAgICAgICBzeXMuZXhpdCgxKQorICAgIHNhd193YXJu
aW5ncyA9IGdlbmVyYXRlX2RvY3VtZW50YXRpb24oanNjX2dlbmVyYXRvcikKKyAgICBpZiBzYXdf
d2FybmluZ3M6CisgICAgICAgIHN5cy5leGl0KHNhd193YXJuaW5ncykKKworICAgIHdlYmtpdGRv
bV9nZW5lcmF0b3IgPSBnZXRfZ2VuZXJhdG9yX2Zvcl9jb25maWcoY29tbW9uLmJ1aWxkX3BhdGgo
J2d0a2RvYy13ZWJraXRkb20uY2ZnJyksIGFyZ3VtZW50cy52aXJ0dWFsX3Jvb3QsIFtqc2NfZ2Vu
ZXJhdG9yLm1vZHVsZV9uYW1lXSkKKyAgICBpZiBub3Qgd2Via2l0ZG9tX2dlbmVyYXRvcjoKKyAg
ICAgICAgcHJpbnQoImd0a2RvYy13ZWJraXRkb20uY2ZnIGRvZXMgbm90IGV4aXN0ISBTa2lwcGlu
ZyB0aGF0IGRvY3VtZW50YXRpb24iKQorICAgICAgICBzeXMuZXhpdCgxKQorICAgIHNhd193YXJu
aW5ncyA9IGdlbmVyYXRlX2RvY3VtZW50YXRpb24od2Via2l0ZG9tX2dlbmVyYXRvcikKKyAgICBp
ZiBzYXdfd2FybmluZ3M6CisgICAgICAgIHN5cy5leGl0KHNhd193YXJuaW5ncykKKworICAgIHdl
YmtpdDJfZ2VuZXJhdG9yID0gZ2V0X2dlbmVyYXRvcl9mb3JfY29uZmlnKGNvbW1vbi5idWlsZF9w
YXRoKCdndGtkb2Mtd2Via2l0Mmd0ay5jZmcnKSwgYXJndW1lbnRzLnZpcnR1YWxfcm9vdCwgW3dl
YmtpdGRvbV9nZW5lcmF0b3IubW9kdWxlX25hbWUsIGpzY19nZW5lcmF0b3IubW9kdWxlX25hbWVd
KQorICAgIGlmIG5vdCB3ZWJraXQyX2dlbmVyYXRvcjoKKyAgICAgICAgcHJpbnQoImd0a2RvYy13
ZWJraXQyZ3RrLmNmZyBkb2VzIG5vdCBleGlzdCEgU2tpcHBpbmcgdGhhdCBkb2N1bWVudGF0aW9u
IikKKyAgICAgICAgc3lzLmV4aXQoMSkKKyAgICBzYXdfd2FybmluZ3MgPSBnZW5lcmF0ZV9kb2N1
bWVudGF0aW9uKHdlYmtpdDJfZ2VuZXJhdG9yKQorICAgIHN5cy5leGl0KHNhd193YXJuaW5ncykK
KworaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKKyAgICBwYXJzZXIgPSBhcmdwYXJzZS5Bcmd1
bWVudFBhcnNlcihkZXNjcmlwdGlvbj0nR2VuZXJhdGUgZ3RrZG9jIGZvciBXZWJLaXQuJykKKyAg
ICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctdicsICctLXZlcmJvc2UnLCBhY3Rpb249J3N0b3JlX3Ry
dWUnLAorICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0nV2hldGhlciBvciBub3QgdG8gcnVu
IGluIHZlcmJvc2UgbW9kZS4nKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy0tcmViYXNlJywg
YWN0aW9uPSdzdG9yZV90cnVlJywKKyAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J1doZW4g
c3BlY2lmaWVkLCBydW4gdGhlIHRvb2wgaW4gcmViYXNlIG1vZGUuJykKKyAgICBwYXJzZXIuYWRk
X2FyZ3VtZW50KCctLXNraXAtaHRtbCcsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsCisgICAgICAgICAg
ICAgICAgICAgICAgICBoZWxwPSdXaGV0aGVyIG9yIG5vdCB0byBza2lwIEhUTUwgZ2VuZXJhdGlv
biwgd2hpY2ggY2FuIGJlIHNsb3cuJykKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLXZpcnR1
YWwtcm9vdCcsIHR5cGU9c3RyLCBkZWZhdWx0PScnLAorICAgICAgICAgICAgICAgICAgICAgICAg
aGVscD0nQSB0ZW1wb3JhcnkgaW5zdGFsbGF0aW9uIGRpcmVjdG9yeSB3aGljaCBpcyB1c2VkIGFz
IHRoZSByb290ICcgKyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3aGVyZSB0aGUg
YWN0dWFsIGluc3RhbGxhdGlvbiBwcmVmaXggbGl2ZXM7IHRoaXMgaXMgbW9zdGx5ICcgKyBcCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICd1c2VmdWwgZm9yIHBhY2thZ2VycywgYW5kIHNo
b3VsZCBiZSBzZXQgdG8gd2hhdCBpcyBnaXZlbiB0byAnICsgXAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAnbWFrZSBpbnN0YWxsIGFzIERFU1RESVIuJykKKworICAgIHBhcnNlci5hZGRf
YXJndW1lbnQoJy0tZ3RrJywgYWN0aW9uPSdzdG9yZV90cnVlJywKKyAgICAgICAgICAgICAgICAg
ICAgICAgIGhlbHA9J0J1aWxkIGRvY3VtZW50YXRpb24gZm9yIFdlYktpdEdUSysnKQorICAgIHBh
cnNlci5hZGRfYXJndW1lbnQoJy0td3BlJywgYWN0aW9uPSdzdG9yZV90cnVlJywKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGhlbHA9J0J1aWxkIGRvY3VtZW50YXRpb24gZm9yIFdQRScpCisKKyAg
ICBhcmd1bWVudHMgPSBwYXJzZXIucGFyc2VfYXJncygpCisgICAgY29uZmlndXJlX2xvZ2dpbmco
YXJndW1lbnRzLnZlcmJvc2UpCisKKyAgICBwcmVwYXJlX2Vudmlyb25tZW50X2Zvcl9ndGtkb2Nf
Z2VuZXJhdGlvbigpCisKKyAgICBpZiBhcmd1bWVudHMud3BlOgorICAgICAgICBidWlsZF9ndGtk
b2NfZm9yX3dwZShhcmd1bWVudHMpCisgICAgZWxpZiBhcmd1bWVudHMuZ3RrOgorICAgICAgICBi
dWlsZF9ndGtkb2NfZm9yX3drZ3RrKGFyZ3VtZW50cykKKyAgICBlbHNlOgorICAgICAgICBwcmlu
dCgnUGxlYXNlIGNob29zZSBhIFdlYktpdCBwb3J0IHdpdGggLS1ndGsgb3IgLS13cGUnKQorICAg
ICAgICBzeXMuZXhpdCgxKQpkaWZmIC0tZ2l0IGEvVG9vbHMvZ3RrZG9jL2d0a2RvYy5weSBiL1Rv
b2xzL2d0a2RvYy9ndGtkb2MucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDc5Njg0NDZjYzU0OGNmYTZhOWNmY2Mx
OWU1ZGEzNDMyM2RhODYwYQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL2d0a2RvYy9ndGtkb2Mu
cHkKQEAgLTAsMCArMSw0NTUgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDExIElnYWxpYSBTLkwuCisj
CisjIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp
dCBhbmQvb3IKKyMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBH
ZW5lcmFsIFB1YmxpYworIyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyMgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQg
eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGxpYnJhcnkgaXMgZGlz
dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhP
VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMg
TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl
IHRoZSBHTlUKKyMgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls
cy4KKyMKKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3Nl
ciBHZW5lcmFsIFB1YmxpYworIyBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBu
b3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisjIEZvdW5kYXRpb24sIEluYy4sIDUxIEZy
YW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQor
CitpbXBvcnQgY29kZWNzCitpbXBvcnQgZXJybm8KK2ltcG9ydCBsb2dnaW5nCitpbXBvcnQgb3MK
K2ltcG9ydCBvcy5wYXRoCitpbXBvcnQgc3VicHJvY2VzcworaW1wb3J0IHN5cworCisKK2NsYXNz
IEdUS0RvYyhvYmplY3QpOgorCisgICAgIiIiQ2xhc3MgdGhhdCBjb250cm9scyBhIGd0a2RvYyBy
dW4uCisKKyAgICBFYWNoIGluc3RhbmNlIG9mIHRoaXMgY2xhc3MgcmVwcmVzZW50cyBvbmUgZ3Rr
ZG9jIGNvbmZpZ3VyYXRpb24KKyAgICBhbmQgc2V0IG9mIGRvY3VtZW50YXRpb24uIFRoZSBndGtk
b2MgcGFja2FnZSBpcyBhIHNlcmllcyBvZiB0b29scworICAgIHJ1biBjb25zZWN1dGl2ZWx5IHdo
aWNoIGNvbnZlcnRzIGlubGluZSBDL0MrKyBkb2N1bWVudGF0aW9uIGludG8KKyAgICBkb2Nib29r
IGZpbGVzIGFuZCB0aGVuIGludG8gSFRNTC4gVGhpcyBjbGFzcyBpcyBzdWl0YWJsZSBmb3IKKyAg
ICBnZW5lcmF0aW5nIGRvY3VtZW50YXRpb24gb3Igc2ltcGx5IHZlcmlmeWluZyBjb3JyZWN0bmVz
cy4KKworICAgIEtleXdvcmQgYXJndW1lbnRzOgorICAgIG91dHB1dF9kaXIgICAgICAgICAtLSBU
aGUgcGF0aCB3aGVyZSBndGtkb2Mgb3V0cHV0IHNob3VsZCBiZSBwbGFjZWQuIEdlbmVyYXRpb24K
KyAgICAgICAgICAgICAgICAgICAgICAgICAgbWF5IG92ZXJ3cml0ZSBmaWxlIGluIHRoaXMgZGly
ZWN0b3J5LiBSZXF1aXJlZC4KKyAgICBtb2R1bGVfbmFtZSAgICAgICAgLS0gVGhlIG5hbWUgb2Yg
dGhlIGRvY3VtZW50YXRpb24gbW9kdWxlLiBGb3IgbGlicmFyaWVzIHRoaXMKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgaXMgdHlwaWNhbGx5IHRoZSBsaWJyYXJ5IG5hbWUuIFJlcXVpcmVkIGlm
IG5vdCBsaWJyYXJ5IHBhdGgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaXMgZ2l2ZW4uCisg
ICAgc291cmNlX2RpcnMgICAgICAgIC0tIEEgbGlzdCBvZiBwYXRocyB0byBkaXJlY3RvcmllcyBv
ZiBzb3VyY2UgY29kZSB0byBiZSBzY2FubmVkLgorICAgICAgICAgICAgICAgICAgICAgICAgICBS
ZXF1aXJlZCBpZiBoZWFkZXJzIGlzIG5vdCBzcGVjaWZpZWQuCisgICAgaWdub3JlZF9maWxlcyAg
ICAgIC0tIEEgbGlzdCBvZiBmaWxlbmFtZXMgdG8gaWdub3JlIGluIHRoZSBzb3VyY2UgZGlyZWN0
b3J5LiBJdCBpcworICAgICAgICAgICAgICAgICAgICAgICAgICBvbmx5IG5lY2Vzc2FyeSB0byBw
cm92aWRlIHRoZSBiYXNlbmFtZXMgb2YgdGhlc2UgZmlsZXMuCisgICAgICAgICAgICAgICAgICAg
ICAgICAgIFR5cGljYWxseSBpdCBpcyBpbXBvcnRhbnQgdG8gcHJvdmlkZSBhbiB1cGRhdGVkIGxp
c3Qgb2YKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaWdub3JlZCBmaWxlcyB0byBwcmV2ZW50
IHdhcm5pbmdzIGFib3V0IHVuZG9jdW1lbnRlZCBzeW1ib2xzLgorICAgIGhlYWRlcnMgICAgICAg
ICAgICAtLSBBIGxpc3Qgb2YgcGF0aHMgdG8gaGVhZGVycyB0byBiZSBzY2FubmVkLiBSZXF1aXJl
ZCBpZiBzb3VyY2VfZGlycworICAgICAgICAgICAgICAgICAgICAgICAgICBpcyBub3Qgc3BlY2lm
aWVkLgorICAgIG5hbWVzcGFjZSAgICAgICAgICAtLSBUaGUgbGlicmFyeSBuYW1lc3BhY2UuCisg
ICAgZGVjb3JhdG9yICAgICAgICAgIC0tIElmIGEgZGVjb3JhdG9yIGlzIHVzZWQgdG8gdW5oaWRl
IGNlcnRhaW4gc3ltYm9scyBpbiBoZWFkZXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgZmls
ZXMgdGhpcyBwYXJhbWV0ZXIgaXMgcmVxdWlyZWQgZm9yIHN1Y2Nlc3NmdWwgc2Nhbm5pbmcuCisg
ICAgICAgICAgICAgICAgICAgICAgICAgIChkZWZhdWx0ICcnKQorICAgIGRlcHJlY2F0aW9uX2d1
YXJkICAtLSBndGtkb2MgdHJpZXMgdG8gZW5zdXJlIHRoYXQgc3ltYm9scyBtYXJrZWQgYXMgZGVw
cmVjYXRlZAorICAgICAgICAgICAgICAgICAgICAgICAgICBhcmUgZW5jYXNlZCBpbiB0aGlzIEMg
cHJlcHJvY2Vzc29yIGRlZmluZS4gVGhpcyBpcyByZXF1aXJlZAorICAgICAgICAgICAgICAgICAg
ICAgICAgICB0byBhdm9pZCBndGtkb2Mgd2FybmluZ3MuIChkZWZhdWx0ICcnKQorICAgIGNmbGFn
cyAgICAgICAgICAgICAtLSBUaGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgYW55IHByZXByb2Nlc3Nv
ciBmbGFncyBuZWNlc3NhcnkgZm9yCisgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1aWxkaW5n
IHRoZSBzY2FubmVyIGJpbmFyeSBkdXJpbmcgZ3RrZG9jLXNjYW5vYmouIFR5cGljYWxseQorICAg
ICAgICAgICAgICAgICAgICAgICAgICB0aGlzIGluY2x1ZGVzIGFsbCBhYnNvbHV0ZSBpbmNsdWRl
IHBhdGhzIG5lY2Vzc2FyeSB0byByZXNvbHZlCisgICAgICAgICAgICAgICAgICAgICAgICAgIGFs
bCBoZWFkZXIgZGVwZW5kZW5jaWVzLiAoZGVmYXVsdCAnJykKKyAgICBsZGZsYWdzICAgICAgICAg
ICAgLS0gVGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIGFueSBsaW5rZXIgZmxhZ3MgbmVjZXNzYXJ5
IGZvcgorICAgICAgICAgICAgICAgICAgICAgICAgICBidWlsZGluZyB0aGUgc2Nhbm5lciBiaW5h
cnkgZHVyaW5nIGd0a2RvYy1zY2Fub2JqLiBUeXBpY2FsbHkKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgdGhpcyBpbmNsdWRlcyAiLWx5b3VybGlicmFyeW5hbWUiLiAoZGVmYXVsdCAnJykKKyAg
ICBsaWJyYXJ5X3BhdGggICAgICAgLS0gVGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoZSBwYXRo
IHRvIHRoZSBkaXJlY3Rvcnkgd2hlcmUgeW91CisgICAgICAgICAgICAgICAgICAgICAgICAgIGxp
YnJhcnkgcmVzaWRlcyB1c2VkIGZvciBidWlsZGluZyB0aGUgc2Nhbm5lciBiaW5hcnkgZHVyaW5n
CisgICAgICAgICAgICAgICAgICAgICAgICAgIGd0a2RvYy1zY2Fub2JqLiAoZGVmYXVsdCAnJykK
KworICAgIGRvY19kaXIgICAgICAgICAgICAtLSBUaGUgcGF0aCB0byBvdGhlciBkb2N1bWVudGF0
aW9uIGZpbGVzIG5lY2Vzc2FyeSB0byBidWlsZAorICAgICAgICAgICAgICAgICAgICAgICAgICB0
aGUgZG9jdW1lbnRhdGlvbi4gVGhpcyBmaWxlcyBpbiB0aGlzIGRpcmVjdG9yeSBhcyB3ZWxsIGFz
CisgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBmaWxlcyBpbiB0aGUgJ2h0bWwnIHN1YmRp
cmVjdG9yeSB3aWxsIGJlIGNvcGllZAorICAgICAgICAgICAgICAgICAgICAgICAgICByZWN1cnNp
dmVseSBpbnRvIHRoZSBvdXRwdXQgZGlyZWN0b3J5LiAoZGVmYXVsdCAnJykKKyAgICBtYWluX3Nn
bWxfZmlsZSAgICAgLS0gVGhlIHBhdGggb3IgbmFtZSAoaWYgYSBkb2NfZGlyIGlzIGdpdmVuKSBv
ZiB0aGUgU0dNTCBmaWxlCisgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQgaXMgdGhlIGNv
bnNpZGVyZWQgdGhlIG1haW4gcGFnZSBvZiB5b3VyIGRvY3VtZW50YXRpb24uCisgICAgICAgICAg
ICAgICAgICAgICAgICAgIChkZWZhdWx0OiA8bW9kdWxlX25hbWU+LWRvY3Muc2dtbCkKKyAgICB2
ZXJzaW9uICAgICAgICAgICAgLS0gVGhlIHZlcnNpb24gbnVtYmVyIG9mIHRoZSBtb2R1bGUuIElm
IHRoaXMgaXMgcHJvdmlkZWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGEgdmVyc2lvbi54
bWwgZmlsZSBjb250YWluaW5nIHRoZSB2ZXJzaW9uIHdpbGwgYmUgY3JlYXRlZAorICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbiB0aGUgb3V0cHV0IGRpcmVjdG9yeSBkdXJpbmcgZG9jdW1lbnRh
dGlvbiBnZW5lcmF0aW9uLgorCisgICAgaW50ZXJhY3RpdmUgICAgICAgIC0tIFdoZXRoZXIgb3Ig
bm90IGVycm9ycyBvciB3YXJuaW5ncyBzaG91bGQgcHJvbXB0IHRoZSB1c2VyCisgICAgICAgICAg
ICAgICAgICAgICAgICAgIHRvIGNvbnRpbnVlIG9yIG5vdC4gV2hlbiB0aGlzIHZhbHVlIGlzIGZh
bHNlLCBnZW5lcmF0aW9uCisgICAgICAgICAgICAgICAgICAgICAgICAgIHdpbGwgY29udGludWUg
ZGVzcGl0ZSB3YXJuaW5ncy4gKGRlZmF1bHQgRmFsc2UpCisKKyAgICB2aXJ0dWFsX3Jvb3QgICAg
ICAgLS0gQSB0ZW1wb3JhcnkgaW5zdGFsbGF0aW9uIGRpcmVjdG9yeSB3aGljaCBpcyB1c2VkIGFz
IHRoZSByb290CisgICAgICAgICAgICAgICAgICAgICAgICAgIHdoZXJlIHRoZSBhY3R1YWwgaW5z
dGFsbGF0aW9uIHByZWZpeCBsaXZlczsgdGhpcyBpcyBtb3N0bHkKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgdXNlZnVsIGZvciBwYWNrYWdlcnMsIGFuZCBzaG91bGQgYmUgc2V0IHRvIHdoYXQg
aXMgZ2l2ZW4gdG8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgbWFrZSBpbnN0YWxsIGFzIERF
U1RESVIuCisgICAgIiIiCisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgYXJncyk6CisgICAgICAg
IHNlbGYudmVyc2lvbiA9ICcnCisgICAgICAgIHNlbGYudmlydHVhbF9yb290ID0gJycKKyAgICAg
ICAgc2VsZi5wcmVmaXggPSAnJworCisgICAgICAgICMgUGFyYW1ldGVycyBzcGVjaWZpYyB0byBz
Y2FubmluZy4KKyAgICAgICAgc2VsZi5tb2R1bGVfbmFtZSA9ICcnCisgICAgICAgIHNlbGYuc291
cmNlX2RpcnMgPSBbXQorICAgICAgICBzZWxmLmhlYWRlcnMgPSBbXQorICAgICAgICBzZWxmLmln
bm9yZWRfZmlsZXMgPSBbXQorICAgICAgICBzZWxmLm5hbWVzcGFjZSA9ICcnCisgICAgICAgIHNl
bGYuZGVjb3JhdG9yID0gJycKKyAgICAgICAgc2VsZi5kZXByZWNhdGlvbl9ndWFyZCA9ICcnCisK
KyAgICAgICAgIyBQYXJhbWV0ZXJzIHNwZWNpZmljIHRvIGd0a2RvYy1zY2Fub2JqLgorICAgICAg
ICBzZWxmLmNmbGFncyA9ICcnCisgICAgICAgIHNlbGYubGRmbGFncyA9ICcnCisgICAgICAgIHNl
bGYubGlicmFyeV9wYXRoID0gJycKKworICAgICAgICAjIFBhcmFtZXRlcnMgc3BlY2lmaWMgdG8g
Z2VuZXJhdGlvbi4KKyAgICAgICAgc2VsZi5vdXRwdXRfZGlyID0gJycKKyAgICAgICAgc2VsZi5k
b2NfZGlyID0gJycKKyAgICAgICAgc2VsZi5tYWluX3NnbWxfZmlsZSA9ICcnCisKKyAgICAgICAg
IyBQYXJhbWV0ZXJzIHNwZWNpZmljIHRvIGd0a2RvYy1maXh4cmVmLgorICAgICAgICBzZWxmLmNy
b3NzX3JlZmVyZW5jZV9kZXBzID0gW10KKworICAgICAgICBzZWxmLmludGVyYWN0aXZlID0gRmFs
c2UKKworICAgICAgICBzZWxmLmxvZ2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCdndGtkb2MnKQor
CisgICAgICAgIGZvciBrZXksIHZhbHVlIGluIGl0ZXIoYXJncy5pdGVtcygpKToKKyAgICAgICAg
ICAgIHNldGF0dHIoc2VsZiwga2V5LCB2YWx1ZSkKKworICAgICAgICBpZiBub3QgZ2V0YXR0cihz
ZWxmLCAnb3V0cHV0X2RpcicpOgorICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCdvdXRwdXRf
ZGlyIG5vdCBzcGVjaWZpZWQuJykKKyAgICAgICAgaWYgbm90IGdldGF0dHIoc2VsZiwgJ21vZHVs
ZV9uYW1lJyk6CisgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oJ21vZHVsZV9uYW1lIG5vdCBz
cGVjaWZpZWQuJykKKyAgICAgICAgaWYgbm90IGdldGF0dHIoc2VsZiwgJ3NvdXJjZV9kaXJzJykg
YW5kIG5vdCBnZXRhdHRyKHNlbGYsICdoZWFkZXJzJyk6CisgICAgICAgICAgICByYWlzZSBFeGNl
cHRpb24oJ05laXRoZXIgc291cmNlX2RpcnMgbm9yIGhlYWRlcnMgc3BlY2lmaWVkLicgJSBrZXkp
CisKKyAgICAgICAgIyBNYWtlIGFsbCBwYXRocyBhYnNvbHV0ZSBpbiBjYXNlIHdlIHdlcmUgcGFz
c2VkIHJlbGF0aXZlIHBhdGhzLCBzaW5jZQorICAgICAgICAjIHdlIGNoYW5nZSB0aGUgY3VycmVu
dCB3b3JraW5nIGRpcmVjdG9yeSB3aGVuIGV4ZWN1dGluZyBzdWJjb21tYW5kcy4KKyAgICAgICAg
c2VsZi5vdXRwdXRfZGlyID0gb3MucGF0aC5hYnNwYXRoKHNlbGYub3V0cHV0X2RpcikKKyAgICAg
ICAgc2VsZi5zb3VyY2VfZGlycyA9IFtvcy5wYXRoLmFic3BhdGgoeCkgZm9yIHggaW4gc2VsZi5z
b3VyY2VfZGlyc10KKyAgICAgICAgc2VsZi5oZWFkZXJzID0gW29zLnBhdGguYWJzcGF0aCh4KSBm
b3IgeCBpbiBzZWxmLmhlYWRlcnNdCisgICAgICAgIGlmIHNlbGYubGlicmFyeV9wYXRoOgorICAg
ICAgICAgICAgc2VsZi5saWJyYXJ5X3BhdGggPSBvcy5wYXRoLmFic3BhdGgoc2VsZi5saWJyYXJ5
X3BhdGgpCisKKyAgICAgICAgaWYgbm90IHNlbGYubWFpbl9zZ21sX2ZpbGU6CisgICAgICAgICAg
ICBzZWxmLm1haW5fc2dtbF9maWxlID0gc2VsZi5tb2R1bGVfbmFtZSArICItZG9jcy5zZ21sIgor
CisgICAgZGVmIGdlbmVyYXRlKHNlbGYsIGh0bWw9VHJ1ZSk6CisgICAgICAgIHNlbGYuc2F3X3dh
cm5pbmdzID0gRmFsc2UKKworICAgICAgICBzZWxmLl9jb3B5X2RvY19maWxlc190b19vdXRwdXRf
ZGlyKGh0bWwpCisgICAgICAgIHNlbGYuX3dyaXRlX3ZlcnNpb25feG1sKCkKKyAgICAgICAgc2Vs
Zi5fcnVuX2d0a2RvY19zY2FuKCkKKyAgICAgICAgc2VsZi5fcnVuX2d0a2RvY19zY2FuZ29iaigp
CisgICAgICAgIHNlbGYuX3J1bl9ndGtkb2NfbWtkYigpCisKKyAgICAgICAgaWYgbm90IGh0bWw6
CisgICAgICAgICAgICByZXR1cm4KKworICAgICAgICBzZWxmLl9ydW5fZ3RrZG9jX21raHRtbCgp
CisgICAgICAgIHNlbGYuX3J1bl9ndGtkb2NfZml4eHJlZigpCisKKyAgICBkZWYgX2RlbGV0ZV9m
aWxlX2lmX2V4aXN0cyhzZWxmLCBwYXRoKToKKyAgICAgICAgaWYgbm90IG9zLmFjY2VzcyhwYXRo
LCBvcy5GX09LIHwgb3MuUl9PSyk6CisgICAgICAgICAgICByZXR1cm4KKyAgICAgICAgc2VsZi5s
b2dnZXIuZGVidWcoJ2RlbGV0aW5nICVzJywgcGF0aCkKKyAgICAgICAgb3MudW5saW5rKHBhdGgp
CisKKyAgICBkZWYgX2NyZWF0ZV9kaXJlY3RvcnlfaWZfbm9uZXhpc3RlbnQoc2VsZiwgcGF0aCk6
CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIG9zLm1ha2VkaXJzKHBhdGgpCisgICAgICAgIGV4
Y2VwdCBPU0Vycm9yIGFzIGVycm9yOgorICAgICAgICAgICAgaWYgZXJyb3IuZXJybm8gIT0gZXJy
bm8uRUVYSVNUOgorICAgICAgICAgICAgICAgIHJhaXNlCisKKyAgICBkZWYgX3JhaXNlX2V4Y2Vw
dGlvbl9pZl9maWxlX2luYWNjZXNzaWJsZShzZWxmLCBwYXRoKToKKyAgICAgICAgaWYgbm90IG9z
LnBhdGguZXhpc3RzKHBhdGgpIG9yIG5vdCBvcy5hY2Nlc3MocGF0aCwgb3MuUl9PSyk6CisgICAg
ICAgICAgICByYWlzZSBFeGNlcHRpb24oIkNvdWxkIG5vdCBhY2Nlc3MgZmlsZSBhdDogJXMiICUg
cGF0aCkKKworICAgIGRlZiBfb3V0cHV0X2hhc193YXJuaW5ncyhzZWxmLCBvdXRwdXRzKToKKyAg
ICAgICAgZm9yIG91dHB1dCBpbiBvdXRwdXRzOgorICAgICAgICAgICAgaWYgb3V0cHV0IGFuZCBv
dXRwdXQuZmluZCgnd2FybmluZycpOgorICAgICAgICAgICAgICAgIHJldHVybiBUcnVlCisgICAg
ICAgIHJldHVybiBGYWxzZQorCisgICAgZGVmIF9hc2tfeWVzX29yX25vX3F1ZXN0aW9uKHNlbGYs
IHF1ZXN0aW9uKToKKyAgICAgICAgaWYgbm90IHNlbGYuaW50ZXJhY3RpdmU6CisgICAgICAgICAg
ICByZXR1cm4gVHJ1ZQorCisgICAgICAgIHF1ZXN0aW9uICs9ICcgW3kvTl0gJworICAgICAgICBh
bnN3ZXIgPSBOb25lCisgICAgICAgIHdoaWxlIGFuc3dlciAhPSAneScgYW5kIGFuc3dlciAhPSAn
bicgYW5kIGFuc3dlciAhPSAnJzoKKyAgICAgICAgICAgIGFuc3dlciA9IHJhd19pbnB1dChxdWVz
dGlvbikubG93ZXIoKQorICAgICAgICByZXR1cm4gYW5zd2VyID09ICd5JworCisgICAgZGVmIF9y
dW5fY29tbWFuZChzZWxmLCBhcmdzLCBlbnY9Tm9uZSwgY3dkPU5vbmUsIHByaW50X291dHB1dD1U
cnVlLCBpZ25vcmVfd2FybmluZ3M9RmFsc2UpOgorICAgICAgICBpZiBwcmludF9vdXRwdXQ6Cisg
ICAgICAgICAgICBzZWxmLmxvZ2dlci5kZWJ1ZygiUnVubmluZyAlcyIsIGFyZ3NbMF0pCisgICAg
ICAgIHNlbGYubG9nZ2VyLmRlYnVnKCJGdWxsIGNvbW1hbmQgYXJnczogJXMiLCBzdHIoYXJncykp
CisKKyAgICAgICAgcHJvY2VzcyA9IHN1YnByb2Nlc3MuUG9wZW4oYXJncywgZW52PWVudiwgY3dk
PWN3ZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Rkb3V0PXN1YnByb2Nl
c3MuUElQRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RkZXJyPXN1YnBy
b2Nlc3MuUElQRSkKKyAgICAgICAgc3Rkb3V0LCBzdGRlcnIgPSBbYi5kZWNvZGUoInV0Zi04Iikg
Zm9yIGIgaW4gcHJvY2Vzcy5jb21tdW5pY2F0ZSgpXQorCisgICAgICAgIGlmIHByaW50X291dHB1
dDoKKyAgICAgICAgICAgIGlmIHN0ZG91dDoKKyAgICAgICAgICAgICAgICB0cnk6CisgICAgICAg
ICAgICAgICAgICAgIHN5cy5zdGRvdXQud3JpdGUoc3Rkb3V0LmVuY29kZSgidXRmLTgiKSkKKyAg
ICAgICAgICAgICAgICBleGNlcHQgVW5pY29kZURlY29kZUVycm9yOgorICAgICAgICAgICAgICAg
ICAgICBzeXMuc3Rkb3V0LndyaXRlKHN0ZG91dCkKKyAgICAgICAgICAgIGlmIHN0ZGVycjoKKyAg
ICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgIHN5cy5zdGRlcnIud3JpdGUo
c3RkZXJyLmVuY29kZSgidXRmLTgiKSkKKyAgICAgICAgICAgICAgICBleGNlcHQgVW5pY29kZURl
Y29kZUVycm9yOgorICAgICAgICAgICAgICAgICAgICBzeXMuc3RkZXJyLndyaXRlKHN0ZGVycikK
KworICAgICAgICBpZiBwcm9jZXNzLnJldHVybmNvZGUgIT0gMDoKKyAgICAgICAgICAgIHJhaXNl
IEV4Y2VwdGlvbignJXMgcHJvZHVjZWQgYSBub24temVybyByZXR1cm4gY29kZSAlaScKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJSAoYXJnc1swXSwgcHJvY2Vzcy5yZXR1cm5jb2RlKSkK
KworICAgICAgICBpZiBub3QgaWdub3JlX3dhcm5pbmdzIGFuZCAoJ3dhcm5pbmcnIGluIHN0ZGVy
ciBvciAnd2FybmluZycgaW4gc3Rkb3V0KToKKyAgICAgICAgICAgIHNlbGYuc2F3X3dhcm5pbmdz
ID0gVHJ1ZQorICAgICAgICAgICAgaWYgbm90IHNlbGYuX2Fza195ZXNfb3Jfbm9fcXVlc3Rpb24o
JyVzIHByb2R1Y2VkIHdhcm5pbmdzLCAnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAndHJ5IHRvIGNvbnRpbnVlPycgJSBhcmdzWzBdKToKKyAgICAgICAg
ICAgICAgICByYWlzZSBFeGNlcHRpb24oJyVzIHN0ZXAgZmFpbGVkJyAlIGFyZ3NbMF0pCisKKyAg
ICAgICAgcmV0dXJuIHN0ZG91dC5zdHJpcCgpCisKKyAgICBkZWYgX2NvcHlfZG9jX2ZpbGVzX3Rv
X291dHB1dF9kaXIoc2VsZiwgaHRtbD1UcnVlKToKKyAgICAgICAgaWYgbm90IHNlbGYuZG9jX2Rp
cjoKKyAgICAgICAgICAgIHNlbGYubG9nZ2VyLmluZm8oJ05vdCBjb3B5aW5nIGFueSBmaWxlcyBm
cm9tIGRvYyBkaXJlY3RvcnksJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnIGJlY2F1
c2Ugbm8gZG9jIGRpcmVjdG9yeSBnaXZlbi4nKQorICAgICAgICAgICAgcmV0dXJuCisKKyAgICAg
ICAgZGVmIGNvcHlfZmlsZV9yZXBsYWNpbmdfZXhpc3Rpbmcoc3JjLCBkZXN0KToKKyAgICAgICAg
ICAgIGlmIG9zLnBhdGguaXNkaXIoc3JjKToKKyAgICAgICAgICAgICAgICBzZWxmLmxvZ2dlci5k
ZWJ1Zygnc2tpcHBlZCBkaXJlY3RvcnkgJXMnLCAgc3JjKQorICAgICAgICAgICAgICAgIHJldHVy
bgorICAgICAgICAgICAgaWYgbm90IG9zLmFjY2VzcyhzcmMsIG9zLkZfT0sgfCBvcy5SX09LKToK
KyAgICAgICAgICAgICAgICBzZWxmLmxvZ2dlci5kZWJ1Zygnc2tpcHBlZCB1bnJlYWRhYmxlICVz
Jywgc3JjKQorICAgICAgICAgICAgICAgIHJldHVybgorCisgICAgICAgICAgICBzZWxmLl9kZWxl
dGVfZmlsZV9pZl9leGlzdHMoZGVzdCkKKworICAgICAgICAgICAgc2VsZi5sb2dnZXIuZGVidWco
J2NyZWF0ZWQgJXMnLCBkZXN0KQorICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgIG9z
Lmxpbmsoc3JjLCBkZXN0KQorICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3I6CisgICAgICAgICAg
ICAgICAgb3Muc3ltbGluayhzcmMsIGRlc3QpCisKKyAgICAgICAgZGVmIGNvcHlfYWxsX2ZpbGVz
X2luX2RpcmVjdG9yeShzcmMsIGRlc3QpOgorICAgICAgICAgICAgZm9yIHBhdGggaW4gb3MubGlz
dGRpcihzcmMpOgorICAgICAgICAgICAgICAgIGNvcHlfZmlsZV9yZXBsYWNpbmdfZXhpc3Rpbmco
b3MucGF0aC5qb2luKHNyYywgcGF0aCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBvcy5wYXRoLmpvaW4oZGVzdCwgcGF0aCkpCisKKyAgICAgICAgc2VsZi5s
b2dnZXIuZGVidWcoJ0NvcHlpbmcgdGVtcGxhdGUgZmlsZXMgdG8gb3V0cHV0IGRpcmVjdG9yeS4u
LicpCisgICAgICAgIHNlbGYuX2NyZWF0ZV9kaXJlY3RvcnlfaWZfbm9uZXhpc3RlbnQoc2VsZi5v
dXRwdXRfZGlyKQorICAgICAgICBjb3B5X2FsbF9maWxlc19pbl9kaXJlY3Rvcnkoc2VsZi5kb2Nf
ZGlyLCBzZWxmLm91dHB1dF9kaXIpCisKKyAgICBkZWYgX3dyaXRlX3ZlcnNpb25feG1sKHNlbGYp
OgorICAgICAgICBpZiBub3Qgc2VsZi52ZXJzaW9uOgorICAgICAgICAgICAgc2VsZi5sb2dnZXIu
aW5mbygnTm8gdmVyc2lvbiBzcGVjaWZpZWQsIHNvIG5vdCB3cml0aW5nIHZlcnNpb24ueG1sJykK
KyAgICAgICAgICAgIHJldHVybgorCisgICAgICAgIHZlcnNpb25feG1sX3BhdGggPSBvcy5wYXRo
LmpvaW4oc2VsZi5vdXRwdXRfZGlyLCAndmVyc2lvbi54bWwnKQorICAgICAgICBzcmNfdmVyc2lv
bl94bWxfcGF0aCA9IG9zLnBhdGguam9pbihzZWxmLmRvY19kaXIsICd2ZXJzaW9uLnhtbCcpCisK
KyAgICAgICAgIyBEb24ndCBvdmVyd3JpdGUgdmVyc2lvbi54bWwgaWYgaXQgd2FzIGluIHRoZSBk
b2MgZGlyZWN0b3J5LgorICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyh2ZXJzaW9uX3htbF9wYXRo
KSBhbmQgXAorICAgICAgICAgICBvcy5wYXRoLmV4aXN0cyhzcmNfdmVyc2lvbl94bWxfcGF0aCk6
CisgICAgICAgICAgICByZXR1cm4KKworICAgICAgICBvdXRwdXRfZmlsZSA9IG9wZW4odmVyc2lv
bl94bWxfcGF0aCwgJ3cnKQorICAgICAgICBvdXRwdXRfZmlsZS53cml0ZShzZWxmLnZlcnNpb24p
CisgICAgICAgIG91dHB1dF9maWxlLmNsb3NlKCkKKworICAgIGRlZiBfaWdub3JlZF9maWxlc19i
YXNlbmFtZXMoc2VsZik6CisgICAgICAgIHJldHVybiAnICcuam9pbihbb3MucGF0aC5iYXNlbmFt
ZSh4KSBmb3IgeCBpbiBzZWxmLmlnbm9yZWRfZmlsZXNdKQorCisgICAgZGVmIF9ydW5fZ3RrZG9j
X3NjYW4oc2VsZik6CisgICAgICAgIGFyZ3MgPSBbJ2d0a2RvYy1zY2FuJywKKyAgICAgICAgICAg
ICAgICAnLS1tb2R1bGU9JXMnICUgc2VsZi5tb2R1bGVfbmFtZSwKKyAgICAgICAgICAgICAgICAn
LS1yZWJ1aWxkLXR5cGVzJ10KKworICAgICAgICBpZiBub3Qgc2VsZi5oZWFkZXJzOgorICAgICAg
ICAgICAgIyBFYWNoIHNvdXJjZSBkaXJlY3Rvcnkgc2hvdWxkIGJlIGhhdmUgaXRzIG93biAiLS1z
b3VyY2UtZGlyPSIgcHJlZml4LgorICAgICAgICAgICAgYXJncy5leHRlbmQoWyctLXNvdXJjZS1k
aXI9JXMnICUgcGF0aCBmb3IgcGF0aCBpbiBzZWxmLnNvdXJjZV9kaXJzXSkKKworICAgICAgICBp
ZiBzZWxmLmRlY29yYXRvcjoKKyAgICAgICAgICAgIGFyZ3MuYXBwZW5kKCctLWlnbm9yZS1kZWNv
cmF0b3JzPSVzJyAlIHNlbGYuZGVjb3JhdG9yKQorICAgICAgICBpZiBzZWxmLmRlcHJlY2F0aW9u
X2d1YXJkOgorICAgICAgICAgICAgYXJncy5hcHBlbmQoJy0tZGVwcmVjYXRlZC1ndWFyZHM9JXMn
ICUgc2VsZi5kZXByZWNhdGlvbl9ndWFyZCkKKyAgICAgICAgaWYgc2VsZi5vdXRwdXRfZGlyOgor
ICAgICAgICAgICAgYXJncy5hcHBlbmQoJy0tb3V0cHV0LWRpcj0lcycgJSBzZWxmLm91dHB1dF9k
aXIpCisKKyAgICAgICAgIyBXZSBvbmx5IG5lZWQgdG8gcGFzcyB0aGUgbGlzdCBvZiBpZ25vcmVk
IGZpbGVzIGlmIHRoZSB3ZSBhcmUgbm90IHVzaW5nIGFuIGV4cGxpY2l0IGxpc3Qgb2YgaGVhZGVy
cy4KKyAgICAgICAgaWYgbm90IHNlbGYuaGVhZGVyczoKKyAgICAgICAgICAgICMgZ3RrZG9jLXNj
YW4gd2FudHMgdGhlIGJhc2VuYW1lcyBvZiBpZ25vcmVkIGhlYWRlcnMsIHNvIHN0cmlwIHRoZQor
ICAgICAgICAgICAgIyBkaXJuYW1lLiBEaWZmZXJlbnQgZnJvbSAiLS1zb3VyY2UtZGlyIiwgdGhl
IGhlYWRlcnMgc2hvdWxkIGJlCisgICAgICAgICAgICAjIHNwZWNpZmllZCBhcyBvbmUgbG9uZyBz
dHJpbmcuCisgICAgICAgICAgICBpZ25vcmVkX2ZpbGVzX2Jhc2VuYW1lcyA9IHNlbGYuX2lnbm9y
ZWRfZmlsZXNfYmFzZW5hbWVzKCkKKyAgICAgICAgICAgIGlmIGlnbm9yZWRfZmlsZXNfYmFzZW5h
bWVzOgorICAgICAgICAgICAgICAgIGFyZ3MuYXBwZW5kKCctLWlnbm9yZS1oZWFkZXJzPSVzJyAl
IGlnbm9yZWRfZmlsZXNfYmFzZW5hbWVzKQorCisgICAgICAgIGlmIHNlbGYuaGVhZGVyczoKKyAg
ICAgICAgICAgIGFyZ3MuZXh0ZW5kKHNlbGYuaGVhZGVycykKKworICAgICAgICBzZWxmLl9ydW5f
Y29tbWFuZChhcmdzKQorCisgICAgZGVmIF9ydW5fZ3RrZG9jX3NjYW5nb2JqKHNlbGYpOgorICAg
ICAgICBlbnYgPSBvcy5lbnZpcm9uCisgICAgICAgIGxkZmxhZ3MgPSBzZWxmLmxkZmxhZ3MKKyAg
ICAgICAgaWYgc2VsZi5saWJyYXJ5X3BhdGg6CisgICAgICAgICAgICBhZGRpdGlvbmFsX2xkZmxh
Z3MgPSAnJworICAgICAgICAgICAgZm9yIGFyZyBpbiBlbnYuZ2V0KCdMREZMQUdTJywgJycpLnNw
bGl0KCcgJyk6CisgICAgICAgICAgICAgICAgaWYgYXJnLnN0YXJ0c3dpdGgoJy1MJyk6CisgICAg
ICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxfbGRmbGFncyA9ICclcyAlcycgJSAoYWRkaXRpb25h
bF9sZGZsYWdzLCBhcmcpCisgICAgICAgICAgICBsZGZsYWdzID0gJyAiLUwlcyIgJXMgJyAlIChz
ZWxmLmxpYnJhcnlfcGF0aCwgYWRkaXRpb25hbF9sZGZsYWdzKSArIGxkZmxhZ3MKKyAgICAgICAg
ICAgIGN1cnJlbnRfbGRfbGlicmFyeV9wYXRoID0gZW52LmdldCgnTERfTElCUkFSWV9QQVRIJykK
KyAgICAgICAgICAgIGlmIGN1cnJlbnRfbGRfbGlicmFyeV9wYXRoOgorICAgICAgICAgICAgICAg
IGVudlsnTERfTElCUkFSWV9QQVRIJ10gPSAnJXM6JXMnICUgKHNlbGYubGlicmFyeV9wYXRoLCBj
dXJyZW50X2xkX2xpYnJhcnlfcGF0aCkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAg
ICAgZW52WydMRF9MSUJSQVJZX1BBVEgnXSA9IHNlbGYubGlicmFyeV9wYXRoCisKKyAgICAgICAg
aWYgbGRmbGFnczoKKyAgICAgICAgICAgIGVudlsnTERGTEFHUyddID0gJyVzICVzJyAlIChsZGZs
YWdzLCBlbnYuZ2V0KCdMREZMQUdTJywgJycpKQorICAgICAgICBpZiBzZWxmLmNmbGFnczoKKyAg
ICAgICAgICAgIGVudlsnQ0ZMQUdTJ10gPSAnJXMgJXMnICUgKHNlbGYuY2ZsYWdzLCBlbnYuZ2V0
KCdDRkxBR1MnLCAnJykpCisKKyAgICAgICAgaWYgJ0NGTEFHUycgaW4gZW52OgorICAgICAgICAg
ICAgc2VsZi5sb2dnZXIuZGVidWcoJ0NGTEFHUz0lcycsIGVudlsnQ0ZMQUdTJ10pCisgICAgICAg
IGlmICdMREZMQUdTJyBpbiBlbnY6CisgICAgICAgICAgICBzZWxmLmxvZ2dlci5kZWJ1ZygnTERG
TEFHUyAlcycsIGVudlsnTERGTEFHUyddKQorICAgICAgICBzZWxmLl9ydW5fY29tbWFuZChbJ2d0
a2RvYy1zY2FuZ29iaicsICctLW1vZHVsZT0lcycgJSBzZWxmLm1vZHVsZV9uYW1lXSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgZW52PWVudiwgY3dkPXNlbGYub3V0cHV0X2RpcikKKworICAg
IGRlZiBfcnVuX2d0a2RvY19ta2RiKHNlbGYpOgorICAgICAgICBzZ21sX2ZpbGUgPSBvcy5wYXRo
LmpvaW4oc2VsZi5vdXRwdXRfZGlyLCBzZWxmLm1haW5fc2dtbF9maWxlKQorICAgICAgICBzZWxm
Ll9yYWlzZV9leGNlcHRpb25faWZfZmlsZV9pbmFjY2Vzc2libGUoc2dtbF9maWxlKQorCisgICAg
ICAgIGFyZ3MgPSBbJ2d0a2RvYy1ta2RiJywKKyAgICAgICAgICAgICAgICAnLS1tb2R1bGU9JXMn
ICUgc2VsZi5tb2R1bGVfbmFtZSwKKyAgICAgICAgICAgICAgICAnLS1tYWluLXNnbWwtZmlsZT0l
cycgJSBzZ21sX2ZpbGUsCisgICAgICAgICAgICAgICAgJy0tc291cmNlLXN1ZmZpeGVzPWgsYyxj
cHAsY2MnLAorICAgICAgICAgICAgICAgICctLW91dHB1dC1mb3JtYXQ9eG1sJywKKyAgICAgICAg
ICAgICAgICAnLS1zZ21sLW1vZGUnXQorCisgICAgICAgIGlmIHNlbGYubmFtZXNwYWNlOgorICAg
ICAgICAgICAgYXJncy5hcHBlbmQoJy0tbmFtZS1zcGFjZT0lcycgJSBzZWxmLm5hbWVzcGFjZSkK
KworICAgICAgICBpZ25vcmVkX2ZpbGVzX2Jhc2VuYW1lcyA9IHNlbGYuX2lnbm9yZWRfZmlsZXNf
YmFzZW5hbWVzKCkKKyAgICAgICAgaWYgaWdub3JlZF9maWxlc19iYXNlbmFtZXM6CisgICAgICAg
ICAgICBhcmdzLmFwcGVuZCgnLS1pZ25vcmUtZmlsZXM9JXMnICUgaWdub3JlZF9maWxlc19iYXNl
bmFtZXMpCisKKyAgICAgICAgIyBFYWNoIGRpcmVjdG9yeSBzaG91bGQgYmUgaGF2ZSBpdHMgb3du
ICItLXNvdXJjZS1kaXI9IiBwcmVmaXguCisgICAgICAgIGFyZ3MuZXh0ZW5kKFsnLS1zb3VyY2Ut
ZGlyPSVzJyAlIHBhdGggZm9yIHBhdGggaW4gc2VsZi5zb3VyY2VfZGlyc10pCisgICAgICAgIHNl
bGYuX3J1bl9jb21tYW5kKGFyZ3MsIGN3ZD1zZWxmLm91dHB1dF9kaXIpCisKKyAgICBkZWYgX3J1
bl9ndGtkb2NfbWtodG1sKHNlbGYpOgorICAgICAgICAjIGd0a2RvYy1maXh4cmVmIGV4cGVjdHMg
dGhlIHBhdGhzIHRvIGJlIGh0bWwvbW9kdWxlbmFtZS4KKyAgICAgICAgaHRtbF9kZXN0X2RpciA9
IG9zLnBhdGguam9pbihzZWxmLm91dHB1dF9kaXIsICdodG1sJywgc2VsZi5tb2R1bGVfbmFtZSkK
KyAgICAgICAgc2VsZi5fY3JlYXRlX2RpcmVjdG9yeV9pZl9ub25leGlzdGVudChodG1sX2Rlc3Rf
ZGlyKQorICAgICAgICBpZiBub3Qgb3MucGF0aC5pc2RpcihodG1sX2Rlc3RfZGlyKToKKyAgICAg
ICAgICAgIHJhaXNlIEV4Y2VwdGlvbigiJXMgaXMgbm90IGEgZGlyZWN0b3J5LCBjb3VsZCBub3Qg
Z2VuZXJhdGUgSFRNTCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAlIGh0bWxfZGVzdF9k
aXIpCisgICAgICAgIGVsaWYgbm90IG9zLmFjY2VzcyhodG1sX2Rlc3RfZGlyLCBvcy5YX09LIHwg
b3MuUl9PSyB8IG9zLldfT0spOgorICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCJDb3VsZCBu
b3QgYWNjZXNzICVzIHRvIGdlbmVyYXRlIEhUTUwiCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJSBodG1sX2Rlc3RfZGlyKQorCisgICAgICAgICMgZ3RrZG9jLW1raHRtbCBleHBlY3RzIHRo
ZSBTR01MIHBhdGggdG8gYmUgYWJzb2x1dGUuCisgICAgICAgIHNnbWxfZmlsZSA9IG9zLnBhdGgu
am9pbihvcy5wYXRoLmFic3BhdGgoc2VsZi5vdXRwdXRfZGlyKSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHNlbGYubWFpbl9zZ21sX2ZpbGUpCisgICAgICAgIHNlbGYuX3JhaXNl
X2V4Y2VwdGlvbl9pZl9maWxlX2luYWNjZXNzaWJsZShzZ21sX2ZpbGUpCisKKyAgICAgICAgc2Vs
Zi5fcnVuX2NvbW1hbmQoWydndGtkb2MtbWtodG1sJywgc2VsZi5tb2R1bGVfbmFtZSwgc2dtbF9m
aWxlXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY3dkPWh0bWxfZGVzdF9kaXIpCisKKyAg
ICBkZWYgX3J1bl9ndGtkb2NfZml4eHJlZihzZWxmKToKKyAgICAgICAgYXJncyA9IFsnZ3RrZG9j
LWZpeHhyZWYnLAorICAgICAgICAgICAgICAgICctLW1vZHVsZT0lcycgJSBzZWxmLm1vZHVsZV9u
YW1lLAorICAgICAgICAgICAgICAgICctLW1vZHVsZS1kaXI9aHRtbC8lcycgJSBzZWxmLm1vZHVs
ZV9uYW1lXQorICAgICAgICBhcmdzLmV4dGVuZChbJy0tZXh0cmEtZGlyPSVzJyAlIGV4dHJhX2Rp
ciBmb3IgZXh0cmFfZGlyIGluIHNlbGYuY3Jvc3NfcmVmZXJlbmNlX2RlcHNdKQorICAgICAgICBz
ZWxmLl9ydW5fY29tbWFuZChhcmdzLCBjd2Q9c2VsZi5vdXRwdXRfZGlyLCBpZ25vcmVfd2Fybmlu
Z3M9VHJ1ZSkKKworICAgICAgICAjIGd0a2RvYy1maXh4cmVmIGhhcyBzb21lIHByZWRlZmluZWQg
bGlua3MgZm9yIHdoaWNoIGl0IGFsd2F5cyB1c2VzIGFic29sdXRlIHBhdGhzLgorICAgICAgICBo
dG1sX2Rpcl9wcmVmaXggPSBvcy5wYXRoLmpvaW4oc2VsZi52aXJ0dWFsX3Jvb3QgKyBzZWxmLnBy
ZWZpeCwgJ3NoYXJlJywgJ2d0ay1kb2MnLCAnaHRtbCcpCisgICAgICAgIG1vZHVsZV9kaXIgPSBv
cy5wYXRoLmpvaW4oc2VsZi5vdXRwdXRfZGlyLCAnaHRtbCcsIHNlbGYubW9kdWxlX25hbWUpCisg
ICAgICAgIGZvciBlbnRyeSBpbiBvcy5saXN0ZGlyKG1vZHVsZV9kaXIpOgorICAgICAgICAgICAg
aWYgbm90IGVudHJ5LmVuZHN3aXRoKCcuaHRtbCcpOgorICAgICAgICAgICAgICAgIGNvbnRpbnVl
CisKKyAgICAgICAgICAgIGZpbGVuYW1lID0gb3MucGF0aC5qb2luKG1vZHVsZV9kaXIsIGVudHJ5
KQorICAgICAgICAgICAgY29udGVudHMgPSAnJworICAgICAgICAgICAgd2l0aCBjb2RlY3Mub3Bl
bihmaWxlbmFtZSwgJ3InLCBlbmNvZGluZz0ndXRmLTgnKSBhcyBmOgorICAgICAgICAgICAgICAg
IGNvbnRlbnRzID0gZi5yZWFkKCkKKworICAgICAgICAgICAgaWYgbm90IGh0bWxfZGlyX3ByZWZp
eCBpbiBjb250ZW50czoKKyAgICAgICAgICAgICAgICBjb250aW51ZQorCisgICAgICAgICAgICB0
bXBfZmlsZW5hbWUgPSBmaWxlbmFtZSArICcubmV3JworICAgICAgICAgICAgbmV3X2NvbnRlbnRz
ID0gY29udGVudHMucmVwbGFjZShodG1sX2Rpcl9wcmVmaXgsICcuLicpCisgICAgICAgICAgICB3
aXRoIGNvZGVjcy5vcGVuKHRtcF9maWxlbmFtZSwgJ3cnLCBlbmNvZGluZz0ndXRmLTgnKSBhcyBm
OgorICAgICAgICAgICAgICAgIGYud3JpdGUobmV3X2NvbnRlbnRzKQorCisgICAgICAgICAgICBv
cy5yZW5hbWUodG1wX2ZpbGVuYW1lLCBmaWxlbmFtZSkKKworICAgIGRlZiByZWJhc2VfaW5zdGFs
bGVkX2RvY3Moc2VsZik6CisgICAgICAgIGlmIG5vdCBvcy5wYXRoLmlzZGlyKHNlbGYub3V0cHV0
X2Rpcik6CisgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIlRyaWVkIHRvIHJlYmFzZSBkb2N1
bWVudGF0aW9uIGJlZm9yZSBnZW5lcmF0aW5nIGl0LiIpCisgICAgICAgIGh0bWxfZGlyID0gb3Mu
cGF0aC5qb2luKHNlbGYudmlydHVhbF9yb290ICsgc2VsZi5wcmVmaXgsICdzaGFyZScsICdndGst
ZG9jJywgJ2h0bWwnLCBzZWxmLm1vZHVsZV9uYW1lKQorICAgICAgICBpZiBub3Qgb3MucGF0aC5p
c2RpcihodG1sX2Rpcik6CisgICAgICAgICAgICByZXR1cm4KKyAgICAgICAgYXJncyA9IFsnZ3Rr
ZG9jLXJlYmFzZScsCisgICAgICAgICAgICAgICAgJy0tcmVsYXRpdmUnLAorICAgICAgICAgICAg
ICAgICctLWh0bWwtZGlyPSVzJyAlIGh0bWxfZGlyXQorICAgICAgICBhcmdzLmV4dGVuZChbJy0t
b3RoZXItZGlyPSVzJyAlIGV4dHJhX2RpciBmb3IgZXh0cmFfZGlyIGluIHNlbGYuY3Jvc3NfcmVm
ZXJlbmNlX2RlcHNdKQorICAgICAgICBpZiBzZWxmLnZpcnR1YWxfcm9vdDoKKyAgICAgICAgICAg
IGFyZ3MuZXh0ZW5kKFsnLS1kZXN0LWRpcj0lcycgJSBzZWxmLnZpcnR1YWxfcm9vdF0pCisgICAg
ICAgIHNlbGYuX3J1bl9jb21tYW5kKGFyZ3MsIGN3ZD1zZWxmLm91dHB1dF9kaXIpCisKKyAgICBk
ZWYgYXBpX21pc3NpbmdfZG9jdW1lbnRhdGlvbihzZWxmKToKKyAgICAgICAgdW51c2VkX2RvY19m
aWxlID0gb3MucGF0aC5qb2luKHNlbGYub3V0cHV0X2Rpciwgc2VsZi5tb2R1bGVfbmFtZSArICIt
dW51c2VkLnR4dCIpCisgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyh1bnVzZWRfZG9jX2Zp
bGUpIG9yIG5vdCBvcy5hY2Nlc3ModW51c2VkX2RvY19maWxlLCBvcy5SX09LKToKKyAgICAgICAg
ICAgIHJldHVybiBbXQorICAgICAgICByZXR1cm4gb3Blbih1bnVzZWRfZG9jX2ZpbGUpLnJlYWQo
KS5zcGxpdGxpbmVzKCkKKworCitjbGFzcyBQa2dDb25maWdHVEtEb2MoR1RLRG9jKToKKworICAg
ICIiIkNsYXNzIHJlYWRzIGEgbGlicmFyeSdzIHBrZ2NvbmZpZyBmaWxlIHRvIGd1ZXNzIGd0a2Rv
YyBwYXJhbWV0ZXJzLgorCisgICAgU29tZSBndGtkb2MgcGFyYW1ldGVycyBjYW4gYmUgZ3Vlc3Nl
ZCBieSByZWFkaW5nIGEgbGlicmFyeSdzIHBrZ2NvbmZpZworICAgIGZpbGUsIGluY2x1ZGluZyB0
aGUgY2ZsYWdzLCBsZGZsYWdzIGFuZCB2ZXJzaW9uIHBhcmFtZXRlcnMuIElmIHlvdQorICAgIHBy
b3ZpZGUgdGhlc2UgcGFyYW1ldGVycyBhcyB3ZWxsLCB0aGV5IHdpbGwgYmUgYXBwZW5kZWQgdG8g
dGhlIG9uZXMKKyAgICBndWVzc2VkIHZpYSB0aGUgcGtnY29uZmlnIGZpbGUuCisKKyAgICBLZXl3
b3JkIGFyZ3VtZW50czoKKyAgICAgIHBrZ19jb25maWdfcGF0aCAtLSBQYXRoIHRvIHRoZSBwa2dj
b25maWcgZmlsZSBmb3IgdGhlIGxpYnJhcnkuIFJlcXVpcmVkLgorICAgICIiIgorCisgICAgZGVm
IF9faW5pdF9fKHNlbGYsIHBrZ19jb25maWdfcGF0aCwgYXJncyk6CisgICAgICAgIHN1cGVyKFBr
Z0NvbmZpZ0dUS0RvYywgc2VsZikuX19pbml0X18oYXJncykKKworICAgICAgICBwa2dfY29uZmln
ID0gb3MuZW52aXJvbi5nZXQoJ1BLR19DT05GSUcnLCAncGtnLWNvbmZpZycpCisKKyAgICAgICAg
aWYgbm90IG9zLnBhdGguZXhpc3RzKHBrZ19jb25maWdfcGF0aCk6CisgICAgICAgICAgICByYWlz
ZSBFeGNlcHRpb24oJ0NvdWxkIG5vdCBmaW5kIHBrZy1jb25maWcgZmlsZSBhdDogJXMnCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJSBwa2dfY29uZmlnX3BhdGgpCisKKyAgICAgICAgc2Vs
Zi5jZmxhZ3MgKz0gIiAiICsgc2VsZi5fcnVuX2NvbW1hbmQoW3BrZ19jb25maWcsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwa2dfY29uZmlnX3BhdGgs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1jZmxh
Z3MnXSwgcHJpbnRfb3V0cHV0PUZhbHNlKQorICAgICAgICBzZWxmLmxkZmxhZ3MgKz0gIiAiICsg
c2VsZi5fcnVuX2NvbW1hbmQoW3BrZ19jb25maWcsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBwa2dfY29uZmlnX3BhdGgsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1saWJzJ10sIHByaW50X291dHB1dD1G
YWxzZSkKKyAgICAgICAgc2VsZi52ZXJzaW9uID0gc2VsZi5fcnVuX2NvbW1hbmQoW3BrZ19jb25m
aWcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwa2dfY29uZmln
X3BhdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1tb2R2
ZXJzaW9uJ10sIHByaW50X291dHB1dD1GYWxzZSkKKyAgICAgICAgc2VsZi5wcmVmaXggPSBzZWxm
Ll9ydW5fY29tbWFuZChbcGtnX2NvbmZpZywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgcGtnX2NvbmZpZ19wYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAnLS12YXJpYWJsZT1wcmVmaXgnXSwgcHJpbnRfb3V0cHV0PUZhbHNlKQpk
aWZmIC0tZ2l0IGEvVG9vbHMvd3BlL2luc3RhbGwtZGVwZW5kZW5jaWVzIGIvVG9vbHMvd3BlL2lu
c3RhbGwtZGVwZW5kZW5jaWVzCmluZGV4IGJjY2EyNDJjMjQxOGI5NjY1YTAwZGVjMTU1MjQ5NTQw
MThlNjg5MGUuLjBlNDA4N2ZmZmJlNjFiYjIxYTViNmE1N2JhYjU4YmJlZDJiNjFmNWQgMTAwNzU1
Ci0tLSBhL1Rvb2xzL3dwZS9pbnN0YWxsLWRlcGVuZGVuY2llcworKysgYi9Ub29scy93cGUvaW5z
dGFsbC1kZXBlbmRlbmNpZXMKQEAgLTY1LDYgKzY1LDcgQEAgZnVuY3Rpb24gaW5zdGFsbERlcGVu
ZGVuY2llc1dpdGhBcHQgewogICAgICAgICBnYXdrIFwKICAgICAgICAgZ2NjIFwKICAgICAgICAg
Z3BlcmYgXAorICAgICAgICBndGstZG9jLXRvb2xzIFwKICAgICAgICAgaW50bHRvb2wgXAogICAg
ICAgICBpdHN0b29sIFwKICAgICAgICAgbGliYXNvdW5kMi1kZXYgXApAQCAtMTU1LDYgKzE1Niw3
IEBAIGZ1bmN0aW9uIGluc3RhbGxEZXBlbmRlbmNpZXNXaXRoUGFjbWFuIHsKICAgICAgICAgZ2Nj
IFwKICAgICAgICAgZ251dGxzIFwKICAgICAgICAgZ3BlcmYgXAorICAgICAgICBndGstZG9jIFwK
ICAgICAgICAgZ3JlcCBcCiAgICAgICAgIGdyb2ZmIFwKICAgICAgICAgZ3N0cmVhbWVyIFwKQEAg
LTI1Myw2ICsyNTUsNyBAQCBmdW5jdGlvbiBpbnN0YWxsRGVwZW5kZW5jaWVzV2l0aERuZiB7CiAg
ICAgICAgIGdzdHJlYW1lcjEtZGV2ZWwgXAogICAgICAgICBnc3RyZWFtZXIxLXBsdWdpbnMtYmFk
LWZyZWUtZGV2ZWwgXAogICAgICAgICBnc3RyZWFtZXIxLXBsdWdpbnMtYmFzZS1kZXZlbCBcCisg
ICAgICAgIGd0ay1kb2MgXAogICAgICAgICBpbnRsdG9vbCBcCiAgICAgICAgIGl0c3Rvb2wgXAog
ICAgICAgICBsaWJldmVudC1kZXZlbCBcCmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VM
b2cKaW5kZXggMDA1NTZiYjczN2I3ZmJhY2Q3NTZhNzg2NWU1Nzk3ZDA0MzAxNGNiNy4uZTJkNjI4
NmExZjJiODFhOTNjYTJmYWQ3Nzc1NmZiYTM4NDc4M2MzOSAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9n
CisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE4LTExLTIwICBDYXJsb3MgRWR1
YXJkbyBSYW1hbGhvICA8Y2FkdWJlbnR6ZW5AZ21haWwuY29tPgorCisgICAgICAgIFtXUEVdIEFk
ZCBndGstZG9jCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNzg5MDAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGQgZ3RrLWRvYyB0byBXUEUgcG9ydC4gVGhpcyBwYXRjaCB0cmllcyB0byByZXVzZSBhcyBt
dWNoIGNvZGUgZnJvbQorICAgICAgICBXZWJLaXRHVEsrIGFzIHBvc3NpYmxlLgorCisgICAgICAg
ICogU291cmNlL1BsYXRmb3JtR1RLLmNtYWtlOiBpbmNsdWRlIEd0a0RvYy5jbWFrZSBpbnN0ZWFk
IG9mIGRlZmluaW5nIG1hY3JvLgorICAgICAgICAqIFNvdXJjZS9QbGF0Zm9ybVdQRS5jbWFrZTog
QWRkZWQgZG9jdW1lbnRhdGlvbiBnZW5lcmF0aW9uLgorICAgICAgICAqIFNvdXJjZS9jbWFrZS9H
dGtEb2MuY21ha2U6IEFkZGVkLgorICAgICAgICAqIFNvdXJjZS9jbWFrZS9PcHRpb25zV1BFLmNt
YWtlOiBBZGRlZCBFTkFCTEVfR1RLRE9DIGJ1aWxkIG9wdGlvbiBhbmQgYWRkZWQgcGtnLWNvbmZp
ZyBwYXRoIHZhcmlhYmxlcy4KKwogMjAxOC0xMS0xNiAgRG9uIE9sbXN0ZWFkICA8ZG9uLm9sbXN0
ZWFkQHNvbnkuY29tPgogCiAgICAgICAgIEFkZCBVU0UoTElCV1BFKSB0byBXZWJDb3JlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>355403</attachid>
            <date>2018-11-21 05:31:06 -0800</date>
            <delta_ts>2018-12-04 05:20:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-178900-20181121103104.patch</filename>
            <type>text/plain</type>
            <size>129167</size>
            <attacher name="Carlos Bentzen">cadubentzen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM4NDE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDZlOGUzZTRkOGEwOWUxYmUz
ZjljYjU1ZmM3OTk0MTAyNTFkYWI5NjUuLmUyYzM5MjA0NjI5YzExOTQyOTRhNTk0MDcwYjA4M2Jl
OTY3ODVmZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTgtMTEtMjEgIENhcmxvcyBF
ZHVhcmRvIFJhbWFsaG8gIDxjYWR1YmVudHplbkBnbWFpbC5jb20+CisKKyAgICAgICAgW1dQRV0g
QWRkIGd0ay1kb2MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE3ODkwMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkZCBndGstZG9jIHRvIFdQRSBwb3J0LiBUaGlzIHBhdGNoIHRyaWVzIHRvIHJldXNlIGFz
IG11Y2ggY29kZSBmcm9tCisgICAgICAgIFdlYktpdEdUSysgYXMgcG9zc2libGUuCisKKyAgICAg
ICAgKiBQbGF0Zm9ybVdQRS5jbWFrZTogV3JpdGUgdmFyaWFibGVzIHRvIGd0a2RvYy13cGUuY2Zn
IGFuZCBndGtkb2Mtd2ViZXh0ZW5zaW9ucyB0aGF0IGlzIHVzZWQgYnkgcHl0aG9uIHNjcmlwdCBs
YXRlci4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRXZWJDb250ZXh0Lmg6IFBs
YWNlZCBzYW5kYm94IGZ1bmN0aW9ucyBpbiB0aGUgc2FtZSBsb2NhdGlvbiBhcyBpbiB0aGUgV2Vi
S2l0R1RLKyBmb3IgY29uc2lzdGVuY3kuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS93cGUvZG9j
cy93cGUtMC4xLXNlY3Rpb25zLnR4dDogQWRkZWQuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS93
cGUvZG9jcy93cGUtZG9jcy5zZ21sOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0FQSS93cGUvV2ViS2l0V2ViUGFnZS5oOiBQbGFjZWQgd2Via2l0X3dlYl9wYWdl
X2dldF9kb21fZG9jdW1lbnQKKyAgICAgICAgaW4gdGhlIHNhbWUgcG9zaXRpb24gYXMgaW4gdGhl
IFdlYktpdEdUSysgZm9yIGNvbnNpc3RlbmN5LgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvQVBJL3dwZS9kb2NzL3dwZS13ZWJleHRlbnNpb25zLTAuMS1zZWN0aW9ucy50eHQ6
IEFkZGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL3dwZS9kb2Nz
L3dwZS13ZWJleHRlbnNpb25zLWRvY3Muc2dtbDogQWRkZWQuCisKIDIwMTgtMTEtMjAgIEplZmYg
TWlsbGVyICA8amVmZm1AYXBwbGUuY29tPgogCiAgICAgICAgIFJldHVybiBudWxscHRyIGltbWVk
aWF0ZWx5IGlmIHRoZSBrZXkgZG9lc24ndCBleGlzdCBpbiB0aGUgSGFzaE1hcC4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9QbGF0Zm9ybUdUSy5jbWFrZSBiL1NvdXJjZS9QbGF0Zm9ybUdUSy5jbWFrZQpp
bmRleCAyODg0MWMyMGU5OGE3YTUyY2UwZDM3ZGU0ODhmYzk4MDg1MmFlZDhiLi43OTQyZDU3NzQ4
ZjQ3MjMyZjc3ODY5YTk0NzNiODk1ZjRhM2M1MDZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZv
cm1HVEsuY21ha2UKKysrIGIvU291cmNlL1BsYXRmb3JtR1RLLmNtYWtlCkBAIC0xLDMgKzEsNCBA
QAoraW5jbHVkZShHdGtEb2MpCiBpbmNsdWRlKFdlYktpdERpc3QpCiAKIGFkZF9zdWJkaXJlY3Rv
cnkoJHtXRUJDT1JFX0RJUn0vcGxhdGZvcm0vZ3RrL3BvKQpAQCAtMjUsMTggKzI2LDcgQEAgaWYg
KEVOQUJMRV9HVEtET0MpCiAgICAgKQogZW5kaWYgKCkKIAotbWFjcm8oQUREX0dUS0RPQ19HRU5F
UkFUT1IgX3N0YW1wX25hbWUgX2V4dHJhX2FyZ3MpCi0gICAgYWRkX2N1c3RvbV9jb21tYW5kKAot
ICAgICAgICBPVVRQVVQgIiR7Q01BS0VfQklOQVJZX0RJUn0vJHtfc3RhbXBfbmFtZX0iCi0gICAg
ICAgIERFUEVORFMgJHtEb2N1bWVudGF0aW9uRGVwZW5kZW5jaWVzfQotICAgICAgICBDT01NQU5E
ICR7Q01BS0VfQ09NTUFORH0gLUUgZW52ICJDQz0ke0NNQUtFX0NfQ09NUElMRVJ9IiAiQ0ZMQUdT
PSR7Q01BS0VfQ19GTEFHU30gLVduby11bnVzZWQtcGFyYW1ldGVyIiAke0NNQUtFX1NPVVJDRV9E
SVJ9L1Rvb2xzL2d0ay9nZW5lcmF0ZS1ndGtkb2MgJHtfZXh0cmFfYXJnc30KLSAgICAgICAgQ09N
TUFORCB0b3VjaCAke19zdGFtcF9uYW1lfQotICAgICAgICBXT1JLSU5HX0RJUkVDVE9SWSAiJHtD
TUFLRV9CSU5BUllfRElSfSIKLSAgICAgICAgVkVSQkFUSU0KLSAgICApCi1lbmRtYWNybygpCi0K
LUFERF9HVEtET0NfR0VORVJBVE9SKCJkb2NzLWJ1aWxkLnN0YW1wIiAiIikKK0FERF9HVEtET0Nf
R0VORVJBVE9SKCJkb2NzLWJ1aWxkLnN0YW1wIiAiLS1ndGsiKQogaWYgKEVOQUJMRV9HVEtET0Mp
CiAgICAgYWRkX2N1c3RvbV90YXJnZXQoZ3RrZG9jIEFMTCBERVBFTkRTICIke0NNQUtFX0JJTkFS
WV9ESVJ9L2RvY3MtYnVpbGQuc3RhbXAiKQogZWxzZWlmIChOT1QgRU5BQkxFRF9DT01QSUxFUl9T
QU5JVElaRVJTIEFORCBOT1QgQ01BS0VfQ1JPU1NDT01QSUxJTkcgQU5EIE5PVCBBUFBMRSkKQEAg
LTQ2LDcgKzM2LDcgQEAgZWxzZWlmIChOT1QgRU5BQkxFRF9DT01QSUxFUl9TQU5JVElaRVJTIEFO
RCBOT1QgQ01BS0VfQ1JPU1NDT01QSUxJTkcgQU5EIE5PVCBBUFAKICAgICAjIG9yIGVycm9ycy4g
VGhpcyBpcyB1c2VmdWwgdG8gcHJldmVudCBicmVha2luZyBkb2N1bWVudGF0aW9uIGluYWR2ZXJ0
ZW50bHkgZHVyaW5nCiAgICAgIyB0aGUgY291cnNlIG9mIGRldmVsb3BtZW50LgogICAgIGlmIChE
RVZFTE9QRVJfTU9ERSkKLSAgICAgICAgQUREX0dUS0RPQ19HRU5FUkFUT1IoImRvY3MtYnVpbGQt
bm8taHRtbC5zdGFtcCIgIi0tc2tpcC1odG1sIikKKyAgICAgICAgQUREX0dUS0RPQ19HRU5FUkFU
T1IoImRvY3MtYnVpbGQtbm8taHRtbC5zdGFtcCIgIi0tZ3RrOy0tc2tpcC1odG1sIikKICAgICAg
ICAgYWRkX2N1c3RvbV90YXJnZXQoZ3RrZG9jLW5vLWh0bWwgQUxMIERFUEVORFMgIiR7Q01BS0Vf
QklOQVJZX0RJUn0vZG9jcy1idWlsZC1uby1odG1sLnN0YW1wIikKICAgICBlbmRpZiAoKQogZW5k
aWYgKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9QbGF0Zm9ybVdQRS5jbWFrZSBiL1NvdXJjZS9QbGF0
Zm9ybVdQRS5jbWFrZQppbmRleCAzODY0MmUwNzgyY2MzM2JmOTQ3NWU2ZWU0N2VlOTc3MTg1MzU3
NTUxLi41YTgzMjY2ZjE0Mzk1ZDkzMTE3ZmU1NDc4MTU3NTE3MTBlYTI0NWNmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvUGxhdGZvcm1XUEUuY21ha2UKKysrIGIvU291cmNlL1BsYXRmb3JtV1BFLmNtYWtl
CkBAIC0xLDcgKzEsMzkgQEAKK2luY2x1ZGUoR3RrRG9jKQogaW5jbHVkZShXZWJLaXREaXN0KQog
CitsaXN0KEFQUEVORCBEb2N1bWVudGF0aW9uRGVwZW5kZW5jaWVzCisgICAgV2ViS2l0CisgICAg
IiR7Q01BS0VfU09VUkNFX0RJUn0vU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9kb2Nz
L3dwZS1kb2NzLnNnbWwiCisgICAgIiR7Q01BS0VfU09VUkNFX0RJUn0vU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS93cGUvZG9jcy93cGUtd2ViZXh0ZW5zaW9ucy1k
b2NzLnNnbWwiCisgICAgIiR7Q01BS0VfU09VUkNFX0RJUn0vU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL3dwZS9kb2NzL3dwZS0ke1dQRV9BUElfVkVSU0lPTn0tc2VjdGlvbnMudHh0IgorICAg
ICIke0NNQUtFX1NPVVJDRV9ESVJ9L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9BUEkvd3BlL2RvY3Mvd3BlLXdlYmV4dGVuc2lvbnMtJHtXUEVfQVBJX1ZFUlNJT059LXNl
Y3Rpb25zLnR4dCIKKykKKworaWYgKEVOQUJMRV9HVEtET0MpCisgICAgaW5zdGFsbChESVJFQ1RP
UlkgJHtDTUFLRV9CSU5BUllfRElSfS9Eb2N1bWVudGF0aW9uL3dwZS0ke1dQRV9BUElfVkVSU0lP
Tn0vaHRtbC93cGUtJHtXUEVfQVBJX1ZFUlNJT059CisgICAgICAgICAgICBERVNUSU5BVElPTiAi
JHtDTUFLRV9JTlNUQUxMX0RBVEFESVJ9L2d0ay1kb2MvaHRtbCIKKyAgICApCisgICAgaW5zdGFs
bChESVJFQ1RPUlkgJHtDTUFLRV9CSU5BUllfRElSfS9Eb2N1bWVudGF0aW9uL3dwZS13ZWJleHRl
bnNpb25zLSR7V1BFX0FQSV9WRVJTSU9OfS9odG1sL3dwZS13ZWJleHRlbnNpb25zLSR7V1BFX0FQ
SV9WRVJTSU9OfQorICAgICAgICBERVNUSU5BVElPTiAiJHtDTUFLRV9JTlNUQUxMX0RBVEFESVJ9
L2d0ay1kb2MvaHRtbCIKKyAgICApCitlbmRpZiAoKQorCitBRERfR1RLRE9DX0dFTkVSQVRPUigi
ZG9jcy1idWlsZC5zdGFtcCIgIi0td3BlIikKK2lmIChFTkFCTEVfR1RLRE9DKQorICAgIGFkZF9j
dXN0b21fdGFyZ2V0KGd0a2RvYyBBTEwgREVQRU5EUyAiJHtDTUFLRV9CSU5BUllfRElSfS9kb2Nz
LWJ1aWxkLnN0YW1wIikKK2Vsc2VpZiAoTk9UIEVOQUJMRURfQ09NUElMRVJfU0FOSVRJWkVSUyBB
TkQgTk9UIENNQUtFX0NST1NTQ09NUElMSU5HIEFORCBOT1QgQVBQTEUpCisgICAgYWRkX2N1c3Rv
bV90YXJnZXQoZ3RrZG9jIERFUEVORFMgIiR7Q01BS0VfQklOQVJZX0RJUn0vZG9jcy1idWlsZC5z
dGFtcCIpCisKKyAgICAjIEFkZCBhIGRlZmF1bHQgYnVpbGQgc3RlcCB3aGljaCBjaGVjayB0aGF0
IGRvY3VtZW50YXRpb24gZG9lcyBub3QgaGF2ZSBhbnkgd2FybmluZ3MKKyAgICAjIG9yIGVycm9y
cy4gVGhpcyBpcyB1c2VmdWwgdG8gcHJldmVudCBicmVha2luZyBkb2N1bWVudGF0aW9uIGluYWR2
ZXJ0ZW50bHkgZHVyaW5nCisgICAgIyB0aGUgY291cnNlIG9mIGRldmVsb3BtZW50LgorICAgIGlm
IChERVZFTE9QRVJfTU9ERSkKKyAgICAgICAgQUREX0dUS0RPQ19HRU5FUkFUT1IoImRvY3MtYnVp
bGQtbm8taHRtbC5zdGFtcCIgIi0td3BlOy0tc2tpcC1odG1sIikKKyAgICAgICAgYWRkX2N1c3Rv
bV90YXJnZXQoZ3RrZG9jLW5vLWh0bWwgQUxMIERFUEVORFMgIiR7Q01BS0VfQklOQVJZX0RJUn0v
ZG9jcy1idWlsZC1uby1odG1sLnN0YW1wIikKKyAgICBlbmRpZiAoKQorZW5kaWYgKCkKKwogaWYg
KERFVkVMT1BFUl9NT0RFKQotICAgICMgRklYTUU6IFRoaXMgc2hvdWxkIGRlcGVuZCBvbiBhIGd0
a2RvYyB0YXJnZXQKLSAgICBhZGRfY3VzdG9tX3RhcmdldChEb2N1bWVudGF0aW9uKQorICAgIGFk
ZF9jdXN0b21fdGFyZ2V0KERvY3VtZW50YXRpb24gREVQRU5EUyBndGtkb2MpCiAgICAgV0VCS0lU
X0RFQ0xBUkVfRElTVF9UQVJHRVRTKFdQRSB3cGV3ZWJraXQgJHtUT09MU19ESVJ9L3dwZS9tYW5p
ZmVzdC50eHQuaW4pCiBlbmRpZiAoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9y
bVdQRS5jbWFrZSBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm1XUEUuY21ha2UKaW5kZXggZTZlZTg0
ZWU5YWU2MGRkYmM3ZTYyOTlkYzUxNWQ2MGU1MGUxY2JjZi4uYmJiMDRiMDIxNDVlMGU3NDE4MmYx
MTFkNjIzNTBlODg1MjIyM2U1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybVdQ
RS5jbWFrZQorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtV1BFLmNtYWtlCkBAIC0xMCw4ICsx
MCw4IEBAIGZpbGUoTUFLRV9ESVJFQ1RPUlkgJHtGT1JXQVJESU5HX0hFQURFUlNfV1BFX0VYVEVO
U0lPTl9ESVJ9KQogZmlsZShNQUtFX0RJUkVDVE9SWSAke0ZPUldBUkRJTkdfSEVBREVSU19XUEVf
RE9NX0RJUn0pCiAKIGNvbmZpZ3VyZV9maWxlKFVJUHJvY2Vzcy9BUEkvd3BlL1dlYktpdFZlcnNp
b24uaC5pbiAke0RFUklWRURfU09VUkNFU19XUEVfQVBJX0RJUn0vV2ViS2l0VmVyc2lvbi5oKQot
Y29uZmlndXJlX2ZpbGUod3BlL3dwZS13ZWJraXQucGMuaW4gJHtDTUFLRV9CSU5BUllfRElSfS93
cGUtd2Via2l0LSR7V1BFX0FQSV9WRVJTSU9OfS5wYyBAT05MWSkKLWNvbmZpZ3VyZV9maWxlKHdw
ZS93cGUtd2ViLWV4dGVuc2lvbi5wYy5pbiAke0NNQUtFX0JJTkFSWV9ESVJ9L3dwZS13ZWItZXh0
ZW5zaW9uLSR7V1BFX0FQSV9WRVJTSU9OfS5wYyBAT05MWSkKK2NvbmZpZ3VyZV9maWxlKHdwZS93
cGUtd2Via2l0LnBjLmluICR7V1BFX1BLR0NPTkZJR19GSUxFfSBAT05MWSkKK2NvbmZpZ3VyZV9m
aWxlKHdwZS93cGUtd2ViLWV4dGVuc2lvbi5wYy5pbiAke1dQRVdlYkV4dGVuc2lvbl9QS0dDT05G
SUdfRklMRX0gQE9OTFkpCiAKIGFkZF9kZWZpbml0aW9ucygtRFdFQktJVDJfQ09NUElMQVRJT04p
CiAKQEAgLTMzNCwzICszMzQsNDIgQEAgaW5zdGFsbChGSUxFUyAke1dQRV9BUElfSU5TVEFMTEVE
X0hFQURFUlN9CiAgICAgICAgIERFU1RJTkFUSU9OICIke0NNQUtFX0lOU1RBTExfSU5DTFVERURJ
Un0vd3BlLXdlYmtpdC0ke1dQRV9BUElfVkVSU0lPTn0vd3BlIgogICAgICAgICBDT01QT05FTlQg
IkRldmVsb3BtZW50IgogKQorCitmaWxlKFdSSVRFICR7Q01BS0VfQklOQVJZX0RJUn0vZ3RrZG9j
LXdwZS5jZmcKKyAgICAiW3dwZS0ke1dQRV9BUElfVkVSU0lPTn1dXG4iCisgICAgInBrZ2NvbmZp
Z19maWxlPSR7V1BFX1BLR0NPTkZJR19GSUxFfVxuIgorICAgICJkZWNvcmF0b3I9V0VCS0lUX0FQ
SXxXRUJLSVRfREVQUkVDQVRFRHxXRUJLSVRfREVQUkVDQVRFRF9GT1JcXCguK1xcKVxuIgorICAg
ICJkZXByZWNhdGlvbl9ndWFyZD1XRUJLSVRfRElTQUJMRV9ERVBSRUNBVEVEXG4iCisgICAgIm5h
bWVzcGFjZT13ZWJraXRcbiIKKyAgICAiY2ZsYWdzPS1JJHtDTUFLRV9TT1VSQ0VfRElSfS9Tb3Vy
Y2VcbiIKKyAgICAiICAgICAgIC1JJHtXRUJLSVRfRElSfS9TaGFyZWQvQVBJL2dsaWJcbiIKKyAg
ICAiICAgICAgIC1JJHtXRUJLSVRfRElSfS9VSVByb2Nlc3MvQVBJL2dsaWJcbiIKKyAgICAiICAg
ICAgIC1JJHtXRUJLSVRfRElSfS9VSVByb2Nlc3MvQVBJL3dwZVxuIgorICAgICIgICAgICAgLUkk
e0ZPUldBUkRJTkdfSEVBREVSU19XUEVfRElSfVxuIgorICAgICJkb2NfZGlyPSR7V0VCS0lUX0RJ
Un0vVUlQcm9jZXNzL0FQSS93cGUvZG9jc1xuIgorICAgICJzb3VyY2VfZGlycz0ke1dFQktJVF9E
SVJ9L1NoYXJlZC9BUEkvZ2xpYlxuIgorICAgICIgICAgICAgICAgICAke1dFQktJVF9ESVJ9L1VJ
UHJvY2Vzcy9BUEkvZ2xpYlxuIgorICAgICIgICAgICAgICAgICAke1dFQktJVF9ESVJ9L1VJUHJv
Y2Vzcy9BUEkvd3BlXG4iCisgICAgIiAgICAgICAgICAgICR7REVSSVZFRF9TT1VSQ0VTX1dQRV9B
UElfRElSfVxuIgorICAgICJoZWFkZXJzPSR7V1BFX0VOVU1fR0VORVJBVElPTl9IRUFERVJTfVxu
IgorICAgICJtYWluX3NnbWxfZmlsZT13cGUtZG9jcy5zZ21sXG4iCispCisKK2ZpbGUoV1JJVEUg
JHtDTUFLRV9CSU5BUllfRElSfS9ndGtkb2Mtd2ViZXh0ZW5zaW9ucy5jZmcKKyAgICAiW3dwZS13
ZWJleHRlbnNpb25zLSR7V1BFX0FQSV9WRVJTSU9OfV1cbiIKKyAgICAicGtnY29uZmlnX2ZpbGU9
JHtXUEVXZWJFeHRlbnNpb25fUEtHQ09ORklHX0ZJTEV9XG4iCisgICAgImRlY29yYXRvcj1XRUJL
SVRfQVBJfFdFQktJVF9ERVBSRUNBVEVEfFdFQktJVF9ERVBSRUNBVEVEX0ZPUlxcKC4rXFwpXG4i
CisgICAgImRlcHJlY2F0aW9uX2d1YXJkPVdFQktJVF9ESVNBQkxFX0RFUFJFQ0FURURcbiIKKyAg
ICAibmFtZXNwYWNlPXdlYmtpdF93ZWJleHRlbnNpb25zXG4iCisgICAgImNmbGFncz0tSSR7Q01B
S0VfU09VUkNFX0RJUn0vU291cmNlXG4iCisgICAgIiAgICAgICAtSSR7V0VCS0lUX0RJUn0vV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvd3BlXG4iCisgICAgIiAgICAgICAtSSR7V0VCS0lU
X0RJUn0vV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvd3BlL0RPTVxuIgorICAgICIgICAg
ICAgLUkke0ZPUldBUkRJTkdfSEVBREVSU19XUEVfRElSfVxuIgorICAgICJkb2NfZGlyPSR7V0VC
S0lUX0RJUn0vV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvd3BlL2RvY3NcbiIKKyAgICAi
c291cmNlX2RpcnM9JHtXRUJLSVRfRElSfS9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9n
bGliXG4iCisgICAgIiAgICAgICAgICAgICR7V0VCS0lUX0RJUn0vV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9BUEkvZ2xpYi9ET01cbiIKKyAgICAiICAgICAgICAgICAgJHtXRUJLSVRfRElSfS9X
ZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS93cGVcbiIKKyAgICAiICAgICAgICAgICAgJHtX
RUJLSVRfRElSfS9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS93cGUvRE9NXG4iCisgICAg
ImhlYWRlcnM9JHtXUEVfV0VCX0VYVEVOU0lPTl9BUElfSU5TVEFMTEVEX0hFQURFUlN9XG4iCisg
ICAgIm1haW5fc2dtbF9maWxlPXdwZS13ZWJleHRlbnNpb25zLWRvY3Muc2dtbFxuIgorKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRXZWJDb250ZXh0
LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL1dlYktpdFdlYkNvbnRleHQuaApp
bmRleCAwZWI4ZjM2N2RlNTc0NzkzYmI5YjU4YzVlNDAwNDQwYzEwYjc5ODQ1Li5jMWQ0OTNjOThl
OTQzNjdmMDQ3M2I0NDliODM5Y2FlOTMzMDhjMGJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvd3BlL1dlYktpdFdlYkNvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvd3BlL1dlYktpdFdlYkNvbnRleHQuaApAQCAtMjQ3LDYgKzI0NywxMyBA
QCB3ZWJraXRfd2ViX2NvbnRleHRfcmVnaXN0ZXJfdXJpX3NjaGVtZSAgICAgICAgICAgICAgKFdl
YktpdFdlYkNvbnRleHQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZ3BvaW50ZXIgICAgICAgICAgICAgICAgICAgICAgIHVzZXJfZGF0YSwKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0Rlc3Ry
b3lOb3RpZnkgICAgICAgICAgICAgICAgIHVzZXJfZGF0YV9kZXN0cm95X2Z1bmMpOwogCitXRUJL
SVRfQVBJIHZvaWQKK3dlYmtpdF93ZWJfY29udGV4dF9zZXRfc2FuZGJveF9lbmFibGVkICAgICAg
ICAgICAgICAoV2ViS2l0V2ViQ29udGV4dCAgICAgICAgICAgICAgICpjb250ZXh0LAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnYm9vbGVhbiAg
ICAgICAgICAgICAgICAgICAgICAgZW5hYmxlZCk7CisKK1dFQktJVF9BUEkgZ2Jvb2xlYW4KK3dl
YmtpdF93ZWJfY29udGV4dF9nZXRfc2FuZGJveF9lbmFibGVkICAgICAgICAgICAgICAoV2ViS2l0
V2ViQ29udGV4dCAgICAgICAgICAgICAgKmNvbnRleHQpOworCiBXRUJLSVRfQVBJIGdib29sZWFu
CiB3ZWJraXRfd2ViX2NvbnRleHRfZ2V0X3NwZWxsX2NoZWNraW5nX2VuYWJsZWQgICAgICAgKFdl
YktpdFdlYkNvbnRleHQgICAgICAgICAgICAgICpjb250ZXh0KTsKIApAQCAtMjk2LDEzICszMDMs
NiBAQCB3ZWJraXRfd2ViX2NvbnRleHRfc2V0X3Byb2Nlc3NfbW9kZWwgICAgICAgICAgICAgICAg
KFdlYktpdFdlYkNvbnRleHQKIFdFQktJVF9BUEkgV2ViS2l0UHJvY2Vzc01vZGVsCiB3ZWJraXRf
d2ViX2NvbnRleHRfZ2V0X3Byb2Nlc3NfbW9kZWwgICAgICAgICAgICAgICAgKFdlYktpdFdlYkNv
bnRleHQgICAgICAgICAgICAgICpjb250ZXh0KTsKIAotV0VCS0lUX0FQSSB2b2lkCi13ZWJraXRf
d2ViX2NvbnRleHRfc2V0X3NhbmRib3hfZW5hYmxlZCAgICAgICAgICAgICAgKFdlYktpdFdlYkNv
bnRleHQgICAgICAgICAgICAgICpjb250ZXh0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBnYm9vbGVhbiAgICAgICAgICAgICAgICAgICAgICAg
ZW5hYmxlZCk7Ci0KLVdFQktJVF9BUEkgZ2Jvb2xlYW4KLXdlYmtpdF93ZWJfY29udGV4dF9nZXRf
c2FuZGJveF9lbmFibGVkICAgICAgICAgICAgICAoV2ViS2l0V2ViQ29udGV4dCAgICAgICAgICAg
ICAgKmNvbnRleHQpOwotCiBXRUJLSVRfQVBJIHZvaWQKIHdlYmtpdF93ZWJfY29udGV4dF9pbml0
aWFsaXplX25vdGlmaWNhdGlvbl9wZXJtaXNzaW9ucwogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChXZWJLaXRXZWJDb250ZXh0ICAgICAgICAgICAg
ICAqY29udGV4dCwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUv
ZG9jcy93cGUtMC4xLXNlY3Rpb25zLnR4dCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93
cGUvZG9jcy93cGUtMC4xLXNlY3Rpb25zLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNGQxMzg1NjMyMGY0ZWU2
Y2QzYjQwMWQ1NDlmMGRjYTBiZmU0MjhlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL3dwZS9kb2NzL3dwZS0wLjEtc2VjdGlvbnMudHh0CkBAIC0wLDAgKzEs
MTMwNyBAQAorPFNFQ1RJT04+Cis8RklMRT5XZWJLaXRXZWJDb250ZXh0PC9GSUxFPgorPFRJVExF
PldlYktpdFdlYkNvbnRleHQ8L1RJVExFPgorV2ViS2l0V2ViQ29udGV4dAorV2ViS2l0Q2FjaGVN
b2RlbAorV2ViS2l0UHJvY2Vzc01vZGVsCitXZWJLaXRUTFNFcnJvcnNQb2xpY3kKK1dlYktpdE5l
dHdvcmtQcm94eU1vZGUKK3dlYmtpdF93ZWJfY29udGV4dF9nZXRfZGVmYXVsdAord2Via2l0X3dl
Yl9jb250ZXh0X25ldword2Via2l0X3dlYl9jb250ZXh0X25ld19lcGhlbWVyYWwKK3dlYmtpdF93
ZWJfY29udGV4dF9uZXdfd2l0aF93ZWJzaXRlX2RhdGFfbWFuYWdlcgord2Via2l0X3dlYl9jb250
ZXh0X2lzX2VwaGVtZXJhbAord2Via2l0X3dlYl9jb250ZXh0X2lzX2F1dG9tYXRpb25fYWxsb3dl
ZAord2Via2l0X3dlYl9jb250ZXh0X3NldF9hdXRvbWF0aW9uX2FsbG93ZWQKK3dlYmtpdF93ZWJf
Y29udGV4dF9nZXRfd2Vic2l0ZV9kYXRhX21hbmFnZXIKK3dlYmtpdF93ZWJfY29udGV4dF9nZXRf
Y2FjaGVfbW9kZWwKK3dlYmtpdF93ZWJfY29udGV4dF9zZXRfY2FjaGVfbW9kZWwKK3dlYmtpdF93
ZWJfY29udGV4dF9nZXRfd2ViX3Byb2Nlc3NfY291bnRfbGltaXQKK3dlYmtpdF93ZWJfY29udGV4
dF9zZXRfd2ViX3Byb2Nlc3NfY291bnRfbGltaXQKK3dlYmtpdF93ZWJfY29udGV4dF9jbGVhcl9j
YWNoZQord2Via2l0X3dlYl9jb250ZXh0X3NldF9uZXR3b3JrX3Byb3h5X3NldHRpbmdzCit3ZWJr
aXRfd2ViX2NvbnRleHRfZG93bmxvYWRfdXJpCit3ZWJraXRfd2ViX2NvbnRleHRfZ2V0X2Nvb2tp
ZV9tYW5hZ2VyCit3ZWJraXRfd2ViX2NvbnRleHRfZ2V0X2Zhdmljb25fZGF0YWJhc2UKK3dlYmtp
dF93ZWJfY29udGV4dF9zZXRfZmF2aWNvbl9kYXRhYmFzZV9kaXJlY3RvcnkKK3dlYmtpdF93ZWJf
Y29udGV4dF9nZXRfZmF2aWNvbl9kYXRhYmFzZV9kaXJlY3RvcnkKK3dlYmtpdF93ZWJfY29udGV4
dF9nZXRfc2VjdXJpdHlfbWFuYWdlcgord2Via2l0X3dlYl9jb250ZXh0X3NldF9hZGRpdGlvbmFs
X3BsdWdpbnNfZGlyZWN0b3J5Cit3ZWJraXRfd2ViX2NvbnRleHRfZ2V0X3BsdWdpbnMKK3dlYmtp
dF93ZWJfY29udGV4dF9nZXRfcGx1Z2luc19maW5pc2gKK3dlYmtpdF93ZWJfY29udGV4dF9nZXRf
c2FuZGJveF9lbmFibGVkCit3ZWJraXRfd2ViX2NvbnRleHRfc2V0X3NhbmRib3hfZW5hYmxlZAor
d2Via2l0X3dlYl9jb250ZXh0X2dldF9zcGVsbF9jaGVja2luZ19lbmFibGVkCit3ZWJraXRfd2Vi
X2NvbnRleHRfc2V0X3NwZWxsX2NoZWNraW5nX2VuYWJsZWQKK3dlYmtpdF93ZWJfY29udGV4dF9n
ZXRfc3BlbGxfY2hlY2tpbmdfbGFuZ3VhZ2VzCit3ZWJraXRfd2ViX2NvbnRleHRfc2V0X3NwZWxs
X2NoZWNraW5nX2xhbmd1YWdlcword2Via2l0X3dlYl9jb250ZXh0X3NldF9wcmVmZXJyZWRfbGFu
Z3VhZ2VzCit3ZWJraXRfd2ViX2NvbnRleHRfc2V0X3Rsc19lcnJvcnNfcG9saWN5Cit3ZWJraXRf
d2ViX2NvbnRleHRfZ2V0X3Rsc19lcnJvcnNfcG9saWN5Cit3ZWJraXRfd2ViX2NvbnRleHRfc2V0
X3dlYl9leHRlbnNpb25zX2RpcmVjdG9yeQord2Via2l0X3dlYl9jb250ZXh0X3NldF93ZWJfZXh0
ZW5zaW9uc19pbml0aWFsaXphdGlvbl91c2VyX2RhdGEKK3dlYmtpdF93ZWJfY29udGV4dF9wcmVm
ZXRjaF9kbnMKK3dlYmtpdF93ZWJfY29udGV4dF9hbGxvd190bHNfY2VydGlmaWNhdGVfZm9yX2hv
c3QKK3dlYmtpdF93ZWJfY29udGV4dF9nZXRfcHJvY2Vzc19tb2RlbAord2Via2l0X3dlYl9jb250
ZXh0X3NldF9wcm9jZXNzX21vZGVsCit3ZWJraXRfd2ViX2NvbnRleHRfaW5pdGlhbGl6ZV9ub3Rp
ZmljYXRpb25fcGVybWlzc2lvbnMKKworPFNVQlNFQ1RJT04gVVJJIFNjaGVtZT4KK1dlYktpdFVS
SVNjaGVtZVJlcXVlc3RDYWxsYmFjaword2Via2l0X3dlYl9jb250ZXh0X3JlZ2lzdGVyX3VyaV9z
Y2hlbWUKKworPFNVQlNFQ1RJT04gU3RhbmRhcmQ+CitXZWJLaXRXZWJDb250ZXh0Q2xhc3MKK1dF
QktJVF9XRUJfQ09OVEVYVAorV0VCS0lUX0lTX1dFQl9DT05URVhUCitXRUJLSVRfVFlQRV9XRUJf
Q09OVEVYVAorV0VCS0lUX1dFQl9DT05URVhUX0NMQVNTCitXRUJLSVRfSVNfV0VCX0NPTlRFWFRf
Q0xBU1MKK1dFQktJVF9XRUJfQ09OVEVYVF9HRVRfQ0xBU1MKKworPFNVQlNFQ1RJT04gUHJpdmF0
ZT4KK1dlYktpdFdlYkNvbnRleHRQcml2YXRlCit3ZWJraXRfd2ViX2NvbnRleHRfZ2V0X3R5cGUK
KzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXRVc2VyQ29udGVudDwvRklMRT4K
KzxUSVRMRT5XZWJLaXRVc2VyQ29udGVudDwvVElUTEU+CitXZWJLaXRVc2VyU3R5bGVTaGVldAor
V2ViS2l0VXNlclNjcmlwdAorV2ViS2l0VXNlckNvbnRlbnRJbmplY3RlZEZyYW1lcworV2ViS2l0
VXNlclN0eWxlTGV2ZWwKK1dlYktpdFVzZXJTY3JpcHRJbmplY3Rpb25UaW1lCit3ZWJraXRfdXNl
cl9zdHlsZV9zaGVldF9yZWYKK3dlYmtpdF91c2VyX3N0eWxlX3NoZWV0X3VucmVmCit3ZWJraXRf
dXNlcl9zdHlsZV9zaGVldF9uZXcKK3dlYmtpdF91c2VyX3N0eWxlX3NoZWV0X25ld19mb3Jfd29y
bGQKK3dlYmtpdF91c2VyX3NjcmlwdF9yZWYKK3dlYmtpdF91c2VyX3NjcmlwdF91bnJlZgord2Vi
a2l0X3VzZXJfc2NyaXB0X25ldword2Via2l0X3VzZXJfc2NyaXB0X25ld19mb3Jfd29ybGQKKwor
PFNVQlNFQ1RJT04gU3RhbmRhcmQ+CitXRUJLSVRfVFlQRV9VU0VSX1NUWUxFX1NIRUVUCitXRUJL
SVRfVFlQRV9VU0VSX1NDUklQVAorCis8U1VCU0VDVElPTiBQcml2YXRlPgord2Via2l0X3VzZXJf
c3R5bGVfc2hlZXRfZ2V0X3R5cGUKK3dlYmtpdF91c2VyX3NjcmlwdF9nZXRfdHlwZQorPC9TRUNU
SU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktpdFVzZXJDb250ZW50TWFuYWdlcjwvRklMRT4K
KzxUSVRMRT5XZWJLaXRVc2VyQ29udGVudE1hbmFnZXI8L1RJVExFPgorV2ViS2l0VXNlckNvbnRl
bnRNYW5hZ2VyCit3ZWJraXRfdXNlcl9jb250ZW50X21hbmFnZXJfbmV3Cit3ZWJraXRfdXNlcl9j
b250ZW50X21hbmFnZXJfYWRkX3N0eWxlX3NoZWV0Cit3ZWJraXRfdXNlcl9jb250ZW50X21hbmFn
ZXJfcmVtb3ZlX2FsbF9zdHlsZV9zaGVldHMKK3dlYmtpdF91c2VyX2NvbnRlbnRfbWFuYWdlcl9h
ZGRfc2NyaXB0Cit3ZWJraXRfdXNlcl9jb250ZW50X21hbmFnZXJfcmVtb3ZlX2FsbF9zY3JpcHRz
Cit3ZWJraXRfdXNlcl9jb250ZW50X21hbmFnZXJfcmVnaXN0ZXJfc2NyaXB0X21lc3NhZ2VfaGFu
ZGxlcgord2Via2l0X3VzZXJfY29udGVudF9tYW5hZ2VyX3VucmVnaXN0ZXJfc2NyaXB0X21lc3Nh
Z2VfaGFuZGxlcgord2Via2l0X3VzZXJfY29udGVudF9tYW5hZ2VyX3JlZ2lzdGVyX3NjcmlwdF9t
ZXNzYWdlX2hhbmRsZXJfaW5fd29ybGQKK3dlYmtpdF91c2VyX2NvbnRlbnRfbWFuYWdlcl91bnJl
Z2lzdGVyX3NjcmlwdF9tZXNzYWdlX2hhbmRsZXJfaW5fd29ybGQKKworPFNVQlNFQ1RJT04gU3Rh
bmRhcmQ+CitXRUJLSVRfSVNfVVNFUl9DT05URU5UX01BTkFHRVIKK1dFQktJVF9JU19VU0VSX0NP
TlRFTlRfTUFOQUdFUl9DTEFTUworV0VCS0lUX1RZUEVfVVNFUl9DT05URU5UX01BTkFHRVIKK1dF
QktJVF9VU0VSX0NPTlRFTlRfTUFOQUdFUgorV0VCS0lUX1VTRVJfQ09OVEVOVF9NQU5BR0VSX0NM
QVNTCitXRUJLSVRfVVNFUl9DT05URU5UX01BTkFHRVJfR0VUX0NMQVNTCitXZWJLaXRVc2VyQ29u
dGVudE1hbmFnZXJDbGFzcworCis8U1VCU0VDVElPTiBQcml2YXRlPgorV2ViS2l0VXNlckNvbnRl
bnRNYW5hZ2VyUHJpdmF0ZQord2Via2l0X3VzZXJfY29udGVudF9tYW5hZ2VyX2dldF90eXBlCis8
L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+V2ViS2l0V2ViVmlldzwvRklMRT4KKzxUSVRM
RT5XZWJLaXRXZWJWaWV3PC9USVRMRT4KK1dlYktpdFdlYlZpZXcKK1dlYktpdExvYWRFdmVudAor
V2ViS2l0UG9saWN5RGVjaXNpb25UeXBlCitXZWJLaXRTYXZlTW9kZQorV2ViS2l0SW5zZWN1cmVD
b250ZW50RXZlbnQKK1dlYktpdFdlYlByb2Nlc3NUZXJtaW5hdGlvblJlYXNvbgorCis8U1VCU0VD
VElPTiBFZGl0aW5nIENvbW1hbmRzPgorV0VCS0lUX0VESVRJTkdfQ09NTUFORF9DVVQKK1dFQktJ
VF9FRElUSU5HX0NPTU1BTkRfQ09QWQorV0VCS0lUX0VESVRJTkdfQ09NTUFORF9QQVNURQorV0VC
S0lUX0VESVRJTkdfQ09NTUFORF9TRUxFQ1RfQUxMCitXRUJLSVRfRURJVElOR19DT01NQU5EX1VO
RE8KK1dFQktJVF9FRElUSU5HX0NPTU1BTkRfUkVETworV0VCS0lUX0VESVRJTkdfQ09NTUFORF9J
TlNFUlRfSU1BR0UKK1dFQktJVF9FRElUSU5HX0NPTU1BTkRfQ1JFQVRFX0xJTksKKworPFNVQlNF
Q1RJT04+Cit3ZWJraXRfd2ViX3ZpZXdfbmV3Cit3ZWJraXRfd2ViX3ZpZXdfbmV3X3dpdGhfY29u
dGV4dAord2Via2l0X3dlYl92aWV3X25ld193aXRoX3JlbGF0ZWRfdmlldword2Via2l0X3dlYl92
aWV3X25ld193aXRoX3NldHRpbmdzCit3ZWJraXRfd2ViX3ZpZXdfbmV3X3dpdGhfdXNlcl9jb250
ZW50X21hbmFnZXIKK3dlYmtpdF93ZWJfdmlld19nZXRfYmFja2VuZAord2Via2l0X3dlYl92aWV3
X2lzX2VwaGVtZXJhbAord2Via2l0X3dlYl92aWV3X2lzX2NvbnRyb2xsZWRfYnlfYXV0b21hdGlv
bgord2Via2l0X3dlYl92aWV3X2dldF9jb250ZXh0Cit3ZWJraXRfd2ViX3ZpZXdfZ2V0X3VzZXJf
Y29udGVudF9tYW5hZ2VyCit3ZWJraXRfd2ViX3ZpZXdfZ2V0X3dlYnNpdGVfZGF0YV9tYW5hZ2Vy
Cit3ZWJraXRfd2ViX3ZpZXdfdHJ5X2Nsb3NlCit3ZWJraXRfd2ViX3ZpZXdfbG9hZF91cmkKK3dl
YmtpdF93ZWJfdmlld19sb2FkX2h0bWwKK3dlYmtpdF93ZWJfdmlld19sb2FkX2FsdGVybmF0ZV9o
dG1sCit3ZWJraXRfd2ViX3ZpZXdfbG9hZF9wbGFpbl90ZXh0Cit3ZWJraXRfd2ViX3ZpZXdfbG9h
ZF9ieXRlcword2Via2l0X3dlYl92aWV3X2xvYWRfcmVxdWVzdAord2Via2l0X3dlYl92aWV3X2Nh
bl9nb19iYWNrCit3ZWJraXRfd2ViX3ZpZXdfZ29fYmFjaword2Via2l0X3dlYl92aWV3X2Nhbl9n
b19mb3J3YXJkCit3ZWJraXRfd2ViX3ZpZXdfZ29fZm9yd2FyZAord2Via2l0X3dlYl92aWV3X2dl
dF90aXRsZQord2Via2l0X3dlYl92aWV3X2dldF9wYWdlX2lkCit3ZWJraXRfd2ViX3ZpZXdfcmVs
b2FkCit3ZWJraXRfd2ViX3ZpZXdfcmVsb2FkX2J5cGFzc19jYWNoZQord2Via2l0X3dlYl92aWV3
X3N0b3BfbG9hZGluZword2Via2l0X3dlYl92aWV3X2lzX2xvYWRpbmcKK3dlYmtpdF93ZWJfdmll
d19pc19wbGF5aW5nX2F1ZGlvCit3ZWJraXRfd2ViX3ZpZXdfZ2V0X2VzdGltYXRlZF9sb2FkX3By
b2dyZXNzCit3ZWJraXRfd2ViX3ZpZXdfZ2V0X2N1c3RvbV9jaGFyc2V0Cit3ZWJraXRfd2ViX3Zp
ZXdfc2V0X2N1c3RvbV9jaGFyc2V0Cit3ZWJraXRfd2ViX3ZpZXdfZ2V0X2JhY2tfZm9yd2FyZF9s
aXN0Cit3ZWJraXRfd2ViX3ZpZXdfZ29fdG9fYmFja19mb3J3YXJkX2xpc3RfaXRlbQord2Via2l0
X3dlYl92aWV3X2dldF91cmkKK3dlYmtpdF93ZWJfdmlld19zZXRfc2V0dGluZ3MKK3dlYmtpdF93
ZWJfdmlld19nZXRfc2V0dGluZ3MKK3dlYmtpdF93ZWJfdmlld19nZXRfd2luZG93X3Byb3BlcnRp
ZXMKK3dlYmtpdF93ZWJfdmlld19zZXRfem9vbV9sZXZlbAord2Via2l0X3dlYl92aWV3X2dldF96
b29tX2xldmVsCit3ZWJraXRfd2ViX3ZpZXdfY2FuX2V4ZWN1dGVfZWRpdGluZ19jb21tYW5kCit3
ZWJraXRfd2ViX3ZpZXdfY2FuX2V4ZWN1dGVfZWRpdGluZ19jb21tYW5kX2ZpbmlzaAord2Via2l0
X3dlYl92aWV3X2V4ZWN1dGVfZWRpdGluZ19jb21tYW5kCit3ZWJraXRfd2ViX3ZpZXdfZXhlY3V0
ZV9lZGl0aW5nX2NvbW1hbmRfd2l0aF9hcmd1bWVudAord2Via2l0X3dlYl92aWV3X2dldF9maW5k
X2NvbnRyb2xsZXIKK3dlYmtpdF93ZWJfdmlld19ydW5famF2YXNjcmlwdAord2Via2l0X3dlYl92
aWV3X3J1bl9qYXZhc2NyaXB0X2ZpbmlzaAord2Via2l0X3dlYl92aWV3X3J1bl9qYXZhc2NyaXB0
X2luX3dvcmxkCit3ZWJraXRfd2ViX3ZpZXdfcnVuX2phdmFzY3JpcHRfaW5fd29ybGRfZmluaXNo
Cit3ZWJraXRfd2ViX3ZpZXdfcnVuX2phdmFzY3JpcHRfZnJvbV9ncmVzb3VyY2UKK3dlYmtpdF93
ZWJfdmlld19ydW5famF2YXNjcmlwdF9mcm9tX2dyZXNvdXJjZV9maW5pc2gKK3dlYmtpdF93ZWJf
dmlld19jYW5fc2hvd19taW1lX3R5cGUKK3dlYmtpdF93ZWJfdmlld19zYXZlCit3ZWJraXRfd2Vi
X3ZpZXdfc2F2ZV9maW5pc2gKK3dlYmtpdF93ZWJfdmlld19zYXZlX3RvX2ZpbGUKK3dlYmtpdF93
ZWJfdmlld19zYXZlX3RvX2ZpbGVfZmluaXNoCit3ZWJraXRfd2ViX3ZpZXdfZG93bmxvYWRfdXJp
Cit3ZWJraXRfd2ViX3ZpZXdfZ2V0X3Rsc19pbmZvCit3ZWJraXRfd2ViX3ZpZXdfc2V0X2VkaXRh
YmxlCit3ZWJraXRfd2ViX3ZpZXdfaXNfZWRpdGFibGUKK3dlYmtpdF93ZWJfdmlld19nZXRfZWRp
dG9yX3N0YXRlCit3ZWJraXRfd2ViX3ZpZXdfZ2V0X3Nlc3Npb25fc3RhdGUKK3dlYmtpdF93ZWJf
dmlld19yZXN0b3JlX3Nlc3Npb25fc3RhdGUKK3dlYmtpdF93ZWJfdmlld19nZXRfbWFpbl9yZXNv
dXJjZQorCis8U1VCU0VDVElPTiBXZWJLaXRKYXZhc2NyaXB0UmVzdWx0PgorV2ViS2l0SmF2YXNj
cmlwdFJlc3VsdAord2Via2l0X2phdmFzY3JpcHRfcmVzdWx0X3JlZgord2Via2l0X2phdmFzY3Jp
cHRfcmVzdWx0X3VucmVmCit3ZWJraXRfamF2YXNjcmlwdF9yZXN1bHRfZ2V0X2pzX3ZhbHVlCisK
KzxTVUJTRUNUSU9OIFdlYktpdFNjcmlwdERpYWxvZz4KK1dlYktpdFNjcmlwdERpYWxvZworV2Vi
S2l0U2NyaXB0RGlhbG9nVHlwZQord2Via2l0X3NjcmlwdF9kaWFsb2dfcmVmCit3ZWJraXRfc2Ny
aXB0X2RpYWxvZ191bnJlZgord2Via2l0X3NjcmlwdF9kaWFsb2dfZ2V0X2RpYWxvZ190eXBlCit3
ZWJraXRfc2NyaXB0X2RpYWxvZ19nZXRfbWVzc2FnZQord2Via2l0X3NjcmlwdF9kaWFsb2dfY29u
ZmlybV9zZXRfY29uZmlybWVkCit3ZWJraXRfc2NyaXB0X2RpYWxvZ19wcm9tcHRfZ2V0X2RlZmF1
bHRfdGV4dAord2Via2l0X3NjcmlwdF9kaWFsb2dfcHJvbXB0X3NldF90ZXh0Cit3ZWJraXRfc2Ny
aXB0X2RpYWxvZ19jbG9zZQorCis8U1VCU0VDVElPTiBXZWJLaXRXZWJWaWV3U2Vzc2lvblN0YXRl
PgorV2ViS2l0V2ViVmlld1Nlc3Npb25TdGF0ZQord2Via2l0X3dlYl92aWV3X3Nlc3Npb25fc3Rh
dGVfbmV3Cit3ZWJraXRfd2ViX3ZpZXdfc2Vzc2lvbl9zdGF0ZV9yZWYKK3dlYmtpdF93ZWJfdmll
d19zZXNzaW9uX3N0YXRlX3VucmVmCit3ZWJraXRfd2ViX3ZpZXdfc2Vzc2lvbl9zdGF0ZV9zZXJp
YWxpemUKKworPFNVQlNFQ1RJT04gU3RhbmRhcmQ+CitXZWJLaXRXZWJWaWV3Q2xhc3MKK1dFQktJ
VF9XRUJfVklFVworV0VCS0lUX0lTX1dFQl9WSUVXCitXRUJLSVRfVFlQRV9XRUJfVklFVworV0VC
S0lUX1dFQl9WSUVXX0NMQVNTCitXRUJLSVRfSVNfV0VCX1ZJRVdfQ0xBU1MKK1dFQktJVF9XRUJf
VklFV19HRVRfQ0xBU1MKK1dFQktJVF9UWVBFX0pBVkFTQ1JJUFRfUkVTVUxUCitXRUJLSVRfVFlQ
RV9TQ1JJUFRfRElBTE9HCitXRUJLSVRfVFlQRV9XRUJfVklFV19TRVNTSU9OX1NUQVRFCisKKzxT
VUJTRUNUSU9OIFByaXZhdGU+Cit3ZWJraXRfd2ViX3ZpZXdfZ2V0X3R5cGUKK3dlYmtpdF9qYXZh
c2NyaXB0X3Jlc3VsdF9nZXRfdHlwZQord2Via2l0X3NjcmlwdF9kaWFsb2dfZ2V0X3R5cGUKK3dl
YmtpdF93ZWJfdmlld19zZXNzaW9uX3N0YXRlX2dldF90eXBlCitXZWJLaXRXZWJWaWV3UHJpdmF0
ZQorV0VCS0lUX0FQSQorV0VCS0lUX0RFUFJFQ0FURUQKK1dFQktJVF9ERVBSRUNBVEVEX0ZPUgor
PC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktpdFdlYlZpZXdCYWNrZW5kPC9GSUxF
PgorV0VCS0lUX1RZUEVfV0VCX1ZJRVdfQkFDS0VORAorV2ViS2l0V2ViVmlld0JhY2tlbmQKK3dl
YmtpdF93ZWJfdmlld19iYWNrZW5kX2dldF93cGVfYmFja2VuZAord2Via2l0X3dlYl92aWV3X2Jh
Y2tlbmRfbmV3CisKKzxTVUJTRUNUSU9OIFByaXZhdGU+Cit3ZWJraXRfd2ViX3ZpZXdfYmFja2Vu
ZF9nZXRfdHlwZQorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktpdEF1dGhlbnRp
Y2F0aW9uUmVxdWVzdDwvRklMRT4KK1dlYktpdEF1dGhlbnRpY2F0aW9uUmVxdWVzdAorV2ViS2l0
QXV0aGVudGljYXRpb25TY2hlbWUKK3dlYmtpdF9hdXRoZW50aWNhdGlvbl9yZXF1ZXN0X2F1dGhl
bnRpY2F0ZQord2Via2l0X2F1dGhlbnRpY2F0aW9uX3JlcXVlc3RfY2FuY2VsCit3ZWJraXRfYXV0
aGVudGljYXRpb25fcmVxdWVzdF9jYW5fc2F2ZV9jcmVkZW50aWFscword2Via2l0X2F1dGhlbnRp
Y2F0aW9uX3JlcXVlc3RfZ2V0X2hvc3QKK3dlYmtpdF9hdXRoZW50aWNhdGlvbl9yZXF1ZXN0X2dl
dF9wb3J0Cit3ZWJraXRfYXV0aGVudGljYXRpb25fcmVxdWVzdF9pc19yZXRyeQord2Via2l0X2F1
dGhlbnRpY2F0aW9uX3JlcXVlc3RfZ2V0X3Byb3Bvc2VkX2NyZWRlbnRpYWwKK3dlYmtpdF9hdXRo
ZW50aWNhdGlvbl9yZXF1ZXN0X2dldF9yZWFsbQord2Via2l0X2F1dGhlbnRpY2F0aW9uX3JlcXVl
c3RfZ2V0X3NjaGVtZQord2Via2l0X2F1dGhlbnRpY2F0aW9uX3JlcXVlc3RfaXNfZm9yX3Byb3h5
CisKKzxTVUJTRUNUSU9OIFN0YW5kYXJkPgorV2ViS2l0QXV0aGVudGljYXRpb25SZXF1ZXN0Q2xh
c3MKK1dFQktJVF9UWVBFX0FVVEhFTlRJQ0FUSU9OX1JFUVVFU1QKK1dFQktJVF9BVVRIRU5USUNB
VElPTl9SRVFVRVNUCitXRUJLSVRfQVVUSEVOVElDQVRJT05fUkVRVUVTVF9DTEFTUworV0VCS0lU
X0FVVEhFTlRJQ0FUSU9OX1JFUVVFU1RfR0VUX0NMQVNTCitXRUJLSVRfSVNfQVVUSEVOVElDQVRJ
T05fUkVRVUVTVAorV0VCS0lUX0lTX0FVVEhFTlRJQ0FUSU9OX1JFUVVFU1RfQ0xBU1MKK1dFQktJ
VF9UWVBFX0NSRURFTlRJQUwKKworPFNVQlNFQ1RJT04gUHJpdmF0ZT4KK1dlYktpdEF1dGhlbnRp
Y2F0aW9uUmVxdWVzdFByaXZhdGUKK3dlYmtpdF9hdXRoZW50aWNhdGlvbl9yZXF1ZXN0X2dldF90
eXBlCit3ZWJraXRfY3JlZGVudGlhbF9nZXRfdHlwZQorCis8U1VCU0VDVElPTj4KK1dlYktpdENy
ZWRlbnRpYWwKK1dlYktpdENyZWRlbnRpYWxQZXJzaXN0ZW5jZQord2Via2l0X2NyZWRlbnRpYWxf
bmV3Cit3ZWJraXRfY3JlZGVudGlhbF9jb3B5Cit3ZWJraXRfY3JlZGVudGlhbF9mcmVlCit3ZWJr
aXRfY3JlZGVudGlhbF9nZXRfcGFzc3dvcmQKK3dlYmtpdF9jcmVkZW50aWFsX2dldF9wZXJzaXN0
ZW5jZQord2Via2l0X2NyZWRlbnRpYWxfZ2V0X3VzZXJuYW1lCit3ZWJraXRfY3JlZGVudGlhbF9o
YXNfcGFzc3dvcmQKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXRCYWNrRm9y
d2FyZExpc3Q8L0ZJTEU+CitXZWJLaXRCYWNrRm9yd2FyZExpc3QKK3dlYmtpdF9iYWNrX2Zvcndh
cmRfbGlzdF9nZXRfbGVuZ3RoCit3ZWJraXRfYmFja19mb3J3YXJkX2xpc3RfZ2V0X2N1cnJlbnRf
aXRlbQord2Via2l0X2JhY2tfZm9yd2FyZF9saXN0X2dldF9iYWNrX2l0ZW0KK3dlYmtpdF9iYWNr
X2ZvcndhcmRfbGlzdF9nZXRfZm9yd2FyZF9pdGVtCit3ZWJraXRfYmFja19mb3J3YXJkX2xpc3Rf
Z2V0X250aF9pdGVtCit3ZWJraXRfYmFja19mb3J3YXJkX2xpc3RfZ2V0X2JhY2tfbGlzdAord2Vi
a2l0X2JhY2tfZm9yd2FyZF9saXN0X2dldF9iYWNrX2xpc3Rfd2l0aF9saW1pdAord2Via2l0X2Jh
Y2tfZm9yd2FyZF9saXN0X2dldF9mb3J3YXJkX2xpc3QKK3dlYmtpdF9iYWNrX2ZvcndhcmRfbGlz
dF9nZXRfZm9yd2FyZF9saXN0X3dpdGhfbGltaXQKKworPFNVQlNFQ1RJT04gU3RhbmRhcmQ+CitX
ZWJLaXRCYWNrRm9yd2FyZExpc3RDbGFzcworV0VCS0lUX1RZUEVfQkFDS19GT1JXQVJEX0xJU1QK
K1dFQktJVF9CQUNLX0ZPUldBUkRfTElTVAorV0VCS0lUX0lTX0JBQ0tfRk9SV0FSRF9MSVNUCitX
RUJLSVRfQkFDS19GT1JXQVJEX0xJU1RfQ0xBU1MKK1dFQktJVF9JU19CQUNLX0ZPUldBUkRfTElT
VF9DTEFTUworV0VCS0lUX0JBQ0tfRk9SV0FSRF9MSVNUX0dFVF9DTEFTUworCis8U1VCU0VDVElP
TiBQcml2YXRlPgorV2ViS2l0QmFja0ZvcndhcmRMaXN0UHJpdmF0ZQord2Via2l0X2JhY2tfZm9y
d2FyZF9saXN0X2dldF90eXBlCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+V2ViS2l0
QmFja0ZvcndhcmRMaXN0SXRlbTwvRklMRT4KK1dlYktpdEJhY2tGb3J3YXJkTGlzdEl0ZW0KK3dl
YmtpdF9iYWNrX2ZvcndhcmRfbGlzdF9pdGVtX2dldF90aXRsZQord2Via2l0X2JhY2tfZm9yd2Fy
ZF9saXN0X2l0ZW1fZ2V0X3VyaQord2Via2l0X2JhY2tfZm9yd2FyZF9saXN0X2l0ZW1fZ2V0X29y
aWdpbmFsX3VyaQorCis8U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dlYktpdEJhY2tGb3J3YXJkTGlz
dEl0ZW1DbGFzcworV0VCS0lUX1RZUEVfQkFDS19GT1JXQVJEX0xJU1RfSVRFTQorV0VCS0lUX0JB
Q0tfRk9SV0FSRF9MSVNUX0lURU0KK1dFQktJVF9JU19CQUNLX0ZPUldBUkRfTElTVF9JVEVNCitX
RUJLSVRfQkFDS19GT1JXQVJEX0xJU1RfSVRFTV9DTEFTUworV0VCS0lUX0lTX0JBQ0tfRk9SV0FS
RF9MSVNUX0lURU1fQ0xBU1MKK1dFQktJVF9CQUNLX0ZPUldBUkRfTElTVF9JVEVNX0dFVF9DTEFT
UworCis8U1VCU0VDVElPTiBQcml2YXRlPgorV2ViS2l0QmFja0ZvcndhcmRMaXN0SXRlbVByaXZh
dGUKK3dlYmtpdF9iYWNrX2ZvcndhcmRfbGlzdF9pdGVtX2dldF90eXBlCis8L1NFQ1RJT04+CisK
KzxTRUNUSU9OPgorPEZJTEU+V2ViS2l0U2V0dGluZ3M8L0ZJTEU+CitXZWJLaXRTZXR0aW5ncwor
d2Via2l0X3NldHRpbmdzX25ldword2Via2l0X3NldHRpbmdzX25ld193aXRoX3NldHRpbmdzCit3
ZWJraXRfc2V0dGluZ3NfZ2V0X2F1dG9fbG9hZF9pbWFnZXMKK3dlYmtpdF9zZXR0aW5nc19zZXRf
YXV0b19sb2FkX2ltYWdlcword2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfZnJhbWVfZmxhdHRl
bmluZword2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfZnJhbWVfZmxhdHRlbmluZword2Via2l0
X3NldHRpbmdzX2dldF9lbmFibGVfaHRtbDVfZGF0YWJhc2UKK3dlYmtpdF9zZXR0aW5nc19zZXRf
ZW5hYmxlX2h0bWw1X2RhdGFiYXNlCit3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9odG1sNV9s
b2NhbF9zdG9yYWdlCit3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV9odG1sNV9sb2NhbF9zdG9y
YWdlCit3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9oeXBlcmxpbmtfYXVkaXRpbmcKK3dlYmtp
dF9zZXR0aW5nc19zZXRfZW5hYmxlX2h5cGVybGlua19hdWRpdGluZword2Via2l0X3NldHRpbmdz
X2dldF9lbmFibGVfamF2YQord2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfamF2YQord2Via2l0
X3NldHRpbmdzX2dldF9lbmFibGVfamF2YXNjcmlwdAord2Via2l0X3NldHRpbmdzX3NldF9lbmFi
bGVfamF2YXNjcmlwdAord2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfb2ZmbGluZV93ZWJfYXBw
bGljYXRpb25fY2FjaGUKK3dlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX29mZmxpbmVfd2ViX2Fw
cGxpY2F0aW9uX2NhY2hlCit3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9wbHVnaW5zCit3ZWJr
aXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV9wbHVnaW5zCit3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJs
ZV94c3NfYXVkaXRvcgord2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfeHNzX2F1ZGl0b3IKK3dl
YmtpdF9zZXR0aW5nc19nZXRfamF2YXNjcmlwdF9jYW5fb3Blbl93aW5kb3dzX2F1dG9tYXRpY2Fs
bHkKK3dlYmtpdF9zZXR0aW5nc19zZXRfamF2YXNjcmlwdF9jYW5fb3Blbl93aW5kb3dzX2F1dG9t
YXRpY2FsbHkKK3dlYmtpdF9zZXR0aW5nc19nZXRfbG9hZF9pY29uc19pZ25vcmluZ19pbWFnZV9s
b2FkX3NldHRpbmcKK3dlYmtpdF9zZXR0aW5nc19zZXRfbG9hZF9pY29uc19pZ25vcmluZ19pbWFn
ZV9sb2FkX3NldHRpbmcKK3dlYmtpdF9zZXR0aW5nc19nZXRfZGVmYXVsdF9mb250X2ZhbWlseQor
d2Via2l0X3NldHRpbmdzX3NldF9kZWZhdWx0X2ZvbnRfZmFtaWx5Cit3ZWJraXRfc2V0dGluZ3Nf
Z2V0X21vbm9zcGFjZV9mb250X2ZhbWlseQord2Via2l0X3NldHRpbmdzX3NldF9tb25vc3BhY2Vf
Zm9udF9mYW1pbHkKK3dlYmtpdF9zZXR0aW5nc19nZXRfc2VyaWZfZm9udF9mYW1pbHkKK3dlYmtp
dF9zZXR0aW5nc19zZXRfc2VyaWZfZm9udF9mYW1pbHkKK3dlYmtpdF9zZXR0aW5nc19nZXRfc2Fu
c19zZXJpZl9mb250X2ZhbWlseQord2Via2l0X3NldHRpbmdzX3NldF9zYW5zX3NlcmlmX2ZvbnRf
ZmFtaWx5Cit3ZWJraXRfc2V0dGluZ3NfZ2V0X2N1cnNpdmVfZm9udF9mYW1pbHkKK3dlYmtpdF9z
ZXR0aW5nc19zZXRfY3Vyc2l2ZV9mb250X2ZhbWlseQord2Via2l0X3NldHRpbmdzX2dldF9mYW50
YXN5X2ZvbnRfZmFtaWx5Cit3ZWJraXRfc2V0dGluZ3Nfc2V0X2ZhbnRhc3lfZm9udF9mYW1pbHkK
K3dlYmtpdF9zZXR0aW5nc19nZXRfcGljdG9ncmFwaF9mb250X2ZhbWlseQord2Via2l0X3NldHRp
bmdzX3NldF9waWN0b2dyYXBoX2ZvbnRfZmFtaWx5Cit3ZWJraXRfc2V0dGluZ3NfZ2V0X2RlZmF1
bHRfZm9udF9zaXplCit3ZWJraXRfc2V0dGluZ3Nfc2V0X2RlZmF1bHRfZm9udF9zaXplCit3ZWJr
aXRfc2V0dGluZ3NfZ2V0X2RlZmF1bHRfbW9ub3NwYWNlX2ZvbnRfc2l6ZQord2Via2l0X3NldHRp
bmdzX3NldF9kZWZhdWx0X21vbm9zcGFjZV9mb250X3NpemUKK3dlYmtpdF9zZXR0aW5nc19nZXRf
bWluaW11bV9mb250X3NpemUKK3dlYmtpdF9zZXR0aW5nc19zZXRfbWluaW11bV9mb250X3NpemUK
K3dlYmtpdF9zZXR0aW5nc19nZXRfZGVmYXVsdF9jaGFyc2V0Cit3ZWJraXRfc2V0dGluZ3Nfc2V0
X2RlZmF1bHRfY2hhcnNldAord2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfZGV2ZWxvcGVyX2V4
dHJhcword2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfZGV2ZWxvcGVyX2V4dHJhcword2Via2l0
X3NldHRpbmdzX2dldF9lbmFibGVfcmVzaXphYmxlX3RleHRfYXJlYXMKK3dlYmtpdF9zZXR0aW5n
c19zZXRfZW5hYmxlX3Jlc2l6YWJsZV90ZXh0X2FyZWFzCit3ZWJraXRfc2V0dGluZ3NfZ2V0X2Vu
YWJsZV90YWJzX3RvX2xpbmtzCit3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV90YWJzX3RvX2xp
bmtzCit3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9kbnNfcHJlZmV0Y2hpbmcKK3dlYmtpdF9z
ZXR0aW5nc19zZXRfZW5hYmxlX2Ruc19wcmVmZXRjaGluZword2Via2l0X3NldHRpbmdzX2dldF9l
bmFibGVfY2FyZXRfYnJvd3NpbmcKK3dlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX2NhcmV0X2Jy
b3dzaW5nCit3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9mdWxsc2NyZWVuCit3ZWJraXRfc2V0
dGluZ3Nfc2V0X2VuYWJsZV9mdWxsc2NyZWVuCit3ZWJraXRfc2V0dGluZ3NfZ2V0X3ByaW50X2Jh
Y2tncm91bmRzCit3ZWJraXRfc2V0dGluZ3Nfc2V0X3ByaW50X2JhY2tncm91bmRzCit3ZWJraXRf
c2V0dGluZ3NfZ2V0X2VuYWJsZV93ZWJhdWRpbword2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVf
d2ViYXVkaW8KK3dlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX3dlYmdsCit3ZWJraXRfc2V0dGlu
Z3Nfc2V0X2VuYWJsZV93ZWJnbAord2Via2l0X3NldHRpbmdzX3NldF9hbGxvd19tb2RhbF9kaWFs
b2dzCit3ZWJraXRfc2V0dGluZ3NfZ2V0X2FsbG93X21vZGFsX2RpYWxvZ3MKK3dlYmtpdF9zZXR0
aW5nc19nZXRfem9vbV90ZXh0X29ubHkKK3dlYmtpdF9zZXR0aW5nc19zZXRfem9vbV90ZXh0X29u
bHkKK3dlYmtpdF9zZXR0aW5nc19nZXRfamF2YXNjcmlwdF9jYW5fYWNjZXNzX2NsaXBib2FyZAor
d2Via2l0X3NldHRpbmdzX3NldF9qYXZhc2NyaXB0X2Nhbl9hY2Nlc3NfY2xpcGJvYXJkCit3ZWJr
aXRfc2V0dGluZ3NfZ2V0X21lZGlhX3BsYXliYWNrX3JlcXVpcmVzX3VzZXJfZ2VzdHVyZQord2Vi
a2l0X3NldHRpbmdzX3NldF9tZWRpYV9wbGF5YmFja19yZXF1aXJlc191c2VyX2dlc3R1cmUKK3dl
YmtpdF9zZXR0aW5nc19nZXRfbWVkaWFfcGxheWJhY2tfYWxsb3dzX2lubGluZQord2Via2l0X3Nl
dHRpbmdzX3NldF9tZWRpYV9wbGF5YmFja19hbGxvd3NfaW5saW5lCit3ZWJraXRfc2V0dGluZ3Nf
Z2V0X2RyYXdfY29tcG9zaXRpbmdfaW5kaWNhdG9ycword2Via2l0X3NldHRpbmdzX3NldF9kcmF3
X2NvbXBvc2l0aW5nX2luZGljYXRvcnMKK3dlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX3NpdGVf
c3BlY2lmaWNfcXVpcmtzCit3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV9zaXRlX3NwZWNpZmlj
X3F1aXJrcword2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfcGFnZV9jYWNoZQord2Via2l0X3Nl
dHRpbmdzX3NldF9lbmFibGVfcGFnZV9jYWNoZQord2Via2l0X3NldHRpbmdzX2dldF91c2VyX2Fn
ZW50Cit3ZWJraXRfc2V0dGluZ3Nfc2V0X3VzZXJfYWdlbnQKK3dlYmtpdF9zZXR0aW5nc19zZXRf
dXNlcl9hZ2VudF93aXRoX2FwcGxpY2F0aW9uX2RldGFpbHMKK3dlYmtpdF9zZXR0aW5nc19nZXRf
ZW5hYmxlX3Ntb290aF9zY3JvbGxpbmcKK3dlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX3Ntb290
aF9zY3JvbGxpbmcKK3dlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX2FjY2VsZXJhdGVkXzJkX2Nh
bnZhcword2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfYWNjZWxlcmF0ZWRfMmRfY2FudmFzCit3
ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV93cml0ZV9jb25zb2xlX21lc3NhZ2VzX3RvX3N0ZG91
dAord2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfd3JpdGVfY29uc29sZV9tZXNzYWdlc190b19z
dGRvdXQKK3dlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX21lZGlhX3N0cmVhbQord2Via2l0X3Nl
dHRpbmdzX3NldF9lbmFibGVfbWVkaWFfc3RyZWFtCit3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJs
ZV9tb2NrX2NhcHR1cmVfZGV2aWNlcword2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfbW9ja19j
YXB0dXJlX2RldmljZXMKK3dlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX3NwYXRpYWxfbmF2aWdh
dGlvbgord2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfc3BhdGlhbF9uYXZpZ2F0aW9uCit3ZWJr
aXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9tZWRpYXNvdXJjZQord2Via2l0X3NldHRpbmdzX3NldF9l
bmFibGVfbWVkaWFzb3VyY2UKK3dlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX2VuY3J5cHRlZF9t
ZWRpYQord2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfZW5jcnlwdGVkX21lZGlhCit3ZWJraXRf
c2V0dGluZ3NfZ2V0X2VuYWJsZV9tZWRpYV9jYXBhYmlsaXRpZXMKK3dlYmtpdF9zZXR0aW5nc19z
ZXRfZW5hYmxlX21lZGlhX2NhcGFiaWxpdGllcword2Via2l0X3NldHRpbmdzX2dldF9hbGxvd19m
aWxlX2FjY2Vzc19mcm9tX2ZpbGVfdXJscword2Via2l0X3NldHRpbmdzX3NldF9hbGxvd19maWxl
X2FjY2Vzc19mcm9tX2ZpbGVfdXJscword2Via2l0X3NldHRpbmdzX2dldF9hbGxvd191bml2ZXJz
YWxfYWNjZXNzX2Zyb21fZmlsZV91cmxzCit3ZWJraXRfc2V0dGluZ3Nfc2V0X2FsbG93X3VuaXZl
cnNhbF9hY2Nlc3NfZnJvbV9maWxlX3VybHMKKworPFNVQlNFQ1RJT04gU3RhbmRhcmQ+CitXZWJL
aXRTZXR0aW5nc0NsYXNzCitXRUJLSVRfVFlQRV9TRVRUSU5HUworV0VCS0lUX1NFVFRJTkdTCitX
RUJLSVRfSVNfU0VUVElOR1MKK1dFQktJVF9TRVRUSU5HU19DTEFTUworV0VCS0lUX0lTX1NFVFRJ
TkdTX0NMQVNTCitXRUJLSVRfU0VUVElOR1NfR0VUX0NMQVNTCisKKzxTVUJTRUNUSU9OIFByaXZh
dGU+CitXZWJLaXRTZXR0aW5nc1ByaXZhdGUKK3dlYmtpdF9zZXR0aW5nc19nZXRfdHlwZQorPC9T
RUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktpdFVSSVJlcXVlc3Q8L0ZJTEU+CitXZWJL
aXRVUklSZXF1ZXN0Cit3ZWJraXRfdXJpX3JlcXVlc3RfbmV3Cit3ZWJraXRfdXJpX3JlcXVlc3Rf
Z2V0X3VyaQord2Via2l0X3VyaV9yZXF1ZXN0X3NldF91cmkKK3dlYmtpdF91cmlfcmVxdWVzdF9n
ZXRfaHR0cF9tZXRob2QKK3dlYmtpdF91cmlfcmVxdWVzdF9nZXRfaHR0cF9oZWFkZXJzCisKKzxT
VUJTRUNUSU9OIFN0YW5kYXJkPgorV2ViS2l0VVJJUmVxdWVzdENsYXNzCitXRUJLSVRfVFlQRV9V
UklfUkVRVUVTVAorV0VCS0lUX1VSSV9SRVFVRVNUCitXRUJLSVRfSVNfVVJJX1JFUVVFU1QKK1dF
QktJVF9VUklfUkVRVUVTVF9DTEFTUworV0VCS0lUX0lTX1VSSV9SRVFVRVNUX0NMQVNTCitXRUJL
SVRfVVJJX1JFUVVFU1RfR0VUX0NMQVNTCisKKzxTVUJTRUNUSU9OIFByaXZhdGU+CitXZWJLaXRV
UklSZXF1ZXN0UHJpdmF0ZQord2Via2l0X3VyaV9yZXF1ZXN0X2dldF90eXBlCis8L1NFQ1RJT04+
CisKKzxTRUNUSU9OPgorPEZJTEU+V2ViS2l0VVJJUmVzcG9uc2U8L0ZJTEU+CitXZWJLaXRVUklS
ZXNwb25zZQord2Via2l0X3VyaV9yZXNwb25zZV9nZXRfdXJpCit3ZWJraXRfdXJpX3Jlc3BvbnNl
X2dldF9zdGF0dXNfY29kZQord2Via2l0X3VyaV9yZXNwb25zZV9nZXRfY29udGVudF9sZW5ndGgK
K3dlYmtpdF91cmlfcmVzcG9uc2VfZ2V0X21pbWVfdHlwZQord2Via2l0X3VyaV9yZXNwb25zZV9n
ZXRfc3VnZ2VzdGVkX2ZpbGVuYW1lCit3ZWJraXRfdXJpX3Jlc3BvbnNlX2dldF9odHRwX2hlYWRl
cnMKKworPFNVQlNFQ1RJT04gU3RhbmRhcmQ+CitXZWJLaXRVUklSZXNwb25zZUNsYXNzCitXRUJL
SVRfVFlQRV9VUklfUkVTUE9OU0UKK1dFQktJVF9VUklfUkVTUE9OU0UKK1dFQktJVF9JU19VUklf
UkVTUE9OU0UKK1dFQktJVF9VUklfUkVTUE9OU0VfQ0xBU1MKK1dFQktJVF9JU19VUklfUkVTUE9O
U0VfQ0xBU1MKK1dFQktJVF9VUklfUkVTUE9OU0VfR0VUX0NMQVNTCisKKzxTVUJTRUNUSU9OIFBy
aXZhdGU+CitXZWJLaXRVUklSZXNwb25zZVByaXZhdGUKK3dlYmtpdF91cmlfcmVzcG9uc2VfZ2V0
X3R5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXRXaW5kb3dQcm9wZXJ0
aWVzPC9GSUxFPgorV2ViS2l0V2luZG93UHJvcGVydGllcword2Via2l0X3dpbmRvd19wcm9wZXJ0
aWVzX2dldF90b29sYmFyX3Zpc2libGUKK3dlYmtpdF93aW5kb3dfcHJvcGVydGllc19nZXRfc3Rh
dHVzYmFyX3Zpc2libGUKK3dlYmtpdF93aW5kb3dfcHJvcGVydGllc19nZXRfc2Nyb2xsYmFyc192
aXNpYmxlCit3ZWJraXRfd2luZG93X3Byb3BlcnRpZXNfZ2V0X21lbnViYXJfdmlzaWJsZQord2Vi
a2l0X3dpbmRvd19wcm9wZXJ0aWVzX2dldF9sb2NhdGlvbmJhcl92aXNpYmxlCit3ZWJraXRfd2lu
ZG93X3Byb3BlcnRpZXNfZ2V0X3Jlc2l6YWJsZQord2Via2l0X3dpbmRvd19wcm9wZXJ0aWVzX2dl
dF9mdWxsc2NyZWVuCisKKzxTVUJTRUNUSU9OIFN0YW5kYXJkPgorV2ViS2l0V2luZG93UHJvcGVy
dGllc0NsYXNzCitXRUJLSVRfVFlQRV9XSU5ET1dfUFJPUEVSVElFUworV0VCS0lUX1dJTkRPV19Q
Uk9QRVJUSUVTCitXRUJLSVRfSVNfV0lORE9XX1BST1BFUlRJRVMKK1dFQktJVF9XSU5ET1dfUFJP
UEVSVElFU19DTEFTUworV0VCS0lUX0lTX1dJTkRPV19QUk9QRVJUSUVTX0NMQVNTCitXRUJLSVRf
V0lORE9XX1BST1BFUlRJRVNfR0VUX0NMQVNTCisKKzxTVUJTRUNUSU9OIFByaXZhdGU+CitXZWJL
aXRXaW5kb3dQcm9wZXJ0aWVzUHJpdmF0ZQord2Via2l0X3dpbmRvd19wcm9wZXJ0aWVzX2dldF90
eXBlCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+V2ViS2l0RG93bmxvYWQ8L0ZJTEU+
CitXZWJLaXREb3dubG9hZAord2Via2l0X2Rvd25sb2FkX2dldF9yZXF1ZXN0Cit3ZWJraXRfZG93
bmxvYWRfZ2V0X2Rlc3RpbmF0aW9uCit3ZWJraXRfZG93bmxvYWRfc2V0X2Rlc3RpbmF0aW9uCit3
ZWJraXRfZG93bmxvYWRfZ2V0X3Jlc3BvbnNlCit3ZWJraXRfZG93bmxvYWRfY2FuY2VsCit3ZWJr
aXRfZG93bmxvYWRfZ2V0X2VzdGltYXRlZF9wcm9ncmVzcword2Via2l0X2Rvd25sb2FkX2dldF9l
bGFwc2VkX3RpbWUKK3dlYmtpdF9kb3dubG9hZF9nZXRfcmVjZWl2ZWRfZGF0YV9sZW5ndGgKK3dl
YmtpdF9kb3dubG9hZF9nZXRfd2ViX3ZpZXcKK3dlYmtpdF9kb3dubG9hZF9nZXRfYWxsb3dfb3Zl
cndyaXRlCit3ZWJraXRfZG93bmxvYWRfc2V0X2FsbG93X292ZXJ3cml0ZQorCis8U1VCU0VDVElP
TiBTdGFuZGFyZD4KK1dlYktpdERvd25sb2FkQ2xhc3MKK1dFQktJVF9UWVBFX0RPV05MT0FECitX
RUJLSVRfRE9XTkxPQUQKK1dFQktJVF9JU19ET1dOTE9BRAorV0VCS0lUX0RPV05MT0FEX0NMQVNT
CitXRUJLSVRfSVNfRE9XTkxPQURfQ0xBU1MKK1dFQktJVF9ET1dOTE9BRF9HRVRfQ0xBU1MKKwor
PFNVQlNFQ1RJT04gUHJpdmF0ZT4KK1dlYktpdERvd25sb2FkUHJpdmF0ZQord2Via2l0X2Rvd25s
b2FkX2dldF90eXBlCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+V2ViS2l0UGVybWlz
c2lvblJlcXVlc3Q8L0ZJTEU+CitXZWJLaXRQZXJtaXNzaW9uUmVxdWVzdAord2Via2l0X3Blcm1p
c3Npb25fcmVxdWVzdF9hbGxvdword2Via2l0X3Blcm1pc3Npb25fcmVxdWVzdF9kZW55CisKKzxT
VUJTRUNUSU9OIFN0YW5kYXJkPgorV2ViS2l0UGVybWlzc2lvblJlcXVlc3RJZmFjZQorV0VCS0lU
X1RZUEVfUEVSTUlTU0lPTl9SRVFVRVNUCitXRUJLSVRfUEVSTUlTU0lPTl9SRVFVRVNUCitXRUJL
SVRfSVNfUEVSTUlTU0lPTl9SRVFVRVNUCitXRUJLSVRfUEVSTUlTU0lPTl9SRVFVRVNUX0dFVF9J
RkFDRQorCis8U1VCU0VDVElPTiBQcml2YXRlPgord2Via2l0X3Blcm1pc3Npb25fcmVxdWVzdF9n
ZXRfdHlwZQorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktpdEdlb2xvY2F0aW9u
UGVybWlzc2lvblJlcXVlc3Q8L0ZJTEU+CitXZWJLaXRHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1
ZXN0CisKKzxTVUJTRUNUSU9OIFN0YW5kYXJkPgorV2ViS2l0R2VvbG9jYXRpb25QZXJtaXNzaW9u
UmVxdWVzdENsYXNzCitXRUJLSVRfVFlQRV9HRU9MT0NBVElPTl9QRVJNSVNTSU9OX1JFUVVFU1QK
K1dFQktJVF9HRU9MT0NBVElPTl9QRVJNSVNTSU9OX1JFUVVFU1QKK1dFQktJVF9JU19HRU9MT0NB
VElPTl9QRVJNSVNTSU9OX1JFUVVFU1QKK1dFQktJVF9HRU9MT0NBVElPTl9QRVJNSVNTSU9OX1JF
UVVFU1RfQ0xBU1MKK1dFQktJVF9JU19HRU9MT0NBVElPTl9QRVJNSVNTSU9OX1JFUVVFU1RfQ0xB
U1MKK1dFQktJVF9HRU9MT0NBVElPTl9QRVJNSVNTSU9OX1JFUVVFU1RfR0VUX0NMQVNTCisKKzxT
VUJTRUNUSU9OIFByaXZhdGU+CitXZWJLaXRHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0UHJp
dmF0ZQord2Via2l0X2dlb2xvY2F0aW9uX3Blcm1pc3Npb25fcmVxdWVzdF9nZXRfdHlwZQorPC9T
RUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktpdEluc3RhbGxNaXNzaW5nTWVkaWFQbHVn
aW5zUGVybWlzc2lvblJlcXVlc3Q8L0ZJTEU+CitXZWJLaXRJbnN0YWxsTWlzc2luZ01lZGlhUGx1
Z2luc1Blcm1pc3Npb25SZXF1ZXN0Cit3ZWJraXRfaW5zdGFsbF9taXNzaW5nX21lZGlhX3BsdWdp
bnNfcGVybWlzc2lvbl9yZXF1ZXN0X2dldF9kZXNjcmlwdGlvbgorCis8U1VCU0VDVElPTiBTdGFu
ZGFyZD4KK1dlYktpdEluc3RhbGxNaXNzaW5nTWVkaWFQbHVnaW5zUGVybWlzc2lvblJlcXVlc3RD
bGFzcworV0VCS0lUX1RZUEVfSU5TVEFMTF9NSVNTSU5HX01FRElBX1BMVUdJTlNfUEVSTUlTU0lP
Tl9SRVFVRVNUCitXRUJLSVRfSU5TVEFMTF9NSVNTSU5HX01FRElBX1BMVUdJTlNfUEVSTUlTU0lP
Tl9SRVFVRVNUCitXRUJLSVRfSVNfSU5TVEFMTF9NSVNTSU5HX01FRElBX1BMVUdJTlNfUEVSTUlT
U0lPTl9SRVFVRVNUCitXRUJLSVRfSU5TVEFMTF9NSVNTSU5HX01FRElBX1BMVUdJTlNfUEVSTUlT
U0lPTl9SRVFVRVNUX0NMQVNTCitXRUJLSVRfSVNfSU5TVEFMTF9NSVNTSU5HX01FRElBX1BMVUdJ
TlNfUEVSTUlTU0lPTl9SRVFVRVNUX0NMQVNTCitXRUJLSVRfSU5TVEFMTF9NSVNTSU5HX01FRElB
X1BMVUdJTlNfUEVSTUlTU0lPTl9SRVFVRVNUX0dFVF9DTEFTUworCis8U1VCU0VDVElPTiBQcml2
YXRlPgorV2ViS2l0SW5zdGFsbE1pc3NpbmdNZWRpYVBsdWdpbnNQZXJtaXNzaW9uUmVxdWVzdFBy
aXZhdGUKK3dlYmtpdF9pbnN0YWxsX21pc3NpbmdfbWVkaWFfcGx1Z2luc19wZXJtaXNzaW9uX3Jl
cXVlc3RfZ2V0X3R5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXREZXZp
Y2VJbmZvUGVybWlzc2lvblJlcXVlc3Q8L0ZJTEU+CitXZWJLaXREZXZpY2VJbmZvUGVybWlzc2lv
blJlcXVlc3QKKworPFNVQlNFQ1RJT04gU3RhbmRhcmQ+CitXZWJLaXREZXZpY2VJbmZvUGVybWlz
c2lvblJlcXVlc3RDbGFzcworV0VCS0lUX1RZUEVfREVWSUNFX0lORk9fUEVSTUlTU0lPTl9SRVFV
RVNUCitXRUJLSVRfREVWSUNFX0lORk9fUEVSTUlTU0lPTl9SRVFVRVNUCitXRUJLSVRfSVNfREVW
SUNFX0lORk9fUEVSTUlTU0lPTl9SRVFVRVNUCitXRUJLSVRfREVWSUNFX0lORk9fUEVSTUlTU0lP
Tl9SRVFVRVNUX0NMQVNTCitXRUJLSVRfSVNfREVWSUNFX0lORk9fUEVSTUlTU0lPTl9SRVFVRVNU
X0NMQVNTCitXRUJLSVRfREVWSUNFX0lORk9fUEVSTUlTU0lPTl9SRVFVRVNUX0dFVF9DTEFTUwor
Cis8U1VCU0VDVElPTiBQcml2YXRlPgorV2ViS2l0RGV2aWNlSW5mb1Blcm1pc3Npb25SZXF1ZXN0
UHJpdmF0ZQord2Via2l0X2RldmljZV9pbmZvX3Blcm1pc3Npb25fcmVxdWVzdF9nZXRfdHlwZQor
PC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktpdE5hdmlnYXRpb25BY3Rpb248L0ZJ
TEU+CitXZWJLaXROYXZpZ2F0aW9uQWN0aW9uCit3ZWJraXRfbmF2aWdhdGlvbl9hY3Rpb25fY29w
eQord2Via2l0X25hdmlnYXRpb25fYWN0aW9uX2ZyZWUKK3dlYmtpdF9uYXZpZ2F0aW9uX2FjdGlv
bl9nZXRfbmF2aWdhdGlvbl90eXBlCit3ZWJraXRfbmF2aWdhdGlvbl9hY3Rpb25fZ2V0X21vdXNl
X2J1dHRvbgord2Via2l0X25hdmlnYXRpb25fYWN0aW9uX2dldF9tb2RpZmllcnMKK3dlYmtpdF9u
YXZpZ2F0aW9uX2FjdGlvbl9nZXRfcmVxdWVzdAord2Via2l0X25hdmlnYXRpb25fYWN0aW9uX2lz
X3VzZXJfZ2VzdHVyZQord2Via2l0X25hdmlnYXRpb25fYWN0aW9uX2lzX3JlZGlyZWN0CisKKzxT
VUJTRUNUSU9OIFN0YW5kYXJkPgorV0VCS0lUX1RZUEVfTkFWSUdBVElPTl9BQ1RJT04KKworPFNV
QlNFQ1RJT04gUHJpdmF0ZT4KK3dlYmtpdF9uYXZpZ2F0aW9uX2FjdGlvbl9nZXRfdHlwZQorPC9T
RUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktpdFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1
ZXN0PC9GSUxFPgorV2ViS2l0VXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3QKK3dlYmtpdF91c2Vy
X21lZGlhX3Blcm1pc3Npb25faXNfZm9yX2F1ZGlvX2RldmljZQord2Via2l0X3VzZXJfbWVkaWFf
cGVybWlzc2lvbl9pc19mb3JfdmlkZW9fZGV2aWNlCisKKzxTVUJTRUNUSU9OIFN0YW5kYXJkPgor
V2ViS2l0VXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RDbGFzcworV0VCS0lUX1RZUEVfVVNFUl9N
RURJQV9QRVJNSVNTSU9OX1JFUVVFU1QKK1dFQktJVF9VU0VSX01FRElBX1BFUk1JU1NJT05fUkVR
VUVTVAorV0VCS0lUX0lTX1VTRVJfTUVESUFfUEVSTUlTU0lPTl9SRVFVRVNUCitXRUJLSVRfVVNF
Ul9NRURJQV9QRVJNSVNTSU9OX1JFUVVFU1RfQ0xBU1MKK1dFQktJVF9JU19VU0VSX01FRElBX1BF
Uk1JU1NJT05fUkVRVUVTVF9DTEFTUworV0VCS0lUX1VTRVJfTUVESUFfUEVSTUlTU0lPTl9SRVFV
RVNUX0dFVF9DTEFTUworCis8U1VCU0VDVElPTiBQcml2YXRlPgorV2ViS2l0VXNlck1lZGlhUGVy
bWlzc2lvblJlcXVlc3RQcml2YXRlCit3ZWJraXRfdXNlcl9tZWRpYV9wZXJtaXNzaW9uX3JlcXVl
c3RfZ2V0X3R5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXROb3RpZmlj
YXRpb248L0ZJTEU+CitXZWJLaXROb3RpZmljYXRpb24KK3dlYmtpdF9ub3RpZmljYXRpb25fZ2V0
X2lkCit3ZWJraXRfbm90aWZpY2F0aW9uX2dldF90aXRsZQord2Via2l0X25vdGlmaWNhdGlvbl9n
ZXRfYm9keQord2Via2l0X25vdGlmaWNhdGlvbl9nZXRfdGFnCit3ZWJraXRfbm90aWZpY2F0aW9u
X2Nsb3NlCit3ZWJraXRfbm90aWZpY2F0aW9uX2NsaWNrZWQKKworPFNVQlNFQ1RJT04gU3RhbmRh
cmQ+CitXZWJLaXROb3RpZmljYXRpb25DbGFzcworV0VCS0lUX1RZUEVfTk9USUZJQ0FUSU9OCitX
RUJLSVRfSVNfTk9USUZJQ0FUSU9OCitXRUJLSVRfTk9USUZJQ0FUSU9OCitXRUJLSVRfTk9USUZJ
Q0FUSU9OX0NMQVNTCitXRUJLSVRfSVNfTk9USUZJQ0FUSU9OX0NMQVNTCitXRUJLSVRfTk9USUZJ
Q0FUSU9OX0dFVF9DTEFTUworCis8U1VCU0VDVElPTiBQcml2YXRlPgorV2ViS2l0Tm90aWZpY2F0
aW9uUHJpdmF0ZQord2Via2l0X25vdGlmaWNhdGlvbl9nZXRfdHlwZQorPC9TRUNUSU9OPgorCis8
U0VDVElPTj4KKzxGSUxFPldlYktpdE5vdGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0PC9GSUxF
PgorV2ViS2l0Tm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVlc3QKKworPFNVQlNFQ1RJT04gU3Rh
bmRhcmQ+CitXZWJLaXROb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdENsYXNzCitXRUJLSVRf
VFlQRV9OT1RJRklDQVRJT05fUEVSTUlTU0lPTl9SRVFVRVNUCitXRUJLSVRfTk9USUZJQ0FUSU9O
X1BFUk1JU1NJT05fUkVRVUVTVAorV0VCS0lUX0lTX05PVElGSUNBVElPTl9QRVJNSVNTSU9OX1JF
UVVFU1QKK1dFQktJVF9OT1RJRklDQVRJT05fUEVSTUlTU0lPTl9SRVFVRVNUX0NMQVNTCitXRUJL
SVRfSVNfTk9USUZJQ0FUSU9OX1BFUk1JU1NJT05fUkVRVUVTVF9DTEFTUworV0VCS0lUX05PVElG
SUNBVElPTl9QRVJNSVNTSU9OX1JFUVVFU1RfR0VUX0NMQVNTCisKKzxTVUJTRUNUSU9OIFByaXZh
dGU+CitXZWJLaXROb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdFByaXZhdGUKK3dlYmtpdF9u
b3RpZmljYXRpb25fcGVybWlzc2lvbl9yZXF1ZXN0X2dldF90eXBlCis8L1NFQ1RJT04+CisKKzxT
RUNUSU9OPgorPEZJTEU+V2ViS2l0UG9saWN5RGVjaXNpb248L0ZJTEU+CitXZWJLaXRQb2xpY3lE
ZWNpc2lvbgord2Via2l0X3BvbGljeV9kZWNpc2lvbl9kb3dubG9hZAord2Via2l0X3BvbGljeV9k
ZWNpc2lvbl9pZ25vcmUKK3dlYmtpdF9wb2xpY3lfZGVjaXNpb25fdXNlCisKKzxTVUJTRUNUSU9O
IFN0YW5kYXJkPgorV2ViS2l0UG9saWN5RGVjaXNpb25DbGFzcworV0VCS0lUX1RZUEVfUE9MSUNZ
X0RFQ0lTSU9OCitXRUJLSVRfUE9MSUNZX0RFQ0lTSU9OCitXRUJLSVRfSVNfUE9MSUNZX0RFQ0lT
SU9OCitXRUJLSVRfUE9MSUNZX0RFQ0lTSU9OX0NMQVNTCitXRUJLSVRfSVNfUE9MSUNZX0RFQ0lT
SU9OX0NMQVNTCitXRUJLSVRfUE9MSUNZX0RFQ0lTSU9OX0dFVF9DTEFTUworCis8U1VCU0VDVElP
TiBQcml2YXRlPgorV2ViS2l0UG9saWN5RGVjaXNpb25Qcml2YXRlCit3ZWJraXRfcG9saWN5X2Rl
Y2lzaW9uX2dldF90eXBlCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+V2ViS2l0TmF2
aWdhdGlvblBvbGljeURlY2lzaW9uPC9GSUxFPgorV2ViS2l0TmF2aWdhdGlvblBvbGljeURlY2lz
aW9uCitXZWJLaXROYXZpZ2F0aW9uVHlwZQord2Via2l0X25hdmlnYXRpb25fcG9saWN5X2RlY2lz
aW9uX2dldF9uYXZpZ2F0aW9uX2FjdGlvbgord2Via2l0X25hdmlnYXRpb25fcG9saWN5X2RlY2lz
aW9uX2dldF9mcmFtZV9uYW1lCisKKzxTVUJTRUNUSU9OIFN0YW5kYXJkPgorV2ViS2l0TmF2aWdh
dGlvblBvbGljeURlY2lzaW9uQ2xhc3MKK1dFQktJVF9UWVBFX05BVklHQVRJT05fUE9MSUNZX0RF
Q0lTSU9OCitXRUJLSVRfTkFWSUdBVElPTl9QT0xJQ1lfREVDSVNJT04KK1dFQktJVF9JU19OQVZJ
R0FUSU9OX1BPTElDWV9ERUNJU0lPTgorV0VCS0lUX05BVklHQVRJT05fUE9MSUNZX0RFQ0lTSU9O
X0NMQVNTCitXRUJLSVRfSVNfTkFWSUdBVElPTl9QT0xJQ1lfREVDSVNJT05fQ0xBU1MKK1dFQktJ
VF9OQVZJR0FUSU9OX1BPTElDWV9ERUNJU0lPTl9HRVRfQ0xBU1MKKworPFNVQlNFQ1RJT04gUHJp
dmF0ZT4KK1dlYktpdE5hdmlnYXRpb25Qb2xpY3lEZWNpc2lvblByaXZhdGUKK3dlYmtpdF9uYXZp
Z2F0aW9uX3BvbGljeV9kZWNpc2lvbl9nZXRfdHlwZQorPC9TRUNUSU9OPgorCis8U0VDVElPTj4K
KzxGSUxFPldlYktpdFJlc3BvbnNlUG9saWN5RGVjaXNpb248L0ZJTEU+CitXZWJLaXRSZXNwb25z
ZVBvbGljeURlY2lzaW9uCit3ZWJraXRfcmVzcG9uc2VfcG9saWN5X2RlY2lzaW9uX2dldF9yZXF1
ZXN0Cit3ZWJraXRfcmVzcG9uc2VfcG9saWN5X2RlY2lzaW9uX2dldF9yZXNwb25zZQord2Via2l0
X3Jlc3BvbnNlX3BvbGljeV9kZWNpc2lvbl9pc19taW1lX3R5cGVfc3VwcG9ydGVkCisKKzxTVUJT
RUNUSU9OIFN0YW5kYXJkPgorV2ViS2l0UmVzcG9uc2VQb2xpY3lEZWNpc2lvbkNsYXNzCitXRUJL
SVRfVFlQRV9SRVNQT05TRV9QT0xJQ1lfREVDSVNJT04KK1dFQktJVF9SRVNQT05TRV9QT0xJQ1lf
REVDSVNJT04KK1dFQktJVF9JU19SRVNQT05TRV9QT0xJQ1lfREVDSVNJT04KK1dFQktJVF9SRVNQ
T05TRV9QT0xJQ1lfREVDSVNJT05fQ0xBU1MKK1dFQktJVF9JU19SRVNQT05TRV9QT0xJQ1lfREVD
SVNJT05fQ0xBU1MKK1dFQktJVF9SRVNQT05TRV9QT0xJQ1lfREVDSVNJT05fR0VUX0NMQVNTCisK
KzxTVUJTRUNUSU9OIFByaXZhdGU+CitXZWJLaXRSZXNwb25zZVBvbGljeURlY2lzaW9uUHJpdmF0
ZQord2Via2l0X3Jlc3BvbnNlX3BvbGljeV9kZWNpc2lvbl9nZXRfdHlwZQorPC9TRUNUSU9OPgor
Cis8U0VDVElPTj4KKzxGSUxFPldlYktpdEhpdFRlc3RSZXN1bHQ8L0ZJTEU+CitXZWJLaXRIaXRU
ZXN0UmVzdWx0CitXZWJLaXRIaXRUZXN0UmVzdWx0Q29udGV4dAord2Via2l0X2hpdF90ZXN0X3Jl
c3VsdF9nZXRfY29udGV4dAord2Via2l0X2hpdF90ZXN0X3Jlc3VsdF9jb250ZXh0X2lzX2xpbmsK
K3dlYmtpdF9oaXRfdGVzdF9yZXN1bHRfY29udGV4dF9pc19pbWFnZQord2Via2l0X2hpdF90ZXN0
X3Jlc3VsdF9jb250ZXh0X2lzX21lZGlhCit3ZWJraXRfaGl0X3Rlc3RfcmVzdWx0X2NvbnRleHRf
aXNfZWRpdGFibGUKK3dlYmtpdF9oaXRfdGVzdF9yZXN1bHRfY29udGV4dF9pc19zZWxlY3Rpb24K
K3dlYmtpdF9oaXRfdGVzdF9yZXN1bHRfY29udGV4dF9pc19zY3JvbGxiYXIKK3dlYmtpdF9oaXRf
dGVzdF9yZXN1bHRfZ2V0X2xpbmtfdXJpCit3ZWJraXRfaGl0X3Rlc3RfcmVzdWx0X2dldF9saW5r
X3RpdGxlCit3ZWJraXRfaGl0X3Rlc3RfcmVzdWx0X2dldF9saW5rX2xhYmVsCit3ZWJraXRfaGl0
X3Rlc3RfcmVzdWx0X2dldF9pbWFnZV91cmkKK3dlYmtpdF9oaXRfdGVzdF9yZXN1bHRfZ2V0X21l
ZGlhX3VyaQorCis8U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dlYktpdEhpdFRlc3RSZXN1bHRDbGFz
cworV0VCS0lUX1RZUEVfSElUX1RFU1RfUkVTVUxUCitXRUJLSVRfSElUX1RFU1RfUkVTVUxUCitX
RUJLSVRfSVNfSElUX1RFU1RfUkVTVUxUCitXRUJLSVRfSElUX1RFU1RfUkVTVUxUX0NMQVNTCitX
RUJLSVRfSVNfSElUX1RFU1RfUkVTVUxUX0NMQVNTCitXRUJLSVRfSElUX1RFU1RfUkVTVUxUX0dF
VF9DTEFTUworCis8U1VCU0VDVElPTiBQcml2YXRlPgorV2ViS2l0SGl0VGVzdFJlc3VsdFByaXZh
dGUKK3dlYmtpdF9oaXRfdGVzdF9yZXN1bHRfZ2V0X3R5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJ
T04+Cis8RklMRT5XZWJLaXRFZGl0b3JTdGF0ZTwvRklMRT4KK1dlYktpdEVkaXRvclN0YXRlCitX
ZWJLaXRFZGl0b3JUeXBpbmdBdHRyaWJ1dGVzCit3ZWJraXRfZWRpdG9yX3N0YXRlX2dldF90eXBp
bmdfYXR0cmlidXRlcword2Via2l0X2VkaXRvcl9zdGF0ZV9pc19jdXRfYXZhaWxhYmxlCit3ZWJr
aXRfZWRpdG9yX3N0YXRlX2lzX2NvcHlfYXZhaWxhYmxlCit3ZWJraXRfZWRpdG9yX3N0YXRlX2lz
X3Bhc3RlX2F2YWlsYWJsZQord2Via2l0X2VkaXRvcl9zdGF0ZV9pc191bmRvX2F2YWlsYWJsZQor
d2Via2l0X2VkaXRvcl9zdGF0ZV9pc19yZWRvX2F2YWlsYWJsZQorCis8U1VCU0VDVElPTiBTdGFu
ZGFyZD4KK1dlYktpdEVkaXRvclN0YXRlQ2xhc3MKK1dFQktJVF9UWVBFX0VESVRPUl9TVEFURQor
V0VCS0lUX0VESVRPUl9TVEFURQorV0VCS0lUX0lTX0VESVRPUl9TVEFURQorV0VCS0lUX0VESVRP
Ul9TVEFURV9DTEFTUworV0VCS0lUX0lTX0VESVRPUl9TVEFURV9DTEFTUworV0VCS0lUX0VESVRP
Ul9TVEFURV9HRVRfQ0xBU1MKKworPFNVQlNFQ1RJT04gUHJpdmF0ZT4KK1dlYktpdEVkaXRvclN0
YXRlUHJpdmF0ZQord2Via2l0X2VkaXRvcl9zdGF0ZV9nZXRfdHlwZQorPC9TRUNUSU9OPgorCis8
U0VDVElPTj4KKzxGSUxFPldlYktpdFdlYlJlc291cmNlPC9GSUxFPgorV2ViS2l0V2ViUmVzb3Vy
Y2UKK3dlYmtpdF93ZWJfcmVzb3VyY2VfZ2V0X3VyaQord2Via2l0X3dlYl9yZXNvdXJjZV9nZXRf
cmVzcG9uc2UKK3dlYmtpdF93ZWJfcmVzb3VyY2VfZ2V0X2RhdGEKK3dlYmtpdF93ZWJfcmVzb3Vy
Y2VfZ2V0X2RhdGFfZmluaXNoCisKKzxTVUJTRUNUSU9OIFN0YW5kYXJkPgorV2ViS2l0V2ViUmVz
b3VyY2VDbGFzcworV0VCS0lUX1RZUEVfV0VCX1JFU09VUkNFCitXRUJLSVRfV0VCX1JFU09VUkNF
CitXRUJLSVRfSVNfV0VCX1JFU09VUkNFCitXRUJLSVRfV0VCX1JFU09VUkNFX0NMQVNTCitXRUJL
SVRfSVNfV0VCX1JFU09VUkNFX0NMQVNTCitXRUJLSVRfV0VCX1JFU09VUkNFX0dFVF9DTEFTUwor
Cis8U1VCU0VDVElPTiBQcml2YXRlPgorV2ViS2l0V2ViUmVzb3VyY2VQcml2YXRlCit3ZWJraXRf
d2ViX3Jlc291cmNlX2dldF90eXBlCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+V2Vi
S2l0RXJyb3I8L0ZJTEU+CitXRUJLSVRfTkVUV09SS19FUlJPUgorV0VCS0lUX1BMVUdJTl9FUlJP
UgorV0VCS0lUX1BPTElDWV9FUlJPUgorV0VCS0lUX0RPV05MT0FEX0VSUk9SCitXRUJLSVRfSkFW
QVNDUklQVF9FUlJPUgorV0VCS0lUX1NOQVBTSE9UX0VSUk9SCitXZWJLaXROZXR3b3JrRXJyb3IK
K1dlYktpdFBsdWdpbkVycm9yCitXZWJLaXRQb2xpY3lFcnJvcgorV2ViS2l0RG93bmxvYWRFcnJv
cgorV2ViS2l0SmF2YXNjcmlwdEVycm9yCitXZWJLaXRTbmFwc2hvdEVycm9yCit3ZWJraXRfbmV0
d29ya19lcnJvcl9xdWFyaword2Via2l0X3BsdWdpbl9lcnJvcl9xdWFyaword2Via2l0X3BvbGlj
eV9lcnJvcl9xdWFyaword2Via2l0X2Rvd25sb2FkX2Vycm9yX3F1YXJrCit3ZWJraXRfamF2YXNj
cmlwdF9lcnJvcl9xdWFyaword2Via2l0X3NuYXBzaG90X2Vycm9yX3F1YXJrCis8L1NFQ1RJT04+
CisKKzxTRUNUSU9OPgorPEZJTEU+V2ViS2l0RmF2aWNvbkRhdGFiYXNlPC9GSUxFPgorV2ViS2l0
RmF2aWNvbkRhdGFiYXNlCitXRUJLSVRfRkFWSUNPTl9EQVRBQkFTRV9FUlJPUgorV2ViS2l0RmF2
aWNvbkRhdGFiYXNlRXJyb3IKK3dlYmtpdF9mYXZpY29uX2RhdGFiYXNlX2dldF9mYXZpY29uX3Vy
aQord2Via2l0X2Zhdmljb25fZGF0YWJhc2VfY2xlYXIKKworPFNVQlNFQ1RJT04gU3RhbmRhcmQ+
CitXZWJLaXRGYXZpY29uRGF0YWJhc2VDbGFzcworV0VCS0lUX1RZUEVfRkFWSUNPTl9EQVRBQkFT
RQorV0VCS0lUX0ZBVklDT05fREFUQUJBU0UKK1dFQktJVF9JU19GQVZJQ09OX0RBVEFCQVNFCitX
RUJLSVRfRkFWSUNPTl9EQVRBQkFTRV9DTEFTUworV0VCS0lUX0lTX0ZBVklDT05fREFUQUJBU0Vf
Q0xBU1MKK1dFQktJVF9GQVZJQ09OX0RBVEFCQVNFX0dFVF9DTEFTUworCis8U1VCU0VDVElPTiBQ
cml2YXRlPgorV2ViS2l0RmF2aWNvbkRhdGFiYXNlUHJpdmF0ZQord2Via2l0X2Zhdmljb25fZGF0
YWJhc2VfZ2V0X3R5cGUKK3dlYmtpdF9mYXZpY29uX2RhdGFiYXNlX2Vycm9yX3F1YXJrCis8L1NF
Q1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+V2ViS2l0RmlsZUNob29zZXJSZXF1ZXN0PC9GSUxF
PgorV2ViS2l0RmlsZUNob29zZXJSZXF1ZXN0Cit3ZWJraXRfZmlsZV9jaG9vc2VyX3JlcXVlc3Rf
Z2V0X21pbWVfdHlwZXMKK3dlYmtpdF9maWxlX2Nob29zZXJfcmVxdWVzdF9nZXRfc2VsZWN0X211
bHRpcGxlCit3ZWJraXRfZmlsZV9jaG9vc2VyX3JlcXVlc3Rfc2VsZWN0X2ZpbGVzCit3ZWJraXRf
ZmlsZV9jaG9vc2VyX3JlcXVlc3RfZ2V0X3NlbGVjdGVkX2ZpbGVzCit3ZWJraXRfZmlsZV9jaG9v
c2VyX3JlcXVlc3RfY2FuY2VsCisKKzxTVUJTRUNUSU9OIFN0YW5kYXJkPgorV2ViS2l0RmlsZUNo
b29zZXJSZXF1ZXN0Q2xhc3MKK1dFQktJVF9UWVBFX0ZJTEVfQ0hPT1NFUl9SRVFVRVNUCitXRUJL
SVRfRklMRV9DSE9PU0VSX1JFUVVFU1QKK1dFQktJVF9JU19GSUxFX0NIT09TRVJfUkVRVUVTVAor
V0VCS0lUX0ZJTEVfQ0hPT1NFUl9SRVFVRVNUX0NMQVNTCitXRUJLSVRfSVNfRklMRV9DSE9PU0VS
X1JFUVVFU1RfQ0xBU1MKK1dFQktJVF9GSUxFX0NIT09TRVJfUkVRVUVTVF9HRVRfQ0xBU1MKKwor
PFNVQlNFQ1RJT04gUHJpdmF0ZT4KK1dlYktpdEZpbGVDaG9vc2VyUmVxdWVzdFByaXZhdGUKK3dl
YmtpdF9maWxlX2Nob29zZXJfcmVxdWVzdF9nZXRfdHlwZQorPC9TRUNUSU9OPgorCis8U0VDVElP
Tj4KKzxGSUxFPldlYktpdEZpbmRDb250cm9sbGVyPC9GSUxFPgorV2ViS2l0RmluZENvbnRyb2xs
ZXIKK1dlYktpdEZpbmRPcHRpb25zCit3ZWJraXRfZmluZF9jb250cm9sbGVyX3NlYXJjaAord2Vi
a2l0X2ZpbmRfY29udHJvbGxlcl9zZWFyY2hfZmluaXNoCit3ZWJraXRfZmluZF9jb250cm9sbGVy
X3NlYXJjaF9uZXh0Cit3ZWJraXRfZmluZF9jb250cm9sbGVyX3NlYXJjaF9wcmV2aW91cword2Vi
a2l0X2ZpbmRfY29udHJvbGxlcl9nZXRfc2VhcmNoX3RleHQKK3dlYmtpdF9maW5kX2NvbnRyb2xs
ZXJfY291bnRfbWF0Y2hlcword2Via2l0X2ZpbmRfY29udHJvbGxlcl9nZXRfb3B0aW9ucword2Vi
a2l0X2ZpbmRfY29udHJvbGxlcl9nZXRfbWF4X21hdGNoX2NvdW50Cit3ZWJraXRfZmluZF9jb250
cm9sbGVyX2dldF93ZWJfdmlldworCis8U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dlYktpdEZpbmRD
b250cm9sbGVyQ2xhc3MKK1dFQktJVF9UWVBFX0ZJTkRfQ09OVFJPTExFUgorV0VCS0lUX0ZJTkRf
Q09OVFJPTExFUgorV0VCS0lUX0lTX0ZJTkRfQ09OVFJPTExFUgorV0VCS0lUX0ZJTkRfQ09OVFJP
TExFUl9DTEFTUworV0VCS0lUX0lTX0ZJTkRfQ09OVFJPTExFUl9DTEFTUworV0VCS0lUX0ZJTkRf
Q09OVFJPTExFUl9HRVRfQ0xBU1MKKworPFNVQlNFQ1RJT04gUHJpdmF0ZT4KK1dlYktpdEZpbmRD
b250cm9sbGVyUHJpdmF0ZQord2Via2l0X2ZpbmRfY29udHJvbGxlcl9nZXRfdHlwZQorPC9TRUNU
SU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktpdENvb2tpZU1hbmFnZXI8L0ZJTEU+CitXZWJL
aXRDb29raWVNYW5hZ2VyCitXZWJLaXRDb29raWVQZXJzaXN0ZW50U3RvcmFnZQorV2ViS2l0Q29v
a2llQWNjZXB0UG9saWN5Cit3ZWJraXRfY29va2llX21hbmFnZXJfc2V0X3BlcnNpc3RlbnRfc3Rv
cmFnZQord2Via2l0X2Nvb2tpZV9tYW5hZ2VyX3NldF9hY2NlcHRfcG9saWN5Cit3ZWJraXRfY29v
a2llX21hbmFnZXJfZ2V0X2FjY2VwdF9wb2xpY3kKK3dlYmtpdF9jb29raWVfbWFuYWdlcl9nZXRf
YWNjZXB0X3BvbGljeV9maW5pc2gKK3dlYmtpdF9jb29raWVfbWFuYWdlcl9hZGRfY29va2llCit3
ZWJraXRfY29va2llX21hbmFnZXJfYWRkX2Nvb2tpZV9maW5pc2gKK3dlYmtpdF9jb29raWVfbWFu
YWdlcl9nZXRfY29va2llcword2Via2l0X2Nvb2tpZV9tYW5hZ2VyX2dldF9jb29raWVzX2Zpbmlz
aAord2Via2l0X2Nvb2tpZV9tYW5hZ2VyX2RlbGV0ZV9jb29raWUKK3dlYmtpdF9jb29raWVfbWFu
YWdlcl9kZWxldGVfY29va2llX2ZpbmlzaAorCis8U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dlYktp
dENvb2tpZU1hbmFnZXJDbGFzcworV0VCS0lUX1RZUEVfQ09PS0lFX01BTkFHRVIKK1dFQktJVF9D
T09LSUVfTUFOQUdFUgorV0VCS0lUX0lTX0NPT0tJRV9NQU5BR0VSCitXRUJLSVRfQ09PS0lFX01B
TkFHRVJfQ0xBU1MKK1dFQktJVF9JU19DT09LSUVfTUFOQUdFUl9DTEFTUworV0VCS0lUX0NPT0tJ
RV9NQU5BR0VSX0dFVF9DTEFTUworCis8U1VCU0VDVElPTiBQcml2YXRlPgorV2ViS2l0Q29va2ll
TWFuYWdlclByaXZhdGUKK3dlYmtpdF9jb29raWVfbWFuYWdlcl9nZXRfdHlwZQorPC9TRUNUSU9O
PgorCis8U0VDVElPTj4KKzxGSUxFPldlYktpdFBsdWdpbjwvRklMRT4KK1dlYktpdFBsdWdpbgor
d2Via2l0X3BsdWdpbl9nZXRfbmFtZQord2Via2l0X3BsdWdpbl9nZXRfZGVzY3JpcHRpb24KK3dl
YmtpdF9wbHVnaW5fZ2V0X3BhdGgKK3dlYmtpdF9wbHVnaW5fZ2V0X21pbWVfaW5mb19saXN0CisK
KzxTVUJTRUNUSU9OIFdlYktpdE1pbWVJbmZvPgorV2ViS2l0TWltZUluZm8KK3dlYmtpdF9taW1l
X2luZm9fcmVmCit3ZWJraXRfbWltZV9pbmZvX3VucmVmCit3ZWJraXRfbWltZV9pbmZvX2dldF9t
aW1lX3R5cGUKK3dlYmtpdF9taW1lX2luZm9fZ2V0X2Rlc2NyaXB0aW9uCit3ZWJraXRfbWltZV9p
bmZvX2dldF9leHRlbnNpb25zCisKKzxTVUJTRUNUSU9OIFN0YW5kYXJkPgorV2ViS2l0UGx1Z2lu
Q2xhc3MKK1dFQktJVF9UWVBFX1BMVUdJTgorV0VCS0lUX1BMVUdJTgorV0VCS0lUX0lTX1BMVUdJ
TgorV0VCS0lUX1BMVUdJTl9DTEFTUworV0VCS0lUX0lTX1BMVUdJTl9DTEFTUworV0VCS0lUX1BM
VUdJTl9HRVRfQ0xBU1MKK1dFQktJVF9UWVBFX01JTUVfSU5GTworCis8U1VCU0VDVElPTiBQcml2
YXRlPgord2Via2l0X3BsdWdpbl9nZXRfdHlwZQord2Via2l0X21pbWVfaW5mb19nZXRfdHlwZQor
V2ViS2l0UGx1Z2luUHJpdmF0ZQorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktp
dFVSSVNjaGVtZVJlcXVlc3Q8L0ZJTEU+CitXZWJLaXRVUklTY2hlbWVSZXF1ZXN0Cit3ZWJraXRf
dXJpX3NjaGVtZV9yZXF1ZXN0X2dldF9zY2hlbWUKK3dlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3Rf
Z2V0X3VyaQord2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRfcGF0aAord2Via2l0X3VyaV9z
Y2hlbWVfcmVxdWVzdF9nZXRfd2ViX3ZpZXcKK3dlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZmlu
aXNoCit3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2ZpbmlzaF9lcnJvcgorCis8U1VCU0VDVElP
TiBTdGFuZGFyZD4KK1dlYktpdFVSSVNjaGVtZVJlcXVlc3RDbGFzcworV0VCS0lUX1RZUEVfVVJJ
X1NDSEVNRV9SRVFVRVNUCitXRUJLSVRfVVJJX1NDSEVNRV9SRVFVRVNUCitXRUJLSVRfSVNfVVJJ
X1NDSEVNRV9SRVFVRVNUCitXRUJLSVRfVVJJX1NDSEVNRV9SRVFVRVNUX0NMQVNTCitXRUJLSVRf
SVNfVVJJX1NDSEVNRV9SRVFVRVNUX0NMQVNTCitXRUJLSVRfVVJJX1NDSEVNRV9SRVFVRVNUX0dF
VF9DTEFTUworCis8U1VCU0VDVElPTiBQcml2YXRlPgorV2ViS2l0VVJJU2NoZW1lUmVxdWVzdFBy
aXZhdGUKK3dlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X3R5cGUKKzwvU0VDVElPTj4KKwor
PFNFQ1RJT04+Cis8RklMRT5XZWJLaXRWZXJzaW9uPC9GSUxFPgord2Via2l0X2dldF9tYWpvcl92
ZXJzaW9uCit3ZWJraXRfZ2V0X21pbm9yX3ZlcnNpb24KK3dlYmtpdF9nZXRfbWljcm9fdmVyc2lv
bgorCis8U1VCU0VDVElPTj4KK1dFQktJVF9NQUpPUl9WRVJTSU9OCitXRUJLSVRfTUlOT1JfVkVS
U0lPTgorV0VCS0lUX01JQ1JPX1ZFUlNJT04KK1dFQktJVF9DSEVDS19WRVJTSU9OCis8L1NFQ1RJ
T04+CisKKzxTRUNUSU9OPgorPEZJTEU+V2ViS2l0Q29udGV4dE1lbnU8L0ZJTEU+CitXZWJLaXRD
b250ZXh0TWVudQord2Via2l0X2NvbnRleHRfbWVudV9uZXcKK3dlYmtpdF9jb250ZXh0X21lbnVf
bmV3X3dpdGhfaXRlbXMKK3dlYmtpdF9jb250ZXh0X21lbnVfcHJlcGVuZAord2Via2l0X2NvbnRl
eHRfbWVudV9hcHBlbmQKK3dlYmtpdF9jb250ZXh0X21lbnVfaW5zZXJ0Cit3ZWJraXRfY29udGV4
dF9tZW51X21vdmVfaXRlbQord2Via2l0X2NvbnRleHRfbWVudV9nZXRfaXRlbXMKK3dlYmtpdF9j
b250ZXh0X21lbnVfZ2V0X25faXRlbXMKK3dlYmtpdF9jb250ZXh0X21lbnVfZmlyc3QKK3dlYmtp
dF9jb250ZXh0X21lbnVfbGFzdAord2Via2l0X2NvbnRleHRfbWVudV9nZXRfaXRlbV9hdF9wb3Np
dGlvbgord2Via2l0X2NvbnRleHRfbWVudV9yZW1vdmUKK3dlYmtpdF9jb250ZXh0X21lbnVfcmVt
b3ZlX2FsbAord2Via2l0X2NvbnRleHRfbWVudV9zZXRfdXNlcl9kYXRhCit3ZWJraXRfY29udGV4
dF9tZW51X2dldF91c2VyX2RhdGEKKworPFNVQlNFQ1RJT04gU3RhbmRhcmQ+CitXZWJLaXRDb250
ZXh0TWVudUNsYXNzCitXRUJLSVRfVFlQRV9DT05URVhUX01FTlUKK1dFQktJVF9DT05URVhUX01F
TlUKK1dFQktJVF9JU19DT05URVhUX01FTlUKK1dFQktJVF9DT05URVhUX01FTlVfQ0xBU1MKK1dF
QktJVF9JU19DT05URVhUX01FTlVfQ0xBU1MKK1dFQktJVF9DT05URVhUX01FTlVfR0VUX0NMQVNT
CisKKzxTVUJTRUNUSU9OIFByaXZhdGU+CitXZWJLaXRDb250ZXh0TWVudVByaXZhdGUKK3dlYmtp
dF9jb250ZXh0X21lbnVfZ2V0X3R5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5X
ZWJLaXRDb250ZXh0TWVudUl0ZW08L0ZJTEU+CitXZWJLaXRDb250ZXh0TWVudUl0ZW0KK1dlYktp
dENvbnRleHRNZW51QWN0aW9uCit3ZWJraXRfY29udGV4dF9tZW51X2l0ZW1fbmV3X2Zyb21fZ2Fj
dGlvbgord2Via2l0X2NvbnRleHRfbWVudV9pdGVtX25ld19mcm9tX3N0b2NrX2FjdGlvbgord2Vi
a2l0X2NvbnRleHRfbWVudV9pdGVtX25ld19mcm9tX3N0b2NrX2FjdGlvbl93aXRoX2xhYmVsCit3
ZWJraXRfY29udGV4dF9tZW51X2l0ZW1fbmV3X3dpdGhfc3VibWVudQord2Via2l0X2NvbnRleHRf
bWVudV9pdGVtX25ld19zZXBhcmF0b3IKK3dlYmtpdF9jb250ZXh0X21lbnVfaXRlbV9nZXRfZ2Fj
dGlvbgord2Via2l0X2NvbnRleHRfbWVudV9pdGVtX2dldF9zdG9ja19hY3Rpb24KK3dlYmtpdF9j
b250ZXh0X21lbnVfaXRlbV9pc19zZXBhcmF0b3IKK3dlYmtpdF9jb250ZXh0X21lbnVfaXRlbV9z
ZXRfc3VibWVudQord2Via2l0X2NvbnRleHRfbWVudV9pdGVtX2dldF9zdWJtZW51CisKKzxTVUJT
RUNUSU9OIFN0YW5kYXJkPgorV2ViS2l0Q29udGV4dE1lbnVJdGVtQ2xhc3MKK1dFQktJVF9UWVBF
X0NPTlRFWFRfTUVOVV9JVEVNCitXRUJLSVRfQ09OVEVYVF9NRU5VX0lURU0KK1dFQktJVF9JU19D
T05URVhUX01FTlVfSVRFTQorV0VCS0lUX0NPTlRFWFRfTUVOVV9JVEVNX0NMQVNTCitXRUJLSVRf
SVNfQ09OVEVYVF9NRU5VX0lURU1fQ0xBU1MKK1dFQktJVF9DT05URVhUX01FTlVfSVRFTV9HRVRf
Q0xBU1MKKworPFNVQlNFQ1RJT04gUHJpdmF0ZT4KK1dlYktpdENvbnRleHRNZW51SXRlbVByaXZh
dGUKK3dlYmtpdF9jb250ZXh0X21lbnVfaXRlbV9nZXRfdHlwZQorPC9TRUNUSU9OPgorCis8U0VD
VElPTj4KKzxGSUxFPldlYktpdEZvcm1TdWJtaXNzaW9uUmVxdWVzdDwvRklMRT4KK1dlYktpdEZv
cm1TdWJtaXNzaW9uUmVxdWVzdAord2Via2l0X2Zvcm1fc3VibWlzc2lvbl9yZXF1ZXN0X2xpc3Rf
dGV4dF9maWVsZHMKK3dlYmtpdF9mb3JtX3N1Ym1pc3Npb25fcmVxdWVzdF9zdWJtaXQKKworPFNV
QlNFQ1RJT04gU3RhbmRhcmQ+CitXZWJLaXRGb3JtU3VibWlzc2lvblJlcXVlc3RDbGFzcworV0VC
S0lUX1RZUEVfRk9STV9TVUJNSVNTSU9OX1JFUVVFU1QKK1dFQktJVF9GT1JNX1NVQk1JU1NJT05f
UkVRVUVTVAorV0VCS0lUX0lTX0ZPUk1fU1VCTUlTU0lPTl9SRVFVRVNUCitXRUJLSVRfRk9STV9T
VUJNSVNTSU9OX1JFUVVFU1RfQ0xBU1MKK1dFQktJVF9JU19GT1JNX1NVQk1JU1NJT05fUkVRVUVT
VF9DTEFTUworV0VCS0lUX0ZPUk1fU1VCTUlTU0lPTl9SRVFVRVNUX0dFVF9DTEFTUworCis8U1VC
U0VDVElPTiBQcml2YXRlPgorV2ViS2l0Rm9ybVN1Ym1pc3Npb25SZXF1ZXN0UHJpdmF0ZQord2Vi
a2l0X2Zvcm1fc3VibWlzc2lvbl9yZXF1ZXN0X2dldF90eXBlCis8L1NFQ1RJT04+CisKKzxTRUNU
SU9OPgorPEZJTEU+V2ViS2l0U2VjdXJpdHlNYW5hZ2VyPC9GSUxFPgorV2ViS2l0U2VjdXJpdHlN
YW5hZ2VyCit3ZWJraXRfc2VjdXJpdHlfbWFuYWdlcl9yZWdpc3Rlcl91cmlfc2NoZW1lX2FzX2xv
Y2FsCit3ZWJraXRfc2VjdXJpdHlfbWFuYWdlcl91cmlfc2NoZW1lX2lzX2xvY2FsCit3ZWJraXRf
c2VjdXJpdHlfbWFuYWdlcl9yZWdpc3Rlcl91cmlfc2NoZW1lX2FzX25vX2FjY2Vzcword2Via2l0
X3NlY3VyaXR5X21hbmFnZXJfdXJpX3NjaGVtZV9pc19ub19hY2Nlc3MKK3dlYmtpdF9zZWN1cml0
eV9tYW5hZ2VyX3JlZ2lzdGVyX3VyaV9zY2hlbWVfYXNfZGlzcGxheV9pc29sYXRlZAord2Via2l0
X3NlY3VyaXR5X21hbmFnZXJfdXJpX3NjaGVtZV9pc19kaXNwbGF5X2lzb2xhdGVkCit3ZWJraXRf
c2VjdXJpdHlfbWFuYWdlcl9yZWdpc3Rlcl91cmlfc2NoZW1lX2FzX3NlY3VyZQord2Via2l0X3Nl
Y3VyaXR5X21hbmFnZXJfdXJpX3NjaGVtZV9pc19zZWN1cmUKK3dlYmtpdF9zZWN1cml0eV9tYW5h
Z2VyX3JlZ2lzdGVyX3VyaV9zY2hlbWVfYXNfY29yc19lbmFibGVkCit3ZWJraXRfc2VjdXJpdHlf
bWFuYWdlcl91cmlfc2NoZW1lX2lzX2NvcnNfZW5hYmxlZAord2Via2l0X3NlY3VyaXR5X21hbmFn
ZXJfcmVnaXN0ZXJfdXJpX3NjaGVtZV9hc19lbXB0eV9kb2N1bWVudAord2Via2l0X3NlY3VyaXR5
X21hbmFnZXJfdXJpX3NjaGVtZV9pc19lbXB0eV9kb2N1bWVudAorCis8U1VCU0VDVElPTiBTdGFu
ZGFyZD4KK1dlYktpdFNlY3VyaXR5TWFuYWdlckNsYXNzCitXRUJLSVRfVFlQRV9TRUNVUklUWV9N
QU5BR0VSCitXRUJLSVRfU0VDVVJJVFlfTUFOQUdFUgorV0VCS0lUX0lTX1NFQ1VSSVRZX01BTkFH
RVIKK1dFQktJVF9TRUNVUklUWV9NQU5BR0VSX0NMQVNTCitXRUJLSVRfSVNfU0VDVVJJVFlfTUFO
QUdFUl9DTEFTUworV0VCS0lUX1NFQ1VSSVRZX01BTkFHRVJfR0VUX0NMQVNTCisKKzxTVUJTRUNU
SU9OIFByaXZhdGU+CitXZWJLaXRTZWN1cml0eU1hbmFnZXJQcml2YXRlCit3ZWJraXRfc2VjdXJp
dHlfbWFuYWdlcl9nZXRfdHlwZQorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktp
dFNlY3VyaXR5T3JpZ2luPC9GSUxFPgorV2ViS2l0U2VjdXJpdHlPcmlnaW4KK3dlYmtpdF9zZWN1
cml0eV9vcmlnaW5fbmV3Cit3ZWJraXRfc2VjdXJpdHlfb3JpZ2luX25ld19mb3JfdXJpCit3ZWJr
aXRfc2VjdXJpdHlfb3JpZ2luX3JlZgord2Via2l0X3NlY3VyaXR5X29yaWdpbl91bnJlZgord2Vi
a2l0X3NlY3VyaXR5X29yaWdpbl9nZXRfcHJvdG9jb2wKK3dlYmtpdF9zZWN1cml0eV9vcmlnaW5f
Z2V0X2hvc3QKK3dlYmtpdF9zZWN1cml0eV9vcmlnaW5fZ2V0X3BvcnQKK3dlYmtpdF9zZWN1cml0
eV9vcmlnaW5faXNfb3BhcXVlCit3ZWJraXRfc2VjdXJpdHlfb3JpZ2luX3RvX3N0cmluZworCis8
U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dFQktJVF9UWVBFX1NFQ1VSSVRZX09SSUdJTgorCis8U1VC
U0VDVElPTiBQcml2YXRlPgord2Via2l0X3NlY3VyaXR5X29yaWdpbl9nZXRfdHlwZQorPC9TRUNU
SU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktpdFdlYnNpdGVEYXRhTWFuYWdlcjwvRklMRT4K
K1dlYktpdFdlYnNpdGVEYXRhTWFuYWdlcgord2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX25l
dword2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX25ld19lcGhlbWVyYWwKK3dlYmtpdF93ZWJz
aXRlX2RhdGFfbWFuYWdlcl9pc19lcGhlbWVyYWwKK3dlYmtpdF93ZWJzaXRlX2RhdGFfbWFuYWdl
cl9nZXRfYmFzZV9kYXRhX2RpcmVjdG9yeQord2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX2dl
dF9iYXNlX2NhY2hlX2RpcmVjdG9yeQord2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX2dldF9s
b2NhbF9zdG9yYWdlX2RpcmVjdG9yeQord2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX2dldF9k
aXNrX2NhY2hlX2RpcmVjdG9yeQord2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX2dldF9vZmZs
aW5lX2FwcGxpY2F0aW9uX2NhY2hlX2RpcmVjdG9yeQord2Via2l0X3dlYnNpdGVfZGF0YV9tYW5h
Z2VyX2dldF9pbmRleGVkZGJfZGlyZWN0b3J5Cit3ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJf
Z2V0X3dlYnNxbF9kaXJlY3RvcnkKK3dlYmtpdF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9nZXRfY29v
a2llX21hbmFnZXIKK3dlYmtpdF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9mZXRjaAord2Via2l0X3dl
YnNpdGVfZGF0YV9tYW5hZ2VyX2ZldGNoX2ZpbmlzaAord2Via2l0X3dlYnNpdGVfZGF0YV9tYW5h
Z2VyX3JlbW92ZQord2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX3JlbW92ZV9maW5pc2gKK3dl
YmtpdF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9jbGVhcgord2Via2l0X3dlYnNpdGVfZGF0YV9tYW5h
Z2VyX2NsZWFyX2ZpbmlzaAorCis8U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dlYktpdFdlYnNpdGVE
YXRhTWFuYWdlckNsYXNzCitXRUJLSVRfVFlQRV9XRUJTSVRFX0RBVEFfTUFOQUdFUgorV0VCS0lU
X1dFQlNJVEVfREFUQV9NQU5BR0VSCitXRUJLSVRfSVNfV0VCU0lURV9EQVRBX01BTkFHRVIKK1dF
QktJVF9XRUJTSVRFX0RBVEFfTUFOQUdFUl9DTEFTUworV0VCS0lUX0lTX1dFQlNJVEVfREFUQV9N
QU5BR0VSX0NMQVNTCitXRUJLSVRfV0VCU0lURV9EQVRBX01BTkFHRVJfR0VUX0NMQVNTCisKKzxT
VUJTRUNUSU9OIFByaXZhdGU+CitXZWJLaXRXZWJzaXRlRGF0YU1hbmFnZXJQcml2YXRlCit3ZWJr
aXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJfZ2V0X3R5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+
Cis8RklMRT5XZWJLaXRXZWJzaXRlRGF0YTwvRklMRT4KK1dlYktpdFdlYnNpdGVEYXRhCitXZWJL
aXRXZWJzaXRlRGF0YVR5cGVzCit3ZWJraXRfd2Vic2l0ZV9kYXRhX3JlZgord2Via2l0X3dlYnNp
dGVfZGF0YV91bnJlZgord2Via2l0X3dlYnNpdGVfZGF0YV9nZXRfbmFtZQord2Via2l0X3dlYnNp
dGVfZGF0YV9nZXRfdHlwZXMKK3dlYmtpdF93ZWJzaXRlX2RhdGFfZ2V0X3NpemUKKworPFNVQlNF
Q1RJT04gU3RhbmRhcmQ+CitXRUJLSVRfVFlQRV9XRUJTSVRFX0RBVEEKKworPFNVQlNFQ1RJT04g
UHJpdmF0ZT4KK3dlYmtpdF93ZWJzaXRlX2RhdGFfZ2V0X3R5cGUKKzwvU0VDVElPTj4KKworPFNF
Q1RJT04+Cis8RklMRT5XZWJLaXROZXR3b3JrUHJveHlTZXR0aW5nczwvRklMRT4KK1dlYktpdE5l
dHdvcmtQcm94eVNldHRpbmdzCit3ZWJraXRfbmV0d29ya19wcm94eV9zZXR0aW5nc19uZXcKK3dl
YmtpdF9uZXR3b3JrX3Byb3h5X3NldHRpbmdzX2NvcHkKK3dlYmtpdF9uZXR3b3JrX3Byb3h5X3Nl
dHRpbmdzX2ZyZWUKK3dlYmtpdF9uZXR3b3JrX3Byb3h5X3NldHRpbmdzX2FkZF9wcm94eV9mb3Jf
c2NoZW1lCisKKzxTVUJTRUNUSU9OIFByaXZhdGU+Cit3ZWJraXRfbmV0d29ya19wcm94eV9zZXR0
aW5nc19nZXRfdHlwZQorCis8U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dFQktJVF9UWVBFX05FVFdP
UktfTkVUV09SS19QUk9YWV9TRVRUSU5HUworPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxF
PldlYktpdEF1dG9tYXRpb25TZXNzaW9uPC9GSUxFPgorV2ViS2l0QXV0b21hdGlvblNlc3Npb24K
K3dlYmtpdF9hdXRvbWF0aW9uX3Nlc3Npb25fZ2V0X2lkCit3ZWJraXRfYXV0b21hdGlvbl9zZXNz
aW9uX3NldF9hcHBsaWNhdGlvbl9pbmZvCit3ZWJraXRfYXV0b21hdGlvbl9zZXNzaW9uX2dldF9h
cHBsaWNhdGlvbl9pbmZvCisKKzxTVUJTRUNUSU9OIFByaXZhdGU+CitXZWJLaXRBdXRvbWF0aW9u
U2Vzc2lvblByaXZhdGUKK3dlYmtpdF9hdXRvbWF0aW9uX3Nlc3Npb25fZ2V0X3R5cGUKKworPFNV
QlNFQ1RJT04gU3RhbmRhcmQ+CitXZWJLaXRBdXRvbWF0aW9uU2Vzc2lvbkNsYXNzCitXRUJLSVRf
VFlQRV9BVVRPTUFUSU9OX1NFU1NJT04KK1dFQktJVF9BVVRPTUFUSU9OX1NFU1NJT04KK1dFQktJ
VF9JU19BVVRPTUFUSU9OX1NFU1NJT04KK1dFQktJVF9BVVRPTUFUSU9OX1NFU1NJT05fQ0xBU1MK
K1dFQktJVF9JU19BVVRPTUFUSU9OX1NFU1NJT05fQ0xBU1MKK1dFQktJVF9BVVRPTUFUSU9OX1NF
U1NJT05fR0VUX0NMQVNTCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+V2ViS2l0QXBw
bGljYXRpb25JbmZvPC9GSUxFPgorV2ViS2l0QXBwbGljYXRpb25JbmZvCit3ZWJraXRfYXBwbGlj
YXRpb25faW5mb19uZXcKK3dlYmtpdF9hcHBsaWNhdGlvbl9pbmZvX3JlZgord2Via2l0X2FwcGxp
Y2F0aW9uX2luZm9fdW5yZWYKK3dlYmtpdF9hcHBsaWNhdGlvbl9pbmZvX3NldF9uYW1lCit3ZWJr
aXRfYXBwbGljYXRpb25faW5mb19nZXRfbmFtZQord2Via2l0X2FwcGxpY2F0aW9uX2luZm9fc2V0
X3ZlcnNpb24KK3dlYmtpdF9hcHBsaWNhdGlvbl9pbmZvX2dldF92ZXJzaW9uCisKKzxTVUJTRUNU
SU9OIFByaXZhdGU+Cit3ZWJraXRfYXBwbGljYXRpb25faW5mb19nZXRfdHlwZQorCis8U1VCU0VD
VElPTiBTdGFuZGFyZD4KK1dFQktJVF9UWVBFX0FQUExJQ0FUSU9OX0lORk8KKzwvU0VDVElPTj4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvZG9jcy93cGUtZG9j
cy5zZ21sIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9kb2NzL3dwZS1kb2NzLnNn
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZDE1MjU2NmY2MWEyNGI0OGFiMmY0N2UxN2UzOTQyNTgxNWFiNzIyNgot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvZG9jcy93
cGUtZG9jcy5zZ21sCkBAIC0wLDAgKzEsNzkgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFE
T0NUWVBFIGJvb2sgUFVCTElDICItLy9PQVNJUy8vRFREIERvY0Jvb2sgWE1MIFY0LjEuMi8vRU4i
CisgICAgICAgICAgICAgICAiaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9kb2Nib29rL3htbC80
LjEuMi9kb2Nib29reC5kdGQiIFsKKzwhRU5USVRZIHZlcnNpb24gU1lTVEVNICJ2ZXJzaW9uLnht
bCI+CitdPgorPGJvb2sgaWQ9ImluZGV4IiB4bWxuczp4aT0iaHR0cDovL3d3dy53My5vcmcvMjAw
My9YSW5jbHVkZSI+CisgIDxib29raW5mbz4KKyAgICA8dGl0bGU+V1BFIFJlZmVyZW5jZSBNYW51
YWw8L3RpdGxlPgorICAgIDxyZWxlYXNlaW5mbz5mb3IgV1BFIFdlYktpdCAmdmVyc2lvbjs8L3Jl
bGVhc2VpbmZvPgorICA8L2Jvb2tpbmZvPgorCisgIDxjaGFwdGVyPgorICAgIDx0aXRsZT5DbGFz
cyBPdmVydmlldzwvdGl0bGU+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdFdlYkNv
bnRleHQueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdFdlYlZpZXcueG1s
Ii8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdFdlYlZpZXdCYWNrZW5kLnhtbCIv
PgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJLaXRBdXRoZW50aWNhdGlvblJlcXVlc3Qu
eG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdEJhY2tGb3J3YXJkTGlzdC54
bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0QmFja0ZvcndhcmRMaXN0SXRl
bS54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0U2V0dGluZ3MueG1sIi8+
CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdFVSSVJlcXVlc3QueG1sIi8+CisgICAg
PHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdFVSSVJlc3BvbnNlLnhtbCIvPgorICAgIDx4aTpp
bmNsdWRlIGhyZWY9InhtbC9XZWJLaXRXaW5kb3dQcm9wZXJ0aWVzLnhtbCIvPgorICAgIDx4aTpp
bmNsdWRlIGhyZWY9InhtbC9XZWJLaXREb3dubG9hZC54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBo
cmVmPSJ4bWwvV2ViS2l0UGVybWlzc2lvblJlcXVlc3QueG1sIi8+CisgICAgPHhpOmluY2x1ZGUg
aHJlZj0ieG1sL1dlYktpdEdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3QueG1sIi8+CisgICAg
PHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdEluc3RhbGxNaXNzaW5nTWVkaWFQbHVnaW5zUGVy
bWlzc2lvblJlcXVlc3QueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdE5h
dmlnYXRpb25BY3Rpb24ueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdFVz
ZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0LnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9Inht
bC9XZWJLaXRQb2xpY3lEZWNpc2lvbi54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwv
V2ViS2l0TmF2aWdhdGlvblBvbGljeURlY2lzaW9uLnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhy
ZWY9InhtbC9XZWJLaXRSZXNwb25zZVBvbGljeURlY2lzaW9uLnhtbCIvPgorICAgIDx4aTppbmNs
dWRlIGhyZWY9InhtbC9XZWJLaXRIaXRUZXN0UmVzdWx0LnhtbCIvPgorICAgIDx4aTppbmNsdWRl
IGhyZWY9InhtbC9XZWJLaXRFZGl0b3JTdGF0ZS54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVm
PSJ4bWwvV2ViS2l0V2ViUmVzb3VyY2UueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1s
L1dlYktpdEVycm9yLnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJLaXRGYXZp
Y29uRGF0YWJhc2UueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdEZpbGVD
aG9vc2VyUmVxdWVzdC54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0Rmlu
ZENvbnRyb2xsZXIueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdENvb2tp
ZU1hbmFnZXIueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdFBsdWdpbi54
bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0VVJJU2NoZW1lUmVxdWVzdC54
bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0Q29udGV4dE1lbnUueG1sIi8+
CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdENvbnRleHRNZW51SXRlbS54bWwiLz4K
KyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0Rm9ybVN1Ym1pc3Npb25SZXF1ZXN0Lnht
bCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJLaXRTZWN1cml0eU1hbmFnZXIueG1s
Ii8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdFVzZXJDb250ZW50TWFuYWdlci54
bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0VXNlckNvbnRlbnQueG1sIi8+
CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdE5vdGlmaWNhdGlvbi54bWwiLz4KKyAg
ICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0Tm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVl
c3QueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdFNlY3VyaXR5T3JpZ2lu
LnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJLaXRXZWJzaXRlRGF0YU1hbmFn
ZXIueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdFdlYnNpdGVEYXRhLnht
bCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJLaXROZXR3b3JrUHJveHlTZXR0aW5n
cy54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0QXV0b21hdGlvblNlc3Np
b24ueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdEFwcGxpY2F0aW9uSW5m
by54bWwiLz4KKyAgPC9jaGFwdGVyPgorCisgIDxpbmRleCBpZD0iaW5kZXgtYWxsIj4KKyAgICA8
dGl0bGU+SW5kZXg8L3RpdGxlPgorICA8L2luZGV4PgorCisgIDxpbmRleCBpZD0iYXBpLWluZGV4
LWRlcHJlY2F0ZWQiIHJvbGU9ImRlcHJlY2F0ZWQiPgorICAgIDx0aXRsZT5JbmRleCBvZiBkZXBy
ZWNhdGVkIHN5bWJvbHM8L3RpdGxlPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9hcGktaW5k
ZXgtZGVwcmVjYXRlZC54bWwiPjx4aTpmYWxsYmFjayAvPjwveGk6aW5jbHVkZT4KKyAgPC9pbmRl
eD4KKworICA8aW5kZXggaWQ9ImFwaS1pbmRleC0yLTIwIiByb2xlPSIyLjIwIj4KKyAgICA8dGl0
bGU+SW5kZXggb2YgbmV3IHN5bWJvbHMgaW4gMi4yMDwvdGl0bGU+CisgICAgPHhpOmluY2x1ZGUg
aHJlZj0ieG1sL2FwaS1pbmRleC0yLjIwLnhtbCI+PHhpOmZhbGxiYWNrIC8+PC94aTppbmNsdWRl
PgorICA8L2luZGV4PgorCisgIDxpbmRleCBpZD0iYXBpLWluZGV4LTItMjIiIHJvbGU9IjIuMjIi
PgorICAgIDx0aXRsZT5JbmRleCBvZiBuZXcgc3ltYm9scyBpbiAyLjIyPC90aXRsZT4KKyAgICA8
eGk6aW5jbHVkZSBocmVmPSJ4bWwvYXBpLWluZGV4LTIuMjIueG1sIj48eGk6ZmFsbGJhY2sgLz48
L3hpOmluY2x1ZGU+CisgIDwvaW5kZXg+CisKKyAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL2Fubm90
YXRpb24tZ2xvc3NhcnkueG1sIj48eGk6ZmFsbGJhY2sgLz48L3hpOmluY2x1ZGU+Cis8L2Jvb2s+
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJ
L3dwZS9XZWJLaXRXZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvQVBJL3dwZS9XZWJLaXRXZWJQYWdlLmgKaW5kZXggMzBlMGY5MzM1OGMxYmRkOWYxMWM4
NDFkNmVjZmMwZmQxNzQyYzdkMC4uOTU1ZjA4N2U0ZjczZjFmZGY3ZTNiNDc5NzBjNmMxYTFlZTg1
OWEwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0FQSS93cGUvV2ViS2l0V2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9BUEkvd3BlL1dlYktpdFdlYlBhZ2UuaApAQCAtNzQsNiArNzQsOSBAQCBz
dHJ1Y3QgX1dlYktpdFdlYlBhZ2VDbGFzcyB7CiBXRUJLSVRfQVBJIEdUeXBlCiB3ZWJraXRfd2Vi
X3BhZ2VfZ2V0X3R5cGUgICAgICAgICAodm9pZCk7CiAKK1dFQktJVF9BUEkgV2ViS2l0RE9NRG9j
dW1lbnQgKgord2Via2l0X3dlYl9wYWdlX2dldF9kb21fZG9jdW1lbnQgKFdlYktpdFdlYlBhZ2Ug
KndlYl9wYWdlKTsKKwogV0VCS0lUX0FQSSBndWludDY0CiB3ZWJraXRfd2ViX3BhZ2VfZ2V0X2lk
ICAgICAgICAgICAoV2ViS2l0V2ViUGFnZSAqd2ViX3BhZ2UpOwogCkBAIC04Niw5ICs4OSw2IEBA
IHdlYmtpdF93ZWJfcGFnZV9nZXRfbWFpbl9mcmFtZSAgIChXZWJLaXRXZWJQYWdlICp3ZWJfcGFn
ZSk7CiBXRUJLSVRfQVBJIFdlYktpdFdlYkVkaXRvciAqCiB3ZWJraXRfd2ViX3BhZ2VfZ2V0X2Vk
aXRvciAgICAgICAoV2ViS2l0V2ViUGFnZSAqd2ViX3BhZ2UpOwogCi1XRUJLSVRfQVBJIFdlYktp
dERPTURvY3VtZW50ICoKLXdlYmtpdF93ZWJfcGFnZV9nZXRfZG9tX2RvY3VtZW50IChXZWJLaXRX
ZWJQYWdlICp3ZWJfcGFnZSk7Ci0KIEdfRU5EX0RFQ0xTCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS93cGUvZG9jcy93cGUt
d2ViZXh0ZW5zaW9ucy0wLjEtc2VjdGlvbnMudHh0IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL0FQSS93cGUvZG9jcy93cGUtd2ViZXh0ZW5zaW9ucy0wLjEtc2VjdGlv
bnMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmExZDY4NDRkZGNmZWM2NjkwZDhkMTQxMmI2YWFhNjFjMWYwNTBh
MjQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvQVBJL3dwZS9kb2NzL3dwZS13ZWJleHRlbnNpb25zLTAuMS1zZWN0aW9ucy50eHQKQEAg
LTAsMCArMSwyNDUgQEAKKzxTRUNUSU9OPgorPEZJTEU+d2ViZXh0ZW5zaW9uc2RlZmluZXM8L0ZJ
TEU+Cis8VElUTEU+V2ViRXh0ZW5zaW9uRGVmaW5lczwvVElUTEU+Cis8U1VCU0VDVElPTiBQcml2
YXRlPgorV0VCS0lUX0FQSQorV0VCS0lUX0RFUFJFQ0FURUQKK1dFQktJVF9ERVBSRUNBVEVEX0ZP
UgorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktpdFdlYkV4dGVuc2lvbjwvRklM
RT4KK1dlYktpdFdlYkV4dGVuc2lvbgorV2ViS2l0V2ViRXh0ZW5zaW9uSW5pdGlhbGl6ZUZ1bmN0
aW9uCitXZWJLaXRXZWJFeHRlbnNpb25Jbml0aWFsaXplV2l0aFVzZXJEYXRhRnVuY3Rpb24KK3dl
YmtpdF93ZWJfZXh0ZW5zaW9uX2dldF9wYWdlCisKKzxTVUJTRUNUSU9OIFN0YW5kYXJkPgorV2Vi
S2l0V2ViRXh0ZW5zaW9uQ2xhc3MKK1dFQktJVF9UWVBFX1dFQl9FWFRFTlNJT04KK1dFQktJVF9X
RUJfRVhURU5TSU9OCitXRUJLSVRfSVNfV0VCX0VYVEVOU0lPTgorV0VCS0lUX1dFQl9FWFRFTlNJ
T05fQ0xBU1MKK1dFQktJVF9JU19XRUJfRVhURU5TSU9OX0NMQVNTCitXRUJLSVRfV0VCX0VYVEVO
U0lPTl9HRVRfQ0xBU1MKKworPFNVQlNFQ1RJT04gUHJpdmF0ZT4KK1dlYktpdFdlYkV4dGVuc2lv
blByaXZhdGUKK3dlYmtpdF93ZWJfZXh0ZW5zaW9uX2dldF90eXBlCis8L1NFQ1RJT04+CisKKzxT
RUNUSU9OPgorPEZJTEU+V2ViS2l0V2ViUGFnZTwvRklMRT4KK1dlYktpdFdlYlBhZ2UKK1dlYktp
dEZvcm1TdWJtaXNzaW9uU3RlcAord2Via2l0X3dlYl9wYWdlX2dldF9kb21fZG9jdW1lbnQKK3dl
YmtpdF93ZWJfcGFnZV9nZXRfaWQKK3dlYmtpdF93ZWJfcGFnZV9nZXRfdXJpCit3ZWJraXRfd2Vi
X3BhZ2VfZ2V0X21haW5fZnJhbWUKK3dlYmtpdF93ZWJfcGFnZV9nZXRfZWRpdG9yCisKKzxTVUJT
RUNUSU9OIFN0YW5kYXJkPgorV2ViS2l0V2ViUGFnZUNsYXNzCitXRUJLSVRfVFlQRV9XRUJfUEFH
RQorV0VCS0lUX1dFQl9QQUdFCitXRUJLSVRfSVNfV0VCX1BBR0UKK1dFQktJVF9XRUJfUEFHRV9D
TEFTUworV0VCS0lUX0lTX1dFQl9QQUdFX0NMQVNTCitXRUJLSVRfV0VCX1BBR0VfR0VUX0NMQVNT
CitXRUJLSVRfVFlQRV9GT1JNX1NVQk1JU1NJT05fU1RFUAorCis8U1VCU0VDVElPTiBQcml2YXRl
PgorV2ViS2l0V2ViUGFnZVByaXZhdGUKK3dlYmtpdF93ZWJfcGFnZV9nZXRfdHlwZQord2Via2l0
X2Zvcm1fc3VibWlzc2lvbl9zdGVwX2dldF90eXBlCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgor
PEZJTEU+V2ViS2l0V2ViRWRpdG9yPC9GSUxFPgorV2ViS2l0V2ViRWRpdG9yCit3ZWJraXRfd2Vi
X2VkaXRvcl9nZXRfcGFnZQorCis8U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dlYktpdFdlYkVkaXRv
ckNsYXNzCitXRUJLSVRfVFlQRV9XRUJfRURJVE9SCitXRUJLSVRfV0VCX0VESVRPUgorV0VCS0lU
X0lTX1dFQl9FRElUT1IKK1dFQktJVF9XRUJfRURJVE9SX0NMQVNTCitXRUJLSVRfSVNfV0VCX0VE
SVRPUl9DTEFTUworV0VCS0lUX1dFQl9FRElUT1JfR0VUX0NMQVNTCisKKzxTVUJTRUNUSU9OIFBy
aXZhdGU+CitXZWJLaXRXZWJFZGl0b3JQcml2YXRlCit3ZWJraXRfd2ViX2VkaXRvcl9nZXRfdHlw
ZQorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktpdEZyYW1lPC9GSUxFPgorV2Vi
S2l0RnJhbWUKK3dlYmtpdF9mcmFtZV9pc19tYWluX2ZyYW1lCit3ZWJraXRfZnJhbWVfZ2V0X3Vy
aQord2Via2l0X2ZyYW1lX2dldF9qc19jb250ZXh0Cit3ZWJraXRfZnJhbWVfZ2V0X2pzX2NvbnRl
eHRfZm9yX3NjcmlwdF93b3JsZAord2Via2l0X2ZyYW1lX2dldF9qc192YWx1ZV9mb3JfZG9tX29i
amVjdAord2Via2l0X2ZyYW1lX2dldF9qc192YWx1ZV9mb3JfZG9tX29iamVjdF9pbl9zY3JpcHRf
d29ybGQKKworPFNVQlNFQ1RJT04gU3RhbmRhcmQ+CitXZWJLaXRGcmFtZUNsYXNzCitXRUJLSVRf
VFlQRV9GUkFNRQorV0VCS0lUX0ZSQU1FCitXRUJLSVRfSVNfRlJBTUUKK1dFQktJVF9GUkFNRV9D
TEFTUworV0VCS0lUX0lTX0ZSQU1FX0NMQVNTCitXRUJLSVRfRlJBTUVfR0VUX0NMQVNTCisKKzxT
VUJTRUNUSU9OIFByaXZhdGU+CitXZWJLaXRGcmFtZVByaXZhdGUKK3dlYmtpdF9mcmFtZV9nZXRf
dHlwZQorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktpdFNjcmlwdFdvcmxkPC9G
SUxFPgorV2ViS2l0U2NyaXB0V29ybGQKK3dlYmtpdF9zY3JpcHRfd29ybGRfZ2V0X2RlZmF1bHQK
K3dlYmtpdF9zY3JpcHRfd29ybGRfbmV3Cit3ZWJraXRfc2NyaXB0X3dvcmxkX25ld193aXRoX25h
bWUKK3dlYmtpdF9zY3JpcHRfd29ybGRfZ2V0X25hbWUKKworPFNVQlNFQ1RJT04gU3RhbmRhcmQ+
CitXZWJLaXRTY3JpcHRXb3JsZENsYXNzCitXRUJLSVRfVFlQRV9TQ1JJUFRfV09STEQKK1dFQktJ
VF9TQ1JJUFRfV09STEQKK1dFQktJVF9JU19TQ1JJUFRfV09STEQKK1dFQktJVF9TQ1JJUFRfV09S
TERfQ0xBU1MKK1dFQktJVF9JU19TQ1JJUFRfV09STERfQ0xBU1MKK1dFQktJVF9TQ1JJUFRfV09S
TERfR0VUX0NMQVNTCisKKzxTVUJTRUNUSU9OIFByaXZhdGU+CitXZWJLaXRTY3JpcHRXb3JsZFBy
aXZhdGUKK3dlYmtpdF9zY3JpcHRfd29ybGRfZ2V0X3R5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJ
T04+Cis8RklMRT5XZWJLaXRXZWJIaXRUZXN0UmVzdWx0PC9GSUxFPgorV2ViS2l0V2ViSGl0VGVz
dFJlc3VsdAord2Via2l0X3dlYl9oaXRfdGVzdF9yZXN1bHRfZ2V0X25vZGUKKworPFNVQlNFQ1RJ
T04gU3RhbmRhcmQ+CitXZWJLaXRXZWJIaXRUZXN0UmVzdWx0Q2xhc3MKK1dFQktJVF9UWVBFX1dF
Ql9ISVRfVEVTVF9SRVNVTFQKK1dFQktJVF9XRUJfSElUX1RFU1RfUkVTVUxUCitXRUJLSVRfSVNf
V0VCX0hJVF9URVNUX1JFU1VMVAorV0VCS0lUX1dFQl9ISVRfVEVTVF9SRVNVTFRfQ0xBU1MKK1dF
QktJVF9JU19XRUJfSElUX1RFU1RfUkVTVUxUX0NMQVNTCitXRUJLSVRfV0VCX0hJVF9URVNUX1JF
U1VMVF9HRVRfQ0xBU1MKKworPFNVQlNFQ1RJT04gUHJpdmF0ZT4KK1dlYktpdFdlYkhpdFRlc3RS
ZXN1bHRQcml2YXRlCit3ZWJraXRfd2ViX2hpdF90ZXN0X3Jlc3VsdF9nZXRfdHlwZQorPC9TRUNU
SU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktpdENvbnNvbGVNZXNzYWdlPC9GSUxFPgorV2Vi
S2l0Q29uc29sZU1lc3NhZ2UKK1dlYktpdENvbnNvbGVNZXNzYWdlU291cmNlCitXZWJLaXRDb25z
b2xlTWVzc2FnZUxldmVsCit3ZWJraXRfY29uc29sZV9tZXNzYWdlX2NvcHkKK3dlYmtpdF9jb25z
b2xlX21lc3NhZ2VfZnJlZQord2Via2l0X2NvbnNvbGVfbWVzc2FnZV9nZXRfc291cmNlCit3ZWJr
aXRfY29uc29sZV9tZXNzYWdlX2dldF9sZXZlbAord2Via2l0X2NvbnNvbGVfbWVzc2FnZV9nZXRf
dGV4dAord2Via2l0X2NvbnNvbGVfbWVzc2FnZV9nZXRfbGluZQord2Via2l0X2NvbnNvbGVfbWVz
c2FnZV9nZXRfc291cmNlX2lkCisKKzxTVUJTRUNUSU9OIFN0YW5kYXJkPgorV0VCS0lUX1RZUEVf
Q09OU09MRV9NRVNTQUdFCitXRUJLSVRfVFlQRV9DT05TT0xFX01FU1NBR0VfTEVWRUwKK1dFQktJ
VF9UWVBFX0NPTlNPTEVfTUVTU0FHRV9TT1VSQ0UKKworPFNVQlNFQ1RJT04gUHJpdmF0ZT4KK3dl
YmtpdF9jb25zb2xlX21lc3NhZ2VfZ2V0X3R5cGUKK3dlYmtpdF9jb25zb2xlX21lc3NhZ2VfbGV2
ZWxfZ2V0X3R5cGUKK3dlYmtpdF9jb25zb2xlX21lc3NhZ2Vfc291cmNlX2dldF90eXBlCis8L1NF
Q1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+V2ViS2l0RE9NT2JqZWN0PC9GSUxFPgorPFRJVExF
PldlYktpdERPTU9iamVjdDwvVElUTEU+CitXZWJLaXRET01PYmplY3QKKworPFNVQlNFQ1RJT04g
U3RhbmRhcmQ+CitXZWJLaXRET01PYmplY3RDbGFzcworV0VCS0lUX0RPTV9UWVBFX09CSkVDVAor
V0VCS0lUX0RPTV9PQkpFQ1QKK1dFQktJVF9ET01fSVNfT0JKRUNUCitXRUJLSVRfRE9NX09CSkVD
VF9DTEFTUworV0VCS0lUX0RPTV9JU19PQkpFQ1RfQ0xBU1MKK1dFQktJVF9ET01fT0JKRUNUX0dF
VF9DTEFTUworCis8U1VCU0VDVElPTiBQcml2YXRlPgorV2ViS2l0RE9NT2JqZWN0UHJpdmF0ZQor
d2Via2l0X2RvbV9vYmplY3RfZ2V0X3R5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklM
RT5XZWJLaXRET01Eb2N1bWVudDwvRklMRT4KKzxUSVRMRT5XZWJLaXRET01Eb2N1bWVudDwvVElU
TEU+CitXZWJLaXRET01Eb2N1bWVudAorCis8U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dlYktpdERP
TURvY3VtZW50Q2xhc3MKK1dFQktJVF9ET01fVFlQRV9ET0NVTUVOVAorV0VCS0lUX0RPTV9ET0NV
TUVOVAorV0VCS0lUX0RPTV9JU19ET0NVTUVOVAorV0VCS0lUX0RPTV9ET0NVTUVOVF9DTEFTUwor
V0VCS0lUX0RPTV9JU19ET0NVTUVOVF9DTEFTUworV0VCS0lUX0RPTV9ET0NVTUVOVF9HRVRfQ0xB
U1MKKworPFNVQlNFQ1RJT04gUHJpdmF0ZT4KK3dlYmtpdF9kb21fZG9jdW1lbnRfZ2V0X3R5cGUK
KzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXRET01FbGVtZW50PC9GSUxFPgor
PFRJVExFPldlYktpdERPTUVsZW1lbnQ8L1RJVExFPgorV2ViS2l0RE9NRWxlbWVudAorCit3ZWJr
aXRfZG9tX2VsZW1lbnRfaHRtbF9pbnB1dF9lbGVtZW50X2lzX3VzZXJfZWRpdGVkCit3ZWJraXRf
ZG9tX2VsZW1lbnRfaHRtbF9pbnB1dF9lbGVtZW50X2dldF9hdXRvX2ZpbGxlZAord2Via2l0X2Rv
bV9lbGVtZW50X2h0bWxfaW5wdXRfZWxlbWVudF9zZXRfYXV0b19maWxsZWQKK3dlYmtpdF9kb21f
ZWxlbWVudF9odG1sX2lucHV0X2VsZW1lbnRfc2V0X2VkaXRpbmdfdmFsdWUKKworPFNVQlNFQ1RJ
T04gU3RhbmRhcmQ+CitXZWJLaXRET01FbGVtZW50Q2xhc3MKK1dFQktJVF9ET01fVFlQRV9FTEVN
RU5UCitXRUJLSVRfRE9NX0VMRU1FTlQKK1dFQktJVF9ET01fSVNfRUxFTUVOVAorV0VCS0lUX0RP
TV9FTEVNRU5UX0NMQVNTCitXRUJLSVRfRE9NX0lTX0VMRU1FTlRfQ0xBU1MKK1dFQktJVF9ET01f
RUxFTUVOVF9HRVRfQ0xBU1MKKworPFNVQlNFQ1RJT04gUHJpdmF0ZT4KK3dlYmtpdF9kb21fZWxl
bWVudF9nZXRfdHlwZQorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktpdERPTU5v
ZGU8L0ZJTEU+Cis8VElUTEU+V2ViS2l0RE9NTm9kZTwvVElUTEU+CitXZWJLaXRET01Ob2RlCisK
K3dlYmtpdF9kb21fbm9kZV9mb3JfanNfdmFsdWUKKworPFNVQlNFQ1RJT04gU3RhbmRhcmQ+CitX
ZWJLaXRET01Ob2RlQ2xhc3MKK1dFQktJVF9ET01fVFlQRV9OT0RFCitXRUJLSVRfRE9NX05PREUK
K1dFQktJVF9ET01fSVNfTk9ERQorV0VCS0lUX0RPTV9OT0RFX0NMQVNTCitXRUJLSVRfRE9NX0lT
X05PREVfQ0xBU1MKK1dFQktJVF9ET01fTk9ERV9HRVRfQ0xBU1MKKworPFNVQlNFQ1RJT04gUHJp
dmF0ZT4KK1dlYktpdERPTU5vZGVQcml2YXRlCit3ZWJraXRfZG9tX25vZGVfZ2V0X3R5cGUKKzwv
U0VDVElPTj4KKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0FQSS93cGUvZG9jcy93cGUtd2ViZXh0ZW5zaW9ucy1kb2NzLnNnbWwgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL3dwZS9kb2NzL3dwZS13ZWJleHRl
bnNpb25zLWRvY3Muc2dtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMDIwMmE2ZmIwMGMxMjI0NDYzMTRiOWIxY2E4
MjljNTUzZDExYWYwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL0FQSS93cGUvZG9jcy93cGUtd2ViZXh0ZW5zaW9ucy1kb2NzLnNnbWwK
QEAgLTAsMCArMSw1MSBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IURPQ1RZUEUgYm9vayBQ
VUJMSUMgIi0vL09BU0lTLy9EVEQgRG9jQm9vayBYTUwgVjQuMS4yLy9FTiIKKyAgICAgICAgICAg
ICAgICJodHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2RvY2Jvb2sveG1sLzQuMS4yL2RvY2Jvb2t4
LmR0ZCIgWworPCFFTlRJVFkgdmVyc2lvbiBTWVNURU0gInZlcnNpb24ueG1sIj4KK10+Cis8Ym9v
ayBpZD0iaW5kZXgiIHhtbG5zOnhpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAzL1hJbmNsdWRlIj4K
KyAgPGJvb2tpbmZvPgorICAgIDx0aXRsZT5XUEUgV2ViRXh0ZW5zaW9ucyBhbmQgRE9NIFJlZmVy
ZW5jZSBNYW51YWw8L3RpdGxlPgorICAgIDxyZWxlYXNlaW5mbz5mb3IgV1BFIFdlYktpdCAmdmVy
c2lvbjs8L3JlbGVhc2VpbmZvPgorICA8L2Jvb2tpbmZvPgorCisgIDxjaGFwdGVyPgorICAgIDx0
aXRsZT5XZWIgRXh0ZW5zaW9uczwvdGl0bGU+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dl
YktpdFdlYkV4dGVuc2lvbi54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0
V2ViUGFnZS54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0RnJhbWUueG1s
Ii8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdFNjcmlwdFdvcmxkLnhtbCIvPgor
ICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJLaXRXZWJIaXRUZXN0UmVzdWx0LnhtbCIvPgor
ICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJLaXRXZWJFZGl0b3IueG1sIi8+CisgICAgPHhp
OmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdENvbnNvbGVNZXNzYWdlLnhtbCIvPgorICA8L2NoYXB0
ZXI+CisKKyAgPGNoYXB0ZXI+CisgICAgPHRpdGxlPldlYktpdERPTTwvdGl0bGU+CisgICAgPHhp
OmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdERPTU9iamVjdC54bWwiLz4KKyAgICA8eGk6aW5jbHVk
ZSBocmVmPSJ4bWwvV2ViS2l0RE9NRG9jdW1lbnQueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJl
Zj0ieG1sL1dlYktpdERPTUVsZW1lbnQueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1s
L1dlYktpdERPTU5vZGUueG1sIi8+CisgIDwvY2hhcHRlcj4KKworICA8aW5kZXggaWQ9ImluZGV4
LWFsbCI+CisgICAgPHRpdGxlPkluZGV4PC90aXRsZT4KKyAgPC9pbmRleD4KKworICA8aW5kZXgg
aWQ9ImFwaS1pbmRleC1kZXByZWNhdGVkIiByb2xlPSJkZXByZWNhdGVkIj4KKyAgICA8dGl0bGU+
SW5kZXggb2YgZGVwcmVjYXRlZCBzeW1ib2xzPC90aXRsZT4KKyAgICA8eGk6aW5jbHVkZSBocmVm
PSJ4bWwvYXBpLWluZGV4LWRlcHJlY2F0ZWQueG1sIj48eGk6ZmFsbGJhY2sgLz48L3hpOmluY2x1
ZGU+CisgIDwvaW5kZXg+CisKKyAgPGluZGV4IGlkPSJhcGktaW5kZXgtMi0yMCIgcm9sZT0iMi4y
MCI+CisgICAgPHRpdGxlPkluZGV4IG9mIG5ldyBzeW1ib2xzIGluIDIuMjA8L3RpdGxlPgorICAg
IDx4aTppbmNsdWRlIGhyZWY9InhtbC9hcGktaW5kZXgtMi4yMC54bWwiPjx4aTpmYWxsYmFjayAv
PjwveGk6aW5jbHVkZT4KKyAgPC9pbmRleD4KKworICA8aW5kZXggaWQ9ImFwaS1pbmRleC0yLTIy
IiByb2xlPSIyLjIyIj4KKyAgICA8dGl0bGU+SW5kZXggb2YgbmV3IHN5bWJvbHMgaW4gMi4yMjwv
dGl0bGU+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL2FwaS1pbmRleC0yLjIyLnhtbCI+PHhp
OmZhbGxiYWNrIC8+PC94aTppbmNsdWRlPgorICA8L2luZGV4PgorCisgIDx4aTppbmNsdWRlIGhy
ZWY9InhtbC9hbm5vdGF0aW9uLWdsb3NzYXJ5LnhtbCI+PHhpOmZhbGxiYWNrIC8+PC94aTppbmNs
dWRlPgorPC9ib29rPgpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL0d0a0RvYy5jbWFrZSBiL1Nv
dXJjZS9jbWFrZS9HdGtEb2MuY21ha2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmVlMDU1NTBiODE0NDJlZGJjNjcz
Y2U2NmU3ZDJiNWFmN2JlNGJjOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9jbWFrZS9HdGtE
b2MuY21ha2UKQEAgLTAsMCArMSwxMiBAQAorIyBDYWxscyBzY3JpcHRzIHRvIGdlbmVyYXRlIGRv
Y3VtZW50YXRpb24gdXNpbmcgR1RLLURvYy4KKyMgRG9jdW1lbnRhdGlvbkRlcGVuZGVuY2llcyB2
YXJpYWJsZSBtdXN0IGJlIHNldCBiZWZvcmUgY2FsbGluZyB0aGlzIG1hY3JvLgorbWFjcm8oQURE
X0dUS0RPQ19HRU5FUkFUT1IgX3N0YW1wX25hbWUgX2V4dHJhX2FyZ3MpCisgICAgYWRkX2N1c3Rv
bV9jb21tYW5kKAorICAgICAgICBPVVRQVVQgIiR7Q01BS0VfQklOQVJZX0RJUn0vJHtfc3RhbXBf
bmFtZX0iCisgICAgICAgIERFUEVORFMgJHtEb2N1bWVudGF0aW9uRGVwZW5kZW5jaWVzfQorICAg
ICAgICBDT01NQU5EICR7Q01BS0VfQ09NTUFORH0gLUUgZW52ICJDQz0ke0NNQUtFX0NfQ09NUElM
RVJ9IiAiQ0ZMQUdTPSR7Q01BS0VfQ19GTEFHU30gLVduby11bnVzZWQtcGFyYW1ldGVyIiAke0NN
QUtFX1NPVVJDRV9ESVJ9L1Rvb2xzL2d0a2RvYy9nZW5lcmF0ZS1ndGtkb2MgJHtfZXh0cmFfYXJn
c30KKyAgICAgICAgQ09NTUFORCB0b3VjaCAke19zdGFtcF9uYW1lfQorICAgICAgICBXT1JLSU5H
X0RJUkVDVE9SWSAiJHtDTUFLRV9CSU5BUllfRElSfSIKKyAgICAgICAgVkVSQkFUSU0KKyAgICAp
CitlbmRtYWNybygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvT3B0aW9uc1dQRS5jbWFrZSBi
L1NvdXJjZS9jbWFrZS9PcHRpb25zV1BFLmNtYWtlCmluZGV4IDlkYmE0OWIxMWQ2M2E5MDgxZDVm
NjY3YmU0MmZiNmE1YzFjZDY0Y2MuLmFiYWU5N2Q1NWEzOGQ4ZWI4OTFmMDhkNTBlOTI5ZGJjOThk
NWJiYTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9PcHRpb25zV1BFLmNtYWtlCisrKyBiL1Nv
dXJjZS9jbWFrZS9PcHRpb25zV1BFLmNtYWtlCkBAIC00Niw2ICs0Niw3IEBAIFdFQktJVF9PUFRJ
T05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9XRUJfUlRDIFBSSVZBVEUgJHtFTkFCTEVfRVhQ
RVJJTUVOVEFMX0ZFCiAjIFB1YmxpYyBvcHRpb25zIHNwZWNpZmljIHRvIHRoZSBXUEUgcG9ydC4g
RG8gbm90IGFkZCBhbnkgb3B0aW9ucyBoZXJlIHVubGVzcwogIyB0aGVyZSBpcyBhIHN0cm9uZyBy
ZWFzb24gd2Ugc2hvdWxkIHN1cHBvcnQgY2hhbmdpbmcgdGhlIHZhbHVlIG9mIHRoZSBvcHRpb24s
CiAjIGFuZCB0aGUgb3B0aW9uIGlzIG5vdCByZWxldmFudCB0byBhbnkgb3RoZXIgV2ViS2l0IHBv
cnRzLgorV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0dUS0RPQyAiV2hldGhlciBvciBub3Qg
dG8gdXNlIGdlbmVyYXRlIGd0a2RvYy4iIFBVQkxJQyBPRkYpCiBXRUJLSVRfT1BUSU9OX0RFRklO
RShVU0VfV09GRjIgIldoZXRoZXIgdG8gZW5hYmxlIHN1cHBvcnQgZm9yIFdPRkYyIFdlYiBGb250
cy4iIFBVQkxJQyBPTikKIAogIyBQcml2YXRlIG9wdGlvbnMgc3BlY2lmaWMgdG8gdGhlIFdQRSBw
b3J0LgpAQCAtMTM3LDYgKzEzOCwxMSBAQCBTRVRfQU5EX0VYUE9TRV9UT19CVUlMRChVU0VfQ09P
UkRJTkFURURfR1JBUEhJQ1MgVFJVRSkKIFNFVF9BTkRfRVhQT1NFX1RPX0JVSUxEKFVTRV9DT09S
RElOQVRFRF9HUkFQSElDU19USFJFQURFRCBUUlVFKQogU0VUX0FORF9FWFBPU0VfVE9fQlVJTEQo
VVNFX05JQ09TSUEgVFJVRSkKIAorIyBPdmVycmlkZSB0aGUgY2FjaGVkIHZhcmlhYmxlLCBndGst
ZG9jIGRvZXMgbm90IHJlYWxseSB3b3JrIHdoZW4gY3Jvc3MtYnVpbGRpbmcgb3IgYnVpbGRpbmcg
b24gTWFjLgoraWYgKENNQUtFX0NST1NTQ09NUElMSU5HIE9SIEFQUExFKQorICAgIHNldChFTkFC
TEVfR1RLRE9DIE9GRikKK2VuZGlmICgpCisKIHNldChGT1JXQVJESU5HX0hFQURFUlNfRElSICR7
REVSSVZFRF9TT1VSQ0VTX0RJUn0vRm9yd2FyZGluZ0hlYWRlcnMpCiBzZXQoRk9SV0FSRElOR19I
RUFERVJTX1dQRV9ESVIgJHtGT1JXQVJESU5HX0hFQURFUlNfRElSfS93cGUpCiBzZXQoRk9SV0FS
RElOR19IRUFERVJTX1dQRV9FWFRFTlNJT05fRElSICR7Rk9SV0FSRElOR19IRUFERVJTX0RJUn0v
d3BlLXdlYmV4dGVuc2lvbikKQEAgLTE0NSw0ICsxNTEsNyBAQCBzZXQoREVSSVZFRF9TT1VSQ0VT
X0pBVkFTQ1JJUENPUkVXUEVfRElSICR7REVSSVZFRF9TT1VSQ0VTX0pBVkFTQ1JJUFRDT1JFX0RJ
Un0vagogc2V0KERFUklWRURfU09VUkNFU19KQVZBU0NSSVBDT1JFX0dMSUJfQVBJX0RJUiAke0RF
UklWRURfU09VUkNFU19KQVZBU0NSSVBUQ09SRV9ESVJ9L2phdmFzY3JpcHRjb3Jld3BlL2pzYykK
IHNldChERVJJVkVEX1NPVVJDRVNfV1BFX0FQSV9ESVIgJHtERVJJVkVEX1NPVVJDRVNfV0VCS0lU
X0RJUn0vd3BlKQogCitzZXQoV1BFX1BLR0NPTkZJR19GSUxFICR7Q01BS0VfQklOQVJZX0RJUn0v
d3BlLXdlYmtpdC0ke1dQRV9BUElfVkVSU0lPTn0ucGMpCitzZXQoV1BFV2ViRXh0ZW5zaW9uX1BL
R0NPTkZJR19GSUxFICR7Q01BS0VfQklOQVJZX0RJUn0vd3BlLXdlYi1leHRlbnNpb24tJHtXUEVf
QVBJX1ZFUlNJT059LnBjKQorCiBpbmNsdWRlKEdTdHJlYW1lckNoZWNrcykKZGlmZiAtLWdpdCBh
L1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAxYTU3MTViNjA2YTJhNzg3
NTcxZTE1ZTMzZTBhYTRiZWNiZjcwMWZkLi4wOGE2Y2Y2YzhiMDYxOTE4MjhkOGRiODQ4ZTNmMmUx
ZjNlOTFiNzRkIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTgtMTEtMjEgIENhcmxvcyBFZHVhcmRvIFJhbWFsaG8g
IDxjYWR1YmVudHplbkBnbWFpbC5jb20+CisKKyAgICAgICAgW1dQRV0gQWRkIGd0ay1kb2MKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODkwMAorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBndGstZG9j
IHRvIFdQRSBwb3J0LiBUaGlzIHBhdGNoIHRyaWVzIHRvIHJldXNlIGFzIG11Y2ggY29kZSBmcm9t
CisgICAgICAgIFdlYktpdEdUSysgYXMgcG9zc2libGUuCisKKyAgICAgICAgKiBndGtkb2MvZ2Vu
ZXJhdGUtZ3RrZG9jOiBSZW5hbWVkIGZyb20gVG9vbHMvZ3RrL2dlbmVyYXRlLWd0a2RvYy4KKyAg
ICAgICAgKGdldF9ndGtkb2NfbW9kdWxlX3BhdGhzKTogQWRkIEdESyBhbmQgR1RLIG9ubHkgaWYg
YnVpbGRpbmcgZm9yIEdUSy4KKyAgICAgICAgKHByZXBhcmVfZW52aXJvbm1lbnRfZm9yX2d0a2Rv
Y19nZW5lcmF0aW9uKToKKyAgICAgICAgKGJ1aWxkX2d0a2RvY19mb3Jfd3BlKTogQ29kZSB0byBn
ZW5lcmF0ZSBkb2MgZm9yIFdQRS4KKyAgICAgICAgKGJ1aWxkX2d0a2RvY19mb3Jfd2tndGspOiBD
b2RlIHRvIGdlbmVyYXRlIGRvYyBmb3IgV2ViS2l0R1RLKy4gTW92ZWQgZnJvbSBtYWluLgorICAg
ICAgICAqIGd0a2RvYy9ndGtkb2MucHk6IFJlbmFtZWQgZnJvbSBUb29scy9ndGsvZ3RrZG9jLnB5
LgorICAgICAgICAoR1RLRG9jLl9faW5pdF9fKTogSW5pdGlhbGl6ZWQgcmVxdWlyZWQgdmFyaWFi
bGVzIGFjY29yZGluZyB0byBweWxpbnQuCisgICAgICAgIChHVEtEb2MuYXBpX21pc3NpbmdfZG9j
dW1lbnRhdGlvbik6CisgICAgICAgICogd3BlL2luc3RhbGwtZGVwZW5kZW5jaWVzOiBBZGQgZ3Rr
ZG9jIGRlcGVuZGVuY3kuCisKIDIwMTgtMTEtMjAgIEplZmYgTWlsbGVyICA8amVmZm1AYXBwbGUu
Y29tPgogCiAgICAgICAgIFJldHVybiBudWxscHRyIGltbWVkaWF0ZWx5IGlmIHRoZSBrZXkgZG9l
c24ndCBleGlzdCBpbiB0aGUgSGFzaE1hcC4KZGlmZiAtLWdpdCBhL1Rvb2xzL2d0ay9nZW5lcmF0
ZS1ndGtkb2MgYi9Ub29scy9ndGsvZ2VuZXJhdGUtZ3RrZG9jCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDc1NQppbmRleCA0NWMyM2RmYjEyZjFjODkzYTI2YzhkM2U3YjNmMGE0Y2EyYTJiNzI0Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Rvb2xzL2d0ay9nZW5l
cmF0ZS1ndGtkb2MKKysrIC9kZXYvbnVsbApAQCAtMSwyMjEgKzAsMCBAQAotIyEvdXNyL2Jpbi9l
bnYgcHl0aG9uCi0jIENvcHlyaWdodCAoQykgMjAxMSBJZ2FsaWEgUy5MLgotIwotIyBUaGlzIGxp
YnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0j
IG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJs
aWMKLSMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
bjsgZWl0aGVyCi0jIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9u
KSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSMKLSMgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGlu
IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0jIGJ1dCBXSVRIT1VUIEFOWSBXQVJS
QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0jIE1FUkNIQU5UQUJJ
TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0j
IExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0jCi0jIFlv
dSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQ
dWJsaWMKLSMgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0
byB0aGUgRnJlZSBTb2Z0d2FyZQotIyBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJl
ZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKLQotZnJvbSBfX2Z1
dHVyZV9fIGltcG9ydCBwcmludF9mdW5jdGlvbgotZnJvbSBDb25maWdQYXJzZXIgaW1wb3J0IFNh
ZmVDb25maWdQYXJzZXIKLQotaW1wb3J0IGFyZ3BhcnNlCi1pbXBvcnQgY29kZWNzCi1pbXBvcnQg
Z2xvYgotaW1wb3J0IGd0a2RvYwotaW1wb3J0IGxvZ2dpbmcKLWltcG9ydCBvcy5wYXRoCi1pbXBv
cnQgc3lzCi0KLXRvcF9sZXZlbF9kaXJlY3RvcnkgPSBvcy5wYXRoLm5vcm1wYXRoKG9zLnBhdGgu
am9pbihvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pLCAnLi4nLCAnLi4nKSkKLXN5cy5wYXRoLmlu
c2VydCgwLCBvcy5wYXRoLmpvaW4odG9wX2xldmVsX2RpcmVjdG9yeSwgJ1Rvb2xzJywgJ2dsaWIn
KSkKLWltcG9ydCBjb21tb24KLQotc3lzLnN0ZG91dCA9IGNvZGVjcy5nZXR3cml0ZXIoInV0Zi04
Iikoc3lzLnN0ZG91dCkKLXN5cy5zdGRlcnIgPSBjb2RlY3MuZ2V0d3JpdGVyKCJ1dGYtOCIpKHN5
cy5zdGRlcnIpCi0KLWRlZiBjb25maWd1cmVfbG9nZ2luZyh2ZXJib3NlKToKLSAgICBsZXZlbCA9
IGxvZ2dpbmcuREVCVUcgaWYgdmVyYm9zZSBlbHNlIGxvZ2dpbmcuSU5GTwotICAgIGxvZ2dlciA9
IGxvZ2dpbmcuZ2V0TG9nZ2VyKCdndGtkb2MnKQotICAgIGxvZ2dlci5zZXRMZXZlbChsZXZlbCkK
LSAgICBoYW5kbGVyID0gbG9nZ2luZy5TdHJlYW1IYW5kbGVyKCkKLSAgICBoYW5kbGVyLnNldExl
dmVsKGxldmVsKQotICAgIGxvZ2dlci5hZGRIYW5kbGVyKGhhbmRsZXIpCi0gICAgaWYgbGV2ZWwg
PT0gbG9nZ2luZy5ERUJVRzoKLSAgICAgICAgaGFuZGxlci5zZXRGb3JtYXR0ZXIobG9nZ2luZy5G
b3JtYXR0ZXIoJ1slKGFzY3RpbWUpc10gICUobWVzc2FnZSlzJykpCi0gICAgZWxzZToKLSAgICAg
ICAgaGFuZGxlci5zZXRGb3JtYXR0ZXIobG9nZ2luZy5Gb3JtYXR0ZXIoJyUobWVzc2FnZSlzJykp
Ci0KLWRlZiBnZXRfZ3RrZG9jX21vZHVsZV9wYXRocyhjcm9zc19yZWZlcmVuY2VfZGVwcyk6Ci0g
ICAgZGVwZW5kZW50X3BhY2thZ2VzID0gewotICAgICAgICAnZ2xpYi0yLjAnIDogWydnbGliJywg
J2dvYmplY3QnLCAnZ2lvJ10sCi0gICAgICAgICdsaWJzb3VwLTIuNCcgOiBbJ2xpYnNvdXAtMi40
J10sCi0gICAgICAgICdnZGstcGl4YnVmLTIuMCc6IFsnZ2RrLXBpeGJ1ZiddLAotICAgICAgICAn
Z3RrKy0zLjAnIDogWydndGszJywgJ2dkazMnXQotICAgIH0KLQotICAgIHBhdGhzID0gW10KLSAg
ICBodG1sX2RpciA9IG9zLnBhdGguam9pbignc2hhcmUnLCAnZ3RrLWRvYycsICdodG1sJykKLSAg
ICBmb3IgcGFja2FnZSwgbW9kdWxlcyBpbiBkZXBlbmRlbnRfcGFja2FnZXMuaXRlcml0ZW1zKCk6
Ci0gICAgICAgIHByZWZpeCA9IGNvbW1vbi5wcmVmaXhfb2ZfcGtnX2NvbmZpZ19maWxlKHBhY2th
Z2UpCi0gICAgICAgIGlmIHByZWZpeCBpcyBOb25lOgotICAgICAgICAgICAgY29udGludWUKLSAg
ICAgICAgZm9yIG1vZHVsZSBpbiBtb2R1bGVzOgotICAgICAgICAgICAgcGF0aHMuYXBwZW5kKG9z
LnBhdGguam9pbihwcmVmaXgsIGh0bWxfZGlyLCBtb2R1bGUpKQotCi0gICAgZm9yIGxvY2FsX2Rl
cCBpbiBjcm9zc19yZWZlcmVuY2VfZGVwczoKLSAgICAgICAgcGF0aHMuYXBwZW5kKGNvbW1vbi5i
dWlsZF9wYXRoKCdEb2N1bWVudGF0aW9uJywgbG9jYWxfZGVwLCAnaHRtbCcpKQotICAgIHJldHVy
biBwYXRocwotCi1kZWYgcHJpbnRfbWlzc2luZ19hcGkoZ2VuZXJhdG9yKToKLSAgICBtaXNzaW5n
X2FwaSA9IGdlbmVyYXRvci5hcGlfbWlzc2luZ19kb2N1bWVudGF0aW9uKCkKLSAgICBpZiBub3Qg
bWlzc2luZ19hcGk6Ci0gICAgICAgIHJldHVybgotICAgIHByaW50KCJcblRoZSBmb2xsb3dpbmcg
QVBJIGFyZSBtaXNzaW5nIGRvY3VtZW50YXRpb246IikKLSAgICBmb3IgYXBpIGluIG1pc3Npbmdf
YXBpOgotICAgICAgICBwcmludCgiXHR7MH0iLmZvcm1hdChhcGkpKQotCi1kZWYgZmlsZXNfdG9f
aWdub3JlKHNvdXJjZV9kaXJzLCBoZWFkZXJzX3dpdGhfZ3RrZG9jKToKLSAgICAiIiIKLSAgICBG
aW5kIGZpbGVzIHRvIGlnbm9yZSBkdXJpbmcgZG9jdW1lbnRhdGlvbiBnZW5lcmF0aW9uLiBXZSBh
c3N1bWUgdGhhdCBpZiBhbgotICAgIGltcGxlbWVudGF0aW9uIGZpbGUgZXhpc3RzIGZvciBhIGhl
YWRlciB3aXRoIGd0a2RvYyAoc2F5IHdlYmtpdGZvby5jcHAgZm9yCi0gICAgd2Via2l0Zm9vLmgp
IHdlIHNob3VsZG4ndCBpZ25vcmUgdGhhdCBmaWxlLiBDdXJyZW50bHkgdGhpcyBob2xkcyB0cnVl
IGZvciBhbGwKLSAgICBvZiB0aGUgV2ViS2l0IHByb2plY3QuCi0gICAgIiIiCi0gICAgaW1wbGVt
ZW50YXRpb25fZmlsZXMgPSBsaXN0KGhlYWRlcnNfd2l0aF9ndGtkb2MpCi0gICAgZm9yIGhlYWRl
ciBpbiBoZWFkZXJzX3dpdGhfZ3RrZG9jOgotICAgICAgICBkZWYgYWRkX2ZpbGVfaWZfZXhpc3Rz
KGZpbGVuYW1lKToKLSAgICAgICAgICAgIGZvciBkaXIgaW4gc291cmNlX2RpcnM6Ci0gICAgICAg
ICAgICAgICAgZmlsZSA9IG9zLnBhdGguam9pbihkaXIsIGZpbGVuYW1lKQotICAgICAgICAgICAg
ICAgIGlmIG9zLnBhdGguaXNmaWxlKGZpbGUpOgotICAgICAgICAgICAgICAgICAgICBpbXBsZW1l
bnRhdGlvbl9maWxlcy5hcHBlbmQob3MucGF0aC5hYnNwYXRoKGZpbGUpKQotICAgICAgICBoZWFk
ZXJfYmFzZW5hbWVfd2l0aG91dF9leHRlbnNpb24gPSBvcy5wYXRoLnNwbGl0ZXh0KG9zLnBhdGgu
YmFzZW5hbWUoaGVhZGVyKSlbMF0KLSAgICAgICAgYWRkX2ZpbGVfaWZfZXhpc3RzKGhlYWRlcl9i
YXNlbmFtZV93aXRob3V0X2V4dGVuc2lvbiArICIuY3BwIikKLSAgICAgICAgYWRkX2ZpbGVfaWZf
ZXhpc3RzKGhlYWRlcl9iYXNlbmFtZV93aXRob3V0X2V4dGVuc2lvbiArICJHdGsuY3BwIikKLSAg
ICAgICAgYWRkX2ZpbGVfaWZfZXhpc3RzKGhlYWRlcl9iYXNlbmFtZV93aXRob3V0X2V4dGVuc2lv
biArICIuYyIpCi0KLSAgICBkZWYgZmlsZV9zaG91bGRfYmVfaWdub3JlZChmaWxlKToKLSAgICAg
ICAgaWYgb3MucGF0aC5zcGxpdGV4dChmaWxlKVsxXSBub3QgaW4gWycuaCcsICcuYycsICcuY3Bw
JywgJy5jYyddOgotICAgICAgICAgICAgcmV0dXJuIEZhbHNlICMgVGhlc2UgZmlsZXMgYXJlIGln
bm9yZWQgYW55d2F5LgotICAgICAgICBpZiBub3Qgb3MucGF0aC5pc2ZpbGUoZmlsZSk6Ci0gICAg
ICAgICAgICByZXR1cm4gVHJ1ZQotICAgICAgICByZXR1cm4gb3MucGF0aC5hYnNwYXRoKGZpbGUp
IG5vdCBpbiBpbXBsZW1lbnRhdGlvbl9maWxlcwotCi0gICAgYWxsX2ZpbGVzID0gc3VtKFtbb3Mu
cGF0aC5qb2luKGRpciwgZmlsZSkgZm9yIGZpbGUgaW4gb3MubGlzdGRpcihkaXIpXSBmb3IgZGly
IGluIHNvdXJjZV9kaXJzXSwgW10pCi0gICAgcmV0dXJuIGZpbHRlcihmaWxlX3Nob3VsZF9iZV9p
Z25vcmVkLCBhbGxfZmlsZXMpCi0KLWRlZiBnZXRfZ2VuZXJhdG9yX2Zvcl9jb25maWcoY29uZmln
X2ZpbGUsIHZpcnR1YWxfcm9vdCwgY3Jvc3NfcmVmZXJlbmNlX2RlcHMgPSBbXSk6Ci0gICAgaWYg
bm90IG9zLnBhdGguaXNmaWxlKGNvbmZpZ19maWxlKToKLSAgICAgICAgcmV0dXJuIE5vbmUKLQot
ICAgIGNvbmZpZyA9IFNhZmVDb25maWdQYXJzZXIoKQotICAgIGNvbmZpZy5yZWFkKGNvbmZpZ19m
aWxlKQotICAgIG1vZHVsZV9uYW1lID0gY29uZmlnLnNlY3Rpb25zKClbMF0KLSAgICBwa2djb25m
aWdfZmlsZSA9IGNvbmZpZy5nZXQobW9kdWxlX25hbWUsICdwa2djb25maWdfZmlsZScpCi0KLSAg
ICBpZiBub3Qgb3MucGF0aC5pc2ZpbGUocGtnY29uZmlnX2ZpbGUpOgotICAgICAgICByZXR1cm4g
Tm9uZQotCi0gICAgc291cmNlX2RpcnMgPSBjb25maWcuZ2V0KG1vZHVsZV9uYW1lLCAnc291cmNl
X2RpcnMnKS5yZXBsYWNlKCc7JywgJyAnKS5zcGxpdCgpCi0gICAgaGVhZGVycyA9IFtvcy5wYXRo
LmFic3BhdGgoZikgZm9yIGYgaW4gY29uZmlnLmdldChtb2R1bGVfbmFtZSwgJ2hlYWRlcnMnKS5y
ZXBsYWNlKCc7JywgJyAnKS5zcGxpdCgpXQotICAgIHJldHVybiBndGtkb2MuUGtnQ29uZmlnR1RL
RG9jKHBrZ2NvbmZpZ19maWxlLCB7Ci0gICAgICAgICdkZWNvcmF0b3InOiBjb25maWcuZ2V0KG1v
ZHVsZV9uYW1lLCAnZGVjb3JhdG9yJyksCi0gICAgICAgICdkZXByZWNhdGlvbl9ndWFyZCc6IGNv
bmZpZy5nZXQobW9kdWxlX25hbWUsICdkZXByZWNhdGlvbl9ndWFyZCcpLAotICAgICAgICAnbGli
cmFyeV9wYXRoJzogY29tbW9uLmxpYnJhcnlfYnVpbGRfcGF0aCgpLAotICAgICAgICAndmlydHVh
bF9yb290JzogdmlydHVhbF9yb290LAotICAgICAgICAnbW9kdWxlX25hbWUnOiBtb2R1bGVfbmFt
ZSwKLSAgICAgICAgJ25hbWVzcGFjZSc6IGNvbmZpZy5nZXQobW9kdWxlX25hbWUsICduYW1lc3Bh
Y2UnKSwKLSAgICAgICAgJ2RvY19kaXInOiBjb25maWcuZ2V0KG1vZHVsZV9uYW1lLCAnZG9jX2Rp
cicpLAotICAgICAgICAnb3V0cHV0X2Rpcic6IGNvbW1vbi5idWlsZF9wYXRoKCdEb2N1bWVudGF0
aW9uJywgbW9kdWxlX25hbWUpLAotICAgICAgICAnbWFpbl9zZ21sX2ZpbGUnOiBjb25maWcuZ2V0
KG1vZHVsZV9uYW1lLCAnbWFpbl9zZ21sX2ZpbGUnKSwKLSAgICAgICAgJ3NvdXJjZV9kaXJzJzog
c291cmNlX2RpcnMsCi0gICAgICAgICdoZWFkZXJzJzogaGVhZGVycywKLSAgICAgICAgJ2NmbGFn
cyc6ICIgIi5qb2luKGNvbmZpZy5nZXQobW9kdWxlX25hbWUsICdjZmxhZ3MnKS5zcGxpdCgpKSwK
LSAgICAgICAgJ2Nyb3NzX3JlZmVyZW5jZV9kZXBzJzogZ2V0X2d0a2RvY19tb2R1bGVfcGF0aHMo
Y3Jvc3NfcmVmZXJlbmNlX2RlcHMpLAotICAgICAgICAnaWdub3JlZF9maWxlcyc6IGZpbGVzX3Rv
X2lnbm9yZShzb3VyY2VfZGlycywgaGVhZGVycyksCi0gICAgfSkKLQotZGVmIGdlbmVyYXRlX2Rv
YyhnZW5lcmF0b3IsIHNraXBfaHRtbCk6Ci0gICAgZ2VuZXJhdG9yLmdlbmVyYXRlKG5vdCBza2lw
X2h0bWwpCi0gICAgaWYgZ2VuZXJhdG9yLnNhd193YXJuaW5nczoKLSAgICAgICAgcHJpbnRfbWlz
c2luZ19hcGkoZ2VuZXJhdG9yKQotICAgIHJldHVybiBnZW5lcmF0b3Iuc2F3X3dhcm5pbmdzCi0K
LWRlZiByZWJhc2VfZG9jKGdlbmVyYXRvcik6Ci0gICAgdHJ5OgotICAgICAgICBnZW5lcmF0b3Iu
cmViYXNlX2luc3RhbGxlZF9kb2NzKCkKLSAgICBleGNlcHQgRXhjZXB0aW9uOgotICAgICAgICBw
cmludCgiUmViYXNlIGRpZCBub3QgaGFwcGVuLCBsaWtlbHkgbm8gZG9jdW1lbnRhdGlvbiBpcyBw
cmVzZW50LiIpCi0KLWRlZiBnZW5lcmF0ZV9kb2N1bWVudGF0aW9uKGdlbmVyYXRvcik6Ci0gICAg
aWYgbm90IGFyZ3VtZW50cy5yZWJhc2U6Ci0gICAgICAgIHJldHVybiBnZW5lcmF0ZV9kb2MoZ2Vu
ZXJhdG9yLCBhcmd1bWVudHMuc2tpcF9odG1sKQotCi0gICAgcmViYXNlX2RvYyhnZW5lcmF0b3Ip
Ci0gICAgcmV0dXJuIEZhbHNlCi0KLWRlZiBwcmVwYXJlX2Vudmlyb25tZW50X2Zvcl9ndGtkb2Nf
Z2VuZXJhdGlvbigpOgotICAgICMgV2UgbmVlZCB0byBhZGQgdGhlIEphdmFTY3JpcHRDb3JlIGJ1
aWxkIGRpcmVjdG9yeSB0byB0aGUgUEtHX0NPTkZJR19QQVRICi0gICAgIyBzbyB0aGF0IHBrZ2Nv
bmZpZyBjYW4gcHJvcGVybHkgcmVzb2x2ZSB0aGUgbGliamF2YXNjcmlwdGNvcmUgZGVwZW5kZW5j
eS4KLSAgICBwa2dfY29uZmlnX3BhdGggPSBvcy5lbnZpcm9uLmdldCgiUEtHX0NPTkZJR19QQVRI
IikKLSAgICBvcy5lbnZpcm9uWydQS0dfQ09ORklHX1BBVEgnXSA9IGNvbW1vbi5idWlsZF9wYXRo
KCdTb3VyY2UnLCAnSmF2YVNjcmlwdENvcmUnKQotICAgIGlmIHBrZ19jb25maWdfcGF0aDoKLSAg
ICAgICAgb3MuZW52aXJvblsnUEtHX0NPTkZJR19QQVRIJ10gKz0gJzonICsgcGtnX2NvbmZpZ19w
YXRoCi0KLSAgICAjIE5ld2VyIHZlcnNpb25zIG9mIGdsaWIgaGF2ZSBkZXByZWNhdGVkIGdfdHlw
ZV9pbml0LCBzbyB3ZSBuZWVkIHRvIGRpc2FibGUKLSAgICAjIHRoYXQgd2FybmluZyB3aGVuIHJ1
bm5pbmcgZ3RrZG9jLXNjYW5vYmogYnkgb3ZlcnJpZGluZyB0aGUgQ0ZMQUdTIHdlIHVzZQotICAg
ICMgdG8gY29tcGlsZSBpdC4KLSAgICBjZmxhZ3MgPSBvcy5lbnZpcm9uLmdldCgnQ0ZMQUdTJywg
JycpCi0gICAgY2ZsYWdzICs9ICcgLURHTElCX1ZFUlNJT05fTUlOX1JFUVVJUkVEPUdMSUJfVkVS
U0lPTl8yXzMyJwotCi0gICAgIyBJbiBub24teDg2IGFyY2hpdGVjdHVyZXMsIHdoZW4gYSBwb2lu
dGVyIGlzIGNhc3QgdG8gKHZvaWQqKSBhbmQKLSAgICAjIGJhY2ssIHRoZSBjb21waWxlciB0aGlu
a3MgdGhhdCB0aGUgYWxpZ25tZW50IGlzIHJhbmRvbS4gU2luY2UKLSAgICAjIGd0a2RvYyBidWls
ZCBpcyBicm9rZW4gYXQgYW55IHdhcm5pbmcgbWVzc2FnZSwgaXQgaXMgYmV0dGVyIHRvCi0gICAg
IyBzaWxlbmNlIHRoZXNlIGZhbHNlIHBvc2l0aXZlcy4KLSAgICBjZmxhZ3MgKz0gJyAtV25vLWNh
c3QtYWxpZ24nCi0gICAgb3MuZW52aXJvblsnQ0ZMQUdTJ10gPSBjZmxhZ3MKLQotICAgICMgUGF0
aHMgZnJvbSB0aGUgR05VbWFrZWZpbGUgZ2VuZXJhdGVkIGNvbmZpZ3VyYXRpb24gZmlsZXMgYXJl
IHJlbGF0aXZlIHRvIHRoZSBidWlsZCBkaXJlY3RvcnkuCi0gICAgb3MuY2hkaXIoY29tbW9uLmJ1
aWxkX3BhdGgoKSkKLQotaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKLSAgICBwYXJzZXIgPSBh
cmdwYXJzZS5Bcmd1bWVudFBhcnNlcihkZXNjcmlwdGlvbj0nR2VuZXJhdGUgZ3RrZG9jIGZvciBX
ZWJLaXQuJykKLSAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctdicsICctLXZlcmJvc2UnLCBhY3Rp
b249J3N0b3JlX3RydWUnLAotICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0nV2hldGhlciBv
ciBub3QgdG8gcnVuIGluIHZlcmJvc2UgbW9kZS4nKQotICAgIHBhcnNlci5hZGRfYXJndW1lbnQo
Jy0tcmViYXNlJywgYWN0aW9uPSdzdG9yZV90cnVlJywKLSAgICAgICAgICAgICAgICAgICAgICAg
IGhlbHA9J1doZW4gc3BlY2lmaWVkLCBydW4gdGhlIHRvb2wgaW4gcmViYXNlIG1vZGUuJykKLSAg
ICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLXNraXAtaHRtbCcsIGFjdGlvbj0nc3RvcmVfdHJ1ZScs
Ci0gICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdXaGV0aGVyIG9yIG5vdCB0byBza2lwIEhU
TUwgZ2VuZXJhdGlvbiwgd2hpY2ggY2FuIGJlIHNsb3cuJykKLSAgICBwYXJzZXIuYWRkX2FyZ3Vt
ZW50KCctLXZpcnR1YWwtcm9vdCcsIHR5cGU9c3RyLCBkZWZhdWx0PScnLAotICAgICAgICAgICAg
ICAgICAgICAgICAgaGVscD0nQSB0ZW1wb3JhcnkgaW5zdGFsbGF0aW9uIGRpcmVjdG9yeSB3aGlj
aCBpcyB1c2VkIGFzIHRoZSByb290ICcgKyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICd3aGVyZSB0aGUgYWN0dWFsIGluc3RhbGxhdGlvbiBwcmVmaXggbGl2ZXM7IHRoaXMgaXMgbW9z
dGx5ICcgKyBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICd1c2VmdWwgZm9yIHBhY2th
Z2VycywgYW5kIHNob3VsZCBiZSBzZXQgdG8gd2hhdCBpcyBnaXZlbiB0byAnICsgXAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAnbWFrZSBpbnN0YWxsIGFzIERFU1RESVIuJykKLQotICAg
IGFyZ3VtZW50cyA9IHBhcnNlci5wYXJzZV9hcmdzKCkKLSAgICBjb25maWd1cmVfbG9nZ2luZyhh
cmd1bWVudHMudmVyYm9zZSkKLQotICAgIHByZXBhcmVfZW52aXJvbm1lbnRfZm9yX2d0a2RvY19n
ZW5lcmF0aW9uKCkKLQotICAgIGpzY19nZW5lcmF0b3IgPSBnZXRfZ2VuZXJhdG9yX2Zvcl9jb25m
aWcoY29tbW9uLmJ1aWxkX3BhdGgoJ2d0a2RvYy1qc2MtZ2xpYi5jZmcnKSwgYXJndW1lbnRzLnZp
cnR1YWxfcm9vdCkKLSAgICBpZiBub3QganNjX2dlbmVyYXRvcjoKLSAgICAgICAgcHJpbnQoImd0
a2RvYy1qc2MtZ2xpYi5jZmcgZG9lcyBub3QgZXhpc3QhIFNraXBwaW5nIHRoYXQgZG9jdW1lbnRh
dGlvbiIpCi0gICAgICAgIHN5cy5leGl0KDEpCi0gICAgc2F3X3dhcm5pbmdzID0gZ2VuZXJhdGVf
ZG9jdW1lbnRhdGlvbihqc2NfZ2VuZXJhdG9yKQotICAgIGlmIHNhd193YXJuaW5nczoKLSAgICAg
ICAgc3lzLmV4aXQoc2F3X3dhcm5pbmdzKQotCi0gICAgd2Via2l0ZG9tX2dlbmVyYXRvciA9IGdl
dF9nZW5lcmF0b3JfZm9yX2NvbmZpZyhjb21tb24uYnVpbGRfcGF0aCgnZ3RrZG9jLXdlYmtpdGRv
bS5jZmcnKSwgYXJndW1lbnRzLnZpcnR1YWxfcm9vdCwgW2pzY19nZW5lcmF0b3IubW9kdWxlX25h
bWVdKQotICAgIGlmIG5vdCB3ZWJraXRkb21fZ2VuZXJhdG9yOgotICAgICAgICBwcmludCgiZ3Rr
ZG9jLXdlYmtpdGRvbS5jZmcgZG9lcyBub3QgZXhpc3QhIFNraXBwaW5nIHRoYXQgZG9jdW1lbnRh
dGlvbiIpCi0gICAgICAgIHN5cy5leGl0KDEpCi0gICAgc2F3X3dhcm5pbmdzID0gZ2VuZXJhdGVf
ZG9jdW1lbnRhdGlvbih3ZWJraXRkb21fZ2VuZXJhdG9yKQotICAgIGlmIHNhd193YXJuaW5nczoK
LSAgICAgICAgc3lzLmV4aXQoc2F3X3dhcm5pbmdzKQotCi0gICAgd2Via2l0Ml9nZW5lcmF0b3Ig
PSBnZXRfZ2VuZXJhdG9yX2Zvcl9jb25maWcoY29tbW9uLmJ1aWxkX3BhdGgoJ2d0a2RvYy13ZWJr
aXQyZ3RrLmNmZycpLCBhcmd1bWVudHMudmlydHVhbF9yb290LCBbd2Via2l0ZG9tX2dlbmVyYXRv
ci5tb2R1bGVfbmFtZSwganNjX2dlbmVyYXRvci5tb2R1bGVfbmFtZV0pCi0gICAgaWYgbm90IHdl
YmtpdDJfZ2VuZXJhdG9yOgotICAgICAgICBwcmludCgiZ3RrZG9jLXdlYmtpdDJndGsuY2ZnIGRv
ZXMgbm90IGV4aXN0ISBTa2lwcGluZyB0aGF0IGRvY3VtZW50YXRpb24iKQotICAgICAgICBzeXMu
ZXhpdCgxKQotICAgIHNhd193YXJuaW5ncyA9IGdlbmVyYXRlX2RvY3VtZW50YXRpb24od2Via2l0
Ml9nZW5lcmF0b3IpCi0KLSAgICBzeXMuZXhpdChzYXdfd2FybmluZ3MpCmRpZmYgLS1naXQgYS9U
b29scy9ndGsvZ3RrZG9jLnB5IGIvVG9vbHMvZ3RrL2d0a2RvYy5weQpkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggZjBhMDlmMTY4N2Y0NGVhOWRlNTkwY2VlZmM0YzMyMTI3NWRhNGEyNi4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Ub29scy9ndGsv
Z3RrZG9jLnB5CisrKyAvZGV2L251bGwKQEAgLTEsNDUxICswLDAgQEAKLSMgQ29weXJpZ2h0IChD
KSAyMDExIElnYWxpYSBTLkwuCi0jCi0jIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5
b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJt
cyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotIyBMaWNlbnNlIGFzIHB1Ymxpc2hl
ZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSMgdmVyc2lvbiAyIG9m
IHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotIwot
IyBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl
IHVzZWZ1bCwKLSMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt
cGxpZWQgd2FycmFudHkgb2YKLSMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSMgTGVzc2VyIEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSMKLSMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg
Y29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotIyBMaWNlbnNlIGFsb25nIHdp
dGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCi0jIEZv
dW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3Rvbiwg
TUEgIDAyMTEwLTEzMDEgIFVTQQotCi1pbXBvcnQgY29kZWNzCi1pbXBvcnQgZXJybm8KLWltcG9y
dCBsb2dnaW5nCi1pbXBvcnQgb3MKLWltcG9ydCBvcy5wYXRoCi1pbXBvcnQgc3VicHJvY2Vzcwot
aW1wb3J0IHN5cwotCi0KLWNsYXNzIEdUS0RvYyhvYmplY3QpOgotCi0gICAgIiIiQ2xhc3MgdGhh
dCBjb250cm9scyBhIGd0a2RvYyBydW4uCi0KLSAgICBFYWNoIGluc3RhbmNlIG9mIHRoaXMgY2xh
c3MgcmVwcmVzZW50cyBvbmUgZ3RrZG9jIGNvbmZpZ3VyYXRpb24KLSAgICBhbmQgc2V0IG9mIGRv
Y3VtZW50YXRpb24uIFRoZSBndGtkb2MgcGFja2FnZSBpcyBhIHNlcmllcyBvZiB0b29scwotICAg
IHJ1biBjb25zZWN1dGl2ZWx5IHdoaWNoIGNvbnZlcnRzIGlubGluZSBDL0MrKyBkb2N1bWVudGF0
aW9uIGludG8KLSAgICBkb2Nib29rIGZpbGVzIGFuZCB0aGVuIGludG8gSFRNTC4gVGhpcyBjbGFz
cyBpcyBzdWl0YWJsZSBmb3IKLSAgICBnZW5lcmF0aW5nIGRvY3VtZW50YXRpb24gb3Igc2ltcGx5
IHZlcmlmeWluZyBjb3JyZWN0bmVzcy4KLQotICAgIEtleXdvcmQgYXJndW1lbnRzOgotICAgIG91
dHB1dF9kaXIgICAgICAgICAtLSBUaGUgcGF0aCB3aGVyZSBndGtkb2Mgb3V0cHV0IHNob3VsZCBi
ZSBwbGFjZWQuIEdlbmVyYXRpb24KLSAgICAgICAgICAgICAgICAgICAgICAgICAgbWF5IG92ZXJ3
cml0ZSBmaWxlIGluIHRoaXMgZGlyZWN0b3J5LiBSZXF1aXJlZC4KLSAgICBtb2R1bGVfbmFtZSAg
ICAgICAgLS0gVGhlIG5hbWUgb2YgdGhlIGRvY3VtZW50YXRpb24gbW9kdWxlLiBGb3IgbGlicmFy
aWVzIHRoaXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgaXMgdHlwaWNhbGx5IHRoZSBsaWJy
YXJ5IG5hbWUuIFJlcXVpcmVkIGlmIG5vdCBsaWJyYXJ5IHBhdGgKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgaXMgZ2l2ZW4uCi0gICAgc291cmNlX2RpcnMgICAgICAgIC0tIEEgbGlzdCBvZiBw
YXRocyB0byBkaXJlY3RvcmllcyBvZiBzb3VyY2UgY29kZSB0byBiZSBzY2FubmVkLgotICAgICAg
ICAgICAgICAgICAgICAgICAgICBSZXF1aXJlZCBpZiBoZWFkZXJzIGlzIG5vdCBzcGVjaWZpZWQu
Ci0gICAgaWdub3JlZF9maWxlcyAgICAgIC0tIEEgbGlzdCBvZiBmaWxlbmFtZXMgdG8gaWdub3Jl
IGluIHRoZSBzb3VyY2UgZGlyZWN0b3J5LiBJdCBpcwotICAgICAgICAgICAgICAgICAgICAgICAg
ICBvbmx5IG5lY2Vzc2FyeSB0byBwcm92aWRlIHRoZSBiYXNlbmFtZXMgb2YgdGhlc2UgZmlsZXMu
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIFR5cGljYWxseSBpdCBpcyBpbXBvcnRhbnQgdG8g
cHJvdmlkZSBhbiB1cGRhdGVkIGxpc3Qgb2YKLSAgICAgICAgICAgICAgICAgICAgICAgICAgaWdu
b3JlZCBmaWxlcyB0byBwcmV2ZW50IHdhcm5pbmdzIGFib3V0IHVuZG9jdW1lbnRlZCBzeW1ib2xz
LgotICAgIGhlYWRlcnMgICAgICAgICAgICAtLSBBIGxpc3Qgb2YgcGF0aHMgdG8gaGVhZGVycyB0
byBiZSBzY2FubmVkLiBSZXF1aXJlZCBpZiBzb3VyY2VfZGlycwotICAgICAgICAgICAgICAgICAg
ICAgICAgICBpcyBub3Qgc3BlY2lmaWVkLgotICAgIG5hbWVzcGFjZSAgICAgICAgICAtLSBUaGUg
bGlicmFyeSBuYW1lc3BhY2UuCi0gICAgZGVjb3JhdG9yICAgICAgICAgIC0tIElmIGEgZGVjb3Jh
dG9yIGlzIHVzZWQgdG8gdW5oaWRlIGNlcnRhaW4gc3ltYm9scyBpbiBoZWFkZXIKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgZmlsZXMgdGhpcyBwYXJhbWV0ZXIgaXMgcmVxdWlyZWQgZm9yIHN1
Y2Nlc3NmdWwgc2Nhbm5pbmcuCi0gICAgICAgICAgICAgICAgICAgICAgICAgIChkZWZhdWx0ICcn
KQotICAgIGRlcHJlY2F0aW9uX2d1YXJkICAtLSBndGtkb2MgdHJpZXMgdG8gZW5zdXJlIHRoYXQg
c3ltYm9scyBtYXJrZWQgYXMgZGVwcmVjYXRlZAotICAgICAgICAgICAgICAgICAgICAgICAgICBh
cmUgZW5jYXNlZCBpbiB0aGlzIEMgcHJlcHJvY2Vzc29yIGRlZmluZS4gVGhpcyBpcyByZXF1aXJl
ZAotICAgICAgICAgICAgICAgICAgICAgICAgICB0byBhdm9pZCBndGtkb2Mgd2FybmluZ3MuIChk
ZWZhdWx0ICcnKQotICAgIGNmbGFncyAgICAgICAgICAgICAtLSBUaGlzIHBhcmFtZXRlciBzcGVj
aWZpZXMgYW55IHByZXByb2Nlc3NvciBmbGFncyBuZWNlc3NhcnkgZm9yCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgIGJ1aWxkaW5nIHRoZSBzY2FubmVyIGJpbmFyeSBkdXJpbmcgZ3RrZG9jLXNj
YW5vYmouIFR5cGljYWxseQotICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzIGluY2x1ZGVz
IGFsbCBhYnNvbHV0ZSBpbmNsdWRlIHBhdGhzIG5lY2Vzc2FyeSB0byByZXNvbHZlCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgIGFsbCBoZWFkZXIgZGVwZW5kZW5jaWVzLiAoZGVmYXVsdCAnJykK
LSAgICBsZGZsYWdzICAgICAgICAgICAgLS0gVGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIGFueSBs
aW5rZXIgZmxhZ3MgbmVjZXNzYXJ5IGZvcgotICAgICAgICAgICAgICAgICAgICAgICAgICBidWls
ZGluZyB0aGUgc2Nhbm5lciBiaW5hcnkgZHVyaW5nIGd0a2RvYy1zY2Fub2JqLiBUeXBpY2FsbHkK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcyBpbmNsdWRlcyAiLWx5b3VybGlicmFyeW5h
bWUiLiAoZGVmYXVsdCAnJykKLSAgICBsaWJyYXJ5X3BhdGggICAgICAgLS0gVGhpcyBwYXJhbWV0
ZXIgc3BlY2lmaWVzIHRoZSBwYXRoIHRvIHRoZSBkaXJlY3Rvcnkgd2hlcmUgeW91Ci0gICAgICAg
ICAgICAgICAgICAgICAgICAgIGxpYnJhcnkgcmVzaWRlcyB1c2VkIGZvciBidWlsZGluZyB0aGUg
c2Nhbm5lciBiaW5hcnkgZHVyaW5nCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGd0a2RvYy1z
Y2Fub2JqLiAoZGVmYXVsdCAnJykKLQotICAgIGRvY19kaXIgICAgICAgICAgICAtLSBUaGUgcGF0
aCB0byBvdGhlciBkb2N1bWVudGF0aW9uIGZpbGVzIG5lY2Vzc2FyeSB0byBidWlsZAotICAgICAg
ICAgICAgICAgICAgICAgICAgICB0aGUgZG9jdW1lbnRhdGlvbi4gVGhpcyBmaWxlcyBpbiB0aGlz
IGRpcmVjdG9yeSBhcyB3ZWxsIGFzCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBmaWxl
cyBpbiB0aGUgJ2h0bWwnIHN1YmRpcmVjdG9yeSB3aWxsIGJlIGNvcGllZAotICAgICAgICAgICAg
ICAgICAgICAgICAgICByZWN1cnNpdmVseSBpbnRvIHRoZSBvdXRwdXQgZGlyZWN0b3J5LiAoZGVm
YXVsdCAnJykKLSAgICBtYWluX3NnbWxfZmlsZSAgICAgLS0gVGhlIHBhdGggb3IgbmFtZSAoaWYg
YSBkb2NfZGlyIGlzIGdpdmVuKSBvZiB0aGUgU0dNTCBmaWxlCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgIHRoYXQgaXMgdGhlIGNvbnNpZGVyZWQgdGhlIG1haW4gcGFnZSBvZiB5b3VyIGRvY3Vt
ZW50YXRpb24uCi0gICAgICAgICAgICAgICAgICAgICAgICAgIChkZWZhdWx0OiA8bW9kdWxlX25h
bWU+LWRvY3Muc2dtbCkKLSAgICB2ZXJzaW9uICAgICAgICAgICAgLS0gVGhlIHZlcnNpb24gbnVt
YmVyIG9mIHRoZSBtb2R1bGUuIElmIHRoaXMgaXMgcHJvdmlkZWQsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgIGEgdmVyc2lvbi54bWwgZmlsZSBjb250YWluaW5nIHRoZSB2ZXJzaW9uIHdpbGwg
YmUgY3JlYXRlZAotICAgICAgICAgICAgICAgICAgICAgICAgICBpbiB0aGUgb3V0cHV0IGRpcmVj
dG9yeSBkdXJpbmcgZG9jdW1lbnRhdGlvbiBnZW5lcmF0aW9uLgotCi0gICAgaW50ZXJhY3RpdmUg
ICAgICAgIC0tIFdoZXRoZXIgb3Igbm90IGVycm9ycyBvciB3YXJuaW5ncyBzaG91bGQgcHJvbXB0
IHRoZSB1c2VyCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGNvbnRpbnVlIG9yIG5vdC4g
V2hlbiB0aGlzIHZhbHVlIGlzIGZhbHNlLCBnZW5lcmF0aW9uCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgIHdpbGwgY29udGludWUgZGVzcGl0ZSB3YXJuaW5ncy4gKGRlZmF1bHQgRmFsc2UpCi0K
LSAgICB2aXJ0dWFsX3Jvb3QgICAgICAgLS0gQSB0ZW1wb3JhcnkgaW5zdGFsbGF0aW9uIGRpcmVj
dG9yeSB3aGljaCBpcyB1c2VkIGFzIHRoZSByb290Ci0gICAgICAgICAgICAgICAgICAgICAgICAg
IHdoZXJlIHRoZSBhY3R1YWwgaW5zdGFsbGF0aW9uIHByZWZpeCBsaXZlczsgdGhpcyBpcyBtb3N0
bHkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlZnVsIGZvciBwYWNrYWdlcnMsIGFuZCBz
aG91bGQgYmUgc2V0IHRvIHdoYXQgaXMgZ2l2ZW4gdG8KLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgbWFrZSBpbnN0YWxsIGFzIERFU1RESVIuCi0gICAgIiIiCi0KLSAgICBkZWYgX19pbml0X18o
c2VsZiwgYXJncyk6Ci0KLSAgICAgICAgIyBQYXJhbWV0ZXJzIHNwZWNpZmljIHRvIHNjYW5uaW5n
LgotICAgICAgICBzZWxmLm1vZHVsZV9uYW1lID0gJycKLSAgICAgICAgc2VsZi5zb3VyY2VfZGly
cyA9IFtdCi0gICAgICAgIHNlbGYuaGVhZGVycyA9IFtdCi0gICAgICAgIHNlbGYuaWdub3JlZF9m
aWxlcyA9IFtdCi0gICAgICAgIHNlbGYubmFtZXNwYWNlID0gJycKLSAgICAgICAgc2VsZi5kZWNv
cmF0b3IgPSAnJwotICAgICAgICBzZWxmLmRlcHJlY2F0aW9uX2d1YXJkID0gJycKLQotICAgICAg
ICAjIFBhcmFtZXRlcnMgc3BlY2lmaWMgdG8gZ3RrZG9jLXNjYW5vYmouCi0gICAgICAgIHNlbGYu
Y2ZsYWdzID0gJycKLSAgICAgICAgc2VsZi5sZGZsYWdzID0gJycKLSAgICAgICAgc2VsZi5saWJy
YXJ5X3BhdGggPSAnJwotCi0gICAgICAgICMgUGFyYW1ldGVycyBzcGVjaWZpYyB0byBnZW5lcmF0
aW9uLgotICAgICAgICBzZWxmLm91dHB1dF9kaXIgPSAnJwotICAgICAgICBzZWxmLmRvY19kaXIg
PSAnJwotICAgICAgICBzZWxmLm1haW5fc2dtbF9maWxlID0gJycKLQotICAgICAgICAjIFBhcmFt
ZXRlcnMgc3BlY2lmaWMgdG8gZ3RrZG9jLWZpeHhyZWYuCi0gICAgICAgIHNlbGYuY3Jvc3NfcmVm
ZXJlbmNlX2RlcHMgPSBbXQotCi0gICAgICAgIHNlbGYuaW50ZXJhY3RpdmUgPSBGYWxzZQotCi0g
ICAgICAgIHNlbGYubG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoJ2d0a2RvYycpCi0KLSAgICAg
ICAgZm9yIGtleSwgdmFsdWUgaW4gaXRlcihhcmdzLml0ZW1zKCkpOgotICAgICAgICAgICAgc2V0
YXR0cihzZWxmLCBrZXksIHZhbHVlKQotCi0gICAgICAgIGlmIG5vdCBnZXRhdHRyKHNlbGYsICdv
dXRwdXRfZGlyJyk6Ci0gICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oJ291dHB1dF9kaXIgbm90
IHNwZWNpZmllZC4nKQotICAgICAgICBpZiBub3QgZ2V0YXR0cihzZWxmLCAnbW9kdWxlX25hbWUn
KToKLSAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbignbW9kdWxlX25hbWUgbm90IHNwZWNpZmll
ZC4nKQotICAgICAgICBpZiBub3QgZ2V0YXR0cihzZWxmLCAnc291cmNlX2RpcnMnKSBhbmQgbm90
IGdldGF0dHIoc2VsZiwgJ2hlYWRlcnMnKToKLSAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbign
TmVpdGhlciBzb3VyY2VfZGlycyBub3IgaGVhZGVycyBzcGVjaWZpZWQuJyAlIGtleSkKLQotICAg
ICAgICAjIE1ha2UgYWxsIHBhdGhzIGFic29sdXRlIGluIGNhc2Ugd2Ugd2VyZSBwYXNzZWQgcmVs
YXRpdmUgcGF0aHMsIHNpbmNlCi0gICAgICAgICMgd2UgY2hhbmdlIHRoZSBjdXJyZW50IHdvcmtp
bmcgZGlyZWN0b3J5IHdoZW4gZXhlY3V0aW5nIHN1YmNvbW1hbmRzLgotICAgICAgICBzZWxmLm91
dHB1dF9kaXIgPSBvcy5wYXRoLmFic3BhdGgoc2VsZi5vdXRwdXRfZGlyKQotICAgICAgICBzZWxm
LnNvdXJjZV9kaXJzID0gW29zLnBhdGguYWJzcGF0aCh4KSBmb3IgeCBpbiBzZWxmLnNvdXJjZV9k
aXJzXQotICAgICAgICBzZWxmLmhlYWRlcnMgPSBbb3MucGF0aC5hYnNwYXRoKHgpIGZvciB4IGlu
IHNlbGYuaGVhZGVyc10KLSAgICAgICAgaWYgc2VsZi5saWJyYXJ5X3BhdGg6Ci0gICAgICAgICAg
ICBzZWxmLmxpYnJhcnlfcGF0aCA9IG9zLnBhdGguYWJzcGF0aChzZWxmLmxpYnJhcnlfcGF0aCkK
LQotICAgICAgICBpZiBub3Qgc2VsZi5tYWluX3NnbWxfZmlsZToKLSAgICAgICAgICAgIHNlbGYu
bWFpbl9zZ21sX2ZpbGUgPSBzZWxmLm1vZHVsZV9uYW1lICsgIi1kb2NzLnNnbWwiCi0KLSAgICBk
ZWYgZ2VuZXJhdGUoc2VsZiwgaHRtbD1UcnVlKToKLSAgICAgICAgc2VsZi5zYXdfd2FybmluZ3Mg
PSBGYWxzZQotCi0gICAgICAgIHNlbGYuX2NvcHlfZG9jX2ZpbGVzX3RvX291dHB1dF9kaXIoaHRt
bCkKLSAgICAgICAgc2VsZi5fd3JpdGVfdmVyc2lvbl94bWwoKQotICAgICAgICBzZWxmLl9ydW5f
Z3RrZG9jX3NjYW4oKQotICAgICAgICBzZWxmLl9ydW5fZ3RrZG9jX3NjYW5nb2JqKCkKLSAgICAg
ICAgc2VsZi5fcnVuX2d0a2RvY19ta2RiKCkKLQotICAgICAgICBpZiBub3QgaHRtbDoKLSAgICAg
ICAgICAgIHJldHVybgotCi0gICAgICAgIHNlbGYuX3J1bl9ndGtkb2NfbWtodG1sKCkKLSAgICAg
ICAgc2VsZi5fcnVuX2d0a2RvY19maXh4cmVmKCkKLQotICAgIGRlZiBfZGVsZXRlX2ZpbGVfaWZf
ZXhpc3RzKHNlbGYsIHBhdGgpOgotICAgICAgICBpZiBub3Qgb3MuYWNjZXNzKHBhdGgsIG9zLkZf
T0sgfCBvcy5SX09LKToKLSAgICAgICAgICAgIHJldHVybgotICAgICAgICBzZWxmLmxvZ2dlci5k
ZWJ1ZygnZGVsZXRpbmcgJXMnLCBwYXRoKQotICAgICAgICBvcy51bmxpbmsocGF0aCkKLQotICAg
IGRlZiBfY3JlYXRlX2RpcmVjdG9yeV9pZl9ub25leGlzdGVudChzZWxmLCBwYXRoKToKLSAgICAg
ICAgdHJ5OgotICAgICAgICAgICAgb3MubWFrZWRpcnMocGF0aCkKLSAgICAgICAgZXhjZXB0IE9T
RXJyb3IgYXMgZXJyb3I6Ci0gICAgICAgICAgICBpZiBlcnJvci5lcnJubyAhPSBlcnJuby5FRVhJ
U1Q6Ci0gICAgICAgICAgICAgICAgcmFpc2UKLQotICAgIGRlZiBfcmFpc2VfZXhjZXB0aW9uX2lm
X2ZpbGVfaW5hY2Nlc3NpYmxlKHNlbGYsIHBhdGgpOgotICAgICAgICBpZiBub3Qgb3MucGF0aC5l
eGlzdHMocGF0aCkgb3Igbm90IG9zLmFjY2VzcyhwYXRoLCBvcy5SX09LKToKLSAgICAgICAgICAg
IHJhaXNlIEV4Y2VwdGlvbigiQ291bGQgbm90IGFjY2VzcyBmaWxlIGF0OiAlcyIgJSBwYXRoKQot
Ci0gICAgZGVmIF9vdXRwdXRfaGFzX3dhcm5pbmdzKHNlbGYsIG91dHB1dHMpOgotICAgICAgICBm
b3Igb3V0cHV0IGluIG91dHB1dHM6Ci0gICAgICAgICAgICBpZiBvdXRwdXQgYW5kIG91dHB1dC5m
aW5kKCd3YXJuaW5nJyk6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIFRydWUKLSAgICAgICAgcmV0
dXJuIEZhbHNlCi0KLSAgICBkZWYgX2Fza195ZXNfb3Jfbm9fcXVlc3Rpb24oc2VsZiwgcXVlc3Rp
b24pOgotICAgICAgICBpZiBub3Qgc2VsZi5pbnRlcmFjdGl2ZToKLSAgICAgICAgICAgIHJldHVy
biBUcnVlCi0KLSAgICAgICAgcXVlc3Rpb24gKz0gJyBbeS9OXSAnCi0gICAgICAgIGFuc3dlciA9
IE5vbmUKLSAgICAgICAgd2hpbGUgYW5zd2VyICE9ICd5JyBhbmQgYW5zd2VyICE9ICduJyBhbmQg
YW5zd2VyICE9ICcnOgotICAgICAgICAgICAgYW5zd2VyID0gcmF3X2lucHV0KHF1ZXN0aW9uKS5s
b3dlcigpCi0gICAgICAgIHJldHVybiBhbnN3ZXIgPT0gJ3knCi0KLSAgICBkZWYgX3J1bl9jb21t
YW5kKHNlbGYsIGFyZ3MsIGVudj1Ob25lLCBjd2Q9Tm9uZSwgcHJpbnRfb3V0cHV0PVRydWUsIGln
bm9yZV93YXJuaW5ncz1GYWxzZSk6Ci0gICAgICAgIGlmIHByaW50X291dHB1dDoKLSAgICAgICAg
ICAgIHNlbGYubG9nZ2VyLmRlYnVnKCJSdW5uaW5nICVzIiwgYXJnc1swXSkKLSAgICAgICAgc2Vs
Zi5sb2dnZXIuZGVidWcoIkZ1bGwgY29tbWFuZCBhcmdzOiAlcyIsIHN0cihhcmdzKSkKLQotICAg
ICAgICBwcm9jZXNzID0gc3VicHJvY2Vzcy5Qb3BlbihhcmdzLCBlbnY9ZW52LCBjd2Q9Y3dkLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGRvdXQ9c3VicHJvY2Vzcy5QSVBF
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGRlcnI9c3VicHJvY2Vzcy5Q
SVBFKQotICAgICAgICBzdGRvdXQsIHN0ZGVyciA9IFtiLmRlY29kZSgidXRmLTgiKSBmb3IgYiBp
biBwcm9jZXNzLmNvbW11bmljYXRlKCldCi0KLSAgICAgICAgaWYgcHJpbnRfb3V0cHV0OgotICAg
ICAgICAgICAgaWYgc3Rkb3V0OgotICAgICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAg
ICAgICAgc3lzLnN0ZG91dC53cml0ZShzdGRvdXQuZW5jb2RlKCJ1dGYtOCIpKQotICAgICAgICAg
ICAgICAgIGV4Y2VwdCBVbmljb2RlRGVjb2RlRXJyb3I6Ci0gICAgICAgICAgICAgICAgICAgIHN5
cy5zdGRvdXQud3JpdGUoc3Rkb3V0KQotICAgICAgICAgICAgaWYgc3RkZXJyOgotICAgICAgICAg
ICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAgICAgc3lzLnN0ZGVyci53cml0ZShzdGRlcnIu
ZW5jb2RlKCJ1dGYtOCIpKQotICAgICAgICAgICAgICAgIGV4Y2VwdCBVbmljb2RlRGVjb2RlRXJy
b3I6Ci0gICAgICAgICAgICAgICAgICAgIHN5cy5zdGRlcnIud3JpdGUoc3RkZXJyKQotCi0gICAg
ICAgIGlmIHByb2Nlc3MucmV0dXJuY29kZSAhPSAwOgotICAgICAgICAgICAgcmFpc2UgRXhjZXB0
aW9uKCclcyBwcm9kdWNlZCBhIG5vbi16ZXJvIHJldHVybiBjb2RlICVpJwotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAlIChhcmdzWzBdLCBwcm9jZXNzLnJldHVybmNvZGUpKQotCi0gICAg
ICAgIGlmIG5vdCBpZ25vcmVfd2FybmluZ3MgYW5kICgnd2FybmluZycgaW4gc3RkZXJyIG9yICd3
YXJuaW5nJyBpbiBzdGRvdXQpOgotICAgICAgICAgICAgc2VsZi5zYXdfd2FybmluZ3MgPSBUcnVl
Ci0gICAgICAgICAgICBpZiBub3Qgc2VsZi5fYXNrX3llc19vcl9ub19xdWVzdGlvbignJXMgcHJv
ZHVjZWQgd2FybmluZ3MsICcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICd0cnkgdG8gY29udGludWU/JyAlIGFyZ3NbMF0pOgotICAgICAgICAgICAgICAg
IHJhaXNlIEV4Y2VwdGlvbignJXMgc3RlcCBmYWlsZWQnICUgYXJnc1swXSkKLQotICAgICAgICBy
ZXR1cm4gc3Rkb3V0LnN0cmlwKCkKLQotICAgIGRlZiBfY29weV9kb2NfZmlsZXNfdG9fb3V0cHV0
X2RpcihzZWxmLCBodG1sPVRydWUpOgotICAgICAgICBpZiBub3Qgc2VsZi5kb2NfZGlyOgotICAg
ICAgICAgICAgc2VsZi5sb2dnZXIuaW5mbygnTm90IGNvcHlpbmcgYW55IGZpbGVzIGZyb20gZG9j
IGRpcmVjdG9yeSwnCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgYmVjYXVzZSBubyBk
b2MgZGlyZWN0b3J5IGdpdmVuLicpCi0gICAgICAgICAgICByZXR1cm4KLQotICAgICAgICBkZWYg
Y29weV9maWxlX3JlcGxhY2luZ19leGlzdGluZyhzcmMsIGRlc3QpOgotICAgICAgICAgICAgaWYg
b3MucGF0aC5pc2RpcihzcmMpOgotICAgICAgICAgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCdz
a2lwcGVkIGRpcmVjdG9yeSAlcycsICBzcmMpCi0gICAgICAgICAgICAgICAgcmV0dXJuCi0gICAg
ICAgICAgICBpZiBub3Qgb3MuYWNjZXNzKHNyYywgb3MuRl9PSyB8IG9zLlJfT0spOgotICAgICAg
ICAgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCdza2lwcGVkIHVucmVhZGFibGUgJXMnLCBzcmMp
Ci0gICAgICAgICAgICAgICAgcmV0dXJuCi0KLSAgICAgICAgICAgIHNlbGYuX2RlbGV0ZV9maWxl
X2lmX2V4aXN0cyhkZXN0KQotCi0gICAgICAgICAgICBzZWxmLmxvZ2dlci5kZWJ1ZygnY3JlYXRl
ZCAlcycsIGRlc3QpCi0gICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgb3MubGluayhz
cmMsIGRlc3QpCi0gICAgICAgICAgICBleGNlcHQgT1NFcnJvcjoKLSAgICAgICAgICAgICAgICBv
cy5zeW1saW5rKHNyYywgZGVzdCkKLQotICAgICAgICBkZWYgY29weV9hbGxfZmlsZXNfaW5fZGly
ZWN0b3J5KHNyYywgZGVzdCk6Ci0gICAgICAgICAgICBmb3IgcGF0aCBpbiBvcy5saXN0ZGlyKHNy
Yyk6Ci0gICAgICAgICAgICAgICAgY29weV9maWxlX3JlcGxhY2luZ19leGlzdGluZyhvcy5wYXRo
LmpvaW4oc3JjLCBwYXRoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIG9zLnBhdGguam9pbihkZXN0LCBwYXRoKSkKLQotICAgICAgICBzZWxmLmxvZ2dlci5k
ZWJ1ZygnQ29weWluZyB0ZW1wbGF0ZSBmaWxlcyB0byBvdXRwdXQgZGlyZWN0b3J5Li4uJykKLSAg
ICAgICAgc2VsZi5fY3JlYXRlX2RpcmVjdG9yeV9pZl9ub25leGlzdGVudChzZWxmLm91dHB1dF9k
aXIpCi0gICAgICAgIGNvcHlfYWxsX2ZpbGVzX2luX2RpcmVjdG9yeShzZWxmLmRvY19kaXIsIHNl
bGYub3V0cHV0X2RpcikKLQotICAgIGRlZiBfd3JpdGVfdmVyc2lvbl94bWwoc2VsZik6Ci0gICAg
ICAgIGlmIG5vdCBzZWxmLnZlcnNpb246Ci0gICAgICAgICAgICBzZWxmLmxvZ2dlci5pbmZvKCdO
byB2ZXJzaW9uIHNwZWNpZmllZCwgc28gbm90IHdyaXRpbmcgdmVyc2lvbi54bWwnKQotICAgICAg
ICAgICAgcmV0dXJuCi0KLSAgICAgICAgdmVyc2lvbl94bWxfcGF0aCA9IG9zLnBhdGguam9pbihz
ZWxmLm91dHB1dF9kaXIsICd2ZXJzaW9uLnhtbCcpCi0gICAgICAgIHNyY192ZXJzaW9uX3htbF9w
YXRoID0gb3MucGF0aC5qb2luKHNlbGYuZG9jX2RpciwgJ3ZlcnNpb24ueG1sJykKLQotICAgICAg
ICAjIERvbid0IG92ZXJ3cml0ZSB2ZXJzaW9uLnhtbCBpZiBpdCB3YXMgaW4gdGhlIGRvYyBkaXJl
Y3RvcnkuCi0gICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKHZlcnNpb25feG1sX3BhdGgpIGFuZCBc
Ci0gICAgICAgICAgIG9zLnBhdGguZXhpc3RzKHNyY192ZXJzaW9uX3htbF9wYXRoKToKLSAgICAg
ICAgICAgIHJldHVybgotCi0gICAgICAgIG91dHB1dF9maWxlID0gb3Blbih2ZXJzaW9uX3htbF9w
YXRoLCAndycpCi0gICAgICAgIG91dHB1dF9maWxlLndyaXRlKHNlbGYudmVyc2lvbikKLSAgICAg
ICAgb3V0cHV0X2ZpbGUuY2xvc2UoKQotCi0gICAgZGVmIF9pZ25vcmVkX2ZpbGVzX2Jhc2VuYW1l
cyhzZWxmKToKLSAgICAgICAgcmV0dXJuICcgJy5qb2luKFtvcy5wYXRoLmJhc2VuYW1lKHgpIGZv
ciB4IGluIHNlbGYuaWdub3JlZF9maWxlc10pCi0KLSAgICBkZWYgX3J1bl9ndGtkb2Nfc2Nhbihz
ZWxmKToKLSAgICAgICAgYXJncyA9IFsnZ3RrZG9jLXNjYW4nLAotICAgICAgICAgICAgICAgICct
LW1vZHVsZT0lcycgJSBzZWxmLm1vZHVsZV9uYW1lLAotICAgICAgICAgICAgICAgICctLXJlYnVp
bGQtdHlwZXMnXQotCi0gICAgICAgIGlmIG5vdCBzZWxmLmhlYWRlcnM6Ci0gICAgICAgICAgICAj
IEVhY2ggc291cmNlIGRpcmVjdG9yeSBzaG91bGQgYmUgaGF2ZSBpdHMgb3duICItLXNvdXJjZS1k
aXI9IiBwcmVmaXguCi0gICAgICAgICAgICBhcmdzLmV4dGVuZChbJy0tc291cmNlLWRpcj0lcycg
JSBwYXRoIGZvciBwYXRoIGluIHNlbGYuc291cmNlX2RpcnNdKQotCi0gICAgICAgIGlmIHNlbGYu
ZGVjb3JhdG9yOgotICAgICAgICAgICAgYXJncy5hcHBlbmQoJy0taWdub3JlLWRlY29yYXRvcnM9
JXMnICUgc2VsZi5kZWNvcmF0b3IpCi0gICAgICAgIGlmIHNlbGYuZGVwcmVjYXRpb25fZ3VhcmQ6
Ci0gICAgICAgICAgICBhcmdzLmFwcGVuZCgnLS1kZXByZWNhdGVkLWd1YXJkcz0lcycgJSBzZWxm
LmRlcHJlY2F0aW9uX2d1YXJkKQotICAgICAgICBpZiBzZWxmLm91dHB1dF9kaXI6Ci0gICAgICAg
ICAgICBhcmdzLmFwcGVuZCgnLS1vdXRwdXQtZGlyPSVzJyAlIHNlbGYub3V0cHV0X2RpcikKLQot
ICAgICAgICAjIFdlIG9ubHkgbmVlZCB0byBwYXNzIHRoZSBsaXN0IG9mIGlnbm9yZWQgZmlsZXMg
aWYgdGhlIHdlIGFyZSBub3QgdXNpbmcgYW4gZXhwbGljaXQgbGlzdCBvZiBoZWFkZXJzLgotICAg
ICAgICBpZiBub3Qgc2VsZi5oZWFkZXJzOgotICAgICAgICAgICAgIyBndGtkb2Mtc2NhbiB3YW50
cyB0aGUgYmFzZW5hbWVzIG9mIGlnbm9yZWQgaGVhZGVycywgc28gc3RyaXAgdGhlCi0gICAgICAg
ICAgICAjIGRpcm5hbWUuIERpZmZlcmVudCBmcm9tICItLXNvdXJjZS1kaXIiLCB0aGUgaGVhZGVy
cyBzaG91bGQgYmUKLSAgICAgICAgICAgICMgc3BlY2lmaWVkIGFzIG9uZSBsb25nIHN0cmluZy4K
LSAgICAgICAgICAgIGlnbm9yZWRfZmlsZXNfYmFzZW5hbWVzID0gc2VsZi5faWdub3JlZF9maWxl
c19iYXNlbmFtZXMoKQotICAgICAgICAgICAgaWYgaWdub3JlZF9maWxlc19iYXNlbmFtZXM6Ci0g
ICAgICAgICAgICAgICAgYXJncy5hcHBlbmQoJy0taWdub3JlLWhlYWRlcnM9JXMnICUgaWdub3Jl
ZF9maWxlc19iYXNlbmFtZXMpCi0KLSAgICAgICAgaWYgc2VsZi5oZWFkZXJzOgotICAgICAgICAg
ICAgYXJncy5leHRlbmQoc2VsZi5oZWFkZXJzKQotCi0gICAgICAgIHNlbGYuX3J1bl9jb21tYW5k
KGFyZ3MpCi0KLSAgICBkZWYgX3J1bl9ndGtkb2Nfc2NhbmdvYmooc2VsZik6Ci0gICAgICAgIGVu
diA9IG9zLmVudmlyb24KLSAgICAgICAgbGRmbGFncyA9IHNlbGYubGRmbGFncwotICAgICAgICBp
ZiBzZWxmLmxpYnJhcnlfcGF0aDoKLSAgICAgICAgICAgIGFkZGl0aW9uYWxfbGRmbGFncyA9ICcn
Ci0gICAgICAgICAgICBmb3IgYXJnIGluIGVudi5nZXQoJ0xERkxBR1MnLCAnJykuc3BsaXQoJyAn
KToKLSAgICAgICAgICAgICAgICBpZiBhcmcuc3RhcnRzd2l0aCgnLUwnKToKLSAgICAgICAgICAg
ICAgICAgICAgYWRkaXRpb25hbF9sZGZsYWdzID0gJyVzICVzJyAlIChhZGRpdGlvbmFsX2xkZmxh
Z3MsIGFyZykKLSAgICAgICAgICAgIGxkZmxhZ3MgPSAnICItTCVzIiAlcyAnICUgKHNlbGYubGli
cmFyeV9wYXRoLCBhZGRpdGlvbmFsX2xkZmxhZ3MpICsgbGRmbGFncwotICAgICAgICAgICAgY3Vy
cmVudF9sZF9saWJyYXJ5X3BhdGggPSBlbnYuZ2V0KCdMRF9MSUJSQVJZX1BBVEgnKQotICAgICAg
ICAgICAgaWYgY3VycmVudF9sZF9saWJyYXJ5X3BhdGg6Ci0gICAgICAgICAgICAgICAgZW52WydM
RF9MSUJSQVJZX1BBVEgnXSA9ICclczolcycgJSAoc2VsZi5saWJyYXJ5X3BhdGgsIGN1cnJlbnRf
bGRfbGlicmFyeV9wYXRoKQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICBlbnZb
J0xEX0xJQlJBUllfUEFUSCddID0gc2VsZi5saWJyYXJ5X3BhdGgKLQotICAgICAgICBpZiBsZGZs
YWdzOgotICAgICAgICAgICAgZW52WydMREZMQUdTJ10gPSAnJXMgJXMnICUgKGxkZmxhZ3MsIGVu
di5nZXQoJ0xERkxBR1MnLCAnJykpCi0gICAgICAgIGlmIHNlbGYuY2ZsYWdzOgotICAgICAgICAg
ICAgZW52WydDRkxBR1MnXSA9ICclcyAlcycgJSAoc2VsZi5jZmxhZ3MsIGVudi5nZXQoJ0NGTEFH
UycsICcnKSkKLQotICAgICAgICBpZiAnQ0ZMQUdTJyBpbiBlbnY6Ci0gICAgICAgICAgICBzZWxm
LmxvZ2dlci5kZWJ1ZygnQ0ZMQUdTPSVzJywgZW52WydDRkxBR1MnXSkKLSAgICAgICAgaWYgJ0xE
RkxBR1MnIGluIGVudjoKLSAgICAgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCdMREZMQUdTICVz
JywgZW52WydMREZMQUdTJ10pCi0gICAgICAgIHNlbGYuX3J1bl9jb21tYW5kKFsnZ3RrZG9jLXNj
YW5nb2JqJywgJy0tbW9kdWxlPSVzJyAlIHNlbGYubW9kdWxlX25hbWVdLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICBlbnY9ZW52LCBjd2Q9c2VsZi5vdXRwdXRfZGlyKQotCi0gICAgZGVmIF9y
dW5fZ3RrZG9jX21rZGIoc2VsZik6Ci0gICAgICAgIHNnbWxfZmlsZSA9IG9zLnBhdGguam9pbihz
ZWxmLm91dHB1dF9kaXIsIHNlbGYubWFpbl9zZ21sX2ZpbGUpCi0gICAgICAgIHNlbGYuX3JhaXNl
X2V4Y2VwdGlvbl9pZl9maWxlX2luYWNjZXNzaWJsZShzZ21sX2ZpbGUpCi0KLSAgICAgICAgYXJn
cyA9IFsnZ3RrZG9jLW1rZGInLAotICAgICAgICAgICAgICAgICctLW1vZHVsZT0lcycgJSBzZWxm
Lm1vZHVsZV9uYW1lLAotICAgICAgICAgICAgICAgICctLW1haW4tc2dtbC1maWxlPSVzJyAlIHNn
bWxfZmlsZSwKLSAgICAgICAgICAgICAgICAnLS1zb3VyY2Utc3VmZml4ZXM9aCxjLGNwcCxjYycs
Ci0gICAgICAgICAgICAgICAgJy0tb3V0cHV0LWZvcm1hdD14bWwnLAotICAgICAgICAgICAgICAg
ICctLXNnbWwtbW9kZSddCi0KLSAgICAgICAgaWYgc2VsZi5uYW1lc3BhY2U6Ci0gICAgICAgICAg
ICBhcmdzLmFwcGVuZCgnLS1uYW1lLXNwYWNlPSVzJyAlIHNlbGYubmFtZXNwYWNlKQotCi0gICAg
ICAgIGlnbm9yZWRfZmlsZXNfYmFzZW5hbWVzID0gc2VsZi5faWdub3JlZF9maWxlc19iYXNlbmFt
ZXMoKQotICAgICAgICBpZiBpZ25vcmVkX2ZpbGVzX2Jhc2VuYW1lczoKLSAgICAgICAgICAgIGFy
Z3MuYXBwZW5kKCctLWlnbm9yZS1maWxlcz0lcycgJSBpZ25vcmVkX2ZpbGVzX2Jhc2VuYW1lcykK
LQotICAgICAgICAjIEVhY2ggZGlyZWN0b3J5IHNob3VsZCBiZSBoYXZlIGl0cyBvd24gIi0tc291
cmNlLWRpcj0iIHByZWZpeC4KLSAgICAgICAgYXJncy5leHRlbmQoWyctLXNvdXJjZS1kaXI9JXMn
ICUgcGF0aCBmb3IgcGF0aCBpbiBzZWxmLnNvdXJjZV9kaXJzXSkKLSAgICAgICAgc2VsZi5fcnVu
X2NvbW1hbmQoYXJncywgY3dkPXNlbGYub3V0cHV0X2RpcikKLQotICAgIGRlZiBfcnVuX2d0a2Rv
Y19ta2h0bWwoc2VsZik6Ci0gICAgICAgICMgZ3RrZG9jLWZpeHhyZWYgZXhwZWN0cyB0aGUgcGF0
aHMgdG8gYmUgaHRtbC9tb2R1bGVuYW1lLgotICAgICAgICBodG1sX2Rlc3RfZGlyID0gb3MucGF0
aC5qb2luKHNlbGYub3V0cHV0X2RpciwgJ2h0bWwnLCBzZWxmLm1vZHVsZV9uYW1lKQotICAgICAg
ICBzZWxmLl9jcmVhdGVfZGlyZWN0b3J5X2lmX25vbmV4aXN0ZW50KGh0bWxfZGVzdF9kaXIpCi0g
ICAgICAgIGlmIG5vdCBvcy5wYXRoLmlzZGlyKGh0bWxfZGVzdF9kaXIpOgotICAgICAgICAgICAg
cmFpc2UgRXhjZXB0aW9uKCIlcyBpcyBub3QgYSBkaXJlY3RvcnksIGNvdWxkIG5vdCBnZW5lcmF0
ZSBIVE1MIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICUgaHRtbF9kZXN0X2RpcikKLSAg
ICAgICAgZWxpZiBub3Qgb3MuYWNjZXNzKGh0bWxfZGVzdF9kaXIsIG9zLlhfT0sgfCBvcy5SX09L
IHwgb3MuV19PSyk6Ci0gICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIkNvdWxkIG5vdCBhY2Nl
c3MgJXMgdG8gZ2VuZXJhdGUgSFRNTCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAlIGh0
bWxfZGVzdF9kaXIpCi0KLSAgICAgICAgIyBndGtkb2MtbWtodG1sIGV4cGVjdHMgdGhlIFNHTUwg
cGF0aCB0byBiZSBhYnNvbHV0ZS4KLSAgICAgICAgc2dtbF9maWxlID0gb3MucGF0aC5qb2luKG9z
LnBhdGguYWJzcGF0aChzZWxmLm91dHB1dF9kaXIpLAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgc2VsZi5tYWluX3NnbWxfZmlsZSkKLSAgICAgICAgc2VsZi5fcmFpc2VfZXhjZXB0
aW9uX2lmX2ZpbGVfaW5hY2Nlc3NpYmxlKHNnbWxfZmlsZSkKLQotICAgICAgICBzZWxmLl9ydW5f
Y29tbWFuZChbJ2d0a2RvYy1ta2h0bWwnLCBzZWxmLm1vZHVsZV9uYW1lLCBzZ21sX2ZpbGVdLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICBjd2Q9aHRtbF9kZXN0X2RpcikKLQotICAgIGRlZiBf
cnVuX2d0a2RvY19maXh4cmVmKHNlbGYpOgotICAgICAgICBhcmdzID0gWydndGtkb2MtZml4eHJl
ZicsCi0gICAgICAgICAgICAgICAgJy0tbW9kdWxlPSVzJyAlIHNlbGYubW9kdWxlX25hbWUsCi0g
ICAgICAgICAgICAgICAgJy0tbW9kdWxlLWRpcj1odG1sLyVzJyAlIHNlbGYubW9kdWxlX25hbWVd
Ci0gICAgICAgIGFyZ3MuZXh0ZW5kKFsnLS1leHRyYS1kaXI9JXMnICUgZXh0cmFfZGlyIGZvciBl
eHRyYV9kaXIgaW4gc2VsZi5jcm9zc19yZWZlcmVuY2VfZGVwc10pCi0gICAgICAgIHNlbGYuX3J1
bl9jb21tYW5kKGFyZ3MsIGN3ZD1zZWxmLm91dHB1dF9kaXIsIGlnbm9yZV93YXJuaW5ncz1UcnVl
KQotCi0gICAgICAgICMgZ3RrZG9jLWZpeHhyZWYgaGFzIHNvbWUgcHJlZGVmaW5lZCBsaW5rcyBm
b3Igd2hpY2ggaXQgYWx3YXlzIHVzZXMgYWJzb2x1dGUgcGF0aHMuCi0gICAgICAgIGh0bWxfZGly
X3ByZWZpeCA9IG9zLnBhdGguam9pbihzZWxmLnZpcnR1YWxfcm9vdCArIHNlbGYucHJlZml4LCAn
c2hhcmUnLCAnZ3RrLWRvYycsICdodG1sJykKLSAgICAgICAgbW9kdWxlX2RpciA9IG9zLnBhdGgu
am9pbihzZWxmLm91dHB1dF9kaXIsICdodG1sJywgc2VsZi5tb2R1bGVfbmFtZSkKLSAgICAgICAg
Zm9yIGVudHJ5IGluIG9zLmxpc3RkaXIobW9kdWxlX2Rpcik6Ci0gICAgICAgICAgICBpZiBub3Qg
ZW50cnkuZW5kc3dpdGgoJy5odG1sJyk6Ci0gICAgICAgICAgICAgICAgY29udGludWUKLQotICAg
ICAgICAgICAgZmlsZW5hbWUgPSBvcy5wYXRoLmpvaW4obW9kdWxlX2RpciwgZW50cnkpCi0gICAg
ICAgICAgICBjb250ZW50cyA9ICcnCi0gICAgICAgICAgICB3aXRoIGNvZGVjcy5vcGVuKGZpbGVu
YW1lLCAncicsIGVuY29kaW5nPSd1dGYtOCcpIGFzIGY6Ci0gICAgICAgICAgICAgICAgY29udGVu
dHMgPSBmLnJlYWQoKQotCi0gICAgICAgICAgICBpZiBub3QgaHRtbF9kaXJfcHJlZml4IGluIGNv
bnRlbnRzOgotICAgICAgICAgICAgICAgIGNvbnRpbnVlCi0KLSAgICAgICAgICAgIHRtcF9maWxl
bmFtZSA9IGZpbGVuYW1lICsgJy5uZXcnCi0gICAgICAgICAgICBuZXdfY29udGVudHMgPSBjb250
ZW50cy5yZXBsYWNlKGh0bWxfZGlyX3ByZWZpeCwgJy4uJykKLSAgICAgICAgICAgIHdpdGggY29k
ZWNzLm9wZW4odG1wX2ZpbGVuYW1lLCAndycsIGVuY29kaW5nPSd1dGYtOCcpIGFzIGY6Ci0gICAg
ICAgICAgICAgICAgZi53cml0ZShuZXdfY29udGVudHMpCi0KLSAgICAgICAgICAgIG9zLnJlbmFt
ZSh0bXBfZmlsZW5hbWUsIGZpbGVuYW1lKQotCi0gICAgZGVmIHJlYmFzZV9pbnN0YWxsZWRfZG9j
cyhzZWxmKToKLSAgICAgICAgaWYgbm90IG9zLnBhdGguaXNkaXIoc2VsZi5vdXRwdXRfZGlyKToK
LSAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigiVHJpZWQgdG8gcmViYXNlIGRvY3VtZW50YXRp
b24gYmVmb3JlIGdlbmVyYXRpbmcgaXQuIikKLSAgICAgICAgaHRtbF9kaXIgPSBvcy5wYXRoLmpv
aW4oc2VsZi52aXJ0dWFsX3Jvb3QgKyBzZWxmLnByZWZpeCwgJ3NoYXJlJywgJ2d0ay1kb2MnLCAn
aHRtbCcsIHNlbGYubW9kdWxlX25hbWUpCi0gICAgICAgIGlmIG5vdCBvcy5wYXRoLmlzZGlyKGh0
bWxfZGlyKToKLSAgICAgICAgICAgIHJldHVybgotICAgICAgICBhcmdzID0gWydndGtkb2MtcmVi
YXNlJywKLSAgICAgICAgICAgICAgICAnLS1yZWxhdGl2ZScsCi0gICAgICAgICAgICAgICAgJy0t
aHRtbC1kaXI9JXMnICUgaHRtbF9kaXJdCi0gICAgICAgIGFyZ3MuZXh0ZW5kKFsnLS1vdGhlci1k
aXI9JXMnICUgZXh0cmFfZGlyIGZvciBleHRyYV9kaXIgaW4gc2VsZi5jcm9zc19yZWZlcmVuY2Vf
ZGVwc10pCi0gICAgICAgIGlmIHNlbGYudmlydHVhbF9yb290OgotICAgICAgICAgICAgYXJncy5l
eHRlbmQoWyctLWRlc3QtZGlyPSVzJyAlIHNlbGYudmlydHVhbF9yb290XSkKLSAgICAgICAgc2Vs
Zi5fcnVuX2NvbW1hbmQoYXJncywgY3dkPXNlbGYub3V0cHV0X2RpcikKLQotICAgIGRlZiBhcGlf
bWlzc2luZ19kb2N1bWVudGF0aW9uKHNlbGYpOgotICAgICAgICB1bnVzZWRfZG9jX2ZpbGUgPSBv
cy5wYXRoLmpvaW4oc2VsZi5vdXRwdXRfZGlyLCBzZWxmLm1vZHVsZV9uYW1lICsgIi11bnVzZWQu
dHh0IikKLSAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKHVudXNlZF9kb2NfZmlsZSkgb3Ig
bm90IG9zLmFjY2Vzcyh1bnVzZWRfZG9jX2ZpbGUsIG9zLlJfT0spOgotICAgICAgICAgICAgcmV0
dXJuIFtdCi0gICAgICAgIHJldHVybiBvcGVuKHVudXNlZF9kb2NfZmlsZSkucmVhZCgpLnNwbGl0
bGluZXMoKQotCi1jbGFzcyBQa2dDb25maWdHVEtEb2MoR1RLRG9jKToKLQotICAgICIiIkNsYXNz
IHJlYWRzIGEgbGlicmFyeSdzIHBrZ2NvbmZpZyBmaWxlIHRvIGd1ZXNzIGd0a2RvYyBwYXJhbWV0
ZXJzLgotCi0gICAgU29tZSBndGtkb2MgcGFyYW1ldGVycyBjYW4gYmUgZ3Vlc3NlZCBieSByZWFk
aW5nIGEgbGlicmFyeSdzIHBrZ2NvbmZpZwotICAgIGZpbGUsIGluY2x1ZGluZyB0aGUgY2ZsYWdz
LCBsZGZsYWdzIGFuZCB2ZXJzaW9uIHBhcmFtZXRlcnMuIElmIHlvdQotICAgIHByb3ZpZGUgdGhl
c2UgcGFyYW1ldGVycyBhcyB3ZWxsLCB0aGV5IHdpbGwgYmUgYXBwZW5kZWQgdG8gdGhlIG9uZXMK
LSAgICBndWVzc2VkIHZpYSB0aGUgcGtnY29uZmlnIGZpbGUuCi0KLSAgICBLZXl3b3JkIGFyZ3Vt
ZW50czoKLSAgICAgIHBrZ19jb25maWdfcGF0aCAtLSBQYXRoIHRvIHRoZSBwa2djb25maWcgZmls
ZSBmb3IgdGhlIGxpYnJhcnkuIFJlcXVpcmVkLgotICAgICIiIgotCi0gICAgZGVmIF9faW5pdF9f
KHNlbGYsIHBrZ19jb25maWdfcGF0aCwgYXJncyk6Ci0gICAgICAgIHN1cGVyKFBrZ0NvbmZpZ0dU
S0RvYywgc2VsZikuX19pbml0X18oYXJncykKLQotICAgICAgICBwa2dfY29uZmlnID0gb3MuZW52
aXJvbi5nZXQoJ1BLR19DT05GSUcnLCAncGtnLWNvbmZpZycpCi0KLSAgICAgICAgaWYgbm90IG9z
LnBhdGguZXhpc3RzKHBrZ19jb25maWdfcGF0aCk6Ci0gICAgICAgICAgICByYWlzZSBFeGNlcHRp
b24oJ0NvdWxkIG5vdCBmaW5kIHBrZy1jb25maWcgZmlsZSBhdDogJXMnCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgJSBwa2dfY29uZmlnX3BhdGgpCi0KLSAgICAgICAgc2VsZi5jZmxhZ3Mg
Kz0gIiAiICsgc2VsZi5fcnVuX2NvbW1hbmQoW3BrZ19jb25maWcsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwa2dfY29uZmlnX3BhdGgsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1jZmxhZ3MnXSwgcHJp
bnRfb3V0cHV0PUZhbHNlKQotICAgICAgICBzZWxmLmxkZmxhZ3MgKz0gIiAiICsgc2VsZi5fcnVu
X2NvbW1hbmQoW3BrZ19jb25maWcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBwa2dfY29uZmlnX3BhdGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAnLS1saWJzJ10sIHByaW50X291dHB1dD1GYWxzZSkKLSAg
ICAgICAgc2VsZi52ZXJzaW9uID0gc2VsZi5fcnVuX2NvbW1hbmQoW3BrZ19jb25maWcsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwa2dfY29uZmlnX3BhdGgsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1tb2R2ZXJzaW9uJ10s
IHByaW50X291dHB1dD1GYWxzZSkKLSAgICAgICAgc2VsZi5wcmVmaXggPSBzZWxmLl9ydW5fY29t
bWFuZChbcGtnX2NvbmZpZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcGtnX2NvbmZpZ19wYXRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAnLS12YXJpYWJsZT1wcmVmaXgnXSwgcHJpbnRfb3V0cHV0PUZhbHNlKQpkaWZmIC0tZ2l0
IGEvVG9vbHMvZ3RrZG9jL2dlbmVyYXRlLWd0a2RvYyBiL1Rvb2xzL2d0a2RvYy9nZW5lcmF0ZS1n
dGtkb2MKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjI4MDgxOGYwYzE2ZGZhZThkNjk0NjkyZDVlZTQ5NmUxNTBiNWM1
ZgotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL2d0a2RvYy9nZW5lcmF0ZS1ndGtkb2MKQEAgLTAs
MCArMSwyNTIgQEAKKyMhL3Vzci9iaW4vZW52IHB5dGhvbgorIyBDb3B5cmlnaHQgKEMpIDIwMTEg
SWdhbGlhIFMuTC4KKyMKKyMgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g
cmVkaXN0cmlidXRlIGl0IGFuZC9vcgorIyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo
ZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisjIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorIyB2ZXJzaW9uIDIgb2YgdGhlIExp
Y2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMg
bGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs
LAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3
YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UuICBTZWUgdGhlIEdOVQorIyBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm
b3IgbW9yZSBkZXRhaWxzLgorIworIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m
IHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisjIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlz
IGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyMgRm91bmRhdGlv
biwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIx
MTAtMTMwMSAgVVNBCisKK2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgcHJpbnRfZnVuY3Rpb24KK2Zy
b20gQ29uZmlnUGFyc2VyIGltcG9ydCBTYWZlQ29uZmlnUGFyc2VyCisKK2ltcG9ydCBhcmdwYXJz
ZQoraW1wb3J0IGNvZGVjcworaW1wb3J0IGdsb2IKK2ltcG9ydCBndGtkb2MKK2ltcG9ydCBsb2dn
aW5nCitpbXBvcnQgb3MucGF0aAoraW1wb3J0IHN5cworCit0b3BfbGV2ZWxfZGlyZWN0b3J5ID0g
b3MucGF0aC5ub3JtcGF0aChvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwg
Jy4uJywgJy4uJykpCitzeXMucGF0aC5pbnNlcnQoMCwgb3MucGF0aC5qb2luKHRvcF9sZXZlbF9k
aXJlY3RvcnksICdUb29scycsICdnbGliJykpCitpbXBvcnQgY29tbW9uCisKK3N5cy5zdGRvdXQg
PSBjb2RlY3MuZ2V0d3JpdGVyKCJ1dGYtOCIpKHN5cy5zdGRvdXQpCitzeXMuc3RkZXJyID0gY29k
ZWNzLmdldHdyaXRlcigidXRmLTgiKShzeXMuc3RkZXJyKQorCitkZWYgY29uZmlndXJlX2xvZ2dp
bmcodmVyYm9zZSk6CisgICAgbGV2ZWwgPSBsb2dnaW5nLkRFQlVHIGlmIHZlcmJvc2UgZWxzZSBs
b2dnaW5nLklORk8KKyAgICBsb2dnZXIgPSBsb2dnaW5nLmdldExvZ2dlcignZ3RrZG9jJykKKyAg
ICBsb2dnZXIuc2V0TGV2ZWwobGV2ZWwpCisgICAgaGFuZGxlciA9IGxvZ2dpbmcuU3RyZWFtSGFu
ZGxlcigpCisgICAgaGFuZGxlci5zZXRMZXZlbChsZXZlbCkKKyAgICBsb2dnZXIuYWRkSGFuZGxl
cihoYW5kbGVyKQorICAgIGlmIGxldmVsID09IGxvZ2dpbmcuREVCVUc6CisgICAgICAgIGhhbmRs
ZXIuc2V0Rm9ybWF0dGVyKGxvZ2dpbmcuRm9ybWF0dGVyKCdbJShhc2N0aW1lKXNdICAlKG1lc3Nh
Z2UpcycpKQorICAgIGVsc2U6CisgICAgICAgIGhhbmRsZXIuc2V0Rm9ybWF0dGVyKGxvZ2dpbmcu
Rm9ybWF0dGVyKCclKG1lc3NhZ2UpcycpKQorCitkZWYgZ2V0X2d0a2RvY19tb2R1bGVfcGF0aHMo
Y3Jvc3NfcmVmZXJlbmNlX2RlcHMpOgorICAgIGRlcGVuZGVudF9wYWNrYWdlcyA9IHsKKyAgICAg
ICAgJ2dsaWItMi4wJyA6IFsnZ2xpYicsICdnb2JqZWN0JywgJ2dpbyddLAorICAgICAgICAnbGli
c291cC0yLjQnIDogWydsaWJzb3VwLTIuNCddCisgICAgfQorCisgICAgaWYgYXJndW1lbnRzLmd0
azoKKyAgICAgICAgZGVwZW5kZW50X3BhY2thZ2VzWydnZGstcGl4YnVmLTIuMCddID0gWydnZGst
cGl4YnVmJ10KKyAgICAgICAgZGVwZW5kZW50X3BhY2thZ2VzWydndGsrLTMuMCddID0gWydndGsz
JywgJ2dkazMnXQorCisgICAgcGF0aHMgPSBbXQorICAgIGh0bWxfZGlyID0gb3MucGF0aC5qb2lu
KCdzaGFyZScsICdndGstZG9jJywgJ2h0bWwnKQorICAgIGZvciBwYWNrYWdlLCBtb2R1bGVzIGlu
IGRlcGVuZGVudF9wYWNrYWdlcy5pdGVyaXRlbXMoKToKKyAgICAgICAgcHJlZml4ID0gY29tbW9u
LnByZWZpeF9vZl9wa2dfY29uZmlnX2ZpbGUocGFja2FnZSkKKyAgICAgICAgaWYgcHJlZml4IGlz
IE5vbmU6CisgICAgICAgICAgICBjb250aW51ZQorICAgICAgICBmb3IgbW9kdWxlIGluIG1vZHVs
ZXM6CisgICAgICAgICAgICBwYXRocy5hcHBlbmQob3MucGF0aC5qb2luKHByZWZpeCwgaHRtbF9k
aXIsIG1vZHVsZSkpCisKKyAgICBmb3IgbG9jYWxfZGVwIGluIGNyb3NzX3JlZmVyZW5jZV9kZXBz
OgorICAgICAgICBwYXRocy5hcHBlbmQoY29tbW9uLmJ1aWxkX3BhdGgoJ0RvY3VtZW50YXRpb24n
LCBsb2NhbF9kZXAsICdodG1sJykpCisgICAgcmV0dXJuIHBhdGhzCisKK2RlZiBwcmludF9taXNz
aW5nX2FwaShnZW5lcmF0b3IpOgorICAgIG1pc3NpbmdfYXBpID0gZ2VuZXJhdG9yLmFwaV9taXNz
aW5nX2RvY3VtZW50YXRpb24oKQorICAgIGlmIG5vdCBtaXNzaW5nX2FwaToKKyAgICAgICAgcmV0
dXJuCisgICAgcHJpbnQoIlxuVGhlIGZvbGxvd2luZyBBUEkgYXJlIG1pc3NpbmcgZG9jdW1lbnRh
dGlvbjoiKQorICAgIGZvciBhcGkgaW4gbWlzc2luZ19hcGk6CisgICAgICAgIHByaW50KCJcdHsw
fSIuZm9ybWF0KGFwaSkpCisKK2RlZiBmaWxlc190b19pZ25vcmUoc291cmNlX2RpcnMsIGhlYWRl
cnNfd2l0aF9ndGtkb2MpOgorICAgICIiIgorICAgIEZpbmQgZmlsZXMgdG8gaWdub3JlIGR1cmlu
ZyBkb2N1bWVudGF0aW9uIGdlbmVyYXRpb24uIFdlIGFzc3VtZSB0aGF0IGlmIGFuCisgICAgaW1w
bGVtZW50YXRpb24gZmlsZSBleGlzdHMgZm9yIGEgaGVhZGVyIHdpdGggZ3RrZG9jIChzYXkgd2Vi
a2l0Zm9vLmNwcCBmb3IKKyAgICB3ZWJraXRmb28uaCkgd2Ugc2hvdWxkbid0IGlnbm9yZSB0aGF0
IGZpbGUuIEN1cnJlbnRseSB0aGlzIGhvbGRzIHRydWUgZm9yIGFsbAorICAgIG9mIHRoZSBXZWJL
aXQgcHJvamVjdC4KKyAgICAiIiIKKyAgICBpbXBsZW1lbnRhdGlvbl9maWxlcyA9IGxpc3QoaGVh
ZGVyc193aXRoX2d0a2RvYykKKyAgICBmb3IgaGVhZGVyIGluIGhlYWRlcnNfd2l0aF9ndGtkb2M6
CisgICAgICAgIGRlZiBhZGRfZmlsZV9pZl9leGlzdHMoZmlsZW5hbWUpOgorICAgICAgICAgICAg
Zm9yIGRpciBpbiBzb3VyY2VfZGlyczoKKyAgICAgICAgICAgICAgICBmaWxlID0gb3MucGF0aC5q
b2luKGRpciwgZmlsZW5hbWUpCisgICAgICAgICAgICAgICAgaWYgb3MucGF0aC5pc2ZpbGUoZmls
ZSk6CisgICAgICAgICAgICAgICAgICAgIGltcGxlbWVudGF0aW9uX2ZpbGVzLmFwcGVuZChvcy5w
YXRoLmFic3BhdGgoZmlsZSkpCisgICAgICAgIGhlYWRlcl9iYXNlbmFtZV93aXRob3V0X2V4dGVu
c2lvbiA9IG9zLnBhdGguc3BsaXRleHQob3MucGF0aC5iYXNlbmFtZShoZWFkZXIpKVswXQorICAg
ICAgICBhZGRfZmlsZV9pZl9leGlzdHMoaGVhZGVyX2Jhc2VuYW1lX3dpdGhvdXRfZXh0ZW5zaW9u
ICsgIi5jcHAiKQorICAgICAgICBhZGRfZmlsZV9pZl9leGlzdHMoaGVhZGVyX2Jhc2VuYW1lX3dp
dGhvdXRfZXh0ZW5zaW9uICsgIkd0ay5jcHAiKQorICAgICAgICBhZGRfZmlsZV9pZl9leGlzdHMo
aGVhZGVyX2Jhc2VuYW1lX3dpdGhvdXRfZXh0ZW5zaW9uICsgIi5jIikKKworICAgIGRlZiBmaWxl
X3Nob3VsZF9iZV9pZ25vcmVkKGZpbGUpOgorICAgICAgICBpZiBvcy5wYXRoLnNwbGl0ZXh0KGZp
bGUpWzFdIG5vdCBpbiBbJy5oJywgJy5jJywgJy5jcHAnLCAnLmNjJ106CisgICAgICAgICAgICBy
ZXR1cm4gRmFsc2UgIyBUaGVzZSBmaWxlcyBhcmUgaWdub3JlZCBhbnl3YXkuCisgICAgICAgIGlm
IG5vdCBvcy5wYXRoLmlzZmlsZShmaWxlKToKKyAgICAgICAgICAgIHJldHVybiBUcnVlCisgICAg
ICAgIHJldHVybiBvcy5wYXRoLmFic3BhdGgoZmlsZSkgbm90IGluIGltcGxlbWVudGF0aW9uX2Zp
bGVzCisKKyAgICBhbGxfZmlsZXMgPSBzdW0oW1tvcy5wYXRoLmpvaW4oZGlyLCBmaWxlKSBmb3Ig
ZmlsZSBpbiBvcy5saXN0ZGlyKGRpcildIGZvciBkaXIgaW4gc291cmNlX2RpcnNdLCBbXSkKKyAg
ICByZXR1cm4gZmlsdGVyKGZpbGVfc2hvdWxkX2JlX2lnbm9yZWQsIGFsbF9maWxlcykKKworZGVm
IGdldF9nZW5lcmF0b3JfZm9yX2NvbmZpZyhjb25maWdfZmlsZSwgdmlydHVhbF9yb290LCBjcm9z
c19yZWZlcmVuY2VfZGVwcyA9IFtdKToKKyAgICBpZiBub3Qgb3MucGF0aC5pc2ZpbGUoY29uZmln
X2ZpbGUpOgorICAgICAgICByZXR1cm4gTm9uZQorCisgICAgY29uZmlnID0gU2FmZUNvbmZpZ1Bh
cnNlcigpCisgICAgY29uZmlnLnJlYWQoY29uZmlnX2ZpbGUpCisgICAgbW9kdWxlX25hbWUgPSBj
b25maWcuc2VjdGlvbnMoKVswXQorICAgIHBrZ2NvbmZpZ19maWxlID0gY29uZmlnLmdldChtb2R1
bGVfbmFtZSwgJ3BrZ2NvbmZpZ19maWxlJykKKworICAgIGlmIG5vdCBvcy5wYXRoLmlzZmlsZShw
a2djb25maWdfZmlsZSk6CisgICAgICAgIHJldHVybiBOb25lCisKKyAgICBzb3VyY2VfZGlycyA9
IGNvbmZpZy5nZXQobW9kdWxlX25hbWUsICdzb3VyY2VfZGlycycpLnJlcGxhY2UoJzsnLCAnICcp
LnNwbGl0KCkKKyAgICBoZWFkZXJzID0gW29zLnBhdGguYWJzcGF0aChmKSBmb3IgZiBpbiBjb25m
aWcuZ2V0KG1vZHVsZV9uYW1lLCAnaGVhZGVycycpLnJlcGxhY2UoJzsnLCAnICcpLnNwbGl0KCld
CisgICAgcmV0dXJuIGd0a2RvYy5Qa2dDb25maWdHVEtEb2MocGtnY29uZmlnX2ZpbGUsIHsKKyAg
ICAgICAgJ2RlY29yYXRvcic6IGNvbmZpZy5nZXQobW9kdWxlX25hbWUsICdkZWNvcmF0b3InKSwK
KyAgICAgICAgJ2RlcHJlY2F0aW9uX2d1YXJkJzogY29uZmlnLmdldChtb2R1bGVfbmFtZSwgJ2Rl
cHJlY2F0aW9uX2d1YXJkJyksCisgICAgICAgICdsaWJyYXJ5X3BhdGgnOiBjb21tb24ubGlicmFy
eV9idWlsZF9wYXRoKCksCisgICAgICAgICd2aXJ0dWFsX3Jvb3QnOiB2aXJ0dWFsX3Jvb3QsCisg
ICAgICAgICdtb2R1bGVfbmFtZSc6IG1vZHVsZV9uYW1lLAorICAgICAgICAnbmFtZXNwYWNlJzog
Y29uZmlnLmdldChtb2R1bGVfbmFtZSwgJ25hbWVzcGFjZScpLAorICAgICAgICAnZG9jX2Rpcic6
IGNvbmZpZy5nZXQobW9kdWxlX25hbWUsICdkb2NfZGlyJyksCisgICAgICAgICdvdXRwdXRfZGly
JzogY29tbW9uLmJ1aWxkX3BhdGgoJ0RvY3VtZW50YXRpb24nLCBtb2R1bGVfbmFtZSksCisgICAg
ICAgICdtYWluX3NnbWxfZmlsZSc6IGNvbmZpZy5nZXQobW9kdWxlX25hbWUsICdtYWluX3NnbWxf
ZmlsZScpLAorICAgICAgICAnc291cmNlX2RpcnMnOiBzb3VyY2VfZGlycywKKyAgICAgICAgJ2hl
YWRlcnMnOiBoZWFkZXJzLAorICAgICAgICAnY2ZsYWdzJzogIiAiLmpvaW4oY29uZmlnLmdldCht
b2R1bGVfbmFtZSwgJ2NmbGFncycpLnNwbGl0KCkpLAorICAgICAgICAnY3Jvc3NfcmVmZXJlbmNl
X2RlcHMnOiBnZXRfZ3RrZG9jX21vZHVsZV9wYXRocyhjcm9zc19yZWZlcmVuY2VfZGVwcyksCisg
ICAgICAgICdpZ25vcmVkX2ZpbGVzJzogZmlsZXNfdG9faWdub3JlKHNvdXJjZV9kaXJzLCBoZWFk
ZXJzKSwKKyAgICB9KQorCitkZWYgZ2VuZXJhdGVfZG9jKGdlbmVyYXRvciwgc2tpcF9odG1sKToK
KyAgICBnZW5lcmF0b3IuZ2VuZXJhdGUobm90IHNraXBfaHRtbCkKKyAgICBpZiBnZW5lcmF0b3Iu
c2F3X3dhcm5pbmdzOgorICAgICAgICBwcmludF9taXNzaW5nX2FwaShnZW5lcmF0b3IpCisgICAg
cmV0dXJuIGdlbmVyYXRvci5zYXdfd2FybmluZ3MKKworZGVmIHJlYmFzZV9kb2MoZ2VuZXJhdG9y
KToKKyAgICB0cnk6CisgICAgICAgIGdlbmVyYXRvci5yZWJhc2VfaW5zdGFsbGVkX2RvY3MoKQor
ICAgIGV4Y2VwdCBFeGNlcHRpb246CisgICAgICAgIHByaW50KCJSZWJhc2UgZGlkIG5vdCBoYXBw
ZW4sIGxpa2VseSBubyBkb2N1bWVudGF0aW9uIGlzIHByZXNlbnQuIikKKworZGVmIGdlbmVyYXRl
X2RvY3VtZW50YXRpb24oZ2VuZXJhdG9yKToKKyAgICBpZiBub3QgYXJndW1lbnRzLnJlYmFzZToK
KyAgICAgICAgcmV0dXJuIGdlbmVyYXRlX2RvYyhnZW5lcmF0b3IsIGFyZ3VtZW50cy5za2lwX2h0
bWwpCisKKyAgICByZWJhc2VfZG9jKGdlbmVyYXRvcikKKyAgICByZXR1cm4gRmFsc2UKKworZGVm
IHByZXBhcmVfZW52aXJvbm1lbnRfZm9yX2d0a2RvY19nZW5lcmF0aW9uKCk6CisgICAgIyBXZSBu
ZWVkIHRvIGFkZCB0aGUgSmF2YVNjcmlwdENvcmUgYnVpbGQgZGlyZWN0b3J5IHRvIHRoZSBQS0df
Q09ORklHX1BBVEgKKyAgICAjIHNvIHRoYXQgcGtnY29uZmlnIGNhbiBwcm9wZXJseSByZXNvbHZl
IHRoZSBsaWJqYXZhc2NyaXB0Y29yZSBkZXBlbmRlbmN5LgorICAgIHBrZ19jb25maWdfcGF0aCA9
IG9zLmVudmlyb24uZ2V0KCJQS0dfQ09ORklHX1BBVEgiKQorICAgIG9zLmVudmlyb25bJ1BLR19D
T05GSUdfUEFUSCddID0gY29tbW9uLmJ1aWxkX3BhdGgoJ1NvdXJjZScsICdKYXZhU2NyaXB0Q29y
ZScpCisgICAgaWYgcGtnX2NvbmZpZ19wYXRoOgorICAgICAgICBvcy5lbnZpcm9uWydQS0dfQ09O
RklHX1BBVEgnXSArPSAnOicgKyBwa2dfY29uZmlnX3BhdGgKKworICAgICMgTmV3ZXIgdmVyc2lv
bnMgb2YgZ2xpYiBoYXZlIGRlcHJlY2F0ZWQgZ190eXBlX2luaXQsIHNvIHdlIG5lZWQgdG8gZGlz
YWJsZQorICAgICMgdGhhdCB3YXJuaW5nIHdoZW4gcnVubmluZyBndGtkb2Mtc2Nhbm9iaiBieSBv
dmVycmlkaW5nIHRoZSBDRkxBR1Mgd2UgdXNlCisgICAgIyB0byBjb21waWxlIGl0LgorICAgIGNm
bGFncyA9IG9zLmVudmlyb24uZ2V0KCdDRkxBR1MnLCAnJykKKyAgICBjZmxhZ3MgKz0gJyAtREdM
SUJfVkVSU0lPTl9NSU5fUkVRVUlSRUQ9R0xJQl9WRVJTSU9OXzJfMzInCisKKyAgICAjIEluIG5v
bi14ODYgYXJjaGl0ZWN0dXJlcywgd2hlbiBhIHBvaW50ZXIgaXMgY2FzdCB0byAodm9pZCopIGFu
ZAorICAgICMgYmFjaywgdGhlIGNvbXBpbGVyIHRoaW5rcyB0aGF0IHRoZSBhbGlnbm1lbnQgaXMg
cmFuZG9tLiBTaW5jZQorICAgICMgZ3RrZG9jIGJ1aWxkIGlzIGJyb2tlbiBhdCBhbnkgd2Fybmlu
ZyBtZXNzYWdlLCBpdCBpcyBiZXR0ZXIgdG8KKyAgICAjIHNpbGVuY2UgdGhlc2UgZmFsc2UgcG9z
aXRpdmVzLgorICAgIGNmbGFncyArPSAnIC1Xbm8tY2FzdC1hbGlnbicKKyAgICBvcy5lbnZpcm9u
WydDRkxBR1MnXSA9IGNmbGFncworCisgICAgIyBQYXRocyBmcm9tIHRoZSBHTlVtYWtlZmlsZSBn
ZW5lcmF0ZWQgY29uZmlndXJhdGlvbiBmaWxlcyBhcmUgcmVsYXRpdmUgdG8gdGhlIGJ1aWxkIGRp
cmVjdG9yeS4KKyAgICBvcy5jaGRpcihjb21tb24uYnVpbGRfcGF0aCgpKQorCitkZWYgYnVpbGRf
Z3RrZG9jX2Zvcl93cGUoYXJndW1lbnRzKToKKyAgICB3ZWJleHRlbnNpb25zX2dlbmVyYXRvciA9
IGdldF9nZW5lcmF0b3JfZm9yX2NvbmZpZyhjb21tb24uYnVpbGRfcGF0aCgnZ3RrZG9jLXdlYmV4
dGVuc2lvbnMuY2ZnJyksIGFyZ3VtZW50cy52aXJ0dWFsX3Jvb3QpCisgICAgaWYgbm90IHdlYmV4
dGVuc2lvbnNfZ2VuZXJhdG9yOgorICAgICAgICBwcmludCgiZ3RrZG9jLXdlYmV4dGVuc2lvbnMu
Y2ZnIGRvZXMgbm90IGV4aXN0ISBTa2lwcGluZyB0aGF0IGRvY3VtZW50YXRpb24iKQorICAgICAg
ICBzeXMuZXhpdCgxKQorICAgIHNhd193YXJuaW5ncyA9IGdlbmVyYXRlX2RvY3VtZW50YXRpb24o
d2ViZXh0ZW5zaW9uc19nZW5lcmF0b3IpCisgICAgaWYgc2F3X3dhcm5pbmdzOgorICAgICAgICBz
eXMuZXhpdChzYXdfd2FybmluZ3MpCisKKyAgICB3cGVfZ2VuZXJhdG9yID0gZ2V0X2dlbmVyYXRv
cl9mb3JfY29uZmlnKGNvbW1vbi5idWlsZF9wYXRoKCdndGtkb2Mtd3BlLmNmZycpLCBhcmd1bWVu
dHMudmlydHVhbF9yb290KQorICAgIGlmIG5vdCB3cGVfZ2VuZXJhdG9yOgorICAgICAgICBwcmlu
dCgiZ3RrZG9jLXdwZS5jZmcgZG9lcyBub3QgZXhpc3QhIFNraXBwaW5nIHRoYXQgZG9jdW1lbnRh
dGlvbiIpCisgICAgICAgIHN5cy5leGl0KDEpCisgICAgc2F3X3dhcm5pbmdzID0gZ2VuZXJhdGVf
ZG9jdW1lbnRhdGlvbih3cGVfZ2VuZXJhdG9yKQorICAgIHN5cy5leGl0KHNhd193YXJuaW5ncykK
KworZGVmIGJ1aWxkX2d0a2RvY19mb3Jfd2tndGsoYXJndW1lbnRzKToKKyAgICBqc2NfZ2VuZXJh
dG9yID0gZ2V0X2dlbmVyYXRvcl9mb3JfY29uZmlnKGNvbW1vbi5idWlsZF9wYXRoKCdndGtkb2Mt
anNjLWdsaWIuY2ZnJyksIGFyZ3VtZW50cy52aXJ0dWFsX3Jvb3QpCisgICAgaWYgbm90IGpzY19n
ZW5lcmF0b3I6CisgICAgICAgIHByaW50KCJndGtkb2MtanNjLWdsaWIuY2ZnIGRvZXMgbm90IGV4
aXN0ISBTa2lwcGluZyB0aGF0IGRvY3VtZW50YXRpb24iKQorICAgICAgICBzeXMuZXhpdCgxKQor
ICAgIHNhd193YXJuaW5ncyA9IGdlbmVyYXRlX2RvY3VtZW50YXRpb24oanNjX2dlbmVyYXRvcikK
KyAgICBpZiBzYXdfd2FybmluZ3M6CisgICAgICAgIHN5cy5leGl0KHNhd193YXJuaW5ncykKKwor
ICAgIHdlYmtpdGRvbV9nZW5lcmF0b3IgPSBnZXRfZ2VuZXJhdG9yX2Zvcl9jb25maWcoY29tbW9u
LmJ1aWxkX3BhdGgoJ2d0a2RvYy13ZWJraXRkb20uY2ZnJyksIGFyZ3VtZW50cy52aXJ0dWFsX3Jv
b3QsIFtqc2NfZ2VuZXJhdG9yLm1vZHVsZV9uYW1lXSkKKyAgICBpZiBub3Qgd2Via2l0ZG9tX2dl
bmVyYXRvcjoKKyAgICAgICAgcHJpbnQoImd0a2RvYy13ZWJraXRkb20uY2ZnIGRvZXMgbm90IGV4
aXN0ISBTa2lwcGluZyB0aGF0IGRvY3VtZW50YXRpb24iKQorICAgICAgICBzeXMuZXhpdCgxKQor
ICAgIHNhd193YXJuaW5ncyA9IGdlbmVyYXRlX2RvY3VtZW50YXRpb24od2Via2l0ZG9tX2dlbmVy
YXRvcikKKyAgICBpZiBzYXdfd2FybmluZ3M6CisgICAgICAgIHN5cy5leGl0KHNhd193YXJuaW5n
cykKKworICAgIHdlYmtpdDJfZ2VuZXJhdG9yID0gZ2V0X2dlbmVyYXRvcl9mb3JfY29uZmlnKGNv
bW1vbi5idWlsZF9wYXRoKCdndGtkb2Mtd2Via2l0Mmd0ay5jZmcnKSwgYXJndW1lbnRzLnZpcnR1
YWxfcm9vdCwgW3dlYmtpdGRvbV9nZW5lcmF0b3IubW9kdWxlX25hbWUsIGpzY19nZW5lcmF0b3Iu
bW9kdWxlX25hbWVdKQorICAgIGlmIG5vdCB3ZWJraXQyX2dlbmVyYXRvcjoKKyAgICAgICAgcHJp
bnQoImd0a2RvYy13ZWJraXQyZ3RrLmNmZyBkb2VzIG5vdCBleGlzdCEgU2tpcHBpbmcgdGhhdCBk
b2N1bWVudGF0aW9uIikKKyAgICAgICAgc3lzLmV4aXQoMSkKKyAgICBzYXdfd2FybmluZ3MgPSBn
ZW5lcmF0ZV9kb2N1bWVudGF0aW9uKHdlYmtpdDJfZ2VuZXJhdG9yKQorICAgIHN5cy5leGl0KHNh
d193YXJuaW5ncykKKworaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKKyAgICBwYXJzZXIgPSBh
cmdwYXJzZS5Bcmd1bWVudFBhcnNlcihkZXNjcmlwdGlvbj0nR2VuZXJhdGUgZ3RrZG9jIGZvciBX
ZWJLaXQuJykKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctdicsICctLXZlcmJvc2UnLCBhY3Rp
b249J3N0b3JlX3RydWUnLAorICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0nV2hldGhlciBv
ciBub3QgdG8gcnVuIGluIHZlcmJvc2UgbW9kZS4nKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQo
Jy0tcmViYXNlJywgYWN0aW9uPSdzdG9yZV90cnVlJywKKyAgICAgICAgICAgICAgICAgICAgICAg
IGhlbHA9J1doZW4gc3BlY2lmaWVkLCBydW4gdGhlIHRvb2wgaW4gcmViYXNlIG1vZGUuJykKKyAg
ICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLXNraXAtaHRtbCcsIGFjdGlvbj0nc3RvcmVfdHJ1ZScs
CisgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdXaGV0aGVyIG9yIG5vdCB0byBza2lwIEhU
TUwgZ2VuZXJhdGlvbiwgd2hpY2ggY2FuIGJlIHNsb3cuJykKKyAgICBwYXJzZXIuYWRkX2FyZ3Vt
ZW50KCctLXZpcnR1YWwtcm9vdCcsIHR5cGU9c3RyLCBkZWZhdWx0PScnLAorICAgICAgICAgICAg
ICAgICAgICAgICAgaGVscD0nQSB0ZW1wb3JhcnkgaW5zdGFsbGF0aW9uIGRpcmVjdG9yeSB3aGlj
aCBpcyB1c2VkIGFzIHRoZSByb290ICcgKyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICd3aGVyZSB0aGUgYWN0dWFsIGluc3RhbGxhdGlvbiBwcmVmaXggbGl2ZXM7IHRoaXMgaXMgbW9z
dGx5ICcgKyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd1c2VmdWwgZm9yIHBhY2th
Z2VycywgYW5kIHNob3VsZCBiZSBzZXQgdG8gd2hhdCBpcyBnaXZlbiB0byAnICsgXAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAnbWFrZSBpbnN0YWxsIGFzIERFU1RESVIuJykKKworICAg
IHBhcnNlci5hZGRfYXJndW1lbnQoJy0tZ3RrJywgYWN0aW9uPSdzdG9yZV90cnVlJywKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGhlbHA9J0J1aWxkIGRvY3VtZW50YXRpb24gZm9yIFdlYktpdEdU
SysnKQorICAgIHBhcnNlci5hZGRfYXJndW1lbnQoJy0td3BlJywgYWN0aW9uPSdzdG9yZV90cnVl
JywKKyAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J0J1aWxkIGRvY3VtZW50YXRpb24gZm9y
IFdQRScpCisKKyAgICBhcmd1bWVudHMgPSBwYXJzZXIucGFyc2VfYXJncygpCisgICAgY29uZmln
dXJlX2xvZ2dpbmcoYXJndW1lbnRzLnZlcmJvc2UpCisKKyAgICBwcmVwYXJlX2Vudmlyb25tZW50
X2Zvcl9ndGtkb2NfZ2VuZXJhdGlvbigpCisKKyAgICBpZiBhcmd1bWVudHMud3BlOgorICAgICAg
ICBidWlsZF9ndGtkb2NfZm9yX3dwZShhcmd1bWVudHMpCisgICAgZWxpZiBhcmd1bWVudHMuZ3Rr
OgorICAgICAgICBidWlsZF9ndGtkb2NfZm9yX3drZ3RrKGFyZ3VtZW50cykKKyAgICBlbHNlOgor
ICAgICAgICBwcmludCgnUGxlYXNlIGNob29zZSBhIFdlYktpdCBwb3J0IHdpdGggLS1ndGsgb3Ig
LS13cGUnKQorICAgICAgICBzeXMuZXhpdCgxKQpkaWZmIC0tZ2l0IGEvVG9vbHMvZ3RrZG9jL2d0
a2RvYy5weSBiL1Rvb2xzL2d0a2RvYy9ndGtkb2MucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDc5Njg0NDZjYzU0
OGNmYTZhOWNmY2MxOWU1ZGEzNDMyM2RhODYwYQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL2d0
a2RvYy9ndGtkb2MucHkKQEAgLTAsMCArMSw0NTUgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDExIEln
YWxpYSBTLkwuCisjCisjIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg
R05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworIyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyMgdmVyc2lvbiAyIG9mIHRoZSBMaWNl
bnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGxp
YnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK
KyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy
cmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFLiAgU2VlIHRoZSBHTlUKKyMgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y
IG1vcmUgZGV0YWlscy4KKyMKKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0
aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworIyBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBs
aWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisjIEZvdW5kYXRpb24s
IEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEw
LTEzMDEgIFVTQQorCitpbXBvcnQgY29kZWNzCitpbXBvcnQgZXJybm8KK2ltcG9ydCBsb2dnaW5n
CitpbXBvcnQgb3MKK2ltcG9ydCBvcy5wYXRoCitpbXBvcnQgc3VicHJvY2VzcworaW1wb3J0IHN5
cworCisKK2NsYXNzIEdUS0RvYyhvYmplY3QpOgorCisgICAgIiIiQ2xhc3MgdGhhdCBjb250cm9s
cyBhIGd0a2RvYyBydW4uCisKKyAgICBFYWNoIGluc3RhbmNlIG9mIHRoaXMgY2xhc3MgcmVwcmVz
ZW50cyBvbmUgZ3RrZG9jIGNvbmZpZ3VyYXRpb24KKyAgICBhbmQgc2V0IG9mIGRvY3VtZW50YXRp
b24uIFRoZSBndGtkb2MgcGFja2FnZSBpcyBhIHNlcmllcyBvZiB0b29scworICAgIHJ1biBjb25z
ZWN1dGl2ZWx5IHdoaWNoIGNvbnZlcnRzIGlubGluZSBDL0MrKyBkb2N1bWVudGF0aW9uIGludG8K
KyAgICBkb2Nib29rIGZpbGVzIGFuZCB0aGVuIGludG8gSFRNTC4gVGhpcyBjbGFzcyBpcyBzdWl0
YWJsZSBmb3IKKyAgICBnZW5lcmF0aW5nIGRvY3VtZW50YXRpb24gb3Igc2ltcGx5IHZlcmlmeWlu
ZyBjb3JyZWN0bmVzcy4KKworICAgIEtleXdvcmQgYXJndW1lbnRzOgorICAgIG91dHB1dF9kaXIg
ICAgICAgICAtLSBUaGUgcGF0aCB3aGVyZSBndGtkb2Mgb3V0cHV0IHNob3VsZCBiZSBwbGFjZWQu
IEdlbmVyYXRpb24KKyAgICAgICAgICAgICAgICAgICAgICAgICAgbWF5IG92ZXJ3cml0ZSBmaWxl
IGluIHRoaXMgZGlyZWN0b3J5LiBSZXF1aXJlZC4KKyAgICBtb2R1bGVfbmFtZSAgICAgICAgLS0g
VGhlIG5hbWUgb2YgdGhlIGRvY3VtZW50YXRpb24gbW9kdWxlLiBGb3IgbGlicmFyaWVzIHRoaXMK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgaXMgdHlwaWNhbGx5IHRoZSBsaWJyYXJ5IG5hbWUu
IFJlcXVpcmVkIGlmIG5vdCBsaWJyYXJ5IHBhdGgKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
aXMgZ2l2ZW4uCisgICAgc291cmNlX2RpcnMgICAgICAgIC0tIEEgbGlzdCBvZiBwYXRocyB0byBk
aXJlY3RvcmllcyBvZiBzb3VyY2UgY29kZSB0byBiZSBzY2FubmVkLgorICAgICAgICAgICAgICAg
ICAgICAgICAgICBSZXF1aXJlZCBpZiBoZWFkZXJzIGlzIG5vdCBzcGVjaWZpZWQuCisgICAgaWdu
b3JlZF9maWxlcyAgICAgIC0tIEEgbGlzdCBvZiBmaWxlbmFtZXMgdG8gaWdub3JlIGluIHRoZSBz
b3VyY2UgZGlyZWN0b3J5LiBJdCBpcworICAgICAgICAgICAgICAgICAgICAgICAgICBvbmx5IG5l
Y2Vzc2FyeSB0byBwcm92aWRlIHRoZSBiYXNlbmFtZXMgb2YgdGhlc2UgZmlsZXMuCisgICAgICAg
ICAgICAgICAgICAgICAgICAgIFR5cGljYWxseSBpdCBpcyBpbXBvcnRhbnQgdG8gcHJvdmlkZSBh
biB1cGRhdGVkIGxpc3Qgb2YKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaWdub3JlZCBmaWxl
cyB0byBwcmV2ZW50IHdhcm5pbmdzIGFib3V0IHVuZG9jdW1lbnRlZCBzeW1ib2xzLgorICAgIGhl
YWRlcnMgICAgICAgICAgICAtLSBBIGxpc3Qgb2YgcGF0aHMgdG8gaGVhZGVycyB0byBiZSBzY2Fu
bmVkLiBSZXF1aXJlZCBpZiBzb3VyY2VfZGlycworICAgICAgICAgICAgICAgICAgICAgICAgICBp
cyBub3Qgc3BlY2lmaWVkLgorICAgIG5hbWVzcGFjZSAgICAgICAgICAtLSBUaGUgbGlicmFyeSBu
YW1lc3BhY2UuCisgICAgZGVjb3JhdG9yICAgICAgICAgIC0tIElmIGEgZGVjb3JhdG9yIGlzIHVz
ZWQgdG8gdW5oaWRlIGNlcnRhaW4gc3ltYm9scyBpbiBoZWFkZXIKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgZmlsZXMgdGhpcyBwYXJhbWV0ZXIgaXMgcmVxdWlyZWQgZm9yIHN1Y2Nlc3NmdWwg
c2Nhbm5pbmcuCisgICAgICAgICAgICAgICAgICAgICAgICAgIChkZWZhdWx0ICcnKQorICAgIGRl
cHJlY2F0aW9uX2d1YXJkICAtLSBndGtkb2MgdHJpZXMgdG8gZW5zdXJlIHRoYXQgc3ltYm9scyBt
YXJrZWQgYXMgZGVwcmVjYXRlZAorICAgICAgICAgICAgICAgICAgICAgICAgICBhcmUgZW5jYXNl
ZCBpbiB0aGlzIEMgcHJlcHJvY2Vzc29yIGRlZmluZS4gVGhpcyBpcyByZXF1aXJlZAorICAgICAg
ICAgICAgICAgICAgICAgICAgICB0byBhdm9pZCBndGtkb2Mgd2FybmluZ3MuIChkZWZhdWx0ICcn
KQorICAgIGNmbGFncyAgICAgICAgICAgICAtLSBUaGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgYW55
IHByZXByb2Nlc3NvciBmbGFncyBuZWNlc3NhcnkgZm9yCisgICAgICAgICAgICAgICAgICAgICAg
ICAgIGJ1aWxkaW5nIHRoZSBzY2FubmVyIGJpbmFyeSBkdXJpbmcgZ3RrZG9jLXNjYW5vYmouIFR5
cGljYWxseQorICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzIGluY2x1ZGVzIGFsbCBhYnNv
bHV0ZSBpbmNsdWRlIHBhdGhzIG5lY2Vzc2FyeSB0byByZXNvbHZlCisgICAgICAgICAgICAgICAg
ICAgICAgICAgIGFsbCBoZWFkZXIgZGVwZW5kZW5jaWVzLiAoZGVmYXVsdCAnJykKKyAgICBsZGZs
YWdzICAgICAgICAgICAgLS0gVGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIGFueSBsaW5rZXIgZmxh
Z3MgbmVjZXNzYXJ5IGZvcgorICAgICAgICAgICAgICAgICAgICAgICAgICBidWlsZGluZyB0aGUg
c2Nhbm5lciBiaW5hcnkgZHVyaW5nIGd0a2RvYy1zY2Fub2JqLiBUeXBpY2FsbHkKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgdGhpcyBpbmNsdWRlcyAiLWx5b3VybGlicmFyeW5hbWUiLiAoZGVm
YXVsdCAnJykKKyAgICBsaWJyYXJ5X3BhdGggICAgICAgLS0gVGhpcyBwYXJhbWV0ZXIgc3BlY2lm
aWVzIHRoZSBwYXRoIHRvIHRoZSBkaXJlY3Rvcnkgd2hlcmUgeW91CisgICAgICAgICAgICAgICAg
ICAgICAgICAgIGxpYnJhcnkgcmVzaWRlcyB1c2VkIGZvciBidWlsZGluZyB0aGUgc2Nhbm5lciBi
aW5hcnkgZHVyaW5nCisgICAgICAgICAgICAgICAgICAgICAgICAgIGd0a2RvYy1zY2Fub2JqLiAo
ZGVmYXVsdCAnJykKKworICAgIGRvY19kaXIgICAgICAgICAgICAtLSBUaGUgcGF0aCB0byBvdGhl
ciBkb2N1bWVudGF0aW9uIGZpbGVzIG5lY2Vzc2FyeSB0byBidWlsZAorICAgICAgICAgICAgICAg
ICAgICAgICAgICB0aGUgZG9jdW1lbnRhdGlvbi4gVGhpcyBmaWxlcyBpbiB0aGlzIGRpcmVjdG9y
eSBhcyB3ZWxsIGFzCisgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBmaWxlcyBpbiB0aGUg
J2h0bWwnIHN1YmRpcmVjdG9yeSB3aWxsIGJlIGNvcGllZAorICAgICAgICAgICAgICAgICAgICAg
ICAgICByZWN1cnNpdmVseSBpbnRvIHRoZSBvdXRwdXQgZGlyZWN0b3J5LiAoZGVmYXVsdCAnJykK
KyAgICBtYWluX3NnbWxfZmlsZSAgICAgLS0gVGhlIHBhdGggb3IgbmFtZSAoaWYgYSBkb2NfZGly
IGlzIGdpdmVuKSBvZiB0aGUgU0dNTCBmaWxlCisgICAgICAgICAgICAgICAgICAgICAgICAgIHRo
YXQgaXMgdGhlIGNvbnNpZGVyZWQgdGhlIG1haW4gcGFnZSBvZiB5b3VyIGRvY3VtZW50YXRpb24u
CisgICAgICAgICAgICAgICAgICAgICAgICAgIChkZWZhdWx0OiA8bW9kdWxlX25hbWU+LWRvY3Mu
c2dtbCkKKyAgICB2ZXJzaW9uICAgICAgICAgICAgLS0gVGhlIHZlcnNpb24gbnVtYmVyIG9mIHRo
ZSBtb2R1bGUuIElmIHRoaXMgaXMgcHJvdmlkZWQsCisgICAgICAgICAgICAgICAgICAgICAgICAg
IGEgdmVyc2lvbi54bWwgZmlsZSBjb250YWluaW5nIHRoZSB2ZXJzaW9uIHdpbGwgYmUgY3JlYXRl
ZAorICAgICAgICAgICAgICAgICAgICAgICAgICBpbiB0aGUgb3V0cHV0IGRpcmVjdG9yeSBkdXJp
bmcgZG9jdW1lbnRhdGlvbiBnZW5lcmF0aW9uLgorCisgICAgaW50ZXJhY3RpdmUgICAgICAgIC0t
IFdoZXRoZXIgb3Igbm90IGVycm9ycyBvciB3YXJuaW5ncyBzaG91bGQgcHJvbXB0IHRoZSB1c2Vy
CisgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGNvbnRpbnVlIG9yIG5vdC4gV2hlbiB0aGlz
IHZhbHVlIGlzIGZhbHNlLCBnZW5lcmF0aW9uCisgICAgICAgICAgICAgICAgICAgICAgICAgIHdp
bGwgY29udGludWUgZGVzcGl0ZSB3YXJuaW5ncy4gKGRlZmF1bHQgRmFsc2UpCisKKyAgICB2aXJ0
dWFsX3Jvb3QgICAgICAgLS0gQSB0ZW1wb3JhcnkgaW5zdGFsbGF0aW9uIGRpcmVjdG9yeSB3aGlj
aCBpcyB1c2VkIGFzIHRoZSByb290CisgICAgICAgICAgICAgICAgICAgICAgICAgIHdoZXJlIHRo
ZSBhY3R1YWwgaW5zdGFsbGF0aW9uIHByZWZpeCBsaXZlczsgdGhpcyBpcyBtb3N0bHkKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgdXNlZnVsIGZvciBwYWNrYWdlcnMsIGFuZCBzaG91bGQgYmUg
c2V0IHRvIHdoYXQgaXMgZ2l2ZW4gdG8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgbWFrZSBp
bnN0YWxsIGFzIERFU1RESVIuCisgICAgIiIiCisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgYXJn
cyk6CisgICAgICAgIHNlbGYudmVyc2lvbiA9ICcnCisgICAgICAgIHNlbGYudmlydHVhbF9yb290
ID0gJycKKyAgICAgICAgc2VsZi5wcmVmaXggPSAnJworCisgICAgICAgICMgUGFyYW1ldGVycyBz
cGVjaWZpYyB0byBzY2FubmluZy4KKyAgICAgICAgc2VsZi5tb2R1bGVfbmFtZSA9ICcnCisgICAg
ICAgIHNlbGYuc291cmNlX2RpcnMgPSBbXQorICAgICAgICBzZWxmLmhlYWRlcnMgPSBbXQorICAg
ICAgICBzZWxmLmlnbm9yZWRfZmlsZXMgPSBbXQorICAgICAgICBzZWxmLm5hbWVzcGFjZSA9ICcn
CisgICAgICAgIHNlbGYuZGVjb3JhdG9yID0gJycKKyAgICAgICAgc2VsZi5kZXByZWNhdGlvbl9n
dWFyZCA9ICcnCisKKyAgICAgICAgIyBQYXJhbWV0ZXJzIHNwZWNpZmljIHRvIGd0a2RvYy1zY2Fu
b2JqLgorICAgICAgICBzZWxmLmNmbGFncyA9ICcnCisgICAgICAgIHNlbGYubGRmbGFncyA9ICcn
CisgICAgICAgIHNlbGYubGlicmFyeV9wYXRoID0gJycKKworICAgICAgICAjIFBhcmFtZXRlcnMg
c3BlY2lmaWMgdG8gZ2VuZXJhdGlvbi4KKyAgICAgICAgc2VsZi5vdXRwdXRfZGlyID0gJycKKyAg
ICAgICAgc2VsZi5kb2NfZGlyID0gJycKKyAgICAgICAgc2VsZi5tYWluX3NnbWxfZmlsZSA9ICcn
CisKKyAgICAgICAgIyBQYXJhbWV0ZXJzIHNwZWNpZmljIHRvIGd0a2RvYy1maXh4cmVmLgorICAg
ICAgICBzZWxmLmNyb3NzX3JlZmVyZW5jZV9kZXBzID0gW10KKworICAgICAgICBzZWxmLmludGVy
YWN0aXZlID0gRmFsc2UKKworICAgICAgICBzZWxmLmxvZ2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2Vy
KCdndGtkb2MnKQorCisgICAgICAgIGZvciBrZXksIHZhbHVlIGluIGl0ZXIoYXJncy5pdGVtcygp
KToKKyAgICAgICAgICAgIHNldGF0dHIoc2VsZiwga2V5LCB2YWx1ZSkKKworICAgICAgICBpZiBu
b3QgZ2V0YXR0cihzZWxmLCAnb3V0cHV0X2RpcicpOgorICAgICAgICAgICAgcmFpc2UgRXhjZXB0
aW9uKCdvdXRwdXRfZGlyIG5vdCBzcGVjaWZpZWQuJykKKyAgICAgICAgaWYgbm90IGdldGF0dHIo
c2VsZiwgJ21vZHVsZV9uYW1lJyk6CisgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oJ21vZHVs
ZV9uYW1lIG5vdCBzcGVjaWZpZWQuJykKKyAgICAgICAgaWYgbm90IGdldGF0dHIoc2VsZiwgJ3Nv
dXJjZV9kaXJzJykgYW5kIG5vdCBnZXRhdHRyKHNlbGYsICdoZWFkZXJzJyk6CisgICAgICAgICAg
ICByYWlzZSBFeGNlcHRpb24oJ05laXRoZXIgc291cmNlX2RpcnMgbm9yIGhlYWRlcnMgc3BlY2lm
aWVkLicgJSBrZXkpCisKKyAgICAgICAgIyBNYWtlIGFsbCBwYXRocyBhYnNvbHV0ZSBpbiBjYXNl
IHdlIHdlcmUgcGFzc2VkIHJlbGF0aXZlIHBhdGhzLCBzaW5jZQorICAgICAgICAjIHdlIGNoYW5n
ZSB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSB3aGVuIGV4ZWN1dGluZyBzdWJjb21tYW5k
cy4KKyAgICAgICAgc2VsZi5vdXRwdXRfZGlyID0gb3MucGF0aC5hYnNwYXRoKHNlbGYub3V0cHV0
X2RpcikKKyAgICAgICAgc2VsZi5zb3VyY2VfZGlycyA9IFtvcy5wYXRoLmFic3BhdGgoeCkgZm9y
IHggaW4gc2VsZi5zb3VyY2VfZGlyc10KKyAgICAgICAgc2VsZi5oZWFkZXJzID0gW29zLnBhdGgu
YWJzcGF0aCh4KSBmb3IgeCBpbiBzZWxmLmhlYWRlcnNdCisgICAgICAgIGlmIHNlbGYubGlicmFy
eV9wYXRoOgorICAgICAgICAgICAgc2VsZi5saWJyYXJ5X3BhdGggPSBvcy5wYXRoLmFic3BhdGgo
c2VsZi5saWJyYXJ5X3BhdGgpCisKKyAgICAgICAgaWYgbm90IHNlbGYubWFpbl9zZ21sX2ZpbGU6
CisgICAgICAgICAgICBzZWxmLm1haW5fc2dtbF9maWxlID0gc2VsZi5tb2R1bGVfbmFtZSArICIt
ZG9jcy5zZ21sIgorCisgICAgZGVmIGdlbmVyYXRlKHNlbGYsIGh0bWw9VHJ1ZSk6CisgICAgICAg
IHNlbGYuc2F3X3dhcm5pbmdzID0gRmFsc2UKKworICAgICAgICBzZWxmLl9jb3B5X2RvY19maWxl
c190b19vdXRwdXRfZGlyKGh0bWwpCisgICAgICAgIHNlbGYuX3dyaXRlX3ZlcnNpb25feG1sKCkK
KyAgICAgICAgc2VsZi5fcnVuX2d0a2RvY19zY2FuKCkKKyAgICAgICAgc2VsZi5fcnVuX2d0a2Rv
Y19zY2FuZ29iaigpCisgICAgICAgIHNlbGYuX3J1bl9ndGtkb2NfbWtkYigpCisKKyAgICAgICAg
aWYgbm90IGh0bWw6CisgICAgICAgICAgICByZXR1cm4KKworICAgICAgICBzZWxmLl9ydW5fZ3Rr
ZG9jX21raHRtbCgpCisgICAgICAgIHNlbGYuX3J1bl9ndGtkb2NfZml4eHJlZigpCisKKyAgICBk
ZWYgX2RlbGV0ZV9maWxlX2lmX2V4aXN0cyhzZWxmLCBwYXRoKToKKyAgICAgICAgaWYgbm90IG9z
LmFjY2VzcyhwYXRoLCBvcy5GX09LIHwgb3MuUl9PSyk6CisgICAgICAgICAgICByZXR1cm4KKyAg
ICAgICAgc2VsZi5sb2dnZXIuZGVidWcoJ2RlbGV0aW5nICVzJywgcGF0aCkKKyAgICAgICAgb3Mu
dW5saW5rKHBhdGgpCisKKyAgICBkZWYgX2NyZWF0ZV9kaXJlY3RvcnlfaWZfbm9uZXhpc3RlbnQo
c2VsZiwgcGF0aCk6CisgICAgICAgIHRyeToKKyAgICAgICAgICAgIG9zLm1ha2VkaXJzKHBhdGgp
CisgICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGVycm9yOgorICAgICAgICAgICAgaWYgZXJyb3Iu
ZXJybm8gIT0gZXJybm8uRUVYSVNUOgorICAgICAgICAgICAgICAgIHJhaXNlCisKKyAgICBkZWYg
X3JhaXNlX2V4Y2VwdGlvbl9pZl9maWxlX2luYWNjZXNzaWJsZShzZWxmLCBwYXRoKToKKyAgICAg
ICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKHBhdGgpIG9yIG5vdCBvcy5hY2Nlc3MocGF0aCwgb3Mu
Ul9PSyk6CisgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIkNvdWxkIG5vdCBhY2Nlc3MgZmls
ZSBhdDogJXMiICUgcGF0aCkKKworICAgIGRlZiBfb3V0cHV0X2hhc193YXJuaW5ncyhzZWxmLCBv
dXRwdXRzKToKKyAgICAgICAgZm9yIG91dHB1dCBpbiBvdXRwdXRzOgorICAgICAgICAgICAgaWYg
b3V0cHV0IGFuZCBvdXRwdXQuZmluZCgnd2FybmluZycpOgorICAgICAgICAgICAgICAgIHJldHVy
biBUcnVlCisgICAgICAgIHJldHVybiBGYWxzZQorCisgICAgZGVmIF9hc2tfeWVzX29yX25vX3F1
ZXN0aW9uKHNlbGYsIHF1ZXN0aW9uKToKKyAgICAgICAgaWYgbm90IHNlbGYuaW50ZXJhY3RpdmU6
CisgICAgICAgICAgICByZXR1cm4gVHJ1ZQorCisgICAgICAgIHF1ZXN0aW9uICs9ICcgW3kvTl0g
JworICAgICAgICBhbnN3ZXIgPSBOb25lCisgICAgICAgIHdoaWxlIGFuc3dlciAhPSAneScgYW5k
IGFuc3dlciAhPSAnbicgYW5kIGFuc3dlciAhPSAnJzoKKyAgICAgICAgICAgIGFuc3dlciA9IHJh
d19pbnB1dChxdWVzdGlvbikubG93ZXIoKQorICAgICAgICByZXR1cm4gYW5zd2VyID09ICd5Jwor
CisgICAgZGVmIF9ydW5fY29tbWFuZChzZWxmLCBhcmdzLCBlbnY9Tm9uZSwgY3dkPU5vbmUsIHBy
aW50X291dHB1dD1UcnVlLCBpZ25vcmVfd2FybmluZ3M9RmFsc2UpOgorICAgICAgICBpZiBwcmlu
dF9vdXRwdXQ6CisgICAgICAgICAgICBzZWxmLmxvZ2dlci5kZWJ1ZygiUnVubmluZyAlcyIsIGFy
Z3NbMF0pCisgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCJGdWxsIGNvbW1hbmQgYXJnczogJXMi
LCBzdHIoYXJncykpCisKKyAgICAgICAgcHJvY2VzcyA9IHN1YnByb2Nlc3MuUG9wZW4oYXJncywg
ZW52PWVudiwgY3dkPWN3ZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Rk
b3V0PXN1YnByb2Nlc3MuUElQRSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
c3RkZXJyPXN1YnByb2Nlc3MuUElQRSkKKyAgICAgICAgc3Rkb3V0LCBzdGRlcnIgPSBbYi5kZWNv
ZGUoInV0Zi04IikgZm9yIGIgaW4gcHJvY2Vzcy5jb21tdW5pY2F0ZSgpXQorCisgICAgICAgIGlm
IHByaW50X291dHB1dDoKKyAgICAgICAgICAgIGlmIHN0ZG91dDoKKyAgICAgICAgICAgICAgICB0
cnk6CisgICAgICAgICAgICAgICAgICAgIHN5cy5zdGRvdXQud3JpdGUoc3Rkb3V0LmVuY29kZSgi
dXRmLTgiKSkKKyAgICAgICAgICAgICAgICBleGNlcHQgVW5pY29kZURlY29kZUVycm9yOgorICAg
ICAgICAgICAgICAgICAgICBzeXMuc3Rkb3V0LndyaXRlKHN0ZG91dCkKKyAgICAgICAgICAgIGlm
IHN0ZGVycjoKKyAgICAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgICAgIHN5cy5z
dGRlcnIud3JpdGUoc3RkZXJyLmVuY29kZSgidXRmLTgiKSkKKyAgICAgICAgICAgICAgICBleGNl
cHQgVW5pY29kZURlY29kZUVycm9yOgorICAgICAgICAgICAgICAgICAgICBzeXMuc3RkZXJyLndy
aXRlKHN0ZGVycikKKworICAgICAgICBpZiBwcm9jZXNzLnJldHVybmNvZGUgIT0gMDoKKyAgICAg
ICAgICAgIHJhaXNlIEV4Y2VwdGlvbignJXMgcHJvZHVjZWQgYSBub24temVybyByZXR1cm4gY29k
ZSAlaScKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJSAoYXJnc1swXSwgcHJvY2Vzcy5y
ZXR1cm5jb2RlKSkKKworICAgICAgICBpZiBub3QgaWdub3JlX3dhcm5pbmdzIGFuZCAoJ3dhcm5p
bmcnIGluIHN0ZGVyciBvciAnd2FybmluZycgaW4gc3Rkb3V0KToKKyAgICAgICAgICAgIHNlbGYu
c2F3X3dhcm5pbmdzID0gVHJ1ZQorICAgICAgICAgICAgaWYgbm90IHNlbGYuX2Fza195ZXNfb3Jf
bm9fcXVlc3Rpb24oJyVzIHByb2R1Y2VkIHdhcm5pbmdzLCAnCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHJ5IHRvIGNvbnRpbnVlPycgJSBhcmdzWzBd
KToKKyAgICAgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oJyVzIHN0ZXAgZmFpbGVkJyAlIGFy
Z3NbMF0pCisKKyAgICAgICAgcmV0dXJuIHN0ZG91dC5zdHJpcCgpCisKKyAgICBkZWYgX2NvcHlf
ZG9jX2ZpbGVzX3RvX291dHB1dF9kaXIoc2VsZiwgaHRtbD1UcnVlKToKKyAgICAgICAgaWYgbm90
IHNlbGYuZG9jX2RpcjoKKyAgICAgICAgICAgIHNlbGYubG9nZ2VyLmluZm8oJ05vdCBjb3B5aW5n
IGFueSBmaWxlcyBmcm9tIGRvYyBkaXJlY3RvcnksJworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAnIGJlY2F1c2Ugbm8gZG9jIGRpcmVjdG9yeSBnaXZlbi4nKQorICAgICAgICAgICAgcmV0
dXJuCisKKyAgICAgICAgZGVmIGNvcHlfZmlsZV9yZXBsYWNpbmdfZXhpc3Rpbmcoc3JjLCBkZXN0
KToKKyAgICAgICAgICAgIGlmIG9zLnBhdGguaXNkaXIoc3JjKToKKyAgICAgICAgICAgICAgICBz
ZWxmLmxvZ2dlci5kZWJ1Zygnc2tpcHBlZCBkaXJlY3RvcnkgJXMnLCAgc3JjKQorICAgICAgICAg
ICAgICAgIHJldHVybgorICAgICAgICAgICAgaWYgbm90IG9zLmFjY2VzcyhzcmMsIG9zLkZfT0sg
fCBvcy5SX09LKToKKyAgICAgICAgICAgICAgICBzZWxmLmxvZ2dlci5kZWJ1Zygnc2tpcHBlZCB1
bnJlYWRhYmxlICVzJywgc3JjKQorICAgICAgICAgICAgICAgIHJldHVybgorCisgICAgICAgICAg
ICBzZWxmLl9kZWxldGVfZmlsZV9pZl9leGlzdHMoZGVzdCkKKworICAgICAgICAgICAgc2VsZi5s
b2dnZXIuZGVidWcoJ2NyZWF0ZWQgJXMnLCBkZXN0KQorICAgICAgICAgICAgdHJ5OgorICAgICAg
ICAgICAgICAgIG9zLmxpbmsoc3JjLCBkZXN0KQorICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3I6
CisgICAgICAgICAgICAgICAgb3Muc3ltbGluayhzcmMsIGRlc3QpCisKKyAgICAgICAgZGVmIGNv
cHlfYWxsX2ZpbGVzX2luX2RpcmVjdG9yeShzcmMsIGRlc3QpOgorICAgICAgICAgICAgZm9yIHBh
dGggaW4gb3MubGlzdGRpcihzcmMpOgorICAgICAgICAgICAgICAgIGNvcHlfZmlsZV9yZXBsYWNp
bmdfZXhpc3Rpbmcob3MucGF0aC5qb2luKHNyYywgcGF0aCksCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBvcy5wYXRoLmpvaW4oZGVzdCwgcGF0aCkpCisKKyAg
ICAgICAgc2VsZi5sb2dnZXIuZGVidWcoJ0NvcHlpbmcgdGVtcGxhdGUgZmlsZXMgdG8gb3V0cHV0
IGRpcmVjdG9yeS4uLicpCisgICAgICAgIHNlbGYuX2NyZWF0ZV9kaXJlY3RvcnlfaWZfbm9uZXhp
c3RlbnQoc2VsZi5vdXRwdXRfZGlyKQorICAgICAgICBjb3B5X2FsbF9maWxlc19pbl9kaXJlY3Rv
cnkoc2VsZi5kb2NfZGlyLCBzZWxmLm91dHB1dF9kaXIpCisKKyAgICBkZWYgX3dyaXRlX3ZlcnNp
b25feG1sKHNlbGYpOgorICAgICAgICBpZiBub3Qgc2VsZi52ZXJzaW9uOgorICAgICAgICAgICAg
c2VsZi5sb2dnZXIuaW5mbygnTm8gdmVyc2lvbiBzcGVjaWZpZWQsIHNvIG5vdCB3cml0aW5nIHZl
cnNpb24ueG1sJykKKyAgICAgICAgICAgIHJldHVybgorCisgICAgICAgIHZlcnNpb25feG1sX3Bh
dGggPSBvcy5wYXRoLmpvaW4oc2VsZi5vdXRwdXRfZGlyLCAndmVyc2lvbi54bWwnKQorICAgICAg
ICBzcmNfdmVyc2lvbl94bWxfcGF0aCA9IG9zLnBhdGguam9pbihzZWxmLmRvY19kaXIsICd2ZXJz
aW9uLnhtbCcpCisKKyAgICAgICAgIyBEb24ndCBvdmVyd3JpdGUgdmVyc2lvbi54bWwgaWYgaXQg
d2FzIGluIHRoZSBkb2MgZGlyZWN0b3J5LgorICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyh2ZXJz
aW9uX3htbF9wYXRoKSBhbmQgXAorICAgICAgICAgICBvcy5wYXRoLmV4aXN0cyhzcmNfdmVyc2lv
bl94bWxfcGF0aCk6CisgICAgICAgICAgICByZXR1cm4KKworICAgICAgICBvdXRwdXRfZmlsZSA9
IG9wZW4odmVyc2lvbl94bWxfcGF0aCwgJ3cnKQorICAgICAgICBvdXRwdXRfZmlsZS53cml0ZShz
ZWxmLnZlcnNpb24pCisgICAgICAgIG91dHB1dF9maWxlLmNsb3NlKCkKKworICAgIGRlZiBfaWdu
b3JlZF9maWxlc19iYXNlbmFtZXMoc2VsZik6CisgICAgICAgIHJldHVybiAnICcuam9pbihbb3Mu
cGF0aC5iYXNlbmFtZSh4KSBmb3IgeCBpbiBzZWxmLmlnbm9yZWRfZmlsZXNdKQorCisgICAgZGVm
IF9ydW5fZ3RrZG9jX3NjYW4oc2VsZik6CisgICAgICAgIGFyZ3MgPSBbJ2d0a2RvYy1zY2FuJywK
KyAgICAgICAgICAgICAgICAnLS1tb2R1bGU9JXMnICUgc2VsZi5tb2R1bGVfbmFtZSwKKyAgICAg
ICAgICAgICAgICAnLS1yZWJ1aWxkLXR5cGVzJ10KKworICAgICAgICBpZiBub3Qgc2VsZi5oZWFk
ZXJzOgorICAgICAgICAgICAgIyBFYWNoIHNvdXJjZSBkaXJlY3Rvcnkgc2hvdWxkIGJlIGhhdmUg
aXRzIG93biAiLS1zb3VyY2UtZGlyPSIgcHJlZml4LgorICAgICAgICAgICAgYXJncy5leHRlbmQo
WyctLXNvdXJjZS1kaXI9JXMnICUgcGF0aCBmb3IgcGF0aCBpbiBzZWxmLnNvdXJjZV9kaXJzXSkK
KworICAgICAgICBpZiBzZWxmLmRlY29yYXRvcjoKKyAgICAgICAgICAgIGFyZ3MuYXBwZW5kKCct
LWlnbm9yZS1kZWNvcmF0b3JzPSVzJyAlIHNlbGYuZGVjb3JhdG9yKQorICAgICAgICBpZiBzZWxm
LmRlcHJlY2F0aW9uX2d1YXJkOgorICAgICAgICAgICAgYXJncy5hcHBlbmQoJy0tZGVwcmVjYXRl
ZC1ndWFyZHM9JXMnICUgc2VsZi5kZXByZWNhdGlvbl9ndWFyZCkKKyAgICAgICAgaWYgc2VsZi5v
dXRwdXRfZGlyOgorICAgICAgICAgICAgYXJncy5hcHBlbmQoJy0tb3V0cHV0LWRpcj0lcycgJSBz
ZWxmLm91dHB1dF9kaXIpCisKKyAgICAgICAgIyBXZSBvbmx5IG5lZWQgdG8gcGFzcyB0aGUgbGlz
dCBvZiBpZ25vcmVkIGZpbGVzIGlmIHRoZSB3ZSBhcmUgbm90IHVzaW5nIGFuIGV4cGxpY2l0IGxp
c3Qgb2YgaGVhZGVycy4KKyAgICAgICAgaWYgbm90IHNlbGYuaGVhZGVyczoKKyAgICAgICAgICAg
ICMgZ3RrZG9jLXNjYW4gd2FudHMgdGhlIGJhc2VuYW1lcyBvZiBpZ25vcmVkIGhlYWRlcnMsIHNv
IHN0cmlwIHRoZQorICAgICAgICAgICAgIyBkaXJuYW1lLiBEaWZmZXJlbnQgZnJvbSAiLS1zb3Vy
Y2UtZGlyIiwgdGhlIGhlYWRlcnMgc2hvdWxkIGJlCisgICAgICAgICAgICAjIHNwZWNpZmllZCBh
cyBvbmUgbG9uZyBzdHJpbmcuCisgICAgICAgICAgICBpZ25vcmVkX2ZpbGVzX2Jhc2VuYW1lcyA9
IHNlbGYuX2lnbm9yZWRfZmlsZXNfYmFzZW5hbWVzKCkKKyAgICAgICAgICAgIGlmIGlnbm9yZWRf
ZmlsZXNfYmFzZW5hbWVzOgorICAgICAgICAgICAgICAgIGFyZ3MuYXBwZW5kKCctLWlnbm9yZS1o
ZWFkZXJzPSVzJyAlIGlnbm9yZWRfZmlsZXNfYmFzZW5hbWVzKQorCisgICAgICAgIGlmIHNlbGYu
aGVhZGVyczoKKyAgICAgICAgICAgIGFyZ3MuZXh0ZW5kKHNlbGYuaGVhZGVycykKKworICAgICAg
ICBzZWxmLl9ydW5fY29tbWFuZChhcmdzKQorCisgICAgZGVmIF9ydW5fZ3RrZG9jX3NjYW5nb2Jq
KHNlbGYpOgorICAgICAgICBlbnYgPSBvcy5lbnZpcm9uCisgICAgICAgIGxkZmxhZ3MgPSBzZWxm
LmxkZmxhZ3MKKyAgICAgICAgaWYgc2VsZi5saWJyYXJ5X3BhdGg6CisgICAgICAgICAgICBhZGRp
dGlvbmFsX2xkZmxhZ3MgPSAnJworICAgICAgICAgICAgZm9yIGFyZyBpbiBlbnYuZ2V0KCdMREZM
QUdTJywgJycpLnNwbGl0KCcgJyk6CisgICAgICAgICAgICAgICAgaWYgYXJnLnN0YXJ0c3dpdGgo
Jy1MJyk6CisgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxfbGRmbGFncyA9ICclcyAlcycg
JSAoYWRkaXRpb25hbF9sZGZsYWdzLCBhcmcpCisgICAgICAgICAgICBsZGZsYWdzID0gJyAiLUwl
cyIgJXMgJyAlIChzZWxmLmxpYnJhcnlfcGF0aCwgYWRkaXRpb25hbF9sZGZsYWdzKSArIGxkZmxh
Z3MKKyAgICAgICAgICAgIGN1cnJlbnRfbGRfbGlicmFyeV9wYXRoID0gZW52LmdldCgnTERfTElC
UkFSWV9QQVRIJykKKyAgICAgICAgICAgIGlmIGN1cnJlbnRfbGRfbGlicmFyeV9wYXRoOgorICAg
ICAgICAgICAgICAgIGVudlsnTERfTElCUkFSWV9QQVRIJ10gPSAnJXM6JXMnICUgKHNlbGYubGli
cmFyeV9wYXRoLCBjdXJyZW50X2xkX2xpYnJhcnlfcGF0aCkKKyAgICAgICAgICAgIGVsc2U6Cisg
ICAgICAgICAgICAgICAgZW52WydMRF9MSUJSQVJZX1BBVEgnXSA9IHNlbGYubGlicmFyeV9wYXRo
CisKKyAgICAgICAgaWYgbGRmbGFnczoKKyAgICAgICAgICAgIGVudlsnTERGTEFHUyddID0gJyVz
ICVzJyAlIChsZGZsYWdzLCBlbnYuZ2V0KCdMREZMQUdTJywgJycpKQorICAgICAgICBpZiBzZWxm
LmNmbGFnczoKKyAgICAgICAgICAgIGVudlsnQ0ZMQUdTJ10gPSAnJXMgJXMnICUgKHNlbGYuY2Zs
YWdzLCBlbnYuZ2V0KCdDRkxBR1MnLCAnJykpCisKKyAgICAgICAgaWYgJ0NGTEFHUycgaW4gZW52
OgorICAgICAgICAgICAgc2VsZi5sb2dnZXIuZGVidWcoJ0NGTEFHUz0lcycsIGVudlsnQ0ZMQUdT
J10pCisgICAgICAgIGlmICdMREZMQUdTJyBpbiBlbnY6CisgICAgICAgICAgICBzZWxmLmxvZ2dl
ci5kZWJ1ZygnTERGTEFHUyAlcycsIGVudlsnTERGTEFHUyddKQorICAgICAgICBzZWxmLl9ydW5f
Y29tbWFuZChbJ2d0a2RvYy1zY2FuZ29iaicsICctLW1vZHVsZT0lcycgJSBzZWxmLm1vZHVsZV9u
YW1lXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgZW52PWVudiwgY3dkPXNlbGYub3V0cHV0
X2RpcikKKworICAgIGRlZiBfcnVuX2d0a2RvY19ta2RiKHNlbGYpOgorICAgICAgICBzZ21sX2Zp
bGUgPSBvcy5wYXRoLmpvaW4oc2VsZi5vdXRwdXRfZGlyLCBzZWxmLm1haW5fc2dtbF9maWxlKQor
ICAgICAgICBzZWxmLl9yYWlzZV9leGNlcHRpb25faWZfZmlsZV9pbmFjY2Vzc2libGUoc2dtbF9m
aWxlKQorCisgICAgICAgIGFyZ3MgPSBbJ2d0a2RvYy1ta2RiJywKKyAgICAgICAgICAgICAgICAn
LS1tb2R1bGU9JXMnICUgc2VsZi5tb2R1bGVfbmFtZSwKKyAgICAgICAgICAgICAgICAnLS1tYWlu
LXNnbWwtZmlsZT0lcycgJSBzZ21sX2ZpbGUsCisgICAgICAgICAgICAgICAgJy0tc291cmNlLXN1
ZmZpeGVzPWgsYyxjcHAsY2MnLAorICAgICAgICAgICAgICAgICctLW91dHB1dC1mb3JtYXQ9eG1s
JywKKyAgICAgICAgICAgICAgICAnLS1zZ21sLW1vZGUnXQorCisgICAgICAgIGlmIHNlbGYubmFt
ZXNwYWNlOgorICAgICAgICAgICAgYXJncy5hcHBlbmQoJy0tbmFtZS1zcGFjZT0lcycgJSBzZWxm
Lm5hbWVzcGFjZSkKKworICAgICAgICBpZ25vcmVkX2ZpbGVzX2Jhc2VuYW1lcyA9IHNlbGYuX2ln
bm9yZWRfZmlsZXNfYmFzZW5hbWVzKCkKKyAgICAgICAgaWYgaWdub3JlZF9maWxlc19iYXNlbmFt
ZXM6CisgICAgICAgICAgICBhcmdzLmFwcGVuZCgnLS1pZ25vcmUtZmlsZXM9JXMnICUgaWdub3Jl
ZF9maWxlc19iYXNlbmFtZXMpCisKKyAgICAgICAgIyBFYWNoIGRpcmVjdG9yeSBzaG91bGQgYmUg
aGF2ZSBpdHMgb3duICItLXNvdXJjZS1kaXI9IiBwcmVmaXguCisgICAgICAgIGFyZ3MuZXh0ZW5k
KFsnLS1zb3VyY2UtZGlyPSVzJyAlIHBhdGggZm9yIHBhdGggaW4gc2VsZi5zb3VyY2VfZGlyc10p
CisgICAgICAgIHNlbGYuX3J1bl9jb21tYW5kKGFyZ3MsIGN3ZD1zZWxmLm91dHB1dF9kaXIpCisK
KyAgICBkZWYgX3J1bl9ndGtkb2NfbWtodG1sKHNlbGYpOgorICAgICAgICAjIGd0a2RvYy1maXh4
cmVmIGV4cGVjdHMgdGhlIHBhdGhzIHRvIGJlIGh0bWwvbW9kdWxlbmFtZS4KKyAgICAgICAgaHRt
bF9kZXN0X2RpciA9IG9zLnBhdGguam9pbihzZWxmLm91dHB1dF9kaXIsICdodG1sJywgc2VsZi5t
b2R1bGVfbmFtZSkKKyAgICAgICAgc2VsZi5fY3JlYXRlX2RpcmVjdG9yeV9pZl9ub25leGlzdGVu
dChodG1sX2Rlc3RfZGlyKQorICAgICAgICBpZiBub3Qgb3MucGF0aC5pc2RpcihodG1sX2Rlc3Rf
ZGlyKToKKyAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigiJXMgaXMgbm90IGEgZGlyZWN0b3J5
LCBjb3VsZCBub3QgZ2VuZXJhdGUgSFRNTCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAl
IGh0bWxfZGVzdF9kaXIpCisgICAgICAgIGVsaWYgbm90IG9zLmFjY2VzcyhodG1sX2Rlc3RfZGly
LCBvcy5YX09LIHwgb3MuUl9PSyB8IG9zLldfT0spOgorICAgICAgICAgICAgcmFpc2UgRXhjZXB0
aW9uKCJDb3VsZCBub3QgYWNjZXNzICVzIHRvIGdlbmVyYXRlIEhUTUwiCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgJSBodG1sX2Rlc3RfZGlyKQorCisgICAgICAgICMgZ3RrZG9jLW1raHRt
bCBleHBlY3RzIHRoZSBTR01MIHBhdGggdG8gYmUgYWJzb2x1dGUuCisgICAgICAgIHNnbWxfZmls
ZSA9IG9zLnBhdGguam9pbihvcy5wYXRoLmFic3BhdGgoc2VsZi5vdXRwdXRfZGlyKSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYubWFpbl9zZ21sX2ZpbGUpCisgICAgICAg
IHNlbGYuX3JhaXNlX2V4Y2VwdGlvbl9pZl9maWxlX2luYWNjZXNzaWJsZShzZ21sX2ZpbGUpCisK
KyAgICAgICAgc2VsZi5fcnVuX2NvbW1hbmQoWydndGtkb2MtbWtodG1sJywgc2VsZi5tb2R1bGVf
bmFtZSwgc2dtbF9maWxlXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY3dkPWh0bWxfZGVz
dF9kaXIpCisKKyAgICBkZWYgX3J1bl9ndGtkb2NfZml4eHJlZihzZWxmKToKKyAgICAgICAgYXJn
cyA9IFsnZ3RrZG9jLWZpeHhyZWYnLAorICAgICAgICAgICAgICAgICctLW1vZHVsZT0lcycgJSBz
ZWxmLm1vZHVsZV9uYW1lLAorICAgICAgICAgICAgICAgICctLW1vZHVsZS1kaXI9aHRtbC8lcycg
JSBzZWxmLm1vZHVsZV9uYW1lXQorICAgICAgICBhcmdzLmV4dGVuZChbJy0tZXh0cmEtZGlyPSVz
JyAlIGV4dHJhX2RpciBmb3IgZXh0cmFfZGlyIGluIHNlbGYuY3Jvc3NfcmVmZXJlbmNlX2RlcHNd
KQorICAgICAgICBzZWxmLl9ydW5fY29tbWFuZChhcmdzLCBjd2Q9c2VsZi5vdXRwdXRfZGlyLCBp
Z25vcmVfd2FybmluZ3M9VHJ1ZSkKKworICAgICAgICAjIGd0a2RvYy1maXh4cmVmIGhhcyBzb21l
IHByZWRlZmluZWQgbGlua3MgZm9yIHdoaWNoIGl0IGFsd2F5cyB1c2VzIGFic29sdXRlIHBhdGhz
LgorICAgICAgICBodG1sX2Rpcl9wcmVmaXggPSBvcy5wYXRoLmpvaW4oc2VsZi52aXJ0dWFsX3Jv
b3QgKyBzZWxmLnByZWZpeCwgJ3NoYXJlJywgJ2d0ay1kb2MnLCAnaHRtbCcpCisgICAgICAgIG1v
ZHVsZV9kaXIgPSBvcy5wYXRoLmpvaW4oc2VsZi5vdXRwdXRfZGlyLCAnaHRtbCcsIHNlbGYubW9k
dWxlX25hbWUpCisgICAgICAgIGZvciBlbnRyeSBpbiBvcy5saXN0ZGlyKG1vZHVsZV9kaXIpOgor
ICAgICAgICAgICAgaWYgbm90IGVudHJ5LmVuZHN3aXRoKCcuaHRtbCcpOgorICAgICAgICAgICAg
ICAgIGNvbnRpbnVlCisKKyAgICAgICAgICAgIGZpbGVuYW1lID0gb3MucGF0aC5qb2luKG1vZHVs
ZV9kaXIsIGVudHJ5KQorICAgICAgICAgICAgY29udGVudHMgPSAnJworICAgICAgICAgICAgd2l0
aCBjb2RlY3Mub3BlbihmaWxlbmFtZSwgJ3InLCBlbmNvZGluZz0ndXRmLTgnKSBhcyBmOgorICAg
ICAgICAgICAgICAgIGNvbnRlbnRzID0gZi5yZWFkKCkKKworICAgICAgICAgICAgaWYgbm90IGh0
bWxfZGlyX3ByZWZpeCBpbiBjb250ZW50czoKKyAgICAgICAgICAgICAgICBjb250aW51ZQorCisg
ICAgICAgICAgICB0bXBfZmlsZW5hbWUgPSBmaWxlbmFtZSArICcubmV3JworICAgICAgICAgICAg
bmV3X2NvbnRlbnRzID0gY29udGVudHMucmVwbGFjZShodG1sX2Rpcl9wcmVmaXgsICcuLicpCisg
ICAgICAgICAgICB3aXRoIGNvZGVjcy5vcGVuKHRtcF9maWxlbmFtZSwgJ3cnLCBlbmNvZGluZz0n
dXRmLTgnKSBhcyBmOgorICAgICAgICAgICAgICAgIGYud3JpdGUobmV3X2NvbnRlbnRzKQorCisg
ICAgICAgICAgICBvcy5yZW5hbWUodG1wX2ZpbGVuYW1lLCBmaWxlbmFtZSkKKworICAgIGRlZiBy
ZWJhc2VfaW5zdGFsbGVkX2RvY3Moc2VsZik6CisgICAgICAgIGlmIG5vdCBvcy5wYXRoLmlzZGly
KHNlbGYub3V0cHV0X2Rpcik6CisgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIlRyaWVkIHRv
IHJlYmFzZSBkb2N1bWVudGF0aW9uIGJlZm9yZSBnZW5lcmF0aW5nIGl0LiIpCisgICAgICAgIGh0
bWxfZGlyID0gb3MucGF0aC5qb2luKHNlbGYudmlydHVhbF9yb290ICsgc2VsZi5wcmVmaXgsICdz
aGFyZScsICdndGstZG9jJywgJ2h0bWwnLCBzZWxmLm1vZHVsZV9uYW1lKQorICAgICAgICBpZiBu
b3Qgb3MucGF0aC5pc2RpcihodG1sX2Rpcik6CisgICAgICAgICAgICByZXR1cm4KKyAgICAgICAg
YXJncyA9IFsnZ3RrZG9jLXJlYmFzZScsCisgICAgICAgICAgICAgICAgJy0tcmVsYXRpdmUnLAor
ICAgICAgICAgICAgICAgICctLWh0bWwtZGlyPSVzJyAlIGh0bWxfZGlyXQorICAgICAgICBhcmdz
LmV4dGVuZChbJy0tb3RoZXItZGlyPSVzJyAlIGV4dHJhX2RpciBmb3IgZXh0cmFfZGlyIGluIHNl
bGYuY3Jvc3NfcmVmZXJlbmNlX2RlcHNdKQorICAgICAgICBpZiBzZWxmLnZpcnR1YWxfcm9vdDoK
KyAgICAgICAgICAgIGFyZ3MuZXh0ZW5kKFsnLS1kZXN0LWRpcj0lcycgJSBzZWxmLnZpcnR1YWxf
cm9vdF0pCisgICAgICAgIHNlbGYuX3J1bl9jb21tYW5kKGFyZ3MsIGN3ZD1zZWxmLm91dHB1dF9k
aXIpCisKKyAgICBkZWYgYXBpX21pc3NpbmdfZG9jdW1lbnRhdGlvbihzZWxmKToKKyAgICAgICAg
dW51c2VkX2RvY19maWxlID0gb3MucGF0aC5qb2luKHNlbGYub3V0cHV0X2Rpciwgc2VsZi5tb2R1
bGVfbmFtZSArICItdW51c2VkLnR4dCIpCisgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyh1
bnVzZWRfZG9jX2ZpbGUpIG9yIG5vdCBvcy5hY2Nlc3ModW51c2VkX2RvY19maWxlLCBvcy5SX09L
KToKKyAgICAgICAgICAgIHJldHVybiBbXQorICAgICAgICByZXR1cm4gb3Blbih1bnVzZWRfZG9j
X2ZpbGUpLnJlYWQoKS5zcGxpdGxpbmVzKCkKKworCitjbGFzcyBQa2dDb25maWdHVEtEb2MoR1RL
RG9jKToKKworICAgICIiIkNsYXNzIHJlYWRzIGEgbGlicmFyeSdzIHBrZ2NvbmZpZyBmaWxlIHRv
IGd1ZXNzIGd0a2RvYyBwYXJhbWV0ZXJzLgorCisgICAgU29tZSBndGtkb2MgcGFyYW1ldGVycyBj
YW4gYmUgZ3Vlc3NlZCBieSByZWFkaW5nIGEgbGlicmFyeSdzIHBrZ2NvbmZpZworICAgIGZpbGUs
IGluY2x1ZGluZyB0aGUgY2ZsYWdzLCBsZGZsYWdzIGFuZCB2ZXJzaW9uIHBhcmFtZXRlcnMuIElm
IHlvdQorICAgIHByb3ZpZGUgdGhlc2UgcGFyYW1ldGVycyBhcyB3ZWxsLCB0aGV5IHdpbGwgYmUg
YXBwZW5kZWQgdG8gdGhlIG9uZXMKKyAgICBndWVzc2VkIHZpYSB0aGUgcGtnY29uZmlnIGZpbGUu
CisKKyAgICBLZXl3b3JkIGFyZ3VtZW50czoKKyAgICAgIHBrZ19jb25maWdfcGF0aCAtLSBQYXRo
IHRvIHRoZSBwa2djb25maWcgZmlsZSBmb3IgdGhlIGxpYnJhcnkuIFJlcXVpcmVkLgorICAgICIi
IgorCisgICAgZGVmIF9faW5pdF9fKHNlbGYsIHBrZ19jb25maWdfcGF0aCwgYXJncyk6CisgICAg
ICAgIHN1cGVyKFBrZ0NvbmZpZ0dUS0RvYywgc2VsZikuX19pbml0X18oYXJncykKKworICAgICAg
ICBwa2dfY29uZmlnID0gb3MuZW52aXJvbi5nZXQoJ1BLR19DT05GSUcnLCAncGtnLWNvbmZpZycp
CisKKyAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKHBrZ19jb25maWdfcGF0aCk6CisgICAg
ICAgICAgICByYWlzZSBFeGNlcHRpb24oJ0NvdWxkIG5vdCBmaW5kIHBrZy1jb25maWcgZmlsZSBh
dDogJXMnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJSBwa2dfY29uZmlnX3BhdGgpCisK
KyAgICAgICAgc2VsZi5jZmxhZ3MgKz0gIiAiICsgc2VsZi5fcnVuX2NvbW1hbmQoW3BrZ19jb25m
aWcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwa2df
Y29uZmlnX3BhdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAnLS1jZmxhZ3MnXSwgcHJpbnRfb3V0cHV0PUZhbHNlKQorICAgICAgICBzZWxmLmxkZmxh
Z3MgKz0gIiAiICsgc2VsZi5fcnVuX2NvbW1hbmQoW3BrZ19jb25maWcsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwa2dfY29uZmlnX3BhdGgsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1saWJzJ10sIHBy
aW50X291dHB1dD1GYWxzZSkKKyAgICAgICAgc2VsZi52ZXJzaW9uID0gc2VsZi5fcnVuX2NvbW1h
bmQoW3BrZ19jb25maWcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBwa2dfY29uZmlnX3BhdGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAnLS1tb2R2ZXJzaW9uJ10sIHByaW50X291dHB1dD1GYWxzZSkKKyAgICAgICAgc2VsZi5w
cmVmaXggPSBzZWxmLl9ydW5fY29tbWFuZChbcGtnX2NvbmZpZywKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcGtnX2NvbmZpZ19wYXRoLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAnLS12YXJpYWJsZT1wcmVmaXgnXSwgcHJpbnRfb3V0
cHV0PUZhbHNlKQpkaWZmIC0tZ2l0IGEvVG9vbHMvd3BlL2luc3RhbGwtZGVwZW5kZW5jaWVzIGIv
VG9vbHMvd3BlL2luc3RhbGwtZGVwZW5kZW5jaWVzCmluZGV4IGJjY2EyNDJjMjQxOGI5NjY1YTAw
ZGVjMTU1MjQ5NTQwMThlNjg5MGUuLjBlNDA4N2ZmZmJlNjFiYjIxYTViNmE1N2JhYjU4YmJlZDJi
NjFmNWQgMTAwNzU1Ci0tLSBhL1Rvb2xzL3dwZS9pbnN0YWxsLWRlcGVuZGVuY2llcworKysgYi9U
b29scy93cGUvaW5zdGFsbC1kZXBlbmRlbmNpZXMKQEAgLTY1LDYgKzY1LDcgQEAgZnVuY3Rpb24g
aW5zdGFsbERlcGVuZGVuY2llc1dpdGhBcHQgewogICAgICAgICBnYXdrIFwKICAgICAgICAgZ2Nj
IFwKICAgICAgICAgZ3BlcmYgXAorICAgICAgICBndGstZG9jLXRvb2xzIFwKICAgICAgICAgaW50
bHRvb2wgXAogICAgICAgICBpdHN0b29sIFwKICAgICAgICAgbGliYXNvdW5kMi1kZXYgXApAQCAt
MTU1LDYgKzE1Niw3IEBAIGZ1bmN0aW9uIGluc3RhbGxEZXBlbmRlbmNpZXNXaXRoUGFjbWFuIHsK
ICAgICAgICAgZ2NjIFwKICAgICAgICAgZ251dGxzIFwKICAgICAgICAgZ3BlcmYgXAorICAgICAg
ICBndGstZG9jIFwKICAgICAgICAgZ3JlcCBcCiAgICAgICAgIGdyb2ZmIFwKICAgICAgICAgZ3N0
cmVhbWVyIFwKQEAgLTI1Myw2ICsyNTUsNyBAQCBmdW5jdGlvbiBpbnN0YWxsRGVwZW5kZW5jaWVz
V2l0aERuZiB7CiAgICAgICAgIGdzdHJlYW1lcjEtZGV2ZWwgXAogICAgICAgICBnc3RyZWFtZXIx
LXBsdWdpbnMtYmFkLWZyZWUtZGV2ZWwgXAogICAgICAgICBnc3RyZWFtZXIxLXBsdWdpbnMtYmFz
ZS1kZXZlbCBcCisgICAgICAgIGd0ay1kb2MgXAogICAgICAgICBpbnRsdG9vbCBcCiAgICAgICAg
IGl0c3Rvb2wgXAogICAgICAgICBsaWJldmVudC1kZXZlbCBcCmRpZmYgLS1naXQgYS9DaGFuZ2VM
b2cgYi9DaGFuZ2VMb2cKaW5kZXggMjczNWM2MTYzNDA2NjJmZWYxN2FjNWM2ODE2MTU5ZGEyNDhj
NDA5Yi4uM2I4YTVhYWY5ODk2ODllMTQ2YmFiNjllZTlkODk2ZjFiMmJmN2ZmNSAxMDA2NDQKLS0t
IGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE4LTExLTIx
ICBDYXJsb3MgRWR1YXJkbyBSYW1hbGhvICA8Y2FkdWJlbnR6ZW5AZ21haWwuY29tPgorCisgICAg
ICAgIFtXUEVdIEFkZCBndGstZG9jCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNzg5MDAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBZGQgZ3RrLWRvYyB0byBXUEUgcG9ydC4gVGhpcyBwYXRjaCB0cmllcyB0
byByZXVzZSBhcyBtdWNoIGNvZGUgZnJvbQorICAgICAgICBXZWJLaXRHVEsrIGFzIHBvc3NpYmxl
LgorCisgICAgICAgICogU291cmNlL1BsYXRmb3JtR1RLLmNtYWtlOiBpbmNsdWRlIEd0a0RvYy5j
bWFrZSBpbnN0ZWFkIG9mIGRlZmluaW5nIG1hY3JvLgorICAgICAgICAqIFNvdXJjZS9QbGF0Zm9y
bVdQRS5jbWFrZTogQWRkZWQgZG9jdW1lbnRhdGlvbiBnZW5lcmF0aW9uLgorICAgICAgICAqIFNv
dXJjZS9jbWFrZS9HdGtEb2MuY21ha2U6IEFkZGVkLgorICAgICAgICAqIFNvdXJjZS9jbWFrZS9P
cHRpb25zV1BFLmNtYWtlOiBBZGRlZCBFTkFCTEVfR1RLRE9DIGJ1aWxkIG9wdGlvbiBhbmQgYWRk
ZWQgcGtnLWNvbmZpZyBwYXRoIHZhcmlhYmxlcy4KKwogMjAxOC0xMS0yMSAgRG9taW5payBJbmZ1
ZWhyICA8ZGluZnVlaHJAaWdhbGlhLmNvbT4KIAogICAgICAgICBFbmFibGUgSklUIG9uIEFSTS9M
aW51eAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>356486</attachid>
            <date>2018-12-04 05:20:57 -0800</date>
            <delta_ts>2019-01-08 08:39:32 -0800</delta_ts>
            <desc>patch for landing</desc>
            <filename>bug-178900-20181204142056.patch</filename>
            <type>text/plain</type>
            <size>129190</size>
            <attacher name="Carlos Bentzen">cadubentzen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM4ODUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDMxZWUwNzZhOGViNjA1YjVl
OTM5ZDBmMWVmNWE3NTkyMDU3NGFjNzguLjk4N2ZiOGNkYTJkYTlmZWEwNDAzMmFiZDU0M2JkYTNi
YjQ1MTA1ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTgtMTEtMjEgIENhcmxvcyBF
ZHVhcmRvIFJhbWFsaG8gIDxjYWR1YmVudHplbkBnbWFpbC5jb20+CisKKyAgICAgICAgW1dQRV0g
QWRkIGd0ay1kb2MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE3ODkwMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkZCBndGstZG9jIHRvIFdQRSBwb3J0LiBUaGlzIHBhdGNoIHRyaWVzIHRvIHJldXNlIGFz
IG11Y2ggY29kZSBmcm9tCisgICAgICAgIFdlYktpdEdUSysgYXMgcG9zc2libGUuCisKKyAgICAg
ICAgKiBQbGF0Zm9ybVdQRS5jbWFrZTogV3JpdGUgdmFyaWFibGVzIHRvIGd0a2RvYy13cGUuY2Zn
IGFuZCBndGtkb2Mtd2ViZXh0ZW5zaW9ucyB0aGF0IGlzIHVzZWQgYnkgcHl0aG9uIHNjcmlwdCBs
YXRlci4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRXZWJDb250ZXh0Lmg6IFBs
YWNlZCBzYW5kYm94IGZ1bmN0aW9ucyBpbiB0aGUgc2FtZSBsb2NhdGlvbiBhcyBpbiB0aGUgV2Vi
S2l0R1RLKyBmb3IgY29uc2lzdGVuY3kuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS93cGUvZG9j
cy93cGUtMC4xLXNlY3Rpb25zLnR4dDogQWRkZWQuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS93
cGUvZG9jcy93cGUtZG9jcy5zZ21sOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0FQSS93cGUvV2ViS2l0V2ViUGFnZS5oOiBQbGFjZWQgd2Via2l0X3dlYl9wYWdl
X2dldF9kb21fZG9jdW1lbnQKKyAgICAgICAgaW4gdGhlIHNhbWUgcG9zaXRpb24gYXMgaW4gdGhl
IFdlYktpdEdUSysgZm9yIGNvbnNpc3RlbmN5LgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvQVBJL3dwZS9kb2NzL3dwZS13ZWJleHRlbnNpb25zLTAuMS1zZWN0aW9ucy50eHQ6
IEFkZGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL3dwZS9kb2Nz
L3dwZS13ZWJleHRlbnNpb25zLWRvY3Muc2dtbDogQWRkZWQuCisKIDIwMTgtMTItMDQgIENhcmxv
cyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtTT1VQXSBN
b3ZlIFVSTFNvdXAgYmFjayB0byBXZWJDb3JlIGFmdGVyIHIyMzg3NzEKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9QbGF0Zm9ybUdUSy5jbWFrZSBiL1NvdXJjZS9QbGF0Zm9ybUdUSy5jbWFrZQppbmRleCAy
ODg0MWMyMGU5OGE3YTUyY2UwZDM3ZGU0ODhmYzk4MDg1MmFlZDhiLi43OTQyZDU3NzQ4ZjQ3MjMy
Zjc3ODY5YTk0NzNiODk1ZjRhM2M1MDZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm1HVEsu
Y21ha2UKKysrIGIvU291cmNlL1BsYXRmb3JtR1RLLmNtYWtlCkBAIC0xLDMgKzEsNCBAQAoraW5j
bHVkZShHdGtEb2MpCiBpbmNsdWRlKFdlYktpdERpc3QpCiAKIGFkZF9zdWJkaXJlY3RvcnkoJHtX
RUJDT1JFX0RJUn0vcGxhdGZvcm0vZ3RrL3BvKQpAQCAtMjUsMTggKzI2LDcgQEAgaWYgKEVOQUJM
RV9HVEtET0MpCiAgICAgKQogZW5kaWYgKCkKIAotbWFjcm8oQUREX0dUS0RPQ19HRU5FUkFUT1Ig
X3N0YW1wX25hbWUgX2V4dHJhX2FyZ3MpCi0gICAgYWRkX2N1c3RvbV9jb21tYW5kKAotICAgICAg
ICBPVVRQVVQgIiR7Q01BS0VfQklOQVJZX0RJUn0vJHtfc3RhbXBfbmFtZX0iCi0gICAgICAgIERF
UEVORFMgJHtEb2N1bWVudGF0aW9uRGVwZW5kZW5jaWVzfQotICAgICAgICBDT01NQU5EICR7Q01B
S0VfQ09NTUFORH0gLUUgZW52ICJDQz0ke0NNQUtFX0NfQ09NUElMRVJ9IiAiQ0ZMQUdTPSR7Q01B
S0VfQ19GTEFHU30gLVduby11bnVzZWQtcGFyYW1ldGVyIiAke0NNQUtFX1NPVVJDRV9ESVJ9L1Rv
b2xzL2d0ay9nZW5lcmF0ZS1ndGtkb2MgJHtfZXh0cmFfYXJnc30KLSAgICAgICAgQ09NTUFORCB0
b3VjaCAke19zdGFtcF9uYW1lfQotICAgICAgICBXT1JLSU5HX0RJUkVDVE9SWSAiJHtDTUFLRV9C
SU5BUllfRElSfSIKLSAgICAgICAgVkVSQkFUSU0KLSAgICApCi1lbmRtYWNybygpCi0KLUFERF9H
VEtET0NfR0VORVJBVE9SKCJkb2NzLWJ1aWxkLnN0YW1wIiAiIikKK0FERF9HVEtET0NfR0VORVJB
VE9SKCJkb2NzLWJ1aWxkLnN0YW1wIiAiLS1ndGsiKQogaWYgKEVOQUJMRV9HVEtET0MpCiAgICAg
YWRkX2N1c3RvbV90YXJnZXQoZ3RrZG9jIEFMTCBERVBFTkRTICIke0NNQUtFX0JJTkFSWV9ESVJ9
L2RvY3MtYnVpbGQuc3RhbXAiKQogZWxzZWlmIChOT1QgRU5BQkxFRF9DT01QSUxFUl9TQU5JVEla
RVJTIEFORCBOT1QgQ01BS0VfQ1JPU1NDT01QSUxJTkcgQU5EIE5PVCBBUFBMRSkKQEAgLTQ2LDcg
KzM2LDcgQEAgZWxzZWlmIChOT1QgRU5BQkxFRF9DT01QSUxFUl9TQU5JVElaRVJTIEFORCBOT1Qg
Q01BS0VfQ1JPU1NDT01QSUxJTkcgQU5EIE5PVCBBUFAKICAgICAjIG9yIGVycm9ycy4gVGhpcyBp
cyB1c2VmdWwgdG8gcHJldmVudCBicmVha2luZyBkb2N1bWVudGF0aW9uIGluYWR2ZXJ0ZW50bHkg
ZHVyaW5nCiAgICAgIyB0aGUgY291cnNlIG9mIGRldmVsb3BtZW50LgogICAgIGlmIChERVZFTE9Q
RVJfTU9ERSkKLSAgICAgICAgQUREX0dUS0RPQ19HRU5FUkFUT1IoImRvY3MtYnVpbGQtbm8taHRt
bC5zdGFtcCIgIi0tc2tpcC1odG1sIikKKyAgICAgICAgQUREX0dUS0RPQ19HRU5FUkFUT1IoImRv
Y3MtYnVpbGQtbm8taHRtbC5zdGFtcCIgIi0tZ3RrOy0tc2tpcC1odG1sIikKICAgICAgICAgYWRk
X2N1c3RvbV90YXJnZXQoZ3RrZG9jLW5vLWh0bWwgQUxMIERFUEVORFMgIiR7Q01BS0VfQklOQVJZ
X0RJUn0vZG9jcy1idWlsZC1uby1odG1sLnN0YW1wIikKICAgICBlbmRpZiAoKQogZW5kaWYgKCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9QbGF0Zm9ybVdQRS5jbWFrZSBiL1NvdXJjZS9QbGF0Zm9ybVdQ
RS5jbWFrZQppbmRleCAzODY0MmUwNzgyY2MzM2JmOTQ3NWU2ZWU0N2VlOTc3MTg1MzU3NTUxLi41
YTgzMjY2ZjE0Mzk1ZDkzMTE3ZmU1NDc4MTU3NTE3MTBlYTI0NWNmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvUGxhdGZvcm1XUEUuY21ha2UKKysrIGIvU291cmNlL1BsYXRmb3JtV1BFLmNtYWtlCkBAIC0x
LDcgKzEsMzkgQEAKK2luY2x1ZGUoR3RrRG9jKQogaW5jbHVkZShXZWJLaXREaXN0KQogCitsaXN0
KEFQUEVORCBEb2N1bWVudGF0aW9uRGVwZW5kZW5jaWVzCisgICAgV2ViS2l0CisgICAgIiR7Q01B
S0VfU09VUkNFX0RJUn0vU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9kb2NzL3dwZS1k
b2NzLnNnbWwiCisgICAgIiR7Q01BS0VfU09VUkNFX0RJUn0vU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0FQSS93cGUvZG9jcy93cGUtd2ViZXh0ZW5zaW9ucy1kb2NzLnNn
bWwiCisgICAgIiR7Q01BS0VfU09VUkNFX0RJUn0vU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L3dwZS9kb2NzL3dwZS0ke1dQRV9BUElfVkVSU0lPTn0tc2VjdGlvbnMudHh0IgorICAgICIke0NN
QUtFX1NPVVJDRV9ESVJ9L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9B
UEkvd3BlL2RvY3Mvd3BlLXdlYmV4dGVuc2lvbnMtJHtXUEVfQVBJX1ZFUlNJT059LXNlY3Rpb25z
LnR4dCIKKykKKworaWYgKEVOQUJMRV9HVEtET0MpCisgICAgaW5zdGFsbChESVJFQ1RPUlkgJHtD
TUFLRV9CSU5BUllfRElSfS9Eb2N1bWVudGF0aW9uL3dwZS0ke1dQRV9BUElfVkVSU0lPTn0vaHRt
bC93cGUtJHtXUEVfQVBJX1ZFUlNJT059CisgICAgICAgICAgICBERVNUSU5BVElPTiAiJHtDTUFL
RV9JTlNUQUxMX0RBVEFESVJ9L2d0ay1kb2MvaHRtbCIKKyAgICApCisgICAgaW5zdGFsbChESVJF
Q1RPUlkgJHtDTUFLRV9CSU5BUllfRElSfS9Eb2N1bWVudGF0aW9uL3dwZS13ZWJleHRlbnNpb25z
LSR7V1BFX0FQSV9WRVJTSU9OfS9odG1sL3dwZS13ZWJleHRlbnNpb25zLSR7V1BFX0FQSV9WRVJT
SU9OfQorICAgICAgICBERVNUSU5BVElPTiAiJHtDTUFLRV9JTlNUQUxMX0RBVEFESVJ9L2d0ay1k
b2MvaHRtbCIKKyAgICApCitlbmRpZiAoKQorCitBRERfR1RLRE9DX0dFTkVSQVRPUigiZG9jcy1i
dWlsZC5zdGFtcCIgIi0td3BlIikKK2lmIChFTkFCTEVfR1RLRE9DKQorICAgIGFkZF9jdXN0b21f
dGFyZ2V0KGd0a2RvYyBBTEwgREVQRU5EUyAiJHtDTUFLRV9CSU5BUllfRElSfS9kb2NzLWJ1aWxk
LnN0YW1wIikKK2Vsc2VpZiAoTk9UIEVOQUJMRURfQ09NUElMRVJfU0FOSVRJWkVSUyBBTkQgTk9U
IENNQUtFX0NST1NTQ09NUElMSU5HIEFORCBOT1QgQVBQTEUpCisgICAgYWRkX2N1c3RvbV90YXJn
ZXQoZ3RrZG9jIERFUEVORFMgIiR7Q01BS0VfQklOQVJZX0RJUn0vZG9jcy1idWlsZC5zdGFtcCIp
CisKKyAgICAjIEFkZCBhIGRlZmF1bHQgYnVpbGQgc3RlcCB3aGljaCBjaGVjayB0aGF0IGRvY3Vt
ZW50YXRpb24gZG9lcyBub3QgaGF2ZSBhbnkgd2FybmluZ3MKKyAgICAjIG9yIGVycm9ycy4gVGhp
cyBpcyB1c2VmdWwgdG8gcHJldmVudCBicmVha2luZyBkb2N1bWVudGF0aW9uIGluYWR2ZXJ0ZW50
bHkgZHVyaW5nCisgICAgIyB0aGUgY291cnNlIG9mIGRldmVsb3BtZW50LgorICAgIGlmIChERVZF
TE9QRVJfTU9ERSkKKyAgICAgICAgQUREX0dUS0RPQ19HRU5FUkFUT1IoImRvY3MtYnVpbGQtbm8t
aHRtbC5zdGFtcCIgIi0td3BlOy0tc2tpcC1odG1sIikKKyAgICAgICAgYWRkX2N1c3RvbV90YXJn
ZXQoZ3RrZG9jLW5vLWh0bWwgQUxMIERFUEVORFMgIiR7Q01BS0VfQklOQVJZX0RJUn0vZG9jcy1i
dWlsZC1uby1odG1sLnN0YW1wIikKKyAgICBlbmRpZiAoKQorZW5kaWYgKCkKKwogaWYgKERFVkVM
T1BFUl9NT0RFKQotICAgICMgRklYTUU6IFRoaXMgc2hvdWxkIGRlcGVuZCBvbiBhIGd0a2RvYyB0
YXJnZXQKLSAgICBhZGRfY3VzdG9tX3RhcmdldChEb2N1bWVudGF0aW9uKQorICAgIGFkZF9jdXN0
b21fdGFyZ2V0KERvY3VtZW50YXRpb24gREVQRU5EUyBndGtkb2MpCiAgICAgV0VCS0lUX0RFQ0xB
UkVfRElTVF9UQVJHRVRTKFdQRSB3cGV3ZWJraXQgJHtUT09MU19ESVJ9L3dwZS9tYW5pZmVzdC50
eHQuaW4pCiBlbmRpZiAoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybVdQRS5j
bWFrZSBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm1XUEUuY21ha2UKaW5kZXggOWVhN2RlZWU5ZTFk
YTRhYWYyMTJmNmQ5ZGM2Mzk3ZjU3OTgxZTEyZS4uMWY2NzVjNDRlNGM3NDU5YzAwNWRkNjc4MWFk
Yjc2MmE1NmE3YWMzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybVdQRS5jbWFr
ZQorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtV1BFLmNtYWtlCkBAIC0xMCw4ICsxMCw4IEBA
IGZpbGUoTUFLRV9ESVJFQ1RPUlkgJHtGT1JXQVJESU5HX0hFQURFUlNfV1BFX0VYVEVOU0lPTl9E
SVJ9KQogZmlsZShNQUtFX0RJUkVDVE9SWSAke0ZPUldBUkRJTkdfSEVBREVSU19XUEVfRE9NX0RJ
Un0pCiAKIGNvbmZpZ3VyZV9maWxlKFVJUHJvY2Vzcy9BUEkvd3BlL1dlYktpdFZlcnNpb24uaC5p
biAke0RFUklWRURfU09VUkNFU19XUEVfQVBJX0RJUn0vV2ViS2l0VmVyc2lvbi5oKQotY29uZmln
dXJlX2ZpbGUod3BlL3dwZS13ZWJraXQucGMuaW4gJHtDTUFLRV9CSU5BUllfRElSfS93cGUtd2Vi
a2l0LSR7V1BFX0FQSV9WRVJTSU9OfS5wYyBAT05MWSkKLWNvbmZpZ3VyZV9maWxlKHdwZS93cGUt
d2ViLWV4dGVuc2lvbi5wYy5pbiAke0NNQUtFX0JJTkFSWV9ESVJ9L3dwZS13ZWItZXh0ZW5zaW9u
LSR7V1BFX0FQSV9WRVJTSU9OfS5wYyBAT05MWSkKK2NvbmZpZ3VyZV9maWxlKHdwZS93cGUtd2Vi
a2l0LnBjLmluICR7V1BFX1BLR0NPTkZJR19GSUxFfSBAT05MWSkKK2NvbmZpZ3VyZV9maWxlKHdw
ZS93cGUtd2ViLWV4dGVuc2lvbi5wYy5pbiAke1dQRVdlYkV4dGVuc2lvbl9QS0dDT05GSUdfRklM
RX0gQE9OTFkpCiAKIGFkZF9kZWZpbml0aW9ucygtRFdFQktJVDJfQ09NUElMQVRJT04pCiAKQEAg
LTMzMSwzICszMzEsNDIgQEAgaW5zdGFsbChGSUxFUyAke1dQRV9BUElfSU5TVEFMTEVEX0hFQURF
UlN9CiAgICAgICAgIERFU1RJTkFUSU9OICIke0NNQUtFX0lOU1RBTExfSU5DTFVERURJUn0vd3Bl
LXdlYmtpdC0ke1dQRV9BUElfVkVSU0lPTn0vd3BlIgogICAgICAgICBDT01QT05FTlQgIkRldmVs
b3BtZW50IgogKQorCitmaWxlKFdSSVRFICR7Q01BS0VfQklOQVJZX0RJUn0vZ3RrZG9jLXdwZS5j
ZmcKKyAgICAiW3dwZS0ke1dQRV9BUElfVkVSU0lPTn1dXG4iCisgICAgInBrZ2NvbmZpZ19maWxl
PSR7V1BFX1BLR0NPTkZJR19GSUxFfVxuIgorICAgICJkZWNvcmF0b3I9V0VCS0lUX0FQSXxXRUJL
SVRfREVQUkVDQVRFRHxXRUJLSVRfREVQUkVDQVRFRF9GT1JcXCguK1xcKVxuIgorICAgICJkZXBy
ZWNhdGlvbl9ndWFyZD1XRUJLSVRfRElTQUJMRV9ERVBSRUNBVEVEXG4iCisgICAgIm5hbWVzcGFj
ZT13ZWJraXRcbiIKKyAgICAiY2ZsYWdzPS1JJHtDTUFLRV9TT1VSQ0VfRElSfS9Tb3VyY2VcbiIK
KyAgICAiICAgICAgIC1JJHtXRUJLSVRfRElSfS9TaGFyZWQvQVBJL2dsaWJcbiIKKyAgICAiICAg
ICAgIC1JJHtXRUJLSVRfRElSfS9VSVByb2Nlc3MvQVBJL2dsaWJcbiIKKyAgICAiICAgICAgIC1J
JHtXRUJLSVRfRElSfS9VSVByb2Nlc3MvQVBJL3dwZVxuIgorICAgICIgICAgICAgLUkke0ZPUldB
UkRJTkdfSEVBREVSU19XUEVfRElSfVxuIgorICAgICJkb2NfZGlyPSR7V0VCS0lUX0RJUn0vVUlQ
cm9jZXNzL0FQSS93cGUvZG9jc1xuIgorICAgICJzb3VyY2VfZGlycz0ke1dFQktJVF9ESVJ9L1No
YXJlZC9BUEkvZ2xpYlxuIgorICAgICIgICAgICAgICAgICAke1dFQktJVF9ESVJ9L1VJUHJvY2Vz
cy9BUEkvZ2xpYlxuIgorICAgICIgICAgICAgICAgICAke1dFQktJVF9ESVJ9L1VJUHJvY2Vzcy9B
UEkvd3BlXG4iCisgICAgIiAgICAgICAgICAgICR7REVSSVZFRF9TT1VSQ0VTX1dQRV9BUElfRElS
fVxuIgorICAgICJoZWFkZXJzPSR7V1BFX0VOVU1fR0VORVJBVElPTl9IRUFERVJTfVxuIgorICAg
ICJtYWluX3NnbWxfZmlsZT13cGUtZG9jcy5zZ21sXG4iCispCisKK2ZpbGUoV1JJVEUgJHtDTUFL
RV9CSU5BUllfRElSfS9ndGtkb2Mtd2ViZXh0ZW5zaW9ucy5jZmcKKyAgICAiW3dwZS13ZWJleHRl
bnNpb25zLSR7V1BFX0FQSV9WRVJTSU9OfV1cbiIKKyAgICAicGtnY29uZmlnX2ZpbGU9JHtXUEVX
ZWJFeHRlbnNpb25fUEtHQ09ORklHX0ZJTEV9XG4iCisgICAgImRlY29yYXRvcj1XRUJLSVRfQVBJ
fFdFQktJVF9ERVBSRUNBVEVEfFdFQktJVF9ERVBSRUNBVEVEX0ZPUlxcKC4rXFwpXG4iCisgICAg
ImRlcHJlY2F0aW9uX2d1YXJkPVdFQktJVF9ESVNBQkxFX0RFUFJFQ0FURURcbiIKKyAgICAibmFt
ZXNwYWNlPXdlYmtpdF93ZWJleHRlbnNpb25zXG4iCisgICAgImNmbGFncz0tSSR7Q01BS0VfU09V
UkNFX0RJUn0vU291cmNlXG4iCisgICAgIiAgICAgICAtSSR7V0VCS0lUX0RJUn0vV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9BUEkvd3BlXG4iCisgICAgIiAgICAgICAtSSR7V0VCS0lUX0RJUn0v
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvd3BlL0RPTVxuIgorICAgICIgICAgICAgLUkk
e0ZPUldBUkRJTkdfSEVBREVSU19XUEVfRElSfVxuIgorICAgICJkb2NfZGlyPSR7V0VCS0lUX0RJ
Un0vV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvd3BlL2RvY3NcbiIKKyAgICAic291cmNl
X2RpcnM9JHtXRUJLSVRfRElSfS9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9nbGliXG4i
CisgICAgIiAgICAgICAgICAgICR7V0VCS0lUX0RJUn0vV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRs
ZS9BUEkvZ2xpYi9ET01cbiIKKyAgICAiICAgICAgICAgICAgJHtXRUJLSVRfRElSfS9XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0FQSS93cGVcbiIKKyAgICAiICAgICAgICAgICAgJHtXRUJLSVRf
RElSfS9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS93cGUvRE9NXG4iCisgICAgImhlYWRl
cnM9JHtXUEVfV0VCX0VYVEVOU0lPTl9BUElfSU5TVEFMTEVEX0hFQURFUlN9XG4iCisgICAgIm1h
aW5fc2dtbF9maWxlPXdwZS13ZWJleHRlbnNpb25zLWRvY3Muc2dtbFxuIgorKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRXZWJDb250ZXh0LmggYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL1dlYktpdFdlYkNvbnRleHQuaAppbmRleCAw
ZWI4ZjM2N2RlNTc0NzkzYmI5YjU4YzVlNDAwNDQwYzEwYjc5ODQ1Li5jMWQ0OTNjOThlOTQzNjdm
MDQ3M2I0NDliODM5Y2FlOTMzMDhjMGJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvd3BlL1dlYktpdFdlYkNvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvd3BlL1dlYktpdFdlYkNvbnRleHQuaApAQCAtMjQ3LDYgKzI0NywxMyBAQCB3ZWJr
aXRfd2ViX2NvbnRleHRfcmVnaXN0ZXJfdXJpX3NjaGVtZSAgICAgICAgICAgICAgKFdlYktpdFdl
YkNvbnRleHQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZ3BvaW50ZXIgICAgICAgICAgICAgICAgICAgICAgIHVzZXJfZGF0YSwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0Rlc3Ryb3lOb3Rp
ZnkgICAgICAgICAgICAgICAgIHVzZXJfZGF0YV9kZXN0cm95X2Z1bmMpOwogCitXRUJLSVRfQVBJ
IHZvaWQKK3dlYmtpdF93ZWJfY29udGV4dF9zZXRfc2FuZGJveF9lbmFibGVkICAgICAgICAgICAg
ICAoV2ViS2l0V2ViQ29udGV4dCAgICAgICAgICAgICAgICpjb250ZXh0LAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnYm9vbGVhbiAgICAgICAg
ICAgICAgICAgICAgICAgZW5hYmxlZCk7CisKK1dFQktJVF9BUEkgZ2Jvb2xlYW4KK3dlYmtpdF93
ZWJfY29udGV4dF9nZXRfc2FuZGJveF9lbmFibGVkICAgICAgICAgICAgICAoV2ViS2l0V2ViQ29u
dGV4dCAgICAgICAgICAgICAgKmNvbnRleHQpOworCiBXRUJLSVRfQVBJIGdib29sZWFuCiB3ZWJr
aXRfd2ViX2NvbnRleHRfZ2V0X3NwZWxsX2NoZWNraW5nX2VuYWJsZWQgICAgICAgKFdlYktpdFdl
YkNvbnRleHQgICAgICAgICAgICAgICpjb250ZXh0KTsKIApAQCAtMjk3LDEzICszMDQsNiBAQCBX
RUJLSVRfQVBJIFdlYktpdFByb2Nlc3NNb2RlbAogd2Via2l0X3dlYl9jb250ZXh0X2dldF9wcm9j
ZXNzX21vZGVsICAgICAgICAgICAgICAgIChXZWJLaXRXZWJDb250ZXh0ICAgICAgICAgICAgICAq
Y29udGV4dCk7CiAKIFdFQktJVF9BUEkgdm9pZAotd2Via2l0X3dlYl9jb250ZXh0X3NldF9zYW5k
Ym94X2VuYWJsZWQgICAgICAgICAgICAgIChXZWJLaXRXZWJDb250ZXh0ICAgICAgICAgICAgICAq
Y29udGV4dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZ2Jvb2xlYW4gICAgICAgICAgICAgICAgICAgICAgIGVuYWJsZWQpOwotCi1XRUJLSVRf
QVBJIGdib29sZWFuCi13ZWJraXRfd2ViX2NvbnRleHRfZ2V0X3NhbmRib3hfZW5hYmxlZCAgICAg
ICAgICAgICAgKFdlYktpdFdlYkNvbnRleHQgICAgICAgICAgICAgICpjb250ZXh0KTsKLQotV0VC
S0lUX0FQSSB2b2lkCiB3ZWJraXRfd2ViX2NvbnRleHRfaW5pdGlhbGl6ZV9ub3RpZmljYXRpb25f
cGVybWlzc2lvbnMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAoV2ViS2l0V2ViQ29udGV4dCAgICAgICAgICAgICAgKmNvbnRleHQsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdMaXN0ICAgICAg
ICAgICAgICAgICAgICAgICAgICphbGxvd2VkX29yaWdpbnMsCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL2RvY3Mvd3BlLTAuMS1zZWN0aW9ucy50eHQgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL2RvY3Mvd3BlLTAuMS1zZWN0aW9ucy50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMTRkMTM4NTYzMjBmNGVlNmNkM2I0MDFkNTQ5ZjBkY2EwYmZlNDI4ZQotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvZG9jcy93cGUtMC4x
LXNlY3Rpb25zLnR4dApAQCAtMCwwICsxLDEzMDcgQEAKKzxTRUNUSU9OPgorPEZJTEU+V2ViS2l0
V2ViQ29udGV4dDwvRklMRT4KKzxUSVRMRT5XZWJLaXRXZWJDb250ZXh0PC9USVRMRT4KK1dlYktp
dFdlYkNvbnRleHQKK1dlYktpdENhY2hlTW9kZWwKK1dlYktpdFByb2Nlc3NNb2RlbAorV2ViS2l0
VExTRXJyb3JzUG9saWN5CitXZWJLaXROZXR3b3JrUHJveHlNb2RlCit3ZWJraXRfd2ViX2NvbnRl
eHRfZ2V0X2RlZmF1bHQKK3dlYmtpdF93ZWJfY29udGV4dF9uZXcKK3dlYmtpdF93ZWJfY29udGV4
dF9uZXdfZXBoZW1lcmFsCit3ZWJraXRfd2ViX2NvbnRleHRfbmV3X3dpdGhfd2Vic2l0ZV9kYXRh
X21hbmFnZXIKK3dlYmtpdF93ZWJfY29udGV4dF9pc19lcGhlbWVyYWwKK3dlYmtpdF93ZWJfY29u
dGV4dF9pc19hdXRvbWF0aW9uX2FsbG93ZWQKK3dlYmtpdF93ZWJfY29udGV4dF9zZXRfYXV0b21h
dGlvbl9hbGxvd2VkCit3ZWJraXRfd2ViX2NvbnRleHRfZ2V0X3dlYnNpdGVfZGF0YV9tYW5hZ2Vy
Cit3ZWJraXRfd2ViX2NvbnRleHRfZ2V0X2NhY2hlX21vZGVsCit3ZWJraXRfd2ViX2NvbnRleHRf
c2V0X2NhY2hlX21vZGVsCit3ZWJraXRfd2ViX2NvbnRleHRfZ2V0X3dlYl9wcm9jZXNzX2NvdW50
X2xpbWl0Cit3ZWJraXRfd2ViX2NvbnRleHRfc2V0X3dlYl9wcm9jZXNzX2NvdW50X2xpbWl0Cit3
ZWJraXRfd2ViX2NvbnRleHRfY2xlYXJfY2FjaGUKK3dlYmtpdF93ZWJfY29udGV4dF9zZXRfbmV0
d29ya19wcm94eV9zZXR0aW5ncword2Via2l0X3dlYl9jb250ZXh0X2Rvd25sb2FkX3VyaQord2Vi
a2l0X3dlYl9jb250ZXh0X2dldF9jb29raWVfbWFuYWdlcgord2Via2l0X3dlYl9jb250ZXh0X2dl
dF9mYXZpY29uX2RhdGFiYXNlCit3ZWJraXRfd2ViX2NvbnRleHRfc2V0X2Zhdmljb25fZGF0YWJh
c2VfZGlyZWN0b3J5Cit3ZWJraXRfd2ViX2NvbnRleHRfZ2V0X2Zhdmljb25fZGF0YWJhc2VfZGly
ZWN0b3J5Cit3ZWJraXRfd2ViX2NvbnRleHRfZ2V0X3NlY3VyaXR5X21hbmFnZXIKK3dlYmtpdF93
ZWJfY29udGV4dF9zZXRfYWRkaXRpb25hbF9wbHVnaW5zX2RpcmVjdG9yeQord2Via2l0X3dlYl9j
b250ZXh0X2dldF9wbHVnaW5zCit3ZWJraXRfd2ViX2NvbnRleHRfZ2V0X3BsdWdpbnNfZmluaXNo
Cit3ZWJraXRfd2ViX2NvbnRleHRfZ2V0X3NhbmRib3hfZW5hYmxlZAord2Via2l0X3dlYl9jb250
ZXh0X3NldF9zYW5kYm94X2VuYWJsZWQKK3dlYmtpdF93ZWJfY29udGV4dF9nZXRfc3BlbGxfY2hl
Y2tpbmdfZW5hYmxlZAord2Via2l0X3dlYl9jb250ZXh0X3NldF9zcGVsbF9jaGVja2luZ19lbmFi
bGVkCit3ZWJraXRfd2ViX2NvbnRleHRfZ2V0X3NwZWxsX2NoZWNraW5nX2xhbmd1YWdlcword2Vi
a2l0X3dlYl9jb250ZXh0X3NldF9zcGVsbF9jaGVja2luZ19sYW5ndWFnZXMKK3dlYmtpdF93ZWJf
Y29udGV4dF9zZXRfcHJlZmVycmVkX2xhbmd1YWdlcword2Via2l0X3dlYl9jb250ZXh0X3NldF90
bHNfZXJyb3JzX3BvbGljeQord2Via2l0X3dlYl9jb250ZXh0X2dldF90bHNfZXJyb3JzX3BvbGlj
eQord2Via2l0X3dlYl9jb250ZXh0X3NldF93ZWJfZXh0ZW5zaW9uc19kaXJlY3RvcnkKK3dlYmtp
dF93ZWJfY29udGV4dF9zZXRfd2ViX2V4dGVuc2lvbnNfaW5pdGlhbGl6YXRpb25fdXNlcl9kYXRh
Cit3ZWJraXRfd2ViX2NvbnRleHRfcHJlZmV0Y2hfZG5zCit3ZWJraXRfd2ViX2NvbnRleHRfYWxs
b3dfdGxzX2NlcnRpZmljYXRlX2Zvcl9ob3N0Cit3ZWJraXRfd2ViX2NvbnRleHRfZ2V0X3Byb2Nl
c3NfbW9kZWwKK3dlYmtpdF93ZWJfY29udGV4dF9zZXRfcHJvY2Vzc19tb2RlbAord2Via2l0X3dl
Yl9jb250ZXh0X2luaXRpYWxpemVfbm90aWZpY2F0aW9uX3Blcm1pc3Npb25zCisKKzxTVUJTRUNU
SU9OIFVSSSBTY2hlbWU+CitXZWJLaXRVUklTY2hlbWVSZXF1ZXN0Q2FsbGJhY2sKK3dlYmtpdF93
ZWJfY29udGV4dF9yZWdpc3Rlcl91cmlfc2NoZW1lCisKKzxTVUJTRUNUSU9OIFN0YW5kYXJkPgor
V2ViS2l0V2ViQ29udGV4dENsYXNzCitXRUJLSVRfV0VCX0NPTlRFWFQKK1dFQktJVF9JU19XRUJf
Q09OVEVYVAorV0VCS0lUX1RZUEVfV0VCX0NPTlRFWFQKK1dFQktJVF9XRUJfQ09OVEVYVF9DTEFT
UworV0VCS0lUX0lTX1dFQl9DT05URVhUX0NMQVNTCitXRUJLSVRfV0VCX0NPTlRFWFRfR0VUX0NM
QVNTCisKKzxTVUJTRUNUSU9OIFByaXZhdGU+CitXZWJLaXRXZWJDb250ZXh0UHJpdmF0ZQord2Vi
a2l0X3dlYl9jb250ZXh0X2dldF90eXBlCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+
V2ViS2l0VXNlckNvbnRlbnQ8L0ZJTEU+Cis8VElUTEU+V2ViS2l0VXNlckNvbnRlbnQ8L1RJVExF
PgorV2ViS2l0VXNlclN0eWxlU2hlZXQKK1dlYktpdFVzZXJTY3JpcHQKK1dlYktpdFVzZXJDb250
ZW50SW5qZWN0ZWRGcmFtZXMKK1dlYktpdFVzZXJTdHlsZUxldmVsCitXZWJLaXRVc2VyU2NyaXB0
SW5qZWN0aW9uVGltZQord2Via2l0X3VzZXJfc3R5bGVfc2hlZXRfcmVmCit3ZWJraXRfdXNlcl9z
dHlsZV9zaGVldF91bnJlZgord2Via2l0X3VzZXJfc3R5bGVfc2hlZXRfbmV3Cit3ZWJraXRfdXNl
cl9zdHlsZV9zaGVldF9uZXdfZm9yX3dvcmxkCit3ZWJraXRfdXNlcl9zY3JpcHRfcmVmCit3ZWJr
aXRfdXNlcl9zY3JpcHRfdW5yZWYKK3dlYmtpdF91c2VyX3NjcmlwdF9uZXcKK3dlYmtpdF91c2Vy
X3NjcmlwdF9uZXdfZm9yX3dvcmxkCisKKzxTVUJTRUNUSU9OIFN0YW5kYXJkPgorV0VCS0lUX1RZ
UEVfVVNFUl9TVFlMRV9TSEVFVAorV0VCS0lUX1RZUEVfVVNFUl9TQ1JJUFQKKworPFNVQlNFQ1RJ
T04gUHJpdmF0ZT4KK3dlYmtpdF91c2VyX3N0eWxlX3NoZWV0X2dldF90eXBlCit3ZWJraXRfdXNl
cl9zY3JpcHRfZ2V0X3R5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXRV
c2VyQ29udGVudE1hbmFnZXI8L0ZJTEU+Cis8VElUTEU+V2ViS2l0VXNlckNvbnRlbnRNYW5hZ2Vy
PC9USVRMRT4KK1dlYktpdFVzZXJDb250ZW50TWFuYWdlcgord2Via2l0X3VzZXJfY29udGVudF9t
YW5hZ2VyX25ldword2Via2l0X3VzZXJfY29udGVudF9tYW5hZ2VyX2FkZF9zdHlsZV9zaGVldAor
d2Via2l0X3VzZXJfY29udGVudF9tYW5hZ2VyX3JlbW92ZV9hbGxfc3R5bGVfc2hlZXRzCit3ZWJr
aXRfdXNlcl9jb250ZW50X21hbmFnZXJfYWRkX3NjcmlwdAord2Via2l0X3VzZXJfY29udGVudF9t
YW5hZ2VyX3JlbW92ZV9hbGxfc2NyaXB0cword2Via2l0X3VzZXJfY29udGVudF9tYW5hZ2VyX3Jl
Z2lzdGVyX3NjcmlwdF9tZXNzYWdlX2hhbmRsZXIKK3dlYmtpdF91c2VyX2NvbnRlbnRfbWFuYWdl
cl91bnJlZ2lzdGVyX3NjcmlwdF9tZXNzYWdlX2hhbmRsZXIKK3dlYmtpdF91c2VyX2NvbnRlbnRf
bWFuYWdlcl9yZWdpc3Rlcl9zY3JpcHRfbWVzc2FnZV9oYW5kbGVyX2luX3dvcmxkCit3ZWJraXRf
dXNlcl9jb250ZW50X21hbmFnZXJfdW5yZWdpc3Rlcl9zY3JpcHRfbWVzc2FnZV9oYW5kbGVyX2lu
X3dvcmxkCisKKzxTVUJTRUNUSU9OIFN0YW5kYXJkPgorV0VCS0lUX0lTX1VTRVJfQ09OVEVOVF9N
QU5BR0VSCitXRUJLSVRfSVNfVVNFUl9DT05URU5UX01BTkFHRVJfQ0xBU1MKK1dFQktJVF9UWVBF
X1VTRVJfQ09OVEVOVF9NQU5BR0VSCitXRUJLSVRfVVNFUl9DT05URU5UX01BTkFHRVIKK1dFQktJ
VF9VU0VSX0NPTlRFTlRfTUFOQUdFUl9DTEFTUworV0VCS0lUX1VTRVJfQ09OVEVOVF9NQU5BR0VS
X0dFVF9DTEFTUworV2ViS2l0VXNlckNvbnRlbnRNYW5hZ2VyQ2xhc3MKKworPFNVQlNFQ1RJT04g
UHJpdmF0ZT4KK1dlYktpdFVzZXJDb250ZW50TWFuYWdlclByaXZhdGUKK3dlYmtpdF91c2VyX2Nv
bnRlbnRfbWFuYWdlcl9nZXRfdHlwZQorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldl
YktpdFdlYlZpZXc8L0ZJTEU+Cis8VElUTEU+V2ViS2l0V2ViVmlldzwvVElUTEU+CitXZWJLaXRX
ZWJWaWV3CitXZWJLaXRMb2FkRXZlbnQKK1dlYktpdFBvbGljeURlY2lzaW9uVHlwZQorV2ViS2l0
U2F2ZU1vZGUKK1dlYktpdEluc2VjdXJlQ29udGVudEV2ZW50CitXZWJLaXRXZWJQcm9jZXNzVGVy
bWluYXRpb25SZWFzb24KKworPFNVQlNFQ1RJT04gRWRpdGluZyBDb21tYW5kcz4KK1dFQktJVF9F
RElUSU5HX0NPTU1BTkRfQ1VUCitXRUJLSVRfRURJVElOR19DT01NQU5EX0NPUFkKK1dFQktJVF9F
RElUSU5HX0NPTU1BTkRfUEFTVEUKK1dFQktJVF9FRElUSU5HX0NPTU1BTkRfU0VMRUNUX0FMTAor
V0VCS0lUX0VESVRJTkdfQ09NTUFORF9VTkRPCitXRUJLSVRfRURJVElOR19DT01NQU5EX1JFRE8K
K1dFQktJVF9FRElUSU5HX0NPTU1BTkRfSU5TRVJUX0lNQUdFCitXRUJLSVRfRURJVElOR19DT01N
QU5EX0NSRUFURV9MSU5LCisKKzxTVUJTRUNUSU9OPgord2Via2l0X3dlYl92aWV3X25ldword2Vi
a2l0X3dlYl92aWV3X25ld193aXRoX2NvbnRleHQKK3dlYmtpdF93ZWJfdmlld19uZXdfd2l0aF9y
ZWxhdGVkX3ZpZXcKK3dlYmtpdF93ZWJfdmlld19uZXdfd2l0aF9zZXR0aW5ncword2Via2l0X3dl
Yl92aWV3X25ld193aXRoX3VzZXJfY29udGVudF9tYW5hZ2VyCit3ZWJraXRfd2ViX3ZpZXdfZ2V0
X2JhY2tlbmQKK3dlYmtpdF93ZWJfdmlld19pc19lcGhlbWVyYWwKK3dlYmtpdF93ZWJfdmlld19p
c19jb250cm9sbGVkX2J5X2F1dG9tYXRpb24KK3dlYmtpdF93ZWJfdmlld19nZXRfY29udGV4dAor
d2Via2l0X3dlYl92aWV3X2dldF91c2VyX2NvbnRlbnRfbWFuYWdlcgord2Via2l0X3dlYl92aWV3
X2dldF93ZWJzaXRlX2RhdGFfbWFuYWdlcgord2Via2l0X3dlYl92aWV3X3RyeV9jbG9zZQord2Vi
a2l0X3dlYl92aWV3X2xvYWRfdXJpCit3ZWJraXRfd2ViX3ZpZXdfbG9hZF9odG1sCit3ZWJraXRf
d2ViX3ZpZXdfbG9hZF9hbHRlcm5hdGVfaHRtbAord2Via2l0X3dlYl92aWV3X2xvYWRfcGxhaW5f
dGV4dAord2Via2l0X3dlYl92aWV3X2xvYWRfYnl0ZXMKK3dlYmtpdF93ZWJfdmlld19sb2FkX3Jl
cXVlc3QKK3dlYmtpdF93ZWJfdmlld19jYW5fZ29fYmFjaword2Via2l0X3dlYl92aWV3X2dvX2Jh
Y2sKK3dlYmtpdF93ZWJfdmlld19jYW5fZ29fZm9yd2FyZAord2Via2l0X3dlYl92aWV3X2dvX2Zv
cndhcmQKK3dlYmtpdF93ZWJfdmlld19nZXRfdGl0bGUKK3dlYmtpdF93ZWJfdmlld19nZXRfcGFn
ZV9pZAord2Via2l0X3dlYl92aWV3X3JlbG9hZAord2Via2l0X3dlYl92aWV3X3JlbG9hZF9ieXBh
c3NfY2FjaGUKK3dlYmtpdF93ZWJfdmlld19zdG9wX2xvYWRpbmcKK3dlYmtpdF93ZWJfdmlld19p
c19sb2FkaW5nCit3ZWJraXRfd2ViX3ZpZXdfaXNfcGxheWluZ19hdWRpbword2Via2l0X3dlYl92
aWV3X2dldF9lc3RpbWF0ZWRfbG9hZF9wcm9ncmVzcword2Via2l0X3dlYl92aWV3X2dldF9jdXN0
b21fY2hhcnNldAord2Via2l0X3dlYl92aWV3X3NldF9jdXN0b21fY2hhcnNldAord2Via2l0X3dl
Yl92aWV3X2dldF9iYWNrX2ZvcndhcmRfbGlzdAord2Via2l0X3dlYl92aWV3X2dvX3RvX2JhY2tf
Zm9yd2FyZF9saXN0X2l0ZW0KK3dlYmtpdF93ZWJfdmlld19nZXRfdXJpCit3ZWJraXRfd2ViX3Zp
ZXdfc2V0X3NldHRpbmdzCit3ZWJraXRfd2ViX3ZpZXdfZ2V0X3NldHRpbmdzCit3ZWJraXRfd2Vi
X3ZpZXdfZ2V0X3dpbmRvd19wcm9wZXJ0aWVzCit3ZWJraXRfd2ViX3ZpZXdfc2V0X3pvb21fbGV2
ZWwKK3dlYmtpdF93ZWJfdmlld19nZXRfem9vbV9sZXZlbAord2Via2l0X3dlYl92aWV3X2Nhbl9l
eGVjdXRlX2VkaXRpbmdfY29tbWFuZAord2Via2l0X3dlYl92aWV3X2Nhbl9leGVjdXRlX2VkaXRp
bmdfY29tbWFuZF9maW5pc2gKK3dlYmtpdF93ZWJfdmlld19leGVjdXRlX2VkaXRpbmdfY29tbWFu
ZAord2Via2l0X3dlYl92aWV3X2V4ZWN1dGVfZWRpdGluZ19jb21tYW5kX3dpdGhfYXJndW1lbnQK
K3dlYmtpdF93ZWJfdmlld19nZXRfZmluZF9jb250cm9sbGVyCit3ZWJraXRfd2ViX3ZpZXdfcnVu
X2phdmFzY3JpcHQKK3dlYmtpdF93ZWJfdmlld19ydW5famF2YXNjcmlwdF9maW5pc2gKK3dlYmtp
dF93ZWJfdmlld19ydW5famF2YXNjcmlwdF9pbl93b3JsZAord2Via2l0X3dlYl92aWV3X3J1bl9q
YXZhc2NyaXB0X2luX3dvcmxkX2ZpbmlzaAord2Via2l0X3dlYl92aWV3X3J1bl9qYXZhc2NyaXB0
X2Zyb21fZ3Jlc291cmNlCit3ZWJraXRfd2ViX3ZpZXdfcnVuX2phdmFzY3JpcHRfZnJvbV9ncmVz
b3VyY2VfZmluaXNoCit3ZWJraXRfd2ViX3ZpZXdfY2FuX3Nob3dfbWltZV90eXBlCit3ZWJraXRf
d2ViX3ZpZXdfc2F2ZQord2Via2l0X3dlYl92aWV3X3NhdmVfZmluaXNoCit3ZWJraXRfd2ViX3Zp
ZXdfc2F2ZV90b19maWxlCit3ZWJraXRfd2ViX3ZpZXdfc2F2ZV90b19maWxlX2ZpbmlzaAord2Vi
a2l0X3dlYl92aWV3X2Rvd25sb2FkX3VyaQord2Via2l0X3dlYl92aWV3X2dldF90bHNfaW5mbwor
d2Via2l0X3dlYl92aWV3X3NldF9lZGl0YWJsZQord2Via2l0X3dlYl92aWV3X2lzX2VkaXRhYmxl
Cit3ZWJraXRfd2ViX3ZpZXdfZ2V0X2VkaXRvcl9zdGF0ZQord2Via2l0X3dlYl92aWV3X2dldF9z
ZXNzaW9uX3N0YXRlCit3ZWJraXRfd2ViX3ZpZXdfcmVzdG9yZV9zZXNzaW9uX3N0YXRlCit3ZWJr
aXRfd2ViX3ZpZXdfZ2V0X21haW5fcmVzb3VyY2UKKworPFNVQlNFQ1RJT04gV2ViS2l0SmF2YXNj
cmlwdFJlc3VsdD4KK1dlYktpdEphdmFzY3JpcHRSZXN1bHQKK3dlYmtpdF9qYXZhc2NyaXB0X3Jl
c3VsdF9yZWYKK3dlYmtpdF9qYXZhc2NyaXB0X3Jlc3VsdF91bnJlZgord2Via2l0X2phdmFzY3Jp
cHRfcmVzdWx0X2dldF9qc192YWx1ZQorCis8U1VCU0VDVElPTiBXZWJLaXRTY3JpcHREaWFsb2c+
CitXZWJLaXRTY3JpcHREaWFsb2cKK1dlYktpdFNjcmlwdERpYWxvZ1R5cGUKK3dlYmtpdF9zY3Jp
cHRfZGlhbG9nX3JlZgord2Via2l0X3NjcmlwdF9kaWFsb2dfdW5yZWYKK3dlYmtpdF9zY3JpcHRf
ZGlhbG9nX2dldF9kaWFsb2dfdHlwZQord2Via2l0X3NjcmlwdF9kaWFsb2dfZ2V0X21lc3NhZ2UK
K3dlYmtpdF9zY3JpcHRfZGlhbG9nX2NvbmZpcm1fc2V0X2NvbmZpcm1lZAord2Via2l0X3Njcmlw
dF9kaWFsb2dfcHJvbXB0X2dldF9kZWZhdWx0X3RleHQKK3dlYmtpdF9zY3JpcHRfZGlhbG9nX3By
b21wdF9zZXRfdGV4dAord2Via2l0X3NjcmlwdF9kaWFsb2dfY2xvc2UKKworPFNVQlNFQ1RJT04g
V2ViS2l0V2ViVmlld1Nlc3Npb25TdGF0ZT4KK1dlYktpdFdlYlZpZXdTZXNzaW9uU3RhdGUKK3dl
YmtpdF93ZWJfdmlld19zZXNzaW9uX3N0YXRlX25ldword2Via2l0X3dlYl92aWV3X3Nlc3Npb25f
c3RhdGVfcmVmCit3ZWJraXRfd2ViX3ZpZXdfc2Vzc2lvbl9zdGF0ZV91bnJlZgord2Via2l0X3dl
Yl92aWV3X3Nlc3Npb25fc3RhdGVfc2VyaWFsaXplCisKKzxTVUJTRUNUSU9OIFN0YW5kYXJkPgor
V2ViS2l0V2ViVmlld0NsYXNzCitXRUJLSVRfV0VCX1ZJRVcKK1dFQktJVF9JU19XRUJfVklFVwor
V0VCS0lUX1RZUEVfV0VCX1ZJRVcKK1dFQktJVF9XRUJfVklFV19DTEFTUworV0VCS0lUX0lTX1dF
Ql9WSUVXX0NMQVNTCitXRUJLSVRfV0VCX1ZJRVdfR0VUX0NMQVNTCitXRUJLSVRfVFlQRV9KQVZB
U0NSSVBUX1JFU1VMVAorV0VCS0lUX1RZUEVfU0NSSVBUX0RJQUxPRworV0VCS0lUX1RZUEVfV0VC
X1ZJRVdfU0VTU0lPTl9TVEFURQorCis8U1VCU0VDVElPTiBQcml2YXRlPgord2Via2l0X3dlYl92
aWV3X2dldF90eXBlCit3ZWJraXRfamF2YXNjcmlwdF9yZXN1bHRfZ2V0X3R5cGUKK3dlYmtpdF9z
Y3JpcHRfZGlhbG9nX2dldF90eXBlCit3ZWJraXRfd2ViX3ZpZXdfc2Vzc2lvbl9zdGF0ZV9nZXRf
dHlwZQorV2ViS2l0V2ViVmlld1ByaXZhdGUKK1dFQktJVF9BUEkKK1dFQktJVF9ERVBSRUNBVEVE
CitXRUJLSVRfREVQUkVDQVRFRF9GT1IKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5X
ZWJLaXRXZWJWaWV3QmFja2VuZDwvRklMRT4KK1dFQktJVF9UWVBFX1dFQl9WSUVXX0JBQ0tFTkQK
K1dlYktpdFdlYlZpZXdCYWNrZW5kCit3ZWJraXRfd2ViX3ZpZXdfYmFja2VuZF9nZXRfd3BlX2Jh
Y2tlbmQKK3dlYmtpdF93ZWJfdmlld19iYWNrZW5kX25ldworCis8U1VCU0VDVElPTiBQcml2YXRl
Pgord2Via2l0X3dlYl92aWV3X2JhY2tlbmRfZ2V0X3R5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJ
T04+Cis8RklMRT5XZWJLaXRBdXRoZW50aWNhdGlvblJlcXVlc3Q8L0ZJTEU+CitXZWJLaXRBdXRo
ZW50aWNhdGlvblJlcXVlc3QKK1dlYktpdEF1dGhlbnRpY2F0aW9uU2NoZW1lCit3ZWJraXRfYXV0
aGVudGljYXRpb25fcmVxdWVzdF9hdXRoZW50aWNhdGUKK3dlYmtpdF9hdXRoZW50aWNhdGlvbl9y
ZXF1ZXN0X2NhbmNlbAord2Via2l0X2F1dGhlbnRpY2F0aW9uX3JlcXVlc3RfY2FuX3NhdmVfY3Jl
ZGVudGlhbHMKK3dlYmtpdF9hdXRoZW50aWNhdGlvbl9yZXF1ZXN0X2dldF9ob3N0Cit3ZWJraXRf
YXV0aGVudGljYXRpb25fcmVxdWVzdF9nZXRfcG9ydAord2Via2l0X2F1dGhlbnRpY2F0aW9uX3Jl
cXVlc3RfaXNfcmV0cnkKK3dlYmtpdF9hdXRoZW50aWNhdGlvbl9yZXF1ZXN0X2dldF9wcm9wb3Nl
ZF9jcmVkZW50aWFsCit3ZWJraXRfYXV0aGVudGljYXRpb25fcmVxdWVzdF9nZXRfcmVhbG0KK3dl
YmtpdF9hdXRoZW50aWNhdGlvbl9yZXF1ZXN0X2dldF9zY2hlbWUKK3dlYmtpdF9hdXRoZW50aWNh
dGlvbl9yZXF1ZXN0X2lzX2Zvcl9wcm94eQorCis8U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dlYktp
dEF1dGhlbnRpY2F0aW9uUmVxdWVzdENsYXNzCitXRUJLSVRfVFlQRV9BVVRIRU5USUNBVElPTl9S
RVFVRVNUCitXRUJLSVRfQVVUSEVOVElDQVRJT05fUkVRVUVTVAorV0VCS0lUX0FVVEhFTlRJQ0FU
SU9OX1JFUVVFU1RfQ0xBU1MKK1dFQktJVF9BVVRIRU5USUNBVElPTl9SRVFVRVNUX0dFVF9DTEFT
UworV0VCS0lUX0lTX0FVVEhFTlRJQ0FUSU9OX1JFUVVFU1QKK1dFQktJVF9JU19BVVRIRU5USUNB
VElPTl9SRVFVRVNUX0NMQVNTCitXRUJLSVRfVFlQRV9DUkVERU5USUFMCisKKzxTVUJTRUNUSU9O
IFByaXZhdGU+CitXZWJLaXRBdXRoZW50aWNhdGlvblJlcXVlc3RQcml2YXRlCit3ZWJraXRfYXV0
aGVudGljYXRpb25fcmVxdWVzdF9nZXRfdHlwZQord2Via2l0X2NyZWRlbnRpYWxfZ2V0X3R5cGUK
KworPFNVQlNFQ1RJT04+CitXZWJLaXRDcmVkZW50aWFsCitXZWJLaXRDcmVkZW50aWFsUGVyc2lz
dGVuY2UKK3dlYmtpdF9jcmVkZW50aWFsX25ldword2Via2l0X2NyZWRlbnRpYWxfY29weQord2Vi
a2l0X2NyZWRlbnRpYWxfZnJlZQord2Via2l0X2NyZWRlbnRpYWxfZ2V0X3Bhc3N3b3JkCit3ZWJr
aXRfY3JlZGVudGlhbF9nZXRfcGVyc2lzdGVuY2UKK3dlYmtpdF9jcmVkZW50aWFsX2dldF91c2Vy
bmFtZQord2Via2l0X2NyZWRlbnRpYWxfaGFzX3Bhc3N3b3JkCis8L1NFQ1RJT04+CisKKzxTRUNU
SU9OPgorPEZJTEU+V2ViS2l0QmFja0ZvcndhcmRMaXN0PC9GSUxFPgorV2ViS2l0QmFja0Zvcndh
cmRMaXN0Cit3ZWJraXRfYmFja19mb3J3YXJkX2xpc3RfZ2V0X2xlbmd0aAord2Via2l0X2JhY2tf
Zm9yd2FyZF9saXN0X2dldF9jdXJyZW50X2l0ZW0KK3dlYmtpdF9iYWNrX2ZvcndhcmRfbGlzdF9n
ZXRfYmFja19pdGVtCit3ZWJraXRfYmFja19mb3J3YXJkX2xpc3RfZ2V0X2ZvcndhcmRfaXRlbQor
d2Via2l0X2JhY2tfZm9yd2FyZF9saXN0X2dldF9udGhfaXRlbQord2Via2l0X2JhY2tfZm9yd2Fy
ZF9saXN0X2dldF9iYWNrX2xpc3QKK3dlYmtpdF9iYWNrX2ZvcndhcmRfbGlzdF9nZXRfYmFja19s
aXN0X3dpdGhfbGltaXQKK3dlYmtpdF9iYWNrX2ZvcndhcmRfbGlzdF9nZXRfZm9yd2FyZF9saXN0
Cit3ZWJraXRfYmFja19mb3J3YXJkX2xpc3RfZ2V0X2ZvcndhcmRfbGlzdF93aXRoX2xpbWl0CisK
KzxTVUJTRUNUSU9OIFN0YW5kYXJkPgorV2ViS2l0QmFja0ZvcndhcmRMaXN0Q2xhc3MKK1dFQktJ
VF9UWVBFX0JBQ0tfRk9SV0FSRF9MSVNUCitXRUJLSVRfQkFDS19GT1JXQVJEX0xJU1QKK1dFQktJ
VF9JU19CQUNLX0ZPUldBUkRfTElTVAorV0VCS0lUX0JBQ0tfRk9SV0FSRF9MSVNUX0NMQVNTCitX
RUJLSVRfSVNfQkFDS19GT1JXQVJEX0xJU1RfQ0xBU1MKK1dFQktJVF9CQUNLX0ZPUldBUkRfTElT
VF9HRVRfQ0xBU1MKKworPFNVQlNFQ1RJT04gUHJpdmF0ZT4KK1dlYktpdEJhY2tGb3J3YXJkTGlz
dFByaXZhdGUKK3dlYmtpdF9iYWNrX2ZvcndhcmRfbGlzdF9nZXRfdHlwZQorPC9TRUNUSU9OPgor
Cis8U0VDVElPTj4KKzxGSUxFPldlYktpdEJhY2tGb3J3YXJkTGlzdEl0ZW08L0ZJTEU+CitXZWJL
aXRCYWNrRm9yd2FyZExpc3RJdGVtCit3ZWJraXRfYmFja19mb3J3YXJkX2xpc3RfaXRlbV9nZXRf
dGl0bGUKK3dlYmtpdF9iYWNrX2ZvcndhcmRfbGlzdF9pdGVtX2dldF91cmkKK3dlYmtpdF9iYWNr
X2ZvcndhcmRfbGlzdF9pdGVtX2dldF9vcmlnaW5hbF91cmkKKworPFNVQlNFQ1RJT04gU3RhbmRh
cmQ+CitXZWJLaXRCYWNrRm9yd2FyZExpc3RJdGVtQ2xhc3MKK1dFQktJVF9UWVBFX0JBQ0tfRk9S
V0FSRF9MSVNUX0lURU0KK1dFQktJVF9CQUNLX0ZPUldBUkRfTElTVF9JVEVNCitXRUJLSVRfSVNf
QkFDS19GT1JXQVJEX0xJU1RfSVRFTQorV0VCS0lUX0JBQ0tfRk9SV0FSRF9MSVNUX0lURU1fQ0xB
U1MKK1dFQktJVF9JU19CQUNLX0ZPUldBUkRfTElTVF9JVEVNX0NMQVNTCitXRUJLSVRfQkFDS19G
T1JXQVJEX0xJU1RfSVRFTV9HRVRfQ0xBU1MKKworPFNVQlNFQ1RJT04gUHJpdmF0ZT4KK1dlYktp
dEJhY2tGb3J3YXJkTGlzdEl0ZW1Qcml2YXRlCit3ZWJraXRfYmFja19mb3J3YXJkX2xpc3RfaXRl
bV9nZXRfdHlwZQorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktpdFNldHRpbmdz
PC9GSUxFPgorV2ViS2l0U2V0dGluZ3MKK3dlYmtpdF9zZXR0aW5nc19uZXcKK3dlYmtpdF9zZXR0
aW5nc19uZXdfd2l0aF9zZXR0aW5ncword2Via2l0X3NldHRpbmdzX2dldF9hdXRvX2xvYWRfaW1h
Z2VzCit3ZWJraXRfc2V0dGluZ3Nfc2V0X2F1dG9fbG9hZF9pbWFnZXMKK3dlYmtpdF9zZXR0aW5n
c19nZXRfZW5hYmxlX2ZyYW1lX2ZsYXR0ZW5pbmcKK3dlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxl
X2ZyYW1lX2ZsYXR0ZW5pbmcKK3dlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX2h0bWw1X2RhdGFi
YXNlCit3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV9odG1sNV9kYXRhYmFzZQord2Via2l0X3Nl
dHRpbmdzX2dldF9lbmFibGVfaHRtbDVfbG9jYWxfc3RvcmFnZQord2Via2l0X3NldHRpbmdzX3Nl
dF9lbmFibGVfaHRtbDVfbG9jYWxfc3RvcmFnZQord2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVf
aHlwZXJsaW5rX2F1ZGl0aW5nCit3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV9oeXBlcmxpbmtf
YXVkaXRpbmcKK3dlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX2phdmEKK3dlYmtpdF9zZXR0aW5n
c19zZXRfZW5hYmxlX2phdmEKK3dlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX2phdmFzY3JpcHQK
K3dlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX2phdmFzY3JpcHQKK3dlYmtpdF9zZXR0aW5nc19n
ZXRfZW5hYmxlX29mZmxpbmVfd2ViX2FwcGxpY2F0aW9uX2NhY2hlCit3ZWJraXRfc2V0dGluZ3Nf
c2V0X2VuYWJsZV9vZmZsaW5lX3dlYl9hcHBsaWNhdGlvbl9jYWNoZQord2Via2l0X3NldHRpbmdz
X2dldF9lbmFibGVfcGx1Z2lucword2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfcGx1Z2lucwor
d2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfeHNzX2F1ZGl0b3IKK3dlYmtpdF9zZXR0aW5nc19z
ZXRfZW5hYmxlX3hzc19hdWRpdG9yCit3ZWJraXRfc2V0dGluZ3NfZ2V0X2phdmFzY3JpcHRfY2Fu
X29wZW5fd2luZG93c19hdXRvbWF0aWNhbGx5Cit3ZWJraXRfc2V0dGluZ3Nfc2V0X2phdmFzY3Jp
cHRfY2FuX29wZW5fd2luZG93c19hdXRvbWF0aWNhbGx5Cit3ZWJraXRfc2V0dGluZ3NfZ2V0X2xv
YWRfaWNvbnNfaWdub3JpbmdfaW1hZ2VfbG9hZF9zZXR0aW5nCit3ZWJraXRfc2V0dGluZ3Nfc2V0
X2xvYWRfaWNvbnNfaWdub3JpbmdfaW1hZ2VfbG9hZF9zZXR0aW5nCit3ZWJraXRfc2V0dGluZ3Nf
Z2V0X2RlZmF1bHRfZm9udF9mYW1pbHkKK3dlYmtpdF9zZXR0aW5nc19zZXRfZGVmYXVsdF9mb250
X2ZhbWlseQord2Via2l0X3NldHRpbmdzX2dldF9tb25vc3BhY2VfZm9udF9mYW1pbHkKK3dlYmtp
dF9zZXR0aW5nc19zZXRfbW9ub3NwYWNlX2ZvbnRfZmFtaWx5Cit3ZWJraXRfc2V0dGluZ3NfZ2V0
X3NlcmlmX2ZvbnRfZmFtaWx5Cit3ZWJraXRfc2V0dGluZ3Nfc2V0X3NlcmlmX2ZvbnRfZmFtaWx5
Cit3ZWJraXRfc2V0dGluZ3NfZ2V0X3NhbnNfc2VyaWZfZm9udF9mYW1pbHkKK3dlYmtpdF9zZXR0
aW5nc19zZXRfc2Fuc19zZXJpZl9mb250X2ZhbWlseQord2Via2l0X3NldHRpbmdzX2dldF9jdXJz
aXZlX2ZvbnRfZmFtaWx5Cit3ZWJraXRfc2V0dGluZ3Nfc2V0X2N1cnNpdmVfZm9udF9mYW1pbHkK
K3dlYmtpdF9zZXR0aW5nc19nZXRfZmFudGFzeV9mb250X2ZhbWlseQord2Via2l0X3NldHRpbmdz
X3NldF9mYW50YXN5X2ZvbnRfZmFtaWx5Cit3ZWJraXRfc2V0dGluZ3NfZ2V0X3BpY3RvZ3JhcGhf
Zm9udF9mYW1pbHkKK3dlYmtpdF9zZXR0aW5nc19zZXRfcGljdG9ncmFwaF9mb250X2ZhbWlseQor
d2Via2l0X3NldHRpbmdzX2dldF9kZWZhdWx0X2ZvbnRfc2l6ZQord2Via2l0X3NldHRpbmdzX3Nl
dF9kZWZhdWx0X2ZvbnRfc2l6ZQord2Via2l0X3NldHRpbmdzX2dldF9kZWZhdWx0X21vbm9zcGFj
ZV9mb250X3NpemUKK3dlYmtpdF9zZXR0aW5nc19zZXRfZGVmYXVsdF9tb25vc3BhY2VfZm9udF9z
aXplCit3ZWJraXRfc2V0dGluZ3NfZ2V0X21pbmltdW1fZm9udF9zaXplCit3ZWJraXRfc2V0dGlu
Z3Nfc2V0X21pbmltdW1fZm9udF9zaXplCit3ZWJraXRfc2V0dGluZ3NfZ2V0X2RlZmF1bHRfY2hh
cnNldAord2Via2l0X3NldHRpbmdzX3NldF9kZWZhdWx0X2NoYXJzZXQKK3dlYmtpdF9zZXR0aW5n
c19nZXRfZW5hYmxlX2RldmVsb3Blcl9leHRyYXMKK3dlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxl
X2RldmVsb3Blcl9leHRyYXMKK3dlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX3Jlc2l6YWJsZV90
ZXh0X2FyZWFzCit3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV9yZXNpemFibGVfdGV4dF9hcmVh
cword2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfdGFic190b19saW5rcword2Via2l0X3NldHRp
bmdzX3NldF9lbmFibGVfdGFic190b19saW5rcword2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVf
ZG5zX3ByZWZldGNoaW5nCit3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV9kbnNfcHJlZmV0Y2hp
bmcKK3dlYmtpdF9zZXR0aW5nc19nZXRfZW5hYmxlX2NhcmV0X2Jyb3dzaW5nCit3ZWJraXRfc2V0
dGluZ3Nfc2V0X2VuYWJsZV9jYXJldF9icm93c2luZword2Via2l0X3NldHRpbmdzX2dldF9lbmFi
bGVfZnVsbHNjcmVlbgord2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfZnVsbHNjcmVlbgord2Vi
a2l0X3NldHRpbmdzX2dldF9wcmludF9iYWNrZ3JvdW5kcword2Via2l0X3NldHRpbmdzX3NldF9w
cmludF9iYWNrZ3JvdW5kcword2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfd2ViYXVkaW8KK3dl
YmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX3dlYmF1ZGlvCit3ZWJraXRfc2V0dGluZ3NfZ2V0X2Vu
YWJsZV93ZWJnbAord2Via2l0X3NldHRpbmdzX3NldF9lbmFibGVfd2ViZ2wKK3dlYmtpdF9zZXR0
aW5nc19zZXRfYWxsb3dfbW9kYWxfZGlhbG9ncword2Via2l0X3NldHRpbmdzX2dldF9hbGxvd19t
b2RhbF9kaWFsb2dzCit3ZWJraXRfc2V0dGluZ3NfZ2V0X3pvb21fdGV4dF9vbmx5Cit3ZWJraXRf
c2V0dGluZ3Nfc2V0X3pvb21fdGV4dF9vbmx5Cit3ZWJraXRfc2V0dGluZ3NfZ2V0X2phdmFzY3Jp
cHRfY2FuX2FjY2Vzc19jbGlwYm9hcmQKK3dlYmtpdF9zZXR0aW5nc19zZXRfamF2YXNjcmlwdF9j
YW5fYWNjZXNzX2NsaXBib2FyZAord2Via2l0X3NldHRpbmdzX2dldF9tZWRpYV9wbGF5YmFja19y
ZXF1aXJlc191c2VyX2dlc3R1cmUKK3dlYmtpdF9zZXR0aW5nc19zZXRfbWVkaWFfcGxheWJhY2tf
cmVxdWlyZXNfdXNlcl9nZXN0dXJlCit3ZWJraXRfc2V0dGluZ3NfZ2V0X21lZGlhX3BsYXliYWNr
X2FsbG93c19pbmxpbmUKK3dlYmtpdF9zZXR0aW5nc19zZXRfbWVkaWFfcGxheWJhY2tfYWxsb3dz
X2lubGluZQord2Via2l0X3NldHRpbmdzX2dldF9kcmF3X2NvbXBvc2l0aW5nX2luZGljYXRvcnMK
K3dlYmtpdF9zZXR0aW5nc19zZXRfZHJhd19jb21wb3NpdGluZ19pbmRpY2F0b3JzCit3ZWJraXRf
c2V0dGluZ3NfZ2V0X2VuYWJsZV9zaXRlX3NwZWNpZmljX3F1aXJrcword2Via2l0X3NldHRpbmdz
X3NldF9lbmFibGVfc2l0ZV9zcGVjaWZpY19xdWlya3MKK3dlYmtpdF9zZXR0aW5nc19nZXRfZW5h
YmxlX3BhZ2VfY2FjaGUKK3dlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX3BhZ2VfY2FjaGUKK3dl
YmtpdF9zZXR0aW5nc19nZXRfdXNlcl9hZ2VudAord2Via2l0X3NldHRpbmdzX3NldF91c2VyX2Fn
ZW50Cit3ZWJraXRfc2V0dGluZ3Nfc2V0X3VzZXJfYWdlbnRfd2l0aF9hcHBsaWNhdGlvbl9kZXRh
aWxzCit3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJsZV9zbW9vdGhfc2Nyb2xsaW5nCit3ZWJraXRf
c2V0dGluZ3Nfc2V0X2VuYWJsZV9zbW9vdGhfc2Nyb2xsaW5nCit3ZWJraXRfc2V0dGluZ3NfZ2V0
X2VuYWJsZV9hY2NlbGVyYXRlZF8yZF9jYW52YXMKK3dlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxl
X2FjY2VsZXJhdGVkXzJkX2NhbnZhcword2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfd3JpdGVf
Y29uc29sZV9tZXNzYWdlc190b19zdGRvdXQKK3dlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX3dy
aXRlX2NvbnNvbGVfbWVzc2FnZXNfdG9fc3Rkb3V0Cit3ZWJraXRfc2V0dGluZ3NfZ2V0X2VuYWJs
ZV9tZWRpYV9zdHJlYW0KK3dlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX21lZGlhX3N0cmVhbQor
d2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfbW9ja19jYXB0dXJlX2RldmljZXMKK3dlYmtpdF9z
ZXR0aW5nc19zZXRfZW5hYmxlX21vY2tfY2FwdHVyZV9kZXZpY2VzCit3ZWJraXRfc2V0dGluZ3Nf
Z2V0X2VuYWJsZV9zcGF0aWFsX25hdmlnYXRpb24KK3dlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxl
X3NwYXRpYWxfbmF2aWdhdGlvbgord2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfbWVkaWFzb3Vy
Y2UKK3dlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxlX21lZGlhc291cmNlCit3ZWJraXRfc2V0dGlu
Z3NfZ2V0X2VuYWJsZV9lbmNyeXB0ZWRfbWVkaWEKK3dlYmtpdF9zZXR0aW5nc19zZXRfZW5hYmxl
X2VuY3J5cHRlZF9tZWRpYQord2Via2l0X3NldHRpbmdzX2dldF9lbmFibGVfbWVkaWFfY2FwYWJp
bGl0aWVzCit3ZWJraXRfc2V0dGluZ3Nfc2V0X2VuYWJsZV9tZWRpYV9jYXBhYmlsaXRpZXMKK3dl
YmtpdF9zZXR0aW5nc19nZXRfYWxsb3dfZmlsZV9hY2Nlc3NfZnJvbV9maWxlX3VybHMKK3dlYmtp
dF9zZXR0aW5nc19zZXRfYWxsb3dfZmlsZV9hY2Nlc3NfZnJvbV9maWxlX3VybHMKK3dlYmtpdF9z
ZXR0aW5nc19nZXRfYWxsb3dfdW5pdmVyc2FsX2FjY2Vzc19mcm9tX2ZpbGVfdXJscword2Via2l0
X3NldHRpbmdzX3NldF9hbGxvd191bml2ZXJzYWxfYWNjZXNzX2Zyb21fZmlsZV91cmxzCisKKzxT
VUJTRUNUSU9OIFN0YW5kYXJkPgorV2ViS2l0U2V0dGluZ3NDbGFzcworV0VCS0lUX1RZUEVfU0VU
VElOR1MKK1dFQktJVF9TRVRUSU5HUworV0VCS0lUX0lTX1NFVFRJTkdTCitXRUJLSVRfU0VUVElO
R1NfQ0xBU1MKK1dFQktJVF9JU19TRVRUSU5HU19DTEFTUworV0VCS0lUX1NFVFRJTkdTX0dFVF9D
TEFTUworCis8U1VCU0VDVElPTiBQcml2YXRlPgorV2ViS2l0U2V0dGluZ3NQcml2YXRlCit3ZWJr
aXRfc2V0dGluZ3NfZ2V0X3R5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJL
aXRVUklSZXF1ZXN0PC9GSUxFPgorV2ViS2l0VVJJUmVxdWVzdAord2Via2l0X3VyaV9yZXF1ZXN0
X25ldword2Via2l0X3VyaV9yZXF1ZXN0X2dldF91cmkKK3dlYmtpdF91cmlfcmVxdWVzdF9zZXRf
dXJpCit3ZWJraXRfdXJpX3JlcXVlc3RfZ2V0X2h0dHBfbWV0aG9kCit3ZWJraXRfdXJpX3JlcXVl
c3RfZ2V0X2h0dHBfaGVhZGVycworCis8U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dlYktpdFVSSVJl
cXVlc3RDbGFzcworV0VCS0lUX1RZUEVfVVJJX1JFUVVFU1QKK1dFQktJVF9VUklfUkVRVUVTVAor
V0VCS0lUX0lTX1VSSV9SRVFVRVNUCitXRUJLSVRfVVJJX1JFUVVFU1RfQ0xBU1MKK1dFQktJVF9J
U19VUklfUkVRVUVTVF9DTEFTUworV0VCS0lUX1VSSV9SRVFVRVNUX0dFVF9DTEFTUworCis8U1VC
U0VDVElPTiBQcml2YXRlPgorV2ViS2l0VVJJUmVxdWVzdFByaXZhdGUKK3dlYmtpdF91cmlfcmVx
dWVzdF9nZXRfdHlwZQorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktpdFVSSVJl
c3BvbnNlPC9GSUxFPgorV2ViS2l0VVJJUmVzcG9uc2UKK3dlYmtpdF91cmlfcmVzcG9uc2VfZ2V0
X3VyaQord2Via2l0X3VyaV9yZXNwb25zZV9nZXRfc3RhdHVzX2NvZGUKK3dlYmtpdF91cmlfcmVz
cG9uc2VfZ2V0X2NvbnRlbnRfbGVuZ3RoCit3ZWJraXRfdXJpX3Jlc3BvbnNlX2dldF9taW1lX3R5
cGUKK3dlYmtpdF91cmlfcmVzcG9uc2VfZ2V0X3N1Z2dlc3RlZF9maWxlbmFtZQord2Via2l0X3Vy
aV9yZXNwb25zZV9nZXRfaHR0cF9oZWFkZXJzCisKKzxTVUJTRUNUSU9OIFN0YW5kYXJkPgorV2Vi
S2l0VVJJUmVzcG9uc2VDbGFzcworV0VCS0lUX1RZUEVfVVJJX1JFU1BPTlNFCitXRUJLSVRfVVJJ
X1JFU1BPTlNFCitXRUJLSVRfSVNfVVJJX1JFU1BPTlNFCitXRUJLSVRfVVJJX1JFU1BPTlNFX0NM
QVNTCitXRUJLSVRfSVNfVVJJX1JFU1BPTlNFX0NMQVNTCitXRUJLSVRfVVJJX1JFU1BPTlNFX0dF
VF9DTEFTUworCis8U1VCU0VDVElPTiBQcml2YXRlPgorV2ViS2l0VVJJUmVzcG9uc2VQcml2YXRl
Cit3ZWJraXRfdXJpX3Jlc3BvbnNlX2dldF90eXBlCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgor
PEZJTEU+V2ViS2l0V2luZG93UHJvcGVydGllczwvRklMRT4KK1dlYktpdFdpbmRvd1Byb3BlcnRp
ZXMKK3dlYmtpdF93aW5kb3dfcHJvcGVydGllc19nZXRfdG9vbGJhcl92aXNpYmxlCit3ZWJraXRf
d2luZG93X3Byb3BlcnRpZXNfZ2V0X3N0YXR1c2Jhcl92aXNpYmxlCit3ZWJraXRfd2luZG93X3By
b3BlcnRpZXNfZ2V0X3Njcm9sbGJhcnNfdmlzaWJsZQord2Via2l0X3dpbmRvd19wcm9wZXJ0aWVz
X2dldF9tZW51YmFyX3Zpc2libGUKK3dlYmtpdF93aW5kb3dfcHJvcGVydGllc19nZXRfbG9jYXRp
b25iYXJfdmlzaWJsZQord2Via2l0X3dpbmRvd19wcm9wZXJ0aWVzX2dldF9yZXNpemFibGUKK3dl
YmtpdF93aW5kb3dfcHJvcGVydGllc19nZXRfZnVsbHNjcmVlbgorCis8U1VCU0VDVElPTiBTdGFu
ZGFyZD4KK1dlYktpdFdpbmRvd1Byb3BlcnRpZXNDbGFzcworV0VCS0lUX1RZUEVfV0lORE9XX1BS
T1BFUlRJRVMKK1dFQktJVF9XSU5ET1dfUFJPUEVSVElFUworV0VCS0lUX0lTX1dJTkRPV19QUk9Q
RVJUSUVTCitXRUJLSVRfV0lORE9XX1BST1BFUlRJRVNfQ0xBU1MKK1dFQktJVF9JU19XSU5ET1df
UFJPUEVSVElFU19DTEFTUworV0VCS0lUX1dJTkRPV19QUk9QRVJUSUVTX0dFVF9DTEFTUworCis8
U1VCU0VDVElPTiBQcml2YXRlPgorV2ViS2l0V2luZG93UHJvcGVydGllc1ByaXZhdGUKK3dlYmtp
dF93aW5kb3dfcHJvcGVydGllc19nZXRfdHlwZQorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxG
SUxFPldlYktpdERvd25sb2FkPC9GSUxFPgorV2ViS2l0RG93bmxvYWQKK3dlYmtpdF9kb3dubG9h
ZF9nZXRfcmVxdWVzdAord2Via2l0X2Rvd25sb2FkX2dldF9kZXN0aW5hdGlvbgord2Via2l0X2Rv
d25sb2FkX3NldF9kZXN0aW5hdGlvbgord2Via2l0X2Rvd25sb2FkX2dldF9yZXNwb25zZQord2Vi
a2l0X2Rvd25sb2FkX2NhbmNlbAord2Via2l0X2Rvd25sb2FkX2dldF9lc3RpbWF0ZWRfcHJvZ3Jl
c3MKK3dlYmtpdF9kb3dubG9hZF9nZXRfZWxhcHNlZF90aW1lCit3ZWJraXRfZG93bmxvYWRfZ2V0
X3JlY2VpdmVkX2RhdGFfbGVuZ3RoCit3ZWJraXRfZG93bmxvYWRfZ2V0X3dlYl92aWV3Cit3ZWJr
aXRfZG93bmxvYWRfZ2V0X2FsbG93X292ZXJ3cml0ZQord2Via2l0X2Rvd25sb2FkX3NldF9hbGxv
d19vdmVyd3JpdGUKKworPFNVQlNFQ1RJT04gU3RhbmRhcmQ+CitXZWJLaXREb3dubG9hZENsYXNz
CitXRUJLSVRfVFlQRV9ET1dOTE9BRAorV0VCS0lUX0RPV05MT0FECitXRUJLSVRfSVNfRE9XTkxP
QUQKK1dFQktJVF9ET1dOTE9BRF9DTEFTUworV0VCS0lUX0lTX0RPV05MT0FEX0NMQVNTCitXRUJL
SVRfRE9XTkxPQURfR0VUX0NMQVNTCisKKzxTVUJTRUNUSU9OIFByaXZhdGU+CitXZWJLaXREb3du
bG9hZFByaXZhdGUKK3dlYmtpdF9kb3dubG9hZF9nZXRfdHlwZQorPC9TRUNUSU9OPgorCis8U0VD
VElPTj4KKzxGSUxFPldlYktpdFBlcm1pc3Npb25SZXF1ZXN0PC9GSUxFPgorV2ViS2l0UGVybWlz
c2lvblJlcXVlc3QKK3dlYmtpdF9wZXJtaXNzaW9uX3JlcXVlc3RfYWxsb3cKK3dlYmtpdF9wZXJt
aXNzaW9uX3JlcXVlc3RfZGVueQorCis8U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dlYktpdFBlcm1p
c3Npb25SZXF1ZXN0SWZhY2UKK1dFQktJVF9UWVBFX1BFUk1JU1NJT05fUkVRVUVTVAorV0VCS0lU
X1BFUk1JU1NJT05fUkVRVUVTVAorV0VCS0lUX0lTX1BFUk1JU1NJT05fUkVRVUVTVAorV0VCS0lU
X1BFUk1JU1NJT05fUkVRVUVTVF9HRVRfSUZBQ0UKKworPFNVQlNFQ1RJT04gUHJpdmF0ZT4KK3dl
YmtpdF9wZXJtaXNzaW9uX3JlcXVlc3RfZ2V0X3R5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+
Cis8RklMRT5XZWJLaXRHZW9sb2NhdGlvblBlcm1pc3Npb25SZXF1ZXN0PC9GSUxFPgorV2ViS2l0
R2VvbG9jYXRpb25QZXJtaXNzaW9uUmVxdWVzdAorCis8U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dl
YktpdEdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RDbGFzcworV0VCS0lUX1RZUEVfR0VPTE9D
QVRJT05fUEVSTUlTU0lPTl9SRVFVRVNUCitXRUJLSVRfR0VPTE9DQVRJT05fUEVSTUlTU0lPTl9S
RVFVRVNUCitXRUJLSVRfSVNfR0VPTE9DQVRJT05fUEVSTUlTU0lPTl9SRVFVRVNUCitXRUJLSVRf
R0VPTE9DQVRJT05fUEVSTUlTU0lPTl9SRVFVRVNUX0NMQVNTCitXRUJLSVRfSVNfR0VPTE9DQVRJ
T05fUEVSTUlTU0lPTl9SRVFVRVNUX0NMQVNTCitXRUJLSVRfR0VPTE9DQVRJT05fUEVSTUlTU0lP
Tl9SRVFVRVNUX0dFVF9DTEFTUworCis8U1VCU0VDVElPTiBQcml2YXRlPgorV2ViS2l0R2VvbG9j
YXRpb25QZXJtaXNzaW9uUmVxdWVzdFByaXZhdGUKK3dlYmtpdF9nZW9sb2NhdGlvbl9wZXJtaXNz
aW9uX3JlcXVlc3RfZ2V0X3R5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJL
aXRJbnN0YWxsTWlzc2luZ01lZGlhUGx1Z2luc1Blcm1pc3Npb25SZXF1ZXN0PC9GSUxFPgorV2Vi
S2l0SW5zdGFsbE1pc3NpbmdNZWRpYVBsdWdpbnNQZXJtaXNzaW9uUmVxdWVzdAord2Via2l0X2lu
c3RhbGxfbWlzc2luZ19tZWRpYV9wbHVnaW5zX3Blcm1pc3Npb25fcmVxdWVzdF9nZXRfZGVzY3Jp
cHRpb24KKworPFNVQlNFQ1RJT04gU3RhbmRhcmQ+CitXZWJLaXRJbnN0YWxsTWlzc2luZ01lZGlh
UGx1Z2luc1Blcm1pc3Npb25SZXF1ZXN0Q2xhc3MKK1dFQktJVF9UWVBFX0lOU1RBTExfTUlTU0lO
R19NRURJQV9QTFVHSU5TX1BFUk1JU1NJT05fUkVRVUVTVAorV0VCS0lUX0lOU1RBTExfTUlTU0lO
R19NRURJQV9QTFVHSU5TX1BFUk1JU1NJT05fUkVRVUVTVAorV0VCS0lUX0lTX0lOU1RBTExfTUlT
U0lOR19NRURJQV9QTFVHSU5TX1BFUk1JU1NJT05fUkVRVUVTVAorV0VCS0lUX0lOU1RBTExfTUlT
U0lOR19NRURJQV9QTFVHSU5TX1BFUk1JU1NJT05fUkVRVUVTVF9DTEFTUworV0VCS0lUX0lTX0lO
U1RBTExfTUlTU0lOR19NRURJQV9QTFVHSU5TX1BFUk1JU1NJT05fUkVRVUVTVF9DTEFTUworV0VC
S0lUX0lOU1RBTExfTUlTU0lOR19NRURJQV9QTFVHSU5TX1BFUk1JU1NJT05fUkVRVUVTVF9HRVRf
Q0xBU1MKKworPFNVQlNFQ1RJT04gUHJpdmF0ZT4KK1dlYktpdEluc3RhbGxNaXNzaW5nTWVkaWFQ
bHVnaW5zUGVybWlzc2lvblJlcXVlc3RQcml2YXRlCit3ZWJraXRfaW5zdGFsbF9taXNzaW5nX21l
ZGlhX3BsdWdpbnNfcGVybWlzc2lvbl9yZXF1ZXN0X2dldF90eXBlCis8L1NFQ1RJT04+CisKKzxT
RUNUSU9OPgorPEZJTEU+V2ViS2l0RGV2aWNlSW5mb1Blcm1pc3Npb25SZXF1ZXN0PC9GSUxFPgor
V2ViS2l0RGV2aWNlSW5mb1Blcm1pc3Npb25SZXF1ZXN0CisKKzxTVUJTRUNUSU9OIFN0YW5kYXJk
PgorV2ViS2l0RGV2aWNlSW5mb1Blcm1pc3Npb25SZXF1ZXN0Q2xhc3MKK1dFQktJVF9UWVBFX0RF
VklDRV9JTkZPX1BFUk1JU1NJT05fUkVRVUVTVAorV0VCS0lUX0RFVklDRV9JTkZPX1BFUk1JU1NJ
T05fUkVRVUVTVAorV0VCS0lUX0lTX0RFVklDRV9JTkZPX1BFUk1JU1NJT05fUkVRVUVTVAorV0VC
S0lUX0RFVklDRV9JTkZPX1BFUk1JU1NJT05fUkVRVUVTVF9DTEFTUworV0VCS0lUX0lTX0RFVklD
RV9JTkZPX1BFUk1JU1NJT05fUkVRVUVTVF9DTEFTUworV0VCS0lUX0RFVklDRV9JTkZPX1BFUk1J
U1NJT05fUkVRVUVTVF9HRVRfQ0xBU1MKKworPFNVQlNFQ1RJT04gUHJpdmF0ZT4KK1dlYktpdERl
dmljZUluZm9QZXJtaXNzaW9uUmVxdWVzdFByaXZhdGUKK3dlYmtpdF9kZXZpY2VfaW5mb19wZXJt
aXNzaW9uX3JlcXVlc3RfZ2V0X3R5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5X
ZWJLaXROYXZpZ2F0aW9uQWN0aW9uPC9GSUxFPgorV2ViS2l0TmF2aWdhdGlvbkFjdGlvbgord2Vi
a2l0X25hdmlnYXRpb25fYWN0aW9uX2NvcHkKK3dlYmtpdF9uYXZpZ2F0aW9uX2FjdGlvbl9mcmVl
Cit3ZWJraXRfbmF2aWdhdGlvbl9hY3Rpb25fZ2V0X25hdmlnYXRpb25fdHlwZQord2Via2l0X25h
dmlnYXRpb25fYWN0aW9uX2dldF9tb3VzZV9idXR0b24KK3dlYmtpdF9uYXZpZ2F0aW9uX2FjdGlv
bl9nZXRfbW9kaWZpZXJzCit3ZWJraXRfbmF2aWdhdGlvbl9hY3Rpb25fZ2V0X3JlcXVlc3QKK3dl
YmtpdF9uYXZpZ2F0aW9uX2FjdGlvbl9pc191c2VyX2dlc3R1cmUKK3dlYmtpdF9uYXZpZ2F0aW9u
X2FjdGlvbl9pc19yZWRpcmVjdAorCis8U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dFQktJVF9UWVBF
X05BVklHQVRJT05fQUNUSU9OCisKKzxTVUJTRUNUSU9OIFByaXZhdGU+Cit3ZWJraXRfbmF2aWdh
dGlvbl9hY3Rpb25fZ2V0X3R5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJL
aXRVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdDwvRklMRT4KK1dlYktpdFVzZXJNZWRpYVBlcm1p
c3Npb25SZXF1ZXN0Cit3ZWJraXRfdXNlcl9tZWRpYV9wZXJtaXNzaW9uX2lzX2Zvcl9hdWRpb19k
ZXZpY2UKK3dlYmtpdF91c2VyX21lZGlhX3Blcm1pc3Npb25faXNfZm9yX3ZpZGVvX2RldmljZQor
Cis8U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dlYktpdFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0
Q2xhc3MKK1dFQktJVF9UWVBFX1VTRVJfTUVESUFfUEVSTUlTU0lPTl9SRVFVRVNUCitXRUJLSVRf
VVNFUl9NRURJQV9QRVJNSVNTSU9OX1JFUVVFU1QKK1dFQktJVF9JU19VU0VSX01FRElBX1BFUk1J
U1NJT05fUkVRVUVTVAorV0VCS0lUX1VTRVJfTUVESUFfUEVSTUlTU0lPTl9SRVFVRVNUX0NMQVNT
CitXRUJLSVRfSVNfVVNFUl9NRURJQV9QRVJNSVNTSU9OX1JFUVVFU1RfQ0xBU1MKK1dFQktJVF9V
U0VSX01FRElBX1BFUk1JU1NJT05fUkVRVUVTVF9HRVRfQ0xBU1MKKworPFNVQlNFQ1RJT04gUHJp
dmF0ZT4KK1dlYktpdFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0UHJpdmF0ZQord2Via2l0X3Vz
ZXJfbWVkaWFfcGVybWlzc2lvbl9yZXF1ZXN0X2dldF90eXBlCis8L1NFQ1RJT04+CisKKzxTRUNU
SU9OPgorPEZJTEU+V2ViS2l0Tm90aWZpY2F0aW9uPC9GSUxFPgorV2ViS2l0Tm90aWZpY2F0aW9u
Cit3ZWJraXRfbm90aWZpY2F0aW9uX2dldF9pZAord2Via2l0X25vdGlmaWNhdGlvbl9nZXRfdGl0
bGUKK3dlYmtpdF9ub3RpZmljYXRpb25fZ2V0X2JvZHkKK3dlYmtpdF9ub3RpZmljYXRpb25fZ2V0
X3RhZword2Via2l0X25vdGlmaWNhdGlvbl9jbG9zZQord2Via2l0X25vdGlmaWNhdGlvbl9jbGlj
a2VkCisKKzxTVUJTRUNUSU9OIFN0YW5kYXJkPgorV2ViS2l0Tm90aWZpY2F0aW9uQ2xhc3MKK1dF
QktJVF9UWVBFX05PVElGSUNBVElPTgorV0VCS0lUX0lTX05PVElGSUNBVElPTgorV0VCS0lUX05P
VElGSUNBVElPTgorV0VCS0lUX05PVElGSUNBVElPTl9DTEFTUworV0VCS0lUX0lTX05PVElGSUNB
VElPTl9DTEFTUworV0VCS0lUX05PVElGSUNBVElPTl9HRVRfQ0xBU1MKKworPFNVQlNFQ1RJT04g
UHJpdmF0ZT4KK1dlYktpdE5vdGlmaWNhdGlvblByaXZhdGUKK3dlYmtpdF9ub3RpZmljYXRpb25f
Z2V0X3R5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXROb3RpZmljYXRp
b25QZXJtaXNzaW9uUmVxdWVzdDwvRklMRT4KK1dlYktpdE5vdGlmaWNhdGlvblBlcm1pc3Npb25S
ZXF1ZXN0CisKKzxTVUJTRUNUSU9OIFN0YW5kYXJkPgorV2ViS2l0Tm90aWZpY2F0aW9uUGVybWlz
c2lvblJlcXVlc3RDbGFzcworV0VCS0lUX1RZUEVfTk9USUZJQ0FUSU9OX1BFUk1JU1NJT05fUkVR
VUVTVAorV0VCS0lUX05PVElGSUNBVElPTl9QRVJNSVNTSU9OX1JFUVVFU1QKK1dFQktJVF9JU19O
T1RJRklDQVRJT05fUEVSTUlTU0lPTl9SRVFVRVNUCitXRUJLSVRfTk9USUZJQ0FUSU9OX1BFUk1J
U1NJT05fUkVRVUVTVF9DTEFTUworV0VCS0lUX0lTX05PVElGSUNBVElPTl9QRVJNSVNTSU9OX1JF
UVVFU1RfQ0xBU1MKK1dFQktJVF9OT1RJRklDQVRJT05fUEVSTUlTU0lPTl9SRVFVRVNUX0dFVF9D
TEFTUworCis8U1VCU0VDVElPTiBQcml2YXRlPgorV2ViS2l0Tm90aWZpY2F0aW9uUGVybWlzc2lv
blJlcXVlc3RQcml2YXRlCit3ZWJraXRfbm90aWZpY2F0aW9uX3Blcm1pc3Npb25fcmVxdWVzdF9n
ZXRfdHlwZQorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktpdFBvbGljeURlY2lz
aW9uPC9GSUxFPgorV2ViS2l0UG9saWN5RGVjaXNpb24KK3dlYmtpdF9wb2xpY3lfZGVjaXNpb25f
ZG93bmxvYWQKK3dlYmtpdF9wb2xpY3lfZGVjaXNpb25faWdub3JlCit3ZWJraXRfcG9saWN5X2Rl
Y2lzaW9uX3VzZQorCis8U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dlYktpdFBvbGljeURlY2lzaW9u
Q2xhc3MKK1dFQktJVF9UWVBFX1BPTElDWV9ERUNJU0lPTgorV0VCS0lUX1BPTElDWV9ERUNJU0lP
TgorV0VCS0lUX0lTX1BPTElDWV9ERUNJU0lPTgorV0VCS0lUX1BPTElDWV9ERUNJU0lPTl9DTEFT
UworV0VCS0lUX0lTX1BPTElDWV9ERUNJU0lPTl9DTEFTUworV0VCS0lUX1BPTElDWV9ERUNJU0lP
Tl9HRVRfQ0xBU1MKKworPFNVQlNFQ1RJT04gUHJpdmF0ZT4KK1dlYktpdFBvbGljeURlY2lzaW9u
UHJpdmF0ZQord2Via2l0X3BvbGljeV9kZWNpc2lvbl9nZXRfdHlwZQorPC9TRUNUSU9OPgorCis8
U0VDVElPTj4KKzxGSUxFPldlYktpdE5hdmlnYXRpb25Qb2xpY3lEZWNpc2lvbjwvRklMRT4KK1dl
YktpdE5hdmlnYXRpb25Qb2xpY3lEZWNpc2lvbgorV2ViS2l0TmF2aWdhdGlvblR5cGUKK3dlYmtp
dF9uYXZpZ2F0aW9uX3BvbGljeV9kZWNpc2lvbl9nZXRfbmF2aWdhdGlvbl9hY3Rpb24KK3dlYmtp
dF9uYXZpZ2F0aW9uX3BvbGljeV9kZWNpc2lvbl9nZXRfZnJhbWVfbmFtZQorCis8U1VCU0VDVElP
TiBTdGFuZGFyZD4KK1dlYktpdE5hdmlnYXRpb25Qb2xpY3lEZWNpc2lvbkNsYXNzCitXRUJLSVRf
VFlQRV9OQVZJR0FUSU9OX1BPTElDWV9ERUNJU0lPTgorV0VCS0lUX05BVklHQVRJT05fUE9MSUNZ
X0RFQ0lTSU9OCitXRUJLSVRfSVNfTkFWSUdBVElPTl9QT0xJQ1lfREVDSVNJT04KK1dFQktJVF9O
QVZJR0FUSU9OX1BPTElDWV9ERUNJU0lPTl9DTEFTUworV0VCS0lUX0lTX05BVklHQVRJT05fUE9M
SUNZX0RFQ0lTSU9OX0NMQVNTCitXRUJLSVRfTkFWSUdBVElPTl9QT0xJQ1lfREVDSVNJT05fR0VU
X0NMQVNTCisKKzxTVUJTRUNUSU9OIFByaXZhdGU+CitXZWJLaXROYXZpZ2F0aW9uUG9saWN5RGVj
aXNpb25Qcml2YXRlCit3ZWJraXRfbmF2aWdhdGlvbl9wb2xpY3lfZGVjaXNpb25fZ2V0X3R5cGUK
KzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXRSZXNwb25zZVBvbGljeURlY2lz
aW9uPC9GSUxFPgorV2ViS2l0UmVzcG9uc2VQb2xpY3lEZWNpc2lvbgord2Via2l0X3Jlc3BvbnNl
X3BvbGljeV9kZWNpc2lvbl9nZXRfcmVxdWVzdAord2Via2l0X3Jlc3BvbnNlX3BvbGljeV9kZWNp
c2lvbl9nZXRfcmVzcG9uc2UKK3dlYmtpdF9yZXNwb25zZV9wb2xpY3lfZGVjaXNpb25faXNfbWlt
ZV90eXBlX3N1cHBvcnRlZAorCis8U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dlYktpdFJlc3BvbnNl
UG9saWN5RGVjaXNpb25DbGFzcworV0VCS0lUX1RZUEVfUkVTUE9OU0VfUE9MSUNZX0RFQ0lTSU9O
CitXRUJLSVRfUkVTUE9OU0VfUE9MSUNZX0RFQ0lTSU9OCitXRUJLSVRfSVNfUkVTUE9OU0VfUE9M
SUNZX0RFQ0lTSU9OCitXRUJLSVRfUkVTUE9OU0VfUE9MSUNZX0RFQ0lTSU9OX0NMQVNTCitXRUJL
SVRfSVNfUkVTUE9OU0VfUE9MSUNZX0RFQ0lTSU9OX0NMQVNTCitXRUJLSVRfUkVTUE9OU0VfUE9M
SUNZX0RFQ0lTSU9OX0dFVF9DTEFTUworCis8U1VCU0VDVElPTiBQcml2YXRlPgorV2ViS2l0UmVz
cG9uc2VQb2xpY3lEZWNpc2lvblByaXZhdGUKK3dlYmtpdF9yZXNwb25zZV9wb2xpY3lfZGVjaXNp
b25fZ2V0X3R5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXRIaXRUZXN0
UmVzdWx0PC9GSUxFPgorV2ViS2l0SGl0VGVzdFJlc3VsdAorV2ViS2l0SGl0VGVzdFJlc3VsdENv
bnRleHQKK3dlYmtpdF9oaXRfdGVzdF9yZXN1bHRfZ2V0X2NvbnRleHQKK3dlYmtpdF9oaXRfdGVz
dF9yZXN1bHRfY29udGV4dF9pc19saW5rCit3ZWJraXRfaGl0X3Rlc3RfcmVzdWx0X2NvbnRleHRf
aXNfaW1hZ2UKK3dlYmtpdF9oaXRfdGVzdF9yZXN1bHRfY29udGV4dF9pc19tZWRpYQord2Via2l0
X2hpdF90ZXN0X3Jlc3VsdF9jb250ZXh0X2lzX2VkaXRhYmxlCit3ZWJraXRfaGl0X3Rlc3RfcmVz
dWx0X2NvbnRleHRfaXNfc2VsZWN0aW9uCit3ZWJraXRfaGl0X3Rlc3RfcmVzdWx0X2NvbnRleHRf
aXNfc2Nyb2xsYmFyCit3ZWJraXRfaGl0X3Rlc3RfcmVzdWx0X2dldF9saW5rX3VyaQord2Via2l0
X2hpdF90ZXN0X3Jlc3VsdF9nZXRfbGlua190aXRsZQord2Via2l0X2hpdF90ZXN0X3Jlc3VsdF9n
ZXRfbGlua19sYWJlbAord2Via2l0X2hpdF90ZXN0X3Jlc3VsdF9nZXRfaW1hZ2VfdXJpCit3ZWJr
aXRfaGl0X3Rlc3RfcmVzdWx0X2dldF9tZWRpYV91cmkKKworPFNVQlNFQ1RJT04gU3RhbmRhcmQ+
CitXZWJLaXRIaXRUZXN0UmVzdWx0Q2xhc3MKK1dFQktJVF9UWVBFX0hJVF9URVNUX1JFU1VMVAor
V0VCS0lUX0hJVF9URVNUX1JFU1VMVAorV0VCS0lUX0lTX0hJVF9URVNUX1JFU1VMVAorV0VCS0lU
X0hJVF9URVNUX1JFU1VMVF9DTEFTUworV0VCS0lUX0lTX0hJVF9URVNUX1JFU1VMVF9DTEFTUwor
V0VCS0lUX0hJVF9URVNUX1JFU1VMVF9HRVRfQ0xBU1MKKworPFNVQlNFQ1RJT04gUHJpdmF0ZT4K
K1dlYktpdEhpdFRlc3RSZXN1bHRQcml2YXRlCit3ZWJraXRfaGl0X3Rlc3RfcmVzdWx0X2dldF90
eXBlCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+V2ViS2l0RWRpdG9yU3RhdGU8L0ZJ
TEU+CitXZWJLaXRFZGl0b3JTdGF0ZQorV2ViS2l0RWRpdG9yVHlwaW5nQXR0cmlidXRlcword2Vi
a2l0X2VkaXRvcl9zdGF0ZV9nZXRfdHlwaW5nX2F0dHJpYnV0ZXMKK3dlYmtpdF9lZGl0b3Jfc3Rh
dGVfaXNfY3V0X2F2YWlsYWJsZQord2Via2l0X2VkaXRvcl9zdGF0ZV9pc19jb3B5X2F2YWlsYWJs
ZQord2Via2l0X2VkaXRvcl9zdGF0ZV9pc19wYXN0ZV9hdmFpbGFibGUKK3dlYmtpdF9lZGl0b3Jf
c3RhdGVfaXNfdW5kb19hdmFpbGFibGUKK3dlYmtpdF9lZGl0b3Jfc3RhdGVfaXNfcmVkb19hdmFp
bGFibGUKKworPFNVQlNFQ1RJT04gU3RhbmRhcmQ+CitXZWJLaXRFZGl0b3JTdGF0ZUNsYXNzCitX
RUJLSVRfVFlQRV9FRElUT1JfU1RBVEUKK1dFQktJVF9FRElUT1JfU1RBVEUKK1dFQktJVF9JU19F
RElUT1JfU1RBVEUKK1dFQktJVF9FRElUT1JfU1RBVEVfQ0xBU1MKK1dFQktJVF9JU19FRElUT1Jf
U1RBVEVfQ0xBU1MKK1dFQktJVF9FRElUT1JfU1RBVEVfR0VUX0NMQVNTCisKKzxTVUJTRUNUSU9O
IFByaXZhdGU+CitXZWJLaXRFZGl0b3JTdGF0ZVByaXZhdGUKK3dlYmtpdF9lZGl0b3Jfc3RhdGVf
Z2V0X3R5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXRXZWJSZXNvdXJj
ZTwvRklMRT4KK1dlYktpdFdlYlJlc291cmNlCit3ZWJraXRfd2ViX3Jlc291cmNlX2dldF91cmkK
K3dlYmtpdF93ZWJfcmVzb3VyY2VfZ2V0X3Jlc3BvbnNlCit3ZWJraXRfd2ViX3Jlc291cmNlX2dl
dF9kYXRhCit3ZWJraXRfd2ViX3Jlc291cmNlX2dldF9kYXRhX2ZpbmlzaAorCis8U1VCU0VDVElP
TiBTdGFuZGFyZD4KK1dlYktpdFdlYlJlc291cmNlQ2xhc3MKK1dFQktJVF9UWVBFX1dFQl9SRVNP
VVJDRQorV0VCS0lUX1dFQl9SRVNPVVJDRQorV0VCS0lUX0lTX1dFQl9SRVNPVVJDRQorV0VCS0lU
X1dFQl9SRVNPVVJDRV9DTEFTUworV0VCS0lUX0lTX1dFQl9SRVNPVVJDRV9DTEFTUworV0VCS0lU
X1dFQl9SRVNPVVJDRV9HRVRfQ0xBU1MKKworPFNVQlNFQ1RJT04gUHJpdmF0ZT4KK1dlYktpdFdl
YlJlc291cmNlUHJpdmF0ZQord2Via2l0X3dlYl9yZXNvdXJjZV9nZXRfdHlwZQorPC9TRUNUSU9O
PgorCis8U0VDVElPTj4KKzxGSUxFPldlYktpdEVycm9yPC9GSUxFPgorV0VCS0lUX05FVFdPUktf
RVJST1IKK1dFQktJVF9QTFVHSU5fRVJST1IKK1dFQktJVF9QT0xJQ1lfRVJST1IKK1dFQktJVF9E
T1dOTE9BRF9FUlJPUgorV0VCS0lUX0pBVkFTQ1JJUFRfRVJST1IKK1dFQktJVF9TTkFQU0hPVF9F
UlJPUgorV2ViS2l0TmV0d29ya0Vycm9yCitXZWJLaXRQbHVnaW5FcnJvcgorV2ViS2l0UG9saWN5
RXJyb3IKK1dlYktpdERvd25sb2FkRXJyb3IKK1dlYktpdEphdmFzY3JpcHRFcnJvcgorV2ViS2l0
U25hcHNob3RFcnJvcgord2Via2l0X25ldHdvcmtfZXJyb3JfcXVhcmsKK3dlYmtpdF9wbHVnaW5f
ZXJyb3JfcXVhcmsKK3dlYmtpdF9wb2xpY3lfZXJyb3JfcXVhcmsKK3dlYmtpdF9kb3dubG9hZF9l
cnJvcl9xdWFyaword2Via2l0X2phdmFzY3JpcHRfZXJyb3JfcXVhcmsKK3dlYmtpdF9zbmFwc2hv
dF9lcnJvcl9xdWFyaworPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktpdEZhdmlj
b25EYXRhYmFzZTwvRklMRT4KK1dlYktpdEZhdmljb25EYXRhYmFzZQorV0VCS0lUX0ZBVklDT05f
REFUQUJBU0VfRVJST1IKK1dlYktpdEZhdmljb25EYXRhYmFzZUVycm9yCit3ZWJraXRfZmF2aWNv
bl9kYXRhYmFzZV9nZXRfZmF2aWNvbl91cmkKK3dlYmtpdF9mYXZpY29uX2RhdGFiYXNlX2NsZWFy
CisKKzxTVUJTRUNUSU9OIFN0YW5kYXJkPgorV2ViS2l0RmF2aWNvbkRhdGFiYXNlQ2xhc3MKK1dF
QktJVF9UWVBFX0ZBVklDT05fREFUQUJBU0UKK1dFQktJVF9GQVZJQ09OX0RBVEFCQVNFCitXRUJL
SVRfSVNfRkFWSUNPTl9EQVRBQkFTRQorV0VCS0lUX0ZBVklDT05fREFUQUJBU0VfQ0xBU1MKK1dF
QktJVF9JU19GQVZJQ09OX0RBVEFCQVNFX0NMQVNTCitXRUJLSVRfRkFWSUNPTl9EQVRBQkFTRV9H
RVRfQ0xBU1MKKworPFNVQlNFQ1RJT04gUHJpdmF0ZT4KK1dlYktpdEZhdmljb25EYXRhYmFzZVBy
aXZhdGUKK3dlYmtpdF9mYXZpY29uX2RhdGFiYXNlX2dldF90eXBlCit3ZWJraXRfZmF2aWNvbl9k
YXRhYmFzZV9lcnJvcl9xdWFyaworPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktp
dEZpbGVDaG9vc2VyUmVxdWVzdDwvRklMRT4KK1dlYktpdEZpbGVDaG9vc2VyUmVxdWVzdAord2Vi
a2l0X2ZpbGVfY2hvb3Nlcl9yZXF1ZXN0X2dldF9taW1lX3R5cGVzCit3ZWJraXRfZmlsZV9jaG9v
c2VyX3JlcXVlc3RfZ2V0X3NlbGVjdF9tdWx0aXBsZQord2Via2l0X2ZpbGVfY2hvb3Nlcl9yZXF1
ZXN0X3NlbGVjdF9maWxlcword2Via2l0X2ZpbGVfY2hvb3Nlcl9yZXF1ZXN0X2dldF9zZWxlY3Rl
ZF9maWxlcword2Via2l0X2ZpbGVfY2hvb3Nlcl9yZXF1ZXN0X2NhbmNlbAorCis8U1VCU0VDVElP
TiBTdGFuZGFyZD4KK1dlYktpdEZpbGVDaG9vc2VyUmVxdWVzdENsYXNzCitXRUJLSVRfVFlQRV9G
SUxFX0NIT09TRVJfUkVRVUVTVAorV0VCS0lUX0ZJTEVfQ0hPT1NFUl9SRVFVRVNUCitXRUJLSVRf
SVNfRklMRV9DSE9PU0VSX1JFUVVFU1QKK1dFQktJVF9GSUxFX0NIT09TRVJfUkVRVUVTVF9DTEFT
UworV0VCS0lUX0lTX0ZJTEVfQ0hPT1NFUl9SRVFVRVNUX0NMQVNTCitXRUJLSVRfRklMRV9DSE9P
U0VSX1JFUVVFU1RfR0VUX0NMQVNTCisKKzxTVUJTRUNUSU9OIFByaXZhdGU+CitXZWJLaXRGaWxl
Q2hvb3NlclJlcXVlc3RQcml2YXRlCit3ZWJraXRfZmlsZV9jaG9vc2VyX3JlcXVlc3RfZ2V0X3R5
cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXRGaW5kQ29udHJvbGxlcjwv
RklMRT4KK1dlYktpdEZpbmRDb250cm9sbGVyCitXZWJLaXRGaW5kT3B0aW9ucword2Via2l0X2Zp
bmRfY29udHJvbGxlcl9zZWFyY2gKK3dlYmtpdF9maW5kX2NvbnRyb2xsZXJfc2VhcmNoX2Zpbmlz
aAord2Via2l0X2ZpbmRfY29udHJvbGxlcl9zZWFyY2hfbmV4dAord2Via2l0X2ZpbmRfY29udHJv
bGxlcl9zZWFyY2hfcHJldmlvdXMKK3dlYmtpdF9maW5kX2NvbnRyb2xsZXJfZ2V0X3NlYXJjaF90
ZXh0Cit3ZWJraXRfZmluZF9jb250cm9sbGVyX2NvdW50X21hdGNoZXMKK3dlYmtpdF9maW5kX2Nv
bnRyb2xsZXJfZ2V0X29wdGlvbnMKK3dlYmtpdF9maW5kX2NvbnRyb2xsZXJfZ2V0X21heF9tYXRj
aF9jb3VudAord2Via2l0X2ZpbmRfY29udHJvbGxlcl9nZXRfd2ViX3ZpZXcKKworPFNVQlNFQ1RJ
T04gU3RhbmRhcmQ+CitXZWJLaXRGaW5kQ29udHJvbGxlckNsYXNzCitXRUJLSVRfVFlQRV9GSU5E
X0NPTlRST0xMRVIKK1dFQktJVF9GSU5EX0NPTlRST0xMRVIKK1dFQktJVF9JU19GSU5EX0NPTlRS
T0xMRVIKK1dFQktJVF9GSU5EX0NPTlRST0xMRVJfQ0xBU1MKK1dFQktJVF9JU19GSU5EX0NPTlRS
T0xMRVJfQ0xBU1MKK1dFQktJVF9GSU5EX0NPTlRST0xMRVJfR0VUX0NMQVNTCisKKzxTVUJTRUNU
SU9OIFByaXZhdGU+CitXZWJLaXRGaW5kQ29udHJvbGxlclByaXZhdGUKK3dlYmtpdF9maW5kX2Nv
bnRyb2xsZXJfZ2V0X3R5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXRD
b29raWVNYW5hZ2VyPC9GSUxFPgorV2ViS2l0Q29va2llTWFuYWdlcgorV2ViS2l0Q29va2llUGVy
c2lzdGVudFN0b3JhZ2UKK1dlYktpdENvb2tpZUFjY2VwdFBvbGljeQord2Via2l0X2Nvb2tpZV9t
YW5hZ2VyX3NldF9wZXJzaXN0ZW50X3N0b3JhZ2UKK3dlYmtpdF9jb29raWVfbWFuYWdlcl9zZXRf
YWNjZXB0X3BvbGljeQord2Via2l0X2Nvb2tpZV9tYW5hZ2VyX2dldF9hY2NlcHRfcG9saWN5Cit3
ZWJraXRfY29va2llX21hbmFnZXJfZ2V0X2FjY2VwdF9wb2xpY3lfZmluaXNoCit3ZWJraXRfY29v
a2llX21hbmFnZXJfYWRkX2Nvb2tpZQord2Via2l0X2Nvb2tpZV9tYW5hZ2VyX2FkZF9jb29raWVf
ZmluaXNoCit3ZWJraXRfY29va2llX21hbmFnZXJfZ2V0X2Nvb2tpZXMKK3dlYmtpdF9jb29raWVf
bWFuYWdlcl9nZXRfY29va2llc19maW5pc2gKK3dlYmtpdF9jb29raWVfbWFuYWdlcl9kZWxldGVf
Y29va2llCit3ZWJraXRfY29va2llX21hbmFnZXJfZGVsZXRlX2Nvb2tpZV9maW5pc2gKKworPFNV
QlNFQ1RJT04gU3RhbmRhcmQ+CitXZWJLaXRDb29raWVNYW5hZ2VyQ2xhc3MKK1dFQktJVF9UWVBF
X0NPT0tJRV9NQU5BR0VSCitXRUJLSVRfQ09PS0lFX01BTkFHRVIKK1dFQktJVF9JU19DT09LSUVf
TUFOQUdFUgorV0VCS0lUX0NPT0tJRV9NQU5BR0VSX0NMQVNTCitXRUJLSVRfSVNfQ09PS0lFX01B
TkFHRVJfQ0xBU1MKK1dFQktJVF9DT09LSUVfTUFOQUdFUl9HRVRfQ0xBU1MKKworPFNVQlNFQ1RJ
T04gUHJpdmF0ZT4KK1dlYktpdENvb2tpZU1hbmFnZXJQcml2YXRlCit3ZWJraXRfY29va2llX21h
bmFnZXJfZ2V0X3R5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXRQbHVn
aW48L0ZJTEU+CitXZWJLaXRQbHVnaW4KK3dlYmtpdF9wbHVnaW5fZ2V0X25hbWUKK3dlYmtpdF9w
bHVnaW5fZ2V0X2Rlc2NyaXB0aW9uCit3ZWJraXRfcGx1Z2luX2dldF9wYXRoCit3ZWJraXRfcGx1
Z2luX2dldF9taW1lX2luZm9fbGlzdAorCis8U1VCU0VDVElPTiBXZWJLaXRNaW1lSW5mbz4KK1dl
YktpdE1pbWVJbmZvCit3ZWJraXRfbWltZV9pbmZvX3JlZgord2Via2l0X21pbWVfaW5mb191bnJl
Zgord2Via2l0X21pbWVfaW5mb19nZXRfbWltZV90eXBlCit3ZWJraXRfbWltZV9pbmZvX2dldF9k
ZXNjcmlwdGlvbgord2Via2l0X21pbWVfaW5mb19nZXRfZXh0ZW5zaW9ucworCis8U1VCU0VDVElP
TiBTdGFuZGFyZD4KK1dlYktpdFBsdWdpbkNsYXNzCitXRUJLSVRfVFlQRV9QTFVHSU4KK1dFQktJ
VF9QTFVHSU4KK1dFQktJVF9JU19QTFVHSU4KK1dFQktJVF9QTFVHSU5fQ0xBU1MKK1dFQktJVF9J
U19QTFVHSU5fQ0xBU1MKK1dFQktJVF9QTFVHSU5fR0VUX0NMQVNTCitXRUJLSVRfVFlQRV9NSU1F
X0lORk8KKworPFNVQlNFQ1RJT04gUHJpdmF0ZT4KK3dlYmtpdF9wbHVnaW5fZ2V0X3R5cGUKK3dl
YmtpdF9taW1lX2luZm9fZ2V0X3R5cGUKK1dlYktpdFBsdWdpblByaXZhdGUKKzwvU0VDVElPTj4K
KworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXRVUklTY2hlbWVSZXF1ZXN0PC9GSUxFPgorV2ViS2l0
VVJJU2NoZW1lUmVxdWVzdAord2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9nZXRfc2NoZW1lCit3
ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2dldF91cmkKK3dlYmtpdF91cmlfc2NoZW1lX3JlcXVl
c3RfZ2V0X3BhdGgKK3dlYmtpdF91cmlfc2NoZW1lX3JlcXVlc3RfZ2V0X3dlYl92aWV3Cit3ZWJr
aXRfdXJpX3NjaGVtZV9yZXF1ZXN0X2ZpbmlzaAord2Via2l0X3VyaV9zY2hlbWVfcmVxdWVzdF9m
aW5pc2hfZXJyb3IKKworPFNVQlNFQ1RJT04gU3RhbmRhcmQ+CitXZWJLaXRVUklTY2hlbWVSZXF1
ZXN0Q2xhc3MKK1dFQktJVF9UWVBFX1VSSV9TQ0hFTUVfUkVRVUVTVAorV0VCS0lUX1VSSV9TQ0hF
TUVfUkVRVUVTVAorV0VCS0lUX0lTX1VSSV9TQ0hFTUVfUkVRVUVTVAorV0VCS0lUX1VSSV9TQ0hF
TUVfUkVRVUVTVF9DTEFTUworV0VCS0lUX0lTX1VSSV9TQ0hFTUVfUkVRVUVTVF9DTEFTUworV0VC
S0lUX1VSSV9TQ0hFTUVfUkVRVUVTVF9HRVRfQ0xBU1MKKworPFNVQlNFQ1RJT04gUHJpdmF0ZT4K
K1dlYktpdFVSSVNjaGVtZVJlcXVlc3RQcml2YXRlCit3ZWJraXRfdXJpX3NjaGVtZV9yZXF1ZXN0
X2dldF90eXBlCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+V2ViS2l0VmVyc2lvbjwv
RklMRT4KK3dlYmtpdF9nZXRfbWFqb3JfdmVyc2lvbgord2Via2l0X2dldF9taW5vcl92ZXJzaW9u
Cit3ZWJraXRfZ2V0X21pY3JvX3ZlcnNpb24KKworPFNVQlNFQ1RJT04+CitXRUJLSVRfTUFKT1Jf
VkVSU0lPTgorV0VCS0lUX01JTk9SX1ZFUlNJT04KK1dFQktJVF9NSUNST19WRVJTSU9OCitXRUJL
SVRfQ0hFQ0tfVkVSU0lPTgorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktpdENv
bnRleHRNZW51PC9GSUxFPgorV2ViS2l0Q29udGV4dE1lbnUKK3dlYmtpdF9jb250ZXh0X21lbnVf
bmV3Cit3ZWJraXRfY29udGV4dF9tZW51X25ld193aXRoX2l0ZW1zCit3ZWJraXRfY29udGV4dF9t
ZW51X3ByZXBlbmQKK3dlYmtpdF9jb250ZXh0X21lbnVfYXBwZW5kCit3ZWJraXRfY29udGV4dF9t
ZW51X2luc2VydAord2Via2l0X2NvbnRleHRfbWVudV9tb3ZlX2l0ZW0KK3dlYmtpdF9jb250ZXh0
X21lbnVfZ2V0X2l0ZW1zCit3ZWJraXRfY29udGV4dF9tZW51X2dldF9uX2l0ZW1zCit3ZWJraXRf
Y29udGV4dF9tZW51X2ZpcnN0Cit3ZWJraXRfY29udGV4dF9tZW51X2xhc3QKK3dlYmtpdF9jb250
ZXh0X21lbnVfZ2V0X2l0ZW1fYXRfcG9zaXRpb24KK3dlYmtpdF9jb250ZXh0X21lbnVfcmVtb3Zl
Cit3ZWJraXRfY29udGV4dF9tZW51X3JlbW92ZV9hbGwKK3dlYmtpdF9jb250ZXh0X21lbnVfc2V0
X3VzZXJfZGF0YQord2Via2l0X2NvbnRleHRfbWVudV9nZXRfdXNlcl9kYXRhCisKKzxTVUJTRUNU
SU9OIFN0YW5kYXJkPgorV2ViS2l0Q29udGV4dE1lbnVDbGFzcworV0VCS0lUX1RZUEVfQ09OVEVY
VF9NRU5VCitXRUJLSVRfQ09OVEVYVF9NRU5VCitXRUJLSVRfSVNfQ09OVEVYVF9NRU5VCitXRUJL
SVRfQ09OVEVYVF9NRU5VX0NMQVNTCitXRUJLSVRfSVNfQ09OVEVYVF9NRU5VX0NMQVNTCitXRUJL
SVRfQ09OVEVYVF9NRU5VX0dFVF9DTEFTUworCis8U1VCU0VDVElPTiBQcml2YXRlPgorV2ViS2l0
Q29udGV4dE1lbnVQcml2YXRlCit3ZWJraXRfY29udGV4dF9tZW51X2dldF90eXBlCis8L1NFQ1RJ
T04+CisKKzxTRUNUSU9OPgorPEZJTEU+V2ViS2l0Q29udGV4dE1lbnVJdGVtPC9GSUxFPgorV2Vi
S2l0Q29udGV4dE1lbnVJdGVtCitXZWJLaXRDb250ZXh0TWVudUFjdGlvbgord2Via2l0X2NvbnRl
eHRfbWVudV9pdGVtX25ld19mcm9tX2dhY3Rpb24KK3dlYmtpdF9jb250ZXh0X21lbnVfaXRlbV9u
ZXdfZnJvbV9zdG9ja19hY3Rpb24KK3dlYmtpdF9jb250ZXh0X21lbnVfaXRlbV9uZXdfZnJvbV9z
dG9ja19hY3Rpb25fd2l0aF9sYWJlbAord2Via2l0X2NvbnRleHRfbWVudV9pdGVtX25ld193aXRo
X3N1Ym1lbnUKK3dlYmtpdF9jb250ZXh0X21lbnVfaXRlbV9uZXdfc2VwYXJhdG9yCit3ZWJraXRf
Y29udGV4dF9tZW51X2l0ZW1fZ2V0X2dhY3Rpb24KK3dlYmtpdF9jb250ZXh0X21lbnVfaXRlbV9n
ZXRfc3RvY2tfYWN0aW9uCit3ZWJraXRfY29udGV4dF9tZW51X2l0ZW1faXNfc2VwYXJhdG9yCit3
ZWJraXRfY29udGV4dF9tZW51X2l0ZW1fc2V0X3N1Ym1lbnUKK3dlYmtpdF9jb250ZXh0X21lbnVf
aXRlbV9nZXRfc3VibWVudQorCis8U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dlYktpdENvbnRleHRN
ZW51SXRlbUNsYXNzCitXRUJLSVRfVFlQRV9DT05URVhUX01FTlVfSVRFTQorV0VCS0lUX0NPTlRF
WFRfTUVOVV9JVEVNCitXRUJLSVRfSVNfQ09OVEVYVF9NRU5VX0lURU0KK1dFQktJVF9DT05URVhU
X01FTlVfSVRFTV9DTEFTUworV0VCS0lUX0lTX0NPTlRFWFRfTUVOVV9JVEVNX0NMQVNTCitXRUJL
SVRfQ09OVEVYVF9NRU5VX0lURU1fR0VUX0NMQVNTCisKKzxTVUJTRUNUSU9OIFByaXZhdGU+CitX
ZWJLaXRDb250ZXh0TWVudUl0ZW1Qcml2YXRlCit3ZWJraXRfY29udGV4dF9tZW51X2l0ZW1fZ2V0
X3R5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXRGb3JtU3VibWlzc2lv
blJlcXVlc3Q8L0ZJTEU+CitXZWJLaXRGb3JtU3VibWlzc2lvblJlcXVlc3QKK3dlYmtpdF9mb3Jt
X3N1Ym1pc3Npb25fcmVxdWVzdF9saXN0X3RleHRfZmllbGRzCit3ZWJraXRfZm9ybV9zdWJtaXNz
aW9uX3JlcXVlc3Rfc3VibWl0CisKKzxTVUJTRUNUSU9OIFN0YW5kYXJkPgorV2ViS2l0Rm9ybVN1
Ym1pc3Npb25SZXF1ZXN0Q2xhc3MKK1dFQktJVF9UWVBFX0ZPUk1fU1VCTUlTU0lPTl9SRVFVRVNU
CitXRUJLSVRfRk9STV9TVUJNSVNTSU9OX1JFUVVFU1QKK1dFQktJVF9JU19GT1JNX1NVQk1JU1NJ
T05fUkVRVUVTVAorV0VCS0lUX0ZPUk1fU1VCTUlTU0lPTl9SRVFVRVNUX0NMQVNTCitXRUJLSVRf
SVNfRk9STV9TVUJNSVNTSU9OX1JFUVVFU1RfQ0xBU1MKK1dFQktJVF9GT1JNX1NVQk1JU1NJT05f
UkVRVUVTVF9HRVRfQ0xBU1MKKworPFNVQlNFQ1RJT04gUHJpdmF0ZT4KK1dlYktpdEZvcm1TdWJt
aXNzaW9uUmVxdWVzdFByaXZhdGUKK3dlYmtpdF9mb3JtX3N1Ym1pc3Npb25fcmVxdWVzdF9nZXRf
dHlwZQorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktpdFNlY3VyaXR5TWFuYWdl
cjwvRklMRT4KK1dlYktpdFNlY3VyaXR5TWFuYWdlcgord2Via2l0X3NlY3VyaXR5X21hbmFnZXJf
cmVnaXN0ZXJfdXJpX3NjaGVtZV9hc19sb2NhbAord2Via2l0X3NlY3VyaXR5X21hbmFnZXJfdXJp
X3NjaGVtZV9pc19sb2NhbAord2Via2l0X3NlY3VyaXR5X21hbmFnZXJfcmVnaXN0ZXJfdXJpX3Nj
aGVtZV9hc19ub19hY2Nlc3MKK3dlYmtpdF9zZWN1cml0eV9tYW5hZ2VyX3VyaV9zY2hlbWVfaXNf
bm9fYWNjZXNzCit3ZWJraXRfc2VjdXJpdHlfbWFuYWdlcl9yZWdpc3Rlcl91cmlfc2NoZW1lX2Fz
X2Rpc3BsYXlfaXNvbGF0ZWQKK3dlYmtpdF9zZWN1cml0eV9tYW5hZ2VyX3VyaV9zY2hlbWVfaXNf
ZGlzcGxheV9pc29sYXRlZAord2Via2l0X3NlY3VyaXR5X21hbmFnZXJfcmVnaXN0ZXJfdXJpX3Nj
aGVtZV9hc19zZWN1cmUKK3dlYmtpdF9zZWN1cml0eV9tYW5hZ2VyX3VyaV9zY2hlbWVfaXNfc2Vj
dXJlCit3ZWJraXRfc2VjdXJpdHlfbWFuYWdlcl9yZWdpc3Rlcl91cmlfc2NoZW1lX2FzX2NvcnNf
ZW5hYmxlZAord2Via2l0X3NlY3VyaXR5X21hbmFnZXJfdXJpX3NjaGVtZV9pc19jb3JzX2VuYWJs
ZWQKK3dlYmtpdF9zZWN1cml0eV9tYW5hZ2VyX3JlZ2lzdGVyX3VyaV9zY2hlbWVfYXNfZW1wdHlf
ZG9jdW1lbnQKK3dlYmtpdF9zZWN1cml0eV9tYW5hZ2VyX3VyaV9zY2hlbWVfaXNfZW1wdHlfZG9j
dW1lbnQKKworPFNVQlNFQ1RJT04gU3RhbmRhcmQ+CitXZWJLaXRTZWN1cml0eU1hbmFnZXJDbGFz
cworV0VCS0lUX1RZUEVfU0VDVVJJVFlfTUFOQUdFUgorV0VCS0lUX1NFQ1VSSVRZX01BTkFHRVIK
K1dFQktJVF9JU19TRUNVUklUWV9NQU5BR0VSCitXRUJLSVRfU0VDVVJJVFlfTUFOQUdFUl9DTEFT
UworV0VCS0lUX0lTX1NFQ1VSSVRZX01BTkFHRVJfQ0xBU1MKK1dFQktJVF9TRUNVUklUWV9NQU5B
R0VSX0dFVF9DTEFTUworCis8U1VCU0VDVElPTiBQcml2YXRlPgorV2ViS2l0U2VjdXJpdHlNYW5h
Z2VyUHJpdmF0ZQord2Via2l0X3NlY3VyaXR5X21hbmFnZXJfZ2V0X3R5cGUKKzwvU0VDVElPTj4K
KworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXRTZWN1cml0eU9yaWdpbjwvRklMRT4KK1dlYktpdFNl
Y3VyaXR5T3JpZ2luCit3ZWJraXRfc2VjdXJpdHlfb3JpZ2luX25ldword2Via2l0X3NlY3VyaXR5
X29yaWdpbl9uZXdfZm9yX3VyaQord2Via2l0X3NlY3VyaXR5X29yaWdpbl9yZWYKK3dlYmtpdF9z
ZWN1cml0eV9vcmlnaW5fdW5yZWYKK3dlYmtpdF9zZWN1cml0eV9vcmlnaW5fZ2V0X3Byb3RvY29s
Cit3ZWJraXRfc2VjdXJpdHlfb3JpZ2luX2dldF9ob3N0Cit3ZWJraXRfc2VjdXJpdHlfb3JpZ2lu
X2dldF9wb3J0Cit3ZWJraXRfc2VjdXJpdHlfb3JpZ2luX2lzX29wYXF1ZQord2Via2l0X3NlY3Vy
aXR5X29yaWdpbl90b19zdHJpbmcKKworPFNVQlNFQ1RJT04gU3RhbmRhcmQ+CitXRUJLSVRfVFlQ
RV9TRUNVUklUWV9PUklHSU4KKworPFNVQlNFQ1RJT04gUHJpdmF0ZT4KK3dlYmtpdF9zZWN1cml0
eV9vcmlnaW5fZ2V0X3R5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXRX
ZWJzaXRlRGF0YU1hbmFnZXI8L0ZJTEU+CitXZWJLaXRXZWJzaXRlRGF0YU1hbmFnZXIKK3dlYmtp
dF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9uZXcKK3dlYmtpdF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9u
ZXdfZXBoZW1lcmFsCit3ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJfaXNfZXBoZW1lcmFsCit3
ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJfZ2V0X2Jhc2VfZGF0YV9kaXJlY3RvcnkKK3dlYmtp
dF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9nZXRfYmFzZV9jYWNoZV9kaXJlY3RvcnkKK3dlYmtpdF93
ZWJzaXRlX2RhdGFfbWFuYWdlcl9nZXRfbG9jYWxfc3RvcmFnZV9kaXJlY3RvcnkKK3dlYmtpdF93
ZWJzaXRlX2RhdGFfbWFuYWdlcl9nZXRfZGlza19jYWNoZV9kaXJlY3RvcnkKK3dlYmtpdF93ZWJz
aXRlX2RhdGFfbWFuYWdlcl9nZXRfb2ZmbGluZV9hcHBsaWNhdGlvbl9jYWNoZV9kaXJlY3RvcnkK
K3dlYmtpdF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9nZXRfaW5kZXhlZGRiX2RpcmVjdG9yeQord2Vi
a2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX2dldF93ZWJzcWxfZGlyZWN0b3J5Cit3ZWJraXRfd2Vi
c2l0ZV9kYXRhX21hbmFnZXJfZ2V0X2Nvb2tpZV9tYW5hZ2VyCit3ZWJraXRfd2Vic2l0ZV9kYXRh
X21hbmFnZXJfZmV0Y2gKK3dlYmtpdF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9mZXRjaF9maW5pc2gK
K3dlYmtpdF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9yZW1vdmUKK3dlYmtpdF93ZWJzaXRlX2RhdGFf
bWFuYWdlcl9yZW1vdmVfZmluaXNoCit3ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJfY2xlYXIK
K3dlYmtpdF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9jbGVhcl9maW5pc2gKKworPFNVQlNFQ1RJT04g
U3RhbmRhcmQ+CitXZWJLaXRXZWJzaXRlRGF0YU1hbmFnZXJDbGFzcworV0VCS0lUX1RZUEVfV0VC
U0lURV9EQVRBX01BTkFHRVIKK1dFQktJVF9XRUJTSVRFX0RBVEFfTUFOQUdFUgorV0VCS0lUX0lT
X1dFQlNJVEVfREFUQV9NQU5BR0VSCitXRUJLSVRfV0VCU0lURV9EQVRBX01BTkFHRVJfQ0xBU1MK
K1dFQktJVF9JU19XRUJTSVRFX0RBVEFfTUFOQUdFUl9DTEFTUworV0VCS0lUX1dFQlNJVEVfREFU
QV9NQU5BR0VSX0dFVF9DTEFTUworCis8U1VCU0VDVElPTiBQcml2YXRlPgorV2ViS2l0V2Vic2l0
ZURhdGFNYW5hZ2VyUHJpdmF0ZQord2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX2dldF90eXBl
Cis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+V2ViS2l0V2Vic2l0ZURhdGE8L0ZJTEU+
CitXZWJLaXRXZWJzaXRlRGF0YQorV2ViS2l0V2Vic2l0ZURhdGFUeXBlcword2Via2l0X3dlYnNp
dGVfZGF0YV9yZWYKK3dlYmtpdF93ZWJzaXRlX2RhdGFfdW5yZWYKK3dlYmtpdF93ZWJzaXRlX2Rh
dGFfZ2V0X25hbWUKK3dlYmtpdF93ZWJzaXRlX2RhdGFfZ2V0X3R5cGVzCit3ZWJraXRfd2Vic2l0
ZV9kYXRhX2dldF9zaXplCisKKzxTVUJTRUNUSU9OIFN0YW5kYXJkPgorV0VCS0lUX1RZUEVfV0VC
U0lURV9EQVRBCisKKzxTVUJTRUNUSU9OIFByaXZhdGU+Cit3ZWJraXRfd2Vic2l0ZV9kYXRhX2dl
dF90eXBlCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+V2ViS2l0TmV0d29ya1Byb3h5
U2V0dGluZ3M8L0ZJTEU+CitXZWJLaXROZXR3b3JrUHJveHlTZXR0aW5ncword2Via2l0X25ldHdv
cmtfcHJveHlfc2V0dGluZ3NfbmV3Cit3ZWJraXRfbmV0d29ya19wcm94eV9zZXR0aW5nc19jb3B5
Cit3ZWJraXRfbmV0d29ya19wcm94eV9zZXR0aW5nc19mcmVlCit3ZWJraXRfbmV0d29ya19wcm94
eV9zZXR0aW5nc19hZGRfcHJveHlfZm9yX3NjaGVtZQorCis8U1VCU0VDVElPTiBQcml2YXRlPgor
d2Via2l0X25ldHdvcmtfcHJveHlfc2V0dGluZ3NfZ2V0X3R5cGUKKworPFNVQlNFQ1RJT04gU3Rh
bmRhcmQ+CitXRUJLSVRfVFlQRV9ORVRXT1JLX05FVFdPUktfUFJPWFlfU0VUVElOR1MKKzwvU0VD
VElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXRBdXRvbWF0aW9uU2Vzc2lvbjwvRklMRT4K
K1dlYktpdEF1dG9tYXRpb25TZXNzaW9uCit3ZWJraXRfYXV0b21hdGlvbl9zZXNzaW9uX2dldF9p
ZAord2Via2l0X2F1dG9tYXRpb25fc2Vzc2lvbl9zZXRfYXBwbGljYXRpb25faW5mbword2Via2l0
X2F1dG9tYXRpb25fc2Vzc2lvbl9nZXRfYXBwbGljYXRpb25faW5mbworCis8U1VCU0VDVElPTiBQ
cml2YXRlPgorV2ViS2l0QXV0b21hdGlvblNlc3Npb25Qcml2YXRlCit3ZWJraXRfYXV0b21hdGlv
bl9zZXNzaW9uX2dldF90eXBlCisKKzxTVUJTRUNUSU9OIFN0YW5kYXJkPgorV2ViS2l0QXV0b21h
dGlvblNlc3Npb25DbGFzcworV0VCS0lUX1RZUEVfQVVUT01BVElPTl9TRVNTSU9OCitXRUJLSVRf
QVVUT01BVElPTl9TRVNTSU9OCitXRUJLSVRfSVNfQVVUT01BVElPTl9TRVNTSU9OCitXRUJLSVRf
QVVUT01BVElPTl9TRVNTSU9OX0NMQVNTCitXRUJLSVRfSVNfQVVUT01BVElPTl9TRVNTSU9OX0NM
QVNTCitXRUJLSVRfQVVUT01BVElPTl9TRVNTSU9OX0dFVF9DTEFTUworPC9TRUNUSU9OPgorCis8
U0VDVElPTj4KKzxGSUxFPldlYktpdEFwcGxpY2F0aW9uSW5mbzwvRklMRT4KK1dlYktpdEFwcGxp
Y2F0aW9uSW5mbword2Via2l0X2FwcGxpY2F0aW9uX2luZm9fbmV3Cit3ZWJraXRfYXBwbGljYXRp
b25faW5mb19yZWYKK3dlYmtpdF9hcHBsaWNhdGlvbl9pbmZvX3VucmVmCit3ZWJraXRfYXBwbGlj
YXRpb25faW5mb19zZXRfbmFtZQord2Via2l0X2FwcGxpY2F0aW9uX2luZm9fZ2V0X25hbWUKK3dl
YmtpdF9hcHBsaWNhdGlvbl9pbmZvX3NldF92ZXJzaW9uCit3ZWJraXRfYXBwbGljYXRpb25faW5m
b19nZXRfdmVyc2lvbgorCis8U1VCU0VDVElPTiBQcml2YXRlPgord2Via2l0X2FwcGxpY2F0aW9u
X2luZm9fZ2V0X3R5cGUKKworPFNVQlNFQ1RJT04gU3RhbmRhcmQ+CitXRUJLSVRfVFlQRV9BUFBM
SUNBVElPTl9JTkZPCis8L1NFQ1RJT04+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvd3BlL2RvY3Mvd3BlLWRvY3Muc2dtbCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS93cGUvZG9jcy93cGUtZG9jcy5zZ21sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQxNTI1NjZmNjFhMjRiNDhh
YjJmNDdlMTdlMzk0MjU4MTVhYjcyMjYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvd3BlL2RvY3Mvd3BlLWRvY3Muc2dtbApAQCAtMCwwICsxLDc5IEBACis8
P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSBib29rIFBVQkxJQyAiLS8vT0FTSVMvL0RU
RCBEb2NCb29rIFhNTCBWNC4xLjIvL0VOIgorICAgICAgICAgICAgICAgImh0dHA6Ly93d3cub2Fz
aXMtb3Blbi5vcmcvZG9jYm9vay94bWwvNC4xLjIvZG9jYm9va3guZHRkIiBbCis8IUVOVElUWSB2
ZXJzaW9uIFNZU1RFTSAidmVyc2lvbi54bWwiPgorXT4KKzxib29rIGlkPSJpbmRleCIgeG1sbnM6
eGk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDMvWEluY2x1ZGUiPgorICA8Ym9va2luZm8+CisgICAg
PHRpdGxlPldQRSBSZWZlcmVuY2UgTWFudWFsPC90aXRsZT4KKyAgICA8cmVsZWFzZWluZm8+Zm9y
IFdQRSBXZWJLaXQgJnZlcnNpb247PC9yZWxlYXNlaW5mbz4KKyAgPC9ib29raW5mbz4KKworICA8
Y2hhcHRlcj4KKyAgICA8dGl0bGU+Q2xhc3MgT3ZlcnZpZXc8L3RpdGxlPgorICAgIDx4aTppbmNs
dWRlIGhyZWY9InhtbC9XZWJLaXRXZWJDb250ZXh0LnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhy
ZWY9InhtbC9XZWJLaXRXZWJWaWV3LnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9X
ZWJLaXRXZWJWaWV3QmFja2VuZC54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2Vi
S2l0QXV0aGVudGljYXRpb25SZXF1ZXN0LnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9Inht
bC9XZWJLaXRCYWNrRm9yd2FyZExpc3QueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1s
L1dlYktpdEJhY2tGb3J3YXJkTGlzdEl0ZW0ueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0i
eG1sL1dlYktpdFNldHRpbmdzLnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJL
aXRVUklSZXF1ZXN0LnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJLaXRVUklS
ZXNwb25zZS54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0V2luZG93UHJv
cGVydGllcy54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0RG93bmxvYWQu
eG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdFBlcm1pc3Npb25SZXF1ZXN0
LnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJLaXRHZW9sb2NhdGlvblBlcm1p
c3Npb25SZXF1ZXN0LnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJLaXRJbnN0
YWxsTWlzc2luZ01lZGlhUGx1Z2luc1Blcm1pc3Npb25SZXF1ZXN0LnhtbCIvPgorICAgIDx4aTpp
bmNsdWRlIGhyZWY9InhtbC9XZWJLaXROYXZpZ2F0aW9uQWN0aW9uLnhtbCIvPgorICAgIDx4aTpp
bmNsdWRlIGhyZWY9InhtbC9XZWJLaXRVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdC54bWwiLz4K
KyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0UG9saWN5RGVjaXNpb24ueG1sIi8+Cisg
ICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdE5hdmlnYXRpb25Qb2xpY3lEZWNpc2lvbi54
bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0UmVzcG9uc2VQb2xpY3lEZWNp
c2lvbi54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0SGl0VGVzdFJlc3Vs
dC54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0RWRpdG9yU3RhdGUueG1s
Ii8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdFdlYlJlc291cmNlLnhtbCIvPgor
ICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJLaXRFcnJvci54bWwiLz4KKyAgICA8eGk6aW5j
bHVkZSBocmVmPSJ4bWwvV2ViS2l0RmF2aWNvbkRhdGFiYXNlLnhtbCIvPgorICAgIDx4aTppbmNs
dWRlIGhyZWY9InhtbC9XZWJLaXRGaWxlQ2hvb3NlclJlcXVlc3QueG1sIi8+CisgICAgPHhpOmlu
Y2x1ZGUgaHJlZj0ieG1sL1dlYktpdEZpbmRDb250cm9sbGVyLnhtbCIvPgorICAgIDx4aTppbmNs
dWRlIGhyZWY9InhtbC9XZWJLaXRDb29raWVNYW5hZ2VyLnhtbCIvPgorICAgIDx4aTppbmNsdWRl
IGhyZWY9InhtbC9XZWJLaXRQbHVnaW4ueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1s
L1dlYktpdFVSSVNjaGVtZVJlcXVlc3QueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1s
L1dlYktpdENvbnRleHRNZW51LnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJL
aXRDb250ZXh0TWVudUl0ZW0ueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktp
dEZvcm1TdWJtaXNzaW9uUmVxdWVzdC54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwv
V2ViS2l0U2VjdXJpdHlNYW5hZ2VyLnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9X
ZWJLaXRVc2VyQ29udGVudE1hbmFnZXIueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1s
L1dlYktpdFVzZXJDb250ZW50LnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJL
aXROb3RpZmljYXRpb24ueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdE5v
dGlmaWNhdGlvblBlcm1pc3Npb25SZXF1ZXN0LnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9
InhtbC9XZWJLaXRTZWN1cml0eU9yaWdpbi54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4
bWwvV2ViS2l0V2Vic2l0ZURhdGFNYW5hZ2VyLnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9
InhtbC9XZWJLaXRXZWJzaXRlRGF0YS54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwv
V2ViS2l0TmV0d29ya1Byb3h5U2V0dGluZ3MueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0i
eG1sL1dlYktpdEF1dG9tYXRpb25TZXNzaW9uLnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9
InhtbC9XZWJLaXRBcHBsaWNhdGlvbkluZm8ueG1sIi8+CisgIDwvY2hhcHRlcj4KKworICA8aW5k
ZXggaWQ9ImluZGV4LWFsbCI+CisgICAgPHRpdGxlPkluZGV4PC90aXRsZT4KKyAgPC9pbmRleD4K
KworICA8aW5kZXggaWQ9ImFwaS1pbmRleC1kZXByZWNhdGVkIiByb2xlPSJkZXByZWNhdGVkIj4K
KyAgICA8dGl0bGU+SW5kZXggb2YgZGVwcmVjYXRlZCBzeW1ib2xzPC90aXRsZT4KKyAgICA8eGk6
aW5jbHVkZSBocmVmPSJ4bWwvYXBpLWluZGV4LWRlcHJlY2F0ZWQueG1sIj48eGk6ZmFsbGJhY2sg
Lz48L3hpOmluY2x1ZGU+CisgIDwvaW5kZXg+CisKKyAgPGluZGV4IGlkPSJhcGktaW5kZXgtMi0y
MCIgcm9sZT0iMi4yMCI+CisgICAgPHRpdGxlPkluZGV4IG9mIG5ldyBzeW1ib2xzIGluIDIuMjA8
L3RpdGxlPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9hcGktaW5kZXgtMi4yMC54bWwiPjx4
aTpmYWxsYmFjayAvPjwveGk6aW5jbHVkZT4KKyAgPC9pbmRleD4KKworICA8aW5kZXggaWQ9ImFw
aS1pbmRleC0yLTIyIiByb2xlPSIyLjIyIj4KKyAgICA8dGl0bGU+SW5kZXggb2YgbmV3IHN5bWJv
bHMgaW4gMi4yMjwvdGl0bGU+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL2FwaS1pbmRleC0y
LjIyLnhtbCI+PHhpOmZhbGxiYWNrIC8+PC94aTppbmNsdWRlPgorICA8L2luZGV4PgorCisgIDx4
aTppbmNsdWRlIGhyZWY9InhtbC9hbm5vdGF0aW9uLWdsb3NzYXJ5LnhtbCI+PHhpOmZhbGxiYWNr
IC8+PC94aTppbmNsdWRlPgorPC9ib29rPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS93cGUvV2ViS2l0V2ViUGFnZS5oIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS93cGUvV2ViS2l0V2ViUGFnZS5oCmlu
ZGV4IDMwZTBmOTMzNThjMWJkZDlmMTFjODQxZDZlY2ZjMGZkMTc0MmM3ZDAuLjk1NWYwODdlNGY3
M2YxZmRmN2UzYjQ3OTcwYzZjMWExZWU4NTlhMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvd3BlL1dlYktpdFdlYlBhZ2UuaAorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL3dwZS9XZWJLaXRXZWJQ
YWdlLmgKQEAgLTc0LDYgKzc0LDkgQEAgc3RydWN0IF9XZWJLaXRXZWJQYWdlQ2xhc3MgewogV0VC
S0lUX0FQSSBHVHlwZQogd2Via2l0X3dlYl9wYWdlX2dldF90eXBlICAgICAgICAgKHZvaWQpOwog
CitXRUJLSVRfQVBJIFdlYktpdERPTURvY3VtZW50ICoKK3dlYmtpdF93ZWJfcGFnZV9nZXRfZG9t
X2RvY3VtZW50IChXZWJLaXRXZWJQYWdlICp3ZWJfcGFnZSk7CisKIFdFQktJVF9BUEkgZ3VpbnQ2
NAogd2Via2l0X3dlYl9wYWdlX2dldF9pZCAgICAgICAgICAgKFdlYktpdFdlYlBhZ2UgKndlYl9w
YWdlKTsKIApAQCAtODYsOSArODksNiBAQCB3ZWJraXRfd2ViX3BhZ2VfZ2V0X21haW5fZnJhbWUg
ICAoV2ViS2l0V2ViUGFnZSAqd2ViX3BhZ2UpOwogV0VCS0lUX0FQSSBXZWJLaXRXZWJFZGl0b3Ig
Kgogd2Via2l0X3dlYl9wYWdlX2dldF9lZGl0b3IgICAgICAgKFdlYktpdFdlYlBhZ2UgKndlYl9w
YWdlKTsKIAotV0VCS0lUX0FQSSBXZWJLaXRET01Eb2N1bWVudCAqCi13ZWJraXRfd2ViX3BhZ2Vf
Z2V0X2RvbV9kb2N1bWVudCAoV2ViS2l0V2ViUGFnZSAqd2ViX3BhZ2UpOwotCiBHX0VORF9ERUNM
UwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9BUEkvd3BlL2RvY3Mvd3BlLXdlYmV4dGVuc2lvbnMtMC4xLXNlY3Rpb25zLnR4dCBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvd3BlL2RvY3Mvd3Bl
LXdlYmV4dGVuc2lvbnMtMC4xLXNlY3Rpb25zLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMWQ2ODQ0ZGRjZmVj
NjY5MGQ4ZDE0MTJiNmFhYTYxYzFmMDUwYTI0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS93cGUvZG9jcy93cGUtd2ViZXh0ZW5z
aW9ucy0wLjEtc2VjdGlvbnMudHh0CkBAIC0wLDAgKzEsMjQ1IEBACis8U0VDVElPTj4KKzxGSUxF
PndlYmV4dGVuc2lvbnNkZWZpbmVzPC9GSUxFPgorPFRJVExFPldlYkV4dGVuc2lvbkRlZmluZXM8
L1RJVExFPgorPFNVQlNFQ1RJT04gUHJpdmF0ZT4KK1dFQktJVF9BUEkKK1dFQktJVF9ERVBSRUNB
VEVECitXRUJLSVRfREVQUkVDQVRFRF9GT1IKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklM
RT5XZWJLaXRXZWJFeHRlbnNpb248L0ZJTEU+CitXZWJLaXRXZWJFeHRlbnNpb24KK1dlYktpdFdl
YkV4dGVuc2lvbkluaXRpYWxpemVGdW5jdGlvbgorV2ViS2l0V2ViRXh0ZW5zaW9uSW5pdGlhbGl6
ZVdpdGhVc2VyRGF0YUZ1bmN0aW9uCit3ZWJraXRfd2ViX2V4dGVuc2lvbl9nZXRfcGFnZQorCis8
U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dlYktpdFdlYkV4dGVuc2lvbkNsYXNzCitXRUJLSVRfVFlQ
RV9XRUJfRVhURU5TSU9OCitXRUJLSVRfV0VCX0VYVEVOU0lPTgorV0VCS0lUX0lTX1dFQl9FWFRF
TlNJT04KK1dFQktJVF9XRUJfRVhURU5TSU9OX0NMQVNTCitXRUJLSVRfSVNfV0VCX0VYVEVOU0lP
Tl9DTEFTUworV0VCS0lUX1dFQl9FWFRFTlNJT05fR0VUX0NMQVNTCisKKzxTVUJTRUNUSU9OIFBy
aXZhdGU+CitXZWJLaXRXZWJFeHRlbnNpb25Qcml2YXRlCit3ZWJraXRfd2ViX2V4dGVuc2lvbl9n
ZXRfdHlwZQorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktpdFdlYlBhZ2U8L0ZJ
TEU+CitXZWJLaXRXZWJQYWdlCitXZWJLaXRGb3JtU3VibWlzc2lvblN0ZXAKK3dlYmtpdF93ZWJf
cGFnZV9nZXRfZG9tX2RvY3VtZW50Cit3ZWJraXRfd2ViX3BhZ2VfZ2V0X2lkCit3ZWJraXRfd2Vi
X3BhZ2VfZ2V0X3VyaQord2Via2l0X3dlYl9wYWdlX2dldF9tYWluX2ZyYW1lCit3ZWJraXRfd2Vi
X3BhZ2VfZ2V0X2VkaXRvcgorCis8U1VCU0VDVElPTiBTdGFuZGFyZD4KK1dlYktpdFdlYlBhZ2VD
bGFzcworV0VCS0lUX1RZUEVfV0VCX1BBR0UKK1dFQktJVF9XRUJfUEFHRQorV0VCS0lUX0lTX1dF
Ql9QQUdFCitXRUJLSVRfV0VCX1BBR0VfQ0xBU1MKK1dFQktJVF9JU19XRUJfUEFHRV9DTEFTUwor
V0VCS0lUX1dFQl9QQUdFX0dFVF9DTEFTUworV0VCS0lUX1RZUEVfRk9STV9TVUJNSVNTSU9OX1NU
RVAKKworPFNVQlNFQ1RJT04gUHJpdmF0ZT4KK1dlYktpdFdlYlBhZ2VQcml2YXRlCit3ZWJraXRf
d2ViX3BhZ2VfZ2V0X3R5cGUKK3dlYmtpdF9mb3JtX3N1Ym1pc3Npb25fc3RlcF9nZXRfdHlwZQor
PC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktpdFdlYkVkaXRvcjwvRklMRT4KK1dl
YktpdFdlYkVkaXRvcgord2Via2l0X3dlYl9lZGl0b3JfZ2V0X3BhZ2UKKworPFNVQlNFQ1RJT04g
U3RhbmRhcmQ+CitXZWJLaXRXZWJFZGl0b3JDbGFzcworV0VCS0lUX1RZUEVfV0VCX0VESVRPUgor
V0VCS0lUX1dFQl9FRElUT1IKK1dFQktJVF9JU19XRUJfRURJVE9SCitXRUJLSVRfV0VCX0VESVRP
Ul9DTEFTUworV0VCS0lUX0lTX1dFQl9FRElUT1JfQ0xBU1MKK1dFQktJVF9XRUJfRURJVE9SX0dF
VF9DTEFTUworCis8U1VCU0VDVElPTiBQcml2YXRlPgorV2ViS2l0V2ViRWRpdG9yUHJpdmF0ZQor
d2Via2l0X3dlYl9lZGl0b3JfZ2V0X3R5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklM
RT5XZWJLaXRGcmFtZTwvRklMRT4KK1dlYktpdEZyYW1lCit3ZWJraXRfZnJhbWVfaXNfbWFpbl9m
cmFtZQord2Via2l0X2ZyYW1lX2dldF91cmkKK3dlYmtpdF9mcmFtZV9nZXRfanNfY29udGV4dAor
d2Via2l0X2ZyYW1lX2dldF9qc19jb250ZXh0X2Zvcl9zY3JpcHRfd29ybGQKK3dlYmtpdF9mcmFt
ZV9nZXRfanNfdmFsdWVfZm9yX2RvbV9vYmplY3QKK3dlYmtpdF9mcmFtZV9nZXRfanNfdmFsdWVf
Zm9yX2RvbV9vYmplY3RfaW5fc2NyaXB0X3dvcmxkCisKKzxTVUJTRUNUSU9OIFN0YW5kYXJkPgor
V2ViS2l0RnJhbWVDbGFzcworV0VCS0lUX1RZUEVfRlJBTUUKK1dFQktJVF9GUkFNRQorV0VCS0lU
X0lTX0ZSQU1FCitXRUJLSVRfRlJBTUVfQ0xBU1MKK1dFQktJVF9JU19GUkFNRV9DTEFTUworV0VC
S0lUX0ZSQU1FX0dFVF9DTEFTUworCis8U1VCU0VDVElPTiBQcml2YXRlPgorV2ViS2l0RnJhbWVQ
cml2YXRlCit3ZWJraXRfZnJhbWVfZ2V0X3R5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8
RklMRT5XZWJLaXRTY3JpcHRXb3JsZDwvRklMRT4KK1dlYktpdFNjcmlwdFdvcmxkCit3ZWJraXRf
c2NyaXB0X3dvcmxkX2dldF9kZWZhdWx0Cit3ZWJraXRfc2NyaXB0X3dvcmxkX25ldword2Via2l0
X3NjcmlwdF93b3JsZF9uZXdfd2l0aF9uYW1lCit3ZWJraXRfc2NyaXB0X3dvcmxkX2dldF9uYW1l
CisKKzxTVUJTRUNUSU9OIFN0YW5kYXJkPgorV2ViS2l0U2NyaXB0V29ybGRDbGFzcworV0VCS0lU
X1RZUEVfU0NSSVBUX1dPUkxECitXRUJLSVRfU0NSSVBUX1dPUkxECitXRUJLSVRfSVNfU0NSSVBU
X1dPUkxECitXRUJLSVRfU0NSSVBUX1dPUkxEX0NMQVNTCitXRUJLSVRfSVNfU0NSSVBUX1dPUkxE
X0NMQVNTCitXRUJLSVRfU0NSSVBUX1dPUkxEX0dFVF9DTEFTUworCis8U1VCU0VDVElPTiBQcml2
YXRlPgorV2ViS2l0U2NyaXB0V29ybGRQcml2YXRlCit3ZWJraXRfc2NyaXB0X3dvcmxkX2dldF90
eXBlCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+V2ViS2l0V2ViSGl0VGVzdFJlc3Vs
dDwvRklMRT4KK1dlYktpdFdlYkhpdFRlc3RSZXN1bHQKK3dlYmtpdF93ZWJfaGl0X3Rlc3RfcmVz
dWx0X2dldF9ub2RlCisKKzxTVUJTRUNUSU9OIFN0YW5kYXJkPgorV2ViS2l0V2ViSGl0VGVzdFJl
c3VsdENsYXNzCitXRUJLSVRfVFlQRV9XRUJfSElUX1RFU1RfUkVTVUxUCitXRUJLSVRfV0VCX0hJ
VF9URVNUX1JFU1VMVAorV0VCS0lUX0lTX1dFQl9ISVRfVEVTVF9SRVNVTFQKK1dFQktJVF9XRUJf
SElUX1RFU1RfUkVTVUxUX0NMQVNTCitXRUJLSVRfSVNfV0VCX0hJVF9URVNUX1JFU1VMVF9DTEFT
UworV0VCS0lUX1dFQl9ISVRfVEVTVF9SRVNVTFRfR0VUX0NMQVNTCisKKzxTVUJTRUNUSU9OIFBy
aXZhdGU+CitXZWJLaXRXZWJIaXRUZXN0UmVzdWx0UHJpdmF0ZQord2Via2l0X3dlYl9oaXRfdGVz
dF9yZXN1bHRfZ2V0X3R5cGUKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5XZWJLaXRD
b25zb2xlTWVzc2FnZTwvRklMRT4KK1dlYktpdENvbnNvbGVNZXNzYWdlCitXZWJLaXRDb25zb2xl
TWVzc2FnZVNvdXJjZQorV2ViS2l0Q29uc29sZU1lc3NhZ2VMZXZlbAord2Via2l0X2NvbnNvbGVf
bWVzc2FnZV9jb3B5Cit3ZWJraXRfY29uc29sZV9tZXNzYWdlX2ZyZWUKK3dlYmtpdF9jb25zb2xl
X21lc3NhZ2VfZ2V0X3NvdXJjZQord2Via2l0X2NvbnNvbGVfbWVzc2FnZV9nZXRfbGV2ZWwKK3dl
YmtpdF9jb25zb2xlX21lc3NhZ2VfZ2V0X3RleHQKK3dlYmtpdF9jb25zb2xlX21lc3NhZ2VfZ2V0
X2xpbmUKK3dlYmtpdF9jb25zb2xlX21lc3NhZ2VfZ2V0X3NvdXJjZV9pZAorCis8U1VCU0VDVElP
TiBTdGFuZGFyZD4KK1dFQktJVF9UWVBFX0NPTlNPTEVfTUVTU0FHRQorV0VCS0lUX1RZUEVfQ09O
U09MRV9NRVNTQUdFX0xFVkVMCitXRUJLSVRfVFlQRV9DT05TT0xFX01FU1NBR0VfU09VUkNFCisK
KzxTVUJTRUNUSU9OIFByaXZhdGU+Cit3ZWJraXRfY29uc29sZV9tZXNzYWdlX2dldF90eXBlCit3
ZWJraXRfY29uc29sZV9tZXNzYWdlX2xldmVsX2dldF90eXBlCit3ZWJraXRfY29uc29sZV9tZXNz
YWdlX3NvdXJjZV9nZXRfdHlwZQorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPldlYktp
dERPTU9iamVjdDwvRklMRT4KKzxUSVRMRT5XZWJLaXRET01PYmplY3Q8L1RJVExFPgorV2ViS2l0
RE9NT2JqZWN0CisKKzxTVUJTRUNUSU9OIFN0YW5kYXJkPgorV2ViS2l0RE9NT2JqZWN0Q2xhc3MK
K1dFQktJVF9ET01fVFlQRV9PQkpFQ1QKK1dFQktJVF9ET01fT0JKRUNUCitXRUJLSVRfRE9NX0lT
X09CSkVDVAorV0VCS0lUX0RPTV9PQkpFQ1RfQ0xBU1MKK1dFQktJVF9ET01fSVNfT0JKRUNUX0NM
QVNTCitXRUJLSVRfRE9NX09CSkVDVF9HRVRfQ0xBU1MKKworPFNVQlNFQ1RJT04gUHJpdmF0ZT4K
K1dlYktpdERPTU9iamVjdFByaXZhdGUKK3dlYmtpdF9kb21fb2JqZWN0X2dldF90eXBlCis8L1NF
Q1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+V2ViS2l0RE9NRG9jdW1lbnQ8L0ZJTEU+Cis8VElU
TEU+V2ViS2l0RE9NRG9jdW1lbnQ8L1RJVExFPgorV2ViS2l0RE9NRG9jdW1lbnQKKworPFNVQlNF
Q1RJT04gU3RhbmRhcmQ+CitXZWJLaXRET01Eb2N1bWVudENsYXNzCitXRUJLSVRfRE9NX1RZUEVf
RE9DVU1FTlQKK1dFQktJVF9ET01fRE9DVU1FTlQKK1dFQktJVF9ET01fSVNfRE9DVU1FTlQKK1dF
QktJVF9ET01fRE9DVU1FTlRfQ0xBU1MKK1dFQktJVF9ET01fSVNfRE9DVU1FTlRfQ0xBU1MKK1dF
QktJVF9ET01fRE9DVU1FTlRfR0VUX0NMQVNTCisKKzxTVUJTRUNUSU9OIFByaXZhdGU+Cit3ZWJr
aXRfZG9tX2RvY3VtZW50X2dldF90eXBlCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+
V2ViS2l0RE9NRWxlbWVudDwvRklMRT4KKzxUSVRMRT5XZWJLaXRET01FbGVtZW50PC9USVRMRT4K
K1dlYktpdERPTUVsZW1lbnQKKword2Via2l0X2RvbV9lbGVtZW50X2h0bWxfaW5wdXRfZWxlbWVu
dF9pc191c2VyX2VkaXRlZAord2Via2l0X2RvbV9lbGVtZW50X2h0bWxfaW5wdXRfZWxlbWVudF9n
ZXRfYXV0b19maWxsZWQKK3dlYmtpdF9kb21fZWxlbWVudF9odG1sX2lucHV0X2VsZW1lbnRfc2V0
X2F1dG9fZmlsbGVkCit3ZWJraXRfZG9tX2VsZW1lbnRfaHRtbF9pbnB1dF9lbGVtZW50X3NldF9l
ZGl0aW5nX3ZhbHVlCisKKzxTVUJTRUNUSU9OIFN0YW5kYXJkPgorV2ViS2l0RE9NRWxlbWVudENs
YXNzCitXRUJLSVRfRE9NX1RZUEVfRUxFTUVOVAorV0VCS0lUX0RPTV9FTEVNRU5UCitXRUJLSVRf
RE9NX0lTX0VMRU1FTlQKK1dFQktJVF9ET01fRUxFTUVOVF9DTEFTUworV0VCS0lUX0RPTV9JU19F
TEVNRU5UX0NMQVNTCitXRUJLSVRfRE9NX0VMRU1FTlRfR0VUX0NMQVNTCisKKzxTVUJTRUNUSU9O
IFByaXZhdGU+Cit3ZWJraXRfZG9tX2VsZW1lbnRfZ2V0X3R5cGUKKzwvU0VDVElPTj4KKworPFNF
Q1RJT04+Cis8RklMRT5XZWJLaXRET01Ob2RlPC9GSUxFPgorPFRJVExFPldlYktpdERPTU5vZGU8
L1RJVExFPgorV2ViS2l0RE9NTm9kZQorCit3ZWJraXRfZG9tX25vZGVfZm9yX2pzX3ZhbHVlCisK
KzxTVUJTRUNUSU9OIFN0YW5kYXJkPgorV2ViS2l0RE9NTm9kZUNsYXNzCitXRUJLSVRfRE9NX1RZ
UEVfTk9ERQorV0VCS0lUX0RPTV9OT0RFCitXRUJLSVRfRE9NX0lTX05PREUKK1dFQktJVF9ET01f
Tk9ERV9DTEFTUworV0VCS0lUX0RPTV9JU19OT0RFX0NMQVNTCitXRUJLSVRfRE9NX05PREVfR0VU
X0NMQVNTCisKKzxTVUJTRUNUSU9OIFByaXZhdGU+CitXZWJLaXRET01Ob2RlUHJpdmF0ZQord2Vi
a2l0X2RvbV9ub2RlX2dldF90eXBlCis8L1NFQ1RJT04+CisKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvd3BlL2RvY3Mvd3BlLXdlYmV4dGVu
c2lvbnMtZG9jcy5zZ21sIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0FQSS93cGUvZG9jcy93cGUtd2ViZXh0ZW5zaW9ucy1kb2NzLnNnbWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjAy
MDJhNmZiMDBjMTIyNDQ2MzE0YjliMWNhODI5YzU1M2QxMWFmMAotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvd3BlL2RvY3Mvd3Bl
LXdlYmV4dGVuc2lvbnMtZG9jcy5zZ21sCkBAIC0wLDAgKzEsNTEgQEAKKzw/eG1sIHZlcnNpb249
IjEuMCI/PgorPCFET0NUWVBFIGJvb2sgUFVCTElDICItLy9PQVNJUy8vRFREIERvY0Jvb2sgWE1M
IFY0LjEuMi8vRU4iCisgICAgICAgICAgICAgICAiaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9k
b2Nib29rL3htbC80LjEuMi9kb2Nib29reC5kdGQiIFsKKzwhRU5USVRZIHZlcnNpb24gU1lTVEVN
ICJ2ZXJzaW9uLnhtbCI+CitdPgorPGJvb2sgaWQ9ImluZGV4IiB4bWxuczp4aT0iaHR0cDovL3d3
dy53My5vcmcvMjAwMy9YSW5jbHVkZSI+CisgIDxib29raW5mbz4KKyAgICA8dGl0bGU+V1BFIFdl
YkV4dGVuc2lvbnMgYW5kIERPTSBSZWZlcmVuY2UgTWFudWFsPC90aXRsZT4KKyAgICA8cmVsZWFz
ZWluZm8+Zm9yIFdQRSBXZWJLaXQgJnZlcnNpb247PC9yZWxlYXNlaW5mbz4KKyAgPC9ib29raW5m
bz4KKworICA8Y2hhcHRlcj4KKyAgICA8dGl0bGU+V2ViIEV4dGVuc2lvbnM8L3RpdGxlPgorICAg
IDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJLaXRXZWJFeHRlbnNpb24ueG1sIi8+CisgICAgPHhp
OmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdFdlYlBhZ2UueG1sIi8+CisgICAgPHhpOmluY2x1ZGUg
aHJlZj0ieG1sL1dlYktpdEZyYW1lLnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9X
ZWJLaXRTY3JpcHRXb3JsZC54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0
V2ViSGl0VGVzdFJlc3VsdC54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvV2ViS2l0
V2ViRWRpdG9yLnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJLaXRDb25zb2xl
TWVzc2FnZS54bWwiLz4KKyAgPC9jaGFwdGVyPgorCisgIDxjaGFwdGVyPgorICAgIDx0aXRsZT5X
ZWJLaXRET008L3RpdGxlPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJLaXRET01PYmpl
Y3QueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL1dlYktpdERPTURvY3VtZW50Lnht
bCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJLaXRET01FbGVtZW50LnhtbCIvPgor
ICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9XZWJLaXRET01Ob2RlLnhtbCIvPgorICA8L2NoYXB0
ZXI+CisKKyAgPGluZGV4IGlkPSJpbmRleC1hbGwiPgorICAgIDx0aXRsZT5JbmRleDwvdGl0bGU+
CisgIDwvaW5kZXg+CisKKyAgPGluZGV4IGlkPSJhcGktaW5kZXgtZGVwcmVjYXRlZCIgcm9sZT0i
ZGVwcmVjYXRlZCI+CisgICAgPHRpdGxlPkluZGV4IG9mIGRlcHJlY2F0ZWQgc3ltYm9sczwvdGl0
bGU+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL2FwaS1pbmRleC1kZXByZWNhdGVkLnhtbCI+
PHhpOmZhbGxiYWNrIC8+PC94aTppbmNsdWRlPgorICA8L2luZGV4PgorCisgIDxpbmRleCBpZD0i
YXBpLWluZGV4LTItMjAiIHJvbGU9IjIuMjAiPgorICAgIDx0aXRsZT5JbmRleCBvZiBuZXcgc3lt
Ym9scyBpbiAyLjIwPC90aXRsZT4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvYXBpLWluZGV4
LTIuMjAueG1sIj48eGk6ZmFsbGJhY2sgLz48L3hpOmluY2x1ZGU+CisgIDwvaW5kZXg+CisKKyAg
PGluZGV4IGlkPSJhcGktaW5kZXgtMi0yMiIgcm9sZT0iMi4yMiI+CisgICAgPHRpdGxlPkluZGV4
IG9mIG5ldyBzeW1ib2xzIGluIDIuMjI8L3RpdGxlPgorICAgIDx4aTppbmNsdWRlIGhyZWY9Inht
bC9hcGktaW5kZXgtMi4yMi54bWwiPjx4aTpmYWxsYmFjayAvPjwveGk6aW5jbHVkZT4KKyAgPC9p
bmRleD4KKworICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvYW5ub3RhdGlvbi1nbG9zc2FyeS54bWwi
Pjx4aTpmYWxsYmFjayAvPjwveGk6aW5jbHVkZT4KKzwvYm9vaz4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9jbWFrZS9HdGtEb2MuY21ha2UgYi9Tb3VyY2UvY21ha2UvR3RrRG9jLmNtYWtlCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjJlZTA1NTUwYjgxNDQyZWRiYzY3M2NlNjZlN2QyYjVhZjdiZTRiYzgKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvY21ha2UvR3RrRG9jLmNtYWtlCkBAIC0wLDAgKzEsMTIgQEAKKyMgQ2Fs
bHMgc2NyaXB0cyB0byBnZW5lcmF0ZSBkb2N1bWVudGF0aW9uIHVzaW5nIEdUSy1Eb2MuCisjIERv
Y3VtZW50YXRpb25EZXBlbmRlbmNpZXMgdmFyaWFibGUgbXVzdCBiZSBzZXQgYmVmb3JlIGNhbGxp
bmcgdGhpcyBtYWNyby4KK21hY3JvKEFERF9HVEtET0NfR0VORVJBVE9SIF9zdGFtcF9uYW1lIF9l
eHRyYV9hcmdzKQorICAgIGFkZF9jdXN0b21fY29tbWFuZCgKKyAgICAgICAgT1VUUFVUICIke0NN
QUtFX0JJTkFSWV9ESVJ9LyR7X3N0YW1wX25hbWV9IgorICAgICAgICBERVBFTkRTICR7RG9jdW1l
bnRhdGlvbkRlcGVuZGVuY2llc30KKyAgICAgICAgQ09NTUFORCAke0NNQUtFX0NPTU1BTkR9IC1F
IGVudiAiQ0M9JHtDTUFLRV9DX0NPTVBJTEVSfSIgIkNGTEFHUz0ke0NNQUtFX0NfRkxBR1N9IC1X
bm8tdW51c2VkLXBhcmFtZXRlciIgJHtDTUFLRV9TT1VSQ0VfRElSfS9Ub29scy9ndGtkb2MvZ2Vu
ZXJhdGUtZ3RrZG9jICR7X2V4dHJhX2FyZ3N9CisgICAgICAgIENPTU1BTkQgdG91Y2ggJHtfc3Rh
bXBfbmFtZX0KKyAgICAgICAgV09SS0lOR19ESVJFQ1RPUlkgIiR7Q01BS0VfQklOQVJZX0RJUn0i
CisgICAgICAgIFZFUkJBVElNCisgICAgKQorZW5kbWFjcm8oKQpkaWZmIC0tZ2l0IGEvU291cmNl
L2NtYWtlL09wdGlvbnNXUEUuY21ha2UgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc1dQRS5jbWFrZQpp
bmRleCBkMjU5YjAxNGZhZWZkOGExY2ZhMzk5N2FlNmFiMWU0ODIzZGMwYjE3Li5jN2EyNTliOTlm
NTRiNzdjOWQ1YjBhMWE2YTFmNjNhOTFiYjA4ZjY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2Uv
T3B0aW9uc1dQRS5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc1dQRS5jbWFrZQpAQCAt
NDMsNiArNDMsNyBAQCBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfV0VC
X1JUQyBQUklWQVRFICR7RU5BQkxFX0VYUEVSSU1FTlRBTF9GRQogIyBQdWJsaWMgb3B0aW9ucyBz
cGVjaWZpYyB0byB0aGUgV1BFIHBvcnQuIERvIG5vdCBhZGQgYW55IG9wdGlvbnMgaGVyZSB1bmxl
c3MKICMgdGhlcmUgaXMgYSBzdHJvbmcgcmVhc29uIHdlIHNob3VsZCBzdXBwb3J0IGNoYW5naW5n
IHRoZSB2YWx1ZSBvZiB0aGUgb3B0aW9uLAogIyBhbmQgdGhlIG9wdGlvbiBpcyBub3QgcmVsZXZh
bnQgdG8gYW55IG90aGVyIFdlYktpdCBwb3J0cy4KK1dFQktJVF9PUFRJT05fREVGSU5FKEVOQUJM
RV9HVEtET0MgIldoZXRoZXIgb3Igbm90IHRvIHVzZSBnZW5lcmF0ZSBndGtkb2MuIiBQVUJMSUMg
T0ZGKQogV0VCS0lUX09QVElPTl9ERUZJTkUoVVNFX1dPRkYyICJXaGV0aGVyIHRvIGVuYWJsZSBz
dXBwb3J0IGZvciBXT0ZGMiBXZWIgRm9udHMuIiBQVUJMSUMgT04pCiAKICMgUHJpdmF0ZSBvcHRp
b25zIHNwZWNpZmljIHRvIHRoZSBXUEUgcG9ydC4KQEAgLTEzNCw2ICsxMzUsMTEgQEAgU0VUX0FO
RF9FWFBPU0VfVE9fQlVJTEQoVVNFX0NPT1JESU5BVEVEX0dSQVBISUNTIFRSVUUpCiBTRVRfQU5E
X0VYUE9TRV9UT19CVUlMRChVU0VfQ09PUkRJTkFURURfR1JBUEhJQ1NfVEhSRUFERUQgVFJVRSkK
IFNFVF9BTkRfRVhQT1NFX1RPX0JVSUxEKFVTRV9OSUNPU0lBIFRSVUUpCiAKKyMgT3ZlcnJpZGUg
dGhlIGNhY2hlZCB2YXJpYWJsZSwgZ3RrLWRvYyBkb2VzIG5vdCByZWFsbHkgd29yayB3aGVuIGNy
b3NzLWJ1aWxkaW5nIG9yIGJ1aWxkaW5nIG9uIE1hYy4KK2lmIChDTUFLRV9DUk9TU0NPTVBJTElO
RyBPUiBBUFBMRSkKKyAgICBzZXQoRU5BQkxFX0dUS0RPQyBPRkYpCitlbmRpZiAoKQorCiBzZXQo
Rk9SV0FSRElOR19IRUFERVJTX0RJUiAke0RFUklWRURfU09VUkNFU19ESVJ9L0ZvcndhcmRpbmdI
ZWFkZXJzKQogc2V0KEZPUldBUkRJTkdfSEVBREVSU19XUEVfRElSICR7Rk9SV0FSRElOR19IRUFE
RVJTX0RJUn0vd3BlKQogc2V0KEZPUldBUkRJTkdfSEVBREVSU19XUEVfRVhURU5TSU9OX0RJUiAk
e0ZPUldBUkRJTkdfSEVBREVSU19ESVJ9L3dwZS13ZWJleHRlbnNpb24pCkBAIC0xNDIsNCArMTQ4
LDcgQEAgc2V0KERFUklWRURfU09VUkNFU19KQVZBU0NSSVBDT1JFV1BFX0RJUiAke0RFUklWRURf
U09VUkNFU19KQVZBU0NSSVBUQ09SRV9ESVJ9L2oKIHNldChERVJJVkVEX1NPVVJDRVNfSkFWQVND
UklQQ09SRV9HTElCX0FQSV9ESVIgJHtERVJJVkVEX1NPVVJDRVNfSkFWQVNDUklQVENPUkVfRElS
fS9qYXZhc2NyaXB0Y29yZXdwZS9qc2MpCiBzZXQoREVSSVZFRF9TT1VSQ0VTX1dQRV9BUElfRElS
ICR7REVSSVZFRF9TT1VSQ0VTX1dFQktJVF9ESVJ9L3dwZSkKIAorc2V0KFdQRV9QS0dDT05GSUdf
RklMRSAke0NNQUtFX0JJTkFSWV9ESVJ9L3dwZS13ZWJraXQtJHtXUEVfQVBJX1ZFUlNJT059LnBj
KQorc2V0KFdQRVdlYkV4dGVuc2lvbl9QS0dDT05GSUdfRklMRSAke0NNQUtFX0JJTkFSWV9ESVJ9
L3dwZS13ZWItZXh0ZW5zaW9uLSR7V1BFX0FQSV9WRVJTSU9OfS5wYykKKwogaW5jbHVkZShHU3Ry
ZWFtZXJDaGVja3MpCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VM
b2cKaW5kZXggOTQ4NzBiZDBiYTAwNzQyZGJmYTEzZmY0ZDliNDM2NmViMzA0MzllZS4uMDRiZjUz
YzIzNGEyMzNlNTkxMTRjMjMwNmQ0NWJkNzQ1Y2ZjZDUxNyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hh
bmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE4LTExLTIx
ICBDYXJsb3MgRWR1YXJkbyBSYW1hbGhvICA8Y2FkdWJlbnR6ZW5AZ21haWwuY29tPgorCisgICAg
ICAgIFtXUEVdIEFkZCBndGstZG9jCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNzg5MDAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBZGQgZ3RrLWRvYyB0byBXUEUgcG9ydC4gVGhpcyBwYXRjaCB0cmllcyB0
byByZXVzZSBhcyBtdWNoIGNvZGUgZnJvbQorICAgICAgICBXZWJLaXRHVEsrIGFzIHBvc3NpYmxl
LgorCisgICAgICAgICogZ3RrZG9jL2dlbmVyYXRlLWd0a2RvYzogUmVuYW1lZCBmcm9tIFRvb2xz
L2d0ay9nZW5lcmF0ZS1ndGtkb2MuCisgICAgICAgIChnZXRfZ3RrZG9jX21vZHVsZV9wYXRocyk6
IEFkZCBHREsgYW5kIEdUSyBvbmx5IGlmIGJ1aWxkaW5nIGZvciBHVEsuCisgICAgICAgIChwcmVw
YXJlX2Vudmlyb25tZW50X2Zvcl9ndGtkb2NfZ2VuZXJhdGlvbik6CisgICAgICAgIChidWlsZF9n
dGtkb2NfZm9yX3dwZSk6IENvZGUgdG8gZ2VuZXJhdGUgZG9jIGZvciBXUEUuCisgICAgICAgIChi
dWlsZF9ndGtkb2NfZm9yX3drZ3RrKTogQ29kZSB0byBnZW5lcmF0ZSBkb2MgZm9yIFdlYktpdEdU
SysuIE1vdmVkIGZyb20gbWFpbi4KKyAgICAgICAgKiBndGtkb2MvZ3RrZG9jLnB5OiBSZW5hbWVk
IGZyb20gVG9vbHMvZ3RrL2d0a2RvYy5weS4KKyAgICAgICAgKEdUS0RvYy5fX2luaXRfXyk6IElu
aXRpYWxpemVkIHJlcXVpcmVkIHZhcmlhYmxlcyBhY2NvcmRpbmcgdG8gcHlsaW50LgorICAgICAg
ICAoR1RLRG9jLmFwaV9taXNzaW5nX2RvY3VtZW50YXRpb24pOgorICAgICAgICAqIHdwZS9pbnN0
YWxsLWRlcGVuZGVuY2llczogQWRkIGd0a2RvYyBkZXBlbmRlbmN5LgorCiAyMDE4LTEyLTA0ICBD
YXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbU09V
UF0gTW92ZSBVUkxTb3VwIGJhY2sgdG8gV2ViQ29yZSBhZnRlciByMjM4NzcxCmRpZmYgLS1naXQg
YS9Ub29scy9ndGsvZ2VuZXJhdGUtZ3RrZG9jIGIvVG9vbHMvZ3RrL2dlbmVyYXRlLWd0a2RvYwpk
ZWxldGVkIGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggNDVjMjNkZmIxMmYxYzg5M2EyNmM4ZDNlN2Iz
ZjBhNGNhMmEyYjcyNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9Ub29scy9ndGsvZ2VuZXJhdGUtZ3RrZG9jCisrKyAvZGV2L251bGwKQEAgLTEsMjIxICsw
LDAgQEAKLSMhL3Vzci9iaW4vZW52IHB5dGhvbgotIyBDb3B5cmlnaHQgKEMpIDIwMTEgSWdhbGlh
IFMuTC4KLSMKLSMgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0
cmlidXRlIGl0IGFuZC9vcgotIyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg
TGVzc2VyIEdlbmVyYWwgUHVibGljCi0jIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotIyB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2Us
IG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0jCi0jIFRoaXMgbGlicmFy
eSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotIyBi
dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50
eSBvZgotIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UuICBTZWUgdGhlIEdOVQotIyBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y
ZSBkZXRhaWxzLgotIwotIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBH
TlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCi0jIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJh
cnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKLSMgRm91bmRhdGlvbiwgSW5j
LiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMw
MSAgVVNBCi0KLWZyb20gX19mdXR1cmVfXyBpbXBvcnQgcHJpbnRfZnVuY3Rpb24KLWZyb20gQ29u
ZmlnUGFyc2VyIGltcG9ydCBTYWZlQ29uZmlnUGFyc2VyCi0KLWltcG9ydCBhcmdwYXJzZQotaW1w
b3J0IGNvZGVjcwotaW1wb3J0IGdsb2IKLWltcG9ydCBndGtkb2MKLWltcG9ydCBsb2dnaW5nCi1p
bXBvcnQgb3MucGF0aAotaW1wb3J0IHN5cwotCi10b3BfbGV2ZWxfZGlyZWN0b3J5ID0gb3MucGF0
aC5ub3JtcGF0aChvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwgJy4uJywg
Jy4uJykpCi1zeXMucGF0aC5pbnNlcnQoMCwgb3MucGF0aC5qb2luKHRvcF9sZXZlbF9kaXJlY3Rv
cnksICdUb29scycsICdnbGliJykpCi1pbXBvcnQgY29tbW9uCi0KLXN5cy5zdGRvdXQgPSBjb2Rl
Y3MuZ2V0d3JpdGVyKCJ1dGYtOCIpKHN5cy5zdGRvdXQpCi1zeXMuc3RkZXJyID0gY29kZWNzLmdl
dHdyaXRlcigidXRmLTgiKShzeXMuc3RkZXJyKQotCi1kZWYgY29uZmlndXJlX2xvZ2dpbmcodmVy
Ym9zZSk6Ci0gICAgbGV2ZWwgPSBsb2dnaW5nLkRFQlVHIGlmIHZlcmJvc2UgZWxzZSBsb2dnaW5n
LklORk8KLSAgICBsb2dnZXIgPSBsb2dnaW5nLmdldExvZ2dlcignZ3RrZG9jJykKLSAgICBsb2dn
ZXIuc2V0TGV2ZWwobGV2ZWwpCi0gICAgaGFuZGxlciA9IGxvZ2dpbmcuU3RyZWFtSGFuZGxlcigp
Ci0gICAgaGFuZGxlci5zZXRMZXZlbChsZXZlbCkKLSAgICBsb2dnZXIuYWRkSGFuZGxlcihoYW5k
bGVyKQotICAgIGlmIGxldmVsID09IGxvZ2dpbmcuREVCVUc6Ci0gICAgICAgIGhhbmRsZXIuc2V0
Rm9ybWF0dGVyKGxvZ2dpbmcuRm9ybWF0dGVyKCdbJShhc2N0aW1lKXNdICAlKG1lc3NhZ2Upcycp
KQotICAgIGVsc2U6Ci0gICAgICAgIGhhbmRsZXIuc2V0Rm9ybWF0dGVyKGxvZ2dpbmcuRm9ybWF0
dGVyKCclKG1lc3NhZ2UpcycpKQotCi1kZWYgZ2V0X2d0a2RvY19tb2R1bGVfcGF0aHMoY3Jvc3Nf
cmVmZXJlbmNlX2RlcHMpOgotICAgIGRlcGVuZGVudF9wYWNrYWdlcyA9IHsKLSAgICAgICAgJ2ds
aWItMi4wJyA6IFsnZ2xpYicsICdnb2JqZWN0JywgJ2dpbyddLAotICAgICAgICAnbGlic291cC0y
LjQnIDogWydsaWJzb3VwLTIuNCddLAotICAgICAgICAnZ2RrLXBpeGJ1Zi0yLjAnOiBbJ2dkay1w
aXhidWYnXSwKLSAgICAgICAgJ2d0aystMy4wJyA6IFsnZ3RrMycsICdnZGszJ10KLSAgICB9Ci0K
LSAgICBwYXRocyA9IFtdCi0gICAgaHRtbF9kaXIgPSBvcy5wYXRoLmpvaW4oJ3NoYXJlJywgJ2d0
ay1kb2MnLCAnaHRtbCcpCi0gICAgZm9yIHBhY2thZ2UsIG1vZHVsZXMgaW4gZGVwZW5kZW50X3Bh
Y2thZ2VzLml0ZXJpdGVtcygpOgotICAgICAgICBwcmVmaXggPSBjb21tb24ucHJlZml4X29mX3Br
Z19jb25maWdfZmlsZShwYWNrYWdlKQotICAgICAgICBpZiBwcmVmaXggaXMgTm9uZToKLSAgICAg
ICAgICAgIGNvbnRpbnVlCi0gICAgICAgIGZvciBtb2R1bGUgaW4gbW9kdWxlczoKLSAgICAgICAg
ICAgIHBhdGhzLmFwcGVuZChvcy5wYXRoLmpvaW4ocHJlZml4LCBodG1sX2RpciwgbW9kdWxlKSkK
LQotICAgIGZvciBsb2NhbF9kZXAgaW4gY3Jvc3NfcmVmZXJlbmNlX2RlcHM6Ci0gICAgICAgIHBh
dGhzLmFwcGVuZChjb21tb24uYnVpbGRfcGF0aCgnRG9jdW1lbnRhdGlvbicsIGxvY2FsX2RlcCwg
J2h0bWwnKSkKLSAgICByZXR1cm4gcGF0aHMKLQotZGVmIHByaW50X21pc3NpbmdfYXBpKGdlbmVy
YXRvcik6Ci0gICAgbWlzc2luZ19hcGkgPSBnZW5lcmF0b3IuYXBpX21pc3NpbmdfZG9jdW1lbnRh
dGlvbigpCi0gICAgaWYgbm90IG1pc3NpbmdfYXBpOgotICAgICAgICByZXR1cm4KLSAgICBwcmlu
dCgiXG5UaGUgZm9sbG93aW5nIEFQSSBhcmUgbWlzc2luZyBkb2N1bWVudGF0aW9uOiIpCi0gICAg
Zm9yIGFwaSBpbiBtaXNzaW5nX2FwaToKLSAgICAgICAgcHJpbnQoIlx0ezB9Ii5mb3JtYXQoYXBp
KSkKLQotZGVmIGZpbGVzX3RvX2lnbm9yZShzb3VyY2VfZGlycywgaGVhZGVyc193aXRoX2d0a2Rv
Yyk6Ci0gICAgIiIiCi0gICAgRmluZCBmaWxlcyB0byBpZ25vcmUgZHVyaW5nIGRvY3VtZW50YXRp
b24gZ2VuZXJhdGlvbi4gV2UgYXNzdW1lIHRoYXQgaWYgYW4KLSAgICBpbXBsZW1lbnRhdGlvbiBm
aWxlIGV4aXN0cyBmb3IgYSBoZWFkZXIgd2l0aCBndGtkb2MgKHNheSB3ZWJraXRmb28uY3BwIGZv
cgotICAgIHdlYmtpdGZvby5oKSB3ZSBzaG91bGRuJ3QgaWdub3JlIHRoYXQgZmlsZS4gQ3VycmVu
dGx5IHRoaXMgaG9sZHMgdHJ1ZSBmb3IgYWxsCi0gICAgb2YgdGhlIFdlYktpdCBwcm9qZWN0Lgot
ICAgICIiIgotICAgIGltcGxlbWVudGF0aW9uX2ZpbGVzID0gbGlzdChoZWFkZXJzX3dpdGhfZ3Rr
ZG9jKQotICAgIGZvciBoZWFkZXIgaW4gaGVhZGVyc193aXRoX2d0a2RvYzoKLSAgICAgICAgZGVm
IGFkZF9maWxlX2lmX2V4aXN0cyhmaWxlbmFtZSk6Ci0gICAgICAgICAgICBmb3IgZGlyIGluIHNv
dXJjZV9kaXJzOgotICAgICAgICAgICAgICAgIGZpbGUgPSBvcy5wYXRoLmpvaW4oZGlyLCBmaWxl
bmFtZSkKLSAgICAgICAgICAgICAgICBpZiBvcy5wYXRoLmlzZmlsZShmaWxlKToKLSAgICAgICAg
ICAgICAgICAgICAgaW1wbGVtZW50YXRpb25fZmlsZXMuYXBwZW5kKG9zLnBhdGguYWJzcGF0aChm
aWxlKSkKLSAgICAgICAgaGVhZGVyX2Jhc2VuYW1lX3dpdGhvdXRfZXh0ZW5zaW9uID0gb3MucGF0
aC5zcGxpdGV4dChvcy5wYXRoLmJhc2VuYW1lKGhlYWRlcikpWzBdCi0gICAgICAgIGFkZF9maWxl
X2lmX2V4aXN0cyhoZWFkZXJfYmFzZW5hbWVfd2l0aG91dF9leHRlbnNpb24gKyAiLmNwcCIpCi0g
ICAgICAgIGFkZF9maWxlX2lmX2V4aXN0cyhoZWFkZXJfYmFzZW5hbWVfd2l0aG91dF9leHRlbnNp
b24gKyAiR3RrLmNwcCIpCi0gICAgICAgIGFkZF9maWxlX2lmX2V4aXN0cyhoZWFkZXJfYmFzZW5h
bWVfd2l0aG91dF9leHRlbnNpb24gKyAiLmMiKQotCi0gICAgZGVmIGZpbGVfc2hvdWxkX2JlX2ln
bm9yZWQoZmlsZSk6Ci0gICAgICAgIGlmIG9zLnBhdGguc3BsaXRleHQoZmlsZSlbMV0gbm90IGlu
IFsnLmgnLCAnLmMnLCAnLmNwcCcsICcuY2MnXToKLSAgICAgICAgICAgIHJldHVybiBGYWxzZSAj
IFRoZXNlIGZpbGVzIGFyZSBpZ25vcmVkIGFueXdheS4KLSAgICAgICAgaWYgbm90IG9zLnBhdGgu
aXNmaWxlKGZpbGUpOgotICAgICAgICAgICAgcmV0dXJuIFRydWUKLSAgICAgICAgcmV0dXJuIG9z
LnBhdGguYWJzcGF0aChmaWxlKSBub3QgaW4gaW1wbGVtZW50YXRpb25fZmlsZXMKLQotICAgIGFs
bF9maWxlcyA9IHN1bShbW29zLnBhdGguam9pbihkaXIsIGZpbGUpIGZvciBmaWxlIGluIG9zLmxp
c3RkaXIoZGlyKV0gZm9yIGRpciBpbiBzb3VyY2VfZGlyc10sIFtdKQotICAgIHJldHVybiBmaWx0
ZXIoZmlsZV9zaG91bGRfYmVfaWdub3JlZCwgYWxsX2ZpbGVzKQotCi1kZWYgZ2V0X2dlbmVyYXRv
cl9mb3JfY29uZmlnKGNvbmZpZ19maWxlLCB2aXJ0dWFsX3Jvb3QsIGNyb3NzX3JlZmVyZW5jZV9k
ZXBzID0gW10pOgotICAgIGlmIG5vdCBvcy5wYXRoLmlzZmlsZShjb25maWdfZmlsZSk6Ci0gICAg
ICAgIHJldHVybiBOb25lCi0KLSAgICBjb25maWcgPSBTYWZlQ29uZmlnUGFyc2VyKCkKLSAgICBj
b25maWcucmVhZChjb25maWdfZmlsZSkKLSAgICBtb2R1bGVfbmFtZSA9IGNvbmZpZy5zZWN0aW9u
cygpWzBdCi0gICAgcGtnY29uZmlnX2ZpbGUgPSBjb25maWcuZ2V0KG1vZHVsZV9uYW1lLCAncGtn
Y29uZmlnX2ZpbGUnKQotCi0gICAgaWYgbm90IG9zLnBhdGguaXNmaWxlKHBrZ2NvbmZpZ19maWxl
KToKLSAgICAgICAgcmV0dXJuIE5vbmUKLQotICAgIHNvdXJjZV9kaXJzID0gY29uZmlnLmdldCht
b2R1bGVfbmFtZSwgJ3NvdXJjZV9kaXJzJykucmVwbGFjZSgnOycsICcgJykuc3BsaXQoKQotICAg
IGhlYWRlcnMgPSBbb3MucGF0aC5hYnNwYXRoKGYpIGZvciBmIGluIGNvbmZpZy5nZXQobW9kdWxl
X25hbWUsICdoZWFkZXJzJykucmVwbGFjZSgnOycsICcgJykuc3BsaXQoKV0KLSAgICByZXR1cm4g
Z3RrZG9jLlBrZ0NvbmZpZ0dUS0RvYyhwa2djb25maWdfZmlsZSwgewotICAgICAgICAnZGVjb3Jh
dG9yJzogY29uZmlnLmdldChtb2R1bGVfbmFtZSwgJ2RlY29yYXRvcicpLAotICAgICAgICAnZGVw
cmVjYXRpb25fZ3VhcmQnOiBjb25maWcuZ2V0KG1vZHVsZV9uYW1lLCAnZGVwcmVjYXRpb25fZ3Vh
cmQnKSwKLSAgICAgICAgJ2xpYnJhcnlfcGF0aCc6IGNvbW1vbi5saWJyYXJ5X2J1aWxkX3BhdGgo
KSwKLSAgICAgICAgJ3ZpcnR1YWxfcm9vdCc6IHZpcnR1YWxfcm9vdCwKLSAgICAgICAgJ21vZHVs
ZV9uYW1lJzogbW9kdWxlX25hbWUsCi0gICAgICAgICduYW1lc3BhY2UnOiBjb25maWcuZ2V0KG1v
ZHVsZV9uYW1lLCAnbmFtZXNwYWNlJyksCi0gICAgICAgICdkb2NfZGlyJzogY29uZmlnLmdldCht
b2R1bGVfbmFtZSwgJ2RvY19kaXInKSwKLSAgICAgICAgJ291dHB1dF9kaXInOiBjb21tb24uYnVp
bGRfcGF0aCgnRG9jdW1lbnRhdGlvbicsIG1vZHVsZV9uYW1lKSwKLSAgICAgICAgJ21haW5fc2dt
bF9maWxlJzogY29uZmlnLmdldChtb2R1bGVfbmFtZSwgJ21haW5fc2dtbF9maWxlJyksCi0gICAg
ICAgICdzb3VyY2VfZGlycyc6IHNvdXJjZV9kaXJzLAotICAgICAgICAnaGVhZGVycyc6IGhlYWRl
cnMsCi0gICAgICAgICdjZmxhZ3MnOiAiICIuam9pbihjb25maWcuZ2V0KG1vZHVsZV9uYW1lLCAn
Y2ZsYWdzJykuc3BsaXQoKSksCi0gICAgICAgICdjcm9zc19yZWZlcmVuY2VfZGVwcyc6IGdldF9n
dGtkb2NfbW9kdWxlX3BhdGhzKGNyb3NzX3JlZmVyZW5jZV9kZXBzKSwKLSAgICAgICAgJ2lnbm9y
ZWRfZmlsZXMnOiBmaWxlc190b19pZ25vcmUoc291cmNlX2RpcnMsIGhlYWRlcnMpLAotICAgIH0p
Ci0KLWRlZiBnZW5lcmF0ZV9kb2MoZ2VuZXJhdG9yLCBza2lwX2h0bWwpOgotICAgIGdlbmVyYXRv
ci5nZW5lcmF0ZShub3Qgc2tpcF9odG1sKQotICAgIGlmIGdlbmVyYXRvci5zYXdfd2FybmluZ3M6
Ci0gICAgICAgIHByaW50X21pc3NpbmdfYXBpKGdlbmVyYXRvcikKLSAgICByZXR1cm4gZ2VuZXJh
dG9yLnNhd193YXJuaW5ncwotCi1kZWYgcmViYXNlX2RvYyhnZW5lcmF0b3IpOgotICAgIHRyeToK
LSAgICAgICAgZ2VuZXJhdG9yLnJlYmFzZV9pbnN0YWxsZWRfZG9jcygpCi0gICAgZXhjZXB0IEV4
Y2VwdGlvbjoKLSAgICAgICAgcHJpbnQoIlJlYmFzZSBkaWQgbm90IGhhcHBlbiwgbGlrZWx5IG5v
IGRvY3VtZW50YXRpb24gaXMgcHJlc2VudC4iKQotCi1kZWYgZ2VuZXJhdGVfZG9jdW1lbnRhdGlv
bihnZW5lcmF0b3IpOgotICAgIGlmIG5vdCBhcmd1bWVudHMucmViYXNlOgotICAgICAgICByZXR1
cm4gZ2VuZXJhdGVfZG9jKGdlbmVyYXRvciwgYXJndW1lbnRzLnNraXBfaHRtbCkKLQotICAgIHJl
YmFzZV9kb2MoZ2VuZXJhdG9yKQotICAgIHJldHVybiBGYWxzZQotCi1kZWYgcHJlcGFyZV9lbnZp
cm9ubWVudF9mb3JfZ3RrZG9jX2dlbmVyYXRpb24oKToKLSAgICAjIFdlIG5lZWQgdG8gYWRkIHRo
ZSBKYXZhU2NyaXB0Q29yZSBidWlsZCBkaXJlY3RvcnkgdG8gdGhlIFBLR19DT05GSUdfUEFUSAot
ICAgICMgc28gdGhhdCBwa2djb25maWcgY2FuIHByb3Blcmx5IHJlc29sdmUgdGhlIGxpYmphdmFz
Y3JpcHRjb3JlIGRlcGVuZGVuY3kuCi0gICAgcGtnX2NvbmZpZ19wYXRoID0gb3MuZW52aXJvbi5n
ZXQoIlBLR19DT05GSUdfUEFUSCIpCi0gICAgb3MuZW52aXJvblsnUEtHX0NPTkZJR19QQVRIJ10g
PSBjb21tb24uYnVpbGRfcGF0aCgnU291cmNlJywgJ0phdmFTY3JpcHRDb3JlJykKLSAgICBpZiBw
a2dfY29uZmlnX3BhdGg6Ci0gICAgICAgIG9zLmVudmlyb25bJ1BLR19DT05GSUdfUEFUSCddICs9
ICc6JyArIHBrZ19jb25maWdfcGF0aAotCi0gICAgIyBOZXdlciB2ZXJzaW9ucyBvZiBnbGliIGhh
dmUgZGVwcmVjYXRlZCBnX3R5cGVfaW5pdCwgc28gd2UgbmVlZCB0byBkaXNhYmxlCi0gICAgIyB0
aGF0IHdhcm5pbmcgd2hlbiBydW5uaW5nIGd0a2RvYy1zY2Fub2JqIGJ5IG92ZXJyaWRpbmcgdGhl
IENGTEFHUyB3ZSB1c2UKLSAgICAjIHRvIGNvbXBpbGUgaXQuCi0gICAgY2ZsYWdzID0gb3MuZW52
aXJvbi5nZXQoJ0NGTEFHUycsICcnKQotICAgIGNmbGFncyArPSAnIC1ER0xJQl9WRVJTSU9OX01J
Tl9SRVFVSVJFRD1HTElCX1ZFUlNJT05fMl8zMicKLQotICAgICMgSW4gbm9uLXg4NiBhcmNoaXRl
Y3R1cmVzLCB3aGVuIGEgcG9pbnRlciBpcyBjYXN0IHRvICh2b2lkKikgYW5kCi0gICAgIyBiYWNr
LCB0aGUgY29tcGlsZXIgdGhpbmtzIHRoYXQgdGhlIGFsaWdubWVudCBpcyByYW5kb20uIFNpbmNl
Ci0gICAgIyBndGtkb2MgYnVpbGQgaXMgYnJva2VuIGF0IGFueSB3YXJuaW5nIG1lc3NhZ2UsIGl0
IGlzIGJldHRlciB0bwotICAgICMgc2lsZW5jZSB0aGVzZSBmYWxzZSBwb3NpdGl2ZXMuCi0gICAg
Y2ZsYWdzICs9ICcgLVduby1jYXN0LWFsaWduJwotICAgIG9zLmVudmlyb25bJ0NGTEFHUyddID0g
Y2ZsYWdzCi0KLSAgICAjIFBhdGhzIGZyb20gdGhlIEdOVW1ha2VmaWxlIGdlbmVyYXRlZCBjb25m
aWd1cmF0aW9uIGZpbGVzIGFyZSByZWxhdGl2ZSB0byB0aGUgYnVpbGQgZGlyZWN0b3J5LgotICAg
IG9zLmNoZGlyKGNvbW1vbi5idWlsZF9wYXRoKCkpCi0KLWlmIF9fbmFtZV9fID09ICJfX21haW5f
XyI6Ci0gICAgcGFyc2VyID0gYXJncGFyc2UuQXJndW1lbnRQYXJzZXIoZGVzY3JpcHRpb249J0dl
bmVyYXRlIGd0a2RvYyBmb3IgV2ViS2l0LicpCi0gICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLXYn
LCAnLS12ZXJib3NlJywgYWN0aW9uPSdzdG9yZV90cnVlJywKLSAgICAgICAgICAgICAgICAgICAg
ICAgIGhlbHA9J1doZXRoZXIgb3Igbm90IHRvIHJ1biBpbiB2ZXJib3NlIG1vZGUuJykKLSAgICBw
YXJzZXIuYWRkX2FyZ3VtZW50KCctLXJlYmFzZScsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsCi0gICAg
ICAgICAgICAgICAgICAgICAgICBoZWxwPSdXaGVuIHNwZWNpZmllZCwgcnVuIHRoZSB0b29sIGlu
IHJlYmFzZSBtb2RlLicpCi0gICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1za2lwLWh0bWwnLCBh
Y3Rpb249J3N0b3JlX3RydWUnLAotICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0nV2hldGhl
ciBvciBub3QgdG8gc2tpcCBIVE1MIGdlbmVyYXRpb24sIHdoaWNoIGNhbiBiZSBzbG93LicpCi0g
ICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS12aXJ0dWFsLXJvb3QnLCB0eXBlPXN0ciwgZGVmYXVs
dD0nJywKLSAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J0EgdGVtcG9yYXJ5IGluc3RhbGxh
dGlvbiBkaXJlY3Rvcnkgd2hpY2ggaXMgdXNlZCBhcyB0aGUgcm9vdCAnICsgXAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAnd2hlcmUgdGhlIGFjdHVhbCBpbnN0YWxsYXRpb24gcHJlZml4
IGxpdmVzOyB0aGlzIGlzIG1vc3RseSAnICsgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAndXNlZnVsIGZvciBwYWNrYWdlcnMsIGFuZCBzaG91bGQgYmUgc2V0IHRvIHdoYXQgaXMgZ2l2
ZW4gdG8gJyArIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21ha2UgaW5zdGFsbCBh
cyBERVNURElSLicpCi0KLSAgICBhcmd1bWVudHMgPSBwYXJzZXIucGFyc2VfYXJncygpCi0gICAg
Y29uZmlndXJlX2xvZ2dpbmcoYXJndW1lbnRzLnZlcmJvc2UpCi0KLSAgICBwcmVwYXJlX2Vudmly
b25tZW50X2Zvcl9ndGtkb2NfZ2VuZXJhdGlvbigpCi0KLSAgICBqc2NfZ2VuZXJhdG9yID0gZ2V0
X2dlbmVyYXRvcl9mb3JfY29uZmlnKGNvbW1vbi5idWlsZF9wYXRoKCdndGtkb2MtanNjLWdsaWIu
Y2ZnJyksIGFyZ3VtZW50cy52aXJ0dWFsX3Jvb3QpCi0gICAgaWYgbm90IGpzY19nZW5lcmF0b3I6
Ci0gICAgICAgIHByaW50KCJndGtkb2MtanNjLWdsaWIuY2ZnIGRvZXMgbm90IGV4aXN0ISBTa2lw
cGluZyB0aGF0IGRvY3VtZW50YXRpb24iKQotICAgICAgICBzeXMuZXhpdCgxKQotICAgIHNhd193
YXJuaW5ncyA9IGdlbmVyYXRlX2RvY3VtZW50YXRpb24oanNjX2dlbmVyYXRvcikKLSAgICBpZiBz
YXdfd2FybmluZ3M6Ci0gICAgICAgIHN5cy5leGl0KHNhd193YXJuaW5ncykKLQotICAgIHdlYmtp
dGRvbV9nZW5lcmF0b3IgPSBnZXRfZ2VuZXJhdG9yX2Zvcl9jb25maWcoY29tbW9uLmJ1aWxkX3Bh
dGgoJ2d0a2RvYy13ZWJraXRkb20uY2ZnJyksIGFyZ3VtZW50cy52aXJ0dWFsX3Jvb3QsIFtqc2Nf
Z2VuZXJhdG9yLm1vZHVsZV9uYW1lXSkKLSAgICBpZiBub3Qgd2Via2l0ZG9tX2dlbmVyYXRvcjoK
LSAgICAgICAgcHJpbnQoImd0a2RvYy13ZWJraXRkb20uY2ZnIGRvZXMgbm90IGV4aXN0ISBTa2lw
cGluZyB0aGF0IGRvY3VtZW50YXRpb24iKQotICAgICAgICBzeXMuZXhpdCgxKQotICAgIHNhd193
YXJuaW5ncyA9IGdlbmVyYXRlX2RvY3VtZW50YXRpb24od2Via2l0ZG9tX2dlbmVyYXRvcikKLSAg
ICBpZiBzYXdfd2FybmluZ3M6Ci0gICAgICAgIHN5cy5leGl0KHNhd193YXJuaW5ncykKLQotICAg
IHdlYmtpdDJfZ2VuZXJhdG9yID0gZ2V0X2dlbmVyYXRvcl9mb3JfY29uZmlnKGNvbW1vbi5idWls
ZF9wYXRoKCdndGtkb2Mtd2Via2l0Mmd0ay5jZmcnKSwgYXJndW1lbnRzLnZpcnR1YWxfcm9vdCwg
W3dlYmtpdGRvbV9nZW5lcmF0b3IubW9kdWxlX25hbWUsIGpzY19nZW5lcmF0b3IubW9kdWxlX25h
bWVdKQotICAgIGlmIG5vdCB3ZWJraXQyX2dlbmVyYXRvcjoKLSAgICAgICAgcHJpbnQoImd0a2Rv
Yy13ZWJraXQyZ3RrLmNmZyBkb2VzIG5vdCBleGlzdCEgU2tpcHBpbmcgdGhhdCBkb2N1bWVudGF0
aW9uIikKLSAgICAgICAgc3lzLmV4aXQoMSkKLSAgICBzYXdfd2FybmluZ3MgPSBnZW5lcmF0ZV9k
b2N1bWVudGF0aW9uKHdlYmtpdDJfZ2VuZXJhdG9yKQotCi0gICAgc3lzLmV4aXQoc2F3X3dhcm5p
bmdzKQpkaWZmIC0tZ2l0IGEvVG9vbHMvZ3RrL2d0a2RvYy5weSBiL1Rvb2xzL2d0ay9ndGtkb2Mu
cHkKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGYwYTA5ZjE2ODdmNDRlYTlkZTU5MGNl
ZWZjNGMzMjEyNzVkYTRhMjYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvVG9vbHMvZ3RrL2d0a2RvYy5weQorKysgL2Rldi9udWxsCkBAIC0xLDQ1MSArMCww
IEBACi0jIENvcHlyaWdodCAoQykgMjAxMSBJZ2FsaWEgUy5MLgotIwotIyBUaGlzIGxpYnJhcnkg
aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0jIG1vZGlm
eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKLSMg
TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0
aGVyCi0jIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkg
bGF0ZXIgdmVyc2lvbi4KLSMKLSMgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo
b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0jIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg
d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0jIE1FUkNIQU5UQUJJTElUWSBv
ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0jIExlc3Nl
ciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0jCi0jIFlvdSBzaG91
bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMK
LSMgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUg
RnJlZSBTb2Z0d2FyZQotIyBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZp
ZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKLQotaW1wb3J0IGNvZGVjcwot
aW1wb3J0IGVycm5vCi1pbXBvcnQgbG9nZ2luZwotaW1wb3J0IG9zCi1pbXBvcnQgb3MucGF0aAot
aW1wb3J0IHN1YnByb2Nlc3MKLWltcG9ydCBzeXMKLQotCi1jbGFzcyBHVEtEb2Mob2JqZWN0KToK
LQotICAgICIiIkNsYXNzIHRoYXQgY29udHJvbHMgYSBndGtkb2MgcnVuLgotCi0gICAgRWFjaCBp
bnN0YW5jZSBvZiB0aGlzIGNsYXNzIHJlcHJlc2VudHMgb25lIGd0a2RvYyBjb25maWd1cmF0aW9u
Ci0gICAgYW5kIHNldCBvZiBkb2N1bWVudGF0aW9uLiBUaGUgZ3RrZG9jIHBhY2thZ2UgaXMgYSBz
ZXJpZXMgb2YgdG9vbHMKLSAgICBydW4gY29uc2VjdXRpdmVseSB3aGljaCBjb252ZXJ0cyBpbmxp
bmUgQy9DKysgZG9jdW1lbnRhdGlvbiBpbnRvCi0gICAgZG9jYm9vayBmaWxlcyBhbmQgdGhlbiBp
bnRvIEhUTUwuIFRoaXMgY2xhc3MgaXMgc3VpdGFibGUgZm9yCi0gICAgZ2VuZXJhdGluZyBkb2N1
bWVudGF0aW9uIG9yIHNpbXBseSB2ZXJpZnlpbmcgY29ycmVjdG5lc3MuCi0KLSAgICBLZXl3b3Jk
IGFyZ3VtZW50czoKLSAgICBvdXRwdXRfZGlyICAgICAgICAgLS0gVGhlIHBhdGggd2hlcmUgZ3Rr
ZG9jIG91dHB1dCBzaG91bGQgYmUgcGxhY2VkLiBHZW5lcmF0aW9uCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgIG1heSBvdmVyd3JpdGUgZmlsZSBpbiB0aGlzIGRpcmVjdG9yeS4gUmVxdWlyZWQu
Ci0gICAgbW9kdWxlX25hbWUgICAgICAgIC0tIFRoZSBuYW1lIG9mIHRoZSBkb2N1bWVudGF0aW9u
IG1vZHVsZS4gRm9yIGxpYnJhcmllcyB0aGlzCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGlz
IHR5cGljYWxseSB0aGUgbGlicmFyeSBuYW1lLiBSZXF1aXJlZCBpZiBub3QgbGlicmFyeSBwYXRo
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIGlzIGdpdmVuLgotICAgIHNvdXJjZV9kaXJzICAg
ICAgICAtLSBBIGxpc3Qgb2YgcGF0aHMgdG8gZGlyZWN0b3JpZXMgb2Ygc291cmNlIGNvZGUgdG8g
YmUgc2Nhbm5lZC4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWlyZWQgaWYgaGVhZGVy
cyBpcyBub3Qgc3BlY2lmaWVkLgotICAgIGlnbm9yZWRfZmlsZXMgICAgICAtLSBBIGxpc3Qgb2Yg
ZmlsZW5hbWVzIHRvIGlnbm9yZSBpbiB0aGUgc291cmNlIGRpcmVjdG9yeS4gSXQgaXMKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgb25seSBuZWNlc3NhcnkgdG8gcHJvdmlkZSB0aGUgYmFzZW5h
bWVzIG9mIHRoZXNlIGZpbGVzLgotICAgICAgICAgICAgICAgICAgICAgICAgICBUeXBpY2FsbHkg
aXQgaXMgaW1wb3J0YW50IHRvIHByb3ZpZGUgYW4gdXBkYXRlZCBsaXN0IG9mCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgIGlnbm9yZWQgZmlsZXMgdG8gcHJldmVudCB3YXJuaW5ncyBhYm91dCB1
bmRvY3VtZW50ZWQgc3ltYm9scy4KLSAgICBoZWFkZXJzICAgICAgICAgICAgLS0gQSBsaXN0IG9m
IHBhdGhzIHRvIGhlYWRlcnMgdG8gYmUgc2Nhbm5lZC4gUmVxdWlyZWQgaWYgc291cmNlX2RpcnMK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgaXMgbm90IHNwZWNpZmllZC4KLSAgICBuYW1lc3Bh
Y2UgICAgICAgICAgLS0gVGhlIGxpYnJhcnkgbmFtZXNwYWNlLgotICAgIGRlY29yYXRvciAgICAg
ICAgICAtLSBJZiBhIGRlY29yYXRvciBpcyB1c2VkIHRvIHVuaGlkZSBjZXJ0YWluIHN5bWJvbHMg
aW4gaGVhZGVyCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVzIHRoaXMgcGFyYW1ldGVy
IGlzIHJlcXVpcmVkIGZvciBzdWNjZXNzZnVsIHNjYW5uaW5nLgotICAgICAgICAgICAgICAgICAg
ICAgICAgICAoZGVmYXVsdCAnJykKLSAgICBkZXByZWNhdGlvbl9ndWFyZCAgLS0gZ3RrZG9jIHRy
aWVzIHRvIGVuc3VyZSB0aGF0IHN5bWJvbHMgbWFya2VkIGFzIGRlcHJlY2F0ZWQKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgYXJlIGVuY2FzZWQgaW4gdGhpcyBDIHByZXByb2Nlc3NvciBkZWZp
bmUuIFRoaXMgaXMgcmVxdWlyZWQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gYXZvaWQg
Z3RrZG9jIHdhcm5pbmdzLiAoZGVmYXVsdCAnJykKLSAgICBjZmxhZ3MgICAgICAgICAgICAgLS0g
VGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIGFueSBwcmVwcm9jZXNzb3IgZmxhZ3MgbmVjZXNzYXJ5
IGZvcgotICAgICAgICAgICAgICAgICAgICAgICAgICBidWlsZGluZyB0aGUgc2Nhbm5lciBiaW5h
cnkgZHVyaW5nIGd0a2RvYy1zY2Fub2JqLiBUeXBpY2FsbHkKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgdGhpcyBpbmNsdWRlcyBhbGwgYWJzb2x1dGUgaW5jbHVkZSBwYXRocyBuZWNlc3Nhcnkg
dG8gcmVzb2x2ZQotICAgICAgICAgICAgICAgICAgICAgICAgICBhbGwgaGVhZGVyIGRlcGVuZGVu
Y2llcy4gKGRlZmF1bHQgJycpCi0gICAgbGRmbGFncyAgICAgICAgICAgIC0tIFRoaXMgcGFyYW1l
dGVyIHNwZWNpZmllcyBhbnkgbGlua2VyIGZsYWdzIG5lY2Vzc2FyeSBmb3IKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgYnVpbGRpbmcgdGhlIHNjYW5uZXIgYmluYXJ5IGR1cmluZyBndGtkb2Mt
c2Nhbm9iai4gVHlwaWNhbGx5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMgaW5jbHVk
ZXMgIi1seW91cmxpYnJhcnluYW1lIi4gKGRlZmF1bHQgJycpCi0gICAgbGlicmFyeV9wYXRoICAg
ICAgIC0tIFRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgcGF0aCB0byB0aGUgZGlyZWN0b3J5
IHdoZXJlIHlvdQotICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJyYXJ5IHJlc2lkZXMgdXNl
ZCBmb3IgYnVpbGRpbmcgdGhlIHNjYW5uZXIgYmluYXJ5IGR1cmluZwotICAgICAgICAgICAgICAg
ICAgICAgICAgICBndGtkb2Mtc2Nhbm9iai4gKGRlZmF1bHQgJycpCi0KLSAgICBkb2NfZGlyICAg
ICAgICAgICAgLS0gVGhlIHBhdGggdG8gb3RoZXIgZG9jdW1lbnRhdGlvbiBmaWxlcyBuZWNlc3Nh
cnkgdG8gYnVpbGQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGRvY3VtZW50YXRpb24u
IFRoaXMgZmlsZXMgaW4gdGhpcyBkaXJlY3RvcnkgYXMgd2VsbCBhcwotICAgICAgICAgICAgICAg
ICAgICAgICAgICB0aGUgZmlsZXMgaW4gdGhlICdodG1sJyBzdWJkaXJlY3Rvcnkgd2lsbCBiZSBj
b3BpZWQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgcmVjdXJzaXZlbHkgaW50byB0aGUgb3V0
cHV0IGRpcmVjdG9yeS4gKGRlZmF1bHQgJycpCi0gICAgbWFpbl9zZ21sX2ZpbGUgICAgIC0tIFRo
ZSBwYXRoIG9yIG5hbWUgKGlmIGEgZG9jX2RpciBpcyBnaXZlbikgb2YgdGhlIFNHTUwgZmlsZQot
ICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0IGlzIHRoZSBjb25zaWRlcmVkIHRoZSBtYWlu
IHBhZ2Ugb2YgeW91ciBkb2N1bWVudGF0aW9uLgotICAgICAgICAgICAgICAgICAgICAgICAgICAo
ZGVmYXVsdDogPG1vZHVsZV9uYW1lPi1kb2NzLnNnbWwpCi0gICAgdmVyc2lvbiAgICAgICAgICAg
IC0tIFRoZSB2ZXJzaW9uIG51bWJlciBvZiB0aGUgbW9kdWxlLiBJZiB0aGlzIGlzIHByb3ZpZGVk
LAotICAgICAgICAgICAgICAgICAgICAgICAgICBhIHZlcnNpb24ueG1sIGZpbGUgY29udGFpbmlu
ZyB0aGUgdmVyc2lvbiB3aWxsIGJlIGNyZWF0ZWQKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
aW4gdGhlIG91dHB1dCBkaXJlY3RvcnkgZHVyaW5nIGRvY3VtZW50YXRpb24gZ2VuZXJhdGlvbi4K
LQotICAgIGludGVyYWN0aXZlICAgICAgICAtLSBXaGV0aGVyIG9yIG5vdCBlcnJvcnMgb3Igd2Fy
bmluZ3Mgc2hvdWxkIHByb21wdCB0aGUgdXNlcgotICAgICAgICAgICAgICAgICAgICAgICAgICB0
byBjb250aW51ZSBvciBub3QuIFdoZW4gdGhpcyB2YWx1ZSBpcyBmYWxzZSwgZ2VuZXJhdGlvbgot
ICAgICAgICAgICAgICAgICAgICAgICAgICB3aWxsIGNvbnRpbnVlIGRlc3BpdGUgd2FybmluZ3Mu
IChkZWZhdWx0IEZhbHNlKQotCi0gICAgdmlydHVhbF9yb290ICAgICAgIC0tIEEgdGVtcG9yYXJ5
IGluc3RhbGxhdGlvbiBkaXJlY3Rvcnkgd2hpY2ggaXMgdXNlZCBhcyB0aGUgcm9vdAotICAgICAg
ICAgICAgICAgICAgICAgICAgICB3aGVyZSB0aGUgYWN0dWFsIGluc3RhbGxhdGlvbiBwcmVmaXgg
bGl2ZXM7IHRoaXMgaXMgbW9zdGx5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIHVzZWZ1bCBm
b3IgcGFja2FnZXJzLCBhbmQgc2hvdWxkIGJlIHNldCB0byB3aGF0IGlzIGdpdmVuIHRvCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgIG1ha2UgaW5zdGFsbCBhcyBERVNURElSLgotICAgICIiIgot
Ci0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGFyZ3MpOgotCi0gICAgICAgICMgUGFyYW1ldGVycyBz
cGVjaWZpYyB0byBzY2FubmluZy4KLSAgICAgICAgc2VsZi5tb2R1bGVfbmFtZSA9ICcnCi0gICAg
ICAgIHNlbGYuc291cmNlX2RpcnMgPSBbXQotICAgICAgICBzZWxmLmhlYWRlcnMgPSBbXQotICAg
ICAgICBzZWxmLmlnbm9yZWRfZmlsZXMgPSBbXQotICAgICAgICBzZWxmLm5hbWVzcGFjZSA9ICcn
Ci0gICAgICAgIHNlbGYuZGVjb3JhdG9yID0gJycKLSAgICAgICAgc2VsZi5kZXByZWNhdGlvbl9n
dWFyZCA9ICcnCi0KLSAgICAgICAgIyBQYXJhbWV0ZXJzIHNwZWNpZmljIHRvIGd0a2RvYy1zY2Fu
b2JqLgotICAgICAgICBzZWxmLmNmbGFncyA9ICcnCi0gICAgICAgIHNlbGYubGRmbGFncyA9ICcn
Ci0gICAgICAgIHNlbGYubGlicmFyeV9wYXRoID0gJycKLQotICAgICAgICAjIFBhcmFtZXRlcnMg
c3BlY2lmaWMgdG8gZ2VuZXJhdGlvbi4KLSAgICAgICAgc2VsZi5vdXRwdXRfZGlyID0gJycKLSAg
ICAgICAgc2VsZi5kb2NfZGlyID0gJycKLSAgICAgICAgc2VsZi5tYWluX3NnbWxfZmlsZSA9ICcn
Ci0KLSAgICAgICAgIyBQYXJhbWV0ZXJzIHNwZWNpZmljIHRvIGd0a2RvYy1maXh4cmVmLgotICAg
ICAgICBzZWxmLmNyb3NzX3JlZmVyZW5jZV9kZXBzID0gW10KLQotICAgICAgICBzZWxmLmludGVy
YWN0aXZlID0gRmFsc2UKLQotICAgICAgICBzZWxmLmxvZ2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2Vy
KCdndGtkb2MnKQotCi0gICAgICAgIGZvciBrZXksIHZhbHVlIGluIGl0ZXIoYXJncy5pdGVtcygp
KToKLSAgICAgICAgICAgIHNldGF0dHIoc2VsZiwga2V5LCB2YWx1ZSkKLQotICAgICAgICBpZiBu
b3QgZ2V0YXR0cihzZWxmLCAnb3V0cHV0X2RpcicpOgotICAgICAgICAgICAgcmFpc2UgRXhjZXB0
aW9uKCdvdXRwdXRfZGlyIG5vdCBzcGVjaWZpZWQuJykKLSAgICAgICAgaWYgbm90IGdldGF0dHIo
c2VsZiwgJ21vZHVsZV9uYW1lJyk6Ci0gICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oJ21vZHVs
ZV9uYW1lIG5vdCBzcGVjaWZpZWQuJykKLSAgICAgICAgaWYgbm90IGdldGF0dHIoc2VsZiwgJ3Nv
dXJjZV9kaXJzJykgYW5kIG5vdCBnZXRhdHRyKHNlbGYsICdoZWFkZXJzJyk6Ci0gICAgICAgICAg
ICByYWlzZSBFeGNlcHRpb24oJ05laXRoZXIgc291cmNlX2RpcnMgbm9yIGhlYWRlcnMgc3BlY2lm
aWVkLicgJSBrZXkpCi0KLSAgICAgICAgIyBNYWtlIGFsbCBwYXRocyBhYnNvbHV0ZSBpbiBjYXNl
IHdlIHdlcmUgcGFzc2VkIHJlbGF0aXZlIHBhdGhzLCBzaW5jZQotICAgICAgICAjIHdlIGNoYW5n
ZSB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSB3aGVuIGV4ZWN1dGluZyBzdWJjb21tYW5k
cy4KLSAgICAgICAgc2VsZi5vdXRwdXRfZGlyID0gb3MucGF0aC5hYnNwYXRoKHNlbGYub3V0cHV0
X2RpcikKLSAgICAgICAgc2VsZi5zb3VyY2VfZGlycyA9IFtvcy5wYXRoLmFic3BhdGgoeCkgZm9y
IHggaW4gc2VsZi5zb3VyY2VfZGlyc10KLSAgICAgICAgc2VsZi5oZWFkZXJzID0gW29zLnBhdGgu
YWJzcGF0aCh4KSBmb3IgeCBpbiBzZWxmLmhlYWRlcnNdCi0gICAgICAgIGlmIHNlbGYubGlicmFy
eV9wYXRoOgotICAgICAgICAgICAgc2VsZi5saWJyYXJ5X3BhdGggPSBvcy5wYXRoLmFic3BhdGgo
c2VsZi5saWJyYXJ5X3BhdGgpCi0KLSAgICAgICAgaWYgbm90IHNlbGYubWFpbl9zZ21sX2ZpbGU6
Ci0gICAgICAgICAgICBzZWxmLm1haW5fc2dtbF9maWxlID0gc2VsZi5tb2R1bGVfbmFtZSArICIt
ZG9jcy5zZ21sIgotCi0gICAgZGVmIGdlbmVyYXRlKHNlbGYsIGh0bWw9VHJ1ZSk6Ci0gICAgICAg
IHNlbGYuc2F3X3dhcm5pbmdzID0gRmFsc2UKLQotICAgICAgICBzZWxmLl9jb3B5X2RvY19maWxl
c190b19vdXRwdXRfZGlyKGh0bWwpCi0gICAgICAgIHNlbGYuX3dyaXRlX3ZlcnNpb25feG1sKCkK
LSAgICAgICAgc2VsZi5fcnVuX2d0a2RvY19zY2FuKCkKLSAgICAgICAgc2VsZi5fcnVuX2d0a2Rv
Y19zY2FuZ29iaigpCi0gICAgICAgIHNlbGYuX3J1bl9ndGtkb2NfbWtkYigpCi0KLSAgICAgICAg
aWYgbm90IGh0bWw6Ci0gICAgICAgICAgICByZXR1cm4KLQotICAgICAgICBzZWxmLl9ydW5fZ3Rr
ZG9jX21raHRtbCgpCi0gICAgICAgIHNlbGYuX3J1bl9ndGtkb2NfZml4eHJlZigpCi0KLSAgICBk
ZWYgX2RlbGV0ZV9maWxlX2lmX2V4aXN0cyhzZWxmLCBwYXRoKToKLSAgICAgICAgaWYgbm90IG9z
LmFjY2VzcyhwYXRoLCBvcy5GX09LIHwgb3MuUl9PSyk6Ci0gICAgICAgICAgICByZXR1cm4KLSAg
ICAgICAgc2VsZi5sb2dnZXIuZGVidWcoJ2RlbGV0aW5nICVzJywgcGF0aCkKLSAgICAgICAgb3Mu
dW5saW5rKHBhdGgpCi0KLSAgICBkZWYgX2NyZWF0ZV9kaXJlY3RvcnlfaWZfbm9uZXhpc3RlbnQo
c2VsZiwgcGF0aCk6Ci0gICAgICAgIHRyeToKLSAgICAgICAgICAgIG9zLm1ha2VkaXJzKHBhdGgp
Ci0gICAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGVycm9yOgotICAgICAgICAgICAgaWYgZXJyb3Iu
ZXJybm8gIT0gZXJybm8uRUVYSVNUOgotICAgICAgICAgICAgICAgIHJhaXNlCi0KLSAgICBkZWYg
X3JhaXNlX2V4Y2VwdGlvbl9pZl9maWxlX2luYWNjZXNzaWJsZShzZWxmLCBwYXRoKToKLSAgICAg
ICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKHBhdGgpIG9yIG5vdCBvcy5hY2Nlc3MocGF0aCwgb3Mu
Ul9PSyk6Ci0gICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIkNvdWxkIG5vdCBhY2Nlc3MgZmls
ZSBhdDogJXMiICUgcGF0aCkKLQotICAgIGRlZiBfb3V0cHV0X2hhc193YXJuaW5ncyhzZWxmLCBv
dXRwdXRzKToKLSAgICAgICAgZm9yIG91dHB1dCBpbiBvdXRwdXRzOgotICAgICAgICAgICAgaWYg
b3V0cHV0IGFuZCBvdXRwdXQuZmluZCgnd2FybmluZycpOgotICAgICAgICAgICAgICAgIHJldHVy
biBUcnVlCi0gICAgICAgIHJldHVybiBGYWxzZQotCi0gICAgZGVmIF9hc2tfeWVzX29yX25vX3F1
ZXN0aW9uKHNlbGYsIHF1ZXN0aW9uKToKLSAgICAgICAgaWYgbm90IHNlbGYuaW50ZXJhY3RpdmU6
Ci0gICAgICAgICAgICByZXR1cm4gVHJ1ZQotCi0gICAgICAgIHF1ZXN0aW9uICs9ICcgW3kvTl0g
JwotICAgICAgICBhbnN3ZXIgPSBOb25lCi0gICAgICAgIHdoaWxlIGFuc3dlciAhPSAneScgYW5k
IGFuc3dlciAhPSAnbicgYW5kIGFuc3dlciAhPSAnJzoKLSAgICAgICAgICAgIGFuc3dlciA9IHJh
d19pbnB1dChxdWVzdGlvbikubG93ZXIoKQotICAgICAgICByZXR1cm4gYW5zd2VyID09ICd5Jwot
Ci0gICAgZGVmIF9ydW5fY29tbWFuZChzZWxmLCBhcmdzLCBlbnY9Tm9uZSwgY3dkPU5vbmUsIHBy
aW50X291dHB1dD1UcnVlLCBpZ25vcmVfd2FybmluZ3M9RmFsc2UpOgotICAgICAgICBpZiBwcmlu
dF9vdXRwdXQ6Ci0gICAgICAgICAgICBzZWxmLmxvZ2dlci5kZWJ1ZygiUnVubmluZyAlcyIsIGFy
Z3NbMF0pCi0gICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCJGdWxsIGNvbW1hbmQgYXJnczogJXMi
LCBzdHIoYXJncykpCi0KLSAgICAgICAgcHJvY2VzcyA9IHN1YnByb2Nlc3MuUG9wZW4oYXJncywg
ZW52PWVudiwgY3dkPWN3ZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Rk
b3V0PXN1YnByb2Nlc3MuUElQRSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
c3RkZXJyPXN1YnByb2Nlc3MuUElQRSkKLSAgICAgICAgc3Rkb3V0LCBzdGRlcnIgPSBbYi5kZWNv
ZGUoInV0Zi04IikgZm9yIGIgaW4gcHJvY2Vzcy5jb21tdW5pY2F0ZSgpXQotCi0gICAgICAgIGlm
IHByaW50X291dHB1dDoKLSAgICAgICAgICAgIGlmIHN0ZG91dDoKLSAgICAgICAgICAgICAgICB0
cnk6Ci0gICAgICAgICAgICAgICAgICAgIHN5cy5zdGRvdXQud3JpdGUoc3Rkb3V0LmVuY29kZSgi
dXRmLTgiKSkKLSAgICAgICAgICAgICAgICBleGNlcHQgVW5pY29kZURlY29kZUVycm9yOgotICAg
ICAgICAgICAgICAgICAgICBzeXMuc3Rkb3V0LndyaXRlKHN0ZG91dCkKLSAgICAgICAgICAgIGlm
IHN0ZGVycjoKLSAgICAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgICAgIHN5cy5z
dGRlcnIud3JpdGUoc3RkZXJyLmVuY29kZSgidXRmLTgiKSkKLSAgICAgICAgICAgICAgICBleGNl
cHQgVW5pY29kZURlY29kZUVycm9yOgotICAgICAgICAgICAgICAgICAgICBzeXMuc3RkZXJyLndy
aXRlKHN0ZGVycikKLQotICAgICAgICBpZiBwcm9jZXNzLnJldHVybmNvZGUgIT0gMDoKLSAgICAg
ICAgICAgIHJhaXNlIEV4Y2VwdGlvbignJXMgcHJvZHVjZWQgYSBub24temVybyByZXR1cm4gY29k
ZSAlaScKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJSAoYXJnc1swXSwgcHJvY2Vzcy5y
ZXR1cm5jb2RlKSkKLQotICAgICAgICBpZiBub3QgaWdub3JlX3dhcm5pbmdzIGFuZCAoJ3dhcm5p
bmcnIGluIHN0ZGVyciBvciAnd2FybmluZycgaW4gc3Rkb3V0KToKLSAgICAgICAgICAgIHNlbGYu
c2F3X3dhcm5pbmdzID0gVHJ1ZQotICAgICAgICAgICAgaWYgbm90IHNlbGYuX2Fza195ZXNfb3Jf
bm9fcXVlc3Rpb24oJyVzIHByb2R1Y2VkIHdhcm5pbmdzLCAnCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHJ5IHRvIGNvbnRpbnVlPycgJSBhcmdzWzBd
KToKLSAgICAgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oJyVzIHN0ZXAgZmFpbGVkJyAlIGFy
Z3NbMF0pCi0KLSAgICAgICAgcmV0dXJuIHN0ZG91dC5zdHJpcCgpCi0KLSAgICBkZWYgX2NvcHlf
ZG9jX2ZpbGVzX3RvX291dHB1dF9kaXIoc2VsZiwgaHRtbD1UcnVlKToKLSAgICAgICAgaWYgbm90
IHNlbGYuZG9jX2RpcjoKLSAgICAgICAgICAgIHNlbGYubG9nZ2VyLmluZm8oJ05vdCBjb3B5aW5n
IGFueSBmaWxlcyBmcm9tIGRvYyBkaXJlY3RvcnksJwotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAnIGJlY2F1c2Ugbm8gZG9jIGRpcmVjdG9yeSBnaXZlbi4nKQotICAgICAgICAgICAgcmV0
dXJuCi0KLSAgICAgICAgZGVmIGNvcHlfZmlsZV9yZXBsYWNpbmdfZXhpc3Rpbmcoc3JjLCBkZXN0
KToKLSAgICAgICAgICAgIGlmIG9zLnBhdGguaXNkaXIoc3JjKToKLSAgICAgICAgICAgICAgICBz
ZWxmLmxvZ2dlci5kZWJ1Zygnc2tpcHBlZCBkaXJlY3RvcnkgJXMnLCAgc3JjKQotICAgICAgICAg
ICAgICAgIHJldHVybgotICAgICAgICAgICAgaWYgbm90IG9zLmFjY2VzcyhzcmMsIG9zLkZfT0sg
fCBvcy5SX09LKToKLSAgICAgICAgICAgICAgICBzZWxmLmxvZ2dlci5kZWJ1Zygnc2tpcHBlZCB1
bnJlYWRhYmxlICVzJywgc3JjKQotICAgICAgICAgICAgICAgIHJldHVybgotCi0gICAgICAgICAg
ICBzZWxmLl9kZWxldGVfZmlsZV9pZl9leGlzdHMoZGVzdCkKLQotICAgICAgICAgICAgc2VsZi5s
b2dnZXIuZGVidWcoJ2NyZWF0ZWQgJXMnLCBkZXN0KQotICAgICAgICAgICAgdHJ5OgotICAgICAg
ICAgICAgICAgIG9zLmxpbmsoc3JjLCBkZXN0KQotICAgICAgICAgICAgZXhjZXB0IE9TRXJyb3I6
Ci0gICAgICAgICAgICAgICAgb3Muc3ltbGluayhzcmMsIGRlc3QpCi0KLSAgICAgICAgZGVmIGNv
cHlfYWxsX2ZpbGVzX2luX2RpcmVjdG9yeShzcmMsIGRlc3QpOgotICAgICAgICAgICAgZm9yIHBh
dGggaW4gb3MubGlzdGRpcihzcmMpOgotICAgICAgICAgICAgICAgIGNvcHlfZmlsZV9yZXBsYWNp
bmdfZXhpc3Rpbmcob3MucGF0aC5qb2luKHNyYywgcGF0aCksCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBvcy5wYXRoLmpvaW4oZGVzdCwgcGF0aCkpCi0KLSAg
ICAgICAgc2VsZi5sb2dnZXIuZGVidWcoJ0NvcHlpbmcgdGVtcGxhdGUgZmlsZXMgdG8gb3V0cHV0
IGRpcmVjdG9yeS4uLicpCi0gICAgICAgIHNlbGYuX2NyZWF0ZV9kaXJlY3RvcnlfaWZfbm9uZXhp
c3RlbnQoc2VsZi5vdXRwdXRfZGlyKQotICAgICAgICBjb3B5X2FsbF9maWxlc19pbl9kaXJlY3Rv
cnkoc2VsZi5kb2NfZGlyLCBzZWxmLm91dHB1dF9kaXIpCi0KLSAgICBkZWYgX3dyaXRlX3ZlcnNp
b25feG1sKHNlbGYpOgotICAgICAgICBpZiBub3Qgc2VsZi52ZXJzaW9uOgotICAgICAgICAgICAg
c2VsZi5sb2dnZXIuaW5mbygnTm8gdmVyc2lvbiBzcGVjaWZpZWQsIHNvIG5vdCB3cml0aW5nIHZl
cnNpb24ueG1sJykKLSAgICAgICAgICAgIHJldHVybgotCi0gICAgICAgIHZlcnNpb25feG1sX3Bh
dGggPSBvcy5wYXRoLmpvaW4oc2VsZi5vdXRwdXRfZGlyLCAndmVyc2lvbi54bWwnKQotICAgICAg
ICBzcmNfdmVyc2lvbl94bWxfcGF0aCA9IG9zLnBhdGguam9pbihzZWxmLmRvY19kaXIsICd2ZXJz
aW9uLnhtbCcpCi0KLSAgICAgICAgIyBEb24ndCBvdmVyd3JpdGUgdmVyc2lvbi54bWwgaWYgaXQg
d2FzIGluIHRoZSBkb2MgZGlyZWN0b3J5LgotICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyh2ZXJz
aW9uX3htbF9wYXRoKSBhbmQgXAotICAgICAgICAgICBvcy5wYXRoLmV4aXN0cyhzcmNfdmVyc2lv
bl94bWxfcGF0aCk6Ci0gICAgICAgICAgICByZXR1cm4KLQotICAgICAgICBvdXRwdXRfZmlsZSA9
IG9wZW4odmVyc2lvbl94bWxfcGF0aCwgJ3cnKQotICAgICAgICBvdXRwdXRfZmlsZS53cml0ZShz
ZWxmLnZlcnNpb24pCi0gICAgICAgIG91dHB1dF9maWxlLmNsb3NlKCkKLQotICAgIGRlZiBfaWdu
b3JlZF9maWxlc19iYXNlbmFtZXMoc2VsZik6Ci0gICAgICAgIHJldHVybiAnICcuam9pbihbb3Mu
cGF0aC5iYXNlbmFtZSh4KSBmb3IgeCBpbiBzZWxmLmlnbm9yZWRfZmlsZXNdKQotCi0gICAgZGVm
IF9ydW5fZ3RrZG9jX3NjYW4oc2VsZik6Ci0gICAgICAgIGFyZ3MgPSBbJ2d0a2RvYy1zY2FuJywK
LSAgICAgICAgICAgICAgICAnLS1tb2R1bGU9JXMnICUgc2VsZi5tb2R1bGVfbmFtZSwKLSAgICAg
ICAgICAgICAgICAnLS1yZWJ1aWxkLXR5cGVzJ10KLQotICAgICAgICBpZiBub3Qgc2VsZi5oZWFk
ZXJzOgotICAgICAgICAgICAgIyBFYWNoIHNvdXJjZSBkaXJlY3Rvcnkgc2hvdWxkIGJlIGhhdmUg
aXRzIG93biAiLS1zb3VyY2UtZGlyPSIgcHJlZml4LgotICAgICAgICAgICAgYXJncy5leHRlbmQo
WyctLXNvdXJjZS1kaXI9JXMnICUgcGF0aCBmb3IgcGF0aCBpbiBzZWxmLnNvdXJjZV9kaXJzXSkK
LQotICAgICAgICBpZiBzZWxmLmRlY29yYXRvcjoKLSAgICAgICAgICAgIGFyZ3MuYXBwZW5kKCct
LWlnbm9yZS1kZWNvcmF0b3JzPSVzJyAlIHNlbGYuZGVjb3JhdG9yKQotICAgICAgICBpZiBzZWxm
LmRlcHJlY2F0aW9uX2d1YXJkOgotICAgICAgICAgICAgYXJncy5hcHBlbmQoJy0tZGVwcmVjYXRl
ZC1ndWFyZHM9JXMnICUgc2VsZi5kZXByZWNhdGlvbl9ndWFyZCkKLSAgICAgICAgaWYgc2VsZi5v
dXRwdXRfZGlyOgotICAgICAgICAgICAgYXJncy5hcHBlbmQoJy0tb3V0cHV0LWRpcj0lcycgJSBz
ZWxmLm91dHB1dF9kaXIpCi0KLSAgICAgICAgIyBXZSBvbmx5IG5lZWQgdG8gcGFzcyB0aGUgbGlz
dCBvZiBpZ25vcmVkIGZpbGVzIGlmIHRoZSB3ZSBhcmUgbm90IHVzaW5nIGFuIGV4cGxpY2l0IGxp
c3Qgb2YgaGVhZGVycy4KLSAgICAgICAgaWYgbm90IHNlbGYuaGVhZGVyczoKLSAgICAgICAgICAg
ICMgZ3RrZG9jLXNjYW4gd2FudHMgdGhlIGJhc2VuYW1lcyBvZiBpZ25vcmVkIGhlYWRlcnMsIHNv
IHN0cmlwIHRoZQotICAgICAgICAgICAgIyBkaXJuYW1lLiBEaWZmZXJlbnQgZnJvbSAiLS1zb3Vy
Y2UtZGlyIiwgdGhlIGhlYWRlcnMgc2hvdWxkIGJlCi0gICAgICAgICAgICAjIHNwZWNpZmllZCBh
cyBvbmUgbG9uZyBzdHJpbmcuCi0gICAgICAgICAgICBpZ25vcmVkX2ZpbGVzX2Jhc2VuYW1lcyA9
IHNlbGYuX2lnbm9yZWRfZmlsZXNfYmFzZW5hbWVzKCkKLSAgICAgICAgICAgIGlmIGlnbm9yZWRf
ZmlsZXNfYmFzZW5hbWVzOgotICAgICAgICAgICAgICAgIGFyZ3MuYXBwZW5kKCctLWlnbm9yZS1o
ZWFkZXJzPSVzJyAlIGlnbm9yZWRfZmlsZXNfYmFzZW5hbWVzKQotCi0gICAgICAgIGlmIHNlbGYu
aGVhZGVyczoKLSAgICAgICAgICAgIGFyZ3MuZXh0ZW5kKHNlbGYuaGVhZGVycykKLQotICAgICAg
ICBzZWxmLl9ydW5fY29tbWFuZChhcmdzKQotCi0gICAgZGVmIF9ydW5fZ3RrZG9jX3NjYW5nb2Jq
KHNlbGYpOgotICAgICAgICBlbnYgPSBvcy5lbnZpcm9uCi0gICAgICAgIGxkZmxhZ3MgPSBzZWxm
LmxkZmxhZ3MKLSAgICAgICAgaWYgc2VsZi5saWJyYXJ5X3BhdGg6Ci0gICAgICAgICAgICBhZGRp
dGlvbmFsX2xkZmxhZ3MgPSAnJwotICAgICAgICAgICAgZm9yIGFyZyBpbiBlbnYuZ2V0KCdMREZM
QUdTJywgJycpLnNwbGl0KCcgJyk6Ci0gICAgICAgICAgICAgICAgaWYgYXJnLnN0YXJ0c3dpdGgo
Jy1MJyk6Ci0gICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxfbGRmbGFncyA9ICclcyAlcycg
JSAoYWRkaXRpb25hbF9sZGZsYWdzLCBhcmcpCi0gICAgICAgICAgICBsZGZsYWdzID0gJyAiLUwl
cyIgJXMgJyAlIChzZWxmLmxpYnJhcnlfcGF0aCwgYWRkaXRpb25hbF9sZGZsYWdzKSArIGxkZmxh
Z3MKLSAgICAgICAgICAgIGN1cnJlbnRfbGRfbGlicmFyeV9wYXRoID0gZW52LmdldCgnTERfTElC
UkFSWV9QQVRIJykKLSAgICAgICAgICAgIGlmIGN1cnJlbnRfbGRfbGlicmFyeV9wYXRoOgotICAg
ICAgICAgICAgICAgIGVudlsnTERfTElCUkFSWV9QQVRIJ10gPSAnJXM6JXMnICUgKHNlbGYubGli
cmFyeV9wYXRoLCBjdXJyZW50X2xkX2xpYnJhcnlfcGF0aCkKLSAgICAgICAgICAgIGVsc2U6Ci0g
ICAgICAgICAgICAgICAgZW52WydMRF9MSUJSQVJZX1BBVEgnXSA9IHNlbGYubGlicmFyeV9wYXRo
Ci0KLSAgICAgICAgaWYgbGRmbGFnczoKLSAgICAgICAgICAgIGVudlsnTERGTEFHUyddID0gJyVz
ICVzJyAlIChsZGZsYWdzLCBlbnYuZ2V0KCdMREZMQUdTJywgJycpKQotICAgICAgICBpZiBzZWxm
LmNmbGFnczoKLSAgICAgICAgICAgIGVudlsnQ0ZMQUdTJ10gPSAnJXMgJXMnICUgKHNlbGYuY2Zs
YWdzLCBlbnYuZ2V0KCdDRkxBR1MnLCAnJykpCi0KLSAgICAgICAgaWYgJ0NGTEFHUycgaW4gZW52
OgotICAgICAgICAgICAgc2VsZi5sb2dnZXIuZGVidWcoJ0NGTEFHUz0lcycsIGVudlsnQ0ZMQUdT
J10pCi0gICAgICAgIGlmICdMREZMQUdTJyBpbiBlbnY6Ci0gICAgICAgICAgICBzZWxmLmxvZ2dl
ci5kZWJ1ZygnTERGTEFHUyAlcycsIGVudlsnTERGTEFHUyddKQotICAgICAgICBzZWxmLl9ydW5f
Y29tbWFuZChbJ2d0a2RvYy1zY2FuZ29iaicsICctLW1vZHVsZT0lcycgJSBzZWxmLm1vZHVsZV9u
YW1lXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgZW52PWVudiwgY3dkPXNlbGYub3V0cHV0
X2RpcikKLQotICAgIGRlZiBfcnVuX2d0a2RvY19ta2RiKHNlbGYpOgotICAgICAgICBzZ21sX2Zp
bGUgPSBvcy5wYXRoLmpvaW4oc2VsZi5vdXRwdXRfZGlyLCBzZWxmLm1haW5fc2dtbF9maWxlKQot
ICAgICAgICBzZWxmLl9yYWlzZV9leGNlcHRpb25faWZfZmlsZV9pbmFjY2Vzc2libGUoc2dtbF9m
aWxlKQotCi0gICAgICAgIGFyZ3MgPSBbJ2d0a2RvYy1ta2RiJywKLSAgICAgICAgICAgICAgICAn
LS1tb2R1bGU9JXMnICUgc2VsZi5tb2R1bGVfbmFtZSwKLSAgICAgICAgICAgICAgICAnLS1tYWlu
LXNnbWwtZmlsZT0lcycgJSBzZ21sX2ZpbGUsCi0gICAgICAgICAgICAgICAgJy0tc291cmNlLXN1
ZmZpeGVzPWgsYyxjcHAsY2MnLAotICAgICAgICAgICAgICAgICctLW91dHB1dC1mb3JtYXQ9eG1s
JywKLSAgICAgICAgICAgICAgICAnLS1zZ21sLW1vZGUnXQotCi0gICAgICAgIGlmIHNlbGYubmFt
ZXNwYWNlOgotICAgICAgICAgICAgYXJncy5hcHBlbmQoJy0tbmFtZS1zcGFjZT0lcycgJSBzZWxm
Lm5hbWVzcGFjZSkKLQotICAgICAgICBpZ25vcmVkX2ZpbGVzX2Jhc2VuYW1lcyA9IHNlbGYuX2ln
bm9yZWRfZmlsZXNfYmFzZW5hbWVzKCkKLSAgICAgICAgaWYgaWdub3JlZF9maWxlc19iYXNlbmFt
ZXM6Ci0gICAgICAgICAgICBhcmdzLmFwcGVuZCgnLS1pZ25vcmUtZmlsZXM9JXMnICUgaWdub3Jl
ZF9maWxlc19iYXNlbmFtZXMpCi0KLSAgICAgICAgIyBFYWNoIGRpcmVjdG9yeSBzaG91bGQgYmUg
aGF2ZSBpdHMgb3duICItLXNvdXJjZS1kaXI9IiBwcmVmaXguCi0gICAgICAgIGFyZ3MuZXh0ZW5k
KFsnLS1zb3VyY2UtZGlyPSVzJyAlIHBhdGggZm9yIHBhdGggaW4gc2VsZi5zb3VyY2VfZGlyc10p
Ci0gICAgICAgIHNlbGYuX3J1bl9jb21tYW5kKGFyZ3MsIGN3ZD1zZWxmLm91dHB1dF9kaXIpCi0K
LSAgICBkZWYgX3J1bl9ndGtkb2NfbWtodG1sKHNlbGYpOgotICAgICAgICAjIGd0a2RvYy1maXh4
cmVmIGV4cGVjdHMgdGhlIHBhdGhzIHRvIGJlIGh0bWwvbW9kdWxlbmFtZS4KLSAgICAgICAgaHRt
bF9kZXN0X2RpciA9IG9zLnBhdGguam9pbihzZWxmLm91dHB1dF9kaXIsICdodG1sJywgc2VsZi5t
b2R1bGVfbmFtZSkKLSAgICAgICAgc2VsZi5fY3JlYXRlX2RpcmVjdG9yeV9pZl9ub25leGlzdGVu
dChodG1sX2Rlc3RfZGlyKQotICAgICAgICBpZiBub3Qgb3MucGF0aC5pc2RpcihodG1sX2Rlc3Rf
ZGlyKToKLSAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigiJXMgaXMgbm90IGEgZGlyZWN0b3J5
LCBjb3VsZCBub3QgZ2VuZXJhdGUgSFRNTCIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAl
IGh0bWxfZGVzdF9kaXIpCi0gICAgICAgIGVsaWYgbm90IG9zLmFjY2VzcyhodG1sX2Rlc3RfZGly
LCBvcy5YX09LIHwgb3MuUl9PSyB8IG9zLldfT0spOgotICAgICAgICAgICAgcmFpc2UgRXhjZXB0
aW9uKCJDb3VsZCBub3QgYWNjZXNzICVzIHRvIGdlbmVyYXRlIEhUTUwiCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgJSBodG1sX2Rlc3RfZGlyKQotCi0gICAgICAgICMgZ3RrZG9jLW1raHRt
bCBleHBlY3RzIHRoZSBTR01MIHBhdGggdG8gYmUgYWJzb2x1dGUuCi0gICAgICAgIHNnbWxfZmls
ZSA9IG9zLnBhdGguam9pbihvcy5wYXRoLmFic3BhdGgoc2VsZi5vdXRwdXRfZGlyKSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYubWFpbl9zZ21sX2ZpbGUpCi0gICAgICAg
IHNlbGYuX3JhaXNlX2V4Y2VwdGlvbl9pZl9maWxlX2luYWNjZXNzaWJsZShzZ21sX2ZpbGUpCi0K
LSAgICAgICAgc2VsZi5fcnVuX2NvbW1hbmQoWydndGtkb2MtbWtodG1sJywgc2VsZi5tb2R1bGVf
bmFtZSwgc2dtbF9maWxlXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY3dkPWh0bWxfZGVz
dF9kaXIpCi0KLSAgICBkZWYgX3J1bl9ndGtkb2NfZml4eHJlZihzZWxmKToKLSAgICAgICAgYXJn
cyA9IFsnZ3RrZG9jLWZpeHhyZWYnLAotICAgICAgICAgICAgICAgICctLW1vZHVsZT0lcycgJSBz
ZWxmLm1vZHVsZV9uYW1lLAotICAgICAgICAgICAgICAgICctLW1vZHVsZS1kaXI9aHRtbC8lcycg
JSBzZWxmLm1vZHVsZV9uYW1lXQotICAgICAgICBhcmdzLmV4dGVuZChbJy0tZXh0cmEtZGlyPSVz
JyAlIGV4dHJhX2RpciBmb3IgZXh0cmFfZGlyIGluIHNlbGYuY3Jvc3NfcmVmZXJlbmNlX2RlcHNd
KQotICAgICAgICBzZWxmLl9ydW5fY29tbWFuZChhcmdzLCBjd2Q9c2VsZi5vdXRwdXRfZGlyLCBp
Z25vcmVfd2FybmluZ3M9VHJ1ZSkKLQotICAgICAgICAjIGd0a2RvYy1maXh4cmVmIGhhcyBzb21l
IHByZWRlZmluZWQgbGlua3MgZm9yIHdoaWNoIGl0IGFsd2F5cyB1c2VzIGFic29sdXRlIHBhdGhz
LgotICAgICAgICBodG1sX2Rpcl9wcmVmaXggPSBvcy5wYXRoLmpvaW4oc2VsZi52aXJ0dWFsX3Jv
b3QgKyBzZWxmLnByZWZpeCwgJ3NoYXJlJywgJ2d0ay1kb2MnLCAnaHRtbCcpCi0gICAgICAgIG1v
ZHVsZV9kaXIgPSBvcy5wYXRoLmpvaW4oc2VsZi5vdXRwdXRfZGlyLCAnaHRtbCcsIHNlbGYubW9k
dWxlX25hbWUpCi0gICAgICAgIGZvciBlbnRyeSBpbiBvcy5saXN0ZGlyKG1vZHVsZV9kaXIpOgot
ICAgICAgICAgICAgaWYgbm90IGVudHJ5LmVuZHN3aXRoKCcuaHRtbCcpOgotICAgICAgICAgICAg
ICAgIGNvbnRpbnVlCi0KLSAgICAgICAgICAgIGZpbGVuYW1lID0gb3MucGF0aC5qb2luKG1vZHVs
ZV9kaXIsIGVudHJ5KQotICAgICAgICAgICAgY29udGVudHMgPSAnJwotICAgICAgICAgICAgd2l0
aCBjb2RlY3Mub3BlbihmaWxlbmFtZSwgJ3InLCBlbmNvZGluZz0ndXRmLTgnKSBhcyBmOgotICAg
ICAgICAgICAgICAgIGNvbnRlbnRzID0gZi5yZWFkKCkKLQotICAgICAgICAgICAgaWYgbm90IGh0
bWxfZGlyX3ByZWZpeCBpbiBjb250ZW50czoKLSAgICAgICAgICAgICAgICBjb250aW51ZQotCi0g
ICAgICAgICAgICB0bXBfZmlsZW5hbWUgPSBmaWxlbmFtZSArICcubmV3JwotICAgICAgICAgICAg
bmV3X2NvbnRlbnRzID0gY29udGVudHMucmVwbGFjZShodG1sX2Rpcl9wcmVmaXgsICcuLicpCi0g
ICAgICAgICAgICB3aXRoIGNvZGVjcy5vcGVuKHRtcF9maWxlbmFtZSwgJ3cnLCBlbmNvZGluZz0n
dXRmLTgnKSBhcyBmOgotICAgICAgICAgICAgICAgIGYud3JpdGUobmV3X2NvbnRlbnRzKQotCi0g
ICAgICAgICAgICBvcy5yZW5hbWUodG1wX2ZpbGVuYW1lLCBmaWxlbmFtZSkKLQotICAgIGRlZiBy
ZWJhc2VfaW5zdGFsbGVkX2RvY3Moc2VsZik6Ci0gICAgICAgIGlmIG5vdCBvcy5wYXRoLmlzZGly
KHNlbGYub3V0cHV0X2Rpcik6Ci0gICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIlRyaWVkIHRv
IHJlYmFzZSBkb2N1bWVudGF0aW9uIGJlZm9yZSBnZW5lcmF0aW5nIGl0LiIpCi0gICAgICAgIGh0
bWxfZGlyID0gb3MucGF0aC5qb2luKHNlbGYudmlydHVhbF9yb290ICsgc2VsZi5wcmVmaXgsICdz
aGFyZScsICdndGstZG9jJywgJ2h0bWwnLCBzZWxmLm1vZHVsZV9uYW1lKQotICAgICAgICBpZiBu
b3Qgb3MucGF0aC5pc2RpcihodG1sX2Rpcik6Ci0gICAgICAgICAgICByZXR1cm4KLSAgICAgICAg
YXJncyA9IFsnZ3RrZG9jLXJlYmFzZScsCi0gICAgICAgICAgICAgICAgJy0tcmVsYXRpdmUnLAot
ICAgICAgICAgICAgICAgICctLWh0bWwtZGlyPSVzJyAlIGh0bWxfZGlyXQotICAgICAgICBhcmdz
LmV4dGVuZChbJy0tb3RoZXItZGlyPSVzJyAlIGV4dHJhX2RpciBmb3IgZXh0cmFfZGlyIGluIHNl
bGYuY3Jvc3NfcmVmZXJlbmNlX2RlcHNdKQotICAgICAgICBpZiBzZWxmLnZpcnR1YWxfcm9vdDoK
LSAgICAgICAgICAgIGFyZ3MuZXh0ZW5kKFsnLS1kZXN0LWRpcj0lcycgJSBzZWxmLnZpcnR1YWxf
cm9vdF0pCi0gICAgICAgIHNlbGYuX3J1bl9jb21tYW5kKGFyZ3MsIGN3ZD1zZWxmLm91dHB1dF9k
aXIpCi0KLSAgICBkZWYgYXBpX21pc3NpbmdfZG9jdW1lbnRhdGlvbihzZWxmKToKLSAgICAgICAg
dW51c2VkX2RvY19maWxlID0gb3MucGF0aC5qb2luKHNlbGYub3V0cHV0X2Rpciwgc2VsZi5tb2R1
bGVfbmFtZSArICItdW51c2VkLnR4dCIpCi0gICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyh1
bnVzZWRfZG9jX2ZpbGUpIG9yIG5vdCBvcy5hY2Nlc3ModW51c2VkX2RvY19maWxlLCBvcy5SX09L
KToKLSAgICAgICAgICAgIHJldHVybiBbXQotICAgICAgICByZXR1cm4gb3Blbih1bnVzZWRfZG9j
X2ZpbGUpLnJlYWQoKS5zcGxpdGxpbmVzKCkKLQotY2xhc3MgUGtnQ29uZmlnR1RLRG9jKEdUS0Rv
Yyk6Ci0KLSAgICAiIiJDbGFzcyByZWFkcyBhIGxpYnJhcnkncyBwa2djb25maWcgZmlsZSB0byBn
dWVzcyBndGtkb2MgcGFyYW1ldGVycy4KLQotICAgIFNvbWUgZ3RrZG9jIHBhcmFtZXRlcnMgY2Fu
IGJlIGd1ZXNzZWQgYnkgcmVhZGluZyBhIGxpYnJhcnkncyBwa2djb25maWcKLSAgICBmaWxlLCBp
bmNsdWRpbmcgdGhlIGNmbGFncywgbGRmbGFncyBhbmQgdmVyc2lvbiBwYXJhbWV0ZXJzLiBJZiB5
b3UKLSAgICBwcm92aWRlIHRoZXNlIHBhcmFtZXRlcnMgYXMgd2VsbCwgdGhleSB3aWxsIGJlIGFw
cGVuZGVkIHRvIHRoZSBvbmVzCi0gICAgZ3Vlc3NlZCB2aWEgdGhlIHBrZ2NvbmZpZyBmaWxlLgot
Ci0gICAgS2V5d29yZCBhcmd1bWVudHM6Ci0gICAgICBwa2dfY29uZmlnX3BhdGggLS0gUGF0aCB0
byB0aGUgcGtnY29uZmlnIGZpbGUgZm9yIHRoZSBsaWJyYXJ5LiBSZXF1aXJlZC4KLSAgICAiIiIK
LQotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwa2dfY29uZmlnX3BhdGgsIGFyZ3MpOgotICAgICAg
ICBzdXBlcihQa2dDb25maWdHVEtEb2MsIHNlbGYpLl9faW5pdF9fKGFyZ3MpCi0KLSAgICAgICAg
cGtnX2NvbmZpZyA9IG9zLmVudmlyb24uZ2V0KCdQS0dfQ09ORklHJywgJ3BrZy1jb25maWcnKQot
Ci0gICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhwa2dfY29uZmlnX3BhdGgpOgotICAgICAg
ICAgICAgcmFpc2UgRXhjZXB0aW9uKCdDb3VsZCBub3QgZmluZCBwa2ctY29uZmlnIGZpbGUgYXQ6
ICVzJwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICUgcGtnX2NvbmZpZ19wYXRoKQotCi0g
ICAgICAgIHNlbGYuY2ZsYWdzICs9ICIgIiArIHNlbGYuX3J1bl9jb21tYW5kKFtwa2dfY29uZmln
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGtnX2Nv
bmZpZ19wYXRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJy0tY2ZsYWdzJ10sIHByaW50X291dHB1dD1GYWxzZSkKLSAgICAgICAgc2VsZi5sZGZsYWdz
ICs9ICIgIiArIHNlbGYuX3J1bl9jb21tYW5kKFtwa2dfY29uZmlnLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGtnX2NvbmZpZ19wYXRoLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0tbGlicyddLCBwcmlu
dF9vdXRwdXQ9RmFsc2UpCi0gICAgICAgIHNlbGYudmVyc2lvbiA9IHNlbGYuX3J1bl9jb21tYW5k
KFtwa2dfY29uZmlnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cGtnX2NvbmZpZ19wYXRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJy0tbW9kdmVyc2lvbiddLCBwcmludF9vdXRwdXQ9RmFsc2UpCi0gICAgICAgIHNlbGYucHJl
Zml4ID0gc2VsZi5fcnVuX2NvbW1hbmQoW3BrZ19jb25maWcsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHBrZ19jb25maWdfcGF0aCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJy0tdmFyaWFibGU9cHJlZml4J10sIHByaW50X291dHB1
dD1GYWxzZSkKZGlmZiAtLWdpdCBhL1Rvb2xzL2d0a2RvYy9nZW5lcmF0ZS1ndGtkb2MgYi9Ub29s
cy9ndGtkb2MvZ2VuZXJhdGUtZ3RrZG9jCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYyODA4MThmMGMxNmRmYWU4ZDY5
NDY5MmQ1ZWU0OTZlMTUwYjVjNWYKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9ndGtkb2MvZ2Vu
ZXJhdGUtZ3RrZG9jCkBAIC0wLDAgKzEsMjUyIEBACisjIS91c3IvYmluL2VudiBweXRob24KKyMg
Q29weXJpZ2h0IChDKSAyMDExIElnYWxpYSBTLkwuCisjCisjIFRoaXMgbGlicmFyeSBpcyBmcmVl
IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyMgbW9kaWZ5IGl0IHVu
ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworIyBMaWNlbnNl
IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyMg
dmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2
ZXJzaW9uLgorIworIyBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh
dCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0
IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyMgTGVzc2VyIEdlbmVy
YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKyMgWW91IHNob3VsZCBoYXZl
IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworIyBMaWNl
bnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNv
ZnR3YXJlCisjIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxv
b3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQorCitmcm9tIF9fZnV0dXJlX18gaW1wb3J0
IHByaW50X2Z1bmN0aW9uCitmcm9tIENvbmZpZ1BhcnNlciBpbXBvcnQgU2FmZUNvbmZpZ1BhcnNl
cgorCitpbXBvcnQgYXJncGFyc2UKK2ltcG9ydCBjb2RlY3MKK2ltcG9ydCBnbG9iCitpbXBvcnQg
Z3RrZG9jCitpbXBvcnQgbG9nZ2luZworaW1wb3J0IG9zLnBhdGgKK2ltcG9ydCBzeXMKKwordG9w
X2xldmVsX2RpcmVjdG9yeSA9IG9zLnBhdGgubm9ybXBhdGgob3MucGF0aC5qb2luKG9zLnBhdGgu
ZGlybmFtZShfX2ZpbGVfXyksICcuLicsICcuLicpKQorc3lzLnBhdGguaW5zZXJ0KDAsIG9zLnBh
dGguam9pbih0b3BfbGV2ZWxfZGlyZWN0b3J5LCAnVG9vbHMnLCAnZ2xpYicpKQoraW1wb3J0IGNv
bW1vbgorCitzeXMuc3Rkb3V0ID0gY29kZWNzLmdldHdyaXRlcigidXRmLTgiKShzeXMuc3Rkb3V0
KQorc3lzLnN0ZGVyciA9IGNvZGVjcy5nZXR3cml0ZXIoInV0Zi04Iikoc3lzLnN0ZGVycikKKwor
ZGVmIGNvbmZpZ3VyZV9sb2dnaW5nKHZlcmJvc2UpOgorICAgIGxldmVsID0gbG9nZ2luZy5ERUJV
RyBpZiB2ZXJib3NlIGVsc2UgbG9nZ2luZy5JTkZPCisgICAgbG9nZ2VyID0gbG9nZ2luZy5nZXRM
b2dnZXIoJ2d0a2RvYycpCisgICAgbG9nZ2VyLnNldExldmVsKGxldmVsKQorICAgIGhhbmRsZXIg
PSBsb2dnaW5nLlN0cmVhbUhhbmRsZXIoKQorICAgIGhhbmRsZXIuc2V0TGV2ZWwobGV2ZWwpCisg
ICAgbG9nZ2VyLmFkZEhhbmRsZXIoaGFuZGxlcikKKyAgICBpZiBsZXZlbCA9PSBsb2dnaW5nLkRF
QlVHOgorICAgICAgICBoYW5kbGVyLnNldEZvcm1hdHRlcihsb2dnaW5nLkZvcm1hdHRlcignWyUo
YXNjdGltZSlzXSAgJShtZXNzYWdlKXMnKSkKKyAgICBlbHNlOgorICAgICAgICBoYW5kbGVyLnNl
dEZvcm1hdHRlcihsb2dnaW5nLkZvcm1hdHRlcignJShtZXNzYWdlKXMnKSkKKworZGVmIGdldF9n
dGtkb2NfbW9kdWxlX3BhdGhzKGNyb3NzX3JlZmVyZW5jZV9kZXBzKToKKyAgICBkZXBlbmRlbnRf
cGFja2FnZXMgPSB7CisgICAgICAgICdnbGliLTIuMCcgOiBbJ2dsaWInLCAnZ29iamVjdCcsICdn
aW8nXSwKKyAgICAgICAgJ2xpYnNvdXAtMi40JyA6IFsnbGlic291cC0yLjQnXQorICAgIH0KKwor
ICAgIGlmIGFyZ3VtZW50cy5ndGs6CisgICAgICAgIGRlcGVuZGVudF9wYWNrYWdlc1snZ2RrLXBp
eGJ1Zi0yLjAnXSA9IFsnZ2RrLXBpeGJ1ZiddCisgICAgICAgIGRlcGVuZGVudF9wYWNrYWdlc1sn
Z3RrKy0zLjAnXSA9IFsnZ3RrMycsICdnZGszJ10KKworICAgIHBhdGhzID0gW10KKyAgICBodG1s
X2RpciA9IG9zLnBhdGguam9pbignc2hhcmUnLCAnZ3RrLWRvYycsICdodG1sJykKKyAgICBmb3Ig
cGFja2FnZSwgbW9kdWxlcyBpbiBkZXBlbmRlbnRfcGFja2FnZXMuaXRlcml0ZW1zKCk6CisgICAg
ICAgIHByZWZpeCA9IGNvbW1vbi5wcmVmaXhfb2ZfcGtnX2NvbmZpZ19maWxlKHBhY2thZ2UpCisg
ICAgICAgIGlmIHByZWZpeCBpcyBOb25lOgorICAgICAgICAgICAgY29udGludWUKKyAgICAgICAg
Zm9yIG1vZHVsZSBpbiBtb2R1bGVzOgorICAgICAgICAgICAgcGF0aHMuYXBwZW5kKG9zLnBhdGgu
am9pbihwcmVmaXgsIGh0bWxfZGlyLCBtb2R1bGUpKQorCisgICAgZm9yIGxvY2FsX2RlcCBpbiBj
cm9zc19yZWZlcmVuY2VfZGVwczoKKyAgICAgICAgcGF0aHMuYXBwZW5kKGNvbW1vbi5idWlsZF9w
YXRoKCdEb2N1bWVudGF0aW9uJywgbG9jYWxfZGVwLCAnaHRtbCcpKQorICAgIHJldHVybiBwYXRo
cworCitkZWYgcHJpbnRfbWlzc2luZ19hcGkoZ2VuZXJhdG9yKToKKyAgICBtaXNzaW5nX2FwaSA9
IGdlbmVyYXRvci5hcGlfbWlzc2luZ19kb2N1bWVudGF0aW9uKCkKKyAgICBpZiBub3QgbWlzc2lu
Z19hcGk6CisgICAgICAgIHJldHVybgorICAgIHByaW50KCJcblRoZSBmb2xsb3dpbmcgQVBJIGFy
ZSBtaXNzaW5nIGRvY3VtZW50YXRpb246IikKKyAgICBmb3IgYXBpIGluIG1pc3NpbmdfYXBpOgor
ICAgICAgICBwcmludCgiXHR7MH0iLmZvcm1hdChhcGkpKQorCitkZWYgZmlsZXNfdG9faWdub3Jl
KHNvdXJjZV9kaXJzLCBoZWFkZXJzX3dpdGhfZ3RrZG9jKToKKyAgICAiIiIKKyAgICBGaW5kIGZp
bGVzIHRvIGlnbm9yZSBkdXJpbmcgZG9jdW1lbnRhdGlvbiBnZW5lcmF0aW9uLiBXZSBhc3N1bWUg
dGhhdCBpZiBhbgorICAgIGltcGxlbWVudGF0aW9uIGZpbGUgZXhpc3RzIGZvciBhIGhlYWRlciB3
aXRoIGd0a2RvYyAoc2F5IHdlYmtpdGZvby5jcHAgZm9yCisgICAgd2Via2l0Zm9vLmgpIHdlIHNo
b3VsZG4ndCBpZ25vcmUgdGhhdCBmaWxlLiBDdXJyZW50bHkgdGhpcyBob2xkcyB0cnVlIGZvciBh
bGwKKyAgICBvZiB0aGUgV2ViS2l0IHByb2plY3QuCisgICAgIiIiCisgICAgaW1wbGVtZW50YXRp
b25fZmlsZXMgPSBsaXN0KGhlYWRlcnNfd2l0aF9ndGtkb2MpCisgICAgZm9yIGhlYWRlciBpbiBo
ZWFkZXJzX3dpdGhfZ3RrZG9jOgorICAgICAgICBkZWYgYWRkX2ZpbGVfaWZfZXhpc3RzKGZpbGVu
YW1lKToKKyAgICAgICAgICAgIGZvciBkaXIgaW4gc291cmNlX2RpcnM6CisgICAgICAgICAgICAg
ICAgZmlsZSA9IG9zLnBhdGguam9pbihkaXIsIGZpbGVuYW1lKQorICAgICAgICAgICAgICAgIGlm
IG9zLnBhdGguaXNmaWxlKGZpbGUpOgorICAgICAgICAgICAgICAgICAgICBpbXBsZW1lbnRhdGlv
bl9maWxlcy5hcHBlbmQob3MucGF0aC5hYnNwYXRoKGZpbGUpKQorICAgICAgICBoZWFkZXJfYmFz
ZW5hbWVfd2l0aG91dF9leHRlbnNpb24gPSBvcy5wYXRoLnNwbGl0ZXh0KG9zLnBhdGguYmFzZW5h
bWUoaGVhZGVyKSlbMF0KKyAgICAgICAgYWRkX2ZpbGVfaWZfZXhpc3RzKGhlYWRlcl9iYXNlbmFt
ZV93aXRob3V0X2V4dGVuc2lvbiArICIuY3BwIikKKyAgICAgICAgYWRkX2ZpbGVfaWZfZXhpc3Rz
KGhlYWRlcl9iYXNlbmFtZV93aXRob3V0X2V4dGVuc2lvbiArICJHdGsuY3BwIikKKyAgICAgICAg
YWRkX2ZpbGVfaWZfZXhpc3RzKGhlYWRlcl9iYXNlbmFtZV93aXRob3V0X2V4dGVuc2lvbiArICIu
YyIpCisKKyAgICBkZWYgZmlsZV9zaG91bGRfYmVfaWdub3JlZChmaWxlKToKKyAgICAgICAgaWYg
b3MucGF0aC5zcGxpdGV4dChmaWxlKVsxXSBub3QgaW4gWycuaCcsICcuYycsICcuY3BwJywgJy5j
YyddOgorICAgICAgICAgICAgcmV0dXJuIEZhbHNlICMgVGhlc2UgZmlsZXMgYXJlIGlnbm9yZWQg
YW55d2F5LgorICAgICAgICBpZiBub3Qgb3MucGF0aC5pc2ZpbGUoZmlsZSk6CisgICAgICAgICAg
ICByZXR1cm4gVHJ1ZQorICAgICAgICByZXR1cm4gb3MucGF0aC5hYnNwYXRoKGZpbGUpIG5vdCBp
biBpbXBsZW1lbnRhdGlvbl9maWxlcworCisgICAgYWxsX2ZpbGVzID0gc3VtKFtbb3MucGF0aC5q
b2luKGRpciwgZmlsZSkgZm9yIGZpbGUgaW4gb3MubGlzdGRpcihkaXIpXSBmb3IgZGlyIGluIHNv
dXJjZV9kaXJzXSwgW10pCisgICAgcmV0dXJuIGZpbHRlcihmaWxlX3Nob3VsZF9iZV9pZ25vcmVk
LCBhbGxfZmlsZXMpCisKK2RlZiBnZXRfZ2VuZXJhdG9yX2Zvcl9jb25maWcoY29uZmlnX2ZpbGUs
IHZpcnR1YWxfcm9vdCwgY3Jvc3NfcmVmZXJlbmNlX2RlcHMgPSBbXSk6CisgICAgaWYgbm90IG9z
LnBhdGguaXNmaWxlKGNvbmZpZ19maWxlKToKKyAgICAgICAgcmV0dXJuIE5vbmUKKworICAgIGNv
bmZpZyA9IFNhZmVDb25maWdQYXJzZXIoKQorICAgIGNvbmZpZy5yZWFkKGNvbmZpZ19maWxlKQor
ICAgIG1vZHVsZV9uYW1lID0gY29uZmlnLnNlY3Rpb25zKClbMF0KKyAgICBwa2djb25maWdfZmls
ZSA9IGNvbmZpZy5nZXQobW9kdWxlX25hbWUsICdwa2djb25maWdfZmlsZScpCisKKyAgICBpZiBu
b3Qgb3MucGF0aC5pc2ZpbGUocGtnY29uZmlnX2ZpbGUpOgorICAgICAgICByZXR1cm4gTm9uZQor
CisgICAgc291cmNlX2RpcnMgPSBjb25maWcuZ2V0KG1vZHVsZV9uYW1lLCAnc291cmNlX2RpcnMn
KS5yZXBsYWNlKCc7JywgJyAnKS5zcGxpdCgpCisgICAgaGVhZGVycyA9IFtvcy5wYXRoLmFic3Bh
dGgoZikgZm9yIGYgaW4gY29uZmlnLmdldChtb2R1bGVfbmFtZSwgJ2hlYWRlcnMnKS5yZXBsYWNl
KCc7JywgJyAnKS5zcGxpdCgpXQorICAgIHJldHVybiBndGtkb2MuUGtnQ29uZmlnR1RLRG9jKHBr
Z2NvbmZpZ19maWxlLCB7CisgICAgICAgICdkZWNvcmF0b3InOiBjb25maWcuZ2V0KG1vZHVsZV9u
YW1lLCAnZGVjb3JhdG9yJyksCisgICAgICAgICdkZXByZWNhdGlvbl9ndWFyZCc6IGNvbmZpZy5n
ZXQobW9kdWxlX25hbWUsICdkZXByZWNhdGlvbl9ndWFyZCcpLAorICAgICAgICAnbGlicmFyeV9w
YXRoJzogY29tbW9uLmxpYnJhcnlfYnVpbGRfcGF0aCgpLAorICAgICAgICAndmlydHVhbF9yb290
JzogdmlydHVhbF9yb290LAorICAgICAgICAnbW9kdWxlX25hbWUnOiBtb2R1bGVfbmFtZSwKKyAg
ICAgICAgJ25hbWVzcGFjZSc6IGNvbmZpZy5nZXQobW9kdWxlX25hbWUsICduYW1lc3BhY2UnKSwK
KyAgICAgICAgJ2RvY19kaXInOiBjb25maWcuZ2V0KG1vZHVsZV9uYW1lLCAnZG9jX2RpcicpLAor
ICAgICAgICAnb3V0cHV0X2Rpcic6IGNvbW1vbi5idWlsZF9wYXRoKCdEb2N1bWVudGF0aW9uJywg
bW9kdWxlX25hbWUpLAorICAgICAgICAnbWFpbl9zZ21sX2ZpbGUnOiBjb25maWcuZ2V0KG1vZHVs
ZV9uYW1lLCAnbWFpbl9zZ21sX2ZpbGUnKSwKKyAgICAgICAgJ3NvdXJjZV9kaXJzJzogc291cmNl
X2RpcnMsCisgICAgICAgICdoZWFkZXJzJzogaGVhZGVycywKKyAgICAgICAgJ2NmbGFncyc6ICIg
Ii5qb2luKGNvbmZpZy5nZXQobW9kdWxlX25hbWUsICdjZmxhZ3MnKS5zcGxpdCgpKSwKKyAgICAg
ICAgJ2Nyb3NzX3JlZmVyZW5jZV9kZXBzJzogZ2V0X2d0a2RvY19tb2R1bGVfcGF0aHMoY3Jvc3Nf
cmVmZXJlbmNlX2RlcHMpLAorICAgICAgICAnaWdub3JlZF9maWxlcyc6IGZpbGVzX3RvX2lnbm9y
ZShzb3VyY2VfZGlycywgaGVhZGVycyksCisgICAgfSkKKworZGVmIGdlbmVyYXRlX2RvYyhnZW5l
cmF0b3IsIHNraXBfaHRtbCk6CisgICAgZ2VuZXJhdG9yLmdlbmVyYXRlKG5vdCBza2lwX2h0bWwp
CisgICAgaWYgZ2VuZXJhdG9yLnNhd193YXJuaW5nczoKKyAgICAgICAgcHJpbnRfbWlzc2luZ19h
cGkoZ2VuZXJhdG9yKQorICAgIHJldHVybiBnZW5lcmF0b3Iuc2F3X3dhcm5pbmdzCisKK2RlZiBy
ZWJhc2VfZG9jKGdlbmVyYXRvcik6CisgICAgdHJ5OgorICAgICAgICBnZW5lcmF0b3IucmViYXNl
X2luc3RhbGxlZF9kb2NzKCkKKyAgICBleGNlcHQgRXhjZXB0aW9uOgorICAgICAgICBwcmludCgi
UmViYXNlIGRpZCBub3QgaGFwcGVuLCBsaWtlbHkgbm8gZG9jdW1lbnRhdGlvbiBpcyBwcmVzZW50
LiIpCisKK2RlZiBnZW5lcmF0ZV9kb2N1bWVudGF0aW9uKGdlbmVyYXRvcik6CisgICAgaWYgbm90
IGFyZ3VtZW50cy5yZWJhc2U6CisgICAgICAgIHJldHVybiBnZW5lcmF0ZV9kb2MoZ2VuZXJhdG9y
LCBhcmd1bWVudHMuc2tpcF9odG1sKQorCisgICAgcmViYXNlX2RvYyhnZW5lcmF0b3IpCisgICAg
cmV0dXJuIEZhbHNlCisKK2RlZiBwcmVwYXJlX2Vudmlyb25tZW50X2Zvcl9ndGtkb2NfZ2VuZXJh
dGlvbigpOgorICAgICMgV2UgbmVlZCB0byBhZGQgdGhlIEphdmFTY3JpcHRDb3JlIGJ1aWxkIGRp
cmVjdG9yeSB0byB0aGUgUEtHX0NPTkZJR19QQVRICisgICAgIyBzbyB0aGF0IHBrZ2NvbmZpZyBj
YW4gcHJvcGVybHkgcmVzb2x2ZSB0aGUgbGliamF2YXNjcmlwdGNvcmUgZGVwZW5kZW5jeS4KKyAg
ICBwa2dfY29uZmlnX3BhdGggPSBvcy5lbnZpcm9uLmdldCgiUEtHX0NPTkZJR19QQVRIIikKKyAg
ICBvcy5lbnZpcm9uWydQS0dfQ09ORklHX1BBVEgnXSA9IGNvbW1vbi5idWlsZF9wYXRoKCdTb3Vy
Y2UnLCAnSmF2YVNjcmlwdENvcmUnKQorICAgIGlmIHBrZ19jb25maWdfcGF0aDoKKyAgICAgICAg
b3MuZW52aXJvblsnUEtHX0NPTkZJR19QQVRIJ10gKz0gJzonICsgcGtnX2NvbmZpZ19wYXRoCisK
KyAgICAjIE5ld2VyIHZlcnNpb25zIG9mIGdsaWIgaGF2ZSBkZXByZWNhdGVkIGdfdHlwZV9pbml0
LCBzbyB3ZSBuZWVkIHRvIGRpc2FibGUKKyAgICAjIHRoYXQgd2FybmluZyB3aGVuIHJ1bm5pbmcg
Z3RrZG9jLXNjYW5vYmogYnkgb3ZlcnJpZGluZyB0aGUgQ0ZMQUdTIHdlIHVzZQorICAgICMgdG8g
Y29tcGlsZSBpdC4KKyAgICBjZmxhZ3MgPSBvcy5lbnZpcm9uLmdldCgnQ0ZMQUdTJywgJycpCisg
ICAgY2ZsYWdzICs9ICcgLURHTElCX1ZFUlNJT05fTUlOX1JFUVVJUkVEPUdMSUJfVkVSU0lPTl8y
XzMyJworCisgICAgIyBJbiBub24teDg2IGFyY2hpdGVjdHVyZXMsIHdoZW4gYSBwb2ludGVyIGlz
IGNhc3QgdG8gKHZvaWQqKSBhbmQKKyAgICAjIGJhY2ssIHRoZSBjb21waWxlciB0aGlua3MgdGhh
dCB0aGUgYWxpZ25tZW50IGlzIHJhbmRvbS4gU2luY2UKKyAgICAjIGd0a2RvYyBidWlsZCBpcyBi
cm9rZW4gYXQgYW55IHdhcm5pbmcgbWVzc2FnZSwgaXQgaXMgYmV0dGVyIHRvCisgICAgIyBzaWxl
bmNlIHRoZXNlIGZhbHNlIHBvc2l0aXZlcy4KKyAgICBjZmxhZ3MgKz0gJyAtV25vLWNhc3QtYWxp
Z24nCisgICAgb3MuZW52aXJvblsnQ0ZMQUdTJ10gPSBjZmxhZ3MKKworICAgICMgUGF0aHMgZnJv
bSB0aGUgR05VbWFrZWZpbGUgZ2VuZXJhdGVkIGNvbmZpZ3VyYXRpb24gZmlsZXMgYXJlIHJlbGF0
aXZlIHRvIHRoZSBidWlsZCBkaXJlY3RvcnkuCisgICAgb3MuY2hkaXIoY29tbW9uLmJ1aWxkX3Bh
dGgoKSkKKworZGVmIGJ1aWxkX2d0a2RvY19mb3Jfd3BlKGFyZ3VtZW50cyk6CisgICAgd2ViZXh0
ZW5zaW9uc19nZW5lcmF0b3IgPSBnZXRfZ2VuZXJhdG9yX2Zvcl9jb25maWcoY29tbW9uLmJ1aWxk
X3BhdGgoJ2d0a2RvYy13ZWJleHRlbnNpb25zLmNmZycpLCBhcmd1bWVudHMudmlydHVhbF9yb290
KQorICAgIGlmIG5vdCB3ZWJleHRlbnNpb25zX2dlbmVyYXRvcjoKKyAgICAgICAgcHJpbnQoImd0
a2RvYy13ZWJleHRlbnNpb25zLmNmZyBkb2VzIG5vdCBleGlzdCEgU2tpcHBpbmcgdGhhdCBkb2N1
bWVudGF0aW9uIikKKyAgICAgICAgc3lzLmV4aXQoMSkKKyAgICBzYXdfd2FybmluZ3MgPSBnZW5l
cmF0ZV9kb2N1bWVudGF0aW9uKHdlYmV4dGVuc2lvbnNfZ2VuZXJhdG9yKQorICAgIGlmIHNhd193
YXJuaW5nczoKKyAgICAgICAgc3lzLmV4aXQoc2F3X3dhcm5pbmdzKQorCisgICAgd3BlX2dlbmVy
YXRvciA9IGdldF9nZW5lcmF0b3JfZm9yX2NvbmZpZyhjb21tb24uYnVpbGRfcGF0aCgnZ3RrZG9j
LXdwZS5jZmcnKSwgYXJndW1lbnRzLnZpcnR1YWxfcm9vdCkKKyAgICBpZiBub3Qgd3BlX2dlbmVy
YXRvcjoKKyAgICAgICAgcHJpbnQoImd0a2RvYy13cGUuY2ZnIGRvZXMgbm90IGV4aXN0ISBTa2lw
cGluZyB0aGF0IGRvY3VtZW50YXRpb24iKQorICAgICAgICBzeXMuZXhpdCgxKQorICAgIHNhd193
YXJuaW5ncyA9IGdlbmVyYXRlX2RvY3VtZW50YXRpb24od3BlX2dlbmVyYXRvcikKKyAgICBzeXMu
ZXhpdChzYXdfd2FybmluZ3MpCisKK2RlZiBidWlsZF9ndGtkb2NfZm9yX3drZ3RrKGFyZ3VtZW50
cyk6CisgICAganNjX2dlbmVyYXRvciA9IGdldF9nZW5lcmF0b3JfZm9yX2NvbmZpZyhjb21tb24u
YnVpbGRfcGF0aCgnZ3RrZG9jLWpzYy1nbGliLmNmZycpLCBhcmd1bWVudHMudmlydHVhbF9yb290
KQorICAgIGlmIG5vdCBqc2NfZ2VuZXJhdG9yOgorICAgICAgICBwcmludCgiZ3RrZG9jLWpzYy1n
bGliLmNmZyBkb2VzIG5vdCBleGlzdCEgU2tpcHBpbmcgdGhhdCBkb2N1bWVudGF0aW9uIikKKyAg
ICAgICAgc3lzLmV4aXQoMSkKKyAgICBzYXdfd2FybmluZ3MgPSBnZW5lcmF0ZV9kb2N1bWVudGF0
aW9uKGpzY19nZW5lcmF0b3IpCisgICAgaWYgc2F3X3dhcm5pbmdzOgorICAgICAgICBzeXMuZXhp
dChzYXdfd2FybmluZ3MpCisKKyAgICB3ZWJraXRkb21fZ2VuZXJhdG9yID0gZ2V0X2dlbmVyYXRv
cl9mb3JfY29uZmlnKGNvbW1vbi5idWlsZF9wYXRoKCdndGtkb2Mtd2Via2l0ZG9tLmNmZycpLCBh
cmd1bWVudHMudmlydHVhbF9yb290LCBbanNjX2dlbmVyYXRvci5tb2R1bGVfbmFtZV0pCisgICAg
aWYgbm90IHdlYmtpdGRvbV9nZW5lcmF0b3I6CisgICAgICAgIHByaW50KCJndGtkb2Mtd2Via2l0
ZG9tLmNmZyBkb2VzIG5vdCBleGlzdCEgU2tpcHBpbmcgdGhhdCBkb2N1bWVudGF0aW9uIikKKyAg
ICAgICAgc3lzLmV4aXQoMSkKKyAgICBzYXdfd2FybmluZ3MgPSBnZW5lcmF0ZV9kb2N1bWVudGF0
aW9uKHdlYmtpdGRvbV9nZW5lcmF0b3IpCisgICAgaWYgc2F3X3dhcm5pbmdzOgorICAgICAgICBz
eXMuZXhpdChzYXdfd2FybmluZ3MpCisKKyAgICB3ZWJraXQyX2dlbmVyYXRvciA9IGdldF9nZW5l
cmF0b3JfZm9yX2NvbmZpZyhjb21tb24uYnVpbGRfcGF0aCgnZ3RrZG9jLXdlYmtpdDJndGsuY2Zn
JyksIGFyZ3VtZW50cy52aXJ0dWFsX3Jvb3QsIFt3ZWJraXRkb21fZ2VuZXJhdG9yLm1vZHVsZV9u
YW1lLCBqc2NfZ2VuZXJhdG9yLm1vZHVsZV9uYW1lXSkKKyAgICBpZiBub3Qgd2Via2l0Ml9nZW5l
cmF0b3I6CisgICAgICAgIHByaW50KCJndGtkb2Mtd2Via2l0Mmd0ay5jZmcgZG9lcyBub3QgZXhp
c3QhIFNraXBwaW5nIHRoYXQgZG9jdW1lbnRhdGlvbiIpCisgICAgICAgIHN5cy5leGl0KDEpCisg
ICAgc2F3X3dhcm5pbmdzID0gZ2VuZXJhdGVfZG9jdW1lbnRhdGlvbih3ZWJraXQyX2dlbmVyYXRv
cikKKyAgICBzeXMuZXhpdChzYXdfd2FybmluZ3MpCisKK2lmIF9fbmFtZV9fID09ICJfX21haW5f
XyI6CisgICAgcGFyc2VyID0gYXJncGFyc2UuQXJndW1lbnRQYXJzZXIoZGVzY3JpcHRpb249J0dl
bmVyYXRlIGd0a2RvYyBmb3IgV2ViS2l0LicpCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLXYn
LCAnLS12ZXJib3NlJywgYWN0aW9uPSdzdG9yZV90cnVlJywKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGhlbHA9J1doZXRoZXIgb3Igbm90IHRvIHJ1biBpbiB2ZXJib3NlIG1vZGUuJykKKyAgICBw
YXJzZXIuYWRkX2FyZ3VtZW50KCctLXJlYmFzZScsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsCisgICAg
ICAgICAgICAgICAgICAgICAgICBoZWxwPSdXaGVuIHNwZWNpZmllZCwgcnVuIHRoZSB0b29sIGlu
IHJlYmFzZSBtb2RlLicpCisgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1za2lwLWh0bWwnLCBh
Y3Rpb249J3N0b3JlX3RydWUnLAorICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0nV2hldGhl
ciBvciBub3QgdG8gc2tpcCBIVE1MIGdlbmVyYXRpb24sIHdoaWNoIGNhbiBiZSBzbG93LicpCisg
ICAgcGFyc2VyLmFkZF9hcmd1bWVudCgnLS12aXJ0dWFsLXJvb3QnLCB0eXBlPXN0ciwgZGVmYXVs
dD0nJywKKyAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J0EgdGVtcG9yYXJ5IGluc3RhbGxh
dGlvbiBkaXJlY3Rvcnkgd2hpY2ggaXMgdXNlZCBhcyB0aGUgcm9vdCAnICsgXAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAnd2hlcmUgdGhlIGFjdHVhbCBpbnN0YWxsYXRpb24gcHJlZml4
IGxpdmVzOyB0aGlzIGlzIG1vc3RseSAnICsgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAndXNlZnVsIGZvciBwYWNrYWdlcnMsIGFuZCBzaG91bGQgYmUgc2V0IHRvIHdoYXQgaXMgZ2l2
ZW4gdG8gJyArIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ21ha2UgaW5zdGFsbCBh
cyBERVNURElSLicpCisKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLWd0aycsIGFjdGlvbj0n
c3RvcmVfdHJ1ZScsCisgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdCdWlsZCBkb2N1bWVu
dGF0aW9uIGZvciBXZWJLaXRHVEsrJykKKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLXdwZScs
IGFjdGlvbj0nc3RvcmVfdHJ1ZScsCisgICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSdCdWls
ZCBkb2N1bWVudGF0aW9uIGZvciBXUEUnKQorCisgICAgYXJndW1lbnRzID0gcGFyc2VyLnBhcnNl
X2FyZ3MoKQorICAgIGNvbmZpZ3VyZV9sb2dnaW5nKGFyZ3VtZW50cy52ZXJib3NlKQorCisgICAg
cHJlcGFyZV9lbnZpcm9ubWVudF9mb3JfZ3RrZG9jX2dlbmVyYXRpb24oKQorCisgICAgaWYgYXJn
dW1lbnRzLndwZToKKyAgICAgICAgYnVpbGRfZ3RrZG9jX2Zvcl93cGUoYXJndW1lbnRzKQorICAg
IGVsaWYgYXJndW1lbnRzLmd0azoKKyAgICAgICAgYnVpbGRfZ3RrZG9jX2Zvcl93a2d0ayhhcmd1
bWVudHMpCisgICAgZWxzZToKKyAgICAgICAgcHJpbnQoJ1BsZWFzZSBjaG9vc2UgYSBXZWJLaXQg
cG9ydCB3aXRoIC0tZ3RrIG9yIC0td3BlJykKKyAgICAgICAgc3lzLmV4aXQoMSkKZGlmZiAtLWdp
dCBhL1Rvb2xzL2d0a2RvYy9ndGtkb2MucHkgYi9Ub29scy9ndGtkb2MvZ3RrZG9jLnB5Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjQ3OTY4NDQ2Y2M1NDhjZmE2YTljZmNjMTllNWRhMzQzMjNkYTg2MGEKLS0tIC9kZXYv
bnVsbAorKysgYi9Ub29scy9ndGtkb2MvZ3RrZG9jLnB5CkBAIC0wLDAgKzEsNDU1IEBACisjIENv
cHlyaWdodCAoQykgMjAxMSBJZ2FsaWEgUy5MLgorIworIyBUaGlzIGxpYnJhcnkgaXMgZnJlZSBz
b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisjIG1vZGlmeSBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyMgTGljZW5zZSBh
cyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisjIHZl
cnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy
c2lvbi4KKyMKKyMgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg
aXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl
dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisjIExlc3NlciBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisjIFlvdSBzaG91bGQgaGF2ZSBy
ZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyMgTGljZW5z
ZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0
d2FyZQorIyBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29y
LCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKKworaW1wb3J0IGNvZGVjcworaW1wb3J0IGVy
cm5vCitpbXBvcnQgbG9nZ2luZworaW1wb3J0IG9zCitpbXBvcnQgb3MucGF0aAoraW1wb3J0IHN1
YnByb2Nlc3MKK2ltcG9ydCBzeXMKKworCitjbGFzcyBHVEtEb2Mob2JqZWN0KToKKworICAgICIi
IkNsYXNzIHRoYXQgY29udHJvbHMgYSBndGtkb2MgcnVuLgorCisgICAgRWFjaCBpbnN0YW5jZSBv
ZiB0aGlzIGNsYXNzIHJlcHJlc2VudHMgb25lIGd0a2RvYyBjb25maWd1cmF0aW9uCisgICAgYW5k
IHNldCBvZiBkb2N1bWVudGF0aW9uLiBUaGUgZ3RrZG9jIHBhY2thZ2UgaXMgYSBzZXJpZXMgb2Yg
dG9vbHMKKyAgICBydW4gY29uc2VjdXRpdmVseSB3aGljaCBjb252ZXJ0cyBpbmxpbmUgQy9DKysg
ZG9jdW1lbnRhdGlvbiBpbnRvCisgICAgZG9jYm9vayBmaWxlcyBhbmQgdGhlbiBpbnRvIEhUTUwu
IFRoaXMgY2xhc3MgaXMgc3VpdGFibGUgZm9yCisgICAgZ2VuZXJhdGluZyBkb2N1bWVudGF0aW9u
IG9yIHNpbXBseSB2ZXJpZnlpbmcgY29ycmVjdG5lc3MuCisKKyAgICBLZXl3b3JkIGFyZ3VtZW50
czoKKyAgICBvdXRwdXRfZGlyICAgICAgICAgLS0gVGhlIHBhdGggd2hlcmUgZ3RrZG9jIG91dHB1
dCBzaG91bGQgYmUgcGxhY2VkLiBHZW5lcmF0aW9uCisgICAgICAgICAgICAgICAgICAgICAgICAg
IG1heSBvdmVyd3JpdGUgZmlsZSBpbiB0aGlzIGRpcmVjdG9yeS4gUmVxdWlyZWQuCisgICAgbW9k
dWxlX25hbWUgICAgICAgIC0tIFRoZSBuYW1lIG9mIHRoZSBkb2N1bWVudGF0aW9uIG1vZHVsZS4g
Rm9yIGxpYnJhcmllcyB0aGlzCisgICAgICAgICAgICAgICAgICAgICAgICAgIGlzIHR5cGljYWxs
eSB0aGUgbGlicmFyeSBuYW1lLiBSZXF1aXJlZCBpZiBub3QgbGlicmFyeSBwYXRoCisgICAgICAg
ICAgICAgICAgICAgICAgICAgIGlzIGdpdmVuLgorICAgIHNvdXJjZV9kaXJzICAgICAgICAtLSBB
IGxpc3Qgb2YgcGF0aHMgdG8gZGlyZWN0b3JpZXMgb2Ygc291cmNlIGNvZGUgdG8gYmUgc2Nhbm5l
ZC4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgUmVxdWlyZWQgaWYgaGVhZGVycyBpcyBub3Qg
c3BlY2lmaWVkLgorICAgIGlnbm9yZWRfZmlsZXMgICAgICAtLSBBIGxpc3Qgb2YgZmlsZW5hbWVz
IHRvIGlnbm9yZSBpbiB0aGUgc291cmNlIGRpcmVjdG9yeS4gSXQgaXMKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgb25seSBuZWNlc3NhcnkgdG8gcHJvdmlkZSB0aGUgYmFzZW5hbWVzIG9mIHRo
ZXNlIGZpbGVzLgorICAgICAgICAgICAgICAgICAgICAgICAgICBUeXBpY2FsbHkgaXQgaXMgaW1w
b3J0YW50IHRvIHByb3ZpZGUgYW4gdXBkYXRlZCBsaXN0IG9mCisgICAgICAgICAgICAgICAgICAg
ICAgICAgIGlnbm9yZWQgZmlsZXMgdG8gcHJldmVudCB3YXJuaW5ncyBhYm91dCB1bmRvY3VtZW50
ZWQgc3ltYm9scy4KKyAgICBoZWFkZXJzICAgICAgICAgICAgLS0gQSBsaXN0IG9mIHBhdGhzIHRv
IGhlYWRlcnMgdG8gYmUgc2Nhbm5lZC4gUmVxdWlyZWQgaWYgc291cmNlX2RpcnMKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgaXMgbm90IHNwZWNpZmllZC4KKyAgICBuYW1lc3BhY2UgICAgICAg
ICAgLS0gVGhlIGxpYnJhcnkgbmFtZXNwYWNlLgorICAgIGRlY29yYXRvciAgICAgICAgICAtLSBJ
ZiBhIGRlY29yYXRvciBpcyB1c2VkIHRvIHVuaGlkZSBjZXJ0YWluIHN5bWJvbHMgaW4gaGVhZGVy
CisgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVzIHRoaXMgcGFyYW1ldGVyIGlzIHJlcXVp
cmVkIGZvciBzdWNjZXNzZnVsIHNjYW5uaW5nLgorICAgICAgICAgICAgICAgICAgICAgICAgICAo
ZGVmYXVsdCAnJykKKyAgICBkZXByZWNhdGlvbl9ndWFyZCAgLS0gZ3RrZG9jIHRyaWVzIHRvIGVu
c3VyZSB0aGF0IHN5bWJvbHMgbWFya2VkIGFzIGRlcHJlY2F0ZWQKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgYXJlIGVuY2FzZWQgaW4gdGhpcyBDIHByZXByb2Nlc3NvciBkZWZpbmUuIFRoaXMg
aXMgcmVxdWlyZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gYXZvaWQgZ3RrZG9jIHdh
cm5pbmdzLiAoZGVmYXVsdCAnJykKKyAgICBjZmxhZ3MgICAgICAgICAgICAgLS0gVGhpcyBwYXJh
bWV0ZXIgc3BlY2lmaWVzIGFueSBwcmVwcm9jZXNzb3IgZmxhZ3MgbmVjZXNzYXJ5IGZvcgorICAg
ICAgICAgICAgICAgICAgICAgICAgICBidWlsZGluZyB0aGUgc2Nhbm5lciBiaW5hcnkgZHVyaW5n
IGd0a2RvYy1zY2Fub2JqLiBUeXBpY2FsbHkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdGhp
cyBpbmNsdWRlcyBhbGwgYWJzb2x1dGUgaW5jbHVkZSBwYXRocyBuZWNlc3NhcnkgdG8gcmVzb2x2
ZQorICAgICAgICAgICAgICAgICAgICAgICAgICBhbGwgaGVhZGVyIGRlcGVuZGVuY2llcy4gKGRl
ZmF1bHQgJycpCisgICAgbGRmbGFncyAgICAgICAgICAgIC0tIFRoaXMgcGFyYW1ldGVyIHNwZWNp
ZmllcyBhbnkgbGlua2VyIGZsYWdzIG5lY2Vzc2FyeSBmb3IKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgYnVpbGRpbmcgdGhlIHNjYW5uZXIgYmluYXJ5IGR1cmluZyBndGtkb2Mtc2Nhbm9iai4g
VHlwaWNhbGx5CisgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMgaW5jbHVkZXMgIi1seW91
cmxpYnJhcnluYW1lIi4gKGRlZmF1bHQgJycpCisgICAgbGlicmFyeV9wYXRoICAgICAgIC0tIFRo
aXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgcGF0aCB0byB0aGUgZGlyZWN0b3J5IHdoZXJlIHlv
dQorICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJyYXJ5IHJlc2lkZXMgdXNlZCBmb3IgYnVp
bGRpbmcgdGhlIHNjYW5uZXIgYmluYXJ5IGR1cmluZworICAgICAgICAgICAgICAgICAgICAgICAg
ICBndGtkb2Mtc2Nhbm9iai4gKGRlZmF1bHQgJycpCisKKyAgICBkb2NfZGlyICAgICAgICAgICAg
LS0gVGhlIHBhdGggdG8gb3RoZXIgZG9jdW1lbnRhdGlvbiBmaWxlcyBuZWNlc3NhcnkgdG8gYnVp
bGQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGRvY3VtZW50YXRpb24uIFRoaXMgZmls
ZXMgaW4gdGhpcyBkaXJlY3RvcnkgYXMgd2VsbCBhcworICAgICAgICAgICAgICAgICAgICAgICAg
ICB0aGUgZmlsZXMgaW4gdGhlICdodG1sJyBzdWJkaXJlY3Rvcnkgd2lsbCBiZSBjb3BpZWQKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgcmVjdXJzaXZlbHkgaW50byB0aGUgb3V0cHV0IGRpcmVj
dG9yeS4gKGRlZmF1bHQgJycpCisgICAgbWFpbl9zZ21sX2ZpbGUgICAgIC0tIFRoZSBwYXRoIG9y
IG5hbWUgKGlmIGEgZG9jX2RpciBpcyBnaXZlbikgb2YgdGhlIFNHTUwgZmlsZQorICAgICAgICAg
ICAgICAgICAgICAgICAgICB0aGF0IGlzIHRoZSBjb25zaWRlcmVkIHRoZSBtYWluIHBhZ2Ugb2Yg
eW91ciBkb2N1bWVudGF0aW9uLgorICAgICAgICAgICAgICAgICAgICAgICAgICAoZGVmYXVsdDog
PG1vZHVsZV9uYW1lPi1kb2NzLnNnbWwpCisgICAgdmVyc2lvbiAgICAgICAgICAgIC0tIFRoZSB2
ZXJzaW9uIG51bWJlciBvZiB0aGUgbW9kdWxlLiBJZiB0aGlzIGlzIHByb3ZpZGVkLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICBhIHZlcnNpb24ueG1sIGZpbGUgY29udGFpbmluZyB0aGUgdmVy
c2lvbiB3aWxsIGJlIGNyZWF0ZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gdGhlIG91
dHB1dCBkaXJlY3RvcnkgZHVyaW5nIGRvY3VtZW50YXRpb24gZ2VuZXJhdGlvbi4KKworICAgIGlu
dGVyYWN0aXZlICAgICAgICAtLSBXaGV0aGVyIG9yIG5vdCBlcnJvcnMgb3Igd2FybmluZ3Mgc2hv
dWxkIHByb21wdCB0aGUgdXNlcgorICAgICAgICAgICAgICAgICAgICAgICAgICB0byBjb250aW51
ZSBvciBub3QuIFdoZW4gdGhpcyB2YWx1ZSBpcyBmYWxzZSwgZ2VuZXJhdGlvbgorICAgICAgICAg
ICAgICAgICAgICAgICAgICB3aWxsIGNvbnRpbnVlIGRlc3BpdGUgd2FybmluZ3MuIChkZWZhdWx0
IEZhbHNlKQorCisgICAgdmlydHVhbF9yb290ICAgICAgIC0tIEEgdGVtcG9yYXJ5IGluc3RhbGxh
dGlvbiBkaXJlY3Rvcnkgd2hpY2ggaXMgdXNlZCBhcyB0aGUgcm9vdAorICAgICAgICAgICAgICAg
ICAgICAgICAgICB3aGVyZSB0aGUgYWN0dWFsIGluc3RhbGxhdGlvbiBwcmVmaXggbGl2ZXM7IHRo
aXMgaXMgbW9zdGx5CisgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZWZ1bCBmb3IgcGFja2Fn
ZXJzLCBhbmQgc2hvdWxkIGJlIHNldCB0byB3aGF0IGlzIGdpdmVuIHRvCisgICAgICAgICAgICAg
ICAgICAgICAgICAgIG1ha2UgaW5zdGFsbCBhcyBERVNURElSLgorICAgICIiIgorCisgICAgZGVm
IF9faW5pdF9fKHNlbGYsIGFyZ3MpOgorICAgICAgICBzZWxmLnZlcnNpb24gPSAnJworICAgICAg
ICBzZWxmLnZpcnR1YWxfcm9vdCA9ICcnCisgICAgICAgIHNlbGYucHJlZml4ID0gJycKKworICAg
ICAgICAjIFBhcmFtZXRlcnMgc3BlY2lmaWMgdG8gc2Nhbm5pbmcuCisgICAgICAgIHNlbGYubW9k
dWxlX25hbWUgPSAnJworICAgICAgICBzZWxmLnNvdXJjZV9kaXJzID0gW10KKyAgICAgICAgc2Vs
Zi5oZWFkZXJzID0gW10KKyAgICAgICAgc2VsZi5pZ25vcmVkX2ZpbGVzID0gW10KKyAgICAgICAg
c2VsZi5uYW1lc3BhY2UgPSAnJworICAgICAgICBzZWxmLmRlY29yYXRvciA9ICcnCisgICAgICAg
IHNlbGYuZGVwcmVjYXRpb25fZ3VhcmQgPSAnJworCisgICAgICAgICMgUGFyYW1ldGVycyBzcGVj
aWZpYyB0byBndGtkb2Mtc2Nhbm9iai4KKyAgICAgICAgc2VsZi5jZmxhZ3MgPSAnJworICAgICAg
ICBzZWxmLmxkZmxhZ3MgPSAnJworICAgICAgICBzZWxmLmxpYnJhcnlfcGF0aCA9ICcnCisKKyAg
ICAgICAgIyBQYXJhbWV0ZXJzIHNwZWNpZmljIHRvIGdlbmVyYXRpb24uCisgICAgICAgIHNlbGYu
b3V0cHV0X2RpciA9ICcnCisgICAgICAgIHNlbGYuZG9jX2RpciA9ICcnCisgICAgICAgIHNlbGYu
bWFpbl9zZ21sX2ZpbGUgPSAnJworCisgICAgICAgICMgUGFyYW1ldGVycyBzcGVjaWZpYyB0byBn
dGtkb2MtZml4eHJlZi4KKyAgICAgICAgc2VsZi5jcm9zc19yZWZlcmVuY2VfZGVwcyA9IFtdCisK
KyAgICAgICAgc2VsZi5pbnRlcmFjdGl2ZSA9IEZhbHNlCisKKyAgICAgICAgc2VsZi5sb2dnZXIg
PSBsb2dnaW5nLmdldExvZ2dlcignZ3RrZG9jJykKKworICAgICAgICBmb3Iga2V5LCB2YWx1ZSBp
biBpdGVyKGFyZ3MuaXRlbXMoKSk6CisgICAgICAgICAgICBzZXRhdHRyKHNlbGYsIGtleSwgdmFs
dWUpCisKKyAgICAgICAgaWYgbm90IGdldGF0dHIoc2VsZiwgJ291dHB1dF9kaXInKToKKyAgICAg
ICAgICAgIHJhaXNlIEV4Y2VwdGlvbignb3V0cHV0X2RpciBub3Qgc3BlY2lmaWVkLicpCisgICAg
ICAgIGlmIG5vdCBnZXRhdHRyKHNlbGYsICdtb2R1bGVfbmFtZScpOgorICAgICAgICAgICAgcmFp
c2UgRXhjZXB0aW9uKCdtb2R1bGVfbmFtZSBub3Qgc3BlY2lmaWVkLicpCisgICAgICAgIGlmIG5v
dCBnZXRhdHRyKHNlbGYsICdzb3VyY2VfZGlycycpIGFuZCBub3QgZ2V0YXR0cihzZWxmLCAnaGVh
ZGVycycpOgorICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCdOZWl0aGVyIHNvdXJjZV9kaXJz
IG5vciBoZWFkZXJzIHNwZWNpZmllZC4nICUga2V5KQorCisgICAgICAgICMgTWFrZSBhbGwgcGF0
aHMgYWJzb2x1dGUgaW4gY2FzZSB3ZSB3ZXJlIHBhc3NlZCByZWxhdGl2ZSBwYXRocywgc2luY2UK
KyAgICAgICAgIyB3ZSBjaGFuZ2UgdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3Rvcnkgd2hlbiBl
eGVjdXRpbmcgc3ViY29tbWFuZHMuCisgICAgICAgIHNlbGYub3V0cHV0X2RpciA9IG9zLnBhdGgu
YWJzcGF0aChzZWxmLm91dHB1dF9kaXIpCisgICAgICAgIHNlbGYuc291cmNlX2RpcnMgPSBbb3Mu
cGF0aC5hYnNwYXRoKHgpIGZvciB4IGluIHNlbGYuc291cmNlX2RpcnNdCisgICAgICAgIHNlbGYu
aGVhZGVycyA9IFtvcy5wYXRoLmFic3BhdGgoeCkgZm9yIHggaW4gc2VsZi5oZWFkZXJzXQorICAg
ICAgICBpZiBzZWxmLmxpYnJhcnlfcGF0aDoKKyAgICAgICAgICAgIHNlbGYubGlicmFyeV9wYXRo
ID0gb3MucGF0aC5hYnNwYXRoKHNlbGYubGlicmFyeV9wYXRoKQorCisgICAgICAgIGlmIG5vdCBz
ZWxmLm1haW5fc2dtbF9maWxlOgorICAgICAgICAgICAgc2VsZi5tYWluX3NnbWxfZmlsZSA9IHNl
bGYubW9kdWxlX25hbWUgKyAiLWRvY3Muc2dtbCIKKworICAgIGRlZiBnZW5lcmF0ZShzZWxmLCBo
dG1sPVRydWUpOgorICAgICAgICBzZWxmLnNhd193YXJuaW5ncyA9IEZhbHNlCisKKyAgICAgICAg
c2VsZi5fY29weV9kb2NfZmlsZXNfdG9fb3V0cHV0X2RpcihodG1sKQorICAgICAgICBzZWxmLl93
cml0ZV92ZXJzaW9uX3htbCgpCisgICAgICAgIHNlbGYuX3J1bl9ndGtkb2Nfc2NhbigpCisgICAg
ICAgIHNlbGYuX3J1bl9ndGtkb2Nfc2NhbmdvYmooKQorICAgICAgICBzZWxmLl9ydW5fZ3RrZG9j
X21rZGIoKQorCisgICAgICAgIGlmIG5vdCBodG1sOgorICAgICAgICAgICAgcmV0dXJuCisKKyAg
ICAgICAgc2VsZi5fcnVuX2d0a2RvY19ta2h0bWwoKQorICAgICAgICBzZWxmLl9ydW5fZ3RrZG9j
X2ZpeHhyZWYoKQorCisgICAgZGVmIF9kZWxldGVfZmlsZV9pZl9leGlzdHMoc2VsZiwgcGF0aCk6
CisgICAgICAgIGlmIG5vdCBvcy5hY2Nlc3MocGF0aCwgb3MuRl9PSyB8IG9zLlJfT0spOgorICAg
ICAgICAgICAgcmV0dXJuCisgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCdkZWxldGluZyAlcycs
IHBhdGgpCisgICAgICAgIG9zLnVubGluayhwYXRoKQorCisgICAgZGVmIF9jcmVhdGVfZGlyZWN0
b3J5X2lmX25vbmV4aXN0ZW50KHNlbGYsIHBhdGgpOgorICAgICAgICB0cnk6CisgICAgICAgICAg
ICBvcy5tYWtlZGlycyhwYXRoKQorICAgICAgICBleGNlcHQgT1NFcnJvciBhcyBlcnJvcjoKKyAg
ICAgICAgICAgIGlmIGVycm9yLmVycm5vICE9IGVycm5vLkVFWElTVDoKKyAgICAgICAgICAgICAg
ICByYWlzZQorCisgICAgZGVmIF9yYWlzZV9leGNlcHRpb25faWZfZmlsZV9pbmFjY2Vzc2libGUo
c2VsZiwgcGF0aCk6CisgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhwYXRoKSBvciBub3Qg
b3MuYWNjZXNzKHBhdGgsIG9zLlJfT0spOgorICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCJD
b3VsZCBub3QgYWNjZXNzIGZpbGUgYXQ6ICVzIiAlIHBhdGgpCisKKyAgICBkZWYgX291dHB1dF9o
YXNfd2FybmluZ3Moc2VsZiwgb3V0cHV0cyk6CisgICAgICAgIGZvciBvdXRwdXQgaW4gb3V0cHV0
czoKKyAgICAgICAgICAgIGlmIG91dHB1dCBhbmQgb3V0cHV0LmZpbmQoJ3dhcm5pbmcnKToKKyAg
ICAgICAgICAgICAgICByZXR1cm4gVHJ1ZQorICAgICAgICByZXR1cm4gRmFsc2UKKworICAgIGRl
ZiBfYXNrX3llc19vcl9ub19xdWVzdGlvbihzZWxmLCBxdWVzdGlvbik6CisgICAgICAgIGlmIG5v
dCBzZWxmLmludGVyYWN0aXZlOgorICAgICAgICAgICAgcmV0dXJuIFRydWUKKworICAgICAgICBx
dWVzdGlvbiArPSAnIFt5L05dICcKKyAgICAgICAgYW5zd2VyID0gTm9uZQorICAgICAgICB3aGls
ZSBhbnN3ZXIgIT0gJ3knIGFuZCBhbnN3ZXIgIT0gJ24nIGFuZCBhbnN3ZXIgIT0gJyc6CisgICAg
ICAgICAgICBhbnN3ZXIgPSByYXdfaW5wdXQocXVlc3Rpb24pLmxvd2VyKCkKKyAgICAgICAgcmV0
dXJuIGFuc3dlciA9PSAneScKKworICAgIGRlZiBfcnVuX2NvbW1hbmQoc2VsZiwgYXJncywgZW52
PU5vbmUsIGN3ZD1Ob25lLCBwcmludF9vdXRwdXQ9VHJ1ZSwgaWdub3JlX3dhcm5pbmdzPUZhbHNl
KToKKyAgICAgICAgaWYgcHJpbnRfb3V0cHV0OgorICAgICAgICAgICAgc2VsZi5sb2dnZXIuZGVi
dWcoIlJ1bm5pbmcgJXMiLCBhcmdzWzBdKQorICAgICAgICBzZWxmLmxvZ2dlci5kZWJ1ZygiRnVs
bCBjb21tYW5kIGFyZ3M6ICVzIiwgc3RyKGFyZ3MpKQorCisgICAgICAgIHByb2Nlc3MgPSBzdWJw
cm9jZXNzLlBvcGVuKGFyZ3MsIGVudj1lbnYsIGN3ZD1jd2QsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHN0ZGVycj1zdWJwcm9jZXNzLlBJUEUpCisgICAgICAgIHN0ZG91
dCwgc3RkZXJyID0gW2IuZGVjb2RlKCJ1dGYtOCIpIGZvciBiIGluIHByb2Nlc3MuY29tbXVuaWNh
dGUoKV0KKworICAgICAgICBpZiBwcmludF9vdXRwdXQ6CisgICAgICAgICAgICBpZiBzdGRvdXQ6
CisgICAgICAgICAgICAgICAgdHJ5OgorICAgICAgICAgICAgICAgICAgICBzeXMuc3Rkb3V0Lndy
aXRlKHN0ZG91dC5lbmNvZGUoInV0Zi04IikpCisgICAgICAgICAgICAgICAgZXhjZXB0IFVuaWNv
ZGVEZWNvZGVFcnJvcjoKKyAgICAgICAgICAgICAgICAgICAgc3lzLnN0ZG91dC53cml0ZShzdGRv
dXQpCisgICAgICAgICAgICBpZiBzdGRlcnI6CisgICAgICAgICAgICAgICAgdHJ5OgorICAgICAg
ICAgICAgICAgICAgICBzeXMuc3RkZXJyLndyaXRlKHN0ZGVyci5lbmNvZGUoInV0Zi04IikpCisg
ICAgICAgICAgICAgICAgZXhjZXB0IFVuaWNvZGVEZWNvZGVFcnJvcjoKKyAgICAgICAgICAgICAg
ICAgICAgc3lzLnN0ZGVyci53cml0ZShzdGRlcnIpCisKKyAgICAgICAgaWYgcHJvY2Vzcy5yZXR1
cm5jb2RlICE9IDA6CisgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oJyVzIHByb2R1Y2VkIGEg
bm9uLXplcm8gcmV0dXJuIGNvZGUgJWknCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICUg
KGFyZ3NbMF0sIHByb2Nlc3MucmV0dXJuY29kZSkpCisKKyAgICAgICAgaWYgbm90IGlnbm9yZV93
YXJuaW5ncyBhbmQgKCd3YXJuaW5nJyBpbiBzdGRlcnIgb3IgJ3dhcm5pbmcnIGluIHN0ZG91dCk6
CisgICAgICAgICAgICBzZWxmLnNhd193YXJuaW5ncyA9IFRydWUKKyAgICAgICAgICAgIGlmIG5v
dCBzZWxmLl9hc2tfeWVzX29yX25vX3F1ZXN0aW9uKCclcyBwcm9kdWNlZCB3YXJuaW5ncywgJwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RyeSB0byBj
b250aW51ZT8nICUgYXJnc1swXSk6CisgICAgICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCcl
cyBzdGVwIGZhaWxlZCcgJSBhcmdzWzBdKQorCisgICAgICAgIHJldHVybiBzdGRvdXQuc3RyaXAo
KQorCisgICAgZGVmIF9jb3B5X2RvY19maWxlc190b19vdXRwdXRfZGlyKHNlbGYsIGh0bWw9VHJ1
ZSk6CisgICAgICAgIGlmIG5vdCBzZWxmLmRvY19kaXI6CisgICAgICAgICAgICBzZWxmLmxvZ2dl
ci5pbmZvKCdOb3QgY29weWluZyBhbnkgZmlsZXMgZnJvbSBkb2MgZGlyZWN0b3J5LCcKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJyBiZWNhdXNlIG5vIGRvYyBkaXJlY3RvcnkgZ2l2ZW4u
JykKKyAgICAgICAgICAgIHJldHVybgorCisgICAgICAgIGRlZiBjb3B5X2ZpbGVfcmVwbGFjaW5n
X2V4aXN0aW5nKHNyYywgZGVzdCk6CisgICAgICAgICAgICBpZiBvcy5wYXRoLmlzZGlyKHNyYyk6
CisgICAgICAgICAgICAgICAgc2VsZi5sb2dnZXIuZGVidWcoJ3NraXBwZWQgZGlyZWN0b3J5ICVz
JywgIHNyYykKKyAgICAgICAgICAgICAgICByZXR1cm4KKyAgICAgICAgICAgIGlmIG5vdCBvcy5h
Y2Nlc3Moc3JjLCBvcy5GX09LIHwgb3MuUl9PSyk6CisgICAgICAgICAgICAgICAgc2VsZi5sb2dn
ZXIuZGVidWcoJ3NraXBwZWQgdW5yZWFkYWJsZSAlcycsIHNyYykKKyAgICAgICAgICAgICAgICBy
ZXR1cm4KKworICAgICAgICAgICAgc2VsZi5fZGVsZXRlX2ZpbGVfaWZfZXhpc3RzKGRlc3QpCisK
KyAgICAgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCdjcmVhdGVkICVzJywgZGVzdCkKKyAgICAg
ICAgICAgIHRyeToKKyAgICAgICAgICAgICAgICBvcy5saW5rKHNyYywgZGVzdCkKKyAgICAgICAg
ICAgIGV4Y2VwdCBPU0Vycm9yOgorICAgICAgICAgICAgICAgIG9zLnN5bWxpbmsoc3JjLCBkZXN0
KQorCisgICAgICAgIGRlZiBjb3B5X2FsbF9maWxlc19pbl9kaXJlY3Rvcnkoc3JjLCBkZXN0KToK
KyAgICAgICAgICAgIGZvciBwYXRoIGluIG9zLmxpc3RkaXIoc3JjKToKKyAgICAgICAgICAgICAg
ICBjb3B5X2ZpbGVfcmVwbGFjaW5nX2V4aXN0aW5nKG9zLnBhdGguam9pbihzcmMsIHBhdGgpLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3MucGF0aC5qb2lu
KGRlc3QsIHBhdGgpKQorCisgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCdDb3B5aW5nIHRlbXBs
YXRlIGZpbGVzIHRvIG91dHB1dCBkaXJlY3RvcnkuLi4nKQorICAgICAgICBzZWxmLl9jcmVhdGVf
ZGlyZWN0b3J5X2lmX25vbmV4aXN0ZW50KHNlbGYub3V0cHV0X2RpcikKKyAgICAgICAgY29weV9h
bGxfZmlsZXNfaW5fZGlyZWN0b3J5KHNlbGYuZG9jX2Rpciwgc2VsZi5vdXRwdXRfZGlyKQorCisg
ICAgZGVmIF93cml0ZV92ZXJzaW9uX3htbChzZWxmKToKKyAgICAgICAgaWYgbm90IHNlbGYudmVy
c2lvbjoKKyAgICAgICAgICAgIHNlbGYubG9nZ2VyLmluZm8oJ05vIHZlcnNpb24gc3BlY2lmaWVk
LCBzbyBub3Qgd3JpdGluZyB2ZXJzaW9uLnhtbCcpCisgICAgICAgICAgICByZXR1cm4KKworICAg
ICAgICB2ZXJzaW9uX3htbF9wYXRoID0gb3MucGF0aC5qb2luKHNlbGYub3V0cHV0X2RpciwgJ3Zl
cnNpb24ueG1sJykKKyAgICAgICAgc3JjX3ZlcnNpb25feG1sX3BhdGggPSBvcy5wYXRoLmpvaW4o
c2VsZi5kb2NfZGlyLCAndmVyc2lvbi54bWwnKQorCisgICAgICAgICMgRG9uJ3Qgb3ZlcndyaXRl
IHZlcnNpb24ueG1sIGlmIGl0IHdhcyBpbiB0aGUgZG9jIGRpcmVjdG9yeS4KKyAgICAgICAgaWYg
b3MucGF0aC5leGlzdHModmVyc2lvbl94bWxfcGF0aCkgYW5kIFwKKyAgICAgICAgICAgb3MucGF0
aC5leGlzdHMoc3JjX3ZlcnNpb25feG1sX3BhdGgpOgorICAgICAgICAgICAgcmV0dXJuCisKKyAg
ICAgICAgb3V0cHV0X2ZpbGUgPSBvcGVuKHZlcnNpb25feG1sX3BhdGgsICd3JykKKyAgICAgICAg
b3V0cHV0X2ZpbGUud3JpdGUoc2VsZi52ZXJzaW9uKQorICAgICAgICBvdXRwdXRfZmlsZS5jbG9z
ZSgpCisKKyAgICBkZWYgX2lnbm9yZWRfZmlsZXNfYmFzZW5hbWVzKHNlbGYpOgorICAgICAgICBy
ZXR1cm4gJyAnLmpvaW4oW29zLnBhdGguYmFzZW5hbWUoeCkgZm9yIHggaW4gc2VsZi5pZ25vcmVk
X2ZpbGVzXSkKKworICAgIGRlZiBfcnVuX2d0a2RvY19zY2FuKHNlbGYpOgorICAgICAgICBhcmdz
ID0gWydndGtkb2Mtc2NhbicsCisgICAgICAgICAgICAgICAgJy0tbW9kdWxlPSVzJyAlIHNlbGYu
bW9kdWxlX25hbWUsCisgICAgICAgICAgICAgICAgJy0tcmVidWlsZC10eXBlcyddCisKKyAgICAg
ICAgaWYgbm90IHNlbGYuaGVhZGVyczoKKyAgICAgICAgICAgICMgRWFjaCBzb3VyY2UgZGlyZWN0
b3J5IHNob3VsZCBiZSBoYXZlIGl0cyBvd24gIi0tc291cmNlLWRpcj0iIHByZWZpeC4KKyAgICAg
ICAgICAgIGFyZ3MuZXh0ZW5kKFsnLS1zb3VyY2UtZGlyPSVzJyAlIHBhdGggZm9yIHBhdGggaW4g
c2VsZi5zb3VyY2VfZGlyc10pCisKKyAgICAgICAgaWYgc2VsZi5kZWNvcmF0b3I6CisgICAgICAg
ICAgICBhcmdzLmFwcGVuZCgnLS1pZ25vcmUtZGVjb3JhdG9ycz0lcycgJSBzZWxmLmRlY29yYXRv
cikKKyAgICAgICAgaWYgc2VsZi5kZXByZWNhdGlvbl9ndWFyZDoKKyAgICAgICAgICAgIGFyZ3Mu
YXBwZW5kKCctLWRlcHJlY2F0ZWQtZ3VhcmRzPSVzJyAlIHNlbGYuZGVwcmVjYXRpb25fZ3VhcmQp
CisgICAgICAgIGlmIHNlbGYub3V0cHV0X2RpcjoKKyAgICAgICAgICAgIGFyZ3MuYXBwZW5kKCct
LW91dHB1dC1kaXI9JXMnICUgc2VsZi5vdXRwdXRfZGlyKQorCisgICAgICAgICMgV2Ugb25seSBu
ZWVkIHRvIHBhc3MgdGhlIGxpc3Qgb2YgaWdub3JlZCBmaWxlcyBpZiB0aGUgd2UgYXJlIG5vdCB1
c2luZyBhbiBleHBsaWNpdCBsaXN0IG9mIGhlYWRlcnMuCisgICAgICAgIGlmIG5vdCBzZWxmLmhl
YWRlcnM6CisgICAgICAgICAgICAjIGd0a2RvYy1zY2FuIHdhbnRzIHRoZSBiYXNlbmFtZXMgb2Yg
aWdub3JlZCBoZWFkZXJzLCBzbyBzdHJpcCB0aGUKKyAgICAgICAgICAgICMgZGlybmFtZS4gRGlm
ZmVyZW50IGZyb20gIi0tc291cmNlLWRpciIsIHRoZSBoZWFkZXJzIHNob3VsZCBiZQorICAgICAg
ICAgICAgIyBzcGVjaWZpZWQgYXMgb25lIGxvbmcgc3RyaW5nLgorICAgICAgICAgICAgaWdub3Jl
ZF9maWxlc19iYXNlbmFtZXMgPSBzZWxmLl9pZ25vcmVkX2ZpbGVzX2Jhc2VuYW1lcygpCisgICAg
ICAgICAgICBpZiBpZ25vcmVkX2ZpbGVzX2Jhc2VuYW1lczoKKyAgICAgICAgICAgICAgICBhcmdz
LmFwcGVuZCgnLS1pZ25vcmUtaGVhZGVycz0lcycgJSBpZ25vcmVkX2ZpbGVzX2Jhc2VuYW1lcykK
KworICAgICAgICBpZiBzZWxmLmhlYWRlcnM6CisgICAgICAgICAgICBhcmdzLmV4dGVuZChzZWxm
LmhlYWRlcnMpCisKKyAgICAgICAgc2VsZi5fcnVuX2NvbW1hbmQoYXJncykKKworICAgIGRlZiBf
cnVuX2d0a2RvY19zY2FuZ29iaihzZWxmKToKKyAgICAgICAgZW52ID0gb3MuZW52aXJvbgorICAg
ICAgICBsZGZsYWdzID0gc2VsZi5sZGZsYWdzCisgICAgICAgIGlmIHNlbGYubGlicmFyeV9wYXRo
OgorICAgICAgICAgICAgYWRkaXRpb25hbF9sZGZsYWdzID0gJycKKyAgICAgICAgICAgIGZvciBh
cmcgaW4gZW52LmdldCgnTERGTEFHUycsICcnKS5zcGxpdCgnICcpOgorICAgICAgICAgICAgICAg
IGlmIGFyZy5zdGFydHN3aXRoKCctTCcpOgorICAgICAgICAgICAgICAgICAgICBhZGRpdGlvbmFs
X2xkZmxhZ3MgPSAnJXMgJXMnICUgKGFkZGl0aW9uYWxfbGRmbGFncywgYXJnKQorICAgICAgICAg
ICAgbGRmbGFncyA9ICcgIi1MJXMiICVzICcgJSAoc2VsZi5saWJyYXJ5X3BhdGgsIGFkZGl0aW9u
YWxfbGRmbGFncykgKyBsZGZsYWdzCisgICAgICAgICAgICBjdXJyZW50X2xkX2xpYnJhcnlfcGF0
aCA9IGVudi5nZXQoJ0xEX0xJQlJBUllfUEFUSCcpCisgICAgICAgICAgICBpZiBjdXJyZW50X2xk
X2xpYnJhcnlfcGF0aDoKKyAgICAgICAgICAgICAgICBlbnZbJ0xEX0xJQlJBUllfUEFUSCddID0g
JyVzOiVzJyAlIChzZWxmLmxpYnJhcnlfcGF0aCwgY3VycmVudF9sZF9saWJyYXJ5X3BhdGgpCisg
ICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgIGVudlsnTERfTElCUkFSWV9QQVRIJ10g
PSBzZWxmLmxpYnJhcnlfcGF0aAorCisgICAgICAgIGlmIGxkZmxhZ3M6CisgICAgICAgICAgICBl
bnZbJ0xERkxBR1MnXSA9ICclcyAlcycgJSAobGRmbGFncywgZW52LmdldCgnTERGTEFHUycsICcn
KSkKKyAgICAgICAgaWYgc2VsZi5jZmxhZ3M6CisgICAgICAgICAgICBlbnZbJ0NGTEFHUyddID0g
JyVzICVzJyAlIChzZWxmLmNmbGFncywgZW52LmdldCgnQ0ZMQUdTJywgJycpKQorCisgICAgICAg
IGlmICdDRkxBR1MnIGluIGVudjoKKyAgICAgICAgICAgIHNlbGYubG9nZ2VyLmRlYnVnKCdDRkxB
R1M9JXMnLCBlbnZbJ0NGTEFHUyddKQorICAgICAgICBpZiAnTERGTEFHUycgaW4gZW52OgorICAg
ICAgICAgICAgc2VsZi5sb2dnZXIuZGVidWcoJ0xERkxBR1MgJXMnLCBlbnZbJ0xERkxBR1MnXSkK
KyAgICAgICAgc2VsZi5fcnVuX2NvbW1hbmQoWydndGtkb2Mtc2NhbmdvYmonLCAnLS1tb2R1bGU9
JXMnICUgc2VsZi5tb2R1bGVfbmFtZV0sCisgICAgICAgICAgICAgICAgICAgICAgICAgIGVudj1l
bnYsIGN3ZD1zZWxmLm91dHB1dF9kaXIpCisKKyAgICBkZWYgX3J1bl9ndGtkb2NfbWtkYihzZWxm
KToKKyAgICAgICAgc2dtbF9maWxlID0gb3MucGF0aC5qb2luKHNlbGYub3V0cHV0X2Rpciwgc2Vs
Zi5tYWluX3NnbWxfZmlsZSkKKyAgICAgICAgc2VsZi5fcmFpc2VfZXhjZXB0aW9uX2lmX2ZpbGVf
aW5hY2Nlc3NpYmxlKHNnbWxfZmlsZSkKKworICAgICAgICBhcmdzID0gWydndGtkb2MtbWtkYics
CisgICAgICAgICAgICAgICAgJy0tbW9kdWxlPSVzJyAlIHNlbGYubW9kdWxlX25hbWUsCisgICAg
ICAgICAgICAgICAgJy0tbWFpbi1zZ21sLWZpbGU9JXMnICUgc2dtbF9maWxlLAorICAgICAgICAg
ICAgICAgICctLXNvdXJjZS1zdWZmaXhlcz1oLGMsY3BwLGNjJywKKyAgICAgICAgICAgICAgICAn
LS1vdXRwdXQtZm9ybWF0PXhtbCcsCisgICAgICAgICAgICAgICAgJy0tc2dtbC1tb2RlJ10KKwor
ICAgICAgICBpZiBzZWxmLm5hbWVzcGFjZToKKyAgICAgICAgICAgIGFyZ3MuYXBwZW5kKCctLW5h
bWUtc3BhY2U9JXMnICUgc2VsZi5uYW1lc3BhY2UpCisKKyAgICAgICAgaWdub3JlZF9maWxlc19i
YXNlbmFtZXMgPSBzZWxmLl9pZ25vcmVkX2ZpbGVzX2Jhc2VuYW1lcygpCisgICAgICAgIGlmIGln
bm9yZWRfZmlsZXNfYmFzZW5hbWVzOgorICAgICAgICAgICAgYXJncy5hcHBlbmQoJy0taWdub3Jl
LWZpbGVzPSVzJyAlIGlnbm9yZWRfZmlsZXNfYmFzZW5hbWVzKQorCisgICAgICAgICMgRWFjaCBk
aXJlY3Rvcnkgc2hvdWxkIGJlIGhhdmUgaXRzIG93biAiLS1zb3VyY2UtZGlyPSIgcHJlZml4Lgor
ICAgICAgICBhcmdzLmV4dGVuZChbJy0tc291cmNlLWRpcj0lcycgJSBwYXRoIGZvciBwYXRoIGlu
IHNlbGYuc291cmNlX2RpcnNdKQorICAgICAgICBzZWxmLl9ydW5fY29tbWFuZChhcmdzLCBjd2Q9
c2VsZi5vdXRwdXRfZGlyKQorCisgICAgZGVmIF9ydW5fZ3RrZG9jX21raHRtbChzZWxmKToKKyAg
ICAgICAgIyBndGtkb2MtZml4eHJlZiBleHBlY3RzIHRoZSBwYXRocyB0byBiZSBodG1sL21vZHVs
ZW5hbWUuCisgICAgICAgIGh0bWxfZGVzdF9kaXIgPSBvcy5wYXRoLmpvaW4oc2VsZi5vdXRwdXRf
ZGlyLCAnaHRtbCcsIHNlbGYubW9kdWxlX25hbWUpCisgICAgICAgIHNlbGYuX2NyZWF0ZV9kaXJl
Y3RvcnlfaWZfbm9uZXhpc3RlbnQoaHRtbF9kZXN0X2RpcikKKyAgICAgICAgaWYgbm90IG9zLnBh
dGguaXNkaXIoaHRtbF9kZXN0X2Rpcik6CisgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIiVz
IGlzIG5vdCBhIGRpcmVjdG9yeSwgY291bGQgbm90IGdlbmVyYXRlIEhUTUwiCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJSBodG1sX2Rlc3RfZGlyKQorICAgICAgICBlbGlmIG5vdCBvcy5h
Y2Nlc3MoaHRtbF9kZXN0X2Rpciwgb3MuWF9PSyB8IG9zLlJfT0sgfCBvcy5XX09LKToKKyAgICAg
ICAgICAgIHJhaXNlIEV4Y2VwdGlvbigiQ291bGQgbm90IGFjY2VzcyAlcyB0byBnZW5lcmF0ZSBI
VE1MIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICUgaHRtbF9kZXN0X2RpcikKKworICAg
ICAgICAjIGd0a2RvYy1ta2h0bWwgZXhwZWN0cyB0aGUgU0dNTCBwYXRoIHRvIGJlIGFic29sdXRl
LgorICAgICAgICBzZ21sX2ZpbGUgPSBvcy5wYXRoLmpvaW4ob3MucGF0aC5hYnNwYXRoKHNlbGYu
b3V0cHV0X2RpciksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLm1haW5f
c2dtbF9maWxlKQorICAgICAgICBzZWxmLl9yYWlzZV9leGNlcHRpb25faWZfZmlsZV9pbmFjY2Vz
c2libGUoc2dtbF9maWxlKQorCisgICAgICAgIHNlbGYuX3J1bl9jb21tYW5kKFsnZ3RrZG9jLW1r
aHRtbCcsIHNlbGYubW9kdWxlX25hbWUsIHNnbWxfZmlsZV0sCisgICAgICAgICAgICAgICAgICAg
ICAgICAgIGN3ZD1odG1sX2Rlc3RfZGlyKQorCisgICAgZGVmIF9ydW5fZ3RrZG9jX2ZpeHhyZWYo
c2VsZik6CisgICAgICAgIGFyZ3MgPSBbJ2d0a2RvYy1maXh4cmVmJywKKyAgICAgICAgICAgICAg
ICAnLS1tb2R1bGU9JXMnICUgc2VsZi5tb2R1bGVfbmFtZSwKKyAgICAgICAgICAgICAgICAnLS1t
b2R1bGUtZGlyPWh0bWwvJXMnICUgc2VsZi5tb2R1bGVfbmFtZV0KKyAgICAgICAgYXJncy5leHRl
bmQoWyctLWV4dHJhLWRpcj0lcycgJSBleHRyYV9kaXIgZm9yIGV4dHJhX2RpciBpbiBzZWxmLmNy
b3NzX3JlZmVyZW5jZV9kZXBzXSkKKyAgICAgICAgc2VsZi5fcnVuX2NvbW1hbmQoYXJncywgY3dk
PXNlbGYub3V0cHV0X2RpciwgaWdub3JlX3dhcm5pbmdzPVRydWUpCisKKyAgICAgICAgIyBndGtk
b2MtZml4eHJlZiBoYXMgc29tZSBwcmVkZWZpbmVkIGxpbmtzIGZvciB3aGljaCBpdCBhbHdheXMg
dXNlcyBhYnNvbHV0ZSBwYXRocy4KKyAgICAgICAgaHRtbF9kaXJfcHJlZml4ID0gb3MucGF0aC5q
b2luKHNlbGYudmlydHVhbF9yb290ICsgc2VsZi5wcmVmaXgsICdzaGFyZScsICdndGstZG9jJywg
J2h0bWwnKQorICAgICAgICBtb2R1bGVfZGlyID0gb3MucGF0aC5qb2luKHNlbGYub3V0cHV0X2Rp
ciwgJ2h0bWwnLCBzZWxmLm1vZHVsZV9uYW1lKQorICAgICAgICBmb3IgZW50cnkgaW4gb3MubGlz
dGRpcihtb2R1bGVfZGlyKToKKyAgICAgICAgICAgIGlmIG5vdCBlbnRyeS5lbmRzd2l0aCgnLmh0
bWwnKToKKyAgICAgICAgICAgICAgICBjb250aW51ZQorCisgICAgICAgICAgICBmaWxlbmFtZSA9
IG9zLnBhdGguam9pbihtb2R1bGVfZGlyLCBlbnRyeSkKKyAgICAgICAgICAgIGNvbnRlbnRzID0g
JycKKyAgICAgICAgICAgIHdpdGggY29kZWNzLm9wZW4oZmlsZW5hbWUsICdyJywgZW5jb2Rpbmc9
J3V0Zi04JykgYXMgZjoKKyAgICAgICAgICAgICAgICBjb250ZW50cyA9IGYucmVhZCgpCisKKyAg
ICAgICAgICAgIGlmIG5vdCBodG1sX2Rpcl9wcmVmaXggaW4gY29udGVudHM6CisgICAgICAgICAg
ICAgICAgY29udGludWUKKworICAgICAgICAgICAgdG1wX2ZpbGVuYW1lID0gZmlsZW5hbWUgKyAn
Lm5ldycKKyAgICAgICAgICAgIG5ld19jb250ZW50cyA9IGNvbnRlbnRzLnJlcGxhY2UoaHRtbF9k
aXJfcHJlZml4LCAnLi4nKQorICAgICAgICAgICAgd2l0aCBjb2RlY3Mub3Blbih0bXBfZmlsZW5h
bWUsICd3JywgZW5jb2Rpbmc9J3V0Zi04JykgYXMgZjoKKyAgICAgICAgICAgICAgICBmLndyaXRl
KG5ld19jb250ZW50cykKKworICAgICAgICAgICAgb3MucmVuYW1lKHRtcF9maWxlbmFtZSwgZmls
ZW5hbWUpCisKKyAgICBkZWYgcmViYXNlX2luc3RhbGxlZF9kb2NzKHNlbGYpOgorICAgICAgICBp
ZiBub3Qgb3MucGF0aC5pc2RpcihzZWxmLm91dHB1dF9kaXIpOgorICAgICAgICAgICAgcmFpc2Ug
RXhjZXB0aW9uKCJUcmllZCB0byByZWJhc2UgZG9jdW1lbnRhdGlvbiBiZWZvcmUgZ2VuZXJhdGlu
ZyBpdC4iKQorICAgICAgICBodG1sX2RpciA9IG9zLnBhdGguam9pbihzZWxmLnZpcnR1YWxfcm9v
dCArIHNlbGYucHJlZml4LCAnc2hhcmUnLCAnZ3RrLWRvYycsICdodG1sJywgc2VsZi5tb2R1bGVf
bmFtZSkKKyAgICAgICAgaWYgbm90IG9zLnBhdGguaXNkaXIoaHRtbF9kaXIpOgorICAgICAgICAg
ICAgcmV0dXJuCisgICAgICAgIGFyZ3MgPSBbJ2d0a2RvYy1yZWJhc2UnLAorICAgICAgICAgICAg
ICAgICctLXJlbGF0aXZlJywKKyAgICAgICAgICAgICAgICAnLS1odG1sLWRpcj0lcycgJSBodG1s
X2Rpcl0KKyAgICAgICAgYXJncy5leHRlbmQoWyctLW90aGVyLWRpcj0lcycgJSBleHRyYV9kaXIg
Zm9yIGV4dHJhX2RpciBpbiBzZWxmLmNyb3NzX3JlZmVyZW5jZV9kZXBzXSkKKyAgICAgICAgaWYg
c2VsZi52aXJ0dWFsX3Jvb3Q6CisgICAgICAgICAgICBhcmdzLmV4dGVuZChbJy0tZGVzdC1kaXI9
JXMnICUgc2VsZi52aXJ0dWFsX3Jvb3RdKQorICAgICAgICBzZWxmLl9ydW5fY29tbWFuZChhcmdz
LCBjd2Q9c2VsZi5vdXRwdXRfZGlyKQorCisgICAgZGVmIGFwaV9taXNzaW5nX2RvY3VtZW50YXRp
b24oc2VsZik6CisgICAgICAgIHVudXNlZF9kb2NfZmlsZSA9IG9zLnBhdGguam9pbihzZWxmLm91
dHB1dF9kaXIsIHNlbGYubW9kdWxlX25hbWUgKyAiLXVudXNlZC50eHQiKQorICAgICAgICBpZiBu
b3Qgb3MucGF0aC5leGlzdHModW51c2VkX2RvY19maWxlKSBvciBub3Qgb3MuYWNjZXNzKHVudXNl
ZF9kb2NfZmlsZSwgb3MuUl9PSyk6CisgICAgICAgICAgICByZXR1cm4gW10KKyAgICAgICAgcmV0
dXJuIG9wZW4odW51c2VkX2RvY19maWxlKS5yZWFkKCkuc3BsaXRsaW5lcygpCisKKworY2xhc3Mg
UGtnQ29uZmlnR1RLRG9jKEdUS0RvYyk6CisKKyAgICAiIiJDbGFzcyByZWFkcyBhIGxpYnJhcnkn
cyBwa2djb25maWcgZmlsZSB0byBndWVzcyBndGtkb2MgcGFyYW1ldGVycy4KKworICAgIFNvbWUg
Z3RrZG9jIHBhcmFtZXRlcnMgY2FuIGJlIGd1ZXNzZWQgYnkgcmVhZGluZyBhIGxpYnJhcnkncyBw
a2djb25maWcKKyAgICBmaWxlLCBpbmNsdWRpbmcgdGhlIGNmbGFncywgbGRmbGFncyBhbmQgdmVy
c2lvbiBwYXJhbWV0ZXJzLiBJZiB5b3UKKyAgICBwcm92aWRlIHRoZXNlIHBhcmFtZXRlcnMgYXMg
d2VsbCwgdGhleSB3aWxsIGJlIGFwcGVuZGVkIHRvIHRoZSBvbmVzCisgICAgZ3Vlc3NlZCB2aWEg
dGhlIHBrZ2NvbmZpZyBmaWxlLgorCisgICAgS2V5d29yZCBhcmd1bWVudHM6CisgICAgICBwa2df
Y29uZmlnX3BhdGggLS0gUGF0aCB0byB0aGUgcGtnY29uZmlnIGZpbGUgZm9yIHRoZSBsaWJyYXJ5
LiBSZXF1aXJlZC4KKyAgICAiIiIKKworICAgIGRlZiBfX2luaXRfXyhzZWxmLCBwa2dfY29uZmln
X3BhdGgsIGFyZ3MpOgorICAgICAgICBzdXBlcihQa2dDb25maWdHVEtEb2MsIHNlbGYpLl9faW5p
dF9fKGFyZ3MpCisKKyAgICAgICAgcGtnX2NvbmZpZyA9IG9zLmVudmlyb24uZ2V0KCdQS0dfQ09O
RklHJywgJ3BrZy1jb25maWcnKQorCisgICAgICAgIGlmIG5vdCBvcy5wYXRoLmV4aXN0cyhwa2df
Y29uZmlnX3BhdGgpOgorICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCdDb3VsZCBub3QgZmlu
ZCBwa2ctY29uZmlnIGZpbGUgYXQ6ICVzJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICUg
cGtnX2NvbmZpZ19wYXRoKQorCisgICAgICAgIHNlbGYuY2ZsYWdzICs9ICIgIiArIHNlbGYuX3J1
bl9jb21tYW5kKFtwa2dfY29uZmlnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgcGtnX2NvbmZpZ19wYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJy0tY2ZsYWdzJ10sIHByaW50X291dHB1dD1GYWxzZSkK
KyAgICAgICAgc2VsZi5sZGZsYWdzICs9ICIgIiArIHNlbGYuX3J1bl9jb21tYW5kKFtwa2dfY29u
ZmlnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGtn
X2NvbmZpZ19wYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJy0tbGlicyddLCBwcmludF9vdXRwdXQ9RmFsc2UpCisgICAgICAgIHNlbGYudmVyc2lv
biA9IHNlbGYuX3J1bl9jb21tYW5kKFtwa2dfY29uZmlnLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgcGtnX2NvbmZpZ19wYXRoLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJy0tbW9kdmVyc2lvbiddLCBwcmludF9vdXRwdXQ9RmFs
c2UpCisgICAgICAgIHNlbGYucHJlZml4ID0gc2VsZi5fcnVuX2NvbW1hbmQoW3BrZ19jb25maWcs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBrZ19jb25maWdfcGF0
aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0tdmFyaWFibGU9
cHJlZml4J10sIHByaW50X291dHB1dD1GYWxzZSkKZGlmZiAtLWdpdCBhL1Rvb2xzL3dwZS9pbnN0
YWxsLWRlcGVuZGVuY2llcyBiL1Rvb2xzL3dwZS9pbnN0YWxsLWRlcGVuZGVuY2llcwppbmRleCBi
Y2NhMjQyYzI0MThiOTY2NWEwMGRlYzE1NTI0OTU0MDE4ZTY4OTBlLi4wZTQwODdmZmZiZTYxYmIy
MWE1YjZhNTdiYWI1OGJiZWQyYjYxZjVkIDEwMDc1NQotLS0gYS9Ub29scy93cGUvaW5zdGFsbC1k
ZXBlbmRlbmNpZXMKKysrIGIvVG9vbHMvd3BlL2luc3RhbGwtZGVwZW5kZW5jaWVzCkBAIC02NSw2
ICs2NSw3IEBAIGZ1bmN0aW9uIGluc3RhbGxEZXBlbmRlbmNpZXNXaXRoQXB0IHsKICAgICAgICAg
Z2F3ayBcCiAgICAgICAgIGdjYyBcCiAgICAgICAgIGdwZXJmIFwKKyAgICAgICAgZ3RrLWRvYy10
b29scyBcCiAgICAgICAgIGludGx0b29sIFwKICAgICAgICAgaXRzdG9vbCBcCiAgICAgICAgIGxp
YmFzb3VuZDItZGV2IFwKQEAgLTE1NSw2ICsxNTYsNyBAQCBmdW5jdGlvbiBpbnN0YWxsRGVwZW5k
ZW5jaWVzV2l0aFBhY21hbiB7CiAgICAgICAgIGdjYyBcCiAgICAgICAgIGdudXRscyBcCiAgICAg
ICAgIGdwZXJmIFwKKyAgICAgICAgZ3RrLWRvYyBcCiAgICAgICAgIGdyZXAgXAogICAgICAgICBn
cm9mZiBcCiAgICAgICAgIGdzdHJlYW1lciBcCkBAIC0yNTMsNiArMjU1LDcgQEAgZnVuY3Rpb24g
aW5zdGFsbERlcGVuZGVuY2llc1dpdGhEbmYgewogICAgICAgICBnc3RyZWFtZXIxLWRldmVsIFwK
ICAgICAgICAgZ3N0cmVhbWVyMS1wbHVnaW5zLWJhZC1mcmVlLWRldmVsIFwKICAgICAgICAgZ3N0
cmVhbWVyMS1wbHVnaW5zLWJhc2UtZGV2ZWwgXAorICAgICAgICBndGstZG9jIFwKICAgICAgICAg
aW50bHRvb2wgXAogICAgICAgICBpdHN0b29sIFwKICAgICAgICAgbGliZXZlbnQtZGV2ZWwgXApk
aWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IDAzNjc0YTM3YTg4YTAwM2Vh
YTkzN2IzNWJlNjZiMjYxM2JkZjNjOWIuLmIxN2IzMzUwNGMxMzY5YjQ2ZDY4NWFiNjFkZjNkMzNl
NmEzMzEyNzEgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxOCBAQAorMjAxOC0xMS0yMSAgQ2FybG9zIEVkdWFyZG8gUmFtYWxobyAgPGNhZHViZW50emVu
QGdtYWlsLmNvbT4KKworICAgICAgICBbV1BFXSBBZGQgZ3RrLWRvYworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4OTAwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGd0ay1kb2MgdG8gV1BFIHBvcnQu
IFRoaXMgcGF0Y2ggdHJpZXMgdG8gcmV1c2UgYXMgbXVjaCBjb2RlIGZyb20KKyAgICAgICAgV2Vi
S2l0R1RLKyBhcyBwb3NzaWJsZS4KKworICAgICAgICAqIFNvdXJjZS9QbGF0Zm9ybUdUSy5jbWFr
ZTogaW5jbHVkZSBHdGtEb2MuY21ha2UgaW5zdGVhZCBvZiBkZWZpbmluZyBtYWNyby4KKyAgICAg
ICAgKiBTb3VyY2UvUGxhdGZvcm1XUEUuY21ha2U6IEFkZGVkIGRvY3VtZW50YXRpb24gZ2VuZXJh
dGlvbi4KKyAgICAgICAgKiBTb3VyY2UvY21ha2UvR3RrRG9jLmNtYWtlOiBBZGRlZC4KKyAgICAg
ICAgKiBTb3VyY2UvY21ha2UvT3B0aW9uc1dQRS5jbWFrZTogQWRkZWQgRU5BQkxFX0dUS0RPQyBi
dWlsZCBvcHRpb24gYW5kIGFkZGVkIHBrZy1jb25maWcgcGF0aCB2YXJpYWJsZXMuCisKIDIwMTgt
MTItMDMgIERvbiBPbG1zdGVhZCAgPGRvbi5vbG1zdGVhZEBzb255LmNvbT4KIAogICAgICAgICBb
Q01ha2VdIFN5bmMgZmVhdHVyZSBkZWZpbmVzCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>358595</attachid>
            <date>2019-01-08 08:39:37 -0800</date>
            <delta_ts>2019-01-08 10:39:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-178900-20190108173936.patch</filename>
            <type>text/plain</type>
            <size>1728</size>
            <attacher name="Carlos Bentzen">cadubentzen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5NzIzCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZWQzYTRiNGI5MjA5OTZlN2U5ZDcwNGUzODYyZTE3NWM1
NzFkYjRmYS4uODQ2MDI1NTE3MWU0OWE3NjA3NDZkMGM5Mzc5NDJjZWUyNTkyMzliNyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2
IEBACisyMDE5LTAxLTA4ICBDYXJsb3MgRWR1YXJkbyBSYW1hbGhvICA8Y2FkdWJlbnR6ZW5AZ21h
aWwuY29tPgorCisgICAgICAgIFtXUEVdIEFkZCBndGstZG9jCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzg5MDAKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgVG9vbHMvZ3RrZG9jIHRvIG1hbmlmZXN0
LnR4dC5pbiBmaWxlcy4KKyAgICAgICAgVGhpcyBzaG91bGQgaGF2ZSBiZWVuIGRvbmUgaW4gcjIz
ODg1MyBhbmQgY2F1c2VkIGZhaWx1cmUgaW4gYnVpbGRpbmcgV2ViS2l0R1RLKyB1bnN0YWJsZSBy
ZWxlYXNlIDIuMjMuMi4KKworICAgICAgICAqIGd0ay9tYW5pZmVzdC50eHQuaW46CisgICAgICAg
ICogd3BlL21hbmlmZXN0LnR4dC5pbjoKKwogMjAxOS0wMS0wNyAgRGF2aWQgS2lsemVyICA8ZGRr
aWx6ZXJAYXBwbGUuY29tPgogCiAgICAgICAgIExlYWsgb2YgU2Nyb2xsQ29tcGxldGlvbkNhbGxi
YWNrRGF0YSAoMTYgYnl0ZXMpIGluIGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCBydW5uaW5n
IFdlYktpdCBsYXlvdXQgdGVzdHMKZGlmZiAtLWdpdCBhL1Rvb2xzL2d0ay9tYW5pZmVzdC50eHQu
aW4gYi9Ub29scy9ndGsvbWFuaWZlc3QudHh0LmluCmluZGV4IGExMDZhNGY1MGNkZDY1NjgyZWY5
MTEzM2QxZDg3Y2UyMWVkZTA4MzIuLmQzZmI2YTdiYzIxOTk2NzRmOGY1ZDkwNmI1MjZmZmQ4ZmI5
NTJmYjAgMTAwNjQ0Ci0tLSBhL1Rvb2xzL2d0ay9tYW5pZmVzdC50eHQuaW4KKysrIGIvVG9vbHMv
Z3RrL21hbmlmZXN0LnR4dC5pbgpAQCAtODcsNiArODcsOCBAQCBleGNsdWRlIFRvb2xzL2d0ay9q
aGJ1aWxkcmMKIGV4Y2x1ZGUgVG9vbHMvZ3RrL21ha2UtZGlzdC5weQogZXhjbHVkZSBUb29scy9n
dGsveWNtX2V4dHJhX2NvbmYucHkKIAorZGlyZWN0b3J5IFRvb2xzL2d0a2RvYworCiBmaWxlIFRv
b2xzL2dsaWIvY29tbW9uLnB5CiBmaWxlIFRvb2xzL2dsaWIvZ2VuZXJhdGUtaW5zcGVjdG9yLWdy
ZXNvdXJjZS1tYW5pZmVzdC5weQogCmRpZmYgLS1naXQgYS9Ub29scy93cGUvbWFuaWZlc3QudHh0
LmluIGIvVG9vbHMvd3BlL21hbmlmZXN0LnR4dC5pbgppbmRleCA5ODEwNzQ4MDk1NjdlNTU1OTNk
ZjYyOGE5ZTAyNDkzZWY5YWJkMjJiLi43Y2Q4ZGUyZGFjOGZkMmNlN2ViZDg3MjQwZmZkODVkNzQ1
OTdjYzQxIDEwMDY0NAotLS0gYS9Ub29scy93cGUvbWFuaWZlc3QudHh0LmluCisrKyBiL1Rvb2xz
L3dwZS9tYW5pZmVzdC50eHQuaW4KQEAgLTg0LDYgKzg0LDggQEAgZXhjbHVkZSBUb29scy93cGUv
cGF0Y2hlcwogZXhjbHVkZSBUb29scy93cGUvamhidWlsZC5tb2R1bGVzCiBleGNsdWRlIFRvb2xz
L3dwZS9qaGJ1aWxkcmMKIAorZGlyZWN0b3J5IFRvb2xzL2d0a2RvYworCiBmaWxlIFRvb2xzL2ds
aWIvZ2VuZXJhdGUtaW5zcGVjdG9yLWdyZXNvdXJjZS1tYW5pZmVzdC5weQogCiBkaXJlY3Rvcnkg
VG9vbHMvTWluaUJyb3dzZXIK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>358611</attachid>
            <date>2019-01-08 10:39:39 -0800</date>
            <delta_ts>2019-01-11 17:02:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-178900-20190108193938.patch</filename>
            <type>text/plain</type>
            <size>2570</size>
            <attacher name="Carlos Bentzen">cadubentzen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5NzIzCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZWQzYTRiNGI5MjA5OTZlN2U5ZDcwNGUzODYyZTE3NWM1
NzFkYjRmYS4uYTNlZWYwZWUyMGEwOTA5ZTlkYjY0YmU5N2FhYzI4OTc4NDExYTQ2NSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2
IEBACisyMDE5LTAxLTA4ICBDYXJsb3MgRWR1YXJkbyBSYW1hbGhvICA8Y2FkdWJlbnR6ZW5AZ21h
aWwuY29tPgorCisgICAgICAgIFtXUEVdIEFkZCBndGstZG9jCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzg5MDAKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgVG9vbHMvZ3RrZG9jIHRvIG1hbmlmZXN0
LnR4dC5pbiBmaWxlcy4KKyAgICAgICAgVGhpcyBzaG91bGQgaGF2ZSBiZWVuIGRvbmUgaW4gcjIz
ODg1MyBhbmQgY2F1c2VkIGZhaWx1cmUgaW4gYnVpbGRpbmcgV2ViS2l0R1RLKyB1bnN0YWJsZSBy
ZWxlYXNlIDIuMjMuMi4KKworICAgICAgICAqIGd0ay9tYW5pZmVzdC50eHQuaW46IEFkZCBUb29s
cy9ndGtkb2MgZGlyZWN0b3J5LgorICAgICAgICAqIHdwZS9tYW5pZmVzdC50eHQuaW46IEFkZCBU
b29scy9ndGtkb2MgZGlyZWN0b3J5IGFuZCB1bmNvbW1lbnQgbGluZXMgdG8gbW92ZSBkb2N1bWVu
dGF0aW9uIGFydGlmYWN0cy4KKwogMjAxOS0wMS0wNyAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJA
YXBwbGUuY29tPgogCiAgICAgICAgIExlYWsgb2YgU2Nyb2xsQ29tcGxldGlvbkNhbGxiYWNrRGF0
YSAoMTYgYnl0ZXMpIGluIGNvbS5hcHBsZS5XZWJLaXQuV2ViQ29udGVudCBydW5uaW5nIFdlYktp
dCBsYXlvdXQgdGVzdHMKZGlmZiAtLWdpdCBhL1Rvb2xzL2d0ay9tYW5pZmVzdC50eHQuaW4gYi9U
b29scy9ndGsvbWFuaWZlc3QudHh0LmluCmluZGV4IGExMDZhNGY1MGNkZDY1NjgyZWY5MTEzM2Qx
ZDg3Y2UyMWVkZTA4MzIuLjM0NWYxZjE0Y2ZjZDRlZDFiM2FmMTQ2MTU1MGQzODEwOTM4NmM1ZjAg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL2d0ay9tYW5pZmVzdC50eHQuaW4KKysrIGIvVG9vbHMvZ3RrL21h
bmlmZXN0LnR4dC5pbgpAQCAtOTAsNiArOTAsNyBAQCBleGNsdWRlIFRvb2xzL2d0ay95Y21fZXh0
cmFfY29uZi5weQogZmlsZSBUb29scy9nbGliL2NvbW1vbi5weQogZmlsZSBUb29scy9nbGliL2dl
bmVyYXRlLWluc3BlY3Rvci1ncmVzb3VyY2UtbWFuaWZlc3QucHkKIAorZGlyZWN0b3J5IFRvb2xz
L2d0a2RvYwogZGlyZWN0b3J5IFRvb2xzL01pbmlCcm93c2VyCiBkaXJlY3RvcnkgVG9vbHMvVGVz
dFdlYktpdEFQSQogCmRpZmYgLS1naXQgYS9Ub29scy93cGUvbWFuaWZlc3QudHh0LmluIGIvVG9v
bHMvd3BlL21hbmlmZXN0LnR4dC5pbgppbmRleCA5ODEwNzQ4MDk1NjdlNTU1OTNkZjYyOGE5ZTAy
NDkzZWY5YWJkMjJiLi45MTYzZjJiOWIwMTMzMmQxOWYzNWM0OTg5NmE0MTI4NDMzYTAwMjI3IDEw
MDY0NAotLS0gYS9Ub29scy93cGUvbWFuaWZlc3QudHh0LmluCisrKyBiL1Rvb2xzL3dwZS9tYW5p
ZmVzdC50eHQuaW4KQEAgLTg2LDYgKzg2LDcgQEAgZXhjbHVkZSBUb29scy93cGUvamhidWlsZHJj
CiAKIGZpbGUgVG9vbHMvZ2xpYi9nZW5lcmF0ZS1pbnNwZWN0b3ItZ3Jlc291cmNlLW1hbmlmZXN0
LnB5CiAKK2RpcmVjdG9yeSBUb29scy9ndGtkb2MKIGRpcmVjdG9yeSBUb29scy9NaW5pQnJvd3Nl
cgogZGlyZWN0b3J5IFRvb2xzL1Rlc3RXZWJLaXRBUEkKIApAQCAtOTMsNiArOTQsNSBAQCBmaWxl
IENNYWtlTGlzdHMudHh0CiBmaWxlIFRvb2xzL0NNYWtlTGlzdHMudHh0CiBmaWxlIFRvb2xzL1Bs
YXRmb3JtV1BFLmNtYWtlCiAKLSMgRklYTUU6IFdlIGFyZSBub3QgY3VycmVudGx5IGdlbmVyYXRp
bmcgZG9jdW1lbnRhdGlvbiBmb3IgV1BFLgotI2RpcmVjdG9yeSAke0NNQUtFX0JJTkFSWV9ESVJ9
L0RvY3VtZW50YXRpb24vd2Via2l0Mmd0ay0ke1dFQktJVEdUS19BUElfVkVSU0lPTn0vaHRtbCBE
b2N1bWVudGF0aW9uL3dlYmtpdDJndGstJHtXRUJLSVRHVEtfQVBJX1ZFUlNJT059L2h0bWwKLSNk
aXJlY3RvcnkgJHtDTUFLRV9CSU5BUllfRElSfS9Eb2N1bWVudGF0aW9uL3dlYmtpdGRvbWd0ay0k
e1dFQktJVEdUS19BUElfVkVSU0lPTn0vaHRtbCBEb2N1bWVudGF0aW9uL3dlYmtpdGRvbWd0ay0k
e1dFQktJVEdUS19BUElfVkVSU0lPTn0vaHRtbAorZGlyZWN0b3J5ICR7Q01BS0VfQklOQVJZX0RJ
Un0vRG9jdW1lbnRhdGlvbi93cGUtJHtXUEVfQVBJX1ZFUlNJT059L2h0bWwvd3BlLSR7V1BFX0FQ
SV9WRVJTSU9OfSBEb2N1bWVudGF0aW9uL3dwZS0ke1dQRV9BUElfVkVSU0lPTn0vaHRtbAorZGly
ZWN0b3J5ICR7Q01BS0VfQklOQVJZX0RJUn0vRG9jdW1lbnRhdGlvbi93cGUtd2ViZXh0ZW5zaW9u
cy0ke1dQRV9BUElfVkVSU0lPTn0vaHRtbC93cGUtd2ViZXh0ZW5zaW9ucy0ke1dQRV9BUElfVkVS
U0lPTn0gRG9jdW1lbnRhdGlvbi93cGUtd2ViZXh0ZW5zaW9ucy0ke1dQRV9BUElfVkVSU0lPTn0v
aHRtbAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>