<?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>60313</bug_id>
          
          <creation_ts>2011-05-05 16:41:48 -0700</creation_ts>
          <short_desc>Add build logistics and plumbing for window.internals object.</short_desc>
          <delta_ts>2011-06-03 14:39:44 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>61139</dependson>
          <blocked>60277</blocked>
    
    <blocked>61071</blocked>
    
    <blocked>61073</blocked>
    
    <blocked>61074</blocked>
    
    <blocked>61076</blocked>
    
    <blocked>61671</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dimitri Glazkov (Google)">dglazkov</reporter>
          <assigned_to name="Dimitri Glazkov (Google)">dglazkov</assigned_to>
          <cc>ap</cc>
    
    <cc>darin</cc>
    
    <cc>dominicc</cc>
    
    <cc>fishd</cc>
    
    <cc>morrita</cc>
    
    <cc>mrowe</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>399170</commentid>
    <comment_count>0</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-05-05 16:41:48 -0700</bug_when>
    <thetext>Add build logistics and plumbing for window.internals object.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>399171</commentid>
    <comment_count>1</comment_count>
      <attachid>92494</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-05-05 16:42:15 -0700</bug_when>
    <thetext>Created attachment 92494
WIP: Mac build logistics.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>399176</commentid>
    <comment_count>2</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-05-05 16:47:08 -0700</bug_when>
    <thetext>Not yet ready for review, but wanted to ask your opinion on this approach:

1) build separate target called WebCoreTestSupport in WebCore project, which produces libWebCoreTestSupport.a
2) when building, InternalsInjector.h is copied to WebCoreTestSupport/PrivateHeaders/InternalsInjector.h;
3) the DumpRenderTree project links in libWebCoreTestSupport.a and refers to InternalsInjector.h;
4) allowing the DRT code to call into to InternalsInjector to inject window.internals.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402418</commentid>
    <comment_count>3</comment_count>
      <attachid>93212</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-05-11 16:44:23 -0700</bug_when>
    <thetext>Created attachment 93212
WIP: windows.internals object works on mac WebKit1.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402647</commentid>
    <comment_count>4</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2011-05-11 21:54:00 -0700</bug_when>
    <thetext>
Wow, it&apos;s coming !! 
&gt; WIP: windows.internals object works on mac WebKit1.
And your patch is going to support WebKit2 - you are touching WebKitTestRunner.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402705</commentid>
    <comment_count>5</comment_count>
      <attachid>93212</attachid>
    <who name="Dominic Cooney">dominicc</who>
    <bug_when>2011-05-11 23:41:27 -0700</bug_when>
    <thetext>Comment on attachment 93212
WIP: windows.internals object works on mac WebKit1.

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

Looking forward to this.

&gt; LayoutTests/fast/harness/internals-object.html:1
&gt; +&lt;html&gt;

Any reason not to use the test framework and simplify this to something like:

&lt;!DOCTYPE html&gt;
&lt;script src=&quot;../js/resources/js-test-pre.js&quot;&gt;&lt;/script&gt;
&lt;pre id=&quot;console&quot;&gt;
(Description)
&lt;/pre&gt;
&lt;script&gt;
shouldBeNonNull(&apos;window.internals&apos;);
var successfullyParsed = true;
&lt;/script&gt;
&lt;script src=&quot;../js/resources/js-test-post.js&quot;&gt;&lt;/script&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402883</commentid>
    <comment_count>6</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-05-12 09:11:32 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 93212 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=93212&amp;action=review
&gt; 
&gt; Looking forward to this.
&gt; 
&gt; &gt; LayoutTests/fast/harness/internals-object.html:1
&gt; &gt; +&lt;html&gt;
&gt; 
&gt; Any reason not to use the test framework and simplify this to something like:
&gt; 
&gt; &lt;!DOCTYPE html&gt;
&gt; &lt;script src=&quot;../js/resources/js-test-pre.js&quot;&gt;&lt;/script&gt;
&gt; &lt;pre id=&quot;console&quot;&gt;
&gt; (Description)
&gt; &lt;/pre&gt;
&gt; &lt;script&gt;
&gt; shouldBeNonNull(&apos;window.internals&apos;);
&gt; var successfullyParsed = true;
&gt; &lt;/script&gt;
&gt; &lt;script src=&quot;../js/resources/js-test-post.js&quot;&gt;&lt;/script&gt;

I hate the scripting framework, but I&apos;ll convert the test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402909</commentid>
    <comment_count>7</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-05-12 09:58:16 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Wow, it&apos;s coming !! 
&gt; &gt; WIP: windows.internals object works on mac WebKit1.
&gt; And your patch is going to support WebKit2 - you are touching WebKitTestRunner.

No, it won&apos;t. WebKit2 is a bit more difficult. Because the layout test controller code is in a bundle, I can&apos;t link in WebCore symbols there. I need to look more at how WebKit2 works -- or perhaps Sam can just point me at the right place.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>405330</commentid>
    <comment_count>8</comment_count>
      <attachid>93830</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-05-17 15:18:44 -0700</bug_when>
    <thetext>Created attachment 93830
WIP: Chromium and WebKit1/mac work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>405354</commentid>
    <comment_count>9</comment_count>
      <attachid>93830</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-05-17 15:45:41 -0700</bug_when>
    <thetext>Comment on attachment 93830
WIP: Chromium and WebKit1/mac work.

Attachment 93830 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/8710261</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>405425</commentid>
    <comment_count>10</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-05-17 17:43:27 -0700</bug_when>
    <thetext>Darin (Fisher), take a look at how the Chromium stuff is done. Let me know if I did something crazy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>405875</commentid>
    <comment_count>11</comment_count>
      <attachid>93830</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-05-18 11:24:46 -0700</bug_when>
    <thetext>Comment on attachment 93830
WIP: Chromium and WebKit1/mac work.

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

&gt; Source/WebKit/chromium/public/WebInternalsInjector.h:35
&gt; +    static void injectInternalsObject(WebFrame*);

This needs to be marked WEBKIT_API so that it will get exported from WebKit.dll on Windows.

nit: WebInternalsInjector::injectInternalsObject repeats the words &quot;internals&quot; and &quot;inject&quot;... you could get by with something shorter that only says these words once.  it might be done by changing WebInternalsInjector to something like WebTestingSupport?  or WebLayoutTestSupport?  or WebDumpRenderTreeSupport?  Maybe there are other methods that could be moved to this class too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>405937</commentid>
    <comment_count>12</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-05-18 12:30:35 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 93830 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=93830&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/chromium/public/WebInternalsInjector.h:35
&gt; &gt; +    static void injectInternalsObject(WebFrame*);
&gt; 
&gt; This needs to be marked WEBKIT_API so that it will get exported from WebKit.dll on Windows.

Doh! thanks.

&gt; 
&gt; nit: WebInternalsInjector::injectInternalsObject repeats the words &quot;internals&quot; and &quot;inject&quot;... you could get by with something shorter that only says these words once.  it might be done by changing WebInternalsInjector to something like WebTestingSupport?  or WebLayoutTestSupport?  or WebDumpRenderTreeSupport?  Maybe there are other methods that could be moved to this class too.

I like WebTestingSupport, I&apos;ll go with that/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406042</commentid>
    <comment_count>13</comment_count>
      <attachid>93990</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-05-18 14:57:38 -0700</bug_when>
    <thetext>Created attachment 93990
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406502</commentid>
    <comment_count>14</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-05-19 10:36:56 -0700</bug_when>
    <thetext>This patch looks nice and green. Come review it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406506</commentid>
    <comment_count>15</comment_count>
      <attachid>93990</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-05-19 10:43:48 -0700</bug_when>
    <thetext>Comment on attachment 93990
Patch

LGTM for chromium bits.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406554</commentid>
    <comment_count>16</comment_count>
      <attachid>93990</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-05-19 11:47:02 -0700</bug_when>
    <thetext>Comment on attachment 93990
Patch

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

Looks like a good start.

&gt; Source/WebCore/testing/v8/WebCoreTestSupport.h:32
&gt; +namespace v8 {
&gt; +class Context;
&gt; +template &lt;class T&gt; class Local;
&gt; +}

The stylebot is causing you to use bad formatting here ;-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406556</commentid>
    <comment_count>17</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-05-19 11:50:50 -0700</bug_when>
    <thetext>If that&apos;s ok, I&apos;ll land this with a small change to WebCore.xcodeproj -- I&apos;ll add an extra &quot;All&quot; target, which depends on both WebCore and WebCoreTestSupport. This would make the project structure more consistent with DumpRenderTree.xcodeproj and WebKit2.xcodeproj.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406559</commentid>
    <comment_count>18</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-05-19 11:54:32 -0700</bug_when>
    <thetext>Committed r86869: &lt;http://trac.webkit.org/changeset/86869&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406575</commentid>
    <comment_count>19</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-05-19 12:30:36 -0700</bug_when>
    <thetext>Looks like I broke Chromium component build, fixing...


--------------------Configuration: webkit - Release Win32-----------------------
Compiling...
WebTestingSupport.cpp
.\src\WebTestingSupport.cpp(29) : fatal error C1083: Cannot open include file: &apos;WebCoreTestSupport.h&apos;: No such file or directory
Build log was saved at &quot;file://e:\b\build\slave\Win_Shared_Builder__dbg_\build\src\build\Release\obj\webkit\BuildLog.htm&quot;
webkit - 1 error(s), 0 warning(s)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406577</commentid>
    <comment_count>20</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-05-19 12:31:12 -0700</bug_when>
    <thetext>Leopard build fixed in http://trac.webkit.org/changeset/86873.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406597</commentid>
    <comment_count>21</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-05-19 13:14:15 -0700</bug_when>
    <thetext>Rolled out (along with fixes) in : http://trac.webkit.org/changeset/86879.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406598</commentid>
    <comment_count>22</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-05-19 13:15:10 -0700</bug_when>
    <thetext>Also, Mark suggested to use xcconfig for the new target.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406603</commentid>
    <comment_count>23</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-05-19 13:21:26 -0700</bug_when>
    <thetext>Ultimately, the issue was in inability to manage symbols export. andersca and myself threw fixes at the tree for a while, but stopped after seeing this in the latest fix attempt.

ERROR: WebCore has a weak vtable in it (/Volumes/Big/WebKit-BuildSlave/leopard-intel-release/build/WebKitBuild/Release/WebCore.framework/Versions/A/WebCore)
ERROR: Fix by making sure the first virtual function in each of these classes is not an inline:
ERROR: class WebCore::JSDOMWrapper

I fear we&apos;re solving a problem with another problem. This patch barely touched WebCore internals, and we still had way too much fun attempting to manage the exports. So instead of plumbing stuff through ports&apos; WebKit layers, we would have to manage these ports&apos; exports.

Does anyone have any bright ideas on improving the situation?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407581</commentid>
    <comment_count>24</comment_count>
      <attachid>94331</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-05-21 18:06:57 -0700</bug_when>
    <thetext>Created attachment 94331
Harder, better, faster, stronger.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407585</commentid>
    <comment_count>25</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-05-21 18:40:05 -0700</bug_when>
    <thetext>&gt; Does anyone have any bright ideas on improving the situation?

Following exciting intracranial discussion, I&apos;ve concluded that this is still the right approach. Even though we will have to occasionally unpuzzle weird exported symbol problems, it&apos;s still better and less wasteful then plumbing this through the WebKit API layer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407588</commentid>
    <comment_count>26</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-05-21 19:01:44 -0700</bug_when>
    <thetext>(In reply to comment #24)
&gt; Created an attachment (id=94331) [details]
&gt; Harder, better, faster, stronger.

This patch differs from the last one in:
* Addition of WebCoreTestSupport.xcconfig file
* A fix for the Chromium component build
* Accumulating all of the exported symbol fixes that we threw at the tree while landing last time
* A funky workaround for &quot;weak external vtable&quot; issue in JSDOMWrapper. I don&apos;t love it, but it appears to be the only rational way. Appreciate any um.. pointers!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407598</commentid>
    <comment_count>27</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-05-21 21:52:01 -0700</bug_when>
    <thetext>&gt; better and less wasteful then plumbing this through the WebKit API layer.

I&apos;d like to use this occasion to re-emphasize a point I&apos;ve been making at the contributor meeting. This functionality should not be a replacement for tests that need to be end to end, but the contributor is unwilling to do WebKit plumbing for some reason.

I&apos;m sure that we&apos;ll have exciting discussions for each specific case for a while, until we figure out the best practices. Let&apos;s try to have these early enough in the process, before code is written and a patch is up for review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407599</commentid>
    <comment_count>28</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-05-21 22:00:44 -0700</bug_when>
    <thetext>(In reply to comment #27)
&gt; &gt; better and less wasteful then plumbing this through the WebKit API layer.
&gt; 
&gt; I&apos;d like to use this occasion to re-emphasize a point I&apos;ve been making at the contributor meeting. This functionality should not be a replacement for tests that need to be end to end, but the contributor is unwilling to do WebKit plumbing for some reason.
&gt; 
&gt; I&apos;m sure that we&apos;ll have exciting discussions for each specific case for a while, until we figure out the best practices. Let&apos;s try to have these early enough in the process, before code is written and a patch is up for review!

Totally agree.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>408217</commentid>
    <comment_count>29</comment_count>
      <attachid>94331</attachid>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2011-05-23 13:37:22 -0700</bug_when>
    <thetext>Comment on attachment 94331
Harder, better, faster, stronger.

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

&gt; Source/WebCore/WebCore.xcodeproj/project.pbxproj:25783
&gt; +				COPY_PHASE_STRIP = NO;
&gt; +				GCC_DYNAMIC_NO_PIC = NO;
&gt; +				GCC_OPTIMIZATION_LEVEL = 0;

These settings aren’t necessary AFAICT and should be removed.

&gt; Source/WebCore/WebCore.xcodeproj/project.pbxproj:25795
&gt; +				COPY_PHASE_STRIP = YES;
&gt; +				DEBUG_INFORMATION_FORMAT = &quot;dwarf-with-dsym&quot;;
&gt; +				GCC_ENABLE_FIX_AND_CONTINUE = NO;
&gt; +				PRODUCT_NAME = All;
&gt; +				ZERO_LINK = NO;

Ditto here (except for PRODUCT_NAME).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>408230</commentid>
    <comment_count>30</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-05-23 13:42:00 -0700</bug_when>
    <thetext>(In reply to comment #29)
&gt; (From update of attachment 94331 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=94331&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/WebCore.xcodeproj/project.pbxproj:25783
&gt; &gt; +				COPY_PHASE_STRIP = NO;
&gt; &gt; +				GCC_DYNAMIC_NO_PIC = NO;
&gt; &gt; +				GCC_OPTIMIZATION_LEVEL = 0;
&gt; 
&gt; These settings aren’t necessary AFAICT and should be removed.
&gt; 
&gt; &gt; Source/WebCore/WebCore.xcodeproj/project.pbxproj:25795
&gt; &gt; +				COPY_PHASE_STRIP = YES;
&gt; &gt; +				DEBUG_INFORMATION_FORMAT = &quot;dwarf-with-dsym&quot;;
&gt; &gt; +				GCC_ENABLE_FIX_AND_CONTINUE = NO;
&gt; &gt; +				PRODUCT_NAME = All;
&gt; &gt; +				ZERO_LINK = NO;
&gt; 
&gt; Ditto here (except for PRODUCT_NAME).
 
Sounds good, will remove and test locally to make sure nothing breaks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>408334</commentid>
    <comment_count>31</comment_count>
      <attachid>94494</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-05-23 14:51:13 -0700</bug_when>
    <thetext>Created attachment 94494
Event betterer, harderer, etc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>408335</commentid>
    <comment_count>32</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-05-23 14:52:07 -0700</bug_when>
    <thetext>&gt; Sounds good, will remove and test locally to make sure nothing breaks.

It worked! Thanks Mark. New patch uploaded.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>409300</commentid>
    <comment_count>33</comment_count>
      <attachid>94711</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-05-24 16:34:19 -0700</bug_when>
    <thetext>Created attachment 94711
Using dylib approach EXTREME</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>409313</commentid>
    <comment_count>34</comment_count>
      <attachid>94716</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-05-24 16:58:46 -0700</bug_when>
    <thetext>Created attachment 94716
Dylib approach EXTREME rebased to HEAD</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>411433</commentid>
    <comment_count>35</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-05-27 07:48:10 -0700</bug_when>
    <thetext>Bueller?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>413767</commentid>
    <comment_count>36</comment_count>
      <attachid>94716</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-06-01 16:55:01 -0700</bug_when>
    <thetext>Comment on attachment 94716
Dylib approach EXTREME rebased to HEAD

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

&gt; Source/WebCore/bindings/js/JSDOMWrapper.h:53
&gt; +    // An inline function cannot be the first non-abstract virtual function declared
&gt; +    // in the class as it results in the vtable being generated as a weak symbol.
&gt; +    virtual void noWeakVtable();

This technique is fine.

I would use a different name for the function that is more of a function name. Maybe virtualFunctionToPreventWeakVtable.

&gt; Source/WebCore/testing/Internals.cpp:33
&gt; +    return adoptRef(new Internals());

I’d leave out the () here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>414242</commentid>
    <comment_count>37</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-06-02 10:30:59 -0700</bug_when>
    <thetext>Committed r87926: &lt;http://trac.webkit.org/changeset/87926&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>414271</commentid>
    <comment_count>38</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-06-02 11:05:23 -0700</bug_when>
    <thetext>Reverted r87926 for reason:

Fails to find WebCoreTestSupport.dylib on bots.

Committed r87931: &lt;http://trac.webkit.org/changeset/87931&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>414382</commentid>
    <comment_count>39</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-06-02 13:15:45 -0700</bug_when>
    <thetext>Committed r87948: &lt;http://trac.webkit.org/changeset/87948&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>415197</commentid>
    <comment_count>40</comment_count>
      <attachid>95962</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-06-03 14:24:52 -0700</bug_when>
    <thetext>Created attachment 95962
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>415201</commentid>
    <comment_count>41</comment_count>
      <attachid>95962</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-06-03 14:30:16 -0700</bug_when>
    <thetext>Comment on attachment 95962
Patch

yay!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>415210</commentid>
    <comment_count>42</comment_count>
      <attachid>95962</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2011-06-03 14:39:44 -0700</bug_when>
    <thetext>Comment on attachment 95962
Patch

Whoops. Uploaded this to the wrong bug. I&apos;ve landed it at https://bugs.webkit.org/show_bug.cgi?id=61071.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>92494</attachid>
            <date>2011-05-05 16:42:15 -0700</date>
            <delta_ts>2011-05-11 16:44:20 -0700</delta_ts>
            <desc>WIP: Mac build logistics.</desc>
            <filename>bug-60313-20110505164214.patch</filename>
            <type>text/plain</type>
            <size>22933</size>
            <attacher name="Dimitri Glazkov (Google)">dglazkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODU4NTUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA3YjUwODU5NWVmZWE5Mjky
NjViMWJhMjY4NzkyY2UxZTc3NDk0MmY3Li43N2RhNGZmNTE5YzRkODQ1YzAzOTM2MmU0OTc2NDY0
ZjRkZDc3ZTEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDUtMDUgIERpbWl0
cmkgR2xhemtvdiAgPGRnbGF6a292QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYnVpbGQgbG9naXN0aWNzIGFuZCBwbHVt
YmluZyBmb3Igd2luZG93LmludGVybmFscyBvYmplY3QuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDMxMworCisgICAgICAgIE5vIG5ldyB0ZXN0cy4g
KE9PUFMhKQorCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBXZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIwMTEtMDUtMDUgIEFuZHJlYXMgS2xp
bmcgIDxhbmRyZWFzLmtsaW5nQG5va2lhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTaW1v
biBIYXVzbWFubi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1h
a2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDU4Yjg5ZmJmNDVk
OWUwOTg0NGYxMWFlYjk2NGVjOWI2NDFkNjkwMGIuLjNjYjMyZTVhNzkxMjExMDFhM2JlZGE2ODY4
YWJkMjQ0YmQ1MGYzMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtNDYsNiAr
NDYsNyBAQCBWUEFUSCA9IFwKICAgICAkKFdlYkNvcmUpL3dlYmF1ZGlvIFwKICAgICAkKFdlYkNv
cmUpL3dvcmtlcnMgXAogICAgICQoV2ViQ29yZSkvc3ZnIFwKKyAgICAkKFdlYkNvcmUpL3Rlc3Rp
bmcgXAogICAgICQoV2ViQ29yZSkvd2Vic29ja2V0cyBcCiAjCiAKQEAgLTI4Niw2ICsyODcsNyBA
QCBET01fQ0xBU1NFUyA9IFwKICAgICBJbWFnZURhdGEgXAogICAgIEluamVjdGVkU2NyaXB0SG9z
dCBcCiAgICAgSW5zcGVjdG9yRnJvbnRlbmRIb3N0IFwKKyAgICBJbnRlcm5hbHMgXAogICAgIEtl
eWJvYXJkRXZlbnQgXAogICAgIExvY2F0aW9uIFwKICAgICBNZWRpYUVycm9yIFwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAwMjQy
MWI1ZTg5MTk5MzQyMDY4M2Y0YjFjM2RjYmVjZWMxNzhjZjI1Li42ZTViM2U4Y2NkMDM1NzY2NGI3
ZDdhMWI3ZjJiNDFiZjY4MGZhY2QwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC04NTIsNiArODUyLDEyIEBACiAJCTQxNkU3NUND
MEVERjkwQzcwMDM2MEUxRCAvKiBTY3JpcHRDYWxsRnJhbWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE2RTc1Q0EwRURGOTBDNzAwMzYwRTFEIC8q
IFNjcmlwdENhbGxGcmFtZS5jcHAgKi87IH07CiAJCTQxNzI1M0FBMTM1NEJCQkMwMDM2MEYyQSAv
KiBNZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0MTcyNTNBODEzNTRCQkJDMDAzNjBGMkEgLyogTWVkaWFDb250cm9s
RWxlbWVudHMuY3BwICovOyB9OwogCQk0MTcyNTNBQjEzNTRCQkJDMDAzNjBGMkEgLyogTWVkaWFD
b250cm9sRWxlbWVudHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQxNzI1M0E5MTM1NEJCQkMwMDM2MEYyQSAvKiBNZWRpYUNvbnRyb2xFbGVtZW50cy5o
ICovOyB9OworCQk0MTdEQTZEOTEzNzM0RTZFMDA3QzU3RkIgLyogSW50ZXJuYWxzLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxN0RBNENGMTM3MzQz
MjYwMDdDNTdGQiAvKiBJbnRlcm5hbHMuY3BwICovOyB9OworCQk0MTdEQTZEQTEzNzM0RTZFMDA3
QzU3RkIgLyogSW50ZXJuYWxzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0MTdEQTRDRTEzNzM0MzI2MDA3QzU3RkIgLyogSW50ZXJuYWxzLmggKi87IH07
CisJCTQxN0RBNzFEMTM3MzVERkEwMDdDNTdGQiAvKiBKU0ludGVybmFscy5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTdEQTcxQjEzNzM1REZBMDA3
QzU3RkIgLyogSlNJbnRlcm5hbHMuY3BwICovOyB9OworCQk0MTdEQTcxRTEzNzM1REZBMDA3QzU3
RkIgLyogSlNJbnRlcm5hbHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDQxN0RBNzFDMTM3MzVERkEwMDdDNTdGQiAvKiBKU0ludGVybmFscy5oICovOyB9
OworCQk0MTdEQTczMzEzNzM2MUVGMDA3QzU3RkIgLyogSW50ZXJuYWxzSW5qZWN0b3IuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxN0RBNzMxMTM3MzYx
RUYwMDdDNTdGQiAvKiBJbnRlcm5hbHNJbmplY3Rvci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTQxN0RBNzM0MTM3MzYxRUYwMDdDNTdGQiAvKiBJ
bnRlcm5hbHNJbmplY3Rvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0MTdEQTczMjEzNzM2MUVGMDA3QzU3RkIgLyogSW50ZXJuYWxzSW5qZWN0b3Iu
Y3BwICovOyB9OwogCQk0MTg4NUI5MzExQjZGREE2MDAzMzgzQkIgLyogRm9ybVN1Ym1pc3Npb24u
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxODg1Qjkx
MTFCNkZEQTYwMDMzODNCQiAvKiBGb3JtU3VibWlzc2lvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxODg1Qjk0MTFCNkZEQTYwMDMzODNCQiAv
KiBGb3JtU3VibWlzc2lvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0MTg4NUI5MjExQjZGREE2MDAzMzgzQkIgLyogRm9ybVN1Ym1pc3Npb24uY3Bw
ICovOyB9OwogCQk0MThBMDZEMDEzM0MwNEQ1MDBDRDM3OUMgLyogRXZlbnREaXNwYXRjaGVyLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MThBMDZDRTEz
M0MwNEQ1MDBDRDM3OUMgLyogRXZlbnREaXNwYXRjaGVyLmggKi87IH07CkBAIC01OTI5LDYgKzU5
MzUsMTMgQEAKIC8qIEVuZCBQQlhCdWlsZEZpbGUgc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhD
b250YWluZXJJdGVtUHJveHkgc2VjdGlvbiAqLworCQk0MTdEQTZENDEzNzM0RTBEMDA3QzU3RkIg
LyogUEJYQ29udGFpbmVySXRlbVByb3h5ICovID0geworCQkJaXNhID0gUEJYQ29udGFpbmVySXRl
bVByb3h5OworCQkJY29udGFpbmVyUG9ydGFsID0gMDg2N0Q2OTBGRTg0MDI4RkMwMkFBQzA3IC8q
IFByb2plY3Qgb2JqZWN0ICovOworCQkJcHJveHlUeXBlID0gMTsKKwkJCXJlbW90ZUdsb2JhbElE
U3RyaW5nID0gOTNGMTk4QTUwODI0NUU1OTAwMUU5QUJDOworCQkJcmVtb3RlSW5mbyA9IFdlYkNv
cmU7CisJCX07CiAJCTVEODdCQjZBMTFFM0VCRDIwMDcwMkI2RiAvKiBQQlhDb250YWluZXJJdGVt
UHJveHkgKi8gPSB7CiAJCQlpc2EgPSBQQlhDb250YWluZXJJdGVtUHJveHk7CiAJCQljb250YWlu
ZXJQb3J0YWwgPSAwODY3RDY5MEZFODQwMjhGQzAyQUFDMDcgLyogUHJvamVjdCBvYmplY3QgKi87
CkBAIC03Mjk1LDYgKzczMDgsMTQgQEAKIAkJNDE2RTc1Q0EwRURGOTBDNzAwMzYwRTFEIC8qIFNj
cmlwdENhbGxGcmFtZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBT
Y3JpcHRDYWxsRnJhbWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTcyNTNB
ODEzNTRCQkJDMDAzNjBGMkEgLyogTWVkaWFDb250cm9sRWxlbWVudHMuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWVkaWFDb250cm9sRWxlbWVudHMuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTcyNTNBOTEzNTRCQkJDMDAzNjBGMkEgLyogTWVk
aWFDb250cm9sRWxlbWVudHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVk
aWFDb250cm9sRWxlbWVudHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE3REE0
Q0UxMzczNDMyNjAwN0M1N0ZCIC8qIEludGVybmFscy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IG5hbWUgPSBJbnRlcm5hbHMuaDsgcGF0aCA9IHRlc3RpbmcvSW50ZXJuYWxzLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxN0RBNENGMTM3MzQzMjYwMDdDNTdGQiAvKiBJbnRl
cm5hbHMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gSW50ZXJuYWxz
LmNwcDsgcGF0aCA9IHRlc3RpbmcvSW50ZXJuYWxzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJNDE3REE2RDAxMzczNEUwMjAwN0M1N0ZCIC8qIGxpYldlYkNvcmVUZXN0U3VwcG9y
dC5hICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGV4cGxpY2l0RmlsZVR5cGUgPSBhcmNo
aXZlLmFyOyBpbmNsdWRlSW5JbmRleCA9IDA7IHBhdGggPSBsaWJXZWJDb3JlVGVzdFN1cHBvcnQu
YTsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKKwkJNDE3REE3MEIxMzczNUM2
MjAwN0M1N0ZCIC8qIEludGVybmFscy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gSW50ZXJu
YWxzLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE3REE3MUIxMzczNURGQTAw
N0M1N0ZCIC8qIEpTSW50ZXJuYWxzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEpTSW50ZXJuYWxzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE3
REE3MUMxMzczNURGQTAwN0M1N0ZCIC8qIEpTSW50ZXJuYWxzLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEpTSW50ZXJuYWxzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTQxN0RBNzMxMTM3MzYxRUYwMDdDNTdGQiAvKiBJbnRlcm5hbHNJbmplY3Rvci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnRlcm5hbHNJbmplY3Rvci5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk0MTdEQTczMjEzNzM2MUVGMDA3QzU3RkIgLyogSW50ZXJu
YWxzSW5qZWN0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW50
ZXJuYWxzSW5qZWN0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTg4NUI5
MTExQjZGREE2MDAzMzgzQkIgLyogRm9ybVN1Ym1pc3Npb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gRm9ybVN1Ym1pc3Npb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNDE4ODVCOTIxMUI2RkRBNjAwMzM4M0JCIC8qIEZvcm1TdWJtaXNzaW9uLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZvcm1TdWJtaXNzaW9uLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE4QTA2Q0UxMzNDMDRENTAwQ0QzNzlDIC8qIEV2
ZW50RGlzcGF0Y2hlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBFdmVudERp
c3BhdGNoZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEyNDUwLDYgKzEyNDcx
LDEzIEBACiAvKiBFbmQgUEJYRmlsZVJlZmVyZW5jZSBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFBC
WEZyYW1ld29ya3NCdWlsZFBoYXNlIHNlY3Rpb24gKi8KKwkJNDE3REE2Q0UxMzczNEUwMjAwN0M1
N0ZCIC8qIEZyYW1ld29ya3MgKi8gPSB7CisJCQlpc2EgPSBQQlhGcmFtZXdvcmtzQnVpbGRQaGFz
ZTsKKwkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CisJCQlmaWxlcyA9ICgKKwkJCSk7
CisJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKKwkJfTsKIAkJNUQ4
N0JCNEQxMUUzRUFFQjAwNzAyQjZGIC8qIEZyYW1ld29ya3MgKi8gPSB7CiAJCQlpc2EgPSBQQlhG
cmFtZXdvcmtzQnVpbGRQaGFzZTsKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CkBA
IC0xMjQ4Nyw2ICsxMjUxNSw3IEBACiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0g
KAogCQkJCTVEODdCQjRGMTFFM0VBRUIwMDcwMkI2RiAvKiBXZWJDb3JlRXhwb3J0RmlsZUdlbmVy
YXRvciAqLywKKwkJCQk0MTdEQTZEMDEzNzM0RTAyMDA3QzU3RkIgLyogbGliV2ViQ29yZVRlc3RT
dXBwb3J0LmEgKi8sCiAJCQkJOTNGMTlCMUEwODI0NUU1QTAwMUU5QUJDIC8qIFdlYkNvcmUuZnJh
bWV3b3JrICovLAogCQkJKTsKIAkJCW5hbWUgPSBQcm9kdWN0czsKQEAgLTEyNTYwLDYgKzEyNTg5
LDcgQEAKIAkJCQlGNTIzRDJGMzAyREU0NDNCMDE4NjM1Q0EgLyogcmVuZGVyaW5nICovLAogCQkJ
CTFBRTgyRUM5MENBQUUxNzcwMDIyMzdBRSAvKiBzdG9yYWdlICovLAogCQkJCUIyMjI3N0NBMEQw
MEJGMUUwMDcxQjc4MiAvKiBzdmcgKi8sCisJCQkJNDE3REE0Q0QxMzczNDIwNDAwN0M1N0ZCIC8q
IHRlc3RpbmcgKi8sCiAJCQkJRkQzMTVGQTIxMkIwMjVCMTAwQzFBMzU5IC8qIHdlYmF1ZGlvICov
LAogCQkJCTUxOEEzNEJEMTAyNkM4MzEwMDFCNjg5NiAvKiB3ZWJzb2NrZXRzICovLAogCQkJCTJF
NDM0NjMxMEY1NDZBNjgwMEIwRjFCQSAvKiB3b3JrZXJzICovLApAQCAtMTI3NjUsNiArMTI3OTUs
NyBAQAogCQkJCUJDOTg1NDQ2MENEM0RBNUYwMDA2OUJDMSAvKiBSYW5nZXMgKi8sCiAJCQkJQTgz
Qjc5MTUwQ0NCMDA3ODAwMEIwODI1IC8qIFN0b3JhZ2UgKi8sCiAJCQkJQTgzQjc5MEEwQ0NBRkY0
NzAwMEIwODI1IC8qIFNWRyAqLywKKwkJCQk0MTdEQTcxMjEzNzM1RDkwMDA3QzU3RkIgLyogVGVz
dGluZyAqLywKIAkJCQlFMUM4QkU0QjBFOEJEMEQxMDA2NENCN0QgLyogVGhyZWFkcyAqLywKIAkJ
CQlCQzk4NTQ1MzBDRDNEQThGMDAwNjlCQzEgLyogVHJhdmVyc2FsICovLAogCQkJCUZEQTE1RTdC
MTJCMDNFMDQwMDNBNTgzQSAvKiBXZWJBdWRpbyAqLywKQEAgLTEzNDIxLDYgKzEzNDUyLDI3IEBA
CiAJCQlwYXRoID0gc2hhZG93OwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKKwkJ
NDE3REE0Q0QxMzczNDIwNDAwN0M1N0ZCIC8qIHRlc3RpbmcgKi8gPSB7CisJCQlpc2EgPSBQQlhH
cm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTQxN0RBNENGMTM3MzQzMjYwMDdDNTdGQiAvKiBJ
bnRlcm5hbHMuY3BwICovLAorCQkJCTQxN0RBNENFMTM3MzQzMjYwMDdDNTdGQiAvKiBJbnRlcm5h
bHMuaCAqLywKKwkJCQk0MTdEQTcwQjEzNzM1QzYyMDA3QzU3RkIgLyogSW50ZXJuYWxzLmlkbCAq
LywKKwkJCQk0MTdEQTczMjEzNzM2MUVGMDA3QzU3RkIgLyogSW50ZXJuYWxzSW5qZWN0b3IuY3Bw
ICovLAorCQkJCTQxN0RBNzMxMTM3MzYxRUYwMDdDNTdGQiAvKiBJbnRlcm5hbHNJbmplY3Rvci5o
ICovLAorCQkJKTsKKwkJCW5hbWUgPSB0ZXN0aW5nOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsKKwkJfTsKKwkJNDE3REE3MTIxMzczNUQ5MDAwN0M1N0ZCIC8qIFRlc3RpbmcgKi8gPSB7CisJ
CQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTQxN0RBNzFCMTM3MzVERkEw
MDdDNTdGQiAvKiBKU0ludGVybmFscy5jcHAgKi8sCisJCQkJNDE3REE3MUMxMzczNURGQTAwN0M1
N0ZCIC8qIEpTSW50ZXJuYWxzLmggKi8sCisJCQkpOworCQkJbmFtZSA9IFRlc3Rpbmc7CisJCQlz
b3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OwogCQk0MzkwNDZDMjEyREEyNUNFMDBBRjgwQTIg
LyogbWF0aG1sICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAg
LTE5NjU1LDYgKzE5NzA3LDE2IEBACiAvKiBFbmQgUEJYR3JvdXAgc2VjdGlvbiAqLwogCiAvKiBC
ZWdpbiBQQlhIZWFkZXJzQnVpbGRQaGFzZSBzZWN0aW9uICovCisJCTQxN0RBNkNDMTM3MzRFMDIw
MDdDNTdGQiAvKiBIZWFkZXJzICovID0geworCQkJaXNhID0gUEJYSGVhZGVyc0J1aWxkUGhhc2U7
CisJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OworCQkJZmlsZXMgPSAoCisJCQkJNDE3
REE2REExMzczNEU2RTAwN0M1N0ZCIC8qIEludGVybmFscy5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
NDE3REE3MzMxMzczNjFFRjAwN0M1N0ZCIC8qIEludGVybmFsc0luamVjdG9yLmggaW4gSGVhZGVy
cyAqLywKKwkJCQk0MTdEQTcxRTEzNzM1REZBMDA3QzU3RkIgLyogSlNJbnRlcm5hbHMuaCBpbiBI
ZWFkZXJzICovLAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Npbmcg
PSAwOworCQl9OwogCQk5M0YxOThBNjA4MjQ1RTU5MDAxRTlBQkMgLyogSGVhZGVycyAqLyA9IHsK
IAkJCWlzYSA9IFBCWEhlYWRlcnNCdWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0
NzQ4MzY0NzsKQEAgLTIyMTgwLDYgKzIyMjQyLDcgQEAKIAkJCQlBODBFNkNFODBBMTk4OUNBMDA3
RkI4QzUgLyogU2hhZG93VmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyQUZGQzk0MEQwMEE1
REYwMDMwMDc0RCAvKiBTaGFwZUFyYWJpYy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE0QTk1NEUw
QjRFRENDQjAwMkQ4QzNDIC8qIFNoYXJlZEJ1ZmZlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMzdB
RkZERjcxMzcwQTBCODAwRTg5NUMwIC8qIFNoYXJlZEJ1ZmZlckNSTEZMaW5lUmVhZGVyLmggaW4g
SGVhZGVycyAqLywKIAkJCQk0OTg3NzBFQjEyNDJDNTM1MDAyMjI2QkEgLyogU2hhcmVkR3JhcGhp
Y3NDb250ZXh0M0QuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzMzA5RUEzMDk5RUI3OEMwMDU2RTU4
MSAvKiBTaGFyZWRUaW1lci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDFFMUIxRDQwRkY1OTg2OTAw
NTc2QjNCIC8qIFNoYXJlZFdvcmtlci5oIGluIEhlYWRlcnMgKi8sCkBAIC0yMjczMywxMyArMjI3
OTYsMzAgQEAKIAkJCQk5M0YxOTlFRDA4MjQ1RTU5MDAxRTlBQkMgLyogWFNMVFByb2Nlc3Nvci5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJRTFCRTUxMkUwQ0Y2QzUxMjAwMkVBOTU5IC8qIFhTTFRVbmlj
b2RlU29ydC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTc3RTJFMEYxMkYwRkM5QzAwQzEzMzc5IC8q
IFhTU0ZpbHRlci5oIGluIEhlYWRlcnMgKi8sCi0JCQkJMzdBRkZERjcxMzcwQTBCODAwRTg5NUMw
IC8qIFNoYXJlZEJ1ZmZlckNSTEZMaW5lUmVhZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJ
CQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKIC8qIEVuZCBQ
QlhIZWFkZXJzQnVpbGRQaGFzZSBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFBCWE5hdGl2ZVRhcmdl
dCBzZWN0aW9uICovCisJCTQxN0RBNkNGMTM3MzRFMDIwMDdDNTdGQiAvKiBXZWJDb3JlVGVzdFN1
cHBvcnQgKi8gPSB7CisJCQlpc2EgPSBQQlhOYXRpdmVUYXJnZXQ7CisJCQlidWlsZENvbmZpZ3Vy
YXRpb25MaXN0ID0gNDE3REE2RDgxMzczNEU0NzAwN0M1N0ZCIC8qIEJ1aWxkIGNvbmZpZ3VyYXRp
b24gbGlzdCBmb3IgUEJYTmF0aXZlVGFyZ2V0ICJXZWJDb3JlVGVzdFN1cHBvcnQiICovOworCQkJ
YnVpbGRQaGFzZXMgPSAoCisJCQkJNDE3REE2Q0MxMzczNEUwMjAwN0M1N0ZCIC8qIEhlYWRlcnMg
Ki8sCisJCQkJNDE3REE2Q0QxMzczNEUwMjAwN0M1N0ZCIC8qIFNvdXJjZXMgKi8sCisJCQkJNDE3
REE2Q0UxMzczNEUwMjAwN0M1N0ZCIC8qIEZyYW1ld29ya3MgKi8sCisJCQkpOworCQkJYnVpbGRS
dWxlcyA9ICgKKwkJCSk7CisJCQlkZXBlbmRlbmNpZXMgPSAoCisJCQkJNDE3REE2RDUxMzczNEUw
RDAwN0M1N0ZCIC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8sCisJCQkpOworCQkJbmFtZSA9IFdl
YkNvcmVUZXN0U3VwcG9ydDsKKwkJCXByb2R1Y3ROYW1lID0gV2ViQ29yZVRlc3RTdXBwb3J0Owor
CQkJcHJvZHVjdFJlZmVyZW5jZSA9IDQxN0RBNkQwMTM3MzRFMDIwMDdDNTdGQiAvKiBsaWJXZWJD
b3JlVGVzdFN1cHBvcnQuYSAqLzsKKwkJCXByb2R1Y3RUeXBlID0gImNvbS5hcHBsZS5wcm9kdWN0
LXR5cGUubGlicmFyeS5zdGF0aWMiOworCQl9OwogCQk1RDg3QkI0RTExRTNFQUVCMDA3MDJCNkYg
LyogV2ViQ29yZUV4cG9ydEZpbGVHZW5lcmF0b3IgKi8gPSB7CiAJCQlpc2EgPSBQQlhOYXRpdmVU
YXJnZXQ7CiAJCQlidWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gNUQ4N0JCNTkxMUUzRUIwNzAwNzAy
QjZGIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYTmF0aXZlVGFyZ2V0ICJXZWJD
b3JlRXhwb3J0RmlsZUdlbmVyYXRvciIgKi87CkBAIC0yMjgwOSw2ICsyMjg4OSw3IEBACiAJCQlw
cm9qZWN0RGlyUGF0aCA9ICIiOwogCQkJcHJvamVjdFJvb3QgPSAiIjsKIAkJCXRhcmdldHMgPSAo
CisJCQkJNDE3REE2Q0YxMzczNEUwMjAwN0M1N0ZCIC8qIFdlYkNvcmVUZXN0U3VwcG9ydCAqLywK
IAkJCQk5M0YxOThBNTA4MjQ1RTU5MDAxRTlBQkMgLyogV2ViQ29yZSAqLywKIAkJCQlERDA0MUZC
RTA5RDlEREJFMDAxMEFGMkEgLyogRGVyaXZlZCBTb3VyY2VzICovLAogCQkJCTVEODdCQjRFMTFF
M0VBRUIwMDcwMkI2RiAvKiBXZWJDb3JlRXhwb3J0RmlsZUdlbmVyYXRvciAqLywKQEAgLTIzMDIz
LDYgKzIzMTA0LDE2IEBACiAvKiBFbmQgUEJYU2hlbGxTY3JpcHRCdWlsZFBoYXNlIHNlY3Rpb24g
Ki8KIAogLyogQmVnaW4gUEJYU291cmNlc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLworCQk0MTdEQTZD
RDEzNzM0RTAyMDA3QzU3RkIgLyogU291cmNlcyAqLyA9IHsKKwkJCWlzYSA9IFBCWFNvdXJjZXNC
dWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKKwkJCWZpbGVzID0g
KAorCQkJCTQxN0RBNkQ5MTM3MzRFNkUwMDdDNTdGQiAvKiBJbnRlcm5hbHMuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJNDE3REE3MzQxMzczNjFFRjAwN0M1N0ZCIC8qIEludGVybmFsc0luamVjdG9y
LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTQxN0RBNzFEMTM3MzVERkEwMDdDNTdGQiAvKiBKU0lu
dGVybmFscy5jcHAgaW4gU291cmNlcyAqLywKKwkJCSk7CisJCQlydW5Pbmx5Rm9yRGVwbG95bWVu
dFBvc3Rwcm9jZXNzaW5nID0gMDsKKwkJfTsKIAkJNUQ4N0JCNEMxMUUzRUFFQjAwNzAyQjZGIC8q
IFNvdXJjZXMgKi8gPSB7CiAJCQlpc2EgPSBQQlhTb3VyY2VzQnVpbGRQaGFzZTsKIAkJCWJ1aWxk
QWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CkBAIC0yNDk3OCw2ICsyNTA2OSw3IEBACiAJCQkJQjJB
RkZDOTMwRDAwQTVERjAwMzAwNzREIC8qIFNoYXBlQXJhYmljLmMgaW4gU291cmNlcyAqLywKIAkJ
CQkxQTRBOTU0RDBCNEVEQ0NCMDAyRDhDM0MgLyogU2hhcmVkQnVmZmVyLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTUxMkREOEUzMEQ5MUUyQjQwMDBGODlFRSAvKiBTaGFyZWRCdWZmZXJDRi5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQkzN0FGRkRGNjEzNzBBMEI4MDBFODk1QzAgLyogU2hhcmVkQnVm
ZmVyQ1JMRkxpbmVSZWFkZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE0QTk1NTIwQjRFRENG
RjAwMkQ4QzNDIC8qIFNoYXJlZEJ1ZmZlck1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTQ5ODc3
MEVBMTI0MkM1MzUwMDIyMjZCQSAvKiBTaGFyZWRHcmFwaGljc0NvbnRleHQzRC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk5MzMwOUVBMjA5OUVCNzhDMDA1NkU1ODEgLyogU2hhcmVkVGltZXJNYWMu
bW0gaW4gU291cmNlcyAqLywKQEAgLTI1Mzk3LDEzICsyNTQ4OSwxNyBAQAogCQkJCTkzRjE5QjA1
MDgyNDVFNTkwMDFFOUFCQyAvKiBYU0xUUHJvY2Vzc29yTGlieHNsdC5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlFMUJFNTEyRDBDRjZDNTEyMDAyRUE5NTkgLyogWFNMVFVuaWNvZGVTb3J0LmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTk3N0UyRTBFMTJGMEZDOUMwMEMxMzM3OSAvKiBYU1NGaWx0ZXIu
Y3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJMzdBRkZERjYxMzcwQTBCODAwRTg5NUMwIC8qIFNoYXJl
ZEJ1ZmZlckNSTEZMaW5lUmVhZGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9u
bHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwogLyogRW5kIFBCWFNvdXJj
ZXNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KIAogLyogQmVnaW4gUEJYVGFyZ2V0RGVwZW5kZW5jeSBz
ZWN0aW9uICovCisJCTQxN0RBNkQ1MTM3MzRFMEQwMDdDNTdGQiAvKiBQQlhUYXJnZXREZXBlbmRl
bmN5ICovID0geworCQkJaXNhID0gUEJYVGFyZ2V0RGVwZW5kZW5jeTsKKwkJCXRhcmdldCA9IDkz
RjE5OEE1MDgyNDVFNTkwMDFFOUFCQyAvKiBXZWJDb3JlICovOworCQkJdGFyZ2V0UHJveHkgPSA0
MTdEQTZENDEzNzM0RTBEMDA3QzU3RkIgLyogUEJYQ29udGFpbmVySXRlbVByb3h5ICovOworCQl9
OwogCQk1RDg3QkI2QjExRTNFQkQyMDA3MDJCNkYgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLyA9
IHsKIAkJCWlzYSA9IFBCWFRhcmdldERlcGVuZGVuY3k7CiAJCQl0YXJnZXQgPSA1RDg3QkI2NDEx
RTNFQkMxMDA3MDJCNkYgLyogV2ViQ29yZUV4cG9ydEZpbGVHZW5lcmF0b3IgR2VuZXJhdG9yICov
OwpAQCAtMjU1MDcsNiArMjU2MDMsNjAgQEAKIAkJCX07CiAJCQluYW1lID0gUHJvZHVjdGlvbjsK
IAkJfTsKKwkJNDE3REE2RDExMzczNEUwMjAwN0M1N0ZCIC8qIERlYnVnICovID0geworCQkJaXNh
ID0gWENCdWlsZENvbmZpZ3VyYXRpb247CisJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9
IDFDREQ0NUU1MEJBOUM4NDYwMEY5MDE0NyAvKiBXZWJDb3JlLnhjY29uZmlnICovOworCQkJYnVp
bGRTZXR0aW5ncyA9IHsKKwkJCQlBTFdBWVNfU0VBUkNIX1VTRVJfUEFUSFMgPSBOTzsKKwkJCQlD
T1BZX1BIQVNFX1NUUklQID0gTk87CisJCQkJRVhQT1JURURfU1lNQk9MU19GSUxFID0gIiI7CisJ
CQkJR0NDX0RZTkFNSUNfTk9fUElDID0gTk87CisJCQkJR0NDX0VOQUJMRV9GSVhfQU5EX0NPTlRJ
TlVFID0gWUVTOworCQkJCUdDQ19NT0RFTF9UVU5JTkcgPSBHNTsKKwkJCQlHQ0NfT1BUSU1JWkFU
SU9OX0xFVkVMID0gMDsKKwkJCQlJTlNUQUxMX1BBVEggPSAvdXNyL2xvY2FsL2xpYjsKKwkJCQlP
VEhFUl9MREZMQUdTID0gIiI7CisJCQkJUFJFQklORElORyA9IE5POworCQkJCVBSSVZBVEVfSEVB
REVSU19GT0xERVJfUEFUSCA9IFdlYkNvcmVUZXN0U3VwcG9ydC9Qcml2YXRlSGVhZGVyczsKKwkJ
CQlQUk9EVUNUX05BTUUgPSBXZWJDb3JlVGVzdFN1cHBvcnQ7CisJCQl9OworCQkJbmFtZSA9IERl
YnVnOworCQl9OworCQk0MTdEQTZEMjEzNzM0RTAyMDA3QzU3RkIgLyogUmVsZWFzZSAqLyA9IHsK
KwkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOworCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZl
cmVuY2UgPSAxQ0RENDVFNTBCQTlDODQ2MDBGOTAxNDcgLyogV2ViQ29yZS54Y2NvbmZpZyAqLzsK
KwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQkJQUxXQVlTX1NFQVJDSF9VU0VSX1BBVEhTID0gTk87
CisJCQkJQ09QWV9QSEFTRV9TVFJJUCA9IFlFUzsKKwkJCQlERUJVR19JTkZPUk1BVElPTl9GT1JN
QVQgPSAiZHdhcmYtd2l0aC1kc3ltIjsKKwkJCQlFWFBPUlRFRF9TWU1CT0xTX0ZJTEUgPSAiIjsK
KwkJCQlHQ0NfRU5BQkxFX0ZJWF9BTkRfQ09OVElOVUUgPSBOTzsKKwkJCQlHQ0NfTU9ERUxfVFVO
SU5HID0gRzU7CisJCQkJSU5TVEFMTF9QQVRIID0gL3Vzci9sb2NhbC9saWI7CisJCQkJT1RIRVJf
TERGTEFHUyA9ICIiOworCQkJCVBSRUJJTkRJTkcgPSBOTzsKKwkJCQlQUklWQVRFX0hFQURFUlNf
Rk9MREVSX1BBVEggPSBXZWJDb3JlVGVzdFN1cHBvcnQvUHJpdmF0ZUhlYWRlcnM7CisJCQkJUFJP
RFVDVF9OQU1FID0gV2ViQ29yZVRlc3RTdXBwb3J0OworCQkJCVpFUk9fTElOSyA9IE5POworCQkJ
fTsKKwkJCW5hbWUgPSBSZWxlYXNlOworCQl9OworCQk0MTdEQTZEMzEzNzM0RTAyMDA3QzU3RkIg
LyogUHJvZHVjdGlvbiAqLyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOworCQkJ
YmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSAxQ0RENDVFNTBCQTlDODQ2MDBGOTAxNDcgLyog
V2ViQ29yZS54Y2NvbmZpZyAqLzsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQkJQUxXQVlTX1NF
QVJDSF9VU0VSX1BBVEhTID0gTk87CisJCQkJRVhQT1JURURfU1lNQk9MU19GSUxFID0gIiI7CisJ
CQkJR0NDX0VOQUJMRV9GSVhfQU5EX0NPTlRJTlVFID0gWUVTOworCQkJCUdDQ19NT0RFTF9UVU5J
TkcgPSBHNTsKKwkJCQlJTlNUQUxMX1BBVEggPSAvdXNyL2xvY2FsL2xpYjsKKwkJCQlPVEhFUl9M
REZMQUdTID0gIiI7CisJCQkJUFJFQklORElORyA9IE5POworCQkJCVBSSVZBVEVfSEVBREVSU19G
T0xERVJfUEFUSCA9IFdlYkNvcmVUZXN0U3VwcG9ydC9Qcml2YXRlSGVhZGVyczsKKwkJCQlQUk9E
VUNUX05BTUUgPSBXZWJDb3JlVGVzdFN1cHBvcnQ7CisJCQl9OworCQkJbmFtZSA9IFByb2R1Y3Rp
b247CisJCX07CiAJCTVEODdCQjUxMTFFM0VBRUIwMDcwMkI2RiAvKiBEZWJ1ZyAqLyA9IHsKIAkJ
CWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOwogCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVu
Y2UgPSAxQ0RENDVFNTBCQTlDODQ2MDBGOTAxNDcgLyogV2ViQ29yZS54Y2NvbmZpZyAqLzsKQEAg
LTI1NjEyLDYgKzI1NzYyLDE2IEBACiAJCQlkZWZhdWx0Q29uZmlndXJhdGlvbklzVmlzaWJsZSA9
IDA7CiAJCQlkZWZhdWx0Q29uZmlndXJhdGlvbk5hbWUgPSBQcm9kdWN0aW9uOwogCQl9OworCQk0
MTdEQTZEODEzNzM0RTQ3MDA3QzU3RkIgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQ
QlhOYXRpdmVUYXJnZXQgIldlYkNvcmVUZXN0U3VwcG9ydCIgKi8gPSB7CisJCQlpc2EgPSBYQ0Nv
bmZpZ3VyYXRpb25MaXN0OworCQkJYnVpbGRDb25maWd1cmF0aW9ucyA9ICgKKwkJCQk0MTdEQTZE
MTEzNzM0RTAyMDA3QzU3RkIgLyogRGVidWcgKi8sCisJCQkJNDE3REE2RDIxMzczNEUwMjAwN0M1
N0ZCIC8qIFJlbGVhc2UgKi8sCisJCQkJNDE3REE2RDMxMzczNEUwMjAwN0M1N0ZCIC8qIFByb2R1
Y3Rpb24gKi8sCisJCQkpOworCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25Jc1Zpc2libGUgPSAwOwor
CQkJZGVmYXVsdENvbmZpZ3VyYXRpb25OYW1lID0gUHJvZHVjdGlvbjsKKwkJfTsKIAkJNUQ4N0JC
NTkxMUUzRUIwNzAwNzAyQjZGIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYTmF0
aXZlVGFyZ2V0ICJXZWJDb3JlRXhwb3J0RmlsZUdlbmVyYXRvciIgKi8gPSB7CiAJCQlpc2EgPSBY
Q0NvbmZpZ3VyYXRpb25MaXN0OwogCQkJYnVpbGRDb25maWd1cmF0aW9ucyA9ICgKZGlmZiAtLWdp
dCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBiMDMxZDMyNjA2ZDZk
ODE4OTkxZTI3NWM1ZDgwNzM2ZTg4OTAzYTMxLi41MGExYjQ0NTE5MGUyNWM5NjdlY2I1NDMxY2M5
NTYyNDdhODRkOWNiIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDUtMDUgIERpbWl0cmkgR2xhemtvdiAgPGRn
bGF6a292QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBZGQgYnVpbGQgbG9naXN0aWNzIGFuZCBwbHVtYmluZyBmb3Igd2luZG93
LmludGVybmFscyBvYmplY3QuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD02MDMxMworCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvRHVtcFJlbmRlclRy
ZWUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9t
YWMvRnJhbWVMb2FkRGVsZWdhdGUubW06CisgICAgICAgICgtW0ZyYW1lTG9hZERlbGVnYXRlIGRp
ZENsZWFyV2luZG93T2JqZWN0SW5TdGFuZGFyZFdvcmxkRm9yRnJhbWU6XSk6CisKIDIwMTEtMDUt
MDQgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IEFkYW0gQmFydGguCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVy
VHJlZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvRHVt
cFJlbmRlclRyZWUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBmZDRjZTkwMDAxMGY3
MWUzMjljYzMwNzBjNmVjMDU2MjFjZWI2YjRiLi5mY2NjOGZjZWVlNjk2NWVhODYwNjk4OTYwOGQ2
M2M5ZGM3OGEyYTg5IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVy
VHJlZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L0R1bXBSZW5kZXJUcmVlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTU0LDYgKzU0LDgg
QEAKIAkJMzcxM0VERTMxMTVCRTE5MzAwNzA1NzIwIC8qIENvbG9yQml0cy50dGYgaW4gQ29weSBG
b250IEZpbGVzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDM3MTNFREUwMTE1
QkUxNkYwMDcwNTcyMCAvKiBDb2xvckJpdHMudHRmICovOyB9OwogCQkzQTU2MjZDQjEzMUNBMDJB
MDAyQkU2RDkgLyogU3RvcmFnZVRyYWNrZXJEZWxlZ2F0ZS5tbSBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDNBNTYyNkMxMTMxQzhCMTcwMDJCRTZEOSAvKiBT
dG9yYWdlVHJhY2tlckRlbGVnYXRlLm1tICovOyB9OwogCQkzQTU2MjZDQzEzMUNBMDM2MDAyQkU2
RDkgLyogU3RvcmFnZVRyYWNrZXJEZWxlZ2F0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gM0E1NjI2QzAxMzFDOEIxNzAwMkJFNkQ5IC8qIFN0b3JhZ2VU
cmFja2VyRGVsZWdhdGUuaCAqLzsgfTsKKwkJNDE3REE5MUExMzczNjc4ODAwN0M1N0ZCIC8qIElu
dGVybmFsc0luamVjdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0MTdEQTkxOTEzNzM2Nzg4MDA3QzU3RkIgLyogSW50ZXJuYWxzSW5qZWN0b3IuaCAq
LzsgfTsKKwkJNDE3REE5NEQxMzczNjlCMjAwN0M1N0ZCIC8qIGxpYldlYkNvcmVUZXN0U3VwcG9y
dC5hIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE3
REE3MDAxMzczNTAzNzAwN0M1N0ZCIC8qIGxpYldlYkNvcmVUZXN0U3VwcG9ydC5hICovOyB9Owog
CQk0NDA1OTA3MTEyNjg0NTM4MDBDRkQ0OEQgLyogV2ViQXJjaGl2ZUR1bXBTdXBwb3J0TWFjLm1t
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQwNTkwNzAx
MjY4NDUzODAwQ0ZENDhEIC8qIFdlYkFyY2hpdmVEdW1wU3VwcG9ydE1hYy5tbSAqLzsgfTsKIAkJ
NDQzNzczMEUxMjVDQkMzNjAwQUFFMDJDIC8qIFdlYkFyY2hpdmVEdW1wU3VwcG9ydC5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NEE5OTc4MzBGQ0RF
ODY0MDA1ODBGMTAgLyogV2ViQXJjaGl2ZUR1bXBTdXBwb3J0LmNwcCAqLzsgfTsKIAkJNDQzNzcz
MEYxMjVDQkM0RDAwQUFFMDJDIC8qIFdlYkFyY2hpdmVEdW1wU3VwcG9ydC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDRBOTk3ODIwRkNERTg2NDAwNTgw
RjEwIC8qIFdlYkFyY2hpdmVEdW1wU3VwcG9ydC5oICovOyB9OwpAQCAtMjQxLDYgKzI0Myw4IEBA
CiAJCTM3NUYwOTc5MERBQzNDQjYwMEM4QjRFNSAvKiBXZWJLaXRXZWlnaHRXYXRjaGVyOTAwLnR0
ZiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IGZpbGU7
IG5hbWUgPSBXZWJLaXRXZWlnaHRXYXRjaGVyOTAwLnR0ZjsgcGF0aCA9IGZvbnRzL1dlYktpdFdl
aWdodFdhdGNoZXI5MDAudHRmOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzQTU2MjZD
MDEzMUM4QjE3MDAyQkU2RDkgLyogU3RvcmFnZVRyYWNrZXJEZWxlZ2F0ZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBTdG9yYWdlVHJhY2tlckRlbGVnYXRlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTNBNTYyNkMxMTMxQzhCMTcwMDJCRTZEOSAvKiBTdG9yYWdl
VHJhY2tlckRlbGVnYXRlLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRo
ID0gU3RvcmFnZVRyYWNrZXJEZWxlZ2F0ZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJNDE3REE3MDAxMzczNTAzNzAwN0M1N0ZCIC8qIGxpYldlYkNvcmVUZXN0U3VwcG9ydC5hICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gYXJjaGl2ZS5h
cjsgcGF0aCA9IGxpYldlYkNvcmVUZXN0U3VwcG9ydC5hOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJP
RFVDVFNfRElSOyB9OworCQk0MTdEQTkxOTEzNzM2Nzg4MDA3QzU3RkIgLyogSW50ZXJuYWxzSW5q
ZWN0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gSW50ZXJuYWxzSW5qZWN0
b3IuaDsgcGF0aCA9IC4uLy4uL1dlYktpdEJ1aWxkL1JlbGVhc2UvV2ViQ29yZVRlc3RTdXBwb3J0
L1ByaXZhdGVIZWFkZXJzL0ludGVybmFsc0luamVjdG9yLmg7IHNvdXJjZVRyZWUgPSBTT1VSQ0Vf
Uk9PVDsgfTsKIAkJNDQwNTkwNzAxMjY4NDUzODAwQ0ZENDhEIC8qIFdlYkFyY2hpdmVEdW1wU3Vw
cG9ydE1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IFdlYkFy
Y2hpdmVEdW1wU3VwcG9ydE1hYy5tbTsgcGF0aCA9IG1hYy9XZWJBcmNoaXZlRHVtcFN1cHBvcnRN
YWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0QTk5NzgyMEZDREU4NjQwMDU4
MEYxMCAvKiBXZWJBcmNoaXZlRHVtcFN1cHBvcnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gV2ViQXJjaGl2ZUR1bXBTdXBwb3J0Lmg7IHBhdGggPSBjZi9XZWJBcmNoaXZlRHVt
cFN1cHBvcnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDRBOTk3ODMwRkNERTg2
NDAwNTgwRjEwIC8qIFdlYkFyY2hpdmVEdW1wU3VwcG9ydC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IG5hbWUgPSBXZWJBcmNoaXZlRHVtcFN1cHBvcnQuY3BwOyBwYXRoID0gY2Yv
V2ViQXJjaGl2ZUR1bXBTdXBwb3J0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTM1NSw2ICszNTksNyBAQAogCQkJCUE4MTcwOTA0MDhCMTY0RDMwMENDQjlGQiAvKiBKYXZhU2Ny
aXB0Q29yZS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKIAkJCQkyM0JDQjg5MDBFQTU3NjIz
MDAzQzYyODkgLyogT3BlbkdMLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAogCQkJCTkzNDA5
OTUxMDg1NDBDQUUwMDdGM0JDOCAvKiBXZWJLaXQuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8s
CisJCQkJNDE3REE5NEQxMzczNjlCMjAwN0M1N0ZCIC8qIGxpYldlYkNvcmVUZXN0U3VwcG9ydC5h
IGluIEZyYW1ld29ya3MgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJv
Y2Vzc2luZyA9IDA7CiAJCX07CkBAIC0zOTksNiArNDA0LDcgQEAKIAkJCQlBOEI5MUFDNDBDRjNC
MTcwMDA4RjkxRkYgLyogT2JqQ1BsdWdpbiAqLywKIAkJCQkxNDFCRjFGNTA5NkE0Mzk4MDBFMDc1
M0MgLyogVGVzdE5ldHNjYXBlUGx1Z0luICovLAogCQkJCTkzNDUyMjlCMEJEMTJCMkMwMDg2RURB
MCAvKiBSZXNvdXJjZXMgKi8sCisJCQkJNDE3REE5MTgxMzczNjc0RDAwN0M1N0ZCIC8qIFdlYkNv
cmVUZXN0U3VwcG9ydCAqLywKIAkJCQlBODAzRkY2NDA5Q0FBQ0MxMDA5QjJBMzcgLyogRnJhbWV3
b3JrcyAqLywKIAkJCQk5MzQwOTk1NTA4NTQwQ0FGMDA3RjNCQzggLyogUHJvZHVjdHMgKi8sCiAJ
CQkJQkNCMjgxRUQwQ0ZBNzExRDAwN0U1MzNFIC8qIENvbmZpZ3VyYXRpb25zICovLApAQCAtNTA4
LDYgKzUxNCwxNSBAQAogCQkJcGF0aCA9IG1hYzsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
CiAJCX07CisJCTQxN0RBOTE4MTM3MzY3NEQwMDdDNTdGQiAvKiBXZWJDb3JlVGVzdFN1cHBvcnQg
Ki8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTQxN0RBOTE5
MTM3MzY3ODgwMDdDNTdGQiAvKiBJbnRlcm5hbHNJbmplY3Rvci5oICovLAorCQkJCTQxN0RBNzAw
MTM3MzUwMzcwMDdDNTdGQiAvKiBsaWJXZWJDb3JlVGVzdFN1cHBvcnQuYSAqLywKKwkJCSk7CisJ
CQluYW1lID0gV2ViQ29yZVRlc3RTdXBwb3J0OworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsK
KwkJfTsKIAkJOTM0MDk5NTUwODU0MENBRjAwN0YzQkM4IC8qIFByb2R1Y3RzICovID0gewogCQkJ
aXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAgLTY1Myw2ICs2NjgsNyBAQAogCQkJ
CUUxQjc4MTY3MTFBRjMxQzMwMDdFMUJDMiAvKiBNb2NrR2VvbG9jYXRpb25Qcm92aWRlci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMjlDRkJBMTAxMjI3MzZFNjAwQkMzMEMwIC8qIEFjY2Vzc2liaWxp
dHlUZXh0TWFya2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQkzQTU2MjZDQzEzMUNBMDM2MDAyQkU2
RDkgLyogU3RvcmFnZVRyYWNrZXJEZWxlZ2F0ZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDE3REE5
MUExMzczNjc4ODAwN0M1N0ZCIC8qIEludGVybmFsc0luamVjdG9yLmggaW4gSGVhZGVycyAqLywK
IAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsK
ZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9GcmFtZUxvYWREZWxlZ2F0ZS5t
bSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9GcmFtZUxvYWREZWxlZ2F0ZS5tbQppbmRleCBh
MzY5ODJjNGY4Njc5ZTUxNTYwMjA0ODAwNjgxN2M5OTk5NzBiZWE1Li5lZmJhMjY1ZWY2YzQzYzQ2
NDExNzE3MzFkOTNhZTc4NzE2MzA1MWMzIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9tYWMvRnJhbWVMb2FkRGVsZWdhdGUubW0KKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFj
L0ZyYW1lTG9hZERlbGVnYXRlLm1tCkBAIC0zNCw2ICszNCw3IEBACiAjaW1wb3J0ICJBcHBsZVNj
cmlwdENvbnRyb2xsZXIuaCIKICNpbXBvcnQgIkV2ZW50U2VuZGluZ0NvbnRyb2xsZXIuaCIKICNp
bXBvcnQgIkdDQ29udHJvbGxlci5oIgorI2ltcG9ydCAiSW50ZXJuYWxzSW5qZWN0b3IuaCIKICNp
bXBvcnQgIkxheW91dFRlc3RDb250cm9sbGVyLmgiCiAjaW1wb3J0ICJOYXZpZ2F0aW9uQ29udHJv
bGxlci5oIgogI2ltcG9ydCAiT2JqQ0NvbnRyb2xsZXIuaCIKQEAgLTI2Niw2ICsyNjcsOCBAQAog
ICAgIGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLT5tYWtlV2luZG93T2JqZWN0KGNvbnRleHQsIGds
b2JhbE9iamVjdCwgJmV4Y2VwdGlvbik7CiAgICAgQVNTRVJUKCFleGNlcHRpb24pOwogCisgICAg
VGVzdGluZzo6SW50ZXJuYWxzSW5qZWN0b3I6OmluamVjdEludGVybmFsc09iamVjdCgpOworCiAg
ICAgLy8gTWFrZSBPbGQtU3R5bGUgY29udHJvbGxlcnMKIAogICAgIFdlYlZpZXcgKndlYlZpZXcg
PSBbZnJhbWUgd2ViVmlld107Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93212</attachid>
            <date>2011-05-11 16:44:23 -0700</date>
            <delta_ts>2011-05-17 15:18:40 -0700</delta_ts>
            <desc>WIP: windows.internals object works on mac WebKit1.</desc>
            <filename>bug-60313-20110511164422.patch</filename>
            <type>text/plain</type>
            <size>39771</size>
            <attacher name="Dimitri Glazkov (Google)">dglazkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODYyNDUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL1dpbmRvdy9zY3JpcHQtdGVzdHMvd2luZG93LXByb3BlcnR5LWRlc2NyaXB0b3JzLmpzIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3NjcmlwdC10ZXN0cy93aW5kb3ctcHJvcGVydHkt
ZGVzY3JpcHRvcnMuanMKaW5kZXggOWVjMzI0YmQwMWQ1NTJlYzdhNmJkNTgzZTk4ODY2M2QxYTk4
MmQxNy4uMjMzOGZjMGU2YjBkMzMwYWY1NjUzODNkZjZiYTJkNTY5MGEzZTc2MyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3NjcmlwdC10ZXN0cy93aW5kb3ctcHJvcGVy
dHktZGVzY3JpcHRvcnMuanMKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3Njcmlw
dC10ZXN0cy93aW5kb3ctcHJvcGVydHktZGVzY3JpcHRvcnMuanMKQEAgLTE4LDYgKzE4LDcgQEAg
dmFyIF9fc2tpcF9fID0gewogICAgICJvYmpDUGx1Z2luRnVuY3Rpb24iIDogMSwKICAgICAicGxh
aW5UZXh0IiA6IDEsCiAgICAgInRleHRJbnB1dENvbnRyb2xsZXIiIDogMSwKKyAgICAiaW50ZXJu
YWxzIiA6IDEsCiAgICAgLy8gSWdub3JlIHRoZXNlIHByb3BlcnRpZXMgYmVjYXVzZSB0aGV5IGRv
IG5vdCBleGlzdCBpbiBhbGwgaW1wbGVtZW50YXRpb25zLiBUaGV5IHdpbGwgYmUgdGVzdGVkIHNl
cGFyYXRlbHkKICAgICAiV2ViR0xSZW5kZXJpbmdDb250ZXh0IiA6IDEsCiAgICAgIldlYkdMQWN0
aXZlSW5mbyIgOiAxLApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dp
bmRvdy1wcm9wZXJ0aWVzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93
LXByb3BlcnRpZXMuaHRtbAppbmRleCAxNDhlMzk4MGUxZjMyZjFiZDI5YmRlMjc4NWFlODY3OGY2
YmYxMzI4Li44ZDhjYTMwN2U3NzM4YTQ5MzUyYzA2YjYzZWZlNjBjNzVlZGNkOGU0IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMuaHRtbApA
QCAtNjAsNiArNjAsNyBAQCB2YXIgX19za2lwX18gPSB7CiAgICAgIndpbmRvdy5vYmpDUGx1Z2lu
RnVuY3Rpb24iIDogMSwKICAgICAid2luZG93LnBsYWluVGV4dCIgOiAxLAogICAgICJ3aW5kb3cu
dGV4dElucHV0Q29udHJvbGxlciIgOiAxLAorICAgICJ3aW5kb3cuaW50ZXJuYWxzIiA6IDEsCiAg
ICAgLy8gSWdub3JlIHRoZXNlIHByb3BlcnRpZXMgYmVjYXVzZSB0aGV5IGRvIG5vdCBleGlzdCBp
biBhbGwgaW1wbGVtZW50YXRpb25zLiBUaGV5IHdpbGwgYmUgdGVzdGVkIHNlcGFyYXRlbHkKICAg
ICAid2luZG93LldlYkdMUmVuZGVyaW5nQ29udGV4dCIgOiAxLCAKICAgICAid2luZG93LldlYkdM
QWN0aXZlSW5mbyIgOiAxLCAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3Njcmlw
dC10ZXN0cy9wcm90b3R5cGUtaW5oZXJpdGFuY2UtMi5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NjcmlwdC10ZXN0cy9wcm90b3R5cGUtaW5oZXJpdGFuY2UtMi5qcwppbmRleCBjMmZhMmI5Nzc1
ZDliZjQ3NTdiNGJkMjYyYWVhYWUwMGI4MzdlZDgzLi5jNTkwYzFkMzE1M2NjMTkzMzQxZmU1YzIy
MmRjMWFiZWE5NjAyNzdmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zY3JpcHQt
dGVzdHMvcHJvdG90eXBlLWluaGVyaXRhbmNlLTIuanMKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2NyaXB0LXRlc3RzL3Byb3RvdHlwZS1pbmhlcml0YW5jZS0yLmpzCkBAIC0xMiw2ICsxMiw3
IEBAIHZhciBza2lwcGVkUHJvcGVydGllcyA9IFsKICAgICAib2JqQ0NvbnRyb2xsZXIiLCAidGV4
dElucHV0Q29udHJvbGxlciIsICJuYXZpZ2F0aW9uQ29udHJvbGxlciIsCiAgICAgImV2ZW50U2Vu
ZGVyIiwgIm9iakNQbHVnaW4iLCAib2JqQ1BsdWdpbkZ1bmN0aW9uIiwKICAgICAiYXBwbGVTY3Jp
cHRDb250cm9sbGVyIiwgInBsYWluVGV4dCIsICJhY2Nlc3NpYmlsaXR5Q29udHJvbGxlciIsCisg
ICAgImludGVybmFscyIsCiAgICAgLy8gU2tpcCBvdXIgdGVzdCBwcm9wZXJ0eQogICAgICJpc0lu
bmVyIiwKICAgICAvLyBJZ25vcmUgZm9vQ29uc3RydWN0b3IucHJvdG90eXBlLCBmb29JbnN0YW5j
ZS5fX3Byb3RvX18gaXMgbW9yZSBsaWtlbHkgdG8gZmFpbC4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NjcmlwdC10ZXN0cy9wcm90b3R5cGUtaW5oZXJpdGFuY2UuanMgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zY3JpcHQtdGVzdHMvcHJvdG90eXBlLWluaGVyaXRhbmNlLmpzCmlu
ZGV4IDMwYjFlYzZkMzM4ZjZmNzA4Y2ExOTQ4NjVhZTlkZjdkODlkODk5ODcuLjA2NjdlNDRhYzA5
MDBlNjA1ZWM3NDgzODRlNThkZWYyNTEwOWRjYTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NjcmlwdC10ZXN0cy9wcm90b3R5cGUtaW5oZXJpdGFuY2UuanMKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2NyaXB0LXRlc3RzL3Byb3RvdHlwZS1pbmhlcml0YW5jZS5qcwpAQCAt
MTIsNiArMTIsNyBAQCB2YXIgc2tpcHBlZFByb3BlcnRpZXMgPSBbCiAgICAgIm9iakNDb250cm9s
bGVyIiwgInRleHRJbnB1dENvbnRyb2xsZXIiLCAibmF2aWdhdGlvbkNvbnRyb2xsZXIiLAogICAg
ICJldmVudFNlbmRlciIsICJvYmpDUGx1Z2luIiwgIm9iakNQbHVnaW5GdW5jdGlvbiIsCiAgICAg
ImFwcGxlU2NyaXB0Q29udHJvbGxlciIsICJwbGFpblRleHQiLCAiYWNjZXNzaWJpbGl0eUNvbnRy
b2xsZXIiLAorICAgICJpbnRlcm5hbHMiLAogICAgIC8vIElnbm9yZSB0aGVzZSBwcm9wZXJ0aWVz
IGJlY2F1c2UgdGhleSBkbyBub3QgZXhpc3QgaW4gYWxsIGltcGxlbWVudGF0aW9ucy4gVGhleSB3
aWxsIGJlIHRlc3RlZCBzZXBhcmF0ZWx5CiAgICAgIndlYmtpdE5vdGlmaWNhdGlvbnMiLAogICAg
ICJ3ZWJraXRBdWRpb1Bhbm5lck5vZGUiLApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9o
YXJuZXNzL2ludGVybmFscy1vYmplY3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9o
YXJuZXNzL2ludGVybmFscy1vYmplY3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVkOWFhYWY0
ODRiMjVjNTFkY2ZlZGQwMjU5NjA2OWI5M2NhZjNjMGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2hhcm5lc3MvaW50ZXJuYWxzLW9iamVjdC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSBAQAord2luZG93LmludGVybmFscyBvYmplY3Qgc2hvdWxkIGJlIHZpc2libGUgd2hlbiBy
dW5uaW5nIGluIERSVDogUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9oYXJuZXNz
L2ludGVybmFscy1vYmplY3QuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvaGFybmVzcy9pbnRlcm5h
bHMtb2JqZWN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmJlZTdiZjRmZjE3YzJiYzAyZDMwMjRlNzcyYzg1
ZTVmNmQxMzJhNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaGFybmVzcy9p
bnRlcm5hbHMtb2JqZWN0Lmh0bWwKQEAgLTAsMCArMSwyMyBAQAorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQ+CisKK2lmIChsYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci5kdW1wQXNUZXh0KCk7CisKK2Z1bmN0aW9uIHJ1blRlc3QoKQoreworICAgIHZhciBsb2cg
PSBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Rpdicp
KTsKKyAgICBsb2cud3JpdGUgPSBmdW5jdGlvbihtc2csIHN1Y2Nlc3MpCisgICAgeworICAgICAg
ICB0aGlzLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpKS50ZXh0Q29u
dGVudCA9IG1zZyArICc6ICcgKyAoc3VjY2VzcyA/ICdQQVNTJyA6ICdGQUlMJyk7CisgICAgfQor
CisgICAgbG9nLndyaXRlKCd3aW5kb3cuaW50ZXJuYWxzIG9iamVjdCBzaG91bGQgYmUgdmlzaWJs
ZSB3aGVuIHJ1bm5pbmcgaW4gRFJUJywgISF3aW5kb3cuaW50ZXJuYWxzKTsKK30KKworPC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGVmOTI5M2NmNDhmNDhi
YjUwOTFlMWQ0ZDkzMWVlODRlZWM3YWJiZmIuLjczNDQ5MGI4YWM2NzMwZjBjOGM0OTg4ZmY5OWFl
YzY3ZWYzZTFkYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMS0wNS0wNSAgRGlt
aXRyaSBHbGF6a292ICA8ZGdsYXprb3ZAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBidWlsZCBsb2dpc3RpY3MgYW5kIHBs
dW1iaW5nIGZvciB3aW5kb3cuaW50ZXJuYWxzIG9iamVjdC4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYwMzEzCisKKyAgICAgICAgTm8gbmV3IHRlc3Rz
LiAoT09QUyEpCisKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIFdl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAxMS0wNS0xMSAgRXJpYyBDYXJs
c29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJp
biBBZGxlci4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2Ug
Yi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDU4Yjg5ZmJmNDVkOWUw
OTg0NGYxMWFlYjk2NGVjOWI2NDFkNjkwMGIuLjNjYjMyZTVhNzkxMjExMDFhM2JlZGE2ODY4YWJk
MjQ0YmQ1MGYzMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1h
a2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtNDYsNiArNDYs
NyBAQCBWUEFUSCA9IFwKICAgICAkKFdlYkNvcmUpL3dlYmF1ZGlvIFwKICAgICAkKFdlYkNvcmUp
L3dvcmtlcnMgXAogICAgICQoV2ViQ29yZSkvc3ZnIFwKKyAgICAkKFdlYkNvcmUpL3Rlc3Rpbmcg
XAogICAgICQoV2ViQ29yZSkvd2Vic29ja2V0cyBcCiAjCiAKQEAgLTI4Niw2ICsyODcsNyBAQCBE
T01fQ0xBU1NFUyA9IFwKICAgICBJbWFnZURhdGEgXAogICAgIEluamVjdGVkU2NyaXB0SG9zdCBc
CiAgICAgSW5zcGVjdG9yRnJvbnRlbmRIb3N0IFwKKyAgICBJbnRlcm5hbHMgXAogICAgIEtleWJv
YXJkRXZlbnQgXAogICAgIExvY2F0aW9uIFwKICAgICBNZWRpYUVycm9yIFwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0ludGVybmFscy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9JbnRlcm5hbHMu
aWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmQ1MDExY2VmMzJjMWI3MWYwNmQ3MDcyZjliNjBkMGM5MWI0MzQwMjkK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9JbnRlcm5hbHMuaWRsCkBAIC0wLDAg
KzEsMjkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQor
ICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICog
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCittb2R1bGUgd2luZG93IHsKKyAgICBpbnRlcmZhY2UgW09taXRDb25z
dHJ1Y3Rvcl0gSW50ZXJuYWxzIHsKKyAgICB9OworfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agppbmRleCBjMjlmYjEwMmVkY2NhZWExYmIyYjdmMDNhZTgxMGY3NDMxNTc0ODAyLi5lODEzMTBh
ZDQxYmFhMjA1ZmRjMTFlNzgxOWM1N2M1ODFlNTFjNDliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC04NTIsNiArODUyLDEyIEBA
CiAJCTQxNkU3NUNDMEVERjkwQzcwMDM2MEUxRCAvKiBTY3JpcHRDYWxsRnJhbWUuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE2RTc1Q0EwRURGOTBD
NzAwMzYwRTFEIC8qIFNjcmlwdENhbGxGcmFtZS5jcHAgKi87IH07CiAJCTQxNzI1M0FBMTM1NEJC
QkMwMDM2MEYyQSAvKiBNZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTcyNTNBODEzNTRCQkJDMDAzNjBGMkEgLyog
TWVkaWFDb250cm9sRWxlbWVudHMuY3BwICovOyB9OwogCQk0MTcyNTNBQjEzNTRCQkJDMDAzNjBG
MkEgLyogTWVkaWFDb250cm9sRWxlbWVudHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQxNzI1M0E5MTM1NEJCQkMwMDM2MEYyQSAvKiBNZWRpYUNvbnRy
b2xFbGVtZW50cy5oICovOyB9OworCQk0MTdEQTZEOTEzNzM0RTZFMDA3QzU3RkIgLyogSW50ZXJu
YWxzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQx
N0RBNENGMTM3MzQzMjYwMDdDNTdGQiAvKiBJbnRlcm5hbHMuY3BwICovOyB9OworCQk0MTdEQTZE
QTEzNzM0RTZFMDA3QzU3RkIgLyogSW50ZXJuYWxzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTdEQTRDRTEzNzM0MzI2MDA3QzU3RkIgLyogSW50ZXJu
YWxzLmggKi87IH07CisJCTQxN0RBNzFEMTM3MzVERkEwMDdDNTdGQiAvKiBKU0ludGVybmFscy5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTdEQTcx
QjEzNzM1REZBMDA3QzU3RkIgLyogSlNJbnRlcm5hbHMuY3BwICovOyB9OworCQk0MTdEQTcxRTEz
NzM1REZBMDA3QzU3RkIgLyogSlNJbnRlcm5hbHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxN0RBNzFDMTM3MzVERkEwMDdDNTdGQiAvKiBKU0ludGVy
bmFscy5oICovOyB9OworCQk0MTdEQTczMzEzNzM2MUVGMDA3QzU3RkIgLyogV2ViQ29yZVRlc3RT
dXBwb3J0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
MTdEQTczMTEzNzM2MUVGMDA3QzU3RkIgLyogV2ViQ29yZVRlc3RTdXBwb3J0LmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNDE3REE3MzQxMzczNjFF
RjAwN0M1N0ZCIC8qIFdlYkNvcmVUZXN0U3VwcG9ydC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTdEQTczMjEzNzM2MUVGMDA3QzU3RkIgLyogV2Vi
Q29yZVRlc3RTdXBwb3J0LmNwcCAqLzsgfTsKIAkJNDE4ODVCOTMxMUI2RkRBNjAwMzM4M0JCIC8q
IEZvcm1TdWJtaXNzaW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0MTg4NUI5MTExQjZGREE2MDAzMzgzQkIgLyogRm9ybVN1Ym1pc3Npb24uaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MTg4NUI5NDEx
QjZGREE2MDAzMzgzQkIgLyogRm9ybVN1Ym1pc3Npb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE4ODVCOTIxMUI2RkRBNjAwMzM4M0JCIC8qIEZv
cm1TdWJtaXNzaW9uLmNwcCAqLzsgfTsKIAkJNDE4QTA2RDAxMzNDMDRENTAwQ0QzNzlDIC8qIEV2
ZW50RGlzcGF0Y2hlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNDE4QTA2Q0UxMzNDMDRENTAwQ0QzNzlDIC8qIEV2ZW50RGlzcGF0Y2hlci5oICovOyB9
OwpAQCAtNTkzNCw2ICs1OTQwLDEzIEBACiAvKiBFbmQgUEJYQnVpbGRGaWxlIHNlY3Rpb24gKi8K
IAogLyogQmVnaW4gUEJYQ29udGFpbmVySXRlbVByb3h5IHNlY3Rpb24gKi8KKwkJNDE3REE2RDQx
MzczNEUwRDAwN0M1N0ZCIC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLyA9IHsKKwkJCWlzYSA9
IFBCWENvbnRhaW5lckl0ZW1Qcm94eTsKKwkJCWNvbnRhaW5lclBvcnRhbCA9IDA4NjdENjkwRkU4
NDAyOEZDMDJBQUMwNyAvKiBQcm9qZWN0IG9iamVjdCAqLzsKKwkJCXByb3h5VHlwZSA9IDE7CisJ
CQlyZW1vdGVHbG9iYWxJRFN0cmluZyA9IDkzRjE5OEE1MDgyNDVFNTkwMDFFOUFCQzsKKwkJCXJl
bW90ZUluZm8gPSBXZWJDb3JlOworCQl9OwogCQk1RDg3QkI2QTExRTNFQkQyMDA3MDJCNkYgLyog
UEJYQ29udGFpbmVySXRlbVByb3h5ICovID0gewogCQkJaXNhID0gUEJYQ29udGFpbmVySXRlbVBy
b3h5OwogCQkJY29udGFpbmVyUG9ydGFsID0gMDg2N0Q2OTBGRTg0MDI4RkMwMkFBQzA3IC8qIFBy
b2plY3Qgb2JqZWN0ICovOwpAQCAtNzMwMCw2ICs3MzEzLDE0IEBACiAJCTQxNkU3NUNBMEVERjkw
QzcwMDM2MEUxRCAvKiBTY3JpcHRDYWxsRnJhbWUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gU2NyaXB0Q2FsbEZyYW1lLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNDE3MjUzQTgxMzU0QkJCQzAwMzYwRjJBIC8qIE1lZGlhQ29udHJvbEVsZW1lbnRz
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1lZGlhQ29udHJvbEVs
ZW1lbnRzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE3MjUzQTkxMzU0QkJC
QzAwMzYwRjJBIC8qIE1lZGlhQ29udHJvbEVsZW1lbnRzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IE1lZGlhQ29udHJvbEVsZW1lbnRzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTQxN0RBNENFMTM3MzQzMjYwMDdDNTdGQiAvKiBJbnRlcm5hbHMuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gSW50ZXJuYWxzLmg7IHBhdGggPSB0ZXN0aW5nL0lu
dGVybmFscy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTdEQTRDRjEzNzM0MzI2
MDA3QzU3RkIgLyogSW50ZXJuYWxzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
bmFtZSA9IEludGVybmFscy5jcHA7IHBhdGggPSB0ZXN0aW5nL0ludGVybmFscy5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxN0RBNkQwMTM3MzRFMDIwMDdDNTdGQiAvKiBsaWJX
ZWJDb3JlVGVzdFN1cHBvcnQuYSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBleHBsaWNp
dEZpbGVUeXBlID0gYXJjaGl2ZS5hcjsgaW5jbHVkZUluSW5kZXggPSAwOyBwYXRoID0gbGliV2Vi
Q29yZVRlc3RTdXBwb3J0LmE7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CisJ
CTQxN0RBNzBCMTM3MzVDNjIwMDdDNTdGQiAvKiBJbnRlcm5hbHMuaWRsICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dDsgcGF0aCA9IEludGVybmFscy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQx
N0RBNzFCMTM3MzVERkEwMDdDNTdGQiAvKiBKU0ludGVybmFscy5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0ludGVybmFscy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTQxN0RBNzFDMTM3MzVERkEwMDdDNTdGQiAvKiBKU0ludGVybmFscy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0ludGVybmFscy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk0MTdEQTczMTEzNzM2MUVGMDA3QzU3RkIgLyogV2ViQ29yZVRl
c3RTdXBwb3J0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkNvcmVUZXN0
U3VwcG9ydC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTdEQTczMjEzNzM2MUVG
MDA3QzU3RkIgLyogV2ViQ29yZVRlc3RTdXBwb3J0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFdlYkNvcmVUZXN0U3VwcG9ydC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTQxODg1QjkxMTFCNkZEQTYwMDMzODNCQiAvKiBGb3JtU3VibWlzc2lvbi5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGb3JtU3VibWlzc2lvbi5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTg4NUI5MjExQjZGREE2MDAzMzgzQkIgLyogRm9y
bVN1Ym1pc3Npb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRm9y
bVN1Ym1pc3Npb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MThBMDZDRTEz
M0MwNEQ1MDBDRDM3OUMgLyogRXZlbnREaXNwYXRjaGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEV2ZW50RGlzcGF0Y2hlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMTI0NjAsNiArMTI0ODEsMTMgQEAKIC8qIEVuZCBQQlhGaWxlUmVmZXJlbmNlIHNlY3Rp
b24gKi8KIAogLyogQmVnaW4gUEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLworCQk0
MTdEQTZDRTEzNzM0RTAyMDA3QzU3RkIgLyogRnJhbWV3b3JrcyAqLyA9IHsKKwkJCWlzYSA9IFBC
WEZyYW1ld29ya3NCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsK
KwkJCWZpbGVzID0gKAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Np
bmcgPSAwOworCQl9OwogCQk1RDg3QkI0RDExRTNFQUVCMDA3MDJCNkYgLyogRnJhbWV3b3JrcyAq
LyA9IHsKIAkJCWlzYSA9IFBCWEZyYW1ld29ya3NCdWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25N
YXNrID0gMjE0NzQ4MzY0NzsKQEAgLTEyNDk3LDYgKzEyNTI1LDcgQEAKIAkJCWlzYSA9IFBCWEdy
b3VwOwogCQkJY2hpbGRyZW4gPSAoCiAJCQkJNUQ4N0JCNEYxMUUzRUFFQjAwNzAyQjZGIC8qIFdl
YkNvcmVFeHBvcnRGaWxlR2VuZXJhdG9yICovLAorCQkJCTQxN0RBNkQwMTM3MzRFMDIwMDdDNTdG
QiAvKiBsaWJXZWJDb3JlVGVzdFN1cHBvcnQuYSAqLywKIAkJCQk5M0YxOUIxQTA4MjQ1RTVBMDAx
RTlBQkMgLyogV2ViQ29yZS5mcmFtZXdvcmsgKi8sCiAJCQkpOwogCQkJbmFtZSA9IFByb2R1Y3Rz
OwpAQCAtMTI1NjgsNiArMTI1OTcsNyBAQAogCQkJCUY1MjNEMkYzMDJERTQ0M0IwMTg2MzVDQSAv
KiByZW5kZXJpbmcgKi8sCiAJCQkJMUFFODJFQzkwQ0FBRTE3NzAwMjIzN0FFIC8qIHN0b3JhZ2Ug
Ki8sCiAJCQkJQjIyMjc3Q0EwRDAwQkYxRTAwNzFCNzgyIC8qIHN2ZyAqLywKKwkJCQk0MTdEQTRD
RDEzNzM0MjA0MDA3QzU3RkIgLyogdGVzdGluZyAqLywKIAkJCQlGRDMxNUZBMjEyQjAyNUIxMDBD
MUEzNTkgLyogd2ViYXVkaW8gKi8sCiAJCQkJNTE4QTM0QkQxMDI2QzgzMTAwMUI2ODk2IC8qIHdl
YnNvY2tldHMgKi8sCiAJCQkJMkU0MzQ2MzEwRjU0NkE2ODAwQjBGMUJBIC8qIHdvcmtlcnMgKi8s
CkBAIC0xMjc3Myw2ICsxMjgwMyw3IEBACiAJCQkJQkM5ODU0NDYwQ0QzREE1RjAwMDY5QkMxIC8q
IFJhbmdlcyAqLywKIAkJCQlBODNCNzkxNTBDQ0IwMDc4MDAwQjA4MjUgLyogU3RvcmFnZSAqLywK
IAkJCQlBODNCNzkwQTBDQ0FGRjQ3MDAwQjA4MjUgLyogU1ZHICovLAorCQkJCTQxN0RBNzEyMTM3
MzVEOTAwMDdDNTdGQiAvKiBUZXN0aW5nICovLAogCQkJCUUxQzhCRTRCMEU4QkQwRDEwMDY0Q0I3
RCAvKiBUaHJlYWRzICovLAogCQkJCUJDOTg1NDUzMENEM0RBOEYwMDA2OUJDMSAvKiBUcmF2ZXJz
YWwgKi8sCiAJCQkJRkRBMTVFN0IxMkIwM0UwNDAwM0E1ODNBIC8qIFdlYkF1ZGlvICovLApAQCAt
MTM0MjksNiArMTM0NjAsMjcgQEAKIAkJCXBhdGggPSBzaGFkb3c7CiAJCQlzb3VyY2VUcmVlID0g
Ijxncm91cD4iOwogCQl9OworCQk0MTdEQTRDRDEzNzM0MjA0MDA3QzU3RkIgLyogdGVzdGluZyAq
LyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJNDE3REE0Q0Yx
MzczNDMyNjAwN0M1N0ZCIC8qIEludGVybmFscy5jcHAgKi8sCisJCQkJNDE3REE0Q0UxMzczNDMy
NjAwN0M1N0ZCIC8qIEludGVybmFscy5oICovLAorCQkJCTQxN0RBNzBCMTM3MzVDNjIwMDdDNTdG
QiAvKiBJbnRlcm5hbHMuaWRsICovLAorCQkJCTQxN0RBNzMyMTM3MzYxRUYwMDdDNTdGQiAvKiBX
ZWJDb3JlVGVzdFN1cHBvcnQuY3BwICovLAorCQkJCTQxN0RBNzMxMTM3MzYxRUYwMDdDNTdGQiAv
KiBXZWJDb3JlVGVzdFN1cHBvcnQuaCAqLywKKwkJCSk7CisJCQluYW1lID0gdGVzdGluZzsKKwkJ
CXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisJCTQxN0RBNzEyMTM3MzVEOTAwMDdDNTdG
QiAvKiBUZXN0aW5nICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgK
KwkJCQk0MTdEQTcxQjEzNzM1REZBMDA3QzU3RkIgLyogSlNJbnRlcm5hbHMuY3BwICovLAorCQkJ
CTQxN0RBNzFDMTM3MzVERkEwMDdDNTdGQiAvKiBKU0ludGVybmFscy5oICovLAorCQkJKTsKKwkJ
CW5hbWUgPSBUZXN0aW5nOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIAkJNDM5
MDQ2QzIxMkRBMjVDRTAwQUY4MEEyIC8qIG1hdGhtbCAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3Vw
OwogCQkJY2hpbGRyZW4gPSAoCkBAIC0xOTY3MCw2ICsxOTcyMiwxNiBAQAogLyogRW5kIFBCWEdy
b3VwIHNlY3Rpb24gKi8KIAogLyogQmVnaW4gUEJYSGVhZGVyc0J1aWxkUGhhc2Ugc2VjdGlvbiAq
LworCQk0MTdEQTZDQzEzNzM0RTAyMDA3QzU3RkIgLyogSGVhZGVycyAqLyA9IHsKKwkJCWlzYSA9
IFBCWEhlYWRlcnNCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsK
KwkJCWZpbGVzID0gKAorCQkJCTQxN0RBNkRBMTM3MzRFNkUwMDdDNTdGQiAvKiBJbnRlcm5hbHMu
aCBpbiBIZWFkZXJzICovLAorCQkJCTQxN0RBNzMzMTM3MzYxRUYwMDdDNTdGQiAvKiBXZWJDb3Jl
VGVzdFN1cHBvcnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxN0RBNzFFMTM3MzVERkEwMDdDNTdG
QiAvKiBKU0ludGVybmFscy5oIGluIEhlYWRlcnMgKi8sCisJCQkpOworCQkJcnVuT25seUZvckRl
cGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CisJCX07CiAJCTkzRjE5OEE2MDgyNDVFNTkwMDFF
OUFCQyAvKiBIZWFkZXJzICovID0gewogCQkJaXNhID0gUEJYSGVhZGVyc0J1aWxkUGhhc2U7CiAJ
CQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwpAQCAtMjI3NTgsNiArMjI4MjAsMjQgQEAK
IC8qIEVuZCBQQlhIZWFkZXJzQnVpbGRQaGFzZSBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFBCWE5h
dGl2ZVRhcmdldCBzZWN0aW9uICovCisJCTQxN0RBNkNGMTM3MzRFMDIwMDdDNTdGQiAvKiBXZWJD
b3JlVGVzdFN1cHBvcnQgKi8gPSB7CisJCQlpc2EgPSBQQlhOYXRpdmVUYXJnZXQ7CisJCQlidWls
ZENvbmZpZ3VyYXRpb25MaXN0ID0gNDE3REE2RDgxMzczNEU0NzAwN0M1N0ZCIC8qIEJ1aWxkIGNv
bmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYTmF0aXZlVGFyZ2V0ICJXZWJDb3JlVGVzdFN1cHBvcnQi
ICovOworCQkJYnVpbGRQaGFzZXMgPSAoCisJCQkJNDE3REE2Q0MxMzczNEUwMjAwN0M1N0ZCIC8q
IEhlYWRlcnMgKi8sCisJCQkJNDE3REE2Q0QxMzczNEUwMjAwN0M1N0ZCIC8qIFNvdXJjZXMgKi8s
CisJCQkJNDE3REE2Q0UxMzczNEUwMjAwN0M1N0ZCIC8qIEZyYW1ld29ya3MgKi8sCisJCQkpOwor
CQkJYnVpbGRSdWxlcyA9ICgKKwkJCSk7CisJCQlkZXBlbmRlbmNpZXMgPSAoCisJCQkJNDE3REE2
RDUxMzczNEUwRDAwN0M1N0ZCIC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8sCisJCQkpOworCQkJ
bmFtZSA9IFdlYkNvcmVUZXN0U3VwcG9ydDsKKwkJCXByb2R1Y3ROYW1lID0gV2ViQ29yZVRlc3RT
dXBwb3J0OworCQkJcHJvZHVjdFJlZmVyZW5jZSA9IDQxN0RBNkQwMTM3MzRFMDIwMDdDNTdGQiAv
KiBsaWJXZWJDb3JlVGVzdFN1cHBvcnQuYSAqLzsKKwkJCXByb2R1Y3RUeXBlID0gImNvbS5hcHBs
ZS5wcm9kdWN0LXR5cGUubGlicmFyeS5zdGF0aWMiOworCQl9OwogCQk1RDg3QkI0RTExRTNFQUVC
MDA3MDJCNkYgLyogV2ViQ29yZUV4cG9ydEZpbGVHZW5lcmF0b3IgKi8gPSB7CiAJCQlpc2EgPSBQ
QlhOYXRpdmVUYXJnZXQ7CiAJCQlidWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gNUQ4N0JCNTkxMUUz
RUIwNzAwNzAyQjZGIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYTmF0aXZlVGFy
Z2V0ICJXZWJDb3JlRXhwb3J0RmlsZUdlbmVyYXRvciIgKi87CkBAIC0yMjgyNyw2ICsyMjkwNyw3
IEBACiAJCQlwcm9qZWN0RGlyUGF0aCA9ICIiOwogCQkJcHJvamVjdFJvb3QgPSAiIjsKIAkJCXRh
cmdldHMgPSAoCisJCQkJNDE3REE2Q0YxMzczNEUwMjAwN0M1N0ZCIC8qIFdlYkNvcmVUZXN0U3Vw
cG9ydCAqLywKIAkJCQk5M0YxOThBNTA4MjQ1RTU5MDAxRTlBQkMgLyogV2ViQ29yZSAqLywKIAkJ
CQlERDA0MUZCRTA5RDlEREJFMDAxMEFGMkEgLyogRGVyaXZlZCBTb3VyY2VzICovLAogCQkJCTVE
ODdCQjRFMTFFM0VBRUIwMDcwMkI2RiAvKiBXZWJDb3JlRXhwb3J0RmlsZUdlbmVyYXRvciAqLywK
QEAgLTIzMDQxLDYgKzIzMTIyLDE2IEBACiAvKiBFbmQgUEJYU2hlbGxTY3JpcHRCdWlsZFBoYXNl
IHNlY3Rpb24gKi8KIAogLyogQmVnaW4gUEJYU291cmNlc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLwor
CQk0MTdEQTZDRDEzNzM0RTAyMDA3QzU3RkIgLyogU291cmNlcyAqLyA9IHsKKwkJCWlzYSA9IFBC
WFNvdXJjZXNCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKKwkJ
CWZpbGVzID0gKAorCQkJCTQxN0RBNkQ5MTM3MzRFNkUwMDdDNTdGQiAvKiBJbnRlcm5hbHMuY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJNDE3REE3MzQxMzczNjFFRjAwN0M1N0ZCIC8qIFdlYkNvcmVU
ZXN0U3VwcG9ydC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk0MTdEQTcxRDEzNzM1REZBMDA3QzU3
RkIgLyogSlNJbnRlcm5hbHMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkpOworCQkJcnVuT25seUZv
ckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CisJCX07CiAJCTVEODdCQjRDMTFFM0VBRUIw
MDcwMkI2RiAvKiBTb3VyY2VzICovID0gewogCQkJaXNhID0gUEJYU291cmNlc0J1aWxkUGhhc2U7
CiAJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwpAQCAtMjU0MjQsNiArMjU1MTUsMTEg
QEAKIC8qIEVuZCBQQlhTb3VyY2VzQnVpbGRQaGFzZSBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFBC
WFRhcmdldERlcGVuZGVuY3kgc2VjdGlvbiAqLworCQk0MTdEQTZENTEzNzM0RTBEMDA3QzU3RkIg
LyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLyA9IHsKKwkJCWlzYSA9IFBCWFRhcmdldERlcGVuZGVu
Y3k7CisJCQl0YXJnZXQgPSA5M0YxOThBNTA4MjQ1RTU5MDAxRTlBQkMgLyogV2ViQ29yZSAqLzsK
KwkJCXRhcmdldFByb3h5ID0gNDE3REE2RDQxMzczNEUwRDAwN0M1N0ZCIC8qIFBCWENvbnRhaW5l
ckl0ZW1Qcm94eSAqLzsKKwkJfTsKIAkJNUQ4N0JCNkIxMUUzRUJEMjAwNzAyQjZGIC8qIFBCWFRh
cmdldERlcGVuZGVuY3kgKi8gPSB7CiAJCQlpc2EgPSBQQlhUYXJnZXREZXBlbmRlbmN5OwogCQkJ
dGFyZ2V0ID0gNUQ4N0JCNjQxMUUzRUJDMTAwNzAyQjZGIC8qIFdlYkNvcmVFeHBvcnRGaWxlR2Vu
ZXJhdG9yIEdlbmVyYXRvciAqLzsKQEAgLTI1NTI3LDYgKzI1NjIzLDU5IEBACiAJCQl9OwogCQkJ
bmFtZSA9IFByb2R1Y3Rpb247CiAJCX07CisJCTQxN0RBNkQxMTM3MzRFMDIwMDdDNTdGQiAvKiBE
ZWJ1ZyAqLyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOworCQkJYmFzZUNvbmZp
Z3VyYXRpb25SZWZlcmVuY2UgPSAxQ0RENDVFNTBCQTlDODQ2MDBGOTAxNDcgLyogV2ViQ29yZS54
Y2NvbmZpZyAqLzsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQkJQUxXQVlTX1NFQVJDSF9VU0VS
X1BBVEhTID0gTk87CisJCQkJQ09QWV9QSEFTRV9TVFJJUCA9IE5POworCQkJCUVYUE9SVEVEX1NZ
TUJPTFNfRklMRSA9ICIiOworCQkJCUdDQ19EWU5BTUlDX05PX1BJQyA9IE5POworCQkJCUdDQ19F
TkFCTEVfRklYX0FORF9DT05USU5VRSA9IFlFUzsKKwkJCQlHQ0NfTU9ERUxfVFVOSU5HID0gRzU7
CisJCQkJR0NDX09QVElNSVpBVElPTl9MRVZFTCA9IDA7CisJCQkJSU5TVEFMTF9QQVRIID0gL3Vz
ci9sb2NhbC9saWI7CisJCQkJT1RIRVJfTERGTEFHUyA9ICIiOworCQkJCVBSRUJJTkRJTkcgPSBO
TzsKKwkJCQlQUklWQVRFX0hFQURFUlNfRk9MREVSX1BBVEggPSBXZWJDb3JlVGVzdFN1cHBvcnQ7
CisJCQkJUFJPRFVDVF9OQU1FID0gV2ViQ29yZVRlc3RTdXBwb3J0OworCQkJfTsKKwkJCW5hbWUg
PSBEZWJ1ZzsKKwkJfTsKKwkJNDE3REE2RDIxMzczNEUwMjAwN0M1N0ZCIC8qIFJlbGVhc2UgKi8g
PSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJhc2VDb25maWd1cmF0aW9u
UmVmZXJlbmNlID0gMUNERDQ1RTUwQkE5Qzg0NjAwRjkwMTQ3IC8qIFdlYkNvcmUueGNjb25maWcg
Ki87CisJCQlidWlsZFNldHRpbmdzID0geworCQkJCUFMV0FZU19TRUFSQ0hfVVNFUl9QQVRIUyA9
IE5POworCQkJCUNPUFlfUEhBU0VfU1RSSVAgPSBZRVM7CisJCQkJREVCVUdfSU5GT1JNQVRJT05f
Rk9STUFUID0gImR3YXJmLXdpdGgtZHN5bSI7CisJCQkJRVhQT1JURURfU1lNQk9MU19GSUxFID0g
IiI7CisJCQkJR0NDX0VOQUJMRV9GSVhfQU5EX0NPTlRJTlVFID0gTk87CisJCQkJR0NDX01PREVM
X1RVTklORyA9IEc1OworCQkJCUlOU1RBTExfUEFUSCA9IC91c3IvbG9jYWwvbGliOworCQkJCU9U
SEVSX0xERkxBR1MgPSAiIjsKKwkJCQlQUkVCSU5ESU5HID0gTk87CisJCQkJUFJJVkFURV9IRUFE
RVJTX0ZPTERFUl9QQVRIID0gV2ViQ29yZVRlc3RTdXBwb3J0OworCQkJCVBST0RVQ1RfTkFNRSA9
IFdlYkNvcmVUZXN0U3VwcG9ydDsKKwkJCX07CisJCQluYW1lID0gUmVsZWFzZTsKKwkJfTsKKwkJ
NDE3REE2RDMxMzczNEUwMjAwN0M1N0ZCIC8qIFByb2R1Y3Rpb24gKi8gPSB7CisJCQlpc2EgPSBY
Q0J1aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gMUNE
RDQ1RTUwQkE5Qzg0NjAwRjkwMTQ3IC8qIFdlYkNvcmUueGNjb25maWcgKi87CisJCQlidWlsZFNl
dHRpbmdzID0geworCQkJCUFMV0FZU19TRUFSQ0hfVVNFUl9QQVRIUyA9IE5POworCQkJCUVYUE9S
VEVEX1NZTUJPTFNfRklMRSA9ICIiOworCQkJCUdDQ19FTkFCTEVfRklYX0FORF9DT05USU5VRSA9
IFlFUzsKKwkJCQlHQ0NfTU9ERUxfVFVOSU5HID0gRzU7CisJCQkJSU5TVEFMTF9QQVRIID0gL3Vz
ci9sb2NhbC9saWI7CisJCQkJT1RIRVJfTERGTEFHUyA9ICIiOworCQkJCVBSRUJJTkRJTkcgPSBO
TzsKKwkJCQlQUklWQVRFX0hFQURFUlNfRk9MREVSX1BBVEggPSBXZWJDb3JlVGVzdFN1cHBvcnQ7
CisJCQkJUFJPRFVDVF9OQU1FID0gV2ViQ29yZVRlc3RTdXBwb3J0OworCQkJfTsKKwkJCW5hbWUg
PSBQcm9kdWN0aW9uOworCQl9OwogCQk1RDg3QkI1MTExRTNFQUVCMDA3MDJCNkYgLyogRGVidWcg
Ki8gPSB7CiAJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKIAkJCWJhc2VDb25maWd1cmF0
aW9uUmVmZXJlbmNlID0gMUNERDQ1RTUwQkE5Qzg0NjAwRjkwMTQ3IC8qIFdlYkNvcmUueGNjb25m
aWcgKi87CkBAIC0yNTYzMiw2ICsyNTc4MSwxNiBAQAogCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25J
c1Zpc2libGUgPSAwOwogCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25OYW1lID0gUHJvZHVjdGlvbjsK
IAkJfTsKKwkJNDE3REE2RDgxMzczNEU0NzAwN0M1N0ZCIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24g
bGlzdCBmb3IgUEJYTmF0aXZlVGFyZ2V0ICJXZWJDb3JlVGVzdFN1cHBvcnQiICovID0geworCQkJ
aXNhID0gWENDb25maWd1cmF0aW9uTGlzdDsKKwkJCWJ1aWxkQ29uZmlndXJhdGlvbnMgPSAoCisJ
CQkJNDE3REE2RDExMzczNEUwMjAwN0M1N0ZCIC8qIERlYnVnICovLAorCQkJCTQxN0RBNkQyMTM3
MzRFMDIwMDdDNTdGQiAvKiBSZWxlYXNlICovLAorCQkJCTQxN0RBNkQzMTM3MzRFMDIwMDdDNTdG
QiAvKiBQcm9kdWN0aW9uICovLAorCQkJKTsKKwkJCWRlZmF1bHRDb25maWd1cmF0aW9uSXNWaXNp
YmxlID0gMDsKKwkJCWRlZmF1bHRDb25maWd1cmF0aW9uTmFtZSA9IFByb2R1Y3Rpb247CisJCX07
CiAJCTVEODdCQjU5MTFFM0VCMDcwMDcwMkI2RiAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3Qg
Zm9yIFBCWE5hdGl2ZVRhcmdldCAiV2ViQ29yZUV4cG9ydEZpbGVHZW5lcmF0b3IiICovID0gewog
CQkJaXNhID0gWENDb25maWd1cmF0aW9uTGlzdDsKIAkJCWJ1aWxkQ29uZmlndXJhdGlvbnMgPSAo
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlVGVzdFN1cHBvcnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZVRlc3RTdXBwb3J0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZmE5MzE1YjE2
NWQzZGU5ODRlMjllODEzZWFmM2NkODZiMjA3NzhiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZVRlc3RTdXBwb3J0LmNwcApAQCAtMCwwICsxLDQ3IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBB
TkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQK
KyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYkNvcmVUZXN0U3VwcG9ydC5oIgorCisj
aW5jbHVkZSAiSW50ZXJuYWxzLmgiCisjaW5jbHVkZSAiSlNET01HbG9iYWxPYmplY3QuaCIKKyNp
bmNsdWRlICJKU0ludGVybmFscy5oIgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0FQSUNhc3Qu
aD4KKyNpbmNsdWRlIDxpbnRlcnByZXRlci9DYWxsRnJhbWUuaD4KKwordXNpbmcgbmFtZXNwYWNl
IEpTQzsKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1lc3BhY2UgV2ViQ29yZVRlc3RT
dXBwb3J0IHsKKwordm9pZCBJbnRlcm5hbHNJbmplY3Rvcjo6aW5qZWN0SW50ZXJuYWxzT2JqZWN0
KEpTQ29udGV4dFJlZiBjb250ZXh0KQoreworICAgIEV4ZWNTdGF0ZSogZXhlYyA9IHRvSlMoY29u
dGV4dCk7CisgICAgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IHN0YXRpY19jYXN0
PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKTsKKyAgICBn
bG9iYWxPYmplY3QtPnB1dERpcmVjdChleGVjLT5nbG9iYWxEYXRhKCksIElkZW50aWZpZXIoZXhl
YywgImludGVybmFscyIpLCB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCwgSW50ZXJuYWxzOjpjcmVh
dGUoKSkpOworfQorCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlVGVzdFN1
cHBvcnQuaCBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmVUZXN0U3VwcG9ydC5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjM2MmRhNTBkZTU2ZDE1NjRiOWVlMmFkOGQ4MmZjZjgxMTY2ODg5ZmMKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlVGVzdFN1cHBvcnQuaApAQCAtMCwwICsxLDQwIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICog
MS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2lmbmRlZiBXZWJDb3JlVGVzdFN1cHBvcnRfaAorI2RlZmluZSBXZWJDb3JlVGVz
dFN1cHBvcnRfaAorCit0eXBlZGVmIGNvbnN0IHN0cnVjdCBPcGFxdWVKU0NvbnRleHQqIEpTQ29u
dGV4dFJlZjsKKworbmFtZXNwYWNlIFdlYkNvcmVUZXN0U3VwcG9ydCB7CisKK2NsYXNzIEludGVy
bmFsc0luamVjdG9yIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgdm9pZCBpbmplY3RJbnRlcm5hbHNP
YmplY3QoSlNDb250ZXh0UmVmKTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDQ1Zjk2ZGNm
Yzg2MDZhODI5MDBjMzc5NGYzMDQ0NTI5MzkzZTA2MAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtMCwwICsxLDQ0IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBB
TkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQK
KyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkludGVybmFscy5oIgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK1Bhc3NSZWZQdHI8SW50ZXJuYWxzPiBJbnRlcm5hbHM6OmNyZWF0ZSgpCit7
CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBJbnRlcm5hbHMoKSk7Cit9CisKK0ludGVybmFsczo6
fkludGVybmFscygpCit7Cit9CisKK0ludGVybmFsczo6SW50ZXJuYWxzKCkKK3sKK30KKworfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaCBiL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2JiZDliOWMwM2I0OTJiZjFh
YTQ0YzExMTNiNGIwYTYwZDNlOTRlNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05U
UklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgSW50
ZXJuYWxzX2gKKyNkZWZpbmUgSW50ZXJuYWxzX2gKKworI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRy
Lmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitjbGFzcyBJbnRlcm5hbHMgOiBwdWJsaWMgUmVmQ291bnRlZDxJbnRlcm5hbHM+IHsKK3B1Ymxp
YzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxJbnRlcm5hbHM+IGNyZWF0ZSgpOworICAgIHZpcnR1
YWwgfkludGVybmFscygpOworCitwcml2YXRlOgorICAgIEludGVybmFscygpOworfTsKKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxv
ZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBhMDM0M2VhNTM3MTg2MTQ5ZjRhOGEzZmNkZDRlYzBm
ZjQ1YWI5NGUxLi40OWY0ZDBkNmMzNGFlZmUyYzgxYTkzYTA0ZmIyN2U0NWI3ZTlhYWU3IDEwMDY0
NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTQgQEAKKzIwMTEtMDUtMDUgIERpbWl0cmkgR2xhemtvdiAgPGRnbGF6a292QGNocm9taXVtLm9y
Zz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQg
YnVpbGQgbG9naXN0aWNzIGFuZCBwbHVtYmluZyBmb3Igd2luZG93LmludGVybmFscyBvYmplY3Qu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDMxMwor
CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvRHVtcFJlbmRlclRyZWUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvajoKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvRnJhbWVMb2FkRGVsZWdh
dGUubW06CisgICAgICAgICgtW0ZyYW1lTG9hZERlbGVnYXRlIGRpZENsZWFyV2luZG93T2JqZWN0
SW5TdGFuZGFyZFdvcmxkRm9yRnJhbWU6XSk6CisKIDIwMTEtMDUtMTEgIEplc3NpZSBCZXJsaW4g
IDxqYmVybGluQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4K
ZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2ogYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGZkNGNlOTAwMDEwZjcxZTMyOWNjMzA3MGM2
ZWMwNTYyMWNlYjZiNGIuLmMyM2NlNTQ3YTRmNmFhNGI0ZTFlYjUxYTVhOWM0NWYwMjg0NDMyNDIg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvRHVtcFJlbmRlclRy
ZWUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNTQsNiArNTQsOCBAQAogCQkzNzEzRURF
MzExNUJFMTkzMDA3MDU3MjAgLyogQ29sb3JCaXRzLnR0ZiBpbiBDb3B5IEZvbnQgRmlsZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzcxM0VERTAxMTVCRTE2RjAwNzA1NzIw
IC8qIENvbG9yQml0cy50dGYgKi87IH07CiAJCTNBNTYyNkNCMTMxQ0EwMkEwMDJCRTZEOSAvKiBT
dG9yYWdlVHJhY2tlckRlbGVnYXRlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gM0E1NjI2QzExMzFDOEIxNzAwMkJFNkQ5IC8qIFN0b3JhZ2VUcmFja2Vy
RGVsZWdhdGUubW0gKi87IH07CiAJCTNBNTYyNkNDMTMxQ0EwMzYwMDJCRTZEOSAvKiBTdG9yYWdl
VHJhY2tlckRlbGVnYXRlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAzQTU2MjZDMDEzMUM4QjE3MDAyQkU2RDkgLyogU3RvcmFnZVRyYWNrZXJEZWxlZ2F0
ZS5oICovOyB9OworCQk0MTdEQUExRDEzN0IzRTI0MDA3QzU3RkIgLyogV2ViQ29yZVRlc3RTdXBw
b3J0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTdE
QUExQzEzN0IzRTI0MDA3QzU3RkIgLyogV2ViQ29yZVRlc3RTdXBwb3J0LmggKi87IH07CisJCTQx
N0RBQUVGMTM3QjQwRUYwMDdDNTdGQiAvKiBsaWJXZWJDb3JlVGVzdFN1cHBvcnQuYSBpbiBGcmFt
ZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxN0RBNzAwMTM3MzUw
MzcwMDdDNTdGQiAvKiBsaWJXZWJDb3JlVGVzdFN1cHBvcnQuYSAqLzsgfTsKIAkJNDQwNTkwNzEx
MjY4NDUzODAwQ0ZENDhEIC8qIFdlYkFyY2hpdmVEdW1wU3VwcG9ydE1hYy5tbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0MDU5MDcwMTI2ODQ1MzgwMENG
RDQ4RCAvKiBXZWJBcmNoaXZlRHVtcFN1cHBvcnRNYWMubW0gKi87IH07CiAJCTQ0Mzc3MzBFMTI1
Q0JDMzYwMEFBRTAyQyAvKiBXZWJBcmNoaXZlRHVtcFN1cHBvcnQuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDRBOTk3ODMwRkNERTg2NDAwNTgwRjEw
IC8qIFdlYkFyY2hpdmVEdW1wU3VwcG9ydC5jcHAgKi87IH07CiAJCTQ0Mzc3MzBGMTI1Q0JDNEQw
MEFBRTAyQyAvKiBXZWJBcmNoaXZlRHVtcFN1cHBvcnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0QTk5NzgyMEZDREU4NjQwMDU4MEYxMCAvKiBXZWJB
cmNoaXZlRHVtcFN1cHBvcnQuaCAqLzsgfTsKQEAgLTI0MSw2ICsyNDMsOCBAQAogCQkzNzVGMDk3
OTBEQUMzQ0I2MDBDOEI0RTUgLyogV2ViS2l0V2VpZ2h0V2F0Y2hlcjkwMC50dGYgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBmaWxlOyBuYW1lID0gV2Vi
S2l0V2VpZ2h0V2F0Y2hlcjkwMC50dGY7IHBhdGggPSBmb250cy9XZWJLaXRXZWlnaHRXYXRjaGVy
OTAwLnR0Zjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJM0E1NjI2QzAxMzFDOEIxNzAw
MkJFNkQ5IC8qIFN0b3JhZ2VUcmFja2VyRGVsZWdhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gU3RvcmFnZVRyYWNrZXJEZWxlZ2F0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkzQTU2MjZDMTEzMUM4QjE3MDAyQkU2RDkgLyogU3RvcmFnZVRyYWNrZXJEZWxl
Z2F0ZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFN0b3JhZ2VU
cmFja2VyRGVsZWdhdGUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxN0RBNzAw
MTM3MzUwMzcwMDdDNTdGQiAvKiBsaWJXZWJDb3JlVGVzdFN1cHBvcnQuYSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IGFyY2hpdmUuYXI7IHBhdGggPSBs
aWJXZWJDb3JlVGVzdFN1cHBvcnQuYTsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsg
fTsKKwkJNDE3REFBMUMxMzdCM0UyNDAwN0M1N0ZCIC8qIFdlYkNvcmVUZXN0U3VwcG9ydC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBXZWJDb3JlVGVzdFN1cHBvcnQuaDsgcGF0
aCA9IFdlYkNvcmVUZXN0U3VwcG9ydC9XZWJDb3JlVGVzdFN1cHBvcnQuaDsgc291cmNlVHJlZSA9
IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKIAkJNDQwNTkwNzAxMjY4NDUzODAwQ0ZENDhEIC8qIFdl
YkFyY2hpdmVEdW1wU3VwcG9ydE1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNw
cDsgbmFtZSA9IFdlYkFyY2hpdmVEdW1wU3VwcG9ydE1hYy5tbTsgcGF0aCA9IG1hYy9XZWJBcmNo
aXZlRHVtcFN1cHBvcnRNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0QTk5
NzgyMEZDREU4NjQwMDU4MEYxMCAvKiBXZWJBcmNoaXZlRHVtcFN1cHBvcnQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV2ViQXJjaGl2ZUR1bXBTdXBwb3J0Lmg7IHBhdGggPSBj
Zi9XZWJBcmNoaXZlRHVtcFN1cHBvcnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NDRBOTk3ODMwRkNERTg2NDAwNTgwRjEwIC8qIFdlYkFyY2hpdmVEdW1wU3VwcG9ydC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBXZWJBcmNoaXZlRHVtcFN1cHBvcnQu
Y3BwOyBwYXRoID0gY2YvV2ViQXJjaGl2ZUR1bXBTdXBwb3J0LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKQEAgLTM1NSw2ICszNTksNyBAQAogCQkJCUE4MTcwOTA0MDhCMTY0RDMwMEND
QjlGQiAvKiBKYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKIAkJCQky
M0JDQjg5MDBFQTU3NjIzMDAzQzYyODkgLyogT3BlbkdMLmZyYW1ld29yayBpbiBGcmFtZXdvcmtz
ICovLAogCQkJCTkzNDA5OTUxMDg1NDBDQUUwMDdGM0JDOCAvKiBXZWJLaXQuZnJhbWV3b3JrIGlu
IEZyYW1ld29ya3MgKi8sCisJCQkJNDE3REFBRUYxMzdCNDBFRjAwN0M1N0ZCIC8qIGxpYldlYkNv
cmVUZXN0U3VwcG9ydC5hIGluIEZyYW1ld29ya3MgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRl
cGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0zOTksNiArNDA0LDcgQEAKIAkJ
CQlBOEI5MUFDNDBDRjNCMTcwMDA4RjkxRkYgLyogT2JqQ1BsdWdpbiAqLywKIAkJCQkxNDFCRjFG
NTA5NkE0Mzk4MDBFMDc1M0MgLyogVGVzdE5ldHNjYXBlUGx1Z0luICovLAogCQkJCTkzNDUyMjlC
MEJEMTJCMkMwMDg2RURBMCAvKiBSZXNvdXJjZXMgKi8sCisJCQkJNDE3REE5MTgxMzczNjc0RDAw
N0M1N0ZCIC8qIFdlYkNvcmVUZXN0U3VwcG9ydCAqLywKIAkJCQlBODAzRkY2NDA5Q0FBQ0MxMDA5
QjJBMzcgLyogRnJhbWV3b3JrcyAqLywKIAkJCQk5MzQwOTk1NTA4NTQwQ0FGMDA3RjNCQzggLyog
UHJvZHVjdHMgKi8sCiAJCQkJQkNCMjgxRUQwQ0ZBNzExRDAwN0U1MzNFIC8qIENvbmZpZ3VyYXRp
b25zICovLApAQCAtNTA4LDYgKzUxNCwxNSBAQAogCQkJcGF0aCA9IG1hYzsKIAkJCXNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCTQxN0RBOTE4MTM3MzY3NEQwMDdDNTdGQiAvKiBXZWJD
b3JlVGVzdFN1cHBvcnQgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0g
KAorCQkJCTQxN0RBQTFDMTM3QjNFMjQwMDdDNTdGQiAvKiBXZWJDb3JlVGVzdFN1cHBvcnQuaCAq
LywKKwkJCQk0MTdEQTcwMDEzNzM1MDM3MDA3QzU3RkIgLyogbGliV2ViQ29yZVRlc3RTdXBwb3J0
LmEgKi8sCisJCQkpOworCQkJbmFtZSA9IFdlYkNvcmVUZXN0U3VwcG9ydDsKKwkJCXNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCTkzNDA5OTU1MDg1NDBDQUYwMDdGM0JDOCAvKiBQcm9k
dWN0cyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCkBAIC02NTMs
NiArNjY4LDcgQEAKIAkJCQlFMUI3ODE2NzExQUYzMUMzMDA3RTFCQzIgLyogTW9ja0dlb2xvY2F0
aW9uUHJvdmlkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTI5Q0ZCQTEwMTIyNzM2RTYwMEJDMzBD
MCAvKiBBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJM0E1NjI2
Q0MxMzFDQTAzNjAwMkJFNkQ5IC8qIFN0b3JhZ2VUcmFja2VyRGVsZWdhdGUuaCBpbiBIZWFkZXJz
ICovLAorCQkJCTQxN0RBQTFEMTM3QjNFMjQwMDdDNTdGQiAvKiBXZWJDb3JlVGVzdFN1cHBvcnQu
aCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nl
c3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0Zy
YW1lTG9hZERlbGVnYXRlLm1tIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0ZyYW1lTG9hZERl
bGVnYXRlLm1tCmluZGV4IDI3OTM5ZGY5NGY3OWM0ZmFlNWQ0ZjFhOThkZmY4ZGZjYzkxMDRjYzQu
LmMwN2E1MjNjZWZiYmMzNWVlMTc0ZGIzNWEzYzBiMjFlZTE1ZDQ1ZTIgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL21hYy9GcmFtZUxvYWREZWxlZ2F0ZS5tbQorKysgYi9Ub29scy9E
dW1wUmVuZGVyVHJlZS9tYWMvRnJhbWVMb2FkRGVsZWdhdGUubW0KQEAgLTQxLDYgKzQxLDcgQEAK
ICNpbXBvcnQgIk9iakNQbHVnaW5GdW5jdGlvbi5oIgogI2ltcG9ydCAiUGxhaW5UZXh0Q29udHJv
bGxlci5oIgogI2ltcG9ydCAiVGV4dElucHV0Q29udHJvbGxlci5oIgorI2ltcG9ydCAiV2ViQ29y
ZVRlc3RTdXBwb3J0LmgiCiAjaW1wb3J0ICJXb3JrUXVldWUuaCIKICNpbXBvcnQgIldvcmtRdWV1
ZUl0ZW0uaCIKICNpbXBvcnQgPEphdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmg+CkBAIC0y
NjYsNiArMjY3LDggQEAKICAgICBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci0+bWFrZVdpbmRvd09i
amVjdChjb250ZXh0LCBnbG9iYWxPYmplY3QsICZleGNlcHRpb24pOwogICAgIEFTU0VSVCghZXhj
ZXB0aW9uKTsKIAorICAgIFdlYkNvcmVUZXN0U3VwcG9ydDo6SW50ZXJuYWxzSW5qZWN0b3I6Omlu
amVjdEludGVybmFsc09iamVjdChjb250ZXh0KTsKKwogICAgIC8vIE1ha2UgT2xkLVN0eWxlIGNv
bnRyb2xsZXJzCiAKICAgICBXZWJWaWV3ICp3ZWJWaWV3ID0gW2ZyYW1lIHdlYlZpZXddOwpkaWZm
IC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1
bmRsZVBhZ2UuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9Jbmpl
Y3RlZEJ1bmRsZVBhZ2UuY3BwCmluZGV4IDJhMWY4NWQzYTZiZWZkZjk3ODk4ZTMwZjE1MGFhNjMx
NDE5NGJlZGMuLjFiMDNmMGRhZTFiZTEwZTQ1MzE0ODZkNWJkZGIzOGU5MjgwMDBkNzUgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5k
bGVQYWdlLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0lu
amVjdGVkQnVuZGxlUGFnZS5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUgIkluamVj
dGVkQnVuZGxlLmgiCiAjaW5jbHVkZSAiU3RyaW5nRnVuY3Rpb25zLmgiCisjaW5jbHVkZSAiV2Vi
Q29yZVRlc3RTdXBwb3J0LmgiCiAjaW5jbHVkZSA8Y21hdGg+CiAjaW5jbHVkZSA8SmF2YVNjcmlw
dENvcmUvSlNSZXRhaW5QdHIuaD4KICNpbmNsdWRlIDxXZWJLaXQyL1dLQXJyYXkuaD4KQEAgLTYx
MSw2ICs2MTIsNyBAQCB2b2lkIEluamVjdGVkQnVuZGxlUGFnZTo6ZGlkQ2xlYXJXaW5kb3dGb3JG
cmFtZShXS0J1bmRsZUZyYW1lUmVmIGZyYW1lLCBXS0J1bmRsZQogICAgIEluamVjdGVkQnVuZGxl
OjpzaGFyZWQoKS5sYXlvdXRUZXN0Q29udHJvbGxlcigpLT5tYWtlV2luZG93T2JqZWN0KGNvbnRl
eHQsIHdpbmRvdywgJmV4Y2VwdGlvbik7CiAgICAgSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLmdj
Q29udHJvbGxlcigpLT5tYWtlV2luZG93T2JqZWN0KGNvbnRleHQsIHdpbmRvdywgJmV4Y2VwdGlv
bik7CiAgICAgSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLmV2ZW50U2VuZGluZ0NvbnRyb2xsZXIo
KS0+bWFrZVdpbmRvd09iamVjdChjb250ZXh0LCB3aW5kb3csICZleGNlcHRpb24pOworICAgIFdl
YkNvcmVUZXN0U3VwcG9ydDo6SW50ZXJuYWxzSW5qZWN0b3I6OmluamVjdEludGVybmFsc09iamVj
dChjb250ZXh0KTsKIH0KIAogdm9pZCBJbmplY3RlZEJ1bmRsZVBhZ2U6OmRpZENhbmNlbENsaWVu
dFJlZGlyZWN0Rm9yRnJhbWUoV0tCdW5kbGVGcmFtZVJlZiBmcmFtZSkKZGlmZiAtLWdpdCBhL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvV2ViS2l0VGVzdFJ1bm5lci54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9XZWJLaXRUZXN0UnVubmVyLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKaW5kZXggZGQxYzNkYWU3NGI0YzJlYjZjZWQ0NzBkYzkyMGI4OWQw
ZTQ1ZDczNC4uZTlmMWJkOTRkYjU4MWNkM2RmMDU0MDJiZTRhMzkzMDdlYTQzY2QyNiAxMDA2NDQK
LS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9XZWJLaXRUZXN0UnVubmVyLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9XZWJLaXRUZXN0UnVu
bmVyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTIxLDYgKzIxLDcgQEAKIC8qIEVuZCBQ
QlhBZ2dyZWdhdGVUYXJnZXQgc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhCdWlsZEZpbGUgc2Vj
dGlvbiAqLworCQk0MTdEQUMyNTEzN0I1MEU1MDA3QzU3RkIgLyogbGliV2ViQ29yZVRlc3RTdXBw
b3J0LmEgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
MTdEQUJGRjEzN0I0REZDMDA3QzU3RkIgLyogbGliV2ViQ29yZVRlc3RTdXBwb3J0LmEgKi87IH07
CiAJCTY1MTBBNzgyMTFFQzY0MzgwMDQxMDg2NyAvKiBBSEVNX19fXy5UVEYgaW4gUmVzb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDY1MTBBNzc3MTFFQzY0MzgwMDQx
MDg2NyAvKiBBSEVNX19fXy5UVEYgKi87IH07CiAJCTY1MTBBNzgzMTFFQzY0MzgwMDQxMDg2NyAv
KiBDb2xvckJpdHMudHRmIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA2NTEwQTc3ODExRUM2NDM4MDA0MTA4NjcgLyogQ29sb3JCaXRzLnR0ZiAqLzsgfTsK
IAkJNjUxMEE3ODQxMUVDNjQzODAwNDEwODY3IC8qIFdlYktpdFdlaWdodFdhdGNoZXIxMDAudHRm
IGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2NTEwQTc3
OTExRUM2NDM4MDA0MTA4NjcgLyogV2ViS2l0V2VpZ2h0V2F0Y2hlcjEwMC50dGYgKi87IH07CkBA
IC03OCw2ICs3OSw4IEBACiAKIC8qIEJlZ2luIFBCWEZpbGVSZWZlcmVuY2Ugc2VjdGlvbiAqLwog
CQkzNzhENDQyMjEzMzQ2RDAwMDA2QTc3N0IgLyogY29uZmlnLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IGNv
bmZpZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTdEQUJGRjEzN0I0REZDMDA3
QzU3RkIgLyogbGliV2ViQ29yZVRlc3RTdXBwb3J0LmEgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBhcmNoaXZlLmFyOyBwYXRoID0gbGliV2ViQ29yZVRl
c3RTdXBwb3J0LmE7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CisJCTQxN0RB
QzAxMTM3QjRFMUMwMDdDNTdGQiAvKiBXZWJDb3JlVGVzdFN1cHBvcnQuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gV2ViQ29yZVRlc3RTdXBwb3J0Lmg7IHBhdGggPSBXZWJDb3Jl
VGVzdFN1cHBvcnQvV2ViQ29yZVRlc3RTdXBwb3J0Lmg7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9E
VUNUU19ESVI7IH07CiAJCTY1MTBBNzc3MTFFQzY0MzgwMDQxMDg2NyAvKiBBSEVNX19fXy5UVEYg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBmaWxlOyBu
YW1lID0gIkFIRU1fX19fLlRURiI7IHBhdGggPSAiZm9udHMvQUhFTV9fX18uVFRGIjsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNjUxMEE3NzgxMUVDNjQzODAwNDEwODY3IC8qIENvbG9y
Qml0cy50dGYgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBmaWxlOyBuYW1lID0gQ29sb3JCaXRzLnR0ZjsgcGF0aCA9IGZvbnRzL0NvbG9yQml0cy50dGY7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTY1MTBBNzc5MTFFQzY0MzgwMDQxMDg2NyAv
KiBXZWJLaXRXZWlnaHRXYXRjaGVyMTAwLnR0ZiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IGZpbGU7IG5hbWUgPSBXZWJLaXRXZWlnaHRXYXRjaGVyMTAw
LnR0ZjsgcGF0aCA9IGZvbnRzL1dlYktpdFdlaWdodFdhdGNoZXIxMDAudHRmOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtMTU5LDYgKzE2Miw3IEBACiAJCQkJQkMyNTE5M0UxMUQxNUQ4
QjAwMkVCQzAxIC8qIENvY29hLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAogCQkJCUJDMjUx
OTNGMTFEMTVEOEIwMDJFQkMwMSAvKiBXZWJLaXQyLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICov
LAogCQkJCUJDMjUxOTQwMTFEMTVEOEIwMDJFQkMwMSAvKiBKYXZhU2NyaXB0Q29yZS5mcmFtZXdv
cmsgaW4gRnJhbWV3b3JrcyAqLywKKwkJCQk0MTdEQUMyNTEzN0I1MEU1MDA3QzU3RkIgLyogbGli
V2ViQ29yZVRlc3RTdXBwb3J0LmEgaW4gRnJhbWV3b3JrcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5
Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTE3Niw2ICsxODAsNyBA
QAogCQkJCTA4RkI3NzlERkU4NDE1NURDMDJBQUMwNyAvKiBFeHRlcm5hbCBGcmFtZXdvcmtzIGFu
ZCBMaWJyYXJpZXMgKi8sCiAJCQkJQkMyNTE5NDQxMUQxNURCRTAwMkVCQzAxIC8qIFJlc291cmNl
cyAqLywKIAkJCQkxQUI2NzRBREZFOUQ1NEI1MTFDQTJDQkIgLyogUHJvZHVjdHMgKi8sCisJCQkJ
NDE3REFCRkQxMzdCNEQ5RDAwN0M1N0ZCIC8qIFdlYkNvcmVUZXN0U3VwcG9ydCAqLywKIAkJCSk7
CiAJCQluYW1lID0gV2ViS2l0VGVzdFJ1bm5lcjsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
CkBAIC0yMTQsNiArMjE5LDE1IEBACiAJCQluYW1lID0gUHJvZHVjdHM7CiAJCQlzb3VyY2VUcmVl
ID0gIjxncm91cD4iOwogCQl9OworCQk0MTdEQUJGRDEzN0I0RDlEMDA3QzU3RkIgLyogV2ViQ29y
ZVRlc3RTdXBwb3J0ICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgK
KwkJCQk0MTdEQUMwMTEzN0I0RTFDMDA3QzU3RkIgLyogV2ViQ29yZVRlc3RTdXBwb3J0LmggKi8s
CisJCQkJNDE3REFCRkYxMzdCNERGQzAwN0M1N0ZCIC8qIGxpYldlYkNvcmVUZXN0U3VwcG9ydC5h
ICovLAorCQkJKTsKKwkJCW5hbWUgPSBXZWJDb3JlVGVzdFN1cHBvcnQ7CisJCQlzb3VyY2VUcmVl
ID0gIjxncm91cD4iOworCQl9OwogCQk2NUVCODU5RTExRUM2N0NDMDAzNEQzMDAgLyogbWFjICov
ID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93830</attachid>
            <date>2011-05-17 15:18:44 -0700</date>
            <delta_ts>2011-05-18 14:57:34 -0700</delta_ts>
            <desc>WIP: Chromium and WebKit1/mac work.</desc>
            <filename>bug-60313-20110517151843.patch</filename>
            <type>text/plain</type>
            <size>54003</size>
            <attacher name="Dimitri Glazkov (Google)">dglazkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODY1NzgKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL1dpbmRvdy9zY3JpcHQtdGVzdHMvd2luZG93LXByb3BlcnR5LWRlc2NyaXB0b3JzLmpzIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3NjcmlwdC10ZXN0cy93aW5kb3ctcHJvcGVydHkt
ZGVzY3JpcHRvcnMuanMKaW5kZXggOWVjMzI0YmQwMWQ1NTJlYzdhNmJkNTgzZTk4ODY2M2QxYTk4
MmQxNy4uMjMzOGZjMGU2YjBkMzMwYWY1NjUzODNkZjZiYTJkNTY5MGEzZTc2MyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3NjcmlwdC10ZXN0cy93aW5kb3ctcHJvcGVy
dHktZGVzY3JpcHRvcnMuanMKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3Njcmlw
dC10ZXN0cy93aW5kb3ctcHJvcGVydHktZGVzY3JpcHRvcnMuanMKQEAgLTE4LDYgKzE4LDcgQEAg
dmFyIF9fc2tpcF9fID0gewogICAgICJvYmpDUGx1Z2luRnVuY3Rpb24iIDogMSwKICAgICAicGxh
aW5UZXh0IiA6IDEsCiAgICAgInRleHRJbnB1dENvbnRyb2xsZXIiIDogMSwKKyAgICAiaW50ZXJu
YWxzIiA6IDEsCiAgICAgLy8gSWdub3JlIHRoZXNlIHByb3BlcnRpZXMgYmVjYXVzZSB0aGV5IGRv
IG5vdCBleGlzdCBpbiBhbGwgaW1wbGVtZW50YXRpb25zLiBUaGV5IHdpbGwgYmUgdGVzdGVkIHNl
cGFyYXRlbHkKICAgICAiV2ViR0xSZW5kZXJpbmdDb250ZXh0IiA6IDEsCiAgICAgIldlYkdMQWN0
aXZlSW5mbyIgOiAxLApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dp
bmRvdy1wcm9wZXJ0aWVzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93
LXByb3BlcnRpZXMuaHRtbAppbmRleCAxNDhlMzk4MGUxZjMyZjFiZDI5YmRlMjc4NWFlODY3OGY2
YmYxMzI4Li44ZDhjYTMwN2U3NzM4YTQ5MzUyYzA2YjYzZWZlNjBjNzVlZGNkOGU0IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2luZG93LXByb3BlcnRpZXMuaHRtbApA
QCAtNjAsNiArNjAsNyBAQCB2YXIgX19za2lwX18gPSB7CiAgICAgIndpbmRvdy5vYmpDUGx1Z2lu
RnVuY3Rpb24iIDogMSwKICAgICAid2luZG93LnBsYWluVGV4dCIgOiAxLAogICAgICJ3aW5kb3cu
dGV4dElucHV0Q29udHJvbGxlciIgOiAxLAorICAgICJ3aW5kb3cuaW50ZXJuYWxzIiA6IDEsCiAg
ICAgLy8gSWdub3JlIHRoZXNlIHByb3BlcnRpZXMgYmVjYXVzZSB0aGV5IGRvIG5vdCBleGlzdCBp
biBhbGwgaW1wbGVtZW50YXRpb25zLiBUaGV5IHdpbGwgYmUgdGVzdGVkIHNlcGFyYXRlbHkKICAg
ICAid2luZG93LldlYkdMUmVuZGVyaW5nQ29udGV4dCIgOiAxLCAKICAgICAid2luZG93LldlYkdM
QWN0aXZlSW5mbyIgOiAxLCAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3Njcmlw
dC10ZXN0cy9wcm90b3R5cGUtaW5oZXJpdGFuY2UtMi5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NjcmlwdC10ZXN0cy9wcm90b3R5cGUtaW5oZXJpdGFuY2UtMi5qcwppbmRleCBjMmZhMmI5Nzc1
ZDliZjQ3NTdiNGJkMjYyYWVhYWUwMGI4MzdlZDgzLi5jNTkwYzFkMzE1M2NjMTkzMzQxZmU1YzIy
MmRjMWFiZWE5NjAyNzdmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zY3JpcHQt
dGVzdHMvcHJvdG90eXBlLWluaGVyaXRhbmNlLTIuanMKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2NyaXB0LXRlc3RzL3Byb3RvdHlwZS1pbmhlcml0YW5jZS0yLmpzCkBAIC0xMiw2ICsxMiw3
IEBAIHZhciBza2lwcGVkUHJvcGVydGllcyA9IFsKICAgICAib2JqQ0NvbnRyb2xsZXIiLCAidGV4
dElucHV0Q29udHJvbGxlciIsICJuYXZpZ2F0aW9uQ29udHJvbGxlciIsCiAgICAgImV2ZW50U2Vu
ZGVyIiwgIm9iakNQbHVnaW4iLCAib2JqQ1BsdWdpbkZ1bmN0aW9uIiwKICAgICAiYXBwbGVTY3Jp
cHRDb250cm9sbGVyIiwgInBsYWluVGV4dCIsICJhY2Nlc3NpYmlsaXR5Q29udHJvbGxlciIsCisg
ICAgImludGVybmFscyIsCiAgICAgLy8gU2tpcCBvdXIgdGVzdCBwcm9wZXJ0eQogICAgICJpc0lu
bmVyIiwKICAgICAvLyBJZ25vcmUgZm9vQ29uc3RydWN0b3IucHJvdG90eXBlLCBmb29JbnN0YW5j
ZS5fX3Byb3RvX18gaXMgbW9yZSBsaWtlbHkgdG8gZmFpbC4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NjcmlwdC10ZXN0cy9wcm90b3R5cGUtaW5oZXJpdGFuY2UuanMgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zY3JpcHQtdGVzdHMvcHJvdG90eXBlLWluaGVyaXRhbmNlLmpzCmlu
ZGV4IDMwYjFlYzZkMzM4ZjZmNzA4Y2ExOTQ4NjVhZTlkZjdkODlkODk5ODcuLjA2NjdlNDRhYzA5
MDBlNjA1ZWM3NDgzODRlNThkZWYyNTEwOWRjYTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NjcmlwdC10ZXN0cy9wcm90b3R5cGUtaW5oZXJpdGFuY2UuanMKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2NyaXB0LXRlc3RzL3Byb3RvdHlwZS1pbmhlcml0YW5jZS5qcwpAQCAt
MTIsNiArMTIsNyBAQCB2YXIgc2tpcHBlZFByb3BlcnRpZXMgPSBbCiAgICAgIm9iakNDb250cm9s
bGVyIiwgInRleHRJbnB1dENvbnRyb2xsZXIiLCAibmF2aWdhdGlvbkNvbnRyb2xsZXIiLAogICAg
ICJldmVudFNlbmRlciIsICJvYmpDUGx1Z2luIiwgIm9iakNQbHVnaW5GdW5jdGlvbiIsCiAgICAg
ImFwcGxlU2NyaXB0Q29udHJvbGxlciIsICJwbGFpblRleHQiLCAiYWNjZXNzaWJpbGl0eUNvbnRy
b2xsZXIiLAorICAgICJpbnRlcm5hbHMiLAogICAgIC8vIElnbm9yZSB0aGVzZSBwcm9wZXJ0aWVz
IGJlY2F1c2UgdGhleSBkbyBub3QgZXhpc3QgaW4gYWxsIGltcGxlbWVudGF0aW9ucy4gVGhleSB3
aWxsIGJlIHRlc3RlZCBzZXBhcmF0ZWx5CiAgICAgIndlYmtpdE5vdGlmaWNhdGlvbnMiLAogICAg
ICJ3ZWJraXRBdWRpb1Bhbm5lck5vZGUiLApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9o
YXJuZXNzL2ludGVybmFscy1vYmplY3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9o
YXJuZXNzL2ludGVybmFscy1vYmplY3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVkOWFhYWY0
ODRiMjVjNTFkY2ZlZGQwMjU5NjA2OWI5M2NhZjNjMGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2hhcm5lc3MvaW50ZXJuYWxzLW9iamVjdC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSBAQAord2luZG93LmludGVybmFscyBvYmplY3Qgc2hvdWxkIGJlIHZpc2libGUgd2hlbiBy
dW5uaW5nIGluIERSVDogUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9oYXJuZXNz
L2ludGVybmFscy1vYmplY3QuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvaGFybmVzcy9pbnRlcm5h
bHMtb2JqZWN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmJlZTdiZjRmZjE3YzJiYzAyZDMwMjRlNzcyYzg1
ZTVmNmQxMzJhNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvaGFybmVzcy9p
bnRlcm5hbHMtb2JqZWN0Lmh0bWwKQEAgLTAsMCArMSwyMyBAQAorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQ+CisKK2lmIChsYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci5kdW1wQXNUZXh0KCk7CisKK2Z1bmN0aW9uIHJ1blRlc3QoKQoreworICAgIHZhciBsb2cg
PSBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2Rpdicp
KTsKKyAgICBsb2cud3JpdGUgPSBmdW5jdGlvbihtc2csIHN1Y2Nlc3MpCisgICAgeworICAgICAg
ICB0aGlzLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpKS50ZXh0Q29u
dGVudCA9IG1zZyArICc6ICcgKyAoc3VjY2VzcyA/ICdQQVNTJyA6ICdGQUlMJyk7CisgICAgfQor
CisgICAgbG9nLndyaXRlKCd3aW5kb3cuaW50ZXJuYWxzIG9iamVjdCBzaG91bGQgYmUgdmlzaWJs
ZSB3aGVuIHJ1bm5pbmcgaW4gRFJUJywgISF3aW5kb3cuaW50ZXJuYWxzKTsKK30KKworPC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGQwNzhiNTlkNjBlMjMy
ZjJkOGE0ODRhOGVmNzFlNTBhZTVmZmQ1MmEuLmQ0NjQ2NmUyMDJlNWYxNzdiNGQzMTY5NTc5MGRj
ZGZlMmI0Njk1ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMS0wNS0wNSAgRGlt
aXRyaSBHbGF6a292ICA8ZGdsYXprb3ZAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBidWlsZCBsb2dpc3RpY3MgYW5kIHBs
dW1iaW5nIGZvciB3aW5kb3cuaW50ZXJuYWxzIG9iamVjdC4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYwMzEzCisKKyAgICAgICAgTm8gbmV3IHRlc3Rz
LiAoT09QUyEpCisKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIFdl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAxMS0wNS0xNiAgWXVyeSBTZW1p
a2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLiBXaW5k
b3dzIGJ1aWxkIGZpeC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGM0ZjFiYzI4
MGU0OGMyZjBlY2UxZWZkMzVkYjJiODJjY2I1Y2JjMDkuLjdmZGUwOTAwMmVjMzMwZTAzYjdhMzFj
Zjc1NmQ5MDAzNDZkOTExYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtNDYs
NiArNDYsNyBAQCBWUEFUSCA9IFwKICAgICAkKFdlYkNvcmUpL3dlYmF1ZGlvIFwKICAgICAkKFdl
YkNvcmUpL3dvcmtlcnMgXAogICAgICQoV2ViQ29yZSkvc3ZnIFwKKyAgICAkKFdlYkNvcmUpL3Rl
c3RpbmcgXAogICAgICQoV2ViQ29yZSkvd2Vic29ja2V0cyBcCiAjCiAKQEAgLTI4Nyw2ICsyODgs
NyBAQCBET01fQ0xBU1NFUyA9IFwKICAgICBJbWFnZURhdGEgXAogICAgIEluamVjdGVkU2NyaXB0
SG9zdCBcCiAgICAgSW5zcGVjdG9yRnJvbnRlbmRIb3N0IFwKKyAgICBJbnRlcm5hbHMgXAogICAg
IEtleWJvYXJkRXZlbnQgXAogICAgIExvY2F0aW9uIFwKICAgICBNZWRpYUVycm9yIFwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAKaW5kZXggNzBiODBkMWExYmUyZTJmOTQyYzEx
Mzk4MzYyNmFkMzBjZDg1ODkxNi4uYzkxNWUwODliNWUwZTkwZGJjMzNjMWNjOGQzMGQwOTNjMzYx
YmVkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAK
KysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAKQEAgLTQ0NCw2ICs0
NDQsNyBAQAogCiAgICAgICAgICMgaWRsIHJ1bGVzCiAgICAgICAgICc8QChiaW5kaW5nc19pZGxf
ZmlsZXMpJywKKyAgICAgICAgJzxAKHdlYmNvcmVfdGVzdF9zdXBwb3J0X2lkbF9maWxlcyknLAog
ICAgICAgXSwKICAgICAgICdhY3Rpb25zJzogWwogICAgICAgICAjIEFjdGlvbnMgdG8gYnVpbGQg
ZGVyaXZlZCBzb3VyY2VzLgpAQCAtODIwLDYgKzgyMSw3IEBACiAgICAgICAgICAgICAgICctLWlu
Y2x1ZGUnLCAnLi4vcGx1Z2lucycsCiAgICAgICAgICAgICAgICctLWluY2x1ZGUnLCAnLi4vc3Rv
cmFnZScsCiAgICAgICAgICAgICAgICctLWluY2x1ZGUnLCAnLi4vc3ZnJywKKyAgICAgICAgICAg
ICAgJy0taW5jbHVkZScsICcuLi90ZXN0aW5nJywKICAgICAgICAgICAgICAgJy0taW5jbHVkZScs
ICcuLi93ZWJhdWRpbycsCiAgICAgICAgICAgICAgICctLWluY2x1ZGUnLCAnLi4vd2Vic29ja2V0
cycsCiAgICAgICAgICAgICAgICctLWluY2x1ZGUnLCAnLi4vd29ya2VycycsCkBAIC0xNzAyLDUg
KzE3MDQsMzAgQEAKICAgICAgICAgfV0sCiAgICAgICBdLAogICAgIH0sCisgICAgeworICAgICAg
J3RhcmdldF9uYW1lJzogJ3dlYmNvcmVfdGVzdF9zdXBwb3J0JywKKyAgICAgICd0eXBlJzogJ3N0
YXRpY19saWJyYXJ5JywKKyAgICAgICdkZXBlbmRlbmNpZXMnOiBbCisgICAgICAgICd3ZWJjb3Jl
JywKKyAgICAgIF0sCisgICAgICAnaW5jbHVkZV9kaXJzJzogWworICAgICAgICAnPChJTlRFUk1F
RElBVEVfRElSKScsCisgICAgICAgICc8KFNIQVJFRF9JTlRFUk1FRElBVEVfRElSKS93ZWJjb3Jl
JywKKyAgICAgICAgJzwoU0hBUkVEX0lOVEVSTUVESUFURV9ESVIpL3dlYmtpdCcsCisgICAgICAg
ICc8KFNIQVJFRF9JTlRFUk1FRElBVEVfRElSKS93ZWJraXQvYmluZGluZ3MnLAorICAgICAgICAn
PEAod2ViY29yZV9pbmNsdWRlX2RpcnMpJywKKyAgICAgICAgJy4uL3Rlc3RpbmcnLAorICAgICAg
ICAnLi4vdGVzdGluZy92OCcsCisgICAgICBdLAorICAgICAgJ3NvdXJjZXMnOiBbCisgICAgICAg
ICc8QCh3ZWJjb3JlX3Rlc3Rfc3VwcG9ydF9maWxlcyknLAorICAgICAgICAjIEZJWE1FOiBUSEVT
RSBTSE9VTEQgTk9UIEJFIElOIEhFUkUhISEhCisgICAgICAgICc8KFNIQVJFRF9JTlRFUk1FRElB
VEVfRElSKS93ZWJjb3JlL2JpbmRpbmdzL1Y4SW50ZXJuYWxzLmNwcCcsCisgICAgICAgICc8KFNI
QVJFRF9JTlRFUk1FRElBVEVfRElSKS93ZWJraXQvYmluZGluZ3MvVjhJbnRlcm5hbHMuaCcsCisg
ICAgICBdLAorICAgICAgJ3NvdXJjZXMvJzogWworICAgICAgICBbJ2V4Y2x1ZGUnLCAndGVzdGlu
Zy9qcyddLAorICAgICAgXSwKKyAgICB9LAogICBdLCAgIyB0YXJnZXRzCiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5
cGkKaW5kZXggM2IwYmQyZTM0NDM3NTRmNDE0OGRlMTBmNzI4ZmY3YTRkOWRiZTIwYS4uMGE4MWRm
MzRmYzM3Yzg4NDY3YzIzZTY2NDliMTExNTU0YjQxNjEwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAt
NjA2Niw2ICs2MDY2LDE3IEBACiAgICAgICAgICAgICAneG1sL1hTTFRVbmljb2RlU29ydC5jcHAn
LAogICAgICAgICAgICAgJ3htbC9YU0xUVW5pY29kZVNvcnQuaCcsCiAgICAgICAgIF0sCisgICAg
ICAgICd3ZWJjb3JlX3Rlc3Rfc3VwcG9ydF9pZGxfZmlsZXMnOiBbCisgICAgICAgICAgJ3Rlc3Rp
bmcvSW50ZXJuYWxzLmlkbCcsCisgICAgICAgIF0sCisgICAgICAgICd3ZWJjb3JlX3Rlc3Rfc3Vw
cG9ydF9maWxlcyc6IFsKKyAgICAgICAgICAgICd0ZXN0aW5nL3Y4L1dlYkNvcmVUZXN0U3VwcG9y
dC5jcHAnLAorICAgICAgICAgICAgJ3Rlc3RpbmcvdjgvV2ViQ29yZVRlc3RTdXBwb3J0LmgnLAor
ICAgICAgICAgICAgJ3Rlc3RpbmcvanMvV2ViQ29yZVRlc3RTdXBwb3J0LmNwcCcsCisgICAgICAg
ICAgICAndGVzdGluZy9qcy9XZWJDb3JlVGVzdFN1cHBvcnQuaCcsCisgICAgICAgICAgICAndGVz
dGluZy9JbnRlcm5hbHMuY3BwJywKKyAgICAgICAgICAgICd0ZXN0aW5nL0ludGVybmFscy5oJywK
KyAgICAgICAgXSwKICAgICAgICAgJ3dlYmNvcmVfcmVzb3VyY2VfZmlsZXMnOiBbCiAgICAgICAg
ICAgICAnRW5nbGlzaC5scHJvai9Mb2NhbGl6YWJsZS5zdHJpbmdzJywKICAgICAgICAgICAgICdF
bmdsaXNoLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDA0YWE4ZTM3NTY1MDQzODgx
NzAwYWE5NTNiOGMzMzBiNjZjYTkzMDYuLjJhOGI2MDUzZThlNzg1NzNmNzBhOGVhOTkwNzc0NWRk
ZmY2ZTI5ZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKQEAgLTg1Miw2ICs4NTIsMTIgQEAKIAkJNDE2RTc1Q0MwRURGOTBDNzAwMzYw
RTFEIC8qIFNjcmlwdENhbGxGcmFtZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0MTZFNzVDQTBFREY5MEM3MDAzNjBFMUQgLyogU2NyaXB0Q2FsbEZy
YW1lLmNwcCAqLzsgfTsKIAkJNDE3MjUzQUExMzU0QkJCQzAwMzYwRjJBIC8qIE1lZGlhQ29udHJv
bEVsZW1lbnRzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQxNzI1M0E4MTM1NEJCQkMwMDM2MEYyQSAvKiBNZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAg
Ki87IH07CiAJCTQxNzI1M0FCMTM1NEJCQkMwMDM2MEYyQSAvKiBNZWRpYUNvbnRyb2xFbGVtZW50
cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE3MjUz
QTkxMzU0QkJCQzAwMzYwRjJBIC8qIE1lZGlhQ29udHJvbEVsZW1lbnRzLmggKi87IH07CisJCTQx
N0RBNkQ5MTM3MzRFNkUwMDdDNTdGQiAvKiBJbnRlcm5hbHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE3REE0Q0YxMzczNDMyNjAwN0M1N0ZCIC8q
IEludGVybmFscy5jcHAgKi87IH07CisJCTQxN0RBNkRBMTM3MzRFNkUwMDdDNTdGQiAvKiBJbnRl
cm5hbHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQx
N0RBNENFMTM3MzQzMjYwMDdDNTdGQiAvKiBJbnRlcm5hbHMuaCAqLzsgfTsKKwkJNDE3REE3MUQx
MzczNURGQTAwN0M1N0ZCIC8qIEpTSW50ZXJuYWxzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxN0RBNzFCMTM3MzVERkEwMDdDNTdGQiAvKiBKU0lu
dGVybmFscy5jcHAgKi87IH07CisJCTQxN0RBNzFFMTM3MzVERkEwMDdDNTdGQiAvKiBKU0ludGVy
bmFscy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE3
REE3MUMxMzczNURGQTAwN0M1N0ZCIC8qIEpTSW50ZXJuYWxzLmggKi87IH07CisJCTQxODE1QzFF
MTM4MzE5ODMwMDU3QUFBNCAvKiBXZWJDb3JlVGVzdFN1cHBvcnQuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE4MTVDMUMxMzgzMTk4MzAwNTdBQUE0
IC8qIFdlYkNvcmVUZXN0U3VwcG9ydC5jcHAgKi87IH07CisJCTQxODE1QzFGMTM4MzE5ODMwMDU3
QUFBNCAvKiBXZWJDb3JlVGVzdFN1cHBvcnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQxODE1QzFEMTM4MzE5ODMwMDU3QUFBNCAvKiBXZWJDb3JlVGVz
dFN1cHBvcnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQk0MTg4NUI5MzExQjZGREE2MDAzMzgzQkIgLyogRm9ybVN1Ym1pc3Npb24uaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxODg1QjkxMTFCNkZEQTYw
MDMzODNCQiAvKiBGb3JtU3VibWlzc2lvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTQxODg1Qjk0MTFCNkZEQTYwMDMzODNCQiAvKiBGb3JtU3Vi
bWlzc2lvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0MTg4NUI5MjExQjZGREE2MDAzMzgzQkIgLyogRm9ybVN1Ym1pc3Npb24uY3BwICovOyB9Owog
CQk0MThBMDZEMDEzM0MwNEQ1MDBDRDM3OUMgLyogRXZlbnREaXNwYXRjaGVyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MThBMDZDRTEzM0MwNEQ1MDBD
RDM3OUMgLyogRXZlbnREaXNwYXRjaGVyLmggKi87IH07CkBAIC01OTM5LDYgKzU5NDUsMTMgQEAK
IC8qIEVuZCBQQlhCdWlsZEZpbGUgc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhDb250YWluZXJJ
dGVtUHJveHkgc2VjdGlvbiAqLworCQk0MTdEQTZENDEzNzM0RTBEMDA3QzU3RkIgLyogUEJYQ29u
dGFpbmVySXRlbVByb3h5ICovID0geworCQkJaXNhID0gUEJYQ29udGFpbmVySXRlbVByb3h5Owor
CQkJY29udGFpbmVyUG9ydGFsID0gMDg2N0Q2OTBGRTg0MDI4RkMwMkFBQzA3IC8qIFByb2plY3Qg
b2JqZWN0ICovOworCQkJcHJveHlUeXBlID0gMTsKKwkJCXJlbW90ZUdsb2JhbElEU3RyaW5nID0g
OTNGMTk4QTUwODI0NUU1OTAwMUU5QUJDOworCQkJcmVtb3RlSW5mbyA9IFdlYkNvcmU7CisJCX07
CiAJCTVEODdCQjZBMTFFM0VCRDIwMDcwMkI2RiAvKiBQQlhDb250YWluZXJJdGVtUHJveHkgKi8g
PSB7CiAJCQlpc2EgPSBQQlhDb250YWluZXJJdGVtUHJveHk7CiAJCQljb250YWluZXJQb3J0YWwg
PSAwODY3RDY5MEZFODQwMjhGQzAyQUFDMDcgLyogUHJvamVjdCBvYmplY3QgKi87CkBAIC03MzA1
LDYgKzczMTgsMTQgQEAKIAkJNDE2RTc1Q0EwRURGOTBDNzAwMzYwRTFEIC8qIFNjcmlwdENhbGxG
cmFtZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY3JpcHRDYWxs
RnJhbWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTcyNTNBODEzNTRCQkJD
MDAzNjBGMkEgLyogTWVkaWFDb250cm9sRWxlbWVudHMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gTWVkaWFDb250cm9sRWxlbWVudHMuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk0MTcyNTNBOTEzNTRCQkJDMDAzNjBGMkEgLyogTWVkaWFDb250cm9s
RWxlbWVudHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFDb250cm9s
RWxlbWVudHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE3REE0Q0UxMzczNDMy
NjAwN0M1N0ZCIC8qIEludGVybmFscy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBJbnRlcm5hbHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE3REE0Q0YxMzcz
NDMyNjAwN0M1N0ZCIC8qIEludGVybmFscy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBJbnRlcm5hbHMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0
MTdEQTZEMDEzNzM0RTAyMDA3QzU3RkIgLyogbGliV2ViQ29yZVRlc3RTdXBwb3J0LmEgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZXhwbGljaXRGaWxlVHlwZSA9IGFyY2hpdmUuYXI7IGlu
Y2x1ZGVJbkluZGV4ID0gMDsgcGF0aCA9IGxpYldlYkNvcmVUZXN0U3VwcG9ydC5hOyBzb3VyY2VU
cmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OworCQk0MTdEQTcxQjEzNzM1REZBMDA3QzU3RkIg
LyogSlNJbnRlcm5hbHMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
SlNJbnRlcm5hbHMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTdEQTcxQzEz
NzM1REZBMDA3QzU3RkIgLyogSlNJbnRlcm5hbHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gSlNJbnRlcm5hbHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE4
MTNGOTExMzgxOEFENjAwNTdBQUE0IC8qIEludGVybmFscy5pZGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBw
YXRoID0gSW50ZXJuYWxzLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE4MTVD
MUMxMzgzMTk4MzAwNTdBQUE0IC8qIFdlYkNvcmVUZXN0U3VwcG9ydC5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJDb3JlVGVzdFN1cHBvcnQuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk0MTgxNUMxRDEzODMxOTgzMDA1N0FBQTQgLyogV2ViQ29y
ZVRlc3RTdXBwb3J0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkNvcmVU
ZXN0U3VwcG9ydC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTg4NUI5MTExQjZG
REE2MDAzMzgzQkIgLyogRm9ybVN1Ym1pc3Npb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gRm9ybVN1Ym1pc3Npb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NDE4ODVCOTIxMUI2RkRBNjAwMzM4M0JCIC8qIEZvcm1TdWJtaXNzaW9uLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZvcm1TdWJtaXNzaW9uLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE4QTA2Q0UxMzNDMDRENTAwQ0QzNzlDIC8qIEV2ZW50RGlz
cGF0Y2hlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBFdmVudERpc3BhdGNo
ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEyNDcxLDYgKzEyNDkyLDEzIEBA
CiAvKiBFbmQgUEJYRmlsZVJlZmVyZW5jZSBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFBCWEZyYW1l
d29ya3NCdWlsZFBoYXNlIHNlY3Rpb24gKi8KKwkJNDE3REE2Q0UxMzczNEUwMjAwN0M1N0ZCIC8q
IEZyYW1ld29ya3MgKi8gPSB7CisJCQlpc2EgPSBQQlhGcmFtZXdvcmtzQnVpbGRQaGFzZTsKKwkJ
CWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CisJCQlmaWxlcyA9ICgKKwkJCSk7CisJCQly
dW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKKwkJfTsKIAkJNUQ4N0JCNEQx
MUUzRUFFQjAwNzAyQjZGIC8qIEZyYW1ld29ya3MgKi8gPSB7CiAJCQlpc2EgPSBQQlhGcmFtZXdv
cmtzQnVpbGRQaGFzZTsKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CkBAIC0xMjUw
OCw2ICsxMjUzNiw3IEBACiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAogCQkJ
CTVEODdCQjRGMTFFM0VBRUIwMDcwMkI2RiAvKiBXZWJDb3JlRXhwb3J0RmlsZUdlbmVyYXRvciAq
LywKKwkJCQk0MTdEQTZEMDEzNzM0RTAyMDA3QzU3RkIgLyogbGliV2ViQ29yZVRlc3RTdXBwb3J0
LmEgKi8sCiAJCQkJOTNGMTlCMUEwODI0NUU1QTAwMUU5QUJDIC8qIFdlYkNvcmUuZnJhbWV3b3Jr
ICovLAogCQkJKTsKIAkJCW5hbWUgPSBQcm9kdWN0czsKQEAgLTEyNTc5LDYgKzEyNjA4LDcgQEAK
IAkJCQlGNTIzRDJGMzAyREU0NDNCMDE4NjM1Q0EgLyogcmVuZGVyaW5nICovLAogCQkJCTFBRTgy
RUM5MENBQUUxNzcwMDIyMzdBRSAvKiBzdG9yYWdlICovLAogCQkJCUIyMjI3N0NBMEQwMEJGMUUw
MDcxQjc4MiAvKiBzdmcgKi8sCisJCQkJNDE3REE0Q0QxMzczNDIwNDAwN0M1N0ZCIC8qIHRlc3Rp
bmcgKi8sCiAJCQkJRkQzMTVGQTIxMkIwMjVCMTAwQzFBMzU5IC8qIHdlYmF1ZGlvICovLAogCQkJ
CTUxOEEzNEJEMTAyNkM4MzEwMDFCNjg5NiAvKiB3ZWJzb2NrZXRzICovLAogCQkJCTJFNDM0NjMx
MEY1NDZBNjgwMEIwRjFCQSAvKiB3b3JrZXJzICovLApAQCAtMTI3ODQsNiArMTI4MTQsNyBAQAog
CQkJCUJDOTg1NDQ2MENEM0RBNUYwMDA2OUJDMSAvKiBSYW5nZXMgKi8sCiAJCQkJQTgzQjc5MTUw
Q0NCMDA3ODAwMEIwODI1IC8qIFN0b3JhZ2UgKi8sCiAJCQkJQTgzQjc5MEEwQ0NBRkY0NzAwMEIw
ODI1IC8qIFNWRyAqLywKKwkJCQk0MTdEQTcxMjEzNzM1RDkwMDA3QzU3RkIgLyogVGVzdGluZyAq
LywKIAkJCQlFMUM4QkU0QjBFOEJEMEQxMDA2NENCN0QgLyogVGhyZWFkcyAqLywKIAkJCQlCQzk4
NTQ1MzBDRDNEQThGMDAwNjlCQzEgLyogVHJhdmVyc2FsICovLAogCQkJCUZEQTE1RTdCMTJCMDNF
MDQwMDNBNTgzQSAvKiBXZWJBdWRpbyAqLywKQEAgLTEzNDQwLDYgKzEzNDcxLDM1IEBACiAJCQlw
YXRoID0gc2hhZG93OwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKKwkJNDE3REE0
Q0QxMzczNDIwNDAwN0M1N0ZCIC8qIHRlc3RpbmcgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsK
KwkJCWNoaWxkcmVuID0gKAorCQkJCTQxODE1QzFCMTM4MzE5NjMwMDU3QUFBNCAvKiBqcyAqLywK
KwkJCQk0MTdEQTRDRjEzNzM0MzI2MDA3QzU3RkIgLyogSW50ZXJuYWxzLmNwcCAqLywKKwkJCQk0
MTdEQTRDRTEzNzM0MzI2MDA3QzU3RkIgLyogSW50ZXJuYWxzLmggKi8sCisJCQkJNDE4MTNGOTEx
MzgxOEFENjAwNTdBQUE0IC8qIEludGVybmFscy5pZGwgKi8sCisJCQkpOworCQkJcGF0aCA9IHRl
c3Rpbmc7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OworCQk0MTdEQTcxMjEzNzM1
RDkwMDA3QzU3RkIgLyogVGVzdGluZyAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hp
bGRyZW4gPSAoCisJCQkJNDE3REE3MUIxMzczNURGQTAwN0M1N0ZCIC8qIEpTSW50ZXJuYWxzLmNw
cCAqLywKKwkJCQk0MTdEQTcxQzEzNzM1REZBMDA3QzU3RkIgLyogSlNJbnRlcm5hbHMuaCAqLywK
KwkJCSk7CisJCQluYW1lID0gVGVzdGluZzsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJ
CX07CisJCTQxODE1QzFCMTM4MzE5NjMwMDU3QUFBNCAvKiBqcyAqLyA9IHsKKwkJCWlzYSA9IFBC
WEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJNDE4MTVDMUMxMzgzMTk4MzAwNTdBQUE0IC8q
IFdlYkNvcmVUZXN0U3VwcG9ydC5jcHAgKi8sCisJCQkJNDE4MTVDMUQxMzgzMTk4MzAwNTdBQUE0
IC8qIFdlYkNvcmVUZXN0U3VwcG9ydC5oICovLAorCQkJKTsKKwkJCXBhdGggPSBqczsKKwkJCXNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCTQzOTA0NkMyMTJEQTI1Q0UwMEFGODBBMiAv
KiBtYXRobWwgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKApAQCAt
MTk2ODcsNiArMTk3NDcsMTYgQEAKIC8qIEVuZCBQQlhHcm91cCBzZWN0aW9uICovCiAKIC8qIEJl
Z2luIFBCWEhlYWRlcnNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KKwkJNDE3REE2Q0MxMzczNEUwMjAw
N0M1N0ZCIC8qIEhlYWRlcnMgKi8gPSB7CisJCQlpc2EgPSBQQlhIZWFkZXJzQnVpbGRQaGFzZTsK
KwkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CisJCQlmaWxlcyA9ICgKKwkJCQk0MTdE
QTZEQTEzNzM0RTZFMDA3QzU3RkIgLyogSW50ZXJuYWxzLmggaW4gSGVhZGVycyAqLywKKwkJCQk0
MTdEQTcxRTEzNzM1REZBMDA3QzU3RkIgLyogSlNJbnRlcm5hbHMuaCBpbiBIZWFkZXJzICovLAor
CQkJCTQxODE1QzFGMTM4MzE5ODMwMDU3QUFBNCAvKiBXZWJDb3JlVGVzdFN1cHBvcnQuaCBpbiBI
ZWFkZXJzICovLAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Npbmcg
PSAwOworCQl9OwogCQk5M0YxOThBNjA4MjQ1RTU5MDAxRTlBQkMgLyogSGVhZGVycyAqLyA9IHsK
IAkJCWlzYSA9IFBCWEhlYWRlcnNCdWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0
NzQ4MzY0NzsKQEAgLTIyNzc5LDYgKzIyODQ5LDI0IEBACiAvKiBFbmQgUEJYSGVhZGVyc0J1aWxk
UGhhc2Ugc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhOYXRpdmVUYXJnZXQgc2VjdGlvbiAqLwor
CQk0MTdEQTZDRjEzNzM0RTAyMDA3QzU3RkIgLyogV2ViQ29yZVRlc3RTdXBwb3J0ICovID0gewor
CQkJaXNhID0gUEJYTmF0aXZlVGFyZ2V0OworCQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IDQx
N0RBNkQ4MTM3MzRFNDcwMDdDNTdGQiAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBC
WE5hdGl2ZVRhcmdldCAiV2ViQ29yZVRlc3RTdXBwb3J0IiAqLzsKKwkJCWJ1aWxkUGhhc2VzID0g
KAorCQkJCTQxN0RBNkNDMTM3MzRFMDIwMDdDNTdGQiAvKiBIZWFkZXJzICovLAorCQkJCTQxN0RB
NkNEMTM3MzRFMDIwMDdDNTdGQiAvKiBTb3VyY2VzICovLAorCQkJCTQxN0RBNkNFMTM3MzRFMDIw
MDdDNTdGQiAvKiBGcmFtZXdvcmtzICovLAorCQkJKTsKKwkJCWJ1aWxkUnVsZXMgPSAoCisJCQkp
OworCQkJZGVwZW5kZW5jaWVzID0gKAorCQkJCTQxN0RBNkQ1MTM3MzRFMEQwMDdDNTdGQiAvKiBQ
QlhUYXJnZXREZXBlbmRlbmN5ICovLAorCQkJKTsKKwkJCW5hbWUgPSBXZWJDb3JlVGVzdFN1cHBv
cnQ7CisJCQlwcm9kdWN0TmFtZSA9IFdlYkNvcmVUZXN0U3VwcG9ydDsKKwkJCXByb2R1Y3RSZWZl
cmVuY2UgPSA0MTdEQTZEMDEzNzM0RTAyMDA3QzU3RkIgLyogbGliV2ViQ29yZVRlc3RTdXBwb3J0
LmEgKi87CisJCQlwcm9kdWN0VHlwZSA9ICJjb20uYXBwbGUucHJvZHVjdC10eXBlLmxpYnJhcnku
c3RhdGljIjsKKwkJfTsKIAkJNUQ4N0JCNEUxMUUzRUFFQjAwNzAyQjZGIC8qIFdlYkNvcmVFeHBv
cnRGaWxlR2VuZXJhdG9yICovID0gewogCQkJaXNhID0gUEJYTmF0aXZlVGFyZ2V0OwogCQkJYnVp
bGRDb25maWd1cmF0aW9uTGlzdCA9IDVEODdCQjU5MTFFM0VCMDcwMDcwMkI2RiAvKiBCdWlsZCBj
b25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWE5hdGl2ZVRhcmdldCAiV2ViQ29yZUV4cG9ydEZpbGVH
ZW5lcmF0b3IiICovOwpAQCAtMjI4NDgsNiArMjI5MzYsNyBAQAogCQkJcHJvamVjdERpclBhdGgg
PSAiIjsKIAkJCXByb2plY3RSb290ID0gIiI7CiAJCQl0YXJnZXRzID0gKAorCQkJCTQxN0RBNkNG
MTM3MzRFMDIwMDdDNTdGQiAvKiBXZWJDb3JlVGVzdFN1cHBvcnQgKi8sCiAJCQkJOTNGMTk4QTUw
ODI0NUU1OTAwMUU5QUJDIC8qIFdlYkNvcmUgKi8sCiAJCQkJREQwNDFGQkUwOUQ5RERCRTAwMTBB
RjJBIC8qIERlcml2ZWQgU291cmNlcyAqLywKIAkJCQk1RDg3QkI0RTExRTNFQUVCMDA3MDJCNkYg
LyogV2ViQ29yZUV4cG9ydEZpbGVHZW5lcmF0b3IgKi8sCkBAIC0yMzA2Miw2ICsyMzE1MSwxNiBA
QAogLyogRW5kIFBCWFNoZWxsU2NyaXB0QnVpbGRQaGFzZSBzZWN0aW9uICovCiAKIC8qIEJlZ2lu
IFBCWFNvdXJjZXNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KKwkJNDE3REE2Q0QxMzczNEUwMjAwN0M1
N0ZCIC8qIFNvdXJjZXMgKi8gPSB7CisJCQlpc2EgPSBQQlhTb3VyY2VzQnVpbGRQaGFzZTsKKwkJ
CWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CisJCQlmaWxlcyA9ICgKKwkJCQk0MTdEQTZE
OTEzNzM0RTZFMDA3QzU3RkIgLyogSW50ZXJuYWxzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTQx
N0RBNzFEMTM3MzVERkEwMDdDNTdGQiAvKiBKU0ludGVybmFscy5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQk0MTgxNUMxRTEzODMxOTgzMDA1N0FBQTQgLyogV2ViQ29yZVRlc3RTdXBwb3J0LmNwcCBp
biBTb3VyY2VzICovLAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Np
bmcgPSAwOworCQl9OwogCQk1RDg3QkI0QzExRTNFQUVCMDA3MDJCNkYgLyogU291cmNlcyAqLyA9
IHsKIAkJCWlzYSA9IFBCWFNvdXJjZXNCdWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25NYXNrID0g
MjE0NzQ4MzY0NzsKQEAgLTI1NDQ2LDYgKzI1NTQ1LDExIEBACiAvKiBFbmQgUEJYU291cmNlc0J1
aWxkUGhhc2Ugc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhUYXJnZXREZXBlbmRlbmN5IHNlY3Rp
b24gKi8KKwkJNDE3REE2RDUxMzczNEUwRDAwN0M1N0ZCIC8qIFBCWFRhcmdldERlcGVuZGVuY3kg
Ki8gPSB7CisJCQlpc2EgPSBQQlhUYXJnZXREZXBlbmRlbmN5OworCQkJdGFyZ2V0ID0gOTNGMTk4
QTUwODI0NUU1OTAwMUU5QUJDIC8qIFdlYkNvcmUgKi87CisJCQl0YXJnZXRQcm94eSA9IDQxN0RB
NkQ0MTM3MzRFMEQwMDdDNTdGQiAvKiBQQlhDb250YWluZXJJdGVtUHJveHkgKi87CisJCX07CiAJ
CTVEODdCQjZCMTFFM0VCRDIwMDcwMkI2RiAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovID0gewog
CQkJaXNhID0gUEJYVGFyZ2V0RGVwZW5kZW5jeTsKIAkJCXRhcmdldCA9IDVEODdCQjY0MTFFM0VC
QzEwMDcwMkI2RiAvKiBXZWJDb3JlRXhwb3J0RmlsZUdlbmVyYXRvciBHZW5lcmF0b3IgKi87CkBA
IC0yNTU0OSw2ICsyNTY1Myw1OSBAQAogCQkJfTsKIAkJCW5hbWUgPSBQcm9kdWN0aW9uOwogCQl9
OworCQk0MTdEQTZEMTEzNzM0RTAyMDA3QzU3RkIgLyogRGVidWcgKi8gPSB7CisJCQlpc2EgPSBY
Q0J1aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gMUNE
RDQ1RTUwQkE5Qzg0NjAwRjkwMTQ3IC8qIFdlYkNvcmUueGNjb25maWcgKi87CisJCQlidWlsZFNl
dHRpbmdzID0geworCQkJCUFMV0FZU19TRUFSQ0hfVVNFUl9QQVRIUyA9IE5POworCQkJCUNPUFlf
UEhBU0VfU1RSSVAgPSBOTzsKKwkJCQlFWFBPUlRFRF9TWU1CT0xTX0ZJTEUgPSAiIjsKKwkJCQlH
Q0NfRFlOQU1JQ19OT19QSUMgPSBOTzsKKwkJCQlHQ0NfRU5BQkxFX0ZJWF9BTkRfQ09OVElOVUUg
PSBZRVM7CisJCQkJR0NDX01PREVMX1RVTklORyA9IEc1OworCQkJCUdDQ19PUFRJTUlaQVRJT05f
TEVWRUwgPSAwOworCQkJCUlOU1RBTExfUEFUSCA9IC91c3IvbG9jYWwvbGliOworCQkJCU9USEVS
X0xERkxBR1MgPSAiIjsKKwkJCQlQUkVCSU5ESU5HID0gTk87CisJCQkJUFJJVkFURV9IRUFERVJT
X0ZPTERFUl9QQVRIID0gV2ViQ29yZVRlc3RTdXBwb3J0OworCQkJCVBST0RVQ1RfTkFNRSA9IFdl
YkNvcmVUZXN0U3VwcG9ydDsKKwkJCX07CisJCQluYW1lID0gRGVidWc7CisJCX07CisJCTQxN0RB
NkQyMTM3MzRFMDIwMDdDNTdGQiAvKiBSZWxlYXNlICovID0geworCQkJaXNhID0gWENCdWlsZENv
bmZpZ3VyYXRpb247CisJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IDFDREQ0NUU1MEJB
OUM4NDYwMEY5MDE0NyAvKiBXZWJDb3JlLnhjY29uZmlnICovOworCQkJYnVpbGRTZXR0aW5ncyA9
IHsKKwkJCQlBTFdBWVNfU0VBUkNIX1VTRVJfUEFUSFMgPSBOTzsKKwkJCQlDT1BZX1BIQVNFX1NU
UklQID0gWUVTOworCQkJCURFQlVHX0lORk9STUFUSU9OX0ZPUk1BVCA9ICJkd2FyZi13aXRoLWRz
eW0iOworCQkJCUVYUE9SVEVEX1NZTUJPTFNfRklMRSA9ICIiOworCQkJCUdDQ19FTkFCTEVfRklY
X0FORF9DT05USU5VRSA9IE5POworCQkJCUdDQ19NT0RFTF9UVU5JTkcgPSBHNTsKKwkJCQlJTlNU
QUxMX1BBVEggPSAvdXNyL2xvY2FsL2xpYjsKKwkJCQlPVEhFUl9MREZMQUdTID0gIiI7CisJCQkJ
UFJFQklORElORyA9IE5POworCQkJCVBSSVZBVEVfSEVBREVSU19GT0xERVJfUEFUSCA9IFdlYkNv
cmVUZXN0U3VwcG9ydDsKKwkJCQlQUk9EVUNUX05BTUUgPSBXZWJDb3JlVGVzdFN1cHBvcnQ7CisJ
CQl9OworCQkJbmFtZSA9IFJlbGVhc2U7CisJCX07CisJCTQxN0RBNkQzMTM3MzRFMDIwMDdDNTdG
QiAvKiBQcm9kdWN0aW9uICovID0geworCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CisJ
CQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IDFDREQ0NUU1MEJBOUM4NDYwMEY5MDE0NyAv
KiBXZWJDb3JlLnhjY29uZmlnICovOworCQkJYnVpbGRTZXR0aW5ncyA9IHsKKwkJCQlBTFdBWVNf
U0VBUkNIX1VTRVJfUEFUSFMgPSBOTzsKKwkJCQlFWFBPUlRFRF9TWU1CT0xTX0ZJTEUgPSAiIjsK
KwkJCQlHQ0NfRU5BQkxFX0ZJWF9BTkRfQ09OVElOVUUgPSBZRVM7CisJCQkJR0NDX01PREVMX1RV
TklORyA9IEc1OworCQkJCUlOU1RBTExfUEFUSCA9IC91c3IvbG9jYWwvbGliOworCQkJCU9USEVS
X0xERkxBR1MgPSAiIjsKKwkJCQlQUkVCSU5ESU5HID0gTk87CisJCQkJUFJJVkFURV9IRUFERVJT
X0ZPTERFUl9QQVRIID0gV2ViQ29yZVRlc3RTdXBwb3J0OworCQkJCVBST0RVQ1RfTkFNRSA9IFdl
YkNvcmVUZXN0U3VwcG9ydDsKKwkJCX07CisJCQluYW1lID0gUHJvZHVjdGlvbjsKKwkJfTsKIAkJ
NUQ4N0JCNTExMUUzRUFFQjAwNzAyQjZGIC8qIERlYnVnICovID0gewogCQkJaXNhID0gWENCdWls
ZENvbmZpZ3VyYXRpb247CiAJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IDFDREQ0NUU1
MEJBOUM4NDYwMEY5MDE0NyAvKiBXZWJDb3JlLnhjY29uZmlnICovOwpAQCAtMjU2NTQsNiArMjU4
MTEsMTYgQEAKIAkJCWRlZmF1bHRDb25maWd1cmF0aW9uSXNWaXNpYmxlID0gMDsKIAkJCWRlZmF1
bHRDb25maWd1cmF0aW9uTmFtZSA9IFByb2R1Y3Rpb247CiAJCX07CisJCTQxN0RBNkQ4MTM3MzRF
NDcwMDdDNTdGQiAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWE5hdGl2ZVRhcmdl
dCAiV2ViQ29yZVRlc3RTdXBwb3J0IiAqLyA9IHsKKwkJCWlzYSA9IFhDQ29uZmlndXJhdGlvbkxp
c3Q7CisJCQlidWlsZENvbmZpZ3VyYXRpb25zID0gKAorCQkJCTQxN0RBNkQxMTM3MzRFMDIwMDdD
NTdGQiAvKiBEZWJ1ZyAqLywKKwkJCQk0MTdEQTZEMjEzNzM0RTAyMDA3QzU3RkIgLyogUmVsZWFz
ZSAqLywKKwkJCQk0MTdEQTZEMzEzNzM0RTAyMDA3QzU3RkIgLyogUHJvZHVjdGlvbiAqLywKKwkJ
CSk7CisJCQlkZWZhdWx0Q29uZmlndXJhdGlvbklzVmlzaWJsZSA9IDA7CisJCQlkZWZhdWx0Q29u
ZmlndXJhdGlvbk5hbWUgPSBQcm9kdWN0aW9uOworCQl9OwogCQk1RDg3QkI1OTExRTNFQjA3MDA3
MDJCNkYgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhOYXRpdmVUYXJnZXQgIldl
YkNvcmVFeHBvcnRGaWxlR2VuZXJhdG9yIiAqLyA9IHsKIAkJCWlzYSA9IFhDQ29uZmlndXJhdGlv
bkxpc3Q7CiAJCQlidWlsZENvbmZpZ3VyYXRpb25zID0gKApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ0NWY5NmRjZmM4NjA2YTgyOTAwYzM3OTRmMzA0NDUyOTM5
M2UwNjAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5jcHAKQEAgLTAsMCArMSw0NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElT
IiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNs
dWRlICJJbnRlcm5hbHMuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitQYXNzUmVmUHRyPElu
dGVybmFscz4gSW50ZXJuYWxzOjpjcmVhdGUoKQoreworICAgIHJldHVybiBhZG9wdFJlZihuZXcg
SW50ZXJuYWxzKCkpOworfQorCitJbnRlcm5hbHM6On5JbnRlcm5hbHMoKQoreworfQorCitJbnRl
cm5hbHM6OkludGVybmFscygpCit7Cit9CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmNiYmQ5YjljMDNiNDkyYmYxYWE0NGMxMTEzYjRiMGE2MGQzZTk0ZTUKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCkBAIC0w
LDAgKzEsNDUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQor
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgor
ICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEludGVybmFsc19oCisjZGVmaW5lIEludGVybmFs
c19oCisKKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3Vu
dGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgSW50ZXJuYWxzIDogcHVibGlj
IFJlZkNvdW50ZWQ8SW50ZXJuYWxzPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8
SW50ZXJuYWxzPiBjcmVhdGUoKTsKKyAgICB2aXJ0dWFsIH5JbnRlcm5hbHMoKTsKKworcHJpdmF0
ZToKKyAgICBJbnRlcm5hbHMoKTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDUwMTFjZWYz
MmMxYjcxZjA2ZDcwNzJmOWI2MGQwYzkxYjQzNDAyOQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApAQCAtMCwwICsxLDI5IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBB
TkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQK
KyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
bW9kdWxlIHdpbmRvdyB7CisgICAgaW50ZXJmYWNlIFtPbWl0Q29uc3RydWN0b3JdIEludGVybmFs
cyB7CisgICAgfTsKK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL2pzL1dlYkNvcmVUZXN0U3VwcG9ydC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL2pzL1dlYkNvcmVUZXN0U3VwcG9ydC5jcHAKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzBi
YjkxNjE0ZWIwMjRkNTBmZWExODIyMWJhZDNjNjJhYmRlZDFmOQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvanMvV2ViQ29yZVRlc3RTdXBwb3J0LmNwcApAQCAtMCww
ICsxLDQ3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkK
KyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAq
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYkNvcmVU
ZXN0U3VwcG9ydC5oIgorCisjaW5jbHVkZSAiSW50ZXJuYWxzLmgiCisjaW5jbHVkZSAiSlNET01H
bG9iYWxPYmplY3QuaCIKKyNpbmNsdWRlICJKU0ludGVybmFscy5oIgorI2luY2x1ZGUgPEphdmFT
Y3JpcHRDb3JlL0FQSUNhc3QuaD4KKyNpbmNsdWRlIDxpbnRlcnByZXRlci9DYWxsRnJhbWUuaD4K
KwordXNpbmcgbmFtZXNwYWNlIEpTQzsKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1l
c3BhY2UgV2ViQ29yZVRlc3RTdXBwb3J0IHsKKwordm9pZCBpbmplY3RJbnRlcm5hbHNPYmplY3Qo
SlNDb250ZXh0UmVmIGNvbnRleHQpCit7CisgICAgRXhlY1N0YXRlKiBleGVjID0gdG9KUyhjb250
ZXh0KTsKKyAgICBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gc3RhdGljX2Nhc3Q8
SlNET01HbG9iYWxPYmplY3QqPihleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpOworICAgIGds
b2JhbE9iamVjdC0+cHV0RGlyZWN0KGV4ZWMtPmdsb2JhbERhdGEoKSwgSWRlbnRpZmllcihleGVj
LCAiaW50ZXJuYWxzIiksIHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0LCBJbnRlcm5hbHM6OmNyZWF0
ZSgpKSk7Cit9CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvanMvV2Vi
Q29yZVRlc3RTdXBwb3J0LmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL2pzL1dlYkNvcmVUZXN0
U3VwcG9ydC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY2ZDdlZDQ5YjNiZjdiNzZhMTRjZDU4OTg2NDhhMWJmMzRh
MDEyNmYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL2pzL1dlYkNv
cmVUZXN0U3VwcG9ydC5oCkBAIC0wLDAgKzEsMzcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVU
T1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdlYkNvcmVU
ZXN0U3VwcG9ydF9oCisjZGVmaW5lIFdlYkNvcmVUZXN0U3VwcG9ydF9oCisKK3R5cGVkZWYgY29u
c3Qgc3RydWN0IE9wYXF1ZUpTQ29udGV4dCogSlNDb250ZXh0UmVmOworCituYW1lc3BhY2UgV2Vi
Q29yZVRlc3RTdXBwb3J0IHsKKwordm9pZCBpbmplY3RJbnRlcm5hbHNPYmplY3QoSlNDb250ZXh0
UmVmKTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvdjgvV2ViQ29yZVRlc3RTdXBwb3J0LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvdjgvV2ViQ29yZVRlc3RTdXBwb3J0LmNwcApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iZmJk
MjVhNjM4MzRiM2ZlODA5MjA3ZWQwMzhhNjQ5OGI4MTgxMDc3Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy92OC9XZWJDb3JlVGVzdFN1cHBvcnQuY3BwCkBAIC0wLDAg
KzEsNTMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQor
ICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICog
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2ViQ29yZVRl
c3RTdXBwb3J0LmgiCisKKyNpbmNsdWRlICJJbnRlcm5hbHMuaCIKKyNpbmNsdWRlICJTY3JpcHRP
YmplY3QuaCIKKyNpbmNsdWRlICJTY3JpcHRTY29wZS5oIgorI2luY2x1ZGUgIlNjcmlwdFN0YXRl
LmgiCisjaW5jbHVkZSAiVjhJbnRlcm5hbHMuaCIKKworI2luY2x1ZGUgPHY4Lmg+CisKK3VzaW5n
IG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1lc3BhY2UgV2ViQ29yZVRlc3RTdXBwb3J0IHsKKwor
dm9pZCBpbmplY3RJbnRlcm5hbHNPYmplY3Qodjg6OkxvY2FsPHY4OjpDb250ZXh0PiBjb250ZXh0
KQoreworICAgIC8vIEZJWE1FOiBDT05WRVJUIFRPIE5PVCBVU0UgU0NSSVBUKi4KKyAgICBTY3Jp
cHRTdGF0ZSogc2NyaXB0U3RhdGUgPSBTY3JpcHRTdGF0ZTo6Zm9yQ29udGV4dChjb250ZXh0KTsK
KyAgICBTY3JpcHRTY29wZSBzY29wZShzY3JpcHRTdGF0ZSk7CisKKyAgICB2ODo6SGFuZGxlPHY4
OjpWYWx1ZT4gaW50ZXJuYWxzVmFsdWUgPSB0b1Y4KEludGVybmFsczo6Y3JlYXRlKCkpOworICAg
IHY4OjpMb2NhbDx2ODo6T2JqZWN0PiBpbnRlcm5hbHNPYmplY3Qodjg6Ok9iamVjdDo6Q2FzdCgq
aW50ZXJuYWxzVmFsdWUpKTsKKworICAgIFNjcmlwdEdsb2JhbE9iamVjdDo6c2V0KHNjcmlwdFN0
YXRlLCAiaW50ZXJuYWxzIiwgU2NyaXB0T2JqZWN0KHNjcmlwdFN0YXRlLCBpbnRlcm5hbHNPYmpl
Y3QpKTsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy92OC9XZWJD
b3JlVGVzdFN1cHBvcnQuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvdjgvV2ViQ29yZVRlc3RT
dXBwb3J0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uOWUzZDU4NzY3MDIzYmZjODk2ZDMxZjM4YzY5Yzg1ZTQ3YmMy
MjZlOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvdjgvV2ViQ29y
ZVRlc3RTdXBwb3J0LmgKQEAgLTAsMCArMSw0MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRP
UlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
CisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV2ViQ29yZVRl
c3RTdXBwb3J0X2gKKyNkZWZpbmUgV2ViQ29yZVRlc3RTdXBwb3J0X2gKKworbmFtZXNwYWNlIHY4
IHsKK2NsYXNzIENvbnRleHQ7Cit0ZW1wbGF0ZSA8Y2xhc3MgVD4gY2xhc3MgTG9jYWw7Cit9CisK
K25hbWVzcGFjZSBXZWJDb3JlVGVzdFN1cHBvcnQgeworCit2b2lkIGluamVjdEludGVybmFsc09i
amVjdCh2ODo6TG9jYWw8djg6OkNvbnRleHQ+KTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cCBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cAppbmRleCA4MWVjOWE0OTExOGI0ZDRm
M2RjNzhlOTBkNzA4NWE3MjdmNWRhOTNkLi4yNGI3NjdiYzQxMjlhMjYzZGQ5NTE4OWFiYjZlNzZh
M2I5MTA1NzM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAK
KysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwCkBAIC02MDQsNiArNjA0LDcg
QEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICdkZXBlbmRlbmNpZXMnOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICcuLi8uLi9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwOndlYmNvcmVfYmluZGluZ3Mn
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLi4vLi4vV2ViQ29yZS9XZWJDb3Jl
Lmd5cC9XZWJDb3JlLmd5cDp3ZWJjb3JlX3Rlc3Rfc3VwcG9ydCcsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICc8KGNocm9taXVtX3NyY19kaXIpL2Jhc2UvYmFzZS5neXA6dGVzdF9z
dXBwb3J0X2Jhc2UnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPChjaHJvbWl1
bV9zcmNfZGlyKS9idWlsZC90ZW1wX2d5cC9nb29nbGV1cmwuZ3lwOmdvb2dsZXVybCcsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8KGNocm9taXVtX3NyY19kaXIpL3Rlc3Rpbmcv
Z3Rlc3QuZ3lwOmd0ZXN0JywKQEAgLTYzMCw2ICs2MzEsOCBAQAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NvdXJjZXMnOiBbCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8QCh3ZWJraXRfdW5pdHRlc3RfZmlsZXMp
JywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NyYy9XZWJJbnRlcm5hbHNJbmpl
Y3Rvci5jcHAnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHVibGljL1dlYklu
dGVybmFsc0luamVjdG9yLmgnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndGVz
dHMvV2ViVW5pdFRlc3RzLmNwcCcsICAgIyBDb21wb25lbnRzIHRlc3QgcnVubmVyIHN1cHBvcnQu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAnc291cmNlcyEnOiBbCkBAIC0xMDg1LDYgKzEwODgsMjAgQEAKICAgICAgICAgICAgICAg
ICAgICAgICAgICc8KGNocm9taXVtX3NyY19kaXIpL3dlYmtpdC9zdXBwb3J0L3NldHVwX3RoaXJk
X3BhcnR5Lmd5cDp0aGlyZF9wYXJ0eV9oZWFkZXJzJywKICAgICAgICAgICAgICAgICAgICAgXQog
ICAgICAgICAgICAgICAgIH1dLAorICAgICAgICAgICAgICAgIFsnY29tcG9uZW50IT0ic2hhcmVk
X2xpYnJhcnkiJywgeworICAgICAgICAgICAgICAgICAgICAnZGVwZW5kZW5jaWVzJzogWworICAg
ICAgICAgICAgICAgICAgICAgICAgJy4uLy4uL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5n
eXA6d2ViY29yZV90ZXN0X3N1cHBvcnQnLAorICAgICAgICAgICAgICAgICAgICBdLAorICAgICAg
ICAgICAgICAgICAgICAnaW5jbHVkZV9kaXJzJzogWworICAgICAgICAgICAgICAgICAgICAgICAg
IyBXQVJOSU5HOiBEbyBub3QgdmlldyB0aGlzIHBhcnRpY3VsYXIgY2FzZSBhcyBhIHByZWNlZGVu
dCBmb3IKKyAgICAgICAgICAgICAgICAgICAgICAgICMgaW5jbHVkaW5nIFdlYkNvcmUgaGVhZGVy
cyBpbiBEdW1wUmVuZGVyVHJlZSBwcm9qZWN0LgorICAgICAgICAgICAgICAgICAgICAgICAgJy4u
Ly4uL1dlYkNvcmUvdGVzdGluZy92OCcsICMgZm9yIFdlYkNvcmVUZXN0U3VwcG9ydC5oLCBuZWVk
ZWQgdG8gbGluayBpbiB3aW5kb3cuaW50ZXJuYWxzIGNvZGUuCisgICAgICAgICAgICAgICAgICAg
IF0sCisgICAgICAgICAgICAgICAgICAgICdzb3VyY2VzJzogWworICAgICAgICAgICAgICAgICAg
ICAgICAgJ3NyYy9XZWJJbnRlcm5hbHNJbmplY3Rvci5jcHAnLAorICAgICAgICAgICAgICAgICAg
ICAgICAgJ3B1YmxpYy9XZWJJbnRlcm5hbHNJbmplY3Rvci5oJywKKyAgICAgICAgICAgICAgICAg
ICAgXSwKKyAgICAgICAgICAgICAgICB9XSwKICAgICAgICAgICAgIF0sCiAgICAgICAgIH0sCiAg
ICAgICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYklu
dGVybmFsc0luamVjdG9yLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJJbnRl
cm5hbHNJbmplY3Rvci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzNzY2MzIzNmM1ZWU0YzhkMGIyNGI4OWJmMjli
YjRkNTgwZDgyM2MKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1
YmxpYy9XZWJJbnRlcm5hbHNJbmplY3Rvci5oCkBAIC0wLDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJ
VFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICog
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1Ig
SVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMK
KyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZu
ZGVmIFdlYkludGVybmFsc0luamVjdG9yX2gKKyNkZWZpbmUgV2ViSW50ZXJuYWxzSW5qZWN0b3Jf
aAorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgV2ViRnJhbWU7CisKK2NsYXNzIFdlYklu
dGVybmFsc0luamVjdG9yIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgdm9pZCBpbmplY3RJbnRlcm5h
bHNPYmplY3QoV2ViRnJhbWUqKTsKK307CisKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJbnRlcm5hbHNJbmplY3Rvci5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJbnRlcm5hbHNJbmplY3Rvci5jcHAKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZDU1ZTgxZTVjNTYzMGFjMGM2ZmJmMTQ2ZGMxZjFiMzQ0NmJiZTk5OAotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkludGVybmFsc0luamVjdG9yLmNwcApA
QCAtMCwwICsxLDQxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBB
TlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKyAKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJX
ZWJJbnRlcm5hbHNJbmplY3Rvci5oIgorCisjaW5jbHVkZSAiV2ViQ29yZVRlc3RTdXBwb3J0Lmgi
CisjaW5jbHVkZSAiV2ViRnJhbWUuaCIKKyNpbmNsdWRlIDx2OC9pbmNsdWRlL3Y4Lmg+CisKK25h
bWVzcGFjZSBXZWJLaXQgeworCit2b2lkIFdlYkludGVybmFsc0luamVjdG9yOjppbmplY3RJbnRl
cm5hbHNPYmplY3QoV2ViRnJhbWUqIGZyYW1lKQoreworICAgIHY4OjpIYW5kbGVTY29wZSBoYW5k
bGVTY29wZTsKKyAgICBXZWJDb3JlVGVzdFN1cHBvcnQ6OmluamVjdEludGVybmFsc09iamVjdChm
cmFtZS0+bWFpbldvcmxkU2NyaXB0Q29udGV4dCgpKTsKK30KKworfQpkaWZmIC0tZ2l0IGEvVG9v
bHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDc2Y2YxYWI2ZmVmNGQxMGQ4YjY5
MGYyZDI0MGEzMGE0ZmZhOTgzMjAuLmRlOTcwOWQ4OGYwYzExMzU4YjJkNWM4ZjQ2NmRiYzQ3NTll
YjdlYmUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxNCBAQAorMjAxMS0wNS0wNSAgRGltaXRyaSBHbGF6a292ICA8ZGdsYXprb3ZA
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZCBidWlsZCBsb2dpc3RpY3MgYW5kIHBsdW1iaW5nIGZvciB3aW5kb3cuaW50ZXJu
YWxzIG9iamVjdC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTYwMzEzCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9GcmFt
ZUxvYWREZWxlZ2F0ZS5tbToKKyAgICAgICAgKC1bRnJhbWVMb2FkRGVsZWdhdGUgZGlkQ2xlYXJX
aW5kb3dPYmplY3RJblN0YW5kYXJkV29ybGRGb3JGcmFtZTpdKToKKwogMjAxMS0wNS0xNiAgQWRl
bWFyIGRlIFNvdXphIFJlaXMgSnIuICA8YWRlbWFyLnJlaXNAb3BlbmJvc3NhLm9yZz4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBDc2FiYSBPc3p0cm9nb27DoWMuCmRpZmYgLS1naXQgYS9Ub29scy9E
dW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIv
VG9vbHMvRHVtcFJlbmRlclRyZWUvRHVtcFJlbmRlclRyZWUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagppbmRleCA3MzZhMTAzMDY1ZWE5Y2NlMGY1ZDMyODgzMGY0M2ZhMTQxNDM0OGQ2Li5kMTU5
ZTQwZTMyOGNjZTE5ODc5ZGJhZTRkMGRkNmI2N2JmY2NjZGZlIDEwMDY0NAotLS0gYS9Ub29scy9E
dW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisr
KyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTU2LDYgKzU2LDggQEAKIAkJMzcxM0VERTMxMTVCRTE5MzAwNzA1NzIwIC8q
IENvbG9yQml0cy50dGYgaW4gQ29weSBGb250IEZpbGVzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDM3MTNFREUwMTE1QkUxNkYwMDcwNTcyMCAvKiBDb2xvckJpdHMudHRmICov
OyB9OwogCQkzQTU2MjZDQjEzMUNBMDJBMDAyQkU2RDkgLyogU3RvcmFnZVRyYWNrZXJEZWxlZ2F0
ZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDNBNTYy
NkMxMTMxQzhCMTcwMDJCRTZEOSAvKiBTdG9yYWdlVHJhY2tlckRlbGVnYXRlLm1tICovOyB9Owog
CQkzQTU2MjZDQzEzMUNBMDM2MDAyQkU2RDkgLyogU3RvcmFnZVRyYWNrZXJEZWxlZ2F0ZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gM0E1NjI2QzAxMzFD
OEIxNzAwMkJFNkQ5IC8qIFN0b3JhZ2VUcmFja2VyRGVsZWdhdGUuaCAqLzsgfTsKKwkJNDE3REFB
MUQxMzdCM0UyNDAwN0M1N0ZCIC8qIFdlYkNvcmVUZXN0U3VwcG9ydC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE3REFBMUMxMzdCM0UyNDAwN0M1N0ZC
IC8qIFdlYkNvcmVUZXN0U3VwcG9ydC5oICovOyB9OworCQk0MTdEQUFFRjEzN0I0MEVGMDA3QzU3
RkIgLyogbGliV2ViQ29yZVRlc3RTdXBwb3J0LmEgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTdEQTcwMDEzNzM1MDM3MDA3QzU3RkIgLyogbGliV2Vi
Q29yZVRlc3RTdXBwb3J0LmEgKi87IH07CiAJCTQ0MDU5MDcxMTI2ODQ1MzgwMENGRDQ4RCAvKiBX
ZWJBcmNoaXZlRHVtcFN1cHBvcnRNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0NDA1OTA3MDEyNjg0NTM4MDBDRkQ0OEQgLyogV2ViQXJjaGl2ZUR1
bXBTdXBwb3J0TWFjLm1tICovOyB9OwogCQk0NDM3NzMwRTEyNUNCQzM2MDBBQUUwMkMgLyogV2Vi
QXJjaGl2ZUR1bXBTdXBwb3J0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQ0QTk5NzgzMEZDREU4NjQwMDU4MEYxMCAvKiBXZWJBcmNoaXZlRHVtcFN1
cHBvcnQuY3BwICovOyB9OwogCQk0NDM3NzMwRjEyNUNCQzREMDBBQUUwMkMgLyogV2ViQXJjaGl2
ZUR1bXBTdXBwb3J0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0NEE5OTc4MjBGQ0RFODY0MDA1ODBGMTAgLyogV2ViQXJjaGl2ZUR1bXBTdXBwb3J0Lmgg
Ki87IH07CkBAIC0yNDUsNiArMjQ3LDggQEAKIAkJMzc1RjA5NzkwREFDM0NCNjAwQzhCNEU1IC8q
IFdlYktpdFdlaWdodFdhdGNoZXI5MDAudHRmICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gZmlsZTsgbmFtZSA9IFdlYktpdFdlaWdodFdhdGNoZXI5MDAu
dHRmOyBwYXRoID0gZm9udHMvV2ViS2l0V2VpZ2h0V2F0Y2hlcjkwMC50dGY7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTNBNTYyNkMwMTMxQzhCMTcwMDJCRTZEOSAvKiBTdG9yYWdlVHJh
Y2tlckRlbGVnYXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0b3JhZ2VU
cmFja2VyRGVsZWdhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJM0E1NjI2QzEx
MzFDOEIxNzAwMkJFNkQ5IC8qIFN0b3JhZ2VUcmFja2VyRGVsZWdhdGUubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTdG9yYWdlVHJhY2tlckRlbGVnYXRlLm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTdEQTcwMDEzNzM1MDM3MDA3QzU3RkIgLyog
bGliV2ViQ29yZVRlc3RTdXBwb3J0LmEgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBhcmNoaXZlLmFyOyBwYXRoID0gbGliV2ViQ29yZVRlc3RTdXBwb3J0
LmE7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CisJCTQxN0RBQTFDMTM3QjNF
MjQwMDdDNTdGQiAvKiBXZWJDb3JlVGVzdFN1cHBvcnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBuYW1lID0gV2ViQ29yZVRlc3RTdXBwb3J0Lmg7IHBhdGggPSBXZWJDb3JlVGVzdFN1cHBv
cnQvV2ViQ29yZVRlc3RTdXBwb3J0Lmg7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7
IH07CiAJCTQ0MDU5MDcwMTI2ODQ1MzgwMENGRDQ4RCAvKiBXZWJBcmNoaXZlRHVtcFN1cHBvcnRN
YWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBXZWJBcmNoaXZl
RHVtcFN1cHBvcnRNYWMubW07IHBhdGggPSBtYWMvV2ViQXJjaGl2ZUR1bXBTdXBwb3J0TWFjLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NEE5OTc4MjBGQ0RFODY0MDA1ODBGMTAg
LyogV2ViQXJjaGl2ZUR1bXBTdXBwb3J0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFt
ZSA9IFdlYkFyY2hpdmVEdW1wU3VwcG9ydC5oOyBwYXRoID0gY2YvV2ViQXJjaGl2ZUR1bXBTdXBw
b3J0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0QTk5NzgzMEZDREU4NjQwMDU4
MEYxMCAvKiBXZWJBcmNoaXZlRHVtcFN1cHBvcnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBuYW1lID0gV2ViQXJjaGl2ZUR1bXBTdXBwb3J0LmNwcDsgcGF0aCA9IGNmL1dlYkFy
Y2hpdmVEdW1wU3VwcG9ydC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0zNTks
NiArMzYzLDcgQEAKIAkJCQlBODE3MDkwNDA4QjE2NEQzMDBDQ0I5RkIgLyogSmF2YVNjcmlwdENv
cmUuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCiAJCQkJMjNCQ0I4OTAwRUE1NzYyMzAwM0M2
Mjg5IC8qIE9wZW5HTC5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKIAkJCQk5MzQwOTk1MTA4
NTQwQ0FFMDA3RjNCQzggLyogV2ViS2l0LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAorCQkJ
CTQxN0RBQUVGMTM3QjQwRUYwMDdDNTdGQiAvKiBsaWJXZWJDb3JlVGVzdFN1cHBvcnQuYSBpbiBG
cmFtZXdvcmtzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Np
bmcgPSAwOwogCQl9OwpAQCAtNDAzLDYgKzQwOCw3IEBACiAJCQkJQThCOTFBQzQwQ0YzQjE3MDAw
OEY5MUZGIC8qIE9iakNQbHVnaW4gKi8sCiAJCQkJMTQxQkYxRjUwOTZBNDM5ODAwRTA3NTNDIC8q
IFRlc3ROZXRzY2FwZVBsdWdJbiAqLywKIAkJCQk5MzQ1MjI5QjBCRDEyQjJDMDA4NkVEQTAgLyog
UmVzb3VyY2VzICovLAorCQkJCTQxN0RBOTE4MTM3MzY3NEQwMDdDNTdGQiAvKiBXZWJDb3JlVGVz
dFN1cHBvcnQgKi8sCiAJCQkJQTgwM0ZGNjQwOUNBQUNDMTAwOUIyQTM3IC8qIEZyYW1ld29ya3Mg
Ki8sCiAJCQkJOTM0MDk5NTUwODU0MENBRjAwN0YzQkM4IC8qIFByb2R1Y3RzICovLAogCQkJCUJD
QjI4MUVEMENGQTcxMUQwMDdFNTMzRSAvKiBDb25maWd1cmF0aW9ucyAqLywKQEAgLTUxNCw2ICs1
MjAsMTUgQEAKIAkJCXBhdGggPSBtYWM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9
OworCQk0MTdEQTkxODEzNzM2NzREMDA3QzU3RkIgLyogV2ViQ29yZVRlc3RTdXBwb3J0ICovID0g
eworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk0MTdEQUExQzEzN0Iz
RTI0MDA3QzU3RkIgLyogV2ViQ29yZVRlc3RTdXBwb3J0LmggKi8sCisJCQkJNDE3REE3MDAxMzcz
NTAzNzAwN0M1N0ZCIC8qIGxpYldlYkNvcmVUZXN0U3VwcG9ydC5hICovLAorCQkJKTsKKwkJCW5h
bWUgPSBXZWJDb3JlVGVzdFN1cHBvcnQ7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9
OwogCQk5MzQwOTk1NTA4NTQwQ0FGMDA3RjNCQzggLyogUHJvZHVjdHMgKi8gPSB7CiAJCQlpc2Eg
PSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKApAQCAtNjU5LDYgKzY3NCw3IEBACiAJCQkJRTFC
NzgxNjcxMUFGMzFDMzAwN0UxQkMyIC8qIE1vY2tHZW9sb2NhdGlvblByb3ZpZGVyLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkyOUNGQkExMDEyMjczNkU2MDBCQzMwQzAgLyogQWNjZXNzaWJpbGl0eVRl
eHRNYXJrZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTNBNTYyNkNDMTMxQ0EwMzYwMDJCRTZEOSAv
KiBTdG9yYWdlVHJhY2tlckRlbGVnYXRlLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MTdEQUExRDEz
N0IzRTI0MDA3QzU3RkIgLyogV2ViQ29yZVRlc3RTdXBwb3J0LmggaW4gSGVhZGVycyAqLywKIAkJ
CSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlm
ZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5jcHAgYi9U
b29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuY3BwCmluZGV4IDQxYWZhMTBj
MDA3ZDkwNWNhYWM3MjUyZDUxOTdjNzQwY2ZhOWYxN2IuLjIxMWZmYWM5MzAzY2NjNTViYzNmOTg1
OTc0OTkzODBhOWMyOTZhNGQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9t
aXVtL1Rlc3RTaGVsbC5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVz
dFNoZWxsLmNwcApAQCAtMzksNiArMzksNyBAQAogI2luY2x1ZGUgIldlYkVsZW1lbnQuaCIKICNp
bmNsdWRlICJXZWJGcmFtZS5oIgogI2luY2x1ZGUgIldlYkhpc3RvcnlJdGVtLmgiCisjaW5jbHVk
ZSAiV2ViSW50ZXJuYWxzSW5qZWN0b3IuaCIKICNpbmNsdWRlICJXZWJLaXQuaCIKICNpbmNsdWRl
ICJXZWJSdW50aW1lRmVhdHVyZXMuaCIKICNpbmNsdWRlICJXZWJTY3JpcHRDb250cm9sbGVyLmgi
CkBAIC01ODEsNiArNTgyLDcgQEAgdm9pZCBUZXN0U2hlbGw6OmR1bXBJbWFnZShTa0NhbnZhcyog
Y2FudmFzKSBjb25zdAogCiB2b2lkIFRlc3RTaGVsbDo6YmluZEpTT2JqZWN0c1RvV2luZG93KFdl
YkZyYW1lKiBmcmFtZSkKIHsKKyAgICBXZWJJbnRlcm5hbHNJbmplY3Rvcjo6aW5qZWN0SW50ZXJu
YWxzT2JqZWN0KGZyYW1lKTsKICAgICBtX2FjY2Vzc2liaWxpdHlDb250cm9sbGVyLT5iaW5kVG9K
YXZhc2NyaXB0KGZyYW1lLCBXZWJTdHJpbmc6OmZyb21VVEY4KCJhY2Nlc3NpYmlsaXR5Q29udHJv
bGxlciIpKTsKICAgICBtX2xheW91dFRlc3RDb250cm9sbGVyLT5iaW5kVG9KYXZhc2NyaXB0KGZy
YW1lLCBXZWJTdHJpbmc6OmZyb21VVEY4KCJsYXlvdXRUZXN0Q29udHJvbGxlciIpKTsKICAgICBt
X2V2ZW50U2VuZGVyLT5iaW5kVG9KYXZhc2NyaXB0KGZyYW1lLCBXZWJTdHJpbmc6OmZyb21VVEY4
KCJldmVudFNlbmRlciIpKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9G
cmFtZUxvYWREZWxlZ2F0ZS5tbSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9GcmFtZUxvYWRE
ZWxlZ2F0ZS5tbQppbmRleCAyNzkzOWRmOTRmNzljNGZhZTVkNGYxYTk4ZGZmOGRmY2M5MTA0Y2M0
Li43YzRhNWVjYWQ5NmRkY2QxZGQ4OTZiYTg5ODhjYmZhNGExYzA4NGM2IDEwMDY0NAotLS0gYS9U
b29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRnJhbWVMb2FkRGVsZWdhdGUubW0KKysrIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvbWFjL0ZyYW1lTG9hZERlbGVnYXRlLm1tCkBAIC00MSw2ICs0MSw3IEBA
CiAjaW1wb3J0ICJPYmpDUGx1Z2luRnVuY3Rpb24uaCIKICNpbXBvcnQgIlBsYWluVGV4dENvbnRy
b2xsZXIuaCIKICNpbXBvcnQgIlRleHRJbnB1dENvbnRyb2xsZXIuaCIKKyNpbXBvcnQgIldlYkNv
cmVUZXN0U3VwcG9ydC5oIgogI2ltcG9ydCAiV29ya1F1ZXVlLmgiCiAjaW1wb3J0ICJXb3JrUXVl
dWVJdGVtLmgiCiAjaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5oPgpAQCAt
MjY2LDYgKzI2Nyw4IEBACiAgICAgYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXItPm1ha2VXaW5kb3dP
YmplY3QoY29udGV4dCwgZ2xvYmFsT2JqZWN0LCAmZXhjZXB0aW9uKTsKICAgICBBU1NFUlQoIWV4
Y2VwdGlvbik7CiAKKyAgICBXZWJDb3JlVGVzdFN1cHBvcnQ6OmluamVjdEludGVybmFsc09iamVj
dChjb250ZXh0KTsKKwogICAgIC8vIE1ha2UgT2xkLVN0eWxlIGNvbnRyb2xsZXJzCiAKICAgICBX
ZWJWaWV3ICp3ZWJWaWV3ID0gW2ZyYW1lIHdlYlZpZXddOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2UuY3BwIGIvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2UuY3Bw
CmluZGV4IDJhMWY4NWQzYTZiZWZkZjk3ODk4ZTMwZjE1MGFhNjMxNDE5NGJlZGMuLjFiMDNmMGRh
ZTFiZTEwZTQ1MzE0ODZkNWJkZGIzOGU5MjgwMDBkNzUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlLmNwcAorKysgYi9U
b29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZS5j
cHAKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlLmgiCiAjaW5j
bHVkZSAiU3RyaW5nRnVuY3Rpb25zLmgiCisjaW5jbHVkZSAiV2ViQ29yZVRlc3RTdXBwb3J0Lmgi
CiAjaW5jbHVkZSA8Y21hdGg+CiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNSZXRhaW5QdHIu
aD4KICNpbmNsdWRlIDxXZWJLaXQyL1dLQXJyYXkuaD4KQEAgLTYxMSw2ICs2MTIsNyBAQCB2b2lk
IEluamVjdGVkQnVuZGxlUGFnZTo6ZGlkQ2xlYXJXaW5kb3dGb3JGcmFtZShXS0J1bmRsZUZyYW1l
UmVmIGZyYW1lLCBXS0J1bmRsZQogICAgIEluamVjdGVkQnVuZGxlOjpzaGFyZWQoKS5sYXlvdXRU
ZXN0Q29udHJvbGxlcigpLT5tYWtlV2luZG93T2JqZWN0KGNvbnRleHQsIHdpbmRvdywgJmV4Y2Vw
dGlvbik7CiAgICAgSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLmdjQ29udHJvbGxlcigpLT5tYWtl
V2luZG93T2JqZWN0KGNvbnRleHQsIHdpbmRvdywgJmV4Y2VwdGlvbik7CiAgICAgSW5qZWN0ZWRC
dW5kbGU6OnNoYXJlZCgpLmV2ZW50U2VuZGluZ0NvbnRyb2xsZXIoKS0+bWFrZVdpbmRvd09iamVj
dChjb250ZXh0LCB3aW5kb3csICZleGNlcHRpb24pOworICAgIFdlYkNvcmVUZXN0U3VwcG9ydDo6
SW50ZXJuYWxzSW5qZWN0b3I6OmluamVjdEludGVybmFsc09iamVjdChjb250ZXh0KTsKIH0KIAog
dm9pZCBJbmplY3RlZEJ1bmRsZVBhZ2U6OmRpZENhbmNlbENsaWVudFJlZGlyZWN0Rm9yRnJhbWUo
V0tCdW5kbGVGcmFtZVJlZiBmcmFtZSkKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvV2ViS2l0VGVzdFJ1bm5lci54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9XZWJLaXRUZXN0UnVubmVyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
aW5kZXggZGQxYzNkYWU3NGI0YzJlYjZjZWQ0NzBkYzkyMGI4OWQwZTQ1ZDczNC4uZTlmMWJkOTRk
YjU4MWNkM2RmMDU0MDJiZTRhMzkzMDdlYTQzY2QyNiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9XZWJLaXRUZXN0UnVubmVyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysr
IGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9XZWJLaXRUZXN0UnVubmVyLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKQEAgLTIxLDYgKzIxLDcgQEAKIC8qIEVuZCBQQlhBZ2dyZWdhdGVUYXJnZXQg
c2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhCdWlsZEZpbGUgc2VjdGlvbiAqLworCQk0MTdEQUMy
NTEzN0I1MEU1MDA3QzU3RkIgLyogbGliV2ViQ29yZVRlc3RTdXBwb3J0LmEgaW4gRnJhbWV3b3Jr
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTdEQUJGRjEzN0I0REZDMDA3
QzU3RkIgLyogbGliV2ViQ29yZVRlc3RTdXBwb3J0LmEgKi87IH07CiAJCTY1MTBBNzgyMTFFQzY0
MzgwMDQxMDg2NyAvKiBBSEVNX19fXy5UVEYgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDY1MTBBNzc3MTFFQzY0MzgwMDQxMDg2NyAvKiBBSEVNX19fXy5U
VEYgKi87IH07CiAJCTY1MTBBNzgzMTFFQzY0MzgwMDQxMDg2NyAvKiBDb2xvckJpdHMudHRmIGlu
IFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2NTEwQTc3ODEx
RUM2NDM4MDA0MTA4NjcgLyogQ29sb3JCaXRzLnR0ZiAqLzsgfTsKIAkJNjUxMEE3ODQxMUVDNjQz
ODAwNDEwODY3IC8qIFdlYktpdFdlaWdodFdhdGNoZXIxMDAudHRmIGluIFJlc291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA2NTEwQTc3OTExRUM2NDM4MDA0MTA4Njcg
LyogV2ViS2l0V2VpZ2h0V2F0Y2hlcjEwMC50dGYgKi87IH07CkBAIC03OCw2ICs3OSw4IEBACiAK
IC8qIEJlZ2luIFBCWEZpbGVSZWZlcmVuY2Ugc2VjdGlvbiAqLwogCQkzNzhENDQyMjEzMzQ2RDAw
MDA2QTc3N0IgLyogY29uZmlnLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IGNvbmZpZy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk0MTdEQUJGRjEzN0I0REZDMDA3QzU3RkIgLyogbGliV2ViQ29y
ZVRlc3RTdXBwb3J0LmEgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBhcmNoaXZlLmFyOyBwYXRoID0gbGliV2ViQ29yZVRlc3RTdXBwb3J0LmE7IHNvdXJj
ZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CisJCTQxN0RBQzAxMTM3QjRFMUMwMDdDNTdG
QiAvKiBXZWJDb3JlVGVzdFN1cHBvcnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1l
ID0gV2ViQ29yZVRlc3RTdXBwb3J0Lmg7IHBhdGggPSBXZWJDb3JlVGVzdFN1cHBvcnQvV2ViQ29y
ZVRlc3RTdXBwb3J0Lmg7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJCTY1
MTBBNzc3MTFFQzY0MzgwMDQxMDg2NyAvKiBBSEVNX19fXy5UVEYgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBmaWxlOyBuYW1lID0gIkFIRU1fX19fLlRU
RiI7IHBhdGggPSAiZm9udHMvQUhFTV9fX18uVFRGIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNjUxMEE3NzgxMUVDNjQzODAwNDEwODY3IC8qIENvbG9yQml0cy50dGYgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBmaWxlOyBuYW1lID0gQ29s
b3JCaXRzLnR0ZjsgcGF0aCA9IGZvbnRzL0NvbG9yQml0cy50dGY7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTY1MTBBNzc5MTFFQzY0MzgwMDQxMDg2NyAvKiBXZWJLaXRXZWlnaHRXYXRj
aGVyMTAwLnR0ZiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IGZpbGU7IG5hbWUgPSBXZWJLaXRXZWlnaHRXYXRjaGVyMTAwLnR0ZjsgcGF0aCA9IGZvbnRz
L1dlYktpdFdlaWdodFdhdGNoZXIxMDAudHRmOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpA
QCAtMTU5LDYgKzE2Miw3IEBACiAJCQkJQkMyNTE5M0UxMUQxNUQ4QjAwMkVCQzAxIC8qIENvY29h
LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAogCQkJCUJDMjUxOTNGMTFEMTVEOEIwMDJFQkMw
MSAvKiBXZWJLaXQyLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAogCQkJCUJDMjUxOTQwMTFE
MTVEOEIwMDJFQkMwMSAvKiBKYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAq
LywKKwkJCQk0MTdEQUMyNTEzN0I1MEU1MDA3QzU3RkIgLyogbGliV2ViQ29yZVRlc3RTdXBwb3J0
LmEgaW4gRnJhbWV3b3JrcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rw
cm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTE3Niw2ICsxODAsNyBAQAogCQkJCTA4RkI3NzlERkU4
NDE1NURDMDJBQUMwNyAvKiBFeHRlcm5hbCBGcmFtZXdvcmtzIGFuZCBMaWJyYXJpZXMgKi8sCiAJ
CQkJQkMyNTE5NDQxMUQxNURCRTAwMkVCQzAxIC8qIFJlc291cmNlcyAqLywKIAkJCQkxQUI2NzRB
REZFOUQ1NEI1MTFDQTJDQkIgLyogUHJvZHVjdHMgKi8sCisJCQkJNDE3REFCRkQxMzdCNEQ5RDAw
N0M1N0ZCIC8qIFdlYkNvcmVUZXN0U3VwcG9ydCAqLywKIAkJCSk7CiAJCQluYW1lID0gV2ViS2l0
VGVzdFJ1bm5lcjsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC0yMTQsNiArMjE5LDE1
IEBACiAJCQluYW1lID0gUHJvZHVjdHM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9
OworCQk0MTdEQUJGRDEzN0I0RDlEMDA3QzU3RkIgLyogV2ViQ29yZVRlc3RTdXBwb3J0ICovID0g
eworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk0MTdEQUMwMTEzN0I0
RTFDMDA3QzU3RkIgLyogV2ViQ29yZVRlc3RTdXBwb3J0LmggKi8sCisJCQkJNDE3REFCRkYxMzdC
NERGQzAwN0M1N0ZCIC8qIGxpYldlYkNvcmVUZXN0U3VwcG9ydC5hICovLAorCQkJKTsKKwkJCW5h
bWUgPSBXZWJDb3JlVGVzdFN1cHBvcnQ7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9
OwogCQk2NUVCODU5RTExRUM2N0NDMDAzNEQzMDAgLyogbWFjICovID0gewogCQkJaXNhID0gUEJY
R3JvdXA7CiAJCQljaGlsZHJlbiA9ICgK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93990</attachid>
            <date>2011-05-18 14:57:38 -0700</date>
            <delta_ts>2011-05-21 18:06:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-60313-20110518145737.patch</filename>
            <type>text/plain</type>
            <size>54002</size>
            <attacher name="Dimitri Glazkov (Google)">dglazkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODY3NzIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwYjU1ZDVjZDJiZTg0ZWM2OWNkNDkx
NTgxNDk3MzMxNjNmYmU3Y2JhLi5jYmYwYjZlNGI1ZjQxOTc1Zjc0YWM2MWIyYzBhZjgwYjQwYjU2
OTc5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTEtMDUtMTggIERpbWl0cmkgR2xhemtvdiAg
PGRnbGF6a292QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGQgYnVpbGQgbG9naXN0aWNzIGFuZCBwbHVtYmluZyBmb3Igd2lu
ZG93LmludGVybmFscyBvYmplY3QuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD02MDMxMworCisgICAgICAgICogZmFzdC9kb20vV2luZG93L3NjcmlwdC10
ZXN0cy93aW5kb3ctcHJvcGVydHktZGVzY3JpcHRvcnMuanM6IEFkZGVkIGludGVybmFscyBvYmpl
Y3QgdG8gbGlzdCBvZiBwcm9wZXJ0aWVzIHRvIHNraXAuCisgICAgICAgICogZmFzdC9kb20vV2lu
ZG93L3dpbmRvdy1wcm9wZXJ0aWVzLmh0bWw6IERpdHRvLgorICAgICAgICAqIGZhc3QvZG9tL3Nj
cmlwdC10ZXN0cy9wcm90b3R5cGUtaW5oZXJpdGFuY2UtMi5qczogRGl0dG8uCisgICAgICAgICog
ZmFzdC9kb20vc2NyaXB0LXRlc3RzL3Byb3RvdHlwZS1pbmhlcml0YW5jZS5qczogRGl0dG8uCisg
ICAgICAgICogZmFzdC9oYXJuZXNzL2ludGVybmFscy1vYmplY3QtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L2hhcm5lc3MvaW50ZXJuYWxzLW9iamVjdC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvU2tpcHBlZDogU2tpcHBlZCB0aGUgbmV3bHkgYWRkZWQg
dGVzdCB1bnRpbCBwbGF0Zm9ybSBzdXBwb3J0cyB3aW5kb3cuaW50ZXJuYWxzLgorICAgICAgICAq
IHBsYXRmb3JtL21hYy13azIvU2tpcHBlZDogRGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vcXQv
U2tpcHBlZDogRGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vd2luL1NraXBwZWQ6IERpdHRvLgor
CiAyMDExLTA1LTE4ICBSb2IgQnVpcyAgPHJidWlzQHJpbS5jb20+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgTmlrb2xhcyBaaW1tZXJtYW5uLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9k
b20vV2luZG93L3NjcmlwdC10ZXN0cy93aW5kb3ctcHJvcGVydHktZGVzY3JpcHRvcnMuanMgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvc2NyaXB0LXRlc3RzL3dpbmRvdy1wcm9wZXJ0eS1k
ZXNjcmlwdG9ycy5qcwppbmRleCA5ZWMzMjRiZDAxZDU1MmVjN2E2YmQ1ODNlOTg4NjYzZDFhOTgy
ZDE3Li4yMzM4ZmMwZTZiMGQzMzBhZjU2NTM4M2RmNmJhMmQ1NjkwYTNlNzYzIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvc2NyaXB0LXRlc3RzL3dpbmRvdy1wcm9wZXJ0
eS1kZXNjcmlwdG9ycy5qcworKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvc2NyaXB0
LXRlc3RzL3dpbmRvdy1wcm9wZXJ0eS1kZXNjcmlwdG9ycy5qcwpAQCAtMTgsNiArMTgsNyBAQCB2
YXIgX19za2lwX18gPSB7CiAgICAgIm9iakNQbHVnaW5GdW5jdGlvbiIgOiAxLAogICAgICJwbGFp
blRleHQiIDogMSwKICAgICAidGV4dElucHV0Q29udHJvbGxlciIgOiAxLAorICAgICJpbnRlcm5h
bHMiIDogMSwKICAgICAvLyBJZ25vcmUgdGhlc2UgcHJvcGVydGllcyBiZWNhdXNlIHRoZXkgZG8g
bm90IGV4aXN0IGluIGFsbCBpbXBsZW1lbnRhdGlvbnMuIFRoZXkgd2lsbCBiZSB0ZXN0ZWQgc2Vw
YXJhdGVseQogICAgICJXZWJHTFJlbmRlcmluZ0NvbnRleHQiIDogMSwKICAgICAiV2ViR0xBY3Rp
dmVJbmZvIiA6IDEsCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvd2lu
ZG93LXByb3BlcnRpZXMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ct
cHJvcGVydGllcy5odG1sCmluZGV4IDE0OGUzOTgwZTFmMzJmMWJkMjliZGUyNzg1YWU4Njc4ZjZi
ZjEzMjguLjhkOGNhMzA3ZTc3MzhhNDkzNTJjMDZiNjNlZmU2MGM3NWVkY2Q4ZTQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy5odG1sCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVydGllcy5odG1sCkBA
IC02MCw2ICs2MCw3IEBAIHZhciBfX3NraXBfXyA9IHsKICAgICAid2luZG93Lm9iakNQbHVnaW5G
dW5jdGlvbiIgOiAxLAogICAgICJ3aW5kb3cucGxhaW5UZXh0IiA6IDEsCiAgICAgIndpbmRvdy50
ZXh0SW5wdXRDb250cm9sbGVyIiA6IDEsCisgICAgIndpbmRvdy5pbnRlcm5hbHMiIDogMSwKICAg
ICAvLyBJZ25vcmUgdGhlc2UgcHJvcGVydGllcyBiZWNhdXNlIHRoZXkgZG8gbm90IGV4aXN0IGlu
IGFsbCBpbXBsZW1lbnRhdGlvbnMuIFRoZXkgd2lsbCBiZSB0ZXN0ZWQgc2VwYXJhdGVseQogICAg
ICJ3aW5kb3cuV2ViR0xSZW5kZXJpbmdDb250ZXh0IiA6IDEsIAogICAgICJ3aW5kb3cuV2ViR0xB
Y3RpdmVJbmZvIiA6IDEsIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2NyaXB0
LXRlc3RzL3Byb3RvdHlwZS1pbmhlcml0YW5jZS0yLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2NyaXB0LXRlc3RzL3Byb3RvdHlwZS1pbmhlcml0YW5jZS0yLmpzCmluZGV4IGMyZmEyYjk3NzVk
OWJmNDc1N2I0YmQyNjJhZWFhZTAwYjgzN2VkODMuLmM1OTBjMWQzMTUzY2MxOTMzNDFmZTVjMjIy
ZGMxYWJlYTk2MDI3N2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NjcmlwdC10
ZXN0cy9wcm90b3R5cGUtaW5oZXJpdGFuY2UtMi5qcworKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zY3JpcHQtdGVzdHMvcHJvdG90eXBlLWluaGVyaXRhbmNlLTIuanMKQEAgLTEyLDYgKzEyLDcg
QEAgdmFyIHNraXBwZWRQcm9wZXJ0aWVzID0gWwogICAgICJvYmpDQ29udHJvbGxlciIsICJ0ZXh0
SW5wdXRDb250cm9sbGVyIiwgIm5hdmlnYXRpb25Db250cm9sbGVyIiwKICAgICAiZXZlbnRTZW5k
ZXIiLCAib2JqQ1BsdWdpbiIsICJvYmpDUGx1Z2luRnVuY3Rpb24iLAogICAgICJhcHBsZVNjcmlw
dENvbnRyb2xsZXIiLCAicGxhaW5UZXh0IiwgImFjY2Vzc2liaWxpdHlDb250cm9sbGVyIiwKKyAg
ICAiaW50ZXJuYWxzIiwKICAgICAvLyBTa2lwIG91ciB0ZXN0IHByb3BlcnR5CiAgICAgImlzSW5u
ZXIiLAogICAgIC8vIElnbm9yZSBmb29Db25zdHJ1Y3Rvci5wcm90b3R5cGUsIGZvb0luc3RhbmNl
Ll9fcHJvdG9fXyBpcyBtb3JlIGxpa2VseSB0byBmYWlsLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2NyaXB0LXRlc3RzL3Byb3RvdHlwZS1pbmhlcml0YW5jZS5qcyBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NjcmlwdC10ZXN0cy9wcm90b3R5cGUtaW5oZXJpdGFuY2UuanMKaW5k
ZXggMzBiMWVjNmQzMzhmNmY3MDhjYTE5NDg2NWFlOWRmN2Q4OWQ4OTk4Ny4uMDY2N2U0NGFjMDkw
MGU2MDVlYzc0ODM4NGU1OGRlZjI1MTA5ZGNhNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2NyaXB0LXRlc3RzL3Byb3RvdHlwZS1pbmhlcml0YW5jZS5qcworKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zY3JpcHQtdGVzdHMvcHJvdG90eXBlLWluaGVyaXRhbmNlLmpzCkBAIC0x
Miw2ICsxMiw3IEBAIHZhciBza2lwcGVkUHJvcGVydGllcyA9IFsKICAgICAib2JqQ0NvbnRyb2xs
ZXIiLCAidGV4dElucHV0Q29udHJvbGxlciIsICJuYXZpZ2F0aW9uQ29udHJvbGxlciIsCiAgICAg
ImV2ZW50U2VuZGVyIiwgIm9iakNQbHVnaW4iLCAib2JqQ1BsdWdpbkZ1bmN0aW9uIiwKICAgICAi
YXBwbGVTY3JpcHRDb250cm9sbGVyIiwgInBsYWluVGV4dCIsICJhY2Nlc3NpYmlsaXR5Q29udHJv
bGxlciIsCisgICAgImludGVybmFscyIsCiAgICAgLy8gSWdub3JlIHRoZXNlIHByb3BlcnRpZXMg
YmVjYXVzZSB0aGV5IGRvIG5vdCBleGlzdCBpbiBhbGwgaW1wbGVtZW50YXRpb25zLiBUaGV5IHdp
bGwgYmUgdGVzdGVkIHNlcGFyYXRlbHkKICAgICAid2Via2l0Tm90aWZpY2F0aW9ucyIsCiAgICAg
IndlYmtpdEF1ZGlvUGFubmVyTm9kZSIsCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2hh
cm5lc3MvaW50ZXJuYWxzLW9iamVjdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2hh
cm5lc3MvaW50ZXJuYWxzLW9iamVjdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWQ5YWFhZjQ4
NGIyNWM1MWRjZmVkZDAyNTk2MDY5YjkzY2FmM2MwZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvaGFybmVzcy9pbnRlcm5hbHMtb2JqZWN0LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxIEBACit3aW5kb3cuaW50ZXJuYWxzIG9iamVjdCBzaG91bGQgYmUgdmlzaWJsZSB3aGVuIHJ1
bm5pbmcgaW4gRFJUOiBQQVNTCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2hhcm5lc3Mv
aW50ZXJuYWxzLW9iamVjdC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9oYXJuZXNzL2ludGVybmFs
cy1vYmplY3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYmVlN2JmNGZmMTdjMmJjMDJkMzAyNGU3NzJjODVl
NWY2ZDEzMmE3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9oYXJuZXNzL2lu
dGVybmFscy1vYmplY3QuaHRtbApAQCAtMCwwICsxLDIzIEBACis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdD4KKworaWYgKGxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9s
bGVyLmR1bXBBc1RleHQoKTsKKworZnVuY3Rpb24gcnVuVGVzdCgpCit7CisgICAgdmFyIGxvZyA9
IGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jykp
OworICAgIGxvZy53cml0ZSA9IGZ1bmN0aW9uKG1zZywgc3VjY2VzcykKKyAgICB7CisgICAgICAg
IHRoaXMuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2JykpLnRleHRDb250
ZW50ID0gbXNnICsgJzogJyArIChzdWNjZXNzID8gJ1BBU1MnIDogJ0ZBSUwnKTsKKyAgICB9CisK
KyAgICBsb2cud3JpdGUoJ3dpbmRvdy5pbnRlcm5hbHMgb2JqZWN0IHNob3VsZCBiZSB2aXNpYmxl
IHdoZW4gcnVubmluZyBpbiBEUlQnLCAhIXdpbmRvdy5pbnRlcm5hbHMpOworfQorCis8L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9ndGsvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCmluZGV4
IDUzZDliYzQ4MmQ3YThmZjc5ZDQ4N2FkNmQzYmUzYTk5MTBmY2ExYmEuLjI5Y2FmYzkxMjg3MjQ5
ZDM3MmIwMGZmYTM0NWEzZDU2YTEwZGUwNTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2d0ay9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkCkBA
IC0xNDM0LDMgKzE0MzQsNiBAQCBmYXN0L2V2ZW50cy9wYWdlLXZpc2liaWxpdHktdHJhbnNpdGlv
bi10ZXN0Lmh0bWwKICMgW1F0XVtHVEtdIHBsdWdpbnMvZ2V0LXVybC13aXRoLWphdmFzY3JpcHQt
dXJsLmh0bWwgZmFpbHMKICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTYwODM0CiBwbHVnaW5zL2dldC11cmwtd2l0aC1qYXZhc2NyaXB0LXVybC5odG1sCisKKyMgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYxMDcxCitmYXN0L2hhcm5lc3Mv
aW50ZXJuYWxzLW9iamVjdC5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMtd2syL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1NraXBwZWQKaW5k
ZXggMmIzNWUzMDI3ZGU1ZTgwNmNiZTM1MmViOWIyOGRhZmE3OTJkODdmZS4uMWUxY2I1ZjI4OTBl
NDc1MWFkNzdlM2QxNzFhOGVhNGEyZTU2MzI5OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjLXdrMi9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIv
U2tpcHBlZApAQCAtMTUzMyw2ICsxNTMzLDkgQEAgZWRpdGluZy91bmRvL3VuZG8taWZyYW1lLWxv
Y2F0aW9uLWNoYW5nZS5odG1sCiAjIGh0dHA6Ly93ZWJraXQub3JnL2IvNTk4NjUKIHRyYW5zaXRp
b25zL3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uLmh0bWwKIAorIyBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjEwNzMKK2Zhc3QvaGFybmVzcy9pbnRlcm5hbHMtb2Jq
ZWN0Lmh0bWwKKwogIyMjIEVORCBPRiAoMSkgQ2xhc3NpZmllZCBmYWlsdXJlcyB3aXRoIGJ1ZyBy
ZXBvcnRzCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9xdC9Ta2lwcGVkCmluZGV4IGVkMTdkYWI5M2FiNTI0N2MzZGViYjFlMWQ2Y2Q3ZjliMTJh
ZmEwYWYuLjFkMzE4NGE5YTM1NTNjOThhZDAxMjRkMTExOThiNWFiZTRhNTVjYTEgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vcXQvU2tpcHBlZApAQCAtMjU4MywzICsyNTgzLDYgQEAgZmFzdC9ldmVudHMvcmVtb3Zl
LXRhcmdldC1pbi1tb3VzZXVwLmh0bWwKICMgW1F0XVtHVEtdIHBsdWdpbnMvZ2V0LXVybC13aXRo
LWphdmFzY3JpcHQtdXJsLmh0bWwgZmFpbHMKICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTYwODM0CiBwbHVnaW5zL2dldC11cmwtd2l0aC1qYXZhc2NyaXB0LXVybC5o
dG1sCisKKyMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYxMDc0Citm
YXN0L2hhcm5lc3MvaW50ZXJuYWxzLW9iamVjdC5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS93aW4vU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVk
CmluZGV4IGJkMGM3ODU2NTVlNGQyMDY5NjM5MGM3NDVlMGZiOTJlZjI3MjRmM2IuLjQ5NGYwOTFk
OGIzMmRkYjVlNWUzYzM1Yjk0ZWM1YmNkOGViZWNlMWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3dpbi9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lw
cGVkCkBAIC0xMjk5LDMgKzEyOTksNiBAQCBmYXN0L2V2ZW50cy9wYWdlLXZpc2liaWxpdHktdHJh
bnNpdGlvbi10ZXN0Lmh0bWwKIAogIyBVbnNraXAgYWZ0ZXIgaW1wbGVtZW50aW5nIExheW91dFRl
c3RDb250cm9sbGVyOjpzZXREZWZlcnNMb2FkaW5nIGFuZCA6OmdvQmFjay4KIGxvYWRlci9uYXZp
Z2F0aW9uLXdoaWxlLWRlZmVycmluZy1sb2Fkcy5odG1sCisKKyMgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTYxMDc2CitmYXN0L2hhcm5lc3MvaW50ZXJuYWxzLW9iamVj
dC5odG1sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKaW5kZXggNjdiODk5YTEwMmJiMGVjODcyYTFlMDk2MmRiYjljNGZjMzky
NjQzMC4uMzFjY2I5NGIwMDliM2ExMGI2MTBmZTZkYzQ3OTIwOWViNGQ4NzY1NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDI0IEBACisyMDExLTA1LTE4ICBEaW1pdHJpIEdsYXprb3YgIDxkZ2xhemtv
dkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQWRkIGJ1aWxkIGxvZ2lzdGljcyBhbmQgcGx1bWJpbmcgZm9yIHdpbmRvdy5pbnRl
cm5hbHMgb2JqZWN0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NjAzMTMKKworICAgICAgICBUZXN0OiBmYXN0L2hhcm5lc3MvaW50ZXJuYWxzLW9iamVj
dC5odG1sCisKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOiBBZGRlZCBzdXBwb3J0IGZv
ciBnZW5lcmF0aW5nIGZyb20gSW50ZXJuYWxzLmlkbC4KKyAgICAgICAgKiBXZWJDb3JlLmd5cC9X
ZWJDb3JlLmd5cDogQWRkZWQgbmV3IHdlYmNvcmVfdGVzdF9zdXBwb3J0IGxpYnJhcnkuCisgICAg
ICAgICogV2ViQ29yZS5neXBpOiBEaXR0by4KKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6IEFkZGVkIFdlYkNvcmVUZXN0U3VwcG9ydCBsaWJyYXJ5LgorICAgICAg
ICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNwcDogQWRkZWQuCisgICAgICAgICogdGVzdGluZy9JbnRl
cm5hbHMuaDogQWRkZWQuCisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaWRsOiBBZGRlZC4K
KyAgICAgICAgKiB0ZXN0aW5nL2pzL1dlYkNvcmVUZXN0U3VwcG9ydC5jcHA6IEFkZGVkLgorICAg
ICAgICAqIHRlc3RpbmcvanMvV2ViQ29yZVRlc3RTdXBwb3J0Lmg6IEFkZGVkLgorICAgICAgICAq
IHRlc3RpbmcvdjgvV2ViQ29yZVRlc3RTdXBwb3J0LmNwcDogQWRkZWQuCisgICAgICAgICogdGVz
dGluZy92OC9XZWJDb3JlVGVzdFN1cHBvcnQuaDogQWRkZWQuCisKIDIwMTEtMDUtMTggIFByYXRp
ayBTb2xhbmtpICA8cHNvbGFua2lAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERh
biBCZXJuc3RlaW4uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5t
YWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCBiMTY1NzYzYTky
NTE0YzQzODEzNzUwMjNjODY2YTE3MTcwMzFlNWNmLi5kODk3N2RmZDRjYWUwZWE4ZjE3MjhhZThh
ZWVlYjM5NzYzZDMyMjI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTQ2LDYg
KzQ2LDcgQEAgVlBBVEggPSBcCiAgICAgJChXZWJDb3JlKS93ZWJhdWRpbyBcCiAgICAgJChXZWJD
b3JlKS93b3JrZXJzIFwKICAgICAkKFdlYkNvcmUpL3N2ZyBcCisgICAgJChXZWJDb3JlKS90ZXN0
aW5nIFwKICAgICAkKFdlYkNvcmUpL3dlYnNvY2tldHMgXAogIwogCkBAIC0yODgsNiArMjg5LDcg
QEAgRE9NX0NMQVNTRVMgPSBcCiAgICAgSW1hZ2VEYXRhIFwKICAgICBJbmplY3RlZFNjcmlwdEhv
c3QgXAogICAgIEluc3BlY3RvckZyb250ZW5kSG9zdCBcCisgICAgSW50ZXJuYWxzIFwKICAgICBL
ZXlib2FyZEV2ZW50IFwKICAgICBMb2NhdGlvbiBcCiAgICAgTWVkaWFFcnJvciBcCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cCBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCmluZGV4IDJlMGI1MWQ2ZDQyMzgwM2U4ZGVkMTJm
MWU0MGQ3OTc3ZjQ3Yzk1YjkuLjVkMmJjNGRiZmRmZDYwZGJmZGIzOWVkOGFkYzA5NTM0MzRlMjJi
YTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCkBAIC00NTUsNiArNDU1
LDcgQEAKIAogICAgICAgICAjIGlkbCBydWxlcwogICAgICAgICAnPEAoYmluZGluZ3NfaWRsX2Zp
bGVzKScsCisgICAgICAgICc8QCh3ZWJjb3JlX3Rlc3Rfc3VwcG9ydF9pZGxfZmlsZXMpJywKICAg
ICAgIF0sCiAgICAgICAnYWN0aW9ucyc6IFsKICAgICAgICAgIyBBY3Rpb25zIHRvIGJ1aWxkIGRl
cml2ZWQgc291cmNlcy4KQEAgLTgzMSw2ICs4MzIsNyBAQAogICAgICAgICAgICAgICAnLS1pbmNs
dWRlJywgJy4uL3BsdWdpbnMnLAogICAgICAgICAgICAgICAnLS1pbmNsdWRlJywgJy4uL3N0b3Jh
Z2UnLAogICAgICAgICAgICAgICAnLS1pbmNsdWRlJywgJy4uL3N2ZycsCisgICAgICAgICAgICAg
ICctLWluY2x1ZGUnLCAnLi4vdGVzdGluZycsCiAgICAgICAgICAgICAgICctLWluY2x1ZGUnLCAn
Li4vd2ViYXVkaW8nLAogICAgICAgICAgICAgICAnLS1pbmNsdWRlJywgJy4uL3dlYnNvY2tldHMn
LAogICAgICAgICAgICAgICAnLS1pbmNsdWRlJywgJy4uL3dvcmtlcnMnLApAQCAtMTcxMyw1ICsx
NzE1LDI5IEBACiAgICAgICAgIH1dLAogICAgICAgXSwKICAgICB9LAorICAgIHsKKyAgICAgICd0
YXJnZXRfbmFtZSc6ICd3ZWJjb3JlX3Rlc3Rfc3VwcG9ydCcsCisgICAgICAndHlwZSc6ICdzdGF0
aWNfbGlicmFyeScsCisgICAgICAnZGVwZW5kZW5jaWVzJzogWworICAgICAgICAnd2ViY29yZScs
CisgICAgICBdLAorICAgICAgJ2luY2x1ZGVfZGlycyc6IFsKKyAgICAgICAgJzwoSU5URVJNRURJ
QVRFX0RJUiknLAorICAgICAgICAnPChTSEFSRURfSU5URVJNRURJQVRFX0RJUikvd2ViY29yZScs
CisgICAgICAgICc8KFNIQVJFRF9JTlRFUk1FRElBVEVfRElSKS93ZWJraXQnLAorICAgICAgICAn
PChTSEFSRURfSU5URVJNRURJQVRFX0RJUikvd2Via2l0L2JpbmRpbmdzJywKKyAgICAgICAgJzxA
KHdlYmNvcmVfaW5jbHVkZV9kaXJzKScsCisgICAgICAgICcuLi90ZXN0aW5nJywKKyAgICAgICAg
Jy4uL3Rlc3RpbmcvdjgnLAorICAgICAgXSwKKyAgICAgICdzb3VyY2VzJzogWworICAgICAgICAn
PEAod2ViY29yZV90ZXN0X3N1cHBvcnRfZmlsZXMpJywKKyAgICAgICAgJzwoU0hBUkVEX0lOVEVS
TUVESUFURV9ESVIpL3dlYmNvcmUvYmluZGluZ3MvVjhJbnRlcm5hbHMuY3BwJywKKyAgICAgICAg
JzwoU0hBUkVEX0lOVEVSTUVESUFURV9ESVIpL3dlYmtpdC9iaW5kaW5ncy9WOEludGVybmFscy5o
JywKKyAgICAgIF0sCisgICAgICAnc291cmNlcy8nOiBbCisgICAgICAgIFsnZXhjbHVkZScsICd0
ZXN0aW5nL2pzJ10sCisgICAgICBdLAorICAgIH0sCiAgIF0sICAjIHRhcmdldHMKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZ3lwaQppbmRleCAzZGY2MzNiMWY1Yjg0M2M1MDFkYTk0OWI2NzYxY2M4MTBmYTE0YTViLi43
ZTYzNjkwMmM3ZTRhOWJlODUyMGEyODdiODliODhjN2Q0ZjRjNDNiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBp
CkBAIC02MDg1LDYgKzYwODUsMTcgQEAKICAgICAgICAgICAgICd4bWwvWFNMVFVuaWNvZGVTb3J0
LmNwcCcsCiAgICAgICAgICAgICAneG1sL1hTTFRVbmljb2RlU29ydC5oJywKICAgICAgICAgXSwK
KyAgICAgICAgJ3dlYmNvcmVfdGVzdF9zdXBwb3J0X2lkbF9maWxlcyc6IFsKKyAgICAgICAgICAn
dGVzdGluZy9JbnRlcm5hbHMuaWRsJywKKyAgICAgICAgXSwKKyAgICAgICAgJ3dlYmNvcmVfdGVz
dF9zdXBwb3J0X2ZpbGVzJzogWworICAgICAgICAgICAgJ3Rlc3RpbmcvdjgvV2ViQ29yZVRlc3RT
dXBwb3J0LmNwcCcsCisgICAgICAgICAgICAndGVzdGluZy92OC9XZWJDb3JlVGVzdFN1cHBvcnQu
aCcsCisgICAgICAgICAgICAndGVzdGluZy9qcy9XZWJDb3JlVGVzdFN1cHBvcnQuY3BwJywKKyAg
ICAgICAgICAgICd0ZXN0aW5nL2pzL1dlYkNvcmVUZXN0U3VwcG9ydC5oJywKKyAgICAgICAgICAg
ICd0ZXN0aW5nL0ludGVybmFscy5jcHAnLAorICAgICAgICAgICAgJ3Rlc3RpbmcvSW50ZXJuYWxz
LmgnLAorICAgICAgICBdLAogICAgICAgICAnd2ViY29yZV9yZXNvdXJjZV9maWxlcyc6IFsKICAg
ICAgICAgICAgICdFbmdsaXNoLmxwcm9qL0xvY2FsaXphYmxlLnN0cmluZ3MnLAogICAgICAgICAg
ICAgJ0VuZ2xpc2gubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcycsCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYWJmZDMxNjJlMDg2
MjZlZGRhODcwZTdhYWI4OWJmZmMyNTQwYmZkMS4uODQ2MDhmM2M3YjUzZGM0NDNhYjAxN2ZkMjlm
YTMxM2RhMGQ2YmZiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagpAQCAtODUyLDYgKzg1MiwxMiBAQAogCQk0MTZFNzVDQzBFREY5MEM3
MDAzNjBFMUQgLyogU2NyaXB0Q2FsbEZyYW1lLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxNkU3NUNBMEVERjkwQzcwMDM2MEUxRCAvKiBTY3JpcHRD
YWxsRnJhbWUuY3BwICovOyB9OwogCQk0MTcyNTNBQTEzNTRCQkJDMDAzNjBGMkEgLyogTWVkaWFD
b250cm9sRWxlbWVudHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNDE3MjUzQTgxMzU0QkJCQzAwMzYwRjJBIC8qIE1lZGlhQ29udHJvbEVsZW1lbnRz
LmNwcCAqLzsgfTsKIAkJNDE3MjUzQUIxMzU0QkJCQzAwMzYwRjJBIC8qIE1lZGlhQ29udHJvbEVs
ZW1lbnRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
MTcyNTNBOTEzNTRCQkJDMDAzNjBGMkEgLyogTWVkaWFDb250cm9sRWxlbWVudHMuaCAqLzsgfTsK
KwkJNDE3REE2RDkxMzczNEU2RTAwN0M1N0ZCIC8qIEludGVybmFscy5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTdEQTRDRjEzNzM0MzI2MDA3QzU3
RkIgLyogSW50ZXJuYWxzLmNwcCAqLzsgfTsKKwkJNDE3REE2REExMzczNEU2RTAwN0M1N0ZCIC8q
IEludGVybmFscy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDE3REE0Q0UxMzczNDMyNjAwN0M1N0ZCIC8qIEludGVybmFscy5oICovOyB9OworCQk0MTdE
QTcxRDEzNzM1REZBMDA3QzU3RkIgLyogSlNJbnRlcm5hbHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE3REE3MUIxMzczNURGQTAwN0M1N0ZCIC8q
IEpTSW50ZXJuYWxzLmNwcCAqLzsgfTsKKwkJNDE3REE3MUUxMzczNURGQTAwN0M1N0ZCIC8qIEpT
SW50ZXJuYWxzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0MTdEQTcxQzEzNzM1REZBMDA3QzU3RkIgLyogSlNJbnRlcm5hbHMuaCAqLzsgfTsKKwkJNDE4
MTVDMUUxMzgzMTk4MzAwNTdBQUE0IC8qIFdlYkNvcmVUZXN0U3VwcG9ydC5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTgxNUMxQzEzODMxOTgzMDA1
N0FBQTQgLyogV2ViQ29yZVRlc3RTdXBwb3J0LmNwcCAqLzsgfTsKKwkJNDE4MTVDMUYxMzgzMTk4
MzAwNTdBQUE0IC8qIFdlYkNvcmVUZXN0U3VwcG9ydC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE4MTVDMUQxMzgzMTk4MzAwNTdBQUE0IC8qIFdlYkNv
cmVUZXN0U3VwcG9ydC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCTQxODg1QjkzMTFCNkZEQTYwMDMzODNCQiAvKiBGb3JtU3VibWlzc2lvbi5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE4ODVCOTExMUI2
RkRBNjAwMzM4M0JCIC8qIEZvcm1TdWJtaXNzaW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDE4ODVCOTQxMUI2RkRBNjAwMzM4M0JCIC8qIEZv
cm1TdWJtaXNzaW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQxODg1QjkyMTFCNkZEQTYwMDMzODNCQiAvKiBGb3JtU3VibWlzc2lvbi5jcHAgKi87
IH07CiAJCTQxOEEwNkQwMTMzQzA0RDUwMENEMzc5QyAvKiBFdmVudERpc3BhdGNoZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxOEEwNkNFMTMzQzA0
RDUwMENEMzc5QyAvKiBFdmVudERpc3BhdGNoZXIuaCAqLzsgfTsKQEAgLTU5NTcsNiArNTk2Mywx
MyBAQAogLyogRW5kIFBCWEJ1aWxkRmlsZSBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFBCWENvbnRh
aW5lckl0ZW1Qcm94eSBzZWN0aW9uICovCisJCTQxN0RBNkQ0MTM3MzRFMEQwMDdDNTdGQiAvKiBQ
QlhDb250YWluZXJJdGVtUHJveHkgKi8gPSB7CisJCQlpc2EgPSBQQlhDb250YWluZXJJdGVtUHJv
eHk7CisJCQljb250YWluZXJQb3J0YWwgPSAwODY3RDY5MEZFODQwMjhGQzAyQUFDMDcgLyogUHJv
amVjdCBvYmplY3QgKi87CisJCQlwcm94eVR5cGUgPSAxOworCQkJcmVtb3RlR2xvYmFsSURTdHJp
bmcgPSA5M0YxOThBNTA4MjQ1RTU5MDAxRTlBQkM7CisJCQlyZW1vdGVJbmZvID0gV2ViQ29yZTsK
KwkJfTsKIAkJNUQ4N0JCNkExMUUzRUJEMjAwNzAyQjZGIC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94
eSAqLyA9IHsKIAkJCWlzYSA9IFBCWENvbnRhaW5lckl0ZW1Qcm94eTsKIAkJCWNvbnRhaW5lclBv
cnRhbCA9IDA4NjdENjkwRkU4NDAyOEZDMDJBQUMwNyAvKiBQcm9qZWN0IG9iamVjdCAqLzsKQEAg
LTczMjMsNiArNzMzNiwxNCBAQAogCQk0MTZFNzVDQTBFREY5MEM3MDAzNjBFMUQgLyogU2NyaXB0
Q2FsbEZyYW1lLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNjcmlw
dENhbGxGcmFtZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxNzI1M0E4MTM1
NEJCQkMwMDM2MEYyQSAvKiBNZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNZWRpYUNvbnRyb2xFbGVtZW50cy5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxNzI1M0E5MTM1NEJCQkMwMDM2MEYyQSAvKiBNZWRpYUNv
bnRyb2xFbGVtZW50cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYUNv
bnRyb2xFbGVtZW50cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTdEQTRDRTEz
NzM0MzI2MDA3QzU3RkIgLyogSW50ZXJuYWxzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEludGVybmFscy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTdEQTRD
RjEzNzM0MzI2MDA3QzU3RkIgLyogSW50ZXJuYWxzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEludGVybmFscy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTQxN0RBNkQwMTM3MzRFMDIwMDdDNTdGQiAvKiBsaWJXZWJDb3JlVGVzdFN1cHBvcnQuYSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBleHBsaWNpdEZpbGVUeXBlID0gYXJjaGl2ZS5h
cjsgaW5jbHVkZUluSW5kZXggPSAwOyBwYXRoID0gbGliV2ViQ29yZVRlc3RTdXBwb3J0LmE7IHNv
dXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CisJCTQxN0RBNzFCMTM3MzVERkEwMDdD
NTdGQiAvKiBKU0ludGVybmFscy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU0ludGVybmFscy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxN0RB
NzFDMTM3MzVERkEwMDdDNTdGQiAvKiBKU0ludGVybmFscy5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBKU0ludGVybmFscy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk0MTgxM0Y5MTEzODE4QUQ2MDA1N0FBQTQgLyogSW50ZXJuYWxzLmlkbCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IHBhdGggPSBJbnRlcm5hbHMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0
MTgxNUMxQzEzODMxOTgzMDA1N0FBQTQgLyogV2ViQ29yZVRlc3RTdXBwb3J0LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkNvcmVUZXN0U3VwcG9ydC5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxODE1QzFEMTM4MzE5ODMwMDU3QUFBNCAvKiBX
ZWJDb3JlVGVzdFN1cHBvcnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2Vi
Q29yZVRlc3RTdXBwb3J0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxODg1Qjkx
MTFCNkZEQTYwMDMzODNCQiAvKiBGb3JtU3VibWlzc2lvbi5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBGb3JtU3VibWlzc2lvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk0MTg4NUI5MjExQjZGREE2MDAzMzgzQkIgLyogRm9ybVN1Ym1pc3Npb24uY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRm9ybVN1Ym1pc3Npb24uY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MThBMDZDRTEzM0MwNEQ1MDBDRDM3OUMgLyogRXZl
bnREaXNwYXRjaGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEV2ZW50RGlz
cGF0Y2hlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTI1MDYsNiArMTI1Mjcs
MTMgQEAKIC8qIEVuZCBQQlhGaWxlUmVmZXJlbmNlIHNlY3Rpb24gKi8KIAogLyogQmVnaW4gUEJY
RnJhbWV3b3Jrc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLworCQk0MTdEQTZDRTEzNzM0RTAyMDA3QzU3
RkIgLyogRnJhbWV3b3JrcyAqLyA9IHsKKwkJCWlzYSA9IFBCWEZyYW1ld29ya3NCdWlsZFBoYXNl
OworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKKwkJCWZpbGVzID0gKAorCQkJKTsK
KwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOworCQl9OwogCQk1RDg3
QkI0RDExRTNFQUVCMDA3MDJCNkYgLyogRnJhbWV3b3JrcyAqLyA9IHsKIAkJCWlzYSA9IFBCWEZy
YW1ld29ya3NCdWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKQEAg
LTEyNTQzLDYgKzEyNTcxLDcgQEAKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAo
CiAJCQkJNUQ4N0JCNEYxMUUzRUFFQjAwNzAyQjZGIC8qIFdlYkNvcmVFeHBvcnRGaWxlR2VuZXJh
dG9yICovLAorCQkJCTQxN0RBNkQwMTM3MzRFMDIwMDdDNTdGQiAvKiBsaWJXZWJDb3JlVGVzdFN1
cHBvcnQuYSAqLywKIAkJCQk5M0YxOUIxQTA4MjQ1RTVBMDAxRTlBQkMgLyogV2ViQ29yZS5mcmFt
ZXdvcmsgKi8sCiAJCQkpOwogCQkJbmFtZSA9IFByb2R1Y3RzOwpAQCAtMTI2MTUsNiArMTI2NDQs
NyBAQAogCQkJCUY1MjNEMkYzMDJERTQ0M0IwMTg2MzVDQSAvKiByZW5kZXJpbmcgKi8sCiAJCQkJ
MUFFODJFQzkwQ0FBRTE3NzAwMjIzN0FFIC8qIHN0b3JhZ2UgKi8sCiAJCQkJQjIyMjc3Q0EwRDAw
QkYxRTAwNzFCNzgyIC8qIHN2ZyAqLywKKwkJCQk0MTdEQTRDRDEzNzM0MjA0MDA3QzU3RkIgLyog
dGVzdGluZyAqLywKIAkJCQlGRDMxNUZBMjEyQjAyNUIxMDBDMUEzNTkgLyogd2ViYXVkaW8gKi8s
CiAJCQkJNTE4QTM0QkQxMDI2QzgzMTAwMUI2ODk2IC8qIHdlYnNvY2tldHMgKi8sCiAJCQkJMkU0
MzQ2MzEwRjU0NkE2ODAwQjBGMUJBIC8qIHdvcmtlcnMgKi8sCkBAIC0xMjgyMCw2ICsxMjg1MCw3
IEBACiAJCQkJQkM5ODU0NDYwQ0QzREE1RjAwMDY5QkMxIC8qIFJhbmdlcyAqLywKIAkJCQlBODNC
NzkxNTBDQ0IwMDc4MDAwQjA4MjUgLyogU3RvcmFnZSAqLywKIAkJCQlBODNCNzkwQTBDQ0FGRjQ3
MDAwQjA4MjUgLyogU1ZHICovLAorCQkJCTQxN0RBNzEyMTM3MzVEOTAwMDdDNTdGQiAvKiBUZXN0
aW5nICovLAogCQkJCUUxQzhCRTRCMEU4QkQwRDEwMDY0Q0I3RCAvKiBUaHJlYWRzICovLAogCQkJ
CUJDOTg1NDUzMENEM0RBOEYwMDA2OUJDMSAvKiBUcmF2ZXJzYWwgKi8sCiAJCQkJRkRBMTVFN0Ix
MkIwM0UwNDAwM0E1ODNBIC8qIFdlYkF1ZGlvICovLApAQCAtMTM0NzUsNiArMTM1MDYsMzUgQEAK
IAkJCXBhdGggPSBzaGFkb3c7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OworCQk0
MTdEQTRDRDEzNzM0MjA0MDA3QzU3RkIgLyogdGVzdGluZyAqLyA9IHsKKwkJCWlzYSA9IFBCWEdy
b3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJNDE4MTVDMUIxMzgzMTk2MzAwNTdBQUE0IC8qIGpz
ICovLAorCQkJCTQxN0RBNENGMTM3MzQzMjYwMDdDNTdGQiAvKiBJbnRlcm5hbHMuY3BwICovLAor
CQkJCTQxN0RBNENFMTM3MzQzMjYwMDdDNTdGQiAvKiBJbnRlcm5hbHMuaCAqLywKKwkJCQk0MTgx
M0Y5MTEzODE4QUQ2MDA1N0FBQTQgLyogSW50ZXJuYWxzLmlkbCAqLywKKwkJCSk7CisJCQlwYXRo
ID0gdGVzdGluZzsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisJCTQxN0RBNzEy
MTM3MzVEOTAwMDdDNTdGQiAvKiBUZXN0aW5nICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJ
CQljaGlsZHJlbiA9ICgKKwkJCQk0MTdEQTcxQjEzNzM1REZBMDA3QzU3RkIgLyogSlNJbnRlcm5h
bHMuY3BwICovLAorCQkJCTQxN0RBNzFDMTM3MzVERkEwMDdDNTdGQiAvKiBKU0ludGVybmFscy5o
ICovLAorCQkJKTsKKwkJCW5hbWUgPSBUZXN0aW5nOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsKKwkJfTsKKwkJNDE4MTVDMUIxMzgzMTk2MzAwNTdBQUE0IC8qIGpzICovID0geworCQkJaXNh
ID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk0MTgxNUMxQzEzODMxOTgzMDA1N0FB
QTQgLyogV2ViQ29yZVRlc3RTdXBwb3J0LmNwcCAqLywKKwkJCQk0MTgxNUMxRDEzODMxOTgzMDA1
N0FBQTQgLyogV2ViQ29yZVRlc3RTdXBwb3J0LmggKi8sCisJCQkpOworCQkJcGF0aCA9IGpzOwor
CQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIAkJNDM5MDQ2QzIxMkRBMjVDRTAwQUY4
MEEyIC8qIG1hdGhtbCAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAo
CkBAIC0xOTc0MSw2ICsxOTgwMSwxNiBAQAogLyogRW5kIFBCWEdyb3VwIHNlY3Rpb24gKi8KIAog
LyogQmVnaW4gUEJYSGVhZGVyc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLworCQk0MTdEQTZDQzEzNzM0
RTAyMDA3QzU3RkIgLyogSGVhZGVycyAqLyA9IHsKKwkJCWlzYSA9IFBCWEhlYWRlcnNCdWlsZFBo
YXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKKwkJCWZpbGVzID0gKAorCQkJ
CTQxN0RBNkRBMTM3MzRFNkUwMDdDNTdGQiAvKiBJbnRlcm5hbHMuaCBpbiBIZWFkZXJzICovLAor
CQkJCTQxN0RBNzFFMTM3MzVERkEwMDdDNTdGQiAvKiBKU0ludGVybmFscy5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJNDE4MTVDMUYxMzgzMTk4MzAwNTdBQUE0IC8qIFdlYkNvcmVUZXN0U3VwcG9ydC5o
IGluIEhlYWRlcnMgKi8sCisJCQkpOworCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vz
c2luZyA9IDA7CisJCX07CiAJCTkzRjE5OEE2MDgyNDVFNTkwMDFFOUFCQyAvKiBIZWFkZXJzICov
ID0gewogCQkJaXNhID0gUEJYSGVhZGVyc0J1aWxkUGhhc2U7CiAJCQlidWlsZEFjdGlvbk1hc2sg
PSAyMTQ3NDgzNjQ3OwpAQCAtMjI4NDIsNiArMjI5MTIsMjQgQEAKIC8qIEVuZCBQQlhIZWFkZXJz
QnVpbGRQaGFzZSBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFBCWE5hdGl2ZVRhcmdldCBzZWN0aW9u
ICovCisJCTQxN0RBNkNGMTM3MzRFMDIwMDdDNTdGQiAvKiBXZWJDb3JlVGVzdFN1cHBvcnQgKi8g
PSB7CisJCQlpc2EgPSBQQlhOYXRpdmVUYXJnZXQ7CisJCQlidWlsZENvbmZpZ3VyYXRpb25MaXN0
ID0gNDE3REE2RDgxMzczNEU0NzAwN0M1N0ZCIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBm
b3IgUEJYTmF0aXZlVGFyZ2V0ICJXZWJDb3JlVGVzdFN1cHBvcnQiICovOworCQkJYnVpbGRQaGFz
ZXMgPSAoCisJCQkJNDE3REE2Q0MxMzczNEUwMjAwN0M1N0ZCIC8qIEhlYWRlcnMgKi8sCisJCQkJ
NDE3REE2Q0QxMzczNEUwMjAwN0M1N0ZCIC8qIFNvdXJjZXMgKi8sCisJCQkJNDE3REE2Q0UxMzcz
NEUwMjAwN0M1N0ZCIC8qIEZyYW1ld29ya3MgKi8sCisJCQkpOworCQkJYnVpbGRSdWxlcyA9ICgK
KwkJCSk7CisJCQlkZXBlbmRlbmNpZXMgPSAoCisJCQkJNDE3REE2RDUxMzczNEUwRDAwN0M1N0ZC
IC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8sCisJCQkpOworCQkJbmFtZSA9IFdlYkNvcmVUZXN0
U3VwcG9ydDsKKwkJCXByb2R1Y3ROYW1lID0gV2ViQ29yZVRlc3RTdXBwb3J0OworCQkJcHJvZHVj
dFJlZmVyZW5jZSA9IDQxN0RBNkQwMTM3MzRFMDIwMDdDNTdGQiAvKiBsaWJXZWJDb3JlVGVzdFN1
cHBvcnQuYSAqLzsKKwkJCXByb2R1Y3RUeXBlID0gImNvbS5hcHBsZS5wcm9kdWN0LXR5cGUubGli
cmFyeS5zdGF0aWMiOworCQl9OwogCQk1RDg3QkI0RTExRTNFQUVCMDA3MDJCNkYgLyogV2ViQ29y
ZUV4cG9ydEZpbGVHZW5lcmF0b3IgKi8gPSB7CiAJCQlpc2EgPSBQQlhOYXRpdmVUYXJnZXQ7CiAJ
CQlidWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gNUQ4N0JCNTkxMUUzRUIwNzAwNzAyQjZGIC8qIEJ1
aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYTmF0aXZlVGFyZ2V0ICJXZWJDb3JlRXhwb3J0
RmlsZUdlbmVyYXRvciIgKi87CkBAIC0yMjkxMSw2ICsyMjk5OSw3IEBACiAJCQlwcm9qZWN0RGly
UGF0aCA9ICIiOwogCQkJcHJvamVjdFJvb3QgPSAiIjsKIAkJCXRhcmdldHMgPSAoCisJCQkJNDE3
REE2Q0YxMzczNEUwMjAwN0M1N0ZCIC8qIFdlYkNvcmVUZXN0U3VwcG9ydCAqLywKIAkJCQk5M0Yx
OThBNTA4MjQ1RTU5MDAxRTlBQkMgLyogV2ViQ29yZSAqLywKIAkJCQlERDA0MUZCRTA5RDlEREJF
MDAxMEFGMkEgLyogRGVyaXZlZCBTb3VyY2VzICovLAogCQkJCTVEODdCQjRFMTFFM0VBRUIwMDcw
MkI2RiAvKiBXZWJDb3JlRXhwb3J0RmlsZUdlbmVyYXRvciAqLywKQEAgLTIzMTI1LDYgKzIzMjE0
LDE2IEBACiAvKiBFbmQgUEJYU2hlbGxTY3JpcHRCdWlsZFBoYXNlIHNlY3Rpb24gKi8KIAogLyog
QmVnaW4gUEJYU291cmNlc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLworCQk0MTdEQTZDRDEzNzM0RTAy
MDA3QzU3RkIgLyogU291cmNlcyAqLyA9IHsKKwkJCWlzYSA9IFBCWFNvdXJjZXNCdWlsZFBoYXNl
OworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKKwkJCWZpbGVzID0gKAorCQkJCTQx
N0RBNkQ5MTM3MzRFNkUwMDdDNTdGQiAvKiBJbnRlcm5hbHMuY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJNDE3REE3MUQxMzczNURGQTAwN0M1N0ZCIC8qIEpTSW50ZXJuYWxzLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCTQxODE1QzFFMTM4MzE5ODMwMDU3QUFBNCAvKiBXZWJDb3JlVGVzdFN1cHBvcnQu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkpOworCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJv
Y2Vzc2luZyA9IDA7CisJCX07CiAJCTVEODdCQjRDMTFFM0VBRUIwMDcwMkI2RiAvKiBTb3VyY2Vz
ICovID0gewogCQkJaXNhID0gUEJYU291cmNlc0J1aWxkUGhhc2U7CiAJCQlidWlsZEFjdGlvbk1h
c2sgPSAyMTQ3NDgzNjQ3OwpAQCAtMjU1MTgsNiArMjU2MTcsMTEgQEAKIC8qIEVuZCBQQlhTb3Vy
Y2VzQnVpbGRQaGFzZSBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFBCWFRhcmdldERlcGVuZGVuY3kg
c2VjdGlvbiAqLworCQk0MTdEQTZENTEzNzM0RTBEMDA3QzU3RkIgLyogUEJYVGFyZ2V0RGVwZW5k
ZW5jeSAqLyA9IHsKKwkJCWlzYSA9IFBCWFRhcmdldERlcGVuZGVuY3k7CisJCQl0YXJnZXQgPSA5
M0YxOThBNTA4MjQ1RTU5MDAxRTlBQkMgLyogV2ViQ29yZSAqLzsKKwkJCXRhcmdldFByb3h5ID0g
NDE3REE2RDQxMzczNEUwRDAwN0M1N0ZCIC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLzsKKwkJ
fTsKIAkJNUQ4N0JCNkIxMUUzRUJEMjAwNzAyQjZGIC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8g
PSB7CiAJCQlpc2EgPSBQQlhUYXJnZXREZXBlbmRlbmN5OwogCQkJdGFyZ2V0ID0gNUQ4N0JCNjQx
MUUzRUJDMTAwNzAyQjZGIC8qIFdlYkNvcmVFeHBvcnRGaWxlR2VuZXJhdG9yIEdlbmVyYXRvciAq
LzsKQEAgLTI1NjIxLDYgKzI1NzI1LDU5IEBACiAJCQl9OwogCQkJbmFtZSA9IFByb2R1Y3Rpb247
CiAJCX07CisJCTQxN0RBNkQxMTM3MzRFMDIwMDdDNTdGQiAvKiBEZWJ1ZyAqLyA9IHsKKwkJCWlz
YSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOworCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2Ug
PSAxQ0RENDVFNTBCQTlDODQ2MDBGOTAxNDcgLyogV2ViQ29yZS54Y2NvbmZpZyAqLzsKKwkJCWJ1
aWxkU2V0dGluZ3MgPSB7CisJCQkJQUxXQVlTX1NFQVJDSF9VU0VSX1BBVEhTID0gTk87CisJCQkJ
Q09QWV9QSEFTRV9TVFJJUCA9IE5POworCQkJCUVYUE9SVEVEX1NZTUJPTFNfRklMRSA9ICIiOwor
CQkJCUdDQ19EWU5BTUlDX05PX1BJQyA9IE5POworCQkJCUdDQ19FTkFCTEVfRklYX0FORF9DT05U
SU5VRSA9IFlFUzsKKwkJCQlHQ0NfTU9ERUxfVFVOSU5HID0gRzU7CisJCQkJR0NDX09QVElNSVpB
VElPTl9MRVZFTCA9IDA7CisJCQkJSU5TVEFMTF9QQVRIID0gL3Vzci9sb2NhbC9saWI7CisJCQkJ
T1RIRVJfTERGTEFHUyA9ICIiOworCQkJCVBSRUJJTkRJTkcgPSBOTzsKKwkJCQlQUklWQVRFX0hF
QURFUlNfRk9MREVSX1BBVEggPSBXZWJDb3JlVGVzdFN1cHBvcnQ7CisJCQkJUFJPRFVDVF9OQU1F
ID0gV2ViQ29yZVRlc3RTdXBwb3J0OworCQkJfTsKKwkJCW5hbWUgPSBEZWJ1ZzsKKwkJfTsKKwkJ
NDE3REE2RDIxMzczNEUwMjAwN0M1N0ZCIC8qIFJlbGVhc2UgKi8gPSB7CisJCQlpc2EgPSBYQ0J1
aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gMUNERDQ1
RTUwQkE5Qzg0NjAwRjkwMTQ3IC8qIFdlYkNvcmUueGNjb25maWcgKi87CisJCQlidWlsZFNldHRp
bmdzID0geworCQkJCUFMV0FZU19TRUFSQ0hfVVNFUl9QQVRIUyA9IE5POworCQkJCUNPUFlfUEhB
U0VfU1RSSVAgPSBZRVM7CisJCQkJREVCVUdfSU5GT1JNQVRJT05fRk9STUFUID0gImR3YXJmLXdp
dGgtZHN5bSI7CisJCQkJRVhQT1JURURfU1lNQk9MU19GSUxFID0gIiI7CisJCQkJR0NDX0VOQUJM
RV9GSVhfQU5EX0NPTlRJTlVFID0gTk87CisJCQkJR0NDX01PREVMX1RVTklORyA9IEc1OworCQkJ
CUlOU1RBTExfUEFUSCA9IC91c3IvbG9jYWwvbGliOworCQkJCU9USEVSX0xERkxBR1MgPSAiIjsK
KwkJCQlQUkVCSU5ESU5HID0gTk87CisJCQkJUFJJVkFURV9IRUFERVJTX0ZPTERFUl9QQVRIID0g
V2ViQ29yZVRlc3RTdXBwb3J0OworCQkJCVBST0RVQ1RfTkFNRSA9IFdlYkNvcmVUZXN0U3VwcG9y
dDsKKwkJCX07CisJCQluYW1lID0gUmVsZWFzZTsKKwkJfTsKKwkJNDE3REE2RDMxMzczNEUwMjAw
N0M1N0ZCIC8qIFByb2R1Y3Rpb24gKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlv
bjsKKwkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gMUNERDQ1RTUwQkE5Qzg0NjAwRjkw
MTQ3IC8qIFdlYkNvcmUueGNjb25maWcgKi87CisJCQlidWlsZFNldHRpbmdzID0geworCQkJCUFM
V0FZU19TRUFSQ0hfVVNFUl9QQVRIUyA9IE5POworCQkJCUVYUE9SVEVEX1NZTUJPTFNfRklMRSA9
ICIiOworCQkJCUdDQ19FTkFCTEVfRklYX0FORF9DT05USU5VRSA9IFlFUzsKKwkJCQlHQ0NfTU9E
RUxfVFVOSU5HID0gRzU7CisJCQkJSU5TVEFMTF9QQVRIID0gL3Vzci9sb2NhbC9saWI7CisJCQkJ
T1RIRVJfTERGTEFHUyA9ICIiOworCQkJCVBSRUJJTkRJTkcgPSBOTzsKKwkJCQlQUklWQVRFX0hF
QURFUlNfRk9MREVSX1BBVEggPSBXZWJDb3JlVGVzdFN1cHBvcnQ7CisJCQkJUFJPRFVDVF9OQU1F
ID0gV2ViQ29yZVRlc3RTdXBwb3J0OworCQkJfTsKKwkJCW5hbWUgPSBQcm9kdWN0aW9uOworCQl9
OwogCQk1RDg3QkI1MTExRTNFQUVCMDA3MDJCNkYgLyogRGVidWcgKi8gPSB7CiAJCQlpc2EgPSBY
Q0J1aWxkQ29uZmlndXJhdGlvbjsKIAkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gMUNE
RDQ1RTUwQkE5Qzg0NjAwRjkwMTQ3IC8qIFdlYkNvcmUueGNjb25maWcgKi87CkBAIC0yNTcyNiw2
ICsyNTg4MywxNiBAQAogCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25Jc1Zpc2libGUgPSAwOwogCQkJ
ZGVmYXVsdENvbmZpZ3VyYXRpb25OYW1lID0gUHJvZHVjdGlvbjsKIAkJfTsKKwkJNDE3REE2RDgx
MzczNEU0NzAwN0M1N0ZCIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYTmF0aXZl
VGFyZ2V0ICJXZWJDb3JlVGVzdFN1cHBvcnQiICovID0geworCQkJaXNhID0gWENDb25maWd1cmF0
aW9uTGlzdDsKKwkJCWJ1aWxkQ29uZmlndXJhdGlvbnMgPSAoCisJCQkJNDE3REE2RDExMzczNEUw
MjAwN0M1N0ZCIC8qIERlYnVnICovLAorCQkJCTQxN0RBNkQyMTM3MzRFMDIwMDdDNTdGQiAvKiBS
ZWxlYXNlICovLAorCQkJCTQxN0RBNkQzMTM3MzRFMDIwMDdDNTdGQiAvKiBQcm9kdWN0aW9uICov
LAorCQkJKTsKKwkJCWRlZmF1bHRDb25maWd1cmF0aW9uSXNWaXNpYmxlID0gMDsKKwkJCWRlZmF1
bHRDb25maWd1cmF0aW9uTmFtZSA9IFByb2R1Y3Rpb247CisJCX07CiAJCTVEODdCQjU5MTFFM0VC
MDcwMDcwMkI2RiAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWE5hdGl2ZVRhcmdl
dCAiV2ViQ29yZUV4cG9ydEZpbGVHZW5lcmF0b3IiICovID0gewogCQkJaXNhID0gWENDb25maWd1
cmF0aW9uTGlzdDsKIAkJCWJ1aWxkQ29uZmlndXJhdGlvbnMgPSAoCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDQ1Zjk2ZGNmYzg2MDZhODI5MDBjMzc5NGYzMDQ0
NTI5MzkzZTA2MAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmNwcApAQCAtMCwwICsxLDQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAi
QVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAq
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
I2luY2x1ZGUgIkludGVybmFscy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1Bhc3NSZWZQ
dHI8SW50ZXJuYWxzPiBJbnRlcm5hbHM6OmNyZWF0ZSgpCit7CisgICAgcmV0dXJuIGFkb3B0UmVm
KG5ldyBJbnRlcm5hbHMoKSk7Cit9CisKK0ludGVybmFsczo6fkludGVybmFscygpCit7Cit9CisK
K0ludGVybmFsczo6SW50ZXJuYWxzKCkKK3sKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uY2JiZDliOWMwM2I0OTJiZjFhYTQ0YzExMTNiNGIwYTYwZDNlOTRl
NQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgK
QEAgLTAsMCArMSw0NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICog
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgSW50ZXJuYWxzX2gKKyNkZWZpbmUgSW50
ZXJuYWxzX2gKKworI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1Jl
ZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBJbnRlcm5hbHMgOiBw
dWJsaWMgUmVmQ291bnRlZDxJbnRlcm5hbHM+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxJbnRlcm5hbHM+IGNyZWF0ZSgpOworICAgIHZpcnR1YWwgfkludGVybmFscygpOworCitw
cml2YXRlOgorICAgIEludGVybmFscygpOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlk
bCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNTAx
MWNlZjMyYzFiNzFmMDZkNzA3MmY5YjYwZDBjOTFiNDM0MDI5Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCkBAIC0wLDAgKzEsMjkgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAg
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAor
ICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCittb2R1bGUgd2luZG93IHsKKyAgICBpbnRlcmZhY2UgW09taXRDb25zdHJ1Y3Rvcl0gSW50
ZXJuYWxzIHsKKyAgICB9OworfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvanMvV2ViQ29yZVRlc3RTdXBwb3J0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvanMvV2ViQ29yZVRlc3RTdXBwb3J0LmNwcApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43MGJiOTE2MTRlYjAyNGQ1MGZlYTE4MjIxYmFkM2M2MmFiZGVkMWY5Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9qcy9XZWJDb3JlVGVzdFN1cHBvcnQuY3BwCkBA
IC0wLDAgKzEsNDcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2Vi
Q29yZVRlc3RTdXBwb3J0LmgiCisKKyNpbmNsdWRlICJJbnRlcm5hbHMuaCIKKyNpbmNsdWRlICJK
U0RPTUdsb2JhbE9iamVjdC5oIgorI2luY2x1ZGUgIkpTSW50ZXJuYWxzLmgiCisjaW5jbHVkZSA8
SmF2YVNjcmlwdENvcmUvQVBJQ2FzdC5oPgorI2luY2x1ZGUgPGludGVycHJldGVyL0NhbGxGcmFt
ZS5oPgorCit1c2luZyBuYW1lc3BhY2UgSlNDOwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisK
K25hbWVzcGFjZSBXZWJDb3JlVGVzdFN1cHBvcnQgeworCit2b2lkIGluamVjdEludGVybmFsc09i
amVjdChKU0NvbnRleHRSZWYgY29udGV4dCkKK3sKKyAgICBFeGVjU3RhdGUqIGV4ZWMgPSB0b0pT
KGNvbnRleHQpOworICAgIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QgPSBzdGF0aWNf
Y2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSk7Cisg
ICAgZ2xvYmFsT2JqZWN0LT5wdXREaXJlY3QoZXhlYy0+Z2xvYmFsRGF0YSgpLCBJZGVudGlmaWVy
KGV4ZWMsICJpbnRlcm5hbHMiKSwgdG9KUyhleGVjLCBnbG9iYWxPYmplY3QsIEludGVybmFsczo6
Y3JlYXRlKCkpKTsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9q
cy9XZWJDb3JlVGVzdFN1cHBvcnQuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvanMvV2ViQ29y
ZVRlc3RTdXBwb3J0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjZkN2VkNDliM2JmN2I3NmExNGNkNTg5ODY0OGEx
YmYzNGEwMTI2ZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvanMv
V2ViQ29yZVRlc3RTdXBwb3J0LmgKQEAgLTAsMCArMSwzNyBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05U
UklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV2Vi
Q29yZVRlc3RTdXBwb3J0X2gKKyNkZWZpbmUgV2ViQ29yZVRlc3RTdXBwb3J0X2gKKwordHlwZWRl
ZiBjb25zdCBzdHJ1Y3QgT3BhcXVlSlNDb250ZXh0KiBKU0NvbnRleHRSZWY7CisKK25hbWVzcGFj
ZSBXZWJDb3JlVGVzdFN1cHBvcnQgeworCit2b2lkIGluamVjdEludGVybmFsc09iamVjdChKU0Nv
bnRleHRSZWYpOworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy92OC9XZWJDb3JlVGVzdFN1cHBvcnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvdGVzdGluZy92OC9XZWJDb3JlVGVzdFN1cHBvcnQuY3BwCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjlhZjkzNzViNjgzNDA5NTIwMmI4ZGJlMGE2NWMxZWVmZDdkNTg4ZGEKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL3Y4L1dlYkNvcmVUZXN0U3VwcG9ydC5jcHAKQEAg
LTAsMCArMSw0NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
CisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJD
b3JlVGVzdFN1cHBvcnQuaCIKKworI2luY2x1ZGUgIkludGVybmFscy5oIgorI2luY2x1ZGUgIlY4
SW50ZXJuYWxzLmgiCisKKyNpbmNsdWRlIDx2OC5oPgorCit1c2luZyBuYW1lc3BhY2UgV2ViQ29y
ZTsKKworbmFtZXNwYWNlIFdlYkNvcmVUZXN0U3VwcG9ydCB7CisKK3ZvaWQgaW5qZWN0SW50ZXJu
YWxzT2JqZWN0KHY4OjpMb2NhbDx2ODo6Q29udGV4dD4gY29udGV4dCkKK3sKKyAgICB2ODo6Q29u
dGV4dDo6U2NvcGUgY29udGV4dFNjb3BlKGNvbnRleHQpOworICAgIHY4OjpIYW5kbGVTY29wZSBz
Y29wZTsKKworICAgIGNvbnRleHQtPkdsb2JhbCgpLT5TZXQodjg6OlN0cmluZzo6TmV3KCJpbnRl
cm5hbHMiKSwgdG9WOChJbnRlcm5hbHM6OmNyZWF0ZSgpKSk7Cit9CisKK30KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvdjgvV2ViQ29yZVRlc3RTdXBwb3J0LmggYi9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL3Y4L1dlYkNvcmVUZXN0U3VwcG9ydC5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjllM2Q1
ODc2NzAyM2JmYzg5NmQzMWYzOGM2OWM4NWU0N2JjMjI2ZTgKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL3Y4L1dlYkNvcmVUZXN0U3VwcG9ydC5oCkBAIC0wLDAgKzEs
NDAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICog
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaWZuZGVmIFdlYkNvcmVUZXN0U3VwcG9ydF9oCisjZGVmaW5lIFdlYkNv
cmVUZXN0U3VwcG9ydF9oCisKK25hbWVzcGFjZSB2OCB7CitjbGFzcyBDb250ZXh0OwordGVtcGxh
dGUgPGNsYXNzIFQ+IGNsYXNzIExvY2FsOworfQorCituYW1lc3BhY2UgV2ViQ29yZVRlc3RTdXBw
b3J0IHsKKwordm9pZCBpbmplY3RJbnRlcm5hbHNPYmplY3Qodjg6OkxvY2FsPHY4OjpDb250ZXh0
Pik7CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nCmluZGV4IDI2MmZhNWFkODZkYzMyMzJiYWQzYzZiNmIzNjI5ODJlYTZhYTRkYTguLmRh
YjU3NzZlOGZkYzJmYmVkYzlmN2NiNmEzZWVlN2RlOGVkNWM0NDMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDUtMTggIERpbWl0cmkgR2xhemtvdiAg
PGRnbGF6a292QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGQgYnVpbGQgbG9naXN0aWNzIGFuZCBwbHVtYmluZyBmb3Igd2lu
ZG93LmludGVybmFscyBvYmplY3QuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD02MDMxMworCisgICAgICAgICogV2ViS2l0Lmd5cDogQWRkZWQgbGlua2lu
ZyBuZXcgd2Via2l0X3Rlc3Rfc3VwcG9ydCBsaWJyYXJ5LgorICAgICAgICAqIHB1YmxpYy9XZWJU
ZXN0aW5nU3VwcG9ydC5oOiBBZGRlZC4KKyAgICAgICAgKiBzcmMvV2ViVGVzdGluZ1N1cHBvcnQu
Y3BwOiBBZGRlZC4KKwogMjAxMS0wNS0xNyAgTWlraGFpbCBOYWdhbm92ICA8bW5hZ2Fub3ZAY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRtYW4uCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL1dlYktpdC5neXAKaW5kZXggODFlYzlhNDkxMThiNGQ0ZjNkYzc4ZTkwZDcwODVhNzI3
ZjVkYTkzZC4uNjMzY2Q2YjMzNmU5Mjc0ZTJkYzQyZGNkY2NjNGZjNzMwNzdmYWM2NyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vV2ViS2l0Lmd5cApAQCAtNjA0LDYgKzYwNCw3IEBACiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVwZW5kZW5j
aWVzJzogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLi4vLi4vV2ViQ29yZS9X
ZWJDb3JlLmd5cC9XZWJDb3JlLmd5cDp3ZWJjb3JlX2JpbmRpbmdzJywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJy4uLy4uL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXA6
d2ViY29yZV90ZXN0X3N1cHBvcnQnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn
PChjaHJvbWl1bV9zcmNfZGlyKS9iYXNlL2Jhc2UuZ3lwOnRlc3Rfc3VwcG9ydF9iYXNlJywKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzwoY2hyb21pdW1fc3JjX2RpcikvYnVpbGQv
dGVtcF9neXAvZ29vZ2xldXJsLmd5cDpnb29nbGV1cmwnLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS90ZXN0aW5nL2d0ZXN0Lmd5cDpndGVzdCcs
CkBAIC02MzAsNiArNjMxLDggQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICdzb3VyY2VzJzogWwogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAnPEAod2Via2l0X3VuaXR0ZXN0X2ZpbGVzKScsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICdzcmMvV2ViVGVzdGluZ1N1cHBvcnQuY3BwJywKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJUZXN0aW5nU3VwcG9ydC5oJywKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Rlc3RzL1dlYlVuaXRUZXN0cy5jcHAnLCAg
ICMgQ29tcG9uZW50cyB0ZXN0IHJ1bm5lciBzdXBwb3J0LgogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NvdXJjZXMhJzogWwpAQCAt
MTA4NSw2ICsxMDg4LDIwIEBACiAgICAgICAgICAgICAgICAgICAgICAgICAnPChjaHJvbWl1bV9z
cmNfZGlyKS93ZWJraXQvc3VwcG9ydC9zZXR1cF90aGlyZF9wYXJ0eS5neXA6dGhpcmRfcGFydHlf
aGVhZGVycycsCiAgICAgICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgICAgICB9XSwKKyAg
ICAgICAgICAgICAgICBbJ2NvbXBvbmVudCE9InNoYXJlZF9saWJyYXJ5IicsIHsKKyAgICAgICAg
ICAgICAgICAgICAgJ2RlcGVuZGVuY2llcyc6IFsKKyAgICAgICAgICAgICAgICAgICAgICAgICcu
Li8uLi9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwOndlYmNvcmVfdGVzdF9zdXBwb3J0
JywKKyAgICAgICAgICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICAgICAgICAgJ2luY2x1ZGVf
ZGlycyc6IFsKKyAgICAgICAgICAgICAgICAgICAgICAgICMgV0FSTklORzogRG8gbm90IHZpZXcg
dGhpcyBwYXJ0aWN1bGFyIGNhc2UgYXMgYSBwcmVjZWRlbnQgZm9yCisgICAgICAgICAgICAgICAg
ICAgICAgICAjIGluY2x1ZGluZyBXZWJDb3JlIGhlYWRlcnMgaW4gRHVtcFJlbmRlclRyZWUgcHJv
amVjdC4KKyAgICAgICAgICAgICAgICAgICAgICAgICcuLi8uLi9XZWJDb3JlL3Rlc3Rpbmcvdjgn
LCAjIGZvciBXZWJDb3JlVGVzdFN1cHBvcnQuaCwgbmVlZGVkIHRvIGxpbmsgaW4gd2luZG93Lmlu
dGVybmFscyBjb2RlLgorICAgICAgICAgICAgICAgICAgICBdLAorICAgICAgICAgICAgICAgICAg
ICAnc291cmNlcyc6IFsKKyAgICAgICAgICAgICAgICAgICAgICAgICdzcmMvV2ViVGVzdGluZ1N1
cHBvcnQuY3BwJywKKyAgICAgICAgICAgICAgICAgICAgICAgICdwdWJsaWMvV2ViVGVzdGluZ1N1
cHBvcnQuaCcsCisgICAgICAgICAgICAgICAgICAgIF0sCisgICAgICAgICAgICAgICAgfV0sCiAg
ICAgICAgICAgICBdLAogICAgICAgICB9LAogICAgICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJUZXN0aW5nU3VwcG9ydC5oIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9wdWJsaWMvV2ViVGVzdGluZ1N1cHBvcnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jZGY0NTU1
YzMxMWRjNjkwMTZjYjk0ODUyMmY5MzFjZjZlYTk3NjIxCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVGVzdGluZ1N1cHBvcnQuaApAQCAtMCwwICsx
LDQyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAq
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2lmbmRlZiBXZWJUZXN0aW5nU3VwcG9ydF9oCisjZGVmaW5lIFdlYlRl
c3RpbmdTdXBwb3J0X2gKKworI2luY2x1ZGUgIldlYkNvbW1vbi5oIgorCituYW1lc3BhY2UgV2Vi
S2l0IHsKKworY2xhc3MgV2ViRnJhbWU7CisKK2NsYXNzIFdlYlRlc3RpbmdTdXBwb3J0IHsKK3B1
YmxpYzoKKyAgICBXRUJLSVRfQVBJIHN0YXRpYyB2b2lkIGluamVjdEludGVybmFsc09iamVjdChX
ZWJGcmFtZSopOworfTsKKworfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYlRlc3RpbmdTdXBwb3J0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYlRlc3RpbmdTdXBwb3J0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yODE1OTg0ZjNkNDk4Yzlm
ZTFjYzBhMTY4ZjQwODVhOTFmYWI1MDk0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViVGVzdGluZ1N1cHBvcnQuY3BwCkBAIC0wLDAgKzEsNDEgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAg
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAor
ICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworIAorI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYlRlc3RpbmdTdXBwb3J0Lmgi
CisKKyNpbmNsdWRlICJXZWJDb3JlVGVzdFN1cHBvcnQuaCIKKyNpbmNsdWRlICJXZWJGcmFtZS5o
IgorI2luY2x1ZGUgPHY4L2luY2x1ZGUvdjguaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3Zv
aWQgV2ViVGVzdGluZ1N1cHBvcnQ6OmluamVjdEludGVybmFsc09iamVjdChXZWJGcmFtZSogZnJh
bWUpCit7CisgICAgdjg6OkhhbmRsZVNjb3BlIGhhbmRsZVNjb3BlOworICAgIFdlYkNvcmVUZXN0
U3VwcG9ydDo6aW5qZWN0SW50ZXJuYWxzT2JqZWN0KGZyYW1lLT5tYWluV29ybGRTY3JpcHRDb250
ZXh0KCkpOworfQorCit9CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFu
Z2VMb2cKaW5kZXggYTVlODdjYzRmNjc5ZjYwNGVlYWQzOWY0ZTNmY2E3MTg2NWU1OTZhZi4uZjY1
Mjg5YjAxOTRjMGM4NDc0ZGJiMzcwNzVkNzk2ZjdmYTY1MThmNSAxMDA2NDQKLS0tIGEvVG9vbHMv
Q2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDExLTA1
LTE4ICBEaW1pdHJpIEdsYXprb3YgIDxkZ2xhemtvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGJ1aWxkIGxvZ2lzdGlj
cyBhbmQgcGx1bWJpbmcgZm9yIHdpbmRvdy5pbnRlcm5hbHMgb2JqZWN0LgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjAzMTMKKworICAgICAgICAqIER1
bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6IEFk
ZGVkIGxpbmtpbmcgbmV3IFdlYkNvcmVUZXN0U3VwcG9ydCBsaWJyYXJ5LgorICAgICAgICAqIER1
bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5jcHA6CisgICAgICAgIChUZXN0U2hlbGw6
OmJpbmRKU09iamVjdHNUb1dpbmRvdyk6IEFkZGVkIGluamVjdGlvbiBjb2RlLgorICAgICAgICAq
IER1bXBSZW5kZXJUcmVlL21hYy9GcmFtZUxvYWREZWxlZ2F0ZS5tbToKKyAgICAgICAgKC1bRnJh
bWVMb2FkRGVsZWdhdGUgZGlkQ2xlYXJXaW5kb3dPYmplY3RJblN0YW5kYXJkV29ybGRGb3JGcmFt
ZTpdKTogRGl0dG8uCisKIDIwMTEtMDUtMTggIEFkYW0gUm9iZW4gIDxhcm9iZW5AYXBwbGUuY29t
PgogCiAgICAgICAgIEFkZCBhIG5ldyBwYWdlIHRvIGJ1aWxkLndlYmtpdC5vcmcgdG8gaGVscCBm
aW5kIHdoZW4gdGVzdHMgc3RhcnRlZCBmYWlsaW5nCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvRHVtcFJlbmRlclRyZWUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpp
bmRleCA3MzZhMTAzMDY1ZWE5Y2NlMGY1ZDMyODgzMGY0M2ZhMTQxNDM0OGQ2Li5kMTU5ZTQwZTMy
OGNjZTE5ODc5ZGJhZTRkMGRkNmI2N2JmY2NjZGZlIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKQEAgLTU2LDYgKzU2LDggQEAKIAkJMzcxM0VERTMxMTVCRTE5MzAwNzA1NzIwIC8qIENvbG9y
Qml0cy50dGYgaW4gQ29weSBGb250IEZpbGVzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDM3MTNFREUwMTE1QkUxNkYwMDcwNTcyMCAvKiBDb2xvckJpdHMudHRmICovOyB9Owog
CQkzQTU2MjZDQjEzMUNBMDJBMDAyQkU2RDkgLyogU3RvcmFnZVRyYWNrZXJEZWxlZ2F0ZS5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDNBNTYyNkMxMTMx
QzhCMTcwMDJCRTZEOSAvKiBTdG9yYWdlVHJhY2tlckRlbGVnYXRlLm1tICovOyB9OwogCQkzQTU2
MjZDQzEzMUNBMDM2MDAyQkU2RDkgLyogU3RvcmFnZVRyYWNrZXJEZWxlZ2F0ZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gM0E1NjI2QzAxMzFDOEIxNzAw
MkJFNkQ5IC8qIFN0b3JhZ2VUcmFja2VyRGVsZWdhdGUuaCAqLzsgfTsKKwkJNDE3REFBMUQxMzdC
M0UyNDAwN0M1N0ZCIC8qIFdlYkNvcmVUZXN0U3VwcG9ydC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE3REFBMUMxMzdCM0UyNDAwN0M1N0ZCIC8qIFdl
YkNvcmVUZXN0U3VwcG9ydC5oICovOyB9OworCQk0MTdEQUFFRjEzN0I0MEVGMDA3QzU3RkIgLyog
bGliV2ViQ29yZVRlc3RTdXBwb3J0LmEgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0MTdEQTcwMDEzNzM1MDM3MDA3QzU3RkIgLyogbGliV2ViQ29yZVRl
c3RTdXBwb3J0LmEgKi87IH07CiAJCTQ0MDU5MDcxMTI2ODQ1MzgwMENGRDQ4RCAvKiBXZWJBcmNo
aXZlRHVtcFN1cHBvcnRNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0NDA1OTA3MDEyNjg0NTM4MDBDRkQ0OEQgLyogV2ViQXJjaGl2ZUR1bXBTdXBw
b3J0TWFjLm1tICovOyB9OwogCQk0NDM3NzMwRTEyNUNCQzM2MDBBQUUwMkMgLyogV2ViQXJjaGl2
ZUR1bXBTdXBwb3J0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQ0QTk5NzgzMEZDREU4NjQwMDU4MEYxMCAvKiBXZWJBcmNoaXZlRHVtcFN1cHBvcnQu
Y3BwICovOyB9OwogCQk0NDM3NzMwRjEyNUNCQzREMDBBQUUwMkMgLyogV2ViQXJjaGl2ZUR1bXBT
dXBwb3J0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
NEE5OTc4MjBGQ0RFODY0MDA1ODBGMTAgLyogV2ViQXJjaGl2ZUR1bXBTdXBwb3J0LmggKi87IH07
CkBAIC0yNDUsNiArMjQ3LDggQEAKIAkJMzc1RjA5NzkwREFDM0NCNjAwQzhCNEU1IC8qIFdlYktp
dFdlaWdodFdhdGNoZXI5MDAudHRmICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gZmlsZTsgbmFtZSA9IFdlYktpdFdlaWdodFdhdGNoZXI5MDAudHRmOyBw
YXRoID0gZm9udHMvV2ViS2l0V2VpZ2h0V2F0Y2hlcjkwMC50dGY7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTNBNTYyNkMwMTMxQzhCMTcwMDJCRTZEOSAvKiBTdG9yYWdlVHJhY2tlckRl
bGVnYXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0b3JhZ2VUcmFja2Vy
RGVsZWdhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJM0E1NjI2QzExMzFDOEIx
NzAwMkJFNkQ5IC8qIFN0b3JhZ2VUcmFja2VyRGVsZWdhdGUubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTdG9yYWdlVHJhY2tlckRlbGVnYXRlLm1tOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk0MTdEQTcwMDEzNzM1MDM3MDA3QzU3RkIgLyogbGliV2Vi
Q29yZVRlc3RTdXBwb3J0LmEgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBhcmNoaXZlLmFyOyBwYXRoID0gbGliV2ViQ29yZVRlc3RTdXBwb3J0LmE7IHNv
dXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CisJCTQxN0RBQTFDMTM3QjNFMjQwMDdD
NTdGQiAvKiBXZWJDb3JlVGVzdFN1cHBvcnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBu
YW1lID0gV2ViQ29yZVRlc3RTdXBwb3J0Lmg7IHBhdGggPSBXZWJDb3JlVGVzdFN1cHBvcnQvV2Vi
Q29yZVRlc3RTdXBwb3J0Lmg7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJ
CTQ0MDU5MDcwMTI2ODQ1MzgwMENGRDQ4RCAvKiBXZWJBcmNoaXZlRHVtcFN1cHBvcnRNYWMubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBXZWJBcmNoaXZlRHVtcFN1
cHBvcnRNYWMubW07IHBhdGggPSBtYWMvV2ViQXJjaGl2ZUR1bXBTdXBwb3J0TWFjLm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NEE5OTc4MjBGQ0RFODY0MDA1ODBGMTAgLyogV2Vi
QXJjaGl2ZUR1bXBTdXBwb3J0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdl
YkFyY2hpdmVEdW1wU3VwcG9ydC5oOyBwYXRoID0gY2YvV2ViQXJjaGl2ZUR1bXBTdXBwb3J0Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0QTk5NzgzMEZDREU4NjQwMDU4MEYxMCAv
KiBXZWJBcmNoaXZlRHVtcFN1cHBvcnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBuYW1lID0gV2ViQXJjaGl2ZUR1bXBTdXBwb3J0LmNwcDsgcGF0aCA9IGNmL1dlYkFyY2hpdmVE
dW1wU3VwcG9ydC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0zNTksNiArMzYz
LDcgQEAKIAkJCQlBODE3MDkwNDA4QjE2NEQzMDBDQ0I5RkIgLyogSmF2YVNjcmlwdENvcmUuZnJh
bWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCiAJCQkJMjNCQ0I4OTAwRUE1NzYyMzAwM0M2Mjg5IC8q
IE9wZW5HTC5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKIAkJCQk5MzQwOTk1MTA4NTQwQ0FF
MDA3RjNCQzggLyogV2ViS2l0LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAorCQkJCTQxN0RB
QUVGMTM3QjQwRUYwMDdDNTdGQiAvKiBsaWJXZWJDb3JlVGVzdFN1cHBvcnQuYSBpbiBGcmFtZXdv
cmtzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAw
OwogCQl9OwpAQCAtNDAzLDYgKzQwOCw3IEBACiAJCQkJQThCOTFBQzQwQ0YzQjE3MDAwOEY5MUZG
IC8qIE9iakNQbHVnaW4gKi8sCiAJCQkJMTQxQkYxRjUwOTZBNDM5ODAwRTA3NTNDIC8qIFRlc3RO
ZXRzY2FwZVBsdWdJbiAqLywKIAkJCQk5MzQ1MjI5QjBCRDEyQjJDMDA4NkVEQTAgLyogUmVzb3Vy
Y2VzICovLAorCQkJCTQxN0RBOTE4MTM3MzY3NEQwMDdDNTdGQiAvKiBXZWJDb3JlVGVzdFN1cHBv
cnQgKi8sCiAJCQkJQTgwM0ZGNjQwOUNBQUNDMTAwOUIyQTM3IC8qIEZyYW1ld29ya3MgKi8sCiAJ
CQkJOTM0MDk5NTUwODU0MENBRjAwN0YzQkM4IC8qIFByb2R1Y3RzICovLAogCQkJCUJDQjI4MUVE
MENGQTcxMUQwMDdFNTMzRSAvKiBDb25maWd1cmF0aW9ucyAqLywKQEAgLTUxNCw2ICs1MjAsMTUg
QEAKIAkJCXBhdGggPSBtYWM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OworCQk0
MTdEQTkxODEzNzM2NzREMDA3QzU3RkIgLyogV2ViQ29yZVRlc3RTdXBwb3J0ICovID0geworCQkJ
aXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk0MTdEQUExQzEzN0IzRTI0MDA3
QzU3RkIgLyogV2ViQ29yZVRlc3RTdXBwb3J0LmggKi8sCisJCQkJNDE3REE3MDAxMzczNTAzNzAw
N0M1N0ZCIC8qIGxpYldlYkNvcmVUZXN0U3VwcG9ydC5hICovLAorCQkJKTsKKwkJCW5hbWUgPSBX
ZWJDb3JlVGVzdFN1cHBvcnQ7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OwogCQk5
MzQwOTk1NTA4NTQwQ0FGMDA3RjNCQzggLyogUHJvZHVjdHMgKi8gPSB7CiAJCQlpc2EgPSBQQlhH
cm91cDsKIAkJCWNoaWxkcmVuID0gKApAQCAtNjU5LDYgKzY3NCw3IEBACiAJCQkJRTFCNzgxNjcx
MUFGMzFDMzAwN0UxQkMyIC8qIE1vY2tHZW9sb2NhdGlvblByb3ZpZGVyLmggaW4gSGVhZGVycyAq
LywKIAkJCQkyOUNGQkExMDEyMjczNkU2MDBCQzMwQzAgLyogQWNjZXNzaWJpbGl0eVRleHRNYXJr
ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTNBNTYyNkNDMTMxQ0EwMzYwMDJCRTZEOSAvKiBTdG9y
YWdlVHJhY2tlckRlbGVnYXRlLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MTdEQUExRDEzN0IzRTI0
MDA3QzU3RkIgLyogV2ViQ29yZVRlc3RTdXBwb3J0LmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJ
CQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdp
dCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5jcHAgYi9Ub29scy9E
dW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuY3BwCmluZGV4IDQxYWZhMTBjMDA3ZDkw
NWNhYWM3MjUyZDUxOTdjNzQwY2ZhOWYxN2IuLmZlYTY2ZWIzNTViMDlhNmI0ZGU4NTk2MWUyODA4
MDQxMmU1ZDlhYzggMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rl
c3RTaGVsbC5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxs
LmNwcApAQCAtMzksNiArMzksNyBAQAogI2luY2x1ZGUgIldlYkVsZW1lbnQuaCIKICNpbmNsdWRl
ICJXZWJGcmFtZS5oIgogI2luY2x1ZGUgIldlYkhpc3RvcnlJdGVtLmgiCisjaW5jbHVkZSAiV2Vi
VGVzdGluZ1N1cHBvcnQuaCIKICNpbmNsdWRlICJXZWJLaXQuaCIKICNpbmNsdWRlICJXZWJSdW50
aW1lRmVhdHVyZXMuaCIKICNpbmNsdWRlICJXZWJTY3JpcHRDb250cm9sbGVyLmgiCkBAIC01ODEs
NiArNTgyLDcgQEAgdm9pZCBUZXN0U2hlbGw6OmR1bXBJbWFnZShTa0NhbnZhcyogY2FudmFzKSBj
b25zdAogCiB2b2lkIFRlc3RTaGVsbDo6YmluZEpTT2JqZWN0c1RvV2luZG93KFdlYkZyYW1lKiBm
cmFtZSkKIHsKKyAgICBXZWJUZXN0aW5nU3VwcG9ydDo6aW5qZWN0SW50ZXJuYWxzT2JqZWN0KGZy
YW1lKTsKICAgICBtX2FjY2Vzc2liaWxpdHlDb250cm9sbGVyLT5iaW5kVG9KYXZhc2NyaXB0KGZy
YW1lLCBXZWJTdHJpbmc6OmZyb21VVEY4KCJhY2Nlc3NpYmlsaXR5Q29udHJvbGxlciIpKTsKICAg
ICBtX2xheW91dFRlc3RDb250cm9sbGVyLT5iaW5kVG9KYXZhc2NyaXB0KGZyYW1lLCBXZWJTdHJp
bmc6OmZyb21VVEY4KCJsYXlvdXRUZXN0Q29udHJvbGxlciIpKTsKICAgICBtX2V2ZW50U2VuZGVy
LT5iaW5kVG9KYXZhc2NyaXB0KGZyYW1lLCBXZWJTdHJpbmc6OmZyb21VVEY4KCJldmVudFNlbmRl
ciIpKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9GcmFtZUxvYWREZWxl
Z2F0ZS5tbSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9GcmFtZUxvYWREZWxlZ2F0ZS5tbQpp
bmRleCAyNzkzOWRmOTRmNzljNGZhZTVkNGYxYTk4ZGZmOGRmY2M5MTA0Y2M0Li43YzRhNWVjYWQ5
NmRkY2QxZGQ4OTZiYTg5ODhjYmZhNGExYzA4NGM2IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9tYWMvRnJhbWVMb2FkRGVsZWdhdGUubW0KKysrIGIvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvbWFjL0ZyYW1lTG9hZERlbGVnYXRlLm1tCkBAIC00MSw2ICs0MSw3IEBACiAjaW1wb3J0ICJP
YmpDUGx1Z2luRnVuY3Rpb24uaCIKICNpbXBvcnQgIlBsYWluVGV4dENvbnRyb2xsZXIuaCIKICNp
bXBvcnQgIlRleHRJbnB1dENvbnRyb2xsZXIuaCIKKyNpbXBvcnQgIldlYkNvcmVUZXN0U3VwcG9y
dC5oIgogI2ltcG9ydCAiV29ya1F1ZXVlLmgiCiAjaW1wb3J0ICJXb3JrUXVldWVJdGVtLmgiCiAj
aW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5oPgpAQCAtMjY2LDYgKzI2Nyw4
IEBACiAgICAgYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXItPm1ha2VXaW5kb3dPYmplY3QoY29udGV4
dCwgZ2xvYmFsT2JqZWN0LCAmZXhjZXB0aW9uKTsKICAgICBBU1NFUlQoIWV4Y2VwdGlvbik7CiAK
KyAgICBXZWJDb3JlVGVzdFN1cHBvcnQ6OmluamVjdEludGVybmFsc09iamVjdChjb250ZXh0KTsK
KwogICAgIC8vIE1ha2UgT2xkLVN0eWxlIGNvbnRyb2xsZXJzCiAKICAgICBXZWJWaWV3ICp3ZWJW
aWV3ID0gW2ZyYW1lIHdlYlZpZXddOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>94331</attachid>
            <date>2011-05-21 18:06:57 -0700</date>
            <delta_ts>2011-05-23 14:51:08 -0700</delta_ts>
            <desc>Harder, better, faster, stronger.</desc>
            <filename>bug-60313-20110521180656.patch</filename>
            <type>text/plain</type>
            <size>62552</size>
            <attacher name="Dimitri Glazkov (Google)">dglazkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODY5NTYKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAxNTgxYjllNTk0MzIyNDRjYTI1YTE5
MDExNTE5NzUyNmUyZDk5ZGNiLi5hMjQ5OWRmYjU3ZjMzZDU2NzhhNjBhMThjY2VhMWI1MDMyOTFk
M2FlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTEtMDUtMjEgIERpbWl0cmkgR2xhemtvdiAg
PGRnbGF6a292QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGQgYnVpbGQgbG9naXN0aWNzIGFuZCBwbHVtYmluZyBmb3Igd2lu
ZG93LmludGVybmFscyBvYmplY3QuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD02MDMxMworCisgICAgICAgICogZmFzdC9kb20vV2luZG93L3NjcmlwdC10
ZXN0cy93aW5kb3ctcHJvcGVydHktZGVzY3JpcHRvcnMuanM6IEFkZGVkIGludGVybmFscyBvYmpl
Y3QgdG8gbGlzdCBvZiBwcm9wZXJ0aWVzIHRvIHNraXAuCisgICAgICAgICogZmFzdC9kb20vV2lu
ZG93L3dpbmRvdy1wcm9wZXJ0aWVzLmh0bWw6IERpdHRvLgorICAgICAgICAqIGZhc3QvZG9tL3Nj
cmlwdC10ZXN0cy9wcm90b3R5cGUtaW5oZXJpdGFuY2UtMi5qczogRGl0dG8uCisgICAgICAgICog
ZmFzdC9kb20vc2NyaXB0LXRlc3RzL3Byb3RvdHlwZS1pbmhlcml0YW5jZS5qczogRGl0dG8uCisg
ICAgICAgICogZmFzdC9oYXJuZXNzL2ludGVybmFscy1vYmplY3QtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L2hhcm5lc3MvaW50ZXJuYWxzLW9iamVjdC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvU2tpcHBlZDogU2tpcHBlZCB0aGUgbmV3bHkgYWRkZWQg
dGVzdCB1bnRpbCBwbGF0Zm9ybSBzdXBwb3J0cyB3aW5kb3cuaW50ZXJuYWxzLgorICAgICAgICAq
IHBsYXRmb3JtL21hYy13azIvU2tpcHBlZDogRGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vcXQv
U2tpcHBlZDogRGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vd2luL1NraXBwZWQ6IERpdHRvLgor
CiAyMDExLTA1LTIwICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgW1F0XSBTa2lwIGZhaWxpbmcgdGVzdHMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9XaW5kb3cvc2NyaXB0LXRlc3RzL3dpbmRvdy1wcm9wZXJ0eS1kZXNjcmlwdG9ycy5q
cyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9zY3JpcHQtdGVzdHMvd2luZG93LXByb3Bl
cnR5LWRlc2NyaXB0b3JzLmpzCmluZGV4IDllYzMyNGJkMDFkNTUyZWM3YTZiZDU4M2U5ODg2NjNk
MWE5ODJkMTcuLjIzMzhmYzBlNmIwZDMzMGFmNTY1MzgzZGY2YmEyZDU2OTBhM2U3NjMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9zY3JpcHQtdGVzdHMvd2luZG93LXBy
b3BlcnR5LWRlc2NyaXB0b3JzLmpzCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9z
Y3JpcHQtdGVzdHMvd2luZG93LXByb3BlcnR5LWRlc2NyaXB0b3JzLmpzCkBAIC0xOCw2ICsxOCw3
IEBAIHZhciBfX3NraXBfXyA9IHsKICAgICAib2JqQ1BsdWdpbkZ1bmN0aW9uIiA6IDEsCiAgICAg
InBsYWluVGV4dCIgOiAxLAogICAgICJ0ZXh0SW5wdXRDb250cm9sbGVyIiA6IDEsCisgICAgImlu
dGVybmFscyIgOiAxLAogICAgIC8vIElnbm9yZSB0aGVzZSBwcm9wZXJ0aWVzIGJlY2F1c2UgdGhl
eSBkbyBub3QgZXhpc3QgaW4gYWxsIGltcGxlbWVudGF0aW9ucy4gVGhleSB3aWxsIGJlIHRlc3Rl
ZCBzZXBhcmF0ZWx5CiAgICAgIldlYkdMUmVuZGVyaW5nQ29udGV4dCIgOiAxLAogICAgICJXZWJH
TEFjdGl2ZUluZm8iIDogMSwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRv
dy93aW5kb3ctcHJvcGVydGllcy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dp
bmRvdy1wcm9wZXJ0aWVzLmh0bWwKaW5kZXggMTQ4ZTM5ODBlMWYzMmYxYmQyOWJkZTI3ODVhZTg2
NzhmNmJmMTMyOC4uOGQ4Y2EzMDdlNzczOGE0OTM1MmMwNmI2M2VmZTYwYzc1ZWRjZDhlNCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLmh0
bWwKQEAgLTYwLDYgKzYwLDcgQEAgdmFyIF9fc2tpcF9fID0gewogICAgICJ3aW5kb3cub2JqQ1Bs
dWdpbkZ1bmN0aW9uIiA6IDEsCiAgICAgIndpbmRvdy5wbGFpblRleHQiIDogMSwKICAgICAid2lu
ZG93LnRleHRJbnB1dENvbnRyb2xsZXIiIDogMSwKKyAgICAid2luZG93LmludGVybmFscyIgOiAx
LAogICAgIC8vIElnbm9yZSB0aGVzZSBwcm9wZXJ0aWVzIGJlY2F1c2UgdGhleSBkbyBub3QgZXhp
c3QgaW4gYWxsIGltcGxlbWVudGF0aW9ucy4gVGhleSB3aWxsIGJlIHRlc3RlZCBzZXBhcmF0ZWx5
CiAgICAgIndpbmRvdy5XZWJHTFJlbmRlcmluZ0NvbnRleHQiIDogMSwgCiAgICAgIndpbmRvdy5X
ZWJHTEFjdGl2ZUluZm8iIDogMSwgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
Y3JpcHQtdGVzdHMvcHJvdG90eXBlLWluaGVyaXRhbmNlLTIuanMgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zY3JpcHQtdGVzdHMvcHJvdG90eXBlLWluaGVyaXRhbmNlLTIuanMKaW5kZXggYzJmYTJi
OTc3NWQ5YmY0NzU3YjRiZDI2MmFlYWFlMDBiODM3ZWQ4My4uYzU5MGMxZDMxNTNjYzE5MzM0MWZl
NWMyMjJkYzFhYmVhOTYwMjc3ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2Ny
aXB0LXRlc3RzL3Byb3RvdHlwZS1pbmhlcml0YW5jZS0yLmpzCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NjcmlwdC10ZXN0cy9wcm90b3R5cGUtaW5oZXJpdGFuY2UtMi5qcwpAQCAtMTIsNiAr
MTIsNyBAQCB2YXIgc2tpcHBlZFByb3BlcnRpZXMgPSBbCiAgICAgIm9iakNDb250cm9sbGVyIiwg
InRleHRJbnB1dENvbnRyb2xsZXIiLCAibmF2aWdhdGlvbkNvbnRyb2xsZXIiLAogICAgICJldmVu
dFNlbmRlciIsICJvYmpDUGx1Z2luIiwgIm9iakNQbHVnaW5GdW5jdGlvbiIsCiAgICAgImFwcGxl
U2NyaXB0Q29udHJvbGxlciIsICJwbGFpblRleHQiLCAiYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIi
LAorICAgICJpbnRlcm5hbHMiLAogICAgIC8vIFNraXAgb3VyIHRlc3QgcHJvcGVydHkKICAgICAi
aXNJbm5lciIsCiAgICAgLy8gSWdub3JlIGZvb0NvbnN0cnVjdG9yLnByb3RvdHlwZSwgZm9vSW5z
dGFuY2UuX19wcm90b19fIGlzIG1vcmUgbGlrZWx5IHRvIGZhaWwuCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zY3JpcHQtdGVzdHMvcHJvdG90eXBlLWluaGVyaXRhbmNlLmpzIGIv
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2NyaXB0LXRlc3RzL3Byb3RvdHlwZS1pbmhlcml0YW5jZS5q
cwppbmRleCAzMGIxZWM2ZDMzOGY2ZjcwOGNhMTk0ODY1YWU5ZGY3ZDg5ZDg5OTg3Li4wNjY3ZTQ0
YWMwOTAwZTYwNWVjNzQ4Mzg0ZTU4ZGVmMjUxMDlkY2E3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zY3JpcHQtdGVzdHMvcHJvdG90eXBlLWluaGVyaXRhbmNlLmpzCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NjcmlwdC10ZXN0cy9wcm90b3R5cGUtaW5oZXJpdGFuY2UuanMK
QEAgLTEyLDYgKzEyLDcgQEAgdmFyIHNraXBwZWRQcm9wZXJ0aWVzID0gWwogICAgICJvYmpDQ29u
dHJvbGxlciIsICJ0ZXh0SW5wdXRDb250cm9sbGVyIiwgIm5hdmlnYXRpb25Db250cm9sbGVyIiwK
ICAgICAiZXZlbnRTZW5kZXIiLCAib2JqQ1BsdWdpbiIsICJvYmpDUGx1Z2luRnVuY3Rpb24iLAog
ICAgICJhcHBsZVNjcmlwdENvbnRyb2xsZXIiLCAicGxhaW5UZXh0IiwgImFjY2Vzc2liaWxpdHlD
b250cm9sbGVyIiwKKyAgICAiaW50ZXJuYWxzIiwKICAgICAvLyBJZ25vcmUgdGhlc2UgcHJvcGVy
dGllcyBiZWNhdXNlIHRoZXkgZG8gbm90IGV4aXN0IGluIGFsbCBpbXBsZW1lbnRhdGlvbnMuIFRo
ZXkgd2lsbCBiZSB0ZXN0ZWQgc2VwYXJhdGVseQogICAgICJ3ZWJraXROb3RpZmljYXRpb25zIiwK
ICAgICAid2Via2l0QXVkaW9QYW5uZXJOb2RlIiwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvaGFybmVzcy9pbnRlcm5hbHMtb2JqZWN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3QvaGFybmVzcy9pbnRlcm5hbHMtb2JqZWN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZDlh
YWFmNDg0YjI1YzUxZGNmZWRkMDI1OTYwNjliOTNjYWYzYzBlCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9oYXJuZXNzL2ludGVybmFscy1vYmplY3QtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEgQEAKK3dpbmRvdy5pbnRlcm5hbHMgb2JqZWN0IHNob3VsZCBiZSB2aXNpYmxlIHdo
ZW4gcnVubmluZyBpbiBEUlQ6IFBBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaGFy
bmVzcy9pbnRlcm5hbHMtb2JqZWN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2hhcm5lc3MvaW50
ZXJuYWxzLW9iamVjdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJiZWU3YmY0ZmYxN2MyYmMwMmQzMDI0ZTc3
MmM4NWU1ZjZkMTMyYTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2hhcm5l
c3MvaW50ZXJuYWxzLW9iamVjdC5odG1sCkBAIC0wLDAgKzEsMjMgQEAKKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0PgorCitpZiAobGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCitmdW5jdGlvbiBydW5UZXN0KCkKK3sKKyAgICB2YXIg
bG9nID0gZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdk
aXYnKSk7CisgICAgbG9nLndyaXRlID0gZnVuY3Rpb24obXNnLCBzdWNjZXNzKQorICAgIHsKKyAg
ICAgICAgdGhpcy5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKSkudGV4
dENvbnRlbnQgPSBtc2cgKyAnOiAnICsgKHN1Y2Nlc3MgPyAnUEFTUycgOiAnRkFJTCcpOworICAg
IH0KKworICAgIGxvZy53cml0ZSgnd2luZG93LmludGVybmFscyBvYmplY3Qgc2hvdWxkIGJlIHZp
c2libGUgd2hlbiBydW5uaW5nIGluIERSVCcsICEhd2luZG93LmludGVybmFscyk7Cit9CisKKzwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2d0ay9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQK
aW5kZXggOTA0ZWM4NTUwMjY0OTI2NzAyZDhjYjIxM2FmYTM3YjUyZWYyMWEzNS4uNzNmMjM2M2Y2
NGJjYTllMWYyMDljMjYyMzBmZmE5NzhmZmZkNDQzNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vZ3RrL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBw
ZWQKQEAgLTE0NDYsMyArMTQ0Niw2IEBAIGh0dHAvdGVzdHMvbmF2aWdhdGlvbi9wb3N0LTMwNy1y
ZXNwb25zZS5odG1sCiAKICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTYxMTYwCiBtZWRpYS92aWRlby1zcmMtaW52YWxpZC1wb3N0ZXIuaHRtbAorCisjIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MTA3MQorZmFzdC9oYXJuZXNzL2ludGVy
bmFscy1vYmplY3QuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdr
Mi9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9Ta2lwcGVkCmluZGV4IDU3
ODY1ZGM5NjRkZTA4MTNhYzc1ZDM2Yjg0YmI2YzE1MmQ5ZmQwMWQuLmNiYjk3MDRmMWU4YjI2MjQw
NWVlNDc5Y2Q0YTBiZjEwOTc3M2I1NzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy13azIvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1NraXBw
ZWQKQEAgLTE1MzQsNiArMTUzNCw5IEBAIGVkaXRpbmcvdW5kby91bmRvLWlmcmFtZS1sb2NhdGlv
bi1jaGFuZ2UuaHRtbAogIyBodHRwOi8vd2Via2l0Lm9yZy9iLzU5ODY1CiB0cmFuc2l0aW9ucy90
cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbi5odG1sCiAKKyMgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTYxMDczCitmYXN0L2hhcm5lc3MvaW50ZXJuYWxzLW9iamVjdC5o
dG1sCisKICMjIyBFTkQgT0YgKDEpIENsYXNzaWZpZWQgZmFpbHVyZXMgd2l0aCBidWcgcmVwb3J0
cwogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
cXQvU2tpcHBlZAppbmRleCAxMTc4M2QwMTViNjU2NzFlMDlkYTM2MWQzNDEzODc5YjQ3MzVjOTM2
Li45NmRjZDdkOWE5NWJlNWJiNDdiMjUyN2I4MWQwNGEzMDkyOGEyYzRmIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L3F0L1NraXBwZWQKQEAgLTI1MjUsMyArMjUyNSw5IEBAIGZhc3QvZXZlbnRzL3JlbW92ZS10YXJn
ZXQtaW4tbW91c2V1cC1pbnNlcnRiYWNrLmh0bWwKIGZhc3QvZXZlbnRzL3JlbW92ZS10YXJnZXQt
aW4tbW91c2V1cC10d2ljZS5odG1sCiBmYXN0L2V2ZW50cy9yZW1vdmUtdGFyZ2V0LWluLW1vdXNl
dXAuaHRtbAogCisjIFtRdF1bR1RLXSBwbHVnaW5zL2dldC11cmwtd2l0aC1qYXZhc2NyaXB0LXVy
bC5odG1sIGZhaWxzCisjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02
MDgzNAorcGx1Z2lucy9nZXQtdXJsLXdpdGgtamF2YXNjcmlwdC11cmwuaHRtbAorCisjIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MTA3NAorZmFzdC9oYXJuZXNzL2lu
dGVybmFscy1vYmplY3QuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2lu
L1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZAppbmRleCBiZDBjNzg1
NjU1ZTRkMjA2OTYzOTBjNzQ1ZTBmYjkyZWYyNzI0ZjNiLi40OTRmMDkxZDhiMzJkZGI1ZTVlM2Mz
NWI5NGVjNWJjZDhlYmVjZTFlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4v
U2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZApAQCAtMTI5OSwz
ICsxMjk5LDYgQEAgZmFzdC9ldmVudHMvcGFnZS12aXNpYmlsaXR5LXRyYW5zaXRpb24tdGVzdC5o
dG1sCiAKICMgVW5za2lwIGFmdGVyIGltcGxlbWVudGluZyBMYXlvdXRUZXN0Q29udHJvbGxlcjo6
c2V0RGVmZXJzTG9hZGluZyBhbmQgOjpnb0JhY2suCiBsb2FkZXIvbmF2aWdhdGlvbi13aGlsZS1k
ZWZlcnJpbmctbG9hZHMuaHRtbAorCisjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD02MTA3NgorZmFzdC9oYXJuZXNzL2ludGVybmFscy1vYmplY3QuaHRtbApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CmluZGV4IDNmNzk1YTkwZTZhZGJhYzAzODc1YmUyOTkwMmJmMTRkYzk1M2ZiZDAuLjQzNDE2MzI5
NzgzNGYyZmQ0ZjFkMjEwZDcyYjBjMjQwMDQxNmQ5MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwy
NSBAQAorMjAxMS0wNS0yMSAgRGltaXRyaSBHbGF6a292ICA8ZGdsYXprb3ZAY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBi
dWlsZCBsb2dpc3RpY3MgYW5kIHBsdW1iaW5nIGZvciB3aW5kb3cuaW50ZXJuYWxzIG9iamVjdC4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYwMzEzCisK
KyAgICAgICAgVGVzdDogZmFzdC9oYXJuZXNzL2ludGVybmFscy1vYmplY3QuaHRtbAorCisgICAg
ICAgICogQ29uZmlndXJhdGlvbnMvV2ViQ29yZVRlc3RTdXBwb3J0LnhjY29uZmlnOiBBZGRlZC4K
KyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOiBBZGRlZCBzdXBwb3J0IGZvciBnZW5lcmF0
aW5nIGZyb20gSW50ZXJuYWxzLmlkbC4KKyAgICAgICAgKiBXZWJDb3JlLmd5cC9XZWJDb3JlLmd5
cDogQWRkZWQgbmV3IHdlYmNvcmVfdGVzdF9zdXBwb3J0IGxpYnJhcnkuCisgICAgICAgICogV2Vi
Q29yZS5neXBpOiBEaXR0by4KKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2o6IEFkZGVkIFdlYkNvcmVUZXN0U3VwcG9ydCBsaWJyYXJ5LgorICAgICAgICAqIHRlc3Rp
bmcvSW50ZXJuYWxzLmNwcDogQWRkZWQuCisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaDog
QWRkZWQuCisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaWRsOiBBZGRlZC4KKyAgICAgICAg
KiB0ZXN0aW5nL2pzL1dlYkNvcmVUZXN0U3VwcG9ydC5jcHA6IEFkZGVkLgorICAgICAgICAqIHRl
c3RpbmcvanMvV2ViQ29yZVRlc3RTdXBwb3J0Lmg6IEFkZGVkLgorICAgICAgICAqIHRlc3Rpbmcv
djgvV2ViQ29yZVRlc3RTdXBwb3J0LmNwcDogQWRkZWQuCisgICAgICAgICogdGVzdGluZy92OC9X
ZWJDb3JlVGVzdFN1cHBvcnQuaDogQWRkZWQuCisKIDIwMTEtMDUtMjAgIEplciBOb2JsZSAgPGpl
ci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTWFjaWVqIFN0YWNob3dp
YWsuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9XZWJDb3JlVGVz
dFN1cHBvcnQueGNjb25maWcgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9XZWJDb3Jl
VGVzdFN1cHBvcnQueGNjb25maWcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzRkY2I5YzUyNTAzZmZhZTU5ODBjMTkw
OWQ4ODgzY2FlNjA3ZDNiNAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NvbmZp
Z3VyYXRpb25zL1dlYkNvcmVUZXN0U3VwcG9ydC54Y2NvbmZpZwpAQCAtMCwwICsxLDMwIEBACisv
LyBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8v
CisvLyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKy8vIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworLy8gYXJlIG1ldDoKKy8vIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisv
LyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisvLyAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorLy8gICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorLy8gICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKy8vCisvLyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKKy8vIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisvLyBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKy8vIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisvLyBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwKKy8vIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKy8vIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorLy8gUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorLy8gT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisvLyAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKy8vIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorCisjaW5jbHVkZSAiV2ViQ29yZS54
Y2NvbmZpZyIKKworUFJJVkFURV9IRUFERVJTX0ZPTERFUl9QQVRIID0gV2ViQ29yZVRlc3RTdXBw
b3J0OworUFJPRFVDVF9OQU1FID0gV2ViQ29yZVRlc3RTdXBwb3J0OworT1RIRVJfTERGTEFHUyA9
IDsKK0VYUE9SVEVEX1NZTUJPTFNfRklMRSA9IDsKK0dDQ19TWU1CT0xTX1BSSVZBVEVfRVhURVJO
ID0gWUVTOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5tYWtlCmluZGV4IDdiY2YzMDBhNGYwOGNmODNhM2MxYTkyOGFjYmE4ZWZmZTU3ZTIzYmMuLmVh
YTM1ZjIxODM2MmQ5MWZiODgyMGY0OTI1NmIxY2E1YTA1Nzk0ZDQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMubWFrZQpAQCAtNDYsNiArNDYsNyBAQCBWUEFUSCA9IFwKICAgICAkKFdlYkNvcmUp
L3dlYmF1ZGlvIFwKICAgICAkKFdlYkNvcmUpL3dvcmtlcnMgXAogICAgICQoV2ViQ29yZSkvc3Zn
IFwKKyAgICAkKFdlYkNvcmUpL3Rlc3RpbmcgXAogICAgICQoV2ViQ29yZSkvd2Vic29ja2V0cyBc
CiAjCiAKQEAgLTI4OCw2ICsyODksNyBAQCBET01fQ0xBU1NFUyA9IFwKICAgICBJbWFnZURhdGEg
XAogICAgIEluamVjdGVkU2NyaXB0SG9zdCBcCiAgICAgSW5zcGVjdG9yRnJvbnRlbmRIb3N0IFwK
KyAgICBJbnRlcm5hbHMgXAogICAgIEtleWJvYXJkRXZlbnQgXAogICAgIExvY2F0aW9uIFwKICAg
ICBNZWRpYUVycm9yIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmlu
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggOTVjMzgyZGQzMzZkODhhNmI1
ZGViMTliMjhkNzcxMDU5MzdiYmJjMy4uODg5NWFmY2ViNTQ0YzdmYjYzMTA3YjY3YWNlYzFkNTNm
MTFkOGViOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTI2Myw2ICsyNjMsNyBAQCBfX1pON1dl
YkNvcmUxMkljb25EYXRhYmFzZTI3Y2hlY2tJbnRlZ3JpdHlCZWZvcmVPcGVuaW5nRXYKIF9fWk43
V2ViQ29yZTEySWNvbkRhdGFiYXNlNWNsb3NlRXYKIF9fWk43V2ViQ29yZTEySWNvbkRhdGFiYXNl
OXNldENsaWVudEVQTlNfMThJY29uRGF0YWJhc2VDbGllbnRFCiBfX1pON1dlYkNvcmUxMkljb25E
YXRhYmFzZUMxRXYKK19fWk43V2ViQ29yZTEySlNET01XcmFwcGVyMTJub1dlYWtWdGFibGVFdgog
X19aTjdXZWJDb3JlMTJQb3B1cE1lbnVNYWNDMUVQTlNfMTVQb3B1cE1lbnVDbGllbnRFCiBfX1pO
N1dlYkNvcmUxMlByaW50Q29udGV4dDEycGFnZVByb3BlcnR5RVBOU181RnJhbWVFUEtjaQogX19a
TjdXZWJDb3JlMTJQcmludENvbnRleHQxM251bWJlck9mUGFnZXNFUE5TXzVGcmFtZUVSS05TXzlG
bG9hdFNpemVFCkBAIC0xMDEzLDYgKzEwMTQsOCBAQCBfX1pON1dlYkNvcmU5bWFrZVJhbmdlRVJL
TlNfMTVWaXNpYmxlUG9zaXRpb25FUzJfCiBfX1pON1dlYkNvcmU5cGFnZUNhY2hlRXYKIF9fWk43
V2ViQ29yZTlwbGFpblRleHRFUEtOU181UmFuZ2VFTlNfMjBUZXh0SXRlcmF0b3JCZWhhdmlvckUK
IF9fWk43V2ViQ29yZTl0b0VsZW1lbnRFTjNKU0M3SlNWYWx1ZUUKK19fWk43V2ViQ29yZTE3Y2Fj
aGVET01TdHJ1Y3R1cmVFUE5TXzE3SlNET01HbG9iYWxPYmplY3RFUE4zSlNDOVN0cnVjdHVyZUVQ
S05TMl85Q2xhc3NJbmZvRQorX19aTjdXZWJDb3JlMjFnZXRDYWNoZWRET01TdHJ1Y3R1cmVFUE5T
XzE3SlNET01HbG9iYWxPYmplY3RFUEtOM0pTQzlDbGFzc0luZm9FCiBfX1pOSzNKU0M4QmluZGlu
Z3MxMFJvb3RPYmplY3QxMmdsb2JhbE9iamVjdEV2CiBfX1pOSzNXVEY2U3RyaW5nMTRjcmVhdGVD
RlN0cmluZ0V2CiBfX1pOSzdXZWJDb3JlNUZyYW1lMjZnZXREb2N1bWVudEJhY2tncm91bmRDb2xv
ckV2CkBAIC0xMzA3LDYgKzEzMTAsNyBAQCBfX1pOSzdXZWJDb3JlOUZyYW1lVmlldzI4aXNFbmNs
b3NlZEluQ29tcG9zaXRpbmdMYXllckV2CiBfX1pOSzdXZWJDb3JlOVBhZ2VDYWNoZTEwZnJhbWVD
b3VudEV2CiBfX1pOSzdXZWJDb3JlOVBhZ2VDYWNoZTIxYXV0b3JlbGVhc2VkUGFnZUNvdW50RXYK
IF9fWlRWTjdXZWJDb3JlMTJDaHJvbWVDbGllbnRFCitfX1pUVk43V2ViQ29yZTEySlNET01XcmFw
cGVyRQogX19aVFZON1dlYkNvcmUxNkljb25EYXRhYmFzZUJhc2VFCiBfX1pUVk43V2ViQ29yZTE3
RmlsZUNob29zZXJDbGllbnRFCiBfX1pUVk43V2ViQ29yZTE3RnJhbWVMb2FkZXJDbGllbnRFCkBA
IC0xNjM4LDggKzE2NDIsNiBAQCBfX1pOM0pTQzhCaW5kaW5nczhJbnN0YW5jZUMyRU4zV1RGMTBQ
YXNzUmVmUHRySU5TMF8xMFJvb3RPYmplY3RFRUUKIF9fWk4zSlNDOEJpbmRpbmdzOEluc3RhbmNl
RDJFdgogX19aTjdXZWJDb3JlMTNJZGVudGlmaWVyUmVwN2lzVmFsaWRFUFMwXwogX19aTjdXZWJD
b3JlMTZTY3JpcHRDb250cm9sbGVyMTZjcmVhdGVSb290T2JqZWN0RVB2Ci1fX1pON1dlYkNvcmUx
N2NhY2hlRE9NU3RydWN0dXJlRVBOU18xN0pTRE9NR2xvYmFsT2JqZWN0RVBOM0pTQzlTdHJ1Y3R1
cmVFUEtOUzJfOUNsYXNzSW5mb0UKLV9fWk43V2ViQ29yZTIxZ2V0Q2FjaGVkRE9NU3RydWN0dXJl
RVBOU18xN0pTRE9NR2xvYmFsT2JqZWN0RVBLTjNKU0M5Q2xhc3NJbmZvRQogX19aTkszSlNDOEJp
bmRpbmdzMTNSdW50aW1lT2JqZWN0MTJkZWZhdWx0VmFsdWVFUE5TXzlFeGVjU3RhdGVFTlNfMjJQ
cmVmZXJyZWRQcmltaXRpdmVUeXBlRQogX19aVFZOM0pTQzEzUnVudGltZU1ldGhvZEUKICNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cAppbmRleCA1OGQzYTliZGI3OWE3
YWM1MjYwM2M5Y2Q4NjZmNmZjNTNkZWI1MGZkLi4yZDk5NDZjNjhiZjE0MWI3NmY0ZDQ3M2RmOGUw
YWY3OTkwYzU5MzYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJD
b3JlLmd5cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cApAQCAt
NDU1LDYgKzQ1NSw3IEBACiAKICAgICAgICAgIyBpZGwgcnVsZXMKICAgICAgICAgJzxAKGJpbmRp
bmdzX2lkbF9maWxlcyknLAorICAgICAgICAnPEAod2ViY29yZV90ZXN0X3N1cHBvcnRfaWRsX2Zp
bGVzKScsCiAgICAgICBdLAogICAgICAgJ2FjdGlvbnMnOiBbCiAgICAgICAgICMgQWN0aW9ucyB0
byBidWlsZCBkZXJpdmVkIHNvdXJjZXMuCkBAIC04NDQsNiArODQ1LDcgQEAKICAgICAgICAgICAg
ICAgJy0taW5jbHVkZScsICcuLi9wbHVnaW5zJywKICAgICAgICAgICAgICAgJy0taW5jbHVkZScs
ICcuLi9zdG9yYWdlJywKICAgICAgICAgICAgICAgJy0taW5jbHVkZScsICcuLi9zdmcnLAorICAg
ICAgICAgICAgICAnLS1pbmNsdWRlJywgJy4uL3Rlc3RpbmcnLAogICAgICAgICAgICAgICAnLS1p
bmNsdWRlJywgJy4uL3dlYmF1ZGlvJywKICAgICAgICAgICAgICAgJy0taW5jbHVkZScsICcuLi93
ZWJzb2NrZXRzJywKICAgICAgICAgICAgICAgJy0taW5jbHVkZScsICcuLi93b3JrZXJzJywKQEAg
LTE3MjYsNSArMTcyOCwyOSBAQAogICAgICAgICB9XSwKICAgICAgIF0sCiAgICAgfSwKKyAgICB7
CisgICAgICAndGFyZ2V0X25hbWUnOiAnd2ViY29yZV90ZXN0X3N1cHBvcnQnLAorICAgICAgJ3R5
cGUnOiAnc3RhdGljX2xpYnJhcnknLAorICAgICAgJ2RlcGVuZGVuY2llcyc6IFsKKyAgICAgICAg
J3dlYmNvcmUnLAorICAgICAgXSwKKyAgICAgICdpbmNsdWRlX2RpcnMnOiBbCisgICAgICAgICc8
KElOVEVSTUVESUFURV9ESVIpJywKKyAgICAgICAgJzwoU0hBUkVEX0lOVEVSTUVESUFURV9ESVIp
L3dlYmNvcmUnLAorICAgICAgICAnPChTSEFSRURfSU5URVJNRURJQVRFX0RJUikvd2Via2l0JywK
KyAgICAgICAgJzwoU0hBUkVEX0lOVEVSTUVESUFURV9ESVIpL3dlYmtpdC9iaW5kaW5ncycsCisg
ICAgICAgICc8QCh3ZWJjb3JlX2luY2x1ZGVfZGlycyknLAorICAgICAgICAnLi4vdGVzdGluZycs
CisgICAgICAgICcuLi90ZXN0aW5nL3Y4JywKKyAgICAgIF0sCisgICAgICAnc291cmNlcyc6IFsK
KyAgICAgICAgJzxAKHdlYmNvcmVfdGVzdF9zdXBwb3J0X2ZpbGVzKScsCisgICAgICAgICc8KFNI
QVJFRF9JTlRFUk1FRElBVEVfRElSKS93ZWJjb3JlL2JpbmRpbmdzL1Y4SW50ZXJuYWxzLmNwcCcs
CisgICAgICAgICc8KFNIQVJFRF9JTlRFUk1FRElBVEVfRElSKS93ZWJraXQvYmluZGluZ3MvVjhJ
bnRlcm5hbHMuaCcsCisgICAgICBdLAorICAgICAgJ3NvdXJjZXMvJzogWworICAgICAgICBbJ2V4
Y2x1ZGUnLCAndGVzdGluZy9qcyddLAorICAgICAgXSwKKyAgICB9LAogICBdLCAgIyB0YXJnZXRz
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmd5cGkKaW5kZXggYWUwNWVjZDIwODA2ODNmZDA3ODA1OTZkMWZhMDdiMTg2
NDUxMzA0Zi4uODE1YmEwNGZkMWMyOTRjM2IzOTE3NGU4NDI0OTYxNzg2ODRiOTk1ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZ3lwaQpAQCAtNjA4OSw2ICs2MDg5LDE3IEBACiAgICAgICAgICAgICAneG1sL1hTTFRV
bmljb2RlU29ydC5jcHAnLAogICAgICAgICAgICAgJ3htbC9YU0xUVW5pY29kZVNvcnQuaCcsCiAg
ICAgICAgIF0sCisgICAgICAgICd3ZWJjb3JlX3Rlc3Rfc3VwcG9ydF9pZGxfZmlsZXMnOiBbCisg
ICAgICAgICAgJ3Rlc3RpbmcvSW50ZXJuYWxzLmlkbCcsCisgICAgICAgIF0sCisgICAgICAgICd3
ZWJjb3JlX3Rlc3Rfc3VwcG9ydF9maWxlcyc6IFsKKyAgICAgICAgICAgICd0ZXN0aW5nL3Y4L1dl
YkNvcmVUZXN0U3VwcG9ydC5jcHAnLAorICAgICAgICAgICAgJ3Rlc3RpbmcvdjgvV2ViQ29yZVRl
c3RTdXBwb3J0LmgnLAorICAgICAgICAgICAgJ3Rlc3RpbmcvanMvV2ViQ29yZVRlc3RTdXBwb3J0
LmNwcCcsCisgICAgICAgICAgICAndGVzdGluZy9qcy9XZWJDb3JlVGVzdFN1cHBvcnQuaCcsCisg
ICAgICAgICAgICAndGVzdGluZy9JbnRlcm5hbHMuY3BwJywKKyAgICAgICAgICAgICd0ZXN0aW5n
L0ludGVybmFscy5oJywKKyAgICAgICAgXSwKICAgICAgICAgJ3dlYmNvcmVfcmVzb3VyY2VfZmls
ZXMnOiBbCiAgICAgICAgICAgICAnRW5nbGlzaC5scHJvai9Mb2NhbGl6YWJsZS5zdHJpbmdzJywK
ICAgICAgICAgICAgICdFbmdsaXNoLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMnLApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDQy
NzhmM2I4ZjY2YmVmOTIyOTVjYWQ0OGZlYTdmMmMwOGYxNzQ1YjEuLjFiMGZkMTZmZGIwZTJkNjIx
MDM0MjhhMWU0ZDRiNzBhZjc5ODdiMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTcsNiArNywxOCBAQAogCW9iamVjdHMgPSB7
CiAKIC8qIEJlZ2luIFBCWEFnZ3JlZ2F0ZVRhcmdldCBzZWN0aW9uICovCisJCTQxODE2Rjc5MTM4
NTlDNTUwMDU3QUFBNCAvKiBBbGwgKi8gPSB7CisJCQlpc2EgPSBQQlhBZ2dyZWdhdGVUYXJnZXQ7
CisJCQlidWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gNDE4MTZGODExMzg1OUM2NDAwNTdBQUE0IC8q
IEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYQWdncmVnYXRlVGFyZ2V0ICJBbGwiICov
OworCQkJYnVpbGRQaGFzZXMgPSAoCisJCQkpOworCQkJZGVwZW5kZW5jaWVzID0gKAorCQkJCTQx
ODE2RjgzMTM4NTlDN0EwMDU3QUFBNCAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLAorCQkJCTQx
ODE2Rjg1MTM4NTlDN0QwMDU3QUFBNCAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovLAorCQkJKTsK
KwkJCW5hbWUgPSBBbGw7CisJCQlwcm9kdWN0TmFtZSA9IEFsbDsKKwkJfTsKIAkJNUQ4N0JCNjQx
MUUzRUJDMTAwNzAyQjZGIC8qIFdlYkNvcmVFeHBvcnRGaWxlR2VuZXJhdG9yIEdlbmVyYXRvciAq
LyA9IHsKIAkJCWlzYSA9IFBCWEFnZ3JlZ2F0ZVRhcmdldDsKIAkJCWJ1aWxkQ29uZmlndXJhdGlv
bkxpc3QgPSA1RDg3QkI2QzExRTNFQzAwMDA3MDJCNkYgLyogQnVpbGQgY29uZmlndXJhdGlvbiBs
aXN0IGZvciBQQlhBZ2dyZWdhdGVUYXJnZXQgIldlYkNvcmVFeHBvcnRGaWxlR2VuZXJhdG9yIEdl
bmVyYXRvciIgKi87CkBAIC04NTIsNiArODY0LDEyIEBACiAJCTQxNkU3NUNDMEVERjkwQzcwMDM2
MEUxRCAvKiBTY3JpcHRDYWxsRnJhbWUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDE2RTc1Q0EwRURGOTBDNzAwMzYwRTFEIC8qIFNjcmlwdENhbGxG
cmFtZS5jcHAgKi87IH07CiAJCTQxNzI1M0FBMTM1NEJCQkMwMDM2MEYyQSAvKiBNZWRpYUNvbnRy
b2xFbGVtZW50cy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0MTcyNTNBODEzNTRCQkJDMDAzNjBGMkEgLyogTWVkaWFDb250cm9sRWxlbWVudHMuY3Bw
ICovOyB9OwogCQk0MTcyNTNBQjEzNTRCQkJDMDAzNjBGMkEgLyogTWVkaWFDb250cm9sRWxlbWVu
dHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxNzI1
M0E5MTM1NEJCQkMwMDM2MEYyQSAvKiBNZWRpYUNvbnRyb2xFbGVtZW50cy5oICovOyB9OworCQk0
MTdEQTZEOTEzNzM0RTZFMDA3QzU3RkIgLyogSW50ZXJuYWxzLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxN0RBNENGMTM3MzQzMjYwMDdDNTdGQiAv
KiBJbnRlcm5hbHMuY3BwICovOyB9OworCQk0MTdEQTZEQTEzNzM0RTZFMDA3QzU3RkIgLyogSW50
ZXJuYWxzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
MTdEQTRDRTEzNzM0MzI2MDA3QzU3RkIgLyogSW50ZXJuYWxzLmggKi87IH07CisJCTQxN0RBNzFE
MTM3MzVERkEwMDdDNTdGQiAvKiBKU0ludGVybmFscy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTdEQTcxQjEzNzM1REZBMDA3QzU3RkIgLyogSlNJ
bnRlcm5hbHMuY3BwICovOyB9OworCQk0MTdEQTcxRTEzNzM1REZBMDA3QzU3RkIgLyogSlNJbnRl
cm5hbHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQx
N0RBNzFDMTM3MzVERkEwMDdDNTdGQiAvKiBKU0ludGVybmFscy5oICovOyB9OworCQk0MTgxNUMx
RTEzODMxOTgzMDA1N0FBQTQgLyogV2ViQ29yZVRlc3RTdXBwb3J0LmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxODE1QzFDMTM4MzE5ODMwMDU3QUFB
NCAvKiBXZWJDb3JlVGVzdFN1cHBvcnQuY3BwICovOyB9OworCQk0MTgxNUMxRjEzODMxOTgzMDA1
N0FBQTQgLyogV2ViQ29yZVRlc3RTdXBwb3J0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0MTgxNUMxRDEzODMxOTgzMDA1N0FBQTQgLyogV2ViQ29yZVRl
c3RTdXBwb3J0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJNDE4ODVCOTMxMUI2RkRBNjAwMzM4M0JCIC8qIEZvcm1TdWJtaXNzaW9uLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTg4NUI5MTExQjZGREE2
MDAzMzgzQkIgLyogRm9ybVN1Ym1pc3Npb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQk0MTg4NUI5NDExQjZGREE2MDAzMzgzQkIgLyogRm9ybVN1
Ym1pc3Npb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDE4ODVCOTIxMUI2RkRBNjAwMzM4M0JCIC8qIEZvcm1TdWJtaXNzaW9uLmNwcCAqLzsgfTsK
IAkJNDE4QTA2RDAxMzNDMDRENTAwQ0QzNzlDIC8qIEV2ZW50RGlzcGF0Y2hlci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE4QTA2Q0UxMzNDMDRENTAw
Q0QzNzlDIC8qIEV2ZW50RGlzcGF0Y2hlci5oICovOyB9OwpAQCAtNTk1NCw2ICs1OTcyLDI3IEBA
CiAvKiBFbmQgUEJYQnVpbGRGaWxlIHNlY3Rpb24gKi8KIAogLyogQmVnaW4gUEJYQ29udGFpbmVy
SXRlbVByb3h5IHNlY3Rpb24gKi8KKwkJNDE3REE2RDQxMzczNEUwRDAwN0M1N0ZCIC8qIFBCWENv
bnRhaW5lckl0ZW1Qcm94eSAqLyA9IHsKKwkJCWlzYSA9IFBCWENvbnRhaW5lckl0ZW1Qcm94eTsK
KwkJCWNvbnRhaW5lclBvcnRhbCA9IDA4NjdENjkwRkU4NDAyOEZDMDJBQUMwNyAvKiBQcm9qZWN0
IG9iamVjdCAqLzsKKwkJCXByb3h5VHlwZSA9IDE7CisJCQlyZW1vdGVHbG9iYWxJRFN0cmluZyA9
IDkzRjE5OEE1MDgyNDVFNTkwMDFFOUFCQzsKKwkJCXJlbW90ZUluZm8gPSBXZWJDb3JlOworCQl9
OworCQk0MTgxNkY4MjEzODU5QzdBMDA1N0FBQTQgLyogUEJYQ29udGFpbmVySXRlbVByb3h5ICov
ID0geworCQkJaXNhID0gUEJYQ29udGFpbmVySXRlbVByb3h5OworCQkJY29udGFpbmVyUG9ydGFs
ID0gMDg2N0Q2OTBGRTg0MDI4RkMwMkFBQzA3IC8qIFByb2plY3Qgb2JqZWN0ICovOworCQkJcHJv
eHlUeXBlID0gMTsKKwkJCXJlbW90ZUdsb2JhbElEU3RyaW5nID0gOTNGMTk4QTUwODI0NUU1OTAw
MUU5QUJDOworCQkJcmVtb3RlSW5mbyA9IFdlYkNvcmU7CisJCX07CisJCTQxODE2Rjg0MTM4NTlD
N0QwMDU3QUFBNCAvKiBQQlhDb250YWluZXJJdGVtUHJveHkgKi8gPSB7CisJCQlpc2EgPSBQQlhD
b250YWluZXJJdGVtUHJveHk7CisJCQljb250YWluZXJQb3J0YWwgPSAwODY3RDY5MEZFODQwMjhG
QzAyQUFDMDcgLyogUHJvamVjdCBvYmplY3QgKi87CisJCQlwcm94eVR5cGUgPSAxOworCQkJcmVt
b3RlR2xvYmFsSURTdHJpbmcgPSA0MTdEQTZDRjEzNzM0RTAyMDA3QzU3RkI7CisJCQlyZW1vdGVJ
bmZvID0gV2ViQ29yZVRlc3RTdXBwb3J0OworCQl9OwogCQk1RDg3QkI2QTExRTNFQkQyMDA3MDJC
NkYgLyogUEJYQ29udGFpbmVySXRlbVByb3h5ICovID0gewogCQkJaXNhID0gUEJYQ29udGFpbmVy
SXRlbVByb3h5OwogCQkJY29udGFpbmVyUG9ydGFsID0gMDg2N0Q2OTBGRTg0MDI4RkMwMkFBQzA3
IC8qIFByb2plY3Qgb2JqZWN0ICovOwpAQCAtNzMyMCw2ICs3MzU5LDE1IEBACiAJCTQxNkU3NUNB
MEVERjkwQzcwMDM2MEUxRCAvKiBTY3JpcHRDYWxsRnJhbWUuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gU2NyaXB0Q2FsbEZyYW1lLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNDE3MjUzQTgxMzU0QkJCQzAwMzYwRjJBIC8qIE1lZGlhQ29udHJvbEVs
ZW1lbnRzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1lZGlhQ29u
dHJvbEVsZW1lbnRzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE3MjUzQTkx
MzU0QkJCQzAwMzYwRjJBIC8qIE1lZGlhQ29udHJvbEVsZW1lbnRzLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlhQ29udHJvbEVsZW1lbnRzLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTQxN0RBNENFMTM3MzQzMjYwMDdDNTdGQiAvKiBJbnRlcm5hbHMuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW50ZXJuYWxzLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTQxN0RBNENGMTM3MzQzMjYwMDdDNTdGQiAvKiBJbnRlcm5hbHMu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW50ZXJuYWxzLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE3REE2RDAxMzczNEUwMjAwN0M1N0ZCIC8q
IGxpYldlYkNvcmVUZXN0U3VwcG9ydC5hICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGV4
cGxpY2l0RmlsZVR5cGUgPSBhcmNoaXZlLmFyOyBpbmNsdWRlSW5JbmRleCA9IDA7IHBhdGggPSBs
aWJXZWJDb3JlVGVzdFN1cHBvcnQuYTsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsg
fTsKKwkJNDE3REE3MUIxMzczNURGQTAwN0M1N0ZCIC8qIEpTSW50ZXJuYWxzLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTSW50ZXJuYWxzLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE3REE3MUMxMzczNURGQTAwN0M1N0ZCIC8qIEpTSW50ZXJu
YWxzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTSW50ZXJuYWxzLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxODEzRjkxMTM4MThBRDYwMDU3QUFBNCAvKiBJ
bnRlcm5hbHMuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEludGVybmFscy5pZGw7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxODE1QzFDMTM4MzE5ODMwMDU3QUFBNCAvKiBXZWJD
b3JlVGVzdFN1cHBvcnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
V2ViQ29yZVRlc3RTdXBwb3J0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE4
MTVDMUQxMzgzMTk4MzAwNTdBQUE0IC8qIFdlYkNvcmVUZXN0U3VwcG9ydC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDb3JlVGVzdFN1cHBvcnQuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJNDE4MTcwN0QxMzg2RURGMjAwNTdBQUE0IC8qIFdlYkNvcmVUZXN0
U3VwcG9ydC54Y2NvbmZpZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQueGNjb25maWc7IHBhdGggPSBXZWJDb3Jl
VGVzdFN1cHBvcnQueGNjb25maWc7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxODg1
QjkxMTFCNkZEQTYwMDMzODNCQiAvKiBGb3JtU3VibWlzc2lvbi5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBGb3JtU3VibWlzc2lvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk0MTg4NUI5MjExQjZGREE2MDAzMzgzQkIgLyogRm9ybVN1Ym1pc3Npb24uY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRm9ybVN1Ym1pc3Npb24uY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MThBMDZDRTEzM0MwNEQ1MDBDRDM3OUMgLyog
RXZlbnREaXNwYXRjaGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEV2ZW50
RGlzcGF0Y2hlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTI1MDIsNiArMTI1
NTAsMTMgQEAKIC8qIEVuZCBQQlhGaWxlUmVmZXJlbmNlIHNlY3Rpb24gKi8KIAogLyogQmVnaW4g
UEJYRnJhbWV3b3Jrc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLworCQk0MTdEQTZDRTEzNzM0RTAyMDA3
QzU3RkIgLyogRnJhbWV3b3JrcyAqLyA9IHsKKwkJCWlzYSA9IFBCWEZyYW1ld29ya3NCdWlsZFBo
YXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKKwkJCWZpbGVzID0gKAorCQkJ
KTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOworCQl9OwogCQk1
RDg3QkI0RDExRTNFQUVCMDA3MDJCNkYgLyogRnJhbWV3b3JrcyAqLyA9IHsKIAkJCWlzYSA9IFBC
WEZyYW1ld29ya3NCdWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsK
QEAgLTEyNTM5LDYgKzEyNTk0LDcgQEAKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4g
PSAoCiAJCQkJNUQ4N0JCNEYxMUUzRUFFQjAwNzAyQjZGIC8qIFdlYkNvcmVFeHBvcnRGaWxlR2Vu
ZXJhdG9yICovLAorCQkJCTQxN0RBNkQwMTM3MzRFMDIwMDdDNTdGQiAvKiBsaWJXZWJDb3JlVGVz
dFN1cHBvcnQuYSAqLywKIAkJCQk5M0YxOUIxQTA4MjQ1RTVBMDAxRTlBQkMgLyogV2ViQ29yZS5m
cmFtZXdvcmsgKi8sCiAJCQkpOwogCQkJbmFtZSA9IFByb2R1Y3RzOwpAQCAtMTI2MTEsNiArMTI2
NjcsNyBAQAogCQkJCUY1MjNEMkYzMDJERTQ0M0IwMTg2MzVDQSAvKiByZW5kZXJpbmcgKi8sCiAJ
CQkJMUFFODJFQzkwQ0FBRTE3NzAwMjIzN0FFIC8qIHN0b3JhZ2UgKi8sCiAJCQkJQjIyMjc3Q0Ew
RDAwQkYxRTAwNzFCNzgyIC8qIHN2ZyAqLywKKwkJCQk0MTdEQTRDRDEzNzM0MjA0MDA3QzU3RkIg
LyogdGVzdGluZyAqLywKIAkJCQlGRDMxNUZBMjEyQjAyNUIxMDBDMUEzNTkgLyogd2ViYXVkaW8g
Ki8sCiAJCQkJNTE4QTM0QkQxMDI2QzgzMTAwMUI2ODk2IC8qIHdlYnNvY2tldHMgKi8sCiAJCQkJ
MkU0MzQ2MzEwRjU0NkE2ODAwQjBGMUJBIC8qIHdvcmtlcnMgKi8sCkBAIC0xMjgxNiw2ICsxMjg3
Myw3IEBACiAJCQkJQkM5ODU0NDYwQ0QzREE1RjAwMDY5QkMxIC8qIFJhbmdlcyAqLywKIAkJCQlB
ODNCNzkxNTBDQ0IwMDc4MDAwQjA4MjUgLyogU3RvcmFnZSAqLywKIAkJCQlBODNCNzkwQTBDQ0FG
RjQ3MDAwQjA4MjUgLyogU1ZHICovLAorCQkJCTQxN0RBNzEyMTM3MzVEOTAwMDdDNTdGQiAvKiBU
ZXN0aW5nICovLAogCQkJCUUxQzhCRTRCMEU4QkQwRDEwMDY0Q0I3RCAvKiBUaHJlYWRzICovLAog
CQkJCUJDOTg1NDUzMENEM0RBOEYwMDA2OUJDMSAvKiBUcmF2ZXJzYWwgKi8sCiAJCQkJRkRBMTVF
N0IxMkIwM0UwNDAwM0E1ODNBIC8qIFdlYkF1ZGlvICovLApAQCAtMTMyODMsNiArMTMzNDEsNyBA
QAogCQkJCTQ0OTA5OEIxMEY4RjgyNTIwMDc2QTMyNyAvKiBGZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZyAqLywKIAkJCQkxQzkwNERGOTBCQTlEMkM4MDA4MUU5RDAgLyogVmVyc2lvbi54Y2NvbmZpZyAq
LywKIAkJCQkxQ0RENDVFNTBCQTlDODQ2MDBGOTAxNDcgLyogV2ViQ29yZS54Y2NvbmZpZyAqLywK
KwkJCQk0MTgxNzA3RDEzODZFREYyMDA1N0FBQTQgLyogV2ViQ29yZVRlc3RTdXBwb3J0LnhjY29u
ZmlnICovLAogCQkJKTsKIAkJCXBhdGggPSBDb25maWd1cmF0aW9uczsKIAkJCXNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7CkBAIC0xMzQ3MSw2ICsxMzUzMCwzNSBAQAogCQkJcGF0aCA9IHNoYWRvdzsK
IAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCTQxN0RBNENEMTM3MzQyMDQwMDdD
NTdGQiAvKiB0ZXN0aW5nICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9
ICgKKwkJCQk0MTgxNUMxQjEzODMxOTYzMDA1N0FBQTQgLyoganMgKi8sCisJCQkJNDE3REE0Q0Yx
MzczNDMyNjAwN0M1N0ZCIC8qIEludGVybmFscy5jcHAgKi8sCisJCQkJNDE3REE0Q0UxMzczNDMy
NjAwN0M1N0ZCIC8qIEludGVybmFscy5oICovLAorCQkJCTQxODEzRjkxMTM4MThBRDYwMDU3QUFB
NCAvKiBJbnRlcm5hbHMuaWRsICovLAorCQkJKTsKKwkJCXBhdGggPSB0ZXN0aW5nOworCQkJc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKKwkJNDE3REE3MTIxMzczNUQ5MDAwN0M1N0ZCIC8q
IFRlc3RpbmcgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJ
CTQxN0RBNzFCMTM3MzVERkEwMDdDNTdGQiAvKiBKU0ludGVybmFscy5jcHAgKi8sCisJCQkJNDE3
REE3MUMxMzczNURGQTAwN0M1N0ZCIC8qIEpTSW50ZXJuYWxzLmggKi8sCisJCQkpOworCQkJbmFt
ZSA9IFRlc3Rpbmc7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OworCQk0MTgxNUMx
QjEzODMxOTYzMDA1N0FBQTQgLyoganMgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNo
aWxkcmVuID0gKAorCQkJCTQxODE1QzFDMTM4MzE5ODMwMDU3QUFBNCAvKiBXZWJDb3JlVGVzdFN1
cHBvcnQuY3BwICovLAorCQkJCTQxODE1QzFEMTM4MzE5ODMwMDU3QUFBNCAvKiBXZWJDb3JlVGVz
dFN1cHBvcnQuaCAqLywKKwkJCSk7CisJCQlwYXRoID0ganM7CisJCQlzb3VyY2VUcmVlID0gIjxn
cm91cD4iOworCQl9OwogCQk0MzkwNDZDMjEyREEyNUNFMDBBRjgwQTIgLyogbWF0aG1sICovID0g
ewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAgLTE5NzM0LDYgKzE5ODIy
LDE2IEBACiAvKiBFbmQgUEJYR3JvdXAgc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhIZWFkZXJz
QnVpbGRQaGFzZSBzZWN0aW9uICovCisJCTQxN0RBNkNDMTM3MzRFMDIwMDdDNTdGQiAvKiBIZWFk
ZXJzICovID0geworCQkJaXNhID0gUEJYSGVhZGVyc0J1aWxkUGhhc2U7CisJCQlidWlsZEFjdGlv
bk1hc2sgPSAyMTQ3NDgzNjQ3OworCQkJZmlsZXMgPSAoCisJCQkJNDE3REE2REExMzczNEU2RTAw
N0M1N0ZCIC8qIEludGVybmFscy5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDE3REE3MUUxMzczNURG
QTAwN0M1N0ZCIC8qIEpTSW50ZXJuYWxzLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MTgxNUMxRjEz
ODMxOTgzMDA1N0FBQTQgLyogV2ViQ29yZVRlc3RTdXBwb3J0LmggaW4gSGVhZGVycyAqLywKKwkJ
CSk7CisJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKKwkJfTsKIAkJ
OTNGMTk4QTYwODI0NUU1OTAwMUU5QUJDIC8qIEhlYWRlcnMgKi8gPSB7CiAJCQlpc2EgPSBQQlhI
ZWFkZXJzQnVpbGRQaGFzZTsKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CkBAIC0y
MjgzNCw2ICsyMjkzMiwyNCBAQAogLyogRW5kIFBCWEhlYWRlcnNCdWlsZFBoYXNlIHNlY3Rpb24g
Ki8KIAogLyogQmVnaW4gUEJYTmF0aXZlVGFyZ2V0IHNlY3Rpb24gKi8KKwkJNDE3REE2Q0YxMzcz
NEUwMjAwN0M1N0ZCIC8qIFdlYkNvcmVUZXN0U3VwcG9ydCAqLyA9IHsKKwkJCWlzYSA9IFBCWE5h
dGl2ZVRhcmdldDsKKwkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSA0MTdEQTZEODEzNzM0RTQ3
MDA3QzU3RkIgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhOYXRpdmVUYXJnZXQg
IldlYkNvcmVUZXN0U3VwcG9ydCIgKi87CisJCQlidWlsZFBoYXNlcyA9ICgKKwkJCQk0MTdEQTZD
QzEzNzM0RTAyMDA3QzU3RkIgLyogSGVhZGVycyAqLywKKwkJCQk0MTdEQTZDRDEzNzM0RTAyMDA3
QzU3RkIgLyogU291cmNlcyAqLywKKwkJCQk0MTdEQTZDRTEzNzM0RTAyMDA3QzU3RkIgLyogRnJh
bWV3b3JrcyAqLywKKwkJCSk7CisJCQlidWlsZFJ1bGVzID0gKAorCQkJKTsKKwkJCWRlcGVuZGVu
Y2llcyA9ICgKKwkJCQk0MTdEQTZENTEzNzM0RTBEMDA3QzU3RkIgLyogUEJYVGFyZ2V0RGVwZW5k
ZW5jeSAqLywKKwkJCSk7CisJCQluYW1lID0gV2ViQ29yZVRlc3RTdXBwb3J0OworCQkJcHJvZHVj
dE5hbWUgPSBXZWJDb3JlVGVzdFN1cHBvcnQ7CisJCQlwcm9kdWN0UmVmZXJlbmNlID0gNDE3REE2
RDAxMzczNEUwMjAwN0M1N0ZCIC8qIGxpYldlYkNvcmVUZXN0U3VwcG9ydC5hICovOworCQkJcHJv
ZHVjdFR5cGUgPSAiY29tLmFwcGxlLnByb2R1Y3QtdHlwZS5saWJyYXJ5LnN0YXRpYyI7CisJCX07
CiAJCTVEODdCQjRFMTFFM0VBRUIwMDcwMkI2RiAvKiBXZWJDb3JlRXhwb3J0RmlsZUdlbmVyYXRv
ciAqLyA9IHsKIAkJCWlzYSA9IFBCWE5hdGl2ZVRhcmdldDsKIAkJCWJ1aWxkQ29uZmlndXJhdGlv
bkxpc3QgPSA1RDg3QkI1OTExRTNFQjA3MDA3MDJCNkYgLyogQnVpbGQgY29uZmlndXJhdGlvbiBs
aXN0IGZvciBQQlhOYXRpdmVUYXJnZXQgIldlYkNvcmVFeHBvcnRGaWxlR2VuZXJhdG9yIiAqLzsK
QEAgLTIyOTAzLDEwICsyMzAxOSwxMiBAQAogCQkJcHJvamVjdERpclBhdGggPSAiIjsKIAkJCXBy
b2plY3RSb290ID0gIiI7CiAJCQl0YXJnZXRzID0gKAorCQkJCTQxODE2Rjc5MTM4NTlDNTUwMDU3
QUFBNCAvKiBBbGwgKi8sCiAJCQkJOTNGMTk4QTUwODI0NUU1OTAwMUU5QUJDIC8qIFdlYkNvcmUg
Ki8sCiAJCQkJREQwNDFGQkUwOUQ5RERCRTAwMTBBRjJBIC8qIERlcml2ZWQgU291cmNlcyAqLywK
IAkJCQk1RDg3QkI0RTExRTNFQUVCMDA3MDJCNkYgLyogV2ViQ29yZUV4cG9ydEZpbGVHZW5lcmF0
b3IgKi8sCiAJCQkJNUQ4N0JCNjQxMUUzRUJDMTAwNzAyQjZGIC8qIFdlYkNvcmVFeHBvcnRGaWxl
R2VuZXJhdG9yIEdlbmVyYXRvciAqLywKKwkJCQk0MTdEQTZDRjEzNzM0RTAyMDA3QzU3RkIgLyog
V2ViQ29yZVRlc3RTdXBwb3J0ICovLAogCQkJKTsKIAkJfTsKIC8qIEVuZCBQQlhQcm9qZWN0IHNl
Y3Rpb24gKi8KQEAgLTIzMTE3LDYgKzIzMjM1LDE2IEBACiAvKiBFbmQgUEJYU2hlbGxTY3JpcHRC
dWlsZFBoYXNlIHNlY3Rpb24gKi8KIAogLyogQmVnaW4gUEJYU291cmNlc0J1aWxkUGhhc2Ugc2Vj
dGlvbiAqLworCQk0MTdEQTZDRDEzNzM0RTAyMDA3QzU3RkIgLyogU291cmNlcyAqLyA9IHsKKwkJ
CWlzYSA9IFBCWFNvdXJjZXNCdWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4
MzY0NzsKKwkJCWZpbGVzID0gKAorCQkJCTQxN0RBNkQ5MTM3MzRFNkUwMDdDNTdGQiAvKiBJbnRl
cm5hbHMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNDE3REE3MUQxMzczNURGQTAwN0M1N0ZCIC8q
IEpTSW50ZXJuYWxzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTQxODE1QzFFMTM4MzE5ODMwMDU3
QUFBNCAvKiBXZWJDb3JlVGVzdFN1cHBvcnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkpOworCQkJ
cnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CisJCX07CiAJCTVEODdCQjRD
MTFFM0VBRUIwMDcwMkI2RiAvKiBTb3VyY2VzICovID0gewogCQkJaXNhID0gUEJYU291cmNlc0J1
aWxkUGhhc2U7CiAJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwpAQCAtMjU1MDgsNiAr
MjU2MzYsMjEgQEAKIC8qIEVuZCBQQlhTb3VyY2VzQnVpbGRQaGFzZSBzZWN0aW9uICovCiAKIC8q
IEJlZ2luIFBCWFRhcmdldERlcGVuZGVuY3kgc2VjdGlvbiAqLworCQk0MTdEQTZENTEzNzM0RTBE
MDA3QzU3RkIgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLyA9IHsKKwkJCWlzYSA9IFBCWFRhcmdl
dERlcGVuZGVuY3k7CisJCQl0YXJnZXQgPSA5M0YxOThBNTA4MjQ1RTU5MDAxRTlBQkMgLyogV2Vi
Q29yZSAqLzsKKwkJCXRhcmdldFByb3h5ID0gNDE3REE2RDQxMzczNEUwRDAwN0M1N0ZCIC8qIFBC
WENvbnRhaW5lckl0ZW1Qcm94eSAqLzsKKwkJfTsKKwkJNDE4MTZGODMxMzg1OUM3QTAwNTdBQUE0
IC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8gPSB7CisJCQlpc2EgPSBQQlhUYXJnZXREZXBlbmRl
bmN5OworCQkJdGFyZ2V0ID0gOTNGMTk4QTUwODI0NUU1OTAwMUU5QUJDIC8qIFdlYkNvcmUgKi87
CisJCQl0YXJnZXRQcm94eSA9IDQxODE2RjgyMTM4NTlDN0EwMDU3QUFBNCAvKiBQQlhDb250YWlu
ZXJJdGVtUHJveHkgKi87CisJCX07CisJCTQxODE2Rjg1MTM4NTlDN0QwMDU3QUFBNCAvKiBQQlhU
YXJnZXREZXBlbmRlbmN5ICovID0geworCQkJaXNhID0gUEJYVGFyZ2V0RGVwZW5kZW5jeTsKKwkJ
CXRhcmdldCA9IDQxN0RBNkNGMTM3MzRFMDIwMDdDNTdGQiAvKiBXZWJDb3JlVGVzdFN1cHBvcnQg
Ki87CisJCQl0YXJnZXRQcm94eSA9IDQxODE2Rjg0MTM4NTlDN0QwMDU3QUFBNCAvKiBQQlhDb250
YWluZXJJdGVtUHJveHkgKi87CisJCX07CiAJCTVEODdCQjZCMTFFM0VCRDIwMDcwMkI2RiAvKiBQ
QlhUYXJnZXREZXBlbmRlbmN5ICovID0gewogCQkJaXNhID0gUEJYVGFyZ2V0RGVwZW5kZW5jeTsK
IAkJCXRhcmdldCA9IDVEODdCQjY0MTFFM0VCQzEwMDcwMkI2RiAvKiBXZWJDb3JlRXhwb3J0Rmls
ZUdlbmVyYXRvciBHZW5lcmF0b3IgKi87CkBAIC0yNTYxMSw2ICsyNTc1NCw1NSBAQAogCQkJfTsK
IAkJCW5hbWUgPSBQcm9kdWN0aW9uOwogCQl9OworCQk0MTdEQTZEMTEzNzM0RTAyMDA3QzU3RkIg
LyogRGVidWcgKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJhc2VD
b25maWd1cmF0aW9uUmVmZXJlbmNlID0gNDE4MTcwN0QxMzg2RURGMjAwNTdBQUE0IC8qIFdlYkNv
cmVUZXN0U3VwcG9ydC54Y2NvbmZpZyAqLzsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQl9Owor
CQkJbmFtZSA9IERlYnVnOworCQl9OworCQk0MTdEQTZEMjEzNzM0RTAyMDA3QzU3RkIgLyogUmVs
ZWFzZSAqLyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOworCQkJYmFzZUNvbmZp
Z3VyYXRpb25SZWZlcmVuY2UgPSA0MTgxNzA3RDEzODZFREYyMDA1N0FBQTQgLyogV2ViQ29yZVRl
c3RTdXBwb3J0LnhjY29uZmlnICovOworCQkJYnVpbGRTZXR0aW5ncyA9IHsKKwkJCX07CisJCQlu
YW1lID0gUmVsZWFzZTsKKwkJfTsKKwkJNDE3REE2RDMxMzczNEUwMjAwN0M1N0ZCIC8qIFByb2R1
Y3Rpb24gKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJhc2VDb25m
aWd1cmF0aW9uUmVmZXJlbmNlID0gNDE4MTcwN0QxMzg2RURGMjAwNTdBQUE0IC8qIFdlYkNvcmVU
ZXN0U3VwcG9ydC54Y2NvbmZpZyAqLzsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQl9OworCQkJ
bmFtZSA9IFByb2R1Y3Rpb247CisJCX07CisJCTQxODE2RjdBMTM4NTlDNTYwMDU3QUFBNCAvKiBE
ZWJ1ZyAqLyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOworCQkJYnVpbGRTZXR0
aW5ncyA9IHsKKwkJCQlDT1BZX1BIQVNFX1NUUklQID0gTk87CisJCQkJR0NDX0RZTkFNSUNfTk9f
UElDID0gTk87CisJCQkJR0NDX09QVElNSVpBVElPTl9MRVZFTCA9IDA7CisJCQkJUFJPRFVDVF9O
QU1FID0gQWxsOworCQkJfTsKKwkJCW5hbWUgPSBEZWJ1ZzsKKwkJfTsKKwkJNDE4MTZGN0IxMzg1
OUM1NjAwNTdBQUE0IC8qIFJlbGVhc2UgKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJh
dGlvbjsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQkJQ09QWV9QSEFTRV9TVFJJUCA9IFlFUzsK
KwkJCQlERUJVR19JTkZPUk1BVElPTl9GT1JNQVQgPSAiZHdhcmYtd2l0aC1kc3ltIjsKKwkJCQlH
Q0NfRU5BQkxFX0ZJWF9BTkRfQ09OVElOVUUgPSBOTzsKKwkJCQlQUk9EVUNUX05BTUUgPSBBbGw7
CisJCQkJWkVST19MSU5LID0gTk87CisJCQl9OworCQkJbmFtZSA9IFJlbGVhc2U7CisJCX07CisJ
CTQxODE2RjdDMTM4NTlDNTYwMDU3QUFBNCAvKiBQcm9kdWN0aW9uICovID0geworCQkJaXNhID0g
WENCdWlsZENvbmZpZ3VyYXRpb247CisJCQlidWlsZFNldHRpbmdzID0geworCQkJCVBST0RVQ1Rf
TkFNRSA9IEFsbDsKKwkJCX07CisJCQluYW1lID0gUHJvZHVjdGlvbjsKKwkJfTsKIAkJNUQ4N0JC
NTExMUUzRUFFQjAwNzAyQjZGIC8qIERlYnVnICovID0gewogCQkJaXNhID0gWENCdWlsZENvbmZp
Z3VyYXRpb247CiAJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IDFDREQ0NUU1MEJBOUM4
NDYwMEY5MDE0NyAvKiBXZWJDb3JlLnhjY29uZmlnICovOwpAQCAtMjU3MTYsNiArMjU5MDgsMjYg
QEAKIAkJCWRlZmF1bHRDb25maWd1cmF0aW9uSXNWaXNpYmxlID0gMDsKIAkJCWRlZmF1bHRDb25m
aWd1cmF0aW9uTmFtZSA9IFByb2R1Y3Rpb247CiAJCX07CisJCTQxN0RBNkQ4MTM3MzRFNDcwMDdD
NTdGQiAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWE5hdGl2ZVRhcmdldCAiV2Vi
Q29yZVRlc3RTdXBwb3J0IiAqLyA9IHsKKwkJCWlzYSA9IFhDQ29uZmlndXJhdGlvbkxpc3Q7CisJ
CQlidWlsZENvbmZpZ3VyYXRpb25zID0gKAorCQkJCTQxN0RBNkQxMTM3MzRFMDIwMDdDNTdGQiAv
KiBEZWJ1ZyAqLywKKwkJCQk0MTdEQTZEMjEzNzM0RTAyMDA3QzU3RkIgLyogUmVsZWFzZSAqLywK
KwkJCQk0MTdEQTZEMzEzNzM0RTAyMDA3QzU3RkIgLyogUHJvZHVjdGlvbiAqLywKKwkJCSk7CisJ
CQlkZWZhdWx0Q29uZmlndXJhdGlvbklzVmlzaWJsZSA9IDA7CisJCQlkZWZhdWx0Q29uZmlndXJh
dGlvbk5hbWUgPSBQcm9kdWN0aW9uOworCQl9OworCQk0MTgxNkY4MTEzODU5QzY0MDA1N0FBQTQg
LyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhBZ2dyZWdhdGVUYXJnZXQgIkFsbCIg
Ki8gPSB7CisJCQlpc2EgPSBYQ0NvbmZpZ3VyYXRpb25MaXN0OworCQkJYnVpbGRDb25maWd1cmF0
aW9ucyA9ICgKKwkJCQk0MTgxNkY3QTEzODU5QzU2MDA1N0FBQTQgLyogRGVidWcgKi8sCisJCQkJ
NDE4MTZGN0IxMzg1OUM1NjAwNTdBQUE0IC8qIFJlbGVhc2UgKi8sCisJCQkJNDE4MTZGN0MxMzg1
OUM1NjAwNTdBQUE0IC8qIFByb2R1Y3Rpb24gKi8sCisJCQkpOworCQkJZGVmYXVsdENvbmZpZ3Vy
YXRpb25Jc1Zpc2libGUgPSAwOworCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25OYW1lID0gUHJvZHVj
dGlvbjsKKwkJfTsKIAkJNUQ4N0JCNTkxMUUzRUIwNzAwNzAyQjZGIC8qIEJ1aWxkIGNvbmZpZ3Vy
YXRpb24gbGlzdCBmb3IgUEJYTmF0aXZlVGFyZ2V0ICJXZWJDb3JlRXhwb3J0RmlsZUdlbmVyYXRv
ciIgKi8gPSB7CiAJCQlpc2EgPSBYQ0NvbmZpZ3VyYXRpb25MaXN0OwogCQkJYnVpbGRDb25maWd1
cmF0aW9ucyA9ICgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9N
V3JhcHBlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdyYXBwZXIuY3Bw
CmluZGV4IDYwYzBlZDFiMjUxYTNjNjM3MzMxZGI0YjViMzczZTZmZDc1Mjg2ZWYuLjEyNWZiMmE1
Zjc5ZDVjNDZiMjhmNDM2ODVkMzk5NGZkYWZmNjM0MjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRE9NV3JhcHBlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNET01XcmFwcGVyLmNwcApAQCAtMzIsMTIgKzMyLDkgQEAgdXNpbmcgbmFtZXNw
YWNlIEpTQzsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi0jaWZuZGVmIE5ERUJVRwotCi1KU0RP
TVdyYXBwZXI6On5KU0RPTVdyYXBwZXIoKQordm9pZCBKU0RPTVdyYXBwZXI6Om5vV2Vha1Z0YWJs
ZSgpCiB7CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CiAKLSNlbmRpZgotCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RPTVdyYXBwZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV3JhcHBlci5o
CmluZGV4IDJmNWJlYmQ2ZWZlZTFjYzZmNThhZTI5ODI0OTAyN2E5ZmMxYTU0ZjMuLjU3ZmEyMzMw
MzJiMzNjNjJkZmFmNjM3ZWNiMzg0YjNlNzYyY2JhNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRE9NV3JhcHBlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRE9NV3JhcHBlci5oCkBAIC00OCw2ICs0OCwxMCBAQCBwdWJsaWM6CiAgICAgfQog
CiBwcm90ZWN0ZWQ6CisgICAgLy8gQW4gaW5saW5lIGZ1bmN0aW9uIGNhbm5vdCBiZSB0aGUgZmly
c3Qgbm9uLWFic3RyYWN0IHZpcnR1YWwgZnVuY3Rpb24gZGVjbGFyZWQKKyAgICAvLyBpbiB0aGUg
Y2xhc3MgYXMgaXQgcmVzdWx0cyBpbiB0aGUgdnRhYmxlIGJlaW5nIGdlbmVyYXRlZCBhcyBhIHdl
YWsgc3ltYm9sLgorICAgIHZpcnR1YWwgdm9pZCBub1dlYWtWdGFibGUoKTsKKwogICAgIGV4cGxp
Y2l0IEpTRE9NV3JhcHBlcihKU0M6OlN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0M6OkpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QpIAogICAgICAgICA6IEpTT2JqZWN0V2l0aEdsb2JhbE9iamVj
dChnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSkKICAgICB7CkBAIC01NiwxMCArNjAsNiBAQCBwcm90
ZWN0ZWQ6CiAgICAgICAgIC8vIG5lZWRpbmcgdG8gcmVhY2ggdGhyb3VnaCB0aGUgZnJhbWUgdG8g
Z2V0IHRvIHRoZSBEb2N1bWVudCouICBTZWUgYnVnIDI3NjQwLgogICAgICAgICAvLyBBU1NFUlQo
Z2xvYmFsT2JqZWN0LT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOwogICAgIH0KLQotI2lmbmRl
ZiBOREVCVUcKLSAgICB2aXJ0dWFsIH5KU0RPTVdyYXBwZXIoKTsKLSNlbmRpZgogfTsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmQ0NWY5NmRjZmM4NjA2YTgyOTAwYzM3OTRmMzA0NDUyOTM5M2UwNjAKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTAsMCAr
MSw0NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisg
KiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJJbnRlcm5hbHMu
aCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitQYXNzUmVmUHRyPEludGVybmFscz4gSW50ZXJu
YWxzOjpjcmVhdGUoKQoreworICAgIHJldHVybiBhZG9wdFJlZihuZXcgSW50ZXJuYWxzKCkpOwor
fQorCitJbnRlcm5hbHM6On5JbnRlcm5hbHMoKQoreworfQorCitJbnRlcm5hbHM6OkludGVybmFs
cygpCit7Cit9CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNi
YmQ5YjljMDNiNDkyYmYxYWE0NGMxMTEzYjRiMGE2MGQzZTk0ZTUKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCkBAIC0wLDAgKzEsNDUgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAg
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAor
ICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaWZuZGVmIEludGVybmFsc19oCisjZGVmaW5lIEludGVybmFsc19oCisKKyNpbmNsdWRl
IDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworY2xhc3MgSW50ZXJuYWxzIDogcHVibGljIFJlZkNvdW50ZWQ8SW50
ZXJuYWxzPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8SW50ZXJuYWxzPiBjcmVh
dGUoKTsKKyAgICB2aXJ0dWFsIH5JbnRlcm5hbHMoKTsKKworcHJpdmF0ZToKKyAgICBJbnRlcm5h
bHMoKTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDUwMTFjZWYzMmMxYjcxZjA2ZDcwNzJm
OWI2MGQwYzkxYjQzNDAyOQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmlkbApAQCAtMCwwICsxLDI5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJV
VE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworbW9kdWxlIHdpbmRvdyB7
CisgICAgaW50ZXJmYWNlIFtPbWl0Q29uc3RydWN0b3JdIEludGVybmFscyB7CisgICAgfTsKK30K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL2pzL1dlYkNvcmVUZXN0U3VwcG9ydC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L2pzL1dlYkNvcmVUZXN0U3VwcG9ydC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmJjODNiN2RiMTU0ZmQ5YWZl
MTMyNGM5ZTk1MzI4OTM0YjIzYjgzMwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvanMvV2ViQ29yZVRlc3RTdXBwb3J0LmNwcApAQCAtMCwwICsxLDQ4IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAq
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYkNvcmVUZXN0U3VwcG9ydC5oIgor
CisjaW5jbHVkZSAiSW50ZXJuYWxzLmgiCisjaW5jbHVkZSAiSlNET01HbG9iYWxPYmplY3QuaCIK
KyNpbmNsdWRlICJKU0ludGVybmFscy5oIgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0FQSUNh
c3QuaD4KKyNpbmNsdWRlIDxpbnRlcnByZXRlci9DYWxsRnJhbWUuaD4KKwordXNpbmcgbmFtZXNw
YWNlIEpTQzsKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1lc3BhY2UgV2ViQ29yZVRl
c3RTdXBwb3J0IHsKKwordm9pZCBpbmplY3RJbnRlcm5hbHNPYmplY3QoSlNDb250ZXh0UmVmIGNv
bnRleHQpCit7CisgICAgSlNMb2NrIGxvY2soU2lsZW5jZUFzc2VydGlvbnNPbmx5KTsKKyAgICBF
eGVjU3RhdGUqIGV4ZWMgPSB0b0pTKGNvbnRleHQpOworICAgIEpTRE9NR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QgPSBzdGF0aWNfY2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KGV4ZWMtPmxleGlj
YWxHbG9iYWxPYmplY3QoKSk7CisgICAgZ2xvYmFsT2JqZWN0LT5wdXREaXJlY3QoZXhlYy0+Z2xv
YmFsRGF0YSgpLCBJZGVudGlmaWVyKGV4ZWMsICJpbnRlcm5hbHMiKSwgdG9KUyhleGVjLCBnbG9i
YWxPYmplY3QsIEludGVybmFsczo6Y3JlYXRlKCkpKTsKK30KKworfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9qcy9XZWJDb3JlVGVzdFN1cHBvcnQuaCBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvanMvV2ViQ29yZVRlc3RTdXBwb3J0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjZkN2VkNDli
M2JmN2I3NmExNGNkNTg5ODY0OGExYmYzNGEwMTI2ZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvanMvV2ViQ29yZVRlc3RTdXBwb3J0LmgKQEAgLTAsMCArMSwzNyBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAq
IDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpZm5kZWYgV2ViQ29yZVRlc3RTdXBwb3J0X2gKKyNkZWZpbmUgV2ViQ29yZVRl
c3RTdXBwb3J0X2gKKwordHlwZWRlZiBjb25zdCBzdHJ1Y3QgT3BhcXVlSlNDb250ZXh0KiBKU0Nv
bnRleHRSZWY7CisKK25hbWVzcGFjZSBXZWJDb3JlVGVzdFN1cHBvcnQgeworCit2b2lkIGluamVj
dEludGVybmFsc09iamVjdChKU0NvbnRleHRSZWYpOworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy92OC9XZWJDb3Jl
VGVzdFN1cHBvcnQuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy92OC9XZWJDb3JlVGVzdFN1
cHBvcnQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlhZjkzNzViNjgzNDA5NTIwMmI4ZGJlMGE2NWMxZWVmZDdk
NTg4ZGEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL3Y4L1dlYkNv
cmVUZXN0U3VwcG9ydC5jcHAKQEAgLTAsMCArMSw0NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklC
VVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25m
aWcuaCIKKyNpbmNsdWRlICJXZWJDb3JlVGVzdFN1cHBvcnQuaCIKKworI2luY2x1ZGUgIkludGVy
bmFscy5oIgorI2luY2x1ZGUgIlY4SW50ZXJuYWxzLmgiCisKKyNpbmNsdWRlIDx2OC5oPgorCit1
c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKworbmFtZXNwYWNlIFdlYkNvcmVUZXN0U3VwcG9ydCB7
CisKK3ZvaWQgaW5qZWN0SW50ZXJuYWxzT2JqZWN0KHY4OjpMb2NhbDx2ODo6Q29udGV4dD4gY29u
dGV4dCkKK3sKKyAgICB2ODo6Q29udGV4dDo6U2NvcGUgY29udGV4dFNjb3BlKGNvbnRleHQpOwor
ICAgIHY4OjpIYW5kbGVTY29wZSBzY29wZTsKKworICAgIGNvbnRleHQtPkdsb2JhbCgpLT5TZXQo
djg6OlN0cmluZzo6TmV3KCJpbnRlcm5hbHMiKSwgdG9WOChJbnRlcm5hbHM6OmNyZWF0ZSgpKSk7
Cit9CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvdjgvV2ViQ29yZVRl
c3RTdXBwb3J0LmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL3Y4L1dlYkNvcmVUZXN0U3VwcG9y
dC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjllM2Q1ODc2NzAyM2JmYzg5NmQzMWYzOGM2OWM4NWU0N2JjMjI2ZTgK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL3Y4L1dlYkNvcmVUZXN0
U3VwcG9ydC5oCkBAIC0wLDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAg
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJB
UyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICog
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdlYkNvcmVUZXN0U3Vw
cG9ydF9oCisjZGVmaW5lIFdlYkNvcmVUZXN0U3VwcG9ydF9oCisKK25hbWVzcGFjZSB2OCB7Citj
bGFzcyBDb250ZXh0OwordGVtcGxhdGUgPGNsYXNzIFQ+IGNsYXNzIExvY2FsOworfQorCituYW1l
c3BhY2UgV2ViQ29yZVRlc3RTdXBwb3J0IHsKKwordm9pZCBpbmplY3RJbnRlcm5hbHNPYmplY3Qo
djg6OkxvY2FsPHY4OjpDb250ZXh0Pik7CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IGY3Y2QzZGE4MDI2NjI5YTllYTc4MGVl
N2M4MzRkZTliNWFiZGMyMGQuLjVmNjVkMmViMzhkZjNiODM2OTA5NjcxYjFlMmMyMTg1Yzc4OTA2
ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDUt
MjEgIERpbWl0cmkgR2xhemtvdiAgPGRnbGF6a292QGNocm9taXVtLm9yZz4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYnVpbGQgbG9naXN0aWNz
IGFuZCBwbHVtYmluZyBmb3Igd2luZG93LmludGVybmFscyBvYmplY3QuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDMxMworCisgICAgICAgICogV2Vi
S2l0Lmd5cDogQWRkZWQgbGlua2luZyBuZXcgd2Via2l0X3Rlc3Rfc3VwcG9ydCBsaWJyYXJ5Lgor
ICAgICAgICAqIHB1YmxpYy9XZWJUZXN0aW5nU3VwcG9ydC5oOiBBZGRlZC4KKyAgICAgICAgKiBz
cmMvV2ViVGVzdGluZ1N1cHBvcnQuY3BwOiBBZGRlZC4KKwogMjAxMS0wNS0yMCAgVml0YWx5IFJl
cGVzaGtvICA8dml0YWx5ckBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZC4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cCBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vV2ViS2l0Lmd5cAppbmRleCA4MWVjOWE0OTExOGI0ZDRmM2RjNzhlOTBkNzA4
NWE3MjdmNWRhOTNkLi5hODkxNDZhY2UyNzA4ZTZjOTk1ZDY5ZjJiMzE3NGI3NWQ1MzdkNmFiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAKKysrIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwCkBAIC02MDQsNiArNjA0LDcgQEAKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZXBl
bmRlbmNpZXMnOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcuLi8uLi9XZWJD
b3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwOndlYmNvcmVfYmluZGluZ3MnLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAnLi4vLi4vV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3Jl
Lmd5cDp3ZWJjb3JlX3Rlc3Rfc3VwcG9ydCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICc8KGNocm9taXVtX3NyY19kaXIpL2Jhc2UvYmFzZS5neXA6dGVzdF9zdXBwb3J0X2Jhc2Un
LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS9i
dWlsZC90ZW1wX2d5cC9nb29nbGV1cmwuZ3lwOmdvb2dsZXVybCcsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICc8KGNocm9taXVtX3NyY19kaXIpL3Rlc3RpbmcvZ3Rlc3QuZ3lwOmd0
ZXN0JywKQEAgLTYyOCw4ICs2MjksMTUgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgJzwoY2hyb21pdW1fc3JjX2RpcikvYnVpbGQvdGVtcF9neXAvZ29vZ2xldXJsLmd5cDpnb29n
bGV1cmwnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPChjaHJvbWl1bV9zcmNf
ZGlyKS92OC90b29scy9neXAvdjguZ3lwOnY4JywKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpbmNsdWRlX2RpcnMnOiBbCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgV0FSTklORzogRG8gbm90IHZpZXcgdGhpcyBw
YXJ0aWN1bGFyIGNhc2UgYXMgYSBwcmVjZWRlbnQgZm9yCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICMgaW5jbHVkaW5nIFdlYkNvcmUgaGVhZGVycyBpbiBEdW1wUmVuZGVyVHJlZSBw
cm9qZWN0LgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLi4vLi4vV2ViQ29yZS90
ZXN0aW5nL3Y4JywgIyBmb3IgV2ViQ29yZVRlc3RTdXBwb3J0LmgsIG5lZWRlZCB0byBsaW5rIGlu
IHdpbmRvdy5pbnRlcm5hbHMgY29kZS4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzb3VyY2VzJzogWwogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAnPEAod2Via2l0X3VuaXR0ZXN0X2ZpbGVzKScsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICdzcmMvV2ViVGVzdGluZ1N1cHBvcnQuY3BwJywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJUZXN0aW5nU3VwcG9ydC5oJywK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Rlc3RzL1dlYlVuaXRUZXN0cy5jcHAn
LCAgICMgQ29tcG9uZW50cyB0ZXN0IHJ1bm5lciBzdXBwb3J0LgogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NvdXJjZXMhJzogWwpA
QCAtMTA4NSw2ICsxMDkzLDIwIEBACiAgICAgICAgICAgICAgICAgICAgICAgICAnPChjaHJvbWl1
bV9zcmNfZGlyKS93ZWJraXQvc3VwcG9ydC9zZXR1cF90aGlyZF9wYXJ0eS5neXA6dGhpcmRfcGFy
dHlfaGVhZGVycycsCiAgICAgICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgICAgICB9XSwK
KyAgICAgICAgICAgICAgICBbJ2NvbXBvbmVudCE9InNoYXJlZF9saWJyYXJ5IicsIHsKKyAgICAg
ICAgICAgICAgICAgICAgJ2RlcGVuZGVuY2llcyc6IFsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICcuLi8uLi9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwOndlYmNvcmVfdGVzdF9zdXBw
b3J0JywKKyAgICAgICAgICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICAgICAgICAgJ2luY2x1
ZGVfZGlycyc6IFsKKyAgICAgICAgICAgICAgICAgICAgICAgICMgV0FSTklORzogRG8gbm90IHZp
ZXcgdGhpcyBwYXJ0aWN1bGFyIGNhc2UgYXMgYSBwcmVjZWRlbnQgZm9yCisgICAgICAgICAgICAg
ICAgICAgICAgICAjIGluY2x1ZGluZyBXZWJDb3JlIGhlYWRlcnMgaW4gRHVtcFJlbmRlclRyZWUg
cHJvamVjdC4KKyAgICAgICAgICAgICAgICAgICAgICAgICcuLi8uLi9XZWJDb3JlL3Rlc3Rpbmcv
djgnLCAjIGZvciBXZWJDb3JlVGVzdFN1cHBvcnQuaCwgbmVlZGVkIHRvIGxpbmsgaW4gd2luZG93
LmludGVybmFscyBjb2RlLgorICAgICAgICAgICAgICAgICAgICBdLAorICAgICAgICAgICAgICAg
ICAgICAnc291cmNlcyc6IFsKKyAgICAgICAgICAgICAgICAgICAgICAgICdzcmMvV2ViVGVzdGlu
Z1N1cHBvcnQuY3BwJywKKyAgICAgICAgICAgICAgICAgICAgICAgICdwdWJsaWMvV2ViVGVzdGlu
Z1N1cHBvcnQuaCcsCisgICAgICAgICAgICAgICAgICAgIF0sCisgICAgICAgICAgICAgICAgfV0s
CiAgICAgICAgICAgICBdLAogICAgICAgICB9LAogICAgICAgICB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJUZXN0aW5nU3VwcG9ydC5oIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVGVzdGluZ1N1cHBvcnQuaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jZGY0
NTU1YzMxMWRjNjkwMTZjYjk0ODUyMmY5MzFjZjZlYTk3NjIxCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVGVzdGluZ1N1cHBvcnQuaApAQCAtMCww
ICsxLDQyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkK
KyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAq
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBXZWJUZXN0aW5nU3VwcG9ydF9oCisjZGVmaW5lIFdl
YlRlc3RpbmdTdXBwb3J0X2gKKworI2luY2x1ZGUgIldlYkNvbW1vbi5oIgorCituYW1lc3BhY2Ug
V2ViS2l0IHsKKworY2xhc3MgV2ViRnJhbWU7CisKK2NsYXNzIFdlYlRlc3RpbmdTdXBwb3J0IHsK
K3B1YmxpYzoKKyAgICBXRUJLSVRfQVBJIHN0YXRpYyB2b2lkIGluamVjdEludGVybmFsc09iamVj
dChXZWJGcmFtZSopOworfTsKKworfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYlRlc3RpbmdTdXBwb3J0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYlRlc3RpbmdTdXBwb3J0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yODE1OTg0ZjNkNDk4
YzlmZTFjYzBhMTY4ZjQwODVhOTFmYWI1MDk0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViVGVzdGluZ1N1cHBvcnQuY3BwCkBAIC0wLDAgKzEsNDEgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAx
LiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworIAorI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYlRlc3RpbmdTdXBwb3J0
LmgiCisKKyNpbmNsdWRlICJXZWJDb3JlVGVzdFN1cHBvcnQuaCIKKyNpbmNsdWRlICJXZWJGcmFt
ZS5oIgorI2luY2x1ZGUgPHY4L2luY2x1ZGUvdjguaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisK
K3ZvaWQgV2ViVGVzdGluZ1N1cHBvcnQ6OmluamVjdEludGVybmFsc09iamVjdChXZWJGcmFtZSog
ZnJhbWUpCit7CisgICAgdjg6OkhhbmRsZVNjb3BlIGhhbmRsZVNjb3BlOworICAgIFdlYkNvcmVU
ZXN0U3VwcG9ydDo6aW5qZWN0SW50ZXJuYWxzT2JqZWN0KGZyYW1lLT5tYWluV29ybGRTY3JpcHRD
b250ZXh0KCkpOworfQorCit9CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9D
aGFuZ2VMb2cKaW5kZXggNTkyOTI1ZTNiOWY2NzdiNThiNTI0YWY4ZWUyNGQwMDgwYzgzYWFmYy4u
MDVmZDQyMWQ1MzQ3N2ViYzUzNzZhMTE5MGRiMjgxOTdmODFiYjMxZSAxMDA2NDQKLS0tIGEvVG9v
bHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEx
LTA1LTIxICBEaW1pdHJpIEdsYXprb3YgIDxkZ2xhemtvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGJ1aWxkIGxvZ2lz
dGljcyBhbmQgcGx1bWJpbmcgZm9yIHdpbmRvdy5pbnRlcm5hbHMgb2JqZWN0LgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjAzMTMKKworICAgICAgICAq
IER1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6
IEFkZGVkIGxpbmtpbmcgbmV3IFdlYkNvcmVUZXN0U3VwcG9ydCBsaWJyYXJ5LgorICAgICAgICAq
IER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5jcHA6CisgICAgICAgIChUZXN0U2hl
bGw6OmJpbmRKU09iamVjdHNUb1dpbmRvdyk6IEFkZGVkIGluamVjdGlvbiBjb2RlLgorICAgICAg
ICAqIER1bXBSZW5kZXJUcmVlL21hYy9GcmFtZUxvYWREZWxlZ2F0ZS5tbToKKyAgICAgICAgKC1b
RnJhbWVMb2FkRGVsZWdhdGUgZGlkQ2xlYXJXaW5kb3dPYmplY3RJblN0YW5kYXJkV29ybGRGb3JG
cmFtZTpdKTogRGl0dG8uCisKIDIwMTEtMDUtMTkgIEFkYW0gUm9iZW4gIDxhcm9iZW5AYXBwbGUu
Y29tPgogCiAgICAgICAgIFRlc3QgdGhhdCB0aGUgV2ViS2l0MiBVSSBwcm9jZXNzIGRvZXNuJ3Qg
Y3Jhc2ggd2hlbiBzdGFydGluZyBhIGRvd25sb2FkCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvRHVtcFJlbmRlclRyZWUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpp
bmRleCA3MzZhMTAzMDY1ZWE5Y2NlMGY1ZDMyODgzMGY0M2ZhMTQxNDM0OGQ2Li5kMTU5ZTQwZTMy
OGNjZTE5ODc5ZGJhZTRkMGRkNmI2N2JmY2NjZGZlIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKQEAgLTU2LDYgKzU2LDggQEAKIAkJMzcxM0VERTMxMTVCRTE5MzAwNzA1NzIwIC8qIENvbG9y
Qml0cy50dGYgaW4gQ29weSBGb250IEZpbGVzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDM3MTNFREUwMTE1QkUxNkYwMDcwNTcyMCAvKiBDb2xvckJpdHMudHRmICovOyB9Owog
CQkzQTU2MjZDQjEzMUNBMDJBMDAyQkU2RDkgLyogU3RvcmFnZVRyYWNrZXJEZWxlZ2F0ZS5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDNBNTYyNkMxMTMx
QzhCMTcwMDJCRTZEOSAvKiBTdG9yYWdlVHJhY2tlckRlbGVnYXRlLm1tICovOyB9OwogCQkzQTU2
MjZDQzEzMUNBMDM2MDAyQkU2RDkgLyogU3RvcmFnZVRyYWNrZXJEZWxlZ2F0ZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gM0E1NjI2QzAxMzFDOEIxNzAw
MkJFNkQ5IC8qIFN0b3JhZ2VUcmFja2VyRGVsZWdhdGUuaCAqLzsgfTsKKwkJNDE3REFBMUQxMzdC
M0UyNDAwN0M1N0ZCIC8qIFdlYkNvcmVUZXN0U3VwcG9ydC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE3REFBMUMxMzdCM0UyNDAwN0M1N0ZCIC8qIFdl
YkNvcmVUZXN0U3VwcG9ydC5oICovOyB9OworCQk0MTdEQUFFRjEzN0I0MEVGMDA3QzU3RkIgLyog
bGliV2ViQ29yZVRlc3RTdXBwb3J0LmEgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0MTdEQTcwMDEzNzM1MDM3MDA3QzU3RkIgLyogbGliV2ViQ29yZVRl
c3RTdXBwb3J0LmEgKi87IH07CiAJCTQ0MDU5MDcxMTI2ODQ1MzgwMENGRDQ4RCAvKiBXZWJBcmNo
aXZlRHVtcFN1cHBvcnRNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0NDA1OTA3MDEyNjg0NTM4MDBDRkQ0OEQgLyogV2ViQXJjaGl2ZUR1bXBTdXBw
b3J0TWFjLm1tICovOyB9OwogCQk0NDM3NzMwRTEyNUNCQzM2MDBBQUUwMkMgLyogV2ViQXJjaGl2
ZUR1bXBTdXBwb3J0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQ0QTk5NzgzMEZDREU4NjQwMDU4MEYxMCAvKiBXZWJBcmNoaXZlRHVtcFN1cHBvcnQu
Y3BwICovOyB9OwogCQk0NDM3NzMwRjEyNUNCQzREMDBBQUUwMkMgLyogV2ViQXJjaGl2ZUR1bXBT
dXBwb3J0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
NEE5OTc4MjBGQ0RFODY0MDA1ODBGMTAgLyogV2ViQXJjaGl2ZUR1bXBTdXBwb3J0LmggKi87IH07
CkBAIC0yNDUsNiArMjQ3LDggQEAKIAkJMzc1RjA5NzkwREFDM0NCNjAwQzhCNEU1IC8qIFdlYktp
dFdlaWdodFdhdGNoZXI5MDAudHRmICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gZmlsZTsgbmFtZSA9IFdlYktpdFdlaWdodFdhdGNoZXI5MDAudHRmOyBw
YXRoID0gZm9udHMvV2ViS2l0V2VpZ2h0V2F0Y2hlcjkwMC50dGY7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTNBNTYyNkMwMTMxQzhCMTcwMDJCRTZEOSAvKiBTdG9yYWdlVHJhY2tlckRl
bGVnYXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0b3JhZ2VUcmFja2Vy
RGVsZWdhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJM0E1NjI2QzExMzFDOEIx
NzAwMkJFNkQ5IC8qIFN0b3JhZ2VUcmFja2VyRGVsZWdhdGUubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTdG9yYWdlVHJhY2tlckRlbGVnYXRlLm1tOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk0MTdEQTcwMDEzNzM1MDM3MDA3QzU3RkIgLyogbGliV2Vi
Q29yZVRlc3RTdXBwb3J0LmEgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBhcmNoaXZlLmFyOyBwYXRoID0gbGliV2ViQ29yZVRlc3RTdXBwb3J0LmE7IHNv
dXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CisJCTQxN0RBQTFDMTM3QjNFMjQwMDdD
NTdGQiAvKiBXZWJDb3JlVGVzdFN1cHBvcnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBu
YW1lID0gV2ViQ29yZVRlc3RTdXBwb3J0Lmg7IHBhdGggPSBXZWJDb3JlVGVzdFN1cHBvcnQvV2Vi
Q29yZVRlc3RTdXBwb3J0Lmg7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJ
CTQ0MDU5MDcwMTI2ODQ1MzgwMENGRDQ4RCAvKiBXZWJBcmNoaXZlRHVtcFN1cHBvcnRNYWMubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBXZWJBcmNoaXZlRHVtcFN1
cHBvcnRNYWMubW07IHBhdGggPSBtYWMvV2ViQXJjaGl2ZUR1bXBTdXBwb3J0TWFjLm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NEE5OTc4MjBGQ0RFODY0MDA1ODBGMTAgLyogV2Vi
QXJjaGl2ZUR1bXBTdXBwb3J0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdl
YkFyY2hpdmVEdW1wU3VwcG9ydC5oOyBwYXRoID0gY2YvV2ViQXJjaGl2ZUR1bXBTdXBwb3J0Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0QTk5NzgzMEZDREU4NjQwMDU4MEYxMCAv
KiBXZWJBcmNoaXZlRHVtcFN1cHBvcnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBuYW1lID0gV2ViQXJjaGl2ZUR1bXBTdXBwb3J0LmNwcDsgcGF0aCA9IGNmL1dlYkFyY2hpdmVE
dW1wU3VwcG9ydC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0zNTksNiArMzYz
LDcgQEAKIAkJCQlBODE3MDkwNDA4QjE2NEQzMDBDQ0I5RkIgLyogSmF2YVNjcmlwdENvcmUuZnJh
bWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCiAJCQkJMjNCQ0I4OTAwRUE1NzYyMzAwM0M2Mjg5IC8q
IE9wZW5HTC5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKIAkJCQk5MzQwOTk1MTA4NTQwQ0FF
MDA3RjNCQzggLyogV2ViS2l0LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAorCQkJCTQxN0RB
QUVGMTM3QjQwRUYwMDdDNTdGQiAvKiBsaWJXZWJDb3JlVGVzdFN1cHBvcnQuYSBpbiBGcmFtZXdv
cmtzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAw
OwogCQl9OwpAQCAtNDAzLDYgKzQwOCw3IEBACiAJCQkJQThCOTFBQzQwQ0YzQjE3MDAwOEY5MUZG
IC8qIE9iakNQbHVnaW4gKi8sCiAJCQkJMTQxQkYxRjUwOTZBNDM5ODAwRTA3NTNDIC8qIFRlc3RO
ZXRzY2FwZVBsdWdJbiAqLywKIAkJCQk5MzQ1MjI5QjBCRDEyQjJDMDA4NkVEQTAgLyogUmVzb3Vy
Y2VzICovLAorCQkJCTQxN0RBOTE4MTM3MzY3NEQwMDdDNTdGQiAvKiBXZWJDb3JlVGVzdFN1cHBv
cnQgKi8sCiAJCQkJQTgwM0ZGNjQwOUNBQUNDMTAwOUIyQTM3IC8qIEZyYW1ld29ya3MgKi8sCiAJ
CQkJOTM0MDk5NTUwODU0MENBRjAwN0YzQkM4IC8qIFByb2R1Y3RzICovLAogCQkJCUJDQjI4MUVE
MENGQTcxMUQwMDdFNTMzRSAvKiBDb25maWd1cmF0aW9ucyAqLywKQEAgLTUxNCw2ICs1MjAsMTUg
QEAKIAkJCXBhdGggPSBtYWM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OworCQk0
MTdEQTkxODEzNzM2NzREMDA3QzU3RkIgLyogV2ViQ29yZVRlc3RTdXBwb3J0ICovID0geworCQkJ
aXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk0MTdEQUExQzEzN0IzRTI0MDA3
QzU3RkIgLyogV2ViQ29yZVRlc3RTdXBwb3J0LmggKi8sCisJCQkJNDE3REE3MDAxMzczNTAzNzAw
N0M1N0ZCIC8qIGxpYldlYkNvcmVUZXN0U3VwcG9ydC5hICovLAorCQkJKTsKKwkJCW5hbWUgPSBX
ZWJDb3JlVGVzdFN1cHBvcnQ7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OwogCQk5
MzQwOTk1NTA4NTQwQ0FGMDA3RjNCQzggLyogUHJvZHVjdHMgKi8gPSB7CiAJCQlpc2EgPSBQQlhH
cm91cDsKIAkJCWNoaWxkcmVuID0gKApAQCAtNjU5LDYgKzY3NCw3IEBACiAJCQkJRTFCNzgxNjcx
MUFGMzFDMzAwN0UxQkMyIC8qIE1vY2tHZW9sb2NhdGlvblByb3ZpZGVyLmggaW4gSGVhZGVycyAq
LywKIAkJCQkyOUNGQkExMDEyMjczNkU2MDBCQzMwQzAgLyogQWNjZXNzaWJpbGl0eVRleHRNYXJr
ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTNBNTYyNkNDMTMxQ0EwMzYwMDJCRTZEOSAvKiBTdG9y
YWdlVHJhY2tlckRlbGVnYXRlLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MTdEQUExRDEzN0IzRTI0
MDA3QzU3RkIgLyogV2ViQ29yZVRlc3RTdXBwb3J0LmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJ
CQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdp
dCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5jcHAgYi9Ub29scy9E
dW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuY3BwCmluZGV4IGU4OGY0MGY5MDYxMTYy
MmRlZmJiYThiN2EzNTM1MzE5OTcxNGEyZjQuLmQzYTU4NzZiNTg4OTRmYjJmNjE0ODI2OTdjOWMz
ODdmZGY4NjRiMzMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rl
c3RTaGVsbC5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxs
LmNwcApAQCAtMzksNiArMzksNyBAQAogI2luY2x1ZGUgIldlYkVsZW1lbnQuaCIKICNpbmNsdWRl
ICJXZWJGcmFtZS5oIgogI2luY2x1ZGUgIldlYkhpc3RvcnlJdGVtLmgiCisjaW5jbHVkZSAiV2Vi
VGVzdGluZ1N1cHBvcnQuaCIKICNpbmNsdWRlICJXZWJLaXQuaCIKICNpbmNsdWRlICJXZWJSdW50
aW1lRmVhdHVyZXMuaCIKICNpbmNsdWRlICJXZWJTY3JpcHRDb250cm9sbGVyLmgiCkBAIC01ODAs
NiArNTgxLDcgQEAgdm9pZCBUZXN0U2hlbGw6OmR1bXBJbWFnZShTa0NhbnZhcyogY2FudmFzKSBj
b25zdAogCiB2b2lkIFRlc3RTaGVsbDo6YmluZEpTT2JqZWN0c1RvV2luZG93KFdlYkZyYW1lKiBm
cmFtZSkKIHsKKyAgICBXZWJUZXN0aW5nU3VwcG9ydDo6aW5qZWN0SW50ZXJuYWxzT2JqZWN0KGZy
YW1lKTsKICAgICBtX2FjY2Vzc2liaWxpdHlDb250cm9sbGVyLT5iaW5kVG9KYXZhc2NyaXB0KGZy
YW1lLCBXZWJTdHJpbmc6OmZyb21VVEY4KCJhY2Nlc3NpYmlsaXR5Q29udHJvbGxlciIpKTsKICAg
ICBtX2xheW91dFRlc3RDb250cm9sbGVyLT5iaW5kVG9KYXZhc2NyaXB0KGZyYW1lLCBXZWJTdHJp
bmc6OmZyb21VVEY4KCJsYXlvdXRUZXN0Q29udHJvbGxlciIpKTsKICAgICBtX2V2ZW50U2VuZGVy
LT5iaW5kVG9KYXZhc2NyaXB0KGZyYW1lLCBXZWJTdHJpbmc6OmZyb21VVEY4KCJldmVudFNlbmRl
ciIpKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9GcmFtZUxvYWREZWxl
Z2F0ZS5tbSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9GcmFtZUxvYWREZWxlZ2F0ZS5tbQpp
bmRleCAyNzkzOWRmOTRmNzljNGZhZTVkNGYxYTk4ZGZmOGRmY2M5MTA0Y2M0Li43YzRhNWVjYWQ5
NmRkY2QxZGQ4OTZiYTg5ODhjYmZhNGExYzA4NGM2IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9tYWMvRnJhbWVMb2FkRGVsZWdhdGUubW0KKysrIGIvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvbWFjL0ZyYW1lTG9hZERlbGVnYXRlLm1tCkBAIC00MSw2ICs0MSw3IEBACiAjaW1wb3J0ICJP
YmpDUGx1Z2luRnVuY3Rpb24uaCIKICNpbXBvcnQgIlBsYWluVGV4dENvbnRyb2xsZXIuaCIKICNp
bXBvcnQgIlRleHRJbnB1dENvbnRyb2xsZXIuaCIKKyNpbXBvcnQgIldlYkNvcmVUZXN0U3VwcG9y
dC5oIgogI2ltcG9ydCAiV29ya1F1ZXVlLmgiCiAjaW1wb3J0ICJXb3JrUXVldWVJdGVtLmgiCiAj
aW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5oPgpAQCAtMjY2LDYgKzI2Nyw4
IEBACiAgICAgYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXItPm1ha2VXaW5kb3dPYmplY3QoY29udGV4
dCwgZ2xvYmFsT2JqZWN0LCAmZXhjZXB0aW9uKTsKICAgICBBU1NFUlQoIWV4Y2VwdGlvbik7CiAK
KyAgICBXZWJDb3JlVGVzdFN1cHBvcnQ6OmluamVjdEludGVybmFsc09iamVjdChjb250ZXh0KTsK
KwogICAgIC8vIE1ha2UgT2xkLVN0eWxlIGNvbnRyb2xsZXJzCiAKICAgICBXZWJWaWV3ICp3ZWJW
aWV3ID0gW2ZyYW1lIHdlYlZpZXddOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>94494</attachid>
            <date>2011-05-23 14:51:13 -0700</date>
            <delta_ts>2011-05-24 16:34:14 -0700</delta_ts>
            <desc>Event betterer, harderer, etc.</desc>
            <filename>bug-60313-20110523145112.patch</filename>
            <type>text/plain</type>
            <size>62440</size>
            <attacher name="Dimitri Glazkov (Google)">dglazkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODcwOTcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA5YzFmZmVlYWYzY2E1Njk3NWJlNTM5
MzRjZjRmMWNlNjE1MTY4ZDgwLi42MTc1ODNlZjk4MWI0NDg3OGE0ZGVhYWIwZjg4ZTk5NDc5ZWQ4
NmU4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTEtMDUtMjEgIERpbWl0cmkgR2xhemtvdiAg
PGRnbGF6a292QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGQgYnVpbGQgbG9naXN0aWNzIGFuZCBwbHVtYmluZyBmb3Igd2lu
ZG93LmludGVybmFscyBvYmplY3QuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD02MDMxMworCisgICAgICAgICogZmFzdC9kb20vV2luZG93L3NjcmlwdC10
ZXN0cy93aW5kb3ctcHJvcGVydHktZGVzY3JpcHRvcnMuanM6IEFkZGVkIGludGVybmFscyBvYmpl
Y3QgdG8gbGlzdCBvZiBwcm9wZXJ0aWVzIHRvIHNraXAuCisgICAgICAgICogZmFzdC9kb20vV2lu
ZG93L3dpbmRvdy1wcm9wZXJ0aWVzLmh0bWw6IERpdHRvLgorICAgICAgICAqIGZhc3QvZG9tL3Nj
cmlwdC10ZXN0cy9wcm90b3R5cGUtaW5oZXJpdGFuY2UtMi5qczogRGl0dG8uCisgICAgICAgICog
ZmFzdC9kb20vc2NyaXB0LXRlc3RzL3Byb3RvdHlwZS1pbmhlcml0YW5jZS5qczogRGl0dG8uCisg
ICAgICAgICogZmFzdC9oYXJuZXNzL2ludGVybmFscy1vYmplY3QtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L2hhcm5lc3MvaW50ZXJuYWxzLW9iamVjdC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvU2tpcHBlZDogU2tpcHBlZCB0aGUgbmV3bHkgYWRkZWQg
dGVzdCB1bnRpbCBwbGF0Zm9ybSBzdXBwb3J0cyB3aW5kb3cuaW50ZXJuYWxzLgorICAgICAgICAq
IHBsYXRmb3JtL21hYy13azIvU2tpcHBlZDogRGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vcXQv
U2tpcHBlZDogRGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vd2luL1NraXBwZWQ6IERpdHRvLgor
CiAyMDExLTA1LTIzICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IEFsZXhleSBQcm9za3VyeWFrb3YuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9XaW5kb3cvc2NyaXB0LXRlc3RzL3dpbmRvdy1wcm9wZXJ0eS1kZXNjcmlwdG9y
cy5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9zY3JpcHQtdGVzdHMvd2luZG93LXBy
b3BlcnR5LWRlc2NyaXB0b3JzLmpzCmluZGV4IDllYzMyNGJkMDFkNTUyZWM3YTZiZDU4M2U5ODg2
NjNkMWE5ODJkMTcuLjIzMzhmYzBlNmIwZDMzMGFmNTY1MzgzZGY2YmEyZDU2OTBhM2U3NjMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9zY3JpcHQtdGVzdHMvd2luZG93
LXByb3BlcnR5LWRlc2NyaXB0b3JzLmpzCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRv
dy9zY3JpcHQtdGVzdHMvd2luZG93LXByb3BlcnR5LWRlc2NyaXB0b3JzLmpzCkBAIC0xOCw2ICsx
OCw3IEBAIHZhciBfX3NraXBfXyA9IHsKICAgICAib2JqQ1BsdWdpbkZ1bmN0aW9uIiA6IDEsCiAg
ICAgInBsYWluVGV4dCIgOiAxLAogICAgICJ0ZXh0SW5wdXRDb250cm9sbGVyIiA6IDEsCisgICAg
ImludGVybmFscyIgOiAxLAogICAgIC8vIElnbm9yZSB0aGVzZSBwcm9wZXJ0aWVzIGJlY2F1c2Ug
dGhleSBkbyBub3QgZXhpc3QgaW4gYWxsIGltcGxlbWVudGF0aW9ucy4gVGhleSB3aWxsIGJlIHRl
c3RlZCBzZXBhcmF0ZWx5CiAgICAgIldlYkdMUmVuZGVyaW5nQ29udGV4dCIgOiAxLAogICAgICJX
ZWJHTEFjdGl2ZUluZm8iIDogMSwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dp
bmRvdy93aW5kb3ctcHJvcGVydGllcy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93
L3dpbmRvdy1wcm9wZXJ0aWVzLmh0bWwKaW5kZXggMTQ4ZTM5ODBlMWYzMmYxYmQyOWJkZTI3ODVh
ZTg2NzhmNmJmMTMyOC4uOGQ4Y2EzMDdlNzczOGE0OTM1MmMwNmI2M2VmZTYwYzc1ZWRjZDhlNCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVz
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVz
Lmh0bWwKQEAgLTYwLDYgKzYwLDcgQEAgdmFyIF9fc2tpcF9fID0gewogICAgICJ3aW5kb3cub2Jq
Q1BsdWdpbkZ1bmN0aW9uIiA6IDEsCiAgICAgIndpbmRvdy5wbGFpblRleHQiIDogMSwKICAgICAi
d2luZG93LnRleHRJbnB1dENvbnRyb2xsZXIiIDogMSwKKyAgICAid2luZG93LmludGVybmFscyIg
OiAxLAogICAgIC8vIElnbm9yZSB0aGVzZSBwcm9wZXJ0aWVzIGJlY2F1c2UgdGhleSBkbyBub3Qg
ZXhpc3QgaW4gYWxsIGltcGxlbWVudGF0aW9ucy4gVGhleSB3aWxsIGJlIHRlc3RlZCBzZXBhcmF0
ZWx5CiAgICAgIndpbmRvdy5XZWJHTFJlbmRlcmluZ0NvbnRleHQiIDogMSwgCiAgICAgIndpbmRv
dy5XZWJHTEFjdGl2ZUluZm8iIDogMSwgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zY3JpcHQtdGVzdHMvcHJvdG90eXBlLWluaGVyaXRhbmNlLTIuanMgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zY3JpcHQtdGVzdHMvcHJvdG90eXBlLWluaGVyaXRhbmNlLTIuanMKaW5kZXggYzJm
YTJiOTc3NWQ5YmY0NzU3YjRiZDI2MmFlYWFlMDBiODM3ZWQ4My4uYzU5MGMxZDMxNTNjYzE5MzM0
MWZlNWMyMjJkYzFhYmVhOTYwMjc3ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2NyaXB0LXRlc3RzL3Byb3RvdHlwZS1pbmhlcml0YW5jZS0yLmpzCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NjcmlwdC10ZXN0cy9wcm90b3R5cGUtaW5oZXJpdGFuY2UtMi5qcwpAQCAtMTIs
NiArMTIsNyBAQCB2YXIgc2tpcHBlZFByb3BlcnRpZXMgPSBbCiAgICAgIm9iakNDb250cm9sbGVy
IiwgInRleHRJbnB1dENvbnRyb2xsZXIiLCAibmF2aWdhdGlvbkNvbnRyb2xsZXIiLAogICAgICJl
dmVudFNlbmRlciIsICJvYmpDUGx1Z2luIiwgIm9iakNQbHVnaW5GdW5jdGlvbiIsCiAgICAgImFw
cGxlU2NyaXB0Q29udHJvbGxlciIsICJwbGFpblRleHQiLCAiYWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXIiLAorICAgICJpbnRlcm5hbHMiLAogICAgIC8vIFNraXAgb3VyIHRlc3QgcHJvcGVydHkKICAg
ICAiaXNJbm5lciIsCiAgICAgLy8gSWdub3JlIGZvb0NvbnN0cnVjdG9yLnByb3RvdHlwZSwgZm9v
SW5zdGFuY2UuX19wcm90b19fIGlzIG1vcmUgbGlrZWx5IHRvIGZhaWwuCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zY3JpcHQtdGVzdHMvcHJvdG90eXBlLWluaGVyaXRhbmNlLmpz
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2NyaXB0LXRlc3RzL3Byb3RvdHlwZS1pbmhlcml0YW5j
ZS5qcwppbmRleCAzMGIxZWM2ZDMzOGY2ZjcwOGNhMTk0ODY1YWU5ZGY3ZDg5ZDg5OTg3Li4wNjY3
ZTQ0YWMwOTAwZTYwNWVjNzQ4Mzg0ZTU4ZGVmMjUxMDlkY2E3IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zY3JpcHQtdGVzdHMvcHJvdG90eXBlLWluaGVyaXRhbmNlLmpzCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NjcmlwdC10ZXN0cy9wcm90b3R5cGUtaW5oZXJpdGFuY2Uu
anMKQEAgLTEyLDYgKzEyLDcgQEAgdmFyIHNraXBwZWRQcm9wZXJ0aWVzID0gWwogICAgICJvYmpD
Q29udHJvbGxlciIsICJ0ZXh0SW5wdXRDb250cm9sbGVyIiwgIm5hdmlnYXRpb25Db250cm9sbGVy
IiwKICAgICAiZXZlbnRTZW5kZXIiLCAib2JqQ1BsdWdpbiIsICJvYmpDUGx1Z2luRnVuY3Rpb24i
LAogICAgICJhcHBsZVNjcmlwdENvbnRyb2xsZXIiLCAicGxhaW5UZXh0IiwgImFjY2Vzc2liaWxp
dHlDb250cm9sbGVyIiwKKyAgICAiaW50ZXJuYWxzIiwKICAgICAvLyBJZ25vcmUgdGhlc2UgcHJv
cGVydGllcyBiZWNhdXNlIHRoZXkgZG8gbm90IGV4aXN0IGluIGFsbCBpbXBsZW1lbnRhdGlvbnMu
IFRoZXkgd2lsbCBiZSB0ZXN0ZWQgc2VwYXJhdGVseQogICAgICJ3ZWJraXROb3RpZmljYXRpb25z
IiwKICAgICAid2Via2l0QXVkaW9QYW5uZXJOb2RlIiwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvaGFybmVzcy9pbnRlcm5hbHMtb2JqZWN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2Zhc3QvaGFybmVzcy9pbnRlcm5hbHMtb2JqZWN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5l
ZDlhYWFmNDg0YjI1YzUxZGNmZWRkMDI1OTYwNjliOTNjYWYzYzBlCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9oYXJuZXNzL2ludGVybmFscy1vYmplY3QtZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEgQEAKK3dpbmRvdy5pbnRlcm5hbHMgb2JqZWN0IHNob3VsZCBiZSB2aXNpYmxl
IHdoZW4gcnVubmluZyBpbiBEUlQ6IFBBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
aGFybmVzcy9pbnRlcm5hbHMtb2JqZWN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2hhcm5lc3Mv
aW50ZXJuYWxzLW9iamVjdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJiZWU3YmY0ZmYxN2MyYmMwMmQzMDI0
ZTc3MmM4NWU1ZjZkMTMyYTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2hh
cm5lc3MvaW50ZXJuYWxzLW9iamVjdC5odG1sCkBAIC0wLDAgKzEsMjMgQEAKKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0PgorCitpZiAobGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCitmdW5jdGlvbiBydW5UZXN0KCkKK3sKKyAgICB2
YXIgbG9nID0gZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCdkaXYnKSk7CisgICAgbG9nLndyaXRlID0gZnVuY3Rpb24obXNnLCBzdWNjZXNzKQorICAgIHsK
KyAgICAgICAgdGhpcy5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKSku
dGV4dENvbnRlbnQgPSBtc2cgKyAnOiAnICsgKHN1Y2Nlc3MgPyAnUEFTUycgOiAnRkFJTCcpOwor
ICAgIH0KKworICAgIGxvZy53cml0ZSgnd2luZG93LmludGVybmFscyBvYmplY3Qgc2hvdWxkIGJl
IHZpc2libGUgd2hlbiBydW5uaW5nIGluIERSVCcsICEhd2luZG93LmludGVybmFscyk7Cit9CisK
Kzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPC9ib2R5Pgor
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBw
ZWQKaW5kZXggYzg2MDZhYTFhNzA3YWE3NTU0Zjg2Y2M2OTJhNzVkMmM3MGYwOTJiMS4uNGZmNGNh
Yjk3MmNlM2VjYTQ1NDQ0OTM5N2Y4OGNhYjA3MDE3NDk3NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Nr
aXBwZWQKQEAgLTE0NDcsMyArMTQ0Nyw2IEBAIGh0dHAvdGVzdHMvbmF2aWdhdGlvbi9wb3N0LTMw
Ny1yZXNwb25zZS5odG1sCiAKICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTYxMTYwCiBtZWRpYS92aWRlby1zcmMtaW52YWxpZC1wb3N0ZXIuaHRtbAorCisjIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MTA3MQorZmFzdC9oYXJuZXNzL2lu
dGVybmFscy1vYmplY3QuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
LXdrMi9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9Ta2lwcGVkCmluZGV4
IDNiMzIzNGQ1MDc3MzI0MzY0ZjIxNzVmMmMyN2I5MzQ1NTVhNWE1MGQuLmEyNTAxNDYyYzUyNzY2
ODk3YjA5MTJkNmIxMTM1NmQ1NTVkNTEzZTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy13azIvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Nr
aXBwZWQKQEAgLTE1MDksNiArMTUwOSwxMyBAQCBwbHVnaW5zL3ByaXZhdGUtYnJvd3NpbmctbW9k
ZS0yLmh0bWwKICMgaHR0cDovL3dlYmtpdC5vcmcvYi81ODk5MAogZWRpdGluZy91bmRvL3VuZG8t
aWZyYW1lLWxvY2F0aW9uLWNoYW5nZS5odG1sCiAKKyMgRmFpbGluZyBzaW5jZSByODQ5NjEsIGFs
d2F5cyB3aXRoIHNsaWdodGx5IGRpZmZlcmVudCByZXN1bHRzCisjIGh0dHA6Ly93ZWJraXQub3Jn
L2IvNTk4NjUKK3RyYW5zaXRpb25zL3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uLmh0bWwKKwor
IyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjEwNzMKK2Zhc3QvaGFy
bmVzcy9pbnRlcm5hbHMtb2JqZWN0Lmh0bWwKKwogIyMjIEVORCBPRiAoMSkgQ2xhc3NpZmllZCBm
YWlsdXJlcyB3aXRoIGJ1ZyByZXBvcnRzCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCmluZGV4IDY2ZTU0MzhjODE1ZjAxMGRk
NWI1NDk5NzkzNmM2MDcxY2Y1ODg4ZmEuLmMzMzgwNGNjOWI5ZTY3YjFjYmZhODZlYjkxNTVlOGY3
YmM5M2EzZjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZApAQCAtMjUyMCwzICsyNTIwLDkgQEAg
ZmFzdC9ldmVudHMvcmVtb3ZlLXRhcmdldC1pbi1tb3VzZXVwLWluc2VydGJhY2suaHRtbAogZmFz
dC9ldmVudHMvcmVtb3ZlLXRhcmdldC1pbi1tb3VzZXVwLXR3aWNlLmh0bWwKIGZhc3QvZXZlbnRz
L3JlbW92ZS10YXJnZXQtaW4tbW91c2V1cC5odG1sCiAKKyMgW1F0XVtHVEtdIHBsdWdpbnMvZ2V0
LXVybC13aXRoLWphdmFzY3JpcHQtdXJsLmh0bWwgZmFpbHMKKyMgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTYwODM0CitwbHVnaW5zL2dldC11cmwtd2l0aC1qYXZhc2Ny
aXB0LXVybC5odG1sCisKKyMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTYxMDc0CitmYXN0L2hhcm5lc3MvaW50ZXJuYWxzLW9iamVjdC5odG1sCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dp
bi9Ta2lwcGVkCmluZGV4IGQyMTY4ZmNlNjcyNGM0MTE2Y2M2MmUwMTkwNjg5OGRjM2YxZDE2MmIu
LmQ4ZTE5NDkzZTVjYjFjMjA2YTlmNWIzYzQ4ZmE2ODU2MzYxNDVmOTUgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L3dpbi9Ta2lwcGVkCkBAIC0xMzAxLDMgKzEzMDEsNiBAQCBmYXN0L2V2ZW50cy9wYWdlLXZpc2li
aWxpdHktdHJhbnNpdGlvbi10ZXN0Lmh0bWwKIAogIyBVbnNraXAgYWZ0ZXIgaW1wbGVtZW50aW5n
IExheW91dFRlc3RDb250cm9sbGVyOjpzZXREZWZlcnNMb2FkaW5nIGFuZCA6OmdvQmFjay4KIGxv
YWRlci9uYXZpZ2F0aW9uLXdoaWxlLWRlZmVycmluZy1sb2Fkcy5odG1sCisKKyMgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYxMDc2CitmYXN0L2hhcm5lc3MvaW50ZXJu
YWxzLW9iamVjdC5odG1sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjVhYjQyMmQyMmFjYzM4Mzk1MWM2YTFlYzI5
YTg3NWZiNWVjMDJlMi4uY2U3MGQ3MTEyNDQ2Yjk5NWU4MmRkZTMwYTk3Zjc2ZDUwZDg1Nzg3ZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDExLTA1LTIxICBEaW1pdHJpIEdsYXprb3Yg
IDxkZ2xhemtvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkIGJ1aWxkIGxvZ2lzdGljcyBhbmQgcGx1bWJpbmcgZm9yIHdp
bmRvdy5pbnRlcm5hbHMgb2JqZWN0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NjAzMTMKKworICAgICAgICBUZXN0OiBmYXN0L2hhcm5lc3MvaW50ZXJu
YWxzLW9iamVjdC5odG1sCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9XZWJDb3JlVGVzdFN1
cHBvcnQueGNjb25maWc6IEFkZGVkLgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6IEFk
ZGVkIHN1cHBvcnQgZm9yIGdlbmVyYXRpbmcgZnJvbSBJbnRlcm5hbHMuaWRsLgorICAgICAgICAq
IFdlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwOiBBZGRlZCBuZXcgd2ViY29yZV90ZXN0X3N1cHBvcnQg
bGlicmFyeS4KKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6IERpdHRvLgorICAgICAgICAqIFdlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogQWRkZWQgV2ViQ29yZVRlc3RTdXBwb3J0IGxp
YnJhcnkuCisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOiBBZGRlZC4KKyAgICAgICAg
KiB0ZXN0aW5nL0ludGVybmFscy5oOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFs
cy5pZGw6IEFkZGVkLgorICAgICAgICAqIHRlc3RpbmcvanMvV2ViQ29yZVRlc3RTdXBwb3J0LmNw
cDogQWRkZWQuCisgICAgICAgICogdGVzdGluZy9qcy9XZWJDb3JlVGVzdFN1cHBvcnQuaDogQWRk
ZWQuCisgICAgICAgICogdGVzdGluZy92OC9XZWJDb3JlVGVzdFN1cHBvcnQuY3BwOiBBZGRlZC4K
KyAgICAgICAgKiB0ZXN0aW5nL3Y4L1dlYkNvcmVUZXN0U3VwcG9ydC5oOiBBZGRlZC4KKwogMjAx
MS0wNS0yMyAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBBbGV4ZXkgUHJvc2t1cnlha292LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Q29uZmlndXJhdGlvbnMvV2ViQ29yZVRlc3RTdXBwb3J0LnhjY29uZmlnIGIvU291cmNlL1dlYkNv
cmUvQ29uZmlndXJhdGlvbnMvV2ViQ29yZVRlc3RTdXBwb3J0LnhjY29uZmlnCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
Ljc0ZGNiOWM1MjUwM2ZmYWU1OTgwYzE5MDlkODg4M2NhZTYwN2QzYjQKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9XZWJDb3JlVGVzdFN1cHBvcnQueGNj
b25maWcKQEAgLTAsMCArMSwzMCBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLworLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisvLyBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKy8v
IGFyZSBtZXQ6CisvLyAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorLy8gICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorLy8gMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKy8vICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKy8vICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisvLworLy8gVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisvLyBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorLy8g
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisvLyBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUgorLy8gQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisvLyBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisvLyBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IKKy8vIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKKy8vIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorLy8gKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisvLyBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiAKKworI2luY2x1ZGUgIldlYkNvcmUueGNjb25maWciCisKK1BSSVZBVEVfSEVBREVSU19GT0xE
RVJfUEFUSCA9IFdlYkNvcmVUZXN0U3VwcG9ydDsKK1BST0RVQ1RfTkFNRSA9IFdlYkNvcmVUZXN0
U3VwcG9ydDsKK09USEVSX0xERkxBR1MgPSA7CitFWFBPUlRFRF9TWU1CT0xTX0ZJTEUgPSA7CitH
Q0NfU1lNQk9MU19QUklWQVRFX0VYVEVSTiA9IFlFUzsKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCA3YmNmMzAwYTRmMDhjZjgzYTNj
MWE5MjhhY2JhOGVmZmU1N2UyM2JjLi5lYWEzNWYyMTgzNjJkOTFmYjg4MjBmNDkyNTZiMWNhNWEw
NTc5NGQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisr
KyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTQ2LDYgKzQ2LDcgQEAg
VlBBVEggPSBcCiAgICAgJChXZWJDb3JlKS93ZWJhdWRpbyBcCiAgICAgJChXZWJDb3JlKS93b3Jr
ZXJzIFwKICAgICAkKFdlYkNvcmUpL3N2ZyBcCisgICAgJChXZWJDb3JlKS90ZXN0aW5nIFwKICAg
ICAkKFdlYkNvcmUpL3dlYnNvY2tldHMgXAogIwogCkBAIC0yODgsNiArMjg5LDcgQEAgRE9NX0NM
QVNTRVMgPSBcCiAgICAgSW1hZ2VEYXRhIFwKICAgICBJbmplY3RlZFNjcmlwdEhvc3QgXAogICAg
IEluc3BlY3RvckZyb250ZW5kSG9zdCBcCisgICAgSW50ZXJuYWxzIFwKICAgICBLZXlib2FyZEV2
ZW50IFwKICAgICBMb2NhdGlvbiBcCiAgICAgTWVkaWFFcnJvciBcCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmlu
CmluZGV4IGNkNTlhNjYyOTk0ZTE3MDM0Y2MzOGNmODlmNTg3MWQ3MGM1OTcxYTcuLjgyNWEzMzRl
ZDcyMjI3MzRiOTg0NjlhYzc3MjNkYjFiMGRkMGU2MTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBA
IC0yNjMsNiArMjYzLDcgQEAgX19aTjdXZWJDb3JlMTJJY29uRGF0YWJhc2UyN2NoZWNrSW50ZWdy
aXR5QmVmb3JlT3BlbmluZ0V2CiBfX1pON1dlYkNvcmUxMkljb25EYXRhYmFzZTVjbG9zZUV2CiBf
X1pON1dlYkNvcmUxMkljb25EYXRhYmFzZTlzZXRDbGllbnRFUE5TXzE4SWNvbkRhdGFiYXNlQ2xp
ZW50RQogX19aTjdXZWJDb3JlMTJJY29uRGF0YWJhc2VDMUV2CitfX1pON1dlYkNvcmUxMkpTRE9N
V3JhcHBlcjEybm9XZWFrVnRhYmxlRXYKIF9fWk43V2ViQ29yZTEyUG9wdXBNZW51TWFjQzFFUE5T
XzE1UG9wdXBNZW51Q2xpZW50RQogX19aTjdXZWJDb3JlMTJQcmludENvbnRleHQxMnBhZ2VQcm9w
ZXJ0eUVQTlNfNUZyYW1lRVBLY2kKIF9fWk43V2ViQ29yZTEyUHJpbnRDb250ZXh0MTNudW1iZXJP
ZlBhZ2VzRVBOU181RnJhbWVFUktOU185RmxvYXRTaXplRQpAQCAtMTAxMyw2ICsxMDE0LDggQEAg
X19aTjdXZWJDb3JlOW1ha2VSYW5nZUVSS05TXzE1VmlzaWJsZVBvc2l0aW9uRVMyXwogX19aTjdX
ZWJDb3JlOXBhZ2VDYWNoZUV2CiBfX1pON1dlYkNvcmU5cGxhaW5UZXh0RVBLTlNfNVJhbmdlRU5T
XzIwVGV4dEl0ZXJhdG9yQmVoYXZpb3JFCiBfX1pON1dlYkNvcmU5dG9FbGVtZW50RU4zSlNDN0pT
VmFsdWVFCitfX1pON1dlYkNvcmUxN2NhY2hlRE9NU3RydWN0dXJlRVBOU18xN0pTRE9NR2xvYmFs
T2JqZWN0RVBOM0pTQzlTdHJ1Y3R1cmVFUEtOUzJfOUNsYXNzSW5mb0UKK19fWk43V2ViQ29yZTIx
Z2V0Q2FjaGVkRE9NU3RydWN0dXJlRVBOU18xN0pTRE9NR2xvYmFsT2JqZWN0RVBLTjNKU0M5Q2xh
c3NJbmZvRQogX19aTkszSlNDOEJpbmRpbmdzMTBSb290T2JqZWN0MTJnbG9iYWxPYmplY3RFdgog
X19aTkszV1RGNlN0cmluZzE0Y3JlYXRlQ0ZTdHJpbmdFdgogX19aTks3V2ViQ29yZTVGcmFtZTI2
Z2V0RG9jdW1lbnRCYWNrZ3JvdW5kQ29sb3JFdgpAQCAtMTMwNyw2ICsxMzEwLDcgQEAgX19aTks3
V2ViQ29yZTlGcmFtZVZpZXcyOGlzRW5jbG9zZWRJbkNvbXBvc2l0aW5nTGF5ZXJFdgogX19aTks3
V2ViQ29yZTlQYWdlQ2FjaGUxMGZyYW1lQ291bnRFdgogX19aTks3V2ViQ29yZTlQYWdlQ2FjaGUy
MWF1dG9yZWxlYXNlZFBhZ2VDb3VudEV2CiBfX1pUVk43V2ViQ29yZTEyQ2hyb21lQ2xpZW50RQor
X19aVFZON1dlYkNvcmUxMkpTRE9NV3JhcHBlckUKIF9fWlRWTjdXZWJDb3JlMTZJY29uRGF0YWJh
c2VCYXNlRQogX19aVFZON1dlYkNvcmUxN0ZpbGVDaG9vc2VyQ2xpZW50RQogX19aVFZON1dlYkNv
cmUxN0ZyYW1lTG9hZGVyQ2xpZW50RQpAQCAtMTYzOCw4ICsxNjQyLDYgQEAgX19aTjNKU0M4Qmlu
ZGluZ3M4SW5zdGFuY2VDMkVOM1dURjEwUGFzc1JlZlB0cklOUzBfMTBSb290T2JqZWN0RUVFCiBf
X1pOM0pTQzhCaW5kaW5nczhJbnN0YW5jZUQyRXYKIF9fWk43V2ViQ29yZTEzSWRlbnRpZmllclJl
cDdpc1ZhbGlkRVBTMF8KIF9fWk43V2ViQ29yZTE2U2NyaXB0Q29udHJvbGxlcjE2Y3JlYXRlUm9v
dE9iamVjdEVQdgotX19aTjdXZWJDb3JlMTdjYWNoZURPTVN0cnVjdHVyZUVQTlNfMTdKU0RPTUds
b2JhbE9iamVjdEVQTjNKU0M5U3RydWN0dXJlRVBLTlMyXzlDbGFzc0luZm9FCi1fX1pON1dlYkNv
cmUyMWdldENhY2hlZERPTVN0cnVjdHVyZUVQTlNfMTdKU0RPTUdsb2JhbE9iamVjdEVQS04zSlND
OUNsYXNzSW5mb0UKIF9fWk5LM0pTQzhCaW5kaW5nczEzUnVudGltZU9iamVjdDEyZGVmYXVsdFZh
bHVlRVBOU185RXhlY1N0YXRlRU5TXzIyUHJlZmVycmVkUHJpbWl0aXZlVHlwZUUKIF9fWlRWTjNK
U0MxM1J1bnRpbWVNZXRob2RFCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZ3lwL1dlYkNvcmUuZ3lwIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29y
ZS5neXAKaW5kZXggOGVlMWFlMGY3NjcxODEzMDA5MDMwN2NhNWIxYWRjMWMyYTBhYjg3My4uM2Ux
YzBjMTJmZmE3NWIwMzNiOTdiNDhhNzQ5MThiMjQ5NTM5OTUxNyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXAvV2ViQ29yZS5neXAKQEAgLTQ1NSw2ICs0NTUsNyBAQAogCiAgICAgICAgICMgaWRs
IHJ1bGVzCiAgICAgICAgICc8QChiaW5kaW5nc19pZGxfZmlsZXMpJywKKyAgICAgICAgJzxAKHdl
YmNvcmVfdGVzdF9zdXBwb3J0X2lkbF9maWxlcyknLAogICAgICAgXSwKICAgICAgICdhY3Rpb25z
JzogWwogICAgICAgICAjIEFjdGlvbnMgdG8gYnVpbGQgZGVyaXZlZCBzb3VyY2VzLgpAQCAtODQ0
LDYgKzg0NSw3IEBACiAgICAgICAgICAgICAgICctLWluY2x1ZGUnLCAnLi4vcGx1Z2lucycsCiAg
ICAgICAgICAgICAgICctLWluY2x1ZGUnLCAnLi4vc3RvcmFnZScsCiAgICAgICAgICAgICAgICct
LWluY2x1ZGUnLCAnLi4vc3ZnJywKKyAgICAgICAgICAgICAgJy0taW5jbHVkZScsICcuLi90ZXN0
aW5nJywKICAgICAgICAgICAgICAgJy0taW5jbHVkZScsICcuLi93ZWJhdWRpbycsCiAgICAgICAg
ICAgICAgICctLWluY2x1ZGUnLCAnLi4vd2Vic29ja2V0cycsCiAgICAgICAgICAgICAgICctLWlu
Y2x1ZGUnLCAnLi4vd29ya2VycycsCkBAIC0xNzI2LDUgKzE3MjgsMjkgQEAKICAgICAgICAgfV0s
CiAgICAgICBdLAogICAgIH0sCisgICAgeworICAgICAgJ3RhcmdldF9uYW1lJzogJ3dlYmNvcmVf
dGVzdF9zdXBwb3J0JywKKyAgICAgICd0eXBlJzogJ3N0YXRpY19saWJyYXJ5JywKKyAgICAgICdk
ZXBlbmRlbmNpZXMnOiBbCisgICAgICAgICd3ZWJjb3JlJywKKyAgICAgIF0sCisgICAgICAnaW5j
bHVkZV9kaXJzJzogWworICAgICAgICAnPChJTlRFUk1FRElBVEVfRElSKScsCisgICAgICAgICc8
KFNIQVJFRF9JTlRFUk1FRElBVEVfRElSKS93ZWJjb3JlJywKKyAgICAgICAgJzwoU0hBUkVEX0lO
VEVSTUVESUFURV9ESVIpL3dlYmtpdCcsCisgICAgICAgICc8KFNIQVJFRF9JTlRFUk1FRElBVEVf
RElSKS93ZWJraXQvYmluZGluZ3MnLAorICAgICAgICAnPEAod2ViY29yZV9pbmNsdWRlX2RpcnMp
JywKKyAgICAgICAgJy4uL3Rlc3RpbmcnLAorICAgICAgICAnLi4vdGVzdGluZy92OCcsCisgICAg
ICBdLAorICAgICAgJ3NvdXJjZXMnOiBbCisgICAgICAgICc8QCh3ZWJjb3JlX3Rlc3Rfc3VwcG9y
dF9maWxlcyknLAorICAgICAgICAnPChTSEFSRURfSU5URVJNRURJQVRFX0RJUikvd2ViY29yZS9i
aW5kaW5ncy9WOEludGVybmFscy5jcHAnLAorICAgICAgICAnPChTSEFSRURfSU5URVJNRURJQVRF
X0RJUikvd2Via2l0L2JpbmRpbmdzL1Y4SW50ZXJuYWxzLmgnLAorICAgICAgXSwKKyAgICAgICdz
b3VyY2VzLyc6IFsKKyAgICAgICAgWydleGNsdWRlJywgJ3Rlc3RpbmcvanMnXSwKKyAgICAgIF0s
CisgICAgfSwKICAgXSwgICMgdGFyZ2V0cwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IGU0ZmFiNjRk
ZTFhNDlkOTZiN2YwOWE1ZWQzMDU3YzM1ZjA0MGM3YTEuLjhkMjNlOWNkNmJhNzc3N2Q4NjFiZWNj
YTM5MTA2OTE4MWY3NTRhYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lw
aQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTYwODgsNiArNjA4OCwxNyBA
QAogICAgICAgICAgICAgJ3htbC9YU0xUVW5pY29kZVNvcnQuY3BwJywKICAgICAgICAgICAgICd4
bWwvWFNMVFVuaWNvZGVTb3J0LmgnLAogICAgICAgICBdLAorICAgICAgICAnd2ViY29yZV90ZXN0
X3N1cHBvcnRfaWRsX2ZpbGVzJzogWworICAgICAgICAgICd0ZXN0aW5nL0ludGVybmFscy5pZGwn
LAorICAgICAgICBdLAorICAgICAgICAnd2ViY29yZV90ZXN0X3N1cHBvcnRfZmlsZXMnOiBbCisg
ICAgICAgICAgICAndGVzdGluZy92OC9XZWJDb3JlVGVzdFN1cHBvcnQuY3BwJywKKyAgICAgICAg
ICAgICd0ZXN0aW5nL3Y4L1dlYkNvcmVUZXN0U3VwcG9ydC5oJywKKyAgICAgICAgICAgICd0ZXN0
aW5nL2pzL1dlYkNvcmVUZXN0U3VwcG9ydC5jcHAnLAorICAgICAgICAgICAgJ3Rlc3RpbmcvanMv
V2ViQ29yZVRlc3RTdXBwb3J0LmgnLAorICAgICAgICAgICAgJ3Rlc3RpbmcvSW50ZXJuYWxzLmNw
cCcsCisgICAgICAgICAgICAndGVzdGluZy9JbnRlcm5hbHMuaCcsCisgICAgICAgIF0sCiAgICAg
ICAgICd3ZWJjb3JlX3Jlc291cmNlX2ZpbGVzJzogWwogICAgICAgICAgICAgJ0VuZ2xpc2gubHBy
b2ovTG9jYWxpemFibGUuc3RyaW5ncycsCiAgICAgICAgICAgICAnRW5nbGlzaC5scHJvai9sb2Nh
bGl6ZWRTdHJpbmdzLmpzJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagppbmRleCAwYjc4ZDg5YTNjYTRkMzgxZTNhZjBlZDVlZmZiZjk4OGMx
MTE0MWViLi45NWFkNmRhYWJmMjQ1ZTU5Yjg5YjEwZTBiN2U2MjlkZGM1Njc1YWRlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC03
LDYgKzcsMTggQEAKIAlvYmplY3RzID0gewogCiAvKiBCZWdpbiBQQlhBZ2dyZWdhdGVUYXJnZXQg
c2VjdGlvbiAqLworCQk0MTgxNkY3OTEzODU5QzU1MDA1N0FBQTQgLyogQWxsICovID0geworCQkJ
aXNhID0gUEJYQWdncmVnYXRlVGFyZ2V0OworCQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IDQx
ODE2RjgxMTM4NTlDNjQwMDU3QUFBNCAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBC
WEFnZ3JlZ2F0ZVRhcmdldCAiQWxsIiAqLzsKKwkJCWJ1aWxkUGhhc2VzID0gKAorCQkJKTsKKwkJ
CWRlcGVuZGVuY2llcyA9ICgKKwkJCQk0MTgxNkY4MzEzODU5QzdBMDA1N0FBQTQgLyogUEJYVGFy
Z2V0RGVwZW5kZW5jeSAqLywKKwkJCQk0MTgxNkY4NTEzODU5QzdEMDA1N0FBQTQgLyogUEJYVGFy
Z2V0RGVwZW5kZW5jeSAqLywKKwkJCSk7CisJCQluYW1lID0gQWxsOworCQkJcHJvZHVjdE5hbWUg
PSBBbGw7CisJCX07CiAJCTVEODdCQjY0MTFFM0VCQzEwMDcwMkI2RiAvKiBXZWJDb3JlRXhwb3J0
RmlsZUdlbmVyYXRvciBHZW5lcmF0b3IgKi8gPSB7CiAJCQlpc2EgPSBQQlhBZ2dyZWdhdGVUYXJn
ZXQ7CiAJCQlidWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gNUQ4N0JCNkMxMUUzRUMwMDAwNzAyQjZG
IC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYQWdncmVnYXRlVGFyZ2V0ICJXZWJD
b3JlRXhwb3J0RmlsZUdlbmVyYXRvciBHZW5lcmF0b3IiICovOwpAQCAtODUyLDYgKzg2NCwxMiBA
QAogCQk0MTZFNzVDQzBFREY5MEM3MDAzNjBFMUQgLyogU2NyaXB0Q2FsbEZyYW1lLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxNkU3NUNBMEVERjkw
QzcwMDM2MEUxRCAvKiBTY3JpcHRDYWxsRnJhbWUuY3BwICovOyB9OwogCQk0MTcyNTNBQTEzNTRC
QkJDMDAzNjBGMkEgLyogTWVkaWFDb250cm9sRWxlbWVudHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE3MjUzQTgxMzU0QkJCQzAwMzYwRjJBIC8q
IE1lZGlhQ29udHJvbEVsZW1lbnRzLmNwcCAqLzsgfTsKIAkJNDE3MjUzQUIxMzU0QkJCQzAwMzYw
RjJBIC8qIE1lZGlhQ29udHJvbEVsZW1lbnRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0MTcyNTNBOTEzNTRCQkJDMDAzNjBGMkEgLyogTWVkaWFDb250
cm9sRWxlbWVudHMuaCAqLzsgfTsKKwkJNDE3REE2RDkxMzczNEU2RTAwN0M1N0ZCIC8qIEludGVy
bmFscy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
MTdEQTRDRjEzNzM0MzI2MDA3QzU3RkIgLyogSW50ZXJuYWxzLmNwcCAqLzsgfTsKKwkJNDE3REE2
REExMzczNEU2RTAwN0M1N0ZCIC8qIEludGVybmFscy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE3REE0Q0UxMzczNDMyNjAwN0M1N0ZCIC8qIEludGVy
bmFscy5oICovOyB9OworCQk0MTdEQTcxRDEzNzM1REZBMDA3QzU3RkIgLyogSlNJbnRlcm5hbHMu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE3REE3
MUIxMzczNURGQTAwN0M1N0ZCIC8qIEpTSW50ZXJuYWxzLmNwcCAqLzsgfTsKKwkJNDE3REE3MUUx
MzczNURGQTAwN0M1N0ZCIC8qIEpTSW50ZXJuYWxzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTdEQTcxQzEzNzM1REZBMDA3QzU3RkIgLyogSlNJbnRl
cm5hbHMuaCAqLzsgfTsKKwkJNDE4MTVDMUUxMzgzMTk4MzAwNTdBQUE0IC8qIFdlYkNvcmVUZXN0
U3VwcG9ydC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0MTgxNUMxQzEzODMxOTgzMDA1N0FBQTQgLyogV2ViQ29yZVRlc3RTdXBwb3J0LmNwcCAqLzsg
fTsKKwkJNDE4MTVDMUYxMzgzMTk4MzAwNTdBQUE0IC8qIFdlYkNvcmVUZXN0U3VwcG9ydC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE4MTVDMUQxMzgz
MTk4MzAwNTdBQUE0IC8qIFdlYkNvcmVUZXN0U3VwcG9ydC5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxODg1QjkzMTFCNkZEQTYwMDMzODNCQiAv
KiBGb3JtU3VibWlzc2lvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNDE4ODVCOTExMUI2RkRBNjAwMzM4M0JCIC8qIEZvcm1TdWJtaXNzaW9uLmggKi87
IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDE4ODVCOTQx
MUI2RkRBNjAwMzM4M0JCIC8qIEZvcm1TdWJtaXNzaW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxODg1QjkyMTFCNkZEQTYwMDMzODNCQiAvKiBG
b3JtU3VibWlzc2lvbi5jcHAgKi87IH07CiAJCTQxOEEwNkQwMTMzQzA0RDUwMENEMzc5QyAvKiBF
dmVudERpc3BhdGNoZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQxOEEwNkNFMTMzQzA0RDUwMENEMzc5QyAvKiBFdmVudERpc3BhdGNoZXIuaCAqLzsg
fTsKQEAgLTU5NTMsNiArNTk3MSwyNyBAQAogLyogRW5kIFBCWEJ1aWxkRmlsZSBzZWN0aW9uICov
CiAKIC8qIEJlZ2luIFBCWENvbnRhaW5lckl0ZW1Qcm94eSBzZWN0aW9uICovCisJCTQxN0RBNkQ0
MTM3MzRFMEQwMDdDNTdGQiAvKiBQQlhDb250YWluZXJJdGVtUHJveHkgKi8gPSB7CisJCQlpc2Eg
PSBQQlhDb250YWluZXJJdGVtUHJveHk7CisJCQljb250YWluZXJQb3J0YWwgPSAwODY3RDY5MEZF
ODQwMjhGQzAyQUFDMDcgLyogUHJvamVjdCBvYmplY3QgKi87CisJCQlwcm94eVR5cGUgPSAxOwor
CQkJcmVtb3RlR2xvYmFsSURTdHJpbmcgPSA5M0YxOThBNTA4MjQ1RTU5MDAxRTlBQkM7CisJCQly
ZW1vdGVJbmZvID0gV2ViQ29yZTsKKwkJfTsKKwkJNDE4MTZGODIxMzg1OUM3QTAwNTdBQUE0IC8q
IFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLyA9IHsKKwkJCWlzYSA9IFBCWENvbnRhaW5lckl0ZW1Q
cm94eTsKKwkJCWNvbnRhaW5lclBvcnRhbCA9IDA4NjdENjkwRkU4NDAyOEZDMDJBQUMwNyAvKiBQ
cm9qZWN0IG9iamVjdCAqLzsKKwkJCXByb3h5VHlwZSA9IDE7CisJCQlyZW1vdGVHbG9iYWxJRFN0
cmluZyA9IDkzRjE5OEE1MDgyNDVFNTkwMDFFOUFCQzsKKwkJCXJlbW90ZUluZm8gPSBXZWJDb3Jl
OworCQl9OworCQk0MTgxNkY4NDEzODU5QzdEMDA1N0FBQTQgLyogUEJYQ29udGFpbmVySXRlbVBy
b3h5ICovID0geworCQkJaXNhID0gUEJYQ29udGFpbmVySXRlbVByb3h5OworCQkJY29udGFpbmVy
UG9ydGFsID0gMDg2N0Q2OTBGRTg0MDI4RkMwMkFBQzA3IC8qIFByb2plY3Qgb2JqZWN0ICovOwor
CQkJcHJveHlUeXBlID0gMTsKKwkJCXJlbW90ZUdsb2JhbElEU3RyaW5nID0gNDE3REE2Q0YxMzcz
NEUwMjAwN0M1N0ZCOworCQkJcmVtb3RlSW5mbyA9IFdlYkNvcmVUZXN0U3VwcG9ydDsKKwkJfTsK
IAkJNUQ4N0JCNkExMUUzRUJEMjAwNzAyQjZGIC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLyA9
IHsKIAkJCWlzYSA9IFBCWENvbnRhaW5lckl0ZW1Qcm94eTsKIAkJCWNvbnRhaW5lclBvcnRhbCA9
IDA4NjdENjkwRkU4NDAyOEZDMDJBQUMwNyAvKiBQcm9qZWN0IG9iamVjdCAqLzsKQEAgLTczMTks
NiArNzM1OCwxNSBAQAogCQk0MTZFNzVDQTBFREY5MEM3MDAzNjBFMUQgLyogU2NyaXB0Q2FsbEZy
YW1lLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNjcmlwdENhbGxG
cmFtZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxNzI1M0E4MTM1NEJCQkMw
MDM2MEYyQSAvKiBNZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBNZWRpYUNvbnRyb2xFbGVtZW50cy5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTQxNzI1M0E5MTM1NEJCQkMwMDM2MEYyQSAvKiBNZWRpYUNvbnRyb2xF
bGVtZW50cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYUNvbnRyb2xF
bGVtZW50cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTdEQTRDRTEzNzM0MzI2
MDA3QzU3RkIgLyogSW50ZXJuYWxzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEludGVybmFscy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTdEQTRDRjEzNzM0
MzI2MDA3QzU3RkIgLyogSW50ZXJuYWxzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEludGVybmFscy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQx
N0RBNkQwMTM3MzRFMDIwMDdDNTdGQiAvKiBsaWJXZWJDb3JlVGVzdFN1cHBvcnQuYSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBleHBsaWNpdEZpbGVUeXBlID0gYXJjaGl2ZS5hcjsgaW5j
bHVkZUluSW5kZXggPSAwOyBwYXRoID0gbGliV2ViQ29yZVRlc3RTdXBwb3J0LmE7IHNvdXJjZVRy
ZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CisJCTQxN0RBNzFCMTM3MzVERkEwMDdDNTdGQiAv
KiBKU0ludGVybmFscy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBK
U0ludGVybmFscy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxN0RBNzFDMTM3
MzVERkEwMDdDNTdGQiAvKiBKU0ludGVybmFscy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBKU0ludGVybmFscy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTgx
M0Y5MTEzODE4QUQ2MDA1N0FBQTQgLyogSW50ZXJuYWxzLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBh
dGggPSBJbnRlcm5hbHMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTgxNUMx
QzEzODMxOTgzMDA1N0FBQTQgLyogV2ViQ29yZVRlc3RTdXBwb3J0LmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkNvcmVUZXN0U3VwcG9ydC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxODE1QzFEMTM4MzE5ODMwMDU3QUFBNCAvKiBXZWJDb3Jl
VGVzdFN1cHBvcnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQ29yZVRl
c3RTdXBwb3J0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxODE3MDdEMTM4NkVE
RjIwMDU3QUFBNCAvKiBXZWJDb3JlVGVzdFN1cHBvcnQueGNjb25maWcgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
LnhjY29uZmlnOyBwYXRoID0gV2ViQ29yZVRlc3RTdXBwb3J0LnhjY29uZmlnOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk0MTg4NUI5MTExQjZGREE2MDAzMzgzQkIgLyogRm9ybVN1Ym1p
c3Npb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRm9ybVN1Ym1pc3Npb24u
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE4ODVCOTIxMUI2RkRBNjAwMzM4M0JC
IC8qIEZvcm1TdWJtaXNzaW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEZvcm1TdWJtaXNzaW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE4
QTA2Q0UxMzNDMDRENTAwQ0QzNzlDIC8qIEV2ZW50RGlzcGF0Y2hlci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBFdmVudERpc3BhdGNoZXIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTEyNTAwLDYgKzEyNTQ4LDEzIEBACiAvKiBFbmQgUEJYRmlsZVJlZmVyZW5j
ZSBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFBCWEZyYW1ld29ya3NCdWlsZFBoYXNlIHNlY3Rpb24g
Ki8KKwkJNDE3REE2Q0UxMzczNEUwMjAwN0M1N0ZCIC8qIEZyYW1ld29ya3MgKi8gPSB7CisJCQlp
c2EgPSBQQlhGcmFtZXdvcmtzQnVpbGRQaGFzZTsKKwkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0
ODM2NDc7CisJCQlmaWxlcyA9ICgKKwkJCSk7CisJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rw
cm9jZXNzaW5nID0gMDsKKwkJfTsKIAkJNUQ4N0JCNEQxMUUzRUFFQjAwNzAyQjZGIC8qIEZyYW1l
d29ya3MgKi8gPSB7CiAJCQlpc2EgPSBQQlhGcmFtZXdvcmtzQnVpbGRQaGFzZTsKIAkJCWJ1aWxk
QWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CkBAIC0xMjUzNyw2ICsxMjU5Miw3IEBACiAJCQlpc2Eg
PSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAogCQkJCTVEODdCQjRGMTFFM0VBRUIwMDcwMkI2
RiAvKiBXZWJDb3JlRXhwb3J0RmlsZUdlbmVyYXRvciAqLywKKwkJCQk0MTdEQTZEMDEzNzM0RTAy
MDA3QzU3RkIgLyogbGliV2ViQ29yZVRlc3RTdXBwb3J0LmEgKi8sCiAJCQkJOTNGMTlCMUEwODI0
NUU1QTAwMUU5QUJDIC8qIFdlYkNvcmUuZnJhbWV3b3JrICovLAogCQkJKTsKIAkJCW5hbWUgPSBQ
cm9kdWN0czsKQEAgLTEyNjA5LDYgKzEyNjY1LDcgQEAKIAkJCQlGNTIzRDJGMzAyREU0NDNCMDE4
NjM1Q0EgLyogcmVuZGVyaW5nICovLAogCQkJCTFBRTgyRUM5MENBQUUxNzcwMDIyMzdBRSAvKiBz
dG9yYWdlICovLAogCQkJCUIyMjI3N0NBMEQwMEJGMUUwMDcxQjc4MiAvKiBzdmcgKi8sCisJCQkJ
NDE3REE0Q0QxMzczNDIwNDAwN0M1N0ZCIC8qIHRlc3RpbmcgKi8sCiAJCQkJRkQzMTVGQTIxMkIw
MjVCMTAwQzFBMzU5IC8qIHdlYmF1ZGlvICovLAogCQkJCTUxOEEzNEJEMTAyNkM4MzEwMDFCNjg5
NiAvKiB3ZWJzb2NrZXRzICovLAogCQkJCTJFNDM0NjMxMEY1NDZBNjgwMEIwRjFCQSAvKiB3b3Jr
ZXJzICovLApAQCAtMTI4MTQsNiArMTI4NzEsNyBAQAogCQkJCUJDOTg1NDQ2MENEM0RBNUYwMDA2
OUJDMSAvKiBSYW5nZXMgKi8sCiAJCQkJQTgzQjc5MTUwQ0NCMDA3ODAwMEIwODI1IC8qIFN0b3Jh
Z2UgKi8sCiAJCQkJQTgzQjc5MEEwQ0NBRkY0NzAwMEIwODI1IC8qIFNWRyAqLywKKwkJCQk0MTdE
QTcxMjEzNzM1RDkwMDA3QzU3RkIgLyogVGVzdGluZyAqLywKIAkJCQlFMUM4QkU0QjBFOEJEMEQx
MDA2NENCN0QgLyogVGhyZWFkcyAqLywKIAkJCQlCQzk4NTQ1MzBDRDNEQThGMDAwNjlCQzEgLyog
VHJhdmVyc2FsICovLAogCQkJCUZEQTE1RTdCMTJCMDNFMDQwMDNBNTgzQSAvKiBXZWJBdWRpbyAq
LywKQEAgLTEzMjgxLDYgKzEzMzM5LDcgQEAKIAkJCQk0NDkwOThCMTBGOEY4MjUyMDA3NkEzMjcg
LyogRmVhdHVyZURlZmluZXMueGNjb25maWcgKi8sCiAJCQkJMUM5MDRERjkwQkE5RDJDODAwODFF
OUQwIC8qIFZlcnNpb24ueGNjb25maWcgKi8sCiAJCQkJMUNERDQ1RTUwQkE5Qzg0NjAwRjkwMTQ3
IC8qIFdlYkNvcmUueGNjb25maWcgKi8sCisJCQkJNDE4MTcwN0QxMzg2RURGMjAwNTdBQUE0IC8q
IFdlYkNvcmVUZXN0U3VwcG9ydC54Y2NvbmZpZyAqLywKIAkJCSk7CiAJCQlwYXRoID0gQ29uZmln
dXJhdGlvbnM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMTM0NjgsNiArMTM1Mjcs
MzUgQEAKIAkJCXBhdGggPSBzaGFkb3c7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9
OworCQk0MTdEQTRDRDEzNzM0MjA0MDA3QzU3RkIgLyogdGVzdGluZyAqLyA9IHsKKwkJCWlzYSA9
IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJNDE4MTVDMUIxMzgzMTk2MzAwNTdBQUE0
IC8qIGpzICovLAorCQkJCTQxN0RBNENGMTM3MzQzMjYwMDdDNTdGQiAvKiBJbnRlcm5hbHMuY3Bw
ICovLAorCQkJCTQxN0RBNENFMTM3MzQzMjYwMDdDNTdGQiAvKiBJbnRlcm5hbHMuaCAqLywKKwkJ
CQk0MTgxM0Y5MTEzODE4QUQ2MDA1N0FBQTQgLyogSW50ZXJuYWxzLmlkbCAqLywKKwkJCSk7CisJ
CQlwYXRoID0gdGVzdGluZzsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisJCTQx
N0RBNzEyMTM3MzVEOTAwMDdDNTdGQiAvKiBUZXN0aW5nICovID0geworCQkJaXNhID0gUEJYR3Jv
dXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk0MTdEQTcxQjEzNzM1REZBMDA3QzU3RkIgLyogSlNJ
bnRlcm5hbHMuY3BwICovLAorCQkJCTQxN0RBNzFDMTM3MzVERkEwMDdDNTdGQiAvKiBKU0ludGVy
bmFscy5oICovLAorCQkJKTsKKwkJCW5hbWUgPSBUZXN0aW5nOworCQkJc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsKKwkJfTsKKwkJNDE4MTVDMUIxMzgzMTk2MzAwNTdBQUE0IC8qIGpzICovID0gewor
CQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk0MTgxNUMxQzEzODMxOTgz
MDA1N0FBQTQgLyogV2ViQ29yZVRlc3RTdXBwb3J0LmNwcCAqLywKKwkJCQk0MTgxNUMxRDEzODMx
OTgzMDA1N0FBQTQgLyogV2ViQ29yZVRlc3RTdXBwb3J0LmggKi8sCisJCQkpOworCQkJcGF0aCA9
IGpzOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIAkJNDM5MDQ2QzIxMkRBMjVD
RTAwQUY4MEEyIC8qIG1hdGhtbCAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRy
ZW4gPSAoCkBAIC0xOTczMSw2ICsxOTgxOSwxNiBAQAogLyogRW5kIFBCWEdyb3VwIHNlY3Rpb24g
Ki8KIAogLyogQmVnaW4gUEJYSGVhZGVyc0J1aWxkUGhhc2Ugc2VjdGlvbiAqLworCQk0MTdEQTZD
QzEzNzM0RTAyMDA3QzU3RkIgLyogSGVhZGVycyAqLyA9IHsKKwkJCWlzYSA9IFBCWEhlYWRlcnNC
dWlsZFBoYXNlOworCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKKwkJCWZpbGVzID0g
KAorCQkJCTQxN0RBNkRBMTM3MzRFNkUwMDdDNTdGQiAvKiBJbnRlcm5hbHMuaCBpbiBIZWFkZXJz
ICovLAorCQkJCTQxN0RBNzFFMTM3MzVERkEwMDdDNTdGQiAvKiBKU0ludGVybmFscy5oIGluIEhl
YWRlcnMgKi8sCisJCQkJNDE4MTVDMUYxMzgzMTk4MzAwNTdBQUE0IC8qIFdlYkNvcmVUZXN0U3Vw
cG9ydC5oIGluIEhlYWRlcnMgKi8sCisJCQkpOworCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0
cHJvY2Vzc2luZyA9IDA7CisJCX07CiAJCTkzRjE5OEE2MDgyNDVFNTkwMDFFOUFCQyAvKiBIZWFk
ZXJzICovID0gewogCQkJaXNhID0gUEJYSGVhZGVyc0J1aWxkUGhhc2U7CiAJCQlidWlsZEFjdGlv
bk1hc2sgPSAyMTQ3NDgzNjQ3OwpAQCAtMjI4MzAsNiArMjI5MjgsMjQgQEAKIC8qIEVuZCBQQlhI
ZWFkZXJzQnVpbGRQaGFzZSBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFBCWE5hdGl2ZVRhcmdldCBz
ZWN0aW9uICovCisJCTQxN0RBNkNGMTM3MzRFMDIwMDdDNTdGQiAvKiBXZWJDb3JlVGVzdFN1cHBv
cnQgKi8gPSB7CisJCQlpc2EgPSBQQlhOYXRpdmVUYXJnZXQ7CisJCQlidWlsZENvbmZpZ3VyYXRp
b25MaXN0ID0gNDE3REE2RDgxMzczNEU0NzAwN0M1N0ZCIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24g
bGlzdCBmb3IgUEJYTmF0aXZlVGFyZ2V0ICJXZWJDb3JlVGVzdFN1cHBvcnQiICovOworCQkJYnVp
bGRQaGFzZXMgPSAoCisJCQkJNDE3REE2Q0MxMzczNEUwMjAwN0M1N0ZCIC8qIEhlYWRlcnMgKi8s
CisJCQkJNDE3REE2Q0QxMzczNEUwMjAwN0M1N0ZCIC8qIFNvdXJjZXMgKi8sCisJCQkJNDE3REE2
Q0UxMzczNEUwMjAwN0M1N0ZCIC8qIEZyYW1ld29ya3MgKi8sCisJCQkpOworCQkJYnVpbGRSdWxl
cyA9ICgKKwkJCSk7CisJCQlkZXBlbmRlbmNpZXMgPSAoCisJCQkJNDE3REE2RDUxMzczNEUwRDAw
N0M1N0ZCIC8qIFBCWFRhcmdldERlcGVuZGVuY3kgKi8sCisJCQkpOworCQkJbmFtZSA9IFdlYkNv
cmVUZXN0U3VwcG9ydDsKKwkJCXByb2R1Y3ROYW1lID0gV2ViQ29yZVRlc3RTdXBwb3J0OworCQkJ
cHJvZHVjdFJlZmVyZW5jZSA9IDQxN0RBNkQwMTM3MzRFMDIwMDdDNTdGQiAvKiBsaWJXZWJDb3Jl
VGVzdFN1cHBvcnQuYSAqLzsKKwkJCXByb2R1Y3RUeXBlID0gImNvbS5hcHBsZS5wcm9kdWN0LXR5
cGUubGlicmFyeS5zdGF0aWMiOworCQl9OwogCQk1RDg3QkI0RTExRTNFQUVCMDA3MDJCNkYgLyog
V2ViQ29yZUV4cG9ydEZpbGVHZW5lcmF0b3IgKi8gPSB7CiAJCQlpc2EgPSBQQlhOYXRpdmVUYXJn
ZXQ7CiAJCQlidWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gNUQ4N0JCNTkxMUUzRUIwNzAwNzAyQjZG
IC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYTmF0aXZlVGFyZ2V0ICJXZWJDb3Jl
RXhwb3J0RmlsZUdlbmVyYXRvciIgKi87CkBAIC0yMjg5OSwxMCArMjMwMTUsMTIgQEAKIAkJCXBy
b2plY3REaXJQYXRoID0gIiI7CiAJCQlwcm9qZWN0Um9vdCA9ICIiOwogCQkJdGFyZ2V0cyA9ICgK
KwkJCQk0MTgxNkY3OTEzODU5QzU1MDA1N0FBQTQgLyogQWxsICovLAogCQkJCTkzRjE5OEE1MDgy
NDVFNTkwMDFFOUFCQyAvKiBXZWJDb3JlICovLAogCQkJCUREMDQxRkJFMDlEOUREQkUwMDEwQUYy
QSAvKiBEZXJpdmVkIFNvdXJjZXMgKi8sCiAJCQkJNUQ4N0JCNEUxMUUzRUFFQjAwNzAyQjZGIC8q
IFdlYkNvcmVFeHBvcnRGaWxlR2VuZXJhdG9yICovLAogCQkJCTVEODdCQjY0MTFFM0VCQzEwMDcw
MkI2RiAvKiBXZWJDb3JlRXhwb3J0RmlsZUdlbmVyYXRvciBHZW5lcmF0b3IgKi8sCisJCQkJNDE3
REE2Q0YxMzczNEUwMjAwN0M1N0ZCIC8qIFdlYkNvcmVUZXN0U3VwcG9ydCAqLywKIAkJCSk7CiAJ
CX07CiAvKiBFbmQgUEJYUHJvamVjdCBzZWN0aW9uICovCkBAIC0yMzExMyw2ICsyMzIzMSwxNiBA
QAogLyogRW5kIFBCWFNoZWxsU2NyaXB0QnVpbGRQaGFzZSBzZWN0aW9uICovCiAKIC8qIEJlZ2lu
IFBCWFNvdXJjZXNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KKwkJNDE3REE2Q0QxMzczNEUwMjAwN0M1
N0ZCIC8qIFNvdXJjZXMgKi8gPSB7CisJCQlpc2EgPSBQQlhTb3VyY2VzQnVpbGRQaGFzZTsKKwkJ
CWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CisJCQlmaWxlcyA9ICgKKwkJCQk0MTdEQTZE
OTEzNzM0RTZFMDA3QzU3RkIgLyogSW50ZXJuYWxzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTQx
N0RBNzFEMTM3MzVERkEwMDdDNTdGQiAvKiBKU0ludGVybmFscy5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQk0MTgxNUMxRTEzODMxOTgzMDA1N0FBQTQgLyogV2ViQ29yZVRlc3RTdXBwb3J0LmNwcCBp
biBTb3VyY2VzICovLAorCQkJKTsKKwkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Np
bmcgPSAwOworCQl9OwogCQk1RDg3QkI0QzExRTNFQUVCMDA3MDJCNkYgLyogU291cmNlcyAqLyA9
IHsKIAkJCWlzYSA9IFBCWFNvdXJjZXNCdWlsZFBoYXNlOwogCQkJYnVpbGRBY3Rpb25NYXNrID0g
MjE0NzQ4MzY0NzsKQEAgLTI1NTA0LDYgKzI1NjMyLDIxIEBACiAvKiBFbmQgUEJYU291cmNlc0J1
aWxkUGhhc2Ugc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhUYXJnZXREZXBlbmRlbmN5IHNlY3Rp
b24gKi8KKwkJNDE3REE2RDUxMzczNEUwRDAwN0M1N0ZCIC8qIFBCWFRhcmdldERlcGVuZGVuY3kg
Ki8gPSB7CisJCQlpc2EgPSBQQlhUYXJnZXREZXBlbmRlbmN5OworCQkJdGFyZ2V0ID0gOTNGMTk4
QTUwODI0NUU1OTAwMUU5QUJDIC8qIFdlYkNvcmUgKi87CisJCQl0YXJnZXRQcm94eSA9IDQxN0RB
NkQ0MTM3MzRFMEQwMDdDNTdGQiAvKiBQQlhDb250YWluZXJJdGVtUHJveHkgKi87CisJCX07CisJ
CTQxODE2RjgzMTM4NTlDN0EwMDU3QUFBNCAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovID0gewor
CQkJaXNhID0gUEJYVGFyZ2V0RGVwZW5kZW5jeTsKKwkJCXRhcmdldCA9IDkzRjE5OEE1MDgyNDVF
NTkwMDFFOUFCQyAvKiBXZWJDb3JlICovOworCQkJdGFyZ2V0UHJveHkgPSA0MTgxNkY4MjEzODU5
QzdBMDA1N0FBQTQgLyogUEJYQ29udGFpbmVySXRlbVByb3h5ICovOworCQl9OworCQk0MTgxNkY4
NTEzODU5QzdEMDA1N0FBQTQgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLyA9IHsKKwkJCWlzYSA9
IFBCWFRhcmdldERlcGVuZGVuY3k7CisJCQl0YXJnZXQgPSA0MTdEQTZDRjEzNzM0RTAyMDA3QzU3
RkIgLyogV2ViQ29yZVRlc3RTdXBwb3J0ICovOworCQkJdGFyZ2V0UHJveHkgPSA0MTgxNkY4NDEz
ODU5QzdEMDA1N0FBQTQgLyogUEJYQ29udGFpbmVySXRlbVByb3h5ICovOworCQl9OwogCQk1RDg3
QkI2QjExRTNFQkQyMDA3MDJCNkYgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLyA9IHsKIAkJCWlz
YSA9IFBCWFRhcmdldERlcGVuZGVuY3k7CiAJCQl0YXJnZXQgPSA1RDg3QkI2NDExRTNFQkMxMDA3
MDJCNkYgLyogV2ViQ29yZUV4cG9ydEZpbGVHZW5lcmF0b3IgR2VuZXJhdG9yICovOwpAQCAtMjU2
MDcsNiArMjU3NTAsNDggQEAKIAkJCX07CiAJCQluYW1lID0gUHJvZHVjdGlvbjsKIAkJfTsKKwkJ
NDE3REE2RDExMzczNEUwMjAwN0M1N0ZCIC8qIERlYnVnICovID0geworCQkJaXNhID0gWENCdWls
ZENvbmZpZ3VyYXRpb247CisJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IDQxODE3MDdE
MTM4NkVERjIwMDU3QUFBNCAvKiBXZWJDb3JlVGVzdFN1cHBvcnQueGNjb25maWcgKi87CisJCQli
dWlsZFNldHRpbmdzID0geworCQkJfTsKKwkJCW5hbWUgPSBEZWJ1ZzsKKwkJfTsKKwkJNDE3REE2
RDIxMzczNEUwMjAwN0M1N0ZCIC8qIFJlbGVhc2UgKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29u
ZmlndXJhdGlvbjsKKwkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gNDE4MTcwN0QxMzg2
RURGMjAwNTdBQUE0IC8qIFdlYkNvcmVUZXN0U3VwcG9ydC54Y2NvbmZpZyAqLzsKKwkJCWJ1aWxk
U2V0dGluZ3MgPSB7CisJCQl9OworCQkJbmFtZSA9IFJlbGVhc2U7CisJCX07CisJCTQxN0RBNkQz
MTM3MzRFMDIwMDdDNTdGQiAvKiBQcm9kdWN0aW9uICovID0geworCQkJaXNhID0gWENCdWlsZENv
bmZpZ3VyYXRpb247CisJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IDQxODE3MDdEMTM4
NkVERjIwMDU3QUFBNCAvKiBXZWJDb3JlVGVzdFN1cHBvcnQueGNjb25maWcgKi87CisJCQlidWls
ZFNldHRpbmdzID0geworCQkJfTsKKwkJCW5hbWUgPSBQcm9kdWN0aW9uOworCQl9OworCQk0MTgx
NkY3QTEzODU5QzU2MDA1N0FBQTQgLyogRGVidWcgKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29u
ZmlndXJhdGlvbjsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQkJUFJPRFVDVF9OQU1FID0gQWxs
OworCQkJfTsKKwkJCW5hbWUgPSBEZWJ1ZzsKKwkJfTsKKwkJNDE4MTZGN0IxMzg1OUM1NjAwNTdB
QUE0IC8qIFJlbGVhc2UgKi8gPSB7CisJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJhdGlvbjsKKwkJ
CWJ1aWxkU2V0dGluZ3MgPSB7CisJCQkJUFJPRFVDVF9OQU1FID0gQWxsOworCQkJfTsKKwkJCW5h
bWUgPSBSZWxlYXNlOworCQl9OworCQk0MTgxNkY3QzEzODU5QzU2MDA1N0FBQTQgLyogUHJvZHVj
dGlvbiAqLyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOworCQkJYnVpbGRTZXR0
aW5ncyA9IHsKKwkJCQlQUk9EVUNUX05BTUUgPSBBbGw7CisJCQl9OworCQkJbmFtZSA9IFByb2R1
Y3Rpb247CisJCX07CiAJCTVEODdCQjUxMTFFM0VBRUIwMDcwMkI2RiAvKiBEZWJ1ZyAqLyA9IHsK
IAkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOwogCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZl
cmVuY2UgPSAxQ0RENDVFNTBCQTlDODQ2MDBGOTAxNDcgLyogV2ViQ29yZS54Y2NvbmZpZyAqLzsK
QEAgLTI1NzEyLDYgKzI1ODk3LDI2IEBACiAJCQlkZWZhdWx0Q29uZmlndXJhdGlvbklzVmlzaWJs
ZSA9IDA7CiAJCQlkZWZhdWx0Q29uZmlndXJhdGlvbk5hbWUgPSBQcm9kdWN0aW9uOwogCQl9Owor
CQk0MTdEQTZEODEzNzM0RTQ3MDA3QzU3RkIgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZv
ciBQQlhOYXRpdmVUYXJnZXQgIldlYkNvcmVUZXN0U3VwcG9ydCIgKi8gPSB7CisJCQlpc2EgPSBY
Q0NvbmZpZ3VyYXRpb25MaXN0OworCQkJYnVpbGRDb25maWd1cmF0aW9ucyA9ICgKKwkJCQk0MTdE
QTZEMTEzNzM0RTAyMDA3QzU3RkIgLyogRGVidWcgKi8sCisJCQkJNDE3REE2RDIxMzczNEUwMjAw
N0M1N0ZCIC8qIFJlbGVhc2UgKi8sCisJCQkJNDE3REE2RDMxMzczNEUwMjAwN0M1N0ZCIC8qIFBy
b2R1Y3Rpb24gKi8sCisJCQkpOworCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25Jc1Zpc2libGUgPSAw
OworCQkJZGVmYXVsdENvbmZpZ3VyYXRpb25OYW1lID0gUHJvZHVjdGlvbjsKKwkJfTsKKwkJNDE4
MTZGODExMzg1OUM2NDAwNTdBQUE0IC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJY
QWdncmVnYXRlVGFyZ2V0ICJBbGwiICovID0geworCQkJaXNhID0gWENDb25maWd1cmF0aW9uTGlz
dDsKKwkJCWJ1aWxkQ29uZmlndXJhdGlvbnMgPSAoCisJCQkJNDE4MTZGN0ExMzg1OUM1NjAwNTdB
QUE0IC8qIERlYnVnICovLAorCQkJCTQxODE2RjdCMTM4NTlDNTYwMDU3QUFBNCAvKiBSZWxlYXNl
ICovLAorCQkJCTQxODE2RjdDMTM4NTlDNTYwMDU3QUFBNCAvKiBQcm9kdWN0aW9uICovLAorCQkJ
KTsKKwkJCWRlZmF1bHRDb25maWd1cmF0aW9uSXNWaXNpYmxlID0gMDsKKwkJCWRlZmF1bHRDb25m
aWd1cmF0aW9uTmFtZSA9IFByb2R1Y3Rpb247CisJCX07CiAJCTVEODdCQjU5MTFFM0VCMDcwMDcw
MkI2RiAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWE5hdGl2ZVRhcmdldCAiV2Vi
Q29yZUV4cG9ydEZpbGVHZW5lcmF0b3IiICovID0gewogCQkJaXNhID0gWENDb25maWd1cmF0aW9u
TGlzdDsKIAkJCWJ1aWxkQ29uZmlndXJhdGlvbnMgPSAoCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0RPTVdyYXBwZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNET01XcmFwcGVyLmNwcAppbmRleCA2MGMwZWQxYjI1MWEzYzYzNzMzMWRiNGI1YjM3
M2U2ZmQ3NTI4NmVmLi4xMjVmYjJhNWY3OWQ1YzQ2YjI4ZjQzNjg1ZDM5OTRmZGFmZjYzNDI2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdyYXBwZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV3JhcHBlci5jcHAKQEAgLTMyLDEy
ICszMiw5IEBAIHVzaW5nIG5hbWVzcGFjZSBKU0M7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
I2lmbmRlZiBOREVCVUcKLQotSlNET01XcmFwcGVyOjp+SlNET01XcmFwcGVyKCkKK3ZvaWQgSlNE
T01XcmFwcGVyOjpub1dlYWtWdGFibGUoKQogeworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwog
fQogCi0jZW5kaWYKLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XcmFwcGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0RPTVdyYXBwZXIuaAppbmRleCAyZjViZWJkNmVmZWUxY2M2ZjU4YWUyOTgyNDkw
MjdhOWZjMWE1NGYzLi41N2ZhMjMzMDMyYjMzYzYyZGZhZjYzN2VjYjM4NGIzZTc2MmNiYTc2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdyYXBwZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdyYXBwZXIuaApAQCAtNDgsNiArNDgs
MTAgQEAgcHVibGljOgogICAgIH0KIAogcHJvdGVjdGVkOgorICAgIC8vIEFuIGlubGluZSBmdW5j
dGlvbiBjYW5ub3QgYmUgdGhlIGZpcnN0IG5vbi1hYnN0cmFjdCB2aXJ0dWFsIGZ1bmN0aW9uIGRl
Y2xhcmVkCisgICAgLy8gaW4gdGhlIGNsYXNzIGFzIGl0IHJlc3VsdHMgaW4gdGhlIHZ0YWJsZSBi
ZWluZyBnZW5lcmF0ZWQgYXMgYSB3ZWFrIHN5bWJvbC4KKyAgICB2aXJ0dWFsIHZvaWQgbm9XZWFr
VnRhYmxlKCk7CisKICAgICBleHBsaWNpdCBKU0RPTVdyYXBwZXIoSlNDOjpTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSwgSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KSAKICAgICAgICAgOiBK
U09iamVjdFdpdGhHbG9iYWxPYmplY3QoZ2xvYmFsT2JqZWN0LCBzdHJ1Y3R1cmUpCiAgICAgewpA
QCAtNTYsMTAgKzYwLDYgQEAgcHJvdGVjdGVkOgogICAgICAgICAvLyBuZWVkaW5nIHRvIHJlYWNo
IHRocm91Z2ggdGhlIGZyYW1lIHRvIGdldCB0byB0aGUgRG9jdW1lbnQqLiAgU2VlIGJ1ZyAyNzY0
MC4KICAgICAgICAgLy8gQVNTRVJUKGdsb2JhbE9iamVjdC0+c2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpKTsKICAgICB9Ci0KLSNpZm5kZWYgTkRFQlVHCi0gICAgdmlydHVhbCB+SlNET01XcmFwcGVy
KCk7Ci0jZW5kaWYKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNDVmOTZkY2ZjODYwNmE4MjkwMGMzNzk0ZjMw
NDQ1MjkzOTNlMDYwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuY3BwCkBAIC0wLDAgKzEsNDQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQor
ICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisjaW5jbHVkZSAiSW50ZXJuYWxzLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUGFzc1Jl
ZlB0cjxJbnRlcm5hbHM+IEludGVybmFsczo6Y3JlYXRlKCkKK3sKKyAgICByZXR1cm4gYWRvcHRS
ZWYobmV3IEludGVybmFscygpKTsKK30KKworSW50ZXJuYWxzOjp+SW50ZXJuYWxzKCkKK3sKK30K
KworSW50ZXJuYWxzOjpJbnRlcm5hbHMoKQoreworfQorCit9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbHMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5jYmJkOWI5YzAzYjQ5MmJmMWFhNDRjMTExM2I0YjBhNjBkM2U5
NGU1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
aApAQCAtMCwwICsxLDQ1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7Cisg
KiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBJbnRlcm5hbHNfaAorI2RlZmluZSBJ
bnRlcm5hbHNfaAorCisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYv
UmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEludGVybmFscyA6
IHB1YmxpYyBSZWZDb3VudGVkPEludGVybmFscz4geworcHVibGljOgorICAgIHN0YXRpYyBQYXNz
UmVmUHRyPEludGVybmFscz4gY3JlYXRlKCk7CisgICAgdmlydHVhbCB+SW50ZXJuYWxzKCk7CisK
K3ByaXZhdGU6CisgICAgSW50ZXJuYWxzKCk7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
aWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ1
MDExY2VmMzJjMWI3MWYwNmQ3MDcyZjliNjBkMGM5MWI0MzQwMjkKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKQEAgLTAsMCArMSwyOSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEu
ICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
CisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKK21vZHVsZSB3aW5kb3cgeworICAgIGludGVyZmFjZSBbT21pdENvbnN0cnVjdG9yXSBJ
bnRlcm5hbHMgeworICAgIH07Cit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9qcy9XZWJDb3JlVGVzdFN1cHBvcnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9qcy9XZWJDb3JlVGVzdFN1cHBvcnQuY3BwCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmJiYzgzYjdkYjE1NGZkOWFmZTEzMjRjOWU5NTMyODkzNGIyM2I4MzMKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL2pzL1dlYkNvcmVUZXN0U3VwcG9ydC5jcHAK
QEAgLTAsMCArMSw0OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQg
QU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICog
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJX
ZWJDb3JlVGVzdFN1cHBvcnQuaCIKKworI2luY2x1ZGUgIkludGVybmFscy5oIgorI2luY2x1ZGUg
IkpTRE9NR2xvYmFsT2JqZWN0LmgiCisjaW5jbHVkZSAiSlNJbnRlcm5hbHMuaCIKKyNpbmNsdWRl
IDxKYXZhU2NyaXB0Q29yZS9BUElDYXN0Lmg+CisjaW5jbHVkZSA8aW50ZXJwcmV0ZXIvQ2FsbEZy
YW1lLmg+CisKK3VzaW5nIG5hbWVzcGFjZSBKU0M7Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsK
KworbmFtZXNwYWNlIFdlYkNvcmVUZXN0U3VwcG9ydCB7CisKK3ZvaWQgaW5qZWN0SW50ZXJuYWxz
T2JqZWN0KEpTQ29udGV4dFJlZiBjb250ZXh0KQoreworICAgIEpTTG9jayBsb2NrKFNpbGVuY2VB
c3NlcnRpb25zT25seSk7CisgICAgRXhlY1N0YXRlKiBleGVjID0gdG9KUyhjb250ZXh0KTsKKyAg
ICBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gc3RhdGljX2Nhc3Q8SlNET01HbG9i
YWxPYmplY3QqPihleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpOworICAgIGdsb2JhbE9iamVj
dC0+cHV0RGlyZWN0KGV4ZWMtPmdsb2JhbERhdGEoKSwgSWRlbnRpZmllcihleGVjLCAiaW50ZXJu
YWxzIiksIHRvSlMoZXhlYywgZ2xvYmFsT2JqZWN0LCBJbnRlcm5hbHM6OmNyZWF0ZSgpKSk7Cit9
CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvanMvV2ViQ29yZVRlc3RT
dXBwb3J0LmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL2pzL1dlYkNvcmVUZXN0U3VwcG9ydC5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjY2ZDdlZDQ5YjNiZjdiNzZhMTRjZDU4OTg2NDhhMWJmMzRhMDEyNmYKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL2pzL1dlYkNvcmVUZXN0U3Vw
cG9ydC5oCkBAIC0wLDAgKzEsMzcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJ
UyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdlYkNvcmVUZXN0U3VwcG9y
dF9oCisjZGVmaW5lIFdlYkNvcmVUZXN0U3VwcG9ydF9oCisKK3R5cGVkZWYgY29uc3Qgc3RydWN0
IE9wYXF1ZUpTQ29udGV4dCogSlNDb250ZXh0UmVmOworCituYW1lc3BhY2UgV2ViQ29yZVRlc3RT
dXBwb3J0IHsKKwordm9pZCBpbmplY3RJbnRlcm5hbHNPYmplY3QoSlNDb250ZXh0UmVmKTsKKwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvdjgvV2ViQ29yZVRlc3RTdXBwb3J0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvdjgvV2ViQ29yZVRlc3RTdXBwb3J0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45YWY5Mzc1YjY4MzQw
OTUyMDJiOGRiZTBhNjVjMWVlZmQ3ZDU4OGRhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvdGVzdGluZy92OC9XZWJDb3JlVGVzdFN1cHBvcnQuY3BwCkBAIC0wLDAgKzEsNDYgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAx
LiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2ViQ29yZVRlc3RTdXBwb3J0
LmgiCisKKyNpbmNsdWRlICJJbnRlcm5hbHMuaCIKKyNpbmNsdWRlICJWOEludGVybmFscy5oIgor
CisjaW5jbHVkZSA8djguaD4KKwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK25hbWVzcGFj
ZSBXZWJDb3JlVGVzdFN1cHBvcnQgeworCit2b2lkIGluamVjdEludGVybmFsc09iamVjdCh2ODo6
TG9jYWw8djg6OkNvbnRleHQ+IGNvbnRleHQpCit7CisgICAgdjg6OkNvbnRleHQ6OlNjb3BlIGNv
bnRleHRTY29wZShjb250ZXh0KTsKKyAgICB2ODo6SGFuZGxlU2NvcGUgc2NvcGU7CisKKyAgICBj
b250ZXh0LT5HbG9iYWwoKS0+U2V0KHY4OjpTdHJpbmc6Ok5ldygiaW50ZXJuYWxzIiksIHRvVjgo
SW50ZXJuYWxzOjpjcmVhdGUoKSkpOworfQorCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL3Y4L1dlYkNvcmVUZXN0U3VwcG9ydC5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy92OC9XZWJDb3JlVGVzdFN1cHBvcnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZTNkNTg3NjcwMjNiZmM4OTZk
MzFmMzhjNjljODVlNDdiYzIyNmU4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
dGVzdGluZy92OC9XZWJDb3JlVGVzdFN1cHBvcnQuaApAQCAtMCwwICsxLDQwIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBB
TkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQK
KyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2lmbmRlZiBXZWJDb3JlVGVzdFN1cHBvcnRfaAorI2RlZmluZSBXZWJDb3JlVGVzdFN1cHBvcnRf
aAorCituYW1lc3BhY2UgdjggeworY2xhc3MgQ29udGV4dDsKK3RlbXBsYXRlIDxjbGFzcyBUPiBj
bGFzcyBMb2NhbDsKK30KKworbmFtZXNwYWNlIFdlYkNvcmVUZXN0U3VwcG9ydCB7CisKK3ZvaWQg
aW5qZWN0SW50ZXJuYWxzT2JqZWN0KHY4OjpMb2NhbDx2ODo6Q29udGV4dD4pOworCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCBh
MTQ0YWJjNzk0MzNjYTAwZTljNzdlMGVkMTM3YzM5Yjg5YWQxOTEwLi5iNGI5Yjk2NGY5NWU2YmVm
Mjk1ZjM3ZGI3YzY2MWE5ZjA0ZGQxMzMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE0IEBACisyMDExLTA1LTIxICBEaW1pdHJpIEdsYXprb3YgIDxkZ2xhemtvdkBjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQWRkIGJ1aWxkIGxvZ2lzdGljcyBhbmQgcGx1bWJpbmcgZm9yIHdpbmRvdy5pbnRlcm5hbHMg
b2JqZWN0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NjAzMTMKKworICAgICAgICAqIFdlYktpdC5neXA6IEFkZGVkIGxpbmtpbmcgbmV3IHdlYmtpdF90
ZXN0X3N1cHBvcnQgbGlicmFyeS4KKyAgICAgICAgKiBwdWJsaWMvV2ViVGVzdGluZ1N1cHBvcnQu
aDogQWRkZWQuCisgICAgICAgICogc3JjL1dlYlRlc3RpbmdTdXBwb3J0LmNwcDogQWRkZWQuCisK
IDIwMTEtMDUtMjMgIFRvbnkgQ2hhbmcgIDx0b255QGNocm9taXVtLm9yZz4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBKYW1lcyBSb2JpbnNvbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vV2ViS2l0Lmd5cCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cAppbmRl
eCBhYjEyNGVlYmY5OWRjNzlhNjNiOTgyNzc2MDlkZDc1ZDI2NTY0NTE5Li5kNDIxZThiMTk3ZDcz
MzkwMjk4OGVhNjY4MzFmNDQyNzhlMjI2MWRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL1dlYktpdC5neXAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lw
CkBAIC02MDMsNiArNjAzLDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICdkZXBlbmRlbmNpZXMnOiBbCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICcuLi8uLi9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lw
OndlYmNvcmVfYmluZGluZ3MnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLi4v
Li4vV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cDp3ZWJjb3JlX3Rlc3Rfc3VwcG9ydCcs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8KGNocm9taXVtX3NyY19kaXIpL2Jh
c2UvYmFzZS5neXA6dGVzdF9zdXBwb3J0X2Jhc2UnLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS9idWlsZC90ZW1wX2d5cC9nb29nbGV1cmwuZ3lw
Omdvb2dsZXVybCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8KGNocm9taXVt
X3NyY19kaXIpL3Rlc3RpbmcvZ3Rlc3QuZ3lwOmd0ZXN0JywKQEAgLTYyNyw4ICs2MjgsMTUgQEAK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzwoY2hyb21pdW1fc3JjX2RpcikvYnVp
bGQvdGVtcF9neXAvZ29vZ2xldXJsLmd5cDpnb29nbGV1cmwnLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS92OC90b29scy9neXAvdjguZ3lwOnY4
JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICdpbmNsdWRlX2RpcnMnOiBbCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICMgV0FSTklORzogRG8gbm90IHZpZXcgdGhpcyBwYXJ0aWN1bGFyIGNhc2UgYXMgYSBwcmVjZWRl
bnQgZm9yCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgaW5jbHVkaW5nIFdlYkNv
cmUgaGVhZGVycyBpbiBEdW1wUmVuZGVyVHJlZSBwcm9qZWN0LgorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAnLi4vLi4vV2ViQ29yZS90ZXN0aW5nL3Y4JywgIyBmb3IgV2ViQ29yZVRl
c3RTdXBwb3J0LmgsIG5lZWRlZCB0byBsaW5rIGluIHdpbmRvdy5pbnRlcm5hbHMgY29kZS4KKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICdzb3VyY2VzJzogWwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPEAod2Via2l0
X3VuaXR0ZXN0X2ZpbGVzKScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzcmMv
V2ViVGVzdGluZ1N1cHBvcnQuY3BwJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
J3B1YmxpYy9XZWJUZXN0aW5nU3VwcG9ydC5oJywKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgJ3Rlc3RzL1dlYlVuaXRUZXN0cy5jcHAnLCAgICMgQ29tcG9uZW50cyB0ZXN0IHJ1bm5l
ciBzdXBwb3J0LgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgJ3NvdXJjZXMhJzogWwpAQCAtMTA4OSw2ICsxMDk3LDIwIEBACiAgICAg
ICAgICAgICAgICAgICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS93ZWJraXQvc3VwcG9ydC9z
ZXR1cF90aGlyZF9wYXJ0eS5neXA6dGhpcmRfcGFydHlfaGVhZGVycycsCiAgICAgICAgICAgICAg
ICAgICAgIF0KICAgICAgICAgICAgICAgICB9XSwKKyAgICAgICAgICAgICAgICBbJ2NvbXBvbmVu
dCE9InNoYXJlZF9saWJyYXJ5IicsIHsKKyAgICAgICAgICAgICAgICAgICAgJ2RlcGVuZGVuY2ll
cyc6IFsKKyAgICAgICAgICAgICAgICAgICAgICAgICcuLi8uLi9XZWJDb3JlL1dlYkNvcmUuZ3lw
L1dlYkNvcmUuZ3lwOndlYmNvcmVfdGVzdF9zdXBwb3J0JywKKyAgICAgICAgICAgICAgICAgICAg
XSwKKyAgICAgICAgICAgICAgICAgICAgJ2luY2x1ZGVfZGlycyc6IFsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICMgV0FSTklORzogRG8gbm90IHZpZXcgdGhpcyBwYXJ0aWN1bGFyIGNhc2UgYXMg
YSBwcmVjZWRlbnQgZm9yCisgICAgICAgICAgICAgICAgICAgICAgICAjIGluY2x1ZGluZyBXZWJD
b3JlIGhlYWRlcnMgaW4gRHVtcFJlbmRlclRyZWUgcHJvamVjdC4KKyAgICAgICAgICAgICAgICAg
ICAgICAgICcuLi8uLi9XZWJDb3JlL3Rlc3RpbmcvdjgnLCAjIGZvciBXZWJDb3JlVGVzdFN1cHBv
cnQuaCwgbmVlZGVkIHRvIGxpbmsgaW4gd2luZG93LmludGVybmFscyBjb2RlLgorICAgICAgICAg
ICAgICAgICAgICBdLAorICAgICAgICAgICAgICAgICAgICAnc291cmNlcyc6IFsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICdzcmMvV2ViVGVzdGluZ1N1cHBvcnQuY3BwJywKKyAgICAgICAgICAg
ICAgICAgICAgICAgICdwdWJsaWMvV2ViVGVzdGluZ1N1cHBvcnQuaCcsCisgICAgICAgICAgICAg
ICAgICAgIF0sCisgICAgICAgICAgICAgICAgfV0sCiAgICAgICAgICAgICBdLAogICAgICAgICB9
LAogICAgICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9X
ZWJUZXN0aW5nU3VwcG9ydC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVGVz
dGluZ1N1cHBvcnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jZGY0NTU1YzMxMWRjNjkwMTZjYjk0ODUyMmY5MzFj
ZjZlYTk3NjIxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJs
aWMvV2ViVGVzdGluZ1N1cHBvcnQuaApAQCAtMCwwICsxLDQyIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENP
TlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBX
ZWJUZXN0aW5nU3VwcG9ydF9oCisjZGVmaW5lIFdlYlRlc3RpbmdTdXBwb3J0X2gKKworI2luY2x1
ZGUgIldlYkNvbW1vbi5oIgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgV2ViRnJhbWU7
CisKK2NsYXNzIFdlYlRlc3RpbmdTdXBwb3J0IHsKK3B1YmxpYzoKKyAgICBXRUJLSVRfQVBJIHN0
YXRpYyB2b2lkIGluamVjdEludGVybmFsc09iamVjdChXZWJGcmFtZSopOworfTsKKworfQorCisj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlRlc3RpbmdT
dXBwb3J0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlRlc3RpbmdTdXBwb3J0
LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yODE1OTg0ZjNkNDk4YzlmZTFjYzBhMTY4ZjQwODVhOTFmYWI1MDk0
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVGVzdGlu
Z1N1cHBvcnQuY3BwCkBAIC0wLDAgKzEsNDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQor
ICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworIAorI2luY2x1ZGUgImNvbmZpZy5o
IgorI2luY2x1ZGUgIldlYlRlc3RpbmdTdXBwb3J0LmgiCisKKyNpbmNsdWRlICJXZWJDb3JlVGVz
dFN1cHBvcnQuaCIKKyNpbmNsdWRlICJXZWJGcmFtZS5oIgorI2luY2x1ZGUgPHY4L2luY2x1ZGUv
djguaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3ZvaWQgV2ViVGVzdGluZ1N1cHBvcnQ6Omlu
amVjdEludGVybmFsc09iamVjdChXZWJGcmFtZSogZnJhbWUpCit7CisgICAgdjg6OkhhbmRsZVNj
b3BlIGhhbmRsZVNjb3BlOworICAgIFdlYkNvcmVUZXN0U3VwcG9ydDo6aW5qZWN0SW50ZXJuYWxz
T2JqZWN0KGZyYW1lLT5tYWluV29ybGRTY3JpcHRDb250ZXh0KCkpOworfQorCit9CmRpZmYgLS1n
aXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZTA5ODdiZmNiOTUx
YzZkMGJmMjFiZmZiYmQyNzNhYzNkZDNjOTYwNS4uYmJmY2JjNDQxOTNkMzMwZmY0M2VkZDg0NzA3
MjdiOGY5NGFmZmJjNyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDExLTA1LTIxICBEaW1pdHJpIEdsYXprb3YgIDxk
Z2xhemtvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQWRkIGJ1aWxkIGxvZ2lzdGljcyBhbmQgcGx1bWJpbmcgZm9yIHdpbmRv
dy5pbnRlcm5hbHMgb2JqZWN0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9NjAzMTMKKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJU
cmVlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6IEFkZGVkIGxpbmtpbmcgbmV3IFdlYkNvcmVU
ZXN0U3VwcG9ydCBsaWJyYXJ5LgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rl
c3RTaGVsbC5jcHA6CisgICAgICAgIChUZXN0U2hlbGw6OmJpbmRKU09iamVjdHNUb1dpbmRvdyk6
IEFkZGVkIGluamVjdGlvbiBjb2RlLgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9GcmFt
ZUxvYWREZWxlZ2F0ZS5tbToKKyAgICAgICAgKC1bRnJhbWVMb2FkRGVsZWdhdGUgZGlkQ2xlYXJX
aW5kb3dPYmplY3RJblN0YW5kYXJkV29ybGRGb3JGcmFtZTpdKTogRGl0dG8uCisKIDIwMTEtMDUt
MjMgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAg
IFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI4NzA3OC4KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CmluZGV4IDczNmExMDMwNjVlYTljY2UwZjVkMzI4ODMwZjQzZmExNDE0MzQ4ZDYuLmQxNTllNDBl
MzI4Y2NlMTk4NzlkYmFlNGQwZGQ2YjY3YmZjY2NkZmUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIv
VG9vbHMvRHVtcFJlbmRlclRyZWUvRHVtcFJlbmRlclRyZWUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagpAQCAtNTYsNiArNTYsOCBAQAogCQkzNzEzRURFMzExNUJFMTkzMDA3MDU3MjAgLyogQ29s
b3JCaXRzLnR0ZiBpbiBDb3B5IEZvbnQgRmlsZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMzcxM0VERTAxMTVCRTE2RjAwNzA1NzIwIC8qIENvbG9yQml0cy50dGYgKi87IH07
CiAJCTNBNTYyNkNCMTMxQ0EwMkEwMDJCRTZEOSAvKiBTdG9yYWdlVHJhY2tlckRlbGVnYXRlLm1t
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gM0E1NjI2QzEx
MzFDOEIxNzAwMkJFNkQ5IC8qIFN0b3JhZ2VUcmFja2VyRGVsZWdhdGUubW0gKi87IH07CiAJCTNB
NTYyNkNDMTMxQ0EwMzYwMDJCRTZEOSAvKiBTdG9yYWdlVHJhY2tlckRlbGVnYXRlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzQTU2MjZDMDEzMUM4QjE3
MDAyQkU2RDkgLyogU3RvcmFnZVRyYWNrZXJEZWxlZ2F0ZS5oICovOyB9OworCQk0MTdEQUExRDEz
N0IzRTI0MDA3QzU3RkIgLyogV2ViQ29yZVRlc3RTdXBwb3J0LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTdEQUExQzEzN0IzRTI0MDA3QzU3RkIgLyog
V2ViQ29yZVRlc3RTdXBwb3J0LmggKi87IH07CisJCTQxN0RBQUVGMTM3QjQwRUYwMDdDNTdGQiAv
KiBsaWJXZWJDb3JlVGVzdFN1cHBvcnQuYSBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQxN0RBNzAwMTM3MzUwMzcwMDdDNTdGQiAvKiBsaWJXZWJDb3Jl
VGVzdFN1cHBvcnQuYSAqLzsgfTsKIAkJNDQwNTkwNzExMjY4NDUzODAwQ0ZENDhEIC8qIFdlYkFy
Y2hpdmVEdW1wU3VwcG9ydE1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQ0MDU5MDcwMTI2ODQ1MzgwMENGRDQ4RCAvKiBXZWJBcmNoaXZlRHVtcFN1
cHBvcnRNYWMubW0gKi87IH07CiAJCTQ0Mzc3MzBFMTI1Q0JDMzYwMEFBRTAyQyAvKiBXZWJBcmNo
aXZlRHVtcFN1cHBvcnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNDRBOTk3ODMwRkNERTg2NDAwNTgwRjEwIC8qIFdlYkFyY2hpdmVEdW1wU3VwcG9y
dC5jcHAgKi87IH07CiAJCTQ0Mzc3MzBGMTI1Q0JDNEQwMEFBRTAyQyAvKiBXZWJBcmNoaXZlRHVt
cFN1cHBvcnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQ0QTk5NzgyMEZDREU4NjQwMDU4MEYxMCAvKiBXZWJBcmNoaXZlRHVtcFN1cHBvcnQuaCAqLzsg
fTsKQEAgLTI0NSw2ICsyNDcsOCBAQAogCQkzNzVGMDk3OTBEQUMzQ0I2MDBDOEI0RTUgLyogV2Vi
S2l0V2VpZ2h0V2F0Y2hlcjkwMC50dGYgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBmaWxlOyBuYW1lID0gV2ViS2l0V2VpZ2h0V2F0Y2hlcjkwMC50dGY7
IHBhdGggPSBmb250cy9XZWJLaXRXZWlnaHRXYXRjaGVyOTAwLnR0Zjsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJM0E1NjI2QzAxMzFDOEIxNzAwMkJFNkQ5IC8qIFN0b3JhZ2VUcmFja2Vy
RGVsZWdhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3RvcmFnZVRyYWNr
ZXJEZWxlZ2F0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzQTU2MjZDMTEzMUM4
QjE3MDAyQkU2RDkgLyogU3RvcmFnZVRyYWNrZXJEZWxlZ2F0ZS5tbSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFN0b3JhZ2VUcmFja2VyRGVsZWdhdGUubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxN0RBNzAwMTM3MzUwMzcwMDdDNTdGQiAvKiBsaWJX
ZWJDb3JlVGVzdFN1cHBvcnQuYSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IGFyY2hpdmUuYXI7IHBhdGggPSBsaWJXZWJDb3JlVGVzdFN1cHBvcnQuYTsg
c291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKKwkJNDE3REFBMUMxMzdCM0UyNDAw
N0M1N0ZCIC8qIFdlYkNvcmVUZXN0U3VwcG9ydC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IG5hbWUgPSBXZWJDb3JlVGVzdFN1cHBvcnQuaDsgcGF0aCA9IFdlYkNvcmVUZXN0U3VwcG9ydC9X
ZWJDb3JlVGVzdFN1cHBvcnQuaDsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsK
IAkJNDQwNTkwNzAxMjY4NDUzODAwQ0ZENDhEIC8qIFdlYkFyY2hpdmVEdW1wU3VwcG9ydE1hYy5t
bSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IFdlYkFyY2hpdmVEdW1w
U3VwcG9ydE1hYy5tbTsgcGF0aCA9IG1hYy9XZWJBcmNoaXZlRHVtcFN1cHBvcnRNYWMubW07IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0QTk5NzgyMEZDREU4NjQwMDU4MEYxMCAvKiBX
ZWJBcmNoaXZlRHVtcFN1cHBvcnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0g
V2ViQXJjaGl2ZUR1bXBTdXBwb3J0Lmg7IHBhdGggPSBjZi9XZWJBcmNoaXZlRHVtcFN1cHBvcnQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDRBOTk3ODMwRkNERTg2NDAwNTgwRjEw
IC8qIFdlYkFyY2hpdmVEdW1wU3VwcG9ydC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IG5hbWUgPSBXZWJBcmNoaXZlRHVtcFN1cHBvcnQuY3BwOyBwYXRoID0gY2YvV2ViQXJjaGl2
ZUR1bXBTdXBwb3J0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTM1OSw2ICsz
NjMsNyBAQAogCQkJCUE4MTcwOTA0MDhCMTY0RDMwMENDQjlGQiAvKiBKYXZhU2NyaXB0Q29yZS5m
cmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKIAkJCQkyM0JDQjg5MDBFQTU3NjIzMDAzQzYyODkg
LyogT3BlbkdMLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAogCQkJCTkzNDA5OTUxMDg1NDBD
QUUwMDdGM0JDOCAvKiBXZWJLaXQuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCisJCQkJNDE3
REFBRUYxMzdCNDBFRjAwN0M1N0ZCIC8qIGxpYldlYkNvcmVUZXN0U3VwcG9ydC5hIGluIEZyYW1l
d29ya3MgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9
IDA7CiAJCX07CkBAIC00MDMsNiArNDA4LDcgQEAKIAkJCQlBOEI5MUFDNDBDRjNCMTcwMDA4Rjkx
RkYgLyogT2JqQ1BsdWdpbiAqLywKIAkJCQkxNDFCRjFGNTA5NkE0Mzk4MDBFMDc1M0MgLyogVGVz
dE5ldHNjYXBlUGx1Z0luICovLAogCQkJCTkzNDUyMjlCMEJEMTJCMkMwMDg2RURBMCAvKiBSZXNv
dXJjZXMgKi8sCisJCQkJNDE3REE5MTgxMzczNjc0RDAwN0M1N0ZCIC8qIFdlYkNvcmVUZXN0U3Vw
cG9ydCAqLywKIAkJCQlBODAzRkY2NDA5Q0FBQ0MxMDA5QjJBMzcgLyogRnJhbWV3b3JrcyAqLywK
IAkJCQk5MzQwOTk1NTA4NTQwQ0FGMDA3RjNCQzggLyogUHJvZHVjdHMgKi8sCiAJCQkJQkNCMjgx
RUQwQ0ZBNzExRDAwN0U1MzNFIC8qIENvbmZpZ3VyYXRpb25zICovLApAQCAtNTE0LDYgKzUyMCwx
NSBAQAogCQkJcGF0aCA9IG1hYzsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJ
CTQxN0RBOTE4MTM3MzY3NEQwMDdDNTdGQiAvKiBXZWJDb3JlVGVzdFN1cHBvcnQgKi8gPSB7CisJ
CQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTQxN0RBQTFDMTM3QjNFMjQw
MDdDNTdGQiAvKiBXZWJDb3JlVGVzdFN1cHBvcnQuaCAqLywKKwkJCQk0MTdEQTcwMDEzNzM1MDM3
MDA3QzU3RkIgLyogbGliV2ViQ29yZVRlc3RTdXBwb3J0LmEgKi8sCisJCQkpOworCQkJbmFtZSA9
IFdlYkNvcmVUZXN0U3VwcG9ydDsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJ
CTkzNDA5OTU1MDg1NDBDQUYwMDdGM0JDOCAvKiBQcm9kdWN0cyAqLyA9IHsKIAkJCWlzYSA9IFBC
WEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCkBAIC02NTksNiArNjc0LDcgQEAKIAkJCQlFMUI3ODE2
NzExQUYzMUMzMDA3RTFCQzIgLyogTW9ja0dlb2xvY2F0aW9uUHJvdmlkZXIuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTI5Q0ZCQTEwMTIyNzM2RTYwMEJDMzBDMCAvKiBBY2Nlc3NpYmlsaXR5VGV4dE1h
cmtlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJM0E1NjI2Q0MxMzFDQTAzNjAwMkJFNkQ5IC8qIFN0
b3JhZ2VUcmFja2VyRGVsZWdhdGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxN0RBQTFEMTM3QjNF
MjQwMDdDNTdGQiAvKiBXZWJDb3JlVGVzdFN1cHBvcnQuaCBpbiBIZWFkZXJzICovLAogCQkJKTsK
IAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0t
Z2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmNwcCBiL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5jcHAKaW5kZXggZTg4ZjQwZjkwNjEx
NjIyZGVmYmJhOGI3YTM1MzUzMTk5NzE0YTJmNC4uZDNhNTg3NmI1ODg5NGZiMmY2MTQ4MjY5N2M5
YzM4N2ZkZjg2NGIzMyAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
VGVzdFNoZWxsLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hl
bGwuY3BwCkBAIC0zOSw2ICszOSw3IEBACiAjaW5jbHVkZSAiV2ViRWxlbWVudC5oIgogI2luY2x1
ZGUgIldlYkZyYW1lLmgiCiAjaW5jbHVkZSAiV2ViSGlzdG9yeUl0ZW0uaCIKKyNpbmNsdWRlICJX
ZWJUZXN0aW5nU3VwcG9ydC5oIgogI2luY2x1ZGUgIldlYktpdC5oIgogI2luY2x1ZGUgIldlYlJ1
bnRpbWVGZWF0dXJlcy5oIgogI2luY2x1ZGUgIldlYlNjcmlwdENvbnRyb2xsZXIuaCIKQEAgLTU4
MCw2ICs1ODEsNyBAQCB2b2lkIFRlc3RTaGVsbDo6ZHVtcEltYWdlKFNrQ2FudmFzKiBjYW52YXMp
IGNvbnN0CiAKIHZvaWQgVGVzdFNoZWxsOjpiaW5kSlNPYmplY3RzVG9XaW5kb3coV2ViRnJhbWUq
IGZyYW1lKQogeworICAgIFdlYlRlc3RpbmdTdXBwb3J0OjppbmplY3RJbnRlcm5hbHNPYmplY3Qo
ZnJhbWUpOwogICAgIG1fYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXItPmJpbmRUb0phdmFzY3JpcHQo
ZnJhbWUsIFdlYlN0cmluZzo6ZnJvbVVURjgoImFjY2Vzc2liaWxpdHlDb250cm9sbGVyIikpOwog
ICAgIG1fbGF5b3V0VGVzdENvbnRyb2xsZXItPmJpbmRUb0phdmFzY3JpcHQoZnJhbWUsIFdlYlN0
cmluZzo6ZnJvbVVURjgoImxheW91dFRlc3RDb250cm9sbGVyIikpOwogICAgIG1fZXZlbnRTZW5k
ZXItPmJpbmRUb0phdmFzY3JpcHQoZnJhbWUsIFdlYlN0cmluZzo6ZnJvbVVURjgoImV2ZW50U2Vu
ZGVyIikpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0ZyYW1lTG9hZERl
bGVnYXRlLm1tIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0ZyYW1lTG9hZERlbGVnYXRlLm1t
CmluZGV4IDI3OTM5ZGY5NGY3OWM0ZmFlNWQ0ZjFhOThkZmY4ZGZjYzkxMDRjYzQuLjdjNGE1ZWNh
ZDk2ZGRjZDFkZDg5NmJhODk4OGNiZmE0YTFjMDg0YzYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL21hYy9GcmFtZUxvYWREZWxlZ2F0ZS5tbQorKysgYi9Ub29scy9EdW1wUmVuZGVy
VHJlZS9tYWMvRnJhbWVMb2FkRGVsZWdhdGUubW0KQEAgLTQxLDYgKzQxLDcgQEAKICNpbXBvcnQg
Ik9iakNQbHVnaW5GdW5jdGlvbi5oIgogI2ltcG9ydCAiUGxhaW5UZXh0Q29udHJvbGxlci5oIgog
I2ltcG9ydCAiVGV4dElucHV0Q29udHJvbGxlci5oIgorI2ltcG9ydCAiV2ViQ29yZVRlc3RTdXBw
b3J0LmgiCiAjaW1wb3J0ICJXb3JrUXVldWUuaCIKICNpbXBvcnQgIldvcmtRdWV1ZUl0ZW0uaCIK
ICNpbXBvcnQgPEphdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLmg+CkBAIC0yNjYsNiArMjY3
LDggQEAKICAgICBhY2Nlc3NpYmlsaXR5Q29udHJvbGxlci0+bWFrZVdpbmRvd09iamVjdChjb250
ZXh0LCBnbG9iYWxPYmplY3QsICZleGNlcHRpb24pOwogICAgIEFTU0VSVCghZXhjZXB0aW9uKTsK
IAorICAgIFdlYkNvcmVUZXN0U3VwcG9ydDo6aW5qZWN0SW50ZXJuYWxzT2JqZWN0KGNvbnRleHQp
OworCiAgICAgLy8gTWFrZSBPbGQtU3R5bGUgY29udHJvbGxlcnMKIAogICAgIFdlYlZpZXcgKndl
YlZpZXcgPSBbZnJhbWUgd2ViVmlld107Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>94711</attachid>
            <date>2011-05-24 16:34:19 -0700</date>
            <delta_ts>2011-05-24 16:58:40 -0700</delta_ts>
            <desc>Using dylib approach EXTREME</desc>
            <filename>bug-60313-20110524163418.patch</filename>
            <type>text/plain</type>
            <size>78000</size>
            <attacher name="Dimitri Glazkov (Google)">dglazkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODcxNjUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzMzA4NDg3NGUxNWMyYWUyODczNzJh
OTY2Y2QyMDYzNDc5MmI4M2NmLi5jYTNiMGVjYzYwODJmZGMxZjJiN2IwMjYwMDUxODc3MDExYzYw
ZWViIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTEtMDUtMjEgIERpbWl0cmkgR2xhemtvdiAg
PGRnbGF6a292QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGQgYnVpbGQgbG9naXN0aWNzIGFuZCBwbHVtYmluZyBmb3Igd2lu
ZG93LmludGVybmFscyBvYmplY3QuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD02MDMxMworCisgICAgICAgICogZmFzdC9kb20vV2luZG93L3NjcmlwdC10
ZXN0cy93aW5kb3ctcHJvcGVydHktZGVzY3JpcHRvcnMuanM6IEFkZGVkIGludGVybmFscyBvYmpl
Y3QgdG8gbGlzdCBvZiBwcm9wZXJ0aWVzIHRvIHNraXAuCisgICAgICAgICogZmFzdC9kb20vV2lu
ZG93L3dpbmRvdy1wcm9wZXJ0aWVzLmh0bWw6IERpdHRvLgorICAgICAgICAqIGZhc3QvZG9tL3Nj
cmlwdC10ZXN0cy9wcm90b3R5cGUtaW5oZXJpdGFuY2UtMi5qczogRGl0dG8uCisgICAgICAgICog
ZmFzdC9kb20vc2NyaXB0LXRlc3RzL3Byb3RvdHlwZS1pbmhlcml0YW5jZS5qczogRGl0dG8uCisg
ICAgICAgICogZmFzdC9oYXJuZXNzL2ludGVybmFscy1vYmplY3QtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L2hhcm5lc3MvaW50ZXJuYWxzLW9iamVjdC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvU2tpcHBlZDogU2tpcHBlZCB0aGUgbmV3bHkgYWRkZWQg
dGVzdCB1bnRpbCBwbGF0Zm9ybSBzdXBwb3J0cyB3aW5kb3cuaW50ZXJuYWxzLgorICAgICAgICAq
IHBsYXRmb3JtL21hYy13azIvU2tpcHBlZDogRGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vcXQv
U2tpcHBlZDogRGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vd2luL1NraXBwZWQ6IERpdHRvLgor
CiAyMDExLTA1LTI0ICBLZW5uZXRoIFJ1c3NlbGwgIDxrYnJAZ29vZ2xlLmNvbT4KIAogICAgICAg
ICBVbnJldmlld2VkLiBGaXhlZCBpbmNvcnJlY3QgdGVzdCBleHBlY3RhdGlvbnMgSSBwcmV2aW91
c2x5IGNoZWNrZWQgaW4uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cv
c2NyaXB0LXRlc3RzL3dpbmRvdy1wcm9wZXJ0eS1kZXNjcmlwdG9ycy5qcyBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL1dpbmRvdy9zY3JpcHQtdGVzdHMvd2luZG93LXByb3BlcnR5LWRlc2NyaXB0b3Jz
LmpzCmluZGV4IDllYzMyNGJkMDFkNTUyZWM3YTZiZDU4M2U5ODg2NjNkMWE5ODJkMTcuLjIzMzhm
YzBlNmIwZDMzMGFmNTY1MzgzZGY2YmEyZDU2OTBhM2U3NjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZG9tL1dpbmRvdy9zY3JpcHQtdGVzdHMvd2luZG93LXByb3BlcnR5LWRlc2NyaXB0
b3JzLmpzCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9zY3JpcHQtdGVzdHMvd2lu
ZG93LXByb3BlcnR5LWRlc2NyaXB0b3JzLmpzCkBAIC0xOCw2ICsxOCw3IEBAIHZhciBfX3NraXBf
XyA9IHsKICAgICAib2JqQ1BsdWdpbkZ1bmN0aW9uIiA6IDEsCiAgICAgInBsYWluVGV4dCIgOiAx
LAogICAgICJ0ZXh0SW5wdXRDb250cm9sbGVyIiA6IDEsCisgICAgImludGVybmFscyIgOiAxLAog
ICAgIC8vIElnbm9yZSB0aGVzZSBwcm9wZXJ0aWVzIGJlY2F1c2UgdGhleSBkbyBub3QgZXhpc3Qg
aW4gYWxsIGltcGxlbWVudGF0aW9ucy4gVGhleSB3aWxsIGJlIHRlc3RlZCBzZXBhcmF0ZWx5CiAg
ICAgIldlYkdMUmVuZGVyaW5nQ29udGV4dCIgOiAxLAogICAgICJXZWJHTEFjdGl2ZUluZm8iIDog
MSwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5kb3ctcHJvcGVy
dGllcy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVz
Lmh0bWwKaW5kZXggMTQ4ZTM5ODBlMWYzMmYxYmQyOWJkZTI3ODVhZTg2NzhmNmJmMTMyOC4uOGQ4
Y2EzMDdlNzczOGE0OTM1MmMwNmI2M2VmZTYwYzc1ZWRjZDhlNCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLmh0bWwKQEAgLTYwLDYgKzYw
LDcgQEAgdmFyIF9fc2tpcF9fID0gewogICAgICJ3aW5kb3cub2JqQ1BsdWdpbkZ1bmN0aW9uIiA6
IDEsCiAgICAgIndpbmRvdy5wbGFpblRleHQiIDogMSwKICAgICAid2luZG93LnRleHRJbnB1dENv
bnRyb2xsZXIiIDogMSwKKyAgICAid2luZG93LmludGVybmFscyIgOiAxLAogICAgIC8vIElnbm9y
ZSB0aGVzZSBwcm9wZXJ0aWVzIGJlY2F1c2UgdGhleSBkbyBub3QgZXhpc3QgaW4gYWxsIGltcGxl
bWVudGF0aW9ucy4gVGhleSB3aWxsIGJlIHRlc3RlZCBzZXBhcmF0ZWx5CiAgICAgIndpbmRvdy5X
ZWJHTFJlbmRlcmluZ0NvbnRleHQiIDogMSwgCiAgICAgIndpbmRvdy5XZWJHTEFjdGl2ZUluZm8i
IDogMSwgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zY3JpcHQtdGVzdHMvcHJv
dG90eXBlLWluaGVyaXRhbmNlLTIuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zY3JpcHQtdGVz
dHMvcHJvdG90eXBlLWluaGVyaXRhbmNlLTIuanMKaW5kZXggYzJmYTJiOTc3NWQ5YmY0NzU3YjRi
ZDI2MmFlYWFlMDBiODM3ZWQ4My4uYzU5MGMxZDMxNTNjYzE5MzM0MWZlNWMyMjJkYzFhYmVhOTYw
Mjc3ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2NyaXB0LXRlc3RzL3Byb3Rv
dHlwZS1pbmhlcml0YW5jZS0yLmpzCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NjcmlwdC10
ZXN0cy9wcm90b3R5cGUtaW5oZXJpdGFuY2UtMi5qcwpAQCAtMTIsNiArMTIsNyBAQCB2YXIgc2tp
cHBlZFByb3BlcnRpZXMgPSBbCiAgICAgIm9iakNDb250cm9sbGVyIiwgInRleHRJbnB1dENvbnRy
b2xsZXIiLCAibmF2aWdhdGlvbkNvbnRyb2xsZXIiLAogICAgICJldmVudFNlbmRlciIsICJvYmpD
UGx1Z2luIiwgIm9iakNQbHVnaW5GdW5jdGlvbiIsCiAgICAgImFwcGxlU2NyaXB0Q29udHJvbGxl
ciIsICJwbGFpblRleHQiLCAiYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIiLAorICAgICJpbnRlcm5h
bHMiLAogICAgIC8vIFNraXAgb3VyIHRlc3QgcHJvcGVydHkKICAgICAiaXNJbm5lciIsCiAgICAg
Ly8gSWdub3JlIGZvb0NvbnN0cnVjdG9yLnByb3RvdHlwZSwgZm9vSW5zdGFuY2UuX19wcm90b19f
IGlzIG1vcmUgbGlrZWx5IHRvIGZhaWwuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zY3JpcHQtdGVzdHMvcHJvdG90eXBlLWluaGVyaXRhbmNlLmpzIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2NyaXB0LXRlc3RzL3Byb3RvdHlwZS1pbmhlcml0YW5jZS5qcwppbmRleCAzMGIxZWM2
ZDMzOGY2ZjcwOGNhMTk0ODY1YWU5ZGY3ZDg5ZDg5OTg3Li4wNjY3ZTQ0YWMwOTAwZTYwNWVjNzQ4
Mzg0ZTU4ZGVmMjUxMDlkY2E3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zY3Jp
cHQtdGVzdHMvcHJvdG90eXBlLWluaGVyaXRhbmNlLmpzCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NjcmlwdC10ZXN0cy9wcm90b3R5cGUtaW5oZXJpdGFuY2UuanMKQEAgLTEyLDYgKzEyLDcg
QEAgdmFyIHNraXBwZWRQcm9wZXJ0aWVzID0gWwogICAgICJvYmpDQ29udHJvbGxlciIsICJ0ZXh0
SW5wdXRDb250cm9sbGVyIiwgIm5hdmlnYXRpb25Db250cm9sbGVyIiwKICAgICAiZXZlbnRTZW5k
ZXIiLCAib2JqQ1BsdWdpbiIsICJvYmpDUGx1Z2luRnVuY3Rpb24iLAogICAgICJhcHBsZVNjcmlw
dENvbnRyb2xsZXIiLCAicGxhaW5UZXh0IiwgImFjY2Vzc2liaWxpdHlDb250cm9sbGVyIiwKKyAg
ICAiaW50ZXJuYWxzIiwKICAgICAvLyBJZ25vcmUgdGhlc2UgcHJvcGVydGllcyBiZWNhdXNlIHRo
ZXkgZG8gbm90IGV4aXN0IGluIGFsbCBpbXBsZW1lbnRhdGlvbnMuIFRoZXkgd2lsbCBiZSB0ZXN0
ZWQgc2VwYXJhdGVseQogICAgICJ3ZWJraXROb3RpZmljYXRpb25zIiwKICAgICAid2Via2l0QXVk
aW9QYW5uZXJOb2RlIiwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaGFybmVzcy9pbnRl
cm5hbHMtb2JqZWN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvaGFybmVzcy9pbnRl
cm5hbHMtb2JqZWN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZDlhYWFmNDg0YjI1YzUxZGNm
ZWRkMDI1OTYwNjliOTNjYWYzYzBlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9oYXJuZXNzL2ludGVybmFscy1vYmplY3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEgQEAKK3dp
bmRvdy5pbnRlcm5hbHMgb2JqZWN0IHNob3VsZCBiZSB2aXNpYmxlIHdoZW4gcnVubmluZyBpbiBE
UlQ6IFBBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaGFybmVzcy9pbnRlcm5hbHMt
b2JqZWN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2hhcm5lc3MvaW50ZXJuYWxzLW9iamVjdC5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjJiZWU3YmY0ZmYxN2MyYmMwMmQzMDI0ZTc3MmM4NWU1ZjZkMTMyYTcK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2hhcm5lc3MvaW50ZXJuYWxzLW9i
amVjdC5odG1sCkBAIC0wLDAgKzEsMjMgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorCitp
ZiAobGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFz
VGV4dCgpOworCitmdW5jdGlvbiBydW5UZXN0KCkKK3sKKyAgICB2YXIgbG9nID0gZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKSk7CisgICAgbG9n
LndyaXRlID0gZnVuY3Rpb24obXNnLCBzdWNjZXNzKQorICAgIHsKKyAgICAgICAgdGhpcy5hcHBl
bmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKSkudGV4dENvbnRlbnQgPSBtc2cg
KyAnOiAnICsgKHN1Y2Nlc3MgPyAnUEFTUycgOiAnRkFJTCcpOworICAgIH0KKworICAgIGxvZy53
cml0ZSgnd2luZG93LmludGVybmFscyBvYmplY3Qgc2hvdWxkIGJlIHZpc2libGUgd2hlbiBydW5u
aW5nIGluIERSVCcsICEhd2luZG93LmludGVybmFscyk7Cit9CisKKzwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9T
a2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQKaW5kZXggYzg2MDZhYTFh
NzA3YWE3NTU0Zjg2Y2M2OTJhNzVkMmM3MGYwOTJiMS4uNGZmNGNhYjk3MmNlM2VjYTQ1NDQ0OTM5
N2Y4OGNhYjA3MDE3NDk3NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Nr
aXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQKQEAgLTE0NDcsMyAr
MTQ0Nyw2IEBAIGh0dHAvdGVzdHMvbmF2aWdhdGlvbi9wb3N0LTMwNy1yZXNwb25zZS5odG1sCiAK
ICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYxMTYwCiBtZWRpYS92
aWRlby1zcmMtaW52YWxpZC1wb3N0ZXIuaHRtbAorCisjIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD02MTA3MQorZmFzdC9oYXJuZXNzL2ludGVybmFscy1vYmplY3QuaHRt
bApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9Ta2lwcGVkIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9Ta2lwcGVkCmluZGV4IDNiMzIzNGQ1MDc3MzI0MzY0
ZjIxNzVmMmMyN2I5MzQ1NTVhNWE1MGQuLmEyNTAxNDYyYzUyNzY2ODk3YjA5MTJkNmIxMTM1NmQ1
NTVkNTEzZTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvU2tpcHBl
ZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1NraXBwZWQKQEAgLTE1MDksNiAr
MTUwOSwxMyBAQCBwbHVnaW5zL3ByaXZhdGUtYnJvd3NpbmctbW9kZS0yLmh0bWwKICMgaHR0cDov
L3dlYmtpdC5vcmcvYi81ODk5MAogZWRpdGluZy91bmRvL3VuZG8taWZyYW1lLWxvY2F0aW9uLWNo
YW5nZS5odG1sCiAKKyMgRmFpbGluZyBzaW5jZSByODQ5NjEsIGFsd2F5cyB3aXRoIHNsaWdodGx5
IGRpZmZlcmVudCByZXN1bHRzCisjIGh0dHA6Ly93ZWJraXQub3JnL2IvNTk4NjUKK3RyYW5zaXRp
b25zL3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uLmh0bWwKKworIyBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjEwNzMKK2Zhc3QvaGFybmVzcy9pbnRlcm5hbHMtb2Jq
ZWN0Lmh0bWwKKwogIyMjIEVORCBPRiAoMSkgQ2xhc3NpZmllZCBmYWlsdXJlcyB3aXRoIGJ1ZyBy
ZXBvcnRzCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9xdC9Ta2lwcGVkCmluZGV4IDUxODY0NDczOTg1ZDRkZDE1ZTc5ZDE1OGYxMjRiZTM3OTI2
MTliMDIuLjNhYmI5NjljZmZjZTlhYzQ5NzdkMjU1MjQyMThhODJiMzc5MjZlY2EgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vcXQvU2tpcHBlZApAQCAtMjUxNywzICsyNTE3LDkgQEAgZmFzdC9ldmVudHMvcmVtb3Zl
LXRhcmdldC1pbi1tb3VzZXVwLWluc2VydGJhY2suaHRtbAogZmFzdC9ldmVudHMvcmVtb3ZlLXRh
cmdldC1pbi1tb3VzZXVwLXR3aWNlLmh0bWwKIGZhc3QvZXZlbnRzL3JlbW92ZS10YXJnZXQtaW4t
bW91c2V1cC5odG1sCiAKKyMgW1F0XVtHVEtdIHBsdWdpbnMvZ2V0LXVybC13aXRoLWphdmFzY3Jp
cHQtdXJsLmh0bWwgZmFpbHMKKyMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTYwODM0CitwbHVnaW5zL2dldC11cmwtd2l0aC1qYXZhc2NyaXB0LXVybC5odG1sCisKKyMg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYxMDc0CitmYXN0L2hhcm5l
c3MvaW50ZXJuYWxzLW9iamVjdC5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS93aW4vU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCmluZGV4IGQy
MTY4ZmNlNjcyNGM0MTE2Y2M2MmUwMTkwNjg5OGRjM2YxZDE2MmIuLmQ4ZTE5NDkzZTVjYjFjMjA2
YTlmNWIzYzQ4ZmE2ODU2MzYxNDVmOTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L3dpbi9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkCkBAIC0x
MzAxLDMgKzEzMDEsNiBAQCBmYXN0L2V2ZW50cy9wYWdlLXZpc2liaWxpdHktdHJhbnNpdGlvbi10
ZXN0Lmh0bWwKIAogIyBVbnNraXAgYWZ0ZXIgaW1wbGVtZW50aW5nIExheW91dFRlc3RDb250cm9s
bGVyOjpzZXREZWZlcnNMb2FkaW5nIGFuZCA6OmdvQmFjay4KIGxvYWRlci9uYXZpZ2F0aW9uLXdo
aWxlLWRlZmVycmluZy1sb2Fkcy5odG1sCisKKyMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTYxMDc2CitmYXN0L2hhcm5lc3MvaW50ZXJuYWxzLW9iamVjdC5odG1sCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKaW5kZXggY2IzYjQ1MjhmYmU4YmJjZTYwYzk0ZGZlMGZkMjQxM2ViYTE2MTA3NS4uN2Uz
NTE5NWRhZTc3OTIxY2M3MmVjYTg3ZWZiMWFmOWZhYjI2MzJiZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDI1IEBACisyMDExLTA1LTIxICBEaW1pdHJpIEdsYXprb3YgIDxkZ2xhemtvdkBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkIGJ1aWxkIGxvZ2lzdGljcyBhbmQgcGx1bWJpbmcgZm9yIHdpbmRvdy5pbnRlcm5hbHMgb2Jq
ZWN0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjAz
MTMKKworICAgICAgICBUZXN0OiBmYXN0L2hhcm5lc3MvaW50ZXJuYWxzLW9iamVjdC5odG1sCisK
KyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9XZWJDb3JlVGVzdFN1cHBvcnQueGNjb25maWc6IEFk
ZGVkLgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6IEFkZGVkIHN1cHBvcnQgZm9yIGdl
bmVyYXRpbmcgZnJvbSBJbnRlcm5hbHMuaWRsLgorICAgICAgICAqIFdlYkNvcmUuZ3lwL1dlYkNv
cmUuZ3lwOiBBZGRlZCBuZXcgd2ViY29yZV90ZXN0X3N1cHBvcnQgbGlicmFyeS4KKyAgICAgICAg
KiBXZWJDb3JlLmd5cGk6IERpdHRvLgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvajogQWRkZWQgV2ViQ29yZVRlc3RTdXBwb3J0IGxpYnJhcnkuCisgICAgICAgICog
dGVzdGluZy9JbnRlcm5hbHMuY3BwOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFs
cy5oOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6IEFkZGVkLgorICAg
ICAgICAqIHRlc3RpbmcvanMvV2ViQ29yZVRlc3RTdXBwb3J0LmNwcDogQWRkZWQuCisgICAgICAg
ICogdGVzdGluZy9qcy9XZWJDb3JlVGVzdFN1cHBvcnQuaDogQWRkZWQuCisgICAgICAgICogdGVz
dGluZy92OC9XZWJDb3JlVGVzdFN1cHBvcnQuY3BwOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0aW5n
L3Y4L1dlYkNvcmVUZXN0U3VwcG9ydC5oOiBBZGRlZC4KKwogMjAxMS0wNS0yNCAgUGhpbGlwcGUg
Tm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQW5k
cmVzIEtsaW5nLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvV2Vi
Q29yZS54Y2NvbmZpZyBiL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL1dlYkNvcmUueGNj
b25maWcKaW5kZXggM2JhNzMxOTU5NzlhYjZmMmY2NjhkYTAwMjMwMGI0MTI1ZGY1YWFmYS4uODgz
OWFkZWNhZWM5YjdjMjQ5MzRmNDE3ODlkZjRkYTBiMTZkYTg1OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvV2ViQ29yZS54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Db25maWd1cmF0aW9ucy9XZWJDb3JlLnhjY29uZmlnCkBAIC01MCw3ICs1MCw3IEBAIElO
U1RBTExfUEFUSF9tYWNvc3ggPSAkKFNZU1RFTV9MSUJSQVJZX0RJUikvRnJhbWV3b3Jrcy9XZWJL
aXQuZnJhbWV3b3JrL1ZlcnNpb25zCiBJTlNUQUxMSERSU19DT1BZX1BIQVNFID0gWUVTOwogSU5T
VEFMTEhEUlNfU0NSSVBUX1BIQVNFID0gWUVTOwogUFJPRFVDVF9OQU1FID0gV2ViQ29yZTsKLU9U
SEVSX0xERkxBR1NfQkFTRSA9IC1sJChTUUxJVEUzX0xJQlJBUlkpIC1sb2JqYyAtbEFOR0xFOwor
T1RIRVJfTERGTEFHU19CQVNFID0gLWwkKFNRTElURTNfTElCUkFSWSkgLWxvYmpjIC1sQU5HTEUg
LWFsbG93YWJsZV9jbGllbnQgV2ViQ29yZVRlc3RTdXBwb3J0OwogT1RIRVJfTERGTEFHUyA9ICQo
T1RIRVJfTERGTEFHU18kKFJFQUxfUExBVEZPUk1fTkFNRSkpOwogT1RIRVJfTERGTEFHU19pcGhv
bmVvcyA9ICQoT1RIRVJfTERGTEFHU19CQVNFKSAtZnJhbWV3b3JrIENGTmV0d29yayAtZnJhbWV3
b3JrIENvcmVGb3VuZGF0aW9uIC1mcmFtZXdvcmsgQ29yZUdyYXBoaWNzIC1mcmFtZXdvcmsgQ29y
ZVRleHQgLWZyYW1ld29yayBGb3VuZGF0aW9uIC1mcmFtZXdvcmsgR3JhcGhpY3NTZXJ2aWNlcyAt
ZnJhbWV3b3JrIEltYWdlSU8gLWZyYW1ld29yayBRdWFydHpDb3JlOwogT1RIRVJfTERGTEFHU19p
cGhvbmVzaW11bGF0b3IgPSAkKE9USEVSX0xERkxBR1NfaXBob25lb3MpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvV2ViQ29yZVRlc3RTdXBwb3J0LnhjY29uZmln
IGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvV2ViQ29yZVRlc3RTdXBwb3J0LnhjY29u
ZmlnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjdhNDA3NzkwMzk0ZjhkYTA5NDY3ZDcxOTg3MjdiZjVjN2FkNTVlZmQK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9XZWJDb3Jl
VGVzdFN1cHBvcnQueGNjb25maWcKQEAgLTAsMCArMSwzMCBAQAorLy8gQ29weXJpZ2h0IChDKSAy
MDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisvLworLy8gUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisv
LyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKy8vIGFyZSBtZXQ6CisvLyAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorLy8gICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorLy8gMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKy8vICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKy8vICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisvLworLy8gVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisv
LyBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorLy8gSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisvLyBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorLy8gQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisvLyBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisvLyBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKKy8vIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKy8vIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorLy8gKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisvLyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiAKKworI2luY2x1ZGUgIldlYkNvcmUueGNjb25maWciCisKK1BSSVZB
VEVfSEVBREVSU19GT0xERVJfUEFUSCA9IFdlYkNvcmVUZXN0U3VwcG9ydDsKK1BST0RVQ1RfTkFN
RSA9IFdlYkNvcmVUZXN0U3VwcG9ydDsKK09USEVSX0xERkxBR1MgPSA7CitFWFBPUlRFRF9TWU1C
T0xTX0ZJTEUgPSA7CitJTlNUQUxMX1BBVEggPSAkKEJVSUxUX1BST0RVQ1RTX0RJUik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCA2MDg4ZmZjN2E0YTBkMTc4YWVkOTRiZTI5Njg0
MzYwZjU1MjBmZjNjLi42MTg2YjM0MjFjM2ZlYjU1MWQ0Mjk1NmU3ZjEzY2U5Nzg1YWRmZGYzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTQ2LDYgKzQ2LDcgQEAgVlBBVEggPSBc
CiAgICAgJChXZWJDb3JlKS93ZWJhdWRpbyBcCiAgICAgJChXZWJDb3JlKS93b3JrZXJzIFwKICAg
ICAkKFdlYkNvcmUpL3N2ZyBcCisgICAgJChXZWJDb3JlKS90ZXN0aW5nIFwKICAgICAkKFdlYkNv
cmUpL3dlYnNvY2tldHMgXAogIwogCkBAIC0yODksNiArMjkwLDcgQEAgRE9NX0NMQVNTRVMgPSBc
CiAgICAgSW1hZ2VEYXRhIFwKICAgICBJbmplY3RlZFNjcmlwdEhvc3QgXAogICAgIEluc3BlY3Rv
ckZyb250ZW5kSG9zdCBcCisgICAgSW50ZXJuYWxzIFwKICAgICBLZXlib2FyZEV2ZW50IFwKICAg
ICBMb2NhdGlvbiBcCiAgICAgTWVkaWFFcnJvciBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IDJm
Zjg1MTk4YTMxOWZiYjI5MzhiNTk4ZTkwZDVjZGUzMWNlYzc1MmQuLmEwMjI5MmFmZDc5ZjgxMDNi
ZmViMjBjZjcxMjRhOTAyZDYyYTMzZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC0yNjMsNiAr
MjYzLDcgQEAgX19aTjdXZWJDb3JlMTJJY29uRGF0YWJhc2UyN2NoZWNrSW50ZWdyaXR5QmVmb3Jl
T3BlbmluZ0V2CiBfX1pON1dlYkNvcmUxMkljb25EYXRhYmFzZTVjbG9zZUV2CiBfX1pON1dlYkNv
cmUxMkljb25EYXRhYmFzZTlzZXRDbGllbnRFUE5TXzE4SWNvbkRhdGFiYXNlQ2xpZW50RQogX19a
TjdXZWJDb3JlMTJJY29uRGF0YWJhc2VDMUV2CitfX1pON1dlYkNvcmUxMkpTRE9NV3JhcHBlcjEy
bm9XZWFrVnRhYmxlRXYKIF9fWk43V2ViQ29yZTEyUG9wdXBNZW51TWFjQzFFUE5TXzE1UG9wdXBN
ZW51Q2xpZW50RQogX19aTjdXZWJDb3JlMTJQcmludENvbnRleHQxMnBhZ2VQcm9wZXJ0eUVQTlNf
NUZyYW1lRVBLY2kKIF9fWk43V2ViQ29yZTEyUHJpbnRDb250ZXh0MTNudW1iZXJPZlBhZ2VzRVBO
U181RnJhbWVFUktOU185RmxvYXRTaXplRQpAQCAtMTAxMyw2ICsxMDE0LDggQEAgX19aTjdXZWJD
b3JlOW1ha2VSYW5nZUVSS05TXzE1VmlzaWJsZVBvc2l0aW9uRVMyXwogX19aTjdXZWJDb3JlOXBh
Z2VDYWNoZUV2CiBfX1pON1dlYkNvcmU5cGxhaW5UZXh0RVBLTlNfNVJhbmdlRU5TXzIwVGV4dEl0
ZXJhdG9yQmVoYXZpb3JFCiBfX1pON1dlYkNvcmU5dG9FbGVtZW50RU4zSlNDN0pTVmFsdWVFCitf
X1pON1dlYkNvcmUxN2NhY2hlRE9NU3RydWN0dXJlRVBOU18xN0pTRE9NR2xvYmFsT2JqZWN0RVBO
M0pTQzlTdHJ1Y3R1cmVFUEtOUzJfOUNsYXNzSW5mb0UKK19fWk43V2ViQ29yZTIxZ2V0Q2FjaGVk
RE9NU3RydWN0dXJlRVBOU18xN0pTRE9NR2xvYmFsT2JqZWN0RVBLTjNKU0M5Q2xhc3NJbmZvRQog
X19aTkszSlNDOEJpbmRpbmdzMTBSb290T2JqZWN0MTJnbG9iYWxPYmplY3RFdgogX19aTkszV1RG
NlN0cmluZzE0Y3JlYXRlQ0ZTdHJpbmdFdgogX19aTks3V2ViQ29yZTVGcmFtZTI2Z2V0RG9jdW1l
bnRCYWNrZ3JvdW5kQ29sb3JFdgpAQCAtMTMwNyw2ICsxMzEwLDcgQEAgX19aTks3V2ViQ29yZTlG
cmFtZVZpZXcyOGlzRW5jbG9zZWRJbkNvbXBvc2l0aW5nTGF5ZXJFdgogX19aTks3V2ViQ29yZTlQ
YWdlQ2FjaGUxMGZyYW1lQ291bnRFdgogX19aTks3V2ViQ29yZTlQYWdlQ2FjaGUyMWF1dG9yZWxl
YXNlZFBhZ2VDb3VudEV2CiBfX1pUVk43V2ViQ29yZTEyQ2hyb21lQ2xpZW50RQorX19aVFZON1dl
YkNvcmUxMkpTRE9NV3JhcHBlckUKIF9fWlRWTjdXZWJDb3JlMTZJY29uRGF0YWJhc2VCYXNlRQog
X19aVFZON1dlYkNvcmUxN0ZpbGVDaG9vc2VyQ2xpZW50RQogX19aVFZON1dlYkNvcmUxN0ZyYW1l
TG9hZGVyQ2xpZW50RQpAQCAtMTYzOSw4ICsxNjQzLDYgQEAgX19aTjNKU0M4QmluZGluZ3M4SW5z
dGFuY2VDMkVOM1dURjEwUGFzc1JlZlB0cklOUzBfMTBSb290T2JqZWN0RUVFCiBfX1pOM0pTQzhC
aW5kaW5nczhJbnN0YW5jZUQyRXYKIF9fWk43V2ViQ29yZTEzSWRlbnRpZmllclJlcDdpc1ZhbGlk
RVBTMF8KIF9fWk43V2ViQ29yZTE2U2NyaXB0Q29udHJvbGxlcjE2Y3JlYXRlUm9vdE9iamVjdEVQ
dgotX19aTjdXZWJDb3JlMTdjYWNoZURPTVN0cnVjdHVyZUVQTlNfMTdKU0RPTUdsb2JhbE9iamVj
dEVQTjNKU0M5U3RydWN0dXJlRVBLTlMyXzlDbGFzc0luZm9FCi1fX1pON1dlYkNvcmUyMWdldENh
Y2hlZERPTVN0cnVjdHVyZUVQTlNfMTdKU0RPTUdsb2JhbE9iamVjdEVQS04zSlNDOUNsYXNzSW5m
b0UKIF9fWk5LM0pTQzhCaW5kaW5nczEzUnVudGltZU9iamVjdDEyZGVmYXVsdFZhbHVlRVBOU185
RXhlY1N0YXRlRU5TXzIyUHJlZmVycmVkUHJpbWl0aXZlVHlwZUUKIF9fWlRWTjNKU0MxM1J1bnRp
bWVNZXRob2RFCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lw
L1dlYkNvcmUuZ3lwIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAKaW5k
ZXggOGVlMWFlMGY3NjcxODEzMDA5MDMwN2NhNWIxYWRjMWMyYTBhYjg3My4uM2UxYzBjMTJmZmE3
NWIwMzNiOTdiNDhhNzQ5MThiMjQ5NTM5OTUxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5neXAvV2ViQ29yZS5neXAKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAv
V2ViQ29yZS5neXAKQEAgLTQ1NSw2ICs0NTUsNyBAQAogCiAgICAgICAgICMgaWRsIHJ1bGVzCiAg
ICAgICAgICc8QChiaW5kaW5nc19pZGxfZmlsZXMpJywKKyAgICAgICAgJzxAKHdlYmNvcmVfdGVz
dF9zdXBwb3J0X2lkbF9maWxlcyknLAogICAgICAgXSwKICAgICAgICdhY3Rpb25zJzogWwogICAg
ICAgICAjIEFjdGlvbnMgdG8gYnVpbGQgZGVyaXZlZCBzb3VyY2VzLgpAQCAtODQ0LDYgKzg0NSw3
IEBACiAgICAgICAgICAgICAgICctLWluY2x1ZGUnLCAnLi4vcGx1Z2lucycsCiAgICAgICAgICAg
ICAgICctLWluY2x1ZGUnLCAnLi4vc3RvcmFnZScsCiAgICAgICAgICAgICAgICctLWluY2x1ZGUn
LCAnLi4vc3ZnJywKKyAgICAgICAgICAgICAgJy0taW5jbHVkZScsICcuLi90ZXN0aW5nJywKICAg
ICAgICAgICAgICAgJy0taW5jbHVkZScsICcuLi93ZWJhdWRpbycsCiAgICAgICAgICAgICAgICct
LWluY2x1ZGUnLCAnLi4vd2Vic29ja2V0cycsCiAgICAgICAgICAgICAgICctLWluY2x1ZGUnLCAn
Li4vd29ya2VycycsCkBAIC0xNzI2LDUgKzE3MjgsMjkgQEAKICAgICAgICAgfV0sCiAgICAgICBd
LAogICAgIH0sCisgICAgeworICAgICAgJ3RhcmdldF9uYW1lJzogJ3dlYmNvcmVfdGVzdF9zdXBw
b3J0JywKKyAgICAgICd0eXBlJzogJ3N0YXRpY19saWJyYXJ5JywKKyAgICAgICdkZXBlbmRlbmNp
ZXMnOiBbCisgICAgICAgICd3ZWJjb3JlJywKKyAgICAgIF0sCisgICAgICAnaW5jbHVkZV9kaXJz
JzogWworICAgICAgICAnPChJTlRFUk1FRElBVEVfRElSKScsCisgICAgICAgICc8KFNIQVJFRF9J
TlRFUk1FRElBVEVfRElSKS93ZWJjb3JlJywKKyAgICAgICAgJzwoU0hBUkVEX0lOVEVSTUVESUFU
RV9ESVIpL3dlYmtpdCcsCisgICAgICAgICc8KFNIQVJFRF9JTlRFUk1FRElBVEVfRElSKS93ZWJr
aXQvYmluZGluZ3MnLAorICAgICAgICAnPEAod2ViY29yZV9pbmNsdWRlX2RpcnMpJywKKyAgICAg
ICAgJy4uL3Rlc3RpbmcnLAorICAgICAgICAnLi4vdGVzdGluZy92OCcsCisgICAgICBdLAorICAg
ICAgJ3NvdXJjZXMnOiBbCisgICAgICAgICc8QCh3ZWJjb3JlX3Rlc3Rfc3VwcG9ydF9maWxlcykn
LAorICAgICAgICAnPChTSEFSRURfSU5URVJNRURJQVRFX0RJUikvd2ViY29yZS9iaW5kaW5ncy9W
OEludGVybmFscy5jcHAnLAorICAgICAgICAnPChTSEFSRURfSU5URVJNRURJQVRFX0RJUikvd2Vi
a2l0L2JpbmRpbmdzL1Y4SW50ZXJuYWxzLmgnLAorICAgICAgXSwKKyAgICAgICdzb3VyY2VzLyc6
IFsKKyAgICAgICAgWydleGNsdWRlJywgJ3Rlc3RpbmcvanMnXSwKKyAgICAgIF0sCisgICAgfSwK
ICAgXSwgICMgdGFyZ2V0cwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5n
eXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDBjM2Y5MTU5ZmFkZDk3MzI1
YTE1NTM4NTQzNDZjNGRiZmUyYWNlOWIuLjk4NmNlOGEyZGJmMzU4OWQ0MWJlMzMyNWU5NDdiOTdm
ZGUyYjM5NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTYwOTEsNiArNjA5MSwxNyBAQAogICAgICAg
ICAgICAgJ3htbC9YU0xUVW5pY29kZVNvcnQuY3BwJywKICAgICAgICAgICAgICd4bWwvWFNMVFVu
aWNvZGVTb3J0LmgnLAogICAgICAgICBdLAorICAgICAgICAnd2ViY29yZV90ZXN0X3N1cHBvcnRf
aWRsX2ZpbGVzJzogWworICAgICAgICAgICd0ZXN0aW5nL0ludGVybmFscy5pZGwnLAorICAgICAg
ICBdLAorICAgICAgICAnd2ViY29yZV90ZXN0X3N1cHBvcnRfZmlsZXMnOiBbCisgICAgICAgICAg
ICAndGVzdGluZy92OC9XZWJDb3JlVGVzdFN1cHBvcnQuY3BwJywKKyAgICAgICAgICAgICd0ZXN0
aW5nL3Y4L1dlYkNvcmVUZXN0U3VwcG9ydC5oJywKKyAgICAgICAgICAgICd0ZXN0aW5nL2pzL1dl
YkNvcmVUZXN0U3VwcG9ydC5jcHAnLAorICAgICAgICAgICAgJ3Rlc3RpbmcvanMvV2ViQ29yZVRl
c3RTdXBwb3J0LmgnLAorICAgICAgICAgICAgJ3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCcsCisgICAg
ICAgICAgICAndGVzdGluZy9JbnRlcm5hbHMuaCcsCisgICAgICAgIF0sCiAgICAgICAgICd3ZWJj
b3JlX3Jlc291cmNlX2ZpbGVzJzogWwogICAgICAgICAgICAgJ0VuZ2xpc2gubHByb2ovTG9jYWxp
emFibGUuc3RyaW5ncycsCiAgICAgICAgICAgICAnRW5nbGlzaC5scHJvai9sb2NhbGl6ZWRTdHJp
bmdzLmpzJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagppbmRleCAyNDdjYjIxNjQxZjE3ZGM5Mjg2YTQ1NTRlNjY0MDJmODg4NmNmYTk2Li5i
NTczNmY3MzM3NTVhMDk1MjlmNTMxYjcxMTNmZGFjZjZjODAwZjNiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC03LDYgKzcsMTgg
QEAKIAlvYmplY3RzID0gewogCiAvKiBCZWdpbiBQQlhBZ2dyZWdhdGVUYXJnZXQgc2VjdGlvbiAq
LworCQk0MTgxNkY3OTEzODU5QzU1MDA1N0FBQTQgLyogQWxsICovID0geworCQkJaXNhID0gUEJY
QWdncmVnYXRlVGFyZ2V0OworCQkJYnVpbGRDb25maWd1cmF0aW9uTGlzdCA9IDQxODE2RjgxMTM4
NTlDNjQwMDU3QUFBNCAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWEFnZ3JlZ2F0
ZVRhcmdldCAiQWxsIiAqLzsKKwkJCWJ1aWxkUGhhc2VzID0gKAorCQkJKTsKKwkJCWRlcGVuZGVu
Y2llcyA9ICgKKwkJCQk0MTgxNkY4MzEzODU5QzdBMDA1N0FBQTQgLyogUEJYVGFyZ2V0RGVwZW5k
ZW5jeSAqLywKKwkJCQk0MTgxNkY4NTEzODU5QzdEMDA1N0FBQTQgLyogUEJYVGFyZ2V0RGVwZW5k
ZW5jeSAqLywKKwkJCSk7CisJCQluYW1lID0gQWxsOworCQkJcHJvZHVjdE5hbWUgPSBBbGw7CisJ
CX07CiAJCTVEODdCQjY0MTFFM0VCQzEwMDcwMkI2RiAvKiBXZWJDb3JlRXhwb3J0RmlsZUdlbmVy
YXRvciBHZW5lcmF0b3IgKi8gPSB7CiAJCQlpc2EgPSBQQlhBZ2dyZWdhdGVUYXJnZXQ7CiAJCQli
dWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gNUQ4N0JCNkMxMUUzRUMwMDAwNzAyQjZGIC8qIEJ1aWxk
IGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYQWdncmVnYXRlVGFyZ2V0ICJXZWJDb3JlRXhwb3J0
RmlsZUdlbmVyYXRvciBHZW5lcmF0b3IiICovOwpAQCAtODMwLDYgKzg0Miw4IEBACiAJCTQxMEI3
RTcyMTA0NUZBQjAwMEQ4MjI0RiAvKiBKU01lc3NhZ2VFdmVudEN1c3RvbS5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTBCN0U3MTEwNDVGQUIwMDBE
ODIyNEYgLyogSlNNZXNzYWdlRXZlbnRDdXN0b20uY3BwICovOyB9OwogCQk0MTEwNDY0MTBGQTIy
MkE2MDBCQTQzNkEgLyogU2NyaXB0RXZlbnRMaXN0ZW5lci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDExMDQ2M0YwRkEyMjJBNjAwQkE0MzZBIC8qIFNj
cmlwdEV2ZW50TGlzdGVuZXIuaCAqLzsgfTsKIAkJNDExMDQ2NDIwRkEyMjJBNjAwQkE0MzZBIC8q
IFNjcmlwdEV2ZW50TGlzdGVuZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDExMDQ2NDAwRkEyMjJBNjAwQkE0MzZBIC8qIFNjcmlwdEV2ZW50TGlz
dGVuZXIuY3BwICovOyB9OworCQk0MTIzMDgxQjEzOEM0Mjk3MDBCQ0NGQ0EgLyogV2ViQ29yZS5m
cmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA5M0YxOUIxQTA4MjQ1RTVBMDAxRTlBQkMgLyogV2ViQ29yZS5mcmFtZXdvcmsgKi87IH07CisJ
CTQxMjMwOTEzMTM4QzQyRkYwMEJDQ0ZDQSAvKiBKYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsgaW4g
RnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGODIxNjI5OTAy
OUY0RkI1MDEwMDAxMzEgLyogSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrICovOyB9OwogCQk0MTIz
RTU2OTEyN0IzMDQxMDAwRkVFQTcgLyogV2luZG93RXZlbnRDb250ZXh0LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTIzRTU2NzEyN0IzMDQxMDAwRkVF
QTcgLyogV2luZG93RXZlbnRDb250ZXh0LmggKi87IH07CiAJCTQxMjNFNTZBMTI3QjMwNDEwMDBG
RUVBNyAvKiBXaW5kb3dFdmVudENvbnRleHQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDEyM0U1NjgxMjdCMzA0MTAwMEZFRUE3IC8qIFdpbmRvd0V2
ZW50Q29udGV4dC5jcHAgKi87IH07CiAJCTQxMjdENTM3MEY4QUFCMUQwMEU0MjRGNSAvKiBTY3Jp
cHRTdGF0ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0MTI3RDUzNjBGOEFBQjFEMDBFNDI0RjUgLyogU2NyaXB0U3RhdGUuY3BwICovOyB9OwpAQCAt
ODUzLDYgKzg2NywxMiBAQAogCQk0MTZFNzVDQzBFREY5MEM3MDAzNjBFMUQgLyogU2NyaXB0Q2Fs
bEZyYW1lLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQxNkU3NUNBMEVERjkwQzcwMDM2MEUxRCAvKiBTY3JpcHRDYWxsRnJhbWUuY3BwICovOyB9Owog
CQk0MTcyNTNBQTEzNTRCQkJDMDAzNjBGMkEgLyogTWVkaWFDb250cm9sRWxlbWVudHMuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE3MjUzQTgxMzU0
QkJCQzAwMzYwRjJBIC8qIE1lZGlhQ29udHJvbEVsZW1lbnRzLmNwcCAqLzsgfTsKIAkJNDE3MjUz
QUIxMzU0QkJCQzAwMzYwRjJBIC8qIE1lZGlhQ29udHJvbEVsZW1lbnRzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTcyNTNBOTEzNTRCQkJDMDAzNjBG
MkEgLyogTWVkaWFDb250cm9sRWxlbWVudHMuaCAqLzsgfTsKKwkJNDE3REE2RDkxMzczNEU2RTAw
N0M1N0ZCIC8qIEludGVybmFscy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0MTdEQTRDRjEzNzM0MzI2MDA3QzU3RkIgLyogSW50ZXJuYWxzLmNwcCAq
LzsgfTsKKwkJNDE3REE2REExMzczNEU2RTAwN0M1N0ZCIC8qIEludGVybmFscy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE3REE0Q0UxMzczNDMyNjAw
N0M1N0ZCIC8qIEludGVybmFscy5oICovOyB9OworCQk0MTdEQTcxRDEzNzM1REZBMDA3QzU3RkIg
LyogSlNJbnRlcm5hbHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNDE3REE3MUIxMzczNURGQTAwN0M1N0ZCIC8qIEpTSW50ZXJuYWxzLmNwcCAqLzsg
fTsKKwkJNDE3REE3MUUxMzczNURGQTAwN0M1N0ZCIC8qIEpTSW50ZXJuYWxzLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTdEQTcxQzEzNzM1REZBMDA3
QzU3RkIgLyogSlNJbnRlcm5hbHMuaCAqLzsgfTsKKwkJNDE4MTVDMUUxMzgzMTk4MzAwNTdBQUE0
IC8qIFdlYkNvcmVUZXN0U3VwcG9ydC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0MTgxNUMxQzEzODMxOTgzMDA1N0FBQTQgLyogV2ViQ29yZVRlc3RT
dXBwb3J0LmNwcCAqLzsgfTsKKwkJNDE4MTVDMUYxMzgzMTk4MzAwNTdBQUE0IC8qIFdlYkNvcmVU
ZXN0U3VwcG9ydC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDE4MTVDMUQxMzgzMTk4MzAwNTdBQUE0IC8qIFdlYkNvcmVUZXN0U3VwcG9ydC5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxODg1QjkzMTFC
NkZEQTYwMDMzODNCQiAvKiBGb3JtU3VibWlzc2lvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE4ODVCOTExMUI2RkRBNjAwMzM4M0JCIC8qIEZvcm1T
dWJtaXNzaW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJNDE4ODVCOTQxMUI2RkRBNjAwMzM4M0JCIC8qIEZvcm1TdWJtaXNzaW9uLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxODg1QjkyMTFCNkZE
QTYwMDMzODNCQiAvKiBGb3JtU3VibWlzc2lvbi5jcHAgKi87IH07CiAJCTQxOEEwNkQwMTMzQzA0
RDUwMENEMzc5QyAvKiBFdmVudERpc3BhdGNoZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxOEEwNkNFMTMzQzA0RDUwMENEMzc5QyAvKiBFdmVudERp
c3BhdGNoZXIuaCAqLzsgfTsKQEAgLTQwOTcsNiArNDExNywxMCBAQAogCQlBRERGMUFENzEyNTdD
RDlBMDAwM0E3NTkgLyogUmVuZGVyU1ZHUGF0aC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQURERjFBRDUxMjU3Q0Q5QTAwMDNBNzU5IC8qIFJlbmRlclNW
R1BhdGguaCAqLzsgfTsKIAkJQjE4Mjc0OTMxMzRDQTRDMTAwQjk4QzJEIC8qIENhbGxiYWNrRnVu
Y3Rpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QjE4Mjc0OTIxMzRDQTRDMTAwQjk4QzJEIC8qIENhbGxiYWNrRnVuY3Rpb24uY3BwICovOyB9Owog
CQlCMUQ1RUNCNTEzNEI1OERBMDA4N0M3OEYgLyogQ2FsbGJhY2tGdW5jdGlvbi5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjFENUVDQjQxMzRCNThEQTAw
ODdDNzhGIC8qIENhbGxiYWNrRnVuY3Rpb24uaCAqLzsgfTsKKwkJQjFFNTQ1N0ExMzQ2MjkxRjAw
OTJBNTQ1IC8qIEdlbmVyYXRlZFN0cmVhbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCMUU1NDU3MTEzNDYyOTFGMDA5MkE1NDUgLyogR2VuZXJhdGVk
U3RyZWFtLmNwcCAqLzsgfTsKKwkJQjFFNTQ1N0IxMzQ2MjkxRjAwOTJBNTQ1IC8qIEdlbmVyYXRl
ZFN0cmVhbS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QjFFNTQ1NzIxMzQ2MjkxRjAwOTJBNTQ1IC8qIEdlbmVyYXRlZFN0cmVhbS5oICovOyB9OworCQlC
MUU1NDU3RDEzNDYyOTFGMDA5MkE1NDUgLyogU3RyZWFtLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxRTU0NTc0MTM0NjI5MUYwMDkyQTU0NSAvKiBT
dHJlYW0uY3BwICovOyB9OworCQlCMUU1NDU3RTEzNDYyOTFGMDA5MkE1NDUgLyogU3RyZWFtLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMUU1NDU3NTEz
NDYyOTFGMDA5MkE1NDUgLyogU3RyZWFtLmggKi87IH07CiAJCUIxRTU0NTkzMTM0NjI5QzEwMDky
QTU0NSAvKiBDYWxsYmFja1Rhc2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEIxRTU0NTg3MTM0NjI5QzEwMDkyQTU0NSAvKiBDYWxsYmFja1Rhc2suaCAq
LzsgfTsKIAkJQjFFNTQ1OTQxMzQ2MjlDMTAwOTJBNTQ1IC8qIE1lZGlhU3RyZWFtQ2xpZW50Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMUU1NDU4ODEz
NDYyOUMxMDA5MkE1NDUgLyogTWVkaWFTdHJlYW1DbGllbnQuaCAqLzsgfTsKIAkJQjFFNTQ1OTUx
MzQ2MjlDMTAwOTJBNTQ1IC8qIE1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxRTU0NTg5MTM0NjI5QzEw
MDkyQTU0NSAvKiBNZWRpYVN0cmVhbUZyYW1lQ29udHJvbGxlci5jcHAgKi87IH07CkBAIC00MTA2
LDE4ICs0MTMwLDE0IEBACiAJCUIxRTU0NTk5MTM0NjI5QzEwMDkyQTU0NSAvKiBOYXZpZ2F0b3JV
c2VyTWVkaWFFcnJvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQjFFNTQ1OEQxMzQ2MjlDMTAwOTJBNTQ1IC8qIE5hdmlnYXRvclVzZXJNZWRpYUVycm9y
LmggKi87IH07CiAJCUIxRTU0NTlCMTM0NjI5QzEwMDkyQTU0NSAvKiBOYXZpZ2F0b3JVc2VyTWVk
aWFFcnJvckNhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBCMUU1NDU4RjEzNDYyOUMxMDA5MkE1NDUgLyogTmF2aWdhdG9yVXNlck1lZGlhRXJy
b3JDYWxsYmFjay5oICovOyB9OwogCQlCMUU1NDU5RDEzNDYyOUMxMDA5MkE1NDUgLyogTmF2aWdh
dG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBCMUU1NDU5MTEzNDYyOUMxMDA5MkE1NDUgLyogTmF2aWdhdG9y
VXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmggKi87IH07Ci0JCUIxRTU0NTdBMTM0NjI5MUYwMDky
QTU0NSAvKiBHZW5lcmF0ZWRTdHJlYW0uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQjFFNTQ1NzExMzQ2MjkxRjAwOTJBNTQ1IC8qIEdlbmVyYXRlZFN0
cmVhbS5jcHAgKi87IH07Ci0JCUIxRTU0NTdCMTM0NjI5MUYwMDkyQTU0NSAvKiBHZW5lcmF0ZWRT
dHJlYW0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIx
RTU0NTcyMTM0NjI5MUYwMDkyQTU0NSAvKiBHZW5lcmF0ZWRTdHJlYW0uaCAqLzsgfTsKLQkJQjFF
NTQ1N0QxMzQ2MjkxRjAwOTJBNTQ1IC8qIFN0cmVhbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMUU1NDU3NDEzNDYyOTFGMDA5MkE1NDUgLyogU3Ry
ZWFtLmNwcCAqLzsgfTsKLQkJQjFFNTQ1N0UxMzQ2MjkxRjAwOTJBNTQ1IC8qIFN0cmVhbS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjFFNTQ1NzUxMzQ2
MjkxRjAwOTJBNTQ1IC8qIFN0cmVhbS5oICovOyB9OworCQlCMUU1NDVERDEzNDYyQjBCMDA5MkE1
NDUgLyogSlNHZW5lcmF0ZWRTdHJlYW0uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQjFFNTQ1Q0YxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTR2VuZXJhdGVk
U3RyZWFtLmNwcCAqLzsgfTsKKwkJQjFFNTQ1REUxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTR2VuZXJh
dGVkU3RyZWFtLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBCMUU1NDVEMDEzNDYyQjBCMDA5MkE1NDUgLyogSlNHZW5lcmF0ZWRTdHJlYW0uaCAqLzsgfTsK
IAkJQjFFNTQ1REYxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3Iu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjFFNTQ1
RDExMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuY3BwICovOyB9
OwogCQlCMUU1NDVFMDEzNDYyQjBCMDA5MkE1NDUgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJv
ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjFFNTQ1
RDIxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaCAqLzsgfTsK
IAkJQjFFNTQ1RTExMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3JD
YWxsYmFjay5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBCMUU1NDVEMzEzNDYyQjBCMDA5MkE1NDUgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNh
bGxiYWNrLmNwcCAqLzsgfTsKIAkJQjFFNTQ1RTIxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTTmF2aWdh
dG9yVXNlck1lZGlhRXJyb3JDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQjFFNTQ1RDQxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTTmF2aWdhdG9y
VXNlck1lZGlhRXJyb3JDYWxsYmFjay5oICovOyB9OwogCQlCMUU1NDVFMzEzNDYyQjBCMDA5MkE1
NDUgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2FsbGJhY2suY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjFFNTQ1RDUxMzQ2MkIwQjAwOTJB
NTQ1IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmNwcCAqLzsgfTsKIAkJ
QjFFNTQ1RTQxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0Nh
bGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBC
MUU1NDVENjEzNDYyQjBCMDA5MkE1NDUgLyogSlNOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2Fs
bGJhY2suaCAqLzsgfTsKLQkJQjFFNTQ1REQxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTR2VuZXJhdGVk
U3RyZWFtLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEIxRTU0NUNGMTM0NjJCMEIwMDkyQTU0NSAvKiBKU0dlbmVyYXRlZFN0cmVhbS5jcHAgKi87IH07
Ci0JCUIxRTU0NURFMTM0NjJCMEIwMDkyQTU0NSAvKiBKU0dlbmVyYXRlZFN0cmVhbS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjFFNTQ1RDAxMzQ2MkIw
QjAwOTJBNTQ1IC8qIEpTR2VuZXJhdGVkU3RyZWFtLmggKi87IH07CiAJCUIxRTU0NUU1MTM0NjJC
MEIwMDkyQTU0NSAvKiBKU1N0cmVhbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBCMUU1NDVENzEzNDYyQjBCMDA5MkE1NDUgLyogSlNTdHJlYW0uY3Bw
ICovOyB9OwogCQlCMUU1NDVFNjEzNDYyQjBCMDA5MkE1NDUgLyogSlNTdHJlYW0uaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIxRTU0NUQ4MTM0NjJCMEIw
MDkyQTU0NSAvKiBKU1N0cmVhbS5oICovOyB9OwogCQlCMjAxMTEwNzBBQjc3NDA1MDBEQjBFNjgg
LyogSlNTVkdBRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBCMjAxMTEwNTBBQjc3NDA1MDBEQjBFNjggLyogSlNTVkdBRWxlbWVudC5jcHAg
Ki87IH07CkBAIC01OTY0LDYgKzU5ODQsMjcgQEAKIC8qIEVuZCBQQlhCdWlsZEZpbGUgc2VjdGlv
biAqLwogCiAvKiBCZWdpbiBQQlhDb250YWluZXJJdGVtUHJveHkgc2VjdGlvbiAqLworCQk0MTdE
QTZENDEzNzM0RTBEMDA3QzU3RkIgLyogUEJYQ29udGFpbmVySXRlbVByb3h5ICovID0geworCQkJ
aXNhID0gUEJYQ29udGFpbmVySXRlbVByb3h5OworCQkJY29udGFpbmVyUG9ydGFsID0gMDg2N0Q2
OTBGRTg0MDI4RkMwMkFBQzA3IC8qIFByb2plY3Qgb2JqZWN0ICovOworCQkJcHJveHlUeXBlID0g
MTsKKwkJCXJlbW90ZUdsb2JhbElEU3RyaW5nID0gOTNGMTk4QTUwODI0NUU1OTAwMUU5QUJDOwor
CQkJcmVtb3RlSW5mbyA9IFdlYkNvcmU7CisJCX07CisJCTQxODE2RjgyMTM4NTlDN0EwMDU3QUFB
NCAvKiBQQlhDb250YWluZXJJdGVtUHJveHkgKi8gPSB7CisJCQlpc2EgPSBQQlhDb250YWluZXJJ
dGVtUHJveHk7CisJCQljb250YWluZXJQb3J0YWwgPSAwODY3RDY5MEZFODQwMjhGQzAyQUFDMDcg
LyogUHJvamVjdCBvYmplY3QgKi87CisJCQlwcm94eVR5cGUgPSAxOworCQkJcmVtb3RlR2xvYmFs
SURTdHJpbmcgPSA5M0YxOThBNTA4MjQ1RTU5MDAxRTlBQkM7CisJCQlyZW1vdGVJbmZvID0gV2Vi
Q29yZTsKKwkJfTsKKwkJNDE4MTZGODQxMzg1OUM3RDAwNTdBQUE0IC8qIFBCWENvbnRhaW5lckl0
ZW1Qcm94eSAqLyA9IHsKKwkJCWlzYSA9IFBCWENvbnRhaW5lckl0ZW1Qcm94eTsKKwkJCWNvbnRh
aW5lclBvcnRhbCA9IDA4NjdENjkwRkU4NDAyOEZDMDJBQUMwNyAvKiBQcm9qZWN0IG9iamVjdCAq
LzsKKwkJCXByb3h5VHlwZSA9IDE7CisJCQlyZW1vdGVHbG9iYWxJRFN0cmluZyA9IDQxN0RBNkNG
MTM3MzRFMDIwMDdDNTdGQjsKKwkJCXJlbW90ZUluZm8gPSBXZWJDb3JlVGVzdFN1cHBvcnQ7CisJ
CX07CiAJCTVEODdCQjZBMTFFM0VCRDIwMDcwMkI2RiAvKiBQQlhDb250YWluZXJJdGVtUHJveHkg
Ki8gPSB7CiAJCQlpc2EgPSBQQlhDb250YWluZXJJdGVtUHJveHk7CiAJCQljb250YWluZXJQb3J0
YWwgPSAwODY3RDY5MEZFODQwMjhGQzAyQUFDMDcgLyogUHJvamVjdCBvYmplY3QgKi87CkBAIC03
MzMyLDYgKzczNzMsMTUgQEAKIAkJNDE2RTc1Q0EwRURGOTBDNzAwMzYwRTFEIC8qIFNjcmlwdENh
bGxGcmFtZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY3JpcHRD
YWxsRnJhbWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTcyNTNBODEzNTRC
QkJDMDAzNjBGMkEgLyogTWVkaWFDb250cm9sRWxlbWVudHMuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gTWVkaWFDb250cm9sRWxlbWVudHMuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk0MTcyNTNBOTEzNTRCQkJDMDAzNjBGMkEgLyogTWVkaWFDb250
cm9sRWxlbWVudHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFDb250
cm9sRWxlbWVudHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE3REE0Q0UxMzcz
NDMyNjAwN0M1N0ZCIC8qIEludGVybmFscy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBJbnRlcm5hbHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE3REE0Q0Yx
MzczNDMyNjAwN0M1N0ZCIC8qIEludGVybmFscy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBJbnRlcm5hbHMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk0MTdEQTZEMDEzNzM0RTAyMDA3QzU3RkIgLyogV2ViQ29yZVRlc3RTdXBwb3J0LmR5bGliICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGV4cGxpY2l0RmlsZVR5cGUgPSAiY29tcGlsZWQu
bWFjaC1vLmR5bGliIjsgaW5jbHVkZUluSW5kZXggPSAwOyBwYXRoID0gV2ViQ29yZVRlc3RTdXBw
b3J0LmR5bGliOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OworCQk0MTdEQTcx
QjEzNzM1REZBMDA3QzU3RkIgLyogSlNJbnRlcm5hbHMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSlNJbnRlcm5hbHMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk0MTdEQTcxQzEzNzM1REZBMDA3QzU3RkIgLyogSlNJbnRlcm5hbHMuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNJbnRlcm5hbHMuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJNDE4MTNGOTExMzgxOEFENjAwNTdBQUE0IC8qIEludGVybmFscy5pZGwg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gSW50ZXJuYWxzLmlkbDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJNDE4MTVDMUMxMzgzMTk4MzAwNTdBQUE0IC8qIFdlYkNvcmVUZXN0U3VwcG9y
dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJDb3JlVGVzdFN1
cHBvcnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTgxNUMxRDEzODMxOTgz
MDA1N0FBQTQgLyogV2ViQ29yZVRlc3RTdXBwb3J0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFdlYkNvcmVUZXN0U3VwcG9ydC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk0MTgxNzA3RDEzODZFREYyMDA1N0FBQTQgLyogV2ViQ29yZVRlc3RTdXBwb3J0LnhjY29u
ZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgcGF0aCA9IFdlYkNvcmVUZXN0U3VwcG9ydC54
Y2NvbmZpZzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE4ODVCOTExMUI2RkRBNjAw
MzM4M0JCIC8qIEZvcm1TdWJtaXNzaW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEZvcm1TdWJtaXNzaW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxODg1
QjkyMTFCNkZEQTYwMDMzODNCQiAvKiBGb3JtU3VibWlzc2lvbi5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBGb3JtU3VibWlzc2lvbi5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTQxOEEwNkNFMTMzQzA0RDUwMENEMzc5QyAvKiBFdmVudERpc3BhdGNo
ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRXZlbnREaXNwYXRjaGVyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMDM4MiwxOCArMTA0MzIsMTggQEAKIAkJ
QURERjFBRDUxMjU3Q0Q5QTAwMDNBNzU5IC8qIFJlbmRlclNWR1BhdGguaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVyU1ZHUGF0aC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlCMTgyNzQ5MjEzNENBNEMxMDBCOThDMkQgLyogQ2FsbGJhY2tGdW5jdGlvbi5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDYWxsYmFja0Z1bmN0aW9u
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjFENUVDQjQxMzRCNThEQTAwODdD
NzhGIC8qIENhbGxiYWNrRnVuY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gQ2FsbGJhY2tGdW5jdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlCMUU1
NDU4NzEzNDYyOUMxMDA5MkE1NDUgLyogQ2FsbGJhY2tUYXNrLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IENhbGxiYWNrVGFzay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwotCQlCMUU1NDU4ODEzNDYyOUMxMDA5MkE1NDUgLyogTWVkaWFTdHJlYW1DbGllbnQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFTdHJlYW1DbGllbnQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQjFFNTQ1ODkxMzQ2MjlDMTAwOTJBNTQ1IC8qIE1lZGlh
U3RyZWFtRnJhbWVDb250cm9sbGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IE1lZGlhU3RyZWFtRnJhbWVDb250cm9sbGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKLQkJQjFFNTQ1OEExMzQ2MjlDMTAwOTJBNTQ1IC8qIE1lZGlhU3RyZWFtRnJhbWVD
b250cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlhU3RyZWFt
RnJhbWVDb250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUIxRTU0NThC
MTM0NjI5QzEwMDkyQTU0NSAvKiBNZWRpYVN0cmVhbUNvbnRyb2xsZXIuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWVkaWFTdHJlYW1Db250cm9sbGVyLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQjFFNTQ1OEMxMzQ2MjlDMTAwOTJBNTQ1IC8qIE1l
ZGlhU3RyZWFtQ29udHJvbGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBN
ZWRpYVN0cmVhbUNvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjFF
NTQ1NzExMzQ2MjkxRjAwOTJBNTQ1IC8qIEdlbmVyYXRlZFN0cmVhbS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBHZW5lcmF0ZWRTdHJlYW0uY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlCMUU1NDU3MjEzNDYyOTFGMDA5MkE1NDUgLyogR2VuZXJhdGVk
U3RyZWFtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdlbmVyYXRlZFN0cmVh
bS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMUU1NDU3MzEzNDYyOTFGMDA5MkE1
NDUgLyogR2VuZXJhdGVkU3RyZWFtLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBHZW5lcmF0
ZWRTdHJlYW0uaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMUU1NDU3NDEzNDYy
OTFGMDA5MkE1NDUgLyogU3RyZWFtLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFN0cmVhbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIxRTU0NTc1
MTM0NjI5MUYwMDkyQTU0NSAvKiBTdHJlYW0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gU3RyZWFtLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIxRTU0NTc2MTM0
NjI5MUYwMDkyQTU0NSAvKiBTdHJlYW0uaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFN0cmVh
bS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxRTU0NTg3MTM0NjI5QzEwMDky
QTU0NSAvKiBDYWxsYmFja1Rhc2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
Q2FsbGJhY2tUYXNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIxRTU0NTg4MTM0
NjI5QzEwMDkyQTU0NSAvKiBNZWRpYVN0cmVhbUNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBNZWRpYVN0cmVhbUNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlCMUU1NDU4OTEzNDYyOUMxMDA5MkE1NDUgLyogTWVkaWFTdHJlYW1GcmFtZUNvbnRy
b2xsZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWVkaWFTdHJl
YW1GcmFtZUNvbnRyb2xsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMUU1
NDU4QTEzNDYyOUMxMDA5MkE1NDUgLyogTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFTdHJlYW1GcmFtZUNvbnRyb2xsZXIu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjFFNTQ1OEIxMzQ2MjlDMTAwOTJBNTQ1
IC8qIE1lZGlhU3RyZWFtQ29udHJvbGxlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBNZWRpYVN0cmVhbUNvbnRyb2xsZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlCMUU1NDU4QzEzNDYyOUMxMDA5MkE1NDUgLyogTWVkaWFTdHJlYW1Db250cm9s
bGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlhU3RyZWFtQ29udHJv
bGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMUU1NDU4RDEzNDYyOUMxMDA5
MkE1NDUgLyogTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQjFFNTQ1OEUxMzQ2MjlDMTAwOTJBNTQ1IC8qIE5hdmlnYXRvclVzZXJNZWRp
YUVycm9yLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJv
ci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIxRTU0NThGMTM0NjI5QzEwMDky
QTU0NSAvKiBOYXZpZ2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IE5hdmlnYXRvclVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEwNDAyLDE0ICsxMDQ1MiwxNCBAQAogCQlCMUU1
NDU5MjEzNDYyOUMxMDA5MkE1NDUgLyogTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNr
LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBOYXZpZ2F0b3JVc2VyTWVkaWFTdWNjZXNzQ2Fs
bGJhY2suaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMUU1NDVDRjEzNDYyQjBC
MDA5MkE1NDUgLyogSlNHZW5lcmF0ZWRTdHJlYW0uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSlNHZW5lcmF0ZWRTdHJlYW0uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlCMUU1NDVEMDEzNDYyQjBCMDA5MkE1NDUgLyogSlNHZW5lcmF0ZWRTdHJlYW0u
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNHZW5lcmF0ZWRTdHJlYW0uaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQjFFNTQ1RDcxMzQ2MkIwQjAwOTJBNTQ1IC8q
IEpTU3RyZWFtLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTU3Ry
ZWFtLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQjFFNTQ1RDgxMzQ2MkIwQjAw
OTJBNTQ1IC8qIEpTU3RyZWFtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpT
U3RyZWFtLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIxRTU0NUQxMTM0NjJCMEIw
MDkyQTU0NSAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTmF2aWdhdG9yVXNlck1lZGlhRXJyb3IuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMUU1NDVEMjEzNDYyQjBCMDA5MkE1NDUgLyogSlNO
YXZpZ2F0b3JVc2VyTWVkaWFFcnJvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUIxRTU0NUQzMTM0NjJCMEIwMDkyQTU0NSAvKiBKU05hdmlnYXRvclVzZXJNZWRpYUVycm9y
Q2FsbGJhY2suY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNOYXZp
Z2F0b3JVc2VyTWVkaWFFcnJvckNhbGxiYWNrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQjFFNTQ1RDQxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhRXJy
b3JDYWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU05hdmlnYXRv
clVzZXJNZWRpYUVycm9yQ2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QjFFNTQ1RDUxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhU3VjY2Vzc0Nh
bGxiYWNrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTmF2aWdh
dG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQjFFNTQ1RDYxMzQ2MkIwQjAwOTJBNTQ1IC8qIEpTTmF2aWdhdG9yVXNlck1lZGlhU3Vj
Y2Vzc0NhbGxiYWNrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTTmF2aWdh
dG9yVXNlck1lZGlhU3VjY2Vzc0NhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUIxRTU0NUQ3MTM0NjJCMEIwMDkyQTU0NSAvKiBKU1N0cmVhbS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1N0cmVhbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUIxRTU0NUQ4MTM0NjJCMEIwMDkyQTU0NSAvKiBKU1N0cmVhbS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU1N0cmVhbS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlCMjAxMTEwNTBBQjc3NDA1MDBEQjBFNjggLyogSlNTVkdBRWxlbWVudC5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNTVkdBRWxlbWVudC5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIyMDExMTA2MEFCNzc0MDUwMERCMEU2
OCAvKiBKU1NWR0FFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBK
U1NWR0FFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIyMjI3N0NCMEQw
MEJGMUYwMDcxQjc4MiAvKiBDb2xvckRpc3RhbmNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBDb2xvckRpc3RhbmNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTEyNTI3LDYgKzEyNTc3LDE1IEBACiAvKiBFbmQgUEJYRmlsZVJlZmVyZW5jZSBz
ZWN0aW9uICovCiAKIC8qIEJlZ2luIFBCWEZyYW1ld29ya3NCdWlsZFBoYXNlIHNlY3Rpb24gKi8K
KwkJNDE3REE2Q0UxMzczNEUwMjAwN0M1N0ZCIC8qIEZyYW1ld29ya3MgKi8gPSB7CisJCQlpc2Eg
PSBQQlhGcmFtZXdvcmtzQnVpbGRQaGFzZTsKKwkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2
NDc7CisJCQlmaWxlcyA9ICgKKwkJCQk0MTIzMDkxMzEzOEM0MkZGMDBCQ0NGQ0EgLyogSmF2YVNj
cmlwdENvcmUuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCisJCQkJNDEyMzA4MUIxMzhDNDI5
NzAwQkNDRkNBIC8qIFdlYkNvcmUuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCisJCQkpOwor
CQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CisJCX07CiAJCTVEODdC
QjREMTFFM0VBRUIwMDcwMkI2RiAvKiBGcmFtZXdvcmtzICovID0gewogCQkJaXNhID0gUEJYRnJh
bWV3b3Jrc0J1aWxkUGhhc2U7CiAJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwpAQCAt
MTI1NjQsNiArMTI2MjMsNyBAQAogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgK
IAkJCQk1RDg3QkI0RjExRTNFQUVCMDA3MDJCNkYgLyogV2ViQ29yZUV4cG9ydEZpbGVHZW5lcmF0
b3IgKi8sCisJCQkJNDE3REE2RDAxMzczNEUwMjAwN0M1N0ZCIC8qIFdlYkNvcmVUZXN0U3VwcG9y
dC5keWxpYiAqLywKIAkJCQk5M0YxOUIxQTA4MjQ1RTVBMDAxRTlBQkMgLyogV2ViQ29yZS5mcmFt
ZXdvcmsgKi8sCiAJCQkpOwogCQkJbmFtZSA9IFByb2R1Y3RzOwpAQCAtMTI2MzYsNiArMTI2OTYs
NyBAQAogCQkJCUY1MjNEMkYzMDJERTQ0M0IwMTg2MzVDQSAvKiByZW5kZXJpbmcgKi8sCiAJCQkJ
MUFFODJFQzkwQ0FBRTE3NzAwMjIzN0FFIC8qIHN0b3JhZ2UgKi8sCiAJCQkJQjIyMjc3Q0EwRDAw
QkYxRTAwNzFCNzgyIC8qIHN2ZyAqLywKKwkJCQk0MTdEQTRDRDEzNzM0MjA0MDA3QzU3RkIgLyog
dGVzdGluZyAqLywKIAkJCQlGRDMxNUZBMjEyQjAyNUIxMDBDMUEzNTkgLyogd2ViYXVkaW8gKi8s
CiAJCQkJNTE4QTM0QkQxMDI2QzgzMTAwMUI2ODk2IC8qIHdlYnNvY2tldHMgKi8sCiAJCQkJMkU0
MzQ2MzEwRjU0NkE2ODAwQjBGMUJBIC8qIHdvcmtlcnMgKi8sCkBAIC0xMjg0Myw2ICsxMjkwNCw3
IEBACiAJCQkJQkM5ODU0NDYwQ0QzREE1RjAwMDY5QkMxIC8qIFJhbmdlcyAqLywKIAkJCQlBODNC
NzkxNTBDQ0IwMDc4MDAwQjA4MjUgLyogU3RvcmFnZSAqLywKIAkJCQlBODNCNzkwQTBDQ0FGRjQ3
MDAwQjA4MjUgLyogU1ZHICovLAorCQkJCTQxN0RBNzEyMTM3MzVEOTAwMDdDNTdGQiAvKiBUZXN0
aW5nICovLAogCQkJCUUxQzhCRTRCMEU4QkQwRDEwMDY0Q0I3RCAvKiBUaHJlYWRzICovLAogCQkJ
CUJDOTg1NDUzMENEM0RBOEYwMDA2OUJDMSAvKiBUcmF2ZXJzYWwgKi8sCiAJCQkJRkRBMTVFN0Ix
MkIwM0UwNDAwM0E1ODNBIC8qIFdlYkF1ZGlvICovLApAQCAtMTMzMTAsNiArMTMzNzIsNyBAQAog
CQkJCTQ0OTA5OEIxMEY4RjgyNTIwMDc2QTMyNyAvKiBGZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyAq
LywKIAkJCQkxQzkwNERGOTBCQTlEMkM4MDA4MUU5RDAgLyogVmVyc2lvbi54Y2NvbmZpZyAqLywK
IAkJCQkxQ0RENDVFNTBCQTlDODQ2MDBGOTAxNDcgLyogV2ViQ29yZS54Y2NvbmZpZyAqLywKKwkJ
CQk0MTgxNzA3RDEzODZFREYyMDA1N0FBQTQgLyogV2ViQ29yZVRlc3RTdXBwb3J0LnhjY29uZmln
ICovLAogCQkJKTsKIAkJCXBhdGggPSBDb25maWd1cmF0aW9uczsKIAkJCXNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7CkBAIC0xMzQ5Nyw2ICsxMzU2MCwzNSBAQAogCQkJcGF0aCA9IHNoYWRvdzsKIAkJ
CXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCTQxN0RBNENEMTM3MzQyMDQwMDdDNTdG
QiAvKiB0ZXN0aW5nICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgK
KwkJCQk0MTgxNUMxQjEzODMxOTYzMDA1N0FBQTQgLyoganMgKi8sCisJCQkJNDE3REE0Q0YxMzcz
NDMyNjAwN0M1N0ZCIC8qIEludGVybmFscy5jcHAgKi8sCisJCQkJNDE3REE0Q0UxMzczNDMyNjAw
N0M1N0ZCIC8qIEludGVybmFscy5oICovLAorCQkJCTQxODEzRjkxMTM4MThBRDYwMDU3QUFBNCAv
KiBJbnRlcm5hbHMuaWRsICovLAorCQkJKTsKKwkJCXBhdGggPSB0ZXN0aW5nOworCQkJc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKKwkJNDE3REE3MTIxMzczNUQ5MDAwN0M1N0ZCIC8qIFRl
c3RpbmcgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTQx
N0RBNzFCMTM3MzVERkEwMDdDNTdGQiAvKiBKU0ludGVybmFscy5jcHAgKi8sCisJCQkJNDE3REE3
MUMxMzczNURGQTAwN0M1N0ZCIC8qIEpTSW50ZXJuYWxzLmggKi8sCisJCQkpOworCQkJbmFtZSA9
IFRlc3Rpbmc7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OworCQk0MTgxNUMxQjEz
ODMxOTYzMDA1N0FBQTQgLyoganMgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxk
cmVuID0gKAorCQkJCTQxODE1QzFDMTM4MzE5ODMwMDU3QUFBNCAvKiBXZWJDb3JlVGVzdFN1cHBv
cnQuY3BwICovLAorCQkJCTQxODE1QzFEMTM4MzE5ODMwMDU3QUFBNCAvKiBXZWJDb3JlVGVzdFN1
cHBvcnQuaCAqLywKKwkJCSk7CisJCQlwYXRoID0ganM7CisJCQlzb3VyY2VUcmVlID0gIjxncm91
cD4iOworCQl9OwogCQk0MzkwNDZDMjEyREEyNUNFMDBBRjgwQTIgLyogbWF0aG1sICovID0gewog
CQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAgLTE5Nzc0LDYgKzE5ODY2LDE2
IEBACiAvKiBFbmQgUEJYR3JvdXAgc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhIZWFkZXJzQnVp
bGRQaGFzZSBzZWN0aW9uICovCisJCTQxN0RBNkNDMTM3MzRFMDIwMDdDNTdGQiAvKiBIZWFkZXJz
ICovID0geworCQkJaXNhID0gUEJYSGVhZGVyc0J1aWxkUGhhc2U7CisJCQlidWlsZEFjdGlvbk1h
c2sgPSAyMTQ3NDgzNjQ3OworCQkJZmlsZXMgPSAoCisJCQkJNDE3REE2REExMzczNEU2RTAwN0M1
N0ZCIC8qIEludGVybmFscy5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDE3REE3MUUxMzczNURGQTAw
N0M1N0ZCIC8qIEpTSW50ZXJuYWxzLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MTgxNUMxRjEzODMx
OTgzMDA1N0FBQTQgLyogV2ViQ29yZVRlc3RTdXBwb3J0LmggaW4gSGVhZGVycyAqLywKKwkJCSk7
CisJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKKwkJfTsKIAkJOTNG
MTk4QTYwODI0NUU1OTAwMUU5QUJDIC8qIEhlYWRlcnMgKi8gPSB7CiAJCQlpc2EgPSBQQlhIZWFk
ZXJzQnVpbGRQaGFzZTsKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CkBAIC0yMjg4
MCw2ICsyMjk4MiwyNCBAQAogLyogRW5kIFBCWEhlYWRlcnNCdWlsZFBoYXNlIHNlY3Rpb24gKi8K
IAogLyogQmVnaW4gUEJYTmF0aXZlVGFyZ2V0IHNlY3Rpb24gKi8KKwkJNDE3REE2Q0YxMzczNEUw
MjAwN0M1N0ZCIC8qIFdlYkNvcmVUZXN0U3VwcG9ydCAqLyA9IHsKKwkJCWlzYSA9IFBCWE5hdGl2
ZVRhcmdldDsKKwkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSA0MTdEQTZEODEzNzM0RTQ3MDA3
QzU3RkIgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhOYXRpdmVUYXJnZXQgIldl
YkNvcmVUZXN0U3VwcG9ydCIgKi87CisJCQlidWlsZFBoYXNlcyA9ICgKKwkJCQk0MTdEQTZDQzEz
NzM0RTAyMDA3QzU3RkIgLyogSGVhZGVycyAqLywKKwkJCQk0MTdEQTZDRDEzNzM0RTAyMDA3QzU3
RkIgLyogU291cmNlcyAqLywKKwkJCQk0MTdEQTZDRTEzNzM0RTAyMDA3QzU3RkIgLyogRnJhbWV3
b3JrcyAqLywKKwkJCSk7CisJCQlidWlsZFJ1bGVzID0gKAorCQkJKTsKKwkJCWRlcGVuZGVuY2ll
cyA9ICgKKwkJCQk0MTdEQTZENTEzNzM0RTBEMDA3QzU3RkIgLyogUEJYVGFyZ2V0RGVwZW5kZW5j
eSAqLywKKwkJCSk7CisJCQluYW1lID0gV2ViQ29yZVRlc3RTdXBwb3J0OworCQkJcHJvZHVjdE5h
bWUgPSBXZWJDb3JlVGVzdFN1cHBvcnQ7CisJCQlwcm9kdWN0UmVmZXJlbmNlID0gNDE3REE2RDAx
MzczNEUwMjAwN0M1N0ZCIC8qIFdlYkNvcmVUZXN0U3VwcG9ydC5keWxpYiAqLzsKKwkJCXByb2R1
Y3RUeXBlID0gImNvbS5hcHBsZS5wcm9kdWN0LXR5cGUubGlicmFyeS5keW5hbWljIjsKKwkJfTsK
IAkJNUQ4N0JCNEUxMUUzRUFFQjAwNzAyQjZGIC8qIFdlYkNvcmVFeHBvcnRGaWxlR2VuZXJhdG9y
ICovID0gewogCQkJaXNhID0gUEJYTmF0aXZlVGFyZ2V0OwogCQkJYnVpbGRDb25maWd1cmF0aW9u
TGlzdCA9IDVEODdCQjU5MTFFM0VCMDcwMDcwMkI2RiAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxp
c3QgZm9yIFBCWE5hdGl2ZVRhcmdldCAiV2ViQ29yZUV4cG9ydEZpbGVHZW5lcmF0b3IiICovOwpA
QCAtMjI5NDksMTAgKzIzMDY5LDEyIEBACiAJCQlwcm9qZWN0RGlyUGF0aCA9ICIiOwogCQkJcHJv
amVjdFJvb3QgPSAiIjsKIAkJCXRhcmdldHMgPSAoCisJCQkJNDE4MTZGNzkxMzg1OUM1NTAwNTdB
QUE0IC8qIEFsbCAqLywKIAkJCQk5M0YxOThBNTA4MjQ1RTU5MDAxRTlBQkMgLyogV2ViQ29yZSAq
LywKIAkJCQlERDA0MUZCRTA5RDlEREJFMDAxMEFGMkEgLyogRGVyaXZlZCBTb3VyY2VzICovLAog
CQkJCTVEODdCQjRFMTFFM0VBRUIwMDcwMkI2RiAvKiBXZWJDb3JlRXhwb3J0RmlsZUdlbmVyYXRv
ciAqLywKIAkJCQk1RDg3QkI2NDExRTNFQkMxMDA3MDJCNkYgLyogV2ViQ29yZUV4cG9ydEZpbGVH
ZW5lcmF0b3IgR2VuZXJhdG9yICovLAorCQkJCTQxN0RBNkNGMTM3MzRFMDIwMDdDNTdGQiAvKiBX
ZWJDb3JlVGVzdFN1cHBvcnQgKi8sCiAJCQkpOwogCQl9OwogLyogRW5kIFBCWFByb2plY3Qgc2Vj
dGlvbiAqLwpAQCAtMjMxNjMsNiArMjMyODUsMTYgQEAKIC8qIEVuZCBQQlhTaGVsbFNjcmlwdEJ1
aWxkUGhhc2Ugc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhTb3VyY2VzQnVpbGRQaGFzZSBzZWN0
aW9uICovCisJCTQxN0RBNkNEMTM3MzRFMDIwMDdDNTdGQiAvKiBTb3VyY2VzICovID0geworCQkJ
aXNhID0gUEJYU291cmNlc0J1aWxkUGhhc2U7CisJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgz
NjQ3OworCQkJZmlsZXMgPSAoCisJCQkJNDE3REE2RDkxMzczNEU2RTAwN0M1N0ZCIC8qIEludGVy
bmFscy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk0MTdEQTcxRDEzNzM1REZBMDA3QzU3RkIgLyog
SlNJbnRlcm5hbHMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNDE4MTVDMUUxMzgzMTk4MzAwNTdB
QUE0IC8qIFdlYkNvcmVUZXN0U3VwcG9ydC5jcHAgaW4gU291cmNlcyAqLywKKwkJCSk7CisJCQly
dW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKKwkJfTsKIAkJNUQ4N0JCNEMx
MUUzRUFFQjAwNzAyQjZGIC8qIFNvdXJjZXMgKi8gPSB7CiAJCQlpc2EgPSBQQlhTb3VyY2VzQnVp
bGRQaGFzZTsKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CkBAIC0yNTU1OCw2ICsy
NTY5MCwyMSBAQAogLyogRW5kIFBCWFNvdXJjZXNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KIAogLyog
QmVnaW4gUEJYVGFyZ2V0RGVwZW5kZW5jeSBzZWN0aW9uICovCisJCTQxN0RBNkQ1MTM3MzRFMEQw
MDdDNTdGQiAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovID0geworCQkJaXNhID0gUEJYVGFyZ2V0
RGVwZW5kZW5jeTsKKwkJCXRhcmdldCA9IDkzRjE5OEE1MDgyNDVFNTkwMDFFOUFCQyAvKiBXZWJD
b3JlICovOworCQkJdGFyZ2V0UHJveHkgPSA0MTdEQTZENDEzNzM0RTBEMDA3QzU3RkIgLyogUEJY
Q29udGFpbmVySXRlbVByb3h5ICovOworCQl9OworCQk0MTgxNkY4MzEzODU5QzdBMDA1N0FBQTQg
LyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLyA9IHsKKwkJCWlzYSA9IFBCWFRhcmdldERlcGVuZGVu
Y3k7CisJCQl0YXJnZXQgPSA5M0YxOThBNTA4MjQ1RTU5MDAxRTlBQkMgLyogV2ViQ29yZSAqLzsK
KwkJCXRhcmdldFByb3h5ID0gNDE4MTZGODIxMzg1OUM3QTAwNTdBQUE0IC8qIFBCWENvbnRhaW5l
ckl0ZW1Qcm94eSAqLzsKKwkJfTsKKwkJNDE4MTZGODUxMzg1OUM3RDAwNTdBQUE0IC8qIFBCWFRh
cmdldERlcGVuZGVuY3kgKi8gPSB7CisJCQlpc2EgPSBQQlhUYXJnZXREZXBlbmRlbmN5OworCQkJ
dGFyZ2V0ID0gNDE3REE2Q0YxMzczNEUwMjAwN0M1N0ZCIC8qIFdlYkNvcmVUZXN0U3VwcG9ydCAq
LzsKKwkJCXRhcmdldFByb3h5ID0gNDE4MTZGODQxMzg1OUM3RDAwNTdBQUE0IC8qIFBCWENvbnRh
aW5lckl0ZW1Qcm94eSAqLzsKKwkJfTsKIAkJNUQ4N0JCNkIxMUUzRUJEMjAwNzAyQjZGIC8qIFBC
WFRhcmdldERlcGVuZGVuY3kgKi8gPSB7CiAJCQlpc2EgPSBQQlhUYXJnZXREZXBlbmRlbmN5Owog
CQkJdGFyZ2V0ID0gNUQ4N0JCNjQxMUUzRUJDMTAwNzAyQjZGIC8qIFdlYkNvcmVFeHBvcnRGaWxl
R2VuZXJhdG9yIEdlbmVyYXRvciAqLzsKQEAgLTI1NjYxLDYgKzI1ODA4LDQ4IEBACiAJCQl9Owog
CQkJbmFtZSA9IFByb2R1Y3Rpb247CiAJCX07CisJCTQxN0RBNkQxMTM3MzRFMDIwMDdDNTdGQiAv
KiBEZWJ1ZyAqLyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOworCQkJYmFzZUNv
bmZpZ3VyYXRpb25SZWZlcmVuY2UgPSA0MTgxNzA3RDEzODZFREYyMDA1N0FBQTQgLyogV2ViQ29y
ZVRlc3RTdXBwb3J0LnhjY29uZmlnICovOworCQkJYnVpbGRTZXR0aW5ncyA9IHsKKwkJCX07CisJ
CQluYW1lID0gRGVidWc7CisJCX07CisJCTQxN0RBNkQyMTM3MzRFMDIwMDdDNTdGQiAvKiBSZWxl
YXNlICovID0geworCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CisJCQliYXNlQ29uZmln
dXJhdGlvblJlZmVyZW5jZSA9IDQxODE3MDdEMTM4NkVERjIwMDU3QUFBNCAvKiBXZWJDb3JlVGVz
dFN1cHBvcnQueGNjb25maWcgKi87CisJCQlidWlsZFNldHRpbmdzID0geworCQkJfTsKKwkJCW5h
bWUgPSBSZWxlYXNlOworCQl9OworCQk0MTdEQTZEMzEzNzM0RTAyMDA3QzU3RkIgLyogUHJvZHVj
dGlvbiAqLyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOworCQkJYmFzZUNvbmZp
Z3VyYXRpb25SZWZlcmVuY2UgPSA0MTgxNzA3RDEzODZFREYyMDA1N0FBQTQgLyogV2ViQ29yZVRl
c3RTdXBwb3J0LnhjY29uZmlnICovOworCQkJYnVpbGRTZXR0aW5ncyA9IHsKKwkJCX07CisJCQlu
YW1lID0gUHJvZHVjdGlvbjsKKwkJfTsKKwkJNDE4MTZGN0ExMzg1OUM1NjAwNTdBQUE0IC8qIERl
YnVnICovID0geworCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CisJCQlidWlsZFNldHRp
bmdzID0geworCQkJCVBST0RVQ1RfTkFNRSA9IEFsbDsKKwkJCX07CisJCQluYW1lID0gRGVidWc7
CisJCX07CisJCTQxODE2RjdCMTM4NTlDNTYwMDU3QUFBNCAvKiBSZWxlYXNlICovID0geworCQkJ
aXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CisJCQlidWlsZFNldHRpbmdzID0geworCQkJCVBS
T0RVQ1RfTkFNRSA9IEFsbDsKKwkJCX07CisJCQluYW1lID0gUmVsZWFzZTsKKwkJfTsKKwkJNDE4
MTZGN0MxMzg1OUM1NjAwNTdBQUE0IC8qIFByb2R1Y3Rpb24gKi8gPSB7CisJCQlpc2EgPSBYQ0J1
aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQkJUFJPRFVDVF9OQU1F
ID0gQWxsOworCQkJfTsKKwkJCW5hbWUgPSBQcm9kdWN0aW9uOworCQl9OwogCQk1RDg3QkI1MTEx
RTNFQUVCMDA3MDJCNkYgLyogRGVidWcgKi8gPSB7CiAJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJh
dGlvbjsKIAkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gMUNERDQ1RTUwQkE5Qzg0NjAw
RjkwMTQ3IC8qIFdlYkNvcmUueGNjb25maWcgKi87CkBAIC0yNTc2Niw2ICsyNTk1NSwyNiBAQAog
CQkJZGVmYXVsdENvbmZpZ3VyYXRpb25Jc1Zpc2libGUgPSAwOwogCQkJZGVmYXVsdENvbmZpZ3Vy
YXRpb25OYW1lID0gUHJvZHVjdGlvbjsKIAkJfTsKKwkJNDE3REE2RDgxMzczNEU0NzAwN0M1N0ZC
IC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYTmF0aXZlVGFyZ2V0ICJXZWJDb3Jl
VGVzdFN1cHBvcnQiICovID0geworCQkJaXNhID0gWENDb25maWd1cmF0aW9uTGlzdDsKKwkJCWJ1
aWxkQ29uZmlndXJhdGlvbnMgPSAoCisJCQkJNDE3REE2RDExMzczNEUwMjAwN0M1N0ZCIC8qIERl
YnVnICovLAorCQkJCTQxN0RBNkQyMTM3MzRFMDIwMDdDNTdGQiAvKiBSZWxlYXNlICovLAorCQkJ
CTQxN0RBNkQzMTM3MzRFMDIwMDdDNTdGQiAvKiBQcm9kdWN0aW9uICovLAorCQkJKTsKKwkJCWRl
ZmF1bHRDb25maWd1cmF0aW9uSXNWaXNpYmxlID0gMDsKKwkJCWRlZmF1bHRDb25maWd1cmF0aW9u
TmFtZSA9IFByb2R1Y3Rpb247CisJCX07CisJCTQxODE2RjgxMTM4NTlDNjQwMDU3QUFBNCAvKiBC
dWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWEFnZ3JlZ2F0ZVRhcmdldCAiQWxsIiAqLyA9
IHsKKwkJCWlzYSA9IFhDQ29uZmlndXJhdGlvbkxpc3Q7CisJCQlidWlsZENvbmZpZ3VyYXRpb25z
ID0gKAorCQkJCTQxODE2RjdBMTM4NTlDNTYwMDU3QUFBNCAvKiBEZWJ1ZyAqLywKKwkJCQk0MTgx
NkY3QjEzODU5QzU2MDA1N0FBQTQgLyogUmVsZWFzZSAqLywKKwkJCQk0MTgxNkY3QzEzODU5QzU2
MDA1N0FBQTQgLyogUHJvZHVjdGlvbiAqLywKKwkJCSk7CisJCQlkZWZhdWx0Q29uZmlndXJhdGlv
bklzVmlzaWJsZSA9IDA7CisJCQlkZWZhdWx0Q29uZmlndXJhdGlvbk5hbWUgPSBQcm9kdWN0aW9u
OworCQl9OwogCQk1RDg3QkI1OTExRTNFQjA3MDA3MDJCNkYgLyogQnVpbGQgY29uZmlndXJhdGlv
biBsaXN0IGZvciBQQlhOYXRpdmVUYXJnZXQgIldlYkNvcmVFeHBvcnRGaWxlR2VuZXJhdG9yIiAq
LyA9IHsKIAkJCWlzYSA9IFhDQ29uZmlndXJhdGlvbkxpc3Q7CiAJCQlidWlsZENvbmZpZ3VyYXRp
b25zID0gKApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XcmFw
cGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV3JhcHBlci5jcHAKaW5k
ZXggNjBjMGVkMWIyNTFhM2M2MzczMzFkYjRiNWIzNzNlNmZkNzUyODZlZi4uMTI1ZmIyYTVmNzlk
NWM0NmIyOGY0MzY4NWQzOTk0ZmRhZmY2MzQyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNET01XcmFwcGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0RPTVdyYXBwZXIuY3BwCkBAIC0zMiwxMiArMzIsOSBAQCB1c2luZyBuYW1lc3BhY2Ug
SlNDOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSNpZm5kZWYgTkRFQlVHCi0KLUpTRE9NV3Jh
cHBlcjo6fkpTRE9NV3JhcHBlcigpCit2b2lkIEpTRE9NV3JhcHBlcjo6bm9XZWFrVnRhYmxlKCkK
IHsKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIAotI2VuZGlmCi0KIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9N
V3JhcHBlci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XcmFwcGVyLmgKaW5k
ZXggMmY1YmViZDZlZmVlMWNjNmY1OGFlMjk4MjQ5MDI3YTlmYzFhNTRmMy4uNTdmYTIzMzAzMmIz
M2M2MmRmYWY2MzdlY2IzODRiM2U3NjJjYmE3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNET01XcmFwcGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNET01XcmFwcGVyLmgKQEAgLTQ4LDYgKzQ4LDEwIEBAIHB1YmxpYzoKICAgICB9CiAKIHBy
b3RlY3RlZDoKKyAgICAvLyBBbiBpbmxpbmUgZnVuY3Rpb24gY2Fubm90IGJlIHRoZSBmaXJzdCBu
b24tYWJzdHJhY3QgdmlydHVhbCBmdW5jdGlvbiBkZWNsYXJlZAorICAgIC8vIGluIHRoZSBjbGFz
cyBhcyBpdCByZXN1bHRzIGluIHRoZSB2dGFibGUgYmVpbmcgZ2VuZXJhdGVkIGFzIGEgd2VhayBz
eW1ib2wuCisgICAgdmlydHVhbCB2b2lkIG5vV2Vha1Z0YWJsZSgpOworCiAgICAgZXhwbGljaXQg
SlNET01XcmFwcGVyKEpTQzo6U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTQzo6SlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCkgCiAgICAgICAgIDogSlNPYmplY3RXaXRoR2xvYmFsT2JqZWN0KGds
b2JhbE9iamVjdCwgc3RydWN0dXJlKQogICAgIHsKQEAgLTU2LDEwICs2MCw2IEBAIHByb3RlY3Rl
ZDoKICAgICAgICAgLy8gbmVlZGluZyB0byByZWFjaCB0aHJvdWdoIHRoZSBmcmFtZSB0byBnZXQg
dG8gdGhlIERvY3VtZW50Ki4gIFNlZSBidWcgMjc2NDAuCiAgICAgICAgIC8vIEFTU0VSVChnbG9i
YWxPYmplY3QtPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CiAgICAgfQotCi0jaWZuZGVmIE5E
RUJVRwotICAgIHZpcnR1YWwgfkpTRE9NV3JhcHBlcigpOwotI2VuZGlmCiB9OwogCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZDQ1Zjk2ZGNmYzg2MDZhODI5MDBjMzc5NGYzMDQ0NTI5MzkzZTA2MAotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtMCwwICsxLDQ0
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgor
ICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkludGVybmFscy5oIgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1Bhc3NSZWZQdHI8SW50ZXJuYWxzPiBJbnRlcm5hbHM6
OmNyZWF0ZSgpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBJbnRlcm5hbHMoKSk7Cit9CisK
K0ludGVybmFsczo6fkludGVybmFscygpCit7Cit9CisKK0ludGVybmFsczo6SW50ZXJuYWxzKCkK
K3sKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
aCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2JiZDli
OWMwM2I0OTJiZjFhYTQ0YzExMTNiNGIwYTYwZDNlOTRlNQotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
QU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
CisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpZm5kZWYgSW50ZXJuYWxzX2gKKyNkZWZpbmUgSW50ZXJuYWxzX2gKKworI2luY2x1ZGUgPHd0
Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitjbGFzcyBJbnRlcm5hbHMgOiBwdWJsaWMgUmVmQ291bnRlZDxJbnRlcm5h
bHM+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxJbnRlcm5hbHM+IGNyZWF0ZSgp
OworICAgIHZpcnR1YWwgfkludGVybmFscygpOworCitwcml2YXRlOgorICAgIEludGVybmFscygp
OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNTAxMWNlZjMyYzFiNzFmMDZkNzA3MmY5YjYw
ZDBjOTFiNDM0MDI5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuaWRsCkBAIC0wLDAgKzEsMjkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQor
ICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCittb2R1bGUgd2luZG93IHsKKyAg
ICBpbnRlcmZhY2UgW09taXRDb25zdHJ1Y3Rvcl0gSW50ZXJuYWxzIHsKKyAgICB9OworfQpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvanMvV2ViQ29yZVRlc3RTdXBwb3J0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvanMv
V2ViQ29yZVRlc3RTdXBwb3J0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYmM4M2I3ZGIxNTRmZDlhZmUxMzI0
YzllOTUzMjg5MzRiMjNiODMzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9qcy9XZWJDb3JlVGVzdFN1cHBvcnQuY3BwCkBAIC0wLDAgKzEsNDggQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFO
RCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAor
ICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
T1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2ViQ29yZVRlc3RTdXBwb3J0LmgiCisKKyNp
bmNsdWRlICJJbnRlcm5hbHMuaCIKKyNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdC5oIgorI2lu
Y2x1ZGUgIkpTSW50ZXJuYWxzLmgiCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvQVBJQ2FzdC5o
PgorI2luY2x1ZGUgPGludGVycHJldGVyL0NhbGxGcmFtZS5oPgorCit1c2luZyBuYW1lc3BhY2Ug
SlNDOwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK25hbWVzcGFjZSBXZWJDb3JlVGVzdFN1
cHBvcnQgeworCit2b2lkIGluamVjdEludGVybmFsc09iamVjdChKU0NvbnRleHRSZWYgY29udGV4
dCkKK3sKKyAgICBKU0xvY2sgbG9jayhTaWxlbmNlQXNzZXJ0aW9uc09ubHkpOworICAgIEV4ZWNT
dGF0ZSogZXhlYyA9IHRvSlMoY29udGV4dCk7CisgICAgSlNET01HbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCA9IHN0YXRpY19jYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZXhlYy0+bGV4aWNhbEds
b2JhbE9iamVjdCgpKTsKKyAgICBnbG9iYWxPYmplY3QtPnB1dERpcmVjdChleGVjLT5nbG9iYWxE
YXRhKCksIElkZW50aWZpZXIoZXhlYywgImludGVybmFscyIpLCB0b0pTKGV4ZWMsIGdsb2JhbE9i
amVjdCwgSW50ZXJuYWxzOjpjcmVhdGUoKSkpOworfQorCit9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL2pzL1dlYkNvcmVUZXN0U3VwcG9ydC5oIGIvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9qcy9XZWJDb3JlVGVzdFN1cHBvcnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NmQ3ZWQ0OWIzYmY3
Yjc2YTE0Y2Q1ODk4NjQ4YTFiZjM0YTAxMjZmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9qcy9XZWJDb3JlVGVzdFN1cHBvcnQuaApAQCAtMCwwICsxLDM3IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4g
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQK
KyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2lmbmRlZiBXZWJDb3JlVGVzdFN1cHBvcnRfaAorI2RlZmluZSBXZWJDb3JlVGVzdFN1
cHBvcnRfaAorCit0eXBlZGVmIGNvbnN0IHN0cnVjdCBPcGFxdWVKU0NvbnRleHQqIEpTQ29udGV4
dFJlZjsKKworbmFtZXNwYWNlIFdlYkNvcmVUZXN0U3VwcG9ydCB7CisKK3ZvaWQgaW5qZWN0SW50
ZXJuYWxzT2JqZWN0KEpTQ29udGV4dFJlZik7CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwor
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL3Y4L1dlYkNvcmVUZXN0
U3VwcG9ydC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL3Y4L1dlYkNvcmVUZXN0U3VwcG9y
dC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uOWFmOTM3NWI2ODM0MDk1MjAyYjhkYmUwYTY1YzFlZWZkN2Q1ODhk
YQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvdjgvV2ViQ29yZVRl
c3RTdXBwb3J0LmNwcApAQCAtMCwwICsxLDQ2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEx
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9S
UyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUK
KyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorI2luY2x1ZGUgIldlYkNvcmVUZXN0U3VwcG9ydC5oIgorCisjaW5jbHVkZSAiSW50ZXJuYWxz
LmgiCisjaW5jbHVkZSAiVjhJbnRlcm5hbHMuaCIKKworI2luY2x1ZGUgPHY4Lmg+CisKK3VzaW5n
IG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1lc3BhY2UgV2ViQ29yZVRlc3RTdXBwb3J0IHsKKwor
dm9pZCBpbmplY3RJbnRlcm5hbHNPYmplY3Qodjg6OkxvY2FsPHY4OjpDb250ZXh0PiBjb250ZXh0
KQoreworICAgIHY4OjpDb250ZXh0OjpTY29wZSBjb250ZXh0U2NvcGUoY29udGV4dCk7CisgICAg
djg6OkhhbmRsZVNjb3BlIHNjb3BlOworCisgICAgY29udGV4dC0+R2xvYmFsKCktPlNldCh2ODo6
U3RyaW5nOjpOZXcoImludGVybmFscyIpLCB0b1Y4KEludGVybmFsczo6Y3JlYXRlKCkpKTsKK30K
KworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy92OC9XZWJDb3JlVGVzdFN1
cHBvcnQuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvdjgvV2ViQ29yZVRlc3RTdXBwb3J0LmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uOWUzZDU4NzY3MDIzYmZjODk2ZDMxZjM4YzY5Yzg1ZTQ3YmMyMjZlOAotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvdjgvV2ViQ29yZVRlc3RTdXBw
b3J0LmgKQEAgLTAsMCArMSw0MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElT
IiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV2ViQ29yZVRlc3RTdXBwb3J0
X2gKKyNkZWZpbmUgV2ViQ29yZVRlc3RTdXBwb3J0X2gKKworbmFtZXNwYWNlIHY4IHsKK2NsYXNz
IENvbnRleHQ7Cit0ZW1wbGF0ZSA8Y2xhc3MgVD4gY2xhc3MgTG9jYWw7Cit9CisKK25hbWVzcGFj
ZSBXZWJDb3JlVGVzdFN1cHBvcnQgeworCit2b2lkIGluamVjdEludGVybmFsc09iamVjdCh2ODo6
TG9jYWw8djg6OkNvbnRleHQ+KTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggMmU1MWVlNmZjMDEzMDk5MzkxNDMzODQwYjll
MzkzYWFhMzIwZjVlMy4uZTViMTZkOWJkODk2Y2RkNWNlZjBlZWNiMjgxOTNhOGFlZTU0NjNiZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMS0wNS0yMSAg
RGltaXRyaSBHbGF6a292ICA8ZGdsYXprb3ZAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBidWlsZCBsb2dpc3RpY3MgYW5k
IHBsdW1iaW5nIGZvciB3aW5kb3cuaW50ZXJuYWxzIG9iamVjdC4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYwMzEzCisKKyAgICAgICAgKiBXZWJLaXQu
Z3lwOiBBZGRlZCBsaW5raW5nIG5ldyB3ZWJraXRfdGVzdF9zdXBwb3J0IGxpYnJhcnkuCisgICAg
ICAgICogcHVibGljL1dlYlRlc3RpbmdTdXBwb3J0Lmg6IEFkZGVkLgorICAgICAgICAqIHNyYy9X
ZWJUZXN0aW5nU3VwcG9ydC5jcHA6IEFkZGVkLgorCiAyMDExLTA1LTI0ICBNaWtoYWlsIE5hZ2Fu
b3YgIDxtbmFnYW5vdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgWXVyeSBT
ZW1pa2hhdHNreS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5
cCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cAppbmRleCBhYjEyNGVlYmY5OWRj
NzlhNjNiOTgyNzc2MDlkZDc1ZDI2NTY0NTE5Li5kNDIxZThiMTk3ZDczMzkwMjk4OGVhNjY4MzFm
NDQyNzhlMjI2MWRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5n
eXAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwCkBAIC02MDMsNiArNjAz
LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICdkZXBlbmRlbmNpZXMnOiBbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICcuLi8uLi9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwOndlYmNvcmVfYmluZGlu
Z3MnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLi4vLi4vV2ViQ29yZS9XZWJD
b3JlLmd5cC9XZWJDb3JlLmd5cDp3ZWJjb3JlX3Rlc3Rfc3VwcG9ydCcsCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICc8KGNocm9taXVtX3NyY19kaXIpL2Jhc2UvYmFzZS5neXA6dGVz
dF9zdXBwb3J0X2Jhc2UnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPChjaHJv
bWl1bV9zcmNfZGlyKS9idWlsZC90ZW1wX2d5cC9nb29nbGV1cmwuZ3lwOmdvb2dsZXVybCcsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8KGNocm9taXVtX3NyY19kaXIpL3Rlc3Rp
bmcvZ3Rlc3QuZ3lwOmd0ZXN0JywKQEAgLTYyNyw4ICs2MjgsMTUgQEAKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgJzwoY2hyb21pdW1fc3JjX2RpcikvYnVpbGQvdGVtcF9neXAvZ29v
Z2xldXJsLmd5cDpnb29nbGV1cmwnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn
PChjaHJvbWl1bV9zcmNfZGlyKS92OC90b29scy9neXAvdjguZ3lwOnY4JywKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICdpbmNsdWRl
X2RpcnMnOiBbCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgV0FSTklORzogRG8g
bm90IHZpZXcgdGhpcyBwYXJ0aWN1bGFyIGNhc2UgYXMgYSBwcmVjZWRlbnQgZm9yCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICMgaW5jbHVkaW5nIFdlYkNvcmUgaGVhZGVycyBpbiBE
dW1wUmVuZGVyVHJlZSBwcm9qZWN0LgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn
Li4vLi4vV2ViQ29yZS90ZXN0aW5nL3Y4JywgIyBmb3IgV2ViQ29yZVRlc3RTdXBwb3J0LmgsIG5l
ZWRlZCB0byBsaW5rIGluIHdpbmRvdy5pbnRlcm5hbHMgY29kZS4KKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzb3VyY2VzJzogWwog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPEAod2Via2l0X3VuaXR0ZXN0X2ZpbGVz
KScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzcmMvV2ViVGVzdGluZ1N1cHBv
cnQuY3BwJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJUZXN0
aW5nU3VwcG9ydC5oJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Rlc3RzL1dl
YlVuaXRUZXN0cy5jcHAnLCAgICMgQ29tcG9uZW50cyB0ZXN0IHJ1bm5lciBzdXBwb3J0LgogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
J3NvdXJjZXMhJzogWwpAQCAtMTA4OSw2ICsxMDk3LDIwIEBACiAgICAgICAgICAgICAgICAgICAg
ICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS93ZWJraXQvc3VwcG9ydC9zZXR1cF90aGlyZF9wYXJ0
eS5neXA6dGhpcmRfcGFydHlfaGVhZGVycycsCiAgICAgICAgICAgICAgICAgICAgIF0KICAgICAg
ICAgICAgICAgICB9XSwKKyAgICAgICAgICAgICAgICBbJ2NvbXBvbmVudCE9InNoYXJlZF9saWJy
YXJ5IicsIHsKKyAgICAgICAgICAgICAgICAgICAgJ2RlcGVuZGVuY2llcyc6IFsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICcuLi8uLi9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwOndl
YmNvcmVfdGVzdF9zdXBwb3J0JywKKyAgICAgICAgICAgICAgICAgICAgXSwKKyAgICAgICAgICAg
ICAgICAgICAgJ2luY2x1ZGVfZGlycyc6IFsKKyAgICAgICAgICAgICAgICAgICAgICAgICMgV0FS
TklORzogRG8gbm90IHZpZXcgdGhpcyBwYXJ0aWN1bGFyIGNhc2UgYXMgYSBwcmVjZWRlbnQgZm9y
CisgICAgICAgICAgICAgICAgICAgICAgICAjIGluY2x1ZGluZyBXZWJDb3JlIGhlYWRlcnMgaW4g
RHVtcFJlbmRlclRyZWUgcHJvamVjdC4KKyAgICAgICAgICAgICAgICAgICAgICAgICcuLi8uLi9X
ZWJDb3JlL3Rlc3RpbmcvdjgnLCAjIGZvciBXZWJDb3JlVGVzdFN1cHBvcnQuaCwgbmVlZGVkIHRv
IGxpbmsgaW4gd2luZG93LmludGVybmFscyBjb2RlLgorICAgICAgICAgICAgICAgICAgICBdLAor
ICAgICAgICAgICAgICAgICAgICAnc291cmNlcyc6IFsKKyAgICAgICAgICAgICAgICAgICAgICAg
ICdzcmMvV2ViVGVzdGluZ1N1cHBvcnQuY3BwJywKKyAgICAgICAgICAgICAgICAgICAgICAgICdw
dWJsaWMvV2ViVGVzdGluZ1N1cHBvcnQuaCcsCisgICAgICAgICAgICAgICAgICAgIF0sCisgICAg
ICAgICAgICAgICAgfV0sCiAgICAgICAgICAgICBdLAogICAgICAgICB9LAogICAgICAgICB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJUZXN0aW5nU3VwcG9y
dC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVGVzdGluZ1N1cHBvcnQuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5jZGY0NTU1YzMxMWRjNjkwMTZjYjk0ODUyMmY5MzFjZjZlYTk3NjIxCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVGVzdGluZ1N1
cHBvcnQuaApAQCAtMCwwICsxLDQyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2ds
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMg
SVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBXZWJUZXN0aW5nU3VwcG9y
dF9oCisjZGVmaW5lIFdlYlRlc3RpbmdTdXBwb3J0X2gKKworI2luY2x1ZGUgIldlYkNvbW1vbi5o
IgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgV2ViRnJhbWU7CisKK2NsYXNzIFdlYlRl
c3RpbmdTdXBwb3J0IHsKK3B1YmxpYzoKKyAgICBXRUJLSVRfQVBJIHN0YXRpYyB2b2lkIGluamVj
dEludGVybmFsc09iamVjdChXZWJGcmFtZSopOworfTsKKworfQorCisjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlRlc3RpbmdTdXBwb3J0LmNwcCBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlRlc3RpbmdTdXBwb3J0LmNwcApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yODE1OTg0ZjNkNDk4YzlmZTFjYzBhMTY4ZjQwODVhOTFmYWI1MDk0Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVGVzdGluZ1N1cHBvcnQuY3BwCkBA
IC0wLDAgKzEsNDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworIAorI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldl
YlRlc3RpbmdTdXBwb3J0LmgiCisKKyNpbmNsdWRlICJXZWJDb3JlVGVzdFN1cHBvcnQuaCIKKyNp
bmNsdWRlICJXZWJGcmFtZS5oIgorI2luY2x1ZGUgPHY4L2luY2x1ZGUvdjguaD4KKworbmFtZXNw
YWNlIFdlYktpdCB7CisKK3ZvaWQgV2ViVGVzdGluZ1N1cHBvcnQ6OmluamVjdEludGVybmFsc09i
amVjdChXZWJGcmFtZSogZnJhbWUpCit7CisgICAgdjg6OkhhbmRsZVNjb3BlIGhhbmRsZVNjb3Bl
OworICAgIFdlYkNvcmVUZXN0U3VwcG9ydDo6aW5qZWN0SW50ZXJuYWxzT2JqZWN0KGZyYW1lLT5t
YWluV29ybGRTY3JpcHRDb250ZXh0KCkpOworfQorCit9CmRpZmYgLS1naXQgYS9Ub29scy9DaGFu
Z2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNWM2ZjY4YjQxNzQ4MGY1ZTNjYzU0MjUxODY4
NDFiNTE0ZTFlZGMyYi4uZWUwNmY4Y2RjNTU1ZmJlZDk3YTI2YTlmZDA1MGZjYTI2Y2JkMGFmYiAx
MDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE2IEBACisyMDExLTA1LTIxICBEaW1pdHJpIEdsYXprb3YgIDxkZ2xhemtvdkBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkIGJ1aWxkIGxvZ2lzdGljcyBhbmQgcGx1bWJpbmcgZm9yIHdpbmRvdy5pbnRlcm5hbHMgb2Jq
ZWN0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjAz
MTMKKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6IEFkZGVkIGxpbmtpbmcgbmV3IFdlYkNvcmVUZXN0U3VwcG9ydCBsaWJy
YXJ5LgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5jcHA6Cisg
ICAgICAgIChUZXN0U2hlbGw6OmJpbmRKU09iamVjdHNUb1dpbmRvdyk6IEFkZGVkIGluamVjdGlv
biBjb2RlLgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9GcmFtZUxvYWREZWxlZ2F0ZS5t
bToKKyAgICAgICAgKC1bRnJhbWVMb2FkRGVsZWdhdGUgZGlkQ2xlYXJXaW5kb3dPYmplY3RJblN0
YW5kYXJkV29ybGRGb3JGcmFtZTpdKTogRGl0dG8uCisKIDIwMTEtMDUtMjQgIENzYWJhIE9zenRy
b2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBLZW5uZXRo
IFJvaGRlIENocmlzdGlhbnNlbi4KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0R1
bXBSZW5kZXJUcmVlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Ub29scy9EdW1wUmVuZGVy
VHJlZS9EdW1wUmVuZGVyVHJlZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDczNmEx
MDMwNjVlYTljY2UwZjVkMzI4ODMwZjQzZmExNDE0MzQ4ZDYuLmRiYmI5MzY0OGMxYThmMTE4NjYw
OThkMjFkOTFkYjc4Yjg5NTk3OGIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0R1
bXBSZW5kZXJUcmVlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvVG9vbHMvRHVtcFJl
bmRlclRyZWUvRHVtcFJlbmRlclRyZWUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNTYs
NiArNTYsOCBAQAogCQkzNzEzRURFMzExNUJFMTkzMDA3MDU3MjAgLyogQ29sb3JCaXRzLnR0ZiBp
biBDb3B5IEZvbnQgRmlsZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzcx
M0VERTAxMTVCRTE2RjAwNzA1NzIwIC8qIENvbG9yQml0cy50dGYgKi87IH07CiAJCTNBNTYyNkNC
MTMxQ0EwMkEwMDJCRTZEOSAvKiBTdG9yYWdlVHJhY2tlckRlbGVnYXRlLm1tIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gM0E1NjI2QzExMzFDOEIxNzAwMkJF
NkQ5IC8qIFN0b3JhZ2VUcmFja2VyRGVsZWdhdGUubW0gKi87IH07CiAJCTNBNTYyNkNDMTMxQ0Ew
MzYwMDJCRTZEOSAvKiBTdG9yYWdlVHJhY2tlckRlbGVnYXRlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzQTU2MjZDMDEzMUM4QjE3MDAyQkU2RDkgLyog
U3RvcmFnZVRyYWNrZXJEZWxlZ2F0ZS5oICovOyB9OworCQk0MTIzMEJBRDEzOEM0N0FFMDBCQ0NG
Q0EgLyogV2ViQ29yZVRlc3RTdXBwb3J0LmR5bGliIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEyMzBCQUExMzhDNDc3QTAwQkNDRkNBIC8qIFdlYkNv
cmVUZXN0U3VwcG9ydC5keWxpYiAqLzsgfTsKKwkJNDE3REFBMUQxMzdCM0UyNDAwN0M1N0ZCIC8q
IFdlYkNvcmVUZXN0U3VwcG9ydC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDE3REFBMUMxMzdCM0UyNDAwN0M1N0ZCIC8qIFdlYkNvcmVUZXN0U3VwcG9y
dC5oICovOyB9OwogCQk0NDA1OTA3MTEyNjg0NTM4MDBDRkQ0OEQgLyogV2ViQXJjaGl2ZUR1bXBT
dXBwb3J0TWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDQwNTkwNzAxMjY4NDUzODAwQ0ZENDhEIC8qIFdlYkFyY2hpdmVEdW1wU3VwcG9ydE1hYy5t
bSAqLzsgfTsKIAkJNDQzNzczMEUxMjVDQkMzNjAwQUFFMDJDIC8qIFdlYkFyY2hpdmVEdW1wU3Vw
cG9ydC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
NEE5OTc4MzBGQ0RFODY0MDA1ODBGMTAgLyogV2ViQXJjaGl2ZUR1bXBTdXBwb3J0LmNwcCAqLzsg
fTsKIAkJNDQzNzczMEYxMjVDQkM0RDAwQUFFMDJDIC8qIFdlYkFyY2hpdmVEdW1wU3VwcG9ydC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDRBOTk3ODIw
RkNERTg2NDAwNTgwRjEwIC8qIFdlYkFyY2hpdmVEdW1wU3VwcG9ydC5oICovOyB9OwpAQCAtMjQ1
LDYgKzI0Nyw5IEBACiAJCTM3NUYwOTc5MERBQzNDQjYwMEM4QjRFNSAvKiBXZWJLaXRXZWlnaHRX
YXRjaGVyOTAwLnR0ZiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IGZpbGU7IG5hbWUgPSBXZWJLaXRXZWlnaHRXYXRjaGVyOTAwLnR0ZjsgcGF0aCA9IGZv
bnRzL1dlYktpdFdlaWdodFdhdGNoZXI5MDAudHRmOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkzQTU2MjZDMDEzMUM4QjE3MDAyQkU2RDkgLyogU3RvcmFnZVRyYWNrZXJEZWxlZ2F0ZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdG9yYWdlVHJhY2tlckRlbGVnYXRl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTNBNTYyNkMxMTMxQzhCMTcwMDJCRTZE
OSAvKiBTdG9yYWdlVHJhY2tlckRlbGVnYXRlLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
b2JqY3BwOyBwYXRoID0gU3RvcmFnZVRyYWNrZXJEZWxlZ2F0ZS5tbTsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJNDEyMzBCQUExMzhDNDc3QTAwQkNDRkNBIC8qIFdlYkNvcmVUZXN0U3Vw
cG9ydC5keWxpYiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9ICJjb21waWxlZC5tYWNoLW8uZHlsaWIiOyBwYXRoID0gV2ViQ29yZVRlc3RTdXBwb3J0LmR5
bGliOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OworCQk0MTIzMERGNTEzOEM3
NTlFMDBCQ0NGQ0EgLyogV2ViQ29yZVRlc3RTdXBwb3J0LmR5bGliICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gImNvbXBpbGVkLm1hY2gtby5keWxpYiI7
IG5hbWUgPSBXZWJDb3JlVGVzdFN1cHBvcnQuZHlsaWI7IHBhdGggPSAvVm9sdW1lcy9Xb3JrL1dl
YktpdC9XZWJLaXRCdWlsZC9EZWJ1Zy9XZWJDb3JlVGVzdFN1cHBvcnQuZHlsaWI7IHNvdXJjZVRy
ZWUgPSAiPGFic29sdXRlPiI7IH07CisJCTQxN0RBQTFDMTM3QjNFMjQwMDdDNTdGQiAvKiBXZWJD
b3JlVGVzdFN1cHBvcnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV2ViQ29y
ZVRlc3RTdXBwb3J0Lmg7IHBhdGggPSBXZWJDb3JlVGVzdFN1cHBvcnQvV2ViQ29yZVRlc3RTdXBw
b3J0Lmg7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJCTQ0MDU5MDcwMTI2
ODQ1MzgwMENGRDQ4RCAvKiBXZWJBcmNoaXZlRHVtcFN1cHBvcnRNYWMubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBXZWJBcmNoaXZlRHVtcFN1cHBvcnRNYWMubW07
IHBhdGggPSBtYWMvV2ViQXJjaGl2ZUR1bXBTdXBwb3J0TWFjLm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk0NEE5OTc4MjBGQ0RFODY0MDA1ODBGMTAgLyogV2ViQXJjaGl2ZUR1bXBT
dXBwb3J0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdlYkFyY2hpdmVEdW1w
U3VwcG9ydC5oOyBwYXRoID0gY2YvV2ViQXJjaGl2ZUR1bXBTdXBwb3J0Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTQ0QTk5NzgzMEZDREU4NjQwMDU4MEYxMCAvKiBXZWJBcmNoaXZl
RHVtcFN1cHBvcnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gV2Vi
QXJjaGl2ZUR1bXBTdXBwb3J0LmNwcDsgcGF0aCA9IGNmL1dlYkFyY2hpdmVEdW1wU3VwcG9ydC5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0zNTksNiArMzY0LDcgQEAKIAkJCQlB
ODE3MDkwNDA4QjE2NEQzMDBDQ0I5RkIgLyogSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrIGluIEZy
YW1ld29ya3MgKi8sCiAJCQkJMjNCQ0I4OTAwRUE1NzYyMzAwM0M2Mjg5IC8qIE9wZW5HTC5mcmFt
ZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKIAkJCQk5MzQwOTk1MTA4NTQwQ0FFMDA3RjNCQzggLyog
V2ViS2l0LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAorCQkJCTQxMjMwQkFEMTM4QzQ3QUUw
MEJDQ0ZDQSAvKiBXZWJDb3JlVGVzdFN1cHBvcnQuZHlsaWIgaW4gRnJhbWV3b3JrcyAqLywKIAkJ
CSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAg
LTQwMyw5ICs0MDksMTEgQEAKIAkJCQlBOEI5MUFDNDBDRjNCMTcwMDA4RjkxRkYgLyogT2JqQ1Bs
dWdpbiAqLywKIAkJCQkxNDFCRjFGNTA5NkE0Mzk4MDBFMDc1M0MgLyogVGVzdE5ldHNjYXBlUGx1
Z0luICovLAogCQkJCTkzNDUyMjlCMEJEMTJCMkMwMDg2RURBMCAvKiBSZXNvdXJjZXMgKi8sCisJ
CQkJNDE3REE5MTgxMzczNjc0RDAwN0M1N0ZCIC8qIFdlYkNvcmVUZXN0U3VwcG9ydCAqLywKIAkJ
CQlBODAzRkY2NDA5Q0FBQ0MxMDA5QjJBMzcgLyogRnJhbWV3b3JrcyAqLywKIAkJCQk5MzQwOTk1
NTA4NTQwQ0FGMDA3RjNCQzggLyogUHJvZHVjdHMgKi8sCiAJCQkJQkNCMjgxRUQwQ0ZBNzExRDAw
N0U1MzNFIC8qIENvbmZpZ3VyYXRpb25zICovLAorCQkJCTQxMjMwREY1MTM4Qzc1OUUwMEJDQ0ZD
QSAvKiBXZWJDb3JlVGVzdFN1cHBvcnQuZHlsaWIgKi8sCiAJCQkpOwogCQkJbmFtZSA9IER1bXBS
ZW5kZXJUcmVlOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTUxNCw2ICs1MjIsMTUg
QEAKIAkJCXBhdGggPSBtYWM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OworCQk0
MTdEQTkxODEzNzM2NzREMDA3QzU3RkIgLyogV2ViQ29yZVRlc3RTdXBwb3J0ICovID0geworCQkJ
aXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk0MTdEQUExQzEzN0IzRTI0MDA3
QzU3RkIgLyogV2ViQ29yZVRlc3RTdXBwb3J0LmggKi8sCisJCQkJNDEyMzBCQUExMzhDNDc3QTAw
QkNDRkNBIC8qIFdlYkNvcmVUZXN0U3VwcG9ydC5keWxpYiAqLywKKwkJCSk7CisJCQluYW1lID0g
V2ViQ29yZVRlc3RTdXBwb3J0OworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIAkJ
OTM0MDk5NTUwODU0MENBRjAwN0YzQkM4IC8qIFByb2R1Y3RzICovID0gewogCQkJaXNhID0gUEJY
R3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAgLTY1OSw2ICs2NzYsNyBAQAogCQkJCUUxQjc4MTY3
MTFBRjMxQzMwMDdFMUJDMiAvKiBNb2NrR2VvbG9jYXRpb25Qcm92aWRlci5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMjlDRkJBMTAxMjI3MzZFNjAwQkMzMEMwIC8qIEFjY2Vzc2liaWxpdHlUZXh0TWFy
a2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQkzQTU2MjZDQzEzMUNBMDM2MDAyQkU2RDkgLyogU3Rv
cmFnZVRyYWNrZXJEZWxlZ2F0ZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDE3REFBMUQxMzdCM0Uy
NDAwN0M1N0ZCIC8qIFdlYkNvcmVUZXN0U3VwcG9ydC5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwog
CQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1n
aXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuY3BwIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmNwcAppbmRleCBlODhmNDBmOTA2MTE2
MjJkZWZiYmE4YjdhMzUzNTMxOTk3MTRhMmY0Li5kM2E1ODc2YjU4ODk0ZmIyZjYxNDgyNjk3Yzlj
Mzg3ZmRmODY0YjMzIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9U
ZXN0U2hlbGwuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVs
bC5jcHAKQEAgLTM5LDYgKzM5LDcgQEAKICNpbmNsdWRlICJXZWJFbGVtZW50LmgiCiAjaW5jbHVk
ZSAiV2ViRnJhbWUuaCIKICNpbmNsdWRlICJXZWJIaXN0b3J5SXRlbS5oIgorI2luY2x1ZGUgIldl
YlRlc3RpbmdTdXBwb3J0LmgiCiAjaW5jbHVkZSAiV2ViS2l0LmgiCiAjaW5jbHVkZSAiV2ViUnVu
dGltZUZlYXR1cmVzLmgiCiAjaW5jbHVkZSAiV2ViU2NyaXB0Q29udHJvbGxlci5oIgpAQCAtNTgw
LDYgKzU4MSw3IEBAIHZvaWQgVGVzdFNoZWxsOjpkdW1wSW1hZ2UoU2tDYW52YXMqIGNhbnZhcykg
Y29uc3QKIAogdm9pZCBUZXN0U2hlbGw6OmJpbmRKU09iamVjdHNUb1dpbmRvdyhXZWJGcmFtZSog
ZnJhbWUpCiB7CisgICAgV2ViVGVzdGluZ1N1cHBvcnQ6OmluamVjdEludGVybmFsc09iamVjdChm
cmFtZSk7CiAgICAgbV9hY2Nlc3NpYmlsaXR5Q29udHJvbGxlci0+YmluZFRvSmF2YXNjcmlwdChm
cmFtZSwgV2ViU3RyaW5nOjpmcm9tVVRGOCgiYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIiKSk7CiAg
ICAgbV9sYXlvdXRUZXN0Q29udHJvbGxlci0+YmluZFRvSmF2YXNjcmlwdChmcmFtZSwgV2ViU3Ry
aW5nOjpmcm9tVVRGOCgibGF5b3V0VGVzdENvbnRyb2xsZXIiKSk7CiAgICAgbV9ldmVudFNlbmRl
ci0+YmluZFRvSmF2YXNjcmlwdChmcmFtZSwgV2ViU3RyaW5nOjpmcm9tVVRGOCgiZXZlbnRTZW5k
ZXIiKSk7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRnJhbWVMb2FkRGVs
ZWdhdGUubW0gYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRnJhbWVMb2FkRGVsZWdhdGUubW0K
aW5kZXggMjc5MzlkZjk0Zjc5YzRmYWU1ZDRmMWE5OGRmZjhkZmNjOTEwNGNjNC4uN2M0YTVlY2Fk
OTZkZGNkMWRkODk2YmE4OTg4Y2JmYTRhMWMwODRjNiAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJl
bmRlclRyZWUvbWFjL0ZyYW1lTG9hZERlbGVnYXRlLm1tCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL21hYy9GcmFtZUxvYWREZWxlZ2F0ZS5tbQpAQCAtNDEsNiArNDEsNyBAQAogI2ltcG9ydCAi
T2JqQ1BsdWdpbkZ1bmN0aW9uLmgiCiAjaW1wb3J0ICJQbGFpblRleHRDb250cm9sbGVyLmgiCiAj
aW1wb3J0ICJUZXh0SW5wdXRDb250cm9sbGVyLmgiCisjaW1wb3J0ICJXZWJDb3JlVGVzdFN1cHBv
cnQuaCIKICNpbXBvcnQgIldvcmtRdWV1ZS5oIgogI2ltcG9ydCAiV29ya1F1ZXVlSXRlbS5oIgog
I2ltcG9ydCA8SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuaD4KQEAgLTI2Niw2ICsyNjcs
OCBAQAogICAgIGFjY2Vzc2liaWxpdHlDb250cm9sbGVyLT5tYWtlV2luZG93T2JqZWN0KGNvbnRl
eHQsIGdsb2JhbE9iamVjdCwgJmV4Y2VwdGlvbik7CiAgICAgQVNTRVJUKCFleGNlcHRpb24pOwog
CisgICAgV2ViQ29yZVRlc3RTdXBwb3J0OjppbmplY3RJbnRlcm5hbHNPYmplY3QoY29udGV4dCk7
CisKICAgICAvLyBNYWtlIE9sZC1TdHlsZSBjb250cm9sbGVycwogCiAgICAgV2ViVmlldyAqd2Vi
VmlldyA9IFtmcmFtZSB3ZWJWaWV3XTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>94716</attachid>
            <date>2011-05-24 16:58:46 -0700</date>
            <delta_ts>2011-06-03 14:24:38 -0700</delta_ts>
            <desc>Dylib approach EXTREME rebased to HEAD</desc>
            <filename>bug-60313-20110524165845.patch</filename>
            <type>text/plain</type>
            <size>65147</size>
            <attacher name="Dimitri Glazkov (Google)">dglazkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODcyMzEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAxM2E3YWIwMzc5YTcyZWJkZjgxYzJj
YjlkYzkwYTE5OGE4MTYzZGFiLi5hMmM0NmZlZDdkYTY4YjIzNTU4MGQ2YmQxNzcwZjRkMzA2ODIw
OWJmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTEtMDUtMjEgIERpbWl0cmkgR2xhemtvdiAg
PGRnbGF6a292QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGQgYnVpbGQgbG9naXN0aWNzIGFuZCBwbHVtYmluZyBmb3Igd2lu
ZG93LmludGVybmFscyBvYmplY3QuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD02MDMxMworCisgICAgICAgICogZmFzdC9kb20vV2luZG93L3NjcmlwdC10
ZXN0cy93aW5kb3ctcHJvcGVydHktZGVzY3JpcHRvcnMuanM6IEFkZGVkIGludGVybmFscyBvYmpl
Y3QgdG8gbGlzdCBvZiBwcm9wZXJ0aWVzIHRvIHNraXAuCisgICAgICAgICogZmFzdC9kb20vV2lu
ZG93L3dpbmRvdy1wcm9wZXJ0aWVzLmh0bWw6IERpdHRvLgorICAgICAgICAqIGZhc3QvZG9tL3Nj
cmlwdC10ZXN0cy9wcm90b3R5cGUtaW5oZXJpdGFuY2UtMi5qczogRGl0dG8uCisgICAgICAgICog
ZmFzdC9kb20vc2NyaXB0LXRlc3RzL3Byb3RvdHlwZS1pbmhlcml0YW5jZS5qczogRGl0dG8uCisg
ICAgICAgICogZmFzdC9oYXJuZXNzL2ludGVybmFscy1vYmplY3QtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L2hhcm5lc3MvaW50ZXJuYWxzLW9iamVjdC5odG1sOiBBZGRlZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvU2tpcHBlZDogU2tpcHBlZCB0aGUgbmV3bHkgYWRkZWQg
dGVzdCB1bnRpbCBwbGF0Zm9ybSBzdXBwb3J0cyB3aW5kb3cuaW50ZXJuYWxzLgorICAgICAgICAq
IHBsYXRmb3JtL21hYy13azIvU2tpcHBlZDogRGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vcXQv
U2tpcHBlZDogRGl0dG8uCisgICAgICAgICogcGxhdGZvcm0vd2luL1NraXBwZWQ6IERpdHRvLgor
CiAyMDExLTA1LTI0ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAg
IFJldmlld2VkIGJ5IFRvbnkgQ2hhbmcuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9XaW5kb3cvc2NyaXB0LXRlc3RzL3dpbmRvdy1wcm9wZXJ0eS1kZXNjcmlwdG9ycy5qcyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9zY3JpcHQtdGVzdHMvd2luZG93LXByb3BlcnR5LWRl
c2NyaXB0b3JzLmpzCmluZGV4IDUyYWRlM2FiYjE2MWEyZWE0NTNjNzI3YmZiMzE3YjU2MGMyNTA5
ZDYuLjAwNjA1YTliODQ3MWViZGFlMzRhZTllNTcxMjczZGU2M2M2ZDgwYjMgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9zY3JpcHQtdGVzdHMvd2luZG93LXByb3BlcnR5
LWRlc2NyaXB0b3JzLmpzCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9zY3JpcHQt
dGVzdHMvd2luZG93LXByb3BlcnR5LWRlc2NyaXB0b3JzLmpzCkBAIC0xOCw2ICsxOCw3IEBAIHZh
ciBfX3NraXBfXyA9IHsKICAgICAib2JqQ1BsdWdpbkZ1bmN0aW9uIiA6IDEsCiAgICAgInBsYWlu
VGV4dCIgOiAxLAogICAgICJ0ZXh0SW5wdXRDb250cm9sbGVyIiA6IDEsCisgICAgImludGVybmFs
cyIgOiAxLAogICAgIC8vIElnbm9yZSB0aGVzZSBwcm9wZXJ0aWVzIGJlY2F1c2UgdGhleSBkbyBu
b3QgZXhpc3QgaW4gYWxsIGltcGxlbWVudGF0aW9ucy4gVGhleSB3aWxsIGJlIHRlc3RlZCBzZXBh
cmF0ZWx5CiAgICAgIldlYkdMUmVuZGVyaW5nQ29udGV4dCIgOiAxLAogICAgICJXZWJHTEFjdGl2
ZUluZm8iIDogMSwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy93aW5k
b3ctcHJvcGVydGllcy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1w
cm9wZXJ0aWVzLmh0bWwKaW5kZXggNThlYWRmN2U4Y2IwOTYwODk4MmUxNWE5MzU0YTU4MjRmODE5
ZDRlYy4uM2YzMGU3MDA2MmMyMTVmNjI0OTdkMzc0MTk2ZTNjZDUzMjlmMGMxYyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L3dpbmRvdy1wcm9wZXJ0aWVzLmh0bWwKQEAg
LTYwLDYgKzYwLDcgQEAgdmFyIF9fc2tpcF9fID0gewogICAgICJ3aW5kb3cub2JqQ1BsdWdpbkZ1
bmN0aW9uIiA6IDEsCiAgICAgIndpbmRvdy5wbGFpblRleHQiIDogMSwKICAgICAid2luZG93LnRl
eHRJbnB1dENvbnRyb2xsZXIiIDogMSwKKyAgICAid2luZG93LmludGVybmFscyIgOiAxLAogICAg
IC8vIElnbm9yZSB0aGVzZSBwcm9wZXJ0aWVzIGJlY2F1c2UgdGhleSBkbyBub3QgZXhpc3QgaW4g
YWxsIGltcGxlbWVudGF0aW9ucy4gVGhleSB3aWxsIGJlIHRlc3RlZCBzZXBhcmF0ZWx5CiAgICAg
IndpbmRvdy5XZWJHTFJlbmRlcmluZ0NvbnRleHQiIDogMSwgCiAgICAgIndpbmRvdy5XZWJHTEFj
dGl2ZUluZm8iIDogMSwgCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zY3JpcHQt
dGVzdHMvcHJvdG90eXBlLWluaGVyaXRhbmNlLTIuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
Y3JpcHQtdGVzdHMvcHJvdG90eXBlLWluaGVyaXRhbmNlLTIuanMKaW5kZXggNDYyYjExOTkzMzhi
MTkyZTBjNDhjOWU4NjhkMzE1MTk0YTI1YjFiNC4uYjk4Mjc2YmYxYjg2Y2QyNDU1MDZmODZhNzNh
YmQ3Mjg0YjI0NjM3MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2NyaXB0LXRl
c3RzL3Byb3RvdHlwZS1pbmhlcml0YW5jZS0yLmpzCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NjcmlwdC10ZXN0cy9wcm90b3R5cGUtaW5oZXJpdGFuY2UtMi5qcwpAQCAtMTIsNiArMTIsNyBA
QCB2YXIgc2tpcHBlZFByb3BlcnRpZXMgPSBbCiAgICAgIm9iakNDb250cm9sbGVyIiwgInRleHRJ
bnB1dENvbnRyb2xsZXIiLCAibmF2aWdhdGlvbkNvbnRyb2xsZXIiLAogICAgICJldmVudFNlbmRl
ciIsICJvYmpDUGx1Z2luIiwgIm9iakNQbHVnaW5GdW5jdGlvbiIsCiAgICAgImFwcGxlU2NyaXB0
Q29udHJvbGxlciIsICJwbGFpblRleHQiLCAiYWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIiLAorICAg
ICJpbnRlcm5hbHMiLAogICAgIC8vIFNraXAgb3VyIHRlc3QgcHJvcGVydHkKICAgICAiaXNJbm5l
ciIsCiAgICAgLy8gSWdub3JlIGZvb0NvbnN0cnVjdG9yLnByb3RvdHlwZSwgZm9vSW5zdGFuY2Uu
X19wcm90b19fIGlzIG1vcmUgbGlrZWx5IHRvIGZhaWwuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zY3JpcHQtdGVzdHMvcHJvdG90eXBlLWluaGVyaXRhbmNlLmpzIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2NyaXB0LXRlc3RzL3Byb3RvdHlwZS1pbmhlcml0YW5jZS5qcwppbmRl
eCA0N2VhOWJlNGRlNzUxMWViNTBjNmFkYTU0ZjFlYmQ4ZWZiOWZlOGYxLi45YTU4MDBiZWE3ZDli
YzBmNDA5ODJhZGRlZDM2YTNiYWY2MWU0NTVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zY3JpcHQtdGVzdHMvcHJvdG90eXBlLWluaGVyaXRhbmNlLmpzCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3NjcmlwdC10ZXN0cy9wcm90b3R5cGUtaW5oZXJpdGFuY2UuanMKQEAgLTEy
LDYgKzEyLDcgQEAgdmFyIHNraXBwZWRQcm9wZXJ0aWVzID0gWwogICAgICJvYmpDQ29udHJvbGxl
ciIsICJ0ZXh0SW5wdXRDb250cm9sbGVyIiwgIm5hdmlnYXRpb25Db250cm9sbGVyIiwKICAgICAi
ZXZlbnRTZW5kZXIiLCAib2JqQ1BsdWdpbiIsICJvYmpDUGx1Z2luRnVuY3Rpb24iLAogICAgICJh
cHBsZVNjcmlwdENvbnRyb2xsZXIiLCAicGxhaW5UZXh0IiwgImFjY2Vzc2liaWxpdHlDb250cm9s
bGVyIiwKKyAgICAiaW50ZXJuYWxzIiwKICAgICAvLyBJZ25vcmUgdGhlc2UgcHJvcGVydGllcyBi
ZWNhdXNlIHRoZXkgZG8gbm90IGV4aXN0IGluIGFsbCBpbXBsZW1lbnRhdGlvbnMuIFRoZXkgd2ls
bCBiZSB0ZXN0ZWQgc2VwYXJhdGVseQogICAgICJ3ZWJraXROb3RpZmljYXRpb25zIiwKICAgICAi
d2Via2l0QXVkaW9QYW5uZXJOb2RlIiwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaGFy
bmVzcy9pbnRlcm5hbHMtb2JqZWN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvaGFy
bmVzcy9pbnRlcm5hbHMtb2JqZWN0LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZDlhYWFmNDg0
YjI1YzUxZGNmZWRkMDI1OTYwNjliOTNjYWYzYzBlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9oYXJuZXNzL2ludGVybmFscy1vYmplY3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEgQEAKK3dpbmRvdy5pbnRlcm5hbHMgb2JqZWN0IHNob3VsZCBiZSB2aXNpYmxlIHdoZW4gcnVu
bmluZyBpbiBEUlQ6IFBBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvaGFybmVzcy9p
bnRlcm5hbHMtb2JqZWN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2hhcm5lc3MvaW50ZXJuYWxz
LW9iamVjdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJiZWU3YmY0ZmYxN2MyYmMwMmQzMDI0ZTc3MmM4NWU1
ZjZkMTMyYTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2hhcm5lc3MvaW50
ZXJuYWxzLW9iamVjdC5odG1sCkBAIC0wLDAgKzEsMjMgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0PgorCitpZiAobGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xs
ZXIuZHVtcEFzVGV4dCgpOworCitmdW5jdGlvbiBydW5UZXN0KCkKK3sKKyAgICB2YXIgbG9nID0g
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKSk7
CisgICAgbG9nLndyaXRlID0gZnVuY3Rpb24obXNnLCBzdWNjZXNzKQorICAgIHsKKyAgICAgICAg
dGhpcy5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKSkudGV4dENvbnRl
bnQgPSBtc2cgKyAnOiAnICsgKHN1Y2Nlc3MgPyAnUEFTUycgOiAnRkFJTCcpOworICAgIH0KKwor
ICAgIGxvZy53cml0ZSgnd2luZG93LmludGVybmFscyBvYmplY3Qgc2hvdWxkIGJlIHZpc2libGUg
d2hlbiBydW5uaW5nIGluIERSVCcsICEhd2luZG93LmludGVybmFscyk7Cit9CisKKzwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorPC9ib2R5PgorPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2d0ay9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQKaW5kZXgg
MWVhMjI2YTJiNGM1YWU1YWJjZTg5NGJkN2Q3NTlhYzJmNDA5ZjUzYy4uOWUzNmY2MjRkYjliZDE4
ZWM4MDdhMzdjZGU1N2Q3MWUxNGI3MWIyNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vZ3RrL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQKQEAg
LTE0NDksNCArMTQ0OSw3IEBAIGh0dHAvdGVzdHMvbmF2aWdhdGlvbi9wb3N0LTMwNy1yZXNwb25z
ZS5odG1sCiBtZWRpYS92aWRlby1zcmMtaW52YWxpZC1wb3N0ZXIuaHRtbAogCiAjIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MTM5NgotZmFzdC9ldmVudHMvc2Nyb2xs
LWluLXNjYWxlZC1wYWdlLXdpdGgtb3ZlcmZsb3ctaGlkZGVuLmh0bWwKXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCitmYXN0L2V2ZW50cy9zY3JvbGwtaW4tc2NhbGVkLXBhZ2Utd2l0aC1vdmVy
Zmxvdy1oaWRkZW4uaHRtbAorCisjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD02MTA3MQorZmFzdC9oYXJuZXNzL2ludGVybmFscy1vYmplY3QuaHRtbApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjLXdrMi9Ta2lwcGVkCmluZGV4IDY5ZmM1ZjliNjRhNjUyOTkyYjgyYTZiY2Y2YTE4
NGQ5ZmM0ZWU3ODguLmU4MTFjYWVhMGZlYWVkNWJkNzYyNzZhNjJlYzJkY2JlOGMyMTg3ZjcgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvU2tpcHBlZAorKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1NraXBwZWQKQEAgLTE1MTMsNiArMTUxMyw5IEBAIHBs
dWdpbnMvcHJpdmF0ZS1icm93c2luZy1tb2RlLTIuaHRtbAogIyBodHRwOi8vd2Via2l0Lm9yZy9i
LzU4OTkwCiBlZGl0aW5nL3VuZG8vdW5kby1pZnJhbWUtbG9jYXRpb24tY2hhbmdlLmh0bWwKIAor
IyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjEwNzMKK2Zhc3QvaGFy
bmVzcy9pbnRlcm5hbHMtb2JqZWN0Lmh0bWwKKwogIyMjIEVORCBPRiAoMSkgQ2xhc3NpZmllZCBm
YWlsdXJlcyB3aXRoIGJ1ZyByZXBvcnRzCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCmluZGV4IDI3MDVkNWFiYWVlMTUzNWU4
OTlmYjZkNGM0Mzk2NDY3OTYxY2NlN2YuLjRkZGVhMWY0YzA2NDVjOTYyMTRmNDJjZTMwYmRmMjRj
MDMxMmRhYTEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZApAQCAtMjUyMSwzICsyNTIxLDYgQEAg
ZmFzdC9ldmVudHMvcmVtb3ZlLXRhcmdldC1pbi1tb3VzZXVwLmh0bWwKICMgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYxMzIyCiBmYXN0L2V2ZW50cy9zZWxlY3RzdGFy
dC1ieS1kb3VibGUtdHJpcGxlLWNsaWNrcy5odG1sCiBmYXN0L2V2ZW50cy9zZWxlY3RzdGFydC1i
eS1kcmFnLmh0bWwKKworIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NjEwNzQKK2Zhc3QvaGFybmVzcy9pbnRlcm5hbHMtb2JqZWN0Lmh0bWwKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3dpbi9Ta2lwcGVkIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2lu
L1NraXBwZWQKaW5kZXggN2I5MTlkMDRhNzU1MWU3YjJiMzMwODQzNjNlYmJjNzEwYTA2NjI3ZS4u
ZmQxMGMwNzM4ZjFlZTg3OGE3ZGI5NTI4YTUzNTc1MDhmMzUxNTJhOSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
d2luL1NraXBwZWQKQEAgLTEzMDIsMyArMTMwMiw2IEBAIGZhc3QvZXZlbnRzL3BhZ2UtdmlzaWJp
bGl0eS10cmFuc2l0aW9uLXRlc3QuaHRtbAogCiAjIFVuc2tpcCBhZnRlciBpbXBsZW1lbnRpbmcg
TGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldERlZmVyc0xvYWRpbmcgYW5kIDo6Z29CYWNrLgogbG9h
ZGVyL25hdmlnYXRpb24td2hpbGUtZGVmZXJyaW5nLWxvYWRzLmh0bWwKKworIyBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjEwNzYKK2Zhc3QvaGFybmVzcy9pbnRlcm5h
bHMtb2JqZWN0Lmh0bWwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBjMjUyNTQzM2M5N2RmODVhMzQyMTkyZmRiMTVk
YTM2ZmY2YTE4YTg4Li5jNDQ1MzdhMzkzNmQ1MzhmZjVjNDA0NTEyZDg0NzE1OGJiMTkxNjI5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTEtMDUtMjEgIERpbWl0cmkgR2xhemtvdiAg
PGRnbGF6a292QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGQgYnVpbGQgbG9naXN0aWNzIGFuZCBwbHVtYmluZyBmb3Igd2lu
ZG93LmludGVybmFscyBvYmplY3QuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD02MDMxMworCisgICAgICAgIFRlc3Q6IGZhc3QvaGFybmVzcy9pbnRlcm5h
bHMtb2JqZWN0Lmh0bWwKKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL1dlYkNvcmVUZXN0U3Vw
cG9ydC54Y2NvbmZpZzogQWRkZWQuCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZTogQWRk
ZWQgc3VwcG9ydCBmb3IgZ2VuZXJhdGluZyBmcm9tIEludGVybmFscy5pZGwuCisgICAgICAgICog
V2ViQ29yZS5neXAvV2ViQ29yZS5neXA6IEFkZGVkIG5ldyB3ZWJjb3JlX3Rlc3Rfc3VwcG9ydCBs
aWJyYXJ5LgorICAgICAgICAqIFdlYkNvcmUuZ3lwaTogRGl0dG8uCisgICAgICAgICogV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOiBBZGRlZCBXZWJDb3JlVGVzdFN1cHBvcnQgbGli
cmFyeS4KKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6IEFkZGVkLgorICAgICAgICAq
IHRlc3RpbmcvSW50ZXJuYWxzLmg6IEFkZGVkLgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxz
LmlkbDogQWRkZWQuCisgICAgICAgICogdGVzdGluZy9qcy9XZWJDb3JlVGVzdFN1cHBvcnQuY3Bw
OiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0aW5nL2pzL1dlYkNvcmVUZXN0U3VwcG9ydC5oOiBBZGRl
ZC4KKyAgICAgICAgKiB0ZXN0aW5nL3Y4L1dlYkNvcmVUZXN0U3VwcG9ydC5jcHA6IEFkZGVkLgor
ICAgICAgICAqIHRlc3RpbmcvdjgvV2ViQ29yZVRlc3RTdXBwb3J0Lmg6IEFkZGVkLgorCiAyMDEx
LTA1LTI0ICBEaW1pdHJpIEdsYXprb3YgIDxkZ2xhemtvdkBjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgU29ydGVkIFdlYkNvcmUueGNvZGVwcm9qIGFnYWluLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvQ29uZmlndXJhdGlvbnMvV2ViQ29yZS54Y2NvbmZpZyBiL1NvdXJjZS9XZWJDb3JlL0Nv
bmZpZ3VyYXRpb25zL1dlYkNvcmUueGNjb25maWcKaW5kZXggM2JhNzMxOTU5NzlhYjZmMmY2Njhk
YTAwMjMwMGI0MTI1ZGY1YWFmYS4uODgzOWFkZWNhZWM5YjdjMjQ5MzRmNDE3ODlkZjRkYTBiMTZk
YTg1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvV2ViQ29yZS54
Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9XZWJDb3JlLnhjY29u
ZmlnCkBAIC01MCw3ICs1MCw3IEBAIElOU1RBTExfUEFUSF9tYWNvc3ggPSAkKFNZU1RFTV9MSUJS
QVJZX0RJUikvRnJhbWV3b3Jrcy9XZWJLaXQuZnJhbWV3b3JrL1ZlcnNpb25zCiBJTlNUQUxMSERS
U19DT1BZX1BIQVNFID0gWUVTOwogSU5TVEFMTEhEUlNfU0NSSVBUX1BIQVNFID0gWUVTOwogUFJP
RFVDVF9OQU1FID0gV2ViQ29yZTsKLU9USEVSX0xERkxBR1NfQkFTRSA9IC1sJChTUUxJVEUzX0xJ
QlJBUlkpIC1sb2JqYyAtbEFOR0xFOworT1RIRVJfTERGTEFHU19CQVNFID0gLWwkKFNRTElURTNf
TElCUkFSWSkgLWxvYmpjIC1sQU5HTEUgLWFsbG93YWJsZV9jbGllbnQgV2ViQ29yZVRlc3RTdXBw
b3J0OwogT1RIRVJfTERGTEFHUyA9ICQoT1RIRVJfTERGTEFHU18kKFJFQUxfUExBVEZPUk1fTkFN
RSkpOwogT1RIRVJfTERGTEFHU19pcGhvbmVvcyA9ICQoT1RIRVJfTERGTEFHU19CQVNFKSAtZnJh
bWV3b3JrIENGTmV0d29yayAtZnJhbWV3b3JrIENvcmVGb3VuZGF0aW9uIC1mcmFtZXdvcmsgQ29y
ZUdyYXBoaWNzIC1mcmFtZXdvcmsgQ29yZVRleHQgLWZyYW1ld29yayBGb3VuZGF0aW9uIC1mcmFt
ZXdvcmsgR3JhcGhpY3NTZXJ2aWNlcyAtZnJhbWV3b3JrIEltYWdlSU8gLWZyYW1ld29yayBRdWFy
dHpDb3JlOwogT1RIRVJfTERGTEFHU19pcGhvbmVzaW11bGF0b3IgPSAkKE9USEVSX0xERkxBR1Nf
aXBob25lb3MpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvV2Vi
Q29yZVRlc3RTdXBwb3J0LnhjY29uZmlnIGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMv
V2ViQ29yZVRlc3RTdXBwb3J0LnhjY29uZmlnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdhNDA3NzkwMzk0ZjhkYTA5
NDY3ZDcxOTg3MjdiZjVjN2FkNTVlZmQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Db25maWd1cmF0aW9ucy9XZWJDb3JlVGVzdFN1cHBvcnQueGNjb25maWcKQEAgLTAsMCArMSwz
MCBAQAorLy8gQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisvLworLy8gUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisvLyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKy8vIGFyZSBtZXQ6CisvLyAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorLy8gICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorLy8gMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKy8vICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKy8vICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisvLworLy8gVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisvLyBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorLy8gSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisvLyBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorLy8g
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCisvLyBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisvLyBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKy8vIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
Ky8vIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorLy8gKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisvLyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKworI2luY2x1ZGUgIldl
YkNvcmUueGNjb25maWciCisKK1BSSVZBVEVfSEVBREVSU19GT0xERVJfUEFUSCA9IFdlYkNvcmVU
ZXN0U3VwcG9ydDsKK1BST0RVQ1RfTkFNRSA9IFdlYkNvcmVUZXN0U3VwcG9ydDsKK09USEVSX0xE
RkxBR1MgPSA7CitFWFBPUlRFRF9TWU1CT0xTX0ZJTEUgPSA7CitJTlNUQUxMX1BBVEggPSAkKEJV
SUxUX1BST0RVQ1RTX0RJUik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCA2ZDhk
NDhmZDZiYzdmNTJhMzBhNDNkNGU1OGRlNzhjYWU5OTU1Yzc0Li5lZTI3NTZmODc1M2Q1YmQ3N2Jm
MWYwZTk2YWExYWU4OGZkYjAzMmZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAg
LTQ2LDYgKzQ2LDcgQEAgVlBBVEggPSBcCiAgICAgJChXZWJDb3JlKS93ZWJhdWRpbyBcCiAgICAg
JChXZWJDb3JlKS93b3JrZXJzIFwKICAgICAkKFdlYkNvcmUpL3N2ZyBcCisgICAgJChXZWJDb3Jl
KS90ZXN0aW5nIFwKICAgICAkKFdlYkNvcmUpL3dlYnNvY2tldHMgXAogIwogCkBAIC0yOTAsNiAr
MjkxLDcgQEAgRE9NX0NMQVNTRVMgPSBcCiAgICAgSW1hZ2VEYXRhIFwKICAgICBJbmplY3RlZFNj
cmlwdEhvc3QgXAogICAgIEluc3BlY3RvckZyb250ZW5kSG9zdCBcCisgICAgSW50ZXJuYWxzIFwK
ICAgICBLZXlib2FyZEV2ZW50IFwKICAgICBMb2NhdGlvbiBcCiAgICAgTWVkaWFFcnJvciBcCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZXhwLmluCmluZGV4IGUwYTkyY2MyZTdiMGFhZjk2ODUxNDIxZjQxZTk2MDRiZDY4
NTVmZmYuLjUyYTliOTkwNGZhYmE4MWNkYTVjMzdmZmVkMjU5YmY1N2FjMzg4NTYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZXhwLmluCkBAIC0yNjMsNiArMjYzLDcgQEAgX19aTjdXZWJDb3JlMTJJY29uRGF0YWJh
c2UyN2NoZWNrSW50ZWdyaXR5QmVmb3JlT3BlbmluZ0V2CiBfX1pON1dlYkNvcmUxMkljb25EYXRh
YmFzZTVjbG9zZUV2CiBfX1pON1dlYkNvcmUxMkljb25EYXRhYmFzZTlzZXRDbGllbnRFUE5TXzE4
SWNvbkRhdGFiYXNlQ2xpZW50RQogX19aTjdXZWJDb3JlMTJJY29uRGF0YWJhc2VDMUV2CitfX1pO
N1dlYkNvcmUxMkpTRE9NV3JhcHBlcjEybm9XZWFrVnRhYmxlRXYKIF9fWk43V2ViQ29yZTEyUG9w
dXBNZW51TWFjQzFFUE5TXzE1UG9wdXBNZW51Q2xpZW50RQogX19aTjdXZWJDb3JlMTJQcmludENv
bnRleHQxMnBhZ2VQcm9wZXJ0eUVQTlNfNUZyYW1lRVBLY2kKIF9fWk43V2ViQ29yZTEyUHJpbnRD
b250ZXh0MTNudW1iZXJPZlBhZ2VzRVBOU181RnJhbWVFUktOU185RmxvYXRTaXplRQpAQCAtMTAx
NSw2ICsxMDE2LDggQEAgX19aTjdXZWJDb3JlOW1ha2VSYW5nZUVSS05TXzE1VmlzaWJsZVBvc2l0
aW9uRVMyXwogX19aTjdXZWJDb3JlOXBhZ2VDYWNoZUV2CiBfX1pON1dlYkNvcmU5cGxhaW5UZXh0
RVBLTlNfNVJhbmdlRU5TXzIwVGV4dEl0ZXJhdG9yQmVoYXZpb3JFCiBfX1pON1dlYkNvcmU5dG9F
bGVtZW50RU4zSlNDN0pTVmFsdWVFCitfX1pON1dlYkNvcmUxN2NhY2hlRE9NU3RydWN0dXJlRVBO
U18xN0pTRE9NR2xvYmFsT2JqZWN0RVBOM0pTQzlTdHJ1Y3R1cmVFUEtOUzJfOUNsYXNzSW5mb0UK
K19fWk43V2ViQ29yZTIxZ2V0Q2FjaGVkRE9NU3RydWN0dXJlRVBOU18xN0pTRE9NR2xvYmFsT2Jq
ZWN0RVBLTjNKU0M5Q2xhc3NJbmZvRQogX19aTkszSlNDOEJpbmRpbmdzMTBSb290T2JqZWN0MTJn
bG9iYWxPYmplY3RFdgogX19aTkszV1RGNlN0cmluZzE0Y3JlYXRlQ0ZTdHJpbmdFdgogX19aTks3
V2ViQ29yZTVGcmFtZTI2Z2V0RG9jdW1lbnRCYWNrZ3JvdW5kQ29sb3JFdgpAQCAtMTMwOSw2ICsx
MzEyLDcgQEAgX19aTks3V2ViQ29yZTlGcmFtZVZpZXcyOGlzRW5jbG9zZWRJbkNvbXBvc2l0aW5n
TGF5ZXJFdgogX19aTks3V2ViQ29yZTlQYWdlQ2FjaGUxMGZyYW1lQ291bnRFdgogX19aTks3V2Vi
Q29yZTlQYWdlQ2FjaGUyMWF1dG9yZWxlYXNlZFBhZ2VDb3VudEV2CiBfX1pUVk43V2ViQ29yZTEy
Q2hyb21lQ2xpZW50RQorX19aVFZON1dlYkNvcmUxMkpTRE9NV3JhcHBlckUKIF9fWlRWTjdXZWJD
b3JlMTZJY29uRGF0YWJhc2VCYXNlRQogX19aVFZON1dlYkNvcmUxN0ZpbGVDaG9vc2VyQ2xpZW50
RQogX19aVFZON1dlYkNvcmUxN0ZyYW1lTG9hZGVyQ2xpZW50RQpAQCAtMTY0MSw4ICsxNjQ1LDYg
QEAgX19aTjNKU0M4QmluZGluZ3M4SW5zdGFuY2VDMkVOM1dURjEwUGFzc1JlZlB0cklOUzBfMTBS
b290T2JqZWN0RUVFCiBfX1pOM0pTQzhCaW5kaW5nczhJbnN0YW5jZUQyRXYKIF9fWk43V2ViQ29y
ZTEzSWRlbnRpZmllclJlcDdpc1ZhbGlkRVBTMF8KIF9fWk43V2ViQ29yZTE2U2NyaXB0Q29udHJv
bGxlcjE2Y3JlYXRlUm9vdE9iamVjdEVQdgotX19aTjdXZWJDb3JlMTdjYWNoZURPTVN0cnVjdHVy
ZUVQTlNfMTdKU0RPTUdsb2JhbE9iamVjdEVQTjNKU0M5U3RydWN0dXJlRVBLTlMyXzlDbGFzc0lu
Zm9FCi1fX1pON1dlYkNvcmUyMWdldENhY2hlZERPTVN0cnVjdHVyZUVQTlNfMTdKU0RPTUdsb2Jh
bE9iamVjdEVQS04zSlNDOUNsYXNzSW5mb0UKIF9fWk5LM0pTQzhCaW5kaW5nczEzUnVudGltZU9i
amVjdDEyZGVmYXVsdFZhbHVlRVBOU185RXhlY1N0YXRlRU5TXzIyUHJlZmVycmVkUHJpbWl0aXZl
VHlwZUUKIF9fWlRWTjNKU0MxM1J1bnRpbWVNZXRob2RFCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXAvV2ViQ29yZS5neXAKaW5kZXggMDEzZjA0NDQyODU5ZmI5ZTYyMjNlM2M4NzJkM2U5
YTIyNDJkODc0MS4uMWVhMjMzNGM3ZWQ2M2Q3ZjNhOTZmOGQ4N2I5NDVhODQxYmU1YmRlNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAKKysrIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAKQEAgLTQ1Nyw2ICs0NTcsNyBAQAog
CiAgICAgICAgICMgaWRsIHJ1bGVzCiAgICAgICAgICc8QChiaW5kaW5nc19pZGxfZmlsZXMpJywK
KyAgICAgICAgJzxAKHdlYmNvcmVfdGVzdF9zdXBwb3J0X2lkbF9maWxlcyknLAogICAgICAgXSwK
ICAgICAgICdhY3Rpb25zJzogWwogICAgICAgICAjIEFjdGlvbnMgdG8gYnVpbGQgZGVyaXZlZCBz
b3VyY2VzLgpAQCAtODQ2LDYgKzg0Nyw3IEBACiAgICAgICAgICAgICAgICctLWluY2x1ZGUnLCAn
Li4vcGx1Z2lucycsCiAgICAgICAgICAgICAgICctLWluY2x1ZGUnLCAnLi4vc3RvcmFnZScsCiAg
ICAgICAgICAgICAgICctLWluY2x1ZGUnLCAnLi4vc3ZnJywKKyAgICAgICAgICAgICAgJy0taW5j
bHVkZScsICcuLi90ZXN0aW5nJywKICAgICAgICAgICAgICAgJy0taW5jbHVkZScsICcuLi93ZWJh
dWRpbycsCiAgICAgICAgICAgICAgICctLWluY2x1ZGUnLCAnLi4vd2Vic29ja2V0cycsCiAgICAg
ICAgICAgICAgICctLWluY2x1ZGUnLCAnLi4vd29ya2VycycsCkBAIC0xNzI3LDUgKzE3MjksMjkg
QEAKICAgICAgICAgfV0sCiAgICAgICBdLAogICAgIH0sCisgICAgeworICAgICAgJ3RhcmdldF9u
YW1lJzogJ3dlYmNvcmVfdGVzdF9zdXBwb3J0JywKKyAgICAgICd0eXBlJzogJ3N0YXRpY19saWJy
YXJ5JywKKyAgICAgICdkZXBlbmRlbmNpZXMnOiBbCisgICAgICAgICd3ZWJjb3JlJywKKyAgICAg
IF0sCisgICAgICAnaW5jbHVkZV9kaXJzJzogWworICAgICAgICAnPChJTlRFUk1FRElBVEVfRElS
KScsCisgICAgICAgICc8KFNIQVJFRF9JTlRFUk1FRElBVEVfRElSKS93ZWJjb3JlJywKKyAgICAg
ICAgJzwoU0hBUkVEX0lOVEVSTUVESUFURV9ESVIpL3dlYmtpdCcsCisgICAgICAgICc8KFNIQVJF
RF9JTlRFUk1FRElBVEVfRElSKS93ZWJraXQvYmluZGluZ3MnLAorICAgICAgICAnPEAod2ViY29y
ZV9pbmNsdWRlX2RpcnMpJywKKyAgICAgICAgJy4uL3Rlc3RpbmcnLAorICAgICAgICAnLi4vdGVz
dGluZy92OCcsCisgICAgICBdLAorICAgICAgJ3NvdXJjZXMnOiBbCisgICAgICAgICc8QCh3ZWJj
b3JlX3Rlc3Rfc3VwcG9ydF9maWxlcyknLAorICAgICAgICAnPChTSEFSRURfSU5URVJNRURJQVRF
X0RJUikvd2ViY29yZS9iaW5kaW5ncy9WOEludGVybmFscy5jcHAnLAorICAgICAgICAnPChTSEFS
RURfSU5URVJNRURJQVRFX0RJUikvd2Via2l0L2JpbmRpbmdzL1Y4SW50ZXJuYWxzLmgnLAorICAg
ICAgXSwKKyAgICAgICdzb3VyY2VzLyc6IFsKKyAgICAgICAgWydleGNsdWRlJywgJ3Rlc3Rpbmcv
anMnXSwKKyAgICAgIF0sCisgICAgfSwKICAgXSwgICMgdGFyZ2V0cwogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBp
CmluZGV4IDFkZWVlMzUxM2U0YmFhNDM2OWRjNWI5YmFkN2JjYmQzYWNhZmNhZDMuLmY3Y2YyOGJj
MTMxOTdiMzUxNmVhZmZiZGFmYTYzMjgzZmJhZTIyMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTYx
MDYsNiArNjEwNiwxNyBAQAogICAgICAgICAgICAgJ3htbC9YU0xUVW5pY29kZVNvcnQuY3BwJywK
ICAgICAgICAgICAgICd4bWwvWFNMVFVuaWNvZGVTb3J0LmgnLAogICAgICAgICBdLAorICAgICAg
ICAnd2ViY29yZV90ZXN0X3N1cHBvcnRfaWRsX2ZpbGVzJzogWworICAgICAgICAgICd0ZXN0aW5n
L0ludGVybmFscy5pZGwnLAorICAgICAgICBdLAorICAgICAgICAnd2ViY29yZV90ZXN0X3N1cHBv
cnRfZmlsZXMnOiBbCisgICAgICAgICAgICAndGVzdGluZy92OC9XZWJDb3JlVGVzdFN1cHBvcnQu
Y3BwJywKKyAgICAgICAgICAgICd0ZXN0aW5nL3Y4L1dlYkNvcmVUZXN0U3VwcG9ydC5oJywKKyAg
ICAgICAgICAgICd0ZXN0aW5nL2pzL1dlYkNvcmVUZXN0U3VwcG9ydC5jcHAnLAorICAgICAgICAg
ICAgJ3Rlc3RpbmcvanMvV2ViQ29yZVRlc3RTdXBwb3J0LmgnLAorICAgICAgICAgICAgJ3Rlc3Rp
bmcvSW50ZXJuYWxzLmNwcCcsCisgICAgICAgICAgICAndGVzdGluZy9JbnRlcm5hbHMuaCcsCisg
ICAgICAgIF0sCiAgICAgICAgICd3ZWJjb3JlX3Jlc291cmNlX2ZpbGVzJzogWwogICAgICAgICAg
ICAgJ0VuZ2xpc2gubHByb2ovTG9jYWxpemFibGUuc3RyaW5ncycsCiAgICAgICAgICAgICAnRW5n
bGlzaC5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBlMDQ0ZmFiZGJjZTk0NzRhZDVh
YWFlMmM4NTFlZGQ0ZmRiMGRiZTZlLi42OTMyMDBkOTZmMzJiMjI1NTNkOGRhM2I1MjA1MTlkMzQ2
ZGRmMTM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCkBAIC03LDYgKzcsMTggQEAKIAlvYmplY3RzID0gewogCiAvKiBCZWdpbiBQQlhB
Z2dyZWdhdGVUYXJnZXQgc2VjdGlvbiAqLworCQk0MTgxNkY3OTEzODU5QzU1MDA1N0FBQTQgLyog
QWxsICovID0geworCQkJaXNhID0gUEJYQWdncmVnYXRlVGFyZ2V0OworCQkJYnVpbGRDb25maWd1
cmF0aW9uTGlzdCA9IDQxODE2RjgxMTM4NTlDNjQwMDU3QUFBNCAvKiBCdWlsZCBjb25maWd1cmF0
aW9uIGxpc3QgZm9yIFBCWEFnZ3JlZ2F0ZVRhcmdldCAiQWxsIiAqLzsKKwkJCWJ1aWxkUGhhc2Vz
ID0gKAorCQkJKTsKKwkJCWRlcGVuZGVuY2llcyA9ICgKKwkJCQk0MTgxNkY4MzEzODU5QzdBMDA1
N0FBQTQgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLywKKwkJCQk0MTgxNkY4NTEzODU5QzdEMDA1
N0FBQTQgLyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLywKKwkJCSk7CisJCQluYW1lID0gQWxsOwor
CQkJcHJvZHVjdE5hbWUgPSBBbGw7CisJCX07CiAJCTVEODdCQjY0MTFFM0VCQzEwMDcwMkI2RiAv
KiBXZWJDb3JlRXhwb3J0RmlsZUdlbmVyYXRvciBHZW5lcmF0b3IgKi8gPSB7CiAJCQlpc2EgPSBQ
QlhBZ2dyZWdhdGVUYXJnZXQ7CiAJCQlidWlsZENvbmZpZ3VyYXRpb25MaXN0ID0gNUQ4N0JCNkMx
MUUzRUMwMDAwNzAyQjZGIC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYQWdncmVn
YXRlVGFyZ2V0ICJXZWJDb3JlRXhwb3J0RmlsZUdlbmVyYXRvciBHZW5lcmF0b3IiICovOwpAQCAt
ODM5LDYgKzg1MSw4IEBACiAJCTQxMEI3RTcyMTA0NUZBQjAwMEQ4MjI0RiAvKiBKU01lc3NhZ2VF
dmVudEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0MTBCN0U3MTEwNDVGQUIwMDBEODIyNEYgLyogSlNNZXNzYWdlRXZlbnRDdXN0b20uY3Bw
ICovOyB9OwogCQk0MTEwNDY0MTBGQTIyMkE2MDBCQTQzNkEgLyogU2NyaXB0RXZlbnRMaXN0ZW5l
ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDExMDQ2
M0YwRkEyMjJBNjAwQkE0MzZBIC8qIFNjcmlwdEV2ZW50TGlzdGVuZXIuaCAqLzsgfTsKIAkJNDEx
MDQ2NDIwRkEyMjJBNjAwQkE0MzZBIC8qIFNjcmlwdEV2ZW50TGlzdGVuZXIuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDExMDQ2NDAwRkEyMjJBNjAw
QkE0MzZBIC8qIFNjcmlwdEV2ZW50TGlzdGVuZXIuY3BwICovOyB9OworCQk0MTIzMDgxQjEzOEM0
Mjk3MDBCQ0NGQ0EgLyogV2ViQ29yZS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0YxOUIxQTA4MjQ1RTVBMDAxRTlBQkMgLyogV2Vi
Q29yZS5mcmFtZXdvcmsgKi87IH07CisJCTQxMjMwOTEzMTM4QzQyRkYwMEJDQ0ZDQSAvKiBKYXZh
U2NyaXB0Q29yZS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBGODIxNjI5OTAyOUY0RkI1MDEwMDAxMzEgLyogSmF2YVNjcmlwdENvcmUu
ZnJhbWV3b3JrICovOyB9OwogCQk0MTIzRTU2OTEyN0IzMDQxMDAwRkVFQTcgLyogV2luZG93RXZl
bnRDb250ZXh0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0MTIzRTU2NzEyN0IzMDQxMDAwRkVFQTcgLyogV2luZG93RXZlbnRDb250ZXh0LmggKi87IH07
CiAJCTQxMjNFNTZBMTI3QjMwNDEwMDBGRUVBNyAvKiBXaW5kb3dFdmVudENvbnRleHQuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEyM0U1NjgxMjdC
MzA0MTAwMEZFRUE3IC8qIFdpbmRvd0V2ZW50Q29udGV4dC5jcHAgKi87IH07CiAJCTQxMjdENTM3
MEY4QUFCMUQwMEU0MjRGNSAvKiBTY3JpcHRTdGF0ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTI3RDUzNjBGOEFBQjFEMDBFNDI0RjUgLyogU2Ny
aXB0U3RhdGUuY3BwICovOyB9OwpAQCAtODYyLDYgKzg3NiwxMiBAQAogCQk0MTZFNzVDQzBFREY5
MEM3MDAzNjBFMUQgLyogU2NyaXB0Q2FsbEZyYW1lLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxNkU3NUNBMEVERjkwQzcwMDM2MEUxRCAvKiBTY3Jp
cHRDYWxsRnJhbWUuY3BwICovOyB9OwogCQk0MTcyNTNBQTEzNTRCQkJDMDAzNjBGMkEgLyogTWVk
aWFDb250cm9sRWxlbWVudHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDE3MjUzQTgxMzU0QkJCQzAwMzYwRjJBIC8qIE1lZGlhQ29udHJvbEVsZW1l
bnRzLmNwcCAqLzsgfTsKIAkJNDE3MjUzQUIxMzU0QkJCQzAwMzYwRjJBIC8qIE1lZGlhQ29udHJv
bEVsZW1lbnRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0MTcyNTNBOTEzNTRCQkJDMDAzNjBGMkEgLyogTWVkaWFDb250cm9sRWxlbWVudHMuaCAqLzsg
fTsKKwkJNDE3REE2RDkxMzczNEU2RTAwN0M1N0ZCIC8qIEludGVybmFscy5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTdEQTRDRjEzNzM0MzI2MDA3
QzU3RkIgLyogSW50ZXJuYWxzLmNwcCAqLzsgfTsKKwkJNDE3REE2REExMzczNEU2RTAwN0M1N0ZC
IC8qIEludGVybmFscy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNDE3REE0Q0UxMzczNDMyNjAwN0M1N0ZCIC8qIEludGVybmFscy5oICovOyB9OworCQk0
MTdEQTcxRDEzNzM1REZBMDA3QzU3RkIgLyogSlNJbnRlcm5hbHMuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE3REE3MUIxMzczNURGQTAwN0M1N0ZC
IC8qIEpTSW50ZXJuYWxzLmNwcCAqLzsgfTsKKwkJNDE3REE3MUUxMzczNURGQTAwN0M1N0ZCIC8q
IEpTSW50ZXJuYWxzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0MTdEQTcxQzEzNzM1REZBMDA3QzU3RkIgLyogSlNJbnRlcm5hbHMuaCAqLzsgfTsKKwkJ
NDE4MTVDMUUxMzgzMTk4MzAwNTdBQUE0IC8qIFdlYkNvcmVUZXN0U3VwcG9ydC5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTgxNUMxQzEzODMxOTgz
MDA1N0FBQTQgLyogV2ViQ29yZVRlc3RTdXBwb3J0LmNwcCAqLzsgfTsKKwkJNDE4MTVDMUYxMzgz
MTk4MzAwNTdBQUE0IC8qIFdlYkNvcmVUZXN0U3VwcG9ydC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE4MTVDMUQxMzgzMTk4MzAwNTdBQUE0IC8qIFdl
YkNvcmVUZXN0U3VwcG9ydC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCTQxODg1QjkzMTFCNkZEQTYwMDMzODNCQiAvKiBGb3JtU3VibWlzc2lvbi5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE4ODVCOTEx
MUI2RkRBNjAwMzM4M0JCIC8qIEZvcm1TdWJtaXNzaW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDE4ODVCOTQxMUI2RkRBNjAwMzM4M0JCIC8q
IEZvcm1TdWJtaXNzaW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDQxODg1QjkyMTFCNkZEQTYwMDMzODNCQiAvKiBGb3JtU3VibWlzc2lvbi5jcHAg
Ki87IH07CiAJCTQxOEEwNkQwMTMzQzA0RDUwMENEMzc5QyAvKiBFdmVudERpc3BhdGNoZXIuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxOEEwNkNFMTMz
QzA0RDUwMENEMzc5QyAvKiBFdmVudERpc3BhdGNoZXIuaCAqLzsgfTsKQEAgLTU5ODEsNiArNjAw
MSwyNyBAQAogLyogRW5kIFBCWEJ1aWxkRmlsZSBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFBCWENv
bnRhaW5lckl0ZW1Qcm94eSBzZWN0aW9uICovCisJCTQxN0RBNkQ0MTM3MzRFMEQwMDdDNTdGQiAv
KiBQQlhDb250YWluZXJJdGVtUHJveHkgKi8gPSB7CisJCQlpc2EgPSBQQlhDb250YWluZXJJdGVt
UHJveHk7CisJCQljb250YWluZXJQb3J0YWwgPSAwODY3RDY5MEZFODQwMjhGQzAyQUFDMDcgLyog
UHJvamVjdCBvYmplY3QgKi87CisJCQlwcm94eVR5cGUgPSAxOworCQkJcmVtb3RlR2xvYmFsSURT
dHJpbmcgPSA5M0YxOThBNTA4MjQ1RTU5MDAxRTlBQkM7CisJCQlyZW1vdGVJbmZvID0gV2ViQ29y
ZTsKKwkJfTsKKwkJNDE4MTZGODIxMzg1OUM3QTAwNTdBQUE0IC8qIFBCWENvbnRhaW5lckl0ZW1Q
cm94eSAqLyA9IHsKKwkJCWlzYSA9IFBCWENvbnRhaW5lckl0ZW1Qcm94eTsKKwkJCWNvbnRhaW5l
clBvcnRhbCA9IDA4NjdENjkwRkU4NDAyOEZDMDJBQUMwNyAvKiBQcm9qZWN0IG9iamVjdCAqLzsK
KwkJCXByb3h5VHlwZSA9IDE7CisJCQlyZW1vdGVHbG9iYWxJRFN0cmluZyA9IDkzRjE5OEE1MDgy
NDVFNTkwMDFFOUFCQzsKKwkJCXJlbW90ZUluZm8gPSBXZWJDb3JlOworCQl9OworCQk0MTgxNkY4
NDEzODU5QzdEMDA1N0FBQTQgLyogUEJYQ29udGFpbmVySXRlbVByb3h5ICovID0geworCQkJaXNh
ID0gUEJYQ29udGFpbmVySXRlbVByb3h5OworCQkJY29udGFpbmVyUG9ydGFsID0gMDg2N0Q2OTBG
RTg0MDI4RkMwMkFBQzA3IC8qIFByb2plY3Qgb2JqZWN0ICovOworCQkJcHJveHlUeXBlID0gMTsK
KwkJCXJlbW90ZUdsb2JhbElEU3RyaW5nID0gNDE3REE2Q0YxMzczNEUwMjAwN0M1N0ZCOworCQkJ
cmVtb3RlSW5mbyA9IFdlYkNvcmVUZXN0U3VwcG9ydDsKKwkJfTsKIAkJNUQ4N0JCNkExMUUzRUJE
MjAwNzAyQjZGIC8qIFBCWENvbnRhaW5lckl0ZW1Qcm94eSAqLyA9IHsKIAkJCWlzYSA9IFBCWENv
bnRhaW5lckl0ZW1Qcm94eTsKIAkJCWNvbnRhaW5lclBvcnRhbCA9IDA4NjdENjkwRkU4NDAyOEZD
MDJBQUMwNyAvKiBQcm9qZWN0IG9iamVjdCAqLzsKQEAgLTczNTgsNiArNzM5OSwxNSBAQAogCQk0
MTZFNzVDQTBFREY5MEM3MDAzNjBFMUQgLyogU2NyaXB0Q2FsbEZyYW1lLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNjcmlwdENhbGxGcmFtZS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxNzI1M0E4MTM1NEJCQkMwMDM2MEYyQSAvKiBNZWRpYUNv
bnRyb2xFbGVtZW50cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBN
ZWRpYUNvbnRyb2xFbGVtZW50cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQx
NzI1M0E5MTM1NEJCQkMwMDM2MEYyQSAvKiBNZWRpYUNvbnRyb2xFbGVtZW50cy5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYUNvbnRyb2xFbGVtZW50cy5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk0MTdEQTRDRTEzNzM0MzI2MDA3QzU3RkIgLyogSW50ZXJu
YWxzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEludGVybmFscy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTdEQTRDRjEzNzM0MzI2MDA3QzU3RkIgLyogSW50
ZXJuYWxzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEludGVybmFs
cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxN0RBNkQwMTM3MzRFMDIwMDdD
NTdGQiAvKiBXZWJDb3JlVGVzdFN1cHBvcnQuZHlsaWIgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZXhwbGljaXRGaWxlVHlwZSA9ICJjb21waWxlZC5tYWNoLW8uZHlsaWIiOyBpbmNsdWRl
SW5JbmRleCA9IDA7IHBhdGggPSBXZWJDb3JlVGVzdFN1cHBvcnQuZHlsaWI7IHNvdXJjZVRyZWUg
PSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CisJCTQxN0RBNzFCMTM3MzVERkEwMDdDNTdGQiAvKiBK
U0ludGVybmFscy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0lu
dGVybmFscy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxN0RBNzFDMTM3MzVE
RkEwMDdDNTdGQiAvKiBKU0ludGVybmFscy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBKU0ludGVybmFscy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTgxM0Y5
MTEzODE4QUQ2MDA1N0FBQTQgLyogSW50ZXJuYWxzLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGgg
PSBJbnRlcm5hbHMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTgxNUMxQzEz
ODMxOTgzMDA1N0FBQTQgLyogV2ViQ29yZVRlc3RTdXBwb3J0LmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkNvcmVUZXN0U3VwcG9ydC5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTQxODE1QzFEMTM4MzE5ODMwMDU3QUFBNCAvKiBXZWJDb3JlVGVz
dFN1cHBvcnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQ29yZVRlc3RT
dXBwb3J0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxODE3MDdEMTM4NkVERjIw
MDU3QUFBNCAvKiBXZWJDb3JlVGVzdFN1cHBvcnQueGNjb25maWcgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lnhj
Y29uZmlnOyBwYXRoID0gV2ViQ29yZVRlc3RTdXBwb3J0LnhjY29uZmlnOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk0MTg4NUI5MTExQjZGREE2MDAzMzgzQkIgLyogRm9ybVN1Ym1pc3Np
b24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRm9ybVN1Ym1pc3Npb24uaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE4ODVCOTIxMUI2RkRBNjAwMzM4M0JCIC8q
IEZvcm1TdWJtaXNzaW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEZvcm1TdWJtaXNzaW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE4QTA2
Q0UxMzNDMDRENTAwQ0QzNzlDIC8qIEV2ZW50RGlzcGF0Y2hlci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBFdmVudERpc3BhdGNoZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTEyNTYyLDYgKzEyNjEyLDE1IEBACiAvKiBFbmQgUEJYRmlsZVJlZmVyZW5jZSBz
ZWN0aW9uICovCiAKIC8qIEJlZ2luIFBCWEZyYW1ld29ya3NCdWlsZFBoYXNlIHNlY3Rpb24gKi8K
KwkJNDE3REE2Q0UxMzczNEUwMjAwN0M1N0ZCIC8qIEZyYW1ld29ya3MgKi8gPSB7CisJCQlpc2Eg
PSBQQlhGcmFtZXdvcmtzQnVpbGRQaGFzZTsKKwkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2
NDc7CisJCQlmaWxlcyA9ICgKKwkJCQk0MTIzMDkxMzEzOEM0MkZGMDBCQ0NGQ0EgLyogSmF2YVNj
cmlwdENvcmUuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCisJCQkJNDEyMzA4MUIxMzhDNDI5
NzAwQkNDRkNBIC8qIFdlYkNvcmUuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCisJCQkpOwor
CQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CisJCX07CiAJCTVEODdC
QjREMTFFM0VBRUIwMDcwMkI2RiAvKiBGcmFtZXdvcmtzICovID0gewogCQkJaXNhID0gUEJYRnJh
bWV3b3Jrc0J1aWxkUGhhc2U7CiAJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwpAQCAt
MTI1OTksNiArMTI2NTgsNyBAQAogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgK
IAkJCQk1RDg3QkI0RjExRTNFQUVCMDA3MDJCNkYgLyogV2ViQ29yZUV4cG9ydEZpbGVHZW5lcmF0
b3IgKi8sCisJCQkJNDE3REE2RDAxMzczNEUwMjAwN0M1N0ZCIC8qIFdlYkNvcmVUZXN0U3VwcG9y
dC5keWxpYiAqLywKIAkJCQk5M0YxOUIxQTA4MjQ1RTVBMDAxRTlBQkMgLyogV2ViQ29yZS5mcmFt
ZXdvcmsgKi8sCiAJCQkpOwogCQkJbmFtZSA9IFByb2R1Y3RzOwpAQCAtMTI2NzEsNiArMTI3MzEs
NyBAQAogCQkJCUY1MjNEMkYzMDJERTQ0M0IwMTg2MzVDQSAvKiByZW5kZXJpbmcgKi8sCiAJCQkJ
MUFFODJFQzkwQ0FBRTE3NzAwMjIzN0FFIC8qIHN0b3JhZ2UgKi8sCiAJCQkJQjIyMjc3Q0EwRDAw
QkYxRTAwNzFCNzgyIC8qIHN2ZyAqLywKKwkJCQk0MTdEQTRDRDEzNzM0MjA0MDA3QzU3RkIgLyog
dGVzdGluZyAqLywKIAkJCQlGRDMxNUZBMjEyQjAyNUIxMDBDMUEzNTkgLyogd2ViYXVkaW8gKi8s
CiAJCQkJNTE4QTM0QkQxMDI2QzgzMTAwMUI2ODk2IC8qIHdlYnNvY2tldHMgKi8sCiAJCQkJMkU0
MzQ2MzEwRjU0NkE2ODAwQjBGMUJBIC8qIHdvcmtlcnMgKi8sCkBAIC0xMjg3OCw2ICsxMjkzOSw3
IEBACiAJCQkJQkM5ODU0NDYwQ0QzREE1RjAwMDY5QkMxIC8qIFJhbmdlcyAqLywKIAkJCQlBODNC
NzkxNTBDQ0IwMDc4MDAwQjA4MjUgLyogU3RvcmFnZSAqLywKIAkJCQlBODNCNzkwQTBDQ0FGRjQ3
MDAwQjA4MjUgLyogU1ZHICovLAorCQkJCTQxN0RBNzEyMTM3MzVEOTAwMDdDNTdGQiAvKiBUZXN0
aW5nICovLAogCQkJCUUxQzhCRTRCMEU4QkQwRDEwMDY0Q0I3RCAvKiBUaHJlYWRzICovLAogCQkJ
CUJDOTg1NDUzMENEM0RBOEYwMDA2OUJDMSAvKiBUcmF2ZXJzYWwgKi8sCiAJCQkJRkRBMTVFN0Ix
MkIwM0UwNDAwM0E1ODNBIC8qIFdlYkF1ZGlvICovLApAQCAtMTMzNDUsNiArMTM0MDcsNyBAQAog
CQkJCTQ0OTA5OEIxMEY4RjgyNTIwMDc2QTMyNyAvKiBGZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyAq
LywKIAkJCQkxQzkwNERGOTBCQTlEMkM4MDA4MUU5RDAgLyogVmVyc2lvbi54Y2NvbmZpZyAqLywK
IAkJCQkxQ0RENDVFNTBCQTlDODQ2MDBGOTAxNDcgLyogV2ViQ29yZS54Y2NvbmZpZyAqLywKKwkJ
CQk0MTgxNzA3RDEzODZFREYyMDA1N0FBQTQgLyogV2ViQ29yZVRlc3RTdXBwb3J0LnhjY29uZmln
ICovLAogCQkJKTsKIAkJCXBhdGggPSBDb25maWd1cmF0aW9uczsKIAkJCXNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7CkBAIC0xMzU0Myw2ICsxMzYwNiwzNSBAQAogCQkJcGF0aCA9IHNoYWRvdzsKIAkJ
CXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCTQxN0RBNENEMTM3MzQyMDQwMDdDNTdG
QiAvKiB0ZXN0aW5nICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgK
KwkJCQk0MTgxNUMxQjEzODMxOTYzMDA1N0FBQTQgLyoganMgKi8sCisJCQkJNDE3REE0Q0YxMzcz
NDMyNjAwN0M1N0ZCIC8qIEludGVybmFscy5jcHAgKi8sCisJCQkJNDE3REE0Q0UxMzczNDMyNjAw
N0M1N0ZCIC8qIEludGVybmFscy5oICovLAorCQkJCTQxODEzRjkxMTM4MThBRDYwMDU3QUFBNCAv
KiBJbnRlcm5hbHMuaWRsICovLAorCQkJKTsKKwkJCXBhdGggPSB0ZXN0aW5nOworCQkJc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKKwkJNDE3REE3MTIxMzczNUQ5MDAwN0M1N0ZCIC8qIFRl
c3RpbmcgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTQx
N0RBNzFCMTM3MzVERkEwMDdDNTdGQiAvKiBKU0ludGVybmFscy5jcHAgKi8sCisJCQkJNDE3REE3
MUMxMzczNURGQTAwN0M1N0ZCIC8qIEpTSW50ZXJuYWxzLmggKi8sCisJCQkpOworCQkJbmFtZSA9
IFRlc3Rpbmc7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OworCQk0MTgxNUMxQjEz
ODMxOTYzMDA1N0FBQTQgLyoganMgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxk
cmVuID0gKAorCQkJCTQxODE1QzFDMTM4MzE5ODMwMDU3QUFBNCAvKiBXZWJDb3JlVGVzdFN1cHBv
cnQuY3BwICovLAorCQkJCTQxODE1QzFEMTM4MzE5ODMwMDU3QUFBNCAvKiBXZWJDb3JlVGVzdFN1
cHBvcnQuaCAqLywKKwkJCSk7CisJCQlwYXRoID0ganM7CisJCQlzb3VyY2VUcmVlID0gIjxncm91
cD4iOworCQl9OwogCQk0MzkwNDZDMjEyREEyNUNFMDBBRjgwQTIgLyogbWF0aG1sICovID0gewog
CQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAgLTE5ODM1LDYgKzE5OTI3LDE2
IEBACiAvKiBFbmQgUEJYR3JvdXAgc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhIZWFkZXJzQnVp
bGRQaGFzZSBzZWN0aW9uICovCisJCTQxN0RBNkNDMTM3MzRFMDIwMDdDNTdGQiAvKiBIZWFkZXJz
ICovID0geworCQkJaXNhID0gUEJYSGVhZGVyc0J1aWxkUGhhc2U7CisJCQlidWlsZEFjdGlvbk1h
c2sgPSAyMTQ3NDgzNjQ3OworCQkJZmlsZXMgPSAoCisJCQkJNDE3REE2REExMzczNEU2RTAwN0M1
N0ZCIC8qIEludGVybmFscy5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDE3REE3MUUxMzczNURGQTAw
N0M1N0ZCIC8qIEpTSW50ZXJuYWxzLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MTgxNUMxRjEzODMx
OTgzMDA1N0FBQTQgLyogV2ViQ29yZVRlc3RTdXBwb3J0LmggaW4gSGVhZGVycyAqLywKKwkJCSk7
CisJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKKwkJfTsKIAkJOTNG
MTk4QTYwODI0NUU1OTAwMUU5QUJDIC8qIEhlYWRlcnMgKi8gPSB7CiAJCQlpc2EgPSBQQlhIZWFk
ZXJzQnVpbGRQaGFzZTsKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CkBAIC0yMjk0
OCw2ICsyMzA1MCwyNCBAQAogLyogRW5kIFBCWEhlYWRlcnNCdWlsZFBoYXNlIHNlY3Rpb24gKi8K
IAogLyogQmVnaW4gUEJYTmF0aXZlVGFyZ2V0IHNlY3Rpb24gKi8KKwkJNDE3REE2Q0YxMzczNEUw
MjAwN0M1N0ZCIC8qIFdlYkNvcmVUZXN0U3VwcG9ydCAqLyA9IHsKKwkJCWlzYSA9IFBCWE5hdGl2
ZVRhcmdldDsKKwkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSA0MTdEQTZEODEzNzM0RTQ3MDA3
QzU3RkIgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhOYXRpdmVUYXJnZXQgIldl
YkNvcmVUZXN0U3VwcG9ydCIgKi87CisJCQlidWlsZFBoYXNlcyA9ICgKKwkJCQk0MTdEQTZDQzEz
NzM0RTAyMDA3QzU3RkIgLyogSGVhZGVycyAqLywKKwkJCQk0MTdEQTZDRDEzNzM0RTAyMDA3QzU3
RkIgLyogU291cmNlcyAqLywKKwkJCQk0MTdEQTZDRTEzNzM0RTAyMDA3QzU3RkIgLyogRnJhbWV3
b3JrcyAqLywKKwkJCSk7CisJCQlidWlsZFJ1bGVzID0gKAorCQkJKTsKKwkJCWRlcGVuZGVuY2ll
cyA9ICgKKwkJCQk0MTdEQTZENTEzNzM0RTBEMDA3QzU3RkIgLyogUEJYVGFyZ2V0RGVwZW5kZW5j
eSAqLywKKwkJCSk7CisJCQluYW1lID0gV2ViQ29yZVRlc3RTdXBwb3J0OworCQkJcHJvZHVjdE5h
bWUgPSBXZWJDb3JlVGVzdFN1cHBvcnQ7CisJCQlwcm9kdWN0UmVmZXJlbmNlID0gNDE3REE2RDAx
MzczNEUwMjAwN0M1N0ZCIC8qIFdlYkNvcmVUZXN0U3VwcG9ydC5keWxpYiAqLzsKKwkJCXByb2R1
Y3RUeXBlID0gImNvbS5hcHBsZS5wcm9kdWN0LXR5cGUubGlicmFyeS5keW5hbWljIjsKKwkJfTsK
IAkJNUQ4N0JCNEUxMUUzRUFFQjAwNzAyQjZGIC8qIFdlYkNvcmVFeHBvcnRGaWxlR2VuZXJhdG9y
ICovID0gewogCQkJaXNhID0gUEJYTmF0aXZlVGFyZ2V0OwogCQkJYnVpbGRDb25maWd1cmF0aW9u
TGlzdCA9IDVEODdCQjU5MTFFM0VCMDcwMDcwMkI2RiAvKiBCdWlsZCBjb25maWd1cmF0aW9uIGxp
c3QgZm9yIFBCWE5hdGl2ZVRhcmdldCAiV2ViQ29yZUV4cG9ydEZpbGVHZW5lcmF0b3IiICovOwpA
QCAtMjMwMTcsMTAgKzIzMTM3LDEyIEBACiAJCQlwcm9qZWN0RGlyUGF0aCA9ICIiOwogCQkJcHJv
amVjdFJvb3QgPSAiIjsKIAkJCXRhcmdldHMgPSAoCisJCQkJNDE4MTZGNzkxMzg1OUM1NTAwNTdB
QUE0IC8qIEFsbCAqLywKIAkJCQk5M0YxOThBNTA4MjQ1RTU5MDAxRTlBQkMgLyogV2ViQ29yZSAq
LywKIAkJCQlERDA0MUZCRTA5RDlEREJFMDAxMEFGMkEgLyogRGVyaXZlZCBTb3VyY2VzICovLAog
CQkJCTVEODdCQjRFMTFFM0VBRUIwMDcwMkI2RiAvKiBXZWJDb3JlRXhwb3J0RmlsZUdlbmVyYXRv
ciAqLywKIAkJCQk1RDg3QkI2NDExRTNFQkMxMDA3MDJCNkYgLyogV2ViQ29yZUV4cG9ydEZpbGVH
ZW5lcmF0b3IgR2VuZXJhdG9yICovLAorCQkJCTQxN0RBNkNGMTM3MzRFMDIwMDdDNTdGQiAvKiBX
ZWJDb3JlVGVzdFN1cHBvcnQgKi8sCiAJCQkpOwogCQl9OwogLyogRW5kIFBCWFByb2plY3Qgc2Vj
dGlvbiAqLwpAQCAtMjMyMzEsNiArMjMzNTMsMTYgQEAKIC8qIEVuZCBQQlhTaGVsbFNjcmlwdEJ1
aWxkUGhhc2Ugc2VjdGlvbiAqLwogCiAvKiBCZWdpbiBQQlhTb3VyY2VzQnVpbGRQaGFzZSBzZWN0
aW9uICovCisJCTQxN0RBNkNEMTM3MzRFMDIwMDdDNTdGQiAvKiBTb3VyY2VzICovID0geworCQkJ
aXNhID0gUEJYU291cmNlc0J1aWxkUGhhc2U7CisJCQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgz
NjQ3OworCQkJZmlsZXMgPSAoCisJCQkJNDE3REE2RDkxMzczNEU2RTAwN0M1N0ZCIC8qIEludGVy
bmFscy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk0MTdEQTcxRDEzNzM1REZBMDA3QzU3RkIgLyog
SlNJbnRlcm5hbHMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNDE4MTVDMUUxMzgzMTk4MzAwNTdB
QUE0IC8qIFdlYkNvcmVUZXN0U3VwcG9ydC5jcHAgaW4gU291cmNlcyAqLywKKwkJCSk7CisJCQly
dW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKKwkJfTsKIAkJNUQ4N0JCNEMx
MUUzRUFFQjAwNzAyQjZGIC8qIFNvdXJjZXMgKi8gPSB7CiAJCQlpc2EgPSBQQlhTb3VyY2VzQnVp
bGRQaGFzZTsKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CkBAIC0yNTYzNiw2ICsy
NTc2OCwyMSBAQAogLyogRW5kIFBCWFNvdXJjZXNCdWlsZFBoYXNlIHNlY3Rpb24gKi8KIAogLyog
QmVnaW4gUEJYVGFyZ2V0RGVwZW5kZW5jeSBzZWN0aW9uICovCisJCTQxN0RBNkQ1MTM3MzRFMEQw
MDdDNTdGQiAvKiBQQlhUYXJnZXREZXBlbmRlbmN5ICovID0geworCQkJaXNhID0gUEJYVGFyZ2V0
RGVwZW5kZW5jeTsKKwkJCXRhcmdldCA9IDkzRjE5OEE1MDgyNDVFNTkwMDFFOUFCQyAvKiBXZWJD
b3JlICovOworCQkJdGFyZ2V0UHJveHkgPSA0MTdEQTZENDEzNzM0RTBEMDA3QzU3RkIgLyogUEJY
Q29udGFpbmVySXRlbVByb3h5ICovOworCQl9OworCQk0MTgxNkY4MzEzODU5QzdBMDA1N0FBQTQg
LyogUEJYVGFyZ2V0RGVwZW5kZW5jeSAqLyA9IHsKKwkJCWlzYSA9IFBCWFRhcmdldERlcGVuZGVu
Y3k7CisJCQl0YXJnZXQgPSA5M0YxOThBNTA4MjQ1RTU5MDAxRTlBQkMgLyogV2ViQ29yZSAqLzsK
KwkJCXRhcmdldFByb3h5ID0gNDE4MTZGODIxMzg1OUM3QTAwNTdBQUE0IC8qIFBCWENvbnRhaW5l
ckl0ZW1Qcm94eSAqLzsKKwkJfTsKKwkJNDE4MTZGODUxMzg1OUM3RDAwNTdBQUE0IC8qIFBCWFRh
cmdldERlcGVuZGVuY3kgKi8gPSB7CisJCQlpc2EgPSBQQlhUYXJnZXREZXBlbmRlbmN5OworCQkJ
dGFyZ2V0ID0gNDE3REE2Q0YxMzczNEUwMjAwN0M1N0ZCIC8qIFdlYkNvcmVUZXN0U3VwcG9ydCAq
LzsKKwkJCXRhcmdldFByb3h5ID0gNDE4MTZGODQxMzg1OUM3RDAwNTdBQUE0IC8qIFBCWENvbnRh
aW5lckl0ZW1Qcm94eSAqLzsKKwkJfTsKIAkJNUQ4N0JCNkIxMUUzRUJEMjAwNzAyQjZGIC8qIFBC
WFRhcmdldERlcGVuZGVuY3kgKi8gPSB7CiAJCQlpc2EgPSBQQlhUYXJnZXREZXBlbmRlbmN5Owog
CQkJdGFyZ2V0ID0gNUQ4N0JCNjQxMUUzRUJDMTAwNzAyQjZGIC8qIFdlYkNvcmVFeHBvcnRGaWxl
R2VuZXJhdG9yIEdlbmVyYXRvciAqLzsKQEAgLTI1NzM5LDYgKzI1ODg2LDQ4IEBACiAJCQl9Owog
CQkJbmFtZSA9IFByb2R1Y3Rpb247CiAJCX07CisJCTQxN0RBNkQxMTM3MzRFMDIwMDdDNTdGQiAv
KiBEZWJ1ZyAqLyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOworCQkJYmFzZUNv
bmZpZ3VyYXRpb25SZWZlcmVuY2UgPSA0MTgxNzA3RDEzODZFREYyMDA1N0FBQTQgLyogV2ViQ29y
ZVRlc3RTdXBwb3J0LnhjY29uZmlnICovOworCQkJYnVpbGRTZXR0aW5ncyA9IHsKKwkJCX07CisJ
CQluYW1lID0gRGVidWc7CisJCX07CisJCTQxN0RBNkQyMTM3MzRFMDIwMDdDNTdGQiAvKiBSZWxl
YXNlICovID0geworCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CisJCQliYXNlQ29uZmln
dXJhdGlvblJlZmVyZW5jZSA9IDQxODE3MDdEMTM4NkVERjIwMDU3QUFBNCAvKiBXZWJDb3JlVGVz
dFN1cHBvcnQueGNjb25maWcgKi87CisJCQlidWlsZFNldHRpbmdzID0geworCQkJfTsKKwkJCW5h
bWUgPSBSZWxlYXNlOworCQl9OworCQk0MTdEQTZEMzEzNzM0RTAyMDA3QzU3RkIgLyogUHJvZHVj
dGlvbiAqLyA9IHsKKwkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOworCQkJYmFzZUNvbmZp
Z3VyYXRpb25SZWZlcmVuY2UgPSA0MTgxNzA3RDEzODZFREYyMDA1N0FBQTQgLyogV2ViQ29yZVRl
c3RTdXBwb3J0LnhjY29uZmlnICovOworCQkJYnVpbGRTZXR0aW5ncyA9IHsKKwkJCX07CisJCQlu
YW1lID0gUHJvZHVjdGlvbjsKKwkJfTsKKwkJNDE4MTZGN0ExMzg1OUM1NjAwNTdBQUE0IC8qIERl
YnVnICovID0geworCQkJaXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CisJCQlidWlsZFNldHRp
bmdzID0geworCQkJCVBST0RVQ1RfTkFNRSA9IEFsbDsKKwkJCX07CisJCQluYW1lID0gRGVidWc7
CisJCX07CisJCTQxODE2RjdCMTM4NTlDNTYwMDU3QUFBNCAvKiBSZWxlYXNlICovID0geworCQkJ
aXNhID0gWENCdWlsZENvbmZpZ3VyYXRpb247CisJCQlidWlsZFNldHRpbmdzID0geworCQkJCVBS
T0RVQ1RfTkFNRSA9IEFsbDsKKwkJCX07CisJCQluYW1lID0gUmVsZWFzZTsKKwkJfTsKKwkJNDE4
MTZGN0MxMzg1OUM1NjAwNTdBQUE0IC8qIFByb2R1Y3Rpb24gKi8gPSB7CisJCQlpc2EgPSBYQ0J1
aWxkQ29uZmlndXJhdGlvbjsKKwkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJCQkJUFJPRFVDVF9OQU1F
ID0gQWxsOworCQkJfTsKKwkJCW5hbWUgPSBQcm9kdWN0aW9uOworCQl9OwogCQk1RDg3QkI1MTEx
RTNFQUVCMDA3MDJCNkYgLyogRGVidWcgKi8gPSB7CiAJCQlpc2EgPSBYQ0J1aWxkQ29uZmlndXJh
dGlvbjsKIAkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gMUNERDQ1RTUwQkE5Qzg0NjAw
RjkwMTQ3IC8qIFdlYkNvcmUueGNjb25maWcgKi87CkBAIC0yNTg0NCw2ICsyNjAzMywyNiBAQAog
CQkJZGVmYXVsdENvbmZpZ3VyYXRpb25Jc1Zpc2libGUgPSAwOwogCQkJZGVmYXVsdENvbmZpZ3Vy
YXRpb25OYW1lID0gUHJvZHVjdGlvbjsKIAkJfTsKKwkJNDE3REE2RDgxMzczNEU0NzAwN0M1N0ZC
IC8qIEJ1aWxkIGNvbmZpZ3VyYXRpb24gbGlzdCBmb3IgUEJYTmF0aXZlVGFyZ2V0ICJXZWJDb3Jl
VGVzdFN1cHBvcnQiICovID0geworCQkJaXNhID0gWENDb25maWd1cmF0aW9uTGlzdDsKKwkJCWJ1
aWxkQ29uZmlndXJhdGlvbnMgPSAoCisJCQkJNDE3REE2RDExMzczNEUwMjAwN0M1N0ZCIC8qIERl
YnVnICovLAorCQkJCTQxN0RBNkQyMTM3MzRFMDIwMDdDNTdGQiAvKiBSZWxlYXNlICovLAorCQkJ
CTQxN0RBNkQzMTM3MzRFMDIwMDdDNTdGQiAvKiBQcm9kdWN0aW9uICovLAorCQkJKTsKKwkJCWRl
ZmF1bHRDb25maWd1cmF0aW9uSXNWaXNpYmxlID0gMDsKKwkJCWRlZmF1bHRDb25maWd1cmF0aW9u
TmFtZSA9IFByb2R1Y3Rpb247CisJCX07CisJCTQxODE2RjgxMTM4NTlDNjQwMDU3QUFBNCAvKiBC
dWlsZCBjb25maWd1cmF0aW9uIGxpc3QgZm9yIFBCWEFnZ3JlZ2F0ZVRhcmdldCAiQWxsIiAqLyA9
IHsKKwkJCWlzYSA9IFhDQ29uZmlndXJhdGlvbkxpc3Q7CisJCQlidWlsZENvbmZpZ3VyYXRpb25z
ID0gKAorCQkJCTQxODE2RjdBMTM4NTlDNTYwMDU3QUFBNCAvKiBEZWJ1ZyAqLywKKwkJCQk0MTgx
NkY3QjEzODU5QzU2MDA1N0FBQTQgLyogUmVsZWFzZSAqLywKKwkJCQk0MTgxNkY3QzEzODU5QzU2
MDA1N0FBQTQgLyogUHJvZHVjdGlvbiAqLywKKwkJCSk7CisJCQlkZWZhdWx0Q29uZmlndXJhdGlv
bklzVmlzaWJsZSA9IDA7CisJCQlkZWZhdWx0Q29uZmlndXJhdGlvbk5hbWUgPSBQcm9kdWN0aW9u
OworCQl9OwogCQk1RDg3QkI1OTExRTNFQjA3MDA3MDJCNkYgLyogQnVpbGQgY29uZmlndXJhdGlv
biBsaXN0IGZvciBQQlhOYXRpdmVUYXJnZXQgIldlYkNvcmVFeHBvcnRGaWxlR2VuZXJhdG9yIiAq
LyA9IHsKIAkJCWlzYSA9IFhDQ29uZmlndXJhdGlvbkxpc3Q7CiAJCQlidWlsZENvbmZpZ3VyYXRp
b25zID0gKApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XcmFw
cGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV3JhcHBlci5jcHAKaW5k
ZXggNjBjMGVkMWIyNTFhM2M2MzczMzFkYjRiNWIzNzNlNmZkNzUyODZlZi4uMTI1ZmIyYTVmNzlk
NWM0NmIyOGY0MzY4NWQzOTk0ZmRhZmY2MzQyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNET01XcmFwcGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0RPTVdyYXBwZXIuY3BwCkBAIC0zMiwxMiArMzIsOSBAQCB1c2luZyBuYW1lc3BhY2Ug
SlNDOwogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSNpZm5kZWYgTkRFQlVHCi0KLUpTRE9NV3Jh
cHBlcjo6fkpTRE9NV3JhcHBlcigpCit2b2lkIEpTRE9NV3JhcHBlcjo6bm9XZWFrVnRhYmxlKCkK
IHsKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIAotI2VuZGlmCi0KIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9N
V3JhcHBlci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XcmFwcGVyLmgKaW5k
ZXggMmY1YmViZDZlZmVlMWNjNmY1OGFlMjk4MjQ5MDI3YTlmYzFhNTRmMy4uNTdmYTIzMzAzMmIz
M2M2MmRmYWY2MzdlY2IzODRiM2U3NjJjYmE3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNET01XcmFwcGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNET01XcmFwcGVyLmgKQEAgLTQ4LDYgKzQ4LDEwIEBAIHB1YmxpYzoKICAgICB9CiAKIHBy
b3RlY3RlZDoKKyAgICAvLyBBbiBpbmxpbmUgZnVuY3Rpb24gY2Fubm90IGJlIHRoZSBmaXJzdCBu
b24tYWJzdHJhY3QgdmlydHVhbCBmdW5jdGlvbiBkZWNsYXJlZAorICAgIC8vIGluIHRoZSBjbGFz
cyBhcyBpdCByZXN1bHRzIGluIHRoZSB2dGFibGUgYmVpbmcgZ2VuZXJhdGVkIGFzIGEgd2VhayBz
eW1ib2wuCisgICAgdmlydHVhbCB2b2lkIG5vV2Vha1Z0YWJsZSgpOworCiAgICAgZXhwbGljaXQg
SlNET01XcmFwcGVyKEpTQzo6U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTQzo6SlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCkgCiAgICAgICAgIDogSlNPYmplY3RXaXRoR2xvYmFsT2JqZWN0KGds
b2JhbE9iamVjdCwgc3RydWN0dXJlKQogICAgIHsKQEAgLTU2LDEwICs2MCw2IEBAIHByb3RlY3Rl
ZDoKICAgICAgICAgLy8gbmVlZGluZyB0byByZWFjaCB0aHJvdWdoIHRoZSBmcmFtZSB0byBnZXQg
dG8gdGhlIERvY3VtZW50Ki4gIFNlZSBidWcgMjc2NDAuCiAgICAgICAgIC8vIEFTU0VSVChnbG9i
YWxPYmplY3QtPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CiAgICAgfQotCi0jaWZuZGVmIE5E
RUJVRwotICAgIHZpcnR1YWwgfkpTRE9NV3JhcHBlcigpOwotI2VuZGlmCiB9OwogCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZDQ1Zjk2ZGNmYzg2MDZhODI5MDBjMzc5NGYzMDQ0NTI5MzkzZTA2MAotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtMCwwICsxLDQ0
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgor
ICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkludGVybmFscy5oIgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1Bhc3NSZWZQdHI8SW50ZXJuYWxzPiBJbnRlcm5hbHM6
OmNyZWF0ZSgpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBJbnRlcm5hbHMoKSk7Cit9CisK
K0ludGVybmFsczo6fkludGVybmFscygpCit7Cit9CisKK0ludGVybmFsczo6SW50ZXJuYWxzKCkK
K3sKK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
aCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2JiZDli
OWMwM2I0OTJiZjFhYTQ0YzExMTNiNGIwYTYwZDNlOTRlNQotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
QU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
CisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpZm5kZWYgSW50ZXJuYWxzX2gKKyNkZWZpbmUgSW50ZXJuYWxzX2gKKworI2luY2x1ZGUgPHd0
Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitjbGFzcyBJbnRlcm5hbHMgOiBwdWJsaWMgUmVmQ291bnRlZDxJbnRlcm5h
bHM+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxJbnRlcm5hbHM+IGNyZWF0ZSgp
OworICAgIHZpcnR1YWwgfkludGVybmFscygpOworCitwcml2YXRlOgorICAgIEludGVybmFscygp
OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNTAxMWNlZjMyYzFiNzFmMDZkNzA3MmY5YjYw
ZDBjOTFiNDM0MDI5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuaWRsCkBAIC0wLDAgKzEsMjkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JT
ICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQor
ICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCittb2R1bGUgd2luZG93IHsKKyAg
ICBpbnRlcmZhY2UgW09taXRDb25zdHJ1Y3Rvcl0gSW50ZXJuYWxzIHsKKyAgICB9OworfQpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvanMvV2ViQ29yZVRlc3RTdXBwb3J0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvanMv
V2ViQ29yZVRlc3RTdXBwb3J0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYmM4M2I3ZGIxNTRmZDlhZmUxMzI0
YzllOTUzMjg5MzRiMjNiODMzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9qcy9XZWJDb3JlVGVzdFN1cHBvcnQuY3BwCkBAIC0wLDAgKzEsNDggQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFO
RCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAor
ICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
T1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2ViQ29yZVRlc3RTdXBwb3J0LmgiCisKKyNp
bmNsdWRlICJJbnRlcm5hbHMuaCIKKyNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdC5oIgorI2lu
Y2x1ZGUgIkpTSW50ZXJuYWxzLmgiCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvQVBJQ2FzdC5o
PgorI2luY2x1ZGUgPGludGVycHJldGVyL0NhbGxGcmFtZS5oPgorCit1c2luZyBuYW1lc3BhY2Ug
SlNDOwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK25hbWVzcGFjZSBXZWJDb3JlVGVzdFN1
cHBvcnQgeworCit2b2lkIGluamVjdEludGVybmFsc09iamVjdChKU0NvbnRleHRSZWYgY29udGV4
dCkKK3sKKyAgICBKU0xvY2sgbG9jayhTaWxlbmNlQXNzZXJ0aW9uc09ubHkpOworICAgIEV4ZWNT
dGF0ZSogZXhlYyA9IHRvSlMoY29udGV4dCk7CisgICAgSlNET01HbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCA9IHN0YXRpY19jYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZXhlYy0+bGV4aWNhbEds
b2JhbE9iamVjdCgpKTsKKyAgICBnbG9iYWxPYmplY3QtPnB1dERpcmVjdChleGVjLT5nbG9iYWxE
YXRhKCksIElkZW50aWZpZXIoZXhlYywgImludGVybmFscyIpLCB0b0pTKGV4ZWMsIGdsb2JhbE9i
amVjdCwgSW50ZXJuYWxzOjpjcmVhdGUoKSkpOworfQorCit9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL2pzL1dlYkNvcmVUZXN0U3VwcG9ydC5oIGIvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9qcy9XZWJDb3JlVGVzdFN1cHBvcnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NmQ3ZWQ0OWIzYmY3
Yjc2YTE0Y2Q1ODk4NjQ4YTFiZjM0YTAxMjZmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9qcy9XZWJDb3JlVGVzdFN1cHBvcnQuaApAQCAtMCwwICsxLDM3IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4g
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQK
KyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2lmbmRlZiBXZWJDb3JlVGVzdFN1cHBvcnRfaAorI2RlZmluZSBXZWJDb3JlVGVzdFN1
cHBvcnRfaAorCit0eXBlZGVmIGNvbnN0IHN0cnVjdCBPcGFxdWVKU0NvbnRleHQqIEpTQ29udGV4
dFJlZjsKKworbmFtZXNwYWNlIFdlYkNvcmVUZXN0U3VwcG9ydCB7CisKK3ZvaWQgaW5qZWN0SW50
ZXJuYWxzT2JqZWN0KEpTQ29udGV4dFJlZik7CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwor
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL3Y4L1dlYkNvcmVUZXN0
U3VwcG9ydC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL3Y4L1dlYkNvcmVUZXN0U3VwcG9y
dC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uOWFmOTM3NWI2ODM0MDk1MjAyYjhkYmUwYTY1YzFlZWZkN2Q1ODhk
YQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvdjgvV2ViQ29yZVRl
c3RTdXBwb3J0LmNwcApAQCAtMCwwICsxLDQ2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEx
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9S
UyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUK
KyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorI2luY2x1ZGUgIldlYkNvcmVUZXN0U3VwcG9ydC5oIgorCisjaW5jbHVkZSAiSW50ZXJuYWxz
LmgiCisjaW5jbHVkZSAiVjhJbnRlcm5hbHMuaCIKKworI2luY2x1ZGUgPHY4Lmg+CisKK3VzaW5n
IG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1lc3BhY2UgV2ViQ29yZVRlc3RTdXBwb3J0IHsKKwor
dm9pZCBpbmplY3RJbnRlcm5hbHNPYmplY3Qodjg6OkxvY2FsPHY4OjpDb250ZXh0PiBjb250ZXh0
KQoreworICAgIHY4OjpDb250ZXh0OjpTY29wZSBjb250ZXh0U2NvcGUoY29udGV4dCk7CisgICAg
djg6OkhhbmRsZVNjb3BlIHNjb3BlOworCisgICAgY29udGV4dC0+R2xvYmFsKCktPlNldCh2ODo6
U3RyaW5nOjpOZXcoImludGVybmFscyIpLCB0b1Y4KEludGVybmFsczo6Y3JlYXRlKCkpKTsKK30K
KworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy92OC9XZWJDb3JlVGVzdFN1
cHBvcnQuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvdjgvV2ViQ29yZVRlc3RTdXBwb3J0LmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uOWUzZDU4NzY3MDIzYmZjODk2ZDMxZjM4YzY5Yzg1ZTQ3YmMyMjZlOAotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvdjgvV2ViQ29yZVRlc3RTdXBw
b3J0LmgKQEAgLTAsMCArMSw0MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElT
IiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV2ViQ29yZVRlc3RTdXBwb3J0
X2gKKyNkZWZpbmUgV2ViQ29yZVRlc3RTdXBwb3J0X2gKKworbmFtZXNwYWNlIHY4IHsKK2NsYXNz
IENvbnRleHQ7Cit0ZW1wbGF0ZSA8Y2xhc3MgVD4gY2xhc3MgTG9jYWw7Cit9CisKK25hbWVzcGFj
ZSBXZWJDb3JlVGVzdFN1cHBvcnQgeworCit2b2lkIGluamVjdEludGVybmFsc09iamVjdCh2ODo6
TG9jYWw8djg6OkNvbnRleHQ+KTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggYzM0ZGUxOWY5OTdkOTk2NWQwNTdmNTg5NTM3
NDdmZjRlZWQ2MDk3ZC4uYzIwNzBiZDE0MGQ3MzRlM2YzYWRlNTE3NWVhMTk2NjdkODlhNDNkNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMS0wNS0yMSAg
RGltaXRyaSBHbGF6a292ICA8ZGdsYXprb3ZAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBidWlsZCBsb2dpc3RpY3MgYW5k
IHBsdW1iaW5nIGZvciB3aW5kb3cuaW50ZXJuYWxzIG9iamVjdC4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYwMzEzCisKKyAgICAgICAgKiBXZWJLaXQu
Z3lwOiBBZGRlZCBsaW5raW5nIG5ldyB3ZWJraXRfdGVzdF9zdXBwb3J0IGxpYnJhcnkuCisgICAg
ICAgICogcHVibGljL1dlYlRlc3RpbmdTdXBwb3J0Lmg6IEFkZGVkLgorICAgICAgICAqIHNyYy9X
ZWJUZXN0aW5nU3VwcG9ydC5jcHA6IEFkZGVkLgorCiAyMDExLTA1LTI0ICBKYXkgQ2l2ZWxsaSAg
PGpjaXZlbGxpQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRo
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwCmluZGV4IGFiMTI0ZWViZjk5ZGM3OWE2M2I5ODI3
NzYwOWRkNzVkMjY1NjQ1MTkuLmQ0MjFlOGIxOTdkNzMzOTAyOTg4ZWE2NjgzMWY0NDI3OGUyMjYx
ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cAorKysgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAKQEAgLTYwMyw2ICs2MDMsNyBAQAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
J2RlcGVuZGVuY2llcyc6IFsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy4uLy4u
L1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXA6d2ViY29yZV9iaW5kaW5ncycsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICcuLi8uLi9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dl
YkNvcmUuZ3lwOndlYmNvcmVfdGVzdF9zdXBwb3J0JywKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgJzwoY2hyb21pdW1fc3JjX2RpcikvYmFzZS9iYXNlLmd5cDp0ZXN0X3N1cHBvcnRf
YmFzZScsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8KGNocm9taXVtX3NyY19k
aXIpL2J1aWxkL3RlbXBfZ3lwL2dvb2dsZXVybC5neXA6Z29vZ2xldXJsJywKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgJzwoY2hyb21pdW1fc3JjX2RpcikvdGVzdGluZy9ndGVzdC5n
eXA6Z3Rlc3QnLApAQCAtNjI3LDggKzYyOCwxNSBAQAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAnPChjaHJvbWl1bV9zcmNfZGlyKS9idWlsZC90ZW1wX2d5cC9nb29nbGV1cmwuZ3lw
Omdvb2dsZXVybCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8KGNocm9taXVt
X3NyY19kaXIpL3Y4L3Rvb2xzL2d5cC92OC5neXA6djgnLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2luY2x1ZGVfZGlycyc6IFsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBXQVJOSU5HOiBEbyBub3QgdmlldyB0
aGlzIHBhcnRpY3VsYXIgY2FzZSBhcyBhIHByZWNlZGVudCBmb3IKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIyBpbmNsdWRpbmcgV2ViQ29yZSBoZWFkZXJzIGluIER1bXBSZW5kZXJU
cmVlIHByb2plY3QuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcuLi8uLi9XZWJD
b3JlL3Rlc3RpbmcvdjgnLCAjIGZvciBXZWJDb3JlVGVzdFN1cHBvcnQuaCwgbmVlZGVkIHRvIGxp
bmsgaW4gd2luZG93LmludGVybmFscyBjb2RlLgorICAgICAgICAgICAgICAgICAgICAgICAgICAg
IF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NvdXJjZXMnOiBbCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICc8QCh3ZWJraXRfdW5pdHRlc3RfZmlsZXMpJywKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NyYy9XZWJUZXN0aW5nU3VwcG9ydC5jcHAnLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHVibGljL1dlYlRlc3RpbmdTdXBwb3J0
LmgnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndGVzdHMvV2ViVW5pdFRlc3Rz
LmNwcCcsICAgIyBDb21wb25lbnRzIHRlc3QgcnVubmVyIHN1cHBvcnQuCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc291cmNlcyEn
OiBbCkBAIC0xMDg5LDYgKzEwOTcsMjAgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICc8KGNo
cm9taXVtX3NyY19kaXIpL3dlYmtpdC9zdXBwb3J0L3NldHVwX3RoaXJkX3BhcnR5Lmd5cDp0aGly
ZF9wYXJ0eV9oZWFkZXJzJywKICAgICAgICAgICAgICAgICAgICAgXQogICAgICAgICAgICAgICAg
IH1dLAorICAgICAgICAgICAgICAgIFsnY29tcG9uZW50IT0ic2hhcmVkX2xpYnJhcnkiJywgewor
ICAgICAgICAgICAgICAgICAgICAnZGVwZW5kZW5jaWVzJzogWworICAgICAgICAgICAgICAgICAg
ICAgICAgJy4uLy4uL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXA6d2ViY29yZV90ZXN0
X3N1cHBvcnQnLAorICAgICAgICAgICAgICAgICAgICBdLAorICAgICAgICAgICAgICAgICAgICAn
aW5jbHVkZV9kaXJzJzogWworICAgICAgICAgICAgICAgICAgICAgICAgIyBXQVJOSU5HOiBEbyBu
b3QgdmlldyB0aGlzIHBhcnRpY3VsYXIgY2FzZSBhcyBhIHByZWNlZGVudCBmb3IKKyAgICAgICAg
ICAgICAgICAgICAgICAgICMgaW5jbHVkaW5nIFdlYkNvcmUgaGVhZGVycyBpbiBEdW1wUmVuZGVy
VHJlZSBwcm9qZWN0LgorICAgICAgICAgICAgICAgICAgICAgICAgJy4uLy4uL1dlYkNvcmUvdGVz
dGluZy92OCcsICMgZm9yIFdlYkNvcmVUZXN0U3VwcG9ydC5oLCBuZWVkZWQgdG8gbGluayBpbiB3
aW5kb3cuaW50ZXJuYWxzIGNvZGUuCisgICAgICAgICAgICAgICAgICAgIF0sCisgICAgICAgICAg
ICAgICAgICAgICdzb3VyY2VzJzogWworICAgICAgICAgICAgICAgICAgICAgICAgJ3NyYy9XZWJU
ZXN0aW5nU3VwcG9ydC5jcHAnLAorICAgICAgICAgICAgICAgICAgICAgICAgJ3B1YmxpYy9XZWJU
ZXN0aW5nU3VwcG9ydC5oJywKKyAgICAgICAgICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICAg
ICB9XSwKICAgICAgICAgICAgIF0sCiAgICAgICAgIH0sCiAgICAgICAgIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlRlc3RpbmdTdXBwb3J0LmggYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJUZXN0aW5nU3VwcG9ydC5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmNkZjQ1NTVjMzExZGM2OTAxNmNiOTQ4NTIyZjkzMWNmNmVhOTc2MjEKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJUZXN0aW5nU3VwcG9ydC5oCkBA
IC0wLDAgKzEsNDIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdlYlRlc3RpbmdTdXBwb3J0X2gKKyNkZWZp
bmUgV2ViVGVzdGluZ1N1cHBvcnRfaAorCisjaW5jbHVkZSAiV2ViQ29tbW9uLmgiCisKK25hbWVz
cGFjZSBXZWJLaXQgeworCitjbGFzcyBXZWJGcmFtZTsKKworY2xhc3MgV2ViVGVzdGluZ1N1cHBv
cnQgeworcHVibGljOgorICAgIFdFQktJVF9BUEkgc3RhdGljIHZvaWQgaW5qZWN0SW50ZXJuYWxz
T2JqZWN0KFdlYkZyYW1lKik7Cit9OworCit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVGVzdGluZ1N1cHBvcnQuY3BwIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViVGVzdGluZ1N1cHBvcnQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI4MTU5ODRm
M2Q0OThjOWZlMWNjMGExNjhmNDA4NWE5MWZhYjUwOTQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJUZXN0aW5nU3VwcG9ydC5jcHAKQEAgLTAsMCArMSw0
MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoK
KyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisgCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2ViVGVzdGluZ1N1
cHBvcnQuaCIKKworI2luY2x1ZGUgIldlYkNvcmVUZXN0U3VwcG9ydC5oIgorI2luY2x1ZGUgIldl
YkZyYW1lLmgiCisjaW5jbHVkZSA8djgvaW5jbHVkZS92OC5oPgorCituYW1lc3BhY2UgV2ViS2l0
IHsKKwordm9pZCBXZWJUZXN0aW5nU3VwcG9ydDo6aW5qZWN0SW50ZXJuYWxzT2JqZWN0KFdlYkZy
YW1lKiBmcmFtZSkKK3sKKyAgICB2ODo6SGFuZGxlU2NvcGUgaGFuZGxlU2NvcGU7CisgICAgV2Vi
Q29yZVRlc3RTdXBwb3J0OjppbmplY3RJbnRlcm5hbHNPYmplY3QoZnJhbWUtPm1haW5Xb3JsZFNj
cmlwdENvbnRleHQoKSk7Cit9CisKK30KZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rv
b2xzL0NoYW5nZUxvZwppbmRleCA2MTFkMWUwMTM2Njc0NzNjMGI0ZjM1YTAxMmUwYWVlYmY4NmUy
YmNmLi5mNzE1ODVjNmRmNDljNGJmZDgxZGJiZmQ4MzU1YTkwOTQzYTVhMzRiIDEwMDY0NAotLS0g
YS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAK
KzIwMTEtMDUtMjEgIERpbWl0cmkgR2xhemtvdiAgPGRnbGF6a292QGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYnVpbGQg
bG9naXN0aWNzIGFuZCBwbHVtYmluZyBmb3Igd2luZG93LmludGVybmFscyBvYmplY3QuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDMxMworCisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvRHVtcFJlbmRlclRyZWUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvajogQWRkZWQgbGlua2luZyBuZXcgV2ViQ29yZVRlc3RTdXBwb3J0IGxpYnJhcnkuCisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmNwcDoKKyAgICAgICAgKFRl
c3RTaGVsbDo6YmluZEpTT2JqZWN0c1RvV2luZG93KTogQWRkZWQgaW5qZWN0aW9uIGNvZGUuCisg
ICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFjL0ZyYW1lTG9hZERlbGVnYXRlLm1tOgorICAgICAg
ICAoLVtGcmFtZUxvYWREZWxlZ2F0ZSBkaWRDbGVhcldpbmRvd09iamVjdEluU3RhbmRhcmRXb3Js
ZEZvckZyYW1lOl0pOiBEaXR0by4KKwogMjAxMS0wNS0yNCAgUm9iZXJ0IEhvZ2FuICA8cm9iZXJ0
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgUnlvc3VrZSBOaXdhLgpkaWZmIC0t
Z2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvRHVtcFJlbmRlclRyZWUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvaiBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL0R1bXBSZW5kZXJUcmVlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKaW5kZXggNzM2YTEwMzA2NWVhOWNjZTBmNWQzMjg4MzBmNDNmYTE0
MTQzNDhkNi4uZGJiYjkzNjQ4YzFhOGYxMTg2NjA5OGQyMWQ5MWRiNzhiODk1OTc4YiAxMDA2NDQK
LS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvRHVtcFJlbmRlclRyZWUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9EdW1wUmVuZGVyVHJlZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC01Niw2ICs1Niw4IEBACiAJCTM3MTNFREUzMTE1QkUx
OTMwMDcwNTcyMCAvKiBDb2xvckJpdHMudHRmIGluIENvcHkgRm9udCBGaWxlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzNzEzRURFMDExNUJFMTZGMDA3MDU3MjAgLyogQ29s
b3JCaXRzLnR0ZiAqLzsgfTsKIAkJM0E1NjI2Q0IxMzFDQTAyQTAwMkJFNkQ5IC8qIFN0b3JhZ2VU
cmFja2VyRGVsZWdhdGUubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAzQTU2MjZDMTEzMUM4QjE3MDAyQkU2RDkgLyogU3RvcmFnZVRyYWNrZXJEZWxlZ2F0
ZS5tbSAqLzsgfTsKIAkJM0E1NjI2Q0MxMzFDQTAzNjAwMkJFNkQ5IC8qIFN0b3JhZ2VUcmFja2Vy
RGVsZWdhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDNBNTYyNkMwMTMxQzhCMTcwMDJCRTZEOSAvKiBTdG9yYWdlVHJhY2tlckRlbGVnYXRlLmggKi87
IH07CisJCTQxMjMwQkFEMTM4QzQ3QUUwMEJDQ0ZDQSAvKiBXZWJDb3JlVGVzdFN1cHBvcnQuZHls
aWIgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTIz
MEJBQTEzOEM0NzdBMDBCQ0NGQ0EgLyogV2ViQ29yZVRlc3RTdXBwb3J0LmR5bGliICovOyB9Owor
CQk0MTdEQUExRDEzN0IzRTI0MDA3QzU3RkIgLyogV2ViQ29yZVRlc3RTdXBwb3J0LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTdEQUExQzEzN0IzRTI0
MDA3QzU3RkIgLyogV2ViQ29yZVRlc3RTdXBwb3J0LmggKi87IH07CiAJCTQ0MDU5MDcxMTI2ODQ1
MzgwMENGRDQ4RCAvKiBXZWJBcmNoaXZlRHVtcFN1cHBvcnRNYWMubW0gaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0NDA1OTA3MDEyNjg0NTM4MDBDRkQ0OEQg
LyogV2ViQXJjaGl2ZUR1bXBTdXBwb3J0TWFjLm1tICovOyB9OwogCQk0NDM3NzMwRTEyNUNCQzM2
MDBBQUUwMkMgLyogV2ViQXJjaGl2ZUR1bXBTdXBwb3J0LmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0QTk5NzgzMEZDREU4NjQwMDU4MEYxMCAvKiBX
ZWJBcmNoaXZlRHVtcFN1cHBvcnQuY3BwICovOyB9OwogCQk0NDM3NzMwRjEyNUNCQzREMDBBQUUw
MkMgLyogV2ViQXJjaGl2ZUR1bXBTdXBwb3J0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0NEE5OTc4MjBGQ0RFODY0MDA1ODBGMTAgLyogV2ViQXJjaGl2
ZUR1bXBTdXBwb3J0LmggKi87IH07CkBAIC0yNDUsNiArMjQ3LDkgQEAKIAkJMzc1RjA5NzkwREFD
M0NCNjAwQzhCNEU1IC8qIFdlYktpdFdlaWdodFdhdGNoZXI5MDAudHRmICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gZmlsZTsgbmFtZSA9IFdlYktpdFdl
aWdodFdhdGNoZXI5MDAudHRmOyBwYXRoID0gZm9udHMvV2ViS2l0V2VpZ2h0V2F0Y2hlcjkwMC50
dGY7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTNBNTYyNkMwMTMxQzhCMTcwMDJCRTZE
OSAvKiBTdG9yYWdlVHJhY2tlckRlbGVnYXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFN0b3JhZ2VUcmFja2VyRGVsZWdhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJM0E1NjI2QzExMzFDOEIxNzAwMkJFNkQ5IC8qIFN0b3JhZ2VUcmFja2VyRGVsZWdhdGUu
bW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTdG9yYWdlVHJhY2tl
ckRlbGVnYXRlLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTIzMEJBQTEzOEM0
NzdBMDBCQ0NGQ0EgLyogV2ViQ29yZVRlc3RTdXBwb3J0LmR5bGliICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gImNvbXBpbGVkLm1hY2gtby5keWxpYiI7
IHBhdGggPSBXZWJDb3JlVGVzdFN1cHBvcnQuZHlsaWI7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9E
VUNUU19ESVI7IH07CisJCTQxMjMwREY1MTM4Qzc1OUUwMEJDQ0ZDQSAvKiBXZWJDb3JlVGVzdFN1
cHBvcnQuZHlsaWIgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSAiY29tcGlsZWQubWFjaC1vLmR5bGliIjsgbmFtZSA9IFdlYkNvcmVUZXN0U3VwcG9ydC5k
eWxpYjsgcGF0aCA9IC9Wb2x1bWVzL1dvcmsvV2ViS2l0L1dlYktpdEJ1aWxkL0RlYnVnL1dlYkNv
cmVUZXN0U3VwcG9ydC5keWxpYjsgc291cmNlVHJlZSA9ICI8YWJzb2x1dGU+IjsgfTsKKwkJNDE3
REFBMUMxMzdCM0UyNDAwN0M1N0ZCIC8qIFdlYkNvcmVUZXN0U3VwcG9ydC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IG5hbWUgPSBXZWJDb3JlVGVzdFN1cHBvcnQuaDsgcGF0aCA9IFdlYkNv
cmVUZXN0U3VwcG9ydC9XZWJDb3JlVGVzdFN1cHBvcnQuaDsgc291cmNlVHJlZSA9IEJVSUxUX1BS
T0RVQ1RTX0RJUjsgfTsKIAkJNDQwNTkwNzAxMjY4NDUzODAwQ0ZENDhEIC8qIFdlYkFyY2hpdmVE
dW1wU3VwcG9ydE1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9
IFdlYkFyY2hpdmVEdW1wU3VwcG9ydE1hYy5tbTsgcGF0aCA9IG1hYy9XZWJBcmNoaXZlRHVtcFN1
cHBvcnRNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0QTk5NzgyMEZDREU4
NjQwMDU4MEYxMCAvKiBXZWJBcmNoaXZlRHVtcFN1cHBvcnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBuYW1lID0gV2ViQXJjaGl2ZUR1bXBTdXBwb3J0Lmg7IHBhdGggPSBjZi9XZWJBcmNo
aXZlRHVtcFN1cHBvcnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDRBOTk3ODMw
RkNERTg2NDAwNTgwRjEwIC8qIFdlYkFyY2hpdmVEdW1wU3VwcG9ydC5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBXZWJBcmNoaXZlRHVtcFN1cHBvcnQuY3BwOyBwYXRo
ID0gY2YvV2ViQXJjaGl2ZUR1bXBTdXBwb3J0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTM1OSw2ICszNjQsNyBAQAogCQkJCUE4MTcwOTA0MDhCMTY0RDMwMENDQjlGQiAvKiBK
YXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKIAkJCQkyM0JDQjg5MDBF
QTU3NjIzMDAzQzYyODkgLyogT3BlbkdMLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAogCQkJ
CTkzNDA5OTUxMDg1NDBDQUUwMDdGM0JDOCAvKiBXZWJLaXQuZnJhbWV3b3JrIGluIEZyYW1ld29y
a3MgKi8sCisJCQkJNDEyMzBCQUQxMzhDNDdBRTAwQkNDRkNBIC8qIFdlYkNvcmVUZXN0U3VwcG9y
dC5keWxpYiBpbiBGcmFtZXdvcmtzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50
UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtNDAzLDkgKzQwOSwxMSBAQAogCQkJCUE4Qjkx
QUM0MENGM0IxNzAwMDhGOTFGRiAvKiBPYmpDUGx1Z2luICovLAogCQkJCTE0MUJGMUY1MDk2QTQz
OTgwMEUwNzUzQyAvKiBUZXN0TmV0c2NhcGVQbHVnSW4gKi8sCiAJCQkJOTM0NTIyOUIwQkQxMkIy
QzAwODZFREEwIC8qIFJlc291cmNlcyAqLywKKwkJCQk0MTdEQTkxODEzNzM2NzREMDA3QzU3RkIg
LyogV2ViQ29yZVRlc3RTdXBwb3J0ICovLAogCQkJCUE4MDNGRjY0MDlDQUFDQzEwMDlCMkEzNyAv
KiBGcmFtZXdvcmtzICovLAogCQkJCTkzNDA5OTU1MDg1NDBDQUYwMDdGM0JDOCAvKiBQcm9kdWN0
cyAqLywKIAkJCQlCQ0IyODFFRDBDRkE3MTFEMDA3RTUzM0UgLyogQ29uZmlndXJhdGlvbnMgKi8s
CisJCQkJNDEyMzBERjUxMzhDNzU5RTAwQkNDRkNBIC8qIFdlYkNvcmVUZXN0U3VwcG9ydC5keWxp
YiAqLywKIAkJCSk7CiAJCQluYW1lID0gRHVtcFJlbmRlclRyZWU7CiAJCQlzb3VyY2VUcmVlID0g
Ijxncm91cD4iOwpAQCAtNTE0LDYgKzUyMiwxNSBAQAogCQkJcGF0aCA9IG1hYzsKIAkJCXNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCTQxN0RBOTE4MTM3MzY3NEQwMDdDNTdGQiAvKiBX
ZWJDb3JlVGVzdFN1cHBvcnQgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVu
ID0gKAorCQkJCTQxN0RBQTFDMTM3QjNFMjQwMDdDNTdGQiAvKiBXZWJDb3JlVGVzdFN1cHBvcnQu
aCAqLywKKwkJCQk0MTIzMEJBQTEzOEM0NzdBMDBCQ0NGQ0EgLyogV2ViQ29yZVRlc3RTdXBwb3J0
LmR5bGliICovLAorCQkJKTsKKwkJCW5hbWUgPSBXZWJDb3JlVGVzdFN1cHBvcnQ7CisJCQlzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOworCQl9OwogCQk5MzQwOTk1NTA4NTQwQ0FGMDA3RjNCQzggLyog
UHJvZHVjdHMgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKApAQCAt
NjU5LDYgKzY3Niw3IEBACiAJCQkJRTFCNzgxNjcxMUFGMzFDMzAwN0UxQkMyIC8qIE1vY2tHZW9s
b2NhdGlvblByb3ZpZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkyOUNGQkExMDEyMjczNkU2MDBC
QzMwQzAgLyogQWNjZXNzaWJpbGl0eVRleHRNYXJrZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTNB
NTYyNkNDMTMxQ0EwMzYwMDJCRTZEOSAvKiBTdG9yYWdlVHJhY2tlckRlbGVnYXRlLmggaW4gSGVh
ZGVycyAqLywKKwkJCQk0MTdEQUExRDEzN0IzRTI0MDA3QzU3RkIgLyogV2ViQ29yZVRlc3RTdXBw
b3J0LmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rw
cm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2No
cm9taXVtL1Rlc3RTaGVsbC5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0
U2hlbGwuY3BwCmluZGV4IGU4OGY0MGY5MDYxMTYyMmRlZmJiYThiN2EzNTM1MzE5OTcxNGEyZjQu
LmQzYTU4NzZiNTg4OTRmYjJmNjE0ODI2OTdjOWMzODdmZGY4NjRiMzMgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5jcHAKKysrIGIvVG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmNwcApAQCAtMzksNiArMzksNyBAQAogI2lu
Y2x1ZGUgIldlYkVsZW1lbnQuaCIKICNpbmNsdWRlICJXZWJGcmFtZS5oIgogI2luY2x1ZGUgIldl
Ykhpc3RvcnlJdGVtLmgiCisjaW5jbHVkZSAiV2ViVGVzdGluZ1N1cHBvcnQuaCIKICNpbmNsdWRl
ICJXZWJLaXQuaCIKICNpbmNsdWRlICJXZWJSdW50aW1lRmVhdHVyZXMuaCIKICNpbmNsdWRlICJX
ZWJTY3JpcHRDb250cm9sbGVyLmgiCkBAIC01ODAsNiArNTgxLDcgQEAgdm9pZCBUZXN0U2hlbGw6
OmR1bXBJbWFnZShTa0NhbnZhcyogY2FudmFzKSBjb25zdAogCiB2b2lkIFRlc3RTaGVsbDo6Ymlu
ZEpTT2JqZWN0c1RvV2luZG93KFdlYkZyYW1lKiBmcmFtZSkKIHsKKyAgICBXZWJUZXN0aW5nU3Vw
cG9ydDo6aW5qZWN0SW50ZXJuYWxzT2JqZWN0KGZyYW1lKTsKICAgICBtX2FjY2Vzc2liaWxpdHlD
b250cm9sbGVyLT5iaW5kVG9KYXZhc2NyaXB0KGZyYW1lLCBXZWJTdHJpbmc6OmZyb21VVEY4KCJh
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlciIpKTsKICAgICBtX2xheW91dFRlc3RDb250cm9sbGVyLT5i
aW5kVG9KYXZhc2NyaXB0KGZyYW1lLCBXZWJTdHJpbmc6OmZyb21VVEY4KCJsYXlvdXRUZXN0Q29u
dHJvbGxlciIpKTsKICAgICBtX2V2ZW50U2VuZGVyLT5iaW5kVG9KYXZhc2NyaXB0KGZyYW1lLCBX
ZWJTdHJpbmc6OmZyb21VVEY4KCJldmVudFNlbmRlciIpKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL21hYy9GcmFtZUxvYWREZWxlZ2F0ZS5tbSBiL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL21hYy9GcmFtZUxvYWREZWxlZ2F0ZS5tbQppbmRleCAyNzkzOWRmOTRmNzljNGZhZTVkNGYx
YTk4ZGZmOGRmY2M5MTA0Y2M0Li43YzRhNWVjYWQ5NmRkY2QxZGQ4OTZiYTg5ODhjYmZhNGExYzA4
NGM2IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRnJhbWVMb2FkRGVsZWdh
dGUubW0KKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0ZyYW1lTG9hZERlbGVnYXRlLm1t
CkBAIC00MSw2ICs0MSw3IEBACiAjaW1wb3J0ICJPYmpDUGx1Z2luRnVuY3Rpb24uaCIKICNpbXBv
cnQgIlBsYWluVGV4dENvbnRyb2xsZXIuaCIKICNpbXBvcnQgIlRleHRJbnB1dENvbnRyb2xsZXIu
aCIKKyNpbXBvcnQgIldlYkNvcmVUZXN0U3VwcG9ydC5oIgogI2ltcG9ydCAiV29ya1F1ZXVlLmgi
CiAjaW1wb3J0ICJXb3JrUXVldWVJdGVtLmgiCiAjaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9KYXZh
U2NyaXB0Q29yZS5oPgpAQCAtMjY2LDYgKzI2Nyw4IEBACiAgICAgYWNjZXNzaWJpbGl0eUNvbnRy
b2xsZXItPm1ha2VXaW5kb3dPYmplY3QoY29udGV4dCwgZ2xvYmFsT2JqZWN0LCAmZXhjZXB0aW9u
KTsKICAgICBBU1NFUlQoIWV4Y2VwdGlvbik7CiAKKyAgICBXZWJDb3JlVGVzdFN1cHBvcnQ6Omlu
amVjdEludGVybmFsc09iamVjdChjb250ZXh0KTsKKwogICAgIC8vIE1ha2UgT2xkLVN0eWxlIGNv
bnRyb2xsZXJzCiAKICAgICBXZWJWaWV3ICp3ZWJWaWV3ID0gW2ZyYW1lIHdlYlZpZXddOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>95962</attachid>
            <date>2011-06-03 14:24:52 -0700</date>
            <delta_ts>2011-06-03 14:39:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-60313-20110603142452.patch</filename>
            <type>text/plain</type>
            <size>9731</size>
            <attacher name="Martin Robinson">mrobinson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODgwMTkKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5n
ZUxvZwppbmRleCA4ZWY0OWZmNDFhMmRhYzYwMDI5Yjk0MjY0MzE4MjhmODM0MjE1YmY0Li4xYWIw
YTAzZTc1ZWI5YTUxYzZmMzZhMmZhMzRhOGM3MWY2MWYxMWFjIDEwMDY0NAotLS0gYS9DaGFuZ2VM
b2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDYtMDMgIE1hcnRpbiBS
b2JpbnNvbiAgPG1yb2JpbnNvbkBpZ2FsaWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBidWlsZCBsb2dpc3RpY3MgYW5kIHBsdW1iaW5n
IGZvciB3aW5kb3cuaW50ZXJuYWxzIG9iamVjdC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTYwMzEzCisKKyAgICAgICAgKiBTb3VyY2UvYXV0b3Rvb2xz
L3N5bWJvbHMuZmlsdGVyOiBBZGRlZCBzb21lIHN5bWJvbHMgbmVjZXNzYXJ5IGZvcgorICAgICAg
ICB3aW5kb3cuaW50ZXJuYWxzIHRvIGZ1bmN0aW9uIHRvIHRoZSBnbG9iYWwgc3ltYm9sIGxpc3Qu
CisKIDIwMTEtMDYtMDMgIEFsZXhpcyBNZW5hcmQgIDxhbGV4aXMubWVuYXJkQG9wZW5ib3NzYS5v
cmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQmVuamFtaW4gUG91bGFpbi4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAxYTM0
ODNiYTdkM2RkYjc5NTBjNTI1ZjE4MzdlNmI5MWY3OGM0NGE0Li4xYjUyMWEzMWY2Y2JiM2RlYjYx
NWU3ZWFhYjk3NGVhNjk2MzUxM2FlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTEtMDYtMDMg
IE1hcnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNvbkBpZ2FsaWEuY29tPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBidWlsZCBsb2dpc3RpY3MgYW5k
IHBsdW1iaW5nIGZvciB3aW5kb3cuaW50ZXJuYWxzIG9iamVjdC4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYwMzEzCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9ndGsvU2tpcHBlZDogVW5za2lwIHRoZSBvbmUgbmV3IHdpbmRvdy5pbnRlcm5hbHMgdGVzdC4K
KwogMjAxMS0wNi0wMyAgTWFyY3VzIEJ1bGFjaCAgPGJ1bGFjaEBjaHJvbWl1bS5vcmc+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgVW5yZXZpZXdlZCByZWJhc2VsaW5lLgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsv
U2tpcHBlZAppbmRleCA2YWI3ODExNzU5MTYwYWIxYmM4NmI0NjQwNGQ3Y2MwMDVkODE2YWJlLi40
MjNhOWMxODUyNmVhNGQxZWFhM2QyM2I3NTc3N2JkMTI4ODAxY2Q4IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9n
dGsvU2tpcHBlZApAQCAtMTUyOSw2ICsxNTI5LDMgQEAgaHR0cC90ZXN0cy9ldmVudHNvdXJjZS93
b3JrZXJzL2V2ZW50c291cmNlLXNpbXBsZS5odG1sCiAKICMgZmFpbGluZyBkcm9wem9uZSB0ZXN0
KGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYxNjMwKQogZmFzdC9ldmVu
dHMvZHJvcHpvbmUtMDAyLmh0bWwKLQotIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NjEwNzEKLWZhc3QvaGFybmVzcy9pbnRlcm5hbHMtb2JqZWN0Lmh0bWwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwppbmRleCA3MWY3ODI2NDE1ODczOTVhZjQ2MzliMWZiNmJmODI5YTAwZTEzYWI5Li5iN2FlYzc0
YjU3NjI4MWU0ZDYwM2M5ZTg4ZTUzNzZiZmI1OGUyOTkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTMgQEAKKzIwMTEtMDYtMDMgIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNvbkBpZ2FsaWEuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBi
dWlsZCBsb2dpc3RpY3MgYW5kIHBsdW1iaW5nIGZvciB3aW5kb3cuaW50ZXJuYWxzIG9iamVjdC4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYwMzEzCisK
KyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbTogQWRkIG5ldyBpbnRlcm5hbHMgZGlyZWN0b3JpZXMg
dG8gdGhlIFZQQVRICisgICAgICAgIChmb3IgaWRsIHByb2Nlc3NpbmcpIGFuZCB0aGUgaW5jbHVk
ZSBsaXN0LgorCiAyMDExLTA2LTAzICBIYW5zIFdlbm5ib3JnICA8aGFuc0BjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU3RldmUgQmxvY2suCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9HTlVtYWtlZmlsZS5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmlu
ZGV4IDI4MTZhNGJiNGI0YjFhMDQyMDY5ODAxYjI3NGFiZTNmMmYwYjNkNWYuLjNjY2IwYTlhZjkx
YWUzNWVjOWU5ZmE1NzBmMjRiMTNlNTMyZjhlOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0dOVW1ha2VmaWxlLmFtCisrKyBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC03
Niw2ICs3Niw4IEBAIHdlYmNvcmVfY3BwZmxhZ3MgKz0gXAogCS1JJChzcmNkaXIpL1NvdXJjZS9X
ZWJDb3JlL3N2Zy9ncmFwaGljcyBcCiAJLUkkKHNyY2RpcikvU291cmNlL1dlYkNvcmUvc3ZnL2dy
YXBoaWNzL2ZpbHRlcnMgXAogCS1JJChzcmNkaXIpL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0
aWVzIFwKKwktSSQoc3JjZGlyKS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nIFwKKwktSSQoc3JjZGly
KS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL2pzIFwKIAktSSQoc3JjZGlyKS9Tb3VyY2UvV2ViQ29y
ZS93ZWJhdWRpbyBcCiAJLUkkKHNyY2RpcikvU291cmNlL1dlYkNvcmUvd2Vic29ja2V0cyBcCiAJ
LUkkKHNyY2RpcikvU291cmNlL1dlYkNvcmUvd29ya2VycyBcCkBAIC03MDcsNiArNzA5LDcgQEAg
SURMX1BBVEggOj0gXAogICAgICQoV2ViQ29yZSkvcGx1Z2lucyBcCiAgICAgJChXZWJDb3JlKS9z
dG9yYWdlIFwKICAgICAkKFdlYkNvcmUpL3N2ZyBcCisgICAgJChXZWJDb3JlKS90ZXN0aW5nIFwK
ICAgICAkKFdlYkNvcmUpL3dlYmF1ZGlvIFwKICAgICAkKFdlYkNvcmUpL3dlYnNvY2tldHMgXAog
ICAgICQoV2ViQ29yZSkvd29ya2VycyBcCkBAIC03ODAsNiArNzgzLDcgQEAgRVhUUkFfRElTVCAr
PSBcCiAJJChzaGVsbCBscyAkKHNyY2RpcikvU291cmNlL1dlYkNvcmUvcGx1Z2lucy8qLmlkbCkg
XAogCSQoc2hlbGwgbHMgJChzcmNkaXIpL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvKi5pZGwpIFwK
IAkkKHNoZWxsIGxzICQoc3JjZGlyKS9Tb3VyY2UvV2ViQ29yZS9zdmcvKi5pZGwpIFwKKwkkKHNo
ZWxsIGxzICQoc3JjZGlyKS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nLyouaWRsKSBcCiAJJChzaGVs
bCBscyAkKHNyY2RpcikvU291cmNlL1dlYkNvcmUvd2ViYXVkaW8vKi5pZGwpIFwKIAkkKHNoZWxs
IGxzICQoc3JjZGlyKS9Tb3VyY2UvV2ViQ29yZS93ZWJzb2NrZXRzLyouaWRsKSBcCiAJJChzaGVs
bCBscyAkKHNyY2RpcikvU291cmNlL1dlYkNvcmUvd29ya2Vycy8qLmlkbCkgXApkaWZmIC0tZ2l0
IGEvU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlciBiL1NvdXJjZS9hdXRvdG9vbHMvc3lt
Ym9scy5maWx0ZXIKaW5kZXggN2U0NzgxYjRjZmU3MmQwMjI1NjIxMThjYzY5NTc0YWUwODViNmIz
My4uNzMzYTY5ZjZmNGVjNTc0Mjg0Y2YzZDI1NTBhNzkzNTNmMmJkNzRmZSAxMDA2NDQKLS0tIGEv
U291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlcgorKysgYi9Tb3VyY2UvYXV0b3Rvb2xzL3N5
bWJvbHMuZmlsdGVyCkBAIC0yNiw2ICsyNiw5IEBAIF9aTjNXVEY3Q1N0cmluZ0MyRVBLY207CiBf
Wk4zV1RGN0NTdHJpbmdEMUV2OwogX1pOM1dURjdDU3RyaW5nYVNFUktTMF87CiBfWk4yNER1bXBS
ZW5kZXJUcmVlU3VwcG9ydEd0ayo7CitfWk43V2ViQ29yZTIxZ2V0Q2FjaGVkRE9NU3RydWN0dXJl
RVBOU18xN0pTRE9NR2xvYmFsT2JqZWN0RVBLTjNKU0M5Q2xhc3NJbmZvRTsKK19aTjdXZWJDb3Jl
MTdjYWNoZURPTVN0cnVjdHVyZUVQTlNfMTdKU0RPTUdsb2JhbE9iamVjdEVQTjNKU0M5U3RydWN0
dXJlRVBLTlMyXzlDbGFzc0luZm9FOworX1pON1dlYkNvcmUxMkpTRE9NV3JhcHBlcjM0dmlydHVh
bEZ1bmN0aW9uVG9QcmV2ZW50V2Vha1Z0YWJsZUV2OwogbG9jYWw6CiBfWio7CiBjdGkqOwpkaWZm
IC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDUwOWQwMjM2
YmNjNTVhNmU5OGJiMWQxZjI4MjExODIzNzFlZTkxODUuLjc1Yjg0MjEwMGJhM2U1ZThmYjg5Nzg3
NTQ0ZTYwOTUxODE0NGZhZTkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29s
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMS0wNi0wMyAgTWFydGluIFJvYmluc29u
ICA8bXJvYmluc29uQGlnYWxpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQWRkIGJ1aWxkIGxvZ2lzdGljcyBhbmQgcGx1bWJpbmcgZm9yIHdp
bmRvdy5pbnRlcm5hbHMgb2JqZWN0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NjAzMTMKKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2d0ay9EdW1w
UmVuZGVyVHJlZS5jcHA6CisgICAgICAgICh3ZWJWaWV3V2luZG93T2JqZWN0Q2xlYXJlZCk6IElu
amVjdCB0aGUgbmV3IGludGVybmFscyBvYmplY3Qgd2hlbiB0aGUKKyAgICAgICAgd2luZG93IG9i
amVjdCBjbGVhcnMuCisgICAgICAgICogR05VbWFrZWZpbGUuYW06IEFkZCBuZXcgc291cmNlIGZp
bGVzIGFuZCBpbmNsdWRlcyBuZWNlc3NhcnkgZm9yIHdpbmRvdy5pbnRlcm5hbHMuCisgICAgICAg
IEFsc28gZG8gYSBsaXR0bGUgYml0IG9mIGNsZWFudXAuCisKIDIwMTEtMDYtMDMgIENhcnkgQ2xh
cmsgIDxjYXJ5Y2xhcmtAZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNl
aWRlbC4KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9EdW1wUmVuZGVyVHJl
ZS5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9ndGsvRHVtcFJlbmRlclRyZWUuY3BwCmluZGV4
IGE2NzFlMWY0MTVlMTkzYWQ5YmJlMDI4OWNiNGYxNWQzYWZkMzE1YjguLjBjZGUzYzk5MzUyYjFi
YzFmNjA0YTY2NmNjNTljNjhhZDgzZDU4YzMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL2d0ay9EdW1wUmVuZGVyVHJlZS5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvZ3Rr
L0R1bXBSZW5kZXJUcmVlLmNwcApAQCAtNDIsNiArNDIsNyBAQAogI2luY2x1ZGUgIlBsYWluVGV4
dENvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJUZXh0SW5wdXRDb250cm9sbGVyLmgiCiAjaW5jbHVk
ZSAiV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrLmgiCisjaW5jbHVkZSAi
V2ViQ29yZVRlc3RTdXBwb3J0LmgiCiAjaW5jbHVkZSAiV29ya1F1ZXVlLmgiCiAjaW5jbHVkZSAi
V29ya1F1ZXVlSXRlbS5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0phdmFTY3JpcHQuaD4K
QEAgLTg0MCw2ICs4NDEsNyBAQCBzdGF0aWMgdm9pZCB3ZWJWaWV3V2luZG93T2JqZWN0Q2xlYXJl
ZChXZWJLaXRXZWJWaWV3KiB2aWV3LCBXZWJLaXRXZWJGcmFtZSogZnJhbQogICAgIGFkZENvbnRy
b2xsZXJUb1dpbmRvdyhjb250ZXh0LCB3aW5kb3dPYmplY3QsICJldmVudFNlbmRlciIsIG1ha2VF
dmVudFNlbmRlcihjb250ZXh0LCAhd2Via2l0X3dlYl9mcmFtZV9nZXRfcGFyZW50KGZyYW1lKSkp
OwogICAgIGFkZENvbnRyb2xsZXJUb1dpbmRvdyhjb250ZXh0LCB3aW5kb3dPYmplY3QsICJwbGFp
blRleHQiLCBtYWtlUGxhaW5UZXh0Q29udHJvbGxlcihjb250ZXh0KSk7CiAgICAgYWRkQ29udHJv
bGxlclRvV2luZG93KGNvbnRleHQsIHdpbmRvd09iamVjdCwgInRleHRJbnB1dENvbnRyb2xsZXIi
LCBtYWtlVGV4dElucHV0Q29udHJvbGxlcihjb250ZXh0KSk7CisgICAgV2ViQ29yZVRlc3RTdXBw
b3J0OjppbmplY3RJbnRlcm5hbHNPYmplY3QoY29udGV4dCk7CiB9CiAKIHN0YXRpYyBnYm9vbGVh
biB3ZWJWaWV3Q29uc29sZU1lc3NhZ2UoV2ViS2l0V2ViVmlldyogdmlldywgY29uc3QgZ2NoYXIq
IG1lc3NhZ2UsIHVuc2lnbmVkIGludCBsaW5lLCBjb25zdCBnY2hhciogc291cmNlSWQsIGdwb2lu
dGVyIGRhdGEpCmRpZmYgLS1naXQgYS9Ub29scy9HTlVtYWtlZmlsZS5hbSBiL1Rvb2xzL0dOVW1h
a2VmaWxlLmFtCmluZGV4IDVmNzFkNjMyMTBmODgwNmVhYjJkNzA2ZWIwMjdlMzQxMDQ0MGYxMzcu
LjNlYTZiZDAzZDc0NDgxOTQwNWI0NzU1NjFhMDczZDM5Mjc3NTdiZDggMTAwNjQ0Ci0tLSBhL1Rv
b2xzL0dOVW1ha2VmaWxlLmFtCisrKyBiL1Rvb2xzL0dOVW1ha2VmaWxlLmFtCkBAIC0zNCwyMCAr
MzQsNTEgQEAgUHJvZ3JhbXNfR3RrTGF1bmNoZXJfTERGTEFHUyA9IFwKIAktbm8tZmFzdC1pbnN0
YWxsIFwKIAktbm8taW5zdGFsbAogCisjIGxpYldlYkNvcmVJbnRlcm5hbHMKKyMgV2UgbXVzdCBz
cGxpdCBvZmYgdGhlIHdpbmRvdy5pbnRlcm5hbHMgaW1wbGVtZW50YXRpb24gaW50byBhIHNlcGFy
YXRlCisjIGNvbnZlbmllbmNlIGxpYnJhcnkgYmVjYXVzZSBpdCByZXF1aXJlcyBhIGRpZmZlcmVu
dCBpbmNsdWRlIHBhdGggb3JkZXIKKyMgdG8gcHJlZmVyIHRoZSBXZWJDb3JlIGNvbmZpZy5oIG92
ZXIgdGhlIER1bXBSZW5kZXJUcmVlIGNvbmZpZy5oCitub2luc3RfTFRMSUJSQVJJRVMgKz0gbGli
V2ViQ29yZUludGVybmFscy5sYQorbGliV2ViQ29yZUludGVybmFsc19sYV9TT1VSQ0VTID0gXAor
CVNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBcCisJU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuaCBcCisJU291cmNlL1dlYkNvcmUvdGVzdGluZy9qcy9XZWJDb3Jl
VGVzdFN1cHBvcnQuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS90ZXN0aW5nL2pzL1dlYkNvcmVUZXN0
U3VwcG9ydC5oCisKK25vZGlzdF9saWJXZWJDb3JlSW50ZXJuYWxzX2xhX1NPVVJDRVMgPSBcCisJ
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0ludGVybmFscy5jcHAgXAorCURlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNJbnRlcm5hbHMuaAorCitsaWJXZWJDb3JlSW50ZXJuYWxzX2xhX0NQUEZMQUdT
ID0gXAorCSQoZ2xvYmFsX2NwcGZsYWdzKSBcCisJJCh3ZWJjb3JlX2NwcGZsYWdzKSBcCisJJCh3
ZWJjb3JlZ3RrX2NwcGZsYWdzKSBcCisJJChqYXZhc2NyaXB0Y29yZV9jcHBmbGFncykKKwktSSQo
dG9wX2J1aWxkZGlyKS9EZXJpdmVkU291cmNlcyBcCisJLUkkKHRvcF9idWlsZGRpcikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZQorCitsaWJXZWJDb3JlSW50ZXJuYWxzX2xhX0NYWEZMQUdTID0gXAor
CS1mbm8tc3RyaWN0LWFsaWFzaW5nIFwKKwkkKGdsb2JhbF9jeHhmbGFncykKKwogIyBEdW1wUmVu
ZGVyVHJlZQotZHVtcHJlbmRlcnRyZWVfY3BwZmxhZ3MgOj0gXAorUHJvZ3JhbXNfRHVtcFJlbmRl
clRyZWVfQ1BQRkxBR1MgPSBcCisJJChnbG9iYWxfY3BwZmxhZ3MpIFwKIAktSSQoc3JjZGlyKS9U
b29scy9EdW1wUmVuZGVyVHJlZSBcCiAJLUkkKHNyY2RpcikvVG9vbHMvRHVtcFJlbmRlclRyZWUv
Y2Fpcm8gXAogCS1JJChzcmNkaXIpL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ayBcCiAJLUkkKHNy
Y2RpcikvU291cmNlL1dlYktpdC9ndGsgXAogCS1JJChzcmNkaXIpL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2d0ayBcCi0JLUkkKHNyY2RpcikvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9zb3VwL2NhY2hlLyBcCi0JLUkkKHRvcF9idWlsZGRpcikvU291cmNlL1dlYktpdC9ndGsgXAor
CS1JJChzcmNkaXIpL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvanMgXAogCS1JJCh0b3BfYnVpbGRk
aXIpL0Rlcml2ZWRTb3VyY2VzIFwKLQkkKGdsb2JhbF9jcHBmbGFncykgXAorCS1JJCh0b3BfYnVp
bGRkaXIpL1NvdXJjZS9XZWJLaXQvZ3RrIFwKIAkkKGphdmFzY3JpcHRjb3JlX2NwcGZsYWdzKQog
Ci1Qcm9ncmFtc19EdW1wUmVuZGVyVHJlZV9DUFBGTEFHUyA9ICQoZHVtcHJlbmRlcnRyZWVfY3Bw
ZmxhZ3MpCitpZiBUQVJHRVRfWDExCitQcm9ncmFtc19EdW1wUmVuZGVyVHJlZV9DUFBGTEFHUyAr
PSBcCisJLURURVNUX1BMVUdJTl9ESVI9XCIke3NoZWxsIHB3ZH0vJHt0b3BfYnVpbGRkaXJ9L1Rl
c3ROZXRzY2FwZVBsdWdpbi8ubGlic1wiIFwKKwktREZPTlRTX0NPTkZfRElSPVwiJHtzaGVsbCBw
d2R9LyR7c3JjZGlyfS9Ub29scy9EdW1wUmVuZGVyVHJlZS9ndGsvZm9udHNcIgorZW5kaWYKIAog
UHJvZ3JhbXNfRHVtcFJlbmRlclRyZWVfU09VUkNFUyA9IFwKIAlUb29scy9EdW1wUmVuZGVyVHJl
ZS9EdW1wUmVuZGVyVHJlZS5oIFwKQEAgLTk1LDEyICsxMjYsMTAgQEAgUHJvZ3JhbXNfRHVtcFJl
bmRlclRyZWVfU09VUkNFUyA9IFwKIAogUHJvZ3JhbXNfRHVtcFJlbmRlclRyZWVfQ1hYRkxBR1Mg
PSBcCiAJJChnbG9iYWxfY3h4ZmxhZ3MpIFwKLQkkKGR1bXByZW5kZXJ0cmVlX2NwcGZsYWdzKSBc
CiAJJChQcm9ncmFtc19EdW1wUmVuZGVyVHJlZV9DRkxBR1MpCiAKIFByb2dyYW1zX0R1bXBSZW5k
ZXJUcmVlX0NGTEFHUyA9IFwKIAktZm5vLXN0cmljdC1hbGlhc2luZyBcCi0JJChkdW1wcmVuZGVy
dHJlZV9jcHBmbGFncykgXAogCSQoZ2xvYmFsX2NmbGFncykgXAogCSQoR0xPQkFMREVQU19DRkxB
R1MpIFwKIAkkKENBSVJPX0NGTEFHUykgXApAQCAtMTEwLDYgKzEzOSw3IEBAIFByb2dyYW1zX0R1
bXBSZW5kZXJUcmVlX0NGTEFHUyA9IFwKIFByb2dyYW1zX0R1bXBSZW5kZXJUcmVlX0xEQUREID0g
XAogCWxpYmphdmFzY3JpcHRjb3JlZ3RrLUBXRUJLSVRHVEtfQVBJX01BSk9SX1ZFUlNJT05ALkBX
RUJLSVRHVEtfQVBJX01JTk9SX1ZFUlNJT05ALmxhIFwKIAlsaWJ3ZWJraXRndGstQFdFQktJVEdU
S19BUElfTUFKT1JfVkVSU0lPTkAuQFdFQktJVEdUS19BUElfTUlOT1JfVkVSU0lPTkAubGEgXAor
CWxpYldlYkNvcmVJbnRlcm5hbHMubGEgXAogCSQoR0xPQkFMREVQU19MSUJTKSBcCiAJJChDQUlS
T19MSUJTKSBcCiAJJChHVEtfTElCUykgXApAQCAtMTU5LDEwICsxODksNiBAQCBpZiBUQVJHRVRf
WDExCiBub2luc3RfTFRMSUJSQVJJRVMgKz0gXAogCVRlc3ROZXRzY2FwZVBsdWdpbi9saWJ0ZXN0
bmV0c2NhcGVwbHVnaW4ubGEKIAotZHVtcHJlbmRlcnRyZWVfY3BwZmxhZ3MgKz0gXAotCS1EVEVT
VF9QTFVHSU5fRElSPVwiJHtzaGVsbCBwd2R9LyR7dG9wX2J1aWxkZGlyfS9UZXN0TmV0c2NhcGVQ
bHVnaW4vLmxpYnNcIiBcCi0JLURGT05UU19DT05GX0RJUj1cIiR7c2hlbGwgcHdkfS8ke3NyY2Rp
cn0vVG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL2ZvbnRzXCIKLQogVGVzdE5ldHNjYXBlUGx1Z2lu
X2xpYnRlc3RuZXRzY2FwZXBsdWdpbl9sYV9DUFBGTEFHUyA9IFwKIAktSSQoc3JjZGlyKS9Ub29s
cy9EdW1wUmVuZGVyVHJlZSBcCiAJLUkkKHNyY2RpcikvVG9vbHMvRHVtcFJlbmRlclRyZWUvdW5p
eC9UZXN0TmV0c2NhcGVQbHVnaW4vRm9yd2FyZGluZ0hlYWRlcnMgXAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>