<?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>149751</bug_id>
          
          <creation_ts>2015-10-02 09:25:08 -0700</creation_ts>
          <short_desc>Refactor WebCore JS builtins to prepare for automatic generation</short_desc>
          <delta_ts>2015-10-09 08:27:26 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <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>149877</dependson>
    
    <dependson>149924</dependson>
    
    <dependson>149955</dependson>
          <blocked>149842</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>bburg</cc>
    
    <cc>calvaris</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1130246</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-10-02 09:25:08 -0700</bug_when>
    <thetext>For each new JS builtin file, there are a few edits that are needed in the build system, WebCoreJSClientData.h and WebCoreJSBuiltins.cpp.
It might be good if only editing the build system would be needed.
That would mean auto generating WebCoreJSBuiltins.cpp and the part of WebCoreJSClientData.h related to JS builtins.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1130611</commentid>
    <comment_count>1</comment_count>
      <attachid>262436</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-10-05 08:07:41 -0700</bug_when>
    <thetext>Created attachment 262436
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1130613</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-05 08:10:00 -0700</bug_when>
    <thetext>Attachment 262436 did not pass style-queue:


ERROR: Source/WebCore/bindings/js/JSDOMWindowBase.cpp:89:  Missing space after ,  [whitespace/comma] [3]
Total errors found: 1 in 15 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1130960</commentid>
    <comment_count>3</comment_count>
      <attachid>262436</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-10-06 08:35:33 -0700</bug_when>
    <thetext>Comment on attachment 262436
Patch

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

&gt; Source/WebCore/bindings/js/WebCoreJSClientData.h:33
&gt;  class WebCoreJSClientData : public JSC::VM::ClientData {

Since this is in the WebCore namespace, it seems a little excessive to include the words “WebCore” in the name of the class.

&gt; Source/WebCore/generate-js-builtins-allinone:134
&gt; +class WebCoreJSBuiltinFunctions {

Since this is in the WebCore namespace, it seems a little excessive to include the words “WebCore” in the name of the class.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131029</commentid>
    <comment_count>4</comment_count>
      <attachid>262526</attachid>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2015-10-06 10:54:11 -0700</bug_when>
    <thetext>Created attachment 262526
Patch

After talking to Youenn we thought it was better to deambiguate the class names from the JSC ones and have the WebCore prefix in them. Anyway, we renamed them from WebCoreJS to WebCore.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131033</commentid>
    <comment_count>5</comment_count>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2015-10-06 11:01:24 -0700</bug_when>
    <thetext>It seems I misunderstood Youenn, maybe he can clarify how he wants the names and Darin can bless it so that we can land it :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131034</commentid>
    <comment_count>6</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-10-06 11:04:01 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; It seems I misunderstood Youenn, maybe he can clarify how he wants the names
&gt; and Darin can bless it so that we can land it :)

Meaning the reverse, disambiguate the filenames, not the class names.
I will update the patch accordingly today or tomorrow if there is no objection.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131261</commentid>
    <comment_count>7</comment_count>
      <attachid>262593</attachid>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2015-10-07 04:14:18 -0700</bug_when>
    <thetext>Created attachment 262593
Patch

Changed the class names, according to the conversation with Youenn.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131262</commentid>
    <comment_count>8</comment_count>
      <attachid>262593</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-07 04:30:29 -0700</bug_when>
    <thetext>Comment on attachment 262593
Patch

Rejecting attachment 262593 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-02&apos;, &apos;validate-changelog&apos;, &apos;--check-oops&apos;, &apos;--non-interactive&apos;, 262593, &apos;--port=mac&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

ChangeLog entry in Source/JavaScriptCore/ChangeLog contains OOPS!.

Full output: http://webkit-queues.webkit.org/results/253723</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131264</commentid>
    <comment_count>9</comment_count>
      <attachid>262594</attachid>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2015-10-07 05:00:30 -0700</bug_when>
    <thetext>Created attachment 262594
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131266</commentid>
    <comment_count>10</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-10-07 05:09:15 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; Created attachment 262594 [details]
&gt; Patch for landing

Name changes
- PrivateWebCoreJSBuiltinFunctions -&gt; JSBuiltinInternalFunctions
- WebCoreJSBuiltinFunctions -&gt; JSBuiltinFunctions
- WebCoreJSClientData -&gt; JSClientData

For the latter, JSVMClientData might have been somehow better.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131271</commentid>
    <comment_count>11</comment_count>
      <attachid>262594</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-07 05:53:05 -0700</bug_when>
    <thetext>Comment on attachment 262594
Patch for landing

Clearing flags on attachment: 262594

Committed r190664: &lt;http://trac.webkit.org/changeset/190664&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131272</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-07 05:53:09 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131303</commentid>
    <comment_count>13</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-10-07 08:43:50 -0700</bug_when>
    <thetext>My build is broken after this:
CpHeader PrivateWebCoreJSBuiltins
error: /Volumes/DataSSD/Development/apple/webkit/OpenSource/WebKitBuild/Debug/DerivedSources/WebCore/PrivateWebCoreJSBuiltins.h: No such file or directory</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131305</commentid>
    <comment_count>14</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-10-07 08:56:27 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; My build is broken after this:
&gt; CpHeader PrivateWebCoreJSBuiltins
&gt; error:
&gt; /Volumes/DataSSD/Development/apple/webkit/OpenSource/WebKitBuild/Debug/
&gt; DerivedSources/WebCore/PrivateWebCoreJSBuiltins.h: No such file or directory

Probably related to DerivedSources.make.
Can you try a clean build?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131308</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-07 09:08:02 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 149877</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131310</commentid>
    <comment_count>16</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-10-07 09:09:14 -0700</bug_when>
    <thetext>I don’t think it’s reasonable to ask everyone to do a clean build. Perhaps this would be fixed by touching the generate-js-builtins-allinone source file one more time? We should look at his build log to see if generate-js-builtins-allinone failed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131316</commentid>
    <comment_count>17</comment_count>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2015-10-07 09:13:35 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; I don’t think it’s reasonable to ask everyone to do a clean build. Perhaps
&gt; this would be fixed by touching the generate-js-builtins-allinone source
&gt; file one more time? We should look at his build log to see if
&gt; generate-js-builtins-allinone failed?

Actually it is not reasonable at all as you&apos;d need a half built WebKit to build from scratch.

The problem happens at:

CpHeader /Users/calvaris/WebKit/WebKitBuild/Release/DerivedSources/WebCore/PrivateWebCoreJSBuiltins.h /Users/calvaris/WebKit/WebKitBuild/Release/WebCore.framework/Versions/A/PrivateHeaders/PrivateWebCoreJSBuilt\
ins.h
    cd /Users/calvaris/WebKit/Source/WebCore
    builtin-copy -exclude .DS_Store -exclude CVS -exclude .svn -exclude .git -exclude .hg -strip-debug-symbols -strip-tool /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/\
strip -resolve-src-symlinks /Users/calvaris/WebKit/WebKitBuild/Release/DerivedSources/WebCore/PrivateWebCoreJSBuiltins.h /Users/calvaris/WebKit/WebKitBuild/Release/WebCore.framework/Versions/A/PrivateHeaders
error: /Users/calvaris/WebKit/WebKitBuild/Release/DerivedSources/WebCore/PrivateWebCoreJSBuiltins.h: No such file or directory

I tried to add:

diff --git a/Source/WebCore/DerivedSources.make b/Source/WebCore/DerivedSources.make
index a5967e7..8d12cc6 100644
--- a/Source/WebCore/DerivedSources.make
+++ b/Source/WebCore/DerivedSources.make
@@ -1260,7 +1260,9 @@ WEBCORE_JS_BUILTINS = \
     $(WebCore)/Modules/streams/ReadableStreamReader.js \
 #
 
-all : WebCoreJSBuiltins.cpp $(WEBCORE_JS_BUILTINS:%.js=%Builtins.cpp)
+all : PrivateWebCoreJSBuiltins.h WebCoreJSBuiltins.cpp $(WEBCORE_JS_BUILTINS:%.js=%Builtins.cpp)
+
+PrivateWebCoreJSBuiltins.h: WebCoreJSBuiltins.cpp
 
 WebCoreJSBuiltins.cpp: $(WEBCORE_JS_BUILTINS) $(WebCore)/generate-js-builtins-allinone
        $(PYTHON) $(WebCore)/generate-js-builtins-allinone $(WEBCORE_JS_BUILTINS)  --output_dir .

but it didn&apos;t work either</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131408</commentid>
    <comment_count>18</comment_count>
      <attachid>262639</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-10-07 14:01:03 -0700</bug_when>
    <thetext>Created attachment 262639
Updating DerivedSources.make rules</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131556</commentid>
    <comment_count>19</comment_count>
      <attachid>262677</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-10-07 23:33:31 -0700</bug_when>
    <thetext>Created attachment 262677
Generating one file at a time in generate-jsbuiltins-allinone</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131557</commentid>
    <comment_count>20</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-10-07 23:42:01 -0700</bug_when>
    <thetext>The updated DerivedSources.make rules should hopefully cover the issue encountered by smfr. I played with the generated Builtins.h/.cpp files and they seem to be correctly regenerated when needed.

That said, last patch failed on mac due to a different issue from the one reported by smfr:
---------------------
Traceback (most recent call last):
  File &quot;WebCore/generate-js-builtins-allinone&quot;, line 232, in &lt;module&gt;
    copytempfile(output_base + &quot;.h&quot;)
  File &quot;WebCore/generate-js-builtins-allinone&quot;, line 225, in copytempfile
    if (not os.path.exists(output)) or (not filecmp.cmp(output + &quot;.tmp&quot;, output, shallow=False)):
  File &quot;/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/filecmp.py&quot;, line 42, in cmp
rm -f CommandLineAPIModuleSource.min.js
    s1 = _sig(os.stat(f1))
OSError: [Errno 2] No such file or directory: &apos;./WebCoreJSBuiltins.h.tmp&apos;
---------------------

This is somehow strange since the script should have generated that .h.tmp file a few lines before.
I added file flushing in the script just in case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131572</commentid>
    <comment_count>21</comment_count>
      <attachid>262677</attachid>
    <who name="Xabier Rodríguez Calvar">calvaris</who>
    <bug_when>2015-10-08 02:00:41 -0700</bug_when>
    <thetext>Comment on attachment 262677
Generating one file at a time in generate-jsbuiltins-allinone

Clearing flags</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131574</commentid>
    <comment_count>22</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-10-08 02:12:02 -0700</bug_when>
    <thetext>Not sure why it was set as RESOLVED. Reopening it manually.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131575</commentid>
    <comment_count>23</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-10-08 02:36:27 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; I don’t think it’s reasonable to ask everyone to do a clean build. Perhaps
&gt; this would be fixed by touching the generate-js-builtins-allinone source
&gt; file one more time? We should look at his build log to see if
&gt; generate-js-builtins-allinone failed?

From IRC discussions, a header file was not generated, meaning that generate-js-builtins-allinone was probably not kicking in.
I am not exactly sure why since mac bots were fine.

I am now relanding an updated patch:
- Some changes in DerivedSources.make rules that hopefully will fix smfr issue.
- Renaming WebCoreJSClientData as JSVMClientData.
- Generating one file at a time in generate-js-builtins-allinone</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131588</commentid>
    <comment_count>24</comment_count>
      <attachid>262677</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-08 02:56:02 -0700</bug_when>
    <thetext>Comment on attachment 262677
Generating one file at a time in generate-jsbuiltins-allinone

Clearing flags on attachment: 262677

Committed r190716: &lt;http://trac.webkit.org/changeset/190716&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131589</commentid>
    <comment_count>25</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-08 02:56:07 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131619</commentid>
    <comment_count>26</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-08 07:51:18 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 149924</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131624</commentid>
    <comment_count>27</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-10-08 08:02:00 -0700</bug_when>
    <thetext>(In reply to comment #26)
&gt; Re-opened since this is blocked by bug 149924

The following issue is now happening from time to time on Mac bots.

---------------------
Generating WebCore JS builtins wrapper files.
Traceback (most recent call last):
  File &quot;WebCore/generate-js-builtins-allinone&quot;, line 127, in &lt;module&gt;
    copytempfile(output_base + &quot;.cpp&quot;)
  File &quot;WebCore/generate-js-builtins-allinone&quot;, line 74, in copytempfile
    os.remove(output + &quot;.tmp&quot;)
OSError: [Errno 2] No such file or directory: &apos;./WebCoreJSBuiltins.cpp.tmp&apos;
make: *** [WebCoreJSBuiltins.h] Error 1
---------------------

generate-js-builtins-allinone should be generating WebCoreJSBuiltins.cpp.tmp.
Then it should try to compare it with WebCoreJSBuiltins.cpp
If they are the same, then WebCoreJSBuiltins.cpp.tmp is deleted.
This step seemed to fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131625</commentid>
    <comment_count>28</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-10-08 08:03:42 -0700</bug_when>
    <thetext>Another trace found in an EWS mac bot:

Traceback (most recent call last):
  File &quot;WebCore/generate-js-builtins-allinone&quot;, line 127, in &lt;module&gt;
    copytempfile(output_base + &quot;.cpp&quot;)
  File &quot;WebCore/generate-js-builtins-allinone&quot;, line 69, in copytempfile
    if (not os.path.exists(output)) or (not filecmp.cmp(output + &quot;.tmp&quot;, output, shallow=False)):
  File &quot;/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/filecmp.py&quot;, line 42, in cmp
    s1 = _sig(os.stat(f1))
OSError: [Errno 2] No such file or directory: &apos;./WebCoreJSBuiltins.cpp.tmp&apos;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131626</commentid>
    <comment_count>29</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-10-08 08:08:31 -0700</bug_when>
    <thetext>Some build log links:
https://webkit-queues.webkit.org/results/257622
https://build.webkit.org/builders/Apple%20Mavericks%20Release%20%28Build%29/builds/19177/steps/compile-webkit/logs/stdio</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131641</commentid>
    <comment_count>30</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-10-08 08:36:16 -0700</bug_when>
    <thetext>A comment about the WebCoreJSBuiltins.cpp.tmp strategy (not an explanation of the build failures, but a separate issue):

This technique of only touching a file if there is a change doesn’t work well with makefiles. If a build rule doesn’t regenerate the file then it will keep getting triggered over and over again each time you make, so it’s typically not practical to optimize the case where there is no change to have it not touch the output file.

The desire to optimize in this way comes up over and over again, so we’ve run into that problem over and over again. Maybe there’s some trick here used to avoid that problem?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131645</commentid>
    <comment_count>31</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-10-08 09:00:21 -0700</bug_when>
    <thetext>(In reply to comment #29)
&gt; Some build log links:
&gt; https://webkit-queues.webkit.org/results/257622
&gt; https://build.webkit.org/builders/Apple%20Mavericks%20Release%20%28Build%29/
&gt; builds/19177/steps/compile-webkit/logs/stdio

Problem is probably again in DerivedSources.make
It seems generate-js-builtins-allinone is called twice, explaining the issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131646</commentid>
    <comment_count>32</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2015-10-08 09:11:14 -0700</bug_when>
    <thetext>(In reply to comment #30)
&gt; A comment about the WebCoreJSBuiltins.cpp.tmp strategy (not an explanation
&gt; of the build failures, but a separate issue):
&gt; 
&gt; This technique of only touching a file if there is a change doesn’t work
&gt; well with makefiles. If a build rule doesn’t regenerate the file then it
&gt; will keep getting triggered over and over again each time you make, so it’s
&gt; typically not practical to optimize the case where there is no change to
&gt; have it not touch the output file.
&gt; 
&gt; The desire to optimize in this way comes up over and over again, so we’ve
&gt; run into that problem over and over again. Maybe there’s some trick here
&gt; used to avoid that problem?

We do something similar in the Inspector protocol bindings generator, and it has worked pretty well once the bugs were flushed out. I&apos;ll comment specifically on the patch in a minute.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131680</commentid>
    <comment_count>33</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-10-08 10:26:45 -0700</bug_when>
    <thetext>I may retry landing it tomorrow, but only the part that does not changing DerivedSources.make.
Basically that means upstreaming the refactoring, the files generated by generate-js-builtins-allinone but not the generate-js-builtins-allinone script.

This will allow starting working on WritableStream as well as reducing the patch that would upstream generate-js-builtins-allinone.

Please let me know whether the reduced patch would need a new review cycle.
Otherwise, I will land it directly tomorrow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131682</commentid>
    <comment_count>34</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-10-08 10:28:40 -0700</bug_when>
    <thetext>(In reply to comment #32)
&gt; (In reply to comment #30)
&gt; &gt; A comment about the WebCoreJSBuiltins.cpp.tmp strategy (not an explanation
&gt; &gt; of the build failures, but a separate issue):
&gt; &gt; 
&gt; &gt; This technique of only touching a file if there is a change doesn’t work
&gt; &gt; well with makefiles. If a build rule doesn’t regenerate the file then it
&gt; &gt; will keep getting triggered over and over again each time you make, so it’s
&gt; &gt; typically not practical to optimize the case where there is no change to
&gt; &gt; have it not touch the output file.
&gt; &gt; 
&gt; &gt; The desire to optimize in this way comes up over and over again, so we’ve
&gt; &gt; run into that problem over and over again. Maybe there’s some trick here
&gt; &gt; used to avoid that problem?
&gt; 
&gt; We do something similar in the Inspector protocol bindings generator, and it
&gt; has worked pretty well once the bugs were flushed out. I&apos;ll comment
&gt; specifically on the patch in a minute.

That sounds interesting.

Using CMake (with ccache bonus) would also help reducing this issue and maybe remove the need for this particular optimization.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131684</commentid>
    <comment_count>35</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2015-10-08 10:35:36 -0700</bug_when>
    <thetext>(In reply to comment #33)
&gt; I may retry landing it tomorrow, but only the part that does not changing
&gt; DerivedSources.make.
&gt; Basically that means upstreaming the refactoring, the files generated by
&gt; generate-js-builtins-allinone but not the generate-js-builtins-allinone
&gt; script.
&gt; 
&gt; This will allow starting working on WritableStream as well as reducing the
&gt; patch that would upstream generate-js-builtins-allinone.
&gt; 
&gt; Please let me know whether the reduced patch would need a new review cycle.
&gt; Otherwise, I will land it directly tomorrow.

I would recommend proceeding with the &quot;manual&quot; approach for the time being. I&apos;m looking into making generate-js-builtins look more like the inspector generator (i.e., has regression tests, doesn&apos;t use .tmp pattern), but this will be a bit of work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131861</commentid>
    <comment_count>36</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-10-09 01:10:51 -0700</bug_when>
    <thetext>Reopening it manually...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131881</commentid>
    <comment_count>37</comment_count>
      <attachid>262762</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-10-09 05:09:06 -0700</bug_when>
    <thetext>Created attachment 262762
Removing automatic generation and adding previously generated files in trunk</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131882</commentid>
    <comment_count>38</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-09 05:12:07 -0700</bug_when>
    <thetext>Attachment 262762 did not pass style-queue:


ERROR: Source/WebCore/bindings/js/WebCoreJSBuiltinInternals.h:30:  When wrapping a line, only indent 4 spaces.  [whitespace/indent] [3]
ERROR: Source/WebCore/bindings/js/WebCoreJSBuiltinInternals.h:39:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/WebCore/bindings/js/WebCoreJSBuiltinInternals.h:44:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/WebCore/bindings/js/WebCoreJSBuiltinInternals.h:53:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 4 in 21 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131890</commentid>
    <comment_count>39</comment_count>
      <attachid>262762</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-09 05:57:44 -0700</bug_when>
    <thetext>Comment on attachment 262762
Removing automatic generation and adding previously generated files in trunk

Rejecting attachment 262762 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-03&apos;, &apos;build&apos;, &apos;--no-clean&apos;, &apos;--no-update&apos;, &apos;--build-style=release&apos;, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 500 characters of output:
/usr/bin/strip -resolve-src-symlinks /Volumes/Data/EWS/WebKit/Source/WebCore/Modules/indexeddb/IDBDatabaseMetadata.h /Volumes/Data/EWS/WebKit/WebKitBuild/Release/WebCore.framework/Versions/A/PrivateHeaders

** BUILD FAILED **


The following build commands failed:
	CpHeader /Volumes/Data/EWS/WebKit/WebKitBuild/Release/DerivedSources/WebCore/WebCoreJSBuiltinInternals.h /Volumes/Data/EWS/WebKit/WebKitBuild/Release/WebCore.framework/Versions/A/PrivateHeaders/WebCoreJSBuiltinInternals.h
(1 failure)

Full output: http://webkit-queues.webkit.org/results/260970</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131894</commentid>
    <comment_count>40</comment_count>
      <attachid>262766</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2015-10-09 06:36:49 -0700</bug_when>
    <thetext>Created attachment 262766
Fixing mac build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131895</commentid>
    <comment_count>41</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-09 06:39:42 -0700</bug_when>
    <thetext>Attachment 262766 did not pass style-queue:


ERROR: Source/WebCore/bindings/js/WebCoreJSBuiltinInternals.h:30:  When wrapping a line, only indent 4 spaces.  [whitespace/indent] [3]
ERROR: Source/WebCore/bindings/js/WebCoreJSBuiltinInternals.h:39:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/WebCore/bindings/js/WebCoreJSBuiltinInternals.h:44:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/WebCore/bindings/js/WebCoreJSBuiltinInternals.h:53:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 4 in 21 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131905</commentid>
    <comment_count>42</comment_count>
      <attachid>262766</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-09 07:22:30 -0700</bug_when>
    <thetext>Comment on attachment 262766
Fixing mac build

Clearing flags on attachment: 262766

Committed r190794: &lt;http://trac.webkit.org/changeset/190794&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131906</commentid>
    <comment_count>43</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-09 07:22:36 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>262436</attachid>
            <date>2015-10-05 08:07:41 -0700</date>
            <delta_ts>2015-10-06 10:54:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149751-20151005120710.patch</filename>
            <type>text/plain</type>
            <size>40123</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkwNTU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
ZGQ5ZWFmYTRkYzIwM2RmZjM1NmMwZTBkNmVjNzQ3NmFmYzUzYTc5Li5jNjhmODZmMWFhNzRkYzNj
MDllYWM4MzNjOTU5ODNmM2ExMjM2YTk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxNS0xMC0wMiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubi5mYWJsZXRAY3Jm
LmNhbm9uLmZyPgorCisgICAgICAgIEF1dG9tYXRlIFdlYkNvcmUgSlMgYnVpbHRpbnMgZ2VuZXJh
dGlvbiBhbmQgYnVpbGQgc3lzdGVtCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNDk3NTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIGdlbmVyYXRlLWpzLWJ1aWx0aW5zOiB1cGRhdGluZyB0aGUgcGFydCBy
ZWxhdGVkIHRvIFdlYkNvcmUgSlMgYmluZGluZy4KKwogMjAxNS0xMC0wNCAgRmlsaXAgUGl6bG8g
IDxmcGl6bG9AYXBwbGUuY29tPgogCiAgICAgICAgIENvZGVCbG9jay5oIHNob3VsZG4ndCBiZSBp
bmNsdWRlZCBmcm9tIGV2ZXJ5d2hlcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAwZmNmNzFlNDhkOWI1ZTU1NDFj
ZjBlMGUyODMyNjYwMWY0ZTU3NmFhLi41OTZlNzQyOGZkMTQ4NGY3NDk2NTRiYjFiZTRlYTBkYmJm
ZjQ3NzgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDMgQEAKKzIwMTUtMTAtMDIgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm4uZmFibGV0QGNyZi5jYW5vbi5mcj4KKworICAgICAgICBBdXRvbWF0ZSBX
ZWJDb3JlIEpTIGJ1aWx0aW5zIGdlbmVyYXRpb24gYW5kIGJ1aWxkIHN5c3RlbQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ5NzUxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkaW5nIGFubm90YXRpb25z
IHRvIEpTIGZpbGVzIHRvIGtub3cgd2hldGhlciB0aGV5IHNob3VsZCBiZSB1bmRlciBhIGNvbXBp
bGF0aW9uIGZsYWcgYW5kCisgICAgICAgIHdoZXRoZXIgdGhleSBhcmUgSlMgaW50ZXJuYWxzIG9y
IEpTIHRpZWQgdG8gV2ViSURMLgorICAgICAgICBJZiBhIGZpbGUgaXMgc2FpZCBhcyBKUyBpbnRl
cm5hbHMsIGFsbCBmdW5jdGlvbiBuYW1lcyBhcmUgZXhwb3J0ZWQgYXV0b21hdGljYWxseS4KKyAg
ICAgICAgQWRkZWQgYXV0byBnZW5lcmF0aW9uIG9mIFdlYkNvcmVKU0J1aWx0aW5zLmNwcAorICAg
ICAgICBBZGRlZCBhdXRvIGdlbmVyYXRpb24gb2YgV2ViQ29yZUpTQnVpbHRpbnMgY2xhc3MgdGhh
dCB0YWtlcyB0aGUgcm9sZSBvZiBXZWJDb3JlSlNDbGllbnREYXRhIGFzIHdyYXBwZXIgZm9yIGJ1
aWx0aW5zLgorICAgICAgICBBZGRlZCBhdXRvIGdlbmVyYXRpb24gb2YgUHJpdmF0ZVdlYkNvcmVK
U0J1aWx0aW5zIGNsYXNzIHRoYXQgaXMgYSB3cmFwcGVyIGFyb3VuZCBhbGwgcHJpdmF0ZSBmdW5j
dGlvbnMsIHVzZWQgYnkgSlNET01XaW5kb3dCYXNlLgorCisgICAgICAgIFRoZSByZW1haW5pbmcg
bWFudWFsIHBhcnQgZm9yIHByaXZhdGUgZnVuY3Rpb25zIGlzIHRoZSBwYWlyaW5nIGJldHdlZW4g
cHJpdmF0ZSBpZGVudGlmaWVycyBhbmQKKyAgICAgICAgdGhlIHByaXZhdGUgSlMgZnVuY3Rpb25z
IHdpdGhpbiBKU0RPTVdpbmRvd0Jhc2U6OmZpbmlzaENyZWF0aW9uLgorCisgICAgICAgIENvdmVy
ZWQgYnkgZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAg
ICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIE1vZHVsZXMvc3RyZWFtcy9CeXRl
TGVuZ3RoUXVldWluZ1N0cmF0ZWd5LmpzOgorICAgICAgICAqIE1vZHVsZXMvc3RyZWFtcy9Db3Vu
dFF1ZXVpbmdTdHJhdGVneS5qczoKKyAgICAgICAgKiBNb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVT
dHJlYW0uanM6CisgICAgICAgICogTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtQ29udHJv
bGxlci5qczoKKyAgICAgICAgKiBNb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1JbnRlcm5h
bHMuanM6CisgICAgICAgICogTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtUmVhZGVyLmpz
OgorICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2o6CisgICAgICAgICog
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pz
L0pTRE9NV2luZG93QmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvd0Jhc2U6
OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2Uu
aDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRhLmg6CisgICAgICAg
IChXZWJDb3JlOjpXZWJDb3JlSlNDbGllbnREYXRhOjpXZWJDb3JlSlNDbGllbnREYXRhKToKKyAg
ICAgICAgKFdlYkNvcmU6OldlYkNvcmVKU0NsaWVudERhdGE6OmJ1aWx0aW5GdW5jdGlvbnMpOgor
ICAgICAgICAqIGdlbmVyYXRlLWpzLWJ1aWx0aW5zLWFsbGlub25lOiBBZGRlZC4KKyAgICAgICAg
KHJldHJpZXZlR2VuZXJhdGlvblBhcmFtZXRlcnMpOgorICAgICAgICAoV2ViQ29yZUpTQnVpbHRp
bkZ1bmN0aW9ucyk6CisgICAgICAgIChjb3B5dGVtcGZpbGUpOgorCiAyMDE1LTEwLTAzICBSaWNr
eSBNb25kZWxsbyAgPHJtb25kZWxsb0BhcHBsZS5jb20+CiAKICAgICAgICAgIlBsdWctaW4gaXMg
YmxvY2tlZCIgbWVzc2FnZSBkb2Vzbid0IGRyYXcgY29ycmVjdGx5CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZ2VuZXJhdGUtanMtYnVpbHRpbnMgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZ2VuZXJhdGUtanMtYnVpbHRpbnMKaW5kZXggYjI4NDFmNGQyYTNmYmYwYmNhYmRlZmU2
Y2EwM2FhYTRkNzlhMjYzZi4uNGJlOGZjM2FmNGU3YTU0ZGI0NmY5OWZkYTIwYzhjYjg5ZGYzNGY5
OSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2dlbmVyYXRlLWpzLWJ1aWx0aW5z
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9nZW5lcmF0ZS1qcy1idWlsdGlucwpAQCAtMzE1
LDcgKzMxNSw3IEBAIGVsc2U6CiAgICAgYnVpbHRpbk5hbWUgPSBzY29wZU5hbWVbMF0ubG93ZXIo
KSArIHNjb3BlTmFtZVsxOl0KICAgICBidWlsdGluc0ltcGxlbWVudGF0aW9uLndyaXRlKCIiIntc
XAogICAgIFdlYkNvcmVKU0NsaWVudERhdGEqIGNsaWVudERhdGEgPSBzdGF0aWNfY2FzdDxXZWJD
b3JlSlNDbGllbnREYXRhKj4odm0uY2xpZW50RGF0YSk7IFxcCi0gICAgcmV0dXJuIGNsaWVudERh
dGEtPiVzKCkuY29kZU5hbWUjI0V4ZWN1dGFibGUoKS0+bGluayh2bSwgY2xpZW50RGF0YS0+JXMo
KS5jb2RlTmFtZSMjU291cmNlKCkpOyBcXAorICAgIHJldHVybiBjbGllbnREYXRhLT5idWlsdGlu
RnVuY3Rpb25zKCkuJXMoKS5jb2RlTmFtZSMjRXhlY3V0YWJsZSgpLT5saW5rKHZtLCBjbGllbnRE
YXRhLT5idWlsdGluRnVuY3Rpb25zKCkuJXMoKS5jb2RlTmFtZSMjU291cmNlKCkpOyBcXAogIiIi
JSAoYnVpbHRpbk5hbWUsIGJ1aWx0aW5OYW1lKSkKIAogYnVpbHRpbnNJbXBsZW1lbnRhdGlvbi53
cml0ZSgiIiJ9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1Nv
dXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDZjNTBjNzAwZWUwZTExZWQ1MWNmZWM2
MWJmYjljNDFhMzE5NGY4ZmMuLjViYzUyNjUxZWZlYzE4OWI2YzM2NTA1YzBjZDUzMjBkOTJhNDI3
MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0xMjQ4LDcgKzEyNDgsNiBAQCBzZXQoV2ViQ29y
ZV9TT1VSQ0VTCiAgICAgYmluZGluZ3MvanMvU2NyaXB0R2xvYmFsT2JqZWN0LmNwcAogICAgIGJp
bmRpbmdzL2pzL1NjcmlwdFN0YXRlLmNwcAogICAgIGJpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZS5jcHAKLSAgICBiaW5kaW5ncy9qcy9XZWJDb3JlSlNCdWlsdGlucy5jcHAKICAgICBi
aW5kaW5ncy9qcy9XZWJDb3JlVHlwZWRBcnJheUNvbnRyb2xsZXIuY3BwCiAgICAgYmluZGluZ3Mv
anMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5jcHAKICAgICBiaW5kaW5ncy9qcy9Xb3JrZXJTY3Jp
cHREZWJ1Z1NlcnZlci5jcHAKQEAgLTM1OTcsNiArMzU5NiwxNyBAQCBmb3JlYWNoIChfYnVpbHRp
bmpzICR7V0VCQ09SRV9KU19CVUlMVElOU30pCiAgICAgKQogICAgIEFERF9TT1VSQ0VfV0VCQ09S
RV9ERVJJVkVEX0RFUEVOREVOQ0lFUygke1dFQkNPUkVfRElSfS9iaW5kaW5ncy9qcy9XZWJDb3Jl
SlNCdWlsdGlucy5jcHAgJHtfbmFtZX1CdWlsdGlucy5jcHApCiBlbmRmb3JlYWNoICgpCithZGRf
Y3VzdG9tX2NvbW1hbmQoCisgICAgT1VUUFVUICR7REVSSVZFRF9TT1VSQ0VTX1dFQkNPUkVfRElS
fS9Qcml2YXRlV2ViQ29yZUpTQnVpbHRpbnMuaCAke0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJ
Un0vV2ViQ29yZUpTQnVpbHRpbnMuaCAke0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vV2Vi
Q29yZUpTQnVpbHRpbnMuY3BwCisgICAgTUFJTl9ERVBFTkRFTkNZICR7Q01BS0VfQ1VSUkVOVF9T
T1VSQ0VfRElSfS9nZW5lcmF0ZS1qcy1idWlsdGlucy1hbGxpbm9uZQorICAgIERFUEVORFMgJHtX
ZWJDb3JlX0dFTkVSQVRFX0pTX0JVSUxUSU5TX1NDUklQVFNfRElSfS9nZW5lcmF0ZS1qcy1idWls
dGlucworICAgIENPTU1BTkQgJHtQWVRIT05fRVhFQ1VUQUJMRX0gJHtDTUFLRV9DVVJSRU5UX1NP
VVJDRV9ESVJ9L2dlbmVyYXRlLWpzLWJ1aWx0aW5zLWFsbGlub25lICR7V0VCQ09SRV9KU19CVUlM
VElOU30gLS1vdXRwdXRfZGlyICR7REVSSVZFRF9TT1VSQ0VTX1dFQkNPUkVfRElSfQorICAgIFZF
UkJBVElNKQorbGlzdChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCisgICAgJHtERVJJVkVEX1NPVVJD
RVNfV0VCQ09SRV9ESVJ9L1ByaXZhdGVXZWJDb3JlSlNCdWlsdGlucy5oCisgICAgJHtERVJJVkVE
X1NPVVJDRVNfV0VCQ09SRV9ESVJ9L1dlYkNvcmVKU0J1aWx0aW5zLmgKKyAgICAke0RFUklWRURf
U09VUkNFU19XRUJDT1JFX0RJUn0vV2ViQ29yZUpTQnVpbHRpbnMuY3BwCispCiAKIEFERF9TT1VS
Q0VfV0VCQ09SRV9ERVJJVkVEX0RFUEVOREVOQ0lFUygke1dFQkNPUkVfRElSfS9odG1sL0hUTUxU
cmVlQnVpbGRlci5jcHAgTWF0aE1MTmFtZXMuY3BwKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
bWFrZQppbmRleCAxMDE2NDE1MzhjZThmMDhiOThlMDg1MDY1ZmJlYTAyYzIyYTcwODU3Li5mNzdj
OTg4ZDk4MzQxMjY3ZTU1NzNkOWQ4ZDQyYWRlZTUxZDAxYmUyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLm1ha2UKQEAgLTEyNTgsOSArMTI1OCwxMiBAQCBXRUJDT1JFX0pTX0JVSUxUSU5TID0g
XAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtSW50ZXJuYWxz
LmpzIFwKICMKIAotYWxsIDogJChXRUJDT1JFX0pTX0JVSUxUSU5TOiUuanM9JUJ1aWx0aW5zLmNw
cCkKK2FsbCA6IFdlYkNvcmVKU0J1aWx0aW5zLmNwcCAkKFdFQkNPUkVfSlNfQlVJTFRJTlM6JS5q
cz0lQnVpbHRpbnMuY3BwKQogCi0lQnVpbHRpbnMuY3BwOiAlLmpzCitXZWJDb3JlSlNCdWlsdGlu
cy5jcHA6ICQoV0VCQ09SRV9KU19CVUlMVElOUykgJChXZWJDb3JlKS9nZW5lcmF0ZS1qcy1idWls
dGlucy1hbGxpbm9uZQorCSQoUFlUSE9OKSAkKFdlYkNvcmUpL2dlbmVyYXRlLWpzLWJ1aWx0aW5z
LWFsbGlub25lICQoV0VCQ09SRV9KU19CVUlMVElOUykgIC0tb3V0cHV0X2RpciAuCisKKyVCdWls
dGlucy5jcHA6ICUuanMgJChXZWJDb3JlKS9nZW5lcmF0ZS1qcy1idWlsdGlucwogCSQoUFlUSE9O
KSAkKFdlYkNvcmUpL2dlbmVyYXRlLWpzLWJ1aWx0aW5zIC0taW5wdXQgJDwgLS1nZW5lcmF0ZV9q
c19idWlsdGluc19wYXRoICQoR2VuZXJhdGVKU0J1aWx0aW5zU2NyaXB0cykKIAogIyAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3Ry
ZWFtcy9CeXRlTGVuZ3RoUXVldWluZ1N0cmF0ZWd5LmpzIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9zdHJlYW1zL0J5dGVMZW5ndGhRdWV1aW5nU3RyYXRlZ3kuanMKaW5kZXggYTgyNjczNjdjNDlk
MDFhNTJlYjE5ZTdhNmE2YWVlY2U5MzNmYzA2NS4uZjk0ODEyNThhMDUxMTIwMTJlZjBkNDE2ZTlj
YzQ2YjA5NDExZjVlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1z
L0J5dGVMZW5ndGhRdWV1aW5nU3RyYXRlZ3kuanMKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9zdHJlYW1zL0J5dGVMZW5ndGhRdWV1aW5nU3RyYXRlZ3kuanMKQEAgLTI0LDYgKzI0LDggQEAK
ICAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCiAgKi8KIAorLy8gQG9wdGlvbmFsPVNUUkVBTVNfQVBJCisKIGZ1bmN0
aW9uIHNpemUoY2h1bmspCiB7CiAgICAgInVzZSBzdHJpY3QiOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL0NvdW50UXVldWluZ1N0cmF0ZWd5LmpzIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL0NvdW50UXVldWluZ1N0cmF0ZWd5LmpzCmluZGV4IDkx
MTczN2QwY2U1ZWRhMTFmMTZlNzc4ZGExYTNkZjFjZmM4OWIwMGUuLjQ0ZDYzMGI4YjhkYzNmMjI0
NjYwZTk4MTJkM2YxM2Y2MWM2ODJhZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvc3RyZWFtcy9Db3VudFF1ZXVpbmdTdHJhdGVneS5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3N0cmVhbXMvQ291bnRRdWV1aW5nU3RyYXRlZ3kuanMKQEAgLTIzLDYgKzIzLDggQEAK
ICAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCiAgKi8KIAorLy8gQG9wdGlvbmFsPVNUUkVBTVNfQVBJCisKIGZ1bmN0
aW9uIHNpemUoKQogewogICAgICJ1c2Ugc3RyaWN0IjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbS5qcyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbS5qcwppbmRleCA2NmIxOGQ0YWRmMjNlOTBmYTA4
YmZmN2I0MDZmZmFkNGUyYTZlODkxLi5jNWIxNGMyMjVhMzMyYTRiOTQ4ZTVkZDc3NjU1YTQ3NGMx
YTgyYmNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFi
bGVTdHJlYW0uanMKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxl
U3RyZWFtLmpzCkBAIC0yMyw2ICsyMyw4IEBACiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKKy8vIEBv
cHRpb25hbD1TVFJFQU1TX0FQSQorCiBmdW5jdGlvbiBwaXBlVGhyb3VnaChzdHJlYW1zLCBvcHRp
b25zKQogewogICAgICJ1c2Ugc3RyaWN0IjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbUludGVybmFscy5qcyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbUludGVybmFscy5qcwppbmRleCA0ZmM3ZTJl
ZjdmNGUyMDU1Mzk5Mzk4MjRlYjQ3NTkzYzlkYThlZjY0Li43OGY2ZGIyZTYzZmU2OTRiOWI0ZDMw
MTgwZGJjYTRmZmE3NGZkZTQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0
cmVhbXMvUmVhZGFibGVTdHJlYW1JbnRlcm5hbHMuanMKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtSW50ZXJuYWxzLmpzCkBAIC0yMyw2ICsyMyw5IEBA
CiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgogICovCiAKKy8vIEBvcHRpb25hbD1TVFJFQU1TX0FQSQorLy8gQGlu
dGVybmFscworCiBmdW5jdGlvbiB0ZWVSZWFkYWJsZVN0cmVhbShzdHJlYW0sIHNob3VsZENsb25l
KQogewogICAgICJ1c2Ugc3RyaWN0IjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHBy
b2ovV2ViQ29yZS52Y3hwcm9qCmluZGV4IGViNTkwMzAyODkyNjRmODkzMWE2NDJmYTY4M2ViYjNl
YjI5YmUwMDEuLmY1ZDRlMmIyZTJkZjk1MDQ3YTY5ZWI0NjQ2OTY4MDgwMmU5MWM3YzMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagpAQCAtMjMx
LDYgKzIzMSwyMCBAQAogICAgIDxDbENvbXBpbGUgLz4KICAgPC9JdGVtRGVmaW5pdGlvbkdyb3Vw
PgogICA8SXRlbUdyb3VwPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChDb25maWd1cmF0aW9u
QnVpbGREaXIpXG9iaiQoUGxhdGZvcm1BcmNoaXRlY3R1cmUpXCQoUHJvamVjdE5hbWUpXERlcml2
ZWRTb3VyY2VzXFdlYkNvcmVKU0J1aWx0aW5zLmNwcCI+CisgICAgICA8RXhjbHVkZWRGcm9tQnVp
bGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4z
MiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENv
bmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+dHJ1
ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9u
PSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z19XaW5DYWlyb3xXaW4zMici
PnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRp
dGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98eDY0
JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z1N1ZmZpeHxXaW4z
MiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENv
bmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdTdWZmaXh8eDY0
JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+
dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0
aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPnRydWU8
L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0i
JyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3xXaW4zMici
PnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRp
dGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3x4
NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBD
b25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2lu
MzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBD
b25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0
JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqJChQbGF0Zm9ybUFyY2hp
dGVjdHVyZSlcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcQ29sb3JEYXRhLmNwcCIgLz4K
ICAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmokKFBs
YXRmb3JtQXJjaGl0ZWN0dXJlKVwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xDU1NHcmFt
bWFyLmNwcCI+CiAgICAgICA8RGlzYWJsZVNwZWNpZmljV2FybmluZ3MgQ29uZGl0aW9uPSInJChD
b25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPjQwNjU7NDI3Mzs0NTY1
OzQ3MDE7NDcwMjslKERpc2FibGVTcGVjaWZpY1dhcm5pbmdzKTwvRGlzYWJsZVNwZWNpZmljV2Fy
bmluZ3M+CkBAIC0xODk1OSwyMCArMTg5NzMsNiBAQAogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxk
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnxX
aW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxk
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnx4
NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICA8L0NsQ29tcGlsZT4KLSAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXFdlYkNvcmVKU0J1aWx0aW5zLmNwcCI+Ci0g
ICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBs
YXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAg
PEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9y
bSknPT0nRGVidWd8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVk
ZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdE
ZWJ1Z19XaW5DYWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4
Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSkn
PT0nRGVidWdfV2luQ2Fpcm98eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8
RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3Jt
KSc9PSdEZWJ1Z1N1ZmZpeHxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAg
PEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9y
bSknPT0nRGVidWdTdWZmaXh8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8
RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3Jt
KSc9PSdSZWxlYXNlfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhj
bHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9
PSdSZWxlYXNlfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVk
RnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVs
ZWFzZV9XaW5DYWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4
Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSkn
PT0nUmVsZWFzZV9XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAg
IDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZv
cm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAg
IDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZv
cm0pJz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgPC9D
bENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xXb3JrZXJT
Y3JpcHRDb250cm9sbGVyLmNwcCI+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9u
PSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPnRydWU8L0V4
Y2x1ZGVkRnJvbUJ1aWxkPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQo
Q29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRG
cm9tQnVpbGQ+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKaW5kZXggOGYyZTQ4OGM1YmE2OTVkMmNlOGEwMzZmMjNkZmY1ZmVhNTZlNzk2MS4u
NmJlOTRmMmRmZTVhZmUxYWIxNDRjMjY0MTQxZjA4MDYzNTFhMmFjYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTQ4Niw3ICsx
NDg2LDYgQEAKIAkJNDBFQ0FFODExNkI4QjY4QTAwQzM2MTAzIC8qIEpTRE9NRXJyb3IuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDBFQ0FFODAxNkI4
QjY4QTAwQzM2MTAzIC8qIEpTRE9NRXJyb3IuY3BwICovOyB9OwogCQk0MTBCN0U3MjEwNDVGQUIw
MDBEODIyNEYgLyogSlNNZXNzYWdlRXZlbnRDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEwQjdFNzExMDQ1RkFCMDAwRDgyMjRGIC8qIEpT
TWVzc2FnZUV2ZW50Q3VzdG9tLmNwcCAqLzsgfTsKIAkJNDExODlFRjkxQUQ4MjczNzAwQjkwQTBE
IC8qIEpTUmVhZGFibGVTdHJlYW1Db250cm9sbGVyQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMTg5RUY4MUFEODIzM0MwMEI5MEEwRCAv
KiBKU1JlYWRhYmxlU3RyZWFtQ29udHJvbGxlckN1c3RvbS5jcHAgKi87IH07Ci0JCTQxMUE5MDQy
MUJCQUI0N0EwMDBDRjE1NiAvKiBXZWJDb3JlSlNCdWlsdGlucy5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTFBOTA0MTFCQkFCNDZEMDAwQ0YxNTYg
LyogV2ViQ29yZUpTQnVpbHRpbnMuY3BwICovOyB9OwogCQk0MTIzMDgxQjEzOEM0Mjk3MDBCQ0NG
Q0EgLyogV2ViQ29yZS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA5M0YxOUIxQTA4MjQ1RTVBMDAxRTlBQkMgLyogV2ViQ29yZS5mcmFt
ZXdvcmsgKi87IH07CiAJCTQxMjMwOTEzMTM4QzQyRkYwMEJDQ0ZDQSAvKiBKYXZhU2NyaXB0Q29y
ZS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBGODIxNjI5OTAyOUY0RkI1MDEwMDAxMzEgLyogSmF2YVNjcmlwdENvcmUuZnJhbWV3b3Jr
ICovOyB9OwogCQk0MTI3RDUzNzBGOEFBQjFEMDBFNDI0RjUgLyogU2NyaXB0U3RhdGUuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEyN0Q1MzYwRjhB
QUIxRDAwRTQyNEY1IC8qIFNjcmlwdFN0YXRlLmNwcCAqLzsgfTsKQEAgLTE1MDYsNyArMTUwNSw4
IEBACiAJCTQxNkUyOUE2MTAyRkE5NjIwMDdGQzE0RSAvKiBXb3JrZXJSZXBvcnRpbmdQcm94eS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE2RTI5QTUx
MDJGQTk2MjAwN0ZDMTRFIC8qIFdvcmtlclJlcG9ydGluZ1Byb3h5LmggKi87IH07CiAJCTQxNkU2
RkU4MUJCRDEyREYwMDBBNjA0MyAvKiBSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5QjAzRDgwNjFC
QjMxMTBEMDBCNzY0RDkgLyogUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxNkU2RkU5MUJC
RDEyRTUwMDBBNjA0MyAvKiBSZWFkYWJsZVN0cmVhbUJ1aWx0aW5zLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5QjAzRDgwNjFCQjMxMTBEMDBCNzY0RDgg
LyogUmVhZGFibGVTdHJlYW1CdWlsdGlucy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07Ci0JCTQxNkU2RkVBMUJCRDE2ODQwMDBBNjA0MyAvKiBSZWFkYWJs
ZVN0cmVhbUludGVybmFsc0J1aWx0aW5zV3JhcHBlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOUIwM0Q4MDcxQkIzMTEwRDAwQjc2NEQ5IC8qIFJlYWRh
YmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnNXcmFwcGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNDE2RTZGRUExQkJEMTY4NDAwMEE2MDQ0IC8q
IFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnNXcmFwcGVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5QjAzRDgwNzFCQjMxMTBEMDBCNzY0REEg
LyogUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGluc1dyYXBwZXIuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk0MTZFNkZFQTFCQkQxNjg0MDAw
QTYwNDMgLyogUHJpdmF0ZVdlYkNvcmVKU0J1aWx0aW5zLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5QjAzRDgwNzFCQjMxMTBEMDBCNzY0RDkgLyogUHJp
dmF0ZVdlYkNvcmVKU0J1aWx0aW5zLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJNDE3MjUzQUExMzU0QkJCQzAwMzYwRjJBIC8qIE1lZGlhQ29udHJv
bEVsZW1lbnRzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQxNzI1M0E4MTM1NEJCQkMwMDM2MEYyQSAvKiBNZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAg
Ki87IH07CiAJCTQxNzI1M0FCMTM1NEJCQkMwMDM2MEYyQSAvKiBNZWRpYUNvbnRyb2xFbGVtZW50
cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE3MjUz
QTkxMzU0QkJCQzAwMzYwRjJBIC8qIE1lZGlhQ29udHJvbEVsZW1lbnRzLmggKi87IH07CiAJCTQx
N0RBNkQ5MTM3MzRFNkUwMDdDNTdGQiAvKiBJbnRlcm5hbHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE3REE0Q0YxMzczNDMyNjAwN0M1N0ZCIC8q
IEludGVybmFscy5jcHAgKi87IH07CkBAIC0yNjM4LDYgKzI2MzgsNyBAQAogCQk3QzQ4QTZEMDE5
MUM5RDY1MDAwMjY2NzQgLyogV2ViS2l0TmFtZXNwYWNlLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDNDhBNkNFMTkxQzlENjUwMDAyNjY3NCAvKiBX
ZWJLaXROYW1lc3BhY2UuY3BwICovOyB9OwogCQk3QzQ4QTZEMTE5MUM5RDY1MDAwMjY2NzQgLyog
V2ViS2l0TmFtZXNwYWNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA3QzQ4QTZDRjE5MUM5RDY1MDAwMjY2NzQgLyogV2ViS2l0TmFtZXNwYWNlLmggKi87
IH07CiAJCTdDNDkwMkEyMThCODI1RjgwMDdEOTI5OCAvKiBET01XaGVlbEV2ZW50SW50ZXJuYWwu
aCBpbiBDb3B5IEdlbmVyYXRlZCBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDg1OTg5RENBMEFDQzhCQkQwMEEwQkM1MSAvKiBET01XaGVlbEV2ZW50SW50ZXJuYWwu
aCAqLzsgfTsKKwkJN0M0Qzk2REMxQUQ0NDgzNTAwMzY1QTUxIC8qIFdlYkNvcmVKU0J1aWx0aW5z
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDNEM5
NkQ4MUFENDQ4MzUwMDM2NUE1MSAvKiBXZWJDb3JlSlNCdWlsdGlucy5jcHAgKi87IH07CiAJCTdD
NEM5NkRDMUFENDQ4MzUwMDM2NUE1MCAvKiBKU1JlYWRhYmxlU3RyZWFtLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDNEM5NkQ4MUFENDQ4MzUwMDM2
NUE1MCAvKiBKU1JlYWRhYmxlU3RyZWFtLmNwcCAqLzsgfTsKIAkJN0M0Qzk2REQxQUQ0NDgzNTAw
MzY1QTUwIC8qIEpTUmVhZGFibGVTdHJlYW0uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDdDNEM5NkQ5MUFENDQ4MzUwMDM2NUE1MCAvKiBKU1JlYWRhYmxl
U3RyZWFtLmggKi87IH07CiAJCTdDNEM5NkRFMUFENDQ4MzUwMDM2NUE1MCAvKiBKU1JlYWRhYmxl
U3RyZWFtUmVhZGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDdDNEM5NkRBMUFENDQ4MzUwMDM2NUE1MCAvKiBKU1JlYWRhYmxlU3RyZWFtUmVhZGVy
LmNwcCAqLzsgfTsKQEAgLTg3NzEsNyArODc3Miw2IEBACiAJCTQxMTg5RUY2MUFEODIzMjgwMEI5
MEEwRCAvKiBSZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gUmVhZGFibGVTdHJlYW1Db250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTQxMTg5RUY3MUFEODIzMjgwMEI5MEEwRCAvKiBSZWFkYWJsZVN0cmVhbUNv
bnRyb2xsZXIuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFJlYWRhYmxlU3RyZWFtQ29udHJv
bGxlci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMTg5RUY4MUFEODIzM0Mw
MEI5MEEwRCAvKiBKU1JlYWRhYmxlU3RyZWFtQ29udHJvbGxlckN1c3RvbS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1JlYWRhYmxlU3RyZWFtQ29udHJvbGxlckN1
c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTQxMUE5MDQxMUJCQUI0NkQw
MDBDRjE1NiAvKiBXZWJDb3JlSlNCdWlsdGlucy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBXZWJDb3JlSlNCdWlsdGlucy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTQxMjdENTM2MEY4QUFCMUQwMEU0MjRGNSAvKiBTY3JpcHRTdGF0ZS5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY3JpcHRTdGF0ZS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMzhEMzMzMTI0NDA1NDgwMDMyM0QzMyAvKiBFdmVu
dENvbnRleHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRXZlbnRDb250ZXh0
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMzhEMzM0MTI0NDA1NDgwMDMyM0Qz
MyAvKiBFdmVudENvbnRleHQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gRXZlbnRDb250ZXh0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEwMDYx
LDYgKzEwMDYxLDcgQEAKIAkJN0M0OEE2Q0UxOTFDOUQ2NTAwMDI2Njc0IC8qIFdlYktpdE5hbWVz
cGFjZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJLaXROYW1l
c3BhY2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QzQ4QTZDRjE5MUM5RDY1
MDAwMjY2NzQgLyogV2ViS2l0TmFtZXNwYWNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFdlYktpdE5hbWVzcGFjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3
QzQ4QTZEMjE5MUM5RDhFMDAwMjY2NzQgLyogV2ViS2l0TmFtZXNwYWNlLmlkbCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBXZWJL
aXROYW1lc3BhY2UuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3QzRDOTZEODFB
RDQ0ODM1MDAzNjVBNTEgLyogV2ViQ29yZUpTQnVpbHRpbnMuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gV2ViQ29yZUpTQnVpbHRpbnMuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk3QzRDOTZEODFBRDQ0ODM1MDAzNjVBNTAgLyogSlNSZWFkYWJsZVN0
cmVhbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1JlYWRhYmxl
U3RyZWFtLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0M0Qzk2RDkxQUQ0NDgz
NTAwMzY1QTUwIC8qIEpTUmVhZGFibGVTdHJlYW0uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gSlNSZWFkYWJsZVN0cmVhbS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk3QzRDOTZEQTFBRDQ0ODM1MDAzNjVBNTAgLyogSlNSZWFkYWJsZVN0cmVhbVJlYWRlci5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1JlYWRhYmxlU3RyZWFtUmVh
ZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTExMzMyLDcgKzExMzMzLDgg
QEAKIAkJOUIwM0Q4MDYxQkIzMTEwRDAwQjc2NEQ4IC8qIFJlYWRhYmxlU3RyZWFtQnVpbHRpbnMu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVhZGFibGVTdHJlYW1CdWlsdGlu
cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5QjAzRDgwNjFCQjMxMTBEMDBCNzY0
RDkgLyogUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTlCMDNEODA3MUJCMzExMEQwMEI3NjREOCAvKiBSZWFk
YWJsZVN0cmVhbUJ1aWx0aW5zV3JhcHBlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBSZWFkYWJsZVN0cmVhbUJ1aWx0aW5zV3JhcHBlci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwotCQk5QjAzRDgwNzFCQjMxMTBEMDBCNzY0RDkgLyogUmVhZGFibGVTdHJlYW1JbnRl
cm5hbHNCdWlsdGluc1dyYXBwZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
UmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGluc1dyYXBwZXIuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJOUIwM0Q4MDcxQkIzMTEwRDAwQjc2NERBIC8qIFJlYWRhYmxlU3RyZWFt
SW50ZXJuYWxzQnVpbHRpbnNXcmFwcGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnNXcmFwcGVyLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTlCMDNEODA3MUJCMzExMEQwMEI3NjREOSAvKiBQcml2YXRlV2Vi
Q29yZUpTQnVpbHRpbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUHJpdmF0
ZVdlYkNvcmVKU0J1aWx0aW5zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTlCMTlC
NjdFMUI5NjRFNTIwMDM0ODc0NSAvKiBTaGFkb3dSb290LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBh
dGggPSBTaGFkb3dSb290LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOUIxQUIw
NzkxNjQ4QzY5RDAwNTFGM0YyIC8qIEhUTUxGb3JtQ29udHJvbHNDb2xsZWN0aW9uLmlkbCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGgg
PSBIVE1MRm9ybUNvbnRyb2xzQ29sbGVjdGlvbi5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTlCMUFCMDdCMTY0OEM3QzQwMDUxRjNGMiAvKiBKU0hUTUxGb3JtQ29udHJvbHNDb2xs
ZWN0aW9uQ3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpT
SFRNTEZvcm1Db250cm9sc0NvbGxlY3Rpb25DdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtMTYyOTMsNiArMTYyOTUsNyBAQAogCQk0MUEwMjNGQTFBMzlGMTNBMDBGNzIy
Q0YgLyogU3RyZWFtcyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAo
CisJCQkJN0M0Qzk2RDgxQUQ0NDgzNTAwMzY1QTUxIC8qIFdlYkNvcmVKU0J1aWx0aW5zLmNwcCAq
LywKIAkJCQk3QzRDOTZEODFBRDQ0ODM1MDAzNjVBNTAgLyogSlNSZWFkYWJsZVN0cmVhbS5jcHAg
Ki8sCiAJCQkJN0M0Qzk2RDkxQUQ0NDgzNTAwMzY1QTUwIC8qIEpTUmVhZGFibGVTdHJlYW0uaCAq
LywKIAkJCQk2QzRDOTZEQTFBRDQ0ODM1MDAzNjVBNTAgLyogSlNSZWFkYWJsZVN0cmVhbUNvbnRy
b2xsZXIuY3BwICovLApAQCAtMTcwODQsNyArMTcwODcsOCBAQAogCQkJCTlCMDNEODA2MUJCMzEx
MEQwMEI3NjREOCAvKiBSZWFkYWJsZVN0cmVhbUJ1aWx0aW5zLmggKi8sCiAJCQkJOUIwM0Q4MDYx
QkIzMTEwRDAwQjc2NEQ5IC8qIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaCAqLywK
IAkJCQk5QjAzRDgwNzFCQjMxMTBEMDBCNzY0RDggLyogUmVhZGFibGVTdHJlYW1CdWlsdGluc1dy
YXBwZXIuaCAqLywKLQkJCQk5QjAzRDgwNzFCQjMxMTBEMDBCNzY0RDkgLyogUmVhZGFibGVTdHJl
YW1JbnRlcm5hbHNCdWlsdGluc1dyYXBwZXIuaCAqLywKKwkJCQk5QjAzRDgwNzFCQjMxMTBEMDBC
NzY0REEgLyogUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGluc1dyYXBwZXIuaCAqLywKKwkJ
CQk5QjAzRDgwNzFCQjMxMTBEMDBCNzY0RDkgLyogUHJpdmF0ZVdlYkNvcmVKU0J1aWx0aW5zLmgg
Ki8sCiAJCQkJNDNCODVFRDIxOENCRUM1MjAwRTMxQUY0IC8qIFNlbGVjdG9yUHNldWRvQ2xhc3NB
bmRDb21wYXRpYmlsaXR5RWxlbWVudE1hcC5jcHAgKi8sCiAJCQkJNDNCODVFRDMxOENCRUM1MjAw
RTMxQUY0IC8qIFNlbGVjdG9yUHNldWRvQ2xhc3NBbmRDb21wYXRpYmlsaXR5RWxlbWVudE1hcC5n
cGVyZiAqLywKIAkJCQkyNkFBMEY5RDE4RDJBMThCMDA0MTkzODEgLyogU2VsZWN0b3JQc2V1ZG9F
bGVtZW50VHlwZU1hcC5jcHAgKi8sCkBAIC0yMTY4MSw3ICsyMTY4NSw2IEBACiAJCQkJMTQwMEQ3
QTcxNzEzNkVBNzAwNzdDRTA1IC8qIFNjcmlwdFdyYXBwYWJsZUlubGluZXMuaCAqLywKIAkJCQlB
NzVFNDk3NTEwNzUyQUNCMDBDOUI4OTYgLyogU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcCAqLywK
IAkJCQlBNzVFNDk3NDEwNzUyQUNCMDBDOUI4OTYgLyogU2VyaWFsaXplZFNjcmlwdFZhbHVlLmgg
Ki8sCi0JCQkJNDExQTkwNDExQkJBQjQ2RDAwMENGMTU2IC8qIFdlYkNvcmVKU0J1aWx0aW5zLmNw
cCAqLywKIAkJCQlCQzUzRDkxMDExNDMxMENDMDAwRDgxN0UgLyogV2ViQ29yZUpTQ2xpZW50RGF0
YS5oICovLAogCQkJCTBGMDk5RDA2MTdCOTY4QTEwMEZGODRCOSAvKiBXZWJDb3JlVHlwZWRBcnJh
eUNvbnRyb2xsZXIuY3BwICovLAogCQkJCTBGMDk5RDA3MTdCOTY4QTEwMEZGODRCOSAvKiBXZWJD
b3JlVHlwZWRBcnJheUNvbnRyb2xsZXIuaCAqLywKQEAgLTI1NzM4LDcgKzI1NzQxLDggQEAKIAkJ
CQlGQzlFMEU0RDE2NDE5QzFFMDAzOTJCRTMgLyogSlNET01XaW5kb3dDU1MuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTY1MkZCQkJDMERFMjdDQjYwMDAxRDM4NiAvKiBKU0RPTVdpbmRvd0N1c3RvbS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQkNCRkI1M0QwRENEMjlDRjAwMTlCM0U1IC8qIEpTRE9NV2lu
ZG93U2hlbGwuaCBpbiBIZWFkZXJzICovLAotCQkJCTQxNkU2RkVBMUJCRDE2ODQwMDBBNjA0MyAv
KiBSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zV3JhcHBlci5oIGluIEhlYWRlcnMgKi8s
CisJCQkJNDE2RTZGRUExQkJEMTY4NDAwMEE2MDQ0IC8qIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxz
QnVpbHRpbnNXcmFwcGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MTZFNkZFQTFCQkQxNjg0MDAw
QTYwNDMgLyogUHJpdmF0ZVdlYkNvcmVKU0J1aWx0aW5zLmggaW4gSGVhZGVycyAqLywKIAkJCQk2
NUUwRTk0NDExMzNDODlGMDBCNENCMTAgLyogSlNET01XcmFwcGVyLmggaW4gSGVhZGVycyAqLywK
IAkJCQlGRDc4NjhCQTEzNkI5OTkyMDBENDAzREYgLyogSlNEeW5hbWljc0NvbXByZXNzb3JOb2Rl
LmggaW4gSGVhZGVycyAqLywKIAkJCQk2NURGMzFGQTA5RDFDQzYwMDAwQkUzMjUgLyogSlNFbGVt
ZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTI5MDc4LDcgKzI5MDgyLDYgQEAKIAkJCQlBOEVBNzlG
MzBBMTkxNkRGMDBBOEVGNUYgLyogSFRNTFVMaXN0RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQlFNDQ2MTNBQTBDRDYzMzEwMDBGQURBNzUgLyogSFRNTFZpZGVvRWxlbWVudC5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk4MzlBQUZFQzFBMEMwQzhEMDA2MDVGOTkgLyogSFRNTFdCUkVsZW1l
bnQuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNDExQTkwNDIxQkJBQjQ3QTAwMENGMTU2IC8qIFdl
YkNvcmVKU0J1aWx0aW5zLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTBCOEM1NkQ0MEYyODYyN0Yw
MDA1MDJFMSAvKiBIVFRQSGVhZGVyTWFwLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBQzkwMEMz
MTk0M0MwRkMwMDg2MjVCNSAvKiBIVFRQSGVhZGVyTmFtZXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNTE0Qzc2NzIwQ0U5MjNBMTAwN0VGM0NEIC8qIEhUVFBQYXJzZXJzLmNwcCBpbiBTb3VyY2Vz
ICovLApAQCAtMjk1OTAsNiArMjk1OTMsNyBAQAogCQkJCTA3NzY2NEZDMTgzRTZCNUMwMDEzM0I5
MiAvKiBKU1F1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUI2NThGRkExMTUyMkVGM0EwMERENTU5NSAvKiBKU1JhZGlvTm9kZUxpc3QuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJNjVERjMyMDEwOUQxQ0M2MDAwMEJFMzI1IC8qIEpTUmFuZ2UuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJN0M0Qzk2REMxQUQ0NDgzNTAwMzY1QTUxIC8qIFdlYkNvcmVKU0J1aWx0
aW5zLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDNEM5NkRDMUFENDQ4MzUwMDM2NUE1MCAvKiBK
U1JlYWRhYmxlU3RyZWFtLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTZDNEM5NkRFMUFENDQ4MzUw
MDM2NUE1MCAvKiBKU1JlYWRhYmxlU3RyZWFtQ29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk0MTE4OUVGOTFBRDgyNzM3MDBCOTBBMEQgLyogSlNSZWFkYWJsZVN0cmVhbUNvbnRyb2xs
ZXJDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNET01XaW5kb3dCYXNlLmNwcAppbmRleCAzMDZjZTRiNDg3NjVkYjQ2NjBiMjM5ZjlmNDQ3
ZmVkYWQ4Y2YwZGQ2Li5kMDNiYWQwMzBmZGE2YWRlYjc5ZjIxYWY2YTVjZTE1YTRmOGFhMzk1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5jcHAKQEAg
LTY5LDkgKzY5LDcgQEAgSlNET01XaW5kb3dCYXNlOjpKU0RPTVdpbmRvd0Jhc2UoVk0mIHZtLCBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSwgUGFzc1JlZlB0cjxET01XaW4KICAgICAsIG1fd2luZG93Q2xv
c2VXYXRjaHBvaW50cygod2luZG93ICYmIHdpbmRvdy0+ZnJhbWUoKSkgPyBJc1dhdGNoZWQgOiBJ
c0ludmFsaWRhdGVkKQogICAgICwgbV9pbXBsKHdpbmRvdykKICAgICAsIG1fc2hlbGwoc2hlbGwp
Ci0jaWYgRU5BQkxFKFNUUkVBTVNfQVBJKQotICAgICwgbV9yZWFkYWJsZVN0cmVhbUZ1bmN0aW9u
cyh2bSkKLSNlbmRpZgorICAgICwgbV9wcml2YXRlRnVuY3Rpb25zKHZtKQogewogfQogCkBAIC04
MCw5ICs3OCw3IEBAIHZvaWQgSlNET01XaW5kb3dCYXNlOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0s
IEpTRE9NV2luZG93U2hlbGwqIHNoZWxsKQogICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCBz
aGVsbCk7CiAgICAgQVNTRVJUKGluaGVyaXRzKGluZm8oKSkpOwogCi0jaWYgRU5BQkxFKFNUUkVB
TVNfQVBJKQotICAgIG1fcmVhZGFibGVTdHJlYW1GdW5jdGlvbnMuaW5pdCgqdGhpcyk7Ci0jZW5k
aWYKKyAgICBtX3ByaXZhdGVGdW5jdGlvbnMuaW5pdCgqdGhpcyk7CiAKICAgICBHbG9iYWxQcm9w
ZXJ0eUluZm8gc3RhdGljR2xvYmFsc1tdID0gewogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8o
dm0ucHJvcGVydHlOYW1lcy0+ZG9jdW1lbnQsIGpzTnVsbCgpLCBEb250RGVsZXRlIHwgUmVhZE9u
bHkpLApAQCAtOTAsOCArODYsOCBAQCB2b2lkIEpTRE9NV2luZG93QmFzZTo6ZmluaXNoQ3JlYXRp
b24oVk0mIHZtLCBKU0RPTVdpbmRvd1NoZWxsKiBzaGVsbCkKICNpZiBFTkFCTEUoU1RSRUFNU19B
UEkpCiAjZGVmaW5lIERFQ0xBUkVfR0xPQkFMX1NUQVRJQyhuYW1lKVwKICAgICAgICAgR2xvYmFs
UHJvcGVydHlJbmZvKFwKLSAgICAgICAgICAgIHN0YXRpY19jYXN0PFdlYkNvcmVKU0NsaWVudERh
dGEqPih2bS5jbGllbnREYXRhKS0+cmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucygpLm5h
bWUjI1ByaXZhdGVOYW1lKCksXAotICAgICAgICAgICAgbV9yZWFkYWJsZVN0cmVhbUZ1bmN0aW9u
cy5tXyMjbmFtZSMjRnVuY3Rpb24uZ2V0KCkgLCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAorICAg
ICAgICAgICAgc3RhdGljX2Nhc3Q8V2ViQ29yZUpTQ2xpZW50RGF0YSo+KHZtLmNsaWVudERhdGEp
LT5idWlsdGluRnVuY3Rpb25zKCkucmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucygpLm5h
bWUjI1ByaXZhdGVOYW1lKCksXAorICAgICAgICAgICAgbV9wcml2YXRlRnVuY3Rpb25zLnJlYWRh
YmxlU3RyZWFtSW50ZXJuYWxzKCkubV8jI25hbWUjI0Z1bmN0aW9uLmdldCgpICwgRG9udERlbGV0
ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgV0VCQ09SRVJFQURBQkxFU1RSRUFNSU5URVJOQUxTX0ZP
UkVBQ0hfQlVJTFRJTl9GVU5DVElPTl9OQU1FKERFQ0xBUkVfR0xPQkFMX1NUQVRJQykKICN1bmRl
ZiBFWFBPUlRfRlVOQ1RJT04KICNlbmRpZgpAQCAtMTA1LDkgKzEwMSw3IEBAIHZvaWQgSlNET01X
aW5kb3dCYXNlOjp2aXNpdENoaWxkcmVuKEpTQ2VsbCogY2VsbCwgU2xvdFZpc2l0b3ImIHZpc2l0
b3IpCiAgICAgSlNET01XaW5kb3dCYXNlKiB0aGlzT2JqZWN0ID0ganNDYXN0PEpTRE9NV2luZG93
QmFzZSo+KGNlbGwpOwogICAgIEFTU0VSVF9HQ19PQkpFQ1RfSU5IRVJJVFModGhpc09iamVjdCwg
aW5mbygpKTsKICAgICBCYXNlOjp2aXNpdENoaWxkcmVuKHRoaXNPYmplY3QsIHZpc2l0b3IpOwot
I2lmIEVOQUJMRShTVFJFQU1TX0FQSSkKLSAgICB0aGlzT2JqZWN0LT5tX3JlYWRhYmxlU3RyZWFt
RnVuY3Rpb25zLnZpc2l0KHZpc2l0b3IpOwotI2VuZGlmCisgICAgdGhpc09iamVjdC0+bV9wcml2
YXRlRnVuY3Rpb25zLnZpc2l0KHZpc2l0b3IpOwogfQogCiB2b2lkIEpTRE9NV2luZG93QmFzZTo6
ZGVzdHJveShKU0NlbGwqIGNlbGwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0RPTVdpbmRvd0Jhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9N
V2luZG93QmFzZS5oCmluZGV4IGY0MDg3MmY1ZWEwOTVjOTgzNjM5ZDZlZGE3MDk1N2JlODU4YjRl
MDEuLjExOGE2ZjFmN2QyNjNlYmUzNGQyZWJkOWJjZTAwMmUyOWQ5MWQ0MmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oCkBAIC0yMiw3ICsyMiw3IEBA
CiAKICNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKICNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVj
dC5oIgotI2luY2x1ZGUgIlJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnNXcmFwcGVyLmgi
CisjaW5jbHVkZSAiUHJpdmF0ZVdlYkNvcmVKU0J1aWx0aW5zLmgiCiAjaW5jbHVkZSA8d3RmL0Zv
cndhcmQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtODcsOSArODcsNyBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAgICAgICAgIFJlZlB0cjxET01XaW5kb3c+IG1faW1wbDsKICAgICAgICAg
SlNET01XaW5kb3dTaGVsbCogbV9zaGVsbDsKIAotI2lmIEVOQUJMRShTVFJFQU1TX0FQSSkKLSAg
ICAgICAgUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGluRnVuY3Rpb25zIG1fcmVhZGFibGVT
dHJlYW1GdW5jdGlvbnM7Ci0jZW5kaWYKKyAgICAgICAgUHJpdmF0ZVdlYkNvcmVKU0J1aWx0aW5G
dW5jdGlvbnMgbV9wcml2YXRlRnVuY3Rpb25zOwogICAgIH07CiAKICAgICAvLyBSZXR1cm5zIGEg
SlNET01XaW5kb3cgb3IganNOdWxsKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1dlYkNvcmVKU0NsaWVudERhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1dlYkNvcmVKU0NsaWVudERhdGEuaAppbmRleCAwM2RjNjQxN2M1NmNjYjgwZjIxNWI4YTcxZjAw
N2Q3ZjQyZGJjYjViLi42YTAwYTkzMjdjZjBkZTg1Y2IzYTIzNjcwZTk3YmUzYzdiZmE3NjE2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRh
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5o
CkBAIC0yMywxNyArMjMsMTEgQEAKICNkZWZpbmUgV2ViQ29yZUpTQ2xpZW50RGF0YV9oCiAKICNp
bmNsdWRlICJET01XcmFwcGVyV29ybGQuaCIKKyNpbmNsdWRlICJXZWJDb3JlSlNCdWlsdGlucy5o
IgogI2luY2x1ZGUgIldlYkNvcmVUeXBlZEFycmF5Q29udHJvbGxlci5oIgogI2luY2x1ZGUgPHd0
Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCi0jaWYgRU5BQkxFKFNUUkVB
TVNfQVBJKQotI2luY2x1ZGUgIkJ5dGVMZW5ndGhRdWV1aW5nU3RyYXRlZ3lCdWlsdGluc1dyYXBw
ZXIuaCIKLSNpbmNsdWRlICJDb3VudFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zV3JhcHBlci5oIgot
I2luY2x1ZGUgIlJlYWRhYmxlU3RyZWFtQnVpbHRpbnNXcmFwcGVyLmgiCi0jaW5jbHVkZSAiUmVh
ZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGluc1dyYXBwZXIuaCIKLSNlbmRpZgotCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIGNsYXNzIFdlYkNvcmVKU0NsaWVudERhdGEgOiBwdWJsaWMgSlNDOjpW
TTo6Q2xpZW50RGF0YSB7CkBAIC00MiwxOSArMzYsOSBAQCBjbGFzcyBXZWJDb3JlSlNDbGllbnRE
YXRhIDogcHVibGljIEpTQzo6Vk06OkNsaWVudERhdGEgewogICAgIGZyaWVuZCB2b2lkIGluaXRO
b3JtYWxXb3JsZENsaWVudERhdGEoSlNDOjpWTSopOwogCiBwdWJsaWM6Ci0jaWYgRU5BQkxFKFNU
UkVBTVNfQVBJKQogICAgIGV4cGxpY2l0IFdlYkNvcmVKU0NsaWVudERhdGEoSlNDOjpWTSYgdm0p
Ci0gICAgICAgIDogbV9yZWFkYWJsZVN0cmVhbUJ1aWx0aW5zKCZ2bSkKLSAgICAgICAgLCBtX3Jl
YWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMoJnZtKQotICAgICAgICAsIG1fYnl0ZUxlbmd0
aFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zKCZ2bSkKLSAgICAgICAgLCBtX2NvdW50UXVldWluZ1N0
cmF0ZWd5QnVpbHRpbnMoJnZtKQotI2Vsc2UKLSAgICBXZWJDb3JlSlNDbGllbnREYXRhKEpTQzo6
Vk0mKQotI2VuZGlmCisgICAgICAgIDogbV9idWlsdGluRnVuY3Rpb25zKHZtKQogICAgIHsKLSNp
ZiBFTkFCTEUoU1RSRUFNU19BUEkpCi0gICAgICAgIG1fcmVhZGFibGVTdHJlYW1JbnRlcm5hbHNC
dWlsdGlucy5leHBvcnROYW1lcygpOwotI2VuZGlmCiAgICAgfQogCiAgICAgdmlydHVhbCB+V2Vi
Q29yZUpTQ2xpZW50RGF0YSgpCkBAIC04OSwyMyArNzMsMTMgQEAgcHVibGljOgogICAgICAgICBt
X3dvcmxkU2V0LnJlbW92ZSgmd29ybGQpOwogICAgIH0KIAotI2lmIEVOQUJMRShTVFJFQU1TX0FQ
SSkKLSAgICBSZWFkYWJsZVN0cmVhbUJ1aWx0aW5zV3JhcHBlciYgcmVhZGFibGVTdHJlYW1CdWls
dGlucygpIHsgcmV0dXJuIG1fcmVhZGFibGVTdHJlYW1CdWlsdGluczsgfQotICAgIFJlYWRhYmxl
U3RyZWFtSW50ZXJuYWxzQnVpbHRpbnNXcmFwcGVyJiByZWFkYWJsZVN0cmVhbUludGVybmFsc0J1
aWx0aW5zKCkgeyByZXR1cm4gbV9yZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zOyB9Ci0g
ICAgQnl0ZUxlbmd0aFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zV3JhcHBlciYgYnl0ZUxlbmd0aFF1
ZXVpbmdTdHJhdGVneUJ1aWx0aW5zKCkgeyByZXR1cm4gbV9ieXRlTGVuZ3RoUXVldWluZ1N0cmF0
ZWd5QnVpbHRpbnM7IH0KLSAgICBDb3VudFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zV3JhcHBlciYg
Y291bnRRdWV1aW5nU3RyYXRlZ3lCdWlsdGlucygpIHsgcmV0dXJuIG1fY291bnRRdWV1aW5nU3Ry
YXRlZ3lCdWlsdGluczsgfQotI2VuZGlmCisgICAgV2ViQ29yZUpTQnVpbHRpbkZ1bmN0aW9ucyYg
YnVpbHRpbkZ1bmN0aW9ucygpIHsgcmV0dXJuIG1fYnVpbHRpbkZ1bmN0aW9uczsgfQogCiBwcml2
YXRlOgogICAgIEhhc2hTZXQ8RE9NV3JhcHBlcldvcmxkKj4gbV93b3JsZFNldDsKICAgICBSZWZQ
dHI8RE9NV3JhcHBlcldvcmxkPiBtX25vcm1hbFdvcmxkOwogCi0jaWYgRU5BQkxFKFNUUkVBTVNf
QVBJKQotICAgIFJlYWRhYmxlU3RyZWFtQnVpbHRpbnNXcmFwcGVyIG1fcmVhZGFibGVTdHJlYW1C
dWlsdGluczsKLSAgICBSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zV3JhcHBlciBtX3Jl
YWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnM7Ci0gICAgQnl0ZUxlbmd0aFF1ZXVpbmdTdHJh
dGVneUJ1aWx0aW5zV3JhcHBlciBtX2J5dGVMZW5ndGhRdWV1aW5nU3RyYXRlZ3lCdWlsdGluczsK
LSAgICBDb3VudFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zV3JhcHBlciBtX2NvdW50UXVldWluZ1N0
cmF0ZWd5QnVpbHRpbnM7Ci0jZW5kaWYKKyAgICBXZWJDb3JlSlNCdWlsdGluRnVuY3Rpb25zIG1f
YnVpbHRpbkZ1bmN0aW9uczsKIH07CiAKIGlubGluZSB2b2lkIGluaXROb3JtYWxXb3JsZENsaWVu
dERhdGEoSlNDOjpWTSogdm0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9nZW5lcmF0ZS1q
cy1idWlsdGlucy1hbGxpbm9uZSBiL1NvdXJjZS9XZWJDb3JlL2dlbmVyYXRlLWpzLWJ1aWx0aW5z
LWFsbGlub25lCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU4NDg1N2E1YWMzN2Q5N2E0OTc5MGFiY2VkYzEzZjk5YzJh
NWY2MTMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9nZW5lcmF0ZS1qcy1idWls
dGlucy1hbGxpbm9uZQpAQCAtMCwwICsxLDIzMyBAQAorIyEvdXNyL2Jpbi9weXRob24KKyMgQ29w
eXJpZ2h0IChDKSAyMDE1IENhbm9uIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworIyBhcmUgbWV0OgorIyAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisj
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisjICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyMgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyMKKyMgVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisj
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCisjIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorIyBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorIyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyMgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
IyBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKKyMgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorIyBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisKKworaW1wb3J0IGFyZ3BhcnNlCitpbXBvcnQgZmlsZWNtcAoraW1wb3J0IG9zCitp
bXBvcnQgcmUKKworc2luZ2xlTGluZUNvbW1lbnRSZWdFeHAgPSByZS5jb21waWxlKHIiXC9cLyBA
Lio/XG4iLCByZS5NVUxUSUxJTkUgfCByZS5TKQorCitkZWYgcmV0cmlldmVHZW5lcmF0aW9uUGFy
YW1ldGVycyhpbnB1dCk6CisgICAgcGFyYW1ldGVycyA9IHt9CisgICAgd2l0aCBvcGVuKGlucHV0
LCAncicpIGFzIGlucHV0X2ZpbGU6CisgICAgICAgIGNvbnRlbnQgPSBpbnB1dF9maWxlLnJlYWQo
KQorICAgICAgICBmb3IgbWF0Y2ggaW4gc2luZ2xlTGluZUNvbW1lbnRSZWdFeHAuZmluZGl0ZXIo
Y29udGVudCk6CisgICAgICAgICAgICB2YWx1ZXMgPSBjb250ZW50W21hdGNoLnN0YXJ0KCkgKyA0
Om1hdGNoLmVuZCgpXS5zcGxpdCgnPScpCisgICAgICAgICAgICBpZiBsZW4odmFsdWVzKSA9PSAx
OgorICAgICAgICAgICAgICAgIHBhcmFtZXRlcnNbdmFsdWVzWzBdLnN0cmlwKCldID0gVHJ1ZQor
ICAgICAgICAgICAgZWxpZiBsZW4gKHZhbHVlcykgPT0gMjoKKyAgICAgICAgICAgICAgICBwYXJh
bWV0ZXJzW3ZhbHVlc1swXS5zdHJpcCgpXSA9IHZhbHVlc1sxXS5zdHJpcCgpCisgICAgICAgICAg
ICBlbHNlOgorICAgICAgICAgICAgICAgIHByaW50KCJTa2lwcGluZyBwb3RlbnRpYWwgZ2VuZXJh
dGlvbiBwYXJhbWV0ZXIgZGlyZWN0aXZlOiIgJSB2YWx1ZXMuam9pbignPScpKQorICAgIHJldHVy
biBwYXJhbWV0ZXJzCisKKworZGVmIHJldHJpZXZlRmlsZXNXaXRoUGFyYW1ldGVycyhpbnB1dHMp
OgorICAgIGZpbGVzID0gW10KKyAgICBjbGFzcyBGaWxlSW5wdXQ6IHBhc3MKKyAgICBmb3IgaW5w
dXQgaW4gaW5wdXRzOgorICAgICAgICBmaWxlX2lucHV0ID0gRmlsZUlucHV0KCkKKyAgICAgICAg
ZmlsZV9pbnB1dC5wYXJhbWV0ZXJzID0gcmV0cmlldmVHZW5lcmF0aW9uUGFyYW1ldGVycyhpbnB1
dCkKKyAgICAgICAgZmlsZV9pbnB1dC5vcHRpb25hbGlmID0gKCIjaWYgRU5BQkxFKCIgKyBmaWxl
X2lucHV0LnBhcmFtZXRlcnNbIm9wdGlvbmFsIl0gKyAiKVxuIikgaWYgIm9wdGlvbmFsIiBpbiBm
aWxlX2lucHV0LnBhcmFtZXRlcnMgZWxzZSAiIgorICAgICAgICBmaWxlX2lucHV0Lm9wdGlvbmFs
ZW5kaWYgPSAiI2VuZGlmXG4iIGlmICJvcHRpb25hbCIgaW4gZmlsZV9pbnB1dC5wYXJhbWV0ZXJz
IGVsc2UgIiIKKyAgICAgICAgZmlsZV9pbnB1dC5maWxlbmFtZSA9IG9zLnBhdGguc3BsaXRleHQo
b3MucGF0aC5iYXNlbmFtZShpbnB1dCkpWzBdCisgICAgICAgIGZpbGVfaW5wdXQubmFtZSA9IGZp
bGVfaW5wdXQuZmlsZW5hbWVbMF0ubG93ZXIoKSArIGZpbGVfaW5wdXQuZmlsZW5hbWVbMTpdCisg
ICAgICAgIGZpbGVzLmFwcGVuZChmaWxlX2lucHV0KQorICAgIHJldHVybiBmaWxlcworCisKK2Rl
ZiB3cml0ZUNvbmRpdGlvbmFsKHdyaXRlciwgaW5wdXRfZmlsZSwgdmFsdWUpOgorICAgIHdyaXRl
ci53cml0ZShpbnB1dF9maWxlLm9wdGlvbmFsaWYpCisgICAgd3JpdGVyLndyaXRlKHZhbHVlKQor
ICAgIHdyaXRlci53cml0ZShpbnB1dF9maWxlLm9wdGlvbmFsZW5kaWYpCisKKworcGFyc2VyID0g
YXJncGFyc2UuQXJndW1lbnRQYXJzZXIoKQorcGFyc2VyLmFkZF9hcmd1bWVudCgnLS1vdXRwdXRf
ZGlyJywgZGVmYXVsdD0nJywgaGVscD0nb3V0cHV0IGRpcmVjdG9yeScpCitwYXJzZXIuYWRkX2Fy
Z3VtZW50KCdpbnB1dHMnLCBtZXRhdmFyPSdpbnB1dCcsIG5hcmdzPScrJywgaGVscD0ncGF0aCB0
byBpbnB1dCBKUyBmaWxlcycpCisKK2FyZ3MgPSBwYXJzZXIucGFyc2VfYXJncygpCitmaWxlcyA9
IHJldHJpZXZlRmlsZXNXaXRoUGFyYW1ldGVycyhhcmdzLmlucHV0cykKK2ludGVybmFsc19maWxl
cyA9IFsgZiBmb3IgZiBpbiBmaWxlcyBpZiAiaW50ZXJuYWxzIiBpbiBmLnBhcmFtZXRlcnMgXQor
CitiYXNlbmFtZSA9ICJXZWJDb3JlSlNCdWlsdGlucyIKK291dHB1dF9iYXNlID0gb3MucGF0aC5q
b2luKGFyZ3Mub3V0cHV0X2RpciwgYmFzZW5hbWUpCitwcml2YXRlX291dHB1dF9iYXNlID0gb3Mu
cGF0aC5qb2luKGFyZ3Mub3V0cHV0X2RpciwgIlByaXZhdGUiICsgYmFzZW5hbWUpCisKKworIyBD
cmVhdGUgd3JpdGVycworYnVpbHRpbnNIZWFkZXIgPSBvcGVuKG91dHB1dF9iYXNlICsgIi5oLnRt
cCIsICJ3IikKK2J1aWx0aW5zSW1wbGVtZW50YXRpb24gPSBvcGVuKG91dHB1dF9iYXNlICsgIi5j
cHAudG1wIiwgInciKQorcHJpdmF0ZUJ1aWx0aW5zSGVhZGVyID0gb3Blbihwcml2YXRlX291dHB1
dF9iYXNlICsgIi5oLnRtcCIsICJ3IikKKworcHJlYW1ibGUgPSAiIiIKKy8qIEdlbmVyYXRlZCBi
eSBnZW5lcmF0ZS1qcy1idWlsdGlucy1hbGxpbm9uZSBkbyBub3QgaGFuZCBlZGl0LiAqLworCisv
KgorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry
aWJ1dGUgaXQgYW5kL29yCisgKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IExlc3NlciBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogIHZlcnNpb24gMiBvZiB0aGUgTGlj
ZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgVGhp
cyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm
dWwsCisgKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp
ZWQgd2FycmFudHkgb2YKKyAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogIExlc3NlciBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZl
ZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFs
b25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJl
CisgKiAgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwg
Qm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCisgKi8KKworIiIiCisKKyMjIyMjIyMjIyMjIyMj
IworIyBHZW5lcmF0aW9uIG9mIGNwcCBmaWxlIGluY2x1ZGluZyBhbGwgSlMgYnVpbHRpbiBnZW5l
cmF0ZWQgY3BwIGZpbGVzIHdpdGggb3B0aW9uYWwgI2ZkZWYgZGlyZWN0aXZlcyBhcyBkZWZpbmVk
IGJ5IEBlbmFibGUgaW4gSlMgZmlsZXMuCisjIyMjIyMjIyMjIyMjIyMKK2J1aWx0aW5zSW1wbGVt
ZW50YXRpb24ud3JpdGUocHJlYW1ibGUpCitidWlsdGluc0ltcGxlbWVudGF0aW9uLndyaXRlKCIj
aW5jbHVkZSBcImNvbmZpZy5oXCJcblxuIikKKworIyBJbmNsdWRpbmcgY3BwIGZpbGVzCitmb3Ig
aW5wdXRfZmlsZSBpbiBmaWxlczoKKyAgICB3cml0ZUNvbmRpdGlvbmFsKGJ1aWx0aW5zSW1wbGVt
ZW50YXRpb24sIGlucHV0X2ZpbGUsICIjaW5jbHVkZSBcIiIgKyBpbnB1dF9maWxlLmZpbGVuYW1l
ICsgIkJ1aWx0aW5zLmNwcFwiXG4iKTsKKworYnVpbHRpbnNJbXBsZW1lbnRhdGlvbi5jbG9zZSgp
CisKKyMjIyMjIyMjIyMjIyMjIworIyBHZW5lcmF0aW9uIG9mIHdyYXBwZXIgaGVhZGVyIGZpbGUg
ZGVmaW5pbmcgYWNjZXNzIHRvIGFsbCBidWlsdGluIGZ1bmN0aW9ucy4KKyMjIyMjIyMjIyMjIyMj
IworYnVpbHRpbnNIZWFkZXIud3JpdGUocHJlYW1ibGUpCitidWlsdGluc0hlYWRlci53cml0ZSgi
I2lmbmRlZiAiICsgYmFzZW5hbWUgKyAiX2hcbiNkZWZpbmUgIiArIGJhc2VuYW1lICsgIl9oXG5c
biIpCisKK2ZvciBpbnB1dF9maWxlIGluIGZpbGVzOgorICAgIHdyaXRlQ29uZGl0aW9uYWwoYnVp
bHRpbnNIZWFkZXIsIGlucHV0X2ZpbGUsICIjaW5jbHVkZSBcIiIgKyBpbnB1dF9maWxlLmZpbGVu
YW1lICsgIkJ1aWx0aW5zV3JhcHBlci5oXCJcbiIpOworYnVpbHRpbnNIZWFkZXIud3JpdGUoIiIi
CisKKyNpbmNsdWRlIDxydW50aW1lL1ZNLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xh
c3MgV2ViQ29yZUpTQnVpbHRpbkZ1bmN0aW9ucyB7CitwdWJsaWM6CisiIiIpCisKKyMgQ29uc3Ry
dWN0b3IKK2J1aWx0aW5zSGVhZGVyLndyaXRlKCIgICAgZXhwbGljaXQgV2ViQ29yZUpTQnVpbHRp
bkZ1bmN0aW9ucyhKU0M6OlZNJiB2KVxuICAgICAgICA6IHZtKHYpXG4iKTsKK2ZvciBpbnB1dF9m
aWxlIGluIGZpbGVzOgorICAgIHdyaXRlQ29uZGl0aW9uYWwoYnVpbHRpbnNIZWFkZXIsIGlucHV0
X2ZpbGUsICIgICAgICAgICwgbV8iICsgaW5wdXRfZmlsZS5uYW1lICsgIkJ1aWx0aW5zKCZ2bSlc
biIpOworYnVpbHRpbnNIZWFkZXIud3JpdGUoIiAgICB7XG4iKTsKK2ZvciBpbnB1dF9maWxlIGlu
IGludGVybmFsc19maWxlczoKKyAgICB3cml0ZUNvbmRpdGlvbmFsKGJ1aWx0aW5zSGVhZGVyLCBp
bnB1dF9maWxlLCAiICAgICAgICBtXyIgKyBpbnB1dF9maWxlLm5hbWUgKyAiQnVpbHRpbnMuZXhw
b3J0TmFtZXMoKTtcbiIpOworYnVpbHRpbnNIZWFkZXIud3JpdGUoIiAgICB9XG4iKTsKKworIyBH
ZXR0ZXJzCitmb3IgaW5wdXRfZmlsZSBpbiBmaWxlczoKKyAgICB3cml0ZUNvbmRpdGlvbmFsKGJ1
aWx0aW5zSGVhZGVyLCBpbnB1dF9maWxlLCAiICAgICIgKyBpbnB1dF9maWxlLmZpbGVuYW1lICsg
IkJ1aWx0aW5zV3JhcHBlciYgIiArIGlucHV0X2ZpbGUubmFtZSAgKyAiQnVpbHRpbnMoKSB7IHJl
dHVybiBtXyIgKyBpbnB1dF9maWxlLm5hbWUgICsgIkJ1aWx0aW5zO31cbiIpOworCisjIERlY2xh
cmF0aW9ucworYnVpbHRpbnNIZWFkZXIud3JpdGUoIiIicHJpdmF0ZToKKyAgICBKU0M6OlZNJiB2
bTtcbiIiIik7Citmb3IgaW5wdXRfZmlsZSBpbiBmaWxlczoKKyAgICB3cml0ZUNvbmRpdGlvbmFs
KGJ1aWx0aW5zSGVhZGVyLCBpbnB1dF9maWxlLCAiICAgICIgKyBpbnB1dF9maWxlLmZpbGVuYW1l
ICsgIkJ1aWx0aW5zV3JhcHBlciBtXyIgKyBpbnB1dF9maWxlLm5hbWUgICsgIkJ1aWx0aW5zO1xu
Iik7CisKK2J1aWx0aW5zSGVhZGVyLndyaXRlKCIiIgorfTsKKworfQorCisjZW5kaWYKKyIiIik7
CisKK2J1aWx0aW5zSGVhZGVyLmNsb3NlKCkKKworIyMjIyMjIyMjIyMjIyMjCisjIEdlbmVyYXRp
b24gb2YgY2xhc3Mgd3JhcHBpbmcgYWxsIGZ1bmN0aW9ucyBvZiBKUyBmaWxlcyBtYXJrZWQgYXMg
QGludGVybmFscy4KKyMjIyMjIyMjIyMjIyMjIworcHJpdmF0ZUJ1aWx0aW5zSGVhZGVyLndyaXRl
KHByZWFtYmxlKQorcHJpdmF0ZUJ1aWx0aW5zSGVhZGVyLndyaXRlKCIjaWZuZGVmIFByaXZhdGUi
ICsgYmFzZW5hbWUgKyAiX2hcbiNkZWZpbmUgUHJpdmF0ZSIgKyBiYXNlbmFtZSArICJfaFxuXG4i
KQorCisjIEluY2x1ZGluZyBhbGwgbmVjZXNzcmFyeSB3cmFwcGVyIGhlYWRlcnMuCitmb3IgaW5w
dXRfZmlsZSBpbiBpbnRlcm5hbHNfZmlsZXM6CisgICAgd3JpdGVDb25kaXRpb25hbChwcml2YXRl
QnVpbHRpbnNIZWFkZXIsIGlucHV0X2ZpbGUsICIjaW5jbHVkZSBcIiIgKyBpbnB1dF9maWxlLmZp
bGVuYW1lICsgIkJ1aWx0aW5zV3JhcHBlci5oXCJcbiIpCisKKyMgQ2xhc3MgZGVmaW5pdGlvbgor
cHJpdmF0ZUJ1aWx0aW5zSGVhZGVyLndyaXRlKCIiIgorbmFtZXNwYWNlIFdlYkNvcmUgeworCitj
bGFzcyBQcml2YXRlV2ViQ29yZUpTQnVpbHRpbkZ1bmN0aW9ucyB7CitwdWJsaWM6CisiIiIpCisK
KyMgQ29uc3RydWN0b3IKK3ByaXZhdGVCdWlsdGluc0hlYWRlci53cml0ZSgiIiJleHBsaWNpdCBQ
cml2YXRlV2ViQ29yZUpTQnVpbHRpbkZ1bmN0aW9ucyhKU0M6OlZNJiB2KVxuICAgICAgICA6IHZt
KHYpXG4iIiIpCitmb3IgaW5wdXRfZmlsZSBpbiBpbnRlcm5hbHNfZmlsZXM6CisgICAgd3JpdGVD
b25kaXRpb25hbChwcml2YXRlQnVpbHRpbnNIZWFkZXIsIGlucHV0X2ZpbGUsICIgICAgICAgICwg
bV8iICsgaW5wdXRfZmlsZS5uYW1lICsgIkZ1bmN0aW9ucyh2bSlcbiIpCitwcml2YXRlQnVpbHRp
bnNIZWFkZXIud3JpdGUoIiAgICB7IH1cblxuIikKKworIyBHZXR0ZXJzCitmb3IgaW5wdXRfZmls
ZSBpbiBpbnRlcm5hbHNfZmlsZXM6CisgICAgd3JpdGVDb25kaXRpb25hbChwcml2YXRlQnVpbHRp
bnNIZWFkZXIsIGlucHV0X2ZpbGUsICIgICAgIiArIGlucHV0X2ZpbGUuZmlsZW5hbWUgKyAiQnVp
bHRpbkZ1bmN0aW9ucyAiICsgaW5wdXRfZmlsZS5uYW1lICsgIigpIHsgcmV0dXJuIG1fIiArIGlu
cHV0X2ZpbGUubmFtZSArICJGdW5jdGlvbnM7IH1cbiIpCisKKyMgVmlzaXRvciB3cmFwcGVyIHJv
dXRpbmUKK3ByaXZhdGVCdWlsdGluc0hlYWRlci53cml0ZSgiICAgIHZvaWQgdmlzaXQoSlNDOjpT
bG90VmlzaXRvciYgdmlzaXRvcikge1xuIikKK2ZvciBpbnB1dF9maWxlIGluIGludGVybmFsc19m
aWxlczoKKyAgICB3cml0ZUNvbmRpdGlvbmFsKHByaXZhdGVCdWlsdGluc0hlYWRlciwgaW5wdXRf
ZmlsZSwgIiAgICAgICAgbV8iICsgaW5wdXRfZmlsZS5uYW1lICsgIkZ1bmN0aW9ucy52aXNpdCh2
aXNpdG9yKTtcbiIpCitwcml2YXRlQnVpbHRpbnNIZWFkZXIud3JpdGUoIiAgICB9XG4iKQorCisj
IEluaXQgd3JhcHBlciByb3V0aW5lCitwcml2YXRlQnVpbHRpbnNIZWFkZXIud3JpdGUoIiAgICB2
b2lkIGluaXQoSlNDOjpKU0dsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KSB7XG4iKQorZm9yIGlu
cHV0X2ZpbGUgaW4gaW50ZXJuYWxzX2ZpbGVzOgorICAgIHdyaXRlQ29uZGl0aW9uYWwocHJpdmF0
ZUJ1aWx0aW5zSGVhZGVyLCBpbnB1dF9maWxlLCAiICAgICAgICBtXyIgKyBpbnB1dF9maWxlLm5h
bWUgKyAiRnVuY3Rpb25zLmluaXQoZ2xvYmFsT2JqZWN0KTtcbiIpCitwcml2YXRlQnVpbHRpbnNI
ZWFkZXIud3JpdGUoIiAgICB9XG4iKQorCisjIFByaXZhdGUgbWVtYmVyIGZpZWxkcworcHJpdmF0
ZUJ1aWx0aW5zSGVhZGVyLndyaXRlKCIiIgorcHJpdmF0ZToKKyAgICBKU0M6OlZNJiB2bTtcbiIi
IikKK2ZvciBpbnB1dF9maWxlIGluIGludGVybmFsc19maWxlczoKKyAgICB3cml0ZUNvbmRpdGlv
bmFsKHByaXZhdGVCdWlsdGluc0hlYWRlciwgaW5wdXRfZmlsZSwgIiAgICAgIiArIGlucHV0X2Zp
bGUuZmlsZW5hbWUgKyAiQnVpbHRpbkZ1bmN0aW9ucyBtXyIgKyBpbnB1dF9maWxlLm5hbWUgKyAi
RnVuY3Rpb25zO1xuIikKKworcHJpdmF0ZUJ1aWx0aW5zSGVhZGVyLndyaXRlKCIiIgorfTsKKwor
fQorI2VuZGlmCisiIiIpCisKK3ByaXZhdGVCdWlsdGluc0hlYWRlci5jbG9zZSgpCisKK2RlZiBj
b3B5dGVtcGZpbGUob3V0cHV0KToKKyAgICBpZiAobm90IG9zLnBhdGguZXhpc3RzKG91dHB1dCkp
IG9yIChub3QgZmlsZWNtcC5jbXAob3V0cHV0ICsgIi50bXAiLCBvdXRwdXQsIHNoYWxsb3c9RmFs
c2UpKToKKyAgICAgICAgaWYgKG9zLnBhdGguZXhpc3RzKG91dHB1dCkpOgorICAgICAgICAgICAg
b3MucmVtb3ZlKG91dHB1dCkKKyAgICAgICAgb3MucmVuYW1lKG91dHB1dCArICIudG1wIiwgb3V0
cHV0KQorICAgIGVsc2U6CisgICAgICAgIG9zLnJlbW92ZShvdXRwdXQgKyAiLnRtcCIpCisKK2Nv
cHl0ZW1wZmlsZShvdXRwdXRfYmFzZSArICIuaCIpCitjb3B5dGVtcGZpbGUob3V0cHV0X2Jhc2Ug
KyAiLmNwcCIpCitjb3B5dGVtcGZpbGUocHJpdmF0ZV9vdXRwdXRfYmFzZSArICIuaCIpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>262526</attachid>
            <date>2015-10-06 10:54:11 -0700</date>
            <delta_ts>2015-10-07 04:14:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149751-20151006195339.patch</filename>
            <type>text/plain</type>
            <size>63075</size>
            <attacher name="Xabier Rodríguez Calvar">calvaris</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkwNjEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA4
NmFlNjg4ZGUyYWQzNjBiNGU5ODYzNjU4ZGVhZjRmODA4MTQ4MjU0Li5hZDliMDZhZjNlMTZkZjAz
M2Q5MWQ3ZTc3MjZhNmJiN2Q0M2M3NTY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxNS0xMC0wNiAgWGFiaWVyIFJvZHJpZ3VleiBDYWx2YXIgIDxjYWx2YXJp
c0BpZ2FsaWEuY29tPiBhbmQgWW91ZW5uIEZhYmxldCAgPHlvdWVubi5mYWJsZXRAY3JmLmNhbm9u
LmZyPgorCisgICAgICAgIEF1dG9tYXRlIFdlYkNvcmUgSlMgYnVpbHRpbnMgZ2VuZXJhdGlvbiBh
bmQgYnVpbGQgc3lzdGVtCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNDk3NTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIGdlbmVyYXRlLWpzLWJ1aWx0aW5zOiB1cGRhdGluZyB0aGUgcGFydCByZWxhdGVk
IHRvIFdlYkNvcmUgSlMgYmluZGluZy4KKwogMjAxNS0xMC0wNSAgQ29tbWl0IFF1ZXVlICA8Y29t
bWl0LXF1ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQg
cjE5MDU5OS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCBlNTQ2NTdiYzQ3ZDBjYjZhZWQ0ZDljMWRiNzcyMGRjY2Vh
N2UzNDExLi5mOTQ2MDgxMjY1ODJkOTA2ZWE5NjJhMzgwZTBkNjAzNGYzYmE2ZTM2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsODIgQEAKKzIwMTUtMTAtMDYgIDIwMTUtMTAtMDYgIFhhYmllciBSb2Ry
aWd1ZXogQ2FsdmFyICA8Y2FsdmFyaXNAaWdhbGlhLmNvbT4gYW5kIFlvdWVubiBGYWJsZXQgIDx5
b3Vlbm4uZmFibGV0QGNyZi5jYW5vbi5mcj4KKworICAgICAgICBBdXRvbWF0ZSBXZWJDb3JlIEpT
IGJ1aWx0aW5zIGdlbmVyYXRpb24gYW5kIGJ1aWxkIHN5c3RlbQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ5NzUxCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkaW5nIGFubm90YXRpb25zIHRvIEpTIGZp
bGVzIHRvIGtub3cgd2hldGhlciB0aGV5IHNob3VsZCBiZSB1bmRlciBhIGNvbXBpbGF0aW9uIGZs
YWcgYW5kCisgICAgICAgIHdoZXRoZXIgdGhleSBhcmUgSlMgaW50ZXJuYWxzIG9yIEpTIHRpZWQg
dG8gV2ViSURMLgorICAgICAgICBJZiBhIGZpbGUgaXMgc2FpZCBhcyBKUyBpbnRlcm5hbHMsIGFs
bCBmdW5jdGlvbiBuYW1lcyBhcmUgZXhwb3J0ZWQgYXV0b21hdGljYWxseS4KKyAgICAgICAgQWRk
ZWQgYXV0byBnZW5lcmF0aW9uIG9mIFdlYkNvcmVKU0J1aWx0aW5zLmNwcAorICAgICAgICBBZGRl
ZCBhdXRvIGdlbmVyYXRpb24gb2YgV2ViQ29yZUpTQnVpbHRpbnMgY2xhc3MgdGhhdCB0YWtlcyB0
aGUgcm9sZSBvZiBXZWJDb3JlSlNDbGllbnREYXRhIGFzIHdyYXBwZXIgZm9yIGJ1aWx0aW5zLgor
ICAgICAgICBBZGRlZCBhdXRvIGdlbmVyYXRpb24gb2YgUHJpdmF0ZVdlYkNvcmVKU0J1aWx0aW5z
IGNsYXNzIHRoYXQgaXMgYSB3cmFwcGVyIGFyb3VuZCBhbGwgcHJpdmF0ZSBmdW5jdGlvbnMsIHVz
ZWQgYnkgSlNET01XaW5kb3dCYXNlLgorCisgICAgICAgIFRoZSByZW1haW5pbmcgbWFudWFsIHBh
cnQgZm9yIHByaXZhdGUgZnVuY3Rpb25zIGlzIHRoZSBwYWlyaW5nIGJldHdlZW4gcHJpdmF0ZSBp
ZGVudGlmaWVycyBhbmQKKyAgICAgICAgdGhlIHByaXZhdGUgSlMgZnVuY3Rpb25zIHdpdGhpbiBK
U0RPTVdpbmRvd0Jhc2U6OmZpbmlzaENyZWF0aW9uLgorCisgICAgICAgIENvdmVyZWQgYnkgZXhp
c3RpbmcgdGVzdHMuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBEZXJp
dmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIE1vZHVsZXMvc3RyZWFtcy9CeXRlTGVuZ3RoUXVl
dWluZ1N0cmF0ZWd5LmpzOgorICAgICAgICAqIE1vZHVsZXMvc3RyZWFtcy9Db3VudFF1ZXVpbmdT
dHJhdGVneS5qczoKKyAgICAgICAgKiBNb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW0uanM6
CisgICAgICAgICogTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtSW50ZXJuYWxzLmpzOgor
ICAgICAgICAqIFdlYkNvcmUub3JkZXI6CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNv
cmUudmN4cHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZp
bHRlcnM6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICAqIGJpbmRpbmdzL2pzL0RPTVdyYXBwZXJXb3JsZC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpET01XcmFwcGVyV29ybGQ6OkRPTVdyYXBwZXJXb3JsZCk6CisgICAgICAgIChXZWJDb3JlOjpE
T01XcmFwcGVyV29ybGQ6On5ET01XcmFwcGVyV29ybGQpOgorICAgICAgICAoV2ViQ29yZTo6bm9y
bWFsV29ybGQpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvd0Jhc2U6OkpTRE9NV2luZG93QmFzZSk6CisgICAg
ICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvd0Jhc2U6OmZpbmlzaENyZWF0aW9uKToKKyAgICAgICAg
KFdlYkNvcmU6OkpTRE9NV2luZG93QmFzZTo6dmlzaXRDaGlsZHJlbik6CisgICAgICAgIChXZWJD
b3JlOjpKU0RPTVdpbmRvd0Jhc2U6OmZpcmVGcmFtZUNsZWFyZWRXYXRjaHBvaW50c0ZvcldpbmRv
dyk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmg6CisgICAgICAgICog
YmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3Jp
cHRDb250cm9sbGVyOjpnZXRBbGxXb3JsZHMpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1Nlcmlh
bGl6ZWRTY3JpcHRWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXJpYWxpemVkU2NyaXB0
VmFsdWU6OnRyYW5zZmVyQXJyYXlCdWZmZXJzKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9XZWJD
b3JlQ2xpZW50RGF0YS5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
V2ViQ29yZUpTQ2xpZW50RGF0YS5oLgorICAgICAgICAoV2ViQ29yZTo6V2ViQ29yZUNsaWVudERh
dGE6OldlYkNvcmVDbGllbnREYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkNvcmVDbGllbnRE
YXRhOjp+V2ViQ29yZUNsaWVudERhdGEpOgorICAgICAgICAoV2ViQ29yZTo6V2ViQ29yZUNsaWVu
dERhdGE6Om5vcm1hbFdvcmxkKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkNvcmVDbGllbnREYXRh
OjpnZXRBbGxXb3JsZHMpOgorICAgICAgICAoV2ViQ29yZTo6V2ViQ29yZUNsaWVudERhdGE6OnJl
bWVtYmVyV29ybGQpOgorICAgICAgICAoV2ViQ29yZTo6V2ViQ29yZUNsaWVudERhdGE6OmZvcmdl
dFdvcmxkKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkNvcmVDbGllbnREYXRhOjpidWlsdGluTmFt
ZXMpOgorICAgICAgICAoV2ViQ29yZTo6V2ViQ29yZUNsaWVudERhdGE6OmJ1aWx0aW5GdW5jdGlv
bnMpOgorICAgICAgICAoV2ViQ29yZTo6aW5pdE5vcm1hbFdvcmxkQ2xpZW50RGF0YSk6CisgICAg
ICAgICogYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5oOgorICAgICAgICAoV2ViQ29y
ZTo6V2ViQ29yZUpTQ2xpZW50RGF0YTo6V2ViQ29yZUpTQ2xpZW50RGF0YSk6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJDb3JlOjpXZWJDb3JlSlNDbGllbnREYXRhOjp+V2ViQ29yZUpTQ2xpZW50RGF0
YSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXZWJDb3JlSlNDbGllbnREYXRhOjpub3Jt
YWxXb3JsZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXZWJDb3JlSlNDbGllbnREYXRh
OjpnZXRBbGxXb3JsZHMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6V2ViQ29yZUpTQ2xp
ZW50RGF0YTo6cmVtZW1iZXJXb3JsZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXZWJD
b3JlSlNDbGllbnREYXRhOjpmb3JnZXRXb3JsZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3Jl
OjpXZWJDb3JlSlNDbGllbnREYXRhOjpidWlsdGluTmFtZXMpOiBEZWxldGVkLgorICAgICAgICAo
V2ViQ29yZTo6V2ViQ29yZUpTQ2xpZW50RGF0YTo6cmVhZGFibGVTdHJlYW1CdWlsdGlucyk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXZWJDb3JlSlNDbGllbnREYXRhOjpyZWFkYWJsZVN0
cmVhbUNvbnRyb2xsZXJCdWlsdGlucyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXZWJD
b3JlSlNDbGllbnREYXRhOjpyZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zKTogRGVsZXRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OldlYkNvcmVKU0NsaWVudERhdGE6OnJlYWRhYmxlU3RyZWFt
UmVhZGVyQnVpbHRpbnMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6V2ViQ29yZUpTQ2xp
ZW50RGF0YTo6Ynl0ZUxlbmd0aFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zKTogRGVsZXRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OldlYkNvcmVKU0NsaWVudERhdGE6OmNvdW50UXVldWluZ1N0cmF0ZWd5
QnVpbHRpbnMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6aW5pdE5vcm1hbFdvcmxkQ2xp
ZW50RGF0YSk6IERlbGV0ZWQuCisgICAgICAgICogYmluZGluZ3MvanMvV29ya2VyU2NyaXB0Q29u
dHJvbGxlci5jcHA6CisgICAgICAgICogZ2VuZXJhdGUtanMtYnVpbHRpbnMtYWxsaW5vbmU6IEFk
ZGVkLgorICAgICAgICAocmV0cmlldmVHZW5lcmF0aW9uUGFyYW1ldGVycyk6CisgICAgICAgIChy
ZXRyaWV2ZUZpbGVzV2l0aFBhcmFtZXRlcnMpOgorICAgICAgICAocmV0cmlldmVGaWxlc1dpdGhQ
YXJhbWV0ZXJzLkZpbGVJbnB1dCk6CisgICAgICAgICh3cml0ZUNvbmRpdGlvbmFsKToKKyAgICAg
ICAgKFdlYkNvcmVCdWlsdGluRnVuY3Rpb25zKToKKyAgICAgICAgKFByaXZhdGUpOgorICAgICAg
ICAoUHJpdmF0ZVdlYkNvcmVCdWlsdGluRnVuY3Rpb25zKToKKyAgICAgICAgKGNvcHl0ZW1wZmls
ZSk6CisKIDIwMTUtMTAtMDYgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0
Lm9yZz4KIAogICAgICAgICBSZXBvcnQgZXJyb3Igd2hlbiBtYWluIHJlc291cmNlIGlzIGJsb2Nr
ZWQgYnkgY29udGVudCBibG9ja2VyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Z2VuZXJhdGUtanMtYnVpbHRpbnMgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZ2VuZXJhdGUtanMt
YnVpbHRpbnMKaW5kZXggYjI4NDFmNGQyYTNmYmYwYmNhYmRlZmU2Y2EwM2FhYTRkNzlhMjYzZi4u
MTRlZGUwNzJlYjcxZGY3OTQ3YWE1NDhmNDc2YjUyZjEwZWVlNGJiOCAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2dlbmVyYXRlLWpzLWJ1aWx0aW5zCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9nZW5lcmF0ZS1qcy1idWlsdGlucwpAQCAtMTkxLDcgKzE5MSw3IEBAIGluY2x1
ZGVHdWFyZCA9IHNjb3BlTmFtZSArICJfSCIKIGhlYWRlck5hbWUgPSBzY29wZU5hbWUgKyAiLmgi
CiAKIGhlYWRlckluY2x1ZGVzID0gWyJcIkJ1aWx0aW5VdGlscy5oXCIiXSBpZiBuYW1lc3BhY2Ug
PT0gIkpTQyIgZWxzZSBbIjxidWlsdGlucy9CdWlsdGluVXRpbHMuaD4iXQotY29udGVudEluY2x1
ZGVzID0gWyJcIkJ1aWx0aW5FeGVjdXRhYmxlcy5oXCIiLCAiXCJFeGVjdXRhYmxlLmhcIiIsICJc
IkpTQ2VsbElubGluZXMuaFwiIiwgIlwiVk0uaFwiIl0gaWYgbmFtZXNwYWNlID09ICJKU0MiIGVs
c2UgWyI8cnVudGltZS9FeGVjdXRhYmxlLmg+IiwgIjxydW50aW1lL1N0cnVjdHVyZUlubGluZXMu
aD4iLCAiPHJ1bnRpbWUvSlNDSlNWYWx1ZUlubGluZXMuaD4iLCAiPHJ1bnRpbWUvSlNDZWxsSW5s
aW5lcy5oPiIsICI8cnVudGltZS9WTS5oPiIsICJcIldlYkNvcmVKU0NsaWVudERhdGEuaFwiIl0K
K2NvbnRlbnRJbmNsdWRlcyA9IFsiXCJCdWlsdGluRXhlY3V0YWJsZXMuaFwiIiwgIlwiRXhlY3V0
YWJsZS5oXCIiLCAiXCJKU0NlbGxJbmxpbmVzLmhcIiIsICJcIlZNLmhcIiJdIGlmIG5hbWVzcGFj
ZSA9PSAiSlNDIiBlbHNlIFsiPHJ1bnRpbWUvRXhlY3V0YWJsZS5oPiIsICI8cnVudGltZS9TdHJ1
Y3R1cmVJbmxpbmVzLmg+IiwgIjxydW50aW1lL0pTQ0pTVmFsdWVJbmxpbmVzLmg+IiwgIjxydW50
aW1lL0pTQ2VsbElubGluZXMuaD4iLCAiPHJ1bnRpbWUvVk0uaD4iLCAiXCJXZWJDb3JlQ2xpZW50
RGF0YS5oXCIiXQogCiBjb3B5cmlnaHRzID0gbGlzdChzZXQoY29weXJpZ2h0cykpCiAKQEAgLTMx
NCw4ICszMTQsOCBAQCBpZiAobmFtZXNwYWNlID09ICJKU0MiKToKIGVsc2U6CiAgICAgYnVpbHRp
bk5hbWUgPSBzY29wZU5hbWVbMF0ubG93ZXIoKSArIHNjb3BlTmFtZVsxOl0KICAgICBidWlsdGlu
c0ltcGxlbWVudGF0aW9uLndyaXRlKCIiIntcXAotICAgIFdlYkNvcmVKU0NsaWVudERhdGEqIGNs
aWVudERhdGEgPSBzdGF0aWNfY2FzdDxXZWJDb3JlSlNDbGllbnREYXRhKj4odm0uY2xpZW50RGF0
YSk7IFxcCi0gICAgcmV0dXJuIGNsaWVudERhdGEtPiVzKCkuY29kZU5hbWUjI0V4ZWN1dGFibGUo
KS0+bGluayh2bSwgY2xpZW50RGF0YS0+JXMoKS5jb2RlTmFtZSMjU291cmNlKCkpOyBcXAorICAg
IFdlYkNvcmVDbGllbnREYXRhKiBjbGllbnREYXRhID0gc3RhdGljX2Nhc3Q8V2ViQ29yZUNsaWVu
dERhdGEqPih2bS5jbGllbnREYXRhKTsgXFwKKyAgICByZXR1cm4gY2xpZW50RGF0YS0+YnVpbHRp
bkZ1bmN0aW9ucygpLiVzKCkuY29kZU5hbWUjI0V4ZWN1dGFibGUoKS0+bGluayh2bSwgY2xpZW50
RGF0YS0+YnVpbHRpbkZ1bmN0aW9ucygpLiVzKCkuY29kZU5hbWUjI1NvdXJjZSgpKTsgXFwKICIi
IiUgKGJ1aWx0aW5OYW1lLCBidWlsdGluTmFtZSkpCiAKIGJ1aWx0aW5zSW1wbGVtZW50YXRpb24u
d3JpdGUoIiIifQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9T
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBiMDUyZmQ5ZGIwMTNkZjJkYWFjOWVk
OGFkMTcxM2YzOWFjZDY4NTczLi5jNjEyNWQ5ZTE4M2QzM2NhMGFlMWIxYmE4YWFlMDRkZGZjNzI5
NTk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTI0Miw3ICsxMjQyLDYgQEAgc2V0KFdlYkNv
cmVfU09VUkNFUwogICAgIGJpbmRpbmdzL2pzL1NjcmlwdEdsb2JhbE9iamVjdC5jcHAKICAgICBi
aW5kaW5ncy9qcy9TY3JpcHRTdGF0ZS5jcHAKICAgICBiaW5kaW5ncy9qcy9TZXJpYWxpemVkU2Ny
aXB0VmFsdWUuY3BwCi0gICAgYmluZGluZ3MvanMvV2ViQ29yZUpTQnVpbHRpbnMuY3BwCiAgICAg
YmluZGluZ3MvanMvV2ViQ29yZVR5cGVkQXJyYXlDb250cm9sbGVyLmNwcAogICAgIGJpbmRpbmdz
L2pzL1dvcmtlclNjcmlwdENvbnRyb2xsZXIuY3BwCiAgICAgYmluZGluZ3MvanMvV29ya2VyU2Ny
aXB0RGVidWdTZXJ2ZXIuY3BwCkBAIC0zNTkzLDYgKzM1OTIsMTcgQEAgZm9yZWFjaCAoX2J1aWx0
aW5qcyAke1dFQkNPUkVfSlNfQlVJTFRJTlN9KQogICAgICkKICAgICBBRERfU09VUkNFX1dFQkNP
UkVfREVSSVZFRF9ERVBFTkRFTkNJRVMoJHtXRUJDT1JFX0RJUn0vYmluZGluZ3MvanMvV2ViQ29y
ZUpTQnVpbHRpbnMuY3BwICR7X25hbWV9QnVpbHRpbnMuY3BwKQogZW5kZm9yZWFjaCAoKQorYWRk
X2N1c3RvbV9jb21tYW5kKAorICAgIE9VVFBVVCAke0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJ
Un0vUHJpdmF0ZVdlYkNvcmVKU0J1aWx0aW5zLmggJHtERVJJVkVEX1NPVVJDRVNfV0VCQ09SRV9E
SVJ9L1dlYkNvcmVKU0J1aWx0aW5zLmggJHtERVJJVkVEX1NPVVJDRVNfV0VCQ09SRV9ESVJ9L1dl
YkNvcmVKU0J1aWx0aW5zLmNwcAorICAgIE1BSU5fREVQRU5ERU5DWSAke0NNQUtFX0NVUlJFTlRf
U09VUkNFX0RJUn0vZ2VuZXJhdGUtanMtYnVpbHRpbnMtYWxsaW5vbmUKKyAgICBERVBFTkRTICR7
V2ViQ29yZV9HRU5FUkFURV9KU19CVUlMVElOU19TQ1JJUFRTX0RJUn0vZ2VuZXJhdGUtanMtYnVp
bHRpbnMKKyAgICBDT01NQU5EICR7UFlUSE9OX0VYRUNVVEFCTEV9ICR7Q01BS0VfQ1VSUkVOVF9T
T1VSQ0VfRElSfS9nZW5lcmF0ZS1qcy1idWlsdGlucy1hbGxpbm9uZSAke1dFQkNPUkVfSlNfQlVJ
TFRJTlN9IC0tb3V0cHV0X2RpciAke0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0KKyAgICBW
RVJCQVRJTSkKK2xpc3QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUworICAgICR7REVSSVZFRF9TT1VS
Q0VTX1dFQkNPUkVfRElSfS9Qcml2YXRlV2ViQ29yZUpTQnVpbHRpbnMuaAorICAgICR7REVSSVZF
RF9TT1VSQ0VTX1dFQkNPUkVfRElSfS9XZWJDb3JlSlNCdWlsdGlucy5oCisgICAgJHtERVJJVkVE
X1NPVVJDRVNfV0VCQ09SRV9ESVJ9L1dlYkNvcmVKU0J1aWx0aW5zLmNwcAorKQogCiBBRERfU09V
UkNFX1dFQkNPUkVfREVSSVZFRF9ERVBFTkRFTkNJRVMoJHtXRUJDT1JFX0RJUn0vaHRtbC9IVE1M
VHJlZUJ1aWxkZXIuY3BwIE1hdGhNTE5hbWVzLmNwcCkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UKaW5kZXggNDY2NTRmMmFkMzE4ODlkYjM0MjU3YmZkOGM4ZmFjOTNlMmRmMDRiNS4uYTU5
NjdlNzUzZjViNGM3NGYwMWVjN2YyNGU5YjZkZTY2YWJmNDIxOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlCkBAIC0xMjYwLDkgKzEyNjAsMTIgQEAgV0VCQ09SRV9KU19CVUlMVElOUyA9
IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbVJlYWRlci5q
cyBcCiAjCiAKLWFsbCA6ICQoV0VCQ09SRV9KU19CVUlMVElOUzolLmpzPSVCdWlsdGlucy5jcHAp
CithbGwgOiBXZWJDb3JlSlNCdWlsdGlucy5jcHAgJChXRUJDT1JFX0pTX0JVSUxUSU5TOiUuanM9
JUJ1aWx0aW5zLmNwcCkKIAotJUJ1aWx0aW5zLmNwcDogJS5qcworV2ViQ29yZUpTQnVpbHRpbnMu
Y3BwOiAkKFdFQkNPUkVfSlNfQlVJTFRJTlMpICQoV2ViQ29yZSkvZ2VuZXJhdGUtanMtYnVpbHRp
bnMtYWxsaW5vbmUKKwkkKFBZVEhPTikgJChXZWJDb3JlKS9nZW5lcmF0ZS1qcy1idWlsdGlucy1h
bGxpbm9uZSAkKFdFQkNPUkVfSlNfQlVJTFRJTlMpICAtLW91dHB1dF9kaXIgLgorCislQnVpbHRp
bnMuY3BwOiAlLmpzICQoV2ViQ29yZSkvZ2VuZXJhdGUtanMtYnVpbHRpbnMKIAkkKFBZVEhPTikg
JChXZWJDb3JlKS9nZW5lcmF0ZS1qcy1idWlsdGlucyAtLWlucHV0ICQ8IC0tZ2VuZXJhdGVfanNf
YnVpbHRpbnNfcGF0aCAkKEdlbmVyYXRlSlNCdWlsdGluc1NjcmlwdHMpCiAKICMgLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVh
bXMvQnl0ZUxlbmd0aFF1ZXVpbmdTdHJhdGVneS5qcyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
c3RyZWFtcy9CeXRlTGVuZ3RoUXVldWluZ1N0cmF0ZWd5LmpzCmluZGV4IGE4MjY3MzY3YzQ5ZDAx
YTUyZWIxOWU3YTZhNmFlZWNlOTMzZmMwNjUuLmY5NDgxMjU4YTA1MTEyMDEyZWYwZDQxNmU5Y2M0
NmIwOTQxMWY1ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9C
eXRlTGVuZ3RoUXVldWluZ1N0cmF0ZWd5LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
c3RyZWFtcy9CeXRlTGVuZ3RoUXVldWluZ1N0cmF0ZWd5LmpzCkBAIC0yNCw2ICsyNCw4IEBACiAg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgogICovCiAKKy8vIEBvcHRpb25hbD1TVFJFQU1TX0FQSQorCiBmdW5jdGlv
biBzaXplKGNodW5rKQogewogICAgICJ1c2Ugc3RyaWN0IjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9Db3VudFF1ZXVpbmdTdHJhdGVneS5qcyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9Db3VudFF1ZXVpbmdTdHJhdGVneS5qcwppbmRleCA5MTE3
MzdkMGNlNWVkYTExZjE2ZTc3OGRhMWEzZGYxY2ZjODliMDBlLi40NGQ2MzBiOGI4ZGMzZjIyNDY2
MGU5ODEyZDNmMTNmNjFjNjgyYWYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3N0cmVhbXMvQ291bnRRdWV1aW5nU3RyYXRlZ3kuanMKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9zdHJlYW1zL0NvdW50UXVldWluZ1N0cmF0ZWd5LmpzCkBAIC0yMyw2ICsyMyw4IEBACiAg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgogICovCiAKKy8vIEBvcHRpb25hbD1TVFJFQU1TX0FQSQorCiBmdW5jdGlv
biBzaXplKCkKIHsKICAgICAidXNlIHN0cmljdCI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW0uanMgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW0uanMKaW5kZXggZDM2NjkzYTQ1MTM2MmVmZGM4YWY5
NzE0YThlNjM5MDk1MzVlYTViYy4uZDFmMWFmMGIzMzZkYmI3YzcyNGY5YjYzMmJkZTM4ZWQwMDdh
MmQzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxl
U3RyZWFtLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0
cmVhbS5qcwpAQCAtOTcsNiArOTcsOCBAQCBmdW5jdGlvbiBnZXRSZWFkZXIoKQogICAgIHJldHVy
biBuZXcgQFJlYWRhYmxlU3RyZWFtUmVhZGVyKHRoaXMpOwogfQogCisvLyBAb3B0aW9uYWw9U1RS
RUFNU19BUEkKKwogZnVuY3Rpb24gcGlwZVRocm91Z2goc3RyZWFtcywgb3B0aW9ucykKIHsKICAg
ICAidXNlIHN0cmljdCI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVh
bXMvUmVhZGFibGVTdHJlYW1JbnRlcm5hbHMuanMgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0
cmVhbXMvUmVhZGFibGVTdHJlYW1JbnRlcm5hbHMuanMKaW5kZXggZWJkN2Y5OTUwN2M4NDIwNTNl
ODQ1YWU2MjViNzNmZWZmYWM2YzdmYy4uNmQ4ZmU2NmIwMzBhNGFjOTUyNWQ4MTcxNDdiMGM5OGUy
ZDRiZTdiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRh
YmxlU3RyZWFtSW50ZXJuYWxzLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFt
cy9SZWFkYWJsZVN0cmVhbUludGVybmFscy5qcwpAQCAtNzEsNiArNzEsOSBAQCBmdW5jdGlvbiBw
cml2YXRlSW5pdGlhbGl6ZVJlYWRhYmxlU3RyZWFtQ29udHJvbGxlcihzdHJlYW0pCiAgICAgcmV0
dXJuIHRoaXM7CiB9CiAKKy8vIEBvcHRpb25hbD1TVFJFQU1TX0FQSQorLy8gQGludGVybmFscwor
CiBmdW5jdGlvbiB0ZWVSZWFkYWJsZVN0cmVhbShzdHJlYW0sIHNob3VsZENsb25lKQogewogICAg
ICJ1c2Ugc3RyaWN0IjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUub3JkZXIg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLm9yZGVyCmluZGV4IDE5YTE4MGQ1NGIyMzE0MGFiNTdh
OTM0MDNjN2VhZjFkM2I3NDgzYzMuLjRkMGYwMDk4ZTc5MTE1ZDA5ZmFmMzRiYjM4NjVlYjBhMWJj
OTM4MGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUub3JkZXIKKysrIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5vcmRlcgpAQCAtMjQ3MjMsNyArMjQ3MjMsNyBAQCBfX1pON1dl
YkNvcmVMMjRKU0RPTVVSTENvbnN0cnVjdG9yVGFibGVFCiBfX1paTjdXZWJDb3JlMTJ3cmFwcGVy
T3duZXJFUE5TXzE1RE9NV3JhcHBlcldvcmxkRVBOU182RE9NVVJMRUUxM2pzRE9NVVJMT3duZXIK
IF9fWkdWWk43V2ViQ29yZTEyd3JhcHBlck93bmVyRVBOU18xNURPTVdyYXBwZXJXb3JsZEVQTlNf
NkRPTVVSTEVFMTNqc0RPTVVSTE93bmVyCiBfX1pON1dlYkNvcmVMMjdKU0RPTVdpbmRvd0NvbnN0
cnVjdG9yVGFibGVFCi1fX1pUVk43V2ViQ29yZTE5V2ViQ29yZUpTQ2xpZW50RGF0YUUKK19fWlRW
TjdXZWJDb3JlMTlXZWJDb3JlQ2xpZW50RGF0YUUKIF9fWk43V2ViQ29yZUw0MEpTRHluYW1pY3ND
b21wcmVzc29yTm9kZUNvbnN0cnVjdG9yVGFibGVFCiBfX1pON1dlYkNvcmVMMzhKU0R5bmFtaWNz
Q29tcHJlc3Nvck5vZGVQcm90b3R5cGVUYWJsZUUKIF9fWk43V2ViQ29yZUwyOUpTRHluYW1pY3ND
b21wcmVzc29yTm9kZVRhYmxlRQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52
Y3hwcm9qL1dlYkNvcmUudmN4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9X
ZWJDb3JlLnZjeHByb2oKaW5kZXggOTQ5MmUwNjhkYzU1NmE1ZDg0OTg4ZGY1OGFiOGM4OGNkMjc1
NzhlYS4uMzRiMjY4OWIyNDE5MzBlMGNhMDRjYTQ1MGMxYzE2MGRiNmM0Y2QxMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagorKysgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCkBAIC0xLDQgKzEs
NCBAQAot77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KKzw/eG1sIHZl
cnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+CiA8UHJvamVjdCBEZWZhdWx0VGFyZ2V0cz0i
QnVpbGQiIFRvb2xzVmVyc2lvbj0iMTQuMCIgeG1sbnM9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29m
dC5jb20vZGV2ZWxvcGVyL21zYnVpbGQvMjAwMyI+CiAgIDxJdGVtR3JvdXAgTGFiZWw9IlByb2pl
Y3RDb25maWd1cmF0aW9ucyI+CiAgICAgPFByb2plY3RDb25maWd1cmF0aW9uIEluY2x1ZGU9IkRl
YnVnU3VmZml4fFdpbjMyIj4KQEAgLTIzMSw2ICsyMzEsMjAgQEAKICAgICA8Q2xDb21waWxlIC8+
CiAgIDwvSXRlbURlZmluaXRpb25Hcm91cD4KICAgPEl0ZW1Hcm91cD4KKyAgICA8Q2xDb21waWxl
IEluY2x1ZGU9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmokKFBsYXRmb3JtQXJjaGl0ZWN0
dXJlKVwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xXZWJDb3JlSlNCdWlsdGlucy5jcHAi
PgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8
JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAg
ICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxh
dGZvcm0pJz09J0RlYnVnfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4
Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSkn
PT0nRGVidWdfV2luQ2Fpcm98V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAg
IDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZv
cm0pJz09J0RlYnVnX1dpbkNhaXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAg
ICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0
Zm9ybSknPT0nRGVidWdTdWZmaXh8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAg
ICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxh
dGZvcm0pJz09J0RlYnVnU3VmZml4fHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAg
ICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0
Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAg
PEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9y
bSknPT0nUmVsZWFzZXx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNs
dWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09
J1JlbGVhc2VfV2luQ2Fpcm98V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAg
IDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZv
cm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Cisg
ICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBs
YXRmb3JtKSc9PSdQcm9kdWN0aW9ufFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Cisg
ICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBs
YXRmb3JtKSc9PSdQcm9kdWN0aW9ufHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAg
IDwvQ2xDb21waWxlPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChDb25maWd1cmF0aW9uQnVp
bGREaXIpXG9iaiQoUGxhdGZvcm1BcmNoaXRlY3R1cmUpXCQoUHJvamVjdE5hbWUpXERlcml2ZWRT
b3VyY2VzXENvbG9yRGF0YS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKENvbmZp
Z3VyYXRpb25CdWlsZERpcilcb2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlcJChQcm9qZWN0TmFt
ZSlcRGVyaXZlZFNvdXJjZXNcQ1NTR3JhbW1hci5jcHAiPgogICAgICAgPERpc2FibGVTcGVjaWZp
Y1dhcm5pbmdzIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVi
dWd8V2luMzInIj40MDY1OzQyNzM7NDU2NTs0NzAxOzQ3MDI7JShEaXNhYmxlU3BlY2lmaWNXYXJu
aW5ncyk8L0Rpc2FibGVTcGVjaWZpY1dhcm5pbmdzPgpAQCAtMTg5MDEsMjAgKzE4OTE1LDYgQEAK
ICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQo
UGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4K
ICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQo
UGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAg
ICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xqc1xX
ZWJDb3JlSlNCdWlsdGlucy5jcHAiPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlv
bj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj50cnVlPC9F
eGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249Iick
KENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfHg2NCciPnRydWU8L0V4Y2x1ZGVk
RnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmln
dXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98V2luMzInIj50cnVlPC9FeGNs
dWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENv
bmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfHg2NCciPnRydWU8L0V4
Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQo
Q29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdTdWZmaXh8V2luMzInIj50cnVlPC9F
eGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249Iick
KENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnU3VmZml4fHg2NCciPnRydWU8L0V4
Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQo
Q29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXxXaW4zMiciPnRydWU8L0V4Y2x1
ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29u
ZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZXx4NjQnIj50cnVlPC9FeGNsdWRlZEZy
b21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3Vy
YXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98V2luMzInIj50cnVlPC9FeGNs
dWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENv
bmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98eDY0JyI+dHJ1ZTwv
RXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSIn
JChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufFdpbjMyJyI+dHJ1ZTwv
RXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSIn
JChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufHg2NCciPnRydWU8L0V4
Y2x1ZGVkRnJvbUJ1aWxkPgotICAgIDwvQ2xDb21waWxlPgogICAgIDxDbENvbXBpbGUgSW5jbHVk
ZT0iLi5cYmluZGluZ3NcanNcV29ya2VyU2NyaXB0Q29udHJvbGxlci5jcHAiPgogICAgICAgPEV4
Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSkn
PT0nRGVidWd8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICAgIDxFeGNsdWRl
ZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0Rl
YnVnfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgpAQCAtMjI0MzUsNyArMjI0MzUsNyBA
QAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcU2NyaXB0U3RhdGUuaCIg
Lz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXFNjcmlwdFdyYXBwYWJs
ZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcU2VyaWFsaXpl
ZFNjcmlwdFZhbHVlLmgiIC8+Ci0gICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxiaW5kaW5nc1xq
c1xXZWJDb3JlSlNDbGllbnREYXRhLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxi
aW5kaW5nc1xqc1xXZWJDb3JlQ2xpZW50RGF0YS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5cYmluZGluZ3NcanNcV29ya2VyU2NyaXB0Q29udHJvbGxlci5oIiAvPgogICAgIDxDbElu
Y2x1ZGUgSW5jbHVkZT0iLi5ccGx1Z2luc1xET01NaW1lVHlwZS5oIiAvPgogICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5ccGx1Z2luc1xET01NaW1lVHlwZUFycmF5LmgiIC8+CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMK
aW5kZXggMGU4ZTUxMmMyODY1ZTlhZTFkNmQ4NTkxZDQzOTE0MWM0NjAxNWQ3OS4uZTM2YmMxZDQ3
NDgwZWYzZTljYzZjODFmYjdmZTgzNjc2NzFhNTIwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycwpAQCAtMSw0ICsx
LDQgQEAKLe+7vzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+IDxQcm9qZWN0
IFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9k
ZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0
Zi04Ij8+IDxQcm9qZWN0IFRvb2xzVmVyc2lvbj0iNC4wIiB4bWxucz0iaHR0cDovL3NjaGVtYXMu
bWljcm9zb2Z0LmNvbS9kZXZlbG9wZXIvbXNidWlsZC8yMDAzIj4KICAgPEl0ZW1Hcm91cD4KICAg
ICA8RmlsdGVyIEluY2x1ZGU9IkRlcml2ZWRTb3VyY2VzIj4KICAgICAgIDxVbmlxdWVJZGVudGlm
aWVyPns5NTU0ODdlOC05NGFkLTQ1YzEtOWNjOC1jYjg4OTExZTlkN2N9PC9VbmlxdWVJZGVudGlm
aWVyPgpAQCAtMTE1MDYsNyArMTE1MDYsNyBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
YmluZGluZ3NcanNcU2VyaWFsaXplZFNjcmlwdFZhbHVlLmgiPgogICAgICAgPEZpbHRlcj5iaW5k
aW5nc1xqczwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgotICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5cYmluZGluZ3NcanNcV2ViQ29yZUpTQ2xpZW50RGF0YS5oIj4KKyAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXFdlYkNvcmVDbGllbnREYXRhLmgiPgogICAgICAgPEZp
bHRlcj5iaW5kaW5nc1xqczwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcV29ya2VyU2NyaXB0Q29udHJvbGxlci5oIj4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCA2MDA0ZTI0ZDRmMDU3OWJlMmUwNmMxODRiNzgzNzNjZGJiOThhMjdhLi5mMTU2MmRhOGUyYmEy
ZGQwMGMzZTQzZDM5ZDI1NGQwYzViZjY0NWFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNDg1LDcgKzE0ODUsNiBAQAogCQk0
MEVDQUU3RTE2QjhCNjcyMDBDMzYxMDMgLyogSlNET01FcnJvci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDBFQ0FFN0QxNkI4QjY3MjAwQzM2MTAzIC8q
IEpTRE9NRXJyb3IuaCAqLzsgfTsKIAkJNDBFQ0FFODExNkI4QjY4QTAwQzM2MTAzIC8qIEpTRE9N
RXJyb3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDBFQ0FFODAxNkI4QjY4QTAwQzM2MTAzIC8qIEpTRE9NRXJyb3IuY3BwICovOyB9OwogCQk0MTBC
N0U3MjEwNDVGQUIwMDBEODIyNEYgLyogSlNNZXNzYWdlRXZlbnRDdXN0b20uY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEwQjdFNzExMDQ1RkFCMDAw
RDgyMjRGIC8qIEpTTWVzc2FnZUV2ZW50Q3VzdG9tLmNwcCAqLzsgfTsKLQkJNDExQTkwNDIxQkJB
QjQ3QTAwMENGMTU2IC8qIFdlYkNvcmVKU0J1aWx0aW5zLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMUE5MDQxMUJCQUI0NkQwMDBDRjE1NiAvKiBX
ZWJDb3JlSlNCdWlsdGlucy5jcHAgKi87IH07CiAJCTQxMjMwODFCMTM4QzQyOTcwMEJDQ0ZDQSAv
KiBXZWJDb3JlLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDkzRjE5QjFBMDgyNDVFNUEwMDFFOUFCQyAvKiBXZWJDb3JlLmZyYW1ld29y
ayAqLzsgfTsKIAkJNDEyMzA5MTMxMzhDNDJGRjAwQkNDRkNBIC8qIEphdmFTY3JpcHRDb3JlLmZy
YW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEY4MjE2Mjk5MDI5RjRGQjUwMTAwMDEzMSAvKiBKYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsgKi87
IH07CiAJCTQxMjdENTM3MEY4QUFCMUQwMEU0MjRGNSAvKiBTY3JpcHRTdGF0ZS5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTI3RDUzNjBGOEFBQjFE
MDBFNDI0RjUgLyogU2NyaXB0U3RhdGUuY3BwICovOyB9OwpAQCAtMTUwOCw3ICsxNTA3LDggQEAK
IAkJNDE2RTI5QTYxMDJGQTk2MjAwN0ZDMTRFIC8qIFdvcmtlclJlcG9ydGluZ1Byb3h5LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTZFMjlBNTEwMkZB
OTYyMDA3RkMxNEUgLyogV29ya2VyUmVwb3J0aW5nUHJveHkuaCAqLzsgfTsKIAkJNDE2RTZGRTgx
QkJEMTJERjAwMEE2MDQzIC8qIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlCMDNEODA2MUJCMzEx
MEQwMEI3NjREOSAvKiBSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDE2RTZGRTkxQkJEMTJF
NTAwMEE2MDQzIC8qIFJlYWRhYmxlU3RyZWFtQnVpbHRpbnMuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlCMDNEODA2MUJCMzExMEQwMEI3NjREOCAvKiBS
ZWFkYWJsZVN0cmVhbUJ1aWx0aW5zLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKLQkJNDE2RTZGRUExQkJEMTY4NDAwMEE2MDQzIC8qIFJlYWRhYmxlU3Ry
ZWFtSW50ZXJuYWxzQnVpbHRpbnNXcmFwcGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA5QjAzRDgwNzFCQjMxMTBEMDBCNzY0RDkgLyogUmVhZGFibGVT
dHJlYW1JbnRlcm5hbHNCdWlsdGluc1dyYXBwZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OworCQk0MTZFNkZFQTFCQkQxNjg0MDAwQTYwNDQgLyogUmVh
ZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGluc1dyYXBwZXIuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlCMDNEODA3MUJCMzExMEQwMEI3NjREQSAvKiBS
ZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zV3JhcHBlci5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTQxNkU2RkVBMUJCRDE2ODQwMDBBNjA0
MyAvKiBQcml2YXRlV2ViQ29yZUpTQnVpbHRpbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlCMDNEODA3MUJCMzExMEQwMEI3NjREOSAvKiBQcml2YXRl
V2ViQ29yZUpTQnVpbHRpbnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQk0MTcyNTNBQTEzNTRCQkJDMDAzNjBGMkEgLyogTWVkaWFDb250cm9sRWxl
bWVudHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDE3MjUzQTgxMzU0QkJCQzAwMzYwRjJBIC8qIE1lZGlhQ29udHJvbEVsZW1lbnRzLmNwcCAqLzsg
fTsKIAkJNDE3MjUzQUIxMzU0QkJCQzAwMzYwRjJBIC8qIE1lZGlhQ29udHJvbEVsZW1lbnRzLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTcyNTNBOTEz
NTRCQkJDMDAzNjBGMkEgLyogTWVkaWFDb250cm9sRWxlbWVudHMuaCAqLzsgfTsKIAkJNDE3REE2
RDkxMzczNEU2RTAwN0M1N0ZCIC8qIEludGVybmFscy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTdEQTRDRjEzNzM0MzI2MDA3QzU3RkIgLyogSW50
ZXJuYWxzLmNwcCAqLzsgfTsKQEAgLTI2MzIsNiArMjYzMiw3IEBACiAJCTdDNDhBNkQwMTkxQzlE
NjUwMDAyNjY3NCAvKiBXZWJLaXROYW1lc3BhY2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M0OEE2Q0UxOTFDOUQ2NTAwMDI2Njc0IC8qIFdlYktp
dE5hbWVzcGFjZS5jcHAgKi87IH07CiAJCTdDNDhBNkQxMTkxQzlENjUwMDAyNjY3NCAvKiBXZWJL
aXROYW1lc3BhY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDdDNDhBNkNGMTkxQzlENjUwMDAyNjY3NCAvKiBXZWJLaXROYW1lc3BhY2UuaCAqLzsgfTsK
IAkJN0M0OTAyQTIxOEI4MjVGODAwN0Q5Mjk4IC8qIERPTVdoZWVsRXZlbnRJbnRlcm5hbC5oIGlu
IENvcHkgR2VuZXJhdGVkIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gODU5ODlEQ0EwQUNDOEJCRDAwQTBCQzUxIC8qIERPTVdoZWVsRXZlbnRJbnRlcm5hbC5oICov
OyB9OworCQk3QzRDOTZEQzFBRDQ0ODM1MDAzNjVBNTEgLyogV2ViQ29yZUpTQnVpbHRpbnMuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M0Qzk2RDgx
QUQ0NDgzNTAwMzY1QTUxIC8qIFdlYkNvcmVKU0J1aWx0aW5zLmNwcCAqLzsgfTsKIAkJN0M0Qzk2
REMxQUQ0NDgzNTAwMzY1QTUwIC8qIEpTUmVhZGFibGVTdHJlYW0uY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M0Qzk2RDgxQUQ0NDgzNTAwMzY1QTUw
IC8qIEpTUmVhZGFibGVTdHJlYW0uY3BwICovOyB9OwogCQk3QzRDOTZERDFBRDQ0ODM1MDAzNjVB
NTAgLyogSlNSZWFkYWJsZVN0cmVhbS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gN0M0Qzk2RDkxQUQ0NDgzNTAwMzY1QTUwIC8qIEpTUmVhZGFibGVTdHJl
YW0uaCAqLzsgfTsKIAkJN0M0Qzk2REUxQUQ0NDgzNTAwMzY1QTUwIC8qIEpTUmVhZGFibGVTdHJl
YW1SZWFkZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gN0M0Qzk2REExQUQ0NDgzNTAwMzY1QTUwIC8qIEpTUmVhZGFibGVTdHJlYW1SZWFkZXIuY3Bw
ICovOyB9OwpAQCAtNTM2OSw3ICs1MzcwLDcgQEAKIAkJQkM1M0M2MDgwREE1NkM1NzAwMjFFQjVE
IC8qIEdyYWRpZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEJDNTNDNjA3MERBNTZDNTcwMDIxRUI1RCAvKiBHcmFkaWVudC5jcHAgKi87IH07CiAJ
CUJDNTNDNjBCMERBNTZDRjEwMDIxRUI1RCAvKiBHcmFkaWVudENHLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNTNDNjBBMERBNTZDRjEwMDIxRUI1
RCAvKiBHcmFkaWVudENHLmNwcCAqLzsgfTsKIAkJQkM1M0M2OTIwREE1OTExNDAwMjFFQjVEIC8q
IENTU0dyYWRpZW50VmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEJDNTNDNjkxMERBNTkxMTQwMDIxRUI1RCAvKiBDU1NHcmFkaWVudFZhbHVlLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJQkM1M0Q5
MTExMTQzMTBDQzAwMEQ4MTdFIC8qIFdlYkNvcmVKU0NsaWVudERhdGEuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDNTNEOTEwMTE0MzEwQ0MwMDBEODE3
RSAvKiBXZWJDb3JlSlNDbGllbnREYXRhLmggKi87IH07CisJCUJDNTNEOTExMTE0MzEwQ0MwMDBE
ODE3RSAvKiBXZWJDb3JlQ2xpZW50RGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQkM1M0Q5MTAxMTQzMTBDQzAwMEQ4MTdFIC8qIFdlYkNvcmVDbGll
bnREYXRhLmggKi87IH07CiAJCUJDNTNEQTJFMTE0MzEyMUUwMDBEODE3RSAvKiBET01XcmFwcGVy
V29ybGQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJD
NTNEQTJEMTE0MzEyMUUwMDBEODE3RSAvKiBET01XcmFwcGVyV29ybGQuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlCQzUzREE0ODExNDMxMzREMDAw
RDgxN0UgLyogRE9NV3JhcHBlcldvcmxkLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEJDNTNEQTQ3MTE0MzEzNEQwMDBEODE3RSAvKiBET01XcmFwcGVy
V29ybGQuY3BwICovOyB9OwogCQlCQzU4MjNGNTBDMEE5OERGMDA1M0YxQjUgLyogSlNIVE1MRWxl
bWVudEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBCQzU4MjNGNDBDMEE5OERGMDA1M0YxQjUgLyogSlNIVE1MRWxlbWVudEN1c3RvbS5jcHAg
Ki87IH07CkBAIC04NzYzLDcgKzg3NjQsNiBAQAogCQk0MEVDQUU4MDE2QjhCNjhBMDBDMzYxMDMg
LyogSlNET01FcnJvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBK
U0RPTUVycm9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEwQjdFNzExMDQ1
RkFCMDAwRDgyMjRGIC8qIEpTTWVzc2FnZUV2ZW50Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTWVzc2FnZUV2ZW50Q3VzdG9tLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDExODlFRjcxQUQ4MjMyODAwQjkwQTBEIC8qIFJlYWRhYmxl
U3RyZWFtQ29udHJvbGxlci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUmVhZGFibGVTdHJl
YW1Db250cm9sbGVyLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNDExQTkwNDEx
QkJBQjQ2RDAwMENGMTU2IC8qIFdlYkNvcmVKU0J1aWx0aW5zLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkNvcmVKU0J1aWx0aW5zLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNDEyN0Q1MzYwRjhBQUIxRDAwRTQyNEY1IC8qIFNjcmlwdFN0YXRl
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNjcmlwdFN0YXRlLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEyOURGODExQkI1Qjc5QjAwMzIyQTE2
IC8qIFJlYWRhYmxlU3RyZWFtQ29udHJvbGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBSZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNDEyOURGODIxQkI1QjdBNjAwMzIyQTE2IC8qIFJlYWRhYmxlU3RyZWFtUmVhZGVy
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlYWRhYmxlU3RyZWFtUmVhZGVy
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMDA1MCw2ICsxMDA1MCw3IEBACiAJ
CTdDNDhBNkNFMTkxQzlENjUwMDAyNjY3NCAvKiBXZWJLaXROYW1lc3BhY2UuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViS2l0TmFtZXNwYWNlLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0M0OEE2Q0YxOTFDOUQ2NTAwMDI2Njc0IC8qIFdlYktp
dE5hbWVzcGFjZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJLaXROYW1l
c3BhY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0M0OEE2RDIxOTFDOUQ4RTAw
MDI2Njc0IC8qIFdlYktpdE5hbWVzcGFjZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViS2l0TmFtZXNwYWNlLmlkbDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJN0M0Qzk2RDgxQUQ0NDgzNTAwMzY1QTUxIC8q
IFdlYkNvcmVKU0J1aWx0aW5zLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFdlYkNvcmVKU0J1aWx0aW5zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
N0M0Qzk2RDgxQUQ0NDgzNTAwMzY1QTUwIC8qIEpTUmVhZGFibGVTdHJlYW0uY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNSZWFkYWJsZVN0cmVhbS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDNEM5NkQ5MUFENDQ4MzUwMDM2NUE1MCAvKiBKU1Jl
YWRhYmxlU3RyZWFtLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTUmVhZGFi
bGVTdHJlYW0uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0M0Qzk2REExQUQ0NDgz
NTAwMzY1QTUwIC8qIEpTUmVhZGFibGVTdHJlYW1SZWFkZXIuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSlNSZWFkYWJsZVN0cmVhbVJlYWRlci5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMTMyMSw3ICsxMTMyMiw4IEBACiAJCTlCMDNEODA2MUJC
MzExMEQwMEI3NjREOCAvKiBSZWFkYWJsZVN0cmVhbUJ1aWx0aW5zLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFJlYWRhYmxlU3RyZWFtQnVpbHRpbnMuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJOUIwM0Q4MDYxQkIzMTEwRDAwQjc2NEQ5IC8qIFJlYWRhYmxlU3Ry
ZWFtSW50ZXJuYWxzQnVpbHRpbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
UmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk5QjAzRDgwNzFCQjMxMTBEMDBCNzY0RDggLyogUmVhZGFibGVTdHJlYW1CdWlsdGlu
c1dyYXBwZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVhZGFibGVTdHJl
YW1CdWlsdGluc1dyYXBwZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJOUIwM0Q4
MDcxQkIzMTEwRDAwQjc2NEQ5IC8qIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnNXcmFw
cGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlYWRhYmxlU3RyZWFtSW50
ZXJuYWxzQnVpbHRpbnNXcmFwcGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTlC
MDNEODA3MUJCMzExMEQwMEI3NjREQSAvKiBSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5z
V3JhcHBlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZWFkYWJsZVN0cmVh
bUludGVybmFsc0J1aWx0aW5zV3JhcHBlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk5QjAzRDgwNzFCQjMxMTBEMDBCNzY0RDkgLyogUHJpdmF0ZVdlYkNvcmVKU0J1aWx0aW5zLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFByaXZhdGVXZWJDb3JlSlNCdWlsdGlu
cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5QjE5QjY3RTFCOTY0RTUyMDAzNDg3
NDUgLyogU2hhZG93Um9vdC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gU2hhZG93Um9vdC5p
ZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTlCMUFCMDc5MTY0OEM2OUQwMDUxRjNG
MiAvKiBIVE1MRm9ybUNvbnRyb2xzQ29sbGVjdGlvbi5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gSFRNTEZvcm1Db250cm9s
c0NvbGxlY3Rpb24uaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5QjFBQjA3QjE2
NDhDN0M0MDA1MUYzRjIgLyogSlNIVE1MRm9ybUNvbnRyb2xzQ29sbGVjdGlvbkN1c3RvbS5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0hUTUxGb3JtQ29udHJvbHND
b2xsZWN0aW9uQ3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzMDI1
LDcgKzEzMDI3LDcgQEAKIAkJQkM1M0M2MDcwREE1NkM1NzAwMjFFQjVEIC8qIEdyYWRpZW50LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEdyYWRpZW50LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkM1M0M2MEEwREE1NkNGMTAwMjFFQjVEIC8qIEdy
YWRpZW50Q0cuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gR3JhZGll
bnRDRy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJDNTNDNjkxMERBNTkxMTQw
MDIxRUI1RCAvKiBDU1NHcmFkaWVudFZhbHVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IENTU0dyYWRpZW50VmFsdWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJ
QkM1M0Q5MTAxMTQzMTBDQzAwMEQ4MTdFIC8qIFdlYkNvcmVKU0NsaWVudERhdGEuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQ29yZUpTQ2xpZW50RGF0YS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlCQzUzRDkxMDExNDMxMENDMDAwRDgxN0UgLyogV2ViQ29y
ZUNsaWVudERhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQ29yZUNs
aWVudERhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkM1M0RBMkQxMTQzMTIx
RTAwMEQ4MTdFIC8qIERPTVdyYXBwZXJXb3JsZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBET01XcmFwcGVyV29ybGQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QkM1M0RBNDcxMTQzMTM0RDAwMEQ4MTdFIC8qIERPTVdyYXBwZXJXb3JsZC5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBET01XcmFwcGVyV29ybGQuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlCQzU4MjNGNDBDMEE5OERGMDA1M0YxQjUgLyogSlNIVE1M
RWxlbWVudEN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBK
U0hUTUxFbGVtZW50Q3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE2
Mjc5LDYgKzE2MjgxLDcgQEAKIAkJNDFBMDIzRkExQTM5RjEzQTAwRjcyMkNGIC8qIFN0cmVhbXMg
Ki8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTdDNEM5NkQ4
MUFENDQ4MzUwMDM2NUE1MSAvKiBXZWJDb3JlSlNCdWlsdGlucy5jcHAgKi8sCiAJCQkJN0M0Qzk2
RDgxQUQ0NDgzNTAwMzY1QTUwIC8qIEpTUmVhZGFibGVTdHJlYW0uY3BwICovLAogCQkJCTdDNEM5
NkQ5MUFENDQ4MzUwMDM2NUE1MCAvKiBKU1JlYWRhYmxlU3RyZWFtLmggKi8sCiAJCQkJNkM0Qzk2
REExQUQ0NDgzNTAwMzY1QTUwIC8qIEpTUmVhZGFibGVTdHJlYW1Db250cm9sbGVyLmNwcCAqLywK
QEAgLTE3MDcwLDcgKzE3MDczLDggQEAKIAkJCQk5QjAzRDgwNjFCQjMxMTBEMDBCNzY0RDggLyog
UmVhZGFibGVTdHJlYW1CdWlsdGlucy5oICovLAogCQkJCTlCMDNEODA2MUJCMzExMEQwMEI3NjRE
OSAvKiBSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmggKi8sCiAJCQkJOUIwM0Q4MDcx
QkIzMTEwRDAwQjc2NEQ4IC8qIFJlYWRhYmxlU3RyZWFtQnVpbHRpbnNXcmFwcGVyLmggKi8sCi0J
CQkJOUIwM0Q4MDcxQkIzMTEwRDAwQjc2NEQ5IC8qIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVp
bHRpbnNXcmFwcGVyLmggKi8sCisJCQkJOUIwM0Q4MDcxQkIzMTEwRDAwQjc2NERBIC8qIFJlYWRh
YmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnNXcmFwcGVyLmggKi8sCisJCQkJOUIwM0Q4MDcxQkIz
MTEwRDAwQjc2NEQ5IC8qIFByaXZhdGVXZWJDb3JlSlNCdWlsdGlucy5oICovLAogCQkJCTQzQjg1
RUQyMThDQkVDNTIwMEUzMUFGNCAvKiBTZWxlY3RvclBzZXVkb0NsYXNzQW5kQ29tcGF0aWJpbGl0
eUVsZW1lbnRNYXAuY3BwICovLAogCQkJCTQzQjg1RUQzMThDQkVDNTIwMEUzMUFGNCAvKiBTZWxl
Y3RvclBzZXVkb0NsYXNzQW5kQ29tcGF0aWJpbGl0eUVsZW1lbnRNYXAuZ3BlcmYgKi8sCiAJCQkJ
MjZBQTBGOUQxOEQyQTE4QjAwNDE5MzgxIC8qIFNlbGVjdG9yUHNldWRvRWxlbWVudFR5cGVNYXAu
Y3BwICovLApAQCAtMjE2NjcsOCArMjE2NzEsNyBAQAogCQkJCTE0MDBEN0E3MTcxMzZFQTcwMDc3
Q0UwNSAvKiBTY3JpcHRXcmFwcGFibGVJbmxpbmVzLmggKi8sCiAJCQkJQTc1RTQ5NzUxMDc1MkFD
QjAwQzlCODk2IC8qIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAgKi8sCiAJCQkJQTc1RTQ5NzQx
MDc1MkFDQjAwQzlCODk2IC8qIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oICovLAotCQkJCTQxMUE5
MDQxMUJCQUI0NkQwMDBDRjE1NiAvKiBXZWJDb3JlSlNCdWlsdGlucy5jcHAgKi8sCi0JCQkJQkM1
M0Q5MTAxMTQzMTBDQzAwMEQ4MTdFIC8qIFdlYkNvcmVKU0NsaWVudERhdGEuaCAqLywKKwkJCQlC
QzUzRDkxMDExNDMxMENDMDAwRDgxN0UgLyogV2ViQ29yZUNsaWVudERhdGEuaCAqLywKIAkJCQkw
RjA5OUQwNjE3Qjk2OEExMDBGRjg0QjkgLyogV2ViQ29yZVR5cGVkQXJyYXlDb250cm9sbGVyLmNw
cCAqLywKIAkJCQkwRjA5OUQwNzE3Qjk2OEExMDBGRjg0QjkgLyogV2ViQ29yZVR5cGVkQXJyYXlD
b250cm9sbGVyLmggKi8sCiAJCQkJRTFBNjQzRkMwRUMwOTdBMDAwNzc5NjY4IC8qIFdvcmtlclNj
cmlwdENvbnRyb2xsZXIuY3BwICovLApAQCAtMjU3MjIsNyArMjU3MjUsOCBAQAogCQkJCUZDOUUw
RTREMTY0MTlDMUUwMDM5MkJFMyAvKiBKU0RPTVdpbmRvd0NTUy5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNjUyRkJCQkMwREUyN0NCNjAwMDFEMzg2IC8qIEpTRE9NV2luZG93Q3VzdG9tLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlCQ0JGQjUzRDBEQ0QyOUNGMDAxOUIzRTUgLyogSlNET01XaW5kb3dTaGVs
bC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNDE2RTZGRUExQkJEMTY4NDAwMEE2MDQzIC8qIFJlYWRh
YmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnNXcmFwcGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQk0
MTZFNkZFQTFCQkQxNjg0MDAwQTYwNDQgLyogUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlu
c1dyYXBwZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxNkU2RkVBMUJCRDE2ODQwMDBBNjA0MyAv
KiBQcml2YXRlV2ViQ29yZUpTQnVpbHRpbnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTY1RTBFOTQ0
MTEzM0M4OUYwMEI0Q0IxMCAvKiBKU0RPTVdyYXBwZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUZE
Nzg2OEJBMTM2Qjk5OTIwMEQ0MDNERiAvKiBKU0R5bmFtaWNzQ29tcHJlc3Nvck5vZGUuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTY1REYzMUZBMDlEMUNDNjAwMDBCRTMyNSAvKiBKU0VsZW1lbnQuaCBp
biBIZWFkZXJzICovLApAQCAtMjc2MTcsNyArMjc2MjEsNyBAQAogCQkJCUNEQzY5RERBMTYzNzFG
RDQwMDdDMzhERiAvKiBXZWJDb3JlRnVsbFNjcmVlblBsYWNlaG9sZGVyVmlldy5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQ0RDNjlERDYxNjMyMDI2QzAwN0MzOERGIC8qIFdlYkNvcmVGdWxsU2NyZWVu
V2FybmluZ1ZpZXcuaCBpbiBIZWFkZXJzICovLAogCQkJCUNEMTI3REVFMTRGMzA5ODQwMEU4NDc3
OSAvKiBXZWJDb3JlRnVsbFNjcmVlbldpbmRvdy5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQkM1M0Q5
MTExMTQzMTBDQzAwMEQ4MTdFIC8qIFdlYkNvcmVKU0NsaWVudERhdGEuaCBpbiBIZWFkZXJzICov
LAorCQkJCUJDNTNEOTExMTE0MzEwQ0MwMDBEODE3RSAvKiBXZWJDb3JlQ2xpZW50RGF0YS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJOTNGMTk5QkIwODI0NUU1OTAwMUU5QUJDIC8qIFdlYkNvcmVLZXli
b2FyZFVJTW9kZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzE0MDM3OUIxMjRCRUE3RjAwQUY0MEU0
IC8qIFdlYkNvcmVNb3Rpb25NYW5hZ2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzREOUJBNzBC
OEMxMTc1MDA3QjQyQTkgLyogV2ViQ29yZU5TU3RyaW5nRXh0cmFzLmggaW4gSGVhZGVycyAqLywK
QEAgLTI5MDYxLDcgKzI5MDY1LDYgQEAKIAkJCQlBOEVBNzlGMzBBMTkxNkRGMDBBOEVGNUYgLyog
SFRNTFVMaXN0RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFNDQ2MTNBQTBDRDYzMzEw
MDBGQURBNzUgLyogSFRNTFZpZGVvRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4MzlB
QUZFQzFBMEMwQzhEMDA2MDVGOTkgLyogSFRNTFdCUkVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8s
Ci0JCQkJNDExQTkwNDIxQkJBQjQ3QTAwMENGMTU2IC8qIFdlYkNvcmVKU0J1aWx0aW5zLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTBCOEM1NkQ0MEYyODYyN0YwMDA1MDJFMSAvKiBIVFRQSGVhZGVy
TWFwLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBQzkwMEMzMTk0M0MwRkMwMDg2MjVCNSAvKiBI
VFRQSGVhZGVyTmFtZXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTE0Qzc2NzIwQ0U5MjNBMTAw
N0VGM0NEIC8qIEhUVFBQYXJzZXJzLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjk1NzMsNiArMjk1
NzYsNyBAQAogCQkJCTA3NzY2NEZDMTgzRTZCNUMwMDEzM0I5MiAvKiBKU1F1aWNrVGltZVBsdWdp
blJlcGxhY2VtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUI2NThGRkExMTUyMkVGM0EwMERE
NTU5NSAvKiBKU1JhZGlvTm9kZUxpc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNjVERjMyMDEw
OUQxQ0M2MDAwMEJFMzI1IC8qIEpTUmFuZ2UuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJN0M0Qzk2
REMxQUQ0NDgzNTAwMzY1QTUxIC8qIFdlYkNvcmVKU0J1aWx0aW5zLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTdDNEM5NkRDMUFENDQ4MzUwMDM2NUE1MCAvKiBKU1JlYWRhYmxlU3RyZWFtLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTZDNEM5NkRFMUFENDQ4MzUwMDM2NUE1MCAvKiBKU1JlYWRhYmxl
U3RyZWFtQ29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QzRDOTZERTFBRDQ0ODM1
MDAzNjVBNTAgLyogSlNSZWFkYWJsZVN0cmVhbVJlYWRlci5jcHAgaW4gU291cmNlcyAqLywKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0RPTVdyYXBwZXJXb3JsZC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9ET01XcmFwcGVyV29ybGQuY3BwCmluZGV4IDNk
ZDI1ZTE4YzE0ZjYxNGE0ODM4MTI3MmJhNTI5YTkyZGRiMGExZTYuLjc5ODZlODFiM2YyNjE3NWUx
MzEwZTMwMWRjMmRjMTEwYzBmMjE3MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0RPTVdyYXBwZXJXb3JsZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvRE9NV3JhcHBlcldvcmxkLmNwcApAQCAtMjMsNyArMjMsNyBAQAogCiAjaW5jbHVkZSAiSlNE
T01XaW5kb3cuaCIKICNpbmNsdWRlICJTY3JpcHRDb250cm9sbGVyLmgiCi0jaW5jbHVkZSAiV2Vi
Q29yZUpTQ2xpZW50RGF0YS5oIgorI2luY2x1ZGUgIldlYkNvcmVDbGllbnREYXRhLmgiCiAjaW5j
bHVkZSA8d3RmL01haW5UaHJlYWQuaD4KIAogdXNpbmcgbmFtZXNwYWNlIEpTQzsKQEAgLTM2LDE0
ICszNiwxNCBAQCBET01XcmFwcGVyV29ybGQ6OkRPTVdyYXBwZXJXb3JsZChKU0M6OlZNJiB2bSwg
Ym9vbCBpc05vcm1hbCkKIHsKICAgICBWTTo6Q2xpZW50RGF0YSogY2xpZW50RGF0YSA9IG1fdm0u
Y2xpZW50RGF0YTsKICAgICBBU1NFUlQoY2xpZW50RGF0YSk7Ci0gICAgc3RhdGljX2Nhc3Q8V2Vi
Q29yZUpTQ2xpZW50RGF0YSo+KGNsaWVudERhdGEpLT5yZW1lbWJlcldvcmxkKCp0aGlzKTsKKyAg
ICBzdGF0aWNfY2FzdDxXZWJDb3JlQ2xpZW50RGF0YSo+KGNsaWVudERhdGEpLT5yZW1lbWJlcldv
cmxkKCp0aGlzKTsKIH0KIAogRE9NV3JhcHBlcldvcmxkOjp+RE9NV3JhcHBlcldvcmxkKCkKIHsK
ICAgICBWTTo6Q2xpZW50RGF0YSogY2xpZW50RGF0YSA9IG1fdm0uY2xpZW50RGF0YTsKICAgICBB
U1NFUlQoY2xpZW50RGF0YSk7Ci0gICAgc3RhdGljX2Nhc3Q8V2ViQ29yZUpTQ2xpZW50RGF0YSo+
KGNsaWVudERhdGEpLT5mb3JnZXRXb3JsZCgqdGhpcyk7CisgICAgc3RhdGljX2Nhc3Q8V2ViQ29y
ZUNsaWVudERhdGEqPihjbGllbnREYXRhKS0+Zm9yZ2V0V29ybGQoKnRoaXMpOwogCiAgICAgLy8g
VGhlc2UgaXRlbXMgYXJlIGNyZWF0ZWQgbGF6aWx5LgogICAgIHdoaWxlICghbV9zY3JpcHRDb250
cm9sbGVyc1dpdGhXaW5kb3dTaGVsbHMuaXNFbXB0eSgpKQpAQCAtNjMsNyArNjMsNyBAQCBET01X
cmFwcGVyV29ybGQmIG5vcm1hbFdvcmxkKEpTQzo6Vk0mIHZtKQogewogICAgIFZNOjpDbGllbnRE
YXRhKiBjbGllbnREYXRhID0gdm0uY2xpZW50RGF0YTsKICAgICBBU1NFUlQoY2xpZW50RGF0YSk7
Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PFdlYkNvcmVKU0NsaWVudERhdGEqPihjbGllbnREYXRh
KS0+bm9ybWFsV29ybGQoKTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8V2ViQ29yZUNsaWVudERh
dGEqPihjbGllbnREYXRhKS0+bm9ybWFsV29ybGQoKTsKIH0KIAogRE9NV3JhcHBlcldvcmxkJiBt
YWluVGhyZWFkTm9ybWFsV29ybGQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNET01XaW5kb3dCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RE9NV2luZG93QmFzZS5jcHAKaW5kZXggOWUwZmY0ZmM4OWE2ODAwNjNkNWFhNzU2MmZhY2U0YjY5
MWZiZjBmMC4uMjA1MjBhZjA5NTAxMDMzZGRmNzAxMTU3NzRhNDhmYTFiMDhmMjJjZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwCkBAIC0zNiw3
ICszNiw3IEBACiAjaW5jbHVkZSAiU2NyaXB0Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIlNlY3Vy
aXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKLSNpbmNsdWRlICJXZWJDb3JlSlND
bGllbnREYXRhLmgiCisjaW5jbHVkZSAiV2ViQ29yZUNsaWVudERhdGEuaCIKICNpbmNsdWRlIDxy
dW50aW1lL0pTSW50ZXJuYWxQcm9taXNlRGVmZXJyZWQuaD4KICNpbmNsdWRlIDxydW50aW1lL01p
Y3JvdGFzay5oPgogI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CkBAIC03MCw5ICs3MCw3IEBA
IEpTRE9NV2luZG93QmFzZTo6SlNET01XaW5kb3dCYXNlKFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1
Y3R1cmUsIFBhc3NSZWZQdHI8RE9NV2luCiAgICAgLCBtX3dpbmRvd0Nsb3NlV2F0Y2hwb2ludHMo
KHdpbmRvdyAmJiB3aW5kb3ctPmZyYW1lKCkpID8gSXNXYXRjaGVkIDogSXNJbnZhbGlkYXRlZCkK
ICAgICAsIG1faW1wbCh3aW5kb3cpCiAgICAgLCBtX3NoZWxsKHNoZWxsKQotI2lmIEVOQUJMRShT
VFJFQU1TX0FQSSkKLSAgICAsIG1fcmVhZGFibGVTdHJlYW1GdW5jdGlvbnModm0pCi0jZW5kaWYK
KyAgICAsIG1fcHJpdmF0ZUZ1bmN0aW9ucyh2bSkKIHsKIH0KIApAQCAtODEsMjMgKzc5LDIxIEBA
IHZvaWQgSlNET01XaW5kb3dCYXNlOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEpTRE9NV2luZG93
U2hlbGwqIHNoZWxsKQogICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCBzaGVsbCk7CiAgICAg
QVNTRVJUKGluaGVyaXRzKGluZm8oKSkpOwogCi0jaWYgRU5BQkxFKFNUUkVBTVNfQVBJKQotICAg
IG1fcmVhZGFibGVTdHJlYW1GdW5jdGlvbnMuaW5pdCgqdGhpcyk7Ci0jZW5kaWYKKyAgICBtX3By
aXZhdGVGdW5jdGlvbnMuaW5pdCgqdGhpcyk7CiAKICAgICBHbG9iYWxQcm9wZXJ0eUluZm8gc3Rh
dGljR2xvYmFsc1tdID0gewogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlO
YW1lcy0+ZG9jdW1lbnQsIGpzTnVsbCgpLCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAogICAgICAg
ICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+d2luZG93LCBtX3NoZWxsLCBE
b250RGVsZXRlIHwgUmVhZE9ubHkpLAogI2lmIEVOQUJMRShTVFJFQU1TX0FQSSkKLSAgICAgICAg
R2xvYmFsUHJvcGVydHlJbmZvKHN0YXRpY19jYXN0PFdlYkNvcmVKU0NsaWVudERhdGEqPih2bS5j
bGllbnREYXRhKS0+YnVpbHRpbk5hbWVzKCkucmVhZGFibGVTdHJlYW1DbG9zZWRQcml2YXRlTmFt
ZSgpLCBqc051bWJlcigxKSwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKLSAgICAgICAgR2xvYmFs
UHJvcGVydHlJbmZvKHN0YXRpY19jYXN0PFdlYkNvcmVKU0NsaWVudERhdGEqPih2bS5jbGllbnRE
YXRhKS0+YnVpbHRpbk5hbWVzKCkucmVhZGFibGVTdHJlYW1FcnJvcmVkUHJpdmF0ZU5hbWUoKSwg
anNOdW1iZXIoMiksIERvbnREZWxldGUgfCBSZWFkT25seSksCi0gICAgICAgIEdsb2JhbFByb3Bl
cnR5SW5mbyhzdGF0aWNfY2FzdDxXZWJDb3JlSlNDbGllbnREYXRhKj4odm0uY2xpZW50RGF0YSkt
PmJ1aWx0aW5OYW1lcygpLnJlYWRhYmxlU3RyZWFtUmVhZGFibGVQcml2YXRlTmFtZSgpLCBqc051
bWJlcigzKSwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKLSAgICAgICAgR2xvYmFsUHJvcGVydHlJ
bmZvKHN0YXRpY19jYXN0PFdlYkNvcmVKU0NsaWVudERhdGEqPih2bS5jbGllbnREYXRhKS0+YnVp
bHRpbk5hbWVzKCkuUmVhZGFibGVTdHJlYW1Db250cm9sbGVyUHJpdmF0ZU5hbWUoKSwgY3JlYXRl
UmVhZGFibGVTdHJlYW1Db250cm9sbGVyUHJpdmF0ZUNvbnN0cnVjdG9yKHZtLCAqdGhpcyksIERv
bnREZWxldGUgfCBSZWFkT25seSksCi0gICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyhzdGF0aWNf
Y2FzdDxXZWJDb3JlSlNDbGllbnREYXRhKj4odm0uY2xpZW50RGF0YSktPmJ1aWx0aW5OYW1lcygp
LlJlYWRhYmxlU3RyZWFtUmVhZGVyUHJpdmF0ZU5hbWUoKSwgY3JlYXRlUmVhZGFibGVTdHJlYW1S
ZWFkZXJQcml2YXRlQ29uc3RydWN0b3Iodm0sICp0aGlzKSwgRG9udERlbGV0ZSB8IFJlYWRPbmx5
KSwKKyAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHN0YXRpY19jYXN0PFdlYkNvcmVDbGllbnRE
YXRhKj4odm0uY2xpZW50RGF0YSktPmJ1aWx0aW5OYW1lcygpLnJlYWRhYmxlU3RyZWFtQ2xvc2Vk
UHJpdmF0ZU5hbWUoKSwganNOdW1iZXIoMSksIERvbnREZWxldGUgfCBSZWFkT25seSksCisgICAg
ICAgIEdsb2JhbFByb3BlcnR5SW5mbyhzdGF0aWNfY2FzdDxXZWJDb3JlQ2xpZW50RGF0YSo+KHZt
LmNsaWVudERhdGEpLT5idWlsdGluTmFtZXMoKS5yZWFkYWJsZVN0cmVhbUVycm9yZWRQcml2YXRl
TmFtZSgpLCBqc051bWJlcigyKSwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKKyAgICAgICAgR2xv
YmFsUHJvcGVydHlJbmZvKHN0YXRpY19jYXN0PFdlYkNvcmVDbGllbnREYXRhKj4odm0uY2xpZW50
RGF0YSktPmJ1aWx0aW5OYW1lcygpLnJlYWRhYmxlU3RyZWFtUmVhZGFibGVQcml2YXRlTmFtZSgp
LCBqc051bWJlcigzKSwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKKyAgICAgICAgR2xvYmFsUHJv
cGVydHlJbmZvKHN0YXRpY19jYXN0PFdlYkNvcmVDbGllbnREYXRhKj4odm0uY2xpZW50RGF0YSkt
PmJ1aWx0aW5OYW1lcygpLlJlYWRhYmxlU3RyZWFtQ29udHJvbGxlclByaXZhdGVOYW1lKCksIGNy
ZWF0ZVJlYWRhYmxlU3RyZWFtQ29udHJvbGxlclByaXZhdGVDb25zdHJ1Y3Rvcih2bSwgKnRoaXMp
LCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAorICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8oc3Rh
dGljX2Nhc3Q8V2ViQ29yZUNsaWVudERhdGEqPih2bS5jbGllbnREYXRhKS0+YnVpbHRpbk5hbWVz
KCkuUmVhZGFibGVTdHJlYW1SZWFkZXJQcml2YXRlTmFtZSgpLCBjcmVhdGVSZWFkYWJsZVN0cmVh
bVJlYWRlclByaXZhdGVDb25zdHJ1Y3Rvcih2bSwgKnRoaXMpLCBEb250RGVsZXRlIHwgUmVhZE9u
bHkpLAogI2RlZmluZSBERUNMQVJFX0dMT0JBTF9TVEFUSUMobmFtZSlcCiAgICAgICAgIEdsb2Jh
bFByb3BlcnR5SW5mbyhcCi0gICAgICAgICAgICBzdGF0aWNfY2FzdDxXZWJDb3JlSlNDbGllbnRE
YXRhKj4odm0uY2xpZW50RGF0YSktPnJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMoKS5u
YW1lIyNQcml2YXRlTmFtZSgpLFwKLSAgICAgICAgICAgIG1fcmVhZGFibGVTdHJlYW1GdW5jdGlv
bnMubV8jI25hbWUjI0Z1bmN0aW9uLmdldCgpICwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKKyAg
ICAgICAgICAgIHN0YXRpY19jYXN0PFdlYkNvcmVDbGllbnREYXRhKj4odm0uY2xpZW50RGF0YSkt
PmJ1aWx0aW5GdW5jdGlvbnMoKS5yZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zKCkubmFt
ZSMjUHJpdmF0ZU5hbWUoKSwgXAorICAgICAgICAgICAgbV9wcml2YXRlRnVuY3Rpb25zLnJlYWRh
YmxlU3RyZWFtSW50ZXJuYWxzKCkubV8jI25hbWUjI0Z1bmN0aW9uLmdldCgpICwgRG9udERlbGV0
ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgV0VCQ09SRVJFQURBQkxFU1RSRUFNSU5URVJOQUxTX0ZP
UkVBQ0hfQlVJTFRJTl9GVU5DVElPTl9OQU1FKERFQ0xBUkVfR0xPQkFMX1NUQVRJQykKICN1bmRl
ZiBFWFBPUlRfRlVOQ1RJT04KICNlbmRpZgpAQCAtMTExLDkgKzEwNyw3IEBAIHZvaWQgSlNET01X
aW5kb3dCYXNlOjp2aXNpdENoaWxkcmVuKEpTQ2VsbCogY2VsbCwgU2xvdFZpc2l0b3ImIHZpc2l0
b3IpCiAgICAgSlNET01XaW5kb3dCYXNlKiB0aGlzT2JqZWN0ID0ganNDYXN0PEpTRE9NV2luZG93
QmFzZSo+KGNlbGwpOwogICAgIEFTU0VSVF9HQ19PQkpFQ1RfSU5IRVJJVFModGhpc09iamVjdCwg
aW5mbygpKTsKICAgICBCYXNlOjp2aXNpdENoaWxkcmVuKHRoaXNPYmplY3QsIHZpc2l0b3IpOwot
I2lmIEVOQUJMRShTVFJFQU1TX0FQSSkKLSAgICB0aGlzT2JqZWN0LT5tX3JlYWRhYmxlU3RyZWFt
RnVuY3Rpb25zLnZpc2l0KHZpc2l0b3IpOwotI2VuZGlmCisgICAgdGhpc09iamVjdC0+bV9wcml2
YXRlRnVuY3Rpb25zLnZpc2l0KHZpc2l0b3IpOwogfQogCiB2b2lkIEpTRE9NV2luZG93QmFzZTo6
ZGVzdHJveShKU0NlbGwqIGNlbGwpCkBAIC0yOTcsNyArMjkxLDcgQEAgSlNET01XaW5kb3cqIHRv
SlNET01XaW5kb3coSlNWYWx1ZSB2YWx1ZSkKIHZvaWQgSlNET01XaW5kb3dCYXNlOjpmaXJlRnJh
bWVDbGVhcmVkV2F0Y2hwb2ludHNGb3JXaW5kb3coRE9NV2luZG93KiB3aW5kb3cpCiB7CiAgICAg
SlNDOjpWTSYgdm0gPSBKU0RPTVdpbmRvd0Jhc2U6OmNvbW1vblZNKCk7Ci0gICAgV2ViQ29yZUpT
Q2xpZW50RGF0YSogY2xpZW50RGF0YSA9IHN0YXRpY19jYXN0PFdlYkNvcmVKU0NsaWVudERhdGEq
Pih2bS5jbGllbnREYXRhKTsKKyAgICBXZWJDb3JlQ2xpZW50RGF0YSogY2xpZW50RGF0YSA9IHN0
YXRpY19jYXN0PFdlYkNvcmVDbGllbnREYXRhKj4odm0uY2xpZW50RGF0YSk7CiAgICAgVmVjdG9y
PFJlZjxET01XcmFwcGVyV29ybGQ+PiB3cmFwcGVyV29ybGRzOwogICAgIGNsaWVudERhdGEtPmdl
dEFsbFdvcmxkcyh3cmFwcGVyV29ybGRzKTsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwg
d3JhcHBlcldvcmxkcy5zaXplKCk7ICsraSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RPTVdpbmRvd0Jhc2UuaAppbmRleCBmNDA4NzJmNWVhMDk1Yzk4MzYzOWQ2ZWRhNzA5NTdi
ZTg1OGI0ZTAxLi40N2M0NGU5ZmU1MjU0NWE1NmM3NTc1NTlkMzcxM2VkYzE4YTUyZGQ1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaApAQCAtMjIsNyAr
MjIsNyBAQAogCiAjaW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCiAjaW5jbHVkZSAiSlNET01HbG9i
YWxPYmplY3QuaCIKLSNpbmNsdWRlICJSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zV3Jh
cHBlci5oIgorI2luY2x1ZGUgIlByaXZhdGVXZWJDb3JlSlNCdWlsdGlucy5oIgogI2luY2x1ZGUg
PHd0Zi9Gb3J3YXJkLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTg3LDkgKzg3LDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBSZWZQdHI8RE9NV2luZG93PiBtX2ltcGw7CiAg
ICAgICAgIEpTRE9NV2luZG93U2hlbGwqIG1fc2hlbGw7CiAKLSNpZiBFTkFCTEUoU1RSRUFNU19B
UEkpCi0gICAgICAgIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbkZ1bmN0aW9ucyBtX3Jl
YWRhYmxlU3RyZWFtRnVuY3Rpb25zOwotI2VuZGlmCisgICAgICAgIFByaXZhdGVXZWJDb3JlQnVp
bHRpbkZ1bmN0aW9ucyBtX3ByaXZhdGVGdW5jdGlvbnM7CiAgICAgfTsKIAogICAgIC8vIFJldHVy
bnMgYSBKU0RPTVdpbmRvdyBvciBqc051bGwoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9TY3JpcHRDb250cm9sbGVyLmNwcAppbmRleCA0YjNiMDk3MmJlNzdmM2M3NjU5NWYxNDBl
MjZhNzQ4ZmY4ZWE0NTBjLi5kYzI4MGE4ZmIzZThiZGJjNTBlNmNiYmJkYzNhZDI5MDNkMDM4NWRi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmNw
cApAQCAtNDUsNyArNDUsNyBAQAogI2luY2x1ZGUgIlNjcmlwdGFibGVEb2N1bWVudFBhcnNlci5o
IgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5jbHVkZSAiVXNlckdlc3R1cmVJbmRpY2F0b3Iu
aCIKLSNpbmNsdWRlICJXZWJDb3JlSlNDbGllbnREYXRhLmgiCisjaW5jbHVkZSAiV2ViQ29yZUNs
aWVudERhdGEuaCIKICNpbmNsdWRlICJucHJ1bnRpbWVfaW1wbC5oIgogI2luY2x1ZGUgInJ1bnRp
bWVfcm9vdC5oIgogI2luY2x1ZGUgPGJpbmRpbmdzL1NjcmlwdFZhbHVlLmg+CkBAIC0xOTQsNyAr
MTk0LDcgQEAgVmVjdG9yPEpTQzo6U3Ryb25nPEpTRE9NV2luZG93U2hlbGw+PiBTY3JpcHRDb250
cm9sbGVyOjp3aW5kb3dTaGVsbHMoKQogCiB2b2lkIFNjcmlwdENvbnRyb2xsZXI6OmdldEFsbFdv
cmxkcyhWZWN0b3I8UmVmPERPTVdyYXBwZXJXb3JsZD4+JiB3b3JsZHMpCiB7Ci0gICAgc3RhdGlj
X2Nhc3Q8V2ViQ29yZUpTQ2xpZW50RGF0YSo+KEpTRE9NV2luZG93Ojpjb21tb25WTSgpLmNsaWVu
dERhdGEpLT5nZXRBbGxXb3JsZHMod29ybGRzKTsKKyAgICBzdGF0aWNfY2FzdDxXZWJDb3JlQ2xp
ZW50RGF0YSo+KEpTRE9NV2luZG93Ojpjb21tb25WTSgpLmNsaWVudERhdGEpLT5nZXRBbGxXb3Js
ZHMod29ybGRzKTsKIH0KIAogdm9pZCBTY3JpcHRDb250cm9sbGVyOjpjbGVhcldpbmRvd1NoZWxs
KERPTVdpbmRvdyogbmV3RE9NV2luZG93LCBib29sIGdvaW5nSW50b1BhZ2VDYWNoZSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3Bw
CmluZGV4IDYyZWExYzFiZGNlZDYzMDY1ODk4YThiNDFiMGI2ZDIxYjg1N2FiODcuLjc4YWNkMzE0
NWE2N2EyNzQ3ZjE3M2M2MzBiMjVkMDdjYTkyODc5MTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcApAQCAtNDgsNyArNDgs
NyBAQAogI2luY2x1ZGUgIkpTTmF2aWdhdG9yLmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9u
Q29udGV4dC5oIgogI2luY2x1ZGUgIlNoYXJlZEJ1ZmZlci5oIgotI2luY2x1ZGUgIldlYkNvcmVK
U0NsaWVudERhdGEuaCIKKyNpbmNsdWRlICJXZWJDb3JlQ2xpZW50RGF0YS5oIgogI2luY2x1ZGUg
PGxpbWl0cz4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9BUElDYXN0Lmg+CiAjaW5jbHVkZSA8
cnVudGltZS9BcnJheUJ1ZmZlci5oPgpAQCAtMjYzNCw3ICsyNjM0LDcgQEAgc3RkOjp1bmlxdWVf
cHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6QXJyYXlCdWZmZXJDb250ZW50c0FycmF5PiBTZXJp
YWxpemVkU2NyaXAKIAogICAgIGF1dG8gY29udGVudHMgPSBzdGQ6Om1ha2VfdW5pcXVlPEFycmF5
QnVmZmVyQ29udGVudHNBcnJheT4oYXJyYXlCdWZmZXJzLnNpemUoKSk7CiAgICAgVmVjdG9yPFJl
ZjxET01XcmFwcGVyV29ybGQ+PiB3b3JsZHM7Ci0gICAgc3RhdGljX2Nhc3Q8V2ViQ29yZUpTQ2xp
ZW50RGF0YSo+KGV4ZWMtPnZtKCkuY2xpZW50RGF0YSktPmdldEFsbFdvcmxkcyh3b3JsZHMpOwor
ICAgIHN0YXRpY19jYXN0PFdlYkNvcmVDbGllbnREYXRhKj4oZXhlYy0+dm0oKS5jbGllbnREYXRh
KS0+Z2V0QWxsV29ybGRzKHdvcmxkcyk7CiAKICAgICBIYXNoU2V0PEpTQzo6QXJyYXlCdWZmZXIq
PiB2aXNpdGVkOwogICAgIGZvciAoc2l6ZV90IGFycmF5QnVmZmVySW5kZXggPSAwOyBhcnJheUJ1
ZmZlckluZGV4IDwgYXJyYXlCdWZmZXJzLnNpemUoKTsgYXJyYXlCdWZmZXJJbmRleCsrKSB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQ2xpZW50RGF0YS5o
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUNsaWVudERhdGEuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4zMGEwNzczZDFhYWEzNzMzMWI3MTE2YmMwZTc5MjZkYjgxNGQ1Y2RjCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUNsaWVudERhdGEuaApA
QCAtMCwwICsxLDk5IEBACisvKgorICogIENvcHlyaWdodCAoQykgMTk5OS0yMDAxIEhhcnJpIFBv
cnRlbiAocG9ydGVuQGtkZS5vcmcpCisgKiAgQ29weXJpZ2h0IChDKSAyMDAzLCAyMDA0LCAyMDA1
LCAyMDA2LCAyMDA4LCAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqICBD
b3B5cmlnaHQgKEMpIDIwMDcgU2FtdWVsIFdlaW5pZyA8c2FtQHdlYmtpdC5vcmc+CisgKiAgQ29w
eXJpZ2h0IChDKSAyMDA5IEdvb2dsZSwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
ICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg
YW5kL29yCisgKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBH
ZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3Ig
KGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgVGhpcyBsaWJyYXJ5
IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAg
YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu
dHkgb2YKKyAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UuICBTZWUgdGhlIEdOVQorICogIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv
ciBtb3JlIGRldGFpbHMuCisgKgorICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg
b2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFsb25nIHdpdGgg
dGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiAgRm91
bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBN
QSAgMDIxMTAtMTMwMSAgVVNBCisgKi8KKworI2lmbmRlZiBXZWJDb3JlQ2xpZW50RGF0YV9oCisj
ZGVmaW5lIFdlYkNvcmVDbGllbnREYXRhX2gKKworI2luY2x1ZGUgIkRPTVdyYXBwZXJXb3JsZC5o
IgorI2luY2x1ZGUgIldlYkNvcmVCdWlsdGluTmFtZXMuaCIKKyNpbmNsdWRlICJXZWJDb3JlSlNC
dWlsdGlucy5oIgorI2luY2x1ZGUgIldlYkNvcmVUeXBlZEFycmF5Q29udHJvbGxlci5oIgorI2lu
Y2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK2NsYXNzIFdlYkNvcmVDbGllbnREYXRhIDogcHVibGljIEpTQzo6Vk06
OkNsaWVudERhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYkNvcmVDbGllbnREYXRh
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgZnJpZW5kIGNsYXNzIFZNV29ybGRJdGVy
YXRvcjsKKyAgICBmcmllbmQgdm9pZCBpbml0Tm9ybWFsV29ybGRDbGllbnREYXRhKEpTQzo6Vk0q
KTsKKworcHVibGljOgorICAgIGV4cGxpY2l0IFdlYkNvcmVDbGllbnREYXRhKEpTQzo6Vk0mIHZt
KQorICAgICAgICA6IG1fYnVpbHRpbkZ1bmN0aW9ucyh2bSkKKyAgICAgICAgLCBtX2J1aWx0aW5O
YW1lcygmdm0pCisgICAgeworICAgIH0KKworICAgIHZpcnR1YWwgfldlYkNvcmVDbGllbnREYXRh
KCkKKyAgICB7CisgICAgICAgIEFTU0VSVChtX3dvcmxkU2V0LmNvbnRhaW5zKG1fbm9ybWFsV29y
bGQuZ2V0KCkpKTsKKyAgICAgICAgQVNTRVJUKG1fd29ybGRTZXQuc2l6ZSgpID09IDEpOworICAg
ICAgICBBU1NFUlQobV9ub3JtYWxXb3JsZC0+aGFzT25lUmVmKCkpOworICAgICAgICBtX25vcm1h
bFdvcmxkID0gbnVsbHB0cjsKKyAgICAgICAgQVNTRVJUKG1fd29ybGRTZXQuaXNFbXB0eSgpKTsK
KyAgICB9CisKKyAgICBET01XcmFwcGVyV29ybGQmIG5vcm1hbFdvcmxkKCkgeyByZXR1cm4gKm1f
bm9ybWFsV29ybGQ7IH0KKworICAgIHZvaWQgZ2V0QWxsV29ybGRzKFZlY3RvcjxSZWY8RE9NV3Jh
cHBlcldvcmxkPj4mIHdvcmxkcykKKyAgICB7CisgICAgICAgIEFTU0VSVCh3b3JsZHMuaXNFbXB0
eSgpKTsKKworICAgICAgICB3b3JsZHMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShtX3dvcmxkU2V0
LnNpemUoKSk7CisgICAgICAgIGZvciAoYXV0byBpdCA9IG1fd29ybGRTZXQuYmVnaW4oKSwgZW5k
ID0gbV93b3JsZFNldC5lbmQoKTsgaXQgIT0gZW5kOyArK2l0KQorICAgICAgICAgICAgd29ybGRz
LnVuY2hlY2tlZEFwcGVuZCgqKCppdCkpOworICAgIH0KKworICAgIHZvaWQgcmVtZW1iZXJXb3Js
ZChET01XcmFwcGVyV29ybGQmIHdvcmxkKQorICAgIHsKKyAgICAgICAgQVNTRVJUKCFtX3dvcmxk
U2V0LmNvbnRhaW5zKCZ3b3JsZCkpOworICAgICAgICBtX3dvcmxkU2V0LmFkZCgmd29ybGQpOwor
ICAgIH0KKworICAgIHZvaWQgZm9yZ2V0V29ybGQoRE9NV3JhcHBlcldvcmxkJiB3b3JsZCkKKyAg
ICB7CisgICAgICAgIEFTU0VSVChtX3dvcmxkU2V0LmNvbnRhaW5zKCZ3b3JsZCkpOworICAgICAg
ICBtX3dvcmxkU2V0LnJlbW92ZSgmd29ybGQpOworICAgIH0KKworICAgIFdlYkNvcmVCdWlsdGlu
TmFtZXMmIGJ1aWx0aW5OYW1lcygpIHsgcmV0dXJuIG1fYnVpbHRpbk5hbWVzOyB9CisgICAgV2Vi
Q29yZUJ1aWx0aW5GdW5jdGlvbnMmIGJ1aWx0aW5GdW5jdGlvbnMoKSB7IHJldHVybiBtX2J1aWx0
aW5GdW5jdGlvbnM7IH0KKworcHJpdmF0ZToKKyAgICBIYXNoU2V0PERPTVdyYXBwZXJXb3JsZCo+
IG1fd29ybGRTZXQ7CisgICAgUmVmUHRyPERPTVdyYXBwZXJXb3JsZD4gbV9ub3JtYWxXb3JsZDsK
KworICAgIFdlYkNvcmVCdWlsdGluRnVuY3Rpb25zIG1fYnVpbHRpbkZ1bmN0aW9uczsKKyAgICBX
ZWJDb3JlQnVpbHRpbk5hbWVzIG1fYnVpbHRpbk5hbWVzOworfTsKKworaW5saW5lIHZvaWQgaW5p
dE5vcm1hbFdvcmxkQ2xpZW50RGF0YShKU0M6OlZNKiB2bSkKK3sKKyAgICBXZWJDb3JlQ2xpZW50
RGF0YSogd2ViQ29yZUpTQ2xpZW50RGF0YSA9IG5ldyBXZWJDb3JlQ2xpZW50RGF0YSgqdm0pOwor
ICAgIHZtLT5jbGllbnREYXRhID0gd2ViQ29yZUpTQ2xpZW50RGF0YTsgLy8gflZNIGRlbGV0ZXMg
dGhpcyBwb2ludGVyLgorICAgIHdlYkNvcmVKU0NsaWVudERhdGEtPm1fbm9ybWFsV29ybGQgPSBE
T01XcmFwcGVyV29ybGQ6OmNyZWF0ZSgqdm0sIHRydWUpOworICAgIHZtLT5tX3R5cGVkQXJyYXlD
b250cm9sbGVyID0gYWRvcHRSZWYobmV3IFdlYkNvcmVUeXBlZEFycmF5Q29udHJvbGxlcigpKTsK
K30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gV2ViQ29yZUNsaWVudERh
dGFfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xp
ZW50RGF0YS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0
YS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NzBkZDgxOGViODI5NDU3ZWE4MGUz
NTM4YTg3MWQ0OTk1Mjc0YzA5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVKU0NsaWVudERhdGEu
aAorKysgL2Rldi9udWxsCkBAIC0xLDEzMyArMCwwIEBACi0vKgotICogIENvcHlyaWdodCAoQykg
MTk5OS0yMDAxIEhhcnJpIFBvcnRlbiAocG9ydGVuQGtkZS5vcmcpCi0gKiAgQ29weXJpZ2h0IChD
KSAyMDAzLCAyMDA0LCAyMDA1LCAyMDA2LCAyMDA4LCAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLSAqICBDb3B5cmlnaHQgKEMpIDIwMDcgU2FtdWVsIFdlaW5pZyA8c2FtQHdl
YmtpdC5vcmc+Ci0gKiAgQ29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSwgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotICoKLSAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh
biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBv
ZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotICogIExpY2Vuc2UgYXMgcHVibGlzaGVk
IGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogIHZlcnNpb24gMiBv
ZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAq
Ci0gKiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls
bCBiZSB1c2VmdWwsCi0gKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4g
dGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogIExlc3NlciBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogIFlvdSBzaG91bGQgaGF2
ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKLSAqICBM
aWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVl
IFNvZnR3YXJlCi0gKiAgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0
aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCi0gKi8KLQotI2lmbmRlZiBXZWJD
b3JlSlNDbGllbnREYXRhX2gKLSNkZWZpbmUgV2ViQ29yZUpTQ2xpZW50RGF0YV9oCi0KLSNpbmNs
dWRlICJET01XcmFwcGVyV29ybGQuaCIKLSNpbmNsdWRlICJXZWJDb3JlQnVpbHRpbk5hbWVzLmgi
Ci0jaW5jbHVkZSAiV2ViQ29yZVR5cGVkQXJyYXlDb250cm9sbGVyLmgiCi0jaW5jbHVkZSA8d3Rm
L0hhc2hTZXQuaD4KLSNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+Ci0KLSNpZiBFTkFCTEUoU1RSRUFN
U19BUEkpCi0jaW5jbHVkZSAiQnl0ZUxlbmd0aFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zV3JhcHBl
ci5oIgotI2luY2x1ZGUgIkNvdW50UXVldWluZ1N0cmF0ZWd5QnVpbHRpbnNXcmFwcGVyLmgiCi0j
aW5jbHVkZSAiUmVhZGFibGVTdHJlYW1CdWlsdGluc1dyYXBwZXIuaCIKLSNpbmNsdWRlICJSZWFk
YWJsZVN0cmVhbUNvbnRyb2xsZXJCdWlsdGluc1dyYXBwZXIuaCIKLSNpbmNsdWRlICJSZWFkYWJs
ZVN0cmVhbUludGVybmFsc0J1aWx0aW5zV3JhcHBlci5oIgotI2luY2x1ZGUgIlJlYWRhYmxlU3Ry
ZWFtUmVhZGVyQnVpbHRpbnNXcmFwcGVyLmgiCi0jZW5kaWYKLQotbmFtZXNwYWNlIFdlYkNvcmUg
ewotCi1jbGFzcyBXZWJDb3JlSlNDbGllbnREYXRhIDogcHVibGljIEpTQzo6Vk06OkNsaWVudERh
dGEgewotICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYkNvcmVKU0NsaWVudERhdGEpOyBXVEZf
TUFLRV9GQVNUX0FMTE9DQVRFRDsKLSAgICBmcmllbmQgY2xhc3MgVk1Xb3JsZEl0ZXJhdG9yOwot
ICAgIGZyaWVuZCB2b2lkIGluaXROb3JtYWxXb3JsZENsaWVudERhdGEoSlNDOjpWTSopOwotCi1w
dWJsaWM6Ci0gICAgZXhwbGljaXQgV2ViQ29yZUpTQ2xpZW50RGF0YShKU0M6OlZNJiB2bSkKLSAg
ICAgICAgOiBtX2J1aWx0aW5OYW1lcygmdm0pCi0jaWYgRU5BQkxFKFNUUkVBTVNfQVBJKQotICAg
ICAgICAsIG1fcmVhZGFibGVTdHJlYW1CdWlsdGlucygmdm0pCi0gICAgICAgICwgbV9yZWFkYWJs
ZVN0cmVhbUNvbnRyb2xsZXJCdWlsdGlucygmdm0pCi0gICAgICAgICwgbV9yZWFkYWJsZVN0cmVh
bUludGVybmFsc0J1aWx0aW5zKCZ2bSkKLSAgICAgICAgLCBtX3JlYWRhYmxlU3RyZWFtUmVhZGVy
QnVpbHRpbnMoJnZtKQotICAgICAgICAsIG1fYnl0ZUxlbmd0aFF1ZXVpbmdTdHJhdGVneUJ1aWx0
aW5zKCZ2bSkKLSAgICAgICAgLCBtX2NvdW50UXVldWluZ1N0cmF0ZWd5QnVpbHRpbnMoJnZtKQot
I2VuZGlmCi0gICAgewotI2lmIEVOQUJMRShTVFJFQU1TX0FQSSkKLSAgICAgICAgbV9yZWFkYWJs
ZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmV4cG9ydE5hbWVzKCk7Ci0jZW5kaWYKLSAgICB9Ci0K
LSAgICB2aXJ0dWFsIH5XZWJDb3JlSlNDbGllbnREYXRhKCkKLSAgICB7Ci0gICAgICAgIEFTU0VS
VChtX3dvcmxkU2V0LmNvbnRhaW5zKG1fbm9ybWFsV29ybGQuZ2V0KCkpKTsKLSAgICAgICAgQVNT
RVJUKG1fd29ybGRTZXQuc2l6ZSgpID09IDEpOwotICAgICAgICBBU1NFUlQobV9ub3JtYWxXb3Js
ZC0+aGFzT25lUmVmKCkpOwotICAgICAgICBtX25vcm1hbFdvcmxkID0gbnVsbHB0cjsKLSAgICAg
ICAgQVNTRVJUKG1fd29ybGRTZXQuaXNFbXB0eSgpKTsKLSAgICB9Ci0KLSAgICBET01XcmFwcGVy
V29ybGQmIG5vcm1hbFdvcmxkKCkgeyByZXR1cm4gKm1fbm9ybWFsV29ybGQ7IH0KLQotICAgIHZv
aWQgZ2V0QWxsV29ybGRzKFZlY3RvcjxSZWY8RE9NV3JhcHBlcldvcmxkPj4mIHdvcmxkcykKLSAg
ICB7Ci0gICAgICAgIEFTU0VSVCh3b3JsZHMuaXNFbXB0eSgpKTsKLQotICAgICAgICB3b3JsZHMu
cmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShtX3dvcmxkU2V0LnNpemUoKSk7Ci0gICAgICAgIGZvciAo
YXV0byBpdCA9IG1fd29ybGRTZXQuYmVnaW4oKSwgZW5kID0gbV93b3JsZFNldC5lbmQoKTsgaXQg
IT0gZW5kOyArK2l0KQotICAgICAgICAgICAgd29ybGRzLnVuY2hlY2tlZEFwcGVuZCgqKCppdCkp
OwotICAgIH0KLQotICAgIHZvaWQgcmVtZW1iZXJXb3JsZChET01XcmFwcGVyV29ybGQmIHdvcmxk
KQotICAgIHsKLSAgICAgICAgQVNTRVJUKCFtX3dvcmxkU2V0LmNvbnRhaW5zKCZ3b3JsZCkpOwot
ICAgICAgICBtX3dvcmxkU2V0LmFkZCgmd29ybGQpOwotICAgIH0KLQotICAgIHZvaWQgZm9yZ2V0
V29ybGQoRE9NV3JhcHBlcldvcmxkJiB3b3JsZCkKLSAgICB7Ci0gICAgICAgIEFTU0VSVChtX3dv
cmxkU2V0LmNvbnRhaW5zKCZ3b3JsZCkpOwotICAgICAgICBtX3dvcmxkU2V0LnJlbW92ZSgmd29y
bGQpOwotICAgIH0KLQotICAgIFdlYkNvcmVCdWlsdGluTmFtZXMmIGJ1aWx0aW5OYW1lcygpIHsg
cmV0dXJuIG1fYnVpbHRpbk5hbWVzOyB9Ci0KLSNpZiBFTkFCTEUoU1RSRUFNU19BUEkpCi0gICAg
UmVhZGFibGVTdHJlYW1CdWlsdGluc1dyYXBwZXImIHJlYWRhYmxlU3RyZWFtQnVpbHRpbnMoKSB7
IHJldHVybiBtX3JlYWRhYmxlU3RyZWFtQnVpbHRpbnM7IH0KLSAgICBSZWFkYWJsZVN0cmVhbUNv
bnRyb2xsZXJCdWlsdGluc1dyYXBwZXImIHJlYWRhYmxlU3RyZWFtQ29udHJvbGxlckJ1aWx0aW5z
KCkgeyByZXR1cm4gbV9yZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXJCdWlsdGluczsgfQotICAgIFJl
YWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnNXcmFwcGVyJiByZWFkYWJsZVN0cmVhbUludGVy
bmFsc0J1aWx0aW5zKCkgeyByZXR1cm4gbV9yZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5z
OyB9Ci0gICAgUmVhZGFibGVTdHJlYW1SZWFkZXJCdWlsdGluc1dyYXBwZXImIHJlYWRhYmxlU3Ry
ZWFtUmVhZGVyQnVpbHRpbnMoKSB7IHJldHVybiBtX3JlYWRhYmxlU3RyZWFtUmVhZGVyQnVpbHRp
bnM7IH0KLSAgICBCeXRlTGVuZ3RoUXVldWluZ1N0cmF0ZWd5QnVpbHRpbnNXcmFwcGVyJiBieXRl
TGVuZ3RoUXVldWluZ1N0cmF0ZWd5QnVpbHRpbnMoKSB7IHJldHVybiBtX2J5dGVMZW5ndGhRdWV1
aW5nU3RyYXRlZ3lCdWlsdGluczsgfQotICAgIENvdW50UXVldWluZ1N0cmF0ZWd5QnVpbHRpbnNX
cmFwcGVyJiBjb3VudFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zKCkgeyByZXR1cm4gbV9jb3VudFF1
ZXVpbmdTdHJhdGVneUJ1aWx0aW5zOyB9Ci0jZW5kaWYKLQotcHJpdmF0ZToKLSAgICBIYXNoU2V0
PERPTVdyYXBwZXJXb3JsZCo+IG1fd29ybGRTZXQ7Ci0gICAgUmVmUHRyPERPTVdyYXBwZXJXb3Js
ZD4gbV9ub3JtYWxXb3JsZDsKLQotICAgIFdlYkNvcmVCdWlsdGluTmFtZXMgbV9idWlsdGluTmFt
ZXM7Ci0KLSNpZiBFTkFCTEUoU1RSRUFNU19BUEkpCi0gICAgUmVhZGFibGVTdHJlYW1CdWlsdGlu
c1dyYXBwZXIgbV9yZWFkYWJsZVN0cmVhbUJ1aWx0aW5zOwotICAgIFJlYWRhYmxlU3RyZWFtQ29u
dHJvbGxlckJ1aWx0aW5zV3JhcHBlciBtX3JlYWRhYmxlU3RyZWFtQ29udHJvbGxlckJ1aWx0aW5z
OwotICAgIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnNXcmFwcGVyIG1fcmVhZGFibGVT
dHJlYW1JbnRlcm5hbHNCdWlsdGluczsKLSAgICBSZWFkYWJsZVN0cmVhbVJlYWRlckJ1aWx0aW5z
V3JhcHBlciBtX3JlYWRhYmxlU3RyZWFtUmVhZGVyQnVpbHRpbnM7Ci0gICAgQnl0ZUxlbmd0aFF1
ZXVpbmdTdHJhdGVneUJ1aWx0aW5zV3JhcHBlciBtX2J5dGVMZW5ndGhRdWV1aW5nU3RyYXRlZ3lC
dWlsdGluczsKLSAgICBDb3VudFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zV3JhcHBlciBtX2NvdW50
UXVldWluZ1N0cmF0ZWd5QnVpbHRpbnM7Ci0jZW5kaWYKLX07Ci0KLWlubGluZSB2b2lkIGluaXRO
b3JtYWxXb3JsZENsaWVudERhdGEoSlNDOjpWTSogdm0pCi17Ci0gICAgV2ViQ29yZUpTQ2xpZW50
RGF0YSogd2ViQ29yZUpTQ2xpZW50RGF0YSA9IG5ldyBXZWJDb3JlSlNDbGllbnREYXRhKCp2bSk7
Ci0gICAgdm0tPmNsaWVudERhdGEgPSB3ZWJDb3JlSlNDbGllbnREYXRhOyAvLyB+Vk0gZGVsZXRl
cyB0aGlzIHBvaW50ZXIuCi0gICAgd2ViQ29yZUpTQ2xpZW50RGF0YS0+bV9ub3JtYWxXb3JsZCA9
IERPTVdyYXBwZXJXb3JsZDo6Y3JlYXRlKCp2bSwgdHJ1ZSk7Ci0gICAgdm0tPm1fdHlwZWRBcnJh
eUNvbnRyb2xsZXIgPSBhZG9wdFJlZihuZXcgV2ViQ29yZVR5cGVkQXJyYXlDb250cm9sbGVyKCkp
OwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBXZWJDb3JlSlNDbGll
bnREYXRhX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dvcmtlclNj
cmlwdENvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2Ny
aXB0Q29udHJvbGxlci5jcHAKaW5kZXggMGVhZTY0Y2VmZmVmZGViMGZmZTgwNjE5MWM0NzAyNDFk
NzllYWRjNC4uY2ZlODU3YWYyNzBhNjVjOTYxYjgyZTJiMjM5NGRjZGRhNzlmYTc5MSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxl
ci5jcHAKQEAgLTMxLDcgKzMxLDcgQEAKICNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKICNpbmNs
dWRlICJKU0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmgiCiAjaW5jbHVkZSAiU2NyaXB0U291
cmNlQ29kZS5oIgotI2luY2x1ZGUgIldlYkNvcmVKU0NsaWVudERhdGEuaCIKKyNpbmNsdWRlICJX
ZWJDb3JlQ2xpZW50RGF0YS5oIgogI2luY2x1ZGUgIldvcmtlckdsb2JhbFNjb3BlLmgiCiAjaW5j
bHVkZSAiV29ya2VyT2JqZWN0UHJveHkuaCIKICNpbmNsdWRlICJXb3JrZXJTY3JpcHREZWJ1Z1Nl
cnZlci5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZ2VuZXJhdGUtanMtYnVpbHRpbnMt
YWxsaW5vbmUgYi9Tb3VyY2UvV2ViQ29yZS9nZW5lcmF0ZS1qcy1idWlsdGlucy1hbGxpbm9uZQpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5iNzUwMDdlZWQyMGRiMTQ5MmE1MThkZmEyZDFkM2RjMmU3NDllOGZmCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZ2VuZXJhdGUtanMtYnVpbHRpbnMtYWxsaW5v
bmUKQEAgLTAsMCArMSwyMzMgQEAKKyMhL3Vzci9iaW4vcHl0aG9uCisjIENvcHlyaWdodCAoQykg
MjAxNSBDYW5vbiBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorIyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisjICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisjCisjIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorIyBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQor
IyBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyMgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IKKyMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisjIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyMgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
CisjIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKKyMgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisK
K2ltcG9ydCBhcmdwYXJzZQoraW1wb3J0IGZpbGVjbXAKK2ltcG9ydCBvcworaW1wb3J0IHJlCisK
K3NpbmdsZUxpbmVDb21tZW50UmVnRXhwID0gcmUuY29tcGlsZShyIlwvXC8gQC4qP1xuIiwgcmUu
TVVMVElMSU5FIHwgcmUuUykKKworZGVmIHJldHJpZXZlR2VuZXJhdGlvblBhcmFtZXRlcnMoaW5w
dXQpOgorICAgIHBhcmFtZXRlcnMgPSB7fQorICAgIHdpdGggb3BlbihpbnB1dCwgJ3InKSBhcyBp
bnB1dF9maWxlOgorICAgICAgICBjb250ZW50ID0gaW5wdXRfZmlsZS5yZWFkKCkKKyAgICAgICAg
Zm9yIG1hdGNoIGluIHNpbmdsZUxpbmVDb21tZW50UmVnRXhwLmZpbmRpdGVyKGNvbnRlbnQpOgor
ICAgICAgICAgICAgdmFsdWVzID0gY29udGVudFttYXRjaC5zdGFydCgpICsgNDptYXRjaC5lbmQo
KV0uc3BsaXQoJz0nKQorICAgICAgICAgICAgaWYgbGVuKHZhbHVlcykgPT0gMToKKyAgICAgICAg
ICAgICAgICBwYXJhbWV0ZXJzW3ZhbHVlc1swXS5zdHJpcCgpXSA9IFRydWUKKyAgICAgICAgICAg
IGVsaWYgbGVuICh2YWx1ZXMpID09IDI6CisgICAgICAgICAgICAgICAgcGFyYW1ldGVyc1t2YWx1
ZXNbMF0uc3RyaXAoKV0gPSB2YWx1ZXNbMV0uc3RyaXAoKQorICAgICAgICAgICAgZWxzZToKKyAg
ICAgICAgICAgICAgICBwcmludCgiU2tpcHBpbmcgcG90ZW50aWFsIGdlbmVyYXRpb24gcGFyYW1l
dGVyIGRpcmVjdGl2ZToiICUgdmFsdWVzLmpvaW4oJz0nKSkKKyAgICByZXR1cm4gcGFyYW1ldGVy
cworCisKK2RlZiByZXRyaWV2ZUZpbGVzV2l0aFBhcmFtZXRlcnMoaW5wdXRzKToKKyAgICBmaWxl
cyA9IFtdCisgICAgY2xhc3MgRmlsZUlucHV0OiBwYXNzCisgICAgZm9yIGlucHV0IGluIGlucHV0
czoKKyAgICAgICAgZmlsZV9pbnB1dCA9IEZpbGVJbnB1dCgpCisgICAgICAgIGZpbGVfaW5wdXQu
cGFyYW1ldGVycyA9IHJldHJpZXZlR2VuZXJhdGlvblBhcmFtZXRlcnMoaW5wdXQpCisgICAgICAg
IGZpbGVfaW5wdXQub3B0aW9uYWxpZiA9ICgiI2lmIEVOQUJMRSgiICsgZmlsZV9pbnB1dC5wYXJh
bWV0ZXJzWyJvcHRpb25hbCJdICsgIilcbiIpIGlmICJvcHRpb25hbCIgaW4gZmlsZV9pbnB1dC5w
YXJhbWV0ZXJzIGVsc2UgIiIKKyAgICAgICAgZmlsZV9pbnB1dC5vcHRpb25hbGVuZGlmID0gIiNl
bmRpZlxuIiBpZiAib3B0aW9uYWwiIGluIGZpbGVfaW5wdXQucGFyYW1ldGVycyBlbHNlICIiCisg
ICAgICAgIGZpbGVfaW5wdXQuZmlsZW5hbWUgPSBvcy5wYXRoLnNwbGl0ZXh0KG9zLnBhdGguYmFz
ZW5hbWUoaW5wdXQpKVswXQorICAgICAgICBmaWxlX2lucHV0Lm5hbWUgPSBmaWxlX2lucHV0LmZp
bGVuYW1lWzBdLmxvd2VyKCkgKyBmaWxlX2lucHV0LmZpbGVuYW1lWzE6XQorICAgICAgICBmaWxl
cy5hcHBlbmQoZmlsZV9pbnB1dCkKKyAgICByZXR1cm4gZmlsZXMKKworCitkZWYgd3JpdGVDb25k
aXRpb25hbCh3cml0ZXIsIGlucHV0X2ZpbGUsIHZhbHVlKToKKyAgICB3cml0ZXIud3JpdGUoaW5w
dXRfZmlsZS5vcHRpb25hbGlmKQorICAgIHdyaXRlci53cml0ZSh2YWx1ZSkKKyAgICB3cml0ZXIu
d3JpdGUoaW5wdXRfZmlsZS5vcHRpb25hbGVuZGlmKQorCisKK3BhcnNlciA9IGFyZ3BhcnNlLkFy
Z3VtZW50UGFyc2VyKCkKK3BhcnNlci5hZGRfYXJndW1lbnQoJy0tb3V0cHV0X2RpcicsIGRlZmF1
bHQ9JycsIGhlbHA9J291dHB1dCBkaXJlY3RvcnknKQorcGFyc2VyLmFkZF9hcmd1bWVudCgnaW5w
dXRzJywgbWV0YXZhcj0naW5wdXQnLCBuYXJncz0nKycsIGhlbHA9J3BhdGggdG8gaW5wdXQgSlMg
ZmlsZXMnKQorCithcmdzID0gcGFyc2VyLnBhcnNlX2FyZ3MoKQorZmlsZXMgPSByZXRyaWV2ZUZp
bGVzV2l0aFBhcmFtZXRlcnMoYXJncy5pbnB1dHMpCitpbnRlcm5hbHNfZmlsZXMgPSBbIGYgZm9y
IGYgaW4gZmlsZXMgaWYgImludGVybmFscyIgaW4gZi5wYXJhbWV0ZXJzIF0KKworYmFzZW5hbWUg
PSAiV2ViQ29yZUpTQnVpbHRpbnMiCitvdXRwdXRfYmFzZSA9IG9zLnBhdGguam9pbihhcmdzLm91
dHB1dF9kaXIsIGJhc2VuYW1lKQorcHJpdmF0ZV9vdXRwdXRfYmFzZSA9IG9zLnBhdGguam9pbihh
cmdzLm91dHB1dF9kaXIsICJQcml2YXRlIiArIGJhc2VuYW1lKQorCisKKyMgQ3JlYXRlIHdyaXRl
cnMKK2J1aWx0aW5zSGVhZGVyID0gb3BlbihvdXRwdXRfYmFzZSArICIuaC50bXAiLCAidyIpCiti
dWlsdGluc0ltcGxlbWVudGF0aW9uID0gb3BlbihvdXRwdXRfYmFzZSArICIuY3BwLnRtcCIsICJ3
IikKK3ByaXZhdGVCdWlsdGluc0hlYWRlciA9IG9wZW4ocHJpdmF0ZV9vdXRwdXRfYmFzZSArICIu
aC50bXAiLCAidyIpCisKK3ByZWFtYmxlID0gIiIiCisvKiBHZW5lcmF0ZWQgYnkgZ2VuZXJhdGUt
anMtYnVpbHRpbnMtYWxsaW5vbmUgZG8gbm90IGhhbmQgZWRpdC4gKi8KKworLyoKKyAqCisgKiAg
VGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu
ZC9vcgorICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2Vu
ZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChh
dCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogIFRoaXMgbGlicmFyeSBp
cyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogIGJ1
dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5
IG9mCisgKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFLiAgU2VlIHRoZSBHTlUKKyAqICBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3Ig
bW9yZSBkZXRhaWxzLgorICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m
IHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBhbG9uZyB3aXRoIHRo
aXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogIEZvdW5k
YXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEg
IDAyMTEwLTEzMDEgIFVTQQorICovCisKKyIiIgorCisjIyMjIyMjIyMjIyMjIyMKKyMgR2VuZXJh
dGlvbiBvZiBjcHAgZmlsZSBpbmNsdWRpbmcgYWxsIEpTIGJ1aWx0aW4gZ2VuZXJhdGVkIGNwcCBm
aWxlcyB3aXRoIG9wdGlvbmFsICNmZGVmIGRpcmVjdGl2ZXMgYXMgZGVmaW5lZCBieSBAZW5hYmxl
IGluIEpTIGZpbGVzLgorIyMjIyMjIyMjIyMjIyMjCitidWlsdGluc0ltcGxlbWVudGF0aW9uLndy
aXRlKHByZWFtYmxlKQorYnVpbHRpbnNJbXBsZW1lbnRhdGlvbi53cml0ZSgiI2luY2x1ZGUgXCJj
b25maWcuaFwiXG5cbiIpCisKKyMgSW5jbHVkaW5nIGNwcCBmaWxlcworZm9yIGlucHV0X2ZpbGUg
aW4gZmlsZXM6CisgICAgd3JpdGVDb25kaXRpb25hbChidWlsdGluc0ltcGxlbWVudGF0aW9uLCBp
bnB1dF9maWxlLCAiI2luY2x1ZGUgXCIiICsgaW5wdXRfZmlsZS5maWxlbmFtZSArICJCdWlsdGlu
cy5jcHBcIlxuIik7CisKK2J1aWx0aW5zSW1wbGVtZW50YXRpb24uY2xvc2UoKQorCisjIyMjIyMj
IyMjIyMjIyMKKyMgR2VuZXJhdGlvbiBvZiB3cmFwcGVyIGhlYWRlciBmaWxlIGRlZmluaW5nIGFj
Y2VzcyB0byBhbGwgYnVpbHRpbiBmdW5jdGlvbnMuCisjIyMjIyMjIyMjIyMjIyMKK2J1aWx0aW5z
SGVhZGVyLndyaXRlKHByZWFtYmxlKQorYnVpbHRpbnNIZWFkZXIud3JpdGUoIiNpZm5kZWYgIiAr
IGJhc2VuYW1lICsgIl9oXG4jZGVmaW5lICIgKyBiYXNlbmFtZSArICJfaFxuXG4iKQorCitmb3Ig
aW5wdXRfZmlsZSBpbiBmaWxlczoKKyAgICB3cml0ZUNvbmRpdGlvbmFsKGJ1aWx0aW5zSGVhZGVy
LCBpbnB1dF9maWxlLCAiI2luY2x1ZGUgXCIiICsgaW5wdXRfZmlsZS5maWxlbmFtZSArICJCdWls
dGluc1dyYXBwZXIuaFwiXG4iKTsKK2J1aWx0aW5zSGVhZGVyLndyaXRlKCIiIgorCisjaW5jbHVk
ZSA8cnVudGltZS9WTS5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFdlYkNvcmVC
dWlsdGluRnVuY3Rpb25zIHsKK3B1YmxpYzoKKyIiIikKKworIyBDb25zdHJ1Y3RvcgorYnVpbHRp
bnNIZWFkZXIud3JpdGUoIiAgICBleHBsaWNpdCBXZWJDb3JlQnVpbHRpbkZ1bmN0aW9ucyhKU0M6
OlZNJiB2KVxuICAgICAgICA6IHZtKHYpXG4iKTsKK2ZvciBpbnB1dF9maWxlIGluIGZpbGVzOgor
ICAgIHdyaXRlQ29uZGl0aW9uYWwoYnVpbHRpbnNIZWFkZXIsIGlucHV0X2ZpbGUsICIgICAgICAg
ICwgbV8iICsgaW5wdXRfZmlsZS5uYW1lICsgIkJ1aWx0aW5zKCZ2bSlcbiIpOworYnVpbHRpbnNI
ZWFkZXIud3JpdGUoIiAgICB7XG4iKTsKK2ZvciBpbnB1dF9maWxlIGluIGludGVybmFsc19maWxl
czoKKyAgICB3cml0ZUNvbmRpdGlvbmFsKGJ1aWx0aW5zSGVhZGVyLCBpbnB1dF9maWxlLCAiICAg
ICAgICBtXyIgKyBpbnB1dF9maWxlLm5hbWUgKyAiQnVpbHRpbnMuZXhwb3J0TmFtZXMoKTtcbiIp
OworYnVpbHRpbnNIZWFkZXIud3JpdGUoIiAgICB9XG4iKTsKKworIyBHZXR0ZXJzCitmb3IgaW5w
dXRfZmlsZSBpbiBmaWxlczoKKyAgICB3cml0ZUNvbmRpdGlvbmFsKGJ1aWx0aW5zSGVhZGVyLCBp
bnB1dF9maWxlLCAiICAgICIgKyBpbnB1dF9maWxlLmZpbGVuYW1lICsgIkJ1aWx0aW5zV3JhcHBl
ciYgIiArIGlucHV0X2ZpbGUubmFtZSAgKyAiQnVpbHRpbnMoKSB7IHJldHVybiBtXyIgKyBpbnB1
dF9maWxlLm5hbWUgICsgIkJ1aWx0aW5zO31cbiIpOworCisjIERlY2xhcmF0aW9ucworYnVpbHRp
bnNIZWFkZXIud3JpdGUoIiIicHJpdmF0ZToKKyAgICBKU0M6OlZNJiB2bTtcbiIiIik7Citmb3Ig
aW5wdXRfZmlsZSBpbiBmaWxlczoKKyAgICB3cml0ZUNvbmRpdGlvbmFsKGJ1aWx0aW5zSGVhZGVy
LCBpbnB1dF9maWxlLCAiICAgICIgKyBpbnB1dF9maWxlLmZpbGVuYW1lICsgIkJ1aWx0aW5zV3Jh
cHBlciBtXyIgKyBpbnB1dF9maWxlLm5hbWUgICsgIkJ1aWx0aW5zO1xuIik7CisKK2J1aWx0aW5z
SGVhZGVyLndyaXRlKCIiIgorfTsKKworfQorCisjZW5kaWYKKyIiIik7CisKK2J1aWx0aW5zSGVh
ZGVyLmNsb3NlKCkKKworIyMjIyMjIyMjIyMjIyMjCisjIEdlbmVyYXRpb24gb2YgY2xhc3Mgd3Jh
cHBpbmcgYWxsIGZ1bmN0aW9ucyBvZiBKUyBmaWxlcyBtYXJrZWQgYXMgQGludGVybmFscy4KKyMj
IyMjIyMjIyMjIyMjIworcHJpdmF0ZUJ1aWx0aW5zSGVhZGVyLndyaXRlKHByZWFtYmxlKQorcHJp
dmF0ZUJ1aWx0aW5zSGVhZGVyLndyaXRlKCIjaWZuZGVmIFByaXZhdGUiICsgYmFzZW5hbWUgKyAi
X2hcbiNkZWZpbmUgUHJpdmF0ZSIgKyBiYXNlbmFtZSArICJfaFxuXG4iKQorCisjIEluY2x1ZGlu
ZyBhbGwgbmVjZXNzcmFyeSB3cmFwcGVyIGhlYWRlcnMuCitmb3IgaW5wdXRfZmlsZSBpbiBpbnRl
cm5hbHNfZmlsZXM6CisgICAgd3JpdGVDb25kaXRpb25hbChwcml2YXRlQnVpbHRpbnNIZWFkZXIs
IGlucHV0X2ZpbGUsICIjaW5jbHVkZSBcIiIgKyBpbnB1dF9maWxlLmZpbGVuYW1lICsgIkJ1aWx0
aW5zV3JhcHBlci5oXCJcbiIpCisKKyMgQ2xhc3MgZGVmaW5pdGlvbgorcHJpdmF0ZUJ1aWx0aW5z
SGVhZGVyLndyaXRlKCIiIgorbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBQcml2YXRlV2Vi
Q29yZUJ1aWx0aW5GdW5jdGlvbnMgeworcHVibGljOgorIiIiKQorCisjIENvbnN0cnVjdG9yCitw
cml2YXRlQnVpbHRpbnNIZWFkZXIud3JpdGUoIiIiZXhwbGljaXQgUHJpdmF0ZVdlYkNvcmVCdWls
dGluRnVuY3Rpb25zKEpTQzo6Vk0mIHYpXG4gICAgICAgIDogdm0odilcbiIiIikKK2ZvciBpbnB1
dF9maWxlIGluIGludGVybmFsc19maWxlczoKKyAgICB3cml0ZUNvbmRpdGlvbmFsKHByaXZhdGVC
dWlsdGluc0hlYWRlciwgaW5wdXRfZmlsZSwgIiAgICAgICAgLCBtXyIgKyBpbnB1dF9maWxlLm5h
bWUgKyAiRnVuY3Rpb25zKHZtKVxuIikKK3ByaXZhdGVCdWlsdGluc0hlYWRlci53cml0ZSgiICAg
IHsgfVxuXG4iKQorCisjIEdldHRlcnMKK2ZvciBpbnB1dF9maWxlIGluIGludGVybmFsc19maWxl
czoKKyAgICB3cml0ZUNvbmRpdGlvbmFsKHByaXZhdGVCdWlsdGluc0hlYWRlciwgaW5wdXRfZmls
ZSwgIiAgICAiICsgaW5wdXRfZmlsZS5maWxlbmFtZSArICJCdWlsdGluRnVuY3Rpb25zICIgKyBp
bnB1dF9maWxlLm5hbWUgKyAiKCkgeyByZXR1cm4gbV8iICsgaW5wdXRfZmlsZS5uYW1lICsgIkZ1
bmN0aW9uczsgfVxuIikKKworIyBWaXNpdG9yIHdyYXBwZXIgcm91dGluZQorcHJpdmF0ZUJ1aWx0
aW5zSGVhZGVyLndyaXRlKCIgICAgdm9pZCB2aXNpdChKU0M6OlNsb3RWaXNpdG9yJiB2aXNpdG9y
KSB7XG4iKQorZm9yIGlucHV0X2ZpbGUgaW4gaW50ZXJuYWxzX2ZpbGVzOgorICAgIHdyaXRlQ29u
ZGl0aW9uYWwocHJpdmF0ZUJ1aWx0aW5zSGVhZGVyLCBpbnB1dF9maWxlLCAiICAgICAgICBtXyIg
KyBpbnB1dF9maWxlLm5hbWUgKyAiRnVuY3Rpb25zLnZpc2l0KHZpc2l0b3IpO1xuIikKK3ByaXZh
dGVCdWlsdGluc0hlYWRlci53cml0ZSgiICAgIH1cbiIpCisKKyMgSW5pdCB3cmFwcGVyIHJvdXRp
bmUKK3ByaXZhdGVCdWlsdGluc0hlYWRlci53cml0ZSgiICAgIHZvaWQgaW5pdChKU0M6OkpTR2xv
YmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpIHtcbiIpCitmb3IgaW5wdXRfZmlsZSBpbiBpbnRlcm5h
bHNfZmlsZXM6CisgICAgd3JpdGVDb25kaXRpb25hbChwcml2YXRlQnVpbHRpbnNIZWFkZXIsIGlu
cHV0X2ZpbGUsICIgICAgICAgIG1fIiArIGlucHV0X2ZpbGUubmFtZSArICJGdW5jdGlvbnMuaW5p
dChnbG9iYWxPYmplY3QpO1xuIikKK3ByaXZhdGVCdWlsdGluc0hlYWRlci53cml0ZSgiICAgIH1c
biIpCisKKyMgUHJpdmF0ZSBtZW1iZXIgZmllbGRzCitwcml2YXRlQnVpbHRpbnNIZWFkZXIud3Jp
dGUoIiIiCitwcml2YXRlOgorICAgIEpTQzo6Vk0mIHZtO1xuIiIiKQorZm9yIGlucHV0X2ZpbGUg
aW4gaW50ZXJuYWxzX2ZpbGVzOgorICAgIHdyaXRlQ29uZGl0aW9uYWwocHJpdmF0ZUJ1aWx0aW5z
SGVhZGVyLCBpbnB1dF9maWxlLCAiICAgICAiICsgaW5wdXRfZmlsZS5maWxlbmFtZSArICJCdWls
dGluRnVuY3Rpb25zIG1fIiArIGlucHV0X2ZpbGUubmFtZSArICJGdW5jdGlvbnM7XG4iKQorCitw
cml2YXRlQnVpbHRpbnNIZWFkZXIud3JpdGUoIiIiCit9OworCit9CisjZW5kaWYKKyIiIikKKwor
cHJpdmF0ZUJ1aWx0aW5zSGVhZGVyLmNsb3NlKCkKKworZGVmIGNvcHl0ZW1wZmlsZShvdXRwdXQp
OgorICAgIGlmIChub3Qgb3MucGF0aC5leGlzdHMob3V0cHV0KSkgb3IgKG5vdCBmaWxlY21wLmNt
cChvdXRwdXQgKyAiLnRtcCIsIG91dHB1dCwgc2hhbGxvdz1GYWxzZSkpOgorICAgICAgICBpZiAo
b3MucGF0aC5leGlzdHMob3V0cHV0KSk6CisgICAgICAgICAgICBvcy5yZW1vdmUob3V0cHV0KQor
ICAgICAgICBvcy5yZW5hbWUob3V0cHV0ICsgIi50bXAiLCBvdXRwdXQpCisgICAgZWxzZToKKyAg
ICAgICAgb3MucmVtb3ZlKG91dHB1dCArICIudG1wIikKKworY29weXRlbXBmaWxlKG91dHB1dF9i
YXNlICsgIi5oIikKK2NvcHl0ZW1wZmlsZShvdXRwdXRfYmFzZSArICIuY3BwIikKK2NvcHl0ZW1w
ZmlsZShwcml2YXRlX291dHB1dF9iYXNlICsgIi5oIikK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>262593</attachid>
            <date>2015-10-07 04:14:18 -0700</date>
            <delta_ts>2015-10-07 05:00:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149751-20151007131345.patch</filename>
            <type>text/plain</type>
            <size>49120</size>
            <attacher name="Xabier Rodríguez Calvar">calvaris</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkwNjYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
MDQ3NWY2ZTRiZTc2YWY3MGZkNDY2YjY3ZGRkNDMzMjE5OGU5YTk2Li43MmRiMmVlMTExZGVlYzBk
MzQyZTBjOWRlYTNkNzY0MTM0M2Y5NTVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxNS0xMC0wNyAgWGFiaWVyIFJvZHJpZ3VleiBDYWx2YXIgIDxjYWx2YXJp
c0BpZ2FsaWEuY29tPiBhbmQgWW91ZW5uIEZhYmxldCAgPHlvdWVubi5mYWJsZXRAY3JmLmNhbm9u
LmZyPgorCisgICAgICAgIEF1dG9tYXRlIFdlYkNvcmUgSlMgYnVpbHRpbnMgZ2VuZXJhdGlvbiBh
bmQgYnVpbGQgc3lzdGVtCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNDk3NTEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIGdlbmVyYXRlLWpzLWJ1aWx0aW5zOiB1cGRhdGluZyB0aGUgcGFydCByZWxhdGVk
IHRvIFdlYkNvcmUgSlMgYmluZGluZy4KKwogMjAxNS0xMC0wNiAgTWFyayBMYW0gIDxtYXJrLmxh
bUBhcHBsZS5jb20+CiAKICAgICAgICAgRmFjdG9yaW5nIG91dCBvcF9zdWIgYmFzZWxpbmUgY29k
ZSBnZW5lcmF0aW9uIGludG8gSklUU3ViR2VuZXJhdG9yLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDQ3YjRmZjhk
YjA0NzBiOWE1ODE3MDg4MTMyZmUxMzAyODcxYjU0MmEuLmNkNzVlNzljYWNlZmU4Mzg4MzkzNjIw
MDRmZTExODkyYWZjZTEzMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw3MCBAQAorMjAxNS0xMC0w
NyAgWGFiaWVyIFJvZHJpZ3VleiBDYWx2YXIgIDxjYWx2YXJpc0BpZ2FsaWEuY29tPiBhbmQgWW91
ZW5uIEZhYmxldCAgPHlvdWVubi5mYWJsZXRAY3JmLmNhbm9uLmZyPgorCisgICAgICAgIEF1dG9t
YXRlIFdlYkNvcmUgSlMgYnVpbHRpbnMgZ2VuZXJhdGlvbiBhbmQgYnVpbGQgc3lzdGVtCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDk3NTEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRpbmcgYW5ub3Rh
dGlvbnMgdG8gSlMgZmlsZXMgdG8ga25vdyB3aGV0aGVyIHRoZXkgc2hvdWxkIGJlIHVuZGVyIGEg
Y29tcGlsYXRpb24gZmxhZyBhbmQKKyAgICAgICAgd2hldGhlciB0aGV5IGFyZSBKUyBpbnRlcm5h
bHMgb3IgSlMgdGllZCB0byBXZWJJREwuCisgICAgICAgIElmIGEgZmlsZSBpcyBzYWlkIGFzIEpT
IGludGVybmFscywgYWxsIGZ1bmN0aW9uIG5hbWVzIGFyZSBleHBvcnRlZCBhdXRvbWF0aWNhbGx5
LgorICAgICAgICBBZGRlZCBhdXRvIGdlbmVyYXRpb24gb2YgV2ViQ29yZUpTQnVpbHRpbnMuY3Bw
CisgICAgICAgIEFkZGVkIGF1dG8gZ2VuZXJhdGlvbiBvZiBKU0J1aWx0aW5GdW5jdGlvbnMgY2xh
c3MgaW5zaWRlIFdlYkNvcmVKU0J1aWx0aW5zIHRoYXQgdGFrZXMgdGhlIHJvbGUgb2YKKyAgICAg
ICAgV2ViQ29yZUpTQ2xpZW50RGF0YSBhcyB3cmFwcGVyIGZvciBidWlsdGlucy4gUmVuYW1lZCBX
ZWJDb3JlSlNDbGllbnREYXRhIHRvIEpTQ2xpZW50RGF0YS4KKyAgICAgICAgQWRkZWQgYXV0byBn
ZW5lcmF0aW9uIG9mIFByaXZhdGVXZWJDb3JlSlNCdWlsdGlucyB0aGF0IGlzIGEgd3JhcHBlciBh
cm91bmQgYWxsIHByaXZhdGUgZnVuY3Rpb25zLCB1c2VkIGJ5CisgICAgICAgIEpTRE9NV2luZG93
QmFzZS4gVGhlIGNsYXNzIGlzIG5hbWVkIEpTQnVpbHRpbkludGVybmFsRnVuY3Rpb25zLgorCisg
ICAgICAgIFRoZSByZW1haW5pbmcgbWFudWFsIHBhcnQgZm9yIHByaXZhdGUgZnVuY3Rpb25zIGlz
IHRoZSBwYWlyaW5nIGJldHdlZW4gcHJpdmF0ZSBpZGVudGlmaWVycyBhbmQKKyAgICAgICAgdGhl
IHByaXZhdGUgSlMgZnVuY3Rpb25zIHdpdGhpbiBKU0RPTVdpbmRvd0Jhc2U6OmZpbmlzaENyZWF0
aW9uLgorCisgICAgICAgIENvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAgKiBD
TWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAq
IE1vZHVsZXMvc3RyZWFtcy9CeXRlTGVuZ3RoUXVldWluZ1N0cmF0ZWd5LmpzOgorICAgICAgICAq
IE1vZHVsZXMvc3RyZWFtcy9Db3VudFF1ZXVpbmdTdHJhdGVneS5qczoKKyAgICAgICAgKiBNb2R1
bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW0uanM6CisgICAgICAgICogTW9kdWxlcy9zdHJlYW1z
L1JlYWRhYmxlU3RyZWFtSW50ZXJuYWxzLmpzOgorICAgICAgICAqIFdlYkNvcmUub3JkZXI6Cisg
ICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvajoKKyAgICAgICAgKiBXZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvRE9N
V3JhcHBlcldvcmxkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdyYXBwZXJXb3JsZDo6RE9N
V3JhcHBlcldvcmxkKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdyYXBwZXJXb3JsZDo6fkRPTVdy
YXBwZXJXb3JsZCk6CisgICAgICAgIChXZWJDb3JlOjpub3JtYWxXb3JsZCk6CisgICAgICAgICog
YmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9N
V2luZG93QmFzZTo6SlNET01XaW5kb3dCYXNlKToKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2lu
ZG93QmFzZTo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3dC
YXNlOjp2aXNpdENoaWxkcmVuKToKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93QmFzZTo6
ZmlyZUZyYW1lQ2xlYXJlZFdhdGNocG9pbnRzRm9yV2luZG93KToKKyAgICAgICAgKiBiaW5kaW5n
cy9qcy9KU0RPTVdpbmRvd0Jhc2UuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRDb250
cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdENvbnRyb2xsZXI6OmdldEFsbFdv
cmxkcyk6CisgICAgICAgICogYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6dHJhbnNmZXJBcnJheUJ1
ZmZlcnMpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVKU0NsaWVudERhdGEuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OkpTQ2xpZW50RGF0YTo6SlNDbGllbnREYXRhKToKKyAgICAgICAgKFdl
YkNvcmU6OkpTQ2xpZW50RGF0YTo6fkpTQ2xpZW50RGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpK
U0NsaWVudERhdGE6OmJ1aWx0aW5GdW5jdGlvbnMpOgorICAgICAgICAoV2ViQ29yZTo6aW5pdE5v
cm1hbFdvcmxkQ2xpZW50RGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJDb3JlSlNDbGllbnRE
YXRhOjpXZWJDb3JlSlNDbGllbnREYXRhKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6Oldl
YkNvcmVKU0NsaWVudERhdGE6On5XZWJDb3JlSlNDbGllbnREYXRhKTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OldlYkNvcmVKU0NsaWVudERhdGE6OnJlYWRhYmxlU3RyZWFtQnVpbHRpbnMp
OiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6V2ViQ29yZUpTQ2xpZW50RGF0YTo6cmVhZGFi
bGVTdHJlYW1Db250cm9sbGVyQnVpbHRpbnMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6
V2ViQ29yZUpTQ2xpZW50RGF0YTo6cmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucyk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXZWJDb3JlSlNDbGllbnREYXRhOjpyZWFkYWJsZVN0
cmVhbVJlYWRlckJ1aWx0aW5zKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldlYkNvcmVK
U0NsaWVudERhdGE6OmJ5dGVMZW5ndGhRdWV1aW5nU3RyYXRlZ3lCdWlsdGlucyk6IERlbGV0ZWQu
CisgICAgICAgIChXZWJDb3JlOjpXZWJDb3JlSlNDbGllbnREYXRhOjpjb3VudFF1ZXVpbmdTdHJh
dGVneUJ1aWx0aW5zKTogRGVsZXRlZC4KKyAgICAgICAgKiBnZW5lcmF0ZS1qcy1idWlsdGlucy1h
bGxpbm9uZTogQWRkZWQuCisgICAgICAgIChyZXRyaWV2ZUdlbmVyYXRpb25QYXJhbWV0ZXJzKToK
KyAgICAgICAgKHJldHJpZXZlRmlsZXNXaXRoUGFyYW1ldGVycyk6CisgICAgICAgIChyZXRyaWV2
ZUZpbGVzV2l0aFBhcmFtZXRlcnMuRmlsZUlucHV0KToKKyAgICAgICAgKHdyaXRlQ29uZGl0aW9u
YWwpOgorICAgICAgICAoSlNCdWlsdGluRnVuY3Rpb25zKToKKyAgICAgICAgKFByaXZhdGUpOgor
ICAgICAgICAoSlNCdWlsdGluSW50ZXJuYWxGdW5jdGlvbnMpOgorICAgICAgICAoY29weXRlbXBm
aWxlKToKKwogMjAxNS0xMC0wNyAgQ2hhbmdTZW9rIE9oICA8Y2hhbmdzZW9rLm9oQGNvbGxhYm9y
YS5jb20+CiAKICAgICAgICAgW0dUS10gUHJvZ3Jlc3MgYmFyIGlzIGJyb2tlbiBvbiByZWNlbnQg
R1RLKwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2dlbmVyYXRlLWpzLWJ1aWx0
aW5zIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2dlbmVyYXRlLWpzLWJ1aWx0aW5zCmluZGV4IGIy
ODQxZjRkMmEzZmJmMGJjYWJkZWZlNmNhMDNhYWE0ZDc5YTI2M2YuLmE5ZGUxZDgyOTFjZmE0MTQ2
NjhkOThhMGExYzI3YWI3NjMxNzM4OWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9nZW5lcmF0ZS1qcy1idWlsdGlucworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZ2VuZXJh
dGUtanMtYnVpbHRpbnMKQEAgLTMxNCw4ICszMTQsOCBAQCBpZiAobmFtZXNwYWNlID09ICJKU0Mi
KToKIGVsc2U6CiAgICAgYnVpbHRpbk5hbWUgPSBzY29wZU5hbWVbMF0ubG93ZXIoKSArIHNjb3Bl
TmFtZVsxOl0KICAgICBidWlsdGluc0ltcGxlbWVudGF0aW9uLndyaXRlKCIiIntcXAotICAgIFdl
YkNvcmVKU0NsaWVudERhdGEqIGNsaWVudERhdGEgPSBzdGF0aWNfY2FzdDxXZWJDb3JlSlNDbGll
bnREYXRhKj4odm0uY2xpZW50RGF0YSk7IFxcCi0gICAgcmV0dXJuIGNsaWVudERhdGEtPiVzKCku
Y29kZU5hbWUjI0V4ZWN1dGFibGUoKS0+bGluayh2bSwgY2xpZW50RGF0YS0+JXMoKS5jb2RlTmFt
ZSMjU291cmNlKCkpOyBcXAorICAgIEpTQ2xpZW50RGF0YSogY2xpZW50RGF0YSA9IHN0YXRpY19j
YXN0PEpTQ2xpZW50RGF0YSo+KHZtLmNsaWVudERhdGEpOyBcXAorICAgIHJldHVybiBjbGllbnRE
YXRhLT5idWlsdGluRnVuY3Rpb25zKCkuJXMoKS5jb2RlTmFtZSMjRXhlY3V0YWJsZSgpLT5saW5r
KHZtLCBjbGllbnREYXRhLT5idWlsdGluRnVuY3Rpb25zKCkuJXMoKS5jb2RlTmFtZSMjU291cmNl
KCkpOyBcXAogIiIiJSAoYnVpbHRpbk5hbWUsIGJ1aWx0aW5OYW1lKSkKIAogYnVpbHRpbnNJbXBs
ZW1lbnRhdGlvbi53cml0ZSgiIiJ9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxp
c3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGI0NTViYzgyODM4
MDBkZDQ0ZGE3MzVkMjBhMjY2MzM5N2EzNTA4M2IuLjNhZGIyM2Y1YzE0ZWUxYTNmYTMyMzE4MWEw
OGYxNDIzYTg2NmVlOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0xMjQyLDcgKzEyNDIsNiBA
QCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgYmluZGluZ3MvanMvU2NyaXB0R2xvYmFsT2JqZWN0
LmNwcAogICAgIGJpbmRpbmdzL2pzL1NjcmlwdFN0YXRlLmNwcAogICAgIGJpbmRpbmdzL2pzL1Nl
cmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAKLSAgICBiaW5kaW5ncy9qcy9XZWJDb3JlSlNCdWlsdGlu
cy5jcHAKICAgICBiaW5kaW5ncy9qcy9XZWJDb3JlVHlwZWRBcnJheUNvbnRyb2xsZXIuY3BwCiAg
ICAgYmluZGluZ3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5jcHAKICAgICBiaW5kaW5ncy9q
cy9Xb3JrZXJTY3JpcHREZWJ1Z1NlcnZlci5jcHAKQEAgLTM1OTMsNiArMzU5MiwxNyBAQCBmb3Jl
YWNoIChfYnVpbHRpbmpzICR7V0VCQ09SRV9KU19CVUlMVElOU30pCiAgICAgKQogICAgIEFERF9T
T1VSQ0VfV0VCQ09SRV9ERVJJVkVEX0RFUEVOREVOQ0lFUygke1dFQkNPUkVfRElSfS9iaW5kaW5n
cy9qcy9XZWJDb3JlSlNCdWlsdGlucy5jcHAgJHtfbmFtZX1CdWlsdGlucy5jcHApCiBlbmRmb3Jl
YWNoICgpCithZGRfY3VzdG9tX2NvbW1hbmQoCisgICAgT1VUUFVUICR7REVSSVZFRF9TT1VSQ0VT
X1dFQkNPUkVfRElSfS9Qcml2YXRlV2ViQ29yZUpTQnVpbHRpbnMuaCAke0RFUklWRURfU09VUkNF
U19XRUJDT1JFX0RJUn0vV2ViQ29yZUpTQnVpbHRpbnMuaCAke0RFUklWRURfU09VUkNFU19XRUJD
T1JFX0RJUn0vV2ViQ29yZUpTQnVpbHRpbnMuY3BwCisgICAgTUFJTl9ERVBFTkRFTkNZICR7Q01B
S0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9nZW5lcmF0ZS1qcy1idWlsdGlucy1hbGxpbm9uZQorICAg
IERFUEVORFMgJHtXZWJDb3JlX0dFTkVSQVRFX0pTX0JVSUxUSU5TX1NDUklQVFNfRElSfS9nZW5l
cmF0ZS1qcy1idWlsdGlucworICAgIENPTU1BTkQgJHtQWVRIT05fRVhFQ1VUQUJMRX0gJHtDTUFL
RV9DVVJSRU5UX1NPVVJDRV9ESVJ9L2dlbmVyYXRlLWpzLWJ1aWx0aW5zLWFsbGlub25lICR7V0VC
Q09SRV9KU19CVUlMVElOU30gLS1vdXRwdXRfZGlyICR7REVSSVZFRF9TT1VSQ0VTX1dFQkNPUkVf
RElSfQorICAgIFZFUkJBVElNKQorbGlzdChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCisgICAgJHtE
RVJJVkVEX1NPVVJDRVNfV0VCQ09SRV9ESVJ9L1ByaXZhdGVXZWJDb3JlSlNCdWlsdGlucy5oCisg
ICAgJHtERVJJVkVEX1NPVVJDRVNfV0VCQ09SRV9ESVJ9L1dlYkNvcmVKU0J1aWx0aW5zLmgKKyAg
ICAke0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vV2ViQ29yZUpTQnVpbHRpbnMuY3BwCisp
CiAKIEFERF9TT1VSQ0VfV0VCQ09SRV9ERVJJVkVEX0RFUEVOREVOQ0lFUygke1dFQkNPUkVfRElS
fS9odG1sL0hUTUxUcmVlQnVpbGRlci5jcHAgTWF0aE1MTmFtZXMuY3BwKQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMubWFrZQppbmRleCA0NjY1NGYyYWQzMTg4OWRiMzQyNTdiZmQ4YzhmYWM5M2Uy
ZGYwNGI1Li5hNTk2N2U3NTNmNWI0Yzc0ZjAxZWM3ZjI0ZTliNmRlNjZhYmY0MjE5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTEyNjAsOSArMTI2MCwxMiBAQCBXRUJDT1JFX0pT
X0JVSUxUSU5TID0gXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3Ry
ZWFtUmVhZGVyLmpzIFwKICMKIAotYWxsIDogJChXRUJDT1JFX0pTX0JVSUxUSU5TOiUuanM9JUJ1
aWx0aW5zLmNwcCkKK2FsbCA6IFdlYkNvcmVKU0J1aWx0aW5zLmNwcCAkKFdFQkNPUkVfSlNfQlVJ
TFRJTlM6JS5qcz0lQnVpbHRpbnMuY3BwKQogCi0lQnVpbHRpbnMuY3BwOiAlLmpzCitXZWJDb3Jl
SlNCdWlsdGlucy5jcHA6ICQoV0VCQ09SRV9KU19CVUlMVElOUykgJChXZWJDb3JlKS9nZW5lcmF0
ZS1qcy1idWlsdGlucy1hbGxpbm9uZQorCSQoUFlUSE9OKSAkKFdlYkNvcmUpL2dlbmVyYXRlLWpz
LWJ1aWx0aW5zLWFsbGlub25lICQoV0VCQ09SRV9KU19CVUlMVElOUykgIC0tb3V0cHV0X2RpciAu
CisKKyVCdWlsdGlucy5jcHA6ICUuanMgJChXZWJDb3JlKS9nZW5lcmF0ZS1qcy1idWlsdGlucwog
CSQoUFlUSE9OKSAkKFdlYkNvcmUpL2dlbmVyYXRlLWpzLWJ1aWx0aW5zIC0taW5wdXQgJDwgLS1n
ZW5lcmF0ZV9qc19idWlsdGluc19wYXRoICQoR2VuZXJhdGVKU0J1aWx0aW5zU2NyaXB0cykKIAog
IyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvc3RyZWFtcy9CeXRlTGVuZ3RoUXVldWluZ1N0cmF0ZWd5LmpzIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9zdHJlYW1zL0J5dGVMZW5ndGhRdWV1aW5nU3RyYXRlZ3kuanMKaW5kZXggYTgy
NjczNjdjNDlkMDFhNTJlYjE5ZTdhNmE2YWVlY2U5MzNmYzA2NS4uZjk0ODEyNThhMDUxMTIwMTJl
ZjBkNDE2ZTljYzQ2YjA5NDExZjVlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9zdHJlYW1zL0J5dGVMZW5ndGhRdWV1aW5nU3RyYXRlZ3kuanMKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9zdHJlYW1zL0J5dGVMZW5ndGhRdWV1aW5nU3RyYXRlZ3kuanMKQEAgLTI0LDYg
KzI0LDggQEAKICAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAorLy8gQG9wdGlvbmFsPVNUUkVBTVNfQVBJ
CisKIGZ1bmN0aW9uIHNpemUoY2h1bmspCiB7CiAgICAgInVzZSBzdHJpY3QiOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL0NvdW50UXVldWluZ1N0cmF0ZWd5Lmpz
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL0NvdW50UXVldWluZ1N0cmF0ZWd5Lmpz
CmluZGV4IDkxMTczN2QwY2U1ZWRhMTFmMTZlNzc4ZGExYTNkZjFjZmM4OWIwMGUuLjQ0ZDYzMGI4
YjhkYzNmMjI0NjYwZTk4MTJkM2YxM2Y2MWM2ODJhZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvc3RyZWFtcy9Db3VudFF1ZXVpbmdTdHJhdGVneS5qcworKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvQ291bnRRdWV1aW5nU3RyYXRlZ3kuanMKQEAgLTIzLDYg
KzIzLDggQEAKICAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAorLy8gQG9wdGlvbmFsPVNUUkVBTVNfQVBJ
CisKIGZ1bmN0aW9uIHNpemUoKQogewogICAgICJ1c2Ugc3RyaWN0IjsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbS5qcyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbS5qcwppbmRleCBkMzY2OTNhNDUx
MzYyZWZkYzhhZjk3MTRhOGU2MzkwOTUzNWVhNWJjLi5kMWYxYWYwYjMzNmRiYjdjNzI0ZjliNjMy
YmRlMzhlZDAwN2EyZDMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVh
bXMvUmVhZGFibGVTdHJlYW0uanMKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1z
L1JlYWRhYmxlU3RyZWFtLmpzCkBAIC05Nyw2ICs5Nyw4IEBAIGZ1bmN0aW9uIGdldFJlYWRlcigp
CiAgICAgcmV0dXJuIG5ldyBAUmVhZGFibGVTdHJlYW1SZWFkZXIodGhpcyk7CiB9CiAKKy8vIEBv
cHRpb25hbD1TVFJFQU1TX0FQSQorCiBmdW5jdGlvbiBwaXBlVGhyb3VnaChzdHJlYW1zLCBvcHRp
b25zKQogewogICAgICJ1c2Ugc3RyaWN0IjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbUludGVybmFscy5qcyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbUludGVybmFscy5qcwppbmRleCBlYmQ3Zjk5
NTA3Yzg0MjA1M2U4NDVhZTYyNWI3M2ZlZmZhYzZjN2ZjLi42ZDhmZTY2YjAzMGE0YWM5NTI1ZDgx
NzE0N2IwYzk4ZTJkNGJlN2I2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0
cmVhbXMvUmVhZGFibGVTdHJlYW1JbnRlcm5hbHMuanMKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtSW50ZXJuYWxzLmpzCkBAIC03MSw2ICs3MSw5IEBA
IGZ1bmN0aW9uIHByaXZhdGVJbml0aWFsaXplUmVhZGFibGVTdHJlYW1Db250cm9sbGVyKHN0cmVh
bSkKICAgICByZXR1cm4gdGhpczsKIH0KIAorLy8gQG9wdGlvbmFsPVNUUkVBTVNfQVBJCisvLyBA
aW50ZXJuYWxzCisKIGZ1bmN0aW9uIHRlZVJlYWRhYmxlU3RyZWFtKHN0cmVhbSwgc2hvdWxkQ2xv
bmUpCiB7CiAgICAgInVzZSBzdHJpY3QiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5vcmRlciBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUub3JkZXIKaW5kZXggMTlhMTgwZDU0
YjIzMTQwYWI1N2E5MzQwM2M3ZWFmMWQzYjc0ODNjMy4uMTAzYTE4YjU2OWQ2MmIzODc0NTMxMTAz
ZjUxY2NmNjYwZTdhOGMxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5vcmRl
cgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLm9yZGVyCkBAIC0yNDcyMyw3ICsyNDcyMyw3
IEBAIF9fWk43V2ViQ29yZUwyNEpTRE9NVVJMQ29uc3RydWN0b3JUYWJsZUUKIF9fWlpON1dlYkNv
cmUxMndyYXBwZXJPd25lckVQTlNfMTVET01XcmFwcGVyV29ybGRFUE5TXzZET01VUkxFRTEzanNE
T01VUkxPd25lcgogX19aR1ZaTjdXZWJDb3JlMTJ3cmFwcGVyT3duZXJFUE5TXzE1RE9NV3JhcHBl
cldvcmxkRVBOU182RE9NVVJMRUUxM2pzRE9NVVJMT3duZXIKIF9fWk43V2ViQ29yZUwyN0pTRE9N
V2luZG93Q29uc3RydWN0b3JUYWJsZUUKLV9fWlRWTjdXZWJDb3JlMTlXZWJDb3JlSlNDbGllbnRE
YXRhRQorX19aVFZON1dlYkNvcmUxOUpTQ2xpZW50RGF0YUUKIF9fWk43V2ViQ29yZUw0MEpTRHlu
YW1pY3NDb21wcmVzc29yTm9kZUNvbnN0cnVjdG9yVGFibGVFCiBfX1pON1dlYkNvcmVMMzhKU0R5
bmFtaWNzQ29tcHJlc3Nvck5vZGVQcm90b3R5cGVUYWJsZUUKIF9fWk43V2ViQ29yZUwyOUpTRHlu
YW1pY3NDb21wcmVzc29yTm9kZVRhYmxlRQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4
cHJvai9XZWJDb3JlLnZjeHByb2oKaW5kZXggOTQ5MmUwNjhkYzU1NmE1ZDg0OTg4ZGY1OGFiOGM4
OGNkMjc1NzhlYS4uNmU4NTg5YzQ2Y2MyM2RmYjlhNTE0OThkN2VhMWJlNGRlZDVkNmZiZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagor
KysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCkBAIC0y
MzEsNiArMjMxLDIwIEBACiAgICAgPENsQ29tcGlsZSAvPgogICA8L0l0ZW1EZWZpbml0aW9uR3Jv
dXA+CiAgIDxJdGVtR3JvdXA+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRp
b25CdWlsZERpcilcb2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlcJChQcm9qZWN0TmFtZSlcRGVy
aXZlZFNvdXJjZXNcV2ViQ29yZUpTQnVpbHRpbnMuY3BwIj4KKyAgICAgIDxFeGNsdWRlZEZyb21C
dWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdp
bjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQg
Q29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj50
cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRp
b249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfFdpbjMy
JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z19XaW5DYWlyb3x4
NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBD
b25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnU3VmZml4fFdp
bjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQg
Q29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z1N1ZmZpeHx4
NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBD
b25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzIn
Ij50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25k
aXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+dHJ1
ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9u
PSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfFdpbjMy
JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJv
fHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxk
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnxX
aW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxk
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnx4
NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xD
b21waWxlIEluY2x1ZGU9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmokKFBsYXRmb3JtQXJj
aGl0ZWN0dXJlKVwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xDb2xvckRhdGEuY3BwIiAv
PgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9iaiQo
UGxhdGZvcm1BcmNoaXRlY3R1cmUpXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXENTU0dy
YW1tYXIuY3BwIj4KICAgICAgIDxEaXNhYmxlU3BlY2lmaWNXYXJuaW5ncyBDb25kaXRpb249Iick
KENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+NDA2NTs0MjczOzQ1
NjU7NDcwMTs0NzAyOyUoRGlzYWJsZVNwZWNpZmljV2FybmluZ3MpPC9EaXNhYmxlU3BlY2lmaWNX
YXJuaW5ncz4KQEAgLTE4OTAxLDIwICsxODkxNSw2IEBACiAgICAgICA8RXhjbHVkZWRGcm9tQnVp
bGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9u
fFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVp
bGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9u
fHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgIDwvQ2xDb21waWxlPgotICAgIDxD
bENvbXBpbGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcV2ViQ29yZUpTQnVpbHRpbnMuY3BwIj4K
LSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQo
UGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAg
ICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRm
b3JtKSc9PSdEZWJ1Z3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNs
dWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09
J0RlYnVnX1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8
RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3Jt
KSc9PSdEZWJ1Z19XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAg
IDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZv
cm0pJz09J0RlYnVnU3VmZml4fFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAg
ICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRm
b3JtKSc9PSdEZWJ1Z1N1ZmZpeHx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAg
IDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZv
cm0pJz09J1JlbGVhc2V8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxF
eGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0p
Jz09J1JlbGVhc2V8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVk
ZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdS
ZWxlYXNlX1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8
RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3Jt
KSc9PSdSZWxlYXNlX1dpbkNhaXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAg
ICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0
Zm9ybSknPT0nUHJvZHVjdGlvbnxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAg
ICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0
Zm9ybSknPT0nUHJvZHVjdGlvbnx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICA8
L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXFdvcmtl
clNjcmlwdENvbnRyb2xsZXIuY3BwIj4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRp
b249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+dHJ1ZTwv
RXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSIn
JChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj50cnVlPC9FeGNsdWRl
ZEZyb21CdWlsZD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagppbmRleCBlMmViZTk1Mjk0YjljMzFkNDAxZTNjZWQ2OTI1ZTkyYjFhNzQyNjU2
Li4yMGRiMDQ1MjYzYTFmNGM4YTY1ODE5ZTliOTAyZjE2MDFkODJjZDhhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNDg1LDcg
KzE0ODUsNiBAQAogCQk0MEVDQUU3RTE2QjhCNjcyMDBDMzYxMDMgLyogSlNET01FcnJvci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDBFQ0FFN0QxNkI4
QjY3MjAwQzM2MTAzIC8qIEpTRE9NRXJyb3IuaCAqLzsgfTsKIAkJNDBFQ0FFODExNkI4QjY4QTAw
QzM2MTAzIC8qIEpTRE9NRXJyb3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDBFQ0FFODAxNkI4QjY4QTAwQzM2MTAzIC8qIEpTRE9NRXJyb3IuY3Bw
ICovOyB9OwogCQk0MTBCN0U3MjEwNDVGQUIwMDBEODIyNEYgLyogSlNNZXNzYWdlRXZlbnRDdXN0
b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEw
QjdFNzExMDQ1RkFCMDAwRDgyMjRGIC8qIEpTTWVzc2FnZUV2ZW50Q3VzdG9tLmNwcCAqLzsgfTsK
LQkJNDExQTkwNDIxQkJBQjQ3QTAwMENGMTU2IC8qIFdlYkNvcmVKU0J1aWx0aW5zLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMUE5MDQxMUJCQUI0
NkQwMDBDRjE1NiAvKiBXZWJDb3JlSlNCdWlsdGlucy5jcHAgKi87IH07CiAJCTQxMjMwODFCMTM4
QzQyOTcwMEJDQ0ZDQSAvKiBXZWJDb3JlLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzRjE5QjFBMDgyNDVFNUEwMDFFOUFCQyAvKiBX
ZWJDb3JlLmZyYW1ld29yayAqLzsgfTsKIAkJNDEyMzA5MTMxMzhDNDJGRjAwQkNDRkNBIC8qIEph
dmFTY3JpcHRDb3JlLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEY4MjE2Mjk5MDI5RjRGQjUwMTAwMDEzMSAvKiBKYXZhU2NyaXB0Q29y
ZS5mcmFtZXdvcmsgKi87IH07CiAJCTQxMjdENTM3MEY4QUFCMUQwMEU0MjRGNSAvKiBTY3JpcHRT
dGF0ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
MTI3RDUzNjBGOEFBQjFEMDBFNDI0RjUgLyogU2NyaXB0U3RhdGUuY3BwICovOyB9OwpAQCAtMTUw
OCw3ICsxNTA3LDggQEAKIAkJNDE2RTI5QTYxMDJGQTk2MjAwN0ZDMTRFIC8qIFdvcmtlclJlcG9y
dGluZ1Byb3h5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0MTZFMjlBNTEwMkZBOTYyMDA3RkMxNEUgLyogV29ya2VyUmVwb3J0aW5nUHJveHkuaCAqLzsg
fTsKIAkJNDE2RTZGRTgxQkJEMTJERjAwMEE2MDQzIC8qIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxz
QnVpbHRpbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDlCMDNEODA2MUJCMzExMEQwMEI3NjREOSAvKiBSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0
aW5zLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJ
NDE2RTZGRTkxQkJEMTJFNTAwMEE2MDQzIC8qIFJlYWRhYmxlU3RyZWFtQnVpbHRpbnMuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlCMDNEODA2MUJCMzEx
MEQwMEI3NjREOCAvKiBSZWFkYWJsZVN0cmVhbUJ1aWx0aW5zLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJNDE2RTZGRUExQkJEMTY4NDAwMEE2MDQz
IC8qIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnNXcmFwcGVyLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5QjAzRDgwNzFCQjMxMTBEMDBCNzY0
RDkgLyogUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGluc1dyYXBwZXIuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk0MTZFNkZFQTFCQkQxNjg0
MDAwQTYwNDQgLyogUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGluc1dyYXBwZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlCMDNEODA3MUJCMzEx
MEQwMEI3NjREQSAvKiBSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zV3JhcHBlci5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTQxNkU2RkVB
MUJCRDE2ODQwMDBBNjA0MyAvKiBQcml2YXRlV2ViQ29yZUpTQnVpbHRpbnMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlCMDNEODA3MUJCMzExMEQwMEI3
NjREOSAvKiBQcml2YXRlV2ViQ29yZUpTQnVpbHRpbnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MTcyNTNBQTEzNTRCQkJDMDAzNjBGMkEgLyog
TWVkaWFDb250cm9sRWxlbWVudHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDE3MjUzQTgxMzU0QkJCQzAwMzYwRjJBIC8qIE1lZGlhQ29udHJvbEVs
ZW1lbnRzLmNwcCAqLzsgfTsKIAkJNDE3MjUzQUIxMzU0QkJCQzAwMzYwRjJBIC8qIE1lZGlhQ29u
dHJvbEVsZW1lbnRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0MTcyNTNBOTEzNTRCQkJDMDAzNjBGMkEgLyogTWVkaWFDb250cm9sRWxlbWVudHMuaCAq
LzsgfTsKIAkJNDE3REE2RDkxMzczNEU2RTAwN0M1N0ZCIC8qIEludGVybmFscy5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTdEQTRDRjEzNzM0MzI2
MDA3QzU3RkIgLyogSW50ZXJuYWxzLmNwcCAqLzsgfTsKQEAgLTI2MzIsNiArMjYzMiw3IEBACiAJ
CTdDNDhBNkQwMTkxQzlENjUwMDAyNjY3NCAvKiBXZWJLaXROYW1lc3BhY2UuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M0OEE2Q0UxOTFDOUQ2NTAw
MDI2Njc0IC8qIFdlYktpdE5hbWVzcGFjZS5jcHAgKi87IH07CiAJCTdDNDhBNkQxMTkxQzlENjUw
MDAyNjY3NCAvKiBXZWJLaXROYW1lc3BhY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDdDNDhBNkNGMTkxQzlENjUwMDAyNjY3NCAvKiBXZWJLaXROYW1l
c3BhY2UuaCAqLzsgfTsKIAkJN0M0OTAyQTIxOEI4MjVGODAwN0Q5Mjk4IC8qIERPTVdoZWVsRXZl
bnRJbnRlcm5hbC5oIGluIENvcHkgR2VuZXJhdGVkIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gODU5ODlEQ0EwQUNDOEJCRDAwQTBCQzUxIC8qIERPTVdoZWVsRXZl
bnRJbnRlcm5hbC5oICovOyB9OworCQk3QzRDOTZEQzFBRDQ0ODM1MDAzNjVBNTEgLyogV2ViQ29y
ZUpTQnVpbHRpbnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gN0M0Qzk2RDgxQUQ0NDgzNTAwMzY1QTUxIC8qIFdlYkNvcmVKU0J1aWx0aW5zLmNwcCAq
LzsgfTsKIAkJN0M0Qzk2REMxQUQ0NDgzNTAwMzY1QTUwIC8qIEpTUmVhZGFibGVTdHJlYW0uY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M0Qzk2RDgx
QUQ0NDgzNTAwMzY1QTUwIC8qIEpTUmVhZGFibGVTdHJlYW0uY3BwICovOyB9OwogCQk3QzRDOTZE
RDFBRDQ0ODM1MDAzNjVBNTAgLyogSlNSZWFkYWJsZVN0cmVhbS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M0Qzk2RDkxQUQ0NDgzNTAwMzY1QTUwIC8q
IEpTUmVhZGFibGVTdHJlYW0uaCAqLzsgfTsKIAkJN0M0Qzk2REUxQUQ0NDgzNTAwMzY1QTUwIC8q
IEpTUmVhZGFibGVTdHJlYW1SZWFkZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gN0M0Qzk2REExQUQ0NDgzNTAwMzY1QTUwIC8qIEpTUmVhZGFibGVT
dHJlYW1SZWFkZXIuY3BwICovOyB9OwpAQCAtODc2Myw3ICs4NzY0LDYgQEAKIAkJNDBFQ0FFODAx
NkI4QjY4QTAwQzM2MTAzIC8qIEpTRE9NRXJyb3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSlNET01FcnJvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTQxMEI3RTcxMTA0NUZBQjAwMEQ4MjI0RiAvKiBKU01lc3NhZ2VFdmVudEN1c3RvbS5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU01lc3NhZ2VFdmVudEN1c3Rv
bS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMTg5RUY3MUFEODIzMjgwMEI5
MEEwRCAvKiBSZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXIuaWRsICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0
aCA9IFJlYWRhYmxlU3RyZWFtQ29udHJvbGxlci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07Ci0JCTQxMUE5MDQxMUJCQUI0NkQwMDBDRjE1NiAvKiBXZWJDb3JlSlNCdWlsdGlucy5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJDb3JlSlNCdWlsdGlucy5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMjdENTM2MEY4QUFCMUQwMEU0MjRG
NSAvKiBTY3JpcHRTdGF0ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBTY3JpcHRTdGF0ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMjlERjgx
MUJCNUI3OUIwMDMyMkExNiAvKiBSZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXIuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVhZGFibGVTdHJlYW1Db250cm9sbGVyLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMjlERjgyMUJCNUI3QTYwMDMyMkExNiAvKiBSZWFk
YWJsZVN0cmVhbVJlYWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZWFk
YWJsZVN0cmVhbVJlYWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTAwNTAs
NiArMTAwNTAsNyBAQAogCQk3QzQ4QTZDRTE5MUM5RDY1MDAwMjY2NzQgLyogV2ViS2l0TmFtZXNw
YWNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYktpdE5hbWVz
cGFjZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDNDhBNkNGMTkxQzlENjUw
MDAyNjY3NCAvKiBXZWJLaXROYW1lc3BhY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gV2ViS2l0TmFtZXNwYWNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdD
NDhBNkQyMTkxQzlEOEUwMDAyNjY3NCAvKiBXZWJLaXROYW1lc3BhY2UuaWRsICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYktp
dE5hbWVzcGFjZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTdDNEM5NkQ4MUFE
NDQ4MzUwMDM2NUE1MSAvKiBXZWJDb3JlSlNCdWlsdGlucy5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBXZWJDb3JlSlNCdWlsdGlucy5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTdDNEM5NkQ4MUFENDQ4MzUwMDM2NUE1MCAvKiBKU1JlYWRhYmxlU3Ry
ZWFtLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTUmVhZGFibGVT
dHJlYW0uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QzRDOTZEOTFBRDQ0ODM1
MDAzNjVBNTAgLyogSlNSZWFkYWJsZVN0cmVhbS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBKU1JlYWRhYmxlU3RyZWFtLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTdDNEM5NkRBMUFENDQ4MzUwMDM2NUE1MCAvKiBKU1JlYWRhYmxlU3RyZWFtUmVhZGVyLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTUmVhZGFibGVTdHJlYW1SZWFk
ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTEzMjEsNyArMTEzMjIsOCBA
QAogCQk5QjAzRDgwNjFCQjMxMTBEMDBCNzY0RDggLyogUmVhZGFibGVTdHJlYW1CdWlsdGlucy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZWFkYWJsZVN0cmVhbUJ1aWx0aW5z
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTlCMDNEODA2MUJCMzExMEQwMEI3NjRE
OSAvKiBSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOUIwM0Q4MDcxQkIzMTEwRDAwQjc2NEQ4IC8qIFJlYWRh
YmxlU3RyZWFtQnVpbHRpbnNXcmFwcGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFJlYWRhYmxlU3RyZWFtQnVpbHRpbnNXcmFwcGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07Ci0JCTlCMDNEODA3MUJCMzExMEQwMEI3NjREOSAvKiBSZWFkYWJsZVN0cmVhbUludGVy
bmFsc0J1aWx0aW5zV3JhcHBlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBS
ZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zV3JhcHBlci5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk5QjAzRDgwNzFCQjMxMTBEMDBCNzY0REEgLyogUmVhZGFibGVTdHJlYW1J
bnRlcm5hbHNCdWlsdGluc1dyYXBwZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGluc1dyYXBwZXIuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJOUIwM0Q4MDcxQkIzMTEwRDAwQjc2NEQ5IC8qIFByaXZhdGVXZWJD
b3JlSlNCdWlsdGlucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQcml2YXRl
V2ViQ29yZUpTQnVpbHRpbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOUIxOUI2
N0UxQjk2NEU1MjAwMzQ4NzQ1IC8qIFNoYWRvd1Jvb3QuaWRsICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0
aCA9IFNoYWRvd1Jvb3QuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5QjFBQjA3
OTE2NDhDNjlEMDA1MUYzRjIgLyogSFRNTEZvcm1Db250cm9sc0NvbGxlY3Rpb24uaWRsICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9
IEhUTUxGb3JtQ29udHJvbHNDb2xsZWN0aW9uLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJOUIxQUIwN0IxNjQ4QzdDNDAwNTFGM0YyIC8qIEpTSFRNTEZvcm1Db250cm9sc0NvbGxl
Y3Rpb25DdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNI
VE1MRm9ybUNvbnRyb2xzQ29sbGVjdGlvbkN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC0xNjI3OSw2ICsxNjI4MSw3IEBACiAJCTQxQTAyM0ZBMUEzOUYxM0EwMEY3MjJD
RiAvKiBTdHJlYW1zICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgK
KwkJCQk3QzRDOTZEODFBRDQ0ODM1MDAzNjVBNTEgLyogV2ViQ29yZUpTQnVpbHRpbnMuY3BwICov
LAogCQkJCTdDNEM5NkQ4MUFENDQ4MzUwMDM2NUE1MCAvKiBKU1JlYWRhYmxlU3RyZWFtLmNwcCAq
LywKIAkJCQk3QzRDOTZEOTFBRDQ0ODM1MDAzNjVBNTAgLyogSlNSZWFkYWJsZVN0cmVhbS5oICov
LAogCQkJCTZDNEM5NkRBMUFENDQ4MzUwMDM2NUE1MCAvKiBKU1JlYWRhYmxlU3RyZWFtQ29udHJv
bGxlci5jcHAgKi8sCkBAIC0xNzA3MCw3ICsxNzA3Myw4IEBACiAJCQkJOUIwM0Q4MDYxQkIzMTEw
RDAwQjc2NEQ4IC8qIFJlYWRhYmxlU3RyZWFtQnVpbHRpbnMuaCAqLywKIAkJCQk5QjAzRDgwNjFC
QjMxMTBEMDBCNzY0RDkgLyogUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5oICovLAog
CQkJCTlCMDNEODA3MUJCMzExMEQwMEI3NjREOCAvKiBSZWFkYWJsZVN0cmVhbUJ1aWx0aW5zV3Jh
cHBlci5oICovLAotCQkJCTlCMDNEODA3MUJCMzExMEQwMEI3NjREOSAvKiBSZWFkYWJsZVN0cmVh
bUludGVybmFsc0J1aWx0aW5zV3JhcHBlci5oICovLAorCQkJCTlCMDNEODA3MUJCMzExMEQwMEI3
NjREQSAvKiBSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zV3JhcHBlci5oICovLAorCQkJ
CTlCMDNEODA3MUJCMzExMEQwMEI3NjREOSAvKiBQcml2YXRlV2ViQ29yZUpTQnVpbHRpbnMuaCAq
LywKIAkJCQk0M0I4NUVEMjE4Q0JFQzUyMDBFMzFBRjQgLyogU2VsZWN0b3JQc2V1ZG9DbGFzc0Fu
ZENvbXBhdGliaWxpdHlFbGVtZW50TWFwLmNwcCAqLywKIAkJCQk0M0I4NUVEMzE4Q0JFQzUyMDBF
MzFBRjQgLyogU2VsZWN0b3JQc2V1ZG9DbGFzc0FuZENvbXBhdGliaWxpdHlFbGVtZW50TWFwLmdw
ZXJmICovLAogCQkJCTI2QUEwRjlEMThEMkExOEIwMDQxOTM4MSAvKiBTZWxlY3RvclBzZXVkb0Vs
ZW1lbnRUeXBlTWFwLmNwcCAqLywKQEAgLTIxNjY3LDcgKzIxNjcxLDYgQEAKIAkJCQkxNDAwRDdB
NzE3MTM2RUE3MDA3N0NFMDUgLyogU2NyaXB0V3JhcHBhYmxlSW5saW5lcy5oICovLAogCQkJCUE3
NUU0OTc1MTA3NTJBQ0IwMEM5Qjg5NiAvKiBTZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwICovLAog
CQkJCUE3NUU0OTc0MTA3NTJBQ0IwMEM5Qjg5NiAvKiBTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCAq
LywKLQkJCQk0MTFBOTA0MTFCQkFCNDZEMDAwQ0YxNTYgLyogV2ViQ29yZUpTQnVpbHRpbnMuY3Bw
ICovLAogCQkJCUJDNTNEOTEwMTE0MzEwQ0MwMDBEODE3RSAvKiBXZWJDb3JlSlNDbGllbnREYXRh
LmggKi8sCiAJCQkJMEYwOTlEMDYxN0I5NjhBMTAwRkY4NEI5IC8qIFdlYkNvcmVUeXBlZEFycmF5
Q29udHJvbGxlci5jcHAgKi8sCiAJCQkJMEYwOTlEMDcxN0I5NjhBMTAwRkY4NEI5IC8qIFdlYkNv
cmVUeXBlZEFycmF5Q29udHJvbGxlci5oICovLApAQCAtMjU3MjEsNyArMjU3MjQsOCBAQAogCQkJ
CUZDOUUwRTREMTY0MTlDMUUwMDM5MkJFMyAvKiBKU0RPTVdpbmRvd0NTUy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNjUyRkJCQkMwREUyN0NCNjAwMDFEMzg2IC8qIEpTRE9NV2luZG93Q3VzdG9tLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCQ0JGQjUzRDBEQ0QyOUNGMDAxOUIzRTUgLyogSlNET01XaW5k
b3dTaGVsbC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNDE2RTZGRUExQkJEMTY4NDAwMEE2MDQzIC8q
IFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnNXcmFwcGVyLmggaW4gSGVhZGVycyAqLywK
KwkJCQk0MTZFNkZFQTFCQkQxNjg0MDAwQTYwNDQgLyogUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNC
dWlsdGluc1dyYXBwZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxNkU2RkVBMUJCRDE2ODQwMDBB
NjA0MyAvKiBQcml2YXRlV2ViQ29yZUpTQnVpbHRpbnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTY1
RTBFOTQ0MTEzM0M4OUYwMEI0Q0IxMCAvKiBKU0RPTVdyYXBwZXIuaCBpbiBIZWFkZXJzICovLAog
CQkJCUZENzg2OEJBMTM2Qjk5OTIwMEQ0MDNERiAvKiBKU0R5bmFtaWNzQ29tcHJlc3Nvck5vZGUu
aCBpbiBIZWFkZXJzICovLAogCQkJCTY1REYzMUZBMDlEMUNDNjAwMDBCRTMyNSAvKiBKU0VsZW1l
bnQuaCBpbiBIZWFkZXJzICovLApAQCAtMjkwNjEsNyArMjkwNjUsNiBAQAogCQkJCUE4RUE3OUYz
MEExOTE2REYwMEE4RUY1RiAvKiBIVE1MVUxpc3RFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUU0NDYxM0FBMENENjMzMTAwMEZBREE3NSAvKiBIVE1MVmlkZW9FbGVtZW50LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTgzOUFBRkVDMUEwQzBDOEQwMDYwNUY5OSAvKiBIVE1MV0JSRWxlbWVu
dC5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk0MTFBOTA0MjFCQkFCNDdBMDAwQ0YxNTYgLyogV2Vi
Q29yZUpTQnVpbHRpbnMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEI4QzU2RDQwRjI4NjI3RjAw
MDUwMkUxIC8qIEhUVFBIZWFkZXJNYXAuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUFDOTAwQzMx
OTQzQzBGQzAwODYyNUI1IC8qIEhUVFBIZWFkZXJOYW1lcy5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQk1MTRDNzY3MjBDRTkyM0ExMDA3RUYzQ0QgLyogSFRUUFBhcnNlcnMuY3BwIGluIFNvdXJjZXMg
Ki8sCkBAIC0yOTU3Myw2ICsyOTU3Niw3IEBACiAJCQkJMDc3NjY0RkMxODNFNkI1QzAwMTMzQjky
IC8qIEpTUXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QjY1OEZGQTExNTIyRUYzQTAwREQ1NTk1IC8qIEpTUmFkaW9Ob2RlTGlzdC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQk2NURGMzIwMTA5RDFDQzYwMDAwQkUzMjUgLyogSlNSYW5nZS5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQk3QzRDOTZEQzFBRDQ0ODM1MDAzNjVBNTEgLyogV2ViQ29yZUpTQnVpbHRp
bnMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0M0Qzk2REMxQUQ0NDgzNTAwMzY1QTUwIC8qIEpT
UmVhZGFibGVTdHJlYW0uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNkM0Qzk2REUxQUQ0NDgzNTAw
MzY1QTUwIC8qIEpTUmVhZGFibGVTdHJlYW1Db250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTdDNEM5NkRFMUFENDQ4MzUwMDM2NUE1MCAvKiBKU1JlYWRhYmxlU3RyZWFtUmVhZGVyLmNw
cCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
RE9NV3JhcHBlcldvcmxkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0RPTVdyYXBw
ZXJXb3JsZC5jcHAKaW5kZXggM2RkMjVlMThjMTRmNjE0YTQ4MzgxMjcyYmE1MjlhOTJkZGIwYTFl
Ni4uM2E5YWNjYmM0ZDllNDQ0ZDRmYzFlY2U3YTc4YmY1NTEyNjE2ZTY2YSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvRE9NV3JhcHBlcldvcmxkLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9ET01XcmFwcGVyV29ybGQuY3BwCkBAIC0zNiwxNCArMzYs
MTQgQEAgRE9NV3JhcHBlcldvcmxkOjpET01XcmFwcGVyV29ybGQoSlNDOjpWTSYgdm0sIGJvb2wg
aXNOb3JtYWwpCiB7CiAgICAgVk06OkNsaWVudERhdGEqIGNsaWVudERhdGEgPSBtX3ZtLmNsaWVu
dERhdGE7CiAgICAgQVNTRVJUKGNsaWVudERhdGEpOwotICAgIHN0YXRpY19jYXN0PFdlYkNvcmVK
U0NsaWVudERhdGEqPihjbGllbnREYXRhKS0+cmVtZW1iZXJXb3JsZCgqdGhpcyk7CisgICAgc3Rh
dGljX2Nhc3Q8SlNDbGllbnREYXRhKj4oY2xpZW50RGF0YSktPnJlbWVtYmVyV29ybGQoKnRoaXMp
OwogfQogCiBET01XcmFwcGVyV29ybGQ6On5ET01XcmFwcGVyV29ybGQoKQogewogICAgIFZNOjpD
bGllbnREYXRhKiBjbGllbnREYXRhID0gbV92bS5jbGllbnREYXRhOwogICAgIEFTU0VSVChjbGll
bnREYXRhKTsKLSAgICBzdGF0aWNfY2FzdDxXZWJDb3JlSlNDbGllbnREYXRhKj4oY2xpZW50RGF0
YSktPmZvcmdldFdvcmxkKCp0aGlzKTsKKyAgICBzdGF0aWNfY2FzdDxKU0NsaWVudERhdGEqPihj
bGllbnREYXRhKS0+Zm9yZ2V0V29ybGQoKnRoaXMpOwogCiAgICAgLy8gVGhlc2UgaXRlbXMgYXJl
IGNyZWF0ZWQgbGF6aWx5LgogICAgIHdoaWxlICghbV9zY3JpcHRDb250cm9sbGVyc1dpdGhXaW5k
b3dTaGVsbHMuaXNFbXB0eSgpKQpAQCAtNjMsNyArNjMsNyBAQCBET01XcmFwcGVyV29ybGQmIG5v
cm1hbFdvcmxkKEpTQzo6Vk0mIHZtKQogewogICAgIFZNOjpDbGllbnREYXRhKiBjbGllbnREYXRh
ID0gdm0uY2xpZW50RGF0YTsKICAgICBBU1NFUlQoY2xpZW50RGF0YSk7Ci0gICAgcmV0dXJuIHN0
YXRpY19jYXN0PFdlYkNvcmVKU0NsaWVudERhdGEqPihjbGllbnREYXRhKS0+bm9ybWFsV29ybGQo
KTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8SlNDbGllbnREYXRhKj4oY2xpZW50RGF0YSktPm5v
cm1hbFdvcmxkKCk7CiB9CiAKIERPTVdyYXBwZXJXb3JsZCYgbWFpblRocmVhZE5vcm1hbFdvcmxk
KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFz
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwCmlu
ZGV4IDllMGZmNGZjODlhNjgwMDYzZDVhYTc1NjJmYWNlNGI2OTFmYmYwZjAuLjUzMWY0ZGQ3NWZi
YmVjMzczZmEyODRmNTYyMTMwYjlmNDE0NDZkNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcApAQCAtNzAsOSArNzAsNyBAQCBKU0RPTVdpbmRv
d0Jhc2U6OkpTRE9NV2luZG93QmFzZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBQYXNz
UmVmUHRyPERPTVdpbgogICAgICwgbV93aW5kb3dDbG9zZVdhdGNocG9pbnRzKCh3aW5kb3cgJiYg
d2luZG93LT5mcmFtZSgpKSA/IElzV2F0Y2hlZCA6IElzSW52YWxpZGF0ZWQpCiAgICAgLCBtX2lt
cGwod2luZG93KQogICAgICwgbV9zaGVsbChzaGVsbCkKLSNpZiBFTkFCTEUoU1RSRUFNU19BUEkp
Ci0gICAgLCBtX3JlYWRhYmxlU3RyZWFtRnVuY3Rpb25zKHZtKQotI2VuZGlmCisgICAgLCBtX3By
aXZhdGVGdW5jdGlvbnModm0pCiB7CiB9CiAKQEAgLTgxLDIzICs3OSwyMSBAQCB2b2lkIEpTRE9N
V2luZG93QmFzZTo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU0RPTVdpbmRvd1NoZWxsKiBzaGVs
bCkKICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgc2hlbGwpOwogICAgIEFTU0VSVChpbmhl
cml0cyhpbmZvKCkpKTsKIAotI2lmIEVOQUJMRShTVFJFQU1TX0FQSSkKLSAgICBtX3JlYWRhYmxl
U3RyZWFtRnVuY3Rpb25zLmluaXQoKnRoaXMpOwotI2VuZGlmCisgICAgbV9wcml2YXRlRnVuY3Rp
b25zLmluaXQoKnRoaXMpOwogCiAgICAgR2xvYmFsUHJvcGVydHlJbmZvIHN0YXRpY0dsb2JhbHNb
XSA9IHsKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmRvY3Vt
ZW50LCBqc051bGwoKSwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJv
cGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPndpbmRvdywgbV9zaGVsbCwgRG9udERlbGV0ZSB8
IFJlYWRPbmx5KSwKICNpZiBFTkFCTEUoU1RSRUFNU19BUEkpCi0gICAgICAgIEdsb2JhbFByb3Bl
cnR5SW5mbyhzdGF0aWNfY2FzdDxXZWJDb3JlSlNDbGllbnREYXRhKj4odm0uY2xpZW50RGF0YSkt
PmJ1aWx0aW5OYW1lcygpLnJlYWRhYmxlU3RyZWFtQ2xvc2VkUHJpdmF0ZU5hbWUoKSwganNOdW1i
ZXIoMSksIERvbnREZWxldGUgfCBSZWFkT25seSksCi0gICAgICAgIEdsb2JhbFByb3BlcnR5SW5m
byhzdGF0aWNfY2FzdDxXZWJDb3JlSlNDbGllbnREYXRhKj4odm0uY2xpZW50RGF0YSktPmJ1aWx0
aW5OYW1lcygpLnJlYWRhYmxlU3RyZWFtRXJyb3JlZFByaXZhdGVOYW1lKCksIGpzTnVtYmVyKDIp
LCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAotICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8oc3Rh
dGljX2Nhc3Q8V2ViQ29yZUpTQ2xpZW50RGF0YSo+KHZtLmNsaWVudERhdGEpLT5idWlsdGluTmFt
ZXMoKS5yZWFkYWJsZVN0cmVhbVJlYWRhYmxlUHJpdmF0ZU5hbWUoKSwganNOdW1iZXIoMyksIERv
bnREZWxldGUgfCBSZWFkT25seSksCi0gICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyhzdGF0aWNf
Y2FzdDxXZWJDb3JlSlNDbGllbnREYXRhKj4odm0uY2xpZW50RGF0YSktPmJ1aWx0aW5OYW1lcygp
LlJlYWRhYmxlU3RyZWFtQ29udHJvbGxlclByaXZhdGVOYW1lKCksIGNyZWF0ZVJlYWRhYmxlU3Ry
ZWFtQ29udHJvbGxlclByaXZhdGVDb25zdHJ1Y3Rvcih2bSwgKnRoaXMpLCBEb250RGVsZXRlIHwg
UmVhZE9ubHkpLAotICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8oc3RhdGljX2Nhc3Q8V2ViQ29y
ZUpTQ2xpZW50RGF0YSo+KHZtLmNsaWVudERhdGEpLT5idWlsdGluTmFtZXMoKS5SZWFkYWJsZVN0
cmVhbVJlYWRlclByaXZhdGVOYW1lKCksIGNyZWF0ZVJlYWRhYmxlU3RyZWFtUmVhZGVyUHJpdmF0
ZUNvbnN0cnVjdG9yKHZtLCAqdGhpcyksIERvbnREZWxldGUgfCBSZWFkT25seSksCisgICAgICAg
IEdsb2JhbFByb3BlcnR5SW5mbyhzdGF0aWNfY2FzdDxKU0NsaWVudERhdGEqPih2bS5jbGllbnRE
YXRhKS0+YnVpbHRpbk5hbWVzKCkucmVhZGFibGVTdHJlYW1DbG9zZWRQcml2YXRlTmFtZSgpLCBq
c051bWJlcigxKSwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKKyAgICAgICAgR2xvYmFsUHJvcGVy
dHlJbmZvKHN0YXRpY19jYXN0PEpTQ2xpZW50RGF0YSo+KHZtLmNsaWVudERhdGEpLT5idWlsdGlu
TmFtZXMoKS5yZWFkYWJsZVN0cmVhbUVycm9yZWRQcml2YXRlTmFtZSgpLCBqc051bWJlcigyKSwg
RG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKKyAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHN0YXRp
Y19jYXN0PEpTQ2xpZW50RGF0YSo+KHZtLmNsaWVudERhdGEpLT5idWlsdGluTmFtZXMoKS5yZWFk
YWJsZVN0cmVhbVJlYWRhYmxlUHJpdmF0ZU5hbWUoKSwganNOdW1iZXIoMyksIERvbnREZWxldGUg
fCBSZWFkT25seSksCisgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyhzdGF0aWNfY2FzdDxKU0Ns
aWVudERhdGEqPih2bS5jbGllbnREYXRhKS0+YnVpbHRpbk5hbWVzKCkuUmVhZGFibGVTdHJlYW1D
b250cm9sbGVyUHJpdmF0ZU5hbWUoKSwgY3JlYXRlUmVhZGFibGVTdHJlYW1Db250cm9sbGVyUHJp
dmF0ZUNvbnN0cnVjdG9yKHZtLCAqdGhpcyksIERvbnREZWxldGUgfCBSZWFkT25seSksCisgICAg
ICAgIEdsb2JhbFByb3BlcnR5SW5mbyhzdGF0aWNfY2FzdDxKU0NsaWVudERhdGEqPih2bS5jbGll
bnREYXRhKS0+YnVpbHRpbk5hbWVzKCkuUmVhZGFibGVTdHJlYW1SZWFkZXJQcml2YXRlTmFtZSgp
LCBjcmVhdGVSZWFkYWJsZVN0cmVhbVJlYWRlclByaXZhdGVDb25zdHJ1Y3Rvcih2bSwgKnRoaXMp
LCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAogI2RlZmluZSBERUNMQVJFX0dMT0JBTF9TVEFUSUMo
bmFtZSlcCiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyhcCi0gICAgICAgICAgICBzdGF0aWNf
Y2FzdDxXZWJDb3JlSlNDbGllbnREYXRhKj4odm0uY2xpZW50RGF0YSktPnJlYWRhYmxlU3RyZWFt
SW50ZXJuYWxzQnVpbHRpbnMoKS5uYW1lIyNQcml2YXRlTmFtZSgpLFwKLSAgICAgICAgICAgIG1f
cmVhZGFibGVTdHJlYW1GdW5jdGlvbnMubV8jI25hbWUjI0Z1bmN0aW9uLmdldCgpICwgRG9udERl
bGV0ZSB8IFJlYWRPbmx5KSwKKyAgICAgICAgICAgIHN0YXRpY19jYXN0PEpTQ2xpZW50RGF0YSo+
KHZtLmNsaWVudERhdGEpLT5idWlsdGluRnVuY3Rpb25zKCkucmVhZGFibGVTdHJlYW1JbnRlcm5h
bHNCdWlsdGlucygpLm5hbWUjI1ByaXZhdGVOYW1lKCksIFwKKyAgICAgICAgICAgIG1fcHJpdmF0
ZUZ1bmN0aW9ucy5yZWFkYWJsZVN0cmVhbUludGVybmFscygpLm1fIyNuYW1lIyNGdW5jdGlvbi5n
ZXQoKSAsIERvbnREZWxldGUgfCBSZWFkT25seSksCiAgICAgICAgIFdFQkNPUkVSRUFEQUJMRVNU
UkVBTUlOVEVSTkFMU19GT1JFQUNIX0JVSUxUSU5fRlVOQ1RJT05fTkFNRShERUNMQVJFX0dMT0JB
TF9TVEFUSUMpCiAjdW5kZWYgRVhQT1JUX0ZVTkNUSU9OCiAjZW5kaWYKQEAgLTExMSw5ICsxMDcs
NyBAQCB2b2lkIEpTRE9NV2luZG93QmFzZTo6dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNs
b3RWaXNpdG9yJiB2aXNpdG9yKQogICAgIEpTRE9NV2luZG93QmFzZSogdGhpc09iamVjdCA9IGpz
Q2FzdDxKU0RPTVdpbmRvd0Jhc2UqPihjZWxsKTsKICAgICBBU1NFUlRfR0NfT0JKRUNUX0lOSEVS
SVRTKHRoaXNPYmplY3QsIGluZm8oKSk7CiAgICAgQmFzZTo6dmlzaXRDaGlsZHJlbih0aGlzT2Jq
ZWN0LCB2aXNpdG9yKTsKLSNpZiBFTkFCTEUoU1RSRUFNU19BUEkpCi0gICAgdGhpc09iamVjdC0+
bV9yZWFkYWJsZVN0cmVhbUZ1bmN0aW9ucy52aXNpdCh2aXNpdG9yKTsKLSNlbmRpZgorICAgIHRo
aXNPYmplY3QtPm1fcHJpdmF0ZUZ1bmN0aW9ucy52aXNpdCh2aXNpdG9yKTsKIH0KIAogdm9pZCBK
U0RPTVdpbmRvd0Jhc2U6OmRlc3Ryb3koSlNDZWxsKiBjZWxsKQpAQCAtMjk3LDcgKzI5MSw3IEBA
IEpTRE9NV2luZG93KiB0b0pTRE9NV2luZG93KEpTVmFsdWUgdmFsdWUpCiB2b2lkIEpTRE9NV2lu
ZG93QmFzZTo6ZmlyZUZyYW1lQ2xlYXJlZFdhdGNocG9pbnRzRm9yV2luZG93KERPTVdpbmRvdyog
d2luZG93KQogewogICAgIEpTQzo6Vk0mIHZtID0gSlNET01XaW5kb3dCYXNlOjpjb21tb25WTSgp
OwotICAgIFdlYkNvcmVKU0NsaWVudERhdGEqIGNsaWVudERhdGEgPSBzdGF0aWNfY2FzdDxXZWJD
b3JlSlNDbGllbnREYXRhKj4odm0uY2xpZW50RGF0YSk7CisgICAgSlNDbGllbnREYXRhKiBjbGll
bnREYXRhID0gc3RhdGljX2Nhc3Q8SlNDbGllbnREYXRhKj4odm0uY2xpZW50RGF0YSk7CiAgICAg
VmVjdG9yPFJlZjxET01XcmFwcGVyV29ybGQ+PiB3cmFwcGVyV29ybGRzOwogICAgIGNsaWVudERh
dGEtPmdldEFsbFdvcmxkcyh3cmFwcGVyV29ybGRzKTsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAw
OyBpIDwgd3JhcHBlcldvcmxkcy5zaXplKCk7ICsraSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaAppbmRleCBmNDA4NzJmNWVhMDk1Yzk4MzYzOWQ2ZWRh
NzA5NTdiZTg1OGI0ZTAxLi45NGUwM2RhNTIxOTQxMTY0NDE2NmEzMDA0ZDVjYWNhNTZjZDUzOGMz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2Uu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaApAQCAt
MjIsNyArMjIsNyBAQAogCiAjaW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCiAjaW5jbHVkZSAiSlNE
T01HbG9iYWxPYmplY3QuaCIKLSNpbmNsdWRlICJSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0
aW5zV3JhcHBlci5oIgorI2luY2x1ZGUgIlByaXZhdGVXZWJDb3JlSlNCdWlsdGlucy5oIgogI2lu
Y2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTg3LDkgKzg3
LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBSZWZQdHI8RE9NV2luZG93PiBtX2lt
cGw7CiAgICAgICAgIEpTRE9NV2luZG93U2hlbGwqIG1fc2hlbGw7CiAKLSNpZiBFTkFCTEUoU1RS
RUFNU19BUEkpCi0gICAgICAgIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbkZ1bmN0aW9u
cyBtX3JlYWRhYmxlU3RyZWFtRnVuY3Rpb25zOwotI2VuZGlmCisgICAgICAgIEpTQnVpbHRpbklu
dGVybmFsRnVuY3Rpb25zIG1fcHJpdmF0ZUZ1bmN0aW9uczsKICAgICB9OwogCiAgICAgLy8gUmV0
dXJucyBhIEpTRE9NV2luZG93IG9yIGpzTnVsbCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwCmluZGV4IDRiM2IwOTcyYmU3N2YzYzc2NTk1ZjE0
MGUyNmE3NDhmZjhlYTQ1MGMuLjU5YjU4ZWU0NjI3NjgyMDQ4YzMyZDk1MGQwZDY2MzJhMTk2NTdj
MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xs
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIu
Y3BwCkBAIC0xOTQsNyArMTk0LDcgQEAgVmVjdG9yPEpTQzo6U3Ryb25nPEpTRE9NV2luZG93U2hl
bGw+PiBTY3JpcHRDb250cm9sbGVyOjp3aW5kb3dTaGVsbHMoKQogCiB2b2lkIFNjcmlwdENvbnRy
b2xsZXI6OmdldEFsbFdvcmxkcyhWZWN0b3I8UmVmPERPTVdyYXBwZXJXb3JsZD4+JiB3b3JsZHMp
CiB7Ci0gICAgc3RhdGljX2Nhc3Q8V2ViQ29yZUpTQ2xpZW50RGF0YSo+KEpTRE9NV2luZG93Ojpj
b21tb25WTSgpLmNsaWVudERhdGEpLT5nZXRBbGxXb3JsZHMod29ybGRzKTsKKyAgICBzdGF0aWNf
Y2FzdDxKU0NsaWVudERhdGEqPihKU0RPTVdpbmRvdzo6Y29tbW9uVk0oKS5jbGllbnREYXRhKS0+
Z2V0QWxsV29ybGRzKHdvcmxkcyk7CiB9CiAKIHZvaWQgU2NyaXB0Q29udHJvbGxlcjo6Y2xlYXJX
aW5kb3dTaGVsbChET01XaW5kb3cqIG5ld0RPTVdpbmRvdywgYm9vbCBnb2luZ0ludG9QYWdlQ2Fj
aGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVkU2Ny
aXB0VmFsdWUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlw
dFZhbHVlLmNwcAppbmRleCA2MmVhMWMxYmRjZWQ2MzA2NTg5OGE4YjQxYjBiNmQyMWI4NTdhYjg3
Li5mOWE0ODc3ZjUxMDc4M2RmYWM4ZThmMzgzYTJiZDRmMzdkYTFmM2NmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAKQEAg
LTI2MzQsNyArMjYzNCw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU6
OkFycmF5QnVmZmVyQ29udGVudHNBcnJheT4gU2VyaWFsaXplZFNjcmlwCiAKICAgICBhdXRvIGNv
bnRlbnRzID0gc3RkOjptYWtlX3VuaXF1ZTxBcnJheUJ1ZmZlckNvbnRlbnRzQXJyYXk+KGFycmF5
QnVmZmVycy5zaXplKCkpOwogICAgIFZlY3RvcjxSZWY8RE9NV3JhcHBlcldvcmxkPj4gd29ybGRz
OwotICAgIHN0YXRpY19jYXN0PFdlYkNvcmVKU0NsaWVudERhdGEqPihleGVjLT52bSgpLmNsaWVu
dERhdGEpLT5nZXRBbGxXb3JsZHMod29ybGRzKTsKKyAgICBzdGF0aWNfY2FzdDxKU0NsaWVudERh
dGEqPihleGVjLT52bSgpLmNsaWVudERhdGEpLT5nZXRBbGxXb3JsZHMod29ybGRzKTsKIAogICAg
IEhhc2hTZXQ8SlNDOjpBcnJheUJ1ZmZlcio+IHZpc2l0ZWQ7CiAgICAgZm9yIChzaXplX3QgYXJy
YXlCdWZmZXJJbmRleCA9IDA7IGFycmF5QnVmZmVySW5kZXggPCBhcnJheUJ1ZmZlcnMuc2l6ZSgp
OyBhcnJheUJ1ZmZlckluZGV4KyspIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1dlYkNvcmVKU0NsaWVudERhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1dlYkNvcmVKU0NsaWVudERhdGEuaAppbmRleCA4NzBkZDgxOGViODI5NDU3ZWE4MGUzNTM4YTg3
MWQ0OTk1Mjc0YzA5Li5mMDQyNzlhY2FjMDI1OTU0MmQwNWZmMTZkYmJiMGI3MGRiNGE0MzliIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRh
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5o
CkBAIC0yNCw0NCArMjQsMjYgQEAKIAogI2luY2x1ZGUgIkRPTVdyYXBwZXJXb3JsZC5oIgogI2lu
Y2x1ZGUgIldlYkNvcmVCdWlsdGluTmFtZXMuaCIKKyNpbmNsdWRlICJXZWJDb3JlSlNCdWlsdGlu
cy5oIgogI2luY2x1ZGUgIldlYkNvcmVUeXBlZEFycmF5Q29udHJvbGxlci5oIgogI2luY2x1ZGUg
PHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCi0jaWYgRU5BQkxFKFNU
UkVBTVNfQVBJKQotI2luY2x1ZGUgIkJ5dGVMZW5ndGhRdWV1aW5nU3RyYXRlZ3lCdWlsdGluc1dy
YXBwZXIuaCIKLSNpbmNsdWRlICJDb3VudFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zV3JhcHBlci5o
IgotI2luY2x1ZGUgIlJlYWRhYmxlU3RyZWFtQnVpbHRpbnNXcmFwcGVyLmgiCi0jaW5jbHVkZSAi
UmVhZGFibGVTdHJlYW1Db250cm9sbGVyQnVpbHRpbnNXcmFwcGVyLmgiCi0jaW5jbHVkZSAiUmVh
ZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGluc1dyYXBwZXIuaCIKLSNpbmNsdWRlICJSZWFkYWJs
ZVN0cmVhbVJlYWRlckJ1aWx0aW5zV3JhcHBlci5oIgotI2VuZGlmCi0KIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotY2xhc3MgV2ViQ29yZUpTQ2xpZW50RGF0YSA6IHB1YmxpYyBKU0M6OlZNOjpDbGll
bnREYXRhIHsKLSAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJDb3JlSlNDbGllbnREYXRhKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CitjbGFzcyBKU0NsaWVudERhdGEgOiBwdWJsaWMgSlND
OjpWTTo6Q2xpZW50RGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSlNDbGllbnREYXRh
KTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgZnJpZW5kIGNsYXNzIFZNV29ybGRJdGVy
YXRvcjsKICAgICBmcmllbmQgdm9pZCBpbml0Tm9ybWFsV29ybGRDbGllbnREYXRhKEpTQzo6Vk0q
KTsKIAogcHVibGljOgotICAgIGV4cGxpY2l0IFdlYkNvcmVKU0NsaWVudERhdGEoSlNDOjpWTSYg
dm0pCi0gICAgICAgIDogbV9idWlsdGluTmFtZXMoJnZtKQotI2lmIEVOQUJMRShTVFJFQU1TX0FQ
SSkKLSAgICAgICAgLCBtX3JlYWRhYmxlU3RyZWFtQnVpbHRpbnMoJnZtKQotICAgICAgICAsIG1f
cmVhZGFibGVTdHJlYW1Db250cm9sbGVyQnVpbHRpbnMoJnZtKQotICAgICAgICAsIG1fcmVhZGFi
bGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucygmdm0pCi0gICAgICAgICwgbV9yZWFkYWJsZVN0cmVh
bVJlYWRlckJ1aWx0aW5zKCZ2bSkKLSAgICAgICAgLCBtX2J5dGVMZW5ndGhRdWV1aW5nU3RyYXRl
Z3lCdWlsdGlucygmdm0pCi0gICAgICAgICwgbV9jb3VudFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5z
KCZ2bSkKLSNlbmRpZgorICAgIGV4cGxpY2l0IEpTQ2xpZW50RGF0YShKU0M6OlZNJiB2bSkKKyAg
ICAgICAgOiBtX2J1aWx0aW5GdW5jdGlvbnModm0pCisgICAgICAgICwgbV9idWlsdGluTmFtZXMo
JnZtKQogICAgIHsKLSNpZiBFTkFCTEUoU1RSRUFNU19BUEkpCi0gICAgICAgIG1fcmVhZGFibGVT
dHJlYW1JbnRlcm5hbHNCdWlsdGlucy5leHBvcnROYW1lcygpOwotI2VuZGlmCiAgICAgfQogCi0g
ICAgdmlydHVhbCB+V2ViQ29yZUpTQ2xpZW50RGF0YSgpCisgICAgdmlydHVhbCB+SlNDbGllbnRE
YXRhKCkKICAgICB7CiAgICAgICAgIEFTU0VSVChtX3dvcmxkU2V0LmNvbnRhaW5zKG1fbm9ybWFs
V29ybGQuZ2V0KCkpKTsKICAgICAgICAgQVNTRVJUKG1fd29ybGRTZXQuc2l6ZSgpID09IDEpOwpA
QCAtOTQsMzUgKzc2LDE5IEBAIHB1YmxpYzoKICAgICB9CiAKICAgICBXZWJDb3JlQnVpbHRpbk5h
bWVzJiBidWlsdGluTmFtZXMoKSB7IHJldHVybiBtX2J1aWx0aW5OYW1lczsgfQotCi0jaWYgRU5B
QkxFKFNUUkVBTVNfQVBJKQotICAgIFJlYWRhYmxlU3RyZWFtQnVpbHRpbnNXcmFwcGVyJiByZWFk
YWJsZVN0cmVhbUJ1aWx0aW5zKCkgeyByZXR1cm4gbV9yZWFkYWJsZVN0cmVhbUJ1aWx0aW5zOyB9
Ci0gICAgUmVhZGFibGVTdHJlYW1Db250cm9sbGVyQnVpbHRpbnNXcmFwcGVyJiByZWFkYWJsZVN0
cmVhbUNvbnRyb2xsZXJCdWlsdGlucygpIHsgcmV0dXJuIG1fcmVhZGFibGVTdHJlYW1Db250cm9s
bGVyQnVpbHRpbnM7IH0KLSAgICBSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zV3JhcHBl
ciYgcmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucygpIHsgcmV0dXJuIG1fcmVhZGFibGVT
dHJlYW1JbnRlcm5hbHNCdWlsdGluczsgfQotICAgIFJlYWRhYmxlU3RyZWFtUmVhZGVyQnVpbHRp
bnNXcmFwcGVyJiByZWFkYWJsZVN0cmVhbVJlYWRlckJ1aWx0aW5zKCkgeyByZXR1cm4gbV9yZWFk
YWJsZVN0cmVhbVJlYWRlckJ1aWx0aW5zOyB9Ci0gICAgQnl0ZUxlbmd0aFF1ZXVpbmdTdHJhdGVn
eUJ1aWx0aW5zV3JhcHBlciYgYnl0ZUxlbmd0aFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zKCkgeyBy
ZXR1cm4gbV9ieXRlTGVuZ3RoUXVldWluZ1N0cmF0ZWd5QnVpbHRpbnM7IH0KLSAgICBDb3VudFF1
ZXVpbmdTdHJhdGVneUJ1aWx0aW5zV3JhcHBlciYgY291bnRRdWV1aW5nU3RyYXRlZ3lCdWlsdGlu
cygpIHsgcmV0dXJuIG1fY291bnRRdWV1aW5nU3RyYXRlZ3lCdWlsdGluczsgfQotI2VuZGlmCisg
ICAgSlNCdWlsdGluRnVuY3Rpb25zJiBidWlsdGluRnVuY3Rpb25zKCkgeyByZXR1cm4gbV9idWls
dGluRnVuY3Rpb25zOyB9CiAKIHByaXZhdGU6CiAgICAgSGFzaFNldDxET01XcmFwcGVyV29ybGQq
PiBtX3dvcmxkU2V0OwogICAgIFJlZlB0cjxET01XcmFwcGVyV29ybGQ+IG1fbm9ybWFsV29ybGQ7
CiAKKyAgICBKU0J1aWx0aW5GdW5jdGlvbnMgbV9idWlsdGluRnVuY3Rpb25zOwogICAgIFdlYkNv
cmVCdWlsdGluTmFtZXMgbV9idWlsdGluTmFtZXM7Ci0KLSNpZiBFTkFCTEUoU1RSRUFNU19BUEkp
Ci0gICAgUmVhZGFibGVTdHJlYW1CdWlsdGluc1dyYXBwZXIgbV9yZWFkYWJsZVN0cmVhbUJ1aWx0
aW5zOwotICAgIFJlYWRhYmxlU3RyZWFtQ29udHJvbGxlckJ1aWx0aW5zV3JhcHBlciBtX3JlYWRh
YmxlU3RyZWFtQ29udHJvbGxlckJ1aWx0aW5zOwotICAgIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxz
QnVpbHRpbnNXcmFwcGVyIG1fcmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGluczsKLSAgICBS
ZWFkYWJsZVN0cmVhbVJlYWRlckJ1aWx0aW5zV3JhcHBlciBtX3JlYWRhYmxlU3RyZWFtUmVhZGVy
QnVpbHRpbnM7Ci0gICAgQnl0ZUxlbmd0aFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zV3JhcHBlciBt
X2J5dGVMZW5ndGhRdWV1aW5nU3RyYXRlZ3lCdWlsdGluczsKLSAgICBDb3VudFF1ZXVpbmdTdHJh
dGVneUJ1aWx0aW5zV3JhcHBlciBtX2NvdW50UXVldWluZ1N0cmF0ZWd5QnVpbHRpbnM7Ci0jZW5k
aWYKIH07CiAKIGlubGluZSB2b2lkIGluaXROb3JtYWxXb3JsZENsaWVudERhdGEoSlNDOjpWTSog
dm0pCiB7Ci0gICAgV2ViQ29yZUpTQ2xpZW50RGF0YSogd2ViQ29yZUpTQ2xpZW50RGF0YSA9IG5l
dyBXZWJDb3JlSlNDbGllbnREYXRhKCp2bSk7CisgICAgSlNDbGllbnREYXRhKiB3ZWJDb3JlSlND
bGllbnREYXRhID0gbmV3IEpTQ2xpZW50RGF0YSgqdm0pOwogICAgIHZtLT5jbGllbnREYXRhID0g
d2ViQ29yZUpTQ2xpZW50RGF0YTsgLy8gflZNIGRlbGV0ZXMgdGhpcyBwb2ludGVyLgogICAgIHdl
YkNvcmVKU0NsaWVudERhdGEtPm1fbm9ybWFsV29ybGQgPSBET01XcmFwcGVyV29ybGQ6OmNyZWF0
ZSgqdm0sIHRydWUpOwogICAgIHZtLT5tX3R5cGVkQXJyYXlDb250cm9sbGVyID0gYWRvcHRSZWYo
bmV3IFdlYkNvcmVUeXBlZEFycmF5Q29udHJvbGxlcigpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2dlbmVyYXRlLWpzLWJ1aWx0aW5zLWFsbGlub25lIGIvU291cmNlL1dlYkNvcmUvZ2Vu
ZXJhdGUtanMtYnVpbHRpbnMtYWxsaW5vbmUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTA1YjQzZjMxOTgwZTI1YTA1
ZTM5OWM2YWNmMWRlYTg3N2Q4MDVjNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2dlbmVyYXRlLWpzLWJ1aWx0aW5zLWFsbGlub25lCkBAIC0wLDAgKzEsMjMzIEBACisjIS91c3Iv
YmluL3B5dGhvbgorIyBDb3B5cmlnaHQgKEMpIDIwMTUgQ2Fub24gSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisjIGFyZSBtZXQ6CisjIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisjICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyMgMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKKyMgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyMgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisjIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisjIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LAorIyBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisjIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorIyBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisjIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorIyAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworCitpbXBvcnQgYXJncGFyc2UKK2ltcG9ydCBmaWxl
Y21wCitpbXBvcnQgb3MKK2ltcG9ydCByZQorCitzaW5nbGVMaW5lQ29tbWVudFJlZ0V4cCA9IHJl
LmNvbXBpbGUociJcL1wvIEAuKj9cbiIsIHJlLk1VTFRJTElORSB8IHJlLlMpCisKK2RlZiByZXRy
aWV2ZUdlbmVyYXRpb25QYXJhbWV0ZXJzKGlucHV0KToKKyAgICBwYXJhbWV0ZXJzID0ge30KKyAg
ICB3aXRoIG9wZW4oaW5wdXQsICdyJykgYXMgaW5wdXRfZmlsZToKKyAgICAgICAgY29udGVudCA9
IGlucHV0X2ZpbGUucmVhZCgpCisgICAgICAgIGZvciBtYXRjaCBpbiBzaW5nbGVMaW5lQ29tbWVu
dFJlZ0V4cC5maW5kaXRlcihjb250ZW50KToKKyAgICAgICAgICAgIHZhbHVlcyA9IGNvbnRlbnRb
bWF0Y2guc3RhcnQoKSArIDQ6bWF0Y2guZW5kKCldLnNwbGl0KCc9JykKKyAgICAgICAgICAgIGlm
IGxlbih2YWx1ZXMpID09IDE6CisgICAgICAgICAgICAgICAgcGFyYW1ldGVyc1t2YWx1ZXNbMF0u
c3RyaXAoKV0gPSBUcnVlCisgICAgICAgICAgICBlbGlmIGxlbiAodmFsdWVzKSA9PSAyOgorICAg
ICAgICAgICAgICAgIHBhcmFtZXRlcnNbdmFsdWVzWzBdLnN0cmlwKCldID0gdmFsdWVzWzFdLnN0
cmlwKCkKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgcHJpbnQoIlNraXBwaW5n
IHBvdGVudGlhbCBnZW5lcmF0aW9uIHBhcmFtZXRlciBkaXJlY3RpdmU6IiAlIHZhbHVlcy5qb2lu
KCc9JykpCisgICAgcmV0dXJuIHBhcmFtZXRlcnMKKworCitkZWYgcmV0cmlldmVGaWxlc1dpdGhQ
YXJhbWV0ZXJzKGlucHV0cyk6CisgICAgZmlsZXMgPSBbXQorICAgIGNsYXNzIEZpbGVJbnB1dDog
cGFzcworICAgIGZvciBpbnB1dCBpbiBpbnB1dHM6CisgICAgICAgIGZpbGVfaW5wdXQgPSBGaWxl
SW5wdXQoKQorICAgICAgICBmaWxlX2lucHV0LnBhcmFtZXRlcnMgPSByZXRyaWV2ZUdlbmVyYXRp
b25QYXJhbWV0ZXJzKGlucHV0KQorICAgICAgICBmaWxlX2lucHV0Lm9wdGlvbmFsaWYgPSAoIiNp
ZiBFTkFCTEUoIiArIGZpbGVfaW5wdXQucGFyYW1ldGVyc1sib3B0aW9uYWwiXSArICIpXG4iKSBp
ZiAib3B0aW9uYWwiIGluIGZpbGVfaW5wdXQucGFyYW1ldGVycyBlbHNlICIiCisgICAgICAgIGZp
bGVfaW5wdXQub3B0aW9uYWxlbmRpZiA9ICIjZW5kaWZcbiIgaWYgIm9wdGlvbmFsIiBpbiBmaWxl
X2lucHV0LnBhcmFtZXRlcnMgZWxzZSAiIgorICAgICAgICBmaWxlX2lucHV0LmZpbGVuYW1lID0g
b3MucGF0aC5zcGxpdGV4dChvcy5wYXRoLmJhc2VuYW1lKGlucHV0KSlbMF0KKyAgICAgICAgZmls
ZV9pbnB1dC5uYW1lID0gZmlsZV9pbnB1dC5maWxlbmFtZVswXS5sb3dlcigpICsgZmlsZV9pbnB1
dC5maWxlbmFtZVsxOl0KKyAgICAgICAgZmlsZXMuYXBwZW5kKGZpbGVfaW5wdXQpCisgICAgcmV0
dXJuIGZpbGVzCisKKworZGVmIHdyaXRlQ29uZGl0aW9uYWwod3JpdGVyLCBpbnB1dF9maWxlLCB2
YWx1ZSk6CisgICAgd3JpdGVyLndyaXRlKGlucHV0X2ZpbGUub3B0aW9uYWxpZikKKyAgICB3cml0
ZXIud3JpdGUodmFsdWUpCisgICAgd3JpdGVyLndyaXRlKGlucHV0X2ZpbGUub3B0aW9uYWxlbmRp
ZikKKworCitwYXJzZXIgPSBhcmdwYXJzZS5Bcmd1bWVudFBhcnNlcigpCitwYXJzZXIuYWRkX2Fy
Z3VtZW50KCctLW91dHB1dF9kaXInLCBkZWZhdWx0PScnLCBoZWxwPSdvdXRwdXQgZGlyZWN0b3J5
JykKK3BhcnNlci5hZGRfYXJndW1lbnQoJ2lucHV0cycsIG1ldGF2YXI9J2lucHV0JywgbmFyZ3M9
JysnLCBoZWxwPSdwYXRoIHRvIGlucHV0IEpTIGZpbGVzJykKKworYXJncyA9IHBhcnNlci5wYXJz
ZV9hcmdzKCkKK2ZpbGVzID0gcmV0cmlldmVGaWxlc1dpdGhQYXJhbWV0ZXJzKGFyZ3MuaW5wdXRz
KQoraW50ZXJuYWxzX2ZpbGVzID0gWyBmIGZvciBmIGluIGZpbGVzIGlmICJpbnRlcm5hbHMiIGlu
IGYucGFyYW1ldGVycyBdCisKK2Jhc2VuYW1lID0gIldlYkNvcmVKU0J1aWx0aW5zIgorb3V0cHV0
X2Jhc2UgPSBvcy5wYXRoLmpvaW4oYXJncy5vdXRwdXRfZGlyLCBiYXNlbmFtZSkKK3ByaXZhdGVf
b3V0cHV0X2Jhc2UgPSBvcy5wYXRoLmpvaW4oYXJncy5vdXRwdXRfZGlyLCAiUHJpdmF0ZSIgKyBi
YXNlbmFtZSkKKworCisjIENyZWF0ZSB3cml0ZXJzCitidWlsdGluc0hlYWRlciA9IG9wZW4ob3V0
cHV0X2Jhc2UgKyAiLmgudG1wIiwgInciKQorYnVpbHRpbnNJbXBsZW1lbnRhdGlvbiA9IG9wZW4o
b3V0cHV0X2Jhc2UgKyAiLmNwcC50bXAiLCAidyIpCitwcml2YXRlQnVpbHRpbnNIZWFkZXIgPSBv
cGVuKHByaXZhdGVfb3V0cHV0X2Jhc2UgKyAiLmgudG1wIiwgInciKQorCitwcmVhbWJsZSA9ICIi
IgorLyogR2VuZXJhdGVkIGJ5IGdlbmVyYXRlLWpzLWJ1aWx0aW5zLWFsbGlub25lIGRvIG5vdCBo
YW5kIGVkaXQuICovCisKKy8qCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJl
OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqICBtb2RpZnkgaXQgdW5kZXIgdGhl
IHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBhcyBw
dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiAgdmVy
c2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz
aW9uLgorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh
dCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv
dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiAgTGVzc2Vy
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiAgWW91IHNo
b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1Ymxp
YworICogIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8g
dGhlIEZyZWUgU29mdHdhcmUKKyAqICBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJl
ZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKKyAqLworCisiIiIK
KworIyMjIyMjIyMjIyMjIyMjCisjIEdlbmVyYXRpb24gb2YgY3BwIGZpbGUgaW5jbHVkaW5nIGFs
bCBKUyBidWlsdGluIGdlbmVyYXRlZCBjcHAgZmlsZXMgd2l0aCBvcHRpb25hbCAjZmRlZiBkaXJl
Y3RpdmVzIGFzIGRlZmluZWQgYnkgQGVuYWJsZSBpbiBKUyBmaWxlcy4KKyMjIyMjIyMjIyMjIyMj
IworYnVpbHRpbnNJbXBsZW1lbnRhdGlvbi53cml0ZShwcmVhbWJsZSkKK2J1aWx0aW5zSW1wbGVt
ZW50YXRpb24ud3JpdGUoIiNpbmNsdWRlIFwiY29uZmlnLmhcIlxuXG4iKQorCisjIEluY2x1ZGlu
ZyBjcHAgZmlsZXMKK2ZvciBpbnB1dF9maWxlIGluIGZpbGVzOgorICAgIHdyaXRlQ29uZGl0aW9u
YWwoYnVpbHRpbnNJbXBsZW1lbnRhdGlvbiwgaW5wdXRfZmlsZSwgIiNpbmNsdWRlIFwiIiArIGlu
cHV0X2ZpbGUuZmlsZW5hbWUgKyAiQnVpbHRpbnMuY3BwXCJcbiIpOworCitidWlsdGluc0ltcGxl
bWVudGF0aW9uLmNsb3NlKCkKKworIyMjIyMjIyMjIyMjIyMjCisjIEdlbmVyYXRpb24gb2Ygd3Jh
cHBlciBoZWFkZXIgZmlsZSBkZWZpbmluZyBhY2Nlc3MgdG8gYWxsIGJ1aWx0aW4gZnVuY3Rpb25z
LgorIyMjIyMjIyMjIyMjIyMjCitidWlsdGluc0hlYWRlci53cml0ZShwcmVhbWJsZSkKK2J1aWx0
aW5zSGVhZGVyLndyaXRlKCIjaWZuZGVmICIgKyBiYXNlbmFtZSArICJfaFxuI2RlZmluZSAiICsg
YmFzZW5hbWUgKyAiX2hcblxuIikKKworZm9yIGlucHV0X2ZpbGUgaW4gZmlsZXM6CisgICAgd3Jp
dGVDb25kaXRpb25hbChidWlsdGluc0hlYWRlciwgaW5wdXRfZmlsZSwgIiNpbmNsdWRlIFwiIiAr
IGlucHV0X2ZpbGUuZmlsZW5hbWUgKyAiQnVpbHRpbnNXcmFwcGVyLmhcIlxuIik7CitidWlsdGlu
c0hlYWRlci53cml0ZSgiIiIKKworI2luY2x1ZGUgPHJ1bnRpbWUvVk0uaD4KKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitjbGFzcyBKU0J1aWx0aW5GdW5jdGlvbnMgeworcHVibGljOgorIiIiKQor
CisjIENvbnN0cnVjdG9yCitidWlsdGluc0hlYWRlci53cml0ZSgiICAgIGV4cGxpY2l0IEpTQnVp
bHRpbkZ1bmN0aW9ucyhKU0M6OlZNJiB2KVxuICAgICAgICA6IHZtKHYpXG4iKTsKK2ZvciBpbnB1
dF9maWxlIGluIGZpbGVzOgorICAgIHdyaXRlQ29uZGl0aW9uYWwoYnVpbHRpbnNIZWFkZXIsIGlu
cHV0X2ZpbGUsICIgICAgICAgICwgbV8iICsgaW5wdXRfZmlsZS5uYW1lICsgIkJ1aWx0aW5zKCZ2
bSlcbiIpOworYnVpbHRpbnNIZWFkZXIud3JpdGUoIiAgICB7XG4iKTsKK2ZvciBpbnB1dF9maWxl
IGluIGludGVybmFsc19maWxlczoKKyAgICB3cml0ZUNvbmRpdGlvbmFsKGJ1aWx0aW5zSGVhZGVy
LCBpbnB1dF9maWxlLCAiICAgICAgICBtXyIgKyBpbnB1dF9maWxlLm5hbWUgKyAiQnVpbHRpbnMu
ZXhwb3J0TmFtZXMoKTtcbiIpOworYnVpbHRpbnNIZWFkZXIud3JpdGUoIiAgICB9XG4iKTsKKwor
IyBHZXR0ZXJzCitmb3IgaW5wdXRfZmlsZSBpbiBmaWxlczoKKyAgICB3cml0ZUNvbmRpdGlvbmFs
KGJ1aWx0aW5zSGVhZGVyLCBpbnB1dF9maWxlLCAiICAgICIgKyBpbnB1dF9maWxlLmZpbGVuYW1l
ICsgIkJ1aWx0aW5zV3JhcHBlciYgIiArIGlucHV0X2ZpbGUubmFtZSAgKyAiQnVpbHRpbnMoKSB7
IHJldHVybiBtXyIgKyBpbnB1dF9maWxlLm5hbWUgICsgIkJ1aWx0aW5zO31cbiIpOworCisjIERl
Y2xhcmF0aW9ucworYnVpbHRpbnNIZWFkZXIud3JpdGUoIiIicHJpdmF0ZToKKyAgICBKU0M6OlZN
JiB2bTtcbiIiIik7Citmb3IgaW5wdXRfZmlsZSBpbiBmaWxlczoKKyAgICB3cml0ZUNvbmRpdGlv
bmFsKGJ1aWx0aW5zSGVhZGVyLCBpbnB1dF9maWxlLCAiICAgICIgKyBpbnB1dF9maWxlLmZpbGVu
YW1lICsgIkJ1aWx0aW5zV3JhcHBlciBtXyIgKyBpbnB1dF9maWxlLm5hbWUgICsgIkJ1aWx0aW5z
O1xuIik7CisKK2J1aWx0aW5zSGVhZGVyLndyaXRlKCIiIgorfTsKKworfQorCisjZW5kaWYKKyIi
Iik7CisKK2J1aWx0aW5zSGVhZGVyLmNsb3NlKCkKKworIyMjIyMjIyMjIyMjIyMjCisjIEdlbmVy
YXRpb24gb2YgY2xhc3Mgd3JhcHBpbmcgYWxsIGZ1bmN0aW9ucyBvZiBKUyBmaWxlcyBtYXJrZWQg
YXMgQGludGVybmFscy4KKyMjIyMjIyMjIyMjIyMjIworcHJpdmF0ZUJ1aWx0aW5zSGVhZGVyLndy
aXRlKHByZWFtYmxlKQorcHJpdmF0ZUJ1aWx0aW5zSGVhZGVyLndyaXRlKCIjaWZuZGVmIFByaXZh
dGUiICsgYmFzZW5hbWUgKyAiX2hcbiNkZWZpbmUgUHJpdmF0ZSIgKyBiYXNlbmFtZSArICJfaFxu
XG4iKQorCisjIEluY2x1ZGluZyBhbGwgbmVjZXNzcmFyeSB3cmFwcGVyIGhlYWRlcnMuCitmb3Ig
aW5wdXRfZmlsZSBpbiBpbnRlcm5hbHNfZmlsZXM6CisgICAgd3JpdGVDb25kaXRpb25hbChwcml2
YXRlQnVpbHRpbnNIZWFkZXIsIGlucHV0X2ZpbGUsICIjaW5jbHVkZSBcIiIgKyBpbnB1dF9maWxl
LmZpbGVuYW1lICsgIkJ1aWx0aW5zV3JhcHBlci5oXCJcbiIpCisKKyMgQ2xhc3MgZGVmaW5pdGlv
bgorcHJpdmF0ZUJ1aWx0aW5zSGVhZGVyLndyaXRlKCIiIgorbmFtZXNwYWNlIFdlYkNvcmUgewor
CitjbGFzcyBKU0J1aWx0aW5JbnRlcm5hbEZ1bmN0aW9ucyB7CitwdWJsaWM6CisiIiIpCisKKyMg
Q29uc3RydWN0b3IKK3ByaXZhdGVCdWlsdGluc0hlYWRlci53cml0ZSgiIiJleHBsaWNpdCBKU0J1
aWx0aW5JbnRlcm5hbEZ1bmN0aW9ucyhKU0M6OlZNJiB2KVxuICAgICAgICA6IHZtKHYpXG4iIiIp
Citmb3IgaW5wdXRfZmlsZSBpbiBpbnRlcm5hbHNfZmlsZXM6CisgICAgd3JpdGVDb25kaXRpb25h
bChwcml2YXRlQnVpbHRpbnNIZWFkZXIsIGlucHV0X2ZpbGUsICIgICAgICAgICwgbV8iICsgaW5w
dXRfZmlsZS5uYW1lICsgIkZ1bmN0aW9ucyh2bSlcbiIpCitwcml2YXRlQnVpbHRpbnNIZWFkZXIu
d3JpdGUoIiAgICB7IH1cblxuIikKKworIyBHZXR0ZXJzCitmb3IgaW5wdXRfZmlsZSBpbiBpbnRl
cm5hbHNfZmlsZXM6CisgICAgd3JpdGVDb25kaXRpb25hbChwcml2YXRlQnVpbHRpbnNIZWFkZXIs
IGlucHV0X2ZpbGUsICIgICAgIiArIGlucHV0X2ZpbGUuZmlsZW5hbWUgKyAiQnVpbHRpbkZ1bmN0
aW9ucyAiICsgaW5wdXRfZmlsZS5uYW1lICsgIigpIHsgcmV0dXJuIG1fIiArIGlucHV0X2ZpbGUu
bmFtZSArICJGdW5jdGlvbnM7IH1cbiIpCisKKyMgVmlzaXRvciB3cmFwcGVyIHJvdXRpbmUKK3By
aXZhdGVCdWlsdGluc0hlYWRlci53cml0ZSgiICAgIHZvaWQgdmlzaXQoSlNDOjpTbG90VmlzaXRv
ciYgdmlzaXRvcikge1xuIikKK2ZvciBpbnB1dF9maWxlIGluIGludGVybmFsc19maWxlczoKKyAg
ICB3cml0ZUNvbmRpdGlvbmFsKHByaXZhdGVCdWlsdGluc0hlYWRlciwgaW5wdXRfZmlsZSwgIiAg
ICAgICAgbV8iICsgaW5wdXRfZmlsZS5uYW1lICsgIkZ1bmN0aW9ucy52aXNpdCh2aXNpdG9yKTtc
biIpCitwcml2YXRlQnVpbHRpbnNIZWFkZXIud3JpdGUoIiAgICB9XG4iKQorCisjIEluaXQgd3Jh
cHBlciByb3V0aW5lCitwcml2YXRlQnVpbHRpbnNIZWFkZXIud3JpdGUoIiAgICB2b2lkIGluaXQo
SlNDOjpKU0dsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KSB7XG4iKQorZm9yIGlucHV0X2ZpbGUg
aW4gaW50ZXJuYWxzX2ZpbGVzOgorICAgIHdyaXRlQ29uZGl0aW9uYWwocHJpdmF0ZUJ1aWx0aW5z
SGVhZGVyLCBpbnB1dF9maWxlLCAiICAgICAgICBtXyIgKyBpbnB1dF9maWxlLm5hbWUgKyAiRnVu
Y3Rpb25zLmluaXQoZ2xvYmFsT2JqZWN0KTtcbiIpCitwcml2YXRlQnVpbHRpbnNIZWFkZXIud3Jp
dGUoIiAgICB9XG4iKQorCisjIFByaXZhdGUgbWVtYmVyIGZpZWxkcworcHJpdmF0ZUJ1aWx0aW5z
SGVhZGVyLndyaXRlKCIiIgorcHJpdmF0ZToKKyAgICBKU0M6OlZNJiB2bTtcbiIiIikKK2ZvciBp
bnB1dF9maWxlIGluIGludGVybmFsc19maWxlczoKKyAgICB3cml0ZUNvbmRpdGlvbmFsKHByaXZh
dGVCdWlsdGluc0hlYWRlciwgaW5wdXRfZmlsZSwgIiAgICAgIiArIGlucHV0X2ZpbGUuZmlsZW5h
bWUgKyAiQnVpbHRpbkZ1bmN0aW9ucyBtXyIgKyBpbnB1dF9maWxlLm5hbWUgKyAiRnVuY3Rpb25z
O1xuIikKKworcHJpdmF0ZUJ1aWx0aW5zSGVhZGVyLndyaXRlKCIiIgorfTsKKworfQorI2VuZGlm
CisiIiIpCisKK3ByaXZhdGVCdWlsdGluc0hlYWRlci5jbG9zZSgpCisKK2RlZiBjb3B5dGVtcGZp
bGUob3V0cHV0KToKKyAgICBpZiAobm90IG9zLnBhdGguZXhpc3RzKG91dHB1dCkpIG9yIChub3Qg
ZmlsZWNtcC5jbXAob3V0cHV0ICsgIi50bXAiLCBvdXRwdXQsIHNoYWxsb3c9RmFsc2UpKToKKyAg
ICAgICAgaWYgKG9zLnBhdGguZXhpc3RzKG91dHB1dCkpOgorICAgICAgICAgICAgb3MucmVtb3Zl
KG91dHB1dCkKKyAgICAgICAgb3MucmVuYW1lKG91dHB1dCArICIudG1wIiwgb3V0cHV0KQorICAg
IGVsc2U6CisgICAgICAgIG9zLnJlbW92ZShvdXRwdXQgKyAiLnRtcCIpCisKK2NvcHl0ZW1wZmls
ZShvdXRwdXRfYmFzZSArICIuaCIpCitjb3B5dGVtcGZpbGUob3V0cHV0X2Jhc2UgKyAiLmNwcCIp
Citjb3B5dGVtcGZpbGUocHJpdmF0ZV9vdXRwdXRfYmFzZSArICIuaCIpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>262594</attachid>
            <date>2015-10-07 05:00:30 -0700</date>
            <delta_ts>2015-10-07 14:00:50 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-149751-20151007135958.patch</filename>
            <type>text/plain</type>
            <size>49114</size>
            <attacher name="Xabier Rodríguez Calvar">calvaris</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkwNjYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
MDQ3NWY2ZTRiZTc2YWY3MGZkNDY2YjY3ZGRkNDMzMjE5OGU5YTk2Li5hNTM1YmU0Yzk3NjYwNjE3
NmNlMGI4YTFjYzE0MTJmOTNiYjdlZmU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxNS0xMC0wNyAgWGFiaWVyIFJvZHJpZ3VleiBDYWx2YXIgIDxjYWx2YXJp
c0BpZ2FsaWEuY29tPiBhbmQgWW91ZW5uIEZhYmxldCAgPHlvdWVubi5mYWJsZXRAY3JmLmNhbm9u
LmZyPgorCisgICAgICAgIEF1dG9tYXRlIFdlYkNvcmUgSlMgYnVpbHRpbnMgZ2VuZXJhdGlvbiBh
bmQgYnVpbGQgc3lzdGVtCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNDk3NTEKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAg
ICAgICAqIGdlbmVyYXRlLWpzLWJ1aWx0aW5zOiB1cGRhdGluZyB0aGUgcGFydCByZWxhdGVkIHRv
IFdlYkNvcmUgSlMgYmluZGluZy4KKwogMjAxNS0xMC0wNiAgTWFyayBMYW0gIDxtYXJrLmxhbUBh
cHBsZS5jb20+CiAKICAgICAgICAgRmFjdG9yaW5nIG91dCBvcF9zdWIgYmFzZWxpbmUgY29kZSBn
ZW5lcmF0aW9uIGludG8gSklUU3ViR2VuZXJhdG9yLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDQ3YjRmZjhkYjA0
NzBiOWE1ODE3MDg4MTMyZmUxMzAyODcxYjU0MmEuLjMwOTE2MThjNGMyOWE2YjhlYzQ5MWI3YzY3
Nzk4YzY5NzgwNjI4YzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw3MCBAQAorMjAxNS0xMC0wNyAg
WGFiaWVyIFJvZHJpZ3VleiBDYWx2YXIgIDxjYWx2YXJpc0BpZ2FsaWEuY29tPiBhbmQgWW91ZW5u
IEZhYmxldCAgPHlvdWVubi5mYWJsZXRAY3JmLmNhbm9uLmZyPgorCisgICAgICAgIEF1dG9tYXRl
IFdlYkNvcmUgSlMgYnVpbHRpbnMgZ2VuZXJhdGlvbiBhbmQgYnVpbGQgc3lzdGVtCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDk3NTEKKworICAgICAg
ICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBBZGRpbmcgYW5ub3RhdGlvbnMg
dG8gSlMgZmlsZXMgdG8ga25vdyB3aGV0aGVyIHRoZXkgc2hvdWxkIGJlIHVuZGVyIGEgY29tcGls
YXRpb24gZmxhZyBhbmQKKyAgICAgICAgd2hldGhlciB0aGV5IGFyZSBKUyBpbnRlcm5hbHMgb3Ig
SlMgdGllZCB0byBXZWJJREwuCisgICAgICAgIElmIGEgZmlsZSBpcyBzYWlkIGFzIEpTIGludGVy
bmFscywgYWxsIGZ1bmN0aW9uIG5hbWVzIGFyZSBleHBvcnRlZCBhdXRvbWF0aWNhbGx5LgorICAg
ICAgICBBZGRlZCBhdXRvIGdlbmVyYXRpb24gb2YgV2ViQ29yZUpTQnVpbHRpbnMuY3BwCisgICAg
ICAgIEFkZGVkIGF1dG8gZ2VuZXJhdGlvbiBvZiBKU0J1aWx0aW5GdW5jdGlvbnMgY2xhc3MgaW5z
aWRlIFdlYkNvcmVKU0J1aWx0aW5zIHRoYXQgdGFrZXMgdGhlIHJvbGUgb2YKKyAgICAgICAgV2Vi
Q29yZUpTQ2xpZW50RGF0YSBhcyB3cmFwcGVyIGZvciBidWlsdGlucy4gUmVuYW1lZCBXZWJDb3Jl
SlNDbGllbnREYXRhIHRvIEpTQ2xpZW50RGF0YS4KKyAgICAgICAgQWRkZWQgYXV0byBnZW5lcmF0
aW9uIG9mIFByaXZhdGVXZWJDb3JlSlNCdWlsdGlucyB0aGF0IGlzIGEgd3JhcHBlciBhcm91bmQg
YWxsIHByaXZhdGUgZnVuY3Rpb25zLCB1c2VkIGJ5CisgICAgICAgIEpTRE9NV2luZG93QmFzZS4g
VGhlIGNsYXNzIGlzIG5hbWVkIEpTQnVpbHRpbkludGVybmFsRnVuY3Rpb25zLgorCisgICAgICAg
IFRoZSByZW1haW5pbmcgbWFudWFsIHBhcnQgZm9yIHByaXZhdGUgZnVuY3Rpb25zIGlzIHRoZSBw
YWlyaW5nIGJldHdlZW4gcHJpdmF0ZSBpZGVudGlmaWVycyBhbmQKKyAgICAgICAgdGhlIHByaXZh
dGUgSlMgZnVuY3Rpb25zIHdpdGhpbiBKU0RPTVdpbmRvd0Jhc2U6OmZpbmlzaENyZWF0aW9uLgor
CisgICAgICAgIENvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAgKiBDTWFrZUxp
c3RzLnR4dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIE1vZHVs
ZXMvc3RyZWFtcy9CeXRlTGVuZ3RoUXVldWluZ1N0cmF0ZWd5LmpzOgorICAgICAgICAqIE1vZHVs
ZXMvc3RyZWFtcy9Db3VudFF1ZXVpbmdTdHJhdGVneS5qczoKKyAgICAgICAgKiBNb2R1bGVzL3N0
cmVhbXMvUmVhZGFibGVTdHJlYW0uanM6CisgICAgICAgICogTW9kdWxlcy9zdHJlYW1zL1JlYWRh
YmxlU3RyZWFtSW50ZXJuYWxzLmpzOgorICAgICAgICAqIFdlYkNvcmUub3JkZXI6CisgICAgICAg
ICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvRE9NV3JhcHBl
cldvcmxkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdyYXBwZXJXb3JsZDo6RE9NV3JhcHBl
cldvcmxkKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVdyYXBwZXJXb3JsZDo6fkRPTVdyYXBwZXJX
b3JsZCk6CisgICAgICAgIChXZWJDb3JlOjpub3JtYWxXb3JsZCk6CisgICAgICAgICogYmluZGlu
Z3MvanMvSlNET01XaW5kb3dCYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93
QmFzZTo6SlNET01XaW5kb3dCYXNlKToKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93QmFz
ZTo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3dCYXNlOjp2
aXNpdENoaWxkcmVuKToKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93QmFzZTo6ZmlyZUZy
YW1lQ2xlYXJlZFdhdGNocG9pbnRzRm9yV2luZG93KToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9K
U0RPTVdpbmRvd0Jhc2UuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdENvbnRyb2xsZXI6OmdldEFsbFdvcmxkcyk6
CisgICAgICAgICogYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6dHJhbnNmZXJBcnJheUJ1ZmZlcnMp
OgorICAgICAgICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVKU0NsaWVudERhdGEuaDoKKyAgICAgICAg
KFdlYkNvcmU6OkpTQ2xpZW50RGF0YTo6SlNDbGllbnREYXRhKToKKyAgICAgICAgKFdlYkNvcmU6
OkpTQ2xpZW50RGF0YTo6fkpTQ2xpZW50RGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpKU0NsaWVu
dERhdGE6OmJ1aWx0aW5GdW5jdGlvbnMpOgorICAgICAgICAoV2ViQ29yZTo6aW5pdE5vcm1hbFdv
cmxkQ2xpZW50RGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJDb3JlSlNDbGllbnREYXRhOjpX
ZWJDb3JlSlNDbGllbnREYXRhKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldlYkNvcmVK
U0NsaWVudERhdGE6On5XZWJDb3JlSlNDbGllbnREYXRhKTogRGVsZXRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OldlYkNvcmVKU0NsaWVudERhdGE6OnJlYWRhYmxlU3RyZWFtQnVpbHRpbnMpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6V2ViQ29yZUpTQ2xpZW50RGF0YTo6cmVhZGFibGVTdHJl
YW1Db250cm9sbGVyQnVpbHRpbnMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6V2ViQ29y
ZUpTQ2xpZW50RGF0YTo6cmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucyk6IERlbGV0ZWQu
CisgICAgICAgIChXZWJDb3JlOjpXZWJDb3JlSlNDbGllbnREYXRhOjpyZWFkYWJsZVN0cmVhbVJl
YWRlckJ1aWx0aW5zKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldlYkNvcmVKU0NsaWVu
dERhdGE6OmJ5dGVMZW5ndGhRdWV1aW5nU3RyYXRlZ3lCdWlsdGlucyk6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJDb3JlOjpXZWJDb3JlSlNDbGllbnREYXRhOjpjb3VudFF1ZXVpbmdTdHJhdGVneUJ1
aWx0aW5zKTogRGVsZXRlZC4KKyAgICAgICAgKiBnZW5lcmF0ZS1qcy1idWlsdGlucy1hbGxpbm9u
ZTogQWRkZWQuCisgICAgICAgIChyZXRyaWV2ZUdlbmVyYXRpb25QYXJhbWV0ZXJzKToKKyAgICAg
ICAgKHJldHJpZXZlRmlsZXNXaXRoUGFyYW1ldGVycyk6CisgICAgICAgIChyZXRyaWV2ZUZpbGVz
V2l0aFBhcmFtZXRlcnMuRmlsZUlucHV0KToKKyAgICAgICAgKHdyaXRlQ29uZGl0aW9uYWwpOgor
ICAgICAgICAoSlNCdWlsdGluRnVuY3Rpb25zKToKKyAgICAgICAgKFByaXZhdGUpOgorICAgICAg
ICAoSlNCdWlsdGluSW50ZXJuYWxGdW5jdGlvbnMpOgorICAgICAgICAoY29weXRlbXBmaWxlKToK
KwogMjAxNS0xMC0wNyAgQ2hhbmdTZW9rIE9oICA8Y2hhbmdzZW9rLm9oQGNvbGxhYm9yYS5jb20+
CiAKICAgICAgICAgW0dUS10gUHJvZ3Jlc3MgYmFyIGlzIGJyb2tlbiBvbiByZWNlbnQgR1RLKwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2dlbmVyYXRlLWpzLWJ1aWx0aW5zIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2dlbmVyYXRlLWpzLWJ1aWx0aW5zCmluZGV4IGIyODQxZjRk
MmEzZmJmMGJjYWJkZWZlNmNhMDNhYWE0ZDc5YTI2M2YuLmE5ZGUxZDgyOTFjZmE0MTQ2NjhkOThh
MGExYzI3YWI3NjMxNzM4OWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9nZW5l
cmF0ZS1qcy1idWlsdGlucworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZ2VuZXJhdGUtanMt
YnVpbHRpbnMKQEAgLTMxNCw4ICszMTQsOCBAQCBpZiAobmFtZXNwYWNlID09ICJKU0MiKToKIGVs
c2U6CiAgICAgYnVpbHRpbk5hbWUgPSBzY29wZU5hbWVbMF0ubG93ZXIoKSArIHNjb3BlTmFtZVsx
Ol0KICAgICBidWlsdGluc0ltcGxlbWVudGF0aW9uLndyaXRlKCIiIntcXAotICAgIFdlYkNvcmVK
U0NsaWVudERhdGEqIGNsaWVudERhdGEgPSBzdGF0aWNfY2FzdDxXZWJDb3JlSlNDbGllbnREYXRh
Kj4odm0uY2xpZW50RGF0YSk7IFxcCi0gICAgcmV0dXJuIGNsaWVudERhdGEtPiVzKCkuY29kZU5h
bWUjI0V4ZWN1dGFibGUoKS0+bGluayh2bSwgY2xpZW50RGF0YS0+JXMoKS5jb2RlTmFtZSMjU291
cmNlKCkpOyBcXAorICAgIEpTQ2xpZW50RGF0YSogY2xpZW50RGF0YSA9IHN0YXRpY19jYXN0PEpT
Q2xpZW50RGF0YSo+KHZtLmNsaWVudERhdGEpOyBcXAorICAgIHJldHVybiBjbGllbnREYXRhLT5i
dWlsdGluRnVuY3Rpb25zKCkuJXMoKS5jb2RlTmFtZSMjRXhlY3V0YWJsZSgpLT5saW5rKHZtLCBj
bGllbnREYXRhLT5idWlsdGluRnVuY3Rpb25zKCkuJXMoKS5jb2RlTmFtZSMjU291cmNlKCkpOyBc
XAogIiIiJSAoYnVpbHRpbk5hbWUsIGJ1aWx0aW5OYW1lKSkKIAogYnVpbHRpbnNJbXBsZW1lbnRh
dGlvbi53cml0ZSgiIiJ9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGI0NTViYzgyODM4MDBkZDQ0
ZGE3MzVkMjBhMjY2MzM5N2EzNTA4M2IuLjNhZGIyM2Y1YzE0ZWUxYTNmYTMyMzE4MWEwOGYxNDIz
YTg2NmVlOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBi
L1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0xMjQyLDcgKzEyNDIsNiBAQCBzZXQo
V2ViQ29yZV9TT1VSQ0VTCiAgICAgYmluZGluZ3MvanMvU2NyaXB0R2xvYmFsT2JqZWN0LmNwcAog
ICAgIGJpbmRpbmdzL2pzL1NjcmlwdFN0YXRlLmNwcAogICAgIGJpbmRpbmdzL2pzL1NlcmlhbGl6
ZWRTY3JpcHRWYWx1ZS5jcHAKLSAgICBiaW5kaW5ncy9qcy9XZWJDb3JlSlNCdWlsdGlucy5jcHAK
ICAgICBiaW5kaW5ncy9qcy9XZWJDb3JlVHlwZWRBcnJheUNvbnRyb2xsZXIuY3BwCiAgICAgYmlu
ZGluZ3MvanMvV29ya2VyU2NyaXB0Q29udHJvbGxlci5jcHAKICAgICBiaW5kaW5ncy9qcy9Xb3Jr
ZXJTY3JpcHREZWJ1Z1NlcnZlci5jcHAKQEAgLTM1OTMsNiArMzU5MiwxNyBAQCBmb3JlYWNoIChf
YnVpbHRpbmpzICR7V0VCQ09SRV9KU19CVUlMVElOU30pCiAgICAgKQogICAgIEFERF9TT1VSQ0Vf
V0VCQ09SRV9ERVJJVkVEX0RFUEVOREVOQ0lFUygke1dFQkNPUkVfRElSfS9iaW5kaW5ncy9qcy9X
ZWJDb3JlSlNCdWlsdGlucy5jcHAgJHtfbmFtZX1CdWlsdGlucy5jcHApCiBlbmRmb3JlYWNoICgp
CithZGRfY3VzdG9tX2NvbW1hbmQoCisgICAgT1VUUFVUICR7REVSSVZFRF9TT1VSQ0VTX1dFQkNP
UkVfRElSfS9Qcml2YXRlV2ViQ29yZUpTQnVpbHRpbnMuaCAke0RFUklWRURfU09VUkNFU19XRUJD
T1JFX0RJUn0vV2ViQ29yZUpTQnVpbHRpbnMuaCAke0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJ
Un0vV2ViQ29yZUpTQnVpbHRpbnMuY3BwCisgICAgTUFJTl9ERVBFTkRFTkNZICR7Q01BS0VfQ1VS
UkVOVF9TT1VSQ0VfRElSfS9nZW5lcmF0ZS1qcy1idWlsdGlucy1hbGxpbm9uZQorICAgIERFUEVO
RFMgJHtXZWJDb3JlX0dFTkVSQVRFX0pTX0JVSUxUSU5TX1NDUklQVFNfRElSfS9nZW5lcmF0ZS1q
cy1idWlsdGlucworICAgIENPTU1BTkQgJHtQWVRIT05fRVhFQ1VUQUJMRX0gJHtDTUFLRV9DVVJS
RU5UX1NPVVJDRV9ESVJ9L2dlbmVyYXRlLWpzLWJ1aWx0aW5zLWFsbGlub25lICR7V0VCQ09SRV9K
U19CVUlMVElOU30gLS1vdXRwdXRfZGlyICR7REVSSVZFRF9TT1VSQ0VTX1dFQkNPUkVfRElSfQor
ICAgIFZFUkJBVElNKQorbGlzdChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCisgICAgJHtERVJJVkVE
X1NPVVJDRVNfV0VCQ09SRV9ESVJ9L1ByaXZhdGVXZWJDb3JlSlNCdWlsdGlucy5oCisgICAgJHtE
RVJJVkVEX1NPVVJDRVNfV0VCQ09SRV9ESVJ9L1dlYkNvcmVKU0J1aWx0aW5zLmgKKyAgICAke0RF
UklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vV2ViQ29yZUpTQnVpbHRpbnMuY3BwCispCiAKIEFE
RF9TT1VSQ0VfV0VCQ09SRV9ERVJJVkVEX0RFUEVOREVOQ0lFUygke1dFQkNPUkVfRElSfS9odG1s
L0hUTUxUcmVlQnVpbGRlci5jcHAgTWF0aE1MTmFtZXMuY3BwKQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZQppbmRleCA0NjY1NGYyYWQzMTg4OWRiMzQyNTdiZmQ4YzhmYWM5M2UyZGYwNGI1
Li5hNTk2N2U3NTNmNWI0Yzc0ZjAxZWM3ZjI0ZTliNmRlNjZhYmY0MjE5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLm1ha2UKQEAgLTEyNjAsOSArMTI2MCwxMiBAQCBXRUJDT1JFX0pTX0JVSUxU
SU5TID0gXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtUmVh
ZGVyLmpzIFwKICMKIAotYWxsIDogJChXRUJDT1JFX0pTX0JVSUxUSU5TOiUuanM9JUJ1aWx0aW5z
LmNwcCkKK2FsbCA6IFdlYkNvcmVKU0J1aWx0aW5zLmNwcCAkKFdFQkNPUkVfSlNfQlVJTFRJTlM6
JS5qcz0lQnVpbHRpbnMuY3BwKQogCi0lQnVpbHRpbnMuY3BwOiAlLmpzCitXZWJDb3JlSlNCdWls
dGlucy5jcHA6ICQoV0VCQ09SRV9KU19CVUlMVElOUykgJChXZWJDb3JlKS9nZW5lcmF0ZS1qcy1i
dWlsdGlucy1hbGxpbm9uZQorCSQoUFlUSE9OKSAkKFdlYkNvcmUpL2dlbmVyYXRlLWpzLWJ1aWx0
aW5zLWFsbGlub25lICQoV0VCQ09SRV9KU19CVUlMVElOUykgIC0tb3V0cHV0X2RpciAuCisKKyVC
dWlsdGlucy5jcHA6ICUuanMgJChXZWJDb3JlKS9nZW5lcmF0ZS1qcy1idWlsdGlucwogCSQoUFlU
SE9OKSAkKFdlYkNvcmUpL2dlbmVyYXRlLWpzLWJ1aWx0aW5zIC0taW5wdXQgJDwgLS1nZW5lcmF0
ZV9qc19idWlsdGluc19wYXRoICQoR2VuZXJhdGVKU0J1aWx0aW5zU2NyaXB0cykKIAogIyAtLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
c3RyZWFtcy9CeXRlTGVuZ3RoUXVldWluZ1N0cmF0ZWd5LmpzIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9zdHJlYW1zL0J5dGVMZW5ndGhRdWV1aW5nU3RyYXRlZ3kuanMKaW5kZXggYTgyNjczNjdj
NDlkMDFhNTJlYjE5ZTdhNmE2YWVlY2U5MzNmYzA2NS4uZjk0ODEyNThhMDUxMTIwMTJlZjBkNDE2
ZTljYzQ2YjA5NDExZjVlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJl
YW1zL0J5dGVMZW5ndGhRdWV1aW5nU3RyYXRlZ3kuanMKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9zdHJlYW1zL0J5dGVMZW5ndGhRdWV1aW5nU3RyYXRlZ3kuanMKQEAgLTI0LDYgKzI0LDgg
QEAKICAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAorLy8gQG9wdGlvbmFsPVNUUkVBTVNfQVBJCisKIGZ1
bmN0aW9uIHNpemUoY2h1bmspCiB7CiAgICAgInVzZSBzdHJpY3QiOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL0NvdW50UXVldWluZ1N0cmF0ZWd5LmpzIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL0NvdW50UXVldWluZ1N0cmF0ZWd5LmpzCmluZGV4
IDkxMTczN2QwY2U1ZWRhMTFmMTZlNzc4ZGExYTNkZjFjZmM4OWIwMGUuLjQ0ZDYzMGI4YjhkYzNm
MjI0NjYwZTk4MTJkM2YxM2Y2MWM2ODJhZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvc3RyZWFtcy9Db3VudFF1ZXVpbmdTdHJhdGVneS5qcworKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3N0cmVhbXMvQ291bnRRdWV1aW5nU3RyYXRlZ3kuanMKQEAgLTIzLDYgKzIzLDgg
QEAKICAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAorLy8gQG9wdGlvbmFsPVNUUkVBTVNfQVBJCisKIGZ1
bmN0aW9uIHNpemUoKQogewogICAgICJ1c2Ugc3RyaWN0IjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbS5qcyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbS5qcwppbmRleCBkMzY2OTNhNDUxMzYyZWZk
YzhhZjk3MTRhOGU2MzkwOTUzNWVhNWJjLi5kMWYxYWYwYjMzNmRiYjdjNzI0ZjliNjMyYmRlMzhl
ZDAwN2EyZDMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVh
ZGFibGVTdHJlYW0uanMKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRh
YmxlU3RyZWFtLmpzCkBAIC05Nyw2ICs5Nyw4IEBAIGZ1bmN0aW9uIGdldFJlYWRlcigpCiAgICAg
cmV0dXJuIG5ldyBAUmVhZGFibGVTdHJlYW1SZWFkZXIodGhpcyk7CiB9CiAKKy8vIEBvcHRpb25h
bD1TVFJFQU1TX0FQSQorCiBmdW5jdGlvbiBwaXBlVGhyb3VnaChzdHJlYW1zLCBvcHRpb25zKQog
ewogICAgICJ1c2Ugc3RyaWN0IjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
c3RyZWFtcy9SZWFkYWJsZVN0cmVhbUludGVybmFscy5qcyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbUludGVybmFscy5qcwppbmRleCBlYmQ3Zjk5NTA3Yzg0
MjA1M2U4NDVhZTYyNWI3M2ZlZmZhYzZjN2ZjLi42ZDhmZTY2YjAzMGE0YWM5NTI1ZDgxNzE0N2Iw
Yzk4ZTJkNGJlN2I2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMv
UmVhZGFibGVTdHJlYW1JbnRlcm5hbHMuanMKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9z
dHJlYW1zL1JlYWRhYmxlU3RyZWFtSW50ZXJuYWxzLmpzCkBAIC03MSw2ICs3MSw5IEBAIGZ1bmN0
aW9uIHByaXZhdGVJbml0aWFsaXplUmVhZGFibGVTdHJlYW1Db250cm9sbGVyKHN0cmVhbSkKICAg
ICByZXR1cm4gdGhpczsKIH0KIAorLy8gQG9wdGlvbmFsPVNUUkVBTVNfQVBJCisvLyBAaW50ZXJu
YWxzCisKIGZ1bmN0aW9uIHRlZVJlYWRhYmxlU3RyZWFtKHN0cmVhbSwgc2hvdWxkQ2xvbmUpCiB7
CiAgICAgInVzZSBzdHJpY3QiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5v
cmRlciBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUub3JkZXIKaW5kZXggMTlhMTgwZDU0YjIzMTQw
YWI1N2E5MzQwM2M3ZWFmMWQzYjc0ODNjMy4uMTAzYTE4YjU2OWQ2MmIzODc0NTMxMTAzZjUxY2Nm
NjYwZTdhOGMxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5vcmRlcgorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLm9yZGVyCkBAIC0yNDcyMyw3ICsyNDcyMyw3IEBAIF9f
Wk43V2ViQ29yZUwyNEpTRE9NVVJMQ29uc3RydWN0b3JUYWJsZUUKIF9fWlpON1dlYkNvcmUxMndy
YXBwZXJPd25lckVQTlNfMTVET01XcmFwcGVyV29ybGRFUE5TXzZET01VUkxFRTEzanNET01VUkxP
d25lcgogX19aR1ZaTjdXZWJDb3JlMTJ3cmFwcGVyT3duZXJFUE5TXzE1RE9NV3JhcHBlcldvcmxk
RVBOU182RE9NVVJMRUUxM2pzRE9NVVJMT3duZXIKIF9fWk43V2ViQ29yZUwyN0pTRE9NV2luZG93
Q29uc3RydWN0b3JUYWJsZUUKLV9fWlRWTjdXZWJDb3JlMTlXZWJDb3JlSlNDbGllbnREYXRhRQor
X19aVFZON1dlYkNvcmUxOUpTQ2xpZW50RGF0YUUKIF9fWk43V2ViQ29yZUw0MEpTRHluYW1pY3ND
b21wcmVzc29yTm9kZUNvbnN0cnVjdG9yVGFibGVFCiBfX1pON1dlYkNvcmVMMzhKU0R5bmFtaWNz
Q29tcHJlc3Nvck5vZGVQcm90b3R5cGVUYWJsZUUKIF9fWk43V2ViQ29yZUwyOUpTRHluYW1pY3ND
b21wcmVzc29yTm9kZVRhYmxlRQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52
Y3hwcm9qL1dlYkNvcmUudmN4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9X
ZWJDb3JlLnZjeHByb2oKaW5kZXggOTQ5MmUwNjhkYzU1NmE1ZDg0OTg4ZGY1OGFiOGM4OGNkMjc1
NzhlYS4uNmU4NTg5YzQ2Y2MyM2RmYjlhNTE0OThkN2VhMWJlNGRlZDVkNmZiZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagorKysgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCkBAIC0yMzEsNiAr
MjMxLDIwIEBACiAgICAgPENsQ29tcGlsZSAvPgogICA8L0l0ZW1EZWZpbml0aW9uR3JvdXA+CiAg
IDxJdGVtR3JvdXA+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRpb25CdWls
ZERpcilcb2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNv
dXJjZXNcV2ViQ29yZUpTQnVpbHRpbnMuY3BwIj4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBD
b25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+
dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0
aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj50cnVlPC9F
eGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249Iick
KENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfFdpbjMyJyI+dHJ1
ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9u
PSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z19XaW5DYWlyb3x4NjQnIj50
cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRp
b249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnU3VmZml4fFdpbjMyJyI+
dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0
aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z1N1ZmZpeHx4NjQnIj50
cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRp
b249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj50cnVl
PC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249
IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+dHJ1ZTwvRXhj
bHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChD
b25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfFdpbjMyJyI+dHJ1
ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9u
PSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfHg2NCci
PnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRp
dGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnxXaW4zMici
PnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRp
dGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnx4NjQnIj50
cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxl
IEluY2x1ZGU9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmokKFBsYXRmb3JtQXJjaGl0ZWN0
dXJlKVwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xDb2xvckRhdGEuY3BwIiAvPgogICAg
IDxDbENvbXBpbGUgSW5jbHVkZT0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9iaiQoUGxhdGZv
cm1BcmNoaXRlY3R1cmUpXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXENTU0dyYW1tYXIu
Y3BwIj4KICAgICAgIDxEaXNhYmxlU3BlY2lmaWNXYXJuaW5ncyBDb25kaXRpb249IickKENvbmZp
Z3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+NDA2NTs0MjczOzQ1NjU7NDcw
MTs0NzAyOyUoRGlzYWJsZVNwZWNpZmljV2FybmluZ3MpPC9EaXNhYmxlU3BlY2lmaWNXYXJuaW5n
cz4KQEAgLTE4OTAxLDIwICsxODkxNSw2IEBACiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufFdpbjMy
JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9ufHg2NCci
PnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgIDwvQ2xDb21waWxlPgotICAgIDxDbENvbXBp
bGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcV2ViQ29yZUpTQnVpbHRpbnMuY3BwIj4KLSAgICAg
IDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZv
cm0pJz09J0RlYnVnfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhj
bHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9
PSdEZWJ1Z3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZy
b21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVn
X1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVk
ZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdE
ZWJ1Z19XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNs
dWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09
J0RlYnVnU3VmZml4fFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhj
bHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9
PSdEZWJ1Z1N1ZmZpeHx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNs
dWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09
J1JlbGVhc2V8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICAgIDxFeGNsdWRl
ZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Jl
bGVhc2V8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9t
QnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNl
X1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAgICA8RXhjbHVk
ZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdS
ZWxlYXNlX1dpbkNhaXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4
Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSkn
PT0nUHJvZHVjdGlvbnxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgotICAgICAgPEV4
Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSkn
PT0nUHJvZHVjdGlvbnx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAgICA8L0NsQ29t
cGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXFdvcmtlclNjcmlw
dENvbnRyb2xsZXIuY3BwIj4KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249Iick
KENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+dHJ1ZTwvRXhjbHVk
ZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25m
aWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21C
dWlsZD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagppbmRleCBlMmViZTk1Mjk0YjljMzFkNDAxZTNjZWQ2OTI1ZTkyYjFhNzQyNjU2Li4yMGRi
MDQ1MjYzYTFmNGM4YTY1ODE5ZTliOTAyZjE2MDFkODJjZDhhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNDg1LDcgKzE0ODUs
NiBAQAogCQk0MEVDQUU3RTE2QjhCNjcyMDBDMzYxMDMgLyogSlNET01FcnJvci5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDBFQ0FFN0QxNkI4QjY3MjAw
QzM2MTAzIC8qIEpTRE9NRXJyb3IuaCAqLzsgfTsKIAkJNDBFQ0FFODExNkI4QjY4QTAwQzM2MTAz
IC8qIEpTRE9NRXJyb3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNDBFQ0FFODAxNkI4QjY4QTAwQzM2MTAzIC8qIEpTRE9NRXJyb3IuY3BwICovOyB9
OwogCQk0MTBCN0U3MjEwNDVGQUIwMDBEODIyNEYgLyogSlNNZXNzYWdlRXZlbnRDdXN0b20uY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEwQjdFNzEx
MDQ1RkFCMDAwRDgyMjRGIC8qIEpTTWVzc2FnZUV2ZW50Q3VzdG9tLmNwcCAqLzsgfTsKLQkJNDEx
QTkwNDIxQkJBQjQ3QTAwMENGMTU2IC8qIFdlYkNvcmVKU0J1aWx0aW5zLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMUE5MDQxMUJCQUI0NkQwMDBD
RjE1NiAvKiBXZWJDb3JlSlNCdWlsdGlucy5jcHAgKi87IH07CiAJCTQxMjMwODFCMTM4QzQyOTcw
MEJDQ0ZDQSAvKiBXZWJDb3JlLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzRjE5QjFBMDgyNDVFNUEwMDFFOUFCQyAvKiBXZWJDb3Jl
LmZyYW1ld29yayAqLzsgfTsKIAkJNDEyMzA5MTMxMzhDNDJGRjAwQkNDRkNBIC8qIEphdmFTY3Jp
cHRDb3JlLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEY4MjE2Mjk5MDI5RjRGQjUwMTAwMDEzMSAvKiBKYXZhU2NyaXB0Q29yZS5mcmFt
ZXdvcmsgKi87IH07CiAJCTQxMjdENTM3MEY4QUFCMUQwMEU0MjRGNSAvKiBTY3JpcHRTdGF0ZS5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTI3RDUz
NjBGOEFBQjFEMDBFNDI0RjUgLyogU2NyaXB0U3RhdGUuY3BwICovOyB9OwpAQCAtMTUwOCw3ICsx
NTA3LDggQEAKIAkJNDE2RTI5QTYxMDJGQTk2MjAwN0ZDMTRFIC8qIFdvcmtlclJlcG9ydGluZ1By
b3h5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTZF
MjlBNTEwMkZBOTYyMDA3RkMxNEUgLyogV29ya2VyUmVwb3J0aW5nUHJveHkuaCAqLzsgfTsKIAkJ
NDE2RTZGRTgxQkJEMTJERjAwMEE2MDQzIC8qIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRp
bnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlCMDNE
ODA2MUJCMzExMEQwMEI3NjREOSAvKiBSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDE2RTZG
RTkxQkJEMTJFNTAwMEE2MDQzIC8qIFJlYWRhYmxlU3RyZWFtQnVpbHRpbnMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlCMDNEODA2MUJCMzExMEQwMEI3
NjREOCAvKiBSZWFkYWJsZVN0cmVhbUJ1aWx0aW5zLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJNDE2RTZGRUExQkJEMTY4NDAwMEE2MDQzIC8qIFJl
YWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnNXcmFwcGVyLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5QjAzRDgwNzFCQjMxMTBEMDBCNzY0RDkgLyog
UmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGluc1dyYXBwZXIuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk0MTZFNkZFQTFCQkQxNjg0MDAwQTYw
NDQgLyogUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGluc1dyYXBwZXIuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlCMDNEODA3MUJCMzExMEQwMEI3
NjREQSAvKiBSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zV3JhcHBlci5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTQxNkU2RkVBMUJCRDE2
ODQwMDBBNjA0MyAvKiBQcml2YXRlV2ViQ29yZUpTQnVpbHRpbnMuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlCMDNEODA3MUJCMzExMEQwMEI3NjREOSAv
KiBQcml2YXRlV2ViQ29yZUpTQnVpbHRpbnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQk0MTcyNTNBQTEzNTRCQkJDMDAzNjBGMkEgLyogTWVkaWFD
b250cm9sRWxlbWVudHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNDE3MjUzQTgxMzU0QkJCQzAwMzYwRjJBIC8qIE1lZGlhQ29udHJvbEVsZW1lbnRz
LmNwcCAqLzsgfTsKIAkJNDE3MjUzQUIxMzU0QkJCQzAwMzYwRjJBIC8qIE1lZGlhQ29udHJvbEVs
ZW1lbnRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
MTcyNTNBOTEzNTRCQkJDMDAzNjBGMkEgLyogTWVkaWFDb250cm9sRWxlbWVudHMuaCAqLzsgfTsK
IAkJNDE3REE2RDkxMzczNEU2RTAwN0M1N0ZCIC8qIEludGVybmFscy5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTdEQTRDRjEzNzM0MzI2MDA3QzU3
RkIgLyogSW50ZXJuYWxzLmNwcCAqLzsgfTsKQEAgLTI2MzIsNiArMjYzMiw3IEBACiAJCTdDNDhB
NkQwMTkxQzlENjUwMDAyNjY3NCAvKiBXZWJLaXROYW1lc3BhY2UuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M0OEE2Q0UxOTFDOUQ2NTAwMDI2Njc0
IC8qIFdlYktpdE5hbWVzcGFjZS5jcHAgKi87IH07CiAJCTdDNDhBNkQxMTkxQzlENjUwMDAyNjY3
NCAvKiBXZWJLaXROYW1lc3BhY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDdDNDhBNkNGMTkxQzlENjUwMDAyNjY3NCAvKiBXZWJLaXROYW1lc3BhY2Uu
aCAqLzsgfTsKIAkJN0M0OTAyQTIxOEI4MjVGODAwN0Q5Mjk4IC8qIERPTVdoZWVsRXZlbnRJbnRl
cm5hbC5oIGluIENvcHkgR2VuZXJhdGVkIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gODU5ODlEQ0EwQUNDOEJCRDAwQTBCQzUxIC8qIERPTVdoZWVsRXZlbnRJbnRl
cm5hbC5oICovOyB9OworCQk3QzRDOTZEQzFBRDQ0ODM1MDAzNjVBNTEgLyogV2ViQ29yZUpTQnVp
bHRpbnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
N0M0Qzk2RDgxQUQ0NDgzNTAwMzY1QTUxIC8qIFdlYkNvcmVKU0J1aWx0aW5zLmNwcCAqLzsgfTsK
IAkJN0M0Qzk2REMxQUQ0NDgzNTAwMzY1QTUwIC8qIEpTUmVhZGFibGVTdHJlYW0uY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M0Qzk2RDgxQUQ0NDgz
NTAwMzY1QTUwIC8qIEpTUmVhZGFibGVTdHJlYW0uY3BwICovOyB9OwogCQk3QzRDOTZERDFBRDQ0
ODM1MDAzNjVBNTAgLyogSlNSZWFkYWJsZVN0cmVhbS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M0Qzk2RDkxQUQ0NDgzNTAwMzY1QTUwIC8qIEpTUmVh
ZGFibGVTdHJlYW0uaCAqLzsgfTsKIAkJN0M0Qzk2REUxQUQ0NDgzNTAwMzY1QTUwIC8qIEpTUmVh
ZGFibGVTdHJlYW1SZWFkZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gN0M0Qzk2REExQUQ0NDgzNTAwMzY1QTUwIC8qIEpTUmVhZGFibGVTdHJlYW1S
ZWFkZXIuY3BwICovOyB9OwpAQCAtODc2Myw3ICs4NzY0LDYgQEAKIAkJNDBFQ0FFODAxNkI4QjY4
QTAwQzM2MTAzIC8qIEpTRE9NRXJyb3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSlNET01FcnJvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQx
MEI3RTcxMTA0NUZBQjAwMEQ4MjI0RiAvKiBKU01lc3NhZ2VFdmVudEN1c3RvbS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU01lc3NhZ2VFdmVudEN1c3RvbS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMTg5RUY3MUFEODIzMjgwMEI5MEEwRCAv
KiBSZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXIuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFJl
YWRhYmxlU3RyZWFtQ29udHJvbGxlci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0J
CTQxMUE5MDQxMUJCQUI0NkQwMDBDRjE1NiAvKiBXZWJDb3JlSlNCdWlsdGlucy5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJDb3JlSlNCdWlsdGlucy5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMjdENTM2MEY4QUFCMUQwMEU0MjRGNSAvKiBT
Y3JpcHRTdGF0ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTY3Jp
cHRTdGF0ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMjlERjgxMUJCNUI3
OUIwMDMyMkExNiAvKiBSZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gUmVhZGFibGVTdHJlYW1Db250cm9sbGVyLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTQxMjlERjgyMUJCNUI3QTYwMDMyMkExNiAvKiBSZWFkYWJsZVN0
cmVhbVJlYWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZWFkYWJsZVN0
cmVhbVJlYWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTAwNTAsNiArMTAw
NTAsNyBAQAogCQk3QzQ4QTZDRTE5MUM5RDY1MDAwMjY2NzQgLyogV2ViS2l0TmFtZXNwYWNlLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYktpdE5hbWVzcGFjZS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDNDhBNkNGMTkxQzlENjUwMDAyNjY3
NCAvKiBXZWJLaXROYW1lc3BhY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
V2ViS2l0TmFtZXNwYWNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDNDhBNkQy
MTkxQzlEOEUwMDAyNjY3NCAvKiBXZWJLaXROYW1lc3BhY2UuaWRsICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYktpdE5hbWVz
cGFjZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTdDNEM5NkQ4MUFENDQ4MzUw
MDM2NUE1MSAvKiBXZWJDb3JlSlNCdWlsdGlucy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBXZWJDb3JlSlNCdWlsdGlucy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTdDNEM5NkQ4MUFENDQ4MzUwMDM2NUE1MCAvKiBKU1JlYWRhYmxlU3RyZWFtLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTUmVhZGFibGVTdHJlYW0u
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QzRDOTZEOTFBRDQ0ODM1MDAzNjVB
NTAgLyogSlNSZWFkYWJsZVN0cmVhbS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBKU1JlYWRhYmxlU3RyZWFtLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDNEM5
NkRBMUFENDQ4MzUwMDM2NUE1MCAvKiBKU1JlYWRhYmxlU3RyZWFtUmVhZGVyLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTUmVhZGFibGVTdHJlYW1SZWFkZXIuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTEzMjEsNyArMTEzMjIsOCBAQAogCQk5
QjAzRDgwNjFCQjMxMTBEMDBCNzY0RDggLyogUmVhZGFibGVTdHJlYW1CdWlsdGlucy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZWFkYWJsZVN0cmVhbUJ1aWx0aW5zLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTlCMDNEODA2MUJCMzExMEQwMEI3NjREOSAvKiBS
ZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJOUIwM0Q4MDcxQkIzMTEwRDAwQjc2NEQ4IC8qIFJlYWRhYmxlU3Ry
ZWFtQnVpbHRpbnNXcmFwcGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJl
YWRhYmxlU3RyZWFtQnVpbHRpbnNXcmFwcGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
Ci0JCTlCMDNEODA3MUJCMzExMEQwMEI3NjREOSAvKiBSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1
aWx0aW5zV3JhcHBlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZWFkYWJs
ZVN0cmVhbUludGVybmFsc0J1aWx0aW5zV3JhcHBlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk5QjAzRDgwNzFCQjMxMTBEMDBCNzY0REEgLyogUmVhZGFibGVTdHJlYW1JbnRlcm5h
bHNCdWlsdGluc1dyYXBwZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVh
ZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGluc1dyYXBwZXIuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJOUIwM0Q4MDcxQkIzMTEwRDAwQjc2NEQ5IC8qIFByaXZhdGVXZWJDb3JlSlNC
dWlsdGlucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQcml2YXRlV2ViQ29y
ZUpTQnVpbHRpbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOUIxOUI2N0UxQjk2
NEU1MjAwMzQ4NzQ1IC8qIFNoYWRvd1Jvb3QuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFNo
YWRvd1Jvb3QuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5QjFBQjA3OTE2NDhD
NjlEMDA1MUYzRjIgLyogSFRNTEZvcm1Db250cm9sc0NvbGxlY3Rpb24uaWRsICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEhUTUxG
b3JtQ29udHJvbHNDb2xsZWN0aW9uLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
OUIxQUIwN0IxNjQ4QzdDNDAwNTFGM0YyIC8qIEpTSFRNTEZvcm1Db250cm9sc0NvbGxlY3Rpb25D
dXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNIVE1MRm9y
bUNvbnRyb2xzQ29sbGVjdGlvbkN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CkBAIC0xNjI3OSw2ICsxNjI4MSw3IEBACiAJCTQxQTAyM0ZBMUEzOUYxM0EwMEY3MjJDRiAvKiBT
dHJlYW1zICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQk3
QzRDOTZEODFBRDQ0ODM1MDAzNjVBNTEgLyogV2ViQ29yZUpTQnVpbHRpbnMuY3BwICovLAogCQkJ
CTdDNEM5NkQ4MUFENDQ4MzUwMDM2NUE1MCAvKiBKU1JlYWRhYmxlU3RyZWFtLmNwcCAqLywKIAkJ
CQk3QzRDOTZEOTFBRDQ0ODM1MDAzNjVBNTAgLyogSlNSZWFkYWJsZVN0cmVhbS5oICovLAogCQkJ
CTZDNEM5NkRBMUFENDQ4MzUwMDM2NUE1MCAvKiBKU1JlYWRhYmxlU3RyZWFtQ29udHJvbGxlci5j
cHAgKi8sCkBAIC0xNzA3MCw3ICsxNzA3Myw4IEBACiAJCQkJOUIwM0Q4MDYxQkIzMTEwRDAwQjc2
NEQ4IC8qIFJlYWRhYmxlU3RyZWFtQnVpbHRpbnMuaCAqLywKIAkJCQk5QjAzRDgwNjFCQjMxMTBE
MDBCNzY0RDkgLyogUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5oICovLAogCQkJCTlC
MDNEODA3MUJCMzExMEQwMEI3NjREOCAvKiBSZWFkYWJsZVN0cmVhbUJ1aWx0aW5zV3JhcHBlci5o
ICovLAotCQkJCTlCMDNEODA3MUJCMzExMEQwMEI3NjREOSAvKiBSZWFkYWJsZVN0cmVhbUludGVy
bmFsc0J1aWx0aW5zV3JhcHBlci5oICovLAorCQkJCTlCMDNEODA3MUJCMzExMEQwMEI3NjREQSAv
KiBSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zV3JhcHBlci5oICovLAorCQkJCTlCMDNE
ODA3MUJCMzExMEQwMEI3NjREOSAvKiBQcml2YXRlV2ViQ29yZUpTQnVpbHRpbnMuaCAqLywKIAkJ
CQk0M0I4NUVEMjE4Q0JFQzUyMDBFMzFBRjQgLyogU2VsZWN0b3JQc2V1ZG9DbGFzc0FuZENvbXBh
dGliaWxpdHlFbGVtZW50TWFwLmNwcCAqLywKIAkJCQk0M0I4NUVEMzE4Q0JFQzUyMDBFMzFBRjQg
LyogU2VsZWN0b3JQc2V1ZG9DbGFzc0FuZENvbXBhdGliaWxpdHlFbGVtZW50TWFwLmdwZXJmICov
LAogCQkJCTI2QUEwRjlEMThEMkExOEIwMDQxOTM4MSAvKiBTZWxlY3RvclBzZXVkb0VsZW1lbnRU
eXBlTWFwLmNwcCAqLywKQEAgLTIxNjY3LDcgKzIxNjcxLDYgQEAKIAkJCQkxNDAwRDdBNzE3MTM2
RUE3MDA3N0NFMDUgLyogU2NyaXB0V3JhcHBhYmxlSW5saW5lcy5oICovLAogCQkJCUE3NUU0OTc1
MTA3NTJBQ0IwMEM5Qjg5NiAvKiBTZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwICovLAogCQkJCUE3
NUU0OTc0MTA3NTJBQ0IwMEM5Qjg5NiAvKiBTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCAqLywKLQkJ
CQk0MTFBOTA0MTFCQkFCNDZEMDAwQ0YxNTYgLyogV2ViQ29yZUpTQnVpbHRpbnMuY3BwICovLAog
CQkJCUJDNTNEOTEwMTE0MzEwQ0MwMDBEODE3RSAvKiBXZWJDb3JlSlNDbGllbnREYXRhLmggKi8s
CiAJCQkJMEYwOTlEMDYxN0I5NjhBMTAwRkY4NEI5IC8qIFdlYkNvcmVUeXBlZEFycmF5Q29udHJv
bGxlci5jcHAgKi8sCiAJCQkJMEYwOTlEMDcxN0I5NjhBMTAwRkY4NEI5IC8qIFdlYkNvcmVUeXBl
ZEFycmF5Q29udHJvbGxlci5oICovLApAQCAtMjU3MjEsNyArMjU3MjQsOCBAQAogCQkJCUZDOUUw
RTREMTY0MTlDMUUwMDM5MkJFMyAvKiBKU0RPTVdpbmRvd0NTUy5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNjUyRkJCQkMwREUyN0NCNjAwMDFEMzg2IC8qIEpTRE9NV2luZG93Q3VzdG9tLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlCQ0JGQjUzRDBEQ0QyOUNGMDAxOUIzRTUgLyogSlNET01XaW5kb3dTaGVs
bC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNDE2RTZGRUExQkJEMTY4NDAwMEE2MDQzIC8qIFJlYWRh
YmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnNXcmFwcGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQk0
MTZFNkZFQTFCQkQxNjg0MDAwQTYwNDQgLyogUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlu
c1dyYXBwZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxNkU2RkVBMUJCRDE2ODQwMDBBNjA0MyAv
KiBQcml2YXRlV2ViQ29yZUpTQnVpbHRpbnMuaCBpbiBIZWFkZXJzICovLAogCQkJCTY1RTBFOTQ0
MTEzM0M4OUYwMEI0Q0IxMCAvKiBKU0RPTVdyYXBwZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUZE
Nzg2OEJBMTM2Qjk5OTIwMEQ0MDNERiAvKiBKU0R5bmFtaWNzQ29tcHJlc3Nvck5vZGUuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTY1REYzMUZBMDlEMUNDNjAwMDBCRTMyNSAvKiBKU0VsZW1lbnQuaCBp
biBIZWFkZXJzICovLApAQCAtMjkwNjEsNyArMjkwNjUsNiBAQAogCQkJCUE4RUE3OUYzMEExOTE2
REYwMEE4RUY1RiAvKiBIVE1MVUxpc3RFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUU0
NDYxM0FBMENENjMzMTAwMEZBREE3NSAvKiBIVE1MVmlkZW9FbGVtZW50LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTgzOUFBRkVDMUEwQzBDOEQwMDYwNUY5OSAvKiBIVE1MV0JSRWxlbWVudC5jcHAg
aW4gU291cmNlcyAqLywKLQkJCQk0MTFBOTA0MjFCQkFCNDdBMDAwQ0YxNTYgLyogV2ViQ29yZUpT
QnVpbHRpbnMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEI4QzU2RDQwRjI4NjI3RjAwMDUwMkUx
IC8qIEhUVFBIZWFkZXJNYXAuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUFDOTAwQzMxOTQzQzBG
QzAwODYyNUI1IC8qIEhUVFBIZWFkZXJOYW1lcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTRD
NzY3MjBDRTkyM0ExMDA3RUYzQ0QgLyogSFRUUFBhcnNlcnMuY3BwIGluIFNvdXJjZXMgKi8sCkBA
IC0yOTU3Myw2ICsyOTU3Niw3IEBACiAJCQkJMDc3NjY0RkMxODNFNkI1QzAwMTMzQjkyIC8qIEpT
UXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjY1OEZG
QTExNTIyRUYzQTAwREQ1NTk1IC8qIEpTUmFkaW9Ob2RlTGlzdC5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk2NURGMzIwMTA5RDFDQzYwMDAwQkUzMjUgLyogSlNSYW5nZS5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQk3QzRDOTZEQzFBRDQ0ODM1MDAzNjVBNTEgLyogV2ViQ29yZUpTQnVpbHRpbnMuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJN0M0Qzk2REMxQUQ0NDgzNTAwMzY1QTUwIC8qIEpTUmVhZGFi
bGVTdHJlYW0uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNkM0Qzk2REUxQUQ0NDgzNTAwMzY1QTUw
IC8qIEpTUmVhZGFibGVTdHJlYW1Db250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdD
NEM5NkRFMUFENDQ4MzUwMDM2NUE1MCAvKiBKU1JlYWRhYmxlU3RyZWFtUmVhZGVyLmNwcCBpbiBT
b3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvRE9NV3Jh
cHBlcldvcmxkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0RPTVdyYXBwZXJXb3Js
ZC5jcHAKaW5kZXggM2RkMjVlMThjMTRmNjE0YTQ4MzgxMjcyYmE1MjlhOTJkZGIwYTFlNi4uM2E5
YWNjYmM0ZDllNDQ0ZDRmYzFlY2U3YTc4YmY1NTEyNjE2ZTY2YSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvRE9NV3JhcHBlcldvcmxkLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9ET01XcmFwcGVyV29ybGQuY3BwCkBAIC0zNiwxNCArMzYsMTQgQEAg
RE9NV3JhcHBlcldvcmxkOjpET01XcmFwcGVyV29ybGQoSlNDOjpWTSYgdm0sIGJvb2wgaXNOb3Jt
YWwpCiB7CiAgICAgVk06OkNsaWVudERhdGEqIGNsaWVudERhdGEgPSBtX3ZtLmNsaWVudERhdGE7
CiAgICAgQVNTRVJUKGNsaWVudERhdGEpOwotICAgIHN0YXRpY19jYXN0PFdlYkNvcmVKU0NsaWVu
dERhdGEqPihjbGllbnREYXRhKS0+cmVtZW1iZXJXb3JsZCgqdGhpcyk7CisgICAgc3RhdGljX2Nh
c3Q8SlNDbGllbnREYXRhKj4oY2xpZW50RGF0YSktPnJlbWVtYmVyV29ybGQoKnRoaXMpOwogfQog
CiBET01XcmFwcGVyV29ybGQ6On5ET01XcmFwcGVyV29ybGQoKQogewogICAgIFZNOjpDbGllbnRE
YXRhKiBjbGllbnREYXRhID0gbV92bS5jbGllbnREYXRhOwogICAgIEFTU0VSVChjbGllbnREYXRh
KTsKLSAgICBzdGF0aWNfY2FzdDxXZWJDb3JlSlNDbGllbnREYXRhKj4oY2xpZW50RGF0YSktPmZv
cmdldFdvcmxkKCp0aGlzKTsKKyAgICBzdGF0aWNfY2FzdDxKU0NsaWVudERhdGEqPihjbGllbnRE
YXRhKS0+Zm9yZ2V0V29ybGQoKnRoaXMpOwogCiAgICAgLy8gVGhlc2UgaXRlbXMgYXJlIGNyZWF0
ZWQgbGF6aWx5LgogICAgIHdoaWxlICghbV9zY3JpcHRDb250cm9sbGVyc1dpdGhXaW5kb3dTaGVs
bHMuaXNFbXB0eSgpKQpAQCAtNjMsNyArNjMsNyBAQCBET01XcmFwcGVyV29ybGQmIG5vcm1hbFdv
cmxkKEpTQzo6Vk0mIHZtKQogewogICAgIFZNOjpDbGllbnREYXRhKiBjbGllbnREYXRhID0gdm0u
Y2xpZW50RGF0YTsKICAgICBBU1NFUlQoY2xpZW50RGF0YSk7Ci0gICAgcmV0dXJuIHN0YXRpY19j
YXN0PFdlYkNvcmVKU0NsaWVudERhdGEqPihjbGllbnREYXRhKS0+bm9ybWFsV29ybGQoKTsKKyAg
ICByZXR1cm4gc3RhdGljX2Nhc3Q8SlNDbGllbnREYXRhKj4oY2xpZW50RGF0YSktPm5vcm1hbFdv
cmxkKCk7CiB9CiAKIERPTVdyYXBwZXJXb3JsZCYgbWFpblRocmVhZE5vcm1hbFdvcmxkKCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwCmluZGV4IDll
MGZmNGZjODlhNjgwMDYzZDVhYTc1NjJmYWNlNGI2OTFmYmYwZjAuLjUzMWY0ZGQ3NWZiYmVjMzcz
ZmEyODRmNTYyMTMwYjlmNDE0NDZkNjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRE9NV2luZG93QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNET01XaW5kb3dCYXNlLmNwcApAQCAtNzAsOSArNzAsNyBAQCBKU0RPTVdpbmRvd0Jhc2U6
OkpTRE9NV2luZG93QmFzZShWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0dXJlLCBQYXNzUmVmUHRy
PERPTVdpbgogICAgICwgbV93aW5kb3dDbG9zZVdhdGNocG9pbnRzKCh3aW5kb3cgJiYgd2luZG93
LT5mcmFtZSgpKSA/IElzV2F0Y2hlZCA6IElzSW52YWxpZGF0ZWQpCiAgICAgLCBtX2ltcGwod2lu
ZG93KQogICAgICwgbV9zaGVsbChzaGVsbCkKLSNpZiBFTkFCTEUoU1RSRUFNU19BUEkpCi0gICAg
LCBtX3JlYWRhYmxlU3RyZWFtRnVuY3Rpb25zKHZtKQotI2VuZGlmCisgICAgLCBtX3ByaXZhdGVG
dW5jdGlvbnModm0pCiB7CiB9CiAKQEAgLTgxLDIzICs3OSwyMSBAQCB2b2lkIEpTRE9NV2luZG93
QmFzZTo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBKU0RPTVdpbmRvd1NoZWxsKiBzaGVsbCkKICAg
ICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgc2hlbGwpOwogICAgIEFTU0VSVChpbmhlcml0cyhp
bmZvKCkpKTsKIAotI2lmIEVOQUJMRShTVFJFQU1TX0FQSSkKLSAgICBtX3JlYWRhYmxlU3RyZWFt
RnVuY3Rpb25zLmluaXQoKnRoaXMpOwotI2VuZGlmCisgICAgbV9wcml2YXRlRnVuY3Rpb25zLmlu
aXQoKnRoaXMpOwogCiAgICAgR2xvYmFsUHJvcGVydHlJbmZvIHN0YXRpY0dsb2JhbHNbXSA9IHsK
ICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPmRvY3VtZW50LCBq
c051bGwoKSwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICAgICAgICAgR2xvYmFsUHJvcGVydHlJ
bmZvKHZtLnByb3BlcnR5TmFtZXMtPndpbmRvdywgbV9zaGVsbCwgRG9udERlbGV0ZSB8IFJlYWRP
bmx5KSwKICNpZiBFTkFCTEUoU1RSRUFNU19BUEkpCi0gICAgICAgIEdsb2JhbFByb3BlcnR5SW5m
byhzdGF0aWNfY2FzdDxXZWJDb3JlSlNDbGllbnREYXRhKj4odm0uY2xpZW50RGF0YSktPmJ1aWx0
aW5OYW1lcygpLnJlYWRhYmxlU3RyZWFtQ2xvc2VkUHJpdmF0ZU5hbWUoKSwganNOdW1iZXIoMSks
IERvbnREZWxldGUgfCBSZWFkT25seSksCi0gICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyhzdGF0
aWNfY2FzdDxXZWJDb3JlSlNDbGllbnREYXRhKj4odm0uY2xpZW50RGF0YSktPmJ1aWx0aW5OYW1l
cygpLnJlYWRhYmxlU3RyZWFtRXJyb3JlZFByaXZhdGVOYW1lKCksIGpzTnVtYmVyKDIpLCBEb250
RGVsZXRlIHwgUmVhZE9ubHkpLAotICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8oc3RhdGljX2Nh
c3Q8V2ViQ29yZUpTQ2xpZW50RGF0YSo+KHZtLmNsaWVudERhdGEpLT5idWlsdGluTmFtZXMoKS5y
ZWFkYWJsZVN0cmVhbVJlYWRhYmxlUHJpdmF0ZU5hbWUoKSwganNOdW1iZXIoMyksIERvbnREZWxl
dGUgfCBSZWFkT25seSksCi0gICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyhzdGF0aWNfY2FzdDxX
ZWJDb3JlSlNDbGllbnREYXRhKj4odm0uY2xpZW50RGF0YSktPmJ1aWx0aW5OYW1lcygpLlJlYWRh
YmxlU3RyZWFtQ29udHJvbGxlclByaXZhdGVOYW1lKCksIGNyZWF0ZVJlYWRhYmxlU3RyZWFtQ29u
dHJvbGxlclByaXZhdGVDb25zdHJ1Y3Rvcih2bSwgKnRoaXMpLCBEb250RGVsZXRlIHwgUmVhZE9u
bHkpLAotICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8oc3RhdGljX2Nhc3Q8V2ViQ29yZUpTQ2xp
ZW50RGF0YSo+KHZtLmNsaWVudERhdGEpLT5idWlsdGluTmFtZXMoKS5SZWFkYWJsZVN0cmVhbVJl
YWRlclByaXZhdGVOYW1lKCksIGNyZWF0ZVJlYWRhYmxlU3RyZWFtUmVhZGVyUHJpdmF0ZUNvbnN0
cnVjdG9yKHZtLCAqdGhpcyksIERvbnREZWxldGUgfCBSZWFkT25seSksCisgICAgICAgIEdsb2Jh
bFByb3BlcnR5SW5mbyhzdGF0aWNfY2FzdDxKU0NsaWVudERhdGEqPih2bS5jbGllbnREYXRhKS0+
YnVpbHRpbk5hbWVzKCkucmVhZGFibGVTdHJlYW1DbG9zZWRQcml2YXRlTmFtZSgpLCBqc051bWJl
cigxKSwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKKyAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZv
KHN0YXRpY19jYXN0PEpTQ2xpZW50RGF0YSo+KHZtLmNsaWVudERhdGEpLT5idWlsdGluTmFtZXMo
KS5yZWFkYWJsZVN0cmVhbUVycm9yZWRQcml2YXRlTmFtZSgpLCBqc051bWJlcigyKSwgRG9udERl
bGV0ZSB8IFJlYWRPbmx5KSwKKyAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHN0YXRpY19jYXN0
PEpTQ2xpZW50RGF0YSo+KHZtLmNsaWVudERhdGEpLT5idWlsdGluTmFtZXMoKS5yZWFkYWJsZVN0
cmVhbVJlYWRhYmxlUHJpdmF0ZU5hbWUoKSwganNOdW1iZXIoMyksIERvbnREZWxldGUgfCBSZWFk
T25seSksCisgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyhzdGF0aWNfY2FzdDxKU0NsaWVudERh
dGEqPih2bS5jbGllbnREYXRhKS0+YnVpbHRpbk5hbWVzKCkuUmVhZGFibGVTdHJlYW1Db250cm9s
bGVyUHJpdmF0ZU5hbWUoKSwgY3JlYXRlUmVhZGFibGVTdHJlYW1Db250cm9sbGVyUHJpdmF0ZUNv
bnN0cnVjdG9yKHZtLCAqdGhpcyksIERvbnREZWxldGUgfCBSZWFkT25seSksCisgICAgICAgIEds
b2JhbFByb3BlcnR5SW5mbyhzdGF0aWNfY2FzdDxKU0NsaWVudERhdGEqPih2bS5jbGllbnREYXRh
KS0+YnVpbHRpbk5hbWVzKCkuUmVhZGFibGVTdHJlYW1SZWFkZXJQcml2YXRlTmFtZSgpLCBjcmVh
dGVSZWFkYWJsZVN0cmVhbVJlYWRlclByaXZhdGVDb25zdHJ1Y3Rvcih2bSwgKnRoaXMpLCBEb250
RGVsZXRlIHwgUmVhZE9ubHkpLAogI2RlZmluZSBERUNMQVJFX0dMT0JBTF9TVEFUSUMobmFtZSlc
CiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyhcCi0gICAgICAgICAgICBzdGF0aWNfY2FzdDxX
ZWJDb3JlSlNDbGllbnREYXRhKj4odm0uY2xpZW50RGF0YSktPnJlYWRhYmxlU3RyZWFtSW50ZXJu
YWxzQnVpbHRpbnMoKS5uYW1lIyNQcml2YXRlTmFtZSgpLFwKLSAgICAgICAgICAgIG1fcmVhZGFi
bGVTdHJlYW1GdW5jdGlvbnMubV8jI25hbWUjI0Z1bmN0aW9uLmdldCgpICwgRG9udERlbGV0ZSB8
IFJlYWRPbmx5KSwKKyAgICAgICAgICAgIHN0YXRpY19jYXN0PEpTQ2xpZW50RGF0YSo+KHZtLmNs
aWVudERhdGEpLT5idWlsdGluRnVuY3Rpb25zKCkucmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWls
dGlucygpLm5hbWUjI1ByaXZhdGVOYW1lKCksIFwKKyAgICAgICAgICAgIG1fcHJpdmF0ZUZ1bmN0
aW9ucy5yZWFkYWJsZVN0cmVhbUludGVybmFscygpLm1fIyNuYW1lIyNGdW5jdGlvbi5nZXQoKSAs
IERvbnREZWxldGUgfCBSZWFkT25seSksCiAgICAgICAgIFdFQkNPUkVSRUFEQUJMRVNUUkVBTUlO
VEVSTkFMU19GT1JFQUNIX0JVSUxUSU5fRlVOQ1RJT05fTkFNRShERUNMQVJFX0dMT0JBTF9TVEFU
SUMpCiAjdW5kZWYgRVhQT1JUX0ZVTkNUSU9OCiAjZW5kaWYKQEAgLTExMSw5ICsxMDcsNyBAQCB2
b2lkIEpTRE9NV2luZG93QmFzZTo6dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RWaXNp
dG9yJiB2aXNpdG9yKQogICAgIEpTRE9NV2luZG93QmFzZSogdGhpc09iamVjdCA9IGpzQ2FzdDxK
U0RPTVdpbmRvd0Jhc2UqPihjZWxsKTsKICAgICBBU1NFUlRfR0NfT0JKRUNUX0lOSEVSSVRTKHRo
aXNPYmplY3QsIGluZm8oKSk7CiAgICAgQmFzZTo6dmlzaXRDaGlsZHJlbih0aGlzT2JqZWN0LCB2
aXNpdG9yKTsKLSNpZiBFTkFCTEUoU1RSRUFNU19BUEkpCi0gICAgdGhpc09iamVjdC0+bV9yZWFk
YWJsZVN0cmVhbUZ1bmN0aW9ucy52aXNpdCh2aXNpdG9yKTsKLSNlbmRpZgorICAgIHRoaXNPYmpl
Y3QtPm1fcHJpdmF0ZUZ1bmN0aW9ucy52aXNpdCh2aXNpdG9yKTsKIH0KIAogdm9pZCBKU0RPTVdp
bmRvd0Jhc2U6OmRlc3Ryb3koSlNDZWxsKiBjZWxsKQpAQCAtMjk3LDcgKzI5MSw3IEBAIEpTRE9N
V2luZG93KiB0b0pTRE9NV2luZG93KEpTVmFsdWUgdmFsdWUpCiB2b2lkIEpTRE9NV2luZG93QmFz
ZTo6ZmlyZUZyYW1lQ2xlYXJlZFdhdGNocG9pbnRzRm9yV2luZG93KERPTVdpbmRvdyogd2luZG93
KQogewogICAgIEpTQzo6Vk0mIHZtID0gSlNET01XaW5kb3dCYXNlOjpjb21tb25WTSgpOwotICAg
IFdlYkNvcmVKU0NsaWVudERhdGEqIGNsaWVudERhdGEgPSBzdGF0aWNfY2FzdDxXZWJDb3JlSlND
bGllbnREYXRhKj4odm0uY2xpZW50RGF0YSk7CisgICAgSlNDbGllbnREYXRhKiBjbGllbnREYXRh
ID0gc3RhdGljX2Nhc3Q8SlNDbGllbnREYXRhKj4odm0uY2xpZW50RGF0YSk7CiAgICAgVmVjdG9y
PFJlZjxET01XcmFwcGVyV29ybGQ+PiB3cmFwcGVyV29ybGRzOwogICAgIGNsaWVudERhdGEtPmdl
dEFsbFdvcmxkcyh3cmFwcGVyV29ybGRzKTsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwg
d3JhcHBlcldvcmxkcy5zaXplKCk7ICsraSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RPTVdpbmRvd0Jhc2UuaAppbmRleCBmNDA4NzJmNWVhMDk1Yzk4MzYzOWQ2ZWRhNzA5NTdi
ZTg1OGI0ZTAxLi45NGUwM2RhNTIxOTQxMTY0NDE2NmEzMDA0ZDVjYWNhNTZjZDUzOGMzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaApAQCAtMjIsNyAr
MjIsNyBAQAogCiAjaW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCiAjaW5jbHVkZSAiSlNET01HbG9i
YWxPYmplY3QuaCIKLSNpbmNsdWRlICJSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zV3Jh
cHBlci5oIgorI2luY2x1ZGUgIlByaXZhdGVXZWJDb3JlSlNCdWlsdGlucy5oIgogI2luY2x1ZGUg
PHd0Zi9Gb3J3YXJkLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTg3LDkgKzg3LDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBSZWZQdHI8RE9NV2luZG93PiBtX2ltcGw7CiAg
ICAgICAgIEpTRE9NV2luZG93U2hlbGwqIG1fc2hlbGw7CiAKLSNpZiBFTkFCTEUoU1RSRUFNU19B
UEkpCi0gICAgICAgIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbkZ1bmN0aW9ucyBtX3Jl
YWRhYmxlU3RyZWFtRnVuY3Rpb25zOwotI2VuZGlmCisgICAgICAgIEpTQnVpbHRpbkludGVybmFs
RnVuY3Rpb25zIG1fcHJpdmF0ZUZ1bmN0aW9uczsKICAgICB9OwogCiAgICAgLy8gUmV0dXJucyBh
IEpTRE9NV2luZG93IG9yIGpzTnVsbCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1NjcmlwdENvbnRyb2xsZXIuY3BwCmluZGV4IDRiM2IwOTcyYmU3N2YzYzc2NTk1ZjE0MGUyNmE3
NDhmZjhlYTQ1MGMuLjU5YjU4ZWU0NjI3NjgyMDQ4YzMyZDk1MGQwZDY2MzJhMTk2NTdjMzggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwCkBA
IC0xOTQsNyArMTk0LDcgQEAgVmVjdG9yPEpTQzo6U3Ryb25nPEpTRE9NV2luZG93U2hlbGw+PiBT
Y3JpcHRDb250cm9sbGVyOjp3aW5kb3dTaGVsbHMoKQogCiB2b2lkIFNjcmlwdENvbnRyb2xsZXI6
OmdldEFsbFdvcmxkcyhWZWN0b3I8UmVmPERPTVdyYXBwZXJXb3JsZD4+JiB3b3JsZHMpCiB7Ci0g
ICAgc3RhdGljX2Nhc3Q8V2ViQ29yZUpTQ2xpZW50RGF0YSo+KEpTRE9NV2luZG93Ojpjb21tb25W
TSgpLmNsaWVudERhdGEpLT5nZXRBbGxXb3JsZHMod29ybGRzKTsKKyAgICBzdGF0aWNfY2FzdDxK
U0NsaWVudERhdGEqPihKU0RPTVdpbmRvdzo6Y29tbW9uVk0oKS5jbGllbnREYXRhKS0+Z2V0QWxs
V29ybGRzKHdvcmxkcyk7CiB9CiAKIHZvaWQgU2NyaXB0Q29udHJvbGxlcjo6Y2xlYXJXaW5kb3dT
aGVsbChET01XaW5kb3cqIG5ld0RPTVdpbmRvdywgYm9vbCBnb2luZ0ludG9QYWdlQ2FjaGUpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFs
dWUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVl
LmNwcAppbmRleCA2MmVhMWMxYmRjZWQ2MzA2NTg5OGE4YjQxYjBiNmQyMWI4NTdhYjg3Li5mOWE0
ODc3ZjUxMDc4M2RmYWM4ZThmMzgzYTJiZDRmMzdkYTFmM2NmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAKQEAgLTI2MzQs
NyArMjYzNCw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU6OkFycmF5
QnVmZmVyQ29udGVudHNBcnJheT4gU2VyaWFsaXplZFNjcmlwCiAKICAgICBhdXRvIGNvbnRlbnRz
ID0gc3RkOjptYWtlX3VuaXF1ZTxBcnJheUJ1ZmZlckNvbnRlbnRzQXJyYXk+KGFycmF5QnVmZmVy
cy5zaXplKCkpOwogICAgIFZlY3RvcjxSZWY8RE9NV3JhcHBlcldvcmxkPj4gd29ybGRzOwotICAg
IHN0YXRpY19jYXN0PFdlYkNvcmVKU0NsaWVudERhdGEqPihleGVjLT52bSgpLmNsaWVudERhdGEp
LT5nZXRBbGxXb3JsZHMod29ybGRzKTsKKyAgICBzdGF0aWNfY2FzdDxKU0NsaWVudERhdGEqPihl
eGVjLT52bSgpLmNsaWVudERhdGEpLT5nZXRBbGxXb3JsZHMod29ybGRzKTsKIAogICAgIEhhc2hT
ZXQ8SlNDOjpBcnJheUJ1ZmZlcio+IHZpc2l0ZWQ7CiAgICAgZm9yIChzaXplX3QgYXJyYXlCdWZm
ZXJJbmRleCA9IDA7IGFycmF5QnVmZmVySW5kZXggPCBhcnJheUJ1ZmZlcnMuc2l6ZSgpOyBhcnJh
eUJ1ZmZlckluZGV4KyspIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1dlYkNvcmVKU0NsaWVudERhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNv
cmVKU0NsaWVudERhdGEuaAppbmRleCA4NzBkZDgxOGViODI5NDU3ZWE4MGUzNTM4YTg3MWQ0OTk1
Mjc0YzA5Li5mMDQyNzlhY2FjMDI1OTU0MmQwNWZmMTZkYmJiMGI3MGRiNGE0MzliIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRhLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5oCkBAIC0y
NCw0NCArMjQsMjYgQEAKIAogI2luY2x1ZGUgIkRPTVdyYXBwZXJXb3JsZC5oIgogI2luY2x1ZGUg
IldlYkNvcmVCdWlsdGluTmFtZXMuaCIKKyNpbmNsdWRlICJXZWJDb3JlSlNCdWlsdGlucy5oIgog
I2luY2x1ZGUgIldlYkNvcmVUeXBlZEFycmF5Q29udHJvbGxlci5oIgogI2luY2x1ZGUgPHd0Zi9I
YXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCi0jaWYgRU5BQkxFKFNUUkVBTVNf
QVBJKQotI2luY2x1ZGUgIkJ5dGVMZW5ndGhRdWV1aW5nU3RyYXRlZ3lCdWlsdGluc1dyYXBwZXIu
aCIKLSNpbmNsdWRlICJDb3VudFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zV3JhcHBlci5oIgotI2lu
Y2x1ZGUgIlJlYWRhYmxlU3RyZWFtQnVpbHRpbnNXcmFwcGVyLmgiCi0jaW5jbHVkZSAiUmVhZGFi
bGVTdHJlYW1Db250cm9sbGVyQnVpbHRpbnNXcmFwcGVyLmgiCi0jaW5jbHVkZSAiUmVhZGFibGVT
dHJlYW1JbnRlcm5hbHNCdWlsdGluc1dyYXBwZXIuaCIKLSNpbmNsdWRlICJSZWFkYWJsZVN0cmVh
bVJlYWRlckJ1aWx0aW5zV3JhcHBlci5oIgotI2VuZGlmCi0KIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotY2xhc3MgV2ViQ29yZUpTQ2xpZW50RGF0YSA6IHB1YmxpYyBKU0M6OlZNOjpDbGllbnREYXRh
IHsKLSAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJDb3JlSlNDbGllbnREYXRhKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CitjbGFzcyBKU0NsaWVudERhdGEgOiBwdWJsaWMgSlNDOjpWTTo6
Q2xpZW50RGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSlNDbGllbnREYXRhKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgZnJpZW5kIGNsYXNzIFZNV29ybGRJdGVyYXRvcjsK
ICAgICBmcmllbmQgdm9pZCBpbml0Tm9ybWFsV29ybGRDbGllbnREYXRhKEpTQzo6Vk0qKTsKIAog
cHVibGljOgotICAgIGV4cGxpY2l0IFdlYkNvcmVKU0NsaWVudERhdGEoSlNDOjpWTSYgdm0pCi0g
ICAgICAgIDogbV9idWlsdGluTmFtZXMoJnZtKQotI2lmIEVOQUJMRShTVFJFQU1TX0FQSSkKLSAg
ICAgICAgLCBtX3JlYWRhYmxlU3RyZWFtQnVpbHRpbnMoJnZtKQotICAgICAgICAsIG1fcmVhZGFi
bGVTdHJlYW1Db250cm9sbGVyQnVpbHRpbnMoJnZtKQotICAgICAgICAsIG1fcmVhZGFibGVTdHJl
YW1JbnRlcm5hbHNCdWlsdGlucygmdm0pCi0gICAgICAgICwgbV9yZWFkYWJsZVN0cmVhbVJlYWRl
ckJ1aWx0aW5zKCZ2bSkKLSAgICAgICAgLCBtX2J5dGVMZW5ndGhRdWV1aW5nU3RyYXRlZ3lCdWls
dGlucygmdm0pCi0gICAgICAgICwgbV9jb3VudFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zKCZ2bSkK
LSNlbmRpZgorICAgIGV4cGxpY2l0IEpTQ2xpZW50RGF0YShKU0M6OlZNJiB2bSkKKyAgICAgICAg
OiBtX2J1aWx0aW5GdW5jdGlvbnModm0pCisgICAgICAgICwgbV9idWlsdGluTmFtZXMoJnZtKQog
ICAgIHsKLSNpZiBFTkFCTEUoU1RSRUFNU19BUEkpCi0gICAgICAgIG1fcmVhZGFibGVTdHJlYW1J
bnRlcm5hbHNCdWlsdGlucy5leHBvcnROYW1lcygpOwotI2VuZGlmCiAgICAgfQogCi0gICAgdmly
dHVhbCB+V2ViQ29yZUpTQ2xpZW50RGF0YSgpCisgICAgdmlydHVhbCB+SlNDbGllbnREYXRhKCkK
ICAgICB7CiAgICAgICAgIEFTU0VSVChtX3dvcmxkU2V0LmNvbnRhaW5zKG1fbm9ybWFsV29ybGQu
Z2V0KCkpKTsKICAgICAgICAgQVNTRVJUKG1fd29ybGRTZXQuc2l6ZSgpID09IDEpOwpAQCAtOTQs
MzUgKzc2LDE5IEBAIHB1YmxpYzoKICAgICB9CiAKICAgICBXZWJDb3JlQnVpbHRpbk5hbWVzJiBi
dWlsdGluTmFtZXMoKSB7IHJldHVybiBtX2J1aWx0aW5OYW1lczsgfQotCi0jaWYgRU5BQkxFKFNU
UkVBTVNfQVBJKQotICAgIFJlYWRhYmxlU3RyZWFtQnVpbHRpbnNXcmFwcGVyJiByZWFkYWJsZVN0
cmVhbUJ1aWx0aW5zKCkgeyByZXR1cm4gbV9yZWFkYWJsZVN0cmVhbUJ1aWx0aW5zOyB9Ci0gICAg
UmVhZGFibGVTdHJlYW1Db250cm9sbGVyQnVpbHRpbnNXcmFwcGVyJiByZWFkYWJsZVN0cmVhbUNv
bnRyb2xsZXJCdWlsdGlucygpIHsgcmV0dXJuIG1fcmVhZGFibGVTdHJlYW1Db250cm9sbGVyQnVp
bHRpbnM7IH0KLSAgICBSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zV3JhcHBlciYgcmVh
ZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucygpIHsgcmV0dXJuIG1fcmVhZGFibGVTdHJlYW1J
bnRlcm5hbHNCdWlsdGluczsgfQotICAgIFJlYWRhYmxlU3RyZWFtUmVhZGVyQnVpbHRpbnNXcmFw
cGVyJiByZWFkYWJsZVN0cmVhbVJlYWRlckJ1aWx0aW5zKCkgeyByZXR1cm4gbV9yZWFkYWJsZVN0
cmVhbVJlYWRlckJ1aWx0aW5zOyB9Ci0gICAgQnl0ZUxlbmd0aFF1ZXVpbmdTdHJhdGVneUJ1aWx0
aW5zV3JhcHBlciYgYnl0ZUxlbmd0aFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zKCkgeyByZXR1cm4g
bV9ieXRlTGVuZ3RoUXVldWluZ1N0cmF0ZWd5QnVpbHRpbnM7IH0KLSAgICBDb3VudFF1ZXVpbmdT
dHJhdGVneUJ1aWx0aW5zV3JhcHBlciYgY291bnRRdWV1aW5nU3RyYXRlZ3lCdWlsdGlucygpIHsg
cmV0dXJuIG1fY291bnRRdWV1aW5nU3RyYXRlZ3lCdWlsdGluczsgfQotI2VuZGlmCisgICAgSlNC
dWlsdGluRnVuY3Rpb25zJiBidWlsdGluRnVuY3Rpb25zKCkgeyByZXR1cm4gbV9idWlsdGluRnVu
Y3Rpb25zOyB9CiAKIHByaXZhdGU6CiAgICAgSGFzaFNldDxET01XcmFwcGVyV29ybGQqPiBtX3dv
cmxkU2V0OwogICAgIFJlZlB0cjxET01XcmFwcGVyV29ybGQ+IG1fbm9ybWFsV29ybGQ7CiAKKyAg
ICBKU0J1aWx0aW5GdW5jdGlvbnMgbV9idWlsdGluRnVuY3Rpb25zOwogICAgIFdlYkNvcmVCdWls
dGluTmFtZXMgbV9idWlsdGluTmFtZXM7Ci0KLSNpZiBFTkFCTEUoU1RSRUFNU19BUEkpCi0gICAg
UmVhZGFibGVTdHJlYW1CdWlsdGluc1dyYXBwZXIgbV9yZWFkYWJsZVN0cmVhbUJ1aWx0aW5zOwot
ICAgIFJlYWRhYmxlU3RyZWFtQ29udHJvbGxlckJ1aWx0aW5zV3JhcHBlciBtX3JlYWRhYmxlU3Ry
ZWFtQ29udHJvbGxlckJ1aWx0aW5zOwotICAgIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRp
bnNXcmFwcGVyIG1fcmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGluczsKLSAgICBSZWFkYWJs
ZVN0cmVhbVJlYWRlckJ1aWx0aW5zV3JhcHBlciBtX3JlYWRhYmxlU3RyZWFtUmVhZGVyQnVpbHRp
bnM7Ci0gICAgQnl0ZUxlbmd0aFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zV3JhcHBlciBtX2J5dGVM
ZW5ndGhRdWV1aW5nU3RyYXRlZ3lCdWlsdGluczsKLSAgICBDb3VudFF1ZXVpbmdTdHJhdGVneUJ1
aWx0aW5zV3JhcHBlciBtX2NvdW50UXVldWluZ1N0cmF0ZWd5QnVpbHRpbnM7Ci0jZW5kaWYKIH07
CiAKIGlubGluZSB2b2lkIGluaXROb3JtYWxXb3JsZENsaWVudERhdGEoSlNDOjpWTSogdm0pCiB7
Ci0gICAgV2ViQ29yZUpTQ2xpZW50RGF0YSogd2ViQ29yZUpTQ2xpZW50RGF0YSA9IG5ldyBXZWJD
b3JlSlNDbGllbnREYXRhKCp2bSk7CisgICAgSlNDbGllbnREYXRhKiB3ZWJDb3JlSlNDbGllbnRE
YXRhID0gbmV3IEpTQ2xpZW50RGF0YSgqdm0pOwogICAgIHZtLT5jbGllbnREYXRhID0gd2ViQ29y
ZUpTQ2xpZW50RGF0YTsgLy8gflZNIGRlbGV0ZXMgdGhpcyBwb2ludGVyLgogICAgIHdlYkNvcmVK
U0NsaWVudERhdGEtPm1fbm9ybWFsV29ybGQgPSBET01XcmFwcGVyV29ybGQ6OmNyZWF0ZSgqdm0s
IHRydWUpOwogICAgIHZtLT5tX3R5cGVkQXJyYXlDb250cm9sbGVyID0gYWRvcHRSZWYobmV3IFdl
YkNvcmVUeXBlZEFycmF5Q29udHJvbGxlcigpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2dlbmVyYXRlLWpzLWJ1aWx0aW5zLWFsbGlub25lIGIvU291cmNlL1dlYkNvcmUvZ2VuZXJhdGUt
anMtYnVpbHRpbnMtYWxsaW5vbmUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTA1YjQzZjMxOTgwZTI1YTA1ZTM5OWM2
YWNmMWRlYTg3N2Q4MDVjNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2dlbmVy
YXRlLWpzLWJ1aWx0aW5zLWFsbGlub25lCkBAIC0wLDAgKzEsMjMzIEBACisjIS91c3IvYmluL3B5
dGhvbgorIyBDb3B5cmlnaHQgKEMpIDIwMTUgQ2Fub24gSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisjIGFyZSBtZXQ6CisjIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisj
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyMgMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycn
IEFORCBBTlkKKyMgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKKyMgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisjIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisjIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorIyBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisjIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorIyBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisjIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorIyAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKworCitpbXBvcnQgYXJncGFyc2UKK2ltcG9ydCBmaWxlY21wCitp
bXBvcnQgb3MKK2ltcG9ydCByZQorCitzaW5nbGVMaW5lQ29tbWVudFJlZ0V4cCA9IHJlLmNvbXBp
bGUociJcL1wvIEAuKj9cbiIsIHJlLk1VTFRJTElORSB8IHJlLlMpCisKK2RlZiByZXRyaWV2ZUdl
bmVyYXRpb25QYXJhbWV0ZXJzKGlucHV0KToKKyAgICBwYXJhbWV0ZXJzID0ge30KKyAgICB3aXRo
IG9wZW4oaW5wdXQsICdyJykgYXMgaW5wdXRfZmlsZToKKyAgICAgICAgY29udGVudCA9IGlucHV0
X2ZpbGUucmVhZCgpCisgICAgICAgIGZvciBtYXRjaCBpbiBzaW5nbGVMaW5lQ29tbWVudFJlZ0V4
cC5maW5kaXRlcihjb250ZW50KToKKyAgICAgICAgICAgIHZhbHVlcyA9IGNvbnRlbnRbbWF0Y2gu
c3RhcnQoKSArIDQ6bWF0Y2guZW5kKCldLnNwbGl0KCc9JykKKyAgICAgICAgICAgIGlmIGxlbih2
YWx1ZXMpID09IDE6CisgICAgICAgICAgICAgICAgcGFyYW1ldGVyc1t2YWx1ZXNbMF0uc3RyaXAo
KV0gPSBUcnVlCisgICAgICAgICAgICBlbGlmIGxlbiAodmFsdWVzKSA9PSAyOgorICAgICAgICAg
ICAgICAgIHBhcmFtZXRlcnNbdmFsdWVzWzBdLnN0cmlwKCldID0gdmFsdWVzWzFdLnN0cmlwKCkK
KyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgcHJpbnQoIlNraXBwaW5nIHBvdGVu
dGlhbCBnZW5lcmF0aW9uIHBhcmFtZXRlciBkaXJlY3RpdmU6IiAlIHZhbHVlcy5qb2luKCc9Jykp
CisgICAgcmV0dXJuIHBhcmFtZXRlcnMKKworCitkZWYgcmV0cmlldmVGaWxlc1dpdGhQYXJhbWV0
ZXJzKGlucHV0cyk6CisgICAgZmlsZXMgPSBbXQorICAgIGNsYXNzIEZpbGVJbnB1dDogcGFzcwor
ICAgIGZvciBpbnB1dCBpbiBpbnB1dHM6CisgICAgICAgIGZpbGVfaW5wdXQgPSBGaWxlSW5wdXQo
KQorICAgICAgICBmaWxlX2lucHV0LnBhcmFtZXRlcnMgPSByZXRyaWV2ZUdlbmVyYXRpb25QYXJh
bWV0ZXJzKGlucHV0KQorICAgICAgICBmaWxlX2lucHV0Lm9wdGlvbmFsaWYgPSAoIiNpZiBFTkFC
TEUoIiArIGZpbGVfaW5wdXQucGFyYW1ldGVyc1sib3B0aW9uYWwiXSArICIpXG4iKSBpZiAib3B0
aW9uYWwiIGluIGZpbGVfaW5wdXQucGFyYW1ldGVycyBlbHNlICIiCisgICAgICAgIGZpbGVfaW5w
dXQub3B0aW9uYWxlbmRpZiA9ICIjZW5kaWZcbiIgaWYgIm9wdGlvbmFsIiBpbiBmaWxlX2lucHV0
LnBhcmFtZXRlcnMgZWxzZSAiIgorICAgICAgICBmaWxlX2lucHV0LmZpbGVuYW1lID0gb3MucGF0
aC5zcGxpdGV4dChvcy5wYXRoLmJhc2VuYW1lKGlucHV0KSlbMF0KKyAgICAgICAgZmlsZV9pbnB1
dC5uYW1lID0gZmlsZV9pbnB1dC5maWxlbmFtZVswXS5sb3dlcigpICsgZmlsZV9pbnB1dC5maWxl
bmFtZVsxOl0KKyAgICAgICAgZmlsZXMuYXBwZW5kKGZpbGVfaW5wdXQpCisgICAgcmV0dXJuIGZp
bGVzCisKKworZGVmIHdyaXRlQ29uZGl0aW9uYWwod3JpdGVyLCBpbnB1dF9maWxlLCB2YWx1ZSk6
CisgICAgd3JpdGVyLndyaXRlKGlucHV0X2ZpbGUub3B0aW9uYWxpZikKKyAgICB3cml0ZXIud3Jp
dGUodmFsdWUpCisgICAgd3JpdGVyLndyaXRlKGlucHV0X2ZpbGUub3B0aW9uYWxlbmRpZikKKwor
CitwYXJzZXIgPSBhcmdwYXJzZS5Bcmd1bWVudFBhcnNlcigpCitwYXJzZXIuYWRkX2FyZ3VtZW50
KCctLW91dHB1dF9kaXInLCBkZWZhdWx0PScnLCBoZWxwPSdvdXRwdXQgZGlyZWN0b3J5JykKK3Bh
cnNlci5hZGRfYXJndW1lbnQoJ2lucHV0cycsIG1ldGF2YXI9J2lucHV0JywgbmFyZ3M9JysnLCBo
ZWxwPSdwYXRoIHRvIGlucHV0IEpTIGZpbGVzJykKKworYXJncyA9IHBhcnNlci5wYXJzZV9hcmdz
KCkKK2ZpbGVzID0gcmV0cmlldmVGaWxlc1dpdGhQYXJhbWV0ZXJzKGFyZ3MuaW5wdXRzKQoraW50
ZXJuYWxzX2ZpbGVzID0gWyBmIGZvciBmIGluIGZpbGVzIGlmICJpbnRlcm5hbHMiIGluIGYucGFy
YW1ldGVycyBdCisKK2Jhc2VuYW1lID0gIldlYkNvcmVKU0J1aWx0aW5zIgorb3V0cHV0X2Jhc2Ug
PSBvcy5wYXRoLmpvaW4oYXJncy5vdXRwdXRfZGlyLCBiYXNlbmFtZSkKK3ByaXZhdGVfb3V0cHV0
X2Jhc2UgPSBvcy5wYXRoLmpvaW4oYXJncy5vdXRwdXRfZGlyLCAiUHJpdmF0ZSIgKyBiYXNlbmFt
ZSkKKworCisjIENyZWF0ZSB3cml0ZXJzCitidWlsdGluc0hlYWRlciA9IG9wZW4ob3V0cHV0X2Jh
c2UgKyAiLmgudG1wIiwgInciKQorYnVpbHRpbnNJbXBsZW1lbnRhdGlvbiA9IG9wZW4ob3V0cHV0
X2Jhc2UgKyAiLmNwcC50bXAiLCAidyIpCitwcml2YXRlQnVpbHRpbnNIZWFkZXIgPSBvcGVuKHBy
aXZhdGVfb3V0cHV0X2Jhc2UgKyAiLmgudG1wIiwgInciKQorCitwcmVhbWJsZSA9ICIiIgorLyog
R2VuZXJhdGVkIGJ5IGdlbmVyYXRlLWpzLWJ1aWx0aW5zLWFsbGlub25lIGRvIG5vdCBoYW5kIGVk
aXQuICovCisKKy8qCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug
Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1z
IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBhcyBwdWJsaXNo
ZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiAgdmVyc2lvbiAy
IG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgor
ICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3
aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl
biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiAgTGVzc2VyIEdlbmVy
YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiAgWW91IHNob3VsZCBo
YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICog
IExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZy
ZWUgU29mdHdhcmUKKyAqICBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZp
ZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKKyAqLworCisiIiIKKworIyMj
IyMjIyMjIyMjIyMjCisjIEdlbmVyYXRpb24gb2YgY3BwIGZpbGUgaW5jbHVkaW5nIGFsbCBKUyBi
dWlsdGluIGdlbmVyYXRlZCBjcHAgZmlsZXMgd2l0aCBvcHRpb25hbCAjZmRlZiBkaXJlY3RpdmVz
IGFzIGRlZmluZWQgYnkgQGVuYWJsZSBpbiBKUyBmaWxlcy4KKyMjIyMjIyMjIyMjIyMjIworYnVp
bHRpbnNJbXBsZW1lbnRhdGlvbi53cml0ZShwcmVhbWJsZSkKK2J1aWx0aW5zSW1wbGVtZW50YXRp
b24ud3JpdGUoIiNpbmNsdWRlIFwiY29uZmlnLmhcIlxuXG4iKQorCisjIEluY2x1ZGluZyBjcHAg
ZmlsZXMKK2ZvciBpbnB1dF9maWxlIGluIGZpbGVzOgorICAgIHdyaXRlQ29uZGl0aW9uYWwoYnVp
bHRpbnNJbXBsZW1lbnRhdGlvbiwgaW5wdXRfZmlsZSwgIiNpbmNsdWRlIFwiIiArIGlucHV0X2Zp
bGUuZmlsZW5hbWUgKyAiQnVpbHRpbnMuY3BwXCJcbiIpOworCitidWlsdGluc0ltcGxlbWVudGF0
aW9uLmNsb3NlKCkKKworIyMjIyMjIyMjIyMjIyMjCisjIEdlbmVyYXRpb24gb2Ygd3JhcHBlciBo
ZWFkZXIgZmlsZSBkZWZpbmluZyBhY2Nlc3MgdG8gYWxsIGJ1aWx0aW4gZnVuY3Rpb25zLgorIyMj
IyMjIyMjIyMjIyMjCitidWlsdGluc0hlYWRlci53cml0ZShwcmVhbWJsZSkKK2J1aWx0aW5zSGVh
ZGVyLndyaXRlKCIjaWZuZGVmICIgKyBiYXNlbmFtZSArICJfaFxuI2RlZmluZSAiICsgYmFzZW5h
bWUgKyAiX2hcblxuIikKKworZm9yIGlucHV0X2ZpbGUgaW4gZmlsZXM6CisgICAgd3JpdGVDb25k
aXRpb25hbChidWlsdGluc0hlYWRlciwgaW5wdXRfZmlsZSwgIiNpbmNsdWRlIFwiIiArIGlucHV0
X2ZpbGUuZmlsZW5hbWUgKyAiQnVpbHRpbnNXcmFwcGVyLmhcIlxuIik7CitidWlsdGluc0hlYWRl
ci53cml0ZSgiIiIKKworI2luY2x1ZGUgPHJ1bnRpbWUvVk0uaD4KKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitjbGFzcyBKU0J1aWx0aW5GdW5jdGlvbnMgeworcHVibGljOgorIiIiKQorCisjIENv
bnN0cnVjdG9yCitidWlsdGluc0hlYWRlci53cml0ZSgiICAgIGV4cGxpY2l0IEpTQnVpbHRpbkZ1
bmN0aW9ucyhKU0M6OlZNJiB2KVxuICAgICAgICA6IHZtKHYpXG4iKTsKK2ZvciBpbnB1dF9maWxl
IGluIGZpbGVzOgorICAgIHdyaXRlQ29uZGl0aW9uYWwoYnVpbHRpbnNIZWFkZXIsIGlucHV0X2Zp
bGUsICIgICAgICAgICwgbV8iICsgaW5wdXRfZmlsZS5uYW1lICsgIkJ1aWx0aW5zKCZ2bSlcbiIp
OworYnVpbHRpbnNIZWFkZXIud3JpdGUoIiAgICB7XG4iKTsKK2ZvciBpbnB1dF9maWxlIGluIGlu
dGVybmFsc19maWxlczoKKyAgICB3cml0ZUNvbmRpdGlvbmFsKGJ1aWx0aW5zSGVhZGVyLCBpbnB1
dF9maWxlLCAiICAgICAgICBtXyIgKyBpbnB1dF9maWxlLm5hbWUgKyAiQnVpbHRpbnMuZXhwb3J0
TmFtZXMoKTtcbiIpOworYnVpbHRpbnNIZWFkZXIud3JpdGUoIiAgICB9XG4iKTsKKworIyBHZXR0
ZXJzCitmb3IgaW5wdXRfZmlsZSBpbiBmaWxlczoKKyAgICB3cml0ZUNvbmRpdGlvbmFsKGJ1aWx0
aW5zSGVhZGVyLCBpbnB1dF9maWxlLCAiICAgICIgKyBpbnB1dF9maWxlLmZpbGVuYW1lICsgIkJ1
aWx0aW5zV3JhcHBlciYgIiArIGlucHV0X2ZpbGUubmFtZSAgKyAiQnVpbHRpbnMoKSB7IHJldHVy
biBtXyIgKyBpbnB1dF9maWxlLm5hbWUgICsgIkJ1aWx0aW5zO31cbiIpOworCisjIERlY2xhcmF0
aW9ucworYnVpbHRpbnNIZWFkZXIud3JpdGUoIiIicHJpdmF0ZToKKyAgICBKU0M6OlZNJiB2bTtc
biIiIik7Citmb3IgaW5wdXRfZmlsZSBpbiBmaWxlczoKKyAgICB3cml0ZUNvbmRpdGlvbmFsKGJ1
aWx0aW5zSGVhZGVyLCBpbnB1dF9maWxlLCAiICAgICIgKyBpbnB1dF9maWxlLmZpbGVuYW1lICsg
IkJ1aWx0aW5zV3JhcHBlciBtXyIgKyBpbnB1dF9maWxlLm5hbWUgICsgIkJ1aWx0aW5zO1xuIik7
CisKK2J1aWx0aW5zSGVhZGVyLndyaXRlKCIiIgorfTsKKworfQorCisjZW5kaWYKKyIiIik7CisK
K2J1aWx0aW5zSGVhZGVyLmNsb3NlKCkKKworIyMjIyMjIyMjIyMjIyMjCisjIEdlbmVyYXRpb24g
b2YgY2xhc3Mgd3JhcHBpbmcgYWxsIGZ1bmN0aW9ucyBvZiBKUyBmaWxlcyBtYXJrZWQgYXMgQGlu
dGVybmFscy4KKyMjIyMjIyMjIyMjIyMjIworcHJpdmF0ZUJ1aWx0aW5zSGVhZGVyLndyaXRlKHBy
ZWFtYmxlKQorcHJpdmF0ZUJ1aWx0aW5zSGVhZGVyLndyaXRlKCIjaWZuZGVmIFByaXZhdGUiICsg
YmFzZW5hbWUgKyAiX2hcbiNkZWZpbmUgUHJpdmF0ZSIgKyBiYXNlbmFtZSArICJfaFxuXG4iKQor
CisjIEluY2x1ZGluZyBhbGwgbmVjZXNzcmFyeSB3cmFwcGVyIGhlYWRlcnMuCitmb3IgaW5wdXRf
ZmlsZSBpbiBpbnRlcm5hbHNfZmlsZXM6CisgICAgd3JpdGVDb25kaXRpb25hbChwcml2YXRlQnVp
bHRpbnNIZWFkZXIsIGlucHV0X2ZpbGUsICIjaW5jbHVkZSBcIiIgKyBpbnB1dF9maWxlLmZpbGVu
YW1lICsgIkJ1aWx0aW5zV3JhcHBlci5oXCJcbiIpCisKKyMgQ2xhc3MgZGVmaW5pdGlvbgorcHJp
dmF0ZUJ1aWx0aW5zSGVhZGVyLndyaXRlKCIiIgorbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFz
cyBKU0J1aWx0aW5JbnRlcm5hbEZ1bmN0aW9ucyB7CitwdWJsaWM6CisiIiIpCisKKyMgQ29uc3Ry
dWN0b3IKK3ByaXZhdGVCdWlsdGluc0hlYWRlci53cml0ZSgiIiJleHBsaWNpdCBKU0J1aWx0aW5J
bnRlcm5hbEZ1bmN0aW9ucyhKU0M6OlZNJiB2KVxuICAgICAgICA6IHZtKHYpXG4iIiIpCitmb3Ig
aW5wdXRfZmlsZSBpbiBpbnRlcm5hbHNfZmlsZXM6CisgICAgd3JpdGVDb25kaXRpb25hbChwcml2
YXRlQnVpbHRpbnNIZWFkZXIsIGlucHV0X2ZpbGUsICIgICAgICAgICwgbV8iICsgaW5wdXRfZmls
ZS5uYW1lICsgIkZ1bmN0aW9ucyh2bSlcbiIpCitwcml2YXRlQnVpbHRpbnNIZWFkZXIud3JpdGUo
IiAgICB7IH1cblxuIikKKworIyBHZXR0ZXJzCitmb3IgaW5wdXRfZmlsZSBpbiBpbnRlcm5hbHNf
ZmlsZXM6CisgICAgd3JpdGVDb25kaXRpb25hbChwcml2YXRlQnVpbHRpbnNIZWFkZXIsIGlucHV0
X2ZpbGUsICIgICAgIiArIGlucHV0X2ZpbGUuZmlsZW5hbWUgKyAiQnVpbHRpbkZ1bmN0aW9ucyAi
ICsgaW5wdXRfZmlsZS5uYW1lICsgIigpIHsgcmV0dXJuIG1fIiArIGlucHV0X2ZpbGUubmFtZSAr
ICJGdW5jdGlvbnM7IH1cbiIpCisKKyMgVmlzaXRvciB3cmFwcGVyIHJvdXRpbmUKK3ByaXZhdGVC
dWlsdGluc0hlYWRlci53cml0ZSgiICAgIHZvaWQgdmlzaXQoSlNDOjpTbG90VmlzaXRvciYgdmlz
aXRvcikge1xuIikKK2ZvciBpbnB1dF9maWxlIGluIGludGVybmFsc19maWxlczoKKyAgICB3cml0
ZUNvbmRpdGlvbmFsKHByaXZhdGVCdWlsdGluc0hlYWRlciwgaW5wdXRfZmlsZSwgIiAgICAgICAg
bV8iICsgaW5wdXRfZmlsZS5uYW1lICsgIkZ1bmN0aW9ucy52aXNpdCh2aXNpdG9yKTtcbiIpCitw
cml2YXRlQnVpbHRpbnNIZWFkZXIud3JpdGUoIiAgICB9XG4iKQorCisjIEluaXQgd3JhcHBlciBy
b3V0aW5lCitwcml2YXRlQnVpbHRpbnNIZWFkZXIud3JpdGUoIiAgICB2b2lkIGluaXQoSlNDOjpK
U0dsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KSB7XG4iKQorZm9yIGlucHV0X2ZpbGUgaW4gaW50
ZXJuYWxzX2ZpbGVzOgorICAgIHdyaXRlQ29uZGl0aW9uYWwocHJpdmF0ZUJ1aWx0aW5zSGVhZGVy
LCBpbnB1dF9maWxlLCAiICAgICAgICBtXyIgKyBpbnB1dF9maWxlLm5hbWUgKyAiRnVuY3Rpb25z
LmluaXQoZ2xvYmFsT2JqZWN0KTtcbiIpCitwcml2YXRlQnVpbHRpbnNIZWFkZXIud3JpdGUoIiAg
ICB9XG4iKQorCisjIFByaXZhdGUgbWVtYmVyIGZpZWxkcworcHJpdmF0ZUJ1aWx0aW5zSGVhZGVy
LndyaXRlKCIiIgorcHJpdmF0ZToKKyAgICBKU0M6OlZNJiB2bTtcbiIiIikKK2ZvciBpbnB1dF9m
aWxlIGluIGludGVybmFsc19maWxlczoKKyAgICB3cml0ZUNvbmRpdGlvbmFsKHByaXZhdGVCdWls
dGluc0hlYWRlciwgaW5wdXRfZmlsZSwgIiAgICAgIiArIGlucHV0X2ZpbGUuZmlsZW5hbWUgKyAi
QnVpbHRpbkZ1bmN0aW9ucyBtXyIgKyBpbnB1dF9maWxlLm5hbWUgKyAiRnVuY3Rpb25zO1xuIikK
KworcHJpdmF0ZUJ1aWx0aW5zSGVhZGVyLndyaXRlKCIiIgorfTsKKworfQorI2VuZGlmCisiIiIp
CisKK3ByaXZhdGVCdWlsdGluc0hlYWRlci5jbG9zZSgpCisKK2RlZiBjb3B5dGVtcGZpbGUob3V0
cHV0KToKKyAgICBpZiAobm90IG9zLnBhdGguZXhpc3RzKG91dHB1dCkpIG9yIChub3QgZmlsZWNt
cC5jbXAob3V0cHV0ICsgIi50bXAiLCBvdXRwdXQsIHNoYWxsb3c9RmFsc2UpKToKKyAgICAgICAg
aWYgKG9zLnBhdGguZXhpc3RzKG91dHB1dCkpOgorICAgICAgICAgICAgb3MucmVtb3ZlKG91dHB1
dCkKKyAgICAgICAgb3MucmVuYW1lKG91dHB1dCArICIudG1wIiwgb3V0cHV0KQorICAgIGVsc2U6
CisgICAgICAgIG9zLnJlbW92ZShvdXRwdXQgKyAiLnRtcCIpCisKK2NvcHl0ZW1wZmlsZShvdXRw
dXRfYmFzZSArICIuaCIpCitjb3B5dGVtcGZpbGUob3V0cHV0X2Jhc2UgKyAiLmNwcCIpCitjb3B5
dGVtcGZpbGUocHJpdmF0ZV9vdXRwdXRfYmFzZSArICIuaCIpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>262639</attachid>
            <date>2015-10-07 14:01:03 -0700</date>
            <delta_ts>2015-10-07 23:33:22 -0700</delta_ts>
            <desc>Updating DerivedSources.make rules</desc>
            <filename>bug-149751-20151007230031.patch</filename>
            <type>text/plain</type>
            <size>52167</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkwNjgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
M2MxMjA2ZGUzNTJkNWNiMTE0ZTU5OTFkNzY5YzM1NWJkODFjZDBiLi4yNjFmNDllOTE4NjFlODg3
ZDg0Y2Q3MmIxOTcyZTYzY2RjOWI3M2Q2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxNS0xMC0wNyAgWGFiaWVyIFJvZHJpZ3VleiBDYWx2YXIgIDxjYWx2YXJp
c0BpZ2FsaWEuY29tPiBhbmQgWW91ZW5uIEZhYmxldCAgPHlvdWVubi5mYWJsZXRAY3JmLmNhbm9u
LmZyPgorCisgICAgICAgIEF1dG9tYXRlIFdlYkNvcmUgSlMgYnVpbHRpbnMgZ2VuZXJhdGlvbiBh
bmQgYnVpbGQgc3lzdGVtCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNDk3NTEKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAg
ICAgICAqIGdlbmVyYXRlLWpzLWJ1aWx0aW5zOiB1cGRhdGluZyB0aGUgcGFydCByZWxhdGVkIHRv
IFdlYkNvcmUgSlMgYmluZGluZy4KKwogMjAxNS0xMC0wNyAgRmlsaXAgUGl6bG8gIDxmcGl6bG9A
YXBwbGUuY29tPgogCiAgICAgICAgIERvbid0IHNldE91dE9mQm91bmRzIGluIEpJVCBjb2RlIGZv
ciBQdXRCeVZhbCwgc2luY2UgdGhlIEMrKyBzbG93IHBhdGggYWxyZWFkeSBkb2VzIGl0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKaW5kZXggNjMxZDUwMmUyNzliNmY4Y2ZhOTFhMDkzZTYzOGQwOGZkZGY1ZjcwNi4uZTI5ZmYx
YzcyMGE3YzYzNzA1MTI0YWQ0MDkyNGNjZjMwNTFlYmRjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDcxIEBACisyMDE1LTEwLTA3ICBYYWJpZXIgUm9kcmlndWV6IENhbHZhciAgPGNhbHZhcmlzQGln
YWxpYS5jb20+IGFuZCBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uLmZhYmxldEBjcmYuY2Fub24uZnI+
CisKKyAgICAgICAgQXV0b21hdGUgV2ViQ29yZSBKUyBidWlsdGlucyBnZW5lcmF0aW9uIGFuZCBi
dWlsZCBzeXN0ZW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE0OTc1MQorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAg
IEFkZGluZyBhbm5vdGF0aW9ucyB0byBKUyBmaWxlcyB0byBrbm93IHdoZXRoZXIgdGhleSBzaG91
bGQgYmUgdW5kZXIgYSBjb21waWxhdGlvbiBmbGFnIGFuZAorICAgICAgICB3aGV0aGVyIHRoZXkg
YXJlIEpTIGludGVybmFscyBvciBKUyB0aWVkIHRvIFdlYklETC4KKyAgICAgICAgSWYgYSBmaWxl
IGlzIHNhaWQgYXMgSlMgaW50ZXJuYWxzLCBhbGwgZnVuY3Rpb24gbmFtZXMgYXJlIGV4cG9ydGVk
IGF1dG9tYXRpY2FsbHkuCisgICAgICAgIEFkZGVkIGF1dG8gZ2VuZXJhdGlvbiBvZiBXZWJDb3Jl
SlNCdWlsdGlucy5jcHAKKyAgICAgICAgQWRkZWQgYXV0byBnZW5lcmF0aW9uIG9mIEpTQnVpbHRp
bkZ1bmN0aW9ucyBjbGFzcyBpbnNpZGUgV2ViQ29yZUpTQnVpbHRpbnMgdGhhdCB0YWtlcyB0aGUg
cm9sZSBvZgorICAgICAgICBXZWJDb3JlSlNDbGllbnREYXRhIGFzIHdyYXBwZXIgZm9yIGJ1aWx0
aW5zLgorICAgICAgICBBZGRlZCBhdXRvIGdlbmVyYXRpb24gb2YgV2ViQ29yZUpTQnVpbHRpbklu
dGVybmFscy5oIHdoaWNoIGNvbnRhaW4gYSB3cmFwcGVyIGFyb3VuZCBhbGwgcHJpdmF0ZSBmdW5j
dGlvbnMsIHVzZWQgYnkKKyAgICAgICAgSlNET01XaW5kb3dCYXNlLiBUaGUgY2xhc3MgaXMgbmFt
ZWQgSlNCdWlsdGluSW50ZXJuYWxGdW5jdGlvbnMuCisgICAgICAgIFJlbmFtZWQgV2ViQ29yZUpT
Q2xpZW50RGF0YSB0byBKU1ZNQ2xpZW50RGF0YS4KKworICAgICAgICBUaGUgcmVtYWluaW5nIG1h
bnVhbCBwYXJ0IGZvciBwcml2YXRlIGZ1bmN0aW9ucyBpcyB0aGUgcGFpcmluZyBiZXR3ZWVuIHBy
aXZhdGUgaWRlbnRpZmllcnMgYW5kCisgICAgICAgIHRoZSBwcml2YXRlIEpTIGZ1bmN0aW9ucyB3
aXRoaW4gSlNET01XaW5kb3dCYXNlOjpmaW5pc2hDcmVhdGlvbi4KKworICAgICAgICBDb3ZlcmVk
IGJ5IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAg
ICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBNb2R1bGVzL3N0cmVhbXMvQnl0ZUxl
bmd0aFF1ZXVpbmdTdHJhdGVneS5qczoKKyAgICAgICAgKiBNb2R1bGVzL3N0cmVhbXMvQ291bnRR
dWV1aW5nU3RyYXRlZ3kuanM6CisgICAgICAgICogTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3Ry
ZWFtLmpzOgorICAgICAgICAqIE1vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbUludGVybmFs
cy5qczoKKyAgICAgICAgKiBXZWJDb3JlLm9yZGVyOgorICAgICAgICAqIFdlYkNvcmUudmN4cHJv
ai9XZWJDb3JlLnZjeHByb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0RPTVdyYXBwZXJXb3JsZC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpET01XcmFwcGVyV29ybGQ6OkRPTVdyYXBwZXJXb3JsZCk6CisgICAgICAg
IChXZWJDb3JlOjpET01XcmFwcGVyV29ybGQ6On5ET01XcmFwcGVyV29ybGQpOgorICAgICAgICAo
V2ViQ29yZTo6bm9ybWFsV29ybGQpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NV2luZG93
QmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvd0Jhc2U6OkpTRE9NV2luZG93
QmFzZSk6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvd0Jhc2U6OmZpbmlzaENyZWF0aW9u
KToKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93QmFzZTo6dmlzaXRDaGlsZHJlbik6Cisg
ICAgICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvd0Jhc2U6OmZpcmVGcmFtZUNsZWFyZWRXYXRjaHBv
aW50c0ZvcldpbmRvdyk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmg6
CisgICAgICAgICogYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTY3JpcHRDb250cm9sbGVyOjpnZXRBbGxXb3JsZHMpOgorICAgICAgICAqIGJpbmRp
bmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXJp
YWxpemVkU2NyaXB0VmFsdWU6OnRyYW5zZmVyQXJyYXlCdWZmZXJzKToKKyAgICAgICAgKiBiaW5k
aW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRhLmg6CisgICAgICAgIChXZWJDb3JlOjpKU0NsaWVu
dERhdGE6OkpTQ2xpZW50RGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpKU0NsaWVudERhdGE6On5K
U0NsaWVudERhdGEpOgorICAgICAgICAoV2ViQ29yZTo6SlNDbGllbnREYXRhOjpidWlsdGluRnVu
Y3Rpb25zKToKKyAgICAgICAgKFdlYkNvcmU6OmluaXROb3JtYWxXb3JsZENsaWVudERhdGEpOgor
ICAgICAgICAoV2ViQ29yZTo6V2ViQ29yZUpTQ2xpZW50RGF0YTo6V2ViQ29yZUpTQ2xpZW50RGF0
YSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXZWJDb3JlSlNDbGllbnREYXRhOjp+V2Vi
Q29yZUpTQ2xpZW50RGF0YSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXZWJDb3JlSlND
bGllbnREYXRhOjpyZWFkYWJsZVN0cmVhbUJ1aWx0aW5zKTogRGVsZXRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OldlYkNvcmVKU0NsaWVudERhdGE6OnJlYWRhYmxlU3RyZWFtQ29udHJvbGxlckJ1aWx0
aW5zKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldlYkNvcmVKU0NsaWVudERhdGE6OnJl
YWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6V2ViQ29yZUpTQ2xpZW50RGF0YTo6cmVhZGFibGVTdHJlYW1SZWFkZXJCdWlsdGlucyk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXZWJDb3JlSlNDbGllbnREYXRhOjpieXRlTGVuZ3Ro
UXVldWluZ1N0cmF0ZWd5QnVpbHRpbnMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6V2Vi
Q29yZUpTQ2xpZW50RGF0YTo6Y291bnRRdWV1aW5nU3RyYXRlZ3lCdWlsdGlucyk6IERlbGV0ZWQu
CisgICAgICAgICogZ2VuZXJhdGUtanMtYnVpbHRpbnMtYWxsaW5vbmU6IEFkZGVkLgorICAgICAg
ICAocmV0cmlldmVHZW5lcmF0aW9uUGFyYW1ldGVycyk6CisgICAgICAgIChyZXRyaWV2ZUZpbGVz
V2l0aFBhcmFtZXRlcnMpOgorICAgICAgICAocmV0cmlldmVGaWxlc1dpdGhQYXJhbWV0ZXJzLkZp
bGVJbnB1dCk6CisgICAgICAgICh3cml0ZUNvbmRpdGlvbmFsKToKKyAgICAgICAgKEpTQnVpbHRp
bkZ1bmN0aW9ucyk6CisgICAgICAgIChQcml2YXRlKToKKyAgICAgICAgKEpTQnVpbHRpbkludGVy
bmFsRnVuY3Rpb25zKToKKyAgICAgICAgKGNvcHl0ZW1wZmlsZSk6CisKIDIwMTUtMTAtMDcgIEFu
dHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIEltcGxlbWVudCA6aG9z
dCBwc2V1ZG8gY2xhc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9nZW5lcmF0
ZS1qcy1idWlsdGlucyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9nZW5lcmF0ZS1qcy1idWlsdGlu
cwppbmRleCBiMjg0MWY0ZDJhM2ZiZjBiY2FiZGVmZTZjYTAzYWFhNGQ3OWEyNjNmLi5kZmY0MTg3
M2RhMmI2NWE3NzExNGNmNWQ0MWU4N2E0YzBkMzA2MzdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZ2VuZXJhdGUtanMtYnVpbHRpbnMKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2dlbmVyYXRlLWpzLWJ1aWx0aW5zCkBAIC0zMTQsOCArMzE0LDggQEAgaWYgKG5hbWVzcGFj
ZSA9PSAiSlNDIik6CiBlbHNlOgogICAgIGJ1aWx0aW5OYW1lID0gc2NvcGVOYW1lWzBdLmxvd2Vy
KCkgKyBzY29wZU5hbWVbMTpdCiAgICAgYnVpbHRpbnNJbXBsZW1lbnRhdGlvbi53cml0ZSgiIiJ7
XFwKLSAgICBXZWJDb3JlSlNDbGllbnREYXRhKiBjbGllbnREYXRhID0gc3RhdGljX2Nhc3Q8V2Vi
Q29yZUpTQ2xpZW50RGF0YSo+KHZtLmNsaWVudERhdGEpOyBcXAotICAgIHJldHVybiBjbGllbnRE
YXRhLT4lcygpLmNvZGVOYW1lIyNFeGVjdXRhYmxlKCktPmxpbmsodm0sIGNsaWVudERhdGEtPiVz
KCkuY29kZU5hbWUjI1NvdXJjZSgpKTsgXFwKKyAgICBKU1ZNQ2xpZW50RGF0YSogY2xpZW50RGF0
YSA9IHN0YXRpY19jYXN0PEpTVk1DbGllbnREYXRhKj4odm0uY2xpZW50RGF0YSk7IFxcCisgICAg
cmV0dXJuIGNsaWVudERhdGEtPmJ1aWx0aW5GdW5jdGlvbnMoKS4lcygpLmNvZGVOYW1lIyNFeGVj
dXRhYmxlKCktPmxpbmsodm0sIGNsaWVudERhdGEtPmJ1aWx0aW5GdW5jdGlvbnMoKS4lcygpLmNv
ZGVOYW1lIyNTb3VyY2UoKSk7IFxcCiAiIiIlIChidWlsdGluTmFtZSwgYnVpbHRpbk5hbWUpKQog
CiBidWlsdGluc0ltcGxlbWVudGF0aW9uLndyaXRlKCIiIn0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5k
ZXggYjQ1NWJjODI4MzgwMGRkNDRkYTczNWQyMGEyNjYzMzk3YTM1MDgzYi4uNGI4MzBiYzE1NjQ4
MTZmNmI5ODZmZjhkOWExODNhZjI1YTg2MmZjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTEy
NDIsNyArMTI0Miw2IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBiaW5kaW5ncy9qcy9TY3Jp
cHRHbG9iYWxPYmplY3QuY3BwCiAgICAgYmluZGluZ3MvanMvU2NyaXB0U3RhdGUuY3BwCiAgICAg
YmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcAotICAgIGJpbmRpbmdzL2pzL1dl
YkNvcmVKU0J1aWx0aW5zLmNwcAogICAgIGJpbmRpbmdzL2pzL1dlYkNvcmVUeXBlZEFycmF5Q29u
dHJvbGxlci5jcHAKICAgICBiaW5kaW5ncy9qcy9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmNwcAog
ICAgIGJpbmRpbmdzL2pzL1dvcmtlclNjcmlwdERlYnVnU2VydmVyLmNwcApAQCAtMzU5Myw2ICsz
NTkyLDE3IEBAIGZvcmVhY2ggKF9idWlsdGluanMgJHtXRUJDT1JFX0pTX0JVSUxUSU5TfSkKICAg
ICApCiAgICAgQUREX1NPVVJDRV9XRUJDT1JFX0RFUklWRURfREVQRU5ERU5DSUVTKCR7V0VCQ09S
RV9ESVJ9L2JpbmRpbmdzL2pzL1dlYkNvcmVKU0J1aWx0aW5zLmNwcCAke19uYW1lfUJ1aWx0aW5z
LmNwcCkKIGVuZGZvcmVhY2ggKCkKK2FkZF9jdXN0b21fY29tbWFuZCgKKyAgICBPVVRQVVQgJHtE
RVJJVkVEX1NPVVJDRVNfV0VCQ09SRV9ESVJ9L1dlYkNvcmVKU0J1aWx0aW5JbnRlcm5hbHMuaCAk
e0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vV2ViQ29yZUpTQnVpbHRpbnMuaCAke0RFUklW
RURfU09VUkNFU19XRUJDT1JFX0RJUn0vV2ViQ29yZUpTQnVpbHRpbnMuY3BwCisgICAgTUFJTl9E
RVBFTkRFTkNZICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9nZW5lcmF0ZS1qcy1idWlsdGlu
cy1hbGxpbm9uZQorICAgIERFUEVORFMgJHtXZWJDb3JlX0dFTkVSQVRFX0pTX0JVSUxUSU5TX1ND
UklQVFNfRElSfS9nZW5lcmF0ZS1qcy1idWlsdGlucworICAgIENPTU1BTkQgJHtQWVRIT05fRVhF
Q1VUQUJMRX0gJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L2dlbmVyYXRlLWpzLWJ1aWx0aW5z
LWFsbGlub25lICR7V0VCQ09SRV9KU19CVUlMVElOU30gLS1vdXRwdXRfZGlyICR7REVSSVZFRF9T
T1VSQ0VTX1dFQkNPUkVfRElSfQorICAgIFZFUkJBVElNKQorbGlzdChBUFBFTkQgV2ViQ29yZV9T
T1VSQ0VTCisgICAgJHtERVJJVkVEX1NPVVJDRVNfV0VCQ09SRV9ESVJ9L1dlYkNvcmVKU0J1aWx0
aW5JbnRlcm5hbHMuaAorICAgICR7REVSSVZFRF9TT1VSQ0VTX1dFQkNPUkVfRElSfS9XZWJDb3Jl
SlNCdWlsdGlucy5oCisgICAgJHtERVJJVkVEX1NPVVJDRVNfV0VCQ09SRV9ESVJ9L1dlYkNvcmVK
U0J1aWx0aW5zLmNwcAorKQogCiBBRERfU09VUkNFX1dFQkNPUkVfREVSSVZFRF9ERVBFTkRFTkNJ
RVMoJHtXRUJDT1JFX0RJUn0vaHRtbC9IVE1MVHJlZUJ1aWxkZXIuY3BwIE1hdGhNTE5hbWVzLmNw
cCkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggNDY2NTRmMmFkMzE4ODlkYjM0
MjU3YmZkOGM4ZmFjOTNlMmRmMDRiNS4uODA2MmYyMzEyZjU2NmI4ZWI3NGFjNzdjMDY1MTE0YTZl
ZDRiZDg1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0xMjUxLDcgKzEyNTEs
NyBAQCBXZWJSZXBsYXlJbnB1dHMuaCA6ICQoSU5QVVRfR0VORVJBVE9SX1NQRUNJRklDQVRJT05T
KSAkKElOUFVUX0dFTkVSQVRPUl9TQ1JJUFRTKQogCiAjIFdlYkNvcmUgSlMgQnVpbHRpbnMKIAot
V0VCQ09SRV9KU19CVUlMVElOUyA9IFwKK1dFQkNPUkVfSlNfQlVJTFRJTlNfU09VUkNFID0gXAog
ICAgICQoV2ViQ29yZSkvTW9kdWxlcy9zdHJlYW1zL0J5dGVMZW5ndGhRdWV1aW5nU3RyYXRlZ3ku
anMgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9zdHJlYW1zL0NvdW50UXVldWluZ1N0cmF0ZWd5
LmpzIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbS5qcyBc
CkBAIC0xMjYwLDkgKzEyNjAsMTYgQEAgV0VCQ09SRV9KU19CVUlMVElOUyA9IFwKICAgICAkKFdl
YkNvcmUpL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbVJlYWRlci5qcyBcCiAjCiAKLWFs
bCA6ICQoV0VCQ09SRV9KU19CVUlMVElOUzolLmpzPSVCdWlsdGlucy5jcHApCisuUEhPTlk6IFdl
YkNvcmVKU0J1aWx0aW5zCitXZWJDb3JlSlNCdWlsdGluczogV2ViQ29yZUpTQnVpbHRpbnMuY3Bw
IFdlYkNvcmVKU0J1aWx0aW5zLmggV2ViQ29yZUpTQnVpbHRpbkludGVybmFscy5oCithbGwgOiBX
ZWJDb3JlSlNCdWlsdGlucyAkKFdFQkNPUkVfSlNfQlVJTFRJTlNfU09VUkNFOiUuanM9JUJ1aWx0
aW5zLmgpICQoV0VCQ09SRV9KU19CVUlMVElOU19TT1VSQ0U6JS5qcz0lQnVpbHRpbnNXcmFwcGVy
LmgpICQoV0VCQ09SRV9KU19CVUlMVElOU19TT1VSQ0U6JS5qcz0lQnVpbHRpbnMuY3BwKQogCi0l
QnVpbHRpbnMuY3BwOiAlLmpzCitXZWJDb3JlSlNCdWlsdGlucy5jcHA6IFdlYkNvcmVKU0J1aWx0
aW5JbnRlcm5hbHMuaCBXZWJDb3JlSlNCdWlsdGlucy5oCitXZWJDb3JlSlNCdWlsdGlucy5jcHAg
V2ViQ29yZUpTQnVpbHRpbnMuaCBXZWJDb3JlSlNCdWlsdGluSW50ZXJuYWxzLmg6ICQoV0VCQ09S
RV9KU19CVUlMVElOU19TT1VSQ0UpICQoV2ViQ29yZSkvZ2VuZXJhdGUtanMtYnVpbHRpbnMtYWxs
aW5vbmUKKwkkKFBZVEhPTikgJChXZWJDb3JlKS9nZW5lcmF0ZS1qcy1idWlsdGlucy1hbGxpbm9u
ZSAkKFdFQkNPUkVfSlNfQlVJTFRJTlNfU09VUkNFKSAgLS1vdXRwdXRfZGlyIC4KKworJUJ1aWx0
aW5zLmNwcDogJUJ1aWx0aW5zLmggJUJ1aWx0aW5zV3JhcHBlci5oCislQnVpbHRpbnMuaCAlQnVp
bHRpbnMuY3BwICVCdWlsdGluc1dyYXBwZXIuaDogJS5qcyAkKFdlYkNvcmUpL2dlbmVyYXRlLWpz
LWJ1aWx0aW5zCiAJJChQWVRIT04pICQoV2ViQ29yZSkvZ2VuZXJhdGUtanMtYnVpbHRpbnMgLS1p
bnB1dCAkPCAtLWdlbmVyYXRlX2pzX2J1aWx0aW5zX3BhdGggJChHZW5lcmF0ZUpTQnVpbHRpbnNT
Y3JpcHRzKQogCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL0J5dGVMZW5ndGhRdWV1aW5nU3RyYXRlZ3kuanMgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvQnl0ZUxlbmd0aFF1ZXVpbmdTdHJhdGVneS5q
cwppbmRleCBhODI2NzM2N2M0OWQwMWE1MmViMTllN2E2YTZhZWVjZTkzM2ZjMDY1Li5mOTQ4MTI1
OGEwNTExMjAxMmVmMGQ0MTZlOWNjNDZiMDk0MTFmNWVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3N0cmVhbXMvQnl0ZUxlbmd0aFF1ZXVpbmdTdHJhdGVneS5qcworKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvQnl0ZUxlbmd0aFF1ZXVpbmdTdHJhdGVneS5q
cwpAQCAtMjQsNiArMjQsOCBAQAogICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCisvLyBAb3B0aW9uYWw9
U1RSRUFNU19BUEkKKwogZnVuY3Rpb24gc2l6ZShjaHVuaykKIHsKICAgICAidXNlIHN0cmljdCI7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvQ291bnRRdWV1aW5n
U3RyYXRlZ3kuanMgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvQ291bnRRdWV1aW5n
U3RyYXRlZ3kuanMKaW5kZXggOTExNzM3ZDBjZTVlZGExMWYxNmU3NzhkYTFhM2RmMWNmYzg5YjAw
ZS4uNDRkNjMwYjhiOGRjM2YyMjQ2NjBlOTgxMmQzZjEzZjYxYzY4MmFmMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL0NvdW50UXVldWluZ1N0cmF0ZWd5LmpzCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9Db3VudFF1ZXVpbmdTdHJhdGVneS5q
cwpAQCAtMjMsNiArMjMsOCBAQAogICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCisvLyBAb3B0aW9uYWw9
U1RSRUFNU19BUEkKKwogZnVuY3Rpb24gc2l6ZSgpCiB7CiAgICAgInVzZSBzdHJpY3QiOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtLmpz
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtLmpzCmluZGV4
IGQzNjY5M2E0NTEzNjJlZmRjOGFmOTcxNGE4ZTYzOTA5NTM1ZWE1YmMuLmQxZjFhZjBiMzM2ZGJi
N2M3MjRmOWI2MzJiZGUzOGVkMDA3YTJkMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbS5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW0uanMKQEAgLTk3LDYgKzk3LDggQEAgZnVuY3Rpb24g
Z2V0UmVhZGVyKCkKICAgICByZXR1cm4gbmV3IEBSZWFkYWJsZVN0cmVhbVJlYWRlcih0aGlzKTsK
IH0KIAorLy8gQG9wdGlvbmFsPVNUUkVBTVNfQVBJCisKIGZ1bmN0aW9uIHBpcGVUaHJvdWdoKHN0
cmVhbXMsIG9wdGlvbnMpCiB7CiAgICAgInVzZSBzdHJpY3QiOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtSW50ZXJuYWxzLmpzIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtSW50ZXJuYWxzLmpzCmlu
ZGV4IGViZDdmOTk1MDdjODQyMDUzZTg0NWFlNjI1YjczZmVmZmFjNmM3ZmMuLjZkOGZlNjZiMDMw
YTRhYzk1MjVkODE3MTQ3YjBjOThlMmQ0YmU3YjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbUludGVybmFscy5qcworKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1JbnRlcm5hbHMuanMKQEAgLTcx
LDYgKzcxLDkgQEAgZnVuY3Rpb24gcHJpdmF0ZUluaXRpYWxpemVSZWFkYWJsZVN0cmVhbUNvbnRy
b2xsZXIoc3RyZWFtKQogICAgIHJldHVybiB0aGlzOwogfQogCisvLyBAb3B0aW9uYWw9U1RSRUFN
U19BUEkKKy8vIEBpbnRlcm5hbHMKKwogZnVuY3Rpb24gdGVlUmVhZGFibGVTdHJlYW0oc3RyZWFt
LCBzaG91bGRDbG9uZSkKIHsKICAgICAidXNlIHN0cmljdCI7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLm9yZGVyIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5vcmRlcgppbmRl
eCAxOWExODBkNTRiMjMxNDBhYjU3YTkzNDAzYzdlYWYxZDNiNzQ4M2MzLi4yZGJjMWEwN2FmYzRj
MWU1YWI0Y2E1MmM4OGU4ZmRlODkwMjc3NWY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLm9yZGVyCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUub3JkZXIKQEAgLTI0NzIz
LDcgKzI0NzIzLDcgQEAgX19aTjdXZWJDb3JlTDI0SlNET01VUkxDb25zdHJ1Y3RvclRhYmxlRQog
X19aWk43V2ViQ29yZTEyd3JhcHBlck93bmVyRVBOU18xNURPTVdyYXBwZXJXb3JsZEVQTlNfNkRP
TVVSTEVFMTNqc0RPTVVSTE93bmVyCiBfX1pHVlpON1dlYkNvcmUxMndyYXBwZXJPd25lckVQTlNf
MTVET01XcmFwcGVyV29ybGRFUE5TXzZET01VUkxFRTEzanNET01VUkxPd25lcgogX19aTjdXZWJD
b3JlTDI3SlNET01XaW5kb3dDb25zdHJ1Y3RvclRhYmxlRQotX19aVFZON1dlYkNvcmUxOVdlYkNv
cmVKU0NsaWVudERhdGFFCitfX1pUVk43V2ViQ29yZTE5SlNWTUNsaWVudERhdGFFCiBfX1pON1dl
YkNvcmVMNDBKU0R5bmFtaWNzQ29tcHJlc3Nvck5vZGVDb25zdHJ1Y3RvclRhYmxlRQogX19aTjdX
ZWJDb3JlTDM4SlNEeW5hbWljc0NvbXByZXNzb3JOb2RlUHJvdG90eXBlVGFibGVFCiBfX1pON1dl
YkNvcmVMMjlKU0R5bmFtaWNzQ29tcHJlc3Nvck5vZGVUYWJsZUUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ogYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCmluZGV4IDk0OTJlMDY4ZGM1NTZhNWQ4
NDk4OGRmNThhYjhjODhjZDI3NTc4ZWEuLjZlODU4OWM0NmNjMjNkZmI5YTUxNDk4ZDdlYTFiZTRk
ZWQ1ZDZmYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJD
b3JlLnZjeHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUu
dmN4cHJvagpAQCAtMjMxLDYgKzIzMSwyMCBAQAogICAgIDxDbENvbXBpbGUgLz4KICAgPC9JdGVt
RGVmaW5pdGlvbkdyb3VwPgogICA8SXRlbUdyb3VwPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0i
JChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9iaiQoUGxhdGZvcm1BcmNoaXRlY3R1cmUpXCQoUHJv
amVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXFdlYkNvcmVKU0J1aWx0aW5zLmNwcCI+CisgICAgICA8
RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3Jt
KSc9PSdEZWJ1Z3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1
ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0n
RGVidWd8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9t
QnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z19X
aW5DYWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVk
RnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVi
dWdfV2luQ2Fpcm98eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVk
ZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdE
ZWJ1Z1N1ZmZpeHxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1
ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0n
RGVidWdTdWZmaXh8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVk
ZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdS
ZWxlYXNlfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRG
cm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxl
YXNlfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVkRnJvbUJ1
aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9X
aW5DYWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVk
RnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUmVs
ZWFzZV9XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNs
dWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09
J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNs
dWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09
J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgPC9DbENvbXBp
bGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2Jq
JChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcQ29s
b3JEYXRhLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQoQ29uZmlndXJhdGlvbkJ1
aWxkRGlyKVxvYmokKFBsYXRmb3JtQXJjaGl0ZWN0dXJlKVwkKFByb2plY3ROYW1lKVxEZXJpdmVk
U291cmNlc1xDU1NHcmFtbWFyLmNwcCI+CiAgICAgICA8RGlzYWJsZVNwZWNpZmljV2FybmluZ3Mg
Q29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMici
PjQwNjU7NDI3Mzs0NTY1OzQ3MDE7NDcwMjslKERpc2FibGVTcGVjaWZpY1dhcm5pbmdzKTwvRGlz
YWJsZVNwZWNpZmljV2FybmluZ3M+CkBAIC0xODkwMSwyMCArMTg5MTUsNiBAQAogICAgICAgPEV4
Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSkn
PT0nUHJvZHVjdGlvbnxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgICAgPEV4
Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSkn
PT0nUHJvZHVjdGlvbnx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KICAgICA8L0NsQ29t
cGlsZT4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGJpbmRpbmdzXGpzXFdlYkNvcmVKU0J1
aWx0aW5zLmNwcCI+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25m
aWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJv
bUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJh
dGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+
Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwk
KFBsYXRmb3JtKSc9PSdEZWJ1Z19XaW5DYWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1
aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlv
bil8JChQbGF0Zm9ybSknPT0nRGVidWdfV2luQ2Fpcm98eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9t
QnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0
aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z1N1ZmZpeHxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJv
bUJ1aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJh
dGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdTdWZmaXh8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9t
QnVpbGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0
aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVp
bGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9u
KXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgot
ICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQ
bGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3xXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1
aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlv
bil8JChQbGF0Zm9ybSknPT0nUmVsZWFzZV9XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZy
b21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3Vy
YXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258V2luMzInIj50cnVlPC9FeGNsdWRlZEZy
b21CdWlsZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3Vy
YXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9t
QnVpbGQ+Ci0gICAgPC9DbENvbXBpbGU+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxiaW5k
aW5nc1xqc1xXb3JrZXJTY3JpcHRDb250cm9sbGVyLmNwcCI+CiAgICAgICA8RXhjbHVkZWRGcm9t
QnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3xX
aW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxk
IENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWd8eDY0JyI+
dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZTJlYmU5NTI5NGI5YzMxZDQwMWUzY2VkNjky
NWU5MmIxYTc0MjY1Ni4uNWRmZDA0YzU0NmJmMTE2NmE2OTc3M2Y1MGNiYmNiYTZjZjgyOTRhMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agpAQCAtMTQ4NSw3ICsxNDg1LDYgQEAKIAkJNDBFQ0FFN0UxNkI4QjY3MjAwQzM2MTAzIC8qIEpT
RE9NRXJyb3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQwRUNBRTdEMTZCOEI2NzIwMEMzNjEwMyAvKiBKU0RPTUVycm9yLmggKi87IH07CiAJCTQwRUNB
RTgxMTZCOEI2OEEwMEMzNjEwMyAvKiBKU0RPTUVycm9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQwRUNBRTgwMTZCOEI2OEEwMEMzNjEwMyAvKiBK
U0RPTUVycm9yLmNwcCAqLzsgfTsKIAkJNDEwQjdFNzIxMDQ1RkFCMDAwRDgyMjRGIC8qIEpTTWVz
c2FnZUV2ZW50Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDQxMEI3RTcxMTA0NUZBQjAwMEQ4MjI0RiAvKiBKU01lc3NhZ2VFdmVudEN1c3Rv
bS5jcHAgKi87IH07Ci0JCTQxMUE5MDQyMUJCQUI0N0EwMDBDRjE1NiAvKiBXZWJDb3JlSlNCdWls
dGlucy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
MTFBOTA0MTFCQkFCNDZEMDAwQ0YxNTYgLyogV2ViQ29yZUpTQnVpbHRpbnMuY3BwICovOyB9Owog
CQk0MTIzMDgxQjEzOEM0Mjk3MDBCQ0NGQ0EgLyogV2ViQ29yZS5mcmFtZXdvcmsgaW4gRnJhbWV3
b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0YxOUIxQTA4MjQ1RTVB
MDAxRTlBQkMgLyogV2ViQ29yZS5mcmFtZXdvcmsgKi87IH07CiAJCTQxMjMwOTEzMTM4QzQyRkYw
MEJDQ0ZDQSAvKiBKYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGODIxNjI5OTAyOUY0RkI1MDEwMDAxMzEgLyog
SmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrICovOyB9OwogCQk0MTI3RDUzNzBGOEFBQjFEMDBFNDI0
RjUgLyogU2NyaXB0U3RhdGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDEyN0Q1MzYwRjhBQUIxRDAwRTQyNEY1IC8qIFNjcmlwdFN0YXRlLmNwcCAq
LzsgfTsKQEAgLTE1MDgsNyArMTUwNyw4IEBACiAJCTQxNkUyOUE2MTAyRkE5NjIwMDdGQzE0RSAv
KiBXb3JrZXJSZXBvcnRpbmdQcm94eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDE2RTI5QTUxMDJGQTk2MjAwN0ZDMTRFIC8qIFdvcmtlclJlcG9ydGlu
Z1Byb3h5LmggKi87IH07CiAJCTQxNkU2RkU4MUJCRDEyREYwMDBBNjA0MyAvKiBSZWFkYWJsZVN0
cmVhbUludGVybmFsc0J1aWx0aW5zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5QjAzRDgwNjFCQjMxMTBEMDBCNzY0RDkgLyogUmVhZGFibGVTdHJlYW1J
bnRlcm5hbHNCdWlsdGlucy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCTQxNkU2RkU5MUJCRDEyRTUwMDBBNjA0MyAvKiBSZWFkYWJsZVN0cmVhbUJ1
aWx0aW5zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5
QjAzRDgwNjFCQjMxMTBEMDBCNzY0RDggLyogUmVhZGFibGVTdHJlYW1CdWlsdGlucy5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTQxNkU2RkVBMUJC
RDE2ODQwMDBBNjA0MyAvKiBSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zV3JhcHBlci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOUIwM0Q4MDcx
QkIzMTEwRDAwQjc2NEQ5IC8qIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnNXcmFwcGVy
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNDE2
RTZGRUExQkJEMTY4NDAwMEE2MDQ0IC8qIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnNX
cmFwcGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5
QjAzRDgwNzFCQjMxMTBEMDBCNzY0REEgLyogUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlu
c1dyYXBwZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OworCQk0MTZFNkZFQTFCQkQxNjg0MDAwQTYwNDMgLyogV2ViQ29yZUpTQnVpbHRpbkludGVybmFs
cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOUIwM0Q4
MDcxQkIzMTEwRDAwQjc2NEQ5IC8qIFdlYkNvcmVKU0J1aWx0aW5JbnRlcm5hbHMuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MTcyNTNBQTEzNTRC
QkJDMDAzNjBGMkEgLyogTWVkaWFDb250cm9sRWxlbWVudHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE3MjUzQTgxMzU0QkJCQzAwMzYwRjJBIC8q
IE1lZGlhQ29udHJvbEVsZW1lbnRzLmNwcCAqLzsgfTsKIAkJNDE3MjUzQUIxMzU0QkJCQzAwMzYw
RjJBIC8qIE1lZGlhQ29udHJvbEVsZW1lbnRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0MTcyNTNBOTEzNTRCQkJDMDAzNjBGMkEgLyogTWVkaWFDb250
cm9sRWxlbWVudHMuaCAqLzsgfTsKIAkJNDE3REE2RDkxMzczNEU2RTAwN0M1N0ZCIC8qIEludGVy
bmFscy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
MTdEQTRDRjEzNzM0MzI2MDA3QzU3RkIgLyogSW50ZXJuYWxzLmNwcCAqLzsgfTsKQEAgLTI2MzIs
NiArMjYzMiw3IEBACiAJCTdDNDhBNkQwMTkxQzlENjUwMDAyNjY3NCAvKiBXZWJLaXROYW1lc3Bh
Y2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M0
OEE2Q0UxOTFDOUQ2NTAwMDI2Njc0IC8qIFdlYktpdE5hbWVzcGFjZS5jcHAgKi87IH07CiAJCTdD
NDhBNkQxMTkxQzlENjUwMDAyNjY3NCAvKiBXZWJLaXROYW1lc3BhY2UuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDNDhBNkNGMTkxQzlENjUwMDAyNjY3
NCAvKiBXZWJLaXROYW1lc3BhY2UuaCAqLzsgfTsKIAkJN0M0OTAyQTIxOEI4MjVGODAwN0Q5Mjk4
IC8qIERPTVdoZWVsRXZlbnRJbnRlcm5hbC5oIGluIENvcHkgR2VuZXJhdGVkIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODU5ODlEQ0EwQUNDOEJCRDAwQTBCQzUx
IC8qIERPTVdoZWVsRXZlbnRJbnRlcm5hbC5oICovOyB9OworCQk3QzRDOTZEQzFBRDQ0ODM1MDAz
NjVBNTEgLyogV2ViQ29yZUpTQnVpbHRpbnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gN0M0Qzk2RDgxQUQ0NDgzNTAwMzY1QTUxIC8qIFdlYkNvcmVK
U0J1aWx0aW5zLmNwcCAqLzsgfTsKIAkJN0M0Qzk2REMxQUQ0NDgzNTAwMzY1QTUwIC8qIEpTUmVh
ZGFibGVTdHJlYW0uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gN0M0Qzk2RDgxQUQ0NDgzNTAwMzY1QTUwIC8qIEpTUmVhZGFibGVTdHJlYW0uY3BwICov
OyB9OwogCQk3QzRDOTZERDFBRDQ0ODM1MDAzNjVBNTAgLyogSlNSZWFkYWJsZVN0cmVhbS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M0Qzk2RDkxQUQ0
NDgzNTAwMzY1QTUwIC8qIEpTUmVhZGFibGVTdHJlYW0uaCAqLzsgfTsKIAkJN0M0Qzk2REUxQUQ0
NDgzNTAwMzY1QTUwIC8qIEpTUmVhZGFibGVTdHJlYW1SZWFkZXIuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M0Qzk2REExQUQ0NDgzNTAwMzY1QTUw
IC8qIEpTUmVhZGFibGVTdHJlYW1SZWFkZXIuY3BwICovOyB9OwpAQCAtODc2Myw3ICs4NzY0LDYg
QEAKIAkJNDBFQ0FFODAxNkI4QjY4QTAwQzM2MTAzIC8qIEpTRE9NRXJyb3IuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNET01FcnJvci5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTQxMEI3RTcxMTA0NUZBQjAwMEQ4MjI0RiAvKiBKU01lc3NhZ2VF
dmVudEN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU01l
c3NhZ2VFdmVudEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMTg5
RUY3MUFEODIzMjgwMEI5MEEwRCAvKiBSZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXIuaWRsICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gdGV4dDsgcGF0aCA9IFJlYWRhYmxlU3RyZWFtQ29udHJvbGxlci5pZGw7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTQxMUE5MDQxMUJCQUI0NkQwMDBDRjE1NiAvKiBXZWJDb3Jl
SlNCdWlsdGlucy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJD
b3JlSlNCdWlsdGlucy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMjdENTM2
MEY4QUFCMUQwMEU0MjRGNSAvKiBTY3JpcHRTdGF0ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBTY3JpcHRTdGF0ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTQxMjlERjgxMUJCNUI3OUIwMDMyMkExNiAvKiBSZWFkYWJsZVN0cmVhbUNvbnRyb2xs
ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVhZGFibGVTdHJlYW1Db250
cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMjlERjgyMUJCNUI3QTYw
MDMyMkExNiAvKiBSZWFkYWJsZVN0cmVhbVJlYWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBSZWFkYWJsZVN0cmVhbVJlYWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwpAQCAtMTAwNTAsNiArMTAwNTAsNyBAQAogCQk3QzQ4QTZDRTE5MUM5RDY1MDAwMjY2NzQg
LyogV2ViS2l0TmFtZXNwYWNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFdlYktpdE5hbWVzcGFjZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdD
NDhBNkNGMTkxQzlENjUwMDAyNjY3NCAvKiBXZWJLaXROYW1lc3BhY2UuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViS2l0TmFtZXNwYWNlLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTdDNDhBNkQyMTkxQzlEOEUwMDAyNjY3NCAvKiBXZWJLaXROYW1lc3BhY2Uu
aWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dDsgcGF0aCA9IFdlYktpdE5hbWVzcGFjZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTdDNEM5NkQ4MUFENDQ4MzUwMDM2NUE1MSAvKiBXZWJDb3JlSlNCdWlsdGlucy5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJDb3JlSlNCdWlsdGlucy5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDNEM5NkQ4MUFENDQ4MzUwMDM2NUE1MCAv
KiBKU1JlYWRhYmxlU3RyZWFtLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEpTUmVhZGFibGVTdHJlYW0uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3
QzRDOTZEOTFBRDQ0ODM1MDAzNjVBNTAgLyogSlNSZWFkYWJsZVN0cmVhbS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBKU1JlYWRhYmxlU3RyZWFtLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTdDNEM5NkRBMUFENDQ4MzUwMDM2NUE1MCAvKiBKU1JlYWRhYmxlU3Ry
ZWFtUmVhZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTUmVh
ZGFibGVTdHJlYW1SZWFkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTEz
MjEsNyArMTEzMjIsOCBAQAogCQk5QjAzRDgwNjFCQjMxMTBEMDBCNzY0RDggLyogUmVhZGFibGVT
dHJlYW1CdWlsdGlucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZWFkYWJs
ZVN0cmVhbUJ1aWx0aW5zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTlCMDNEODA2
MUJCMzExMEQwMEI3NjREOSAvKiBSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVp
bHRpbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOUIwM0Q4MDcxQkIzMTEwRDAw
Qjc2NEQ4IC8qIFJlYWRhYmxlU3RyZWFtQnVpbHRpbnNXcmFwcGVyLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFJlYWRhYmxlU3RyZWFtQnVpbHRpbnNXcmFwcGVyLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTlCMDNEODA3MUJCMzExMEQwMEI3NjREOSAvKiBSZWFk
YWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zV3JhcHBlci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zV3JhcHBlci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5QjAzRDgwNzFCQjMxMTBEMDBCNzY0REEgLyog
UmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGluc1dyYXBwZXIuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGluc1dyYXBwZXIu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOUIwM0Q4MDcxQkIzMTEwRDAwQjc2NEQ5
IC8qIFdlYkNvcmVKU0J1aWx0aW5JbnRlcm5hbHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gV2ViQ29yZUpTQnVpbHRpbkludGVybmFscy5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk5QjE5QjY3RTFCOTY0RTUyMDAzNDg3NDUgLyogU2hhZG93Um9vdC5pZGwgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBwYXRoID0gU2hhZG93Um9vdC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTlCMUFCMDc5MTY0OEM2OUQwMDUxRjNGMiAvKiBIVE1MRm9ybUNvbnRyb2xzQ29s
bGVjdGlvbi5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0OyBwYXRoID0gSFRNTEZvcm1Db250cm9sc0NvbGxlY3Rpb24uaWRsOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk5QjFBQjA3QjE2NDhDN0M0MDA1MUYzRjIgLyogSlNIVE1M
Rm9ybUNvbnRyb2xzQ29sbGVjdGlvbkN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBKU0hUTUxGb3JtQ29udHJvbHNDb2xsZWN0aW9uQ3VzdG9tLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE2Mjc5LDYgKzE2MjgxLDcgQEAKIAkJNDFBMDIz
RkExQTM5RjEzQTAwRjcyMkNGIC8qIFN0cmVhbXMgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsK
IAkJCWNoaWxkcmVuID0gKAorCQkJCTdDNEM5NkQ4MUFENDQ4MzUwMDM2NUE1MSAvKiBXZWJDb3Jl
SlNCdWlsdGlucy5jcHAgKi8sCiAJCQkJN0M0Qzk2RDgxQUQ0NDgzNTAwMzY1QTUwIC8qIEpTUmVh
ZGFibGVTdHJlYW0uY3BwICovLAogCQkJCTdDNEM5NkQ5MUFENDQ4MzUwMDM2NUE1MCAvKiBKU1Jl
YWRhYmxlU3RyZWFtLmggKi8sCiAJCQkJNkM0Qzk2REExQUQ0NDgzNTAwMzY1QTUwIC8qIEpTUmVh
ZGFibGVTdHJlYW1Db250cm9sbGVyLmNwcCAqLywKQEAgLTE3MDcwLDcgKzE3MDczLDggQEAKIAkJ
CQk5QjAzRDgwNjFCQjMxMTBEMDBCNzY0RDggLyogUmVhZGFibGVTdHJlYW1CdWlsdGlucy5oICov
LAogCQkJCTlCMDNEODA2MUJCMzExMEQwMEI3NjREOSAvKiBSZWFkYWJsZVN0cmVhbUludGVybmFs
c0J1aWx0aW5zLmggKi8sCiAJCQkJOUIwM0Q4MDcxQkIzMTEwRDAwQjc2NEQ4IC8qIFJlYWRhYmxl
U3RyZWFtQnVpbHRpbnNXcmFwcGVyLmggKi8sCi0JCQkJOUIwM0Q4MDcxQkIzMTEwRDAwQjc2NEQ5
IC8qIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnNXcmFwcGVyLmggKi8sCisJCQkJOUIw
M0Q4MDcxQkIzMTEwRDAwQjc2NERBIC8qIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnNX
cmFwcGVyLmggKi8sCisJCQkJOUIwM0Q4MDcxQkIzMTEwRDAwQjc2NEQ5IC8qIFdlYkNvcmVKU0J1
aWx0aW5JbnRlcm5hbHMuaCAqLywKIAkJCQk0M0I4NUVEMjE4Q0JFQzUyMDBFMzFBRjQgLyogU2Vs
ZWN0b3JQc2V1ZG9DbGFzc0FuZENvbXBhdGliaWxpdHlFbGVtZW50TWFwLmNwcCAqLywKIAkJCQk0
M0I4NUVEMzE4Q0JFQzUyMDBFMzFBRjQgLyogU2VsZWN0b3JQc2V1ZG9DbGFzc0FuZENvbXBhdGli
aWxpdHlFbGVtZW50TWFwLmdwZXJmICovLAogCQkJCTI2QUEwRjlEMThEMkExOEIwMDQxOTM4MSAv
KiBTZWxlY3RvclBzZXVkb0VsZW1lbnRUeXBlTWFwLmNwcCAqLywKQEAgLTIxNjY3LDcgKzIxNjcx
LDYgQEAKIAkJCQkxNDAwRDdBNzE3MTM2RUE3MDA3N0NFMDUgLyogU2NyaXB0V3JhcHBhYmxlSW5s
aW5lcy5oICovLAogCQkJCUE3NUU0OTc1MTA3NTJBQ0IwMEM5Qjg5NiAvKiBTZXJpYWxpemVkU2Ny
aXB0VmFsdWUuY3BwICovLAogCQkJCUE3NUU0OTc0MTA3NTJBQ0IwMEM5Qjg5NiAvKiBTZXJpYWxp
emVkU2NyaXB0VmFsdWUuaCAqLywKLQkJCQk0MTFBOTA0MTFCQkFCNDZEMDAwQ0YxNTYgLyogV2Vi
Q29yZUpTQnVpbHRpbnMuY3BwICovLAogCQkJCUJDNTNEOTEwMTE0MzEwQ0MwMDBEODE3RSAvKiBX
ZWJDb3JlSlNDbGllbnREYXRhLmggKi8sCiAJCQkJMEYwOTlEMDYxN0I5NjhBMTAwRkY4NEI5IC8q
IFdlYkNvcmVUeXBlZEFycmF5Q29udHJvbGxlci5jcHAgKi8sCiAJCQkJMEYwOTlEMDcxN0I5NjhB
MTAwRkY4NEI5IC8qIFdlYkNvcmVUeXBlZEFycmF5Q29udHJvbGxlci5oICovLApAQCAtMjU3MjEs
NyArMjU3MjQsOCBAQAogCQkJCUZDOUUwRTREMTY0MTlDMUUwMDM5MkJFMyAvKiBKU0RPTVdpbmRv
d0NTUy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNjUyRkJCQkMwREUyN0NCNjAwMDFEMzg2IC8qIEpT
RE9NV2luZG93Q3VzdG9tLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0JGQjUzRDBEQ0QyOUNGMDAx
OUIzRTUgLyogSlNET01XaW5kb3dTaGVsbC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNDE2RTZGRUEx
QkJEMTY4NDAwMEE2MDQzIC8qIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnNXcmFwcGVy
LmggaW4gSGVhZGVycyAqLywKKwkJCQk0MTZFNkZFQTFCQkQxNjg0MDAwQTYwNDQgLyogUmVhZGFi
bGVTdHJlYW1JbnRlcm5hbHNCdWlsdGluc1dyYXBwZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTQx
NkU2RkVBMUJCRDE2ODQwMDBBNjA0MyAvKiBXZWJDb3JlSlNCdWlsdGluSW50ZXJuYWxzLmggaW4g
SGVhZGVycyAqLywKIAkJCQk2NUUwRTk0NDExMzNDODlGMDBCNENCMTAgLyogSlNET01XcmFwcGVy
LmggaW4gSGVhZGVycyAqLywKIAkJCQlGRDc4NjhCQTEzNkI5OTkyMDBENDAzREYgLyogSlNEeW5h
bWljc0NvbXByZXNzb3JOb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQk2NURGMzFGQTA5RDFDQzYw
MDAwQkUzMjUgLyogSlNFbGVtZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTI5MDYxLDcgKzI5MDY1
LDYgQEAKIAkJCQlBOEVBNzlGMzBBMTkxNkRGMDBBOEVGNUYgLyogSFRNTFVMaXN0RWxlbWVudC5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlFNDQ2MTNBQTBDRDYzMzEwMDBGQURBNzUgLyogSFRNTFZp
ZGVvRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4MzlBQUZFQzFBMEMwQzhEMDA2MDVG
OTkgLyogSFRNTFdCUkVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJNDExQTkwNDIxQkJB
QjQ3QTAwMENGMTU2IC8qIFdlYkNvcmVKU0J1aWx0aW5zLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTBCOEM1NkQ0MEYyODYyN0YwMDA1MDJFMSAvKiBIVFRQSGVhZGVyTWFwLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTFBQzkwMEMzMTk0M0MwRkMwMDg2MjVCNSAvKiBIVFRQSGVhZGVyTmFtZXMuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJNTE0Qzc2NzIwQ0U5MjNBMTAwN0VGM0NEIC8qIEhUVFBQYXJz
ZXJzLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjk1NzMsNiArMjk1NzYsNyBAQAogCQkJCTA3NzY2
NEZDMTgzRTZCNUMwMDEzM0I5MiAvKiBKU1F1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50LmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUI2NThGRkExMTUyMkVGM0EwMERENTU5NSAvKiBKU1JhZGlvTm9k
ZUxpc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNjVERjMyMDEwOUQxQ0M2MDAwMEJFMzI1IC8q
IEpTUmFuZ2UuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJN0M0Qzk2REMxQUQ0NDgzNTAwMzY1QTUx
IC8qIFdlYkNvcmVKU0J1aWx0aW5zLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDNEM5NkRDMUFE
NDQ4MzUwMDM2NUE1MCAvKiBKU1JlYWRhYmxlU3RyZWFtLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTZDNEM5NkRFMUFENDQ4MzUwMDM2NUE1MCAvKiBKU1JlYWRhYmxlU3RyZWFtQ29udHJvbGxlci5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk3QzRDOTZERTFBRDQ0ODM1MDAzNjVBNTAgLyogSlNSZWFk
YWJsZVN0cmVhbVJlYWRlci5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0RPTVdyYXBwZXJXb3JsZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9ET01XcmFwcGVyV29ybGQuY3BwCmluZGV4IDNkZDI1ZTE4YzE0ZjYxNGE0ODM4
MTI3MmJhNTI5YTkyZGRiMGExZTYuLjY2NTdkMmY5ZTY3Y2Y5NjUzM2NkYmEwZWU4OWMyMjU4NjFl
OGY4OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0RPTVdyYXBwZXJX
b3JsZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvRE9NV3JhcHBlcldvcmxk
LmNwcApAQCAtMzYsMTQgKzM2LDE0IEBAIERPTVdyYXBwZXJXb3JsZDo6RE9NV3JhcHBlcldvcmxk
KEpTQzo6Vk0mIHZtLCBib29sIGlzTm9ybWFsKQogewogICAgIFZNOjpDbGllbnREYXRhKiBjbGll
bnREYXRhID0gbV92bS5jbGllbnREYXRhOwogICAgIEFTU0VSVChjbGllbnREYXRhKTsKLSAgICBz
dGF0aWNfY2FzdDxXZWJDb3JlSlNDbGllbnREYXRhKj4oY2xpZW50RGF0YSktPnJlbWVtYmVyV29y
bGQoKnRoaXMpOworICAgIHN0YXRpY19jYXN0PEpTVk1DbGllbnREYXRhKj4oY2xpZW50RGF0YSkt
PnJlbWVtYmVyV29ybGQoKnRoaXMpOwogfQogCiBET01XcmFwcGVyV29ybGQ6On5ET01XcmFwcGVy
V29ybGQoKQogewogICAgIFZNOjpDbGllbnREYXRhKiBjbGllbnREYXRhID0gbV92bS5jbGllbnRE
YXRhOwogICAgIEFTU0VSVChjbGllbnREYXRhKTsKLSAgICBzdGF0aWNfY2FzdDxXZWJDb3JlSlND
bGllbnREYXRhKj4oY2xpZW50RGF0YSktPmZvcmdldFdvcmxkKCp0aGlzKTsKKyAgICBzdGF0aWNf
Y2FzdDxKU1ZNQ2xpZW50RGF0YSo+KGNsaWVudERhdGEpLT5mb3JnZXRXb3JsZCgqdGhpcyk7CiAK
ICAgICAvLyBUaGVzZSBpdGVtcyBhcmUgY3JlYXRlZCBsYXppbHkuCiAgICAgd2hpbGUgKCFtX3Nj
cmlwdENvbnRyb2xsZXJzV2l0aFdpbmRvd1NoZWxscy5pc0VtcHR5KCkpCkBAIC02Myw3ICs2Myw3
IEBAIERPTVdyYXBwZXJXb3JsZCYgbm9ybWFsV29ybGQoSlNDOjpWTSYgdm0pCiB7CiAgICAgVk06
OkNsaWVudERhdGEqIGNsaWVudERhdGEgPSB2bS5jbGllbnREYXRhOwogICAgIEFTU0VSVChjbGll
bnREYXRhKTsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8V2ViQ29yZUpTQ2xpZW50RGF0YSo+KGNs
aWVudERhdGEpLT5ub3JtYWxXb3JsZCgpOworICAgIHJldHVybiBzdGF0aWNfY2FzdDxKU1ZNQ2xp
ZW50RGF0YSo+KGNsaWVudERhdGEpLT5ub3JtYWxXb3JsZCgpOwogfQogCiBET01XcmFwcGVyV29y
bGQmIG1haW5UaHJlYWROb3JtYWxXb3JsZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNET01XaW5kb3dCYXNlLmNwcAppbmRleCA5ZTBmZjRmYzg5YTY4MDA2M2Q1YWE3NTYyZmFj
ZTRiNjkxZmJmMGYwLi4xNjU5ODFlODY2OTVlMTk2NjEyOTllNmNiNjc2NjZmMTJiYjg5NTNhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5jcHAKQEAg
LTcwLDkgKzcwLDcgQEAgSlNET01XaW5kb3dCYXNlOjpKU0RPTVdpbmRvd0Jhc2UoVk0mIHZtLCBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSwgUGFzc1JlZlB0cjxET01XaW4KICAgICAsIG1fd2luZG93Q2xv
c2VXYXRjaHBvaW50cygod2luZG93ICYmIHdpbmRvdy0+ZnJhbWUoKSkgPyBJc1dhdGNoZWQgOiBJ
c0ludmFsaWRhdGVkKQogICAgICwgbV9pbXBsKHdpbmRvdykKICAgICAsIG1fc2hlbGwoc2hlbGwp
Ci0jaWYgRU5BQkxFKFNUUkVBTVNfQVBJKQotICAgICwgbV9yZWFkYWJsZVN0cmVhbUZ1bmN0aW9u
cyh2bSkKLSNlbmRpZgorICAgICwgbV9wcml2YXRlRnVuY3Rpb25zKHZtKQogewogfQogCkBAIC04
MSwyMyArNzksMjEgQEAgdm9pZCBKU0RPTVdpbmRvd0Jhc2U6OmZpbmlzaENyZWF0aW9uKFZNJiB2
bSwgSlNET01XaW5kb3dTaGVsbCogc2hlbGwpCiAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0s
IHNoZWxsKTsKICAgICBBU1NFUlQoaW5oZXJpdHMoaW5mbygpKSk7CiAKLSNpZiBFTkFCTEUoU1RS
RUFNU19BUEkpCi0gICAgbV9yZWFkYWJsZVN0cmVhbUZ1bmN0aW9ucy5pbml0KCp0aGlzKTsKLSNl
bmRpZgorICAgIG1fcHJpdmF0ZUZ1bmN0aW9ucy5pbml0KCp0aGlzKTsKIAogICAgIEdsb2JhbFBy
b3BlcnR5SW5mbyBzdGF0aWNHbG9iYWxzW10gPSB7CiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5m
byh2bS5wcm9wZXJ0eU5hbWVzLT5kb2N1bWVudCwganNOdWxsKCksIERvbnREZWxldGUgfCBSZWFk
T25seSksCiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT53aW5k
b3csIG1fc2hlbGwsIERvbnREZWxldGUgfCBSZWFkT25seSksCiAjaWYgRU5BQkxFKFNUUkVBTVNf
QVBJKQotICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8oc3RhdGljX2Nhc3Q8V2ViQ29yZUpTQ2xp
ZW50RGF0YSo+KHZtLmNsaWVudERhdGEpLT5idWlsdGluTmFtZXMoKS5yZWFkYWJsZVN0cmVhbUNs
b3NlZFByaXZhdGVOYW1lKCksIGpzTnVtYmVyKDEpLCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAot
ICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8oc3RhdGljX2Nhc3Q8V2ViQ29yZUpTQ2xpZW50RGF0
YSo+KHZtLmNsaWVudERhdGEpLT5idWlsdGluTmFtZXMoKS5yZWFkYWJsZVN0cmVhbUVycm9yZWRQ
cml2YXRlTmFtZSgpLCBqc051bWJlcigyKSwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKLSAgICAg
ICAgR2xvYmFsUHJvcGVydHlJbmZvKHN0YXRpY19jYXN0PFdlYkNvcmVKU0NsaWVudERhdGEqPih2
bS5jbGllbnREYXRhKS0+YnVpbHRpbk5hbWVzKCkucmVhZGFibGVTdHJlYW1SZWFkYWJsZVByaXZh
dGVOYW1lKCksIGpzTnVtYmVyKDMpLCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAotICAgICAgICBH
bG9iYWxQcm9wZXJ0eUluZm8oc3RhdGljX2Nhc3Q8V2ViQ29yZUpTQ2xpZW50RGF0YSo+KHZtLmNs
aWVudERhdGEpLT5idWlsdGluTmFtZXMoKS5SZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXJQcml2YXRl
TmFtZSgpLCBjcmVhdGVSZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXJQcml2YXRlQ29uc3RydWN0b3Io
dm0sICp0aGlzKSwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKLSAgICAgICAgR2xvYmFsUHJvcGVy
dHlJbmZvKHN0YXRpY19jYXN0PFdlYkNvcmVKU0NsaWVudERhdGEqPih2bS5jbGllbnREYXRhKS0+
YnVpbHRpbk5hbWVzKCkuUmVhZGFibGVTdHJlYW1SZWFkZXJQcml2YXRlTmFtZSgpLCBjcmVhdGVS
ZWFkYWJsZVN0cmVhbVJlYWRlclByaXZhdGVDb25zdHJ1Y3Rvcih2bSwgKnRoaXMpLCBEb250RGVs
ZXRlIHwgUmVhZE9ubHkpLAorICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8oc3RhdGljX2Nhc3Q8
SlNWTUNsaWVudERhdGEqPih2bS5jbGllbnREYXRhKS0+YnVpbHRpbk5hbWVzKCkucmVhZGFibGVT
dHJlYW1DbG9zZWRQcml2YXRlTmFtZSgpLCBqc051bWJlcigxKSwgRG9udERlbGV0ZSB8IFJlYWRP
bmx5KSwKKyAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHN0YXRpY19jYXN0PEpTVk1DbGllbnRE
YXRhKj4odm0uY2xpZW50RGF0YSktPmJ1aWx0aW5OYW1lcygpLnJlYWRhYmxlU3RyZWFtRXJyb3Jl
ZFByaXZhdGVOYW1lKCksIGpzTnVtYmVyKDIpLCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAorICAg
ICAgICBHbG9iYWxQcm9wZXJ0eUluZm8oc3RhdGljX2Nhc3Q8SlNWTUNsaWVudERhdGEqPih2bS5j
bGllbnREYXRhKS0+YnVpbHRpbk5hbWVzKCkucmVhZGFibGVTdHJlYW1SZWFkYWJsZVByaXZhdGVO
YW1lKCksIGpzTnVtYmVyKDMpLCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAorICAgICAgICBHbG9i
YWxQcm9wZXJ0eUluZm8oc3RhdGljX2Nhc3Q8SlNWTUNsaWVudERhdGEqPih2bS5jbGllbnREYXRh
KS0+YnVpbHRpbk5hbWVzKCkuUmVhZGFibGVTdHJlYW1Db250cm9sbGVyUHJpdmF0ZU5hbWUoKSwg
Y3JlYXRlUmVhZGFibGVTdHJlYW1Db250cm9sbGVyUHJpdmF0ZUNvbnN0cnVjdG9yKHZtLCAqdGhp
cyksIERvbnREZWxldGUgfCBSZWFkT25seSksCisgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyhz
dGF0aWNfY2FzdDxKU1ZNQ2xpZW50RGF0YSo+KHZtLmNsaWVudERhdGEpLT5idWlsdGluTmFtZXMo
KS5SZWFkYWJsZVN0cmVhbVJlYWRlclByaXZhdGVOYW1lKCksIGNyZWF0ZVJlYWRhYmxlU3RyZWFt
UmVhZGVyUHJpdmF0ZUNvbnN0cnVjdG9yKHZtLCAqdGhpcyksIERvbnREZWxldGUgfCBSZWFkT25s
eSksCiAjZGVmaW5lIERFQ0xBUkVfR0xPQkFMX1NUQVRJQyhuYW1lKVwKICAgICAgICAgR2xvYmFs
UHJvcGVydHlJbmZvKFwKLSAgICAgICAgICAgIHN0YXRpY19jYXN0PFdlYkNvcmVKU0NsaWVudERh
dGEqPih2bS5jbGllbnREYXRhKS0+cmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucygpLm5h
bWUjI1ByaXZhdGVOYW1lKCksXAotICAgICAgICAgICAgbV9yZWFkYWJsZVN0cmVhbUZ1bmN0aW9u
cy5tXyMjbmFtZSMjRnVuY3Rpb24uZ2V0KCkgLCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAorICAg
ICAgICAgICAgc3RhdGljX2Nhc3Q8SlNWTUNsaWVudERhdGEqPih2bS5jbGllbnREYXRhKS0+YnVp
bHRpbkZ1bmN0aW9ucygpLnJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMoKS5uYW1lIyNQ
cml2YXRlTmFtZSgpLCBcCisgICAgICAgICAgICBtX3ByaXZhdGVGdW5jdGlvbnMucmVhZGFibGVT
dHJlYW1JbnRlcm5hbHMoKS5tXyMjbmFtZSMjRnVuY3Rpb24uZ2V0KCkgLCBEb250RGVsZXRlIHwg
UmVhZE9ubHkpLAogICAgICAgICBXRUJDT1JFUkVBREFCTEVTVFJFQU1JTlRFUk5BTFNfRk9SRUFD
SF9CVUlMVElOX0ZVTkNUSU9OX05BTUUoREVDTEFSRV9HTE9CQUxfU1RBVElDKQogI3VuZGVmIEVY
UE9SVF9GVU5DVElPTgogI2VuZGlmCkBAIC0xMTEsOSArMTA3LDcgQEAgdm9pZCBKU0RPTVdpbmRv
d0Jhc2U6OnZpc2l0Q2hpbGRyZW4oSlNDZWxsKiBjZWxsLCBTbG90VmlzaXRvciYgdmlzaXRvcikK
ICAgICBKU0RPTVdpbmRvd0Jhc2UqIHRoaXNPYmplY3QgPSBqc0Nhc3Q8SlNET01XaW5kb3dCYXNl
Kj4oY2VsbCk7CiAgICAgQVNTRVJUX0dDX09CSkVDVF9JTkhFUklUUyh0aGlzT2JqZWN0LCBpbmZv
KCkpOwogICAgIEJhc2U6OnZpc2l0Q2hpbGRyZW4odGhpc09iamVjdCwgdmlzaXRvcik7Ci0jaWYg
RU5BQkxFKFNUUkVBTVNfQVBJKQotICAgIHRoaXNPYmplY3QtPm1fcmVhZGFibGVTdHJlYW1GdW5j
dGlvbnMudmlzaXQodmlzaXRvcik7Ci0jZW5kaWYKKyAgICB0aGlzT2JqZWN0LT5tX3ByaXZhdGVG
dW5jdGlvbnMudmlzaXQodmlzaXRvcik7CiB9CiAKIHZvaWQgSlNET01XaW5kb3dCYXNlOjpkZXN0
cm95KEpTQ2VsbCogY2VsbCkKQEAgLTI5Nyw3ICsyOTEsNyBAQCBKU0RPTVdpbmRvdyogdG9KU0RP
TVdpbmRvdyhKU1ZhbHVlIHZhbHVlKQogdm9pZCBKU0RPTVdpbmRvd0Jhc2U6OmZpcmVGcmFtZUNs
ZWFyZWRXYXRjaHBvaW50c0ZvcldpbmRvdyhET01XaW5kb3cqIHdpbmRvdykKIHsKICAgICBKU0M6
OlZNJiB2bSA9IEpTRE9NV2luZG93QmFzZTo6Y29tbW9uVk0oKTsKLSAgICBXZWJDb3JlSlNDbGll
bnREYXRhKiBjbGllbnREYXRhID0gc3RhdGljX2Nhc3Q8V2ViQ29yZUpTQ2xpZW50RGF0YSo+KHZt
LmNsaWVudERhdGEpOworICAgIEpTVk1DbGllbnREYXRhKiBjbGllbnREYXRhID0gc3RhdGljX2Nh
c3Q8SlNWTUNsaWVudERhdGEqPih2bS5jbGllbnREYXRhKTsKICAgICBWZWN0b3I8UmVmPERPTVdy
YXBwZXJXb3JsZD4+IHdyYXBwZXJXb3JsZHM7CiAgICAgY2xpZW50RGF0YS0+Z2V0QWxsV29ybGRz
KHdyYXBwZXJXb3JsZHMpOwogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCB3cmFwcGVyV29y
bGRzLnNpemUoKTsgKytpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RPTVdpbmRvd0Jhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2lu
ZG93QmFzZS5oCmluZGV4IGY0MDg3MmY1ZWEwOTVjOTgzNjM5ZDZlZGE3MDk1N2JlODU4YjRlMDEu
LjEwNzY0MGMxNzY4ZmI3ZDgyZTc5NGIxMDZmMDIzYjI5MTQzODlmOWYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oCkBAIC0yMiw3ICsyMiw3IEBACiAK
ICNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKICNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdC5o
IgotI2luY2x1ZGUgIlJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnNXcmFwcGVyLmgiCisj
aW5jbHVkZSAiV2ViQ29yZUpTQnVpbHRpbkludGVybmFscy5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3
YXJkLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTg3LDkgKzg3LDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICAgICBSZWZQdHI8RE9NV2luZG93PiBtX2ltcGw7CiAgICAgICAgIEpT
RE9NV2luZG93U2hlbGwqIG1fc2hlbGw7CiAKLSNpZiBFTkFCTEUoU1RSRUFNU19BUEkpCi0gICAg
ICAgIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbkZ1bmN0aW9ucyBtX3JlYWRhYmxlU3Ry
ZWFtRnVuY3Rpb25zOwotI2VuZGlmCisgICAgICAgIEpTQnVpbHRpbkludGVybmFsRnVuY3Rpb25z
IG1fcHJpdmF0ZUZ1bmN0aW9uczsKICAgICB9OwogCiAgICAgLy8gUmV0dXJucyBhIEpTRE9NV2lu
ZG93IG9yIGpzTnVsbCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9T
Y3JpcHRDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENv
bnRyb2xsZXIuY3BwCmluZGV4IDRiM2IwOTcyYmU3N2YzYzc2NTk1ZjE0MGUyNmE3NDhmZjhlYTQ1
MGMuLmUyY2YwOTIyY2M4YTYyYzc3MjNmNzVjNjc5NTg2NzdiOGNjZjFmZTEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwCkBAIC0xOTQsNyAr
MTk0LDcgQEAgVmVjdG9yPEpTQzo6U3Ryb25nPEpTRE9NV2luZG93U2hlbGw+PiBTY3JpcHRDb250
cm9sbGVyOjp3aW5kb3dTaGVsbHMoKQogCiB2b2lkIFNjcmlwdENvbnRyb2xsZXI6OmdldEFsbFdv
cmxkcyhWZWN0b3I8UmVmPERPTVdyYXBwZXJXb3JsZD4+JiB3b3JsZHMpCiB7Ci0gICAgc3RhdGlj
X2Nhc3Q8V2ViQ29yZUpTQ2xpZW50RGF0YSo+KEpTRE9NV2luZG93Ojpjb21tb25WTSgpLmNsaWVu
dERhdGEpLT5nZXRBbGxXb3JsZHMod29ybGRzKTsKKyAgICBzdGF0aWNfY2FzdDxKU1ZNQ2xpZW50
RGF0YSo+KEpTRE9NV2luZG93Ojpjb21tb25WTSgpLmNsaWVudERhdGEpLT5nZXRBbGxXb3JsZHMo
d29ybGRzKTsKIH0KIAogdm9pZCBTY3JpcHRDb250cm9sbGVyOjpjbGVhcldpbmRvd1NoZWxsKERP
TVdpbmRvdyogbmV3RE9NV2luZG93LCBib29sIGdvaW5nSW50b1BhZ2VDYWNoZSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCmlu
ZGV4IDYyZWExYzFiZGNlZDYzMDY1ODk4YThiNDFiMGI2ZDIxYjg1N2FiODcuLjA4OGVjYWNjODhk
MDJlNzgyMzI1NjRjY2U2NTU4ZjEzNzBkZTBmNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcApAQCAtMjYzNCw3ICsyNjM0
LDcgQEAgc3RkOjp1bmlxdWVfcHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6QXJyYXlCdWZmZXJD
b250ZW50c0FycmF5PiBTZXJpYWxpemVkU2NyaXAKIAogICAgIGF1dG8gY29udGVudHMgPSBzdGQ6
Om1ha2VfdW5pcXVlPEFycmF5QnVmZmVyQ29udGVudHNBcnJheT4oYXJyYXlCdWZmZXJzLnNpemUo
KSk7CiAgICAgVmVjdG9yPFJlZjxET01XcmFwcGVyV29ybGQ+PiB3b3JsZHM7Ci0gICAgc3RhdGlj
X2Nhc3Q8V2ViQ29yZUpTQ2xpZW50RGF0YSo+KGV4ZWMtPnZtKCkuY2xpZW50RGF0YSktPmdldEFs
bFdvcmxkcyh3b3JsZHMpOworICAgIHN0YXRpY19jYXN0PEpTVk1DbGllbnREYXRhKj4oZXhlYy0+
dm0oKS5jbGllbnREYXRhKS0+Z2V0QWxsV29ybGRzKHdvcmxkcyk7CiAKICAgICBIYXNoU2V0PEpT
Qzo6QXJyYXlCdWZmZXIqPiB2aXNpdGVkOwogICAgIGZvciAoc2l6ZV90IGFycmF5QnVmZmVySW5k
ZXggPSAwOyBhcnJheUJ1ZmZlckluZGV4IDwgYXJyYXlCdWZmZXJzLnNpemUoKTsgYXJyYXlCdWZm
ZXJJbmRleCsrKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJD
b3JlSlNCdWlsdGlucy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlSlNC
dWlsdGlucy5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDk2YzdlMGU5N2U3MTg3
MDAwY2MwYTE1YTFkZGE5N2M0NTBhYWJiNDYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQnVp
bHRpbnMuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAxNSwgQ2Fub24gSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgotICoKLSAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
LSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoK
LSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5E
IEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICog
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0KLSNp
ZiBFTkFCTEUoU1RSRUFNU19BUEkpCi0jaW5jbHVkZSAiQnl0ZUxlbmd0aFF1ZXVpbmdTdHJhdGVn
eUJ1aWx0aW5zLmNwcCIKLSNpbmNsdWRlICJDb3VudFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zLmNw
cCIKLSNpbmNsdWRlICJSZWFkYWJsZVN0cmVhbUJ1aWx0aW5zLmNwcCIKLSNpbmNsdWRlICJSZWFk
YWJsZVN0cmVhbUNvbnRyb2xsZXJCdWlsdGlucy5jcHAiCi0jaW5jbHVkZSAiUmVhZGFibGVTdHJl
YW1JbnRlcm5hbHNCdWlsdGlucy5jcHAiCi0jaW5jbHVkZSAiUmVhZGFibGVTdHJlYW1SZWFkZXJC
dWlsdGlucy5jcHAiCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL1dlYkNvcmVKU0NsaWVudERhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dl
YkNvcmVKU0NsaWVudERhdGEuaAppbmRleCA4NzBkZDgxOGViODI5NDU3ZWE4MGUzNTM4YTg3MWQ0
OTk1Mjc0YzA5Li4xZGM1NTdkNDk1ZmI0MmNkZGI1NzVkZDliZDEwZjUyMWMxYzc0MTZkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRhLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5oCkBA
IC0yNCw0NCArMjQsMjYgQEAKIAogI2luY2x1ZGUgIkRPTVdyYXBwZXJXb3JsZC5oIgogI2luY2x1
ZGUgIldlYkNvcmVCdWlsdGluTmFtZXMuaCIKKyNpbmNsdWRlICJXZWJDb3JlSlNCdWlsdGlucy5o
IgogI2luY2x1ZGUgIldlYkNvcmVUeXBlZEFycmF5Q29udHJvbGxlci5oIgogI2luY2x1ZGUgPHd0
Zi9IYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCi0jaWYgRU5BQkxFKFNUUkVB
TVNfQVBJKQotI2luY2x1ZGUgIkJ5dGVMZW5ndGhRdWV1aW5nU3RyYXRlZ3lCdWlsdGluc1dyYXBw
ZXIuaCIKLSNpbmNsdWRlICJDb3VudFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zV3JhcHBlci5oIgot
I2luY2x1ZGUgIlJlYWRhYmxlU3RyZWFtQnVpbHRpbnNXcmFwcGVyLmgiCi0jaW5jbHVkZSAiUmVh
ZGFibGVTdHJlYW1Db250cm9sbGVyQnVpbHRpbnNXcmFwcGVyLmgiCi0jaW5jbHVkZSAiUmVhZGFi
bGVTdHJlYW1JbnRlcm5hbHNCdWlsdGluc1dyYXBwZXIuaCIKLSNpbmNsdWRlICJSZWFkYWJsZVN0
cmVhbVJlYWRlckJ1aWx0aW5zV3JhcHBlci5oIgotI2VuZGlmCi0KIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotY2xhc3MgV2ViQ29yZUpTQ2xpZW50RGF0YSA6IHB1YmxpYyBKU0M6OlZNOjpDbGllbnRE
YXRhIHsKLSAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXZWJDb3JlSlNDbGllbnREYXRhKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CitjbGFzcyBKU1ZNQ2xpZW50RGF0YSA6IHB1YmxpYyBKU0M6
OlZNOjpDbGllbnREYXRhIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShKU1ZNQ2xpZW50RGF0
YSk7IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogICAgIGZyaWVuZCBjbGFzcyBWTVdvcmxkSXRl
cmF0b3I7CiAgICAgZnJpZW5kIHZvaWQgaW5pdE5vcm1hbFdvcmxkQ2xpZW50RGF0YShKU0M6OlZN
Kik7CiAKIHB1YmxpYzoKLSAgICBleHBsaWNpdCBXZWJDb3JlSlNDbGllbnREYXRhKEpTQzo6Vk0m
IHZtKQotICAgICAgICA6IG1fYnVpbHRpbk5hbWVzKCZ2bSkKLSNpZiBFTkFCTEUoU1RSRUFNU19B
UEkpCi0gICAgICAgICwgbV9yZWFkYWJsZVN0cmVhbUJ1aWx0aW5zKCZ2bSkKLSAgICAgICAgLCBt
X3JlYWRhYmxlU3RyZWFtQ29udHJvbGxlckJ1aWx0aW5zKCZ2bSkKLSAgICAgICAgLCBtX3JlYWRh
YmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMoJnZtKQotICAgICAgICAsIG1fcmVhZGFibGVTdHJl
YW1SZWFkZXJCdWlsdGlucygmdm0pCi0gICAgICAgICwgbV9ieXRlTGVuZ3RoUXVldWluZ1N0cmF0
ZWd5QnVpbHRpbnMoJnZtKQotICAgICAgICAsIG1fY291bnRRdWV1aW5nU3RyYXRlZ3lCdWlsdGlu
cygmdm0pCi0jZW5kaWYKKyAgICBleHBsaWNpdCBKU1ZNQ2xpZW50RGF0YShKU0M6OlZNJiB2bSkK
KyAgICAgICAgOiBtX2J1aWx0aW5GdW5jdGlvbnModm0pCisgICAgICAgICwgbV9idWlsdGluTmFt
ZXMoJnZtKQogICAgIHsKLSNpZiBFTkFCTEUoU1RSRUFNU19BUEkpCi0gICAgICAgIG1fcmVhZGFi
bGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5leHBvcnROYW1lcygpOwotI2VuZGlmCiAgICAgfQog
Ci0gICAgdmlydHVhbCB+V2ViQ29yZUpTQ2xpZW50RGF0YSgpCisgICAgdmlydHVhbCB+SlNWTUNs
aWVudERhdGEoKQogICAgIHsKICAgICAgICAgQVNTRVJUKG1fd29ybGRTZXQuY29udGFpbnMobV9u
b3JtYWxXb3JsZC5nZXQoKSkpOwogICAgICAgICBBU1NFUlQobV93b3JsZFNldC5zaXplKCkgPT0g
MSk7CkBAIC05NCwzNyArNzYsMjEgQEAgcHVibGljOgogICAgIH0KIAogICAgIFdlYkNvcmVCdWls
dGluTmFtZXMmIGJ1aWx0aW5OYW1lcygpIHsgcmV0dXJuIG1fYnVpbHRpbk5hbWVzOyB9Ci0KLSNp
ZiBFTkFCTEUoU1RSRUFNU19BUEkpCi0gICAgUmVhZGFibGVTdHJlYW1CdWlsdGluc1dyYXBwZXIm
IHJlYWRhYmxlU3RyZWFtQnVpbHRpbnMoKSB7IHJldHVybiBtX3JlYWRhYmxlU3RyZWFtQnVpbHRp
bnM7IH0KLSAgICBSZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXJCdWlsdGluc1dyYXBwZXImIHJlYWRh
YmxlU3RyZWFtQ29udHJvbGxlckJ1aWx0aW5zKCkgeyByZXR1cm4gbV9yZWFkYWJsZVN0cmVhbUNv
bnRyb2xsZXJCdWlsdGluczsgfQotICAgIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnNX
cmFwcGVyJiByZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zKCkgeyByZXR1cm4gbV9yZWFk
YWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zOyB9Ci0gICAgUmVhZGFibGVTdHJlYW1SZWFkZXJC
dWlsdGluc1dyYXBwZXImIHJlYWRhYmxlU3RyZWFtUmVhZGVyQnVpbHRpbnMoKSB7IHJldHVybiBt
X3JlYWRhYmxlU3RyZWFtUmVhZGVyQnVpbHRpbnM7IH0KLSAgICBCeXRlTGVuZ3RoUXVldWluZ1N0
cmF0ZWd5QnVpbHRpbnNXcmFwcGVyJiBieXRlTGVuZ3RoUXVldWluZ1N0cmF0ZWd5QnVpbHRpbnMo
KSB7IHJldHVybiBtX2J5dGVMZW5ndGhRdWV1aW5nU3RyYXRlZ3lCdWlsdGluczsgfQotICAgIENv
dW50UXVldWluZ1N0cmF0ZWd5QnVpbHRpbnNXcmFwcGVyJiBjb3VudFF1ZXVpbmdTdHJhdGVneUJ1
aWx0aW5zKCkgeyByZXR1cm4gbV9jb3VudFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zOyB9Ci0jZW5k
aWYKKyAgICBKU0J1aWx0aW5GdW5jdGlvbnMmIGJ1aWx0aW5GdW5jdGlvbnMoKSB7IHJldHVybiBt
X2J1aWx0aW5GdW5jdGlvbnM7IH0KIAogcHJpdmF0ZToKICAgICBIYXNoU2V0PERPTVdyYXBwZXJX
b3JsZCo+IG1fd29ybGRTZXQ7CiAgICAgUmVmUHRyPERPTVdyYXBwZXJXb3JsZD4gbV9ub3JtYWxX
b3JsZDsKIAorICAgIEpTQnVpbHRpbkZ1bmN0aW9ucyBtX2J1aWx0aW5GdW5jdGlvbnM7CiAgICAg
V2ViQ29yZUJ1aWx0aW5OYW1lcyBtX2J1aWx0aW5OYW1lczsKLQotI2lmIEVOQUJMRShTVFJFQU1T
X0FQSSkKLSAgICBSZWFkYWJsZVN0cmVhbUJ1aWx0aW5zV3JhcHBlciBtX3JlYWRhYmxlU3RyZWFt
QnVpbHRpbnM7Ci0gICAgUmVhZGFibGVTdHJlYW1Db250cm9sbGVyQnVpbHRpbnNXcmFwcGVyIG1f
cmVhZGFibGVTdHJlYW1Db250cm9sbGVyQnVpbHRpbnM7Ci0gICAgUmVhZGFibGVTdHJlYW1JbnRl
cm5hbHNCdWlsdGluc1dyYXBwZXIgbV9yZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zOwot
ICAgIFJlYWRhYmxlU3RyZWFtUmVhZGVyQnVpbHRpbnNXcmFwcGVyIG1fcmVhZGFibGVTdHJlYW1S
ZWFkZXJCdWlsdGluczsKLSAgICBCeXRlTGVuZ3RoUXVldWluZ1N0cmF0ZWd5QnVpbHRpbnNXcmFw
cGVyIG1fYnl0ZUxlbmd0aFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zOwotICAgIENvdW50UXVldWlu
Z1N0cmF0ZWd5QnVpbHRpbnNXcmFwcGVyIG1fY291bnRRdWV1aW5nU3RyYXRlZ3lCdWlsdGluczsK
LSNlbmRpZgogfTsKIAogaW5saW5lIHZvaWQgaW5pdE5vcm1hbFdvcmxkQ2xpZW50RGF0YShKU0M6
OlZNKiB2bSkKIHsKLSAgICBXZWJDb3JlSlNDbGllbnREYXRhKiB3ZWJDb3JlSlNDbGllbnREYXRh
ID0gbmV3IFdlYkNvcmVKU0NsaWVudERhdGEoKnZtKTsKLSAgICB2bS0+Y2xpZW50RGF0YSA9IHdl
YkNvcmVKU0NsaWVudERhdGE7IC8vIH5WTSBkZWxldGVzIHRoaXMgcG9pbnRlci4KLSAgICB3ZWJD
b3JlSlNDbGllbnREYXRhLT5tX25vcm1hbFdvcmxkID0gRE9NV3JhcHBlcldvcmxkOjpjcmVhdGUo
KnZtLCB0cnVlKTsKKyAgICBKU1ZNQ2xpZW50RGF0YSogY2xpZW50RGF0YSA9IG5ldyBKU1ZNQ2xp
ZW50RGF0YSgqdm0pOworICAgIHZtLT5jbGllbnREYXRhID0gY2xpZW50RGF0YTsgLy8gflZNIGRl
bGV0ZXMgdGhpcyBwb2ludGVyLgorICAgIGNsaWVudERhdGEtPm1fbm9ybWFsV29ybGQgPSBET01X
cmFwcGVyV29ybGQ6OmNyZWF0ZSgqdm0sIHRydWUpOwogICAgIHZtLT5tX3R5cGVkQXJyYXlDb250
cm9sbGVyID0gYWRvcHRSZWYobmV3IFdlYkNvcmVUeXBlZEFycmF5Q29udHJvbGxlcigpKTsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZ2VuZXJhdGUtanMtYnVpbHRpbnMtYWxsaW5v
bmUgYi9Tb3VyY2UvV2ViQ29yZS9nZW5lcmF0ZS1qcy1idWlsdGlucy1hbGxpbm9uZQpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41ZmRlM2VjOGUwNTVlZWU5NmMxZmYwMDlhYjAzYmIxY2NlMjMyZThiCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvZ2VuZXJhdGUtanMtYnVpbHRpbnMtYWxsaW5vbmUKQEAg
LTAsMCArMSwyMzQgQEAKKyMhL3Vzci9iaW4vcHl0aG9uCisjIENvcHlyaWdodCAoQykgMjAxNSBD
YW5vbiBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyMgYXJlIG1ldDoKKyMgMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorIyAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisjICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorIyBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorIyBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyMgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IKKyMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisjIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyMgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisjIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKKyMgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisKK2ltcG9y
dCBhcmdwYXJzZQoraW1wb3J0IGZpbGVjbXAKK2ltcG9ydCBvcworaW1wb3J0IHJlCisKK3Npbmds
ZUxpbmVDb21tZW50UmVnRXhwID0gcmUuY29tcGlsZShyIlwvXC8gQC4qP1xuIiwgcmUuTVVMVElM
SU5FIHwgcmUuUykKKworZGVmIHJldHJpZXZlR2VuZXJhdGlvblBhcmFtZXRlcnMoaW5wdXQpOgor
ICAgIHBhcmFtZXRlcnMgPSB7fQorICAgIHdpdGggb3BlbihpbnB1dCwgJ3InKSBhcyBpbnB1dF9m
aWxlOgorICAgICAgICBjb250ZW50ID0gaW5wdXRfZmlsZS5yZWFkKCkKKyAgICAgICAgZm9yIG1h
dGNoIGluIHNpbmdsZUxpbmVDb21tZW50UmVnRXhwLmZpbmRpdGVyKGNvbnRlbnQpOgorICAgICAg
ICAgICAgdmFsdWVzID0gY29udGVudFttYXRjaC5zdGFydCgpICsgNDptYXRjaC5lbmQoKV0uc3Bs
aXQoJz0nKQorICAgICAgICAgICAgaWYgbGVuKHZhbHVlcykgPT0gMToKKyAgICAgICAgICAgICAg
ICBwYXJhbWV0ZXJzW3ZhbHVlc1swXS5zdHJpcCgpXSA9IFRydWUKKyAgICAgICAgICAgIGVsaWYg
bGVuICh2YWx1ZXMpID09IDI6CisgICAgICAgICAgICAgICAgcGFyYW1ldGVyc1t2YWx1ZXNbMF0u
c3RyaXAoKV0gPSB2YWx1ZXNbMV0uc3RyaXAoKQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAg
ICAgICAgICBwcmludCgiU2tpcHBpbmcgcG90ZW50aWFsIGdlbmVyYXRpb24gcGFyYW1ldGVyIGRp
cmVjdGl2ZToiICUgdmFsdWVzLmpvaW4oJz0nKSkKKyAgICByZXR1cm4gcGFyYW1ldGVycworCisK
K2RlZiByZXRyaWV2ZUZpbGVzV2l0aFBhcmFtZXRlcnMoaW5wdXRzKToKKyAgICBmaWxlcyA9IFtd
CisgICAgY2xhc3MgRmlsZUlucHV0OiBwYXNzCisgICAgZm9yIGlucHV0IGluIGlucHV0czoKKyAg
ICAgICAgZmlsZV9pbnB1dCA9IEZpbGVJbnB1dCgpCisgICAgICAgIGZpbGVfaW5wdXQucGFyYW1l
dGVycyA9IHJldHJpZXZlR2VuZXJhdGlvblBhcmFtZXRlcnMoaW5wdXQpCisgICAgICAgIGZpbGVf
aW5wdXQub3B0aW9uYWxpZiA9ICgiI2lmIEVOQUJMRSgiICsgZmlsZV9pbnB1dC5wYXJhbWV0ZXJz
WyJvcHRpb25hbCJdICsgIilcbiIpIGlmICJvcHRpb25hbCIgaW4gZmlsZV9pbnB1dC5wYXJhbWV0
ZXJzIGVsc2UgIiIKKyAgICAgICAgZmlsZV9pbnB1dC5vcHRpb25hbGVuZGlmID0gIiNlbmRpZlxu
IiBpZiAib3B0aW9uYWwiIGluIGZpbGVfaW5wdXQucGFyYW1ldGVycyBlbHNlICIiCisgICAgICAg
IGZpbGVfaW5wdXQuZmlsZW5hbWUgPSBvcy5wYXRoLnNwbGl0ZXh0KG9zLnBhdGguYmFzZW5hbWUo
aW5wdXQpKVswXQorICAgICAgICBmaWxlX2lucHV0Lm5hbWUgPSBmaWxlX2lucHV0LmZpbGVuYW1l
WzBdLmxvd2VyKCkgKyBmaWxlX2lucHV0LmZpbGVuYW1lWzE6XQorICAgICAgICBmaWxlcy5hcHBl
bmQoZmlsZV9pbnB1dCkKKyAgICByZXR1cm4gZmlsZXMKKworCitkZWYgd3JpdGVDb25kaXRpb25h
bCh3cml0ZXIsIGlucHV0X2ZpbGUsIHZhbHVlKToKKyAgICB3cml0ZXIud3JpdGUoaW5wdXRfZmls
ZS5vcHRpb25hbGlmKQorICAgIHdyaXRlci53cml0ZSh2YWx1ZSkKKyAgICB3cml0ZXIud3JpdGUo
aW5wdXRfZmlsZS5vcHRpb25hbGVuZGlmKQorCisKK3BhcnNlciA9IGFyZ3BhcnNlLkFyZ3VtZW50
UGFyc2VyKCkKK3BhcnNlci5hZGRfYXJndW1lbnQoJy0tb3V0cHV0X2RpcicsIGRlZmF1bHQ9Jycs
IGhlbHA9J291dHB1dCBkaXJlY3RvcnknKQorcGFyc2VyLmFkZF9hcmd1bWVudCgnaW5wdXRzJywg
bWV0YXZhcj0naW5wdXQnLCBuYXJncz0nKycsIGhlbHA9J3BhdGggdG8gaW5wdXQgSlMgZmlsZXMn
KQorCithcmdzID0gcGFyc2VyLnBhcnNlX2FyZ3MoKQorZmlsZXMgPSByZXRyaWV2ZUZpbGVzV2l0
aFBhcmFtZXRlcnMoYXJncy5pbnB1dHMpCitpbnRlcm5hbHNfZmlsZXMgPSBbIGYgZm9yIGYgaW4g
ZmlsZXMgaWYgImludGVybmFscyIgaW4gZi5wYXJhbWV0ZXJzIF0KKworYmFzZW5hbWUgPSAiV2Vi
Q29yZUpTQnVpbHRpbnMiCitvdXRwdXRfYmFzZSA9IG9zLnBhdGguam9pbihhcmdzLm91dHB1dF9k
aXIsIGJhc2VuYW1lKQorYmFzZW5hbWVfaW50ZXJuYWxzID0gIldlYkNvcmVKU0J1aWx0aW5JbnRl
cm5hbHMiCitpbnRlcm5hbHNfb3V0cHV0X2Jhc2UgPSBvcy5wYXRoLmpvaW4oYXJncy5vdXRwdXRf
ZGlyLCBiYXNlbmFtZV9pbnRlcm5hbHMpCisKKworIyBDcmVhdGUgd3JpdGVycworYnVpbHRpbnNI
ZWFkZXIgPSBvcGVuKG91dHB1dF9iYXNlICsgIi5oLnRtcCIsICJ3IikKK2J1aWx0aW5zSW1wbGVt
ZW50YXRpb24gPSBvcGVuKG91dHB1dF9iYXNlICsgIi5jcHAudG1wIiwgInciKQorcHJpdmF0ZUJ1
aWx0aW5zSGVhZGVyID0gb3BlbihpbnRlcm5hbHNfb3V0cHV0X2Jhc2UgKyAiLmgudG1wIiwgInci
KQorCitwcmVhbWJsZSA9ICIiIgorLyogR2VuZXJhdGVkIGJ5IGdlbmVyYXRlLWpzLWJ1aWx0aW5z
LWFsbGlub25lIGRvIG5vdCBoYW5kIGVkaXQuICovCisKKy8qCisgKgorICogIFRoaXMgbGlicmFy
eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqICBt
b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGlj
CisgKiAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
bjsgZWl0aGVyCisgKiAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRp
b24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0
ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQgV0lUSE9VVCBB
TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogIE1F
UkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0
aGUgR05VCisgKiAgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls
cy4KKyAqCisgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExl
c3NlciBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7
IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqICBGb3VuZGF0aW9uLCBJbmMu
LCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAx
ICBVU0EKKyAqLworCisiIiIKKworIyMjIyMjIyMjIyMjIyMjCisjIEdlbmVyYXRpb24gb2YgY3Bw
IGZpbGUgaW5jbHVkaW5nIGFsbCBKUyBidWlsdGluIGdlbmVyYXRlZCBjcHAgZmlsZXMgd2l0aCBv
cHRpb25hbCAjZmRlZiBkaXJlY3RpdmVzIGFzIGRlZmluZWQgYnkgQGVuYWJsZSBpbiBKUyBmaWxl
cy4KKyMjIyMjIyMjIyMjIyMjIworYnVpbHRpbnNJbXBsZW1lbnRhdGlvbi53cml0ZShwcmVhbWJs
ZSkKK2J1aWx0aW5zSW1wbGVtZW50YXRpb24ud3JpdGUoIiNpbmNsdWRlIFwiY29uZmlnLmhcIlxu
XG4iKQorCisjIEluY2x1ZGluZyBjcHAgZmlsZXMKK2ZvciBpbnB1dF9maWxlIGluIGZpbGVzOgor
ICAgIHdyaXRlQ29uZGl0aW9uYWwoYnVpbHRpbnNJbXBsZW1lbnRhdGlvbiwgaW5wdXRfZmlsZSwg
IiNpbmNsdWRlIFwiIiArIGlucHV0X2ZpbGUuZmlsZW5hbWUgKyAiQnVpbHRpbnMuY3BwXCJcbiIp
OworCitidWlsdGluc0ltcGxlbWVudGF0aW9uLmNsb3NlKCkKKworIyMjIyMjIyMjIyMjIyMjCisj
IEdlbmVyYXRpb24gb2Ygd3JhcHBlciBoZWFkZXIgZmlsZSBkZWZpbmluZyBhY2Nlc3MgdG8gYWxs
IGJ1aWx0aW4gZnVuY3Rpb25zLgorIyMjIyMjIyMjIyMjIyMjCitidWlsdGluc0hlYWRlci53cml0
ZShwcmVhbWJsZSkKK2J1aWx0aW5zSGVhZGVyLndyaXRlKCIjaWZuZGVmICIgKyBiYXNlbmFtZSAr
ICJfaFxuI2RlZmluZSAiICsgYmFzZW5hbWUgKyAiX2hcblxuIikKKworZm9yIGlucHV0X2ZpbGUg
aW4gZmlsZXM6CisgICAgd3JpdGVDb25kaXRpb25hbChidWlsdGluc0hlYWRlciwgaW5wdXRfZmls
ZSwgIiNpbmNsdWRlIFwiIiArIGlucHV0X2ZpbGUuZmlsZW5hbWUgKyAiQnVpbHRpbnNXcmFwcGVy
LmhcIlxuIik7CitidWlsdGluc0hlYWRlci53cml0ZSgiIiIKKworI2luY2x1ZGUgPHJ1bnRpbWUv
Vk0uaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBKU0J1aWx0aW5GdW5jdGlvbnMg
eworcHVibGljOgorIiIiKQorCisjIENvbnN0cnVjdG9yCitidWlsdGluc0hlYWRlci53cml0ZSgi
ICAgIGV4cGxpY2l0IEpTQnVpbHRpbkZ1bmN0aW9ucyhKU0M6OlZNJiB2KVxuICAgICAgICA6IHZt
KHYpXG4iKTsKK2ZvciBpbnB1dF9maWxlIGluIGZpbGVzOgorICAgIHdyaXRlQ29uZGl0aW9uYWwo
YnVpbHRpbnNIZWFkZXIsIGlucHV0X2ZpbGUsICIgICAgICAgICwgbV8iICsgaW5wdXRfZmlsZS5u
YW1lICsgIkJ1aWx0aW5zKCZ2bSlcbiIpOworYnVpbHRpbnNIZWFkZXIud3JpdGUoIiAgICB7XG4i
KTsKK2ZvciBpbnB1dF9maWxlIGluIGludGVybmFsc19maWxlczoKKyAgICB3cml0ZUNvbmRpdGlv
bmFsKGJ1aWx0aW5zSGVhZGVyLCBpbnB1dF9maWxlLCAiICAgICAgICBtXyIgKyBpbnB1dF9maWxl
Lm5hbWUgKyAiQnVpbHRpbnMuZXhwb3J0TmFtZXMoKTtcbiIpOworYnVpbHRpbnNIZWFkZXIud3Jp
dGUoIiAgICB9XG4iKTsKKworIyBHZXR0ZXJzCitmb3IgaW5wdXRfZmlsZSBpbiBmaWxlczoKKyAg
ICB3cml0ZUNvbmRpdGlvbmFsKGJ1aWx0aW5zSGVhZGVyLCBpbnB1dF9maWxlLCAiICAgICIgKyBp
bnB1dF9maWxlLmZpbGVuYW1lICsgIkJ1aWx0aW5zV3JhcHBlciYgIiArIGlucHV0X2ZpbGUubmFt
ZSAgKyAiQnVpbHRpbnMoKSB7IHJldHVybiBtXyIgKyBpbnB1dF9maWxlLm5hbWUgICsgIkJ1aWx0
aW5zO31cbiIpOworCisjIERlY2xhcmF0aW9ucworYnVpbHRpbnNIZWFkZXIud3JpdGUoIiIicHJp
dmF0ZToKKyAgICBKU0M6OlZNJiB2bTtcbiIiIik7Citmb3IgaW5wdXRfZmlsZSBpbiBmaWxlczoK
KyAgICB3cml0ZUNvbmRpdGlvbmFsKGJ1aWx0aW5zSGVhZGVyLCBpbnB1dF9maWxlLCAiICAgICIg
KyBpbnB1dF9maWxlLmZpbGVuYW1lICsgIkJ1aWx0aW5zV3JhcHBlciBtXyIgKyBpbnB1dF9maWxl
Lm5hbWUgICsgIkJ1aWx0aW5zO1xuIik7CisKK2J1aWx0aW5zSGVhZGVyLndyaXRlKCIiIgorfTsK
KworfQorCisjZW5kaWYKKyIiIik7CisKK2J1aWx0aW5zSGVhZGVyLmNsb3NlKCkKKworIyMjIyMj
IyMjIyMjIyMjCisjIEdlbmVyYXRpb24gb2YgY2xhc3Mgd3JhcHBpbmcgYWxsIGZ1bmN0aW9ucyBv
ZiBKUyBmaWxlcyBtYXJrZWQgYXMgQGludGVybmFscy4KKyMjIyMjIyMjIyMjIyMjIworcHJpdmF0
ZUJ1aWx0aW5zSGVhZGVyLndyaXRlKHByZWFtYmxlKQorcHJpdmF0ZUJ1aWx0aW5zSGVhZGVyLndy
aXRlKCIjaWZuZGVmICIgKyBiYXNlbmFtZV9pbnRlcm5hbHMgKyAiX2hcbiNkZWZpbmUgIiArIGJh
c2VuYW1lX2ludGVybmFscyArICJfaFxuXG4iKQorCisjIEluY2x1ZGluZyBhbGwgbmVjZXNzcmFy
eSB3cmFwcGVyIGhlYWRlcnMuCitmb3IgaW5wdXRfZmlsZSBpbiBpbnRlcm5hbHNfZmlsZXM6Cisg
ICAgd3JpdGVDb25kaXRpb25hbChwcml2YXRlQnVpbHRpbnNIZWFkZXIsIGlucHV0X2ZpbGUsICIj
aW5jbHVkZSBcIiIgKyBpbnB1dF9maWxlLmZpbGVuYW1lICsgIkJ1aWx0aW5zV3JhcHBlci5oXCJc
biIpCisKKyMgQ2xhc3MgZGVmaW5pdGlvbgorcHJpdmF0ZUJ1aWx0aW5zSGVhZGVyLndyaXRlKCIi
IgorbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBKU0J1aWx0aW5JbnRlcm5hbEZ1bmN0aW9u
cyB7CitwdWJsaWM6CisiIiIpCisKKyMgQ29uc3RydWN0b3IKK3ByaXZhdGVCdWlsdGluc0hlYWRl
ci53cml0ZSgiIiJleHBsaWNpdCBKU0J1aWx0aW5JbnRlcm5hbEZ1bmN0aW9ucyhKU0M6OlZNJiB2
KVxuICAgICAgICA6IHZtKHYpXG4iIiIpCitmb3IgaW5wdXRfZmlsZSBpbiBpbnRlcm5hbHNfZmls
ZXM6CisgICAgd3JpdGVDb25kaXRpb25hbChwcml2YXRlQnVpbHRpbnNIZWFkZXIsIGlucHV0X2Zp
bGUsICIgICAgICAgICwgbV8iICsgaW5wdXRfZmlsZS5uYW1lICsgIkZ1bmN0aW9ucyh2bSlcbiIp
Citwcml2YXRlQnVpbHRpbnNIZWFkZXIud3JpdGUoIiAgICB7IH1cblxuIikKKworIyBHZXR0ZXJz
Citmb3IgaW5wdXRfZmlsZSBpbiBpbnRlcm5hbHNfZmlsZXM6CisgICAgd3JpdGVDb25kaXRpb25h
bChwcml2YXRlQnVpbHRpbnNIZWFkZXIsIGlucHV0X2ZpbGUsICIgICAgIiArIGlucHV0X2ZpbGUu
ZmlsZW5hbWUgKyAiQnVpbHRpbkZ1bmN0aW9ucyAiICsgaW5wdXRfZmlsZS5uYW1lICsgIigpIHsg
cmV0dXJuIG1fIiArIGlucHV0X2ZpbGUubmFtZSArICJGdW5jdGlvbnM7IH1cbiIpCisKKyMgVmlz
aXRvciB3cmFwcGVyIHJvdXRpbmUKK3ByaXZhdGVCdWlsdGluc0hlYWRlci53cml0ZSgiICAgIHZv
aWQgdmlzaXQoSlNDOjpTbG90VmlzaXRvciYgdmlzaXRvcikge1xuIikKK2ZvciBpbnB1dF9maWxl
IGluIGludGVybmFsc19maWxlczoKKyAgICB3cml0ZUNvbmRpdGlvbmFsKHByaXZhdGVCdWlsdGlu
c0hlYWRlciwgaW5wdXRfZmlsZSwgIiAgICAgICAgbV8iICsgaW5wdXRfZmlsZS5uYW1lICsgIkZ1
bmN0aW9ucy52aXNpdCh2aXNpdG9yKTtcbiIpCitwcml2YXRlQnVpbHRpbnNIZWFkZXIud3JpdGUo
IiAgICB9XG4iKQorCisjIEluaXQgd3JhcHBlciByb3V0aW5lCitwcml2YXRlQnVpbHRpbnNIZWFk
ZXIud3JpdGUoIiAgICB2b2lkIGluaXQoSlNDOjpKU0dsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0
KSB7XG4iKQorZm9yIGlucHV0X2ZpbGUgaW4gaW50ZXJuYWxzX2ZpbGVzOgorICAgIHdyaXRlQ29u
ZGl0aW9uYWwocHJpdmF0ZUJ1aWx0aW5zSGVhZGVyLCBpbnB1dF9maWxlLCAiICAgICAgICBtXyIg
KyBpbnB1dF9maWxlLm5hbWUgKyAiRnVuY3Rpb25zLmluaXQoZ2xvYmFsT2JqZWN0KTtcbiIpCitw
cml2YXRlQnVpbHRpbnNIZWFkZXIud3JpdGUoIiAgICB9XG4iKQorCisjIFByaXZhdGUgbWVtYmVy
IGZpZWxkcworcHJpdmF0ZUJ1aWx0aW5zSGVhZGVyLndyaXRlKCIiIgorcHJpdmF0ZToKKyAgICBK
U0M6OlZNJiB2bTtcbiIiIikKK2ZvciBpbnB1dF9maWxlIGluIGludGVybmFsc19maWxlczoKKyAg
ICB3cml0ZUNvbmRpdGlvbmFsKHByaXZhdGVCdWlsdGluc0hlYWRlciwgaW5wdXRfZmlsZSwgIiAg
ICAgIiArIGlucHV0X2ZpbGUuZmlsZW5hbWUgKyAiQnVpbHRpbkZ1bmN0aW9ucyBtXyIgKyBpbnB1
dF9maWxlLm5hbWUgKyAiRnVuY3Rpb25zO1xuIikKKworcHJpdmF0ZUJ1aWx0aW5zSGVhZGVyLndy
aXRlKCIiIgorfTsKKworfQorI2VuZGlmCisiIiIpCisKK3ByaXZhdGVCdWlsdGluc0hlYWRlci5j
bG9zZSgpCisKK2RlZiBjb3B5dGVtcGZpbGUob3V0cHV0KToKKyAgICBpZiAobm90IG9zLnBhdGgu
ZXhpc3RzKG91dHB1dCkpIG9yIChub3QgZmlsZWNtcC5jbXAob3V0cHV0ICsgIi50bXAiLCBvdXRw
dXQsIHNoYWxsb3c9RmFsc2UpKToKKyAgICAgICAgaWYgKG9zLnBhdGguZXhpc3RzKG91dHB1dCkp
OgorICAgICAgICAgICAgb3MucmVtb3ZlKG91dHB1dCkKKyAgICAgICAgb3MucmVuYW1lKG91dHB1
dCArICIudG1wIiwgb3V0cHV0KQorICAgIGVsc2U6CisgICAgICAgIG9zLnJlbW92ZShvdXRwdXQg
KyAiLnRtcCIpCisKK2NvcHl0ZW1wZmlsZShvdXRwdXRfYmFzZSArICIuaCIpCitjb3B5dGVtcGZp
bGUob3V0cHV0X2Jhc2UgKyAiLmNwcCIpCitjb3B5dGVtcGZpbGUoaW50ZXJuYWxzX291dHB1dF9i
YXNlICsgIi5oIikK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>262677</attachid>
            <date>2015-10-07 23:33:31 -0700</date>
            <delta_ts>2015-10-09 05:08:57 -0700</delta_ts>
            <desc>Generating one file at a time in generate-jsbuiltins-allinone</desc>
            <filename>bug-149751-20151008083259.patch</filename>
            <type>text/plain</type>
            <size>53047</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkwNzA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
NTIwYmJkN2JjYmMyMzk2N2UzMjQ5ZjVhNTRiMWQxZWUwYWU4YjI2Li5hNTNiOTMxYWU1MDFiMGQy
ZTBjM2ZiMWE5ODhlNWUwOTVmMWExYThlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxNS0xMC0wNyAgWGFiaWVyIFJvZHJpZ3VleiBDYWx2YXIgIDxjYWx2YXJp
c0BpZ2FsaWEuY29tPiBhbmQgWW91ZW5uIEZhYmxldCAgPHlvdWVubi5mYWJsZXRAY3JmLmNhbm9u
LmZyPgorCisgICAgICAgIEF1dG9tYXRlIFdlYkNvcmUgSlMgYnVpbHRpbnMgZ2VuZXJhdGlvbiBh
bmQgYnVpbGQgc3lzdGVtCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNDk3NTEKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAg
ICAgICAqIGdlbmVyYXRlLWpzLWJ1aWx0aW5zOiB1cGRhdGluZyB0aGUgcGFydCByZWxhdGVkIHRv
IFdlYkNvcmUgSlMgYmluZGluZy4KKwogMjAxNS0xMC0wNyAgSm9zZXBoIFBlY29yYXJvICA8cGVj
b3Jhcm9AYXBwbGUuY29tPgogCiAgICAgICAgIENsZWFuIHVwIENvcGllZCBjbGFzc2VzCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKaW5kZXggZjJjYmQwNThhOTIyZDYzM2E1Nzc2NzZiMzllZDExMjU1YWEwY2RiYS4uNDVjMWI2
ODA5OWM4Njk2NzEwYjA2NWM3YWFkMmE5ZTE2ZmM2MzAwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDcxIEBACisyMDE1LTEwLTA3ICBYYWJpZXIgUm9kcmlndWV6IENhbHZhciAgPGNhbHZhcmlzQGln
YWxpYS5jb20+IGFuZCBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uLmZhYmxldEBjcmYuY2Fub24uZnI+
CisKKyAgICAgICAgQXV0b21hdGUgV2ViQ29yZSBKUyBidWlsdGlucyBnZW5lcmF0aW9uIGFuZCBi
dWlsZCBzeXN0ZW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE0OTc1MQorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAg
IEFkZGluZyBhbm5vdGF0aW9ucyB0byBKUyBmaWxlcyB0byBrbm93IHdoZXRoZXIgdGhleSBzaG91
bGQgYmUgdW5kZXIgYSBjb21waWxhdGlvbiBmbGFnIGFuZAorICAgICAgICB3aGV0aGVyIHRoZXkg
YXJlIEpTIGludGVybmFscyBvciBKUyB0aWVkIHRvIFdlYklETC4KKyAgICAgICAgSWYgYSBmaWxl
IGlzIHNhaWQgYXMgSlMgaW50ZXJuYWxzLCBhbGwgZnVuY3Rpb24gbmFtZXMgYXJlIGV4cG9ydGVk
IGF1dG9tYXRpY2FsbHkuCisgICAgICAgIEFkZGVkIGF1dG8gZ2VuZXJhdGlvbiBvZiBXZWJDb3Jl
SlNCdWlsdGlucy5jcHAKKyAgICAgICAgQWRkZWQgYXV0byBnZW5lcmF0aW9uIG9mIEpTQnVpbHRp
bkZ1bmN0aW9ucyBjbGFzcyBpbnNpZGUgV2ViQ29yZUpTQnVpbHRpbnMgdGhhdCB0YWtlcyB0aGUg
cm9sZSBvZgorICAgICAgICBXZWJDb3JlSlNDbGllbnREYXRhIGFzIHdyYXBwZXIgZm9yIGJ1aWx0
aW5zLgorICAgICAgICBBZGRlZCBhdXRvIGdlbmVyYXRpb24gb2YgV2ViQ29yZUpTQnVpbHRpbklu
dGVybmFscy5oIHdoaWNoIGNvbnRhaW4gYSB3cmFwcGVyIGFyb3VuZCBhbGwgcHJpdmF0ZSBmdW5j
dGlvbnMsIHVzZWQgYnkKKyAgICAgICAgSlNET01XaW5kb3dCYXNlLiBUaGUgY2xhc3MgaXMgbmFt
ZWQgSlNCdWlsdGluSW50ZXJuYWxGdW5jdGlvbnMuCisgICAgICAgIFJlbmFtZWQgV2ViQ29yZUpT
Q2xpZW50RGF0YSB0byBKU1ZNQ2xpZW50RGF0YS4KKworICAgICAgICBUaGUgcmVtYWluaW5nIG1h
bnVhbCBwYXJ0IGZvciBwcml2YXRlIGZ1bmN0aW9ucyBpcyB0aGUgcGFpcmluZyBiZXR3ZWVuIHBy
aXZhdGUgaWRlbnRpZmllcnMgYW5kCisgICAgICAgIHRoZSBwcml2YXRlIEpTIGZ1bmN0aW9ucyB3
aXRoaW4gSlNET01XaW5kb3dCYXNlOjpmaW5pc2hDcmVhdGlvbi4KKworICAgICAgICBDb3ZlcmVk
IGJ5IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAg
ICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBNb2R1bGVzL3N0cmVhbXMvQnl0ZUxl
bmd0aFF1ZXVpbmdTdHJhdGVneS5qczoKKyAgICAgICAgKiBNb2R1bGVzL3N0cmVhbXMvQ291bnRR
dWV1aW5nU3RyYXRlZ3kuanM6CisgICAgICAgICogTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3Ry
ZWFtLmpzOgorICAgICAgICAqIE1vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbUludGVybmFs
cy5qczoKKyAgICAgICAgKiBXZWJDb3JlLm9yZGVyOgorICAgICAgICAqIFdlYkNvcmUudmN4cHJv
ai9XZWJDb3JlLnZjeHByb2o6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0RPTVdyYXBwZXJXb3JsZC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpET01XcmFwcGVyV29ybGQ6OkRPTVdyYXBwZXJXb3JsZCk6CisgICAgICAg
IChXZWJDb3JlOjpET01XcmFwcGVyV29ybGQ6On5ET01XcmFwcGVyV29ybGQpOgorICAgICAgICAo
V2ViQ29yZTo6bm9ybWFsV29ybGQpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NV2luZG93
QmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvd0Jhc2U6OkpTRE9NV2luZG93
QmFzZSk6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvd0Jhc2U6OmZpbmlzaENyZWF0aW9u
KToKKyAgICAgICAgKFdlYkNvcmU6OkpTRE9NV2luZG93QmFzZTo6dmlzaXRDaGlsZHJlbik6Cisg
ICAgICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvd0Jhc2U6OmZpcmVGcmFtZUNsZWFyZWRXYXRjaHBv
aW50c0ZvcldpbmRvdyk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmg6
CisgICAgICAgICogYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTY3JpcHRDb250cm9sbGVyOjpnZXRBbGxXb3JsZHMpOgorICAgICAgICAqIGJpbmRp
bmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXJp
YWxpemVkU2NyaXB0VmFsdWU6OnRyYW5zZmVyQXJyYXlCdWZmZXJzKToKKyAgICAgICAgKiBiaW5k
aW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRhLmg6CisgICAgICAgIChXZWJDb3JlOjpKU0NsaWVu
dERhdGE6OkpTQ2xpZW50RGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpKU0NsaWVudERhdGE6On5K
U0NsaWVudERhdGEpOgorICAgICAgICAoV2ViQ29yZTo6SlNDbGllbnREYXRhOjpidWlsdGluRnVu
Y3Rpb25zKToKKyAgICAgICAgKFdlYkNvcmU6OmluaXROb3JtYWxXb3JsZENsaWVudERhdGEpOgor
ICAgICAgICAoV2ViQ29yZTo6V2ViQ29yZUpTQ2xpZW50RGF0YTo6V2ViQ29yZUpTQ2xpZW50RGF0
YSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXZWJDb3JlSlNDbGllbnREYXRhOjp+V2Vi
Q29yZUpTQ2xpZW50RGF0YSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXZWJDb3JlSlND
bGllbnREYXRhOjpyZWFkYWJsZVN0cmVhbUJ1aWx0aW5zKTogRGVsZXRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OldlYkNvcmVKU0NsaWVudERhdGE6OnJlYWRhYmxlU3RyZWFtQ29udHJvbGxlckJ1aWx0
aW5zKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldlYkNvcmVKU0NsaWVudERhdGE6OnJl
YWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6V2ViQ29yZUpTQ2xpZW50RGF0YTo6cmVhZGFibGVTdHJlYW1SZWFkZXJCdWlsdGlucyk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpXZWJDb3JlSlNDbGllbnREYXRhOjpieXRlTGVuZ3Ro
UXVldWluZ1N0cmF0ZWd5QnVpbHRpbnMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6V2Vi
Q29yZUpTQ2xpZW50RGF0YTo6Y291bnRRdWV1aW5nU3RyYXRlZ3lCdWlsdGlucyk6IERlbGV0ZWQu
CisgICAgICAgICogZ2VuZXJhdGUtanMtYnVpbHRpbnMtYWxsaW5vbmU6IEFkZGVkLgorICAgICAg
ICAocmV0cmlldmVHZW5lcmF0aW9uUGFyYW1ldGVycyk6CisgICAgICAgIChyZXRyaWV2ZUZpbGVz
V2l0aFBhcmFtZXRlcnMpOgorICAgICAgICAocmV0cmlldmVGaWxlc1dpdGhQYXJhbWV0ZXJzLkZp
bGVJbnB1dCk6CisgICAgICAgICh3cml0ZUNvbmRpdGlvbmFsKToKKyAgICAgICAgKEpTQnVpbHRp
bkZ1bmN0aW9ucyk6CisgICAgICAgIChQcml2YXRlKToKKyAgICAgICAgKEpTQnVpbHRpbkludGVy
bmFsRnVuY3Rpb25zKToKKyAgICAgICAgKGNvcHl0ZW1wZmlsZSk6CisKIDIwMTUtMTAtMDcgIEtl
aXRoIFJvbGxpbiAgPGtyb2xsaW5AYXBwbGUuY29tPgogCiAgICAgICAgIHNjcmlwdC50ZXh0IHNo
b3VsZG4ndCBpbmNsdWRlIHRleHQgZnJvbSBub24tZGlyZWN0IGNoaWxkcmVuIG9mIHRoZSBzY3Jp
cHQgZWxlbWVudApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2dlbmVyYXRlLWpz
LWJ1aWx0aW5zIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2dlbmVyYXRlLWpzLWJ1aWx0aW5zCmlu
ZGV4IGIyODQxZjRkMmEzZmJmMGJjYWJkZWZlNmNhMDNhYWE0ZDc5YTI2M2YuLmRmZjQxODczZGEy
YjY1YTc3MTE0Y2Y1ZDQxZTg3YTRjMGQzMDYzN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9nZW5lcmF0ZS1qcy1idWlsdGlucworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Z2VuZXJhdGUtanMtYnVpbHRpbnMKQEAgLTMxNCw4ICszMTQsOCBAQCBpZiAobmFtZXNwYWNlID09
ICJKU0MiKToKIGVsc2U6CiAgICAgYnVpbHRpbk5hbWUgPSBzY29wZU5hbWVbMF0ubG93ZXIoKSAr
IHNjb3BlTmFtZVsxOl0KICAgICBidWlsdGluc0ltcGxlbWVudGF0aW9uLndyaXRlKCIiIntcXAot
ICAgIFdlYkNvcmVKU0NsaWVudERhdGEqIGNsaWVudERhdGEgPSBzdGF0aWNfY2FzdDxXZWJDb3Jl
SlNDbGllbnREYXRhKj4odm0uY2xpZW50RGF0YSk7IFxcCi0gICAgcmV0dXJuIGNsaWVudERhdGEt
PiVzKCkuY29kZU5hbWUjI0V4ZWN1dGFibGUoKS0+bGluayh2bSwgY2xpZW50RGF0YS0+JXMoKS5j
b2RlTmFtZSMjU291cmNlKCkpOyBcXAorICAgIEpTVk1DbGllbnREYXRhKiBjbGllbnREYXRhID0g
c3RhdGljX2Nhc3Q8SlNWTUNsaWVudERhdGEqPih2bS5jbGllbnREYXRhKTsgXFwKKyAgICByZXR1
cm4gY2xpZW50RGF0YS0+YnVpbHRpbkZ1bmN0aW9ucygpLiVzKCkuY29kZU5hbWUjI0V4ZWN1dGFi
bGUoKS0+bGluayh2bSwgY2xpZW50RGF0YS0+YnVpbHRpbkZ1bmN0aW9ucygpLiVzKCkuY29kZU5h
bWUjI1NvdXJjZSgpKTsgXFwKICIiIiUgKGJ1aWx0aW5OYW1lLCBidWlsdGluTmFtZSkpCiAKIGJ1
aWx0aW5zSW1wbGVtZW50YXRpb24ud3JpdGUoIiIifQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBi
NDU1YmM4MjgzODAwZGQ0NGRhNzM1ZDIwYTI2NjMzOTdhMzUwODNiLi4zODNlMmMwMDNjOGQ2Yzlh
MTA4YTQ0NWE1ZmMzMGZjZmVjNDk2ZDRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFr
ZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTI0Miw3
ICsxMjQyLDYgQEAgc2V0KFdlYkNvcmVfU09VUkNFUwogICAgIGJpbmRpbmdzL2pzL1NjcmlwdEds
b2JhbE9iamVjdC5jcHAKICAgICBiaW5kaW5ncy9qcy9TY3JpcHRTdGF0ZS5jcHAKICAgICBiaW5k
aW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCi0gICAgYmluZGluZ3MvanMvV2ViQ29y
ZUpTQnVpbHRpbnMuY3BwCiAgICAgYmluZGluZ3MvanMvV2ViQ29yZVR5cGVkQXJyYXlDb250cm9s
bGVyLmNwcAogICAgIGJpbmRpbmdzL2pzL1dvcmtlclNjcmlwdENvbnRyb2xsZXIuY3BwCiAgICAg
YmluZGluZ3MvanMvV29ya2VyU2NyaXB0RGVidWdTZXJ2ZXIuY3BwCkBAIC0zNTgyLDcgKzM1ODEs
NyBAQCBmb3JlYWNoIChfYnVpbHRpbmpzICR7V0VCQ09SRV9KU19CVUlMVElOU30pCiAgICAgZ2V0
X2ZpbGVuYW1lX2NvbXBvbmVudChfbmFtZSAke19idWlsdGluanN9IE5BTUVfV0UpCiAgICAgYWRk
X2N1c3RvbV9jb21tYW5kKAogICAgICAgICBPVVRQVVQgJHtERVJJVkVEX1NPVVJDRVNfV0VCQ09S
RV9ESVJ9LyR7X25hbWV9QnVpbHRpbnNXcmFwcGVyLmggJHtERVJJVkVEX1NPVVJDRVNfV0VCQ09S
RV9ESVJ9LyR7X25hbWV9QnVpbHRpbnMuaCAke0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0v
JHtfbmFtZX1CdWlsdGlucy5jcHAKLSAgICAgICAgTUFJTl9ERVBFTkRFTkNZICR7Q01BS0VfQ1VS
UkVOVF9TT1VSQ0VfRElSfS9nZW5lcmF0ZS1qcy1idWlsdGlucworICAgICAgICBNQUlOX0RFUEVO
REVOQ1kgJHtXRUJDT1JFX0RJUn0vZ2VuZXJhdGUtanMtYnVpbHRpbnMKICAgICAgICAgREVQRU5E
UyAke1dlYkNvcmVfR0VORVJBVEVfSlNfQlVJTFRJTlNfU0NSSVBUU19ESVJ9L2dlbmVyYXRlLWpz
LWJ1aWx0aW5zCiAgICAgICAgIERFUEVORFMgJHtfYnVpbHRpbmpzfQogICAgICAgICBDT01NQU5E
ICR7UFlUSE9OX0VYRUNVVEFCTEV9ICR7Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9nZW5lcmF0
ZS1qcy1idWlsdGlucyAtLWlucHV0ICR7X2J1aWx0aW5qc30gLS1vdXRwdXRfZGlyICR7REVSSVZF
RF9TT1VSQ0VTX1dFQkNPUkVfRElSfSAtLWdlbmVyYXRlX2pzX2J1aWx0aW5zX3BhdGggJHtXZWJD
b3JlX0dFTkVSQVRFX0pTX0JVSUxUSU5TX1NDUklQVFNfRElSfQpAQCAtMzU5Myw2ICszNTkyLDE3
IEBAIGZvcmVhY2ggKF9idWlsdGluanMgJHtXRUJDT1JFX0pTX0JVSUxUSU5TfSkKICAgICApCiAg
ICAgQUREX1NPVVJDRV9XRUJDT1JFX0RFUklWRURfREVQRU5ERU5DSUVTKCR7V0VCQ09SRV9ESVJ9
L2JpbmRpbmdzL2pzL1dlYkNvcmVKU0J1aWx0aW5zLmNwcCAke19uYW1lfUJ1aWx0aW5zLmNwcCkK
IGVuZGZvcmVhY2ggKCkKK2FkZF9jdXN0b21fY29tbWFuZCgKKyAgICBPVVRQVVQgJHtERVJJVkVE
X1NPVVJDRVNfV0VCQ09SRV9ESVJ9L1dlYkNvcmVKU0J1aWx0aW5JbnRlcm5hbHMuaCAke0RFUklW
RURfU09VUkNFU19XRUJDT1JFX0RJUn0vV2ViQ29yZUpTQnVpbHRpbnMuaCAke0RFUklWRURfU09V
UkNFU19XRUJDT1JFX0RJUn0vV2ViQ29yZUpTQnVpbHRpbnMuY3BwCisgICAgTUFJTl9ERVBFTkRF
TkNZICR7V0VCQ09SRV9ESVJ9L2dlbmVyYXRlLWpzLWJ1aWx0aW5zLWFsbGlub25lCisgICAgREVQ
RU5EUyAke1dFQkNPUkVfSlNfQlVJTFRJTlN9CisgICAgQ09NTUFORCAke1BZVEhPTl9FWEVDVVRB
QkxFfSAke0NNQUtFX0NVUlJFTlRfU09VUkNFX0RJUn0vZ2VuZXJhdGUtanMtYnVpbHRpbnMtYWxs
aW5vbmUgJHtXRUJDT1JFX0pTX0JVSUxUSU5TfSAtLW91dHB1dF9kaXIgJHtERVJJVkVEX1NPVVJD
RVNfV0VCQ09SRV9ESVJ9CisgICAgVkVSQkFUSU0pCitsaXN0KEFQUEVORCBXZWJDb3JlX1NPVVJD
RVMKKyAgICAke0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vV2ViQ29yZUpTQnVpbHRpbklu
dGVybmFscy5oCisgICAgJHtERVJJVkVEX1NPVVJDRVNfV0VCQ09SRV9ESVJ9L1dlYkNvcmVKU0J1
aWx0aW5zLmgKKyAgICAke0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJUn0vV2ViQ29yZUpTQnVp
bHRpbnMuY3BwCispCiAKIEFERF9TT1VSQ0VfV0VCQ09SRV9ERVJJVkVEX0RFUEVOREVOQ0lFUygk
e1dFQkNPUkVfRElSfS9odG1sL0hUTUxUcmVlQnVpbGRlci5jcHAgTWF0aE1MTmFtZXMuY3BwKQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCA0NjY1NGYyYWQzMTg4OWRiMzQyNTdi
ZmQ4YzhmYWM5M2UyZGYwNGI1Li44MDYyZjIzMTJmNTY2YjhlYjc0YWM3N2MwNjUxMTRhNmVkNGJk
ODVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBi
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTEyNTEsNyArMTI1MSw3IEBA
IFdlYlJlcGxheUlucHV0cy5oIDogJChJTlBVVF9HRU5FUkFUT1JfU1BFQ0lGSUNBVElPTlMpICQo
SU5QVVRfR0VORVJBVE9SX1NDUklQVFMpCiAKICMgV2ViQ29yZSBKUyBCdWlsdGlucwogCi1XRUJD
T1JFX0pTX0JVSUxUSU5TID0gXAorV0VCQ09SRV9KU19CVUlMVElOU19TT1VSQ0UgPSBcCiAgICAg
JChXZWJDb3JlKS9Nb2R1bGVzL3N0cmVhbXMvQnl0ZUxlbmd0aFF1ZXVpbmdTdHJhdGVneS5qcyBc
CiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3N0cmVhbXMvQ291bnRRdWV1aW5nU3RyYXRlZ3kuanMg
XAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtLmpzIFwKQEAg
LTEyNjAsOSArMTI2MCwxNiBAQCBXRUJDT1JFX0pTX0JVSUxUSU5TID0gXAogICAgICQoV2ViQ29y
ZSkvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtUmVhZGVyLmpzIFwKICMKIAotYWxsIDog
JChXRUJDT1JFX0pTX0JVSUxUSU5TOiUuanM9JUJ1aWx0aW5zLmNwcCkKKy5QSE9OWTogV2ViQ29y
ZUpTQnVpbHRpbnMKK1dlYkNvcmVKU0J1aWx0aW5zOiBXZWJDb3JlSlNCdWlsdGlucy5jcHAgV2Vi
Q29yZUpTQnVpbHRpbnMuaCBXZWJDb3JlSlNCdWlsdGluSW50ZXJuYWxzLmgKK2FsbCA6IFdlYkNv
cmVKU0J1aWx0aW5zICQoV0VCQ09SRV9KU19CVUlMVElOU19TT1VSQ0U6JS5qcz0lQnVpbHRpbnMu
aCkgJChXRUJDT1JFX0pTX0JVSUxUSU5TX1NPVVJDRTolLmpzPSVCdWlsdGluc1dyYXBwZXIuaCkg
JChXRUJDT1JFX0pTX0JVSUxUSU5TX1NPVVJDRTolLmpzPSVCdWlsdGlucy5jcHApCiAKLSVCdWls
dGlucy5jcHA6ICUuanMKK1dlYkNvcmVKU0J1aWx0aW5zLmNwcDogV2ViQ29yZUpTQnVpbHRpbklu
dGVybmFscy5oIFdlYkNvcmVKU0J1aWx0aW5zLmgKK1dlYkNvcmVKU0J1aWx0aW5zLmNwcCBXZWJD
b3JlSlNCdWlsdGlucy5oIFdlYkNvcmVKU0J1aWx0aW5JbnRlcm5hbHMuaDogJChXRUJDT1JFX0pT
X0JVSUxUSU5TX1NPVVJDRSkgJChXZWJDb3JlKS9nZW5lcmF0ZS1qcy1idWlsdGlucy1hbGxpbm9u
ZQorCSQoUFlUSE9OKSAkKFdlYkNvcmUpL2dlbmVyYXRlLWpzLWJ1aWx0aW5zLWFsbGlub25lICQo
V0VCQ09SRV9KU19CVUlMVElOU19TT1VSQ0UpICAtLW91dHB1dF9kaXIgLgorCislQnVpbHRpbnMu
Y3BwOiAlQnVpbHRpbnMuaCAlQnVpbHRpbnNXcmFwcGVyLmgKKyVCdWlsdGlucy5oICVCdWlsdGlu
cy5jcHAgJUJ1aWx0aW5zV3JhcHBlci5oOiAlLmpzICQoV2ViQ29yZSkvZ2VuZXJhdGUtanMtYnVp
bHRpbnMKIAkkKFBZVEhPTikgJChXZWJDb3JlKS9nZW5lcmF0ZS1qcy1idWlsdGlucyAtLWlucHV0
ICQ8IC0tZ2VuZXJhdGVfanNfYnVpbHRpbnNfcGF0aCAkKEdlbmVyYXRlSlNCdWlsdGluc1Njcmlw
dHMpCiAKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3N0cmVhbXMvQnl0ZUxlbmd0aFF1ZXVpbmdTdHJhdGVneS5qcyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9CeXRlTGVuZ3RoUXVldWluZ1N0cmF0ZWd5LmpzCmlu
ZGV4IGE4MjY3MzY3YzQ5ZDAxYTUyZWIxOWU3YTZhNmFlZWNlOTMzZmMwNjUuLmY5NDgxMjU4YTA1
MTEyMDEyZWYwZDQxNmU5Y2M0NmIwOTQxMWY1ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvc3RyZWFtcy9CeXRlTGVuZ3RoUXVldWluZ1N0cmF0ZWd5LmpzCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9CeXRlTGVuZ3RoUXVldWluZ1N0cmF0ZWd5LmpzCkBA
IC0yNCw2ICsyNCw4IEBACiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKKy8vIEBvcHRpb25hbD1TVFJF
QU1TX0FQSQorCiBmdW5jdGlvbiBzaXplKGNodW5rKQogewogICAgICJ1c2Ugc3RyaWN0IjsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9Db3VudFF1ZXVpbmdTdHJh
dGVneS5qcyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9Db3VudFF1ZXVpbmdTdHJh
dGVneS5qcwppbmRleCA5MTE3MzdkMGNlNWVkYTExZjE2ZTc3OGRhMWEzZGYxY2ZjODliMDBlLi40
NGQ2MzBiOGI4ZGMzZjIyNDY2MGU5ODEyZDNmMTNmNjFjNjgyYWYzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvQ291bnRRdWV1aW5nU3RyYXRlZ3kuanMKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL0NvdW50UXVldWluZ1N0cmF0ZWd5LmpzCkBA
IC0yMyw2ICsyMyw4IEBACiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKKy8vIEBvcHRpb25hbD1TVFJF
QU1TX0FQSQorCiBmdW5jdGlvbiBzaXplKCkKIHsKICAgICAidXNlIHN0cmljdCI7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW0uanMgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW0uanMKaW5kZXggZDM2
NjkzYTQ1MTM2MmVmZGM4YWY5NzE0YThlNjM5MDk1MzVlYTViYy4uZDFmMWFmMGIzMzZkYmI3Yzcy
NGY5YjYzMmJkZTM4ZWQwMDdhMmQzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
c3RyZWFtcy9SZWFkYWJsZVN0cmVhbS5qcwpAQCAtOTcsNiArOTcsOCBAQCBmdW5jdGlvbiBnZXRS
ZWFkZXIoKQogICAgIHJldHVybiBuZXcgQFJlYWRhYmxlU3RyZWFtUmVhZGVyKHRoaXMpOwogfQog
CisvLyBAb3B0aW9uYWw9U1RSRUFNU19BUEkKKwogZnVuY3Rpb24gcGlwZVRocm91Z2goc3RyZWFt
cywgb3B0aW9ucykKIHsKICAgICAidXNlIHN0cmljdCI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1JbnRlcm5hbHMuanMgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1JbnRlcm5hbHMuanMKaW5kZXgg
ZWJkN2Y5OTUwN2M4NDIwNTNlODQ1YWU2MjViNzNmZWZmYWM2YzdmYy4uNmQ4ZmU2NmIwMzBhNGFj
OTUyNWQ4MTcxNDdiMGM5OGUyZDRiZTdiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtSW50ZXJuYWxzLmpzCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbUludGVybmFscy5qcwpAQCAtNzEsNiAr
NzEsOSBAQCBmdW5jdGlvbiBwcml2YXRlSW5pdGlhbGl6ZVJlYWRhYmxlU3RyZWFtQ29udHJvbGxl
cihzdHJlYW0pCiAgICAgcmV0dXJuIHRoaXM7CiB9CiAKKy8vIEBvcHRpb25hbD1TVFJFQU1TX0FQ
SQorLy8gQGludGVybmFscworCiBmdW5jdGlvbiB0ZWVSZWFkYWJsZVN0cmVhbShzdHJlYW0sIHNo
b3VsZENsb25lKQogewogICAgICJ1c2Ugc3RyaWN0IjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUub3JkZXIgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLm9yZGVyCmluZGV4IDE5
YTE4MGQ1NGIyMzE0MGFiNTdhOTM0MDNjN2VhZjFkM2I3NDgzYzMuLjJkYmMxYTA3YWZjNGMxZTVh
YjRjYTUyYzg4ZThmZGU4OTAyNzc1ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUub3JkZXIKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5vcmRlcgpAQCAtMjQ3MjMsNyAr
MjQ3MjMsNyBAQCBfX1pON1dlYkNvcmVMMjRKU0RPTVVSTENvbnN0cnVjdG9yVGFibGVFCiBfX1pa
TjdXZWJDb3JlMTJ3cmFwcGVyT3duZXJFUE5TXzE1RE9NV3JhcHBlcldvcmxkRVBOU182RE9NVVJM
RUUxM2pzRE9NVVJMT3duZXIKIF9fWkdWWk43V2ViQ29yZTEyd3JhcHBlck93bmVyRVBOU18xNURP
TVdyYXBwZXJXb3JsZEVQTlNfNkRPTVVSTEVFMTNqc0RPTVVSTE93bmVyCiBfX1pON1dlYkNvcmVM
MjdKU0RPTVdpbmRvd0NvbnN0cnVjdG9yVGFibGVFCi1fX1pUVk43V2ViQ29yZTE5V2ViQ29yZUpT
Q2xpZW50RGF0YUUKK19fWlRWTjdXZWJDb3JlMTlKU1ZNQ2xpZW50RGF0YUUKIF9fWk43V2ViQ29y
ZUw0MEpTRHluYW1pY3NDb21wcmVzc29yTm9kZUNvbnN0cnVjdG9yVGFibGVFCiBfX1pON1dlYkNv
cmVMMzhKU0R5bmFtaWNzQ29tcHJlc3Nvck5vZGVQcm90b3R5cGVUYWJsZUUKIF9fWk43V2ViQ29y
ZUwyOUpTRHluYW1pY3NDb21wcmVzc29yTm9kZVRhYmxlRQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKaW5kZXggOTQ5MmUwNjhkYzU1NmE1ZDg0OTg4
ZGY1OGFiOGM4OGNkMjc1NzhlYS4uNmU4NTg5YzQ2Y2MyM2RmYjlhNTE0OThkN2VhMWJlNGRlZDVk
NmZiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUu
dmN4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hw
cm9qCkBAIC0yMzEsNiArMjMxLDIwIEBACiAgICAgPENsQ29tcGlsZSAvPgogICA8L0l0ZW1EZWZp
bml0aW9uR3JvdXA+CiAgIDxJdGVtR3JvdXA+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIkKENv
bmZpZ3VyYXRpb25CdWlsZERpcilcb2JqJChQbGF0Zm9ybUFyY2hpdGVjdHVyZSlcJChQcm9qZWN0
TmFtZSlcRGVyaXZlZFNvdXJjZXNcV2ViQ29yZUpTQnVpbHRpbnMuY3BwIj4KKyAgICAgIDxFeGNs
dWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09
J0RlYnVnfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRG
cm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1
Z3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21CdWls
ZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNh
aXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9t
QnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z19X
aW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZy
b21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVn
U3VmZml4fFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRG
cm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1
Z1N1ZmZpeHx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZy
b21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVh
c2V8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICAgIDxFeGNsdWRlZEZyb21C
dWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8
eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQg
Q29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNh
aXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CisgICAgICA8RXhjbHVkZWRGcm9t
QnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNl
X1dpbkNhaXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVk
RnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJv
ZHVjdGlvbnxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgorICAgICAgPEV4Y2x1ZGVk
RnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nUHJv
ZHVjdGlvbnx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KKyAgICA8L0NsQ29tcGlsZT4K
ICAgICA8Q2xDb21waWxlIEluY2x1ZGU9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmokKFBs
YXRmb3JtQXJjaGl0ZWN0dXJlKVwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xDb2xvckRh
dGEuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iJChDb25maWd1cmF0aW9uQnVpbGRE
aXIpXG9iaiQoUGxhdGZvcm1BcmNoaXRlY3R1cmUpXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3Vy
Y2VzXENTU0dyYW1tYXIuY3BwIj4KICAgICAgIDxEaXNhYmxlU3BlY2lmaWNXYXJuaW5ncyBDb25k
aXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+NDA2
NTs0MjczOzQ1NjU7NDcwMTs0NzAyOyUoRGlzYWJsZVNwZWNpZmljV2FybmluZ3MpPC9EaXNhYmxl
U3BlY2lmaWNXYXJuaW5ncz4KQEAgLTE4OTAxLDIwICsxODkxNSw2IEBACiAgICAgICA8RXhjbHVk
ZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQ
cm9kdWN0aW9ufFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVk
ZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQ
cm9kdWN0aW9ufHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPgogICAgIDwvQ2xDb21waWxl
PgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cYmluZGluZ3NcanNcV2ViQ29yZUpTQnVpbHRp
bnMuY3BwIj4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3Vy
YXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVp
bGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9u
KXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4KLSAg
ICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxh
dGZvcm0pJz09J0RlYnVnX1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+
Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwk
KFBsYXRmb3JtKSc9PSdEZWJ1Z19XaW5DYWlyb3x4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWls
ZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24p
fCQoUGxhdGZvcm0pJz09J0RlYnVnU3VmZml4fFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVp
bGQ+Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9u
KXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z1N1ZmZpeHx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWls
ZD4KLSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24p
fCQoUGxhdGZvcm0pJz09J1JlbGVhc2V8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4K
LSAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQo
UGxhdGZvcm0pJz09J1JlbGVhc2V8eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+Ci0gICAg
ICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRm
b3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+
Ci0gICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwk
KFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dpbkNhaXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1
aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlv
bil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnxXaW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1
aWxkPgotICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlv
bil8JChQbGF0Zm9ybSknPT0nUHJvZHVjdGlvbnx4NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWls
ZD4KLSAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGJpbmRpbmdz
XGpzXFdvcmtlclNjcmlwdENvbnRyb2xsZXIuY3BwIj4KICAgICAgIDxFeGNsdWRlZEZyb21CdWls
ZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnfFdpbjMy
JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+CiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQgQ29u
ZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4NjQnIj50cnVl
PC9FeGNsdWRlZEZyb21CdWlsZD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBlMmViZTk1Mjk0YjljMzFkNDAxZTNjZWQ2OTI1ZTky
YjFhNzQyNjU2Li41ZGZkMDRjNTQ2YmYxMTY2YTY5NzczZjUwY2JiY2JhNmNmODI5NGEyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
KysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBA
IC0xNDg1LDcgKzE0ODUsNiBAQAogCQk0MEVDQUU3RTE2QjhCNjcyMDBDMzYxMDMgLyogSlNET01F
cnJvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDBF
Q0FFN0QxNkI4QjY3MjAwQzM2MTAzIC8qIEpTRE9NRXJyb3IuaCAqLzsgfTsKIAkJNDBFQ0FFODEx
NkI4QjY4QTAwQzM2MTAzIC8qIEpTRE9NRXJyb3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDBFQ0FFODAxNkI4QjY4QTAwQzM2MTAzIC8qIEpTRE9N
RXJyb3IuY3BwICovOyB9OwogCQk0MTBCN0U3MjEwNDVGQUIwMDBEODIyNEYgLyogSlNNZXNzYWdl
RXZlbnRDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNDEwQjdFNzExMDQ1RkFCMDAwRDgyMjRGIC8qIEpTTWVzc2FnZUV2ZW50Q3VzdG9tLmNw
cCAqLzsgfTsKLQkJNDExQTkwNDIxQkJBQjQ3QTAwMENGMTU2IC8qIFdlYkNvcmVKU0J1aWx0aW5z
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMUE5
MDQxMUJCQUI0NkQwMDBDRjE1NiAvKiBXZWJDb3JlSlNCdWlsdGlucy5jcHAgKi87IH07CiAJCTQx
MjMwODFCMTM4QzQyOTcwMEJDQ0ZDQSAvKiBXZWJDb3JlLmZyYW1ld29yayBpbiBGcmFtZXdvcmtz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzRjE5QjFBMDgyNDVFNUEwMDFF
OUFCQyAvKiBXZWJDb3JlLmZyYW1ld29yayAqLzsgfTsKIAkJNDEyMzA5MTMxMzhDNDJGRjAwQkND
RkNBIC8qIEphdmFTY3JpcHRDb3JlLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY4MjE2Mjk5MDI5RjRGQjUwMTAwMDEzMSAvKiBKYXZh
U2NyaXB0Q29yZS5mcmFtZXdvcmsgKi87IH07CiAJCTQxMjdENTM3MEY4QUFCMUQwMEU0MjRGNSAv
KiBTY3JpcHRTdGF0ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0MTI3RDUzNjBGOEFBQjFEMDBFNDI0RjUgLyogU2NyaXB0U3RhdGUuY3BwICovOyB9
OwpAQCAtMTUwOCw3ICsxNTA3LDggQEAKIAkJNDE2RTI5QTYxMDJGQTk2MjAwN0ZDMTRFIC8qIFdv
cmtlclJlcG9ydGluZ1Byb3h5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0MTZFMjlBNTEwMkZBOTYyMDA3RkMxNEUgLyogV29ya2VyUmVwb3J0aW5nUHJv
eHkuaCAqLzsgfTsKIAkJNDE2RTZGRTgxQkJEMTJERjAwMEE2MDQzIC8qIFJlYWRhYmxlU3RyZWFt
SW50ZXJuYWxzQnVpbHRpbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDlCMDNEODA2MUJCMzExMEQwMEI3NjREOSAvKiBSZWFkYWJsZVN0cmVhbUludGVy
bmFsc0J1aWx0aW5zLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJNDE2RTZGRTkxQkJEMTJFNTAwMEE2MDQzIC8qIFJlYWRhYmxlU3RyZWFtQnVpbHRp
bnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlCMDNE
ODA2MUJCMzExMEQwMEI3NjREOCAvKiBSZWFkYWJsZVN0cmVhbUJ1aWx0aW5zLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJNDE2RTZGRUExQkJEMTY4
NDAwMEE2MDQzIC8qIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnNXcmFwcGVyLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5QjAzRDgwNzFCQjMx
MTBEMDBCNzY0RDkgLyogUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGluc1dyYXBwZXIuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk0MTZFNkZF
QTFCQkQxNjg0MDAwQTYwNDQgLyogUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGluc1dyYXBw
ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlCMDNE
ODA3MUJCMzExMEQwMEI3NjREQSAvKiBSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zV3Jh
cHBlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CTQxNkU2RkVBMUJCRDE2ODQwMDBBNjA0MyAvKiBXZWJDb3JlSlNCdWlsdGluSW50ZXJuYWxzLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5QjAzRDgwNzFC
QjMxMTBEMDBCNzY0RDkgLyogV2ViQ29yZUpTQnVpbHRpbkludGVybmFscy5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxNzI1M0FBMTM1NEJCQkMw
MDM2MEYyQSAvKiBNZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTcyNTNBODEzNTRCQkJDMDAzNjBGMkEgLyogTWVk
aWFDb250cm9sRWxlbWVudHMuY3BwICovOyB9OwogCQk0MTcyNTNBQjEzNTRCQkJDMDAzNjBGMkEg
LyogTWVkaWFDb250cm9sRWxlbWVudHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDQxNzI1M0E5MTM1NEJCQkMwMDM2MEYyQSAvKiBNZWRpYUNvbnRyb2xF
bGVtZW50cy5oICovOyB9OwogCQk0MTdEQTZEOTEzNzM0RTZFMDA3QzU3RkIgLyogSW50ZXJuYWxz
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxN0RB
NENGMTM3MzQzMjYwMDdDNTdGQiAvKiBJbnRlcm5hbHMuY3BwICovOyB9OwpAQCAtMjYzMiw2ICsy
NjMyLDcgQEAKIAkJN0M0OEE2RDAxOTFDOUQ2NTAwMDI2Njc0IC8qIFdlYktpdE5hbWVzcGFjZS5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzQ4QTZD
RTE5MUM5RDY1MDAwMjY2NzQgLyogV2ViS2l0TmFtZXNwYWNlLmNwcCAqLzsgfTsKIAkJN0M0OEE2
RDExOTFDOUQ2NTAwMDI2Njc0IC8qIFdlYktpdE5hbWVzcGFjZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M0OEE2Q0YxOTFDOUQ2NTAwMDI2Njc0IC8q
IFdlYktpdE5hbWVzcGFjZS5oICovOyB9OwogCQk3QzQ5MDJBMjE4QjgyNUY4MDA3RDkyOTggLyog
RE9NV2hlZWxFdmVudEludGVybmFsLmggaW4gQ29weSBHZW5lcmF0ZWQgSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NTk4OURDQTBBQ0M4QkJEMDBBMEJDNTEgLyog
RE9NV2hlZWxFdmVudEludGVybmFsLmggKi87IH07CisJCTdDNEM5NkRDMUFENDQ4MzUwMDM2NUE1
MSAvKiBXZWJDb3JlSlNCdWlsdGlucy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA3QzRDOTZEODFBRDQ0ODM1MDAzNjVBNTEgLyogV2ViQ29yZUpTQnVp
bHRpbnMuY3BwICovOyB9OwogCQk3QzRDOTZEQzFBRDQ0ODM1MDAzNjVBNTAgLyogSlNSZWFkYWJs
ZVN0cmVhbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA3QzRDOTZEODFBRDQ0ODM1MDAzNjVBNTAgLyogSlNSZWFkYWJsZVN0cmVhbS5jcHAgKi87IH07
CiAJCTdDNEM5NkREMUFENDQ4MzUwMDM2NUE1MCAvKiBKU1JlYWRhYmxlU3RyZWFtLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzRDOTZEOTFBRDQ0ODM1
MDAzNjVBNTAgLyogSlNSZWFkYWJsZVN0cmVhbS5oICovOyB9OwogCQk3QzRDOTZERTFBRDQ0ODM1
MDAzNjVBNTAgLyogSlNSZWFkYWJsZVN0cmVhbVJlYWRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzRDOTZEQTFBRDQ0ODM1MDAzNjVBNTAgLyog
SlNSZWFkYWJsZVN0cmVhbVJlYWRlci5jcHAgKi87IH07CkBAIC04NzYzLDcgKzg3NjQsNiBAQAog
CQk0MEVDQUU4MDE2QjhCNjhBMDBDMzYxMDMgLyogSlNET01FcnJvci5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0RPTUVycm9yLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNDEwQjdFNzExMDQ1RkFCMDAwRDgyMjRGIC8qIEpTTWVzc2FnZUV2ZW50
Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTWVzc2Fn
ZUV2ZW50Q3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDExODlFRjcx
QUQ4MjMyODAwQjkwQTBEIC8qIFJlYWRhYmxlU3RyZWFtQ29udHJvbGxlci5pZGwgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0OyBwYXRoID0gUmVhZGFibGVTdHJlYW1Db250cm9sbGVyLmlkbDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKLQkJNDExQTkwNDExQkJBQjQ2RDAwMENGMTU2IC8qIFdlYkNvcmVKU0J1
aWx0aW5zLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkNvcmVK
U0J1aWx0aW5zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEyN0Q1MzYwRjhB
QUIxRDAwRTQyNEY1IC8qIFNjcmlwdFN0YXRlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFNjcmlwdFN0YXRlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNDEyOURGODExQkI1Qjc5QjAwMzIyQTE2IC8qIFJlYWRhYmxlU3RyZWFtQ29udHJvbGxlci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZWFkYWJsZVN0cmVhbUNvbnRyb2xs
ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEyOURGODIxQkI1QjdBNjAwMzIy
QTE2IC8qIFJlYWRhYmxlU3RyZWFtUmVhZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFJlYWRhYmxlU3RyZWFtUmVhZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CkBAIC0xMDA1MCw2ICsxMDA1MCw3IEBACiAJCTdDNDhBNkNFMTkxQzlENjUwMDAyNjY3NCAvKiBX
ZWJLaXROYW1lc3BhY2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
V2ViS2l0TmFtZXNwYWNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0M0OEE2
Q0YxOTFDOUQ2NTAwMDI2Njc0IC8qIFdlYktpdE5hbWVzcGFjZS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBXZWJLaXROYW1lc3BhY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJN0M0OEE2RDIxOTFDOUQ4RTAwMDI2Njc0IC8qIFdlYktpdE5hbWVzcGFjZS5pZGwg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBw
YXRoID0gV2ViS2l0TmFtZXNwYWNlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
N0M0Qzk2RDgxQUQ0NDgzNTAwMzY1QTUxIC8qIFdlYkNvcmVKU0J1aWx0aW5zLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkNvcmVKU0J1aWx0aW5zLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0M0Qzk2RDgxQUQ0NDgzNTAwMzY1QTUwIC8qIEpT
UmVhZGFibGVTdHJlYW0uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
SlNSZWFkYWJsZVN0cmVhbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDNEM5
NkQ5MUFENDQ4MzUwMDM2NUE1MCAvKiBKU1JlYWRhYmxlU3RyZWFtLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEpTUmVhZGFibGVTdHJlYW0uaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJN0M0Qzk2REExQUQ0NDgzNTAwMzY1QTUwIC8qIEpTUmVhZGFibGVTdHJlYW1S
ZWFkZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNSZWFkYWJs
ZVN0cmVhbVJlYWRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMTMyMSw3
ICsxMTMyMiw4IEBACiAJCTlCMDNEODA2MUJCMzExMEQwMEI3NjREOCAvKiBSZWFkYWJsZVN0cmVh
bUJ1aWx0aW5zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlYWRhYmxlU3Ry
ZWFtQnVpbHRpbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOUIwM0Q4MDYxQkIz
MTEwRDAwQjc2NEQ5IC8qIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlu
cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5QjAzRDgwNzFCQjMxMTBEMDBCNzY0
RDggLyogUmVhZGFibGVTdHJlYW1CdWlsdGluc1dyYXBwZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gUmVhZGFibGVTdHJlYW1CdWlsdGluc1dyYXBwZXIuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKLQkJOUIwM0Q4MDcxQkIzMTEwRDAwQjc2NEQ5IC8qIFJlYWRhYmxl
U3RyZWFtSW50ZXJuYWxzQnVpbHRpbnNXcmFwcGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnNXcmFwcGVyLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTlCMDNEODA3MUJCMzExMEQwMEI3NjREQSAvKiBSZWFk
YWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zV3JhcHBlci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zV3JhcHBlci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5QjAzRDgwNzFCQjMxMTBEMDBCNzY0RDkgLyog
V2ViQ29yZUpTQnVpbHRpbkludGVybmFscy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBXZWJDb3JlSlNCdWlsdGluSW50ZXJuYWxzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTlCMTlCNjdFMUI5NjRFNTIwMDM0ODc0NSAvKiBTaGFkb3dSb290LmlkbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQ7IHBhdGggPSBTaGFkb3dSb290LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJOUIxQUIwNzkxNjQ4QzY5RDAwNTFGM0YyIC8qIEhUTUxGb3JtQ29udHJvbHNDb2xsZWN0
aW9uLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQ7IHBhdGggPSBIVE1MRm9ybUNvbnRyb2xzQ29sbGVjdGlvbi5pZGw7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTlCMUFCMDdCMTY0OEM3QzQwMDUxRjNGMiAvKiBKU0hUTUxGb3Jt
Q29udHJvbHNDb2xsZWN0aW9uQ3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEpTSFRNTEZvcm1Db250cm9sc0NvbGxlY3Rpb25DdXN0b20uY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTYyNzksNiArMTYyODEsNyBAQAogCQk0MUEwMjNGQTFB
MzlGMTNBMDBGNzIyQ0YgLyogU3RyZWFtcyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJ
Y2hpbGRyZW4gPSAoCisJCQkJN0M0Qzk2RDgxQUQ0NDgzNTAwMzY1QTUxIC8qIFdlYkNvcmVKU0J1
aWx0aW5zLmNwcCAqLywKIAkJCQk3QzRDOTZEODFBRDQ0ODM1MDAzNjVBNTAgLyogSlNSZWFkYWJs
ZVN0cmVhbS5jcHAgKi8sCiAJCQkJN0M0Qzk2RDkxQUQ0NDgzNTAwMzY1QTUwIC8qIEpTUmVhZGFi
bGVTdHJlYW0uaCAqLywKIAkJCQk2QzRDOTZEQTFBRDQ0ODM1MDAzNjVBNTAgLyogSlNSZWFkYWJs
ZVN0cmVhbUNvbnRyb2xsZXIuY3BwICovLApAQCAtMTcwNzAsNyArMTcwNzMsOCBAQAogCQkJCTlC
MDNEODA2MUJCMzExMEQwMEI3NjREOCAvKiBSZWFkYWJsZVN0cmVhbUJ1aWx0aW5zLmggKi8sCiAJ
CQkJOUIwM0Q4MDYxQkIzMTEwRDAwQjc2NEQ5IC8qIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVp
bHRpbnMuaCAqLywKIAkJCQk5QjAzRDgwNzFCQjMxMTBEMDBCNzY0RDggLyogUmVhZGFibGVTdHJl
YW1CdWlsdGluc1dyYXBwZXIuaCAqLywKLQkJCQk5QjAzRDgwNzFCQjMxMTBEMDBCNzY0RDkgLyog
UmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGluc1dyYXBwZXIuaCAqLywKKwkJCQk5QjAzRDgw
NzFCQjMxMTBEMDBCNzY0REEgLyogUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGluc1dyYXBw
ZXIuaCAqLywKKwkJCQk5QjAzRDgwNzFCQjMxMTBEMDBCNzY0RDkgLyogV2ViQ29yZUpTQnVpbHRp
bkludGVybmFscy5oICovLAogCQkJCTQzQjg1RUQyMThDQkVDNTIwMEUzMUFGNCAvKiBTZWxlY3Rv
clBzZXVkb0NsYXNzQW5kQ29tcGF0aWJpbGl0eUVsZW1lbnRNYXAuY3BwICovLAogCQkJCTQzQjg1
RUQzMThDQkVDNTIwMEUzMUFGNCAvKiBTZWxlY3RvclBzZXVkb0NsYXNzQW5kQ29tcGF0aWJpbGl0
eUVsZW1lbnRNYXAuZ3BlcmYgKi8sCiAJCQkJMjZBQTBGOUQxOEQyQTE4QjAwNDE5MzgxIC8qIFNl
bGVjdG9yUHNldWRvRWxlbWVudFR5cGVNYXAuY3BwICovLApAQCAtMjE2NjcsNyArMjE2NzEsNiBA
QAogCQkJCTE0MDBEN0E3MTcxMzZFQTcwMDc3Q0UwNSAvKiBTY3JpcHRXcmFwcGFibGVJbmxpbmVz
LmggKi8sCiAJCQkJQTc1RTQ5NzUxMDc1MkFDQjAwQzlCODk2IC8qIFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZS5jcHAgKi8sCiAJCQkJQTc1RTQ5NzQxMDc1MkFDQjAwQzlCODk2IC8qIFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZS5oICovLAotCQkJCTQxMUE5MDQxMUJCQUI0NkQwMDBDRjE1NiAvKiBXZWJDb3Jl
SlNCdWlsdGlucy5jcHAgKi8sCiAJCQkJQkM1M0Q5MTAxMTQzMTBDQzAwMEQ4MTdFIC8qIFdlYkNv
cmVKU0NsaWVudERhdGEuaCAqLywKIAkJCQkwRjA5OUQwNjE3Qjk2OEExMDBGRjg0QjkgLyogV2Vi
Q29yZVR5cGVkQXJyYXlDb250cm9sbGVyLmNwcCAqLywKIAkJCQkwRjA5OUQwNzE3Qjk2OEExMDBG
Rjg0QjkgLyogV2ViQ29yZVR5cGVkQXJyYXlDb250cm9sbGVyLmggKi8sCkBAIC0yNTcyMSw3ICsy
NTcyNCw4IEBACiAJCQkJRkM5RTBFNEQxNjQxOUMxRTAwMzkyQkUzIC8qIEpTRE9NV2luZG93Q1NT
LmggaW4gSGVhZGVycyAqLywKIAkJCQk2NTJGQkJCQzBERTI3Q0I2MDAwMUQzODYgLyogSlNET01X
aW5kb3dDdXN0b20uaCBpbiBIZWFkZXJzICovLAogCQkJCUJDQkZCNTNEMERDRDI5Q0YwMDE5QjNF
NSAvKiBKU0RPTVdpbmRvd1NoZWxsLmggaW4gSGVhZGVycyAqLywKLQkJCQk0MTZFNkZFQTFCQkQx
Njg0MDAwQTYwNDMgLyogUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGluc1dyYXBwZXIuaCBp
biBIZWFkZXJzICovLAorCQkJCTQxNkU2RkVBMUJCRDE2ODQwMDBBNjA0NCAvKiBSZWFkYWJsZVN0
cmVhbUludGVybmFsc0J1aWx0aW5zV3JhcHBlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDE2RTZG
RUExQkJEMTY4NDAwMEE2MDQzIC8qIFdlYkNvcmVKU0J1aWx0aW5JbnRlcm5hbHMuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTY1RTBFOTQ0MTEzM0M4OUYwMEI0Q0IxMCAvKiBKU0RPTVdyYXBwZXIuaCBp
biBIZWFkZXJzICovLAogCQkJCUZENzg2OEJBMTM2Qjk5OTIwMEQ0MDNERiAvKiBKU0R5bmFtaWNz
Q29tcHJlc3Nvck5vZGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTY1REYzMUZBMDlEMUNDNjAwMDBC
RTMyNSAvKiBKU0VsZW1lbnQuaCBpbiBIZWFkZXJzICovLApAQCAtMjkwNjEsNyArMjkwNjUsNiBA
QAogCQkJCUE4RUE3OUYzMEExOTE2REYwMEE4RUY1RiAvKiBIVE1MVUxpc3RFbGVtZW50LmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUU0NDYxM0FBMENENjMzMTAwMEZBREE3NSAvKiBIVE1MVmlkZW9F
bGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTgzOUFBRkVDMUEwQzBDOEQwMDYwNUY5OSAv
KiBIVE1MV0JSRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk0MTFBOTA0MjFCQkFCNDdB
MDAwQ0YxNTYgLyogV2ViQ29yZUpTQnVpbHRpbnMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEI4
QzU2RDQwRjI4NjI3RjAwMDUwMkUxIC8qIEhUVFBIZWFkZXJNYXAuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJMUFDOTAwQzMxOTQzQzBGQzAwODYyNUI1IC8qIEhUVFBIZWFkZXJOYW1lcy5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk1MTRDNzY3MjBDRTkyM0ExMDA3RUYzQ0QgLyogSFRUUFBhcnNlcnMu
Y3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yOTU3Myw2ICsyOTU3Niw3IEBACiAJCQkJMDc3NjY0RkMx
ODNFNkI1QzAwMTMzQjkyIC8qIEpTUXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnQuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJQjY1OEZGQTExNTIyRUYzQTAwREQ1NTk1IC8qIEpTUmFkaW9Ob2RlTGlz
dC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk2NURGMzIwMTA5RDFDQzYwMDAwQkUzMjUgLyogSlNS
YW5nZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk3QzRDOTZEQzFBRDQ0ODM1MDAzNjVBNTEgLyog
V2ViQ29yZUpTQnVpbHRpbnMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0M0Qzk2REMxQUQ0NDgz
NTAwMzY1QTUwIC8qIEpTUmVhZGFibGVTdHJlYW0uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNkM0
Qzk2REUxQUQ0NDgzNTAwMzY1QTUwIC8qIEpTUmVhZGFibGVTdHJlYW1Db250cm9sbGVyLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTdDNEM5NkRFMUFENDQ4MzUwMDM2NUE1MCAvKiBKU1JlYWRhYmxl
U3RyZWFtUmVhZGVyLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvRE9NV3JhcHBlcldvcmxkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0RPTVdyYXBwZXJXb3JsZC5jcHAKaW5kZXggM2RkMjVlMThjMTRmNjE0YTQ4MzgxMjcy
YmE1MjlhOTJkZGIwYTFlNi4uNjY1N2QyZjllNjdjZjk2NTMzY2RiYTBlZTg5YzIyNTg2MWU4Zjg5
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvRE9NV3JhcHBlcldvcmxk
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9ET01XcmFwcGVyV29ybGQuY3Bw
CkBAIC0zNiwxNCArMzYsMTQgQEAgRE9NV3JhcHBlcldvcmxkOjpET01XcmFwcGVyV29ybGQoSlND
OjpWTSYgdm0sIGJvb2wgaXNOb3JtYWwpCiB7CiAgICAgVk06OkNsaWVudERhdGEqIGNsaWVudERh
dGEgPSBtX3ZtLmNsaWVudERhdGE7CiAgICAgQVNTRVJUKGNsaWVudERhdGEpOwotICAgIHN0YXRp
Y19jYXN0PFdlYkNvcmVKU0NsaWVudERhdGEqPihjbGllbnREYXRhKS0+cmVtZW1iZXJXb3JsZCgq
dGhpcyk7CisgICAgc3RhdGljX2Nhc3Q8SlNWTUNsaWVudERhdGEqPihjbGllbnREYXRhKS0+cmVt
ZW1iZXJXb3JsZCgqdGhpcyk7CiB9CiAKIERPTVdyYXBwZXJXb3JsZDo6fkRPTVdyYXBwZXJXb3Js
ZCgpCiB7CiAgICAgVk06OkNsaWVudERhdGEqIGNsaWVudERhdGEgPSBtX3ZtLmNsaWVudERhdGE7
CiAgICAgQVNTRVJUKGNsaWVudERhdGEpOwotICAgIHN0YXRpY19jYXN0PFdlYkNvcmVKU0NsaWVu
dERhdGEqPihjbGllbnREYXRhKS0+Zm9yZ2V0V29ybGQoKnRoaXMpOworICAgIHN0YXRpY19jYXN0
PEpTVk1DbGllbnREYXRhKj4oY2xpZW50RGF0YSktPmZvcmdldFdvcmxkKCp0aGlzKTsKIAogICAg
IC8vIFRoZXNlIGl0ZW1zIGFyZSBjcmVhdGVkIGxhemlseS4KICAgICB3aGlsZSAoIW1fc2NyaXB0
Q29udHJvbGxlcnNXaXRoV2luZG93U2hlbGxzLmlzRW1wdHkoKSkKQEAgLTYzLDcgKzYzLDcgQEAg
RE9NV3JhcHBlcldvcmxkJiBub3JtYWxXb3JsZChKU0M6OlZNJiB2bSkKIHsKICAgICBWTTo6Q2xp
ZW50RGF0YSogY2xpZW50RGF0YSA9IHZtLmNsaWVudERhdGE7CiAgICAgQVNTRVJUKGNsaWVudERh
dGEpOwotICAgIHJldHVybiBzdGF0aWNfY2FzdDxXZWJDb3JlSlNDbGllbnREYXRhKj4oY2xpZW50
RGF0YSktPm5vcm1hbFdvcmxkKCk7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PEpTVk1DbGllbnRE
YXRhKj4oY2xpZW50RGF0YSktPm5vcm1hbFdvcmxkKCk7CiB9CiAKIERPTVdyYXBwZXJXb3JsZCYg
bWFpblRocmVhZE5vcm1hbFdvcmxkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRE9NV2luZG93QmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RPTVdpbmRvd0Jhc2UuY3BwCmluZGV4IDllMGZmNGZjODlhNjgwMDYzZDVhYTc1NjJmYWNlNGI2
OTFmYmYwZjAuLjE2NTk4MWU4NjY5NWUxOTY2MTI5OWU2Y2I2NzY2NmYxMmJiODk1M2EgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcApAQCAtNzAs
OSArNzAsNyBAQCBKU0RPTVdpbmRvd0Jhc2U6OkpTRE9NV2luZG93QmFzZShWTSYgdm0sIFN0cnVj
dHVyZSogc3RydWN0dXJlLCBQYXNzUmVmUHRyPERPTVdpbgogICAgICwgbV93aW5kb3dDbG9zZVdh
dGNocG9pbnRzKCh3aW5kb3cgJiYgd2luZG93LT5mcmFtZSgpKSA/IElzV2F0Y2hlZCA6IElzSW52
YWxpZGF0ZWQpCiAgICAgLCBtX2ltcGwod2luZG93KQogICAgICwgbV9zaGVsbChzaGVsbCkKLSNp
ZiBFTkFCTEUoU1RSRUFNU19BUEkpCi0gICAgLCBtX3JlYWRhYmxlU3RyZWFtRnVuY3Rpb25zKHZt
KQotI2VuZGlmCisgICAgLCBtX3ByaXZhdGVGdW5jdGlvbnModm0pCiB7CiB9CiAKQEAgLTgxLDIz
ICs3OSwyMSBAQCB2b2lkIEpTRE9NV2luZG93QmFzZTo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBK
U0RPTVdpbmRvd1NoZWxsKiBzaGVsbCkKICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSwgc2hl
bGwpOwogICAgIEFTU0VSVChpbmhlcml0cyhpbmZvKCkpKTsKIAotI2lmIEVOQUJMRShTVFJFQU1T
X0FQSSkKLSAgICBtX3JlYWRhYmxlU3RyZWFtRnVuY3Rpb25zLmluaXQoKnRoaXMpOwotI2VuZGlm
CisgICAgbV9wcml2YXRlRnVuY3Rpb25zLmluaXQoKnRoaXMpOwogCiAgICAgR2xvYmFsUHJvcGVy
dHlJbmZvIHN0YXRpY0dsb2JhbHNbXSA9IHsKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZt
LnByb3BlcnR5TmFtZXMtPmRvY3VtZW50LCBqc051bGwoKSwgRG9udERlbGV0ZSB8IFJlYWRPbmx5
KSwKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHZtLnByb3BlcnR5TmFtZXMtPndpbmRvdywg
bV9zaGVsbCwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKICNpZiBFTkFCTEUoU1RSRUFNU19BUEkp
Ci0gICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyhzdGF0aWNfY2FzdDxXZWJDb3JlSlNDbGllbnRE
YXRhKj4odm0uY2xpZW50RGF0YSktPmJ1aWx0aW5OYW1lcygpLnJlYWRhYmxlU3RyZWFtQ2xvc2Vk
UHJpdmF0ZU5hbWUoKSwganNOdW1iZXIoMSksIERvbnREZWxldGUgfCBSZWFkT25seSksCi0gICAg
ICAgIEdsb2JhbFByb3BlcnR5SW5mbyhzdGF0aWNfY2FzdDxXZWJDb3JlSlNDbGllbnREYXRhKj4o
dm0uY2xpZW50RGF0YSktPmJ1aWx0aW5OYW1lcygpLnJlYWRhYmxlU3RyZWFtRXJyb3JlZFByaXZh
dGVOYW1lKCksIGpzTnVtYmVyKDIpLCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAotICAgICAgICBH
bG9iYWxQcm9wZXJ0eUluZm8oc3RhdGljX2Nhc3Q8V2ViQ29yZUpTQ2xpZW50RGF0YSo+KHZtLmNs
aWVudERhdGEpLT5idWlsdGluTmFtZXMoKS5yZWFkYWJsZVN0cmVhbVJlYWRhYmxlUHJpdmF0ZU5h
bWUoKSwganNOdW1iZXIoMyksIERvbnREZWxldGUgfCBSZWFkT25seSksCi0gICAgICAgIEdsb2Jh
bFByb3BlcnR5SW5mbyhzdGF0aWNfY2FzdDxXZWJDb3JlSlNDbGllbnREYXRhKj4odm0uY2xpZW50
RGF0YSktPmJ1aWx0aW5OYW1lcygpLlJlYWRhYmxlU3RyZWFtQ29udHJvbGxlclByaXZhdGVOYW1l
KCksIGNyZWF0ZVJlYWRhYmxlU3RyZWFtQ29udHJvbGxlclByaXZhdGVDb25zdHJ1Y3Rvcih2bSwg
KnRoaXMpLCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAotICAgICAgICBHbG9iYWxQcm9wZXJ0eUlu
Zm8oc3RhdGljX2Nhc3Q8V2ViQ29yZUpTQ2xpZW50RGF0YSo+KHZtLmNsaWVudERhdGEpLT5idWls
dGluTmFtZXMoKS5SZWFkYWJsZVN0cmVhbVJlYWRlclByaXZhdGVOYW1lKCksIGNyZWF0ZVJlYWRh
YmxlU3RyZWFtUmVhZGVyUHJpdmF0ZUNvbnN0cnVjdG9yKHZtLCAqdGhpcyksIERvbnREZWxldGUg
fCBSZWFkT25seSksCisgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyhzdGF0aWNfY2FzdDxKU1ZN
Q2xpZW50RGF0YSo+KHZtLmNsaWVudERhdGEpLT5idWlsdGluTmFtZXMoKS5yZWFkYWJsZVN0cmVh
bUNsb3NlZFByaXZhdGVOYW1lKCksIGpzTnVtYmVyKDEpLCBEb250RGVsZXRlIHwgUmVhZE9ubHkp
LAorICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8oc3RhdGljX2Nhc3Q8SlNWTUNsaWVudERhdGEq
Pih2bS5jbGllbnREYXRhKS0+YnVpbHRpbk5hbWVzKCkucmVhZGFibGVTdHJlYW1FcnJvcmVkUHJp
dmF0ZU5hbWUoKSwganNOdW1iZXIoMiksIERvbnREZWxldGUgfCBSZWFkT25seSksCisgICAgICAg
IEdsb2JhbFByb3BlcnR5SW5mbyhzdGF0aWNfY2FzdDxKU1ZNQ2xpZW50RGF0YSo+KHZtLmNsaWVu
dERhdGEpLT5idWlsdGluTmFtZXMoKS5yZWFkYWJsZVN0cmVhbVJlYWRhYmxlUHJpdmF0ZU5hbWUo
KSwganNOdW1iZXIoMyksIERvbnREZWxldGUgfCBSZWFkT25seSksCisgICAgICAgIEdsb2JhbFBy
b3BlcnR5SW5mbyhzdGF0aWNfY2FzdDxKU1ZNQ2xpZW50RGF0YSo+KHZtLmNsaWVudERhdGEpLT5i
dWlsdGluTmFtZXMoKS5SZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXJQcml2YXRlTmFtZSgpLCBjcmVh
dGVSZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXJQcml2YXRlQ29uc3RydWN0b3Iodm0sICp0aGlzKSwg
RG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKKyAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHN0YXRp
Y19jYXN0PEpTVk1DbGllbnREYXRhKj4odm0uY2xpZW50RGF0YSktPmJ1aWx0aW5OYW1lcygpLlJl
YWRhYmxlU3RyZWFtUmVhZGVyUHJpdmF0ZU5hbWUoKSwgY3JlYXRlUmVhZGFibGVTdHJlYW1SZWFk
ZXJQcml2YXRlQ29uc3RydWN0b3Iodm0sICp0aGlzKSwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwK
ICNkZWZpbmUgREVDTEFSRV9HTE9CQUxfU1RBVElDKG5hbWUpXAogICAgICAgICBHbG9iYWxQcm9w
ZXJ0eUluZm8oXAotICAgICAgICAgICAgc3RhdGljX2Nhc3Q8V2ViQ29yZUpTQ2xpZW50RGF0YSo+
KHZtLmNsaWVudERhdGEpLT5yZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zKCkubmFtZSMj
UHJpdmF0ZU5hbWUoKSxcCi0gICAgICAgICAgICBtX3JlYWRhYmxlU3RyZWFtRnVuY3Rpb25zLm1f
IyNuYW1lIyNGdW5jdGlvbi5nZXQoKSAsIERvbnREZWxldGUgfCBSZWFkT25seSksCisgICAgICAg
ICAgICBzdGF0aWNfY2FzdDxKU1ZNQ2xpZW50RGF0YSo+KHZtLmNsaWVudERhdGEpLT5idWlsdGlu
RnVuY3Rpb25zKCkucmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucygpLm5hbWUjI1ByaXZh
dGVOYW1lKCksIFwKKyAgICAgICAgICAgIG1fcHJpdmF0ZUZ1bmN0aW9ucy5yZWFkYWJsZVN0cmVh
bUludGVybmFscygpLm1fIyNuYW1lIyNGdW5jdGlvbi5nZXQoKSAsIERvbnREZWxldGUgfCBSZWFk
T25seSksCiAgICAgICAgIFdFQkNPUkVSRUFEQUJMRVNUUkVBTUlOVEVSTkFMU19GT1JFQUNIX0JV
SUxUSU5fRlVOQ1RJT05fTkFNRShERUNMQVJFX0dMT0JBTF9TVEFUSUMpCiAjdW5kZWYgRVhQT1JU
X0ZVTkNUSU9OCiAjZW5kaWYKQEAgLTExMSw5ICsxMDcsNyBAQCB2b2lkIEpTRE9NV2luZG93QmFz
ZTo6dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNpdG9yKQogICAg
IEpTRE9NV2luZG93QmFzZSogdGhpc09iamVjdCA9IGpzQ2FzdDxKU0RPTVdpbmRvd0Jhc2UqPihj
ZWxsKTsKICAgICBBU1NFUlRfR0NfT0JKRUNUX0lOSEVSSVRTKHRoaXNPYmplY3QsIGluZm8oKSk7
CiAgICAgQmFzZTo6dmlzaXRDaGlsZHJlbih0aGlzT2JqZWN0LCB2aXNpdG9yKTsKLSNpZiBFTkFC
TEUoU1RSRUFNU19BUEkpCi0gICAgdGhpc09iamVjdC0+bV9yZWFkYWJsZVN0cmVhbUZ1bmN0aW9u
cy52aXNpdCh2aXNpdG9yKTsKLSNlbmRpZgorICAgIHRoaXNPYmplY3QtPm1fcHJpdmF0ZUZ1bmN0
aW9ucy52aXNpdCh2aXNpdG9yKTsKIH0KIAogdm9pZCBKU0RPTVdpbmRvd0Jhc2U6OmRlc3Ryb3ko
SlNDZWxsKiBjZWxsKQpAQCAtMjk3LDcgKzI5MSw3IEBAIEpTRE9NV2luZG93KiB0b0pTRE9NV2lu
ZG93KEpTVmFsdWUgdmFsdWUpCiB2b2lkIEpTRE9NV2luZG93QmFzZTo6ZmlyZUZyYW1lQ2xlYXJl
ZFdhdGNocG9pbnRzRm9yV2luZG93KERPTVdpbmRvdyogd2luZG93KQogewogICAgIEpTQzo6Vk0m
IHZtID0gSlNET01XaW5kb3dCYXNlOjpjb21tb25WTSgpOwotICAgIFdlYkNvcmVKU0NsaWVudERh
dGEqIGNsaWVudERhdGEgPSBzdGF0aWNfY2FzdDxXZWJDb3JlSlNDbGllbnREYXRhKj4odm0uY2xp
ZW50RGF0YSk7CisgICAgSlNWTUNsaWVudERhdGEqIGNsaWVudERhdGEgPSBzdGF0aWNfY2FzdDxK
U1ZNQ2xpZW50RGF0YSo+KHZtLmNsaWVudERhdGEpOwogICAgIFZlY3RvcjxSZWY8RE9NV3JhcHBl
cldvcmxkPj4gd3JhcHBlcldvcmxkczsKICAgICBjbGllbnREYXRhLT5nZXRBbGxXb3JsZHMod3Jh
cHBlcldvcmxkcyk7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHdyYXBwZXJXb3JsZHMu
c2l6ZSgpOyArK2kpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RE9NV2luZG93QmFzZS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dC
YXNlLmgKaW5kZXggZjQwODcyZjVlYTA5NWM5ODM2MzlkNmVkYTcwOTU3YmU4NThiNGUwMS4uMTA3
NjQwYzE3NjhmYjdkODJlNzk0YjEwNmYwMjNiMjkxNDM4OWY5ZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmgKQEAgLTIyLDcgKzIyLDcgQEAKIAogI2lu
Y2x1ZGUgIkpTRE9NQmluZGluZy5oIgogI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0LmgiCi0j
aW5jbHVkZSAiUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGluc1dyYXBwZXIuaCIKKyNpbmNs
dWRlICJXZWJDb3JlSlNCdWlsdGluSW50ZXJuYWxzLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtODcsOSArODcsNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgICAgIFJlZlB0cjxET01XaW5kb3c+IG1faW1wbDsKICAgICAgICAgSlNET01X
aW5kb3dTaGVsbCogbV9zaGVsbDsKIAotI2lmIEVOQUJMRShTVFJFQU1TX0FQSSkKLSAgICAgICAg
UmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGluRnVuY3Rpb25zIG1fcmVhZGFibGVTdHJlYW1G
dW5jdGlvbnM7Ci0jZW5kaWYKKyAgICAgICAgSlNCdWlsdGluSW50ZXJuYWxGdW5jdGlvbnMgbV9w
cml2YXRlRnVuY3Rpb25zOwogICAgIH07CiAKICAgICAvLyBSZXR1cm5zIGEgSlNET01XaW5kb3cg
b3IganNOdWxsKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Njcmlw
dENvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJv
bGxlci5jcHAKaW5kZXggNGIzYjA5NzJiZTc3ZjNjNzY1OTVmMTQwZTI2YTc0OGZmOGVhNDUwYy4u
ZTJjZjA5MjJjYzhhNjJjNzcyM2Y3NWM2Nzk1ODY3N2I4Y2NmMWZlMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5jcHAKQEAgLTE5NCw3ICsxOTQs
NyBAQCBWZWN0b3I8SlNDOjpTdHJvbmc8SlNET01XaW5kb3dTaGVsbD4+IFNjcmlwdENvbnRyb2xs
ZXI6OndpbmRvd1NoZWxscygpCiAKIHZvaWQgU2NyaXB0Q29udHJvbGxlcjo6Z2V0QWxsV29ybGRz
KFZlY3RvcjxSZWY8RE9NV3JhcHBlcldvcmxkPj4mIHdvcmxkcykKIHsKLSAgICBzdGF0aWNfY2Fz
dDxXZWJDb3JlSlNDbGllbnREYXRhKj4oSlNET01XaW5kb3c6OmNvbW1vblZNKCkuY2xpZW50RGF0
YSktPmdldEFsbFdvcmxkcyh3b3JsZHMpOworICAgIHN0YXRpY19jYXN0PEpTVk1DbGllbnREYXRh
Kj4oSlNET01XaW5kb3c6OmNvbW1vblZNKCkuY2xpZW50RGF0YSktPmdldEFsbFdvcmxkcyh3b3Js
ZHMpOwogfQogCiB2b2lkIFNjcmlwdENvbnRyb2xsZXI6OmNsZWFyV2luZG93U2hlbGwoRE9NV2lu
ZG93KiBuZXdET01XaW5kb3csIGJvb2wgZ29pbmdJbnRvUGFnZUNhY2hlKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAKaW5kZXgg
NjJlYTFjMWJkY2VkNjMwNjU4OThhOGI0MWIwYjZkMjFiODU3YWI4Ny4uMDg4ZWNhY2M4OGQwMmU3
ODIzMjU2NGNjZTY1NThmMTM3MGRlMGY1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCkBAIC0yNjM0LDcgKzI2MzQsNyBA
QCBzdGQ6OnVuaXF1ZV9wdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlOjpBcnJheUJ1ZmZlckNvbnRl
bnRzQXJyYXk+IFNlcmlhbGl6ZWRTY3JpcAogCiAgICAgYXV0byBjb250ZW50cyA9IHN0ZDo6bWFr
ZV91bmlxdWU8QXJyYXlCdWZmZXJDb250ZW50c0FycmF5PihhcnJheUJ1ZmZlcnMuc2l6ZSgpKTsK
ICAgICBWZWN0b3I8UmVmPERPTVdyYXBwZXJXb3JsZD4+IHdvcmxkczsKLSAgICBzdGF0aWNfY2Fz
dDxXZWJDb3JlSlNDbGllbnREYXRhKj4oZXhlYy0+dm0oKS5jbGllbnREYXRhKS0+Z2V0QWxsV29y
bGRzKHdvcmxkcyk7CisgICAgc3RhdGljX2Nhc3Q8SlNWTUNsaWVudERhdGEqPihleGVjLT52bSgp
LmNsaWVudERhdGEpLT5nZXRBbGxXb3JsZHMod29ybGRzKTsKIAogICAgIEhhc2hTZXQ8SlNDOjpB
cnJheUJ1ZmZlcio+IHZpc2l0ZWQ7CiAgICAgZm9yIChzaXplX3QgYXJyYXlCdWZmZXJJbmRleCA9
IDA7IGFycmF5QnVmZmVySW5kZXggPCBhcnJheUJ1ZmZlcnMuc2l6ZSgpOyBhcnJheUJ1ZmZlcklu
ZGV4KyspIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVK
U0J1aWx0aW5zLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVKU0J1aWx0
aW5zLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTZjN2UwZTk3ZTcxODcwMDBj
YzBhMTVhMWRkYTk3YzQ1MGFhYmI0Ni4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlSlNCdWlsdGlu
cy5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChD
KSAyMDE1LCBDYW5vbiBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5Z
Ci0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAg
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLQotI2lmIEVO
QUJMRShTVFJFQU1TX0FQSSkKLSNpbmNsdWRlICJCeXRlTGVuZ3RoUXVldWluZ1N0cmF0ZWd5QnVp
bHRpbnMuY3BwIgotI2luY2x1ZGUgIkNvdW50UXVldWluZ1N0cmF0ZWd5QnVpbHRpbnMuY3BwIgot
I2luY2x1ZGUgIlJlYWRhYmxlU3RyZWFtQnVpbHRpbnMuY3BwIgotI2luY2x1ZGUgIlJlYWRhYmxl
U3RyZWFtQ29udHJvbGxlckJ1aWx0aW5zLmNwcCIKLSNpbmNsdWRlICJSZWFkYWJsZVN0cmVhbUlu
dGVybmFsc0J1aWx0aW5zLmNwcCIKLSNpbmNsdWRlICJSZWFkYWJsZVN0cmVhbVJlYWRlckJ1aWx0
aW5zLmNwcCIKLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
V2ViQ29yZUpTQ2xpZW50RGF0YS5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29y
ZUpTQ2xpZW50RGF0YS5oCmluZGV4IDg3MGRkODE4ZWI4Mjk0NTdlYTgwZTM1MzhhODcxZDQ5OTUy
NzRjMDkuLjFkYzU1N2Q0OTVmYjQyY2RkYjU3NWRkOWJkMTBmNTIxYzFjNzQxNmQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVKU0NsaWVudERhdGEuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlSlNDbGllbnREYXRhLmgKQEAgLTI0
LDQ0ICsyNCwyNiBAQAogCiAjaW5jbHVkZSAiRE9NV3JhcHBlcldvcmxkLmgiCiAjaW5jbHVkZSAi
V2ViQ29yZUJ1aWx0aW5OYW1lcy5oIgorI2luY2x1ZGUgIldlYkNvcmVKU0J1aWx0aW5zLmgiCiAj
aW5jbHVkZSAiV2ViQ29yZVR5cGVkQXJyYXlDb250cm9sbGVyLmgiCiAjaW5jbHVkZSA8d3RmL0hh
c2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAKLSNpZiBFTkFCTEUoU1RSRUFNU19B
UEkpCi0jaW5jbHVkZSAiQnl0ZUxlbmd0aFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zV3JhcHBlci5o
IgotI2luY2x1ZGUgIkNvdW50UXVldWluZ1N0cmF0ZWd5QnVpbHRpbnNXcmFwcGVyLmgiCi0jaW5j
bHVkZSAiUmVhZGFibGVTdHJlYW1CdWlsdGluc1dyYXBwZXIuaCIKLSNpbmNsdWRlICJSZWFkYWJs
ZVN0cmVhbUNvbnRyb2xsZXJCdWlsdGluc1dyYXBwZXIuaCIKLSNpbmNsdWRlICJSZWFkYWJsZVN0
cmVhbUludGVybmFsc0J1aWx0aW5zV3JhcHBlci5oIgotI2luY2x1ZGUgIlJlYWRhYmxlU3RyZWFt
UmVhZGVyQnVpbHRpbnNXcmFwcGVyLmgiCi0jZW5kaWYKLQogbmFtZXNwYWNlIFdlYkNvcmUgewog
Ci1jbGFzcyBXZWJDb3JlSlNDbGllbnREYXRhIDogcHVibGljIEpTQzo6Vk06OkNsaWVudERhdGEg
ewotICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdlYkNvcmVKU0NsaWVudERhdGEpOyBXVEZfTUFL
RV9GQVNUX0FMTE9DQVRFRDsKK2NsYXNzIEpTVk1DbGllbnREYXRhIDogcHVibGljIEpTQzo6Vk06
OkNsaWVudERhdGEgeworICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKEpTVk1DbGllbnREYXRhKTsg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAgICAgZnJpZW5kIGNsYXNzIFZNV29ybGRJdGVyYXRv
cjsKICAgICBmcmllbmQgdm9pZCBpbml0Tm9ybWFsV29ybGRDbGllbnREYXRhKEpTQzo6Vk0qKTsK
IAogcHVibGljOgotICAgIGV4cGxpY2l0IFdlYkNvcmVKU0NsaWVudERhdGEoSlNDOjpWTSYgdm0p
Ci0gICAgICAgIDogbV9idWlsdGluTmFtZXMoJnZtKQotI2lmIEVOQUJMRShTVFJFQU1TX0FQSSkK
LSAgICAgICAgLCBtX3JlYWRhYmxlU3RyZWFtQnVpbHRpbnMoJnZtKQotICAgICAgICAsIG1fcmVh
ZGFibGVTdHJlYW1Db250cm9sbGVyQnVpbHRpbnMoJnZtKQotICAgICAgICAsIG1fcmVhZGFibGVT
dHJlYW1JbnRlcm5hbHNCdWlsdGlucygmdm0pCi0gICAgICAgICwgbV9yZWFkYWJsZVN0cmVhbVJl
YWRlckJ1aWx0aW5zKCZ2bSkKLSAgICAgICAgLCBtX2J5dGVMZW5ndGhRdWV1aW5nU3RyYXRlZ3lC
dWlsdGlucygmdm0pCi0gICAgICAgICwgbV9jb3VudFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zKCZ2
bSkKLSNlbmRpZgorICAgIGV4cGxpY2l0IEpTVk1DbGllbnREYXRhKEpTQzo6Vk0mIHZtKQorICAg
ICAgICA6IG1fYnVpbHRpbkZ1bmN0aW9ucyh2bSkKKyAgICAgICAgLCBtX2J1aWx0aW5OYW1lcygm
dm0pCiAgICAgewotI2lmIEVOQUJMRShTVFJFQU1TX0FQSSkKLSAgICAgICAgbV9yZWFkYWJsZVN0
cmVhbUludGVybmFsc0J1aWx0aW5zLmV4cG9ydE5hbWVzKCk7Ci0jZW5kaWYKICAgICB9CiAKLSAg
ICB2aXJ0dWFsIH5XZWJDb3JlSlNDbGllbnREYXRhKCkKKyAgICB2aXJ0dWFsIH5KU1ZNQ2xpZW50
RGF0YSgpCiAgICAgewogICAgICAgICBBU1NFUlQobV93b3JsZFNldC5jb250YWlucyhtX25vcm1h
bFdvcmxkLmdldCgpKSk7CiAgICAgICAgIEFTU0VSVChtX3dvcmxkU2V0LnNpemUoKSA9PSAxKTsK
QEAgLTk0LDM3ICs3NiwyMSBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgV2ViQ29yZUJ1aWx0aW5O
YW1lcyYgYnVpbHRpbk5hbWVzKCkgeyByZXR1cm4gbV9idWlsdGluTmFtZXM7IH0KLQotI2lmIEVO
QUJMRShTVFJFQU1TX0FQSSkKLSAgICBSZWFkYWJsZVN0cmVhbUJ1aWx0aW5zV3JhcHBlciYgcmVh
ZGFibGVTdHJlYW1CdWlsdGlucygpIHsgcmV0dXJuIG1fcmVhZGFibGVTdHJlYW1CdWlsdGluczsg
fQotICAgIFJlYWRhYmxlU3RyZWFtQ29udHJvbGxlckJ1aWx0aW5zV3JhcHBlciYgcmVhZGFibGVT
dHJlYW1Db250cm9sbGVyQnVpbHRpbnMoKSB7IHJldHVybiBtX3JlYWRhYmxlU3RyZWFtQ29udHJv
bGxlckJ1aWx0aW5zOyB9Ci0gICAgUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGluc1dyYXBw
ZXImIHJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMoKSB7IHJldHVybiBtX3JlYWRhYmxl
U3RyZWFtSW50ZXJuYWxzQnVpbHRpbnM7IH0KLSAgICBSZWFkYWJsZVN0cmVhbVJlYWRlckJ1aWx0
aW5zV3JhcHBlciYgcmVhZGFibGVTdHJlYW1SZWFkZXJCdWlsdGlucygpIHsgcmV0dXJuIG1fcmVh
ZGFibGVTdHJlYW1SZWFkZXJCdWlsdGluczsgfQotICAgIEJ5dGVMZW5ndGhRdWV1aW5nU3RyYXRl
Z3lCdWlsdGluc1dyYXBwZXImIGJ5dGVMZW5ndGhRdWV1aW5nU3RyYXRlZ3lCdWlsdGlucygpIHsg
cmV0dXJuIG1fYnl0ZUxlbmd0aFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zOyB9Ci0gICAgQ291bnRR
dWV1aW5nU3RyYXRlZ3lCdWlsdGluc1dyYXBwZXImIGNvdW50UXVldWluZ1N0cmF0ZWd5QnVpbHRp
bnMoKSB7IHJldHVybiBtX2NvdW50UXVldWluZ1N0cmF0ZWd5QnVpbHRpbnM7IH0KLSNlbmRpZgor
ICAgIEpTQnVpbHRpbkZ1bmN0aW9ucyYgYnVpbHRpbkZ1bmN0aW9ucygpIHsgcmV0dXJuIG1fYnVp
bHRpbkZ1bmN0aW9uczsgfQogCiBwcml2YXRlOgogICAgIEhhc2hTZXQ8RE9NV3JhcHBlcldvcmxk
Kj4gbV93b3JsZFNldDsKICAgICBSZWZQdHI8RE9NV3JhcHBlcldvcmxkPiBtX25vcm1hbFdvcmxk
OwogCisgICAgSlNCdWlsdGluRnVuY3Rpb25zIG1fYnVpbHRpbkZ1bmN0aW9uczsKICAgICBXZWJD
b3JlQnVpbHRpbk5hbWVzIG1fYnVpbHRpbk5hbWVzOwotCi0jaWYgRU5BQkxFKFNUUkVBTVNfQVBJ
KQotICAgIFJlYWRhYmxlU3RyZWFtQnVpbHRpbnNXcmFwcGVyIG1fcmVhZGFibGVTdHJlYW1CdWls
dGluczsKLSAgICBSZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXJCdWlsdGluc1dyYXBwZXIgbV9yZWFk
YWJsZVN0cmVhbUNvbnRyb2xsZXJCdWlsdGluczsKLSAgICBSZWFkYWJsZVN0cmVhbUludGVybmFs
c0J1aWx0aW5zV3JhcHBlciBtX3JlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnM7Ci0gICAg
UmVhZGFibGVTdHJlYW1SZWFkZXJCdWlsdGluc1dyYXBwZXIgbV9yZWFkYWJsZVN0cmVhbVJlYWRl
ckJ1aWx0aW5zOwotICAgIEJ5dGVMZW5ndGhRdWV1aW5nU3RyYXRlZ3lCdWlsdGluc1dyYXBwZXIg
bV9ieXRlTGVuZ3RoUXVldWluZ1N0cmF0ZWd5QnVpbHRpbnM7Ci0gICAgQ291bnRRdWV1aW5nU3Ry
YXRlZ3lCdWlsdGluc1dyYXBwZXIgbV9jb3VudFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zOwotI2Vu
ZGlmCiB9OwogCiBpbmxpbmUgdm9pZCBpbml0Tm9ybWFsV29ybGRDbGllbnREYXRhKEpTQzo6Vk0q
IHZtKQogewotICAgIFdlYkNvcmVKU0NsaWVudERhdGEqIHdlYkNvcmVKU0NsaWVudERhdGEgPSBu
ZXcgV2ViQ29yZUpTQ2xpZW50RGF0YSgqdm0pOwotICAgIHZtLT5jbGllbnREYXRhID0gd2ViQ29y
ZUpTQ2xpZW50RGF0YTsgLy8gflZNIGRlbGV0ZXMgdGhpcyBwb2ludGVyLgotICAgIHdlYkNvcmVK
U0NsaWVudERhdGEtPm1fbm9ybWFsV29ybGQgPSBET01XcmFwcGVyV29ybGQ6OmNyZWF0ZSgqdm0s
IHRydWUpOworICAgIEpTVk1DbGllbnREYXRhKiBjbGllbnREYXRhID0gbmV3IEpTVk1DbGllbnRE
YXRhKCp2bSk7CisgICAgdm0tPmNsaWVudERhdGEgPSBjbGllbnREYXRhOyAvLyB+Vk0gZGVsZXRl
cyB0aGlzIHBvaW50ZXIuCisgICAgY2xpZW50RGF0YS0+bV9ub3JtYWxXb3JsZCA9IERPTVdyYXBw
ZXJXb3JsZDo6Y3JlYXRlKCp2bSwgdHJ1ZSk7CiAgICAgdm0tPm1fdHlwZWRBcnJheUNvbnRyb2xs
ZXIgPSBhZG9wdFJlZihuZXcgV2ViQ29yZVR5cGVkQXJyYXlDb250cm9sbGVyKCkpOwogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9nZW5lcmF0ZS1qcy1idWlsdGlucy1hbGxpbm9uZSBi
L1NvdXJjZS9XZWJDb3JlL2dlbmVyYXRlLWpzLWJ1aWx0aW5zLWFsbGlub25lCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmE0MWM0NmJhZjE3MmFmYmY1NjJiNDEzNGQ3ZDAwNGRhNWFlMzhhNDMKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9nZW5lcmF0ZS1qcy1idWlsdGlucy1hbGxpbm9uZQpAQCAtMCww
ICsxLDIzNiBAQAorIyEvdXNyL2Jpbi9weXRob24KKyMgQ29weXJpZ2h0IChDKSAyMDE1IENhbm9u
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
IyBhcmUgbWV0OgorIyAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyMgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisjIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisjIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorIyBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUgorIyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKKyMgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorIyBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyMgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQorIyBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKworaW1wb3J0IGFy
Z3BhcnNlCitpbXBvcnQgZmlsZWNtcAoraW1wb3J0IG9zCitpbXBvcnQgcmUKKworc2luZ2xlTGlu
ZUNvbW1lbnRSZWdFeHAgPSByZS5jb21waWxlKHIiXC9cLyBALio/XG4iLCByZS5NVUxUSUxJTkUg
fCByZS5TKQorCitkZWYgcmV0cmlldmVHZW5lcmF0aW9uUGFyYW1ldGVycyhpbnB1dCk6CisgICAg
cGFyYW1ldGVycyA9IHt9CisgICAgd2l0aCBvcGVuKGlucHV0LCAncicpIGFzIGlucHV0X2ZpbGU6
CisgICAgICAgIGNvbnRlbnQgPSBpbnB1dF9maWxlLnJlYWQoKQorICAgICAgICBmb3IgbWF0Y2gg
aW4gc2luZ2xlTGluZUNvbW1lbnRSZWdFeHAuZmluZGl0ZXIoY29udGVudCk6CisgICAgICAgICAg
ICB2YWx1ZXMgPSBjb250ZW50W21hdGNoLnN0YXJ0KCkgKyA0Om1hdGNoLmVuZCgpXS5zcGxpdCgn
PScpCisgICAgICAgICAgICBpZiBsZW4odmFsdWVzKSA9PSAxOgorICAgICAgICAgICAgICAgIHBh
cmFtZXRlcnNbdmFsdWVzWzBdLnN0cmlwKCldID0gVHJ1ZQorICAgICAgICAgICAgZWxpZiBsZW4g
KHZhbHVlcykgPT0gMjoKKyAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzW3ZhbHVlc1swXS5zdHJp
cCgpXSA9IHZhbHVlc1sxXS5zdHJpcCgpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAg
ICAgIHByaW50KCJTa2lwcGluZyBwb3RlbnRpYWwgZ2VuZXJhdGlvbiBwYXJhbWV0ZXIgZGlyZWN0
aXZlOiIgJSB2YWx1ZXMuam9pbignPScpKQorICAgIHJldHVybiBwYXJhbWV0ZXJzCisKKworZGVm
IHJldHJpZXZlRmlsZXNXaXRoUGFyYW1ldGVycyhpbnB1dHMpOgorICAgIGZpbGVzID0gW10KKyAg
ICBjbGFzcyBGaWxlSW5wdXQ6IHBhc3MKKyAgICBmb3IgaW5wdXQgaW4gaW5wdXRzOgorICAgICAg
ICBmaWxlX2lucHV0ID0gRmlsZUlucHV0KCkKKyAgICAgICAgZmlsZV9pbnB1dC5wYXJhbWV0ZXJz
ID0gcmV0cmlldmVHZW5lcmF0aW9uUGFyYW1ldGVycyhpbnB1dCkKKyAgICAgICAgZmlsZV9pbnB1
dC5vcHRpb25hbGlmID0gKCIjaWYgRU5BQkxFKCIgKyBmaWxlX2lucHV0LnBhcmFtZXRlcnNbIm9w
dGlvbmFsIl0gKyAiKVxuIikgaWYgIm9wdGlvbmFsIiBpbiBmaWxlX2lucHV0LnBhcmFtZXRlcnMg
ZWxzZSAiIgorICAgICAgICBmaWxlX2lucHV0Lm9wdGlvbmFsZW5kaWYgPSAiI2VuZGlmXG4iIGlm
ICJvcHRpb25hbCIgaW4gZmlsZV9pbnB1dC5wYXJhbWV0ZXJzIGVsc2UgIiIKKyAgICAgICAgZmls
ZV9pbnB1dC5maWxlbmFtZSA9IG9zLnBhdGguc3BsaXRleHQob3MucGF0aC5iYXNlbmFtZShpbnB1
dCkpWzBdCisgICAgICAgIGZpbGVfaW5wdXQubmFtZSA9IGZpbGVfaW5wdXQuZmlsZW5hbWVbMF0u
bG93ZXIoKSArIGZpbGVfaW5wdXQuZmlsZW5hbWVbMTpdCisgICAgICAgIGZpbGVzLmFwcGVuZChm
aWxlX2lucHV0KQorICAgIHJldHVybiBmaWxlcworCisKK2RlZiB3cml0ZUNvbmRpdGlvbmFsKHdy
aXRlciwgaW5wdXRfZmlsZSwgdmFsdWUpOgorICAgIHdyaXRlci53cml0ZShpbnB1dF9maWxlLm9w
dGlvbmFsaWYpCisgICAgd3JpdGVyLndyaXRlKHZhbHVlKQorICAgIHdyaXRlci53cml0ZShpbnB1
dF9maWxlLm9wdGlvbmFsZW5kaWYpCisKKworZGVmIGNvcHl0ZW1wZmlsZShvdXRwdXQpOgorICAg
IGlmIChub3Qgb3MucGF0aC5leGlzdHMob3V0cHV0KSkgb3IgKG5vdCBmaWxlY21wLmNtcChvdXRw
dXQgKyAiLnRtcCIsIG91dHB1dCwgc2hhbGxvdz1GYWxzZSkpOgorICAgICAgICBpZiAob3MucGF0
aC5leGlzdHMob3V0cHV0KSk6CisgICAgICAgICAgICBvcy5yZW1vdmUob3V0cHV0KQorICAgICAg
ICBvcy5yZW5hbWUob3V0cHV0ICsgIi50bXAiLCBvdXRwdXQpCisgICAgZWxzZToKKyAgICAgICAg
b3MucmVtb3ZlKG91dHB1dCArICIudG1wIikKKworCitwYXJzZXIgPSBhcmdwYXJzZS5Bcmd1bWVu
dFBhcnNlcigpCitwYXJzZXIuYWRkX2FyZ3VtZW50KCctLW91dHB1dF9kaXInLCBkZWZhdWx0PScn
LCBoZWxwPSdvdXRwdXQgZGlyZWN0b3J5JykKK3BhcnNlci5hZGRfYXJndW1lbnQoJ2lucHV0cycs
IG1ldGF2YXI9J2lucHV0JywgbmFyZ3M9JysnLCBoZWxwPSdwYXRoIHRvIGlucHV0IEpTIGZpbGVz
JykKKworYXJncyA9IHBhcnNlci5wYXJzZV9hcmdzKCkKK2ZpbGVzID0gcmV0cmlldmVGaWxlc1dp
dGhQYXJhbWV0ZXJzKGFyZ3MuaW5wdXRzKQoraW50ZXJuYWxzX2ZpbGVzID0gWyBmIGZvciBmIGlu
IGZpbGVzIGlmICJpbnRlcm5hbHMiIGluIGYucGFyYW1ldGVycyBdCisKK2Jhc2VuYW1lID0gIldl
YkNvcmVKU0J1aWx0aW5zIgorb3V0cHV0X2Jhc2UgPSBvcy5wYXRoLmpvaW4oYXJncy5vdXRwdXRf
ZGlyLCBiYXNlbmFtZSkKK2Jhc2VuYW1lX2ludGVybmFscyA9ICJXZWJDb3JlSlNCdWlsdGluSW50
ZXJuYWxzIgoraW50ZXJuYWxzX291dHB1dF9iYXNlID0gb3MucGF0aC5qb2luKGFyZ3Mub3V0cHV0
X2RpciwgYmFzZW5hbWVfaW50ZXJuYWxzKQorCitwcmludCgiR2VuZXJhdGluZyBXZWJDb3JlIEpT
IGJ1aWx0aW5zIHdyYXBwZXIgZmlsZXMuIikKKworcHJlYW1ibGUgPSAiIiIKKy8qIEdlbmVyYXRl
ZCBieSBnZW5lcmF0ZS1qcy1idWlsdGlucy1hbGxpbm9uZSBkbyBub3QgaGFuZCBlZGl0LiAqLwor
CisvKgorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp
c3RyaWJ1dGUgaXQgYW5kL29yCisgKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg
R05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogIHZlcnNpb24gMiBvZiB0aGUg
TGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAg
VGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1
c2VmdWwsCisgKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt
cGxpZWQgd2FycmFudHkgb2YKKyAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogIExlc3NlciBHZW5lcmFsIFB1Ymxp
YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogIFlvdSBzaG91bGQgaGF2ZSByZWNl
aXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNl
IGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3
YXJlCisgKiAgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9v
ciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCisgKi8KKworIiIiCisKKyMjIyMjIyMjIyMj
IyMjIworIyBHZW5lcmF0aW9uIG9mIGNwcCBmaWxlIGluY2x1ZGluZyBhbGwgSlMgYnVpbHRpbiBn
ZW5lcmF0ZWQgY3BwIGZpbGVzIHdpdGggb3B0aW9uYWwgI2ZkZWYgZGlyZWN0aXZlcyBhcyBkZWZp
bmVkIGJ5IEBlbmFibGUgaW4gSlMgZmlsZXMuCisjIyMjIyMjIyMjIyMjIyMKK2J1aWx0aW5zSW1w
bGVtZW50YXRpb24gPSBvcGVuKG91dHB1dF9iYXNlICsgIi5jcHAudG1wIiwgInciKQorYnVpbHRp
bnNJbXBsZW1lbnRhdGlvbi53cml0ZShwcmVhbWJsZSkKK2J1aWx0aW5zSW1wbGVtZW50YXRpb24u
d3JpdGUoIiNpbmNsdWRlIFwiY29uZmlnLmhcIlxuXG4iKQorCisjIEluY2x1ZGluZyBjcHAgZmls
ZXMKK2ZvciBpbnB1dF9maWxlIGluIGZpbGVzOgorICAgIHdyaXRlQ29uZGl0aW9uYWwoYnVpbHRp
bnNJbXBsZW1lbnRhdGlvbiwgaW5wdXRfZmlsZSwgIiNpbmNsdWRlIFwiIiArIGlucHV0X2ZpbGUu
ZmlsZW5hbWUgKyAiQnVpbHRpbnMuY3BwXCJcbiIpOworCitidWlsdGluc0ltcGxlbWVudGF0aW9u
LmZsdXNoKCkKK2J1aWx0aW5zSW1wbGVtZW50YXRpb24uY2xvc2UoKQorY29weXRlbXBmaWxlKG91
dHB1dF9iYXNlICsgIi5jcHAiKQorCisjIyMjIyMjIyMjIyMjIyMKKyMgR2VuZXJhdGlvbiBvZiB3
cmFwcGVyIGhlYWRlciBmaWxlIGRlZmluaW5nIGFjY2VzcyB0byBhbGwgYnVpbHRpbiBmdW5jdGlv
bnMuCisjIyMjIyMjIyMjIyMjIyMKK2J1aWx0aW5zSGVhZGVyID0gb3BlbihvdXRwdXRfYmFzZSAr
ICIuaC50bXAiLCAidyIpCitidWlsdGluc0hlYWRlci53cml0ZShwcmVhbWJsZSkKK2J1aWx0aW5z
SGVhZGVyLndyaXRlKCIjaWZuZGVmICIgKyBiYXNlbmFtZSArICJfaFxuI2RlZmluZSAiICsgYmFz
ZW5hbWUgKyAiX2hcblxuIikKKworZm9yIGlucHV0X2ZpbGUgaW4gZmlsZXM6CisgICAgd3JpdGVD
b25kaXRpb25hbChidWlsdGluc0hlYWRlciwgaW5wdXRfZmlsZSwgIiNpbmNsdWRlIFwiIiArIGlu
cHV0X2ZpbGUuZmlsZW5hbWUgKyAiQnVpbHRpbnNXcmFwcGVyLmhcIlxuIik7CitidWlsdGluc0hl
YWRlci53cml0ZSgiIiIKKworI2luY2x1ZGUgPHJ1bnRpbWUvVk0uaD4KKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitjbGFzcyBKU0J1aWx0aW5GdW5jdGlvbnMgeworcHVibGljOgorIiIiKQorCisj
IENvbnN0cnVjdG9yCitidWlsdGluc0hlYWRlci53cml0ZSgiICAgIGV4cGxpY2l0IEpTQnVpbHRp
bkZ1bmN0aW9ucyhKU0M6OlZNJiB2KVxuICAgICAgICA6IHZtKHYpXG4iKTsKK2ZvciBpbnB1dF9m
aWxlIGluIGZpbGVzOgorICAgIHdyaXRlQ29uZGl0aW9uYWwoYnVpbHRpbnNIZWFkZXIsIGlucHV0
X2ZpbGUsICIgICAgICAgICwgbV8iICsgaW5wdXRfZmlsZS5uYW1lICsgIkJ1aWx0aW5zKCZ2bSlc
biIpOworYnVpbHRpbnNIZWFkZXIud3JpdGUoIiAgICB7XG4iKTsKK2ZvciBpbnB1dF9maWxlIGlu
IGludGVybmFsc19maWxlczoKKyAgICB3cml0ZUNvbmRpdGlvbmFsKGJ1aWx0aW5zSGVhZGVyLCBp
bnB1dF9maWxlLCAiICAgICAgICBtXyIgKyBpbnB1dF9maWxlLm5hbWUgKyAiQnVpbHRpbnMuZXhw
b3J0TmFtZXMoKTtcbiIpOworYnVpbHRpbnNIZWFkZXIud3JpdGUoIiAgICB9XG4iKTsKKworIyBH
ZXR0ZXJzCitmb3IgaW5wdXRfZmlsZSBpbiBmaWxlczoKKyAgICB3cml0ZUNvbmRpdGlvbmFsKGJ1
aWx0aW5zSGVhZGVyLCBpbnB1dF9maWxlLCAiICAgICIgKyBpbnB1dF9maWxlLmZpbGVuYW1lICsg
IkJ1aWx0aW5zV3JhcHBlciYgIiArIGlucHV0X2ZpbGUubmFtZSAgKyAiQnVpbHRpbnMoKSB7IHJl
dHVybiBtXyIgKyBpbnB1dF9maWxlLm5hbWUgICsgIkJ1aWx0aW5zO31cbiIpOworCisjIERlY2xh
cmF0aW9ucworYnVpbHRpbnNIZWFkZXIud3JpdGUoIiIicHJpdmF0ZToKKyAgICBKU0M6OlZNJiB2
bTtcbiIiIik7Citmb3IgaW5wdXRfZmlsZSBpbiBmaWxlczoKKyAgICB3cml0ZUNvbmRpdGlvbmFs
KGJ1aWx0aW5zSGVhZGVyLCBpbnB1dF9maWxlLCAiICAgICIgKyBpbnB1dF9maWxlLmZpbGVuYW1l
ICsgIkJ1aWx0aW5zV3JhcHBlciBtXyIgKyBpbnB1dF9maWxlLm5hbWUgICsgIkJ1aWx0aW5zO1xu
Iik7CisKK2J1aWx0aW5zSGVhZGVyLndyaXRlKCIiIgorfTsKKworfQorCisjZW5kaWYKKyIiIik7
CisKK2J1aWx0aW5zSGVhZGVyLmZsdXNoKCkKK2J1aWx0aW5zSGVhZGVyLmNsb3NlKCkKK2NvcHl0
ZW1wZmlsZShvdXRwdXRfYmFzZSArICIuaCIpCisKKyMjIyMjIyMjIyMjIyMjIworIyBHZW5lcmF0
aW9uIG9mIGNsYXNzIHdyYXBwaW5nIGFsbCBmdW5jdGlvbnMgb2YgSlMgZmlsZXMgbWFya2VkIGFz
IEBpbnRlcm5hbHMuCisjIyMjIyMjIyMjIyMjIyMKK2J1aWx0aW5JbnRlcm5hbHNIZWFkZXIgPSBv
cGVuKGludGVybmFsc19vdXRwdXRfYmFzZSArICIuaC50bXAiLCAidyIpCitidWlsdGluSW50ZXJu
YWxzSGVhZGVyLndyaXRlKHByZWFtYmxlKQorYnVpbHRpbkludGVybmFsc0hlYWRlci53cml0ZSgi
I2lmbmRlZiAiICsgYmFzZW5hbWVfaW50ZXJuYWxzICsgIl9oXG4jZGVmaW5lICIgKyBiYXNlbmFt
ZV9pbnRlcm5hbHMgKyAiX2hcblxuIikKKworIyBJbmNsdWRpbmcgYWxsIG5lY2Vzc3Jhcnkgd3Jh
cHBlciBoZWFkZXJzLgorZm9yIGlucHV0X2ZpbGUgaW4gaW50ZXJuYWxzX2ZpbGVzOgorICAgIHdy
aXRlQ29uZGl0aW9uYWwoYnVpbHRpbkludGVybmFsc0hlYWRlciwgaW5wdXRfZmlsZSwgIiNpbmNs
dWRlIFwiIiArIGlucHV0X2ZpbGUuZmlsZW5hbWUgKyAiQnVpbHRpbnNXcmFwcGVyLmhcIlxuIikK
KworIyBDbGFzcyBkZWZpbml0aW9uCitidWlsdGluSW50ZXJuYWxzSGVhZGVyLndyaXRlKCIiIgor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBKU0J1aWx0aW5JbnRlcm5hbEZ1bmN0aW9ucyB7
CitwdWJsaWM6CisiIiIpCisKKyMgQ29uc3RydWN0b3IKK2J1aWx0aW5JbnRlcm5hbHNIZWFkZXIu
d3JpdGUoIiIiZXhwbGljaXQgSlNCdWlsdGluSW50ZXJuYWxGdW5jdGlvbnMoSlNDOjpWTSYgdilc
biAgICAgICAgOiB2bSh2KVxuIiIiKQorZm9yIGlucHV0X2ZpbGUgaW4gaW50ZXJuYWxzX2ZpbGVz
OgorICAgIHdyaXRlQ29uZGl0aW9uYWwoYnVpbHRpbkludGVybmFsc0hlYWRlciwgaW5wdXRfZmls
ZSwgIiAgICAgICAgLCBtXyIgKyBpbnB1dF9maWxlLm5hbWUgKyAiRnVuY3Rpb25zKHZtKVxuIikK
K2J1aWx0aW5JbnRlcm5hbHNIZWFkZXIud3JpdGUoIiAgICB7IH1cblxuIikKKworIyBHZXR0ZXJz
Citmb3IgaW5wdXRfZmlsZSBpbiBpbnRlcm5hbHNfZmlsZXM6CisgICAgd3JpdGVDb25kaXRpb25h
bChidWlsdGluSW50ZXJuYWxzSGVhZGVyLCBpbnB1dF9maWxlLCAiICAgICIgKyBpbnB1dF9maWxl
LmZpbGVuYW1lICsgIkJ1aWx0aW5GdW5jdGlvbnMgIiArIGlucHV0X2ZpbGUubmFtZSArICIoKSB7
IHJldHVybiBtXyIgKyBpbnB1dF9maWxlLm5hbWUgKyAiRnVuY3Rpb25zOyB9XG4iKQorCisjIFZp
c2l0b3Igd3JhcHBlciByb3V0aW5lCitidWlsdGluSW50ZXJuYWxzSGVhZGVyLndyaXRlKCIgICAg
dm9pZCB2aXNpdChKU0M6OlNsb3RWaXNpdG9yJiB2aXNpdG9yKSB7XG4iKQorZm9yIGlucHV0X2Zp
bGUgaW4gaW50ZXJuYWxzX2ZpbGVzOgorICAgIHdyaXRlQ29uZGl0aW9uYWwoYnVpbHRpbkludGVy
bmFsc0hlYWRlciwgaW5wdXRfZmlsZSwgIiAgICAgICAgbV8iICsgaW5wdXRfZmlsZS5uYW1lICsg
IkZ1bmN0aW9ucy52aXNpdCh2aXNpdG9yKTtcbiIpCitidWlsdGluSW50ZXJuYWxzSGVhZGVyLndy
aXRlKCIgICAgfVxuIikKKworIyBJbml0IHdyYXBwZXIgcm91dGluZQorYnVpbHRpbkludGVybmFs
c0hlYWRlci53cml0ZSgiICAgIHZvaWQgaW5pdChKU0M6OkpTR2xvYmFsT2JqZWN0JiBnbG9iYWxP
YmplY3QpIHtcbiIpCitmb3IgaW5wdXRfZmlsZSBpbiBpbnRlcm5hbHNfZmlsZXM6CisgICAgd3Jp
dGVDb25kaXRpb25hbChidWlsdGluSW50ZXJuYWxzSGVhZGVyLCBpbnB1dF9maWxlLCAiICAgICAg
ICBtXyIgKyBpbnB1dF9maWxlLm5hbWUgKyAiRnVuY3Rpb25zLmluaXQoZ2xvYmFsT2JqZWN0KTtc
biIpCitidWlsdGluSW50ZXJuYWxzSGVhZGVyLndyaXRlKCIgICAgfVxuIikKKworIyBQcml2YXRl
IG1lbWJlciBmaWVsZHMKK2J1aWx0aW5JbnRlcm5hbHNIZWFkZXIud3JpdGUoIiIiCitwcml2YXRl
OgorICAgIEpTQzo6Vk0mIHZtO1xuIiIiKQorZm9yIGlucHV0X2ZpbGUgaW4gaW50ZXJuYWxzX2Zp
bGVzOgorICAgIHdyaXRlQ29uZGl0aW9uYWwoYnVpbHRpbkludGVybmFsc0hlYWRlciwgaW5wdXRf
ZmlsZSwgIiAgICAgIiArIGlucHV0X2ZpbGUuZmlsZW5hbWUgKyAiQnVpbHRpbkZ1bmN0aW9ucyBt
XyIgKyBpbnB1dF9maWxlLm5hbWUgKyAiRnVuY3Rpb25zO1xuIikKKworYnVpbHRpbkludGVybmFs
c0hlYWRlci53cml0ZSgiIiIKK307CisKK30KKyNlbmRpZgorIiIiKQorCitidWlsdGluSW50ZXJu
YWxzSGVhZGVyLmZsdXNoKCkKK2J1aWx0aW5JbnRlcm5hbHNIZWFkZXIuY2xvc2UoKQorY29weXRl
bXBmaWxlKGludGVybmFsc19vdXRwdXRfYmFzZSArICIuaCIpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>262762</attachid>
            <date>2015-10-09 05:09:06 -0700</date>
            <delta_ts>2015-10-09 06:36:41 -0700</delta_ts>
            <desc>Removing automatic generation and adding previously generated files in trunk</desc>
            <filename>bug-149751-20151009090832.patch</filename>
            <type>text/plain</type>
            <size>36223</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkwNzgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
YmNhMTgyNDc1MmNiNjdjMWI4MjZjYTIxZmU3YjZlMmY2NWRkOWM2Li4yNTI5ZWMzYjAwNGVhYjk4
NDE1ZWM0NzkwNDc1NzcyYmRkMTY3ZDg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxNS0xMC0wOSAgWGFiaWVyIFJvZHJpZ3VleiBDYWx2YXIgIDxjYWx2YXJp
c0BpZ2FsaWEuY29tPiBhbmQgWW91ZW5uIEZhYmxldCAgPHlvdWVubi5mYWJsZXRAY3JmLmNhbm9u
LmZyPgorCisgICAgICAgIEF1dG9tYXRlIFdlYkNvcmUgSlMgYnVpbHRpbnMgZ2VuZXJhdGlvbiBh
bmQgYnVpbGQgc3lzdGVtCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNDk3NTEKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAg
ICAgICAqIGdlbmVyYXRlLWpzLWJ1aWx0aW5zOiB1cGRhdGluZyB0aGUgcGFydCByZWxhdGVkIHRv
IFdlYkNvcmUgSlMgYmluZGluZy4KKwogMjAxNS0xMC0wOCAgRmlsaXAgUGl6bG8gIDxmcGl6bG9A
YXBwbGUuY29tPgogCiAgICAgICAgIERGRyBTU0Egc2hvdWxkIHJlbW92ZSB1bnJlYWNoYWJsZSBj
b2RlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKaW5kZXggMjk2NGZmNGE3OWFmYTc5MWU3NmMzMGY0YTU0YWI1MzViN2RhYWFj
Ny4uZDBkYjhhODQzZWYyZTRiOWQ4Yjg3ZDQwMzQ1ODEyOTY1MTU4OTM4OCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDY1IEBACisyMDE1LTEwLTA5ICBYYWJpZXIgUm9kcmlndWV6IENhbHZhciAgPGNh
bHZhcmlzQGlnYWxpYS5jb20+IGFuZCBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uLmZhYmxldEBjcmYu
Y2Fub24uZnI+CisKKyAgICAgICAgUmVmYWN0b3IgV2ViQ29yZSBKUyBidWlsdGlucyB0byBwcmVw
YXJlIGZvciBhdXRvbWF0aWMgZ2VuZXJhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ5NzUxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4g
QWRsZXIuCisKKyAgICAgICAgQWRkaW5nIGFubm90YXRpb25zIHRvIEpTIGZpbGVzIHRvIGtub3cg
d2hldGhlciB0aGV5IHNob3VsZCBiZSB1bmRlciBhIGNvbXBpbGF0aW9uIGZsYWcgYW5kCisgICAg
ICAgIHdoZXRoZXIgdGhleSBhcmUgSlMgaW50ZXJuYWxzIG9yIEpTIHRpZWQgdG8gV2ViSURMLgor
ICAgICAgICBJZiBhIGZpbGUgaXMgc2FpZCBhcyBKUyBpbnRlcm5hbHMsIGFsbCBmdW5jdGlvbiBu
YW1lcyBzaG91bGQgYmUgZXhwb3J0ZWQgYXV0b21hdGljYWxseS4KKyAgICAgICAgQWRkZWQgV2Vi
Q29yZUpTQnVpbHRpbnMuaCB0byBzaW1wbGlmeSBoYW5kbGluZyBvZiBidWlsdGlucyBpbiBKU1ZN
Q2xpZW50RGF0YS4KKyAgICAgICAgQWRkZWQgV2ViQ29yZUpTSW50ZXJuYWxzLmggdG8gc2ltcGxp
ZnkgaGFuZGxpbmcgb2YgYnVpbHRpbiBwcml2YXRlIGZ1bmN0aW9uIGluIEpTRE9NV2luZG93QmFz
ZS4KKyAgICAgICAgUmVuYW1lZCBXZWJDb3JlSlNDbGllbnREYXRhIHRvIEpTVk1DbGllbnREYXRh
LgorCisgICAgICAgIENvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAgKiBDTWFr
ZUxpc3RzLnR4dDoKKyAgICAgICAgKiBNb2R1bGVzL3N0cmVhbXMvQnl0ZUxlbmd0aFF1ZXVpbmdT
dHJhdGVneS5qczoKKyAgICAgICAgKiBNb2R1bGVzL3N0cmVhbXMvQ291bnRRdWV1aW5nU3RyYXRl
Z3kuanM6CisgICAgICAgICogTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtLmpzOgorICAg
ICAgICAqIE1vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXIuanM6CisgICAg
ICAgICogTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtSW50ZXJuYWxzLmpzOgorICAgICAg
ICAqIE1vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbVJlYWRlci5qczoKKyAgICAgICAgKiBX
ZWJDb3JlLm9yZGVyOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9ET01XcmFwcGVyV29ybGQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RE9NV3JhcHBlcldvcmxkOjpET01XcmFwcGVyV29ybGQpOgorICAgICAgICAoV2Vi
Q29yZTo6RE9NV3JhcHBlcldvcmxkOjp+RE9NV3JhcHBlcldvcmxkKToKKyAgICAgICAgKFdlYkNv
cmU6Om5vcm1hbFdvcmxkKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2Uu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3dCYXNlOjpKU0RPTVdpbmRvd0Jhc2Up
OgorICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3dCYXNlOjpmaW5pc2hDcmVhdGlvbik6Cisg
ICAgICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvd0Jhc2U6OnZpc2l0Q2hpbGRyZW4pOgorICAgICAg
ICAoV2ViQ29yZTo6SlNET01XaW5kb3dCYXNlOjpmaXJlRnJhbWVDbGVhcmVkV2F0Y2hwb2ludHNG
b3JXaW5kb3cpOgorICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3dCYXNlOjpkZXN0cm95KTog
RGVsZXRlZC4KKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaDoKKyAgICAg
ICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNjcmlwdENvbnRyb2xsZXI6OmdldEFsbFdvcmxkcyk6CisgICAgICAgICogYmluZGluZ3MvanMv
U2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZTo6dHJhbnNmZXJBcnJheUJ1ZmZlcnMpOgorICAgICAgICAqIGJpbmRpbmdzL2pz
L1dlYkNvcmVKU0J1aWx0aW5JbnRlcm5hbHMuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpK
U0J1aWx0aW5JbnRlcm5hbEZ1bmN0aW9uczo6SlNCdWlsdGluSW50ZXJuYWxGdW5jdGlvbnMpOgor
ICAgICAgICAoV2ViQ29yZTo6SlNCdWlsdGluSW50ZXJuYWxGdW5jdGlvbnM6OnJlYWRhYmxlU3Ry
ZWFtSW50ZXJuYWxzKToKKyAgICAgICAgKFdlYkNvcmU6OkpTQnVpbHRpbkludGVybmFsRnVuY3Rp
b25zOjp2aXNpdCk6CisgICAgICAgIChXZWJDb3JlOjpKU0J1aWx0aW5JbnRlcm5hbEZ1bmN0aW9u
czo6aW5pdCk6CisgICAgICAgICogYmluZGluZ3MvanMvV2ViQ29yZUpTQnVpbHRpbnMuY3BwOgor
ICAgICAgICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVKU0J1aWx0aW5zLmg6IEFkZGVkLgorICAgICAg
ICAoV2ViQ29yZTo6SlNCdWlsdGluRnVuY3Rpb25zOjpKU0J1aWx0aW5GdW5jdGlvbnMpOgorICAg
ICAgICAoV2ViQ29yZTo6SlNCdWlsdGluRnVuY3Rpb25zOjpieXRlTGVuZ3RoUXVldWluZ1N0cmF0
ZWd5QnVpbHRpbnMpOgorICAgICAgICAoV2ViQ29yZTo6SlNCdWlsdGluRnVuY3Rpb25zOjpjb3Vu
dFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zKToKKyAgICAgICAgKFdlYkNvcmU6OkpTQnVpbHRpbkZ1
bmN0aW9uczo6cmVhZGFibGVTdHJlYW1CdWlsdGlucyk6CisgICAgICAgIChXZWJDb3JlOjpKU0J1
aWx0aW5GdW5jdGlvbnM6OnJlYWRhYmxlU3RyZWFtQ29udHJvbGxlckJ1aWx0aW5zKToKKyAgICAg
ICAgKFdlYkNvcmU6OkpTQnVpbHRpbkZ1bmN0aW9uczo6cmVhZGFibGVTdHJlYW1JbnRlcm5hbHNC
dWlsdGlucyk6CisgICAgICAgIChXZWJDb3JlOjpKU0J1aWx0aW5GdW5jdGlvbnM6OnJlYWRhYmxl
U3RyZWFtUmVhZGVyQnVpbHRpbnMpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVKU0Ns
aWVudERhdGEuaDoKKyAgICAgICAgKFdlYkNvcmU6OkpTVk1DbGllbnREYXRhOjpKU1ZNQ2xpZW50
RGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpKU1ZNQ2xpZW50RGF0YTo6fkpTVk1DbGllbnREYXRh
KToKKyAgICAgICAgKFdlYkNvcmU6OkpTVk1DbGllbnREYXRhOjpidWlsdGluRnVuY3Rpb25zKToK
KyAgICAgICAgKFdlYkNvcmU6OmluaXROb3JtYWxXb3JsZENsaWVudERhdGEpOgorICAgICAgICAo
V2ViQ29yZTo6SlNWTUNsaWVudERhdGE6Om5vcm1hbFdvcmxkKTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OkpTVk1DbGllbnREYXRhOjpnZXRBbGxXb3JsZHMpOiBEZWxldGVkLgorCiAyMDE1
LTEwLTA4ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZp
ZXdlZCwgYnVpbGQgZml4IGZvciBFTkFCTEUoTUVESUFfU0VTU0lPTikgYWZ0ZXIgcjE5MDAzMC4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9nZW5lcmF0ZS1qcy1idWlsdGlucyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9nZW5lcmF0ZS1qcy1idWlsdGlucwppbmRleCBiMjg0MWY0
ZDJhM2ZiZjBiY2FiZGVmZTZjYTAzYWFhNGQ3OWEyNjNmLi5kZmY0MTg3M2RhMmI2NWE3NzExNGNm
NWQ0MWU4N2E0YzBkMzA2MzdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZ2Vu
ZXJhdGUtanMtYnVpbHRpbnMKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2dlbmVyYXRlLWpz
LWJ1aWx0aW5zCkBAIC0zMTQsOCArMzE0LDggQEAgaWYgKG5hbWVzcGFjZSA9PSAiSlNDIik6CiBl
bHNlOgogICAgIGJ1aWx0aW5OYW1lID0gc2NvcGVOYW1lWzBdLmxvd2VyKCkgKyBzY29wZU5hbWVb
MTpdCiAgICAgYnVpbHRpbnNJbXBsZW1lbnRhdGlvbi53cml0ZSgiIiJ7XFwKLSAgICBXZWJDb3Jl
SlNDbGllbnREYXRhKiBjbGllbnREYXRhID0gc3RhdGljX2Nhc3Q8V2ViQ29yZUpTQ2xpZW50RGF0
YSo+KHZtLmNsaWVudERhdGEpOyBcXAotICAgIHJldHVybiBjbGllbnREYXRhLT4lcygpLmNvZGVO
YW1lIyNFeGVjdXRhYmxlKCktPmxpbmsodm0sIGNsaWVudERhdGEtPiVzKCkuY29kZU5hbWUjI1Nv
dXJjZSgpKTsgXFwKKyAgICBKU1ZNQ2xpZW50RGF0YSogY2xpZW50RGF0YSA9IHN0YXRpY19jYXN0
PEpTVk1DbGllbnREYXRhKj4odm0uY2xpZW50RGF0YSk7IFxcCisgICAgcmV0dXJuIGNsaWVudERh
dGEtPmJ1aWx0aW5GdW5jdGlvbnMoKS4lcygpLmNvZGVOYW1lIyNFeGVjdXRhYmxlKCktPmxpbmso
dm0sIGNsaWVudERhdGEtPmJ1aWx0aW5GdW5jdGlvbnMoKS4lcygpLmNvZGVOYW1lIyNTb3VyY2Uo
KSk7IFxcCiAiIiIlIChidWlsdGluTmFtZSwgYnVpbHRpbk5hbWUpKQogCiBidWlsdGluc0ltcGxl
bWVudGF0aW9uLndyaXRlKCIiIn0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlz
dHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggYjQ1NWJjODI4Mzgw
MGRkNDRkYTczNWQyMGEyNjYzMzk3YTM1MDgzYi4uMzZmZDY0ZTE3MGJkN2FlYjI2MjZjMmQ4N2Iz
Mzg2MTI3NjlmNGM4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
KysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTM1ODIsNyArMzU4Miw3IEBA
IGZvcmVhY2ggKF9idWlsdGluanMgJHtXRUJDT1JFX0pTX0JVSUxUSU5TfSkKICAgICBnZXRfZmls
ZW5hbWVfY29tcG9uZW50KF9uYW1lICR7X2J1aWx0aW5qc30gTkFNRV9XRSkKICAgICBhZGRfY3Vz
dG9tX2NvbW1hbmQoCiAgICAgICAgIE9VVFBVVCAke0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJ
Un0vJHtfbmFtZX1CdWlsdGluc1dyYXBwZXIuaCAke0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJ
Un0vJHtfbmFtZX1CdWlsdGlucy5oICR7REVSSVZFRF9TT1VSQ0VTX1dFQkNPUkVfRElSfS8ke19u
YW1lfUJ1aWx0aW5zLmNwcAotICAgICAgICBNQUlOX0RFUEVOREVOQ1kgJHtDTUFLRV9DVVJSRU5U
X1NPVVJDRV9ESVJ9L2dlbmVyYXRlLWpzLWJ1aWx0aW5zCisgICAgICAgIE1BSU5fREVQRU5ERU5D
WSAke1dFQkNPUkVfRElSfS9nZW5lcmF0ZS1qcy1idWlsdGlucwogICAgICAgICBERVBFTkRTICR7
V2ViQ29yZV9HRU5FUkFURV9KU19CVUlMVElOU19TQ1JJUFRTX0RJUn0vZ2VuZXJhdGUtanMtYnVp
bHRpbnMKICAgICAgICAgREVQRU5EUyAke19idWlsdGluanN9CiAgICAgICAgIENPTU1BTkQgJHtQ
WVRIT05fRVhFQ1VUQUJMRX0gJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L2dlbmVyYXRlLWpz
LWJ1aWx0aW5zIC0taW5wdXQgJHtfYnVpbHRpbmpzfSAtLW91dHB1dF9kaXIgJHtERVJJVkVEX1NP
VVJDRVNfV0VCQ09SRV9ESVJ9IC0tZ2VuZXJhdGVfanNfYnVpbHRpbnNfcGF0aCAke1dlYkNvcmVf
R0VORVJBVEVfSlNfQlVJTFRJTlNfU0NSSVBUU19ESVJ9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3N0cmVhbXMvQnl0ZUxlbmd0aFF1ZXVpbmdTdHJhdGVneS5qcyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9CeXRlTGVuZ3RoUXVldWluZ1N0cmF0ZWd5LmpzCmlu
ZGV4IGE4MjY3MzY3YzQ5ZDAxYTUyZWIxOWU3YTZhNmFlZWNlOTMzZmMwNjUuLmY5NDgxMjU4YTA1
MTEyMDEyZWYwZDQxNmU5Y2M0NmIwOTQxMWY1ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvc3RyZWFtcy9CeXRlTGVuZ3RoUXVldWluZ1N0cmF0ZWd5LmpzCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9CeXRlTGVuZ3RoUXVldWluZ1N0cmF0ZWd5LmpzCkBA
IC0yNCw2ICsyNCw4IEBACiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKKy8vIEBvcHRpb25hbD1TVFJF
QU1TX0FQSQorCiBmdW5jdGlvbiBzaXplKGNodW5rKQogewogICAgICJ1c2Ugc3RyaWN0IjsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9Db3VudFF1ZXVpbmdTdHJh
dGVneS5qcyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9Db3VudFF1ZXVpbmdTdHJh
dGVneS5qcwppbmRleCA5MTE3MzdkMGNlNWVkYTExZjE2ZTc3OGRhMWEzZGYxY2ZjODliMDBlLi40
NGQ2MzBiOGI4ZGMzZjIyNDY2MGU5ODEyZDNmMTNmNjFjNjgyYWYzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvQ291bnRRdWV1aW5nU3RyYXRlZ3kuanMKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL0NvdW50UXVldWluZ1N0cmF0ZWd5LmpzCkBA
IC0yMyw2ICsyMyw4IEBACiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKKy8vIEBvcHRpb25hbD1TVFJF
QU1TX0FQSQorCiBmdW5jdGlvbiBzaXplKCkKIHsKICAgICAidXNlIHN0cmljdCI7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW0uanMgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW0uanMKaW5kZXggZDM2
NjkzYTQ1MTM2MmVmZGM4YWY5NzE0YThlNjM5MDk1MzVlYTViYy4uNDQ4YzJhZDNhOTI3ODY3Nzc1
NDFiOTQ1ZTFjMWQ0MjIxYjQ5YWUyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
c3RyZWFtcy9SZWFkYWJsZVN0cmVhbS5qcwpAQCAtMjMsNiArMjMsOCBAQAogICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KICAqLwogCisvLyBAb3B0aW9uYWw9U1RSRUFNU19BUEkKKwogZnVuY3Rpb24gaW5pdGlhbGl6
ZVJlYWRhYmxlU3RyZWFtKHVuZGVybHlpbmdTb3VyY2UsIHN0cmF0ZWd5KQogewogICAgICJ1c2Ug
c3RyaWN0IjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFk
YWJsZVN0cmVhbUNvbnRyb2xsZXIuanMgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMv
UmVhZGFibGVTdHJlYW1Db250cm9sbGVyLmpzCmluZGV4IDMwYzAzZDFkYzNjNDdlOTI0NjJlMzUx
NDljMDhjMmM4NDU1NTJmOTguLjk5ZjM3YzllMjJmMTA0ODU2MmY5NDQ4NTNjNmFhZWVkZGE3ZDgx
NTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0
cmVhbUNvbnRyb2xsZXIuanMKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1Jl
YWRhYmxlU3RyZWFtQ29udHJvbGxlci5qcwpAQCAtMjMsNiArMjMsOCBAQAogICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KICAqLwogCisvLyBAb3B0aW9uYWw9U1RSRUFNU19BUEkKKwogZnVuY3Rpb24gZW5xdWV1ZShj
aHVuaykKIHsKICAgICAidXNlIHN0cmljdCI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1JbnRlcm5hbHMuanMgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1JbnRlcm5hbHMuanMKaW5kZXggZWJkN2Y5
OTUwN2M4NDIwNTNlODQ1YWU2MjViNzNmZWZmYWM2YzdmYy4uMzM5OTE4Yzc0YTA4MWYzY2Q1NDFl
MzhjY2ZiMWZmMzE1OGJlYjA4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9z
dHJlYW1zL1JlYWRhYmxlU3RyZWFtSW50ZXJuYWxzLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbUludGVybmFscy5qcwpAQCAtMjMsNiArMjMsOSBA
QAogICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KICAqLwogCisvLyBAb3B0aW9uYWw9U1RSRUFNU19BUEkKKy8vIEBp
bnRlcm5hbHMKKwogZnVuY3Rpb24gcHJpdmF0ZUluaXRpYWxpemVSZWFkYWJsZVN0cmVhbVJlYWRl
cihzdHJlYW0pCiB7CiAgICAgInVzZSBzdHJpY3QiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtUmVhZGVyLmpzIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtUmVhZGVyLmpzCmluZGV4IDI2OTQwYzMx
NjMwYTFiYjMyNjc0MWNhMjVhYmFiOWFmYzAwYmEyZDQuLmNlMjczYThkOWJlM2ZmNTQzNDU5MDM1
ZjY2NTVmYzExNmQxNWMwY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3Ry
ZWFtcy9SZWFkYWJsZVN0cmVhbVJlYWRlci5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3N0cmVhbXMvUmVhZGFibGVTdHJlYW1SZWFkZXIuanMKQEAgLTIzLDYgKzIzLDggQEAKICAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCiAgKi8KIAorLy8gQG9wdGlvbmFsPVNUUkVBTVNfQVBJCisKIGZ1bmN0aW9uIGNh
bmNlbChyZWFzb24pCiB7CiAgICAgInVzZSBzdHJpY3QiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5vcmRlciBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUub3JkZXIKaW5kZXgg
MTlhMTgwZDU0YjIzMTQwYWI1N2E5MzQwM2M3ZWFmMWQzYjc0ODNjMy4uMmRiYzFhMDdhZmM0YzFl
NWFiNGNhNTJjODhlOGZkZTg5MDI3NzVmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5vcmRlcgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLm9yZGVyCkBAIC0yNDcyMyw3
ICsyNDcyMyw3IEBAIF9fWk43V2ViQ29yZUwyNEpTRE9NVVJMQ29uc3RydWN0b3JUYWJsZUUKIF9f
WlpON1dlYkNvcmUxMndyYXBwZXJPd25lckVQTlNfMTVET01XcmFwcGVyV29ybGRFUE5TXzZET01V
UkxFRTEzanNET01VUkxPd25lcgogX19aR1ZaTjdXZWJDb3JlMTJ3cmFwcGVyT3duZXJFUE5TXzE1
RE9NV3JhcHBlcldvcmxkRVBOU182RE9NVVJMRUUxM2pzRE9NVVJMT3duZXIKIF9fWk43V2ViQ29y
ZUwyN0pTRE9NV2luZG93Q29uc3RydWN0b3JUYWJsZUUKLV9fWlRWTjdXZWJDb3JlMTlXZWJDb3Jl
SlNDbGllbnREYXRhRQorX19aVFZON1dlYkNvcmUxOUpTVk1DbGllbnREYXRhRQogX19aTjdXZWJD
b3JlTDQwSlNEeW5hbWljc0NvbXByZXNzb3JOb2RlQ29uc3RydWN0b3JUYWJsZUUKIF9fWk43V2Vi
Q29yZUwzOEpTRHluYW1pY3NDb21wcmVzc29yTm9kZVByb3RvdHlwZVRhYmxlRQogX19aTjdXZWJD
b3JlTDI5SlNEeW5hbWljc0NvbXByZXNzb3JOb2RlVGFibGVFCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZTJlYmU5NTI5NGI5YzMx
ZDQwMWUzY2VkNjkyNWU5MmIxYTc0MjY1Ni4uNjZkNWE4MDQwZDg1OTVjMmUzMjI0ODI3YmFhYTZi
YTFkNjYxYjJkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagpAQCAtMTUwOCw3ICsxNTA4LDggQEAKIAkJNDE2RTI5QTYxMDJGQTk2MjAw
N0ZDMTRFIC8qIFdvcmtlclJlcG9ydGluZ1Byb3h5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTZFMjlBNTEwMkZBOTYyMDA3RkMxNEUgLyogV29ya2Vy
UmVwb3J0aW5nUHJveHkuaCAqLzsgfTsKIAkJNDE2RTZGRTgxQkJEMTJERjAwMEE2MDQzIC8qIFJl
YWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDlCMDNEODA2MUJCMzExMEQwMEI3NjREOSAvKiBSZWFkYWJs
ZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDE2RTZGRTkxQkJEMTJFNTAwMEE2MDQzIC8qIFJlYWRhYmxl
U3RyZWFtQnVpbHRpbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDlCMDNEODA2MUJCMzExMEQwMEI3NjREOCAvKiBSZWFkYWJsZVN0cmVhbUJ1aWx0aW5z
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJNDE2
RTZGRUExQkJEMTY4NDAwMEE2MDQzIC8qIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnNX
cmFwcGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5
QjAzRDgwNzFCQjMxMTBEMDBCNzY0RDkgLyogUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlu
c1dyYXBwZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OworCQk0MTZFNkZFQTFCQkQxNjg0MDAwQTYwNDQgLyogUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNC
dWlsdGluc1dyYXBwZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDlCMDNEODA3MUJCMzExMEQwMEI3NjREQSAvKiBSZWFkYWJsZVN0cmVhbUludGVybmFs
c0J1aWx0aW5zV3JhcHBlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CisJCTQxNkU2RkVBMUJCRDE2ODQwMDBBNjA0MyAvKiBXZWJDb3JlSlNCdWlsdGlu
SW50ZXJuYWxzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA5QjAzRDgwNzFCQjMxMTBEMDBCNzY0RDkgLyogV2ViQ29yZUpTQnVpbHRpbkludGVybmFscy5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxNzI1
M0FBMTM1NEJCQkMwMDM2MEYyQSAvKiBNZWRpYUNvbnRyb2xFbGVtZW50cy5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTcyNTNBODEzNTRCQkJDMDAz
NjBGMkEgLyogTWVkaWFDb250cm9sRWxlbWVudHMuY3BwICovOyB9OwogCQk0MTcyNTNBQjEzNTRC
QkJDMDAzNjBGMkEgLyogTWVkaWFDb250cm9sRWxlbWVudHMuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxNzI1M0E5MTM1NEJCQkMwMDM2MEYyQSAvKiBN
ZWRpYUNvbnRyb2xFbGVtZW50cy5oICovOyB9OwogCQk0MTdEQTZEOTEzNzM0RTZFMDA3QzU3RkIg
LyogSW50ZXJuYWxzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQxN0RBNENGMTM3MzQzMjYwMDdDNTdGQiAvKiBJbnRlcm5hbHMuY3BwICovOyB9OwpA
QCAtMTEzMjEsNyArMTEzMjIsOCBAQAogCQk5QjAzRDgwNjFCQjMxMTBEMDBCNzY0RDggLyogUmVh
ZGFibGVTdHJlYW1CdWlsdGlucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBS
ZWFkYWJsZVN0cmVhbUJ1aWx0aW5zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTlC
MDNEODA2MUJCMzExMEQwMEI3NjREOSAvKiBSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5z
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlYWRhYmxlU3RyZWFtSW50ZXJu
YWxzQnVpbHRpbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOUIwM0Q4MDcxQkIz
MTEwRDAwQjc2NEQ4IC8qIFJlYWRhYmxlU3RyZWFtQnVpbHRpbnNXcmFwcGVyLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlYWRhYmxlU3RyZWFtQnVpbHRpbnNXcmFwcGVyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTlCMDNEODA3MUJCMzExMEQwMEI3NjREOSAv
KiBSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zV3JhcHBlci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zV3JhcHBl
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5QjAzRDgwNzFCQjMxMTBEMDBCNzY0
REEgLyogUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGluc1dyYXBwZXIuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGluc1dy
YXBwZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOUIwM0Q4MDcxQkIzMTEwRDAw
Qjc2NEQ5IC8qIFdlYkNvcmVKU0J1aWx0aW5JbnRlcm5hbHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gV2ViQ29yZUpTQnVpbHRpbkludGVybmFscy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk5QjE5QjY3RTFCOTY0RTUyMDAzNDg3NDUgLyogU2hhZG93Um9vdC5p
ZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gU2hhZG93Um9vdC5pZGw7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTlCMUFCMDc5MTY0OEM2OUQwMDUxRjNGMiAvKiBIVE1MRm9ybUNvbnRy
b2xzQ29sbGVjdGlvbi5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gSFRNTEZvcm1Db250cm9sc0NvbGxlY3Rpb24uaWRsOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5QjFBQjA3QjE2NDhDN0M0MDA1MUYzRjIgLyog
SlNIVE1MRm9ybUNvbnRyb2xzQ29sbGVjdGlvbkN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU0hUTUxGb3JtQ29udHJvbHNDb2xsZWN0aW9uQ3VzdG9tLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE3MDcwLDcgKzE3MDcyLDggQEAKIAkJ
CQk5QjAzRDgwNjFCQjMxMTBEMDBCNzY0RDggLyogUmVhZGFibGVTdHJlYW1CdWlsdGlucy5oICov
LAogCQkJCTlCMDNEODA2MUJCMzExMEQwMEI3NjREOSAvKiBSZWFkYWJsZVN0cmVhbUludGVybmFs
c0J1aWx0aW5zLmggKi8sCiAJCQkJOUIwM0Q4MDcxQkIzMTEwRDAwQjc2NEQ4IC8qIFJlYWRhYmxl
U3RyZWFtQnVpbHRpbnNXcmFwcGVyLmggKi8sCi0JCQkJOUIwM0Q4MDcxQkIzMTEwRDAwQjc2NEQ5
IC8qIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnNXcmFwcGVyLmggKi8sCisJCQkJOUIw
M0Q4MDcxQkIzMTEwRDAwQjc2NERBIC8qIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnNX
cmFwcGVyLmggKi8sCisJCQkJOUIwM0Q4MDcxQkIzMTEwRDAwQjc2NEQ5IC8qIFdlYkNvcmVKU0J1
aWx0aW5JbnRlcm5hbHMuaCAqLywKIAkJCQk0M0I4NUVEMjE4Q0JFQzUyMDBFMzFBRjQgLyogU2Vs
ZWN0b3JQc2V1ZG9DbGFzc0FuZENvbXBhdGliaWxpdHlFbGVtZW50TWFwLmNwcCAqLywKIAkJCQk0
M0I4NUVEMzE4Q0JFQzUyMDBFMzFBRjQgLyogU2VsZWN0b3JQc2V1ZG9DbGFzc0FuZENvbXBhdGli
aWxpdHlFbGVtZW50TWFwLmdwZXJmICovLAogCQkJCTI2QUEwRjlEMThEMkExOEIwMDQxOTM4MSAv
KiBTZWxlY3RvclBzZXVkb0VsZW1lbnRUeXBlTWFwLmNwcCAqLywKQEAgLTI1NzIxLDcgKzI1NzI0
LDggQEAKIAkJCQlGQzlFMEU0RDE2NDE5QzFFMDAzOTJCRTMgLyogSlNET01XaW5kb3dDU1MuaCBp
biBIZWFkZXJzICovLAogCQkJCTY1MkZCQkJDMERFMjdDQjYwMDAxRDM4NiAvKiBKU0RPTVdpbmRv
d0N1c3RvbS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNCRkI1M0QwRENEMjlDRjAwMTlCM0U1IC8q
IEpTRE9NV2luZG93U2hlbGwuaCBpbiBIZWFkZXJzICovLAotCQkJCTQxNkU2RkVBMUJCRDE2ODQw
MDBBNjA0MyAvKiBSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zV3JhcHBlci5oIGluIEhl
YWRlcnMgKi8sCisJCQkJNDE2RTZGRUExQkJEMTY4NDAwMEE2MDQ0IC8qIFJlYWRhYmxlU3RyZWFt
SW50ZXJuYWxzQnVpbHRpbnNXcmFwcGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MTZFNkZFQTFC
QkQxNjg0MDAwQTYwNDMgLyogV2ViQ29yZUpTQnVpbHRpbkludGVybmFscy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNjVFMEU5NDQxMTMzQzg5RjAwQjRDQjEwIC8qIEpTRE9NV3JhcHBlci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJRkQ3ODY4QkExMzZCOTk5MjAwRDQwM0RGIC8qIEpTRHluYW1pY3NDb21w
cmVzc29yTm9kZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNjVERjMxRkEwOUQxQ0M2MDAwMEJFMzI1
IC8qIEpTRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9ET01XcmFwcGVyV29ybGQuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvRE9NV3JhcHBlcldvcmxkLmNwcAppbmRleCAzZGQyNWUxOGMxNGY2MTRhNDgzODEyNzJi
YTUyOWE5MmRkYjBhMWU2Li42NjU3ZDJmOWU2N2NmOTY1MzNjZGJhMGVlODljMjI1ODYxZThmODlh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9ET01XcmFwcGVyV29ybGQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0RPTVdyYXBwZXJXb3JsZC5jcHAK
QEAgLTM2LDE0ICszNiwxNCBAQCBET01XcmFwcGVyV29ybGQ6OkRPTVdyYXBwZXJXb3JsZChKU0M6
OlZNJiB2bSwgYm9vbCBpc05vcm1hbCkKIHsKICAgICBWTTo6Q2xpZW50RGF0YSogY2xpZW50RGF0
YSA9IG1fdm0uY2xpZW50RGF0YTsKICAgICBBU1NFUlQoY2xpZW50RGF0YSk7Ci0gICAgc3RhdGlj
X2Nhc3Q8V2ViQ29yZUpTQ2xpZW50RGF0YSo+KGNsaWVudERhdGEpLT5yZW1lbWJlcldvcmxkKCp0
aGlzKTsKKyAgICBzdGF0aWNfY2FzdDxKU1ZNQ2xpZW50RGF0YSo+KGNsaWVudERhdGEpLT5yZW1l
bWJlcldvcmxkKCp0aGlzKTsKIH0KIAogRE9NV3JhcHBlcldvcmxkOjp+RE9NV3JhcHBlcldvcmxk
KCkKIHsKICAgICBWTTo6Q2xpZW50RGF0YSogY2xpZW50RGF0YSA9IG1fdm0uY2xpZW50RGF0YTsK
ICAgICBBU1NFUlQoY2xpZW50RGF0YSk7Ci0gICAgc3RhdGljX2Nhc3Q8V2ViQ29yZUpTQ2xpZW50
RGF0YSo+KGNsaWVudERhdGEpLT5mb3JnZXRXb3JsZCgqdGhpcyk7CisgICAgc3RhdGljX2Nhc3Q8
SlNWTUNsaWVudERhdGEqPihjbGllbnREYXRhKS0+Zm9yZ2V0V29ybGQoKnRoaXMpOwogCiAgICAg
Ly8gVGhlc2UgaXRlbXMgYXJlIGNyZWF0ZWQgbGF6aWx5LgogICAgIHdoaWxlICghbV9zY3JpcHRD
b250cm9sbGVyc1dpdGhXaW5kb3dTaGVsbHMuaXNFbXB0eSgpKQpAQCAtNjMsNyArNjMsNyBAQCBE
T01XcmFwcGVyV29ybGQmIG5vcm1hbFdvcmxkKEpTQzo6Vk0mIHZtKQogewogICAgIFZNOjpDbGll
bnREYXRhKiBjbGllbnREYXRhID0gdm0uY2xpZW50RGF0YTsKICAgICBBU1NFUlQoY2xpZW50RGF0
YSk7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PFdlYkNvcmVKU0NsaWVudERhdGEqPihjbGllbnRE
YXRhKS0+bm9ybWFsV29ybGQoKTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8SlNWTUNsaWVudERh
dGEqPihjbGllbnREYXRhKS0+bm9ybWFsV29ybGQoKTsKIH0KIAogRE9NV3JhcHBlcldvcmxkJiBt
YWluVGhyZWFkTm9ybWFsV29ybGQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNET01XaW5kb3dCYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RE9NV2luZG93QmFzZS5jcHAKaW5kZXggOWUwZmY0ZmM4OWE2ODAwNjNkNWFhNzU2MmZhY2U0YjY5
MWZiZjBmMC4uMmFmOTc5OWVkMWViZWQ0ZmI5Y2I4ZDk0ZjY3NjhhYzk1NjJjZmMwMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwCkBAIC03MCw5
ICs3MCw3IEBAIEpTRE9NV2luZG93QmFzZTo6SlNET01XaW5kb3dCYXNlKFZNJiB2bSwgU3RydWN0
dXJlKiBzdHJ1Y3R1cmUsIFBhc3NSZWZQdHI8RE9NV2luCiAgICAgLCBtX3dpbmRvd0Nsb3NlV2F0
Y2hwb2ludHMoKHdpbmRvdyAmJiB3aW5kb3ctPmZyYW1lKCkpID8gSXNXYXRjaGVkIDogSXNJbnZh
bGlkYXRlZCkKICAgICAsIG1faW1wbCh3aW5kb3cpCiAgICAgLCBtX3NoZWxsKHNoZWxsKQotI2lm
IEVOQUJMRShTVFJFQU1TX0FQSSkKLSAgICAsIG1fcmVhZGFibGVTdHJlYW1GdW5jdGlvbnModm0p
Ci0jZW5kaWYKKyAgICAsIG1fcHJpdmF0ZUZ1bmN0aW9ucyh2bSkKIHsKIH0KIApAQCAtODEsMjUg
Kzc5LDIzIEBAIHZvaWQgSlNET01XaW5kb3dCYXNlOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIEpT
RE9NV2luZG93U2hlbGwqIHNoZWxsKQogICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtLCBzaGVs
bCk7CiAgICAgQVNTRVJUKGluaGVyaXRzKGluZm8oKSkpOwogCi0jaWYgRU5BQkxFKFNUUkVBTVNf
QVBJKQotICAgIG1fcmVhZGFibGVTdHJlYW1GdW5jdGlvbnMuaW5pdCgqdGhpcyk7Ci0jZW5kaWYK
KyAgICBtX3ByaXZhdGVGdW5jdGlvbnMuaW5pdCgqdGhpcyk7CiAKICAgICBHbG9iYWxQcm9wZXJ0
eUluZm8gc3RhdGljR2xvYmFsc1tdID0gewogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0u
cHJvcGVydHlOYW1lcy0+ZG9jdW1lbnQsIGpzTnVsbCgpLCBEb250RGVsZXRlIHwgUmVhZE9ubHkp
LAogICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8odm0ucHJvcGVydHlOYW1lcy0+d2luZG93LCBt
X3NoZWxsLCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAogI2lmIEVOQUJMRShTVFJFQU1TX0FQSSkK
LSAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHN0YXRpY19jYXN0PFdlYkNvcmVKU0NsaWVudERh
dGEqPih2bS5jbGllbnREYXRhKS0+YnVpbHRpbk5hbWVzKCkucmVhZGFibGVTdHJlYW1DbG9zZWRQ
cml2YXRlTmFtZSgpLCBqc051bWJlcigxKSwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKLSAgICAg
ICAgR2xvYmFsUHJvcGVydHlJbmZvKHN0YXRpY19jYXN0PFdlYkNvcmVKU0NsaWVudERhdGEqPih2
bS5jbGllbnREYXRhKS0+YnVpbHRpbk5hbWVzKCkucmVhZGFibGVTdHJlYW1FcnJvcmVkUHJpdmF0
ZU5hbWUoKSwganNOdW1iZXIoMiksIERvbnREZWxldGUgfCBSZWFkT25seSksCi0gICAgICAgIEds
b2JhbFByb3BlcnR5SW5mbyhzdGF0aWNfY2FzdDxXZWJDb3JlSlNDbGllbnREYXRhKj4odm0uY2xp
ZW50RGF0YSktPmJ1aWx0aW5OYW1lcygpLnJlYWRhYmxlU3RyZWFtUmVhZGFibGVQcml2YXRlTmFt
ZSgpLCBqc051bWJlcigzKSwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKLSAgICAgICAgR2xvYmFs
UHJvcGVydHlJbmZvKHN0YXRpY19jYXN0PFdlYkNvcmVKU0NsaWVudERhdGEqPih2bS5jbGllbnRE
YXRhKS0+YnVpbHRpbk5hbWVzKCkuUmVhZGFibGVTdHJlYW1Db250cm9sbGVyUHJpdmF0ZU5hbWUo
KSwgY3JlYXRlUmVhZGFibGVTdHJlYW1Db250cm9sbGVyUHJpdmF0ZUNvbnN0cnVjdG9yKHZtLCAq
dGhpcyksIERvbnREZWxldGUgfCBSZWFkT25seSksCi0gICAgICAgIEdsb2JhbFByb3BlcnR5SW5m
byhzdGF0aWNfY2FzdDxXZWJDb3JlSlNDbGllbnREYXRhKj4odm0uY2xpZW50RGF0YSktPmJ1aWx0
aW5OYW1lcygpLlJlYWRhYmxlU3RyZWFtUmVhZGVyUHJpdmF0ZU5hbWUoKSwgY3JlYXRlUmVhZGFi
bGVTdHJlYW1SZWFkZXJQcml2YXRlQ29uc3RydWN0b3Iodm0sICp0aGlzKSwgRG9udERlbGV0ZSB8
IFJlYWRPbmx5KSwKKyAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHN0YXRpY19jYXN0PEpTVk1D
bGllbnREYXRhKj4odm0uY2xpZW50RGF0YSktPmJ1aWx0aW5OYW1lcygpLnJlYWRhYmxlU3RyZWFt
Q2xvc2VkUHJpdmF0ZU5hbWUoKSwganNOdW1iZXIoMSksIERvbnREZWxldGUgfCBSZWFkT25seSks
CisgICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyhzdGF0aWNfY2FzdDxKU1ZNQ2xpZW50RGF0YSo+
KHZtLmNsaWVudERhdGEpLT5idWlsdGluTmFtZXMoKS5yZWFkYWJsZVN0cmVhbUVycm9yZWRQcml2
YXRlTmFtZSgpLCBqc051bWJlcigyKSwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKKyAgICAgICAg
R2xvYmFsUHJvcGVydHlJbmZvKHN0YXRpY19jYXN0PEpTVk1DbGllbnREYXRhKj4odm0uY2xpZW50
RGF0YSktPmJ1aWx0aW5OYW1lcygpLnJlYWRhYmxlU3RyZWFtUmVhZGFibGVQcml2YXRlTmFtZSgp
LCBqc051bWJlcigzKSwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKKyAgICAgICAgR2xvYmFsUHJv
cGVydHlJbmZvKHN0YXRpY19jYXN0PEpTVk1DbGllbnREYXRhKj4odm0uY2xpZW50RGF0YSktPmJ1
aWx0aW5OYW1lcygpLlJlYWRhYmxlU3RyZWFtQ29udHJvbGxlclByaXZhdGVOYW1lKCksIGNyZWF0
ZVJlYWRhYmxlU3RyZWFtQ29udHJvbGxlclByaXZhdGVDb25zdHJ1Y3Rvcih2bSwgKnRoaXMpLCBE
b250RGVsZXRlIHwgUmVhZE9ubHkpLAorICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8oc3RhdGlj
X2Nhc3Q8SlNWTUNsaWVudERhdGEqPih2bS5jbGllbnREYXRhKS0+YnVpbHRpbk5hbWVzKCkuUmVh
ZGFibGVTdHJlYW1SZWFkZXJQcml2YXRlTmFtZSgpLCBjcmVhdGVSZWFkYWJsZVN0cmVhbVJlYWRl
clByaXZhdGVDb25zdHJ1Y3Rvcih2bSwgKnRoaXMpLCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAog
I2RlZmluZSBERUNMQVJFX0dMT0JBTF9TVEFUSUMobmFtZSlcCiAgICAgICAgIEdsb2JhbFByb3Bl
cnR5SW5mbyhcCi0gICAgICAgICAgICBzdGF0aWNfY2FzdDxXZWJDb3JlSlNDbGllbnREYXRhKj4o
dm0uY2xpZW50RGF0YSktPnJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMoKS5uYW1lIyNQ
cml2YXRlTmFtZSgpLFwKLSAgICAgICAgICAgIG1fcmVhZGFibGVTdHJlYW1GdW5jdGlvbnMubV8j
I25hbWUjI0Z1bmN0aW9uLmdldCgpICwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKKyAgICAgICAg
ICAgIHN0YXRpY19jYXN0PEpTVk1DbGllbnREYXRhKj4odm0uY2xpZW50RGF0YSktPmJ1aWx0aW5G
dW5jdGlvbnMoKS5yZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zKCkubmFtZSMjUHJpdmF0
ZU5hbWUoKSwgXAorICAgICAgICAgICAgbV9wcml2YXRlRnVuY3Rpb25zLnJlYWRhYmxlU3RyZWFt
SW50ZXJuYWxzKCkubV8jI25hbWUjI0Z1bmN0aW9uLmdldCgpICwgRG9udERlbGV0ZSB8IFJlYWRP
bmx5KSwKICAgICAgICAgV0VCQ09SRVJFQURBQkxFU1RSRUFNSU5URVJOQUxTX0ZPUkVBQ0hfQlVJ
TFRJTl9GVU5DVElPTl9OQU1FKERFQ0xBUkVfR0xPQkFMX1NUQVRJQykKLSN1bmRlZiBFWFBPUlRf
RlVOQ1RJT04KKyN1bmRlZiBERUNMQVJFX0dMT0JBTF9TVEFUSUMKICNlbmRpZgogICAgIH07CiAK
QEAgLTExMSw5ICsxMDcsNyBAQCB2b2lkIEpTRE9NV2luZG93QmFzZTo6dmlzaXRDaGlsZHJlbihK
U0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2aXNpdG9yKQogICAgIEpTRE9NV2luZG93QmFzZSog
dGhpc09iamVjdCA9IGpzQ2FzdDxKU0RPTVdpbmRvd0Jhc2UqPihjZWxsKTsKICAgICBBU1NFUlRf
R0NfT0JKRUNUX0lOSEVSSVRTKHRoaXNPYmplY3QsIGluZm8oKSk7CiAgICAgQmFzZTo6dmlzaXRD
aGlsZHJlbih0aGlzT2JqZWN0LCB2aXNpdG9yKTsKLSNpZiBFTkFCTEUoU1RSRUFNU19BUEkpCi0g
ICAgdGhpc09iamVjdC0+bV9yZWFkYWJsZVN0cmVhbUZ1bmN0aW9ucy52aXNpdCh2aXNpdG9yKTsK
LSNlbmRpZgorICAgIHRoaXNPYmplY3QtPm1fcHJpdmF0ZUZ1bmN0aW9ucy52aXNpdCh2aXNpdG9y
KTsKIH0KIAogdm9pZCBKU0RPTVdpbmRvd0Jhc2U6OmRlc3Ryb3koSlNDZWxsKiBjZWxsKQpAQCAt
Mjk3LDcgKzI5MSw3IEBAIEpTRE9NV2luZG93KiB0b0pTRE9NV2luZG93KEpTVmFsdWUgdmFsdWUp
CiB2b2lkIEpTRE9NV2luZG93QmFzZTo6ZmlyZUZyYW1lQ2xlYXJlZFdhdGNocG9pbnRzRm9yV2lu
ZG93KERPTVdpbmRvdyogd2luZG93KQogewogICAgIEpTQzo6Vk0mIHZtID0gSlNET01XaW5kb3dC
YXNlOjpjb21tb25WTSgpOwotICAgIFdlYkNvcmVKU0NsaWVudERhdGEqIGNsaWVudERhdGEgPSBz
dGF0aWNfY2FzdDxXZWJDb3JlSlNDbGllbnREYXRhKj4odm0uY2xpZW50RGF0YSk7CisgICAgSlNW
TUNsaWVudERhdGEqIGNsaWVudERhdGEgPSBzdGF0aWNfY2FzdDxKU1ZNQ2xpZW50RGF0YSo+KHZt
LmNsaWVudERhdGEpOwogICAgIFZlY3RvcjxSZWY8RE9NV3JhcHBlcldvcmxkPj4gd3JhcHBlcldv
cmxkczsKICAgICBjbGllbnREYXRhLT5nZXRBbGxXb3JsZHMod3JhcHBlcldvcmxkcyk7CiAgICAg
Zm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHdyYXBwZXJXb3JsZHMuc2l6ZSgpOyArK2kpIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmgKaW5kZXggZjQwODcy
ZjVlYTA5NWM5ODM2MzlkNmVkYTcwOTU3YmU4NThiNGUwMS4uMTA3NjQwYzE3NjhmYjdkODJlNzk0
YjEwNmYwMjNiMjkxNDM4OWY5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNET01XaW5kb3dCYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNE
T01XaW5kb3dCYXNlLmgKQEAgLTIyLDcgKzIyLDcgQEAKIAogI2luY2x1ZGUgIkpTRE9NQmluZGlu
Zy5oIgogI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0LmgiCi0jaW5jbHVkZSAiUmVhZGFibGVT
dHJlYW1JbnRlcm5hbHNCdWlsdGluc1dyYXBwZXIuaCIKKyNpbmNsdWRlICJXZWJDb3JlSlNCdWls
dGluSW50ZXJuYWxzLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewpAQCAtODcsOSArODcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFJl
ZlB0cjxET01XaW5kb3c+IG1faW1wbDsKICAgICAgICAgSlNET01XaW5kb3dTaGVsbCogbV9zaGVs
bDsKIAotI2lmIEVOQUJMRShTVFJFQU1TX0FQSSkKLSAgICAgICAgUmVhZGFibGVTdHJlYW1JbnRl
cm5hbHNCdWlsdGluRnVuY3Rpb25zIG1fcmVhZGFibGVTdHJlYW1GdW5jdGlvbnM7Ci0jZW5kaWYK
KyAgICAgICAgSlNCdWlsdGluSW50ZXJuYWxGdW5jdGlvbnMgbV9wcml2YXRlRnVuY3Rpb25zOwog
ICAgIH07CiAKICAgICAvLyBSZXR1cm5zIGEgSlNET01XaW5kb3cgb3IganNOdWxsKCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdENvbnRyb2xsZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0Q29udHJvbGxlci5jcHAKaW5kZXggNGIz
YjA5NzJiZTc3ZjNjNzY1OTVmMTQwZTI2YTc0OGZmOGVhNDUwYy4uZTJjZjA5MjJjYzhhNjJjNzcy
M2Y3NWM2Nzk1ODY3N2I4Y2NmMWZlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvU2NyaXB0Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvU2NyaXB0Q29udHJvbGxlci5jcHAKQEAgLTE5NCw3ICsxOTQsNyBAQCBWZWN0b3I8SlNDOjpT
dHJvbmc8SlNET01XaW5kb3dTaGVsbD4+IFNjcmlwdENvbnRyb2xsZXI6OndpbmRvd1NoZWxscygp
CiAKIHZvaWQgU2NyaXB0Q29udHJvbGxlcjo6Z2V0QWxsV29ybGRzKFZlY3RvcjxSZWY8RE9NV3Jh
cHBlcldvcmxkPj4mIHdvcmxkcykKIHsKLSAgICBzdGF0aWNfY2FzdDxXZWJDb3JlSlNDbGllbnRE
YXRhKj4oSlNET01XaW5kb3c6OmNvbW1vblZNKCkuY2xpZW50RGF0YSktPmdldEFsbFdvcmxkcyh3
b3JsZHMpOworICAgIHN0YXRpY19jYXN0PEpTVk1DbGllbnREYXRhKj4oSlNET01XaW5kb3c6OmNv
bW1vblZNKCkuY2xpZW50RGF0YSktPmdldEFsbFdvcmxkcyh3b3JsZHMpOwogfQogCiB2b2lkIFNj
cmlwdENvbnRyb2xsZXI6OmNsZWFyV2luZG93U2hlbGwoRE9NV2luZG93KiBuZXdET01XaW5kb3cs
IGJvb2wgZ29pbmdJbnRvUGFnZUNhY2hlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAKaW5kZXggNjJlYTFjMWJkY2VkNjMwNjU4
OThhOGI0MWIwYjZkMjFiODU3YWI4Ny4uMDg4ZWNhY2M4OGQwMmU3ODIzMjU2NGNjZTY1NThmMTM3
MGRlMGY1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2VyaWFsaXpl
ZFNjcmlwdFZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxp
emVkU2NyaXB0VmFsdWUuY3BwCkBAIC0yNjM0LDcgKzI2MzQsNyBAQCBzdGQ6OnVuaXF1ZV9wdHI8
U2VyaWFsaXplZFNjcmlwdFZhbHVlOjpBcnJheUJ1ZmZlckNvbnRlbnRzQXJyYXk+IFNlcmlhbGl6
ZWRTY3JpcAogCiAgICAgYXV0byBjb250ZW50cyA9IHN0ZDo6bWFrZV91bmlxdWU8QXJyYXlCdWZm
ZXJDb250ZW50c0FycmF5PihhcnJheUJ1ZmZlcnMuc2l6ZSgpKTsKICAgICBWZWN0b3I8UmVmPERP
TVdyYXBwZXJXb3JsZD4+IHdvcmxkczsKLSAgICBzdGF0aWNfY2FzdDxXZWJDb3JlSlNDbGllbnRE
YXRhKj4oZXhlYy0+dm0oKS5jbGllbnREYXRhKS0+Z2V0QWxsV29ybGRzKHdvcmxkcyk7CisgICAg
c3RhdGljX2Nhc3Q8SlNWTUNsaWVudERhdGEqPihleGVjLT52bSgpLmNsaWVudERhdGEpLT5nZXRB
bGxXb3JsZHMod29ybGRzKTsKIAogICAgIEhhc2hTZXQ8SlNDOjpBcnJheUJ1ZmZlcio+IHZpc2l0
ZWQ7CiAgICAgZm9yIChzaXplX3QgYXJyYXlCdWZmZXJJbmRleCA9IDA7IGFycmF5QnVmZmVySW5k
ZXggPCBhcnJheUJ1ZmZlcnMuc2l6ZSgpOyBhcnJheUJ1ZmZlckluZGV4KyspIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVKU0J1aWx0aW5JbnRlcm5hbHMu
aCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVKU0J1aWx0aW5JbnRlcm5hbHMu
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5kZjYzNzkzNzdmMDk5MTMxZmM0YmI4OWM3ZDRjZTczZjliMjZkNWJjCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQnVp
bHRpbkludGVybmFscy5oCkBAIC0wLDAgKzEsNTkgQEAKKy8qCisgKgorICogIFRoaXMgbGlicmFy
eSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqICBt
b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGlj
CisgKiAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
bjsgZWl0aGVyCisgKiAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRp
b24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0
ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQgV0lUSE9VVCBB
TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogIE1F
UkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0
aGUgR05VCisgKiAgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls
cy4KKyAqCisgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExl
c3NlciBHZW5lcmFsIFB1YmxpYworICogIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7
IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqICBGb3VuZGF0aW9uLCBJbmMu
LCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAx
ICBVU0EKKyAqLworCisjaWZuZGVmIFdlYkNvcmVKU0J1aWx0aW5JbnRlcm5hbHNfaAorI2RlZmlu
ZSBXZWJDb3JlSlNCdWlsdGluSW50ZXJuYWxzX2gKKworI2lmIEVOQUJMRShTVFJFQU1TX0FQSSkK
KyNpbmNsdWRlICJSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zV3JhcHBlci5oIgorI2Vu
ZGlmCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgSlNCdWlsdGluSW50ZXJuYWxGdW5j
dGlvbnMgeworcHVibGljOgorZXhwbGljaXQgSlNCdWlsdGluSW50ZXJuYWxGdW5jdGlvbnMoSlND
OjpWTSYgdikKKyAgICAgICAgOiB2bSh2KQorI2lmIEVOQUJMRShTVFJFQU1TX0FQSSkKKyAgICAg
ICAgLCBtX3JlYWRhYmxlU3RyZWFtSW50ZXJuYWxzRnVuY3Rpb25zKHZtKQorI2VuZGlmCisgICAg
eyB9CisKKyNpZiBFTkFCTEUoU1RSRUFNU19BUEkpCisgICAgUmVhZGFibGVTdHJlYW1JbnRlcm5h
bHNCdWlsdGluRnVuY3Rpb25zIHJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzKCkgeyByZXR1cm4gbV9y
ZWFkYWJsZVN0cmVhbUludGVybmFsc0Z1bmN0aW9uczsgfQorI2VuZGlmCisgICAgdm9pZCB2aXNp
dChKU0M6OlNsb3RWaXNpdG9yJiB2aXNpdG9yKSB7CisjaWYgRU5BQkxFKFNUUkVBTVNfQVBJKQor
ICAgICAgICBtX3JlYWRhYmxlU3RyZWFtSW50ZXJuYWxzRnVuY3Rpb25zLnZpc2l0KHZpc2l0b3Ip
OworI2VuZGlmCisgICAgfQorICAgIHZvaWQgaW5pdChKU0M6OkpTR2xvYmFsT2JqZWN0JiBnbG9i
YWxPYmplY3QpIHsKKyNpZiBFTkFCTEUoU1RSRUFNU19BUEkpCisgICAgICAgIG1fcmVhZGFibGVT
dHJlYW1JbnRlcm5hbHNGdW5jdGlvbnMuaW5pdChnbG9iYWxPYmplY3QpOworI2VuZGlmCisgICAg
fQorCitwcml2YXRlOgorICAgIEpTQzo6Vk0mIHZtOworI2lmIEVOQUJMRShTVFJFQU1TX0FQSSkK
KyAgICAgUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGluRnVuY3Rpb25zIG1fcmVhZGFibGVT
dHJlYW1JbnRlcm5hbHNGdW5jdGlvbnM7CisjZW5kaWYKKworfTsKKworfQorI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlSlNCdWlsdGlucy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlSlNCdWlsdGlucy5jcHAKaW5kZXgg
OTZjN2UwZTk3ZTcxODcwMDBjYzBhMTVhMWRkYTk3YzQ1MGFhYmI0Ni4uMjNkNDIxZGIwOTVjMTg3
MjEwODgwNDU1ODAxZjVjMjhiNmQ1NDczMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvV2ViQ29yZUpTQnVpbHRpbnMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1dlYkNvcmVKU0J1aWx0aW5zLmNwcApAQCAtMSwyNiArMSwxOCBAQAogLyoKLSAqIENv
cHlyaWdodCAoQykgMjAxNSwgQ2Fub24gSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLgogICoKLSAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0
ZSBpdCBhbmQvb3IKKyAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVz
c2VyIEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNl
LCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgogICoKLSAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAot
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg
dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp
dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogIE1FUkNIQU5UQUJJTElUWSBv
ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiAgTGVz
c2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiAgWW91
IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1
YmxpYworICogIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUg
dG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqICBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBT
dHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKICAqLwogCiAj
aW5jbHVkZSAiY29uZmlnLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9XZWJDb3JlSlNCdWlsdGlucy5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29y
ZUpTQnVpbHRpbnMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZjJmM2Y3OWI3ZDA3Yjg1OTQ0YTY0OGMwYWE0Mzgw
ZmQzY2U2OWVmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
V2ViQ29yZUpTQnVpbHRpbnMuaApAQCAtMCwwICsxLDc2IEBACisvKgorICoKKyAqICBUaGlzIGxp
YnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisg
KiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1
YmxpYworICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb247IGVpdGhlcgorICogIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIg
b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3Ry
aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0IFdJVEhP
VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAq
ICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT
ZWUgdGhlIEdOVQorICogIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl
dGFpbHMuCisgKgorICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdO
VSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJy
YXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiAgRm91bmRhdGlvbiwg
SW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAt
MTMwMSAgVVNBCisgKi8KKworI2lmbmRlZiBXZWJDb3JlSlNCdWlsdGluc19oCisjZGVmaW5lIFdl
YkNvcmVKU0J1aWx0aW5zX2gKKworI2lmIEVOQUJMRShTVFJFQU1TX0FQSSkKKyNpbmNsdWRlICJC
eXRlTGVuZ3RoUXVldWluZ1N0cmF0ZWd5QnVpbHRpbnNXcmFwcGVyLmgiCisjaW5jbHVkZSAiQ291
bnRRdWV1aW5nU3RyYXRlZ3lCdWlsdGluc1dyYXBwZXIuaCIKKyNpbmNsdWRlICJSZWFkYWJsZVN0
cmVhbUJ1aWx0aW5zV3JhcHBlci5oIgorI2luY2x1ZGUgIlJlYWRhYmxlU3RyZWFtQ29udHJvbGxl
ckJ1aWx0aW5zV3JhcHBlci5oIgorI2luY2x1ZGUgIlJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVp
bHRpbnNXcmFwcGVyLmgiCisjaW5jbHVkZSAiUmVhZGFibGVTdHJlYW1SZWFkZXJCdWlsdGluc1dy
YXBwZXIuaCIKKyNlbmRpZgorCisKKyNpbmNsdWRlIDxydW50aW1lL1ZNLmg+CisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworY2xhc3MgSlNCdWlsdGluRnVuY3Rpb25zIHsKK3B1YmxpYzoKKyAgICBl
eHBsaWNpdCBKU0J1aWx0aW5GdW5jdGlvbnMoSlNDOjpWTSYgdikKKyAgICAgICAgOiB2bSh2KQor
I2lmIEVOQUJMRShTVFJFQU1TX0FQSSkKKyAgICAgICAgLCBtX2J5dGVMZW5ndGhRdWV1aW5nU3Ry
YXRlZ3lCdWlsdGlucygmdm0pCisgICAgICAgICwgbV9jb3VudFF1ZXVpbmdTdHJhdGVneUJ1aWx0
aW5zKCZ2bSkKKyAgICAgICAgLCBtX3JlYWRhYmxlU3RyZWFtQnVpbHRpbnMoJnZtKQorICAgICAg
ICAsIG1fcmVhZGFibGVTdHJlYW1Db250cm9sbGVyQnVpbHRpbnMoJnZtKQorICAgICAgICAsIG1f
cmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucygmdm0pCisgICAgICAgICwgbV9yZWFkYWJs
ZVN0cmVhbVJlYWRlckJ1aWx0aW5zKCZ2bSkKKyNlbmRpZgorICAgIHsKKyNpZiBFTkFCTEUoU1RS
RUFNU19BUEkpCisgICAgICAgIG1fcmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5leHBv
cnROYW1lcygpOworI2VuZGlmCisgICAgfQorI2lmIEVOQUJMRShTVFJFQU1TX0FQSSkKKyAgICBC
eXRlTGVuZ3RoUXVldWluZ1N0cmF0ZWd5QnVpbHRpbnNXcmFwcGVyJiBieXRlTGVuZ3RoUXVldWlu
Z1N0cmF0ZWd5QnVpbHRpbnMoKSB7IHJldHVybiBtX2J5dGVMZW5ndGhRdWV1aW5nU3RyYXRlZ3lC
dWlsdGluczt9CisgICAgQ291bnRRdWV1aW5nU3RyYXRlZ3lCdWlsdGluc1dyYXBwZXImIGNvdW50
UXVldWluZ1N0cmF0ZWd5QnVpbHRpbnMoKSB7IHJldHVybiBtX2NvdW50UXVldWluZ1N0cmF0ZWd5
QnVpbHRpbnM7fQorICAgIFJlYWRhYmxlU3RyZWFtQnVpbHRpbnNXcmFwcGVyJiByZWFkYWJsZVN0
cmVhbUJ1aWx0aW5zKCkgeyByZXR1cm4gbV9yZWFkYWJsZVN0cmVhbUJ1aWx0aW5zO30KKyAgICBS
ZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXJCdWlsdGluc1dyYXBwZXImIHJlYWRhYmxlU3RyZWFtQ29u
dHJvbGxlckJ1aWx0aW5zKCkgeyByZXR1cm4gbV9yZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXJCdWls
dGluczt9CisgICAgUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGluc1dyYXBwZXImIHJlYWRh
YmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMoKSB7IHJldHVybiBtX3JlYWRhYmxlU3RyZWFtSW50
ZXJuYWxzQnVpbHRpbnM7fQorICAgIFJlYWRhYmxlU3RyZWFtUmVhZGVyQnVpbHRpbnNXcmFwcGVy
JiByZWFkYWJsZVN0cmVhbVJlYWRlckJ1aWx0aW5zKCkgeyByZXR1cm4gbV9yZWFkYWJsZVN0cmVh
bVJlYWRlckJ1aWx0aW5zO30KKyNlbmRpZgorCitwcml2YXRlOgorICAgIEpTQzo6Vk0mIHZtOwor
I2lmIEVOQUJMRShTVFJFQU1TX0FQSSkKKyAgICBCeXRlTGVuZ3RoUXVldWluZ1N0cmF0ZWd5QnVp
bHRpbnNXcmFwcGVyIG1fYnl0ZUxlbmd0aFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zOworICAgIENv
dW50UXVldWluZ1N0cmF0ZWd5QnVpbHRpbnNXcmFwcGVyIG1fY291bnRRdWV1aW5nU3RyYXRlZ3lC
dWlsdGluczsKKyAgICBSZWFkYWJsZVN0cmVhbUJ1aWx0aW5zV3JhcHBlciBtX3JlYWRhYmxlU3Ry
ZWFtQnVpbHRpbnM7CisgICAgUmVhZGFibGVTdHJlYW1Db250cm9sbGVyQnVpbHRpbnNXcmFwcGVy
IG1fcmVhZGFibGVTdHJlYW1Db250cm9sbGVyQnVpbHRpbnM7CisgICAgUmVhZGFibGVTdHJlYW1J
bnRlcm5hbHNCdWlsdGluc1dyYXBwZXIgbV9yZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5z
OworICAgIFJlYWRhYmxlU3RyZWFtUmVhZGVyQnVpbHRpbnNXcmFwcGVyIG1fcmVhZGFibGVTdHJl
YW1SZWFkZXJCdWlsdGluczsKKyNlbmRpZgorCit9OworCit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5oIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5oCmluZGV4IDg3MGRk
ODE4ZWI4Mjk0NTdlYTgwZTM1MzhhODcxZDQ5OTUyNzRjMDkuLjFkYzU1N2Q0OTVmYjQyY2RkYjU3
NWRkOWJkMTBmNTIxYzFjNzQxNmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL1dlYkNvcmVKU0NsaWVudERhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9XZWJDb3JlSlNDbGllbnREYXRhLmgKQEAgLTI0LDQ0ICsyNCwyNiBAQAogCiAjaW5jbHVkZSAi
RE9NV3JhcHBlcldvcmxkLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUJ1aWx0aW5OYW1lcy5oIgorI2lu
Y2x1ZGUgIldlYkNvcmVKU0J1aWx0aW5zLmgiCiAjaW5jbHVkZSAiV2ViQ29yZVR5cGVkQXJyYXlD
b250cm9sbGVyLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvUmVm
UHRyLmg+CiAKLSNpZiBFTkFCTEUoU1RSRUFNU19BUEkpCi0jaW5jbHVkZSAiQnl0ZUxlbmd0aFF1
ZXVpbmdTdHJhdGVneUJ1aWx0aW5zV3JhcHBlci5oIgotI2luY2x1ZGUgIkNvdW50UXVldWluZ1N0
cmF0ZWd5QnVpbHRpbnNXcmFwcGVyLmgiCi0jaW5jbHVkZSAiUmVhZGFibGVTdHJlYW1CdWlsdGlu
c1dyYXBwZXIuaCIKLSNpbmNsdWRlICJSZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXJCdWlsdGluc1dy
YXBwZXIuaCIKLSNpbmNsdWRlICJSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zV3JhcHBl
ci5oIgotI2luY2x1ZGUgIlJlYWRhYmxlU3RyZWFtUmVhZGVyQnVpbHRpbnNXcmFwcGVyLmgiCi0j
ZW5kaWYKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBXZWJDb3JlSlNDbGllbnREYXRh
IDogcHVibGljIEpTQzo6Vk06OkNsaWVudERhdGEgewotICAgIFdURl9NQUtFX05PTkNPUFlBQkxF
KFdlYkNvcmVKU0NsaWVudERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK2NsYXNzIEpT
Vk1DbGllbnREYXRhIDogcHVibGljIEpTQzo6Vk06OkNsaWVudERhdGEgeworICAgIFdURl9NQUtF
X05PTkNPUFlBQkxFKEpTVk1DbGllbnREYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAg
ICAgZnJpZW5kIGNsYXNzIFZNV29ybGRJdGVyYXRvcjsKICAgICBmcmllbmQgdm9pZCBpbml0Tm9y
bWFsV29ybGRDbGllbnREYXRhKEpTQzo6Vk0qKTsKIAogcHVibGljOgotICAgIGV4cGxpY2l0IFdl
YkNvcmVKU0NsaWVudERhdGEoSlNDOjpWTSYgdm0pCi0gICAgICAgIDogbV9idWlsdGluTmFtZXMo
JnZtKQotI2lmIEVOQUJMRShTVFJFQU1TX0FQSSkKLSAgICAgICAgLCBtX3JlYWRhYmxlU3RyZWFt
QnVpbHRpbnMoJnZtKQotICAgICAgICAsIG1fcmVhZGFibGVTdHJlYW1Db250cm9sbGVyQnVpbHRp
bnMoJnZtKQotICAgICAgICAsIG1fcmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucygmdm0p
Ci0gICAgICAgICwgbV9yZWFkYWJsZVN0cmVhbVJlYWRlckJ1aWx0aW5zKCZ2bSkKLSAgICAgICAg
LCBtX2J5dGVMZW5ndGhRdWV1aW5nU3RyYXRlZ3lCdWlsdGlucygmdm0pCi0gICAgICAgICwgbV9j
b3VudFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zKCZ2bSkKLSNlbmRpZgorICAgIGV4cGxpY2l0IEpT
Vk1DbGllbnREYXRhKEpTQzo6Vk0mIHZtKQorICAgICAgICA6IG1fYnVpbHRpbkZ1bmN0aW9ucyh2
bSkKKyAgICAgICAgLCBtX2J1aWx0aW5OYW1lcygmdm0pCiAgICAgewotI2lmIEVOQUJMRShTVFJF
QU1TX0FQSSkKLSAgICAgICAgbV9yZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmV4cG9y
dE5hbWVzKCk7Ci0jZW5kaWYKICAgICB9CiAKLSAgICB2aXJ0dWFsIH5XZWJDb3JlSlNDbGllbnRE
YXRhKCkKKyAgICB2aXJ0dWFsIH5KU1ZNQ2xpZW50RGF0YSgpCiAgICAgewogICAgICAgICBBU1NF
UlQobV93b3JsZFNldC5jb250YWlucyhtX25vcm1hbFdvcmxkLmdldCgpKSk7CiAgICAgICAgIEFT
U0VSVChtX3dvcmxkU2V0LnNpemUoKSA9PSAxKTsKQEAgLTk0LDM3ICs3NiwyMSBAQCBwdWJsaWM6
CiAgICAgfQogCiAgICAgV2ViQ29yZUJ1aWx0aW5OYW1lcyYgYnVpbHRpbk5hbWVzKCkgeyByZXR1
cm4gbV9idWlsdGluTmFtZXM7IH0KLQotI2lmIEVOQUJMRShTVFJFQU1TX0FQSSkKLSAgICBSZWFk
YWJsZVN0cmVhbUJ1aWx0aW5zV3JhcHBlciYgcmVhZGFibGVTdHJlYW1CdWlsdGlucygpIHsgcmV0
dXJuIG1fcmVhZGFibGVTdHJlYW1CdWlsdGluczsgfQotICAgIFJlYWRhYmxlU3RyZWFtQ29udHJv
bGxlckJ1aWx0aW5zV3JhcHBlciYgcmVhZGFibGVTdHJlYW1Db250cm9sbGVyQnVpbHRpbnMoKSB7
IHJldHVybiBtX3JlYWRhYmxlU3RyZWFtQ29udHJvbGxlckJ1aWx0aW5zOyB9Ci0gICAgUmVhZGFi
bGVTdHJlYW1JbnRlcm5hbHNCdWlsdGluc1dyYXBwZXImIHJlYWRhYmxlU3RyZWFtSW50ZXJuYWxz
QnVpbHRpbnMoKSB7IHJldHVybiBtX3JlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnM7IH0K
LSAgICBSZWFkYWJsZVN0cmVhbVJlYWRlckJ1aWx0aW5zV3JhcHBlciYgcmVhZGFibGVTdHJlYW1S
ZWFkZXJCdWlsdGlucygpIHsgcmV0dXJuIG1fcmVhZGFibGVTdHJlYW1SZWFkZXJCdWlsdGluczsg
fQotICAgIEJ5dGVMZW5ndGhRdWV1aW5nU3RyYXRlZ3lCdWlsdGluc1dyYXBwZXImIGJ5dGVMZW5n
dGhRdWV1aW5nU3RyYXRlZ3lCdWlsdGlucygpIHsgcmV0dXJuIG1fYnl0ZUxlbmd0aFF1ZXVpbmdT
dHJhdGVneUJ1aWx0aW5zOyB9Ci0gICAgQ291bnRRdWV1aW5nU3RyYXRlZ3lCdWlsdGluc1dyYXBw
ZXImIGNvdW50UXVldWluZ1N0cmF0ZWd5QnVpbHRpbnMoKSB7IHJldHVybiBtX2NvdW50UXVldWlu
Z1N0cmF0ZWd5QnVpbHRpbnM7IH0KLSNlbmRpZgorICAgIEpTQnVpbHRpbkZ1bmN0aW9ucyYgYnVp
bHRpbkZ1bmN0aW9ucygpIHsgcmV0dXJuIG1fYnVpbHRpbkZ1bmN0aW9uczsgfQogCiBwcml2YXRl
OgogICAgIEhhc2hTZXQ8RE9NV3JhcHBlcldvcmxkKj4gbV93b3JsZFNldDsKICAgICBSZWZQdHI8
RE9NV3JhcHBlcldvcmxkPiBtX25vcm1hbFdvcmxkOwogCisgICAgSlNCdWlsdGluRnVuY3Rpb25z
IG1fYnVpbHRpbkZ1bmN0aW9uczsKICAgICBXZWJDb3JlQnVpbHRpbk5hbWVzIG1fYnVpbHRpbk5h
bWVzOwotCi0jaWYgRU5BQkxFKFNUUkVBTVNfQVBJKQotICAgIFJlYWRhYmxlU3RyZWFtQnVpbHRp
bnNXcmFwcGVyIG1fcmVhZGFibGVTdHJlYW1CdWlsdGluczsKLSAgICBSZWFkYWJsZVN0cmVhbUNv
bnRyb2xsZXJCdWlsdGluc1dyYXBwZXIgbV9yZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXJCdWlsdGlu
czsKLSAgICBSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zV3JhcHBlciBtX3JlYWRhYmxl
U3RyZWFtSW50ZXJuYWxzQnVpbHRpbnM7Ci0gICAgUmVhZGFibGVTdHJlYW1SZWFkZXJCdWlsdGlu
c1dyYXBwZXIgbV9yZWFkYWJsZVN0cmVhbVJlYWRlckJ1aWx0aW5zOwotICAgIEJ5dGVMZW5ndGhR
dWV1aW5nU3RyYXRlZ3lCdWlsdGluc1dyYXBwZXIgbV9ieXRlTGVuZ3RoUXVldWluZ1N0cmF0ZWd5
QnVpbHRpbnM7Ci0gICAgQ291bnRRdWV1aW5nU3RyYXRlZ3lCdWlsdGluc1dyYXBwZXIgbV9jb3Vu
dFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zOwotI2VuZGlmCiB9OwogCiBpbmxpbmUgdm9pZCBpbml0
Tm9ybWFsV29ybGRDbGllbnREYXRhKEpTQzo6Vk0qIHZtKQogewotICAgIFdlYkNvcmVKU0NsaWVu
dERhdGEqIHdlYkNvcmVKU0NsaWVudERhdGEgPSBuZXcgV2ViQ29yZUpTQ2xpZW50RGF0YSgqdm0p
OwotICAgIHZtLT5jbGllbnREYXRhID0gd2ViQ29yZUpTQ2xpZW50RGF0YTsgLy8gflZNIGRlbGV0
ZXMgdGhpcyBwb2ludGVyLgotICAgIHdlYkNvcmVKU0NsaWVudERhdGEtPm1fbm9ybWFsV29ybGQg
PSBET01XcmFwcGVyV29ybGQ6OmNyZWF0ZSgqdm0sIHRydWUpOworICAgIEpTVk1DbGllbnREYXRh
KiBjbGllbnREYXRhID0gbmV3IEpTVk1DbGllbnREYXRhKCp2bSk7CisgICAgdm0tPmNsaWVudERh
dGEgPSBjbGllbnREYXRhOyAvLyB+Vk0gZGVsZXRlcyB0aGlzIHBvaW50ZXIuCisgICAgY2xpZW50
RGF0YS0+bV9ub3JtYWxXb3JsZCA9IERPTVdyYXBwZXJXb3JsZDo6Y3JlYXRlKCp2bSwgdHJ1ZSk7
CiAgICAgdm0tPm1fdHlwZWRBcnJheUNvbnRyb2xsZXIgPSBhZG9wdFJlZihuZXcgV2ViQ29yZVR5
cGVkQXJyYXlDb250cm9sbGVyKCkpOwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>262766</attachid>
            <date>2015-10-09 06:36:49 -0700</date>
            <delta_ts>2015-10-09 07:22:30 -0700</delta_ts>
            <desc>Fixing mac build</desc>
            <filename>bug-149751-20151009103615.patch</filename>
            <type>text/plain</type>
            <size>44802</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkwNzgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
YmNhMTgyNDc1MmNiNjdjMWI4MjZjYTIxZmU3YjZlMmY2NWRkOWM2Li4yNTI5ZWMzYjAwNGVhYjk4
NDE1ZWM0NzkwNDc1NzcyYmRkMTY3ZDg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMiBAQAorMjAxNS0xMC0wOSAgWGFiaWVyIFJvZHJpZ3VleiBDYWx2YXIgIDxjYWx2YXJp
c0BpZ2FsaWEuY29tPiBhbmQgWW91ZW5uIEZhYmxldCAgPHlvdWVubi5mYWJsZXRAY3JmLmNhbm9u
LmZyPgorCisgICAgICAgIEF1dG9tYXRlIFdlYkNvcmUgSlMgYnVpbHRpbnMgZ2VuZXJhdGlvbiBh
bmQgYnVpbGQgc3lzdGVtCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNDk3NTEKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAg
ICAgICAqIGdlbmVyYXRlLWpzLWJ1aWx0aW5zOiB1cGRhdGluZyB0aGUgcGFydCByZWxhdGVkIHRv
IFdlYkNvcmUgSlMgYmluZGluZy4KKwogMjAxNS0xMC0wOCAgRmlsaXAgUGl6bG8gIDxmcGl6bG9A
YXBwbGUuY29tPgogCiAgICAgICAgIERGRyBTU0Egc2hvdWxkIHJlbW92ZSB1bnJlYWNoYWJsZSBj
b2RlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKaW5kZXggMjk2NGZmNGE3OWFmYTc5MWU3NmMzMGY0YTU0YWI1MzViN2RhYWFj
Ny4uZDBkYjhhODQzZWYyZTRiOWQ4Yjg3ZDQwMzQ1ODEyOTY1MTU4OTM4OCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDY1IEBACisyMDE1LTEwLTA5ICBYYWJpZXIgUm9kcmlndWV6IENhbHZhciAgPGNh
bHZhcmlzQGlnYWxpYS5jb20+IGFuZCBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uLmZhYmxldEBjcmYu
Y2Fub24uZnI+CisKKyAgICAgICAgUmVmYWN0b3IgV2ViQ29yZSBKUyBidWlsdGlucyB0byBwcmVw
YXJlIGZvciBhdXRvbWF0aWMgZ2VuZXJhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ5NzUxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4g
QWRsZXIuCisKKyAgICAgICAgQWRkaW5nIGFubm90YXRpb25zIHRvIEpTIGZpbGVzIHRvIGtub3cg
d2hldGhlciB0aGV5IHNob3VsZCBiZSB1bmRlciBhIGNvbXBpbGF0aW9uIGZsYWcgYW5kCisgICAg
ICAgIHdoZXRoZXIgdGhleSBhcmUgSlMgaW50ZXJuYWxzIG9yIEpTIHRpZWQgdG8gV2ViSURMLgor
ICAgICAgICBJZiBhIGZpbGUgaXMgc2FpZCBhcyBKUyBpbnRlcm5hbHMsIGFsbCBmdW5jdGlvbiBu
YW1lcyBzaG91bGQgYmUgZXhwb3J0ZWQgYXV0b21hdGljYWxseS4KKyAgICAgICAgQWRkZWQgV2Vi
Q29yZUpTQnVpbHRpbnMuaCB0byBzaW1wbGlmeSBoYW5kbGluZyBvZiBidWlsdGlucyBpbiBKU1ZN
Q2xpZW50RGF0YS4KKyAgICAgICAgQWRkZWQgV2ViQ29yZUpTSW50ZXJuYWxzLmggdG8gc2ltcGxp
ZnkgaGFuZGxpbmcgb2YgYnVpbHRpbiBwcml2YXRlIGZ1bmN0aW9uIGluIEpTRE9NV2luZG93QmFz
ZS4KKyAgICAgICAgUmVuYW1lZCBXZWJDb3JlSlNDbGllbnREYXRhIHRvIEpTVk1DbGllbnREYXRh
LgorCisgICAgICAgIENvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAgKiBDTWFr
ZUxpc3RzLnR4dDoKKyAgICAgICAgKiBNb2R1bGVzL3N0cmVhbXMvQnl0ZUxlbmd0aFF1ZXVpbmdT
dHJhdGVneS5qczoKKyAgICAgICAgKiBNb2R1bGVzL3N0cmVhbXMvQ291bnRRdWV1aW5nU3RyYXRl
Z3kuanM6CisgICAgICAgICogTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtLmpzOgorICAg
ICAgICAqIE1vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXIuanM6CisgICAg
ICAgICogTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtSW50ZXJuYWxzLmpzOgorICAgICAg
ICAqIE1vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbVJlYWRlci5qczoKKyAgICAgICAgKiBX
ZWJDb3JlLm9yZGVyOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9ET01XcmFwcGVyV29ybGQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RE9NV3JhcHBlcldvcmxkOjpET01XcmFwcGVyV29ybGQpOgorICAgICAgICAoV2Vi
Q29yZTo6RE9NV3JhcHBlcldvcmxkOjp+RE9NV3JhcHBlcldvcmxkKToKKyAgICAgICAgKFdlYkNv
cmU6Om5vcm1hbFdvcmxkKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2Uu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3dCYXNlOjpKU0RPTVdpbmRvd0Jhc2Up
OgorICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3dCYXNlOjpmaW5pc2hDcmVhdGlvbik6Cisg
ICAgICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvd0Jhc2U6OnZpc2l0Q2hpbGRyZW4pOgorICAgICAg
ICAoV2ViQ29yZTo6SlNET01XaW5kb3dCYXNlOjpmaXJlRnJhbWVDbGVhcmVkV2F0Y2hwb2ludHNG
b3JXaW5kb3cpOgorICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3dCYXNlOjpkZXN0cm95KTog
RGVsZXRlZC4KKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaDoKKyAgICAg
ICAgKiBiaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNjcmlwdENvbnRyb2xsZXI6OmdldEFsbFdvcmxkcyk6CisgICAgICAgICogYmluZGluZ3MvanMv
U2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZTo6dHJhbnNmZXJBcnJheUJ1ZmZlcnMpOgorICAgICAgICAqIGJpbmRpbmdzL2pz
L1dlYkNvcmVKU0J1aWx0aW5JbnRlcm5hbHMuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpK
U0J1aWx0aW5JbnRlcm5hbEZ1bmN0aW9uczo6SlNCdWlsdGluSW50ZXJuYWxGdW5jdGlvbnMpOgor
ICAgICAgICAoV2ViQ29yZTo6SlNCdWlsdGluSW50ZXJuYWxGdW5jdGlvbnM6OnJlYWRhYmxlU3Ry
ZWFtSW50ZXJuYWxzKToKKyAgICAgICAgKFdlYkNvcmU6OkpTQnVpbHRpbkludGVybmFsRnVuY3Rp
b25zOjp2aXNpdCk6CisgICAgICAgIChXZWJDb3JlOjpKU0J1aWx0aW5JbnRlcm5hbEZ1bmN0aW9u
czo6aW5pdCk6CisgICAgICAgICogYmluZGluZ3MvanMvV2ViQ29yZUpTQnVpbHRpbnMuY3BwOgor
ICAgICAgICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVKU0J1aWx0aW5zLmg6IEFkZGVkLgorICAgICAg
ICAoV2ViQ29yZTo6SlNCdWlsdGluRnVuY3Rpb25zOjpKU0J1aWx0aW5GdW5jdGlvbnMpOgorICAg
ICAgICAoV2ViQ29yZTo6SlNCdWlsdGluRnVuY3Rpb25zOjpieXRlTGVuZ3RoUXVldWluZ1N0cmF0
ZWd5QnVpbHRpbnMpOgorICAgICAgICAoV2ViQ29yZTo6SlNCdWlsdGluRnVuY3Rpb25zOjpjb3Vu
dFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zKToKKyAgICAgICAgKFdlYkNvcmU6OkpTQnVpbHRpbkZ1
bmN0aW9uczo6cmVhZGFibGVTdHJlYW1CdWlsdGlucyk6CisgICAgICAgIChXZWJDb3JlOjpKU0J1
aWx0aW5GdW5jdGlvbnM6OnJlYWRhYmxlU3RyZWFtQ29udHJvbGxlckJ1aWx0aW5zKToKKyAgICAg
ICAgKFdlYkNvcmU6OkpTQnVpbHRpbkZ1bmN0aW9uczo6cmVhZGFibGVTdHJlYW1JbnRlcm5hbHNC
dWlsdGlucyk6CisgICAgICAgIChXZWJDb3JlOjpKU0J1aWx0aW5GdW5jdGlvbnM6OnJlYWRhYmxl
U3RyZWFtUmVhZGVyQnVpbHRpbnMpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVKU0Ns
aWVudERhdGEuaDoKKyAgICAgICAgKFdlYkNvcmU6OkpTVk1DbGllbnREYXRhOjpKU1ZNQ2xpZW50
RGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpKU1ZNQ2xpZW50RGF0YTo6fkpTVk1DbGllbnREYXRh
KToKKyAgICAgICAgKFdlYkNvcmU6OkpTVk1DbGllbnREYXRhOjpidWlsdGluRnVuY3Rpb25zKToK
KyAgICAgICAgKFdlYkNvcmU6OmluaXROb3JtYWxXb3JsZENsaWVudERhdGEpOgorICAgICAgICAo
V2ViQ29yZTo6SlNWTUNsaWVudERhdGE6Om5vcm1hbFdvcmxkKTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OkpTVk1DbGllbnREYXRhOjpnZXRBbGxXb3JsZHMpOiBEZWxldGVkLgorCiAyMDE1
LTEwLTA4ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZp
ZXdlZCwgYnVpbGQgZml4IGZvciBFTkFCTEUoTUVESUFfU0VTU0lPTikgYWZ0ZXIgcjE5MDAzMC4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9nZW5lcmF0ZS1qcy1idWlsdGlucyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9nZW5lcmF0ZS1qcy1idWlsdGlucwppbmRleCBiMjg0MWY0
ZDJhM2ZiZjBiY2FiZGVmZTZjYTAzYWFhNGQ3OWEyNjNmLi5kZmY0MTg3M2RhMmI2NWE3NzExNGNm
NWQ0MWU4N2E0YzBkMzA2MzdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZ2Vu
ZXJhdGUtanMtYnVpbHRpbnMKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2dlbmVyYXRlLWpz
LWJ1aWx0aW5zCkBAIC0zMTQsOCArMzE0LDggQEAgaWYgKG5hbWVzcGFjZSA9PSAiSlNDIik6CiBl
bHNlOgogICAgIGJ1aWx0aW5OYW1lID0gc2NvcGVOYW1lWzBdLmxvd2VyKCkgKyBzY29wZU5hbWVb
MTpdCiAgICAgYnVpbHRpbnNJbXBsZW1lbnRhdGlvbi53cml0ZSgiIiJ7XFwKLSAgICBXZWJDb3Jl
SlNDbGllbnREYXRhKiBjbGllbnREYXRhID0gc3RhdGljX2Nhc3Q8V2ViQ29yZUpTQ2xpZW50RGF0
YSo+KHZtLmNsaWVudERhdGEpOyBcXAotICAgIHJldHVybiBjbGllbnREYXRhLT4lcygpLmNvZGVO
YW1lIyNFeGVjdXRhYmxlKCktPmxpbmsodm0sIGNsaWVudERhdGEtPiVzKCkuY29kZU5hbWUjI1Nv
dXJjZSgpKTsgXFwKKyAgICBKU1ZNQ2xpZW50RGF0YSogY2xpZW50RGF0YSA9IHN0YXRpY19jYXN0
PEpTVk1DbGllbnREYXRhKj4odm0uY2xpZW50RGF0YSk7IFxcCisgICAgcmV0dXJuIGNsaWVudERh
dGEtPmJ1aWx0aW5GdW5jdGlvbnMoKS4lcygpLmNvZGVOYW1lIyNFeGVjdXRhYmxlKCktPmxpbmso
dm0sIGNsaWVudERhdGEtPmJ1aWx0aW5GdW5jdGlvbnMoKS4lcygpLmNvZGVOYW1lIyNTb3VyY2Uo
KSk7IFxcCiAiIiIlIChidWlsdGluTmFtZSwgYnVpbHRpbk5hbWUpKQogCiBidWlsdGluc0ltcGxl
bWVudGF0aW9uLndyaXRlKCIiIn0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlz
dHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggYjQ1NWJjODI4Mzgw
MGRkNDRkYTczNWQyMGEyNjYzMzk3YTM1MDgzYi4uMzZmZDY0ZTE3MGJkN2FlYjI2MjZjMmQ4N2Iz
Mzg2MTI3NjlmNGM4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
KysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTM1ODIsNyArMzU4Miw3IEBA
IGZvcmVhY2ggKF9idWlsdGluanMgJHtXRUJDT1JFX0pTX0JVSUxUSU5TfSkKICAgICBnZXRfZmls
ZW5hbWVfY29tcG9uZW50KF9uYW1lICR7X2J1aWx0aW5qc30gTkFNRV9XRSkKICAgICBhZGRfY3Vz
dG9tX2NvbW1hbmQoCiAgICAgICAgIE9VVFBVVCAke0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJ
Un0vJHtfbmFtZX1CdWlsdGluc1dyYXBwZXIuaCAke0RFUklWRURfU09VUkNFU19XRUJDT1JFX0RJ
Un0vJHtfbmFtZX1CdWlsdGlucy5oICR7REVSSVZFRF9TT1VSQ0VTX1dFQkNPUkVfRElSfS8ke19u
YW1lfUJ1aWx0aW5zLmNwcAotICAgICAgICBNQUlOX0RFUEVOREVOQ1kgJHtDTUFLRV9DVVJSRU5U
X1NPVVJDRV9ESVJ9L2dlbmVyYXRlLWpzLWJ1aWx0aW5zCisgICAgICAgIE1BSU5fREVQRU5ERU5D
WSAke1dFQkNPUkVfRElSfS9nZW5lcmF0ZS1qcy1idWlsdGlucwogICAgICAgICBERVBFTkRTICR7
V2ViQ29yZV9HRU5FUkFURV9KU19CVUlMVElOU19TQ1JJUFRTX0RJUn0vZ2VuZXJhdGUtanMtYnVp
bHRpbnMKICAgICAgICAgREVQRU5EUyAke19idWlsdGluanN9CiAgICAgICAgIENPTU1BTkQgJHtQ
WVRIT05fRVhFQ1VUQUJMRX0gJHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9L2dlbmVyYXRlLWpz
LWJ1aWx0aW5zIC0taW5wdXQgJHtfYnVpbHRpbmpzfSAtLW91dHB1dF9kaXIgJHtERVJJVkVEX1NP
VVJDRVNfV0VCQ09SRV9ESVJ9IC0tZ2VuZXJhdGVfanNfYnVpbHRpbnNfcGF0aCAke1dlYkNvcmVf
R0VORVJBVEVfSlNfQlVJTFRJTlNfU0NSSVBUU19ESVJ9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3N0cmVhbXMvQnl0ZUxlbmd0aFF1ZXVpbmdTdHJhdGVneS5qcyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9CeXRlTGVuZ3RoUXVldWluZ1N0cmF0ZWd5LmpzCmlu
ZGV4IGE4MjY3MzY3YzQ5ZDAxYTUyZWIxOWU3YTZhNmFlZWNlOTMzZmMwNjUuLmY5NDgxMjU4YTA1
MTEyMDEyZWYwZDQxNmU5Y2M0NmIwOTQxMWY1ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvc3RyZWFtcy9CeXRlTGVuZ3RoUXVldWluZ1N0cmF0ZWd5LmpzCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9CeXRlTGVuZ3RoUXVldWluZ1N0cmF0ZWd5LmpzCkBA
IC0yNCw2ICsyNCw4IEBACiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKKy8vIEBvcHRpb25hbD1TVFJF
QU1TX0FQSQorCiBmdW5jdGlvbiBzaXplKGNodW5rKQogewogICAgICJ1c2Ugc3RyaWN0IjsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9Db3VudFF1ZXVpbmdTdHJh
dGVneS5qcyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9Db3VudFF1ZXVpbmdTdHJh
dGVneS5qcwppbmRleCA5MTE3MzdkMGNlNWVkYTExZjE2ZTc3OGRhMWEzZGYxY2ZjODliMDBlLi40
NGQ2MzBiOGI4ZGMzZjIyNDY2MGU5ODEyZDNmMTNmNjFjNjgyYWYzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvQ291bnRRdWV1aW5nU3RyYXRlZ3kuanMKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL0NvdW50UXVldWluZ1N0cmF0ZWd5LmpzCkBA
IC0yMyw2ICsyMyw4IEBACiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKKy8vIEBvcHRpb25hbD1TVFJF
QU1TX0FQSQorCiBmdW5jdGlvbiBzaXplKCkKIHsKICAgICAidXNlIHN0cmljdCI7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW0uanMgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW0uanMKaW5kZXggZDM2
NjkzYTQ1MTM2MmVmZGM4YWY5NzE0YThlNjM5MDk1MzVlYTViYy4uNDQ4YzJhZDNhOTI3ODY3Nzc1
NDFiOTQ1ZTFjMWQ0MjIxYjQ5YWUyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
c3RyZWFtcy9SZWFkYWJsZVN0cmVhbS5qcwpAQCAtMjMsNiArMjMsOCBAQAogICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KICAqLwogCisvLyBAb3B0aW9uYWw9U1RSRUFNU19BUEkKKwogZnVuY3Rpb24gaW5pdGlhbGl6
ZVJlYWRhYmxlU3RyZWFtKHVuZGVybHlpbmdTb3VyY2UsIHN0cmF0ZWd5KQogewogICAgICJ1c2Ug
c3RyaWN0IjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFk
YWJsZVN0cmVhbUNvbnRyb2xsZXIuanMgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3N0cmVhbXMv
UmVhZGFibGVTdHJlYW1Db250cm9sbGVyLmpzCmluZGV4IDMwYzAzZDFkYzNjNDdlOTI0NjJlMzUx
NDljMDhjMmM4NDU1NTJmOTguLjk5ZjM3YzllMjJmMTA0ODU2MmY5NDQ4NTNjNmFhZWVkZGE3ZDgx
NTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0
cmVhbUNvbnRyb2xsZXIuanMKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9zdHJlYW1zL1Jl
YWRhYmxlU3RyZWFtQ29udHJvbGxlci5qcwpAQCAtMjMsNiArMjMsOCBAQAogICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KICAqLwogCisvLyBAb3B0aW9uYWw9U1RSRUFNU19BUEkKKwogZnVuY3Rpb24gZW5xdWV1ZShj
aHVuaykKIHsKICAgICAidXNlIHN0cmljdCI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1JbnRlcm5hbHMuanMgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3N0cmVhbXMvUmVhZGFibGVTdHJlYW1JbnRlcm5hbHMuanMKaW5kZXggZWJkN2Y5
OTUwN2M4NDIwNTNlODQ1YWU2MjViNzNmZWZmYWM2YzdmYy4uMzM5OTE4Yzc0YTA4MWYzY2Q1NDFl
MzhjY2ZiMWZmMzE1OGJlYjA4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9z
dHJlYW1zL1JlYWRhYmxlU3RyZWFtSW50ZXJuYWxzLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvc3RyZWFtcy9SZWFkYWJsZVN0cmVhbUludGVybmFscy5qcwpAQCAtMjMsNiArMjMsOSBA
QAogICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KICAqLwogCisvLyBAb3B0aW9uYWw9U1RSRUFNU19BUEkKKy8vIEBp
bnRlcm5hbHMKKwogZnVuY3Rpb24gcHJpdmF0ZUluaXRpYWxpemVSZWFkYWJsZVN0cmVhbVJlYWRl
cihzdHJlYW0pCiB7CiAgICAgInVzZSBzdHJpY3QiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtUmVhZGVyLmpzIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9zdHJlYW1zL1JlYWRhYmxlU3RyZWFtUmVhZGVyLmpzCmluZGV4IDI2OTQwYzMx
NjMwYTFiYjMyNjc0MWNhMjVhYmFiOWFmYzAwYmEyZDQuLmNlMjczYThkOWJlM2ZmNTQzNDU5MDM1
ZjY2NTVmYzExNmQxNWMwY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvc3Ry
ZWFtcy9SZWFkYWJsZVN0cmVhbVJlYWRlci5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3N0cmVhbXMvUmVhZGFibGVTdHJlYW1SZWFkZXIuanMKQEAgLTIzLDYgKzIzLDggQEAKICAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCiAgKi8KIAorLy8gQG9wdGlvbmFsPVNUUkVBTVNfQVBJCisKIGZ1bmN0aW9uIGNh
bmNlbChyZWFzb24pCiB7CiAgICAgInVzZSBzdHJpY3QiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5vcmRlciBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUub3JkZXIKaW5kZXgg
MTlhMTgwZDU0YjIzMTQwYWI1N2E5MzQwM2M3ZWFmMWQzYjc0ODNjMy4uMmRiYzFhMDdhZmM0YzFl
NWFiNGNhNTJjODhlOGZkZTg5MDI3NzVmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5vcmRlcgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLm9yZGVyCkBAIC0yNDcyMyw3
ICsyNDcyMyw3IEBAIF9fWk43V2ViQ29yZUwyNEpTRE9NVVJMQ29uc3RydWN0b3JUYWJsZUUKIF9f
WlpON1dlYkNvcmUxMndyYXBwZXJPd25lckVQTlNfMTVET01XcmFwcGVyV29ybGRFUE5TXzZET01V
UkxFRTEzanNET01VUkxPd25lcgogX19aR1ZaTjdXZWJDb3JlMTJ3cmFwcGVyT3duZXJFUE5TXzE1
RE9NV3JhcHBlcldvcmxkRVBOU182RE9NVVJMRUUxM2pzRE9NVVJMT3duZXIKIF9fWk43V2ViQ29y
ZUwyN0pTRE9NV2luZG93Q29uc3RydWN0b3JUYWJsZUUKLV9fWlRWTjdXZWJDb3JlMTlXZWJDb3Jl
SlNDbGllbnREYXRhRQorX19aVFZON1dlYkNvcmUxOUpTVk1DbGllbnREYXRhRQogX19aTjdXZWJD
b3JlTDQwSlNEeW5hbWljc0NvbXByZXNzb3JOb2RlQ29uc3RydWN0b3JUYWJsZUUKIF9fWk43V2Vi
Q29yZUwzOEpTRHluYW1pY3NDb21wcmVzc29yTm9kZVByb3RvdHlwZVRhYmxlRQogX19aTjdXZWJD
b3JlTDI5SlNEeW5hbWljc0NvbXByZXNzb3JOb2RlVGFibGVFCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZTJlYmU5NTI5NGI5YzMx
ZDQwMWUzY2VkNjkyNWU5MmIxYTc0MjY1Ni4uNDhkNWQwZjRmZTgwYzIyOThkMjc0Zjc4MjcxNWY5
NDYxZmY0ZDQwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagpAQCAtMTQ4NSw3ICsxNDg1LDYgQEAKIAkJNDBFQ0FFN0UxNkI4QjY3MjAw
QzM2MTAzIC8qIEpTRE9NRXJyb3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQwRUNBRTdEMTZCOEI2NzIwMEMzNjEwMyAvKiBKU0RPTUVycm9yLmggKi87
IH07CiAJCTQwRUNBRTgxMTZCOEI2OEEwMEMzNjEwMyAvKiBKU0RPTUVycm9yLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQwRUNBRTgwMTZCOEI2OEEw
MEMzNjEwMyAvKiBKU0RPTUVycm9yLmNwcCAqLzsgfTsKIAkJNDEwQjdFNzIxMDQ1RkFCMDAwRDgy
MjRGIC8qIEpTTWVzc2FnZUV2ZW50Q3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMEI3RTcxMTA0NUZBQjAwMEQ4MjI0RiAvKiBKU01lc3Nh
Z2VFdmVudEN1c3RvbS5jcHAgKi87IH07Ci0JCTQxMUE5MDQyMUJCQUI0N0EwMDBDRjE1NiAvKiBX
ZWJDb3JlSlNCdWlsdGlucy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0MTFBOTA0MTFCQkFCNDZEMDAwQ0YxNTYgLyogV2ViQ29yZUpTQnVpbHRpbnMu
Y3BwICovOyB9OwogCQk0MTIzMDgxQjEzOEM0Mjk3MDBCQ0NGQ0EgLyogV2ViQ29yZS5mcmFtZXdv
cmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5M0Yx
OUIxQTA4MjQ1RTVBMDAxRTlBQkMgLyogV2ViQ29yZS5mcmFtZXdvcmsgKi87IH07CiAJCTQxMjMw
OTEzMTM4QzQyRkYwMEJDQ0ZDQSAvKiBKYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsgaW4gRnJhbWV3
b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGODIxNjI5OTAyOUY0RkI1
MDEwMDAxMzEgLyogSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrICovOyB9OwogCQk0MTI3RDUzNzBG
OEFBQjFEMDBFNDI0RjUgLyogU2NyaXB0U3RhdGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEyN0Q1MzYwRjhBQUIxRDAwRTQyNEY1IC8qIFNjcmlw
dFN0YXRlLmNwcCAqLzsgfTsKQEAgLTE1MDgsNyArMTUwNyw3IEBACiAJCTQxNkUyOUE2MTAyRkE5
NjIwMDdGQzE0RSAvKiBXb3JrZXJSZXBvcnRpbmdQcm94eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE2RTI5QTUxMDJGQTk2MjAwN0ZDMTRFIC8qIFdv
cmtlclJlcG9ydGluZ1Byb3h5LmggKi87IH07CiAJCTQxNkU2RkU4MUJCRDEyREYwMDBBNjA0MyAv
KiBSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5QjAzRDgwNjFCQjMxMTBEMDBCNzY0RDkgLyogUmVh
ZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxNkU2RkU5MUJCRDEyRTUwMDBBNjA0MyAvKiBSZWFk
YWJsZVN0cmVhbUJ1aWx0aW5zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA5QjAzRDgwNjFCQjMxMTBEMDBCNzY0RDggLyogUmVhZGFibGVTdHJlYW1CdWls
dGlucy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0J
CTQxNkU2RkVBMUJCRDE2ODQwMDBBNjA0MyAvKiBSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0
aW5zV3JhcHBlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gOUIwM0Q4MDcxQkIzMTEwRDAwQjc2NEQ5IC8qIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVp
bHRpbnNXcmFwcGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKKwkJNDE2RTZGRUExQkJEMTY4NDAwMEE2MDQ0IC8qIFJlYWRhYmxlU3RyZWFtSW50ZXJu
YWxzQnVpbHRpbnNXcmFwcGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA5QjAzRDgwNzFCQjMxMTBEMDBCNzY0REEgLyogUmVhZGFibGVTdHJlYW1JbnRl
cm5hbHNCdWlsdGluc1dyYXBwZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk0MTcyNTNBQTEzNTRCQkJDMDAzNjBGMkEgLyogTWVkaWFDb250cm9s
RWxlbWVudHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDE3MjUzQTgxMzU0QkJCQzAwMzYwRjJBIC8qIE1lZGlhQ29udHJvbEVsZW1lbnRzLmNwcCAq
LzsgfTsKIAkJNDE3MjUzQUIxMzU0QkJCQzAwMzYwRjJBIC8qIE1lZGlhQ29udHJvbEVsZW1lbnRz
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTcyNTNB
OTEzNTRCQkJDMDAzNjBGMkEgLyogTWVkaWFDb250cm9sRWxlbWVudHMuaCAqLzsgfTsKIAkJNDE3
REE2RDkxMzczNEU2RTAwN0M1N0ZCIC8qIEludGVybmFscy5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTdEQTRDRjEzNzM0MzI2MDA3QzU3RkIgLyog
SW50ZXJuYWxzLmNwcCAqLzsgfTsKQEAgLTE1MjUsNiArMTUyNCwxMCBAQAogCQk0MThGODgwNTBG
Rjk1N0FGMDA4MEYwNDUgLyogSlNBYnN0cmFjdFdvcmtlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE4Rjg4MDMwRkY5NTdBRTAwODBGMDQ1IC8qIEpT
QWJzdHJhY3RXb3JrZXIuaCAqLzsgfTsKIAkJNDE5QkMyREUxNjg1MzI5OTAwRDY0RDZEIC8qIFZp
c2l0ZWRMaW5rU3RhdGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNDE5QkMyREMxNjg1MzI5OTAwRDY0RDZEIC8qIFZpc2l0ZWRMaW5rU3RhdGUuY3Bw
ICovOyB9OwogCQk0MTlCQzJERjE2ODUzMjk5MDBENjRENkQgLyogVmlzaXRlZExpbmtTdGF0ZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE5QkMyREQx
Njg1MzI5OTAwRDY0RDZEIC8qIFZpc2l0ZWRMaW5rU3RhdGUuaCAqLzsgfTsKKwkJNDE5QkU3NTYx
QkM3RjQxQjAwRTFDODVCIC8qIFdlYkNvcmVKU0J1aWx0aW5JbnRlcm5hbHMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxOUJFNzUzMUJDN0YzREIwMEUx
Qzg1QiAvKiBXZWJDb3JlSlNCdWlsdGluSW50ZXJuYWxzLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNDE5QkU3NTcxQkM3RjQyMTAwRTFDODVCIC8q
IFdlYkNvcmVKU0J1aWx0aW5zLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQxOUJFNzU0MUJDN0YzREIwMEUxQzg1QiAvKiBXZWJDb3JlSlNCdWlsdGlu
cy5jcHAgKi87IHNldHRpbmdzID0ge0FTU0VUX1RBR1MgPSAoKTsgfTsgfTsKKwkJNDE5QkU3NTgx
QkM3RjQyNzAwRTFDODVCIC8qIFdlYkNvcmVKU0J1aWx0aW5zLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTlCRTc1NTFCQzdGM0RCMDBFMUM4NUIgLyog
V2ViQ29yZUpTQnVpbHRpbnMuaCAqLzsgc2V0dGluZ3MgPSB7QVNTRVRfVEFHUyA9ICgpOyB9OyB9
OworCQk0MTlCRTc1OTFCQzdGNDJCMDBFMUM4NUIgLyogV2ViQ29yZUJ1aWx0aW5OYW1lcy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE5QkU3NTIxQkM3
RjNEQjAwRTFDODVCIC8qIFdlYkNvcmVCdWlsdGluTmFtZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVNT
RVRfVEFHUyA9ICgpOyB9OyB9OwogCQk0MUEzRDU4RTEwMUMxNTJEMDAzMTZEMDcgLyogRGVkaWNh
dGVkV29ya2VyVGhyZWFkLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDQxQTNENThDMTAxQzE1MkQwMDMxNkQwNyAvKiBEZWRpY2F0ZWRXb3JrZXJUaHJl
YWQuY3BwICovOyB9OwogCQk0MUEzRDU4RjEwMUMxNTJEMDAzMTZEMDcgLyogRGVkaWNhdGVkV29y
a2VyVGhyZWFkLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0MUEzRDU4RDEwMUMxNTJEMDAzMTZEMDcgLyogRGVkaWNhdGVkV29ya2VyVGhyZWFkLmggKi87
IH07CiAJCTQxQkY3MDBDMEZFODZGNDkwMDVFOERFQyAvKiBNZXNzYWdlUG9ydENoYW5uZWwuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxQkY3MDBBMEZF
ODZGNDkwMDVFOERFQyAvKiBNZXNzYWdlUG9ydENoYW5uZWwuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtODc2Myw3ICs4NzY2LDYgQEAKIAkJNDBF
Q0FFODAxNkI4QjY4QTAwQzM2MTAzIC8qIEpTRE9NRXJyb3IuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSlNET01FcnJvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTQxMEI3RTcxMTA0NUZBQjAwMEQ4MjI0RiAvKiBKU01lc3NhZ2VFdmVudEN1c3Rv
bS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU01lc3NhZ2VFdmVu
dEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMTg5RUY3MUFEODIz
MjgwMEI5MEEwRCAvKiBSZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXIuaWRsICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dDsgcGF0aCA9IFJlYWRhYmxlU3RyZWFtQ29udHJvbGxlci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07Ci0JCTQxMUE5MDQxMUJCQUI0NkQwMDBDRjE1NiAvKiBXZWJDb3JlSlNCdWlsdGlu
cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJDb3JlSlNCdWls
dGlucy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMjdENTM2MEY4QUFCMUQw
MEU0MjRGNSAvKiBTY3JpcHRTdGF0ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBTY3JpcHRTdGF0ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQx
MjlERjgxMUJCNUI3OUIwMDMyMkExNiAvKiBSZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXIuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVhZGFibGVTdHJlYW1Db250cm9sbGVyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMjlERjgyMUJCNUI3QTYwMDMyMkExNiAv
KiBSZWFkYWJsZVN0cmVhbVJlYWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBSZWFkYWJsZVN0cmVhbVJlYWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
ODgwNCw2ICs4ODA2LDEwIEBACiAJCTQxOEY4ODAzMEZGOTU3QUUwMDgwRjA0NSAvKiBKU0Fic3Ry
YWN0V29ya2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTQWJzdHJhY3RX
b3JrZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE5QkMyREMxNjg1MzI5OTAw
RDY0RDZEIC8qIFZpc2l0ZWRMaW5rU3RhdGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gVmlzaXRlZExpbmtTdGF0ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTQxOUJDMkREMTY4NTMyOTkwMEQ2NEQ2RCAvKiBWaXNpdGVkTGlua1N0YXRlLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFZpc2l0ZWRMaW5rU3RhdGUuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE5QkU3NTIxQkM3RjNEQjAwRTFDODVCIC8qIFdlYkNv
cmVCdWlsdGluTmFtZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQ29y
ZUJ1aWx0aW5OYW1lcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTlCRTc1MzFC
QzdGM0RCMDBFMUM4NUIgLyogV2ViQ29yZUpTQnVpbHRpbkludGVybmFscy5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDb3JlSlNCdWlsdGluSW50ZXJuYWxzLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxOUJFNzU0MUJDN0YzREIwMEUxQzg1QiAvKiBXZWJD
b3JlSlNCdWlsdGlucy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBX
ZWJDb3JlSlNCdWlsdGlucy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxOUJF
NzU1MUJDN0YzREIwMEUxQzg1QiAvKiBXZWJDb3JlSlNCdWlsdGlucy5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDb3JlSlNCdWlsdGlucy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk0MTlGQUZBRDFBQkFCQ0Q1MDA1QjgyOEIgLyogUmVhZGFibGVTdHJlYW1S
ZWFkZXIuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFJlYWRhYmxlU3RyZWFtUmVhZGVyLmlk
bDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFBMDIzRUQxQTM5REI3OTAwRjcyMkNG
IC8qIFJlYWRhYmxlU3RyZWFtLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBSZWFkYWJsZVN0
cmVhbS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxQTNENThDMTAxQzE1MkQw
MDMxNkQwNyAvKiBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gRGVkaWNhdGVkV29ya2VyVGhyZWFkLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTExMzIxLDcgKzExMzI3LDcgQEAKIAkJOUIwM0Q4MDYxQkIzMTEw
RDAwQjc2NEQ4IC8qIFJlYWRhYmxlU3RyZWFtQnVpbHRpbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gUmVhZGFibGVTdHJlYW1CdWlsdGlucy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk5QjAzRDgwNjFCQjMxMTBEMDBCNzY0RDkgLyogUmVhZGFibGVTdHJlYW1J
bnRlcm5hbHNCdWlsdGlucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZWFk
YWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTlCMDNEODA3MUJCMzExMEQwMEI3NjREOCAvKiBSZWFkYWJsZVN0cmVhbUJ1aWx0aW5zV3Jh
cHBlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZWFkYWJsZVN0cmVhbUJ1
aWx0aW5zV3JhcHBlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk5QjAzRDgwNzFC
QjMxMTBEMDBCNzY0RDkgLyogUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGluc1dyYXBwZXIu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVhZGFibGVTdHJlYW1JbnRlcm5h
bHNCdWlsdGluc1dyYXBwZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOUIwM0Q4
MDcxQkIzMTEwRDAwQjc2NERBIC8qIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnNXcmFw
cGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlYWRhYmxlU3RyZWFtSW50
ZXJuYWxzQnVpbHRpbnNXcmFwcGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTlC
MTlCNjdFMUI5NjRFNTIwMDM0ODc0NSAvKiBTaGFkb3dSb290LmlkbCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7
IHBhdGggPSBTaGFkb3dSb290LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOUIx
QUIwNzkxNjQ4QzY5RDAwNTFGM0YyIC8qIEhUTUxGb3JtQ29udHJvbHNDb2xsZWN0aW9uLmlkbCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBh
dGggPSBIVE1MRm9ybUNvbnRyb2xzQ29sbGVjdGlvbi5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTlCMUFCMDdCMTY0OEM3QzQwMDUxRjNGMiAvKiBKU0hUTUxGb3JtQ29udHJvbHND
b2xsZWN0aW9uQ3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEpTSFRNTEZvcm1Db250cm9sc0NvbGxlY3Rpb25DdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtMTcwNzAsNyArMTcwNzYsNyBAQAogCQkJCTlCMDNEODA2MUJCMzExMEQw
MEI3NjREOCAvKiBSZWFkYWJsZVN0cmVhbUJ1aWx0aW5zLmggKi8sCiAJCQkJOUIwM0Q4MDYxQkIz
MTEwRDAwQjc2NEQ5IC8qIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuaCAqLywKIAkJ
CQk5QjAzRDgwNzFCQjMxMTBEMDBCNzY0RDggLyogUmVhZGFibGVTdHJlYW1CdWlsdGluc1dyYXBw
ZXIuaCAqLywKLQkJCQk5QjAzRDgwNzFCQjMxMTBEMDBCNzY0RDkgLyogUmVhZGFibGVTdHJlYW1J
bnRlcm5hbHNCdWlsdGluc1dyYXBwZXIuaCAqLywKKwkJCQk5QjAzRDgwNzFCQjMxMTBEMDBCNzY0
REEgLyogUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGluc1dyYXBwZXIuaCAqLywKIAkJCQk0
M0I4NUVEMjE4Q0JFQzUyMDBFMzFBRjQgLyogU2VsZWN0b3JQc2V1ZG9DbGFzc0FuZENvbXBhdGli
aWxpdHlFbGVtZW50TWFwLmNwcCAqLywKIAkJCQk0M0I4NUVEMzE4Q0JFQzUyMDBFMzFBRjQgLyog
U2VsZWN0b3JQc2V1ZG9DbGFzc0FuZENvbXBhdGliaWxpdHlFbGVtZW50TWFwLmdwZXJmICovLAog
CQkJCTI2QUEwRjlEMThEMkExOEIwMDQxOTM4MSAvKiBTZWxlY3RvclBzZXVkb0VsZW1lbnRUeXBl
TWFwLmNwcCAqLywKQEAgLTIxNjY3LDcgKzIxNjczLDEwIEBACiAJCQkJMTQwMEQ3QTcxNzEzNkVB
NzAwNzdDRTA1IC8qIFNjcmlwdFdyYXBwYWJsZUlubGluZXMuaCAqLywKIAkJCQlBNzVFNDk3NTEw
NzUyQUNCMDBDOUI4OTYgLyogU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcCAqLywKIAkJCQlBNzVF
NDk3NDEwNzUyQUNCMDBDOUI4OTYgLyogU2VyaWFsaXplZFNjcmlwdFZhbHVlLmggKi8sCi0JCQkJ
NDExQTkwNDExQkJBQjQ2RDAwMENGMTU2IC8qIFdlYkNvcmVKU0J1aWx0aW5zLmNwcCAqLywKKwkJ
CQk0MTlCRTc1MjFCQzdGM0RCMDBFMUM4NUIgLyogV2ViQ29yZUJ1aWx0aW5OYW1lcy5oICovLAor
CQkJCTQxOUJFNzUzMUJDN0YzREIwMEUxQzg1QiAvKiBXZWJDb3JlSlNCdWlsdGluSW50ZXJuYWxz
LmggKi8sCisJCQkJNDE5QkU3NTQxQkM3RjNEQjAwRTFDODVCIC8qIFdlYkNvcmVKU0J1aWx0aW5z
LmNwcCAqLywKKwkJCQk0MTlCRTc1NTFCQzdGM0RCMDBFMUM4NUIgLyogV2ViQ29yZUpTQnVpbHRp
bnMuaCAqLywKIAkJCQlCQzUzRDkxMDExNDMxMENDMDAwRDgxN0UgLyogV2ViQ29yZUpTQ2xpZW50
RGF0YS5oICovLAogCQkJCTBGMDk5RDA2MTdCOTY4QTEwMEZGODRCOSAvKiBXZWJDb3JlVHlwZWRB
cnJheUNvbnRyb2xsZXIuY3BwICovLAogCQkJCTBGMDk5RDA3MTdCOTY4QTEwMEZGODRCOSAvKiBX
ZWJDb3JlVHlwZWRBcnJheUNvbnRyb2xsZXIuaCAqLywKQEAgLTI1MzcyLDYgKzI1MzgxLDcgQEAK
IAkJCQk5M0YxOTlFNTA4MjQ1RTU5MDAxRTlBQkMgLyogSFRNTENhbnZhc0VsZW1lbnQuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUE4REYzRkQwMDk3RkEwRkMwMDUyOTgxQiAvKiBIVE1MQ29sbGVjdGlv
bi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTc3QjM4NjUxMjI4ODNFOTAwQjgxRkY4IC8qIEhUTUxD
b25zdHJ1Y3Rpb25TaXRlLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MTlCRTc1OTFCQzdGNDJCMDBF
MUM4NUIgLyogV2ViQ29yZUJ1aWx0aW5OYW1lcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0MzRTUx
MEExOERGOEYzNTAwQzExMkY3IC8qIEhUTUxDb252ZXJ0ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUY1QzA0MURCMEZGQ0E3Q0UwMDgzOUQ0QSAvKiBIVE1MRGF0YUxpc3RFbGVtZW50LmggaW4gSGVh
ZGVycyAqLywKIAkJCQlEMzU5RDc4QTEyOUNBMjcxMDAwNkU1RDIgLyogSFRNTERldGFpbHNFbGVt
ZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTI1NzIxLDcgKzI1NzMxLDcgQEAKIAkJCQlGQzlFMEU0
RDE2NDE5QzFFMDAzOTJCRTMgLyogSlNET01XaW5kb3dDU1MuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTY1MkZCQkJDMERFMjdDQjYwMDAxRDM4NiAvKiBKU0RPTVdpbmRvd0N1c3RvbS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQkNCRkI1M0QwRENEMjlDRjAwMTlCM0U1IC8qIEpTRE9NV2luZG93U2hlbGwu
aCBpbiBIZWFkZXJzICovLAotCQkJCTQxNkU2RkVBMUJCRDE2ODQwMDBBNjA0MyAvKiBSZWFkYWJs
ZVN0cmVhbUludGVybmFsc0J1aWx0aW5zV3JhcHBlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDE2
RTZGRUExQkJEMTY4NDAwMEE2MDQ0IC8qIFJlYWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnNX
cmFwcGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk2NUUwRTk0NDExMzNDODlGMDBCNENCMTAgLyog
SlNET01XcmFwcGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlGRDc4NjhCQTEzNkI5OTkyMDBENDAz
REYgLyogSlNEeW5hbWljc0NvbXByZXNzb3JOb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQk2NURG
MzFGQTA5RDFDQzYwMDAwQkUzMjUgLyogSlNFbGVtZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTI1
OTEzLDYgKzI1OTIzLDcgQEAKIAkJCQlGREExNUVCMjEyQjAzRUUxMDAzQTU4M0EgLyogSlNQYW5u
ZXJOb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQk4QTlBNTg3NTExRTg0QzgxMDA4QUNGRDEgLyog
SlNQZXJmb3JtYW5jZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOEE5QTU4NzExMUU4NEMzNjAwOEFD
RkQxIC8qIEpTUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MTlC
RTc1ODFCQzdGNDI3MDBFMUM4NUIgLyogV2ViQ29yZUpTQnVpbHRpbnMuaCBpbiBIZWFkZXJzICov
LAogCQkJCThBOUE1ODg4MTFFODRGMzcwMDhBQ0ZEMSAvKiBKU1BlcmZvcm1hbmNlVGltaW5nLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlGREVBNjI0NzE1MjEwMkZDMDA0NzlERjAgLyogSlNQZXJpb2Rp
Y1dhdmUuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzQjcwRDZDMDlFQjBDN0MwMDlEODQ2OCAvKiBK
U1BsdWdpbkVsZW1lbnRGdW5jdGlvbnMuaCBpbiBIZWFkZXJzICovLApAQCAtMjYxODYsNiArMjYx
OTcsNyBAQAogCQkJCTBGREE3QzI3MTg4MzMzMzIwMEM5NTRCNSAvKiBKU1dlYktpdFBsYXliYWNr
VGFyZ2V0QXZhaWxhYmlsaXR5RXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5NEJENzlFMEY1
NUM5NEMwMDc0NzgyOCAvKiBKU1dlYktpdFBvaW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkzMUMw
RkY0MDBFNENFRkFDMDA3RDZGRTUgLyogSlNXZWJLaXRUcmFuc2l0aW9uRXZlbnQuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTQxOUJFNzU2MUJDN0Y0MUIwMEUxQzg1QiAvKiBXZWJDb3JlSlNCdWlsdGlu
SW50ZXJuYWxzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1REE1RTBGRDEwMkI5NTM4MDAwODhDRjkg
LyogSlNXZWJTb2NrZXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTY1REYzMjA2MDlEMUNDNjAwMDBC
RTMyNSAvKiBKU1doZWVsRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxQ0FBNUM2MEU4QkQy
MzYwMEE3M0VDQSAvKiBKU1dvcmtlci5oIGluIEhlYWRlcnMgKi8sCkBAIC0yOTA1OSw5ICsyOTA3
MSw5IEBACiAJCQkJMDcwNzU2OEIxNDIyNjJENjAwNDE0MTYxIC8qIEhUTUxUcmFja0VsZW1lbnQu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTc3QjM3MjUxMjI4NzIxNzAwQjgxRkY4IC8qIEhUTUxU
cmVlQnVpbGRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOEVBNzlGMzBBMTkxNkRGMDBBOEVG
NUYgLyogSFRNTFVMaXN0RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk0MTlCRTc1NzFC
QzdGNDIxMDBFMUM4NUIgLyogV2ViQ29yZUpTQnVpbHRpbnMuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJRTQ0NjEzQUEwQ0Q2MzMxMDAwRkFEQTc1IC8qIEhUTUxWaWRlb0VsZW1lbnQuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJODM5QUFGRUMxQTBDMEM4RDAwNjA1Rjk5IC8qIEhUTUxXQlJFbGVtZW50
LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTQxMUE5MDQyMUJCQUI0N0EwMDBDRjE1NiAvKiBXZWJD
b3JlSlNCdWlsdGlucy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwQjhDNTZENDBGMjg2MjdGMDAw
NTAyRTEgLyogSFRUUEhlYWRlck1hcC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQUM5MDBDMzE5
NDNDMEZDMDA4NjI1QjUgLyogSFRUUEhlYWRlck5hbWVzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTUxNEM3NjcyMENFOTIzQTEwMDdFRjNDRCAvKiBIVFRQUGFyc2Vycy5jcHAgaW4gU291cmNlcyAq
LywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0RPTVdyYXBwZXJXb3Js
ZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9ET01XcmFwcGVyV29ybGQuY3BwCmlu
ZGV4IDNkZDI1ZTE4YzE0ZjYxNGE0ODM4MTI3MmJhNTI5YTkyZGRiMGExZTYuLjY2NTdkMmY5ZTY3
Y2Y5NjUzM2NkYmEwZWU4OWMyMjU4NjFlOGY4OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0RPTVdyYXBwZXJXb3JsZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvRE9NV3JhcHBlcldvcmxkLmNwcApAQCAtMzYsMTQgKzM2LDE0IEBAIERPTVdyYXBw
ZXJXb3JsZDo6RE9NV3JhcHBlcldvcmxkKEpTQzo6Vk0mIHZtLCBib29sIGlzTm9ybWFsKQogewog
ICAgIFZNOjpDbGllbnREYXRhKiBjbGllbnREYXRhID0gbV92bS5jbGllbnREYXRhOwogICAgIEFT
U0VSVChjbGllbnREYXRhKTsKLSAgICBzdGF0aWNfY2FzdDxXZWJDb3JlSlNDbGllbnREYXRhKj4o
Y2xpZW50RGF0YSktPnJlbWVtYmVyV29ybGQoKnRoaXMpOworICAgIHN0YXRpY19jYXN0PEpTVk1D
bGllbnREYXRhKj4oY2xpZW50RGF0YSktPnJlbWVtYmVyV29ybGQoKnRoaXMpOwogfQogCiBET01X
cmFwcGVyV29ybGQ6On5ET01XcmFwcGVyV29ybGQoKQogewogICAgIFZNOjpDbGllbnREYXRhKiBj
bGllbnREYXRhID0gbV92bS5jbGllbnREYXRhOwogICAgIEFTU0VSVChjbGllbnREYXRhKTsKLSAg
ICBzdGF0aWNfY2FzdDxXZWJDb3JlSlNDbGllbnREYXRhKj4oY2xpZW50RGF0YSktPmZvcmdldFdv
cmxkKCp0aGlzKTsKKyAgICBzdGF0aWNfY2FzdDxKU1ZNQ2xpZW50RGF0YSo+KGNsaWVudERhdGEp
LT5mb3JnZXRXb3JsZCgqdGhpcyk7CiAKICAgICAvLyBUaGVzZSBpdGVtcyBhcmUgY3JlYXRlZCBs
YXppbHkuCiAgICAgd2hpbGUgKCFtX3NjcmlwdENvbnRyb2xsZXJzV2l0aFdpbmRvd1NoZWxscy5p
c0VtcHR5KCkpCkBAIC02Myw3ICs2Myw3IEBAIERPTVdyYXBwZXJXb3JsZCYgbm9ybWFsV29ybGQo
SlNDOjpWTSYgdm0pCiB7CiAgICAgVk06OkNsaWVudERhdGEqIGNsaWVudERhdGEgPSB2bS5jbGll
bnREYXRhOwogICAgIEFTU0VSVChjbGllbnREYXRhKTsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8
V2ViQ29yZUpTQ2xpZW50RGF0YSo+KGNsaWVudERhdGEpLT5ub3JtYWxXb3JsZCgpOworICAgIHJl
dHVybiBzdGF0aWNfY2FzdDxKU1ZNQ2xpZW50RGF0YSo+KGNsaWVudERhdGEpLT5ub3JtYWxXb3Js
ZCgpOwogfQogCiBET01XcmFwcGVyV29ybGQmIG1haW5UaHJlYWROb3JtYWxXb3JsZCgpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcAppbmRleCA5ZTBm
ZjRmYzg5YTY4MDA2M2Q1YWE3NTYyZmFjZTRiNjkxZmJmMGYwLi4yYWY5Nzk5ZWQxZWJlZDRmYjlj
YjhkOTRmNjc2OGFjOTU2MmNmYzAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRE9NV2luZG93QmFzZS5jcHAKQEAgLTcwLDkgKzcwLDcgQEAgSlNET01XaW5kb3dCYXNlOjpK
U0RPTVdpbmRvd0Jhc2UoVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgUGFzc1JlZlB0cjxE
T01XaW4KICAgICAsIG1fd2luZG93Q2xvc2VXYXRjaHBvaW50cygod2luZG93ICYmIHdpbmRvdy0+
ZnJhbWUoKSkgPyBJc1dhdGNoZWQgOiBJc0ludmFsaWRhdGVkKQogICAgICwgbV9pbXBsKHdpbmRv
dykKICAgICAsIG1fc2hlbGwoc2hlbGwpCi0jaWYgRU5BQkxFKFNUUkVBTVNfQVBJKQotICAgICwg
bV9yZWFkYWJsZVN0cmVhbUZ1bmN0aW9ucyh2bSkKLSNlbmRpZgorICAgICwgbV9wcml2YXRlRnVu
Y3Rpb25zKHZtKQogewogfQogCkBAIC04MSwyNSArNzksMjMgQEAgdm9pZCBKU0RPTVdpbmRvd0Jh
c2U6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNET01XaW5kb3dTaGVsbCogc2hlbGwpCiAgICAg
QmFzZTo6ZmluaXNoQ3JlYXRpb24odm0sIHNoZWxsKTsKICAgICBBU1NFUlQoaW5oZXJpdHMoaW5m
bygpKSk7CiAKLSNpZiBFTkFCTEUoU1RSRUFNU19BUEkpCi0gICAgbV9yZWFkYWJsZVN0cmVhbUZ1
bmN0aW9ucy5pbml0KCp0aGlzKTsKLSNlbmRpZgorICAgIG1fcHJpdmF0ZUZ1bmN0aW9ucy5pbml0
KCp0aGlzKTsKIAogICAgIEdsb2JhbFByb3BlcnR5SW5mbyBzdGF0aWNHbG9iYWxzW10gPSB7CiAg
ICAgICAgIEdsb2JhbFByb3BlcnR5SW5mbyh2bS5wcm9wZXJ0eU5hbWVzLT5kb2N1bWVudCwganNO
dWxsKCksIERvbnREZWxldGUgfCBSZWFkT25seSksCiAgICAgICAgIEdsb2JhbFByb3BlcnR5SW5m
byh2bS5wcm9wZXJ0eU5hbWVzLT53aW5kb3csIG1fc2hlbGwsIERvbnREZWxldGUgfCBSZWFkT25s
eSksCiAjaWYgRU5BQkxFKFNUUkVBTVNfQVBJKQotICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8o
c3RhdGljX2Nhc3Q8V2ViQ29yZUpTQ2xpZW50RGF0YSo+KHZtLmNsaWVudERhdGEpLT5idWlsdGlu
TmFtZXMoKS5yZWFkYWJsZVN0cmVhbUNsb3NlZFByaXZhdGVOYW1lKCksIGpzTnVtYmVyKDEpLCBE
b250RGVsZXRlIHwgUmVhZE9ubHkpLAotICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8oc3RhdGlj
X2Nhc3Q8V2ViQ29yZUpTQ2xpZW50RGF0YSo+KHZtLmNsaWVudERhdGEpLT5idWlsdGluTmFtZXMo
KS5yZWFkYWJsZVN0cmVhbUVycm9yZWRQcml2YXRlTmFtZSgpLCBqc051bWJlcigyKSwgRG9udERl
bGV0ZSB8IFJlYWRPbmx5KSwKLSAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHN0YXRpY19jYXN0
PFdlYkNvcmVKU0NsaWVudERhdGEqPih2bS5jbGllbnREYXRhKS0+YnVpbHRpbk5hbWVzKCkucmVh
ZGFibGVTdHJlYW1SZWFkYWJsZVByaXZhdGVOYW1lKCksIGpzTnVtYmVyKDMpLCBEb250RGVsZXRl
IHwgUmVhZE9ubHkpLAotICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8oc3RhdGljX2Nhc3Q8V2Vi
Q29yZUpTQ2xpZW50RGF0YSo+KHZtLmNsaWVudERhdGEpLT5idWlsdGluTmFtZXMoKS5SZWFkYWJs
ZVN0cmVhbUNvbnRyb2xsZXJQcml2YXRlTmFtZSgpLCBjcmVhdGVSZWFkYWJsZVN0cmVhbUNvbnRy
b2xsZXJQcml2YXRlQ29uc3RydWN0b3Iodm0sICp0aGlzKSwgRG9udERlbGV0ZSB8IFJlYWRPbmx5
KSwKLSAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKHN0YXRpY19jYXN0PFdlYkNvcmVKU0NsaWVu
dERhdGEqPih2bS5jbGllbnREYXRhKS0+YnVpbHRpbk5hbWVzKCkuUmVhZGFibGVTdHJlYW1SZWFk
ZXJQcml2YXRlTmFtZSgpLCBjcmVhdGVSZWFkYWJsZVN0cmVhbVJlYWRlclByaXZhdGVDb25zdHJ1
Y3Rvcih2bSwgKnRoaXMpLCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAorICAgICAgICBHbG9iYWxQ
cm9wZXJ0eUluZm8oc3RhdGljX2Nhc3Q8SlNWTUNsaWVudERhdGEqPih2bS5jbGllbnREYXRhKS0+
YnVpbHRpbk5hbWVzKCkucmVhZGFibGVTdHJlYW1DbG9zZWRQcml2YXRlTmFtZSgpLCBqc051bWJl
cigxKSwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KSwKKyAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZv
KHN0YXRpY19jYXN0PEpTVk1DbGllbnREYXRhKj4odm0uY2xpZW50RGF0YSktPmJ1aWx0aW5OYW1l
cygpLnJlYWRhYmxlU3RyZWFtRXJyb3JlZFByaXZhdGVOYW1lKCksIGpzTnVtYmVyKDIpLCBEb250
RGVsZXRlIHwgUmVhZE9ubHkpLAorICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8oc3RhdGljX2Nh
c3Q8SlNWTUNsaWVudERhdGEqPih2bS5jbGllbnREYXRhKS0+YnVpbHRpbk5hbWVzKCkucmVhZGFi
bGVTdHJlYW1SZWFkYWJsZVByaXZhdGVOYW1lKCksIGpzTnVtYmVyKDMpLCBEb250RGVsZXRlIHwg
UmVhZE9ubHkpLAorICAgICAgICBHbG9iYWxQcm9wZXJ0eUluZm8oc3RhdGljX2Nhc3Q8SlNWTUNs
aWVudERhdGEqPih2bS5jbGllbnREYXRhKS0+YnVpbHRpbk5hbWVzKCkuUmVhZGFibGVTdHJlYW1D
b250cm9sbGVyUHJpdmF0ZU5hbWUoKSwgY3JlYXRlUmVhZGFibGVTdHJlYW1Db250cm9sbGVyUHJp
dmF0ZUNvbnN0cnVjdG9yKHZtLCAqdGhpcyksIERvbnREZWxldGUgfCBSZWFkT25seSksCisgICAg
ICAgIEdsb2JhbFByb3BlcnR5SW5mbyhzdGF0aWNfY2FzdDxKU1ZNQ2xpZW50RGF0YSo+KHZtLmNs
aWVudERhdGEpLT5idWlsdGluTmFtZXMoKS5SZWFkYWJsZVN0cmVhbVJlYWRlclByaXZhdGVOYW1l
KCksIGNyZWF0ZVJlYWRhYmxlU3RyZWFtUmVhZGVyUHJpdmF0ZUNvbnN0cnVjdG9yKHZtLCAqdGhp
cyksIERvbnREZWxldGUgfCBSZWFkT25seSksCiAjZGVmaW5lIERFQ0xBUkVfR0xPQkFMX1NUQVRJ
QyhuYW1lKVwKICAgICAgICAgR2xvYmFsUHJvcGVydHlJbmZvKFwKLSAgICAgICAgICAgIHN0YXRp
Y19jYXN0PFdlYkNvcmVKU0NsaWVudERhdGEqPih2bS5jbGllbnREYXRhKS0+cmVhZGFibGVTdHJl
YW1JbnRlcm5hbHNCdWlsdGlucygpLm5hbWUjI1ByaXZhdGVOYW1lKCksXAotICAgICAgICAgICAg
bV9yZWFkYWJsZVN0cmVhbUZ1bmN0aW9ucy5tXyMjbmFtZSMjRnVuY3Rpb24uZ2V0KCkgLCBEb250
RGVsZXRlIHwgUmVhZE9ubHkpLAorICAgICAgICAgICAgc3RhdGljX2Nhc3Q8SlNWTUNsaWVudERh
dGEqPih2bS5jbGllbnREYXRhKS0+YnVpbHRpbkZ1bmN0aW9ucygpLnJlYWRhYmxlU3RyZWFtSW50
ZXJuYWxzQnVpbHRpbnMoKS5uYW1lIyNQcml2YXRlTmFtZSgpLCBcCisgICAgICAgICAgICBtX3By
aXZhdGVGdW5jdGlvbnMucmVhZGFibGVTdHJlYW1JbnRlcm5hbHMoKS5tXyMjbmFtZSMjRnVuY3Rp
b24uZ2V0KCkgLCBEb250RGVsZXRlIHwgUmVhZE9ubHkpLAogICAgICAgICBXRUJDT1JFUkVBREFC
TEVTVFJFQU1JTlRFUk5BTFNfRk9SRUFDSF9CVUlMVElOX0ZVTkNUSU9OX05BTUUoREVDTEFSRV9H
TE9CQUxfU1RBVElDKQotI3VuZGVmIEVYUE9SVF9GVU5DVElPTgorI3VuZGVmIERFQ0xBUkVfR0xP
QkFMX1NUQVRJQwogI2VuZGlmCiAgICAgfTsKIApAQCAtMTExLDkgKzEwNyw3IEBAIHZvaWQgSlNE
T01XaW5kb3dCYXNlOjp2aXNpdENoaWxkcmVuKEpTQ2VsbCogY2VsbCwgU2xvdFZpc2l0b3ImIHZp
c2l0b3IpCiAgICAgSlNET01XaW5kb3dCYXNlKiB0aGlzT2JqZWN0ID0ganNDYXN0PEpTRE9NV2lu
ZG93QmFzZSo+KGNlbGwpOwogICAgIEFTU0VSVF9HQ19PQkpFQ1RfSU5IRVJJVFModGhpc09iamVj
dCwgaW5mbygpKTsKICAgICBCYXNlOjp2aXNpdENoaWxkcmVuKHRoaXNPYmplY3QsIHZpc2l0b3Ip
OwotI2lmIEVOQUJMRShTVFJFQU1TX0FQSSkKLSAgICB0aGlzT2JqZWN0LT5tX3JlYWRhYmxlU3Ry
ZWFtRnVuY3Rpb25zLnZpc2l0KHZpc2l0b3IpOwotI2VuZGlmCisgICAgdGhpc09iamVjdC0+bV9w
cml2YXRlRnVuY3Rpb25zLnZpc2l0KHZpc2l0b3IpOwogfQogCiB2b2lkIEpTRE9NV2luZG93QmFz
ZTo6ZGVzdHJveShKU0NlbGwqIGNlbGwpCkBAIC0yOTcsNyArMjkxLDcgQEAgSlNET01XaW5kb3cq
IHRvSlNET01XaW5kb3coSlNWYWx1ZSB2YWx1ZSkKIHZvaWQgSlNET01XaW5kb3dCYXNlOjpmaXJl
RnJhbWVDbGVhcmVkV2F0Y2hwb2ludHNGb3JXaW5kb3coRE9NV2luZG93KiB3aW5kb3cpCiB7CiAg
ICAgSlNDOjpWTSYgdm0gPSBKU0RPTVdpbmRvd0Jhc2U6OmNvbW1vblZNKCk7Ci0gICAgV2ViQ29y
ZUpTQ2xpZW50RGF0YSogY2xpZW50RGF0YSA9IHN0YXRpY19jYXN0PFdlYkNvcmVKU0NsaWVudERh
dGEqPih2bS5jbGllbnREYXRhKTsKKyAgICBKU1ZNQ2xpZW50RGF0YSogY2xpZW50RGF0YSA9IHN0
YXRpY19jYXN0PEpTVk1DbGllbnREYXRhKj4odm0uY2xpZW50RGF0YSk7CiAgICAgVmVjdG9yPFJl
ZjxET01XcmFwcGVyV29ybGQ+PiB3cmFwcGVyV29ybGRzOwogICAgIGNsaWVudERhdGEtPmdldEFs
bFdvcmxkcyh3cmFwcGVyV29ybGRzKTsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgd3Jh
cHBlcldvcmxkcy5zaXplKCk7ICsraSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RPTVdpbmRvd0Jhc2UuaAppbmRleCBmNDA4NzJmNWVhMDk1Yzk4MzYzOWQ2ZWRhNzA5NTdiZTg1
OGI0ZTAxLi4xMDc2NDBjMTc2OGZiN2Q4MmU3OTRiMTA2ZjAyM2IyOTE0Mzg5ZjlmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaApAQCAtMjIsNyArMjIs
NyBAQAogCiAjaW5jbHVkZSAiSlNET01CaW5kaW5nLmgiCiAjaW5jbHVkZSAiSlNET01HbG9iYWxP
YmplY3QuaCIKLSNpbmNsdWRlICJSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zV3JhcHBl
ci5oIgorI2luY2x1ZGUgIldlYkNvcmVKU0J1aWx0aW5JbnRlcm5hbHMuaCIKICNpbmNsdWRlIDx3
dGYvRm9yd2FyZC5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC04Nyw5ICs4Nyw3IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgUmVmUHRyPERPTVdpbmRvdz4gbV9pbXBsOwogICAg
ICAgICBKU0RPTVdpbmRvd1NoZWxsKiBtX3NoZWxsOwogCi0jaWYgRU5BQkxFKFNUUkVBTVNfQVBJ
KQotICAgICAgICBSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5GdW5jdGlvbnMgbV9yZWFk
YWJsZVN0cmVhbUZ1bmN0aW9uczsKLSNlbmRpZgorICAgICAgICBKU0J1aWx0aW5JbnRlcm5hbEZ1
bmN0aW9ucyBtX3ByaXZhdGVGdW5jdGlvbnM7CiAgICAgfTsKIAogICAgIC8vIFJldHVybnMgYSBK
U0RPTVdpbmRvdyBvciBqc051bGwoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvU2NyaXB0Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9T
Y3JpcHRDb250cm9sbGVyLmNwcAppbmRleCA0YjNiMDk3MmJlNzdmM2M3NjU5NWYxNDBlMjZhNzQ4
ZmY4ZWE0NTBjLi5lMmNmMDkyMmNjOGE2MmM3NzIzZjc1YzY3OTU4Njc3YjhjY2YxZmUxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRDb250cm9sbGVyLmNwcApAQCAt
MTk0LDcgKzE5NCw3IEBAIFZlY3RvcjxKU0M6OlN0cm9uZzxKU0RPTVdpbmRvd1NoZWxsPj4gU2Ny
aXB0Q29udHJvbGxlcjo6d2luZG93U2hlbGxzKCkKIAogdm9pZCBTY3JpcHRDb250cm9sbGVyOjpn
ZXRBbGxXb3JsZHMoVmVjdG9yPFJlZjxET01XcmFwcGVyV29ybGQ+PiYgd29ybGRzKQogewotICAg
IHN0YXRpY19jYXN0PFdlYkNvcmVKU0NsaWVudERhdGEqPihKU0RPTVdpbmRvdzo6Y29tbW9uVk0o
KS5jbGllbnREYXRhKS0+Z2V0QWxsV29ybGRzKHdvcmxkcyk7CisgICAgc3RhdGljX2Nhc3Q8SlNW
TUNsaWVudERhdGEqPihKU0RPTVdpbmRvdzo6Y29tbW9uVk0oKS5jbGllbnREYXRhKS0+Z2V0QWxs
V29ybGRzKHdvcmxkcyk7CiB9CiAKIHZvaWQgU2NyaXB0Q29udHJvbGxlcjo6Y2xlYXJXaW5kb3dT
aGVsbChET01XaW5kb3cqIG5ld0RPTVdpbmRvdywgYm9vbCBnb2luZ0ludG9QYWdlQ2FjaGUpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFs
dWUuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2VyaWFsaXplZFNjcmlwdFZhbHVl
LmNwcAppbmRleCA2MmVhMWMxYmRjZWQ2MzA2NTg5OGE4YjQxYjBiNmQyMWI4NTdhYjg3Li4wODhl
Y2FjYzg4ZDAyZTc4MjMyNTY0Y2NlNjU1OGYxMzcwZGUwZjUxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9TZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAKQEAgLTI2MzQs
NyArMjYzNCw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU6OkFycmF5
QnVmZmVyQ29udGVudHNBcnJheT4gU2VyaWFsaXplZFNjcmlwCiAKICAgICBhdXRvIGNvbnRlbnRz
ID0gc3RkOjptYWtlX3VuaXF1ZTxBcnJheUJ1ZmZlckNvbnRlbnRzQXJyYXk+KGFycmF5QnVmZmVy
cy5zaXplKCkpOwogICAgIFZlY3RvcjxSZWY8RE9NV3JhcHBlcldvcmxkPj4gd29ybGRzOwotICAg
IHN0YXRpY19jYXN0PFdlYkNvcmVKU0NsaWVudERhdGEqPihleGVjLT52bSgpLmNsaWVudERhdGEp
LT5nZXRBbGxXb3JsZHMod29ybGRzKTsKKyAgICBzdGF0aWNfY2FzdDxKU1ZNQ2xpZW50RGF0YSo+
KGV4ZWMtPnZtKCkuY2xpZW50RGF0YSktPmdldEFsbFdvcmxkcyh3b3JsZHMpOwogCiAgICAgSGFz
aFNldDxKU0M6OkFycmF5QnVmZmVyKj4gdmlzaXRlZDsKICAgICBmb3IgKHNpemVfdCBhcnJheUJ1
ZmZlckluZGV4ID0gMDsgYXJyYXlCdWZmZXJJbmRleCA8IGFycmF5QnVmZmVycy5zaXplKCk7IGFy
cmF5QnVmZmVySW5kZXgrKykgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvV2ViQ29yZUpTQnVpbHRpbkludGVybmFscy5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvV2ViQ29yZUpTQnVpbHRpbkludGVybmFscy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRmNjM3OTM3N2YwOTkx
MzFmYzRiYjg5YzdkNGNlNzNmOWIyNmQ1YmMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlSlNCdWlsdGluSW50ZXJuYWxzLmgKQEAgLTAsMCArMSw1
OSBAQAorLyoKKyAqCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g
cmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2Yg
dGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBi
eSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqICB2ZXJzaW9uIDIgb2Yg
dGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgor
ICogIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwg
YmUgdXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo
ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqICBMZXNzZXIgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUg
cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiAgTGlj
ZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBT
b2Z0d2FyZQorICogIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGgg
Rmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQorICovCisKKyNpZm5kZWYgV2ViQ29y
ZUpTQnVpbHRpbkludGVybmFsc19oCisjZGVmaW5lIFdlYkNvcmVKU0J1aWx0aW5JbnRlcm5hbHNf
aAorCisjaWYgRU5BQkxFKFNUUkVBTVNfQVBJKQorI2luY2x1ZGUgIlJlYWRhYmxlU3RyZWFtSW50
ZXJuYWxzQnVpbHRpbnNXcmFwcGVyLmgiCisjZW5kaWYKKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitjbGFzcyBKU0J1aWx0aW5JbnRlcm5hbEZ1bmN0aW9ucyB7CitwdWJsaWM6CitleHBsaWNpdCBK
U0J1aWx0aW5JbnRlcm5hbEZ1bmN0aW9ucyhKU0M6OlZNJiB2KQorICAgICAgICA6IHZtKHYpCisj
aWYgRU5BQkxFKFNUUkVBTVNfQVBJKQorICAgICAgICAsIG1fcmVhZGFibGVTdHJlYW1JbnRlcm5h
bHNGdW5jdGlvbnModm0pCisjZW5kaWYKKyAgICB7IH0KKworI2lmIEVOQUJMRShTVFJFQU1TX0FQ
SSkKKyAgICBSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5GdW5jdGlvbnMgcmVhZGFibGVT
dHJlYW1JbnRlcm5hbHMoKSB7IHJldHVybiBtX3JlYWRhYmxlU3RyZWFtSW50ZXJuYWxzRnVuY3Rp
b25zOyB9CisjZW5kaWYKKyAgICB2b2lkIHZpc2l0KEpTQzo6U2xvdFZpc2l0b3ImIHZpc2l0b3Ip
IHsKKyNpZiBFTkFCTEUoU1RSRUFNU19BUEkpCisgICAgICAgIG1fcmVhZGFibGVTdHJlYW1JbnRl
cm5hbHNGdW5jdGlvbnMudmlzaXQodmlzaXRvcik7CisjZW5kaWYKKyAgICB9CisgICAgdm9pZCBp
bml0KEpTQzo6SlNHbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkgeworI2lmIEVOQUJMRShTVFJF
QU1TX0FQSSkKKyAgICAgICAgbV9yZWFkYWJsZVN0cmVhbUludGVybmFsc0Z1bmN0aW9ucy5pbml0
KGdsb2JhbE9iamVjdCk7CisjZW5kaWYKKyAgICB9CisKK3ByaXZhdGU6CisgICAgSlNDOjpWTSYg
dm07CisjaWYgRU5BQkxFKFNUUkVBTVNfQVBJKQorICAgICBSZWFkYWJsZVN0cmVhbUludGVybmFs
c0J1aWx0aW5GdW5jdGlvbnMgbV9yZWFkYWJsZVN0cmVhbUludGVybmFsc0Z1bmN0aW9uczsKKyNl
bmRpZgorCit9OworCit9CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1dlYkNvcmVKU0J1aWx0aW5zLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1dlYkNvcmVKU0J1aWx0aW5zLmNwcAppbmRleCA5NmM3ZTBlOTdlNzE4NzAwMGNjMGExNWExZGRh
OTdjNDUwYWFiYjQ2Li4yM2Q0MjFkYjA5NWMxODcyMTA4ODA0NTU4MDFmNWMyOGI2ZDU0NzMxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlSlNCdWlsdGlucy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQnVpbHRpbnMuY3Bw
CkBAIC0xLDI2ICsxLDE4IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDE1LCBDYW5vbiBJbmMu
IEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAq
IGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUg
c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogIG1vZGlmeSBpdCB1
bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqICBMaWNl
bnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIK
KyAqICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxh
dGVyIHZlcnNpb24uCiAgKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
LSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICogIFRoaXMgbGlicmFy
eSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICog
IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh
bnR5IG9mCisgKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqICBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm
b3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5
IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBhbG9uZyB3aXRo
IHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogIEZv
dW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3Rvbiwg
TUEgIDAyMTEwLTEzMDEgIFVTQQogICovCiAKICNpbmNsdWRlICJjb25maWcuaCIKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVKU0J1aWx0aW5zLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlSlNCdWlsdGlucy5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdm
MmYzZjc5YjdkMDdiODU5NDRhNjQ4YzBhYTQzODBmZDNjZTY5ZWYKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlSlNCdWlsdGlucy5oCkBAIC0wLDAg
KzEsNzYgQEAKKy8qCisgKgorICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug
Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1z
IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiAgTGljZW5zZSBhcyBwdWJsaXNo
ZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiAgdmVyc2lvbiAy
IG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgor
ICoKKyAqICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3
aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl
biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiAgTGVzc2VyIEdlbmVy
YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiAgWW91IHNob3VsZCBo
YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICog
IExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZy
ZWUgU29mdHdhcmUKKyAqICBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZp
ZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKKyAqLworCisjaWZuZGVmIFdl
YkNvcmVKU0J1aWx0aW5zX2gKKyNkZWZpbmUgV2ViQ29yZUpTQnVpbHRpbnNfaAorCisjaWYgRU5B
QkxFKFNUUkVBTVNfQVBJKQorI2luY2x1ZGUgIkJ5dGVMZW5ndGhRdWV1aW5nU3RyYXRlZ3lCdWls
dGluc1dyYXBwZXIuaCIKKyNpbmNsdWRlICJDb3VudFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zV3Jh
cHBlci5oIgorI2luY2x1ZGUgIlJlYWRhYmxlU3RyZWFtQnVpbHRpbnNXcmFwcGVyLmgiCisjaW5j
bHVkZSAiUmVhZGFibGVTdHJlYW1Db250cm9sbGVyQnVpbHRpbnNXcmFwcGVyLmgiCisjaW5jbHVk
ZSAiUmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGluc1dyYXBwZXIuaCIKKyNpbmNsdWRlICJS
ZWFkYWJsZVN0cmVhbVJlYWRlckJ1aWx0aW5zV3JhcHBlci5oIgorI2VuZGlmCisKKworI2luY2x1
ZGUgPHJ1bnRpbWUvVk0uaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBKU0J1aWx0
aW5GdW5jdGlvbnMgeworcHVibGljOgorICAgIGV4cGxpY2l0IEpTQnVpbHRpbkZ1bmN0aW9ucyhK
U0M6OlZNJiB2KQorICAgICAgICA6IHZtKHYpCisjaWYgRU5BQkxFKFNUUkVBTVNfQVBJKQorICAg
ICAgICAsIG1fYnl0ZUxlbmd0aFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zKCZ2bSkKKyAgICAgICAg
LCBtX2NvdW50UXVldWluZ1N0cmF0ZWd5QnVpbHRpbnMoJnZtKQorICAgICAgICAsIG1fcmVhZGFi
bGVTdHJlYW1CdWlsdGlucygmdm0pCisgICAgICAgICwgbV9yZWFkYWJsZVN0cmVhbUNvbnRyb2xs
ZXJCdWlsdGlucygmdm0pCisgICAgICAgICwgbV9yZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0
aW5zKCZ2bSkKKyAgICAgICAgLCBtX3JlYWRhYmxlU3RyZWFtUmVhZGVyQnVpbHRpbnMoJnZtKQor
I2VuZGlmCisgICAgeworI2lmIEVOQUJMRShTVFJFQU1TX0FQSSkKKyAgICAgICAgbV9yZWFkYWJs
ZVN0cmVhbUludGVybmFsc0J1aWx0aW5zLmV4cG9ydE5hbWVzKCk7CisjZW5kaWYKKyAgICB9Cisj
aWYgRU5BQkxFKFNUUkVBTVNfQVBJKQorICAgIEJ5dGVMZW5ndGhRdWV1aW5nU3RyYXRlZ3lCdWls
dGluc1dyYXBwZXImIGJ5dGVMZW5ndGhRdWV1aW5nU3RyYXRlZ3lCdWlsdGlucygpIHsgcmV0dXJu
IG1fYnl0ZUxlbmd0aFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zO30KKyAgICBDb3VudFF1ZXVpbmdT
dHJhdGVneUJ1aWx0aW5zV3JhcHBlciYgY291bnRRdWV1aW5nU3RyYXRlZ3lCdWlsdGlucygpIHsg
cmV0dXJuIG1fY291bnRRdWV1aW5nU3RyYXRlZ3lCdWlsdGluczt9CisgICAgUmVhZGFibGVTdHJl
YW1CdWlsdGluc1dyYXBwZXImIHJlYWRhYmxlU3RyZWFtQnVpbHRpbnMoKSB7IHJldHVybiBtX3Jl
YWRhYmxlU3RyZWFtQnVpbHRpbnM7fQorICAgIFJlYWRhYmxlU3RyZWFtQ29udHJvbGxlckJ1aWx0
aW5zV3JhcHBlciYgcmVhZGFibGVTdHJlYW1Db250cm9sbGVyQnVpbHRpbnMoKSB7IHJldHVybiBt
X3JlYWRhYmxlU3RyZWFtQ29udHJvbGxlckJ1aWx0aW5zO30KKyAgICBSZWFkYWJsZVN0cmVhbUlu
dGVybmFsc0J1aWx0aW5zV3JhcHBlciYgcmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucygp
IHsgcmV0dXJuIG1fcmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGluczt9CisgICAgUmVhZGFi
bGVTdHJlYW1SZWFkZXJCdWlsdGluc1dyYXBwZXImIHJlYWRhYmxlU3RyZWFtUmVhZGVyQnVpbHRp
bnMoKSB7IHJldHVybiBtX3JlYWRhYmxlU3RyZWFtUmVhZGVyQnVpbHRpbnM7fQorI2VuZGlmCisK
K3ByaXZhdGU6CisgICAgSlNDOjpWTSYgdm07CisjaWYgRU5BQkxFKFNUUkVBTVNfQVBJKQorICAg
IEJ5dGVMZW5ndGhRdWV1aW5nU3RyYXRlZ3lCdWlsdGluc1dyYXBwZXIgbV9ieXRlTGVuZ3RoUXVl
dWluZ1N0cmF0ZWd5QnVpbHRpbnM7CisgICAgQ291bnRRdWV1aW5nU3RyYXRlZ3lCdWlsdGluc1dy
YXBwZXIgbV9jb3VudFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zOworICAgIFJlYWRhYmxlU3RyZWFt
QnVpbHRpbnNXcmFwcGVyIG1fcmVhZGFibGVTdHJlYW1CdWlsdGluczsKKyAgICBSZWFkYWJsZVN0
cmVhbUNvbnRyb2xsZXJCdWlsdGluc1dyYXBwZXIgbV9yZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXJC
dWlsdGluczsKKyAgICBSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zV3JhcHBlciBtX3Jl
YWRhYmxlU3RyZWFtSW50ZXJuYWxzQnVpbHRpbnM7CisgICAgUmVhZGFibGVTdHJlYW1SZWFkZXJC
dWlsdGluc1dyYXBwZXIgbV9yZWFkYWJsZVN0cmVhbVJlYWRlckJ1aWx0aW5zOworI2VuZGlmCisK
K307CisKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9XZWJDb3JlSlNDbGllbnREYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJD
b3JlSlNDbGllbnREYXRhLmgKaW5kZXggODcwZGQ4MThlYjgyOTQ1N2VhODBlMzUzOGE4NzFkNDk5
NTI3NGMwOS4uMWRjNTU3ZDQ5NWZiNDJjZGRiNTc1ZGQ5YmQxMGY1MjFjMWM3NDE2ZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUpTQ2xpZW50RGF0YS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVKU0NsaWVudERhdGEuaApAQCAt
MjQsNDQgKzI0LDI2IEBACiAKICNpbmNsdWRlICJET01XcmFwcGVyV29ybGQuaCIKICNpbmNsdWRl
ICJXZWJDb3JlQnVpbHRpbk5hbWVzLmgiCisjaW5jbHVkZSAiV2ViQ29yZUpTQnVpbHRpbnMuaCIK
ICNpbmNsdWRlICJXZWJDb3JlVHlwZWRBcnJheUNvbnRyb2xsZXIuaCIKICNpbmNsdWRlIDx3dGYv
SGFzaFNldC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIAotI2lmIEVOQUJMRShTVFJFQU1T
X0FQSSkKLSNpbmNsdWRlICJCeXRlTGVuZ3RoUXVldWluZ1N0cmF0ZWd5QnVpbHRpbnNXcmFwcGVy
LmgiCi0jaW5jbHVkZSAiQ291bnRRdWV1aW5nU3RyYXRlZ3lCdWlsdGluc1dyYXBwZXIuaCIKLSNp
bmNsdWRlICJSZWFkYWJsZVN0cmVhbUJ1aWx0aW5zV3JhcHBlci5oIgotI2luY2x1ZGUgIlJlYWRh
YmxlU3RyZWFtQ29udHJvbGxlckJ1aWx0aW5zV3JhcHBlci5oIgotI2luY2x1ZGUgIlJlYWRhYmxl
U3RyZWFtSW50ZXJuYWxzQnVpbHRpbnNXcmFwcGVyLmgiCi0jaW5jbHVkZSAiUmVhZGFibGVTdHJl
YW1SZWFkZXJCdWlsdGluc1dyYXBwZXIuaCIKLSNlbmRpZgotCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLWNsYXNzIFdlYkNvcmVKU0NsaWVudERhdGEgOiBwdWJsaWMgSlNDOjpWTTo6Q2xpZW50RGF0
YSB7Ci0gICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV2ViQ29yZUpTQ2xpZW50RGF0YSk7IFdURl9N
QUtFX0ZBU1RfQUxMT0NBVEVEOworY2xhc3MgSlNWTUNsaWVudERhdGEgOiBwdWJsaWMgSlNDOjpW
TTo6Q2xpZW50RGF0YSB7CisgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoSlNWTUNsaWVudERhdGEp
OyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKICAgICBmcmllbmQgY2xhc3MgVk1Xb3JsZEl0ZXJh
dG9yOwogICAgIGZyaWVuZCB2b2lkIGluaXROb3JtYWxXb3JsZENsaWVudERhdGEoSlNDOjpWTSop
OwogCiBwdWJsaWM6Ci0gICAgZXhwbGljaXQgV2ViQ29yZUpTQ2xpZW50RGF0YShKU0M6OlZNJiB2
bSkKLSAgICAgICAgOiBtX2J1aWx0aW5OYW1lcygmdm0pCi0jaWYgRU5BQkxFKFNUUkVBTVNfQVBJ
KQotICAgICAgICAsIG1fcmVhZGFibGVTdHJlYW1CdWlsdGlucygmdm0pCi0gICAgICAgICwgbV9y
ZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXJCdWlsdGlucygmdm0pCi0gICAgICAgICwgbV9yZWFkYWJs
ZVN0cmVhbUludGVybmFsc0J1aWx0aW5zKCZ2bSkKLSAgICAgICAgLCBtX3JlYWRhYmxlU3RyZWFt
UmVhZGVyQnVpbHRpbnMoJnZtKQotICAgICAgICAsIG1fYnl0ZUxlbmd0aFF1ZXVpbmdTdHJhdGVn
eUJ1aWx0aW5zKCZ2bSkKLSAgICAgICAgLCBtX2NvdW50UXVldWluZ1N0cmF0ZWd5QnVpbHRpbnMo
JnZtKQotI2VuZGlmCisgICAgZXhwbGljaXQgSlNWTUNsaWVudERhdGEoSlNDOjpWTSYgdm0pCisg
ICAgICAgIDogbV9idWlsdGluRnVuY3Rpb25zKHZtKQorICAgICAgICAsIG1fYnVpbHRpbk5hbWVz
KCZ2bSkKICAgICB7Ci0jaWYgRU5BQkxFKFNUUkVBTVNfQVBJKQotICAgICAgICBtX3JlYWRhYmxl
U3RyZWFtSW50ZXJuYWxzQnVpbHRpbnMuZXhwb3J0TmFtZXMoKTsKLSNlbmRpZgogICAgIH0KIAot
ICAgIHZpcnR1YWwgfldlYkNvcmVKU0NsaWVudERhdGEoKQorICAgIHZpcnR1YWwgfkpTVk1DbGll
bnREYXRhKCkKICAgICB7CiAgICAgICAgIEFTU0VSVChtX3dvcmxkU2V0LmNvbnRhaW5zKG1fbm9y
bWFsV29ybGQuZ2V0KCkpKTsKICAgICAgICAgQVNTRVJUKG1fd29ybGRTZXQuc2l6ZSgpID09IDEp
OwpAQCAtOTQsMzcgKzc2LDIxIEBAIHB1YmxpYzoKICAgICB9CiAKICAgICBXZWJDb3JlQnVpbHRp
bk5hbWVzJiBidWlsdGluTmFtZXMoKSB7IHJldHVybiBtX2J1aWx0aW5OYW1lczsgfQotCi0jaWYg
RU5BQkxFKFNUUkVBTVNfQVBJKQotICAgIFJlYWRhYmxlU3RyZWFtQnVpbHRpbnNXcmFwcGVyJiBy
ZWFkYWJsZVN0cmVhbUJ1aWx0aW5zKCkgeyByZXR1cm4gbV9yZWFkYWJsZVN0cmVhbUJ1aWx0aW5z
OyB9Ci0gICAgUmVhZGFibGVTdHJlYW1Db250cm9sbGVyQnVpbHRpbnNXcmFwcGVyJiByZWFkYWJs
ZVN0cmVhbUNvbnRyb2xsZXJCdWlsdGlucygpIHsgcmV0dXJuIG1fcmVhZGFibGVTdHJlYW1Db250
cm9sbGVyQnVpbHRpbnM7IH0KLSAgICBSZWFkYWJsZVN0cmVhbUludGVybmFsc0J1aWx0aW5zV3Jh
cHBlciYgcmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGlucygpIHsgcmV0dXJuIG1fcmVhZGFi
bGVTdHJlYW1JbnRlcm5hbHNCdWlsdGluczsgfQotICAgIFJlYWRhYmxlU3RyZWFtUmVhZGVyQnVp
bHRpbnNXcmFwcGVyJiByZWFkYWJsZVN0cmVhbVJlYWRlckJ1aWx0aW5zKCkgeyByZXR1cm4gbV9y
ZWFkYWJsZVN0cmVhbVJlYWRlckJ1aWx0aW5zOyB9Ci0gICAgQnl0ZUxlbmd0aFF1ZXVpbmdTdHJh
dGVneUJ1aWx0aW5zV3JhcHBlciYgYnl0ZUxlbmd0aFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zKCkg
eyByZXR1cm4gbV9ieXRlTGVuZ3RoUXVldWluZ1N0cmF0ZWd5QnVpbHRpbnM7IH0KLSAgICBDb3Vu
dFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zV3JhcHBlciYgY291bnRRdWV1aW5nU3RyYXRlZ3lCdWls
dGlucygpIHsgcmV0dXJuIG1fY291bnRRdWV1aW5nU3RyYXRlZ3lCdWlsdGluczsgfQotI2VuZGlm
CisgICAgSlNCdWlsdGluRnVuY3Rpb25zJiBidWlsdGluRnVuY3Rpb25zKCkgeyByZXR1cm4gbV9i
dWlsdGluRnVuY3Rpb25zOyB9CiAKIHByaXZhdGU6CiAgICAgSGFzaFNldDxET01XcmFwcGVyV29y
bGQqPiBtX3dvcmxkU2V0OwogICAgIFJlZlB0cjxET01XcmFwcGVyV29ybGQ+IG1fbm9ybWFsV29y
bGQ7CiAKKyAgICBKU0J1aWx0aW5GdW5jdGlvbnMgbV9idWlsdGluRnVuY3Rpb25zOwogICAgIFdl
YkNvcmVCdWlsdGluTmFtZXMgbV9idWlsdGluTmFtZXM7Ci0KLSNpZiBFTkFCTEUoU1RSRUFNU19B
UEkpCi0gICAgUmVhZGFibGVTdHJlYW1CdWlsdGluc1dyYXBwZXIgbV9yZWFkYWJsZVN0cmVhbUJ1
aWx0aW5zOwotICAgIFJlYWRhYmxlU3RyZWFtQ29udHJvbGxlckJ1aWx0aW5zV3JhcHBlciBtX3Jl
YWRhYmxlU3RyZWFtQ29udHJvbGxlckJ1aWx0aW5zOwotICAgIFJlYWRhYmxlU3RyZWFtSW50ZXJu
YWxzQnVpbHRpbnNXcmFwcGVyIG1fcmVhZGFibGVTdHJlYW1JbnRlcm5hbHNCdWlsdGluczsKLSAg
ICBSZWFkYWJsZVN0cmVhbVJlYWRlckJ1aWx0aW5zV3JhcHBlciBtX3JlYWRhYmxlU3RyZWFtUmVh
ZGVyQnVpbHRpbnM7Ci0gICAgQnl0ZUxlbmd0aFF1ZXVpbmdTdHJhdGVneUJ1aWx0aW5zV3JhcHBl
ciBtX2J5dGVMZW5ndGhRdWV1aW5nU3RyYXRlZ3lCdWlsdGluczsKLSAgICBDb3VudFF1ZXVpbmdT
dHJhdGVneUJ1aWx0aW5zV3JhcHBlciBtX2NvdW50UXVldWluZ1N0cmF0ZWd5QnVpbHRpbnM7Ci0j
ZW5kaWYKIH07CiAKIGlubGluZSB2b2lkIGluaXROb3JtYWxXb3JsZENsaWVudERhdGEoSlNDOjpW
TSogdm0pCiB7Ci0gICAgV2ViQ29yZUpTQ2xpZW50RGF0YSogd2ViQ29yZUpTQ2xpZW50RGF0YSA9
IG5ldyBXZWJDb3JlSlNDbGllbnREYXRhKCp2bSk7Ci0gICAgdm0tPmNsaWVudERhdGEgPSB3ZWJD
b3JlSlNDbGllbnREYXRhOyAvLyB+Vk0gZGVsZXRlcyB0aGlzIHBvaW50ZXIuCi0gICAgd2ViQ29y
ZUpTQ2xpZW50RGF0YS0+bV9ub3JtYWxXb3JsZCA9IERPTVdyYXBwZXJXb3JsZDo6Y3JlYXRlKCp2
bSwgdHJ1ZSk7CisgICAgSlNWTUNsaWVudERhdGEqIGNsaWVudERhdGEgPSBuZXcgSlNWTUNsaWVu
dERhdGEoKnZtKTsKKyAgICB2bS0+Y2xpZW50RGF0YSA9IGNsaWVudERhdGE7IC8vIH5WTSBkZWxl
dGVzIHRoaXMgcG9pbnRlci4KKyAgICBjbGllbnREYXRhLT5tX25vcm1hbFdvcmxkID0gRE9NV3Jh
cHBlcldvcmxkOjpjcmVhdGUoKnZtLCB0cnVlKTsKICAgICB2bS0+bV90eXBlZEFycmF5Q29udHJv
bGxlciA9IGFkb3B0UmVmKG5ldyBXZWJDb3JlVHlwZWRBcnJheUNvbnRyb2xsZXIoKSk7CiB9CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>