<?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>154509</bug_id>
          
          <creation_ts>2016-02-20 22:53:04 -0800</creation_ts>
          <short_desc>Web Inspector: add &apos;Automation&apos; protocol domain and generate its backend classes separately in WebKit2</short_desc>
          <delta_ts>2016-02-26 09:13:53 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>154539</dependson>
          <blocked>154518</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Blaze Burg">bburg</reporter>
          <assigned_to name="Blaze Burg">bburg</assigned_to>
          <cc>bburg</cc>
    
    <cc>cgarcia</cc>
    
    <cc>clopez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>graouts</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jh718.park</cc>
    
    <cc>joepeck</cc>
    
    <cc>mattbaker</cc>
    
    <cc>nvasilyev</cc>
    
    <cc>ossy</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1166812</commentid>
    <comment_count>0</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2016-02-20 22:53:04 -0800</bug_when>
    <thetext>Yup.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1166813</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-02-20 22:53:20 -0800</bug_when>
    <thetext>&lt;rdar://problem/24759098&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1166814</commentid>
    <comment_count>2</comment_count>
      <attachid>271877</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2016-02-20 23:27:02 -0800</bug_when>
    <thetext>Created attachment 271877
Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1166864</commentid>
    <comment_count>3</comment_count>
      <attachid>271877</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2016-02-21 14:44:32 -0800</bug_when>
    <thetext>Comment on attachment 271877
Proposed Fix

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

&gt; Source/WebKit2/UIProcess/Automation/Automation.json:33
&gt; +            &quot;description&quot;: &quot;Closes the specified window.&quot;

Copy paste error: Opens a window.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1166865</commentid>
    <comment_count>4</comment_count>
      <attachid>271877</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2016-02-21 14:46:25 -0800</bug_when>
    <thetext>Comment on attachment 271877
Proposed Fix

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

&gt;&gt; Source/WebKit2/UIProcess/Automation/Automation.json:33
&gt;&gt; +            &quot;description&quot;: &quot;Closes the specified window.&quot;
&gt; 
&gt; Copy paste error: Opens a window.

I see you fixed this in the patch for bug 154518.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1166867</commentid>
    <comment_count>5</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2016-02-21 15:00:08 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; Comment on attachment 271877 [details]
&gt; Proposed Fix
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=271877&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebKit2/UIProcess/Automation/Automation.json:33
&gt; &gt;&gt; +            &quot;description&quot;: &quot;Closes the specified window.&quot;
&gt; &gt; 
&gt; &gt; Copy paste error: Opens a window.
&gt; 
&gt; I see you fixed this in the patch for bug 154518.

I&apos;ll move the changes to this patch before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1166879</commentid>
    <comment_count>6</comment_count>
      <attachid>271890</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2016-02-21 16:12:51 -0800</bug_when>
    <thetext>Created attachment 271890
Test the CMake waters</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1166880</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-02-21 16:15:16 -0800</bug_when>
    <thetext>Attachment 271890 did not pass style-queue:


ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:230:  multiple statements on one line (semicolon)  [pep8/E702] [5]
ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:231:  multiple statements on one line (semicolon)  [pep8/E702] [5]
ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:165:  [generate_from_specification] Undefined variable &apos;CppBackendDispatcherHeaderGenerator&apos;  [pylint/E0602] [5]
ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:166:  [generate_from_specification] Undefined variable &apos;CppBackendDispatcherImplementationGenerator&apos;  [pylint/E0602] [5]
ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:167:  [generate_from_specification] Undefined variable &apos;CppProtocolTypesHeaderGenerator&apos;  [pylint/E0602] [5]
ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:168:  [generate_from_specification] Undefined variable &apos;CppProtocolTypesImplementationGenerator&apos;  [pylint/E0602] [5]
ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:172:  [generate_from_specification] Undefined variable &apos;ObjCConversionHelpersGenerator&apos;  [pylint/E0602] [5]
ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:173:  [generate_from_specification] Undefined variable &apos;ObjCFrontendDispatcherImplementationGenerator&apos;  [pylint/E0602] [5]
ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:174:  [generate_from_specification] Undefined variable &apos;ObjCProtocolTypesImplementationGenerator&apos;  [pylint/E0602] [5]
Total errors found: 9 in 11 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>1166881</commentid>
    <comment_count>8</comment_count>
      <attachid>271891</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2016-02-21 16:19:59 -0800</bug_when>
    <thetext>Created attachment 271891
CMake try #2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1166882</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-02-21 16:21:56 -0800</bug_when>
    <thetext>Attachment 271891 did not pass style-queue:


ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:230:  multiple statements on one line (semicolon)  [pep8/E702] [5]
ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:231:  multiple statements on one line (semicolon)  [pep8/E702] [5]
ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:165:  [generate_from_specification] Undefined variable &apos;CppBackendDispatcherHeaderGenerator&apos;  [pylint/E0602] [5]
ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:166:  [generate_from_specification] Undefined variable &apos;CppBackendDispatcherImplementationGenerator&apos;  [pylint/E0602] [5]
ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:167:  [generate_from_specification] Undefined variable &apos;CppProtocolTypesHeaderGenerator&apos;  [pylint/E0602] [5]
ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:168:  [generate_from_specification] Undefined variable &apos;CppProtocolTypesImplementationGenerator&apos;  [pylint/E0602] [5]
ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:172:  [generate_from_specification] Undefined variable &apos;ObjCConversionHelpersGenerator&apos;  [pylint/E0602] [5]
ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:173:  [generate_from_specification] Undefined variable &apos;ObjCFrontendDispatcherImplementationGenerator&apos;  [pylint/E0602] [5]
ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:174:  [generate_from_specification] Undefined variable &apos;ObjCProtocolTypesImplementationGenerator&apos;  [pylint/E0602] [5]
Total errors found: 9 in 12 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>1166926</commentid>
    <comment_count>10</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2016-02-21 20:49:26 -0800</bug_when>
    <thetext>Committed r196891: &lt;http://trac.webkit.org/changeset/196891&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1166955</commentid>
    <comment_count>11</comment_count>
      <attachid>271891</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-02-21 23:25:49 -0800</bug_when>
    <thetext>Comment on attachment 271891
CMake try #2

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

&gt; Source/WebKit2/DerivedSources.make:214
&gt; +JSON_RPC_OUTPUT_FILES = \

JSON_RPC seems vague. So is outputting files named InspectorBackendDispatcher. Could we s/Inspector/Automation/ eventually?

&gt; Source/WebKit2/UIProcess/Automation/Automation.json:26
&gt; +            &quot;description&quot;: &quot;Gets information about all open windows and tabs in the automation session.&quot;

Perhaps we could take this opportunity to put the &quot;description&quot; next to the &quot;name&quot; in the new JSON files? This order always bugged me!

&gt; Source/WebKit2/UIProcess/Automation/WebAutomationSession.cpp:31
&gt; +#include &lt;JavaScriptCore/InspectorBackendDispatcher.h&gt;
&gt; +#include &lt;JavaScriptCore/InspectorFrontendRouter.h&gt;

Hmm, I had thought this was an issue with other ports in the past. But maybe they don&apos;t build these files, in which case it seems fine to use this &lt;JavaScriptCore/...&gt; syntax.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1167026</commentid>
    <comment_count>12</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2016-02-22 08:44:48 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; Comment on attachment 271891 [details]
&gt; CMake try #2
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=271891&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/DerivedSources.make:214
&gt; &gt; +JSON_RPC_OUTPUT_FILES = \
&gt; 
&gt; JSON_RPC seems vague. So is outputting files named
&gt; InspectorBackendDispatcher. Could we s/Inspector/Automation/ eventually?

Wasn&apos;t sure of a better prefix than JSON_RPC. Maybe add &apos;Protocol&apos; in for good measure. At least it doesn&apos;t say Inspector.

I plan to change the Inspector* filename prefix in the future for generated protocol files. Just wanted to get it working for now.

&gt; &gt; Source/WebKit2/UIProcess/Automation/Automation.json:26
&gt; &gt; +            &quot;description&quot;: &quot;Gets information about all open windows and tabs in the automation session.&quot;
&gt; 
&gt; Perhaps we could take this opportunity to put the &quot;description&quot; next to the
&gt; &quot;name&quot; in the new JSON files? This order always bugged me!

OK

&gt; &gt; Source/WebKit2/UIProcess/Automation/WebAutomationSession.cpp:31
&gt; &gt; +#include &lt;JavaScriptCore/InspectorBackendDispatcher.h&gt;
&gt; &gt; +#include &lt;JavaScriptCore/InspectorFrontendRouter.h&gt;
&gt; 
&gt; Hmm, I had thought this was an issue with other ports in the past. But maybe
&gt; they don&apos;t build these files, in which case it seems fine to use this
&gt; &lt;JavaScriptCore/...&gt; syntax.

These includes will pull from ForwardingHeaders or headers installed to ${BUILT_PRODUCTS_DIR}/usr/lib/include. Every port does this, far as I know.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1167034</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-02-22 08:59:30 -0800</bug_when>
    <thetext>Re-opened since this is blocked by bug 154539</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1167165</commentid>
    <comment_count>14</comment_count>
      <attachid>271948</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2016-02-22 13:16:11 -0800</bug_when>
    <thetext>Created attachment 271948
Take 2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1167292</commentid>
    <comment_count>15</comment_count>
      <attachid>271980</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2016-02-22 18:45:32 -0800</bug_when>
    <thetext>Created attachment 271980
For EWS, Landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1167296</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-02-22 18:47:15 -0800</bug_when>
    <thetext>Attachment 271980 did not pass style-queue:


ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:230:  multiple statements on one line (semicolon)  [pep8/E702] [5]
ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:231:  multiple statements on one line (semicolon)  [pep8/E702] [5]
ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:165:  [generate_from_specification] Undefined variable &apos;CppBackendDispatcherHeaderGenerator&apos;  [pylint/E0602] [5]
ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:166:  [generate_from_specification] Undefined variable &apos;CppBackendDispatcherImplementationGenerator&apos;  [pylint/E0602] [5]
ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:167:  [generate_from_specification] Undefined variable &apos;CppProtocolTypesHeaderGenerator&apos;  [pylint/E0602] [5]
ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:168:  [generate_from_specification] Undefined variable &apos;CppProtocolTypesImplementationGenerator&apos;  [pylint/E0602] [5]
ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:172:  [generate_from_specification] Undefined variable &apos;ObjCConversionHelpersGenerator&apos;  [pylint/E0602] [5]
ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:173:  [generate_from_specification] Undefined variable &apos;ObjCFrontendDispatcherImplementationGenerator&apos;  [pylint/E0602] [5]
ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:174:  [generate_from_specification] Undefined variable &apos;ObjCProtocolTypesImplementationGenerator&apos;  [pylint/E0602] [5]
Total errors found: 9 in 12 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>1167312</commentid>
    <comment_count>17</comment_count>
      <attachid>271989</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2016-02-22 22:18:26 -0800</bug_when>
    <thetext>Created attachment 271989
For Landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1167313</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-02-22 22:22:59 -0800</bug_when>
    <thetext>Attachment 271989 did not pass style-queue:


ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:230:  multiple statements on one line (semicolon)  [pep8/E702] [5]
ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:231:  multiple statements on one line (semicolon)  [pep8/E702] [5]
ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:165:  [generate_from_specification] Undefined variable &apos;CppBackendDispatcherHeaderGenerator&apos;  [pylint/E0602] [5]
ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:166:  [generate_from_specification] Undefined variable &apos;CppBackendDispatcherImplementationGenerator&apos;  [pylint/E0602] [5]
ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:167:  [generate_from_specification] Undefined variable &apos;CppProtocolTypesHeaderGenerator&apos;  [pylint/E0602] [5]
ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:168:  [generate_from_specification] Undefined variable &apos;CppProtocolTypesImplementationGenerator&apos;  [pylint/E0602] [5]
ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:172:  [generate_from_specification] Undefined variable &apos;ObjCConversionHelpersGenerator&apos;  [pylint/E0602] [5]
ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:173:  [generate_from_specification] Undefined variable &apos;ObjCFrontendDispatcherImplementationGenerator&apos;  [pylint/E0602] [5]
ERROR: Source/JavaScriptCore/inspector/scripts/generate-inspector-protocol-bindings.py:174:  [generate_from_specification] Undefined variable &apos;ObjCProtocolTypesImplementationGenerator&apos;  [pylint/E0602] [5]
Total errors found: 9 in 12 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>1167320</commentid>
    <comment_count>19</comment_count>
      <attachid>271989</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-02-22 23:18:37 -0800</bug_when>
    <thetext>Comment on attachment 271989
For Landing

Clearing flags on attachment: 271989

Committed r196970: &lt;http://trac.webkit.org/changeset/196970&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1167321</commentid>
    <comment_count>20</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-02-22 23:18:42 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1167427</commentid>
    <comment_count>21</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2016-02-23 09:35:55 -0800</bug_when>
    <thetext>(In reply to comment #19)
&gt; Comment on attachment 271989 [details]
&gt; For Landing
&gt; 
&gt; Clearing flags on attachment: 271989
&gt; 
&gt; Committed r196970: &lt;http://trac.webkit.org/changeset/196970&gt;

It made fast/profiler tests crash on EFL/GTK buildbots and made 
them exit early after 50+ crashes. See build.webkit.org for details.

cc-ing port maintainers</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1167429</commentid>
    <comment_count>22</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-02-23 09:37:49 -0800</bug_when>
    <thetext>This patch broke the inspector in GTK+ and EFL ports and caused a lot of crashes in both ports bots.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1167490</commentid>
    <comment_count>23</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2016-02-23 11:57:36 -0800</bug_when>
    <thetext>(In reply to comment #21)
&gt; (In reply to comment #19)
&gt; &gt; Comment on attachment 271989 [details]
&gt; &gt; For Landing
&gt; &gt; 
&gt; &gt; Clearing flags on attachment: 271989
&gt; &gt; 
&gt; &gt; Committed r196970: &lt;http://trac.webkit.org/changeset/196970&gt;
&gt; 
&gt; It made fast/profiler tests crash on EFL/GTK buildbots and made 
&gt; them exit early after 50+ crashes. See build.webkit.org for details.
&gt; 
&gt; cc-ing port maintainers

This patch didn&apos;t touch anything related to the profiler, nor do these failures show on Mac/Win. So this is very surprising. There have been recent profiler changes, however.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1167491</commentid>
    <comment_count>24</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2016-02-23 11:58:28 -0800</bug_when>
    <thetext>(In reply to comment #22)
&gt; This patch broke the inspector in GTK+ and EFL ports and caused a lot of
&gt; crashes in both ports bots.

You&apos;ll need to provide more information (hang? crash? nothing shows?) otherwise I can&apos;t really do anything about it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1167691</commentid>
    <comment_count>25</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-02-23 22:30:29 -0800</bug_when>
    <thetext>(In reply to comment #24)
&gt; (In reply to comment #22)
&gt; &gt; This patch broke the inspector in GTK+ and EFL ports and caused a lot of
&gt; &gt; crashes in both ports bots.
&gt; 
&gt; You&apos;ll need to provide more information (hang? crash? nothing shows?)
&gt; otherwise I can&apos;t really do anything about it.

Yes, I didn&apos;t have time yesterday to debug the issue. The inspector made the web process crash, and I just confirmed that reverting r196970 fixed the issue. Now looking at the GTK+ bots it seems that r196980 fixed the crashes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1167818</commentid>
    <comment_count>26</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2016-02-24 09:57:20 -0800</bug_when>
    <thetext>(In reply to comment #25)
&gt; (In reply to comment #24)
&gt; &gt; (In reply to comment #22)
&gt; &gt; &gt; This patch broke the inspector in GTK+ and EFL ports and caused a lot of
&gt; &gt; &gt; crashes in both ports bots.
&gt; &gt; 
&gt; &gt; You&apos;ll need to provide more information (hang? crash? nothing shows?)
&gt; &gt; otherwise I can&apos;t really do anything about it.
&gt; 
&gt; Yes, I didn&apos;t have time yesterday to debug the issue. The inspector made the
&gt; web process crash, and I just confirmed that reverting r196970 fixed the
&gt; issue. Now looking at the GTK+ bots it seems that r196980 fixed the crashes.

r196980 fixed the issue in the release build, but it also caused the debug build to assert on all fast/profiler tests with this:

fast/profiler/anonymous-function-called-from-different-contexts.html crashed, (stderr lines):
ASSERTION FAILED: result == &quot;EventDispatch&quot; || result == &quot;ScheduleStyleRecalculation&quot; || result == &quot;RecalculateStyles&quot; || result == &quot;InvalidateLayout&quot; || result == &quot;Layout&quot; || result == &quot;Paint&quot; || result == &quot;Composite&quot; || result == &quot;RenderingFrame&quot; || result == &quot;TimerInstall&quot; || result == &quot;TimerRemove&quot; || result == &quot;TimerFire&quot; || result == &quot;EvaluateScript&quot; || result == &quot;TimeStamp&quot; || result == &quot;Time&quot; || result == &quot;TimeEnd&quot; || result == &quot;FunctionCall&quot; || result == &quot;ProbeSample&quot; || result == &quot;ConsoleProfile&quot; || result == &quot;RequestAnimationFrame&quot; || result == &quot;CancelAnimationFrame&quot; || result == &quot;FireAnimationFrame&quot;
DerivedSources/JavaScriptCore/inspector/InspectorProtocolObjects.cpp(872) : static void Inspector::Protocol::BindingTraits&lt;Inspector::Protocol::Timeline::EventType&gt;::assertValueHasExpectedType(Inspector::InspectorValue*)
1   0x7fac2dbd77ef /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(WTFCrash+0x1e) [0x7fac2dbd77ef]
2   0x7fac2dbd3719 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(_ZN9Inspector8Protocol13BindingTraitsINS0_8Timeline9EventTypeEE26assertValueHasExpectedTypeEPNS_14InspectorValueE+0x331) [0x7fac2dbd3719]
3   0x7fac2dbd38fd /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(_ZN9Inspector8Protocol13BindingTraitsINS0_8Timeline13TimelineEventEE26assertValueHasExpectedTypeEPNS_14InspectorValueE+0x1b5) [0x7fac2dbd38fd]
4   0x7fac2dbd3c67 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(_ZN9Inspector8Protocol13BindingTraitsINS0_8Timeline13TimelineEventEE11runtimeCastEON3WTF6RefPtrINS_14InspectorValueEEE+0x85) [0x7fac2dbd3c67]
5   0x7fac34dfc77c /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(_ZN7WebCore22InspectorTimelineAgent19addRecordToTimelineEON3WTF6RefPtrIN9Inspector15InspectorObjectEEENS_18TimelineRecordTypeE+0x108) [0x7fac34dfc77c]
6   0x7fac34dfcbcc /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(_ZN7WebCore22InspectorTimelineAgent22didCompleteRecordEntryERKNS0_19TimelineRecordEntryE+0x1d0) [0x7fac34dfcbcc]
7   0x7fac34dfb44c /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(_ZN7WebCore22InspectorTimelineAgent15stopFromConsoleEPN3JSC9ExecStateERKN3WTF6StringE+0x18c) [0x7fac34dfb44c]
8   0x7fac34da9309 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(_ZN7WebCore24InspectorInstrumentation17stopProfilingImplERNS_19InstrumentingAgentsEPN3JSC9ExecStateERKN3WTF6StringE+0x47) [0x7fac34da9309]
9   0x7fac34fc405b /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(_ZN7WebCore24InspectorInstrumentation13stopProfilingERNS_4PageEPN3JSC9ExecStateERKN3WTF6StringE+0x3b) [0x7fac34fc405b]
10  0x7fac34fc3bc5 /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(_ZN7WebCore17PageConsoleClient10profileEndEPN3JSC9ExecStateERKN3WTF6StringE+0x31) [0x7fac34fc3bc5]
11  0x7fac2d9719ec /home/slave/webkitgtk/gtk-linux-64-debug/build/WebKitBuild/Debug/lib/libjavascriptcoregtk-4.0.so.18(+0x1d589ec) [0x7fac2d9719ec]
12  0x7fabdd7fe0c8 [0x7fabdd7fe0c8]
0033/39138] fast/profiler/anonymous-function-called-from-different-contexts.html failed unexpectedly (WebProcess crashed)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1168488</commentid>
    <comment_count>27</comment_count>
      <attachid>272322</attachid>
    <who name="Adrien Plazas">aplazas</who>
    <bug_when>2016-02-26 06:21:39 -0800</bug_when>
    <thetext>Created attachment 272322
Simple test producing crashes on GTK+ Debug

There are two lines in this test which, when any of the two is removed, make the test not crash.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1168521</commentid>
    <comment_count>28</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2016-02-26 09:13:53 -0800</bug_when>
    <thetext>A follow up bug would be more appropriate to track the assert you are seeing.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>271877</attachid>
            <date>2016-02-20 23:27:02 -0800</date>
            <delta_ts>2016-02-21 16:12:47 -0800</delta_ts>
            <desc>Proposed Fix</desc>
            <filename>bug-154509-20160220232643.patch</filename>
            <type>text/plain</type>
            <size>47511</size>
            <attacher name="Blaze Burg">bburg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk2ODUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
ZjJjODdkMDQ3MDI3NTg4Y2QxNTAxODU4MjA5Mjc3YTZlMWI3ZjZkLi43OTk3NTI2MjM3MGY2YTE1
Mjk3YTAyODNmYTQxYzQ2YmIwNjdjZDhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwzMSBAQAogMjAxNi0wMi0yMCAgQnJpYW4gQnVyZyAgPGJidXJnQGFwcGxlLmNvbT4KIAor
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBhZGQgJ0F1dG9tYXRpb24nIHByb3RvY29sIGRvbWFpbiBh
bmQgZ2VuZXJhdGUgaXRzIGJhY2tlbmQgY2xhc3NlcyBzZXBhcmF0ZWx5IGluIFdlYktpdDIKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NDUwOQorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vMjQ3NTkwOTg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgbmV3ICdXZWJLaXQnIGZyYW1ld29yaywgd2hp
Y2ggaXMgdXNlZCB0byBnZW5lcmF0ZSBwcm90b2NvbCBjb2RlCisgICAgICAgIGluIFdlYktpdDIu
CisKKyAgICAgICAgQWRkIC0tYmFja2VuZCBhbmQgLS1mcm9udGVuZCBmbGFncyB0byB0aGUgbWFp
biBnZW5lcmF0b3Igc2NyaXB0LgorICAgICAgICBUaGVzZSBhbGxvdyBhIGZyYW1ld29yayB0byB0
cmlnZ2VyIHR3byBkaWZmZXJlbnQgc2V0cyBvZiBnZW5lcmF0b3JzCisgICAgICAgIHNvIHRoZXkg
Y2FuIGJlIHNlcGFyYXRlbHkgZ2VuZXJhdGVkIGFuZCBjb21waWxlZC4KKworICAgICAgICAqIGlu
c3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vbW9kZWxzLnB5OgorICAgICAgICAoRnJhbWV3b3JrLmZy
b21TdHJpbmcpOgorICAgICAgICAoRnJhbWV3b3Jrcyk6IEFkZCBuZXcgZnJhbWV3b3JrLgorCisg
ICAgICAgICogaW5zcGVjdG9yL3NjcmlwdHMvZ2VuZXJhdGUtaW5zcGVjdG9yLXByb3RvY29sLWJp
bmRpbmdzLnB5OgorICAgICAgICBJZiBuZWl0aGVyIC0tYmFja2VuZCBvciAtLWZyb250ZW5kIGlz
IHNwZWNpZmllZCwgYXNzdW1lIGJvdGggYXJlIHdhbnRlZC4KKyAgICAgICAgVGhpcyBtYXRjaGVz
IHRoZSBiZWhhdmlvciBmb3IgSmF2YVNjcmlwdENvcmUgYW5kIFdlYkluc3BlY3RvciBmcmFtZXdv
cmtzLgorCisgICAgICAgIChnZW5lcmF0ZV9mcm9tX3NwZWNpZmljYXRpb24pOgorICAgICAgICBH
ZW5lcmF0ZSBDKysgZmlsZXMgZm9yIHRoZSBiYWNrZW5kIGFuZCBPYmplY3RpdmUtQyBmaWxlcyBm
b3IgdGhlIGZyb250ZW5kLgorCisyMDE2LTAyLTIwICBCcmlhbiBCdXJnICA8YmJ1cmdAYXBwbGUu
Y29tPgorCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IGl0IHNob3VsZCBiZSBwb3NzaWJsZSB0byBv
bWl0IGdlbmVyYXRlZCBjb2RlIGd1YXJkZWQgYnkgSU5TUEVDVE9SX0FMVEVSTkFURV9ESVNQQVRD
SEVSUwogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU0
NTA4CiAgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yNDc1OTA3Nz4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAyZThj
MjYwYWY3MTEzYTI2MWMzZDNjNDMwM2Q2YWRiNTk5NzJkZDc5Li41M2ZhYzdiY2JiMmI0YTFjMjMw
MDM5NzI4MTNmOGM2NWViMjk5ZDM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDggQEAKKzIwMTYt
MDItMjAgIEJyaWFuIEJ1cmcgIDxiYnVyZ0BhcHBsZS5jb20+CisKKyAgICAgICAgV2ViIEluc3Bl
Y3RvcjogYWRkICdBdXRvbWF0aW9uJyBwcm90b2NvbCBkb21haW4gYW5kIGdlbmVyYXRlIGl0cyBi
YWNrZW5kIGNsYXNzZXMgc2VwYXJhdGVseSBpbiBXZWJLaXQyCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTQ1MDkKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzI0NzU5MDk4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZCBhIG5ldyAnQXV0b21hdGlvbicgZG9tYWluIHdoaWNoIHByZXNlbnRzIGFuIFJQ
QyBpbnRlcmZhY2UKKyAgICAgICAgZm9yIHNlbmRpbmcgYXV0b21hdGlvbiBjb21tYW5kcyB0byBh
biBhY3RpdmUgV2ViQXV0b21hdGlvblNlc3Npb24KKyAgICAgICAgaW4gdGhlIFVJUHJvY2VzcyB2
aWEgUmVtb3RlSW5zcGVjdG9yLiBUaGlzIGlzIHNpbWlsYXIgdG8gaG93IHRoZQorICAgICAgICBJ
bnNwZWN0b3IgYmFja2VuZCBjb21tdW5pY2F0ZXMgYmlkaXJlY3Rpb25hbGx5IHdpdGggYSByZW1v
dGUKKyAgICAgICAgSW5zcGVjdG9yIGZyb250ZW5kLgorCisgICAgICAgIEFkZCBidWlsZCBzeXN0
ZW0gbG9naWMgdG8gZ2VuZXJhdGUgSlNPTi1SUEMgcHJvdG9jb2wgYmluZGluZ3MKKyAgICAgICAg
Zm9yIHRoZSAnQXV0b21hdGlvbicgZG9tYWluIHVzaW5nIHRoZSBpbnNwZWN0b3IgY29kZSBnZW5l
cmF0b3JzLgorCisgICAgICAgIE1vdmUgYXV0b21hdGlvbi1yZWxhdGVkIGZpbGVzIHRoYXQgYXJl
IG5vdCBBUEkgb3IgU1BJIGludG8gdGhlaXIKKyAgICAgICAgb3duIGRpcmVjdG9yeS4KKworICAg
ICAgICAqIENvbmZpZ3VyYXRpb25zL0Jhc2VUYXJnZXQueGNjb25maWc6IFRlbGwgd2hlcmUgSmF2
YVNjcmlwdENvcmUncworICAgICAgICBwcml2YXRlIGhlYWRlcnMgYXJlLCBzaW5jZSB0aGF0J3Mg
d2hlcmUgdGhlIGNvZGUgZ2VuZXJhdG9ycyBsaXZlLgorCisgICAgICAgICogUGxhdGZvcm1NYWMu
Y21ha2U6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZTogR2VuZXJhdGUgcHJvdG9jb2wg
YmluZGluZ3MgZm9yIGEgc2luZ2xlIGRvbWFpbi4KKyAgICAgICAgVGhlIG5hbWVzIG9mIHRoZSBn
ZW5lcmF0ZWQgZmlsZXMgd2lsbCBiZSBpbXByb3ZlZCBpbiBhIGZvbGxvdy11cCBwYXRjaAorICAg
ICAgICBzbyB0aGF0IHRoZXkgZG8gbm90IGNsYXNoIHdpdGggZ2VuZXJhdGVkIGZpbGVzIGluIEph
dmFTY3JpcHRDb3JlLgorCisgICAgICAgICogVUlQcm9jZXNzL0F1dG9tYXRpb24vQXV0b21hdGlv
bi5qc29uOiBBZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0
aW9uU2Vzc2lvbi5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
QXV0b21hdGlvblNlc3Npb24uY3BwLgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vz
c2lvbjo6V2ViQXV0b21hdGlvblNlc3Npb24pOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRvbWF0
aW9uU2Vzc2lvbjo6fldlYkF1dG9tYXRpb25TZXNzaW9uKToKKyAgICAgICAgU2V0IHVwIGEgYmFj
a2VuZCBkaXNwYXRjaGVyIGFuZCBmcm9udGVuZCByb3V0ZXIuIFRoZXkgd2lsbCBiZSB1c2VkIGxh
dGVyLgorCisgICAgICAgIChXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uOjpkaXNwYXRjaE1l
c3NhZ2VGcm9tUmVtb3RlKToKKyAgICAgICAgRm9yd2FyZCBtZXNzYWdlcyBmcm9tIHRoZSByZW1v
dGUgdG8gdGhlIGJhY2tlbmQgZGlzcGF0Y2hlci4gV2hlbgorICAgICAgICBhbiBhZ2VudCAvIGNv
bW1hbmQgaGFuZGxlciBpcyByZWdpc3RlcmVkLCBpdCB3aWxsIHJlY2VpdmUgdGhlIG1lc3NhZ2Uu
CisKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb246OmNvbm5lY3QpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6ZGlzY29ubmVjdCk6CisgICAgICAg
IENvbm5lbmN0IGFuZCBkaXNjb25uZWN0IHRoZSBmcm9udGVuZCByb3V0ZXIgdG8gdGhlIHJlbW90
ZSBjaGFubmVsLgorCisgICAgICAgICogVUlQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlv
blNlc3Npb24uaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJBdXRv
bWF0aW9uU2Vzc2lvbi5oLgorICAgICAgICAqIFdlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvajogQWRkIGFuZCBtb3ZlIGZpbGVzLgorCiAyMDE2LTAyLTE5ICBCcmlhbiBCdXJnICA8YmJ1
cmdAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYkF1dG9tYXRpb25TZXNzaW9uIHNob3VsZCB0ZWxs
IGl0cyBkZWxlZ2F0ZSB3aGVuIGl0cyByZW1vdGUgZW5kIGRpc2Nvbm5lY3RzCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9tb2RlbHMu
cHkgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9tb2Rl
bHMucHkKaW5kZXggZjRmYTQ0ODRlZTE4ZTk2ZDk5ODkxZmU2ZGM4N2FhM2MzOTI4MDdkMC4uZjA5
YjNjZjVhYWRkMzFhZjI3ZjY4Nzg0YzU2YWQxODAzOTIxOWVlYiAxMDA3NTUKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vbW9kZWxzLnB5CisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL21vZGVscy5w
eQpAQCAtNDUsNiArNDUsOCBAQCBfRlJBTUVXT1JLX0NPTkZJR19NQVAgPSB7CiAgICAgICAgICJl
eHBvcnRfbWFjcm8iOiAiSlNfRVhQT1JUX1BSSVZBVEUiLAogICAgICAgICAiYWx0ZXJuYXRlX2Rp
c3BhdGNoZXJzIjogVHJ1ZSwKICAgICB9LAorICAgICJXZWJLaXQiOiB7CisgICAgfSwKICAgICAi
V2ViSW5zcGVjdG9yIjogewogICAgIH0sCiAgICAgIyBVc2VkIGZvciBjb2RlIGdlbmVyYXRvciB0
ZXN0cy4KQEAgLTc4LDYgKzgwLDkgQEAgY2xhc3MgRnJhbWV3b3JrOgogICAgICAgICBpZiBmcmFt
ZXdvcmtTdHJpbmcgPT0gIkphdmFTY3JpcHRDb3JlIjoKICAgICAgICAgICAgIHJldHVybiBGcmFt
ZXdvcmtzLkphdmFTY3JpcHRDb3JlCiAKKyAgICAgICAgaWYgZnJhbWV3b3JrU3RyaW5nID09ICJX
ZWJLaXQiOgorICAgICAgICAgICAgcmV0dXJuIEZyYW1ld29ya3MuV2ViS2l0CisKICAgICAgICAg
aWYgZnJhbWV3b3JrU3RyaW5nID09ICJXZWJJbnNwZWN0b3IiOgogICAgICAgICAgICAgcmV0dXJu
IEZyYW1ld29ya3MuV2ViSW5zcGVjdG9yCiAKQEAgLTkwLDYgKzk1LDcgQEAgY2xhc3MgRnJhbWV3
b3JrOgogY2xhc3MgRnJhbWV3b3JrczoKICAgICBHbG9iYWwgPSBGcmFtZXdvcmsoIkdsb2JhbCIp
CiAgICAgSmF2YVNjcmlwdENvcmUgPSBGcmFtZXdvcmsoIkphdmFTY3JpcHRDb3JlIikKKyAgICBX
ZWJLaXQgPSBGcmFtZXdvcmsoIldlYktpdCIpCiAgICAgV2ViSW5zcGVjdG9yID0gRnJhbWV3b3Jr
KCJXZWJJbnNwZWN0b3IiKQogICAgIFRlc3QgPSBGcmFtZXdvcmsoIlRlc3QiKQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvZ2VuZXJhdGUtaW5z
cGVjdG9yLXByb3RvY29sLWJpbmRpbmdzLnB5IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9zY3JpcHRzL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC1iaW5kaW5ncy5weQppbmRl
eCBlYTEzOTQ1ZjA2ZTU3YjZjY2Q4YzdlMzVkZTUyMGNhNTI3Y2YwOTM0Li5hNTI4YTlkYjI1YzZj
ZTA4YTVlNDAxY2I4Mzk0YzhmZmI5Nzg4NWExIDEwMDc1NQotLS0gYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvZ2VuZXJhdGUtaW5zcGVjdG9yLXByb3RvY29sLWJpbmRp
bmdzLnB5CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9nZW5l
cmF0ZS1pbnNwZWN0b3ItcHJvdG9jb2wtYmluZGluZ3MucHkKQEAgLTExMiw3ICsxMTIsOSBAQCBk
ZWYgZ2VuZXJhdGVfZnJvbV9zcGVjaWZpY2F0aW9uKHByaW1hcnlfc3BlY2lmaWNhdGlvbl9maWxl
cGF0aD1Ob25lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25jYXRlbmF0ZV9v
dXRwdXQ9RmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dHB1dF9kaXJw
YXRoPU5vbmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcmNlX291dHB1dD1G
YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJhbWV3b3JrX25hbWU9IiIp
OgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcmFtZXdvcmtfbmFtZT0iIiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVfZnJvbnRlbmQ9VHJ1ZSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVfYmFja2VuZD1UcnVlKToKIAog
ICAgIGRlZiBsb2FkX3NwZWNpZmljYXRpb24ocHJvdG9jb2wsIGZpbGVwYXRoLCBpc1N1cHBsZW1l
bnRhbD1GYWxzZSk6CiAgICAgICAgIHRyeToKQEAgLTE0OCw2ICsxNTAsNyBAQCBkZWYgZ2VuZXJh
dGVfZnJvbV9zcGVjaWZpY2F0aW9uKHByaW1hcnlfc3BlY2lmaWNhdGlvbl9maWxlcGF0aD1Ob25l
LAogICAgICAgICBnZW5lcmF0b3JzLmFwcGVuZChPYmpDSGVhZGVyR2VuZXJhdG9yKHByb3RvY29s
LCBwcmltYXJ5X3NwZWNpZmljYXRpb25fZmlsZXBhdGgpKQogICAgICAgICBnZW5lcmF0b3JzLmFw
cGVuZChPYmpDSW50ZXJuYWxIZWFkZXJHZW5lcmF0b3IocHJvdG9jb2wsIHByaW1hcnlfc3BlY2lm
aWNhdGlvbl9maWxlcGF0aCkpCiAgICAgICAgIGdlbmVyYXRvcnMuYXBwZW5kKE9iakNQcm90b2Nv
bFR5cGVzSW1wbGVtZW50YXRpb25HZW5lcmF0b3IocHJvdG9jb2wsIHByaW1hcnlfc3BlY2lmaWNh
dGlvbl9maWxlcGF0aCkpCisKICAgICBlbGlmIHByb3RvY29sLmZyYW1ld29yayBpcyBGcmFtZXdv
cmtzLkphdmFTY3JpcHRDb3JlOgogICAgICAgICBnZW5lcmF0b3JzLmFwcGVuZChKU0JhY2tlbmRD
b21tYW5kc0dlbmVyYXRvcihwcm90b2NvbCwgcHJpbWFyeV9zcGVjaWZpY2F0aW9uX2ZpbGVwYXRo
KSkKICAgICAgICAgZ2VuZXJhdG9ycy5hcHBlbmQoQ3BwQWx0ZXJuYXRlQmFja2VuZERpc3BhdGNo
ZXJIZWFkZXJHZW5lcmF0b3IocHJvdG9jb2wsIHByaW1hcnlfc3BlY2lmaWNhdGlvbl9maWxlcGF0
aCkpCkBAIC0xNTcsNiArMTYwLDE5IEBAIGRlZiBnZW5lcmF0ZV9mcm9tX3NwZWNpZmljYXRpb24o
cHJpbWFyeV9zcGVjaWZpY2F0aW9uX2ZpbGVwYXRoPU5vbmUsCiAgICAgICAgIGdlbmVyYXRvcnMu
YXBwZW5kKENwcEZyb250ZW5kRGlzcGF0Y2hlckltcGxlbWVudGF0aW9uR2VuZXJhdG9yKHByb3Rv
Y29sLCBwcmltYXJ5X3NwZWNpZmljYXRpb25fZmlsZXBhdGgpKQogICAgICAgICBnZW5lcmF0b3Jz
LmFwcGVuZChDcHBQcm90b2NvbFR5cGVzSGVhZGVyR2VuZXJhdG9yKHByb3RvY29sLCBwcmltYXJ5
X3NwZWNpZmljYXRpb25fZmlsZXBhdGgpKQogICAgICAgICBnZW5lcmF0b3JzLmFwcGVuZChDcHBQ
cm90b2NvbFR5cGVzSW1wbGVtZW50YXRpb25HZW5lcmF0b3IocHJvdG9jb2wsIHByaW1hcnlfc3Bl
Y2lmaWNhdGlvbl9maWxlcGF0aCkpCisKKyAgICBlbGlmIHByb3RvY29sLmZyYW1ld29yayBpcyBG
cmFtZXdvcmtzLldlYktpdCBhbmQgZ2VuZXJhdGVfYmFja2VuZDoKKyAgICAgICAgZ2VuZXJhdG9y
cy5hcHBlbmQoQ3BwQmFja2VuZERpc3BhdGNoZXJIZWFkZXJHZW5lcmF0b3IocHJvdG9jb2wsIHBy
aW1hcnlfc3BlY2lmaWNhdGlvbl9maWxlcGF0aCkpCisgICAgICAgIGdlbmVyYXRvcnMuYXBwZW5k
KENwcEJhY2tlbmREaXNwYXRjaGVySW1wbGVtZW50YXRpb25HZW5lcmF0b3IocHJvdG9jb2wsIHBy
aW1hcnlfc3BlY2lmaWNhdGlvbl9maWxlcGF0aCkpCisgICAgICAgIGdlbmVyYXRvcnMuYXBwZW5k
KENwcFByb3RvY29sVHlwZXNIZWFkZXJHZW5lcmF0b3IocHJvdG9jb2wsIHByaW1hcnlfc3BlY2lm
aWNhdGlvbl9maWxlcGF0aCkpCisgICAgICAgIGdlbmVyYXRvcnMuYXBwZW5kKENwcFByb3RvY29s
VHlwZXNJbXBsZW1lbnRhdGlvbkdlbmVyYXRvcihwcm90b2NvbCwgcHJpbWFyeV9zcGVjaWZpY2F0
aW9uX2ZpbGVwYXRoKSkKKworICAgIGVsaWYgcHJvdG9jb2wuZnJhbWV3b3JrIGlzIEZyYW1ld29y
a3MuV2ViS2l0IGFuZCBnZW5lcmF0ZV9mcm9udGVuZDoKKyAgICAgICAgIyBGSVhNRSA8cmRhcjov
L3Byb2JsZW0vMjM0NjY5MjU+OiBUaGlzIGxpc3Qgb2YgZ2VuZXJhdG9ycyBmb3IgdGhlIGZyb250
ZW5kIGlzIGEgcGxhY2Vob2xkZXIuCisgICAgICAgIGdlbmVyYXRvcnMuYXBwZW5kKE9iakNDb252
ZXJzaW9uSGVscGVyc0dlbmVyYXRvcihwcm90b2NvbCwgcHJpbWFyeV9zcGVjaWZpY2F0aW9uX2Zp
bGVwYXRoKSkKKyAgICAgICAgZ2VuZXJhdG9ycy5hcHBlbmQoT2JqQ0Zyb250ZW5kRGlzcGF0Y2hl
ckltcGxlbWVudGF0aW9uR2VuZXJhdG9yKHByb3RvY29sLCBwcmltYXJ5X3NwZWNpZmljYXRpb25f
ZmlsZXBhdGgpKQorICAgICAgICBnZW5lcmF0b3JzLmFwcGVuZChPYmpDUHJvdG9jb2xUeXBlc0lt
cGxlbWVudGF0aW9uR2VuZXJhdG9yKHByb3RvY29sLCBwcmltYXJ5X3NwZWNpZmljYXRpb25fZmls
ZXBhdGgpKQorCiAgICAgZWxpZiBwcm90b2NvbC5mcmFtZXdvcmsgaXMgRnJhbWV3b3Jrcy5XZWJJ
bnNwZWN0b3I6CiAgICAgICAgIGdlbmVyYXRvcnMuYXBwZW5kKE9iakNCYWNrZW5kRGlzcGF0Y2hl
ckhlYWRlckdlbmVyYXRvcihwcm90b2NvbCwgcHJpbWFyeV9zcGVjaWZpY2F0aW9uX2ZpbGVwYXRo
KSkKICAgICAgICAgZ2VuZXJhdG9ycy5hcHBlbmQoT2JqQ0JhY2tlbmREaXNwYXRjaGVySW1wbGVt
ZW50YXRpb25HZW5lcmF0b3IocHJvdG9jb2wsIHByaW1hcnlfc3BlY2lmaWNhdGlvbl9maWxlcGF0
aCkpCkBAIC0xOTAsMTQgKzIwNiwxNSBAQCBkZWYgZ2VuZXJhdGVfZnJvbV9zcGVjaWZpY2F0aW9u
KHByaW1hcnlfc3BlY2lmaWNhdGlvbl9maWxlcGF0aD1Ob25lLAogCiAKIGlmIF9fbmFtZV9fID09
ICdfX21haW5fXyc6Ci0gICAgYWxsb3dlZF9mcmFtZXdvcmtfbmFtZXMgPSBbJ0phdmFTY3JpcHRD
b3JlJywgJ1dlYkluc3BlY3RvcicsICdUZXN0J10KKyAgICBhbGxvd2VkX2ZyYW1ld29ya19uYW1l
cyA9IFsnSmF2YVNjcmlwdENvcmUnLCAnV2ViSW5zcGVjdG9yJywgJ1dlYktpdCcsICdUZXN0J10K
ICAgICBjbGlfcGFyc2VyID0gb3B0cGFyc2UuT3B0aW9uUGFyc2VyKHVzYWdlPSJ1c2FnZTogJXBy
b2cgW29wdGlvbnNdIFByaW1hcnlQcm90b2NvbC5qc29uIFtTdXBwbGVtZW50YWxQcm90b2NvbC5q
c29uIC4uLl0iKQogICAgIGNsaV9wYXJzZXIuYWRkX29wdGlvbigiLW8iLCAiLS1vdXRwdXREaXIi
LCBoZWxwPSJEaXJlY3Rvcnkgd2hlcmUgZ2VuZXJhdGVkIGZpbGVzIHNob3VsZCBiZSB3cml0dGVu
LiIpCiAgICAgY2xpX3BhcnNlci5hZGRfb3B0aW9uKCItLWZyYW1ld29yayIsIHR5cGU9ImNob2lj
ZSIsIGNob2ljZXM9YWxsb3dlZF9mcmFtZXdvcmtfbmFtZXMsIGhlbHA9IlRoZSBmcmFtZXdvcmsg
dGhhdCB0aGUgcHJpbWFyeSBzcGVjaWZpY2F0aW9uIGJlbG9uZ3MgdG8uIikKICAgICBjbGlfcGFy
c2VyLmFkZF9vcHRpb24oIi0tZm9yY2UiLCBhY3Rpb249InN0b3JlX3RydWUiLCBoZWxwPSJGb3Jj
ZSBvdXRwdXQgb2YgZ2VuZXJhdGVkIHNjcmlwdHMsIGV2ZW4gaWYgbm90aGluZyBjaGFuZ2VkLiIp
CiAgICAgY2xpX3BhcnNlci5hZGRfb3B0aW9uKCItdiIsICItLWRlYnVnIiwgYWN0aW9uPSJzdG9y
ZV90cnVlIiwgaGVscD0iTG9nIGV4dHJhIG91dHB1dCBmb3IgZGVidWdnaW5nIHRoZSBnZW5lcmF0
b3IgaXRzZWxmLiIpCiAgICAgY2xpX3BhcnNlci5hZGRfb3B0aW9uKCItdCIsICItLXRlc3QiLCBh
Y3Rpb249InN0b3JlX3RydWUiLCBoZWxwPSJFbmFibGUgdGVzdCBtb2RlLiBVc2UgdW5pcXVlIG91
dHB1dCBmaWxlbmFtZXMgY3JlYXRlZCBieSBwcmVwZW5kaW5nIHRoZSBpbnB1dCBmaWxlbmFtZS4i
KQotCisgICAgY2xpX3BhcnNlci5hZGRfb3B0aW9uKCItLWZyb250ZW5kIiwgYWN0aW9uPSJzdG9y
ZV90cnVlIiwgaGVscD0iR2VuZXJhdGUgY29kZSBmb3IgdGhlIGZyb250ZW5kLXNpZGUgb2YgdGhl
IHByb3RvY29sIG9ubHkuIikKKyAgICBjbGlfcGFyc2VyLmFkZF9vcHRpb24oIi0tYmFja2VuZCIs
IGFjdGlvbj0ic3RvcmVfdHJ1ZSIsIGhlbHA9IkdlbmVyYXRlIGNvZGUgZm9yIHRoZSBiYWNrZW5k
LXNpZGUgb2YgdGhlIHByb3RvY29sIG9ubHkuIikKICAgICBvcHRpb25zID0gTm9uZQogCiAgICAg
YXJnX29wdGlvbnMsIGFyZ192YWx1ZXMgPSBjbGlfcGFyc2VyLnBhcnNlX2FyZ3MoKQpAQCAtMjEw
LDEzICsyMjcsMjIgQEAgaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKICAgICBpZiBhcmdfb3B0
aW9ucy5kZWJ1ZzoKICAgICAgICAgbG9nLnNldExldmVsKGxvZ2dpbmcuREVCVUcpCiAKKyAgICBn
ZW5lcmF0ZV9iYWNrZW5kID0gYXJnX29wdGlvbnMuYmFja2VuZDsKKyAgICBnZW5lcmF0ZV9mcm9u
dGVuZCA9IGFyZ19vcHRpb25zLmZyb250ZW5kOworICAgICMgRGVmYXVsdCB0byBnZW5lcmF0aW5n
IGJvdGggdGhlIGZyb250ZW5kIGFuZCBiYWNrZW5kIGlmIG5laXRoZXIgaXMgc3BlY2lmaWVkLgor
ICAgIGlmIG5vdCBnZW5lcmF0ZV9iYWNrZW5kIGFuZCBub3QgZ2VuZXJhdGVfZnJvbnRlbmQ6Cisg
ICAgICAgIGdlbmVyYXRlX2JhY2tlbmQgPSBUcnVlCisgICAgICAgIGdlbmVyYXRlX2Zyb250ZW5k
ID0gVHJ1ZQorCiAgICAgb3B0aW9ucyA9IHsKICAgICAgICAgJ3ByaW1hcnlfc3BlY2lmaWNhdGlv
bl9maWxlcGF0aCc6IGFyZ192YWx1ZXNbMF0sCiAgICAgICAgICdzdXBwbGVtZW50YWxfc3BlY2lm
aWNhdGlvbl9maWxlcGF0aHMnOiBhcmdfdmFsdWVzWzE6XSwKICAgICAgICAgJ291dHB1dF9kaXJw
YXRoJzogYXJnX29wdGlvbnMub3V0cHV0RGlyLAogICAgICAgICAnY29uY2F0ZW5hdGVfb3V0cHV0
JzogYXJnX29wdGlvbnMudGVzdCwKICAgICAgICAgJ2ZyYW1ld29ya19uYW1lJzogYXJnX29wdGlv
bnMuZnJhbWV3b3JrLAotICAgICAgICAnZm9yY2Vfb3V0cHV0JzogYXJnX29wdGlvbnMuZm9yY2UK
KyAgICAgICAgJ2ZvcmNlX291dHB1dCc6IGFyZ19vcHRpb25zLmZvcmNlLAorICAgICAgICAnZ2Vu
ZXJhdGVfYmFja2VuZCc6IGdlbmVyYXRlX2JhY2tlbmQsCisgICAgICAgICdnZW5lcmF0ZV9mcm9u
dGVuZCc6IGdlbmVyYXRlX2Zyb250ZW5kLAogICAgIH0KIAogICAgIHRyeToKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0Jhc2VUYXJnZXQueGNjb25maWcgYi9Tb3Vy
Y2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9CYXNlVGFyZ2V0LnhjY29uZmlnCmluZGV4IGNjOTQ3
YjkxOGE0ZjIwODlmMzFkMmRjYTFiNzY3MjE1ZWVlYjdlNGMuLmFlZTY5MjEzOWQzNjBmMDg3MjEz
NzA2YjVkODU1NWViYzI5ZDNiM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3Vy
YXRpb25zL0Jhc2VUYXJnZXQueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdDIvQ29uZmlndXJh
dGlvbnMvQmFzZVRhcmdldC54Y2NvbmZpZwpAQCAtNTEsNiArNTEsNyBAQCBVTUJSRUxMQV9GUkFN
RVdPUktTX0RJUl9Qcm9kdWN0aW9uX21hY29zeF9VU0VfT1ZFUlJJREVfRlJBTUVXT1JLU19ESVJf
Tk8gPSAkKE5FWAogVU1CUkVMTEFfRlJBTUVXT1JLU19ESVJfUHJvZHVjdGlvbl9tYWNvc3hfVVNF
X09WRVJSSURFX0ZSQU1FV09SS1NfRElSX1lFUyA9ICQoV0tfT1ZFUlJJREVfRlJBTUVXT1JLU19E
SVIpOwogVU1CUkVMTEFfRlJBTUVXT1JLU19ESVJfZW5naW5lZXJpbmcgPSAkKEJVSUxUX1BST0RV
Q1RTX0RJUik7CiAKK0pBVkFTQ1JJUFRDT1JFX1BSSVZBVEVfSEVBREVSU19ESVIgPSAkKFVNQlJF
TExBX0ZSQU1FV09SS1NfRElSKS9KYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsvUHJpdmF0ZUhlYWRl
cnM7CiBXRUJDT1JFX1BSSVZBVEVfSEVBREVSU19ESVIgPSAkKFVNQlJFTExBX0ZSQU1FV09SS1Nf
RElSKS9XZWJDb3JlLmZyYW1ld29yay9Qcml2YXRlSGVhZGVyczsKIFdFQktJVF9MRUdBQ1lfUFJJ
VkFURV9IRUFERVJTX0RJUiA9ICQoVU1CUkVMTEFfRlJBTUVXT1JLU19ESVIpL1dlYktpdExlZ2Fj
eS5mcmFtZXdvcmsvUHJpdmF0ZUhlYWRlcnM7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViS2l0Mi9EZXJpdmVkU291cmNlcy5tYWtl
CmluZGV4IDVjNTc5MWQ4OGI1YzQ3YWYxNDc1OTI1MWEzZDU0ZDQ5MDdlNGM3MjAuLjZmMmE3Njcw
YTgwNjY5N2IxZGRiODU5YzM4ZTczYTA0MWMxZGE4Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYktpdDIvRGVyaXZlZFNvdXJj
ZXMubWFrZQpAQCAtNTYsNiArNTYsNyBAQCBWUEFUSCA9IFwKICAgICAkKFdlYktpdDIpL1dlYlBy
b2Nlc3MvaW9zIFwKICAgICAkKFdlYktpdDIpL1dlYlByb2Nlc3MgXAogICAgICQoV2ViS2l0Mikv
VUlQcm9jZXNzIFwKKyAgICAkKFdlYktpdDIpL1VJUHJvY2Vzcy9BdXRvbWF0aW9uIFwKICAgICAk
KFdlYktpdDIpL1VJUHJvY2Vzcy9Db2NvYSBcCiAgICAgJChXZWJLaXQyKS9VSVByb2Nlc3MvRGF0
YWJhc2VzIFwKICAgICAkKFdlYktpdDIpL1VJUHJvY2Vzcy9Eb3dubG9hZHMgXApAQCAtMTkyLDMg
KzE5MywzMSBAQCBhbGw6ICQoU0FOREJPWF9QUk9GSUxFUykKICUuc2IgOiAlLnNiLmluCiAJQGVj
aG8gUHJlLXByb2Nlc3NpbmcgJCogc2FuZGJveCBwcm9maWxlLi4uCiAJJChDQykgJChTREtfRkxB
R1MpICQoVEVYVF9QUkVQUk9DRVNTT1JfRkxBR1MpICQoRlJBTUVXT1JLX0ZMQUdTKSAkKEhFQURF
Ul9GTEFHUykgLWluY2x1ZGUgInd0Zi9QbGF0Zm9ybS5oIiAkPCA+ICRACisKK0pTT05fUlBDX0dF
TkVSQVRPUl9TQ1JJUFRTID0gXAorCSQoSmF2YVNjcmlwdENvcmVfU0NSSVBUU19ESVIpL2NwcF9n
ZW5lcmF0b3JfdGVtcGxhdGVzLnB5IFwKKwkkKEphdmFTY3JpcHRDb3JlX1NDUklQVFNfRElSKS9j
cHBfZ2VuZXJhdG9yLnB5IFwKKwkkKEphdmFTY3JpcHRDb3JlX1NDUklQVFNfRElSKS9nZW5lcmF0
ZV9jcHBfYmFja2VuZF9kaXNwYXRjaGVyX2hlYWRlci5weSBcCisJJChKYXZhU2NyaXB0Q29yZV9T
Q1JJUFRTX0RJUikvZ2VuZXJhdGVfY3BwX2JhY2tlbmRfZGlzcGF0Y2hlcl9pbXBsZW1lbnRhdGlv
bi5weSBcCisJJChKYXZhU2NyaXB0Q29yZV9TQ1JJUFRTX0RJUikvZ2VuZXJhdGVfY3BwX3Byb3Rv
Y29sX3R5cGVzX2hlYWRlci5weSBcCisJJChKYXZhU2NyaXB0Q29yZV9TQ1JJUFRTX0RJUikvZ2Vu
ZXJhdGVfY3BwX3Byb3RvY29sX3R5cGVzX2ltcGxlbWVudGF0aW9uLnB5IFwKKwkkKEphdmFTY3Jp
cHRDb3JlX1NDUklQVFNfRElSKS9nZW5lcmF0b3JfdGVtcGxhdGVzLnB5IFwKKwkkKEphdmFTY3Jp
cHRDb3JlX1NDUklQVFNfRElSKS9nZW5lcmF0b3IucHkgXAorCSQoSmF2YVNjcmlwdENvcmVfU0NS
SVBUU19ESVIpL21vZGVscy5weSBcCisJJChKYXZhU2NyaXB0Q29yZV9TQ1JJUFRTX0RJUikvZ2Vu
ZXJhdGUtaW5zcGVjdG9yLXByb3RvY29sLWJpbmRpbmdzLnB5IFwKKyMKKworSlNPTl9SUENfSU5Q
VVRfRklMRVMgPSBcCisgICAgJChXZWJLaXQyKS9VSVByb2Nlc3MvQXV0b21hdGlvbi9BdXRvbWF0
aW9uLmpzb24gXAorIworCitKU09OX1JQQ19PVVRQVVRfRklMRVMgPSBcCisgICAgSW5zcGVjdG9y
QmFja2VuZERpc3BhdGNoZXJzLmggXAorICAgIEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5j
cHAgXAorIworCisjIEpTT04tUlBDIEJhY2tlbmQgRGlzcGF0Y2hlcnMsIFR5cGUgQnVpbGRlcnMK
KyQoSlNPTl9SUENfT1VUUFVUX0ZJTEVTKSA6ICQoSlNPTl9SUENfSU5QVVRfRklMRVMpICQoSlNP
Tl9SUENfR0VORVJBVE9SX1NDUklQVFMpCisJJChQWVRIT04pICQoSmF2YVNjcmlwdENvcmVfU0NS
SVBUU19ESVIpL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC1iaW5kaW5ncy5weSAtLWZyYW1l
d29yayBXZWJLaXQgLS1iYWNrZW5kIC0tb3V0cHV0RGlyIC4gJChKU09OX1JQQ19JTlBVVF9GSUxF
UykKKworYWxsIDogJChKU09OX1JQQ19PVVRQVVRfRklMRVMpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9QbGF0Zm9ybU1hYy5jbWFrZSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtTWFjLmNt
YWtlCmluZGV4IDkyZTNiOTAzNGYwMzNkODc2ZTYyNmU1OTZkMTU0MDE0ZGVjZTA5MGYuLmU4ODEw
MDBkY2Q4NWM0NzczNjA1YmZiZDhjNDY0YTNiYTE2NGNjMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1BsYXRmb3JtTWFjLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtTWFj
LmNtYWtlCkBAIC02LDYgKzYsOCBAQCBhZGRfZGVmaW5pdGlvbnMoLWlmcmFtZXdvcmsgJHtRVUFS
VFpfTElCUkFSWX0vRnJhbWV3b3JrcykKIGFkZF9kZWZpbml0aW9ucygtaWZyYW1ld29yayAke0NB
UkJPTl9MSUJSQVJZfS9GcmFtZXdvcmtzKQogYWRkX2RlZmluaXRpb25zKC1EV0tfWFBDX1NFUlZJ
Q0VfU1VGRklYPSIuRGV2ZWxvcG1lbnQiKQogCitzZXQoSmF2YVNjcmlwdENvcmVfU0NSSVBUU19E
SVIgIiR7REVSSVZFRF9TT1VSQ0VTX0RJUn0vRm9yd2FyZGluZ0hlYWRlcnMvSmF2YVNjcmlwdENv
cmUvU2NyaXB0cyIpCisKIGxpc3QoQVBQRU5EIFdlYktpdDJfTElCUkFSSUVTCiAgICAgV2ViS2l0
CiApCkBAIC0xNDAsNyArMTQyLDggQEAgbGlzdChBUFBFTkQgV2ViS2l0Ml9TT1VSQ0VTCiAgICAg
U2hhcmVkL21hYy9XZWJNZW1vcnlTYW1wbGVyLm1hYy5tbQogCiAgICAgVUlQcm9jZXNzL1ZpZXdH
ZXN0dXJlQ29udHJvbGxlci5jcHAKLSAgICBVSVByb2Nlc3MvV2ViQXV0b21hdGlvblNlc3Npb24u
Y3BwCisKKyAgICBVSVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5jcHAK
IAogICAgIFVJUHJvY2Vzcy9BUEkvQVBJVXNlclNjcmlwdC5jcHAKICAgICBVSVByb2Nlc3MvQVBJ
L0FQSVVzZXJTdHlsZVNoZWV0LmNwcApAQCAtMzUyLDYgKzM1NSw3IEBAIGxpc3QoQVBQRU5EIFdl
YktpdDJfSU5DTFVERV9ESVJFQ1RPUklFUwogICAgICIke1dFQktJVDJfRElSfS9VSVByb2Nlc3Mv
QVBJL0MvbWFjIgogICAgICIke1dFQktJVDJfRElSfS9VSVByb2Nlc3MvQVBJL0NvY29hIgogICAg
ICIke1dFQktJVDJfRElSfS9VSVByb2Nlc3MvQVBJL21hYyIKKyAgICAiJHtXRUJLSVQyX0RJUn0v
VUlQcm9jZXNzL0F1dG9tYXRpb24iCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1VJUHJvY2Vzcy9Db2Nv
YSIKICAgICAiJHtXRUJLSVQyX0RJUn0vVUlQcm9jZXNzL0xhdW5jaGVyL21hYyIKICAgICAiJHtX
RUJLSVQyX0RJUn0vVUlQcm9jZXNzL1Njcm9sbGluZyIKQEAgLTQ5NSw0ICs0OTksMzggQEAgbGlz
dChBUFBFTkQgV2ViS2l0Ml9TT1VSQ0VTCiAgICAgJHtERVJJVkVEX1NPVVJDRVNfV0VCS0lUMl9E
SVJ9L01lc3NhZ2VSZWNvcmRlclByb2Jlcy5oCiApCiAKK3NldChXZWJLaXQyX0pTT05fUlBDX0dF
TkVSQVRPUl9TQ1JJUFRTCisgICAgJHtKYXZhU2NyaXB0Q29yZV9TQ1JJUFRTX0RJUn0vZ2VuZXJh
dGUtaW5zcGVjdG9yLXByb3RvY29sLWJpbmRpbmdzLnB5CisgICAgJHtKYXZhU2NyaXB0Q29yZV9T
Q1JJUFRTX0RJUn0vY29kZWdlbi9jcHBfZ2VuZXJhdG9yLnB5CisgICAgJHtKYXZhU2NyaXB0Q29y
ZV9TQ1JJUFRTX0RJUn0vY29kZWdlbi9jcHBfZ2VuZXJhdG9yX3RlbXBsYXRlcy5weQorICAgICR7
SmF2YVNjcmlwdENvcmVfU0NSSVBUU19ESVJ9L2NvZGVnZW4vZ2VuZXJhdGVfY3BwX2JhY2tlbmRf
ZGlzcGF0Y2hlcl9oZWFkZXIucHkKKyAgICAke0phdmFTY3JpcHRDb3JlX1NDUklQVFNfRElSfS9j
b2RlZ2VuL2dlbmVyYXRlX2NwcF9iYWNrZW5kX2Rpc3BhdGNoZXJfaW1wbGVtZW50YXRpb24ucHkK
KyAgICAke0phdmFTY3JpcHRDb3JlX1NDUklQVFNfRElSfS9jb2RlZ2VuL2dlbmVyYXRlX2NwcF9w
cm90b2NvbF90eXBlc19oZWFkZXIucHkKKyAgICAke0phdmFTY3JpcHRDb3JlX1NDUklQVFNfRElS
fS9jb2RlZ2VuL2dlbmVyYXRlX2NwcF9wcm90b2NvbF90eXBlc19pbXBsZW1lbnRhdGlvbi5weQor
ICAgICR7SmF2YVNjcmlwdENvcmVfU0NSSVBUU19ESVJ9L2NvZGVnZW4vZ2VuZXJhdG9yLnB5Cisg
ICAgJHtKYXZhU2NyaXB0Q29yZV9TQ1JJUFRTX0RJUn0vY29kZWdlbi9nZW5lcmF0b3JfdGVtcGxh
dGVzLnB5CisgICAgJHtKYXZhU2NyaXB0Q29yZV9TQ1JJUFRTX0RJUn0vY29kZWdlbi9tb2RlbHMu
cHkKKykKKworc2V0KFdlYktpdDJfSlNPTl9SUENfR0VORVJBVE9SX0lOUFVUUworICAgICR7V0VC
S0lUMl9ESVJ9L1VJUHJvY2Vzcy9BdXRvbWF0aW9uL0F1dG9tYXRpb24uanNvbgorKQorCithZGRf
Y3VzdG9tX2NvbW1hbmQoCisgICAgT1VUUFVUICR7REVSSVZFRF9TT1VSQ0VTX1dFQktJVDJfRElS
fS9JbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuaCAke0RFUklWRURfU09VUkNFU19XRUJLSVQy
X0RJUn0vSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzLmNwcCAke0RFUklWRURfU09VUkNFU19X
RUJLSVQyX0RJUn0vSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzLmggJHtERVJJVkVEX1NPVVJDRVNf
V0VCS0lUMl9ESVJ9L0luc3BlY3RvclByb3RvY29sT2JqZWN0cy5jcHAKKyAgICBNQUlOX0RFUEVO
REVOQ1kgJHtXZWJLaXQyX0pTT05fUlBDX0dFTkVSQVRPUl9JTlBVVFN9CisgICAgREVQRU5EUyAk
e1dlYktpdDJfSlNPTl9SUENfR0VORVJBVE9SX1NDUklQVFN9CisgICAgQ09NTUFORCAke1BZVEhP
Tl9FWEVDVVRBQkxFfSAke0phdmFTY3JpcHRDb3JlX1NDUklQVFNfRElSfS9nZW5lcmF0ZS1pbnNw
ZWN0b3ItcHJvdG9jb2wtYmluZGluZ3MucHkgLS1vdXRwdXREaXIgIiR7REVSSVZFRF9TT1VSQ0VT
X1dFQktJVDJfRElSfSIgLS1mcmFtZXdvcmsgV2ViS2l0IC0tYmFja2VuZCAke1dlYktpdDJfSlNP
Tl9SUENfR0VORVJBVE9SX0lOUFVUU30KKyAgICBWRVJCQVRJTSkKKworbGlzdChBUFBFTkQgV2Vi
S2l0Ml9IRUFERVJTCisgICAgJHtERVJJVkVEX1NPVVJDRVNfV0VCS0lUMl9ESVJ9L0luc3BlY3Rv
ckJhY2tlbmREaXNwYXRjaGVycy5oCisgICAgJHtERVJJVkVEX1NPVVJDRVNfV0VCS0lUMl9ESVJ9
L0luc3BlY3RvclByb3RvY29sT2JqZWN0cy5oCispCisKK2xpc3QoQVBQRU5EIFdlYktpdDJfU09V
UkNFUworICAgICR7REVSSVZFRF9TT1VSQ0VTX1dFQktJVDJfRElSfS9JbnNwZWN0b3JCYWNrZW5k
RGlzcGF0Y2hlcnMuY3BwCisgICAgJHtERVJJVkVEX1NPVVJDRVNfV0VCS0lUMl9ESVJ9L0luc3Bl
Y3RvclByb3RvY29sT2JqZWN0cy5jcHAKKykKKwogV0VCS0lUX0NSRUFURV9GT1JXQVJESU5HX0hF
QURFUlMoV2ViS2l0IEZJTEVTICR7V2ViS2l0Ml9GT1JXQVJESU5HX0hFQURFUlNfRklMRVN9IERJ
UkVDVE9SSUVTICR7V2ViS2l0Ml9GT1JXQVJESU5HX0hFQURFUlNfRElSRUNUT1JJRVN9KQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1dG9tYXRpb24vQXV0b21hdGlvbi5q
c29uIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1dG9tYXRpb24vQXV0b21hdGlvbi5qc29u
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmI1OGU3M2RjOGMxYTkyYmRlNTczM2VjY2Y3MzU5MzU0ZmM5NzVhOTgKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQXV0b21hdGlvbi9BdXRv
bWF0aW9uLmpzb24KQEAgLTAsMCArMSw0MyBAQAoreworICAgICJkb21haW4iOiAiQXV0b21hdGlv
biIsCisgICAgImRlc2NyaXB0aW9uIjogIkF1dG9tYXRpb24gZG9tYWluIGV4cG9zZXMgY29tbWFu
ZHMgZm9yIGF1dG9tYXRpbmcgdXNlciBpbnRlcmFjdGlvbnMgd2l0aCB0aGUgYnJvd3Nlci4iLAor
ICAgICJ0eXBlcyI6IFsKKyAgICAgICAgeworICAgICAgICAgICAgImlkIjogIk9wYXF1ZVdpbmRv
d0hhbmRsZSIsCisgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAorICAgICAgICAgICAgImRl
c2NyaXB0aW9uIjogIkFuIG9wYXF1ZSBpZGVudGlmaWVyIGZvciBhIHdpbmRvdy4iCisgICAgICAg
IH0sCisgICAgICAgIHsKKyAgICAgICAgICAgICJpZCI6ICJCcm93c2luZ1dpbmRvdyIsCisgICAg
ICAgICAgICAidHlwZSI6ICJvYmplY3QiLAorICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkEg
aGFuZGxlIHJlcHJlc2VudGluZyBhbiBvcGVuIHdpbmRvdyBvciB0YWIgaW4gdGhlIGF1dG9tYXRp
b24gc2Vzc2lvbi4iLAorICAgICAgICAgICAgInByb3BlcnRpZXMiOiBbCisgICAgICAgICAgICAg
ICAgeyAibmFtZSI6ICJoYW5kbGUiLCAiJHJlZiI6ICJPcGFxdWVXaW5kb3dIYW5kbGUiLCAiZGVz
Y3JpcHRpb24iOiAiT3BhcXVlIGhhbmRsZSBmb3IgdGhlIHdpbmRvdy4gVXNlZCBhcyBhIGtleSBm
b3Igd2luZG93LXJlbGF0ZWQgY29tbWFuZHMuIiB9LAorICAgICAgICAgICAgICAgIHsgIm5hbWUi
OiAiYWN0aXZlIiwgInR5cGUiOiAiYm9vbGVhbiIsICJkZXNjcmlwdGlvbiI6ICJXaGV0aGVyIHRo
ZSB3aW5kb3cgaXMgYWN0aXZlIGF0IHRoZSB0aW1lIHRoZSBjb21tYW5kIGlzIGhhbmRsZWQuIiB9
CisgICAgICAgICAgICBdCisgICAgICAgIH0KKyAgICBdLAorICAgICJjb21tYW5kcyI6IFsKKyAg
ICAgICAgeworICAgICAgICAgICAgIm5hbWUiOiAiZ2V0V2luZG93cyIsCisgICAgICAgICAgICAi
cmV0dXJucyI6IFsKKyAgICAgICAgICAgICAgICB7ICJuYW1lIjogIndpbmRvd3MiLCAidHlwZSI6
ICJhcnJheSIsICJpdGVtcyI6IHsgIiRyZWYiOiAiQnJvd3NpbmdXaW5kb3cifSwgImRlc2NyaXB0
aW9uIjogIkFsbCBrbm93biB3aW5kb3dzIGFuZCB0YWJzIGluIHRoZSBicm93c2luZyBzZXNzaW9u
LiIgfQorICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJHZXRzIGlu
Zm9ybWF0aW9uIGFib3V0IGFsbCBvcGVuIHdpbmRvd3MgYW5kIHRhYnMgaW4gdGhlIGF1dG9tYXRp
b24gc2Vzc2lvbi4iCisgICAgICAgIH0sCisgICAgICAgIHsKKyAgICAgICAgICAgICJuYW1lIjog
Im9wZW5XaW5kb3ciLAorICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCisgICAgICAgICAgICAg
ICAgeyAibmFtZSI6ICJoYW5kbGUiLCAiJHJlZiI6ICJPcGFxdWVXaW5kb3dIYW5kbGUiLCAiZGVz
Y3JpcHRpb24iOiAiVGhlIGhhbmRsZSBmb3IgdGhlIHdpbmRvdyB0aGF0IHNob3VsZCBiZSBjbG9z
ZWQuIiB9CisgICAgICAgICAgICBdLAorICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkNsb3Nl
cyB0aGUgc3BlY2lmaWVkIHdpbmRvdy4iCisgICAgICAgIH0sCisgICAgICAgIHsKKyAgICAgICAg
ICAgICJuYW1lIjogImNsb3NlV2luZG93IiwKKyAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogWwor
ICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiaGFuZGxlIiwgIiRyZWYiOiAiT3BhcXVlV2luZG93
SGFuZGxlIiwgImRlc2NyaXB0aW9uIjogIlRoZSBoYW5kbGUgZm9yIHRoZSB3aW5kb3cgdGhhdCBz
aG91bGQgYmUgY2xvc2VkLiIgfQorICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICJkZXNjcmlw
dGlvbiI6ICJDbG9zZXMgdGhlIHNwZWNpZmllZCB3aW5kb3cuIgorICAgICAgICB9CisgICAgXQor
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0
b21hdGlvblNlc3Npb24uY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1dG9tYXRpb24v
V2ViQXV0b21hdGlvblNlc3Npb24uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlhNDIxMmZjMTEzODUwM2ZhZGRj
YWQ4MTkyMzlmNTdhNDZkZjJlMGEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5jcHAKQEAgLTAsMCArMSw5
MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJBdXRv
bWF0aW9uU2Vzc2lvbi5oIgorCisjaW5jbHVkZSAiQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQu
aCIKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9JbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5o
PgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0luc3BlY3RvckZyb250ZW5kUm91dGVyLmg+CisK
K3VzaW5nIG5hbWVzcGFjZSBJbnNwZWN0b3I7CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitXZWJB
dXRvbWF0aW9uU2Vzc2lvbjo6V2ViQXV0b21hdGlvblNlc3Npb24oKQorICAgIDogbV9jbGllbnQo
c3RkOjptYWtlX3VuaXF1ZTxBUEk6OkF1dG9tYXRpb25TZXNzaW9uQ2xpZW50PigpKQorICAgICwg
bV9mcm9udGVuZFJvdXRlcihGcm9udGVuZFJvdXRlcjo6Y3JlYXRlKCkpCisgICAgLCBtX2JhY2tl
bmREaXNwYXRjaGVyKEJhY2tlbmREaXNwYXRjaGVyOjpjcmVhdGUobV9mcm9udGVuZFJvdXRlci5j
b3B5UmVmKCkpKQoreworICAgIC8vIEZJWE1FOiB0byBhY3R1YWxseSBoYW5kbGUgaW5jb21pbmcg
Y29tbWFuZHMsIGFuIGFnZW50IG5lZWRzIHRvIGJlIGNyZWF0ZWQKKyAgICAvLyBhbmQgcmVnaXN0
ZXJlZCB3aXRoIHRoZSBiYWNrZW5kIGRpc3BhdGNoZXIgaW4gdGhlIGNvbnN0cnVjdG9yLgorfQor
CitXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6fldlYkF1dG9tYXRpb25TZXNzaW9uKCkKK3sKKyAgICBB
U1NFUlQoIW1fY2xpZW50KTsKK30KKwordm9pZCBXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6c2V0Q2xp
ZW50KHN0ZDo6dW5pcXVlX3B0cjxBUEk6OkF1dG9tYXRpb25TZXNzaW9uQ2xpZW50PiBjbGllbnQp
Cit7CisgICAgbV9jbGllbnQgPSBXVEZNb3ZlKGNsaWVudCk7Cit9CisKKy8vIE5PVEU6IHRoaXMg
Y2xhc3MgY291bGQgYmUgc3BsaXQgYXQgc29tZSBwb2ludCB0byBzdXBwb3J0IGxvY2FsIGFuZCBy
ZW1vdGUgYXV0b21hdGlvbiBzZXNzaW9ucy4KKy8vIEZvciBub3csIGl0IG9ubHkgd29ya3Mgd2l0
aCBhIHJlbW90ZSBhdXRvbWF0aW9uIGRyaXZlciBvdmVyIGEgUmVtb3RlSW5zcGVjdG9yIGNvbm5l
Y3Rpb24uCisKKyNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKKworLy8gSW5zcGVjdG9yOjpS
ZW1vdGVBdXRvbWF0aW9uVGFyZ2V0IEFQSQorCit2b2lkIFdlYkF1dG9tYXRpb25TZXNzaW9uOjpk
aXNwYXRjaE1lc3NhZ2VGcm9tUmVtb3RlKGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKK3sKKyAgICBt
X2JhY2tlbmREaXNwYXRjaGVyLT5kaXNwYXRjaChtZXNzYWdlKTsKK30KKwordm9pZCBXZWJBdXRv
bWF0aW9uU2Vzc2lvbjo6Y29ubmVjdChJbnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCogY2hhbm5l
bCwgYm9vbCBpc0F1dG9tYXRpY0Nvbm5lY3Rpb24pCit7CisgICAgVU5VU0VEX1BBUkFNKGlzQXV0
b21hdGljQ29ubmVjdGlvbik7CisKKyAgICBtX3JlbW90ZUNoYW5uZWwgPSBjaGFubmVsOworICAg
IG1fZnJvbnRlbmRSb3V0ZXItPmNvbm5lY3RGcm9udGVuZChjaGFubmVsKTsKKworICAgIHNldElz
UGFpcmVkKHRydWUpOworfQorCit2b2lkIFdlYkF1dG9tYXRpb25TZXNzaW9uOjpkaXNjb25uZWN0
KEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsKiBjaGFubmVsKQoreworICAgIEFTU0VSVChjaGFu
bmVsID09IG1fcmVtb3RlQ2hhbm5lbCk7CisKKyAgICBtX3JlbW90ZUNoYW5uZWwgPSBudWxscHRy
OworICAgIG1fZnJvbnRlbmRSb3V0ZXItPmRpc2Nvbm5lY3RGcm9udGVuZChjaGFubmVsKTsKKwor
ICAgIHNldElzUGFpcmVkKGZhbHNlKTsKKworICAgIGlmIChtX2NsaWVudCkKKyAgICAgICAgbV9j
bGllbnQtPmRpZERpc2Nvbm5lY3RGcm9tUmVtb3RlKHRoaXMpOworfQorCisjZW5kaWYgLy8gRU5B
QkxFKFJFTU9URV9JTlNQRUNUT1IpCisKK30gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Np
b24uaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25T
ZXNzaW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2MzOWE3ZjE1NTY4NmY5ZDY4NWY0YWU3MWQxOTNiZWQyNDgx
ZWFjYQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BdXRvbWF0
aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uLmgKQEAgLTAsMCArMSw4NCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpZm5kZWYgV2ViQXV0b21hdGlvblNlc3Npb25faAorI2RlZmluZSBXZWJBdXRvbWF0aW9uU2Vz
c2lvbl9oCisKKyNpbmNsdWRlICJBUElPYmplY3QuaCIKKyNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgorCisjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCisjaW5jbHVkZSA8SmF2YVNjcmlwdENv
cmUvUmVtb3RlQXV0b21hdGlvblRhcmdldC5oPgorI2VuZGlmCisKK25hbWVzcGFjZSBBUEkgewor
Y2xhc3MgQXV0b21hdGlvblNlc3Npb25DbGllbnQ7Cit9CisKK25hbWVzcGFjZSBJbnNwZWN0b3Ig
eworY2xhc3MgQmFja2VuZERpc3BhdGNoZXI7CitjbGFzcyBGcm9udGVuZFJvdXRlcjsKK30KKwor
bmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFdlYkF1dG9tYXRpb25TZXNzaW9uQ2xpZW50Owor
CitjbGFzcyBXZWJBdXRvbWF0aW9uU2Vzc2lvbiBmaW5hbCA6IHB1YmxpYyBBUEk6Ok9iamVjdElt
cGw8QVBJOjpPYmplY3Q6OlR5cGU6OkF1dG9tYXRpb25TZXNzaW9uPgorI2lmIEVOQUJMRShSRU1P
VEVfSU5TUEVDVE9SKQorICAgICwgcHVibGljIEluc3BlY3Rvcjo6UmVtb3RlQXV0b21hdGlvblRh
cmdldAorI2VuZGlmCit7CitwdWJsaWM6CisgICAgV2ViQXV0b21hdGlvblNlc3Npb24oKTsKKyAg
ICB+V2ViQXV0b21hdGlvblNlc3Npb24oKTsKKworICAgIHZvaWQgc2V0Q2xpZW50KHN0ZDo6dW5p
cXVlX3B0cjxBUEk6OkF1dG9tYXRpb25TZXNzaW9uQ2xpZW50Pik7CisKKyAgICB2b2lkIHNldFNl
c3Npb25JZGVudGlmaWVyKGNvbnN0IFN0cmluZyYgc2Vzc2lvbklkZW50aWZpZXIpIHsgbV9zZXNz
aW9uSWRlbnRpZmllciA9IHNlc3Npb25JZGVudGlmaWVyOyB9CisgICAgU3RyaW5nIHNlc3Npb25J
ZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9zZXNzaW9uSWRlbnRpZmllcjsgfQorCisjaWYg
RU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCisgICAgLy8gSW5zcGVjdG9yOjpSZW1vdGVBdXRvbWF0
aW9uVGFyZ2V0IEFQSQorICAgIHZpcnR1YWwgU3RyaW5nIG5hbWUoKSBjb25zdCBvdmVycmlkZSB7
IHJldHVybiBtX3Nlc3Npb25JZGVudGlmaWVyOyB9CisgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNo
TWVzc2FnZUZyb21SZW1vdGUoY29uc3QgU3RyaW5nJiBtZXNzYWdlKSBvdmVycmlkZTsKKyAgICB2
aXJ0dWFsIHZvaWQgY29ubmVjdChJbnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCosIGJvb2wgaXNB
dXRvbWF0aWNDb25uZWN0aW9uID0gZmFsc2UpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBk
aXNjb25uZWN0KEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsKikgb3ZlcnJpZGU7CisjZW5kaWYK
KworcHJpdmF0ZToKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8QVBJOjpBdXRvbWF0aW9uU2Vzc2lvbkNs
aWVudD4gbV9jbGllbnQ7CisgICAgU3RyaW5nIG1fc2Vzc2lvbklkZW50aWZpZXIgeyBBU0NJSUxp
dGVyYWwoIlVudGl0bGVkIFNlc3Npb24iKSB9OworICAgIFJlZjxJbnNwZWN0b3I6OkZyb250ZW5k
Um91dGVyPiBtX2Zyb250ZW5kUm91dGVyOworICAgIFJlZjxJbnNwZWN0b3I6OkJhY2tlbmREaXNw
YXRjaGVyPiBtX2JhY2tlbmREaXNwYXRjaGVyOworCisjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNU
T1IpCisgICAgSW5zcGVjdG9yOjpGcm9udGVuZENoYW5uZWwqIG1fcmVtb3RlQ2hhbm5lbCB7IG51
bGxwdHIgfTsKKyNlbmRpZgorfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAv
LyBXZWJBdXRvbWF0aW9uU2Vzc2lvbl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViQXV0b21hdGlvblNlc3Npb24uY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYkF1dG9tYXRpb25TZXNzaW9uLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
Mjc1ZDI2YmVjYWQ5NjllMWQ5YTg4ZWNmNjFjN2UwZTMwZmYzOTIyMS4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViQXV0b21hdGlvblNlc3Npb24uY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNzkgKzAsMCBAQAot
LyoKLSAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJXZWJBdXRvbWF0aW9u
U2Vzc2lvbi5oIgotCi0jaW5jbHVkZSAiQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaCIKLQot
bmFtZXNwYWNlIFdlYktpdCB7Ci0KLVdlYkF1dG9tYXRpb25TZXNzaW9uOjpXZWJBdXRvbWF0aW9u
U2Vzc2lvbigpCi0gICAgOiBtX2NsaWVudChzdGQ6Om1ha2VfdW5pcXVlPEFQSTo6QXV0b21hdGlv
blNlc3Npb25DbGllbnQ+KCkpCi17Ci19Ci0KLVdlYkF1dG9tYXRpb25TZXNzaW9uOjp+V2ViQXV0
b21hdGlvblNlc3Npb24oKQotewotICAgIEFTU0VSVCghbV9jbGllbnQpOwotfQotCi12b2lkIFdl
YkF1dG9tYXRpb25TZXNzaW9uOjpzZXRDbGllbnQoc3RkOjp1bmlxdWVfcHRyPEFQSTo6QXV0b21h
dGlvblNlc3Npb25DbGllbnQ+IGNsaWVudCkKLXsKLSAgICBtX2NsaWVudCA9IFdURk1vdmUoY2xp
ZW50KTsKLX0KLQotLy8gTk9URTogdGhpcyBjbGFzcyBjb3VsZCBiZSBzcGxpdCBhdCBzb21lIHBv
aW50IHRvIHN1cHBvcnQgbG9jYWwgYW5kIHJlbW90ZSBhdXRvbWF0aW9uIHNlc3Npb25zLgotLy8g
Rm9yIG5vdywgaXQgb25seSB3b3JrcyB3aXRoIGEgcmVtb3RlIGF1dG9tYXRpb24gZHJpdmVyIG92
ZXIgYSBSZW1vdGVJbnNwZWN0b3IgY29ubmVjdGlvbi4KLQotI2lmIEVOQUJMRShSRU1PVEVfSU5T
UEVDVE9SKQotCi0vLyBJbnNwZWN0b3I6OlJlbW90ZUF1dG9tYXRpb25UYXJnZXQgQVBJCi0KLXZv
aWQgV2ViQXV0b21hdGlvblNlc3Npb246OmRpc3BhdGNoTWVzc2FnZUZyb21SZW1vdGUoY29uc3Qg
U3RyaW5nJikKLXsKLSAgICAvLyBGSVhNRTogdG8gYmUgaW1wbGVtZW50ZWQuCi19Ci0KLXZvaWQg
V2ViQXV0b21hdGlvblNlc3Npb246OmNvbm5lY3QoSW5zcGVjdG9yOjpGcm9udGVuZENoYW5uZWwq
IGNoYW5uZWwsIGJvb2wgaXNBdXRvbWF0aWNDb25uZWN0aW9uKQotewotICAgIFVOVVNFRF9QQVJB
TShpc0F1dG9tYXRpY0Nvbm5lY3Rpb24pOwotCi0gICAgbV9yZW1vdGVDaGFubmVsID0gY2hhbm5l
bDsKLSAgICBzZXRJc1BhaXJlZCh0cnVlKTsKLX0KLQotdm9pZCBXZWJBdXRvbWF0aW9uU2Vzc2lv
bjo6ZGlzY29ubmVjdChJbnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCogY2hhbm5lbCkKLXsKLSAg
ICBtX3JlbW90ZUNoYW5uZWwgPSBudWxscHRyOwotICAgIHNldElzUGFpcmVkKGZhbHNlKTsKLSAg
ICAKLSAgICBpZiAobV9jbGllbnQpCi0gICAgICAgIG1fY2xpZW50LT5kaWREaXNjb25uZWN0RnJv
bVJlbW90ZSh0aGlzKTsKLX0KLQotI2VuZGlmIC8vIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQot
Ci19IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YkF1dG9tYXRpb25TZXNzaW9uLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg4MzVl
ZmQ2YzhlMzEyZTlkODE5OTY0ZTM2MzE5MTg4MDY2ZmI3YzguLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkF1
dG9tYXRpb25TZXNzaW9uLmgKKysrIC9kZXYvbnVsbApAQCAtMSw3NyArMCwwIEBACi0vKgotICog
Q29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0g
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
LSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
Ci0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0g
Ki8KLQotI2lmbmRlZiBXZWJBdXRvbWF0aW9uU2Vzc2lvbl9oCi0jZGVmaW5lIFdlYkF1dG9tYXRp
b25TZXNzaW9uX2gKLQotI2luY2x1ZGUgIkFQSU9iamVjdC5oIgotI2luY2x1ZGUgPHd0Zi9Gb3J3
YXJkLmg+Ci0KLSNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKLSNpbmNsdWRlIDxKYXZhU2Ny
aXB0Q29yZS9SZW1vdGVBdXRvbWF0aW9uVGFyZ2V0Lmg+Ci0jZW5kaWYKLQotbmFtZXNwYWNlIEFQ
SSB7Ci1jbGFzcyBBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudDsKLX0KLQotbmFtZXNwYWNlIFdlYktp
dCB7Ci0KLWNsYXNzIFdlYkF1dG9tYXRpb25TZXNzaW9uQ2xpZW50OwotCi1jbGFzcyBXZWJBdXRv
bWF0aW9uU2Vzc2lvbiBmaW5hbCA6IHB1YmxpYyBBUEk6Ok9iamVjdEltcGw8QVBJOjpPYmplY3Q6
OlR5cGU6OkF1dG9tYXRpb25TZXNzaW9uPgotI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQot
ICAgICwgcHVibGljIEluc3BlY3Rvcjo6UmVtb3RlQXV0b21hdGlvblRhcmdldAotI2VuZGlmCi17
Ci1wdWJsaWM6Ci0gICAgV2ViQXV0b21hdGlvblNlc3Npb24oKTsKLSAgICB+V2ViQXV0b21hdGlv
blNlc3Npb24oKTsKLQotICAgIHZvaWQgc2V0Q2xpZW50KHN0ZDo6dW5pcXVlX3B0cjxBUEk6OkF1
dG9tYXRpb25TZXNzaW9uQ2xpZW50Pik7Ci0KLSAgICB2b2lkIHNldFNlc3Npb25JZGVudGlmaWVy
KGNvbnN0IFN0cmluZyYgc2Vzc2lvbklkZW50aWZpZXIpIHsgbV9zZXNzaW9uSWRlbnRpZmllciA9
IHNlc3Npb25JZGVudGlmaWVyOyB9Ci0gICAgU3RyaW5nIHNlc3Npb25JZGVudGlmaWVyKCkgY29u
c3QgeyByZXR1cm4gbV9zZXNzaW9uSWRlbnRpZmllcjsgfQotCi0jaWYgRU5BQkxFKFJFTU9URV9J
TlNQRUNUT1IpCi0gICAgLy8gSW5zcGVjdG9yOjpSZW1vdGVBdXRvbWF0aW9uVGFyZ2V0IEFQSQot
ICAgIHZpcnR1YWwgU3RyaW5nIG5hbWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX3Nlc3Np
b25JZGVudGlmaWVyOyB9Ci0gICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoTWVzc2FnZUZyb21SZW1v
dGUoY29uc3QgU3RyaW5nJiBtZXNzYWdlKSBvdmVycmlkZTsKLSAgICB2aXJ0dWFsIHZvaWQgY29u
bmVjdChJbnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCosIGJvb2wgaXNBdXRvbWF0aWNDb25uZWN0
aW9uID0gZmFsc2UpIG92ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9pZCBkaXNjb25uZWN0KEluc3Bl
Y3Rvcjo6RnJvbnRlbmRDaGFubmVsKikgb3ZlcnJpZGU7Ci0jZW5kaWYKLQotcHJpdmF0ZToKLSAg
ICBzdGQ6OnVuaXF1ZV9wdHI8QVBJOjpBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudD4gbV9jbGllbnQ7
Ci0gICAgU3RyaW5nIG1fc2Vzc2lvbklkZW50aWZpZXIgeyBBU0NJSUxpdGVyYWwoIlVudGl0bGVk
IFNlc3Npb24iKSB9OwotCi0jaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCi0gICAgSW5zcGVj
dG9yOjpGcm9udGVuZENoYW5uZWwqIG1fcmVtb3RlQ2hhbm5lbCB7IG51bGxwdHIgfTsKLSNlbmRp
ZgotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0Ci0KLSNlbmRpZiAvLyBXZWJBdXRvbWF0aW9u
U2Vzc2lvbl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKaW5kZXggZjY1OWI3MTYxNmQxMWU5NTdiNTE5ZjkyMzI3YTcyYmYyMDgwYzQ4My4u
ZGNiODEyOWQ2ZDQ3MzEzOTM5ZmRkMGNhYWJmMGRlZGU1MGEwYmQ3NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTIzMSw5ICsx
MjMxLDE0IEBACiAJCTk5MEQyOEIyMUM2NTIwOTQwMDk4Njk3NyAvKiBfV0tBdXRvbWF0aW9uU2Vz
c2lvbi5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk5
MEQyOEFEMUM2NTE5MDQwMDk4Njk3NyAvKiBfV0tBdXRvbWF0aW9uU2Vzc2lvbi5tbSAqLzsgfTsK
IAkJOTkwRDI4QkIxQzY1MzlEMzAwOTg2OTc3IC8qIEF1dG9tYXRpb25TZXNzaW9uQ2xpZW50Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5OTBEMjhCNzFD
NjUzOUEwMDA5ODY5NzcgLyogQXV0b21hdGlvblNlc3Npb25DbGllbnQuaCAqLzsgfTsKIAkJOTkw
RDI4QkMxQzY1MzlEQTAwOTg2OTc3IC8qIEF1dG9tYXRpb25TZXNzaW9uQ2xpZW50Lm1tIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTkwRDI4QjgxQzY1MzlB
MDAwOTg2OTc3IC8qIEF1dG9tYXRpb25TZXNzaW9uQ2xpZW50Lm1tICovOyB9OwotCQk5OTBEMjhC
RjFDNjU0RDM5MDA5ODY5NzcgLyogV2ViQXV0b21hdGlvblNlc3Npb24uY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTkwRDI4QkQxQzY1NDkwQTAwOTg2
OTc3IC8qIFdlYkF1dG9tYXRpb25TZXNzaW9uLmNwcCAqLzsgfTsKIAkJOTkwRDI4QzAxQzY1NTNG
MTAwOTg2OTc3IC8qIEFQSUF1dG9tYXRpb25TZXNzaW9uQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5OTBEMjhCMzFDNjUyNkQ0MDA5ODY5Nzcg
LyogQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaCAqLzsgfTsKLQkJOTkwRDI4QzExQzY1NjI2
NTAwOTg2OTc3IC8qIFdlYkF1dG9tYXRpb25TZXNzaW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5OTBEMjhCNTFDNjUyNkY1MDA5ODY5NzcgLyogV2Vi
QXV0b21hdGlvblNlc3Npb24uaCAqLzsgfTsKKwkJOTk1NUE2RUMxQzc5ODBDMjAwRUI2QTkzIC8q
IFdlYkF1dG9tYXRpb25TZXNzaW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5OTU1QTZFQjFDNzk4MEJCMDBFQjZBOTMgLyogV2ViQXV0b21hdGlvblNl
c3Npb24uaCAqLzsgfTsKKwkJOTk1NUE2RUQxQzc5ODBDQTAwRUI2QTkzIC8qIFdlYkF1dG9tYXRp
b25TZXNzaW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDk5NTVBNkVBMUM3OTgwQkIwMEVCNkE5MyAvKiBXZWJBdXRvbWF0aW9uU2Vzc2lvbi5jcHAg
Ki87IH07CisJCTk5NTVBNkVGMUM3OTgxMDgwMEVCNkE5MyAvKiBBdXRvbWF0aW9uLmpzb24gaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5OTU1QTZFOTFDNzk4
MEJCMDBFQjZBOTMgLyogQXV0b21hdGlvbi5qc29uICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCTk5NTVBNkY0MUM3OTg2REMwMEVCNkE5MyAvKiBJbnNw
ZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gOTk1NUE2RjAxQzc5ODY2NDAwRUI2QTkzIC8qIEluc3BlY3RvckJh
Y2tlbmREaXNwYXRjaGVycy5jcHAgKi87IH07CisJCTk5NTVBNkY1MUM3OTg2RTAwMEVCNkE5MyAv
KiBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk5NTVBNkYxMUM3OTg2NjQwMEVCNkE5MyAvKiBJbnNwZWN0
b3JCYWNrZW5kRGlzcGF0Y2hlcnMuaCAqLzsgfTsKKwkJOTk1NUE2RjYxQzc5ODZFMzAwRUI2QTkz
IC8qIEluc3BlY3RvclByb3RvY29sT2JqZWN0cy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5OTU1QTZGMjFDNzk4NjY0MDBFQjZBOTMgLyogSW5zcGVj
dG9yUHJvdG9jb2xPYmplY3RzLmNwcCAqLzsgfTsKKwkJOTk1NUE2RjcxQzc5ODZFNTAwRUI2QTkz
IC8qIEluc3BlY3RvclByb3RvY29sT2JqZWN0cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gOTk1NUE2RjMxQzc5ODY2NDAwRUI2QTkzIC8qIEluc3BlY3Rv
clByb3RvY29sT2JqZWN0cy5oICovOyB9OwogCQk5OUM4MUQ1OTFDMjBFMUU1MDA1QzRDODIgLyog
QXV0b21hdGlvbkNsaWVudC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDk5QzgxRDU2MUMyMERGQkUwMDVDNEM4MiAvKiBBdXRvbWF0aW9uQ2xpZW50Lm1t
ICovOyB9OwogCQk5OUM4MUQ1QTFDMjBFN0UyMDA1QzRDODIgLyogQXV0b21hdGlvbkNsaWVudC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTlDODFENTUx
QzIwREZCRTAwNUM0QzgyIC8qIEF1dG9tYXRpb25DbGllbnQuaCAqLzsgfTsKIAkJOTlDODFENUQx
QzIxRjM4QjAwNUM0QzgyIC8qIEFQSUF1dG9tYXRpb25DbGllbnQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk5QzgxRDVCMUMyMEU4MTcwMDVDNEM4MiAv
KiBBUElBdXRvbWF0aW9uQ2xpZW50LmggKi87IH07CkBAIC0zMjU2LDEwICszMjYxLDE1IEBACiAJ
CTk5MEQyOEFEMUM2NTE5MDQwMDk4Njk3NyAvKiBfV0tBdXRvbWF0aW9uU2Vzc2lvbi5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IF9XS0F1dG9tYXRpb25TZXNzaW9u
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5OTBEMjhBRjFDNjUyMDM5MDA5ODY5
NzcgLyogX1dLQXV0b21hdGlvblNlc3Npb25JbnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBfV0tBdXRvbWF0aW9uU2Vzc2lvbkludGVybmFsLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTk5MEQyOEIzMUM2NTI2RDQwMDk4Njk3NyAvKiBBUElBdXRvbWF0
aW9uU2Vzc2lvbkNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBUElB
dXRvbWF0aW9uU2Vzc2lvbkNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk5
OTBEMjhCNTFDNjUyNkY1MDA5ODY5NzcgLyogV2ViQXV0b21hdGlvblNlc3Npb24uaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQXV0b21hdGlvblNlc3Npb24uaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTkwRDI4QjcxQzY1MzlBMDAwOTg2OTc3IC8qIEF1dG9t
YXRpb25TZXNzaW9uQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEF1
dG9tYXRpb25TZXNzaW9uQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk5
MEQyOEI4MUM2NTM5QTAwMDk4Njk3NyAvKiBBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudC5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEF1dG9tYXRpb25TZXNzaW9uQ2xp
ZW50Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk5OTBEMjhCRDFDNjU0OTBBMDA5
ODY5NzcgLyogV2ViQXV0b21hdGlvblNlc3Npb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gV2ViQXV0b21hdGlvblNlc3Npb24uY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk5OTU1QTZFOTFDNzk4MEJCMDBFQjZBOTMgLyogQXV0b21hdGlvbi5qc29u
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gdGV4dC5qc29uOyBwYXRoID0gQXV0b21hdGlvbi5qc29uOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk5OTU1QTZFQTFDNzk4MEJCMDBFQjZBOTMgLyogV2ViQXV0b21h
dGlvblNlc3Npb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2Vi
QXV0b21hdGlvblNlc3Npb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5OTU1
QTZFQjFDNzk4MEJCMDBFQjZBOTMgLyogV2ViQXV0b21hdGlvblNlc3Npb24uaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQXV0b21hdGlvblNlc3Npb24uaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTk1NUE2RjAxQzc5ODY2NDAwRUI2QTkzIC8qIEluc3BlY3Rv
ckJhY2tlbmREaXNwYXRjaGVycy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk5OTU1QTZGMTFDNzk4NjY0MDBFQjZBOTMgLyogSW5zcGVjdG9yQmFja2VuZERp
c3BhdGNoZXJzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluc3BlY3RvckJh
Y2tlbmREaXNwYXRjaGVycy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5OTU1QTZG
MjFDNzk4NjY0MDBFQjZBOTMgLyogSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEluc3BlY3RvclByb3RvY29sT2JqZWN0cy5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk5NTVBNkYzMUM3OTg2NjQwMEVCNkE5
MyAvKiBJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTk5QzgxRDU1MUMyMERGQkUwMDVDNEM4MiAvKiBBdXRvbWF0aW9uQ2xpZW50Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEF1dG9tYXRpb25DbGllbnQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTlDODFENTYxQzIwREZCRTAwNUM0QzgyIC8qIEF1
dG9tYXRpb25DbGllbnQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBBdXRvbWF0aW9uQ2xpZW50Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5OUM4
MUQ1QjFDMjBFODE3MDA1QzRDODIgLyogQVBJQXV0b21hdGlvbkNsaWVudC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBBUElBdXRvbWF0aW9uQ2xpZW50Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC01NjExLDYgKzU2MjEsMTYgQEAKIAkJCXBhdGggPSBtYWM7CiAJ
CQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OworCQk5OTU1QTZFODFDNzk4MDkwMDBFQjZB
OTMgLyogQXV0b21hdGlvbiAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4g
PSAoCisJCQkJOTk1NUE2RTkxQzc5ODBCQjAwRUI2QTkzIC8qIEF1dG9tYXRpb24uanNvbiAqLywK
KwkJCQk5OTU1QTZFQTFDNzk4MEJCMDBFQjZBOTMgLyogV2ViQXV0b21hdGlvblNlc3Npb24uY3Bw
ICovLAorCQkJCTk5NTVBNkVCMUM3OTgwQkIwMEVCNkE5MyAvKiBXZWJBdXRvbWF0aW9uU2Vzc2lv
bi5oICovLAorCQkJKTsKKwkJCXBhdGggPSBBdXRvbWF0aW9uOworCQkJc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsKKwkJfTsKIAkJQTE4MkQ1QjExQkU2QkNGNDAwODdBN0NDIC8qIGlvcyAqLyA9IHsK
IAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCkBAIC01ODA1LDYgKzU4MjUsNyBA
QAogCQkJY2hpbGRyZW4gPSAoCiAJCQkJQkMwMzJEQzQxMEY0Mzg3QzAwNThDMTVBIC8qIEFQSSAq
LywKIAkJCQk1MTJGNTg4RDEyQTg4MzZGMDA2Mjk1MzAgLyogQXV0aGVudGljYXRpb24gKi8sCisJ
CQkJOTk1NUE2RTgxQzc5ODA5MDAwRUI2QTkzIC8qIEF1dG9tYXRpb24gKi8sCiAJCQkJMUFCQzNE
RjIxODk5RTQxNTAwNEYwNjI2IC8qIENvY29hICovLAogCQkJCTFBQjdENEM3MTI4OEFBOUEwMENG
RDA4QyAvKiBEb3dubG9hZHMgKi8sCiAJCQkJMkRBOTQ0QTgxODg0RTlBQjAwRUQ4NkRCIC8qIGlv
cyAqLywKQEAgLTU4NTYsOCArNTg3Nyw2IEBACiAJCQkJMUEwRjI5RTExMjBCNDQ0MjAwNTNEMUI5
IC8qIFZpc2l0ZWRMaW5rU3RvcmUuY3BwICovLAogCQkJCTFBMEYyOUUyMTIwQjQ0NDIwMDUzRDFC
OSAvKiBWaXNpdGVkTGlua1N0b3JlLmggKi8sCiAJCQkJMUE2MDIyNDkxOEMxNkIwODAwQzNFOEM5
IC8qIFZpc2l0ZWRMaW5rU3RvcmUubWVzc2FnZXMuaW4gKi8sCi0JCQkJOTkwRDI4QkQxQzY1NDkw
QTAwOTg2OTc3IC8qIFdlYkF1dG9tYXRpb25TZXNzaW9uLmNwcCAqLywKLQkJCQk5OTBEMjhCNTFD
NjUyNkY1MDA5ODY5NzcgLyogV2ViQXV0b21hdGlvblNlc3Npb24uaCAqLywKIAkJCQlCQzcyQkEx
QjExRTY0OTA3MDAxRUI0RUEgLyogV2ViQmFja0ZvcndhcmRMaXN0LmNwcCAqLywKIAkJCQlCQzcy
QkExQzExRTY0OTA3MDAxRUI0RUEgLyogV2ViQmFja0ZvcndhcmRMaXN0LmggKi8sCiAJCQkJRjAz
Njk3ODcxNUY0QkYwNTAwQzNBODBFIC8qIFdlYkNvbG9yUGlja2VyLmNwcCAqLywKQEAgLTY4MzAs
NiArNjg0OSwxMCBAQAogCQkJCTFBNjQyMzA3MTJERDA5RUIwMENBQUUyQyAvKiBEcmF3aW5nQXJl
YVByb3h5TWVzc2FnZXMuaCAqLywKIAkJCQkxQUE1NzVGRjE0OTZCN0MwMDBBNEVFMDYgLyogRXZl
bnREaXNwYXRjaGVyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKIAkJCQkxQUE1NzYwMDE0OTZCN0Mw
MDBBNEVFMDYgLyogRXZlbnREaXNwYXRjaGVyTWVzc2FnZXMuaCAqLywKKwkJCQk5OTU1QTZGMDFD
Nzk4NjY0MDBFQjZBOTMgLyogSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzLmNwcCAqLywKKwkJ
CQk5OTU1QTZGMTFDNzk4NjY0MDBFQjZBOTMgLyogSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJz
LmggKi8sCisJCQkJOTk1NUE2RjIxQzc5ODY2NDAwRUI2QTkzIC8qIEluc3BlY3RvclByb3RvY29s
T2JqZWN0cy5jcHAgKi8sCisJCQkJOTk1NUE2RjMxQzc5ODY2NDAwRUI2QTkzIC8qIEluc3BlY3Rv
clByb3RvY29sT2JqZWN0cy5oICovLAogCQkJCTUxREQ5RjI2MTYzNjdEQTIwMDE1NzhFOSAvKiBO
ZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzc01lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJ
NTFERDlGMjcxNjM2N0RBMjAwMTU3OEU5IC8qIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNz
TWVzc2FnZXMuaCAqLywKIAkJCQk1MTdDRjBFMTE2M0E0ODZDMDBDMjk1MEUgLyogTmV0d29ya1By
b2Nlc3NDb25uZWN0aW9uTWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKQEAgLTcxNzIsNiArNzE5NSw3
IEBACiAJCQkJOTNFNkE0RUUxQkM1REQzOTAwRjhBMEU3IC8qIF9XS0hpdFRlc3RSZXN1bHQuaCBp
biBIZWFkZXJzICovLAogCQkJCTkzQTg4QjNCMUJDNzEwRDkwMEFCQTVDMiAvKiBfV0tIaXRUZXN0
UmVzdWx0SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTM3QTY0RTU1MThGMzhFM0MwMEVC
MzBGMSAvKiBfV0tJbnB1dERlbGVnYXRlLmggaW4gSGVhZGVycyAqLywKKwkJCQk5OTU1QTZFRjFD
Nzk4MTA4MDBFQjZBOTMgLyogQXV0b21hdGlvbi5qc29uIGluIEhlYWRlcnMgKi8sCiAJCQkJMkQ3
OTBBOUQxQUQ3MDUwRDAwQUI5MEIzIC8qIF9XS0xheW91dE1vZGUuaCBpbiBIZWFkZXJzICovLAog
CQkJCUExMThBOUYzMTkwOEI4RUEwMEY3QzkyQiAvKiBfV0tOU0ZpbGVNYW5hZ2VyRXh0cmFzLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk5MzIzNjExRTFCMDE1REE4MDBGQTkyMzIgLyogX1dLT3Zlcmxh
eVNjcm9sbGJhclN0eWxlLmggaW4gSGVhZGVycyAqLywKQEAgLTczNTIsMTIgKzczNzYsMTIgQEAK
IAkJCQlFMUVFNTNFMzExRjhDRkMwMDBDQ0JFRTQgLyogSW5qZWN0ZWRCdW5kbGVQYWdlRWRpdG9y
Q2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzE0RTEwQTEyMEI5MDVFMDA4MjZDMEMgLyog
SW5qZWN0ZWRCdW5kbGVQYWdlRm9ybUNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTEwNTIz
ODIxQzc1NDFGRjAwNzk5M0NCIC8qIExlZ2FjeVVuaXF1ZUlEQkRhdGFiYXNlSWRlbnRpZmllci5o
IGluIEhlYWRlcnMgKi8sCi0JCQkJOTkwRDI4QzExQzY1NjI2NTAwOTg2OTc3IC8qIFdlYkF1dG9t
YXRpb25TZXNzaW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRDVDNjZBMTEzNEI5RDM4MDA0RkUy
QTggLyogSW5qZWN0ZWRCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQkNBOEM2QTkxMUUzQkE1RjAwODEyRkI3IC8qIEluamVjdGVkQnVuZGxlUGFnZUxvYWRl
ckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTEwNTIzODAxQzc1NDFGRjAwNzk5M0NCIC8q
IExlZ2FjeVVuaXF1ZUlEQkRhdGFiYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzgxNDdBOTEy
RjY0Q0RBMDA3QjJDMzIgLyogSW5qZWN0ZWRCdW5kbGVQYWdlUG9saWN5Q2xpZW50LmggaW4gSGVh
ZGVycyAqLywKIAkJCQlCQ0E4QzZCMDExRTNDMDg3MDA4MTJGQjcgLyogSW5qZWN0ZWRCdW5kbGVQ
YWdlVUlDbGllbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTk5NTVBNkY3MUM3OTg2RTUwMEVCNkE5
MyAvKiBJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMzNF
MEQxMTI0MDhFODYwMDM2MEYzRiAvKiBJbmplY3RlZEJ1bmRsZVJhbmdlSGFuZGxlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlCQzE0REY3NzEyMEI1Qjc5MDA4MjZDMEMgLyogSW5qZWN0ZWRCdW5kbGVT
Y3JpcHRXb3JsZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzU4Q0RGMkExODg3NTQ4QjAwODcxNTM2
IC8qIEludGVyYWN0aW9uSW5mb3JtYXRpb25BdFBvc2l0aW9uLmggaW4gSGVhZGVycyAqLywKQEAg
LTc0MjIsNiArNzQ0Niw3IEBACiAJCQkJRTE0QTk1NEExNkUwMTZBNDAwNjhERTgyIC8qIE5ldHdv
cmtQcm9jZXNzUGxhdGZvcm1TdHJhdGVnaWVzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTc5NTU2
RTE2Mjg3N0IzMDBGQTQzQjYgLyogTmV0d29ya1Byb2Nlc3NQcm94eS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNTEzQTE2M0QxNjMwODhGNjAwNUQ3RDIyIC8qIE5ldHdvcmtQcm9jZXNzUHJveHlNZXNz
YWdlcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTk1NUE2RjUxQzc5ODZFMDAwRUI2QTkzIC8qIElu
c3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTFGRDE4QjYx
NjUxRkJBRDAwREJFMUNFIC8qIE5ldHdvcmtSZXNvdXJjZUxvYWRlci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJRTE1MjU1MUIxNzAxMTgxOTAwM0Q3QURCIC8qIE5ldHdvcmtSZXNvdXJjZUxvYWRlck1l
c3NhZ2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1QzIwQ0JBMDFCQjFFQ0Q4MDA4OTVCQjEgLyog
TmV0d29ya1Nlc3Npb24uaCBpbiBIZWFkZXJzICovLApAQCAtNzUyNCw2ICs3NTQ5LDcgQEAKIAkJ
CQkxQTAwMkQ0OTE5NkIzNDVEMDBCOUFENDQgLyogU2Vzc2lvblN0YXRlQ29kaW5nLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk3NTNFM0UwRTE4ODczOTg5MDAxODg0OTYgLyogU2Vzc2lvblRyYWNrZXIu
aCBpbiBIZWFkZXJzICovLAogCQkJCTk5QzgxRDVBMUMyMEU3RTIwMDVDNEM4MiAvKiBBdXRvbWF0
aW9uQ2xpZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQk5OTU1QTZFQzFDNzk4MEMyMDBFQjZBOTMg
LyogV2ViQXV0b21hdGlvblNlc3Npb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTFBNjQyMEU1MTJE
Q0UyRkYwMENBQUUyQyAvKiBTaGFyZWFibGVCaXRtYXAuaCBpbiBIZWFkZXJzICovLAogCQkJCTUx
MjE3NDYxMTY0QzIwRTMwMDM3QTVDMSAvKiBTaGFyZWFibGVSZXNvdXJjZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMUEyNEJFRDUxMjA4OTREMTAwRkJCMDU5IC8qIFNoYXJlZE1lbW9yeS5oIGluIEhl
YWRlcnMgKi8sCkBAIC04NjEzLDcgKzg2MzksNyBAQAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBs
b3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQkJc2hlbGxQYXRoID0gL2Jpbi9zaDsKLQkJCXNo
ZWxsU2NyaXB0ID0gIm1rZGlyIC1wIFwiJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0Rlcml2ZWRTb3Vy
Y2VzL1dlYktpdDJcIlxuY2QgXCIke0JVSUxUX1BST0RVQ1RTX0RJUn0vRGVyaXZlZFNvdXJjZXMv
V2ViS2l0MlwiXG5cbmV4cG9ydCBXZWJLaXQyPVwiJHtTUkNST09UfVwiXG5cbmlmIFsgISAkQ0Mg
XTsgdGhlblxuICAgIGV4cG9ydCBDQz1cImB4Y3J1biAtZmluZCBjbGFuZ2BcIlxuZmlcblxuTUFL
RUZJTEVfSU5DTFVERV9GTEFHUz0kKGVjaG8gXCIke1dFQktJVEFERElUSU9OU19IRUFERVJfU0VB
UkNIX1BBVEhTfVwiIHwgcGVybCAtZSAncHJpbnQgXCItSVwiIC4gam9pbihcIiAtSVwiLCBzcGxp
dChcIiBcIiwgPD4pKTsnKVxuXG5pZiBbIFwiJHtBQ1RJT059XCIgPSBcImJ1aWxkXCIgLW8gXCIk
e0FDVElPTn1cIiA9IFwiaW5zdGFsbFwiIC1vIFwiJHtBQ1RJT059XCIgPSBcImluc3RhbGxoZHJz
XCIgXTsgdGhlblxuICAgIG1ha2UgLS1uby1idWlsdGluLXJ1bGVzICR7TUFLRUZJTEVfSU5DTFVE
RV9GTEFHU30gLWYgXCIke1dlYktpdDJ9L0Rlcml2ZWRTb3VyY2VzLm1ha2VcIiAtaiBgL3Vzci9z
YmluL3N5c2N0bCAtbiBody5hY3RpdmVjcHVgIFNES1JPT1Q9JHtTREtST09UfVxuZmlcbiI7CisJ
CQlzaGVsbFNjcmlwdCA9ICJta2RpciAtcCBcIiR7QlVJTFRfUFJPRFVDVFNfRElSfS9EZXJpdmVk
U291cmNlcy9XZWJLaXQyXCJcbmNkIFwiJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0Rlcml2ZWRTb3Vy
Y2VzL1dlYktpdDJcIlxuXG5leHBvcnQgV2ViS2l0Mj1cIiR7U1JDUk9PVH1cIlxuXG4vYmluL2xu
IC1zZmggXCIke0pBVkFTQ1JJUFRDT1JFX1BSSVZBVEVfSEVBREVSU19ESVJ9XCIgSmF2YVNjcmlw
dENvcmVQcml2YXRlSGVhZGVyc1xuZXhwb3J0IEphdmFTY3JpcHRDb3JlX1NDUklQVFNfRElSPVwi
SmF2YVNjcmlwdENvcmVQcml2YXRlSGVhZGVyc1wiXG5cbmlmIFsgISAkQ0MgXTsgdGhlblxuICAg
IGV4cG9ydCBDQz1cImB4Y3J1biAtZmluZCBjbGFuZ2BcIlxuZmlcblxuTUFLRUZJTEVfSU5DTFVE
RV9GTEFHUz0kKGVjaG8gXCIke1dFQktJVEFERElUSU9OU19IRUFERVJfU0VBUkNIX1BBVEhTfVwi
IHwgcGVybCAtZSAncHJpbnQgXCItSVwiIC4gam9pbihcIiAtSVwiLCBzcGxpdChcIiBcIiwgPD4p
KTsnKVxuXG5pZiBbIFwiJHtBQ1RJT059XCIgPSBcImJ1aWxkXCIgLW8gXCIke0FDVElPTn1cIiA9
IFwiaW5zdGFsbFwiIC1vIFwiJHtBQ1RJT059XCIgPSBcImluc3RhbGxoZHJzXCIgXTsgdGhlblxu
ICAgIG1ha2UgLS1uby1idWlsdGluLXJ1bGVzICR7TUFLRUZJTEVfSU5DTFVERV9GTEFHU30gLWYg
XCIke1dlYktpdDJ9L0Rlcml2ZWRTb3VyY2VzLm1ha2VcIiAtaiBgL3Vzci9zYmluL3N5c2N0bCAt
biBody5hY3RpdmVjcHVgIFNES1JPT1Q9JHtTREtST09UfVxuZmlcbiI7CiAJCX07CiAvKiBFbmQg
UEJYU2hlbGxTY3JpcHRCdWlsZFBoYXNlIHNlY3Rpb24gKi8KIApAQCAtODY0OCw2ICs4Njc0LDcg
QEAKIAkJCWZpbGVzID0gKAogCQkJCTM3QTVFMDEzMThCQkY5MzcwMDBBMDgxRSAvKiBfV0tBY3Rp
dmF0ZWRFbGVtZW50SW5mby5tbSBpbiBTb3VyY2VzICovLAogCQkJCTFBNTcwNEY3MUJFMDFGRjQw
MDg3NEFGMSAvKiBfV0tDb250ZXh0TWVudUVsZW1lbnRJbmZvLm1tIGluIFNvdXJjZXMgKi8sCisJ
CQkJOTk1NUE2RjQxQzc5ODZEQzAwRUI2QTkzIC8qIEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVy
cy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBMUE0RkU1QjE4RENFOUZBMDBCNUVBOEEgLyogX1dL
RG93bmxvYWQubW0gaW4gU291cmNlcyAqLywKIAkJCQkzNzlBODczOTE4QkJGRTBGMDA1ODhBRjIg
LyogX1dLRWxlbWVudEFjdGlvbi5tbSBpbiBTb3VyY2VzICovLAogCQkJCTFBNTcwNEYxMUJFMDE3
M0YwMDg3NEFGMSAvKiBfV0tFbGVtZW50SW5mby5tbSBpbiBTb3VyY2VzICovLApAQCAtOTAyMiw2
ICs5MDQ5LDcgQEAKIAkJCQkxQUMxMzM2NzE4NTY1QjU3MDBGM0VDMDUgLyogVXNlckRhdGEuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMTU3MzlCQkMxQjQyMDQwMzAwRDI1OEMxIC8qIFVzZXJNZWRp
YVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0QTNDQzE4
QTE5QjA2M0U3MDBEMTRBRUYgLyogVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJv
eHkuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJOTk1NUE2RUQxQzc5ODBDQTAwRUI2QTkzIC8qIFdl
YkF1dG9tYXRpb25TZXNzaW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTRBM0NDMThDMTlCMDY0
MTUwMEQxNEFFRiAvKiBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5LmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUU0RTg2NDkyMUIxNjc1MDEwMEM4MkY0MCAvKiBWZXJzaW9uQ2hlY2tzLm1t
IGluIFNvdXJjZXMgKi8sCiAJCQkJMkRBRjRGRkIxQjYzNjE4MTAwNjAxM0Q2IC8qIFZpZXdHZXN0
dXJlQ29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLywKQEAgLTkxNTYsNiArOTE4NCw3IEBACiAJ
CQkJQkM4NTdGQjYxMkI4MzBFNjAwRURFQjJFIC8qIFdlYk9wZW5QYW5lbFBhcmFtZXRlcnMuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJQkM4NTdGODYxMkI4MkQwQjAwRURFQjJFIC8qIFdlYk9wZW5Q
YW5lbFJlc3VsdExpc3RlbmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDODU3RjdFMTJCODJD
RUUwMEVERUIyRSAvKiBXZWJPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lclByb3h5LmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCTk5NTVBNkY2MUM3OTg2RTMwMEVCNkE5MyAvKiBJbnNwZWN0b3JQcm90b2Nv
bE9iamVjdHMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM5NjNENkIxMTNERDE5MjAwNTc0QkUy
IC8qIFdlYlBhZ2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQzA2QzYwOTUxMjRDMTQ0QjAwMDE2
ODJGIC8qIFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
ODM3MkRCMjgxQTY3NTYyODAwQzY5N0M1IC8qIFdlYlBhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVu
dC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTkzNDIsNyArOTM3MSw2IEBACiAJCQkJQzk4QzQ4QTkx
QjZGRDVCNTAwMTQ1MTAzIC8qIFdLTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUM5Q0Q0MzlFMUI0QjAyNTMwMDIzOUUzMyAvKiBXS01lZGlhU2Vzc2lvbk1l
dGFkYXRhLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDNDA3NUZEMTI0RkYwMjcwMDY4RjIwQSAv
KiBXS011dGFibGVBcnJheS5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk5OTBEMjhCRjFDNjU0RDM5
MDA5ODY5NzcgLyogV2ViQXV0b21hdGlvblNlc3Npb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QkM0MDc1RkYxMjRGRjAyNzAwNjhGMjBBIC8qIFdLTXV0YWJsZURpY3Rpb25hcnkuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJMUE1QjFDNTAxODk4NjA2RjAwNEZDRjlCIC8qIFdLTmF2aWdhdGlvbi5t
bSBpbiBTb3VyY2VzICovLAogCQkJCTFBMjU2RTM3MThBMUE3ODgwMDZGQjkyMiAvKiBXS05hdmln
YXRpb25BY3Rpb24ubW0gaW4gU291cmNlcyAqLywK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>271890</attachid>
            <date>2016-02-21 16:12:51 -0800</date>
            <delta_ts>2016-02-21 16:19:54 -0800</delta_ts>
            <desc>Test the CMake waters</desc>
            <filename>bug-154509-20160221161232.patch</filename>
            <type>text/plain</type>
            <size>47364</size>
            <attacher name="Blaze Burg">bburg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk2ODgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
NTEyODI4MDdkMmM4OTg4ZjcyMTdjZDJmYjRjZjc1NTU4MzgyZDIxLi45ZWM1OWY3NDIwMDdjNzhk
MzgwNDQzYjhmNmMyZDg0MjkxYzBiZjIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwzMSBAQAogMjAxNi0wMi0yMSAgQnJpYW4gQnVyZyAgPGJidXJnQGFwcGxlLmNvbT4KIAor
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBhZGQgJ0F1dG9tYXRpb24nIHByb3RvY29sIGRvbWFpbiBh
bmQgZ2VuZXJhdGUgaXRzIGJhY2tlbmQgY2xhc3NlcyBzZXBhcmF0ZWx5IGluIFdlYktpdDIKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NDUwOQorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vMjQ3NTkwOTg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVGlt
b3RoeSBIYXRjaGVyLgorCisgICAgICAgIEFkZCBhIG5ldyAnV2ViS2l0JyBmcmFtZXdvcmssIHdo
aWNoIGlzIHVzZWQgdG8gZ2VuZXJhdGUgcHJvdG9jb2wgY29kZQorICAgICAgICBpbiBXZWJLaXQy
LgorCisgICAgICAgIEFkZCAtLWJhY2tlbmQgYW5kIC0tZnJvbnRlbmQgZmxhZ3MgdG8gdGhlIG1h
aW4gZ2VuZXJhdG9yIHNjcmlwdC4KKyAgICAgICAgVGhlc2UgYWxsb3cgYSBmcmFtZXdvcmsgdG8g
dHJpZ2dlciB0d28gZGlmZmVyZW50IHNldHMgb2YgZ2VuZXJhdG9ycworICAgICAgICBzbyB0aGV5
IGNhbiBiZSBzZXBhcmF0ZWx5IGdlbmVyYXRlZCBhbmQgY29tcGlsZWQuCisKKyAgICAgICAgKiBp
bnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL21vZGVscy5weToKKyAgICAgICAgKEZyYW1ld29yay5m
cm9tU3RyaW5nKToKKyAgICAgICAgKEZyYW1ld29ya3MpOiBBZGQgbmV3IGZyYW1ld29yay4KKwor
ICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC1i
aW5kaW5ncy5weToKKyAgICAgICAgSWYgbmVpdGhlciAtLWJhY2tlbmQgb3IgLS1mcm9udGVuZCBp
cyBzcGVjaWZpZWQsIGFzc3VtZSBib3RoIGFyZSB3YW50ZWQuCisgICAgICAgIFRoaXMgbWF0Y2hl
cyB0aGUgYmVoYXZpb3IgZm9yIEphdmFTY3JpcHRDb3JlIGFuZCBXZWJJbnNwZWN0b3IgZnJhbWV3
b3Jrcy4KKworICAgICAgICAoZ2VuZXJhdGVfZnJvbV9zcGVjaWZpY2F0aW9uKToKKyAgICAgICAg
R2VuZXJhdGUgQysrIGZpbGVzIGZvciB0aGUgYmFja2VuZCBhbmQgT2JqZWN0aXZlLUMgZmlsZXMg
Zm9yIHRoZSBmcm9udGVuZC4KKworMjAxNi0wMi0yMSAgQnJpYW4gQnVyZyAgPGJidXJnQGFwcGxl
LmNvbT4KKwogICAgICAgICBXZWIgSW5zcGVjdG9yOiBpdCBzaG91bGQgYmUgcG9zc2libGUgdG8g
b21pdCBnZW5lcmF0ZWQgY29kZSBndWFyZGVkIGJ5IElOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFU
Q0hFUlMKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1
NDUwOAogICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjQ3NTkwNzc+CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZjNk
MWVkOTkzZWM1MDM5ZDk3MjVjOTJlMWU4NDEwYWJlYzM1MWEzYy4uOTYzYzM2ZWQzM2Y0YWI4NjU0
MDlmOWEwYjcwODE1MmU5ZjQ3ZDUzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDE2
LTAyLTIxICBCcmlhbiBCdXJnICA8YmJ1cmdAYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IGFkZCAnQXV0b21hdGlvbicgcHJvdG9jb2wgZG9tYWluIGFuZCBnZW5lcmF0ZSBpdHMg
YmFja2VuZCBjbGFzc2VzIHNlcGFyYXRlbHkgaW4gV2ViS2l0MgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU0NTA5CisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS8yNDc1OTA5OD4KKworICAgICAgICBSZXZpZXdlZCBieSBUaW1vdGh5IEhhdGNoZXIuCisK
KyAgICAgICAgQWRkIGEgbmV3ICdBdXRvbWF0aW9uJyBkb21haW4gd2hpY2ggcHJlc2VudHMgYW4g
UlBDIGludGVyZmFjZQorICAgICAgICBmb3Igc2VuZGluZyBhdXRvbWF0aW9uIGNvbW1hbmRzIHRv
IGFuIGFjdGl2ZSBXZWJBdXRvbWF0aW9uU2Vzc2lvbgorICAgICAgICBpbiB0aGUgVUlQcm9jZXNz
IHZpYSBSZW1vdGVJbnNwZWN0b3IuIFRoaXMgaXMgc2ltaWxhciB0byBob3cgdGhlCisgICAgICAg
IEluc3BlY3RvciBiYWNrZW5kIGNvbW11bmljYXRlcyBiaWRpcmVjdGlvbmFsbHkgd2l0aCBhIHJl
bW90ZQorICAgICAgICBJbnNwZWN0b3IgZnJvbnRlbmQuCisKKyAgICAgICAgQWRkIGJ1aWxkIHN5
c3RlbSBsb2dpYyB0byBnZW5lcmF0ZSBKU09OLVJQQyBwcm90b2NvbCBiaW5kaW5ncworICAgICAg
ICBmb3IgdGhlICdBdXRvbWF0aW9uJyBkb21haW4gdXNpbmcgdGhlIGluc3BlY3RvciBjb2RlIGdl
bmVyYXRvcnMuCisKKyAgICAgICAgTW92ZSBhdXRvbWF0aW9uLXJlbGF0ZWQgZmlsZXMgdGhhdCBh
cmUgbm90IEFQSSBvciBTUEkgaW50byB0aGVpcgorICAgICAgICBvd24gZGlyZWN0b3J5LgorCisg
ICAgICAgICogQ29uZmlndXJhdGlvbnMvQmFzZVRhcmdldC54Y2NvbmZpZzogVGVsbCB3aGVyZSBK
YXZhU2NyaXB0Q29yZSdzCisgICAgICAgIHByaXZhdGUgaGVhZGVycyBhcmUsIHNpbmNlIHRoYXQn
cyB3aGVyZSB0aGUgY29kZSBnZW5lcmF0b3JzIGxpdmUuCisKKyAgICAgICAgKiBQbGF0Zm9ybU1h
Yy5jbWFrZToKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOiBHZW5lcmF0ZSBwcm90b2Nv
bCBiaW5kaW5ncyBmb3IgYSBzaW5nbGUgZG9tYWluLgorICAgICAgICBUaGUgbmFtZXMgb2YgdGhl
IGdlbmVyYXRlZCBmaWxlcyB3aWxsIGJlIGltcHJvdmVkIGluIGEgZm9sbG93LXVwIHBhdGNoCisg
ICAgICAgIHNvIHRoYXQgdGhleSBkbyBub3QgY2xhc2ggd2l0aCBnZW5lcmF0ZWQgZmlsZXMgaW4g
SmF2YVNjcmlwdENvcmUuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQXV0b21hdGlvbi9BdXRvbWF0
aW9uLmpzb246IEFkZGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9t
YXRpb25TZXNzaW9uLmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJBdXRvbWF0aW9uU2Vzc2lvbi5jcHAuCisgICAgICAgIChXZWJLaXQ6OldlYkF1dG9tYXRpb25T
ZXNzaW9uOjpXZWJBdXRvbWF0aW9uU2Vzc2lvbik6CisgICAgICAgIChXZWJLaXQ6OldlYkF1dG9t
YXRpb25TZXNzaW9uOjp+V2ViQXV0b21hdGlvblNlc3Npb24pOgorICAgICAgICBTZXQgdXAgYSBi
YWNrZW5kIGRpc3BhdGNoZXIgYW5kIGZyb250ZW5kIHJvdXRlci4gVGhleSB3aWxsIGJlIHVzZWQg
bGF0ZXIuCisKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb246OmRpc3BhdGNo
TWVzc2FnZUZyb21SZW1vdGUpOgorICAgICAgICBGb3J3YXJkIG1lc3NhZ2VzIGZyb20gdGhlIHJl
bW90ZSB0byB0aGUgYmFja2VuZCBkaXNwYXRjaGVyLiBXaGVuCisgICAgICAgIGFuIGFnZW50IC8g
Y29tbWFuZCBoYW5kbGVyIGlzIHJlZ2lzdGVyZWQsIGl0IHdpbGwgcmVjZWl2ZSB0aGUgbWVzc2Fn
ZS4KKworICAgICAgICAoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6Y29ubmVjdCk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uOjpkaXNjb25uZWN0KToKKyAgICAg
ICAgQ29ubmVuY3QgYW5kIGRpc2Nvbm5lY3QgdGhlIGZyb250ZW5kIHJvdXRlciB0byB0aGUgcmVt
b3RlIGNoYW5uZWwuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0
aW9uU2Vzc2lvbi5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkF1
dG9tYXRpb25TZXNzaW9uLmguCisgICAgICAgICogV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOiBBZGQgYW5kIG1vdmUgZmlsZXMuCisKIDIwMTYtMDItMjAgIE9saXZpZXIgQmxpbiAg
PG9saXZpZXIuYmxpbkBzb2Z0YXRob21lLmNvbT4KIAogICAgICAgICBbY21ha2VdIFVzZSBJQ1Ug
aW5jbHVkZSBkaXJzIGluIFdlYktpdDIgYW5kIFdlYktpdFRlc3RSdW5uZXIKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL21vZGVscy5w
eSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL21vZGVs
cy5weQppbmRleCBmNGZhNDQ4NGVlMThlOTZkOTk4OTFmZTZkYzg3YWEzYzM5MjgwN2QwLi5mMDli
M2NmNWFhZGQzMWFmMjdmNjg3ODRjNTZhZDE4MDM5MjE5ZWViIDEwMDc1NQotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9tb2RlbHMucHkKKysrIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vbW9kZWxzLnB5
CkBAIC00NSw2ICs0NSw4IEBAIF9GUkFNRVdPUktfQ09ORklHX01BUCA9IHsKICAgICAgICAgImV4
cG9ydF9tYWNybyI6ICJKU19FWFBPUlRfUFJJVkFURSIsCiAgICAgICAgICJhbHRlcm5hdGVfZGlz
cGF0Y2hlcnMiOiBUcnVlLAogICAgIH0sCisgICAgIldlYktpdCI6IHsKKyAgICB9LAogICAgICJX
ZWJJbnNwZWN0b3IiOiB7CiAgICAgfSwKICAgICAjIFVzZWQgZm9yIGNvZGUgZ2VuZXJhdG9yIHRl
c3RzLgpAQCAtNzgsNiArODAsOSBAQCBjbGFzcyBGcmFtZXdvcms6CiAgICAgICAgIGlmIGZyYW1l
d29ya1N0cmluZyA9PSAiSmF2YVNjcmlwdENvcmUiOgogICAgICAgICAgICAgcmV0dXJuIEZyYW1l
d29ya3MuSmF2YVNjcmlwdENvcmUKIAorICAgICAgICBpZiBmcmFtZXdvcmtTdHJpbmcgPT0gIldl
YktpdCI6CisgICAgICAgICAgICByZXR1cm4gRnJhbWV3b3Jrcy5XZWJLaXQKKwogICAgICAgICBp
ZiBmcmFtZXdvcmtTdHJpbmcgPT0gIldlYkluc3BlY3RvciI6CiAgICAgICAgICAgICByZXR1cm4g
RnJhbWV3b3Jrcy5XZWJJbnNwZWN0b3IKIApAQCAtOTAsNiArOTUsNyBAQCBjbGFzcyBGcmFtZXdv
cms6CiBjbGFzcyBGcmFtZXdvcmtzOgogICAgIEdsb2JhbCA9IEZyYW1ld29yaygiR2xvYmFsIikK
ICAgICBKYXZhU2NyaXB0Q29yZSA9IEZyYW1ld29yaygiSmF2YVNjcmlwdENvcmUiKQorICAgIFdl
YktpdCA9IEZyYW1ld29yaygiV2ViS2l0IikKICAgICBXZWJJbnNwZWN0b3IgPSBGcmFtZXdvcmso
IldlYkluc3BlY3RvciIpCiAgICAgVGVzdCA9IEZyYW1ld29yaygiVGVzdCIpCiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9nZW5lcmF0ZS1pbnNw
ZWN0b3ItcHJvdG9jb2wtYmluZGluZ3MucHkgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVj
dG9yL3NjcmlwdHMvZ2VuZXJhdGUtaW5zcGVjdG9yLXByb3RvY29sLWJpbmRpbmdzLnB5CmluZGV4
IGVhMTM5NDVmMDZlNTdiNmNjZDhjN2UzNWRlNTIwY2E1MjdjZjA5MzQuLmE1MjhhOWRiMjVjNmNl
MDhhNWU0MDFjYjgzOTRjOGZmYjk3ODg1YTEgMTAwNzU1Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9nZW5lcmF0ZS1pbnNwZWN0b3ItcHJvdG9jb2wtYmluZGlu
Z3MucHkKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2dlbmVy
YXRlLWluc3BlY3Rvci1wcm90b2NvbC1iaW5kaW5ncy5weQpAQCAtMTEyLDcgKzExMiw5IEBAIGRl
ZiBnZW5lcmF0ZV9mcm9tX3NwZWNpZmljYXRpb24ocHJpbWFyeV9zcGVjaWZpY2F0aW9uX2ZpbGVw
YXRoPU5vbmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmNhdGVuYXRlX291
dHB1dD1GYWxzZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0X2RpcnBh
dGg9Tm9uZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yY2Vfb3V0cHV0PUZh
bHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcmFtZXdvcmtfbmFtZT0iIik6
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyYW1ld29ya19uYW1lPSIiLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZV9mcm9udGVuZD1UcnVlLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZV9iYWNrZW5kPVRydWUpOgogCiAg
ICAgZGVmIGxvYWRfc3BlY2lmaWNhdGlvbihwcm90b2NvbCwgZmlsZXBhdGgsIGlzU3VwcGxlbWVu
dGFsPUZhbHNlKToKICAgICAgICAgdHJ5OgpAQCAtMTQ4LDYgKzE1MCw3IEBAIGRlZiBnZW5lcmF0
ZV9mcm9tX3NwZWNpZmljYXRpb24ocHJpbWFyeV9zcGVjaWZpY2F0aW9uX2ZpbGVwYXRoPU5vbmUs
CiAgICAgICAgIGdlbmVyYXRvcnMuYXBwZW5kKE9iakNIZWFkZXJHZW5lcmF0b3IocHJvdG9jb2ws
IHByaW1hcnlfc3BlY2lmaWNhdGlvbl9maWxlcGF0aCkpCiAgICAgICAgIGdlbmVyYXRvcnMuYXBw
ZW5kKE9iakNJbnRlcm5hbEhlYWRlckdlbmVyYXRvcihwcm90b2NvbCwgcHJpbWFyeV9zcGVjaWZp
Y2F0aW9uX2ZpbGVwYXRoKSkKICAgICAgICAgZ2VuZXJhdG9ycy5hcHBlbmQoT2JqQ1Byb3RvY29s
VHlwZXNJbXBsZW1lbnRhdGlvbkdlbmVyYXRvcihwcm90b2NvbCwgcHJpbWFyeV9zcGVjaWZpY2F0
aW9uX2ZpbGVwYXRoKSkKKwogICAgIGVsaWYgcHJvdG9jb2wuZnJhbWV3b3JrIGlzIEZyYW1ld29y
a3MuSmF2YVNjcmlwdENvcmU6CiAgICAgICAgIGdlbmVyYXRvcnMuYXBwZW5kKEpTQmFja2VuZENv
bW1hbmRzR2VuZXJhdG9yKHByb3RvY29sLCBwcmltYXJ5X3NwZWNpZmljYXRpb25fZmlsZXBhdGgp
KQogICAgICAgICBnZW5lcmF0b3JzLmFwcGVuZChDcHBBbHRlcm5hdGVCYWNrZW5kRGlzcGF0Y2hl
ckhlYWRlckdlbmVyYXRvcihwcm90b2NvbCwgcHJpbWFyeV9zcGVjaWZpY2F0aW9uX2ZpbGVwYXRo
KSkKQEAgLTE1Nyw2ICsxNjAsMTkgQEAgZGVmIGdlbmVyYXRlX2Zyb21fc3BlY2lmaWNhdGlvbihw
cmltYXJ5X3NwZWNpZmljYXRpb25fZmlsZXBhdGg9Tm9uZSwKICAgICAgICAgZ2VuZXJhdG9ycy5h
cHBlbmQoQ3BwRnJvbnRlbmREaXNwYXRjaGVySW1wbGVtZW50YXRpb25HZW5lcmF0b3IocHJvdG9j
b2wsIHByaW1hcnlfc3BlY2lmaWNhdGlvbl9maWxlcGF0aCkpCiAgICAgICAgIGdlbmVyYXRvcnMu
YXBwZW5kKENwcFByb3RvY29sVHlwZXNIZWFkZXJHZW5lcmF0b3IocHJvdG9jb2wsIHByaW1hcnlf
c3BlY2lmaWNhdGlvbl9maWxlcGF0aCkpCiAgICAgICAgIGdlbmVyYXRvcnMuYXBwZW5kKENwcFBy
b3RvY29sVHlwZXNJbXBsZW1lbnRhdGlvbkdlbmVyYXRvcihwcm90b2NvbCwgcHJpbWFyeV9zcGVj
aWZpY2F0aW9uX2ZpbGVwYXRoKSkKKworICAgIGVsaWYgcHJvdG9jb2wuZnJhbWV3b3JrIGlzIEZy
YW1ld29ya3MuV2ViS2l0IGFuZCBnZW5lcmF0ZV9iYWNrZW5kOgorICAgICAgICBnZW5lcmF0b3Jz
LmFwcGVuZChDcHBCYWNrZW5kRGlzcGF0Y2hlckhlYWRlckdlbmVyYXRvcihwcm90b2NvbCwgcHJp
bWFyeV9zcGVjaWZpY2F0aW9uX2ZpbGVwYXRoKSkKKyAgICAgICAgZ2VuZXJhdG9ycy5hcHBlbmQo
Q3BwQmFja2VuZERpc3BhdGNoZXJJbXBsZW1lbnRhdGlvbkdlbmVyYXRvcihwcm90b2NvbCwgcHJp
bWFyeV9zcGVjaWZpY2F0aW9uX2ZpbGVwYXRoKSkKKyAgICAgICAgZ2VuZXJhdG9ycy5hcHBlbmQo
Q3BwUHJvdG9jb2xUeXBlc0hlYWRlckdlbmVyYXRvcihwcm90b2NvbCwgcHJpbWFyeV9zcGVjaWZp
Y2F0aW9uX2ZpbGVwYXRoKSkKKyAgICAgICAgZ2VuZXJhdG9ycy5hcHBlbmQoQ3BwUHJvdG9jb2xU
eXBlc0ltcGxlbWVudGF0aW9uR2VuZXJhdG9yKHByb3RvY29sLCBwcmltYXJ5X3NwZWNpZmljYXRp
b25fZmlsZXBhdGgpKQorCisgICAgZWxpZiBwcm90b2NvbC5mcmFtZXdvcmsgaXMgRnJhbWV3b3Jr
cy5XZWJLaXQgYW5kIGdlbmVyYXRlX2Zyb250ZW5kOgorICAgICAgICAjIEZJWE1FIDxyZGFyOi8v
cHJvYmxlbS8yMzQ2NjkyNT46IFRoaXMgbGlzdCBvZiBnZW5lcmF0b3JzIGZvciB0aGUgZnJvbnRl
bmQgaXMgYSBwbGFjZWhvbGRlci4KKyAgICAgICAgZ2VuZXJhdG9ycy5hcHBlbmQoT2JqQ0NvbnZl
cnNpb25IZWxwZXJzR2VuZXJhdG9yKHByb3RvY29sLCBwcmltYXJ5X3NwZWNpZmljYXRpb25fZmls
ZXBhdGgpKQorICAgICAgICBnZW5lcmF0b3JzLmFwcGVuZChPYmpDRnJvbnRlbmREaXNwYXRjaGVy
SW1wbGVtZW50YXRpb25HZW5lcmF0b3IocHJvdG9jb2wsIHByaW1hcnlfc3BlY2lmaWNhdGlvbl9m
aWxlcGF0aCkpCisgICAgICAgIGdlbmVyYXRvcnMuYXBwZW5kKE9iakNQcm90b2NvbFR5cGVzSW1w
bGVtZW50YXRpb25HZW5lcmF0b3IocHJvdG9jb2wsIHByaW1hcnlfc3BlY2lmaWNhdGlvbl9maWxl
cGF0aCkpCisKICAgICBlbGlmIHByb3RvY29sLmZyYW1ld29yayBpcyBGcmFtZXdvcmtzLldlYklu
c3BlY3RvcjoKICAgICAgICAgZ2VuZXJhdG9ycy5hcHBlbmQoT2JqQ0JhY2tlbmREaXNwYXRjaGVy
SGVhZGVyR2VuZXJhdG9yKHByb3RvY29sLCBwcmltYXJ5X3NwZWNpZmljYXRpb25fZmlsZXBhdGgp
KQogICAgICAgICBnZW5lcmF0b3JzLmFwcGVuZChPYmpDQmFja2VuZERpc3BhdGNoZXJJbXBsZW1l
bnRhdGlvbkdlbmVyYXRvcihwcm90b2NvbCwgcHJpbWFyeV9zcGVjaWZpY2F0aW9uX2ZpbGVwYXRo
KSkKQEAgLTE5MCwxNCArMjA2LDE1IEBAIGRlZiBnZW5lcmF0ZV9mcm9tX3NwZWNpZmljYXRpb24o
cHJpbWFyeV9zcGVjaWZpY2F0aW9uX2ZpbGVwYXRoPU5vbmUsCiAKIAogaWYgX19uYW1lX18gPT0g
J19fbWFpbl9fJzoKLSAgICBhbGxvd2VkX2ZyYW1ld29ya19uYW1lcyA9IFsnSmF2YVNjcmlwdENv
cmUnLCAnV2ViSW5zcGVjdG9yJywgJ1Rlc3QnXQorICAgIGFsbG93ZWRfZnJhbWV3b3JrX25hbWVz
ID0gWydKYXZhU2NyaXB0Q29yZScsICdXZWJJbnNwZWN0b3InLCAnV2ViS2l0JywgJ1Rlc3QnXQog
ICAgIGNsaV9wYXJzZXIgPSBvcHRwYXJzZS5PcHRpb25QYXJzZXIodXNhZ2U9InVzYWdlOiAlcHJv
ZyBbb3B0aW9uc10gUHJpbWFyeVByb3RvY29sLmpzb24gW1N1cHBsZW1lbnRhbFByb3RvY29sLmpz
b24gLi4uXSIpCiAgICAgY2xpX3BhcnNlci5hZGRfb3B0aW9uKCItbyIsICItLW91dHB1dERpciIs
IGhlbHA9IkRpcmVjdG9yeSB3aGVyZSBnZW5lcmF0ZWQgZmlsZXMgc2hvdWxkIGJlIHdyaXR0ZW4u
IikKICAgICBjbGlfcGFyc2VyLmFkZF9vcHRpb24oIi0tZnJhbWV3b3JrIiwgdHlwZT0iY2hvaWNl
IiwgY2hvaWNlcz1hbGxvd2VkX2ZyYW1ld29ya19uYW1lcywgaGVscD0iVGhlIGZyYW1ld29yayB0
aGF0IHRoZSBwcmltYXJ5IHNwZWNpZmljYXRpb24gYmVsb25ncyB0by4iKQogICAgIGNsaV9wYXJz
ZXIuYWRkX29wdGlvbigiLS1mb3JjZSIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsIGhlbHA9IkZvcmNl
IG91dHB1dCBvZiBnZW5lcmF0ZWQgc2NyaXB0cywgZXZlbiBpZiBub3RoaW5nIGNoYW5nZWQuIikK
ICAgICBjbGlfcGFyc2VyLmFkZF9vcHRpb24oIi12IiwgIi0tZGVidWciLCBhY3Rpb249InN0b3Jl
X3RydWUiLCBoZWxwPSJMb2cgZXh0cmEgb3V0cHV0IGZvciBkZWJ1Z2dpbmcgdGhlIGdlbmVyYXRv
ciBpdHNlbGYuIikKICAgICBjbGlfcGFyc2VyLmFkZF9vcHRpb24oIi10IiwgIi0tdGVzdCIsIGFj
dGlvbj0ic3RvcmVfdHJ1ZSIsIGhlbHA9IkVuYWJsZSB0ZXN0IG1vZGUuIFVzZSB1bmlxdWUgb3V0
cHV0IGZpbGVuYW1lcyBjcmVhdGVkIGJ5IHByZXBlbmRpbmcgdGhlIGlucHV0IGZpbGVuYW1lLiIp
Ci0KKyAgICBjbGlfcGFyc2VyLmFkZF9vcHRpb24oIi0tZnJvbnRlbmQiLCBhY3Rpb249InN0b3Jl
X3RydWUiLCBoZWxwPSJHZW5lcmF0ZSBjb2RlIGZvciB0aGUgZnJvbnRlbmQtc2lkZSBvZiB0aGUg
cHJvdG9jb2wgb25seS4iKQorICAgIGNsaV9wYXJzZXIuYWRkX29wdGlvbigiLS1iYWNrZW5kIiwg
YWN0aW9uPSJzdG9yZV90cnVlIiwgaGVscD0iR2VuZXJhdGUgY29kZSBmb3IgdGhlIGJhY2tlbmQt
c2lkZSBvZiB0aGUgcHJvdG9jb2wgb25seS4iKQogICAgIG9wdGlvbnMgPSBOb25lCiAKICAgICBh
cmdfb3B0aW9ucywgYXJnX3ZhbHVlcyA9IGNsaV9wYXJzZXIucGFyc2VfYXJncygpCkBAIC0yMTAs
MTMgKzIyNywyMiBAQCBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgogICAgIGlmIGFyZ19vcHRp
b25zLmRlYnVnOgogICAgICAgICBsb2cuc2V0TGV2ZWwobG9nZ2luZy5ERUJVRykKIAorICAgIGdl
bmVyYXRlX2JhY2tlbmQgPSBhcmdfb3B0aW9ucy5iYWNrZW5kOworICAgIGdlbmVyYXRlX2Zyb250
ZW5kID0gYXJnX29wdGlvbnMuZnJvbnRlbmQ7CisgICAgIyBEZWZhdWx0IHRvIGdlbmVyYXRpbmcg
Ym90aCB0aGUgZnJvbnRlbmQgYW5kIGJhY2tlbmQgaWYgbmVpdGhlciBpcyBzcGVjaWZpZWQuCisg
ICAgaWYgbm90IGdlbmVyYXRlX2JhY2tlbmQgYW5kIG5vdCBnZW5lcmF0ZV9mcm9udGVuZDoKKyAg
ICAgICAgZ2VuZXJhdGVfYmFja2VuZCA9IFRydWUKKyAgICAgICAgZ2VuZXJhdGVfZnJvbnRlbmQg
PSBUcnVlCisKICAgICBvcHRpb25zID0gewogICAgICAgICAncHJpbWFyeV9zcGVjaWZpY2F0aW9u
X2ZpbGVwYXRoJzogYXJnX3ZhbHVlc1swXSwKICAgICAgICAgJ3N1cHBsZW1lbnRhbF9zcGVjaWZp
Y2F0aW9uX2ZpbGVwYXRocyc6IGFyZ192YWx1ZXNbMTpdLAogICAgICAgICAnb3V0cHV0X2RpcnBh
dGgnOiBhcmdfb3B0aW9ucy5vdXRwdXREaXIsCiAgICAgICAgICdjb25jYXRlbmF0ZV9vdXRwdXQn
OiBhcmdfb3B0aW9ucy50ZXN0LAogICAgICAgICAnZnJhbWV3b3JrX25hbWUnOiBhcmdfb3B0aW9u
cy5mcmFtZXdvcmssCi0gICAgICAgICdmb3JjZV9vdXRwdXQnOiBhcmdfb3B0aW9ucy5mb3JjZQor
ICAgICAgICAnZm9yY2Vfb3V0cHV0JzogYXJnX29wdGlvbnMuZm9yY2UsCisgICAgICAgICdnZW5l
cmF0ZV9iYWNrZW5kJzogZ2VuZXJhdGVfYmFja2VuZCwKKyAgICAgICAgJ2dlbmVyYXRlX2Zyb250
ZW5kJzogZ2VuZXJhdGVfZnJvbnRlbmQsCiAgICAgfQogCiAgICAgdHJ5OgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvQmFzZVRhcmdldC54Y2NvbmZpZyBiL1NvdXJj
ZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0Jhc2VUYXJnZXQueGNjb25maWcKaW5kZXggY2M5NDdi
OTE4YTRmMjA4OWYzMWQyZGNhMWI3NjcyMTVlZWViN2U0Yy4uYWVlNjkyMTM5ZDM2MGYwODcyMTM3
MDZiNWQ4NTU1ZWJjMjlkM2IzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ29uZmlndXJh
dGlvbnMvQmFzZVRhcmdldC54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0
aW9ucy9CYXNlVGFyZ2V0LnhjY29uZmlnCkBAIC01MSw2ICs1MSw3IEBAIFVNQlJFTExBX0ZSQU1F
V09SS1NfRElSX1Byb2R1Y3Rpb25fbWFjb3N4X1VTRV9PVkVSUklERV9GUkFNRVdPUktTX0RJUl9O
TyA9ICQoTkVYCiBVTUJSRUxMQV9GUkFNRVdPUktTX0RJUl9Qcm9kdWN0aW9uX21hY29zeF9VU0Vf
T1ZFUlJJREVfRlJBTUVXT1JLU19ESVJfWUVTID0gJChXS19PVkVSUklERV9GUkFNRVdPUktTX0RJ
Uik7CiBVTUJSRUxMQV9GUkFNRVdPUktTX0RJUl9lbmdpbmVlcmluZyA9ICQoQlVJTFRfUFJPRFVD
VFNfRElSKTsKIAorSkFWQVNDUklQVENPUkVfUFJJVkFURV9IRUFERVJTX0RJUiA9ICQoVU1CUkVM
TEFfRlJBTUVXT1JLU19ESVIpL0phdmFTY3JpcHRDb3JlLmZyYW1ld29yay9Qcml2YXRlSGVhZGVy
czsKIFdFQkNPUkVfUFJJVkFURV9IRUFERVJTX0RJUiA9ICQoVU1CUkVMTEFfRlJBTUVXT1JLU19E
SVIpL1dlYkNvcmUuZnJhbWV3b3JrL1ByaXZhdGVIZWFkZXJzOwogV0VCS0lUX0xFR0FDWV9QUklW
QVRFX0hFQURFUlNfRElSID0gJChVTUJSRUxMQV9GUkFNRVdPUktTX0RJUikvV2ViS2l0TGVnYWN5
LmZyYW1ld29yay9Qcml2YXRlSGVhZGVyczsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
RGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJLaXQyL0Rlcml2ZWRTb3VyY2VzLm1ha2UK
aW5kZXggNWM1NzkxZDg4YjVjNDdhZjE0NzU5MjUxYTNkNTRkNDkwN2U0YzcyMC4uNmYyYTc2NzBh
ODA2Njk3YjFkZGI4NTljMzhlNzNhMDQxYzFkYThjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9EZXJpdmVkU291cmNl
cy5tYWtlCkBAIC01Niw2ICs1Niw3IEBAIFZQQVRIID0gXAogICAgICQoV2ViS2l0MikvV2ViUHJv
Y2Vzcy9pb3MgXAogICAgICQoV2ViS2l0MikvV2ViUHJvY2VzcyBcCiAgICAgJChXZWJLaXQyKS9V
SVByb2Nlc3MgXAorICAgICQoV2ViS2l0MikvVUlQcm9jZXNzL0F1dG9tYXRpb24gXAogICAgICQo
V2ViS2l0MikvVUlQcm9jZXNzL0NvY29hIFwKICAgICAkKFdlYktpdDIpL1VJUHJvY2Vzcy9EYXRh
YmFzZXMgXAogICAgICQoV2ViS2l0MikvVUlQcm9jZXNzL0Rvd25sb2FkcyBcCkBAIC0xOTIsMyAr
MTkzLDMxIEBAIGFsbDogJChTQU5EQk9YX1BST0ZJTEVTKQogJS5zYiA6ICUuc2IuaW4KIAlAZWNo
byBQcmUtcHJvY2Vzc2luZyAkKiBzYW5kYm94IHByb2ZpbGUuLi4KIAkkKENDKSAkKFNES19GTEFH
UykgJChURVhUX1BSRVBST0NFU1NPUl9GTEFHUykgJChGUkFNRVdPUktfRkxBR1MpICQoSEVBREVS
X0ZMQUdTKSAtaW5jbHVkZSAid3RmL1BsYXRmb3JtLmgiICQ8ID4gJEAKKworSlNPTl9SUENfR0VO
RVJBVE9SX1NDUklQVFMgPSBcCisJJChKYXZhU2NyaXB0Q29yZV9TQ1JJUFRTX0RJUikvY3BwX2dl
bmVyYXRvcl90ZW1wbGF0ZXMucHkgXAorCSQoSmF2YVNjcmlwdENvcmVfU0NSSVBUU19ESVIpL2Nw
cF9nZW5lcmF0b3IucHkgXAorCSQoSmF2YVNjcmlwdENvcmVfU0NSSVBUU19ESVIpL2dlbmVyYXRl
X2NwcF9iYWNrZW5kX2Rpc3BhdGNoZXJfaGVhZGVyLnB5IFwKKwkkKEphdmFTY3JpcHRDb3JlX1ND
UklQVFNfRElSKS9nZW5lcmF0ZV9jcHBfYmFja2VuZF9kaXNwYXRjaGVyX2ltcGxlbWVudGF0aW9u
LnB5IFwKKwkkKEphdmFTY3JpcHRDb3JlX1NDUklQVFNfRElSKS9nZW5lcmF0ZV9jcHBfcHJvdG9j
b2xfdHlwZXNfaGVhZGVyLnB5IFwKKwkkKEphdmFTY3JpcHRDb3JlX1NDUklQVFNfRElSKS9nZW5l
cmF0ZV9jcHBfcHJvdG9jb2xfdHlwZXNfaW1wbGVtZW50YXRpb24ucHkgXAorCSQoSmF2YVNjcmlw
dENvcmVfU0NSSVBUU19ESVIpL2dlbmVyYXRvcl90ZW1wbGF0ZXMucHkgXAorCSQoSmF2YVNjcmlw
dENvcmVfU0NSSVBUU19ESVIpL2dlbmVyYXRvci5weSBcCisJJChKYXZhU2NyaXB0Q29yZV9TQ1JJ
UFRTX0RJUikvbW9kZWxzLnB5IFwKKwkkKEphdmFTY3JpcHRDb3JlX1NDUklQVFNfRElSKS9nZW5l
cmF0ZS1pbnNwZWN0b3ItcHJvdG9jb2wtYmluZGluZ3MucHkgXAorIworCitKU09OX1JQQ19JTlBV
VF9GSUxFUyA9IFwKKyAgICAkKFdlYktpdDIpL1VJUHJvY2Vzcy9BdXRvbWF0aW9uL0F1dG9tYXRp
b24uanNvbiBcCisjCisKK0pTT05fUlBDX09VVFBVVF9GSUxFUyA9IFwKKyAgICBJbnNwZWN0b3JC
YWNrZW5kRGlzcGF0Y2hlcnMuaCBcCisgICAgSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzLmNw
cCBcCisjCisKKyMgSlNPTi1SUEMgQmFja2VuZCBEaXNwYXRjaGVycywgVHlwZSBCdWlsZGVycwor
JChKU09OX1JQQ19PVVRQVVRfRklMRVMpIDogJChKU09OX1JQQ19JTlBVVF9GSUxFUykgJChKU09O
X1JQQ19HRU5FUkFUT1JfU0NSSVBUUykKKwkkKFBZVEhPTikgJChKYXZhU2NyaXB0Q29yZV9TQ1JJ
UFRTX0RJUikvZ2VuZXJhdGUtaW5zcGVjdG9yLXByb3RvY29sLWJpbmRpbmdzLnB5IC0tZnJhbWV3
b3JrIFdlYktpdCAtLWJhY2tlbmQgLS1vdXRwdXREaXIgLiAkKEpTT05fUlBDX0lOUFVUX0ZJTEVT
KQorCithbGwgOiAkKEpTT05fUlBDX09VVFBVVF9GSUxFUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1BsYXRmb3JtTWFjLmNtYWtlIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm1NYWMuY21h
a2UKaW5kZXggOTJlM2I5MDM0ZjAzM2Q4NzZlNjI2ZTU5NmQxNTQwMTRkZWNlMDkwZi4uZTg4MTAw
MGRjZDg1YzQ3NzM2MDViZmJkOGM0NjRhM2JhMTY0Y2MxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvUGxhdGZvcm1NYWMuY21ha2UKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm1NYWMu
Y21ha2UKQEAgLTYsNiArNiw4IEBAIGFkZF9kZWZpbml0aW9ucygtaWZyYW1ld29yayAke1FVQVJU
Wl9MSUJSQVJZfS9GcmFtZXdvcmtzKQogYWRkX2RlZmluaXRpb25zKC1pZnJhbWV3b3JrICR7Q0FS
Qk9OX0xJQlJBUll9L0ZyYW1ld29ya3MpCiBhZGRfZGVmaW5pdGlvbnMoLURXS19YUENfU0VSVklD
RV9TVUZGSVg9Ii5EZXZlbG9wbWVudCIpCiAKK3NldChKYXZhU2NyaXB0Q29yZV9TQ1JJUFRTX0RJ
UiAiJHtERVJJVkVEX1NPVVJDRVNfRElSfS9Gb3J3YXJkaW5nSGVhZGVycy9KYXZhU2NyaXB0Q29y
ZS9TY3JpcHRzIikKKwogbGlzdChBUFBFTkQgV2ViS2l0Ml9MSUJSQVJJRVMKICAgICBXZWJLaXQK
ICkKQEAgLTE0MCw3ICsxNDIsOCBAQCBsaXN0KEFQUEVORCBXZWJLaXQyX1NPVVJDRVMKICAgICBT
aGFyZWQvbWFjL1dlYk1lbW9yeVNhbXBsZXIubWFjLm1tCiAKICAgICBVSVByb2Nlc3MvVmlld0dl
c3R1cmVDb250cm9sbGVyLmNwcAotICAgIFVJUHJvY2Vzcy9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5j
cHAKKworICAgIFVJUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uLmNwcAog
CiAgICAgVUlQcm9jZXNzL0FQSS9BUElVc2VyU2NyaXB0LmNwcAogICAgIFVJUHJvY2Vzcy9BUEkv
QVBJVXNlclN0eWxlU2hlZXQuY3BwCkBAIC0zNTIsNiArMzU1LDcgQEAgbGlzdChBUFBFTkQgV2Vi
S2l0Ml9JTkNMVURFX0RJUkVDVE9SSUVTCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1VJUHJvY2Vzcy9B
UEkvQy9tYWMiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1VJUHJvY2Vzcy9BUEkvQ29jb2EiCiAgICAg
IiR7V0VCS0lUMl9ESVJ9L1VJUHJvY2Vzcy9BUEkvbWFjIgorICAgICIke1dFQktJVDJfRElSfS9V
SVByb2Nlc3MvQXV0b21hdGlvbiIKICAgICAiJHtXRUJLSVQyX0RJUn0vVUlQcm9jZXNzL0NvY29h
IgogICAgICIke1dFQktJVDJfRElSfS9VSVByb2Nlc3MvTGF1bmNoZXIvbWFjIgogICAgICIke1dF
QktJVDJfRElSfS9VSVByb2Nlc3MvU2Nyb2xsaW5nIgpAQCAtNDk1LDQgKzQ5OSwzOCBAQCBsaXN0
KEFQUEVORCBXZWJLaXQyX1NPVVJDRVMKICAgICAke0RFUklWRURfU09VUkNFU19XRUJLSVQyX0RJ
Un0vTWVzc2FnZVJlY29yZGVyUHJvYmVzLmgKICkKIAorc2V0KFdlYktpdDJfSlNPTl9SUENfR0VO
RVJBVE9SX1NDUklQVFMKKyAgICAke0phdmFTY3JpcHRDb3JlX1NDUklQVFNfRElSfS9nZW5lcmF0
ZS1pbnNwZWN0b3ItcHJvdG9jb2wtYmluZGluZ3MucHkKKyAgICAke0phdmFTY3JpcHRDb3JlX1ND
UklQVFNfRElSfS9jb2RlZ2VuL2NwcF9nZW5lcmF0b3IucHkKKyAgICAke0phdmFTY3JpcHRDb3Jl
X1NDUklQVFNfRElSfS9jb2RlZ2VuL2NwcF9nZW5lcmF0b3JfdGVtcGxhdGVzLnB5CisgICAgJHtK
YXZhU2NyaXB0Q29yZV9TQ1JJUFRTX0RJUn0vY29kZWdlbi9nZW5lcmF0ZV9jcHBfYmFja2VuZF9k
aXNwYXRjaGVyX2hlYWRlci5weQorICAgICR7SmF2YVNjcmlwdENvcmVfU0NSSVBUU19ESVJ9L2Nv
ZGVnZW4vZ2VuZXJhdGVfY3BwX2JhY2tlbmRfZGlzcGF0Y2hlcl9pbXBsZW1lbnRhdGlvbi5weQor
ICAgICR7SmF2YVNjcmlwdENvcmVfU0NSSVBUU19ESVJ9L2NvZGVnZW4vZ2VuZXJhdGVfY3BwX3By
b3RvY29sX3R5cGVzX2hlYWRlci5weQorICAgICR7SmF2YVNjcmlwdENvcmVfU0NSSVBUU19ESVJ9
L2NvZGVnZW4vZ2VuZXJhdGVfY3BwX3Byb3RvY29sX3R5cGVzX2ltcGxlbWVudGF0aW9uLnB5Cisg
ICAgJHtKYXZhU2NyaXB0Q29yZV9TQ1JJUFRTX0RJUn0vY29kZWdlbi9nZW5lcmF0b3IucHkKKyAg
ICAke0phdmFTY3JpcHRDb3JlX1NDUklQVFNfRElSfS9jb2RlZ2VuL2dlbmVyYXRvcl90ZW1wbGF0
ZXMucHkKKyAgICAke0phdmFTY3JpcHRDb3JlX1NDUklQVFNfRElSfS9jb2RlZ2VuL21vZGVscy5w
eQorKQorCitzZXQoV2ViS2l0Ml9KU09OX1JQQ19HRU5FUkFUT1JfSU5QVVRTCisgICAgJHtXRUJL
SVQyX0RJUn0vVUlQcm9jZXNzL0F1dG9tYXRpb24vQXV0b21hdGlvbi5qc29uCispCisKK2FkZF9j
dXN0b21fY29tbWFuZCgKKyAgICBPVVRQVVQgJHtERVJJVkVEX1NPVVJDRVNfV0VCS0lUMl9ESVJ9
L0luc3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5oICR7REVSSVZFRF9TT1VSQ0VTX1dFQktJVDJf
RElSfS9JbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuY3BwICR7REVSSVZFRF9TT1VSQ0VTX1dF
QktJVDJfRElSfS9JbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuaCAke0RFUklWRURfU09VUkNFU19X
RUJLSVQyX0RJUn0vSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzLmNwcAorICAgIE1BSU5fREVQRU5E
RU5DWSAke1dlYktpdDJfSlNPTl9SUENfR0VORVJBVE9SX0lOUFVUU30KKyAgICBERVBFTkRTICR7
V2ViS2l0Ml9KU09OX1JQQ19HRU5FUkFUT1JfU0NSSVBUU30KKyAgICBDT01NQU5EICR7UFlUSE9O
X0VYRUNVVEFCTEV9ICR7SmF2YVNjcmlwdENvcmVfU0NSSVBUU19ESVJ9L2dlbmVyYXRlLWluc3Bl
Y3Rvci1wcm90b2NvbC1iaW5kaW5ncy5weSAtLW91dHB1dERpciAiJHtERVJJVkVEX1NPVVJDRVNf
V0VCS0lUMl9ESVJ9IiAtLWZyYW1ld29yayBXZWJLaXQgLS1iYWNrZW5kICR7V2ViS2l0Ml9KU09O
X1JQQ19HRU5FUkFUT1JfSU5QVVRTfQorICAgIFZFUkJBVElNKQorCitsaXN0KEFQUEVORCBXZWJL
aXQyX0hFQURFUlMKKyAgICAke0RFUklWRURfU09VUkNFU19XRUJLSVQyX0RJUn0vSW5zcGVjdG9y
QmFja2VuZERpc3BhdGNoZXJzLmgKKyAgICAke0RFUklWRURfU09VUkNFU19XRUJLSVQyX0RJUn0v
SW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzLmgKKykKKworbGlzdChBUFBFTkQgV2ViS2l0Ml9TT1VS
Q0VTCisgICAgJHtERVJJVkVEX1NPVVJDRVNfV0VCS0lUMl9ESVJ9L0luc3BlY3RvckJhY2tlbmRE
aXNwYXRjaGVycy5jcHAKKyAgICAke0RFUklWRURfU09VUkNFU19XRUJLSVQyX0RJUn0vSW5zcGVj
dG9yUHJvdG9jb2xPYmplY3RzLmNwcAorKQorCiBXRUJLSVRfQ1JFQVRFX0ZPUldBUkRJTkdfSEVB
REVSUyhXZWJLaXQgRklMRVMgJHtXZWJLaXQyX0ZPUldBUkRJTkdfSEVBREVSU19GSUxFU30gRElS
RUNUT1JJRVMgJHtXZWJLaXQyX0ZPUldBUkRJTkdfSEVBREVSU19ESVJFQ1RPUklFU30pCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQXV0b21hdGlvbi9BdXRvbWF0aW9uLmpz
b24gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQXV0b21hdGlvbi9BdXRvbWF0aW9uLmpzb24K
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMzQ1YzcwYjdkMTQwZWRiMTdiNWJjYWE1YjgzYTFkYzhhNjhkNDA3NgotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BdXRvbWF0aW9uL0F1dG9t
YXRpb24uanNvbgpAQCAtMCwwICsxLDQwIEBACit7CisgICAgImRvbWFpbiI6ICJBdXRvbWF0aW9u
IiwKKyAgICAiZGVzY3JpcHRpb24iOiAiQXV0b21hdGlvbiBkb21haW4gZXhwb3NlcyBjb21tYW5k
cyBmb3IgYXV0b21hdGluZyB1c2VyIGludGVyYWN0aW9ucyB3aXRoIHRoZSBicm93c2VyLiIsCisg
ICAgInR5cGVzIjogWworICAgICAgICB7CisgICAgICAgICAgICAiaWQiOiAiT3BhcXVlV2luZG93
SGFuZGxlIiwKKyAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCisgICAgICAgICAgICAiZGVz
Y3JpcHRpb24iOiAiQW4gb3BhcXVlIGlkZW50aWZpZXIgZm9yIGEgd2luZG93LiIKKyAgICAgICAg
fSwKKyAgICAgICAgeworICAgICAgICAgICAgImlkIjogIkJyb3dzaW5nV2luZG93IiwKKyAgICAg
ICAgICAgICJ0eXBlIjogIm9iamVjdCIsCisgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQSBo
YW5kbGUgcmVwcmVzZW50aW5nIGFuIG9wZW4gd2luZG93IG9yIHRhYiBpbiB0aGUgYXV0b21hdGlv
biBzZXNzaW9uLiIsCisgICAgICAgICAgICAicHJvcGVydGllcyI6IFsKKyAgICAgICAgICAgICAg
ICB7ICJuYW1lIjogImhhbmRsZSIsICIkcmVmIjogIk9wYXF1ZVdpbmRvd0hhbmRsZSIsICJkZXNj
cmlwdGlvbiI6ICJPcGFxdWUgaGFuZGxlIGZvciB0aGUgd2luZG93LiBVc2VkIGFzIGEga2V5IGZv
ciB3aW5kb3ctcmVsYXRlZCBjb21tYW5kcy4iIH0sCisgICAgICAgICAgICAgICAgeyAibmFtZSI6
ICJhY3RpdmUiLCAidHlwZSI6ICJib29sZWFuIiwgImRlc2NyaXB0aW9uIjogIldoZXRoZXIgdGhl
IHdpbmRvdyBpcyBhY3RpdmUgYXQgdGhlIHRpbWUgdGhlIGNvbW1hbmQgaXMgaGFuZGxlZC4iIH0K
KyAgICAgICAgICAgIF0KKyAgICAgICAgfQorICAgIF0sCisgICAgImNvbW1hbmRzIjogWworICAg
ICAgICB7CisgICAgICAgICAgICAibmFtZSI6ICJnZXRXaW5kb3dzIiwKKyAgICAgICAgICAgICJy
ZXR1cm5zIjogWworICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAid2luZG93cyIsICJ0eXBlIjog
ImFycmF5IiwgIml0ZW1zIjogeyAiJHJlZiI6ICJCcm93c2luZ1dpbmRvdyJ9LCAiZGVzY3JpcHRp
b24iOiAiQWxsIGtub3duIHdpbmRvd3MgYW5kIHRhYnMgaW4gdGhlIGJyb3dzaW5nIHNlc3Npb24u
IiB9CisgICAgICAgICAgICBdLAorICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkdldHMgaW5m
b3JtYXRpb24gYWJvdXQgYWxsIG9wZW4gd2luZG93cyBhbmQgdGFicyBpbiB0aGUgYXV0b21hdGlv
biBzZXNzaW9uLiIKKyAgICAgICAgfSwKKyAgICAgICAgeworICAgICAgICAgICAgIm5hbWUiOiAi
b3BlbldpbmRvdyIsCisgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiT3BlbnMgYSBuZXcgYXV0
b21hdGlvbiB3aW5kb3cgaW4gdGhlIGN1cnJlbnQgYnJvd3NpbmcgY29udGV4dC4iCisgICAgICAg
IH0sCisgICAgICAgIHsKKyAgICAgICAgICAgICJuYW1lIjogImNsb3NlV2luZG93IiwKKyAgICAg
ICAgICAgICJwYXJhbWV0ZXJzIjogWworICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiaGFuZGxl
IiwgIiRyZWYiOiAiT3BhcXVlV2luZG93SGFuZGxlIiwgImRlc2NyaXB0aW9uIjogIlRoZSBoYW5k
bGUgZm9yIHRoZSB3aW5kb3cgdGhhdCBzaG91bGQgYmUgY2xvc2VkLiIgfQorICAgICAgICAgICAg
XSwKKyAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJDbG9zZXMgdGhlIHNwZWNpZmllZCB3aW5k
b3cuIgorICAgICAgICB9CisgICAgXQorfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb24uY3BwIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb24uY3BwCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjlhNDIxMmZjMTEzODUwM2ZhZGRjYWQ4MTkyMzlmNTdhNDZkZjJlMGEKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9u
U2Vzc2lvbi5jcHAKQEAgLTAsMCArMSw5MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25m
aWcuaCIKKyNpbmNsdWRlICJXZWJBdXRvbWF0aW9uU2Vzc2lvbi5oIgorCisjaW5jbHVkZSAiQVBJ
QXV0b21hdGlvblNlc3Npb25DbGllbnQuaCIKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9JbnNw
ZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5oPgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0luc3Bl
Y3RvckZyb250ZW5kUm91dGVyLmg+CisKK3VzaW5nIG5hbWVzcGFjZSBJbnNwZWN0b3I7CisKK25h
bWVzcGFjZSBXZWJLaXQgeworCitXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6V2ViQXV0b21hdGlvblNl
c3Npb24oKQorICAgIDogbV9jbGllbnQoc3RkOjptYWtlX3VuaXF1ZTxBUEk6OkF1dG9tYXRpb25T
ZXNzaW9uQ2xpZW50PigpKQorICAgICwgbV9mcm9udGVuZFJvdXRlcihGcm9udGVuZFJvdXRlcjo6
Y3JlYXRlKCkpCisgICAgLCBtX2JhY2tlbmREaXNwYXRjaGVyKEJhY2tlbmREaXNwYXRjaGVyOjpj
cmVhdGUobV9mcm9udGVuZFJvdXRlci5jb3B5UmVmKCkpKQoreworICAgIC8vIEZJWE1FOiB0byBh
Y3R1YWxseSBoYW5kbGUgaW5jb21pbmcgY29tbWFuZHMsIGFuIGFnZW50IG5lZWRzIHRvIGJlIGNy
ZWF0ZWQKKyAgICAvLyBhbmQgcmVnaXN0ZXJlZCB3aXRoIHRoZSBiYWNrZW5kIGRpc3BhdGNoZXIg
aW4gdGhlIGNvbnN0cnVjdG9yLgorfQorCitXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6fldlYkF1dG9t
YXRpb25TZXNzaW9uKCkKK3sKKyAgICBBU1NFUlQoIW1fY2xpZW50KTsKK30KKwordm9pZCBXZWJB
dXRvbWF0aW9uU2Vzc2lvbjo6c2V0Q2xpZW50KHN0ZDo6dW5pcXVlX3B0cjxBUEk6OkF1dG9tYXRp
b25TZXNzaW9uQ2xpZW50PiBjbGllbnQpCit7CisgICAgbV9jbGllbnQgPSBXVEZNb3ZlKGNsaWVu
dCk7Cit9CisKKy8vIE5PVEU6IHRoaXMgY2xhc3MgY291bGQgYmUgc3BsaXQgYXQgc29tZSBwb2lu
dCB0byBzdXBwb3J0IGxvY2FsIGFuZCByZW1vdGUgYXV0b21hdGlvbiBzZXNzaW9ucy4KKy8vIEZv
ciBub3csIGl0IG9ubHkgd29ya3Mgd2l0aCBhIHJlbW90ZSBhdXRvbWF0aW9uIGRyaXZlciBvdmVy
IGEgUmVtb3RlSW5zcGVjdG9yIGNvbm5lY3Rpb24uCisKKyNpZiBFTkFCTEUoUkVNT1RFX0lOU1BF
Q1RPUikKKworLy8gSW5zcGVjdG9yOjpSZW1vdGVBdXRvbWF0aW9uVGFyZ2V0IEFQSQorCit2b2lk
IFdlYkF1dG9tYXRpb25TZXNzaW9uOjpkaXNwYXRjaE1lc3NhZ2VGcm9tUmVtb3RlKGNvbnN0IFN0
cmluZyYgbWVzc2FnZSkKK3sKKyAgICBtX2JhY2tlbmREaXNwYXRjaGVyLT5kaXNwYXRjaChtZXNz
YWdlKTsKK30KKwordm9pZCBXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6Y29ubmVjdChJbnNwZWN0b3I6
OkZyb250ZW5kQ2hhbm5lbCogY2hhbm5lbCwgYm9vbCBpc0F1dG9tYXRpY0Nvbm5lY3Rpb24pCit7
CisgICAgVU5VU0VEX1BBUkFNKGlzQXV0b21hdGljQ29ubmVjdGlvbik7CisKKyAgICBtX3JlbW90
ZUNoYW5uZWwgPSBjaGFubmVsOworICAgIG1fZnJvbnRlbmRSb3V0ZXItPmNvbm5lY3RGcm9udGVu
ZChjaGFubmVsKTsKKworICAgIHNldElzUGFpcmVkKHRydWUpOworfQorCit2b2lkIFdlYkF1dG9t
YXRpb25TZXNzaW9uOjpkaXNjb25uZWN0KEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsKiBjaGFu
bmVsKQoreworICAgIEFTU0VSVChjaGFubmVsID09IG1fcmVtb3RlQ2hhbm5lbCk7CisKKyAgICBt
X3JlbW90ZUNoYW5uZWwgPSBudWxscHRyOworICAgIG1fZnJvbnRlbmRSb3V0ZXItPmRpc2Nvbm5l
Y3RGcm9udGVuZChjaGFubmVsKTsKKworICAgIHNldElzUGFpcmVkKGZhbHNlKTsKKworICAgIGlm
IChtX2NsaWVudCkKKyAgICAgICAgbV9jbGllbnQtPmRpZERpc2Nvbm5lY3RGcm9tUmVtb3RlKHRo
aXMpOworfQorCisjZW5kaWYgLy8gRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCisKK30gLy8gbmFt
ZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1dG9t
YXRpb24vV2ViQXV0b21hdGlvblNlc3Npb24uaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
dXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2MzOWE3ZjE1NTY4
NmY5ZDY4NWY0YWU3MWQxOTNiZWQyNDgxZWFjYQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uLmgKQEAgLTAs
MCArMSw4NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV2ViQXV0b21hdGlvblNlc3Npb25faAor
I2RlZmluZSBXZWJBdXRvbWF0aW9uU2Vzc2lvbl9oCisKKyNpbmNsdWRlICJBUElPYmplY3QuaCIK
KyNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorCisjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1Ip
CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvUmVtb3RlQXV0b21hdGlvblRhcmdldC5oPgorI2Vu
ZGlmCisKK25hbWVzcGFjZSBBUEkgeworY2xhc3MgQXV0b21hdGlvblNlc3Npb25DbGllbnQ7Cit9
CisKK25hbWVzcGFjZSBJbnNwZWN0b3IgeworY2xhc3MgQmFja2VuZERpc3BhdGNoZXI7CitjbGFz
cyBGcm9udGVuZFJvdXRlcjsKK30KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFdlYkF1
dG9tYXRpb25TZXNzaW9uQ2xpZW50OworCitjbGFzcyBXZWJBdXRvbWF0aW9uU2Vzc2lvbiBmaW5h
bCA6IHB1YmxpYyBBUEk6Ok9iamVjdEltcGw8QVBJOjpPYmplY3Q6OlR5cGU6OkF1dG9tYXRpb25T
ZXNzaW9uPgorI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQorICAgICwgcHVibGljIEluc3Bl
Y3Rvcjo6UmVtb3RlQXV0b21hdGlvblRhcmdldAorI2VuZGlmCit7CitwdWJsaWM6CisgICAgV2Vi
QXV0b21hdGlvblNlc3Npb24oKTsKKyAgICB+V2ViQXV0b21hdGlvblNlc3Npb24oKTsKKworICAg
IHZvaWQgc2V0Q2xpZW50KHN0ZDo6dW5pcXVlX3B0cjxBUEk6OkF1dG9tYXRpb25TZXNzaW9uQ2xp
ZW50Pik7CisKKyAgICB2b2lkIHNldFNlc3Npb25JZGVudGlmaWVyKGNvbnN0IFN0cmluZyYgc2Vz
c2lvbklkZW50aWZpZXIpIHsgbV9zZXNzaW9uSWRlbnRpZmllciA9IHNlc3Npb25JZGVudGlmaWVy
OyB9CisgICAgU3RyaW5nIHNlc3Npb25JZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9zZXNz
aW9uSWRlbnRpZmllcjsgfQorCisjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCisgICAgLy8g
SW5zcGVjdG9yOjpSZW1vdGVBdXRvbWF0aW9uVGFyZ2V0IEFQSQorICAgIHZpcnR1YWwgU3RyaW5n
IG5hbWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX3Nlc3Npb25JZGVudGlmaWVyOyB9Cisg
ICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoTWVzc2FnZUZyb21SZW1vdGUoY29uc3QgU3RyaW5nJiBt
ZXNzYWdlKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgY29ubmVjdChJbnNwZWN0b3I6OkZy
b250ZW5kQ2hhbm5lbCosIGJvb2wgaXNBdXRvbWF0aWNDb25uZWN0aW9uID0gZmFsc2UpIG92ZXJy
aWRlOworICAgIHZpcnR1YWwgdm9pZCBkaXNjb25uZWN0KEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFu
bmVsKikgb3ZlcnJpZGU7CisjZW5kaWYKKworcHJpdmF0ZToKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8
QVBJOjpBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudD4gbV9jbGllbnQ7CisgICAgU3RyaW5nIG1fc2Vz
c2lvbklkZW50aWZpZXIgeyBBU0NJSUxpdGVyYWwoIlVudGl0bGVkIFNlc3Npb24iKSB9OworICAg
IFJlZjxJbnNwZWN0b3I6OkZyb250ZW5kUm91dGVyPiBtX2Zyb250ZW5kUm91dGVyOworICAgIFJl
ZjxJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyPiBtX2JhY2tlbmREaXNwYXRjaGVyOworCisj
aWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCisgICAgSW5zcGVjdG9yOjpGcm9udGVuZENoYW5u
ZWwqIG1fcmVtb3RlQ2hhbm5lbCB7IG51bGxwdHIgfTsKKyNlbmRpZgorfTsKKworfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBXZWJBdXRvbWF0aW9uU2Vzc2lvbl9oCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQXV0b21hdGlvblNlc3Npb24uY3BwIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkF1dG9tYXRpb25TZXNzaW9uLmNwcApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjc1ZDI2YmVjYWQ5NjllMWQ5YTg4ZWNmNjFjN2UwZTMw
ZmYzOTIyMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQXV0b21hdGlvblNlc3Npb24uY3BwCisrKyAvZGV2
L251bGwKQEAgLTEsNzkgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
LSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwot
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIK
LSNpbmNsdWRlICJXZWJBdXRvbWF0aW9uU2Vzc2lvbi5oIgotCi0jaW5jbHVkZSAiQVBJQXV0b21h
dGlvblNlc3Npb25DbGllbnQuaCIKLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLVdlYkF1dG9tYXRp
b25TZXNzaW9uOjpXZWJBdXRvbWF0aW9uU2Vzc2lvbigpCi0gICAgOiBtX2NsaWVudChzdGQ6Om1h
a2VfdW5pcXVlPEFQSTo6QXV0b21hdGlvblNlc3Npb25DbGllbnQ+KCkpCi17Ci19Ci0KLVdlYkF1
dG9tYXRpb25TZXNzaW9uOjp+V2ViQXV0b21hdGlvblNlc3Npb24oKQotewotICAgIEFTU0VSVCgh
bV9jbGllbnQpOwotfQotCi12b2lkIFdlYkF1dG9tYXRpb25TZXNzaW9uOjpzZXRDbGllbnQoc3Rk
Ojp1bmlxdWVfcHRyPEFQSTo6QXV0b21hdGlvblNlc3Npb25DbGllbnQ+IGNsaWVudCkKLXsKLSAg
ICBtX2NsaWVudCA9IFdURk1vdmUoY2xpZW50KTsKLX0KLQotLy8gTk9URTogdGhpcyBjbGFzcyBj
b3VsZCBiZSBzcGxpdCBhdCBzb21lIHBvaW50IHRvIHN1cHBvcnQgbG9jYWwgYW5kIHJlbW90ZSBh
dXRvbWF0aW9uIHNlc3Npb25zLgotLy8gRm9yIG5vdywgaXQgb25seSB3b3JrcyB3aXRoIGEgcmVt
b3RlIGF1dG9tYXRpb24gZHJpdmVyIG92ZXIgYSBSZW1vdGVJbnNwZWN0b3IgY29ubmVjdGlvbi4K
LQotI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQotCi0vLyBJbnNwZWN0b3I6OlJlbW90ZUF1
dG9tYXRpb25UYXJnZXQgQVBJCi0KLXZvaWQgV2ViQXV0b21hdGlvblNlc3Npb246OmRpc3BhdGNo
TWVzc2FnZUZyb21SZW1vdGUoY29uc3QgU3RyaW5nJikKLXsKLSAgICAvLyBGSVhNRTogdG8gYmUg
aW1wbGVtZW50ZWQuCi19Ci0KLXZvaWQgV2ViQXV0b21hdGlvblNlc3Npb246OmNvbm5lY3QoSW5z
cGVjdG9yOjpGcm9udGVuZENoYW5uZWwqIGNoYW5uZWwsIGJvb2wgaXNBdXRvbWF0aWNDb25uZWN0
aW9uKQotewotICAgIFVOVVNFRF9QQVJBTShpc0F1dG9tYXRpY0Nvbm5lY3Rpb24pOwotCi0gICAg
bV9yZW1vdGVDaGFubmVsID0gY2hhbm5lbDsKLSAgICBzZXRJc1BhaXJlZCh0cnVlKTsKLX0KLQot
dm9pZCBXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6ZGlzY29ubmVjdChJbnNwZWN0b3I6OkZyb250ZW5k
Q2hhbm5lbCogY2hhbm5lbCkKLXsKLSAgICBtX3JlbW90ZUNoYW5uZWwgPSBudWxscHRyOwotICAg
IHNldElzUGFpcmVkKGZhbHNlKTsKLSAgICAKLSAgICBpZiAobV9jbGllbnQpCi0gICAgICAgIG1f
Y2xpZW50LT5kaWREaXNjb25uZWN0RnJvbVJlbW90ZSh0aGlzKTsKLX0KLQotI2VuZGlmIC8vIEVO
QUJMRShSRU1PVEVfSU5TUEVDVE9SKQotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5oIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkF1dG9tYXRpb25TZXNzaW9uLmgKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDg4MzVlZmQ2YzhlMzEyZTlkODE5OTY0ZTM2MzE5MTg4MDY2ZmI3
YzguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYkF1dG9tYXRpb25TZXNzaW9uLmgKKysrIC9kZXYvbnVsbApA
QCAtMSw3NyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJl
IG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBXZWJBdXRvbWF0aW9uU2Vzc2lv
bl9oCi0jZGVmaW5lIFdlYkF1dG9tYXRpb25TZXNzaW9uX2gKLQotI2luY2x1ZGUgIkFQSU9iamVj
dC5oIgotI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0KLSNpZiBFTkFCTEUoUkVNT1RFX0lOU1BF
Q1RPUikKLSNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9SZW1vdGVBdXRvbWF0aW9uVGFyZ2V0Lmg+
Ci0jZW5kaWYKLQotbmFtZXNwYWNlIEFQSSB7Ci1jbGFzcyBBdXRvbWF0aW9uU2Vzc2lvbkNsaWVu
dDsKLX0KLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLWNsYXNzIFdlYkF1dG9tYXRpb25TZXNzaW9u
Q2xpZW50OwotCi1jbGFzcyBXZWJBdXRvbWF0aW9uU2Vzc2lvbiBmaW5hbCA6IHB1YmxpYyBBUEk6
Ok9iamVjdEltcGw8QVBJOjpPYmplY3Q6OlR5cGU6OkF1dG9tYXRpb25TZXNzaW9uPgotI2lmIEVO
QUJMRShSRU1PVEVfSU5TUEVDVE9SKQotICAgICwgcHVibGljIEluc3BlY3Rvcjo6UmVtb3RlQXV0
b21hdGlvblRhcmdldAotI2VuZGlmCi17Ci1wdWJsaWM6Ci0gICAgV2ViQXV0b21hdGlvblNlc3Np
b24oKTsKLSAgICB+V2ViQXV0b21hdGlvblNlc3Npb24oKTsKLQotICAgIHZvaWQgc2V0Q2xpZW50
KHN0ZDo6dW5pcXVlX3B0cjxBUEk6OkF1dG9tYXRpb25TZXNzaW9uQ2xpZW50Pik7Ci0KLSAgICB2
b2lkIHNldFNlc3Npb25JZGVudGlmaWVyKGNvbnN0IFN0cmluZyYgc2Vzc2lvbklkZW50aWZpZXIp
IHsgbV9zZXNzaW9uSWRlbnRpZmllciA9IHNlc3Npb25JZGVudGlmaWVyOyB9Ci0gICAgU3RyaW5n
IHNlc3Npb25JZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9zZXNzaW9uSWRlbnRpZmllcjsg
fQotCi0jaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCi0gICAgLy8gSW5zcGVjdG9yOjpSZW1v
dGVBdXRvbWF0aW9uVGFyZ2V0IEFQSQotICAgIHZpcnR1YWwgU3RyaW5nIG5hbWUoKSBjb25zdCBv
dmVycmlkZSB7IHJldHVybiBtX3Nlc3Npb25JZGVudGlmaWVyOyB9Ci0gICAgdmlydHVhbCB2b2lk
IGRpc3BhdGNoTWVzc2FnZUZyb21SZW1vdGUoY29uc3QgU3RyaW5nJiBtZXNzYWdlKSBvdmVycmlk
ZTsKLSAgICB2aXJ0dWFsIHZvaWQgY29ubmVjdChJbnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCos
IGJvb2wgaXNBdXRvbWF0aWNDb25uZWN0aW9uID0gZmFsc2UpIG92ZXJyaWRlOwotICAgIHZpcnR1
YWwgdm9pZCBkaXNjb25uZWN0KEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsKikgb3ZlcnJpZGU7
Ci0jZW5kaWYKLQotcHJpdmF0ZToKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8QVBJOjpBdXRvbWF0aW9u
U2Vzc2lvbkNsaWVudD4gbV9jbGllbnQ7Ci0gICAgU3RyaW5nIG1fc2Vzc2lvbklkZW50aWZpZXIg
eyBBU0NJSUxpdGVyYWwoIlVudGl0bGVkIFNlc3Npb24iKSB9OwotCi0jaWYgRU5BQkxFKFJFTU9U
RV9JTlNQRUNUT1IpCi0gICAgSW5zcGVjdG9yOjpGcm9udGVuZENoYW5uZWwqIG1fcmVtb3RlQ2hh
bm5lbCB7IG51bGxwdHIgfTsKLSNlbmRpZgotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0Ci0K
LSNlbmRpZiAvLyBXZWJBdXRvbWF0aW9uU2Vzc2lvbl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZjY1OWI3MTYxNmQxMWU5NTdi
NTE5ZjkyMzI3YTcyYmYyMDgwYzQ4My4uZGNiODEyOWQ2ZDQ3MzEzOTM5ZmRkMGNhYWJmMGRlZGU1
MGEwYmQ3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagpAQCAtMTIzMSw5ICsxMjMxLDE0IEBACiAJCTk5MEQyOEIyMUM2NTIwOTQwMDk4
Njk3NyAvKiBfV0tBdXRvbWF0aW9uU2Vzc2lvbi5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk5MEQyOEFEMUM2NTE5MDQwMDk4Njk3NyAvKiBfV0tBdXRv
bWF0aW9uU2Vzc2lvbi5tbSAqLzsgfTsKIAkJOTkwRDI4QkIxQzY1MzlEMzAwOTg2OTc3IC8qIEF1
dG9tYXRpb25TZXNzaW9uQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5OTBEMjhCNzFDNjUzOUEwMDA5ODY5NzcgLyogQXV0b21hdGlvblNlc3Np
b25DbGllbnQuaCAqLzsgfTsKIAkJOTkwRDI4QkMxQzY1MzlEQTAwOTg2OTc3IC8qIEF1dG9tYXRp
b25TZXNzaW9uQ2xpZW50Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gOTkwRDI4QjgxQzY1MzlBMDAwOTg2OTc3IC8qIEF1dG9tYXRpb25TZXNzaW9uQ2xp
ZW50Lm1tICovOyB9OwotCQk5OTBEMjhCRjFDNjU0RDM5MDA5ODY5NzcgLyogV2ViQXV0b21hdGlv
blNlc3Npb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gOTkwRDI4QkQxQzY1NDkwQTAwOTg2OTc3IC8qIFdlYkF1dG9tYXRpb25TZXNzaW9uLmNwcCAq
LzsgfTsKIAkJOTkwRDI4QzAxQzY1NTNGMTAwOTg2OTc3IC8qIEFQSUF1dG9tYXRpb25TZXNzaW9u
Q2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5
OTBEMjhCMzFDNjUyNkQ0MDA5ODY5NzcgLyogQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaCAq
LzsgfTsKLQkJOTkwRDI4QzExQzY1NjI2NTAwOTg2OTc3IC8qIFdlYkF1dG9tYXRpb25TZXNzaW9u
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5OTBEMjhC
NTFDNjUyNkY1MDA5ODY5NzcgLyogV2ViQXV0b21hdGlvblNlc3Npb24uaCAqLzsgfTsKKwkJOTk1
NUE2RUMxQzc5ODBDMjAwRUI2QTkzIC8qIFdlYkF1dG9tYXRpb25TZXNzaW9uLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5OTU1QTZFQjFDNzk4MEJCMDBF
QjZBOTMgLyogV2ViQXV0b21hdGlvblNlc3Npb24uaCAqLzsgfTsKKwkJOTk1NUE2RUQxQzc5ODBD
QTAwRUI2QTkzIC8qIFdlYkF1dG9tYXRpb25TZXNzaW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk5NTVBNkVBMUM3OTgwQkIwMEVCNkE5MyAvKiBX
ZWJBdXRvbWF0aW9uU2Vzc2lvbi5jcHAgKi87IH07CisJCTk5NTVBNkVGMUM3OTgxMDgwMEVCNkE5
MyAvKiBBdXRvbWF0aW9uLmpzb24gaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA5OTU1QTZFOTFDNzk4MEJCMDBFQjZBOTMgLyogQXV0b21hdGlvbi5qc29uICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTk5NTVBNkY0
MUM3OTg2REMwMEVCNkE5MyAvKiBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTk1NUE2RjAxQzc5ODY2
NDAwRUI2QTkzIC8qIEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5jcHAgKi87IH07CisJCTk5
NTVBNkY1MUM3OTg2RTAwMEVCNkE5MyAvKiBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk5NTVBNkYxMUM3
OTg2NjQwMEVCNkE5MyAvKiBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuaCAqLzsgfTsKKwkJ
OTk1NUE2RjYxQzc5ODZFMzAwRUI2QTkzIC8qIEluc3BlY3RvclByb3RvY29sT2JqZWN0cy5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5OTU1QTZGMjFD
Nzk4NjY0MDBFQjZBOTMgLyogSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzLmNwcCAqLzsgfTsKKwkJ
OTk1NUE2RjcxQzc5ODZFNTAwRUI2QTkzIC8qIEluc3BlY3RvclByb3RvY29sT2JqZWN0cy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTk1NUE2RjMxQzc5
ODY2NDAwRUI2QTkzIC8qIEluc3BlY3RvclByb3RvY29sT2JqZWN0cy5oICovOyB9OwogCQk5OUM4
MUQ1OTFDMjBFMUU1MDA1QzRDODIgLyogQXV0b21hdGlvbkNsaWVudC5tbSBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk5QzgxRDU2MUMyMERGQkUwMDVDNEM4
MiAvKiBBdXRvbWF0aW9uQ2xpZW50Lm1tICovOyB9OwogCQk5OUM4MUQ1QTFDMjBFN0UyMDA1QzRD
ODIgLyogQXV0b21hdGlvbkNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOTlDODFENTUxQzIwREZCRTAwNUM0QzgyIC8qIEF1dG9tYXRpb25DbGll
bnQuaCAqLzsgfTsKIAkJOTlDODFENUQxQzIxRjM4QjAwNUM0QzgyIC8qIEFQSUF1dG9tYXRpb25D
bGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk5
QzgxRDVCMUMyMEU4MTcwMDVDNEM4MiAvKiBBUElBdXRvbWF0aW9uQ2xpZW50LmggKi87IH07CkBA
IC0zMjU2LDEwICszMjYxLDE1IEBACiAJCTk5MEQyOEFEMUM2NTE5MDQwMDk4Njk3NyAvKiBfV0tB
dXRvbWF0aW9uU2Vzc2lvbi5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0
aCA9IF9XS0F1dG9tYXRpb25TZXNzaW9uLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk5OTBEMjhBRjFDNjUyMDM5MDA5ODY5NzcgLyogX1dLQXV0b21hdGlvblNlc3Npb25JbnRlcm5h
bC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBfV0tBdXRvbWF0aW9uU2Vzc2lv
bkludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk5MEQyOEIzMUM2NTI2
RDQwMDk4Njk3NyAvKiBBUElBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBBUElBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwotCQk5OTBEMjhCNTFDNjUyNkY1MDA5ODY5NzcgLyogV2ViQXV0
b21hdGlvblNlc3Npb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQXV0
b21hdGlvblNlc3Npb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTkwRDI4Qjcx
QzY1MzlBMDAwOTg2OTc3IC8qIEF1dG9tYXRpb25TZXNzaW9uQ2xpZW50LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEF1dG9tYXRpb25TZXNzaW9uQ2xpZW50Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk5MEQyOEI4MUM2NTM5QTAwMDk4Njk3NyAvKiBBdXRvbWF0
aW9uU2Vzc2lvbkNsaWVudC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0
aCA9IEF1dG9tYXRpb25TZXNzaW9uQ2xpZW50Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwotCQk5OTBEMjhCRDFDNjU0OTBBMDA5ODY5NzcgLyogV2ViQXV0b21hdGlvblNlc3Npb24uY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViQXV0b21hdGlvblNlc3Np
b24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5OTU1QTZFOTFDNzk4MEJCMDBF
QjZBOTMgLyogQXV0b21hdGlvbi5qc29uICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5qc29uOyBwYXRoID0gQXV0
b21hdGlvbi5qc29uOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5OTU1QTZFQTFDNzk4
MEJCMDBFQjZBOTMgLyogV2ViQXV0b21hdGlvblNlc3Npb24uY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gV2ViQXV0b21hdGlvblNlc3Npb24uY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk5OTU1QTZFQjFDNzk4MEJCMDBFQjZBOTMgLyogV2ViQXV0b21h
dGlvblNlc3Npb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQXV0b21h
dGlvblNlc3Npb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTk1NUE2RjAxQzc5
ODY2NDAwRUI2QTkzIC8qIEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5OTU1QTZGMTFDNzk4NjY0MDBFQjZB
OTMgLyogSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk5OTU1QTZGMjFDNzk4NjY0MDBFQjZBOTMgLyogSW5zcGVjdG9yUHJv
dG9jb2xPYmplY3RzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IElu
c3BlY3RvclByb3RvY29sT2JqZWN0cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTk5NTVBNkYzMUM3OTg2NjQwMEVCNkE5MyAvKiBJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVjdG9yUHJvdG9jb2xPYmplY3Rz
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk5QzgxRDU1MUMyMERGQkUwMDVDNEM4
MiAvKiBBdXRvbWF0aW9uQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEF1dG9tYXRpb25DbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTlDODFE
NTYxQzIwREZCRTAwNUM0QzgyIC8qIEF1dG9tYXRpb25DbGllbnQubW0gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBBdXRvbWF0aW9uQ2xpZW50Lm1tOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk5OUM4MUQ1QjFDMjBFODE3MDA1QzRDODIgLyogQVBJQXV0b21h
dGlvbkNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBUElBdXRvbWF0
aW9uQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC01NjExLDYgKzU2MjEs
MTYgQEAKIAkJCXBhdGggPSBtYWM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9Owor
CQk5OTU1QTZFODFDNzk4MDkwMDBFQjZBOTMgLyogQXV0b21hdGlvbiAqLyA9IHsKKwkJCWlzYSA9
IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJOTk1NUE2RTkxQzc5ODBCQjAwRUI2QTkz
IC8qIEF1dG9tYXRpb24uanNvbiAqLywKKwkJCQk5OTU1QTZFQTFDNzk4MEJCMDBFQjZBOTMgLyog
V2ViQXV0b21hdGlvblNlc3Npb24uY3BwICovLAorCQkJCTk5NTVBNkVCMUM3OTgwQkIwMEVCNkE5
MyAvKiBXZWJBdXRvbWF0aW9uU2Vzc2lvbi5oICovLAorCQkJKTsKKwkJCXBhdGggPSBBdXRvbWF0
aW9uOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIAkJQTE4MkQ1QjExQkU2QkNG
NDAwODdBN0NDIC8qIGlvcyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4g
PSAoCkBAIC01ODA1LDYgKzU4MjUsNyBAQAogCQkJY2hpbGRyZW4gPSAoCiAJCQkJQkMwMzJEQzQx
MEY0Mzg3QzAwNThDMTVBIC8qIEFQSSAqLywKIAkJCQk1MTJGNTg4RDEyQTg4MzZGMDA2Mjk1MzAg
LyogQXV0aGVudGljYXRpb24gKi8sCisJCQkJOTk1NUE2RTgxQzc5ODA5MDAwRUI2QTkzIC8qIEF1
dG9tYXRpb24gKi8sCiAJCQkJMUFCQzNERjIxODk5RTQxNTAwNEYwNjI2IC8qIENvY29hICovLAog
CQkJCTFBQjdENEM3MTI4OEFBOUEwMENGRDA4QyAvKiBEb3dubG9hZHMgKi8sCiAJCQkJMkRBOTQ0
QTgxODg0RTlBQjAwRUQ4NkRCIC8qIGlvcyAqLywKQEAgLTU4NTYsOCArNTg3Nyw2IEBACiAJCQkJ
MUEwRjI5RTExMjBCNDQ0MjAwNTNEMUI5IC8qIFZpc2l0ZWRMaW5rU3RvcmUuY3BwICovLAogCQkJ
CTFBMEYyOUUyMTIwQjQ0NDIwMDUzRDFCOSAvKiBWaXNpdGVkTGlua1N0b3JlLmggKi8sCiAJCQkJ
MUE2MDIyNDkxOEMxNkIwODAwQzNFOEM5IC8qIFZpc2l0ZWRMaW5rU3RvcmUubWVzc2FnZXMuaW4g
Ki8sCi0JCQkJOTkwRDI4QkQxQzY1NDkwQTAwOTg2OTc3IC8qIFdlYkF1dG9tYXRpb25TZXNzaW9u
LmNwcCAqLywKLQkJCQk5OTBEMjhCNTFDNjUyNkY1MDA5ODY5NzcgLyogV2ViQXV0b21hdGlvblNl
c3Npb24uaCAqLywKIAkJCQlCQzcyQkExQjExRTY0OTA3MDAxRUI0RUEgLyogV2ViQmFja0Zvcndh
cmRMaXN0LmNwcCAqLywKIAkJCQlCQzcyQkExQzExRTY0OTA3MDAxRUI0RUEgLyogV2ViQmFja0Zv
cndhcmRMaXN0LmggKi8sCiAJCQkJRjAzNjk3ODcxNUY0QkYwNTAwQzNBODBFIC8qIFdlYkNvbG9y
UGlja2VyLmNwcCAqLywKQEAgLTY4MzAsNiArNjg0OSwxMCBAQAogCQkJCTFBNjQyMzA3MTJERDA5
RUIwMENBQUUyQyAvKiBEcmF3aW5nQXJlYVByb3h5TWVzc2FnZXMuaCAqLywKIAkJCQkxQUE1NzVG
RjE0OTZCN0MwMDBBNEVFMDYgLyogRXZlbnREaXNwYXRjaGVyTWVzc2FnZVJlY2VpdmVyLmNwcCAq
LywKIAkJCQkxQUE1NzYwMDE0OTZCN0MwMDBBNEVFMDYgLyogRXZlbnREaXNwYXRjaGVyTWVzc2Fn
ZXMuaCAqLywKKwkJCQk5OTU1QTZGMDFDNzk4NjY0MDBFQjZBOTMgLyogSW5zcGVjdG9yQmFja2Vu
ZERpc3BhdGNoZXJzLmNwcCAqLywKKwkJCQk5OTU1QTZGMTFDNzk4NjY0MDBFQjZBOTMgLyogSW5z
cGVjdG9yQmFja2VuZERpc3BhdGNoZXJzLmggKi8sCisJCQkJOTk1NUE2RjIxQzc5ODY2NDAwRUI2
QTkzIC8qIEluc3BlY3RvclByb3RvY29sT2JqZWN0cy5jcHAgKi8sCisJCQkJOTk1NUE2RjMxQzc5
ODY2NDAwRUI2QTkzIC8qIEluc3BlY3RvclByb3RvY29sT2JqZWN0cy5oICovLAogCQkJCTUxREQ5
RjI2MTYzNjdEQTIwMDE1NzhFOSAvKiBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzc01lc3Nh
Z2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJNTFERDlGMjcxNjM2N0RBMjAwMTU3OEU5IC8qIE5ldHdv
cmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzTWVzc2FnZXMuaCAqLywKIAkJCQk1MTdDRjBFMTE2M0E0
ODZDMDBDMjk1MEUgLyogTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uTWVzc2FnZVJlY2VpdmVyLmNw
cCAqLywKQEAgLTcxNzIsNiArNzE5NSw3IEBACiAJCQkJOTNFNkE0RUUxQkM1REQzOTAwRjhBMEU3
IC8qIF9XS0hpdFRlc3RSZXN1bHQuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzQTg4QjNCMUJDNzEw
RDkwMEFCQTVDMiAvKiBfV0tIaXRUZXN0UmVzdWx0SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAog
CQkJCTM3QTY0RTU1MThGMzhFM0MwMEVCMzBGMSAvKiBfV0tJbnB1dERlbGVnYXRlLmggaW4gSGVh
ZGVycyAqLywKKwkJCQk5OTU1QTZFRjFDNzk4MTA4MDBFQjZBOTMgLyogQXV0b21hdGlvbi5qc29u
IGluIEhlYWRlcnMgKi8sCiAJCQkJMkQ3OTBBOUQxQUQ3MDUwRDAwQUI5MEIzIC8qIF9XS0xheW91
dE1vZGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUExMThBOUYzMTkwOEI4RUEwMEY3QzkyQiAvKiBf
V0tOU0ZpbGVNYW5hZ2VyRXh0cmFzLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzIzNjExRTFCMDE1
REE4MDBGQTkyMzIgLyogX1dLT3ZlcmxheVNjcm9sbGJhclN0eWxlLmggaW4gSGVhZGVycyAqLywK
QEAgLTczNTIsMTIgKzczNzYsMTIgQEAKIAkJCQlFMUVFNTNFMzExRjhDRkMwMDBDQ0JFRTQgLyog
SW5qZWN0ZWRCdW5kbGVQYWdlRWRpdG9yQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzE0
RTEwQTEyMEI5MDVFMDA4MjZDMEMgLyogSW5qZWN0ZWRCdW5kbGVQYWdlRm9ybUNsaWVudC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNTEwNTIzODIxQzc1NDFGRjAwNzk5M0NCIC8qIExlZ2FjeVVuaXF1
ZUlEQkRhdGFiYXNlSWRlbnRpZmllci5oIGluIEhlYWRlcnMgKi8sCi0JCQkJOTkwRDI4QzExQzY1
NjI2NTAwOTg2OTc3IC8qIFdlYkF1dG9tYXRpb25TZXNzaW9uLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlDRDVDNjZBMTEzNEI5RDM4MDA0RkUyQTggLyogSW5qZWN0ZWRCdW5kbGVQYWdlRnVsbFNjcmVl
bkNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNBOEM2QTkxMUUzQkE1RjAwODEyRkI3IC8q
IEluamVjdGVkQnVuZGxlUGFnZUxvYWRlckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTEw
NTIzODAxQzc1NDFGRjAwNzk5M0NCIC8qIExlZ2FjeVVuaXF1ZUlEQkRhdGFiYXNlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlCQzgxNDdBOTEyRjY0Q0RBMDA3QjJDMzIgLyogSW5qZWN0ZWRCdW5kbGVQ
YWdlUG9saWN5Q2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0E4QzZCMDExRTNDMDg3MDA4
MTJGQjcgLyogSW5qZWN0ZWRCdW5kbGVQYWdlVUlDbGllbnQuaCBpbiBIZWFkZXJzICovLAorCQkJ
CTk5NTVBNkY3MUM3OTg2RTUwMEVCNkE5MyAvKiBJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuaCBp
biBIZWFkZXJzICovLAogCQkJCUJDMzNFMEQxMTI0MDhFODYwMDM2MEYzRiAvKiBJbmplY3RlZEJ1
bmRsZVJhbmdlSGFuZGxlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzE0REY3NzEyMEI1Qjc5MDA4
MjZDMEMgLyogSW5qZWN0ZWRCdW5kbGVTY3JpcHRXb3JsZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QzU4Q0RGMkExODg3NTQ4QjAwODcxNTM2IC8qIEludGVyYWN0aW9uSW5mb3JtYXRpb25BdFBvc2l0
aW9uLmggaW4gSGVhZGVycyAqLywKQEAgLTc0MjIsNiArNzQ0Niw3IEBACiAJCQkJRTE0QTk1NEEx
NkUwMTZBNDAwNjhERTgyIC8qIE5ldHdvcmtQcm9jZXNzUGxhdGZvcm1TdHJhdGVnaWVzLmggaW4g
SGVhZGVycyAqLywKIAkJCQk1MTc5NTU2RTE2Mjg3N0IzMDBGQTQzQjYgLyogTmV0d29ya1Byb2Nl
c3NQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTEzQTE2M0QxNjMwODhGNjAwNUQ3RDIyIC8q
IE5ldHdvcmtQcm9jZXNzUHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTk1NUE2
RjUxQzc5ODZFMDAwRUI2QTkzIC8qIEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNTFGRDE4QjYxNjUxRkJBRDAwREJFMUNFIC8qIE5ldHdvcmtSZXNvdXJj
ZUxvYWRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTE1MjU1MUIxNzAxMTgxOTAwM0Q3QURCIC8q
IE5ldHdvcmtSZXNvdXJjZUxvYWRlck1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1QzIw
Q0JBMDFCQjFFQ0Q4MDA4OTVCQjEgLyogTmV0d29ya1Nlc3Npb24uaCBpbiBIZWFkZXJzICovLApA
QCAtNzUyNCw2ICs3NTQ5LDcgQEAKIAkJCQkxQTAwMkQ0OTE5NkIzNDVEMDBCOUFENDQgLyogU2Vz
c2lvblN0YXRlQ29kaW5nLmggaW4gSGVhZGVycyAqLywKIAkJCQk3NTNFM0UwRTE4ODczOTg5MDAx
ODg0OTYgLyogU2Vzc2lvblRyYWNrZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTk5QzgxRDVBMUMy
MEU3RTIwMDVDNEM4MiAvKiBBdXRvbWF0aW9uQ2xpZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQk5
OTU1QTZFQzFDNzk4MEMyMDBFQjZBOTMgLyogV2ViQXV0b21hdGlvblNlc3Npb24uaCBpbiBIZWFk
ZXJzICovLAogCQkJCTFBNjQyMEU1MTJEQ0UyRkYwMENBQUUyQyAvKiBTaGFyZWFibGVCaXRtYXAu
aCBpbiBIZWFkZXJzICovLAogCQkJCTUxMjE3NDYxMTY0QzIwRTMwMDM3QTVDMSAvKiBTaGFyZWFi
bGVSZXNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUEyNEJFRDUxMjA4OTREMTAwRkJCMDU5
IC8qIFNoYXJlZE1lbW9yeS5oIGluIEhlYWRlcnMgKi8sCkBAIC04NjEzLDcgKzg2MzksNyBAQAog
CQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQkJc2hl
bGxQYXRoID0gL2Jpbi9zaDsKLQkJCXNoZWxsU2NyaXB0ID0gIm1rZGlyIC1wIFwiJHtCVUlMVF9Q
Uk9EVUNUU19ESVJ9L0Rlcml2ZWRTb3VyY2VzL1dlYktpdDJcIlxuY2QgXCIke0JVSUxUX1BST0RV
Q1RTX0RJUn0vRGVyaXZlZFNvdXJjZXMvV2ViS2l0MlwiXG5cbmV4cG9ydCBXZWJLaXQyPVwiJHtT
UkNST09UfVwiXG5cbmlmIFsgISAkQ0MgXTsgdGhlblxuICAgIGV4cG9ydCBDQz1cImB4Y3J1biAt
ZmluZCBjbGFuZ2BcIlxuZmlcblxuTUFLRUZJTEVfSU5DTFVERV9GTEFHUz0kKGVjaG8gXCIke1dF
QktJVEFERElUSU9OU19IRUFERVJfU0VBUkNIX1BBVEhTfVwiIHwgcGVybCAtZSAncHJpbnQgXCIt
SVwiIC4gam9pbihcIiAtSVwiLCBzcGxpdChcIiBcIiwgPD4pKTsnKVxuXG5pZiBbIFwiJHtBQ1RJ
T059XCIgPSBcImJ1aWxkXCIgLW8gXCIke0FDVElPTn1cIiA9IFwiaW5zdGFsbFwiIC1vIFwiJHtB
Q1RJT059XCIgPSBcImluc3RhbGxoZHJzXCIgXTsgdGhlblxuICAgIG1ha2UgLS1uby1idWlsdGlu
LXJ1bGVzICR7TUFLRUZJTEVfSU5DTFVERV9GTEFHU30gLWYgXCIke1dlYktpdDJ9L0Rlcml2ZWRT
b3VyY2VzLm1ha2VcIiAtaiBgL3Vzci9zYmluL3N5c2N0bCAtbiBody5hY3RpdmVjcHVgIFNES1JP
T1Q9JHtTREtST09UfVxuZmlcbiI7CisJCQlzaGVsbFNjcmlwdCA9ICJta2RpciAtcCBcIiR7QlVJ
TFRfUFJPRFVDVFNfRElSfS9EZXJpdmVkU291cmNlcy9XZWJLaXQyXCJcbmNkIFwiJHtCVUlMVF9Q
Uk9EVUNUU19ESVJ9L0Rlcml2ZWRTb3VyY2VzL1dlYktpdDJcIlxuXG5leHBvcnQgV2ViS2l0Mj1c
IiR7U1JDUk9PVH1cIlxuXG4vYmluL2xuIC1zZmggXCIke0pBVkFTQ1JJUFRDT1JFX1BSSVZBVEVf
SEVBREVSU19ESVJ9XCIgSmF2YVNjcmlwdENvcmVQcml2YXRlSGVhZGVyc1xuZXhwb3J0IEphdmFT
Y3JpcHRDb3JlX1NDUklQVFNfRElSPVwiSmF2YVNjcmlwdENvcmVQcml2YXRlSGVhZGVyc1wiXG5c
bmlmIFsgISAkQ0MgXTsgdGhlblxuICAgIGV4cG9ydCBDQz1cImB4Y3J1biAtZmluZCBjbGFuZ2Bc
IlxuZmlcblxuTUFLRUZJTEVfSU5DTFVERV9GTEFHUz0kKGVjaG8gXCIke1dFQktJVEFERElUSU9O
U19IRUFERVJfU0VBUkNIX1BBVEhTfVwiIHwgcGVybCAtZSAncHJpbnQgXCItSVwiIC4gam9pbihc
IiAtSVwiLCBzcGxpdChcIiBcIiwgPD4pKTsnKVxuXG5pZiBbIFwiJHtBQ1RJT059XCIgPSBcImJ1
aWxkXCIgLW8gXCIke0FDVElPTn1cIiA9IFwiaW5zdGFsbFwiIC1vIFwiJHtBQ1RJT059XCIgPSBc
Imluc3RhbGxoZHJzXCIgXTsgdGhlblxuICAgIG1ha2UgLS1uby1idWlsdGluLXJ1bGVzICR7TUFL
RUZJTEVfSU5DTFVERV9GTEFHU30gLWYgXCIke1dlYktpdDJ9L0Rlcml2ZWRTb3VyY2VzLm1ha2Vc
IiAtaiBgL3Vzci9zYmluL3N5c2N0bCAtbiBody5hY3RpdmVjcHVgIFNES1JPT1Q9JHtTREtST09U
fVxuZmlcbiI7CiAJCX07CiAvKiBFbmQgUEJYU2hlbGxTY3JpcHRCdWlsZFBoYXNlIHNlY3Rpb24g
Ki8KIApAQCAtODY0OCw2ICs4Njc0LDcgQEAKIAkJCWZpbGVzID0gKAogCQkJCTM3QTVFMDEzMThC
QkY5MzcwMDBBMDgxRSAvKiBfV0tBY3RpdmF0ZWRFbGVtZW50SW5mby5tbSBpbiBTb3VyY2VzICov
LAogCQkJCTFBNTcwNEY3MUJFMDFGRjQwMDg3NEFGMSAvKiBfV0tDb250ZXh0TWVudUVsZW1lbnRJ
bmZvLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJOTk1NUE2RjQxQzc5ODZEQzAwRUI2QTkzIC8qIElu
c3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBMUE0RkU1
QjE4RENFOUZBMDBCNUVBOEEgLyogX1dLRG93bmxvYWQubW0gaW4gU291cmNlcyAqLywKIAkJCQkz
NzlBODczOTE4QkJGRTBGMDA1ODhBRjIgLyogX1dLRWxlbWVudEFjdGlvbi5tbSBpbiBTb3VyY2Vz
ICovLAogCQkJCTFBNTcwNEYxMUJFMDE3M0YwMDg3NEFGMSAvKiBfV0tFbGVtZW50SW5mby5tbSBp
biBTb3VyY2VzICovLApAQCAtOTAyMiw2ICs5MDQ5LDcgQEAKIAkJCQkxQUMxMzM2NzE4NTY1QjU3
MDBGM0VDMDUgLyogVXNlckRhdGEuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTU3MzlCQkMxQjQy
MDQwMzAwRDI1OEMxIC8qIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk0QTNDQzE4QTE5QjA2M0U3MDBEMTRBRUYgLyogVXNlck1lZGlhUGVy
bWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJOTk1NUE2
RUQxQzc5ODBDQTAwRUI2QTkzIC8qIFdlYkF1dG9tYXRpb25TZXNzaW9uLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTRBM0NDMThDMTlCMDY0MTUwMEQxNEFFRiAvKiBVc2VyTWVkaWFQZXJtaXNzaW9u
UmVxdWVzdFByb3h5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUU0RTg2NDkyMUIxNjc1MDEwMEM4
MkY0MCAvKiBWZXJzaW9uQ2hlY2tzLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMkRBRjRGRkIxQjYz
NjE4MTAwNjAxM0Q2IC8qIFZpZXdHZXN0dXJlQ29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLywK
QEAgLTkxNTYsNiArOTE4NCw3IEBACiAJCQkJQkM4NTdGQjYxMkI4MzBFNjAwRURFQjJFIC8qIFdl
Yk9wZW5QYW5lbFBhcmFtZXRlcnMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM4NTdGODYxMkI4
MkQwQjAwRURFQjJFIC8qIFdlYk9wZW5QYW5lbFJlc3VsdExpc3RlbmVyLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUJDODU3RjdFMTJCODJDRUUwMEVERUIyRSAvKiBXZWJPcGVuUGFuZWxSZXN1bHRM
aXN0ZW5lclByb3h5LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTk5NTVBNkY2MUM3OTg2RTMwMEVC
NkE5MyAvKiBJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QkM5NjNENkIxMTNERDE5MjAwNTc0QkUyIC8qIFdlYlBhZ2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQzA2QzYwOTUxMjRDMTQ0QjAwMDE2ODJGIC8qIFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJODM3MkRCMjgxQTY3NTYyODAwQzY5N0M1IC8qIFdlYlBh
Z2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTkzNDIsNyAr
OTM3MSw2IEBACiAJCQkJQzk4QzQ4QTkxQjZGRDVCNTAwMTQ1MTAzIC8qIFdLTWVkaWFTZXNzaW9u
Rm9jdXNNYW5hZ2VyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUM5Q0Q0MzlFMUI0QjAyNTMwMDIz
OUUzMyAvKiBXS01lZGlhU2Vzc2lvbk1ldGFkYXRhLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJD
NDA3NUZEMTI0RkYwMjcwMDY4RjIwQSAvKiBXS011dGFibGVBcnJheS5jcHAgaW4gU291cmNlcyAq
LywKLQkJCQk5OTBEMjhCRjFDNjU0RDM5MDA5ODY5NzcgLyogV2ViQXV0b21hdGlvblNlc3Npb24u
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM0MDc1RkYxMjRGRjAyNzAwNjhGMjBBIC8qIFdLTXV0
YWJsZURpY3Rpb25hcnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE1QjFDNTAxODk4NjA2RjAw
NEZDRjlCIC8qIFdLTmF2aWdhdGlvbi5tbSBpbiBTb3VyY2VzICovLAogCQkJCTFBMjU2RTM3MThB
MUE3ODgwMDZGQjkyMiAvKiBXS05hdmlnYXRpb25BY3Rpb24ubW0gaW4gU291cmNlcyAqLywK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>271891</attachid>
            <date>2016-02-21 16:19:59 -0800</date>
            <delta_ts>2016-02-22 13:16:07 -0800</delta_ts>
            <desc>CMake try #2</desc>
            <filename>bug-154509-20160221161940.patch</filename>
            <type>text/plain</type>
            <size>48024</size>
            <attacher name="Blaze Burg">bburg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk2ODgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
NTEyODI4MDdkMmM4OTg4ZjcyMTdjZDJmYjRjZjc1NTU4MzgyZDIxLi45ZWM1OWY3NDIwMDdjNzhk
MzgwNDQzYjhmNmMyZDg0MjkxYzBiZjIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwzMSBAQAogMjAxNi0wMi0yMSAgQnJpYW4gQnVyZyAgPGJidXJnQGFwcGxlLmNvbT4KIAor
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBhZGQgJ0F1dG9tYXRpb24nIHByb3RvY29sIGRvbWFpbiBh
bmQgZ2VuZXJhdGUgaXRzIGJhY2tlbmQgY2xhc3NlcyBzZXBhcmF0ZWx5IGluIFdlYktpdDIKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NDUwOQorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vMjQ3NTkwOTg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVGlt
b3RoeSBIYXRjaGVyLgorCisgICAgICAgIEFkZCBhIG5ldyAnV2ViS2l0JyBmcmFtZXdvcmssIHdo
aWNoIGlzIHVzZWQgdG8gZ2VuZXJhdGUgcHJvdG9jb2wgY29kZQorICAgICAgICBpbiBXZWJLaXQy
LgorCisgICAgICAgIEFkZCAtLWJhY2tlbmQgYW5kIC0tZnJvbnRlbmQgZmxhZ3MgdG8gdGhlIG1h
aW4gZ2VuZXJhdG9yIHNjcmlwdC4KKyAgICAgICAgVGhlc2UgYWxsb3cgYSBmcmFtZXdvcmsgdG8g
dHJpZ2dlciB0d28gZGlmZmVyZW50IHNldHMgb2YgZ2VuZXJhdG9ycworICAgICAgICBzbyB0aGV5
IGNhbiBiZSBzZXBhcmF0ZWx5IGdlbmVyYXRlZCBhbmQgY29tcGlsZWQuCisKKyAgICAgICAgKiBp
bnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL21vZGVscy5weToKKyAgICAgICAgKEZyYW1ld29yay5m
cm9tU3RyaW5nKToKKyAgICAgICAgKEZyYW1ld29ya3MpOiBBZGQgbmV3IGZyYW1ld29yay4KKwor
ICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC1i
aW5kaW5ncy5weToKKyAgICAgICAgSWYgbmVpdGhlciAtLWJhY2tlbmQgb3IgLS1mcm9udGVuZCBp
cyBzcGVjaWZpZWQsIGFzc3VtZSBib3RoIGFyZSB3YW50ZWQuCisgICAgICAgIFRoaXMgbWF0Y2hl
cyB0aGUgYmVoYXZpb3IgZm9yIEphdmFTY3JpcHRDb3JlIGFuZCBXZWJJbnNwZWN0b3IgZnJhbWV3
b3Jrcy4KKworICAgICAgICAoZ2VuZXJhdGVfZnJvbV9zcGVjaWZpY2F0aW9uKToKKyAgICAgICAg
R2VuZXJhdGUgQysrIGZpbGVzIGZvciB0aGUgYmFja2VuZCBhbmQgT2JqZWN0aXZlLUMgZmlsZXMg
Zm9yIHRoZSBmcm9udGVuZC4KKworMjAxNi0wMi0yMSAgQnJpYW4gQnVyZyAgPGJidXJnQGFwcGxl
LmNvbT4KKwogICAgICAgICBXZWIgSW5zcGVjdG9yOiBpdCBzaG91bGQgYmUgcG9zc2libGUgdG8g
b21pdCBnZW5lcmF0ZWQgY29kZSBndWFyZGVkIGJ5IElOU1BFQ1RPUl9BTFRFUk5BVEVfRElTUEFU
Q0hFUlMKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1
NDUwOAogICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjQ3NTkwNzc+CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZjNk
MWVkOTkzZWM1MDM5ZDk3MjVjOTJlMWU4NDEwYWJlYzM1MWEzYy4uZmM5Y2JkOGQ5MzMxNGNjZTYx
YzBmNjlmMzFiNWJkZmI5OTdiN2U4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDE2
LTAyLTIxICBCcmlhbiBCdXJnICA8YmJ1cmdAYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IGFkZCAnQXV0b21hdGlvbicgcHJvdG9jb2wgZG9tYWluIGFuZCBnZW5lcmF0ZSBpdHMg
YmFja2VuZCBjbGFzc2VzIHNlcGFyYXRlbHkgaW4gV2ViS2l0MgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU0NTA5CisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS8yNDc1OTA5OD4KKworICAgICAgICBSZXZpZXdlZCBieSBUaW1vdGh5IEhhdGNoZXIuCisK
KyAgICAgICAgQWRkIGEgbmV3ICdBdXRvbWF0aW9uJyBkb21haW4gd2hpY2ggcHJlc2VudHMgYW4g
UlBDIGludGVyZmFjZQorICAgICAgICBmb3Igc2VuZGluZyBhdXRvbWF0aW9uIGNvbW1hbmRzIHRv
IGFuIGFjdGl2ZSBXZWJBdXRvbWF0aW9uU2Vzc2lvbgorICAgICAgICBpbiB0aGUgVUlQcm9jZXNz
IHZpYSBSZW1vdGVJbnNwZWN0b3IuIFRoaXMgaXMgc2ltaWxhciB0byBob3cgdGhlCisgICAgICAg
IEluc3BlY3RvciBiYWNrZW5kIGNvbW11bmljYXRlcyBiaWRpcmVjdGlvbmFsbHkgd2l0aCBhIHJl
bW90ZQorICAgICAgICBJbnNwZWN0b3IgZnJvbnRlbmQuCisKKyAgICAgICAgQWRkIGJ1aWxkIHN5
c3RlbSBsb2dpYyB0byBnZW5lcmF0ZSBKU09OLVJQQyBwcm90b2NvbCBiaW5kaW5ncworICAgICAg
ICBmb3IgdGhlICdBdXRvbWF0aW9uJyBkb21haW4gdXNpbmcgdGhlIGluc3BlY3RvciBjb2RlIGdl
bmVyYXRvcnMuCisKKyAgICAgICAgTW92ZSBhdXRvbWF0aW9uLXJlbGF0ZWQgZmlsZXMgdGhhdCBh
cmUgbm90IEFQSSBvciBTUEkgaW50byB0aGVpcgorICAgICAgICBvd24gZGlyZWN0b3J5LgorCisg
ICAgICAgICogQ29uZmlndXJhdGlvbnMvQmFzZVRhcmdldC54Y2NvbmZpZzogVGVsbCB3aGVyZSBK
YXZhU2NyaXB0Q29yZSdzCisgICAgICAgIHByaXZhdGUgaGVhZGVycyBhcmUsIHNpbmNlIHRoYXQn
cyB3aGVyZSB0aGUgY29kZSBnZW5lcmF0b3JzIGxpdmUuCisKKyAgICAgICAgKiBDTWFrZUxpc3Rz
LnR4dDogTG9vayBpbiBVSVByb2Nlc3MvQXV0b21hdGlvbiBkaXJlY3RvcnkuCisgICAgICAgICog
UGxhdGZvcm1NYWMuY21ha2U6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZTogR2VuZXJh
dGUgcHJvdG9jb2wgYmluZGluZ3MgZm9yIGEgc2luZ2xlIGRvbWFpbi4KKyAgICAgICAgVGhlIG5h
bWVzIG9mIHRoZSBnZW5lcmF0ZWQgZmlsZXMgd2lsbCBiZSBpbXByb3ZlZCBpbiBhIGZvbGxvdy11
cCBwYXRjaAorICAgICAgICBzbyB0aGF0IHRoZXkgZG8gbm90IGNsYXNoIHdpdGggZ2VuZXJhdGVk
IGZpbGVzIGluIEphdmFTY3JpcHRDb3JlLgorCisgICAgICAgICogVUlQcm9jZXNzL0F1dG9tYXRp
b24vQXV0b21hdGlvbi5qc29uOiBBZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQXV0b21hdGlv
bi9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViQXV0b21hdGlvblNlc3Npb24uY3BwLgorICAgICAgICAoV2ViS2l0OjpXZWJB
dXRvbWF0aW9uU2Vzc2lvbjo6V2ViQXV0b21hdGlvblNlc3Npb24pOgorICAgICAgICAoV2ViS2l0
OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6fldlYkF1dG9tYXRpb25TZXNzaW9uKToKKyAgICAgICAg
U2V0IHVwIGEgYmFja2VuZCBkaXNwYXRjaGVyIGFuZCBmcm9udGVuZCByb3V0ZXIuIFRoZXkgd2ls
bCBiZSB1c2VkIGxhdGVyLgorCisgICAgICAgIChXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9u
OjpkaXNwYXRjaE1lc3NhZ2VGcm9tUmVtb3RlKToKKyAgICAgICAgRm9yd2FyZCBtZXNzYWdlcyBm
cm9tIHRoZSByZW1vdGUgdG8gdGhlIGJhY2tlbmQgZGlzcGF0Y2hlci4gV2hlbgorICAgICAgICBh
biBhZ2VudCAvIGNvbW1hbmQgaGFuZGxlciBpcyByZWdpc3RlcmVkLCBpdCB3aWxsIHJlY2VpdmUg
dGhlIG1lc3NhZ2UuCisKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb246OmNv
bm5lY3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6ZGlzY29ubmVj
dCk6CisgICAgICAgIENvbm5lbmN0IGFuZCBkaXNjb25uZWN0IHRoZSBmcm9udGVuZCByb3V0ZXIg
dG8gdGhlIHJlbW90ZSBjaGFubmVsLgorCisgICAgICAgICogVUlQcm9jZXNzL0F1dG9tYXRpb24v
V2ViQXV0b21hdGlvblNlc3Npb24uaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5oLgorICAgICAgICAqIFdlYktpdDIueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajogQWRkIGFuZCBtb3ZlIGZpbGVzLgorCiAyMDE2LTAyLTIwICBPbGl2
aWVyIEJsaW4gIDxvbGl2aWVyLmJsaW5Ac29mdGF0aG9tZS5jb20+CiAKICAgICAgICAgW2NtYWtl
XSBVc2UgSUNVIGluY2x1ZGUgZGlycyBpbiBXZWJLaXQyIGFuZCBXZWJLaXRUZXN0UnVubmVyCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdl
bi9tb2RlbHMucHkgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29k
ZWdlbi9tb2RlbHMucHkKaW5kZXggZjRmYTQ0ODRlZTE4ZTk2ZDk5ODkxZmU2ZGM4N2FhM2MzOTI4
MDdkMC4uZjA5YjNjZjVhYWRkMzFhZjI3ZjY4Nzg0YzU2YWQxODAzOTIxOWVlYiAxMDA3NTUKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vbW9kZWxz
LnB5CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2Vu
L21vZGVscy5weQpAQCAtNDUsNiArNDUsOCBAQCBfRlJBTUVXT1JLX0NPTkZJR19NQVAgPSB7CiAg
ICAgICAgICJleHBvcnRfbWFjcm8iOiAiSlNfRVhQT1JUX1BSSVZBVEUiLAogICAgICAgICAiYWx0
ZXJuYXRlX2Rpc3BhdGNoZXJzIjogVHJ1ZSwKICAgICB9LAorICAgICJXZWJLaXQiOiB7CisgICAg
fSwKICAgICAiV2ViSW5zcGVjdG9yIjogewogICAgIH0sCiAgICAgIyBVc2VkIGZvciBjb2RlIGdl
bmVyYXRvciB0ZXN0cy4KQEAgLTc4LDYgKzgwLDkgQEAgY2xhc3MgRnJhbWV3b3JrOgogICAgICAg
ICBpZiBmcmFtZXdvcmtTdHJpbmcgPT0gIkphdmFTY3JpcHRDb3JlIjoKICAgICAgICAgICAgIHJl
dHVybiBGcmFtZXdvcmtzLkphdmFTY3JpcHRDb3JlCiAKKyAgICAgICAgaWYgZnJhbWV3b3JrU3Ry
aW5nID09ICJXZWJLaXQiOgorICAgICAgICAgICAgcmV0dXJuIEZyYW1ld29ya3MuV2ViS2l0CisK
ICAgICAgICAgaWYgZnJhbWV3b3JrU3RyaW5nID09ICJXZWJJbnNwZWN0b3IiOgogICAgICAgICAg
ICAgcmV0dXJuIEZyYW1ld29ya3MuV2ViSW5zcGVjdG9yCiAKQEAgLTkwLDYgKzk1LDcgQEAgY2xh
c3MgRnJhbWV3b3JrOgogY2xhc3MgRnJhbWV3b3JrczoKICAgICBHbG9iYWwgPSBGcmFtZXdvcmso
Ikdsb2JhbCIpCiAgICAgSmF2YVNjcmlwdENvcmUgPSBGcmFtZXdvcmsoIkphdmFTY3JpcHRDb3Jl
IikKKyAgICBXZWJLaXQgPSBGcmFtZXdvcmsoIldlYktpdCIpCiAgICAgV2ViSW5zcGVjdG9yID0g
RnJhbWV3b3JrKCJXZWJJbnNwZWN0b3IiKQogICAgIFRlc3QgPSBGcmFtZXdvcmsoIlRlc3QiKQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvZ2Vu
ZXJhdGUtaW5zcGVjdG9yLXByb3RvY29sLWJpbmRpbmdzLnB5IGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9zY3JpcHRzL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC1iaW5kaW5n
cy5weQppbmRleCBlYTEzOTQ1ZjA2ZTU3YjZjY2Q4YzdlMzVkZTUyMGNhNTI3Y2YwOTM0Li5hNTI4
YTlkYjI1YzZjZTA4YTVlNDAxY2I4Mzk0YzhmZmI5Nzg4NWExIDEwMDc1NQotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvZ2VuZXJhdGUtaW5zcGVjdG9yLXByb3Rv
Y29sLWJpbmRpbmdzLnB5CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2Ny
aXB0cy9nZW5lcmF0ZS1pbnNwZWN0b3ItcHJvdG9jb2wtYmluZGluZ3MucHkKQEAgLTExMiw3ICsx
MTIsOSBAQCBkZWYgZ2VuZXJhdGVfZnJvbV9zcGVjaWZpY2F0aW9uKHByaW1hcnlfc3BlY2lmaWNh
dGlvbl9maWxlcGF0aD1Ob25lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25j
YXRlbmF0ZV9vdXRwdXQ9RmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91
dHB1dF9kaXJwYXRoPU5vbmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcmNl
X291dHB1dD1GYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJhbWV3b3Jr
X25hbWU9IiIpOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcmFtZXdvcmtfbmFt
ZT0iIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVfZnJvbnRlbmQ9
VHJ1ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGVfYmFja2VuZD1U
cnVlKToKIAogICAgIGRlZiBsb2FkX3NwZWNpZmljYXRpb24ocHJvdG9jb2wsIGZpbGVwYXRoLCBp
c1N1cHBsZW1lbnRhbD1GYWxzZSk6CiAgICAgICAgIHRyeToKQEAgLTE0OCw2ICsxNTAsNyBAQCBk
ZWYgZ2VuZXJhdGVfZnJvbV9zcGVjaWZpY2F0aW9uKHByaW1hcnlfc3BlY2lmaWNhdGlvbl9maWxl
cGF0aD1Ob25lLAogICAgICAgICBnZW5lcmF0b3JzLmFwcGVuZChPYmpDSGVhZGVyR2VuZXJhdG9y
KHByb3RvY29sLCBwcmltYXJ5X3NwZWNpZmljYXRpb25fZmlsZXBhdGgpKQogICAgICAgICBnZW5l
cmF0b3JzLmFwcGVuZChPYmpDSW50ZXJuYWxIZWFkZXJHZW5lcmF0b3IocHJvdG9jb2wsIHByaW1h
cnlfc3BlY2lmaWNhdGlvbl9maWxlcGF0aCkpCiAgICAgICAgIGdlbmVyYXRvcnMuYXBwZW5kKE9i
akNQcm90b2NvbFR5cGVzSW1wbGVtZW50YXRpb25HZW5lcmF0b3IocHJvdG9jb2wsIHByaW1hcnlf
c3BlY2lmaWNhdGlvbl9maWxlcGF0aCkpCisKICAgICBlbGlmIHByb3RvY29sLmZyYW1ld29yayBp
cyBGcmFtZXdvcmtzLkphdmFTY3JpcHRDb3JlOgogICAgICAgICBnZW5lcmF0b3JzLmFwcGVuZChK
U0JhY2tlbmRDb21tYW5kc0dlbmVyYXRvcihwcm90b2NvbCwgcHJpbWFyeV9zcGVjaWZpY2F0aW9u
X2ZpbGVwYXRoKSkKICAgICAgICAgZ2VuZXJhdG9ycy5hcHBlbmQoQ3BwQWx0ZXJuYXRlQmFja2Vu
ZERpc3BhdGNoZXJIZWFkZXJHZW5lcmF0b3IocHJvdG9jb2wsIHByaW1hcnlfc3BlY2lmaWNhdGlv
bl9maWxlcGF0aCkpCkBAIC0xNTcsNiArMTYwLDE5IEBAIGRlZiBnZW5lcmF0ZV9mcm9tX3NwZWNp
ZmljYXRpb24ocHJpbWFyeV9zcGVjaWZpY2F0aW9uX2ZpbGVwYXRoPU5vbmUsCiAgICAgICAgIGdl
bmVyYXRvcnMuYXBwZW5kKENwcEZyb250ZW5kRGlzcGF0Y2hlckltcGxlbWVudGF0aW9uR2VuZXJh
dG9yKHByb3RvY29sLCBwcmltYXJ5X3NwZWNpZmljYXRpb25fZmlsZXBhdGgpKQogICAgICAgICBn
ZW5lcmF0b3JzLmFwcGVuZChDcHBQcm90b2NvbFR5cGVzSGVhZGVyR2VuZXJhdG9yKHByb3RvY29s
LCBwcmltYXJ5X3NwZWNpZmljYXRpb25fZmlsZXBhdGgpKQogICAgICAgICBnZW5lcmF0b3JzLmFw
cGVuZChDcHBQcm90b2NvbFR5cGVzSW1wbGVtZW50YXRpb25HZW5lcmF0b3IocHJvdG9jb2wsIHBy
aW1hcnlfc3BlY2lmaWNhdGlvbl9maWxlcGF0aCkpCisKKyAgICBlbGlmIHByb3RvY29sLmZyYW1l
d29yayBpcyBGcmFtZXdvcmtzLldlYktpdCBhbmQgZ2VuZXJhdGVfYmFja2VuZDoKKyAgICAgICAg
Z2VuZXJhdG9ycy5hcHBlbmQoQ3BwQmFja2VuZERpc3BhdGNoZXJIZWFkZXJHZW5lcmF0b3IocHJv
dG9jb2wsIHByaW1hcnlfc3BlY2lmaWNhdGlvbl9maWxlcGF0aCkpCisgICAgICAgIGdlbmVyYXRv
cnMuYXBwZW5kKENwcEJhY2tlbmREaXNwYXRjaGVySW1wbGVtZW50YXRpb25HZW5lcmF0b3IocHJv
dG9jb2wsIHByaW1hcnlfc3BlY2lmaWNhdGlvbl9maWxlcGF0aCkpCisgICAgICAgIGdlbmVyYXRv
cnMuYXBwZW5kKENwcFByb3RvY29sVHlwZXNIZWFkZXJHZW5lcmF0b3IocHJvdG9jb2wsIHByaW1h
cnlfc3BlY2lmaWNhdGlvbl9maWxlcGF0aCkpCisgICAgICAgIGdlbmVyYXRvcnMuYXBwZW5kKENw
cFByb3RvY29sVHlwZXNJbXBsZW1lbnRhdGlvbkdlbmVyYXRvcihwcm90b2NvbCwgcHJpbWFyeV9z
cGVjaWZpY2F0aW9uX2ZpbGVwYXRoKSkKKworICAgIGVsaWYgcHJvdG9jb2wuZnJhbWV3b3JrIGlz
IEZyYW1ld29ya3MuV2ViS2l0IGFuZCBnZW5lcmF0ZV9mcm9udGVuZDoKKyAgICAgICAgIyBGSVhN
RSA8cmRhcjovL3Byb2JsZW0vMjM0NjY5MjU+OiBUaGlzIGxpc3Qgb2YgZ2VuZXJhdG9ycyBmb3Ig
dGhlIGZyb250ZW5kIGlzIGEgcGxhY2Vob2xkZXIuCisgICAgICAgIGdlbmVyYXRvcnMuYXBwZW5k
KE9iakNDb252ZXJzaW9uSGVscGVyc0dlbmVyYXRvcihwcm90b2NvbCwgcHJpbWFyeV9zcGVjaWZp
Y2F0aW9uX2ZpbGVwYXRoKSkKKyAgICAgICAgZ2VuZXJhdG9ycy5hcHBlbmQoT2JqQ0Zyb250ZW5k
RGlzcGF0Y2hlckltcGxlbWVudGF0aW9uR2VuZXJhdG9yKHByb3RvY29sLCBwcmltYXJ5X3NwZWNp
ZmljYXRpb25fZmlsZXBhdGgpKQorICAgICAgICBnZW5lcmF0b3JzLmFwcGVuZChPYmpDUHJvdG9j
b2xUeXBlc0ltcGxlbWVudGF0aW9uR2VuZXJhdG9yKHByb3RvY29sLCBwcmltYXJ5X3NwZWNpZmlj
YXRpb25fZmlsZXBhdGgpKQorCiAgICAgZWxpZiBwcm90b2NvbC5mcmFtZXdvcmsgaXMgRnJhbWV3
b3Jrcy5XZWJJbnNwZWN0b3I6CiAgICAgICAgIGdlbmVyYXRvcnMuYXBwZW5kKE9iakNCYWNrZW5k
RGlzcGF0Y2hlckhlYWRlckdlbmVyYXRvcihwcm90b2NvbCwgcHJpbWFyeV9zcGVjaWZpY2F0aW9u
X2ZpbGVwYXRoKSkKICAgICAgICAgZ2VuZXJhdG9ycy5hcHBlbmQoT2JqQ0JhY2tlbmREaXNwYXRj
aGVySW1wbGVtZW50YXRpb25HZW5lcmF0b3IocHJvdG9jb2wsIHByaW1hcnlfc3BlY2lmaWNhdGlv
bl9maWxlcGF0aCkpCkBAIC0xOTAsMTQgKzIwNiwxNSBAQCBkZWYgZ2VuZXJhdGVfZnJvbV9zcGVj
aWZpY2F0aW9uKHByaW1hcnlfc3BlY2lmaWNhdGlvbl9maWxlcGF0aD1Ob25lLAogCiAKIGlmIF9f
bmFtZV9fID09ICdfX21haW5fXyc6Ci0gICAgYWxsb3dlZF9mcmFtZXdvcmtfbmFtZXMgPSBbJ0ph
dmFTY3JpcHRDb3JlJywgJ1dlYkluc3BlY3RvcicsICdUZXN0J10KKyAgICBhbGxvd2VkX2ZyYW1l
d29ya19uYW1lcyA9IFsnSmF2YVNjcmlwdENvcmUnLCAnV2ViSW5zcGVjdG9yJywgJ1dlYktpdCcs
ICdUZXN0J10KICAgICBjbGlfcGFyc2VyID0gb3B0cGFyc2UuT3B0aW9uUGFyc2VyKHVzYWdlPSJ1
c2FnZTogJXByb2cgW29wdGlvbnNdIFByaW1hcnlQcm90b2NvbC5qc29uIFtTdXBwbGVtZW50YWxQ
cm90b2NvbC5qc29uIC4uLl0iKQogICAgIGNsaV9wYXJzZXIuYWRkX29wdGlvbigiLW8iLCAiLS1v
dXRwdXREaXIiLCBoZWxwPSJEaXJlY3Rvcnkgd2hlcmUgZ2VuZXJhdGVkIGZpbGVzIHNob3VsZCBi
ZSB3cml0dGVuLiIpCiAgICAgY2xpX3BhcnNlci5hZGRfb3B0aW9uKCItLWZyYW1ld29yayIsIHR5
cGU9ImNob2ljZSIsIGNob2ljZXM9YWxsb3dlZF9mcmFtZXdvcmtfbmFtZXMsIGhlbHA9IlRoZSBm
cmFtZXdvcmsgdGhhdCB0aGUgcHJpbWFyeSBzcGVjaWZpY2F0aW9uIGJlbG9uZ3MgdG8uIikKICAg
ICBjbGlfcGFyc2VyLmFkZF9vcHRpb24oIi0tZm9yY2UiLCBhY3Rpb249InN0b3JlX3RydWUiLCBo
ZWxwPSJGb3JjZSBvdXRwdXQgb2YgZ2VuZXJhdGVkIHNjcmlwdHMsIGV2ZW4gaWYgbm90aGluZyBj
aGFuZ2VkLiIpCiAgICAgY2xpX3BhcnNlci5hZGRfb3B0aW9uKCItdiIsICItLWRlYnVnIiwgYWN0
aW9uPSJzdG9yZV90cnVlIiwgaGVscD0iTG9nIGV4dHJhIG91dHB1dCBmb3IgZGVidWdnaW5nIHRo
ZSBnZW5lcmF0b3IgaXRzZWxmLiIpCiAgICAgY2xpX3BhcnNlci5hZGRfb3B0aW9uKCItdCIsICIt
LXRlc3QiLCBhY3Rpb249InN0b3JlX3RydWUiLCBoZWxwPSJFbmFibGUgdGVzdCBtb2RlLiBVc2Ug
dW5pcXVlIG91dHB1dCBmaWxlbmFtZXMgY3JlYXRlZCBieSBwcmVwZW5kaW5nIHRoZSBpbnB1dCBm
aWxlbmFtZS4iKQotCisgICAgY2xpX3BhcnNlci5hZGRfb3B0aW9uKCItLWZyb250ZW5kIiwgYWN0
aW9uPSJzdG9yZV90cnVlIiwgaGVscD0iR2VuZXJhdGUgY29kZSBmb3IgdGhlIGZyb250ZW5kLXNp
ZGUgb2YgdGhlIHByb3RvY29sIG9ubHkuIikKKyAgICBjbGlfcGFyc2VyLmFkZF9vcHRpb24oIi0t
YmFja2VuZCIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsIGhlbHA9IkdlbmVyYXRlIGNvZGUgZm9yIHRo
ZSBiYWNrZW5kLXNpZGUgb2YgdGhlIHByb3RvY29sIG9ubHkuIikKICAgICBvcHRpb25zID0gTm9u
ZQogCiAgICAgYXJnX29wdGlvbnMsIGFyZ192YWx1ZXMgPSBjbGlfcGFyc2VyLnBhcnNlX2FyZ3Mo
KQpAQCAtMjEwLDEzICsyMjcsMjIgQEAgaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKICAgICBp
ZiBhcmdfb3B0aW9ucy5kZWJ1ZzoKICAgICAgICAgbG9nLnNldExldmVsKGxvZ2dpbmcuREVCVUcp
CiAKKyAgICBnZW5lcmF0ZV9iYWNrZW5kID0gYXJnX29wdGlvbnMuYmFja2VuZDsKKyAgICBnZW5l
cmF0ZV9mcm9udGVuZCA9IGFyZ19vcHRpb25zLmZyb250ZW5kOworICAgICMgRGVmYXVsdCB0byBn
ZW5lcmF0aW5nIGJvdGggdGhlIGZyb250ZW5kIGFuZCBiYWNrZW5kIGlmIG5laXRoZXIgaXMgc3Bl
Y2lmaWVkLgorICAgIGlmIG5vdCBnZW5lcmF0ZV9iYWNrZW5kIGFuZCBub3QgZ2VuZXJhdGVfZnJv
bnRlbmQ6CisgICAgICAgIGdlbmVyYXRlX2JhY2tlbmQgPSBUcnVlCisgICAgICAgIGdlbmVyYXRl
X2Zyb250ZW5kID0gVHJ1ZQorCiAgICAgb3B0aW9ucyA9IHsKICAgICAgICAgJ3ByaW1hcnlfc3Bl
Y2lmaWNhdGlvbl9maWxlcGF0aCc6IGFyZ192YWx1ZXNbMF0sCiAgICAgICAgICdzdXBwbGVtZW50
YWxfc3BlY2lmaWNhdGlvbl9maWxlcGF0aHMnOiBhcmdfdmFsdWVzWzE6XSwKICAgICAgICAgJ291
dHB1dF9kaXJwYXRoJzogYXJnX29wdGlvbnMub3V0cHV0RGlyLAogICAgICAgICAnY29uY2F0ZW5h
dGVfb3V0cHV0JzogYXJnX29wdGlvbnMudGVzdCwKICAgICAgICAgJ2ZyYW1ld29ya19uYW1lJzog
YXJnX29wdGlvbnMuZnJhbWV3b3JrLAotICAgICAgICAnZm9yY2Vfb3V0cHV0JzogYXJnX29wdGlv
bnMuZm9yY2UKKyAgICAgICAgJ2ZvcmNlX291dHB1dCc6IGFyZ19vcHRpb25zLmZvcmNlLAorICAg
ICAgICAnZ2VuZXJhdGVfYmFja2VuZCc6IGdlbmVyYXRlX2JhY2tlbmQsCisgICAgICAgICdnZW5l
cmF0ZV9mcm9udGVuZCc6IGdlbmVyYXRlX2Zyb250ZW5kLAogICAgIH0KIAogICAgIHRyeToKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYktpdDIv
Q01ha2VMaXN0cy50eHQKaW5kZXggYWU4YWFhNWJiMzdhNzFjNDlhZWZkMDI5NzI3OWY4ODNjNWIw
MTdjNi4uNGNkMDY4MjhhNjQwNGZiMzZlZTNjODA3YTBjYWQ5NmU1MmFjMDgzZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYktpdDIvQ01h
a2VMaXN0cy50eHQKQEAgLTI5LDYgKzI5LDcgQEAgc2V0KFdlYktpdDJfSU5DTFVERV9ESVJFQ1RP
UklFUwogICAgICIke1dFQktJVDJfRElSfS9VSVByb2Nlc3MvQVBJL0MiCiAgICAgIiR7V0VCS0lU
Ml9ESVJ9L1VJUHJvY2Vzcy9BUEkvY3BwIgogICAgICIke1dFQktJVDJfRElSfS9VSVByb2Nlc3Mv
QXV0aGVudGljYXRpb24iCisgICAgIiR7V0VCS0lUMl9ESVJ9L1VJUHJvY2Vzcy9BdXRvbWF0aW9u
IgogICAgICIke1dFQktJVDJfRElSfS9VSVByb2Nlc3MvRGF0YWJhc2VzIgogICAgICIke1dFQktJ
VDJfRElSfS9VSVByb2Nlc3MvRG93bmxvYWRzIgogICAgICIke1dFQktJVDJfRElSfS9VSVByb2Nl
c3MvSW5zcGVjdG9yU2VydmVyIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ29uZmlndXJh
dGlvbnMvQmFzZVRhcmdldC54Y2NvbmZpZyBiL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25z
L0Jhc2VUYXJnZXQueGNjb25maWcKaW5kZXggY2M5NDdiOTE4YTRmMjA4OWYzMWQyZGNhMWI3Njcy
MTVlZWViN2U0Yy4uYWVlNjkyMTM5ZDM2MGYwODcyMTM3MDZiNWQ4NTU1ZWJjMjlkM2IzZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvQmFzZVRhcmdldC54Y2NvbmZp
ZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9CYXNlVGFyZ2V0LnhjY29uZmln
CkBAIC01MSw2ICs1MSw3IEBAIFVNQlJFTExBX0ZSQU1FV09SS1NfRElSX1Byb2R1Y3Rpb25fbWFj
b3N4X1VTRV9PVkVSUklERV9GUkFNRVdPUktTX0RJUl9OTyA9ICQoTkVYCiBVTUJSRUxMQV9GUkFN
RVdPUktTX0RJUl9Qcm9kdWN0aW9uX21hY29zeF9VU0VfT1ZFUlJJREVfRlJBTUVXT1JLU19ESVJf
WUVTID0gJChXS19PVkVSUklERV9GUkFNRVdPUktTX0RJUik7CiBVTUJSRUxMQV9GUkFNRVdPUktT
X0RJUl9lbmdpbmVlcmluZyA9ICQoQlVJTFRfUFJPRFVDVFNfRElSKTsKIAorSkFWQVNDUklQVENP
UkVfUFJJVkFURV9IRUFERVJTX0RJUiA9ICQoVU1CUkVMTEFfRlJBTUVXT1JLU19ESVIpL0phdmFT
Y3JpcHRDb3JlLmZyYW1ld29yay9Qcml2YXRlSGVhZGVyczsKIFdFQkNPUkVfUFJJVkFURV9IRUFE
RVJTX0RJUiA9ICQoVU1CUkVMTEFfRlJBTUVXT1JLU19ESVIpL1dlYkNvcmUuZnJhbWV3b3JrL1By
aXZhdGVIZWFkZXJzOwogV0VCS0lUX0xFR0FDWV9QUklWQVRFX0hFQURFUlNfRElSID0gJChVTUJS
RUxMQV9GUkFNRVdPUktTX0RJUikvV2ViS2l0TGVnYWN5LmZyYW1ld29yay9Qcml2YXRlSGVhZGVy
czsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1Nv
dXJjZS9XZWJLaXQyL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggNWM1NzkxZDg4YjVjNDdhZjE0
NzU5MjUxYTNkNTRkNDkwN2U0YzcyMC4uNmYyYTc2NzBhODA2Njk3YjFkZGI4NTljMzhlNzNhMDQx
YzFkYThjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvRGVyaXZlZFNvdXJjZXMubWFrZQor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC01Niw2ICs1Niw3IEBA
IFZQQVRIID0gXAogICAgICQoV2ViS2l0MikvV2ViUHJvY2Vzcy9pb3MgXAogICAgICQoV2ViS2l0
MikvV2ViUHJvY2VzcyBcCiAgICAgJChXZWJLaXQyKS9VSVByb2Nlc3MgXAorICAgICQoV2ViS2l0
MikvVUlQcm9jZXNzL0F1dG9tYXRpb24gXAogICAgICQoV2ViS2l0MikvVUlQcm9jZXNzL0NvY29h
IFwKICAgICAkKFdlYktpdDIpL1VJUHJvY2Vzcy9EYXRhYmFzZXMgXAogICAgICQoV2ViS2l0Mikv
VUlQcm9jZXNzL0Rvd25sb2FkcyBcCkBAIC0xOTIsMyArMTkzLDMxIEBAIGFsbDogJChTQU5EQk9Y
X1BST0ZJTEVTKQogJS5zYiA6ICUuc2IuaW4KIAlAZWNobyBQcmUtcHJvY2Vzc2luZyAkKiBzYW5k
Ym94IHByb2ZpbGUuLi4KIAkkKENDKSAkKFNES19GTEFHUykgJChURVhUX1BSRVBST0NFU1NPUl9G
TEFHUykgJChGUkFNRVdPUktfRkxBR1MpICQoSEVBREVSX0ZMQUdTKSAtaW5jbHVkZSAid3RmL1Bs
YXRmb3JtLmgiICQ8ID4gJEAKKworSlNPTl9SUENfR0VORVJBVE9SX1NDUklQVFMgPSBcCisJJChK
YXZhU2NyaXB0Q29yZV9TQ1JJUFRTX0RJUikvY3BwX2dlbmVyYXRvcl90ZW1wbGF0ZXMucHkgXAor
CSQoSmF2YVNjcmlwdENvcmVfU0NSSVBUU19ESVIpL2NwcF9nZW5lcmF0b3IucHkgXAorCSQoSmF2
YVNjcmlwdENvcmVfU0NSSVBUU19ESVIpL2dlbmVyYXRlX2NwcF9iYWNrZW5kX2Rpc3BhdGNoZXJf
aGVhZGVyLnB5IFwKKwkkKEphdmFTY3JpcHRDb3JlX1NDUklQVFNfRElSKS9nZW5lcmF0ZV9jcHBf
YmFja2VuZF9kaXNwYXRjaGVyX2ltcGxlbWVudGF0aW9uLnB5IFwKKwkkKEphdmFTY3JpcHRDb3Jl
X1NDUklQVFNfRElSKS9nZW5lcmF0ZV9jcHBfcHJvdG9jb2xfdHlwZXNfaGVhZGVyLnB5IFwKKwkk
KEphdmFTY3JpcHRDb3JlX1NDUklQVFNfRElSKS9nZW5lcmF0ZV9jcHBfcHJvdG9jb2xfdHlwZXNf
aW1wbGVtZW50YXRpb24ucHkgXAorCSQoSmF2YVNjcmlwdENvcmVfU0NSSVBUU19ESVIpL2dlbmVy
YXRvcl90ZW1wbGF0ZXMucHkgXAorCSQoSmF2YVNjcmlwdENvcmVfU0NSSVBUU19ESVIpL2dlbmVy
YXRvci5weSBcCisJJChKYXZhU2NyaXB0Q29yZV9TQ1JJUFRTX0RJUikvbW9kZWxzLnB5IFwKKwkk
KEphdmFTY3JpcHRDb3JlX1NDUklQVFNfRElSKS9nZW5lcmF0ZS1pbnNwZWN0b3ItcHJvdG9jb2wt
YmluZGluZ3MucHkgXAorIworCitKU09OX1JQQ19JTlBVVF9GSUxFUyA9IFwKKyAgICAkKFdlYktp
dDIpL1VJUHJvY2Vzcy9BdXRvbWF0aW9uL0F1dG9tYXRpb24uanNvbiBcCisjCisKK0pTT05fUlBD
X09VVFBVVF9GSUxFUyA9IFwKKyAgICBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuaCBcCisg
ICAgSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzLmNwcCBcCisjCisKKyMgSlNPTi1SUEMgQmFj
a2VuZCBEaXNwYXRjaGVycywgVHlwZSBCdWlsZGVycworJChKU09OX1JQQ19PVVRQVVRfRklMRVMp
IDogJChKU09OX1JQQ19JTlBVVF9GSUxFUykgJChKU09OX1JQQ19HRU5FUkFUT1JfU0NSSVBUUykK
KwkkKFBZVEhPTikgJChKYXZhU2NyaXB0Q29yZV9TQ1JJUFRTX0RJUikvZ2VuZXJhdGUtaW5zcGVj
dG9yLXByb3RvY29sLWJpbmRpbmdzLnB5IC0tZnJhbWV3b3JrIFdlYktpdCAtLWJhY2tlbmQgLS1v
dXRwdXREaXIgLiAkKEpTT05fUlBDX0lOUFVUX0ZJTEVTKQorCithbGwgOiAkKEpTT05fUlBDX09V
VFBVVF9GSUxFUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtTWFjLmNtYWtl
IGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm1NYWMuY21ha2UKaW5kZXggOTJlM2I5MDM0ZjAzM2Q4
NzZlNjI2ZTU5NmQxNTQwMTRkZWNlMDkwZi4uZTg4MTAwMGRjZDg1YzQ3NzM2MDViZmJkOGM0NjRh
M2JhMTY0Y2MxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm1NYWMuY21ha2UK
KysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm1NYWMuY21ha2UKQEAgLTYsNiArNiw4IEBAIGFk
ZF9kZWZpbml0aW9ucygtaWZyYW1ld29yayAke1FVQVJUWl9MSUJSQVJZfS9GcmFtZXdvcmtzKQog
YWRkX2RlZmluaXRpb25zKC1pZnJhbWV3b3JrICR7Q0FSQk9OX0xJQlJBUll9L0ZyYW1ld29ya3Mp
CiBhZGRfZGVmaW5pdGlvbnMoLURXS19YUENfU0VSVklDRV9TVUZGSVg9Ii5EZXZlbG9wbWVudCIp
CiAKK3NldChKYXZhU2NyaXB0Q29yZV9TQ1JJUFRTX0RJUiAiJHtERVJJVkVEX1NPVVJDRVNfRElS
fS9Gb3J3YXJkaW5nSGVhZGVycy9KYXZhU2NyaXB0Q29yZS9TY3JpcHRzIikKKwogbGlzdChBUFBF
TkQgV2ViS2l0Ml9MSUJSQVJJRVMKICAgICBXZWJLaXQKICkKQEAgLTE0MCw3ICsxNDIsOCBAQCBs
aXN0KEFQUEVORCBXZWJLaXQyX1NPVVJDRVMKICAgICBTaGFyZWQvbWFjL1dlYk1lbW9yeVNhbXBs
ZXIubWFjLm1tCiAKICAgICBVSVByb2Nlc3MvVmlld0dlc3R1cmVDb250cm9sbGVyLmNwcAotICAg
IFVJUHJvY2Vzcy9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5jcHAKKworICAgIFVJUHJvY2Vzcy9BdXRv
bWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uLmNwcAogCiAgICAgVUlQcm9jZXNzL0FQSS9BUElV
c2VyU2NyaXB0LmNwcAogICAgIFVJUHJvY2Vzcy9BUEkvQVBJVXNlclN0eWxlU2hlZXQuY3BwCkBA
IC0zNTIsNiArMzU1LDcgQEAgbGlzdChBUFBFTkQgV2ViS2l0Ml9JTkNMVURFX0RJUkVDVE9SSUVT
CiAgICAgIiR7V0VCS0lUMl9ESVJ9L1VJUHJvY2Vzcy9BUEkvQy9tYWMiCiAgICAgIiR7V0VCS0lU
Ml9ESVJ9L1VJUHJvY2Vzcy9BUEkvQ29jb2EiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1VJUHJvY2Vz
cy9BUEkvbWFjIgorICAgICIke1dFQktJVDJfRElSfS9VSVByb2Nlc3MvQXV0b21hdGlvbiIKICAg
ICAiJHtXRUJLSVQyX0RJUn0vVUlQcm9jZXNzL0NvY29hIgogICAgICIke1dFQktJVDJfRElSfS9V
SVByb2Nlc3MvTGF1bmNoZXIvbWFjIgogICAgICIke1dFQktJVDJfRElSfS9VSVByb2Nlc3MvU2Ny
b2xsaW5nIgpAQCAtNDk1LDQgKzQ5OSwzOCBAQCBsaXN0KEFQUEVORCBXZWJLaXQyX1NPVVJDRVMK
ICAgICAke0RFUklWRURfU09VUkNFU19XRUJLSVQyX0RJUn0vTWVzc2FnZVJlY29yZGVyUHJvYmVz
LmgKICkKIAorc2V0KFdlYktpdDJfSlNPTl9SUENfR0VORVJBVE9SX1NDUklQVFMKKyAgICAke0ph
dmFTY3JpcHRDb3JlX1NDUklQVFNfRElSfS9nZW5lcmF0ZS1pbnNwZWN0b3ItcHJvdG9jb2wtYmlu
ZGluZ3MucHkKKyAgICAke0phdmFTY3JpcHRDb3JlX1NDUklQVFNfRElSfS9jb2RlZ2VuL2NwcF9n
ZW5lcmF0b3IucHkKKyAgICAke0phdmFTY3JpcHRDb3JlX1NDUklQVFNfRElSfS9jb2RlZ2VuL2Nw
cF9nZW5lcmF0b3JfdGVtcGxhdGVzLnB5CisgICAgJHtKYXZhU2NyaXB0Q29yZV9TQ1JJUFRTX0RJ
Un0vY29kZWdlbi9nZW5lcmF0ZV9jcHBfYmFja2VuZF9kaXNwYXRjaGVyX2hlYWRlci5weQorICAg
ICR7SmF2YVNjcmlwdENvcmVfU0NSSVBUU19ESVJ9L2NvZGVnZW4vZ2VuZXJhdGVfY3BwX2JhY2tl
bmRfZGlzcGF0Y2hlcl9pbXBsZW1lbnRhdGlvbi5weQorICAgICR7SmF2YVNjcmlwdENvcmVfU0NS
SVBUU19ESVJ9L2NvZGVnZW4vZ2VuZXJhdGVfY3BwX3Byb3RvY29sX3R5cGVzX2hlYWRlci5weQor
ICAgICR7SmF2YVNjcmlwdENvcmVfU0NSSVBUU19ESVJ9L2NvZGVnZW4vZ2VuZXJhdGVfY3BwX3By
b3RvY29sX3R5cGVzX2ltcGxlbWVudGF0aW9uLnB5CisgICAgJHtKYXZhU2NyaXB0Q29yZV9TQ1JJ
UFRTX0RJUn0vY29kZWdlbi9nZW5lcmF0b3IucHkKKyAgICAke0phdmFTY3JpcHRDb3JlX1NDUklQ
VFNfRElSfS9jb2RlZ2VuL2dlbmVyYXRvcl90ZW1wbGF0ZXMucHkKKyAgICAke0phdmFTY3JpcHRD
b3JlX1NDUklQVFNfRElSfS9jb2RlZ2VuL21vZGVscy5weQorKQorCitzZXQoV2ViS2l0Ml9KU09O
X1JQQ19HRU5FUkFUT1JfSU5QVVRTCisgICAgJHtXRUJLSVQyX0RJUn0vVUlQcm9jZXNzL0F1dG9t
YXRpb24vQXV0b21hdGlvbi5qc29uCispCisKK2FkZF9jdXN0b21fY29tbWFuZCgKKyAgICBPVVRQ
VVQgJHtERVJJVkVEX1NPVVJDRVNfV0VCS0lUMl9ESVJ9L0luc3BlY3RvckJhY2tlbmREaXNwYXRj
aGVycy5oICR7REVSSVZFRF9TT1VSQ0VTX1dFQktJVDJfRElSfS9JbnNwZWN0b3JCYWNrZW5kRGlz
cGF0Y2hlcnMuY3BwICR7REVSSVZFRF9TT1VSQ0VTX1dFQktJVDJfRElSfS9JbnNwZWN0b3JQcm90
b2NvbE9iamVjdHMuaCAke0RFUklWRURfU09VUkNFU19XRUJLSVQyX0RJUn0vSW5zcGVjdG9yUHJv
dG9jb2xPYmplY3RzLmNwcAorICAgIE1BSU5fREVQRU5ERU5DWSAke1dlYktpdDJfSlNPTl9SUENf
R0VORVJBVE9SX0lOUFVUU30KKyAgICBERVBFTkRTICR7V2ViS2l0Ml9KU09OX1JQQ19HRU5FUkFU
T1JfU0NSSVBUU30KKyAgICBDT01NQU5EICR7UFlUSE9OX0VYRUNVVEFCTEV9ICR7SmF2YVNjcmlw
dENvcmVfU0NSSVBUU19ESVJ9L2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC1iaW5kaW5ncy5w
eSAtLW91dHB1dERpciAiJHtERVJJVkVEX1NPVVJDRVNfV0VCS0lUMl9ESVJ9IiAtLWZyYW1ld29y
ayBXZWJLaXQgLS1iYWNrZW5kICR7V2ViS2l0Ml9KU09OX1JQQ19HRU5FUkFUT1JfSU5QVVRTfQor
ICAgIFZFUkJBVElNKQorCitsaXN0KEFQUEVORCBXZWJLaXQyX0hFQURFUlMKKyAgICAke0RFUklW
RURfU09VUkNFU19XRUJLSVQyX0RJUn0vSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzLmgKKyAg
ICAke0RFUklWRURfU09VUkNFU19XRUJLSVQyX0RJUn0vSW5zcGVjdG9yUHJvdG9jb2xPYmplY3Rz
LmgKKykKKworbGlzdChBUFBFTkQgV2ViS2l0Ml9TT1VSQ0VTCisgICAgJHtERVJJVkVEX1NPVVJD
RVNfV0VCS0lUMl9ESVJ9L0luc3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5jcHAKKyAgICAke0RF
UklWRURfU09VUkNFU19XRUJLSVQyX0RJUn0vSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzLmNwcAor
KQorCiBXRUJLSVRfQ1JFQVRFX0ZPUldBUkRJTkdfSEVBREVSUyhXZWJLaXQgRklMRVMgJHtXZWJL
aXQyX0ZPUldBUkRJTkdfSEVBREVSU19GSUxFU30gRElSRUNUT1JJRVMgJHtXZWJLaXQyX0ZPUldB
UkRJTkdfSEVBREVSU19ESVJFQ1RPUklFU30pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQXV0b21hdGlvbi9BdXRvbWF0aW9uLmpzb24gYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQXV0b21hdGlvbi9BdXRvbWF0aW9uLmpzb24KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzQ1YzcwYjdkMTQw
ZWRiMTdiNWJjYWE1YjgzYTFkYzhhNjhkNDA3NgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BdXRvbWF0aW9uL0F1dG9tYXRpb24uanNvbgpAQCAtMCwwICsxLDQw
IEBACit7CisgICAgImRvbWFpbiI6ICJBdXRvbWF0aW9uIiwKKyAgICAiZGVzY3JpcHRpb24iOiAi
QXV0b21hdGlvbiBkb21haW4gZXhwb3NlcyBjb21tYW5kcyBmb3IgYXV0b21hdGluZyB1c2VyIGlu
dGVyYWN0aW9ucyB3aXRoIHRoZSBicm93c2VyLiIsCisgICAgInR5cGVzIjogWworICAgICAgICB7
CisgICAgICAgICAgICAiaWQiOiAiT3BhcXVlV2luZG93SGFuZGxlIiwKKyAgICAgICAgICAgICJ0
eXBlIjogInN0cmluZyIsCisgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQW4gb3BhcXVlIGlk
ZW50aWZpZXIgZm9yIGEgd2luZG93LiIKKyAgICAgICAgfSwKKyAgICAgICAgeworICAgICAgICAg
ICAgImlkIjogIkJyb3dzaW5nV2luZG93IiwKKyAgICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIs
CisgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQSBoYW5kbGUgcmVwcmVzZW50aW5nIGFuIG9w
ZW4gd2luZG93IG9yIHRhYiBpbiB0aGUgYXV0b21hdGlvbiBzZXNzaW9uLiIsCisgICAgICAgICAg
ICAicHJvcGVydGllcyI6IFsKKyAgICAgICAgICAgICAgICB7ICJuYW1lIjogImhhbmRsZSIsICIk
cmVmIjogIk9wYXF1ZVdpbmRvd0hhbmRsZSIsICJkZXNjcmlwdGlvbiI6ICJPcGFxdWUgaGFuZGxl
IGZvciB0aGUgd2luZG93LiBVc2VkIGFzIGEga2V5IGZvciB3aW5kb3ctcmVsYXRlZCBjb21tYW5k
cy4iIH0sCisgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJhY3RpdmUiLCAidHlwZSI6ICJib29s
ZWFuIiwgImRlc2NyaXB0aW9uIjogIldoZXRoZXIgdGhlIHdpbmRvdyBpcyBhY3RpdmUgYXQgdGhl
IHRpbWUgdGhlIGNvbW1hbmQgaXMgaGFuZGxlZC4iIH0KKyAgICAgICAgICAgIF0KKyAgICAgICAg
fQorICAgIF0sCisgICAgImNvbW1hbmRzIjogWworICAgICAgICB7CisgICAgICAgICAgICAibmFt
ZSI6ICJnZXRXaW5kb3dzIiwKKyAgICAgICAgICAgICJyZXR1cm5zIjogWworICAgICAgICAgICAg
ICAgIHsgIm5hbWUiOiAid2luZG93cyIsICJ0eXBlIjogImFycmF5IiwgIml0ZW1zIjogeyAiJHJl
ZiI6ICJCcm93c2luZ1dpbmRvdyJ9LCAiZGVzY3JpcHRpb24iOiAiQWxsIGtub3duIHdpbmRvd3Mg
YW5kIHRhYnMgaW4gdGhlIGJyb3dzaW5nIHNlc3Npb24uIiB9CisgICAgICAgICAgICBdLAorICAg
ICAgICAgICAgImRlc2NyaXB0aW9uIjogIkdldHMgaW5mb3JtYXRpb24gYWJvdXQgYWxsIG9wZW4g
d2luZG93cyBhbmQgdGFicyBpbiB0aGUgYXV0b21hdGlvbiBzZXNzaW9uLiIKKyAgICAgICAgfSwK
KyAgICAgICAgeworICAgICAgICAgICAgIm5hbWUiOiAib3BlbldpbmRvdyIsCisgICAgICAgICAg
ICAiZGVzY3JpcHRpb24iOiAiT3BlbnMgYSBuZXcgYXV0b21hdGlvbiB3aW5kb3cgaW4gdGhlIGN1
cnJlbnQgYnJvd3NpbmcgY29udGV4dC4iCisgICAgICAgIH0sCisgICAgICAgIHsKKyAgICAgICAg
ICAgICJuYW1lIjogImNsb3NlV2luZG93IiwKKyAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogWwor
ICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiaGFuZGxlIiwgIiRyZWYiOiAiT3BhcXVlV2luZG93
SGFuZGxlIiwgImRlc2NyaXB0aW9uIjogIlRoZSBoYW5kbGUgZm9yIHRoZSB3aW5kb3cgdGhhdCBz
aG91bGQgYmUgY2xvc2VkLiIgfQorICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICJkZXNjcmlw
dGlvbiI6ICJDbG9zZXMgdGhlIHNwZWNpZmllZCB3aW5kb3cuIgorICAgICAgICB9CisgICAgXQor
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0
b21hdGlvblNlc3Npb24uY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1dG9tYXRpb24v
V2ViQXV0b21hdGlvblNlc3Npb24uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlhNDIxMmZjMTEzODUwM2ZhZGRj
YWQ4MTkyMzlmNTdhNDZkZjJlMGEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5jcHAKQEAgLTAsMCArMSw5
MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJBdXRv
bWF0aW9uU2Vzc2lvbi5oIgorCisjaW5jbHVkZSAiQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQu
aCIKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9JbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5o
PgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0luc3BlY3RvckZyb250ZW5kUm91dGVyLmg+CisK
K3VzaW5nIG5hbWVzcGFjZSBJbnNwZWN0b3I7CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitXZWJB
dXRvbWF0aW9uU2Vzc2lvbjo6V2ViQXV0b21hdGlvblNlc3Npb24oKQorICAgIDogbV9jbGllbnQo
c3RkOjptYWtlX3VuaXF1ZTxBUEk6OkF1dG9tYXRpb25TZXNzaW9uQ2xpZW50PigpKQorICAgICwg
bV9mcm9udGVuZFJvdXRlcihGcm9udGVuZFJvdXRlcjo6Y3JlYXRlKCkpCisgICAgLCBtX2JhY2tl
bmREaXNwYXRjaGVyKEJhY2tlbmREaXNwYXRjaGVyOjpjcmVhdGUobV9mcm9udGVuZFJvdXRlci5j
b3B5UmVmKCkpKQoreworICAgIC8vIEZJWE1FOiB0byBhY3R1YWxseSBoYW5kbGUgaW5jb21pbmcg
Y29tbWFuZHMsIGFuIGFnZW50IG5lZWRzIHRvIGJlIGNyZWF0ZWQKKyAgICAvLyBhbmQgcmVnaXN0
ZXJlZCB3aXRoIHRoZSBiYWNrZW5kIGRpc3BhdGNoZXIgaW4gdGhlIGNvbnN0cnVjdG9yLgorfQor
CitXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6fldlYkF1dG9tYXRpb25TZXNzaW9uKCkKK3sKKyAgICBB
U1NFUlQoIW1fY2xpZW50KTsKK30KKwordm9pZCBXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6c2V0Q2xp
ZW50KHN0ZDo6dW5pcXVlX3B0cjxBUEk6OkF1dG9tYXRpb25TZXNzaW9uQ2xpZW50PiBjbGllbnQp
Cit7CisgICAgbV9jbGllbnQgPSBXVEZNb3ZlKGNsaWVudCk7Cit9CisKKy8vIE5PVEU6IHRoaXMg
Y2xhc3MgY291bGQgYmUgc3BsaXQgYXQgc29tZSBwb2ludCB0byBzdXBwb3J0IGxvY2FsIGFuZCBy
ZW1vdGUgYXV0b21hdGlvbiBzZXNzaW9ucy4KKy8vIEZvciBub3csIGl0IG9ubHkgd29ya3Mgd2l0
aCBhIHJlbW90ZSBhdXRvbWF0aW9uIGRyaXZlciBvdmVyIGEgUmVtb3RlSW5zcGVjdG9yIGNvbm5l
Y3Rpb24uCisKKyNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKKworLy8gSW5zcGVjdG9yOjpS
ZW1vdGVBdXRvbWF0aW9uVGFyZ2V0IEFQSQorCit2b2lkIFdlYkF1dG9tYXRpb25TZXNzaW9uOjpk
aXNwYXRjaE1lc3NhZ2VGcm9tUmVtb3RlKGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKK3sKKyAgICBt
X2JhY2tlbmREaXNwYXRjaGVyLT5kaXNwYXRjaChtZXNzYWdlKTsKK30KKwordm9pZCBXZWJBdXRv
bWF0aW9uU2Vzc2lvbjo6Y29ubmVjdChJbnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCogY2hhbm5l
bCwgYm9vbCBpc0F1dG9tYXRpY0Nvbm5lY3Rpb24pCit7CisgICAgVU5VU0VEX1BBUkFNKGlzQXV0
b21hdGljQ29ubmVjdGlvbik7CisKKyAgICBtX3JlbW90ZUNoYW5uZWwgPSBjaGFubmVsOworICAg
IG1fZnJvbnRlbmRSb3V0ZXItPmNvbm5lY3RGcm9udGVuZChjaGFubmVsKTsKKworICAgIHNldElz
UGFpcmVkKHRydWUpOworfQorCit2b2lkIFdlYkF1dG9tYXRpb25TZXNzaW9uOjpkaXNjb25uZWN0
KEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsKiBjaGFubmVsKQoreworICAgIEFTU0VSVChjaGFu
bmVsID09IG1fcmVtb3RlQ2hhbm5lbCk7CisKKyAgICBtX3JlbW90ZUNoYW5uZWwgPSBudWxscHRy
OworICAgIG1fZnJvbnRlbmRSb3V0ZXItPmRpc2Nvbm5lY3RGcm9udGVuZChjaGFubmVsKTsKKwor
ICAgIHNldElzUGFpcmVkKGZhbHNlKTsKKworICAgIGlmIChtX2NsaWVudCkKKyAgICAgICAgbV9j
bGllbnQtPmRpZERpc2Nvbm5lY3RGcm9tUmVtb3RlKHRoaXMpOworfQorCisjZW5kaWYgLy8gRU5B
QkxFKFJFTU9URV9JTlNQRUNUT1IpCisKK30gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Np
b24uaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25T
ZXNzaW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uN2MzOWE3ZjE1NTY4NmY5ZDY4NWY0YWU3MWQxOTNiZWQyNDgx
ZWFjYQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BdXRvbWF0
aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uLmgKQEAgLTAsMCArMSw4NCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpZm5kZWYgV2ViQXV0b21hdGlvblNlc3Npb25faAorI2RlZmluZSBXZWJBdXRvbWF0aW9uU2Vz
c2lvbl9oCisKKyNpbmNsdWRlICJBUElPYmplY3QuaCIKKyNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgorCisjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCisjaW5jbHVkZSA8SmF2YVNjcmlwdENv
cmUvUmVtb3RlQXV0b21hdGlvblRhcmdldC5oPgorI2VuZGlmCisKK25hbWVzcGFjZSBBUEkgewor
Y2xhc3MgQXV0b21hdGlvblNlc3Npb25DbGllbnQ7Cit9CisKK25hbWVzcGFjZSBJbnNwZWN0b3Ig
eworY2xhc3MgQmFja2VuZERpc3BhdGNoZXI7CitjbGFzcyBGcm9udGVuZFJvdXRlcjsKK30KKwor
bmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFdlYkF1dG9tYXRpb25TZXNzaW9uQ2xpZW50Owor
CitjbGFzcyBXZWJBdXRvbWF0aW9uU2Vzc2lvbiBmaW5hbCA6IHB1YmxpYyBBUEk6Ok9iamVjdElt
cGw8QVBJOjpPYmplY3Q6OlR5cGU6OkF1dG9tYXRpb25TZXNzaW9uPgorI2lmIEVOQUJMRShSRU1P
VEVfSU5TUEVDVE9SKQorICAgICwgcHVibGljIEluc3BlY3Rvcjo6UmVtb3RlQXV0b21hdGlvblRh
cmdldAorI2VuZGlmCit7CitwdWJsaWM6CisgICAgV2ViQXV0b21hdGlvblNlc3Npb24oKTsKKyAg
ICB+V2ViQXV0b21hdGlvblNlc3Npb24oKTsKKworICAgIHZvaWQgc2V0Q2xpZW50KHN0ZDo6dW5p
cXVlX3B0cjxBUEk6OkF1dG9tYXRpb25TZXNzaW9uQ2xpZW50Pik7CisKKyAgICB2b2lkIHNldFNl
c3Npb25JZGVudGlmaWVyKGNvbnN0IFN0cmluZyYgc2Vzc2lvbklkZW50aWZpZXIpIHsgbV9zZXNz
aW9uSWRlbnRpZmllciA9IHNlc3Npb25JZGVudGlmaWVyOyB9CisgICAgU3RyaW5nIHNlc3Npb25J
ZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9zZXNzaW9uSWRlbnRpZmllcjsgfQorCisjaWYg
RU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCisgICAgLy8gSW5zcGVjdG9yOjpSZW1vdGVBdXRvbWF0
aW9uVGFyZ2V0IEFQSQorICAgIHZpcnR1YWwgU3RyaW5nIG5hbWUoKSBjb25zdCBvdmVycmlkZSB7
IHJldHVybiBtX3Nlc3Npb25JZGVudGlmaWVyOyB9CisgICAgdmlydHVhbCB2b2lkIGRpc3BhdGNo
TWVzc2FnZUZyb21SZW1vdGUoY29uc3QgU3RyaW5nJiBtZXNzYWdlKSBvdmVycmlkZTsKKyAgICB2
aXJ0dWFsIHZvaWQgY29ubmVjdChJbnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCosIGJvb2wgaXNB
dXRvbWF0aWNDb25uZWN0aW9uID0gZmFsc2UpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBk
aXNjb25uZWN0KEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsKikgb3ZlcnJpZGU7CisjZW5kaWYK
KworcHJpdmF0ZToKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8QVBJOjpBdXRvbWF0aW9uU2Vzc2lvbkNs
aWVudD4gbV9jbGllbnQ7CisgICAgU3RyaW5nIG1fc2Vzc2lvbklkZW50aWZpZXIgeyBBU0NJSUxp
dGVyYWwoIlVudGl0bGVkIFNlc3Npb24iKSB9OworICAgIFJlZjxJbnNwZWN0b3I6OkZyb250ZW5k
Um91dGVyPiBtX2Zyb250ZW5kUm91dGVyOworICAgIFJlZjxJbnNwZWN0b3I6OkJhY2tlbmREaXNw
YXRjaGVyPiBtX2JhY2tlbmREaXNwYXRjaGVyOworCisjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNU
T1IpCisgICAgSW5zcGVjdG9yOjpGcm9udGVuZENoYW5uZWwqIG1fcmVtb3RlQ2hhbm5lbCB7IG51
bGxwdHIgfTsKKyNlbmRpZgorfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAv
LyBXZWJBdXRvbWF0aW9uU2Vzc2lvbl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViQXV0b21hdGlvblNlc3Npb24uY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYkF1dG9tYXRpb25TZXNzaW9uLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
Mjc1ZDI2YmVjYWQ5NjllMWQ5YTg4ZWNmNjFjN2UwZTMwZmYzOTIyMS4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViQXV0b21hdGlvblNlc3Npb24uY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNzkgKzAsMCBAQAot
LyoKLSAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJXZWJBdXRvbWF0aW9u
U2Vzc2lvbi5oIgotCi0jaW5jbHVkZSAiQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaCIKLQot
bmFtZXNwYWNlIFdlYktpdCB7Ci0KLVdlYkF1dG9tYXRpb25TZXNzaW9uOjpXZWJBdXRvbWF0aW9u
U2Vzc2lvbigpCi0gICAgOiBtX2NsaWVudChzdGQ6Om1ha2VfdW5pcXVlPEFQSTo6QXV0b21hdGlv
blNlc3Npb25DbGllbnQ+KCkpCi17Ci19Ci0KLVdlYkF1dG9tYXRpb25TZXNzaW9uOjp+V2ViQXV0
b21hdGlvblNlc3Npb24oKQotewotICAgIEFTU0VSVCghbV9jbGllbnQpOwotfQotCi12b2lkIFdl
YkF1dG9tYXRpb25TZXNzaW9uOjpzZXRDbGllbnQoc3RkOjp1bmlxdWVfcHRyPEFQSTo6QXV0b21h
dGlvblNlc3Npb25DbGllbnQ+IGNsaWVudCkKLXsKLSAgICBtX2NsaWVudCA9IFdURk1vdmUoY2xp
ZW50KTsKLX0KLQotLy8gTk9URTogdGhpcyBjbGFzcyBjb3VsZCBiZSBzcGxpdCBhdCBzb21lIHBv
aW50IHRvIHN1cHBvcnQgbG9jYWwgYW5kIHJlbW90ZSBhdXRvbWF0aW9uIHNlc3Npb25zLgotLy8g
Rm9yIG5vdywgaXQgb25seSB3b3JrcyB3aXRoIGEgcmVtb3RlIGF1dG9tYXRpb24gZHJpdmVyIG92
ZXIgYSBSZW1vdGVJbnNwZWN0b3IgY29ubmVjdGlvbi4KLQotI2lmIEVOQUJMRShSRU1PVEVfSU5T
UEVDVE9SKQotCi0vLyBJbnNwZWN0b3I6OlJlbW90ZUF1dG9tYXRpb25UYXJnZXQgQVBJCi0KLXZv
aWQgV2ViQXV0b21hdGlvblNlc3Npb246OmRpc3BhdGNoTWVzc2FnZUZyb21SZW1vdGUoY29uc3Qg
U3RyaW5nJikKLXsKLSAgICAvLyBGSVhNRTogdG8gYmUgaW1wbGVtZW50ZWQuCi19Ci0KLXZvaWQg
V2ViQXV0b21hdGlvblNlc3Npb246OmNvbm5lY3QoSW5zcGVjdG9yOjpGcm9udGVuZENoYW5uZWwq
IGNoYW5uZWwsIGJvb2wgaXNBdXRvbWF0aWNDb25uZWN0aW9uKQotewotICAgIFVOVVNFRF9QQVJB
TShpc0F1dG9tYXRpY0Nvbm5lY3Rpb24pOwotCi0gICAgbV9yZW1vdGVDaGFubmVsID0gY2hhbm5l
bDsKLSAgICBzZXRJc1BhaXJlZCh0cnVlKTsKLX0KLQotdm9pZCBXZWJBdXRvbWF0aW9uU2Vzc2lv
bjo6ZGlzY29ubmVjdChJbnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCogY2hhbm5lbCkKLXsKLSAg
ICBtX3JlbW90ZUNoYW5uZWwgPSBudWxscHRyOwotICAgIHNldElzUGFpcmVkKGZhbHNlKTsKLSAg
ICAKLSAgICBpZiAobV9jbGllbnQpCi0gICAgICAgIG1fY2xpZW50LT5kaWREaXNjb25uZWN0RnJv
bVJlbW90ZSh0aGlzKTsKLX0KLQotI2VuZGlmIC8vIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQot
Ci19IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YkF1dG9tYXRpb25TZXNzaW9uLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg4MzVl
ZmQ2YzhlMzEyZTlkODE5OTY0ZTM2MzE5MTg4MDY2ZmI3YzguLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkF1
dG9tYXRpb25TZXNzaW9uLmgKKysrIC9kZXYvbnVsbApAQCAtMSw3NyArMCwwIEBACi0vKgotICog
Q29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0g
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
LSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
Ci0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0g
Ki8KLQotI2lmbmRlZiBXZWJBdXRvbWF0aW9uU2Vzc2lvbl9oCi0jZGVmaW5lIFdlYkF1dG9tYXRp
b25TZXNzaW9uX2gKLQotI2luY2x1ZGUgIkFQSU9iamVjdC5oIgotI2luY2x1ZGUgPHd0Zi9Gb3J3
YXJkLmg+Ci0KLSNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKLSNpbmNsdWRlIDxKYXZhU2Ny
aXB0Q29yZS9SZW1vdGVBdXRvbWF0aW9uVGFyZ2V0Lmg+Ci0jZW5kaWYKLQotbmFtZXNwYWNlIEFQ
SSB7Ci1jbGFzcyBBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudDsKLX0KLQotbmFtZXNwYWNlIFdlYktp
dCB7Ci0KLWNsYXNzIFdlYkF1dG9tYXRpb25TZXNzaW9uQ2xpZW50OwotCi1jbGFzcyBXZWJBdXRv
bWF0aW9uU2Vzc2lvbiBmaW5hbCA6IHB1YmxpYyBBUEk6Ok9iamVjdEltcGw8QVBJOjpPYmplY3Q6
OlR5cGU6OkF1dG9tYXRpb25TZXNzaW9uPgotI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQot
ICAgICwgcHVibGljIEluc3BlY3Rvcjo6UmVtb3RlQXV0b21hdGlvblRhcmdldAotI2VuZGlmCi17
Ci1wdWJsaWM6Ci0gICAgV2ViQXV0b21hdGlvblNlc3Npb24oKTsKLSAgICB+V2ViQXV0b21hdGlv
blNlc3Npb24oKTsKLQotICAgIHZvaWQgc2V0Q2xpZW50KHN0ZDo6dW5pcXVlX3B0cjxBUEk6OkF1
dG9tYXRpb25TZXNzaW9uQ2xpZW50Pik7Ci0KLSAgICB2b2lkIHNldFNlc3Npb25JZGVudGlmaWVy
KGNvbnN0IFN0cmluZyYgc2Vzc2lvbklkZW50aWZpZXIpIHsgbV9zZXNzaW9uSWRlbnRpZmllciA9
IHNlc3Npb25JZGVudGlmaWVyOyB9Ci0gICAgU3RyaW5nIHNlc3Npb25JZGVudGlmaWVyKCkgY29u
c3QgeyByZXR1cm4gbV9zZXNzaW9uSWRlbnRpZmllcjsgfQotCi0jaWYgRU5BQkxFKFJFTU9URV9J
TlNQRUNUT1IpCi0gICAgLy8gSW5zcGVjdG9yOjpSZW1vdGVBdXRvbWF0aW9uVGFyZ2V0IEFQSQot
ICAgIHZpcnR1YWwgU3RyaW5nIG5hbWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX3Nlc3Np
b25JZGVudGlmaWVyOyB9Ci0gICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoTWVzc2FnZUZyb21SZW1v
dGUoY29uc3QgU3RyaW5nJiBtZXNzYWdlKSBvdmVycmlkZTsKLSAgICB2aXJ0dWFsIHZvaWQgY29u
bmVjdChJbnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCosIGJvb2wgaXNBdXRvbWF0aWNDb25uZWN0
aW9uID0gZmFsc2UpIG92ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9pZCBkaXNjb25uZWN0KEluc3Bl
Y3Rvcjo6RnJvbnRlbmRDaGFubmVsKikgb3ZlcnJpZGU7Ci0jZW5kaWYKLQotcHJpdmF0ZToKLSAg
ICBzdGQ6OnVuaXF1ZV9wdHI8QVBJOjpBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudD4gbV9jbGllbnQ7
Ci0gICAgU3RyaW5nIG1fc2Vzc2lvbklkZW50aWZpZXIgeyBBU0NJSUxpdGVyYWwoIlVudGl0bGVk
IFNlc3Npb24iKSB9OwotCi0jaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCi0gICAgSW5zcGVj
dG9yOjpGcm9udGVuZENoYW5uZWwqIG1fcmVtb3RlQ2hhbm5lbCB7IG51bGxwdHIgfTsKLSNlbmRp
ZgotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0Ci0KLSNlbmRpZiAvLyBXZWJBdXRvbWF0aW9u
U2Vzc2lvbl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKaW5kZXggZjY1OWI3MTYxNmQxMWU5NTdiNTE5ZjkyMzI3YTcyYmYyMDgwYzQ4My4u
ZGNiODEyOWQ2ZDQ3MzEzOTM5ZmRkMGNhYWJmMGRlZGU1MGEwYmQ3NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTIzMSw5ICsx
MjMxLDE0IEBACiAJCTk5MEQyOEIyMUM2NTIwOTQwMDk4Njk3NyAvKiBfV0tBdXRvbWF0aW9uU2Vz
c2lvbi5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk5
MEQyOEFEMUM2NTE5MDQwMDk4Njk3NyAvKiBfV0tBdXRvbWF0aW9uU2Vzc2lvbi5tbSAqLzsgfTsK
IAkJOTkwRDI4QkIxQzY1MzlEMzAwOTg2OTc3IC8qIEF1dG9tYXRpb25TZXNzaW9uQ2xpZW50Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5OTBEMjhCNzFD
NjUzOUEwMDA5ODY5NzcgLyogQXV0b21hdGlvblNlc3Npb25DbGllbnQuaCAqLzsgfTsKIAkJOTkw
RDI4QkMxQzY1MzlEQTAwOTg2OTc3IC8qIEF1dG9tYXRpb25TZXNzaW9uQ2xpZW50Lm1tIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTkwRDI4QjgxQzY1MzlB
MDAwOTg2OTc3IC8qIEF1dG9tYXRpb25TZXNzaW9uQ2xpZW50Lm1tICovOyB9OwotCQk5OTBEMjhC
RjFDNjU0RDM5MDA5ODY5NzcgLyogV2ViQXV0b21hdGlvblNlc3Npb24uY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTkwRDI4QkQxQzY1NDkwQTAwOTg2
OTc3IC8qIFdlYkF1dG9tYXRpb25TZXNzaW9uLmNwcCAqLzsgfTsKIAkJOTkwRDI4QzAxQzY1NTNG
MTAwOTg2OTc3IC8qIEFQSUF1dG9tYXRpb25TZXNzaW9uQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5OTBEMjhCMzFDNjUyNkQ0MDA5ODY5Nzcg
LyogQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaCAqLzsgfTsKLQkJOTkwRDI4QzExQzY1NjI2
NTAwOTg2OTc3IC8qIFdlYkF1dG9tYXRpb25TZXNzaW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5OTBEMjhCNTFDNjUyNkY1MDA5ODY5NzcgLyogV2Vi
QXV0b21hdGlvblNlc3Npb24uaCAqLzsgfTsKKwkJOTk1NUE2RUMxQzc5ODBDMjAwRUI2QTkzIC8q
IFdlYkF1dG9tYXRpb25TZXNzaW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5OTU1QTZFQjFDNzk4MEJCMDBFQjZBOTMgLyogV2ViQXV0b21hdGlvblNl
c3Npb24uaCAqLzsgfTsKKwkJOTk1NUE2RUQxQzc5ODBDQTAwRUI2QTkzIC8qIFdlYkF1dG9tYXRp
b25TZXNzaW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDk5NTVBNkVBMUM3OTgwQkIwMEVCNkE5MyAvKiBXZWJBdXRvbWF0aW9uU2Vzc2lvbi5jcHAg
Ki87IH07CisJCTk5NTVBNkVGMUM3OTgxMDgwMEVCNkE5MyAvKiBBdXRvbWF0aW9uLmpzb24gaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5OTU1QTZFOTFDNzk4
MEJCMDBFQjZBOTMgLyogQXV0b21hdGlvbi5qc29uICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCTk5NTVBNkY0MUM3OTg2REMwMEVCNkE5MyAvKiBJbnNw
ZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gOTk1NUE2RjAxQzc5ODY2NDAwRUI2QTkzIC8qIEluc3BlY3RvckJh
Y2tlbmREaXNwYXRjaGVycy5jcHAgKi87IH07CisJCTk5NTVBNkY1MUM3OTg2RTAwMEVCNkE5MyAv
KiBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk5NTVBNkYxMUM3OTg2NjQwMEVCNkE5MyAvKiBJbnNwZWN0
b3JCYWNrZW5kRGlzcGF0Y2hlcnMuaCAqLzsgfTsKKwkJOTk1NUE2RjYxQzc5ODZFMzAwRUI2QTkz
IC8qIEluc3BlY3RvclByb3RvY29sT2JqZWN0cy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5OTU1QTZGMjFDNzk4NjY0MDBFQjZBOTMgLyogSW5zcGVj
dG9yUHJvdG9jb2xPYmplY3RzLmNwcCAqLzsgfTsKKwkJOTk1NUE2RjcxQzc5ODZFNTAwRUI2QTkz
IC8qIEluc3BlY3RvclByb3RvY29sT2JqZWN0cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gOTk1NUE2RjMxQzc5ODY2NDAwRUI2QTkzIC8qIEluc3BlY3Rv
clByb3RvY29sT2JqZWN0cy5oICovOyB9OwogCQk5OUM4MUQ1OTFDMjBFMUU1MDA1QzRDODIgLyog
QXV0b21hdGlvbkNsaWVudC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDk5QzgxRDU2MUMyMERGQkUwMDVDNEM4MiAvKiBBdXRvbWF0aW9uQ2xpZW50Lm1t
ICovOyB9OwogCQk5OUM4MUQ1QTFDMjBFN0UyMDA1QzRDODIgLyogQXV0b21hdGlvbkNsaWVudC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTlDODFENTUx
QzIwREZCRTAwNUM0QzgyIC8qIEF1dG9tYXRpb25DbGllbnQuaCAqLzsgfTsKIAkJOTlDODFENUQx
QzIxRjM4QjAwNUM0QzgyIC8qIEFQSUF1dG9tYXRpb25DbGllbnQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk5QzgxRDVCMUMyMEU4MTcwMDVDNEM4MiAv
KiBBUElBdXRvbWF0aW9uQ2xpZW50LmggKi87IH07CkBAIC0zMjU2LDEwICszMjYxLDE1IEBACiAJ
CTk5MEQyOEFEMUM2NTE5MDQwMDk4Njk3NyAvKiBfV0tBdXRvbWF0aW9uU2Vzc2lvbi5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IF9XS0F1dG9tYXRpb25TZXNzaW9u
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5OTBEMjhBRjFDNjUyMDM5MDA5ODY5
NzcgLyogX1dLQXV0b21hdGlvblNlc3Npb25JbnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBfV0tBdXRvbWF0aW9uU2Vzc2lvbkludGVybmFsLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTk5MEQyOEIzMUM2NTI2RDQwMDk4Njk3NyAvKiBBUElBdXRvbWF0
aW9uU2Vzc2lvbkNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBUElB
dXRvbWF0aW9uU2Vzc2lvbkNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk5
OTBEMjhCNTFDNjUyNkY1MDA5ODY5NzcgLyogV2ViQXV0b21hdGlvblNlc3Npb24uaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQXV0b21hdGlvblNlc3Npb24uaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTkwRDI4QjcxQzY1MzlBMDAwOTg2OTc3IC8qIEF1dG9t
YXRpb25TZXNzaW9uQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEF1
dG9tYXRpb25TZXNzaW9uQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk5
MEQyOEI4MUM2NTM5QTAwMDk4Njk3NyAvKiBBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudC5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEF1dG9tYXRpb25TZXNzaW9uQ2xp
ZW50Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk5OTBEMjhCRDFDNjU0OTBBMDA5
ODY5NzcgLyogV2ViQXV0b21hdGlvblNlc3Npb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gV2ViQXV0b21hdGlvblNlc3Npb24uY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk5OTU1QTZFOTFDNzk4MEJCMDBFQjZBOTMgLyogQXV0b21hdGlvbi5qc29u
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gdGV4dC5qc29uOyBwYXRoID0gQXV0b21hdGlvbi5qc29uOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk5OTU1QTZFQTFDNzk4MEJCMDBFQjZBOTMgLyogV2ViQXV0b21h
dGlvblNlc3Npb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2Vi
QXV0b21hdGlvblNlc3Npb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5OTU1
QTZFQjFDNzk4MEJCMDBFQjZBOTMgLyogV2ViQXV0b21hdGlvblNlc3Npb24uaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQXV0b21hdGlvblNlc3Npb24uaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTk1NUE2RjAxQzc5ODY2NDAwRUI2QTkzIC8qIEluc3BlY3Rv
ckJhY2tlbmREaXNwYXRjaGVycy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk5OTU1QTZGMTFDNzk4NjY0MDBFQjZBOTMgLyogSW5zcGVjdG9yQmFja2VuZERp
c3BhdGNoZXJzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluc3BlY3RvckJh
Y2tlbmREaXNwYXRjaGVycy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5OTU1QTZG
MjFDNzk4NjY0MDBFQjZBOTMgLyogSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEluc3BlY3RvclByb3RvY29sT2JqZWN0cy5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk5NTVBNkYzMUM3OTg2NjQwMEVCNkE5
MyAvKiBJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTk5QzgxRDU1MUMyMERGQkUwMDVDNEM4MiAvKiBBdXRvbWF0aW9uQ2xpZW50Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEF1dG9tYXRpb25DbGllbnQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTlDODFENTYxQzIwREZCRTAwNUM0QzgyIC8qIEF1
dG9tYXRpb25DbGllbnQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBBdXRvbWF0aW9uQ2xpZW50Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5OUM4
MUQ1QjFDMjBFODE3MDA1QzRDODIgLyogQVBJQXV0b21hdGlvbkNsaWVudC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBBUElBdXRvbWF0aW9uQ2xpZW50Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC01NjExLDYgKzU2MjEsMTYgQEAKIAkJCXBhdGggPSBtYWM7CiAJ
CQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OworCQk5OTU1QTZFODFDNzk4MDkwMDBFQjZB
OTMgLyogQXV0b21hdGlvbiAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4g
PSAoCisJCQkJOTk1NUE2RTkxQzc5ODBCQjAwRUI2QTkzIC8qIEF1dG9tYXRpb24uanNvbiAqLywK
KwkJCQk5OTU1QTZFQTFDNzk4MEJCMDBFQjZBOTMgLyogV2ViQXV0b21hdGlvblNlc3Npb24uY3Bw
ICovLAorCQkJCTk5NTVBNkVCMUM3OTgwQkIwMEVCNkE5MyAvKiBXZWJBdXRvbWF0aW9uU2Vzc2lv
bi5oICovLAorCQkJKTsKKwkJCXBhdGggPSBBdXRvbWF0aW9uOworCQkJc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsKKwkJfTsKIAkJQTE4MkQ1QjExQkU2QkNGNDAwODdBN0NDIC8qIGlvcyAqLyA9IHsK
IAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCkBAIC01ODA1LDYgKzU4MjUsNyBA
QAogCQkJY2hpbGRyZW4gPSAoCiAJCQkJQkMwMzJEQzQxMEY0Mzg3QzAwNThDMTVBIC8qIEFQSSAq
LywKIAkJCQk1MTJGNTg4RDEyQTg4MzZGMDA2Mjk1MzAgLyogQXV0aGVudGljYXRpb24gKi8sCisJ
CQkJOTk1NUE2RTgxQzc5ODA5MDAwRUI2QTkzIC8qIEF1dG9tYXRpb24gKi8sCiAJCQkJMUFCQzNE
RjIxODk5RTQxNTAwNEYwNjI2IC8qIENvY29hICovLAogCQkJCTFBQjdENEM3MTI4OEFBOUEwMENG
RDA4QyAvKiBEb3dubG9hZHMgKi8sCiAJCQkJMkRBOTQ0QTgxODg0RTlBQjAwRUQ4NkRCIC8qIGlv
cyAqLywKQEAgLTU4NTYsOCArNTg3Nyw2IEBACiAJCQkJMUEwRjI5RTExMjBCNDQ0MjAwNTNEMUI5
IC8qIFZpc2l0ZWRMaW5rU3RvcmUuY3BwICovLAogCQkJCTFBMEYyOUUyMTIwQjQ0NDIwMDUzRDFC
OSAvKiBWaXNpdGVkTGlua1N0b3JlLmggKi8sCiAJCQkJMUE2MDIyNDkxOEMxNkIwODAwQzNFOEM5
IC8qIFZpc2l0ZWRMaW5rU3RvcmUubWVzc2FnZXMuaW4gKi8sCi0JCQkJOTkwRDI4QkQxQzY1NDkw
QTAwOTg2OTc3IC8qIFdlYkF1dG9tYXRpb25TZXNzaW9uLmNwcCAqLywKLQkJCQk5OTBEMjhCNTFD
NjUyNkY1MDA5ODY5NzcgLyogV2ViQXV0b21hdGlvblNlc3Npb24uaCAqLywKIAkJCQlCQzcyQkEx
QjExRTY0OTA3MDAxRUI0RUEgLyogV2ViQmFja0ZvcndhcmRMaXN0LmNwcCAqLywKIAkJCQlCQzcy
QkExQzExRTY0OTA3MDAxRUI0RUEgLyogV2ViQmFja0ZvcndhcmRMaXN0LmggKi8sCiAJCQkJRjAz
Njk3ODcxNUY0QkYwNTAwQzNBODBFIC8qIFdlYkNvbG9yUGlja2VyLmNwcCAqLywKQEAgLTY4MzAs
NiArNjg0OSwxMCBAQAogCQkJCTFBNjQyMzA3MTJERDA5RUIwMENBQUUyQyAvKiBEcmF3aW5nQXJl
YVByb3h5TWVzc2FnZXMuaCAqLywKIAkJCQkxQUE1NzVGRjE0OTZCN0MwMDBBNEVFMDYgLyogRXZl
bnREaXNwYXRjaGVyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKIAkJCQkxQUE1NzYwMDE0OTZCN0Mw
MDBBNEVFMDYgLyogRXZlbnREaXNwYXRjaGVyTWVzc2FnZXMuaCAqLywKKwkJCQk5OTU1QTZGMDFD
Nzk4NjY0MDBFQjZBOTMgLyogSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzLmNwcCAqLywKKwkJ
CQk5OTU1QTZGMTFDNzk4NjY0MDBFQjZBOTMgLyogSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJz
LmggKi8sCisJCQkJOTk1NUE2RjIxQzc5ODY2NDAwRUI2QTkzIC8qIEluc3BlY3RvclByb3RvY29s
T2JqZWN0cy5jcHAgKi8sCisJCQkJOTk1NUE2RjMxQzc5ODY2NDAwRUI2QTkzIC8qIEluc3BlY3Rv
clByb3RvY29sT2JqZWN0cy5oICovLAogCQkJCTUxREQ5RjI2MTYzNjdEQTIwMDE1NzhFOSAvKiBO
ZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzc01lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJ
NTFERDlGMjcxNjM2N0RBMjAwMTU3OEU5IC8qIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNz
TWVzc2FnZXMuaCAqLywKIAkJCQk1MTdDRjBFMTE2M0E0ODZDMDBDMjk1MEUgLyogTmV0d29ya1By
b2Nlc3NDb25uZWN0aW9uTWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKQEAgLTcxNzIsNiArNzE5NSw3
IEBACiAJCQkJOTNFNkE0RUUxQkM1REQzOTAwRjhBMEU3IC8qIF9XS0hpdFRlc3RSZXN1bHQuaCBp
biBIZWFkZXJzICovLAogCQkJCTkzQTg4QjNCMUJDNzEwRDkwMEFCQTVDMiAvKiBfV0tIaXRUZXN0
UmVzdWx0SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTM3QTY0RTU1MThGMzhFM0MwMEVC
MzBGMSAvKiBfV0tJbnB1dERlbGVnYXRlLmggaW4gSGVhZGVycyAqLywKKwkJCQk5OTU1QTZFRjFD
Nzk4MTA4MDBFQjZBOTMgLyogQXV0b21hdGlvbi5qc29uIGluIEhlYWRlcnMgKi8sCiAJCQkJMkQ3
OTBBOUQxQUQ3MDUwRDAwQUI5MEIzIC8qIF9XS0xheW91dE1vZGUuaCBpbiBIZWFkZXJzICovLAog
CQkJCUExMThBOUYzMTkwOEI4RUEwMEY3QzkyQiAvKiBfV0tOU0ZpbGVNYW5hZ2VyRXh0cmFzLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk5MzIzNjExRTFCMDE1REE4MDBGQTkyMzIgLyogX1dLT3Zlcmxh
eVNjcm9sbGJhclN0eWxlLmggaW4gSGVhZGVycyAqLywKQEAgLTczNTIsMTIgKzczNzYsMTIgQEAK
IAkJCQlFMUVFNTNFMzExRjhDRkMwMDBDQ0JFRTQgLyogSW5qZWN0ZWRCdW5kbGVQYWdlRWRpdG9y
Q2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzE0RTEwQTEyMEI5MDVFMDA4MjZDMEMgLyog
SW5qZWN0ZWRCdW5kbGVQYWdlRm9ybUNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTEwNTIz
ODIxQzc1NDFGRjAwNzk5M0NCIC8qIExlZ2FjeVVuaXF1ZUlEQkRhdGFiYXNlSWRlbnRpZmllci5o
IGluIEhlYWRlcnMgKi8sCi0JCQkJOTkwRDI4QzExQzY1NjI2NTAwOTg2OTc3IC8qIFdlYkF1dG9t
YXRpb25TZXNzaW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRDVDNjZBMTEzNEI5RDM4MDA0RkUy
QTggLyogSW5qZWN0ZWRCdW5kbGVQYWdlRnVsbFNjcmVlbkNsaWVudC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQkNBOEM2QTkxMUUzQkE1RjAwODEyRkI3IC8qIEluamVjdGVkQnVuZGxlUGFnZUxvYWRl
ckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTEwNTIzODAxQzc1NDFGRjAwNzk5M0NCIC8q
IExlZ2FjeVVuaXF1ZUlEQkRhdGFiYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzgxNDdBOTEy
RjY0Q0RBMDA3QjJDMzIgLyogSW5qZWN0ZWRCdW5kbGVQYWdlUG9saWN5Q2xpZW50LmggaW4gSGVh
ZGVycyAqLywKIAkJCQlCQ0E4QzZCMDExRTNDMDg3MDA4MTJGQjcgLyogSW5qZWN0ZWRCdW5kbGVQ
YWdlVUlDbGllbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTk5NTVBNkY3MUM3OTg2RTUwMEVCNkE5
MyAvKiBJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMzNF
MEQxMTI0MDhFODYwMDM2MEYzRiAvKiBJbmplY3RlZEJ1bmRsZVJhbmdlSGFuZGxlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlCQzE0REY3NzEyMEI1Qjc5MDA4MjZDMEMgLyogSW5qZWN0ZWRCdW5kbGVT
Y3JpcHRXb3JsZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzU4Q0RGMkExODg3NTQ4QjAwODcxNTM2
IC8qIEludGVyYWN0aW9uSW5mb3JtYXRpb25BdFBvc2l0aW9uLmggaW4gSGVhZGVycyAqLywKQEAg
LTc0MjIsNiArNzQ0Niw3IEBACiAJCQkJRTE0QTk1NEExNkUwMTZBNDAwNjhERTgyIC8qIE5ldHdv
cmtQcm9jZXNzUGxhdGZvcm1TdHJhdGVnaWVzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTc5NTU2
RTE2Mjg3N0IzMDBGQTQzQjYgLyogTmV0d29ya1Byb2Nlc3NQcm94eS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNTEzQTE2M0QxNjMwODhGNjAwNUQ3RDIyIC8qIE5ldHdvcmtQcm9jZXNzUHJveHlNZXNz
YWdlcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTk1NUE2RjUxQzc5ODZFMDAwRUI2QTkzIC8qIElu
c3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTFGRDE4QjYx
NjUxRkJBRDAwREJFMUNFIC8qIE5ldHdvcmtSZXNvdXJjZUxvYWRlci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJRTE1MjU1MUIxNzAxMTgxOTAwM0Q3QURCIC8qIE5ldHdvcmtSZXNvdXJjZUxvYWRlck1l
c3NhZ2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1QzIwQ0JBMDFCQjFFQ0Q4MDA4OTVCQjEgLyog
TmV0d29ya1Nlc3Npb24uaCBpbiBIZWFkZXJzICovLApAQCAtNzUyNCw2ICs3NTQ5LDcgQEAKIAkJ
CQkxQTAwMkQ0OTE5NkIzNDVEMDBCOUFENDQgLyogU2Vzc2lvblN0YXRlQ29kaW5nLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk3NTNFM0UwRTE4ODczOTg5MDAxODg0OTYgLyogU2Vzc2lvblRyYWNrZXIu
aCBpbiBIZWFkZXJzICovLAogCQkJCTk5QzgxRDVBMUMyMEU3RTIwMDVDNEM4MiAvKiBBdXRvbWF0
aW9uQ2xpZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQk5OTU1QTZFQzFDNzk4MEMyMDBFQjZBOTMg
LyogV2ViQXV0b21hdGlvblNlc3Npb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTFBNjQyMEU1MTJE
Q0UyRkYwMENBQUUyQyAvKiBTaGFyZWFibGVCaXRtYXAuaCBpbiBIZWFkZXJzICovLAogCQkJCTUx
MjE3NDYxMTY0QzIwRTMwMDM3QTVDMSAvKiBTaGFyZWFibGVSZXNvdXJjZS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMUEyNEJFRDUxMjA4OTREMTAwRkJCMDU5IC8qIFNoYXJlZE1lbW9yeS5oIGluIEhl
YWRlcnMgKi8sCkBAIC04NjEzLDcgKzg2MzksNyBAQAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBs
b3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQkJc2hlbGxQYXRoID0gL2Jpbi9zaDsKLQkJCXNo
ZWxsU2NyaXB0ID0gIm1rZGlyIC1wIFwiJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0Rlcml2ZWRTb3Vy
Y2VzL1dlYktpdDJcIlxuY2QgXCIke0JVSUxUX1BST0RVQ1RTX0RJUn0vRGVyaXZlZFNvdXJjZXMv
V2ViS2l0MlwiXG5cbmV4cG9ydCBXZWJLaXQyPVwiJHtTUkNST09UfVwiXG5cbmlmIFsgISAkQ0Mg
XTsgdGhlblxuICAgIGV4cG9ydCBDQz1cImB4Y3J1biAtZmluZCBjbGFuZ2BcIlxuZmlcblxuTUFL
RUZJTEVfSU5DTFVERV9GTEFHUz0kKGVjaG8gXCIke1dFQktJVEFERElUSU9OU19IRUFERVJfU0VB
UkNIX1BBVEhTfVwiIHwgcGVybCAtZSAncHJpbnQgXCItSVwiIC4gam9pbihcIiAtSVwiLCBzcGxp
dChcIiBcIiwgPD4pKTsnKVxuXG5pZiBbIFwiJHtBQ1RJT059XCIgPSBcImJ1aWxkXCIgLW8gXCIk
e0FDVElPTn1cIiA9IFwiaW5zdGFsbFwiIC1vIFwiJHtBQ1RJT059XCIgPSBcImluc3RhbGxoZHJz
XCIgXTsgdGhlblxuICAgIG1ha2UgLS1uby1idWlsdGluLXJ1bGVzICR7TUFLRUZJTEVfSU5DTFVE
RV9GTEFHU30gLWYgXCIke1dlYktpdDJ9L0Rlcml2ZWRTb3VyY2VzLm1ha2VcIiAtaiBgL3Vzci9z
YmluL3N5c2N0bCAtbiBody5hY3RpdmVjcHVgIFNES1JPT1Q9JHtTREtST09UfVxuZmlcbiI7CisJ
CQlzaGVsbFNjcmlwdCA9ICJta2RpciAtcCBcIiR7QlVJTFRfUFJPRFVDVFNfRElSfS9EZXJpdmVk
U291cmNlcy9XZWJLaXQyXCJcbmNkIFwiJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0Rlcml2ZWRTb3Vy
Y2VzL1dlYktpdDJcIlxuXG5leHBvcnQgV2ViS2l0Mj1cIiR7U1JDUk9PVH1cIlxuXG4vYmluL2xu
IC1zZmggXCIke0pBVkFTQ1JJUFRDT1JFX1BSSVZBVEVfSEVBREVSU19ESVJ9XCIgSmF2YVNjcmlw
dENvcmVQcml2YXRlSGVhZGVyc1xuZXhwb3J0IEphdmFTY3JpcHRDb3JlX1NDUklQVFNfRElSPVwi
SmF2YVNjcmlwdENvcmVQcml2YXRlSGVhZGVyc1wiXG5cbmlmIFsgISAkQ0MgXTsgdGhlblxuICAg
IGV4cG9ydCBDQz1cImB4Y3J1biAtZmluZCBjbGFuZ2BcIlxuZmlcblxuTUFLRUZJTEVfSU5DTFVE
RV9GTEFHUz0kKGVjaG8gXCIke1dFQktJVEFERElUSU9OU19IRUFERVJfU0VBUkNIX1BBVEhTfVwi
IHwgcGVybCAtZSAncHJpbnQgXCItSVwiIC4gam9pbihcIiAtSVwiLCBzcGxpdChcIiBcIiwgPD4p
KTsnKVxuXG5pZiBbIFwiJHtBQ1RJT059XCIgPSBcImJ1aWxkXCIgLW8gXCIke0FDVElPTn1cIiA9
IFwiaW5zdGFsbFwiIC1vIFwiJHtBQ1RJT059XCIgPSBcImluc3RhbGxoZHJzXCIgXTsgdGhlblxu
ICAgIG1ha2UgLS1uby1idWlsdGluLXJ1bGVzICR7TUFLRUZJTEVfSU5DTFVERV9GTEFHU30gLWYg
XCIke1dlYktpdDJ9L0Rlcml2ZWRTb3VyY2VzLm1ha2VcIiAtaiBgL3Vzci9zYmluL3N5c2N0bCAt
biBody5hY3RpdmVjcHVgIFNES1JPT1Q9JHtTREtST09UfVxuZmlcbiI7CiAJCX07CiAvKiBFbmQg
UEJYU2hlbGxTY3JpcHRCdWlsZFBoYXNlIHNlY3Rpb24gKi8KIApAQCAtODY0OCw2ICs4Njc0LDcg
QEAKIAkJCWZpbGVzID0gKAogCQkJCTM3QTVFMDEzMThCQkY5MzcwMDBBMDgxRSAvKiBfV0tBY3Rp
dmF0ZWRFbGVtZW50SW5mby5tbSBpbiBTb3VyY2VzICovLAogCQkJCTFBNTcwNEY3MUJFMDFGRjQw
MDg3NEFGMSAvKiBfV0tDb250ZXh0TWVudUVsZW1lbnRJbmZvLm1tIGluIFNvdXJjZXMgKi8sCisJ
CQkJOTk1NUE2RjQxQzc5ODZEQzAwRUI2QTkzIC8qIEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVy
cy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBMUE0RkU1QjE4RENFOUZBMDBCNUVBOEEgLyogX1dL
RG93bmxvYWQubW0gaW4gU291cmNlcyAqLywKIAkJCQkzNzlBODczOTE4QkJGRTBGMDA1ODhBRjIg
LyogX1dLRWxlbWVudEFjdGlvbi5tbSBpbiBTb3VyY2VzICovLAogCQkJCTFBNTcwNEYxMUJFMDE3
M0YwMDg3NEFGMSAvKiBfV0tFbGVtZW50SW5mby5tbSBpbiBTb3VyY2VzICovLApAQCAtOTAyMiw2
ICs5MDQ5LDcgQEAKIAkJCQkxQUMxMzM2NzE4NTY1QjU3MDBGM0VDMDUgLyogVXNlckRhdGEuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMTU3MzlCQkMxQjQyMDQwMzAwRDI1OEMxIC8qIFVzZXJNZWRp
YVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0QTNDQzE4
QTE5QjA2M0U3MDBEMTRBRUYgLyogVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJv
eHkuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJOTk1NUE2RUQxQzc5ODBDQTAwRUI2QTkzIC8qIFdl
YkF1dG9tYXRpb25TZXNzaW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTRBM0NDMThDMTlCMDY0
MTUwMEQxNEFFRiAvKiBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdFByb3h5LmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUU0RTg2NDkyMUIxNjc1MDEwMEM4MkY0MCAvKiBWZXJzaW9uQ2hlY2tzLm1t
IGluIFNvdXJjZXMgKi8sCiAJCQkJMkRBRjRGRkIxQjYzNjE4MTAwNjAxM0Q2IC8qIFZpZXdHZXN0
dXJlQ29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLywKQEAgLTkxNTYsNiArOTE4NCw3IEBACiAJ
CQkJQkM4NTdGQjYxMkI4MzBFNjAwRURFQjJFIC8qIFdlYk9wZW5QYW5lbFBhcmFtZXRlcnMuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJQkM4NTdGODYxMkI4MkQwQjAwRURFQjJFIC8qIFdlYk9wZW5Q
YW5lbFJlc3VsdExpc3RlbmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDODU3RjdFMTJCODJD
RUUwMEVERUIyRSAvKiBXZWJPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lclByb3h5LmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCTk5NTVBNkY2MUM3OTg2RTMwMEVCNkE5MyAvKiBJbnNwZWN0b3JQcm90b2Nv
bE9iamVjdHMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM5NjNENkIxMTNERDE5MjAwNTc0QkUy
IC8qIFdlYlBhZ2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQzA2QzYwOTUxMjRDMTQ0QjAwMDE2
ODJGIC8qIFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
ODM3MkRCMjgxQTY3NTYyODAwQzY5N0M1IC8qIFdlYlBhZ2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVu
dC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTkzNDIsNyArOTM3MSw2IEBACiAJCQkJQzk4QzQ4QTkx
QjZGRDVCNTAwMTQ1MTAzIC8qIFdLTWVkaWFTZXNzaW9uRm9jdXNNYW5hZ2VyLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUM5Q0Q0MzlFMUI0QjAyNTMwMDIzOUUzMyAvKiBXS01lZGlhU2Vzc2lvbk1l
dGFkYXRhLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDNDA3NUZEMTI0RkYwMjcwMDY4RjIwQSAv
KiBXS011dGFibGVBcnJheS5jcHAgaW4gU291cmNlcyAqLywKLQkJCQk5OTBEMjhCRjFDNjU0RDM5
MDA5ODY5NzcgLyogV2ViQXV0b21hdGlvblNlc3Npb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QkM0MDc1RkYxMjRGRjAyNzAwNjhGMjBBIC8qIFdLTXV0YWJsZURpY3Rpb25hcnkuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJMUE1QjFDNTAxODk4NjA2RjAwNEZDRjlCIC8qIFdLTmF2aWdhdGlvbi5t
bSBpbiBTb3VyY2VzICovLAogCQkJCTFBMjU2RTM3MThBMUE3ODgwMDZGQjkyMiAvKiBXS05hdmln
YXRpb25BY3Rpb24ubW0gaW4gU291cmNlcyAqLywK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>271948</attachid>
            <date>2016-02-22 13:16:11 -0800</date>
            <delta_ts>2016-02-22 18:45:27 -0800</delta_ts>
            <desc>Take 2</desc>
            <filename>bug-154509-20160222131553.patch</filename>
            <type>text/plain</type>
            <size>48914</size>
            <attacher name="Blaze Burg">bburg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk2ODkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
ZDZkZDFkNDMzNzc0MDE3ZGJiZjcwOTNiODhjMTUyNWE1NmZmOWYyLi4wODJkM2E4MTZhODg4NzA0
N2YzNzY2YzA2YWZkYjNmZDY4ZDE5MTJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyOSBAQAorMjAxNi0wMi0yMiAgQnJpYW4gQnVyZyAgPGJidXJnQGFwcGxlLmNvbT4KKwor
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBhZGQgJ0F1dG9tYXRpb24nIHByb3RvY29sIGRvbWFpbiBh
bmQgZ2VuZXJhdGUgaXRzIGJhY2tlbmQgY2xhc3NlcyBzZXBhcmF0ZWx5IGluIFdlYktpdDIKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NDUwOQorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vMjQ3NTkwOTg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVGlt
b3RoeSBIYXRjaGVyLgorCisgICAgICAgIEFkZCBhIG5ldyAnV2ViS2l0JyBmcmFtZXdvcmssIHdo
aWNoIGlzIHVzZWQgdG8gZ2VuZXJhdGUgcHJvdG9jb2wgY29kZQorICAgICAgICBpbiBXZWJLaXQy
LgorCisgICAgICAgIEFkZCAtLWJhY2tlbmQgYW5kIC0tZnJvbnRlbmQgZmxhZ3MgdG8gdGhlIG1h
aW4gZ2VuZXJhdG9yIHNjcmlwdC4KKyAgICAgICAgVGhlc2UgYWxsb3cgYSBmcmFtZXdvcmsgdG8g
dHJpZ2dlciB0d28gZGlmZmVyZW50IHNldHMgb2YgZ2VuZXJhdG9ycworICAgICAgICBzbyB0aGV5
IGNhbiBiZSBzZXBhcmF0ZWx5IGdlbmVyYXRlZCBhbmQgY29tcGlsZWQuCisKKyAgICAgICAgKiBp
bnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL21vZGVscy5weToKKyAgICAgICAgKEZyYW1ld29yay5m
cm9tU3RyaW5nKToKKyAgICAgICAgKEZyYW1ld29ya3MpOiBBZGQgbmV3IGZyYW1ld29yay4KKwor
ICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC1i
aW5kaW5ncy5weToKKyAgICAgICAgSWYgbmVpdGhlciAtLWJhY2tlbmQgb3IgLS1mcm9udGVuZCBp
cyBzcGVjaWZpZWQsIGFzc3VtZSBib3RoIGFyZSB3YW50ZWQuCisgICAgICAgIFRoaXMgbWF0Y2hl
cyB0aGUgYmVoYXZpb3IgZm9yIEphdmFTY3JpcHRDb3JlIGFuZCBXZWJJbnNwZWN0b3IgZnJhbWV3
b3Jrcy4KKworICAgICAgICAoZ2VuZXJhdGVfZnJvbV9zcGVjaWZpY2F0aW9uKToKKyAgICAgICAg
R2VuZXJhdGUgQysrIGZpbGVzIGZvciB0aGUgYmFja2VuZCBhbmQgT2JqZWN0aXZlLUMgZmlsZXMg
Zm9yIHRoZSBmcm9udGVuZC4KKwogMjAxNi0wMi0yMSAgU3Vrb2xzYWsgU2Frc2h1d29uZyAgPHN1
a29sc2FrQGdtYWlsLmNvbT4KIAogICAgICAgICBJbXByb3ZlbWVudHMgdG8gSW50bCBjb2RlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cKaW5kZXggZjNkMWVkOTkzZWM1MDM5ZDk3MjVjOTJlMWU4NDEwYWJlYzM1MWEzYy4uNzZj
YThlYTFlOWVlZmNkYzA5ZGIyNDFiMWE5MDQ2ZDY5NDVjNmE0NSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDQ5IEBACisyMDE2LTAyLTIyICBCcmlhbiBCdXJnICA8YmJ1cmdAYXBwbGUuY29tPgorCisg
ICAgICAgIFdlYiBJbnNwZWN0b3I6IGFkZCAnQXV0b21hdGlvbicgcHJvdG9jb2wgZG9tYWluIGFu
ZCBnZW5lcmF0ZSBpdHMgYmFja2VuZCBjbGFzc2VzIHNlcGFyYXRlbHkgaW4gV2ViS2l0MgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU0NTA5CisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS8yNDc1OTA5OD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYSBuZXcgJ0F1dG9tYXRpb24nIGRvbWFpbiB3aGlj
aCBwcmVzZW50cyBhbiBSUEMgaW50ZXJmYWNlCisgICAgICAgIGZvciBzZW5kaW5nIGF1dG9tYXRp
b24gY29tbWFuZHMgdG8gYW4gYWN0aXZlIFdlYkF1dG9tYXRpb25TZXNzaW9uCisgICAgICAgIGlu
IHRoZSBVSVByb2Nlc3MgdmlhIFJlbW90ZUluc3BlY3Rvci4gVGhpcyBpcyBzaW1pbGFyIHRvIGhv
dyB0aGUKKyAgICAgICAgSW5zcGVjdG9yIGJhY2tlbmQgY29tbXVuaWNhdGVzIGJpZGlyZWN0aW9u
YWxseSB3aXRoIGEgcmVtb3RlCisgICAgICAgIEluc3BlY3RvciBmcm9udGVuZC4KKworICAgICAg
ICBBZGQgYnVpbGQgc3lzdGVtIGxvZ2ljIHRvIGdlbmVyYXRlIEpTT04tUlBDIHByb3RvY29sIGJp
bmRpbmdzCisgICAgICAgIGZvciB0aGUgJ0F1dG9tYXRpb24nIGRvbWFpbiB1c2luZyB0aGUgaW5z
cGVjdG9yIGNvZGUgZ2VuZXJhdG9ycy4KKworICAgICAgICBNb3ZlIGF1dG9tYXRpb24tcmVsYXRl
ZCBmaWxlcyB0aGF0IGFyZSBub3QgQVBJIG9yIFNQSSBpbnRvIHRoZWlyCisgICAgICAgIG93biBk
aXJlY3RvcnkuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9CYXNlVGFyZ2V0LnhjY29uZmln
OiBUZWxsIHdoZXJlIEphdmFTY3JpcHRDb3JlJ3MKKyAgICAgICAgcHJpdmF0ZSBoZWFkZXJzIGFy
ZSwgc2luY2UgdGhhdCdzIHdoZXJlIHRoZSBjb2RlIGdlbmVyYXRvcnMgbGl2ZS4KKworICAgICAg
ICAqIENNYWtlTGlzdHMudHh0OiBMb29rIGluIFVJUHJvY2Vzcy9BdXRvbWF0aW9uIGRpcmVjdG9y
eS4KKyAgICAgICAgKiBQbGF0Zm9ybU1hYy5jbWFrZToKKyAgICAgICAgKiBEZXJpdmVkU291cmNl
cy5tYWtlOiBHZW5lcmF0ZSBwcm90b2NvbCBiaW5kaW5ncyBmb3IgYSBzaW5nbGUgZG9tYWluLgor
ICAgICAgICBUaGUgbmFtZXMgb2YgdGhlIGdlbmVyYXRlZCBmaWxlcyB3aWxsIGJlIGltcHJvdmVk
IGluIGEgZm9sbG93LXVwIHBhdGNoCisgICAgICAgIHNvIHRoYXQgdGhleSBkbyBub3QgY2xhc2gg
d2l0aCBnZW5lcmF0ZWQgZmlsZXMgaW4gSmF2YVNjcmlwdENvcmUuCisKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQXV0b21hdGlvbi9BdXRvbWF0aW9uLmpzb246IEFkZGVkLgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uLmNwcDogUmVuYW1lZCBmcm9tIFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5jcHAuCisgICAgICAg
IChXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uOjpXZWJBdXRvbWF0aW9uU2Vzc2lvbik6Cisg
ICAgICAgIChXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uOjp+V2ViQXV0b21hdGlvblNlc3Np
b24pOgorICAgICAgICBTZXQgdXAgYSBiYWNrZW5kIGRpc3BhdGNoZXIgYW5kIGZyb250ZW5kIHJv
dXRlci4gVGhleSB3aWxsIGJlIHVzZWQgbGF0ZXIuCisKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0
b21hdGlvblNlc3Npb246OmRpc3BhdGNoTWVzc2FnZUZyb21SZW1vdGUpOgorICAgICAgICBGb3J3
YXJkIG1lc3NhZ2VzIGZyb20gdGhlIHJlbW90ZSB0byB0aGUgYmFja2VuZCBkaXNwYXRjaGVyLiBX
aGVuCisgICAgICAgIGFuIGFnZW50IC8gY29tbWFuZCBoYW5kbGVyIGlzIHJlZ2lzdGVyZWQsIGl0
IHdpbGwgcmVjZWl2ZSB0aGUgbWVzc2FnZS4KKworICAgICAgICAoV2ViS2l0OjpXZWJBdXRvbWF0
aW9uU2Vzc2lvbjo6Y29ubmVjdCk6CisgICAgICAgIChXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNz
aW9uOjpkaXNjb25uZWN0KToKKyAgICAgICAgQ29ubmVuY3QgYW5kIGRpc2Nvbm5lY3QgdGhlIGZy
b250ZW5kIHJvdXRlciB0byB0aGUgcmVtb3RlIGNoYW5uZWwuCisKKyAgICAgICAgKiBVSVByb2Nl
c3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5oOiBSZW5hbWVkIGZyb20gU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYkF1dG9tYXRpb25TZXNzaW9uLmguCisgICAgICAgICogV2Vi
S2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOiBBZGQgYW5kIG1vdmUgZmlsZXMuCisKIDIw
MTYtMDItMjAgIE9saXZpZXIgQmxpbiAgPG9saXZpZXIuYmxpbkBzb2Z0YXRob21lLmNvbT4KIAog
ICAgICAgICBbY21ha2VdIFVzZSBJQ1UgaW5jbHVkZSBkaXJzIGluIFdlYktpdDIgYW5kIFdlYktp
dFRlc3RSdW5uZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Iv
c2NyaXB0cy9jb2RlZ2VuL21vZGVscy5weSBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3Ivc2NyaXB0cy9jb2RlZ2VuL21vZGVscy5weQppbmRleCBmNGZhNDQ4NGVlMThlOTZkOTk4OTFm
ZTZkYzg3YWEzYzM5MjgwN2QwLi5mMDliM2NmNWFhZGQzMWFmMjdmNjg3ODRjNTZhZDE4MDM5MjE5
ZWViIDEwMDc1NQotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMv
Y29kZWdlbi9tb2RlbHMucHkKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9z
Y3JpcHRzL2NvZGVnZW4vbW9kZWxzLnB5CkBAIC00NSw2ICs0NSw4IEBAIF9GUkFNRVdPUktfQ09O
RklHX01BUCA9IHsKICAgICAgICAgImV4cG9ydF9tYWNybyI6ICJKU19FWFBPUlRfUFJJVkFURSIs
CiAgICAgICAgICJhbHRlcm5hdGVfZGlzcGF0Y2hlcnMiOiBUcnVlLAogICAgIH0sCisgICAgIldl
YktpdCI6IHsKKyAgICB9LAogICAgICJXZWJJbnNwZWN0b3IiOiB7CiAgICAgfSwKICAgICAjIFVz
ZWQgZm9yIGNvZGUgZ2VuZXJhdG9yIHRlc3RzLgpAQCAtNzgsNiArODAsOSBAQCBjbGFzcyBGcmFt
ZXdvcms6CiAgICAgICAgIGlmIGZyYW1ld29ya1N0cmluZyA9PSAiSmF2YVNjcmlwdENvcmUiOgog
ICAgICAgICAgICAgcmV0dXJuIEZyYW1ld29ya3MuSmF2YVNjcmlwdENvcmUKIAorICAgICAgICBp
ZiBmcmFtZXdvcmtTdHJpbmcgPT0gIldlYktpdCI6CisgICAgICAgICAgICByZXR1cm4gRnJhbWV3
b3Jrcy5XZWJLaXQKKwogICAgICAgICBpZiBmcmFtZXdvcmtTdHJpbmcgPT0gIldlYkluc3BlY3Rv
ciI6CiAgICAgICAgICAgICByZXR1cm4gRnJhbWV3b3Jrcy5XZWJJbnNwZWN0b3IKIApAQCAtOTAs
NiArOTUsNyBAQCBjbGFzcyBGcmFtZXdvcms6CiBjbGFzcyBGcmFtZXdvcmtzOgogICAgIEdsb2Jh
bCA9IEZyYW1ld29yaygiR2xvYmFsIikKICAgICBKYXZhU2NyaXB0Q29yZSA9IEZyYW1ld29yaygi
SmF2YVNjcmlwdENvcmUiKQorICAgIFdlYktpdCA9IEZyYW1ld29yaygiV2ViS2l0IikKICAgICBX
ZWJJbnNwZWN0b3IgPSBGcmFtZXdvcmsoIldlYkluc3BlY3RvciIpCiAgICAgVGVzdCA9IEZyYW1l
d29yaygiVGVzdCIpCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0
b3Ivc2NyaXB0cy9nZW5lcmF0ZS1pbnNwZWN0b3ItcHJvdG9jb2wtYmluZGluZ3MucHkgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvZ2VuZXJhdGUtaW5zcGVjdG9yLXBy
b3RvY29sLWJpbmRpbmdzLnB5CmluZGV4IGVhMTM5NDVmMDZlNTdiNmNjZDhjN2UzNWRlNTIwY2E1
MjdjZjA5MzQuLmE1MjhhOWRiMjVjNmNlMDhhNWU0MDFjYjgzOTRjOGZmYjk3ODg1YTEgMTAwNzU1
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9nZW5lcmF0ZS1p
bnNwZWN0b3ItcHJvdG9jb2wtYmluZGluZ3MucHkKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9zY3JpcHRzL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC1iaW5kaW5ncy5w
eQpAQCAtMTEyLDcgKzExMiw5IEBAIGRlZiBnZW5lcmF0ZV9mcm9tX3NwZWNpZmljYXRpb24ocHJp
bWFyeV9zcGVjaWZpY2F0aW9uX2ZpbGVwYXRoPU5vbmUsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbmNhdGVuYXRlX291dHB1dD1GYWxzZSwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgb3V0cHV0X2RpcnBhdGg9Tm9uZSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgZm9yY2Vfb3V0cHV0PUZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBmcmFtZXdvcmtfbmFtZT0iIik6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGZyYW1ld29ya19uYW1lPSIiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZW5l
cmF0ZV9mcm9udGVuZD1UcnVlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZW5l
cmF0ZV9iYWNrZW5kPVRydWUpOgogCiAgICAgZGVmIGxvYWRfc3BlY2lmaWNhdGlvbihwcm90b2Nv
bCwgZmlsZXBhdGgsIGlzU3VwcGxlbWVudGFsPUZhbHNlKToKICAgICAgICAgdHJ5OgpAQCAtMTQ4
LDYgKzE1MCw3IEBAIGRlZiBnZW5lcmF0ZV9mcm9tX3NwZWNpZmljYXRpb24ocHJpbWFyeV9zcGVj
aWZpY2F0aW9uX2ZpbGVwYXRoPU5vbmUsCiAgICAgICAgIGdlbmVyYXRvcnMuYXBwZW5kKE9iakNI
ZWFkZXJHZW5lcmF0b3IocHJvdG9jb2wsIHByaW1hcnlfc3BlY2lmaWNhdGlvbl9maWxlcGF0aCkp
CiAgICAgICAgIGdlbmVyYXRvcnMuYXBwZW5kKE9iakNJbnRlcm5hbEhlYWRlckdlbmVyYXRvcihw
cm90b2NvbCwgcHJpbWFyeV9zcGVjaWZpY2F0aW9uX2ZpbGVwYXRoKSkKICAgICAgICAgZ2VuZXJh
dG9ycy5hcHBlbmQoT2JqQ1Byb3RvY29sVHlwZXNJbXBsZW1lbnRhdGlvbkdlbmVyYXRvcihwcm90
b2NvbCwgcHJpbWFyeV9zcGVjaWZpY2F0aW9uX2ZpbGVwYXRoKSkKKwogICAgIGVsaWYgcHJvdG9j
b2wuZnJhbWV3b3JrIGlzIEZyYW1ld29ya3MuSmF2YVNjcmlwdENvcmU6CiAgICAgICAgIGdlbmVy
YXRvcnMuYXBwZW5kKEpTQmFja2VuZENvbW1hbmRzR2VuZXJhdG9yKHByb3RvY29sLCBwcmltYXJ5
X3NwZWNpZmljYXRpb25fZmlsZXBhdGgpKQogICAgICAgICBnZW5lcmF0b3JzLmFwcGVuZChDcHBB
bHRlcm5hdGVCYWNrZW5kRGlzcGF0Y2hlckhlYWRlckdlbmVyYXRvcihwcm90b2NvbCwgcHJpbWFy
eV9zcGVjaWZpY2F0aW9uX2ZpbGVwYXRoKSkKQEAgLTE1Nyw2ICsxNjAsMTkgQEAgZGVmIGdlbmVy
YXRlX2Zyb21fc3BlY2lmaWNhdGlvbihwcmltYXJ5X3NwZWNpZmljYXRpb25fZmlsZXBhdGg9Tm9u
ZSwKICAgICAgICAgZ2VuZXJhdG9ycy5hcHBlbmQoQ3BwRnJvbnRlbmREaXNwYXRjaGVySW1wbGVt
ZW50YXRpb25HZW5lcmF0b3IocHJvdG9jb2wsIHByaW1hcnlfc3BlY2lmaWNhdGlvbl9maWxlcGF0
aCkpCiAgICAgICAgIGdlbmVyYXRvcnMuYXBwZW5kKENwcFByb3RvY29sVHlwZXNIZWFkZXJHZW5l
cmF0b3IocHJvdG9jb2wsIHByaW1hcnlfc3BlY2lmaWNhdGlvbl9maWxlcGF0aCkpCiAgICAgICAg
IGdlbmVyYXRvcnMuYXBwZW5kKENwcFByb3RvY29sVHlwZXNJbXBsZW1lbnRhdGlvbkdlbmVyYXRv
cihwcm90b2NvbCwgcHJpbWFyeV9zcGVjaWZpY2F0aW9uX2ZpbGVwYXRoKSkKKworICAgIGVsaWYg
cHJvdG9jb2wuZnJhbWV3b3JrIGlzIEZyYW1ld29ya3MuV2ViS2l0IGFuZCBnZW5lcmF0ZV9iYWNr
ZW5kOgorICAgICAgICBnZW5lcmF0b3JzLmFwcGVuZChDcHBCYWNrZW5kRGlzcGF0Y2hlckhlYWRl
ckdlbmVyYXRvcihwcm90b2NvbCwgcHJpbWFyeV9zcGVjaWZpY2F0aW9uX2ZpbGVwYXRoKSkKKyAg
ICAgICAgZ2VuZXJhdG9ycy5hcHBlbmQoQ3BwQmFja2VuZERpc3BhdGNoZXJJbXBsZW1lbnRhdGlv
bkdlbmVyYXRvcihwcm90b2NvbCwgcHJpbWFyeV9zcGVjaWZpY2F0aW9uX2ZpbGVwYXRoKSkKKyAg
ICAgICAgZ2VuZXJhdG9ycy5hcHBlbmQoQ3BwUHJvdG9jb2xUeXBlc0hlYWRlckdlbmVyYXRvcihw
cm90b2NvbCwgcHJpbWFyeV9zcGVjaWZpY2F0aW9uX2ZpbGVwYXRoKSkKKyAgICAgICAgZ2VuZXJh
dG9ycy5hcHBlbmQoQ3BwUHJvdG9jb2xUeXBlc0ltcGxlbWVudGF0aW9uR2VuZXJhdG9yKHByb3Rv
Y29sLCBwcmltYXJ5X3NwZWNpZmljYXRpb25fZmlsZXBhdGgpKQorCisgICAgZWxpZiBwcm90b2Nv
bC5mcmFtZXdvcmsgaXMgRnJhbWV3b3Jrcy5XZWJLaXQgYW5kIGdlbmVyYXRlX2Zyb250ZW5kOgor
ICAgICAgICAjIEZJWE1FIDxyZGFyOi8vcHJvYmxlbS8yMzQ2NjkyNT46IFRoaXMgbGlzdCBvZiBn
ZW5lcmF0b3JzIGZvciB0aGUgZnJvbnRlbmQgaXMgYSBwbGFjZWhvbGRlci4KKyAgICAgICAgZ2Vu
ZXJhdG9ycy5hcHBlbmQoT2JqQ0NvbnZlcnNpb25IZWxwZXJzR2VuZXJhdG9yKHByb3RvY29sLCBw
cmltYXJ5X3NwZWNpZmljYXRpb25fZmlsZXBhdGgpKQorICAgICAgICBnZW5lcmF0b3JzLmFwcGVu
ZChPYmpDRnJvbnRlbmREaXNwYXRjaGVySW1wbGVtZW50YXRpb25HZW5lcmF0b3IocHJvdG9jb2ws
IHByaW1hcnlfc3BlY2lmaWNhdGlvbl9maWxlcGF0aCkpCisgICAgICAgIGdlbmVyYXRvcnMuYXBw
ZW5kKE9iakNQcm90b2NvbFR5cGVzSW1wbGVtZW50YXRpb25HZW5lcmF0b3IocHJvdG9jb2wsIHBy
aW1hcnlfc3BlY2lmaWNhdGlvbl9maWxlcGF0aCkpCisKICAgICBlbGlmIHByb3RvY29sLmZyYW1l
d29yayBpcyBGcmFtZXdvcmtzLldlYkluc3BlY3RvcjoKICAgICAgICAgZ2VuZXJhdG9ycy5hcHBl
bmQoT2JqQ0JhY2tlbmREaXNwYXRjaGVySGVhZGVyR2VuZXJhdG9yKHByb3RvY29sLCBwcmltYXJ5
X3NwZWNpZmljYXRpb25fZmlsZXBhdGgpKQogICAgICAgICBnZW5lcmF0b3JzLmFwcGVuZChPYmpD
QmFja2VuZERpc3BhdGNoZXJJbXBsZW1lbnRhdGlvbkdlbmVyYXRvcihwcm90b2NvbCwgcHJpbWFy
eV9zcGVjaWZpY2F0aW9uX2ZpbGVwYXRoKSkKQEAgLTE5MCwxNCArMjA2LDE1IEBAIGRlZiBnZW5l
cmF0ZV9mcm9tX3NwZWNpZmljYXRpb24ocHJpbWFyeV9zcGVjaWZpY2F0aW9uX2ZpbGVwYXRoPU5v
bmUsCiAKIAogaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKLSAgICBhbGxvd2VkX2ZyYW1ld29y
a19uYW1lcyA9IFsnSmF2YVNjcmlwdENvcmUnLCAnV2ViSW5zcGVjdG9yJywgJ1Rlc3QnXQorICAg
IGFsbG93ZWRfZnJhbWV3b3JrX25hbWVzID0gWydKYXZhU2NyaXB0Q29yZScsICdXZWJJbnNwZWN0
b3InLCAnV2ViS2l0JywgJ1Rlc3QnXQogICAgIGNsaV9wYXJzZXIgPSBvcHRwYXJzZS5PcHRpb25Q
YXJzZXIodXNhZ2U9InVzYWdlOiAlcHJvZyBbb3B0aW9uc10gUHJpbWFyeVByb3RvY29sLmpzb24g
W1N1cHBsZW1lbnRhbFByb3RvY29sLmpzb24gLi4uXSIpCiAgICAgY2xpX3BhcnNlci5hZGRfb3B0
aW9uKCItbyIsICItLW91dHB1dERpciIsIGhlbHA9IkRpcmVjdG9yeSB3aGVyZSBnZW5lcmF0ZWQg
ZmlsZXMgc2hvdWxkIGJlIHdyaXR0ZW4uIikKICAgICBjbGlfcGFyc2VyLmFkZF9vcHRpb24oIi0t
ZnJhbWV3b3JrIiwgdHlwZT0iY2hvaWNlIiwgY2hvaWNlcz1hbGxvd2VkX2ZyYW1ld29ya19uYW1l
cywgaGVscD0iVGhlIGZyYW1ld29yayB0aGF0IHRoZSBwcmltYXJ5IHNwZWNpZmljYXRpb24gYmVs
b25ncyB0by4iKQogICAgIGNsaV9wYXJzZXIuYWRkX29wdGlvbigiLS1mb3JjZSIsIGFjdGlvbj0i
c3RvcmVfdHJ1ZSIsIGhlbHA9IkZvcmNlIG91dHB1dCBvZiBnZW5lcmF0ZWQgc2NyaXB0cywgZXZl
biBpZiBub3RoaW5nIGNoYW5nZWQuIikKICAgICBjbGlfcGFyc2VyLmFkZF9vcHRpb24oIi12Iiwg
Ii0tZGVidWciLCBhY3Rpb249InN0b3JlX3RydWUiLCBoZWxwPSJMb2cgZXh0cmEgb3V0cHV0IGZv
ciBkZWJ1Z2dpbmcgdGhlIGdlbmVyYXRvciBpdHNlbGYuIikKICAgICBjbGlfcGFyc2VyLmFkZF9v
cHRpb24oIi10IiwgIi0tdGVzdCIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsIGhlbHA9IkVuYWJsZSB0
ZXN0IG1vZGUuIFVzZSB1bmlxdWUgb3V0cHV0IGZpbGVuYW1lcyBjcmVhdGVkIGJ5IHByZXBlbmRp
bmcgdGhlIGlucHV0IGZpbGVuYW1lLiIpCi0KKyAgICBjbGlfcGFyc2VyLmFkZF9vcHRpb24oIi0t
ZnJvbnRlbmQiLCBhY3Rpb249InN0b3JlX3RydWUiLCBoZWxwPSJHZW5lcmF0ZSBjb2RlIGZvciB0
aGUgZnJvbnRlbmQtc2lkZSBvZiB0aGUgcHJvdG9jb2wgb25seS4iKQorICAgIGNsaV9wYXJzZXIu
YWRkX29wdGlvbigiLS1iYWNrZW5kIiwgYWN0aW9uPSJzdG9yZV90cnVlIiwgaGVscD0iR2VuZXJh
dGUgY29kZSBmb3IgdGhlIGJhY2tlbmQtc2lkZSBvZiB0aGUgcHJvdG9jb2wgb25seS4iKQogICAg
IG9wdGlvbnMgPSBOb25lCiAKICAgICBhcmdfb3B0aW9ucywgYXJnX3ZhbHVlcyA9IGNsaV9wYXJz
ZXIucGFyc2VfYXJncygpCkBAIC0yMTAsMTMgKzIyNywyMiBAQCBpZiBfX25hbWVfXyA9PSAnX19t
YWluX18nOgogICAgIGlmIGFyZ19vcHRpb25zLmRlYnVnOgogICAgICAgICBsb2cuc2V0TGV2ZWwo
bG9nZ2luZy5ERUJVRykKIAorICAgIGdlbmVyYXRlX2JhY2tlbmQgPSBhcmdfb3B0aW9ucy5iYWNr
ZW5kOworICAgIGdlbmVyYXRlX2Zyb250ZW5kID0gYXJnX29wdGlvbnMuZnJvbnRlbmQ7CisgICAg
IyBEZWZhdWx0IHRvIGdlbmVyYXRpbmcgYm90aCB0aGUgZnJvbnRlbmQgYW5kIGJhY2tlbmQgaWYg
bmVpdGhlciBpcyBzcGVjaWZpZWQuCisgICAgaWYgbm90IGdlbmVyYXRlX2JhY2tlbmQgYW5kIG5v
dCBnZW5lcmF0ZV9mcm9udGVuZDoKKyAgICAgICAgZ2VuZXJhdGVfYmFja2VuZCA9IFRydWUKKyAg
ICAgICAgZ2VuZXJhdGVfZnJvbnRlbmQgPSBUcnVlCisKICAgICBvcHRpb25zID0gewogICAgICAg
ICAncHJpbWFyeV9zcGVjaWZpY2F0aW9uX2ZpbGVwYXRoJzogYXJnX3ZhbHVlc1swXSwKICAgICAg
ICAgJ3N1cHBsZW1lbnRhbF9zcGVjaWZpY2F0aW9uX2ZpbGVwYXRocyc6IGFyZ192YWx1ZXNbMTpd
LAogICAgICAgICAnb3V0cHV0X2RpcnBhdGgnOiBhcmdfb3B0aW9ucy5vdXRwdXREaXIsCiAgICAg
ICAgICdjb25jYXRlbmF0ZV9vdXRwdXQnOiBhcmdfb3B0aW9ucy50ZXN0LAogICAgICAgICAnZnJh
bWV3b3JrX25hbWUnOiBhcmdfb3B0aW9ucy5mcmFtZXdvcmssCi0gICAgICAgICdmb3JjZV9vdXRw
dXQnOiBhcmdfb3B0aW9ucy5mb3JjZQorICAgICAgICAnZm9yY2Vfb3V0cHV0JzogYXJnX29wdGlv
bnMuZm9yY2UsCisgICAgICAgICdnZW5lcmF0ZV9iYWNrZW5kJzogZ2VuZXJhdGVfYmFja2VuZCwK
KyAgICAgICAgJ2dlbmVyYXRlX2Zyb250ZW5kJzogZ2VuZXJhdGVfZnJvbnRlbmQsCiAgICAgfQog
CiAgICAgdHJ5OgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQgYi9T
b3VyY2UvV2ViS2l0Mi9DTWFrZUxpc3RzLnR4dAppbmRleCBhZThhYWE1YmIzN2E3MWM0OWFlZmQw
Mjk3Mjc5Zjg4M2M1YjAxN2M2Li4wNGE1ZTcyMzYyNjJiODE2MDBmOGE0YmFlYTcwMTljMGE1MzZl
ZWU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9DTWFrZUxpc3RzLnR4dApAQCAtMjksNiArMjksNyBAQCBzZXQoV2ViS2l0Ml9J
TkNMVURFX0RJUkVDVE9SSUVTCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1VJUHJvY2Vzcy9BUEkvQyIK
ICAgICAiJHtXRUJLSVQyX0RJUn0vVUlQcm9jZXNzL0FQSS9jcHAiCiAgICAgIiR7V0VCS0lUMl9E
SVJ9L1VJUHJvY2Vzcy9BdXRoZW50aWNhdGlvbiIKKyAgICAiJHtXRUJLSVQyX0RJUn0vVUlQcm9j
ZXNzL0F1dG9tYXRpb24iCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1VJUHJvY2Vzcy9EYXRhYmFzZXMi
CiAgICAgIiR7V0VCS0lUMl9ESVJ9L1VJUHJvY2Vzcy9Eb3dubG9hZHMiCiAgICAgIiR7V0VCS0lU
Ml9ESVJ9L1VJUHJvY2Vzcy9JbnNwZWN0b3JTZXJ2ZXIiCkBAIC0xNTUsNiArMTU2LDggQEAgc2V0
KFdlYktpdDJfSU5DTFVERV9ESVJFQ1RPUklFUwogICAgICIke0NNQUtFX1NPVVJDRV9ESVJ9L1dl
YktpdExpYnJhcmllcyIKICkKIAorc2V0KFBST1RPQ09MX0dFTkVSQVRPUl9TQ1JJUFRTX0RJUiAi
JHtKQVZBU0NSSVBUQ09SRV9ESVJ9L2luc3BlY3Rvci9zY3JpcHRzIikKKwogc2V0KFdlYktpdDJf
U1lTVEVNX0lOQ0xVREVfRElSRUNUT1JJRVMKICAgICAke0lDVV9JTkNMVURFX0RJUlN9CiApCkBA
IC03NzEsNiArNzc0LDQwIEBAIFdFQktJVF9JTkNMVURFX0NPTkZJR19GSUxFU19JRl9FWElTVFMo
KQogCiBHRU5FUkFURV9XRUJLSVQyX01FU1NBR0VfU09VUkNFUyhXZWJLaXQyX0RFUklWRURfU09V
UkNFUyAiJHtXZWJLaXQyX01FU1NBR0VTX0lOX0ZJTEVTfSIpCiAKK3NldChXZWJLaXQyX0FVVE9N
QVRJT05fUFJPVE9DT0xfR0VORVJBVE9SX1NDUklQVFMKKyAgICAke1BST1RPQ09MX0dFTkVSQVRP
Ul9TQ1JJUFRTX0RJUn0vZ2VuZXJhdGUtaW5zcGVjdG9yLXByb3RvY29sLWJpbmRpbmdzLnB5Cisg
ICAgJHtQUk9UT0NPTF9HRU5FUkFUT1JfU0NSSVBUU19ESVJ9L2NvZGVnZW4vY3BwX2dlbmVyYXRv
ci5weQorICAgICR7UFJPVE9DT0xfR0VORVJBVE9SX1NDUklQVFNfRElSfS9jb2RlZ2VuL2NwcF9n
ZW5lcmF0b3JfdGVtcGxhdGVzLnB5CisgICAgJHtQUk9UT0NPTF9HRU5FUkFUT1JfU0NSSVBUU19E
SVJ9L2NvZGVnZW4vZ2VuZXJhdGVfY3BwX2JhY2tlbmRfZGlzcGF0Y2hlcl9oZWFkZXIucHkKKyAg
ICAke1BST1RPQ09MX0dFTkVSQVRPUl9TQ1JJUFRTX0RJUn0vY29kZWdlbi9nZW5lcmF0ZV9jcHBf
YmFja2VuZF9kaXNwYXRjaGVyX2ltcGxlbWVudGF0aW9uLnB5CisgICAgJHtQUk9UT0NPTF9HRU5F
UkFUT1JfU0NSSVBUU19ESVJ9L2NvZGVnZW4vZ2VuZXJhdGVfY3BwX3Byb3RvY29sX3R5cGVzX2hl
YWRlci5weQorICAgICR7UFJPVE9DT0xfR0VORVJBVE9SX1NDUklQVFNfRElSfS9jb2RlZ2VuL2dl
bmVyYXRlX2NwcF9wcm90b2NvbF90eXBlc19pbXBsZW1lbnRhdGlvbi5weQorICAgICR7UFJPVE9D
T0xfR0VORVJBVE9SX1NDUklQVFNfRElSfS9jb2RlZ2VuL2dlbmVyYXRvci5weQorICAgICR7UFJP
VE9DT0xfR0VORVJBVE9SX1NDUklQVFNfRElSfS9jb2RlZ2VuL2dlbmVyYXRvcl90ZW1wbGF0ZXMu
cHkKKyAgICAke1BST1RPQ09MX0dFTkVSQVRPUl9TQ1JJUFRTX0RJUn0vY29kZWdlbi9tb2RlbHMu
cHkKKykKKworc2V0KFdlYktpdDJfQVVUT01BVElPTl9QUk9UT0NPTF9HRU5FUkFUT1JfSU5QVVRT
CisgICAgJHtXRUJLSVQyX0RJUn0vVUlQcm9jZXNzL0F1dG9tYXRpb24vQXV0b21hdGlvbi5qc29u
CispCisKK2FkZF9jdXN0b21fY29tbWFuZCgKKyAgICBPVVRQVVQgJHtERVJJVkVEX1NPVVJDRVNf
V0VCS0lUMl9ESVJ9L0luc3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5oICR7REVSSVZFRF9TT1VS
Q0VTX1dFQktJVDJfRElSfS9JbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuY3BwICR7REVSSVZF
RF9TT1VSQ0VTX1dFQktJVDJfRElSfS9JbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuaCAke0RFUklW
RURfU09VUkNFU19XRUJLSVQyX0RJUn0vSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzLmNwcAorICAg
IE1BSU5fREVQRU5ERU5DWSAke1dlYktpdDJfQVVUT01BVElPTl9QUk9UT0NPTF9HRU5FUkFUT1Jf
SU5QVVRTfQorICAgIERFUEVORFMgJHtXZWJLaXQyX0FVVE9NQVRJT05fUFJPVE9DT0xfR0VORVJB
VE9SX1NDUklQVFN9CisgICAgQ09NTUFORCAke1BZVEhPTl9FWEVDVVRBQkxFfSAke0phdmFTY3Jp
cHRDb3JlX1NDUklQVFNfRElSfS9nZW5lcmF0ZS1pbnNwZWN0b3ItcHJvdG9jb2wtYmluZGluZ3Mu
cHkgLS1vdXRwdXREaXIgIiR7REVSSVZFRF9TT1VSQ0VTX1dFQktJVDJfRElSfSIgLS1mcmFtZXdv
cmsgV2ViS2l0IC0tYmFja2VuZCAke1dlYktpdDJfQVVUT01BVElPTl9QUk9UT0NPTF9HRU5FUkFU
T1JfSU5QVVRTfQorICAgIFZFUkJBVElNKQorCitsaXN0KEFQUEVORCBXZWJLaXQyX0hFQURFUlMK
KyAgICAke0RFUklWRURfU09VUkNFU19XRUJLSVQyX0RJUn0vSW5zcGVjdG9yQmFja2VuZERpc3Bh
dGNoZXJzLmgKKyAgICAke0RFUklWRURfU09VUkNFU19XRUJLSVQyX0RJUn0vSW5zcGVjdG9yUHJv
dG9jb2xPYmplY3RzLmgKKykKKworbGlzdChBUFBFTkQgV2ViS2l0Ml9TT1VSQ0VTCisgICAgJHtE
RVJJVkVEX1NPVVJDRVNfV0VCS0lUMl9ESVJ9L0luc3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5j
cHAKKyAgICAke0RFUklWRURfU09VUkNFU19XRUJLSVQyX0RJUn0vSW5zcGVjdG9yUHJvdG9jb2xP
YmplY3RzLmNwcAorKQorCiBpbmNsdWRlX2RpcmVjdG9yaWVzKCR7V2ViS2l0Ml9JTkNMVURFX0RJ
UkVDVE9SSUVTfSkKIGluY2x1ZGVfZGlyZWN0b3JpZXMoU1lTVEVNICR7V2ViS2l0Ml9TWVNURU1f
SU5DTFVERV9ESVJFQ1RPUklFU30pCiBhZGRfbGlicmFyeShXZWJLaXQyICR7V2ViS2l0Ml9MSUJS
QVJZX1RZUEV9ICR7V2ViS2l0Ml9TT1VSQ0VTfSAke1dlYktpdDJfREVSSVZFRF9TT1VSQ0VTfSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0Jhc2VUYXJnZXQueGNj
b25maWcgYi9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9CYXNlVGFyZ2V0LnhjY29uZmln
CmluZGV4IGNjOTQ3YjkxOGE0ZjIwODlmMzFkMmRjYTFiNzY3MjE1ZWVlYjdlNGMuLmJlZmNhNmVk
OTg5MjJiZDk2MDM3ZTNhMzE5NjEzZGIzYWFiYTk4NzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL0NvbmZpZ3VyYXRpb25zL0Jhc2VUYXJnZXQueGNjb25maWcKKysrIGIvU291cmNlL1dlYktp
dDIvQ29uZmlndXJhdGlvbnMvQmFzZVRhcmdldC54Y2NvbmZpZwpAQCAtNDIsNiArNDIsMjEgQEAg
V0VCS0lUX0ZSQU1FV09SS1NfRElSID0gJChXRUJLSVRfRlJBTUVXT1JLU19ESVJfVVNFX09WRVJS
SURFX0ZSQU1FV09SS1NfRElSXyQoV0sKIFdFQktJVF9GUkFNRVdPUktTX0RJUl9VU0VfT1ZFUlJJ
REVfRlJBTUVXT1JLU19ESVJfTk8gPSAkKE5PUk1BTF9XRUJLSVRfRlJBTUVXT1JLU19ESVIpOwog
V0VCS0lUX0ZSQU1FV09SS1NfRElSX1VTRV9PVkVSUklERV9GUkFNRVdPUktTX0RJUl9ZRVMgPSAk
KFdLX09WRVJSSURFX0ZSQU1FV09SS1NfRElSKTsKIAorTk9STUFMX1BST0RVQ1RJT05fRlJBTUVX
T1JLU19ESVJbc2RrPWlwaG9uZSpdID0gJChTREtST09UKSQoU1lTVEVNX0xJQlJBUllfRElSKS9Q
cml2YXRlRnJhbWV3b3JrczsKK05PUk1BTF9QUk9EVUNUSU9OX0ZSQU1FV09SS1NfRElSW3Nkaz1t
YWNvc3gqXSA9ICQoTkVYVF9ST09UKSQoU1lTVEVNX0xJQlJBUllfRElSKS9GcmFtZXdvcmtzOwor
CitQUk9EVUNUSU9OX0ZSQU1FV09SS1NfRElSW3Nkaz1pcGhvbmUqXSA9ICQoTk9STUFMX1BST0RV
Q1RJT05fRlJBTUVXT1JLU19ESVIpOworUFJPRFVDVElPTl9GUkFNRVdPUktTX0RJUiA9ICQoUFJP
RFVDVElPTl9GUkFNRVdPUktTX0RJUl9VU0VfT1ZFUlJJREVfRlJBTUVXT1JLU19ESVJfJChXS19V
U0VfT1ZFUlJJREVfRlJBTUVXT1JLU19ESVIpKTsKK1BST0RVQ1RJT05fRlJBTUVXT1JLU19ESVJf
VVNFX09WRVJSSURFX0ZSQU1FV09SS1NfRElSX05PID0gJChOT1JNQUxfUFJPRFVDVElPTl9GUkFN
RVdPUktTX0RJUik7CitQUk9EVUNUSU9OX0ZSQU1FV09SS1NfRElSX1VTRV9PVkVSUklERV9GUkFN
RVdPUktTX0RJUl9ZRVMgPSAkKFdLX09WRVJSSURFX0ZSQU1FV09SS1NfRElSKTsKKworSkFWQVND
UklQVENPUkVfUFJJVkFURV9IRUFERVJTX0RJUiA9ICQoSkFWQVNDUklQVENPUkVfUFJJVkFURV9I
RUFERVJTX0RJUl8kKENPTkZJR1VSQVRJT04pKTsKK0pBVkFTQ1JJUFRDT1JFX1BSSVZBVEVfSEVB
REVSU19ESVJfUmVsZWFzZSA9ICQoSkFWQVNDUklQVENPUkVfUFJJVkFURV9IRUFERVJTX2VuZ2lu
ZWVyaW5nKTsKK0pBVkFTQ1JJUFRDT1JFX1BSSVZBVEVfSEVBREVSU19ESVJfRGVidWcgPSAkKEpB
VkFTQ1JJUFRDT1JFX1BSSVZBVEVfSEVBREVSU19lbmdpbmVlcmluZyk7CitKQVZBU0NSSVBUQ09S
RV9QUklWQVRFX0hFQURFUlNfRElSX1Byb2R1Y3Rpb25bc2RrPWlwaG9uZSpdID0gJChTREtST09U
KS8kKFNZU1RFTV9MSUJSQVJZX0RJUikvRnJhbWV3b3Jrcy9KYXZhU2NyaXB0Q29yZS5mcmFtZXdv
cmsvUHJpdmF0ZUhlYWRlcnM7CitKQVZBU0NSSVBUQ09SRV9QUklWQVRFX0hFQURFUlNfRElSX1By
b2R1Y3Rpb25bc2RrPW1hY29zeCpdID0gJChTREtST09UKSQoUFJPRFVDVElPTl9GUkFNRVdPUktT
X0RJUikvSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrL1ByaXZhdGVIZWFkZXJzOworSkFWQVNDUklQ
VENPUkVfUFJJVkFURV9IRUFERVJTX2VuZ2luZWVyaW5nID0gJChCVUlMVF9QUk9EVUNUU19ESVIp
L0phdmFTY3JpcHRDb3JlLmZyYW1ld29yay9Qcml2YXRlSGVhZGVyczsKKwogVU1CUkVMTEFfRlJB
TUVXT1JLU19ESVIgPSAkKFVNQlJFTExBX0ZSQU1FV09SS1NfRElSXyQoQ09ORklHVVJBVElPTikp
OwogVU1CUkVMTEFfRlJBTUVXT1JLU19ESVJfRGVidWcgPSAkKFVNQlJFTExBX0ZSQU1FV09SS1Nf
RElSX2VuZ2luZWVyaW5nKTsKIFVNQlJFTExBX0ZSQU1FV09SS1NfRElSX1JlbGVhc2UgPSAkKFVN
QlJFTExBX0ZSQU1FV09SS1NfRElSX2VuZ2luZWVyaW5nKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViS2l0Mi9EZXJpdmVkU291cmNl
cy5tYWtlCmluZGV4IDVjNTc5MWQ4OGI1YzQ3YWYxNDc1OTI1MWEzZDU0ZDQ5MDdlNGM3MjAuLjZi
MzRjYzdiODc3YzA2MzVlZWU2MjRmM2E2Njc2MDU1YzE3ZmJkMGMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYktpdDIvRGVyaXZl
ZFNvdXJjZXMubWFrZQpAQCAtNTYsNiArNTYsNyBAQCBWUEFUSCA9IFwKICAgICAkKFdlYktpdDIp
L1dlYlByb2Nlc3MvaW9zIFwKICAgICAkKFdlYktpdDIpL1dlYlByb2Nlc3MgXAogICAgICQoV2Vi
S2l0MikvVUlQcm9jZXNzIFwKKyAgICAkKFdlYktpdDIpL1VJUHJvY2Vzcy9BdXRvbWF0aW9uIFwK
ICAgICAkKFdlYktpdDIpL1VJUHJvY2Vzcy9Db2NvYSBcCiAgICAgJChXZWJLaXQyKS9VSVByb2Nl
c3MvRGF0YWJhc2VzIFwKICAgICAkKFdlYktpdDIpL1VJUHJvY2Vzcy9Eb3dubG9hZHMgXApAQCAt
MTkyLDMgKzE5MywzMSBAQCBhbGw6ICQoU0FOREJPWF9QUk9GSUxFUykKICUuc2IgOiAlLnNiLmlu
CiAJQGVjaG8gUHJlLXByb2Nlc3NpbmcgJCogc2FuZGJveCBwcm9maWxlLi4uCiAJJChDQykgJChT
REtfRkxBR1MpICQoVEVYVF9QUkVQUk9DRVNTT1JfRkxBR1MpICQoRlJBTUVXT1JLX0ZMQUdTKSAk
KEhFQURFUl9GTEFHUykgLWluY2x1ZGUgInd0Zi9QbGF0Zm9ybS5oIiAkPCA+ICRACisKK0FVVE9N
QVRJT05fUFJPVE9DT0xfR0VORVJBVE9SX1NDUklQVFMgPSBcCisJJChKYXZhU2NyaXB0Q29yZV9T
Q1JJUFRTX0RJUikvY3BwX2dlbmVyYXRvcl90ZW1wbGF0ZXMucHkgXAorCSQoSmF2YVNjcmlwdENv
cmVfU0NSSVBUU19ESVIpL2NwcF9nZW5lcmF0b3IucHkgXAorCSQoSmF2YVNjcmlwdENvcmVfU0NS
SVBUU19ESVIpL2dlbmVyYXRlX2NwcF9iYWNrZW5kX2Rpc3BhdGNoZXJfaGVhZGVyLnB5IFwKKwkk
KEphdmFTY3JpcHRDb3JlX1NDUklQVFNfRElSKS9nZW5lcmF0ZV9jcHBfYmFja2VuZF9kaXNwYXRj
aGVyX2ltcGxlbWVudGF0aW9uLnB5IFwKKwkkKEphdmFTY3JpcHRDb3JlX1NDUklQVFNfRElSKS9n
ZW5lcmF0ZV9jcHBfcHJvdG9jb2xfdHlwZXNfaGVhZGVyLnB5IFwKKwkkKEphdmFTY3JpcHRDb3Jl
X1NDUklQVFNfRElSKS9nZW5lcmF0ZV9jcHBfcHJvdG9jb2xfdHlwZXNfaW1wbGVtZW50YXRpb24u
cHkgXAorCSQoSmF2YVNjcmlwdENvcmVfU0NSSVBUU19ESVIpL2dlbmVyYXRvcl90ZW1wbGF0ZXMu
cHkgXAorCSQoSmF2YVNjcmlwdENvcmVfU0NSSVBUU19ESVIpL2dlbmVyYXRvci5weSBcCisJJChK
YXZhU2NyaXB0Q29yZV9TQ1JJUFRTX0RJUikvbW9kZWxzLnB5IFwKKwkkKEphdmFTY3JpcHRDb3Jl
X1NDUklQVFNfRElSKS9nZW5lcmF0ZS1pbnNwZWN0b3ItcHJvdG9jb2wtYmluZGluZ3MucHkgXAor
IworCitBVVRPTUFUSU9OX1BST1RPQ09MX0lOUFVUX0ZJTEVTID0gXAorICAgICQoV2ViS2l0Mikv
VUlQcm9jZXNzL0F1dG9tYXRpb24vQXV0b21hdGlvbi5qc29uIFwKKyMKKworQVVUT01BVElPTl9Q
Uk9UT0NPTF9PVVRQVVRfRklMRVMgPSBcCisgICAgSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJz
LmggXAorICAgIEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5jcHAgXAorIworCisjIEpTT04t
UlBDIEJhY2tlbmQgRGlzcGF0Y2hlcnMsIFR5cGUgQnVpbGRlcnMKKyQoQVVUT01BVElPTl9QUk9U
T0NPTF9PVVRQVVRfRklMRVMpIDogJChBVVRPTUFUSU9OX1BST1RPQ09MX0lOUFVUX0ZJTEVTKSAk
KEFVVE9NQVRJT05fUFJPVE9DT0xfR0VORVJBVE9SX1NDUklQVFMpCisJJChQWVRIT04pICQoSmF2
YVNjcmlwdENvcmVfU0NSSVBUU19ESVIpL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC1iaW5k
aW5ncy5weSAtLWZyYW1ld29yayBXZWJLaXQgLS1iYWNrZW5kIC0tb3V0cHV0RGlyIC4gJChBVVRP
TUFUSU9OX1BST1RPQ09MX0lOUFVUX0ZJTEVTKQorCithbGwgOiAkKEFVVE9NQVRJT05fUFJPVE9D
T0xfT1VUUFVUX0ZJTEVTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm1NYWMu
Y21ha2UgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybU1hYy5jbWFrZQppbmRleCA5MmUzYjkwMzRm
MDMzZDg3NmU2MjZlNTk2ZDE1NDAxNGRlY2UwOTBmLi4xMzczM2YxNjJlYzBlODk2MjMzYjlhYWJh
ZjMxNjE3ZTE5MzNjM2U5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybU1hYy5j
bWFrZQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybU1hYy5jbWFrZQpAQCAtMTQwLDcgKzE0
MCw4IEBAIGxpc3QoQVBQRU5EIFdlYktpdDJfU09VUkNFUwogICAgIFNoYXJlZC9tYWMvV2ViTWVt
b3J5U2FtcGxlci5tYWMubW0KIAogICAgIFVJUHJvY2Vzcy9WaWV3R2VzdHVyZUNvbnRyb2xsZXIu
Y3BwCi0gICAgVUlQcm9jZXNzL1dlYkF1dG9tYXRpb25TZXNzaW9uLmNwcAorCisgICAgVUlQcm9j
ZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb24uY3BwCiAKICAgICBVSVByb2Nlc3Mv
QVBJL0FQSVVzZXJTY3JpcHQuY3BwCiAgICAgVUlQcm9jZXNzL0FQSS9BUElVc2VyU3R5bGVTaGVl
dC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BdXRvbWF0aW9uL0F1
dG9tYXRpb24uanNvbiBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BdXRvbWF0aW9uL0F1dG9t
YXRpb24uanNvbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNDVjNzBiN2QxNDBlZGIxN2I1YmNhYTViODNhMWRjOGE2
OGQ0MDc2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1dG9t
YXRpb24vQXV0b21hdGlvbi5qc29uCkBAIC0wLDAgKzEsNDAgQEAKK3sKKyAgICAiZG9tYWluIjog
IkF1dG9tYXRpb24iLAorICAgICJkZXNjcmlwdGlvbiI6ICJBdXRvbWF0aW9uIGRvbWFpbiBleHBv
c2VzIGNvbW1hbmRzIGZvciBhdXRvbWF0aW5nIHVzZXIgaW50ZXJhY3Rpb25zIHdpdGggdGhlIGJy
b3dzZXIuIiwKKyAgICAidHlwZXMiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAgICJpZCI6ICJP
cGFxdWVXaW5kb3dIYW5kbGUiLAorICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKKyAgICAg
ICAgICAgICJkZXNjcmlwdGlvbiI6ICJBbiBvcGFxdWUgaWRlbnRpZmllciBmb3IgYSB3aW5kb3cu
IgorICAgICAgICB9LAorICAgICAgICB7CisgICAgICAgICAgICAiaWQiOiAiQnJvd3NpbmdXaW5k
b3ciLAorICAgICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKKyAgICAgICAgICAgICJkZXNjcmlw
dGlvbiI6ICJBIGhhbmRsZSByZXByZXNlbnRpbmcgYW4gb3BlbiB3aW5kb3cgb3IgdGFiIGluIHRo
ZSBhdXRvbWF0aW9uIHNlc3Npb24uIiwKKyAgICAgICAgICAgICJwcm9wZXJ0aWVzIjogWworICAg
ICAgICAgICAgICAgIHsgIm5hbWUiOiAiaGFuZGxlIiwgIiRyZWYiOiAiT3BhcXVlV2luZG93SGFu
ZGxlIiwgImRlc2NyaXB0aW9uIjogIk9wYXF1ZSBoYW5kbGUgZm9yIHRoZSB3aW5kb3cuIFVzZWQg
YXMgYSBrZXkgZm9yIHdpbmRvdy1yZWxhdGVkIGNvbW1hbmRzLiIgfSwKKyAgICAgICAgICAgICAg
ICB7ICJuYW1lIjogImFjdGl2ZSIsICJ0eXBlIjogImJvb2xlYW4iLCAiZGVzY3JpcHRpb24iOiAi
V2hldGhlciB0aGUgd2luZG93IGlzIGFjdGl2ZSBhdCB0aGUgdGltZSB0aGUgY29tbWFuZCBpcyBo
YW5kbGVkLiIgfQorICAgICAgICAgICAgXQorICAgICAgICB9CisgICAgXSwKKyAgICAiY29tbWFu
ZHMiOiBbCisgICAgICAgIHsKKyAgICAgICAgICAgICJuYW1lIjogImdldFdpbmRvd3MiLAorICAg
ICAgICAgICAgInJldHVybnMiOiBbCisgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJ3aW5kb3dz
IiwgInR5cGUiOiAiYXJyYXkiLCAiaXRlbXMiOiB7ICIkcmVmIjogIkJyb3dzaW5nV2luZG93In0s
ICJkZXNjcmlwdGlvbiI6ICJBbGwga25vd24gd2luZG93cyBhbmQgdGFicyBpbiB0aGUgYnJvd3Np
bmcgc2Vzc2lvbi4iIH0KKyAgICAgICAgICAgIF0sCisgICAgICAgICAgICAiZGVzY3JpcHRpb24i
OiAiR2V0cyBpbmZvcm1hdGlvbiBhYm91dCBhbGwgb3BlbiB3aW5kb3dzIGFuZCB0YWJzIGluIHRo
ZSBhdXRvbWF0aW9uIHNlc3Npb24uIgorICAgICAgICB9LAorICAgICAgICB7CisgICAgICAgICAg
ICAibmFtZSI6ICJvcGVuV2luZG93IiwKKyAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPcGVu
cyBhIG5ldyBhdXRvbWF0aW9uIHdpbmRvdyBpbiB0aGUgY3VycmVudCBicm93c2luZyBjb250ZXh0
LiIKKyAgICAgICAgfSwKKyAgICAgICAgeworICAgICAgICAgICAgIm5hbWUiOiAiY2xvc2VXaW5k
b3ciLAorICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCisgICAgICAgICAgICAgICAgeyAibmFt
ZSI6ICJoYW5kbGUiLCAiJHJlZiI6ICJPcGFxdWVXaW5kb3dIYW5kbGUiLCAiZGVzY3JpcHRpb24i
OiAiVGhlIGhhbmRsZSBmb3IgdGhlIHdpbmRvdyB0aGF0IHNob3VsZCBiZSBjbG9zZWQuIiB9Cisg
ICAgICAgICAgICBdLAorICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkNsb3NlcyB0aGUgc3Bl
Y2lmaWVkIHdpbmRvdy4iCisgICAgICAgIH0KKyAgICBdCit9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5j
cHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uOWE0MjEyZmMxMTM4NTAzZmFkZGNhZDgxOTIzOWY1N2E0NmRmMmUwYQot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BdXRvbWF0aW9uL1dl
YkF1dG9tYXRpb25TZXNzaW9uLmNwcApAQCAtMCwwICsxLDkzIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYkF1dG9tYXRpb25TZXNzaW9uLmgiCisKKyNp
bmNsdWRlICJBUElBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudC5oIgorI2luY2x1ZGUgPEphdmFTY3Jp
cHRDb3JlL0luc3BlY3RvckJhY2tlbmREaXNwYXRjaGVyLmg+CisjaW5jbHVkZSA8SmF2YVNjcmlw
dENvcmUvSW5zcGVjdG9yRnJvbnRlbmRSb3V0ZXIuaD4KKwordXNpbmcgbmFtZXNwYWNlIEluc3Bl
Y3RvcjsKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK1dlYkF1dG9tYXRpb25TZXNzaW9uOjpXZWJB
dXRvbWF0aW9uU2Vzc2lvbigpCisgICAgOiBtX2NsaWVudChzdGQ6Om1ha2VfdW5pcXVlPEFQSTo6
QXV0b21hdGlvblNlc3Npb25DbGllbnQ+KCkpCisgICAgLCBtX2Zyb250ZW5kUm91dGVyKEZyb250
ZW5kUm91dGVyOjpjcmVhdGUoKSkKKyAgICAsIG1fYmFja2VuZERpc3BhdGNoZXIoQmFja2VuZERp
c3BhdGNoZXI6OmNyZWF0ZShtX2Zyb250ZW5kUm91dGVyLmNvcHlSZWYoKSkpCit7CisgICAgLy8g
RklYTUU6IHRvIGFjdHVhbGx5IGhhbmRsZSBpbmNvbWluZyBjb21tYW5kcywgYW4gYWdlbnQgbmVl
ZHMgdG8gYmUgY3JlYXRlZAorICAgIC8vIGFuZCByZWdpc3RlcmVkIHdpdGggdGhlIGJhY2tlbmQg
ZGlzcGF0Y2hlciBpbiB0aGUgY29uc3RydWN0b3IuCit9CisKK1dlYkF1dG9tYXRpb25TZXNzaW9u
Ojp+V2ViQXV0b21hdGlvblNlc3Npb24oKQoreworICAgIEFTU0VSVCghbV9jbGllbnQpOworfQor
Cit2b2lkIFdlYkF1dG9tYXRpb25TZXNzaW9uOjpzZXRDbGllbnQoc3RkOjp1bmlxdWVfcHRyPEFQ
STo6QXV0b21hdGlvblNlc3Npb25DbGllbnQ+IGNsaWVudCkKK3sKKyAgICBtX2NsaWVudCA9IFdU
Rk1vdmUoY2xpZW50KTsKK30KKworLy8gTk9URTogdGhpcyBjbGFzcyBjb3VsZCBiZSBzcGxpdCBh
dCBzb21lIHBvaW50IHRvIHN1cHBvcnQgbG9jYWwgYW5kIHJlbW90ZSBhdXRvbWF0aW9uIHNlc3Np
b25zLgorLy8gRm9yIG5vdywgaXQgb25seSB3b3JrcyB3aXRoIGEgcmVtb3RlIGF1dG9tYXRpb24g
ZHJpdmVyIG92ZXIgYSBSZW1vdGVJbnNwZWN0b3IgY29ubmVjdGlvbi4KKworI2lmIEVOQUJMRShS
RU1PVEVfSU5TUEVDVE9SKQorCisvLyBJbnNwZWN0b3I6OlJlbW90ZUF1dG9tYXRpb25UYXJnZXQg
QVBJCisKK3ZvaWQgV2ViQXV0b21hdGlvblNlc3Npb246OmRpc3BhdGNoTWVzc2FnZUZyb21SZW1v
dGUoY29uc3QgU3RyaW5nJiBtZXNzYWdlKQoreworICAgIG1fYmFja2VuZERpc3BhdGNoZXItPmRp
c3BhdGNoKG1lc3NhZ2UpOworfQorCit2b2lkIFdlYkF1dG9tYXRpb25TZXNzaW9uOjpjb25uZWN0
KEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsKiBjaGFubmVsLCBib29sIGlzQXV0b21hdGljQ29u
bmVjdGlvbikKK3sKKyAgICBVTlVTRURfUEFSQU0oaXNBdXRvbWF0aWNDb25uZWN0aW9uKTsKKwor
ICAgIG1fcmVtb3RlQ2hhbm5lbCA9IGNoYW5uZWw7CisgICAgbV9mcm9udGVuZFJvdXRlci0+Y29u
bmVjdEZyb250ZW5kKGNoYW5uZWwpOworCisgICAgc2V0SXNQYWlyZWQodHJ1ZSk7Cit9CisKK3Zv
aWQgV2ViQXV0b21hdGlvblNlc3Npb246OmRpc2Nvbm5lY3QoSW5zcGVjdG9yOjpGcm9udGVuZENo
YW5uZWwqIGNoYW5uZWwpCit7CisgICAgQVNTRVJUKGNoYW5uZWwgPT0gbV9yZW1vdGVDaGFubmVs
KTsKKworICAgIG1fcmVtb3RlQ2hhbm5lbCA9IG51bGxwdHI7CisgICAgbV9mcm9udGVuZFJvdXRl
ci0+ZGlzY29ubmVjdEZyb250ZW5kKGNoYW5uZWwpOworCisgICAgc2V0SXNQYWlyZWQoZmFsc2Up
OworCisgICAgaWYgKG1fY2xpZW50KQorICAgICAgICBtX2NsaWVudC0+ZGlkRGlzY29ubmVjdEZy
b21SZW1vdGUodGhpcyk7Cit9CisKKyNlbmRpZiAvLyBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikK
KworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5oIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb24uaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
YzM5YTdmMTU1Njg2ZjlkNjg1ZjRhZTcxZDE5M2JlZDI0ODFlYWNhCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Np
b24uaApAQCAtMCwwICsxLDg0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBXZWJBdXRvbWF0aW9u
U2Vzc2lvbl9oCisjZGVmaW5lIFdlYkF1dG9tYXRpb25TZXNzaW9uX2gKKworI2luY2x1ZGUgIkFQ
SU9iamVjdC5oIgorI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisKKyNpZiBFTkFCTEUoUkVNT1RF
X0lOU1BFQ1RPUikKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9SZW1vdGVBdXRvbWF0aW9uVGFy
Z2V0Lmg+CisjZW5kaWYKKworbmFtZXNwYWNlIEFQSSB7CitjbGFzcyBBdXRvbWF0aW9uU2Vzc2lv
bkNsaWVudDsKK30KKworbmFtZXNwYWNlIEluc3BlY3RvciB7CitjbGFzcyBCYWNrZW5kRGlzcGF0
Y2hlcjsKK2NsYXNzIEZyb250ZW5kUm91dGVyOworfQorCituYW1lc3BhY2UgV2ViS2l0IHsKKwor
Y2xhc3MgV2ViQXV0b21hdGlvblNlc3Npb25DbGllbnQ7CisKK2NsYXNzIFdlYkF1dG9tYXRpb25T
ZXNzaW9uIGZpbmFsIDogcHVibGljIEFQSTo6T2JqZWN0SW1wbDxBUEk6Ok9iamVjdDo6VHlwZTo6
QXV0b21hdGlvblNlc3Npb24+CisjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCisgICAgLCBw
dWJsaWMgSW5zcGVjdG9yOjpSZW1vdGVBdXRvbWF0aW9uVGFyZ2V0CisjZW5kaWYKK3sKK3B1Ymxp
YzoKKyAgICBXZWJBdXRvbWF0aW9uU2Vzc2lvbigpOworICAgIH5XZWJBdXRvbWF0aW9uU2Vzc2lv
bigpOworCisgICAgdm9pZCBzZXRDbGllbnQoc3RkOjp1bmlxdWVfcHRyPEFQSTo6QXV0b21hdGlv
blNlc3Npb25DbGllbnQ+KTsKKworICAgIHZvaWQgc2V0U2Vzc2lvbklkZW50aWZpZXIoY29uc3Qg
U3RyaW5nJiBzZXNzaW9uSWRlbnRpZmllcikgeyBtX3Nlc3Npb25JZGVudGlmaWVyID0gc2Vzc2lv
bklkZW50aWZpZXI7IH0KKyAgICBTdHJpbmcgc2Vzc2lvbklkZW50aWZpZXIoKSBjb25zdCB7IHJl
dHVybiBtX3Nlc3Npb25JZGVudGlmaWVyOyB9CisKKyNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RP
UikKKyAgICAvLyBJbnNwZWN0b3I6OlJlbW90ZUF1dG9tYXRpb25UYXJnZXQgQVBJCisgICAgdmly
dHVhbCBTdHJpbmcgbmFtZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fc2Vzc2lvbklkZW50
aWZpZXI7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hNZXNzYWdlRnJvbVJlbW90ZShjb25z
dCBTdHJpbmcmIG1lc3NhZ2UpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBjb25uZWN0KElu
c3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsKiwgYm9vbCBpc0F1dG9tYXRpY0Nvbm5lY3Rpb24gPSBm
YWxzZSkgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGRpc2Nvbm5lY3QoSW5zcGVjdG9yOjpG
cm9udGVuZENoYW5uZWwqKSBvdmVycmlkZTsKKyNlbmRpZgorCitwcml2YXRlOgorICAgIHN0ZDo6
dW5pcXVlX3B0cjxBUEk6OkF1dG9tYXRpb25TZXNzaW9uQ2xpZW50PiBtX2NsaWVudDsKKyAgICBT
dHJpbmcgbV9zZXNzaW9uSWRlbnRpZmllciB7IEFTQ0lJTGl0ZXJhbCgiVW50aXRsZWQgU2Vzc2lv
biIpIH07CisgICAgUmVmPEluc3BlY3Rvcjo6RnJvbnRlbmRSb3V0ZXI+IG1fZnJvbnRlbmRSb3V0
ZXI7CisgICAgUmVmPEluc3BlY3Rvcjo6QmFja2VuZERpc3BhdGNoZXI+IG1fYmFja2VuZERpc3Bh
dGNoZXI7CisKKyNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKKyAgICBJbnNwZWN0b3I6OkZy
b250ZW5kQ2hhbm5lbCogbV9yZW1vdGVDaGFubmVsIHsgbnVsbHB0ciB9OworI2VuZGlmCit9Owor
Cit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIFdlYkF1dG9tYXRpb25TZXNzaW9u
X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJBdXRvbWF0aW9uU2Vz
c2lvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQXV0b21hdGlvblNlc3Npb24u
Y3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyNzVkMjZiZWNhZDk2OWUxZDlhODhl
Y2Y2MWM3ZTBlMzBmZjM5MjIxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5j
cHAKKysrIC9kZXYvbnVsbApAQCAtMSw3OSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAy
MDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUg
ImNvbmZpZy5oIgotI2luY2x1ZGUgIldlYkF1dG9tYXRpb25TZXNzaW9uLmgiCi0KLSNpbmNsdWRl
ICJBUElBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudC5oIgotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQot
V2ViQXV0b21hdGlvblNlc3Npb246OldlYkF1dG9tYXRpb25TZXNzaW9uKCkKLSAgICA6IG1fY2xp
ZW50KHN0ZDo6bWFrZV91bmlxdWU8QVBJOjpBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudD4oKSkKLXsK
LX0KLQotV2ViQXV0b21hdGlvblNlc3Npb246On5XZWJBdXRvbWF0aW9uU2Vzc2lvbigpCi17Ci0g
ICAgQVNTRVJUKCFtX2NsaWVudCk7Ci19Ci0KLXZvaWQgV2ViQXV0b21hdGlvblNlc3Npb246OnNl
dENsaWVudChzdGQ6OnVuaXF1ZV9wdHI8QVBJOjpBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudD4gY2xp
ZW50KQotewotICAgIG1fY2xpZW50ID0gV1RGTW92ZShjbGllbnQpOwotfQotCi0vLyBOT1RFOiB0
aGlzIGNsYXNzIGNvdWxkIGJlIHNwbGl0IGF0IHNvbWUgcG9pbnQgdG8gc3VwcG9ydCBsb2NhbCBh
bmQgcmVtb3RlIGF1dG9tYXRpb24gc2Vzc2lvbnMuCi0vLyBGb3Igbm93LCBpdCBvbmx5IHdvcmtz
IHdpdGggYSByZW1vdGUgYXV0b21hdGlvbiBkcml2ZXIgb3ZlciBhIFJlbW90ZUluc3BlY3RvciBj
b25uZWN0aW9uLgotCi0jaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCi0KLS8vIEluc3BlY3Rv
cjo6UmVtb3RlQXV0b21hdGlvblRhcmdldCBBUEkKLQotdm9pZCBXZWJBdXRvbWF0aW9uU2Vzc2lv
bjo6ZGlzcGF0Y2hNZXNzYWdlRnJvbVJlbW90ZShjb25zdCBTdHJpbmcmKQotewotICAgIC8vIEZJ
WE1FOiB0byBiZSBpbXBsZW1lbnRlZC4KLX0KLQotdm9pZCBXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6
Y29ubmVjdChJbnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCogY2hhbm5lbCwgYm9vbCBpc0F1dG9t
YXRpY0Nvbm5lY3Rpb24pCi17Ci0gICAgVU5VU0VEX1BBUkFNKGlzQXV0b21hdGljQ29ubmVjdGlv
bik7Ci0KLSAgICBtX3JlbW90ZUNoYW5uZWwgPSBjaGFubmVsOwotICAgIHNldElzUGFpcmVkKHRy
dWUpOwotfQotCi12b2lkIFdlYkF1dG9tYXRpb25TZXNzaW9uOjpkaXNjb25uZWN0KEluc3BlY3Rv
cjo6RnJvbnRlbmRDaGFubmVsKiBjaGFubmVsKQotewotICAgIG1fcmVtb3RlQ2hhbm5lbCA9IG51
bGxwdHI7Ci0gICAgc2V0SXNQYWlyZWQoZmFsc2UpOwotICAgIAotICAgIGlmIChtX2NsaWVudCkK
LSAgICAgICAgbV9jbGllbnQtPmRpZERpc2Nvbm5lY3RGcm9tUmVtb3RlKHRoaXMpOwotfQotCi0j
ZW5kaWYgLy8gRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCi0KLX0gLy8gbmFtZXNwYWNlIFdlYktp
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkF1dG9tYXRpb25TZXNz
aW9uLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQXV0b21hdGlvblNlc3Npb24uaApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggODgzNWVmZDZjOGUzMTJlOWQ4MTk5NjRlMzYz
MTkxODgwNjZmYjdjOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQXV0b21hdGlvblNlc3Npb24uaAorKysg
L2Rldi9udWxsCkBAIC0xLDc3ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
Ci0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0g
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIFdlYkF1dG9t
YXRpb25TZXNzaW9uX2gKLSNkZWZpbmUgV2ViQXV0b21hdGlvblNlc3Npb25faAotCi0jaW5jbHVk
ZSAiQVBJT2JqZWN0LmgiCi0jaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KLQotI2lmIEVOQUJMRShS
RU1PVEVfSU5TUEVDVE9SKQotI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1JlbW90ZUF1dG9tYXRp
b25UYXJnZXQuaD4KLSNlbmRpZgotCi1uYW1lc3BhY2UgQVBJIHsKLWNsYXNzIEF1dG9tYXRpb25T
ZXNzaW9uQ2xpZW50OwotfQotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQotY2xhc3MgV2ViQXV0b21h
dGlvblNlc3Npb25DbGllbnQ7Ci0KLWNsYXNzIFdlYkF1dG9tYXRpb25TZXNzaW9uIGZpbmFsIDog
cHVibGljIEFQSTo6T2JqZWN0SW1wbDxBUEk6Ok9iamVjdDo6VHlwZTo6QXV0b21hdGlvblNlc3Np
b24+Ci0jaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCi0gICAgLCBwdWJsaWMgSW5zcGVjdG9y
OjpSZW1vdGVBdXRvbWF0aW9uVGFyZ2V0Ci0jZW5kaWYKLXsKLXB1YmxpYzoKLSAgICBXZWJBdXRv
bWF0aW9uU2Vzc2lvbigpOwotICAgIH5XZWJBdXRvbWF0aW9uU2Vzc2lvbigpOwotCi0gICAgdm9p
ZCBzZXRDbGllbnQoc3RkOjp1bmlxdWVfcHRyPEFQSTo6QXV0b21hdGlvblNlc3Npb25DbGllbnQ+
KTsKLQotICAgIHZvaWQgc2V0U2Vzc2lvbklkZW50aWZpZXIoY29uc3QgU3RyaW5nJiBzZXNzaW9u
SWRlbnRpZmllcikgeyBtX3Nlc3Npb25JZGVudGlmaWVyID0gc2Vzc2lvbklkZW50aWZpZXI7IH0K
LSAgICBTdHJpbmcgc2Vzc2lvbklkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX3Nlc3Npb25J
ZGVudGlmaWVyOyB9Ci0KLSNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKLSAgICAvLyBJbnNw
ZWN0b3I6OlJlbW90ZUF1dG9tYXRpb25UYXJnZXQgQVBJCi0gICAgdmlydHVhbCBTdHJpbmcgbmFt
ZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fc2Vzc2lvbklkZW50aWZpZXI7IH0KLSAgICB2
aXJ0dWFsIHZvaWQgZGlzcGF0Y2hNZXNzYWdlRnJvbVJlbW90ZShjb25zdCBTdHJpbmcmIG1lc3Nh
Z2UpIG92ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9pZCBjb25uZWN0KEluc3BlY3Rvcjo6RnJvbnRl
bmRDaGFubmVsKiwgYm9vbCBpc0F1dG9tYXRpY0Nvbm5lY3Rpb24gPSBmYWxzZSkgb3ZlcnJpZGU7
Ci0gICAgdmlydHVhbCB2b2lkIGRpc2Nvbm5lY3QoSW5zcGVjdG9yOjpGcm9udGVuZENoYW5uZWwq
KSBvdmVycmlkZTsKLSNlbmRpZgotCi1wcml2YXRlOgotICAgIHN0ZDo6dW5pcXVlX3B0cjxBUEk6
OkF1dG9tYXRpb25TZXNzaW9uQ2xpZW50PiBtX2NsaWVudDsKLSAgICBTdHJpbmcgbV9zZXNzaW9u
SWRlbnRpZmllciB7IEFTQ0lJTGl0ZXJhbCgiVW50aXRsZWQgU2Vzc2lvbiIpIH07Ci0KLSNpZiBF
TkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKLSAgICBJbnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCog
bV9yZW1vdGVDaGFubmVsIHsgbnVsbHB0ciB9OwotI2VuZGlmCi19OwotCi19IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKLQotI2VuZGlmIC8vIFdlYkF1dG9tYXRpb25TZXNzaW9uX2gKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJj
ZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBmNjU5Yjcx
NjE2ZDExZTk1N2I1MTlmOTIzMjdhNzJiZjIwODBjNDgzLi5kY2I4MTI5ZDZkNDczMTM5MzlmZGQw
Y2FhYmYwZGVkZTUwYTBiZDc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMjMxLDkgKzEyMzEsMTQgQEAKIAkJOTkwRDI4QjIx
QzY1MjA5NDAwOTg2OTc3IC8qIF9XS0F1dG9tYXRpb25TZXNzaW9uLm1tIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTkwRDI4QUQxQzY1MTkwNDAwOTg2OTc3
IC8qIF9XS0F1dG9tYXRpb25TZXNzaW9uLm1tICovOyB9OwogCQk5OTBEMjhCQjFDNjUzOUQzMDA5
ODY5NzcgLyogQXV0b21hdGlvblNlc3Npb25DbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk5MEQyOEI3MUM2NTM5QTAwMDk4Njk3NyAvKiBBdXRv
bWF0aW9uU2Vzc2lvbkNsaWVudC5oICovOyB9OwogCQk5OTBEMjhCQzFDNjUzOURBMDA5ODY5Nzcg
LyogQXV0b21hdGlvblNlc3Npb25DbGllbnQubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA5OTBEMjhCODFDNjUzOUEwMDA5ODY5NzcgLyogQXV0b21hdGlv
blNlc3Npb25DbGllbnQubW0gKi87IH07Ci0JCTk5MEQyOEJGMUM2NTREMzkwMDk4Njk3NyAvKiBX
ZWJBdXRvbWF0aW9uU2Vzc2lvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5OTBEMjhCRDFDNjU0OTBBMDA5ODY5NzcgLyogV2ViQXV0b21hdGlvblNl
c3Npb24uY3BwICovOyB9OwogCQk5OTBEMjhDMDFDNjU1M0YxMDA5ODY5NzcgLyogQVBJQXV0b21h
dGlvblNlc3Npb25DbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDk5MEQyOEIzMUM2NTI2RDQwMDk4Njk3NyAvKiBBUElBdXRvbWF0aW9uU2Vzc2lv
bkNsaWVudC5oICovOyB9OwotCQk5OTBEMjhDMTFDNjU2MjY1MDA5ODY5NzcgLyogV2ViQXV0b21h
dGlvblNlc3Npb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDk5MEQyOEI1MUM2NTI2RjUwMDk4Njk3NyAvKiBXZWJBdXRvbWF0aW9uU2Vzc2lvbi5oICov
OyB9OworCQk5OTU1QTZFQzFDNzk4MEMyMDBFQjZBOTMgLyogV2ViQXV0b21hdGlvblNlc3Npb24u
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk5NTVBNkVC
MUM3OTgwQkIwMEVCNkE5MyAvKiBXZWJBdXRvbWF0aW9uU2Vzc2lvbi5oICovOyB9OworCQk5OTU1
QTZFRDFDNzk4MENBMDBFQjZBOTMgLyogV2ViQXV0b21hdGlvblNlc3Npb24uY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTk1NUE2RUExQzc5ODBCQjAw
RUI2QTkzIC8qIFdlYkF1dG9tYXRpb25TZXNzaW9uLmNwcCAqLzsgfTsKKwkJOTk1NUE2RUYxQzc5
ODEwODAwRUI2QTkzIC8qIEF1dG9tYXRpb24uanNvbiBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk5NTVBNkU5MUM3OTgwQkIwMEVCNkE5MyAvKiBBdXRvbWF0
aW9uLmpzb24gKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
KwkJOTk1NUE2RjQxQzc5ODZEQzAwRUI2QTkzIC8qIEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVy
cy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5OTU1
QTZGMDFDNzk4NjY0MDBFQjZBOTMgLyogSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzLmNwcCAq
LzsgfTsKKwkJOTk1NUE2RjUxQzc5ODZFMDAwRUI2QTkzIC8qIEluc3BlY3RvckJhY2tlbmREaXNw
YXRjaGVycy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
OTk1NUE2RjExQzc5ODY2NDAwRUI2QTkzIC8qIEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5o
ICovOyB9OworCQk5OTU1QTZGNjFDNzk4NkUzMDBFQjZBOTMgLyogSW5zcGVjdG9yUHJvdG9jb2xP
YmplY3RzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDk5NTVBNkYyMUM3OTg2NjQwMEVCNkE5MyAvKiBJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuY3Bw
ICovOyB9OworCQk5OTU1QTZGNzFDNzk4NkU1MDBFQjZBOTMgLyogSW5zcGVjdG9yUHJvdG9jb2xP
YmplY3RzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5
OTU1QTZGMzFDNzk4NjY0MDBFQjZBOTMgLyogSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzLmggKi87
IH07CiAJCTk5QzgxRDU5MUMyMEUxRTUwMDVDNEM4MiAvKiBBdXRvbWF0aW9uQ2xpZW50Lm1tIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTlDODFENTYxQzIw
REZCRTAwNUM0QzgyIC8qIEF1dG9tYXRpb25DbGllbnQubW0gKi87IH07CiAJCTk5QzgxRDVBMUMy
MEU3RTIwMDVDNEM4MiAvKiBBdXRvbWF0aW9uQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5OUM4MUQ1NTFDMjBERkJFMDA1QzRDODIgLyogQXV0
b21hdGlvbkNsaWVudC5oICovOyB9OwogCQk5OUM4MUQ1RDFDMjFGMzhCMDA1QzRDODIgLyogQVBJ
QXV0b21hdGlvbkNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gOTlDODFENUIxQzIwRTgxNzAwNUM0QzgyIC8qIEFQSUF1dG9tYXRpb25DbGllbnQu
aCAqLzsgfTsKQEAgLTMyNTYsMTAgKzMyNjEsMTUgQEAKIAkJOTkwRDI4QUQxQzY1MTkwNDAwOTg2
OTc3IC8qIF9XS0F1dG9tYXRpb25TZXNzaW9uLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
b2JqY3BwOyBwYXRoID0gX1dLQXV0b21hdGlvblNlc3Npb24ubW07IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTk5MEQyOEFGMUM2NTIwMzkwMDk4Njk3NyAvKiBfV0tBdXRvbWF0aW9uU2Vz
c2lvbkludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IF9XS0F1dG9t
YXRpb25TZXNzaW9uSW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTkw
RDI4QjMxQzY1MjZENDAwOTg2OTc3IC8qIEFQSUF1dG9tYXRpb25TZXNzaW9uQ2xpZW50LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFQSUF1dG9tYXRpb25TZXNzaW9uQ2xpZW50
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTk5MEQyOEI1MUM2NTI2RjUwMDk4Njk3
NyAvKiBXZWJBdXRvbWF0aW9uU2Vzc2lvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBXZWJBdXRvbWF0aW9uU2Vzc2lvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk5OTBEMjhCNzFDNjUzOUEwMDA5ODY5NzcgLyogQXV0b21hdGlvblNlc3Npb25DbGllbnQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQXV0b21hdGlvblNlc3Npb25DbGllbnQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTkwRDI4QjgxQzY1MzlBMDAwOTg2OTc3
IC8qIEF1dG9tYXRpb25TZXNzaW9uQ2xpZW50Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
b2JqY3BwOyBwYXRoID0gQXV0b21hdGlvblNlc3Npb25DbGllbnQubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07Ci0JCTk5MEQyOEJEMUM2NTQ5MEEwMDk4Njk3NyAvKiBXZWJBdXRvbWF0aW9u
U2Vzc2lvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJBdXRv
bWF0aW9uU2Vzc2lvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk5NTVBNkU5
MUM3OTgwQkIwMEVCNkE5MyAvKiBBdXRvbWF0aW9uLmpzb24gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0Lmpzb247
IHBhdGggPSBBdXRvbWF0aW9uLmpzb247IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk5
NTVBNkVBMUM3OTgwQkIwMEVCNkE5MyAvKiBXZWJBdXRvbWF0aW9uU2Vzc2lvbi5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJBdXRvbWF0aW9uU2Vzc2lvbi5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk5NTVBNkVCMUM3OTgwQkIwMEVCNkE5MyAv
KiBXZWJBdXRvbWF0aW9uU2Vzc2lvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBXZWJBdXRvbWF0aW9uU2Vzc2lvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5
OTU1QTZGMDFDNzk4NjY0MDBFQjZBOTMgLyogSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEluc3BlY3RvckJhY2tlbmRE
aXNwYXRjaGVycy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk5NTVBNkYxMUM3
OTg2NjQwMEVCNkE5MyAvKiBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk5NTVBNkYyMUM3OTg2NjQwMEVCNkE5MyAvKiBJ
bnNwZWN0b3JQcm90b2NvbE9iamVjdHMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJOTk1NUE2RjMxQzc5ODY2NDAwRUI2QTkzIC8qIEluc3BlY3RvclByb3RvY29s
T2JqZWN0cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JQcm90
b2NvbE9iamVjdHMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTlDODFENTUxQzIw
REZCRTAwNUM0QzgyIC8qIEF1dG9tYXRpb25DbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gQXV0b21hdGlvbkNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk5OUM4MUQ1NjFDMjBERkJFMDA1QzRDODIgLyogQXV0b21hdGlvbkNsaWVudC5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEF1dG9tYXRpb25DbGllbnQubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk5QzgxRDVCMUMyMEU4MTcwMDVDNEM4MiAv
KiBBUElBdXRvbWF0aW9uQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEFQSUF1dG9tYXRpb25DbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTU2
MTEsNiArNTYyMSwxNiBAQAogCQkJcGF0aCA9IG1hYzsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7CiAJCX07CisJCTk5NTVBNkU4MUM3OTgwOTAwMEVCNkE5MyAvKiBBdXRvbWF0aW9uICovID0g
eworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk5OTU1QTZFOTFDNzk4
MEJCMDBFQjZBOTMgLyogQXV0b21hdGlvbi5qc29uICovLAorCQkJCTk5NTVBNkVBMUM3OTgwQkIw
MEVCNkE5MyAvKiBXZWJBdXRvbWF0aW9uU2Vzc2lvbi5jcHAgKi8sCisJCQkJOTk1NUE2RUIxQzc5
ODBCQjAwRUI2QTkzIC8qIFdlYkF1dG9tYXRpb25TZXNzaW9uLmggKi8sCisJCQkpOworCQkJcGF0
aCA9IEF1dG9tYXRpb247CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OwogCQlBMTgy
RDVCMTFCRTZCQ0Y0MDA4N0E3Q0MgLyogaW9zICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJ
CQljaGlsZHJlbiA9ICgKQEAgLTU4MDUsNiArNTgyNSw3IEBACiAJCQljaGlsZHJlbiA9ICgKIAkJ
CQlCQzAzMkRDNDEwRjQzODdDMDA1OEMxNUEgLyogQVBJICovLAogCQkJCTUxMkY1ODhEMTJBODgz
NkYwMDYyOTUzMCAvKiBBdXRoZW50aWNhdGlvbiAqLywKKwkJCQk5OTU1QTZFODFDNzk4MDkwMDBF
QjZBOTMgLyogQXV0b21hdGlvbiAqLywKIAkJCQkxQUJDM0RGMjE4OTlFNDE1MDA0RjA2MjYgLyog
Q29jb2EgKi8sCiAJCQkJMUFCN0Q0QzcxMjg4QUE5QTAwQ0ZEMDhDIC8qIERvd25sb2FkcyAqLywK
IAkJCQkyREE5NDRBODE4ODRFOUFCMDBFRDg2REIgLyogaW9zICovLApAQCAtNTg1Niw4ICs1ODc3
LDYgQEAKIAkJCQkxQTBGMjlFMTEyMEI0NDQyMDA1M0QxQjkgLyogVmlzaXRlZExpbmtTdG9yZS5j
cHAgKi8sCiAJCQkJMUEwRjI5RTIxMjBCNDQ0MjAwNTNEMUI5IC8qIFZpc2l0ZWRMaW5rU3RvcmUu
aCAqLywKIAkJCQkxQTYwMjI0OTE4QzE2QjA4MDBDM0U4QzkgLyogVmlzaXRlZExpbmtTdG9yZS5t
ZXNzYWdlcy5pbiAqLywKLQkJCQk5OTBEMjhCRDFDNjU0OTBBMDA5ODY5NzcgLyogV2ViQXV0b21h
dGlvblNlc3Npb24uY3BwICovLAotCQkJCTk5MEQyOEI1MUM2NTI2RjUwMDk4Njk3NyAvKiBXZWJB
dXRvbWF0aW9uU2Vzc2lvbi5oICovLAogCQkJCUJDNzJCQTFCMTFFNjQ5MDcwMDFFQjRFQSAvKiBX
ZWJCYWNrRm9yd2FyZExpc3QuY3BwICovLAogCQkJCUJDNzJCQTFDMTFFNjQ5MDcwMDFFQjRFQSAv
KiBXZWJCYWNrRm9yd2FyZExpc3QuaCAqLywKIAkJCQlGMDM2OTc4NzE1RjRCRjA1MDBDM0E4MEUg
LyogV2ViQ29sb3JQaWNrZXIuY3BwICovLApAQCAtNjgzMCw2ICs2ODQ5LDEwIEBACiAJCQkJMUE2
NDIzMDcxMkREMDlFQjAwQ0FBRTJDIC8qIERyYXdpbmdBcmVhUHJveHlNZXNzYWdlcy5oICovLAog
CQkJCTFBQTU3NUZGMTQ5NkI3QzAwMEE0RUUwNiAvKiBFdmVudERpc3BhdGNoZXJNZXNzYWdlUmVj
ZWl2ZXIuY3BwICovLAogCQkJCTFBQTU3NjAwMTQ5NkI3QzAwMEE0RUUwNiAvKiBFdmVudERpc3Bh
dGNoZXJNZXNzYWdlcy5oICovLAorCQkJCTk5NTVBNkYwMUM3OTg2NjQwMEVCNkE5MyAvKiBJbnNw
ZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuY3BwICovLAorCQkJCTk5NTVBNkYxMUM3OTg2NjQwMEVC
NkE5MyAvKiBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuaCAqLywKKwkJCQk5OTU1QTZGMjFD
Nzk4NjY0MDBFQjZBOTMgLyogSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzLmNwcCAqLywKKwkJCQk5
OTU1QTZGMzFDNzk4NjY0MDBFQjZBOTMgLyogSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzLmggKi8s
CiAJCQkJNTFERDlGMjYxNjM2N0RBMjAwMTU3OEU5IC8qIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzTWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKIAkJCQk1MUREOUYyNzE2MzY3REEyMDAxNTc4
RTkgLyogTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3NNZXNzYWdlcy5oICovLAogCQkJCTUx
N0NGMEUxMTYzQTQ4NkMwMEMyOTUwRSAvKiBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb25NZXNzYWdl
UmVjZWl2ZXIuY3BwICovLApAQCAtNzE3Miw2ICs3MTk1LDcgQEAKIAkJCQk5M0U2QTRFRTFCQzVE
RDM5MDBGOEEwRTcgLyogX1dLSGl0VGVzdFJlc3VsdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNB
ODhCM0IxQkM3MTBEOTAwQUJBNUMyIC8qIF9XS0hpdFRlc3RSZXN1bHRJbnRlcm5hbC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMzdBNjRFNTUxOEYzOEUzQzAwRUIzMEYxIC8qIF9XS0lucHV0RGVsZWdh
dGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTk5NTVBNkVGMUM3OTgxMDgwMEVCNkE5MyAvKiBBdXRv
bWF0aW9uLmpzb24gaW4gSGVhZGVycyAqLywKIAkJCQkyRDc5MEE5RDFBRDcwNTBEMDBBQjkwQjMg
LyogX1dLTGF5b3V0TW9kZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTExOEE5RjMxOTA4QjhFQTAw
RjdDOTJCIC8qIF9XS05TRmlsZU1hbmFnZXJFeHRyYXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTkz
MjM2MTFFMUIwMTVEQTgwMEZBOTIzMiAvKiBfV0tPdmVybGF5U2Nyb2xsYmFyU3R5bGUuaCBpbiBI
ZWFkZXJzICovLApAQCAtNzM1MiwxMiArNzM3NiwxMiBAQAogCQkJCUUxRUU1M0UzMTFGOENGQzAw
MENDQkVFNCAvKiBJbmplY3RlZEJ1bmRsZVBhZ2VFZGl0b3JDbGllbnQuaCBpbiBIZWFkZXJzICov
LAogCQkJCUJDMTRFMTBBMTIwQjkwNUUwMDgyNkMwQyAvKiBJbmplY3RlZEJ1bmRsZVBhZ2VGb3Jt
Q2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTA1MjM4MjFDNzU0MUZGMDA3OTkzQ0IgLyog
TGVnYWN5VW5pcXVlSURCRGF0YWJhc2VJZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLywKLQkJCQk5
OTBEMjhDMTFDNjU2MjY1MDA5ODY5NzcgLyogV2ViQXV0b21hdGlvblNlc3Npb24uaCBpbiBIZWFk
ZXJzICovLAogCQkJCUNENUM2NkExMTM0QjlEMzgwMDRGRTJBOCAvKiBJbmplY3RlZEJ1bmRsZVBh
Z2VGdWxsU2NyZWVuQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0E4QzZBOTExRTNCQTVG
MDA4MTJGQjcgLyogSW5qZWN0ZWRCdW5kbGVQYWdlTG9hZGVyQ2xpZW50LmggaW4gSGVhZGVycyAq
LywKIAkJCQk1MTA1MjM4MDFDNzU0MUZGMDA3OTkzQ0IgLyogTGVnYWN5VW5pcXVlSURCRGF0YWJh
c2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDODE0N0E5MTJGNjRDREEwMDdCMkMzMiAvKiBJbmpl
Y3RlZEJ1bmRsZVBhZ2VQb2xpY3lDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDQThDNkIw
MTFFM0MwODcwMDgxMkZCNyAvKiBJbmplY3RlZEJ1bmRsZVBhZ2VVSUNsaWVudC5oIGluIEhlYWRl
cnMgKi8sCisJCQkJOTk1NUE2RjcxQzc5ODZFNTAwRUI2QTkzIC8qIEluc3BlY3RvclByb3RvY29s
T2JqZWN0cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMzM0UwRDExMjQwOEU4NjAwMzYwRjNGIC8q
IEluamVjdGVkQnVuZGxlUmFuZ2VIYW5kbGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMTRERjc3
MTIwQjVCNzkwMDgyNkMwQyAvKiBJbmplY3RlZEJ1bmRsZVNjcmlwdFdvcmxkLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlDNThDREYyQTE4ODc1NDhCMDA4NzE1MzYgLyogSW50ZXJhY3Rpb25JbmZvcm1h
dGlvbkF0UG9zaXRpb24uaCBpbiBIZWFkZXJzICovLApAQCAtNzQyMiw2ICs3NDQ2LDcgQEAKIAkJ
CQlFMTRBOTU0QTE2RTAxNkE0MDA2OERFODIgLyogTmV0d29ya1Byb2Nlc3NQbGF0Zm9ybVN0cmF0
ZWdpZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxNzk1NTZFMTYyODc3QjMwMEZBNDNCNiAvKiBO
ZXR3b3JrUHJvY2Vzc1Byb3h5LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTNBMTYzRDE2MzA4OEY2
MDA1RDdEMjIgLyogTmV0d29ya1Byb2Nlc3NQcm94eU1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywK
KwkJCQk5OTU1QTZGNTFDNzk4NkUwMDBFQjZBOTMgLyogSW5zcGVjdG9yQmFja2VuZERpc3BhdGNo
ZXJzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MUZEMThCNjE2NTFGQkFEMDBEQkUxQ0UgLyogTmV0
d29ya1Jlc291cmNlTG9hZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTUyNTUxQjE3MDExODE5
MDAzRDdBREIgLyogTmV0d29ya1Jlc291cmNlTG9hZGVyTWVzc2FnZXMuaCBpbiBIZWFkZXJzICov
LAogCQkJCTVDMjBDQkEwMUJCMUVDRDgwMDg5NUJCMSAvKiBOZXR3b3JrU2Vzc2lvbi5oIGluIEhl
YWRlcnMgKi8sCkBAIC03NTI0LDYgKzc1NDksNyBAQAogCQkJCTFBMDAyRDQ5MTk2QjM0NUQwMEI5
QUQ0NCAvKiBTZXNzaW9uU3RhdGVDb2RpbmcuaCBpbiBIZWFkZXJzICovLAogCQkJCTc1M0UzRTBF
MTg4NzM5ODkwMDE4ODQ5NiAvKiBTZXNzaW9uVHJhY2tlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
OTlDODFENUExQzIwRTdFMjAwNUM0QzgyIC8qIEF1dG9tYXRpb25DbGllbnQuaCBpbiBIZWFkZXJz
ICovLAorCQkJCTk5NTVBNkVDMUM3OTgwQzIwMEVCNkE5MyAvKiBXZWJBdXRvbWF0aW9uU2Vzc2lv
bi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE2NDIwRTUxMkRDRTJGRjAwQ0FBRTJDIC8qIFNoYXJl
YWJsZUJpdG1hcC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTEyMTc0NjExNjRDMjBFMzAwMzdBNUMx
IC8qIFNoYXJlYWJsZVJlc291cmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTI0QkVENTEyMDg5
NEQxMDBGQkIwNTkgLyogU2hhcmVkTWVtb3J5LmggaW4gSGVhZGVycyAqLywKQEAgLTg2MTMsNyAr
ODYzOSw3IEBACiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9
IDA7CiAJCQlzaGVsbFBhdGggPSAvYmluL3NoOwotCQkJc2hlbGxTY3JpcHQgPSAibWtkaXIgLXAg
XCIke0JVSUxUX1BST0RVQ1RTX0RJUn0vRGVyaXZlZFNvdXJjZXMvV2ViS2l0MlwiXG5jZCBcIiR7
QlVJTFRfUFJPRFVDVFNfRElSfS9EZXJpdmVkU291cmNlcy9XZWJLaXQyXCJcblxuZXhwb3J0IFdl
YktpdDI9XCIke1NSQ1JPT1R9XCJcblxuaWYgWyAhICRDQyBdOyB0aGVuXG4gICAgZXhwb3J0IEND
PVwiYHhjcnVuIC1maW5kIGNsYW5nYFwiXG5maVxuXG5NQUtFRklMRV9JTkNMVURFX0ZMQUdTPSQo
ZWNobyBcIiR7V0VCS0lUQURESVRJT05TX0hFQURFUl9TRUFSQ0hfUEFUSFN9XCIgfCBwZXJsIC1l
ICdwcmludCBcIi1JXCIgLiBqb2luKFwiIC1JXCIsIHNwbGl0KFwiIFwiLCA8PikpOycpXG5cbmlm
IFsgXCIke0FDVElPTn1cIiA9IFwiYnVpbGRcIiAtbyBcIiR7QUNUSU9OfVwiID0gXCJpbnN0YWxs
XCIgLW8gXCIke0FDVElPTn1cIiA9IFwiaW5zdGFsbGhkcnNcIiBdOyB0aGVuXG4gICAgbWFrZSAt
LW5vLWJ1aWx0aW4tcnVsZXMgJHtNQUtFRklMRV9JTkNMVURFX0ZMQUdTfSAtZiBcIiR7V2ViS2l0
Mn0vRGVyaXZlZFNvdXJjZXMubWFrZVwiIC1qIGAvdXNyL3NiaW4vc3lzY3RsIC1uIGh3LmFjdGl2
ZWNwdWAgU0RLUk9PVD0ke1NES1JPT1R9XG5maVxuIjsKKwkJCXNoZWxsU2NyaXB0ID0gIm1rZGly
IC1wIFwiJHtCVUlMVF9QUk9EVUNUU19ESVJ9L0Rlcml2ZWRTb3VyY2VzL1dlYktpdDJcIlxuY2Qg
XCIke0JVSUxUX1BST0RVQ1RTX0RJUn0vRGVyaXZlZFNvdXJjZXMvV2ViS2l0MlwiXG5cbmV4cG9y
dCBXZWJLaXQyPVwiJHtTUkNST09UfVwiXG5cbi9iaW4vbG4gLXNmaCBcIiR7SkFWQVNDUklQVENP
UkVfUFJJVkFURV9IRUFERVJTX0RJUn1cIiBKYXZhU2NyaXB0Q29yZVByaXZhdGVIZWFkZXJzXG5l
eHBvcnQgSmF2YVNjcmlwdENvcmVfU0NSSVBUU19ESVI9XCJKYXZhU2NyaXB0Q29yZVByaXZhdGVI
ZWFkZXJzXCJcblxuaWYgWyAhICRDQyBdOyB0aGVuXG4gICAgZXhwb3J0IENDPVwiYHhjcnVuIC1m
aW5kIGNsYW5nYFwiXG5maVxuXG5NQUtFRklMRV9JTkNMVURFX0ZMQUdTPSQoZWNobyBcIiR7V0VC
S0lUQURESVRJT05TX0hFQURFUl9TRUFSQ0hfUEFUSFN9XCIgfCBwZXJsIC1lICdwcmludCBcIi1J
XCIgLiBqb2luKFwiIC1JXCIsIHNwbGl0KFwiIFwiLCA8PikpOycpXG5cbmlmIFsgXCIke0FDVElP
Tn1cIiA9IFwiYnVpbGRcIiAtbyBcIiR7QUNUSU9OfVwiID0gXCJpbnN0YWxsXCIgLW8gXCIke0FD
VElPTn1cIiA9IFwiaW5zdGFsbGhkcnNcIiBdOyB0aGVuXG4gICAgbWFrZSAtLW5vLWJ1aWx0aW4t
cnVsZXMgJHtNQUtFRklMRV9JTkNMVURFX0ZMQUdTfSAtZiBcIiR7V2ViS2l0Mn0vRGVyaXZlZFNv
dXJjZXMubWFrZVwiIC1qIGAvdXNyL3NiaW4vc3lzY3RsIC1uIGh3LmFjdGl2ZWNwdWAgU0RLUk9P
VD0ke1NES1JPT1R9XG5maVxuIjsKIAkJfTsKIC8qIEVuZCBQQlhTaGVsbFNjcmlwdEJ1aWxkUGhh
c2Ugc2VjdGlvbiAqLwogCkBAIC04NjQ4LDYgKzg2NzQsNyBAQAogCQkJZmlsZXMgPSAoCiAJCQkJ
MzdBNUUwMTMxOEJCRjkzNzAwMEEwODFFIC8qIF9XS0FjdGl2YXRlZEVsZW1lbnRJbmZvLm1tIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMUE1NzA0RjcxQkUwMUZGNDAwODc0QUYxIC8qIF9XS0NvbnRleHRN
ZW51RWxlbWVudEluZm8ubW0gaW4gU291cmNlcyAqLywKKwkJCQk5OTU1QTZGNDFDNzk4NkRDMDBF
QjZBOTMgLyogSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUExQTRGRTVCMThEQ0U5RkEwMEI1RUE4QSAvKiBfV0tEb3dubG9hZC5tbSBpbiBTb3VyY2Vz
ICovLAogCQkJCTM3OUE4NzM5MThCQkZFMEYwMDU4OEFGMiAvKiBfV0tFbGVtZW50QWN0aW9uLm1t
IGluIFNvdXJjZXMgKi8sCiAJCQkJMUE1NzA0RjExQkUwMTczRjAwODc0QUYxIC8qIF9XS0VsZW1l
bnRJbmZvLm1tIGluIFNvdXJjZXMgKi8sCkBAIC05MDIyLDYgKzkwNDksNyBAQAogCQkJCTFBQzEz
MzY3MTg1NjVCNTcwMEYzRUMwNSAvKiBVc2VyRGF0YS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkx
NTczOUJCQzFCNDIwNDAzMDBEMjU4QzEgLyogVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5h
Z2VyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTRBM0NDMThBMTlCMDYzRTcwMEQxNEFFRiAvKiBV
c2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQk5OTU1QTZFRDFDNzk4MENBMDBFQjZBOTMgLyogV2ViQXV0b21hdGlvblNlc3Npb24uY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJNEEzQ0MxOEMxOUIwNjQxNTAwRDE0QUVGIC8qIFVzZXJNZWRp
YVBlcm1pc3Npb25SZXF1ZXN0UHJveHkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTRFODY0OTIx
QjE2NzUwMTAwQzgyRjQwIC8qIFZlcnNpb25DaGVja3MubW0gaW4gU291cmNlcyAqLywKIAkJCQky
REFGNEZGQjFCNjM2MTgxMDA2MDEzRDYgLyogVmlld0dlc3R1cmVDb250cm9sbGVyLmNwcCBpbiBT
b3VyY2VzICovLApAQCAtOTE1Niw2ICs5MTg0LDcgQEAKIAkJCQlCQzg1N0ZCNjEyQjgzMEU2MDBF
REVCMkUgLyogV2ViT3BlblBhbmVsUGFyYW1ldGVycy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlC
Qzg1N0Y4NjEyQjgyRDBCMDBFREVCMkUgLyogV2ViT3BlblBhbmVsUmVzdWx0TGlzdGVuZXIuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJQkM4NTdGN0UxMkI4MkNFRTAwRURFQjJFIC8qIFdlYk9wZW5Q
YW5lbFJlc3VsdExpc3RlbmVyUHJveHkuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJOTk1NUE2RjYx
Qzc5ODZFMzAwRUI2QTkzIC8qIEluc3BlY3RvclByb3RvY29sT2JqZWN0cy5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlCQzk2M0Q2QjExM0REMTkyMDA1NzRCRTIgLyogV2ViUGFnZS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlDMDZDNjA5NTEyNEMxNDRCMDAwMTY4MkYgLyogV2ViUGFnZUNyZWF0aW9u
UGFyYW1ldGVycy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4MzcyREIyODFBNjc1NjI4MDBDNjk3
QzUgLyogV2ViUGFnZURpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmNwcCBpbiBTb3VyY2VzICovLApA
QCAtOTM0Miw3ICs5MzcxLDYgQEAKIAkJCQlDOThDNDhBOTFCNkZENUI1MDAxNDUxMDMgLyogV0tN
ZWRpYVNlc3Npb25Gb2N1c01hbmFnZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQzlDRDQzOUUx
QjRCMDI1MzAwMjM5RTMzIC8qIFdLTWVkaWFTZXNzaW9uTWV0YWRhdGEuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQkM0MDc1RkQxMjRGRjAyNzAwNjhGMjBBIC8qIFdLTXV0YWJsZUFycmF5LmNwcCBp
biBTb3VyY2VzICovLAotCQkJCTk5MEQyOEJGMUM2NTREMzkwMDk4Njk3NyAvKiBXZWJBdXRvbWF0
aW9uU2Vzc2lvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzQwNzVGRjEyNEZGMDI3MDA2OEYy
MEEgLyogV0tNdXRhYmxlRGljdGlvbmFyeS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQTVCMUM1
MDE4OTg2MDZGMDA0RkNGOUIgLyogV0tOYXZpZ2F0aW9uLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MUEyNTZFMzcxOEExQTc4ODAwNkZCOTIyIC8qIFdLTmF2aWdhdGlvbkFjdGlvbi5tbSBpbiBTb3Vy
Y2VzICovLAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>271980</attachid>
            <date>2016-02-22 18:45:32 -0800</date>
            <delta_ts>2016-02-22 22:18:22 -0800</delta_ts>
            <desc>For EWS, Landing</desc>
            <filename>bug-154509-20160222184514.patch</filename>
            <type>text/plain</type>
            <size>48846</size>
            <attacher name="Blaze Burg">bburg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk2OTY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBm
ZDFiNjg2YmNmMGQwMGU1OGMzNDRlZDdiMGM2YzA3MGU3YmUwYTk0Li41NDBkZmM4M2Y5NmIyNTFl
YmE2ZWNjNTM4ZTAyZmU2NmY5M2UzYzcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyOSBAQAorMjAxNi0wMi0yMiAgQnJpYW4gQnVyZyAgPGJidXJnQGFwcGxlLmNvbT4KKwor
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBhZGQgJ0F1dG9tYXRpb24nIHByb3RvY29sIGRvbWFpbiBh
bmQgZ2VuZXJhdGUgaXRzIGJhY2tlbmQgY2xhc3NlcyBzZXBhcmF0ZWx5IGluIFdlYktpdDIKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NDUwOQorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vMjQ3NTkwOTg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVGlt
b3RoeSBIYXRjaGVyLgorCisgICAgICAgIEFkZCBhIG5ldyAnV2ViS2l0JyBmcmFtZXdvcmssIHdo
aWNoIGlzIHVzZWQgdG8gZ2VuZXJhdGUgcHJvdG9jb2wgY29kZQorICAgICAgICBpbiBXZWJLaXQy
LgorCisgICAgICAgIEFkZCAtLWJhY2tlbmQgYW5kIC0tZnJvbnRlbmQgZmxhZ3MgdG8gdGhlIG1h
aW4gZ2VuZXJhdG9yIHNjcmlwdC4KKyAgICAgICAgVGhlc2UgYWxsb3cgYSBmcmFtZXdvcmsgdG8g
dHJpZ2dlciB0d28gZGlmZmVyZW50IHNldHMgb2YgZ2VuZXJhdG9ycworICAgICAgICBzbyB0aGV5
IGNhbiBiZSBzZXBhcmF0ZWx5IGdlbmVyYXRlZCBhbmQgY29tcGlsZWQuCisKKyAgICAgICAgKiBp
bnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL21vZGVscy5weToKKyAgICAgICAgKEZyYW1ld29yay5m
cm9tU3RyaW5nKToKKyAgICAgICAgKEZyYW1ld29ya3MpOiBBZGQgbmV3IGZyYW1ld29yay4KKwor
ICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC1i
aW5kaW5ncy5weToKKyAgICAgICAgSWYgbmVpdGhlciAtLWJhY2tlbmQgb3IgLS1mcm9udGVuZCBp
cyBzcGVjaWZpZWQsIGFzc3VtZSBib3RoIGFyZSB3YW50ZWQuCisgICAgICAgIFRoaXMgbWF0Y2hl
cyB0aGUgYmVoYXZpb3IgZm9yIEphdmFTY3JpcHRDb3JlIGFuZCBXZWJJbnNwZWN0b3IgZnJhbWV3
b3Jrcy4KKworICAgICAgICAoZ2VuZXJhdGVfZnJvbV9zcGVjaWZpY2F0aW9uKToKKyAgICAgICAg
R2VuZXJhdGUgQysrIGZpbGVzIGZvciB0aGUgYmFja2VuZCBhbmQgT2JqZWN0aXZlLUMgZmlsZXMg
Zm9yIHRoZSBmcm9udGVuZC4KKwogMjAxNi0wMi0yMiAgU2FhbSBiYXJhdGkgIDxzYmFyYXRpQGFw
cGxlLmNvbT4KIAogICAgICAgICBKU0dsb2JhbE9iamVjdCBkb2Vzbid0IHZpc2l0IFByb3h5T2Jq
ZWN0U3RydWN0dXJlIGR1cmluZyBHQwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDJkNDIxNGIzNDMyMjU2ZDE4ZGFh
NTMxZjI2OWJhNDdmZTk0OGFlYjQuLjc5NGYzNmFhZjk2MDg2NWNmM2Y5ZTdlMWYyODYyOGY3ZGFm
N2MwZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0OSBAQAorMjAxNi0wMi0yMiAgQnJpYW4gQnVy
ZyAgPGJidXJnQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBhZGQgJ0F1dG9t
YXRpb24nIHByb3RvY29sIGRvbWFpbiBhbmQgZ2VuZXJhdGUgaXRzIGJhY2tlbmQgY2xhc3NlcyBz
ZXBhcmF0ZWx5IGluIFdlYktpdDIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE1NDUwOQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjQ3NTkwOTg+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgVGltb3RoeSBIYXRjaGVyLgorCisgICAgICAgIEFkZCBhIG5l
dyAnQXV0b21hdGlvbicgZG9tYWluIHdoaWNoIHByZXNlbnRzIGFuIFJQQyBpbnRlcmZhY2UKKyAg
ICAgICAgZm9yIHNlbmRpbmcgYXV0b21hdGlvbiBjb21tYW5kcyB0byBhbiBhY3RpdmUgV2ViQXV0
b21hdGlvblNlc3Npb24KKyAgICAgICAgaW4gdGhlIFVJUHJvY2VzcyB2aWEgUmVtb3RlSW5zcGVj
dG9yLiBUaGlzIGlzIHNpbWlsYXIgdG8gaG93IHRoZQorICAgICAgICBJbnNwZWN0b3IgYmFja2Vu
ZCBjb21tdW5pY2F0ZXMgYmlkaXJlY3Rpb25hbGx5IHdpdGggYSByZW1vdGUKKyAgICAgICAgSW5z
cGVjdG9yIGZyb250ZW5kLgorCisgICAgICAgIEFkZCBidWlsZCBzeXN0ZW0gbG9naWMgdG8gZ2Vu
ZXJhdGUgSlNPTi1SUEMgcHJvdG9jb2wgYmluZGluZ3MKKyAgICAgICAgZm9yIHRoZSAnQXV0b21h
dGlvbicgZG9tYWluIHVzaW5nIHRoZSBpbnNwZWN0b3IgY29kZSBnZW5lcmF0b3JzLgorCisgICAg
ICAgIE1vdmUgYXV0b21hdGlvbi1yZWxhdGVkIGZpbGVzIHRoYXQgYXJlIG5vdCBBUEkgb3IgU1BJ
IGludG8gdGhlaXIKKyAgICAgICAgb3duIGRpcmVjdG9yeS4KKworICAgICAgICAqIENvbmZpZ3Vy
YXRpb25zL0Jhc2VUYXJnZXQueGNjb25maWc6IFRlbGwgd2hlcmUgSmF2YVNjcmlwdENvcmUncwor
ICAgICAgICBwcml2YXRlIGhlYWRlcnMgYXJlLCBzaW5jZSB0aGF0J3Mgd2hlcmUgdGhlIGNvZGUg
Z2VuZXJhdG9ycyBsaXZlLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6IExvb2sgaW4gVUlQ
cm9jZXNzL0F1dG9tYXRpb24gZGlyZWN0b3J5LgorICAgICAgICAqIFBsYXRmb3JtTWFjLmNtYWtl
OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6IEdlbmVyYXRlIHByb3RvY29sIGJpbmRp
bmdzIGZvciBhIHNpbmdsZSBkb21haW4uCisgICAgICAgIFRoZSBuYW1lcyBvZiB0aGUgZ2VuZXJh
dGVkIGZpbGVzIHdpbGwgYmUgaW1wcm92ZWQgaW4gYSBmb2xsb3ctdXAgcGF0Y2gKKyAgICAgICAg
c28gdGhhdCB0aGV5IGRvIG5vdCBjbGFzaCB3aXRoIGdlbmVyYXRlZCBmaWxlcyBpbiBKYXZhU2Ny
aXB0Q29yZS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BdXRvbWF0aW9uL0F1dG9tYXRpb24uanNv
bjogQWRkZWQuCisgICAgICAgICogVUlQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNl
c3Npb24uY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkF1dG9t
YXRpb25TZXNzaW9uLmNwcC4KKyAgICAgICAgKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb246
OldlYkF1dG9tYXRpb25TZXNzaW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0b21hdGlvblNl
c3Npb246On5XZWJBdXRvbWF0aW9uU2Vzc2lvbik6CisgICAgICAgIFNldCB1cCBhIGJhY2tlbmQg
ZGlzcGF0Y2hlciBhbmQgZnJvbnRlbmQgcm91dGVyLiBUaGV5IHdpbGwgYmUgdXNlZCBsYXRlci4K
KworICAgICAgICAoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6ZGlzcGF0Y2hNZXNzYWdl
RnJvbVJlbW90ZSk6CisgICAgICAgIEZvcndhcmQgbWVzc2FnZXMgZnJvbSB0aGUgcmVtb3RlIHRv
IHRoZSBiYWNrZW5kIGRpc3BhdGNoZXIuIFdoZW4KKyAgICAgICAgYW4gYWdlbnQgLyBjb21tYW5k
IGhhbmRsZXIgaXMgcmVnaXN0ZXJlZCwgaXQgd2lsbCByZWNlaXZlIHRoZSBtZXNzYWdlLgorCisg
ICAgICAgIChXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uOjpjb25uZWN0KToKKyAgICAgICAg
KFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb246OmRpc2Nvbm5lY3QpOgorICAgICAgICBDb25u
ZW5jdCBhbmQgZGlzY29ubmVjdCB0aGUgZnJvbnRlbmQgcm91dGVyIHRvIHRoZSByZW1vdGUgY2hh
bm5lbC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNz
aW9uLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQXV0b21hdGlv
blNlc3Npb24uaC4KKyAgICAgICAgKiBXZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6
IEFkZCBhbmQgbW92ZSBmaWxlcy4KKwogMjAxNi0wMi0xNiAgQWRhIENoYW4gIDxhZGFjaGFuQGFw
cGxlLmNvbT4KIAogICAgICAgICBJbXBsZW1lbnQgYmFzaWMgZnVuY3Rpb25hbGl0eSBpbiBXZWJW
aWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VNYWMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9tb2RlbHMucHkgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9tb2RlbHMucHkKaW5kZXggZjRmYTQ0
ODRlZTE4ZTk2ZDk5ODkxZmU2ZGM4N2FhM2MzOTI4MDdkMC4uZjA5YjNjZjVhYWRkMzFhZjI3ZjY4
Nzg0YzU2YWQxODAzOTIxOWVlYiAxMDA3NTUKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vbW9kZWxzLnB5CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL21vZGVscy5weQpAQCAtNDUsNiArNDUsOCBA
QCBfRlJBTUVXT1JLX0NPTkZJR19NQVAgPSB7CiAgICAgICAgICJleHBvcnRfbWFjcm8iOiAiSlNf
RVhQT1JUX1BSSVZBVEUiLAogICAgICAgICAiYWx0ZXJuYXRlX2Rpc3BhdGNoZXJzIjogVHJ1ZSwK
ICAgICB9LAorICAgICJXZWJLaXQiOiB7CisgICAgfSwKICAgICAiV2ViSW5zcGVjdG9yIjogewog
ICAgIH0sCiAgICAgIyBVc2VkIGZvciBjb2RlIGdlbmVyYXRvciB0ZXN0cy4KQEAgLTc4LDYgKzgw
LDkgQEAgY2xhc3MgRnJhbWV3b3JrOgogICAgICAgICBpZiBmcmFtZXdvcmtTdHJpbmcgPT0gIkph
dmFTY3JpcHRDb3JlIjoKICAgICAgICAgICAgIHJldHVybiBGcmFtZXdvcmtzLkphdmFTY3JpcHRD
b3JlCiAKKyAgICAgICAgaWYgZnJhbWV3b3JrU3RyaW5nID09ICJXZWJLaXQiOgorICAgICAgICAg
ICAgcmV0dXJuIEZyYW1ld29ya3MuV2ViS2l0CisKICAgICAgICAgaWYgZnJhbWV3b3JrU3RyaW5n
ID09ICJXZWJJbnNwZWN0b3IiOgogICAgICAgICAgICAgcmV0dXJuIEZyYW1ld29ya3MuV2ViSW5z
cGVjdG9yCiAKQEAgLTkwLDYgKzk1LDcgQEAgY2xhc3MgRnJhbWV3b3JrOgogY2xhc3MgRnJhbWV3
b3JrczoKICAgICBHbG9iYWwgPSBGcmFtZXdvcmsoIkdsb2JhbCIpCiAgICAgSmF2YVNjcmlwdENv
cmUgPSBGcmFtZXdvcmsoIkphdmFTY3JpcHRDb3JlIikKKyAgICBXZWJLaXQgPSBGcmFtZXdvcmso
IldlYktpdCIpCiAgICAgV2ViSW5zcGVjdG9yID0gRnJhbWV3b3JrKCJXZWJJbnNwZWN0b3IiKQog
ICAgIFRlc3QgPSBGcmFtZXdvcmsoIlRlc3QiKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvZ2VuZXJhdGUtaW5zcGVjdG9yLXByb3RvY29sLWJp
bmRpbmdzLnB5IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2dlbmVy
YXRlLWluc3BlY3Rvci1wcm90b2NvbC1iaW5kaW5ncy5weQppbmRleCBlYTEzOTQ1ZjA2ZTU3YjZj
Y2Q4YzdlMzVkZTUyMGNhNTI3Y2YwOTM0Li5hNTI4YTlkYjI1YzZjZTA4YTVlNDAxY2I4Mzk0Yzhm
ZmI5Nzg4NWExIDEwMDc1NQotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Nj
cmlwdHMvZ2VuZXJhdGUtaW5zcGVjdG9yLXByb3RvY29sLWJpbmRpbmdzLnB5CisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9nZW5lcmF0ZS1pbnNwZWN0b3ItcHJv
dG9jb2wtYmluZGluZ3MucHkKQEAgLTExMiw3ICsxMTIsOSBAQCBkZWYgZ2VuZXJhdGVfZnJvbV9z
cGVjaWZpY2F0aW9uKHByaW1hcnlfc3BlY2lmaWNhdGlvbl9maWxlcGF0aD1Ob25lLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25jYXRlbmF0ZV9vdXRwdXQ9RmFsc2UsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dHB1dF9kaXJwYXRoPU5vbmUsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGZvcmNlX291dHB1dD1GYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZnJhbWV3b3JrX25hbWU9IiIpOgorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBmcmFtZXdvcmtfbmFtZT0iIiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZ2VuZXJhdGVfZnJvbnRlbmQ9VHJ1ZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZ2VuZXJhdGVfYmFja2VuZD1UcnVlKToKIAogICAgIGRlZiBsb2FkX3NwZWNp
ZmljYXRpb24ocHJvdG9jb2wsIGZpbGVwYXRoLCBpc1N1cHBsZW1lbnRhbD1GYWxzZSk6CiAgICAg
ICAgIHRyeToKQEAgLTE0OCw2ICsxNTAsNyBAQCBkZWYgZ2VuZXJhdGVfZnJvbV9zcGVjaWZpY2F0
aW9uKHByaW1hcnlfc3BlY2lmaWNhdGlvbl9maWxlcGF0aD1Ob25lLAogICAgICAgICBnZW5lcmF0
b3JzLmFwcGVuZChPYmpDSGVhZGVyR2VuZXJhdG9yKHByb3RvY29sLCBwcmltYXJ5X3NwZWNpZmlj
YXRpb25fZmlsZXBhdGgpKQogICAgICAgICBnZW5lcmF0b3JzLmFwcGVuZChPYmpDSW50ZXJuYWxI
ZWFkZXJHZW5lcmF0b3IocHJvdG9jb2wsIHByaW1hcnlfc3BlY2lmaWNhdGlvbl9maWxlcGF0aCkp
CiAgICAgICAgIGdlbmVyYXRvcnMuYXBwZW5kKE9iakNQcm90b2NvbFR5cGVzSW1wbGVtZW50YXRp
b25HZW5lcmF0b3IocHJvdG9jb2wsIHByaW1hcnlfc3BlY2lmaWNhdGlvbl9maWxlcGF0aCkpCisK
ICAgICBlbGlmIHByb3RvY29sLmZyYW1ld29yayBpcyBGcmFtZXdvcmtzLkphdmFTY3JpcHRDb3Jl
OgogICAgICAgICBnZW5lcmF0b3JzLmFwcGVuZChKU0JhY2tlbmRDb21tYW5kc0dlbmVyYXRvcihw
cm90b2NvbCwgcHJpbWFyeV9zcGVjaWZpY2F0aW9uX2ZpbGVwYXRoKSkKICAgICAgICAgZ2VuZXJh
dG9ycy5hcHBlbmQoQ3BwQWx0ZXJuYXRlQmFja2VuZERpc3BhdGNoZXJIZWFkZXJHZW5lcmF0b3Io
cHJvdG9jb2wsIHByaW1hcnlfc3BlY2lmaWNhdGlvbl9maWxlcGF0aCkpCkBAIC0xNTcsNiArMTYw
LDE5IEBAIGRlZiBnZW5lcmF0ZV9mcm9tX3NwZWNpZmljYXRpb24ocHJpbWFyeV9zcGVjaWZpY2F0
aW9uX2ZpbGVwYXRoPU5vbmUsCiAgICAgICAgIGdlbmVyYXRvcnMuYXBwZW5kKENwcEZyb250ZW5k
RGlzcGF0Y2hlckltcGxlbWVudGF0aW9uR2VuZXJhdG9yKHByb3RvY29sLCBwcmltYXJ5X3NwZWNp
ZmljYXRpb25fZmlsZXBhdGgpKQogICAgICAgICBnZW5lcmF0b3JzLmFwcGVuZChDcHBQcm90b2Nv
bFR5cGVzSGVhZGVyR2VuZXJhdG9yKHByb3RvY29sLCBwcmltYXJ5X3NwZWNpZmljYXRpb25fZmls
ZXBhdGgpKQogICAgICAgICBnZW5lcmF0b3JzLmFwcGVuZChDcHBQcm90b2NvbFR5cGVzSW1wbGVt
ZW50YXRpb25HZW5lcmF0b3IocHJvdG9jb2wsIHByaW1hcnlfc3BlY2lmaWNhdGlvbl9maWxlcGF0
aCkpCisKKyAgICBlbGlmIHByb3RvY29sLmZyYW1ld29yayBpcyBGcmFtZXdvcmtzLldlYktpdCBh
bmQgZ2VuZXJhdGVfYmFja2VuZDoKKyAgICAgICAgZ2VuZXJhdG9ycy5hcHBlbmQoQ3BwQmFja2Vu
ZERpc3BhdGNoZXJIZWFkZXJHZW5lcmF0b3IocHJvdG9jb2wsIHByaW1hcnlfc3BlY2lmaWNhdGlv
bl9maWxlcGF0aCkpCisgICAgICAgIGdlbmVyYXRvcnMuYXBwZW5kKENwcEJhY2tlbmREaXNwYXRj
aGVySW1wbGVtZW50YXRpb25HZW5lcmF0b3IocHJvdG9jb2wsIHByaW1hcnlfc3BlY2lmaWNhdGlv
bl9maWxlcGF0aCkpCisgICAgICAgIGdlbmVyYXRvcnMuYXBwZW5kKENwcFByb3RvY29sVHlwZXNI
ZWFkZXJHZW5lcmF0b3IocHJvdG9jb2wsIHByaW1hcnlfc3BlY2lmaWNhdGlvbl9maWxlcGF0aCkp
CisgICAgICAgIGdlbmVyYXRvcnMuYXBwZW5kKENwcFByb3RvY29sVHlwZXNJbXBsZW1lbnRhdGlv
bkdlbmVyYXRvcihwcm90b2NvbCwgcHJpbWFyeV9zcGVjaWZpY2F0aW9uX2ZpbGVwYXRoKSkKKwor
ICAgIGVsaWYgcHJvdG9jb2wuZnJhbWV3b3JrIGlzIEZyYW1ld29ya3MuV2ViS2l0IGFuZCBnZW5l
cmF0ZV9mcm9udGVuZDoKKyAgICAgICAgIyBGSVhNRSA8cmRhcjovL3Byb2JsZW0vMjM0NjY5MjU+
OiBUaGlzIGxpc3Qgb2YgZ2VuZXJhdG9ycyBmb3IgdGhlIGZyb250ZW5kIGlzIGEgcGxhY2Vob2xk
ZXIuCisgICAgICAgIGdlbmVyYXRvcnMuYXBwZW5kKE9iakNDb252ZXJzaW9uSGVscGVyc0dlbmVy
YXRvcihwcm90b2NvbCwgcHJpbWFyeV9zcGVjaWZpY2F0aW9uX2ZpbGVwYXRoKSkKKyAgICAgICAg
Z2VuZXJhdG9ycy5hcHBlbmQoT2JqQ0Zyb250ZW5kRGlzcGF0Y2hlckltcGxlbWVudGF0aW9uR2Vu
ZXJhdG9yKHByb3RvY29sLCBwcmltYXJ5X3NwZWNpZmljYXRpb25fZmlsZXBhdGgpKQorICAgICAg
ICBnZW5lcmF0b3JzLmFwcGVuZChPYmpDUHJvdG9jb2xUeXBlc0ltcGxlbWVudGF0aW9uR2VuZXJh
dG9yKHByb3RvY29sLCBwcmltYXJ5X3NwZWNpZmljYXRpb25fZmlsZXBhdGgpKQorCiAgICAgZWxp
ZiBwcm90b2NvbC5mcmFtZXdvcmsgaXMgRnJhbWV3b3Jrcy5XZWJJbnNwZWN0b3I6CiAgICAgICAg
IGdlbmVyYXRvcnMuYXBwZW5kKE9iakNCYWNrZW5kRGlzcGF0Y2hlckhlYWRlckdlbmVyYXRvcihw
cm90b2NvbCwgcHJpbWFyeV9zcGVjaWZpY2F0aW9uX2ZpbGVwYXRoKSkKICAgICAgICAgZ2VuZXJh
dG9ycy5hcHBlbmQoT2JqQ0JhY2tlbmREaXNwYXRjaGVySW1wbGVtZW50YXRpb25HZW5lcmF0b3Io
cHJvdG9jb2wsIHByaW1hcnlfc3BlY2lmaWNhdGlvbl9maWxlcGF0aCkpCkBAIC0xOTAsMTQgKzIw
NiwxNSBAQCBkZWYgZ2VuZXJhdGVfZnJvbV9zcGVjaWZpY2F0aW9uKHByaW1hcnlfc3BlY2lmaWNh
dGlvbl9maWxlcGF0aD1Ob25lLAogCiAKIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6Ci0gICAg
YWxsb3dlZF9mcmFtZXdvcmtfbmFtZXMgPSBbJ0phdmFTY3JpcHRDb3JlJywgJ1dlYkluc3BlY3Rv
cicsICdUZXN0J10KKyAgICBhbGxvd2VkX2ZyYW1ld29ya19uYW1lcyA9IFsnSmF2YVNjcmlwdENv
cmUnLCAnV2ViSW5zcGVjdG9yJywgJ1dlYktpdCcsICdUZXN0J10KICAgICBjbGlfcGFyc2VyID0g
b3B0cGFyc2UuT3B0aW9uUGFyc2VyKHVzYWdlPSJ1c2FnZTogJXByb2cgW29wdGlvbnNdIFByaW1h
cnlQcm90b2NvbC5qc29uIFtTdXBwbGVtZW50YWxQcm90b2NvbC5qc29uIC4uLl0iKQogICAgIGNs
aV9wYXJzZXIuYWRkX29wdGlvbigiLW8iLCAiLS1vdXRwdXREaXIiLCBoZWxwPSJEaXJlY3Rvcnkg
d2hlcmUgZ2VuZXJhdGVkIGZpbGVzIHNob3VsZCBiZSB3cml0dGVuLiIpCiAgICAgY2xpX3BhcnNl
ci5hZGRfb3B0aW9uKCItLWZyYW1ld29yayIsIHR5cGU9ImNob2ljZSIsIGNob2ljZXM9YWxsb3dl
ZF9mcmFtZXdvcmtfbmFtZXMsIGhlbHA9IlRoZSBmcmFtZXdvcmsgdGhhdCB0aGUgcHJpbWFyeSBz
cGVjaWZpY2F0aW9uIGJlbG9uZ3MgdG8uIikKICAgICBjbGlfcGFyc2VyLmFkZF9vcHRpb24oIi0t
Zm9yY2UiLCBhY3Rpb249InN0b3JlX3RydWUiLCBoZWxwPSJGb3JjZSBvdXRwdXQgb2YgZ2VuZXJh
dGVkIHNjcmlwdHMsIGV2ZW4gaWYgbm90aGluZyBjaGFuZ2VkLiIpCiAgICAgY2xpX3BhcnNlci5h
ZGRfb3B0aW9uKCItdiIsICItLWRlYnVnIiwgYWN0aW9uPSJzdG9yZV90cnVlIiwgaGVscD0iTG9n
IGV4dHJhIG91dHB1dCBmb3IgZGVidWdnaW5nIHRoZSBnZW5lcmF0b3IgaXRzZWxmLiIpCiAgICAg
Y2xpX3BhcnNlci5hZGRfb3B0aW9uKCItdCIsICItLXRlc3QiLCBhY3Rpb249InN0b3JlX3RydWUi
LCBoZWxwPSJFbmFibGUgdGVzdCBtb2RlLiBVc2UgdW5pcXVlIG91dHB1dCBmaWxlbmFtZXMgY3Jl
YXRlZCBieSBwcmVwZW5kaW5nIHRoZSBpbnB1dCBmaWxlbmFtZS4iKQotCisgICAgY2xpX3BhcnNl
ci5hZGRfb3B0aW9uKCItLWZyb250ZW5kIiwgYWN0aW9uPSJzdG9yZV90cnVlIiwgaGVscD0iR2Vu
ZXJhdGUgY29kZSBmb3IgdGhlIGZyb250ZW5kLXNpZGUgb2YgdGhlIHByb3RvY29sIG9ubHkuIikK
KyAgICBjbGlfcGFyc2VyLmFkZF9vcHRpb24oIi0tYmFja2VuZCIsIGFjdGlvbj0ic3RvcmVfdHJ1
ZSIsIGhlbHA9IkdlbmVyYXRlIGNvZGUgZm9yIHRoZSBiYWNrZW5kLXNpZGUgb2YgdGhlIHByb3Rv
Y29sIG9ubHkuIikKICAgICBvcHRpb25zID0gTm9uZQogCiAgICAgYXJnX29wdGlvbnMsIGFyZ192
YWx1ZXMgPSBjbGlfcGFyc2VyLnBhcnNlX2FyZ3MoKQpAQCAtMjEwLDEzICsyMjcsMjIgQEAgaWYg
X19uYW1lX18gPT0gJ19fbWFpbl9fJzoKICAgICBpZiBhcmdfb3B0aW9ucy5kZWJ1ZzoKICAgICAg
ICAgbG9nLnNldExldmVsKGxvZ2dpbmcuREVCVUcpCiAKKyAgICBnZW5lcmF0ZV9iYWNrZW5kID0g
YXJnX29wdGlvbnMuYmFja2VuZDsKKyAgICBnZW5lcmF0ZV9mcm9udGVuZCA9IGFyZ19vcHRpb25z
LmZyb250ZW5kOworICAgICMgRGVmYXVsdCB0byBnZW5lcmF0aW5nIGJvdGggdGhlIGZyb250ZW5k
IGFuZCBiYWNrZW5kIGlmIG5laXRoZXIgaXMgc3BlY2lmaWVkLgorICAgIGlmIG5vdCBnZW5lcmF0
ZV9iYWNrZW5kIGFuZCBub3QgZ2VuZXJhdGVfZnJvbnRlbmQ6CisgICAgICAgIGdlbmVyYXRlX2Jh
Y2tlbmQgPSBUcnVlCisgICAgICAgIGdlbmVyYXRlX2Zyb250ZW5kID0gVHJ1ZQorCiAgICAgb3B0
aW9ucyA9IHsKICAgICAgICAgJ3ByaW1hcnlfc3BlY2lmaWNhdGlvbl9maWxlcGF0aCc6IGFyZ192
YWx1ZXNbMF0sCiAgICAgICAgICdzdXBwbGVtZW50YWxfc3BlY2lmaWNhdGlvbl9maWxlcGF0aHMn
OiBhcmdfdmFsdWVzWzE6XSwKICAgICAgICAgJ291dHB1dF9kaXJwYXRoJzogYXJnX29wdGlvbnMu
b3V0cHV0RGlyLAogICAgICAgICAnY29uY2F0ZW5hdGVfb3V0cHV0JzogYXJnX29wdGlvbnMudGVz
dCwKICAgICAgICAgJ2ZyYW1ld29ya19uYW1lJzogYXJnX29wdGlvbnMuZnJhbWV3b3JrLAotICAg
ICAgICAnZm9yY2Vfb3V0cHV0JzogYXJnX29wdGlvbnMuZm9yY2UKKyAgICAgICAgJ2ZvcmNlX291
dHB1dCc6IGFyZ19vcHRpb25zLmZvcmNlLAorICAgICAgICAnZ2VuZXJhdGVfYmFja2VuZCc6IGdl
bmVyYXRlX2JhY2tlbmQsCisgICAgICAgICdnZW5lcmF0ZV9mcm9udGVuZCc6IGdlbmVyYXRlX2Zy
b250ZW5kLAogICAgIH0KIAogICAgIHRyeToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NN
YWtlTGlzdHMudHh0IGIvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQKaW5kZXggOWFmZDE1
YTlkNWFmN2I3YzMyNzgxMWZlYTMwYjYzMTRiN2MwMDUwMC4uNTg5YTQ3ZWI4YTYwZmRkNzczMTg0
OTNhZWFlMjk4ZmQyNThlOGU2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0
cy50eHQKKysrIGIvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQKQEAgLTI5LDYgKzI5LDcg
QEAgc2V0KFdlYktpdDJfSU5DTFVERV9ESVJFQ1RPUklFUwogICAgICIke1dFQktJVDJfRElSfS9V
SVByb2Nlc3MvQVBJL0MiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1VJUHJvY2Vzcy9BUEkvY3BwIgog
ICAgICIke1dFQktJVDJfRElSfS9VSVByb2Nlc3MvQXV0aGVudGljYXRpb24iCisgICAgIiR7V0VC
S0lUMl9ESVJ9L1VJUHJvY2Vzcy9BdXRvbWF0aW9uIgogICAgICIke1dFQktJVDJfRElSfS9VSVBy
b2Nlc3MvRGF0YWJhc2VzIgogICAgICIke1dFQktJVDJfRElSfS9VSVByb2Nlc3MvRG93bmxvYWRz
IgogICAgICIke1dFQktJVDJfRElSfS9VSVByb2Nlc3MvSW5zcGVjdG9yU2VydmVyIgpAQCAtMTU1
LDYgKzE1Niw4IEBAIHNldChXZWJLaXQyX0lOQ0xVREVfRElSRUNUT1JJRVMKICAgICAiJHtDTUFL
RV9TT1VSQ0VfRElSfS9XZWJLaXRMaWJyYXJpZXMiCiApCiAKK3NldChQUk9UT0NPTF9HRU5FUkFU
T1JfU0NSSVBUU19ESVIgIiR7SkFWQVNDUklQVENPUkVfRElSfS9pbnNwZWN0b3Ivc2NyaXB0cyIp
CisKIHNldChXZWJLaXQyX1NZU1RFTV9JTkNMVURFX0RJUkVDVE9SSUVTCiAgICAgJHtJQ1VfSU5D
TFVERV9ESVJTfQogKQpAQCAtNzcwLDYgKzc3Myw0MCBAQCBXRUJLSVRfSU5DTFVERV9DT05GSUdf
RklMRVNfSUZfRVhJU1RTKCkKIAogR0VORVJBVEVfV0VCS0lUMl9NRVNTQUdFX1NPVVJDRVMoV2Vi
S2l0Ml9ERVJJVkVEX1NPVVJDRVMgIiR7V2ViS2l0Ml9NRVNTQUdFU19JTl9GSUxFU30iKQogCitz
ZXQoV2ViS2l0Ml9BVVRPTUFUSU9OX1BST1RPQ09MX0dFTkVSQVRPUl9TQ1JJUFRTCisgICAgJHtQ
Uk9UT0NPTF9HRU5FUkFUT1JfU0NSSVBUU19ESVJ9L2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2Nv
bC1iaW5kaW5ncy5weQorICAgICR7UFJPVE9DT0xfR0VORVJBVE9SX1NDUklQVFNfRElSfS9jb2Rl
Z2VuL2NwcF9nZW5lcmF0b3IucHkKKyAgICAke1BST1RPQ09MX0dFTkVSQVRPUl9TQ1JJUFRTX0RJ
Un0vY29kZWdlbi9jcHBfZ2VuZXJhdG9yX3RlbXBsYXRlcy5weQorICAgICR7UFJPVE9DT0xfR0VO
RVJBVE9SX1NDUklQVFNfRElSfS9jb2RlZ2VuL2dlbmVyYXRlX2NwcF9iYWNrZW5kX2Rpc3BhdGNo
ZXJfaGVhZGVyLnB5CisgICAgJHtQUk9UT0NPTF9HRU5FUkFUT1JfU0NSSVBUU19ESVJ9L2NvZGVn
ZW4vZ2VuZXJhdGVfY3BwX2JhY2tlbmRfZGlzcGF0Y2hlcl9pbXBsZW1lbnRhdGlvbi5weQorICAg
ICR7UFJPVE9DT0xfR0VORVJBVE9SX1NDUklQVFNfRElSfS9jb2RlZ2VuL2dlbmVyYXRlX2NwcF9w
cm90b2NvbF90eXBlc19oZWFkZXIucHkKKyAgICAke1BST1RPQ09MX0dFTkVSQVRPUl9TQ1JJUFRT
X0RJUn0vY29kZWdlbi9nZW5lcmF0ZV9jcHBfcHJvdG9jb2xfdHlwZXNfaW1wbGVtZW50YXRpb24u
cHkKKyAgICAke1BST1RPQ09MX0dFTkVSQVRPUl9TQ1JJUFRTX0RJUn0vY29kZWdlbi9nZW5lcmF0
b3IucHkKKyAgICAke1BST1RPQ09MX0dFTkVSQVRPUl9TQ1JJUFRTX0RJUn0vY29kZWdlbi9nZW5l
cmF0b3JfdGVtcGxhdGVzLnB5CisgICAgJHtQUk9UT0NPTF9HRU5FUkFUT1JfU0NSSVBUU19ESVJ9
L2NvZGVnZW4vbW9kZWxzLnB5CispCisKK3NldChXZWJLaXQyX0FVVE9NQVRJT05fUFJPVE9DT0xf
R0VORVJBVE9SX0lOUFVUUworICAgICR7V0VCS0lUMl9ESVJ9L1VJUHJvY2Vzcy9BdXRvbWF0aW9u
L0F1dG9tYXRpb24uanNvbgorKQorCithZGRfY3VzdG9tX2NvbW1hbmQoCisgICAgT1VUUFVUICR7
REVSSVZFRF9TT1VSQ0VTX1dFQktJVDJfRElSfS9JbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMu
aCAke0RFUklWRURfU09VUkNFU19XRUJLSVQyX0RJUn0vSW5zcGVjdG9yQmFja2VuZERpc3BhdGNo
ZXJzLmNwcCAke0RFUklWRURfU09VUkNFU19XRUJLSVQyX0RJUn0vSW5zcGVjdG9yUHJvdG9jb2xP
YmplY3RzLmggJHtERVJJVkVEX1NPVVJDRVNfV0VCS0lUMl9ESVJ9L0luc3BlY3RvclByb3RvY29s
T2JqZWN0cy5jcHAKKyAgICBNQUlOX0RFUEVOREVOQ1kgJHtXZWJLaXQyX0FVVE9NQVRJT05fUFJP
VE9DT0xfR0VORVJBVE9SX0lOUFVUU30KKyAgICBERVBFTkRTICR7V2ViS2l0Ml9BVVRPTUFUSU9O
X1BST1RPQ09MX0dFTkVSQVRPUl9TQ1JJUFRTfQorICAgIENPTU1BTkQgJHtQWVRIT05fRVhFQ1VU
QUJMRX0gJHtKYXZhU2NyaXB0Q29yZV9TQ1JJUFRTX0RJUn0vZ2VuZXJhdGUtaW5zcGVjdG9yLXBy
b3RvY29sLWJpbmRpbmdzLnB5IC0tb3V0cHV0RGlyICIke0RFUklWRURfU09VUkNFU19XRUJLSVQy
X0RJUn0iIC0tZnJhbWV3b3JrIFdlYktpdCAtLWJhY2tlbmQgJHtXZWJLaXQyX0FVVE9NQVRJT05f
UFJPVE9DT0xfR0VORVJBVE9SX0lOUFVUU30KKyAgICBWRVJCQVRJTSkKKworbGlzdChBUFBFTkQg
V2ViS2l0Ml9IRUFERVJTCisgICAgJHtERVJJVkVEX1NPVVJDRVNfV0VCS0lUMl9ESVJ9L0luc3Bl
Y3RvckJhY2tlbmREaXNwYXRjaGVycy5oCisgICAgJHtERVJJVkVEX1NPVVJDRVNfV0VCS0lUMl9E
SVJ9L0luc3BlY3RvclByb3RvY29sT2JqZWN0cy5oCispCisKK2xpc3QoQVBQRU5EIFdlYktpdDJf
U09VUkNFUworICAgICR7REVSSVZFRF9TT1VSQ0VTX1dFQktJVDJfRElSfS9JbnNwZWN0b3JCYWNr
ZW5kRGlzcGF0Y2hlcnMuY3BwCisgICAgJHtERVJJVkVEX1NPVVJDRVNfV0VCS0lUMl9ESVJ9L0lu
c3BlY3RvclByb3RvY29sT2JqZWN0cy5jcHAKKykKKwogV0VCS0lUX0ZSQU1FV09SSyhXZWJLaXQy
KQogYWRkX2RlcGVuZGVuY2llcyhXZWJLaXQyIFdlYkNvcmUgJHtXRUJLSVQyX0VYVFJBX0RFUEVO
REVOQ0lFU30pCiBhZGRfd2Via2l0Ml9wcmVmaXhfaGVhZGVyKFdlYktpdDIpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9CYXNlVGFyZ2V0LnhjY29uZmlnIGIvU291
cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvQmFzZVRhcmdldC54Y2NvbmZpZwppbmRleCBjYzk0
N2I5MThhNGYyMDg5ZjMxZDJkY2ExYjc2NzIxNWVlZWI3ZTRjLi5iZWZjYTZlZDk4OTIyYmQ5NjAz
N2UzYTMxOTYxM2RiM2FhYmE5ODc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1
cmF0aW9ucy9CYXNlVGFyZ2V0LnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3Vy
YXRpb25zL0Jhc2VUYXJnZXQueGNjb25maWcKQEAgLTQyLDYgKzQyLDIxIEBAIFdFQktJVF9GUkFN
RVdPUktTX0RJUiA9ICQoV0VCS0lUX0ZSQU1FV09SS1NfRElSX1VTRV9PVkVSUklERV9GUkFNRVdP
UktTX0RJUl8kKFdLCiBXRUJLSVRfRlJBTUVXT1JLU19ESVJfVVNFX09WRVJSSURFX0ZSQU1FV09S
S1NfRElSX05PID0gJChOT1JNQUxfV0VCS0lUX0ZSQU1FV09SS1NfRElSKTsKIFdFQktJVF9GUkFN
RVdPUktTX0RJUl9VU0VfT1ZFUlJJREVfRlJBTUVXT1JLU19ESVJfWUVTID0gJChXS19PVkVSUklE
RV9GUkFNRVdPUktTX0RJUik7CiAKK05PUk1BTF9QUk9EVUNUSU9OX0ZSQU1FV09SS1NfRElSW3Nk
az1pcGhvbmUqXSA9ICQoU0RLUk9PVCkkKFNZU1RFTV9MSUJSQVJZX0RJUikvUHJpdmF0ZUZyYW1l
d29ya3M7CitOT1JNQUxfUFJPRFVDVElPTl9GUkFNRVdPUktTX0RJUltzZGs9bWFjb3N4Kl0gPSAk
KE5FWFRfUk9PVCkkKFNZU1RFTV9MSUJSQVJZX0RJUikvRnJhbWV3b3JrczsKKworUFJPRFVDVElP
Tl9GUkFNRVdPUktTX0RJUltzZGs9aXBob25lKl0gPSAkKE5PUk1BTF9QUk9EVUNUSU9OX0ZSQU1F
V09SS1NfRElSKTsKK1BST0RVQ1RJT05fRlJBTUVXT1JLU19ESVIgPSAkKFBST0RVQ1RJT05fRlJB
TUVXT1JLU19ESVJfVVNFX09WRVJSSURFX0ZSQU1FV09SS1NfRElSXyQoV0tfVVNFX09WRVJSSURF
X0ZSQU1FV09SS1NfRElSKSk7CitQUk9EVUNUSU9OX0ZSQU1FV09SS1NfRElSX1VTRV9PVkVSUklE
RV9GUkFNRVdPUktTX0RJUl9OTyA9ICQoTk9STUFMX1BST0RVQ1RJT05fRlJBTUVXT1JLU19ESVIp
OworUFJPRFVDVElPTl9GUkFNRVdPUktTX0RJUl9VU0VfT1ZFUlJJREVfRlJBTUVXT1JLU19ESVJf
WUVTID0gJChXS19PVkVSUklERV9GUkFNRVdPUktTX0RJUik7CisKK0pBVkFTQ1JJUFRDT1JFX1BS
SVZBVEVfSEVBREVSU19ESVIgPSAkKEpBVkFTQ1JJUFRDT1JFX1BSSVZBVEVfSEVBREVSU19ESVJf
JChDT05GSUdVUkFUSU9OKSk7CitKQVZBU0NSSVBUQ09SRV9QUklWQVRFX0hFQURFUlNfRElSX1Jl
bGVhc2UgPSAkKEpBVkFTQ1JJUFRDT1JFX1BSSVZBVEVfSEVBREVSU19lbmdpbmVlcmluZyk7CitK
QVZBU0NSSVBUQ09SRV9QUklWQVRFX0hFQURFUlNfRElSX0RlYnVnID0gJChKQVZBU0NSSVBUQ09S
RV9QUklWQVRFX0hFQURFUlNfZW5naW5lZXJpbmcpOworSkFWQVNDUklQVENPUkVfUFJJVkFURV9I
RUFERVJTX0RJUl9Qcm9kdWN0aW9uW3Nkaz1pcGhvbmUqXSA9ICQoU0RLUk9PVCkvJChTWVNURU1f
TElCUkFSWV9ESVIpL0ZyYW1ld29ya3MvSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrL1ByaXZhdGVI
ZWFkZXJzOworSkFWQVNDUklQVENPUkVfUFJJVkFURV9IRUFERVJTX0RJUl9Qcm9kdWN0aW9uW3Nk
az1tYWNvc3gqXSA9ICQoU0RLUk9PVCkkKFBST0RVQ1RJT05fRlJBTUVXT1JLU19ESVIpL0phdmFT
Y3JpcHRDb3JlLmZyYW1ld29yay9Qcml2YXRlSGVhZGVyczsKK0pBVkFTQ1JJUFRDT1JFX1BSSVZB
VEVfSEVBREVSU19lbmdpbmVlcmluZyA9ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9KYXZhU2NyaXB0
Q29yZS5mcmFtZXdvcmsvUHJpdmF0ZUhlYWRlcnM7CisKIFVNQlJFTExBX0ZSQU1FV09SS1NfRElS
ID0gJChVTUJSRUxMQV9GUkFNRVdPUktTX0RJUl8kKENPTkZJR1VSQVRJT04pKTsKIFVNQlJFTExB
X0ZSQU1FV09SS1NfRElSX0RlYnVnID0gJChVTUJSRUxMQV9GUkFNRVdPUktTX0RJUl9lbmdpbmVl
cmluZyk7CiBVTUJSRUxMQV9GUkFNRVdPUktTX0RJUl9SZWxlYXNlID0gJChVTUJSRUxMQV9GUkFN
RVdPUktTX0RJUl9lbmdpbmVlcmluZyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9EZXJp
dmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYktpdDIvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRl
eCA1YzU3OTFkODhiNWM0N2FmMTQ3NTkyNTFhM2Q1NGQ0OTA3ZTRjNzIwLi42YjM0Y2M3Yjg3N2Mw
NjM1ZWVlNjI0ZjNhNjY3NjA1NWMxN2ZiZDBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9E
ZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQyL0Rlcml2ZWRTb3VyY2VzLm1h
a2UKQEAgLTU2LDYgKzU2LDcgQEAgVlBBVEggPSBcCiAgICAgJChXZWJLaXQyKS9XZWJQcm9jZXNz
L2lvcyBcCiAgICAgJChXZWJLaXQyKS9XZWJQcm9jZXNzIFwKICAgICAkKFdlYktpdDIpL1VJUHJv
Y2VzcyBcCisgICAgJChXZWJLaXQyKS9VSVByb2Nlc3MvQXV0b21hdGlvbiBcCiAgICAgJChXZWJL
aXQyKS9VSVByb2Nlc3MvQ29jb2EgXAogICAgICQoV2ViS2l0MikvVUlQcm9jZXNzL0RhdGFiYXNl
cyBcCiAgICAgJChXZWJLaXQyKS9VSVByb2Nlc3MvRG93bmxvYWRzIFwKQEAgLTE5MiwzICsxOTMs
MzEgQEAgYWxsOiAkKFNBTkRCT1hfUFJPRklMRVMpCiAlLnNiIDogJS5zYi5pbgogCUBlY2hvIFBy
ZS1wcm9jZXNzaW5nICQqIHNhbmRib3ggcHJvZmlsZS4uLgogCSQoQ0MpICQoU0RLX0ZMQUdTKSAk
KFRFWFRfUFJFUFJPQ0VTU09SX0ZMQUdTKSAkKEZSQU1FV09SS19GTEFHUykgJChIRUFERVJfRkxB
R1MpIC1pbmNsdWRlICJ3dGYvUGxhdGZvcm0uaCIgJDwgPiAkQAorCitBVVRPTUFUSU9OX1BST1RP
Q09MX0dFTkVSQVRPUl9TQ1JJUFRTID0gXAorCSQoSmF2YVNjcmlwdENvcmVfU0NSSVBUU19ESVIp
L2NwcF9nZW5lcmF0b3JfdGVtcGxhdGVzLnB5IFwKKwkkKEphdmFTY3JpcHRDb3JlX1NDUklQVFNf
RElSKS9jcHBfZ2VuZXJhdG9yLnB5IFwKKwkkKEphdmFTY3JpcHRDb3JlX1NDUklQVFNfRElSKS9n
ZW5lcmF0ZV9jcHBfYmFja2VuZF9kaXNwYXRjaGVyX2hlYWRlci5weSBcCisJJChKYXZhU2NyaXB0
Q29yZV9TQ1JJUFRTX0RJUikvZ2VuZXJhdGVfY3BwX2JhY2tlbmRfZGlzcGF0Y2hlcl9pbXBsZW1l
bnRhdGlvbi5weSBcCisJJChKYXZhU2NyaXB0Q29yZV9TQ1JJUFRTX0RJUikvZ2VuZXJhdGVfY3Bw
X3Byb3RvY29sX3R5cGVzX2hlYWRlci5weSBcCisJJChKYXZhU2NyaXB0Q29yZV9TQ1JJUFRTX0RJ
UikvZ2VuZXJhdGVfY3BwX3Byb3RvY29sX3R5cGVzX2ltcGxlbWVudGF0aW9uLnB5IFwKKwkkKEph
dmFTY3JpcHRDb3JlX1NDUklQVFNfRElSKS9nZW5lcmF0b3JfdGVtcGxhdGVzLnB5IFwKKwkkKEph
dmFTY3JpcHRDb3JlX1NDUklQVFNfRElSKS9nZW5lcmF0b3IucHkgXAorCSQoSmF2YVNjcmlwdENv
cmVfU0NSSVBUU19ESVIpL21vZGVscy5weSBcCisJJChKYXZhU2NyaXB0Q29yZV9TQ1JJUFRTX0RJ
UikvZ2VuZXJhdGUtaW5zcGVjdG9yLXByb3RvY29sLWJpbmRpbmdzLnB5IFwKKyMKKworQVVUT01B
VElPTl9QUk9UT0NPTF9JTlBVVF9GSUxFUyA9IFwKKyAgICAkKFdlYktpdDIpL1VJUHJvY2Vzcy9B
dXRvbWF0aW9uL0F1dG9tYXRpb24uanNvbiBcCisjCisKK0FVVE9NQVRJT05fUFJPVE9DT0xfT1VU
UFVUX0ZJTEVTID0gXAorICAgIEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5oIFwKKyAgICBJ
bnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuY3BwIFwKKyMKKworIyBKU09OLVJQQyBCYWNrZW5k
IERpc3BhdGNoZXJzLCBUeXBlIEJ1aWxkZXJzCiskKEFVVE9NQVRJT05fUFJPVE9DT0xfT1VUUFVU
X0ZJTEVTKSA6ICQoQVVUT01BVElPTl9QUk9UT0NPTF9JTlBVVF9GSUxFUykgJChBVVRPTUFUSU9O
X1BST1RPQ09MX0dFTkVSQVRPUl9TQ1JJUFRTKQorCSQoUFlUSE9OKSAkKEphdmFTY3JpcHRDb3Jl
X1NDUklQVFNfRElSKS9nZW5lcmF0ZS1pbnNwZWN0b3ItcHJvdG9jb2wtYmluZGluZ3MucHkgLS1m
cmFtZXdvcmsgV2ViS2l0IC0tYmFja2VuZCAtLW91dHB1dERpciAuICQoQVVUT01BVElPTl9QUk9U
T0NPTF9JTlBVVF9GSUxFUykKKworYWxsIDogJChBVVRPTUFUSU9OX1BST1RPQ09MX09VVFBVVF9G
SUxFUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtTWFjLmNtYWtlIGIvU291
cmNlL1dlYktpdDIvUGxhdGZvcm1NYWMuY21ha2UKaW5kZXggOTJlM2I5MDM0ZjAzM2Q4NzZlNjI2
ZTU5NmQxNTQwMTRkZWNlMDkwZi4uMTM3MzNmMTYyZWMwZTg5NjIzM2I5YWFiYWYzMTYxN2UxOTMz
YzNlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm1NYWMuY21ha2UKKysrIGIv
U291cmNlL1dlYktpdDIvUGxhdGZvcm1NYWMuY21ha2UKQEAgLTE0MCw3ICsxNDAsOCBAQCBsaXN0
KEFQUEVORCBXZWJLaXQyX1NPVVJDRVMKICAgICBTaGFyZWQvbWFjL1dlYk1lbW9yeVNhbXBsZXIu
bWFjLm1tCiAKICAgICBVSVByb2Nlc3MvVmlld0dlc3R1cmVDb250cm9sbGVyLmNwcAotICAgIFVJ
UHJvY2Vzcy9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5jcHAKKworICAgIFVJUHJvY2Vzcy9BdXRvbWF0
aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uLmNwcAogCiAgICAgVUlQcm9jZXNzL0FQSS9BUElVc2Vy
U2NyaXB0LmNwcAogICAgIFVJUHJvY2Vzcy9BUEkvQVBJVXNlclN0eWxlU2hlZXQuY3BwCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQXV0b21hdGlvbi9BdXRvbWF0aW9uLmpz
b24gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQXV0b21hdGlvbi9BdXRvbWF0aW9uLmpzb24K
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMzQ1YzcwYjdkMTQwZWRiMTdiNWJjYWE1YjgzYTFkYzhhNjhkNDA3NgotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BdXRvbWF0aW9uL0F1dG9t
YXRpb24uanNvbgpAQCAtMCwwICsxLDQwIEBACit7CisgICAgImRvbWFpbiI6ICJBdXRvbWF0aW9u
IiwKKyAgICAiZGVzY3JpcHRpb24iOiAiQXV0b21hdGlvbiBkb21haW4gZXhwb3NlcyBjb21tYW5k
cyBmb3IgYXV0b21hdGluZyB1c2VyIGludGVyYWN0aW9ucyB3aXRoIHRoZSBicm93c2VyLiIsCisg
ICAgInR5cGVzIjogWworICAgICAgICB7CisgICAgICAgICAgICAiaWQiOiAiT3BhcXVlV2luZG93
SGFuZGxlIiwKKyAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCisgICAgICAgICAgICAiZGVz
Y3JpcHRpb24iOiAiQW4gb3BhcXVlIGlkZW50aWZpZXIgZm9yIGEgd2luZG93LiIKKyAgICAgICAg
fSwKKyAgICAgICAgeworICAgICAgICAgICAgImlkIjogIkJyb3dzaW5nV2luZG93IiwKKyAgICAg
ICAgICAgICJ0eXBlIjogIm9iamVjdCIsCisgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQSBo
YW5kbGUgcmVwcmVzZW50aW5nIGFuIG9wZW4gd2luZG93IG9yIHRhYiBpbiB0aGUgYXV0b21hdGlv
biBzZXNzaW9uLiIsCisgICAgICAgICAgICAicHJvcGVydGllcyI6IFsKKyAgICAgICAgICAgICAg
ICB7ICJuYW1lIjogImhhbmRsZSIsICIkcmVmIjogIk9wYXF1ZVdpbmRvd0hhbmRsZSIsICJkZXNj
cmlwdGlvbiI6ICJPcGFxdWUgaGFuZGxlIGZvciB0aGUgd2luZG93LiBVc2VkIGFzIGEga2V5IGZv
ciB3aW5kb3ctcmVsYXRlZCBjb21tYW5kcy4iIH0sCisgICAgICAgICAgICAgICAgeyAibmFtZSI6
ICJhY3RpdmUiLCAidHlwZSI6ICJib29sZWFuIiwgImRlc2NyaXB0aW9uIjogIldoZXRoZXIgdGhl
IHdpbmRvdyBpcyBhY3RpdmUgYXQgdGhlIHRpbWUgdGhlIGNvbW1hbmQgaXMgaGFuZGxlZC4iIH0K
KyAgICAgICAgICAgIF0KKyAgICAgICAgfQorICAgIF0sCisgICAgImNvbW1hbmRzIjogWworICAg
ICAgICB7CisgICAgICAgICAgICAibmFtZSI6ICJnZXRXaW5kb3dzIiwKKyAgICAgICAgICAgICJy
ZXR1cm5zIjogWworICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAid2luZG93cyIsICJ0eXBlIjog
ImFycmF5IiwgIml0ZW1zIjogeyAiJHJlZiI6ICJCcm93c2luZ1dpbmRvdyJ9LCAiZGVzY3JpcHRp
b24iOiAiQWxsIGtub3duIHdpbmRvd3MgYW5kIHRhYnMgaW4gdGhlIGJyb3dzaW5nIHNlc3Npb24u
IiB9CisgICAgICAgICAgICBdLAorICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkdldHMgaW5m
b3JtYXRpb24gYWJvdXQgYWxsIG9wZW4gd2luZG93cyBhbmQgdGFicyBpbiB0aGUgYXV0b21hdGlv
biBzZXNzaW9uLiIKKyAgICAgICAgfSwKKyAgICAgICAgeworICAgICAgICAgICAgIm5hbWUiOiAi
b3BlbldpbmRvdyIsCisgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiT3BlbnMgYSBuZXcgYXV0
b21hdGlvbiB3aW5kb3cgaW4gdGhlIGN1cnJlbnQgYnJvd3NpbmcgY29udGV4dC4iCisgICAgICAg
IH0sCisgICAgICAgIHsKKyAgICAgICAgICAgICJuYW1lIjogImNsb3NlV2luZG93IiwKKyAgICAg
ICAgICAgICJwYXJhbWV0ZXJzIjogWworICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiaGFuZGxl
IiwgIiRyZWYiOiAiT3BhcXVlV2luZG93SGFuZGxlIiwgImRlc2NyaXB0aW9uIjogIlRoZSBoYW5k
bGUgZm9yIHRoZSB3aW5kb3cgdGhhdCBzaG91bGQgYmUgY2xvc2VkLiIgfQorICAgICAgICAgICAg
XSwKKyAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJDbG9zZXMgdGhlIHNwZWNpZmllZCB3aW5k
b3cuIgorICAgICAgICB9CisgICAgXQorfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb24uY3BwIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNlc3Npb24uY3BwCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjlhNDIxMmZjMTEzODUwM2ZhZGRjYWQ4MTkyMzlmNTdhNDZkZjJlMGEKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9u
U2Vzc2lvbi5jcHAKQEAgLTAsMCArMSw5MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25m
aWcuaCIKKyNpbmNsdWRlICJXZWJBdXRvbWF0aW9uU2Vzc2lvbi5oIgorCisjaW5jbHVkZSAiQVBJ
QXV0b21hdGlvblNlc3Npb25DbGllbnQuaCIKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9JbnNw
ZWN0b3JCYWNrZW5kRGlzcGF0Y2hlci5oPgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0luc3Bl
Y3RvckZyb250ZW5kUm91dGVyLmg+CisKK3VzaW5nIG5hbWVzcGFjZSBJbnNwZWN0b3I7CisKK25h
bWVzcGFjZSBXZWJLaXQgeworCitXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6V2ViQXV0b21hdGlvblNl
c3Npb24oKQorICAgIDogbV9jbGllbnQoc3RkOjptYWtlX3VuaXF1ZTxBUEk6OkF1dG9tYXRpb25T
ZXNzaW9uQ2xpZW50PigpKQorICAgICwgbV9mcm9udGVuZFJvdXRlcihGcm9udGVuZFJvdXRlcjo6
Y3JlYXRlKCkpCisgICAgLCBtX2JhY2tlbmREaXNwYXRjaGVyKEJhY2tlbmREaXNwYXRjaGVyOjpj
cmVhdGUobV9mcm9udGVuZFJvdXRlci5jb3B5UmVmKCkpKQoreworICAgIC8vIEZJWE1FOiB0byBh
Y3R1YWxseSBoYW5kbGUgaW5jb21pbmcgY29tbWFuZHMsIGFuIGFnZW50IG5lZWRzIHRvIGJlIGNy
ZWF0ZWQKKyAgICAvLyBhbmQgcmVnaXN0ZXJlZCB3aXRoIHRoZSBiYWNrZW5kIGRpc3BhdGNoZXIg
aW4gdGhlIGNvbnN0cnVjdG9yLgorfQorCitXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6fldlYkF1dG9t
YXRpb25TZXNzaW9uKCkKK3sKKyAgICBBU1NFUlQoIW1fY2xpZW50KTsKK30KKwordm9pZCBXZWJB
dXRvbWF0aW9uU2Vzc2lvbjo6c2V0Q2xpZW50KHN0ZDo6dW5pcXVlX3B0cjxBUEk6OkF1dG9tYXRp
b25TZXNzaW9uQ2xpZW50PiBjbGllbnQpCit7CisgICAgbV9jbGllbnQgPSBXVEZNb3ZlKGNsaWVu
dCk7Cit9CisKKy8vIE5PVEU6IHRoaXMgY2xhc3MgY291bGQgYmUgc3BsaXQgYXQgc29tZSBwb2lu
dCB0byBzdXBwb3J0IGxvY2FsIGFuZCByZW1vdGUgYXV0b21hdGlvbiBzZXNzaW9ucy4KKy8vIEZv
ciBub3csIGl0IG9ubHkgd29ya3Mgd2l0aCBhIHJlbW90ZSBhdXRvbWF0aW9uIGRyaXZlciBvdmVy
IGEgUmVtb3RlSW5zcGVjdG9yIGNvbm5lY3Rpb24uCisKKyNpZiBFTkFCTEUoUkVNT1RFX0lOU1BF
Q1RPUikKKworLy8gSW5zcGVjdG9yOjpSZW1vdGVBdXRvbWF0aW9uVGFyZ2V0IEFQSQorCit2b2lk
IFdlYkF1dG9tYXRpb25TZXNzaW9uOjpkaXNwYXRjaE1lc3NhZ2VGcm9tUmVtb3RlKGNvbnN0IFN0
cmluZyYgbWVzc2FnZSkKK3sKKyAgICBtX2JhY2tlbmREaXNwYXRjaGVyLT5kaXNwYXRjaChtZXNz
YWdlKTsKK30KKwordm9pZCBXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6Y29ubmVjdChJbnNwZWN0b3I6
OkZyb250ZW5kQ2hhbm5lbCogY2hhbm5lbCwgYm9vbCBpc0F1dG9tYXRpY0Nvbm5lY3Rpb24pCit7
CisgICAgVU5VU0VEX1BBUkFNKGlzQXV0b21hdGljQ29ubmVjdGlvbik7CisKKyAgICBtX3JlbW90
ZUNoYW5uZWwgPSBjaGFubmVsOworICAgIG1fZnJvbnRlbmRSb3V0ZXItPmNvbm5lY3RGcm9udGVu
ZChjaGFubmVsKTsKKworICAgIHNldElzUGFpcmVkKHRydWUpOworfQorCit2b2lkIFdlYkF1dG9t
YXRpb25TZXNzaW9uOjpkaXNjb25uZWN0KEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsKiBjaGFu
bmVsKQoreworICAgIEFTU0VSVChjaGFubmVsID09IG1fcmVtb3RlQ2hhbm5lbCk7CisKKyAgICBt
X3JlbW90ZUNoYW5uZWwgPSBudWxscHRyOworICAgIG1fZnJvbnRlbmRSb3V0ZXItPmRpc2Nvbm5l
Y3RGcm9udGVuZChjaGFubmVsKTsKKworICAgIHNldElzUGFpcmVkKGZhbHNlKTsKKworICAgIGlm
IChtX2NsaWVudCkKKyAgICAgICAgbV9jbGllbnQtPmRpZERpc2Nvbm5lY3RGcm9tUmVtb3RlKHRo
aXMpOworfQorCisjZW5kaWYgLy8gRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCisKK30gLy8gbmFt
ZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1dG9t
YXRpb24vV2ViQXV0b21hdGlvblNlc3Npb24uaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
dXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2MzOWE3ZjE1NTY4
NmY5ZDY4NWY0YWU3MWQxOTNiZWQyNDgxZWFjYQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uLmgKQEAgLTAs
MCArMSw4NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV2ViQXV0b21hdGlvblNlc3Npb25faAor
I2RlZmluZSBXZWJBdXRvbWF0aW9uU2Vzc2lvbl9oCisKKyNpbmNsdWRlICJBUElPYmplY3QuaCIK
KyNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorCisjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1Ip
CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvUmVtb3RlQXV0b21hdGlvblRhcmdldC5oPgorI2Vu
ZGlmCisKK25hbWVzcGFjZSBBUEkgeworY2xhc3MgQXV0b21hdGlvblNlc3Npb25DbGllbnQ7Cit9
CisKK25hbWVzcGFjZSBJbnNwZWN0b3IgeworY2xhc3MgQmFja2VuZERpc3BhdGNoZXI7CitjbGFz
cyBGcm9udGVuZFJvdXRlcjsKK30KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFdlYkF1
dG9tYXRpb25TZXNzaW9uQ2xpZW50OworCitjbGFzcyBXZWJBdXRvbWF0aW9uU2Vzc2lvbiBmaW5h
bCA6IHB1YmxpYyBBUEk6Ok9iamVjdEltcGw8QVBJOjpPYmplY3Q6OlR5cGU6OkF1dG9tYXRpb25T
ZXNzaW9uPgorI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQorICAgICwgcHVibGljIEluc3Bl
Y3Rvcjo6UmVtb3RlQXV0b21hdGlvblRhcmdldAorI2VuZGlmCit7CitwdWJsaWM6CisgICAgV2Vi
QXV0b21hdGlvblNlc3Npb24oKTsKKyAgICB+V2ViQXV0b21hdGlvblNlc3Npb24oKTsKKworICAg
IHZvaWQgc2V0Q2xpZW50KHN0ZDo6dW5pcXVlX3B0cjxBUEk6OkF1dG9tYXRpb25TZXNzaW9uQ2xp
ZW50Pik7CisKKyAgICB2b2lkIHNldFNlc3Npb25JZGVudGlmaWVyKGNvbnN0IFN0cmluZyYgc2Vz
c2lvbklkZW50aWZpZXIpIHsgbV9zZXNzaW9uSWRlbnRpZmllciA9IHNlc3Npb25JZGVudGlmaWVy
OyB9CisgICAgU3RyaW5nIHNlc3Npb25JZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9zZXNz
aW9uSWRlbnRpZmllcjsgfQorCisjaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCisgICAgLy8g
SW5zcGVjdG9yOjpSZW1vdGVBdXRvbWF0aW9uVGFyZ2V0IEFQSQorICAgIHZpcnR1YWwgU3RyaW5n
IG5hbWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBtX3Nlc3Npb25JZGVudGlmaWVyOyB9Cisg
ICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoTWVzc2FnZUZyb21SZW1vdGUoY29uc3QgU3RyaW5nJiBt
ZXNzYWdlKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgY29ubmVjdChJbnNwZWN0b3I6OkZy
b250ZW5kQ2hhbm5lbCosIGJvb2wgaXNBdXRvbWF0aWNDb25uZWN0aW9uID0gZmFsc2UpIG92ZXJy
aWRlOworICAgIHZpcnR1YWwgdm9pZCBkaXNjb25uZWN0KEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFu
bmVsKikgb3ZlcnJpZGU7CisjZW5kaWYKKworcHJpdmF0ZToKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8
QVBJOjpBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudD4gbV9jbGllbnQ7CisgICAgU3RyaW5nIG1fc2Vz
c2lvbklkZW50aWZpZXIgeyBBU0NJSUxpdGVyYWwoIlVudGl0bGVkIFNlc3Npb24iKSB9OworICAg
IFJlZjxJbnNwZWN0b3I6OkZyb250ZW5kUm91dGVyPiBtX2Zyb250ZW5kUm91dGVyOworICAgIFJl
ZjxJbnNwZWN0b3I6OkJhY2tlbmREaXNwYXRjaGVyPiBtX2JhY2tlbmREaXNwYXRjaGVyOworCisj
aWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCisgICAgSW5zcGVjdG9yOjpGcm9udGVuZENoYW5u
ZWwqIG1fcmVtb3RlQ2hhbm5lbCB7IG51bGxwdHIgfTsKKyNlbmRpZgorfTsKKworfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBXZWJBdXRvbWF0aW9uU2Vzc2lvbl9oCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQXV0b21hdGlvblNlc3Npb24uY3BwIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkF1dG9tYXRpb25TZXNzaW9uLmNwcApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjc1ZDI2YmVjYWQ5NjllMWQ5YTg4ZWNmNjFjN2UwZTMw
ZmYzOTIyMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQXV0b21hdGlvblNlc3Npb24uY3BwCisrKyAvZGV2
L251bGwKQEAgLTEsNzkgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
LSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwot
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIK
LSNpbmNsdWRlICJXZWJBdXRvbWF0aW9uU2Vzc2lvbi5oIgotCi0jaW5jbHVkZSAiQVBJQXV0b21h
dGlvblNlc3Npb25DbGllbnQuaCIKLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLVdlYkF1dG9tYXRp
b25TZXNzaW9uOjpXZWJBdXRvbWF0aW9uU2Vzc2lvbigpCi0gICAgOiBtX2NsaWVudChzdGQ6Om1h
a2VfdW5pcXVlPEFQSTo6QXV0b21hdGlvblNlc3Npb25DbGllbnQ+KCkpCi17Ci19Ci0KLVdlYkF1
dG9tYXRpb25TZXNzaW9uOjp+V2ViQXV0b21hdGlvblNlc3Npb24oKQotewotICAgIEFTU0VSVCgh
bV9jbGllbnQpOwotfQotCi12b2lkIFdlYkF1dG9tYXRpb25TZXNzaW9uOjpzZXRDbGllbnQoc3Rk
Ojp1bmlxdWVfcHRyPEFQSTo6QXV0b21hdGlvblNlc3Npb25DbGllbnQ+IGNsaWVudCkKLXsKLSAg
ICBtX2NsaWVudCA9IFdURk1vdmUoY2xpZW50KTsKLX0KLQotLy8gTk9URTogdGhpcyBjbGFzcyBj
b3VsZCBiZSBzcGxpdCBhdCBzb21lIHBvaW50IHRvIHN1cHBvcnQgbG9jYWwgYW5kIHJlbW90ZSBh
dXRvbWF0aW9uIHNlc3Npb25zLgotLy8gRm9yIG5vdywgaXQgb25seSB3b3JrcyB3aXRoIGEgcmVt
b3RlIGF1dG9tYXRpb24gZHJpdmVyIG92ZXIgYSBSZW1vdGVJbnNwZWN0b3IgY29ubmVjdGlvbi4K
LQotI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQotCi0vLyBJbnNwZWN0b3I6OlJlbW90ZUF1
dG9tYXRpb25UYXJnZXQgQVBJCi0KLXZvaWQgV2ViQXV0b21hdGlvblNlc3Npb246OmRpc3BhdGNo
TWVzc2FnZUZyb21SZW1vdGUoY29uc3QgU3RyaW5nJikKLXsKLSAgICAvLyBGSVhNRTogdG8gYmUg
aW1wbGVtZW50ZWQuCi19Ci0KLXZvaWQgV2ViQXV0b21hdGlvblNlc3Npb246OmNvbm5lY3QoSW5z
cGVjdG9yOjpGcm9udGVuZENoYW5uZWwqIGNoYW5uZWwsIGJvb2wgaXNBdXRvbWF0aWNDb25uZWN0
aW9uKQotewotICAgIFVOVVNFRF9QQVJBTShpc0F1dG9tYXRpY0Nvbm5lY3Rpb24pOwotCi0gICAg
bV9yZW1vdGVDaGFubmVsID0gY2hhbm5lbDsKLSAgICBzZXRJc1BhaXJlZCh0cnVlKTsKLX0KLQot
dm9pZCBXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6ZGlzY29ubmVjdChJbnNwZWN0b3I6OkZyb250ZW5k
Q2hhbm5lbCogY2hhbm5lbCkKLXsKLSAgICBtX3JlbW90ZUNoYW5uZWwgPSBudWxscHRyOwotICAg
IHNldElzUGFpcmVkKGZhbHNlKTsKLSAgICAKLSAgICBpZiAobV9jbGllbnQpCi0gICAgICAgIG1f
Y2xpZW50LT5kaWREaXNjb25uZWN0RnJvbVJlbW90ZSh0aGlzKTsKLX0KLQotI2VuZGlmIC8vIEVO
QUJMRShSRU1PVEVfSU5TUEVDVE9SKQotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5oIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkF1dG9tYXRpb25TZXNzaW9uLmgKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDg4MzVlZmQ2YzhlMzEyZTlkODE5OTY0ZTM2MzE5MTg4MDY2ZmI3
YzguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYkF1dG9tYXRpb25TZXNzaW9uLmgKKysrIC9kZXYvbnVsbApA
QCAtMSw3NyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJl
IG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBXZWJBdXRvbWF0aW9uU2Vzc2lv
bl9oCi0jZGVmaW5lIFdlYkF1dG9tYXRpb25TZXNzaW9uX2gKLQotI2luY2x1ZGUgIkFQSU9iamVj
dC5oIgotI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0KLSNpZiBFTkFCTEUoUkVNT1RFX0lOU1BF
Q1RPUikKLSNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9SZW1vdGVBdXRvbWF0aW9uVGFyZ2V0Lmg+
Ci0jZW5kaWYKLQotbmFtZXNwYWNlIEFQSSB7Ci1jbGFzcyBBdXRvbWF0aW9uU2Vzc2lvbkNsaWVu
dDsKLX0KLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLWNsYXNzIFdlYkF1dG9tYXRpb25TZXNzaW9u
Q2xpZW50OwotCi1jbGFzcyBXZWJBdXRvbWF0aW9uU2Vzc2lvbiBmaW5hbCA6IHB1YmxpYyBBUEk6
Ok9iamVjdEltcGw8QVBJOjpPYmplY3Q6OlR5cGU6OkF1dG9tYXRpb25TZXNzaW9uPgotI2lmIEVO
QUJMRShSRU1PVEVfSU5TUEVDVE9SKQotICAgICwgcHVibGljIEluc3BlY3Rvcjo6UmVtb3RlQXV0
b21hdGlvblRhcmdldAotI2VuZGlmCi17Ci1wdWJsaWM6Ci0gICAgV2ViQXV0b21hdGlvblNlc3Np
b24oKTsKLSAgICB+V2ViQXV0b21hdGlvblNlc3Npb24oKTsKLQotICAgIHZvaWQgc2V0Q2xpZW50
KHN0ZDo6dW5pcXVlX3B0cjxBUEk6OkF1dG9tYXRpb25TZXNzaW9uQ2xpZW50Pik7Ci0KLSAgICB2
b2lkIHNldFNlc3Npb25JZGVudGlmaWVyKGNvbnN0IFN0cmluZyYgc2Vzc2lvbklkZW50aWZpZXIp
IHsgbV9zZXNzaW9uSWRlbnRpZmllciA9IHNlc3Npb25JZGVudGlmaWVyOyB9Ci0gICAgU3RyaW5n
IHNlc3Npb25JZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9zZXNzaW9uSWRlbnRpZmllcjsg
fQotCi0jaWYgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpCi0gICAgLy8gSW5zcGVjdG9yOjpSZW1v
dGVBdXRvbWF0aW9uVGFyZ2V0IEFQSQotICAgIHZpcnR1YWwgU3RyaW5nIG5hbWUoKSBjb25zdCBv
dmVycmlkZSB7IHJldHVybiBtX3Nlc3Npb25JZGVudGlmaWVyOyB9Ci0gICAgdmlydHVhbCB2b2lk
IGRpc3BhdGNoTWVzc2FnZUZyb21SZW1vdGUoY29uc3QgU3RyaW5nJiBtZXNzYWdlKSBvdmVycmlk
ZTsKLSAgICB2aXJ0dWFsIHZvaWQgY29ubmVjdChJbnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCos
IGJvb2wgaXNBdXRvbWF0aWNDb25uZWN0aW9uID0gZmFsc2UpIG92ZXJyaWRlOwotICAgIHZpcnR1
YWwgdm9pZCBkaXNjb25uZWN0KEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsKikgb3ZlcnJpZGU7
Ci0jZW5kaWYKLQotcHJpdmF0ZToKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8QVBJOjpBdXRvbWF0aW9u
U2Vzc2lvbkNsaWVudD4gbV9jbGllbnQ7Ci0gICAgU3RyaW5nIG1fc2Vzc2lvbklkZW50aWZpZXIg
eyBBU0NJSUxpdGVyYWwoIlVudGl0bGVkIFNlc3Npb24iKSB9OwotCi0jaWYgRU5BQkxFKFJFTU9U
RV9JTlNQRUNUT1IpCi0gICAgSW5zcGVjdG9yOjpGcm9udGVuZENoYW5uZWwqIG1fcmVtb3RlQ2hh
bm5lbCB7IG51bGxwdHIgfTsKLSNlbmRpZgotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0Ci0K
LSNlbmRpZiAvLyBXZWJBdXRvbWF0aW9uU2Vzc2lvbl9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggN2NiMGFlMTVjMTRjMzgwYjRi
NzVlNTM3NTg4OTBkOGVhOWYwNTUzNi4uODhhNjJkOGZkYTczZGM0N2I2ZGRiZGU2MWUzYzQ3MDBh
MGI4NjYyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagpAQCAtMTIyOSw5ICsxMjI5LDE0IEBACiAJCTk5MEQyOEIyMUM2NTIwOTQwMDk4
Njk3NyAvKiBfV0tBdXRvbWF0aW9uU2Vzc2lvbi5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk5MEQyOEFEMUM2NTE5MDQwMDk4Njk3NyAvKiBfV0tBdXRv
bWF0aW9uU2Vzc2lvbi5tbSAqLzsgfTsKIAkJOTkwRDI4QkIxQzY1MzlEMzAwOTg2OTc3IC8qIEF1
dG9tYXRpb25TZXNzaW9uQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5OTBEMjhCNzFDNjUzOUEwMDA5ODY5NzcgLyogQXV0b21hdGlvblNlc3Np
b25DbGllbnQuaCAqLzsgfTsKIAkJOTkwRDI4QkMxQzY1MzlEQTAwOTg2OTc3IC8qIEF1dG9tYXRp
b25TZXNzaW9uQ2xpZW50Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gOTkwRDI4QjgxQzY1MzlBMDAwOTg2OTc3IC8qIEF1dG9tYXRpb25TZXNzaW9uQ2xp
ZW50Lm1tICovOyB9OwotCQk5OTBEMjhCRjFDNjU0RDM5MDA5ODY5NzcgLyogV2ViQXV0b21hdGlv
blNlc3Npb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gOTkwRDI4QkQxQzY1NDkwQTAwOTg2OTc3IC8qIFdlYkF1dG9tYXRpb25TZXNzaW9uLmNwcCAq
LzsgfTsKIAkJOTkwRDI4QzAxQzY1NTNGMTAwOTg2OTc3IC8qIEFQSUF1dG9tYXRpb25TZXNzaW9u
Q2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5
OTBEMjhCMzFDNjUyNkQ0MDA5ODY5NzcgLyogQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaCAq
LzsgfTsKLQkJOTkwRDI4QzExQzY1NjI2NTAwOTg2OTc3IC8qIFdlYkF1dG9tYXRpb25TZXNzaW9u
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5OTBEMjhC
NTFDNjUyNkY1MDA5ODY5NzcgLyogV2ViQXV0b21hdGlvblNlc3Npb24uaCAqLzsgfTsKKwkJOTk1
NUE2RUMxQzc5ODBDMjAwRUI2QTkzIC8qIFdlYkF1dG9tYXRpb25TZXNzaW9uLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5OTU1QTZFQjFDNzk4MEJCMDBF
QjZBOTMgLyogV2ViQXV0b21hdGlvblNlc3Npb24uaCAqLzsgfTsKKwkJOTk1NUE2RUQxQzc5ODBD
QTAwRUI2QTkzIC8qIFdlYkF1dG9tYXRpb25TZXNzaW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk5NTVBNkVBMUM3OTgwQkIwMEVCNkE5MyAvKiBX
ZWJBdXRvbWF0aW9uU2Vzc2lvbi5jcHAgKi87IH07CisJCTk5NTVBNkVGMUM3OTgxMDgwMEVCNkE5
MyAvKiBBdXRvbWF0aW9uLmpzb24gaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA5OTU1QTZFOTFDNzk4MEJCMDBFQjZBOTMgLyogQXV0b21hdGlvbi5qc29uICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTk5NTVBNkY0
MUM3OTg2REMwMEVCNkE5MyAvKiBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTk1NUE2RjAxQzc5ODY2
NDAwRUI2QTkzIC8qIEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5jcHAgKi87IH07CisJCTk5
NTVBNkY1MUM3OTg2RTAwMEVCNkE5MyAvKiBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk5NTVBNkYxMUM3
OTg2NjQwMEVCNkE5MyAvKiBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuaCAqLzsgfTsKKwkJ
OTk1NUE2RjYxQzc5ODZFMzAwRUI2QTkzIC8qIEluc3BlY3RvclByb3RvY29sT2JqZWN0cy5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5OTU1QTZGMjFD
Nzk4NjY0MDBFQjZBOTMgLyogSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzLmNwcCAqLzsgfTsKKwkJ
OTk1NUE2RjcxQzc5ODZFNTAwRUI2QTkzIC8qIEluc3BlY3RvclByb3RvY29sT2JqZWN0cy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTk1NUE2RjMxQzc5
ODY2NDAwRUI2QTkzIC8qIEluc3BlY3RvclByb3RvY29sT2JqZWN0cy5oICovOyB9OwogCQk5OUM4
MUQ1OTFDMjBFMUU1MDA1QzRDODIgLyogQXV0b21hdGlvbkNsaWVudC5tbSBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk5QzgxRDU2MUMyMERGQkUwMDVDNEM4
MiAvKiBBdXRvbWF0aW9uQ2xpZW50Lm1tICovOyB9OwogCQk5OUM4MUQ1QTFDMjBFN0UyMDA1QzRD
ODIgLyogQXV0b21hdGlvbkNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOTlDODFENTUxQzIwREZCRTAwNUM0QzgyIC8qIEF1dG9tYXRpb25DbGll
bnQuaCAqLzsgfTsKIAkJOTlDODFENUQxQzIxRjM4QjAwNUM0QzgyIC8qIEFQSUF1dG9tYXRpb25D
bGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk5
QzgxRDVCMUMyMEU4MTcwMDVDNEM4MiAvKiBBUElBdXRvbWF0aW9uQ2xpZW50LmggKi87IH07CkBA
IC0zMjUyLDEwICszMjU3LDE1IEBACiAJCTk5MEQyOEFEMUM2NTE5MDQwMDk4Njk3NyAvKiBfV0tB
dXRvbWF0aW9uU2Vzc2lvbi5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0
aCA9IF9XS0F1dG9tYXRpb25TZXNzaW9uLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk5OTBEMjhBRjFDNjUyMDM5MDA5ODY5NzcgLyogX1dLQXV0b21hdGlvblNlc3Npb25JbnRlcm5h
bC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBfV0tBdXRvbWF0aW9uU2Vzc2lv
bkludGVybmFsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk5MEQyOEIzMUM2NTI2
RDQwMDk4Njk3NyAvKiBBUElBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBBUElBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwotCQk5OTBEMjhCNTFDNjUyNkY1MDA5ODY5NzcgLyogV2ViQXV0
b21hdGlvblNlc3Npb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQXV0
b21hdGlvblNlc3Npb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTkwRDI4Qjcx
QzY1MzlBMDAwOTg2OTc3IC8qIEF1dG9tYXRpb25TZXNzaW9uQ2xpZW50LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEF1dG9tYXRpb25TZXNzaW9uQ2xpZW50Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk5MEQyOEI4MUM2NTM5QTAwMDk4Njk3NyAvKiBBdXRvbWF0
aW9uU2Vzc2lvbkNsaWVudC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0
aCA9IEF1dG9tYXRpb25TZXNzaW9uQ2xpZW50Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwotCQk5OTBEMjhCRDFDNjU0OTBBMDA5ODY5NzcgLyogV2ViQXV0b21hdGlvblNlc3Npb24uY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViQXV0b21hdGlvblNlc3Np
b24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5OTU1QTZFOTFDNzk4MEJCMDBF
QjZBOTMgLyogQXV0b21hdGlvbi5qc29uICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC5qc29uOyBwYXRoID0gQXV0
b21hdGlvbi5qc29uOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5OTU1QTZFQTFDNzk4
MEJCMDBFQjZBOTMgLyogV2ViQXV0b21hdGlvblNlc3Npb24uY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gV2ViQXV0b21hdGlvblNlc3Npb24uY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk5OTU1QTZFQjFDNzk4MEJCMDBFQjZBOTMgLyogV2ViQXV0b21h
dGlvblNlc3Npb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQXV0b21h
dGlvblNlc3Npb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTk1NUE2RjAxQzc5
ODY2NDAwRUI2QTkzIC8qIEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk5OTU1QTZGMTFDNzk4NjY0MDBFQjZB
OTMgLyogSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk5OTU1QTZGMjFDNzk4NjY0MDBFQjZBOTMgLyogSW5zcGVjdG9yUHJv
dG9jb2xPYmplY3RzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IElu
c3BlY3RvclByb3RvY29sT2JqZWN0cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTk5NTVBNkYzMUM3OTg2NjQwMEVCNkE5MyAvKiBJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVjdG9yUHJvdG9jb2xPYmplY3Rz
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk5QzgxRDU1MUMyMERGQkUwMDVDNEM4
MiAvKiBBdXRvbWF0aW9uQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEF1dG9tYXRpb25DbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTlDODFE
NTYxQzIwREZCRTAwNUM0QzgyIC8qIEF1dG9tYXRpb25DbGllbnQubW0gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBBdXRvbWF0aW9uQ2xpZW50Lm1tOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk5OUM4MUQ1QjFDMjBFODE3MDA1QzRDODIgLyogQVBJQXV0b21h
dGlvbkNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBUElBdXRvbWF0
aW9uQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC01NjA3LDYgKzU2MTcs
MTYgQEAKIAkJCXBhdGggPSBtYWM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9Owor
CQk5OTU1QTZFODFDNzk4MDkwMDBFQjZBOTMgLyogQXV0b21hdGlvbiAqLyA9IHsKKwkJCWlzYSA9
IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJOTk1NUE2RTkxQzc5ODBCQjAwRUI2QTkz
IC8qIEF1dG9tYXRpb24uanNvbiAqLywKKwkJCQk5OTU1QTZFQTFDNzk4MEJCMDBFQjZBOTMgLyog
V2ViQXV0b21hdGlvblNlc3Npb24uY3BwICovLAorCQkJCTk5NTVBNkVCMUM3OTgwQkIwMEVCNkE5
MyAvKiBXZWJBdXRvbWF0aW9uU2Vzc2lvbi5oICovLAorCQkJKTsKKwkJCXBhdGggPSBBdXRvbWF0
aW9uOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIAkJQTE4MkQ1QjExQkU2QkNG
NDAwODdBN0NDIC8qIGlvcyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4g
PSAoCkBAIC01ODAxLDYgKzU4MjEsNyBAQAogCQkJY2hpbGRyZW4gPSAoCiAJCQkJQkMwMzJEQzQx
MEY0Mzg3QzAwNThDMTVBIC8qIEFQSSAqLywKIAkJCQk1MTJGNTg4RDEyQTg4MzZGMDA2Mjk1MzAg
LyogQXV0aGVudGljYXRpb24gKi8sCisJCQkJOTk1NUE2RTgxQzc5ODA5MDAwRUI2QTkzIC8qIEF1
dG9tYXRpb24gKi8sCiAJCQkJMUFCQzNERjIxODk5RTQxNTAwNEYwNjI2IC8qIENvY29hICovLAog
CQkJCTFBQjdENEM3MTI4OEFBOUEwMENGRDA4QyAvKiBEb3dubG9hZHMgKi8sCiAJCQkJMkRBOTQ0
QTgxODg0RTlBQjAwRUQ4NkRCIC8qIGlvcyAqLywKQEAgLTU4NTIsOCArNTg3Myw2IEBACiAJCQkJ
MUEwRjI5RTExMjBCNDQ0MjAwNTNEMUI5IC8qIFZpc2l0ZWRMaW5rU3RvcmUuY3BwICovLAogCQkJ
CTFBMEYyOUUyMTIwQjQ0NDIwMDUzRDFCOSAvKiBWaXNpdGVkTGlua1N0b3JlLmggKi8sCiAJCQkJ
MUE2MDIyNDkxOEMxNkIwODAwQzNFOEM5IC8qIFZpc2l0ZWRMaW5rU3RvcmUubWVzc2FnZXMuaW4g
Ki8sCi0JCQkJOTkwRDI4QkQxQzY1NDkwQTAwOTg2OTc3IC8qIFdlYkF1dG9tYXRpb25TZXNzaW9u
LmNwcCAqLywKLQkJCQk5OTBEMjhCNTFDNjUyNkY1MDA5ODY5NzcgLyogV2ViQXV0b21hdGlvblNl
c3Npb24uaCAqLywKIAkJCQlCQzcyQkExQjExRTY0OTA3MDAxRUI0RUEgLyogV2ViQmFja0Zvcndh
cmRMaXN0LmNwcCAqLywKIAkJCQlCQzcyQkExQzExRTY0OTA3MDAxRUI0RUEgLyogV2ViQmFja0Zv
cndhcmRMaXN0LmggKi8sCiAJCQkJRjAzNjk3ODcxNUY0QkYwNTAwQzNBODBFIC8qIFdlYkNvbG9y
UGlja2VyLmNwcCAqLywKQEAgLTY4MjQsNiArNjg0MywxMCBAQAogCQkJCTFBNjQyMzA3MTJERDA5
RUIwMENBQUUyQyAvKiBEcmF3aW5nQXJlYVByb3h5TWVzc2FnZXMuaCAqLywKIAkJCQkxQUE1NzVG
RjE0OTZCN0MwMDBBNEVFMDYgLyogRXZlbnREaXNwYXRjaGVyTWVzc2FnZVJlY2VpdmVyLmNwcCAq
LywKIAkJCQkxQUE1NzYwMDE0OTZCN0MwMDBBNEVFMDYgLyogRXZlbnREaXNwYXRjaGVyTWVzc2Fn
ZXMuaCAqLywKKwkJCQk5OTU1QTZGMDFDNzk4NjY0MDBFQjZBOTMgLyogSW5zcGVjdG9yQmFja2Vu
ZERpc3BhdGNoZXJzLmNwcCAqLywKKwkJCQk5OTU1QTZGMTFDNzk4NjY0MDBFQjZBOTMgLyogSW5z
cGVjdG9yQmFja2VuZERpc3BhdGNoZXJzLmggKi8sCisJCQkJOTk1NUE2RjIxQzc5ODY2NDAwRUI2
QTkzIC8qIEluc3BlY3RvclByb3RvY29sT2JqZWN0cy5jcHAgKi8sCisJCQkJOTk1NUE2RjMxQzc5
ODY2NDAwRUI2QTkzIC8qIEluc3BlY3RvclByb3RvY29sT2JqZWN0cy5oICovLAogCQkJCTUxREQ5
RjI2MTYzNjdEQTIwMDE1NzhFOSAvKiBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzc01lc3Nh
Z2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJNTFERDlGMjcxNjM2N0RBMjAwMTU3OEU5IC8qIE5ldHdv
cmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzTWVzc2FnZXMuaCAqLywKIAkJCQk1MTdDRjBFMTE2M0E0
ODZDMDBDMjk1MEUgLyogTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uTWVzc2FnZVJlY2VpdmVyLmNw
cCAqLywKQEAgLTcxNjYsNiArNzE4OSw3IEBACiAJCQkJOTNFNkE0RUUxQkM1REQzOTAwRjhBMEU3
IC8qIF9XS0hpdFRlc3RSZXN1bHQuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzQTg4QjNCMUJDNzEw
RDkwMEFCQTVDMiAvKiBfV0tIaXRUZXN0UmVzdWx0SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAog
CQkJCTM3QTY0RTU1MThGMzhFM0MwMEVCMzBGMSAvKiBfV0tJbnB1dERlbGVnYXRlLmggaW4gSGVh
ZGVycyAqLywKKwkJCQk5OTU1QTZFRjFDNzk4MTA4MDBFQjZBOTMgLyogQXV0b21hdGlvbi5qc29u
IGluIEhlYWRlcnMgKi8sCiAJCQkJMkQ3OTBBOUQxQUQ3MDUwRDAwQUI5MEIzIC8qIF9XS0xheW91
dE1vZGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUExMThBOUYzMTkwOEI4RUEwMEY3QzkyQiAvKiBf
V0tOU0ZpbGVNYW5hZ2VyRXh0cmFzLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzIzNjExRTFCMDE1
REE4MDBGQTkyMzIgLyogX1dLT3ZlcmxheVNjcm9sbGJhclN0eWxlLmggaW4gSGVhZGVycyAqLywK
QEAgLTczNDYsMTIgKzczNzAsMTIgQEAKIAkJCQlFMUVFNTNFMzExRjhDRkMwMDBDQ0JFRTQgLyog
SW5qZWN0ZWRCdW5kbGVQYWdlRWRpdG9yQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzE0
RTEwQTEyMEI5MDVFMDA4MjZDMEMgLyogSW5qZWN0ZWRCdW5kbGVQYWdlRm9ybUNsaWVudC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNTEwNTIzODIxQzc1NDFGRjAwNzk5M0NCIC8qIExlZ2FjeVVuaXF1
ZUlEQkRhdGFiYXNlSWRlbnRpZmllci5oIGluIEhlYWRlcnMgKi8sCi0JCQkJOTkwRDI4QzExQzY1
NjI2NTAwOTg2OTc3IC8qIFdlYkF1dG9tYXRpb25TZXNzaW9uLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlDRDVDNjZBMTEzNEI5RDM4MDA0RkUyQTggLyogSW5qZWN0ZWRCdW5kbGVQYWdlRnVsbFNjcmVl
bkNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNBOEM2QTkxMUUzQkE1RjAwODEyRkI3IC8q
IEluamVjdGVkQnVuZGxlUGFnZUxvYWRlckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTEw
NTIzODAxQzc1NDFGRjAwNzk5M0NCIC8qIExlZ2FjeVVuaXF1ZUlEQkRhdGFiYXNlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlCQzgxNDdBOTEyRjY0Q0RBMDA3QjJDMzIgLyogSW5qZWN0ZWRCdW5kbGVQ
YWdlUG9saWN5Q2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0E4QzZCMDExRTNDMDg3MDA4
MTJGQjcgLyogSW5qZWN0ZWRCdW5kbGVQYWdlVUlDbGllbnQuaCBpbiBIZWFkZXJzICovLAorCQkJ
CTk5NTVBNkY3MUM3OTg2RTUwMEVCNkE5MyAvKiBJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuaCBp
biBIZWFkZXJzICovLAogCQkJCUJDMzNFMEQxMTI0MDhFODYwMDM2MEYzRiAvKiBJbmplY3RlZEJ1
bmRsZVJhbmdlSGFuZGxlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzE0REY3NzEyMEI1Qjc5MDA4
MjZDMEMgLyogSW5qZWN0ZWRCdW5kbGVTY3JpcHRXb3JsZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QzU4Q0RGMkExODg3NTQ4QjAwODcxNTM2IC8qIEludGVyYWN0aW9uSW5mb3JtYXRpb25BdFBvc2l0
aW9uLmggaW4gSGVhZGVycyAqLywKQEAgLTc0MTYsNiArNzQ0MCw3IEBACiAJCQkJRTE0QTk1NEEx
NkUwMTZBNDAwNjhERTgyIC8qIE5ldHdvcmtQcm9jZXNzUGxhdGZvcm1TdHJhdGVnaWVzLmggaW4g
SGVhZGVycyAqLywKIAkJCQk1MTc5NTU2RTE2Mjg3N0IzMDBGQTQzQjYgLyogTmV0d29ya1Byb2Nl
c3NQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTEzQTE2M0QxNjMwODhGNjAwNUQ3RDIyIC8q
IE5ldHdvcmtQcm9jZXNzUHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJOTk1NUE2
RjUxQzc5ODZFMDAwRUI2QTkzIC8qIEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNTFGRDE4QjYxNjUxRkJBRDAwREJFMUNFIC8qIE5ldHdvcmtSZXNvdXJj
ZUxvYWRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTE1MjU1MUIxNzAxMTgxOTAwM0Q3QURCIC8q
IE5ldHdvcmtSZXNvdXJjZUxvYWRlck1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1QzIw
Q0JBMDFCQjFFQ0Q4MDA4OTVCQjEgLyogTmV0d29ya1Nlc3Npb24uaCBpbiBIZWFkZXJzICovLApA
QCAtNzUxOCw2ICs3NTQzLDcgQEAKIAkJCQkxQTAwMkQ0OTE5NkIzNDVEMDBCOUFENDQgLyogU2Vz
c2lvblN0YXRlQ29kaW5nLmggaW4gSGVhZGVycyAqLywKIAkJCQk3NTNFM0UwRTE4ODczOTg5MDAx
ODg0OTYgLyogU2Vzc2lvblRyYWNrZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTk5QzgxRDVBMUMy
MEU3RTIwMDVDNEM4MiAvKiBBdXRvbWF0aW9uQ2xpZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQk5
OTU1QTZFQzFDNzk4MEMyMDBFQjZBOTMgLyogV2ViQXV0b21hdGlvblNlc3Npb24uaCBpbiBIZWFk
ZXJzICovLAogCQkJCTFBNjQyMEU1MTJEQ0UyRkYwMENBQUUyQyAvKiBTaGFyZWFibGVCaXRtYXAu
aCBpbiBIZWFkZXJzICovLAogCQkJCTUxMjE3NDYxMTY0QzIwRTMwMDM3QTVDMSAvKiBTaGFyZWFi
bGVSZXNvdXJjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUEyNEJFRDUxMjA4OTREMTAwRkJCMDU5
IC8qIFNoYXJlZE1lbW9yeS5oIGluIEhlYWRlcnMgKi8sCkBAIC04NjA2LDcgKzg2MzIsNyBAQAog
CQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQkJc2hl
bGxQYXRoID0gL2Jpbi9zaDsKLQkJCXNoZWxsU2NyaXB0ID0gIm1rZGlyIC1wIFwiJHtCVUlMVF9Q
Uk9EVUNUU19ESVJ9L0Rlcml2ZWRTb3VyY2VzL1dlYktpdDJcIlxuY2QgXCIke0JVSUxUX1BST0RV
Q1RTX0RJUn0vRGVyaXZlZFNvdXJjZXMvV2ViS2l0MlwiXG5cbmV4cG9ydCBXZWJLaXQyPVwiJHtT
UkNST09UfVwiXG5cbmlmIFsgISAkQ0MgXTsgdGhlblxuICAgIGV4cG9ydCBDQz1cImB4Y3J1biAt
ZmluZCBjbGFuZ2BcIlxuZmlcblxuTUFLRUZJTEVfSU5DTFVERV9GTEFHUz0kKGVjaG8gXCIke1dF
QktJVEFERElUSU9OU19IRUFERVJfU0VBUkNIX1BBVEhTfVwiIHwgcGVybCAtZSAncHJpbnQgXCIt
SVwiIC4gam9pbihcIiAtSVwiLCBzcGxpdChcIiBcIiwgPD4pKTsnKVxuXG5pZiBbIFwiJHtBQ1RJ
T059XCIgPSBcImJ1aWxkXCIgLW8gXCIke0FDVElPTn1cIiA9IFwiaW5zdGFsbFwiIC1vIFwiJHtB
Q1RJT059XCIgPSBcImluc3RhbGxoZHJzXCIgXTsgdGhlblxuICAgIG1ha2UgLS1uby1idWlsdGlu
LXJ1bGVzICR7TUFLRUZJTEVfSU5DTFVERV9GTEFHU30gLWYgXCIke1dlYktpdDJ9L0Rlcml2ZWRT
b3VyY2VzLm1ha2VcIiAtaiBgL3Vzci9zYmluL3N5c2N0bCAtbiBody5hY3RpdmVjcHVgIFNES1JP
T1Q9JHtTREtST09UfVxuZmlcbiI7CisJCQlzaGVsbFNjcmlwdCA9ICJta2RpciAtcCBcIiR7QlVJ
TFRfUFJPRFVDVFNfRElSfS9EZXJpdmVkU291cmNlcy9XZWJLaXQyXCJcbmNkIFwiJHtCVUlMVF9Q
Uk9EVUNUU19ESVJ9L0Rlcml2ZWRTb3VyY2VzL1dlYktpdDJcIlxuXG5leHBvcnQgV2ViS2l0Mj1c
IiR7U1JDUk9PVH1cIlxuXG4vYmluL2xuIC1zZmggXCIke0pBVkFTQ1JJUFRDT1JFX1BSSVZBVEVf
SEVBREVSU19ESVJ9XCIgSmF2YVNjcmlwdENvcmVQcml2YXRlSGVhZGVyc1xuZXhwb3J0IEphdmFT
Y3JpcHRDb3JlX1NDUklQVFNfRElSPVwiSmF2YVNjcmlwdENvcmVQcml2YXRlSGVhZGVyc1wiXG5c
bmlmIFsgISAkQ0MgXTsgdGhlblxuICAgIGV4cG9ydCBDQz1cImB4Y3J1biAtZmluZCBjbGFuZ2Bc
IlxuZmlcblxuTUFLRUZJTEVfSU5DTFVERV9GTEFHUz0kKGVjaG8gXCIke1dFQktJVEFERElUSU9O
U19IRUFERVJfU0VBUkNIX1BBVEhTfVwiIHwgcGVybCAtZSAncHJpbnQgXCItSVwiIC4gam9pbihc
IiAtSVwiLCBzcGxpdChcIiBcIiwgPD4pKTsnKVxuXG5pZiBbIFwiJHtBQ1RJT059XCIgPSBcImJ1
aWxkXCIgLW8gXCIke0FDVElPTn1cIiA9IFwiaW5zdGFsbFwiIC1vIFwiJHtBQ1RJT059XCIgPSBc
Imluc3RhbGxoZHJzXCIgXTsgdGhlblxuICAgIG1ha2UgLS1uby1idWlsdGluLXJ1bGVzICR7TUFL
RUZJTEVfSU5DTFVERV9GTEFHU30gLWYgXCIke1dlYktpdDJ9L0Rlcml2ZWRTb3VyY2VzLm1ha2Vc
IiAtaiBgL3Vzci9zYmluL3N5c2N0bCAtbiBody5hY3RpdmVjcHVgIFNES1JPT1Q9JHtTREtST09U
fVxuZmlcbiI7CiAJCX07CiAvKiBFbmQgUEJYU2hlbGxTY3JpcHRCdWlsZFBoYXNlIHNlY3Rpb24g
Ki8KIApAQCAtODY0MSw2ICs4NjY3LDcgQEAKIAkJCWZpbGVzID0gKAogCQkJCTM3QTVFMDEzMThC
QkY5MzcwMDBBMDgxRSAvKiBfV0tBY3RpdmF0ZWRFbGVtZW50SW5mby5tbSBpbiBTb3VyY2VzICov
LAogCQkJCTFBNTcwNEY3MUJFMDFGRjQwMDg3NEFGMSAvKiBfV0tDb250ZXh0TWVudUVsZW1lbnRJ
bmZvLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJOTk1NUE2RjQxQzc5ODZEQzAwRUI2QTkzIC8qIElu
c3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBMUE0RkU1
QjE4RENFOUZBMDBCNUVBOEEgLyogX1dLRG93bmxvYWQubW0gaW4gU291cmNlcyAqLywKIAkJCQkz
NzlBODczOTE4QkJGRTBGMDA1ODhBRjIgLyogX1dLRWxlbWVudEFjdGlvbi5tbSBpbiBTb3VyY2Vz
ICovLAogCQkJCTFBNTcwNEYxMUJFMDE3M0YwMDg3NEFGMSAvKiBfV0tFbGVtZW50SW5mby5tbSBp
biBTb3VyY2VzICovLApAQCAtOTAxNSw2ICs5MDQyLDcgQEAKIAkJCQkxQUMxMzM2NzE4NTY1QjU3
MDBGM0VDMDUgLyogVXNlckRhdGEuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTU3MzlCQkMxQjQy
MDQwMzAwRDI1OEMxIC8qIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlci5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk0QTNDQzE4QTE5QjA2M0U3MDBEMTRBRUYgLyogVXNlck1lZGlhUGVy
bWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJOTk1NUE2
RUQxQzc5ODBDQTAwRUI2QTkzIC8qIFdlYkF1dG9tYXRpb25TZXNzaW9uLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTRBM0NDMThDMTlCMDY0MTUwMEQxNEFFRiAvKiBVc2VyTWVkaWFQZXJtaXNzaW9u
UmVxdWVzdFByb3h5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUU0RTg2NDkyMUIxNjc1MDEwMEM4
MkY0MCAvKiBWZXJzaW9uQ2hlY2tzLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMkRBRjRGRkIxQjYz
NjE4MTAwNjAxM0Q2IC8qIFZpZXdHZXN0dXJlQ29udHJvbGxlci5jcHAgaW4gU291cmNlcyAqLywK
QEAgLTkxNDksNiArOTE3Nyw3IEBACiAJCQkJQkM4NTdGQjYxMkI4MzBFNjAwRURFQjJFIC8qIFdl
Yk9wZW5QYW5lbFBhcmFtZXRlcnMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM4NTdGODYxMkI4
MkQwQjAwRURFQjJFIC8qIFdlYk9wZW5QYW5lbFJlc3VsdExpc3RlbmVyLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUJDODU3RjdFMTJCODJDRUUwMEVERUIyRSAvKiBXZWJPcGVuUGFuZWxSZXN1bHRM
aXN0ZW5lclByb3h5LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTk5NTVBNkY2MUM3OTg2RTMwMEVC
NkE5MyAvKiBJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QkM5NjNENkIxMTNERDE5MjAwNTc0QkUyIC8qIFdlYlBhZ2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQzA2QzYwOTUxMjRDMTQ0QjAwMDE2ODJGIC8qIFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJODM3MkRCMjgxQTY3NTYyODAwQzY5N0M1IC8qIFdlYlBh
Z2VEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTkzMzUsNyAr
OTM2NCw2IEBACiAJCQkJQzk4QzQ4QTkxQjZGRDVCNTAwMTQ1MTAzIC8qIFdLTWVkaWFTZXNzaW9u
Rm9jdXNNYW5hZ2VyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUM5Q0Q0MzlFMUI0QjAyNTMwMDIz
OUUzMyAvKiBXS01lZGlhU2Vzc2lvbk1ldGFkYXRhLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJD
NDA3NUZEMTI0RkYwMjcwMDY4RjIwQSAvKiBXS011dGFibGVBcnJheS5jcHAgaW4gU291cmNlcyAq
LywKLQkJCQk5OTBEMjhCRjFDNjU0RDM5MDA5ODY5NzcgLyogV2ViQXV0b21hdGlvblNlc3Npb24u
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM0MDc1RkYxMjRGRjAyNzAwNjhGMjBBIC8qIFdLTXV0
YWJsZURpY3Rpb25hcnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE1QjFDNTAxODk4NjA2RjAw
NEZDRjlCIC8qIFdLTmF2aWdhdGlvbi5tbSBpbiBTb3VyY2VzICovLAogCQkJCTFBMjU2RTM3MThB
MUE3ODgwMDZGQjkyMiAvKiBXS05hdmlnYXRpb25BY3Rpb24ubW0gaW4gU291cmNlcyAqLywK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>271989</attachid>
            <date>2016-02-22 22:18:26 -0800</date>
            <delta_ts>2016-02-22 23:18:37 -0800</delta_ts>
            <desc>For Landing</desc>
            <filename>bug-154509-20160222221808.patch</filename>
            <type>text/plain</type>
            <size>48850</size>
            <attacher name="Blaze Burg">bburg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk2OTY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBm
ZDFiNjg2YmNmMGQwMGU1OGMzNDRlZDdiMGM2YzA3MGU3YmUwYTk0Li41NDBkZmM4M2Y5NmIyNTFl
YmE2ZWNjNTM4ZTAyZmU2NmY5M2UzYzcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyOSBAQAorMjAxNi0wMi0yMiAgQnJpYW4gQnVyZyAgPGJidXJnQGFwcGxlLmNvbT4KKwor
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBhZGQgJ0F1dG9tYXRpb24nIHByb3RvY29sIGRvbWFpbiBh
bmQgZ2VuZXJhdGUgaXRzIGJhY2tlbmQgY2xhc3NlcyBzZXBhcmF0ZWx5IGluIFdlYktpdDIKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NDUwOQorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vMjQ3NTkwOTg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVGlt
b3RoeSBIYXRjaGVyLgorCisgICAgICAgIEFkZCBhIG5ldyAnV2ViS2l0JyBmcmFtZXdvcmssIHdo
aWNoIGlzIHVzZWQgdG8gZ2VuZXJhdGUgcHJvdG9jb2wgY29kZQorICAgICAgICBpbiBXZWJLaXQy
LgorCisgICAgICAgIEFkZCAtLWJhY2tlbmQgYW5kIC0tZnJvbnRlbmQgZmxhZ3MgdG8gdGhlIG1h
aW4gZ2VuZXJhdG9yIHNjcmlwdC4KKyAgICAgICAgVGhlc2UgYWxsb3cgYSBmcmFtZXdvcmsgdG8g
dHJpZ2dlciB0d28gZGlmZmVyZW50IHNldHMgb2YgZ2VuZXJhdG9ycworICAgICAgICBzbyB0aGV5
IGNhbiBiZSBzZXBhcmF0ZWx5IGdlbmVyYXRlZCBhbmQgY29tcGlsZWQuCisKKyAgICAgICAgKiBp
bnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL21vZGVscy5weToKKyAgICAgICAgKEZyYW1ld29yay5m
cm9tU3RyaW5nKToKKyAgICAgICAgKEZyYW1ld29ya3MpOiBBZGQgbmV3IGZyYW1ld29yay4KKwor
ICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC1i
aW5kaW5ncy5weToKKyAgICAgICAgSWYgbmVpdGhlciAtLWJhY2tlbmQgb3IgLS1mcm9udGVuZCBp
cyBzcGVjaWZpZWQsIGFzc3VtZSBib3RoIGFyZSB3YW50ZWQuCisgICAgICAgIFRoaXMgbWF0Y2hl
cyB0aGUgYmVoYXZpb3IgZm9yIEphdmFTY3JpcHRDb3JlIGFuZCBXZWJJbnNwZWN0b3IgZnJhbWV3
b3Jrcy4KKworICAgICAgICAoZ2VuZXJhdGVfZnJvbV9zcGVjaWZpY2F0aW9uKToKKyAgICAgICAg
R2VuZXJhdGUgQysrIGZpbGVzIGZvciB0aGUgYmFja2VuZCBhbmQgT2JqZWN0aXZlLUMgZmlsZXMg
Zm9yIHRoZSBmcm9udGVuZC4KKwogMjAxNi0wMi0yMiAgU2FhbSBiYXJhdGkgIDxzYmFyYXRpQGFw
cGxlLmNvbT4KIAogICAgICAgICBKU0dsb2JhbE9iamVjdCBkb2Vzbid0IHZpc2l0IFByb3h5T2Jq
ZWN0U3RydWN0dXJlIGR1cmluZyBHQwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDJkNDIxNGIzNDMyMjU2ZDE4ZGFh
NTMxZjI2OWJhNDdmZTk0OGFlYjQuLjc5NGYzNmFhZjk2MDg2NWNmM2Y5ZTdlMWYyODYyOGY3ZGFm
N2MwZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0OSBAQAorMjAxNi0wMi0yMiAgQnJpYW4gQnVy
ZyAgPGJidXJnQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBhZGQgJ0F1dG9t
YXRpb24nIHByb3RvY29sIGRvbWFpbiBhbmQgZ2VuZXJhdGUgaXRzIGJhY2tlbmQgY2xhc3NlcyBz
ZXBhcmF0ZWx5IGluIFdlYktpdDIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE1NDUwOQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjQ3NTkwOTg+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgVGltb3RoeSBIYXRjaGVyLgorCisgICAgICAgIEFkZCBhIG5l
dyAnQXV0b21hdGlvbicgZG9tYWluIHdoaWNoIHByZXNlbnRzIGFuIFJQQyBpbnRlcmZhY2UKKyAg
ICAgICAgZm9yIHNlbmRpbmcgYXV0b21hdGlvbiBjb21tYW5kcyB0byBhbiBhY3RpdmUgV2ViQXV0
b21hdGlvblNlc3Npb24KKyAgICAgICAgaW4gdGhlIFVJUHJvY2VzcyB2aWEgUmVtb3RlSW5zcGVj
dG9yLiBUaGlzIGlzIHNpbWlsYXIgdG8gaG93IHRoZQorICAgICAgICBJbnNwZWN0b3IgYmFja2Vu
ZCBjb21tdW5pY2F0ZXMgYmlkaXJlY3Rpb25hbGx5IHdpdGggYSByZW1vdGUKKyAgICAgICAgSW5z
cGVjdG9yIGZyb250ZW5kLgorCisgICAgICAgIEFkZCBidWlsZCBzeXN0ZW0gbG9naWMgdG8gZ2Vu
ZXJhdGUgSlNPTi1SUEMgcHJvdG9jb2wgYmluZGluZ3MKKyAgICAgICAgZm9yIHRoZSAnQXV0b21h
dGlvbicgZG9tYWluIHVzaW5nIHRoZSBpbnNwZWN0b3IgY29kZSBnZW5lcmF0b3JzLgorCisgICAg
ICAgIE1vdmUgYXV0b21hdGlvbi1yZWxhdGVkIGZpbGVzIHRoYXQgYXJlIG5vdCBBUEkgb3IgU1BJ
IGludG8gdGhlaXIKKyAgICAgICAgb3duIGRpcmVjdG9yeS4KKworICAgICAgICAqIENvbmZpZ3Vy
YXRpb25zL0Jhc2VUYXJnZXQueGNjb25maWc6IFRlbGwgd2hlcmUgSmF2YVNjcmlwdENvcmUncwor
ICAgICAgICBwcml2YXRlIGhlYWRlcnMgYXJlLCBzaW5jZSB0aGF0J3Mgd2hlcmUgdGhlIGNvZGUg
Z2VuZXJhdG9ycyBsaXZlLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6IExvb2sgaW4gVUlQ
cm9jZXNzL0F1dG9tYXRpb24gZGlyZWN0b3J5LgorICAgICAgICAqIFBsYXRmb3JtTWFjLmNtYWtl
OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6IEdlbmVyYXRlIHByb3RvY29sIGJpbmRp
bmdzIGZvciBhIHNpbmdsZSBkb21haW4uCisgICAgICAgIFRoZSBuYW1lcyBvZiB0aGUgZ2VuZXJh
dGVkIGZpbGVzIHdpbGwgYmUgaW1wcm92ZWQgaW4gYSBmb2xsb3ctdXAgcGF0Y2gKKyAgICAgICAg
c28gdGhhdCB0aGV5IGRvIG5vdCBjbGFzaCB3aXRoIGdlbmVyYXRlZCBmaWxlcyBpbiBKYXZhU2Ny
aXB0Q29yZS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BdXRvbWF0aW9uL0F1dG9tYXRpb24uanNv
bjogQWRkZWQuCisgICAgICAgICogVUlQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21hdGlvblNl
c3Npb24uY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkF1dG9t
YXRpb25TZXNzaW9uLmNwcC4KKyAgICAgICAgKFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb246
OldlYkF1dG9tYXRpb25TZXNzaW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0b21hdGlvblNl
c3Npb246On5XZWJBdXRvbWF0aW9uU2Vzc2lvbik6CisgICAgICAgIFNldCB1cCBhIGJhY2tlbmQg
ZGlzcGF0Y2hlciBhbmQgZnJvbnRlbmQgcm91dGVyLiBUaGV5IHdpbGwgYmUgdXNlZCBsYXRlci4K
KworICAgICAgICAoV2ViS2l0OjpXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6ZGlzcGF0Y2hNZXNzYWdl
RnJvbVJlbW90ZSk6CisgICAgICAgIEZvcndhcmQgbWVzc2FnZXMgZnJvbSB0aGUgcmVtb3RlIHRv
IHRoZSBiYWNrZW5kIGRpc3BhdGNoZXIuIFdoZW4KKyAgICAgICAgYW4gYWdlbnQgLyBjb21tYW5k
IGhhbmRsZXIgaXMgcmVnaXN0ZXJlZCwgaXQgd2lsbCByZWNlaXZlIHRoZSBtZXNzYWdlLgorCisg
ICAgICAgIChXZWJLaXQ6OldlYkF1dG9tYXRpb25TZXNzaW9uOjpjb25uZWN0KToKKyAgICAgICAg
KFdlYktpdDo6V2ViQXV0b21hdGlvblNlc3Npb246OmRpc2Nvbm5lY3QpOgorICAgICAgICBDb25u
ZW5jdCBhbmQgZGlzY29ubmVjdCB0aGUgZnJvbnRlbmQgcm91dGVyIHRvIHRoZSByZW1vdGUgY2hh
bm5lbC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNz
aW9uLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQXV0b21hdGlv
blNlc3Npb24uaC4KKyAgICAgICAgKiBXZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6
IEFkZCBhbmQgbW92ZSBmaWxlcy4KKwogMjAxNi0wMi0xNiAgQWRhIENoYW4gIDxhZGFjaGFuQGFw
cGxlLmNvbT4KIAogICAgICAgICBJbXBsZW1lbnQgYmFzaWMgZnVuY3Rpb25hbGl0eSBpbiBXZWJW
aWRlb0Z1bGxzY3JlZW5JbnRlcmZhY2VNYWMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9tb2RlbHMucHkgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9tb2RlbHMucHkKaW5kZXggZjRmYTQ0
ODRlZTE4ZTk2ZDk5ODkxZmU2ZGM4N2FhM2MzOTI4MDdkMC4uZjA5YjNjZjVhYWRkMzFhZjI3ZjY4
Nzg0YzU2YWQxODAzOTIxOWVlYiAxMDA3NTUKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vbW9kZWxzLnB5CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL21vZGVscy5weQpAQCAtNDUsNiArNDUsOCBA
QCBfRlJBTUVXT1JLX0NPTkZJR19NQVAgPSB7CiAgICAgICAgICJleHBvcnRfbWFjcm8iOiAiSlNf
RVhQT1JUX1BSSVZBVEUiLAogICAgICAgICAiYWx0ZXJuYXRlX2Rpc3BhdGNoZXJzIjogVHJ1ZSwK
ICAgICB9LAorICAgICJXZWJLaXQiOiB7CisgICAgfSwKICAgICAiV2ViSW5zcGVjdG9yIjogewog
ICAgIH0sCiAgICAgIyBVc2VkIGZvciBjb2RlIGdlbmVyYXRvciB0ZXN0cy4KQEAgLTc4LDYgKzgw
LDkgQEAgY2xhc3MgRnJhbWV3b3JrOgogICAgICAgICBpZiBmcmFtZXdvcmtTdHJpbmcgPT0gIkph
dmFTY3JpcHRDb3JlIjoKICAgICAgICAgICAgIHJldHVybiBGcmFtZXdvcmtzLkphdmFTY3JpcHRD
b3JlCiAKKyAgICAgICAgaWYgZnJhbWV3b3JrU3RyaW5nID09ICJXZWJLaXQiOgorICAgICAgICAg
ICAgcmV0dXJuIEZyYW1ld29ya3MuV2ViS2l0CisKICAgICAgICAgaWYgZnJhbWV3b3JrU3RyaW5n
ID09ICJXZWJJbnNwZWN0b3IiOgogICAgICAgICAgICAgcmV0dXJuIEZyYW1ld29ya3MuV2ViSW5z
cGVjdG9yCiAKQEAgLTkwLDYgKzk1LDcgQEAgY2xhc3MgRnJhbWV3b3JrOgogY2xhc3MgRnJhbWV3
b3JrczoKICAgICBHbG9iYWwgPSBGcmFtZXdvcmsoIkdsb2JhbCIpCiAgICAgSmF2YVNjcmlwdENv
cmUgPSBGcmFtZXdvcmsoIkphdmFTY3JpcHRDb3JlIikKKyAgICBXZWJLaXQgPSBGcmFtZXdvcmso
IldlYktpdCIpCiAgICAgV2ViSW5zcGVjdG9yID0gRnJhbWV3b3JrKCJXZWJJbnNwZWN0b3IiKQog
ICAgIFRlc3QgPSBGcmFtZXdvcmsoIlRlc3QiKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvZ2VuZXJhdGUtaW5zcGVjdG9yLXByb3RvY29sLWJp
bmRpbmdzLnB5IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9zY3JpcHRzL2dlbmVy
YXRlLWluc3BlY3Rvci1wcm90b2NvbC1iaW5kaW5ncy5weQppbmRleCBlYTEzOTQ1ZjA2ZTU3YjZj
Y2Q4YzdlMzVkZTUyMGNhNTI3Y2YwOTM0Li5hNTI4YTlkYjI1YzZjZTA4YTVlNDAxY2I4Mzk0Yzhm
ZmI5Nzg4NWExIDEwMDc1NQotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Nj
cmlwdHMvZ2VuZXJhdGUtaW5zcGVjdG9yLXByb3RvY29sLWJpbmRpbmdzLnB5CisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9nZW5lcmF0ZS1pbnNwZWN0b3ItcHJv
dG9jb2wtYmluZGluZ3MucHkKQEAgLTExMiw3ICsxMTIsOSBAQCBkZWYgZ2VuZXJhdGVfZnJvbV9z
cGVjaWZpY2F0aW9uKHByaW1hcnlfc3BlY2lmaWNhdGlvbl9maWxlcGF0aD1Ob25lLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25jYXRlbmF0ZV9vdXRwdXQ9RmFsc2UsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dHB1dF9kaXJwYXRoPU5vbmUsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGZvcmNlX291dHB1dD1GYWxzZSwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZnJhbWV3b3JrX25hbWU9IiIpOgorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBmcmFtZXdvcmtfbmFtZT0iIiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZ2VuZXJhdGVfZnJvbnRlbmQ9VHJ1ZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZ2VuZXJhdGVfYmFja2VuZD1UcnVlKToKIAogICAgIGRlZiBsb2FkX3NwZWNp
ZmljYXRpb24ocHJvdG9jb2wsIGZpbGVwYXRoLCBpc1N1cHBsZW1lbnRhbD1GYWxzZSk6CiAgICAg
ICAgIHRyeToKQEAgLTE0OCw2ICsxNTAsNyBAQCBkZWYgZ2VuZXJhdGVfZnJvbV9zcGVjaWZpY2F0
aW9uKHByaW1hcnlfc3BlY2lmaWNhdGlvbl9maWxlcGF0aD1Ob25lLAogICAgICAgICBnZW5lcmF0
b3JzLmFwcGVuZChPYmpDSGVhZGVyR2VuZXJhdG9yKHByb3RvY29sLCBwcmltYXJ5X3NwZWNpZmlj
YXRpb25fZmlsZXBhdGgpKQogICAgICAgICBnZW5lcmF0b3JzLmFwcGVuZChPYmpDSW50ZXJuYWxI
ZWFkZXJHZW5lcmF0b3IocHJvdG9jb2wsIHByaW1hcnlfc3BlY2lmaWNhdGlvbl9maWxlcGF0aCkp
CiAgICAgICAgIGdlbmVyYXRvcnMuYXBwZW5kKE9iakNQcm90b2NvbFR5cGVzSW1wbGVtZW50YXRp
b25HZW5lcmF0b3IocHJvdG9jb2wsIHByaW1hcnlfc3BlY2lmaWNhdGlvbl9maWxlcGF0aCkpCisK
ICAgICBlbGlmIHByb3RvY29sLmZyYW1ld29yayBpcyBGcmFtZXdvcmtzLkphdmFTY3JpcHRDb3Jl
OgogICAgICAgICBnZW5lcmF0b3JzLmFwcGVuZChKU0JhY2tlbmRDb21tYW5kc0dlbmVyYXRvcihw
cm90b2NvbCwgcHJpbWFyeV9zcGVjaWZpY2F0aW9uX2ZpbGVwYXRoKSkKICAgICAgICAgZ2VuZXJh
dG9ycy5hcHBlbmQoQ3BwQWx0ZXJuYXRlQmFja2VuZERpc3BhdGNoZXJIZWFkZXJHZW5lcmF0b3Io
cHJvdG9jb2wsIHByaW1hcnlfc3BlY2lmaWNhdGlvbl9maWxlcGF0aCkpCkBAIC0xNTcsNiArMTYw
LDE5IEBAIGRlZiBnZW5lcmF0ZV9mcm9tX3NwZWNpZmljYXRpb24ocHJpbWFyeV9zcGVjaWZpY2F0
aW9uX2ZpbGVwYXRoPU5vbmUsCiAgICAgICAgIGdlbmVyYXRvcnMuYXBwZW5kKENwcEZyb250ZW5k
RGlzcGF0Y2hlckltcGxlbWVudGF0aW9uR2VuZXJhdG9yKHByb3RvY29sLCBwcmltYXJ5X3NwZWNp
ZmljYXRpb25fZmlsZXBhdGgpKQogICAgICAgICBnZW5lcmF0b3JzLmFwcGVuZChDcHBQcm90b2Nv
bFR5cGVzSGVhZGVyR2VuZXJhdG9yKHByb3RvY29sLCBwcmltYXJ5X3NwZWNpZmljYXRpb25fZmls
ZXBhdGgpKQogICAgICAgICBnZW5lcmF0b3JzLmFwcGVuZChDcHBQcm90b2NvbFR5cGVzSW1wbGVt
ZW50YXRpb25HZW5lcmF0b3IocHJvdG9jb2wsIHByaW1hcnlfc3BlY2lmaWNhdGlvbl9maWxlcGF0
aCkpCisKKyAgICBlbGlmIHByb3RvY29sLmZyYW1ld29yayBpcyBGcmFtZXdvcmtzLldlYktpdCBh
bmQgZ2VuZXJhdGVfYmFja2VuZDoKKyAgICAgICAgZ2VuZXJhdG9ycy5hcHBlbmQoQ3BwQmFja2Vu
ZERpc3BhdGNoZXJIZWFkZXJHZW5lcmF0b3IocHJvdG9jb2wsIHByaW1hcnlfc3BlY2lmaWNhdGlv
bl9maWxlcGF0aCkpCisgICAgICAgIGdlbmVyYXRvcnMuYXBwZW5kKENwcEJhY2tlbmREaXNwYXRj
aGVySW1wbGVtZW50YXRpb25HZW5lcmF0b3IocHJvdG9jb2wsIHByaW1hcnlfc3BlY2lmaWNhdGlv
bl9maWxlcGF0aCkpCisgICAgICAgIGdlbmVyYXRvcnMuYXBwZW5kKENwcFByb3RvY29sVHlwZXNI
ZWFkZXJHZW5lcmF0b3IocHJvdG9jb2wsIHByaW1hcnlfc3BlY2lmaWNhdGlvbl9maWxlcGF0aCkp
CisgICAgICAgIGdlbmVyYXRvcnMuYXBwZW5kKENwcFByb3RvY29sVHlwZXNJbXBsZW1lbnRhdGlv
bkdlbmVyYXRvcihwcm90b2NvbCwgcHJpbWFyeV9zcGVjaWZpY2F0aW9uX2ZpbGVwYXRoKSkKKwor
ICAgIGVsaWYgcHJvdG9jb2wuZnJhbWV3b3JrIGlzIEZyYW1ld29ya3MuV2ViS2l0IGFuZCBnZW5l
cmF0ZV9mcm9udGVuZDoKKyAgICAgICAgIyBGSVhNRSA8cmRhcjovL3Byb2JsZW0vMjM0NjY5MjU+
OiBUaGlzIGxpc3Qgb2YgZ2VuZXJhdG9ycyBmb3IgdGhlIGZyb250ZW5kIGlzIGEgcGxhY2Vob2xk
ZXIuCisgICAgICAgIGdlbmVyYXRvcnMuYXBwZW5kKE9iakNDb252ZXJzaW9uSGVscGVyc0dlbmVy
YXRvcihwcm90b2NvbCwgcHJpbWFyeV9zcGVjaWZpY2F0aW9uX2ZpbGVwYXRoKSkKKyAgICAgICAg
Z2VuZXJhdG9ycy5hcHBlbmQoT2JqQ0Zyb250ZW5kRGlzcGF0Y2hlckltcGxlbWVudGF0aW9uR2Vu
ZXJhdG9yKHByb3RvY29sLCBwcmltYXJ5X3NwZWNpZmljYXRpb25fZmlsZXBhdGgpKQorICAgICAg
ICBnZW5lcmF0b3JzLmFwcGVuZChPYmpDUHJvdG9jb2xUeXBlc0ltcGxlbWVudGF0aW9uR2VuZXJh
dG9yKHByb3RvY29sLCBwcmltYXJ5X3NwZWNpZmljYXRpb25fZmlsZXBhdGgpKQorCiAgICAgZWxp
ZiBwcm90b2NvbC5mcmFtZXdvcmsgaXMgRnJhbWV3b3Jrcy5XZWJJbnNwZWN0b3I6CiAgICAgICAg
IGdlbmVyYXRvcnMuYXBwZW5kKE9iakNCYWNrZW5kRGlzcGF0Y2hlckhlYWRlckdlbmVyYXRvcihw
cm90b2NvbCwgcHJpbWFyeV9zcGVjaWZpY2F0aW9uX2ZpbGVwYXRoKSkKICAgICAgICAgZ2VuZXJh
dG9ycy5hcHBlbmQoT2JqQ0JhY2tlbmREaXNwYXRjaGVySW1wbGVtZW50YXRpb25HZW5lcmF0b3Io
cHJvdG9jb2wsIHByaW1hcnlfc3BlY2lmaWNhdGlvbl9maWxlcGF0aCkpCkBAIC0xOTAsMTQgKzIw
NiwxNSBAQCBkZWYgZ2VuZXJhdGVfZnJvbV9zcGVjaWZpY2F0aW9uKHByaW1hcnlfc3BlY2lmaWNh
dGlvbl9maWxlcGF0aD1Ob25lLAogCiAKIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6Ci0gICAg
YWxsb3dlZF9mcmFtZXdvcmtfbmFtZXMgPSBbJ0phdmFTY3JpcHRDb3JlJywgJ1dlYkluc3BlY3Rv
cicsICdUZXN0J10KKyAgICBhbGxvd2VkX2ZyYW1ld29ya19uYW1lcyA9IFsnSmF2YVNjcmlwdENv
cmUnLCAnV2ViSW5zcGVjdG9yJywgJ1dlYktpdCcsICdUZXN0J10KICAgICBjbGlfcGFyc2VyID0g
b3B0cGFyc2UuT3B0aW9uUGFyc2VyKHVzYWdlPSJ1c2FnZTogJXByb2cgW29wdGlvbnNdIFByaW1h
cnlQcm90b2NvbC5qc29uIFtTdXBwbGVtZW50YWxQcm90b2NvbC5qc29uIC4uLl0iKQogICAgIGNs
aV9wYXJzZXIuYWRkX29wdGlvbigiLW8iLCAiLS1vdXRwdXREaXIiLCBoZWxwPSJEaXJlY3Rvcnkg
d2hlcmUgZ2VuZXJhdGVkIGZpbGVzIHNob3VsZCBiZSB3cml0dGVuLiIpCiAgICAgY2xpX3BhcnNl
ci5hZGRfb3B0aW9uKCItLWZyYW1ld29yayIsIHR5cGU9ImNob2ljZSIsIGNob2ljZXM9YWxsb3dl
ZF9mcmFtZXdvcmtfbmFtZXMsIGhlbHA9IlRoZSBmcmFtZXdvcmsgdGhhdCB0aGUgcHJpbWFyeSBz
cGVjaWZpY2F0aW9uIGJlbG9uZ3MgdG8uIikKICAgICBjbGlfcGFyc2VyLmFkZF9vcHRpb24oIi0t
Zm9yY2UiLCBhY3Rpb249InN0b3JlX3RydWUiLCBoZWxwPSJGb3JjZSBvdXRwdXQgb2YgZ2VuZXJh
dGVkIHNjcmlwdHMsIGV2ZW4gaWYgbm90aGluZyBjaGFuZ2VkLiIpCiAgICAgY2xpX3BhcnNlci5h
ZGRfb3B0aW9uKCItdiIsICItLWRlYnVnIiwgYWN0aW9uPSJzdG9yZV90cnVlIiwgaGVscD0iTG9n
IGV4dHJhIG91dHB1dCBmb3IgZGVidWdnaW5nIHRoZSBnZW5lcmF0b3IgaXRzZWxmLiIpCiAgICAg
Y2xpX3BhcnNlci5hZGRfb3B0aW9uKCItdCIsICItLXRlc3QiLCBhY3Rpb249InN0b3JlX3RydWUi
LCBoZWxwPSJFbmFibGUgdGVzdCBtb2RlLiBVc2UgdW5pcXVlIG91dHB1dCBmaWxlbmFtZXMgY3Jl
YXRlZCBieSBwcmVwZW5kaW5nIHRoZSBpbnB1dCBmaWxlbmFtZS4iKQotCisgICAgY2xpX3BhcnNl
ci5hZGRfb3B0aW9uKCItLWZyb250ZW5kIiwgYWN0aW9uPSJzdG9yZV90cnVlIiwgaGVscD0iR2Vu
ZXJhdGUgY29kZSBmb3IgdGhlIGZyb250ZW5kLXNpZGUgb2YgdGhlIHByb3RvY29sIG9ubHkuIikK
KyAgICBjbGlfcGFyc2VyLmFkZF9vcHRpb24oIi0tYmFja2VuZCIsIGFjdGlvbj0ic3RvcmVfdHJ1
ZSIsIGhlbHA9IkdlbmVyYXRlIGNvZGUgZm9yIHRoZSBiYWNrZW5kLXNpZGUgb2YgdGhlIHByb3Rv
Y29sIG9ubHkuIikKICAgICBvcHRpb25zID0gTm9uZQogCiAgICAgYXJnX29wdGlvbnMsIGFyZ192
YWx1ZXMgPSBjbGlfcGFyc2VyLnBhcnNlX2FyZ3MoKQpAQCAtMjEwLDEzICsyMjcsMjIgQEAgaWYg
X19uYW1lX18gPT0gJ19fbWFpbl9fJzoKICAgICBpZiBhcmdfb3B0aW9ucy5kZWJ1ZzoKICAgICAg
ICAgbG9nLnNldExldmVsKGxvZ2dpbmcuREVCVUcpCiAKKyAgICBnZW5lcmF0ZV9iYWNrZW5kID0g
YXJnX29wdGlvbnMuYmFja2VuZDsKKyAgICBnZW5lcmF0ZV9mcm9udGVuZCA9IGFyZ19vcHRpb25z
LmZyb250ZW5kOworICAgICMgRGVmYXVsdCB0byBnZW5lcmF0aW5nIGJvdGggdGhlIGZyb250ZW5k
IGFuZCBiYWNrZW5kIGlmIG5laXRoZXIgaXMgc3BlY2lmaWVkLgorICAgIGlmIG5vdCBnZW5lcmF0
ZV9iYWNrZW5kIGFuZCBub3QgZ2VuZXJhdGVfZnJvbnRlbmQ6CisgICAgICAgIGdlbmVyYXRlX2Jh
Y2tlbmQgPSBUcnVlCisgICAgICAgIGdlbmVyYXRlX2Zyb250ZW5kID0gVHJ1ZQorCiAgICAgb3B0
aW9ucyA9IHsKICAgICAgICAgJ3ByaW1hcnlfc3BlY2lmaWNhdGlvbl9maWxlcGF0aCc6IGFyZ192
YWx1ZXNbMF0sCiAgICAgICAgICdzdXBwbGVtZW50YWxfc3BlY2lmaWNhdGlvbl9maWxlcGF0aHMn
OiBhcmdfdmFsdWVzWzE6XSwKICAgICAgICAgJ291dHB1dF9kaXJwYXRoJzogYXJnX29wdGlvbnMu
b3V0cHV0RGlyLAogICAgICAgICAnY29uY2F0ZW5hdGVfb3V0cHV0JzogYXJnX29wdGlvbnMudGVz
dCwKICAgICAgICAgJ2ZyYW1ld29ya19uYW1lJzogYXJnX29wdGlvbnMuZnJhbWV3b3JrLAotICAg
ICAgICAnZm9yY2Vfb3V0cHV0JzogYXJnX29wdGlvbnMuZm9yY2UKKyAgICAgICAgJ2ZvcmNlX291
dHB1dCc6IGFyZ19vcHRpb25zLmZvcmNlLAorICAgICAgICAnZ2VuZXJhdGVfYmFja2VuZCc6IGdl
bmVyYXRlX2JhY2tlbmQsCisgICAgICAgICdnZW5lcmF0ZV9mcm9udGVuZCc6IGdlbmVyYXRlX2Zy
b250ZW5kLAogICAgIH0KIAogICAgIHRyeToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NN
YWtlTGlzdHMudHh0IGIvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQKaW5kZXggOWFmZDE1
YTlkNWFmN2I3YzMyNzgxMWZlYTMwYjYzMTRiN2MwMDUwMC4uNjQzNTk2MDUwOTYxNmE1YTUxZGVm
N2JlY2UyMTEyMzhiYTY1MDMwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0
cy50eHQKKysrIGIvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQKQEAgLTI5LDYgKzI5LDcg
QEAgc2V0KFdlYktpdDJfSU5DTFVERV9ESVJFQ1RPUklFUwogICAgICIke1dFQktJVDJfRElSfS9V
SVByb2Nlc3MvQVBJL0MiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1VJUHJvY2Vzcy9BUEkvY3BwIgog
ICAgICIke1dFQktJVDJfRElSfS9VSVByb2Nlc3MvQXV0aGVudGljYXRpb24iCisgICAgIiR7V0VC
S0lUMl9ESVJ9L1VJUHJvY2Vzcy9BdXRvbWF0aW9uIgogICAgICIke1dFQktJVDJfRElSfS9VSVBy
b2Nlc3MvRGF0YWJhc2VzIgogICAgICIke1dFQktJVDJfRElSfS9VSVByb2Nlc3MvRG93bmxvYWRz
IgogICAgICIke1dFQktJVDJfRElSfS9VSVByb2Nlc3MvSW5zcGVjdG9yU2VydmVyIgpAQCAtMTU1
LDYgKzE1Niw4IEBAIHNldChXZWJLaXQyX0lOQ0xVREVfRElSRUNUT1JJRVMKICAgICAiJHtDTUFL
RV9TT1VSQ0VfRElSfS9XZWJLaXRMaWJyYXJpZXMiCiApCiAKK3NldChQUk9UT0NPTF9HRU5FUkFU
T1JfU0NSSVBUU19ESVIgIiR7SkFWQVNDUklQVENPUkVfRElSfS9pbnNwZWN0b3Ivc2NyaXB0cyIp
CisKIHNldChXZWJLaXQyX1NZU1RFTV9JTkNMVURFX0RJUkVDVE9SSUVTCiAgICAgJHtJQ1VfSU5D
TFVERV9ESVJTfQogKQpAQCAtNzcwLDYgKzc3Myw0MCBAQCBXRUJLSVRfSU5DTFVERV9DT05GSUdf
RklMRVNfSUZfRVhJU1RTKCkKIAogR0VORVJBVEVfV0VCS0lUMl9NRVNTQUdFX1NPVVJDRVMoV2Vi
S2l0Ml9ERVJJVkVEX1NPVVJDRVMgIiR7V2ViS2l0Ml9NRVNTQUdFU19JTl9GSUxFU30iKQogCitz
ZXQoV2ViS2l0Ml9BVVRPTUFUSU9OX1BST1RPQ09MX0dFTkVSQVRPUl9TQ1JJUFRTCisgICAgJHtQ
Uk9UT0NPTF9HRU5FUkFUT1JfU0NSSVBUU19ESVJ9L2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2Nv
bC1iaW5kaW5ncy5weQorICAgICR7UFJPVE9DT0xfR0VORVJBVE9SX1NDUklQVFNfRElSfS9jb2Rl
Z2VuL2NwcF9nZW5lcmF0b3IucHkKKyAgICAke1BST1RPQ09MX0dFTkVSQVRPUl9TQ1JJUFRTX0RJ
Un0vY29kZWdlbi9jcHBfZ2VuZXJhdG9yX3RlbXBsYXRlcy5weQorICAgICR7UFJPVE9DT0xfR0VO
RVJBVE9SX1NDUklQVFNfRElSfS9jb2RlZ2VuL2dlbmVyYXRlX2NwcF9iYWNrZW5kX2Rpc3BhdGNo
ZXJfaGVhZGVyLnB5CisgICAgJHtQUk9UT0NPTF9HRU5FUkFUT1JfU0NSSVBUU19ESVJ9L2NvZGVn
ZW4vZ2VuZXJhdGVfY3BwX2JhY2tlbmRfZGlzcGF0Y2hlcl9pbXBsZW1lbnRhdGlvbi5weQorICAg
ICR7UFJPVE9DT0xfR0VORVJBVE9SX1NDUklQVFNfRElSfS9jb2RlZ2VuL2dlbmVyYXRlX2NwcF9w
cm90b2NvbF90eXBlc19oZWFkZXIucHkKKyAgICAke1BST1RPQ09MX0dFTkVSQVRPUl9TQ1JJUFRT
X0RJUn0vY29kZWdlbi9nZW5lcmF0ZV9jcHBfcHJvdG9jb2xfdHlwZXNfaW1wbGVtZW50YXRpb24u
cHkKKyAgICAke1BST1RPQ09MX0dFTkVSQVRPUl9TQ1JJUFRTX0RJUn0vY29kZWdlbi9nZW5lcmF0
b3IucHkKKyAgICAke1BST1RPQ09MX0dFTkVSQVRPUl9TQ1JJUFRTX0RJUn0vY29kZWdlbi9nZW5l
cmF0b3JfdGVtcGxhdGVzLnB5CisgICAgJHtQUk9UT0NPTF9HRU5FUkFUT1JfU0NSSVBUU19ESVJ9
L2NvZGVnZW4vbW9kZWxzLnB5CispCisKK3NldChXZWJLaXQyX0FVVE9NQVRJT05fUFJPVE9DT0xf
R0VORVJBVE9SX0lOUFVUUworICAgICR7V0VCS0lUMl9ESVJ9L1VJUHJvY2Vzcy9BdXRvbWF0aW9u
L0F1dG9tYXRpb24uanNvbgorKQorCithZGRfY3VzdG9tX2NvbW1hbmQoCisgICAgT1VUUFVUICR7
REVSSVZFRF9TT1VSQ0VTX1dFQktJVDJfRElSfS9JbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMu
aCAke0RFUklWRURfU09VUkNFU19XRUJLSVQyX0RJUn0vSW5zcGVjdG9yQmFja2VuZERpc3BhdGNo
ZXJzLmNwcCAke0RFUklWRURfU09VUkNFU19XRUJLSVQyX0RJUn0vSW5zcGVjdG9yUHJvdG9jb2xP
YmplY3RzLmggJHtERVJJVkVEX1NPVVJDRVNfV0VCS0lUMl9ESVJ9L0luc3BlY3RvclByb3RvY29s
T2JqZWN0cy5jcHAKKyAgICBNQUlOX0RFUEVOREVOQ1kgJHtXZWJLaXQyX0FVVE9NQVRJT05fUFJP
VE9DT0xfR0VORVJBVE9SX0lOUFVUU30KKyAgICBERVBFTkRTICR7V2ViS2l0Ml9BVVRPTUFUSU9O
X1BST1RPQ09MX0dFTkVSQVRPUl9TQ1JJUFRTfQorICAgIENPTU1BTkQgJHtQWVRIT05fRVhFQ1VU
QUJMRX0gJHtQUk9UT0NPTF9HRU5FUkFUT1JfU0NSSVBUU19ESVJ9L2dlbmVyYXRlLWluc3BlY3Rv
ci1wcm90b2NvbC1iaW5kaW5ncy5weSAtLW91dHB1dERpciAiJHtERVJJVkVEX1NPVVJDRVNfV0VC
S0lUMl9ESVJ9IiAtLWZyYW1ld29yayBXZWJLaXQgLS1iYWNrZW5kICR7V2ViS2l0Ml9BVVRPTUFU
SU9OX1BST1RPQ09MX0dFTkVSQVRPUl9JTlBVVFN9CisgICAgVkVSQkFUSU0pCisKK2xpc3QoQVBQ
RU5EIFdlYktpdDJfSEVBREVSUworICAgICR7REVSSVZFRF9TT1VSQ0VTX1dFQktJVDJfRElSfS9J
bnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuaAorICAgICR7REVSSVZFRF9TT1VSQ0VTX1dFQktJ
VDJfRElSfS9JbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuaAorKQorCitsaXN0KEFQUEVORCBXZWJL
aXQyX1NPVVJDRVMKKyAgICAke0RFUklWRURfU09VUkNFU19XRUJLSVQyX0RJUn0vSW5zcGVjdG9y
QmFja2VuZERpc3BhdGNoZXJzLmNwcAorICAgICR7REVSSVZFRF9TT1VSQ0VTX1dFQktJVDJfRElS
fS9JbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuY3BwCispCisKIFdFQktJVF9GUkFNRVdPUksoV2Vi
S2l0MikKIGFkZF9kZXBlbmRlbmNpZXMoV2ViS2l0MiBXZWJDb3JlICR7V0VCS0lUMl9FWFRSQV9E
RVBFTkRFTkNJRVN9KQogYWRkX3dlYmtpdDJfcHJlZml4X2hlYWRlcihXZWJLaXQyKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvQmFzZVRhcmdldC54Y2NvbmZpZyBi
L1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0Jhc2VUYXJnZXQueGNjb25maWcKaW5kZXgg
Y2M5NDdiOTE4YTRmMjA4OWYzMWQyZGNhMWI3NjcyMTVlZWViN2U0Yy4uYmVmY2E2ZWQ5ODkyMmJk
OTYwMzdlM2EzMTk2MTNkYjNhYWJhOTg3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ29u
ZmlndXJhdGlvbnMvQmFzZVRhcmdldC54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9Db25m
aWd1cmF0aW9ucy9CYXNlVGFyZ2V0LnhjY29uZmlnCkBAIC00Miw2ICs0MiwyMSBAQCBXRUJLSVRf
RlJBTUVXT1JLU19ESVIgPSAkKFdFQktJVF9GUkFNRVdPUktTX0RJUl9VU0VfT1ZFUlJJREVfRlJB
TUVXT1JLU19ESVJfJChXSwogV0VCS0lUX0ZSQU1FV09SS1NfRElSX1VTRV9PVkVSUklERV9GUkFN
RVdPUktTX0RJUl9OTyA9ICQoTk9STUFMX1dFQktJVF9GUkFNRVdPUktTX0RJUik7CiBXRUJLSVRf
RlJBTUVXT1JLU19ESVJfVVNFX09WRVJSSURFX0ZSQU1FV09SS1NfRElSX1lFUyA9ICQoV0tfT1ZF
UlJJREVfRlJBTUVXT1JLU19ESVIpOwogCitOT1JNQUxfUFJPRFVDVElPTl9GUkFNRVdPUktTX0RJ
UltzZGs9aXBob25lKl0gPSAkKFNES1JPT1QpJChTWVNURU1fTElCUkFSWV9ESVIpL1ByaXZhdGVG
cmFtZXdvcmtzOworTk9STUFMX1BST0RVQ1RJT05fRlJBTUVXT1JLU19ESVJbc2RrPW1hY29zeCpd
ID0gJChORVhUX1JPT1QpJChTWVNURU1fTElCUkFSWV9ESVIpL0ZyYW1ld29ya3M7CisKK1BST0RV
Q1RJT05fRlJBTUVXT1JLU19ESVJbc2RrPWlwaG9uZSpdID0gJChOT1JNQUxfUFJPRFVDVElPTl9G
UkFNRVdPUktTX0RJUik7CitQUk9EVUNUSU9OX0ZSQU1FV09SS1NfRElSID0gJChQUk9EVUNUSU9O
X0ZSQU1FV09SS1NfRElSX1VTRV9PVkVSUklERV9GUkFNRVdPUktTX0RJUl8kKFdLX1VTRV9PVkVS
UklERV9GUkFNRVdPUktTX0RJUikpOworUFJPRFVDVElPTl9GUkFNRVdPUktTX0RJUl9VU0VfT1ZF
UlJJREVfRlJBTUVXT1JLU19ESVJfTk8gPSAkKE5PUk1BTF9QUk9EVUNUSU9OX0ZSQU1FV09SS1Nf
RElSKTsKK1BST0RVQ1RJT05fRlJBTUVXT1JLU19ESVJfVVNFX09WRVJSSURFX0ZSQU1FV09SS1Nf
RElSX1lFUyA9ICQoV0tfT1ZFUlJJREVfRlJBTUVXT1JLU19ESVIpOworCitKQVZBU0NSSVBUQ09S
RV9QUklWQVRFX0hFQURFUlNfRElSID0gJChKQVZBU0NSSVBUQ09SRV9QUklWQVRFX0hFQURFUlNf
RElSXyQoQ09ORklHVVJBVElPTikpOworSkFWQVNDUklQVENPUkVfUFJJVkFURV9IRUFERVJTX0RJ
Ul9SZWxlYXNlID0gJChKQVZBU0NSSVBUQ09SRV9QUklWQVRFX0hFQURFUlNfZW5naW5lZXJpbmcp
OworSkFWQVNDUklQVENPUkVfUFJJVkFURV9IRUFERVJTX0RJUl9EZWJ1ZyA9ICQoSkFWQVNDUklQ
VENPUkVfUFJJVkFURV9IRUFERVJTX2VuZ2luZWVyaW5nKTsKK0pBVkFTQ1JJUFRDT1JFX1BSSVZB
VEVfSEVBREVSU19ESVJfUHJvZHVjdGlvbltzZGs9aXBob25lKl0gPSAkKFNES1JPT1QpLyQoU1lT
VEVNX0xJQlJBUllfRElSKS9GcmFtZXdvcmtzL0phdmFTY3JpcHRDb3JlLmZyYW1ld29yay9Qcml2
YXRlSGVhZGVyczsKK0pBVkFTQ1JJUFRDT1JFX1BSSVZBVEVfSEVBREVSU19ESVJfUHJvZHVjdGlv
bltzZGs9bWFjb3N4Kl0gPSAkKFNES1JPT1QpJChQUk9EVUNUSU9OX0ZSQU1FV09SS1NfRElSKS9K
YXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsvUHJpdmF0ZUhlYWRlcnM7CitKQVZBU0NSSVBUQ09SRV9Q
UklWQVRFX0hFQURFUlNfZW5naW5lZXJpbmcgPSAkKEJVSUxUX1BST0RVQ1RTX0RJUikvSmF2YVNj
cmlwdENvcmUuZnJhbWV3b3JrL1ByaXZhdGVIZWFkZXJzOworCiBVTUJSRUxMQV9GUkFNRVdPUktT
X0RJUiA9ICQoVU1CUkVMTEFfRlJBTUVXT1JLU19ESVJfJChDT05GSUdVUkFUSU9OKSk7CiBVTUJS
RUxMQV9GUkFNRVdPUktTX0RJUl9EZWJ1ZyA9ICQoVU1CUkVMTEFfRlJBTUVXT1JLU19ESVJfZW5n
aW5lZXJpbmcpOwogVU1CUkVMTEFfRlJBTUVXT1JLU19ESVJfUmVsZWFzZSA9ICQoVU1CUkVMTEFf
RlJBTUVXT1JLU19ESVJfZW5naW5lZXJpbmcpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
RGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJLaXQyL0Rlcml2ZWRTb3VyY2VzLm1ha2UK
aW5kZXggNWM1NzkxZDg4YjVjNDdhZjE0NzU5MjUxYTNkNTRkNDkwN2U0YzcyMC4uNmIzNGNjN2I4
NzdjMDYzNWVlZTYyNGYzYTY2NzYwNTVjMTdmYmQwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9EZXJpdmVkU291cmNl
cy5tYWtlCkBAIC01Niw2ICs1Niw3IEBAIFZQQVRIID0gXAogICAgICQoV2ViS2l0MikvV2ViUHJv
Y2Vzcy9pb3MgXAogICAgICQoV2ViS2l0MikvV2ViUHJvY2VzcyBcCiAgICAgJChXZWJLaXQyKS9V
SVByb2Nlc3MgXAorICAgICQoV2ViS2l0MikvVUlQcm9jZXNzL0F1dG9tYXRpb24gXAogICAgICQo
V2ViS2l0MikvVUlQcm9jZXNzL0NvY29hIFwKICAgICAkKFdlYktpdDIpL1VJUHJvY2Vzcy9EYXRh
YmFzZXMgXAogICAgICQoV2ViS2l0MikvVUlQcm9jZXNzL0Rvd25sb2FkcyBcCkBAIC0xOTIsMyAr
MTkzLDMxIEBAIGFsbDogJChTQU5EQk9YX1BST0ZJTEVTKQogJS5zYiA6ICUuc2IuaW4KIAlAZWNo
byBQcmUtcHJvY2Vzc2luZyAkKiBzYW5kYm94IHByb2ZpbGUuLi4KIAkkKENDKSAkKFNES19GTEFH
UykgJChURVhUX1BSRVBST0NFU1NPUl9GTEFHUykgJChGUkFNRVdPUktfRkxBR1MpICQoSEVBREVS
X0ZMQUdTKSAtaW5jbHVkZSAid3RmL1BsYXRmb3JtLmgiICQ8ID4gJEAKKworQVVUT01BVElPTl9Q
Uk9UT0NPTF9HRU5FUkFUT1JfU0NSSVBUUyA9IFwKKwkkKEphdmFTY3JpcHRDb3JlX1NDUklQVFNf
RElSKS9jcHBfZ2VuZXJhdG9yX3RlbXBsYXRlcy5weSBcCisJJChKYXZhU2NyaXB0Q29yZV9TQ1JJ
UFRTX0RJUikvY3BwX2dlbmVyYXRvci5weSBcCisJJChKYXZhU2NyaXB0Q29yZV9TQ1JJUFRTX0RJ
UikvZ2VuZXJhdGVfY3BwX2JhY2tlbmRfZGlzcGF0Y2hlcl9oZWFkZXIucHkgXAorCSQoSmF2YVNj
cmlwdENvcmVfU0NSSVBUU19ESVIpL2dlbmVyYXRlX2NwcF9iYWNrZW5kX2Rpc3BhdGNoZXJfaW1w
bGVtZW50YXRpb24ucHkgXAorCSQoSmF2YVNjcmlwdENvcmVfU0NSSVBUU19ESVIpL2dlbmVyYXRl
X2NwcF9wcm90b2NvbF90eXBlc19oZWFkZXIucHkgXAorCSQoSmF2YVNjcmlwdENvcmVfU0NSSVBU
U19ESVIpL2dlbmVyYXRlX2NwcF9wcm90b2NvbF90eXBlc19pbXBsZW1lbnRhdGlvbi5weSBcCisJ
JChKYXZhU2NyaXB0Q29yZV9TQ1JJUFRTX0RJUikvZ2VuZXJhdG9yX3RlbXBsYXRlcy5weSBcCisJ
JChKYXZhU2NyaXB0Q29yZV9TQ1JJUFRTX0RJUikvZ2VuZXJhdG9yLnB5IFwKKwkkKEphdmFTY3Jp
cHRDb3JlX1NDUklQVFNfRElSKS9tb2RlbHMucHkgXAorCSQoSmF2YVNjcmlwdENvcmVfU0NSSVBU
U19ESVIpL2dlbmVyYXRlLWluc3BlY3Rvci1wcm90b2NvbC1iaW5kaW5ncy5weSBcCisjCisKK0FV
VE9NQVRJT05fUFJPVE9DT0xfSU5QVVRfRklMRVMgPSBcCisgICAgJChXZWJLaXQyKS9VSVByb2Nl
c3MvQXV0b21hdGlvbi9BdXRvbWF0aW9uLmpzb24gXAorIworCitBVVRPTUFUSU9OX1BST1RPQ09M
X09VVFBVVF9GSUxFUyA9IFwKKyAgICBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuaCBcCisg
ICAgSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzLmNwcCBcCisjCisKKyMgSlNPTi1SUEMgQmFj
a2VuZCBEaXNwYXRjaGVycywgVHlwZSBCdWlsZGVycworJChBVVRPTUFUSU9OX1BST1RPQ09MX09V
VFBVVF9GSUxFUykgOiAkKEFVVE9NQVRJT05fUFJPVE9DT0xfSU5QVVRfRklMRVMpICQoQVVUT01B
VElPTl9QUk9UT0NPTF9HRU5FUkFUT1JfU0NSSVBUUykKKwkkKFBZVEhPTikgJChKYXZhU2NyaXB0
Q29yZV9TQ1JJUFRTX0RJUikvZ2VuZXJhdGUtaW5zcGVjdG9yLXByb3RvY29sLWJpbmRpbmdzLnB5
IC0tZnJhbWV3b3JrIFdlYktpdCAtLWJhY2tlbmQgLS1vdXRwdXREaXIgLiAkKEFVVE9NQVRJT05f
UFJPVE9DT0xfSU5QVVRfRklMRVMpCisKK2FsbCA6ICQoQVVUT01BVElPTl9QUk9UT0NPTF9PVVRQ
VVRfRklMRVMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybU1hYy5jbWFrZSBi
L1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtTWFjLmNtYWtlCmluZGV4IDkyZTNiOTAzNGYwMzNkODc2
ZTYyNmU1OTZkMTU0MDE0ZGVjZTA5MGYuLjEzNzMzZjE2MmVjMGU4OTYyMzNiOWFhYmFmMzE2MTdl
MTkzM2MzZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtTWFjLmNtYWtlCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtTWFjLmNtYWtlCkBAIC0xNDAsNyArMTQwLDggQEAg
bGlzdChBUFBFTkQgV2ViS2l0Ml9TT1VSQ0VTCiAgICAgU2hhcmVkL21hYy9XZWJNZW1vcnlTYW1w
bGVyLm1hYy5tbQogCiAgICAgVUlQcm9jZXNzL1ZpZXdHZXN0dXJlQ29udHJvbGxlci5jcHAKLSAg
ICBVSVByb2Nlc3MvV2ViQXV0b21hdGlvblNlc3Npb24uY3BwCisKKyAgICBVSVByb2Nlc3MvQXV0
b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5jcHAKIAogICAgIFVJUHJvY2Vzcy9BUEkvQVBJ
VXNlclNjcmlwdC5jcHAKICAgICBVSVByb2Nlc3MvQVBJL0FQSVVzZXJTdHlsZVNoZWV0LmNwcApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1dG9tYXRpb24vQXV0b21hdGlv
bi5qc29uIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1dG9tYXRpb24vQXV0b21hdGlvbi5q
c29uCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjM0NWM3MGI3ZDE0MGVkYjE3YjViY2FhNWI4M2ExZGM4YTY4ZDQwNzYK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQXV0b21hdGlvbi9B
dXRvbWF0aW9uLmpzb24KQEAgLTAsMCArMSw0MCBAQAoreworICAgICJkb21haW4iOiAiQXV0b21h
dGlvbiIsCisgICAgImRlc2NyaXB0aW9uIjogIkF1dG9tYXRpb24gZG9tYWluIGV4cG9zZXMgY29t
bWFuZHMgZm9yIGF1dG9tYXRpbmcgdXNlciBpbnRlcmFjdGlvbnMgd2l0aCB0aGUgYnJvd3Nlci4i
LAorICAgICJ0eXBlcyI6IFsKKyAgICAgICAgeworICAgICAgICAgICAgImlkIjogIk9wYXF1ZVdp
bmRvd0hhbmRsZSIsCisgICAgICAgICAgICAidHlwZSI6ICJzdHJpbmciLAorICAgICAgICAgICAg
ImRlc2NyaXB0aW9uIjogIkFuIG9wYXF1ZSBpZGVudGlmaWVyIGZvciBhIHdpbmRvdy4iCisgICAg
ICAgIH0sCisgICAgICAgIHsKKyAgICAgICAgICAgICJpZCI6ICJCcm93c2luZ1dpbmRvdyIsCisg
ICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAorICAgICAgICAgICAgImRlc2NyaXB0aW9uIjog
IkEgaGFuZGxlIHJlcHJlc2VudGluZyBhbiBvcGVuIHdpbmRvdyBvciB0YWIgaW4gdGhlIGF1dG9t
YXRpb24gc2Vzc2lvbi4iLAorICAgICAgICAgICAgInByb3BlcnRpZXMiOiBbCisgICAgICAgICAg
ICAgICAgeyAibmFtZSI6ICJoYW5kbGUiLCAiJHJlZiI6ICJPcGFxdWVXaW5kb3dIYW5kbGUiLCAi
ZGVzY3JpcHRpb24iOiAiT3BhcXVlIGhhbmRsZSBmb3IgdGhlIHdpbmRvdy4gVXNlZCBhcyBhIGtl
eSBmb3Igd2luZG93LXJlbGF0ZWQgY29tbWFuZHMuIiB9LAorICAgICAgICAgICAgICAgIHsgIm5h
bWUiOiAiYWN0aXZlIiwgInR5cGUiOiAiYm9vbGVhbiIsICJkZXNjcmlwdGlvbiI6ICJXaGV0aGVy
IHRoZSB3aW5kb3cgaXMgYWN0aXZlIGF0IHRoZSB0aW1lIHRoZSBjb21tYW5kIGlzIGhhbmRsZWQu
IiB9CisgICAgICAgICAgICBdCisgICAgICAgIH0KKyAgICBdLAorICAgICJjb21tYW5kcyI6IFsK
KyAgICAgICAgeworICAgICAgICAgICAgIm5hbWUiOiAiZ2V0V2luZG93cyIsCisgICAgICAgICAg
ICAicmV0dXJucyI6IFsKKyAgICAgICAgICAgICAgICB7ICJuYW1lIjogIndpbmRvd3MiLCAidHlw
ZSI6ICJhcnJheSIsICJpdGVtcyI6IHsgIiRyZWYiOiAiQnJvd3NpbmdXaW5kb3cifSwgImRlc2Ny
aXB0aW9uIjogIkFsbCBrbm93biB3aW5kb3dzIGFuZCB0YWJzIGluIHRoZSBicm93c2luZyBzZXNz
aW9uLiIgfQorICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJHZXRz
IGluZm9ybWF0aW9uIGFib3V0IGFsbCBvcGVuIHdpbmRvd3MgYW5kIHRhYnMgaW4gdGhlIGF1dG9t
YXRpb24gc2Vzc2lvbi4iCisgICAgICAgIH0sCisgICAgICAgIHsKKyAgICAgICAgICAgICJuYW1l
IjogIm9wZW5XaW5kb3ciLAorICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIk9wZW5zIGEgbmV3
IGF1dG9tYXRpb24gd2luZG93IGluIHRoZSBjdXJyZW50IGJyb3dzaW5nIGNvbnRleHQuIgorICAg
ICAgICB9LAorICAgICAgICB7CisgICAgICAgICAgICAibmFtZSI6ICJjbG9zZVdpbmRvdyIsCisg
ICAgICAgICAgICAicGFyYW1ldGVycyI6IFsKKyAgICAgICAgICAgICAgICB7ICJuYW1lIjogImhh
bmRsZSIsICIkcmVmIjogIk9wYXF1ZVdpbmRvd0hhbmRsZSIsICJkZXNjcmlwdGlvbiI6ICJUaGUg
aGFuZGxlIGZvciB0aGUgd2luZG93IHRoYXQgc2hvdWxkIGJlIGNsb3NlZC4iIH0KKyAgICAgICAg
ICAgIF0sCisgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQ2xvc2VzIHRoZSBzcGVjaWZpZWQg
d2luZG93LiIKKyAgICAgICAgfQorICAgIF0KK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BdXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uLmNwcApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi45YTQyMTJmYzExMzg1MDNmYWRkY2FkODE5MjM5ZjU3YTQ2ZGYyZTBhCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0F1dG9tYXRpb24vV2ViQXV0b21h
dGlvblNlc3Npb24uY3BwCkBAIC0wLDAgKzEsOTMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiV2ViQXV0b21hdGlvblNlc3Npb24uaCIKKworI2luY2x1ZGUg
IkFQSUF1dG9tYXRpb25TZXNzaW9uQ2xpZW50LmgiCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUv
SW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXIuaD4KKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9J
bnNwZWN0b3JGcm9udGVuZFJvdXRlci5oPgorCit1c2luZyBuYW1lc3BhY2UgSW5zcGVjdG9yOwor
CituYW1lc3BhY2UgV2ViS2l0IHsKKworV2ViQXV0b21hdGlvblNlc3Npb246OldlYkF1dG9tYXRp
b25TZXNzaW9uKCkKKyAgICA6IG1fY2xpZW50KHN0ZDo6bWFrZV91bmlxdWU8QVBJOjpBdXRvbWF0
aW9uU2Vzc2lvbkNsaWVudD4oKSkKKyAgICAsIG1fZnJvbnRlbmRSb3V0ZXIoRnJvbnRlbmRSb3V0
ZXI6OmNyZWF0ZSgpKQorICAgICwgbV9iYWNrZW5kRGlzcGF0Y2hlcihCYWNrZW5kRGlzcGF0Y2hl
cjo6Y3JlYXRlKG1fZnJvbnRlbmRSb3V0ZXIuY29weVJlZigpKSkKK3sKKyAgICAvLyBGSVhNRTog
dG8gYWN0dWFsbHkgaGFuZGxlIGluY29taW5nIGNvbW1hbmRzLCBhbiBhZ2VudCBuZWVkcyB0byBi
ZSBjcmVhdGVkCisgICAgLy8gYW5kIHJlZ2lzdGVyZWQgd2l0aCB0aGUgYmFja2VuZCBkaXNwYXRj
aGVyIGluIHRoZSBjb25zdHJ1Y3Rvci4KK30KKworV2ViQXV0b21hdGlvblNlc3Npb246On5XZWJB
dXRvbWF0aW9uU2Vzc2lvbigpCit7CisgICAgQVNTRVJUKCFtX2NsaWVudCk7Cit9CisKK3ZvaWQg
V2ViQXV0b21hdGlvblNlc3Npb246OnNldENsaWVudChzdGQ6OnVuaXF1ZV9wdHI8QVBJOjpBdXRv
bWF0aW9uU2Vzc2lvbkNsaWVudD4gY2xpZW50KQoreworICAgIG1fY2xpZW50ID0gV1RGTW92ZShj
bGllbnQpOworfQorCisvLyBOT1RFOiB0aGlzIGNsYXNzIGNvdWxkIGJlIHNwbGl0IGF0IHNvbWUg
cG9pbnQgdG8gc3VwcG9ydCBsb2NhbCBhbmQgcmVtb3RlIGF1dG9tYXRpb24gc2Vzc2lvbnMuCisv
LyBGb3Igbm93LCBpdCBvbmx5IHdvcmtzIHdpdGggYSByZW1vdGUgYXV0b21hdGlvbiBkcml2ZXIg
b3ZlciBhIFJlbW90ZUluc3BlY3RvciBjb25uZWN0aW9uLgorCisjaWYgRU5BQkxFKFJFTU9URV9J
TlNQRUNUT1IpCisKKy8vIEluc3BlY3Rvcjo6UmVtb3RlQXV0b21hdGlvblRhcmdldCBBUEkKKwor
dm9pZCBXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6ZGlzcGF0Y2hNZXNzYWdlRnJvbVJlbW90ZShjb25z
dCBTdHJpbmcmIG1lc3NhZ2UpCit7CisgICAgbV9iYWNrZW5kRGlzcGF0Y2hlci0+ZGlzcGF0Y2go
bWVzc2FnZSk7Cit9CisKK3ZvaWQgV2ViQXV0b21hdGlvblNlc3Npb246OmNvbm5lY3QoSW5zcGVj
dG9yOjpGcm9udGVuZENoYW5uZWwqIGNoYW5uZWwsIGJvb2wgaXNBdXRvbWF0aWNDb25uZWN0aW9u
KQoreworICAgIFVOVVNFRF9QQVJBTShpc0F1dG9tYXRpY0Nvbm5lY3Rpb24pOworCisgICAgbV9y
ZW1vdGVDaGFubmVsID0gY2hhbm5lbDsKKyAgICBtX2Zyb250ZW5kUm91dGVyLT5jb25uZWN0RnJv
bnRlbmQoY2hhbm5lbCk7CisKKyAgICBzZXRJc1BhaXJlZCh0cnVlKTsKK30KKwordm9pZCBXZWJB
dXRvbWF0aW9uU2Vzc2lvbjo6ZGlzY29ubmVjdChJbnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCog
Y2hhbm5lbCkKK3sKKyAgICBBU1NFUlQoY2hhbm5lbCA9PSBtX3JlbW90ZUNoYW5uZWwpOworCisg
ICAgbV9yZW1vdGVDaGFubmVsID0gbnVsbHB0cjsKKyAgICBtX2Zyb250ZW5kUm91dGVyLT5kaXNj
b25uZWN0RnJvbnRlbmQoY2hhbm5lbCk7CisKKyAgICBzZXRJc1BhaXJlZChmYWxzZSk7CisKKyAg
ICBpZiAobV9jbGllbnQpCisgICAgICAgIG1fY2xpZW50LT5kaWREaXNjb25uZWN0RnJvbVJlbW90
ZSh0aGlzKTsKK30KKworI2VuZGlmIC8vIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQorCit9IC8v
IG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
dXRvbWF0aW9uL1dlYkF1dG9tYXRpb25TZXNzaW9uLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdjMzlhN2Yx
NTU2ODZmOWQ2ODVmNGFlNzFkMTkzYmVkMjQ4MWVhY2EKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQXV0b21hdGlvbi9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5oCkBA
IC0wLDAgKzEsODQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdlYkF1dG9tYXRpb25TZXNzaW9u
X2gKKyNkZWZpbmUgV2ViQXV0b21hdGlvblNlc3Npb25faAorCisjaW5jbHVkZSAiQVBJT2JqZWN0
LmgiCisjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKworI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVD
VE9SKQorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1JlbW90ZUF1dG9tYXRpb25UYXJnZXQuaD4K
KyNlbmRpZgorCituYW1lc3BhY2UgQVBJIHsKK2NsYXNzIEF1dG9tYXRpb25TZXNzaW9uQ2xpZW50
OworfQorCituYW1lc3BhY2UgSW5zcGVjdG9yIHsKK2NsYXNzIEJhY2tlbmREaXNwYXRjaGVyOwor
Y2xhc3MgRnJvbnRlbmRSb3V0ZXI7Cit9CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBX
ZWJBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudDsKKworY2xhc3MgV2ViQXV0b21hdGlvblNlc3Npb24g
ZmluYWwgOiBwdWJsaWMgQVBJOjpPYmplY3RJbXBsPEFQSTo6T2JqZWN0OjpUeXBlOjpBdXRvbWF0
aW9uU2Vzc2lvbj4KKyNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKKyAgICAsIHB1YmxpYyBJ
bnNwZWN0b3I6OlJlbW90ZUF1dG9tYXRpb25UYXJnZXQKKyNlbmRpZgoreworcHVibGljOgorICAg
IFdlYkF1dG9tYXRpb25TZXNzaW9uKCk7CisgICAgfldlYkF1dG9tYXRpb25TZXNzaW9uKCk7CisK
KyAgICB2b2lkIHNldENsaWVudChzdGQ6OnVuaXF1ZV9wdHI8QVBJOjpBdXRvbWF0aW9uU2Vzc2lv
bkNsaWVudD4pOworCisgICAgdm9pZCBzZXRTZXNzaW9uSWRlbnRpZmllcihjb25zdCBTdHJpbmcm
IHNlc3Npb25JZGVudGlmaWVyKSB7IG1fc2Vzc2lvbklkZW50aWZpZXIgPSBzZXNzaW9uSWRlbnRp
ZmllcjsgfQorICAgIFN0cmluZyBzZXNzaW9uSWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1f
c2Vzc2lvbklkZW50aWZpZXI7IH0KKworI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQorICAg
IC8vIEluc3BlY3Rvcjo6UmVtb3RlQXV0b21hdGlvblRhcmdldCBBUEkKKyAgICB2aXJ0dWFsIFN0
cmluZyBuYW1lKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9zZXNzaW9uSWRlbnRpZmllcjsg
fQorICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaE1lc3NhZ2VGcm9tUmVtb3RlKGNvbnN0IFN0cmlu
ZyYgbWVzc2FnZSkgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGNvbm5lY3QoSW5zcGVjdG9y
OjpGcm9udGVuZENoYW5uZWwqLCBib29sIGlzQXV0b21hdGljQ29ubmVjdGlvbiA9IGZhbHNlKSBv
dmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlzY29ubmVjdChJbnNwZWN0b3I6OkZyb250ZW5k
Q2hhbm5lbCopIG92ZXJyaWRlOworI2VuZGlmCisKK3ByaXZhdGU6CisgICAgc3RkOjp1bmlxdWVf
cHRyPEFQSTo6QXV0b21hdGlvblNlc3Npb25DbGllbnQ+IG1fY2xpZW50OworICAgIFN0cmluZyBt
X3Nlc3Npb25JZGVudGlmaWVyIHsgQVNDSUlMaXRlcmFsKCJVbnRpdGxlZCBTZXNzaW9uIikgfTsK
KyAgICBSZWY8SW5zcGVjdG9yOjpGcm9udGVuZFJvdXRlcj4gbV9mcm9udGVuZFJvdXRlcjsKKyAg
ICBSZWY8SW5zcGVjdG9yOjpCYWNrZW5kRGlzcGF0Y2hlcj4gbV9iYWNrZW5kRGlzcGF0Y2hlcjsK
KworI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQorICAgIEluc3BlY3Rvcjo6RnJvbnRlbmRD
aGFubmVsKiBtX3JlbW90ZUNoYW5uZWwgeyBudWxscHRyIH07CisjZW5kaWYKK307CisKK30gLy8g
bmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gV2ViQXV0b21hdGlvblNlc3Npb25faApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkF1dG9tYXRpb25TZXNzaW9uLmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5jcHAKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI3NWQyNmJlY2FkOTY5ZTFkOWE4OGVjZjYxYzdl
MGUzMGZmMzkyMjEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkF1dG9tYXRpb25TZXNzaW9uLmNwcAorKysg
L2Rldi9udWxsCkBAIC0xLDc5ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
Ci0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0g
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmln
LmgiCi0jaW5jbHVkZSAiV2ViQXV0b21hdGlvblNlc3Npb24uaCIKLQotI2luY2x1ZGUgIkFQSUF1
dG9tYXRpb25TZXNzaW9uQ2xpZW50LmgiCi0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1XZWJBdXRv
bWF0aW9uU2Vzc2lvbjo6V2ViQXV0b21hdGlvblNlc3Npb24oKQotICAgIDogbV9jbGllbnQoc3Rk
OjptYWtlX3VuaXF1ZTxBUEk6OkF1dG9tYXRpb25TZXNzaW9uQ2xpZW50PigpKQotewotfQotCi1X
ZWJBdXRvbWF0aW9uU2Vzc2lvbjo6fldlYkF1dG9tYXRpb25TZXNzaW9uKCkKLXsKLSAgICBBU1NF
UlQoIW1fY2xpZW50KTsKLX0KLQotdm9pZCBXZWJBdXRvbWF0aW9uU2Vzc2lvbjo6c2V0Q2xpZW50
KHN0ZDo6dW5pcXVlX3B0cjxBUEk6OkF1dG9tYXRpb25TZXNzaW9uQ2xpZW50PiBjbGllbnQpCi17
Ci0gICAgbV9jbGllbnQgPSBXVEZNb3ZlKGNsaWVudCk7Ci19Ci0KLS8vIE5PVEU6IHRoaXMgY2xh
c3MgY291bGQgYmUgc3BsaXQgYXQgc29tZSBwb2ludCB0byBzdXBwb3J0IGxvY2FsIGFuZCByZW1v
dGUgYXV0b21hdGlvbiBzZXNzaW9ucy4KLS8vIEZvciBub3csIGl0IG9ubHkgd29ya3Mgd2l0aCBh
IHJlbW90ZSBhdXRvbWF0aW9uIGRyaXZlciBvdmVyIGEgUmVtb3RlSW5zcGVjdG9yIGNvbm5lY3Rp
b24uCi0KLSNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKLQotLy8gSW5zcGVjdG9yOjpSZW1v
dGVBdXRvbWF0aW9uVGFyZ2V0IEFQSQotCi12b2lkIFdlYkF1dG9tYXRpb25TZXNzaW9uOjpkaXNw
YXRjaE1lc3NhZ2VGcm9tUmVtb3RlKGNvbnN0IFN0cmluZyYpCi17Ci0gICAgLy8gRklYTUU6IHRv
IGJlIGltcGxlbWVudGVkLgotfQotCi12b2lkIFdlYkF1dG9tYXRpb25TZXNzaW9uOjpjb25uZWN0
KEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsKiBjaGFubmVsLCBib29sIGlzQXV0b21hdGljQ29u
bmVjdGlvbikKLXsKLSAgICBVTlVTRURfUEFSQU0oaXNBdXRvbWF0aWNDb25uZWN0aW9uKTsKLQot
ICAgIG1fcmVtb3RlQ2hhbm5lbCA9IGNoYW5uZWw7Ci0gICAgc2V0SXNQYWlyZWQodHJ1ZSk7Ci19
Ci0KLXZvaWQgV2ViQXV0b21hdGlvblNlc3Npb246OmRpc2Nvbm5lY3QoSW5zcGVjdG9yOjpGcm9u
dGVuZENoYW5uZWwqIGNoYW5uZWwpCi17Ci0gICAgbV9yZW1vdGVDaGFubmVsID0gbnVsbHB0cjsK
LSAgICBzZXRJc1BhaXJlZChmYWxzZSk7Ci0gICAgCi0gICAgaWYgKG1fY2xpZW50KQotICAgICAg
ICBtX2NsaWVudC0+ZGlkRGlzY29ubmVjdEZyb21SZW1vdGUodGhpcyk7Ci19Ci0KLSNlbmRpZiAv
LyBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKLQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQXV0b21hdGlvblNlc3Npb24uaCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5oCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4ODM1ZWZkNmM4ZTMxMmU5ZDgxOTk2NGUzNjMxOTE4ODA2
NmZiN2M4Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJBdXRvbWF0aW9uU2Vzc2lvbi5oCisrKyAvZGV2L251
bGwKQEAgLTEsNzcgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAq
IGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgV2ViQXV0b21hdGlvblNl
c3Npb25faAotI2RlZmluZSBXZWJBdXRvbWF0aW9uU2Vzc2lvbl9oCi0KLSNpbmNsdWRlICJBUElP
YmplY3QuaCIKLSNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgotCi0jaWYgRU5BQkxFKFJFTU9URV9J
TlNQRUNUT1IpCi0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvUmVtb3RlQXV0b21hdGlvblRhcmdl
dC5oPgotI2VuZGlmCi0KLW5hbWVzcGFjZSBBUEkgewotY2xhc3MgQXV0b21hdGlvblNlc3Npb25D
bGllbnQ7Ci19Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1jbGFzcyBXZWJBdXRvbWF0aW9uU2Vz
c2lvbkNsaWVudDsKLQotY2xhc3MgV2ViQXV0b21hdGlvblNlc3Npb24gZmluYWwgOiBwdWJsaWMg
QVBJOjpPYmplY3RJbXBsPEFQSTo6T2JqZWN0OjpUeXBlOjpBdXRvbWF0aW9uU2Vzc2lvbj4KLSNp
ZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKLSAgICAsIHB1YmxpYyBJbnNwZWN0b3I6OlJlbW90
ZUF1dG9tYXRpb25UYXJnZXQKLSNlbmRpZgotewotcHVibGljOgotICAgIFdlYkF1dG9tYXRpb25T
ZXNzaW9uKCk7Ci0gICAgfldlYkF1dG9tYXRpb25TZXNzaW9uKCk7Ci0KLSAgICB2b2lkIHNldENs
aWVudChzdGQ6OnVuaXF1ZV9wdHI8QVBJOjpBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudD4pOwotCi0g
ICAgdm9pZCBzZXRTZXNzaW9uSWRlbnRpZmllcihjb25zdCBTdHJpbmcmIHNlc3Npb25JZGVudGlm
aWVyKSB7IG1fc2Vzc2lvbklkZW50aWZpZXIgPSBzZXNzaW9uSWRlbnRpZmllcjsgfQotICAgIFN0
cmluZyBzZXNzaW9uSWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1fc2Vzc2lvbklkZW50aWZp
ZXI7IH0KLQotI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKQotICAgIC8vIEluc3BlY3Rvcjo6
UmVtb3RlQXV0b21hdGlvblRhcmdldCBBUEkKLSAgICB2aXJ0dWFsIFN0cmluZyBuYW1lKCkgY29u
c3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9zZXNzaW9uSWRlbnRpZmllcjsgfQotICAgIHZpcnR1YWwg
dm9pZCBkaXNwYXRjaE1lc3NhZ2VGcm9tUmVtb3RlKGNvbnN0IFN0cmluZyYgbWVzc2FnZSkgb3Zl
cnJpZGU7Ci0gICAgdmlydHVhbCB2b2lkIGNvbm5lY3QoSW5zcGVjdG9yOjpGcm9udGVuZENoYW5u
ZWwqLCBib29sIGlzQXV0b21hdGljQ29ubmVjdGlvbiA9IGZhbHNlKSBvdmVycmlkZTsKLSAgICB2
aXJ0dWFsIHZvaWQgZGlzY29ubmVjdChJbnNwZWN0b3I6OkZyb250ZW5kQ2hhbm5lbCopIG92ZXJy
aWRlOwotI2VuZGlmCi0KLXByaXZhdGU6Ci0gICAgc3RkOjp1bmlxdWVfcHRyPEFQSTo6QXV0b21h
dGlvblNlc3Npb25DbGllbnQ+IG1fY2xpZW50OwotICAgIFN0cmluZyBtX3Nlc3Npb25JZGVudGlm
aWVyIHsgQVNDSUlMaXRlcmFsKCJVbnRpdGxlZCBTZXNzaW9uIikgfTsKLQotI2lmIEVOQUJMRShS
RU1PVEVfSU5TUEVDVE9SKQotICAgIEluc3BlY3Rvcjo6RnJvbnRlbmRDaGFubmVsKiBtX3JlbW90
ZUNoYW5uZWwgeyBudWxscHRyIH07Ci0jZW5kaWYKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYktp
dAotCi0jZW5kaWYgLy8gV2ViQXV0b21hdGlvblNlc3Npb25faApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktp
dDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDdjYjBhZTE1YzE0YzM4
MGI0Yjc1ZTUzNzU4ODkwZDhlYTlmMDU1MzYuLjg4YTYyZDhmZGE3M2RjNDdiNmRkYmRlNjFlM2M0
NzAwYTBiODY2MmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKQEAgLTEyMjksOSArMTIyOSwxNCBAQAogCQk5OTBEMjhCMjFDNjUyMDk0
MDA5ODY5NzcgLyogX1dLQXV0b21hdGlvblNlc3Npb24ubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5OTBEMjhBRDFDNjUxOTA0MDA5ODY5NzcgLyogX1dL
QXV0b21hdGlvblNlc3Npb24ubW0gKi87IH07CiAJCTk5MEQyOEJCMUM2NTM5RDMwMDk4Njk3NyAv
KiBBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gOTkwRDI4QjcxQzY1MzlBMDAwOTg2OTc3IC8qIEF1dG9tYXRpb25T
ZXNzaW9uQ2xpZW50LmggKi87IH07CiAJCTk5MEQyOEJDMUM2NTM5REEwMDk4Njk3NyAvKiBBdXRv
bWF0aW9uU2Vzc2lvbkNsaWVudC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDk5MEQyOEI4MUM2NTM5QTAwMDk4Njk3NyAvKiBBdXRvbWF0aW9uU2Vzc2lv
bkNsaWVudC5tbSAqLzsgfTsKLQkJOTkwRDI4QkYxQzY1NEQzOTAwOTg2OTc3IC8qIFdlYkF1dG9t
YXRpb25TZXNzaW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDk5MEQyOEJEMUM2NTQ5MEEwMDk4Njk3NyAvKiBXZWJBdXRvbWF0aW9uU2Vzc2lvbi5j
cHAgKi87IH07CiAJCTk5MEQyOEMwMUM2NTUzRjEwMDk4Njk3NyAvKiBBUElBdXRvbWF0aW9uU2Vz
c2lvbkNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gOTkwRDI4QjMxQzY1MjZENDAwOTg2OTc3IC8qIEFQSUF1dG9tYXRpb25TZXNzaW9uQ2xpZW50
LmggKi87IH07Ci0JCTk5MEQyOEMxMUM2NTYyNjUwMDk4Njk3NyAvKiBXZWJBdXRvbWF0aW9uU2Vz
c2lvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTkw
RDI4QjUxQzY1MjZGNTAwOTg2OTc3IC8qIFdlYkF1dG9tYXRpb25TZXNzaW9uLmggKi87IH07CisJ
CTk5NTVBNkVDMUM3OTgwQzIwMEVCNkE5MyAvKiBXZWJBdXRvbWF0aW9uU2Vzc2lvbi5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTk1NUE2RUIxQzc5ODBC
QjAwRUI2QTkzIC8qIFdlYkF1dG9tYXRpb25TZXNzaW9uLmggKi87IH07CisJCTk5NTVBNkVEMUM3
OTgwQ0EwMEVCNkE5MyAvKiBXZWJBdXRvbWF0aW9uU2Vzc2lvbi5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5OTU1QTZFQTFDNzk4MEJCMDBFQjZBOTMg
LyogV2ViQXV0b21hdGlvblNlc3Npb24uY3BwICovOyB9OworCQk5OTU1QTZFRjFDNzk4MTA4MDBF
QjZBOTMgLyogQXV0b21hdGlvbi5qc29uIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gOTk1NUE2RTkxQzc5ODBCQjAwRUI2QTkzIC8qIEF1dG9tYXRpb24uanNv
biAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk5OTU1
QTZGNDFDNzk4NkRDMDBFQjZBOTMgLyogSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk5NTVBNkYwMUM3
OTg2NjQwMEVCNkE5MyAvKiBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuY3BwICovOyB9Owor
CQk5OTU1QTZGNTFDNzk4NkUwMDBFQjZBOTMgLyogSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJz
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5OTU1QTZG
MTFDNzk4NjY0MDBFQjZBOTMgLyogSW5zcGVjdG9yQmFja2VuZERpc3BhdGNoZXJzLmggKi87IH07
CisJCTk5NTVBNkY2MUM3OTg2RTMwMEVCNkE5MyAvKiBJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTk1NUE2
RjIxQzc5ODY2NDAwRUI2QTkzIC8qIEluc3BlY3RvclByb3RvY29sT2JqZWN0cy5jcHAgKi87IH07
CisJCTk5NTVBNkY3MUM3OTg2RTUwMEVCNkE5MyAvKiBJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDk5NTVBNkYz
MUM3OTg2NjQwMEVCNkE5MyAvKiBJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuaCAqLzsgfTsKIAkJ
OTlDODFENTkxQzIwRTFFNTAwNUM0QzgyIC8qIEF1dG9tYXRpb25DbGllbnQubW0gaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA5OUM4MUQ1NjFDMjBERkJFMDA1
QzRDODIgLyogQXV0b21hdGlvbkNsaWVudC5tbSAqLzsgfTsKIAkJOTlDODFENUExQzIwRTdFMjAw
NUM0QzgyIC8qIEF1dG9tYXRpb25DbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDk5QzgxRDU1MUMyMERGQkUwMDVDNEM4MiAvKiBBdXRvbWF0aW9u
Q2xpZW50LmggKi87IH07CiAJCTk5QzgxRDVEMUMyMUYzOEIwMDVDNEM4MiAvKiBBUElBdXRvbWF0
aW9uQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA5OUM4MUQ1QjFDMjBFODE3MDA1QzRDODIgLyogQVBJQXV0b21hdGlvbkNsaWVudC5oICovOyB9
OwpAQCAtMzI1MiwxMCArMzI1NywxNSBAQAogCQk5OTBEMjhBRDFDNjUxOTA0MDA5ODY5NzcgLyog
X1dLQXV0b21hdGlvblNlc3Npb24ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IHBhdGggPSBfV0tBdXRvbWF0aW9uU2Vzc2lvbi5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJOTkwRDI4QUYxQzY1MjAzOTAwOTg2OTc3IC8qIF9XS0F1dG9tYXRpb25TZXNzaW9uSW50
ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gX1dLQXV0b21hdGlvblNl
c3Npb25JbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5OTBEMjhCMzFD
NjUyNkQ0MDA5ODY5NzcgLyogQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQVBJQXV0b21hdGlvblNlc3Npb25DbGllbnQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJOTkwRDI4QjUxQzY1MjZGNTAwOTg2OTc3IC8qIFdl
YkF1dG9tYXRpb25TZXNzaW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdl
YkF1dG9tYXRpb25TZXNzaW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk5MEQy
OEI3MUM2NTM5QTAwMDk4Njk3NyAvKiBBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5OTBEMjhCODFDNjUzOUEwMDA5ODY5NzcgLyogQXV0
b21hdGlvblNlc3Npb25DbGllbnQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IHBhdGggPSBBdXRvbWF0aW9uU2Vzc2lvbkNsaWVudC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKLQkJOTkwRDI4QkQxQzY1NDkwQTAwOTg2OTc3IC8qIFdlYkF1dG9tYXRpb25TZXNzaW9u
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkF1dG9tYXRpb25T
ZXNzaW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTk1NUE2RTkxQzc5ODBC
QjAwRUI2QTkzIC8qIEF1dG9tYXRpb24uanNvbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuanNvbjsgcGF0aCA9
IEF1dG9tYXRpb24uanNvbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTk1NUE2RUEx
Qzc5ODBCQjAwRUI2QTkzIC8qIFdlYkF1dG9tYXRpb25TZXNzaW9uLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkF1dG9tYXRpb25TZXNzaW9uLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTk1NUE2RUIxQzc5ODBCQjAwRUI2QTkzIC8qIFdlYkF1
dG9tYXRpb25TZXNzaW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkF1
dG9tYXRpb25TZXNzaW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTk5NTVBNkYw
MUM3OTg2NjQwMEVCNkE5MyAvKiBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW5zcGVjdG9yQmFja2VuZERpc3BhdGNo
ZXJzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTk1NUE2RjExQzc5ODY2NDAw
RUI2QTkzIC8qIEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJOTk1NUE2RjIxQzc5ODY2NDAwRUI2QTkzIC8qIEluc3BlY3Rv
clByb3RvY29sT2JqZWN0cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk5OTU1QTZGMzFDNzk4NjY0MDBFQjZBOTMgLyogSW5zcGVjdG9yUHJvdG9jb2xPYmplY3Rz
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEluc3BlY3RvclByb3RvY29sT2Jq
ZWN0cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk5OUM4MUQ1NTFDMjBERkJFMDA1
QzRDODIgLyogQXV0b21hdGlvbkNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBBdXRvbWF0aW9uQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTk5
QzgxRDU2MUMyMERGQkUwMDVDNEM4MiAvKiBBdXRvbWF0aW9uQ2xpZW50Lm1tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQXV0b21hdGlvbkNsaWVudC5tbTsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTlDODFENUIxQzIwRTgxNzAwNUM0QzgyIC8qIEFQSUF1
dG9tYXRpb25DbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQVBJQXV0
b21hdGlvbkNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNTYwNyw2ICs1
NjE3LDE2IEBACiAJCQlwYXRoID0gbWFjOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJ
fTsKKwkJOTk1NUE2RTgxQzc5ODA5MDAwRUI2QTkzIC8qIEF1dG9tYXRpb24gKi8gPSB7CisJCQlp
c2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTk5NTVBNkU5MUM3OTgwQkIwMEVC
NkE5MyAvKiBBdXRvbWF0aW9uLmpzb24gKi8sCisJCQkJOTk1NUE2RUExQzc5ODBCQjAwRUI2QTkz
IC8qIFdlYkF1dG9tYXRpb25TZXNzaW9uLmNwcCAqLywKKwkJCQk5OTU1QTZFQjFDNzk4MEJCMDBF
QjZBOTMgLyogV2ViQXV0b21hdGlvblNlc3Npb24uaCAqLywKKwkJCSk7CisJCQlwYXRoID0gQXV0
b21hdGlvbjsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCUExODJENUIxMUJF
NkJDRjQwMDg3QTdDQyAvKiBpb3MgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxk
cmVuID0gKApAQCAtNTgwMSw2ICs1ODIxLDcgQEAKIAkJCWNoaWxkcmVuID0gKAogCQkJCUJDMDMy
REM0MTBGNDM4N0MwMDU4QzE1QSAvKiBBUEkgKi8sCiAJCQkJNTEyRjU4OEQxMkE4ODM2RjAwNjI5
NTMwIC8qIEF1dGhlbnRpY2F0aW9uICovLAorCQkJCTk5NTVBNkU4MUM3OTgwOTAwMEVCNkE5MyAv
KiBBdXRvbWF0aW9uICovLAogCQkJCTFBQkMzREYyMTg5OUU0MTUwMDRGMDYyNiAvKiBDb2NvYSAq
LywKIAkJCQkxQUI3RDRDNzEyODhBQTlBMDBDRkQwOEMgLyogRG93bmxvYWRzICovLAogCQkJCTJE
QTk0NEE4MTg4NEU5QUIwMEVEODZEQiAvKiBpb3MgKi8sCkBAIC01ODUyLDggKzU4NzMsNiBAQAog
CQkJCTFBMEYyOUUxMTIwQjQ0NDIwMDUzRDFCOSAvKiBWaXNpdGVkTGlua1N0b3JlLmNwcCAqLywK
IAkJCQkxQTBGMjlFMjEyMEI0NDQyMDA1M0QxQjkgLyogVmlzaXRlZExpbmtTdG9yZS5oICovLAog
CQkJCTFBNjAyMjQ5MThDMTZCMDgwMEMzRThDOSAvKiBWaXNpdGVkTGlua1N0b3JlLm1lc3NhZ2Vz
LmluICovLAotCQkJCTk5MEQyOEJEMUM2NTQ5MEEwMDk4Njk3NyAvKiBXZWJBdXRvbWF0aW9uU2Vz
c2lvbi5jcHAgKi8sCi0JCQkJOTkwRDI4QjUxQzY1MjZGNTAwOTg2OTc3IC8qIFdlYkF1dG9tYXRp
b25TZXNzaW9uLmggKi8sCiAJCQkJQkM3MkJBMUIxMUU2NDkwNzAwMUVCNEVBIC8qIFdlYkJhY2tG
b3J3YXJkTGlzdC5jcHAgKi8sCiAJCQkJQkM3MkJBMUMxMUU2NDkwNzAwMUVCNEVBIC8qIFdlYkJh
Y2tGb3J3YXJkTGlzdC5oICovLAogCQkJCUYwMzY5Nzg3MTVGNEJGMDUwMEMzQTgwRSAvKiBXZWJD
b2xvclBpY2tlci5jcHAgKi8sCkBAIC02ODI0LDYgKzY4NDMsMTAgQEAKIAkJCQkxQTY0MjMwNzEy
REQwOUVCMDBDQUFFMkMgLyogRHJhd2luZ0FyZWFQcm94eU1lc3NhZ2VzLmggKi8sCiAJCQkJMUFB
NTc1RkYxNDk2QjdDMDAwQTRFRTA2IC8qIEV2ZW50RGlzcGF0Y2hlck1lc3NhZ2VSZWNlaXZlci5j
cHAgKi8sCiAJCQkJMUFBNTc2MDAxNDk2QjdDMDAwQTRFRTA2IC8qIEV2ZW50RGlzcGF0Y2hlck1l
c3NhZ2VzLmggKi8sCisJCQkJOTk1NUE2RjAxQzc5ODY2NDAwRUI2QTkzIC8qIEluc3BlY3RvckJh
Y2tlbmREaXNwYXRjaGVycy5jcHAgKi8sCisJCQkJOTk1NUE2RjExQzc5ODY2NDAwRUI2QTkzIC8q
IEluc3BlY3RvckJhY2tlbmREaXNwYXRjaGVycy5oICovLAorCQkJCTk5NTVBNkYyMUM3OTg2NjQw
MEVCNkE5MyAvKiBJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuY3BwICovLAorCQkJCTk5NTVBNkYz
MUM3OTg2NjQwMEVCNkE5MyAvKiBJbnNwZWN0b3JQcm90b2NvbE9iamVjdHMuaCAqLywKIAkJCQk1
MUREOUYyNjE2MzY3REEyMDAxNTc4RTkgLyogTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3NN
ZXNzYWdlUmVjZWl2ZXIuY3BwICovLAogCQkJCTUxREQ5RjI3MTYzNjdEQTIwMDE1NzhFOSAvKiBO
ZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzc01lc3NhZ2VzLmggKi8sCiAJCQkJNTE3Q0YwRTEx
NjNBNDg2QzAwQzI5NTBFIC8qIE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbk1lc3NhZ2VSZWNlaXZl
ci5jcHAgKi8sCkBAIC03MTY2LDYgKzcxODksNyBAQAogCQkJCTkzRTZBNEVFMUJDNUREMzkwMEY4
QTBFNyAvKiBfV0tIaXRUZXN0UmVzdWx0LmggaW4gSGVhZGVycyAqLywKIAkJCQk5M0E4OEIzQjFC
QzcxMEQ5MDBBQkE1QzIgLyogX1dLSGl0VGVzdFJlc3VsdEludGVybmFsLmggaW4gSGVhZGVycyAq
LywKIAkJCQkzN0E2NEU1NTE4RjM4RTNDMDBFQjMwRjEgLyogX1dLSW5wdXREZWxlZ2F0ZS5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJOTk1NUE2RUYxQzc5ODEwODAwRUI2QTkzIC8qIEF1dG9tYXRpb24u
anNvbiBpbiBIZWFkZXJzICovLAogCQkJCTJENzkwQTlEMUFENzA1MEQwMEFCOTBCMyAvKiBfV0tM
YXlvdXRNb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTE4QTlGMzE5MDhCOEVBMDBGN0M5MkIg
LyogX1dLTlNGaWxlTWFuYWdlckV4dHJhcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTMyMzYxMUUx
QjAxNURBODAwRkE5MjMyIC8qIF9XS092ZXJsYXlTY3JvbGxiYXJTdHlsZS5oIGluIEhlYWRlcnMg
Ki8sCkBAIC03MzQ2LDEyICs3MzcwLDEyIEBACiAJCQkJRTFFRTUzRTMxMUY4Q0ZDMDAwQ0NCRUU0
IC8qIEluamVjdGVkQnVuZGxlUGFnZUVkaXRvckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QkMxNEUxMEExMjBCOTA1RTAwODI2QzBDIC8qIEluamVjdGVkQnVuZGxlUGFnZUZvcm1DbGllbnQu
aCBpbiBIZWFkZXJzICovLAogCQkJCTUxMDUyMzgyMUM3NTQxRkYwMDc5OTNDQiAvKiBMZWdhY3lV
bmlxdWVJREJEYXRhYmFzZUlkZW50aWZpZXIuaCBpbiBIZWFkZXJzICovLAotCQkJCTk5MEQyOEMx
MUM2NTYyNjUwMDk4Njk3NyAvKiBXZWJBdXRvbWF0aW9uU2Vzc2lvbi5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQ0Q1QzY2QTExMzRCOUQzODAwNEZFMkE4IC8qIEluamVjdGVkQnVuZGxlUGFnZUZ1bGxT
Y3JlZW5DbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDQThDNkE5MTFFM0JBNUYwMDgxMkZC
NyAvKiBJbmplY3RlZEJ1bmRsZVBhZ2VMb2FkZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTUxMDUyMzgwMUM3NTQxRkYwMDc5OTNDQiAvKiBMZWdhY3lVbmlxdWVJREJEYXRhYmFzZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQkM4MTQ3QTkxMkY2NENEQTAwN0IyQzMyIC8qIEluamVjdGVkQnVu
ZGxlUGFnZVBvbGljeUNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNBOEM2QjAxMUUzQzA4
NzAwODEyRkI3IC8qIEluamVjdGVkQnVuZGxlUGFnZVVJQ2xpZW50LmggaW4gSGVhZGVycyAqLywK
KwkJCQk5OTU1QTZGNzFDNzk4NkU1MDBFQjZBOTMgLyogSW5zcGVjdG9yUHJvdG9jb2xPYmplY3Rz
LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzMzRTBEMTEyNDA4RTg2MDAzNjBGM0YgLyogSW5qZWN0
ZWRCdW5kbGVSYW5nZUhhbmRsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxNERGNzcxMjBCNUI3
OTAwODI2QzBDIC8qIEluamVjdGVkQnVuZGxlU2NyaXB0V29ybGQuaCBpbiBIZWFkZXJzICovLAog
CQkJCUM1OENERjJBMTg4NzU0OEIwMDg3MTUzNiAvKiBJbnRlcmFjdGlvbkluZm9ybWF0aW9uQXRQ
b3NpdGlvbi5oIGluIEhlYWRlcnMgKi8sCkBAIC03NDE2LDYgKzc0NDAsNyBAQAogCQkJCUUxNEE5
NTRBMTZFMDE2QTQwMDY4REU4MiAvKiBOZXR3b3JrUHJvY2Vzc1BsYXRmb3JtU3RyYXRlZ2llcy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNTE3OTU1NkUxNjI4NzdCMzAwRkE0M0I2IC8qIE5ldHdvcmtQ
cm9jZXNzUHJveHkuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxM0ExNjNEMTYzMDg4RjYwMDVEN0Qy
MiAvKiBOZXR3b3JrUHJvY2Vzc1Byb3h5TWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCTk5
NTVBNkY1MUM3OTg2RTAwMEVCNkE5MyAvKiBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuaCBp
biBIZWFkZXJzICovLAogCQkJCTUxRkQxOEI2MTY1MUZCQUQwMERCRTFDRSAvKiBOZXR3b3JrUmVz
b3VyY2VMb2FkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxNTI1NTFCMTcwMTE4MTkwMDNEN0FE
QiAvKiBOZXR3b3JrUmVzb3VyY2VMb2FkZXJNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NUMyMENCQTAxQkIxRUNEODAwODk1QkIxIC8qIE5ldHdvcmtTZXNzaW9uLmggaW4gSGVhZGVycyAq
LywKQEAgLTc1MTgsNiArNzU0Myw3IEBACiAJCQkJMUEwMDJENDkxOTZCMzQ1RDAwQjlBRDQ0IC8q
IFNlc3Npb25TdGF0ZUNvZGluZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNzUzRTNFMEUxODg3Mzk4
OTAwMTg4NDk2IC8qIFNlc3Npb25UcmFja2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQk5OUM4MUQ1
QTFDMjBFN0UyMDA1QzRDODIgLyogQXV0b21hdGlvbkNsaWVudC5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJOTk1NUE2RUMxQzc5ODBDMjAwRUI2QTkzIC8qIFdlYkF1dG9tYXRpb25TZXNzaW9uLmggaW4g
SGVhZGVycyAqLywKIAkJCQkxQTY0MjBFNTEyRENFMkZGMDBDQUFFMkMgLyogU2hhcmVhYmxlQml0
bWFwLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTIxNzQ2MTE2NEMyMEUzMDAzN0E1QzEgLyogU2hh
cmVhYmxlUmVzb3VyY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBMjRCRUQ1MTIwODk0RDEwMEZC
QjA1OSAvKiBTaGFyZWRNZW1vcnkuaCBpbiBIZWFkZXJzICovLApAQCAtODYwNiw3ICs4NjMyLDcg
QEAKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJ
CXNoZWxsUGF0aCA9IC9iaW4vc2g7Ci0JCQlzaGVsbFNjcmlwdCA9ICJta2RpciAtcCBcIiR7QlVJ
TFRfUFJPRFVDVFNfRElSfS9EZXJpdmVkU291cmNlcy9XZWJLaXQyXCJcbmNkIFwiJHtCVUlMVF9Q
Uk9EVUNUU19ESVJ9L0Rlcml2ZWRTb3VyY2VzL1dlYktpdDJcIlxuXG5leHBvcnQgV2ViS2l0Mj1c
IiR7U1JDUk9PVH1cIlxuXG5pZiBbICEgJENDIF07IHRoZW5cbiAgICBleHBvcnQgQ0M9XCJgeGNy
dW4gLWZpbmQgY2xhbmdgXCJcbmZpXG5cbk1BS0VGSUxFX0lOQ0xVREVfRkxBR1M9JChlY2hvIFwi
JHtXRUJLSVRBRERJVElPTlNfSEVBREVSX1NFQVJDSF9QQVRIU31cIiB8IHBlcmwgLWUgJ3ByaW50
IFwiLUlcIiAuIGpvaW4oXCIgLUlcIiwgc3BsaXQoXCIgXCIsIDw+KSk7JylcblxuaWYgWyBcIiR7
QUNUSU9OfVwiID0gXCJidWlsZFwiIC1vIFwiJHtBQ1RJT059XCIgPSBcImluc3RhbGxcIiAtbyBc
IiR7QUNUSU9OfVwiID0gXCJpbnN0YWxsaGRyc1wiIF07IHRoZW5cbiAgICBtYWtlIC0tbm8tYnVp
bHRpbi1ydWxlcyAke01BS0VGSUxFX0lOQ0xVREVfRkxBR1N9IC1mIFwiJHtXZWJLaXQyfS9EZXJp
dmVkU291cmNlcy5tYWtlXCIgLWogYC91c3Ivc2Jpbi9zeXNjdGwgLW4gaHcuYWN0aXZlY3B1YCBT
REtST09UPSR7U0RLUk9PVH1cbmZpXG4iOworCQkJc2hlbGxTY3JpcHQgPSAibWtkaXIgLXAgXCIk
e0JVSUxUX1BST0RVQ1RTX0RJUn0vRGVyaXZlZFNvdXJjZXMvV2ViS2l0MlwiXG5jZCBcIiR7QlVJ
TFRfUFJPRFVDVFNfRElSfS9EZXJpdmVkU291cmNlcy9XZWJLaXQyXCJcblxuZXhwb3J0IFdlYktp
dDI9XCIke1NSQ1JPT1R9XCJcblxuL2Jpbi9sbiAtc2ZoIFwiJHtKQVZBU0NSSVBUQ09SRV9QUklW
QVRFX0hFQURFUlNfRElSfVwiIEphdmFTY3JpcHRDb3JlUHJpdmF0ZUhlYWRlcnNcbmV4cG9ydCBK
YXZhU2NyaXB0Q29yZV9TQ1JJUFRTX0RJUj1cIkphdmFTY3JpcHRDb3JlUHJpdmF0ZUhlYWRlcnNc
IlxuXG5pZiBbICEgJENDIF07IHRoZW5cbiAgICBleHBvcnQgQ0M9XCJgeGNydW4gLWZpbmQgY2xh
bmdgXCJcbmZpXG5cbk1BS0VGSUxFX0lOQ0xVREVfRkxBR1M9JChlY2hvIFwiJHtXRUJLSVRBRERJ
VElPTlNfSEVBREVSX1NFQVJDSF9QQVRIU31cIiB8IHBlcmwgLWUgJ3ByaW50IFwiLUlcIiAuIGpv
aW4oXCIgLUlcIiwgc3BsaXQoXCIgXCIsIDw+KSk7JylcblxuaWYgWyBcIiR7QUNUSU9OfVwiID0g
XCJidWlsZFwiIC1vIFwiJHtBQ1RJT059XCIgPSBcImluc3RhbGxcIiAtbyBcIiR7QUNUSU9OfVwi
ID0gXCJpbnN0YWxsaGRyc1wiIF07IHRoZW5cbiAgICBtYWtlIC0tbm8tYnVpbHRpbi1ydWxlcyAk
e01BS0VGSUxFX0lOQ0xVREVfRkxBR1N9IC1mIFwiJHtXZWJLaXQyfS9EZXJpdmVkU291cmNlcy5t
YWtlXCIgLWogYC91c3Ivc2Jpbi9zeXNjdGwgLW4gaHcuYWN0aXZlY3B1YCBTREtST09UPSR7U0RL
Uk9PVH1cbmZpXG4iOwogCQl9OwogLyogRW5kIFBCWFNoZWxsU2NyaXB0QnVpbGRQaGFzZSBzZWN0
aW9uICovCiAKQEAgLTg2NDEsNiArODY2Nyw3IEBACiAJCQlmaWxlcyA9ICgKIAkJCQkzN0E1RTAx
MzE4QkJGOTM3MDAwQTA4MUUgLyogX1dLQWN0aXZhdGVkRWxlbWVudEluZm8ubW0gaW4gU291cmNl
cyAqLywKIAkJCQkxQTU3MDRGNzFCRTAxRkY0MDA4NzRBRjEgLyogX1dLQ29udGV4dE1lbnVFbGVt
ZW50SW5mby5tbSBpbiBTb3VyY2VzICovLAorCQkJCTk5NTVBNkY0MUM3OTg2REMwMEVCNkE5MyAv
KiBJbnNwZWN0b3JCYWNrZW5kRGlzcGF0Y2hlcnMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTFB
NEZFNUIxOERDRTlGQTAwQjVFQThBIC8qIF9XS0Rvd25sb2FkLm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMzc5QTg3MzkxOEJCRkUwRjAwNTg4QUYyIC8qIF9XS0VsZW1lbnRBY3Rpb24ubW0gaW4gU291
cmNlcyAqLywKIAkJCQkxQTU3MDRGMTFCRTAxNzNGMDA4NzRBRjEgLyogX1dLRWxlbWVudEluZm8u
bW0gaW4gU291cmNlcyAqLywKQEAgLTkwMTUsNiArOTA0Miw3IEBACiAJCQkJMUFDMTMzNjcxODU2
NUI1NzAwRjNFQzA1IC8qIFVzZXJEYXRhLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE1NzM5QkJD
MUI0MjA0MDMwMEQyNThDMSAvKiBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJNEEzQ0MxOEExOUIwNjNFNzAwRDE0QUVGIC8qIFVzZXJNZWRp
YVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTk5
NTVBNkVEMUM3OTgwQ0EwMEVCNkE5MyAvKiBXZWJBdXRvbWF0aW9uU2Vzc2lvbi5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk0QTNDQzE4QzE5QjA2NDE1MDBEMTRBRUYgLyogVXNlck1lZGlhUGVybWlz
c2lvblJlcXVlc3RQcm94eS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFNEU4NjQ5MjFCMTY3NTAx
MDBDODJGNDAgLyogVmVyc2lvbkNoZWNrcy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTJEQUY0RkZC
MUI2MzYxODEwMDYwMTNENiAvKiBWaWV3R2VzdHVyZUNvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMg
Ki8sCkBAIC05MTQ5LDYgKzkxNzcsNyBAQAogCQkJCUJDODU3RkI2MTJCODMwRTYwMEVERUIyRSAv
KiBXZWJPcGVuUGFuZWxQYXJhbWV0ZXJzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDODU3Rjg2
MTJCODJEMEIwMEVERUIyRSAvKiBXZWJPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lci5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlCQzg1N0Y3RTEyQjgyQ0VFMDBFREVCMkUgLyogV2ViT3BlblBhbmVsUmVz
dWx0TGlzdGVuZXJQcm94eS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk5OTU1QTZGNjFDNzk4NkUz
MDBFQjZBOTMgLyogSW5zcGVjdG9yUHJvdG9jb2xPYmplY3RzLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUJDOTYzRDZCMTEzREQxOTIwMDU3NEJFMiAvKiBXZWJQYWdlLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUMwNkM2MDk1MTI0QzE0NEIwMDAxNjgyRiAvKiBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0
ZXJzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTgzNzJEQjI4MUE2NzU2MjgwMEM2OTdDNSAvKiBX
ZWJQYWdlRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC05MzM1
LDcgKzkzNjQsNiBAQAogCQkJCUM5OEM0OEE5MUI2RkQ1QjUwMDE0NTEwMyAvKiBXS01lZGlhU2Vz
c2lvbkZvY3VzTWFuYWdlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDOUNENDM5RTFCNEIwMjUz
MDAyMzlFMzMgLyogV0tNZWRpYVNlc3Npb25NZXRhZGF0YS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlCQzQwNzVGRDEyNEZGMDI3MDA2OEYyMEEgLyogV0tNdXRhYmxlQXJyYXkuY3BwIGluIFNvdXJj
ZXMgKi8sCi0JCQkJOTkwRDI4QkYxQzY1NEQzOTAwOTg2OTc3IC8qIFdlYkF1dG9tYXRpb25TZXNz
aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDNDA3NUZGMTI0RkYwMjcwMDY4RjIwQSAvKiBX
S011dGFibGVEaWN0aW9uYXJ5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBNUIxQzUwMTg5ODYw
NkYwMDRGQ0Y5QiAvKiBXS05hdmlnYXRpb24ubW0gaW4gU291cmNlcyAqLywKIAkJCQkxQTI1NkUz
NzE4QTFBNzg4MDA2RkI5MjIgLyogV0tOYXZpZ2F0aW9uQWN0aW9uLm1tIGluIFNvdXJjZXMgKi8s
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>272322</attachid>
            <date>2016-02-26 06:21:39 -0800</date>
            <delta_ts>2016-02-26 06:21:39 -0800</delta_ts>
            <desc>Simple test producing crashes on GTK+ Debug</desc>
            <filename>profiler-crashes.html</filename>
            <type>text/html</type>
            <size>377</size>
            <attacher name="Adrien Plazas">aplazas</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPgo8c2NyaXB0PgppZiAod2luZG93LmludGVybmFscykKICAgIGludGVybmFs
cy5zZXRMZWdhY3lKYXZhU2NyaXB0UHJvZmlsaW5nRW5hYmxlZCh0cnVlKTsKCmZ1bmN0aW9uIHN0
YXJ0VGVzdCgpCnsKICAgIC8vIFJlbW92aW5nIGFueSBvZiB0aGVzZSB0d28gbGluZXMgbWFrZXMg
dGhlIHRlc3Qgbm90IGNyYXNoCiAgICBjb25zb2xlLnByb2ZpbGUoIlByb2ZpbGVyIGNyYXNoZXMi
KTsKICAgIGNvbnNvbGUucHJvZmlsZUVuZCgpOwoKICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikK
ICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKfQo8L3NjcmlwdD4KPC9oZWFkPgoKPGJv
ZHkgb25sb2FkPSJzdGFydFRlc3QoKSIgLz4KPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>